mirror of
https://github.com/zeldaret/oot.git
synced 2024-12-26 06:36:19 +00:00
Fix misc 22 (#1971)
* remove trailing whitespace * fix/docbug about dright for next page of fault menu * // size = ...; -> // size = ... * access `ColliderJntSph.elements` as an array * fixup doc in PreRender.c * empty line after decl * gdSPDefLights1 xyz arguments for direction are signed 8bit values * doc bug of bad use of free in EffDust actor * decimal for Actor.colorFilterTimer * shopItemEntries -> sShopItemEntries * HEISHI4_AT_KAKRIKO_ENTRANCE -> HEISHI4_AT_KAKARIKO_ENTRANCE * format
This commit is contained in:
parent
4dc70fefee
commit
2ce4742bf6
21 changed files with 49 additions and 42 deletions
|
@ -428,7 +428,7 @@ typedef enum {
|
||||||
/**
|
/**
|
||||||
* Unmute all sequence players
|
* Unmute all sequence players
|
||||||
*
|
*
|
||||||
* @param restartNotes (s32) if set to 1, then notes with the `MUTE_BEHAVIOR_STOP_SAMPLES` flag set
|
* @param restartNotes (s32) if set to 1, then notes with the `MUTE_BEHAVIOR_STOP_SAMPLES` flag set
|
||||||
* are marked as finished for all seqPlayers
|
* are marked as finished for all seqPlayers
|
||||||
*/
|
*/
|
||||||
#define AUDIOCMD_GLOBAL_UNMUTE(restartNotes) \
|
#define AUDIOCMD_GLOBAL_UNMUTE(restartNotes) \
|
||||||
|
|
|
@ -88,7 +88,7 @@ typedef enum {
|
||||||
/* 1 */ ANIMTAPER_ACCEL
|
/* 1 */ ANIMTAPER_ACCEL
|
||||||
} AnimationTapers;
|
} AnimationTapers;
|
||||||
|
|
||||||
// This flag seems like it was intended to be paired with `ANIM_FLAG_UPDATE_Y` to control
|
// This flag seems like it was intended to be paired with `ANIM_FLAG_UPDATE_Y` to control
|
||||||
// XZ movement based on the current animation.
|
// XZ movement based on the current animation.
|
||||||
// However, this flag is not checked by the Skelanime system. XZ movement will always occur
|
// However, this flag is not checked by the Skelanime system. XZ movement will always occur
|
||||||
// regardless of the current state of this flag, as long as the "Actor Move" Anim Task is in use.
|
// regardless of the current state of this flag, as long as the "Actor Move" Anim Task is in use.
|
||||||
|
@ -102,16 +102,16 @@ typedef enum {
|
||||||
#define ANIM_FLAG_UPDATE_Y (1 << 1)
|
#define ANIM_FLAG_UPDATE_Y (1 << 1)
|
||||||
|
|
||||||
// (player-only) Related to scaling an animation from/to child/adult
|
// (player-only) Related to scaling an animation from/to child/adult
|
||||||
#define ANIM_FLAG_PLAYER_2 (1 << 2)
|
#define ANIM_FLAG_PLAYER_2 (1 << 2)
|
||||||
|
|
||||||
// (player-only) Call AnimTaskQueue_AddActorMove
|
// (player-only) Call AnimTaskQueue_AddActorMove
|
||||||
#define ANIM_FLAG_PLAYER_SETMOVE (1 << 3)
|
#define ANIM_FLAG_PLAYER_SETMOVE (1 << 3)
|
||||||
|
|
||||||
//
|
//
|
||||||
#define ANIM_FLAG_NO_MOVE (1 << 4)
|
#define ANIM_FLAG_NO_MOVE (1 << 4)
|
||||||
|
|
||||||
// (player-only)
|
// (player-only)
|
||||||
#define ANIM_FLAG_PLAYER_7 (1 << 7)
|
#define ANIM_FLAG_PLAYER_7 (1 << 7)
|
||||||
|
|
||||||
typedef struct SkelAnime {
|
typedef struct SkelAnime {
|
||||||
/* 0x00 */ u8 limbCount; // Number of limbs in the skeleton
|
/* 0x00 */ u8 limbCount; // Number of limbs in the skeleton
|
||||||
|
|
|
@ -786,7 +786,7 @@ typedef struct Player {
|
||||||
/* 0x0450 */ Vec3f unk_450;
|
/* 0x0450 */ Vec3f unk_450;
|
||||||
/* 0x045C */ Vec3f unk_45C;
|
/* 0x045C */ Vec3f unk_45C;
|
||||||
/* 0x0468 */ char unk_468[0x002];
|
/* 0x0468 */ char unk_468[0x002];
|
||||||
/* 0x046A */ union {
|
/* 0x046A */ union {
|
||||||
s16 haltActorsDuringCsAction; // If true, halt actors belonging to certain categories during a `csAction`
|
s16 haltActorsDuringCsAction; // If true, halt actors belonging to certain categories during a `csAction`
|
||||||
s16 slidingDoorBgCamIndex; // `BgCamIndex` used during a sliding door cutscene
|
s16 slidingDoorBgCamIndex; // `BgCamIndex` used during a sliding door cutscene
|
||||||
} cv; // "Cutscene Variable": context dependent variable that has different meanings depending on what function is called
|
} cv; // "Cutscene Variable": context dependent variable that has different meanings depending on what function is called
|
||||||
|
@ -848,11 +848,11 @@ typedef struct Player {
|
||||||
/* 0x0847 */ s8 controlStickSpinAngles[4]; // Stores a modified version of the control stick angle for the last 4 frames. Used for checking spins.
|
/* 0x0847 */ s8 controlStickSpinAngles[4]; // Stores a modified version of the control stick angle for the last 4 frames. Used for checking spins.
|
||||||
/* 0x084B */ s8 controlStickDirections[4]; // Stores the control stick direction (relative to shape yaw) for the last 4 frames. See `PlayerStickDirection`.
|
/* 0x084B */ s8 controlStickDirections[4]; // Stores the control stick direction (relative to shape yaw) for the last 4 frames. See `PlayerStickDirection`.
|
||||||
|
|
||||||
/* 0x084F */ union {
|
/* 0x084F */ union {
|
||||||
s8 actionVar1;
|
s8 actionVar1;
|
||||||
} av1; // "Action Variable 1": context dependent variable that has different meanings depending on what action is currently running
|
} av1; // "Action Variable 1": context dependent variable that has different meanings depending on what action is currently running
|
||||||
|
|
||||||
/* 0x0850 */ union {
|
/* 0x0850 */ union {
|
||||||
s16 actionVar2;
|
s16 actionVar2;
|
||||||
} av2; // "Action Variable 2": context dependent variable that has different meanings depending on what action is currently running
|
} av2; // "Action Variable 2": context dependent variable that has different meanings depending on what action is currently running
|
||||||
|
|
||||||
|
|
|
@ -88,7 +88,7 @@ typedef struct {
|
||||||
/* 0x060 */ Mtx lookAt;
|
/* 0x060 */ Mtx lookAt;
|
||||||
/* 0x0A0 */ void* texture;
|
/* 0x0A0 */ void* texture;
|
||||||
/* 0x0A8 */ Mtx modelView[2][3];
|
/* 0x0A8 */ Mtx modelView[2][3];
|
||||||
} TransitionCircle; // size = 0x228;
|
} TransitionCircle; // size = 0x228
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x000 */ Color_RGBA8_u32 color;
|
/* 0x000 */ Color_RGBA8_u32 color;
|
||||||
|
@ -99,6 +99,6 @@ typedef struct {
|
||||||
/* 0x018 */ Mtx projection;
|
/* 0x018 */ Mtx projection;
|
||||||
/* 0x058 */ s32 frame;
|
/* 0x058 */ s32 frame;
|
||||||
/* 0x060 */ Mtx modelView[2][3];
|
/* 0x060 */ Mtx modelView[2][3];
|
||||||
} TransitionTriforce; // size = 0x1E0;
|
} TransitionTriforce; // size = 0x1E0
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -659,11 +659,12 @@ void PreRender_AntiAliasFilter(PreRender* this, s32 x, s32 y) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// The background color is determined by averaging the penultimate minimum and maximum pixels, and subtracting the
|
// The background color is determined by adding the penultimate minimum and maximum pixels, and subtracting the
|
||||||
// ForeGround color:
|
// ForeGround color:
|
||||||
// BackGround = (pMax + pMin) - (ForeGround) * 2
|
// BackGround = (pMax + pMin) - ForeGround
|
||||||
|
|
||||||
// OutputColor = cvg * ForeGround + (1.0 - cvg) * BackGround
|
// OutputColor = cvg * ForeGround + (1.0 - cvg) * BackGround
|
||||||
|
// = ForeGround + (1.0 - cvg) * (BackGround - ForeGround)
|
||||||
invCvg = 7 - buffCvg[7];
|
invCvg = 7 - buffCvg[7];
|
||||||
outR = buffR[7] + ((s32)(invCvg * (pmaxR + pminR - (buffR[7] * 2)) + 4) >> 3);
|
outR = buffR[7] + ((s32)(invCvg * (pmaxR + pminR - (buffR[7] * 2)) + 4) >> 3);
|
||||||
outG = buffG[7] + ((s32)(invCvg * (pmaxG + pminG - (buffG[7] * 2)) + 4) >> 3);
|
outG = buffG[7] + ((s32)(invCvg * (pmaxG + pminG - (buffG[7] * 2)) + 4) >> 3);
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
* - End Screen
|
* - End Screen
|
||||||
* This page informs you that there are no more pages to display.
|
* This page informs you that there are no more pages to display.
|
||||||
*
|
*
|
||||||
* To navigate the pages, START and A may be used to advance to the next page, and L toggles whether to
|
* To navigate the pages, DPad-Right or A may be used to advance to the next page, and L toggles whether to
|
||||||
* automatically scroll to the next page after some time has passed.
|
* automatically scroll to the next page after some time has passed.
|
||||||
* DPad-Up may be pressed to enable sending fault pages over osSyncPrintf as well as displaying them on-screen.
|
* DPad-Up may be pressed to enable sending fault pages over osSyncPrintf as well as displaying them on-screen.
|
||||||
* DPad-Down disables sending fault pages over osSyncPrintf.
|
* DPad-Down disables sending fault pages over osSyncPrintf.
|
||||||
|
@ -911,6 +911,8 @@ void Fault_DrawMemDump(uintptr_t pc, uintptr_t sp, uintptr_t cLeftJump, uintptr_
|
||||||
} while (input->press.button == 0);
|
} while (input->press.button == 0);
|
||||||
|
|
||||||
// Move to next page
|
// Move to next page
|
||||||
|
//! @bug DPad-Right does not move to the next page, unlike when on any other page
|
||||||
|
// START moving to the next page is unique to this page.
|
||||||
if (CHECK_BTN_ALL(input->press.button, BTN_START) || CHECK_BTN_ALL(input->cur.button, BTN_A)) {
|
if (CHECK_BTN_ALL(input->press.button, BTN_START) || CHECK_BTN_ALL(input->cur.button, BTN_A)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -462,6 +462,7 @@ void Graph_ThreadEntry(void* arg0) {
|
||||||
if (gameState == NULL) {
|
if (gameState == NULL) {
|
||||||
#if OOT_DEBUG
|
#if OOT_DEBUG
|
||||||
char faultMsg[0x50];
|
char faultMsg[0x50];
|
||||||
|
|
||||||
PRINTF("確保失敗\n"); // "Failure to secure"
|
PRINTF("確保失敗\n"); // "Failure to secure"
|
||||||
|
|
||||||
sprintf(faultMsg, "CLASS SIZE= %d bytes", size);
|
sprintf(faultMsg, "CLASS SIZE= %d bytes", size);
|
||||||
|
|
|
@ -1785,7 +1785,7 @@ void Player_DrawPauseImpl(PlayState* play, void* gameplayKeep, void* linkObject,
|
||||||
// Note: the viewport x and y values are overwritten below, before usage
|
// Note: the viewport x and y values are overwritten below, before usage
|
||||||
static Vp viewport = { (PAUSE_EQUIP_PLAYER_WIDTH / 2) << 2, (PAUSE_EQUIP_PLAYER_HEIGHT / 2) << 2, G_MAXZ / 2, 0,
|
static Vp viewport = { (PAUSE_EQUIP_PLAYER_WIDTH / 2) << 2, (PAUSE_EQUIP_PLAYER_HEIGHT / 2) << 2, G_MAXZ / 2, 0,
|
||||||
(PAUSE_EQUIP_PLAYER_WIDTH / 2) << 2, (PAUSE_EQUIP_PLAYER_HEIGHT / 2) << 2, G_MAXZ / 2, 0 };
|
(PAUSE_EQUIP_PLAYER_WIDTH / 2) << 2, (PAUSE_EQUIP_PLAYER_HEIGHT / 2) << 2, G_MAXZ / 2, 0 };
|
||||||
static Lights1 lights1 = gdSPDefLights1(80, 80, 80, 255, 255, 255, 84, 84, 172);
|
static Lights1 lights1 = gdSPDefLights1(80, 80, 80, 255, 255, 255, 84, 84, -84);
|
||||||
static Vec3f lightDir = { 89.8f, 0.0f, 89.8f };
|
static Vec3f lightDir = { 89.8f, 0.0f, 89.8f };
|
||||||
u8 playerSwordAndShield[2];
|
u8 playerSwordAndShield[2];
|
||||||
Gfx* opaRef;
|
Gfx* opaRef;
|
||||||
|
|
|
@ -380,6 +380,7 @@ s32 View_ApplyPerspective(View* view) {
|
||||||
if (QREG(88) & 2) {
|
if (QREG(88) & 2) {
|
||||||
s32 i;
|
s32 i;
|
||||||
MtxF mf;
|
MtxF mf;
|
||||||
|
|
||||||
Matrix_MtxToMtxF(view->viewingPtr, &mf);
|
Matrix_MtxToMtxF(view->viewingPtr, &mf);
|
||||||
|
|
||||||
PRINTF("viewing\n");
|
PRINTF("viewing\n");
|
||||||
|
|
|
@ -310,7 +310,7 @@ void BgSpot06Objects_LockWait(BgSpot06Objects* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
|
|
||||||
EffectSsGSplash_Spawn(play, &this->dyna.actor.world.pos, NULL, NULL, 1, 700);
|
EffectSsGSplash_Spawn(play, &this->dyna.actor.world.pos, NULL, NULL, 1, 700);
|
||||||
this->collider.elements->dim.worldSphere.radius = 45;
|
this->collider.elements[0].dim.worldSphere.radius = 45;
|
||||||
this->actionFunc = BgSpot06Objects_LockPullOutward;
|
this->actionFunc = BgSpot06Objects_LockPullOutward;
|
||||||
Audio_PlaySfxGeneral(NA_SE_SY_CORRECT_CHIME, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
Audio_PlaySfxGeneral(NA_SE_SY_CORRECT_CHIME, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
|
||||||
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
|
||||||
|
|
|
@ -102,6 +102,8 @@ void EffDust_Init(Actor* thisx, PlayState* play) {
|
||||||
this->scalingFactor = 20.0f;
|
this->scalingFactor = 20.0f;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
//! @bug Actor_Kill should be used, not free.
|
||||||
|
//! Note this also frees with a function for the wrong memory arena.
|
||||||
SYSTEM_ARENA_FREE(this, "../z_eff_dust.c", 202);
|
SYSTEM_ARENA_FREE(this, "../z_eff_dust.c", 202);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1248,10 +1248,10 @@ void EnBb_Update(Actor* thisx, PlayState* play2) {
|
||||||
UPDBGCHECKINFO_FLAG_0 | UPDBGCHECKINFO_FLAG_2);
|
UPDBGCHECKINFO_FLAG_0 | UPDBGCHECKINFO_FLAG_2);
|
||||||
}
|
}
|
||||||
this->actor.focus.pos = this->actor.world.pos;
|
this->actor.focus.pos = this->actor.world.pos;
|
||||||
this->collider.elements->dim.worldSphere.center.x = this->actor.world.pos.x;
|
this->collider.elements[0].dim.worldSphere.center.x = this->actor.world.pos.x;
|
||||||
this->collider.elements->dim.worldSphere.center.y =
|
this->collider.elements[0].dim.worldSphere.center.y =
|
||||||
this->actor.world.pos.y + (this->actor.shape.yOffset * this->actor.scale.y);
|
this->actor.world.pos.y + (this->actor.shape.yOffset * this->actor.scale.y);
|
||||||
this->collider.elements->dim.worldSphere.center.z = this->actor.world.pos.z;
|
this->collider.elements[0].dim.worldSphere.center.z = this->actor.world.pos.z;
|
||||||
|
|
||||||
if ((this->action > BB_KILL) && ((this->actor.speed != 0.0f) || (this->action == BB_GREEN))) {
|
if ((this->action > BB_KILL) && ((this->actor.speed != 0.0f) || (this->action == BB_GREEN))) {
|
||||||
CollisionCheck_SetAT(play, &play->colChkCtx, &this->collider.base);
|
CollisionCheck_SetAT(play, &play->colChkCtx, &this->collider.base);
|
||||||
|
|
|
@ -165,7 +165,7 @@ void EnBigokuta_Init(Actor* thisx, PlayState* play) {
|
||||||
Collider_InitJntSph(play, &this->collider);
|
Collider_InitJntSph(play, &this->collider);
|
||||||
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, &this->element);
|
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, &this->element);
|
||||||
|
|
||||||
this->collider.elements->dim.worldSphere.radius = this->collider.elements->dim.modelSphere.radius;
|
this->collider.elements[0].dim.worldSphere.radius = this->collider.elements[0].dim.modelSphere.radius;
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_COUNT(sCylinderInit); i++) {
|
for (i = 0; i < ARRAY_COUNT(sCylinderInit); i++) {
|
||||||
Collider_InitCylinder(play, &this->cylinder[i]);
|
Collider_InitCylinder(play, &this->cylinder[i]);
|
||||||
|
@ -694,14 +694,14 @@ void func_809BE568(EnBigokuta* this) {
|
||||||
f32 sin = Math_SinS(this->actor.shape.rot.y);
|
f32 sin = Math_SinS(this->actor.shape.rot.y);
|
||||||
f32 cos = Math_CosS(this->actor.shape.rot.y);
|
f32 cos = Math_CosS(this->actor.shape.rot.y);
|
||||||
|
|
||||||
this->collider.elements->dim.worldSphere.center.x =
|
this->collider.elements[0].dim.worldSphere.center.x = this->actor.world.pos.x +
|
||||||
(this->collider.elements->dim.modelSphere.center.z * sin) +
|
(this->collider.elements[0].dim.modelSphere.center.x * cos) +
|
||||||
(this->actor.world.pos.x + (this->collider.elements->dim.modelSphere.center.x * cos));
|
(this->collider.elements[0].dim.modelSphere.center.z * sin);
|
||||||
this->collider.elements->dim.worldSphere.center.z =
|
this->collider.elements[0].dim.worldSphere.center.z = this->actor.world.pos.z +
|
||||||
(this->actor.world.pos.z + (this->collider.elements->dim.modelSphere.center.z * cos)) -
|
(this->collider.elements[0].dim.modelSphere.center.z * cos) -
|
||||||
(this->collider.elements->dim.modelSphere.center.x * sin);
|
(this->collider.elements[0].dim.modelSphere.center.x * sin);
|
||||||
this->collider.elements->dim.worldSphere.center.y =
|
this->collider.elements[0].dim.worldSphere.center.y =
|
||||||
this->collider.elements->dim.modelSphere.center.y + this->actor.world.pos.y;
|
this->actor.world.pos.y + this->collider.elements[0].dim.modelSphere.center.y;
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_COUNT(this->cylinder); i++) {
|
for (i = 0; i < ARRAY_COUNT(this->cylinder); i++) {
|
||||||
this->cylinder[i].dim.pos.x =
|
this->cylinder[i].dim.pos.x =
|
||||||
|
|
|
@ -198,7 +198,7 @@ void EnBrob_Stunned(EnBrob* this, PlayState* play) {
|
||||||
} else if (this->skelAnime.curFrame < 8.0f) {
|
} else if (this->skelAnime.curFrame < 8.0f) {
|
||||||
this->modelOffsetY -= 1250.0f;
|
this->modelOffsetY -= 1250.0f;
|
||||||
}
|
}
|
||||||
this->dyna.actor.colorFilterTimer = 0x50;
|
this->dyna.actor.colorFilterTimer = 80;
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnBrob_MoveDown(EnBrob* this, PlayState* play) {
|
void EnBrob_MoveDown(EnBrob* this, PlayState* play) {
|
||||||
|
|
|
@ -155,7 +155,7 @@ typedef struct {
|
||||||
/* 0x1C */ void (*buyEventFunc)(PlayState*, EnGirlA*);
|
/* 0x1C */ void (*buyEventFunc)(PlayState*, EnGirlA*);
|
||||||
} ShopItemEntry; // size = 0x20
|
} ShopItemEntry; // size = 0x20
|
||||||
|
|
||||||
static ShopItemEntry shopItemEntries[] = {
|
static ShopItemEntry sShopItemEntries[] = {
|
||||||
// SI_DEKU_NUTS_5
|
// SI_DEKU_NUTS_5
|
||||||
{ OBJECT_GI_NUTS, GID_DEKU_NUTS, func_8002ED80, 15, 5, 0x00B2, 0x007F, GI_DEKU_NUTS_5_2, EnGirlA_CanBuy_DekuNuts,
|
{ OBJECT_GI_NUTS, GID_DEKU_NUTS, func_8002ED80, 15, 5, 0x00B2, 0x007F, GI_DEKU_NUTS_5_2, EnGirlA_CanBuy_DekuNuts,
|
||||||
EnGirlA_ItemGive_DekuNuts, EnGirlA_BuyEvent_ShieldDiscount },
|
EnGirlA_ItemGive_DekuNuts, EnGirlA_BuyEvent_ShieldDiscount },
|
||||||
|
@ -389,7 +389,7 @@ void EnGirlA_InitItem(EnGirlA* this, PlayState* play) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
this->requiredObjectSlot = Object_GetSlot(&play->objectCtx, shopItemEntries[params].objID);
|
this->requiredObjectSlot = Object_GetSlot(&play->objectCtx, sShopItemEntries[params].objID);
|
||||||
|
|
||||||
if (this->requiredObjectSlot < 0) {
|
if (this->requiredObjectSlot < 0) {
|
||||||
Actor_Kill(&this->actor);
|
Actor_Kill(&this->actor);
|
||||||
|
@ -895,7 +895,7 @@ void EnGirlA_Noop(EnGirlA* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void EnGirlA_SetItemDescription(PlayState* play, EnGirlA* this) {
|
void EnGirlA_SetItemDescription(PlayState* play, EnGirlA* this) {
|
||||||
ShopItemEntry* tmp = &shopItemEntries[this->actor.params];
|
ShopItemEntry* tmp = &sShopItemEntries[this->actor.params];
|
||||||
s32 params = this->actor.params;
|
s32 params = this->actor.params;
|
||||||
|
|
||||||
if ((this->actor.params >= SI_KEATON_MASK) && (this->actor.params <= SI_MASK_OF_TRUTH)) {
|
if ((this->actor.params >= SI_KEATON_MASK) && (this->actor.params <= SI_MASK_OF_TRUTH)) {
|
||||||
|
@ -954,7 +954,7 @@ void EnGirlA_UpdateStockedItem(PlayState* play, EnGirlA* this) {
|
||||||
|
|
||||||
if (EnGirlA_TryChangeShopItem(this)) {
|
if (EnGirlA_TryChangeShopItem(this)) {
|
||||||
EnGirlA_InitItem(this, play);
|
EnGirlA_InitItem(this, play);
|
||||||
itemEntry = &shopItemEntries[this->actor.params];
|
itemEntry = &sShopItemEntries[this->actor.params];
|
||||||
this->actor.textId = itemEntry->itemDescTextId;
|
this->actor.textId = itemEntry->itemDescTextId;
|
||||||
} else {
|
} else {
|
||||||
this->isInvisible = false;
|
this->isInvisible = false;
|
||||||
|
@ -979,7 +979,7 @@ s32 EnGirlA_TrySetMaskItemDescription(EnGirlA* this, PlayState* play) {
|
||||||
|
|
||||||
void EnGirlA_WaitForObject(EnGirlA* this, PlayState* play) {
|
void EnGirlA_WaitForObject(EnGirlA* this, PlayState* play) {
|
||||||
s16 params = this->actor.params;
|
s16 params = this->actor.params;
|
||||||
ShopItemEntry* itemEntry = &shopItemEntries[params];
|
ShopItemEntry* itemEntry = &sShopItemEntries[params];
|
||||||
|
|
||||||
if (Object_IsLoaded(&play->objectCtx, this->requiredObjectSlot)) {
|
if (Object_IsLoaded(&play->objectCtx, this->requiredObjectSlot)) {
|
||||||
this->actor.flags &= ~ACTOR_FLAG_4;
|
this->actor.flags &= ~ACTOR_FLAG_4;
|
||||||
|
|
|
@ -80,7 +80,7 @@ void EnHeishi4_Init(Actor* thisx, PlayState* play) {
|
||||||
this->collider.dim.radius = 15;
|
this->collider.dim.radius = 15;
|
||||||
this->collider.dim.height = 70;
|
this->collider.dim.height = 70;
|
||||||
switch (this->type) {
|
switch (this->type) {
|
||||||
case HEISHI4_AT_KAKRIKO_ENTRANCE:
|
case HEISHI4_AT_KAKARIKO_ENTRANCE:
|
||||||
case HEISHI4_AT_IMPAS_HOUSE:
|
case HEISHI4_AT_IMPAS_HOUSE:
|
||||||
this->actionFunc = func_80A56328;
|
this->actionFunc = func_80A56328;
|
||||||
break;
|
break;
|
||||||
|
@ -304,7 +304,7 @@ void func_80A56B40(EnHeishi4* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
if (MaskReaction_GetTextId(play, sMaskReactionSets[reactionOffset]) != 0) {
|
if (MaskReaction_GetTextId(play, sMaskReactionSets[reactionOffset]) != 0) {
|
||||||
if (this->unk_2B4 == 0) {
|
if (this->unk_2B4 == 0) {
|
||||||
if ((this->type == HEISHI4_AT_KAKRIKO_ENTRANCE) || (this->type == HEISHI4_AT_IMPAS_HOUSE)) {
|
if ((this->type == HEISHI4_AT_KAKARIKO_ENTRANCE) || (this->type == HEISHI4_AT_IMPAS_HOUSE)) {
|
||||||
this->actionFunc = func_80A563BC;
|
this->actionFunc = func_80A563BC;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -315,7 +315,7 @@ void func_80A56B40(EnHeishi4* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (this->unk_2B4 != 0) {
|
if (this->unk_2B4 != 0) {
|
||||||
if ((this->type == HEISHI4_AT_KAKRIKO_ENTRANCE) || (this->type == HEISHI4_AT_IMPAS_HOUSE)) {
|
if ((this->type == HEISHI4_AT_KAKARIKO_ENTRANCE) || (this->type == HEISHI4_AT_IMPAS_HOUSE)) {
|
||||||
this->actionFunc = func_80A563BC;
|
this->actionFunc = func_80A563BC;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -326,7 +326,7 @@ void func_80A56B40(EnHeishi4* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (Actor_TalkOfferAccepted(&this->actor, play)) {
|
if (Actor_TalkOfferAccepted(&this->actor, play)) {
|
||||||
if ((this->type == HEISHI4_AT_KAKRIKO_ENTRANCE) || (this->type == HEISHI4_AT_IMPAS_HOUSE)) {
|
if ((this->type == HEISHI4_AT_KAKARIKO_ENTRANCE) || (this->type == HEISHI4_AT_IMPAS_HOUSE)) {
|
||||||
this->unk_284 = 1;
|
this->unk_284 = 1;
|
||||||
this->actionFunc = func_80A563BC;
|
this->actionFunc = func_80A563BC;
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
/* 0x00 */ HEISHI4_AT_KAKRIKO_ENTRANCE,
|
/* 0x00 */ HEISHI4_AT_KAKARIKO_ENTRANCE,
|
||||||
/* 0x04 */ HEISHI4_AT_IMPAS_HOUSE = 4,
|
/* 0x04 */ HEISHI4_AT_IMPAS_HOUSE = 4,
|
||||||
/* 0x07 */ HEISHI4_AT_MARKET_DYING = 7,
|
/* 0x07 */ HEISHI4_AT_MARKET_DYING = 7,
|
||||||
/* 0x08 */ HEISHI4_AT_MARKET_NIGHT
|
/* 0x08 */ HEISHI4_AT_MARKET_NIGHT
|
||||||
|
|
|
@ -111,7 +111,7 @@ void EnNwc_ChickFall(EnNwcChick* chick, EnNwc* this, PlayState* play) {
|
||||||
void EnNwc_UpdateChicks(EnNwc* this, PlayState* play) {
|
void EnNwc_UpdateChicks(EnNwc* this, PlayState* play) {
|
||||||
static EnNwcChickFunc chickActionFuncs[] = { EnNwc_ChickNoop, EnNwc_ChickFall };
|
static EnNwcChickFunc chickActionFuncs[] = { EnNwc_ChickNoop, EnNwc_ChickFall };
|
||||||
EnNwcChick* chick = this->chicks;
|
EnNwcChick* chick = this->chicks;
|
||||||
ColliderJntSphElement* element = this->collider.elements;
|
ColliderJntSphElement* element = &this->collider.elements[0];
|
||||||
Vec3f prevChickPos;
|
Vec3f prevChickPos;
|
||||||
s32 i;
|
s32 i;
|
||||||
f32 test;
|
f32 test;
|
||||||
|
|
|
@ -150,7 +150,7 @@ void EnTp_Init(Actor* thisx, PlayState* play2) {
|
||||||
this->actor.naviEnemyId = NAVI_ENEMY_TAILPASARAN;
|
this->actor.naviEnemyId = NAVI_ENEMY_TAILPASARAN;
|
||||||
this->timer = 0;
|
this->timer = 0;
|
||||||
this->collider.base.acFlags |= AC_HARD;
|
this->collider.base.acFlags |= AC_HARD;
|
||||||
this->collider.elements->dim.modelSphere.radius = this->collider.elements->dim.worldSphere.radius = 8;
|
this->collider.elements[0].dim.modelSphere.radius = this->collider.elements[0].dim.worldSphere.radius = 8;
|
||||||
EnTp_Head_SetupWait(this);
|
EnTp_Head_SetupWait(this);
|
||||||
this->actor.focus.pos = this->actor.world.pos;
|
this->actor.focus.pos = this->actor.world.pos;
|
||||||
this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4;
|
this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4;
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* 0x00 */ Vec3f pos;
|
/* 0x00 */ Vec3f pos;
|
||||||
/* 0x0C */ s16 yRot;
|
/* 0x0C */ s16 yRot;
|
||||||
} EnfHGPainting; // size = 0x10;
|
} EnfHGPainting; // size = 0x10
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
/* 0 */ INTRO_WAIT,
|
/* 0 */ INTRO_WAIT,
|
||||||
|
|
|
@ -9,7 +9,7 @@ struct Fishing;
|
||||||
typedef struct Fishing {
|
typedef struct Fishing {
|
||||||
/* 0x0000 */ Actor actor;
|
/* 0x0000 */ Actor actor;
|
||||||
/* 0x014C */ char unk_14C[0x004];
|
/* 0x014C */ char unk_14C[0x004];
|
||||||
/* 0x0150 */ u8 isLoach;
|
/* 0x0150 */ u8 isLoach;
|
||||||
/* 0x0151 */ u8 lilyTimer; // if near lily and >0, lily moves. Move more if >20
|
/* 0x0151 */ u8 lilyTimer; // if near lily and >0, lily moves. Move more if >20
|
||||||
/* 0x0152 */ u8 unk_152;
|
/* 0x0152 */ u8 unk_152;
|
||||||
/* 0x0154 */ s16 unk_154;
|
/* 0x0154 */ s16 unk_154;
|
||||||
|
|
Loading…
Reference in a new issue