mirror of
https://github.com/HarbourMasters/Starship.git
synced 2025-02-03 08:43:56 +03:00
0fb8d58334
* names * format 1 * more names
868 lines
24 KiB
C
868 lines
24 KiB
C
#include "global.h"
|
|
|
|
u16** D_80178720;
|
|
s32 D_80178724;
|
|
s32 D_80178728;
|
|
s32 D_8017872C;
|
|
f32 D_80178730;
|
|
f32 D_80178734;
|
|
f32 D_80178738;
|
|
f32 D_8017873C;
|
|
f32 D_80178740;
|
|
s32 D_80178744;
|
|
s32 D_80178748;
|
|
|
|
s32 gCurrentMsgPri = 0;
|
|
|
|
void func_800BA760(void) {
|
|
RCP_SetupDL_36();
|
|
if (D_80177D50 == 1.3f) {
|
|
D_801782F8 = Message_IsPrintingChar(D_80178308, D_801782D8);
|
|
}
|
|
}
|
|
|
|
s32 func_800BA7BC(u16* msg, s32 priority) {
|
|
if (priority == gCurrentMsgPri) {
|
|
return 0;
|
|
}
|
|
|
|
if (priority < gCurrentMsgPri) {
|
|
return 1;
|
|
}
|
|
|
|
if (gCurrentMsgPri < priority) {
|
|
gCurrentMsgPri = priority;
|
|
return 2;
|
|
}
|
|
}
|
|
|
|
void func_800BA808(u16* msg, RadioCharacterId character) {
|
|
s32 var_v1;
|
|
s32 temp_v0;
|
|
s32 priority;
|
|
|
|
switch (msg[0]) {
|
|
default:
|
|
case MSGCHAR_PRI0:
|
|
priority = 0;
|
|
break;
|
|
case MSGCHAR_PRI1:
|
|
priority = 1;
|
|
break;
|
|
case MSGCHAR_PRI2:
|
|
priority = 2;
|
|
break;
|
|
case MSGCHAR_PRI3:
|
|
priority = 3;
|
|
break;
|
|
}
|
|
|
|
if (gGameState == GSTATE_PLAY) {
|
|
if ((character == RCID_FALCO) || (character == RCID_SLIPPY) || (character == RCID_PEPPY)) {
|
|
if (character == RCID_FALCO) {
|
|
var_v1 = 1;
|
|
}
|
|
if (character == RCID_SLIPPY) {
|
|
var_v1 = 2;
|
|
}
|
|
if (character == RCID_PEPPY) {
|
|
var_v1 = 3;
|
|
}
|
|
if ((gTeamShields[var_v1] <= 0) && (gTeamShields[var_v1] != -2)) {
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
if ((gRadioState != 0) && (func_800BA7BC(msg, priority) == 1)) {
|
|
return;
|
|
}
|
|
|
|
gCurrentMsgPri = priority;
|
|
D_80177D68 = character;
|
|
|
|
if (gExpertMode && ((character == RCID_FOX) || (character == RCID_FOX_RED))) {
|
|
D_80177D68 = RCID_FOX_EXPERT;
|
|
}
|
|
|
|
if (gCurrentLevel == LEVEL_VENOM_2) {
|
|
switch (character) {
|
|
case RCID_WOLF:
|
|
D_80177D68 = RCID_WOLF_2;
|
|
break;
|
|
case RCID_PIGMA:
|
|
D_80177D68 = RCID_PIGMA_2;
|
|
break;
|
|
case RCID_LEON:
|
|
D_80177D68 = RCID_LEON_2;
|
|
break;
|
|
case RCID_ANDREW:
|
|
D_80177D68 = RCID_ANDREW_2;
|
|
break;
|
|
}
|
|
}
|
|
|
|
D_80178308 = msg;
|
|
gRadioState = 100;
|
|
|
|
switch (gGameState) {
|
|
case GSTATE_TITLE:
|
|
case GSTATE_CREDITS:
|
|
D_8017872C = 176;
|
|
D_80178728 = 85;
|
|
D_80178730 = 80.0f;
|
|
D_80178734 = 174.0f;
|
|
D_80178738 = 4.63f;
|
|
D_8017873C = 32.0f;
|
|
D_80178740 = 174.0f;
|
|
break;
|
|
case GSTATE_PLAY:
|
|
D_8017872C = 180;
|
|
D_80178728 = 79;
|
|
D_80178730 = 74.0f;
|
|
D_80178734 = 178.0f;
|
|
D_80178738 = 4.53f;
|
|
D_8017873C = 26.0f;
|
|
D_80178740 = 178.0f;
|
|
break;
|
|
}
|
|
|
|
D_801782E8 = Message_IdFromPtr(msg);
|
|
func_8001ACDC(D_801782E8);
|
|
}
|
|
|
|
void func_800BAAE8(void) {
|
|
static f32 D_800D4A74 = -1.0f;
|
|
u16* sp44;
|
|
s32 mirror;
|
|
s32 i;
|
|
f32 sp38;
|
|
f32 temp_fa0;
|
|
s32 j;
|
|
|
|
D_80178744 = 0;
|
|
mirror = false;
|
|
switch (D_801782A4) {
|
|
case RCID_FOX_RED:
|
|
D_80178744 = 1;
|
|
/* fallthrough */
|
|
case RCID_FOX:
|
|
sp44 = D_10050E0;
|
|
break;
|
|
case RCID_FOX_RED_OPEN:
|
|
D_80178744 = 1;
|
|
/* fallthrough */
|
|
case RCID_FOX_OPEN:
|
|
sp44 = D_1006000;
|
|
break;
|
|
case RCID_FOX_EXPERT:
|
|
sp44 = D_1006F20;
|
|
break;
|
|
case RCID_FOX_EXPERT_OPEN:
|
|
sp44 = D_1007E40;
|
|
break;
|
|
case RCID_FALCO_RED:
|
|
D_80178744 = 1;
|
|
/* fallthrough */
|
|
case RCID_FALCO:
|
|
sp44 = D_10032A0;
|
|
break;
|
|
case RCID_FALCO_RED_OPEN:
|
|
D_80178744 = 1;
|
|
/* fallthrough */
|
|
case RCID_FALCO_OPEN:
|
|
sp44 = D_10041C0;
|
|
break;
|
|
case RCID_SLIPPY_RED:
|
|
D_80178744 = 1;
|
|
/* fallthrough */
|
|
case RCID_SLIPPY:
|
|
sp44 = D_100D900;
|
|
break;
|
|
case RCID_SLIPPY_RED_OPEN:
|
|
D_80178744 = 1;
|
|
/* fallthrough */
|
|
case RCID_SLIPPY_OPEN:
|
|
sp44 = D_100E820;
|
|
break;
|
|
case RCID_PEPPY_RED:
|
|
D_80178744 = 1;
|
|
/* fallthrough */
|
|
case RCID_PEPPY:
|
|
sp44 = D_100BAC0;
|
|
break;
|
|
case RCID_PEPPY_RED_OPEN:
|
|
D_80178744 = 1;
|
|
/* fallthrough */
|
|
case RCID_PEPPY_OPEN:
|
|
sp44 = D_100C9E0;
|
|
break;
|
|
case RCID_WOLF:
|
|
sp44 = D_F00B580;
|
|
break;
|
|
case RCID_WOLF_OPEN:
|
|
sp44 = D_F00C4A0;
|
|
break;
|
|
case RCID_PIGMA:
|
|
sp44 = D_F003C80;
|
|
break;
|
|
case RCID_PIGMA_OPEN:
|
|
sp44 = D_F004BA0;
|
|
break;
|
|
case RCID_LEON:
|
|
sp44 = D_F007900;
|
|
break;
|
|
case RCID_LEON_OPEN:
|
|
sp44 = D_F008820;
|
|
break;
|
|
case RCID_ANDREW:
|
|
sp44 = D_F000000;
|
|
break;
|
|
case RCID_ANDREW_OPEN:
|
|
sp44 = D_F000F20;
|
|
break;
|
|
case RCID_WOLF_2:
|
|
sp44 = D_F00D3C0;
|
|
break;
|
|
case RCID_WOLF_2_OPEN:
|
|
sp44 = D_F00E2E0;
|
|
break;
|
|
case RCID_PIGMA_2:
|
|
sp44 = D_F005AC0;
|
|
break;
|
|
case RCID_PIGMA_2_OPEN:
|
|
sp44 = D_F0069E0;
|
|
break;
|
|
case RCID_LEON_2:
|
|
sp44 = D_F009740;
|
|
break;
|
|
case RCID_LEON_2_OPEN:
|
|
sp44 = D_F00A660;
|
|
break;
|
|
case RCID_ANDREW_2:
|
|
sp44 = D_F001E40;
|
|
break;
|
|
case RCID_ANDREW_2_OPEN:
|
|
sp44 = D_F002D60;
|
|
break;
|
|
case RCID_BOSS_CORNERIA:
|
|
sp44 = D_6026420;
|
|
break;
|
|
case RCID_BOSS_CORNERIA_OPEN:
|
|
sp44 = D_6027340;
|
|
break;
|
|
case RCID_BOSS_CORNERIA2:
|
|
sp44 = D_60245E0;
|
|
break;
|
|
case RCID_BOSS_CORNERIA2_OPEN:
|
|
sp44 = D_6025500;
|
|
break;
|
|
case RCID_BOSS_METEO:
|
|
sp44 = D_601C8E0;
|
|
break;
|
|
case RCID_BOSS_METEO_OPEN:
|
|
sp44 = D_601D800;
|
|
break;
|
|
case RCID_BOSS_AREA6:
|
|
sp44 = D_60047E0;
|
|
break;
|
|
case RCID_BOSS_AREA6_OPEN:
|
|
sp44 = D_6005700;
|
|
break;
|
|
case RCID_CAIMAN_AREA6:
|
|
sp44 = D_60029A0;
|
|
break;
|
|
case RCID_CAIMAN_AREA6_OPEN:
|
|
sp44 = D_60038C0;
|
|
break;
|
|
case RCID_BOSS_ZONESS:
|
|
sp44 = D_6014510;
|
|
break;
|
|
case RCID_BOSS_ZONESS_OPEN:
|
|
sp44 = D_6015430;
|
|
break;
|
|
case RCID_BOSS_SECTORX:
|
|
sp44 = D_6020FB0;
|
|
break;
|
|
case RCID_BOSS_SECTORX_OPEN:
|
|
sp44 = D_6021ED0;
|
|
break;
|
|
case RCID_BOSS_SECTORY:
|
|
sp44 = D_6018F30;
|
|
break;
|
|
case RCID_BOSS_SECTORY_OPEN:
|
|
sp44 = D_6019E50;
|
|
break;
|
|
case RCID_BOSS_MACBETH:
|
|
sp44 = D_6010C20;
|
|
break;
|
|
case RCID_BOSS_MACBETH_OPEN:
|
|
sp44 = D_6011B40;
|
|
break;
|
|
case RCID_ROB64_RED:
|
|
D_80178744 = 1;
|
|
/* fallthrough */
|
|
case RCID_ROB64:
|
|
case RCID_ROB64_2:
|
|
sp44 = D_1009C80;
|
|
break;
|
|
case RCID_ROB64_RED_OPEN:
|
|
D_80178744 = 1;
|
|
/* fallthrough */
|
|
case RCID_ROB64_OPEN:
|
|
case RCID_ROB64_2_OPEN:
|
|
sp44 = D_100ABA0;
|
|
break;
|
|
case RCID_KATT:
|
|
sp44 = D_D003DF0;
|
|
break;
|
|
case RCID_KATT_OPEN:
|
|
sp44 = D_D004D10;
|
|
break;
|
|
case RCID_ANDROSS_RED:
|
|
case RCID_ANDROSS:
|
|
sp44 = D_D000170;
|
|
if ((gGameState == GSTATE_PLAY) && (gCurrentLevel == LEVEL_AREA_6)) {
|
|
sp44 = D_6000B60;
|
|
}
|
|
D_80178744 = 1;
|
|
break;
|
|
case RCID_ANDROSS_RED_OPEN:
|
|
case RCID_ANDROSS_OPEN:
|
|
sp44 = D_D001090;
|
|
if ((gGameState == GSTATE_PLAY) && (gCurrentLevel == LEVEL_AREA_6)) {
|
|
sp44 = D_6001A80;
|
|
}
|
|
D_80178744 = 1;
|
|
break;
|
|
case RCID_JAMES:
|
|
sp44 = D_D005C30;
|
|
break;
|
|
case RCID_JAMES_OPEN:
|
|
sp44 = D_D006B50;
|
|
break;
|
|
case RCID_BILL:
|
|
sp44 = D_D001FB0;
|
|
break;
|
|
case RCID_BILL_OPEN:
|
|
sp44 = D_D002ED0;
|
|
break;
|
|
case RCID_GEN_PEPPER:
|
|
sp44 = D_D007A70;
|
|
break;
|
|
case RCID_GEN_PEPPER_OPEN:
|
|
sp44 = D_D008990;
|
|
break;
|
|
case RCID_ROB64_TITLE:
|
|
sp44 = D_E00E100;
|
|
break;
|
|
case RCID_ROB64_TITLE_OPEN:
|
|
sp44 = D_E00F020;
|
|
break;
|
|
case RCID_GEN_PEPPER_TITLE:
|
|
sp44 = D_E00FF40;
|
|
break;
|
|
case RCID_GEN_PEPPER_TITLE_OPEN:
|
|
sp44 = D_E010E60;
|
|
break;
|
|
case RCID_TRAINING:
|
|
sp44 = D_6000900;
|
|
break;
|
|
case RCID_TRAINING_OPEN:
|
|
sp44 = D_6001820;
|
|
break;
|
|
case RCID_STATIC_FLIP:
|
|
mirror = true;
|
|
/* fallthrough */
|
|
case RCID_STATIC:
|
|
switch (gGameState) {
|
|
default:
|
|
sp44 = NULL;
|
|
break;
|
|
case GSTATE_PLAY:
|
|
sp44 = D_1008D60;
|
|
break;
|
|
case GSTATE_TITLE:
|
|
case GSTATE_CREDITS:
|
|
sp44 = D_600C6A0;
|
|
break;
|
|
}
|
|
if (((s32) D_80177D68 == RCID_ANDROSS) || ((s32) D_80177D68 == RCID_ANDROSS_RED)) {
|
|
D_80178744 = 1;
|
|
}
|
|
break;
|
|
}
|
|
if ((sp44 != NULL) && (D_80177D38 != 0.0f)) {
|
|
temp_fa0 = (2.0f * D_80177D38) + D_80178740;
|
|
if ((D_80178740 + 20.0f) <= temp_fa0) {
|
|
D_800D4A74 = 1.0f;
|
|
}
|
|
if (temp_fa0 <= D_80178740) {
|
|
D_800D4A74 = -1.0f;
|
|
}
|
|
sp38 = D_80177D38 * 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 += 880) {
|
|
TextureRect_16bRGBA_MirX(&gMasterDisp, &sp44[j], 44, 20, D_8017873C,
|
|
D_80178740 + 20.0f + sp38 + (i * 20.0f * D_80177D38), 1.0f, D_80177D38);
|
|
}
|
|
TextureRect_16bRGBA_MirX(&gMasterDisp, &sp44[2 * 880], 44, 4, D_8017873C,
|
|
D_80178740 + 20.0f + sp38 + (40.0f * D_80177D38), 1.0f, D_80177D38);
|
|
} else {
|
|
for (i = 0, j = 0; i < 2; i++, j += 880) {
|
|
TextureRect_16bRGBA(&gMasterDisp, &sp44[j], 44, 20, D_8017873C,
|
|
D_80178740 + 20.0f + sp38 + (i * 20.0f * D_80177D38), 1.0f, D_80177D38);
|
|
}
|
|
TextureRect_16bRGBA(&gMasterDisp, &sp44[2 * 880], 44, 4, D_8017873C,
|
|
D_80178740 + 20.0f + sp38 + (40.0f * D_80177D38), 1.0f, D_80177D38);
|
|
}
|
|
}
|
|
}
|
|
|
|
void func_800BB388(void) {
|
|
static f32 D_800D4A78 = -1.0f;
|
|
f32 temp_fa0;
|
|
u8* sp38;
|
|
u16* sp34;
|
|
f32 sp30;
|
|
|
|
if ((gGameState != GSTATE_MAP) && (D_80177D50 != 0.0f)) {
|
|
temp_fa0 = (D_80177D50 / 0.26f) * 3.0f;
|
|
if ((D_80178734 + 16.0f) <= temp_fa0 + D_80178734) {
|
|
D_800D4A78 = 1.0f;
|
|
}
|
|
if (temp_fa0 + D_80178734 <= D_80178734) {
|
|
D_800D4A78 = -1.0f;
|
|
}
|
|
sp30 = temp_fa0 * D_800D4A78;
|
|
RCP_SetupDL(&gMasterDisp, 0x55);
|
|
switch (gGameState) {
|
|
case GSTATE_TITLE:
|
|
case GSTATE_CREDITS:
|
|
sp38 = D_601D750;
|
|
sp34 = D_601DB50;
|
|
break;
|
|
case GSTATE_PLAY:
|
|
sp38 = D_1013170;
|
|
sp34 = D_1013570;
|
|
break;
|
|
}
|
|
if (D_80178744 == 1) {
|
|
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 25, 25, 170);
|
|
} else {
|
|
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 60, 60, 255, 170);
|
|
}
|
|
TextureRect_8bCI(&gMasterDisp, sp38, sp34, 0x20, 0x20, D_80178730, D_80178734 + 16.0f + sp30, D_80178738,
|
|
D_80177D50);
|
|
}
|
|
if (D_80177D50 == 1.3f) {
|
|
RCP_SetupDL(&gMasterDisp, 0x55);
|
|
D_801782F8 = Message_DisplayText(&gMasterDisp, D_80178308, D_80178728, D_8017872C, D_801782D8);
|
|
}
|
|
}
|
|
|
|
s32 D_8017874C;
|
|
|
|
void func_800BB5D0(void) {
|
|
s32 var_v1;
|
|
s32 temp_ft0;
|
|
u32 temp_v0;
|
|
s32 fakeTemp;
|
|
|
|
if ((D_80177854 == 100) && (gGameState != GSTATE_CREDITS)) {
|
|
return;
|
|
}
|
|
|
|
if (D_Timer_801782AC > 0) {
|
|
D_Timer_801782AC--;
|
|
}
|
|
|
|
if (D_Timer_801782B4 > 0) {
|
|
D_Timer_801782B4--;
|
|
}
|
|
|
|
switch (gRadioState) {
|
|
case 100:
|
|
D_80178748 = 1;
|
|
D_801782A4 = 1000;
|
|
gRadioState = 1;
|
|
D_801782D8 = 0;
|
|
D_80177D38 = 0.0f;
|
|
D_80177D50 = 0.0f;
|
|
D_8017874C = 0;
|
|
if (gCamCount != 1) {
|
|
gRadioState = 0;
|
|
}
|
|
break;
|
|
|
|
case 1:
|
|
D_80177D38 += 0.25f;
|
|
if (D_80177D38 == 1.0f) {
|
|
gRadioState++;
|
|
D_Timer_801782AC = 10;
|
|
}
|
|
D_801782A4 = 2;
|
|
if (gGameFrameCount & 1) {
|
|
D_801782A4 = 3;
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
if (D_Timer_801782AC == 0) {
|
|
gRadioState++;
|
|
D_Timer_801782AC = 10;
|
|
}
|
|
D_801782A4 = 2;
|
|
if (gGameFrameCount & 1) {
|
|
D_801782A4 = 3;
|
|
}
|
|
break;
|
|
|
|
case 3:
|
|
if (D_Timer_801782AC == 0) {
|
|
gRadioState++;
|
|
temp_v0 = Message_GetWidth(D_80178308);
|
|
if (D_80137E78 == 3) {
|
|
D_Timer_801782AC = temp_v0 + 16;
|
|
} else {
|
|
D_Timer_801782AC = (2 * temp_v0) + 16;
|
|
}
|
|
if ((gGameState == GSTATE_TITLE) || (gGameState == GSTATE_CREDITS)) {
|
|
D_Timer_801782AC = temp_v0 * 2;
|
|
}
|
|
}
|
|
D_801782A4 = (s32) D_80177D68;
|
|
D_80177D50 += 0.26f;
|
|
if (D_80177D50 > 1.3f) {
|
|
D_80177D50 = 1.3f;
|
|
}
|
|
break;
|
|
|
|
case 31:
|
|
gRadioState++;
|
|
D_Timer_801782AC = 80 - D_Timer_801782AC;
|
|
break;
|
|
|
|
case 32:
|
|
if (func_8001AE78() == 0) {
|
|
D_80178724++;
|
|
D_80178308 = D_80178720[D_80178724];
|
|
func_8001ACDC(Message_IdFromPtr(D_80178308));
|
|
D_801782D8 = 0;
|
|
D_8017874C = 0;
|
|
D_Timer_801782AC = 80;
|
|
D_Timer_801782AC = Message_GetWidth(D_80178308) * 2;
|
|
gRadioState = 4;
|
|
}
|
|
break;
|
|
|
|
case 4:
|
|
if ((func_8001AE78() == 0) && (D_Timer_801782AC == 0)) {
|
|
D_Timer_801782AC = 10;
|
|
D_801782A4 = (s32) D_80177D68;
|
|
gRadioState = 6;
|
|
}
|
|
D_801782A4 = (s32) D_80177D68;
|
|
if (D_Timer_801782B4 > 0) {
|
|
D_801782A4 = (s32) D_80177D68 + 1;
|
|
}
|
|
|
|
if (!D_80137E78) {}
|
|
|
|
if (1) {
|
|
fakeTemp = 0;
|
|
}
|
|
|
|
if (!(fakeTemp)) {
|
|
temp_v0 = func_8001AED4();
|
|
|
|
if (D_801782D8 < 60) {
|
|
if (D_80178308[D_801782D8 + 1] == 15) {
|
|
if (temp_v0 == 0) {
|
|
gRadioState = 31;
|
|
}
|
|
} else {
|
|
D_801782D8++;
|
|
}
|
|
}
|
|
|
|
if (D_8017874C != 0) {
|
|
if ((D_801782E8 >= 23000) && (D_801782E8 < 23033)) {
|
|
if (D_801782F8 != 0) {
|
|
D_Timer_801782B4 = 2;
|
|
Audio_PlaySfx(0x49000017, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
|
}
|
|
} else if (temp_v0 == 1) {
|
|
D_Timer_801782B4 = 2;
|
|
} else {
|
|
D_Timer_801782B4 = 0;
|
|
}
|
|
}
|
|
}
|
|
D_8017874C ^= 1;
|
|
break;
|
|
|
|
case 5:
|
|
if (D_Timer_801782AC == 0) {
|
|
gRadioState++;
|
|
D_Timer_801782AC = 10;
|
|
}
|
|
D_801782A4 = (s32) D_80177D68;
|
|
break;
|
|
|
|
case 6:
|
|
if (D_Timer_801782AC == 0) {
|
|
if (gGameState == GSTATE_CREDITS) {
|
|
func_8001AE58();
|
|
} else {
|
|
func_8001ACDC(0);
|
|
}
|
|
gRadioState++;
|
|
}
|
|
D_801782A4 = 2;
|
|
if (gGameFrameCount & 1) {
|
|
D_801782A4 = 3;
|
|
}
|
|
D_80177D50 -= 0.26f;
|
|
if (D_80177D50 < 0.0f) {
|
|
D_80177D50 = 0.0f;
|
|
}
|
|
break;
|
|
|
|
case 7:
|
|
D_80177D38 -= 0.25f;
|
|
if (D_80177D38 == 0) {
|
|
D_80178300 = 0;
|
|
gCurrentMsgPri = 0;
|
|
gRadioState = 0;
|
|
}
|
|
D_801782A4 = 2;
|
|
if (gGameFrameCount & 1) {
|
|
D_801782A4 = 3;
|
|
}
|
|
break;
|
|
|
|
case 8:
|
|
D_801782A4 = (s32) D_80177D68;
|
|
D_80177D50 = 1.3f;
|
|
D_80177D38 = 1.0f;
|
|
break;
|
|
|
|
case 0:
|
|
break;
|
|
}
|
|
|
|
if (((gRadioState > 0) && (gRadioState != 100)) && (D_80178300 == 0)) {
|
|
func_800BAAE8();
|
|
func_800BB388();
|
|
|
|
temp_ft0 = (s32) D_80177D68;
|
|
|
|
if (((temp_ft0 == RCID_FALCO) || (temp_ft0 == RCID_SLIPPY)) || (temp_ft0 == RCID_PEPPY)) {
|
|
if (temp_ft0 == RCID_FALCO) {
|
|
var_v1 = 1;
|
|
}
|
|
if (temp_ft0 == RCID_SLIPPY) {
|
|
var_v1 = 2;
|
|
}
|
|
if (temp_ft0 == RCID_PEPPY) {
|
|
var_v1 = 3;
|
|
}
|
|
if ((gTeamShields[var_v1] <= 0) && (gGameFrameCount & 4) && (gTeamShields[var_v1] != -2) &&
|
|
(D_801782A4 != 2) && (D_801782A4 != 3) && (D_801782A4 != 1000)) {
|
|
RCP_SetupDL(&gMasterDisp, 0x4C);
|
|
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 0, 255);
|
|
Graphics_DisplaySmallText(31, 167, 1.0f, 1.0f, "DOWN");
|
|
func_80084B94(1);
|
|
}
|
|
if (((D_801782A4 != 2) && (D_801782A4 != 3)) && (D_801782A4 != 1000)) {
|
|
func_80086110(22.0f, 165.0f, gTeamShields[var_v1]);
|
|
}
|
|
}
|
|
|
|
temp_ft0 = (s32) D_80177D68;
|
|
|
|
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) ||
|
|
(temp_ft0 == RCID_LEON_2) || (temp_ft0 == RCID_ANDREW_2)) {
|
|
switch (temp_ft0) {
|
|
case RCID_WOLF:
|
|
|
|
case RCID_WOLF_2:
|
|
var_v1 = 4;
|
|
break;
|
|
|
|
case RCID_LEON:
|
|
|
|
case RCID_LEON_2:
|
|
var_v1 = 5;
|
|
break;
|
|
|
|
case RCID_PIGMA:
|
|
|
|
case RCID_PIGMA_2:
|
|
var_v1 = 6;
|
|
break;
|
|
|
|
case RCID_ANDREW:
|
|
|
|
case RCID_ANDREW_2:
|
|
var_v1 = 7;
|
|
break;
|
|
|
|
default:
|
|
var_v1 = 0;
|
|
break;
|
|
}
|
|
|
|
if ((gActors[var_v1].obj.status != 2) && (gGameFrameCount & 4) &&
|
|
(gPlayer[0].state_1C8 == PLAYERSTATE_1C8_3) && (D_801782A4 != 2) && (D_801782A4 != 3) &&
|
|
(D_801782A4 != 1000)) {
|
|
RCP_SetupDL(&gMasterDisp, 0x4C);
|
|
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 0, 255);
|
|
Graphics_DisplaySmallText(31, 167, 1.0f, 1.0f, "DOWN");
|
|
}
|
|
if (((D_801782A4 != 2) && (D_801782A4 != 3)) && (D_801782A4 != 1000)) {
|
|
func_80086110(22.0f, 165.0f, gActors[var_v1].unk_0CE * 2.55f);
|
|
}
|
|
}
|
|
if (((D_801782A4 != 2) && (D_801782A4 != 3)) && (D_801782A4 != 1000)) {
|
|
func_8008AD94();
|
|
}
|
|
}
|
|
|
|
if (D_80178300 == 1) {
|
|
func_800BA760();
|
|
}
|
|
}
|
|
|
|
void func_800BC040(void) {
|
|
if (D_80177854 != 100) {
|
|
if (D_Timer_801782AC > 0) {
|
|
D_Timer_801782AC--;
|
|
}
|
|
if (D_Timer_801782B4 > 0) {
|
|
D_Timer_801782B4--;
|
|
}
|
|
|
|
switch (gRadioState) {
|
|
case 100:
|
|
D_801782A4 = 1000;
|
|
gRadioState = 1;
|
|
D_80177D38 = 0.0f;
|
|
D_80177D50 = 0.0f;
|
|
D_801782D8 = Message_GetWidth(D_80178308);
|
|
if (gCamCount != 1) {
|
|
gRadioState = 0;
|
|
}
|
|
break;
|
|
|
|
case 1:
|
|
D_80177D38 += 0.02f;
|
|
if (D_80177D38 == 0.04f) {
|
|
gRadioState++;
|
|
D_Timer_801782AC = 5;
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
if (D_Timer_801782AC == 0) {
|
|
gRadioState++;
|
|
D_Timer_801782AC = 5;
|
|
}
|
|
|
|
D_801782A4 = 2;
|
|
|
|
if (gGameFrameCount & 1) {
|
|
D_801782A4 = 3;
|
|
}
|
|
break;
|
|
|
|
case 3:
|
|
if (D_Timer_801782AC == 0) {
|
|
gRadioState++;
|
|
D_Timer_801782AC = 5;
|
|
|
|
if (gGameState == GSTATE_TITLE) {
|
|
D_Timer_801782AC = 30;
|
|
}
|
|
}
|
|
|
|
D_801782A4 = (s32) D_80177D68;
|
|
D_80177D50 += 0.015f;
|
|
|
|
if (D_80177D50 > 0.07f) {
|
|
D_80177D50 = 0.07f;
|
|
}
|
|
break;
|
|
|
|
case 4:
|
|
if (D_Timer_801782AC == 0) {
|
|
gRadioState++;
|
|
D_Timer_801782AC = 10;
|
|
}
|
|
break;
|
|
|
|
case 5:
|
|
if (D_Timer_801782AC == 0) {
|
|
gRadioState++;
|
|
D_Timer_801782AC = 5;
|
|
}
|
|
D_801782A4 = (s32) D_80177D68;
|
|
break;
|
|
|
|
case 6:
|
|
if (D_Timer_801782AC == 0) {
|
|
func_8001ACDC(0);
|
|
gRadioState++;
|
|
}
|
|
|
|
D_801782A4 = 2;
|
|
|
|
if (gGameFrameCount & 1) {
|
|
D_801782A4 = 3;
|
|
}
|
|
|
|
D_80177D50 -= 0.015f;
|
|
|
|
if (D_80177D50 < 0.0f) {
|
|
D_80177D50 = 0.0f;
|
|
}
|
|
break;
|
|
|
|
case 7:
|
|
D_80177D38 -= 0.02f;
|
|
if (D_80177D38 == 0) {
|
|
gRadioState = 0;
|
|
D_Timer_801782AC = 5;
|
|
}
|
|
D_801782A4 = 2;
|
|
if (gGameFrameCount & 1) {
|
|
D_801782A4 = 3;
|
|
}
|
|
break;
|
|
|
|
case 0:
|
|
break;
|
|
}
|
|
|
|
if ((gRadioState > 0) && (gRadioState != 100)) {
|
|
func_800BAAE8();
|
|
func_800BB388();
|
|
if (((s32) D_80177D68 == RCID_FALCO) || ((s32) D_80177D68 == RCID_SLIPPY) ||
|
|
((s32) D_80177D68 == RCID_PEPPY)) {
|
|
Matrix_Push(&gGfxMatrix);
|
|
RCP_SetupDL_36();
|
|
Matrix_Translate(gGfxMatrix, -150.0f, -115.0f, -443.0f, 1);
|
|
Matrix_Scale(gGfxMatrix, 0.068f, 0.068f, 1.0f, 1);
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
gPlayerNum = 0;
|
|
Matrix_Pop(&gGfxMatrix);
|
|
}
|
|
}
|
|
}
|
|
}
|