mirror of
https://github.com/zeldaret/oot.git
synced 2025-07-03 06:24:30 +00:00
z_en_ko OK (#869)
* .data OK * Progress * push some old stuff * Finish a chain * Progress * Progress * Run mathfixer.py * Progress * match one more * Up to date * Match func_80A97610 * func_80A96FD0 * most of the way through the mega switch * small formatting thing. still stuck on the switch * start a big switch function * a little closer * done with matching for now starting objects * func_80A97738 OK! * func_80A995CC OK! * func_80A99864 OK! * en_ko OK! * Code clean-up pass * more EnKo cleanups, object_fa and object_kw1 textures documented * complete object_km1, more EnKo documentation * More documentation * delete asm * Clean-up rebase issues * bleh * Implement Dragorn's suggestions * fix spec, implement fig's suggestions * whoops (ill leave it for the docs tho lol) * whoops again * i made an ouchie * smile * last one for real Co-authored-by: Louis <35883445+louist103@users.noreply.github.com> Co-authored-by: fig02 <fig02srl@gmail.com>
This commit is contained in:
parent
6f7312a348
commit
df5e1c63c0
65 changed files with 1454 additions and 4168 deletions
|
@ -552,7 +552,7 @@ void EnBili_UpdateDamage(EnBili* this, GlobalContext* globalCtx) {
|
|||
if ((this->actor.colChkInfo.health != 0) && (this->collider.base.acFlags & AC_HIT)) {
|
||||
this->collider.base.acFlags &= ~AC_HIT;
|
||||
Actor_SetDropFlag(&this->actor, &this->collider.info, 1);
|
||||
|
||||
|
||||
if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) {
|
||||
if (Actor_ApplyDamage(&this->actor) == 0) {
|
||||
Audio_PlayActorSound2(&this->actor, NA_SE_EN_BIRI_DEAD);
|
||||
|
|
|
@ -364,8 +364,8 @@ void EnEiyer_WanderUnderground(EnEiyer* this, GlobalContext* globalCtx) {
|
|||
if (Actor_WorldDistXZToPoint(&this->actor, &this->actor.home.pos) > 100.0f) {
|
||||
this->targetYaw = Actor_WorldYawTowardPoint(&this->actor, &this->actor.home.pos) + 0x8000;
|
||||
} else if (this->targetYaw == this->actor.world.rot.y && Rand_ZeroOne() > 0.99f) {
|
||||
this->targetYaw = this->actor.world.rot.y +
|
||||
(Rand_ZeroOne() < 0.5f ? -1 : 1) * (Rand_ZeroOne() * 0x2000 + 0x2000);
|
||||
this->targetYaw =
|
||||
this->actor.world.rot.y + (Rand_ZeroOne() < 0.5f ? -1 : 1) * (Rand_ZeroOne() * 0x2000 + 0x2000);
|
||||
}
|
||||
|
||||
Math_ScaledStepToS(&this->actor.world.rot.y, this->targetYaw, 0xB6);
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -6,11 +6,57 @@
|
|||
|
||||
struct EnKo;
|
||||
|
||||
typedef void (*EnKoActionFunc)(struct EnKo*, GlobalContext*);
|
||||
|
||||
typedef struct EnKo {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x1D8];
|
||||
/* 0x014C */ SkelAnime skelAnime;
|
||||
/* 0x0190 */ EnKoActionFunc actionFunc;
|
||||
/* 0x0194 */ s8 headObjectBankIdx;
|
||||
/* 0x0195 */ s8 bodyObjectBankIdx;
|
||||
/* 0x0196 */ s8 legsObjectBankIdx;
|
||||
/* 0x0197 */ s8 osAnimeBankIndex;
|
||||
/* 0x0198 */ ColliderCylinder collider;
|
||||
/* 0x01E4 */ Path* path;
|
||||
/* 0x01E8 */ struct_80034A14_arg1 unk_1E8;
|
||||
/* 0X0210 */ u8 unk_210; // block trade quest sfx
|
||||
/* 0x0212 */ s16 forestQuestState;
|
||||
/* 0x0214 */ s16 blinkTimer;
|
||||
/* 0x0216 */ s16 eyeTextureIndex;
|
||||
/* 0x0218 */ f32 appearDist;
|
||||
/* 0x021C */ f32 lookDist; // distance to start looking at player
|
||||
/* 0x0220 */ f32 modelAlpha;
|
||||
/* 0x0224 */ Vec3s jointTable[16];
|
||||
/* 0x0284 */ Vec3s morphTable[16];
|
||||
/* 0x02E4 */ s16 unk_2E4[16];
|
||||
/* 0x0304 */ s16 unk_304[16];
|
||||
} EnKo; // size = 0x0324
|
||||
|
||||
extern const ActorInit En_Ko_InitVars;
|
||||
|
||||
typedef enum {
|
||||
ENKO_TYPE_CHILD_0,
|
||||
ENKO_TYPE_CHILD_1,
|
||||
ENKO_TYPE_CHILD_2,
|
||||
ENKO_TYPE_CHILD_3,
|
||||
ENKO_TYPE_CHILD_4,
|
||||
ENKO_TYPE_CHILD_5, // Shop Awning
|
||||
ENKO_TYPE_CHILD_6,
|
||||
ENKO_TYPE_CHILD_7,
|
||||
ENKO_TYPE_CHILD_8,
|
||||
ENKO_TYPE_CHILD_9,
|
||||
ENKO_TYPE_CHILD_10,
|
||||
ENKO_TYPE_CHILD_11,
|
||||
ENKO_TYPE_CHILD_FADO,
|
||||
ENKO_TYPE_CHILD_MAX
|
||||
} KokiriChildren;
|
||||
|
||||
typedef enum {
|
||||
ENKO_FQS_CHILD_START,
|
||||
ENKO_FQS_CHILD_STONE,
|
||||
ENKO_FQS_CHILD_SARIA,
|
||||
ENKO_FQS_ADULT_ENEMY,
|
||||
ENKO_FQS_ADULT_SAVED
|
||||
} KokiriForestQuestState;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -228,7 +228,8 @@ void ObjBean_Move(ObjBean* this) {
|
|||
}
|
||||
|
||||
void ObjBean_SetDrawMode(ObjBean* this, u8 drawFlag) {
|
||||
this->stateFlags &= ~(BEAN_STATE_DRAW_LEAVES | BEAN_STATE_DRAW_PLANT | BEAN_STATE_DRAW_STALK | BEAN_STATE_DRAW_SOIL);
|
||||
this->stateFlags &=
|
||||
~(BEAN_STATE_DRAW_LEAVES | BEAN_STATE_DRAW_PLANT | BEAN_STATE_DRAW_STALK | BEAN_STATE_DRAW_SOIL);
|
||||
this->stateFlags |= drawFlag;
|
||||
}
|
||||
|
||||
|
@ -645,7 +646,7 @@ void ObjBean_SetupWaitForWater(ObjBean* this) {
|
|||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
//D_80B90E30 isn't being loaded properly
|
||||
// D_80B90E30 isn't being loaded properly
|
||||
void ObjBean_WaitForWater(ObjBean* this, GlobalContext* globalCtx) {
|
||||
this->transformFunc(this);
|
||||
if (!(this->stateFlags & BEAN_STATE_BEEN_WATERED) && Flags_GetEnv(globalCtx, 5) && (D_80B90E30 == NULL) &&
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue