mirror of
https://github.com/HarbourMasters/Starship.git
synced 2025-02-02 16:23:57 +03:00
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:
parent
ee59dfc57f
commit
3ab050421e
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
@ -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",
|
||||
|
@ -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}
|
||||
|
@ -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 }
|
||||
|
@ -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}
|
||||
|
@ -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 }
|
||||
|
@ -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 }
|
||||
|
@ -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 }
|
||||
|
@ -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 }
|
||||
|
@ -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}
|
||||
|
@ -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 }
|
||||
|
@ -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 }
|
||||
|
@ -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 }
|
||||
|
@ -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 }
|
||||
|
@ -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}
|
||||
|
@ -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}
|
||||
|
@ -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 }
|
||||
|
@ -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 }
|
||||
|
@ -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 }
|
||||
|
@ -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}
|
||||
|
@ -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}
|
||||
|
@ -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];
|
||||
|
@ -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);
|
||||
|
@ -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*);
|
||||
|
@ -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*);
|
||||
|
@ -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;};
|
||||
|
@ -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);
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
|
@ -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,
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -401,7 +401,7 @@ func_800168BC = 0x800168BC;
|
||||
|
||||
|
||||
|
||||
func_80016A50 = 0x80016A50;
|
||||
Audio_dummy_80016A50 = 0x80016A50;
|
||||
Audio_GetSfxFalloff = 0x80016A58;
|
||||
Audio_GetSfxReverb = 0x80016BC0;
|
||||
Audio_GetSfxPan = 0x80016CDC;
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
61
sfxIds.txt
61
sfxIds.txt
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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,
|
||||
},
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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,46 +178,53 @@ 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;
|
||||
s32 gLight1R; // Color32 light color 1
|
||||
|
||||
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;
|
||||
s32 gAmbientR; // Color32 ambient color
|
||||
@ -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];
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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();
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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) {
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -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
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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 };
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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++) {
|
||||
|
@ -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) {
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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));
|
||||
}
|
||||
|
@ -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
|
Loading…
Reference in New Issue
Block a user