1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-02-26 19:04:20 +00:00

Minor Misc Cleanup 3 (#1502)

* more misc cleanup

* remove z64 conflicts

* undo ISVDbg
This commit is contained in:
engineer124 2023-07-06 08:36:19 +10:00 committed by GitHub
parent 54638f9768
commit 0ce0313342
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
27 changed files with 155 additions and 151 deletions

View file

@ -448,9 +448,9 @@ typedef struct {
} KaleidoMgrOverlay; // size = 0x1C } KaleidoMgrOverlay; // size = 0x1C
typedef enum { typedef enum {
/* 0x00 */ KALEIDO_OVL_KALEIDO_SCOPE, /* 0 */ KALEIDO_OVL_KALEIDO_SCOPE,
/* 0x01 */ KALEIDO_OVL_PLAYER_ACTOR, /* 1 */ KALEIDO_OVL_PLAYER_ACTOR,
/* 0x02 */ KALEIDO_OVL_MAX /* 2 */ KALEIDO_OVL_MAX
} KaleidoOverlayType; } KaleidoOverlayType;
typedef enum { typedef enum {
@ -791,7 +791,7 @@ typedef struct {
typedef struct { typedef struct {
/* 0x00 */ u8 numActors; /* 0x00 */ u8 numActors;
/* 0x04 */ TransitionActorEntry* list; /* 0x04 */ TransitionActorEntry* list;
} TransitionActorContext; } TransitionActorContext; // size = 0x8
typedef enum { typedef enum {
/* 0 */ PAUSE_BG_PRERENDER_OFF, // Inactive, do nothing. /* 0 */ PAUSE_BG_PRERENDER_OFF, // Inactive, do nothing.
@ -1086,8 +1086,8 @@ typedef struct DebugDispObject {
} DebugDispObject; // size = 0x2C } DebugDispObject; // size = 0x2C
typedef enum { typedef enum {
MTXMODE_NEW, // generates a new matrix /* 0 */ MTXMODE_NEW, // generates a new matrix
MTXMODE_APPLY // applies transformation to the current matrix /* 1 */ MTXMODE_APPLY // applies transformation to the current matrix
} MatrixMode; } MatrixMode;
typedef struct StackEntry { typedef struct StackEntry {
@ -1101,9 +1101,9 @@ typedef struct StackEntry {
} StackEntry; } StackEntry;
typedef enum { typedef enum {
STACK_STATUS_OK = 0, /* 0 */ STACK_STATUS_OK,
STACK_STATUS_WARNING = 1, /* 1 */ STACK_STATUS_WARNING,
STACK_STATUS_OVERFLOW = 2 /* 2 */ STACK_STATUS_OVERFLOW
} StackStatus; } StackStatus;
typedef struct { typedef struct {
@ -1328,22 +1328,22 @@ typedef enum {
} ViModeEditState; } ViModeEditState;
typedef struct { typedef struct {
/* 0x0000 */ OSViMode customViMode; /* 0x00 */ OSViMode customViMode;
/* 0x0050 */ s32 viHeight; /* 0x50 */ s32 viHeight;
/* 0x0054 */ s32 viWidth; /* 0x54 */ s32 viWidth;
/* 0x0058 */ s32 rightAdjust; /* 0x58 */ s32 rightAdjust;
/* 0x005C */ s32 leftAdjust; /* 0x5C */ s32 leftAdjust;
/* 0x0060 */ s32 lowerAdjust; /* 0x60 */ s32 lowerAdjust;
/* 0x0064 */ s32 upperAdjust; /* 0x64 */ s32 upperAdjust;
/* 0x0068 */ s32 editState; /* 0x68 */ s32 editState;
/* 0x006C */ s32 tvType; /* 0x6C */ s32 tvType;
/* 0x0070 */ u32 loRes; /* 0x70 */ u32 loRes;
/* 0x0074 */ u32 antialiasOff; /* 0x74 */ u32 antialiasOff;
/* 0x0078 */ u32 modeN; // Controls interlacing, the meaning of this mode is different based on choice of resolution /* 0x78 */ u32 modeN; // Controls interlacing, the meaning of this mode is different based on choice of resolution
/* 0x007C */ u32 fb16Bit; /* 0x7C */ u32 fb16Bit;
/* 0x0080 */ u32 viFeatures; /* 0x80 */ u32 viFeatures;
/* 0x0084 */ u32 unk_84; /* 0x84 */ u32 unk_84;
} ViMode; } ViMode; // size = 0x88
// Vis... // Vis...
typedef struct { typedef struct {

View file

@ -292,12 +292,12 @@ typedef enum {
} ButtonStatus; } ButtonStatus;
typedef enum { typedef enum {
/* 0x00 */ CHAMBER_CS_FOREST, /* 0 */ CHAMBER_CS_FOREST,
/* 0x01 */ CHAMBER_CS_FIRE, /* 1 */ CHAMBER_CS_FIRE,
/* 0x02 */ CHAMBER_CS_WATER, /* 2 */ CHAMBER_CS_WATER,
/* 0x03 */ CHAMBER_CS_SPIRIT, /* 3 */ CHAMBER_CS_SPIRIT,
/* 0x04 */ CHAMBER_CS_SHADOW, /* 4 */ CHAMBER_CS_SHADOW,
/* 0x05 */ CHAMBER_CS_LIGHT /* 5 */ CHAMBER_CS_LIGHT
} ChamberCutsceneNum; } ChamberCutsceneNum;
typedef enum { typedef enum {

View file

@ -2880,21 +2880,25 @@ void DynaPoly_AddBgActorToLookup(PlayState* play, DynaCollisionContext* dyna, s3
if (!(dyna->bitFlag & DYNAPOLY_INVALIDATE_LOOKUP) && if (!(dyna->bitFlag & DYNAPOLY_INVALIDATE_LOOKUP) &&
(BgActor_IsTransformUnchanged(&dyna->bgActors[bgId]) == true)) { (BgActor_IsTransformUnchanged(&dyna->bgActors[bgId]) == true)) {
s32 pi; s32 pi;
for (pi = *polyStartIndex; pi < *polyStartIndex + pbgdata->numPolygons; pi++) { for (pi = *polyStartIndex; pi < *polyStartIndex + pbgdata->numPolygons; pi++) {
CollisionPoly* poly = &dyna->polyList[pi]; CollisionPoly* poly = &dyna->polyList[pi];
s16 normalY = poly->normal.y; s16 normalY = poly->normal.y;
if (normalY > COLPOLY_SNORMAL(0.5f)) { if (normalY > COLPOLY_SNORMAL(0.5f)) {
s16 polyIndex = pi; s16 polyIndex = pi;
DynaSSNodeList_SetSSListHead(&dyna->polyNodes, &dyna->bgActors[bgId].dynaLookup.floor, &polyIndex); DynaSSNodeList_SetSSListHead(&dyna->polyNodes, &dyna->bgActors[bgId].dynaLookup.floor, &polyIndex);
} else if (normalY < COLPOLY_SNORMAL(-0.8f)) { } else if (normalY < COLPOLY_SNORMAL(-0.8f)) {
if (!(dyna->bgActorFlags[bgId] & BGACTOR_CEILING_COLLISION_DISABLED)) { if (!(dyna->bgActorFlags[bgId] & BGACTOR_CEILING_COLLISION_DISABLED)) {
s16 polyIndex = pi; s16 polyIndex = pi;
DynaSSNodeList_SetSSListHead(&dyna->polyNodes, &dyna->bgActors[bgId].dynaLookup.ceiling, DynaSSNodeList_SetSSListHead(&dyna->polyNodes, &dyna->bgActors[bgId].dynaLookup.ceiling,
&polyIndex); &polyIndex);
} }
} else { } else {
s16 polyIndex = pi; s16 polyIndex = pi;
DynaSSNodeList_SetSSListHead(&dyna->polyNodes, &dyna->bgActors[bgId].dynaLookup.wall, &polyIndex); DynaSSNodeList_SetSSListHead(&dyna->polyNodes, &dyna->bgActors[bgId].dynaLookup.wall, &polyIndex);
} }
} }
@ -2914,6 +2918,7 @@ void DynaPoly_AddBgActorToLookup(PlayState* play, DynaCollisionContext* dyna, s3
for (i = 0; i < pbgdata->numVertices; i++) { for (i = 0; i < pbgdata->numVertices; i++) {
Vec3f vtx; Vec3f vtx;
Vec3f vtxT; // Vtx after mtx transform Vec3f vtxT; // Vtx after mtx transform
Math_Vec3s_ToVec3f(&vtx, &pbgdata->vtxList[i]); Math_Vec3s_ToVec3f(&vtx, &pbgdata->vtxList[i]);
SkinMatrix_Vec3fMtxFMultXYZ(&mtx, &vtx, &vtxT); SkinMatrix_Vec3fMtxFMultXYZ(&mtx, &vtx, &vtxT);
BgCheck_Vec3fToVec3s(&dyna->vtxList[*vtxStartIndex + i], &vtxT); BgCheck_Vec3fToVec3s(&dyna->vtxList[*vtxStartIndex + i], &vtxT);
@ -2936,7 +2941,7 @@ void DynaPoly_AddBgActorToLookup(PlayState* play, DynaCollisionContext* dyna, s3
sphere->center.x = newCenterPoint.x; sphere->center.x = newCenterPoint.x;
sphere->center.y = newCenterPoint.y; sphere->center.y = newCenterPoint.y;
sphere->center.z = newCenterPoint.z; sphere->center.z = newCenterPoint.z;
newRadiusSq = -100.0f; newRadiusSq = -SQ(10.0f);
for (i = 0; i < pbgdata->numVertices; i++) { for (i = 0; i < pbgdata->numVertices; i++) {
f32 radiusSq; f32 radiusSq;
@ -2989,12 +2994,15 @@ void DynaPoly_AddBgActorToLookup(PlayState* play, DynaCollisionContext* dyna, s3
newPoly->dist = -DOTXYZ(newNormal, dVtxList[(u32)COLPOLY_VTX_INDEX(newPoly->flags_vIA)]); newPoly->dist = -DOTXYZ(newNormal, dVtxList[(u32)COLPOLY_VTX_INDEX(newPoly->flags_vIA)]);
if (newNormal.y > 0.5f) { if (newNormal.y > 0.5f) {
s16 polyId = *polyStartIndex + i; s16 polyId = *polyStartIndex + i;
DynaSSNodeList_SetSSListHead(&dyna->polyNodes, &dyna->bgActors[bgId].dynaLookup.floor, &polyId); DynaSSNodeList_SetSSListHead(&dyna->polyNodes, &dyna->bgActors[bgId].dynaLookup.floor, &polyId);
} else if (newNormal.y < -0.8f) { } else if (newNormal.y < -0.8f) {
s16 polyId = *polyStartIndex + i; s16 polyId = *polyStartIndex + i;
DynaSSNodeList_SetSSListHead(&dyna->polyNodes, &dyna->bgActors[bgId].dynaLookup.ceiling, &polyId); DynaSSNodeList_SetSSListHead(&dyna->polyNodes, &dyna->bgActors[bgId].dynaLookup.ceiling, &polyId);
} else { } else {
s16 polyId = *polyStartIndex + i; s16 polyId = *polyStartIndex + i;
DynaSSNodeList_SetSSListHead(&dyna->polyNodes, &dyna->bgActors[bgId].dynaLookup.wall, &polyId); DynaSSNodeList_SetSSListHead(&dyna->polyNodes, &dyna->bgActors[bgId].dynaLookup.wall, &polyId);
} }
} }
@ -3013,7 +3021,7 @@ void DynaPoly_UnsetAllInteractFlags(PlayState* play, DynaCollisionContext* dyna,
dynaActor = DynaPoly_GetActor(&play->colCtx, i); dynaActor = DynaPoly_GetActor(&play->colCtx, i);
if (dynaActor != NULL && &dynaActor->actor == actor) { if (dynaActor != NULL && &dynaActor->actor == actor) {
DynaPolyActor_UnsetAllInteractFlags((DynaPolyActor*)actor); DynaPolyActor_UnsetAllInteractFlags((DynaPolyActor*)actor);
return; break;
} }
} }
} }

View file

@ -14,7 +14,7 @@ void SaveContext_Init(void) {
gSaveContext.forcedSeqId = NA_BGM_GENERAL_SFX; gSaveContext.forcedSeqId = NA_BGM_GENERAL_SFX;
gSaveContext.nextCutsceneIndex = 0xFFEF; gSaveContext.nextCutsceneIndex = 0xFFEF;
gSaveContext.cutsceneTrigger = 0; gSaveContext.cutsceneTrigger = 0;
gSaveContext.chamberCutsceneNum = 0; gSaveContext.chamberCutsceneNum = CHAMBER_CS_FOREST;
gSaveContext.nextDayTime = NEXT_TIME_NONE; gSaveContext.nextDayTime = NEXT_TIME_NONE;
gSaveContext.skyboxTime = 0; gSaveContext.skyboxTime = 0;
gSaveContext.dogIsLost = true; gSaveContext.dogIsLost = true;

View file

@ -790,7 +790,7 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
case CS_DEST_CHAMBER_OF_SAGES_FOREST_MEDALLION: case CS_DEST_CHAMBER_OF_SAGES_FOREST_MEDALLION:
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0; play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
play->transitionTrigger = TRANS_TRIGGER_START; play->transitionTrigger = TRANS_TRIGGER_START;
gSaveContext.chamberCutsceneNum = 0; gSaveContext.chamberCutsceneNum = CHAMBER_CS_FOREST;
play->transitionType = TRANS_TYPE_FADE_WHITE; play->transitionType = TRANS_TYPE_FADE_WHITE;
break; break;
@ -799,14 +799,14 @@ void CutsceneCmd_Destination(PlayState* play, CutsceneContext* csCtx, CsCmdDesti
play->transitionTrigger = TRANS_TRIGGER_START; play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_WHITE; play->transitionType = TRANS_TYPE_FADE_WHITE;
Item_Give(play, ITEM_MEDALLION_FIRE); Item_Give(play, ITEM_MEDALLION_FIRE);
gSaveContext.chamberCutsceneNum = 1; gSaveContext.chamberCutsceneNum = CHAMBER_CS_FIRE;
break; break;
case CS_DEST_CHAMBER_OF_SAGES_WATER_MEDALLION: case CS_DEST_CHAMBER_OF_SAGES_WATER_MEDALLION:
play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0; play->nextEntranceIndex = ENTR_CHAMBER_OF_THE_SAGES_0;
play->transitionTrigger = TRANS_TRIGGER_START; play->transitionTrigger = TRANS_TRIGGER_START;
play->transitionType = TRANS_TYPE_FADE_WHITE; play->transitionType = TRANS_TYPE_FADE_WHITE;
gSaveContext.chamberCutsceneNum = 2; gSaveContext.chamberCutsceneNum = CHAMBER_CS_WATER;
break; break;
case CS_DEST_HYRULE_FIELD_FLASHBACK: case CS_DEST_HYRULE_FIELD_FLASHBACK:

View file

@ -1378,7 +1378,7 @@ void Environment_DrawSunAndMoon(PlayState* play) {
OPEN_DISPS(play->state.gfxCtx, "../z_kankyo.c", 2266); OPEN_DISPS(play->state.gfxCtx, "../z_kankyo.c", 2266);
if (play->csCtx.state != 0) { if (play->csCtx.state != CS_STATE_IDLE) {
Math_SmoothStepToF(&play->envCtx.sunPos.x, Math_SmoothStepToF(&play->envCtx.sunPos.x,
-(Math_SinS(((void)0, gSaveContext.dayTime) - CLOCK_TIME(12, 0)) * 120.0f) * 25.0f, 1.0f, -(Math_SinS(((void)0, gSaveContext.dayTime) - CLOCK_TIME(12, 0)) * 120.0f) * 25.0f, 1.0f,
0.8f, 0.8f); 0.8f, 0.8f);

View file

@ -127,7 +127,7 @@ void func_808AC908(BgSpot02Objects* this, PlayState* play) {
static Vec3f zeroVec = { 0.0f, 0.0f, 0.0f }; static Vec3f zeroVec = { 0.0f, 0.0f, 0.0f };
Vec3f pos; Vec3f pos;
if (play->csCtx.state != 0) { if (play->csCtx.state != CS_STATE_IDLE) {
if (play->csCtx.actorCues[3] != NULL && play->csCtx.actorCues[3]->id == 2) { if (play->csCtx.actorCues[3] != NULL && play->csCtx.actorCues[3]->id == 2) {
Actor_PlaySfx(&this->dyna.actor, NA_SE_EV_GRAVE_EXPLOSION); Actor_PlaySfx(&this->dyna.actor, NA_SE_EV_GRAVE_EXPLOSION);
SET_EVENTCHKINF(EVENTCHKINF_1D); SET_EVENTCHKINF(EVENTCHKINF_1D);
@ -199,7 +199,7 @@ void BgSpot02Objects_Draw(Actor* thisx, PlayState* play) {
} }
void func_808ACC34(BgSpot02Objects* this, PlayState* play) { void func_808ACC34(BgSpot02Objects* this, PlayState* play) {
if (play->csCtx.state != 0 && play->csCtx.actorCues[0] != NULL && play->csCtx.actorCues[0]->id == 2) { if (play->csCtx.state != CS_STATE_IDLE && play->csCtx.actorCues[0] != NULL && play->csCtx.actorCues[0]->id == 2) {
this->unk_16A++; this->unk_16A++;
if (this->unk_16A >= 12) { if (this->unk_16A >= 12) {
@ -225,7 +225,7 @@ void func_808ACCB8(Actor* thisx, PlayState* play) {
OPEN_DISPS(play->state.gfxCtx, "../z_bg_spot02_objects.c", 600); OPEN_DISPS(play->state.gfxCtx, "../z_bg_spot02_objects.c", 600);
if (play->csCtx.state != 0 && play->csCtx.actorCues[0] != NULL && play->csCtx.actorCues[0]->id == 2) { if (play->csCtx.state != CS_STATE_IDLE && play->csCtx.actorCues[0] != NULL && play->csCtx.actorCues[0]->id == 2) {
if (this->unk_16A < 5) { if (this->unk_16A < 5) {
rate = (this->unk_16A / 5.0f); rate = (this->unk_16A / 5.0f);
redPrim = greenPrim = bluePrim = 255; redPrim = greenPrim = bluePrim = 255;
@ -265,7 +265,7 @@ void func_808ACCB8(Actor* thisx, PlayState* play) {
} }
void func_808AD3D4(BgSpot02Objects* this, PlayState* play) { void func_808AD3D4(BgSpot02Objects* this, PlayState* play) {
if (play->csCtx.state != 0 && play->csCtx.actorCues[2] != NULL && play->csCtx.actorCues[2]->id == 2) { if (play->csCtx.state != CS_STATE_IDLE && play->csCtx.actorCues[2] != NULL && play->csCtx.actorCues[2]->id == 2) {
if (this->timer == 2) { if (this->timer == 2) {
Actor_PlaySfx(&this->dyna.actor, NA_SE_IT_EXPLOSION_ICE); Actor_PlaySfx(&this->dyna.actor, NA_SE_IT_EXPLOSION_ICE);
} }
@ -285,7 +285,7 @@ void func_808AD450(Actor* thisx, PlayState* play) {
OPEN_DISPS(play->state.gfxCtx, "../z_bg_spot02_objects.c", 736); OPEN_DISPS(play->state.gfxCtx, "../z_bg_spot02_objects.c", 736);
if (play->csCtx.state != 0 && play->csCtx.actorCues[2] != NULL) { if (play->csCtx.state != CS_STATE_IDLE && play->csCtx.actorCues[2] != NULL) {
u16 temp_v1 = CAM_BINANG_TO_DEG(play->csCtx.actorCues[2]->rot.z); u16 temp_v1 = CAM_BINANG_TO_DEG(play->csCtx.actorCues[2]->rot.z);
if (this->unk_170 != temp_v1) { if (this->unk_170 != temp_v1) {

View file

@ -194,7 +194,7 @@ void func_80969FB4(DemoDu* this, PlayState* play) {
void DemoDu_CsFireMedallion_AdvanceTo01(DemoDu* this, PlayState* play) { void DemoDu_CsFireMedallion_AdvanceTo01(DemoDu* this, PlayState* play) {
s32 pad[2]; s32 pad[2];
if ((gSaveContext.chamberCutsceneNum == 1) && !IS_CUTSCENE_LAYER) { if ((gSaveContext.chamberCutsceneNum == CHAMBER_CS_FIRE) && !IS_CUTSCENE_LAYER) {
Player* player = GET_PLAYER(play); Player* player = GET_PLAYER(play);
this->updateIndex = CS_FIREMEDALLION_SUBSCENE(1); this->updateIndex = CS_FIREMEDALLION_SUBSCENE(1);

View file

@ -786,7 +786,7 @@ void func_8097FCE4(DemoGt* this, PlayState* play) {
Vec3f vec; Vec3f vec;
u16 csCurFrame = play->csCtx.curFrame; u16 csCurFrame = play->csCtx.curFrame;
if (csCurFrame == 0x1F7 || kREG(1) == 4) { if (csCurFrame == 503 || kREG(1) == 4) {
vec.x = this->dyna.actor.world.pos.x + 300.0f; vec.x = this->dyna.actor.world.pos.x + 300.0f;
vec.y = this->dyna.actor.world.pos.y + 560.0f; vec.y = this->dyna.actor.world.pos.y + 560.0f;
vec.z = this->dyna.actor.world.pos.z - 377.0f; vec.z = this->dyna.actor.world.pos.z - 377.0f;

View file

@ -326,7 +326,7 @@ void func_80985430(DemoIm* this, PlayState* play) {
void func_8098544C(DemoIm* this, PlayState* play) { void func_8098544C(DemoIm* this, PlayState* play) {
s32 pad[2]; s32 pad[2];
if ((gSaveContext.chamberCutsceneNum == 4) && !IS_CUTSCENE_LAYER) { if ((gSaveContext.chamberCutsceneNum == CHAMBER_CS_SHADOW) && !IS_CUTSCENE_LAYER) {
Player* player = GET_PLAYER(play); Player* player = GET_PLAYER(play);
this->action = 1; this->action = 1;

View file

@ -253,7 +253,7 @@ void func_8098E960(DemoSa* this, PlayState* play) {
s32 pad[2]; s32 pad[2];
Player* player; Player* player;
if ((gSaveContext.chamberCutsceneNum == 0) && !IS_CUTSCENE_LAYER) { if ((gSaveContext.chamberCutsceneNum == CHAMBER_CS_FOREST) && !IS_CUTSCENE_LAYER) {
player = GET_PLAYER(play); player = GET_PLAYER(play);
this->action = 1; this->action = 1;
play->csCtx.script = D_8099010C; play->csCtx.script = D_8099010C;

View file

@ -50,7 +50,7 @@ void EfcErupc_UpdateAction(EfcErupc* this, PlayState* play) {
Vec3f accel; Vec3f accel;
s32 i; s32 i;
if (play->csCtx.state != 0) { if (play->csCtx.state != CS_STATE_IDLE) {
if (play->csCtx.actorCues[1] != NULL) { if (play->csCtx.actorCues[1] != NULL) {
if (play->csCtx.actorCues[1]->id == 2) { if (play->csCtx.actorCues[1]->id == 2) {
if (this->unk_150 == 30) { if (this->unk_150 == 30) {
@ -73,7 +73,7 @@ void EfcErupc_UpdateAction(EfcErupc* this, PlayState* play) {
} }
} }
} }
if (play->csCtx.state != 0) { if (play->csCtx.state != CS_STATE_IDLE) {
if (play->csCtx.actorCues[2] != NULL) { if (play->csCtx.actorCues[2] != NULL) {
switch (play->csCtx.actorCues[2]->id) { switch (play->csCtx.actorCues[2]->id) {
case 2: case 2:
@ -135,7 +135,7 @@ void EfcErupc_Draw(Actor* thisx, PlayState* play) {
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_efc_erupc.c", 321), gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_efc_erupc.c", 321),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
if (play->csCtx.state != 0) { if (play->csCtx.state != CS_STATE_IDLE) {
if ((play->csCtx.actorCues[1] != NULL) && (play->csCtx.actorCues[1]->id == 2)) { if ((play->csCtx.actorCues[1] != NULL) && (play->csCtx.actorCues[1]->id == 2)) {
gSPDisplayList(POLY_XLU_DISP++, object_efc_erupc_DL_002570); gSPDisplayList(POLY_XLU_DISP++, object_efc_erupc_DL_002570);
} }
@ -144,7 +144,7 @@ void EfcErupc_Draw(Actor* thisx, PlayState* play) {
Matrix_Scale(3.4f, 3.4f, 3.4f, MTXMODE_APPLY); Matrix_Scale(3.4f, 3.4f, 3.4f, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_efc_erupc.c", 333), gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_efc_erupc.c", 333),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
if (play->csCtx.state != 0) { if (play->csCtx.state != CS_STATE_IDLE) {
CsCmdActorCue* cue = play->csCtx.actorCues[2]; CsCmdActorCue* cue = play->csCtx.actorCues[2];
if (cue != NULL) { if (cue != NULL) {

View file

@ -742,7 +742,7 @@ void EnFish_RespawningUpdate(EnFish* this, PlayState* play) {
void EnFish_Update(Actor* thisx, PlayState* play) { void EnFish_Update(Actor* thisx, PlayState* play) {
EnFish* this = (EnFish*)thisx; EnFish* this = (EnFish*)thisx;
if ((D_80A17010 == NULL) && (this->actor.params == FISH_DROPPED) && (play->csCtx.state != 0) && if ((D_80A17010 == NULL) && (this->actor.params == FISH_DROPPED) && (play->csCtx.state != CS_STATE_IDLE) &&
(play->csCtx.actorCues[1] != NULL)) { (play->csCtx.actorCues[1] != NULL)) {
EnFish_SetCutsceneData(this); EnFish_SetCutsceneData(this);
} }

View file

@ -427,7 +427,7 @@ s32 EnGo_IsCameraModified(EnGo* this, PlayState* play) {
return 0; return 0;
} }
xyzDistSq = (this->actor.scale.x / 0.01f) * 10000.0f; xyzDistSq = (this->actor.scale.x / 0.01f) * SQ(100.0f);
if ((this->actor.params & 0xF0) == 0x90) { if ((this->actor.params & 0xF0) == 0x90) {
Camera_ChangeSetting(mainCam, CAM_SET_DIRECTED_YAW); Camera_ChangeSetting(mainCam, CAM_SET_DIRECTED_YAW);
xyzDistSq *= 4.8f; xyzDistSq *= 4.8f;

View file

@ -148,10 +148,10 @@ static ColliderJntSphInit sJntSphInit = {
static CollisionCheckInfoInit D_80A65F38 = { 10, 35, 100, MASS_HEAVY }; static CollisionCheckInfoInit D_80A65F38 = { 10, 35, 100, MASS_HEAVY };
typedef struct { typedef struct {
s16 sceneId; /* 0x0 */ s16 sceneId;
Vec3s pos; /* 0x2 */ Vec3s pos;
s16 angle; /* 0x8 */ s16 angle;
} EnHorseSpawnpoint; } EnHorseSpawnpoint; // size = 0xA
static EnHorseSpawnpoint sHorseSpawns[] = { static EnHorseSpawnpoint sHorseSpawns[] = {
{ SCENE_HYRULE_FIELD, 16, 0, 1341, 0 }, { SCENE_HYRULE_FIELD, 16, 0, 1341, 0 },
@ -330,18 +330,15 @@ static EnHorseSpawnpoint sHorseSpawns[] = {
}; };
typedef struct { typedef struct {
s16 zMin; /* 0x00 */ s16 zMin;
s16 zMax; /* 0x02 */ s16 zMax;
/* 0x04 */ s16 xMin;
s16 xMin; /* 0x06 */ s16 xMax;
s16 xMax; /* 0x08 */ s16 xOffset;
s16 xOffset; /* 0x0A */ s16 angle;
/* 0x0C */ s16 angleRange;
s16 angle; /* 0x0E */ Vec3s pos;
s16 angleRange; } BridgeJumpPoint; // size = 0x14
Vec3s pos;
} BridgeJumpPoint;
static BridgeJumpPoint sBridgeJumps[] = { static BridgeJumpPoint sBridgeJumps[] = {
{ -195, -40, 225, 120, 360, -0x4000, 0x7D0, -270, -52, -117 }, { -195, -40, 225, 120, 360, -0x4000, 0x7D0, -270, -52, -117 },
@ -349,17 +346,17 @@ static BridgeJumpPoint sBridgeJumps[] = {
}; };
typedef struct { typedef struct {
s16 x; /* 0x0 */ s16 x;
s16 y; /* 0x2 */ s16 y;
s16 z; /* 0x4 */ s16 z;
s16 speedXZ; /* 0x6 */ s16 speedXZ;
s16 angle; /* 0x8 */ s16 angle;
} RaceWaypoint; } RaceWaypoint; // size = 0xA
typedef struct { typedef struct {
s32 numWaypoints; /* 0x0 */ s32 numWaypoints;
RaceWaypoint* waypoints; /* 0x4 */ RaceWaypoint* waypoints;
} RaceInfo; } RaceInfo; // size = 0x8
static RaceWaypoint sIngoRaceWaypoints[] = { static RaceWaypoint sIngoRaceWaypoints[] = {
{ 1056, 1, -1540, 11, 0x2A8D }, { 1593, 1, -985, 10, 0xFC27 }, { 1645, 1, -221, 11, 0xE891 }, { 1056, 1, -1540, 11, 0x2A8D }, { 1593, 1, -985, 10, 0xFC27 }, { 1645, 1, -221, 11, 0xE891 },
@ -407,9 +404,9 @@ static EnHorseCsFunc sCutsceneActionFuncs[] = {
}; };
typedef struct { typedef struct {
s32 cueId; /* 0x0 */ s32 cueId;
s32 csFuncIdx; /* 0x4 */ s32 csFuncIdx;
} CsActionEntry; } CsActionEntry; // size = 0x8
static CsActionEntry sCsActionTable[] = { static CsActionEntry sCsActionTable[] = {
{ 36, 1 }, { 37, 2 }, { 38, 3 }, { 64, 4 }, { 65, 5 }, { 36, 1 }, { 37, 2 }, { 38, 3 }, { 64, 4 }, { 65, 5 },
@ -420,29 +417,29 @@ static RaceWaypoint sHbaWaypoints[] = {
{ 3600, 1413, -4100, 11, 0x0000 }, { 3600, 1413, 360, 11, 0x0000 }, { 3600, 1413, -4100, 11, 0x0000 }, { 3600, 1413, 360, 11, 0x0000 },
}; };
static RaceInfo sHbaInfo = { 5, sHbaWaypoints }; static RaceInfo sHbaInfo = { ARRAY_COUNT(sHbaWaypoints), sHbaWaypoints };
static EnHorseActionFunc sActionFuncs[] = { static EnHorseActionFunc sActionFuncs[] = {
EnHorse_Frozen, EnHorse_Frozen, // ENHORSE_ACT_FROZEN
EnHorse_Inactive, EnHorse_Inactive, // ENHORSE_ACT_INACTIVE
EnHorse_Idle, EnHorse_Idle, // ENHORSE_ACT_IDLE
EnHorse_FollowPlayer, EnHorse_FollowPlayer, // ENHORSE_ACT_FOLLOW_PLAYER
EnHorse_UpdateIngoRace, EnHorse_UpdateIngoRace, // ENHORSE_ACT_INGO_RACE
EnHorse_MountedIdle, EnHorse_MountedIdle, // ENHORSE_ACT_MOUNTED_IDLE
EnHorse_MountedIdleWhinneying, EnHorse_MountedIdleWhinneying, // ENHORSE_ACT_MOUNTED_IDLE_WHINNEYING
EnHorse_MountedTurn, EnHorse_MountedTurn, // ENHORSE_ACT_MOUNTED_TURN
EnHorse_MountedWalk, EnHorse_MountedWalk, // ENHORSE_ACT_MOUNTED_WALK
EnHorse_MountedTrot, EnHorse_MountedTrot, // ENHORSE_ACT_MOUNTED_TROT
EnHorse_MountedGallop, EnHorse_MountedGallop, // ENHORSE_ACT_MOUNTED_GALLOP
EnHorse_MountedRearing, EnHorse_MountedRearing, // ENHORSE_ACT_MOUNTED_REARING
EnHorse_Stopping, EnHorse_Stopping, // ENHORSE_ACT_STOPPING
EnHorse_Reverse, EnHorse_Reverse, // ENHORSE_ACT_REVERSE
EnHorse_LowJump, EnHorse_LowJump, // ENHORSE_ACT_LOW_JUMP
EnHorse_HighJump, EnHorse_HighJump, // ENHORSE_ACT_HIGH_JUMP
EnHorse_BridgeJump, EnHorse_BridgeJump, // ENHORSE_ACT_BRIDGE_JUMP
EnHorse_CutsceneUpdate, EnHorse_CutsceneUpdate, // ENHORSE_ACT_CS_UPDATE
EnHorse_UpdateHorsebackArchery, EnHorse_UpdateHorsebackArchery, // ENHORSE_ACT_HBA
EnHorse_FleePlayer, EnHorse_FleePlayer, // ENHORSE_ACT_FLEE_PLAYER
}; };
s32 EnHorse_BgCheckBridgeJumpPoint(EnHorse* this, PlayState* play) { s32 EnHorse_BgCheckBridgeJumpPoint(EnHorse* this, PlayState* play) {
@ -460,7 +457,7 @@ s32 EnHorse_BgCheckBridgeJumpPoint(EnHorse* this, PlayState* play) {
return false; return false;
} }
for (i = 0; i < 2; i++) { for (i = 0; i < ARRAY_COUNT(sBridgeJumps); i++) {
xMin = sBridgeJumps[i].xMin; xMin = sBridgeJumps[i].xMin;
xMax = (xMin + sBridgeJumps[i].xMax) + sBridgeJumps[i].xOffset; xMax = (xMin + sBridgeJumps[i].xMax) + sBridgeJumps[i].xOffset;
if (xMax < xMin) { if (xMax < xMin) {
@ -492,7 +489,7 @@ s32 EnHorse_CheckBridgeJumps(EnHorse* this, PlayState* play) {
return false; return false;
} }
for (i = 0; i != 2; i++) { for (i = 0; i < ARRAY_COUNT(sBridgeJumps); i++) {
xMin = sBridgeJumps[i].xMin; xMin = sBridgeJumps[i].xMin;
xMax = sBridgeJumps[i].xMax + xMin; xMax = sBridgeJumps[i].xMax + xMin;
@ -518,10 +515,10 @@ s32 EnHorse_CheckBridgeJumps(EnHorse* this, PlayState* play) {
return false; return false;
} }
void EnHorse_RaceWaypointPos(RaceWaypoint* waypoints, s32 idx, Vec3f* pos) { void EnHorse_RaceWaypointPos(RaceWaypoint* waypoints, s32 index, Vec3f* pos) {
pos->x = waypoints[idx].x; pos->x = waypoints[index].x;
pos->y = waypoints[idx].y; pos->y = waypoints[index].y;
pos->z = waypoints[idx].z; pos->z = waypoints[index].z;
} }
void EnHorse_RotateToPoint(EnHorse* this, PlayState* play, Vec3f* pos, s16 turnAmount) { void EnHorse_RotateToPoint(EnHorse* this, PlayState* play, Vec3f* pos, s16 turnAmount) {
@ -672,7 +669,7 @@ s32 EnHorse_Spawn(EnHorse* this, PlayState* play) {
Player* player; Player* player;
Vec3f spawnPos; Vec3f spawnPos;
for (i = 0; i < 169; i++) { for (i = 0; i < ARRAY_COUNT(sHorseSpawns); i++) {
if (sHorseSpawns[i].sceneId == play->sceneId) { if (sHorseSpawns[i].sceneId == play->sceneId) {
player = GET_PLAYER(play); player = GET_PLAYER(play);
if (play->sceneId != SCENE_LON_LON_RANCH || if (play->sceneId != SCENE_LON_LON_RANCH ||
@ -690,7 +687,7 @@ s32 EnHorse_Spawn(EnHorse* this, PlayState* play) {
dist = Math3D_Vec3f_DistXYZ(&player->actor.world.pos, &spawnPos); dist = Math3D_Vec3f_DistXYZ(&player->actor.world.pos, &spawnPos);
if (play->sceneId) {} if (play->sceneId) {}
if (!(minDist < dist) && !func_80A5BBBC(play, this, &spawnPos)) { if (!((minDist < dist) || func_80A5BBBC(play, this, &spawnPos))) {
minDist = dist; minDist = dist;
this->actor.world.pos.x = sHorseSpawns[i].pos.x; this->actor.world.pos.x = sHorseSpawns[i].pos.x;
this->actor.world.pos.y = sHorseSpawns[i].pos.y; this->actor.world.pos.y = sHorseSpawns[i].pos.y;
@ -723,7 +720,7 @@ s32 EnHorse_PlayerCanMove(EnHorse* this, PlayState* play) {
if ((player->stateFlags1 & PLAYER_STATE1_0) || func_8002DD78(GET_PLAYER(play)) == 1 || if ((player->stateFlags1 & PLAYER_STATE1_0) || func_8002DD78(GET_PLAYER(play)) == 1 ||
(player->stateFlags1 & PLAYER_STATE1_20) || ((this->stateFlags & ENHORSE_FLAG_19) && !this->inRace) || (player->stateFlags1 & PLAYER_STATE1_20) || ((this->stateFlags & ENHORSE_FLAG_19) && !this->inRace) ||
this->action == ENHORSE_ACT_HBA || player->actor.flags & ACTOR_FLAG_8 || play->csCtx.state != 0) { this->action == ENHORSE_ACT_HBA || player->actor.flags & ACTOR_FLAG_8 || play->csCtx.state != CS_STATE_IDLE) {
return false; return false;
} }
return true; return true;
@ -945,7 +942,7 @@ void EnHorse_Frozen(EnHorse* this, PlayState* play) {
EnHorse_StartMountedIdleResetAnim(this); EnHorse_StartMountedIdleResetAnim(this);
} else if (this->actor.params == 9) { } else if (this->actor.params == 9) {
this->actor.params = 5; this->actor.params = 5;
if (play->csCtx.state != 0) { if (play->csCtx.state != CS_STATE_IDLE) {
EnHorse_StartMountedIdle(this); EnHorse_StartMountedIdle(this);
} else { } else {
this->actor.speed = 8.0f; this->actor.speed = 8.0f;
@ -1998,17 +1995,17 @@ void EnHorse_InitIngoHorse(EnHorse* this) {
} }
} }
void EnHorse_SetIngoAnimation(s32 idx, f32 curFrame, s32 arg2, s16* animIdxOut, f32* curFrameOut) { void EnHorse_SetIngoAnimation(s32 index, f32 curFrame, s32 arg2, s16* animIdxOut, f32* curFrameOut) {
*animIdxOut = sIngoAnimations[idx]; *animIdxOut = sIngoAnimations[index];
*curFrameOut = curFrame; *curFrameOut = curFrame;
if (idx == 3 || idx == 7 || idx == 8 || idx == 4) { if ((index == 3) || (index == 7) || (index == 8) || (index == 4)) {
*curFrameOut = 0.0f; *curFrameOut = 0.0f;
} }
if (arg2 == 1) { if (arg2 == 1) {
if (idx == 5) { if (index == 5) {
*animIdxOut = 4; *animIdxOut = 4;
*curFrameOut = curFrame; *curFrameOut = curFrame;
} else if (idx == 6) { } else if (index == 6) {
*animIdxOut = 3; *animIdxOut = 3;
*curFrameOut = curFrame; *curFrameOut = curFrame;
} }

View file

@ -957,7 +957,7 @@ s32 EnKo_AdultSaved(EnKo* this, PlayState* play) {
void func_80A9877C(EnKo* this, PlayState* play) { void func_80A9877C(EnKo* this, PlayState* play) {
Player* player = GET_PLAYER(play); Player* player = GET_PLAYER(play);
if ((play->csCtx.state != 0) || gDebugCamEnabled) { if ((play->csCtx.state != CS_STATE_IDLE) || gDebugCamEnabled) {
this->interactInfo.trackPos = play->view.eye; this->interactInfo.trackPos = play->view.eye;
this->interactInfo.yOffset = 40.0f; this->interactInfo.yOffset = 40.0f;
if (ENKO_TYPE != ENKO_TYPE_CHILD_0) { if (ENKO_TYPE != ENKO_TYPE_CHILD_0) {

View file

@ -341,7 +341,7 @@ void EnNb_SetupChamberCsImpl(EnNb* this, PlayState* play) {
s32 pad[2]; s32 pad[2];
Player* player; Player* player;
if ((gSaveContext.chamberCutsceneNum == 3) && !IS_CUTSCENE_LAYER) { if ((gSaveContext.chamberCutsceneNum == CHAMBER_CS_SPIRIT) && !IS_CUTSCENE_LAYER) {
player = GET_PLAYER(play); player = GET_PLAYER(play);
this->action = NB_CHAMBER_UNDERGROUND; this->action = NB_CHAMBER_UNDERGROUND;
play->csCtx.script = D_80AB431C; play->csCtx.script = D_80AB431C;

View file

@ -753,7 +753,7 @@ void func_80ACB748(EnOwl* this, PlayState* play) {
case 8: case 8:
case 9: case 9:
func_800F436C(&D_80ACD62C, NA_SE_EV_FLYING_AIR - SFX_FLAG, weight * 2.0f); func_800F436C(&D_80ACD62C, NA_SE_EV_FLYING_AIR - SFX_FLAG, weight * 2.0f);
if ((play->csCtx.curFrame >= 420) || ((0xC1 < play->csCtx.curFrame && (play->csCtx.curFrame <= 280)))) { if ((play->csCtx.curFrame >= 420) || ((193 < play->csCtx.curFrame && (play->csCtx.curFrame <= 280)))) {
func_800F4414(&D_80ACD62C, NA_SE_EN_OWL_FLUTTER, weight * 2.0f); func_800F4414(&D_80ACD62C, NA_SE_EN_OWL_FLUTTER, weight * 2.0f);
} }
if (play->csCtx.curFrame == 217) { if (play->csCtx.curFrame == 217) {

View file

@ -536,7 +536,6 @@ void EnReeba_CheckDamage(EnReeba* this, PlayState* play) {
this->stunType = LEEVER_STUN_NONE; this->stunType = LEEVER_STUN_NONE;
switch (this->actor.colChkInfo.damageEffect) { switch (this->actor.colChkInfo.damageEffect) {
case LEEVER_DMGEFF_UNUSED: case LEEVER_DMGEFF_UNUSED:
case LEEVER_DMGEFF_BOOMERANG: case LEEVER_DMGEFF_BOOMERANG:
if ((this->actor.colChkInfo.health > 1) && (this->stunType != LEEVER_STUN_OTHER)) { if ((this->actor.colChkInfo.health > 1) && (this->stunType != LEEVER_STUN_OTHER)) {

View file

@ -7,6 +7,7 @@
#include "z_en_ru1.h" #include "z_en_ru1.h"
#include "assets/objects/object_ru1/object_ru1.h" #include "assets/objects/object_ru1/object_ru1.h"
#include "terminal.h" #include "terminal.h"
#include "overlays/actors/ovl_Demo_Effect/z_demo_effect.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_4 | ACTOR_FLAG_26) #define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_4 | ACTOR_FLAG_26)
@ -324,7 +325,7 @@ Actor* func_80AEB124(PlayState* play) {
Actor* actorIt = play->actorCtx.actorLists[ACTORCAT_BOSS].head; Actor* actorIt = play->actorCtx.actorLists[ACTORCAT_BOSS].head;
while (actorIt != NULL) { while (actorIt != NULL) {
if ((actorIt->id == ACTOR_DEMO_EFFECT) && ((actorIt->params & 0xFF) == 0x15)) { if ((actorIt->id == ACTOR_DEMO_EFFECT) && ((actorIt->params & 0xFF) == DEMO_EFFECT_JEWEL_ZORA)) {
return actorIt; return actorIt;
} }
actorIt = actorIt->next; actorIt = actorIt->next;
@ -586,7 +587,7 @@ void func_80AEBBF4(EnRu1* this) {
void func_80AEBC30(PlayState* play) { void func_80AEBC30(PlayState* play) {
Player* player; Player* player;
if (play->csCtx.curFrame == 0xCD) { if (play->csCtx.curFrame == 205) {
player = GET_PLAYER(play); player = GET_PLAYER(play);
Audio_PlaySfxGeneral(NA_SE_EV_DIVE_INTO_WATER, &player->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale, Audio_PlaySfxGeneral(NA_SE_EV_DIVE_INTO_WATER, &player->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
@ -594,7 +595,7 @@ void func_80AEBC30(PlayState* play) {
} }
void func_80AEBC84(EnRu1* this, PlayState* play) { void func_80AEBC84(EnRu1* this, PlayState* play) {
if (play->csCtx.curFrame == 0x82) { if (play->csCtx.curFrame == 130) {
func_80078914(&this->actor.projectedPos, NA_SE_VO_RT_LAUGH_0); func_80078914(&this->actor.projectedPos, NA_SE_VO_RT_LAUGH_0);
} }
} }

View file

@ -115,7 +115,7 @@ void func_80AF2608(EnRu2* this) {
s16* unk_2A6 = &this->unk_2A6; s16* unk_2A6 = &this->unk_2A6;
s16* unk_2A4 = &this->unk_2A4; s16* unk_2A4 = &this->unk_2A4;
if (!DECR(*unk_2A6)) { if (DECR(*unk_2A6) == 0) {
*unk_2A6 = Rand_S16Offset(0x3C, 0x3C); *unk_2A6 = Rand_S16Offset(0x3C, 0x3C);
} }
@ -263,7 +263,7 @@ void func_80AF2AB4(EnRu2* this, PlayState* play) {
Player* player; Player* player;
s16 temp; s16 temp;
if ((gSaveContext.chamberCutsceneNum == 2) && !IS_CUTSCENE_LAYER) { if ((gSaveContext.chamberCutsceneNum == CHAMBER_CS_WATER) && !IS_CUTSCENE_LAYER) {
player = GET_PLAYER(play); player = GET_PLAYER(play);
this->action = 1; this->action = 1;
play->csCtx.script = D_80AF411C; play->csCtx.script = D_80AF411C;

View file

@ -88,7 +88,7 @@ void EnXc_SetEyePattern(EnXc* this) {
s16* blinkTimer = &this->blinkTimer; s16* blinkTimer = &this->blinkTimer;
s16* eyePattern = &this->eyeIdx; s16* eyePattern = &this->eyeIdx;
if (!DECR(*blinkTimer)) { if (DECR(*blinkTimer) == 0) {
*blinkTimer = Rand_S16Offset(60, 60); *blinkTimer = Rand_S16Offset(60, 60);
} }
@ -120,7 +120,7 @@ s32 EnXc_AnimIsFinished(EnXc* this) {
CsCmdActorCue* EnXc_GetCue(PlayState* play, s32 cueChannel) { CsCmdActorCue* EnXc_GetCue(PlayState* play, s32 cueChannel) {
CsCmdActorCue* cue = NULL; CsCmdActorCue* cue = NULL;
if (play->csCtx.state != 0) { if (play->csCtx.state != CS_STATE_IDLE) {
cue = play->csCtx.actorCues[cueChannel]; cue = play->csCtx.actorCues[cueChannel];
} }
return cue; return cue;
@ -422,15 +422,15 @@ void EnXc_SetColossusAppearSFX(EnXc* this, PlayState* play) {
sceneId = play->sceneId; sceneId = play->sceneId;
if (sceneId == SCENE_DESERT_COLOSSUS) { if (sceneId == SCENE_DESERT_COLOSSUS) {
CutsceneContext* csCtx = &play->csCtx; CutsceneContext* csCtx = &play->csCtx;
u16 frameCount = csCtx->curFrame; u16 csCurFrame = csCtx->curFrame;
f32 wDest[2]; f32 wDest[2];
if (frameCount == 119) { if (csCurFrame == 119) {
Vec3f pos = { -611.0f, 728.0f, -2.0f }; Vec3f pos = { -611.0f, 728.0f, -2.0f };
SkinMatrix_Vec3fMtxFMultXYZW(&play->viewProjectionMtxF, &pos, &sXyzDist, wDest); SkinMatrix_Vec3fMtxFMultXYZW(&play->viewProjectionMtxF, &pos, &sXyzDist, wDest);
func_80078914(&sXyzDist, NA_SE_EV_JUMP_CONC); func_80078914(&sXyzDist, NA_SE_EV_JUMP_CONC);
} else if (frameCount == 164) { } else if (csCurFrame == 164) {
Vec3f pos = { -1069.0f, 38.0f, 0.0f }; Vec3f pos = { -1069.0f, 38.0f, 0.0f };
s32 pad; s32 pad;
@ -462,9 +462,9 @@ void EnXc_SetColossusWindSFX(PlayState* play) {
if (sceneId == SCENE_DESERT_COLOSSUS) { if (sceneId == SCENE_DESERT_COLOSSUS) {
CutsceneContext* csCtx = &play->csCtx; CutsceneContext* csCtx = &play->csCtx;
u16 frameCount = csCtx->curFrame; u16 csCurFrame = csCtx->curFrame;
if ((frameCount >= 120) && (frameCount < 164)) { if ((csCurFrame >= 120) && (csCurFrame < 164)) {
s32 pad; s32 pad;
Vec3f* eye = &play->view.eye; Vec3f* eye = &play->view.eye;
@ -723,9 +723,8 @@ void func_80B3DAF0(EnXc* this, PlayState* play) {
cueId = cue->id; cueId = cue->id;
if (cueId == 3 || cueId == 11 || cueId == 12 || cueId == 13 || cueId == 23) { if (cueId == 3 || cueId == 11 || cueId == 12 || cueId == 13 || cueId == 23) {
f32 frameCount; f32 frameCount = Animation_GetLastFrame(&gSheikPullingOutHarpAnim);
frameCount = Animation_GetLastFrame(&gSheikPullingOutHarpAnim);
Animation_Change(&this->skelAnime, &gSheikPullingOutHarpAnim, 1.0f, 0.0f, frameCount, ANIMMODE_ONCE, -4.0f); Animation_Change(&this->skelAnime, &gSheikPullingOutHarpAnim, 1.0f, 0.0f, frameCount, ANIMMODE_ONCE, -4.0f);
this->action = SHEIK_ACTION_7; this->action = SHEIK_ACTION_7;
this->drawMode = SHEIK_DRAW_PULLING_OUT_HARP; this->drawMode = SHEIK_DRAW_PULLING_OUT_HARP;
@ -765,7 +764,7 @@ void EnXc_SetupPlayingHarpAction(EnXc* this, PlayState* play, s32 animFinished)
void func_80B3DCA8(EnXc* this, PlayState* play) { void func_80B3DCA8(EnXc* this, PlayState* play) {
f32 frameCount; f32 frameCount;
if (play->csCtx.state != 0) { if (play->csCtx.state != CS_STATE_IDLE) {
CsCmdActorCue* cue = play->csCtx.actorCues[4]; CsCmdActorCue* cue = play->csCtx.actorCues[4];
if (cue != NULL && cue->id == 8) { if (cue != NULL && cue->id == 8) {
@ -814,7 +813,7 @@ void func_80B3DE78(EnXc* this, s32 animFinished) {
} }
void EnXc_SetupReverseAccel(EnXc* this, PlayState* play) { void EnXc_SetupReverseAccel(EnXc* this, PlayState* play) {
if (play->csCtx.state != 0) { if (play->csCtx.state != CS_STATE_IDLE) {
CsCmdActorCue* cue = play->csCtx.actorCues[4]; CsCmdActorCue* cue = play->csCtx.actorCues[4];
if (cue != NULL && cue->id == 4) { if (cue != NULL && cue->id == 4) {
@ -866,7 +865,7 @@ void func_80B3E164(EnXc* this, PlayState* play) {
} }
void EnXc_SetupDisappear(EnXc* this, PlayState* play) { void EnXc_SetupDisappear(EnXc* this, PlayState* play) {
if (play->csCtx.state != 0) { if (play->csCtx.state != CS_STATE_IDLE) {
CsCmdActorCue* cue = play->csCtx.actorCues[4]; CsCmdActorCue* cue = play->csCtx.actorCues[4];
if (cue != NULL && cue->id == 9) { if (cue != NULL && cue->id == 9) {
@ -1400,9 +1399,9 @@ void EnXc_LakeHyliaDive(PlayState* play) {
void func_80B3F534(PlayState* play) { void func_80B3F534(PlayState* play) {
CutsceneContext* csCtx = &play->csCtx; CutsceneContext* csCtx = &play->csCtx;
u16 frameCount = csCtx->curFrame; u16 csCurFrame = csCtx->curFrame;
if (frameCount == 310) { if (csCurFrame == 310) {
Actor_Spawn(&play->actorCtx, play, ACTOR_DOOR_WARP1, -1044.0f, -1243.0f, 7458.0f, 0, 0, 0, WARP_DESTINATION); Actor_Spawn(&play->actorCtx, play, ACTOR_DOOR_WARP1, -1044.0f, -1243.0f, 7458.0f, 0, 0, 0, WARP_DESTINATION);
} }
} }

View file

@ -1233,9 +1233,9 @@ void func_80B5154C(EnZl2* this, PlayState* play) {
EnZl2_UpdateEyes(this); EnZl2_UpdateEyes(this);
} else { } else {
csCtx = &play->csCtx; csCtx = &play->csCtx;
if (csCtx->curFrame < 0x5F0) { if (csCtx->curFrame < 1520) {
func_80B4EBB8(this); func_80B4EBB8(this);
} else if (csCtx->curFrame == 0x5F0) { } else if (csCtx->curFrame == 1520) {
this->unk_27C = 0.0f; this->unk_27C = 0.0f;
} else { } else {
func_80B4EC48(this); func_80B4EC48(this);

View file

@ -722,7 +722,7 @@ void ObjectKankyo_DrawSnow(Actor* thisx, PlayState* play2) {
} }
void ObjectKankyo_Lightning(ObjectKankyo* this, PlayState* play) { void ObjectKankyo_Lightning(ObjectKankyo* this, PlayState* play) {
if (play->csCtx.state != 0 && play->csCtx.actorCues[0] != NULL) { if (play->csCtx.state != CS_STATE_IDLE && play->csCtx.actorCues[0] != NULL) {
switch (this->effects[0].state) { switch (this->effects[0].state) {
case 0: case 0:
this->effects[0].timer = 0; this->effects[0].timer = 0;
@ -797,7 +797,7 @@ void ObjectKankyo_WaitForSunGraveSparkObject(ObjectKankyo* this, PlayState* play
} }
void ObjectKankyo_SunGraveSpark(ObjectKankyo* this, PlayState* play) { void ObjectKankyo_SunGraveSpark(ObjectKankyo* this, PlayState* play) {
if (play->csCtx.state != 0) { if (play->csCtx.state != CS_STATE_IDLE) {
if (play->csCtx.actorCues[1] != NULL && play->csCtx.actorCues[1]->id == 2) { if (play->csCtx.actorCues[1] != NULL && play->csCtx.actorCues[1]->id == 2) {
Actor_PlaySfx(&this->actor, NA_SE_EN_BIRI_SPARK - SFX_FLAG); Actor_PlaySfx(&this->actor, NA_SE_EN_BIRI_SPARK - SFX_FLAG);
if ((s16)this->effects[0].alpha + 20 > 255) { if ((s16)this->effects[0].alpha + 20 > 255) {
@ -818,7 +818,7 @@ void ObjectKankyo_DrawSunGraveSpark(Actor* thisx, PlayState* play2) {
f32 weight; f32 weight;
OPEN_DISPS(play->state.gfxCtx, "../z_object_kankyo.c", 1324); OPEN_DISPS(play->state.gfxCtx, "../z_object_kankyo.c", 1324);
if (play->csCtx.state != 0) { if (play->csCtx.state != CS_STATE_IDLE) {
if (play->csCtx.actorCues[1] != NULL && play->csCtx.actorCues[1]->id == 2 && this->requiredObjectLoaded) { if (play->csCtx.actorCues[1] != NULL && play->csCtx.actorCues[1]->id == 2 && this->requiredObjectLoaded) {
// apparently, light waves with larger amplitudes look brighter, so the name 'amplitude' kind of works here // apparently, light waves with larger amplitudes look brighter, so the name 'amplitude' kind of works here
if (this->effects[0].state == 0) { if (this->effects[0].state == 0) {
@ -896,7 +896,7 @@ void ObjectKankyo_WaitForBeamObject(ObjectKankyo* this, PlayState* play) {
void ObjectKankyo_Beams(ObjectKankyo* this, PlayState* play) { void ObjectKankyo_Beams(ObjectKankyo* this, PlayState* play) {
u8 i; u8 i;
if (play->csCtx.state != 0) { if (play->csCtx.state != CS_STATE_IDLE) {
for (i = 0; i < 6; i++) { for (i = 0; i < 6; i++) {
if (play->csCtx.actorCues[i + 1] != NULL && play->csCtx.actorCues[i + 1]->id == 2) { if (play->csCtx.actorCues[i + 1] != NULL && play->csCtx.actorCues[i + 1]->id == 2) {
if (this->effects[i].size == 0.1f) { if (this->effects[i].size == 0.1f) {

View file

@ -11922,9 +11922,9 @@ void func_8084CBF4(Player* this, f32 arg1, f32 arg2) {
if ((this->unk_878 != 0.0f) && (arg2 <= this->skelAnime.curFrame)) { if ((this->unk_878 != 0.0f) && (arg2 <= this->skelAnime.curFrame)) {
if (arg1 < fabsf(this->unk_878)) { if (arg1 < fabsf(this->unk_878)) {
if (this->unk_878 >= 0.0f) { if (this->unk_878 >= 0.0f) {
dir = 1; dir = 1.0f;
} else { } else {
dir = -1; dir = -1.0f;
} }
temp = dir * arg1; temp = dir * arg1;
} else { } else {
@ -13052,7 +13052,7 @@ void func_8084F698(Player* this, PlayState* play) {
void func_8084F710(Player* this, PlayState* play) { void func_8084F710(Player* this, PlayState* play) {
s32 pad; s32 pad;
if ((this->unk_84F != 0) && (play->csCtx.curFrame < 0x131)) { if ((this->unk_84F != 0) && (play->csCtx.curFrame < 305)) {
this->actor.gravity = 0.0f; this->actor.gravity = 0.0f;
this->actor.velocity.y = 0.0f; this->actor.velocity.y = 0.0f;
} else if (D_80853600 < 150.0f) { } else if (D_80853600 < 150.0f) {

View file

@ -1479,7 +1479,7 @@ void FileSelect_LoadGame(GameState* thisx) {
gSaveContext.nextTransitionType = TRANS_NEXT_TYPE_DEFAULT; gSaveContext.nextTransitionType = TRANS_NEXT_TYPE_DEFAULT;
gSaveContext.nextCutsceneIndex = 0xFFEF; gSaveContext.nextCutsceneIndex = 0xFFEF;
gSaveContext.cutsceneTrigger = 0; gSaveContext.cutsceneTrigger = 0;
gSaveContext.chamberCutsceneNum = 0; gSaveContext.chamberCutsceneNum = CHAMBER_CS_FOREST;
gSaveContext.nextDayTime = NEXT_TIME_NONE; gSaveContext.nextDayTime = NEXT_TIME_NONE;
gSaveContext.retainWeatherMode = false; gSaveContext.retainWeatherMode = false;

View file

@ -828,7 +828,7 @@ void FileSelect_SetupEraseConfirm2(GameState* thisx) {
} }
/** /**
* Allow the player to confirm their chioce to erase or return back to erase select. * Allow the player to confirm their choice to erase or return back to erase select.
* Update function for `CM_ERASE_CONFIRM` * Update function for `CM_ERASE_CONFIRM`
*/ */
void FileSelect_EraseConfirm(GameState* thisx) { void FileSelect_EraseConfirm(GameState* thisx) {