EnOsn (Happy Mask Salesman) and object_osn Docs (#1135)

* Inital cleanup

* Object

* Docs

* Small things

* PR
This commit is contained in:
Derek Hensley 2022-10-21 20:12:38 -07:00 committed by GitHub
parent 6b588eb3d7
commit c1a0d0bd2b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 581 additions and 424 deletions

View File

@ -43,7 +43,9 @@
<DList Name="gDekuStickDL" Offset="0x32B0" /> <!-- @bug Supplies the wrong size to gsDPLoadTextureBlock, meaning it uses part of gLinkPauseChildJointTable as if it were a texture. -->
<Blob Name="gameplay_keep_Blob_003400" Size="0x9D0" Offset="0x3400" />
<DList Name="gameplay_keep_DL_005360" Offset="0x5360" />
<DList Name="gameplay_keep_DL_0056C0" Offset="0x56C0" />
<DList Name="gDekuMaskDL" Offset="0x56C0" />
<DList Name="gameplay_keep_DL_005A10" Offset="0x5A10" />
<Blob Name="gameplay_keep_Blob_005DB8" Size="0x200" Offset="0x5DB8" />
<Texture Name="gameplay_keep_TLUT_005FB8" OutName="tlut_005FB8" Format="rgba16" Width="16" Height="16" Offset="0x5FB8" />

View File

@ -1,117 +1,139 @@
<Root>
<!-- Assets for the Happy Mask Salesman and the cutscene Deku Mask -->
<File Name="object_osn" Segment="6">
<Animation Name="object_osn_Anim_0000C4" Offset="0xC4" />
<Animation Name="object_osn_Anim_001034" Offset="0x1034" />
<Animation Name="object_osn_Anim_001614" Offset="0x1614" />
<Animation Name="object_osn_Anim_001D6C" Offset="0x1D6C" />
<Animation Name="object_osn_Anim_002634" Offset="0x2634" />
<Animation Name="object_osn_Anim_002F74" Offset="0x2F74" />
<Animation Name="object_osn_Anim_0037C4" Offset="0x37C4" />
<Animation Name="object_osn_Anim_003A1C" Offset="0x3A1C" />
<Animation Name="object_osn_Anim_004320" Offset="0x4320" />
<Animation Name="object_osn_Anim_004C8C" Offset="0x4C8C" />
<Animation Name="object_osn_Anim_0055F8" Offset="0x55F8" />
<Animation Name="object_osn_Anim_005D78" Offset="0x5D78" />
<Animation Name="object_osn_Anim_006564" Offset="0x6564" />
<Animation Name="object_osn_Anim_006D48" Offset="0x6D48" />
<Animation Name="object_osn_Anim_007220" Offset="0x7220" />
<Animation Name="object_osn_Anim_008D80" Offset="0x8D80" />
<Animation Name="object_osn_Anim_0094E4" Offset="0x94E4" />
<Animation Name="object_osn_Anim_009BB8" Offset="0x9BB8" />
<Animation Name="object_osn_Anim_00A444" Offset="0xA444" />
<Animation Name="object_osn_Anim_00AC60" Offset="0xAC60" />
<Animation Name="object_osn_Anim_00AE9C" Offset="0xAE9C" />
<DList Name="object_osn_DL_00F5E0" Offset="0xF5E0" />
<DList Name="object_osn_DL_00F830" Offset="0xF830" />
<DList Name="object_osn_DL_00FB30" Offset="0xFB30" />
<DList Name="object_osn_DL_00FD88" Offset="0xFD88" />
<DList Name="object_osn_DL_00FFC0" Offset="0xFFC0" />
<DList Name="object_osn_DL_0102C0" Offset="0x102C0" />
<DList Name="object_osn_DL_010518" Offset="0x10518" />
<DList Name="object_osn_DL_010750" Offset="0x10750" />
<DList Name="object_osn_DL_010AB0" Offset="0x10AB0" />
<DList Name="object_osn_DL_010ED0" Offset="0x10ED0" />
<DList Name="object_osn_DL_0114B8" Offset="0x114B8" />
<DList Name="object_osn_DL_012088" Offset="0x12088" />
<DList Name="object_osn_DL_0122F8" Offset="0x122F8" />
<DList Name="object_osn_DL_0125F0" Offset="0x125F0" />
<DList Name="object_osn_DL_012780" Offset="0x12780" />
<DList Name="object_osn_DL_0129F0" Offset="0x129F0" />
<DList Name="object_osn_DL_012CE8" Offset="0x12CE8" />
<Texture Name="object_osn_TLUT_012E78" OutName="tlut_012E78" Format="rgba16" Width="16" Height="16" Offset="0x12E78" />
<Texture Name="object_osn_TLUT_013078" OutName="tlut_013078" Format="rgba16" Width="16" Height="16" Offset="0x13078" />
<Texture Name="object_osn_TLUT_013278" OutName="tlut_013278" Format="rgba16" Width="16" Height="16" Offset="0x13278" />
<Texture Name="object_osn_TLUT_013478" OutName="tlut_013478" Format="rgba16" Width="16" Height="16" Offset="0x13478" />
<Texture Name="object_osn_Tex_013678" OutName="tex_013678" Format="ci8" Width="8" Height="8" Offset="0x13678" />
<Texture Name="object_osn_Tex_0136B8" OutName="tex_0136B8" Format="ci8" Width="8" Height="8" Offset="0x136B8" />
<Texture Name="object_osn_Tex_0136F8" OutName="tex_0136F8" Format="ci8" Width="8" Height="8" Offset="0x136F8" />
<Texture Name="object_osn_Tex_013738" OutName="tex_013738" Format="ci8" Width="8" Height="16" Offset="0x13738" />
<Texture Name="object_osn_Tex_0137B8" OutName="tex_0137B8" Format="ci8" Width="8" Height="16" Offset="0x137B8" />
<Texture Name="object_osn_Tex_013838" OutName="tex_013838" Format="ci8" Width="8" Height="16" Offset="0x13838" />
<Texture Name="object_osn_Tex_0138B8" OutName="tex_0138B8" Format="ci8" Width="16" Height="16" Offset="0x138B8" />
<Texture Name="object_osn_Tex_0139B8" OutName="tex_0139B8" Format="ci8" Width="8" Height="8" Offset="0x139B8" />
<Texture Name="object_osn_Tex_0139F8" OutName="tex_0139F8" Format="ci8" Width="16" Height="16" Offset="0x139F8" />
<Texture Name="object_osn_Tex_013AF8" OutName="tex_013AF8" Format="ci8" Width="16" Height="16" Offset="0x13AF8" />
<Texture Name="object_osn_Tex_013BF8" OutName="tex_013BF8" Format="rgba16" Width="8" Height="16" Offset="0x13BF8" />
<Texture Name="object_osn_Tex_013CF8" OutName="tex_013CF8" Format="ci8" Width="16" Height="8" Offset="0x13CF8" />
<Texture Name="object_osn_Tex_013D78" OutName="tex_013D78" Format="ci8" Width="16" Height="16" Offset="0x13D78" />
<Texture Name="object_osn_Tex_013E78" OutName="tex_013E78" Format="ci8" Width="16" Height="16" Offset="0x13E78" />
<Texture Name="object_osn_Tex_013F78" OutName="tex_013F78" Format="ci8" Width="8" Height="8" Offset="0x13F78" />
<Texture Name="object_osn_Tex_013FB8" OutName="tex_013FB8" Format="ci8" Width="16" Height="32" Offset="0x13FB8" />
<Texture Name="object_osn_Tex_0141B8" OutName="tex_0141B8" Format="ci8" Width="16" Height="32" Offset="0x141B8" />
<Texture Name="object_osn_Tex_0143B8" OutName="tex_0143B8" Format="ci8" Width="16" Height="16" Offset="0x143B8" />
<Texture Name="object_osn_Tex_0144B8" OutName="tex_0144B8" Format="ci8" Width="32" Height="64" Offset="0x144B8" />
<Texture Name="object_osn_Tex_014CB8" OutName="tex_014CB8" Format="ci8" Width="32" Height="16" Offset="0x14CB8" />
<Texture Name="object_osn_Tex_014EB8" OutName="tex_014EB8" Format="ci8" Width="16" Height="16" Offset="0x14EB8" />
<Texture Name="object_osn_Tex_014FB8" OutName="tex_014FB8" Format="ci8" Width="8" Height="8" Offset="0x14FB8" />
<Texture Name="object_osn_Tex_014FF8" OutName="tex_014FF8" Format="ci8" Width="16" Height="32" Offset="0x14FF8" />
<Texture Name="object_osn_Tex_0151F8" OutName="tex_0151F8" Format="ci8" Width="16" Height="32" Offset="0x151F8" />
<Texture Name="object_osn_Tex_0153F8" OutName="tex_0153F8" Format="i8" Width="16" Height="16" Offset="0x153F8" />
<Texture Name="object_osn_Tex_0154F8" OutName="tex_0154F8" Format="ci8" Width="16" Height="32" Offset="0x154F8" />
<Texture Name="object_osn_Tex_0156F8" OutName="tex_0156F8" Format="ci8" Width="16" Height="32" Offset="0x156F8" />
<Texture Name="object_osn_Tex_0158F8" OutName="tex_0158F8" Format="i8" Width="16" Height="32" Offset="0x158F8" />
<Texture Name="object_osn_Tex_015AF8" OutName="tex_015AF8" Format="rgba16" Width="16" Height="32" Offset="0x15AF8" />
<Texture Name="object_osn_Tex_015EF8" OutName="tex_015EF8" Format="ci8" Width="16" Height="32" Offset="0x15EF8" />
<Texture Name="object_osn_Tex_0160F8" OutName="tex_0160F8" Format="ci8" Width="16" Height="32" Offset="0x160F8" />
<Texture Name="object_osn_Tex_0162F8" OutName="tex_0162F8" Format="ci8" Width="16" Height="32" Offset="0x162F8" />
<Texture Name="object_osn_Tex_0164F8" OutName="tex_0164F8" Format="ci8" Width="16" Height="32" Offset="0x164F8" />
<Texture Name="object_osn_Tex_0166F8" OutName="tex_0166F8" Format="rgba16" Width="32" Height="32" Offset="0x166F8" />
<Texture Name="object_osn_Tex_016EF8" OutName="tex_016EF8" Format="rgba16" Width="32" Height="32" Offset="0x16EF8" />
<Texture Name="object_osn_Tex_0176F8" OutName="tex_0176F8" Format="rgba16" Width="32" Height="32" Offset="0x176F8" />
<Texture Name="object_osn_Tex_017EF8" OutName="tex_017EF8" Format="rgba16" Width="32" Height="16" Offset="0x17EF8" />
<Texture Name="object_osn_Tex_0182F8" OutName="tex_0182F8" Format="rgba16" Width="32" Height="16" Offset="0x182F8" />
<TextureAnimation Name="object_osn_Matanimheader_01873C" Offset="0x1873C" />
<DList Name="object_osn_DL_0192A0" Offset="0x192A0" />
<DList Name="object_osn_DL_019650" Offset="0x19650" />
<Texture Name="object_osn_Tex_019700" OutName="tex_019700" Format="rgba16" Width="32" Height="64" Offset="0x19700" />
<Texture Name="object_osn_Tex_01A700" OutName="tex_01A700" Format="rgba16" Width="16" Height="16" Offset="0x1A700" />
<Texture Name="object_osn_Tex_01A900" OutName="tex_01A900" Format="rgba16" Width="16" Height="16" Offset="0x1A900" />
<Texture Name="object_osn_Tex_01AB00" OutName="tex_01AB00" Format="rgba16" Width="16" Height="16" Offset="0x1AB00" />
<Texture Name="object_osn_Tex_01AD00" OutName="tex_01AD00" Format="rgba16" Width="16" Height="16" Offset="0x1AD00" />
<Texture Name="object_osn_Tex_01AF00" OutName="tex_01AF00" Format="rgba16" Width="32" Height="32" Offset="0x1AF00" />
<Texture Name="object_osn_Tex_01B700" OutName="tex_01B700" Format="rgba16" Width="32" Height="32" Offset="0x1B700" />
<!-- Happy Mask Salesman Animations -->
<Animation Name="gHappyMaskSalesmanLyingDownAnim" Offset="0xC4" /> <!-- Frame 0: Face up, Frame 1: Face down--> <!-- Original name is "om_downpose" -->
<Animation Name="gHappyMaskSalesmanOrganPlayAnim" Offset="0x1034" /> <!-- Original name is "om_ensou" -->
<Animation Name="gHappyMaskSalesmanOrganTalkAnim" Offset="0x1614" /> <!-- Original name is "om_ensou_taiki" -->
<Animation Name="gHappyMaskSalesmanTurnAroundStartAnim" Offset="0x1D6C" /> <!-- Original name is "om_furimuki" -->
<Animation Name="gHappyMaskSalesmanTurnAroundLoopAnim" Offset="0x2634" /> <!-- Original name is "om_furimuki_loop" -->
<Animation Name="gHappyMaskSalesmanArmsOutAnim" Offset="0x2F74" /> <!-- Original name is "om_gozonji" -->
<Animation Name="gHappyMaskSalesmanBowingAnim" Offset="0x37C4" /> <!-- Original name is "om_hajime" -->
<Animation Name="gHappyMaskSalesmanChokeAnim" Offset="0x3A1C" /> <!-- Original name is "om_kubisime_loop" -->
<Animation Name="gHappyMaskSalesmanReminisceAnim" Offset="0x4320" /> <!-- Rock calmly with hands together out front --> <!-- Original name is "om_nanto" -->
<Animation Name="gHappyMaskSalesmanHandsClaspedAnim" Offset="0x4C8C" /> <!-- Stand still with hands clasped together out front --> <!-- Original name is "om_niginigi" -->
<Animation Name="gHappyMaskSalesmanDespairAnim" Offset="0x55F8" /> <!-- Rock wildly with both hands on head --> <!-- Original name is "om_noo_loop" -->
<Animation Name="gHappyMaskSalesmanMaskLookFromStartAnim" Offset="0x5D78" /> <!-- Look away from held mask --> <!-- Original name is "om_omfurim" -->
<Animation Name="gHappyMaskSalesmanMaskLookFromLoopAnim" Offset="0x6564" /> <!-- Original name is "om_omfurim_loop" -->
<Animation Name="gHappyMaskSalesmanMaskLookAtAnim" Offset="0x6D48" /> <!-- Original name is "om_ommotu_loop" -->
<Animation Name="gHappyMaskSalesmanFastBowsAnim" Offset="0x7220" /> <!-- Original name is "om_onegai_loop" -->
<Animation Name="gHappyMaskSalesmanWalkAwayAnim" Offset="0x8D80" /> <!-- Original name is "om_saru" -->
<Animation Name="gHappyMaskSalesmanBelieveAnim" Offset="0x94E4" /> <!-- Both arms outstreched while looking up --> <!-- Original name is "om_sinjina" -->
<Animation Name="gHappyMaskSalesmanThinkAnim" Offset="0x9BB8" /> <!-- Stand still with hand on chin --> <!-- --> <!-- Original name is "om_souieba" -->
<Animation Name="gHappyMaskSalesmanHandOutAnim" Offset="0xA444" /> <!-- Original name is "om_tewodasu_loop" -->
<Animation Name="gHappyMaskSalesmanShakeHeadAnim" Offset="0xAC60" /> <!-- Shake head with hand on forehead --> <!-- Original name is "om_watasi" -->
<Animation Name="gHappyMaskSalesmanShakeAnim" Offset="0xAE9C" /> <!-- Original name is "om_yusaburu" -->
<!-- Happy Mask Salesman DLists -->
<DList Name="gHappyMaskSalesmanPelvisDL" Offset="0xF5E0" />
<DList Name="gHappyMaskSalesmanRightThighDL" Offset="0xF830" />
<DList Name="gHappyMaskSalesmanRightShinDL" Offset="0xFB30" />
<DList Name="gHappyMaskSalesmanRightFootDL" Offset="0xFD88" />
<DList Name="gHappyMaskSalesmanLeftThighDL" Offset="0xFFC0" />
<DList Name="gHappyMaskSalesmanLeftShinDL" Offset="0x102C0" />
<DList Name="gHappyMaskSalesmanLeftFootDL" Offset="0x10518" />
<DList Name="gHappyMaskSalesmanAbdomenDL" Offset="0x10750" />
<DList Name="gHappyMaskSalesmanChestDL" Offset="0x10AB0" />
<DList Name="gHappyMaskSalesmanHeadDL" Offset="0x10ED0" />
<DList Name="gHappyMaskSalesmanBackpackDL" Offset="0x114B8" />
<DList Name="gHappyMaskSalesmanRightUpperArmDL" Offset="0x12088" />
<DList Name="gHappyMaskSalesmanRightForearmDL" Offset="0x122F8" />
<DList Name="gHappyMaskSalesmanRightHandDL" Offset="0x125F0" />
<DList Name="gHappyMaskSalesmanLeftUpperArmDL" Offset="0x12780" />
<DList Name="gHappyMaskSalesmanLeftForearmDL" Offset="0x129F0" />
<DList Name="gHappyMaskSalesmanLeftHandDL" Offset="0x12CE8" />
<!-- Happy Mask Salesman Textures -->
<Texture Name="gHappyMaskSalesmanBodyTLUT" OutName="happy_mask_salesman_body_tlut" Format="rgba16" Width="16" Height="16" Offset="0x12E78" />
<Texture Name="gHappyMaskSalesmanBackpackTLUT" OutName="happy_mask_salesman_mask_backpack_tlut" Format="rgba16" Width="16" Height="16" Offset="0x13078" />
<Texture Name="gHappyMaskSalesmanMask1TLUT" OutName="happy_mask_salesman_mask_1_tlut" Format="rgba16" Width="16" Height="16" Offset="0x13278" /> <!-- Shared between multiple masks -->
<Texture Name="gHappyMaskSalesmanMask2TLUT" OutName="happy_mask_salesman_mask_2_tlut" Format="rgba16" Width="16" Height="16" Offset="0x13478" /> <!-- Shared between multiple masks -->
<Texture Name="gHappyMaskSalesmanSkinTex" OutName="happy_mask_salesman_skin" Format="ci8" Width="8" Height="8" Offset="0x13678" />
<Texture Name="gHappyMaskSalesmanEarTex" OutName="happy_mask_salesman_ear" Format="ci8" Width="8" Height="8" Offset="0x136B8" />
<Texture Name="gHappyMaskSalesmanNostrilTex" OutName="happy_mask_salesman_nostril" Format="ci8" Width="8" Height="8" Offset="0x136F8" />
<Texture Name="gHappyMaskSalesmanHairTex" OutName="happy_mask_salesman_hair" Format="ci8" Width="8" Height="16" Offset="0x13738" />
<Texture Name="gHappyMaskSalesmanGoldFabric1Tex" OutName="happy_mask_salesman_gold_fabric_1" Format="ci8" Width="8" Height="16" Offset="0x137B8" /> <!-- Main neck piece and back of the cuffs -->
<Texture Name="gHappyMaskSalesmanGoldFabric2Tex" OutName="happy_mask_salesman_gold_fabric_2" Format="ci8" Width="8" Height="16" Offset="0x13838" /> <!-- Collar and front of the cuffs -->
<Texture Name="gHappyMaskSalesmanRobeFrontTex" OutName="happy_mask_salesman_robe_front" Format="ci8" Width="16" Height="16" Offset="0x138B8" />
<Texture Name="gHappyMaskSalesmanFootTex" OutName="happy_mask_salesman_foot" Format="ci8" Width="8" Height="8" Offset="0x139B8" />
<Texture Name="gHappyMaskSalesmanFingersTex" OutName="happy_mask_salesman_fingers" Format="ci8" Width="16" Height="16" Offset="0x139F8" />
<Texture Name="gHappyMaskSalesmaeClothesTex" OutName="happy_mask_salesman_clothes" Format="ci8" Width="16" Height="16" Offset="0x13AF8" />
<Texture Name="gHappyMaskSalesmanHairlineTex" OutName="happy_mask_salesman_hairline" Format="rgba16" Width="8" Height="16" Offset="0x13BF8" />
<Texture Name="gHappyMaskSalesmanShoeTex" OutName="happy_mask_salesman_shoe" Format="ci8" Width="16" Height="8" Offset="0x13CF8" />
<Texture Name="gHappyMaskSalesmanRobeBackTex" OutName="happy_mask_salesman_robe_back" Format="ci8" Width="16" Height="16" Offset="0x13D78" />
<Texture Name="gHappyMaskSalesmanShirtTex" OutName="happy_mask_salesman_shirt" Format="ci8" Width="16" Height="16" Offset="0x13E78" />
<Texture Name="gHappyMaskSalesmaeClothesEndTex" OutName="happy_mask_salesman_clothes_ends" Format="ci8" Width="8" Height="8" Offset="0x13F78" />
<!-- Happy Mask Salesman Backpack Textures, TLUTs are above -->
<Texture Name="gHappyMaskSalesmanBackpackTopTex" OutName="happy_mask_salesman_backpack_top" Format="ci8" Width="16" Height="32" Offset="0x13FB8" />
<Texture Name="gHappyMaskSalesmanBackpackPocketTex" OutName="happy_mask_salesman_backpack_pocket" Format="ci8" Width="16" Height="32" Offset="0x141B8" />
<Texture Name="gHappyMaskSalesmanBackpackPocketTopTex" OutName="happy_mask_salesman_backpack_pocket_top" Format="ci8" Width="16" Height="16" Offset="0x143B8" />
<Texture Name="gHappyMaskSalesmanBackpackBottomTex" OutName="happy_mask_salesman_backpack_bottom" Format="ci8" Width="32" Height="64" Offset="0x144B8" />
<Texture Name="gHappyMaskSalesmanBackpackRollTex" OutName="happy_mask_salesman_backpack_roll" Format="ci8" Width="32" Height="16" Offset="0x14CB8" />
<Texture Name="gHappyMaskSalesmanBackpackRollEndTex" OutName="happy_mask_salesman_backpack_roll_end" Format="ci8" Width="16" Height="16" Offset="0x14EB8" />
<Texture Name="gHappyMaskSalesmanBackpackStrapTex" OutName="happy_mask_salesman_backpack_strap" Format="ci8" Width="8" Height="8" Offset="0x14FB8" />
<Texture Name="gHappyMaskSalesmanMask01Tex" OutName="happy_mask_salesman_mask_01" Format="ci8" Width="16" Height="32" Offset="0x14FF8" />
<Texture Name="gHappyMaskSalesmanMask02Tex" OutName="happy_mask_salesman_mask_02" Format="ci8" Width="16" Height="32" Offset="0x151F8" />
<Texture Name="gHappyMaskSalesmanScrollTex" OutName="happy_mask_salesman_scroll" Format="i8" Width="16" Height="16" Offset="0x153F8" />
<Texture Name="gHappyMaskSalesmanMask03Tex" OutName="happy_mask_salesman_mask_03" Format="ci8" Width="16" Height="32" Offset="0x154F8" /> <!-- Mario Mask -->
<Texture Name="gHappyMaskSalesmanMask04Tex" OutName="happy_mask_salesman_mask_04" Format="ci8" Width="16" Height="32" Offset="0x156F8" />
<Texture Name="gHappyMaskSalesmanMask05Tex" OutName="happy_mask_salesman_mask_05" Format="i8" Width="16" Height="32" Offset="0x158F8" /> <!-- Mayor's Mask, frowning version of the one on the Mayor's chair -->
<Texture Name="gHappyMaskSalesmanMask06Tex" OutName="happy_mask_salesman_mask_06" Format="rgba16" Width="16" Height="32" Offset="0x15AF8" />
<Texture Name="gHappyMaskSalesmanMask07Tex" OutName="happy_mask_salesman_mask_07" Format="ci8" Width="16" Height="32" Offset="0x15EF8" />
<Texture Name="gHappyMaskSalesmanMask08Tex" OutName="happy_mask_salesman_mask_08" Format="ci8" Width="16" Height="32" Offset="0x160F8" />
<Texture Name="gHappyMaskSalesmanMask09Tex" OutName="happy_mask_salesman_mask_09" Format="ci8" Width="16" Height="32" Offset="0x162F8" />
<Texture Name="gHappyMaskSalesmanMask10Tex" OutName="happy_mask_salesman_mask_10" Format="ci8" Width="16" Height="32" Offset="0x164F8" /> <!-- Mirror Shield Mask, same face as on mirror shield -->
<!-- Happy Mask Salesman Face Textures -->
<Texture Name="gHappyMaskSalesmanEyeClosedHappyTex" OutName="happy_mask_salesman_eye_closed_happy" Format="rgba16" Width="32" Height="32" Offset="0x166F8" />
<Texture Name="gHappyMaskSalesmanEyeOpenTex" OutName="happy_mask_salesman_eye_open" Format="rgba16" Width="32" Height="32" Offset="0x16EF8" />
<Texture Name="gHappyMaskSalesmanEyeClosedAngryTex" OutName="happy_mask_salesman_eye_closed_angry" Format="rgba16" Width="32" Height="32" Offset="0x176F8" />
<Texture Name="gHappyMaskSalesmanSmileTex" OutName="happy_mask_salesman_smile" Format="rgba16" Width="32" Height="16" Offset="0x17EF8" />
<Texture Name="gHappyMaskSalesmanFrownTex" OutName="happy_mask_salesman_frown" Format="rgba16" Width="32" Height="16" Offset="0x182F8" />
<TextureAnimation Name="gHappyMaskSalesmanMouthTexAnim" Offset="0x1873C" /> <!-- Unused -->
<!-- Majora's Mask -->
<DList Name="gHappyMaskSalesmanMajorasMaskDL" Offset="0x192A0" />
<DList Name="gHappyMaskSalesmanMajorasMaskEyesDL" Offset="0x19650" />
<Texture Name="gHappyMaskSalesmanMajorasMaskFaceTex" OutName="happy_mask_salesman_majoras_mask_face" Format="rgba16" Width="32" Height="64" Offset="0x19700" />
<Texture Name="gHappyMaskSalesmanMajorasMaskSpikes1Tex" OutName="happy_mask_salesman_majoras_mask_spikes_1" Format="rgba16" Width="16" Height="16" Offset="0x1A700" />
<Texture Name="gHappyMaskSalesmanMajorasMaskSpikes2Tex" OutName="happy_mask_salesman_majoras_mask_spikes_2" Format="rgba16" Width="16" Height="16" Offset="0x1A900" />
<Texture Name="gHappyMaskSalesmanMajorasMaskSpikes3Tex" OutName="happy_mask_salesman_majoras_mask_spikes_3" Format="rgba16" Width="16" Height="16" Offset="0x1AB00" />
<Texture Name="gHappyMaskSalesmanMajorasMaskSpikes4Tex" OutName="happy_mask_salesman_majoras_mask_spikes_4" Format="rgba16" Width="16" Height="16" Offset="0x1AD00" />
<Texture Name="gHappyMaskSalesmanMajorasMaskBackTex" OutName="happy_mask_salesman_majoras_mask_back" Format="rgba16" Width="32" Height="32" Offset="0x1AF00" />
<Texture Name="gHappyMaskSalesmanMajorasMaskEyeTex" OutName="happy_mask_salesman_majoras_mask_eye" Format="rgba16" Width="32" Height="32" Offset="0x1B700" />
<!-- <Blob Name="object_osn_Blob_01BF00" Size="0x3880" Offset="0x1BF00" /> -->
<Animation Name="object_osn_Anim_0201BC" Offset="0x201BC" />
<Limb Name="object_osn_Standardlimb_0201D0" Type="Standard" EnumName="OBJECT_OSN_LIMB_01" Offset="0x201D0" />
<Limb Name="object_osn_Standardlimb_0201DC" Type="Standard" EnumName="OBJECT_OSN_LIMB_02" Offset="0x201DC" />
<Limb Name="object_osn_Standardlimb_0201E8" Type="Standard" EnumName="OBJECT_OSN_LIMB_03" Offset="0x201E8" />
<Limb Name="object_osn_Standardlimb_0201F4" Type="Standard" EnumName="OBJECT_OSN_LIMB_04" Offset="0x201F4" />
<Limb Name="object_osn_Standardlimb_020200" Type="Standard" EnumName="OBJECT_OSN_LIMB_05" Offset="0x20200" />
<Limb Name="object_osn_Standardlimb_02020C" Type="Standard" EnumName="OBJECT_OSN_LIMB_06" Offset="0x2020C" />
<Limb Name="object_osn_Standardlimb_020218" Type="Standard" EnumName="OBJECT_OSN_LIMB_07" Offset="0x20218" />
<Limb Name="object_osn_Standardlimb_020224" Type="Standard" EnumName="OBJECT_OSN_LIMB_08" Offset="0x20224" />
<Limb Name="object_osn_Standardlimb_020230" Type="Standard" EnumName="OBJECT_OSN_LIMB_09" Offset="0x20230" />
<Limb Name="object_osn_Standardlimb_02023C" Type="Standard" EnumName="OBJECT_OSN_LIMB_0A" Offset="0x2023C" />
<Limb Name="object_osn_Standardlimb_020248" Type="Standard" EnumName="OBJECT_OSN_LIMB_0B" Offset="0x20248" />
<Limb Name="object_osn_Standardlimb_020254" Type="Standard" EnumName="OBJECT_OSN_LIMB_0C" Offset="0x20254" />
<Limb Name="object_osn_Standardlimb_020260" Type="Standard" EnumName="OBJECT_OSN_LIMB_0D" Offset="0x20260" />
<Limb Name="object_osn_Standardlimb_02026C" Type="Standard" EnumName="OBJECT_OSN_LIMB_0E" Offset="0x2026C" />
<Limb Name="object_osn_Standardlimb_020278" Type="Standard" EnumName="OBJECT_OSN_LIMB_0F" Offset="0x20278" />
<Limb Name="object_osn_Standardlimb_020284" Type="Standard" EnumName="OBJECT_OSN_LIMB_10" Offset="0x20284" />
<Limb Name="object_osn_Standardlimb_020290" Type="Standard" EnumName="OBJECT_OSN_LIMB_11" Offset="0x20290" />
<Limb Name="object_osn_Standardlimb_02029C" Type="Standard" EnumName="OBJECT_OSN_LIMB_12" Offset="0x2029C" />
<Skeleton Name="object_osn_Skel_0202F0" Type="Flex" LimbType="Standard" LimbNone="OBJECT_OSN_LIMB_NONE" LimbMax="OBJECT_OSN_LIMB_MAX" EnumName="ObjectOsnLimb" Offset="0x202F0" />
<Animation Name="object_osn_Anim_020530" Offset="0x20530" />
<Skeleton Name="gDekuMaskSkel" Type="Flex" LimbType="Standard" Offset="0x20550" />
<!-- Happy Mask Salesman Idle Anim-->
<Animation Name="gHappyMaskSalesmanIdleAnim" Offset="0x201BC" /> <!-- Original name is "osn_wait" -->
<!-- Happy Mask Salesman Skeleton -->
<Limb Name="gHappyMaskSalesmanRootLimb" Type="Standard" EnumName="HAPPY_MASK_SALESMAN_LIMB_ROOT" Offset="0x201D0" />
<Limb Name="gHappyMaskSalesmanAbdomenLimb" Type="Standard" EnumName="HAPPY_MASK_SALESMAN_LIMB_ABDOMEN" Offset="0x201DC" />
<Limb Name="gHappyMaskSalesmanChestLimb" Type="Standard" EnumName="HAPPY_MASK_SALESMAN_LIMB_CHEST" Offset="0x201E8" />
<Limb Name="gHappyMaskSalesmanLeftUpperArmLimb" Type="Standard" EnumName="HAPPY_MASK_SALESMAN_LIMB_LEFT_UPPER_ARM" Offset="0x201F4" />
<Limb Name="gHappyMaskSalesmanLeftForearmLimb" Type="Standard" EnumName="HAPPY_MASK_SALESMAN_LIMB_LEFT_FOREARM" Offset="0x20200" />
<Limb Name="gHappyMaskSalesmanLeftHandLimb" Type="Standard" EnumName="HAPPY_MASK_SALESMAN_LIMB_LEFT_HAND" Offset="0x2020C" />
<Limb Name="gHappyMaskSalesmanRightUpperArmLimb" Type="Standard" EnumName="HAPPY_MASK_SALESMAN_RIGHT_UPPER_ARM" Offset="0x20218" />
<Limb Name="gHappyMaskSalesmanRightForearmLimb" Type="Standard" EnumName="HAPPY_MASK_SALESMAN_RIGHT_FOREARM" Offset="0x20224" />
<Limb Name="gHappyMaskSalesmanRightHandLimb" Type="Standard" EnumName="HAPPY_MASK_SALESMAN_LIMB_RIGHT_HAND" Offset="0x20230" />
<Limb Name="gHappyMaskSalesmanBackpackLimb" Type="Standard" EnumName="HAPPY_MASK_SALESMAN_LIMB_BACKPACK" Offset="0x2023C" />
<Limb Name="gHappyMaskSalesmanHeadLimb" Type="Standard" EnumName="HAPPY_MASK_SALESMAN_LIMB_HEAD" Offset="0x20248" />
<Limb Name="gHappyMaskSalesmanPelvisLimb" Type="Standard" EnumName="HAPPY_MASK_SALESMAN_LIMB_PELVIS" Offset="0x20254" />
<Limb Name="gHappyMaskSalesmanLeftThighLimb" Type="Standard" EnumName="HAPPY_MASK_SALESMAN_LIMB_LEFT_THIGH" Offset="0x20260" />
<Limb Name="gHappyMaskSalesmanLeftShinLimb" Type="Standard" EnumName="HAPPY_MASK_SALESMAN_LIMB_LEFT_SHIN" Offset="0x2026C" />
<Limb Name="gHappyMaskSalesmanLeftFootLimb" Type="Standard" EnumName="HAPPY_MASK_SALESMAN_LIMB_LEFT_FOOT" Offset="0x20278" />
<Limb Name="gHappyMaskSalesmanRightThighLimb" Type="Standard" EnumName="HAPPY_MASK_SALESMAN_LIMB_RIGHT_THIGH" Offset="0x20284" />
<Limb Name="gHappyMaskSalesmanRightShinLimb" Type="Standard" EnumName="HAPPY_MASK_SALESMAN_LIMB_RIGHT_SHIN" Offset="0x20290" />
<Limb Name="gHappyMaskSalesmanRightFootLimb" Type="Standard" EnumName="HAPPY_MASK_SALESMAN_LIMB_RIGHT_FOOT" Offset="0x2029C" />
<Skeleton Name="gHappyMaskSalesmanSkel" Type="Flex" LimbType="Standard" LimbNone="HAPPY_MASK_SALESMAN_LIMB_NONE" LimbMax="HAPPY_MASK_SALESMAN_LIMB_MAX" EnumName="HappyMaskSalesmanLimb" Offset="0x202F0" />
<!-- Deku Mask -->
<Animation Name="gDekuMaskFallOverAnim" Offset="0x20530" /> <!-- Original name is "rakka" -->
<Limb Name="gDekuMaskLimb" Type="Standard" EnumName="DEKU_MASK_LIMB" Offset="0x20540" />
<Skeleton Name="gDekuMaskSkel" Type="Flex" LimbType="Standard" LimbNone="DEKU_MASK_LIMB_NONE" LimbMax="DEKU_MASK_LIMB_MAX" EnumName="DekuMaskLimb" Offset="0x20550" />
</File>
</Root>

View File

@ -1981,7 +1981,7 @@ Gfx* D_801C0B20[] = {
gameplay_keep_DL_00B260,
gameplay_keep_DL_005A10,
gameplay_keep_DL_005360,
gameplay_keep_DL_0056C0,
gDekuMaskDL,
object_mask_boy_DL_000900,
object_mask_goron_DL_0014A0,
object_mask_zora_DL_000DB0,

View File

@ -32,7 +32,9 @@ ActorInit Dm_Char03_InitVars = {
(ActorFunc)DmChar03_Draw,
};
AnimationInfo sAnimationInfo[] = { { &object_osn_Anim_020530, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE, 0.0f } };
AnimationInfo sAnimationInfo[] = {
{ &gDekuMaskFallOverAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_ONCE, 0.0f },
};
void DmChar03_ChangeAnim(SkelAnime* skelAnime, AnimationInfo* animationInfo, u16 animIndex) {
f32 frame;

File diff suppressed because it is too large Load Diff

View File

@ -7,25 +7,32 @@ struct EnOsn;
typedef void (*EnOsnActionFunc)(struct EnOsn*, PlayState*);
#define ENOSN_GET_TYPE(this) ((thisx)->params & 3)
typedef enum {
/* 0 */ OSN_TYPE_CHOOSE, // Will choose between Idle and Cutscene
/* 1 */ OSN_TYPE_LIE_FACE_DOWN,
/* 2 */ OSN_TYPE_LIE_FACE_UP,
/* 3 */ OSN_TYPE_CUTSCENE
} OsnType;
typedef struct EnOsn {
/* 0x000 */ Actor actor;
/* 0x144 */ ColliderCylinder collider;
/* 0x190 */ SkelAnime skelAnime;
/* 0x1D4 */ EnOsnActionFunc actionFunc;
/* 0x1D8 */ Vec3s unk_1D8;
/* 0x1DE */ Vec3s unk_1DE;
/* 0x1D8 */ Vec3s headRot;
/* 0x1DE */ Vec3s torsoRot;
/* 0x1E4 */ UNK_TYPE1 unk_1E4[0x6];
/* 0x1EA */ u16 unk_1EA;
/* 0x1EC */ u8 unk_1EC;
/* 0x1ED */ u8 unk_1ED;
/* 0x1EA */ u16 stateFlags;
/* 0x1EC */ u8 animIndex;
/* 0x1ED */ u8 csAction;
/* 0x1EE */ s16 cutscene;
/* 0x1F0 */ u8 unk_1F0;
/* 0x1F0 */ u8 shouldRotateHead;
/* 0x1F1 */ UNK_TYPE1 unk_1F1[0x3];
/* 0x1F4 */ u16 unk_1F4;
/* 0x1F6 */ s32 unk_1F6;
/* 0x1FA */ u8 unk_1FA;
/* 0x1F4 */ u16 textId;
/* 0x1F6 */ s32 maskTextFlags;
/* 0x1FA */ u8 alpha;
} EnOsn; // size = 0x1FB
#define ENOSN_GET_3(this) ((thisx)->params & 3)
#endif // Z_EN_OSN_H

View File

@ -12135,21 +12135,21 @@
0x80AD02FC:("EnFuKago_Update",),
0x80AD0340:("func_80AD0340",),
0x80AD04A4:("EnFuKago_Draw",),
0x80AD0830:("func_80AD0830",),
0x80AD08B0:("func_80AD08B0",),
0x80AD0998:("func_80AD0998",),
0x80AD0A24:("func_80AD0A24",),
0x80AD0AB0:("func_80AD0AB0",),
0x80AD0B38:("func_80AD0B38",),
0x80AD0E10:("func_80AD0E10",),
0x80AD10FC:("func_80AD10FC",),
0x80AD1398:("func_80AD1398",),
0x80AD144C:("func_80AD144C",),
0x80AD14C8:("func_80AD14C8",),
0x80AD1634:("func_80AD1634",),
0x80AD16A8:("func_80AD16A8",),
0x80AD19A0:("func_80AD19A0",),
0x80AD1A4C:("EnOsn_Idle",),
0x80AD0830:("EnOsn_UpdateCollider",),
0x80AD08B0:("EnOsn_GetMaskText",),
0x80AD0998:("EnOsn_TurnAround",),
0x80AD0A24:("EnOsn_LookFromMask",),
0x80AD0AB0:("EnOsn_FadeOut",),
0x80AD0B38:("EnOsn_GetInitialMaskText",),
0x80AD0E10:("EnOsn_GetInitialText",),
0x80AD10FC:("EnOsn_HandleConversation",),
0x80AD1398:("EnOsn_InitCutscene",),
0x80AD144C:("EnOsn_ChooseAction",),
0x80AD14C8:("EnOsn_Idle",),
0x80AD1634:("EnOsn_StartCutscene",),
0x80AD16A8:("EnOsn_HandleCsAction",),
0x80AD19A0:("EnOsn_Talk",),
0x80AD1A4C:("EnOsn_DoNothing",),
0x80AD1A5C:("EnOsn_Init",),
0x80AD1C88:("EnOsn_Destroy",),
0x80AD1CC8:("EnOsn_Update",),