Deku Playground Docs (#1318)

* Actor shared memory

* EnGameLupy

* EnLiftNuts

* object_dnt

* PR Suggestions

* Things I missed

* sPad

* Format

* PR comments
This commit is contained in:
Derek Hensley 2023-07-10 19:47:39 -07:00 committed by GitHub
parent db6268a12e
commit 913cd981c0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 760 additions and 657 deletions

View File

@ -1,91 +1,106 @@
<Root>
<!-- Assets for business scrubs -->
<File Name="object_dnt" Segment="6">
<Animation Name="object_dnt_Anim_000994" Offset="0x994" /> <!-- Original name is "dnt_banban" -->
<Animation Name="object_dnt_Anim_0012F4" Offset="0x12F4" /> <!-- Original name is "dnt_boyon" -->
<DList Name="object_dnt_DL_001350" Offset="0x1350" />
<DList Name="object_dnt_DL_001420" Offset="0x1420" />
<Animation Name="object_dnt_Anim_001BC8" Offset="0x1BC8" /> <!-- Original name is "dnt_fly" -->
<Animation Name="object_dnt_Anim_001E2C" Offset="0x1E2C" /> <!-- Original name is "dnt_iyaiya" -->
<Animation Name="object_dnt_Anim_002268" Offset="0x2268" /> <!-- Original name is "dnt_iyaiyaTOmuun" -->
<Animation Name="object_dnt_Anim_002670" Offset="0x2670" /> <!-- Original name is "dnt_kouka" -->
<Animation Name="object_dnt_Anim_0029E8" Offset="0x29E8" /> <!-- Original name is "dnt_moguru" -->
<Animation Name="object_dnt_Anim_002F08" Offset="0x2F08" /> <!-- Original name is "dnt_muun" -->
<Animation Name="object_dnt_Anim_003438" Offset="0x3438" /> <!-- Original name is "dnt_nooo" -->
<Animation Name="object_dnt_Anim_0038CC" Offset="0x38CC" /> <!-- Original name is "dnt_onedari" -->
<Animation Name="object_dnt_Anim_003CC0" Offset="0x3CC0" /> <!-- Original name is "dnt_onedariTOwait" -->
<Blob Name="object_dnt_Blob_003CD0" Size="0x10" Offset="0x3CD0" />
<Animation Name="object_dnt_Anim_004700" Offset="0x4700" /> <!-- Original name is "dnt_spoon" -->
<Animation Name="object_dnt_Anim_004AA0" Offset="0x4AA0" /> <!-- Original name is "dnt_tobidasu01" -->
<Animation Name="object_dnt_Anim_004E38" Offset="0x4E38" /> <!-- Original name is "dnt_tobidasu02" -->
<Animation Name="object_dnt_Anim_005488" Offset="0x5488" /> <!-- Original name is "dnt_wait" -->
<Animation Name="object_dnt_Anim_00577C" Offset="0x577C" /> <!-- Original name is "dnt_wait02" -->
<Animation Name="object_dnt_Anim_005CA8" Offset="0x5CA8" /> <!-- Original name is "dnt_waitTOonedari" -->
<DList Name="object_dnt_DL_007EA0" Offset="0x7EA0" />
<DList Name="object_dnt_DL_008048" Offset="0x8048" />
<DList Name="object_dnt_DL_008290" Offset="0x8290" />
<DList Name="object_dnt_DL_008320" Offset="0x8320" />
<DList Name="object_dnt_DL_008438" Offset="0x8438" />
<DList Name="object_dnt_DL_0085D8" Offset="0x85D8" />
<DList Name="object_dnt_DL_008688" Offset="0x8688" />
<DList Name="object_dnt_DL_008718" Offset="0x8718" />
<DList Name="object_dnt_DL_008838" Offset="0x8838" />
<DList Name="object_dnt_DL_008A48" Offset="0x8A48" />
<DList Name="object_dnt_DL_008B60" Offset="0x8B60" />
<DList Name="object_dnt_DL_008C10" Offset="0x8C10" />
<DList Name="object_dnt_DL_008DB0" Offset="0x8DB0" />
<DList Name="object_dnt_DL_008ED0" Offset="0x8ED0" />
<DList Name="object_dnt_DL_0090E8" Offset="0x90E8" />
<DList Name="object_dnt_DL_009200" Offset="0x9200" />
<DList Name="object_dnt_DL_0092B0" Offset="0x92B0" />
<DList Name="object_dnt_DL_009340" Offset="0x9340" />
<DList Name="object_dnt_DL_0093D0" Offset="0x93D0" />
<DList Name="object_dnt_DL_0094E8" Offset="0x94E8" />
<DList Name="object_dnt_DL_009630" Offset="0x9630" />
<DList Name="object_dnt_DL_009740" Offset="0x9740" />
<DList Name="object_dnt_DL_009838" Offset="0x9838" />
<DList Name="object_dnt_DL_0098D8" Offset="0x98D8" />
<DList Name="object_dnt_DL_0099E8" Offset="0x99E8" />
<DList Name="object_dnt_DL_009AE0" Offset="0x9AE0" />
<Texture Name="object_dnt_Tex_009B80" OutName="tex_009B80" Format="rgba16" Width="16" Height="16" Offset="0x9B80" />
<Texture Name="object_dnt_Tex_009D80" OutName="tex_009D80" Format="rgba16" Width="16" Height="16" Offset="0x9D80" />
<Texture Name="object_dnt_Tex_009F80" OutName="tex_009F80" Format="rgba16" Width="8" Height="16" Offset="0x9F80" />
<Texture Name="object_dnt_Tex_00A080" OutName="tex_00A080" Format="rgba16" Width="8" Height="16" Offset="0xA080" />
<Texture Name="object_dnt_Tex_00A180" OutName="tex_00A180" Format="rgba16" Width="2" Height="16" Offset="0xA180" />
<Texture Name="object_dnt_Tex_00A1C0" OutName="tex_00A1C0" Format="rgba16" Width="8" Height="8" Offset="0xA1C0" />
<Texture Name="object_dnt_Tex_00A240" OutName="tex_00A240" Format="rgba16" Width="8" Height="16" Offset="0xA240" />
<Texture Name="object_dnt_Tex_00A340" OutName="tex_00A340" Format="rgba16" Width="16" Height="32" Offset="0xA340" />
<Texture Name="object_dnt_Tex_00A740" OutName="tex_00A740" Format="rgba16" Width="8" Height="8" Offset="0xA740" />
<Texture Name="object_dnt_Tex_00A7C0" OutName="tex_00A7C0" Format="rgba16" Width="16" Height="8" Offset="0xA7C0" />
<Texture Name="object_dnt_Tex_00A8C0" OutName="tex_00A8C0" Format="rgba16" Width="16" Height="16" Offset="0xA8C0" />
<Limb Name="object_dnt_Standardlimb_00AAC0" Type="Standard" EnumName="OBJECT_DNT_LIMB_01" Offset="0xAAC0" />
<Limb Name="object_dnt_Standardlimb_00AACC" Type="Standard" EnumName="OBJECT_DNT_LIMB_02" Offset="0xAACC" />
<Limb Name="object_dnt_Standardlimb_00AAD8" Type="Standard" EnumName="OBJECT_DNT_LIMB_03" Offset="0xAAD8" />
<Limb Name="object_dnt_Standardlimb_00AAE4" Type="Standard" EnumName="OBJECT_DNT_LIMB_04" Offset="0xAAE4" />
<Limb Name="object_dnt_Standardlimb_00AAF0" Type="Standard" EnumName="OBJECT_DNT_LIMB_05" Offset="0xAAF0" />
<Limb Name="object_dnt_Standardlimb_00AAFC" Type="Standard" EnumName="OBJECT_DNT_LIMB_06" Offset="0xAAFC" />
<Limb Name="object_dnt_Standardlimb_00AB08" Type="Standard" EnumName="OBJECT_DNT_LIMB_07" Offset="0xAB08" />
<Limb Name="object_dnt_Standardlimb_00AB14" Type="Standard" EnumName="OBJECT_DNT_LIMB_08" Offset="0xAB14" />
<Limb Name="object_dnt_Standardlimb_00AB20" Type="Standard" EnumName="OBJECT_DNT_LIMB_09" Offset="0xAB20" />
<Limb Name="object_dnt_Standardlimb_00AB2C" Type="Standard" EnumName="OBJECT_DNT_LIMB_0A" Offset="0xAB2C" />
<Limb Name="object_dnt_Standardlimb_00AB38" Type="Standard" EnumName="OBJECT_DNT_LIMB_0B" Offset="0xAB38" />
<Limb Name="object_dnt_Standardlimb_00AB44" Type="Standard" EnumName="OBJECT_DNT_LIMB_0C" Offset="0xAB44" />
<Limb Name="object_dnt_Standardlimb_00AB50" Type="Standard" EnumName="OBJECT_DNT_LIMB_0D" Offset="0xAB50" />
<Limb Name="object_dnt_Standardlimb_00AB5C" Type="Standard" EnumName="OBJECT_DNT_LIMB_0E" Offset="0xAB5C" />
<Limb Name="object_dnt_Standardlimb_00AB68" Type="Standard" EnumName="OBJECT_DNT_LIMB_0F" Offset="0xAB68" />
<Limb Name="object_dnt_Standardlimb_00AB74" Type="Standard" EnumName="OBJECT_DNT_LIMB_10" Offset="0xAB74" />
<Limb Name="object_dnt_Standardlimb_00AB80" Type="Standard" EnumName="OBJECT_DNT_LIMB_11" Offset="0xAB80" />
<Limb Name="object_dnt_Standardlimb_00AB8C" Type="Standard" EnumName="OBJECT_DNT_LIMB_12" Offset="0xAB8C" />
<Limb Name="object_dnt_Standardlimb_00AB98" Type="Standard" EnumName="OBJECT_DNT_LIMB_13" Offset="0xAB98" />
<Limb Name="object_dnt_Standardlimb_00ABA4" Type="Standard" EnumName="OBJECT_DNT_LIMB_14" Offset="0xABA4" />
<Limb Name="object_dnt_Standardlimb_00ABB0" Type="Standard" EnumName="OBJECT_DNT_LIMB_15" Offset="0xABB0" />
<Limb Name="object_dnt_Standardlimb_00ABBC" Type="Standard" EnumName="OBJECT_DNT_LIMB_16" Offset="0xABBC" />
<Limb Name="object_dnt_Standardlimb_00ABC8" Type="Standard" EnumName="OBJECT_DNT_LIMB_17" Offset="0xABC8" />
<Limb Name="object_dnt_Standardlimb_00ABD4" Type="Standard" EnumName="OBJECT_DNT_LIMB_18" Offset="0xABD4" />
<Limb Name="object_dnt_Standardlimb_00ABE0" Type="Standard" EnumName="OBJECT_DNT_LIMB_19" Offset="0xABE0" />
<Limb Name="object_dnt_Standardlimb_00ABEC" Type="Standard" EnumName="OBJECT_DNT_LIMB_1A" Offset="0xABEC" />
<Limb Name="object_dnt_Standardlimb_00ABF8" Type="Standard" EnumName="OBJECT_DNT_LIMB_1B" Offset="0xABF8" />
<Skeleton Name="object_dnt_Skel_00AC70" Type="Flex" LimbType="Standard" LimbNone="OBJECT_DNT_LIMB_NONE" LimbMax="OBJECT_DNT_LIMB_MAX" EnumName="ObjectDntLimb" Offset="0xAC70" />
<Animation Name="object_dnt_Anim_00B0B4" Offset="0xB0B4" /> <!-- Original name is "dnt_walk" -->
<Texture Name="object_dnt_Tex_00B0D0" OutName="tex_00B0D0" Format="rgba16" Width="16" Height="16" Offset="0xB0D0" />
<!-- Animations -->
<Animation Name="gBusinessScrubShockedPoundAnim" Offset="0x994" /> <!-- Original name is "dnt_banban" -->
<Animation Name="gBusinessScrubTakeOffHatAnim" Offset="0x12F4" /> <!-- Original name is "dnt_boyon" -->
<!-- Additional Eyes DLs -->
<DList Name="gBusinessScrubEyesWideDL" Offset="0x1350" />
<DList Name="gBusinessScrubEyesSquintDL" Offset="0x1420" />
<!-- Animations -->
<Animation Name="gBusinessScrubFlyLoopAnim" Offset="0x1BC8" /> <!-- Original name is "dnt_fly" -->
<Animation Name="gBusinessScrubShockedShakeHeadAnim" Offset="0x1E2C" /> <!-- Original name is "dnt_iyaiya" -->
<Animation Name="gBusinessScrubShockedEndAnim" Offset="0x2268" /> <!-- Original name is "dnt_iyaiyaTOmuun" -->
<Animation Name="gBusinessScrubFlyEndAnim" Offset="0x2670" /> <!-- Original name is "dnt_kouka" -->
<Animation Name="gBusinessScrubBurrowAnim" Offset="0x29E8" /> <!-- Original name is "dnt_moguru" -->
<Animation Name="gBusinessScrubThinkAnim" Offset="0x2F08" /> <!-- Original name is "dnt_muun" -->
<Animation Name="gBusinessScrubShockedStartAnim" Offset="0x3438" /> <!-- Original name is "dnt_nooo" -->
<Animation Name="gBusinessScrubExcitedLoopAnim" Offset="0x38CC" /> <!-- Original name is "dnt_onedari" -->
<Animation Name="gBusinessScrubExcitedEndAnim" Offset="0x3CC0" /> <!-- Original name is "dnt_onedariTOwait" -->
<TextureAnimation Name="gBusinessScrubEmptyTexAnim" Offset="0x3CD0" />
<Animation Name="gBusinessScrubFlyStartAnim" Offset="0x4700" /> <!-- Original name is "dnt_spoon" -->
<Animation Name="gBusinessScrubRiseUpAnim" Offset="0x4AA0" /> <!-- Original name is "dnt_tobidasu01" -->
<Animation Name="gBusinessScrubJumpAnim" Offset="0x4E38" /> <!-- Original name is "dnt_tobidasu02" -->
<Animation Name="gBusinessScrubStandingAnim" Offset="0x5488" /> <!-- Original name is "dnt_wait" -->
<Animation Name="gBusinessScrubBobAnim" Offset="0x577C" /> <!-- Original name is "dnt_wait02" --> <!-- used as the idle anim when half burrowed into a deku flower-->
<Animation Name="gBusinessScrubExcitedStartAnim" Offset="0x5CA8" /> <!-- Original name is "dnt_waitTOonedari" -->
<!-- DLs -->
<DList Name="gBusinessScrubHeadDL" Offset="0x7EA0" />
<DList Name="gBusinessScrubLeftArmBagDL" Offset="0x8048" />
<DList Name="gBusinessScrubEyesDL" Offset="0x8290" />
<DList Name="gBusinessScrubScalpDL" Offset="0x8320" />
<DList Name="gBusinessScrubHatDL" Offset="0x8438" />
<DList Name="gBusinessScrubHairDL" Offset="0x85D8" />
<DList Name="gBusinessScrubLeftEarDL" Offset="0x8688" />
<DList Name="gBusinessScrubLeftHandDL" Offset="0x8718" />
<DList Name="gBusinessScrubLeftHandBagDL" Offset="0x8838" />
<DList Name="gBusinessScrubLeftForearmDL" Offset="0x8A48" />
<DList Name="gBusinessScrubLeftUpperArmDL" Offset="0x8B60" />
<DList Name="gBusinessScrubRightHandHatDL" Offset="0x8C10" />
<DList Name="gBusinessScrubRightHandDL" Offset="0x8DB0" />
<DList Name="gBusinessScrubRightHandBagDL" Offset="0x8ED0" />
<DList Name="gBusinessScrubRightForearmDL" Offset="0x90E8" />
<DList Name="gBusinessScrubRightUpperArmDL" Offset="0x9200" />
<DList Name="gBusinessScrubRightMustacheDL" Offset="0x92B0" />
<DList Name="gBusinessScrubRightEarDL" Offset="0x9340" />
<DList Name="gBusinessScrubSnoutDL" Offset="0x93D0" />
<DList Name="gBusinessScrubBodyDL" Offset="0x94E8" />
<DList Name="gBusinessScrubLeftFootDL" Offset="0x9630" />
<DList Name="gBusinessScrubLeftShinDL" Offset="0x9740" />
<DList Name="gBusinessScrubLeftThighDL" Offset="0x9838" />
<DList Name="gBusinessScrubRightFootDL" Offset="0x98D8" />
<DList Name="gBusinessScrubRightShinDL" Offset="0x99E8" />
<DList Name="gBusinessScrubRightThighDL" Offset="0x9AE0" />
<!-- Textures -->
<Texture Name="gBusinessScrubSkinTex" OutName="business_scrub_skin" Format="rgba16" Width="16" Height="16" Offset="0x9B80" />
<Texture Name="gBusinessScrubLeafTex" OutName="business_scrub_leaf" Format="rgba16" Width="16" Height="16" Offset="0x9D80" />
<Texture Name="gBusinessScrubBagOpeningTex" OutName="business_scrub_bag_opening" Format="rgba16" Width="8" Height="16" Offset="0x9F80" />
<Texture Name="gBusinessScrubBagCordTex" OutName="business_scrub_bag_cord" Format="rgba16" Width="8" Height="16" Offset="0xA080" />
<Texture Name="gBusinessScrubBagTex" OutName="business_scrub_bag" Format="rgba16" Width="2" Height="16" Offset="0xA180" />
<Texture Name="gBusinessScrubHatTex" OutName="business_scrub_hat" Format="rgba16" Width="8" Height="8" Offset="0xA1C0" />
<Texture Name="gBusinessScrubHatLeafTex" OutName="business_scrub_hat_leaf" Format="rgba16" Width="8" Height="16" Offset="0xA240" />
<Texture Name="gBusinessScrubHairTex" OutName="business_scrub_hair" Format="rgba16" Width="16" Height="32" Offset="0xA340" />
<Texture Name="gBusinessScrubScalpTex" OutName="business_scrub_scalp" Format="rgba16" Width="8" Height="8" Offset="0xA740" />
<Texture Name="gBusinessScrubSnoutTex" OutName="business_scrub_snout" Format="rgba16" Width="16" Height="8" Offset="0xA7C0" />
<Texture Name="gBusinessScrubEyeTex" OutName="business_scrub_eye" Format="rgba16" Width="16" Height="16" Offset="0xA8C0" />
<!-- Skeleton -->
<Limb Name="gBusinessScrubRootLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_ROOT" Offset="0xAAC0" />
<Limb Name="gBusinessScrubBodyLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_BODY" Offset="0xAACC" />
<Limb Name="gBusinessScrubRightThighLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_RIGHT_THIGH" Offset="0xAAD8" />
<Limb Name="gBusinessScrubRightShinLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_RIGHT_SHIN" Offset="0xAAE4" />
<Limb Name="gBusinessScrubRightFootLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_RIGHT_FOOT" Offset="0xAAF0" />
<Limb Name="gBusinessScrubLeftThighLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_LEFT_THIGH" Offset="0xAAFC" />
<Limb Name="gBusinessScrubLeftShinLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_LEFT_SHIN" Offset="0xAB08" />
<Limb Name="gBusinessScrubLeftFootLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_LEFT_FOOT" Offset="0xAB14" />
<Limb Name="gBusinessScrubHeadLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_HEAD" Offset="0xAB20" />
<Limb Name="gBusinessScrubSnoutLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_SNOUT" Offset="0xAB2C" />
<Limb Name="gBusinessScrubRightLeafLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_RIGHT_LEAF" Offset="0xAB38" />
<Limb Name="gBusinessScrubRightMustacheLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_RIGHT_MUSTACHE" Offset="0xAB44" />
<Limb Name="gBusinessScrubRightUpperArmLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_RIGHT_UPPER_ARM" Offset="0xAB50" />
<Limb Name="gBusinessScrubRightForearmLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_RIGHT_FOREARM" Offset="0xAB5C" />
<Limb Name="gBusinessScrubRightHandHatLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_RIGHT_HAND_HAT" Offset="0xAB68" />
<Limb Name="gBusinessScrubRightHandBagLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_RIGHT_HAND_BAG" Offset="0xAB74" />
<Limb Name="gBusinessScrubRightHandLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_RIGHT_HAND" Offset="0xAB80" />
<Limb Name="gBusinessScrubLeftUpperArmLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_LEFT_UPPER_ARM" Offset="0xAB8C" />
<Limb Name="gBusinessScrubLeftForearmLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_LEFT_FOREARM" Offset="0xAB98" />
<Limb Name="gBusinessScrubLeftHandLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_LEFT_HAND" Offset="0xABA4" />
<Limb Name="gBusinessScrubLeftHandBagLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_LEFT_HAND_BAG" Offset="0xABB0" />
<Limb Name="gBusinessScrubLeftLeafLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_LEFT_LEAF" Offset="0xABBC" />
<Limb Name="gBusinessScrubScalpLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_SCALP" Offset="0xABC8" />
<Limb Name="gBusinessScrubHairLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_HAIR" Offset="0xABD4" />
<Limb Name="gBusinessScrubHatLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_HAT" Offset="0xABE0" />
<Limb Name="gBusinessScrubEyesLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_EYES" Offset="0xABEC" />
<Limb Name="gBusinessScrubLeftArmBagLimb" Type="Standard" EnumName="BUSINESS_SCRUB_LIMB_LEFT_ARM_BAG" Offset="0xABF8" />
<Skeleton Name="gBusinessScrubSkel" Type="Flex" LimbType="Standard" LimbNone="BUSINESS_SCRUB_LIMB_NONE" LimbMax="BUSINESS_SCRUB_LIMB_MAX" EnumName="BusinessScrubLimb" Offset="0xAC70" />
<Animation Name="gBusinessScrubWalkAnim" Offset="0xB0B4" /> <!-- Original name is "dnt_walk" -->
<!-- An exact copy of gBusinessScrubEyeTex -->
<Texture Name="gBusinessScrubEye2Tex" OutName="business_scrub_eye_2" Format="rgba16" Width="16" Height="16" Offset="0xB0D0" />
</File>
</Root>

View File

@ -499,9 +499,9 @@ void TitleCard_InitBossName(GameState* gameState, TitleCardContext* titleCtx, Te
s32 Actor_SetPlayerImpact(PlayState* play, PlayerImpactType type, s32 timer, f32 dist, Vec3f* pos);
f32 Actor_GetPlayerImpact(PlayState* play, f32 range, Vec3f* pos, PlayerImpactType* type);
void* func_800B6584(PlayState* play, s16 id, void* arg2, size_t size);
void* func_800B6608(PlayState* play, s16 id);
void* func_800B6680(PlayState* play, s16 id);
void* Actor_AddSharedMemoryEntry(PlayState* play, s16 id, void* ptr, size_t size);
void* Actor_FreeSharedMemoryEntry(PlayState* play, s16 id);
void* Actor_FindSharedMemoryEntry(PlayState* play, s16 id);
void Actor_Kill(Actor* actor);
void Actor_SetWorldToHome(Actor* actor);
void Actor_SetFocus(Actor* actor, f32 height);

View File

@ -348,11 +348,11 @@ typedef struct PlayerImpact {
/* 0x08 */ Vec3f pos;
} PlayerImpact; // size = 0x14
typedef struct ActorContext_unk_20C {
typedef struct ActorSharedMemoryEntry {
/* 0x0 */ s16 id;
/* 0x2 */ s8 isDynamicallyInitialised;
/* 0x4 */ void* ptr;
} ActorContext_unk_20C; // size = 0x8
} ActorSharedMemoryEntry; // size = 0x8
typedef struct ActorContextSceneFlags {
/* 0x00 */ u32 switches[4]; // First 0x40 are permanent, second 0x40 are temporary
@ -412,7 +412,7 @@ typedef struct ActorContext {
/* 0x1E4 */ TitleCardContext titleCtxt;
/* 0x1F4 */ PlayerImpact playerImpact;
/* 0x208 */ UNK_TYPE1 unk_208[0x4];
/* 0x20C */ ActorContext_unk_20C unk_20C[8];
/* 0x20C */ ActorSharedMemoryEntry actorSharedMemory[8];
/* 0x24C */ UNK_TYPE1 unk_24C[0x4];
/* 0x250 */ void* absoluteSpace; // Space used to allocate actor overlays of alloc type ALLOCTYPE_ABSOLUTE
/* 0x254 */ struct EnTorch2* elegyShells[5]; // PLAYER_FORM_MAX

View File

@ -674,10 +674,10 @@ typedef enum {
#define WEEKEVENTREG_14_02 PACK_WEEKEVENTREG_FLAG(14, 0x02)
#define WEEKEVENTREG_14_04 PACK_WEEKEVENTREG_FLAG(14, 0x04)
#define WEEKEVENTREG_DRANK_CHATEAU_ROMANI PACK_WEEKEVENTREG_FLAG(14, 0x08)
#define WEEKEVENTREG_14_10 PACK_WEEKEVENTREG_FLAG(14, 0x10)
#define WEEKEVENTREG_14_20 PACK_WEEKEVENTREG_FLAG(14, 0x20)
#define WEEKEVENTREG_14_40 PACK_WEEKEVENTREG_FLAG(14, 0x40)
#define WEEKEVENTREG_14_80 PACK_WEEKEVENTREG_FLAG(14, 0x80)
#define WEEKEVENTREG_WON_DEKU_PLAYGROUND_DAY_1 PACK_WEEKEVENTREG_FLAG(14, 0x10)
#define WEEKEVENTREG_WON_DEKU_PLAYGROUND_DAY_2 PACK_WEEKEVENTREG_FLAG(14, 0x20)
#define WEEKEVENTREG_WON_DEKU_PLAYGROUND_DAY_3 PACK_WEEKEVENTREG_FLAG(14, 0x40)
#define WEEKEVENTREG_RECEIVED_DEKU_PLAYGROUND_HEART_PIECE PACK_WEEKEVENTREG_FLAG(14, 0x80)
#define WEEKEVENTREG_15_01 PACK_WEEKEVENTREG_FLAG(15, 0x01)
#define WEEKEVENTREG_15_02 PACK_WEEKEVENTREG_FLAG(15, 0x02)
#define WEEKEVENTREG_15_04 PACK_WEEKEVENTREG_FLAG(15, 0x04)

View File

@ -956,33 +956,37 @@ f32 Actor_GetPlayerImpact(PlayState* play, f32 range, Vec3f* pos, PlayerImpactTy
}
/**
* Initializes an element of the `play->actorCtx.unk_20C` array to the `arg2` pointer, or allocates one using the
* `size` argument in case `arg2` is NULL. This element is associated to an `id`
* Initializes an element of the `play->actorCtx.actorSharedMemory` array to the `ptr` pointer, or allocates one using
* the `size` argument in case `ptr` is NULL. This element is associated to an `id`.
*
* In success returns the allocated pointer if `arg2` was NULL or the `arg2` pointer otherwise
* In failure (There's no space left in `play->actorCtx.unk_20C` or an allocation error happened) returns NULL
* This allows allows different actors the ability to access the varible, and thus communicate with each other by
* reading/setting the value.
*
* In success: returns the allocated pointer if `ptr` was NULL or the `ptr` pointer otherwise.
* In failure (There's no space left in `play->actorCtx.actorSharedMemory` or an allocation error happened): returns
* NULL.
*
* Note there are no duplicated id checks.
*
* Used only by EnLiftNuts.
*/
void* func_800B6584(PlayState* play, s16 id, void* arg2, size_t size) {
ActorContext_unk_20C* entry = play->actorCtx.unk_20C;
void* Actor_AddSharedMemoryEntry(PlayState* play, s16 id, void* ptr, size_t size) {
ActorSharedMemoryEntry* entry = play->actorCtx.actorSharedMemory;
s32 i;
for (i = 0; i < ARRAY_COUNT(play->actorCtx.unk_20C); i++) {
for (i = 0; i < ARRAY_COUNT(play->actorCtx.actorSharedMemory); i++) {
if (entry->id == 0) {
if (arg2 == NULL) {
arg2 = ZeldaArena_Malloc(size);
if (arg2 == NULL) {
if (ptr == NULL) {
ptr = ZeldaArena_Malloc(size);
if (ptr == NULL) {
return NULL;
}
entry->isDynamicallyInitialised = true;
}
entry->id = id;
entry->ptr = arg2;
return arg2;
entry->ptr = ptr;
return ptr;
}
entry++;
@ -992,18 +996,18 @@ void* func_800B6584(PlayState* play, s16 id, void* arg2, size_t size) {
}
/**
* Frees the first element of `play->actorCtx.unk_20C` with id `id`.
* Frees the first element of `play->actorCtx.actorSharedMemory` with id `id`.
*
* If success, the free'd pointer is returned.
* If failure, NULL is returned.
*
* Used only by EnLiftNuts.
*/
void* func_800B6608(PlayState* play, s16 id) {
ActorContext_unk_20C* entry = play->actorCtx.unk_20C;
void* Actor_FreeSharedMemoryEntry(PlayState* play, s16 id) {
ActorSharedMemoryEntry* entry = play->actorCtx.actorSharedMemory;
s32 i;
for (i = 0; i < ARRAY_COUNT(play->actorCtx.unk_20C); i++) {
for (i = 0; i < ARRAY_COUNT(play->actorCtx.actorSharedMemory); i++) {
if (id == entry->id) {
entry->id = 0;
if (entry->isDynamicallyInitialised) {
@ -1020,16 +1024,16 @@ void* func_800B6608(PlayState* play, s16 id) {
}
/**
* Retrieves the first pointer stored with the id `id`.
* Retrieves the first pointer stored with the id `id` from `play->actorCtx.actorSharedMemory`.
* If there's no pointer stored with that id, NULL is returned.
*
* Used only by EnGamelupy.
*/
void* func_800B6680(PlayState* play, s16 id) {
ActorContext_unk_20C* entry = play->actorCtx.unk_20C;
void* Actor_FindSharedMemoryEntry(PlayState* play, s16 id) {
ActorSharedMemoryEntry* entry = play->actorCtx.actorSharedMemory;
s32 i;
for (i = 0; i < ARRAY_COUNT(play->actorCtx.unk_20C); i++) {
for (i = 0; i < ARRAY_COUNT(play->actorCtx.actorSharedMemory); i++) {
if (id == entry->id) {
return entry->ptr;
}

View File

@ -88,7 +88,7 @@ u16 sPersistentCycleWeekEventRegs[ARRAY_COUNT(gSaveContext.save.saveInfo.weekEve
/* 11 */ 0,
/* 12 */ PERSISTENT_WEEKEVENTREG(WEEKEVENTREG_12_10),
/* 13 */ PERSISTENT_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_OCEANSIDE_WALLET_UPGRADE),
/* 14 */ PERSISTENT_WEEKEVENTREG(WEEKEVENTREG_14_80),
/* 14 */ PERSISTENT_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_DEKU_PLAYGROUND_HEART_PIECE),
/* 15 */ PERSISTENT_WEEKEVENTREG(WEEKEVENTREG_15_20),
/* 16 */ 0,
/* 17 */ 0,

View File

@ -63,29 +63,29 @@ static ColliderCylinderInitType1 sCylinderInit = {
};
static AnimationInfoS sAnimationInfo[] = {
{ &object_dnt_Anim_005488, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_00B0B4, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_004AA0, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_004E38, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_0029E8, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_005CA8, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_0038CC, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_003CC0, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_0012F4, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_004700, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_001BC8, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_003438, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_001E2C, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_000994, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_002268, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_002F08, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_00577C, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnt_Anim_0029E8, 1.0f, 8, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_0029E8, 1.0f, 4, -1, ANIMMODE_ONCE, -4 },
{ &object_dnt_Anim_0029E8, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_001BC8, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_0012F4, -1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_002670, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubStandingAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubWalkAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubRiseUpAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubJumpAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubBurrowAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubExcitedStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubExcitedLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubExcitedEndAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubTakeOffHatAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubFlyStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubFlyLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubShockedStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubShockedShakeHeadAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubShockedPoundAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubShockedEndAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubThinkAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubBobAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &gBusinessScrubBurrowAnim, 1.0f, 8, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubBurrowAnim, 1.0f, 4, -1, ANIMMODE_ONCE, -4 },
{ &gBusinessScrubBurrowAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubFlyLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubTakeOffHatAnim, -1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubFlyEndAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
};
static u16 D_80BF048C[] = {
@ -1598,7 +1598,7 @@ void EnAkindonuts_Init(Actor* thisx, PlayState* play) {
EnAkindonuts* this = THIS;
Actor_ProcessInitChain(&this->actor, sInitChain);
SkelAnime_InitFlex(play, &this->skelAnime, &object_dnt_Skel_00AC70, &object_dnt_Anim_005488, this->jointTable,
SkelAnime_InitFlex(play, &this->skelAnime, &gBusinessScrubSkel, &gBusinessScrubStandingAnim, this->jointTable,
this->morphTable, 28);
Collider_InitCylinder(play, &this->collider);
Collider_SetCylinderType1(play, &this->collider, &this->actor, &sCylinderInit);
@ -1679,9 +1679,9 @@ s32 EnAkindonuts_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, V
if (limbIndex == 26) {
if ((this->unk_338 == 6) || (this->unk_338 == 5) || (this->unk_338 == 7)) {
*dList = object_dnt_DL_001350;
*dList = gBusinessScrubEyesWideDL;
} else {
*dList = object_dnt_DL_008290;
*dList = gBusinessScrubEyesDL;
}
}
return false;

View File

@ -16,12 +16,12 @@ void EnGamelupy_Destroy(Actor* thisx, PlayState* play);
void EnGamelupy_Update(Actor* thisx, PlayState* play);
void EnGamelupy_Draw(Actor* thisx, PlayState* play);
void func_80AF6958(EnGamelupy* this, PlayState* play);
void func_80AF69A8(EnGamelupy* this, PlayState* play);
void func_80AF6A78(EnGamelupy* this, PlayState* play);
void func_80AF6944(EnGamelupy* this);
void func_80AF6994(EnGamelupy* this);
void func_80AF6A38(EnGamelupy* this);
void EnGamelupy_FindSharedMemory(EnGamelupy* this, PlayState* play);
void EnGamelupy_Idle(EnGamelupy* this, PlayState* play);
void EnGamelupy_Collected(EnGamelupy* this, PlayState* play);
void EnGamelupy_SetupFindSharedMemory(EnGamelupy* this);
void EnGamelupy_SetupIdle(EnGamelupy* this);
void EnGamelupy_SetupCollected(EnGamelupy* this);
ActorInit En_Gamelupy_InitVars = {
ACTOR_EN_GAMELUPY,
@ -74,15 +74,15 @@ void EnGamelupy_Init(Actor* thisx, PlayState* play) {
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
this->actor.gravity = -0.5f;
this->actor.shape.rot.y = Rand_Next();
this->unk_19C = 0;
this->unk_19E = 0;
this->unk_1A0 = 0x7D0;
if (this->actor.params == 1) {
this->rupeeIndex = 1;
this->collectedTimer = 0;
this->sparklesAngle = 0;
this->sparklesAngleStep = 0x7D0;
if (EN_GAMELUPY_GET_TYPE(&this->actor) == ENGAMELUPY_TYPE_BLUE) {
this->type = ENGAMELUPY_TYPE_BLUE;
} else {
this->rupeeIndex = 0;
this->type = ENGAMELUPY_TYPE_GREEN;
}
func_80AF6944(this);
EnGamelupy_SetupFindSharedMemory(this);
}
void EnGamelupy_Destroy(Actor* thisx, PlayState* play) {
@ -91,77 +91,77 @@ void EnGamelupy_Destroy(Actor* thisx, PlayState* play) {
Collider_DestroyCylinder(play, &this->collider);
}
void func_80AF6854(EnGamelupy* this, PlayState* play) {
Vec3f sp4C;
Vec3f sp40;
Vec3f sp30;
void EnGamelupy_SpawnSparkles(EnGamelupy* this, PlayState* play) {
Vec3f pos;
Vec3f accel;
Vec3f velocity;
sp4C = this->actor.world.pos;
sp30.x = Math_SinS(this->unk_19E) * 3.0f;
sp30.y = 5.5f;
sp30.z = Math_CosS(this->unk_19E) * 3.0f;
sp40.x = -0.05f * sp30.x;
sp40.y = -0.4f;
sp40.z = -0.05f * sp30.z;
EffectSsKirakira_SpawnDispersed(play, &sp4C, &sp30, &sp40, &sPrimColor, &sEnvColor, 3000, 40);
this->unk_19E += this->unk_1A0;
pos = this->actor.world.pos;
velocity.x = Math_SinS(this->sparklesAngle) * 3.0f;
velocity.y = 5.5f;
velocity.z = Math_CosS(this->sparklesAngle) * 3.0f;
accel.x = -0.05f * velocity.x;
accel.y = -0.4f;
accel.z = -0.05f * velocity.z;
EffectSsKirakira_SpawnDispersed(play, &pos, &velocity, &accel, &sPrimColor, &sEnvColor, 3000, 40);
this->sparklesAngle += this->sparklesAngleStep;
}
void func_80AF6944(EnGamelupy* this) {
this->actionFunc = func_80AF6958;
void EnGamelupy_SetupFindSharedMemory(EnGamelupy* this) {
this->actionFunc = EnGamelupy_FindSharedMemory;
}
void func_80AF6958(EnGamelupy* this, PlayState* play) {
s16* unk_198 = func_800B6680(play, ACTOR_EN_GAMELUPY);
void EnGamelupy_FindSharedMemory(EnGamelupy* this, PlayState* play) {
s16* minigameScore = Actor_FindSharedMemoryEntry(play, ACTOR_EN_GAMELUPY);
if (unk_198 != NULL) {
this->unk_198 = unk_198;
func_80AF6994(this);
if (minigameScore != NULL) {
this->minigameScore = minigameScore;
EnGamelupy_SetupIdle(this);
}
}
void func_80AF6994(EnGamelupy* this) {
this->actionFunc = func_80AF69A8;
void EnGamelupy_SetupIdle(EnGamelupy* this) {
this->actionFunc = EnGamelupy_Idle;
}
void func_80AF69A8(EnGamelupy* this, PlayState* play) {
void EnGamelupy_Idle(EnGamelupy* this, PlayState* play) {
if (this->collider.base.ocFlags1 & OC1_HIT) {
*this->unk_198 += 50;
if (this->rupeeIndex == 1) {
*this->minigameScore += ENGAMELUPY_POINTS;
if (this->type == ENGAMELUPY_TYPE_BLUE) {
Rupees_ChangeBy(5);
} else {
Rupees_ChangeBy(1);
}
func_80AF6A38(this);
EnGamelupy_SetupCollected(this);
}
this->actor.shape.rot.y += 0x1F4;
}
void func_80AF6A38(EnGamelupy* this) {
this->unk_19C = 0;
void EnGamelupy_SetupCollected(EnGamelupy* this) {
this->collectedTimer = 0;
this->actor.gravity = 0.0f;
Actor_PlaySfx(&this->actor, NA_SE_SY_GET_RUPY);
this->actionFunc = func_80AF6A78;
this->actionFunc = EnGamelupy_Collected;
}
void func_80AF6A78(EnGamelupy* this, PlayState* play) {
void EnGamelupy_Collected(EnGamelupy* this, PlayState* play) {
f32 scale;
Player* player = GET_PLAYER(play);
if (this->unk_19C > 30) {
if (this->collectedTimer > 30) {
Actor_Kill(&this->actor);
} else {
this->unk_19C++;
this->collectedTimer++;
this->actor.world.pos = player->actor.world.pos;
this->actor.world.pos.y += 40.0f;
scale = (30.0f - this->unk_19C) * 0.001f;
scale = (30.0f - this->collectedTimer) * 0.001f;
Actor_SetScale(&this->actor, scale);
func_80AF6854(this, play);
EnGamelupy_SpawnSparkles(this, play);
}
this->actor.shape.rot.y += 0x3E8;
}
void func_80AF6B40(EnGamelupy* this, PlayState* play) {
void EnGamelupy_UpdateCollision(EnGamelupy* this, PlayState* play) {
Collider_UpdateCylinder(&this->actor, &this->collider);
CollisionCheck_SetOC(play, &play->colChkCtx, &this->collider.base);
}
@ -172,7 +172,7 @@ void EnGamelupy_Update(Actor* thisx, PlayState* play) {
this->actionFunc(this, play);
Actor_MoveWithGravity(&this->actor);
Actor_UpdateBgCheckInfo(play, &this->actor, 32.0f, 30.0f, 0.0f, UPDBGCHECKINFO_FLAG_4 | UPDBGCHECKINFO_FLAG_8);
func_80AF6B40(this, play);
EnGamelupy_UpdateCollision(this, play);
}
void EnGamelupy_Draw(Actor* thisx, PlayState* play) {
@ -184,7 +184,7 @@ void EnGamelupy_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL25_Opa(play->state.gfxCtx);
func_800B8050(&this->actor, play, 0);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(sRupeeTextures[this->rupeeIndex]));
gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(sRupeeTextures[this->type]));
gSPDisplayList(POLY_OPA_DISP++, gRupeeDL);
CLOSE_DISPS(play->state.gfxCtx);

View File

@ -5,17 +5,27 @@
struct EnGamelupy;
#define ENGAMELUPY_POINTS 50
typedef void (*EnGamelupyActionFunc)(struct EnGamelupy*, PlayState*);
#define EN_GAMELUPY_GET_TYPE(thisx) ((thisx)->params)
typedef enum {
/* 0 */ ENGAMELUPY_TYPE_GREEN,
/* 1 */ ENGAMELUPY_TYPE_BLUE,
/* 2 */ ENGAMELUPY_TYPE_MAX
} EnGamelupyType;
typedef struct EnGamelupy {
/* 0x000 */ Actor actor;
/* 0x144 */ ColliderCylinder collider;
/* 0x190 */ EnGamelupyActionFunc actionFunc;
/* 0x194 */ s32 rupeeIndex;
/* 0x198 */ s16* unk_198;
/* 0x19C */ s16 unk_19C;
/* 0x19E */ s16 unk_19E;
/* 0x1A0 */ s16 unk_1A0;
/* 0x194 */ s32 type;
/* 0x198 */ s16* minigameScore; // Pointer to shared memory location with actor EnLiftNuts
/* 0x19C */ s16 collectedTimer;
/* 0x19E */ s16 sparklesAngle;
/* 0x1A0 */ s16 sparklesAngleStep;
} EnGamelupy; // size = 0x1A4
#endif // Z_EN_GAMELUPY_H

File diff suppressed because it is too large Load Diff

View File

@ -8,25 +8,25 @@ struct EnLiftNuts;
typedef void (*EnLiftNutsActionFunc)(struct EnLiftNuts*, PlayState*);
#define ENLIFTNUTS_GET_FF00(thisx) (((thisx)->params & 0xFF00) >> 8)
#define ENLIFTNUTS_GET_PATH_INDEX(thisx) (((thisx)->params & 0xFF00) >> 8)
typedef struct EnLiftNuts {
/* 0x000 */ Actor actor;
/* 0x144 */ ColliderCylinder collider;
/* 0x190 */ SkelAnime skelAnime;
/* 0x1D4 */ EnLiftNutsActionFunc actionFunc;
/* 0x1D8 */ Vec3f vec_1D8;
/* 0x1E4 */ s32 unk_1E4;
/* 0x1E8 */ s32 unk_1E8;
/* 0x1EC */ s16* ptr_1EC;
/* 0x1F0 */ Vec3s jointTable[OBJECT_DNT_LIMB_MAX];
/* 0x298 */ Vec3s morphTable[OBJECT_DNT_LIMB_MAX];
/* 0x1D8 */ Vec3f waypointPos;
/* 0x1E4 */ s32 eyeTexIndex;
/* 0x1E8 */ s32 unk1E8; // Set but never used
/* 0x1EC */ s16* minigameScore; // Pointer to shared memory location with actor EnGamelupy
/* 0x1F0 */ Vec3s jointTable[BUSINESS_SCRUB_LIMB_MAX];
/* 0x298 */ Vec3s morphTable[BUSINESS_SCRUB_LIMB_MAX];
/* 0x340 */ UNK_TYPE1 unk_340[0xC];
/* 0x34C */ s16 textId;
/* 0x34E */ s16 unk_34E;
/* 0x34E */ s16 autotalk;
/* 0x350 */ UNK_TYPE1 unk_350[0x4];
/* 0x354 */ s16 unk_354;
/* 0x356 */ s16 unk_356;
/* 0x354 */ s16 timer; // Frame counter used for various different things
/* 0x356 */ s16 isFirstTimeHiding;
} EnLiftNuts; // size = 0x358
#endif // Z_EN_LIFT_NUTS_H

View File

@ -65,29 +65,29 @@ static ColliderCylinderInitType1 sCylinderInit = {
};
static AnimationInfoS sAnimationInfo[] = {
{ &object_dnt_Anim_005488, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_00B0B4, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_004AA0, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_004E38, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_0029E8, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_005CA8, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_0038CC, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_003CC0, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_0012F4, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_004700, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_001BC8, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_003438, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_001E2C, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_000994, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_002268, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_002F08, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_00577C, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnt_Anim_0029E8, 1.0f, 8, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_0029E8, 1.0f, 4, -1, ANIMMODE_ONCE, -4 },
{ &object_dnt_Anim_0029E8, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_001BC8, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_0012F4, -1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_002670, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubStandingAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubWalkAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubRiseUpAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubJumpAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubBurrowAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubExcitedStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubExcitedLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubExcitedEndAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubTakeOffHatAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubFlyStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubFlyLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubShockedStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubShockedShakeHeadAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubShockedPoundAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubShockedEndAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubThinkAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubBobAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &gBusinessScrubBurrowAnim, 1.0f, 8, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubBurrowAnim, 1.0f, 4, -1, ANIMMODE_ONCE, -4 },
{ &gBusinessScrubBurrowAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubFlyLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubTakeOffHatAnim, -1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubFlyEndAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
};
Gfx* D_80BCCCDC[] = { gKakeraLeafMiddle, gKakeraLeafTip };
@ -691,7 +691,7 @@ void EnScopenuts_Init(Actor* thisx, PlayState* play) {
}
Actor_ProcessInitChain(&this->actor, sInitChain);
SkelAnime_InitFlex(play, &this->skelAnime, &object_dnt_Skel_00AC70, &object_dnt_Anim_005488, this->jointTable,
SkelAnime_InitFlex(play, &this->skelAnime, &gBusinessScrubSkel, &gBusinessScrubStandingAnim, this->jointTable,
this->morphTable, 28);
Collider_InitCylinder(play, &this->collider);
Collider_SetCylinderType1(play, &this->collider, &this->actor, &sCylinderInit);
@ -794,9 +794,9 @@ s32 EnScopenuts_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Ve
if (limbIndex == 26) {
if ((this->unk_33C == 0x162F) || (this->unk_33C == 0x1630)) {
*dList = object_dnt_DL_001420;
*dList = gBusinessScrubEyesSquintDL;
} else {
*dList = object_dnt_DL_008290;
*dList = gBusinessScrubEyesDL;
}
}

View File

@ -81,29 +81,29 @@ static ColliderCylinderInitType1 sCylinderInit = {
};
static AnimationInfoS sAnimationInfo[] = {
{ &object_dnt_Anim_005488, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_00B0B4, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_004AA0, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_004E38, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_0029E8, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_005CA8, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_0038CC, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_003CC0, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_0012F4, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_004700, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_001BC8, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_003438, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_001E2C, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_000994, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_002268, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_002F08, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_00577C, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &object_dnt_Anim_0029E8, 1.0f, 8, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_0029E8, 1.0f, 4, -1, ANIMMODE_ONCE, -4 },
{ &object_dnt_Anim_0029E8, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_001BC8, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &object_dnt_Anim_0012F4, -1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &object_dnt_Anim_002670, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubStandingAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubWalkAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubRiseUpAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubJumpAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubBurrowAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubExcitedStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubExcitedLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubExcitedEndAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubTakeOffHatAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubFlyStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubFlyLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubShockedStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubShockedShakeHeadAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubShockedPoundAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubShockedEndAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubThinkAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubBobAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 },
{ &gBusinessScrubBurrowAnim, 1.0f, 8, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubBurrowAnim, 1.0f, 4, -1, ANIMMODE_ONCE, -4 },
{ &gBusinessScrubBurrowAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubFlyLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gBusinessScrubTakeOffHatAnim, -1.0f, 0, -1, ANIMMODE_ONCE, 0 },
{ &gBusinessScrubFlyEndAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 },
};
static InitChainEntry sInitChain[] = {
@ -953,7 +953,7 @@ void EnSellnuts_Init(Actor* thisx, PlayState* play) {
}
Actor_ProcessInitChain(&this->actor, sInitChain);
SkelAnime_InitFlex(play, &this->skelAnime, &object_dnt_Skel_00AC70, &object_dnt_Anim_005488, this->jointTable,
SkelAnime_InitFlex(play, &this->skelAnime, &gBusinessScrubSkel, &gBusinessScrubStandingAnim, this->jointTable,
this->morphTable, 28);
Collider_InitCylinder(play, &this->collider);
Collider_SetCylinderType1(play, &this->collider, &this->actor, &sCylinderInit);
@ -1106,9 +1106,9 @@ s32 EnSellnuts_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec
if (limbIndex == 26) {
if ((this->unk_34C == 6) || (this->unk_34C == 5) || (this->unk_34C == 7)) {
*dList = object_dnt_DL_001350;
*dList = gBusinessScrubEyesWideDL;
} else {
*dList = object_dnt_DL_008290;
*dList = gBusinessScrubEyesDL;
}
}

View File

@ -700,9 +700,9 @@
0x800B6474:("Actor_UpdatePlayerImpact",),
0x800B648C:("Actor_SetPlayerImpact",),
0x800B64FC:("Actor_GetPlayerImpact",),
0x800B6584:("func_800B6584",),
0x800B6608:("func_800B6608",),
0x800B6680:("func_800B6680",),
0x800B6584:("Actor_AddSharedMemoryEntry",),
0x800B6608:("Actor_FreeSharedMemoryEntry",),
0x800B6680:("Actor_FindSharedMemoryEntry",),
0x800B670C:("Actor_Kill",),
0x800B672C:("Actor_SetWorldToHome",),
0x800B675C:("Actor_SetFocus",),
@ -12504,48 +12504,48 @@
0x80AE939C:("func_80AE939C",),
0x80AE9574:("ObjBigicicle_Update",),
0x80AE9780:("ObjBigicicle_Draw",),
0x80AE9A20:("func_80AE9A20",),
0x80AE9A80:("func_80AE9A80",),
0x80AE9AC4:("func_80AE9AC4",),
0x80AE9B4C:("func_80AE9B4C",),
0x80AE9B8C:("func_80AE9B8C",),
0x80AE9BCC:("func_80AE9BCC",),
0x80AE9A20:("EnLiftNuts_AddSharedMemoryEntry",),
0x80AE9A80:("EnLiftNuts_FreeSharedMemoryEntry",),
0x80AE9AC4:("EnLiftNuts_Autotalk",),
0x80AE9B4C:("EnLiftNuts_GameState",),
0x80AE9B8C:("EnLiftNuts_GetNumDaysWon",),
0x80AE9BCC:("EnLiftNuts_TryHide",),
0x80AE9CA8:("EnLiftNuts_Init",),
0x80AE9EEC:("EnLiftNuts_Destroy",),
0x80AE9F28:("func_80AE9F28",),
0x80AE9F70:("func_80AE9F70",),
0x80AE9FC8:("func_80AE9FC8",),
0x80AEA044:("func_80AEA044",),
0x80AEA0B4:("func_80AEA0B4",),
0x80AEA128:("func_80AEA128",),
0x80AEA1A0:("func_80AEA1A0",),
0x80AEA7A4:("func_80AEA7A4",),
0x80AEA910:("func_80AEA910",),
0x80AEABF0:("func_80AEABF0",),
0x80AEAC64:("func_80AEAC64",),
0x80AEACF8:("func_80AEACF8",),
0x80AEAEAC:("func_80AEAEAC",),
0x80AEAF14:("func_80AEAF14",),
0x80AEAF8C:("func_80AEAF8C",),
0x80AEAFA0:("func_80AEAFA0",),
0x80AEB114:("func_80AEB114",),
0x80AEB148:("func_80AEB148",),
0x80AEB1C8:("func_80AEB1C8",),
0x80AEB230:("func_80AEB230",),
0x80AEB280:("func_80AEB280",),
0x80AEB294:("func_80AEB294",),
0x80AEB3E0:("func_80AEB3E0",),
0x80AEB428:("func_80AEB428",),
0x80AEB584:("func_80AEB584",),
0x80AEB598:("func_80AEB598",),
0x80AEB684:("func_80AEB684",),
0x80AEB698:("func_80AEB698",),
0x80AEB828:("func_80AEB828",),
0x80AEB8A4:("func_80AEB8A4",),
0x80AEB934:("func_80AEB934",),
0x80AEB974:("func_80AEB974",),
0x80AEB9E0:("func_80AEB9E0",),
0x80AEBB30:("func_80AEBB30",),
0x80AE9F28:("EnLiftNuts_SetupIdleHidden",),
0x80AE9F70:("EnLiftNuts_IdleHidden",),
0x80AE9FC8:("EnLiftNuts_SetupBurrow",),
0x80AEA044:("EnLiftNuts_Burrow",),
0x80AEA0B4:("EnLiftNuts_SetupIdle",),
0x80AEA128:("EnLiftNuts_RiseUp",),
0x80AEA1A0:("EnLiftNuts_Idle",),
0x80AEA7A4:("EnLiftNuts_HandleConversationChoice",),
0x80AEA910:("EnLiftNuts_HandleConversation5",),
0x80AEABF0:("EnLiftNuts_SetupStartConversation",),
0x80AEAC64:("EnLiftNuts_StartConversation",),
0x80AEACF8:("EnLiftNuts_HandleConversation",),
0x80AEAEAC:("EnLiftNuts_SetupMove",),
0x80AEAF14:("EnLiftNuts_Move",),
0x80AEAF8C:("EnLiftNuts_SetupMovePlayer",),
0x80AEAFA0:("EnLiftNuts_MovePlayer",),
0x80AEB114:("EnLiftNuts_SetupStartGame",),
0x80AEB148:("EnLiftNuts_StartGame",),
0x80AEB1C8:("EnLiftNuts_SetupStartGameImmediately",),
0x80AEB230:("EnLiftNuts_StartGameImmediately",),
0x80AEB280:("EnLiftNuts_SetupRunGame",),
0x80AEB294:("EnLiftNuts_RunGame",),
0x80AEB3E0:("EnLiftNuts_SetupEndGame",),
0x80AEB428:("EnLiftNuts_EndGame",),
0x80AEB584:("EnLiftNuts_SetupGiveReward",),
0x80AEB598:("EnLiftNuts_GiveReward",),
0x80AEB684:("EnLiftNuts_SetupResumeConversation",),
0x80AEB698:("EnLiftNuts_ResumeConversation",),
0x80AEB828:("EnLiftNuts_SetupStartHiding",),
0x80AEB8A4:("EnLiftNuts_StartHiding",),
0x80AEB934:("EnLiftNuts_Hide",),
0x80AEB974:("EnLiftNuts_UpdateEyes",),
0x80AEB9E0:("EnLiftNuts_SpawnDust",),
0x80AEBB30:("EnLiftNuts_UpdateCollision",),
0x80AEBB74:("EnLiftNuts_Update",),
0x80AEBC18:("func_80AEBC18",),
0x80AEBC90:("func_80AEBC90",),
@ -12699,14 +12699,14 @@
0x80AF6094:("EnWdhand_Draw",),
0x80AF6760:("EnGamelupy_Init",),
0x80AF6828:("EnGamelupy_Destroy",),
0x80AF6854:("func_80AF6854",),
0x80AF6944:("func_80AF6944",),
0x80AF6958:("func_80AF6958",),
0x80AF6994:("func_80AF6994",),
0x80AF69A8:("func_80AF69A8",),
0x80AF6A38:("func_80AF6A38",),
0x80AF6A78:("func_80AF6A78",),
0x80AF6B40:("func_80AF6B40",),
0x80AF6854:("EnGamelupy_SpawnSparkles",),
0x80AF6944:("EnGamelupy_SetupFindSharedMemory",),
0x80AF6958:("EnGamelupy_FindSharedMemory",),
0x80AF6994:("EnGamelupy_SetupIdle",),
0x80AF69A8:("EnGamelupy_Idle",),
0x80AF6A38:("EnGamelupy_SetupCollected",),
0x80AF6A78:("EnGamelupy_Collected",),
0x80AF6B40:("EnGamelupy_UpdateCollision",),
0x80AF6B84:("EnGamelupy_Update",),
0x80AF6BF8:("EnGamelupy_Draw",),
0x80AF6DE0:("func_80AF6DE0",),

View File

@ -214,9 +214,9 @@ asm/non_matchings/code/z_actor/Actor_InitPlayerImpact.s,Actor_InitPlayerImpact,0
asm/non_matchings/code/z_actor/Actor_UpdatePlayerImpact.s,Actor_UpdatePlayerImpact,0x800B6474,0x6
asm/non_matchings/code/z_actor/Actor_SetPlayerImpact.s,Actor_SetPlayerImpact,0x800B648C,0x1C
asm/non_matchings/code/z_actor/Actor_GetPlayerImpact.s,Actor_GetPlayerImpact,0x800B64FC,0x22
asm/non_matchings/code/z_actor/func_800B6584.s,func_800B6584,0x800B6584,0x21
asm/non_matchings/code/z_actor/func_800B6608.s,func_800B6608,0x800B6608,0x1E
asm/non_matchings/code/z_actor/func_800B6680.s,func_800B6680,0x800B6680,0x23
asm/non_matchings/code/z_actor/Actor_AddSharedMemoryEntry.s,func_800B6584,0x800B6584,0x21
asm/non_matchings/code/z_actor/Actor_FreeSharedMemoryEntry.s,func_800B6608,0x800B6608,0x1E
asm/non_matchings/code/z_actor/Actor_FindSharedMemoryEntry.s,func_800B6680,0x800B6680,0x23
asm/non_matchings/code/z_actor/Actor_Kill.s,Actor_Kill,0x800B670C,0x8
asm/non_matchings/code/z_actor/Actor_SetWorldToHome.s,Actor_SetWorldToHome,0x800B672C,0xC
asm/non_matchings/code/z_actor/Actor_SetFocus.s,Actor_SetFocus,0x800B675C,0x11

1 asm/non_matchings/code/z_en_a_keep/EnAObj_Init.s EnAObj_Init 0x800A5AC0 0x2B
214 asm/non_matchings/code/z_actor/Actor_UpdatePlayerImpact.s Actor_UpdatePlayerImpact 0x800B6474 0x6
215 asm/non_matchings/code/z_actor/Actor_SetPlayerImpact.s Actor_SetPlayerImpact 0x800B648C 0x1C
216 asm/non_matchings/code/z_actor/Actor_GetPlayerImpact.s Actor_GetPlayerImpact 0x800B64FC 0x22
217 asm/non_matchings/code/z_actor/func_800B6584.s asm/non_matchings/code/z_actor/Actor_AddSharedMemoryEntry.s func_800B6584 0x800B6584 0x21
218 asm/non_matchings/code/z_actor/func_800B6608.s asm/non_matchings/code/z_actor/Actor_FreeSharedMemoryEntry.s func_800B6608 0x800B6608 0x1E
219 asm/non_matchings/code/z_actor/func_800B6680.s asm/non_matchings/code/z_actor/Actor_FindSharedMemoryEntry.s func_800B6680 0x800B6680 0x23
220 asm/non_matchings/code/z_actor/Actor_Kill.s Actor_Kill 0x800B670C 0x8
221 asm/non_matchings/code/z_actor/Actor_SetWorldToHome.s Actor_SetWorldToHome 0x800B672C 0xC
222 asm/non_matchings/code/z_actor/Actor_SetFocus.s Actor_SetFocus 0x800B675C 0x11

View File

@ -120,10 +120,10 @@ weekEventReg = {
(14 << 8) | 0x02: "WEEKEVENTREG_14_02",
(14 << 8) | 0x04: "WEEKEVENTREG_14_04",
(14 << 8) | 0x08: "WEEKEVENTREG_DRANK_CHATEAU_ROMANI",
(14 << 8) | 0x10: "WEEKEVENTREG_14_10",
(14 << 8) | 0x20: "WEEKEVENTREG_14_20",
(14 << 8) | 0x40: "WEEKEVENTREG_14_40",
(14 << 8) | 0x80: "WEEKEVENTREG_14_80",
(14 << 8) | 0x10: "WEEKEVENTREG_WON_DEKU_PLAYGROUND_DAY_1",
(14 << 8) | 0x20: "WEEKEVENTREG_WON_DEKU_PLAYGROUND_DAY_2",
(14 << 8) | 0x40: "WEEKEVENTREG_WON_DEKU_PLAYGROUND_DAY_3",
(14 << 8) | 0x80: "WEEKEVENTREG_RECEIVED_DEKU_PLAYGROUND_HEART_PIECE",
(15 << 8) | 0x01: "WEEKEVENTREG_15_01",
(15 << 8) | 0x02: "WEEKEVENTREG_15_02",
(15 << 8) | 0x04: "WEEKEVENTREG_15_04",