mirror of
https://github.com/HarbourMasters/Starship.git
synced 2025-02-13 21:45:17 +03:00
Move Radio Message changes to Hooks
This commit is contained in:
parent
9b9cf0ca5a
commit
2b9b387539
@ -18,6 +18,7 @@
|
|||||||
#include "assets/ast_area_6.h"
|
#include "assets/ast_area_6.h"
|
||||||
#include "assets/ast_title.h"
|
#include "assets/ast_title.h"
|
||||||
#include "assets/ast_zoness.h"
|
#include "assets/ast_zoness.h"
|
||||||
|
#include "port/hooks/Events.h"
|
||||||
|
|
||||||
u16** gRadioMsgList;
|
u16** gRadioMsgList;
|
||||||
s32 gRadioMsgListIndex;
|
s32 gRadioMsgListIndex;
|
||||||
@ -174,7 +175,7 @@ void func_radio_800BAAE8(void) {
|
|||||||
sRadioUseRedBox = false;
|
sRadioUseRedBox = false;
|
||||||
|
|
||||||
mirror = false;
|
mirror = false;
|
||||||
bool enemyRedRadio = CVarGetInteger("gEnemyRedRadio", 0);
|
CALL_EVENT(PreSetupRadioMsgEvent, &sRadioUseRedBox);
|
||||||
switch (gCurrentRadioPortrait) {
|
switch (gCurrentRadioPortrait) {
|
||||||
case RCID_FOX_RED:
|
case RCID_FOX_RED:
|
||||||
sRadioUseRedBox = true;
|
sRadioUseRedBox = true;
|
||||||
@ -232,139 +233,105 @@ void func_radio_800BAAE8(void) {
|
|||||||
break;
|
break;
|
||||||
case RCID_WOLF:
|
case RCID_WOLF:
|
||||||
radioPortraitTex = D_STAR_WOLF_F00B580;
|
radioPortraitTex = D_STAR_WOLF_F00B580;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_WOLF + 1:
|
case RCID_WOLF + 1:
|
||||||
radioPortraitTex = D_STAR_WOLF_F00C4A0;
|
radioPortraitTex = D_STAR_WOLF_F00C4A0;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_PIGMA:
|
case RCID_PIGMA:
|
||||||
radioPortraitTex = D_STAR_WOLF_F003C80;
|
radioPortraitTex = D_STAR_WOLF_F003C80;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_PIGMA + 1:
|
case RCID_PIGMA + 1:
|
||||||
radioPortraitTex = D_STAR_WOLF_F004BA0;
|
radioPortraitTex = D_STAR_WOLF_F004BA0;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_LEON:
|
case RCID_LEON:
|
||||||
radioPortraitTex = D_STAR_WOLF_F007900;
|
radioPortraitTex = D_STAR_WOLF_F007900;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_LEON + 1:
|
case RCID_LEON + 1:
|
||||||
radioPortraitTex = D_STAR_WOLF_F008820;
|
radioPortraitTex = D_STAR_WOLF_F008820;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_ANDREW:
|
case RCID_ANDREW:
|
||||||
radioPortraitTex = D_STAR_WOLF_F000000;
|
radioPortraitTex = D_STAR_WOLF_F000000;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_ANDREW + 1:
|
case RCID_ANDREW + 1:
|
||||||
radioPortraitTex = D_STAR_WOLF_F000F20;
|
radioPortraitTex = D_STAR_WOLF_F000F20;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_WOLF_2:
|
case RCID_WOLF_2:
|
||||||
radioPortraitTex = D_STAR_WOLF_F00D3C0;
|
radioPortraitTex = D_STAR_WOLF_F00D3C0;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_WOLF_2 + 1:
|
case RCID_WOLF_2 + 1:
|
||||||
radioPortraitTex = D_STAR_WOLF_F00E2E0;
|
radioPortraitTex = D_STAR_WOLF_F00E2E0;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_PIGMA_2:
|
case RCID_PIGMA_2:
|
||||||
radioPortraitTex = D_STAR_WOLF_F005AC0;
|
radioPortraitTex = D_STAR_WOLF_F005AC0;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_PIGMA_2 + 1:
|
case RCID_PIGMA_2 + 1:
|
||||||
radioPortraitTex = D_STAR_WOLF_F0069E0;
|
radioPortraitTex = D_STAR_WOLF_F0069E0;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_LEON_2:
|
case RCID_LEON_2:
|
||||||
radioPortraitTex = D_STAR_WOLF_F009740;
|
radioPortraitTex = D_STAR_WOLF_F009740;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_LEON_2 + 1:
|
case RCID_LEON_2 + 1:
|
||||||
radioPortraitTex = D_STAR_WOLF_F00A660;
|
radioPortraitTex = D_STAR_WOLF_F00A660;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_ANDREW_2:
|
case RCID_ANDREW_2:
|
||||||
radioPortraitTex = D_STAR_WOLF_F001E40;
|
radioPortraitTex = D_STAR_WOLF_F001E40;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_ANDREW_2 + 1:
|
case RCID_ANDREW_2 + 1:
|
||||||
radioPortraitTex = D_STAR_WOLF_F002D60;
|
radioPortraitTex = D_STAR_WOLF_F002D60;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_BOSS_CORNERIA:
|
case RCID_BOSS_CORNERIA:
|
||||||
radioPortraitTex = D_CO_6026420;
|
radioPortraitTex = D_CO_6026420;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_BOSS_CORNERIA + 1:
|
case RCID_BOSS_CORNERIA + 1:
|
||||||
radioPortraitTex = D_CO_6027340;
|
radioPortraitTex = D_CO_6027340;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_BOSS_CORNERIA2:
|
case RCID_BOSS_CORNERIA2:
|
||||||
radioPortraitTex = D_CO_60245E0;
|
radioPortraitTex = D_CO_60245E0;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_BOSS_CORNERIA2 + 1:
|
case RCID_BOSS_CORNERIA2 + 1:
|
||||||
radioPortraitTex = D_CO_6025500;
|
radioPortraitTex = D_CO_6025500;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_BOSS_METEO:
|
case RCID_BOSS_METEO:
|
||||||
radioPortraitTex = D_ME_601C8E0;
|
radioPortraitTex = D_ME_601C8E0;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_BOSS_METEO + 1:
|
case RCID_BOSS_METEO + 1:
|
||||||
radioPortraitTex = D_ME_601D800;
|
radioPortraitTex = D_ME_601D800;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_BOSS_AREA6:
|
case RCID_BOSS_AREA6:
|
||||||
radioPortraitTex = D_A6_60047E0;
|
radioPortraitTex = D_A6_60047E0;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_BOSS_AREA6 + 1:
|
case RCID_BOSS_AREA6 + 1:
|
||||||
radioPortraitTex = D_A6_6005700;
|
radioPortraitTex = D_A6_6005700;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_CAIMAN_AREA6:
|
case RCID_CAIMAN_AREA6:
|
||||||
radioPortraitTex = D_A6_60029A0;
|
radioPortraitTex = D_A6_60029A0;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_CAIMAN_AREA6 + 1:
|
case RCID_CAIMAN_AREA6 + 1:
|
||||||
radioPortraitTex = D_A6_60038C0;
|
radioPortraitTex = D_A6_60038C0;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_BOSS_ZONESS:
|
case RCID_BOSS_ZONESS:
|
||||||
radioPortraitTex = D_ZO_6014510;
|
radioPortraitTex = D_ZO_6014510;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_BOSS_ZONESS + 1:
|
case RCID_BOSS_ZONESS + 1:
|
||||||
radioPortraitTex = D_ZO_6015430;
|
radioPortraitTex = D_ZO_6015430;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_BOSS_SECTORX:
|
case RCID_BOSS_SECTORX:
|
||||||
radioPortraitTex = D_SX_6020FB0;
|
radioPortraitTex = D_SX_6020FB0;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_BOSS_SECTORX + 1:
|
case RCID_BOSS_SECTORX + 1:
|
||||||
radioPortraitTex = D_SX_6021ED0;
|
radioPortraitTex = D_SX_6021ED0;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_BOSS_SECTORY:
|
case RCID_BOSS_SECTORY:
|
||||||
radioPortraitTex = D_SY_6018F30;
|
radioPortraitTex = D_SY_6018F30;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_BOSS_SECTORY + 1:
|
case RCID_BOSS_SECTORY + 1:
|
||||||
radioPortraitTex = D_SY_6019E50;
|
radioPortraitTex = D_SY_6019E50;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_BOSS_MACBETH:
|
case RCID_BOSS_MACBETH:
|
||||||
radioPortraitTex = D_MA_6010C20;
|
radioPortraitTex = D_MA_6010C20;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_BOSS_MACBETH + 1:
|
case RCID_BOSS_MACBETH + 1:
|
||||||
radioPortraitTex = D_MA_6011B40;
|
radioPortraitTex = D_MA_6011B40;
|
||||||
sRadioUseRedBox = enemyRedRadio;
|
|
||||||
break;
|
break;
|
||||||
case RCID_ROB64_RED:
|
case RCID_ROB64_RED:
|
||||||
sRadioUseRedBox = true;
|
sRadioUseRedBox = true;
|
||||||
@ -457,20 +424,6 @@ void func_radio_800BAAE8(void) {
|
|||||||
if (((s32) gRadioMsgRadioId == RCID_ANDROSS) || ((s32) gRadioMsgRadioId == RCID_ANDROSS_RED)) {
|
if (((s32) gRadioMsgRadioId == RCID_ANDROSS) || ((s32) gRadioMsgRadioId == RCID_ANDROSS_RED)) {
|
||||||
sRadioUseRedBox = true;
|
sRadioUseRedBox = true;
|
||||||
}
|
}
|
||||||
if (enemyRedRadio)
|
|
||||||
{ //This ensures the box stays red when the message is closing and already showing static in the portrait.
|
|
||||||
if (gRadioMsgRadioId == RCID_BOSS_CORNERIA || gRadioMsgRadioId == RCID_BOSS_CORNERIA2 ||
|
|
||||||
gRadioMsgRadioId == RCID_BOSS_METEO || gRadioMsgRadioId == RCID_BOSS_SECTORX ||
|
|
||||||
gRadioMsgRadioId == RCID_BOSS_SECTORY || gRadioMsgRadioId == RCID_BOSS_MACBETH ||
|
|
||||||
gRadioMsgRadioId == RCID_BOSS_ZONESS || gRadioMsgRadioId == RCID_BOSS_AREA6 ||
|
|
||||||
gRadioMsgRadioId == RCID_CAIMAN_AREA6 || gRadioMsgRadioId == RCID_WOLF ||
|
|
||||||
gRadioMsgRadioId == RCID_PIGMA || gRadioMsgRadioId == RCID_LEON ||
|
|
||||||
gRadioMsgRadioId == RCID_ANDREW || gRadioMsgRadioId == RCID_WOLF_2 ||
|
|
||||||
gRadioMsgRadioId == RCID_PIGMA_2 || gRadioMsgRadioId == RCID_LEON_2 ||
|
|
||||||
gRadioMsgRadioId == RCID_ANDREW_2) {
|
|
||||||
sRadioUseRedBox = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if ((radioPortraitTex != NULL) && (gRadioPortraitScaleY != 0.0f)) {
|
if ((radioPortraitTex != NULL) && (gRadioPortraitScaleY != 0.0f)) {
|
||||||
|
@ -18,6 +18,7 @@ DEFINE_EVENT(DrawRadarHUDEvent);
|
|||||||
DEFINE_EVENT(DrawBoostGaugeHUDEvent);
|
DEFINE_EVENT(DrawBoostGaugeHUDEvent);
|
||||||
DEFINE_EVENT(DrawBombCounterHUDEvent);
|
DEFINE_EVENT(DrawBombCounterHUDEvent);
|
||||||
DEFINE_EVENT(DrawIncomingMsgHUDEvent);
|
DEFINE_EVENT(DrawIncomingMsgHUDEvent);
|
||||||
|
DEFINE_EVENT(PreSetupRadioMsgEvent, s32* radioRedBox);
|
||||||
DEFINE_EVENT(DrawGoldRingsHUDEvent);
|
DEFINE_EVENT(DrawGoldRingsHUDEvent);
|
||||||
DEFINE_EVENT(DrawLivesCounterHUDEvent);
|
DEFINE_EVENT(DrawLivesCounterHUDEvent);
|
||||||
DEFINE_EVENT(DrawTrainingRingPassCountHUDEvent);
|
DEFINE_EVENT(DrawTrainingRingPassCountHUDEvent);
|
||||||
|
@ -299,6 +299,25 @@ void OnBombCounterDraw(IEvent* ev){
|
|||||||
HUD_BombCounter_Draw(253.0f, 18.0f);
|
HUD_BombCounter_Draw(253.0f, 18.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OnPreSetupRadioMsgEvent(PreSetupRadioMsgEvent* ev){
|
||||||
|
bool enemyRedRadio = CVarGetInteger("gEnemyRedRadio", 0);
|
||||||
|
if (!enemyRedRadio)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (gRadioMsgRadioId == RCID_BOSS_CORNERIA || gRadioMsgRadioId == RCID_BOSS_CORNERIA2 ||
|
||||||
|
gRadioMsgRadioId == RCID_BOSS_METEO || gRadioMsgRadioId == RCID_BOSS_SECTORX ||
|
||||||
|
gRadioMsgRadioId == RCID_BOSS_SECTORY || gRadioMsgRadioId == RCID_BOSS_MACBETH ||
|
||||||
|
gRadioMsgRadioId == RCID_BOSS_ZONESS || gRadioMsgRadioId == RCID_BOSS_AREA6 ||
|
||||||
|
gRadioMsgRadioId == RCID_CAIMAN_AREA6 || gRadioMsgRadioId == RCID_WOLF ||
|
||||||
|
gRadioMsgRadioId == RCID_PIGMA || gRadioMsgRadioId == RCID_LEON ||
|
||||||
|
gRadioMsgRadioId == RCID_ANDREW || gRadioMsgRadioId == RCID_WOLF_2 ||
|
||||||
|
gRadioMsgRadioId == RCID_PIGMA_2 || gRadioMsgRadioId == RCID_LEON_2 ||
|
||||||
|
gRadioMsgRadioId == RCID_ANDREW_2) {
|
||||||
|
*ev->radioRedBox = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void OnLivesCounterDraw(IEvent* ev){
|
void OnLivesCounterDraw(IEvent* ev){
|
||||||
bool restore = CVarGetInteger("gRestoreBetaBoostGauge", 0) == 1;
|
bool restore = CVarGetInteger("gRestoreBetaBoostGauge", 0) == 1;
|
||||||
if(!restore){
|
if(!restore){
|
||||||
@ -327,6 +346,7 @@ void PortEnhancements_Init() {
|
|||||||
REGISTER_LISTENER(DrawBoostGaugeHUDEvent, OnBoostGaugeDraw, EVENT_PRIORITY_NORMAL);
|
REGISTER_LISTENER(DrawBoostGaugeHUDEvent, OnBoostGaugeDraw, EVENT_PRIORITY_NORMAL);
|
||||||
REGISTER_LISTENER(DrawLivesCounterHUDEvent, OnLivesCounterDraw, EVENT_PRIORITY_NORMAL);
|
REGISTER_LISTENER(DrawLivesCounterHUDEvent, OnLivesCounterDraw, EVENT_PRIORITY_NORMAL);
|
||||||
REGISTER_LISTENER(DrawBombCounterHUDEvent, OnBombCounterDraw, EVENT_PRIORITY_NORMAL);
|
REGISTER_LISTENER(DrawBombCounterHUDEvent, OnBombCounterDraw, EVENT_PRIORITY_NORMAL);
|
||||||
|
REGISTER_LISTENER(PreSetupRadioMsgEvent, OnPreSetupRadioMsgEvent, EVENT_PRIORITY_NORMAL);
|
||||||
|
|
||||||
REGISTER_LISTENER(ObjectUpdateEvent, OnItemGoldRingUpdate, EVENT_PRIORITY_NORMAL);
|
REGISTER_LISTENER(ObjectUpdateEvent, OnItemGoldRingUpdate, EVENT_PRIORITY_NORMAL);
|
||||||
REGISTER_LISTENER(ObjectDrawPostSetupEvent, OnItemGoldRingDraw, EVENT_PRIORITY_NORMAL);
|
REGISTER_LISTENER(ObjectDrawPostSetupEvent, OnItemGoldRingDraw, EVENT_PRIORITY_NORMAL);
|
||||||
@ -358,6 +378,7 @@ void PortEnhancements_Register() {
|
|||||||
REGISTER_EVENT(DrawBoostGaugeHUDEvent);
|
REGISTER_EVENT(DrawBoostGaugeHUDEvent);
|
||||||
REGISTER_EVENT(DrawBombCounterHUDEvent);
|
REGISTER_EVENT(DrawBombCounterHUDEvent);
|
||||||
REGISTER_EVENT(DrawIncomingMsgHUDEvent);
|
REGISTER_EVENT(DrawIncomingMsgHUDEvent);
|
||||||
|
REGISTER_EVENT(PreSetupRadioMsgEvent);
|
||||||
REGISTER_EVENT(DrawGoldRingsHUDEvent);
|
REGISTER_EVENT(DrawGoldRingsHUDEvent);
|
||||||
REGISTER_EVENT(DrawLivesCounterHUDEvent);
|
REGISTER_EVENT(DrawLivesCounterHUDEvent);
|
||||||
REGISTER_EVENT(DrawTrainingRingPassCountHUDEvent);
|
REGISTER_EVENT(DrawTrainingRingPassCountHUDEvent);
|
||||||
|
Loading…
Reference in New Issue
Block a user