use array count for collision headers (#222)

* lights fix

* names

* remove header

* so many names

* format

* more docs

* makefile

* colheaders

* it's gone too far

* torch
This commit is contained in:
petrie911 2024-04-25 17:01:25 -05:00 committed by GitHub
parent ee59dfc57f
commit 3ab050421e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
79 changed files with 2072 additions and 2047 deletions

View File

@ -45,7 +45,7 @@
"cstdlib": "c",
"typeinfo": "c",
"sym_addrs_funcs": "c",
"*.txt": "c",
"*.txt": "plaintext",
"fox_title.h": "c",
"prevent_bss_reordering.h": "c",
"fox_map.h": "c",

View File

@ -176,7 +176,7 @@ D_ANDROSS_C033D98:
{type: SF64:ANIM, offset: 0xC033D98, symbol: D_ANDROSS_C033D98}
D_ANDROSS_C035110:
{type: SF64:ENV_SETTINGS, offset: 0xC035110, symbol: D_ANDROSS_C035110}
{type: SF64:ENVIRONMENT, offset: 0xC035110, symbol: D_ANDROSS_C035110}
D_ANDROSS_C035154:
{type: SF64:OBJECT_INIT, offset: 0xC035154, symbol: D_ANDROSS_C035154}

View File

@ -645,10 +645,10 @@ D_AQ_602E028:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x602E028, symbol: D_AQ_602E028 }
D_AQ_602E540:
{ type: SF64:ENV_SETTINGS, offset: 0x602E540, symbol: D_AQ_602E540 }
{ type: SF64:ENVIRONMENT, offset: 0x602E540, symbol: D_AQ_602E540 }
D_AQ_602E584:
{ type: SF64:ENV_SETTINGS, offset: 0x602E584, symbol: D_AQ_602E584 }
{ type: SF64:ENVIRONMENT, offset: 0x602E584, symbol: D_AQ_602E584 }
D_AQ_602E584:
{ type: SF64:OBJECT_INIT, offset: 0x602E5C8, symbol: D_AQ_602E5C8 }

View File

@ -220,7 +220,7 @@ D_A6_6022F20:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 64, height: 32, offset: 0x06022F20, symbol: D_A6_6022F20 }
D_A6_6023F20:
{ type: SF64:ENV_SETTINGS, offset: 0x6023F20, symbol: D_A6_6023F20}
{ type: SF64:ENVIRONMENT, offset: 0x6023F20, symbol: D_A6_6023F20}
D_A6_6023F64:
{ type: SF64:OBJECT_INIT, offset: 0x6023F64, symbol: D_A6_6023F64}
@ -244,7 +244,7 @@ D_A6_6028578:
{ type: SF64:HITBOX, offset: 0x6028578, symbol: D_A6_6028578 }
D_A6_6028760:
{ type: SF64:ENV_SETTINGS, offset: 0x6028760, symbol: D_A6_6028760}
{ type: SF64:ENVIRONMENT, offset: 0x6028760, symbol: D_A6_6028760}
D_A6_60287A4:
{ type: SF64:OBJECT_INIT, offset: 0x60287A4, symbol: D_A6_60287A4}

View File

@ -167,7 +167,7 @@ D_BO_600F728:
{ type: TEXTURE, format: RGBA16, offset: 0x0600F728, width: 32, height: 32, ctype: u16, symbol: D_BO_600F728 }
D_BO_600FF30:
{ type: SF64:ENV_SETTINGS, offset: 0x600FF30, symbol: D_BO_600FF30 }
{ type: SF64:ENVIRONMENT, offset: 0x600FF30, symbol: D_BO_600FF30 }
D_BO_600FF74:
{ type: SF64:OBJECT_INIT, offset: 0x600FF74, symbol: D_BO_600FF74 }

View File

@ -433,7 +433,7 @@ D_CO_6036D58:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 32, offset: 0x06036D58, symbol: D_CO_6036D58 }
D_CO_6037160:
{ type: SF64:ENV_SETTINGS, offset: 0x6037160, symbol: D_CO_6037160 }
{ type: SF64:ENVIRONMENT, offset: 0x6037160, symbol: D_CO_6037160 }
D_CO_60371A4:
{ type: SF64:OBJECT_INIT, offset: 0x60371A4, symbol: D_CO_60371A4 }

View File

@ -144,7 +144,7 @@ D_FO_600DA88:
{ type: TEXTURE, format: RGBA16, width: 64, height: 32, offset: 0x600DA88, ctype: u16, symbol: D_FO_600DA88 }
D_FO_600EA90:
{ type: SF64:ENV_SETTINGS, offset: 0x600EA90, symbol: D_FO_600EA90 }
{ type: SF64:ENVIRONMENT, offset: 0x600EA90, symbol: D_FO_600EA90 }
D_FO_600EAD4:
{ type: SF64:OBJECT_INIT, offset: 0x600EAD4, symbol: D_FO_600EAD4 }

View File

@ -162,7 +162,7 @@ D_KA_6010780:
{ type: GFX, offset: 0x6010780, symbol: D_KA_6010780 }
D_KA_6011000:
{ type: SF64:ENV_SETTINGS, offset: 0x6011000, symbol: D_KA_6011000 }
{ type: SF64:ENVIRONMENT, offset: 0x6011000, symbol: D_KA_6011000 }
D_KA_6011044:
{ type: SF64:OBJECT_INIT, offset: 0x6011044, symbol: D_KA_6011044 }

View File

@ -722,7 +722,7 @@ D_MA_6030C50:
{type: GFX, offset: 0x6030C50, symbol: D_MA_6030C50}
D_MA_6030E30:
{type: SF64:ENV_SETTINGS, offset: 0x6030E30, symbol: D_MA_6030E30}
{type: SF64:ENVIRONMENT, offset: 0x6030E30, symbol: D_MA_6030E30}
D_MA_6030E74:
{type: SF64:TRIANGLE, count: 2, offset: 0x6030E74, symbol: D_MA_6030E74, mesh_symbol: D_MA_OFFSET}

View File

@ -272,7 +272,7 @@ D_ME_6026CC4:
{ type: SF64:OBJECT_INIT, offset: 0x6026CC4, symbol: D_ME_6026CC4 }
D_ME_6026C80:
{ type: SF64:ENV_SETTINGS, offset: 0x6026C80, symbol: D_ME_6026C80 }
{ type: SF64:ENVIRONMENT, offset: 0x6026C80, symbol: D_ME_6026C80 }
D_ME_602B148:
{ type: SF64:OBJECT_INIT, offset: 0x602B148, symbol: D_ME_602B148 }

View File

@ -227,7 +227,7 @@ D_SX_6029918:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x029918, symbol: D_SX_6029918 }
D_SX_602A120:
{ type: SF64:ENV_SETTINGS, offset: 0x602A120, symbol: D_SX_602A120 }
{ type: SF64:ENVIRONMENT, offset: 0x602A120, symbol: D_SX_602A120 }
D_SX_602A164:
{ type: SF64:OBJECT_INIT, count: 1026, offset: 0x602A164, symbol: D_SX_602A164 }

View File

@ -294,7 +294,7 @@ D_SY_602D238:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 8, height: 16, offset: 0x0602D238, symbol: D_SY_602D238 }
D_SY_602E4B0:
{ type: SF64:ENV_SETTINGS, offset: 0x602E4B0, symbol: D_SY_602E4B0 }
{ type: SF64:ENVIRONMENT, offset: 0x602E4B0, symbol: D_SY_602E4B0 }
D_SY_602E4F4:
{ type: SF64:OBJECT_INIT, offset: 0x602E4F4, symbol: D_SY_602E4F4 }

View File

@ -149,7 +149,7 @@ D_SZ_6006E50:
{ type: SF64:SKELETON, offset: 0x6006E50, symbol: D_SZ_6006E50 }
D_SZ_6006E70:
{ type: SF64:ENV_SETTINGS, offset: 0x6006E70, symbol: D_SZ_6006E70 }
{ type: SF64:ENVIRONMENT, offset: 0x6006E70, symbol: D_SZ_6006E70 }
D_SZ_6006EB4:
{ type: SF64:OBJECT_INIT, offset: 0x6006EB4, symbol: D_SZ_6006EB4 }

View File

@ -203,7 +203,7 @@ D_SO_601E1E8:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 64, offset: 0x601E1E8, symbol: D_SO_601E1E8}
D_SO_601F1F0:
{ type: SF64:ENV_SETTINGS, offset: 0x601F1F0, symbol: D_SO_601F1F0}
{ type: SF64:ENVIRONMENT, offset: 0x601F1F0, symbol: D_SO_601F1F0}
D_SO_601F234:
{ type: SF64:OBJECT_INIT, offset: 0x601F234, symbol: D_SO_601F234}

View File

@ -71,7 +71,7 @@ D_TI_6004C00:
{type: TEXTURE, format: IA8, ctype: u8, width: 32, height: 32, offset: 0x6004C00, symbol: D_TI_6004C00}
D_TI_6005000:
{type: SF64:ENV_SETTINGS, offset: 0x6005000, symbol: D_TI_6005000}
{type: SF64:ENVIRONMENT, offset: 0x6005000, symbol: D_TI_6005000}
D_TI_600631C:
{type: SF64:SCRIPT, offset: 0x600631C, symbol: D_TI_600631C}

View File

@ -65,7 +65,7 @@ D_TR_60069D8:
{ type: TEXTURE, format: RGBA16, offset: 0x060069D8, width: 8, height: 8, ctype: u16, symbol: D_TR_60069D8 }
D_TR_6006A60:
{ type: SF64:ENV_SETTINGS, offset: 0x6006A60, symbol: D_TR_6006A60 }
{ type: SF64:ENVIRONMENT, offset: 0x6006A60, symbol: D_TR_6006A60 }
D_TR_6006AA4:
{ type: SF64:OBJECT_INIT, offset: 0x6006AA4, symbol: D_TR_6006AA4 }

View File

@ -113,7 +113,7 @@ D_VE1_6007D90:
{ type: GFX, offset: 0x6007D90, symbol: D_VE1_6007D90 }
D_VE1_6007E30:
{ type: SF64:ENV_SETTINGS, offset: 0x6007E30, symbol: D_VE1_6007E30 }
{ type: SF64:ENVIRONMENT, offset: 0x6007E30, symbol: D_VE1_6007E30 }
D_VE1_6007E74:
{ type: SF64:OBJECT_INIT, offset: 0x6007E74, symbol: D_VE1_6007E74 }

View File

@ -187,7 +187,7 @@ D_VE2_60149D0:
{ type: SF64:SKELETON, offset: 0x60149D0, symbol: D_VE2_60149D0 }
D_VE2_6014D50:
{ type: SF64:ENV_SETTINGS, offset: 0x6014D50, symbol: D_VE2_6014D50 }
{ type: SF64:ENVIRONMENT, offset: 0x6014D50, symbol: D_VE2_6014D50 }
D_VE2_6014D94:
{ type: SF64:OBJECT_INIT, offset: 0x6014D94, symbol: D_VE2_6014D94 }

View File

@ -684,13 +684,13 @@ D_versus_302D568:
{type: TEXTURE, ctype: u16, format: RGBA16, width: 32, height: 32, offset: 0x302D568, symbol: D_versus_302D568 }
D_versus_302DD70:
{ type: SF64:ENV_SETTINGS, offset: 0x302DD70, symbol: D_versus_302DD70}
{ type: SF64:ENVIRONMENT, offset: 0x302DD70, symbol: D_versus_302DD70}
D_versus_302DDB4:
{ type: SF64:ENV_SETTINGS, offset: 0x302DDB4, symbol: D_versus_302DDB4}
{ type: SF64:ENVIRONMENT, offset: 0x302DDB4, symbol: D_versus_302DDB4}
D_versus_302DDF8:
{ type: SF64:ENV_SETTINGS, offset: 0x302DDF8, symbol: D_versus_302DDF8}
{ type: SF64:ENVIRONMENT, offset: 0x302DDF8, symbol: D_versus_302DDF8}
D_versus_302DE3C:
{ type: SF64:OBJECT_INIT, offset: 0x302DE3C, symbol: D_versus_302DE3C}

View File

@ -487,7 +487,7 @@ D_ZO_6025F98:
{ type: TEXTURE, ctype: u16, format: RGBA16, width: 16, height: 16, offset: 0x6025F98, symbol: D_ZO_6025F98}
D_ZO_60266D0:
{ type: SF64:ENV_SETTINGS, offset: 0x60266D0, symbol: D_ZO_60266D0}
{ type: SF64:ENVIRONMENT, offset: 0x60266D0, symbol: D_ZO_60266D0}
D_ZO_6026714:
{ type: SF64:OBJECT_INIT, offset: 0x6026714, symbol: D_ZO_6026714}

View File

@ -8,14 +8,14 @@
extern s32 gSceneId;
extern s32 gSceneSetup;
extern s32 D_ctx_80177824; // some sort of flag
extern s32 D_ctx_8017782C; // some sort of flag. all range related?
extern s32 D_ctx_80177824;
extern s32 D_ctx_8017782C;
extern GameState gGameState;
extern s32 gNextGameStateTimer; // next game state timer?
extern s32 gVsItemSpawnTimer; // timer for vs item spawn
extern s32 gNextGameStateTimer;
extern s32 gVsItemSpawnTimer;
extern OptionState gOptionMenuStatus;
extern s32 gPlayState; // pause-related state
extern s32 D_ctx_80177868; // some sort of state. pause-related?
extern s32 gPlayState;
extern s32 D_ctx_80177868;
extern LevelMode gLevelMode;
extern DrawMode gDrawMode;
extern s32 gPlayerNum;
@ -24,7 +24,7 @@ extern s32 gTeamShields[6];
extern s32 gSavedTeamShields[6];
extern s32 gPrevPlanetSavedTeamShields[6];
extern s32 gTeamDamage[6];
extern u8 gMissionStatus; // next planet path
extern u8 gMissionStatus;
extern f32 gGroundHeight;
extern f32 D_ctx_80177950;
extern f32 D_ctx_80177968;
@ -44,37 +44,37 @@ extern s32 gCsFrameCount;
extern u8 D_ctx_80177A98;
extern u8 D_ctx_80177AB0;
extern u8 gAqDrawMode;
extern s32 D_ctx_80177AE0;
extern s32 gTitleState;
extern s32 gMainController;
extern s32 D_ctx_80177B40;
extern s32 gMapState;
extern s32 gMissionNumber;
extern s32 gMissionTeamStatus[7];
extern s32 gMissionHitCount[7];
extern PlanetId gMissionPlanet[7];
extern s32 gMissionMedal[7];
extern s32 gPlanetPathStatus[]; // overruns D_ctx_80177C30?
extern s32 gPlanetPathStatus[];
extern s32 gPrevPlanetTeamShields[6];
extern s32 D_ctx_80177C58[6];
extern u8 gOptionSoundMode;
extern s32 gVolumeSettings[3];
extern u16 gBgmSeqId;
extern u8 gLevelType;
extern s32 D_ctx_80177CA0;
extern s32 gSavedObjectLoadIndex;
extern UNK_TYPE F_80177CA8;
extern f32 D_ctx_80177CB0;
extern UNK_TYPE F_80177CB8;
extern f32 D_ctx_80177CC0;
extern f32 gWaterLevel;
extern f32 D_ctx_80177CC8;
extern f32 D_ctx_80177CE8;
extern f32 D_ctx_80177D08;
extern f32 D_ctx_80177D20;
extern f32 D_ctx_80177D38;
extern f32 D_ctx_80177D50;
extern f32 D_ctx_80177D68;
extern f32 gRadioPortraitScaleY;
extern f32 gRadioTextBoxScaleY;
extern f32 gRadioMsgRadioId;
extern UNK_TYPE F_80177D80;
extern UNK_TYPE F_80177DE8;
extern s32 gGameFrameCount;
extern s32 D_ctx_80177DC8;
extern s32 gObjectLoadIndex;
extern s32 gPrevEventActorIndex;
extern s32 D_ctx_80177E78;
extern s32 gRingPassCount;
@ -88,47 +88,47 @@ extern s32 gBossActive;
extern s32 D_ctx_8017828C;
extern s32 D_ctx_80178294;
extern s32 gRadioState;
extern s32 D_ctx_801782A4;
extern s32 D_Timer_801782AC;
extern s32 D_Timer_801782B4;
extern s32 gCurrentRadioPortrait;
extern s32 gRadioStateTimer;
extern s32 gRadioMouthTimer;
extern s32 D_ctx_801782C0;
extern s32 D_ctx_801782C8;
extern s32 D_ctx_801782D0;
extern s32 D_ctx_801782D8;
extern s32 gRadioMsgCharIndex;
extern UNK_TYPE F_801782E0;
extern s32 D_ctx_801782E8;
extern s32 gRadioMsgId;
extern UNK_TYPE F_801782F0;
extern s32 D_ctx_801782F8;
extern s32 D_ctx_80178300;
extern u16* D_ctx_80178308;
extern s32 gMsgCharIsPrinting;
extern s32 gHideRadio;
extern u16* gRadioMsg;
extern ObjectInit* gLevelObjects;
extern s32 gFogRed;
extern s32 gFogGreen;
extern s32 gFogBlue;
extern s32 gFogAlpha;
extern s32 gFillScreenAlpha; // alpha something
extern s32 gFillScreenRed; // red something
extern s32 gFillScreenGreen; // green something
extern s32 gFillScreenBlue; // blue something
extern s32 gFillScreenAlphaTarget; // alpha target
extern s32 gFillScreenAlphaStep; // alpha step
extern s32 gLight3R; // 2 lights second color
extern s32 gFillScreenAlpha;
extern s32 gFillScreenRed;
extern s32 gFillScreenGreen;
extern s32 gFillScreenBlue;
extern s32 gFillScreenAlphaTarget;
extern s32 gFillScreenAlphaStep;
extern s32 gLight3R;
extern s32 gLight3G;
extern s32 gLight3B;
extern f32 gLight3Brightness; // 2 lights second color brightness
extern f32 gLight3x; // Vec3f?
extern f32 gLight3Brightness;
extern f32 gLight3x;
extern f32 gLight3y;
extern f32 gLight3z;
extern s32 gFadeoutType;
extern u32 gPlayerGlareAlphas[4]; // player alphas
extern s32 gPlayerGlareReds[4]; // player reds
extern s32 gPlayerGlareGreens[4]; // player greens
extern s32 gPlayerGlareBlues[4]; // player blues
extern u32 gPlayerGlareAlphas[4];
extern s32 gPlayerGlareReds[4];
extern s32 gPlayerGlareGreens[4];
extern s32 gPlayerGlareBlues[4];
extern s32 D_ctx_801783C0[4];
extern f32 gSunViewX; // something x translate
extern f32 gSunViewY; // something y translate
extern s32 gFogNear; //near
extern s32 gFogFar; //far
extern f32 gSunViewX;
extern f32 gSunViewY;
extern s32 gFogNear;
extern s32 gFogFar;
extern UNK_TYPE F_801783E0[12];
extern s32 gStarCount;
extern f32 gStarWarpDistortion;
@ -160,36 +160,36 @@ extern f32 D_ctx_8017849C;
extern f32 D_ctx_801784A0;
extern s32 D_ctx_801784A4;
extern UNK_TYPE F_801784A8;
extern s32 D_ctx_801784AC;
extern GroundType gGroundType;
extern UNK_TYPE F_801784B0;
extern UNK_TYPE F_801784B4;
extern f32 D_ctx_801784B8; // effective Vec3f
extern f32 D_ctx_801784BC;
extern f32 D_ctx_801784C0;
extern f32 D_ctx_801784C4; // effective Vec3f
extern f32 D_ctx_801784C8;
extern f32 D_ctx_801784CC;
extern f32 D_ctx_801784D0; // effective Vec3f
extern f32 D_ctx_801784D4;
extern f32 D_ctx_801784D8;
extern s32 gLight1x; // Vec3i light direction
extern f32 gLight1xRot;
extern f32 gLight1yRot;
extern f32 gLight1zRot;
extern f32 gLight1xRotTarget;
extern f32 gLight1yRotTarget;
extern f32 gLight1zRotTarget;
extern f32 gEnvLightxRot;
extern f32 gEnvLightyRot;
extern f32 gEnvLightzRot;
extern s32 gLight1x;
extern s32 gLight1y;
extern s32 gLight1z;
extern f32 D_ctx_801784E8;
extern f32 D_ctx_801784EC; // effective Vec3f?
extern f32 D_ctx_801784F0;
extern f32 D_ctx_801784F4;
extern f32 D_ctx_801784F8; // effective Vec3f
extern f32 D_ctx_801784FC;
extern f32 D_ctx_80178500;
extern s32 gLight2x; // Vec3i light direction alternate
extern f32 gLight1rotStep;
extern f32 gLight2xRot;
extern f32 gLight2yRot;
extern f32 gLight2zRot;
extern f32 gLight2xRotTarget;
extern f32 gLight2yRotTarget;
extern f32 gLight2zRotTarget;
extern s32 gLight2x;
extern s32 gLight2y;
extern s32 gLight2z;
extern f32 D_ctx_80178510;
extern f32 gLight2rotStep;
extern UNK_TYPE F_801784514;
extern UNK_TYPE F_801784518;
extern UNK_TYPE F_80178451C;
extern f32 D_ctx_80178520; // effective Vec3f
extern f32 D_ctx_80178520;
extern f32 D_ctx_80178524;
extern f32 D_ctx_80178528;
extern UNK_TYPE F_80178452C;
@ -197,29 +197,29 @@ extern UNK_TYPE F_801784530;
extern UNK_TYPE F_801784534;
extern f32 D_ctx_80178538;
extern f32 D_ctx_8017853C;
extern s32 D_ctx_80178540;
extern s32 gLight2colorStep;
extern s32 D_ctx_80178544;
extern s32 gLight1R; // Color32 light color 1
extern s32 gLight1R;
extern s32 gLight1G;
extern s32 gLight1B;
extern s32 gAmbientR; // Color32 ambient color
extern s32 gAmbientR;
extern s32 gAmbientG;
extern s32 gAmbientB;
extern UNK_TYPE F_801784560;
extern s32 gLight2R; // Color32 light color 2
extern s32 gLight2R;
extern s32 gLight2G;
extern s32 gLight2B;
extern s32 D_ctx_80178570; // Color32 light color 2 modifier?
extern s32 D_ctx_80178574;
extern s32 D_ctx_80178578;
extern s32 D_ctx_80161A70; // Color32?
extern s32 gLight2RTarget;
extern s32 gLight2GTarget;
extern s32 gLight2BTarget;
extern s32 D_ctx_80161A70;
extern s32 D_ctx_80161A74;
extern s32 D_ctx_80161A78;
extern s32 D_ctx_80161A7C;
extern s32 D_ctx_80161A80;
extern s32 D_ctx_80161A84;
extern s32 gGroundType;
extern s32 gSavedGroundType;
extern s32 gGroundSurface;
extern s32 gSavedGroundSurface;
extern u8 gGoldRingCount[4];
extern u8 D_ctx_80161A94[4];
extern s32 gHitCount;
@ -245,26 +245,26 @@ extern f32 gActor194zPos[2][100];
extern f32 gActor194xRot[2][100];
extern f32 gActor194yRot[2][100];
extern f32 gActor194zRot[2][100];
extern u16 gEnemyShotSpeed; // enemy shot speed?
extern u8 gShowLevelClearStatusScreen; // show level complete status overlay
extern s32 gLevelStartStatusScreenTimer; // level clear related
extern s32 gLevelClearScreenTimer; // timer for mission accomplished scrren
extern u16 gEnemyShotSpeed;
extern u8 gShowLevelClearStatusScreen;
extern s32 gLevelStartStatusScreenTimer;
extern s32 gLevelClearScreenTimer;
extern s32 gBossHealthBar;
extern s32 D_ctx_80177850; // bonus text related. set to 15 but never read
extern s32 D_ctx_80177850;
extern s32 D_ctx_80177858[4];
extern s32 gPlayerForms[4];
extern s32 gHandicap[4];
extern VsStage gVersusStage;
extern s32 D_ctx_801778A4;
extern s32 D_ctx_801778AC;
extern s32 D_ctx_801778C8;
extern s32 gVsPointsToWin;
extern s32 gVsMatchType;
extern s32 gVsTimeTrialLimit;
extern bool gVersusMode;
extern u16 gBoostButton[4];
extern u16 gBrakeButton[4];
extern u16 gShootButton[4];
extern u16 gBombButton[4];
extern f32 D_ctx_80177958[4];
extern s32 D_ctx_8017796C;
extern s32 gTeamLowHealthMsgTimer;
extern OSContPad* gInputHold;
extern OSContPad* gInputPress;
extern u8* gControllerRumble;
@ -305,10 +305,10 @@ extern s32 gStarWolfTeamAlive[6];
extern s32 gSavedStarWolfTeamAlive[6];
extern s32 gRightWingHealth[4];
extern s32 gLeftWingHealth[4];
extern s32 D_ctx_80177D40[4];
extern s32 D_ctx_80177D58[4];
extern s32 D_ctx_80177D70[4];
extern s32 D_ctx_80177D88[4];
extern s32 gRightWingFlashTimer[4];
extern s32 gLeftWingFlashTimer[4];
extern s32 gRightWingDebrisTimer[4];
extern s32 gLeftWingDebrisTimer[4];
extern s32 gBombCount[4];
extern s32 D_ctx_80177DB8[4];
extern s32 D_ctx_80177DD0[4][10];

View File

@ -46,20 +46,20 @@ void Background_DrawPartialStarfield(s32, s32);
void Background_DrawBackdrop(void);
void Background_DrawSun(void);
void Background_DrawLensFlare(void);
void func_bg_80040CDC(void);
void Background_dummy_80040CDC(void);
void Background_DrawGround(void);
void func_bg_80042D38(void);
// fox_boss
void func_boss_80042EC0(Boss* boss);
void Boss_AwardBonus(Boss* boss);
void Boss299_Init(Boss* boss);
void Boss299_Update(Boss* boss);
void Boss299_Draw(Boss* boss);
void Boss300_Init(Boss* boss);
void Boss300_Update(Boss* boss);
void Boss300_Draw(Boss* boss);
void func_boss_800430DC(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s32, s32);
void func_boss_8004319C(Player* player, f32 arg1, f32 arg2, f32 arg3);
void Boss_SpawnActor189(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s32, s32);
void Boss_CompleteLevel(Player* player, f32 xPos, f32 yPos, f32 zPos);
// fox_tank
void func_tank_80043468(Player* player);
@ -388,7 +388,7 @@ void func_hud_800869A0(f32, f32, s32, f32, s32, s32);
void func_hud_80087530(f32, f32, s32);
void func_hud_800884E4(void);
void func_hud_80088564(void);
void func_hud_8008865C(void);
void HUD_DrawStatusScreens(void);
s32 func_hud_8008AC54(s32);
void func_hud_8008AD94(void);
void func_hud_8008B5B0(f32 x, f32 y);
@ -399,14 +399,14 @@ void func_hud_8008C390(f32, f32, f32, s32);
void func_hud_8008C5C8(f32, f32, f32, s32);
void func_hud_8008C6F4(s32, s32);
s32 func_hud_8008BCBC(s32);
void func_hud_8008CA44(void);
s32 func_hud_8008CB8C(void);
void HUD_DrawEdgeArrows(void);
s32 HUD_dummy_8008CB8C(void);
void func_hud_8008D0DC(f32, f32, f32, f32, f32);
void func_hud_8008DE68(void);
void HUD_DrawBossHealth(void);
void func_hud_8008E51C(s32* , f32);
void func_hud_8008E9EC(f32, f32);
void func_hud_8008EA14(f32, f32);
void func_hud_8008FA84(void);
void HUD_Draw(void);
void func_hud_8008FE78(Boss*);
void func_hud_8008FFF0(Boss*, s32);
s32 func_hud_80090200(Boss* boss);
@ -493,8 +493,8 @@ bool func_play_800A8054(ObjectId objId, f32 arg1, f32 arg2, f32 arg3, f32 arg4,
void Scenery360_Initialize(Scenery360*);
// fox_versus
s32 func_versus_800C1E9C(void);
void func_versus_800C1ED4(void);
s32 Versus_Main(void);
void Versus_Draw(void);
void Versus_StartMatch(void);
void func_versus_800C2190(void);
void func_versus_800C26C8(void);

View File

@ -20,17 +20,17 @@ void SectorZ_LevelComplete(Player*);
void SectorZ_8019DD20(Actor*);
void OvlI4_CallFunction(u32, void*);
void Fortuna_80187960(Actor*);
void Fortuna_UpdateEvents(Actor*);
void Fortuna_8018BA2C(void);
void Bolse_UpdateEventHandler(Actor*);
void Bolse_80191ED8(void);
void Bolse_DrawDynamicGround(void);
void Katina_Boss316_Init(Boss *);
void Katina_80198594(Actor*);
void Katina_UpdateEvents(Actor*);
void Katina_80198930(void);
void SectorZ_80199900(Actor *, s32);
void SectorZ_Missile_Update(Actor*);
void SectorZ_8019AB8C(Actor*);
void SectorZ_UpdateEvents(Actor*);
void SectorZ_8019EA68(void);
void Fortuna_80188AD0(Actor*);

View File

@ -31,7 +31,7 @@ void Andross_8018BDD8(void);
void Andross_8018C390(Player*);
void Andross_Boss320_Init(Boss *);
void Andross_801961AC(void);
void Venom2_80196314(Actor*);
void Venom2_UpdateEvents(Actor*);
void Venom2_80196968(void);
void SectorY_Boss314_Init(Boss *);
void SectorY_Actor204_Update(Actor*);

View File

@ -1,13 +1,13 @@
#ifndef PREVENT_CONTEXT_REORDERING_H
#define PREVENT_CONTEXT_REORDERING_H
extern int Dummyhalf;
// extern int Dummyhalf;
// struct Dummy0 {int x;};
// struct Dummy1 {int x;};
// struct Dummy2 {int x;};
// struct Dummy3 {int x;};
// struct Dummy4 {int x;};
struct Dummy5 {int x;};
// struct Dummy5 {int x;};
struct Dummy6 {int x;};
struct Dummy7 {int x;};
struct Dummy8 {int x;};

View File

@ -185,7 +185,7 @@ void Audio_PlayBgm(u16 seqId);
// used by sys or related
void AudioLoad_Init(void);
void func_80016A50(void);
void Audio_dummy_80016A50(void);
void Audio_InitSounds(void);
void Audio_Update(void);
SPTask* AudioThread_CreateTask(void);

View File

@ -81,7 +81,7 @@
#define EVENT_CLEAR_TRIGGER(cmd) EVENT_SET_TRIGGER(EVC_NONE, cmd)
#define EVENT_LOOP(count, cmd) EVENT_CMD(EVOP_LOOP, cmd, count)
#define EVENT_GOTO(cmd) EVENT_LOOP(0, cmd)
#define EVENT_SET_GROUND(type) EVENT_CMD(EVOP_SET_GROUND, 0, type)
#define EVENT_SET_SURFACE(type) EVENT_CMD(EVOP_SET_SURFACE, 0, type)
#define EVENT_DROP_ITEM(item) EVENT_CMD(EVOP_DROP_ITEM, 0, item)
#define EVENT_ADD_TO_GROUP(num, flags) EVENT_CMD(EVOP_ADD_TO_GROUP, flags, num)
#define EVENT_SET_REVERB(reverb) EVENT_CMD(EVOP_SET_REVERB, 0, reverb)
@ -154,7 +154,7 @@ typedef enum EventOpcode {
/* 113 */ EVOP_ADD_TO_GROUP,
/* 116 */ EVOP_DROP_ITEM = 116,
/* 118 */ EVOP_SET_REVERB = 118,
/* 119 */ EVOP_SET_GROUND,
/* 119 */ EVOP_SET_SURFACE,
/* 120 */ EVOP_PLAY_MSG,
/* 121 */ EVOP_DAMAGE_TEAM,
/* 122 */ EVOP_STOP_BGM,

View File

@ -5,22 +5,22 @@
#define SAVE_SLOT_VENOM_1 14
#define SAVE_SLOT_VENOM_2 15
typedef enum {
typedef enum LevelType {
/* 0 */ LEVELTYPE_PLANET,
/* 1 */ LEVELTYPE_SPACE,
/* 2 */ LEVELTYPE_UNK2,
/* 3 */ LEVELTYPE_UNK3,
} LevelType;
typedef enum {
typedef enum MissionStatus {
/* 0 */ MISSION_COMPLETE,
/* 1 */ MISSION_ACCOMPLISHED,
/* 2 */ MISSION_WARP,
} MissionStatus;
typedef struct {
typedef struct Environment {
/* 0x00 */ s32 type;
/* 0x04 */ s32 unk_04;
/* 0x04 */ s32 unk04;
/* 0x08 */ u16 bgColor;
/* 0x0A */ u16 seqId;
/* 0x0C */ s32 fogR;
@ -28,14 +28,29 @@ typedef struct {
/* 0x14 */ s32 fogB;
/* 0x18 */ s32 fogN;
/* 0x1C */ s32 fogF;
/* 0x20 */ Vec3f unk_20;
/* 0x20 */ Vec3f lightDir;
/* 0x2C */ s32 lightR;
/* 0x30 */ s32 lightG;
/* 0x34 */ s32 lightB;
/* 0x38 */ s32 ambR;
/* 0x3C */ s32 ambG;
/* 0x40 */ s32 ambB;
} EnvSettings; // size = 0x44
} Environment; // size = 0x44
typedef enum GroundType {
/* 0 */ GROUND_0,
/* 1 */ GROUND_1,
/* 2 */ GROUND_2,
/* 3 */ GROUND_3,
/* 4 */ GROUND_4,
/* 5 */ GROUND_5,
/* 6 */ GROUND_6,
/* 7 */ GROUND_7,
/* 10 */ GROUND_10 = 10,
/* 11 */ GROUND_11,
/* 12 */ GROUND_12,
/* 13 */ GROUND_13,
} GroundType;
typedef enum SceneId {
/* 0 */ SCENE_TITLE,
@ -58,11 +73,11 @@ typedef enum SceneId {
/* 17 */ SCENE_TRAINING,
/* 18 */ SCENE_VENOM_1,
/* 19 */ SCENE_KATINA,
/* 10 */ SCENE_20,
/* 11 */ SCENE_MACBETH,
/* 12 */ SCENE_BOLSE,
/* 13 */ SCENE_SECTOR_Z,
/* 14 */ SCENE_VENOM_2,
/* 20 */ SCENE_20,
/* 21 */ SCENE_MACBETH,
/* 22 */ SCENE_BOLSE,
/* 23 */ SCENE_SECTOR_Z,
/* 24 */ SCENE_VENOM_2,
/* 50 */ SCENE_VERSUS = 50,
/* 99 */ SCENE_LOGO = 99,
} SceneId;
@ -119,10 +134,10 @@ typedef enum VsStage {
/* 2 */ VS_STAGE_SECTOR_Z,
} VsStage;
typedef enum GroundType {
/* 0 */ GROUNDTYPE_GRASS,
/* 1 */ GROUNDTYPE_ROCK,
/* 2 */ GROUNDTYPE_WATER,
} GroundType;
typedef enum GroundSurface {
/* 0 */ SURFACE_GRASS,
/* 1 */ SURFACE_ROCK,
/* 2 */ SURFACE_WATER,
} GroundSurface;
#endif

View File

@ -102,7 +102,7 @@ typedef enum RadioCharacterId {
void Radio_PlayMessage(u16*, enum RadioCharacterId);
void func_radio_800BB388(void);
void func_radio_800BB5D0(void);
void Radio_Draw(void);
typedef enum {
MSGCHAR_END,

View File

@ -186,7 +186,7 @@ typedef struct Player {
/* 0x0BC */ f32 unk_0BC;
/* 0x0C0 */ Vec3f vel;
/* 0x0CC */ f32 unk_0CC;
/* 0x0D0 */ f32 unk_0D0;
/* 0x0D0 */ f32 baseSpeed;
/* 0x0D4 */ f32 unk_0D4;
/* 0x0D8 */ Vec3f unk_0D8;
/* 0x0E4 */ f32 unk_0E4;
@ -200,7 +200,7 @@ typedef struct Player {
/* 0x104 */ f32 unk_104;
/* 0x108 */ f32 unk_108;
/* 0x10C */ f32 unk_10C;
/* 0x110 */ f32 unk_110;
/* 0x110 */ f32 boostSpeed;
/* 0x114 */ f32 unk_114;
/* 0x118 */ f32 unk_118;
/* 0x11C */ f32 unk_11C;

View File

@ -74,7 +74,7 @@ extern Gfx D_edisplay_800CFD80[];
// fox_enmy
extern ObjectInit* gLevelObjectInits[];
extern u32 D_enmy_800CFF54[9];
extern u32 gWarpRingSfx[9];
// fox_enmy2
extern s32 gTeamEventActorIndex[4];
@ -92,7 +92,7 @@ extern u8 gVenomHardClear;
extern u8 gLeveLClearStatus[30];
// fox_radio
extern s32 gCurrentMsgPri;
extern s32 gRadioMsgPri;
// fox_360
extern s32 gAllRangeSupplyTimer;
@ -164,26 +164,26 @@ extern s32 gShowBossHealth; // 0x80161734
// fox_play
extern u8 gSavedZoSearchlightStatus;
extern f32 D_play_80161A54;
extern f32 gArwingSpeed;
extern s32 D_play_80161A58;
extern s32 D_play_80161A5C;
extern u16 gScreenFlashTimer;
extern u16 gDropHitCountItem;
//fox_radio
extern u16** D_radio_80178720;
extern s32 D_radio_80178724;
extern s32 D_radio_80178728;
extern s32 D_radio_8017872C;
extern f32 D_radio_80178730;
extern f32 D_radio_80178734;
extern f32 D_radio_80178738;
extern f32 D_radio_8017873C;
extern f32 D_radio_80178740;
extern u16** gRadioMsgList;
extern s32 gRadioMsgListIndex;
extern s32 gRadioPrintPosX;
extern s32 gRadioPrintPosY;
extern f32 gRadioTextBoxPosX;
extern f32 gRadioTextBoxPosY;
extern f32 gRadioTextBoxScaleX;
extern f32 gRadioPortraitPosX;
extern f32 gRadioPortraitPosY;
// fox_versus
extern s32 D_versus_80178750;
extern s32 D_versus_80178754;
extern s32 gVsMatchState;
extern s32 D_versus_80178758;
extern s32 sUnlockLandmaster; // sUnlockLandmaster
extern s32 sUnlockOnFoot; // sUnlockOnFoot

View File

@ -401,7 +401,7 @@ func_800168BC = 0x800168BC;
func_80016A50 = 0x80016A50;
Audio_dummy_80016A50 = 0x80016A50;
Audio_GetSfxFalloff = 0x80016A58;
Audio_GetSfxReverb = 0x80016BC0;
Audio_GetSfxPan = 0x80016CDC;

View File

@ -111,15 +111,15 @@ RCP_SetupDL_50 = 0x800BA610;
RCP_SetupDL_61 = 0x800BA640;
// fox_radio
D_radio_80178720 = 0x80178720;
D_radio_80178724 = 0x80178724;
D_radio_80178728 = 0x80178728;
D_radio_8017872C = 0x8017872C;
D_radio_80178730 = 0x80178730;
D_radio_80178734 = 0x80178734;
D_radio_80178738 = 0x80178738;
D_radio_8017873C = 0x8017873C;
D_radio_80178740 = 0x80178740;
gRadioMsgList = 0x80178720;
gRadioMsgListIndex = 0x80178724;
gRadioPrintPosX = 0x80178728;
gRadioPrintPosY = 0x8017872C;
gRadioTextBoxPosX = 0x80178730;
gRadioTextBoxPosY = 0x80178734;
gRadioTextBoxScaleX = 0x80178738;
gRadioPortraitPosX = 0x8017873C;
gRadioPortraitPosY = 0x80178740;
sRadioUseRedBox = 0x80178744;
D_radio_80178748 = 0x80178748;
@ -127,14 +127,14 @@ D_radio_80178748 = 0x80178748;
sUnlockLandmaster = 0x8017875C;
sUnlockOnFoot = 0x80178760;
gCurrentMsgPri = 0x800D4A70;
gRadioMsgPri = 0x800D4A70;
func_radio_800BA760 = 0x800BA760;
func_radio_800BA7BC = 0x800BA7BC;
Radio_PlayMessage = 0x800BA808;
func_radio_800BAAE8 = 0x800BAAE8;
func_radio_800BB388 = 0x800BB388;
func_radio_800BB5D0 = 0x800BB5D0;
Radio_Draw = 0x800BB5D0;
// fox_message
gTextCharTextures = 0x80179010;
@ -156,8 +156,8 @@ sSunShifts = 0x800C9CC4;
sKaSunShifts = 0x800C9CF8;
// fox_boss
func_boss_8004319C = 0x8004319C;
func_boss_80042EC0 = 0x80042EC0;
Boss_CompleteLevel = 0x8004319C;
Boss_AwardBonus = 0x80042EC0;
gBossFrameCount = 0x801613A0;
// fox_save
@ -276,7 +276,7 @@ func_enmy_80061E48 = 0x80061E48;
ActorEvent_Load = 0x80061F0C;
Object_Load = 0x80062180;
func_enmy_80062568 = 0x80062568;
Object_LoadFromInit = 0x80062664;
Object_LoadLevelObjects = 0x80062664;
func_enmy_80062B60 = 0x80062B60;
func_enmy_80062C38 = 0x80062C38;
func_enmy_80062D04 = 0x80062D04;
@ -398,12 +398,12 @@ D_800D1AEC = 0x800D1AEC; //type:s32 size:0x1B0
// fox_play
gSavedZoSearchlightStatus = 0x80161A50;
D_play_80161A54 = 0x80161A54;
gArwingSpeed = 0x80161A54;
D_play_80161A5C = 0x80161A5C;
gScreenFlashTimer = 0x80161A60;
gDropHitCountItem = 0x80161A62;
D_play_80161A64 = 0x80161A64;
sEnvSettings = 0x80161A68;
sEnvironment = 0x80161A68;
gVenomHardClear = 0x800D2F68; //type:u8
// fox_context
@ -413,8 +413,8 @@ D_ctx_80161A78 = 0x80161A78;
D_ctx_80161A7C = 0x80161A7C;
D_ctx_80161A80 = 0x80161A80;
D_ctx_80161A84 = 0x80161A84;
gGroundType = 0x80161A88;
gSavedGroundType = 0x80161A8C;
gGroundSurface = 0x80161A88;
gSavedGroundSurface = 0x80161A8C;
gGoldRingCount = 0x80161A90;
gHitCount = 0x80161A98;
gSavedHitCount = 0x80161A9C;
@ -460,12 +460,12 @@ gHandicap = 0x80177888;
gDrawMode = 0x80177898;
gVersusStage = 0x8017789C;
gPlayerNum = 0x801778A0;
D_ctx_801778A4 = 0x801778A4;
gVsPointsToWin = 0x801778A4;
gCamCount = 0x801778A8;
D_801778AB = 0x801778AB;
D_ctx_801778AC = 0x801778AC;
gVsMatchType = 0x801778AC;
gTeamShields = 0x801778B0; //size:0x18
D_ctx_801778C8 = 0x801778C8;
gVsTimeTrialLimit = 0x801778C8;
gSavedTeamShields = 0x801778D0; //size:0x18
gVersusMode = 0x801778E8;
gPrevPlanetSavedTeamShields = 0x801778F0;//size=0x18
@ -505,11 +505,11 @@ D_ctx_80177AB0 = 0x80177AB0;
gShieldAlpha = 0x80177AB8;
gAqDrawMode = 0x80177AC8;
gHasShield = 0x80177AD0;
D_ctx_80177AE0 = 0x80177AE0;
gTitleState = 0x80177AE0;
gShieldTimer = 0x80177AE8;
gMainController = 0x80177AF8;
gVsLockOnTimers = 0x80177B00;
D_ctx_80177B40 = 0x80177B40;
gMapState = 0x80177B40;
gStartAndrossFightTimer = 0x80177B44;
gMissionNumber = 0x80177B48;
gMissionTeamStatus = 0x80177B50;
@ -527,7 +527,7 @@ gBgmSeqId = 0x80177C90;
D_ctx_80177C94 = 0x80177C94;
gLevelType = 0x80177C98;
D_ctx_80177C9C = 0x80177C9C;
D_ctx_80177CA0 = 0x80177CA0;
gSavedObjectLoadIndex = 0x80177CA0;
D_ctx_80177CA4 = 0x80177CA4;
D_ctx_80177CAC = 0x80177CAC;
D_ctx_80177CB0 = 0x80177CB0;
@ -540,16 +540,16 @@ D_ctx_80177D08 = 0x80177D08;
gRightWingHealth = 0x80177D10;
D_ctx_80177D20 = 0x80177D20;
gLeftWingHealth = 0x80177D28;
D_ctx_80177D38 = 0x80177D38;
D_ctx_80177D40 = 0x80177D40;
D_ctx_80177D50 = 0x80177D50;
D_ctx_80177D58 = 0x80177D58;
D_ctx_80177D68 = 0x80177D68;
D_ctx_80177D70 = 0x80177D70;
D_ctx_80177D88 = 0x80177D88;
gRadioPortraitScaleY = 0x80177D38;
gRightWingFlashTimer = 0x80177D40;
gRadioTextBoxScaleY = 0x80177D50;
gLeftWingFlashTimer = 0x80177D58;
gRadioMsgRadioId = 0x80177D68;
gRightWingDebrisTimer = 0x80177D70;
gLeftWingDebrisTimer = 0x80177D88;
gBombCount = 0x80177DA0;
gGameFrameCount = 0x80177DB0;
D_ctx_80177DC8 = 0x80177DC8;
gObjectLoadIndex = 0x80177DC8;
gPrevEventActorIndex = 0x80177E70;
D_ctx_80177E78 = 0x80177E78;
gRingPassCount = 0x80177E80;
@ -571,21 +571,21 @@ gStarOffsetsY = 0x80178290;
D_ctx_80178294 = 0x80178294;
gStarFillColors = 0x80178298;
gRadioState = 0x8017829C;
D_ctx_801782A4 = 0x801782A4;
gCurrentRadioPortrait = 0x801782A4;
gScenery360 = 0x801782A8;
D_Timer_801782AC = 0x801782AC;
D_Timer_801782B4 = 0x801782B4;
gRadioStateTimer = 0x801782AC;
gRadioMouthTimer = 0x801782B4;
D_ctx_801782B8 = 0x801782B8;
D_ctx_801782BC = 0x801782BC;
D_ctx_801782C0 = 0x801782C0;
D_ctx_801782D0 = 0x801782D0;
D_ctx_801782D4 = 0x801782D4;
D_ctx_801782D8 = 0x801782D8;
D_ctx_801782E8 = 0x801782E8;
D_ctx_801782F8 = 0x801782F8;
gRadioMsgCharIndex = 0x801782D8;
gRadioMsgId = 0x801782E8;
gMsgCharIsPrinting = 0x801782F8;
D_ctx_801782FC = 0x801782FC;
D_ctx_80178300 = 0x80178300;
D_ctx_80178308 = 0x80178308;
gHideRadio = 0x80178300;
gRadioMsg = 0x80178308;
gLevelObjects = 0x80178310;
gFogRed = 0x80178320;
gFogGreen = 0x80178328;
@ -623,26 +623,26 @@ gCameraShakeY = 0x8017847C;
gCameraShake = 0x80178480;
gLoadLevelObjects = 0x80178488;
D_ctx_801784A4 = 0x801784A4;
D_ctx_801784AC = 0x801784AC;
D_ctx_801784B8 = 0x801784B8;
D_ctx_801784BC = 0x801784BC;
D_ctx_801784C0 = 0x801784C0;
D_ctx_801784C4 = 0x801784C4;
D_ctx_801784C8 = 0x801784C8;
D_ctx_801784CC = 0x801784CC;
D_ctx_801784D0 = 0x801784D0;
D_ctx_801784D4 = 0x801784D4;
D_ctx_801784D8 = 0x801784D8;
gGroundType = 0x801784AC;
gLight1xRot = 0x801784B8;
gLight1yRot = 0x801784BC;
gLight1zRot = 0x801784C0;
gLight1xRotTarget = 0x801784C4;
gLight1yRotTarget = 0x801784C8;
gLight1zRotTarget = 0x801784CC;
gEnvLightxRot = 0x801784D0;
gEnvLightyRot = 0x801784D4;
gEnvLightzRot = 0x801784D8;
gLight1x = 0x801784DC;
gLight1y = 0x801784E0;
gLight1z = 0x801784E4;
D_ctx_801784E8 = 0x801784E8;
D_ctx_801784EC = 0x801784EC;
D_ctx_801784F0 = 0x801784F0;
D_ctx_801784F4 = 0x801784F4;
D_ctx_801784F8 = 0x801784F8;
D_ctx_801784FC = 0x801784FC;
D_ctx_80178500 = 0x80178500;
gLight1rotStep = 0x801784E8;
gLight2xRot = 0x801784EC;
gLight2yRot = 0x801784F0;
gLight2zRot = 0x801784F4;
gLight2xRotTarget = 0x801784F8;
gLight2yRotTarget = 0x801784FC;
gLight2zRotTarget = 0x80178500;
gLight2x = 0x80178504;
gLight2y = 0x80178508;
gLight2z = 0x8017850C;
@ -651,7 +651,7 @@ D_ctx_80178524 = 0x80178524;
D_ctx_80178528 = 0x80178528;
D_ctx_80178538 = 0x80178538;
D_ctx_8017853C = 0x8017853C;
D_ctx_80178540 = 0x80178540;
gLight2colorStep = 0x80178540;
D_ctx_80178544 = 0x80178544;
gLight1R = 0x80178548;
gLight1G = 0x8017854C;
@ -662,9 +662,9 @@ gAmbientB = 0x8017855C;
gLight2R = 0x80178564;
gLight2G = 0x80178568;
gLight2B = 0x8017856C;
D_ctx_80178570 = 0x80178570;
D_ctx_80178574 = 0x80178574;
D_ctx_80178578 = 0x80178578;
gLight2RTarget = 0x80178570;
gLight2GTarget = 0x80178574;
gLight2BTarget = 0x80178578;
Play_GetMaxShields = 0x800A3FC4;
func_play_800A3FB0 = 0x800A3FB0;
@ -771,4 +771,4 @@ D_tank_800C9F2C = 0x800C9F2C;
gNoHitbox = 0x800CBF34;
D_bg_8015F970 = 0x8015F970;
D_bg_8015F984 = 0x8015F984;
D_ctx_8017796C = 0x8017796C;
gTeamLowHealthMsgTimer = 0x8017796C;

View File

@ -154,7 +154,7 @@ D_i3_801C2740 = 0x801C2740; //segment:ovl_i3 size:0x28
D_i3_801C2768 = 0x801C2768; //segment:ovl_i3 size:0x38
D_i3_801C27A0 = 0x801C27A0; //segment:ovl_i3 size:0x20
Katina_80198594 = 0x80198594;//segment:ovl_i4
Katina_UpdateEvents = 0x80198594;//segment:ovl_i4
Katina_Boss316_Init = 0x80193CA4;//segment:ovl_i4
SectorZ_Missile_Update = 0x80199C60;//segment:ovl_i4
SectorZ_80199900 = 0x80199900;//segment:ovl_i4

View File

@ -1,38 +1,39 @@
0x09000000
0x09400000
0x09001001
0x09000002
0x09004002
0x09000003
0x09000004
0x0903F004
0x0100F005
0x0100F006
0x09000007
0x01008008
0x0901A009
0x0903A00A
0x0901A00B
0x0940A00B
0x0940800C
0x0903900E
0x0903A00F
0x0900C010
0x09007011
0x09000012
0x09000013
0x09002013
0x09000014
0x09008015
0x01008016
0x09000017
0x09000000 turret fire
0x09400000 single laser
0x09001001 bomb flight
0x09000002 boost
0x09004002 boost variant used by boss titania
0x09000003 brake
0x09000004 sector X boss hitting slippy
0x0903F004 player death
0x0100F005 arwing engine noise
0x0100F006 landmaster engine noise
0x09000007 wings changing position
0x01008008 iniial bomb flight. only plays for 1 frame
0x0901A009 unused? bomb explosion
0x0903A00A bomb explosion
0x0901A00B unused? bomb explosion
0x0940A00B corneria start explosion and save delete
0x0940800C twin laser
0x0?????0D some sort of explosion
0x0903900E weak hit
0x0903A00F strong hit
0x0900C010 fatal hit
0x09007011 deflect laser
0x09000012 arwing barrel roll
0x09000013 wings stop moving
0x09002013 arwing launchers/boss sector y spawn stop moving
0x09000014 landmaster/on foot shot
0x09008015 landmaster falls on ground
0x01008016 landmaster hover
0x09000017 blue marine barrel roll
0x0140001C
0x0100001D
0x0100001E
0x0100001F
0x0100F020
0x09400021
0x0100F022
0x0100F022 blue marine engine noise
0x09008023
0x01004024
0x01000025
@ -42,7 +43,7 @@
0x09007029
0x0900802A
0x0940802A
0x0940802B
0x0940802B hyper laser
0x0900A02C
0x0900302D
0x0903502E

View File

@ -516,7 +516,7 @@ u8 sSetNextVoiceId = 0;
u8 sUnkVoiceParam = 0;
u8 sMuteBgmForVoice = 0;
void func_80016A50(void) {
void Audio_dummy_80016A50(void) {
}
f32 Audio_GetSfxFalloff(u8 bankId, u8 entryIndex) {
@ -2155,12 +2155,12 @@ void Audio_UpdateLandmasterNoise(u8 playerId) {
} else {
freqMod += 1.0f;
}
if (gPlayer[playerId].unk_0D0 > 25.0f) {
if (gPlayer[playerId].baseSpeed > 25.0f) {
freqMod += 0.5f;
} else if (gPlayer[playerId].unk_0D0 < 5.0f) {
} else if (gPlayer[playerId].baseSpeed < 5.0f) {
freqMod -= 0.5f;
} else {
freqMod += (gPlayer[playerId].unk_0D0 - 15.0f) * 0.05f;
freqMod += (gPlayer[playerId].baseSpeed - 15.0f) * 0.05f;
}
if (freqMod > 2.0f) {
freqMod = 2.0f;

View File

@ -172,7 +172,7 @@ void AllRange_GreatFoxRepair(Player* player) {
case 0:
player->unk_1F4 = player->timer_498 = player->damage = player->unk_280 = player->boostMeter =
player->boostCooldown = player->somersault = gCsFrameCount = 0;
player->unk_130 = player->camRoll = player->unk_110 = player->unk_08C = player->unk_0D8.x =
player->unk_130 = player->camRoll = player->boostSpeed = player->unk_08C = player->unk_0D8.x =
player->unk_0D8.y = player->unk_0D8.z = player->unk_134 = player->unk_4D8 = 0.0f;
gCsCamEyeX = 1673.0f;
gCsCamEyeY = 337.0f;
@ -183,7 +183,7 @@ void AllRange_GreatFoxRepair(Player* player) {
}
player->unk_0E8 = 0.0f;
player->pos.x = 2100.0f;
player->unk_0D0 = 30.0f;
player->baseSpeed = 30.0f;
player->unk_0E4 = -8.0f;
player->unk_114 = 90.0f;
gCsCamAtX = 2100.0f;
@ -203,7 +203,7 @@ void AllRange_GreatFoxRepair(Player* player) {
}
if (gCsFrameCount >= 64) {
player->unk_1D0++;
player->unk_0D0 = 0.0f;
player->baseSpeed = 0.0f;
}
break;
case 2:
@ -234,7 +234,7 @@ void AllRange_GreatFoxRepair(Player* player) {
if (gFillScreenAlpha == 0) {
player->unk_190 = player->unk_194 = 5.0f;
player->unk_114 = 90.0f;
player->unk_0D0 = D_play_80161A54;
player->baseSpeed = gArwingSpeed;
player->unk_1D0++;
AUDIO_PLAY_SFX(0x09000002, player->sfxSource, 0);
@ -263,7 +263,7 @@ void AllRange_GreatFoxRepair(Player* player) {
Matrix_RotateX(gCalcMatrix, -(player->unk_0E4 * M_DTOR), MTXF_APPLY);
sp6C.x = 0.0f;
sp6C.y = 0.0f;
sp6C.z = player->unk_0D0;
sp6C.z = player->baseSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp6C, &sp60);
player->vel.x = sp60.x;
player->vel.z = sp60.z;
@ -461,8 +461,7 @@ void ActorAllRange_SpawnStarWolf(void) {
}
void ActorAllRange_PlayMessage(u16* msg, RadioCharacterId character) {
if ((D_ctx_80178300 == 0) && (gActors[0].state == STATE360_2) &&
(gPlayer[0].state_1C8 != PLAYERSTATE_1C8_STANDBY)) {
if ((gHideRadio == 0) && (gActors[0].state == STATE360_2) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_STANDBY)) {
Radio_PlayMessage(msg, character);
}
}
@ -696,19 +695,19 @@ void ActorAllRange_UpdateEvents(Actor* this) {
gAllRangeEventTimer++;
switch (gCurrentLevel) {
case LEVEL_FORTUNA:
Fortuna_80187960(this);
Fortuna_UpdateEvents(this);
break;
case LEVEL_KATINA:
Katina_80198594(this);
Katina_UpdateEvents(this);
break;
case LEVEL_BOLSE:
Bolse_UpdateEventHandler(this);
break;
case LEVEL_SECTOR_Z:
SectorZ_8019AB8C(this);
SectorZ_UpdateEvents(this);
break;
case LEVEL_VENOM_2:
Venom2_80196314(this);
Venom2_UpdateEvents(this);
break;
}
ActorAllRange_SpawnSupplies(this);
@ -1491,11 +1490,11 @@ void ActorAllRange_Update(Actor* this) {
this->fwork[4] = gPlayer[0].pos.x + spCC;
this->fwork[5] = gPlayer[0].pos.y + spC8;
this->fwork[6] = gPlayer[0].unk_138 + spC4;
this->fwork[1] = gPlayer[0].unk_0D0 + 10.0f;
this->fwork[1] = gPlayer[0].baseSpeed + 10.0f;
}
if ((gActors[0].state == STATE360_6) && (this->aiType <= AI360_PEPPY)) {
this->fwork[3] = 3.0f;
this->fwork[1] = gPlayer[0].unk_0D0 - 5.0f;
this->fwork[1] = gPlayer[0].baseSpeed - 5.0f;
this->iwork[11] = 2;
} else if ((gCurrentLevel == LEVEL_VENOM_2) && (this->aiType >= AI360_WOLF)) {
this->fwork[3] = 1.6f;
@ -1545,7 +1544,7 @@ void ActorAllRange_Update(Actor* this) {
if (this->aiIndex != AI360_FOX) {
this->fwork[1] = gActors[this->aiIndex].fwork[0] - 5.0f;
} else {
this->fwork[1] = gPlayer[0].unk_0D0 - 5.0f;
this->fwork[1] = gPlayer[0].baseSpeed - 5.0f;
if ((gCurrentLevel == LEVEL_VENOM_2) &&
(gPlayer[0].state_1C8 == PLAYERSTATE_1C8_U_TURN) && (gPlayer[0].unk_4D8 > 100.0f)) {
this->iwork[16] = STATE360_8;

View File

@ -38,70 +38,70 @@ CollisionHeader D_800D2B38[10] = {
{
{ -1128.0f, -1835.0f, -1202.0f },
{ 997.0f, 139.0f, 1360.0f },
79,
ARRAY_COUNT(D_ME_602FA9C),
D_ME_602FA9C,
D_ME_60300C8,
},
{
{ -3006.0f, -2274.0f, -4530.0f },
{ 3015.0f, 3348.0f, 5246.0f },
236,
ARRAY_COUNT(D_ME_60305DC),
D_ME_60305DC,
D_ME_603184C,
},
{
{ -152.0f, -200.0f, -152.0f },
{ 165.0f, 204.0f, 181.0f },
42,
ARRAY_COUNT(D_ME_6030208),
D_ME_6030208,
D_ME_6030550,
},
{
{ -1704.0f, -1006.0f, -4751.0f },
{ 1704.0f, 1030.0f, 4842.0f },
174,
ARRAY_COUNT(D_SY_6033070),
D_SY_6033070,
D_SY_6033E08,
},
{
{ -1308.0f, 0.0f, -1460.0f },
{ 1310.0f, 666.0f, 807.0f },
93,
ARRAY_COUNT(D_FO_600F60C),
D_FO_600F60C,
D_FO_600FD50,
},
{
{ -951.0f, 0.0f, -1075.0f },
{ 1075.0f, 1014.0f, 1075.0f },
22,
ARRAY_COUNT(D_FO_600F3F4),
D_FO_600F3F4,
D_FO_600F5AC,
},
{
{ -951.0f, 0.0f, -1075.0f },
{ 1075.0f, 384.0f, 1075.0f },
22,
ARRAY_COUNT(D_FO_600F1DC),
D_FO_600F1DC,
D_FO_600F394,
},
{
{ -1554.0f, -2.0f, -1401.0f },
{ 1554.0f, 590.0f, 1401.0f },
262,
ARRAY_COUNT(D_BO_6010294),
D_BO_6010294,
D_BO_601170C,
},
{
{ -1386.0f, -696.0f, -2274.0f },
{ 1386.0f, 1033.0f, 1833.0f },
316,
ARRAY_COUNT(D_SZ_6007558),
D_SZ_6007558,
D_SZ_6008E08,
},
{
{ -671.0f, 0.0f, -671.0f },
{ 671.0f, 648.0f, 671.0f },
250,
ARRAY_COUNT(D_VE2_6014FEC),
D_VE2_6014FEC,
D_VE2_6016374,
},
@ -118,14 +118,14 @@ CollisionHeader2 D_800D2CA0[19] = {
{
{ -1220.0f, 0.0f, -1315.0f },
{ 1403.0f, 174.0f, 1308.0f },
13,
ARRAY_COUNT(D_CO_603F338),
D_CO_603F338,
D_CO_603F388,
},
{
{ -1311.0f, 0.0f, -1120.0f },
{ 1266.0f, 1465.0f, 1266.0f },
36,
ARRAY_COUNT(D_CO_603F40C),
D_CO_603F40C,
D_CO_603F4E4,
},
@ -139,105 +139,105 @@ CollisionHeader2 D_800D2CA0[19] = {
{
{ -498.0f, -10.0f, -498.0f },
{ 498.0f, 705.0f, 498.0f },
4,
ARRAY_COUNT(D_versus_302EEE8),
D_versus_302EEE8,
D_versus_302EF00,
},
{
{ -1494.0f, -30.0f, -1494.0f },
{ 1494.0f, 2115.0f, 1494.0f },
4,
ARRAY_COUNT(D_versus_302EF6C),
D_versus_302EF6C,
D_versus_302EF84,
},
{
{ -623.0f, -10.0f, -623.0f },
{ 623.0f, 200.0f, 623.0f },
4,
ARRAY_COUNT(D_versus_302EFF0),
D_versus_302EFF0,
D_versus_302F008,
},
{
{ -488.0f, 0.0f, -568.0f },
{ 488.0f, 148.0f, 567.0f },
30,
ARRAY_COUNT(D_ZO_602CACC),
D_ZO_602CACC,
D_ZO_602CB80,
},
{
{ -900.0f, -110.0f, -1900.0f },
{ 900.0f, 190.0f, 100.0f },
2,
ARRAY_COUNT(D_MA_6030E74),
D_MA_6030E74,
D_MA_6030E80,
},
{
{ -900.0f, -100.0f, -1000.0f },
{ 900.0f, 250.0f, 100.0f },
2,
ARRAY_COUNT(D_MA_6030EB0),
D_MA_6030EB0,
D_MA_6030EBC,
},
{
{ -900.0f, -190.0f, -1900.0f },
{ 900.0f, 100.0f, 100.0f },
2,
ARRAY_COUNT(D_MA_6030EEC),
D_MA_6030EEC,
D_MA_6030EF8,
},
{
{ -500.0f, -250.0f, -1010.0f },
{ 500.0f, 100.0f, 100.0f },
2,
ARRAY_COUNT(D_MA_6030F28),
D_MA_6030F28,
D_MA_6030F34,
},
{
{ -1200.0f, 0.0f, -1800.0f },
{ 0.0f, 900.0f, 1500.0f },
4,
ARRAY_COUNT(D_MA_6030F64),
D_MA_6030F64,
D_MA_6030F7C,
},
{
{ -400.0f, 0.0f, -900.0f },
{ 400.0f, 0.0f, 0.0f },
2,
ARRAY_COUNT(D_MA_6030FC4),
D_MA_6030FC4,
D_MA_6030FD0,
},
{
{ -74.0f, 0.0f, -84.0f },
{ 74.0f, 125.0f, 84.0f },
30,
ARRAY_COUNT(D_AQ_60320B8),
D_AQ_60320B8,
D_AQ_603216C,
},
{
{ -1200.0f, 0.0f, -1315.0f },
{ 1403.0f, 200.0f, 1308.0f },
8,
ARRAY_COUNT(D_AQ_6031FB0),
D_AQ_6031FB0,
D_AQ_6031FE0,
},
{
{ -600.0f, 0.0f, -657.0f },
{ 701.0f, 100.0f, 654.0f },
8,
ARRAY_COUNT(D_AQ_6031FB0),
D_AQ_6031FB0,
D_AQ_603204C,
},
{
{ -2965.0f, -16.0f, -2965.0f },
{ 2965.0f, 544.0f, 2965.0f },
14,
ARRAY_COUNT(D_versus_302F044),
D_versus_302F044,
D_versus_302F098,
},
{
{ -814.0f, 0.0f, -691.0f },
{ 814.0f, 752.0f, 691.0f },
28,
ARRAY_COUNT(D_AQ_6032388),
D_AQ_6032388,
D_AQ_6032430,
},

View File

@ -60,7 +60,7 @@ void func_beam_80035E78(PlayerShot* shot) {
gScreenFlashTimer = 4;
if (shot->obj.pos.y < (gGroundHeight + 450.0f)) {
gCameraShake = 15;
if (gGroundType == GROUNDTYPE_WATER) {
if (gGroundSurface == SURFACE_WATER) {
func_effect_8007D9DC(shot->obj.pos.x, gGroundHeight + 2.0f, shot->obj.pos.z, shot->unk_48 * 0.1f,
shot->unk_48 * 3.0f, 0);
func_effect_8007D9DC(shot->obj.pos.x, gGroundHeight + 2.0f, shot->obj.pos.z, shot->unk_48 * 0.1f,
@ -184,7 +184,7 @@ void func_beam_800365E4(f32 xPos, f32 yPos, f32 zPos, f32 arg3, f32 arg4, f32 ar
s32 unk44, s32 time) {
s32 i;
if ((D_ctx_801784AC != 4) && (gLevelType == LEVELTYPE_PLANET) && (gGroundType != GROUNDTYPE_WATER) &&
if ((gGroundType != 4) && (gLevelType == LEVELTYPE_PLANET) && (gGroundSurface != SURFACE_WATER) &&
(gCurrentLevel != LEVEL_SOLAR) && (gCurrentLevel != LEVEL_BOLSE) && (gCurrentLevel != LEVEL_TRAINING) &&
(gCurrentLevel != LEVEL_ZONESS)) {
for (i = 0; i < 50; i++) {
@ -213,7 +213,7 @@ void func_beam_800366CC(Effect* effect, f32 xPos, f32 yPos, f32 zPos, f32 yRot,
void func_beam_80036770(f32 xPos, f32 yPos, f32 zPos, f32 yRot, f32 scale) {
s32 i;
if ((D_ctx_801784AC != 4) && (gLevelType == LEVELTYPE_PLANET) && (gGroundType <= GROUNDTYPE_GRASS) &&
if ((gGroundType != 4) && (gLevelType == LEVELTYPE_PLANET) && (gGroundSurface <= SURFACE_GRASS) &&
(gCurrentLevel != LEVEL_TRAINING) && (gCurrentLevel != LEVEL_SOLAR) && (gCurrentLevel != LEVEL_ZONESS)) {
for (i = 0; i < 50; i++) {
if (gEffects[i].obj.status == OBJ_FREE) {
@ -885,7 +885,7 @@ void func_beam_80038140(PlayerShot* shot) {
}
}
}
if ((D_ctx_801784AC == 4) && Ground_801B6AEC(shot->obj.pos.x, shot->obj.pos.y, shot->obj.pos.z + D_ctx_80177D20)) {
if ((gGroundType == 4) && Ground_801B6AEC(shot->obj.pos.x, shot->obj.pos.y, shot->obj.pos.z + D_ctx_80177D20)) {
func_beam_80036318(shot);
if (shot->obj.id != PLAYERSHOT_4) {
func_effect_8007A900(shot->obj.pos.x, shot->obj.pos.y, shot->obj.pos.z, 2.0f, 255, 15, 0);
@ -1515,11 +1515,11 @@ void func_beam_8003B00C(PlayerShot* shot, Player* player) {
Matrix_Translate(gCalcMatrix, player->unk_084, player->unk_080, 0.0f, MTXF_APPLY);
sp5C.x = 0.0f;
sp5C.y = 0.0f;
sp5C.z = player->unk_0D0 + 200.0f;
sp5C.z = player->baseSpeed + 200.0f;
Matrix_MultVec3f(gCalcMatrix, &sp5C, &sp50);
shot->vel.x = sp50.x;
shot->vel.y = sp50.y;
shot->vel.z = sp50.z - player->unk_110;
shot->vel.z = sp50.z - player->boostSpeed;
sp5C.x = shot->unk_54;
sp5C.y = -15.0f;
sp5C.z = 0.0f;
@ -1600,11 +1600,11 @@ void func_beam_8003B55C(PlayerShot* shot, s32 index) {
Vec3f sp44;
Vec3f sp38;
if ((gGroundType == GROUNDTYPE_WATER) && (shot->obj.pos.y < (gGroundHeight + 50.0f)) && (index == 0)) {
if ((gGroundSurface == SURFACE_WATER) && (shot->obj.pos.y < (gGroundHeight + 50.0f)) && (index == 0)) {
func_effect_8007ACE0(shot->obj.pos.x, gGroundHeight, shot->obj.pos.z, 0.1f, 1.5f, shot->obj.rot.y + 20.0f);
func_effect_8007ACE0(shot->obj.pos.x, gGroundHeight, shot->obj.pos.z, 0.1f, 1.5f, shot->obj.rot.y - 20.0f);
}
if ((shot->obj.pos.y < gGroundHeight) && (D_ctx_801784AC != 4)) {
if ((shot->obj.pos.y < gGroundHeight) && (gGroundType != 4)) {
func_beam_80036318(shot);
shot->obj.pos.y = gGroundHeight + 2;
if (gCurrentLevel == LEVEL_BOLSE) {
@ -1629,7 +1629,7 @@ void func_beam_8003B55C(PlayerShot* shot, s32 index) {
func_beam_80036770(shot->obj.pos.x, gGroundHeight + 2.0f, shot->obj.pos.z, shot->obj.rot.y, 2.0f);
}
}
if (gGroundType == GROUNDTYPE_WATER) {
if (gGroundSurface == SURFACE_WATER) {
Object_Kill(&shot->obj, shot->sfxSource);
return;
}
@ -2002,7 +2002,7 @@ void func_beam_8003CC08(PlayerShot* shot) {
func_beam_80035E78(shot);
break;
}
if ((shot->obj.pos.y < gGroundHeight) && (D_ctx_801784AC != 4)) {
if ((shot->obj.pos.y < gGroundHeight) && (gGroundType != 4)) {
func_beam_80035E78(shot);
break;
}
@ -2075,7 +2075,7 @@ void func_beam_8003CF90(PlayerShot* shot) {
Player* player;
if ((shot->obj.pos.y < gGroundHeight) || (shot->unk_64 == 1)) {
if ((gGroundType == GROUNDTYPE_WATER) && (shot->obj.pos.y < gGroundHeight)) {
if ((gGroundSurface == SURFACE_WATER) && (shot->obj.pos.y < gGroundHeight)) {
shot->unk_48 = 10.0f;
func_effect_8007D9DC(shot->obj.pos.x, gGroundHeight + 2.0f, shot->obj.pos.z, shot->unk_48 * 0.1f,
shot->unk_48 * 3.0f, 0);

View File

@ -810,7 +810,7 @@ void Background_DrawLensFlare(void) {
Matrix_Pop(&gGfxMatrix);
}
void func_bg_80040CDC(void) {
void Background_dummy_80040CDC(void) {
}
void Background_DrawGround(void) {
@ -829,10 +829,10 @@ void Background_DrawGround(void) {
return;
}
sp1D4 = 0.0f;
if ((D_ctx_801784AC != 10) && (D_ctx_801784AC != 11)) {
if ((gGroundType != 10) && (gGroundType != 11)) {
sp1D4 = -4000.0f;
}
if (D_ctx_801784AC == 7) {
if (gGroundType == 7) {
sp1D4 = 0.0f;
gPlayer[gPlayerNum].unk_0AC = 0.0f;
}
@ -897,16 +897,16 @@ void Background_DrawGround(void) {
temp_fv0 = Math_ModF((10000.0f - gPlayer[gPlayerNum].unk_0AC) * 0.32f, 128.0f);
gDPSetupTile(gMasterDisp++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, temp_fv0, temp_s0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
switch (gGroundType) {
case GROUNDTYPE_GRASS:
switch (gGroundSurface) {
case SURFACE_GRASS:
gDPLoadTileTexture(gMasterDisp++, D_CO_601B6C0, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32);
gBgColor = 0x845; // 8, 8, 32
break;
case GROUNDTYPE_ROCK:
case SURFACE_ROCK:
gDPLoadTileTexture(gMasterDisp++, D_CO_6028260, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32);
gBgColor = 0x845; // 8, 8, 32
break;
case GROUNDTYPE_WATER:
case SURFACE_WATER:
RCP_SetupDL_45(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 128);
gDPLoadTileTexture(gMasterDisp++, D_CO_6028A60, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32);
@ -924,7 +924,7 @@ void Background_DrawGround(void) {
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_CO_601B640);
} else {
gGroundType = GROUNDTYPE_GRASS;
gGroundSurface = SURFACE_GRASS;
gBgColor = 0x845; // 8, 8, 32
for (i = 0; i < 4; i++) {
Matrix_Push(&gGfxMatrix);

View File

@ -13,7 +13,7 @@ s32 PAD_boss_C9EC4[14] = { 0 };
const f32 D_boss_800D55D0[] = { 6000.0f, 18000.0f, -6000.0f, -18000.0f };
void func_boss_80042EC0(Boss* boss) {
void Boss_AwardBonus(Boss* boss) {
s32 bonus;
f32 yOffset;
@ -59,7 +59,7 @@ void Boss300_Update(Boss300* this) {
void Boss300_Draw(Boss300* this) {
}
void func_boss_80042FF4(Actor* actor, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8,
void Boss_SetupActor189(Actor* actor, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8,
f32 arg9, f32 argA, s32 argB, s32 argC) {
Actor_Initialize(actor);
actor->obj.status = OBJ_INIT;
@ -83,13 +83,13 @@ void func_boss_80042FF4(Actor* actor, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f3
}
}
void func_boss_800430DC(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8,
void Boss_SpawnActor189(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8,
f32 arg9, s32 argA, s32 argB) {
s32 i;
for (i = 59; i >= 0; i--) {
if (gActors[i].obj.status == OBJ_FREE) {
func_boss_80042FF4(&gActors[i], arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, argA, argB);
Boss_SetupActor189(&gActors[i], arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, argA, argB);
return;
}
}
@ -99,14 +99,14 @@ void func_boss_80043188(Boss* boss) {
boss->info.unk_10 = 30000.0f;
}
void func_boss_8004319C(Player* player, f32 arg1, f32 arg2, f32 arg3) {
void Boss_CompleteLevel(Player* player, f32 xPos, f32 yPos, f32 zPos) {
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 80);
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 80);
gCsFrameCount = 0;
D_ctx_80178448 = arg3 + D_ctx_80177D20;
D_ctx_80178440 = arg1;
D_ctx_80178444 = arg2;
D_ctx_80178448 = zPos + D_ctx_80177D20;
D_ctx_80178440 = xPos;
D_ctx_80178444 = yPos;
player->state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE;
player->unk_1D0 = 10;

View File

@ -42,9 +42,9 @@ s32 gCsFrameCount;
u8 D_ctx_80177A98;
u8 D_ctx_80177AB0;
u8 gAqDrawMode;
s32 D_ctx_80177AE0;
s32 gTitleState;
s32 gMainController;
s32 D_ctx_80177B40;
s32 gMapState;
s32 gMissionNumber;
s32 gMissionTeamStatus[7];
s32 gMissionHitCount[7];
@ -61,22 +61,22 @@ u8 gOptionSoundMode;
s32 gVolumeSettings[3];
u16 gBgmSeqId;
u8 gLevelType;
s32 D_ctx_80177CA0;
s32 gSavedObjectLoadIndex;
UNK_TYPE F_80177CA8;
f32 D_ctx_80177CB0;
UNK_TYPE F_80177CB8;
f32 D_ctx_80177CC0;
f32 gWaterLevel;
f32 D_ctx_80177CC8;
f32 D_ctx_80177CE8;
f32 D_ctx_80177D08;
f32 D_ctx_80177D20;
f32 D_ctx_80177D38;
f32 D_ctx_80177D50;
f32 D_ctx_80177D68;
f32 gRadioPortraitScaleY;
f32 gRadioTextBoxScaleY;
f32 gRadioMsgRadioId;
UNK_TYPE F_80177D80;
UNK_TYPE F_80177DE8;
s32 gGameFrameCount;
s32 D_ctx_80177DC8;
s32 gObjectLoadIndex;
s32 gPrevEventActorIndex;
s32 D_ctx_80177E78;
s32 gRingPassCount;
@ -90,22 +90,22 @@ s32 gBossActive;
s32 D_ctx_8017828C;
s32 D_ctx_80178294;
s32 gRadioState;
s32 D_ctx_801782A4;
s32 D_Timer_801782AC;
s32 D_Timer_801782B4;
s32 gCurrentRadioPortrait;
s32 gRadioStateTimer;
s32 gRadioMouthTimer;
u8 gLeveLClearStatus[30] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
};
s32 D_ctx_801782C0;
s32 D_ctx_801782C8;
s32 D_ctx_801782D0;
s32 D_ctx_801782D8;
s32 gRadioMsgCharIndex;
UNK_TYPE F_801782E0;
s32 D_ctx_801782E8;
s32 gRadioMsgId;
UNK_TYPE F_801782F0;
s32 D_ctx_801782F8;
s32 D_ctx_80178300;
u16* D_ctx_80178308;
s32 gMsgCharIsPrinting;
s32 gHideRadio;
u16* gRadioMsg;
ObjectInit* gLevelObjects;
UNK_TYPE F_80178318;
s32 gFogRed;
@ -147,6 +147,7 @@ UNK_TYPE F_80178400;
UNK_TYPE F_80178404;
UNK_TYPE F_80178408;
UNK_TYPE F_8017840C;
UNK_TYPE P_800D31A0 = 0;
s32 gStarCount;
f32 gStarWarpDistortion;
f32 D_ctx_80178418;
@ -162,12 +163,12 @@ UNK_TYPE F_8017843C;
f32 D_ctx_80178440;
f32 D_ctx_80178444;
f32 D_ctx_80178448;
f32 D_ctx_80178450[3];
f32 D_ctx_80178460[3];
f32 D_ctx_80178470[3];
f32 D_ctx_80178450[3]; // x positions of certain actors (teammates?)
f32 D_ctx_80178460[3]; // y positions of certain actors (teammates?)
f32 D_ctx_80178470[3]; // z positions of certain actors (teammates?)
f32 gCameraShakeY;
s32 gCameraShake;
s32 D_ctx_80178484;
s32 D_ctx_80178484; // set to 10000 but not used
bool gLoadLevelObjects;
UNK_TYPE F_8017848C;
UNK_TYPE F_80178490;
@ -177,45 +178,52 @@ f32 D_ctx_8017849C;
f32 D_ctx_801784A0;
s32 D_ctx_801784A4;
UNK_TYPE F_801784A8;
s32 D_ctx_801784AC;
GroundType gGroundType;
UNK_TYPE F_801784B0;
UNK_TYPE F_801784B4;
f32 D_ctx_801784B8; // effective Vec3f
f32 D_ctx_801784BC;
f32 D_ctx_801784C0;
f32 D_ctx_801784C4; // effective Vec3f
f32 D_ctx_801784C8;
f32 D_ctx_801784CC;
f32 D_ctx_801784D0; // effective Vec3f
f32 D_ctx_801784D4;
f32 D_ctx_801784D8;
s32 gLight1x; // Vec3i light direction
// light source 1
f32 gLight1xRot; // effective Vec3f
f32 gLight1yRot;
f32 gLight1zRot;
f32 gLight1xRotTarget; // effective Vec3f
f32 gLight1yRotTarget;
f32 gLight1zRotTarget;
f32 gEnvLightxRot; // effective Vec3f
f32 gEnvLightyRot;
f32 gEnvLightzRot;
s32 gLight1x; // Vec3i?
s32 gLight1y;
s32 gLight1z;
f32 D_ctx_801784E8;
f32 D_ctx_801784EC; // effective Vec3f?
f32 D_ctx_801784F0;
f32 D_ctx_801784F4;
f32 D_ctx_801784F8; // effective Vec3f
f32 D_ctx_801784FC;
f32 D_ctx_80178500;
s32 gLight2x; // Vec3i light direction alternate
f32 gLight1rotStep;
// light source 2
f32 gLight2xRot; // effective Vec3f
f32 gLight2yRot;
f32 gLight2zRot;
f32 gLight2xRotTarget; // effective Vec3f
f32 gLight2yRotTarget;
f32 gLight2zRotTarget;
s32 gLight2x; // Vec3i?
s32 gLight2y;
s32 gLight2z;
f32 D_ctx_80178510;
f32 gLight2rotStep;
// this section looks like a third light source
UNK_TYPE F_801784514;
UNK_TYPE F_801784518;
UNK_TYPE F_80178451C;
f32 D_ctx_80178520; // effective Vec3f
f32 D_ctx_80178520; // effective Vec3f, set to env light rotation but unused
f32 D_ctx_80178524;
f32 D_ctx_80178528;
UNK_TYPE F_80178452C;
UNK_TYPE F_801784530;
UNK_TYPE F_801784534;
f32 D_ctx_80178538;
f32 D_ctx_8017853C;
s32 D_ctx_80178540;
s32 D_ctx_80178544;
f32 D_ctx_8017853C; // hitbox size modifier. always 0.0f. seems out of place
s32 gLight2colorStep; // light 2 color step
s32 D_ctx_80178544; // light 3 color step?
s32 gLight1R; // Color32 light color 1
s32 gLight1G;
s32 gLight1B;
@ -226,18 +234,18 @@ UNK_TYPE F_80178560;
s32 gLight2R; // Color32 light color 2
s32 gLight2G;
s32 gLight2B;
UNK_TYPE P_800D31A0 = 0;
s32 D_ctx_80178570; // Color32 light color 2 modifier?
s32 D_ctx_80178574;
s32 D_ctx_80178578;
s32 D_ctx_80161A70; // Color32? start of bss
s32 gLight2RTarget; // Color32 light color 2 modifier?
s32 gLight2GTarget;
s32 gLight2BTarget;
s32 D_ctx_80161A70; // Color32 set but not used, start of bss
s32 D_ctx_80161A74;
s32 D_ctx_80161A78;
s32 D_ctx_80161A7C;
s32 D_ctx_80161A7C; // Color32? set but not used
s32 D_ctx_80161A80;
s32 D_ctx_80161A84;
s32 gGroundType;
s32 gSavedGroundType;
GroundSurface gGroundSurface;
GroundSurface gSavedGroundSurface;
u8 gGoldRingCount[4];
u8 D_ctx_80161A94[4];
s32 gHitCount;
@ -278,20 +286,20 @@ s32 D_ctx_80177858[4]; // set to 3 but never used
PlayerForm gPlayerForms[4];
s32 gHandicap[4];
VsStage gVersusStage;
s32 D_ctx_801778A4;
s32 D_ctx_801778AC;
s32 D_ctx_801778C8;
s32 gVsPointsToWin;
s32 gVsMatchType;
s32 gVsTimeTrialLimit;
bool gVersusMode;
u16 gBoostButton[4];
u16 gBrakeButton[4];
u16 gShootButton[4];
u16 gBombButton[4];
f32 D_ctx_80177958[4]; // set to 1.0f but never used
s32 D_ctx_8017796C;
s32 gTeamLowHealthMsgTimer;
OSContPad* gInputHold;
OSContPad* gInputPress;
u8* gControllerRumble;
s32 D_ctx_80177990[4];
s32 D_ctx_80177990[4]; // these two are also rumble related
f32 D_ctx_801779A8[4];
u8 gPauseEnabled;
s32 gChargeTimers[4];
@ -328,10 +336,10 @@ s32 gStarWolfTeamAlive[6];
s32 gSavedStarWolfTeamAlive[6];
s32 gRightWingHealth[4];
s32 gLeftWingHealth[4];
s32 D_ctx_80177D40[4];
s32 D_ctx_80177D58[4];
s32 D_ctx_80177D70[4];
s32 D_ctx_80177D88[4];
s32 gRightWingFlashTimer[4];
s32 gLeftWingFlashTimer[4];
s32 gRightWingDebrisTimer[4];
s32 gLeftWingDebrisTimer[4];
s32 gBombCount[4];
s32 D_ctx_80177DB8[4];
s32 D_ctx_80177DD0[4][10];
@ -339,7 +347,7 @@ s32 D_ctx_80177E74;
s32 D_ctx_80177E7C;
s32 gChangeTo360;
Vec3f gTeamArrowsViewPos[10];
f32 D_ctx_80177F20[65];
f32 D_ctx_80177F20[65]; // Seem to be an early implementation of RadarMark
f32 D_ctx_80178028[65];
f32 D_ctx_80178130[65];
u8 D_ctx_80178238[65];

View File

@ -200,7 +200,7 @@ void Cutscene_WarpZoneComplete(Player* player) {
Math_SmoothStepToF(&player->unk_08C, 0.0f, 0.1f, 3.0f, 0.0f);
Math_SmoothStepToF(&player->camRoll, 0.0f, 0.1f, 3.0f, 0.0f);
Math_SmoothStepToAngle(&player->unk_4D8, 0.0f, 0.1f, 20.0f, 0.0f);
Math_SmoothStepToF(&player->unk_110, 0.0f, 0.1f, 3.0f, 0.0f);
Math_SmoothStepToF(&player->boostSpeed, 0.0f, 0.1f, 3.0f, 0.0f);
switch (player->unk_1D0) {
case 0:
@ -217,7 +217,7 @@ void Cutscene_WarpZoneComplete(Player* player) {
D_ctx_80177A48[1] -= D_ctx_80177A48[2];
Math_SmoothStepToF(&D_ctx_80177A48[2], 1.2f, 0.1f, 0.01f, 0.0f);
Math_SmoothStepToF(&D_ctx_80177A48[0], 0.1f, 0.1f, 0.002f, 0.0f);
Math_SmoothStepToF(&player->unk_0D0, 0.0f, 1.0f, 0.5f, 0.0f);
Math_SmoothStepToF(&player->baseSpeed, 0.0f, 1.0f, 0.5f, 0.0f);
Matrix_RotateX(gCalcMatrix, -5.0f * M_DTOR, MTXF_NEW);
Matrix_RotateY(gCalcMatrix, D_ctx_80177A48[1] * M_DTOR, MTXF_APPLY);
sp5C.x = 0.0f;
@ -275,7 +275,7 @@ void Cutscene_WarpZoneComplete(Player* player) {
}
if (gCsFrameCount > 450) {
Math_SmoothStepToF(&D_ctx_80177A48[0], 1.0f, 0.1f, 0.004f, 0.0f);
player->unk_0D0 += 2.0f;
player->baseSpeed += 2.0f;
player->unk_0E4 += 0.1f;
player->unk_190 = 2.0f;
@ -319,7 +319,7 @@ void Cutscene_WarpZoneComplete(Player* player) {
sp5C.x = 0.0f;
sp5C.y = 0.0f;
sp5C.z = player->unk_0D0 + player->unk_110;
sp5C.z = player->baseSpeed + player->boostSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp5C, &sp50);
player->vel.x = sp50.x;
@ -388,7 +388,7 @@ void func_demo_80049630(Actor* actor) {
}
void func_demo_8004990C(Player* player) {
if (D_ctx_801784AC == 0) {
if (gGroundType == 0) {
D_ctx_80177CE8 += 60.0f;
}
player->unk_138 = player->pos.z + player->unk_08C;
@ -527,7 +527,7 @@ void Cutscene_EnterWarpZone(Player* player) {
}
player->unk_08C += player->unk_0CC;
player->unk_0CC = player->unk_0CC - 100.0f;
player->unk_0CC -= 100.0f;
if (player->unk_08C < -15000.0f) {
player->unk_08C = 0.0f;
@ -583,7 +583,7 @@ void Cutscene_EnterWarpZone(Player* player) {
player->vel.z = player->unk_144 = D_ctx_80177D20 = player->unk_144 = D_ctx_80177CB0 =
D_ctx_80177D20 = 0.0f;
player->timer_27C = gSavedHitCount = D_ctx_80177DC8 = D_ctx_80177CA0 = 0;
player->timer_27C = gSavedHitCount = gObjectLoadIndex = gSavedObjectLoadIndex = 0;
player->unk_234 = 1;
gLevelPhase = 1;
@ -833,7 +833,7 @@ void Cutscene_AllRangeMode(Player* player) {
Math_SmoothStepToF(&player->unk_0EC, 0.0f, 0.1f, 1.0f, 0.0f);
Math_SmoothStepToF(&player->unk_12C, 0.0f, 0.1f, 5.0f, 0.0f);
Math_SmoothStepToF(&player->camRoll, 0.0f, 0.1f, 3.0f, 0.0f);
Math_SmoothStepToF(&player->unk_110, 0.0f, 0.1f, 3.0f, 0.0f);
Math_SmoothStepToF(&player->boostSpeed, 0.0f, 0.1f, 3.0f, 0.0f);
Math_SmoothStepToF(&player->unk_08C, 0.0f, 0.1f, 3.0f, 0.0f);
switch (player->unk_1D0) {
@ -925,7 +925,7 @@ void Cutscene_AllRangeMode(Player* player) {
sp70.x = 0.0f;
sp70.y = 0.0f;
sp70.z = player->unk_0D0 + player->unk_110;
sp70.z = player->baseSpeed + player->boostSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp70, &sp64);
@ -971,9 +971,9 @@ void Cutscene_CoComplete2(Player* player) {
player->wings.unk_10 = 0.0f;
player->unk_130 = 0.0f;
player->unk_12C = 0.0f;
player->unk_110 = 0.0f;
player->boostSpeed = 0.0f;
player->wings.modelId = 1;
player->unk_0D0 = 40.0f;
player->baseSpeed = 40.0f;
/* fallthrough */
case 11:
@ -1099,7 +1099,7 @@ void Cutscene_CoComplete2(Player* player) {
}
if ((180.0f - fabsf(player->unk_0EC)) <= 3.0f) {
gGroundType = GROUNDTYPE_ROCK;
gGroundSurface = SURFACE_ROCK;
}
if (player->timer_1F8 == 0) {
@ -1107,7 +1107,7 @@ void Cutscene_CoComplete2(Player* player) {
player->timer_1FC = 500;
player->unk_1D0 = 2;
player->unk_000 = (player->unk_004 = (player->unk_008 = (D_ctx_80178418 = 0.0f)));
player->unk_0D0 = 0.0f;
player->baseSpeed = 0.0f;
D_ctx_80177A48[6] = 0.0f;
}
break;
@ -1169,7 +1169,7 @@ void Cutscene_CoComplete2(Player* player) {
if (gTeamShields[TEAM_ID_PEPPY] > 0) {
func_demo_8004A840(2);
}
gGroundType = GROUNDTYPE_GRASS;
gGroundSurface = SURFACE_GRASS;
}
Matrix_RotateY(gCalcMatrix, (player->unk_0E8 + 180.0f) * M_DTOR, MTXF_NEW);
@ -1265,13 +1265,13 @@ void Cutscene_CoComplete2(Player* player) {
player->unk_25C = 0.6f;
}
player->unk_000 += 1.0f;
player->unk_0D0 = player->unk_000 * player->unk_000;
player->baseSpeed = SQ(player->unk_000);
if (player->timer_1F8 == 0) {
D_ctx_80177A48[7] = player->vel.x;
D_ctx_80177A48[8] = player->vel.y;
D_ctx_80177A48[9] = player->vel.z;
player->unk_1D0 = 5;
player->unk_0D0 = 0.0f;
player->baseSpeed = 0.0f;
player->timer_1F8 = 10;
func_effect_80078E50(player->pos.x, player->pos.y, player->unk_138, 30.0f);
}
@ -1318,7 +1318,7 @@ void Cutscene_CoComplete2(Player* player) {
sp60.x = 0.0f;
sp60.y = 0.0f;
sp60.z = player->unk_0D0;
sp60.z = player->baseSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp60, &sp54);
@ -1451,7 +1451,7 @@ void Cutscene_UTurn(Player* player) {
Math_SmoothStepToF(&player->unk_0E4, 0.0f, 0.1f, 5.0f, 0.0f);
Math_SmoothStepToF(&player->cam.eye.y, player->pos.y - 20.0f, 0.2f, 100.0f, 0.0f);
sp50.rot.z = player->unk_0D0;
sp50.rot.z = player->baseSpeed;
sp58.x = Math_RadToDeg(Math_Atan2F(player->pos.x, player->unk_138));
player->boostCooldown = 1;
@ -1656,7 +1656,7 @@ void Cutscene_KillPlayer(Player* player) {
if (player->unk_288 > 0) {
D_ctx_80177DD0[player->unk_288 - 1][D_ctx_80177DB8[player->unk_288 - 1]] = player->num;
D_ctx_80177DB8[player->unk_288 - 1] += 1;
if (D_ctx_801778A4 == D_ctx_80177DB8[player->unk_288 - 1]) {
if (gVsPointsToWin == D_ctx_80177DB8[player->unk_288 - 1]) {
player->unk_288 = -1;
if (player->unk_284 == 0) {
func_effect_8007C688(player->pos.x, player->pos.y, player->unk_138, 3.0f, 1000);
@ -1736,17 +1736,17 @@ void func_demo_8004D828(Player* player) {
func_effect_8007D0E0(player->pos.x, player->pos.y, player->unk_138, 3.0f);
}
if (player->wings.rightState == 2) {
if (player->wings.rightState == WINGSTATE_INTACT) {
func_play_800A69F8(1, player->hit1.x, player->hit1.y, player->hit1.z);
player->wings.rightState = 1;
player->wings.rightState = WINGSTATE_BROKEN;
func_effect_8007D0E0(player->hit1.x, player->hit1.y, player->hit1.z, 2.0f);
}
if (player->wings.leftState == 2) {
if (player->wings.leftState == WINGSTATE_INTACT) {
func_play_800A69F8(0, player->hit2.x, player->hit2.y, player->hit2.z);
player->wings.leftState = 1;
player->wings.leftState = WINGSTATE_BROKEN;
func_effect_8007D0E0(player->hit2.x, player->hit2.y, player->hit2.z, 2.0f);
}
} else if (((player->timer_220 > 0) || (player->pos.y < player->unk_0A4) || (player->pos.y < D_ctx_80177CC0) ||
} else if (((player->timer_220 > 0) || (player->pos.y < player->unk_0A4) || (player->pos.y < gWaterLevel) ||
(player->timer_1FC == 0)) &&
(player->timer_1F8 == 0)) {
if (gCamCount != 4) {
@ -1883,7 +1883,7 @@ void func_demo_8004DEF8(Player* player) {
player->camRoll += 10.0f;
}
if ((gGroundType == GROUNDTYPE_WATER) && (player->pos.y <= player->unk_0A4)) {
if ((gGroundSurface == SURFACE_WATER) && (player->pos.y <= player->unk_0A4)) {
func_effect_8007D9DC(player->pos.x, gGroundHeight + 2.0f, player->unk_138, 3.0f, 20.0f, 0);
func_effect_8007ADF4(player->pos.x, gGroundHeight, player->unk_138, 0.1f, 2.0f);
}

View File

@ -430,10 +430,10 @@ bool func_display_800531A4(s32 limbIndex, Gfx** gfxPtr, Vec3f* pos, Vec3f* rot,
if (wings->rightState == WINGSTATE_BROKEN) {
*gfxPtr = D_arwing_3015120;
}
if ((D_display_800CA22C != 0) && ((D_ctx_80177D40[0] % 2) != 0)) {
if ((D_display_800CA22C != 0) && ((gRightWingFlashTimer[0] % 2) != 0)) {
RCP_SetupDL(&gMasterDisp, 0x22);
func_display_8005314C();
if (D_ctx_80177D40[0] > 1000) {
if (gRightWingFlashTimer[0] > 1000) {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 32, 32, 255, 255);
} else {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 0, 0, 255);
@ -445,10 +445,10 @@ bool func_display_800531A4(s32 limbIndex, Gfx** gfxPtr, Vec3f* pos, Vec3f* rot,
if (wings->rightState != 2) {
*gfxPtr = NULL;
}
if ((D_display_800CA22C != 0) && ((D_ctx_80177D40[0] % 2) != 0)) {
if ((D_display_800CA22C != 0) && ((gRightWingFlashTimer[0] % 2) != 0)) {
RCP_SetupDL(&gMasterDisp, 0x22);
func_display_8005314C();
if (D_ctx_80177D40[0] > 1000) {
if (gRightWingFlashTimer[0] > 1000) {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 32, 32, 255, 255);
} else {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 0, 0, 255);
@ -462,10 +462,10 @@ bool func_display_800531A4(s32 limbIndex, Gfx** gfxPtr, Vec3f* pos, Vec3f* rot,
if (wings->leftState == WINGSTATE_BROKEN) {
*gfxPtr = D_arwing_3014BF0;
}
if ((D_display_800CA22C != 0) && ((D_ctx_80177D58[0] % 2) != 0)) {
if ((D_display_800CA22C != 0) && ((gLeftWingFlashTimer[0] % 2) != 0)) {
RCP_SetupDL(&gMasterDisp, 0x22);
func_display_8005314C();
if (D_ctx_80177D58[0] > 1000) {
if (gLeftWingFlashTimer[0] > 1000) {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 32, 32, 255, 255);
} else {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 0, 0, 255);
@ -477,10 +477,10 @@ bool func_display_800531A4(s32 limbIndex, Gfx** gfxPtr, Vec3f* pos, Vec3f* rot,
if (wings->leftState != 2) {
*gfxPtr = NULL;
}
if ((D_display_800CA22C != 0) && ((D_ctx_80177D58[0] % 2) != 0)) {
if ((D_display_800CA22C != 0) && ((gLeftWingFlashTimer[0] % 2) != 0)) {
RCP_SetupDL(&gMasterDisp, 0x22);
func_display_8005314C();
if (D_ctx_80177D58[0] > 1000) {
if (gLeftWingFlashTimer[0] > 1000) {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 32, 32, 255, 255);
} else {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 0, 0, 255);
@ -714,7 +714,7 @@ void func_display_80054300(Player* player) {
if (player->unk_068 > 30.0f) {
gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK);
}
if ((gGroundType == GROUNDTYPE_WATER) && (player->unk_068 < 10.0f)) {
if ((gGroundSurface == SURFACE_WATER) && (player->unk_068 < 10.0f)) {
player->shadowing = 90;
} else {
player->shadowing = 180;
@ -1565,8 +1565,8 @@ void Play_Draw(void) {
gPlayerCamAt.y += player->pos.y;
gPlayerCamAt.z += player->unk_138 + player->unk_144;
if (player->cockpitView && (player->unk_110 > 5.0f)) {
gPlayerCamAt.x += SIN_DEG(gGameFrameCount * 150.0f) * player->unk_110 * 0.2f;
if (player->cockpitView && (player->boostSpeed > 5.0f)) {
gPlayerCamAt.x += SIN_DEG(gGameFrameCount * 150.0f) * player->boostSpeed * 0.2f;
}
} else if (player->state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) {
func_display_800578C4(player);
@ -1608,7 +1608,7 @@ void Play_Draw(void) {
Ground_801B58AC(&gMasterDisp, D_ctx_80177CC8);
D_ctx_80177CC8 = 0.0f;
Matrix_Pop(&gGfxMatrix);
} else if (gGroundType != GROUNDTYPE_WATER) {
} else if (gGroundSurface != SURFACE_WATER) {
D_bg_8015F964 = false;
Background_DrawGround();
}
@ -1623,7 +1623,7 @@ void Play_Draw(void) {
func_display_800564C0(opponent, 0);
func_display_80057814(opponent);
}
if ((gGroundType == GROUNDTYPE_WATER) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO)) {
if ((gGroundSurface == SURFACE_WATER) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO)) {
Lights_SetOneLight(&gMasterDisp, gLight2x, -1 * gLight2y, gLight2z, gLight2R, gLight2G, gLight2B, gAmbientR,
gAmbientG, gAmbientB);
Matrix_Push(&gGfxMatrix);
@ -1642,7 +1642,7 @@ void Play_Draw(void) {
TexturedLine_Draw();
gReflectY = 1;
PlayerShot_Draw();
if ((gGroundType == GROUNDTYPE_WATER) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO)) {
if ((gGroundSurface == SURFACE_WATER) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO)) {
Matrix_Push(&gGfxMatrix);
Matrix_Scale(gGfxMatrix, 1.0f, -1.0f, 1.0f, MTXF_APPLY);
gReflectY = -1;
@ -1650,7 +1650,7 @@ void Play_Draw(void) {
Matrix_Pop(&gGfxMatrix);
}
gReflectY = -1;
if ((gGroundType == GROUNDTYPE_WATER) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO)) {
if ((gGroundSurface == SURFACE_WATER) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO)) {
Matrix_Push(&gGfxMatrix);
Matrix_Scale(gGfxMatrix, 1.0f, -1.0f, 1.0f, MTXF_APPLY);
for (i = 0, opponent = gPlayer; i < gCamCount; i++, opponent++) {
@ -1664,7 +1664,7 @@ void Play_Draw(void) {
if (gCurrentLevel == LEVEL_AQUAS) {
Effect_Draw(0);
}
if ((gGroundType == GROUNDTYPE_WATER) || (gAqDrawMode != 0)) {
if ((gGroundSurface == SURFACE_WATER) || (gAqDrawMode != 0)) {
D_bg_8015F964 = true;
Effect_Draw(1);
Background_DrawGround();
@ -1716,8 +1716,8 @@ void Play_Draw(void) {
Background_DrawLensFlare();
if ((gCamCount != 1) &&
((player->state_1C8 == PLAYERSTATE_1C8_ACTIVE) || (player->state_1C8 == PLAYERSTATE_1C8_U_TURN))) {
func_hud_8008FA84();
func_hud_8008CA44();
HUD_Draw();
HUD_DrawEdgeArrows();
}
Matrix_Pop(&gGfxMatrix);
func_display_80051B30();

View File

@ -683,7 +683,7 @@ void func_edisplay_8005BAB4(ObjectId objId, s32 index) {
case OBJ_BOSS_295:
case OBJ_BOSS_296:
COS_DEG(gBosses[index].obj.rot.z);
if (gGroundType == GROUNDTYPE_WATER) {
if (gGroundSurface == SURFACE_WATER) {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 90);
} else {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 150);
@ -1336,7 +1336,7 @@ void Object_DrawShadow(s32 index, Object* obj) {
Matrix_Translate(gGfxMatrix, obj->pos.x, gGroundHeight + 2.0f, obj->pos.z + D_ctx_80177D20, MTXF_APPLY);
break;
}
if ((D_ctx_801784AC != 4) || (obj->id == OBJ_ACTOR_EVENT) || (obj->id == OBJ_ACTOR_195) ||
if ((gGroundType != 4) || (obj->id == OBJ_ACTOR_EVENT) || (obj->id == OBJ_ACTOR_195) ||
(obj->id == OBJ_ACTOR_TEAM_BOSS)) {
Matrix_Scale(gGfxMatrix, 1.0f, 0.0f, 1.0f, MTXF_APPLY);
Matrix_RotateY(gGfxMatrix, obj->rot.y * M_DTOR, MTXF_APPLY);
@ -1724,7 +1724,7 @@ void Effect_DrawAll(s32 arg0) {
void Object_Draw(s32 arg0) {
gReflectY = 1;
Object_DrawAll(1);
if ((gGroundType == GROUNDTYPE_WATER) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO)) {
if ((gGroundSurface == SURFACE_WATER) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO)) {
gReflectY = -1;
Lights_SetOneLight(&gMasterDisp, gLight1x, -1 * gLight1y, gLight1z, gLight1R, gLight1G, gLight1B, gAmbientR,
gAmbientG, gAmbientB);
@ -1741,7 +1741,7 @@ void Effect_Draw(u8 arg0) {
if (arg0 == 0) {
gReflectY = 1;
Effect_DrawAll(1);
} else if ((gGroundType == GROUNDTYPE_WATER) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO)) {
} else if ((gGroundSurface == SURFACE_WATER) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO)) {
gReflectY = -1;
Matrix_Push(&gGfxMatrix);
Matrix_Scale(gGfxMatrix, 1.0f, -1.0f, 1.0f, MTXF_APPLY);

View File

@ -2189,7 +2189,7 @@ void func_effect_8007DB70(Effect* effect) {
func_effect_8007D0E0(effect->obj.pos.x, effect->obj.pos.y + 30.0f, effect->obj.pos.z, 7.0f);
func_effect_8007BFFC(effect->obj.pos.x, effect->obj.pos.y + 30.0f, effect->obj.pos.z, 0.0f, 0.0f, 0.0f,
4.0f, 5);
if ((effect->obj.pos.y < (gGroundHeight + 10.0f)) || (gGroundType != GROUNDTYPE_WATER)) {
if ((effect->obj.pos.y < (gGroundHeight + 10.0f)) || (gGroundSurface != SURFACE_WATER)) {
func_beam_800365E4(effect->obj.pos.x, 3.0f, effect->obj.pos.z, effect->obj.pos.x, effect->obj.pos.z,
0.0f, 0.0f, 90.0f, 5.0f, 0, 0);
break;
@ -2245,7 +2245,7 @@ void func_effect_8007E014(Effect* effect) {
f32 z;
f32 y;
if (D_ctx_801784AC == 4) {
if (gGroundType == 4) {
Ground_801B6E20(effect->obj.pos.x, effect->obj.pos.z + D_ctx_80177D20, &x, &y, &z);
effect->obj.pos.y = y + 3.0f;
effect->obj.rot.x = RAD_TO_DEG(x);
@ -2622,7 +2622,7 @@ void func_effect_8007F2FC(Effect* effect) {
effect->vel.y -= 0.3f;
}
if (effect->obj.pos.y < D_ctx_80177CC0) {
if (effect->obj.pos.y < gWaterLevel) {
effect->vel.y += 0.2f;
effect->obj.pos.y -= effect->vel.y * 0.5f;
effect->obj.pos.x -= effect->vel.x * 0.5f;
@ -2722,7 +2722,7 @@ void func_effect_8007F6B0(Effect* effect) {
cos = __cosf(temp) * effect->scale2 * 8.0f;
yPos = gGroundHeight + 40.0f;
if (D_ctx_801784AC == 4) {
if (gGroundType == 4) {
Ground_801B6E20(effect->obj.pos.x + sin, effect->obj.pos.z + cos + D_ctx_80177D20, &x, &y, &z);
yPos = y + 30.0f;
}
@ -2769,7 +2769,7 @@ void func_effect_8007F958(Effect* effect) {
cos = __cosf(temp) * effect->scale2 * 16.0f;
yPos = gGroundHeight + 10.0f;
if (D_ctx_801784AC == 4) {
if (gGroundType == 4) {
Ground_801B6E20(effect->obj.pos.x + sin, effect->obj.pos.z + cos + D_ctx_80177D20, &x, &y, &z);
yPos = y + 10.0f;
}
@ -2895,13 +2895,13 @@ void func_effect_8007FE88(Effect* effect) {
}
}
if (D_ctx_801784AC == 4) {
if (gGroundType == 4) {
if (Ground_801B6AEC(effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z + D_ctx_80177D20) != 0) {
Object_Kill(&effect->obj, effect->sfxSource);
}
} else if (effect->obj.pos.y < gGroundHeight) {
Object_Kill(&effect->obj, effect->sfxSource);
if (gGroundType != GROUNDTYPE_WATER) {
if (gGroundSurface != SURFACE_WATER) {
effect->obj.pos.y = gGroundHeight;
func_effect_8007D074(effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z, 2.0f);
}
@ -3025,14 +3025,14 @@ void func_effect_8008040C(Effect* effect) {
}
}
if (D_ctx_801784AC == 4) {
if (gGroundType == 4) {
if (Ground_801B6AEC(effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z + D_ctx_80177D20) !=
0) {
Object_Kill(&effect->obj, effect->sfxSource);
}
} else if (effect->obj.pos.y < gGroundHeight) {
Object_Kill(&effect->obj, effect->sfxSource);
if (gGroundType != GROUNDTYPE_WATER) {
if (gGroundSurface != SURFACE_WATER) {
effect->obj.pos.y = gGroundHeight;
func_effect_8007D074(effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z, 2.0f);
}

View File

@ -68,7 +68,7 @@ static Vec3f D_enmy_800CFF0C[] = {
{ 0.0f, 0.0f, 0.0f }, { 0.0f, -90.0f, 0.0f }, { 0.0f, 90.0f, 0.0f },
{ -90.0f, 0.0f, 0.0f }, { 0.0f, 180.0f, 0.0f }, { 90.0f, 0.0f, 0.0f },
};
u32 D_enmy_800CFF54[] = {
u32 gWarpRingSfx[] = {
0x19404038, 0x19404139, 0x1940423A, 0x1940433B, 0x1940443C, 0x1940453D, 0x1940463E, 0x1940463E, 0x1940463E,
};
@ -392,7 +392,7 @@ void ActorEvent_Load(Actor* actor, ObjectInit* objInit, s32 index) {
actor->fwork[25] = 20000.0f;
actor->iwork[1] = gPrevEventActorIndex;
actor->iwork[10] = gActors[gPrevEventActorIndex].aiType;
actor->fwork[22] = D_play_80161A54;
actor->fwork[22] = gArwingSpeed;
Matrix_RotateZ(gCalcMatrix, -D_ctx_80177E88.z * M_DTOR, MTXF_NEW);
Matrix_RotateX(gCalcMatrix, -D_ctx_80177E88.x * M_DTOR, MTXF_APPLY);
Matrix_RotateY(gCalcMatrix, -D_ctx_80177E88.y * M_DTOR, MTXF_APPLY);
@ -509,15 +509,15 @@ void func_enmy_80062568(void) {
s32 temp = gCurrentLevel; // seems fake
if (1) {}
gLevelObjects = SEGMENTED_TO_VIRTUAL(gLevelObjectInits[temp]);
var_s0 = D_ctx_80177CA0 - 40;
var_s0 = gSavedObjectLoadIndex - 40;
objInit = &gLevelObjects[var_s0];
for (; var_s0 < D_ctx_80177CA0; var_s0++, objInit++) {
for (; var_s0 < gSavedObjectLoadIndex; var_s0++, objInit++) {
Object_Load(objInit, 4000.0f, -4000.0f, 4000.0f, -4000.0f);
}
}
void Object_LoadFromInit(void) {
void Object_LoadLevelObjects(void) {
ObjectInit* objInit;
f32 xMax;
f32 xMin;
@ -568,7 +568,7 @@ void Object_LoadFromInit(void) {
}
gLastPathChange = 0;
for (i = 0, objInit = &gLevelObjects[D_ctx_80177DC8]; i < 10000; i++, D_ctx_80177DC8++, objInit++) {
for (i = 0, objInit = &gLevelObjects[gObjectLoadIndex]; i < 10000; i++, gObjectLoadIndex++, objInit++) {
if ((objInit->id > OBJ_INVALID) && D_ctx_80177D20 <= objInit->zPos1 &&
objInit->zPos1 <= D_ctx_80177D20 + 200.0f) {
if ((gCurrentLevel == LEVEL_VENOM_1) && (objInit->id >= ACTOR_EVENT_ID)) {
@ -1077,7 +1077,7 @@ void Object_Init(s32 index, ObjectId objId) {
func_enmy_80063CAC(&gScenery[index]);
break;
case OBJ_ITEM_CHECKPOINT:
if (D_ctx_80177CA0 != 0) {
if (gSavedObjectLoadIndex != 0) {
gItems[index].obj.status = OBJ_FREE;
}
break;
@ -1347,7 +1347,7 @@ void func_enmy_800652CC(Scenery* scenery) {
f32 sp28;
f32 sp24;
if ((D_ctx_801784AC == 4) && (scenery->state == 0)) {
if ((gGroundType == 4) && (scenery->state == 0)) {
Ground_801B6E20(scenery->obj.pos.x, scenery->obj.pos.z + D_ctx_80177D20, &sp2C, &sp24, &sp28);
scenery->obj.pos.y = sp24 + 3.0f;
scenery->obj.rot.x = RAD_TO_DEG(sp2C);
@ -1576,8 +1576,7 @@ void func_enmy_800656D4(Actor* actor) {
}
Math_SmoothStepToAngle(&actor->obj.rot.z, var_fv0, 0.1f, 3.0f, 0.01f);
}
if ((D_ctx_801784AC == 4) &&
Ground_801B6AEC(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z + D_ctx_80177D20)) {
if ((gGroundType == 4) && Ground_801B6AEC(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z + D_ctx_80177D20)) {
func_effect_8007D2C8(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 5.0f);
Object_Kill(&actor->obj, actor->sfxSource);
}
@ -1904,7 +1903,7 @@ void func_enmy_80066EF0(Item* item) {
if (gPlayer[0].form != FORM_ARWING) {
var_fa1 = 600.0f;
}
if (gPlayer[0].unk_0AC + var_fa1 < item->obj.pos.x) {
if (item->obj.pos.x > gPlayer[0].unk_0AC + var_fa1) {
Math_SmoothStepToF(&item->obj.pos.x, gPlayer[0].unk_0AC + var_fa1, 0.1f, 10.0f, 0.01f);
}
if (item->obj.pos.x < gPlayer[0].unk_0AC - var_fa1) {
@ -2059,11 +2058,11 @@ void ActorSupplies_Draw(Actor* actor) {
void func_enmy_80067A40(void) {
AUDIO_PLAY_SFX(0x09008023, gPlayer[0].sfxSource, 0);
if (gPlayer[0].wings.rightState <= WINGSTATE_BROKEN) {
D_ctx_80177D40[0] = 1050;
gRightWingFlashTimer[0] = 1050;
gPlayer[0].wings.rightState = WINGSTATE_INTACT;
}
if (gPlayer[0].wings.leftState <= WINGSTATE_BROKEN) {
D_ctx_80177D58[0] = 1050;
gLeftWingFlashTimer[0] = 1050;
gPlayer[0].wings.leftState = WINGSTATE_INTACT;
}
if (gExpertMode) {
@ -2122,8 +2121,8 @@ void ItemPickup_Update(Item* this) {
} else {
gRightWingHealth[this->playerNum] = gLeftWingHealth[this->playerNum] = 60;
}
D_ctx_80177D40[this->playerNum] = 1030;
D_ctx_80177D58[this->playerNum] = 1030;
gRightWingFlashTimer[this->playerNum] = 1030;
gLeftWingFlashTimer[this->playerNum] = 1030;
}
break;
}
@ -2277,9 +2276,9 @@ void ItemMeteoWarp_Update(ItemMeteoWarp* this) {
this->state = 1;
this->unk_44 = 255;
gPlayer[this->playerNum].timer_27C = 100;
AUDIO_PLAY_SFX(D_enmy_800CFF54[gRingPassCount], gPlayer[0].sfxSource, 0);
AUDIO_PLAY_SFX(gWarpRingSfx[gRingPassCount], gPlayer[0].sfxSource, 0);
if (gRingPassCount == 0) {
gPlayer[0].unk_110 = 0.0f;
gPlayer[0].boostSpeed = 0.0f;
}
gRingPassCount++;
if (gRingPassCount >= 7) {
@ -2328,10 +2327,10 @@ void ItemCheckpoint_Update(ItemCheckpoint* this) {
gPlayer[this->playerNum].heal = 128;
this->state++;
this->timer_48 = 15;
gSavedGroundType = gGroundType;
gSavedGroundSurface = gGroundSurface;
D_ctx_80177CB0 = -this->obj.pos.z;
D_ctx_80177CB0 -= 250.0f;
D_ctx_80177CA0 = D_ctx_80177DC8;
gSavedObjectLoadIndex = gObjectLoadIndex;
gSavedZoSearchlightStatus = gMissedZoSearchlight;
gSavedHitCount = gHitCount;
for (i = TEAM_ID_FALCO; i <= TEAM_ID_PEPPY; i++) {
@ -2879,7 +2878,7 @@ void Object_Update(void) {
}
if (gLevelMode != LEVELMODE_ALL_RANGE) {
if ((gLoadLevelObjects != 0) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO)) {
Object_LoadFromInit();
Object_LoadLevelObjects();
}
for (i = 0, scenery = gScenery; i < ARRAY_COUNT(gScenery); i++, scenery++) {
if (scenery->obj.status != OBJ_FREE) {

View File

@ -27,7 +27,7 @@ s32 gCallTimer;
void ActorEvent_SetMessage(u16* msg, s32 character) {
PRINTF("Enm->obj.pos.y + tmp_xyz.y=<%10.3f>\n");
if ((gRadioState == 0) || (D_ctx_80177D68 != character)) {
if ((gRadioState == 0) || (gRadioMsgRadioId != character)) {
Radio_PlayMessage(msg, character);
}
}
@ -1279,11 +1279,11 @@ void ActorEvent_ProcessScript(ActorEvent* this) {
ActorEvent_ProcessScript(this);
break;
case EV_OPC(EVOP_SET_GROUND):
if ((gGroundType == GROUNDTYPE_WATER) && (actorScript[this->aiIndex + 1] != 2)) {
case EV_OPC(EVOP_SET_SURFACE):
if ((gGroundSurface == SURFACE_WATER) && (actorScript[this->aiIndex + 1] != 2)) {
Audio_KillSfxBySourceAndId(gPlayer[0].sfxSource, 0x1100000B);
}
gGroundType = actorScript[this->aiIndex + 1];
gGroundSurface = actorScript[this->aiIndex + 1];
this->aiIndex += 2;
ActorEvent_ProcessScript(this);
this->obj.status = OBJ_FREE;
@ -2984,7 +2984,8 @@ void ActorEvent_Update(ActorEvent* this) {
func_effect_8007C120(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, this->vel.x, this->vel.y,
this->vel.z, 0.3f, 10);
}
} else {
return;
}
if (((this->unk_0B4 == EINFO_17) || (this->unk_0B4 == EINFO_30) || (this->unk_0B4 == EINFO_31)) &&
(this->health <= 0)) {
ActorEvent_80071DC0(this);
@ -3110,10 +3111,10 @@ void ActorEvent_Update(ActorEvent* this) {
}
func_effect_8007F04C(OBJ_EFFECT_353, this->obj.pos.x + spAC.x + spA0.x,
this->obj.pos.y + spAC.y + spA0.y + var_fv0,
this->obj.pos.z + spAC.z + spA0.z, this->fwork[15], this->obj.rot.y,
this->obj.rot.z, this->vwork[29].x, this->vwork[29].y,
this->vwork[29].z + this->unk_0F4.z, spAC.x, spAC.y, spAC.z, 1.0f);
this->obj.pos.y + spAC.y + spA0.y + var_fv0, this->obj.pos.z + spAC.z + spA0.z,
this->fwork[15], this->obj.rot.y, this->obj.rot.z, this->vwork[29].x,
this->vwork[29].y, this->vwork[29].z + this->unk_0F4.z, spAC.x, spAC.y, spAC.z,
1.0f);
this->fwork[16] = -15.0f;
}
} else {
@ -3723,7 +3724,6 @@ void ActorEvent_Update(ActorEvent* this) {
D_ctx_80178130[this->index + 1] = Math_ModF(this->unk_0F4.y, 360.0f) + 180.0f;
D_ctx_80178238[this->index + 1] = 1;
}
}
}
static UNK_TYPE D_800D129C[140] = { 0 }; // unused
@ -4213,7 +4213,7 @@ void func_enmy2_800763A4(Actor* actor) {
return;
}
if (D_ctx_801784AC == 4) {
if (gGroundType == 4) {
if (Ground_801B6AEC(actor->obj.pos.x, actor->obj.pos.y - 10.0f, actor->obj.pos.z + D_ctx_80177D20) != 0) {
func_effect_8007D2C8(actor->obj.pos.x, actor->obj.pos.y + 20.0f, actor->obj.pos.z, actor->scale * 6.0f);
func_effect_8007BFFC(actor->obj.pos.x - actor->vel.x, actor->obj.pos.y + 30.0f,
@ -4232,7 +4232,7 @@ void func_enmy2_800763A4(Actor* actor) {
if ((sp60 != 0) || (actor->obj.pos.y < (gGroundHeight + 30.0f))) {
if ((Rand_ZeroOne() < 0.5f) && (actor->timer_04C < 3) && (gLevelType == LEVELTYPE_PLANET) &&
(sp60 != 999) && (gGroundType != GROUNDTYPE_WATER) &&
(sp60 != 999) && (gGroundSurface != SURFACE_WATER) &&
((actor->vel.z < -20.0f) || (actor->vel.z > 0.0f))) {
if (gCurrentLevel == LEVEL_FORTUNA) {
func_enmy2_8006BF7C(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z - actor->vel.z);
@ -4270,7 +4270,7 @@ void func_enmy2_800763A4(Actor* actor) {
} else {
if ((actor->obj.pos.y < (gGroundHeight + 30.0f)) && (gLevelType == LEVELTYPE_PLANET)) {
actor->vel.z = 0.0f;
if (gGroundType == GROUNDTYPE_WATER) {
if (gGroundSurface == SURFACE_WATER) {
func_effect_8007D9DC(actor->obj.pos.x, gGroundHeight + 2.0f, actor->obj.pos.z, 3.0f, 20.0f,
0);
func_effect_8007D9DC(actor->obj.pos.x, gGroundHeight + 2.0f, actor->obj.pos.z, 3.0f, 20.0f,

View File

@ -28,17 +28,17 @@ void func_fade_80084488(s32 arg0) {
Matrix_Pop(&gGfxMatrix);
}
void func_fade_80084688(s32 arg0, s32 arg1) {
if (arg1 != 0) {
switch (arg0) {
void func_fade_80084688(s32 fade, s32 progress) {
if (progress != 0) {
switch (fade) {
case 0:
func_fade_80084488(arg1);
func_fade_80084488(progress);
break;
case 1:
func_fade_80084370(arg1);
func_fade_80084370(progress);
break;
case 2:
func_fade_800843FC(arg1);
func_fade_800843FC(progress);
break;
default:
(void) "そのような フェード は ない (%d)\n"; // There is no such fade

View File

@ -86,7 +86,7 @@ void Game_SetGameState(void) {
}
break;
case GSTATE_MAP:
D_ctx_80177B40 = 0;
gMapState = 0;
break;
case GSTATE_GAME_OVER:
D_ctx_80177868 = 0;
@ -383,7 +383,7 @@ void Game_Update(void) {
break;
case GSTATE_INIT:
gGameState = GSTATE_TITLE;
D_ctx_80177AE0 = 1;
gTitleState = 1;
D_ctx_80177824 = 1;
Memory_FreeAll();
Play_ClearObjectData();
@ -391,9 +391,9 @@ void Game_Update(void) {
gLifeCount[0] = 2;
D_ctx_80177D20 = 0.0f;
D_hud_8016170C = gCsFrameCount = gShowLevelClearStatusScreen = gLevelStartStatusScreenTimer =
gLevelClearScreenTimer = D_versus_80178754 = gVersusMode = D_ctx_80177AE0 = gStarCount =
D_ctx_80177B40 = gPlayState = gOptionMenuStatus = gDrawMode = gShowBossHealth = gShowHud =
gBgColor = gFillScreenAlpha = 0;
gLevelClearScreenTimer = gVsMatchState = gVersusMode = gTitleState = gStarCount = gMapState =
gPlayState = gOptionMenuStatus = gDrawMode = gShowBossHealth = gShowHud = gBgColor =
gFillScreenAlpha = 0;
gNextGameState = D_ctx_80177C94 = D_ctx_80177CAC = D_ctx_80177CB4 = D_ctx_80177CBC = D_ctx_80177CC4 =
D_ctx_80177C9C = D_ctx_80177CA4 = D_play_80161A5C = D_game_80161A34 = 0;
for (i = 0; i < 4; i++) {
@ -410,7 +410,7 @@ void Game_Update(void) {
gPlayerGlareAlphas[i] = 0;
}
gVersusStage = 0;
D_ctx_801778A4 = 3;
gVsPointsToWin = 3;
gBlurAlpha = 255;
for (i = 0; i < 30; i++) {
gLeveLClearStatus[i] = 0;
@ -512,19 +512,19 @@ void Game_Update(void) {
gDPFillRectangle(gMasterDisp++, SCREEN_MARGIN, SCREEN_HEIGHT / 2 - 1 - 1, SCREEN_WIDTH - SCREEN_MARGIN,
SCREEN_HEIGHT / 2 + 1);
func_hud_8008CB8C();
HUD_dummy_8008CB8C();
}
partialFill = false;
if (gCamCount == 1) {
Graphics_FillRectangle(&gMasterDisp, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1, gPlayerGlareReds[0],
gPlayerGlareGreens[0], gPlayerGlareBlues[0], gPlayerGlareAlphas[0]);
if ((gDrawMode == DRAW_PLAY) || (gDrawMode == DRAW_ENDING)) {
func_radio_800BB5D0();
Radio_Draw();
if (gShowHud) {
func_hud_8008FA84();
func_hud_8008CA44();
HUD_Draw();
HUD_DrawEdgeArrows();
}
func_hud_8008DE68();
HUD_DrawBossHealth();
}
} else {
for (i = 0; i < gCamCount; i++) {
@ -541,18 +541,18 @@ void Game_Update(void) {
}
}
}
func_bg_80040CDC();
func_hud_8008865C();
Background_dummy_80040CDC();
HUD_DrawStatusScreens();
AllRange_UpdateCountdown();
if ((gGameState == GSTATE_PLAY) && gVersusMode) {
func_versus_800C1ED4();
Versus_Draw();
}
func_fade_80084688(0, D_ctx_80177C50);
if (!partialFill) {
Graphics_FillRectangle(&gMasterDisp, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1, gFillScreenRed,
gFillScreenGreen, gFillScreenBlue, gFillScreenAlpha);
}
func_80016A50();
Audio_dummy_80016A50();
}
}

View File

@ -669,7 +669,7 @@ void func_hud_80086664(f32 x, f32 y) {
y2 + i, 1.0f, 1.0f);
}
if ((D_ctx_80177CA0 == 0) && (gAllRangeCheckpoint == 0) && (gCurrentLevel != LEVEL_VENOM_ANDROSS) &&
if ((gSavedObjectLoadIndex == 0) && (gAllRangeCheckpoint == 0) && (gCurrentLevel != LEVEL_VENOM_ANDROSS) &&
(gCurrentLevel != LEVEL_TRAINING)) {
func_hud_80087788();
func_hud_80084B94(0);
@ -718,7 +718,7 @@ void func_hud_80086C08(f32 xPos, f32 yPos, f32 xScale, f32 yScale) {
TextureRect_8bCI(&gMasterDisp, D_1013170, D_1013570, 24, 17, xPos, yPos, xScale, yScale);
}
void func_hud_80086CC8(void) {
void HUD_DrawLevelStartStatusScreen(void) {
char pad;
f32 sp18;
f32 temp;
@ -748,7 +748,7 @@ void func_hud_80086CC8(void) {
f32 D_800D1CFC = 0.0f;
void func_hud_80086DCC(void) {
void HUD_DrawLevelClearScreen(void) {
s32 i;
s32 j;
s32 temp;
@ -1034,7 +1034,7 @@ void func_hud_80087788(void) {
}
}
void func_hud_80087B5C(void) {
void HUD_DrawLevelClearStatusScreen(void) {
s32 i;
s32 temp;
f32 x0;
@ -1307,7 +1307,7 @@ void func_hud_80088564(void) {
}
}
void func_hud_8008865C(void) {
void HUD_DrawStatusScreens(void) {
s32 i;
for (i = 0; i < 5; i++) {
@ -1315,9 +1315,9 @@ void func_hud_8008865C(void) {
D_801617E8[i]--;
}
}
func_hud_80086CC8();
func_hud_80086DCC();
func_hud_80087B5C();
HUD_DrawLevelStartStatusScreen();
HUD_DrawLevelClearScreen();
HUD_DrawLevelClearStatusScreen();
}
s32 func_hud_800886B8(void) {
@ -1563,7 +1563,7 @@ void func_hud_80088970(void) {
gAllRangeCheckpoint = 0;
gSavedZoSearchlightStatus = false;
gSavedHitCount = D_ctx_80177CA0 = 0;
gSavedHitCount = gSavedObjectLoadIndex = 0;
Audio_StopPlayerNoise(0);
gPlayer[0].state_1C8 = PLAYERSTATE_1C8_NEXT;
@ -2195,7 +2195,7 @@ void func_hud_8008AD94(void) {
RCP_SetupDL(&gMasterDisp, 0x4C);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
switch ((s32) D_ctx_80177D68) {
switch ((s32) gRadioMsgRadioId) {
case RCID_FOX:
Graphics_DisplaySmallText(73, 173, 1.0f, 1.0f, "FOX");
break;
@ -2398,7 +2398,7 @@ s32 func_hud_8008B774(void) {
s32 ret = 0;
s32 temp;
switch (D_ctx_801782A4) {
switch (gCurrentRadioPortrait) {
case 0:
case 1:
i = 0;
@ -2522,7 +2522,8 @@ void func_hud_8008B9E8(void) {
}
if ((D_80161788 == 0) && (D_8016178C == 0)) {
if ((gRadioState >= 4) && (D_ctx_801782A4 != RCID_STATIC) && (D_ctx_801782A4 != RCID_STATIC_FLIP)) {
if ((gRadioState >= 4) && (gCurrentRadioPortrait != RCID_STATIC) &&
(gCurrentRadioPortrait != RCID_STATIC_FLIP)) {
temp = func_hud_8008B774();
if (temp == 1) {
D_80161788 = 20;
@ -2535,7 +2536,7 @@ void func_hud_8008B9E8(void) {
}
}
if ((D_ctx_801782A4 == RCID_STATIC) || (D_ctx_801782A4 == RCID_STATIC_FLIP)) {
if ((gCurrentRadioPortrait == RCID_STATIC) || (gCurrentRadioPortrait == RCID_STATIC_FLIP)) {
D_80161788 = 0;
D_8016178C = 0;
}
@ -2769,7 +2770,7 @@ void func_hud_8008C6F4(s32 idx, s32 arg1) {
Matrix_Pop(&gGfxMatrix);
}
void func_hud_8008CA44(void) {
void HUD_DrawEdgeArrows(void) {
s32 D_800D2048[] = {
0x80, 0x40, 0x20, 0x10, 8 | 2, 8 | 1, 4 | 2, 4 | 1, 8, 4, 2, 1,
};
@ -2797,7 +2798,7 @@ void func_hud_8008CA44(void) {
}
}
s32 func_hud_8008CB8C(void) {
s32 HUD_dummy_8008CB8C(void) {
return 0;
}
@ -2814,7 +2815,7 @@ void func_hud_8008CBE4(void) {
s32 i;
s32 j;
if (D_ctx_801778AC != 0) {
if (gVsMatchType != 0) {
return;
}
@ -2843,7 +2844,7 @@ void func_hud_8008CBE4(void) {
for (i = 0; i < D_ctx_80177DB8[gPlayerNum]; i++) {
if (D_80161748[gPlayerNum] < (i + 1)) {
if (((i + 1) != 1) && ((i + 1) == (D_ctx_801778A4 - 1))) {
if (((i + 1) != 1) && ((i + 1) == (gVsPointsToWin - 1))) {
D_80161760[gPlayerNum] = 50;
D_80161738[gPlayerNum] = 0;
} else {
@ -3060,7 +3061,7 @@ void func_hud_8008DD78(f32 arg0, f32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg
}
}
void func_hud_8008DE68(void) {
void HUD_DrawBossHealth(void) {
f32 sp3C;
f32 temp1;
f32 temp2;
@ -3534,7 +3535,7 @@ void func_hud_8008F96C(void) {
}
}
void func_hud_8008FA84(void) {
void HUD_Draw(void) {
s32 i;
s32 goldRings;
bool medalStatus;
@ -4063,14 +4064,14 @@ void func_hud_80091254(Actor* actor) {
}
bool func_hud_80091298(Actor* actor) {
actor->fwork[1] = gPlayer[0].unk_0D0 + 10.0f;
actor->fwork[1] = gPlayer[0].baseSpeed + 10.0f;
actor->fwork[3] = 3.6f;
actor->fwork[4] = gPlayer[0].pos.x + ((f32) (actor->aiType - 2) * 700.0f);
actor->fwork[5] = gPlayer[0].pos.y;
actor->fwork[6] = gPlayer[0].unk_138;
if ((fabsf(actor->obj.pos.x - actor->fwork[4]) < 700.0f) || (fabsf(actor->obj.pos.z - actor->fwork[6]) < 700.0f)) {
actor->fwork[1] = gPlayer[0].unk_0D0 - 10.0f;
actor->fwork[1] = gPlayer[0].baseSpeed - 10.0f;
actor->fwork[3] = 1.2f;
}
return false;
@ -4929,7 +4930,7 @@ void HUD_AquasStart(Player* player) {
player->unk_234 = 0;
player->unk_1D0 = 1;
player->unk_208 = 0;
player->unk_0D0 = 0.0f;
player->baseSpeed = 0.0f;
gFillScreenAlpha = 255;
gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 0;
@ -5222,7 +5223,7 @@ void HUD_AquasStart(Player* player) {
D_ctx_80177A48[0] = 0.1f;
player->unk_0E8 = 0.0f;
player->unk_0D0 = 20.0f;
player->baseSpeed = 20.0f;
player->unk_234 = 1;
player->unk_1D0 = 6;
@ -5287,7 +5288,7 @@ void HUD_AquasStart(Player* player) {
src.x = 0.0f;
src.y = 0.0f;
src.z = player->unk_0D0;
src.z = player->baseSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &src, &dest);
@ -5692,9 +5693,9 @@ void HUD_AquasComplete(Player* player) {
Matrix_RotateY(gCalcMatrix, -(M_DTOR * D_ctx_80177A48[4]), MTXF_APPLY);
Matrix_MultVec3f(gCalcMatrix, &src, &dest);
Math_SmoothStepToF(&gCsCamEyeX, dest.x, 0.02f, player->unk_0D0, 0.001f);
Math_SmoothStepToF(&gCsCamEyeY, dest.y, 0.02f, player->unk_0D0, 0.001f);
Math_SmoothStepToF(&gCsCamEyeZ, dest.z, 0.02f, player->unk_0D0, 0.001f);
Math_SmoothStepToF(&gCsCamEyeX, dest.x, 0.02f, player->baseSpeed, 0.001f);
Math_SmoothStepToF(&gCsCamEyeY, dest.y, 0.02f, player->baseSpeed, 0.001f);
Math_SmoothStepToF(&gCsCamEyeZ, dest.z, 0.02f, player->baseSpeed, 0.001f);
player->cam.eye.x = gCsCamEyeX;
player->cam.eye.y = gCsCamEyeY;
@ -5730,8 +5731,8 @@ void HUD_AquasComplete(Player* player) {
player->unk_0F8 = player->unk_0EC = player->unk_12C = player->unk_130 = 0.0f;
player->vel.x = player->vel.y = player->vel.z = 0.0f;
player->unk_0E4 = player->unk_0E8 = player->unk_0EC = 0.0f;
player->unk_110 = player->unk_114 = 0.0f;
player->unk_0D0 = 3.6f;
player->boostSpeed = player->unk_114 = 0.0f;
player->baseSpeed = 3.6f;
player->unk_138 = player->pos.z = 0.0f;
player->pos.y = 100.0f;
player->pos.x = -100.0f;
@ -5819,7 +5820,7 @@ void HUD_AquasComplete(Player* player) {
}
if (gCsFrameCount >= 1200) {
Math_SmoothStepToF(&actor->fwork[3], 800.0f, 0.02f, 1000.0f, 0.001f);
Math_SmoothStepToF(&player->unk_0D0, 5.0f, 0.1f, 1000.0f, 0.001f);
Math_SmoothStepToF(&player->baseSpeed, 5.0f, 0.1f, 1000.0f, 0.001f);
} else {
actor->fwork[4] = player->pos.x;
actor->fwork[5] = player->pos.y;
@ -5940,7 +5941,7 @@ void HUD_AquasComplete(Player* player) {
src.x = 0.0f;
src.y = 0.0f;
src.z = player->unk_0D0;
src.z = player->baseSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &src, &dest);
@ -5990,7 +5991,7 @@ void func_hud_80096A74(Player* player) {
case 0:
player->pos.y += 3400.0f;
player->unk_0E4 = 270.0f;
gPlayer[0].unk_0D0 = 0.0f;
gPlayer[0].baseSpeed = 0.0f;
D_ctx_80177A48[1] = 100.0f;
D_ctx_80177A48[2] = 0.0f;
@ -6088,7 +6089,7 @@ void func_hud_80096A74(Player* player) {
D_ctx_80177CE8 = 0;
gLevelStartStatusScreenTimer = 50;
player->state_1C8 = PLAYERSTATE_1C8_ACTIVE;
player->unk_0D0 = D_play_80161A54;
player->baseSpeed = gArwingSpeed;
player->unk_1D0 = 0;
player->timer_1F8 = 0;
player->unk_014 = 0.0f;
@ -6100,7 +6101,7 @@ void func_hud_80096A74(Player* player) {
}
if (gCsFrameCount >= 30) {
Math_SmoothStepToF(&player->unk_0D0, 30.0f, 0.05f, 1000.0f, 0.001f);
Math_SmoothStepToF(&player->baseSpeed, 30.0f, 0.05f, 1000.0f, 0.001f);
if (gCsFrameCount < 110) {
player->unk_0EC += (D_ctx_80177A48[4] * 2.0f);
@ -6129,7 +6130,7 @@ void func_hud_80096A74(Player* player) {
src.x = 0.0f;
src.y = 0.0f;
src.z = player->unk_0D0;
src.z = player->baseSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &src, &dest);

View File

@ -37,13 +37,13 @@ u8 D_800D2F6C[20] = {
};
u8 gSavedZoSearchlightStatus;
f32 D_play_80161A54;
f32 gArwingSpeed;
s32 D_play_80161A58;
s32 D_play_80161A5C;
u16 gScreenFlashTimer;
u16 gDropHitCountItem;
s32 D_play_80161A64;
EnvSettings* sEnvSettings;
Environment* sEnvironment;
#define MEM_ARRAY_ALLOCATE(arr, count) ((arr) = Memory_Allocate((count) * sizeof(*(arr))))
@ -170,7 +170,7 @@ void func_play_800A46A0(Player* player) {
if (!player->cockpitView || (gLevelMode == LEVELMODE_ALL_RANGE)) {
if (player->wings.rightState <= WINGSTATE_BROKEN) {
if (((gGameFrameCount % 2U) == 0) && (D_ctx_80177D70[player->num] != 0)) {
if (((gGameFrameCount % 2U) == 0) && (gRightWingDebrisTimer[player->num] != 0)) {
func_effect_8007D10C(RAND_FLOAT_CENTERED(10.0f) + player->hit1.x, RAND_FLOAT(5.0f) + player->hit1.y,
player->hit1.z, 1.0f);
}
@ -181,7 +181,7 @@ void func_play_800A46A0(Player* player) {
}
}
if (player->wings.leftState <= WINGSTATE_BROKEN) {
if (((gGameFrameCount % 2U) == 0) && (D_ctx_80177D88[player->num] != 0)) {
if (((gGameFrameCount % 2U) == 0) && (gLeftWingDebrisTimer[player->num] != 0)) {
func_effect_8007D10C(RAND_FLOAT_CENTERED(10.0f) + player->hit2.x, RAND_FLOAT(5.0f) + player->hit2.y,
player->hit2.z, 1.0f);
}
@ -234,7 +234,7 @@ void func_play_800A4C40(Player* player) {
Vec3f sp3C;
Vec3f sp30;
if (gGroundType == GROUNDTYPE_WATER) {
if (gGroundSurface == SURFACE_WATER) {
Matrix_Translate(gCalcMatrix, player->pos.x, player->pos.y, player->unk_138, MTXF_NEW);
Matrix_RotateY(gCalcMatrix, (player->unk_114 + player->unk_0E8 + 180.0f) * M_DTOR, MTXF_APPLY);
Matrix_RotateX(gCalcMatrix, -((player->unk_0E4 + player->unk_4D8) * M_DTOR), MTXF_APPLY);
@ -290,7 +290,7 @@ void func_play_800A4F7C(void) {
gLevelObjects = SEGMENTED_TO_VIRTUAL(D_versus_302E0E4);
break;
case VS_STAGE_SECTOR_Z:
if (D_ctx_801778AC == 2) {
if (gVsMatchType == 2) {
gLevelObjects = SEGMENTED_TO_VIRTUAL(D_versus_302E378);
} else {
gLevelObjects = SEGMENTED_TO_VIRTUAL(D_versus_302E170);
@ -455,7 +455,7 @@ void Play_Setup(void) {
gMissedZoSearchlight = false;
gSavedZoSearchlightStatus = false;
gSceneSetup = 0;
gAllRangeCheckpoint = D_ctx_80177CA0 = 0;
gAllRangeCheckpoint = gSavedObjectLoadIndex = 0;
D_ctx_80177CB0 = 0.0f;
gSavedHitCount = gCsFrameCount = gLevelStartStatusScreenTimer = gLevelClearScreenTimer = gRadioState = 0;
D_ctx_8017782C = 1;
@ -473,7 +473,7 @@ void Play_Setup(void) {
}
}
EnvSettings* D_800D2F98[21] = {
Environment* D_800D2F98[21] = {
&D_CO_6037160, &D_ME_6026C80, &D_SX_602A120, &D_A6_6023F20, &D_A6_6028760, &D_SY_602E4B0, &D_VE1_6007E30,
&D_SO_601F1F0, &D_ZO_60266D0, &D_ANDROSS_C035110, &D_TR_6006A60, &D_MA_6030E30, &D_TI_6005000, &D_AQ_602E540,
&D_FO_600EA90, NULL, &D_KA_6011000, &D_BO_600FF30, &D_SZ_6006E70, &D_VE2_6014D50, &D_versus_302DD70,
@ -483,17 +483,17 @@ void func_play_800A594C(void) {
if (gVersusMode) {
switch (gVersusStage) {
case 0:
sEnvSettings = SEGMENTED_TO_VIRTUAL(&D_versus_302DD70);
sEnvironment = SEGMENTED_TO_VIRTUAL(&D_versus_302DD70);
break;
case 1:
sEnvSettings = SEGMENTED_TO_VIRTUAL(&D_versus_302DDB4);
sEnvironment = SEGMENTED_TO_VIRTUAL(&D_versus_302DDB4);
break;
case 2:
sEnvSettings = SEGMENTED_TO_VIRTUAL(&D_versus_302DDF8);
sEnvironment = SEGMENTED_TO_VIRTUAL(&D_versus_302DDF8);
break;
}
} else {
sEnvSettings = SEGMENTED_TO_VIRTUAL(D_800D2F98[gCurrentLevel]);
sEnvironment = SEGMENTED_TO_VIRTUAL(D_800D2F98[gCurrentLevel]);
}
if (D_ctx_8017782C == 0) {
if (gCurrentLevel == LEVEL_SOLAR) {
@ -502,28 +502,28 @@ void func_play_800A594C(void) {
Audio_KillSfxBySourceAndId(gPlayer[0].sfxSource, 0x3140807E);
}
} else if (gCurrentLevel == LEVEL_AQUAS) {
sEnvSettings = SEGMENTED_TO_VIRTUAL(&D_AQ_602E584);
sEnvironment = SEGMENTED_TO_VIRTUAL(&D_AQ_602E584);
}
gBgmSeqId = sEnvSettings->seqId;
gLevelType = sEnvSettings->type;
D_ctx_801784AC = sEnvSettings->unk_04;
gBgColor = sEnvSettings->bgColor;
gFogRed = sEnvSettings->fogR;
gFogGreen = sEnvSettings->fogG;
gFogBlue = sEnvSettings->fogB;
gFogNear = sEnvSettings->fogN;
gFogFar = sEnvSettings->fogF;
gLight1R = gLight2R = D_ctx_80161A70 = sEnvSettings->lightR;
gLight1G = gLight2G = D_ctx_80161A74 = sEnvSettings->lightG;
gLight1B = gLight2B = D_ctx_80161A78 = sEnvSettings->lightB;
gAmbientR = sEnvSettings->ambR;
gAmbientG = sEnvSettings->ambG;
gAmbientB = sEnvSettings->ambB;
D_ctx_801784D0 = D_ctx_801784F8 = D_ctx_80178520 = D_ctx_801784B8 = D_ctx_801784C4 = sEnvSettings->unk_20.x;
D_ctx_801784D4 = D_ctx_801784FC = D_ctx_80178524 = D_ctx_801784BC = D_ctx_801784C8 = sEnvSettings->unk_20.y;
D_ctx_801784D8 = D_ctx_80178500 = D_ctx_80178528 = D_ctx_801784C0 = D_ctx_801784CC = sEnvSettings->unk_20.z;
gBgmSeqId = sEnvironment->seqId;
gLevelType = sEnvironment->type;
gGroundType = sEnvironment->unk04;
gBgColor = sEnvironment->bgColor;
gFogRed = sEnvironment->fogR;
gFogGreen = sEnvironment->fogG;
gFogBlue = sEnvironment->fogB;
gFogNear = sEnvironment->fogN;
gFogFar = sEnvironment->fogF;
gLight1R = gLight2R = D_ctx_80161A70 = sEnvironment->lightR;
gLight1G = gLight2G = D_ctx_80161A74 = sEnvironment->lightG;
gLight1B = gLight2B = D_ctx_80161A78 = sEnvironment->lightB;
gAmbientR = sEnvironment->ambR;
gAmbientG = sEnvironment->ambG;
gAmbientB = sEnvironment->ambB;
gEnvLightxRot = gLight2xRotTarget = D_ctx_80178520 = gLight1xRot = gLight1xRotTarget = sEnvironment->lightDir.x;
gEnvLightyRot = gLight2yRotTarget = D_ctx_80178524 = gLight1yRot = gLight1yRotTarget = sEnvironment->lightDir.y;
gEnvLightzRot = gLight2zRotTarget = D_ctx_80178528 = gLight1zRot = gLight1zRotTarget = sEnvironment->lightDir.z;
gProjectFar = 12800.0f;
D_ctx_80178540 = 40;
gLight2colorStep = 40;
D_ctx_80178544 = 40;
gFovY = 45.0f;
}
@ -779,14 +779,14 @@ bool func_play_800A6A74(void) {
void Player_DamageWings(Player* player, s32 side, s32 damage) {
if ((player->form == FORM_ARWING) && (gShieldAlpha[player->num] < 1.0f)) {
if (side == 1) {
D_ctx_80177D40[player->num] = 30;
gRightWingFlashTimer[player->num] = 30;
if (player->wings.rightState == WINGSTATE_INTACT) {
gRightWingHealth[player->num] -= damage;
if (gRightWingHealth[player->num] <= 0) {
func_play_800A69F8(1, player->hit1.x, player->hit1.y, player->hit1.z);
player->wings.rightState = WINGSTATE_BROKEN;
func_effect_8007D0E0(player->hit1.x, player->hit1.y, player->hit1.z, 2.0f);
D_ctx_80177D70[player->num] = 50;
gRightWingDebrisTimer[player->num] = 50;
func_play_800A5FA0(player->sfxSource, 0x0900A02C, player->num);
if (gAllRangeWingRepairTimer == 0) {
gAllRangeWingRepairTimer = 1000;
@ -794,14 +794,14 @@ void Player_DamageWings(Player* player, s32 side, s32 damage) {
}
}
} else if (side == 2) {
D_ctx_80177D58[player->num] = 30;
gLeftWingFlashTimer[player->num] = 30;
if (player->wings.leftState == WINGSTATE_INTACT) {
gLeftWingHealth[player->num] -= damage;
if (gLeftWingHealth[player->num] <= 0) {
func_play_800A69F8(0, player->hit2.x, player->hit2.y, player->hit2.z);
player->wings.leftState = WINGSTATE_BROKEN;
func_effect_8007D0E0(player->hit2.x, player->hit2.y, player->hit2.z, 2.0f);
D_ctx_80177D88[player->num] = 50;
gLeftWingDebrisTimer[player->num] = 50;
func_play_800A5FA0(player->sfxSource, 0x0900A02C, player->num);
if (gAllRangeWingRepairTimer == 0) {
gAllRangeWingRepairTimer = 1000;
@ -833,7 +833,7 @@ void Player_ApplyDamage(Player* player, s32 direction, s32 damage) {
player->unk_284 = 0;
player->unk_1F4 = 20;
if (player->unk_1A4 > 40) {
sp34 = (player->unk_110 * 0.3f) + 20.0f;
sp34 = (player->boostSpeed * 0.3f) + 20.0f;
player->timer_498 = 5;
} else if ((gCurrentLevel == LEVEL_VENOM_ANDROSS) && (gBossActive == 0)) {
player->timer_498 = 3;
@ -951,7 +951,7 @@ void func_play_800A729C(Player* player, u32 arg1, f32 arg2, f32 arg3) {
if (player->form == FORM_LANDMASTER) {
player->pos.x -= D_800D2FEC[player->unk_21C];
}
Math_SmoothStepToF(&player->unk_0D0, 2.0f, 1.0f, 2.0f, 0.00001f);
Math_SmoothStepToF(&player->baseSpeed, 2.0f, 1.0f, 2.0f, 0.00001f);
break;
case 3:
case 4:
@ -962,7 +962,7 @@ void func_play_800A729C(Player* player, u32 arg1, f32 arg2, f32 arg3) {
player->pos.z += D_800D2FEC[player->unk_21C];
}
player->unk_138 = player->pos.z;
Math_SmoothStepToF(&player->unk_0D0, 2.0f, 1.0f, 2.0f, 0.00001f);
Math_SmoothStepToF(&player->baseSpeed, 2.0f, 1.0f, 2.0f, 0.00001f);
break;
case 0:
case 5:
@ -1582,12 +1582,12 @@ void func_play_800A8BA4(Player* player) {
f32 sp8C;
func_play_800A887C(player);
if (D_ctx_801784AC == 4) {
if (gGroundType == 4) {
switch (player->form) {
case FORM_LANDMASTER:
func_tank_800444BC(player);
break;
case FORM_BLUE_MARINE:
case FORM_BLUE_MARINE: // This should probably be FORM_ON_FOOT
if (Ground_801B6AEC(player->pos.x, player->pos.y - 12.0f, player->unk_138 + player->unk_144)) {
Ground_801B6E20(player->pos.x, player->unk_138 + player->unk_144, &spE8, &spE0, &spE4);
player->pos.y = spE0 + 10.0f;
@ -1596,9 +1596,9 @@ void func_play_800A8BA4(Player* player) {
}
} else if (player->form == FORM_ARWING) {
if ((player->hit1.y < (gGroundHeight + 13.0f)) && (player->state_1C8 != PLAYERSTATE_1C8_DOWN)) {
if (gGroundType == GROUNDTYPE_WATER) {
if (gGroundSurface == SURFACE_WATER) {
player->unk_1F4 = 7;
player->unk_0E4 = (player->unk_0D0 + player->unk_110) * 0.5f;
player->unk_0E4 = (player->baseSpeed + player->boostSpeed) * 0.5f;
} else {
Player_ApplyDamage(player, 1, 21);
}
@ -1609,9 +1609,9 @@ void func_play_800A8BA4(Player* player) {
}
}
if ((player->hit2.y < (gGroundHeight + 13.0f)) && (player->state_1C8 != PLAYERSTATE_1C8_DOWN)) {
if (gGroundType == GROUNDTYPE_WATER) {
if (gGroundSurface == SURFACE_WATER) {
player->unk_1F4 = 7;
player->unk_0E4 = (player->unk_0D0 + player->unk_110) * 0.5f;
player->unk_0E4 = (player->baseSpeed + player->boostSpeed) * 0.5f;
} else {
Player_ApplyDamage(player, 2, 21);
}
@ -1769,10 +1769,10 @@ void func_play_800A8BA4(Player* player) {
if (temp_v0 != 0) {
if (temp_v0 < 0) {
if (temp_v0 == -1) {
D_ctx_80178540 = 40;
D_ctx_80178570 = 20;
D_ctx_80178574 = 20;
D_ctx_80178578 = 20;
gLight2colorStep = 40;
gLight2RTarget = 20;
gLight2GTarget = 20;
gLight2BTarget = 20;
player->shadowing = 80;
}
if (player->whooshTimer == 0) {
@ -1795,7 +1795,7 @@ void func_play_800A8BA4(Player* player) {
if ((scenery->obj.id == OBJ_SCENERY_48) || (scenery->obj.id == OBJ_SCENERY_55) ||
(scenery->obj.id == OBJ_SCENERY_49)) {
Matrix_RotateY(gCalcMatrix, scenery->obj.rot.y * M_DTOR, MTXF_NEW);
spC8.x = -(player->unk_0D0 + player->unk_110) * 0.7f;
spC8.x = -(player->baseSpeed + player->boostSpeed) * 0.7f;
spC8.y = 0.0f;
spC8.z = 0.0f;
@ -1850,7 +1850,7 @@ void func_play_800A8BA4(Player* player) {
spfD4.z = fabsf(boss->obj.pos.z - player->unk_138) * 0.8333333f;
if ((VEC3F_MAG(&spfD4)) < 1500.0f) {
Player_ApplyDamage(player, 0, boss->info.damage);
player->unk_110 = 0.0f;
player->boostSpeed = 0.0f;
player->timer_498 = 5;
player->unk_0D8.y = 30.0f;
boss->dmgType = DMG_BEAM;
@ -1943,7 +1943,7 @@ void func_play_800A8BA4(Player* player) {
if (gRingPassCount == 3) {
Radio_PlayMessage(gMsg_ID_5504, RCID_FALCO);
}
AUDIO_PLAY_SFX(D_enmy_800CFF54[gRingPassCount], gPlayer[0].sfxSource, 0);
AUDIO_PLAY_SFX(gWarpRingSfx[gRingPassCount], gPlayer[0].sfxSource, 0);
AUDIO_PLAY_SFX(0x49008025, gDefaultSfxSource, 4);
}
} else if (temp_v0 < 0) {
@ -2061,7 +2061,7 @@ void func_play_800A8BA4(Player* player) {
player->unk_0D8.z = (player->unk_138 - opponent->unk_138) * 0.5f;
opponent->unk_0D8.x = -player->unk_0D8.x;
opponent->unk_0D8.z = -player->unk_0D8.z;
opponent->unk_0D0 = player->unk_0D0 = 2.0f;
opponent->baseSpeed = player->baseSpeed = 2.0f;
} else {
func_play_800A8804(player, opponent);
func_play_800A8804(opponent, player);
@ -2073,7 +2073,7 @@ void func_play_800A8BA4(Player* player) {
if (D_ctx_80178294 != 0) {
if (func_play_800A73E4(&sp94, &sp90, player->hit4.x, player->hit4.y, player->hit4.z)) {
if (gCurrentLevel == LEVEL_ZONESS) {
player->unk_0E4 = (player->unk_0D0 + player->unk_110) * 0.8f;
player->unk_0E4 = (player->baseSpeed + player->boostSpeed) * 0.8f;
player->unk_1F4 = 15;
func_effect_8007B228(player->hit4.x, sp94, player->hit4.z, 1.0f);
} else {
@ -2081,7 +2081,7 @@ void func_play_800A8BA4(Player* player) {
Player_ApplyDamage(player, 4, 10);
}
player->unk_0D8.y = 30.0f;
player->unk_0E4 = (player->unk_0D0 + player->unk_110) * 0.8f;
player->unk_0E4 = (player->baseSpeed + player->boostSpeed) * 0.8f;
}
if (player->state_1C8 == PLAYERSTATE_1C8_DOWN) {
player->timer_220 = 2;
@ -2152,7 +2152,7 @@ void func_play_800AA800(Player* player) {
if (player->unk_240 == 0) {
player->unk_064 = player->pos.x;
player->unk_06C = player->unk_138 - player->pos.y;
if (D_ctx_801784AC != 4) {
if (gGroundType != 4) {
if (gCamCount == 1) {
player->unk_068 = gGroundHeight + 3.0f;
} else {
@ -2383,7 +2383,7 @@ void func_play_800AB334(void) {
switch (gCurrentLevel) {
case LEVEL_TRAINING:
AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_28);
D_ctx_8017796C = -1;
gTeamLowHealthMsgTimer = -1;
break;
case LEVEL_VENOM_1:
AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_6);
@ -2394,7 +2394,7 @@ void func_play_800AB334(void) {
case LEVEL_VENOM_ANDROSS:
AUDIO_SET_SPEC(SFXCHAN_0, AUDIOSPEC_15);
Audio_SetEnvSfxReverb(0);
D_ctx_8017796C = -1;
gTeamLowHealthMsgTimer = -1;
break;
}
D_ctx_80178294 = 0;
@ -2514,7 +2514,7 @@ void func_play_800AB964(void) {
s32 i;
s32 j;
D_versus_80178754 = 0;
gVsMatchState = 0;
for (i = 0; i < 4; i++) {
D_ctx_80177DB8[i] = 0;
for (j = 0; j < 10; j++) {
@ -2543,7 +2543,7 @@ void func_play_800ABA08(void) {
void Play_Init(void) {
s32 i;
D_play_80161A54 = 40.0f;
gArwingSpeed = 40.0f;
for (i = 0; i < 4; i++) {
gControllerRumbleEnabled[i] = 0;
}
@ -2574,7 +2574,7 @@ void Play_Init(void) {
D_display_800CA230 = D_800D2F58 = 0.0f;
gLevelMode = LEVELMODE_ON_RAILS;
D_ctx_80177CE8 = D_bg_8015F968 = 0.0f;
D_hud_800D1970 = gVersusMode = D_ctx_80178300 = gChangeTo360 = 0;
D_hud_800D1970 = gVersusMode = gHideRadio = gChangeTo360 = 0;
if (gCurrentLevel >= LEVEL_FORTUNA) {
gLevelMode = LEVELMODE_ALL_RANGE;
if (gCurrentLevel == LEVEL_VERSUS) {
@ -2587,14 +2587,14 @@ void Play_Init(void) {
}
D_ctx_80177E7C = 0;
func_play_800A594C();
gDropHitCountItem = D_ctx_8017796C = gStartAndrossFightTimer = gSoShieldsEmpty = gAllRangeEventTimer =
gDropHitCountItem = gTeamLowHealthMsgTimer = gStartAndrossFightTimer = gSoShieldsEmpty = gAllRangeEventTimer =
gAllRangeFrameCount = gBossActive = gGameFrameCount = gCameraShake = D_ctx_801782FC = gBossFrameCount =
gCallTimer = gAllRangeSupplyTimer = gMissionStatus = 0;
if (gCurrentLevel == LEVEL_SECTOR_X) {
gMissionStatus = MISSION_ACCOMPLISHED;
}
D_ctx_80177CC0 = -25000.0f;
gWaterLevel = -25000.0f;
D_ctx_80177950 = 1.0f;
if ((gCurrentLevel == LEVEL_VENOM_2) && (gLevelPhase == 2)) {
gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 255;
@ -2622,8 +2622,8 @@ void Play_Init(void) {
gStarCount = 0;
}
gFogAlpha = 255;
D_ctx_801784E8 = 5.0f;
D_ctx_80178510 = 5.0f;
gLight1rotStep = 5.0f;
gLight2rotStep = 5.0f;
D_ctx_80178538 = 5.0f;
Play_ClearObjectData();
D_ctx_801782C8 = 0;
@ -2631,7 +2631,7 @@ void Play_Init(void) {
Ground_801B5110(0.0f, 0.0f, 200.0f);
}
if (gCurrentLevel == LEVEL_AQUAS) {
D_ctx_80177CC0 = 1000.0f;
gWaterLevel = 1000.0f;
}
gLoadLevelObjects = false;
gCamCount = 1;
@ -2694,7 +2694,7 @@ void Play_Init(void) {
break;
case LEVEL_VERSUS:
func_play_800A4F7C();
D_ctx_8017796C = -1;
gTeamLowHealthMsgTimer = -1;
break;
}
}
@ -3232,13 +3232,13 @@ void func_play_800ADF58(Player* player) {
D_ctx_80177D08 = -player->vel.z;
D_ctx_80177D20 = player->unk_144;
D_ctx_80177CE8 += player->unk_140;
if (D_ctx_801784AC == 4) {
if (gGroundType == 4) {
D_ctx_80177CC8 = player->unk_140;
}
if ((gBossActive == 0) && (player->unk_144 > 500000.0f)) {
player->unk_144 = 0.0f;
player->pos.z = 0.0f;
D_ctx_80177DC8 = 0;
gObjectLoadIndex = 0;
Play_ClearObjectData();
}
player->unk_138 = player->pos.z + player->unk_08C;
@ -3430,7 +3430,7 @@ void func_play_800AE4A4(Player* player) {
sp4C.x += 2.5f;
sp4C.y -= 2.5f;
}
sp4C.z = player->unk_0D0 + player->unk_110;
sp4C.z = player->baseSpeed + player->boostSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp4C, &sp40);
player->vel.x = sp40.x;
player->vel.z = sp40.z;
@ -3513,7 +3513,7 @@ void func_play_800AECAC(Player* player) {
Matrix_RotateX(gCalcMatrix, -((player->unk_120 + player->unk_0E4 + player->unk_4D8) * M_DTOR), MTXF_APPLY);
sp4C.x = 0.0f;
sp4C.y = 0.0f;
sp4C.z = player->unk_0D0;
sp4C.z = player->baseSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp4C, &sp40);
player->vel.x = sp40.x;
player->vel.z = sp40.z;
@ -3644,7 +3644,7 @@ void func_play_800AF07C(Player* player) {
sp68.x = 0.0f;
sp68.y = 0.0f;
sp68.z = player->unk_0D0;
sp68.z = player->baseSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp68, &sp44);
@ -3657,7 +3657,7 @@ void func_play_800AF07C(Player* player) {
sp68.x = 0.0f;
sp68.y = 0.0f;
sp68.z = -player->unk_110;
sp68.z = -player->boostSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp68, &sp50);
@ -3670,7 +3670,7 @@ void func_play_800AF07C(Player* player) {
}
sp68.x = 0.0f;
sp68.y = 0.0f;
sp68.z = -player->unk_110;
sp68.z = -player->boostSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp68, &sp50);
@ -3791,17 +3791,17 @@ void func_play_800AF928(Player* player) {
Matrix_RotateY(gCalcMatrix, (player->unk_114 + player->unk_0E8 + 180.0f) * M_DTOR, MTXF_APPLY);
sp44.x = 0.0f;
sp44.y = 0.0f;
sp44.z = player->unk_0D0;
sp44.z -= fabsf((player->unk_184 * 0.4f * player->unk_0D0) / 15.0f);
sp44.z += SIN_DEG(player->unk_000) * player->unk_110;
sp44.z = player->baseSpeed;
sp44.z -= fabsf((player->unk_184 * 0.4f * player->baseSpeed) / 15.0f);
sp44.z += SIN_DEG(player->unk_000) * player->boostSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp44, &sp38);
player->vel.x = sp38.x;
player->vel.z = sp38.z;
if (player->unk_16C > 0.2f) {
Math_SmoothStepToF(&player->unk_184, player->unk_0D0 * 0.5f, 1.0f, 1.0f, 0);
Math_SmoothStepToF(&player->unk_184, player->baseSpeed * 0.5f, 1.0f, 1.0f, 0);
}
if (player->unk_170 > 0.2f) {
Math_SmoothStepToF(&player->unk_184, -player->unk_0D0 * 0.5f, 1.0f, 1.0f, 0);
Math_SmoothStepToF(&player->unk_184, -player->baseSpeed * 0.5f, 1.0f, 1.0f, 0);
}
if (!(player->unk_170 > 0.2f) && !(player->unk_16C > 0.2f) && (player->unk_1D4 != 0)) {
Math_SmoothStepToF(&player->unk_184, 0.0f, 1.0f, 0.75f, 0.0f);
@ -3848,7 +3848,7 @@ void func_play_800AF928(Player* player) {
player->unk_138 = player->pos.z;
player->unk_0F8 = player->unk_0EC + player->unk_12C + player->unk_130;
if (player->unk_1D4 != 0) {
player->unk_0F4 += player->unk_0D0 * 5.0f;
player->unk_0F4 += player->baseSpeed * 5.0f;
player->unk_0F0 = SIN_DEG(player->unk_0F4) * 0.7f;
}
func_play_800A46A0(player);
@ -3867,7 +3867,7 @@ void func_play_800B00C0(Player* player) {
sp28 = D_800D30F4[gPlayerNum];
sp24 = D_800D3104[gPlayerNum];
}
Math_SmoothStepToF(&player->unk_0D0, sp2C, 1.0f, 1.0f, 0.00001f);
Math_SmoothStepToF(&player->baseSpeed, sp2C, 1.0f, 1.0f, 0.00001f);
Math_SmoothStepToF(&player->unk_008, sp28, 0.1f, sp24, 0.00001f);
}
@ -3907,7 +3907,7 @@ void func_play_800B0194(Player* player) {
sp74 = gInputPress->stick_x;
sp70 = gInputPress->stick_y;
Math_SmoothStepToF(&player->unk_0E8, -sp74 * D_ctx_80177970 * 0.6f, 0.5f, D_ctx_80177968, 0.001f);
Math_SmoothStepToF(&player->unk_0EC, -sp74 * D_ctx_80177970 * 0.2f * player->unk_0D0 / 15.0f, 0.2f, 5.0f, 0.001f);
Math_SmoothStepToF(&player->unk_0EC, -sp74 * D_ctx_80177970 * 0.2f * player->baseSpeed / 15.0f, 0.2f, 5.0f, 0.001f);
player->unk_0F8 = player->unk_0EC;
if ((sp74 != 0.0f) || (sp70 != 0.0f)) {
Math_SmoothStepToF(&player->unk_15C, sp74 * D_ctx_80177970, 0.9f, 2.0f * D_ctx_80177968, 0.1f);
@ -3928,7 +3928,7 @@ void func_play_800B0194(Player* player) {
Math_SmoothStepToF(&player->unk_168, player->unk_178, 0.1f, 10.0f, 0.00001f);
}
player->unk_108 = player->unk_0E8;
if (player->unk_0D0 < 1.5f) {
if (player->baseSpeed < 1.5f) {
var_fv0 = 0.12f;
var_fa0 = 3.0f;
} else {
@ -3943,7 +3943,7 @@ void func_play_800B0194(Player* player) {
Matrix_RotateY(gCalcMatrix, (player->unk_114 + player->unk_0E8 + 180.0f) * M_DTOR, MTXF_APPLY);
sp58.x = 0.0f;
sp58.y = 0.0f;
sp58.z = player->unk_0D0;
sp58.z = player->baseSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp58, &sp4C);
player->vel.x = sp4C.x;
player->vel.z = sp4C.z;
@ -3955,7 +3955,7 @@ void func_play_800B0194(Player* player) {
Math_SmoothStepToAngle(&player->unk_0FC, player->unk_104, 0.15f, 15.0f, 0.005f);
Math_SmoothStepToAngle(&player->unk_100, player->unk_10C, 0.15f, 15.0f, 0.005f);
if (player->unk_1D4 != 0) {
if (player->unk_0D0 > 1.0f) {
if (player->baseSpeed > 1.0f) {
player->unk_00C += player->unk_008;
if ((s32) player->unk_00C >= Animation_GetFrameCount(&D_versus_301CFEC)) {
player->unk_00C = 0.0f;
@ -3984,9 +3984,9 @@ void func_play_800B0194(Player* player) {
if (player->unk_010 < 50.0f) {
player->unk_010 += 2.0f;
}
sp64 = player->unk_0D0;
sp64 = player->baseSpeed;
if (gGameFrameCount & 4) {
sp64 = 2.0f * player->unk_0D0;
sp64 = 2.0f * player->baseSpeed;
}
Math_SmoothStepToF(&player->unk_164, sp64, 0.5f, 20.0f, 0.0001f);
Math_SmoothStepToF(&player->unk_168, sp64, 0.5f, 20.0f, 0.0001f);
@ -4104,13 +4104,14 @@ void func_play_800B0F50(Player* playerx) {
D_Timer_80177A88[gPlayerNum] = gShieldTimer[gPlayerNum] = gHasShield[gPlayerNum] = gChargeTimers[gPlayerNum] =
gVsLockOnTimers[gPlayerNum][0] = gVsLockOnTimers[gPlayerNum][1] = gVsLockOnTimers[gPlayerNum][2] =
gVsLockOnTimers[gPlayerNum][3] = 0;
D_ctx_80177D40[gPlayerNum] = D_ctx_80177D58[gPlayerNum] = D_ctx_80177D70[gPlayerNum] = D_ctx_80177D88[gPlayerNum] =
D_ctx_80177990[gPlayerNum] = D_ctx_801779A8[gPlayerNum] = D_ctx_80177AA0[gPlayerNum] = 0.0f;
gRightWingFlashTimer[gPlayerNum] = gLeftWingFlashTimer[gPlayerNum] = gRightWingDebrisTimer[gPlayerNum] =
gLeftWingDebrisTimer[gPlayerNum] = D_ctx_80177990[gPlayerNum] = D_ctx_801779A8[gPlayerNum] =
D_ctx_80177AA0[gPlayerNum] = 0.0f;
gShieldAlpha[gPlayerNum] = 0.0f;
player->unk_190 = 1.0f;
player->unk_194 = 1.0f;
gRadioState = D_ctx_80177D68 = D_ctx_801782A4 = 0;
D_ctx_8017853C = D_ctx_80177D50 = 0.0f;
gRadioState = gRadioMsgRadioId = gCurrentRadioPortrait = 0;
D_ctx_8017853C = gRadioTextBoxScaleY = 0.0f;
player->cam.eye.z = 400.0f;
player->unk_148 = 0.77699995f;
player->unk_14C = 0.77699995f;
@ -4134,7 +4135,7 @@ void func_play_800B0F50(Player* playerx) {
player->unk_0A4 = gGroundHeight + 40.0f;
player->unk_0A8 = 3000.0f;
}
player->unk_0D0 = D_play_80161A54;
player->baseSpeed = gArwingSpeed;
player->pos.y = 350.0f;
switch (gCurrentLevel) {
case LEVEL_MACBETH:
@ -4143,7 +4144,7 @@ void func_play_800B0F50(Player* playerx) {
player->unk_014 = 1.0f;
player->unk_14C = 0.67f;
player->unk_148 = 0.67f;
player->unk_0D0 = 15.0f;
player->baseSpeed = 15.0f;
player->unk_0D4 = 3.0f;
player->unk_09C = 500.0f;
player->unk_0A0 = 500.0f;
@ -4158,7 +4159,7 @@ void func_play_800B0F50(Player* playerx) {
player->form = FORM_BLUE_MARINE;
player->unk_0D4 = 0.0f;
player->unk_09C = 700.0f;
player->unk_0D0 = 20.0f;
player->baseSpeed = 20.0f;
player->unk_0A0 = 720.0f;
player->unk_0A4 = gGroundHeight + 30.0f;
break;
@ -4168,7 +4169,7 @@ void func_play_800B0F50(Player* playerx) {
break;
}
if (gCurrentLevel != LEVEL_CORNERIA) {
gSavedGroundType = GROUNDTYPE_GRASS;
gSavedGroundSurface = SURFACE_GRASS;
}
gGoldRingCount[0] = D_ctx_80161A94[0];
do {
@ -4201,15 +4202,15 @@ void func_play_800B0F50(Player* playerx) {
gDisplayedHitCount = gHitCount;
D_hud_80161730 = 0;
gMissedZoSearchlight = gSavedZoSearchlightStatus;
D_ctx_80177DC8 = D_ctx_80177CA0;
gGroundType = gSavedGroundType;
gObjectLoadIndex = gSavedObjectLoadIndex;
gGroundSurface = gSavedGroundSurface;
D_ctx_80177D20 = player->unk_144 = D_ctx_80177CB0;
player->pos.z = player->unk_138 = -player->unk_144;
if ((D_ctx_80177CA0 > 0) && (gLevelMode == LEVELMODE_ON_RAILS)) {
if ((gSavedObjectLoadIndex > 0) && (gLevelMode == LEVELMODE_ON_RAILS)) {
if (gCurrentLevel == LEVEL_MACBETH) {
sp2E = D_ctx_80177DC8;
sp2E = gObjectLoadIndex;
Macbeth_801AD080();
D_ctx_80177DC8 = sp2E;
gObjectLoadIndex = sp2E;
}
func_enmy_80062568();
}
@ -4234,12 +4235,12 @@ void func_play_800B0F50(Player* playerx) {
break;
case FORM_LANDMASTER:
player->pos.y = 0.0f;
player->unk_0D0 = 15.0f;
player->baseSpeed = 15.0f;
player->unk_0D4 = 3.0f;
break;
case FORM_ON_FOOT:
player->pos.y = 0.0f;
player->unk_0D0 = 15.0f;
player->baseSpeed = 15.0f;
player->unk_068 = 0;
switch (gPlayerNum) {
case 0:
@ -4282,7 +4283,7 @@ void func_play_800B0F50(Player* playerx) {
player->unk_014 = 1.0f;
player->unk_018 = 1.0f;
}
if ((D_ctx_8017782C != 0) && (D_ctx_80177CA0 == 0)) {
if ((D_ctx_8017782C != 0) && (gSavedObjectLoadIndex == 0)) {
gLeveLClearStatus[gCurrentLevel] = 0;
for (j = 0; j < 10; j++) {
D_ctx_80177A10[j] = 0;
@ -4294,7 +4295,7 @@ void func_play_800B0F50(Player* playerx) {
case LEVEL_CORNERIA:
player->state_1C8 = PLAYERSTATE_1C8_LEVEL_INTRO;
player->unk_204 = 1;
gGroundType = gSavedGroundType = GROUNDTYPE_WATER;
gGroundSurface = gSavedGroundSurface = SURFACE_WATER;
func_play_800A3FB0();
break;
case LEVEL_BOLSE:
@ -4329,13 +4330,13 @@ void func_play_800B0F50(Player* playerx) {
D_ctx_80177A98 = 1;
}
if ((gCurrentLevel == LEVEL_MACBETH) && (D_ctx_80177CA0 == 0)) {
if ((gCurrentLevel == LEVEL_MACBETH) && (gSavedObjectLoadIndex == 0)) {
player->pos.z = -4115.0f;
D_ctx_80177D20 = player->unk_144 = 3932.0f;
D_ctx_80177DC8 = 40;
gObjectLoadIndex = 40;
gLevelObjects = SEGMENTED_TO_VIRTUAL(gLevelObjectInits[gCurrentLevel]);
for (objInit = gLevelObjects, i = 0; i < D_ctx_80177DC8; i++, objInit++) {
for (objInit = gLevelObjects, i = 0; i < gObjectLoadIndex; i++, objInit++) {
Object_Load(objInit, 4000.0f, -4000.0f, 4000.0f, -4000.0f);
}
Macbeth_801ACFBC();
@ -4636,7 +4637,7 @@ void func_play_800B2574(Player* player) {
if (gRingPassCount > 0) {
Math_SmoothStepToF(&D_ctx_801779A8[player->num], gRingPassCount * 10.0f, 1.0f, 5.0f, 0.0f);
}
player->unk_110 += 0.3f;
player->boostSpeed += 0.3f;
Math_SmoothStepToF(&player->unk_08C, -130.0f, 0.2f, 10.0f, 0.0f);
player->unk_130 -= player->unk_258;
player->unk_258 = player->unk_258 + 0.2f;
@ -4688,9 +4689,9 @@ void func_play_800B2574(Player* player) {
player->unk_25C = 0.6f;
}
player->unk_190 = 2.0f;
player->unk_110 += 2.0f;
if (player->unk_110 > 30.0f) {
player->unk_110 = 30.0f;
player->boostSpeed += 2.0f;
if (player->boostSpeed > 30.0f) {
player->boostSpeed = 30.0f;
}
Math_SmoothStepToF(&player->unk_08C, -400.0f, 0.1f, 30.0f, 0.0f);
player->sfx.boost = 1;
@ -4703,10 +4704,10 @@ void func_play_800B2574(Player* player) {
player->boostCooldown = false;
}
}
if (player->unk_110 > 0.0f) {
player->unk_110 -= 1.0f;
if (player->unk_110 < 0.0f) {
player->unk_110 = 0.0f;
if (player->boostSpeed > 0.0f) {
player->boostSpeed -= 1.0f;
if (player->boostSpeed < 0.0f) {
player->boostSpeed = 0.0f;
}
}
}
@ -4775,9 +4776,9 @@ void func_play_800B2C00(Player* player) {
player->boostMeter = 90.0f;
}
player->unk_190 = 0.3f;
player->unk_110 -= 1.0f;
if (player->unk_110 < -20.0f) {
player->unk_110 = -20.0f;
player->boostSpeed -= 1.0f;
if (player->boostSpeed < -20.0f) {
player->boostSpeed = -20.0f;
}
Math_SmoothStepToF(&player->unk_08C, 180.0f, 0.1f, 10.0f, 0.0f);
player->sfx.brake = 1;
@ -4788,10 +4789,10 @@ void func_play_800B2C00(Player* player) {
player->boostMeter = 0.0f;
player->boostCooldown = false;
}
if (player->unk_110 < 0.0f) {
player->unk_110 += 0.5f;
if (player->unk_110 > 0.0f) {
player->unk_110 = 0.0f;
if (player->boostSpeed < 0.0f) {
player->boostSpeed += 0.5f;
if (player->boostSpeed > 0.0f) {
player->boostSpeed = 0.0f;
}
}
}
@ -4839,7 +4840,7 @@ void func_play_800B3010(Player* player) {
player->boostCooldown = true;
}
}
Math_SmoothStepToF(&player->unk_0D0, sp2C, 0.1f, 2.0f, 0.001f);
Math_SmoothStepToF(&player->baseSpeed, sp2C, 0.1f, 2.0f, 0.001f);
}
void func_play_800B3314(Player* player) {
@ -4907,7 +4908,7 @@ void func_play_800B3314(Player* player) {
Math_SmoothStepToAngle(&player->unk_0EC, 0.0f, 0.05f, 5.0f, 0.00001f);
temp = gInputPress->stick_y;
Math_SmoothStepToF(&player->unk_000, temp * 0.5f, 0.05f, 5.0f, 0.00001f);
Math_SmoothStepToF(&player->unk_110, 30.0f, 0.5f, 5.0f, 0.0f);
Math_SmoothStepToF(&player->boostSpeed, 30.0f, 0.5f, 5.0f, 0.0f);
player->unk_0D4 = -0.4f;
Math_SmoothStepToF(&D_ctx_801779A8[player->num], 30.0f, 1.0f, 10.0f, 0.0f);
if ((gCamCount == 1) && ((gGameFrameCount % 2) == 0)) {
@ -4959,23 +4960,23 @@ void func_play_800B39E0(Player* player) {
}
}
}
if (D_ctx_80177D40[player->num] != 0) {
D_ctx_80177D40[player->num]--;
if (D_ctx_80177D40[player->num] == 1000) {
D_ctx_80177D40[player->num] = 0;
if (gRightWingFlashTimer[player->num] != 0) {
gRightWingFlashTimer[player->num]--;
if (gRightWingFlashTimer[player->num] == 1000) {
gRightWingFlashTimer[player->num] = 0;
}
}
if (D_ctx_80177D58[player->num] != 0) {
D_ctx_80177D58[player->num]--;
if (D_ctx_80177D58[player->num] == 1000) {
D_ctx_80177D58[player->num] = 0;
if (gLeftWingFlashTimer[player->num] != 0) {
gLeftWingFlashTimer[player->num]--;
if (gLeftWingFlashTimer[player->num] == 1000) {
gLeftWingFlashTimer[player->num] = 0;
}
}
if (D_ctx_80177D88[player->num] != 0) {
D_ctx_80177D88[player->num]--;
if (gLeftWingDebrisTimer[player->num] != 0) {
gLeftWingDebrisTimer[player->num]--;
}
if (D_ctx_80177D70[player->num] != 0) {
D_ctx_80177D70[player->num]--;
if (gRightWingDebrisTimer[player->num] != 0) {
gRightWingDebrisTimer[player->num]--;
}
if (gShieldTimer[player->num] != 0) {
gShieldTimer[player->num]--;
@ -5028,7 +5029,7 @@ void func_play_800B39E0(Player* player) {
player->boostCooldown = true;
player->unk_0E4 = 0;
player->unk_0E8 = 0;
Math_SmoothStepToF(&player->unk_110, 0, 1.0f, 5.0f, 0);
Math_SmoothStepToF(&player->boostSpeed, 0, 1.0f, 5.0f, 0);
}
if (player->unk_1F4 == 0) {
player->unk_134 = 0;
@ -5247,10 +5248,10 @@ void func_play_800B44C4(Player* player) {
void func_play_800B46F8(Player* player) {
s32 teamId;
if ((player->state_1C8 == PLAYERSTATE_1C8_ACTIVE) && (D_ctx_8017796C >= 0)) {
D_ctx_8017796C++;
if (D_ctx_8017796C > 32 * 30) {
D_ctx_8017796C = 0;
if ((player->state_1C8 == PLAYERSTATE_1C8_ACTIVE) && (gTeamLowHealthMsgTimer >= 0)) {
gTeamLowHealthMsgTimer++;
if (gTeamLowHealthMsgTimer > 32 * 30) {
gTeamLowHealthMsgTimer = 0;
if (1) {}
if ((player->shields < 64) && ((gTeamShields[TEAM_ID_FALCO] > 0) || (gTeamShields[TEAM_ID_PEPPY] > 0) ||
(gTeamShields[TEAM_ID_SLIPPY] > 0))) {
@ -5925,7 +5926,7 @@ void func_play_800B6BFC(Player* player, s32 arg1) {
player->unk_134 * 0.1f;
player->cam.at.z = player->pos.z;
Math_SmoothStepToF(&player->unk_028, player->unk_0E8 * (player->unk_0D0 + 5.0f) * 0.04f, 0.05f, 2.0f, 0.02f);
Math_SmoothStepToF(&player->unk_028, player->unk_0E8 * (player->baseSpeed + 5.0f) * 0.04f, 0.05f, 2.0f, 0.02f);
sp64.x = -player->unk_028;
sp64.y = 0.0f;
sp64.z = 0.0f;
@ -6051,70 +6052,70 @@ void func_play_800B73E0(Player* player) {
f32 pad;
if ((gCurrentLevel == LEVEL_AQUAS) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_INTRO)) {
D_ctx_801784D4 = D_ctx_801784C8 = D_ctx_801784C8 = D_ctx_801784FC = D_ctx_801784C8 = 110.0f;
gEnvLightyRot = gLight1yRotTarget = gLight1yRotTarget = gLight2yRotTarget = gLight1yRotTarget = 110.0f;
if (gGameFrameCount & 0x20) {
D_ctx_801784D4 = D_ctx_801784C8 = D_ctx_801784C8 = D_ctx_801784FC = D_ctx_801784C8 = 90.0f;
gEnvLightyRot = gLight1yRotTarget = gLight1yRotTarget = gLight2yRotTarget = gLight1yRotTarget = 90.0f;
}
D_ctx_801784E8 = D_ctx_80178510 = D_ctx_80178538 = 1.0f;
gLight1rotStep = gLight2rotStep = D_ctx_80178538 = 1.0f;
}
Math_SmoothStepToAngle(&D_ctx_801784B8, D_ctx_801784C4, 1.0f, D_ctx_801784E8, 0.0f);
Math_SmoothStepToAngle(&D_ctx_801784BC, D_ctx_801784C8, 1.0f, D_ctx_801784E8, 0.0f);
Math_SmoothStepToAngle(&D_ctx_801784C0, D_ctx_801784CC, 1.0f, D_ctx_801784E8, 0.0f);
Math_SmoothStepToAngle(&gLight1xRot, gLight1xRotTarget, 1.0f, gLight1rotStep, 0.0f);
Math_SmoothStepToAngle(&gLight1yRot, gLight1yRotTarget, 1.0f, gLight1rotStep, 0.0f);
Math_SmoothStepToAngle(&gLight1zRot, gLight1zRotTarget, 1.0f, gLight1rotStep, 0.0f);
if (gLight2R < D_ctx_80178570) {
gLight2R += D_ctx_80178540;
if (D_ctx_80178570 < gLight2R) {
gLight2R = D_ctx_80178570;
if (gLight2R < gLight2RTarget) {
gLight2R += gLight2colorStep;
if (gLight2RTarget < gLight2R) {
gLight2R = gLight2RTarget;
}
}
if (D_ctx_80178570 < gLight2R) {
gLight2R -= D_ctx_80178540;
if (gLight2R < D_ctx_80178570) {
gLight2R = D_ctx_80178570;
if (gLight2RTarget < gLight2R) {
gLight2R -= gLight2colorStep;
if (gLight2R < gLight2RTarget) {
gLight2R = gLight2RTarget;
}
}
if (gLight2G < D_ctx_80178574) {
gLight2G += D_ctx_80178540;
if (D_ctx_80178574 < gLight2G) {
gLight2G = D_ctx_80178574;
if (gLight2G < gLight2GTarget) {
gLight2G += gLight2colorStep;
if (gLight2GTarget < gLight2G) {
gLight2G = gLight2GTarget;
}
}
if (D_ctx_80178574 < gLight2G) {
gLight2G -= D_ctx_80178540;
if (gLight2G < D_ctx_80178574) {
gLight2G = D_ctx_80178574;
if (gLight2GTarget < gLight2G) {
gLight2G -= gLight2colorStep;
if (gLight2G < gLight2GTarget) {
gLight2G = gLight2GTarget;
}
}
if (gLight2B < D_ctx_80178578) {
gLight2B += D_ctx_80178540;
if (D_ctx_80178578 < gLight2B) {
gLight2B = D_ctx_80178578;
if (gLight2B < gLight2BTarget) {
gLight2B += gLight2colorStep;
if (gLight2BTarget < gLight2B) {
gLight2B = gLight2BTarget;
}
}
if (D_ctx_80178578 < gLight2B) {
gLight2B -= D_ctx_80178540;
if (gLight2B < D_ctx_80178578) {
gLight2B = D_ctx_80178578;
if (gLight2BTarget < gLight2B) {
gLight2B -= gLight2colorStep;
if (gLight2B < gLight2BTarget) {
gLight2B = gLight2BTarget;
}
}
Math_SmoothStepToAngle(&D_ctx_801784EC, D_ctx_801784F8, 1.0f, D_ctx_80178510, 0.0f);
Math_SmoothStepToAngle(&D_ctx_801784F0, D_ctx_801784FC, 1.0f, D_ctx_80178510, 0.0f);
Math_SmoothStepToAngle(&D_ctx_801784F4, D_ctx_80178500, 1.0f, D_ctx_80178510, 0.0f);
D_ctx_801784F8 = D_ctx_801784C4 = D_ctx_801784D0;
D_ctx_801784FC = D_ctx_801784C8 = D_ctx_801784D4;
D_ctx_80178500 = D_ctx_801784CC = D_ctx_801784D8;
D_ctx_801784E8 = 5.0f;
D_ctx_80178570 = gLight1R;
D_ctx_80178574 = gLight1G;
D_ctx_80178578 = gLight1B;
Math_SmoothStepToAngle(&gLight2xRot, gLight2xRotTarget, 1.0f, gLight2rotStep, 0.0f);
Math_SmoothStepToAngle(&gLight2yRot, gLight2yRotTarget, 1.0f, gLight2rotStep, 0.0f);
Math_SmoothStepToAngle(&gLight2zRot, gLight2zRotTarget, 1.0f, gLight2rotStep, 0.0f);
gLight2xRotTarget = gLight1xRotTarget = gEnvLightxRot;
gLight2yRotTarget = gLight1yRotTarget = gEnvLightyRot;
gLight2zRotTarget = gLight1zRotTarget = gEnvLightzRot;
gLight1rotStep = 5.0f;
gLight2RTarget = gLight1R;
gLight2GTarget = gLight1G;
gLight2BTarget = gLight1B;
pad = player->camRoll;
Matrix_RotateZ(gCalcMatrix, M_DTOR * pad, MTXF_NEW);
Matrix_RotateX(gCalcMatrix, -player->camPitch, MTXF_APPLY);
Matrix_RotateY(gCalcMatrix, player->camYaw, MTXF_APPLY);
Matrix_Push(&gCalcMatrix);
Matrix_RotateX(gCalcMatrix, M_DTOR * D_ctx_801784B8, MTXF_APPLY);
Matrix_RotateY(gCalcMatrix, M_DTOR * D_ctx_801784BC, MTXF_APPLY);
Matrix_RotateZ(gCalcMatrix, M_DTOR * D_ctx_801784C0, MTXF_APPLY);
Matrix_RotateX(gCalcMatrix, M_DTOR * gLight1xRot, MTXF_APPLY);
Matrix_RotateY(gCalcMatrix, M_DTOR * gLight1yRot, MTXF_APPLY);
Matrix_RotateZ(gCalcMatrix, M_DTOR * gLight1zRot, MTXF_APPLY);
sp44.x = 0.0f;
sp44.y = 0.0f;
sp44.z = 100.0f;
@ -6123,9 +6124,9 @@ void func_play_800B73E0(Player* player) {
gLight1y = sp38.y;
gLight1z = sp38.z;
Matrix_Pop(&gCalcMatrix);
Matrix_RotateX(gCalcMatrix, M_DTOR * D_ctx_801784EC, MTXF_APPLY);
Matrix_RotateY(gCalcMatrix, M_DTOR * D_ctx_801784F0, MTXF_APPLY);
Matrix_RotateZ(gCalcMatrix, M_DTOR * D_ctx_801784F4, MTXF_APPLY);
Matrix_RotateX(gCalcMatrix, M_DTOR * gLight2xRot, MTXF_APPLY);
Matrix_RotateY(gCalcMatrix, M_DTOR * gLight2yRot, MTXF_APPLY);
Matrix_RotateZ(gCalcMatrix, M_DTOR * gLight2zRot, MTXF_APPLY);
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp44, &sp38);
gLight2x = sp38.x;
gLight2y = sp38.y;
@ -6462,7 +6463,7 @@ void Play_Main(void) {
D_ctx_8017782C = 0;
}
if (gVersusMode) {
func_versus_800C1E9C();
Versus_Main();
}
if ((gControllerPress[gMainController].button & START_BUTTON) && gPauseEnabled) {
Audio_PlayPauseSfx(1);

View File

@ -19,36 +19,36 @@
#include "assets/ast_title.h"
#include "assets/ast_zoness.h"
u16** D_radio_80178720;
s32 D_radio_80178724;
s32 D_radio_80178728;
s32 D_radio_8017872C;
f32 D_radio_80178730;
f32 D_radio_80178734;
f32 D_radio_80178738;
f32 D_radio_8017873C;
f32 D_radio_80178740;
u16** gRadioMsgList;
s32 gRadioMsgListIndex;
s32 gRadioPrintPosX;
s32 gRadioPrintPosY;
f32 gRadioTextBoxPosX;
f32 gRadioTextBoxPosY;
f32 gRadioTextBoxScaleX;
f32 gRadioPortraitPosX;
f32 gRadioPortraitPosY;
s32 gCurrentMsgPri = 0;
s32 gRadioMsgPri = 0;
void func_radio_800BA760(void) {
RCP_SetupDL_36();
if (D_ctx_80177D50 == 1.3f) {
D_ctx_801782F8 = Message_IsPrintingChar(D_ctx_80178308, D_ctx_801782D8);
if (gRadioTextBoxScaleY == 1.3f) {
gMsgCharIsPrinting = Message_IsPrintingChar(gRadioMsg, gRadioMsgCharIndex);
}
}
s32 func_radio_800BA7BC(u16* msg, s32 priority) {
if (priority == gCurrentMsgPri) {
if (priority == gRadioMsgPri) {
return 0;
}
if (priority < gCurrentMsgPri) {
if (priority < gRadioMsgPri) {
return 1;
}
if (gCurrentMsgPri < priority) {
gCurrentMsgPri = priority;
if (gRadioMsgPri < priority) {
gRadioMsgPri = priority;
return 2;
}
}
@ -95,57 +95,57 @@ void Radio_PlayMessage(u16* msg, RadioCharacterId character) {
return;
}
gCurrentMsgPri = priority;
D_ctx_80177D68 = character;
gRadioMsgPri = priority;
gRadioMsgRadioId = character;
if (gExpertMode && ((character == RCID_FOX) || (character == RCID_FOX_RED))) {
D_ctx_80177D68 = RCID_FOX_EXPERT;
gRadioMsgRadioId = RCID_FOX_EXPERT;
}
if (gCurrentLevel == LEVEL_VENOM_2) {
switch (character) {
case RCID_WOLF:
D_ctx_80177D68 = RCID_WOLF_2;
gRadioMsgRadioId = RCID_WOLF_2;
break;
case RCID_PIGMA:
D_ctx_80177D68 = RCID_PIGMA_2;
gRadioMsgRadioId = RCID_PIGMA_2;
break;
case RCID_LEON:
D_ctx_80177D68 = RCID_LEON_2;
gRadioMsgRadioId = RCID_LEON_2;
break;
case RCID_ANDREW:
D_ctx_80177D68 = RCID_ANDREW_2;
gRadioMsgRadioId = RCID_ANDREW_2;
break;
}
}
D_ctx_80178308 = msg;
gRadioMsg = msg;
gRadioState = 100;
switch (gGameState) {
case GSTATE_TITLE:
case GSTATE_ENDING:
D_radio_8017872C = 176;
D_radio_80178728 = 85;
D_radio_80178730 = 80.0f;
D_radio_80178734 = 174.0f;
D_radio_80178738 = 4.63f;
D_radio_8017873C = 32.0f;
D_radio_80178740 = 174.0f;
gRadioPrintPosY = 176;
gRadioPrintPosX = 85;
gRadioTextBoxPosX = 80.0f;
gRadioTextBoxPosY = 174.0f;
gRadioTextBoxScaleX = 4.63f;
gRadioPortraitPosX = 32.0f;
gRadioPortraitPosY = 174.0f;
break;
case GSTATE_PLAY:
D_radio_8017872C = 180;
D_radio_80178728 = 79;
D_radio_80178730 = 74.0f;
D_radio_80178734 = 178.0f;
D_radio_80178738 = 4.53f;
D_radio_8017873C = 26.0f;
D_radio_80178740 = 178.0f;
gRadioPrintPosY = 180;
gRadioPrintPosX = 79;
gRadioTextBoxPosX = 74.0f;
gRadioTextBoxPosY = 178.0f;
gRadioTextBoxScaleX = 4.53f;
gRadioPortraitPosX = 26.0f;
gRadioPortraitPosY = 178.0f;
break;
}
D_ctx_801782E8 = Message_IdFromPtr(msg);
Audio_PlayVoice(D_ctx_801782E8);
gRadioMsgId = Message_IdFromPtr(msg);
Audio_PlayVoice(gRadioMsgId);
}
s32 sRadioUseRedBox;
@ -159,19 +159,19 @@ void func_radio_800BAAE8(void) {
f32 temp_fa0;
s32 j;
sRadioUseRedBox = 0;
sRadioUseRedBox = false;
mirror = false;
switch (D_ctx_801782A4) {
switch (gCurrentRadioPortrait) {
case RCID_FOX_RED:
sRadioUseRedBox = 1;
sRadioUseRedBox = true;
/* fallthrough */
case RCID_FOX:
sp44 = D_10050E0;
break;
case RCID_FOX_RED_OPEN:
sRadioUseRedBox = 1;
sRadioUseRedBox = true;
/* fallthrough */
case RCID_FOX_OPEN:
sp44 = D_1006000;
@ -183,37 +183,37 @@ void func_radio_800BAAE8(void) {
sp44 = D_1007E40;
break;
case RCID_FALCO_RED:
sRadioUseRedBox = 1;
sRadioUseRedBox = true;
/* fallthrough */
case RCID_FALCO:
sp44 = D_10032A0;
break;
case RCID_FALCO_RED_OPEN:
sRadioUseRedBox = 1;
sRadioUseRedBox = true;
/* fallthrough */
case RCID_FALCO_OPEN:
sp44 = D_10041C0;
break;
case RCID_SLIPPY_RED:
sRadioUseRedBox = 1;
sRadioUseRedBox = true;
/* fallthrough */
case RCID_SLIPPY:
sp44 = D_100D900;
break;
case RCID_SLIPPY_RED_OPEN:
sRadioUseRedBox = 1;
sRadioUseRedBox = true;
/* fallthrough */
case RCID_SLIPPY_OPEN:
sp44 = D_100E820;
break;
case RCID_PEPPY_RED:
sRadioUseRedBox = 1;
sRadioUseRedBox = true;
/* fallthrough */
case RCID_PEPPY:
sp44 = D_100BAC0;
break;
case RCID_PEPPY_RED_OPEN:
sRadioUseRedBox = 1;
sRadioUseRedBox = true;
/* fallthrough */
case RCID_PEPPY_OPEN:
sp44 = D_100C9E0;
@ -321,14 +321,14 @@ void func_radio_800BAAE8(void) {
sp44 = D_MA_6011B40;
break;
case RCID_ROB64_RED:
sRadioUseRedBox = 1;
sRadioUseRedBox = true;
/* fallthrough */
case RCID_ROB64:
case RCID_ROB64_2:
sp44 = D_1009C80;
break;
case RCID_ROB64_RED_OPEN:
sRadioUseRedBox = 1;
sRadioUseRedBox = true;
/* fallthrough */
case RCID_ROB64_OPEN:
case RCID_ROB64_2_OPEN:
@ -346,7 +346,7 @@ void func_radio_800BAAE8(void) {
if ((gGameState == GSTATE_PLAY) && (gCurrentLevel == LEVEL_AREA_6)) {
sp44 = D_A6_6000B60;
}
sRadioUseRedBox = 1;
sRadioUseRedBox = true;
break;
case RCID_ANDROSS_RED_OPEN:
case RCID_ANDROSS_OPEN:
@ -354,7 +354,7 @@ void func_radio_800BAAE8(void) {
if ((gGameState == GSTATE_PLAY) && (gCurrentLevel == LEVEL_AREA_6)) {
sp44 = D_A6_6001A80;
}
sRadioUseRedBox = 1;
sRadioUseRedBox = true;
break;
case RCID_JAMES:
sp44 = D_D005C30;
@ -408,39 +408,41 @@ void func_radio_800BAAE8(void) {
sp44 = gTitleRadioStatic;
break;
}
if (((s32) D_ctx_80177D68 == RCID_ANDROSS) || ((s32) D_ctx_80177D68 == RCID_ANDROSS_RED)) {
sRadioUseRedBox = 1;
if (((s32) gRadioMsgRadioId == RCID_ANDROSS) || ((s32) gRadioMsgRadioId == RCID_ANDROSS_RED)) {
sRadioUseRedBox = true;
}
break;
}
if ((sp44 != NULL) && (D_ctx_80177D38 != 0.0f)) {
temp_fa0 = (2.0f * D_ctx_80177D38) + D_radio_80178740;
if ((D_radio_80178740 + 20.0f) <= temp_fa0) {
if ((sp44 != NULL) && (gRadioPortraitScaleY != 0.0f)) {
temp_fa0 = (2.0f * gRadioPortraitScaleY) + gRadioPortraitPosY;
if ((gRadioPortraitPosY + 20.0f) <= temp_fa0) {
D_800D4A74 = 1.0f;
}
if (temp_fa0 <= D_radio_80178740) {
if (temp_fa0 <= gRadioPortraitPosY) {
D_800D4A74 = -1.0f;
}
sp38 = D_ctx_80177D38 * 20.0f * D_800D4A74;
sp38 = gRadioPortraitScaleY * 20.0f * D_800D4A74;
RCP_SetupDL_76();
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255);
if (mirror) {
for (i = 0, j = 0; i < 2; i++, j += 44 * 20) {
TextureRect_16bRGBA_MirX(&gMasterDisp, &sp44[j], 44, 20, D_radio_8017873C,
D_radio_80178740 + 20.0f + sp38 + (i * 20.0f * D_ctx_80177D38), 1.0f,
D_ctx_80177D38);
TextureRect_16bRGBA_MirX(&gMasterDisp, &sp44[j], 44, 20, gRadioPortraitPosX,
gRadioPortraitPosY + 20.0f + sp38 + (i * 20.0f * gRadioPortraitScaleY), 1.0f,
gRadioPortraitScaleY);
}
TextureRect_16bRGBA_MirX(&gMasterDisp, &sp44[44 * 20 * 2], 44, 4, D_radio_8017873C,
D_radio_80178740 + 20.0f + sp38 + (40.0f * D_ctx_80177D38), 1.0f, D_ctx_80177D38);
TextureRect_16bRGBA_MirX(&gMasterDisp, &sp44[44 * 20 * 2], 44, 4, gRadioPortraitPosX,
gRadioPortraitPosY + 20.0f + sp38 + (40.0f * gRadioPortraitScaleY), 1.0f,
gRadioPortraitScaleY);
} else {
for (i = 0, j = 0; i < 2; i++, j += 44 * 20) {
TextureRect_16bRGBA(&gMasterDisp, &sp44[j], 44, 20, D_radio_8017873C,
D_radio_80178740 + 20.0f + sp38 + (i * 20.0f * D_ctx_80177D38), 1.0f,
D_ctx_80177D38);
TextureRect_16bRGBA(&gMasterDisp, &sp44[j], 44, 20, gRadioPortraitPosX,
gRadioPortraitPosY + 20.0f + sp38 + (i * 20.0f * gRadioPortraitScaleY), 1.0f,
gRadioPortraitScaleY);
}
TextureRect_16bRGBA(&gMasterDisp, &sp44[44 * 20 * 2], 44, 4, D_radio_8017873C,
D_radio_80178740 + 20.0f + sp38 + (40.0f * D_ctx_80177D38), 1.0f, D_ctx_80177D38);
TextureRect_16bRGBA(&gMasterDisp, &sp44[44 * 20 * 2], 44, 4, gRadioPortraitPosX,
gRadioPortraitPosY + 20.0f + sp38 + (40.0f * gRadioPortraitScaleY), 1.0f,
gRadioPortraitScaleY);
}
}
}
@ -452,12 +454,12 @@ void func_radio_800BB388(void) {
u16* sp34;
f32 sp30;
if ((gGameState != GSTATE_MAP) && (D_ctx_80177D50 != 0.0f)) {
temp_fa0 = (D_ctx_80177D50 / 0.26f) * 3.0f;
if ((D_radio_80178734 + 16.0f) <= temp_fa0 + D_radio_80178734) {
if ((gGameState != GSTATE_MAP) && (gRadioTextBoxScaleY != 0.0f)) {
temp_fa0 = (gRadioTextBoxScaleY / 0.26f) * 3.0f;
if ((gRadioTextBoxPosY + 16.0f) <= temp_fa0 + gRadioTextBoxPosY) {
D_800D4A78 = 1.0f;
}
if (temp_fa0 + D_radio_80178734 <= D_radio_80178734) {
if (temp_fa0 + gRadioTextBoxPosY <= gRadioTextBoxPosY) {
D_800D4A78 = -1.0f;
}
sp30 = temp_fa0 * D_800D4A78;
@ -473,25 +475,25 @@ void func_radio_800BB388(void) {
sp34 = D_1013570;
break;
}
if (sRadioUseRedBox == 1) {
if (sRadioUseRedBox == true) {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 25, 25, 170);
} else {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 60, 60, 255, 170);
}
TextureRect_8bCI(&gMasterDisp, sp38, sp34, 32, 32, D_radio_80178730, D_radio_80178734 + 16.0f + sp30,
D_radio_80178738, D_ctx_80177D50);
TextureRect_8bCI(&gMasterDisp, sp38, sp34, 32, 32, gRadioTextBoxPosX, gRadioTextBoxPosY + 16.0f + sp30,
gRadioTextBoxScaleX, gRadioTextBoxScaleY);
}
if (D_ctx_80177D50 == 1.3f) {
if (gRadioTextBoxScaleY == 1.3f) {
RCP_SetupDL(&gMasterDisp, 0x55);
D_ctx_801782F8 =
Message_DisplayText(&gMasterDisp, D_ctx_80178308, D_radio_80178728, D_radio_8017872C, D_ctx_801782D8);
gMsgCharIsPrinting =
Message_DisplayText(&gMasterDisp, gRadioMsg, gRadioPrintPosX, gRadioPrintPosY, gRadioMsgCharIndex);
}
}
s32 D_radio_80178748;
s32 D_radio_8017874C;
s32 D_radio_80178748; // set to 1, never used
s32 sRadioCheckMouthFlag;
void func_radio_800BB5D0(void) {
void Radio_Draw(void) {
s32 var_v1;
s32 temp_ft0;
u32 temp_v0;
@ -501,98 +503,98 @@ void func_radio_800BB5D0(void) {
return;
}
if (D_Timer_801782AC > 0) {
D_Timer_801782AC--;
if (gRadioStateTimer > 0) {
gRadioStateTimer--;
}
if (D_Timer_801782B4 > 0) {
D_Timer_801782B4--;
if (gRadioMouthTimer > 0) {
gRadioMouthTimer--;
}
switch (gRadioState) {
case 100:
D_radio_80178748 = 1;
D_ctx_801782A4 = RCID_1000;
gCurrentRadioPortrait = RCID_1000;
gRadioState = 1;
D_ctx_801782D8 = 0;
D_ctx_80177D38 = 0.0f;
D_ctx_80177D50 = 0.0f;
D_radio_8017874C = 0;
gRadioMsgCharIndex = 0;
gRadioPortraitScaleY = 0.0f;
gRadioTextBoxScaleY = 0.0f;
sRadioCheckMouthFlag = 0;
if (gCamCount != 1) {
gRadioState = 0;
}
break;
case 1:
D_ctx_80177D38 += 0.25f;
if (D_ctx_80177D38 == 1.0f) {
gRadioPortraitScaleY += 0.25f;
if (gRadioPortraitScaleY == 1.0f) {
gRadioState++;
D_Timer_801782AC = 10;
gRadioStateTimer = 10;
}
D_ctx_801782A4 = RCID_STATIC;
gCurrentRadioPortrait = RCID_STATIC;
if ((gGameFrameCount % 2) != 0) {
D_ctx_801782A4 = RCID_STATIC_FLIP;
gCurrentRadioPortrait = RCID_STATIC_FLIP;
}
break;
case 2:
if (D_Timer_801782AC == 0) {
if (gRadioStateTimer == 0) {
gRadioState++;
D_Timer_801782AC = 10;
gRadioStateTimer = 10;
}
D_ctx_801782A4 = RCID_STATIC;
gCurrentRadioPortrait = RCID_STATIC;
if ((gGameFrameCount % 2) != 0) {
D_ctx_801782A4 = RCID_STATIC_FLIP;
gCurrentRadioPortrait = RCID_STATIC_FLIP;
}
break;
case 3:
if (D_Timer_801782AC == 0) {
if (gRadioStateTimer == 0) {
gRadioState++;
temp_v0 = Message_GetWidth(D_ctx_80178308);
temp_v0 = Message_GetWidth(gRadioMsg);
if (gVIsPerFrame == 3) {
D_Timer_801782AC = temp_v0 + 16;
gRadioStateTimer = temp_v0 + 16;
} else {
D_Timer_801782AC = (2 * temp_v0) + 16;
gRadioStateTimer = (2 * temp_v0) + 16;
}
if ((gGameState == GSTATE_TITLE) || (gGameState == GSTATE_ENDING)) {
D_Timer_801782AC = temp_v0 * 2;
gRadioStateTimer = temp_v0 * 2;
}
}
D_ctx_801782A4 = (s32) D_ctx_80177D68;
D_ctx_80177D50 += 0.26f;
if (D_ctx_80177D50 > 1.3f) {
D_ctx_80177D50 = 1.3f;
gCurrentRadioPortrait = (s32) gRadioMsgRadioId;
gRadioTextBoxScaleY += 0.26f;
if (gRadioTextBoxScaleY > 1.3f) {
gRadioTextBoxScaleY = 1.3f;
}
break;
case 31:
gRadioState++;
D_Timer_801782AC = 80 - D_Timer_801782AC;
gRadioStateTimer = 80 - gRadioStateTimer;
break;
case 32:
if (Audio_GetCurrentVoice() == 0) {
D_radio_80178724++;
D_ctx_80178308 = D_radio_80178720[D_radio_80178724];
Audio_PlayVoice(Message_IdFromPtr(D_ctx_80178308));
D_ctx_801782D8 = 0;
D_radio_8017874C = 0;
D_Timer_801782AC = 80;
D_Timer_801782AC = Message_GetWidth(D_ctx_80178308) * 2;
gRadioMsgListIndex++;
gRadioMsg = gRadioMsgList[gRadioMsgListIndex];
Audio_PlayVoice(Message_IdFromPtr(gRadioMsg));
gRadioMsgCharIndex = 0;
sRadioCheckMouthFlag = 0;
gRadioStateTimer = 80;
gRadioStateTimer = Message_GetWidth(gRadioMsg) * 2;
gRadioState = 4;
}
break;
case 4:
if ((Audio_GetCurrentVoice() == 0) && (D_Timer_801782AC == 0)) {
D_Timer_801782AC = 10;
D_ctx_801782A4 = (s32) D_ctx_80177D68;
if ((Audio_GetCurrentVoice() == 0) && (gRadioStateTimer == 0)) {
gRadioStateTimer = 10;
gCurrentRadioPortrait = (s32) gRadioMsgRadioId;
gRadioState = 6;
}
D_ctx_801782A4 = (s32) D_ctx_80177D68;
if (D_Timer_801782B4 > 0) {
D_ctx_801782A4 = (s32) D_ctx_80177D68 + 1;
gCurrentRadioPortrait = (s32) gRadioMsgRadioId;
if (gRadioMouthTimer > 0) {
gCurrentRadioPortrait = (s32) gRadioMsgRadioId + 1;
}
if (!gVIsPerFrame) {}
@ -604,42 +606,42 @@ void func_radio_800BB5D0(void) {
if (!(fakeTemp)) {
temp_v0 = Audio_GetCurrentVoiceStatus();
if (D_ctx_801782D8 < 60) {
if (D_ctx_80178308[D_ctx_801782D8 + 1] == MSGCHAR_NXT) {
if (gRadioMsgCharIndex < 60) {
if (gRadioMsg[gRadioMsgCharIndex + 1] == MSGCHAR_NXT) {
if (temp_v0 == 0) {
gRadioState = 31;
}
} else {
D_ctx_801782D8++;
gRadioMsgCharIndex++;
}
}
if (D_radio_8017874C != 0) {
if ((D_ctx_801782E8 >= 23000) && (D_ctx_801782E8 < 23033)) {
if (D_ctx_801782F8) {
D_Timer_801782B4 = 2;
if (sRadioCheckMouthFlag) {
if ((gRadioMsgId >= 23000) && (gRadioMsgId < 23033)) {
if (gMsgCharIsPrinting) {
gRadioMouthTimer = 2;
AUDIO_PLAY_SFX(0x49000017, gDefaultSfxSource, 4);
}
} else if (temp_v0 == 1) {
D_Timer_801782B4 = 2;
gRadioMouthTimer = 2;
} else {
D_Timer_801782B4 = 0;
gRadioMouthTimer = 0;
}
}
}
D_radio_8017874C ^= 1;
sRadioCheckMouthFlag ^= 1;
break;
case 5:
if (D_Timer_801782AC == 0) {
if (gRadioStateTimer == 0) {
gRadioState++;
D_Timer_801782AC = 10;
gRadioStateTimer = 10;
}
D_ctx_801782A4 = (s32) D_ctx_80177D68;
gCurrentRadioPortrait = (s32) gRadioMsgRadioId;
break;
case 6:
if (D_Timer_801782AC == 0) {
if (gRadioStateTimer == 0) {
if (gGameState == GSTATE_ENDING) {
Audio_ClearVoice();
} else {
@ -647,44 +649,44 @@ void func_radio_800BB5D0(void) {
}
gRadioState++;
}
D_ctx_801782A4 = RCID_STATIC;
gCurrentRadioPortrait = RCID_STATIC;
if ((gGameFrameCount % 2) != 0) {
D_ctx_801782A4 = RCID_STATIC_FLIP;
gCurrentRadioPortrait = RCID_STATIC_FLIP;
}
D_ctx_80177D50 -= 0.26f;
if (D_ctx_80177D50 < 0.0f) {
D_ctx_80177D50 = 0.0f;
gRadioTextBoxScaleY -= 0.26f;
if (gRadioTextBoxScaleY < 0.0f) {
gRadioTextBoxScaleY = 0.0f;
}
break;
case 7:
D_ctx_80177D38 -= 0.25f;
if (D_ctx_80177D38 == 0) {
D_ctx_80178300 = 0;
gCurrentMsgPri = 0;
gRadioPortraitScaleY -= 0.25f;
if (gRadioPortraitScaleY == 0) {
gHideRadio = 0;
gRadioMsgPri = 0;
gRadioState = 0;
}
D_ctx_801782A4 = RCID_STATIC;
gCurrentRadioPortrait = RCID_STATIC;
if ((gGameFrameCount % 2) != 0) {
D_ctx_801782A4 = RCID_STATIC_FLIP;
gCurrentRadioPortrait = RCID_STATIC_FLIP;
}
break;
case 8:
D_ctx_801782A4 = (s32) D_ctx_80177D68;
D_ctx_80177D50 = 1.3f;
D_ctx_80177D38 = 1.0f;
gCurrentRadioPortrait = (s32) gRadioMsgRadioId;
gRadioTextBoxScaleY = 1.3f;
gRadioPortraitScaleY = 1.0f;
break;
case 0:
break;
}
if (((gRadioState > 0) && (gRadioState != 100)) && (D_ctx_80178300 == 0)) {
if (((gRadioState > 0) && (gRadioState != 100)) && (gHideRadio == 0)) {
func_radio_800BAAE8();
func_radio_800BB388();
temp_ft0 = (s32) D_ctx_80177D68;
temp_ft0 = (s32) gRadioMsgRadioId;
if (((temp_ft0 == RCID_FALCO) || (temp_ft0 == RCID_SLIPPY)) || (temp_ft0 == RCID_PEPPY)) {
if (temp_ft0 == RCID_FALCO) {
@ -697,20 +699,20 @@ void func_radio_800BB5D0(void) {
var_v1 = TEAM_ID_PEPPY;
}
if ((gTeamShields[var_v1] <= 0) && (gGameFrameCount & 4) && (gTeamShields[var_v1] != -2) &&
(D_ctx_801782A4 != RCID_STATIC) && (D_ctx_801782A4 != RCID_STATIC_FLIP) &&
(D_ctx_801782A4 != RCID_1000)) {
(gCurrentRadioPortrait != RCID_STATIC) && (gCurrentRadioPortrait != RCID_STATIC_FLIP) &&
(gCurrentRadioPortrait != RCID_1000)) {
RCP_SetupDL(&gMasterDisp, 0x4C);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 0, 255);
Graphics_DisplaySmallText(31, 167, 1.0f, 1.0f, "DOWN");
func_hud_80084B94(1);
}
if (((D_ctx_801782A4 != RCID_STATIC) && (D_ctx_801782A4 != RCID_STATIC_FLIP)) &&
(D_ctx_801782A4 != RCID_1000)) {
if (((gCurrentRadioPortrait != RCID_STATIC) && (gCurrentRadioPortrait != RCID_STATIC_FLIP)) &&
(gCurrentRadioPortrait != RCID_1000)) {
func_hud_80086110(22.0f, 165.0f, gTeamShields[var_v1]);
}
}
temp_ft0 = (s32) D_ctx_80177D68;
temp_ft0 = (s32) gRadioMsgRadioId;
if ((temp_ft0 == RCID_WOLF) || (temp_ft0 == RCID_PIGMA) || (temp_ft0 == RCID_LEON) ||
(temp_ft0 == RCID_ANDREW) || (temp_ft0 == RCID_WOLF_2) || (temp_ft0 == RCID_PIGMA_2) ||
@ -746,131 +748,131 @@ void func_radio_800BB5D0(void) {
}
if ((gActors[var_v1].obj.status != OBJ_ACTIVE) && (gGameFrameCount & 4) &&
(gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) && (D_ctx_801782A4 != RCID_STATIC) &&
(D_ctx_801782A4 != RCID_STATIC_FLIP) && (D_ctx_801782A4 != RCID_1000)) {
(gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) && (gCurrentRadioPortrait != RCID_STATIC) &&
(gCurrentRadioPortrait != RCID_STATIC_FLIP) && (gCurrentRadioPortrait != RCID_1000)) {
RCP_SetupDL(&gMasterDisp, 0x4C);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 0, 255);
Graphics_DisplaySmallText(31, 167, 1.0f, 1.0f, "DOWN");
}
if (((D_ctx_801782A4 != RCID_STATIC) && (D_ctx_801782A4 != RCID_STATIC_FLIP)) &&
(D_ctx_801782A4 != RCID_1000)) {
if (((gCurrentRadioPortrait != RCID_STATIC) && (gCurrentRadioPortrait != RCID_STATIC_FLIP)) &&
(gCurrentRadioPortrait != RCID_1000)) {
func_hud_80086110(22.0f, 165.0f, gActors[var_v1].health * 2.55f);
}
}
if (((D_ctx_801782A4 != RCID_STATIC) && (D_ctx_801782A4 != RCID_STATIC_FLIP)) &&
(D_ctx_801782A4 != RCID_1000)) {
if (((gCurrentRadioPortrait != RCID_STATIC) && (gCurrentRadioPortrait != RCID_STATIC_FLIP)) &&
(gCurrentRadioPortrait != RCID_1000)) {
func_hud_8008AD94();
}
}
if (D_ctx_80178300 == 1) {
if (gHideRadio == 1) {
func_radio_800BA760();
}
}
void func_radio_800BC040(void) {
if (gPlayState != PLAY_PAUSE) {
if (D_Timer_801782AC > 0) {
D_Timer_801782AC--;
if (gRadioStateTimer > 0) {
gRadioStateTimer--;
}
if (D_Timer_801782B4 > 0) {
D_Timer_801782B4--;
if (gRadioMouthTimer > 0) {
gRadioMouthTimer--;
}
switch (gRadioState) {
case 100:
D_ctx_801782A4 = RCID_1000;
gCurrentRadioPortrait = RCID_1000;
gRadioState = 1;
D_ctx_80177D38 = 0.0f;
D_ctx_80177D50 = 0.0f;
D_ctx_801782D8 = Message_GetWidth(D_ctx_80178308);
gRadioPortraitScaleY = 0.0f;
gRadioTextBoxScaleY = 0.0f;
gRadioMsgCharIndex = Message_GetWidth(gRadioMsg);
if (gCamCount != 1) {
gRadioState = 0;
}
break;
case 1:
D_ctx_80177D38 += 0.02f;
if (D_ctx_80177D38 == 0.04f) {
gRadioPortraitScaleY += 0.02f;
if (gRadioPortraitScaleY == 0.04f) {
gRadioState++;
D_Timer_801782AC = 5;
gRadioStateTimer = 5;
}
break;
case 2:
if (D_Timer_801782AC == 0) {
if (gRadioStateTimer == 0) {
gRadioState++;
D_Timer_801782AC = 5;
gRadioStateTimer = 5;
}
D_ctx_801782A4 = RCID_STATIC;
gCurrentRadioPortrait = RCID_STATIC;
if ((gGameFrameCount % 2) != 0) {
D_ctx_801782A4 = RCID_STATIC_FLIP;
gCurrentRadioPortrait = RCID_STATIC_FLIP;
}
break;
case 3:
if (D_Timer_801782AC == 0) {
if (gRadioStateTimer == 0) {
gRadioState++;
D_Timer_801782AC = 5;
gRadioStateTimer = 5;
if (gGameState == GSTATE_TITLE) {
D_Timer_801782AC = 30;
gRadioStateTimer = 30;
}
}
D_ctx_801782A4 = (s32) D_ctx_80177D68;
D_ctx_80177D50 += 0.015f;
gCurrentRadioPortrait = (s32) gRadioMsgRadioId;
gRadioTextBoxScaleY += 0.015f;
if (D_ctx_80177D50 > 0.07f) {
D_ctx_80177D50 = 0.07f;
if (gRadioTextBoxScaleY > 0.07f) {
gRadioTextBoxScaleY = 0.07f;
}
break;
case 4:
if (D_Timer_801782AC == 0) {
if (gRadioStateTimer == 0) {
gRadioState++;
D_Timer_801782AC = 10;
gRadioStateTimer = 10;
}
break;
case 5:
if (D_Timer_801782AC == 0) {
if (gRadioStateTimer == 0) {
gRadioState++;
D_Timer_801782AC = 5;
gRadioStateTimer = 5;
}
D_ctx_801782A4 = (s32) D_ctx_80177D68;
gCurrentRadioPortrait = (s32) gRadioMsgRadioId;
break;
case 6:
if (D_Timer_801782AC == 0) {
if (gRadioStateTimer == 0) {
Audio_PlayVoice(0);
gRadioState++;
}
D_ctx_801782A4 = RCID_STATIC;
gCurrentRadioPortrait = RCID_STATIC;
if ((gGameFrameCount % 2) != 0) {
D_ctx_801782A4 = RCID_STATIC_FLIP;
gCurrentRadioPortrait = RCID_STATIC_FLIP;
}
D_ctx_80177D50 -= 0.015f;
gRadioTextBoxScaleY -= 0.015f;
if (D_ctx_80177D50 < 0.0f) {
D_ctx_80177D50 = 0.0f;
if (gRadioTextBoxScaleY < 0.0f) {
gRadioTextBoxScaleY = 0.0f;
}
break;
case 7:
D_ctx_80177D38 -= 0.02f;
if (D_ctx_80177D38 == 0) {
gRadioPortraitScaleY -= 0.02f;
if (gRadioPortraitScaleY == 0) {
gRadioState = 0;
D_Timer_801782AC = 5;
gRadioStateTimer = 5;
}
D_ctx_801782A4 = RCID_STATIC;
gCurrentRadioPortrait = RCID_STATIC;
if ((gGameFrameCount % 2) != 0) {
D_ctx_801782A4 = RCID_STATIC_FLIP;
gCurrentRadioPortrait = RCID_STATIC_FLIP;
}
break;
@ -881,8 +883,8 @@ void func_radio_800BC040(void) {
if ((gRadioState > 0) && (gRadioState != 100)) {
func_radio_800BAAE8();
func_radio_800BB388();
if (((s32) D_ctx_80177D68 == RCID_FALCO) || ((s32) D_ctx_80177D68 == RCID_SLIPPY) ||
((s32) D_ctx_80177D68 == RCID_PEPPY)) {
if (((s32) gRadioMsgRadioId == RCID_FALCO) || ((s32) gRadioMsgRadioId == RCID_SLIPPY) ||
((s32) gRadioMsgRadioId == RCID_PEPPY)) {
Matrix_Push(&gGfxMatrix);
RCP_SetupDL_36();
Matrix_Translate(gGfxMatrix, -150.0f, -115.0f, -443.0f, MTXF_APPLY);

View File

@ -201,7 +201,7 @@ void func_tank_80043B18(Player* player) {
Titania_80189120(player->pos.x + sp3C.x, player->pos.y + sp3C.y, player->unk_138 + sp3C.z,
player->unk_0E8 + sp38, 1.0f);
}
if (((gGameFrameCount % 4) == 0) && (player->unk_0D0 >= 5.0f)) {
if (((gGameFrameCount % 4) == 0) && (player->baseSpeed >= 5.0f)) {
func_effect_8007A900(player->pos.x + sp3C.x, player->pos.y + sp3C.y + 20.0f,
player->unk_138 + sp3C.z, 2.0f, 255, 15, 0);
}
@ -219,7 +219,7 @@ void func_tank_80043B18(Player* player) {
Titania_80189120(player->pos.x + sp3C.x, player->pos.y + sp3C.y, player->unk_138 + sp3C.z,
player->unk_0E8 + sp38, 1.0f);
}
if (((gGameFrameCount % 4) == 0) && (player->unk_0D0 >= 5.0f)) {
if (((gGameFrameCount % 4) == 0) && (player->baseSpeed >= 5.0f)) {
func_effect_8007A900(player->pos.x + sp3C.x, player->pos.y + sp3C.y + 20.0f,
player->unk_138 + sp3C.z, 2.0f, 255, 15, 0);
}
@ -308,7 +308,7 @@ void func_tank_800444BC(Player* player) {
}
sp40 = sp3C = 0.0f;
sp38 = gGroundHeight;
if (D_ctx_801784AC == 4) {
if (gGroundType == 4) {
Ground_801B6E20(player->pos.x, player->unk_138 + player->unk_144, &sp40, &sp38, &sp3C);
}
if (gCurrentLevel == LEVEL_MACBETH) {
@ -335,11 +335,11 @@ void func_tank_800444BC(Player* player) {
}
player->pos.y = sp38 - 3.0f;
sp34 = (player->unk_0D0 * 0.2f) + 0.2f;
sp34 = (player->baseSpeed * 0.2f) + 0.2f;
player->vel.y = -3.0f;
if ((player->unk_104 > 0.0f) && (sp40 <= 0.0f)) {
player->vel.y = player->unk_104 * 0.5f * player->unk_0D0 * 0.035f;
player->vel.y = player->unk_104 * 0.5f * player->baseSpeed * 0.035f;
player->unk_0E4 = player->unk_104;
}
if (player->unk_0D4 < 0.0f) {
@ -408,16 +408,16 @@ void func_tank_80044868(Player* player) {
Math_SmoothStepToF(&player->unk_0E8, -var_fv1 * D_ctx_80177970, 0.1f, D_ctx_80177968, 0.1f);
}
player->unk_108 = player->unk_0E8;
sp2C = player->unk_0D0;
sp2C = player->baseSpeed;
if ((gCurrentLevel == LEVEL_MACBETH) && (sp2C < 3.0f)) {
sp2C = 3.0f;
}
if (player->unk_16C > 0.2f) {
Math_SmoothStepToF(&player->unk_184, player->unk_0D0 * 0.5f, 1.0f, 1.0f, 0.0f);
Math_SmoothStepToF(&player->unk_184, player->baseSpeed * 0.5f, 1.0f, 1.0f, 0.0f);
}
if (player->unk_170 > 0.2f) {
Math_SmoothStepToF(&player->unk_184, -player->unk_0D0 * 0.5f, 1.0f, 1.0f, 0.0f);
Math_SmoothStepToF(&player->unk_184, -player->baseSpeed * 0.5f, 1.0f, 1.0f, 0.0f);
}
if (!(player->unk_170 > 0.2f) && !(player->unk_16C > 0.2f) && (player->unk_1D4 != 0)) {
Math_SmoothStepToF(&player->unk_184, 0.0f, 1.0f, 0.75f, 0.0f);
@ -440,9 +440,9 @@ void func_tank_80044868(Player* player) {
} else {
Math_SmoothStepToF(&player->vel.x, player->unk_184 - (SIN_DEG(player->unk_108) * sp2C), 0.5f, 5.0f, 0.0f);
}
player->vel.z += fabsf((player->unk_184 * 0.4f * player->unk_0D0) / 15.0f);
player->vel.z += fabsf((player->unk_184 * 0.4f * player->baseSpeed) / 15.0f);
if (player->unk_000 == 0) {
player->vel.z += SIN_DEG(player->unk_0E4) * player->unk_110;
player->vel.z += SIN_DEG(player->unk_0E4) * player->boostSpeed;
}
if (D_800C9F00 != 0) {
player->vel.z = 2.0f * D_800C9F00;
@ -474,10 +474,10 @@ void func_tank_80044868(Player* player) {
player->pos.z += player->vel.z;
if (player->unk_1D4 != 0) {
player->unk_0A0 = 0.0f;
player->unk_0F4 += player->unk_0D0 * 5.0f;
player->unk_0F4 += player->baseSpeed * 5.0f;
player->unk_0F0 = SIN_DEG(player->unk_0F4) * 0.7f;
if (D_800C9F04 == 0) {
if (player->unk_0D0 != 0.0f) {
if (player->baseSpeed != 0.0f) {
func_tank_80043B18(player);
}
if (player->unk_1DC != 0.0f) {
@ -485,7 +485,7 @@ void func_tank_80044868(Player* player) {
}
}
}
if (player->unk_0D0 > 0.0f) {
if (player->baseSpeed > 0.0f) {
Texture_Scroll(D_landmaster_3002E80, 32, 32, 0);
if ((gCurrentLevel == LEVEL_TITANIA) && (gBossActive == 0)) {
func_tank_80043280(D_landmaster_3005EA8, D_TI_6009BB8, gGameFrameCount * -55.0f);
@ -494,7 +494,7 @@ void func_tank_80044868(Player* player) {
func_tank_80043280(D_landmaster_3005EA8, *D_Tex_800DACB8, gGameFrameCount * -55.0f);
}
}
if (player->unk_0D0 > 10.0f) {
if (player->baseSpeed > 10.0f) {
Texture_Scroll(D_landmaster_3002E80, 32, 32, 0);
if ((gCurrentLevel == LEVEL_TITANIA) && (gBossActive == 0)) {
func_tank_80043280(D_landmaster_3005EA8, D_TI_6009BB8, gGameFrameCount * -55.0f);
@ -579,10 +579,10 @@ void func_tank_80045348(Player* player) {
} else {
D_800C9F28 = 0.0f;
}
Math_SmoothStepToF(&player->unk_0D0, sp44, sp3C, sp38, 0.001f);
Math_SmoothStepToF(&player->baseSpeed, sp44, sp3C, sp38, 0.001f);
Math_SmoothStepToF(&player->unk_08C, sp40, sp3C, sp38, 0.001f);
} else if (player->unk_19C == -1) {
Math_SmoothStepToF(&player->unk_0D0, player->unk_000, 0.1f, 2.0f, 0.01f);
Math_SmoothStepToF(&player->baseSpeed, player->unk_000, 0.1f, 2.0f, 0.01f);
}
}
@ -652,7 +652,7 @@ void func_tank_80045678(Player* player) {
}
player->unk_2C0 = 0.0f;
}
Math_SmoothStepToF(&player->unk_110, 0.0f, 0.1f, 1.0f, 0);
Math_SmoothStepToF(&player->boostSpeed, 0.0f, 0.1f, 1.0f, 0);
if ((player->unk_16C > 0.2f) && (player->unk_170 > 0.2f) && (player->timer_220 == 0)) {
if (D_800C9F3C == 0) {
D_800C9F3C = 1;
@ -663,7 +663,7 @@ void func_tank_80045678(Player* player) {
player->unk_12C += ((__cosf(gGameFrameCount * M_DTOR * 8.0f) * 10.0f) - player->unk_12C) * 0.1f;
temp = -gInputPress->stick_y;
Math_SmoothStepToF(&player->unk_0E4, temp * 0.3f, 0.05f, 5.0f, 0.00001f);
Math_SmoothStepToF(&player->unk_110, 15.0f, 0.5f, 5.0f, 0.0f);
Math_SmoothStepToF(&player->boostSpeed, 15.0f, 0.5f, 5.0f, 0.0f);
Math_SmoothStepToF(&player->unk_0EC, 0.0f, 0.1f, 5.0f, 0.00001f);
player->unk_0D4 = -0.4f;
player->unk_0A0 += player->vel.y;
@ -921,7 +921,7 @@ void func_tank_80046704(Player* player) {
break;
case 1:
case 2:
Math_SmoothStepToF(&player->unk_0D0, 15.0f, 0.3f, 3.5f, 0.001f);
Math_SmoothStepToF(&player->baseSpeed, 15.0f, 0.3f, 3.5f, 0.001f);
Math_SmoothStepToF(&player->unk_08C, 0, 0.3f, 3.5f, 0.001f);
if (temp_v0 == 1) {
player->vel.x = -10.0f;
@ -938,7 +938,7 @@ void func_tank_80046704(Player* player) {
(scenery->obj.id == OBJ_SCENERY_68)) {
Player_ApplyDamage(player, temp_v0, 5);
}
player->unk_0D0 = -(D_800C9F00 * 1.5f);
player->baseSpeed = -(D_800C9F00 * 1.5f);
player->vel.z = D_800C9F00 * 1.5f;
D_800C9F00 = 12;
AUDIO_PLAY_SFX(0x09008015, player->sfxSource, 0);
@ -1360,10 +1360,10 @@ void func_tank_800481F4(Player* player) {
if (temp_v0 != 0) {
if (temp_v0 < 0) {
if (temp_v0 == -1) {
D_ctx_80178540 = 40;
D_ctx_80178570 = 20;
D_ctx_80178574 = 20;
D_ctx_80178578 = 20;
gLight2colorStep = 40;
gLight2RTarget = 20;
gLight2GTarget = 20;
gLight2BTarget = 20;
player->shadowing = 80;
if (player->whooshTimer == 0) {
AUDIO_PLAY_SFX(0x19000001, player->sfxSource, 0);
@ -1420,7 +1420,7 @@ void func_tank_800481F4(Player* player) {
player->timer_1E8 = 15;
player->unk_1EC = player->unk_1F0 = -20;
}
Math_SmoothStepToF(&player->unk_0D0, 15.0f, 0.3f, 3.5f, 0.001f);
Math_SmoothStepToF(&player->baseSpeed, 15.0f, 0.3f, 3.5f, 0.001f);
Math_SmoothStepToF(&player->unk_08C, 0, 0.3f, 3.5f, 0.001f);
player->vel.x = 0.0f;
player->vel.y = 30.0f;
@ -1434,7 +1434,7 @@ void func_tank_800481F4(Player* player) {
actor->fwork[8] + actor->obj.pos.y + 25.0f, actor->obj.pos.z,
actor->fwork[29], actor->fwork[26], actor->obj.rot.z, 0.0f, 0.0f,
0.0f) != 0) {
Math_SmoothStepToF(&player->unk_0D0, 15.0f, 0.3f, 3.5f, 0.001f);
Math_SmoothStepToF(&player->baseSpeed, 15.0f, 0.3f, 3.5f, 0.001f);
Math_SmoothStepToF(&player->unk_08C, 0, 0.3f, 3.5f, 0.001f);
if (player->pos.x < (actor->fwork[23] + actor->obj.pos.x)) {
player->unk_0D8.x = (actor->vel.z > 5.0f) ? -5.0f : -1.5f;

View File

@ -6,7 +6,7 @@
#include "assets/ast_versus.h"
s32 D_versus_80178750;
s32 D_versus_80178754;
s32 gVsMatchState;
s32 D_versus_80178758;
s32 sUnlockLandmaster;
s32 sUnlockOnFoot;
@ -19,7 +19,7 @@ s32 D_80178798;
s32 D_8017879C;
s32 D_801787A0;
s32 D_801787A4;
s32 D_801787A8;
s32 gVsWinner;
f32 D_801787AC;
f32 D_801787B0;
s32 D_801787B4;
@ -45,8 +45,8 @@ OSTime D_80178868;
s32 D_800D4A90 = 0;
s32 D_800D4A94 = 0;
s32 D_800D4A98 = 0;
s32 D_800D4A9C = 0;
s32 D_800D4AA0 = 0;
s32 sStartVsHurryBgm = 0;
s32 sVsHurryBgmPlaying = 0;
void func_versus_800BC760(void) {
s32 i;
@ -64,9 +64,9 @@ void func_versus_800BC760(void) {
gCamCount = 1;
gPlayState = PLAY_STANDBY;
gDrawMode = DRAW_NONE;
D_ctx_80177AE0 = 0;
gTitleState = 0;
gOptionMenuStatus = OPTION_WAIT;
D_ctx_80177B40 = 0;
gMapState = 0;
gBgColor = 0;
gPlayerGlareAlphas[0] = 0;
gPlayerGlareAlphas[1] = 0;
@ -649,8 +649,8 @@ s32 func_versus_800BF17C(void) {
continue;
}
if ((gPlayerInactive[i]) || (D_ctx_801778AC == 1) || ((D_801787B4 == 1) && (D_ctx_801778AC != 2)) ||
((D_ctx_801778AC == 2) && (D_versus_80178768[0] == 0) && (D_versus_80178768[1] == 0) &&
if ((gPlayerInactive[i]) || (gVsMatchType == 1) || ((D_801787B4 == 1) && (gVsMatchType != 2)) ||
((gVsMatchType == 2) && (D_versus_80178768[0] == 0) && (D_versus_80178768[1] == 0) &&
(D_versus_80178768[2] == 0))) {
ret = Math_SmoothStepToF(&D_801787D8[i], D_801787E8[i], 0.3f, 100.0f, 1.0f);
if (ret == 0.0f) {
@ -717,7 +717,7 @@ s32 func_versus_800BF17C(void) {
D_80178820[i]++;
if (D_ctx_801778AC == 2) {
if (gVsMatchType == 2) {
D_ctx_80177C30[i] = D_80178838[i] = D_80178808[i] = D_80178810[i] = 0;
}
gPlayer[i].unk_1D0 = 1;
@ -741,7 +741,7 @@ s32 func_versus_800BF59C(void) {
continue;
}
if ((gPlayerInactive[i]) || (D_ctx_801778AC == 1)) {
if ((gPlayerInactive[i]) || (gVsMatchType == 1)) {
colorGB = D_801787D8[i];
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, colorGB, colorGB, 255);
func_versus_800BD76C(D_800D4BFC[i], D_800D4C0C[i]);
@ -780,18 +780,18 @@ void func_versus_800BF750(void) {
}
}
s32 func_versus_800BF9AC(void) {
s32 Versus_CheckForWinner(void) {
s32 i;
s32 j;
s32 temp;
s32 var_a3;
s32 temp2[4];
switch (D_ctx_801778AC) {
switch (gVsMatchType) {
case 0:
for (i = 0, var_a3 = 0; i < 4; i++) {
if (gPlayer[i].state_1C8 != PLAYERSTATE_1C8_VS_STANDBY) {
D_801787A8 = i;
gVsWinner = i;
}
if (gPlayer[i].state_1C8 == PLAYERSTATE_1C8_VS_STANDBY) {
var_a3 += 1;
@ -800,16 +800,16 @@ s32 func_versus_800BF9AC(void) {
if ((D_801787B4 == 1) && (var_a3 == 4)) {
D_ctx_80177E74 = 1;
D_801787A8 = 99;
gVsWinner = 99;
break;
}
for (i = 0; i < 4; i++) {
if (D_ctx_80177DB8[i] == D_ctx_801778A4) {
if (D_ctx_80177DB8[i] == gVsPointsToWin) {
break;
}
if (D_ctx_80177DB8[i] == (D_ctx_801778A4 - 1)) {
D_800D4A9C = 1;
if (D_ctx_80177DB8[i] == (gVsPointsToWin - 1)) {
sStartVsHurryBgm = 1;
}
}
@ -831,14 +831,14 @@ s32 func_versus_800BF9AC(void) {
gPlayer[j].state_1C8 = PLAYERSTATE_1C8_VS_STANDBY;
}
D_ctx_80177E74 = 1;
D_801787A8 = i;
gVsWinner = i;
break;
case 1:
for (i = 0, var_a3 = 0; i < 4; i++) {
if (gPlayer[i].state_1C8 != PLAYERSTATE_1C8_VS_STANDBY) {
D_801787A8 = i;
gVsWinner = i;
}
if (gPlayer[i].state_1C8 == PLAYERSTATE_1C8_VS_STANDBY) {
var_a3 += 1;
@ -846,12 +846,12 @@ s32 func_versus_800BF9AC(void) {
}
if ((D_801787B4 == 1) && (var_a3 == 4)) {
D_ctx_80177E74 = 1;
D_801787A8 = 99;
gVsWinner = 99;
break;
}
if (var_a3 >= 2) {
D_800D4A9C = 1;
sStartVsHurryBgm = 1;
}
if ((var_a3 < 3) || (D_801787B4 == 1)) {
@ -859,11 +859,11 @@ s32 func_versus_800BF9AC(void) {
}
if (var_a3 >= 4) {
D_801787A8 = 99;
gVsWinner = 99;
}
for (j = 0; j < 4; j++) {
if (j == D_801787A8) {
if (j == gVsWinner) {
continue;
}
if (gPlayer[j].unk_288 >= 0) {
@ -879,7 +879,7 @@ s32 func_versus_800BF9AC(void) {
return (0);
}
if (D_ctx_801778AC == 2) {
if (gVsMatchType == 2) {
for (i = 0; i < 4; i++) {
if ((gPlayer[i].state_1C8 == PLAYERSTATE_1C8_DOWN) ||
(gPlayer[i].state_1C8 == PLAYERSTATE_1C8_VS_STANDBY)) {
@ -917,11 +917,11 @@ s32 func_versus_800BF9AC(void) {
}
if ((j == 4) && (temp == 0)) {
D_801787A8 = i;
gVsWinner = i;
}
}
if (D_801787A8 == 99) {
if (gVsWinner == 99) {
for (i = 0; i < 4; i++) {
if (!gControllerPlugged[i]) {
continue;
@ -949,11 +949,11 @@ s32 func_versus_800BF9AC(void) {
}
}
if ((j == 4) && (temp == 0)) {
D_801787A8 = i;
gVsWinner = i;
}
}
if (D_801787A8 == 99) {
if (gVsWinner == 99) {
for (i = 0; i < 4; i++) {
if (!gControllerPlugged[i]) {
continue;
@ -980,14 +980,14 @@ s32 func_versus_800BF9AC(void) {
}
}
if ((j == 4) && (temp == 0)) {
D_801787A8 = i;
gVsWinner = i;
}
}
}
}
for (j = 0; j < 4; j++) {
if (j == D_801787A8) {
if (j == gVsWinner) {
continue;
}
@ -1067,7 +1067,7 @@ s32 func_versus_800C04DC(f32 xPos, f32 scale, s32 arg2) {
f32 x;
f32 y;
if ((D_ctx_801778AC == 2) && (D_800D4A98 & 0x20) && (D_801787A8 != 99)) {
if ((gVsMatchType == 2) && (D_800D4A98 & 0x20) && (gVsWinner != 99)) {
x = 118.0f;
y = 110.0f;
@ -1308,7 +1308,7 @@ s32 func_versus_800C0E78(void) {
return 0;
}
bool func_versus_800C107C(s32 arg0) {
bool func_versus_800C107C(s32 playerNum) {
D_80178798++;
if (D_80178798 == 10) {
AUDIO_PLAY_SFX(0x49004007, gDefaultSfxSource, 4);
@ -1316,7 +1316,7 @@ bool func_versus_800C107C(s32 arg0) {
D_80178798 = 0;
}
if (D_801787B8 < D_ctx_80177DB8[arg0]) {
if (D_801787B8 < D_ctx_80177DB8[playerNum]) {
return false;
} else {
return true;
@ -1366,14 +1366,14 @@ void func_versus_800C1368(void) {
D_8017879C = 0;
D_801787A0 = 0;
D_801787A4 = 0;
D_801787A8 = 99;
gVsWinner = 99;
D_801787B8 = 0;
D_versus_80178750 = 0;
gBgColor = 0;
D_80178830 = 0;
D_800D4A90 = 0;
D_800D4A98 = 0;
D_800D4A9C = D_800D4AA0 = 0;
sStartVsHurryBgm = sVsHurryBgmPlaying = 0;
gFillScreenAlpha = 255;
gFillScreenAlphaStep = 0;
gFillScreenAlphaTarget = 0;
@ -1401,14 +1401,14 @@ void func_versus_800C1368(void) {
sUnlockOnFoot = false;
}
if (D_ctx_801778AC == 2) {
D_ctx_801778A4 = 10000;
if (gVsMatchType == 2) {
gVsPointsToWin = 10000;
}
if (!sUnlockLandmaster) {
sUnlockOnFoot = false;
}
D_versus_80178768[0] = D_ctx_801778C8 + 1;
D_versus_80178768[0] = gVsTimeTrialLimit + 1;
D_versus_80178768[1] = 0;
D_versus_80178768[2] = 0;
}
@ -1444,7 +1444,7 @@ bool func_versus_800C15D8(void) {
return ret;
}
/* return type needs to be s32 for func_versus_800C176C to match */
/* return type needs to be s32 for Versus_Update to match */
s32 func_versus_800C1690(void) {
D_80178798 = 0;
}
@ -1460,7 +1460,7 @@ bool func_versus_800C16A0(s32 arg0) {
void func_versus_800C16D0(void) {
func_play_800ABA08();
D_versus_80178754 = 0;
gVsMatchState = 0;
D_80178778 = 0;
}
@ -1482,13 +1482,13 @@ void func_versus_800C175C(void) {
void func_versus_800C1764(void) {
}
bool func_versus_800C176C(void) {
bool Versus_Update(void) {
s32 ret = 0;
switch (D_versus_80178754) {
switch (gVsMatchState) {
case 0:
func_versus_800C1368();
D_versus_80178754 = 1;
gVsMatchState = 1;
func_versus_800C1690();
break;
@ -1498,7 +1498,7 @@ bool func_versus_800C176C(void) {
}
if (func_versus_800C16A0(30)) {
AUDIO_PLAY_BGM(gBgmSeqId);
D_versus_80178754 = 2;
gVsMatchState = 2;
func_versus_800C1690();
}
break;
@ -1510,7 +1510,7 @@ bool func_versus_800C176C(void) {
}
if (func_versus_800C16A0(30)) {
func_play_800ABA08();
D_versus_80178754 = 3;
gVsMatchState = 3;
func_versus_800C1690();
}
break;
@ -1526,17 +1526,17 @@ bool func_versus_800C176C(void) {
D_ctx_80177E7C = 1;
}
if (func_versus_800C16A0(30)) {
D_versus_80178754 = 4;
gVsMatchState = 4;
}
break;
case 4:
if ((D_800D4A9C == 1) && (D_800D4AA0 == 0)) {
if ((sStartVsHurryBgm == 1) && (sVsHurryBgmPlaying == 0)) {
AUDIO_PLAY_BGM(SEQ_ID_VS_HURRY | SEQ_FLAG);
D_800D4AA0 = 1;
sVsHurryBgmPlaying = 1;
}
if (D_ctx_801778AC == 2) {
if (gVsMatchType == 2) {
D_80178778 = 10;
func_versus_800BE078();
func_versus_800BDE3C();
@ -1544,15 +1544,15 @@ bool func_versus_800C176C(void) {
D_80178778 = 8;
}
if (func_versus_800BF9AC()) {
if (Versus_CheckForWinner()) {
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 1);
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 1);
if (D_ctx_801778AC == 2) {
if (gVsMatchType == 2) {
D_80178778 = 11;
} else {
D_80178778 = 0;
}
D_versus_80178754 = 5;
gVsMatchState = 5;
func_versus_800C1690();
} else {
func_versus_800BF17C();
@ -1561,7 +1561,7 @@ bool func_versus_800C176C(void) {
case 5:
if (func_versus_800C16A0(60)) {
switch (D_801787A8) {
switch (gVsWinner) {
case 0:
case 1:
@ -1581,19 +1581,19 @@ bool func_versus_800C176C(void) {
}
D_versus_80178750 = 1;
D_versus_80178754 = 6;
gVsMatchState = 6;
func_versus_800C024C();
}
break;
case 6:
D_80178778 = 3;
if (!func_versus_800C0294(D_801787A8)) {
if (!func_versus_800C0294(gVsWinner)) {
break;
}
if (func_versus_800C16A0(30)) {
func_versus_800C1690();
D_versus_80178754 = 7;
gVsMatchState = 7;
}
break;
@ -1601,26 +1601,26 @@ bool func_versus_800C176C(void) {
D_80178778 = 4;
if (func_versus_800C16A0(15)) {
func_versus_800C1690();
if (((D_ctx_801778AC == 0) && (D_801787B4 > 1)) || (D_ctx_801778AC == 2)) {
D_versus_80178754 = 8;
if (((gVsMatchType == 0) && (D_801787B4 > 1)) || (gVsMatchType == 2)) {
gVsMatchState = 8;
} else {
D_versus_80178754 = 9;
gVsMatchState = 9;
}
}
break;
case 8:
D_80178778 = 5;
switch (D_ctx_801778AC) {
switch (gVsMatchType) {
case 0:
if (func_versus_800C107C(D_801787A8)) {
D_versus_80178754 = 9;
if (func_versus_800C107C(gVsWinner)) {
gVsMatchState = 9;
}
break;
case 2:
if (func_versus_800C0D10()) {
D_versus_80178754 = 9;
gVsMatchState = 9;
}
break;
@ -1636,7 +1636,7 @@ bool func_versus_800C176C(void) {
func_versus_800C1690();
D_801787AC = 0.0f;
D_80178830 = 0;
D_versus_80178754 = 10;
gVsMatchState = 10;
}
break;
@ -1645,19 +1645,19 @@ bool func_versus_800C176C(void) {
if (func_versus_800C16A0(60) && func_versus_800C0C84()) {
switch (D_801787A4) {
case 0:
D_versus_80178754 = 11;
gVsMatchState = 11;
break;
case 1:
D_versus_80178754 = 12;
gVsMatchState = 12;
break;
case 2:
D_versus_80178754 = 13;
gVsMatchState = 13;
break;
default:
D_versus_80178754 = 14;
gVsMatchState = 14;
break;
}
@ -1713,32 +1713,32 @@ bool func_versus_800C176C(void) {
case 20:
D_80178778 = 9;
if (gInputPress->button & B_BUTTON) {
D_versus_80178754 = 13;
gVsMatchState = 13;
} else {
func_versus_800C175C();
}
break;
}
if (((D_versus_80178754 == 8) || (D_versus_80178754 == 9)) || (D_versus_80178754 == 10)) {
if (((gVsMatchState == 8) || (gVsMatchState == 9)) || (gVsMatchState == 10)) {
D_800D4A98++;
}
if (D_versus_80178754 >= 5) {
if (gVsMatchState >= 5) {
gPauseEnabled = 0;
}
return false;
}
s32 func_versus_800C1E9C(void) {
s32 Versus_Main(void) {
if (gPlayState != PLAY_PAUSE) {
func_versus_800C176C();
Versus_Update();
}
return 0;
}
void func_versus_800C1ED4(void) {
void Versus_Draw(void) {
s32 var_a1;
D_80178868 = D_80178860;
@ -1758,9 +1758,9 @@ void func_versus_800C1ED4(void) {
func_versus_800C0970(D_801787CC, D_801787D0);
case 5:
switch (D_ctx_801778AC) {
switch (gVsMatchType) {
case 0:
func_versus_800C1138(D_801787B8, D_801787A8);
func_versus_800C1138(D_801787B8, gVsWinner);
break;
case 2:
@ -1768,14 +1768,14 @@ void func_versus_800C1ED4(void) {
break;
}
case 4:
if ((D_ctx_801778AC != 2) || (!(D_800D4A98 & 0x20))) {
if (D_801787A8 < 4) {
if ((gVsMatchType != 2) || (!(D_800D4A98 & 0x20))) {
if (gVsWinner < 4) {
func_versus_800C075C();
}
}
case 3:
func_versus_800C04DC(D_801787C0, D_801787C8, D_801787A8);
func_versus_800C04DC(D_801787C0, D_801787C8, gVsWinner);
if (D_80178778 == 7) {
func_versus_800C0B0C();
}
@ -1789,7 +1789,7 @@ void func_versus_800C1ED4(void) {
func_versus_800BF59C();
case 11:
if (D_ctx_801778AC == 2) {
if (gVsMatchType == 2) {
func_versus_800BE300(124.0f, 116.0f, D_versus_80178768);
}
break;
@ -1973,7 +1973,7 @@ void func_versus_800C26C8(void) {
Vec3f dest;
Actor* actor;
if ((D_ctx_801778AC != 2) || (D_ctx_80177E7C == 0)) {
if ((gVsMatchType != 2) || (D_ctx_80177E7C == 0)) {
return;
}

View File

@ -376,7 +376,7 @@ void Ending_8018845C(void) {
if (var_a2 != D_ending_8019858C) {}
}
D_ctx_80178300 = 1;
gHideRadio = 1;
switch (gCsFrameCount) {
case 10:
@ -570,7 +570,7 @@ void Ending_80189108(void) {
switch (D_ending_80196D08[4].unk_38) {
case 0:
D_ctx_80178300 = 1;
gHideRadio = 1;
switch (gCsFrameCount) {
case 30:
Radio_PlayMessage(gMsg_ID_21030, RCID_FOX);
@ -617,7 +617,7 @@ void Ending_80189108(void) {
break;
case 1:
D_ctx_80178300 = 0;
gHideRadio = 0;
if (gCsFrameCount == 20) {
Radio_PlayMessage(gMsg_ID_21050, RCID_ROB64_TITLE);
}
@ -630,7 +630,7 @@ void Ending_80189108(void) {
break;
case 2:
D_ctx_80178300 = 1;
gHideRadio = 1;
switch (gCsFrameCount) {
case 20:
Radio_PlayMessage(gMsg_ID_21060, RCID_FOX);
@ -822,9 +822,9 @@ void Ending_8018A024(void) {
src.x = src.y = 0.0f;
src.z = -100.0f;
Matrix_RotateX(gCalcMatrix, D_ctx_801784D0 * M_DTOR, MTXF_NEW);
Matrix_RotateY(gCalcMatrix, D_ctx_801784D4 * M_DTOR, MTXF_APPLY);
Matrix_RotateZ(gCalcMatrix, D_ctx_801784D8 * M_DTOR, MTXF_APPLY);
Matrix_RotateX(gCalcMatrix, gEnvLightxRot * M_DTOR, MTXF_NEW);
Matrix_RotateY(gCalcMatrix, gEnvLightyRot * M_DTOR, MTXF_APPLY);
Matrix_RotateZ(gCalcMatrix, gEnvLightzRot * M_DTOR, MTXF_APPLY);
Matrix_MultVec3fNoTranslate(gCalcMatrix, &src, &dest);
gLight1x = dest.x;
gLight1y = dest.y;
@ -854,8 +854,8 @@ void Ending_8018A124(s32 arg0) {
gAmbientG = (&sp8)[arg0][1];
gAmbientB = (&sp8)[arg0][2];
D_ctx_801784D0 = (&sp0)[arg0][0];
D_ctx_801784D4 = (&sp0)[arg0][1];
gEnvLightxRot = (&sp0)[arg0][0];
gEnvLightyRot = (&sp0)[arg0][1];
}
void Ending_8018A2A8(void) {
@ -1101,7 +1101,7 @@ void Ending_Draw(void) {
Ending_8018CE20(D_ending_80196D04);
D_ending_80196D04++;
func_radio_800BB5D0();
Radio_Draw();
Matrix_Pop(&gGfxMatrix);
}
@ -1241,39 +1241,39 @@ void Ending_8018ABE8(void) {
case 3:
if (gControllerHold[3].button & B_BUTTON) {
D_ctx_801784D0 += 1.0f;
if (D_ctx_801784D0 > 360.0f) {
D_ctx_801784D0 = 0.0f;
gEnvLightxRot += 1.0f;
if (gEnvLightxRot > 360.0f) {
gEnvLightxRot = 0.0f;
}
}
if (gControllerHold[3].button & A_BUTTON) {
D_ctx_801784D0 -= 1.0f;
if (D_ctx_801784D0 < -360.0f) {
D_ctx_801784D0 = 0.0f;
gEnvLightxRot -= 1.0f;
if (gEnvLightxRot < -360.0f) {
gEnvLightxRot = 0.0f;
}
}
if (gControllerHold[3].button & L_CBUTTONS) {
D_ctx_801784D4 += 1.0f;
if (D_ctx_801784D4 > 360.0f) {
D_ctx_801784D4 = 0.0f;
gEnvLightyRot += 1.0f;
if (gEnvLightyRot > 360.0f) {
gEnvLightyRot = 0.0f;
}
}
if (gControllerHold[3].button & D_CBUTTONS) {
D_ctx_801784D4 -= 1.0f;
if (D_ctx_801784D4 < -360.0f) {
D_ctx_801784D4 = 0.0f;
gEnvLightyRot -= 1.0f;
if (gEnvLightyRot < -360.0f) {
gEnvLightyRot = 0.0f;
}
}
if (gControllerHold[3].button & U_CBUTTONS) {
D_ctx_801784D8 += 1.0f;
if (D_ctx_801784D8 > 360.0f) {
D_ctx_801784D8 = 0.0f;
gEnvLightzRot += 1.0f;
if (gEnvLightzRot > 360.0f) {
gEnvLightzRot = 0.0f;
}
}
if (gControllerHold[3].button & R_CBUTTONS) {
D_ctx_801784D8 -= 1.0f;
if (D_ctx_801784D8 < -360.0f) {
D_ctx_801784D8 = 0.0f;
gEnvLightzRot -= 1.0f;
if (gEnvLightzRot < -360.0f) {
gEnvLightzRot = 0.0f;
}
}
break;
@ -1492,9 +1492,9 @@ void Ending_8018B860(void) {
gLight1G = sp28[1];
gLight1B = sp28[2];
D_ctx_801784D0 = sp34[0];
D_ctx_801784D4 = sp34[1];
D_ctx_801784D8 = sp34[2];
gEnvLightxRot = sp34[0];
gEnvLightyRot = sp34[1];
gEnvLightzRot = sp34[2];
gAmbientR = sp1C[0];
gAmbientG = sp1C[1];
@ -1539,9 +1539,9 @@ void Ending_8018BAD0(void) {
gLight1G = sp28[1];
gLight1B = sp28[2];
D_ctx_801784D0 = sp34[0];
D_ctx_801784D4 = sp34[1];
D_ctx_801784D8 = sp34[2];
gEnvLightxRot = sp34[0];
gEnvLightyRot = sp34[1];
gEnvLightzRot = sp34[2];
gAmbientR = sp1C[0];
gAmbientG = sp1C[1];
@ -1688,16 +1688,16 @@ bool Ending_8018BCB0(void) {
}
if ((gCsFrameCount < 548) && (gCsFrameCount >= 240)) {
D_ctx_801784D0 -= 0.2f;
if (D_ctx_801784D0 < 180.0f) {
D_ctx_801784D0 = 180.0f;
gEnvLightxRot -= 0.2f;
if (gEnvLightxRot < 180.0f) {
gEnvLightxRot = 180.0f;
}
}
if (gCsFrameCount >= 549) {
D_ctx_801784D0 += 0.2f;
if (D_ctx_801784D0 > 240.0f) {
D_ctx_801784D0 = 240.0f;
gEnvLightxRot += 0.2f;
if (gEnvLightxRot > 240.0f) {
gEnvLightxRot = 240.0f;
}
}

View File

@ -185,7 +185,7 @@ void Corneria_80187AC8(Boss* boss) {
gPlayer[0].unk_114 = 0.0f;
}
Radio_PlayMessage(gMsg_ID_2280, RCID_BOSS_CORNERIA);
func_boss_80042EC0(boss);
Boss_AwardBonus(boss);
gBossFrameCount = 100000;
return;
}
@ -239,7 +239,7 @@ void Corneria_80187AC8(Boss* boss) {
boss->swork[7] = boss->swork[8] = boss->swork[9] = 1000;
boss->info.hitbox[1 + 24] = 100000.0f;
for (var_s1 = 3; var_s1 < 6; var_s1++) {
func_boss_800430DC(D_i1_8019B6D8[18 + var_s1 + 2], D_i1_8019B6D8[24 + var_s1 + 2],
Boss_SpawnActor189(D_i1_8019B6D8[18 + var_s1 + 2], D_i1_8019B6D8[24 + var_s1 + 2],
D_i1_8019B6D8[30 + var_s1 + 2], D_i1_8019B6D8[36 + var_s1 + 2],
D_i1_8019B6D8[42 + var_s1 + 2], D_i1_8019B6D8[48 + var_s1 + 2], 0.0f,
RAND_FLOAT(20.0f), 0.0f, 5.5f, var_s1 + 28, RAND_INT(30.0f) + 60.0f);
@ -258,7 +258,7 @@ void Corneria_80187AC8(Boss* boss) {
boss->info.hitbox[1 + 30] = 100000.0f;
for (var_s1 = 0; var_s1 < 3; var_s1++) {
func_boss_800430DC(D_i1_8019B6D8[18 + var_s1 + 2], D_i1_8019B6D8[24 + var_s1 + 2],
Boss_SpawnActor189(D_i1_8019B6D8[18 + var_s1 + 2], D_i1_8019B6D8[24 + var_s1 + 2],
D_i1_8019B6D8[30 + var_s1 + 2], D_i1_8019B6D8[36 + var_s1 + 2],
D_i1_8019B6D8[42 + var_s1 + 2], D_i1_8019B6D8[48 + var_s1 + 2], 0.0f,
RAND_FLOAT(20.0f), 0.0f, 5.5f, var_s1 + 28, RAND_INT(30.0f) + 60.0f);
@ -1360,7 +1360,7 @@ void Corneria_8018B58C(Actor* actor) {
for (i = 0; i < 4; i++) {
func_boss_800430DC(actor->fwork[2 + i], actor->fwork[6 + i], actor->fwork[10 + i], 0.0f, 0.0f, 0.0f,
Boss_SpawnActor189(actor->fwork[2 + i], actor->fwork[6 + i], actor->fwork[10 + i], 0.0f, 0.0f, 0.0f,
spB4[i] * (RAND_FLOAT(0.75f) + 0.5f), spA4[i] * (RAND_FLOAT(0.75f) + 0.5f),
RAND_FLOAT_CENTERED(20.0f), 3.0f, i + 24, RAND_INT(30.0f) + 60.0f);
}
@ -1482,7 +1482,7 @@ void Corneria_Boss293_Init(Boss293* this) {
this->unk_05E = 1;
this->timer_050 = 354;
this->health = 601;
this->fwork[18] = -D_play_80161A54 - 10.0f;
this->fwork[18] = -gArwingSpeed - 10.0f;
if (fabsf(gPlayer[0].unk_0AC) < 1.0f) {
this->timer_05A = 30000;
this->obj.pos.z = (gPlayer[0].cam.eye.z - D_ctx_80177D20) - 2000.0f;
@ -1602,10 +1602,10 @@ void Corneria_8018C19C(Boss* boss) {
}
} else {
if ((gBossFrameCount > 380) && (gBossFrameCount < 430)) {
D_ctx_80178540 = 5;
D_ctx_80178570 = 20;
D_ctx_80178574 = 20;
D_ctx_80178578 = 20;
gLight2colorStep = 5;
gLight2RTarget = 20;
gLight2GTarget = 20;
gLight2BTarget = 20;
gPlayer[0].shadowing = 100;
}
Matrix_MultVec3f(gCalcMatrix, &D_i1_801998CC, &sp84[0]);
@ -1729,7 +1729,7 @@ void Corneria_8018C19C(Boss* boss) {
boss->fwork[12] = 1.5f;
boss->fwork[6] = 800.0f;
boss->fwork[3] = gPlayer[0].cam.eye.z - D_ctx_80177D20 - 2500.0f;
boss->fwork[18] = -D_play_80161A54;
boss->fwork[18] = -gArwingSpeed;
AUDIO_PLAY_BGM(SEQ_ID_CO_BOSS_2 | SEQ_FLAG);
boss->timer_050 = 40;
}
@ -1894,7 +1894,7 @@ void Corneria_8018C19C(Boss* boss) {
}
}
if (boss->health < 2) {
D_ctx_8017796C = -1;
gTeamLowHealthMsgTimer = -1;
Audio_KillSfxBySourceAndId(boss->sfxSource, 0x31034025);
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 40);
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 40);
@ -1948,13 +1948,13 @@ void Corneria_8018C19C(Boss* boss) {
Math_SmoothStepToAngle(&boss->obj.rot.z, boss->fwork[14], 1.0f, 1.0f, 0.001f);
if (boss->health != 0) {
if (boss->timer_056 == 0) {
func_boss_80042EC0(boss);
Boss_AwardBonus(boss);
boss->fwork[17] = 10.0f;
boss->vel.y *= 1.5f;
gMissionStatus = MISSION_ACCOMPLISHED;
if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) ||
(gPlayer[0].state_1C8 == PLAYERSTATE_1C8_U_TURN)) {
func_boss_8004319C(gPlayer, boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z);
Boss_CompleteLevel(gPlayer, boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z);
}
boss->health--;
boss->fwork[8] = 0.0f;
@ -2691,7 +2691,7 @@ void Corneria_LevelStart(Player* player) {
player->pos.x = 0.0f;
}
if (player->timer_1F8 == 270) {
D_ctx_80178300 = 0;
gHideRadio = 0;
Radio_PlayMessage(gMsg_ID_2005, RCID_FOX);
}
if (player->timer_1F8 == 180) {
@ -2736,7 +2736,7 @@ void Corneria_LevelStart(Player* player) {
actor0->obj.pos.y = player->pos.y + 80.0f;
actor0->obj.pos.z += 100.0f;
}
if (D_ctx_801782F8 && (gGameFrameCount & 2)) {
if (gMsgCharIsPrinting && (gGameFrameCount & 2)) {
player->wings.unk_30 = 5.0f;
}
break;
@ -2746,14 +2746,14 @@ void Corneria_LevelStart(Player* player) {
D_ctx_80177A48[0] = 0.0f;
player->timer_1F8 = 190;
}
if (D_ctx_801782F8 && (gGameFrameCount & 2)) {
if (gMsgCharIsPrinting && (gGameFrameCount & 2)) {
player->wings.unk_30 = 5.0f;
}
gCsCamEyeY = player->pos.y + 10.0f;
gCsCamAtY = player->pos.y + 10.0f;
break;
case 4:
if (D_ctx_801782F8 && (gGameFrameCount & 2)) {
if (gMsgCharIsPrinting && (gGameFrameCount & 2)) {
player->wings.unk_30 = 5.0f;
}
Math_SmoothStepToF(&D_ctx_80177A48[0], 0.1f, 1.0f, 0.001f, 0.0f);
@ -2774,7 +2774,7 @@ void Corneria_LevelStart(Player* player) {
Math_SmoothStepToF(&actor0->fwork[19], 50.0f, 0.1f, 3.0f, 0.01f);
}
actor0->fwork[20] = 0.0f;
if (D_ctx_801782F8 && (gGameFrameCount & 2)) {
if (gMsgCharIsPrinting && (gGameFrameCount & 2)) {
actor0->fwork[20] = 5.0f;
}
break;
@ -2814,7 +2814,7 @@ void Corneria_LevelStart(Player* player) {
Radio_PlayMessage(gMsg_ID_2030, RCID_PEPPY);
}
actor2->fwork[20] = 0.0f;
if (D_ctx_801782F8 && (gGameFrameCount & 2)) {
if (gMsgCharIsPrinting && (gGameFrameCount & 2)) {
actor2->fwork[20] = 5.0f;
}
break;
@ -2841,7 +2841,7 @@ void Corneria_LevelStart(Player* player) {
Math_SmoothStepToF(&actor1->fwork[19], -20.0f, 0.1f, 3.0f, 0.01f);
}
actor1->fwork[20] = 0.0f;
if (D_ctx_801782F8 && (gGameFrameCount & 2)) {
if (gMsgCharIsPrinting && (gGameFrameCount & 2)) {
actor1->fwork[20] = 5.0f;
}
break;
@ -2864,7 +2864,7 @@ void Corneria_LevelStart(Player* player) {
Radio_PlayMessage(gMsg_ID_2050, RCID_FOX);
}
player->wings.unk_30 = 0.0f;
if (D_ctx_801782F8 && (gGameFrameCount & 2)) {
if (gMsgCharIsPrinting && (gGameFrameCount & 2)) {
player->wings.unk_30 = 5.0f;
}
if (player->timer_1F8 == 80) {
@ -3031,7 +3031,7 @@ void Corneria_LevelComplete1(Player* player) {
Math_SmoothStepToF(&player->unk_12C, 0.0f, 0.1f, 15.0f, 0.0f);
Math_SmoothStepToF(&player->camRoll, 0.0f, 0.1f, 3.0f, 0.0f);
Math_SmoothStepToAngle(&player->unk_4D8, 0.0f, 0.1f, 20.0f, 0.0f);
Math_SmoothStepToF(&player->unk_110, 0.0f, 0.1f, 3.0f, 0.0f);
Math_SmoothStepToF(&player->boostSpeed, 0.0f, 0.1f, 3.0f, 0.0f);
if (player->unk_1D0 >= 3) {
player->cam.eye.y += 3.0f;
player->cam.at.y += 3.0f;
@ -3109,7 +3109,7 @@ void Corneria_LevelComplete1(Player* player) {
}
Math_SmoothStepToAngle(&player->unk_0E4, 20.0f, 0.1f, 0.5f, 0);
Math_SmoothStepToAngle(&player->unk_0EC, 0.0f, 0.1f, 1.0f, 0);
Math_SmoothStepToF(&player->unk_0D0, 0.0f, 0.1f, 2.0f, 0.0f);
Math_SmoothStepToF(&player->baseSpeed, 0.0f, 0.1f, 2.0f, 0.0f);
Math_SmoothStepToF(&D_ctx_80177A48[2], 0.1f, 1.0f, 0.002f, 0);
Math_SmoothStepToF(&D_ctx_80177A48[3], 0.1f, 1.0f, 0.002f, 0);
Matrix_RotateY(gCalcMatrix, player->unk_0E8 * M_DTOR, MTXF_NEW);
@ -3143,14 +3143,14 @@ void Corneria_LevelComplete1(Player* player) {
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 50);
AUDIO_PLAY_SFX(0x09000002, player->sfxSource, 0);
player->unk_1D0++;
player->unk_0D0 = 2.0f;
player->baseSpeed = 2.0f;
player->unk_194 = 5.0f;
player->unk_190 = 5.0f;
}
break;
case 4:
if (gCsFrameCount >= 1270) {
player->unk_0D0 *= 1.2f;
player->baseSpeed *= 1.2f;
player->unk_25C += 0.04f;
if (player->unk_25C > 0.6f) {
player->unk_25C = 0.6f;
@ -3255,7 +3255,7 @@ void Corneria_LevelComplete1(Player* player) {
Matrix_RotateX(gCalcMatrix, -((player->unk_0E4 + player->unk_4D8) * M_DTOR), MTXF_APPLY);
sp64.x = 0.0f;
sp64.y = 0.0f;
sp64.z = player->unk_0D0 + player->unk_110;
sp64.z = player->baseSpeed + player->boostSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp64, &sp58);
player->vel.x = sp58.x;
player->vel.z = sp58.z;

View File

@ -1580,7 +1580,7 @@ void Venom1_80194398(Boss* boss) {
if (boss->health <= 0) {
gScreenFlashTimer = 8;
D_ctx_8017796C = -1;
gTeamLowHealthMsgTimer = -1;
D_ctx_8017828C = 1;
AUDIO_PLAY_SFX(0x2940D09A, boss->sfxSource, 4);
boss->health = 0;
@ -1628,7 +1628,7 @@ void Venom1_80194398(Boss* boss) {
boss->timer_05A = 35;
if (boss->health <= 0) {
gScreenFlashTimer = 8;
D_ctx_8017796C = -1;
gTeamLowHealthMsgTimer = -1;
D_ctx_8017828C = 1;
AUDIO_PLAY_SFX(0x2940D09A, boss->sfxSource, 4);
boss->health = 0;
@ -1910,7 +1910,7 @@ void Venom1_80194398(Boss* boss) {
}
break;
case 49:
func_boss_80042EC0(boss);
Boss_AwardBonus(boss);
gShowBossHealth = 0;
boss->swork[28] = 9;
AUDIO_PLAY_SFX(0x29405084, boss->sfxSource, 4);

View File

@ -761,19 +761,19 @@ void Meteo_801892F0(Boss* boss, s32 arg1) {
void Meteo_80189624(void) {
if ((gGameFrameCount % 2) != 0) {
D_ctx_801784B8 = D_ctx_801784C4 = 0.0f;
D_ctx_801784BC = D_ctx_801784C8 = 5.0f;
D_ctx_801784C0 = D_ctx_801784CC = 0.0f;
D_ctx_801784EC = D_ctx_801784F8 = 0.0f;
D_ctx_801784F0 = D_ctx_801784FC = 100.0f;
D_ctx_801784F4 = D_ctx_80178500 = 0.0f;
gLight1xRot = gLight1xRotTarget = 0.0f;
gLight1yRot = gLight1yRotTarget = 5.0f;
gLight1zRot = gLight1zRotTarget = 0.0f;
gLight2xRot = gLight2xRotTarget = 0.0f;
gLight2yRot = gLight2yRotTarget = 100.0f;
gLight2zRot = gLight2zRotTarget = 0.0f;
} else {
D_ctx_801784B8 = D_ctx_801784C4 = 0.0f;
D_ctx_801784BC = D_ctx_801784C8 = -5.0f;
D_ctx_801784C0 = D_ctx_801784CC = 0.0f;
D_ctx_801784EC = D_ctx_801784F8 = 0.0f;
D_ctx_801784F0 = D_ctx_801784FC = 110.0f;
D_ctx_801784F4 = D_ctx_80178500 = 0.0f;
gLight1xRot = gLight1xRotTarget = 0.0f;
gLight1yRot = gLight1yRotTarget = -5.0f;
gLight1zRot = gLight1zRotTarget = 0.0f;
gLight2xRot = gLight2xRotTarget = 0.0f;
gLight2yRot = gLight2yRotTarget = 110.0f;
gLight2zRot = gLight2zRotTarget = 0.0f;
}
}
@ -922,7 +922,7 @@ void Meteo_8018978C(Boss* boss) {
if (boss->swork[7] <= 0) {
if (boss->swork[8] <= 0) {
func_boss_80042EC0(boss);
Boss_AwardBonus(boss);
boss->state = 20;
boss->timer_050 = 300;
@ -951,7 +951,7 @@ void Meteo_8018978C(Boss* boss) {
if (boss->state >= 3) {
if (boss->state < 20) {
Math_SmoothStepToF(&boss->vel.z, -D_play_80161A54, 0.1f, 2.0f, 0.0f);
Math_SmoothStepToF(&boss->vel.z, -gArwingSpeed, 0.1f, 2.0f, 0.0f);
if ((boss->fwork[9] + 200.0f) < sp7C) {
Math_SmoothStepToF(&boss->vel.z, -60.0f, 0.1f, 4.0f, 0.0f);
}
@ -1074,9 +1074,9 @@ void Meteo_8018978C(Boss* boss) {
}
if ((sp7C < 200.0f) && (sp7C > -1500.0f)) {
D_ctx_801784F8 = 0.0f;
D_ctx_801784FC = 150.0f;
D_ctx_80178500 = 0.0f;
gLight2xRotTarget = 0.0f;
gLight2yRotTarget = 150.0f;
gLight2zRotTarget = 0.0f;
}
switch (boss->state) {
@ -1231,14 +1231,14 @@ void Meteo_8018978C(Boss* boss) {
}
if (boss->timer_050 == 0) {
D_ctx_801784C4 = 0.0f;
D_ctx_801784C8 = 5.0f;
D_ctx_801784CC = 0.0f;
D_ctx_801784F8 = 0.0f;
D_ctx_801784FC = 100.0f;
D_ctx_80178500 = 0.0f;
D_ctx_801784E8 = 5.0f;
D_ctx_80178510 = 5.0f;
gLight1xRotTarget = 0.0f;
gLight1yRotTarget = 5.0f;
gLight1zRotTarget = 0.0f;
gLight2xRotTarget = 0.0f;
gLight2yRotTarget = 100.0f;
gLight2zRotTarget = 0.0f;
gLight1rotStep = 5.0f;
gLight2rotStep = 5.0f;
if (boss->fwork[11] < 70.0f) {
boss->fwork[11] += 1.0f;
@ -2219,7 +2219,7 @@ void Meteo_LevelComplete(Player* player) {
Math_SmoothStepToF(&player->unk_08C, 0.0f, 0.1f, 3.0f, 0.0f);
Math_SmoothStepToF(&player->camRoll, 0.0f, 0.1f, 3.0f, 0.0f);
Math_SmoothStepToAngle(&player->unk_4D8, 0.0f, 0.1f, 20.0f, 0.0f);
Math_SmoothStepToF(&player->unk_110, 0.0f, 0.1f, 3.0f, 0.0f);
Math_SmoothStepToF(&player->boostSpeed, 0.0f, 0.1f, 3.0f, 0.0f);
switch (player->unk_1D0) {
case 0:
@ -2254,7 +2254,7 @@ void Meteo_LevelComplete(Player* player) {
Math_SmoothStepToF(&D_ctx_80177A48[1], 180.0f, 0.05f, 1.0f, 0.0f);
Math_SmoothStepToF(&D_ctx_80177A48[2], 1500.0f, 0.1f, 10.0f, 0.0f);
Math_SmoothStepToF(&D_ctx_80177A48[0], 0.1f, 0.1f, 0.001f, 0.0f);
Math_SmoothStepToF(&player->unk_0D0, 0.0f, 1.0f, 0.5f, 0.0f);
Math_SmoothStepToF(&player->baseSpeed, 0.0f, 1.0f, 0.5f, 0.0f);
Math_SmoothStepToF(&gBosses[0].vel.z, 0.0f, 1.0f, 0.5f, 0.0f);
Math_SmoothStepToF(&player->unk_0E4, 0.0f, 0.1f, 3.0f, 0.0f);
@ -2314,7 +2314,7 @@ void Meteo_LevelComplete(Player* player) {
gCsCamAtZ = player->unk_138 + D_ctx_80177D20 + 150.0f;
if (gCsFrameCount > 1390) {
player->unk_0D0 += 2.0f;
player->baseSpeed += 2.0f;
player->unk_0E4 += 0.1f;
player->unk_190 = 2.0f;
@ -2455,7 +2455,7 @@ void Meteo_LevelComplete(Player* player) {
src.x = 0.0f;
src.y = 0.0f;
src.z = player->unk_0D0 + player->unk_110;
src.z = player->baseSpeed + player->boostSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &src, &dest);

View File

@ -320,13 +320,13 @@ void SectorX_80190078(Boss* boss) {
s32 frameData;
gBossFrameCount++;
D_ctx_80178540 = 5;
gLight2colorStep = 5;
attack = false;
if (gBossFrameCount < 150) {
D_ctx_80178570 = 20;
D_ctx_80178574 = 20;
D_ctx_80178578 = 20;
gLight2RTarget = 20;
gLight2GTarget = 20;
gLight2BTarget = 20;
}
PRINTF("たかおちゃん よう見ときや!\n"); // Takao-chan, look at it!
@ -446,7 +446,7 @@ void SectorX_80190078(Boss* boss) {
AUDIO_PLAY_SFX(0x2903300E, boss->sfxSource, 4);
if (boss->health <= 0) {
D_ctx_8017796C = -1;
gTeamLowHealthMsgTimer = -1;
boss->obj.rot.y = Math_ModF(boss->obj.rot.y, 360.0f);
boss->state = 20;
boss->timer_050 = 300;
@ -472,7 +472,7 @@ void SectorX_80190078(Boss* boss) {
gScreenFlashTimer = 8;
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 1);
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 1);
func_boss_80042EC0(boss);
Boss_AwardBonus(boss);
boss->info.hitbox = gNoHitbox;
}
@ -1470,7 +1470,7 @@ void SectorX_LevelStart(Player* player) {
player->cam.at.y = gCsCamAtY = 0.0f;
player->cam.at.z = gCsCamAtZ = -1000.0f;
player->camRoll = -5.0f;
player->unk_0D0 = 0.0f;
player->baseSpeed = 0.0f;
gFillScreenAlpha = 255;
/* fallthrough */
case 1:
@ -1519,7 +1519,7 @@ void SectorX_LevelStart(Player* player) {
player->pos.z = player->cam.eye.z + 20.0f;
player->unk_194 = 10.0f;
player->unk_190 = 10.0f;
player->unk_0D0 = 30.0f;
player->baseSpeed = 30.0f;
player->unk_0EC = -80.0f;
player->unk_0E4 = -20.0f;
AUDIO_PLAY_SFX(0x09000002, player->sfxSource, 0);
@ -1572,7 +1572,7 @@ void SectorX_LevelStart(Player* player) {
player->cam.at.z -= player->pos.z;
gCsCamAtZ -= player->pos.z;
player->pos.z = 0.0f;
player->unk_0D0 = 0.0f;
player->baseSpeed = 0.0f;
}
break;
@ -1589,7 +1589,7 @@ void SectorX_LevelStart(Player* player) {
Math_SmoothStepToF(D_ctx_80177A48, 1.0f, 1.0f, 0.01f, 0);
if (player->timer_1F8 == 0) {
player->unk_0D0 = D_play_80161A54;
player->baseSpeed = gArwingSpeed;
AUDIO_PLAY_BGM(gBgmSeqId);
gLevelStartStatusScreenTimer = 80;
player->state_1C8 = PLAYERSTATE_1C8_ACTIVE;
@ -1616,7 +1616,7 @@ void SectorX_LevelStart(Player* player) {
Matrix_RotateX(gCalcMatrix, -(player->unk_0E4 * M_DTOR), MTXF_APPLY);
src.x = 0.0f;
src.y = 0.0f;
src.z = player->unk_0D0;
src.z = player->baseSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &src, &dest);
player->vel.x = dest.x;
player->vel.z = dest.z;
@ -1686,7 +1686,7 @@ void SectorX_LevelComplete(Player* player) {
Math_SmoothStepToF(&player->unk_08C, 0.0f, 0.1f, 3.0f, 0.0f);
Math_SmoothStepToF(&player->camRoll, 0.0f, 0.1f, 3.0f, 0.0f);
Math_SmoothStepToAngle(&player->unk_4D8, 0.0f, 0.1f, 20.0f, 0.0f);
Math_SmoothStepToF(&player->unk_110, 0.0f, 0.1f, 3.0f, 0.0f);
Math_SmoothStepToF(&player->boostSpeed, 0.0f, 0.1f, 3.0f, 0.0f);
D_ctx_80178430 += 0.2f;
D_ctx_8017842C -= 0.2f;
@ -1715,7 +1715,7 @@ void SectorX_LevelComplete(Player* player) {
Math_SmoothStepToF(D_ctx_80177A48 + 5, -50.0f, 0.1f, 1.0f, 0.0f);
}
D_ctx_80177A48[2] += D_ctx_80177A48[3];
Math_SmoothStepToF(&player->unk_0D0, 0.0f, 0.1f, 2.0f, 0.0f);
Math_SmoothStepToF(&player->baseSpeed, 0.0f, 0.1f, 2.0f, 0.0f);
Math_SmoothStepToF(D_ctx_80177A48, 0.1f, 1.0f, 0.002f, 0.0f);
Math_SmoothStepToF(D_ctx_80177A48 + 1, 0.1f, 1.0f, 0.002f, 0.0f);
Matrix_RotateY(gCalcMatrix, player->unk_0E8 * M_DTOR, MTXF_NEW);
@ -1742,7 +1742,7 @@ void SectorX_LevelComplete(Player* player) {
break;
case 2:
player->unk_0D0 += 2.0f;
player->baseSpeed += 2.0f;
if (player->timer_1F8 == 0) {
Math_SmoothStepToAngle(&player->unk_0E4, 20.0f, 0.1f, 0.5f, 0.0f);
}
@ -1929,7 +1929,7 @@ void SectorX_LevelComplete(Player* player) {
Matrix_RotateX(gCalcMatrix, -((player->unk_0E4 + player->unk_4D8) * M_DTOR), MTXF_APPLY);
sp54.x = 0.0f;
sp54.y = 0.0f;
sp54.z = player->unk_0D0 + player->unk_110;
sp54.z = player->baseSpeed + player->boostSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp54, &sp48);
player->vel.x = sp48.x;
player->vel.z = sp48.z;

View File

@ -578,10 +578,10 @@ void Area6_80187944(Boss* bossA6) {
if (bossA6->health <= 0) {
bossA6->health = 0;
func_boss_80042EC0(bossA6);
Boss_AwardBonus(bossA6);
Radio_PlayMessage(gMsg_ID_15252, RCID_SLIPPY);
D_ctx_8017796C = -1;
gTeamLowHealthMsgTimer = -1;
D_bg_8015F984 = (D_ctx_80177D20 * 0.00004f) + 0.5f;
@ -2296,7 +2296,7 @@ void Area6_LevelStart(Player* player) {
player->pos.x = 0.0f;
player->pos.y = 350.0f;
player->pos.z = 16000.0f;
player->unk_0D0 = 30.0f;
player->baseSpeed = 30.0f;
if (gTeamShields[TEAM_ID_FALCO] > 0) {
Area6_8018D804(&gActors[3], 0);
}
@ -2366,10 +2366,10 @@ void Area6_LevelStart(Player* player) {
AUDIO_PLAY_SFX(0x09000002, player->sfxSource, 0);
}
if (gCsFrameCount >= 460) {
Math_SmoothStepToF(&player->unk_0D0, 50.0f, 0.1f, 3.0f, 0.01f);
Math_SmoothStepToF(&player->baseSpeed, 50.0f, 0.1f, 3.0f, 0.01f);
}
if (player->pos.z < 30.0f) {
player->unk_0D0 = player->pos.z = 0.0f;
player->baseSpeed = player->pos.z = 0.0f;
}
if (gCsFrameCount == 540) {
gLoadLevelObjects = 1;
@ -2377,7 +2377,7 @@ void Area6_LevelStart(Player* player) {
player->pos.x = 0.0f;
player->pos.z = 0.0f;
player->pos.y = 350.0f;
player->unk_0D0 = D_play_80161A54;
player->baseSpeed = gArwingSpeed;
player->unk_1D0 = 0;
player->timer_1F8 = 0;
@ -2453,7 +2453,7 @@ void Area6_LevelStart(Player* player) {
if (player->state_1C8 != PLAYERSTATE_1C8_ACTIVE) {
sp74.x = 0.0f;
sp74.y = 0.0f;
sp74.z = player->unk_0D0;
sp74.z = player->baseSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp74, &sp68);
player->vel.x = sp68.x;
player->vel.z = sp68.z;
@ -2555,7 +2555,7 @@ void Area6_LevelComplete(Player* player) {
player->wings.modelId = 1;
player->unk_194 = 5.0f;
player->unk_190 = 2.0f;
player->unk_0D0 = 60.0f;
player->baseSpeed = 60.0f;
AUDIO_PLAY_SFX(0x09000002, player->sfxSource, 0);
D_ctx_80177A48[3] = 0.0f;
/* fallthrough */
@ -2583,7 +2583,7 @@ void Area6_LevelComplete(Player* player) {
}
if (gCsFrameCount == 60) {
player->unk_234 = 0;
player->unk_0D0 = 0.0f;
player->baseSpeed = 0.0f;
}
Math_SmoothStepToF(&gCsCamEyeX, gBosses[0].obj.pos.x, 0.05f, 1000.0f, 0.001f);
Math_SmoothStepToF(&gCsCamEyeY, gBosses[0].obj.pos.y, 0.05f, 1000.0f, 0.001f);
@ -2653,8 +2653,8 @@ void Area6_LevelComplete(Player* player) {
player->pos.x = 0.0f;
player->pos.y = 200.0f;
player->pos.z = 1000.0f;
player->unk_08C = player->unk_0EC = player->unk_0E8 = player->unk_0E4 = player->unk_0D0 =
player->unk_110 = player->camRoll = player->unk_12C = player->unk_130 = player->unk_4D8 = 0.0f;
player->unk_08C = player->unk_0EC = player->unk_0E8 = player->unk_0E4 = player->baseSpeed =
player->boostSpeed = player->camRoll = player->unk_12C = player->unk_130 = player->unk_4D8 = 0.0f;
D_bg_8015F984 = (D_ctx_80177D20 * 0.00004f) + 0.5f;
Area6_8018EC38(&gActors[1], 0);
@ -2794,13 +2794,13 @@ void Area6_LevelComplete(Player* player) {
Math_SmoothStepToF(&gActors[3].fwork[0], 50.0f, 0.1f, 1000.0f, 0.001f);
}
if (gCsFrameCount >= 1076) {
Math_SmoothStepToF(&player->unk_0D0, 50.0f, 0.1f, 1000.0f, 0.001f);
Math_SmoothStepToF(&player->baseSpeed, 50.0f, 0.1f, 1000.0f, 0.001f);
}
Matrix_RotateY(gCalcMatrix, (player->unk_0E8 + player->unk_114 + 180.0f) * M_DTOR, MTXF_NEW);
Matrix_RotateX(gCalcMatrix, -(player->unk_0E4 * M_DTOR), MTXF_APPLY);
sp78.x = 0.0f;
sp78.y = 0.0f;
sp78.z = player->unk_0D0;
sp78.z = player->baseSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp78, &sp6C);
player->vel.x = sp6C.x;
player->vel.z = sp6C.z;

View File

@ -456,7 +456,7 @@ void Aquas_801A9824(void) {
D_i3_801C41B8[16] = 30.0f;
D_i3_801C41B8[17] = 50.0f;
if (D_ctx_80177CA0 != 0) {
if (gSavedObjectLoadIndex != 0) {
D_i3_801C41B8[12] = 0.0f;
D_i3_801C41B8[13] = 3.0f;
D_i3_801C41B8[14] = 5.0f;
@ -955,7 +955,7 @@ void Aquas_801AACF8(Player* player) {
Matrix_RotateX(gCalcMatrix, -((player->unk_120 + player->unk_0E4 + player->unk_4D8) * M_DTOR), MTXF_APPLY);
sp8C.x = sp8C.y = 0.0f;
sp8C.z = player->unk_0D0;
sp8C.z = player->baseSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp8C, &sp68);
@ -968,7 +968,7 @@ void Aquas_801AACF8(Player* player) {
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp68, &sp80);
sp8C.x = sp8C.y = 0.0f;
sp8C.z = -player->unk_110;
sp8C.z = -player->boostSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp8C, &sp74);
@ -1012,7 +1012,7 @@ void Aquas_801AACF8(Player* player) {
}
if (D_i3_801C4190[6] != 0) {
player->unk_0D0 = 20.0f;
player->baseSpeed = 20.0f;
Math_SmoothStepToF(&D_i3_801BFB60, -40.0f, 0.01f, 0.1f, 0.0f);
player->vel.z += D_i3_801BFB60;
if (player->vel.z <= 0.0f) {
@ -1028,13 +1028,13 @@ void Aquas_801AACF8(Player* player) {
player->unk_080 = -SIN_DEG(player->unk_088) * 0.5f;
player->unk_0F0 = SIN_DEG(player->unk_0F4) * 1.5f;
if (player->pos.y < (D_ctx_80177CC0 + 50.0f)) {
if (player->pos.y < (gWaterLevel + 50.0f)) {
Matrix_RotateY(gCalcMatrix, (player->unk_0E8 + player->unk_114) * M_DTOR, MTXF_NEW);
Matrix_RotateX(gCalcMatrix, player->unk_0E4 * M_DTOR, MTXF_APPLY);
sp8C.x = sp8C.y = 0.0f;
sp8C.z = 70.0f;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp8C, &sp80);
if (player->unk_110 > 1.0f) {
if (player->boostSpeed > 1.0f) {
player->unk_178 -= 30.0f;
Aquas_801AC8A8(player->pos.x + RAND_FLOAT_CENTERED(10.0f) + sp80.x,
player->pos.y + RAND_FLOAT_CENTERED(10.0f) + sp80.y,
@ -1437,7 +1437,7 @@ void Aquas_801ACE50(Player* player) {
if (player->timer_27C != 0) {
player->timer_27C--;
player->unk_110 += 0.3f;
player->boostSpeed += 0.3f;
Matrix_RotateY(gCalcMatrix, (player->unk_0E8 + player->unk_114) * M_DTOR, MTXF_NEW);
Matrix_RotateX(gCalcMatrix, player->unk_0E4 * M_DTOR, MTXF_APPLY);
@ -1484,9 +1484,9 @@ void Aquas_801ACE50(Player* player) {
player->boostMeter = 90.0f;
player->boostCooldown = 1;
}
player->unk_110 += 2.0f;
if (player->unk_110 > 10.0f) {
player->unk_110 = 10.0f;
player->boostSpeed += 2.0f;
if (player->boostSpeed > 10.0f) {
player->boostSpeed = 10.0f;
}
Math_SmoothStepToF(&D_i3_801C41B8[27], 10.0f, 0.1f, 2.0f, 0.00001f);
Math_SmoothStepToF(&player->unk_08C, -200.0f, 0.1f, D_i3_801C41B8[27], 0.00001f);
@ -1501,10 +1501,10 @@ void Aquas_801ACE50(Player* player) {
player->boostCooldown = 0;
}
}
if (player->unk_110 > 0.0f) {
player->unk_110 -= 1.0f;
if (player->unk_110 < 0.0f) {
player->unk_110 = 0.0f;
if (player->boostSpeed > 0.0f) {
player->boostSpeed -= 1.0f;
if (player->boostSpeed < 0.0f) {
player->boostSpeed = 0.0f;
}
}
}
@ -1524,9 +1524,9 @@ void Aquas_801AD328(Player* player) {
player->boostMeter = 90.0f;
player->boostCooldown = 1;
}
player->unk_110 -= 1.0f;
if (player->unk_110 < -20.0f) {
player->unk_110 = -20.0f;
player->boostSpeed -= 1.0f;
if (player->boostSpeed < -20.0f) {
player->boostSpeed = -20.0f;
}
Math_SmoothStepToF(&D_i3_801C41B8[28], 10.0f, 1.0f, 2.0f, 0.00001f);
Math_SmoothStepToF(&player->unk_08C, 180.0f, 0.1f, D_i3_801C41B8[28], 0.0f);
@ -1543,10 +1543,10 @@ void Aquas_801AD328(Player* player) {
Math_SmoothStepToF(&D_i3_801C41B8[28], 0.0f, 1.0f, 1.0f, 0.0001f);
if (player->unk_110 < 0.0f) {
player->unk_110 += 0.5f;
if (player->unk_110 > 0.0f) {
player->unk_110 = 0.0f;
if (player->boostSpeed < 0.0f) {
player->boostSpeed += 0.5f;
if (player->boostSpeed > 0.0f) {
player->boostSpeed = 0.0f;
}
}
}
@ -2937,9 +2937,9 @@ void Aquas_801B134C(Boss* bossAQ) {
if (bossAQ->health <= 0) {
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 40);
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 40);
func_boss_80042EC0(bossAQ);
Boss_AwardBonus(bossAQ);
Radio_PlayMessage(gMsg_ID_15252, RCID_SLIPPY);
D_ctx_8017796C = -1;
gTeamLowHealthMsgTimer = -1;
if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) ||
(gPlayer[0].state_1C8 == PLAYERSTATE_1C8_U_TURN)) {
gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE;

View File

@ -983,7 +983,7 @@ void Solar_LevelStart(Player* player) {
D_ctx_80177A48[0] = 0.0045f;
player->camRoll = 0.0f;
player->unk_0D0 = 0.0f;
player->baseSpeed = 0.0f;
gFillScreenAlpha = 255;
gFillScreenAlphaTarget = 0;
@ -1112,7 +1112,7 @@ void Solar_LevelStart(Player* player) {
if (gFillScreenAlpha == 255) {
AUDIO_PLAY_BGM(SEQ_ID_SOLAR | SEQ_FLAG);
player->pos.z = 0.0f;
player->unk_0D0 = D_play_80161A54;
player->baseSpeed = gArwingSpeed;
Play_ClearObjectData();
gLevelStartStatusScreenTimer = 50;
player->state_1C8 = PLAYERSTATE_1C8_ACTIVE;
@ -1150,7 +1150,7 @@ void Solar_LevelStart(Player* player) {
Matrix_RotateX(gCalcMatrix, -(player->unk_0E4 * M_DTOR), MTXF_APPLY);
sp50.x = 0.f;
sp50.y = 0.0f;
sp50.z = player->unk_0D0;
sp50.z = player->baseSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp50, &sp44);
player->vel.x = sp44.x;
player->vel.z = sp44.z;
@ -1804,7 +1804,7 @@ void Solar_801A3C4C(Boss* bossSO) {
bossSO->fwork[SO_FWK_0] = 0.01f;
bossSO->info.hitbox = SEGMENTED_TO_VIRTUAL(gNoHitbox);
bossSO->timer_058 = 20000;
D_ctx_8017796C = -1;
gTeamLowHealthMsgTimer = -1;
gFillScreenRed = gFillScreenGreen = gFillScreenBlue = gFillScreenAlpha = 255;
gFillScreenAlphaTarget = 0;
gFillScreenAlphaStep = 255;
@ -1887,7 +1887,7 @@ void Solar_801A4214(Boss* bossSO) {
gFillScreenBlue = 255;
gFillScreenAlphaTarget = 0;
gFillScreenAlphaStep = 4;
func_boss_80042EC0(bossSO);
Boss_AwardBonus(bossSO);
bossSO->swork[SO_SWK_4]++;
Math_SmoothStepToF(&bossSO->obj.pos.y, 180.0f, 0.1f, 10.0f, 0.1f);
}
@ -2814,10 +2814,10 @@ void Solar_LevelComplete(Player* player) {
case 0:
gCsFrameCount = 0;
player->camRoll = player->unk_4D8 = 0.0f;
player->unk_0D0 = 40.0f;
player->baseSpeed = 40.0f;
player->wings.unk_04 = player->wings.unk_0C = player->wings.unk_08 = player->wings.unk_10 =
player->unk_130 = player->unk_12C = player->unk_110 = 0.0f;
player->unk_130 = player->unk_12C = player->boostSpeed = 0.0f;
player->unk_234 = 1;
gCsCamEyeX = player->cam.eye.x;
gCsCamEyeY = player->cam.eye.y;
@ -2880,7 +2880,7 @@ void Solar_LevelComplete(Player* player) {
Audio_KillSfxBySource(player->sfxSource);
gFillScreenAlpha = 250;
player->timer_1F8 = 20;
player->unk_0D0 = 0.0f;
player->baseSpeed = 0.0f;
player->unk_0E4 = 0.0f;
player->unk_0E8 = 0.0f;
player->unk_0EC = 0.0f;
@ -2916,7 +2916,7 @@ void Solar_LevelComplete(Player* player) {
D_ctx_80177CE8 += 60.0f;
gFillScreenAlphaTarget = 0;
gFillScreenAlphaStep = 4;
if (D_ctx_801782F8) {
if (gMsgCharIsPrinting) {
player->wings.unk_30 = (s32) (gGameFrameCount % 2U) * 5.0f;
}
switch (gCsFrameCount) {
@ -3000,7 +3000,7 @@ void Solar_LevelComplete(Player* player) {
gCsCamAtZ = player->pos.z + D_ctx_80177D20 + 200.0f - ((gCsFrameCount * 8) - 11200);
}
if (gCsFrameCount > 1460) {
player->unk_0D0 += 2.0f;
player->baseSpeed += 2.0f;
player->unk_0E4 += 0.2f;
Math_SmoothStepToF(&D_ctx_80177A48[2], 0.0f, 1.0f, 0.001f, 0);
player->unk_190 = 2.0f;
@ -3106,7 +3106,7 @@ void Solar_LevelComplete(Player* player) {
Matrix_RotateX(gCalcMatrix, -((player->unk_120 + player->unk_0E4) * M_DTOR), MTXF_APPLY);
sp60.x = 0.0f;
sp60.y = 0.0f;
sp60.z = player->unk_0D0;
sp60.z = player->baseSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp60, &sp54);
player->vel.x = sp54.x;
player->vel.z = sp54.z;

View File

@ -93,7 +93,7 @@ void Zoness_8019962C(Boss* bossZO, f32 arg1);
// /* 240 */ Vec3f unk_F0;
// /* 252 */ char padFC[8];
// /* 260 */ Vec3f unk_104;
// /* 272 */ Vec3f unk_110;
// /* 272 */ Vec3f boostSpeed;
// /* 284 */ Vec3f unk_11C;
// /* 296 */ char pad128[76];
// /* 372 */ Vec3f unk_174;
@ -2505,12 +2505,12 @@ void Zoness_80194A84(Boss* bossZO) {
gPlayer[0].unk_0E8 += 360.0f;
}
gPlayer[0].unk_114 = 0.0f;
func_boss_8004319C(&gPlayer[0], bossZO->obj.pos.x, 0.0f, bossZO->obj.pos.z);
Boss_CompleteLevel(&gPlayer[0], bossZO->obj.pos.x, 0.0f, bossZO->obj.pos.z);
}
bossZO->timer_050 = 70;
sZoSwork[ZO_BSS_5] = 0;
gFillScreenRed = gFillScreenGreen = gFillScreenBlue = gFillScreenAlpha = 0;
func_boss_80042EC0(bossZO);
Boss_AwardBonus(bossZO);
bossZO->state = 7;
}
break;
@ -2831,7 +2831,7 @@ void Zoness_80194A84(Boss* bossZO) {
AUDIO_PLAY_SFX(0x29034003, bossZO->sfxSource, 4);
}
if (bossZO->health <= 0) {
D_ctx_8017796C = -1;
gTeamLowHealthMsgTimer = -1;
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 40);
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 40);
Audio_KillSfxBySource(bossZO->sfxSource);
@ -4532,10 +4532,10 @@ void Zoness_LevelComplete(Player* player) {
gCsFrameCount = 0;
player->unk_4D8 = 0.0f;
player->camRoll = 0.0f;
player->unk_0D0 = 40.0f;
player->baseSpeed = 40.0f;
player->unk_234 = 1;
player->wings.unk_04 = player->wings.unk_0C = player->wings.unk_08 = player->wings.unk_10 =
player->unk_130 = player->unk_12C = player->unk_110 = 0.0f;
player->unk_130 = player->unk_12C = player->boostSpeed = 0.0f;
gCsCamEyeX = player->cam.eye.x;
gCsCamEyeY = player->cam.eye.y;
gCsCamEyeZ = player->cam.eye.z;
@ -4587,7 +4587,7 @@ void Zoness_LevelComplete(Player* player) {
gFillScreenAlpha = 250;
player->timer_1F8 = 20;
player->wings.modelId = 1;
player->unk_0D0 = 0.0f;
player->baseSpeed = 0.0f;
player->unk_0E4 = 0.0f;
player->unk_0E8 = 0.0f;
player->unk_0EC = 0.0f;
@ -4653,7 +4653,7 @@ void Zoness_LevelComplete(Player* player) {
gCsCamAtZ = player->pos.z + D_ctx_80177D20;
}
if (gCsFrameCount > 1180) {
player->unk_0D0 += 2.0f;
player->baseSpeed += 2.0f;
player->unk_0E4 += 0.1f;
Math_SmoothStepToF(&D_ctx_80177A48[2], 0.0f, 1.0f, 0.001f, 0);
player->unk_190 = 2.0f;
@ -4776,7 +4776,7 @@ void Zoness_LevelComplete(Player* player) {
Matrix_RotateX(gCalcMatrix, -((player->unk_120 + player->unk_0E4) * M_DTOR), MTXF_APPLY);
sp58.x = 0.0f;
sp58.y = 0.0f;
sp58.z = player->unk_0D0;
sp58.z = player->baseSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp58, &sp4C);
player->vel.x = sp4C.x;
player->vel.z = sp4C.z;

View File

@ -1034,7 +1034,7 @@ void Bolse_8018EAEC(Actor* actor, s32 index) {
actor->obj.pos.z = D_i4_8019EFF4[index] + gPlayer[0].pos.z;
actor->unk_0B6 = D_i4_8019F000[index];
actor->obj.rot.y = 180.0f;
actor->vel.z = -gPlayer[0].unk_0D0;
actor->vel.z = -gPlayer[0].baseSpeed;
actor->unk_0F4.z = D_i4_8019F00C[index];
actor->unk_0F4.y = D_i4_8019F018[index];
Object_SetInfo(&actor->info, actor->obj.id);
@ -1157,7 +1157,7 @@ void Bolse_LevelStart(Player* player) {
player->pos.z = 0;
player->pos.y = 0;
player->unk_0D0 = 30.0f;
player->baseSpeed = 30.0f;
if (gTeamShields[TEAM_ID_FALCO] > 0) {
Bolse_8018EAEC(&gActors[0], 0);
@ -1297,7 +1297,7 @@ void Bolse_LevelStart(Player* player) {
if (gCsFrameCount == 270) {
player->state_1C8 = PLAYERSTATE_1C8_ACTIVE;
player->unk_0D0 = D_play_80161A54;
player->baseSpeed = gArwingSpeed;
player->unk_014 = 0.0001f;
for (i = 0, actor = &gActors[1]; i < 3; i++, actor++) {
@ -1318,7 +1318,7 @@ void Bolse_LevelStart(Player* player) {
sp54.x = 0.0f;
sp54.y = 0;
sp54.z = player->unk_0D0;
sp54.z = player->baseSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp54, &sp48);
@ -1350,7 +1350,7 @@ void Bolse_8018F83C(Actor* actor, s32 arg1) {
actor->obj.pos.z = D_i4_8019F084[arg1] + gPlayer[0].pos.z;
actor->obj.rot.y = 180.0f;
actor->obj.rot.z = D_i4_8019F090[arg1];
actor->vel.z = -gPlayer[0].unk_0D0;
actor->vel.z = -gPlayer[0].baseSpeed;
Object_SetInfo(&actor->info, actor->obj.id);
actor->iwork[11] = 1;
AUDIO_PLAY_SFX(0x3100000C, actor->sfxSource, 4);
@ -1365,7 +1365,7 @@ void Bolse_LevelComplete(Player* player) {
Vec3f sp68;
s32 pad;
Math_SmoothStepToF(&player->unk_110, 0.0f, 0.1f, 1.5f, 0.0f);
Math_SmoothStepToF(&player->boostSpeed, 0.0f, 0.1f, 1.5f, 0.0f);
sp8C = 100.0f;
sp88 = 100.0f;
@ -1399,9 +1399,9 @@ void Bolse_LevelComplete(Player* player) {
Math_SmoothStepToF(&player->unk_0EC, 40.0f, 0.2f, 5.0f, 0.0f);
Math_SmoothStepToF(&player->unk_0E8, 120.0f, 0.1f, 2.0f, 0.0f);
player->unk_0D0 += 1.0f;
if (player->unk_0D0 >= 70.0f) {
player->unk_0D0 = 70.0f;
player->baseSpeed += 1.0f;
if (player->baseSpeed >= 70.0f) {
player->baseSpeed = 70.0f;
}
if (player->timer_1F8 == 0) {
@ -1425,7 +1425,7 @@ void Bolse_LevelComplete(Player* player) {
player->unk_0EC = 0.0f;
player->unk_0E8 = 0.0f;
player->unk_114 = 0.0f;
player->unk_0D0 = 40.0f;
player->baseSpeed = 40.0f;
if (gTeamShields[TEAM_ID_FALCO] > 0) {
Bolse_8018F83C(&gActors[0], 0);
@ -1545,15 +1545,15 @@ void Bolse_LevelComplete(Player* player) {
}
if ((gCsFrameCount > 100) && (gCsFrameCount < 200)) {
D_ctx_801784D0 = 0.0f;
gEnvLightxRot = 0.0f;
sp8C = 255.0f;
D_ctx_801784D4 = 16.0f;
D_ctx_801784D8 = 0.0f;
gEnvLightyRot = 16.0f;
gEnvLightzRot = 0.0f;
sp88 = 255.0f;
} else {
D_ctx_801784D0 = -80.0f;
D_ctx_801784D4 = 60.0f;
D_ctx_801784D8 = 0.0f;
gEnvLightxRot = -80.0f;
gEnvLightyRot = 60.0f;
gEnvLightzRot = 0.0f;
}
gCsCamEyeZ += gPlayer[0].vel.z * 0.3f;
break;
@ -1569,7 +1569,7 @@ void Bolse_LevelComplete(Player* player) {
Math_SmoothStepToF(&D_ctx_80177A48[6], 0.0f, 0.1f, 0.005f, 0.0f);
}
Math_SmoothStepToF(&player->unk_0D0, 0.0f, 0.1f, 1.5f, 0.0f);
Math_SmoothStepToF(&player->baseSpeed, 0.0f, 0.1f, 1.5f, 0.0f);
Math_SmoothStepToF(D_ctx_80177A48, 0.2f, 1.0f, 0.001f, 0.0f);
Matrix_RotateY(gCalcMatrix, D_ctx_80177A48[5] * M_DTOR, MTXF_NEW);
Matrix_RotateX(gCalcMatrix, 0, MTXF_APPLY);
@ -1616,7 +1616,7 @@ void Bolse_LevelComplete(Player* player) {
gCsCamAtZ = gPlayer[0].pos.z + 200.0f;
player->unk_190 = 2.0f;
player->unk_0D0 += 5;
player->baseSpeed += 5;
if (player->timer_1F8 == 30) {
Audio_FadeOutAll(30);
@ -1691,7 +1691,7 @@ void Bolse_LevelComplete(Player* player) {
sp74.x = 0.0f;
sp74.y = 0.0f;
sp74.z = player->unk_0D0 + player->unk_110;
sp74.z = player->baseSpeed + player->boostSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp74, &sp68);
@ -1925,7 +1925,7 @@ void Bolse_801912FC(Boss* boss) {
gBosses[0].state = 1;
}
boss->obj.pos.y += 300.0f;
func_boss_80042EC0(boss);
Boss_AwardBonus(boss);
boss->obj.pos.y -= 300.0f;
} else {
boss->swork[12 + boss->dmgPart] = 20;

View File

@ -94,7 +94,7 @@ void Fortuna_80187884(Actor* actor, f32 xPos, f32 yPos, f32 zPos, f32 arg4) {
Vec3f D_i4_8019EDF8[] = { { -300.0f, 1000.0f, 13000.0f }, { 300.0f, 700.0f, 14000.0f }, { 1000.0f, 300.0f, 0.0f } };
Vec3f D_i4_8019EE1C[] = { { -1000.0f, 300.0f, 0 }, { 0.0f, 500.0f, 0 } };
void Fortuna_80187960(Actor* actor) {
void Fortuna_UpdateEvents(Actor* actor) {
s32 i;
Player* player = &gPlayer[0];
Actor* actorPtr;
@ -613,7 +613,7 @@ void Fortuna_801890EC(Actor* actor, s32 arg1) {
actor->obj.pos.x = D_i4_8019EE4C[arg1] + gPlayer[0].pos.x;
actor->obj.pos.y = D_i4_8019EE5C[arg1] + gPlayer[0].pos.y;
actor->obj.pos.z = D_i4_8019EE6C[arg1] + gPlayer[0].unk_138;
actor->vel.z = gPlayer[0].unk_0D0;
actor->vel.z = gPlayer[0].baseSpeed;
Object_SetInfo(&actor->info, actor->obj.id);
@ -663,13 +663,13 @@ void Fortuna_LevelComplete(Player* player) {
player->wings.unk_08 = 0.0f;
player->wings.unk_10 = 0.0f;
Math_SmoothStepToF(&player->unk_110, 0.0f, 0.1f, 1.5f, 0.0f);
Math_SmoothStepToF(&player->boostSpeed, 0.0f, 0.1f, 1.5f, 0.0f);
switch (player->unk_1D0) {
case -1:
player->wings.modelId = 1;
player->unk_0E8 = 0.0f;
player->unk_0D0 = 30.0f;
player->baseSpeed = 30.0f;
player->unk_114 = 180.0f;
player->unk_0E4 = -7.0f;
Math_SmoothStepToF(&player->unk_0EC, 0.0f, 0.05f, 1.0f, 0.0f);
@ -716,8 +716,8 @@ void Fortuna_LevelComplete(Player* player) {
player->timer_1F8 = 150;
player->unk_1D0 = -1;
player->pos.x = 0.0f;
player->unk_110 = 0.0f;
player->unk_0D0 = 0.0f;
player->boostSpeed = 0.0f;
player->baseSpeed = 0.0f;
player->pos.y = 350.0f;
player->pos.z = -2800.0f;
} else {
@ -735,9 +735,9 @@ void Fortuna_LevelComplete(Player* player) {
Math_SmoothStepToF(&player->unk_0E4, 15.0f, 0.1f, 0.4f, 0.0f);
Math_SmoothStepToF(&player->unk_0EC, -40.0f, 0.2f, 5.0f, 0.0f);
Math_SmoothStepToF(&player->unk_0E8, -120.0f, 0.1f, 2.0f, 0.0f);
player->unk_0D0 += 1.0f;
if (player->unk_0D0 >= 70.0f) {
player->unk_0D0 = 70.0f;
player->baseSpeed += 1.0f;
if (player->baseSpeed >= 70.0f) {
player->baseSpeed = 70.0f;
player->unk_25C += 0.04f;
if (player->unk_25C > 0.6f) {
player->unk_25C = 0.6f;
@ -792,23 +792,23 @@ void Fortuna_LevelComplete(Player* player) {
func_play_800A5EBC();
gLevelType = LEVELTYPE_SPACE;
D_ctx_801784AC = gBgColor = gFogRed = gFogGreen = gFogBlue = 0;
gGroundType = gBgColor = gFogRed = gFogGreen = gFogBlue = 0;
gLight1R = gLight2R = D_ctx_80161A70 = 86;
gLight1G = gLight2G = D_ctx_80161A74 = 58;
gLight1B = gLight2B = D_ctx_80161A78 = 25;
gAmbientR = 11;
gAmbientG = 8;
gAmbientB = 24;
D_ctx_801784D0 = D_ctx_801784C4 = D_ctx_801784C4 = D_ctx_801784F8 = D_ctx_801784C4 = -59.0f;
D_ctx_801784D4 = D_ctx_801784C8 = D_ctx_801784C8 = D_ctx_801784FC = D_ctx_801784C8 = 58.0f;
D_ctx_801784D8 = D_ctx_801784CC = D_ctx_801784CC = D_ctx_80178500 = D_ctx_801784CC = 13.0f;
gEnvLightxRot = gLight1xRotTarget = gLight1xRotTarget = gLight2xRotTarget = gLight1xRotTarget = -59.0f;
gEnvLightyRot = gLight1yRotTarget = gLight1yRotTarget = gLight2yRotTarget = gLight1yRotTarget = 58.0f;
gEnvLightzRot = gLight1zRotTarget = gLight1zRotTarget = gLight2zRotTarget = gLight1zRotTarget = 13.0f;
if (gMissionStatus == MISSION_COMPLETE) {
player->pos.x = 0.0f;
player->pos.y = 0.0f;
player->unk_0E4 = 0.0f;
player->unk_0EC = 0.0f;
player->unk_0D0 = 0.0f;
player->baseSpeed = 0.0f;
player->unk_114 = 0.0f;
player->unk_0E8 = 180.0f;
Fortuna_8018906C();
@ -817,7 +817,7 @@ void Fortuna_LevelComplete(Player* player) {
player->unk_0E4 = 0.0f;
player->unk_0EC = 0.0f;
player->unk_114 = 0.0f;
player->unk_0D0 = 0.0f;
player->baseSpeed = 0.0f;
player->cam.at.y = 16.0f;
player->pos.y = -100.0f;
player->unk_0E8 = 180.0f;
@ -847,7 +847,7 @@ void Fortuna_LevelComplete(Player* player) {
player->cam.at.z = actor0->obj.pos.z;
if (gCsFrameCount == 100) {
player->unk_0D0 = 30.0f;
player->baseSpeed = 30.0f;
if (gTeamShields[TEAM_ID_FALCO] > 0) {
Fortuna_801890EC(actor3, 0);
}
@ -908,7 +908,7 @@ void Fortuna_LevelComplete(Player* player) {
Math_SmoothStepToF(&player->cam.at.y, gCsCamAtY, D_ctx_80177A48[0], 20000.0f, 0);
Math_SmoothStepToF(&player->cam.at.z, gCsCamAtZ, D_ctx_80177A48[0], 20000.0f, 0);
Math_SmoothStepToF(&player->unk_0D0, 0.0f, 0.05f, 2.0f, 0);
Math_SmoothStepToF(&player->baseSpeed, 0.0f, 0.05f, 2.0f, 0);
Math_SmoothStepToF(&actor3->vel.z, 0.0f, 0.05f, 2.0f, 0);
Math_SmoothStepToF(&actor1->vel.z, 0.0f, 0.05f, 2.0f, 0);
@ -1033,8 +1033,8 @@ void Fortuna_LevelComplete(Player* player) {
case 12:
D_ctx_80178430 += 0.3f;
D_ctx_8017842C += 0.3f;
player->unk_0D0 += 1.0f;
player->unk_0D0 *= 1.15f;
player->baseSpeed += 1.0f;
player->baseSpeed *= 1.15f;
player->pos.y += D_ctx_80177A48[4];
D_ctx_80177A48[4] *= 1.19f;
player->unk_190 = 2.0f;
@ -1155,7 +1155,7 @@ void Fortuna_LevelComplete(Player* player) {
}
if (gCsFrameCount == 140) {
player->unk_0D0 = 30.0f;
player->baseSpeed = 30.0f;
actor3->vel.z = 30.0f;
actor1->vel.z = 30.0f;
actor2->vel.z = 30.0f;
@ -1215,14 +1215,14 @@ void Fortuna_LevelComplete(Player* player) {
case 22:
if ((gCsFrameCount >= 1110) && (gCsFrameCount < 1240)) {
Math_SmoothStepToF(&player->unk_0D0, 0.0f, 0.02f, 1000.0f, 0.001f);
Math_SmoothStepToF(&player->baseSpeed, 0.0f, 0.02f, 1000.0f, 0.001f);
Math_SmoothStepToF(&actor3->vel.z, 0.0f, 0.02f, 1000.0f, 0.001f);
Math_SmoothStepToF(&actor1->vel.z, 0.0f, 0.02f, 1000.0f, 0.001f);
Math_SmoothStepToF(&actor2->vel.z, 0.0f, 0.02f, 1000.0f, 0.001f);
Math_SmoothStepToF(&actor0->vel.z, 0.0f, 0.02f, 1000.0f, 0.001f);
}
if (gCsFrameCount == 1239) {
player->unk_0D0 = 0.0f;
player->baseSpeed = 0.0f;
actor3->vel.z = 0.0f;
actor1->vel.z = 0.0f;
actor2->vel.z = 0.0f;
@ -1392,7 +1392,7 @@ void Fortuna_LevelComplete(Player* player) {
Math_SmoothStepToF(&actor2->vel.z, 50.0f, 0.1f, 1000.0f, 0.001f);
}
if (gCsFrameCount >= 1300) {
Math_SmoothStepToF(&player->unk_0D0, 50.0f, 0.1f, 1000.0f, 0.001f);
Math_SmoothStepToF(&player->baseSpeed, 50.0f, 0.1f, 1000.0f, 0.001f);
Math_SmoothStepToF(&actor0->vel.z, 40.0f, 0.1f, 1000.0f, 0.001f);
}
Math_SmoothStepToF(&gCsCamAtY, player->pos.y, 0.005f, 1000.0f, 0.0001f);
@ -1419,7 +1419,7 @@ void Fortuna_LevelComplete(Player* player) {
src.x = 0.0f;
src.y = 0.0f;
src.z = player->unk_0D0 + player->unk_110;
src.z = player->baseSpeed + player->boostSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &src, &dest);

View File

@ -332,7 +332,7 @@ void Katina_LevelStart(Player* player) {
Matrix_RotateX(gCalcMatrix, -(player->unk_0E4 * M_DTOR), MTXF_APPLY);
src.x = 0;
src.y = 0.0f;
src.z = player->unk_0D0;
src.z = player->baseSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &src, &dest);
player->vel.x = dest.x;
player->vel.z = dest.z;
@ -525,7 +525,7 @@ void Katina_80193EF0(Boss* boss) {
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 50);
Radio_PlayMessage(gMsg_ID_18066, RCID_BILL);
boss->obj.pos.y -= 1000.0f;
func_boss_80042EC0(boss);
Boss_AwardBonus(boss);
boss->obj.pos.y += 1000.0f;
}
}
@ -953,7 +953,7 @@ void Katina_801946C4(Boss* boss) {
Math_SmoothStepToF(&D_ctx_801779A8[gMainController], 30.0f, 1.0f, 1.6f, 0.0f);
Math_SmoothStepToF(&gPlayer[0].cam.eye.z, 0.0f, 0.05f, 5.0f, 0.0f);
boss->fwork[13] += 0.1f;
Math_SmoothStepToF(&D_ctx_801784D4, 200.0f, 1.0f, 0.5f, 0.0f);
Math_SmoothStepToF(&gEnvLightyRot, 200.0f, 1.0f, 0.5f, 0.0f);
scale = 0.5f;
D_i4_801A0548 = 0.0f;
D_i4_801A0550 = 100.0f;
@ -1008,7 +1008,7 @@ void Katina_801946C4(Boss* boss) {
gPlayer[0].cam.at.x = boss->obj.pos.x;
gPlayer[0].cam.at.y = 1500.0f;
gPlayer[0].cam.at.z = boss->obj.pos.z;
D_ctx_801784D4 = 60.0f;
gEnvLightyRot = 60.0f;
gLight1R = 100;
gLight1G = 70;
gLight1B = 50;
@ -1045,13 +1045,13 @@ void Katina_801946C4(Boss* boss) {
Audio_StopPlayerNoise(0);
Audio_KillSfxBySource(&gPlayer[0].sfxSource[0]);
gPlayer[0].timer_1F8 = 50;
gPlayer[0].unk_0D0 = 0.0f;
gPlayer[0].baseSpeed = 0.0f;
gPlayer[0].unk_114 = 0.0f;
gPlayer[0].unk_0EC = gPlayer[0].unk_0E8 = gPlayer[0].unk_0E4 = gPlayer[0].unk_120 =
gPlayer[0].unk_114;
Play_ClearObjectData();
D_ctx_801784D4 = 60.0f;
gEnvLightyRot = 60.0f;
gLight1R = 100;
gLight1G = 70;
gLight1B = 50;
@ -1419,7 +1419,7 @@ void Katina_LevelComplete(Player* player) {
player->pos.z = boss->obj.pos.z;
player->unk_114 = player->unk_120 = player->unk_0E4 = player->camRoll = player->unk_4D8 = 0.0f;
player->unk_0E8 = 120.0f;
player->unk_0D0 = 40.0f;
player->baseSpeed = 40.0f;
gCsCamEyeX = boss->obj.pos.x + 5000.0f;
gCsCamEyeY = 750.0f;
gCsCamEyeZ = boss->obj.pos.z;
@ -1484,7 +1484,7 @@ void Katina_LevelComplete(Player* player) {
Audio_StopPlayerNoise(0);
Audio_KillSfxBySource(&player->sfxSource[0]);
player->timer_1F8 = 50;
player->unk_0D0 = 0.0f;
player->baseSpeed = 0.0f;
player->unk_0E4 = 0.0f;
player->unk_0E8 = 0.0f;
player->unk_0EC = 0.0f;
@ -1529,7 +1529,7 @@ void Katina_LevelComplete(Player* player) {
gCsCamAtY = 3500.0f;
gCsCamAtZ = player->pos.z + 500;
if (gCsFrameCount > 1010) {
player->unk_0D0 += 2.0f;
player->baseSpeed += 2.0f;
player->unk_0E4 += 0.1f;
Math_SmoothStepToF(&D_ctx_80177A48[2], 0.0f, 1.0f, 0.001f, 0);
player->unk_190 = 2.0f;
@ -1643,7 +1643,7 @@ void Katina_LevelComplete(Player* player) {
Matrix_RotateX(gCalcMatrix, -((player->unk_120 + player->unk_0E4) * M_DTOR), MTXF_APPLY);
src.x = 0.0f;
src.y = 0.0f;
src.z = player->unk_0D0;
src.z = player->baseSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &src, &dest);
player->vel.x = dest.x;
player->vel.z = dest.z;
@ -1800,7 +1800,7 @@ void Katina_8019848C(void) {
AUDIO_PLAY_SFX(0x3100000C, actor->sfxSource, 4);
}
void Katina_80198594(Actor* actor) {
void Katina_UpdateEvents(Actor* actor) {
s32 pad[4];
f32 D_i4_8019F494[5] = { -200.0f, -100.0f, -0.0f, 100.0f, 200.0f };

View File

@ -465,7 +465,7 @@ bool SectorZ_8019AA9C(Player* player) {
return false;
}
void SectorZ_8019AB8C(Actor* actor) {
void SectorZ_UpdateEvents(Actor* actor) {
s32 i;
Player* player;
Actor* actor8;
@ -733,7 +733,7 @@ void SectorZ_8019B75C(Actor* actor, s32 arg1) {
actor->obj.pos.y = newActor->obj.pos.y - 500.0f;
actor->obj.pos.z = D_i4_8019F5BC[arg1].z + newActor->obj.pos.z;
actor->vel.x = -D_play_80161A54;
actor->vel.x = -gArwingSpeed;
actor->obj.rot.y = 270.0f;
Object_SetInfo(&actor->info, actor->obj.id);
@ -804,7 +804,7 @@ void SectorZ_LevelStart(Player* player) {
D_ctx_80177A48[0] = 1.0f;
player->unk_234 = 0;
player->unk_0D0 = 0.0f;
player->baseSpeed = 0.0f;
player->camRoll = -20.0f;
gProjectFar = 30000.0f;
@ -992,7 +992,7 @@ void SectorZ_LevelStart(Player* player) {
player->unk_194 = 5.0f;
player->unk_190 = 5.0f;
player->unk_114 = 90.0f;
player->unk_0D0 = D_play_80161A54;
player->baseSpeed = gArwingSpeed;
player->unk_234 = 1;
AUDIO_PLAY_SFX(0x09000002, player->sfxSource, 0);
break;
@ -1003,7 +1003,7 @@ void SectorZ_LevelStart(Player* player) {
sp74.x = 0.0f;
sp74.y = 0.0f;
sp74.z = player->unk_0D0;
sp74.z = player->baseSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp74, &sp68);
@ -1047,7 +1047,7 @@ void SectorZ_8019C574(Actor* actor, s32 index) {
actor->obj.pos.y = D_i4_8019F62C[index];
actor->obj.pos.z = D_i4_8019F63C[index];
actor->fwork[0] = gPlayer[0].unk_0D0;
actor->fwork[0] = gPlayer[0].baseSpeed;
actor->unk_0F4.y = gPlayer[0].unk_0E8;
Object_SetInfo(&actor->info, actor->obj.id);
@ -1108,7 +1108,7 @@ void SectorZ_LevelComplete(Player* player) {
var_fv1 = -1.0f;
}
Math_SmoothStepToF(&player->unk_110, 0.0f, 0.1f, 1.5f, 0.0f);
Math_SmoothStepToF(&player->boostSpeed, 0.0f, 0.1f, 1.5f, 0.0f);
switch (player->unk_1D0) {
case 1000:
@ -1132,9 +1132,9 @@ void SectorZ_LevelComplete(Player* player) {
Math_SmoothStepToF(&player->unk_0EC, 40.0f, 0.2f, 5.0f, 0);
Math_SmoothStepToF(&player->unk_0E8, 120.0f, 0.1f, 2.0f, 0);
player->unk_0D0 += 1.0f;
if (player->unk_0D0 >= 70.0f) {
player->unk_0D0 = 70.0f;
player->baseSpeed += 1.0f;
if (player->baseSpeed >= 70.0f) {
player->baseSpeed = 70.0f;
}
if (player->timer_1F8 == 0) {
@ -1155,7 +1155,7 @@ void SectorZ_LevelComplete(Player* player) {
gProjectFar = 30000.0f;
player->unk_234 = 0;
player->unk_0D0 = 0.0f;
player->baseSpeed = 0.0f;
player->camRoll = 0.0f;
if (boss0->state != 0) {
@ -1179,7 +1179,7 @@ void SectorZ_LevelComplete(Player* player) {
gProjectFar = 30000.0f;
player->timer_1F8 = 550;
player->unk_0D0 = 0.0f;
player->baseSpeed = 0.0f;
player->camRoll = 0.0f;
gFillScreenAlphaTarget = 255;
@ -1254,7 +1254,7 @@ void SectorZ_LevelComplete(Player* player) {
player->unk_0EC = 0.0f;
player->unk_114 = 0.0f;
player->unk_4D8 = 0.0f;
player->unk_0D0 = 40.0f;
player->baseSpeed = 40.0f;
gCsCamEyeX = 0.0f - (200.0f * var_fv1);
gCsCamEyeY = player->pos.y;
@ -1306,7 +1306,7 @@ void SectorZ_LevelComplete(Player* player) {
Matrix_MultVec3fNoTranslate(gCalcMatrix, &src, &dest);
Math_SmoothStepToF(&player->unk_0D0, 0, 0.05f, 1.0f, 0);
Math_SmoothStepToF(&player->baseSpeed, 0, 0.05f, 1.0f, 0);
Math_SmoothStepToF(&actor1->fwork[0], 0, 0.05f, 1.0f, 0);
Math_SmoothStepToF(&actor3->fwork[0], 0, 0.05f, 1.0f, 0);
Math_SmoothStepToF(&actor2->fwork[0], 0.0f, 0.05f, 1.0f, 0);
@ -1324,7 +1324,7 @@ void SectorZ_LevelComplete(Player* player) {
}
if (gCsFrameCount > 2510) {
player->unk_0D0 += 2.0f;
player->baseSpeed += 2.0f;
player->unk_0E4 += 0.1f;
player->unk_190 = 2.0f;
}
@ -1529,7 +1529,7 @@ void SectorZ_LevelComplete(Player* player) {
src.x = 0.0f;
src.y = 0.0f;
src.z = player->unk_0D0 + player->unk_110;
src.z = player->baseSpeed + player->boostSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &src, &dest);

View File

@ -3036,11 +3036,11 @@ void Macbeth_801A4B24(Actor* actor) {
gLevelObjects = SEGMENTED_TO_VIRTUAL(gLevelObjectInits[gCurrentLevel]);
for (i = D_ctx_80177DC8 - 5, objInit = &gLevelObjects[i]; i < D_ctx_80177DC8 + 50; i++, objInit++) {
for (i = gObjectLoadIndex - 5, objInit = &gLevelObjects[i]; i < gObjectLoadIndex + 50; i++, objInit++) {
Object_Load(objInit, 40000.0f, -2000.0f, 40000.0f, -2000.0f);
}
D_ctx_80177DC8 = i;
D_ctx_8017796C = -1;
gObjectLoadIndex = i;
gTeamLowHealthMsgTimer = -1;
gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE;
gPlayer[0].unk_1D0 = 0;
gMissionStatus = MISSION_ACCOMPLISHED;
@ -3206,7 +3206,7 @@ void Macbeth_801A57D0(Effect* effect) {
if (effect->obj.pos.y < gGroundHeight) {
Macbeth_801ADCEC(effect->obj.pos.x, effect->obj.pos.y, effect->obj.pos.z, 999.9f, -10.0f, 5.0f);
Object_Kill(&effect->obj, effect->sfxSource);
if (gGroundType != GROUNDTYPE_WATER) {
if (gGroundSurface != SURFACE_WATER) {
effect->obj.pos.y = gGroundHeight;
}
}
@ -4144,7 +4144,7 @@ void Macbeth_801A7E7C(Actor* actor) {
}
if ((actor->obj.pos.z <= D_i5_801BE368[6]) && (actor->obj.pos.y <= D_i5_801BE368[5])) {
D_i5_801BE320[23] = 1;
D_ctx_8017796C = -1;
gTeamLowHealthMsgTimer = -1;
actor->state = 10;
actor->timer_0BC = 50;
}
@ -5018,7 +5018,7 @@ void Macbeth_LevelStart(Player* player) {
D_ctx_8017782C = 1;
func_play_800A594C();
D_ctx_8017782C = 0;
D_ctx_80177DC8 = 40;
gObjectLoadIndex = 40;
player->unk_1D0 = 4;
break;
case 4:
@ -5827,7 +5827,7 @@ void Macbeth_LevelComplete2(Player* player) {
D_ctx_80177A48[4] = -60.0f;
D_ctx_80177A48[5] = 240.0f;
player->unk_0D4 = 3.0f;
gCameraShakeY = player->vel.x = player->vel.y = player->vel.z = player->unk_0D0 = 0.0f;
gCameraShakeY = player->vel.x = player->vel.y = player->vel.z = player->baseSpeed = 0.0f;
if (player->shields <= 0) {
player->shields = 1;
}
@ -5842,7 +5842,7 @@ void Macbeth_LevelComplete2(Player* player) {
D_i5_801BA1DC = 0.0f;
player->unk_4D8 = 0.0f;
player->camRoll = 0.0f;
player->unk_110 = 0.0f;
player->boostSpeed = 0.0f;
player->wings.unk_0C = player->wings.unk_08 = player->wings.unk_10 = player->unk_130 = player->unk_12C =
0.0f;
player->unk_080 = 0.0f;
@ -5854,7 +5854,7 @@ void Macbeth_LevelComplete2(Player* player) {
case 1:
gShowBossHealth = 0;
if (gCsFrameCount == 70) {
D_ctx_80177DC8 = 498;
gObjectLoadIndex = 498;
for (i = 0; i < ARRAY_COUNT(gActors); i++) {
if (gActors[i].obj.id == OBJ_ACTOR_223) {
@ -6227,8 +6227,8 @@ void Macbeth_LevelComplete2(Player* player) {
player->unk_17C = player->unk_180 = player->unk_184 = player->wings.unk_04 = player->unk_170 =
player->unk_16C = player->unk_0F0 = player->unk_080 = player->wings.unk_0C =
player->wings.unk_08 = player->wings.unk_10 = player->unk_130 = player->unk_12C =
player->unk_110 = 0.0f;
player->unk_0D0 = 5.0f;
player->boostSpeed = 0.0f;
player->baseSpeed = 5.0f;
D_ctx_80177A48[3] = D_ctx_80177A48[6] = D_ctx_80177A48[7] = D_ctx_80177A48[8] = 0.0f;
player->unk_1D4 = 1;
player->unk_1F4 = 0;
@ -6794,7 +6794,7 @@ void Macbeth_LevelComplete1(Player* player) {
D_i5_801BE244 = 2000.0f;
D_i5_801BE248 = 2000.0f;
Math_SmoothStepToF(D_ctx_80177A48, 0.1f, 1.0f, 0.01f, 0.0f);
Math_SmoothStepToF(&player->unk_0D0, 4.9f, 0.1f, 1.0f, 0.0f);
Math_SmoothStepToF(&player->baseSpeed, 4.9f, 0.1f, 1.0f, 0.0f);
Math_SmoothStepToF(&player->unk_08C, 0.0f, 0.1f, 1.0f, 0.0f);
gCsCamEyeX = player->pos.x;
gCsCamEyeY = player->pos.y;
@ -6888,7 +6888,7 @@ void Macbeth_LevelComplete1(Player* player) {
Math_SmoothStepToF(&D_i5_801BE244, 1.5f, 0.1f, 0.05f, 0.01f);
Math_SmoothStepToF(&D_i5_801BE248, 2.0f, 0.1f, 0.1f, 0.01f);
}
Math_SmoothStepToF(&player->unk_0D0, 4.9f, 0.1f, 1.0f, 0.0f);
Math_SmoothStepToF(&player->baseSpeed, 4.9f, 0.1f, 1.0f, 0.0f);
Math_SmoothStepToF(&player->unk_08C, 0.0f, 0.1f, 1.0f, 0.0f);
func_tank_80045130(player);
func_tank_80044868(player);

View File

@ -1096,8 +1096,8 @@ bool Titania_8018C118(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void*
return false;
}
static s16 D_i5_801B7630[18] = {
1, 0, 2, 1, 3, 0, 4, 1, 5, 1, 6, 0, 7, 1, 8, 0, 13, 1,
static s16 D_i5_801B7630[9][2] = {
{ 1, 0 }, { 2, 1 }, { 3, 0 }, { 4, 1 }, { 5, 1 }, { 6, 0 }, { 7, 1 }, { 8, 0 }, { 13, 1 },
};
bool Titania_8018C134(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void* data) {
@ -1110,7 +1110,7 @@ bool Titania_8018C134(s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3f* rot, void*
sp58 = false;
for (i = 0; i < 9; i++) {
if (limbIndex == D_i5_801B7630[i * 2]) {
if (limbIndex == D_i5_801B7630[i][0]) {
if (!(D_i5_801BD738[sp50][i].unk_18 & 1)) {
Matrix_Translate(gCalcMatrix, pos->x, pos->y, pos->z, MTXF_APPLY);
sp58 = true;
@ -1163,7 +1163,7 @@ void Titania_8018C3D8(s32 limbIndex, Vec3f* rot, void* data) {
var_s0[8].unk_18 |= 2;
for (i = 0; i < 9U; i++, var_s0++) {
if ((limbIndex == D_i5_801B7630[i * 2]) && (var_s0->unk_18 & 2)) {
if ((limbIndex == D_i5_801B7630[i][0]) && (var_s0->unk_18 & 2)) {
Matrix_MultVec3f(gCalcMatrix, &D_tank_800C9F2C, &var_s0->unk_00.pos);
Matrix_GetYRPAngles(gCalcMatrix, &var_s0->unk_00.rot);
var_s0->unk_18 &= ~2;
@ -1601,7 +1601,7 @@ void Titania_8018C8A8(Actor* actor) {
var_s1 = D_i5_801BD738[actor->iwork[0]];
for (i = 0; i < 9U; i++, var_s1++) {
actorPtr = func_game_800A3608(OBJ_ACTOR_189);
if ((actorPtr != NULL) && ((s16(*)[2]) D_i5_801B7630)[i][1] == 1) {
if ((actorPtr != NULL) && D_i5_801B7630[i][1] == 1) {
actorPtr->state = 47;
actorPtr->unk_048 = i;
Matrix_MultVec3f(gCalcMatrix, &var_s1->unk_00.pos, &sp158);
@ -3864,7 +3864,7 @@ void Titania_80193DF0(Boss* boss) {
(boss->swork[21] > 0)) {
boss->swork[21] -= boss->damage;
if (boss->swork[21] <= 0) {
D_ctx_8017796C = -1;
gTeamLowHealthMsgTimer = -1;
boss->swork[21] = 0;
gScreenFlashTimer = 8;
AUDIO_PLAY_SFX(0x2940D09A, boss->sfxSource, 4);
@ -3934,7 +3934,7 @@ void Titania_80193DF0(Boss* boss) {
if (boss->swork[21] <= 0) {
boss->swork[21] = 0;
gScreenFlashTimer = 8;
D_ctx_8017796C = -1;
gTeamLowHealthMsgTimer = -1;
AUDIO_PLAY_SFX(0x2940D09A, boss->sfxSource, 4);
} else {
AUDIO_PLAY_SFX(0x2940802C, boss->sfxSource, 4);
@ -5170,7 +5170,7 @@ void Titania_801990DC(Boss* boss) {
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 50);
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 50);
func_effect_8007A568(boss->obj.pos.x, boss->obj.pos.y + 250.0f, boss->obj.pos.z, 40.0f);
func_boss_80042EC0(boss);
Boss_AwardBonus(boss);
gShowBossHealth = 0;
actor = gActors;
for (i = 0; i < ARRAY_COUNT(gActors); i++, actor++) {

View File

@ -317,7 +317,7 @@ void Titania_LevelComplete(Player* player) {
case 1:
Math_SmoothStepToF(D_ctx_80177A48, 0.1f, 1.0f, 0.01f, 0.0f);
Math_SmoothStepToF(&player->unk_0D0, 4.9f, 0.1f, 1.0f, 0.0f);
Math_SmoothStepToF(&player->baseSpeed, 4.9f, 0.1f, 1.0f, 0.0f);
Math_SmoothStepToF(&player->unk_08C, 0.0f, 0.1f, 1.0f, 0.0f);
if (gCsFrameCount < 1120) {

View File

@ -425,7 +425,7 @@ void Andross_80188A4C(Boss* boss) {
if ((boss->health != 0) && (boss->health <= 0)) {
gScreenFlashTimer = 8;
AUDIO_PLAY_SFX(0x2940D09A, boss->sfxSource, 4);
func_boss_80042EC0(boss);
Boss_AwardBonus(boss);
gPlayer[0].state_1C8 = PLAYERSTATE_1C8_STANDBY;
boss->state = 20;
boss->swork[1] = 1000;
@ -580,7 +580,7 @@ void Andross_80189214(void) {
player->unk_148 = player->unk_14C = 0.74f;
player->cam.eye.y = player->pos.y * player->unk_14C + 10.0f;
player->cam.eye.x = player->pos.x * player->unk_148;
D_ctx_80177DC8 = 0;
gObjectLoadIndex = 0;
// FAKE
if (1) {}
PRINTF("FO_Game_Sw %d\n");
@ -846,7 +846,7 @@ void Andross_80189B70(Boss* boss) {
Player_ApplyDamage(&gPlayer[0], 3, 10);
}
}
Math_SmoothStepToF(&gPlayer[0].unk_0D0, 0.0f, 2.0f, 2.0f, 0.0f);
Math_SmoothStepToF(&gPlayer[0].baseSpeed, 0.0f, 2.0f, 2.0f, 0.0f);
Math_SmoothStepToF(&gPlayer[0].pos.x, boss->obj.pos.x, 0.8f, 50.0f, 0.0f);
Math_SmoothStepToF(&gPlayer[0].pos.y, boss->obj.pos.y - 300.0f, 0.8f, 50.0f, 0.0f);
Math_SmoothStepToF(&gPlayer[0].pos.z, boss->obj.pos.z, 0.8f, 50.0f, 0.0f);
@ -861,7 +861,7 @@ void Andross_80189B70(Boss* boss) {
AUDIO_PLAY_SFX(0x1940306E, boss->sfxSource, 4);
}
if (boss->timer_050 == 0) {
gPlayer[0].unk_0D0 = D_play_80161A54;
gPlayer[0].baseSpeed = gArwingSpeed;
gPlayer[0].cockpitView = false;
gFillScreenAlphaTarget = 0;
boss->timer_05A = 50;
@ -949,7 +949,7 @@ void Andross_80189B70(Boss* boss) {
}
if (gCsFrameCount == 200) {
gBossActive = 0;
gPlayer[0].unk_0D0 = D_play_80161A54;
gPlayer[0].baseSpeed = gArwingSpeed;
Audio_StopPlayerNoise(0);
boss->state = 21;
func_effect_8007B344(boss->obj.pos.x, boss->obj.pos.y, boss->obj.pos.z, 60.0f, 5);
@ -1005,7 +1005,7 @@ void Andross_80189B70(Boss* boss) {
gPlayer[0].pos.z = -11140.0f;
gPlayer[0].unk_08C = 0.0f;
gPlayer[0].unk_114 = 271.0f;
gPlayer[0].unk_110 = gPlayer[0].unk_4D8 = gPlayer[0].unk_0E8 = gPlayer[0].unk_0E4 =
gPlayer[0].boostSpeed = gPlayer[0].unk_4D8 = gPlayer[0].unk_0E8 = gPlayer[0].unk_0E4 =
gPlayer[0].unk_0EC = 0.0f;
gPlayer[0].unk_12C = 150.0f;
gPlayer[0].camRoll = -90.0f;
@ -3719,7 +3719,7 @@ void Andross_80193C4C(Player* player) {
D_i6_801A7F4C = gAmbientR;
D_i6_801A7F50 = gAmbientG;
D_i6_801A7F54 = gAmbientB;
D_ctx_801784D4 = -50.0f;
gEnvLightyRot = -50.0f;
gMissionStatus = MISSION_ACCOMPLISHED;
for (i = 0; i < 200; i++) {
gScenery360[i].obj.status = OBJ_FREE;
@ -3960,7 +3960,7 @@ void Andross_80193C4C(Player* player) {
Matrix_RotateX(gCalcMatrix, -((player->unk_120 + player->unk_0E4 + player->unk_4D8) * M_DTOR), MTXF_APPLY);
sp74.x = 0.0f;
sp74.y = 0.0f;
sp74.z = player->unk_0D0;
sp74.z = player->baseSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp74, &sp68);
player->vel.x = sp68.x;
player->vel.z = sp68.z;

View File

@ -30,7 +30,7 @@ void SectorY_80197B30(Actor* actor, s32 timer) {
actor->obj.pos.x = gPlayer[0].pos.x;
actor->obj.pos.y = gPlayer[0].pos.y;
actor->obj.pos.z = gPlayer[0].pos.z;
actor->fwork[0] = gPlayer[0].unk_0D0;
actor->fwork[0] = gPlayer[0].baseSpeed;
actor->vel.x = gPlayer[0].vel.x;
actor->vel.y = gPlayer[0].vel.y;
actor->vel.z = gPlayer[0].vel.z;
@ -575,7 +575,7 @@ void SectorY_80199438(Boss* boss) {
if ((gCsFrameCount == 120) && (boss->swork[36] == 0) && (boss->index == 0)) {
if (boss->swork[19] == 0) {
func_boss_80042EC0(boss);
Boss_AwardBonus(boss);
}
for (i = 0; i < 2; i++) {
@ -2042,8 +2042,8 @@ void SectorY_LevelComplete(Player* player) {
gCsFrameCount = 0;
player->unk_4D8 = 0.0f;
player->camRoll = 0.0f;
player->unk_0D0 = 40.0f;
player->unk_110 = 0.0f;
player->baseSpeed = 40.0f;
player->boostSpeed = 0.0f;
player->wings.unk_04 = player->wings.unk_0C = player->wings.unk_08 = player->wings.unk_10 =
player->unk_130 = player->unk_12C = 0.0f;
player->unk_234 = 1;
@ -2120,7 +2120,7 @@ void SectorY_LevelComplete(Player* player) {
Audio_KillSfxBySource(player->sfxSource);
gFillScreenAlpha = 250;
player->timer_1F8 = 50;
player->unk_0D0 = 0.0f;
player->baseSpeed = 0.0f;
player->unk_0E4 = 0.0f;
player->unk_0E8 = 0.0f;
player->unk_0EC = 0.0f;
@ -2155,7 +2155,7 @@ void SectorY_LevelComplete(Player* player) {
break;
case 3:
if ((gCsFrameCount < 720) && D_ctx_801782F8) {
if ((gCsFrameCount < 720) && gMsgCharIsPrinting) {
player->wings.unk_30 = (f32) (gGameFrameCount & 2) * 5.0f;
}
@ -2202,7 +2202,7 @@ void SectorY_LevelComplete(Player* player) {
gCsCamAtZ = D_ctx_80177A48[7] + player->pos.z;
if (gCsFrameCount > 1440) {
player->unk_0D0 += 2.0f;
player->baseSpeed += 2.0f;
player->unk_0E4 += 0.1f;
Math_SmoothStepToF(&D_ctx_80177A48[2], 0.0f, 1.0f, 0.001f, 0);
player->unk_190 = 2.0f;
@ -2342,7 +2342,7 @@ void SectorY_LevelComplete(Player* player) {
Matrix_RotateX(gCalcMatrix, -((player->unk_120 + player->unk_0E4) * M_DTOR), MTXF_APPLY);
sp60.x = 0.0f;
sp60.y = 0.0f;
sp60.z = player->unk_0D0;
sp60.z = player->baseSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp60, &sp54);
player->vel.x = sp54.x;
player->vel.z = sp54.z;
@ -2544,7 +2544,7 @@ void SectorY_801A06A4(Actor* actor, s32 arg1) {
actor->obj.pos.x = gPlayer[0].pos.x + D_i6_801A6AEC[arg1].x;
actor->obj.pos.y = gPlayer[0].pos.y + D_i6_801A6AEC[arg1].y;
actor->obj.pos.z = gPlayer[0].pos.z + D_i6_801A6AEC[arg1].z;
actor->fwork[0] = gPlayer[0].unk_0D0;
actor->fwork[0] = gPlayer[0].baseSpeed;
actor->unk_0F4.y = gPlayer[0].unk_0E8;
actor->unk_0F4.z = gPlayer[0].unk_0EC;
actor->state = arg1 + 7;
@ -2633,12 +2633,12 @@ void SectorY_801A0AC0(Player* player) {
D_ctx_80177A48[0] = 0.0f;
player->pos.y = 5000.0f;
player->camRoll = 0.0f;
player->unk_0D0 = 0.0f;
player->baseSpeed = 0.0f;
gActors[5].fwork[2] = gActors[6].fwork[2] = gActors[7].fwork[2] = 0.2f;
gActors[5].obj.rot.z = 30.0f;
gActors[6].obj.rot.z = 30.0f;
gActors[7].obj.rot.z = 320.0f;
D_ctx_801784D4 = D_ctx_801784FC = D_ctx_80178524 = D_ctx_801784BC = D_ctx_801784C8 = 230.0f;
gEnvLightyRot = gLight2yRotTarget = D_ctx_80178524 = gLight1yRot = gLight1yRotTarget = 230.0f;
gActors[6].fwork[1] = 15.0f;
/* fallthrough */
case 1:
@ -2903,7 +2903,7 @@ void SectorY_801A0AC0(Player* player) {
gFillScreenGreen = 255;
gFillScreenBlue = 255;
gFillScreenAlpha = 255;
D_ctx_801784D4 = -58.0f;
gEnvLightyRot = -58.0f;
}
if (gCsFrameCount >= 300) {
Math_SmoothStepToF(&D_ctx_80177A48[1], 120.0f, 0.1f, D_ctx_80177A48[2], 0);
@ -3148,7 +3148,7 @@ void SectorY_801A0AC0(Player* player) {
}
if (gCsFrameCount >= 470) {
Math_SmoothStepToAngle(&D_ctx_801784D4, 58.0f, 1.0f, 2.0f, 0.0f);
Math_SmoothStepToAngle(&gEnvLightyRot, 58.0f, 1.0f, 2.0f, 0.0f);
gActors[5].obj.rot.y += 1.2f;
if (gActors[5].iwork[4] != 6) {
gActors[5].obj.rot.z -= 0.25f;
@ -3206,7 +3206,7 @@ void SectorY_801A0AC0(Player* player) {
player->pos.x = 4800.0f;
player->pos.y = 300.0f;
player->pos.z = 4000.0f;
player->unk_0D0 = 40.0f;
player->baseSpeed = 40.0f;
player->unk_0E8 = 80.0f;
player->unk_0EC = 240.0f;
@ -3347,7 +3347,7 @@ void SectorY_801A0AC0(Player* player) {
gActors[9].obj.pos.z = -7100.0f;
D_ctx_80177A48[0] = 1.0f;
player->pos.z = player->unk_138 = 0.0f;
player->unk_0D0 = D_play_80161A54;
player->baseSpeed = gArwingSpeed;
AUDIO_PLAY_BGM(SEQ_ID_SECTOR_Y | SEQ_FLAG);
gLevelStartStatusScreenTimer = 100;
player->state_1C8 = PLAYERSTATE_1C8_ACTIVE;
@ -3385,7 +3385,7 @@ void SectorY_801A0AC0(Player* player) {
Matrix_RotateX(gCalcMatrix, -(player->unk_0E4 * M_DTOR), MTXF_APPLY);
spA4.x = 0.0f;
spA4.y = 0.0f;
spA4.z = player->unk_0D0;
spA4.z = player->baseSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &spA4, &sp98);
player->vel.x = sp98.x;
player->vel.z = sp98.z;

View File

@ -31,13 +31,13 @@ static Vec3f D_i6_801A68B0[6] = {
static f32 D_i6_801A68F8[3] = { 300.0f, 70.0f, 280.0f };
void Venom2_80196314(Actor* actor) {
Actor* otherActor;
Actor* actor4 = &gActors[4];
void Venom2_UpdateEvents(Actor* this) {
Actor* team;
Actor* wolf = &gActors[4];
Player* player = &gPlayer[0];
s32 i;
switch (actor->state) {
switch (this->state) {
case 0:
gAllRangeEventTimer = 0;
gStarWolfMsgTimer = 0;
@ -48,7 +48,7 @@ void Venom2_80196314(Actor* actor) {
}
if (player->state_1C8 == PLAYERSTATE_1C8_ACTIVE) {
actor->state = 2;
this->state = 2;
player->pos.x = 0.0f;
player->pos.z = 8000.0f;
player->pos.y = 670.0f;
@ -57,19 +57,19 @@ void Venom2_80196314(Actor* actor) {
} else {
D_360_800C9B4C = 320;
gStarWolfMsgTimer = 1200;
actor->state = 1;
this->state = 1;
player->pos.x = 0.0f;
player->pos.z = 16000.0f;
player->pos.y = 4350.0f;
player->unk_0E4 = -20.0f;
player->unk_114 = 0.0f;
actor->timer_0BC = 210;
for (otherActor = &gActors[1], i = 1; i < 4; i++, otherActor++) {
otherActor->obj.pos.x = D_i6_801A68B0[i - 1].x;
otherActor->obj.pos.y = D_i6_801A68B0[i - 1].y + 750.f;
otherActor->obj.pos.z = D_i6_801A68B0[i - 1].z;
otherActor->obj.rot.z = D_i6_801A68F8[i - 1];
otherActor->unk_0F4.x = 340.0f;
this->timer_0BC = 210;
for (team = &gActors[1], i = 1; i < 4; i++, team++) {
team->obj.pos.x = D_i6_801A68B0[i - 1].x;
team->obj.pos.y = D_i6_801A68B0[i - 1].y + 750.f;
team->obj.pos.z = D_i6_801A68B0[i - 1].z;
team->obj.rot.z = D_i6_801A68F8[i - 1];
team->unk_0F4.x = 340.0f;
}
gFillScreenAlpha = gFillScreenAlphaTarget = 255;
@ -78,12 +78,12 @@ void Venom2_80196314(Actor* actor) {
/* fallthrough */
case 1:
for (otherActor = &gActors[1], i = 1; i < 4; i++, otherActor++) {
otherActor->state = 0;
otherActor->timer_0BC = 3;
if (actor->timer_0BC == 0) {
otherActor->state = 2;
actor->state = 2;
for (team = &gActors[1], i = 1; i < 4; i++, team++) {
team->state = 0;
team->timer_0BC = 3;
if (this->timer_0BC == 0) {
team->state = 2;
this->state = 2;
player->state_1C8 = PLAYERSTATE_1C8_ACTIVE;
player->unk_014 = 0.0001f;
gLevelStartStatusScreenTimer = 80;
@ -94,14 +94,13 @@ void Venom2_80196314(Actor* actor) {
}
break;
case 2:
Venom2_801962F4(actor);
Venom2_801962F4(this);
if (((D_360_800C9B4C + 100) < gAllRangeEventTimer) && (gActors[4].obj.status == OBJ_FREE) &&
(gActors[5].obj.status == OBJ_FREE) && (gActors[6].obj.status == OBJ_FREE) &&
(gActors[7].obj.status == OBJ_FREE) && (actor->timer_0BE == 0)) {
actor->timer_0BE = 80;
(gActors[7].obj.status == OBJ_FREE) && (this->timer_0BE == 0)) {
this->timer_0BE = 80;
}
if ((actor->timer_0BE == 1) && (player->state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE)) {
if ((this->timer_0BE == 1) && (player->state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE)) {
for (i = 1; i < ARRAY_COUNT(gTeamShields); i++) {
gPrevPlanetTeamShields[i] = gSavedTeamShields[i];
gPrevPlanetSavedTeamShields[i] = gSavedTeamShields[i];
@ -123,16 +122,16 @@ void Venom2_80196314(Actor* actor) {
case 3:
gPauseEnabled = 0;
if (gStarWolfMsgTimer < 600) {
player->cam.eye.x += actor4->vel.x * 0.23f;
player->cam.eye.y += actor4->vel.y * 0.23f;
player->cam.eye.z += actor4->vel.z * 0.23f;
player->cam.eye.x += wolf->vel.x * 0.23f;
player->cam.eye.y += wolf->vel.y * 0.23f;
player->cam.eye.z += wolf->vel.z * 0.23f;
}
Math_SmoothStepToF(&player->cam.at.x, actor4->obj.pos.x, 1.0f, 20000.0f, 0.0f);
Math_SmoothStepToF(&player->cam.at.y, actor4->obj.pos.y, 1.0f, 20000.0f, 0.0f);
Math_SmoothStepToF(&player->cam.at.z, actor4->obj.pos.z, 1.0f, 20000.0f, 0.0f);
Math_SmoothStepToF(&player->cam.at.x, wolf->obj.pos.x, 1.0f, 20000.0f, 0.0f);
Math_SmoothStepToF(&player->cam.at.y, wolf->obj.pos.y, 1.0f, 20000.0f, 0.0f);
Math_SmoothStepToF(&player->cam.at.z, wolf->obj.pos.z, 1.0f, 20000.0f, 0.0f);
Math_SmoothStepToF(&player->camRoll, 0, 0.1f, 0.2f, 0.0f);
if ((gControllerPress->button & START_BUTTON) || (gAllRangeEventTimer == (D_360_800C9B4C + 300))) {
actor->state = 2;
this->state = 2;
player->state_1C8 = PLAYERSTATE_1C8_ACTIVE;
func_play_800B7184(player, 1);
player->unk_014 = 0.0f;
@ -231,7 +230,7 @@ void Venom2_LevelStart(Player* player) {
Matrix_RotateX(gCalcMatrix, -((player->unk_120 + player->unk_0E4 + player->unk_4D8) * M_DTOR), MTXF_APPLY);
vec.x = 0.0f;
vec.y = 0.0f;
vec.z = player->unk_0D0 + player->unk_110;
vec.z = player->baseSpeed + player->boostSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &vec, &vel);
player->vel.x = vel.x;
player->vel.z = vel.z;
@ -267,7 +266,7 @@ void Venom2_LevelComplete(Player* player) {
Vec3f sp58;
s32 pad2;
Math_SmoothStepToF(&player->unk_110, 0.0f, 0.1f, 1.5f, 0.0f);
Math_SmoothStepToF(&player->boostSpeed, 0.0f, 0.1f, 1.5f, 0.0f);
Math_SmoothStepToF(&player->unk_0E8, 0.0f, 0.1f, 1.5f, 0.0f);
Math_SmoothStepToF(&player->unk_0E4, 0.0f, 0.1f, 1.5f, 0.0f);
@ -452,7 +451,7 @@ void Venom2_LevelComplete(Player* player) {
Matrix_RotateX(gCalcMatrix, -((player->unk_120 + player->unk_0E4 + player->unk_4D8) * M_DTOR), MTXF_APPLY);
sp64.x = 0.0f;
sp64.y = 0.0f;
sp64.z = player->unk_0D0 + player->unk_110;
sp64.z = player->baseSpeed + player->boostSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp64, &sp58);
player->vel.x = sp58.x;
player->vel.z = sp58.z;

View File

@ -1243,10 +1243,10 @@ void Map_Main(void) {
D_menu_801CD9C0--;
}
switch (D_ctx_80177B40) {
switch (gMapState) {
case 0:
if (gNextGameStateTimer == 0) {
D_ctx_80177B40 = 1;
gMapState = 1;
}
break;
@ -1413,7 +1413,7 @@ void Map_8019E99C(void) {
D_menu_801CD810 = 0;
D_ctx_80177B40 = 2;
gMapState = 2;
D_menu_801CD948 = 0;
D_menu_801CEEC4 = 0;
@ -3954,7 +3954,7 @@ void Map_801A5E80(void) {
if ((gControllerPress[gMainController].button & A_BUTTON) && (D_menu_801CD9A0 == 0) && !(D_menu_801CD9A8)) {
Audio_ClearVoice();
D_Timer_801782AC = 0;
gRadioStateTimer = 0;
}
if ((gControllerPress[gMainController].button & A_BUTTON) && (D_menu_801CD9A0 == 1) && !(D_menu_801CD9A8)) {
@ -4281,7 +4281,7 @@ void Map_801A6628(void) {
Play_Setup();
D_ctx_80177CA0 = 0;
gSavedObjectLoadIndex = 0;
D_ctx_80177CB0 = 0.0f;
D_ctx_8017782C = 1;
}
@ -5781,19 +5781,19 @@ void Map_801AB17C(f32 x, f32 y, f32 z) {
void Map_801AB284(void) {
D_menu_801CD940 = 0;
D_ctx_80178308 = D_menu_801AF428[sCurrentPlanetId][D_menu_801CD940];
D_ctx_80177D68 = D_menu_801AF420[D_menu_801CD940];
gRadioMsg = D_menu_801AF428[sCurrentPlanetId][D_menu_801CD940];
gRadioMsgRadioId = D_menu_801AF420[D_menu_801CD940];
D_menu_801CF018 = 100;
D_radio_80178728 = 78;
D_radio_8017872C = 166;
gRadioPrintPosX = 78;
gRadioPrintPosY = 166;
}
void Map_801AB300(void) {
if (D_Timer_801782AC > 0) {
D_Timer_801782AC--;
if (gRadioStateTimer > 0) {
gRadioStateTimer--;
}
if (D_Timer_801782B4 > 0) {
D_Timer_801782B4--;
if (gRadioMouthTimer > 0) {
gRadioMouthTimer--;
}
switch (D_menu_801CF018) {
@ -5802,32 +5802,32 @@ void Map_801AB300(void) {
case 100:
D_menu_801CEA74 = 0;
D_ctx_801782A4 = 0 + D_ctx_80177D68;
gCurrentRadioPortrait = 0 + gRadioMsgRadioId;
D_menu_801CF018 = 1;
D_ctx_80177D50 = 0.0f;
D_ctx_801782D8 = 0;
gRadioTextBoxScaleY = 0.0f;
gRadioMsgCharIndex = 0;
D_menu_801CF124 = 0.0f;
D_menu_801CEAB4 = 0;
break;
case 200:
D_menu_801CF018 = 210;
D_Timer_801782AC = 30;
gRadioStateTimer = 30;
break;
case 210:
if (D_Timer_801782AC) {
if (gRadioStateTimer) {
break;
}
D_menu_801CD940 = 1;
D_ctx_80178308 = D_menu_801AF428[sCurrentPlanetId][D_menu_801CD940];
gRadioMsg = D_menu_801AF428[sCurrentPlanetId][D_menu_801CD940];
Audio_PlayVoice(Message_IdFromPtr(D_ctx_80178308));
Audio_PlayVoice(Message_IdFromPtr(gRadioMsg));
D_ctx_80177D68 = D_menu_801AF420[D_menu_801CD940];
D_Timer_801782AC = Message_GetCharCount(D_ctx_80178308) * 2;
D_ctx_801782A4 = D_ctx_80177D68;
gRadioMsgRadioId = D_menu_801AF420[D_menu_801CD940];
gRadioStateTimer = Message_GetCharCount(gRadioMsg) * 2;
gCurrentRadioPortrait = gRadioMsgRadioId;
D_menu_801CF018 = 4;
D_menu_801CD9A0 = 1;
break;
@ -5836,53 +5836,53 @@ void Map_801AB300(void) {
D_menu_801CEA74 += 8;
if (D_menu_801CEA74 > 255) {
D_menu_801CEA74 = 255;
D_ctx_80177D50 = 1.3f;
gRadioTextBoxScaleY = 1.3f;
AUDIO_PLAY_SFX(0x4100001E, gDefaultSfxSource, 4);
Audio_PlayVoice(Message_IdFromPtr(D_ctx_80178308));
Audio_PlayVoice(Message_IdFromPtr(gRadioMsg));
D_Timer_801782AC = Message_GetCharCount(D_ctx_80178308) * 2;
gRadioStateTimer = Message_GetCharCount(gRadioMsg) * 2;
D_menu_801CD9A4 = 0;
D_menu_801CF018 = 4;
}
break;
case 4:
if (!D_Timer_801782AC && !Audio_GetCurrentVoice()) {
D_ctx_801782A4 = D_ctx_80177D68;
if (!gRadioStateTimer && !Audio_GetCurrentVoice()) {
gCurrentRadioPortrait = gRadioMsgRadioId;
Audio_ClearVoice();
if (D_menu_801CD940 == 0) {
D_ctx_801782D8 = 0;
D_Timer_801782AC = 30;
gRadioMsgCharIndex = 0;
gRadioStateTimer = 30;
} else {
D_Timer_801782AC = 20;
gRadioStateTimer = 20;
}
D_menu_801CF018 = 41;
break;
}
D_ctx_801782A4 = D_ctx_80177D68;
gCurrentRadioPortrait = gRadioMsgRadioId;
if (D_Timer_801782B4 > 0) {
D_ctx_801782A4 = 1 + D_ctx_80177D68;
if (gRadioMouthTimer > 0) {
gCurrentRadioPortrait = 1 + gRadioMsgRadioId;
}
if (D_ctx_801782D8 >= Message_GetCharCount(D_ctx_80178308)) {
if (gRadioMsgCharIndex >= Message_GetCharCount(gRadioMsg)) {
D_menu_801CD9A4 = 1;
}
if (D_menu_801CD9A0 == 1) {
D_menu_801CF124 += 0.7f;
D_ctx_801782D8 = D_menu_801CF124;
gRadioMsgCharIndex = D_menu_801CF124;
} else {
D_ctx_801782D8 += 2;
gRadioMsgCharIndex += 2;
}
if (D_menu_801CEAB4) {
if (Audio_GetCurrentVoiceStatus() == 1) {
D_Timer_801782B4 = 2;
gRadioMouthTimer = 2;
} else {
D_Timer_801782B4 = 0;
gRadioMouthTimer = 0;
}
}
@ -5890,7 +5890,7 @@ void Map_801AB300(void) {
break;
case 41:
if (D_Timer_801782AC) {
if (gRadioStateTimer) {
break;
}
@ -5899,13 +5899,13 @@ void Map_801AB300(void) {
break;
} else {
D_menu_801CD940 = 1;
D_ctx_80178308 = D_menu_801AF428[sCurrentPlanetId][D_menu_801CD940];
Audio_PlayVoice(Message_IdFromPtr(D_ctx_80178308));
D_ctx_80177D68 = D_menu_801AF420[D_menu_801CD940];
D_ctx_801782A4 = D_ctx_80177D68;
D_ctx_801782D8 = 0;
gRadioMsg = D_menu_801AF428[sCurrentPlanetId][D_menu_801CD940];
Audio_PlayVoice(Message_IdFromPtr(gRadioMsg));
gRadioMsgRadioId = D_menu_801AF420[D_menu_801CD940];
gCurrentRadioPortrait = gRadioMsgRadioId;
gRadioMsgCharIndex = 0;
D_menu_801CF124 = 0.0f;
D_Timer_801782AC = Message_GetCharCount(D_ctx_80178308) * 2;
gRadioStateTimer = Message_GetCharCount(gRadioMsg) * 2;
D_menu_801CD9A0 = 1;
D_menu_801CD9A4 = 0;
D_menu_801CF018 = 4;
@ -5913,16 +5913,16 @@ void Map_801AB300(void) {
break;
case 5:
D_Timer_801782AC = 5;
D_ctx_801782A4 = D_ctx_80177D68;
gRadioStateTimer = 5;
gCurrentRadioPortrait = gRadioMsgRadioId;
D_menu_801CF018++;
break;
case 6:
if (D_Timer_801782AC == 0) {
if (gRadioStateTimer == 0) {
Audio_KillSfxById(0x4100001E);
Audio_PlayVoice(0);
D_ctx_80177D50 = 0.0f;
gRadioTextBoxScaleY = 0.0f;
D_menu_801CF018++;
D_menu_801CF018 = 7;
}
@ -5932,14 +5932,14 @@ void Map_801AB300(void) {
break;
case 8:
D_ctx_801782A4 = D_ctx_80177D68;
D_ctx_80177D50 = 1.3f;
gCurrentRadioPortrait = gRadioMsgRadioId;
gRadioTextBoxScaleY = 1.3f;
D_menu_801CEA74 = 255;
break;
}
if ((D_menu_801CF018 > 0) && (D_menu_801CF018 != 100)) {
Map_801AB978(D_ctx_801782A4);
Map_801AB978(gCurrentRadioPortrait);
Map_801AB978(D_menu_801AF420[!D_menu_801CD940]);
func_radio_800BB388();
}

View File

@ -470,7 +470,7 @@ void Option_Setup(void) {
} else {
if (D_game_800D2870 != 0) {
D_menu_801B91A4 = 2;
D_menu_801B91A8 = D_ctx_801778AC;
D_menu_801B91A8 = gVsMatchType;
for (i = 0; i < OPTION_COUNT; i++) {
if (i == 2) {
continue;
@ -784,7 +784,7 @@ void Option_MapUpdate(void) {
D_menu_801B9124 = 100;
gGameState = GSTATE_MAP;
gNextGameStateTimer = 2;
D_ctx_80177B40 = 0;
gMapState = 0;
gDrawMode = DRAW_NONE;
gControllerLock = 3;
} else {
@ -803,7 +803,7 @@ void Option_TrainingUpdate(void) {
gPlayState = PLAY_STANDBY;
gDrawMode = DRAW_NONE;
Play_Setup();
D_ctx_80177CA0 = 0;
gSavedObjectLoadIndex = 0;
D_ctx_80177CB0 = 0.0f;
D_ctx_8017782C = 1;
gControllerLock = 3;
@ -1053,7 +1053,7 @@ void Option_MainMenuUpdate(void) {
gStarCount = 0;
gGameState = GSTATE_TITLE;
gNextGameStateTimer = 2;
D_ctx_80177AE0 = 0;
gTitleState = 0;
D_menu_801B827C = 1;
gDrawMode = DRAW_NONE;
D_menu_801B8280 = 0;
@ -1265,7 +1265,7 @@ void Option_VersusUpdate(void) {
(sOptionVSCardList[D_menu_801B91A8].unk_38.unk_04 == -15.5f)) {
gBlurAlpha += 255;
D_menu_801B9124 = (D_menu_801B91A8 + 1) * 10;
D_ctx_801778AC = D_menu_801B91A8;
gVsMatchType = D_menu_801B91A8;
D_menu_801B91C4 = 1;
Option_InitEntry();
}
@ -2633,7 +2633,7 @@ void Option_VersusMenuInit(void) {
sOptionCardList[1].unk_38.unk_04 = -7.5f;
}
D_ctx_801778A4 = 3;
gVsPointsToWin = 3;
D_menu_801B9340 = 2;
@ -2883,10 +2883,10 @@ void Option_VersusStageInit(void) {
gStarCount = 0;
D_menu_801B933C = 0;
D_menu_801B91E8 = 255.0f;
D_menu_801B93D4 = D_ctx_801778A4 - 1;
D_menu_801B93D4 = gVsPointsToWin - 1;
D_menu_801B93D8 = D_game_80161A28;
D_menu_801B93DC = D_menu_801B9340;
D_ctx_801778C8 = D_menu_801B93DC;
gVsTimeTrialLimit = D_menu_801B93DC;
// clang-format off
for (i = 0; i < 4; i++) {\
D_menu_801B9358[i] = 0;
@ -3011,7 +3011,7 @@ void Option_8019A2E0(void) {
if (Option_8019C418(&D_menu_801B93D4, 4, 0, 0, 20, 2, 4, i, &D_menu_801B9380[i])) {
AUDIO_PLAY_SFX(0x49000002, gDefaultSfxSource, 4);
D_ctx_801778A4 = D_menu_801B93D4 + 1;
gVsPointsToWin = D_menu_801B93D4 + 1;
}
if (gControllerPress[i].button & A_BUTTON) {
@ -3052,7 +3052,7 @@ void Option_8019A4DC(void) {
if (Option_8019C418(&D_menu_801B93DC, 4, 0, 0, 20, 2, 4, i, &D_menu_801B9380[i])) {
AUDIO_PLAY_SFX(0x49000002, gDefaultSfxSource, 4);
D_menu_801B9340 = D_menu_801B93DC;
D_ctx_801778C8 = D_menu_801B93DC;
gVsTimeTrialLimit = D_menu_801B93DC;
}
if (gControllerPress[i].button & A_BUTTON) {
@ -3187,7 +3187,7 @@ void Option_VersusStageDraw(void) {
void Option_8019AB30(void) {
s32 pad[5];
s32 colorGB;
s32 sp44 = D_ctx_801778A4;
s32 sp44 = gVsPointsToWin;
s32 var_v0;
RCP_SetupDL(&gMasterDisp, 0x53);

View File

@ -166,7 +166,7 @@ void Title_Init(void) {
gGameFrameCount = 0;
D_ctx_80177AE0 = 2;
gTitleState = 2;
D_game_80161A34 = 0;
D_game_800D2870 = 0;
@ -216,11 +216,11 @@ void Title_Init(void) {
}
void Title_Main(void) {
switch (D_ctx_80177AE0) {
switch (gTitleState) {
case 0:
if (gNextGameStateTimer == 0) {
gDrawMode = DRAW_NONE;
D_ctx_80177AE0 = 1;
gTitleState = 1;
}
break;
@ -297,7 +297,7 @@ void Title_Draw(void) {
Title_801918FC();
Title_8018A2F8();
Matrix_Pop(&gGfxMatrix);
func_radio_800BB5D0();
Radio_Draw();
Title_80190C9C();
}
Title_8018FF74();
@ -1006,8 +1006,8 @@ void Title_8018994C(void) {
D_menu_801B82B8 = 0;
gRadioState = 0;
D_ctx_80178300 = 0;
gCurrentMsgPri = 0;
gHideRadio = 0;
gRadioMsgPri = 0;
break;
case 100:
@ -3472,33 +3472,33 @@ void Title_801918FC(void) {
Matrix_SetGfxMtx(&gMasterDisp);
}
void Title_801919C4(u16** arg0, s32 arg1) {
D_radio_80178720 = arg0;
D_radio_80178724 = 0;
D_ctx_80178308 = arg0[D_radio_80178724];
D_ctx_80177D68 = arg1;
void Title_801919C4(u16** msgList, RadioCharacterId character) {
gRadioMsgList = msgList;
gRadioMsgListIndex = 0;
gRadioMsg = msgList[gRadioMsgListIndex];
gRadioMsgRadioId = character;
gRadioState = 100;
switch (gGameState) {
case GSTATE_TITLE:
D_radio_8017872C = 176;
D_radio_80178728 = 85;
D_radio_80178730 = 80.0f;
D_radio_80178734 = 174.0f;
D_radio_80178738 = 4.63f;
D_radio_8017873C = 32.0f;
D_radio_80178740 = 174.0f;
gRadioPrintPosY = 176;
gRadioPrintPosX = 85;
gRadioTextBoxPosX = 80.0f;
gRadioTextBoxPosY = 174.0f;
gRadioTextBoxScaleX = 4.63f;
gRadioPortraitPosX = 32.0f;
gRadioPortraitPosY = 174.0f;
break;
case GSTATE_PLAY:
D_radio_8017872C = 179;
D_radio_80178728 = 79;
D_radio_80178730 = 74.0f;
D_radio_80178734 = 178.0f;
D_radio_80178738 = 4.53f;
D_radio_8017873C = 26.0f;
D_radio_80178740 = 178.0f;
gRadioPrintPosY = 179;
gRadioPrintPosX = 79;
gRadioTextBoxPosX = 74.0f;
gRadioTextBoxPosY = 178.0f;
gRadioTextBoxScaleX = 4.53f;
gRadioPortraitPosX = 26.0f;
gRadioPortraitPosY = 178.0f;
}
Audio_PlayVoice(Message_IdFromPtr(D_ctx_80178308));
Audio_PlayVoice(Message_IdFromPtr(gRadioMsg));
}

View File

@ -236,7 +236,7 @@ void Title_801914AC(f32 arg0, f32 arg1, f32 arg2, f32* arg3, f32* arg4, f32* arg
void Title_80191798(f32* arg0, f32* arg1);
void Title_80191844(f32 arg0, f32 arg1);
void Title_801918FC(void);
void Title_801919C4(u16** arg0, s32 arg1);
void Title_801919C4(u16** msgList, RadioCharacterId character);
s32 Title_80188010(void);
void Title_80190C9C(void);
void Title_8018D2B8(s32);

@ -1 +1 @@
Subproject commit df54367b676f44d2b925e681ae05eef665f7c45f
Subproject commit 32c49216fd5a1d9d5ec48fd93c177da47df3e789