`ovl_En_An` OK and somewhat documented (#1457)

* Init and Destroy

* EnAn_Update

* EnAn_Draw

* the overrides

* func_80B54124

* two more

* more funcs

* SCHEDULE_CALC_TIME_ALT

* moar

* mor

* mas

* scriiiipts

* mor funcs

* almost everythihng

* migrate data

* func_80B57B48 NON_EQUIVALENT

* object symbols

* face

* fix merge

* slots

* schedule result enum

* func_80B57B48

* format

* name some easy to name struct members

* stateFlags

* object stuff

* accessories

* text ids

* more function naming

* more naming

* name some anims

* trying to make sense out of the schedule

* convert schedule to ifs

* clean it up

* schedule algorithm

* many placeholder names

* name most of the important schedule values

* Add notes to every reamining schedule enum value

* dec

* HandleSchedule

* more naming

* name flags

* name some of the ProcessSchedule functions

* and more naming

* a bit of asset naming

* some typos

* asset naming

* more asset naming

* printing code

* WEEKEVENTREG_COUPLES_MASK_CUTSCENE_*

* name the mouths

* idk

* whoops

* format

* Name the remaining weekeventregs from anju

* name more flags

* whoops

* a

* Incorporate SCHEDULE_TIME

* format

* fix merge

* cleanup

* remove debug stuff

* clean

* WEEKEVENTREG_TALKED_ANJU_IN_LAUNDRY_POOL

* whoops

* remove some gotos

* whoops

* Update src/overlays/actors/ovl_En_An/z_en_an.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_An/z_en_an.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_An/z_en_an.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_An/z_en_an.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_An/z_en_an.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_An/z_en_an.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* review

* whoops

* review

* ENAN_GET_8000

* Update src/overlays/actors/ovl_En_An/z_en_an.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/overlays/actors/ovl_En_An/z_en_an.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/overlays/actors/ovl_En_An/z_en_an.c

Co-authored-by: Isghj <42048411+isghj5@users.noreply.github.com>

* review

* Update src/overlays/actors/ovl_En_An/z_en_an.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

* Update src/overlays/actors/ovl_En_An/z_en_an.c

Co-authored-by: Isghj <42048411+isghj5@users.noreply.github.com>

* fix merge

* Update src/overlays/actors/ovl_En_An/z_en_an.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_An/z_en_an.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Update src/overlays/actors/ovl_En_An/z_en_an.c

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* review

* review

---------

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: Isghj <42048411+isghj5@users.noreply.github.com>
This commit is contained in:
Anghelo Carvajal 2023-11-09 19:52:32 -03:00 committed by GitHub
parent f2347000b0
commit 70637abca9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 3572 additions and 202 deletions

View File

@ -1018,7 +1018,10 @@ typedef enum {
#define WEEKEVENTREG_51_08 PACK_WEEKEVENTREG_FLAG(51, 0x08)
#define WEEKEVENTREG_51_10 PACK_WEEKEVENTREG_FLAG(51, 0x10)
#define WEEKEVENTREG_ESCAPED_SAKONS_HIDEOUT PACK_WEEKEVENTREG_FLAG(51, 0x20)
// Set by Kafei
#define WEEKEVENTREG_COUPLES_MASK_CUTSCENE_FINISHED PACK_WEEKEVENTREG_FLAG(51, 0x40)
#define WEEKEVENTREG_51_80 PACK_WEEKEVENTREG_FLAG(51, 0x80)
// Protected Cremia
@ -1056,7 +1059,7 @@ typedef enum {
#define WEEKEVENTREG_TALKED_PART_TIMER_AS_GORON PACK_WEEKEVENTREG_FLAG(55, 0x04)
#define WEEKEVENTREG_TALKED_PART_TIMER_AS_ZORA PACK_WEEKEVENTREG_FLAG(55, 0x08)
#define WEEKEVENTREG_TALKED_PART_TIMER_AS_DEKU PACK_WEEKEVENTREG_FLAG(55, 0x10)
#define WEEKEVENTREG_55_20 PACK_WEEKEVENTREG_FLAG(55, 0x20)
#define WEEKEVENTREG_TALKED_ANJU_IN_LAUNDRY_POOL PACK_WEEKEVENTREG_FLAG(55, 0x20)
#define WEEKEVENTREG_55_40 PACK_WEEKEVENTREG_FLAG(55, 0x40)
// Gyorg has been defeated
@ -1354,13 +1357,16 @@ typedef enum {
#define WEEKEVENTREG_86_01 PACK_WEEKEVENTREG_FLAG(86, 0x01)
#define WEEKEVENTREG_86_02 PACK_WEEKEVENTREG_FLAG(86, 0x02)
#define WEEKEVENTREG_86_04 PACK_WEEKEVENTREG_FLAG(86, 0x04)
#define WEEKEVENTREG_86_08 PACK_WEEKEVENTREG_FLAG(86, 0x08)
#define WEEKEVENTREG_LISTENED_ANJU_POSTMAN_CONVERSATION PACK_WEEKEVENTREG_FLAG(86, 0x08)
#define WEEKEVENTREG_86_10 PACK_WEEKEVENTREG_FLAG(86, 0x10)
#define WEEKEVENTREG_86_20 PACK_WEEKEVENTREG_FLAG(86, 0x20)
#define WEEKEVENTREG_86_40 PACK_WEEKEVENTREG_FLAG(86, 0x40)
#define WEEKEVENTREG_86_80 PACK_WEEKEVENTREG_FLAG(86, 0x80)
#define WEEKEVENTREG_87_01 PACK_WEEKEVENTREG_FLAG(87, 0x01)
#define WEEKEVENTREG_87_02 PACK_WEEKEVENTREG_FLAG(87, 0x02)
// Set by Anju
#define WEEKEVENTREG_COUPLES_MASK_CUTSCENE_STARTED PACK_WEEKEVENTREG_FLAG(87, 0x02)
#define WEEKEVENTREG_87_04 PACK_WEEKEVENTREG_FLAG(87, 0x04)
#define WEEKEVENTREG_87_08 PACK_WEEKEVENTREG_FLAG(87, 0x08)
#define WEEKEVENTREG_87_10 PACK_WEEKEVENTREG_FLAG(87, 0x10)

3
spec
View File

@ -3752,8 +3752,7 @@ beginseg
name "ovl_En_An"
compress
include "build/src/overlays/actors/ovl_En_An/z_en_an.o"
include "build/data/ovl_En_An/ovl_En_An.data.o"
include "build/data/ovl_En_An/ovl_En_An.reloc.o"
include "build/src/overlays/actors/ovl_En_An/ovl_En_An_reloc.o"
endseg
beginseg

File diff suppressed because it is too large Load Diff

View File

@ -2,16 +2,102 @@
#define Z_EN_AN_H
#include "global.h"
#include "assets/objects/object_an1/object_an1.h"
struct EnAn;
typedef void (*EnAnActionFunc)(struct EnAn*, PlayState*);
typedef void (*EnAnDialogueFunc)(struct EnAn*, PlayState*);
typedef s32 (*MsgEventFunc)(Actor*, PlayState*);
#define ENAN_8000 0x8000
#define ENAN_GET_PATH_INDEX(thisx) ((thisx)->params & 0xFF)
#define ENAN_GET_8000(thisx) ((thisx)->params & ENAN_8000)
#define ENAN_STATE_8 (1 << 3) // path related
#define ENAN_STATE_REACHED_PATH_END (1 << 4)
#define ENAN_STATE_ENGAGED (1 << 5)
#define ENAN_STATE_IGNORE_GRAVITY (1 << 6)
#define ENAN_STATE_FACE_TARGET (1 << 7)
#define ENAN_STATE_UPDATE_EYES (1 << 8)
#define ENAN_STATE_LOST_ATTENTION (1 << 9)
#define ENAN_STATE_TALKING (1 << 10)
#define ENAN_STATE_DRAW_TRAY (1 << 11)
#define ENAN_STATE_DRAW_UMBRELLA (1 << 12)
#define ENAN_STATE_DRAW_BROOM (1 << 13)
#define ENAN_STATE_DRAW_KAFEIS_MASK (1 << 14)
#define ENAN_STATE_DRAW_CHOPSTICKS (1 << 15)
typedef struct EnAn {
/* 0x000 */ Actor actor;
/* 0x144 */ char unk_144[0x44];
/* 0x144 */ SkelAnime skelAnime;
/* 0x188 */ EnAnActionFunc actionFunc;
/* 0x18C */ char unk_18C[0x23C];
/* 0x18C */ EnAnDialogueFunc dialogueFunc;
/* 0x190 */ ColliderCylinder collider;
/* 0x1DC */ Path* timePath;
/* 0x1E0 */ Vec3f timePathTargetPos;
/* 0x1EC */ f32 timePathProgress;
/* 0x1F0 */ s32 timePathTotalTime;
/* 0x1F4 */ s32 timePathWaypointTime;
/* 0x1F8 */ s32 timePathWaypoint;
/* 0x1FC */ s32 timePathElapsedTime;
/* 0x200 */ u8 scheduleResult;
/* 0x204 */ s32* msgEventScript;
/* 0x208 */ s8 an2ObjectSlot;
/* 0x209 */ s8 an3ObjectSlot;
/* 0x20A */ s8 maskKerfayObjectSlot;
/* 0x20B */ s8 an4ObjectSlot;
/* 0x20C */ s8 msmoObjectSlot;
/* 0x210 */ s32 msgScriptResumePos;
/* 0x214 */ s8 roomNum;
/* 0x215 */ s8 doorOpenTimer;
/* 0x218 */ Actor* lookAtActor; // interactActor
/* 0x21C */ UNK_TYPE1 unk_21C[0xC];
/* 0x228 */ Vec3f doorEntrancePos; // Position of the point just before entering the door
/* 0x234 */ Vec3f doorExitPos; // Position of the point just after passing through the door
/* 0x240 */ Vec3f headComputedPos;
/* 0x24C */ UNK_TYPE1 unk_24C[0xC];
/* 0x258 */ Vec3s headComputedRot;
/* 0x25E */ UNK_TYPE1 unk_25E[0x6];
/* 0x264 */ Vec3s jointTable[ANJU1_LIMB_MAX];
/* 0x2E2 */ Vec3s morphTable[ANJU1_LIMB_MAX];
/* 0x360 */ u16 stateFlags;
/* 0x362 */ u16 prevTextId;
/* 0x364 */ u8 cueId;
/* 0x368 */ f32 animPlaySpeed;
/* 0x36C */ UNK_TYPE1 unk_36C[0x8];
/* 0x374 */ f32 offerRange;
/* 0x378 */ s16 doorTimeTotalDiff; // Time difference between the point before going through a door and after going through it
/* 0x37A */ union {
s16 doorTimeProgress; // schedule time diff
s16 laundryPoolState;
s16 followScheduleState; // unused
} schState;
/* 0x37C */ s16 headRotZ;
/* 0x37E */ s16 headRotY;
/* 0x380 */ UNK_TYPE1 unk_380[0x4];
/* 0x384 */ s16 timePathTimeSpeed;
/* 0x386 */ s16 unk_386; // timer
/* 0x388 */ s16 loseAttentionTimer;
/* 0x38A */ s16 savedFaceIndex; // EnAnFace enum
/* 0x38C */ s16 faceIndex; // EnAnFace enum
/* 0x38E */ s16 eyeTimer;
/* 0x390 */ s16 eyeTexIndex;
/* 0x392 */ s16 mouthTexIndex;
/* 0x394 */ s16 msgEventState;
/* 0x396 */ s16 dialogueFuncState;
/* 0x398 */ MsgEventFunc msgEventFunc;
/* 0x39C */ s32 animIndex; // EnAnAnimation enum
/* 0x3A0 */ UNK_TYPE1 unk_3A0[0x8];
/* 0x3A8 */ u32 trayTexScrollTimer1; // TwoTexScroll
/* 0x3AC */ u32 trayTexScrollTimer2; // TwoTexScroll
/* 0x3B0 */ s32 forceDraw;
/* 0x3B4 */ s32 drawMoonMask;
/* 0x3B8 */ s32 slotsInitialized;
/* 0x3BC */ s32 unk_3BC;
/* 0x3C0 */ s32 unk_3C0; // true if ENAN_8000
/* 0x3C4 */ s32 unk_3C4; // set but not read
} EnAn; // size = 0x3C8
#endif // Z_EN_AN_H

View File

@ -514,7 +514,7 @@ void func_80866B20(EnDoor* this, PlayState* play) {
Flags_SetSwitch(play, this->switchFlag);
Actor_PlaySfx(&this->knobDoor.dyna.actor, NA_SE_EV_CHAIN_KEY_UNLOCK);
}
} else if (this->unk_1A7 != 0) {
} else if (this->openTimer != 0) {
this->actionFunc = func_80866F94;
Actor_PlaySfx(&this->knobDoor.dyna.actor, NA_SE_EV_DOOR_OPEN);
} else if (!Player_InCsMode(play)) {
@ -585,14 +585,14 @@ void func_80866B20(EnDoor* this, PlayState* play) {
void func_80866F94(EnDoor* this, PlayState* play) {
s32 direction;
if (this->unk_1A7 != 0) {
if (this->unk_1A7 >= 0) {
if (this->openTimer != 0) {
if (this->openTimer >= 0) {
direction = 1;
} else {
direction = -1;
}
if (Math_ScaledStepToS(&this->knobDoor.dyna.actor.world.rot.y, direction * 0x3E80, 0x7D0)) {
Math_StepToC(&this->unk_1A7, 0, 1);
Math_StepToC(&this->openTimer, 0, 1);
}
} else {
if (Math_ScaledStepToS(&this->knobDoor.dyna.actor.world.rot.y, 0, 0x7D0)) {

View File

@ -25,10 +25,10 @@ typedef enum EnDoorType {
typedef struct EnDoor {
/* 0x000 */ KnobDoorActor knobDoor;
/* 0x1A4 */ u8 doorType;
/* 0x1A4 */ u8 doorType; // EnDoorType enum
/* 0x1A5 */ u8 switchFlag;
/* 0x1A6 */ u8 unk_1A6;
/* 0x1A7 */ s8 unk_1A7;
/* 0x1A7 */ s8 openTimer; // For how long the door will be open. positive/negative means the opening direction
/* 0x1A8 */ Vec3s limbTable[DOOR_LIMB_MAX];
/* 0x1C8 */ EnDoorActionFunc actionFunc;
} EnDoor;

View File

@ -115,7 +115,8 @@ void EnDrs_PostLimbDraw(PlayState* play2, s32 limbIndex, Gfx** dList, Vec3s* rot
// Anju removes the Moon Mask at the start of the Couple's Mask cutscene
// after that it will no longer be rendered.
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_87_02) && (limbIndex == WEDDING_DRESS_MANNEQUIN_LIMB_MASK)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_COUPLES_MASK_CUTSCENE_STARTED) &&
(limbIndex == WEDDING_DRESS_MANNEQUIN_LIMB_MASK)) {
OPEN_DISPS(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[temp].segment);

View File

@ -1480,9 +1480,9 @@ s32 func_80950804(EnGm* this, PlayState* play) {
if (!SubS_InCsMode(play) && (this->timePathTimeSpeed != 0)) {
if ((door != NULL) && (door->knobDoor.dyna.actor.update != NULL)) {
if ((this->unk_3BA / (f32)this->unk_3B8) <= 0.9f) {
door->unk_1A7 = this->unk_261;
door->openTimer = this->unk_261;
} else {
door->unk_1A7 = 0;
door->openTimer = 0;
}
}

View File

@ -767,9 +767,9 @@ s32 func_80BF2470(EnIg* this, PlayState* play) {
if (!SubS_InCsMode(play) && (this->timePathTimeSpeed != 0)) {
if ((door != NULL) && (door->knobDoor.dyna.actor.update != NULL)) {
if (((f32)this->unk_3E2 / this->unk_3E0) <= 0.9f) {
door->unk_1A7 = this->unk_2A4;
door->openTimer = this->unk_2A4;
} else {
door->unk_1A7 = 0;
door->openTimer = 0;
}
}
this->unk_3E2 = CLAMP(this->unk_3E2, 0, this->unk_3E0);

View File

@ -473,7 +473,7 @@ void func_80BD9338(EnPamera* this, PlayState* play) {
func_80BD84F0(this, play);
actor = this->actor.child;
if ((actor != NULL) && (actor->id == ACTOR_EN_DOOR)) {
((EnDoor*)actor)->unk_1A7 = -0x32;
((EnDoor*)actor)->openTimer = -50;
}
}

View File

@ -843,7 +843,7 @@ s32 func_80AF81E8(EnPm* this, PlayState* play) {
case 1:
case 3:
case 5:
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_86_08) && (this->unk_378 == 3)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_LISTENED_ANJU_POSTMAN_CONVERSATION) && (this->unk_378 == 3)) {
CutsceneManager_Stop(csId);
} else {
Camera_SetTargetActor(Play_GetCamera(play, CutsceneManager_GetCurrentSubCamId(csId)), &this->actor);
@ -1711,9 +1711,9 @@ s32 func_80AF9D04(EnPm* this, PlayState* play) {
if (!SubS_InCsMode(play) && (this->timePathTimeSpeed != 0)) {
if ((door != NULL) && (door->knobDoor.dyna.actor.update != NULL)) {
if (((f32)this->unk_36E / this->unk_36C) <= 0.9f) {
door->unk_1A7 = this->unk_260;
door->openTimer = this->unk_260;
} else {
door->unk_1A7 = 0;
door->openTimer = 0;
}
}
this->unk_36E = CLAMP(this->unk_36E, 0, this->unk_36C);

View File

@ -768,7 +768,7 @@ s32 func_80BABDD8(EnSuttari* this, PlayState* play, ScheduleOutput* scheduleOutp
this->unk434 = sp44 - scheduleOutput->time0;
this->unk436 = scheduleOutput->time1 - scheduleOutput->time0;
if ((scheduleOutput->result != 10) && (scheduleOutput->result != 11)) {
sp48->unk_1A7 = 0x4B;
sp48->openTimer = 75;
}
Math_Vec3f_Copy(&this->unk438, &sp38);
Math_Vec3f_Copy(&this->unk444, &sp2C);

View File

@ -472,7 +472,7 @@ s32 func_80AECE60(EnTk* this, PlayState* play) {
Vec3f sp5C;
Actor_OffsetOfPointInActorCoords(&this->actor, &sp5C, &door->knobDoor.dyna.actor.world.pos);
door->unk_1A7 = 2;
door->openTimer = 2;
if (sp5C.z < -20.0f) {
this->unk_2CA &= ~0x400;
this->unk_2CA |= 0x800;
@ -480,7 +480,7 @@ s32 func_80AECE60(EnTk* this, PlayState* play) {
}
if (door != NULL) {
if ((this->unk_2CA & 0x800) && (door->unk_1A7 == 0)) {
if ((this->unk_2CA & 0x800) && (door->openTimer == 0)) {
this->unk_2CA &= ~0x800;
}
}

View File

@ -14007,67 +14007,67 @@
0x80B52AF0:("EnGk_PostLimbDraw",),
0x80B52D8C:("EnGk_TransformLimbDraw",),
0x80B52F74:("EnGk_Draw",),
0x80B53840:("func_80B53840",),
0x80B539CC:("func_80B539CC",),
0x80B53840:("EnAn_InitObjectSlots",),
0x80B539CC:("EnAn_FindActor",),
0x80B53A7C:("func_80B53A7C",),
0x80B53B3C:("func_80B53B3C",),
0x80B53BA8:("func_80B53BA8",),
0x80B53CE8:("func_80B53CE8",),
0x80B53ED4:("func_80B53ED4",),
0x80B53F84:("func_80B53F84",),
0x80B54124:("func_80B54124",),
0x80B54678:("func_80B54678",),
0x80B546F4:("func_80B546F4",),
0x80B54750:("func_80B54750",),
0x80B547C8:("func_80B547C8",),
0x80B5492C:("func_80B5492C",),
0x80B54A94:("func_80B54A94",),
0x80B54BC4:("func_80B54BC4",),
0x80B54C5C:("func_80B54C5C",),
0x80B54D18:("func_80B54D18",),
0x80B54DF4:("func_80B54DF4",),
0x80B55180:("func_80B55180",),
0x80B552E4:("func_80B552E4",),
0x80B553AC:("func_80B553AC",),
0x80B554E8:("func_80B554E8",),
0x80B555C8:("func_80B555C8",),
0x80B556F8:("func_80B556F8",),
0x80B557AC:("func_80B557AC",),
0x80B55860:("func_80B55860",),
0x80B55914:("func_80B55914",),
0x80B55D20:("func_80B55D20",),
0x80B53B3C:("EnAn_FindDoor",),
0x80B53BA8:("EnAn_UpdateSkelAnime",),
0x80B53CE8:("EnAn_ChangeAnim",),
0x80B53ED4:("EnAn_UpdateCollider",),
0x80B53F84:("EnAn_UpdateFace",),
0x80B54124:("EnAn_DrawAccessory",),
0x80B54678:("EnAn_ChangeCutscene",),
0x80B546F4:("EnAn_GetCsId",),
0x80B54750:("EnAn_GetChildCsId",),
0x80B547C8:("EnAn_MsgEvent_ReceiveLetterFromPostman",),
0x80B5492C:("EnAn_MsgEvent_AttendGoron",),
0x80B54A94:("EnAn_MsgEvent_GiveLunchToGranny",),
0x80B54BC4:("EnAn_MsgEvent_MidnightMeeting",),
0x80B54C5C:("EnAn_MsgEvent_Cooking",),
0x80B54D18:("EnAn_MsgEvent_LaundryPool",),
0x80B54DF4:("EnAn_GetMsgEventScript",),
0x80B55180:("EnAn_CheckTalk",),
0x80B552E4:("EnAn_IsCouplesMaskCsPlaying",),
0x80B553AC:("EnAn_UpdateHeadRot",),
0x80B554E8:("EnAn_UpdateAttention",),
0x80B555C8:("EnAn_ChooseAnimAfterTalking",),
0x80B556F8:("EnAn_DialogueFunc_80B556F8",),
0x80B557AC:("EnAn_DialogueFunc_80B557AC",),
0x80B55860:("EnAn_DialogueFunc_80B55860",),
0x80B55914:("EnAn_HandleDialogue",),
0x80B55D20:("EnAn_FindLookAtActor",),
0x80B55D98:("func_80B55D98",),
0x80B55ECC:("func_80B55ECC",),
0x80B55ECC:("EnAn_IsFacingAndNearPlayer",),
0x80B55F8C:("func_80B55F8C",),
0x80B5600C:("func_80B5600C",),
0x80B56094:("func_80B56094",),
0x80B5611C:("func_80B5611C",),
0x80B561A4:("func_80B561A4",),
0x80B56418:("func_80B56418",),
0x80B56744:("func_80B56744",),
0x80B56880:("func_80B56880",),
0x80B56B00:("func_80B56B00",),
0x80B56BC0:("func_80B56BC0",),
0x80B56CAC:("func_80B56CAC",),
0x80B56D28:("func_80B56D28",),
0x80B56E44:("func_80B56E44",),
0x80B56EB4:("func_80B56EB4",),
0x80B5702C:("func_80B5702C",),
0x80B572D4:("func_80B572D4",),
0x80B573F4:("func_80B573F4",),
0x80B575BC:("func_80B575BC",),
0x80B57674:("func_80B57674",),
0x80B57718:("func_80B57718",),
0x80B577F0:("func_80B577F0",),
0x80B578F8:("func_80B578F8",),
0x80B57A44:("func_80B57A44",),
0x80B57B48:("func_80B57B48",),
0x80B5600C:("EnAn_ProcessSchedule_ReceiveLetterFromPostman",),
0x80B56094:("EnAn_ProcessSchedule_AttendGoron",),
0x80B5611C:("EnAn_ProcessSchedule_GiveLunchToGranny",),
0x80B561A4:("EnAn_ProcessSchedule_Door",),
0x80B56418:("EnAn_ProcessSchedule_Walking",),
0x80B56744:("EnAn_ProcessSchedule_Sweeping",),
0x80B56880:("EnAn_ProcessSchedule_80B56880",),
0x80B56B00:("EnAn_ProcessSchedule_Ranch",),
0x80B56BC0:("EnAn_ProcessSchedule_StaffRoom",),
0x80B56CAC:("EnAn_ProcessSchedule_WithKafei",),
0x80B56D28:("EnAn_ProcessScheduleOutput",),
0x80B56E44:("EnAn_HandleSch_InteractActor",),
0x80B56EB4:("EnAn_HandleSch_Door",),
0x80B5702C:("EnAn_HandleSch_FollowTimePath",),
0x80B572D4:("EnAn_HandleSch_80B572D4",),
0x80B573F4:("EnAn_HandleSch_LaundryPool",),
0x80B575BC:("EnAn_HandleSch_WaitingForKafei",),
0x80B57674:("EnAn_HandleSch_WithKafei",),
0x80B57718:("EnAn_HandleSchedule",),
0x80B577F0:("EnAn_FinishInit",),
0x80B578F8:("EnAn_FollowSchedule",),
0x80B57A44:("EnAn_Talk",),
0x80B57B48:("EnAn_HandleCouplesMaskCutscene",),
0x80B57C9C:("EnAn_Init",),
0x80B57D70:("EnAn_Destroy",),
0x80B57D9C:("EnAn_Update",),
0x80B57EE8:("func_80B57EE8",),
0x80B57FC4:("func_80B57FC4",),
0x80B580C0:("func_80B580C0",),
0x80B57EE8:("EnAn_PostLimbDraw",),
0x80B57FC4:("EnAn_TransformLimbDraw",),
0x80B580C0:("EnAn_Draw",),
0x80B5A720:("EnBee_Init",),
0x80B5A828:("EnBee_Destroy",),
0x80B5A854:("func_80B5A854",),

View File

@ -14428,40 +14428,40 @@
0x80B534A4:("D_80B534A4","f32","",0x4),
0x80B534A8:("D_80B534A8","f32","",0x4),
0x80B534AC:("D_80B534AC","f32","",0x4),
0x80B581D0:("D_80B581D0","UNK_TYPE1","",0x1),
0x80B58618:("D_80B58618","UNK_TYPE1","",0x1),
0x80B58718:("D_80B58718","UNK_TYPE1","",0x1),
0x80B58784:("D_80B58784","UNK_TYPE1","",0x1),
0x80B58808:("D_80B58808","UNK_TYPE1","",0x1),
0x80B5885C:("D_80B5885C","UNK_TYPE1","",0x1),
0x80B58938:("D_80B58938","UNK_TYPE1","",0x1),
0x80B58944:("D_80B58944","UNK_TYPE1","",0x1),
0x80B5894C:("D_80B5894C","UNK_TYPE1","",0x1),
0x80B58954:("D_80B58954","UNK_TYPE1","",0x1),
0x80B58980:("D_80B58980","UNK_TYPE1","",0x1),
0x80B58988:("D_80B58988","UNK_TYPE1","",0x1),
0x80B58994:("D_80B58994","UNK_TYPE1","",0x1),
0x80B5899C:("D_80B5899C","UNK_TYPE1","",0x1),
0x80B589AC:("D_80B589AC","UNK_TYPE1","",0x1),
0x80B589FC:("D_80B589FC","UNK_TYPE1","",0x1),
0x80B58A04:("D_80B58A04","UNK_TYPE1","",0x1),
0x80B58A24:("D_80B58A24","UNK_TYPE1","",0x1),
0x80B58A3C:("D_80B58A3C","UNK_TYPE1","",0x1),
0x80B58A44:("D_80B58A44","UNK_TYPE1","",0x1),
0x80B58ABC:("D_80B58ABC","UNK_TYPE1","",0x1),
0x80B58AC4:("D_80B58AC4","UNK_TYPE1","",0x1),
0x80B58AE8:("D_80B58AE8","UNK_TYPE1","",0x1),
0x80B58AF4:("D_80B58AF4","UNK_TYPE1","",0x1),
0x80B58B3C:("D_80B58B3C","UNK_TYPE1","",0x1),
0x80B58B7C:("D_80B58B7C","UNK_TYPE1","",0x1),
0x80B58B88:("D_80B58B88","UNK_TYPE1","",0x1),
0x80B58B90:("D_80B58B90","UNK_TYPE1","",0x1),
0x80B581D0:("sScheduleScript","UNK_TYPE1","",0x1),
0x80B58618:("sSearchTimePathLimit","UNK_TYPE1","",0x1),
0x80B58718:("sAnjuMsgScript_SchReceiveLetterFromPostman","UNK_TYPE1","",0x1),
0x80B58784:("sAnjuMsgScript_SchAttendGoron","UNK_TYPE1","",0x1),
0x80B58808:("sAnjuMsgScript_SchGiveLunchToGranny","UNK_TYPE1","",0x1),
0x80B5885C:("sAnjuMsgScript_ReceptionistDay1","UNK_TYPE1","",0x1),
0x80B58938:("sAnjuMsgScript_InnCloseTime","UNK_TYPE1","",0x1),
0x80B58944:("sAnjuMsgScript_80B58944","UNK_TYPE1","",0x1),
0x80B5894C:("sAnjuMsgScript_80B5894C","UNK_TYPE1","",0x1),
0x80B58954:("sAnjuMsgScript_SchCooking","UNK_TYPE1","",0x1),
0x80B58980:("sAnjuMsgScript_80B58980","UNK_TYPE1","",0x1),
0x80B58988:("sAnjuMsgScript_SchSweeping","UNK_TYPE1","",0x1),
0x80B58994:("sAnjuMsgScript_80B58994","UNK_TYPE1","",0x1),
0x80B5899C:("sAnjuMsgScript_SchRanch","UNK_TYPE1","",0x1),
0x80B589AC:("sAnjuMsgScript_SchMidnightMeeting","UNK_TYPE1","",0x1),
0x80B589FC:("sAnjuMsgScript_80B589FC","UNK_TYPE1","",0x1),
0x80B58A04:("sAnjuMsgScript_DekuDefault","UNK_TYPE1","",0x1),
0x80B58A24:("sAnjuMsgScript_SchLaundryPoolDeku","UNK_TYPE1","",0x1),
0x80B58A3C:("sAnjuMsgScript_Receptionist","UNK_TYPE1","",0x1),
0x80B58A44:("sAnjuMsgScript_80B58A44","UNK_TYPE1","",0x1),
0x80B58ABC:("sAnjuMsgScript_80B58ABC","UNK_TYPE1","",0x1),
0x80B58AC4:("sAnjuMsgScript_80B58AC4","UNK_TYPE1","",0x1),
0x80B58AE8:("sAnjuMsgScript_SchWaitingForKafei","UNK_TYPE1","",0x1),
0x80B58AF4:("sAnjuMsgScript_SchLaundryPoolDefault","UNK_TYPE1","",0x1),
0x80B58B3C:("sAnjuMsgScript_SchLaundryPoolKafeiMask","UNK_TYPE1","",0x1),
0x80B58B7C:("sAnjuMsgScript_80B58B7C","UNK_TYPE1","",0x1),
0x80B58B88:("sAnjuMsgScript_80B58B88","UNK_TYPE1","",0x1),
0x80B58B90:("sAnjuMsgScript_SchWithKafei","UNK_TYPE1","",0x1),
0x80B58B9C:("En_An_InitVars","UNK_TYPE1","",0x1),
0x80B58BBC:("D_80B58BBC","UNK_TYPE1","",0x1),
0x80B58BE8:("D_80B58BE8","UNK_TYPE1","",0x1),
0x80B58BF4:("D_80B58BF4","UNK_TYPE1","",0x1),
0x80B58BBC:("sCylinderInit","UNK_TYPE1","",0x1),
0x80B58BE8:("sColChkInfoInit","UNK_TYPE1","",0x1),
0x80B58BF4:("sAnimationInfo","UNK_TYPE1","",0x1),
0x80B58E34:("D_80B58E34","UNK_TYPE1","",0x1),
0x80B58E40:("D_80B58E40","UNK_TYPE1","",0x1),
0x80B58E40:("sMouthIndices","UNK_TYPE1","",0x1),
0x80B58E54:("D_80B58E54","UNK_TYPE1","",0x1),
0x80B58E60:("D_80B58E60","UNK_TYPE1","",0x1),
0x80B58E68:("D_80B58E68","UNK_TYPE1","",0x1),
@ -14473,8 +14473,8 @@
0x80B58EA4:("D_80B58EA4","UNK_TYPE1","",0x1),
0x80B58EAC:("D_80B58EAC","UNK_TYPE4","",0x4),
0x80B58ED4:("D_80B58ED4","UNK_TYPE1","",0x1),
0x80B58EE0:("D_80B58EE0","UNK_TYPE1","",0x1),
0x80B58EEC:("D_80B58EEC","UNK_TYPE1","",0x1),
0x80B58EE0:("sMouthTextures","UNK_TYPE1","",0x1),
0x80B58EEC:("sEyeTextures","UNK_TYPE1","",0x1),
0x80B58F10:("jtbl_80B58F10","UNK_PTR","",0x4),
0x80B58F48:("jtbl_80B58F48","UNK_PTR","",0x4),
0x80B58F70:("jtbl_80B58F70","UNK_PTR","",0x4),

View File

@ -449,7 +449,7 @@ weekEventReg = {
(55 << 8) | 0x04: "WEEKEVENTREG_TALKED_PART_TIMER_AS_GORON",
(55 << 8) | 0x08: "WEEKEVENTREG_TALKED_PART_TIMER_AS_ZORA",
(55 << 8) | 0x10: "WEEKEVENTREG_TALKED_PART_TIMER_AS_DEKU",
(55 << 8) | 0x20: "WEEKEVENTREG_55_20",
(55 << 8) | 0x20: "WEEKEVENTREG_TALKED_ANJU_IN_LAUNDRY_POOL",
(55 << 8) | 0x40: "WEEKEVENTREG_55_40",
(55 << 8) | 0x80: "WEEKEVENTREG_CLEARED_GREAT_BAY_TEMPLE",
(56 << 8) | 0x01: "WEEKEVENTREG_56_01",
@ -695,13 +695,13 @@ weekEventReg = {
(86 << 8) | 0x01: "WEEKEVENTREG_86_01",
(86 << 8) | 0x02: "WEEKEVENTREG_86_02",
(86 << 8) | 0x04: "WEEKEVENTREG_86_04",
(86 << 8) | 0x08: "WEEKEVENTREG_86_08",
(86 << 8) | 0x08: "WEEKEVENTREG_LISTENED_ANJU_POSTMAN_CONVERSATION",
(86 << 8) | 0x10: "WEEKEVENTREG_86_10",
(86 << 8) | 0x20: "WEEKEVENTREG_86_20",
(86 << 8) | 0x40: "WEEKEVENTREG_86_40",
(86 << 8) | 0x80: "WEEKEVENTREG_86_80",
(87 << 8) | 0x01: "WEEKEVENTREG_87_01",
(87 << 8) | 0x02: "WEEKEVENTREG_87_02",
(87 << 8) | 0x02: "WEEKEVENTREG_COUPLES_MASK_CUTSCENE_STARTED",
(87 << 8) | 0x04: "WEEKEVENTREG_87_04",
(87 << 8) | 0x08: "WEEKEVENTREG_87_08",
(87 << 8) | 0x10: "WEEKEVENTREG_87_10",

View File

@ -302,15 +302,6 @@ D_06014040 = 0x06014040;
D_06002D30 = 0x06002D30;
D_06011458 = 0x06011458;
// ovl_En_An
D_06000308 = 0x06000308;
D_06000378 = 0x06000378;
D_06000E70 = 0x06000E70;
D_060111E8 = 0x060111E8;
D_06012478 = 0x06012478;
D_06012618 = 0x06012618;
// ovl_En_Bal
D_060005FC = 0x060005FC;