mirror of https://github.com/zeldaret/mm.git
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:
parent
db6268a12e
commit
913cd981c0
|
@ -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>
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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",),
|
||||
|
|
|
@ -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
|
||||
|
|
|
|
@ -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",
|
||||
|
|
Loading…
Reference in New Issue