mirror of https://github.com/zeldaret/mm.git
Document object_shn (Shooting Gallery Men and Swamp Guide) (#805)
* Limbs, skeleton, limb DLs, main textures * Finish documenting object_shn * Name the eyeIndex variable in syateki_man * Use limb enum in syateki_man * One more limb enum I forgot, sorry * Respond to Elliptic's review
This commit is contained in:
parent
07ce7c8ab3
commit
d0d36b603d
|
|
@ -1,97 +1,125 @@
|
|||
<Root>
|
||||
<!-- Assets for the Shooting Gallery Men and the Swamp Guide. They all use the same body and just swap out the head. -->
|
||||
<File Name="object_shn" Segment="6">
|
||||
<DList Name="object_shn_DL_003510" Offset="0x3510" />
|
||||
<DList Name="object_shn_DL_003600" Offset="0x3600" />
|
||||
<DList Name="object_shn_DL_0039A0" Offset="0x39A0" />
|
||||
<DList Name="object_shn_DL_003DA0" Offset="0x3DA0" />
|
||||
<DList Name="object_shn_DL_004038" Offset="0x4038" />
|
||||
<DList Name="object_shn_DL_0042E0" Offset="0x42E0" />
|
||||
<DList Name="object_shn_DL_004620" Offset="0x4620" />
|
||||
<DList Name="object_shn_DL_0048B8" Offset="0x48B8" />
|
||||
<DList Name="object_shn_DL_004B60" Offset="0x4B60" />
|
||||
<DList Name="object_shn_DL_004EA8" Offset="0x4EA8" />
|
||||
<DList Name="object_shn_DL_004FC8" Offset="0x4FC8" />
|
||||
<DList Name="object_shn_DL_0050D0" Offset="0x50D0" />
|
||||
<DList Name="object_shn_DL_005298" Offset="0x5298" />
|
||||
<DList Name="object_shn_DL_0053B8" Offset="0x53B8" />
|
||||
<DList Name="object_shn_DL_0054C0" Offset="0x54C0" />
|
||||
<Texture Name="object_shn_TLUT_005688" OutName="tlut_005688" Format="rgba16" Width="16" Height="16" Offset="0x5688" />
|
||||
<Texture Name="object_shn_TLUT_005888" OutName="tlut_005888" Format="rgba16" Width="16" Height="16" Offset="0x5888" />
|
||||
<Texture Name="object_shn_Tex_005A88" OutName="tex_005A88" Format="ci8" Width="8" Height="8" Offset="0x5A88" />
|
||||
<Texture Name="object_shn_Tex_005AC8" OutName="tex_005AC8" Format="rgba16" Width="32" Height="32" Offset="0x5AC8" />
|
||||
<Texture Name="object_shn_Tex_0062C8" OutName="tex_0062C8" Format="rgba16" Width="32" Height="32" Offset="0x62C8" />
|
||||
<!-- <Blob Name="object_shn_Blob_006AC8" Size="0x800" Offset="0x6AC8" /> -->
|
||||
<Texture Name="object_shn_Tex_0072C8" OutName="tex_0072C8" Format="ci8" Width="16" Height="16" Offset="0x72C8" />
|
||||
<Texture Name="object_shn_Tex_0073C8" OutName="tex_0073C8" Format="ci8" Width="8" Height="8" Offset="0x73C8" />
|
||||
<Texture Name="object_shn_Tex_007408" OutName="tex_007408" Format="ci8" Width="32" Height="32" Offset="0x7408" />
|
||||
<Texture Name="object_shn_Tex_007808" OutName="tex_007808" Format="ci8" Width="16" Height="16" Offset="0x7808" />
|
||||
<Texture Name="object_shn_Tex_007908" OutName="tex_007908" Format="ci8" Width="16" Height="16" Offset="0x7908" />
|
||||
<Texture Name="object_shn_Tex_007A08" OutName="tex_007A08" Format="ci8" Width="32" Height="32" Offset="0x7A08" />
|
||||
<Texture Name="object_shn_Tex_007E08" OutName="tex_007E08" Format="ci8" Width="16" Height="16" Offset="0x7E08" />
|
||||
<Texture Name="object_shn_Tex_007F08" OutName="tex_007F08" Format="ci8" Width="8" Height="8" Offset="0x7F08" />
|
||||
<Texture Name="object_shn_Tex_007F48" OutName="tex_007F48" Format="ci8" Width="16" Height="16" Offset="0x7F48" />
|
||||
<!-- <Blob Name="object_shn_Blob_008050" Size="0x10" Offset="0x8050" /> -->
|
||||
<DList Name="object_shn_DL_008BA0" Offset="0x8BA0" />
|
||||
<DList Name="object_shn_DL_008C70" Offset="0x8C70" />
|
||||
<DList Name="object_shn_DL_008D90" Offset="0x8D90" />
|
||||
<DList Name="object_shn_DL_008E48" Offset="0x8E48" />
|
||||
<DList Name="object_shn_DL_008F00" Offset="0x8F00" />
|
||||
<DList Name="object_shn_DL_009040" Offset="0x9040" />
|
||||
<Texture Name="object_shn_TLUT_0091D8" OutName="tlut_0091D8" Format="rgba16" Width="16" Height="16" Offset="0x91D8" />
|
||||
<Texture Name="object_shn_TLUT_0093D8" OutName="tlut_0093D8" Format="rgba16" Width="16" Height="16" Offset="0x93D8" />
|
||||
<Texture Name="object_shn_TLUT_0095D8" OutName="tlut_0095D8" Format="rgba16" Width="16" Height="16" Offset="0x95D8" />
|
||||
<Texture Name="object_shn_TLUT_0097D8" OutName="tlut_0097D8" Format="rgba16" Width="16" Height="16" Offset="0x97D8" />
|
||||
<Texture Name="object_shn_TLUT_0099D8" OutName="tlut_0099D8" Format="rgba16" Width="16" Height="16" Offset="0x99D8" />
|
||||
<Texture Name="object_shn_TLUT_009BD8" OutName="tlut_009BD8" Format="rgba16" Width="16" Height="16" Offset="0x9BD8" />
|
||||
<Texture Name="object_shn_Tex_009DD8" OutName="tex_009DD8" Format="ci8" Width="32" Height="32" Offset="0x9DD8" />
|
||||
<Texture Name="object_shn_Tex_00A1D8" OutName="tex_00A1D8" Format="ci8" Width="16" Height="16" Offset="0xA1D8" />
|
||||
<Texture Name="object_shn_Tex_00A2D8" OutName="tex_00A2D8" Format="ci8" Width="16" Height="16" Offset="0xA2D8" />
|
||||
<Texture Name="object_shn_Tex_00A3D8" OutName="tex_00A3D8" Format="ci8" Width="8" Height="8" Offset="0xA3D8" />
|
||||
<Texture Name="object_shn_Tex_00A418" OutName="tex_00A418" Format="ci8" Width="32" Height="32" Offset="0xA418" />
|
||||
<Texture Name="object_shn_Tex_00A818" OutName="tex_00A818" Format="ci8" Width="8" Height="8" Offset="0xA818" />
|
||||
<DList Name="object_shn_DL_00B730" Offset="0xB730" />
|
||||
<DList Name="gObjectShnSwampGuideHead" Offset="0xB738" />
|
||||
<Texture Name="object_shn_TLUT_00BCD8" OutName="tlut_00BCD8" Format="rgba16" Width="16" Height="16" Offset="0xBCD8" />
|
||||
<Texture Name="object_shn_TLUT_00BED8" OutName="tlut_00BED8" Format="rgba16" Width="16" Height="16" Offset="0xBED8" />
|
||||
<Texture Name="object_shn_Tex_00C0D8" OutName="tex_00C0D8" Format="ci8" Width="8" Height="8" Offset="0xC0D8" />
|
||||
<Texture Name="object_shn_Tex_00C118" OutName="tex_00C118" Format="ci8" Width="16" Height="16" Offset="0xC118" />
|
||||
<Texture Name="object_shn_Tex_00C218" OutName="tex_00C218" Format="ci8" Width="16" Height="16" Offset="0xC218" />
|
||||
<Texture Name="object_shn_Tex_00C318" OutName="tex_00C318" Format="ci8" Width="32" Height="16" Offset="0xC318" />
|
||||
<Texture Name="object_shn_Tex_00C518" OutName="tex_00C518" Format="ci8" Width="32" Height="32" Offset="0xC518" />
|
||||
<Texture Name="object_shn_Tex_00C918" OutName="tex_00C918" Format="ci8" Width="16" Height="16" Offset="0xC918" />
|
||||
<Texture Name="object_shn_Tex_00CA18" OutName="tex_00CA18" Format="rgba16" Width="8" Height="8" Offset="0xCA18" />
|
||||
<Texture Name="object_shn_Tex_00CA98" OutName="tex_00CA98" Format="ci8" Width="16" Height="32" Offset="0xCA98" />
|
||||
<Animation Name="object_shn_Anim_00D2F8" Offset="0xD2F8" />
|
||||
<Animation Name="object_shn_Anim_00D3AC" Offset="0xD3AC" />
|
||||
<Animation Name="object_shn_Anim_00D9D0" Offset="0xD9D0" />
|
||||
<Animation Name="object_shn_Anim_00DFEC" Offset="0xDFEC" />
|
||||
<Animation Name="object_shn_Anim_00E6C4" Offset="0xE6C4" />
|
||||
<Limb Name="gObjectShnLimbWaist" Type="Standard" EnumName="OBJECT_SHN_LIMB_WAIST" Offset="0xE6E0" />
|
||||
<Limb Name="gObjectShnLimbLegLeft" Type="Standard" EnumName="OBJECT_SHN_LIMB_LEG_LEFT" Offset="0xE6EC" />
|
||||
<Limb Name="gObjectShnLimbShinLeft" Type="Standard" EnumName="OBJECT_SHN_LIMB_SHIN_LEFT" Offset="0xE6F8" />
|
||||
<Limb Name="gObjectShnLimbFootLeft" Type="Standard" EnumName="OBJECT_SHN_LIMB_FOOT_LEFT" Offset="0xE704" />
|
||||
<Limb Name="gObjectShnLimbLegRight" Type="Standard" EnumName="OBJECT_SHN_LIMB_LEG_RIGHT" Offset="0xE710" />
|
||||
<Limb Name="gObjectShnLimbShinRight" Type="Standard" EnumName="OBJECT_SHN_LIMB_SHIN_RIGHT" Offset="0xE71C" />
|
||||
<Limb Name="gObjectShnLimbFootRight" Type="Standard" EnumName="OBJECT_SHN_LIMB_FOOT_RIGHT" Offset="0xE728" />
|
||||
<Limb Name="gObjectShnLimbTorso" Type="Standard" EnumName="OBJECT_SHN_LIMB_TORSO" Offset="0xE734" />
|
||||
<Limb Name="gObjectShnLimbShoulderLeft" Type="Standard" EnumName="OBJECT_SHN_LIMB_SHOULDER_LEFT" Offset="0xE740" />
|
||||
<Limb Name="gObjectShnLimbForearmLeft" Type="Standard" EnumName="OBJECT_SHN_LIMB_FOREARM_LEFT" Offset="0xE74C" />
|
||||
<Limb Name="gObjectShnLimbHandLeft" Type="Standard" EnumName="OBJECT_SHN_LIMB_HAND_LEFT" Offset="0xE758" />
|
||||
<Limb Name="gObjectShnLimbShoulderRight" Type="Standard" EnumName="OBJECT_SHN_LIMB_SHOULDER_RIGHT" Offset="0xE764" />
|
||||
<Limb Name="gObjectShnLimbForearmRight" Type="Standard" EnumName="OBJECT_SHN_LIMB_FOREARM_RIGHT" Offset="0xE770" />
|
||||
<Limb Name="gObjectShnLimbHandRight" Type="Standard" EnumName="OBJECT_SHN_LIMB_HAND_RIGHT" Offset="0xE77C" />
|
||||
<Limb Name="gObjectShnLimbHead" Type="Standard" EnumName="OBJECT_SHN_LIMB_HEAD" Offset="0xE788" />
|
||||
<Skeleton Name="gObjectShnSkel" Type="Flex" LimbType="Standard" LimbNone="OBJECT_SHN_LIMB_NONE" LimbMax="OBJECT_SHN_LIMB_MAX" EnumName="ObjectShnLimbs" Offset="0xE7D0" />
|
||||
<DList Name="object_shn_DL_00F2D0" Offset="0xF2D0" />
|
||||
<Texture Name="object_shn_TLUT_00F790" OutName="tlut_00F790" Format="rgba16" Width="16" Height="16" Offset="0xF790" />
|
||||
<Texture Name="object_shn_TLUT_00F990" OutName="tlut_00F990" Format="rgba16" Width="16" Height="16" Offset="0xF990" />
|
||||
<Texture Name="object_shn_Tex_00FB90" OutName="tex_00FB90" Format="rgba16" Width="32" Height="32" Offset="0xFB90" />
|
||||
<Texture Name="object_shn_Tex_010390" OutName="tex_010390" Format="rgba16" Width="32" Height="32" Offset="0x10390" />
|
||||
<Texture Name="object_shn_Tex_010B90" OutName="tex_010B90" Format="ci8" Width="32" Height="32" Offset="0x10B90" />
|
||||
<Texture Name="object_shn_Tex_010F90" OutName="tex_010F90" Format="ci8" Width="8" Height="8" Offset="0x10F90" />
|
||||
<Texture Name="object_shn_Tex_010FD0" OutName="tex_010FD0" Format="ci8" Width="16" Height="16" Offset="0x10FD0" />
|
||||
<Texture Name="object_shn_Tex_0110D0" OutName="tex_0110D0" Format="ci8" Width="16" Height="16" Offset="0x110D0" />
|
||||
<Texture Name="object_shn_Tex_0111D0" OutName="tex_0111D0" Format="ci8" Width="8" Height="8" Offset="0x111D0" />
|
||||
<!-- <Blob Name="object_shn_Blob_011210" Size="0x10" Offset="0x11210" /> -->
|
||||
<!-- Burly Guy Limb DisplayLists. Includes the Swamp Shooting Gallery Man's head -->
|
||||
<DList Name="gBurlyGuyWaistDL" Offset="0x3510" />
|
||||
<DList Name="gBurlyGuyTorsoDL" Offset="0x3600" />
|
||||
<DList Name="gSwampShootingGalleryManHeadDL" Offset="0x39A0" />
|
||||
<DList Name="gBurlyGuyRightShoulderDL" Offset="0x3DA0" />
|
||||
<DList Name="gBurlyGuyRightForearmDL" Offset="0x4038" />
|
||||
<DList Name="gBurlyGuyRightHandDL" Offset="0x42E0" />
|
||||
<DList Name="gBurlyGuyLeftShoulderDL" Offset="0x4620" />
|
||||
<DList Name="gBurlyGuyLeftForearmDL" Offset="0x48B8" />
|
||||
<DList Name="gBurlyGuyLeftHandDL" Offset="0x4B60" />
|
||||
<DList Name="gBurlyGuyRightThighDL" Offset="0x4EA8" />
|
||||
<DList Name="gBurlyGuyRightShinDL" Offset="0x4FC8" />
|
||||
<DList Name="gBurlyGuyRightFootDL" Offset="0x50D0" />
|
||||
<DList Name="gBurlyGuyLeftThighDL" Offset="0x5298" />
|
||||
<DList Name="gBurlyGuyLeftShinDL" Offset="0x53B8" />
|
||||
<DList Name="gBurlyGuyLeftFootDL" Offset="0x54C0" />
|
||||
|
||||
<!-- Textures for Burly Guy's body, as well as the Swamp Shooting Gallery Man's head -->
|
||||
<Texture Name="gSwampShootingGalleryManNoseTLUT" OutName="swamp_shooting_gallery_man_nose_tlut" Format="rgba16" Width="16" Height="16" Offset="0x5688" />
|
||||
<Texture Name="gBurlyGuyTLUT" OutName="shooting_gallery_man_tlut" Format="rgba16" Width="16" Height="16" Offset="0x5888" />
|
||||
<Texture Name="gBurlyGuySkinTex" OutName="shooting_gallery_man_skin" Format="ci8" Width="8" Height="8" Offset="0x5A88" />
|
||||
<Texture Name="gSwampShootingGalleryManEyeOpenTex" OutName="swamp_shooting_gallery_man_eye_open" Format="rgba16" Width="32" Height="32" Offset="0x5AC8" />
|
||||
<Texture Name="gSwampShootingGalleryManEyeHalfTex" OutName="swamp_shooting_gallery_man_eye_half" Format="rgba16" Width="32" Height="32" Offset="0x62C8" />
|
||||
<Texture Name="gSwampShootingGalleryManEyeClosedTex" OutName="swamp_shooting_gallery_man_eye_closed" Format="rgba16" Width="32" Height="32" Offset="0x6AC8" />
|
||||
<Texture Name="gSwampShootingGalleryManEarTex" OutName="swamp_shooting_gallery_man_ear" Format="ci8" Width="16" Height="16" Offset="0x72C8" />
|
||||
<Texture Name="gSwampShootingGalleryManNoseTex" OutName="swamp_shooting_gallery_man_nose" Format="ci8" Width="8" Height="8" Offset="0x73C8" />
|
||||
<Texture Name="gSwampShootingGalleryManBeardAndLipsTex" OutName="swamp_shooting_gallery_man_beard_and_lips" Format="ci8" Width="32" Height="32" Offset="0x7408" />
|
||||
<Texture Name="gSwampShootingGalleryManHairTex" OutName="swamp_shooting_gallery_man_hair" Format="ci8" Width="16" Height="16" Offset="0x7808" />
|
||||
<Texture Name="gBurlyGuyHandTex" OutName="shooting_gallery_man_hand" Format="ci8" Width="16" Height="16" Offset="0x7908" />
|
||||
<Texture Name="gBurlyGuyBodyHairTex" OutName="shooting_gallery_man_body_hair" Format="ci8" Width="32" Height="32" Offset="0x7A08" />
|
||||
<Texture Name="gBurlyGuyVestTex" OutName="shooting_gallery_man_vest" Format="ci8" Width="16" Height="16" Offset="0x7E08" />
|
||||
<Texture Name="gBurlyGuyPantsTex" OutName="shooting_gallery_man_pants" Format="ci8" Width="8" Height="8" Offset="0x7F08" />
|
||||
<Texture Name="gBurlyGuyShoesTex" OutName="shooting_gallery_man_shoes" Format="ci8" Width="16" Height="16" Offset="0x7F48" />
|
||||
|
||||
<!-- Unused Empty Texture Animation -->
|
||||
<TextureAnimation Name="gBurlyGuyUnused8050TexAnim" Offset="0x8050" />
|
||||
|
||||
<!-- DisplayLists for an unused duplicate of the Town Shooting Gallery Man's head -->
|
||||
<DList Name="gUnusedTownShootingGalleryManEyesDL" Offset="0x8BA0" />
|
||||
<DList Name="gUnusedTownShootingGalleryManLipsDL" Offset="0x8C70" />
|
||||
<DList Name="gUnusedTownShootingGalleryManNoseDL" Offset="0x8D90" />
|
||||
<DList Name="gUnusedTownShootingGalleryManEarsDL" Offset="0x8E48" />
|
||||
<DList Name="gUnusedTownShootingGalleryManHairAndSideburnsDL" Offset="0x8F00" />
|
||||
<DList Name="gUnusedTownShootingGalleryManFaceAndChinDL" Offset="0x9040" />
|
||||
|
||||
<!-- Textures for an unused duplicate of the Town Shooting Gallery Man's head -->
|
||||
<Texture Name="gUnusedTownShootingGalleryManBeardAndLipsTLUT" OutName="unused_town_shooting_gallery_man_beard_and_lips_tlut" Format="rgba16" Width="16" Height="16" Offset="0x91D8" />
|
||||
<Texture Name="gUnusedTownShootingGalleryManHairTLUT" OutName="unused_town_shooting_gallery_man_hair_tlut" Format="rgba16" Width="16" Height="16" Offset="0x93D8" />
|
||||
<Texture Name="gUnusedTownShootingGalleryManEarTLUT" OutName="unused_town_shooting_gallery_man_ear_tlut" Format="rgba16" Width="16" Height="16" Offset="0x95D8" />
|
||||
<Texture Name="gUnusedTownShootingGalleryManNoseTLUT" OutName="unused_town_shooting_gallery_man_nose_tlut" Format="rgba16" Width="16" Height="16" Offset="0x97D8" />
|
||||
<Texture Name="gUnusedTownShootingGalleryManEyeTLUT" OutName="unused_town_shooting_gallery_man_eye_tlut" Format="rgba16" Width="16" Height="16" Offset="0x99D8" />
|
||||
<Texture Name="gUnusedTownShootingGalleryManSkinTLUT" OutName="unused_town_shooting_gallery_man_skin_tlut" Format="rgba16" Width="16" Height="16" Offset="0x9BD8" />
|
||||
<Texture Name="gUnusedTownShootingGalleryManBeardAndLipsTex" OutName="unused_town_shooting_gallery_man_beard_and_lips" Format="ci8" Width="32" Height="32" Offset="0x9DD8" /> <!-- Used only for the lips -->
|
||||
<Texture Name="gUnusedTownShootingGalleryManHairTex" OutName="unused_town_shooting_gallery_man_hair" Format="ci8" Width="16" Height="16" Offset="0xA1D8" />
|
||||
<Texture Name="gUnusedTownShootingGalleryManEarTex" OutName="unused_town_shooting_gallery_man_ear" Format="ci8" Width="16" Height="16" Offset="0xA2D8" />
|
||||
<Texture Name="gUnusedTownShootingGalleryManNoseTex" OutName="unused_town_shooting_gallery_man_nose" Format="ci8" Width="8" Height="8" Offset="0xA3D8" />
|
||||
<Texture Name="gUnusedTownShootingGalleryManEyeTex" OutName="unused_town_shooting_gallery_man_eye" Format="ci8" Width="32" Height="32" Offset="0xA418" />
|
||||
<Texture Name="gUnusedTownShootingGalleryManSkinTex" OutName="unused_town_shooting_gallery_man_skin" Format="ci8" Width="8" Height="8" Offset="0xA818" />
|
||||
|
||||
<!-- Unused Empty DisplayList -->
|
||||
<DList Name="gBurlyGuyEmptyDL" Offset="0xB730" />
|
||||
|
||||
<!-- DisplayList for the Swamp Guide's head -->
|
||||
<DList Name="gSwampGuideHeadDL" Offset="0xB738" />
|
||||
|
||||
<!-- Textures for the Swamp Guide's head -->
|
||||
<Texture Name="gSwampGuideHairFabricAndSkinTLUT" OutName="swamp_guide_hair_fabric_and_skin_tlut" Format="rgba16" Width="16" Height="16" Offset="0xBCD8" />
|
||||
<Texture Name="gSwampGuideMouthGoggleAndEyeTLUT" OutName="swamp_guide_mouth_goggle_and_eye_tlut" Format="rgba16" Width="16" Height="16" Offset="0xBED8" />
|
||||
<Texture Name="gSwampGuideSkinTex" OutName="swamp_guide_skin" Format="ci8" Width="8" Height="8" Offset="0xC0D8" />
|
||||
<Texture Name="gSwampGuideHatFabricTex" OutName="swamp_guide_hat_fabric" Format="ci8" Width="16" Height="16" Offset="0xC118" />
|
||||
<Texture Name="gSwampGuideHairAndBeardTex" OutName="swamp_guide_hair_and_beard" Format="ci8" Width="16" Height="16" Offset="0xC218" />
|
||||
<Texture Name="gSwampGuideHatAndGogglesMetalTex" OutName="swamp_guide_hat_and_goggles_metal" Format="ci8" Width="32" Height="16" Offset="0xC318" />
|
||||
<Texture Name="gSwampGuideEyeTex" OutName="swamp_guide_eye" Format="ci8" Width="32" Height="32" Offset="0xC518" />
|
||||
<Texture Name="gSwampGuideGoggleStrapTex" OutName="swamp_guide_goggle_strap" Format="ci8" Width="16" Height="16" Offset="0xC918" />
|
||||
<Texture Name="gSwampGuideNoseTex" OutName="swamp_guide_nose" Format="rgba16" Width="8" Height="8" Offset="0xCA18" />
|
||||
<Texture Name="gSwampGuideMouthTex" OutName="swamp_guide_mouth" Format="ci8" Width="16" Height="32" Offset="0xCA98" />
|
||||
|
||||
<!-- Burly Guy Animations -->
|
||||
<Animation Name="gSwampShootingGalleryManHeadScratchEndAnim" Offset="0xD2F8" /> <!-- Original name is "shn_w02TOw01" ("wait02 to wait01"?) -->
|
||||
<Animation Name="gBurlyGuyEmptyAnim" Offset="0xD3AC" /> <!-- Original name is "shn_wait". Unused and one frame long -->
|
||||
<Animation Name="gBurlyGuyHandsOnTableAnim" Offset="0xD9D0" /> <!-- Original name is "shn_wait01" -->
|
||||
<Animation Name="gSwampShootingGalleryManHeadScratchLoopAnim" Offset="0xDFEC" /> <!-- Original name is "shn_wait02" -->
|
||||
<Animation Name="gSwampGuideChinScratchAnim" Offset="0xE6C4" /><!-- Original name is "shn_wait03" -->
|
||||
|
||||
<!-- Burly Guy Limbs -->
|
||||
<Limb Name="gBurlyGuyWaistLimb" Type="Standard" EnumName="BURLY_GUY_LIMB_WAIST" Offset="0xE6E0" />
|
||||
<Limb Name="gBurlyGuyLeftThighLimb" Type="Standard" EnumName="BURLY_GUY_LIMB_LEFT_THIGH" Offset="0xE6EC" />
|
||||
<Limb Name="gBurlyGuyLeftShinLimb" Type="Standard" EnumName="BURLY_GUY_LIMB_LEFT_SHIN" Offset="0xE6F8" />
|
||||
<Limb Name="gBurlyGuyLeftFootLimb" Type="Standard" EnumName="BURLY_GUY_LIMB_LEFT_FOOT" Offset="0xE704" />
|
||||
<Limb Name="gBurlyGuyRightThighLimb" Type="Standard" EnumName="BURLY_GUY_LIMB_RIGHT_THIGH" Offset="0xE710" />
|
||||
<Limb Name="gBurlyGuyRightShinLimb" Type="Standard" EnumName="BURLY_GUY_LIMB_RIGHT_SHIN" Offset="0xE71C" />
|
||||
<Limb Name="gBurlyGuyRightFootLimb" Type="Standard" EnumName="BURLY_GUY_LIMB_RIGHT_FOOT" Offset="0xE728" />
|
||||
<Limb Name="gBurlyGuyTorsoLimb" Type="Standard" EnumName="BURLY_GUY_LIMB_TORSO" Offset="0xE734" />
|
||||
<Limb Name="gBurlyGuyLeftShoulderLimb" Type="Standard" EnumName="BURLY_GUY_LIMB_LEFT_SHOULDER" Offset="0xE740" />
|
||||
<Limb Name="gBurlyGuyLeftForearmLimb" Type="Standard" EnumName="BURLY_GUY_LIMB_LEFT_FOREARM" Offset="0xE74C" />
|
||||
<Limb Name="gBurlyGuyLeftHandLimb" Type="Standard" EnumName="BURLY_GUY_LIMB_LEFT_HAND" Offset="0xE758" />
|
||||
<Limb Name="gBurlyGuyRightShoulderLimb" Type="Standard" EnumName="BURLY_GUY_LIMB_RIGHT_SHOULDER" Offset="0xE764" />
|
||||
<Limb Name="gBurlyGuyRightForearmLimb" Type="Standard" EnumName="BURLY_GUY_LIMB_RIGHT_FOREARM" Offset="0xE770" />
|
||||
<Limb Name="gBurlyGuyRightHandLimb" Type="Standard" EnumName="BURLY_GUY_LIMB_RIGHT_HAND" Offset="0xE77C" />
|
||||
<Limb Name="gBurlyGuyHeadLimb" Type="Standard" EnumName="BURLY_GUY_LIMB_HEAD" Offset="0xE788" />
|
||||
|
||||
<!-- Burly Guy Skeleton -->
|
||||
<Skeleton Name="gBurlyGuySkel" Type="Flex" LimbType="Standard" LimbNone="BURLY_GUY_LIMB_NONE" LimbMax="BURLY_GUY_LIMB_MAX" EnumName="BurlyGuyLimbs" Offset="0xE7D0" />
|
||||
|
||||
<!-- DisplayList for the Town Shooting Gallery Man's Head -->
|
||||
<DList Name="gTownShootingGalleryManHeadDL" Offset="0xF2D0" />
|
||||
|
||||
<!-- Textures for the Town Shooting Gallery Man's Head -->
|
||||
<Texture Name="gTownShootingGalleryManNoseTLUT" OutName="town_shooting_gallery_man_nose_tlut" Format="rgba16" Width="16" Height="16" Offset="0xF790" />
|
||||
<Texture Name="gTownShootingGalleryManHeadTLUT" OutName="town_shooting_gallery_man_head_tlut" Format="rgba16" Width="16" Height="16" Offset="0xF990" />
|
||||
<Texture Name="gTownShootingGalleryManEyeOpenTex" OutName="town_shooting_gallery_man_eye_open" Format="rgba16" Width="32" Height="32" Offset="0xFB90" />
|
||||
<Texture Name="gTownShootingGalleryManEyeClosedTex" OutName="town_shooting_gallery_man_eye_closed" Format="rgba16" Width="32" Height="32" Offset="0x10390" />
|
||||
<Texture Name="gTownShootingGalleryManBeardAndLipsTex" OutName="town_shooting_gallery_man_beard_and_lips" Format="ci8" Width="32" Height="32" Offset="0x10B90" /> <!-- Used only for the lips -->
|
||||
<Texture Name="gTownShootingGalleryManNoseTex" OutName="town_shooting_gallery_man_nose" Format="ci8" Width="8" Height="8" Offset="0x10F90" />
|
||||
<Texture Name="gTownShootingGalleryManEarTex" OutName="town_shooting_gallery_man_ear" Format="ci8" Width="16" Height="16" Offset="0x10FD0" />
|
||||
<Texture Name="gTownShootingGalleryManHairTex" OutName="town_shooting_gallery_man_hair" Format="ci8" Width="16" Height="16" Offset="0x110D0" />
|
||||
<Texture Name="gTownShootingGalleryManSkinTex" OutName="town_shooting_gallery_man_skin" Format="ci8" Width="8" Height="8" Offset="0x111D0" />
|
||||
|
||||
<!-- Unused Empty Texture Animation -->
|
||||
<TextureAnimation Name="gBurlyGuyUnused11210TexAnim" Offset="0x11210" />
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
|||
|
|
@ -64,10 +64,10 @@ const ActorInit En_Shn_InitVars = {
|
|||
};
|
||||
|
||||
static AnimationInfoS sAnimations[] = {
|
||||
{ &object_shn_Anim_00D9D0, 1.0f, 0, -1, 0, 0 },
|
||||
{ &object_shn_Anim_00D9D0, 1.0f, 0, -1, 0, -4 },
|
||||
{ &object_shn_Anim_00E6C4, 1.0f, 0, -1, 0, 0 },
|
||||
{ &object_shn_Anim_00E6C4, 1.0f, 0, -1, 0, -4 },
|
||||
{ &gBurlyGuyHandsOnTableAnim, 1.0f, 0, -1, 0, 0 },
|
||||
{ &gBurlyGuyHandsOnTableAnim, 1.0f, 0, -1, 0, -4 },
|
||||
{ &gSwampGuideChinScratchAnim, 1.0f, 0, -1, 0, 0 },
|
||||
{ &gSwampGuideChinScratchAnim, 1.0f, 0, -1, 0, -4 },
|
||||
};
|
||||
|
||||
static s32 D_80AE7258[] = { 0, 2, 3, 8, 10, 1 };
|
||||
|
|
@ -345,8 +345,8 @@ void EnShn_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
EnShn* this = THIS;
|
||||
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, NULL, 0.0f);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gObjectShnSkel, NULL, this->jointTable, this->morphTable,
|
||||
OBJECT_SHN_LIMB_MAX);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gBurlyGuySkel, NULL, this->jointTable, this->morphTable,
|
||||
BURLY_GUY_LIMB_MAX);
|
||||
this->unk_2E8 = -1;
|
||||
if (gSaveContext.save.weekEventReg[23] & 8) {
|
||||
func_80AE615C(this, 0);
|
||||
|
|
@ -386,16 +386,16 @@ void EnShn_Update(Actor* thisx, GlobalContext* globalCtx) {
|
|||
s32 EnShn_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) {
|
||||
EnShn* this = THIS;
|
||||
|
||||
if (limbIndex == OBJECT_SHN_LIMB_HEAD) {
|
||||
if (limbIndex == BURLY_GUY_LIMB_HEAD) {
|
||||
func_80AE6488(this, globalCtx);
|
||||
*dList = gObjectShnSwampGuideHead;
|
||||
*dList = gSwampGuideHeadDL;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
Vec3f D_80AE7270 = { 1200.0f, 0.0f, 0.0f };
|
||||
void EnShn_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
|
||||
if (limbIndex == OBJECT_SHN_LIMB_HEAD) {
|
||||
if (limbIndex == BURLY_GUY_LIMB_HEAD) {
|
||||
Matrix_MultiplyVector3fByState(&D_80AE7270, &thisx->focus.pos);
|
||||
Math_Vec3s_Copy(&thisx->focus.rot, &thisx->world.rot);
|
||||
}
|
||||
|
|
@ -418,7 +418,7 @@ void EnShn_TransformLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Actor* thi
|
|||
phi_v0 = 0;
|
||||
}
|
||||
|
||||
if (limbIndex == OBJECT_SHN_LIMB_HEAD) {
|
||||
if (limbIndex == BURLY_GUY_LIMB_HEAD) {
|
||||
func_8013AD9C((this->unk_2BA + 0x4000), (this->unk_2BC + this->actor.shape.rot.y + 0x4000), &this->unk_1E8,
|
||||
&this->unk_1F4, phi_v0, phi_v1);
|
||||
Matrix_StatePop();
|
||||
|
|
|
|||
|
|
@ -20,8 +20,8 @@ typedef struct EnShn {
|
|||
/* 0x1E4 */ Player* shnPlayerRef;
|
||||
/* 0x1E8 */ Vec3f unk_1E8;
|
||||
/* 0x1F4 */ Vec3s unk_1F4;
|
||||
/* 0x1FA */ Vec3s jointTable[OBJECT_SHN_LIMB_MAX];
|
||||
/* 0x25A */ Vec3s morphTable[OBJECT_SHN_LIMB_MAX];
|
||||
/* 0x1FA */ Vec3s jointTable[BURLY_GUY_LIMB_MAX];
|
||||
/* 0x25A */ Vec3s morphTable[BURLY_GUY_LIMB_MAX];
|
||||
/* 0x2BA */ s16 unk_2BA;
|
||||
/* 0x2BC */ s16 unk_2BC;
|
||||
/* 0x2BE */ s16 unk_2BE;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
*/
|
||||
|
||||
#include "z_en_syateki_man.h"
|
||||
#include "objects/object_shn/object_shn.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_8 | ACTOR_FLAG_10 | ACTOR_FLAG_8000000)
|
||||
|
||||
|
|
@ -48,9 +47,9 @@ const ActorInit En_Syateki_Man_InitVars = {
|
|||
};
|
||||
|
||||
static AnimationInfo sAnimations[] = {
|
||||
{ &object_shn_Anim_00D9D0, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -8.0f },
|
||||
{ &object_shn_Anim_00DFEC, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -8.0f },
|
||||
{ &object_shn_Anim_00D2F8, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -8.0f },
|
||||
{ &gBurlyGuyHandsOnTableAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -8.0f },
|
||||
{ &gSwampShootingGalleryManHeadScratchLoopAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -8.0f },
|
||||
{ &gSwampShootingGalleryManHeadScratchEndAnim, 1.0f, 0.0f, 0.0f, ANIMMODE_ONCE, -8.0f },
|
||||
};
|
||||
|
||||
static s16 D_809C91C8[] = {
|
||||
|
|
@ -132,11 +131,11 @@ void EnSyatekiMan_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
this->actor.targetMode = 1;
|
||||
Actor_SetScale(&this->actor, 0.01f);
|
||||
if (globalCtx->sceneNum == SCENE_SYATEKI_MORI) {
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gObjectShnSkel, &object_shn_Anim_00DFEC, this->jointTable,
|
||||
this->morphTable, OBJECT_SHN_LIMB_MAX);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gBurlyGuySkel, &gSwampShootingGalleryManHeadScratchLoopAnim,
|
||||
this->jointTable, this->morphTable, BURLY_GUY_LIMB_MAX);
|
||||
} else {
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gObjectShnSkel, &object_shn_Anim_00D9D0, this->jointTable,
|
||||
this->morphTable, OBJECT_SHN_LIMB_MAX);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gBurlyGuySkel, &gBurlyGuyHandsOnTableAnim, this->jointTable,
|
||||
this->morphTable, BURLY_GUY_LIMB_MAX);
|
||||
}
|
||||
|
||||
this->actor.colChkInfo.cylRadius = 100;
|
||||
|
|
@ -154,8 +153,8 @@ void EnSyatekiMan_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|||
this->unk_284 = 0;
|
||||
this->unk_194 = 0;
|
||||
this->unk_282 = 0;
|
||||
this->unk_264 = 0;
|
||||
this->unk_266 = 0;
|
||||
this->eyeIndex = 0;
|
||||
this->blinkTimer = 0;
|
||||
|
||||
if (globalCtx->sceneNum == SCENE_SYATEKI_MORI) {
|
||||
this->path = sp34;
|
||||
|
|
@ -408,7 +407,7 @@ void func_809C6E30(EnSyatekiMan* this, GlobalContext* globalCtx) {
|
|||
break;
|
||||
}
|
||||
|
||||
if (this->skelAnime.animation == &object_shn_Anim_00D2F8) {
|
||||
if (this->skelAnime.animation == &gSwampShootingGalleryManHeadScratchEndAnim) {
|
||||
if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
|
||||
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimations, 0);
|
||||
}
|
||||
|
|
@ -1203,32 +1202,32 @@ void func_809C8BF0(EnSyatekiMan* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_809C8DE8(EnSyatekiMan* this) {
|
||||
switch (this->unk_266) {
|
||||
void EnSyatekiMan_Blink(EnSyatekiMan* this) {
|
||||
switch (this->blinkTimer) {
|
||||
case 1:
|
||||
this->unk_264 = 2;
|
||||
this->eyeIndex = 2;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
this->unk_264 = 1;
|
||||
this->eyeIndex = 1;
|
||||
break;
|
||||
|
||||
case 40:
|
||||
this->unk_266 = 0;
|
||||
this->blinkTimer = 0;
|
||||
|
||||
default:
|
||||
this->unk_264 = 0;
|
||||
this->eyeIndex = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
this->unk_266++;
|
||||
this->blinkTimer++;
|
||||
}
|
||||
|
||||
void EnSyatekiMan_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
EnSyatekiMan* this = THIS;
|
||||
|
||||
this->actionFunc(this, globalCtx);
|
||||
func_809C8DE8(this);
|
||||
EnSyatekiMan_Blink(this);
|
||||
this->actor.focus.pos.y = 70.0f;
|
||||
Actor_SetFocus(&this->actor, 70.0f);
|
||||
if (this->unk_26A != 1) {
|
||||
|
|
@ -1241,16 +1240,16 @@ s32 EnSyatekiMan_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx**
|
|||
Actor* thisx) {
|
||||
EnSyatekiMan* this = THIS;
|
||||
|
||||
if ((globalCtx->sceneNum == SCENE_SYATEKI_MIZU) && (limbIndex == 15)) {
|
||||
*dList = object_shn_DL_00F2D0;
|
||||
if ((globalCtx->sceneNum == SCENE_SYATEKI_MIZU) && (limbIndex == BURLY_GUY_LIMB_HEAD)) {
|
||||
*dList = gTownShootingGalleryManHeadDL;
|
||||
}
|
||||
|
||||
if (limbIndex == 15) {
|
||||
if (limbIndex == BURLY_GUY_LIMB_HEAD) {
|
||||
Matrix_InsertTranslation(3000.0f, 0.0f, 0.0f, MTXMODE_APPLY);
|
||||
Matrix_InsertZRotation_s(this->unk_258.x, MTXMODE_APPLY);
|
||||
Matrix_InsertXRotation_s(this->unk_258.y, MTXMODE_APPLY);
|
||||
Matrix_InsertTranslation(-3000.0f, 0.0f, 0.0f, MTXMODE_APPLY);
|
||||
} else if (limbIndex == 8) {
|
||||
} else if (limbIndex == BURLY_GUY_LIMB_TORSO) {
|
||||
Matrix_InsertXRotation_s(-this->unk_25E.y, MTXMODE_APPLY);
|
||||
}
|
||||
|
||||
|
|
@ -1261,36 +1260,36 @@ void EnSyatekiMan_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dL
|
|||
EnSyatekiMan* this = THIS;
|
||||
Vec3f sp18 = { 1600.0f, 0.0f, 0.0f };
|
||||
|
||||
if (limbIndex == 15) {
|
||||
if (limbIndex == BURLY_GUY_LIMB_HEAD) {
|
||||
Matrix_MultiplyVector3fByState(&sp18, &this->actor.focus.pos);
|
||||
}
|
||||
}
|
||||
|
||||
void EnSyatekiMan_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
||||
static TexturePtr D_809C94B8[] = {
|
||||
object_shn_Tex_005AC8,
|
||||
object_shn_Tex_0062C8,
|
||||
object_shn_Tex_0062C8,
|
||||
static TexturePtr sEyeTextures[] = {
|
||||
gSwampShootingGalleryManEyeOpenTex,
|
||||
gSwampShootingGalleryManEyeHalfTex,
|
||||
gSwampShootingGalleryManEyeHalfTex,
|
||||
};
|
||||
EnSyatekiMan* this = THIS;
|
||||
s32 pad;
|
||||
|
||||
if (globalCtx->sceneNum == SCENE_SYATEKI_MIZU) {
|
||||
D_809C94B8[0] = object_shn_Tex_00FB90;
|
||||
D_809C94B8[1] = object_shn_Tex_010390;
|
||||
D_809C94B8[2] = object_shn_Tex_010390;
|
||||
sEyeTextures[0] = gTownShootingGalleryManEyeOpenTex;
|
||||
sEyeTextures[1] = gTownShootingGalleryManEyeClosedTex;
|
||||
sEyeTextures[2] = gTownShootingGalleryManEyeClosedTex;
|
||||
} else {
|
||||
D_809C94B8[0] = object_shn_Tex_005AC8;
|
||||
D_809C94B8[1] = object_shn_Tex_0062C8;
|
||||
D_809C94B8[2] = object_shn_Tex_0062C8;
|
||||
sEyeTextures[0] = gSwampShootingGalleryManEyeOpenTex;
|
||||
sEyeTextures[1] = gSwampShootingGalleryManEyeHalfTex;
|
||||
sEyeTextures[2] = gSwampShootingGalleryManEyeHalfTex;
|
||||
}
|
||||
|
||||
OPEN_DISPS(globalCtx->state.gfxCtx);
|
||||
|
||||
func_8012C5B0(globalCtx->state.gfxCtx);
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(D_809C94B8[this->unk_264]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x09, Lib_SegmentedToVirtual(D_809C94B8[this->unk_264]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, Lib_SegmentedToVirtual(sEyeTextures[this->eyeIndex]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x09, Lib_SegmentedToVirtual(sEyeTextures[this->eyeIndex]));
|
||||
|
||||
SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
|
||||
EnSyatekiMan_OverrideLimbDraw, EnSyatekiMan_PostLimbDraw, &this->actor);
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@
|
|||
#define Z_EN_SYATEKI_MAN_H
|
||||
|
||||
#include "global.h"
|
||||
#include "objects/object_shn/object_shn.h"
|
||||
|
||||
|
||||
struct EnSyatekiMan;
|
||||
|
||||
|
|
@ -24,12 +26,12 @@ typedef struct EnSyatekiMan {
|
|||
/* 0x018C */ Path* path;
|
||||
/* 0x0190 */ s32 unk_190;
|
||||
/* 0x0194 */ s32 unk_194;
|
||||
/* 0x0198 */ Vec3s jointTable[16];
|
||||
/* 0x01F8 */ Vec3s morphTable[16];
|
||||
/* 0x0198 */ Vec3s jointTable[BURLY_GUY_LIMB_MAX];
|
||||
/* 0x01F8 */ Vec3s morphTable[BURLY_GUY_LIMB_MAX];
|
||||
/* 0x0258 */ Vec3s unk_258;
|
||||
/* 0x025E */ Vec3s unk_25E;
|
||||
/* 0x0264 */ s16 unk_264;
|
||||
/* 0x0266 */ s16 unk_266;
|
||||
/* 0x0264 */ s16 eyeIndex;
|
||||
/* 0x0266 */ s16 blinkTimer;
|
||||
/* 0x0268 */ UNK_TYPE1 unk268[0x2];
|
||||
/* 0x026A */ s16 unk_26A;
|
||||
/* 0x026C */ s16 unk_26C;
|
||||
|
|
|
|||
|
|
@ -9107,7 +9107,7 @@
|
|||
0x809C8808:("func_809C8808",),
|
||||
0x809C898C:("func_809C898C",),
|
||||
0x809C8BF0:("func_809C8BF0",),
|
||||
0x809C8DE8:("func_809C8DE8",),
|
||||
0x809C8DE8:("EnSyatekiMan_Blink",),
|
||||
0x809C8E44:("EnSyatekiMan_Update",),
|
||||
0x809C8EE4:("EnSyatekiMan_OverrideLimbDraw",),
|
||||
0x809C8FAC:("EnSyatekiMan_PostLimbDraw",),
|
||||
|
|
|
|||
Loading…
Reference in New Issue