Moved port cvars out of display update

This commit is contained in:
KiritoDv
2024-12-27 17:46:16 -06:00
committed by Lywx
parent 745af556ca
commit e4d4388179
8 changed files with 195 additions and 166 deletions
-5
View File
@@ -5,7 +5,6 @@
#include "assets/ast_great_fox.h"
#include "assets/ast_versus.h"
#include "port/interpolation/FrameInterpolation.h"
#include "port/hooks/Events.h"
Vec3f sShotViewPos;
@@ -663,10 +662,6 @@ void PlayerShot_ApplyDamageToActor(PlayerShot* shot, Actor* actor, s32 hitIndex)
Vec3f sp44 = { 0.0f, 0.0f, -100.0f };
Vec3f sp38;
PlayerShotEvent* event = malloc(sizeof(PlayerShotEvent));
EventSystem_CallEvent(EVENT_PLAYER_SHOT, event);
free(event);
actor->dmgType = DMG_BEAM;
actor->dmgPart = hitIndex - 1;
actor->timer_0C2 = 2;
+13 -137
View File
@@ -1,3 +1,4 @@
#include <stdlib.h>
#include "global.h"
#include "mods/hit64.c"
#include "assets/ast_arwing.h"
@@ -6,6 +7,7 @@
#include "assets/ast_versus.h"
#include "assets/ast_sector_z.h"
#include "port/interpolation/FrameInterpolation.h"
#include "port/hooks/list/EngineEvent.h"
// f32 path1 = 0.0f;
// f32 path2 = 0.0f;
@@ -1780,6 +1782,10 @@ void Display_Update(void) {
}
#endif
// @port: @event: Start DISPLAY_UPDATE_EVENT_PRE
IEvent* event = malloc(sizeof(IEvent));
EventSystem_CallEvent(DISPLAY_UPDATE_EVENT_PRE, event);
Matrix_Push(&gGfxMatrix);
if ((gCurrentLevel == LEVEL_AQUAS) && (gPlayer[0].state == PLAYERSTATE_ACTIVE)) {
Math_SmoothStepToF(&gCamDistortion, 0.01f, 0.2f, 0.002f, 0.0f);
@@ -2011,143 +2017,13 @@ void Display_Update(void) {
sPlayersVisible[gPlayerNum] = false;
Matrix_Pop(&gGfxMatrix);
#if DEBUG_BOSS_KILLER == 1
KillBoss();
#endif
// @port: @event: End DISPLAY_UPDATE_EVENT_PRE
free(event);
if (CVarGetInteger("gDebugSpeedControl", 0) == 1) {
Player* player = gPlayer;
static s32 prevSpeed;
static bool debugFreeze = false;
// @port: @event: Start DISPLAY_UPDATE_EVENT_POST
event = malloc(sizeof(IEvent));
EventSystem_CallEvent(DISPLAY_UPDATE_EVENT_POST, event);
if (gControllerPress[0].button & L_JPAD) {
player->baseSpeed -= 50;
} else if (gControllerPress[0].button & R_JPAD) {
player->baseSpeed += 50;
}
if ((!debugFreeze) && (gControllerPress[0].button & D_JPAD)) {
prevSpeed = player->baseSpeed;
player->baseSpeed = 0;
debugFreeze = true;
} else if ((debugFreeze) && (gControllerPress[0].button & D_JPAD)) {
player->baseSpeed = prevSpeed;
debugFreeze = false;
}
}
if (CVarGetInteger("gDebugJumpToMap", 0) == 1) {
Player* pl = &gPlayer[0];
if ((gGameState != GSTATE_PLAY) || (gPlayState <= PLAY_INIT)) {
return;
}
if ((gControllerHold[0].button & Z_TRIG) && (gControllerHold[0].button & R_TRIG) &&
(gControllerPress[0].button & U_CBUTTONS)) {
gFillScreenAlphaTarget = 255;
gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 0;
gFillScreenAlphaStep = 8;
gShowLevelClearStatusScreen = false;
pl->state = PLAYERSTATE_NEXT;
pl->csTimer = 0;
gFadeoutType = 4;
}
}
if (CVarGetInteger("gDebugWarpZone", 0) == 1) {
if ((gGameState != GSTATE_PLAY) || (gPlayState <= PLAY_INIT)) {
return;
}
if (gControllerPress[0].button & L_TRIG) {
if ((gCurrentLevel != LEVEL_SECTOR_X) && (gCurrentLevel != LEVEL_METEO)) {
return;
}
if (gCurrentLevel == LEVEL_SECTOR_X) {
gRingPassCount++;
gPlayer[0].state = PLAYERSTATE_ENTER_WARP_ZONE;
gPlayer[0].csState = 0;
gSceneSetup = 1;
AUDIO_PLAY_SFX(NA_SE_WARP_HOLE, gDefaultSfxSource, 0);
gMissionStatus = MISSION_WARP;
gLeveLClearStatus[gCurrentLevel] = 1;
} else {
gPlayer[0].state = PLAYERSTATE_ENTER_WARP_ZONE;
gPlayer[0].csState = 0;
AUDIO_PLAY_SFX(NA_SE_WARP_HOLE, gDefaultSfxSource, 0);
gMissionStatus = MISSION_WARP;
gLeveLClearStatus[gCurrentLevel] = 1;
}
}
}
if (CVarGetInteger("gDebugNoCollision", 0) == 1) {
if ((gGameState != GSTATE_PLAY) || (gPlayState <= PLAY_INIT)) {
return;
}
gPlayer->mercyTimer = 1000;
}
if (CVarGetInteger("gDebugLevelComplete", 0) == 1) {
Player* pl = &gPlayer[0];
if ((gGameState != GSTATE_PLAY) || (gPlayState <= PLAY_INIT)) {
return;
}
if (gControllerPress[0].button & L_TRIG) {
pl->state = PLAYERSTATE_LEVEL_COMPLETE;
gMissionStatus = MISSION_ACCOMPLISHED;
}
}
if (CVarGetInteger("gDebugJumpToAllRange", 0) == 1) {
Player* pl2 = &gPlayer[0];
if ((gLevelMode != LEVELMODE_ALL_RANGE) && (gControllerPress[0].button & L_TRIG)) {
pl2->state = PLAYERSTATE_START_360;
}
}
// Cheats start here
if (CVarGetInteger("gInfiniteLives", 0) == 1) {
if ((gGameState != GSTATE_PLAY) || (gPlayState <= PLAY_INIT)) {
return;
}
gLifeCount[0] = 9;
}
if (CVarGetInteger("gInfiniteBombs", 0) == 1) {
if ((gGameState != GSTATE_PLAY) || (gPlayState <= PLAY_INIT)) {
return;
}
gBombCount[0] = 9;
}
if (CVarGetInteger("gHyperLaser", 0) == 1) {
if ((gGameState != GSTATE_PLAY) || (gPlayState <= PLAY_INIT)) {
return;
}
gLaserStrength[0] = 2;
}
if (CVarGetInteger("gScoreEditor", 0) == 1) {
if ((gGameState != GSTATE_PLAY) || (gPlayState <= PLAY_INIT)) {
return;
}
gHitCount = CVarGetInteger("gScoreEditValue", 1);
}
Hit64_Main();
// ground testing
#if 0
RCP_SetupDL(&gMasterDisp, SETUPDL_83);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
Graphics_DisplaySmallText(10, 210, 1.0f, 1.0f, "STICK_X:");
Graphics_DisplaySmallNumber(60, 210, (int) ABS(gInputPress->stick_x));
Graphics_DisplaySmallText(10, 220, 1.0f, 1.0f, "STICK_Y:");
Graphics_DisplaySmallNumber(60, 220, (int) ABS(gInputPress->stick_y));
if (gInputPress->stick_x < 0) Graphics_DisplaySmallText(110, 210, 1.0f, 1.0f, "NEG:");
if (gInputPress->stick_y < 0) Graphics_DisplaySmallText(110, 220, 1.0f, 1.0f, "NEG:");
#endif
// @port: @event: End DISPLAY_UPDATE_EVENT_PRE
free(event);
}