This commit is contained in:
SonicDcer
2025-05-25 22:25:19 -03:00
parent 9c87f7092f
commit adc650af4b
8 changed files with 241 additions and 215 deletions
+183 -161
View File
File diff suppressed because it is too large Load Diff
+5 -5
View File
@@ -654,9 +654,9 @@ bool PlayerShot_CheckPolyCollision(PlayerShot* shot, ObjectId objId, Object* obj
}
return false;
}
#ifdef AVOID_UB
return false;
#endif
#ifdef AVOID_UB
return false;
#endif
}
void PlayerShot_ApplyDamageToActor(PlayerShot* shot, Actor* actor, s32 hitIndex) {
@@ -1769,10 +1769,10 @@ void PlayerShot_SearchLockOnTarget(PlayerShot* shot) {
!(gControllerHold[shot->sourceId].button & A_BUTTON) || (shot->timer == 0)) {
Object_Kill(&shot->obj, shot->sfxSource);
}
} else {
} else {
bool rapidFire = CVarGetInteger("gRapidFire", 0) == 1;
if ((shot->obj.pos.y < gGroundHeight) || PlayerShot_FindLockTarget(shot) ||
(!(gControllerHold[gMainController].button & A_BUTTON)^rapidFire) || (shot->timer == 0)) {
(!(gControllerHold[gMainController].button & A_BUTTON) ^ rapidFire) || (shot->timer == 0)) {
Object_Kill(&shot->obj, shot->sfxSource);
}
}
+24 -24
View File
@@ -951,11 +951,11 @@ void ItemMeteoWarp_Draw(ItemMeteoWarp* this) {
}
void Object_SetMatrix(Object* obj, s32 drawType) {
bool isBanned = (obj->id >= OBJ_SCENERY_CO_BUILDING_5 &&
obj->id <= OBJ_SCENERY_CO_BUILDING_8 || obj->id == OBJ_SCENERY_CO_BUILDING_10);
bool isBanned = (obj->id >= OBJ_SCENERY_CO_BUILDING_5 && obj->id <= OBJ_SCENERY_CO_BUILDING_8 ||
obj->id == OBJ_SCENERY_CO_BUILDING_10);
bool skipRot = false;
if(isBanned){
if (isBanned) {
f32 prevRot = obj->rot.y;
if (gPlayer[0].cam.eye.x < obj->pos.x) {
obj->rot.y = 271.0f;
@@ -973,7 +973,7 @@ void Object_SetMatrix(Object* obj, s32 drawType) {
Matrix_Mult(gGfxMatrix, gCalcMatrix, MTXF_APPLY);
Matrix_Copy(&D_edisplay_801615F0, gGfxMatrix);
Matrix_Pop(&gGfxMatrix);
if(isBanned && skipRot){
if (isBanned && skipRot) {
FrameInterpolation_ShouldInterpolateFrame(false);
}
Matrix_RotateY(gCalcMatrix, obj->rot.y * M_DTOR, MTXF_APPLY);
@@ -982,7 +982,7 @@ void Object_SetMatrix(Object* obj, s32 drawType) {
} else {
Matrix_Translate(gGfxMatrix, obj->pos.x, obj->pos.y, obj->pos.z + gPathProgress, MTXF_APPLY);
Matrix_Copy(&D_edisplay_801615F0, gGfxMatrix);
if(isBanned && skipRot){
if (isBanned && skipRot) {
FrameInterpolation_ShouldInterpolateFrame(false);
}
Matrix_RotateY(gGfxMatrix, obj->rot.y * M_DTOR, MTXF_APPLY);
@@ -991,7 +991,7 @@ void Object_SetMatrix(Object* obj, s32 drawType) {
Matrix_SetGfxMtx(&gMasterDisp);
}
if(isBanned && skipRot){
if (isBanned && skipRot) {
FrameInterpolation_ShouldInterpolateFrame(true);
}
}
@@ -1060,7 +1060,7 @@ void Scenery_Draw(Scenery* this, s32 cullDirection) {
Object_ApplyWaterDistortion();
}
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_SCENERY, this){
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_SCENERY, this) {
gSPDisplayList(gMasterDisp++, this->info.dList);
}
@@ -1079,7 +1079,7 @@ void Scenery_Draw(Scenery* this, s32 cullDirection) {
Object_ApplyWaterDistortion();
}
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_SCENERY, this){
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_SCENERY, this) {
gSPDisplayList(gMasterDisp++, this->info.dList);
}
@@ -1089,7 +1089,7 @@ void Scenery_Draw(Scenery* this, s32 cullDirection) {
}
} else if (this->info.draw != NULL) {
Object_SetCullDirection(cullDirection);
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_SCENERY, this){
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_SCENERY, this) {
this->info.draw(&this->obj);
}
}
@@ -1102,7 +1102,7 @@ void Sprite_Draw(Sprite* this, s32 arg1) {
Object_SetMatrix(&this->obj, 0);
this->obj.pos.y -= gCameraShakeY;
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_SPRITE, this){
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_SPRITE, this) {
if (this->info.drawType == 0) {
gSPDisplayList(gMasterDisp++, this->info.dList);
} else if (this->info.draw != NULL) {
@@ -1142,12 +1142,12 @@ void Actor_DrawOnRails(Actor* this) {
}
if (this->info.drawType == 0) {
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_ACTOR, this){
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_ACTOR, this) {
gSPDisplayList(gMasterDisp++, this->info.dList);
}
Object_UpdateSfxSource(this->sfxSource);
} else {
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_ACTOR, this){
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_ACTOR, this) {
this->info.draw(&this->obj);
}
Object_UpdateSfxSource(this->sfxSource);
@@ -1205,7 +1205,7 @@ void Actor_DrawAllRange(Actor* this) {
Matrix_RotateY(gCalcMatrix, this->obj.rot.y * M_DTOR, MTXF_APPLY);
Matrix_RotateX(gCalcMatrix, this->obj.rot.x * M_DTOR, MTXF_APPLY);
Matrix_RotateZ(gCalcMatrix, this->obj.rot.z * M_DTOR, MTXF_APPLY);
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_ACTOR, this){
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_ACTOR, this) {
this->info.draw(&this->obj);
}
sDrewActor = true;
@@ -1245,7 +1245,7 @@ void Actor_DrawAllRange(Actor* this) {
Matrix_RotateX(gGfxMatrix, this->obj.rot.x * M_DTOR, MTXF_APPLY);
Matrix_RotateZ(gGfxMatrix, this->obj.rot.z * M_DTOR, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_ACTOR, this){
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_ACTOR, this) {
this->info.draw(&this->obj);
}
sDrewActor = true;
@@ -1325,7 +1325,8 @@ void Boss_Draw(Boss* this, s32 arg1) {
sp3C = -1.0f;
// @port draw no matter what
if ((gCurrentLevel != LEVEL_KATINA) && (gCurrentLevel != LEVEL_SECTOR_Y)) { // Excepting Katina because of KaSaucerer's bug
if ((gCurrentLevel != LEVEL_KATINA) &&
(gCurrentLevel != LEVEL_SECTOR_Y)) { // Excepting Katina because of KaSaucerer's bug
goto render;
}
@@ -1344,7 +1345,7 @@ void Boss_Draw(Boss* this, s32 arg1) {
if (arg1 < 0) {
Object_ApplyWaterDistortion();
}
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_BOSS, this){
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_BOSS, this) {
this->info.draw(&this->obj);
}
}
@@ -1357,7 +1358,7 @@ void Boss_Draw(Boss* this, s32 arg1) {
this->vwork[30] = D_edisplay_801615D0;
Display_SetSecondLight(&this->obj.pos);
Matrix_SetGfxMtx(&gMasterDisp);
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_BOSS, this){
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_BOSS, this) {
this->info.draw(&this->obj);
}
}
@@ -1380,7 +1381,7 @@ void Effect_DrawOnRails(Effect* this, s32 arg1) {
Object_SetMatrix(&this->obj, 0);
}
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_EFFECT, this){
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_EFFECT, this) {
if (this->info.draw != NULL) {
this->info.draw(&this->obj);
}
@@ -1418,7 +1419,7 @@ void Effect_DrawAllRange(Effect* this) {
Matrix_RotateX(gGfxMatrix, this->obj.rot.x * M_DTOR, MTXF_APPLY);
Matrix_RotateZ(gGfxMatrix, this->obj.rot.z * M_DTOR, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_EFFECT, this){
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_EFFECT, this) {
this->info.draw(&this->obj);
}
}
@@ -1455,7 +1456,7 @@ void Item_Draw(Item* this, s32 arg1) {
Matrix_RotateX(gGfxMatrix, this->obj.rot.x * M_DTOR, MTXF_APPLY);
Matrix_RotateZ(gGfxMatrix, this->obj.rot.z * M_DTOR, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_ITEM, this){
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_ITEM, this) {
if (this->info.drawType == 0) {
gSPDisplayList(gMasterDisp++, this->info.dList);
} else {
@@ -1679,17 +1680,16 @@ check:
Matrix_RotateY(gGfxMatrix, M_PI / 2, MTXF_APPLY);
Matrix_Translate(gGfxMatrix, -551.0f, 0.0f, 0.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_SCENERY360, this){
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_SCENERY360, this) {
gSPDisplayList(gMasterDisp++, D_VE2_6007650);
}
} else {
Matrix_RotateY(gGfxMatrix, this->obj.rot.y * M_DTOR, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_SCENERY360, this){
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_SCENERY360, this) {
gSPDisplayList(gMasterDisp++, this->info.dList);
}
}
}
}
}
@@ -1927,7 +1927,7 @@ void Object_DrawAll(s32 cullDirection) {
}
break;
}
FrameInterpolation_RecordCloseChild();
FrameInterpolation_RecordCloseChild();
}
}
+2 -1
View File
@@ -2814,7 +2814,8 @@ void Actor_Update(Actor* this) {
}
} else if (this->lockOnTimers[TEAM_ID_FOX] != 0) {
bool rapidFire = CVarGetInteger("gRapidFire", 0) == 1;
if (!(gControllerHold[gMainController].button & A_BUTTON) || (rapidFire && (gControllerHold[gMainController].button & A_BUTTON))) {
if (!(gControllerHold[gMainController].button & A_BUTTON) ||
(rapidFire && (gControllerHold[gMainController].button & A_BUTTON))) {
this->lockOnTimers[TEAM_ID_FOX]--;
}
gChargeTimers[0] = 0;
+2 -2
View File
@@ -3933,7 +3933,7 @@ void ActorEvent_Draw(ActorEvent* this) {
gDPSetTextureFilter(gMasterDisp++, G_TF_POINT);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, (s32) this->fwork[15], (s32) this->fwork[16],
(s32) this->fwork[17], 255);
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_ACTOR_EVENT, this){
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_ACTOR_EVENT, this) {
gSPDisplayList(gMasterDisp++, sEventActorInfo[this->eventType].dList);
}
gDPSetTextureFilter(gMasterDisp++, G_TF_BILERP);
@@ -3941,7 +3941,7 @@ void ActorEvent_Draw(ActorEvent* this) {
}
default: {
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_ACTOR_EVENT, this){
CALL_CANCELLABLE_EVENT(ObjectDrawPostSetupEvent, OBJECT_TYPE_ACTOR_EVENT, this) {
if ((this->eventType < EVID_200) && (sEventActorInfo[this->eventType].dList != NULL)) {
gSPDisplayList(gMasterDisp++, sEventActorInfo[this->eventType].dList);
}
+8 -4
View File
@@ -1,13 +1,17 @@
#include "global.h"
void Wipe_Horizontal(s32 frame) {
Graphics_FillRectangle(&gMasterDisp, OTRGetRectDimensionFromLeftEdge(0), 0, OTRGetRectDimensionFromRightEdge(frame), SCREEN_HEIGHT, 0, 0, 0, 255);
Graphics_FillRectangle(&gMasterDisp, OTRGetRectDimensionFromLeftEdge(SCREEN_WIDTH - frame), 0, OTRGetRectDimensionFromRightEdge(SCREEN_WIDTH), SCREEN_HEIGHT, 0, 0, 0, 255);
Graphics_FillRectangle(&gMasterDisp, OTRGetRectDimensionFromLeftEdge(0), 0, OTRGetRectDimensionFromRightEdge(frame),
SCREEN_HEIGHT, 0, 0, 0, 255);
Graphics_FillRectangle(&gMasterDisp, OTRGetRectDimensionFromLeftEdge(SCREEN_WIDTH - frame), 0,
OTRGetRectDimensionFromRightEdge(SCREEN_WIDTH), SCREEN_HEIGHT, 0, 0, 0, 255);
}
void Wipe_Vertical(s32 frame) {
Graphics_FillRectangle(&gMasterDisp, OTRGetRectDimensionFromLeftEdge(0), 0, OTRGetRectDimensionFromRightEdge(SCREEN_WIDTH), frame, 0, 0, 0, 255);
Graphics_FillRectangle(&gMasterDisp, OTRGetRectDimensionFromLeftEdge(0), SCREEN_HEIGHT - frame, OTRGetRectDimensionFromRightEdge(SCREEN_WIDTH), SCREEN_HEIGHT, 0, 0, 0, 255);
Graphics_FillRectangle(&gMasterDisp, OTRGetRectDimensionFromLeftEdge(0), 0,
OTRGetRectDimensionFromRightEdge(SCREEN_WIDTH), frame, 0, 0, 0, 255);
Graphics_FillRectangle(&gMasterDisp, OTRGetRectDimensionFromLeftEdge(0), SCREEN_HEIGHT - frame,
OTRGetRectDimensionFromRightEdge(SCREEN_WIDTH), SCREEN_HEIGHT, 0, 0, 0, 255);
}
void Wipe_Circular(s32 frame) {
+5 -5
View File
@@ -569,11 +569,11 @@ void Game_Update(void) {
Radio_Draw();
if (gShowHud) {
HUD_Draw();
CALL_CANCELLABLE_EVENT(DrawEdgeArrowsHUDEvent){
CALL_CANCELLABLE_EVENT(DrawEdgeArrowsHUDEvent) {
HUD_EdgeArrows_Update();
}
}
CALL_CANCELLABLE_EVENT(DrawBossHealthHUDEvent){
CALL_CANCELLABLE_EVENT(DrawBossHealthHUDEvent) {
HUD_DrawBossHealth();
}
}
@@ -605,15 +605,15 @@ void Game_Update(void) {
if (!partialFill) {
Graphics_FillRectangle(&gMasterDisp, OTRGetRectDimensionFromLeftEdge(0), 0,
OTRGetRectDimensionFromRightEdge(SCREEN_WIDTH), SCREEN_HEIGHT,
gFillScreenRed, gFillScreenGreen, gFillScreenBlue, gFillScreenAlpha);
OTRGetRectDimensionFromRightEdge(SCREEN_WIDTH), SCREEN_HEIGHT, gFillScreenRed,
gFillScreenGreen, gFillScreenBlue, gFillScreenAlpha);
}
Audio_dummy_80016A50();
// @port: @event: Call GamePostUpdateEvent
CALL_EVENT(GamePostUpdateEvent);
gLastPathTexScroll = gPathTexScroll;
gLastPathTexScroll = gPathTexScroll;
}
}
+12 -13
View File
@@ -1500,7 +1500,7 @@ void HUD_PauseScreen_Update(void) {
case 3:
Graphics_FillRectangle(&gMasterDisp, OTRGetRectDimensionFromLeftEdge(0), 0,
OTRGetDimensionFromRightEdge(SCREEN_WIDTH)+1, SCREEN_HEIGHT, 0, 0, 0, 255);
OTRGetDimensionFromRightEdge(SCREEN_WIDTH) + 1, SCREEN_HEIGHT, 0, 0, 0, 255);
gFillScreenAlphaTarget = 0;
@@ -1550,7 +1550,7 @@ void HUD_PauseScreen_Update(void) {
case 4:
Graphics_FillRectangle(&gMasterDisp, OTRGetRectDimensionFromLeftEdge(0), 0,
OTRGetDimensionFromRightEdge(SCREEN_WIDTH)+1, SCREEN_HEIGHT, 0, 0, 0, 255);
OTRGetDimensionFromRightEdge(SCREEN_WIDTH) + 1, SCREEN_HEIGHT, 0, 0, 0, 255);
if (sPauseScreenTimer[0] < 140) {
break;
}
@@ -1569,7 +1569,7 @@ void HUD_PauseScreen_Update(void) {
case 5:
Graphics_FillRectangle(&gMasterDisp, OTRGetRectDimensionFromLeftEdge(0), 0,
OTRGetDimensionFromRightEdge(SCREEN_WIDTH)+1, SCREEN_HEIGHT, 0, 0, 0, 255);
OTRGetDimensionFromRightEdge(SCREEN_WIDTH) + 1, SCREEN_HEIGHT, 0, 0, 0, 255);
for (i = 0; i < 6; i++) {
if (gPrevPlanetTeamShields[i] == -1) {
@@ -1791,7 +1791,7 @@ void HUD_RadarMark_Arwing_Draw(s32 colorIdx) {
RCP_SetupDL(&gMasterDisp, SETUPDL_62);
gDPSetPrimColor(gMasterDisp++, 0, 0, arwingMarkColor[colorIdx][0], arwingMarkColor[colorIdx][1],
arwingMarkColor[colorIdx][2], arwingMarkColor[colorIdx][3]);
arwingMarkColor[colorIdx][2], arwingMarkColor[colorIdx][3]);
Matrix_Scale(gGfxMatrix, var_fv1, var_fv2, 1.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, aRadarMarkArwingDL);
@@ -1802,7 +1802,7 @@ void HUD_RadarMark_StarWolf_Draw(void) {
gDPSetPrimColor(gMasterDisp++, 0, 0, 0, 0, 0, 255);
Matrix_Scale(gGfxMatrix, 54.0f, 54.0f, 1.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, aStarWolfRadarMarkDL);
gSPDisplayList(gMasterDisp++, aStarWolfRadarMarkDL);
}
void HUD_RadarMark_Katt_Draw(void) {
@@ -1894,13 +1894,12 @@ void HUD_RadarMark_Draw(s32 type) {
case RADARMARK_WOLF:
case RADARMARK_LEON:
case RADARMARK_PIGMA:
case RADARMARK_ANDREW:
{ //This won't compile without braces, for some reason.
CALL_CANCELLABLE_EVENT(DrawRadarMarkWolfenEvent) {
HUD_RadarMark_StarWolf_Draw();
}
break;
case RADARMARK_ANDREW: { // This won't compile without braces, for some reason.
CALL_CANCELLABLE_EVENT(DrawRadarMarkWolfenEvent) {
HUD_RadarMark_StarWolf_Draw();
}
break;
}
case RADARMARK_KATT:
HUD_RadarMark_Katt_Draw();
break;
@@ -3618,7 +3617,7 @@ void HUD_VS_Radar(void) {
}
void HUD_SinglePlayer(void) {
CALL_CANCELLABLE_EVENT(DrawRadarHUDEvent){
CALL_CANCELLABLE_EVENT(DrawRadarHUDEvent) {
if (gPlayState != PLAY_PAUSE) {
HUD_Radar();
}
@@ -6260,7 +6259,7 @@ void Venom1_LevelStart2(Player* player) {
player->pos.x += player->vel.x;
player->pos.y += player->vel.y;
gLastPathTexScroll = gPathTexScroll;
gLastPathTexScroll = gPathTexScroll;
gPathTexScroll += player->vel.z;
player->bankAngle = player->rot.z + player->zRotBank + player->zRotBarrelRoll;