Remove unused global variables

This commit is contained in:
Ryan Dwyer 2023-05-09 21:26:43 +10:00
parent 01ce3dc218
commit bacc2b92fb
60 changed files with 56 additions and 759 deletions

View File

@ -110,9 +110,7 @@ u32 *g_BgPrimaryData2;
struct bgroom *g_BgRooms;
struct bgportal *g_BgPortals;
struct var800a4ccc *var800a4ccc;
u8 *var800a4cd0;
u8 *g_BgLightsFileData;
f32 *g_BgTable5;
s16 *g_RoomPortals;
s16 var800a4ce4;
s16 var800a4ce6;
@ -123,8 +121,6 @@ s32 g_BgAlwaysRoom;
bool g_BgPreload = false;
s32 g_StageIndex = 1;
u32 var8007fc04 = 0x00000000;
u8 *var8007fc08 = NULL;
s16 var8007fc0c = 0;
s16 var8007fc10 = 0;
@ -1172,11 +1168,7 @@ Gfx *bgRenderArtifacts(Gfx *gdl)
static void bgLoadFile(void *memaddr, u32 offset, u32 len)
{
if (var8007fc04) {
bcopy(var8007fc08 + offset, memaddr, len);
} else {
fileLoadPartToAddr(g_Stages[g_StageIndex].bgfileid, memaddr, offset, len);
}
fileLoadPartToAddr(g_Stages[g_StageIndex].bgfileid, memaddr, offset, len);
}
s32 stageGetIndex2(s32 stagenum)
@ -1220,17 +1212,6 @@ f32 portal0f15b274(s32 portalnum)
return sum;
}
static u8 func0f15b4c0(s32 portal)
{
s32 uVar2 = portal0f15b274(portal) / 10000.0f;
if (uVar2 > 0xff) {
uVar2 = 0xff;
}
return uVar2;
}
/**
* Extracts and inflates primary data (room/portal/light tables) from the
* BG file to memory, ensures required textures are loaded, and sets some
@ -1327,8 +1308,6 @@ void bgReset(s32 stagenum)
scratch = (u32) g_BgPrimaryData + inflatedsize - primcompsize;
scratch = ALIGN16(scratch + 0x8000);
g_LoadType = LOADTYPE_BG;
// Copy section 1 header + compressed primary to scratch space
bgLoadFile((u8 *) scratch, 0, ALIGN16(primcompsize + 15));
@ -1394,12 +1373,6 @@ void bgReset(s32 stagenum)
} else {
g_BgLightsFileData = (u8 *)(g_BgPrimaryData2[4] + g_BgPrimaryData + 0xf1000000);
}
if (g_BgPrimaryData2[5] == 0) {
g_BgTable5 = NULL;
} else {
g_BgTable5 = (f32 *)(g_BgPrimaryData2[5] + g_BgPrimaryData + 0xf1000000);
}
}
g_BgAlwaysRoom = -1;
@ -1600,12 +1573,6 @@ void bgBuildTables(s32 stagenum)
}
}
var800a4cd0 = mempAlloc(ALIGN16(numportals == 0 ? 1 : numportals), MEMPOOL_STAGE);
for (i = 0; i < numportals; i++) {
var800a4cd0[i] = func0f15b4c0(i);
}
var800a4ccc = mempAlloc(ALIGN16(numportals * sizeof(struct var800a4ccc)), MEMPOOL_STAGE);
for (i = 0; i < numportals; i++) {

View File

@ -33,8 +33,6 @@ s32 g_NumMaleGuardHeads = 0;
s32 g_NumFemaleGuardHeads = 0;
s32 g_NumMaleGuardTeamHeads = 0;
s32 g_NumFemaleGuardTeamHeads = 0;
s32 var80062b14 = 0;
s32 var80062b18 = 0;
s32 g_BondBodies[] = {
BODY_DJBOND,

View File

@ -32,8 +32,6 @@ void bodiesReset(s32 stagenum)
}
var80062c80 = random() % g_NumBondBodies;
var80062b14 = 0;
var80062b18 = 0;
if (PLAYERCOUNT() >= 2) {
g_NumActiveHeadsPerGender = 4;

View File

@ -25,11 +25,11 @@
#include "data.h"
#include "types.h"
#define g_EyespyMaxHeight 160
u8 g_EyespyPickup = false;
u8 g_EyespyHit = EYESPYHIT_NONE;
u8 g_EyespyPrevHit = EYESPYHIT_NONE;
u8 var80070ecc = 0;
f32 g_EyespyMaxHeight = 160;
f32 g_EyespyMinHeight = 80;
/**
@ -1010,7 +1010,6 @@ void eyespyProcessInput(bool allowbuttons)
g_EyespyPrevHit = g_EyespyHit;
g_EyespyHit = EYESPYHIT_NONE;
var80070ecc = 0;
eyespyUpdateVertical();

View File

@ -90,8 +90,6 @@ struct fireslot g_Fireslots[NUM_FIRESLOTS];
Lights1 var80070090 = gdSPDefLights1(0x96, 0x96, 0x96, 0xff, 0xff, 0xff, 0xb2, 0x4d, 0x2e);
u32 var800700a8 = 0x00025800;
u16 g_CartFileNums[] = {
FILE_GCARTRIDGE,
FILE_GCARTRIFLE,
@ -3216,11 +3214,11 @@ u32 bgunCalculateGunMemCapacity(void)
case STAGE_VILLA:
case STAGE_AIRFORCEONE:
case STAGE_ATTACKSHIP:
return var800700a8 + 0x6400;
return 0x25800 + 0x6400;
}
}
return var800700a8;
return 0x25800;
}
void bgunFreeGunMem(void)
@ -3387,9 +3385,6 @@ void bgunTickGunLoad(void)
}
// Load the model file to ptr
g_LoadType = LOADTYPE_GUN;
modeldef = fileLoadToAddr(player->gunctrl.loadfilenum, FILELOADMETHOD_EXTRAMEM, (u8 *)ptr, loadsize);
// Reserve some space for textures

View File

@ -21,19 +21,13 @@
#include "types.h"
#include "gbiex.h"
#ifdef AVOID_UB
char var800a41c0[26];
#else
char var800a41c0[24];
#endif
#define g_IrBinocularRadius 90
u8 g_IrScanlines[2][480];
s32 var8007f840 = 0;
u8 var8007f844 = 0;
u8 var8007f848 = 0;
s32 g_IrBinocularRadius = PAL ? 102 : 90;
s32 var8007f850 = 3;
static Gfx *bviewDrawIrRect(Gfx *gdl, s32 x1, s32 y1, s32 x2, s32 y2)
{
@ -270,8 +264,6 @@ Gfx *bviewDrawSlayerRocketInterlace(Gfx *gdl, u32 colour, u32 alpha)
return gdl;
}
strcpy(var800a41c0, "interlaceGfx");
gDPPipeSync(gdl++);
increment = (2.6179938316345f - angle) / viewheight;
@ -317,8 +309,6 @@ Gfx *bviewDrawFilmInterlace(Gfx *gdl, u32 colour, u32 alpha)
return gdl;
}
strcpy(var800a41c0, "BlueInterlaceGfx");
gDPPipeSync(gdl++);
gdl = bviewPrepareStaticRgba16(gdl, colour, alpha);
@ -366,8 +356,6 @@ Gfx *bviewDrawZoomBlur(Gfx *gdl, u32 colour, s32 alpha, f32 arg3, f32 arg4)
return gdl;
}
strcpy(var800a41c0, "stretchBlurGfx");
gDPPipeSync(gdl++);
somefloat = (viewheight - viewheight / arg4) * 0.5f;
@ -455,8 +443,6 @@ Gfx *bviewDrawFisheye(Gfx *gdl, u32 colour, u32 alpha, s32 shuttertime60, s8 sta
return gdl;
}
strcpy(var800a41c0, "blurGfxFisheye");
s3 = 1;
if (starting) {
@ -1597,8 +1583,6 @@ Gfx *bviewDrawNvLens(Gfx *gdl)
return gdl;
}
strcpy(var800a41c0, "Fullscreen_DrawFaultScope");
var8009caec = 0xbc;
var8009caef = 0xbe;
var8009caf0 = 0xde;
@ -1669,7 +1653,7 @@ Gfx *bviewDrawIrLens(Gfx *gdl)
viewcentrex = (viewleft + viewright) / 2;
outerradius = g_IrBinocularRadius;
innerradius = g_IrBinocularRadius / var8007f850;
innerradius = g_IrBinocularRadius / 3;
var8007f840++;
@ -1677,8 +1661,6 @@ Gfx *bviewDrawIrLens(Gfx *gdl)
return gdl;
}
strcpy(var800a41c0, "Fullscreen_DrawFaultScope");
viewbottom = viewtop + viewheight;
viewcentrey = (viewtop + viewbottom) / 2;
scantop = viewcentrey - outerradius;
@ -1828,8 +1810,6 @@ Gfx *bviewDrawHorizonScanner(Gfx *gdl)
return gdl;
}
strcpy(var800a41c0, "BinocularViewGfx");
if (optionsGetScreenSplit() == SCREENSPLIT_VERTICAL && PLAYERCOUNT() >= 2) {
vsplit = true;
}

View File

@ -19,7 +19,6 @@ struct coord var8009dd40;
f32 var8009dd4c;
struct coord var8009dd50;
f32 var8009dd5c;
struct coord var8009dd60;
f32 var8009dd6c;
void camSetScreenSize(f32 width, f32 height)
@ -423,10 +422,6 @@ void cam0f0b5838(void)
var8009dd5c = var8009dd50.f[0] * mtx->m[3][0] + var8009dd50.f[1] * mtx->m[3][1] + var8009dd50.f[2] * mtx->m[3][2];
var8009dd60.f[0] = -mtx->m[3][0];
var8009dd60.f[1] = -mtx->m[3][1];
var8009dd60.f[2] = -mtx->m[3][2];
var8009dd6c = mtx->m[2][0] * mtx->m[3][0] + mtx->m[2][1] * mtx->m[3][1] + mtx->m[2][2] * mtx->m[3][2];
}

View File

@ -2042,8 +2042,6 @@ static void chrTickPoisoned(struct chrdata *chr)
}
}
f32 var800629e8 = 1;
bool chrTickBeams(struct prop *prop)
{
struct chrdata *chr = prop->chr;
@ -2449,7 +2447,7 @@ s32 chrTick(struct prop *prop)
}
g_ModelJointPositionedFunc = NULL;
modelSetDistanceScale(var800629e8);
modelSetDistanceScale(1);
if (fulltick) {
colourTween(chr->shadecol, chr->nextcol);

View File

@ -176,7 +176,6 @@ struct creditsdata {
f32 g_CreditsParticleRotationFrac;
u32 g_CreditsCurFrame;
u32 g_CreditsPrevFrame;
u32 g_CreditsCurFrame2;
struct creditsdata *g_CreditsData;
@ -1506,7 +1505,6 @@ static void creditsTick(void)
}
}
g_CreditsPrevFrame = g_CreditsCurFrame;
g_CreditsCurFrame += g_Vars.diffframe240;
g_CreditsCurFrame2 += g_Vars.diffframe240;
g_CreditsParticleRotationFrac = (g_CreditsCurFrame2 % TICKS(4800)) / TICKS(4800.0f);

View File

@ -50,7 +50,6 @@ f32 *var80061434 = NULL;
bool *var80061438 = NULL;
f32 var8006143c = 50;
u32 var80061440 = 0x00000000;
u32 var80061444 = 1;
bool g_IsSwitchingGoggles = false;
s32 var80061458 = 0x00000000;
@ -546,9 +545,7 @@ void roomSetLightBroken(s32 roomnum, s32 lightnum)
void lightsReset(void)
{
if (var80061444) {
func0f004c6c();
}
func0f004c6c();
}
void func0f001c0c(void)
@ -1847,8 +1844,7 @@ void func0f0056f4(s32 roomnum1, struct coord *pos1, s32 roomnum2, struct coord *
{
f32 dist;
if (!var80061444
|| PLAYERCOUNT() >= 3
if (PLAYERCOUNT() >= 3
|| roomnum1 == roomnum2
|| roomnum1 == -1
|| roomnum2 == -1) {

View File

@ -14,11 +14,8 @@ struct var800a6600 var800a6600;
f32 var800a6618;
f32 var800a661c;
struct envtype1 *var800a6620;
struct envtype1 *g_EnvTransitionFrom;
struct envtype1 *g_EnvTransitionTo;
f32 var80081050 = MAXFLOAT;
f32 var80081054 = 0;
struct environment g_Env = {900, 1000};
// lensflare, r, g, b, x, y, z, texture size, orb size
@ -150,7 +147,6 @@ void env0f1657f8(void)
var800a6618 = g_Env.fogmax * 0.001f;
var80081050 = (zrange.far - zrange.near) * var800a6618 + zrange.f[0];
var80081054 = (zrange.far - zrange.near) * var800a661c + zrange.f[0];
var800a6600.znear = zrange.near;
var800a6600.zfar = zrange.far;
@ -267,14 +263,11 @@ void envChooseAndApply(s32 stagenum, bool allowoverride)
if (PLAYERCOUNT());
var80081050 = MAXFLOAT;
var80081054 = 0;
if (allowoverride) {
for (env1 = &g_EnvironmentsType1[0]; env1->stage != 0; env1++) {
if (env1->stage == stagenum + 900) {
var800a6620 = env1;
g_EnvTransitionFrom = env1;
g_EnvTransitionTo = env1 + 1;
envApplyType1(var800a6620);
return;
}
@ -284,8 +277,6 @@ void envChooseAndApply(s32 stagenum, bool allowoverride)
for (env1 = &g_EnvironmentsType1[0]; env1->stage != 0; env1++) {
if (env1->stage == stagenum) {
var800a6620 = env1;
g_EnvTransitionFrom = env1;
g_EnvTransitionTo = env1 + 1;
envApplyType1(var800a6620);
return;
}

View File

@ -30,7 +30,6 @@ struct fileguid var800a21e8;
struct fileguid g_FilemgrFileToDelete;
s32 g_FilemgrLastPakError;
struct gamefile g_GameFile;
struct fileguid g_GameFileGuid;
@ -726,7 +725,6 @@ bool filemgrSaveOrLoad(struct fileguid *guid, s32 fileop, u32 playernum)
g_Menus[g_MpPlayerNum].fm.fileop = fileop;
g_Menus[g_MpPlayerNum].fm.mpplayernum = playernum;
g_Menus[g_MpPlayerNum].fm.isretryingsave = 0;
g_FilemgrLastPakError = 0;
}
g_Menus[g_MpPlayerNum].fm.fileid = guid->fileid;

View File

@ -56,7 +56,6 @@ struct blendsettings {
struct blendsettings g_Blend;
Gfx *var800a4634;
Gfx *var800a4638;
u32 var800a463c;
s32 var8007fac4 = 0;
@ -70,11 +69,7 @@ s32 var8007fadc = 0;
s32 var8007fae0 = 0;
u32 var8007fae4 = 0x00000000;
u32 var8007fae8 = 0x00000000;
u32 var8007faec = 0x00000000;
u32 var8007faf0 = 0x00000000;
struct font *g_FontTahoma2 = NULL;
struct fontchar *g_FontTahoma1 = NULL;
struct font *g_FontNumeric = NULL;
struct fontchar *g_CharsNumeric = NULL;
struct font *g_FontHandelGothicXs = NULL;
@ -86,13 +81,6 @@ struct fontchar *g_CharsHandelGothicMd = NULL;
struct font *g_FontHandelGothicLg = NULL;
struct fontchar *g_CharsHandelGothicLg = NULL;
u32 var8007fb24 = 0x00000000;
u32 var8007fb28 = 0x00000000;
u32 var8007fb2c = 0x00000000;
u32 var8007fb30 = 0x00000000;
u32 var8007fb34 = 0x00000000;
u32 var8007fb38 = 0x00000000;
u16 var8007fb3c[] = {
0xff00, 0xff00, 0xff00, 0xff00, 0xff00, 0xff00, 0xff00, 0xff00,
0xff00, 0xff24, 0xff48, 0xff6c, 0xff90, 0xffb4, 0xffd8, 0xffff,
@ -192,27 +180,17 @@ void textReset(void)
extern u8 _fontocramdSegmentRomStart, _fontocramdSegmentRomEnd;
extern u8 _fontocralgSegmentRomStart, _fontocralgSegmentRomEnd;
var8007faec = 0;
g_FontTahoma2 = NULL;
g_FontNumeric = NULL;
g_FontHandelGothicXs = NULL;
g_FontHandelGothicSm = NULL;
g_FontHandelGothicMd = NULL;
g_FontHandelGothicLg = NULL;
var8007fb24 = 0;
var8007fb2c = 0;
var8007fb34 = 0;
var8007faf0 = 0;
g_FontTahoma1 = NULL;
g_CharsNumeric = NULL;
g_CharsHandelGothicXs = NULL;
g_CharsHandelGothicSm = NULL;
g_CharsHandelGothicMd = NULL;
g_CharsHandelGothicLg = NULL;
var8007fb28 = 0;
var8007fb30 = 0;
var8007fb38 = 0;
var8007fac4 = 0;
g_TextRotated90 = false;
@ -346,7 +324,6 @@ Gfx *text0f153ab0(Gfx *gdl)
allocation = gfxAllocate(sizeof(Gfx) * 530);
var800a4634 = allocation;
var800a4638 = allocation + 530;
gSPDisplayList(gdl++, var800a4634);

View File

@ -205,7 +205,6 @@ s32 gamefileLoad(s32 device)
if (device >= 0) {
savebufferClear(&buffer);
ret = pakReadBodyAtGuid(device, g_GameFileGuid.fileid, buffer.bytes, 0);
g_FilemgrLastPakError = ret;
if (ret == 0) {
cheatsInit();
@ -408,7 +407,6 @@ s32 gamefileSave(s32 device, s32 fileid, u16 deviceserial)
func0f0d54c4(&buffer);
ret = pakSaveAtGuid(device, fileid, PAKFILETYPE_GAME, buffer.bytes, &newfileid, 0);
g_FilemgrLastPakError = ret;
if (ret == 0) {
g_GameFileGuid.fileid = newfileid;

View File

@ -45,8 +45,9 @@ u32 g_HudmsgColours[] = {
/*10*/ 0xaa55ff00, // purple
};
s32 g_HudPaddingY = 10;
s32 g_HudPaddingX = 24;
#define g_HudPaddingY 10
#define g_HudPaddingX 24
s32 g_NumHudMessages = 0;
struct hudmessage *g_HudMessages = NULL;

View File

@ -104,7 +104,6 @@ struct stagetableentry *g_CurrentStage;
u32 var80084010 = 0;
bool var80084014 = false;
f32 var80084018 = 1;
s32 g_Difficulty = DIFF_A;
@ -394,7 +393,6 @@ void lvReset(s32 stagenum)
}
}
acousticReset();
portalsReset();
lightsReset();
setCurrentPlayerNum(0);
@ -412,7 +410,6 @@ void lvReset(s32 stagenum)
}
modelmgrSetLvResetting(false);
var80084018 = 1;
schedResetArtifacts();
lvSetPaused(0);
@ -1658,11 +1655,6 @@ Gfx *lvRender(Gfx *gdl)
return gdl;
}
u32 g_CutsceneTime240_60 = 0;
static void lvResetSoloHandicaps(void)
{
if (g_Vars.antiplayernum >= 0) {
@ -1805,16 +1797,6 @@ static void lvUpdateSoloHandicaps(void)
}
}
static void lvUpdateCutsceneTime(void)
{
if (g_Vars.in_cutscene) {
g_CutsceneTime240_60 += g_Vars.lvupdate60;
return;
}
g_CutsceneTime240_60 = 0;
}
s32 lvGetSlowMotionType(void)
{
if (g_Vars.normmplayerisrunning) {
@ -2102,7 +2084,6 @@ void lvTick(void)
} else if (g_Vars.stagenum == STAGE_CREDITS) {
musicTick();
} else {
lvUpdateCutsceneTime();
PROFILE(PROFILEMARKER_LVT_VTXSTORE, vtxstoreTick());
lvUpdateSoloHandicaps();
skyTick();

View File

@ -3814,8 +3814,6 @@ s32 menuhandlerInventoryList(s32 operation, struct menuitem *item, union handler
bgunEquipWeapon2(HAND_LEFT, WEAPON_NONE);
}
}
var800711f0 = data->list.value;
}
break;
case MENUOP_GETSELECTEDINDEX:

View File

@ -2976,8 +2976,6 @@ static Gfx *menuitemMarqueeRender(Gfx *gdl, struct menurendercontext *context)
return gdl;
}
u32 var800711f0 = 0x00000002;
static bool menuitemMarqueeTick(struct menuitem *item, union menuitemdata *data)
{
s32 i;

View File

@ -180,8 +180,6 @@ struct modelfiledata *modeldefLoad(u16 fileid, u8 *dst, s32 size, struct texpool
{
struct modelfiledata *filedata;
g_LoadType = LOADTYPE_MODEL;
if (dst) {
filedata = fileLoadToAddr(fileid, FILELOADMETHOD_EXTRAMEM, dst, size);
} else {

View File

@ -9,8 +9,6 @@
struct model *g_ModelSlots;
struct anim *g_AnimSlots;
s32 g_ModelNumObjs;
s32 g_ModelNumChrs;
struct modelrwdatabinding *g_ModelRwdataBindings[3];
s32 g_MaxModels = 0;

View File

@ -74,9 +74,6 @@ void modelmgrAllocateSlots(s32 numobjs, s32 numchrs)
s32 maxanimatedobjs = 20;
s32 numspare;
g_ModelNumObjs = numobjs;
g_ModelNumChrs = numchrs;
numspare = NUMSPARE();
g_MaxModels = numobjs + numspare + numchrs + maxanimatedobjs;
g_MaxAnims = numchrs + maxanimatedobjs;

View File

@ -3249,7 +3249,6 @@ s32 mpplayerfileSave(s32 playernum, s32 device, s32 fileid, u16 deviceserial)
return 0;
}
g_FilemgrLastPakError = ret;
return -1;
}
@ -3277,7 +3276,6 @@ s32 mpplayerfileLoad(s32 playernum, s32 device, s32 fileid, u16 deviceserial)
return 0;
}
g_FilemgrLastPakError = ret;
return -1;
}
@ -3563,7 +3561,6 @@ s32 mpsetupfileSave(s32 device, s32 fileid, u16 deviceserial)
return 0;
}
g_FilemgrLastPakError = ret;
return -1;
}
@ -3588,10 +3585,6 @@ s32 mpsetupfileLoad(s32 device, s32 fileid, u16 deviceserial)
return 0;
}
g_FilemgrLastPakError = ret;
return -1;
}
return -1;

View File

@ -142,15 +142,10 @@ struct pak g_Paks[5];
OSPfs g_Pfses[4];
// This is likely g_DebugCutsceneLabelPtrs and/or g_DebugCutsceneLabelBuffers
// but with reduced lengths
u16 var80075cb0 = ROM_COMPANYCODE;
char var80075cb4[] = "PerfDark";
char var80075cc0[] = "PerfDark";
u32 g_PakHasEeprom = false;
u32 g_PakDebugPakCache = 1;
char g_PakNoteGameName[] = {
N64CHAR('P'),
@ -510,12 +505,10 @@ static PakErr2 pakReadHeaderAtOffset(s8 device, u32 offset, struct pakfileheader
return PAK_ERR2_VERSION;
}
if (g_PakDebugPakCache) {
pakSaveHeaderToCache(device, blocknum, (struct pakfileheader *) sp38);
pakSaveHeaderToCache(device, blocknum, (struct pakfileheader *) sp38);
if (!pakRetrieveHeaderFromCache(device, blocknum, headerptr)) {
return PAK_ERR2_CORRUPT;
}
if (!pakRetrieveHeaderFromCache(device, blocknum, headerptr)) {
return PAK_ERR2_CORRUPT;
}
}
@ -2339,9 +2332,7 @@ static s32 pakWriteFileAtOffset(s8 device, u32 offset, u32 filetype, u8 *newdata
joyEnableCyclicPolling();
if (g_PakDebugPakCache) {
pakSaveHeaderToCache(device, offset / pakGetBlockSize(device), newheader);
}
pakSaveHeaderToCache(device, offset / pakGetBlockSize(device), newheader);
return 0;
}
@ -3006,7 +2997,7 @@ static s32 gbpakIdentifyGame(s8 device)
ok = false;
}
if (var80075cb0 == id.company_code) {
if (id.company_code == ROM_COMPANYCODE) {
// PerfDark or PerfDark
if (gbpakStrcmp(var80075cb4, id.game_title) || gbpakStrcmp(var80075cc0, id.game_title)) {
g_Paks[device].isgbcamera = false;

View File

@ -37,11 +37,6 @@ f32 pdmodeGetEnemyAccuracy(void)
return 1;
}
void func0f01b148(u32 arg0)
{
var800624e0 = arg0;
}
void titleSetNextStage(s32 stagenum)
{
g_TitleNextStage = stagenum;

View File

@ -86,14 +86,6 @@ f32 g_MpSwirlAngleDegrees;
f32 g_MpSwirlForwardSpeed;
f32 g_MpSwirlDistance;
s16 g_WarpType1Pad;
struct warpparams *g_WarpType2Params;
f32 g_WarpType3PosAngle;
f32 g_WarpType3RotAngle;
f32 g_WarpType3Range;
f32 g_WarpType3Height;
f32 g_WarpType3MoreHeight;
u32 g_WarpType3Pad;
s32 g_WarpType2HasDirection;
s32 g_CutsceneCurAnimFrame60;
s32 g_CutsceneCurAnimFrame240;
@ -129,11 +121,6 @@ struct vimode g_ViModes[] = {
{ 400, 300, 400, 1, 2, 300, 0, 300, 0, 300, 0 }, // unused
};
s32 var8007072c = 1;
u32 var80070738 = 0;
u32 var8007073c = 0;
struct gecreditsdata *g_CurrentGeCreditsData = NULL;
bool g_PlayersWithControl[] = {
true, true, true, true
};
@ -1556,59 +1543,16 @@ static void playerExecutePreparedWarp(void)
playerSetCameraMode(CAMERAMODE_THIRDPERSON);
if (g_WarpType1Pad >= 0) {
// Warp to an exact position with a static direction of 0, 0, 1.
// Used by device and holo training to warp player back to room,
// and Deep Sea teleports
memcampos = g_Pads[g_WarpType1Pad].pos;
// Warp to an exact position with a static direction of 0, 0, 1.
// Used by device and holo training to warp player back to room,
// and Deep Sea teleports
memcampos = g_Pads[g_WarpType1Pad].pos;
pos.x = memcampos.f[0];
pos.y = memcampos.f[1];
pos.z = memcampos.f[2];
pos.x = memcampos.f[0];
pos.y = memcampos.f[1];
pos.z = memcampos.f[2];
room = g_Pads[g_WarpType1Pad].room;
} else if (g_WarpType2Params) {
// Warp to an exact position with an optional direction.
// Used by AI command 00df, but that command is not used.
pos = g_WarpType2Params->pos;
room = g_Pads[g_WarpType2Params->pad].room;
memcampos = g_Pads[g_WarpType2Params->pad].pos;
if (1);
if (g_WarpType2HasDirection != 1) {
look.x = cosf(g_WarpType2Params->look[1]) * sinf(g_WarpType2Params->look[0]);
look.y = sinf(g_WarpType2Params->look[1]);
look.z = cosf(g_WarpType2Params->look[1]) * cosf(g_WarpType2Params->look[0]);
}
} else {
// Warp to a location within a specified range and angle of the pad,
// with options for the direction and height offset from the pad.
// Used by AI command 00f4, but that command is not used.
room = g_Pads[g_WarpType3Pad].room;
memcampos = g_Pads[g_WarpType3Pad].pos;
pos.x = memcampos.x + sinf(g_WarpType3PosAngle) * g_WarpType3Range + cosf(g_WarpType3PosAngle) * 0.0f;
pos.y = memcampos.y + g_WarpType3MoreHeight + g_WarpType3Height;
pos.z = memcampos.z + cosf(g_WarpType3PosAngle) * g_WarpType3Range + sinf(g_WarpType3PosAngle) * 0.0f;
look.x = memcampos.x + cosf(g_WarpType3PosAngle) * 0.0f - pos.f[0];
look.y = memcampos.y + g_WarpType3MoreHeight - pos.f[1];
look.z = memcampos.z + sinf(g_WarpType3PosAngle) * 0.0f - pos.f[2];
g_WarpType3PosAngle += g_WarpType3RotAngle * g_Vars.lvupdate60freal;
while (g_WarpType3PosAngle >= M_BADTAU) {
g_WarpType3PosAngle -= M_BADTAU;
}
while (g_WarpType3PosAngle < 0) {
g_WarpType3PosAngle += M_BADTAU;
}
}
room = g_Pads[g_WarpType1Pad].room;
player0f0c1ba4(&pos, &up, &look, &memcampos, room);
}

View File

@ -134,11 +134,6 @@ void playerReset(void)
g_CutsceneFrameOverrun240 = 0;
#endif
var8007072c = 1;
var80070738 = 0;
var8007073c = 0;
g_CurrentGeCreditsData = NULL;
g_Vars.currentplayer->bondexploding = false;
g_NumSpawnPoints = 0;
g_Vars.currentplayer->bondtankexplode = false;
@ -231,11 +226,6 @@ void playerReset(void)
cmd = (struct cmd32 *)((u32)cmd + 12);
break;
case INTROCMD_CREDITOFFSET:
thing = (struct gecreditsdata *)((s32)g_GeCreditsData + cmd->param1);
g_CurrentGeCreditsData = thing;
while (thing->text1 || thing->text2) {
thing++;
}
cmd = (struct cmd32 *)((u32)cmd + 8);
break;
default:

View File

@ -60,8 +60,6 @@
#include "types.h"
struct roomacousticdata *g_RoomAcousticData;
struct var8009dd78 var8009dd78[10];
u16 *g_PortalXluFracs;
s32 g_NumPortalXluFracs;
@ -137,72 +135,3 @@ void portalsReset(void)
}
}
}
void acousticReset(void)
{
s32 i;
s32 j;
u32 size = ALIGN16(g_Vars.roomcount * sizeof(struct roomacousticdata));
f32 range;
f32 width;
f32 height;
f32 depth;
f32 halfsurfacearea;
g_RoomAcousticData = mempAlloc(size, MEMPOOL_STAGE);
for (i = 0; i < g_Vars.roomcount; i++) {
bool allgood = true;
g_RoomAcousticData[i].roomvolume = 1;
g_RoomAcousticData[i].surfacearea = 1;
for (j = 0; j < 3; j++) {
range = g_Rooms[i].bbmax[j] - g_Rooms[i].bbmin[j];
if (range > 0) {
g_RoomAcousticData[i].roomvolume *= (g_Rooms[i].bbmax[j] - g_Rooms[i].bbmin[j]) / 100;
} else {
allgood = false;
}
}
if (allgood) {
if (g_Rooms[i].bbmin[0] < g_Rooms[i].bbmax[0]) {
width = g_Rooms[i].bbmax[0] - g_Rooms[i].bbmin[0];
} else {
width = -(g_Rooms[i].bbmax[0] - g_Rooms[i].bbmin[0]);
}
if (g_Rooms[i].bbmin[1] < g_Rooms[i].bbmax[1]) {
height = g_Rooms[i].bbmax[1] - g_Rooms[i].bbmin[1];
} else {
height = -(g_Rooms[i].bbmax[1] - g_Rooms[i].bbmin[1]);
}
if (g_Rooms[i].bbmin[2] < g_Rooms[i].bbmax[2]) {
depth = g_Rooms[i].bbmax[2] - g_Rooms[i].bbmin[2];
} else {
depth = -(g_Rooms[i].bbmax[2] - g_Rooms[i].bbmin[2]);
}
halfsurfacearea = width * height + width * depth + height * depth;
g_RoomAcousticData[i].surfacearea = halfsurfacearea + halfsurfacearea;
} else {
g_RoomAcousticData[i].surfacearea = 20000000;
}
}
for (j = 0; j < g_Vars.roomcount; j++) {
g_RoomAcousticData[j].unk08 = 0;
g_RoomAcousticData[j].unk04 = g_RoomAcousticData[j].unk08;
}
for (j = 0; j < ARRAYCOUNT(var8009dd78); j++) {
var8009dd78[j].unk00 = -1;
var8009dd78[j].unk04 = 0;
}
}

View File

@ -131,7 +131,6 @@ u32 g_EmbedSide = 0x00000000;
s16 var8006993c[3] = {0};
u32 var80069944 = 0x00000000;
f32 g_CctvWaitScale = 1;
f32 g_CctvDamageRxScale = 1;
f32 g_AutogunAccuracyScale = 1;
f32 g_AutogunDamageTxScale = 1;
f32 g_AutogunDamageRxScale = 1;

View File

@ -21,11 +21,6 @@ struct audiochannel *g_AudioChannels = NULL;
u32 g_AudioPrevUuid = 0x00000000;
u32 var8006ae2c = 0x00000000;
u32 var8006ae34 = 0x00000000;
s16 var8006ae50 = -1;
static void func0f092a98(s32 channelnum);
static s32 propsnd0f0946b0(struct coord *pos, f32 arg1, f32 arg2, f32 arg3, s16 *rooms, s16 soundnum, s32 arg6, f32 *arg7);
static s32 propsnd0f094d78(struct coord *pos, f32 arg1, f32 arg2, f32 arg3, f32 arg4, bool arg5, struct audiochannel *channel);
@ -212,8 +207,6 @@ static void propsndTickChannel(s32 channelnum)
tmprooms = rooms;
}
var8006ae50 = channel->unk2c;
channel->unk04 = propsnd0f0946b0(pos, channel->unk34, channel->unk38, channel->unk3c,
tmprooms, channel->soundnum26, channel->unk10, &channel->unk4c);
}
@ -835,7 +828,6 @@ static s32 propsnd0f0946b0(struct coord *pos, f32 arg1, f32 arg2, f32 arg3, s16
union soundnumhack sp68;
f32 sp64;
s16 sp62;
s32 s0;
s32 i;
sp64 = arg3 + 10.0f;
@ -864,12 +856,6 @@ static s32 propsnd0f0946b0(struct coord *pos, f32 arg1, f32 arg2, f32 arg3, s16
}
}
if (var8006ae34 && var8006ae2c == sp6c.id) {
s0 = 1;
} else {
s0 = 0;
}
for (i = 0; i < PLAYERCOUNT(); i++) {
struct player *player = g_Vars.players[i];
s32 camroom;
@ -880,7 +866,7 @@ static s32 propsnd0f0946b0(struct coord *pos, f32 arg1, f32 arg2, f32 arg3, s16
camroom = -1;
}
func0f0056f4(camroom, &player->cam_pos, sp62, pos, 0, &sp64, s0);
func0f0056f4(camroom, &player->cam_pos, sp62, pos, 0, &sp64, 0);
}
if (arg7 != NULL) {

View File

@ -84,90 +84,6 @@ struct tvscreen var80061a80 = {
0, // colinc
};
struct tvscreen var80061af4 = {
var8006aaa0, // cmdlist
0, // offset
0xffff, // pause60
0, // tconfig
0, // rot
1, // xscale
0, // xscalefrac
0, // xscaleinc
1, // xscaleold
1, // xscalenew
1, // yscale
0, // yscalefrac
0, // yscaleinc
1, // yscaleold
1, // yscalenew
0.5, // xmid
0, // xmidfrac
0, // xmidinc
0.5, // xmidold
0.5, // xmidnew
0.5, // ymid
0, // ymidfrac
0, // ymidinc
0.5, // ymidold
0.5, // ymidnew
0xff, // red
0xff, // redold
0xff, // rednew
0xff, // green
0xff, // greenold
0xff, // greennew
0xff, // blue
0xff, // blueold
0xff, // bluenew
0xff, // alpha
0xff, // alphaold
0xff, // alphanew
1, // colfrac
0, // colinc
};
struct tvscreen var80061b68 = {
var8006aae4, // cmdlist
0, // offset
0xffff, // pause60
0, // tconfig
0, // rot
1, // xscale
0, // xscalefrac
0, // xscaleinc
1, // xscaleold
1, // xscalenew
1, // yscale
0, // yscalefrac
0, // yscaleinc
1, // yscaleold
1, // yscalenew
0.5, // xmid
0, // xmidfrac
0, // xmidinc
0.5, // xmidold
0.5, // xmidnew
0.5, // ymid
0, // ymidfrac
0, // ymidinc
0.5, // ymidold
0.5, // ymidnew
0xff, // red
0xff, // redold
0xff, // rednew
0xff, // green
0xff, // greenold
0xff, // greennew
0xff, // blue
0xff, // blueold
0xff, // bluenew
0xff, // alpha
0xff, // alphaold
0xff, // alphanew
1, // colfrac
0, // colinc
};
f32 g_DoorScale = 1;
void propsReset(void)
@ -268,7 +184,6 @@ void propsReset(void)
g_EmbedProp = NULL;
g_EmbedHitPart = -1;
g_CctvWaitScale = 1;
g_CctvDamageRxScale = 1;
g_AutogunAccuracyScale = 1;
g_AutogunDamageTxScale = 1;
g_AutogunDamageRxScale = 1;
@ -304,18 +219,7 @@ static void setupCreateBlockedPath(struct blockedpathobj *blockedpath)
static void setupReset0f00cc8c(void)
{
struct tvscreen tmp1;
struct tvscreen tmp2;
struct tvscreen tmp3;
tmp1 = var80061a80;
var8009ce98 = tmp1;
tmp2 = var80061af4;
var8009cf10 = tmp2;
tmp3 = var80061b68;
var8009cf88 = tmp3;
var8009ce98 = var80061a80;
}
static void setupResetProxyMines(void)
@ -1139,7 +1043,6 @@ void setupLoadBriefing(s32 stagenum, u8 *buffer, s32 bufferlen, struct briefing
}
setupfilenum = g_Stages[stageindex].setupfileid;
g_LoadType = LOADTYPE_LANG;
fileLoadToAddr(setupfilenum, FILELOADMETHOD_DEFAULT, buffer, bufferlen);
@ -1253,8 +1156,6 @@ void setupLoadFiles(s32 stagenum)
filenum = g_Stages[g_StageIndex].setupfileid;
}
g_LoadType = LOADTYPE_SETUP;
g_GeCreditsData = (u8 *)fileLoadToNew(filenum, FILELOADMETHOD_DEFAULT);
setup = (struct stagesetup *)g_GeCreditsData;
langLoad(langGetLangBankIndexFromStagenum(stagenum));
@ -1264,8 +1165,6 @@ void setupLoadFiles(s32 stagenum)
g_StageSetup.paths = (struct path *)((u32)setup + (u32)setup->paths);
g_StageSetup.ailists = getStageAilists();
g_LoadType = LOADTYPE_PADS;
g_StageSetup.padfiledata = fileLoadToNew(g_Stages[g_StageIndex].padsfileid, FILELOADMETHOD_DEFAULT);
g_StageSetup.waypoints = NULL;

View File

@ -17,7 +17,6 @@
#define SKYABS(val) (val >= 0.0f ? (val) : -(val))
u32 g_SkyStageNum;
bool g_SkyLightningActive;
Mtxf var800a33a8;
struct coord g_SunPositions[3]; // relative to centre screen, with a huge scale

View File

@ -6,7 +6,6 @@
void skyReset(u32 stagenum)
{
g_SkyStageNum = stagenum;
g_SkyLightningActive = false;
g_SkyWindSpeed = 1;
}

View File

@ -35,11 +35,10 @@ struct splatdata {
s32 timerspeed;
};
f32 var8007f8a0 = 0.15;
f32 var8007f8a8 = 12;
f32 g_SplatMaxDistance = 180;
f32 var8007f8b4 = 5;
f32 var8007f8b8 = 50;
#define var8007f8b4 5
#define var8007f8b8 50
#define g_SplatMaxDistance 180
#define var8007f8a8 12
static s32 splatsCreate(s32 qty, f32 arg1, struct prop *prop, struct shotdata *shotdataarg, struct coord *arg4, struct coord *arg5, bool isskedar, s32 splattype, s32 timermax, struct chrdata *chr, s32 timerspeed);
static bool splat0f149274(f32 arg0, struct prop *prop, struct shotdata *shotdata, f32 arg3, bool isskedar, s32 arg5, s32 arg6, struct chrdata *chr, s32 arg8);
@ -425,7 +424,7 @@ static void splat0f14986c(struct splatdata *splat)
}
distance = coordsGetDistance(&splat->gunpos, &splat->unk0c);
spa0 = var8007f8a0 * distance * sp9c;
spa0 = 0.15f * distance * sp9c;
if (var8007f8b8 < spa0) {
spa0 = var8007f8b8;

View File

@ -47,13 +47,11 @@ struct textureconfig *g_TexBeamConfigs;
struct textureconfig *g_TexLaserConfigs;
struct textureconfig *g_TexGroup03Configs;
struct textureconfig *g_TexGeCrosshairConfigs;
struct textureconfig *g_TexRedLinesConfigs;
struct textureconfig *g_TexShadowConfigs;
struct textureconfig *g_TexShieldConfigs;
struct textureconfig *g_TexShardConfigs;
struct textureconfig *g_TexScreenConfigs;
struct textureconfig *g_TexWaterConfigs;
struct textureconfig *g_TexSkyConfigs;
struct textureconfig *g_TexLightGlareConfigs;
struct textureconfig *g_TexSparkConfigs;
struct textureconfig *g_TexGeneralConfigs;

View File

@ -14,8 +14,6 @@
extern u8 *g_TextureConfigSegment;
extern u32 g_TexBase;
extern Gfx *g_TexGdl3;
extern struct textureconfig *g_TexRedLinesConfigs;
extern struct textureconfig *g_TexSkyConfigs;
extern u8 _textureconfigSegmentRomStart;
extern u8 _textureconfigSegmentStart;
@ -40,13 +38,11 @@ void texReset(void)
g_TexLaserConfigs = (struct textureconfig *)(g_TexBase + (u32)g_TcLaserConfigs);
g_TexGroup03Configs = (struct textureconfig *)(g_TexBase + (u32)g_TcGroup03Configs);
g_TexGeCrosshairConfigs = (struct textureconfig *)(g_TexBase + (u32)g_TcGeCrosshairConfigs);
g_TexRedLinesConfigs = (struct textureconfig *)(g_TexBase + (u32)g_TcRedLineConfigs);
g_TexShadowConfigs = (struct textureconfig *)(g_TexBase + (u32)g_TcGroup06Configs);
g_TexShieldConfigs = (struct textureconfig *)(g_TexBase + (u32)g_TcShieldConfigs);
g_TexShardConfigs = (struct textureconfig *)(g_TexBase + (u32)g_TcShardConfigs);
g_TexScreenConfigs = (struct textureconfig *)(g_TexBase + (u32)g_TcScreenConfigs);
g_TexWaterConfigs = (struct textureconfig *)(g_TexBase + (u32)g_TcWaterConfigs);
g_TexSkyConfigs = (struct textureconfig *)(g_TexBase + (u32)g_TcSkyConfigs);
g_TexLightGlareConfigs = (struct textureconfig *)(g_TexBase + (u32)g_TcLightGlareConfigs);
g_TexSparkConfigs = (struct textureconfig *)(g_TexBase + (u32)g_TcSparkConfigs);
g_TexGeneralConfigs = (struct textureconfig *)(g_TexBase + (u32)g_TcGeneralConfigs);

View File

@ -19,7 +19,6 @@ void tilesReset(void)
index = 0;
}
g_LoadType = LOADTYPE_TILES;
g_TileFileData.u8 = fileLoadToNew(g_Stages[index].tilefileid, FILELOADMETHOD_DEFAULT);
g_TileNumRooms = *g_TileFileData.u32;
g_TileRooms = g_TileFileData.u32 + 1;

View File

@ -37,7 +37,6 @@ struct gfxvtx *var8009cca8[2];
u32 *var8009ccb0[2];
u32 var8009ccb8;
s16 g_TitleViewHeight = 480;
bool g_IsTitleDemo = false;
bool g_TitleButtonPressed = false;
bool g_TitleFastForward = false;
@ -46,15 +45,8 @@ s32 g_TitleNextMode = -1;
u32 g_TitleDelayedTimer = 2;
s32 g_TitleDelayedMode = -1;
s32 g_TitleTimer = 0;
u32 var800624d4 = 0x00000000;
u32 var800624d8 = 0x00000000;
u32 var800624dc = 0x00000000;
u32 var800624e0 = 0x00000000;
s32 g_TitleNextStage = -1; // appears to be used for more than just title
s32 var800624e8 = 1;
u32 var800624ec = 0x00000001;
u32 var800624f0 = 0x00000000;
s32 var800624f4 = 1;
struct model *g_TitleModel = NULL;
struct model *g_TitleModelNLogo2 = NULL;
struct model *g_TitleModelPdTwo = NULL;
@ -115,7 +107,6 @@ static void titleSetLight(Lights1 *light, u8 r, u8 g, u8 b, f32 luminosity, stru
static void titleInitLegal(void)
{
musicQueueStopAllEvent();
var800624f4 = 1;
g_TitleTimer = 0;
g_TitleButtonPressed = false;
g_TitleFastForward = false;
@ -143,7 +134,6 @@ static void titleInitCheckControllers(void)
static void titleExitCheckControllers(void)
{
var800624e8 = 0;
viConfigureForLogos();
viSetMode(VIMODE_HI);
viBlack(false);
@ -419,9 +409,6 @@ static void titleInitPdLogo(void)
if (1);
var8009ccb8 = 0;
var800624f4 = 1;
joy00014810(false);
g_PdLogoIsFirstTick = true;
g_PdLogoTriggerExit = false;
@ -438,8 +425,6 @@ static void titleExitPdLogo(void)
modelmgrFreeModel(g_TitleModelNLogo2);
modelmgrFreeModel(g_TitleModelPdTwo);
modelmgrFreeModel(g_TitleModelPdThree);
joy00014810(true);
}
static void titleTickPdLogo(void)
@ -1176,15 +1161,12 @@ static void titleInitNintendoLogo(void)
g_TitleModel = modelmgrInstantiateModelWithoutAnim(g_ModelStates[MODEL_NINTENDOLOGO].filedata);
modelSetScale(g_TitleModel, 1);
modelSetRootPosition(g_TitleModel, &coord);
var800624f4 = 1;
joy00014810(false);
}
}
static void titleExitNintendoLogo(void)
{
modelmgrFreeModel(g_TitleModel);
joy00014810(true);
}
/**
@ -1331,10 +1313,7 @@ static void titleInitRareLogo(void)
modelSetScale(g_TitleModel, 1);
modelSetRootPosition(g_TitleModel, &coord);
var800624f4 = 1;
musicQueueStopAllEvent();
joy00014810(false);
if (!g_IsTitleDemo) {
g_IsTitleDemo = true;
@ -1345,7 +1324,6 @@ static void titleInitRareLogo(void)
static void titleExitRareLogo(void)
{
modelmgrFreeModel(g_TitleModel);
joy00014810(true);
}
/**
@ -1626,7 +1604,7 @@ static Gfx *titleRenderNoController(Gfx *gdl)
textMeasure(&textheight, &textwidth, text, g_CharsHandelGothicLg, g_FontHandelGothicLg, 0);
x = 288 - (textwidth >> 1);
y = (g_TitleViewHeight / 2) - (textheight >> 1) - 12;
y = (480 / 2) - (textheight >> 1) - 12;
width = viGetWidth();
gdl = textRenderProjected(gdl, &x, &y, text, g_CharsHandelGothicLg, g_FontHandelGothicLg, 0xffffffff, width, viGetHeight(), 0, 0);
@ -1636,7 +1614,7 @@ static Gfx *titleRenderNoController(Gfx *gdl)
textMeasure(&textheight, &textwidth, text, g_CharsHandelGothicLg, g_FontHandelGothicLg, 0);
x = 288 - (textwidth >> 1);
y = (g_TitleViewHeight / 2) - (textheight >> 1) + 12;
y = (480 / 2) - (textheight >> 1) + 12;
width = viGetWidth();
gdl = textRenderProjected(gdl, &x, &y, text, g_CharsHandelGothicLg, g_FontHandelGothicLg, 0xffffffff, width, viGetHeight(), 0, 0);
@ -1656,14 +1634,14 @@ void titleSetNextMode(s32 mode)
void titleTick(void)
{
#if PAL
viSetAspect(576.0f / g_TitleViewHeight * 1.1904761791229f);
viSetAspect(576.0f / 480 * 1.1904761791229f);
#else
viSetAspect(576.0f / g_TitleViewHeight);
viSetAspect(576.0f / 480);
#endif
viSetSize(576, g_TitleViewHeight);
viSetBufSize(576, g_TitleViewHeight);
playermgrSetViewSize(576, g_TitleViewHeight);
viSetViewSize(576, g_TitleViewHeight);
viSetSize(576, 480);
viSetBufSize(576, 480);
playermgrSetViewSize(576, 480);
viSetViewSize(576, 480);
playermgrSetViewPosition(0, 0);
viSetViewPosition(0, 0);

View File

@ -10,11 +10,7 @@ void titleInit(void)
g_TitleNextMode = TITLEMODE_LEGAL;
g_TitleTimer = 0;
g_TitleNextStage = -1;
var800624e0 = 0;
var800624e8 = 1;
var800624ec = 0;
var800624f0 = 0;
var800624f4 = 1;
g_MissionConfig.pdmodereaction = 0;
g_MissionConfig.pdmodehealth = 128;
g_MissionConfig.pdmodedamage = 128;

View File

@ -10,12 +10,8 @@
void titleReset(void)
{
g_TitleMode = -1;
var800624d4 = 0;
var800624d8 = 0;
var800624dc = 0;
g_TitleDelayedTimer = 2;
g_TitleDelayedMode = -1;
var800624f4 = 1;
if (var800624f0) {
g_TitleNextMode = TITLEMODE_SKIP;

View File

@ -16,7 +16,6 @@ s32 g_MinPropWallhits;
u32 g_MaxPropWallhits;
s32 g_MinBgWallhitsPerRoom;
s32 g_MaxBgWallhitsPerRoom;
u32 var8009cc6c;
s32 var8009cc70;
s32 var8009cc74;
f32 g_WallhitTargetBloodRatio;
@ -47,7 +46,6 @@ void wallhitReset(void)
g_MaxPropWallhits = 40;
g_MinBgWallhitsPerRoom = 1;
g_MaxBgWallhitsPerRoom = 25;
var8009cc6c = 20;
var8009cc70 = 5;
var8009cc74 = 15;
g_WallhitTargetBloodRatio = 0.3f;
@ -59,7 +57,6 @@ void wallhitReset(void)
g_MaxPropWallhits = 100;
g_MinBgWallhitsPerRoom = 4;
g_MaxBgWallhitsPerRoom = 40;
var8009cc6c = 80;
var8009cc70 = 20;
var8009cc74 = 30;
g_WallhitTargetBloodRatio = 0.4f;
@ -72,7 +69,6 @@ void wallhitReset(void)
g_MaxPropWallhits = 120;
g_MinBgWallhitsPerRoom = 10;
g_MaxBgWallhitsPerRoom = 60;
var8009cc6c = 180;
var8009cc70 = 25;
var8009cc74 = 40;
g_WallhitTargetBloodRatio = 0.5f;

View File

@ -752,8 +752,6 @@ static bool weatherIsRoomWeatherProof(s32 room)
return false;
}
u32 var8007f0e0 = 0x00000001;
static Gfx *weatherRenderRain(Gfx *gdl, struct weatherdata *weather, s32 arg2)
{
u8 stack[0x10];
@ -1239,7 +1237,7 @@ static Gfx *weatherRenderRain(Gfx *gdl, struct weatherdata *weather, s32 arg2)
if (s3) {
spd84[4] = osGetCount();
temp_f2_7 = var8007f0e0 * (1.0f + sp214 / (var8007f0f0 / 10.0f));
temp_f2_7 = 1.0f + sp214 / (var8007f0f0 / 10.0f);
sp198[0].f[0] += -sp218[1] * -temp_f2_7;
sp198[0].f[2] += sp218[0] * -temp_f2_7;

View File

@ -19,9 +19,6 @@ extern OSPiHandle LeoDiskHandle;
extern OSTimer var80090ab0;
extern OSMesgQueue g_GbpakMesgQueue;
extern OSMesg var80090ae8;
extern u32 g_VmNumTlbMisses;
extern u32 g_VmNumPageMisses;
extern u32 g_VmNumPageReplaces;
extern u8 *g_VmMarker;
extern u32 g_VmRamEnd;
extern u32 g_VmStateTableEnd;
@ -135,8 +132,6 @@ extern struct boltbeam g_BoltBeams[8];
extern struct lasersight g_LaserSights[4];
extern struct model *g_ModelSlots;
extern struct anim *g_AnimSlots;
extern s32 g_ModelNumObjs;
extern s32 g_ModelNumChrs;
extern struct modelrwdatabinding *g_ModelRwdataBindings[3];
extern struct coord var8009dd20;
extern f32 var8009dd2c;
@ -178,7 +173,6 @@ extern u32 g_CheatsActiveBank0;
extern u32 g_CheatsActiveBank1;
extern u32 g_CheatsEnabledBank0;
extern u32 g_CheatsEnabledBank1;
extern s32 g_FilemgrLastPakError;
extern struct gamefile g_GameFile;
extern struct fileguid g_GameFileGuid;
extern u8 g_AltTitleUnlocked;
@ -192,7 +186,6 @@ extern u16 g_NumSpecialCovers;
extern u16 *g_SpecialCoverNums;
extern struct pak g_Paks[5];
extern OSPfs g_Pfses[4];
extern u32 g_SkyStageNum;
extern bool g_SkyLightningActive;
extern struct explosion *g_Explosions;
extern s32 g_MaxExplosions;

View File

@ -55,7 +55,6 @@ extern u8 ailist_002c;
extern u8 ailist_002d;
extern u8 *g_StackLeftAddrs[7];
extern u8 *g_StackRightAddrs[7];
extern u8 *g_StackAllocatedPos;
extern s32 var8005ce74;
extern f32 g_ViXScalesBySlot[2];
@ -71,11 +70,9 @@ extern u32 var8005cefc;
extern OSDevMgr __osPiDevMgr;
extern OSPiHandle *__osCurrentHandle[2];
extern u32 var8005cf30;
extern OSTime osClockRate;
extern s32 osViClock;
extern u32 __osGlobalIntMask;
extern s32 g_VmNumPages;
extern u8 g_LoadType;
extern s32 g_MainIsEndscreen;
extern s32 var8005dd18;
extern bool g_MainIsDebugMenuOpen;
@ -112,12 +109,10 @@ extern s32 var8005f01c;
extern bool g_AnimHostEnabled;
extern s32 var8005f030;
extern s32 g_CdHasSavedBlock;
extern s32 var8005f038;
extern u16 *g_RdpOutBufferEnd;
extern u16 *g_RdpOutBufferStart;
extern struct rdptask *g_RdpCurTask;
extern N_ALSndPlayer *g_SndPlayer;
extern u32 var8005f4dc;
extern u32 var8005f548;
extern s16 n_eqpower[];
extern u32 var8005f66c;
@ -160,15 +155,8 @@ extern s32 g_TitleNextMode;
extern u32 g_TitleDelayedTimer;
extern s32 g_TitleDelayedMode;
extern s32 g_TitleTimer;
extern u32 var800624d4;
extern u32 var800624d8;
extern u32 var800624dc;
extern u32 var800624e0;
extern s32 g_TitleNextStage;
extern s32 var800624e8;
extern u32 var800624ec;
extern u32 var800624f0;
extern s32 var800624f4;
extern u8 g_FileState;
extern u8 var80062944;
extern u8 var80062948;
@ -190,8 +178,6 @@ extern s32 g_NumMaleGuardHeads;
extern s32 g_NumFemaleGuardHeads;
extern s32 g_NumMaleGuardTeamHeads;
extern s32 g_NumFemaleGuardTeamHeads;
extern s32 var80062b14;
extern s32 var80062b18;
extern s32 g_BondBodies[];
extern s32 g_MaleGuardHeads[];
extern s32 g_MaleGuardTeamHeads[];
@ -256,7 +242,6 @@ extern struct blockedpathobj *g_BlockedPaths;
extern struct prop *g_EmbedProp;
extern s32 g_EmbedHitPart;
extern f32 g_CctvWaitScale;
extern f32 g_CctvDamageRxScale;
extern f32 g_AutogunAccuracyScale;
extern f32 g_AutogunDamageTxScale;
extern f32 g_AutogunDamageRxScale;
@ -288,10 +273,6 @@ extern s32 g_ModelMostType2;
extern s32 g_ModelMostType3;
extern s32 g_ModelMostModels;
extern s32 g_ModelMostAnims;
extern s32 var8007072c;
extern u32 var80070738;
extern u32 var8007073c;
extern struct gecreditsdata *g_CurrentGeCreditsData;
extern bool g_PlayerTriggerGeFadeIn;
extern u32 var80070748;
extern u32 var8007074c;
@ -304,7 +285,6 @@ extern s32 g_ScissorX1;
extern s32 g_ScissorX2;
extern s32 g_ScissorY1;
extern s32 g_ScissorY2;
extern u32 var800711f0;
#if VERSION >= VERSION_NTSC_1_0
extern char *g_StringPointer;
extern char *g_StringPointer2;
@ -340,7 +320,6 @@ extern struct menudialogdef g_AdvancedSetup4MbMenuDialog;
extern struct filelist *g_FileLists[];
extern bool var80075bd0[];
extern struct var80075c00 var80075c00[];
extern s32 var80075d60;
extern s32 var80075d64;
extern s32 var80075d68;
extern s32 g_DebugScreenshotRgb;

View File

@ -8,7 +8,6 @@ f32 pdmodeGetEnemyReactionSpeed(void);
f32 pdmodeGetEnemyHealth(void);
f32 pdmodeGetEnemyDamage(void);
f32 pdmodeGetEnemyAccuracy(void);
void func0f01b148(u32 arg0);
void titleSetNextStage(s32 stagenum);
#endif

View File

@ -4,10 +4,6 @@
#include "data.h"
#include "types.h"
extern u32 var800624d4;
extern u32 var800624d8;
extern u32 var800624dc;
extern s32 g_NumPlayers;
void titleInit(void);

View File

@ -22,7 +22,6 @@ void joyConsumeSamples(struct joydata *joydata);
void joyDebugJoy(void);
s32 joyStartReadData(OSMesgQueue *mq);
void joysTick(void);
void joy00014810(bool value);
s32 joyGetNumSamples(void);
s32 joyGetStickXOnSample(s32 samplenum, s8 contpadnum);
s32 joyGetStickYOnSample(s32 samplenum, s8 contpadnum);

View File

@ -52,8 +52,9 @@ static u16 mask_bits[] = {
0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff
};
u32 lbits = 9;
u32 dbits = 6;
#define lbits 9
#define dbits 6
u32 hufts = 0;
/**

View File

@ -11,8 +11,6 @@
#include "types.h"
u64 var80091568;
u64 var80091570;
u64 var80091578;
u64 var80091580;
u64 var80091588;
u64 var80091590;
@ -20,7 +18,6 @@ AMAudioMgr g_AudioManager;
OSScClient var800918d0;
u32 var800918dc;
u32 g_AmgrFreqPerTick;
u32 var800918e4;
s32 var800918e8;
s32 var800918ec;
void *g_AudioSp;
@ -55,7 +52,6 @@ void amgrCreate(ALSynConfig *config)
g_AmgrFreqPerTick = g_AmgrFreqPerTick / 184 * 184 + 184;
var800918dc = g_AmgrFreqPerTick - 184;
var800918e4 = g_AmgrFreqPerTick + 80;
var8005cf94 = 0;
admaInit();
@ -159,10 +155,8 @@ static void amgrMain(void *arg)
profileEnd(PROFILEMARKER_AUDIO);
var80091590 = osGetTime();
var80091570 = var80091590 - var80091588;
if (count % 240 == 0) {
var80091578 = var80091580 / 240;
var80091580 = 0; var80091568 = 0;
} else {
var80091580 = (var80091580 + var80091590) - var80091588;

View File

@ -23,7 +23,6 @@ OSScClient var8008dca8;
u32 g_OsMemSize;
u8 *g_StackLeftAddrs[7] = {0};
u8 *g_StackRightAddrs[7] = {0};
u8 *g_StackAllocatedPos = (u8 *) K0BASE + 4 * 1024 * 1024 - FRAMEBUFFER_SIZE;
extern OSSched g_Sched;
@ -112,7 +111,6 @@ void bootPhase1(void)
// Clear the stack allocation pointers
for (i = 0; i < ARRAYCOUNT(g_StackLeftAddrs); i++) {
g_StackLeftAddrs[i] = NULL;
g_StackRightAddrs[i] = NULL;
}
osInitialize();
@ -161,7 +159,6 @@ void *bootAllocateStack(s32 threadid, s32 size)
s32 j;
u8 *tmp;
g_StackRightAddrs[threadid] = g_StackAllocatedPos;
size = (size + 0xf) & 0xfffffff0;
g_StackAllocatedPos -= size;

View File

@ -33,13 +33,10 @@ s32 g_TileNumRooms;
u32 *g_TileRooms;
s32 var8009a8ac;
f32 var8009a8b0;
s32 var8009a8b4;
struct coord g_CdEdgeVtx1;
struct coord g_CdEdgeVtx2;
struct prop *g_CdObstacleProp;
s32 var8009a8d8;
struct coord g_CdObstaclePos;
s32 var8009a8ec;
f32 var8009a8f0;
bool g_CdHasSavedPos;
struct coord g_CdPos1;
@ -47,9 +44,7 @@ struct coord g_CdPos2;
struct geoblock g_CdSavedBlock;
struct geo *g_CdObstacleGeo;
s32 var8005f030 = 0;
bool g_CdHasSavedBlock = false;
s32 var8005f038 = 0;
static f32 func0f1577f0(f32 arg0[2], f32 arg1[2], f32 arg2[2], f32 arg3[2])
{
@ -278,14 +273,10 @@ u32 cdGetGeoFlags(void)
static void cdClearResults(void)
{
var8009a8b4 = 0;
var8009a8ac = 0;
g_CdObstacleProp = NULL;
var8009a8d8 = 0;
var8009a8ec = 0;
g_CdHasSavedPos = false;
g_CdHasSavedBlock = false;
var8005f038 = 0;
}
static void cdSetObstacleVtxProp(struct coord *vtx1, struct coord *vtx2, struct prop *prop)
@ -294,14 +285,10 @@ static void cdSetObstacleVtxProp(struct coord *vtx1, struct coord *vtx2, struct
g_CdEdgeVtx2 = *vtx2;
var8009a8b4 = 1;
var8009a8ac = 0;
g_CdObstacleProp = prop;
var8009a8d8 = 0;
var8009a8ec = 0;
g_CdHasSavedPos = false;
g_CdHasSavedBlock = false;
var8005f038 = 0;
}
static void cdSetObstacleVtxPropFlt(struct coord *vtx1, struct coord *vtx2, struct prop *prop, f32 arg3)
@ -312,14 +299,10 @@ static void cdSetObstacleVtxPropFlt(struct coord *vtx1, struct coord *vtx2, stru
g_CdEdgeVtx2 = *vtx2;
var8009a8b4 = 1;
var8009a8ac = 1;
g_CdObstacleProp = prop;
var8009a8d8 = 0;
var8009a8ec = 0;
g_CdHasSavedPos = false;
g_CdHasSavedBlock = false;
var8005f038 = 0;
}
static void cd000250cc(struct coord *arg0, struct coord *arg1, f32 width)
@ -348,14 +331,10 @@ static void cd000250cc(struct coord *arg0, struct coord *arg1, f32 width)
static void cdSetObstacleProp(struct prop *prop)
{
var8009a8b4 = 0;
var8009a8ac = 0;
g_CdObstacleProp = prop;
var8009a8d8 = 0;
var8009a8ec = 0;
g_CdHasSavedPos = false;
g_CdHasSavedBlock = false;
var8005f038 = 0;
}
static void cdSetObstacleVtxColProp(struct coord *vtxpos1, struct coord *vtxpos2, struct coord *collisionpos, struct prop *prop)
@ -366,14 +345,10 @@ static void cdSetObstacleVtxColProp(struct coord *vtxpos1, struct coord *vtxpos2
g_CdObstaclePos = *collisionpos;
var8009a8b4 = 1;
var8009a8ac = 0;
g_CdObstacleProp = prop;
var8009a8d8 = 1;
var8009a8ec = 0;
g_CdHasSavedPos = false;
g_CdHasSavedBlock = false;
var8005f038 = 0;
}
static void cdSetObstacleVtxColPropFltGeo(struct coord *vtxpos1, struct coord *vtxpos2, struct coord *collisionpos, struct prop *prop, f32 arg4, struct geo *geo)
@ -384,16 +359,12 @@ static void cdSetObstacleVtxColPropFltGeo(struct coord *vtxpos1, struct coord *v
g_CdObstaclePos = *collisionpos;
var8009a8b4 = 1;
var8009a8ac = 0;
g_CdObstacleProp = prop;
var8009a8d8 = 1;
var8009a8f0 = arg4;
var8009a8ec = 1;
g_CdHasSavedPos = false;
g_CdHasSavedBlock = false;
g_CdObstacleGeo = geo;
var8005f038 = 1;
}
void cdSetSavedPos(struct coord *pos1, struct coord *pos2)
@ -3844,14 +3815,8 @@ static bool cd0002e680IntTile(struct geotilei *tile, s32 numvertices, struct coo
struct coord sp6c;
for (i = 0; i < numvertices; i++) {
if (var8005f030) {
s32 remaining = numvertices - i;
next = (remaining + numvertices - 2) % numvertices;
curr = remaining - 1;
} else {
next = (i + 1) % numvertices;
curr = i;
}
next = (i + 1) % numvertices;
curr = i;
if (cd0002ac70IntTile((struct coord *)((u32)verts + curr * sizeof(struct coord)),
(struct coord *)((u32)verts + next * sizeof(struct coord)),
@ -3879,14 +3844,8 @@ static bool cd0002e82cIntTile(struct geotilef *tile, s32 numvertices, struct coo
struct coord sp6c;
for (i = 0; i < numvertices; i++) {
if (var8005f030) {
s32 remaining = numvertices - i;
next = (remaining + numvertices - 2) % numvertices;
curr = remaining - 1;
} else {
next = (i + 1) % numvertices;
curr = i;
}
next = (i + 1) % numvertices;
curr = i;
if (cd0002b128FltTile((struct coord *)((u32)verts + curr * sizeof(struct coord)),
(struct coord *)((u32)verts + next * sizeof(struct coord)),
@ -3914,14 +3873,8 @@ static bool cd0002e9d8Block(struct geoblock *thisblock, s32 numvertices, struct
struct coord sp6c;
for (i = 0; i < numvertices; i++) {
if (var8005f030) {
s32 remaining = numvertices - i;
next = (remaining + numvertices - 2) % numvertices;
curr = remaining - 1;
} else {
next = (i + 1) % numvertices;
curr = i;
}
next = (i + 1) % numvertices;
curr = i;
if (cd0002b560Block((struct coord *)((u32)verts + curr * sizeof(struct coord)),
(struct coord *)((u32)verts + next * sizeof(struct coord)),
@ -3949,14 +3902,8 @@ static bool cd0002eb84Cyl(struct geocyl *cyl, s32 numvertices, struct coord *arg
struct coord sp6c;
for (i = 0; i < numvertices; i++) {
if (var8005f030) {
s32 remaining = numvertices - i;
next = (remaining + numvertices - 2) % numvertices;
curr = remaining - 1;
} else {
next = (i + 1) % numvertices;
curr = i;
}
next = (i + 1) % numvertices;
curr = i;
if (cd0002b954Cyl((struct coord *)((u32)arg2 + curr * sizeof(struct coord)),
(struct coord *)((u32)arg2 + next * sizeof(struct coord)),

View File

@ -11,8 +11,6 @@ volatile u8 g_DmaSlotsBusy[32];
OSMesg g_DmaMesgs[32];
OSMesgQueue g_DmaMesgQueue;
u8 g_LoadType = 0;
static void dmaWait(void);
void dmaInit(void)

View File

@ -54,13 +54,11 @@ bool g_JoyQueuesCreated = false;
bool g_JoyInitDone = false;
bool g_JoyNeedsInit = true;
u32 g_JoyCyclicPollDisableCount = 0;
u32 var8005eec0 = 1;
s32 g_JoyNextPfsStateIndex = 0;
bool var8005eedc = true;
s32 var8005eee0 = 0;
s32 var8005eee4 = -1;
u32 var8005eee8 = 0;
u32 var8005eeec = 0;
u32 var8005eef0 = 1;
@ -175,8 +173,6 @@ void joyCheckPfs(s32 arg0)
|| (arg0 == 1 && var8005eee4 < 0 && var8005eee0 < -var8005eee4)) {
u8 bitpattern = 0;
var8005eee8++;
if (arg0) {
joyDisableCyclicPolling();
}
@ -260,8 +256,6 @@ void joyReset(void)
osSendMesg(&g_JoyStartCyclicPollingMesgQueue, &msg, OS_MESG_NOBLOCK);
osRecvMesg(&g_JoyStartCyclicPollingDoneMesgQueue, &msg, OS_MESG_BLOCK);
var8005eec0 = 1;
}
}
@ -476,11 +470,6 @@ void joysTick(void)
}
}
void joy00014810(bool value)
{
var8005eec0 = value;
}
s32 joyGetNumSamples(void)
{
return (g_JoyData.curlast - g_JoyData.curstart + 20) % 20;

View File

@ -373,10 +373,6 @@ static void mainLoop(void)
if (g_StageNum != STAGE_TITLE) {
titleSetNextStage(g_StageNum);
if (g_StageNum < STAGE_TITLE) {
func0f01b148(0);
}
}
rngSetSeed(osGetCount());

View File

@ -65,8 +65,6 @@ f32 var8005f34c[100] = {
18.75, 19, 19.25, 19.5, 19.75, 20, 20.25, 20.5, 20.75, 21,
};
u32 var8005f4dc = 0x00000000;
void func00039cd0(N_ALCSPlayer *seqp);
static ALMicroTime __n_CSPVoiceHandler(void *node);
@ -439,11 +437,9 @@ static void __n_CSPHandleNextSeqEvent(N_ALCSPlayer *seqp)
break;
case AL_SEQ_END_EVT:
if (!var8005f4dc) {
seqp->state = AL_STOPPING;
evt.type = AL_SEQP_STOP_EVT;
n_alEvtqPostEvent(&seqp->evtq, &evt, AL_EVTQ_END, 0);
}
seqp->state = AL_STOPPING;
evt.type = AL_SEQP_STOP_EVT;
n_alEvtqPostEvent(&seqp->evtq, &evt, AL_EVTQ_END, 0);
break;
case AL_TRACK_END:

View File

@ -27,7 +27,6 @@ OSSched g_Sched;
OSViMode var8008dcc0[2];
OSViMode *var8008dd60[2];
OSViMode var8008dd68[2];
u32 var8008de08;
s32 var8008de0c;
s32 var8008de10;
OSTimer g_SchedRspTimer;
@ -340,7 +339,6 @@ void osCreateScheduler(OSSched *sc, OSThread *thread, u8 mode, u32 numFields)
osCreateViManager(OS_PRIORITY_VIMGR);
var8008de08 = osViModeTable[mode].comRegs.hStart;
var8008de0c = osViModeTable[mode].fldRegs[0].vStart;
var8008de10 = osViModeTable[mode].fldRegs[1].vStart;

View File

@ -13,9 +13,6 @@
glabel g_VmStateTable
.space 4
glabel g_VmInitialised
.space 4
glabel g_VmZipBuffer
.space 4

View File

@ -17,10 +17,6 @@ extern s32 osAppNMIBuffer[];
extern OSPiHandle CartRomHandle;
extern OSPiHandle LeoDiskHandle;
u32 __osFinalRom;
OSTime osClockRate = 62500000;
s32 osViClock = VI_NTSC_CLOCK;
u32 _osShutdown = 0;
@ -30,7 +26,6 @@ void osInitialize(void)
{
u32 pifdata;
__osFinalRom = TRUE;
__osSetSR(__osGetSR() | SR_CU1);
__osSetFpcCsr(FPCSR_FS | FPCSR_EV);
@ -60,8 +55,6 @@ void osInitialize(void)
osMapTLBRdb();
osClockRate = osClockRate * 3 / 4;
if (osResetType == RESETTYPE_COLD) {
bzero(&osAppNMIBuffer, 0x40);
}

View File

@ -1,102 +0,0 @@
#include <os.h>
#include <os_internal.h>
#include <R4300.h>
#include <rcp.h>
#include "constants.h"
#include "versions.h"
/**
* Note: This file is linked in PAL and JPN only.
*/
typedef struct {
unsigned int inst1;
unsigned int inst2;
unsigned int inst3;
unsigned int inst4;
} __osExceptionVector;
extern __osExceptionVector __osExceptionPreamble;
extern s32 osAppNMIBuffer[];
extern u32 __osFinalRom;
OSTime osClockRate = 62500000;
s32 osViClock = VI_NTSC_CLOCK;
u32 var80060fecpf = 0;
u32 var80060ff0pf = OS_IM_ALL;
OSPiHandle *osCartRomInit2(void);
void osInitialize2()
{
u32 pifdata;
u32 clock = 0;
__osFinalRom = TRUE;
__osSetSR(__osGetSR() | SR_CU1);
__osSetFpcCsr(FPCSR_FS | FPCSR_EV);
while (__osSiRawReadIo(PIF_RAM_END - 3, &pifdata));
while (__osSiRawWriteIo(PIF_RAM_END - 3, pifdata | 8));
*(__osExceptionVector *)UT_VEC = __osExceptionPreamble;
*(__osExceptionVector *)XUT_VEC = __osExceptionPreamble;
*(__osExceptionVector *)ECC_VEC = __osExceptionPreamble;
*(__osExceptionVector *)E_VEC = __osExceptionPreamble;
osWritebackDCache((void *)UT_VEC, E_VEC - UT_VEC + sizeof(__osExceptionVector));
osInvalICache((void *)UT_VEC, E_VEC - UT_VEC + sizeof(__osExceptionVector));
osCartRomInit2();
osUnmapTLBAll();
osMapTLBRdb();
osClockRate = osClockRate * 3 / 4;
if (osResetType == RESETTYPE_COLD) {
bzero(osAppNMIBuffer, OS_APP_NMI_BUFSIZE);
}
if (osTvType == OS_TV_PAL) {
osViClock = VI_PAL_CLOCK;
} else if (osTvType == OS_TV_MPAL) {
osViClock = VI_MPAL_CLOCK;
} else {
osViClock = VI_NTSC_CLOCK;
}
if (__osGetCause() & CAUSE_IP5) {
while (1);
}
*(u32 *)PHYS_TO_K1(AI_CONTROL_REG) = 1;
*(u32 *)PHYS_TO_K1(AI_DACRATE_REG) = 0x3fff;
*(u32 *)PHYS_TO_K1(AI_BITRATE_REG) = 0xf;
}
extern OSPiHandle CartRomHandle;
extern OSPiHandle LeoDiskHandle;
/**
* According to Nintendo's SDK this function should return a pointer to an
* OSPiHandle, but the function only matches if the return statement is omitted.
* By chance the value in v0 happens to be &CartRomHandle anyway.
*/
OSPiHandle *osCartRomInit2(void)
{
CartRomHandle.type = DEVICE_TYPE_INIT;
CartRomHandle.latency = IO_READ(0xa4600014);
CartRomHandle.pulse = IO_READ(0xa4600018);
CartRomHandle.pageSize = IO_READ(0xa460001c);
CartRomHandle.relDuration = IO_READ(0xa4600020);
LeoDiskHandle.type = DEVICE_TYPE_INIT;
LeoDiskHandle.latency = IO_READ(0xa4600024);
LeoDiskHandle.pulse = IO_READ(0xa4600028);
LeoDiskHandle.pageSize = IO_READ(0xa460002c);
LeoDiskHandle.relDuration = IO_READ(0xa4600030);
#ifdef AVOID_UB
return &CartRomHandle;
#endif
}

View File

@ -311,7 +311,6 @@ void viUpdateMode(void)
var8008dcc0[g_ViSlot].comRegs.hStart = reg;
var8008dcc0[g_ViSlot].fldRegs[0].vStart = reg;
var8008dcc0[g_ViSlot].fldRegs[1].vStart = reg;
var8008de08 = reg;
v1 = g_ViBackData->bufy * 1024 / var8008dcc0[g_ViSlot].fldRegs[0].yScale;
@ -344,7 +343,6 @@ void viUpdateMode(void)
reg = var8008dcc0[g_ViSlot].comRegs.hStart;
reg = ADD_LOW_AND_HI_16_MOD(reg, var8005d588);
var8008dcc0[g_ViSlot].comRegs.hStart = reg;
var8008de08 = reg;
reg = var8008dcc0[g_ViSlot].fldRegs[0].vStart;
reg = ADD_LOW_AND_HI_16_MOD(reg, var8005d58c);

View File

@ -67,9 +67,6 @@
* mappings in the TLB are static.
*/
u32 g_VmNumTlbMisses;
u32 g_VmNumPageMisses;
u32 g_VmNumPageReplaces;
u8 *g_VmMarker;
u32 g_VmRamEnd;
u32 g_VmStateTableEnd;
@ -82,7 +79,6 @@ extern u8 _gameSegmentEnd;
extern u8 _gamezipSegmentRomStart;
extern u32 *g_VmStateTable;
extern u8 g_VmInitialised;
extern u32 g_VmZipBuffer;
extern u32 *g_VmZipTable;
@ -167,8 +163,6 @@ void vmInit(void)
u8 *s7;
s32 statetablelen;
g_VmInitialised = true;
rzipInit();
if (bootGetMemSize() <= 0x400000) {
@ -204,9 +198,5 @@ void vmInit(void)
}
}
g_VmNumTlbMisses = 0;
g_VmNumPageMisses = 0;
g_VmNumPageReplaces = 0;
osInvalICache(0, ICACHE_SIZE);
}