mirror of
https://github.com/zeldaret/mm.git
synced 2024-11-23 21:09:52 +00:00
Document object_ma1 (Romani) (#948)
* Document object_ma1 (Romani) * Sync up one of the mouth name textures with how I did it for Cremia * Specify what the box is for * Respond to hensldm's review * Sync texture names with what Anghelo is doing in his Obj_Um PR
This commit is contained in:
parent
9449ced63f
commit
ba8e12a80b
@ -1,96 +1,116 @@
|
|||||||
<Root>
|
<Root>
|
||||||
|
<!-- Assets for Romani -->
|
||||||
<File Name="object_ma1" Segment="6">
|
<File Name="object_ma1" Segment="6">
|
||||||
<DList Name="object_ma1_DL_0003B0" Offset="0x3B0" /> <!-- Bow -->
|
<!-- Romani's Bow DisplayList and Textures -->
|
||||||
<Texture Name="object_ma1_TLUT_0005E0" OutName="tlut_0005E0" Format="rgba16" Width="16" Height="16" Offset="0x5E0" />
|
<DList Name="gRomaniBowDL" Offset="0x3B0" />
|
||||||
<Texture Name="object_ma1_Tex_0007E0" OutName="tex_0007E0" Format="ci8" Width="16" Height="16" Offset="0x7E0" />
|
<Texture Name="gRomaniBowTLUT" OutName="romani_bow_tlut" Format="rgba16" Width="16" Height="16" Offset="0x5E0" />
|
||||||
<Texture Name="object_ma1_Tex_0008E0" OutName="tex_0008E0" Format="ci8" Width="8" Height="8" Offset="0x8E0" />
|
<Texture Name="gRomaniBowHandleTex" OutName="romani_bow_handle" Format="ci8" Width="16" Height="16" Offset="0x7E0" />
|
||||||
<DList Name="object_ma1_DL_000A20" Offset="0xA20" /> <!-- Box -->
|
<Texture Name="gRomaniBowLimbTex" OutName="romani_bow_limb" Format="ci8" Width="8" Height="8" Offset="0x8E0" />
|
||||||
<Texture Name="object_ma1_Tex_000AD0" OutName="tex_000AD0" Format="rgba16" Width="32" Height="64" Offset="0xAD0" />
|
|
||||||
<Animation Name="object_ma1_Anim_002A8C" Offset="0x2A8C" />
|
<!-- Romani's Wooden Box DisplayList and Textures. She sits on it after being abducted by the aliens. -->
|
||||||
<DList Name="object_ma1_DL_0043A0" Offset="0x43A0" /> <!-- Sleeping -->
|
<DList Name="gRomaniWoodenBoxDL" Offset="0xA20" />
|
||||||
<Texture Name="object_ma1_TLUT_004CF8" OutName="tlut_004CF8" Format="rgba16" Width="16" Height="16" Offset="0x4CF8" />
|
<Texture Name="gRomaniWoodenBoxTex" OutName="romani_wooden_box" Format="rgba16" Width="32" Height="64" Offset="0xAD0" />
|
||||||
<Texture Name="object_ma1_Tex_004EF8" OutName="tex_004EF8" Format="ci8" Width="16" Height="16" Offset="0x4EF8" />
|
|
||||||
<Texture Name="object_ma1_Tex_004FF8" OutName="tex_004FF8" Format="ci8" Width="8" Height="8" Offset="0x4FF8" />
|
<!-- Romani Animation -->
|
||||||
<Texture Name="object_ma1_Tex_005038" OutName="tex_005038" Format="ci8" Width="8" Height="8" Offset="0x5038" />
|
<Animation Name="gRomaniLookAroundAnim" Offset="0x2A8C" /> <!-- Original name is "rm_kyoro" (onomatopoeic for "looking around restlessly") -->
|
||||||
<Texture Name="object_ma1_Tex_005078" OutName="tex_005078" Format="ci8" Width="16" Height="16" Offset="0x5078" />
|
|
||||||
<Texture Name="object_ma1_Tex_005178" OutName="tex_005178" Format="ci8" Width="16" Height="16" Offset="0x5178" />
|
<!-- Romani Sleeping DisplayList and Textures -->
|
||||||
<Texture Name="object_ma1_Tex_005278" OutName="tex_005278" Format="ci8" Width="8" Height="16" Offset="0x5278" />
|
<DList Name="gRomaniSleepingDL" Offset="0x43A0" />
|
||||||
<Texture Name="object_ma1_Tex_0052F8" OutName="tex_0052F8" Format="rgba16" Width="32" Height="32" Offset="0x52F8" />
|
<Texture Name="gRomaniSleepingTLUT" OutName="romani_sleeping_tlut" Format="rgba16" Width="16" Height="16" Offset="0x4CF8" />
|
||||||
<Texture Name="object_ma1_Tex_005AF8" OutName="tex_005AF8" Format="rgba16" Width="16" Height="128" Offset="0x5AF8" />
|
<Texture Name="gRomaniSleepingDressTex" OutName="romani_sleeping_dress" Format="ci8" Width="16" Height="16" Offset="0x4EF8" />
|
||||||
<Texture Name="object_ma1_Tex_006AF8" OutName="tex_006AF8" Format="rgba16" Width="32" Height="16" Offset="0x6AF8" />
|
<Texture Name="gRomaniSleepingSkinTex" OutName="romani_sleeping_skin" Format="ci8" Width="8" Height="8" Offset="0x4FF8" />
|
||||||
<Animation Name="object_ma1_Anim_007328" Offset="0x7328" />
|
<Texture Name="gRomaniSleepingEarTex" OutName="romani_sleeping_ear" Format="ci8" Width="8" Height="8" Offset="0x5038" />
|
||||||
<Animation Name="object_ma1_Anim_007D98" Offset="0x7D98" />
|
<Texture Name="gRomaniSleepingHairTex" OutName="romani_sleeping_hair" Format="ci8" Width="16" Height="16" Offset="0x5078" />
|
||||||
<Animation Name="object_ma1_Anim_00852C" Offset="0x852C" />
|
<Texture Name="gRomaniSleepingHandTex" OutName="romani_sleeping_hand" Format="ci8" Width="16" Height="16" Offset="0x5178" />
|
||||||
<Animation Name="object_ma1_Anim_008F6C" Offset="0x8F6C" />
|
<Texture Name="gRomaniSleepingDressPatternAndPillowTex" OutName="romani_sleeping_dress_pattern_and_pillow" Format="ci8" Width="8" Height="16" Offset="0x5278" />
|
||||||
<Animation Name="object_ma1_Anim_009E58" Offset="0x9E58" />
|
<Texture Name="gRomaniSleepingEyeTex" OutName="romani_sleeping_eye" Format="rgba16" Width="32" Height="32" Offset="0x52F8" />
|
||||||
<DList Name="object_ma1_DL_00D060" Offset="0xD060" />
|
<Texture Name="gRomaniSleepingBlanketTex" OutName="romani_sleeping_blanket" Format="rgba16" Width="16" Height="128" Offset="0x5AF8" />
|
||||||
<DList Name="object_ma1_DL_00D440" Offset="0xD440" />
|
<Texture Name="gRomaniSleepingMouthTex" OutName="romani_sleeping_mouth" Format="rgba16" Width="32" Height="16" Offset="0x6AF8" />
|
||||||
<DList Name="object_ma1_DL_00D688" Offset="0xD688" />
|
|
||||||
<DList Name="object_ma1_DL_00D7A0" Offset="0xD7A0" />
|
<!-- Romani Animations -->
|
||||||
<DList Name="object_ma1_DL_00D980" Offset="0xD980" />
|
<Animation Name="gRomaniRunAnim" Offset="0x7328" /> <!-- Original anme is "rm_run" -->
|
||||||
<DList Name="object_ma1_DL_00DBC8" Offset="0xDBC8" />
|
<Animation Name="gRomaniSittingAnim" Offset="0x7D98" /> <!-- Original name is "rm_swari" ("sitting") -->
|
||||||
<DList Name="object_ma1_DL_00DCE0" Offset="0xDCE0" />
|
<Animation Name="gRomaniSittingHeadShakeAnim" Offset="0x852C" /> <!-- Original name is "rm_swariatamafuri" ("sitting head shake") -->
|
||||||
<DList Name="object_ma1_DL_00DEC0" Offset="0xDEC0" />
|
<Animation Name="gRomaniSittingLookDownAnim" Offset="0x8F6C" /> <!-- Original name is "rm_swariutumuku" ("sitting" and "to hang one's head") -->
|
||||||
<DList Name="object_ma1_DL_00E410" Offset="0xE410" />
|
<Animation Name="gRomaniIdleAnim" Offset="0x9E58" /> <!-- Original name is "rm_wait" -->
|
||||||
<DList Name="object_ma1_DL_00E510" Offset="0xE510" />
|
|
||||||
<DList Name="object_ma1_DL_00E618" Offset="0xE618" />
|
<!-- Romani Limb DisplayLists -->
|
||||||
<DList Name="object_ma1_DL_00E710" Offset="0xE710" />
|
<DList Name="gRomaniTorsoDL" Offset="0xD060" />
|
||||||
<DList Name="object_ma1_DL_00E838" Offset="0xE838" />
|
<DList Name="gRomaniRightUpperArmDL" Offset="0xD440" />
|
||||||
<DList Name="object_ma1_DL_00E980" Offset="0xE980" />
|
<DList Name="gRomaniRightForearmDL" Offset="0xD688" />
|
||||||
<DList Name="object_ma1_DL_00EA80" Offset="0xEA80" />
|
<DList Name="gRomaniRightHandDL" Offset="0xD7A0" />
|
||||||
<DList Name="object_ma1_DL_00EAC8" Offset="0xEAC8" />
|
<DList Name="gRomaniLeftUpperArmDL" Offset="0xD980" />
|
||||||
<DList Name="object_ma1_DL_00EB88" Offset="0xEB88" />
|
<DList Name="gRomaniLeftForearmDL" Offset="0xDBC8" />
|
||||||
<DList Name="object_ma1_DL_00ED08" Offset="0xED08" />
|
<DList Name="gRomaniLeftHandDL" Offset="0xDCE0" />
|
||||||
<DList Name="object_ma1_DL_00EE28" Offset="0xEE28" />
|
<DList Name="gRomaniHeadDL" Offset="0xDEC0" />
|
||||||
<DList Name="object_ma1_DL_00EEE8" Offset="0xEEE8" />
|
<DList Name="gRomaniUpperHairDL" Offset="0xE410" />
|
||||||
<DList Name="object_ma1_DL_00F068" Offset="0xF068" />
|
<DList Name="gRomaniLowerHairDL" Offset="0xE510" />
|
||||||
<Texture Name="object_ma1_TLUT_00F188" OutName="tlut_00F188" Format="rgba16" Width="16" Height="16" Offset="0xF188" />
|
<DList Name="gRomaniDress1DL" Offset="0xE618" />
|
||||||
<Texture Name="object_ma1_Tex_00F388" OutName="tex_00F388" Format="ci8" Width="16" Height="16" Offset="0xF388" />
|
<DList Name="gRomaniDress2DL" Offset="0xE710" />
|
||||||
<Texture Name="object_ma1_Tex_00F488" OutName="tex_00F488" Format="ci8" Width="8" Height="8" Offset="0xF488" />
|
<DList Name="gRomaniDress3DL" Offset="0xE838" />
|
||||||
<Texture Name="object_ma1_Tex_00F4C8" OutName="tex_00F4C8" Format="ci8" Width="8" Height="8" Offset="0xF4C8" />
|
<DList Name="gRomaniDress4DL" Offset="0xE980" />
|
||||||
<Texture Name="object_ma1_Tex_00F508" OutName="tex_00F508" Format="ci8" Width="16" Height="16" Offset="0xF508" />
|
<DList Name="gRomaniPelvisDL" Offset="0xEA80" /> <!-- Renders a single triangle instead of a normal-looking limb -->
|
||||||
<Texture Name="object_ma1_Tex_00F608" OutName="tex_00F608" Format="ci8" Width="8" Height="8" Offset="0xF608" />
|
<DList Name="gRomaniRightThighDL" Offset="0xEAC8" /> <!-- Renders a single triangle instead of a normal-looking limb -->
|
||||||
<Texture Name="object_ma1_Tex_00F648" OutName="tex_00F648" Format="rgba16" Width="16" Height="32" Offset="0xF648" />
|
<DList Name="gRomaniRightShinDL" Offset="0xEB88" />
|
||||||
<Texture Name="object_ma1_Tex_00FA48" OutName="tex_00FA48" Format="ci8" Width="16" Height="16" Offset="0xFA48" />
|
<DList Name="gRomaniRightFootDL" Offset="0xED08" />
|
||||||
<Texture Name="object_ma1_Tex_00FB48" OutName="tex_00FB48" Format="ci8" Width="64" Height="16" Offset="0xFB48" />
|
<DList Name="gRomaniLeftThighDL" Offset="0xEE28" /> <!-- Renders a single triangle instead of a normal-looking limb -->
|
||||||
<Texture Name="object_ma1_Tex_00FF48" OutName="tex_00FF48" Format="ci8" Width="8" Height="16" Offset="0xFF48" />
|
<DList Name="gRomaniLeftShinDL" Offset="0xEEE8" />
|
||||||
<Texture Name="object_ma1_Tex_00FFC8" OutName="tex_00FFC8" Format="rgba16" Width="32" Height="32" Offset="0xFFC8" />
|
<DList Name="gRomaniLeftFootDL" Offset="0xF068" />
|
||||||
<Texture Name="object_ma1_Tex_0107C8" OutName="tex_0107C8" Format="rgba16" Width="32" Height="32" Offset="0x107C8" />
|
|
||||||
<Texture Name="object_ma1_Tex_010FC8" OutName="tex_010FC8" Format="rgba16" Width="32" Height="32" Offset="0x10FC8" />
|
<!-- Romani Textures -->
|
||||||
<Texture Name="object_ma1_Tex_0117C8" OutName="tex_0117C8" Format="rgba16" Width="32" Height="32" Offset="0x117C8" />
|
<Texture Name="gRomaniTLUT" OutName="romani_tlut" Format="rgba16" Width="16" Height="16" Offset="0xF188" />
|
||||||
<Texture Name="object_ma1_Tex_011FC8" OutName="tex_011FC8" Format="rgba16" Width="32" Height="32" Offset="0x11FC8" />
|
<Texture Name="gRomaniDressTex" OutName="romani_dress" Format="ci8" Width="16" Height="16" Offset="0xF388" />
|
||||||
<Texture Name="object_ma1_Tex_0127C8" OutName="tex_0127C8" Format="rgba16" Width="32" Height="16" Offset="0x127C8" />
|
<Texture Name="gRomaniSkinTex" OutName="romani_skin" Format="ci8" Width="8" Height="8" Offset="0xF488" />
|
||||||
<Texture Name="object_ma1_Tex_012BC8" OutName="tex_012BC8" Format="rgba16" Width="32" Height="16" Offset="0x12BC8" />
|
<Texture Name="gRomaniEarTex" OutName="romani_ear" Format="ci8" Width="8" Height="8" Offset="0xF4C8" />
|
||||||
<Texture Name="object_ma1_Tex_012FC8" OutName="tex_012FC8" Format="rgba16" Width="32" Height="16" Offset="0x12FC8" />
|
<Texture Name="gRomaniHairTex" OutName="romani_hair" Format="ci8" Width="16" Height="16" Offset="0xF508" />
|
||||||
<Texture Name="object_ma1_Tex_0133C8" OutName="tex_0133C8" Format="rgba16" Width="32" Height="16" Offset="0x133C8" />
|
<Texture Name="gRomaniShawlTex" OutName="romani_shawl" Format="ci8" Width="8" Height="8" Offset="0xF608" />
|
||||||
<Limb Name="object_ma1_Standardlimb_0137C8" Type="Standard" EnumName="OBJECT_MA1_LIMB_01" Offset="0x137C8" />
|
<Texture Name="gRomaniBroochTex" OutName="romani_brooch" Format="rgba16" Width="16" Height="32" Offset="0xF648" />
|
||||||
<Limb Name="object_ma1_Standardlimb_0137D4" Type="Standard" EnumName="OBJECT_MA1_LIMB_02" Offset="0x137D4" />
|
<Texture Name="gRomaniHandTex" OutName="romani_hand" Format="ci8" Width="16" Height="16" Offset="0xFA48" />
|
||||||
<Limb Name="object_ma1_Standardlimb_0137E0" Type="Standard" EnumName="OBJECT_MA1_LIMB_03" Offset="0x137E0" />
|
<Texture Name="gRomaniBootTex" OutName="romani_boot" Format="ci8" Width="64" Height="16" Offset="0xFB48" />
|
||||||
<Limb Name="object_ma1_Standardlimb_0137EC" Type="Standard" EnumName="OBJECT_MA1_LIMB_04" Offset="0x137EC" />
|
<Texture Name="gRomaniDressPatternTex" OutName="romani_dress_pattern" Format="ci8" Width="8" Height="16" Offset="0xFF48" />
|
||||||
<Limb Name="object_ma1_Standardlimb_0137F8" Type="Standard" EnumName="OBJECT_MA1_LIMB_05" Offset="0x137F8" />
|
<Texture Name="gRomaniEyeOpenTex" OutName="romani_eye_open" Format="rgba16" Width="32" Height="32" Offset="0xFFC8" />
|
||||||
<Limb Name="object_ma1_Standardlimb_013804" Type="Standard" EnumName="OBJECT_MA1_LIMB_06" Offset="0x13804" />
|
<Texture Name="gRomaniEyeHalfTex" OutName="romani_eye_half" Format="rgba16" Width="32" Height="32" Offset="0x107C8" />
|
||||||
<Limb Name="object_ma1_Standardlimb_013810" Type="Standard" EnumName="OBJECT_MA1_LIMB_07" Offset="0x13810" />
|
<Texture Name="gRomaniEyeClosedTex" OutName="romani_eye_closed" Format="rgba16" Width="32" Height="32" Offset="0x10FC8" />
|
||||||
<Limb Name="object_ma1_Standardlimb_01381C" Type="Standard" EnumName="OBJECT_MA1_LIMB_08" Offset="0x1381C" />
|
<Texture Name="gRomaniEyeHappyTex" OutName="romani_eye_happy" Format="rgba16" Width="32" Height="32" Offset="0x117C8" />
|
||||||
<Limb Name="object_ma1_Standardlimb_013828" Type="Standard" EnumName="OBJECT_MA1_LIMB_09" Offset="0x13828" />
|
<Texture Name="gRomaniEyeSadTex" OutName="romani_eye_sad" Format="rgba16" Width="32" Height="32" Offset="0x11FC8" />
|
||||||
<Limb Name="object_ma1_Standardlimb_013834" Type="Standard" EnumName="OBJECT_MA1_LIMB_0A" Offset="0x13834" />
|
<Texture Name="gRomaniMouthHappyTex" OutName="romani_mouth_happy" Format="rgba16" Width="32" Height="16" Offset="0x127C8" />
|
||||||
<Limb Name="object_ma1_Standardlimb_013840" Type="Standard" EnumName="OBJECT_MA1_LIMB_0B" Offset="0x13840" />
|
<Texture Name="gRomaniMouthFrownTex" OutName="romani_mouth_frown" Format="rgba16" Width="32" Height="16" Offset="0x12BC8" />
|
||||||
<Limb Name="object_ma1_Standardlimb_01384C" Type="Standard" EnumName="OBJECT_MA1_LIMB_0C" Offset="0x1384C" />
|
<Texture Name="gRomaniMouthHangingOpenTex" OutName="romani_mouth_hanging_open" Format="rgba16" Width="32" Height="16" Offset="0x12FC8" />
|
||||||
<Limb Name="object_ma1_Standardlimb_013858" Type="Standard" EnumName="OBJECT_MA1_LIMB_0D" Offset="0x13858" />
|
<Texture Name="gRomaniMouthSmileTex" OutName="romani_mouth_smile" Format="rgba16" Width="32" Height="16" Offset="0x133C8" />
|
||||||
<Limb Name="object_ma1_Standardlimb_013864" Type="Standard" EnumName="OBJECT_MA1_LIMB_0E" Offset="0x13864" />
|
|
||||||
<Limb Name="object_ma1_Standardlimb_013870" Type="Standard" EnumName="OBJECT_MA1_LIMB_0F" Offset="0x13870" />
|
<!-- Romani Limbs -->
|
||||||
<Limb Name="object_ma1_Standardlimb_01387C" Type="Standard" EnumName="OBJECT_MA1_LIMB_10" Offset="0x1387C" />
|
<Limb Name="gRomaniRootLimb" Type="Standard" EnumName="ROMANI_LIMB_ROOT" Offset="0x137C8" />
|
||||||
<Limb Name="object_ma1_Standardlimb_013888" Type="Standard" EnumName="OBJECT_MA1_LIMB_11" Offset="0x13888" />
|
<Limb Name="gRomaniPelvisLimb" Type="Standard" EnumName="ROMANI_LIMB_PELVIS" Offset="0x137D4" />
|
||||||
<Limb Name="object_ma1_Standardlimb_013894" Type="Standard" EnumName="OBJECT_MA1_LIMB_12" Offset="0x13894" />
|
<Limb Name="gRomaniLeftThighLimb" Type="Standard" EnumName="ROMANI_LIMB_LEFT_THIGH" Offset="0x137E0" />
|
||||||
<Limb Name="object_ma1_Standardlimb_0138A0" Type="Standard" EnumName="OBJECT_MA1_LIMB_13" Offset="0x138A0" />
|
<Limb Name="gRomaniLeftShinLimb" Type="Standard" EnumName="ROMANI_LIMB_LEFT_SHIN" Offset="0x137EC" />
|
||||||
<Limb Name="object_ma1_Standardlimb_0138AC" Type="Standard" EnumName="OBJECT_MA1_LIMB_14" Offset="0x138AC" />
|
<Limb Name="gRomaniLeftFootLimb" Type="Standard" EnumName="ROMANI_LIMB_LEFT_FOOT" Offset="0x137F8" />
|
||||||
<Limb Name="object_ma1_Standardlimb_0138B8" Type="Standard" EnumName="OBJECT_MA1_LIMB_15" Offset="0x138B8" />
|
<Limb Name="gRomaniRightThighLimb" Type="Standard" EnumName="ROMANI_LIMB_RIGHT_THIGH" Offset="0x13804" />
|
||||||
<Limb Name="object_ma1_Standardlimb_0138C4" Type="Standard" EnumName="OBJECT_MA1_LIMB_16" Offset="0x138C4" />
|
<Limb Name="gRomaniRightShinLimb" Type="Standard" EnumName="ROMANI_LIMB_RIGHT_SHIN" Offset="0x13810" />
|
||||||
<Skeleton Name="object_ma1_Skel_013928" Type="Flex" LimbType="Standard" LimbNone="OBJECT_MA1_LIMB_NONE" LimbMax="OBJECT_MA1_LIMB_MAX" EnumName="object_ma1_Limbs" Offset="0x13928" />
|
<Limb Name="gRomaniRightFootLimb" Type="Standard" EnumName="ROMANI_LIMB_RIGHT_FOOT" Offset="0x1381C" />
|
||||||
<Animation Name="object_ma1_Anim_014088" Offset="0x14088" />
|
<Limb Name="gRomaniDress1Limb" Type="Standard" EnumName="ROMANI_LIMB_DRESS_1" Offset="0x13828" />
|
||||||
<Animation Name="object_ma1_Anim_015B7C" Offset="0x15B7C" />
|
<Limb Name="gRomaniDress2Limb" Type="Standard" EnumName="ROMANI_LIMB_DRESS_2" Offset="0x13834" />
|
||||||
<Animation Name="object_ma1_Anim_016588" Offset="0x16588" />
|
<Limb Name="gRomaniDress3Limb" Type="Standard" EnumName="ROMANI_LIMB_DRESS_3" Offset="0x13840" />
|
||||||
<Animation Name="object_ma1_Anim_0180DC" Offset="0x180DC" />
|
<Limb Name="gRomaniDress4Limb" Type="Standard" EnumName="ROMANI_LIMB_DRESS_4" Offset="0x1384C" />
|
||||||
<Animation Name="object_ma1_Anim_018948" Offset="0x18948" />
|
<Limb Name="gRomaniTorsoLimb" Type="Standard" EnumName="ROMANI_LIMB_TORSO" Offset="0x13858" />
|
||||||
<Animation Name="object_ma1_Anim_01B76C" Offset="0x1B76C" />
|
<Limb Name="gRomaniHeadLimb" Type="Standard" EnumName="ROMANI_LIMB_HEAD" Offset="0x13864" />
|
||||||
|
<Limb Name="gRomaniUpperHairLimb" Type="Standard" EnumName="ROMANI_LIMB_UPPER_HAIR" Offset="0x13870" />
|
||||||
|
<Limb Name="gRomaniLowerHairLimb" Type="Standard" EnumName="ROMANI_LIMB_LOWER_HAIR" Offset="0x1387C" />
|
||||||
|
<Limb Name="gRomaniLeftUpperArmLimb" Type="Standard" EnumName="ROMANI_LIMB_LEFT_UPPER_ARM" Offset="0x13888" />
|
||||||
|
<Limb Name="gRomaniLeftForearmLimb" Type="Standard" EnumName="ROMANI_LIMB_LEFT_FOREARM" Offset="0x13894" />
|
||||||
|
<Limb Name="gRomaniLeftHandLimb" Type="Standard" EnumName="ROMANI_LIMB_LEFT_HAND" Offset="0x138A0" />
|
||||||
|
<Limb Name="gRomaniRightUpperArmLimb" Type="Standard" EnumName="ROMANI_LIMB_RIGHT_UPPER_ARM" Offset="0x138AC" />
|
||||||
|
<Limb Name="gRomaniRightForearmLimb" Type="Standard" EnumName="ROMANI_LIMB_RIGHT_FOREARM" Offset="0x138B8" />
|
||||||
|
<Limb Name="gRomaniRightHandLimb" Type="Standard" EnumName="ROMANI_LIMB_RIGHT_HAND" Offset="0x138C4" />
|
||||||
|
|
||||||
|
<!-- Romani Skeleton -->
|
||||||
|
<Skeleton Name="gRomaniSkel" Type="Flex" LimbType="Standard" LimbNone="ROMANI_LIMB_NONE" LimbMax="ROMANI_LIMB_MAX" EnumName="RomaniLimbs" Offset="0x13928" />
|
||||||
|
|
||||||
|
<!-- Romani Animations -->
|
||||||
|
<Animation Name="gRomaniWalkAnim" Offset="0x14088" /> <!-- Original name is "rm_walk" -->
|
||||||
|
<Animation Name="gRomaniShootBowAnim" Offset="0x15B7C" /> <!-- Original name is "rm_yumiuti" ("shooting a bow") -->
|
||||||
|
<Animation Name="gRomaniAbductedAnim" Offset="0x16588" /> <!-- Original name is "romani_capture_loop" -->
|
||||||
|
<Animation Name="gRomaniTurnAroundAndFlickHairAnim" Offset="0x180DC" /> <!-- Original name is "romani_furimuki" ("to turn around") -->
|
||||||
|
<Animation Name="gRomaniSingStartAnim" Offset="0x18948" /> <!-- Original name is "romani_utau" ("sing") -->
|
||||||
|
<Animation Name="gRomaniSingLoopAnim" Offset="0x1B76C" /> <!-- Original name is "romani_utau_loop" -->
|
||||||
</File>
|
</File>
|
||||||
</Root>
|
</Root>
|
||||||
|
@ -255,15 +255,15 @@ static Vec3f D_80B4E934 = { 216.0f, -20.0f, 1395.0f };
|
|||||||
|
|
||||||
static s32 D_80B4E940 = 0;
|
static s32 D_80B4E940 = 0;
|
||||||
|
|
||||||
static TexturePtr D_80B4E944[] = {
|
static TexturePtr sRomaniEyeTextures[] = {
|
||||||
object_ma1_Tex_00FFC8, object_ma1_Tex_0107C8, object_ma1_Tex_010FC8, object_ma1_Tex_0117C8, object_ma1_Tex_011FC8,
|
gRomaniEyeOpenTex, gRomaniEyeHalfTex, gRomaniEyeClosedTex, gRomaniEyeHappyTex, gRomaniEyeSadTex,
|
||||||
};
|
};
|
||||||
|
|
||||||
static TexturePtr D_80B4E958[] = {
|
static TexturePtr sRomaniMouthTextures[] = {
|
||||||
object_ma1_Tex_0127C8,
|
gRomaniMouthHappyTex,
|
||||||
object_ma1_Tex_012BC8,
|
gRomaniMouthFrownTex,
|
||||||
object_ma1_Tex_012FC8,
|
gRomaniMouthHangingOpenTex,
|
||||||
object_ma1_Tex_0133C8,
|
gRomaniMouthSmileTex,
|
||||||
};
|
};
|
||||||
|
|
||||||
static s8 D_80B4E968 = 0;
|
static s8 D_80B4E968 = 0;
|
||||||
@ -1198,11 +1198,11 @@ void func_80B44F58(void) {
|
|||||||
|
|
||||||
if (!D_80B4E968) {
|
if (!D_80B4E968) {
|
||||||
D_80B4E968 = true;
|
D_80B4E968 = true;
|
||||||
for (i = 0, iter = D_80B4E944; i < ARRAY_COUNT(D_80B4E944); i++, iter++) {
|
for (i = 0, iter = sRomaniEyeTextures; i < ARRAY_COUNT(sRomaniEyeTextures); i++, iter++) {
|
||||||
*iter = Lib_SegmentedToVirtual(*iter);
|
*iter = Lib_SegmentedToVirtual(*iter);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0, iter = D_80B4E958; i < ARRAY_COUNT(D_80B4E958); i++, iter++) {
|
for (i = 0, iter = sRomaniMouthTextures; i < ARRAY_COUNT(sRomaniMouthTextures); i++, iter++) {
|
||||||
*iter = Lib_SegmentedToVirtual(*iter);
|
*iter = Lib_SegmentedToVirtual(*iter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2427,7 +2427,7 @@ void func_80B4827C(Actor* thisx, PlayState* play) {
|
|||||||
|
|
||||||
void func_80B482D4(EnInvadepoh* this) {
|
void func_80B482D4(EnInvadepoh* this) {
|
||||||
this->actionTimer = 40;
|
this->actionTimer = 40;
|
||||||
Animation_MorphToLoop(&this->skelAnime, &object_ma1_Anim_002A8C, -10.0f);
|
Animation_MorphToLoop(&this->skelAnime, &gRomaniLookAroundAnim, -10.0f);
|
||||||
this->actor.draw = NULL;
|
this->actor.draw = NULL;
|
||||||
this->actionFunc = func_80B48324;
|
this->actionFunc = func_80B48324;
|
||||||
}
|
}
|
||||||
@ -2443,7 +2443,7 @@ void func_80B48324(EnInvadepoh* this, PlayState* play) {
|
|||||||
|
|
||||||
void func_80B48374(EnInvadepoh* this) {
|
void func_80B48374(EnInvadepoh* this) {
|
||||||
this->actionTimer = 60;
|
this->actionTimer = 60;
|
||||||
Animation_MorphToLoop(&this->skelAnime, &object_ma1_Anim_002A8C, -10.0f);
|
Animation_MorphToLoop(&this->skelAnime, &gRomaniLookAroundAnim, -10.0f);
|
||||||
this->actor.draw = func_80B4E324;
|
this->actor.draw = func_80B4E324;
|
||||||
this->actionFunc = func_80B483CC;
|
this->actionFunc = func_80B483CC;
|
||||||
}
|
}
|
||||||
@ -2475,7 +2475,7 @@ void func_80B4843C(EnInvadepoh* this) {
|
|||||||
this->behaviorInfo.unk44 = 0.1f;
|
this->behaviorInfo.unk44 = 0.1f;
|
||||||
this->behaviorInfo.unk48 = 2000;
|
this->behaviorInfo.unk48 = 2000;
|
||||||
this->actionTimer = 50;
|
this->actionTimer = 50;
|
||||||
Animation_Change(&this->skelAnime, &object_ma1_Anim_007328, 2.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -5.0f);
|
Animation_Change(&this->skelAnime, &gRomaniRunAnim, 2.0f, 0.0f, 0.0f, ANIMMODE_LOOP, -5.0f);
|
||||||
this->actor.draw = func_80B4E324;
|
this->actor.draw = func_80B4E324;
|
||||||
this->actionFunc = func_80B484EC;
|
this->actionFunc = func_80B484EC;
|
||||||
}
|
}
|
||||||
@ -2505,7 +2505,7 @@ void func_80B48588(EnInvadepoh* this) {
|
|||||||
this->behaviorInfo.unk42 = 0;
|
this->behaviorInfo.unk42 = 0;
|
||||||
this->behaviorInfo.unk44 = 0.28f;
|
this->behaviorInfo.unk44 = 0.28f;
|
||||||
this->behaviorInfo.unk48 = 7000;
|
this->behaviorInfo.unk48 = 7000;
|
||||||
Animation_MorphToPlayOnce(&this->skelAnime, &object_ma1_Anim_009E58, -10.0f);
|
Animation_MorphToPlayOnce(&this->skelAnime, &gRomaniIdleAnim, -10.0f);
|
||||||
this->actor.draw = func_80B4E324;
|
this->actor.draw = func_80B4E324;
|
||||||
this->actionFunc = func_80B48610;
|
this->actionFunc = func_80B48610;
|
||||||
}
|
}
|
||||||
@ -2522,10 +2522,10 @@ void func_80B48620(Actor* thisx, PlayState* play) {
|
|||||||
Actor_SetObjectDependency(play, &this->actor);
|
Actor_SetObjectDependency(play, &this->actor);
|
||||||
func_80B44F58();
|
func_80B44F58();
|
||||||
this->actor.update = func_80B4873C;
|
this->actor.update = func_80B4873C;
|
||||||
SkelAnime_InitFlex(play, &this->skelAnime, &object_ma1_Skel_013928, &object_ma1_Anim_009E58, this->jointTable,
|
SkelAnime_InitFlex(play, &this->skelAnime, &gRomaniSkel, &gRomaniIdleAnim, this->jointTable, this->morphTable,
|
||||||
this->morphTable, 23);
|
ROMANI_LIMB_MAX);
|
||||||
func_80B45C04(&this->behaviorInfo, D_80B4EA90, 6, D_80B4EB00, 2, &gZeroVec3s, 5000, 0.05f, 0.3f, 0.12f);
|
func_80B45C04(&this->behaviorInfo, D_80B4EA90, 6, D_80B4EB00, 2, &gZeroVec3s, 5000, 0.05f, 0.3f, 0.12f);
|
||||||
Animation_PlayLoop(&this->skelAnime, &object_ma1_Anim_009E58);
|
Animation_PlayLoop(&this->skelAnime, &gRomaniIdleAnim);
|
||||||
func_80B482D4(this);
|
func_80B482D4(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2558,7 +2558,7 @@ void func_80B487B4(EnInvadepoh* this) {
|
|||||||
substruct->unk26.z = 0;
|
substruct->unk26.z = 0;
|
||||||
substruct->unk30 = 0.1f;
|
substruct->unk30 = 0.1f;
|
||||||
substruct->unk2C = 800;
|
substruct->unk2C = 800;
|
||||||
Animation_MorphToLoop(&this->skelAnime, &object_ma1_Anim_014088, -10.0f);
|
Animation_MorphToLoop(&this->skelAnime, &gRomaniWalkAnim, -10.0f);
|
||||||
this->actionFunc = func_80B48848;
|
this->actionFunc = func_80B48848;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2618,7 +2618,7 @@ void func_80B48948(EnInvadepoh* this) {
|
|||||||
substruct->unk2C = 1000;
|
substruct->unk2C = 1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
Animation_MorphToLoop(&this->skelAnime, &object_ma1_Anim_009E58, -10.0f);
|
Animation_MorphToLoop(&this->skelAnime, &gRomaniIdleAnim, -10.0f);
|
||||||
this->actionFunc = func_80B48AD4;
|
this->actionFunc = func_80B48AD4;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2689,7 +2689,7 @@ void func_80B48DE4(EnInvadepoh* this) {
|
|||||||
AlienBehaviorInfo* substruct = &this->behaviorInfo;
|
AlienBehaviorInfo* substruct = &this->behaviorInfo;
|
||||||
|
|
||||||
this->actor.speedXZ = 0.0f;
|
this->actor.speedXZ = 0.0f;
|
||||||
Animation_MorphToLoop(&this->skelAnime, &object_ma1_Anim_009E58, -10.0f);
|
Animation_MorphToLoop(&this->skelAnime, &gRomaniIdleAnim, -10.0f);
|
||||||
this->behaviorInfo.unk4C = 0;
|
this->behaviorInfo.unk4C = 0;
|
||||||
substruct->unk30 = 0.05f;
|
substruct->unk30 = 0.05f;
|
||||||
substruct->unk2C = 1200;
|
substruct->unk2C = 1200;
|
||||||
@ -2726,8 +2726,8 @@ void func_80B48FB0(Actor* thisx, PlayState* play) {
|
|||||||
this->actor.update = func_80B490F0;
|
this->actor.update = func_80B490F0;
|
||||||
this->actor.draw = func_80B4E324;
|
this->actor.draw = func_80B4E324;
|
||||||
this->actor.textId = 0x3330;
|
this->actor.textId = 0x3330;
|
||||||
SkelAnime_InitFlex(play, &this->skelAnime, &object_ma1_Skel_013928, &object_ma1_Anim_009E58, this->jointTable,
|
SkelAnime_InitFlex(play, &this->skelAnime, &gRomaniSkel, &gRomaniIdleAnim, this->jointTable, this->morphTable,
|
||||||
this->morphTable, 23);
|
ROMANI_LIMB_MAX);
|
||||||
func_80B45C04(&this->behaviorInfo, D_80B4EA90, 6, D_80B4EB00, 2, &gZeroVec3s, 100, 0.03, 0.3, 0.03);
|
func_80B45C04(&this->behaviorInfo, D_80B4EA90, 6, D_80B4EB00, 2, &gZeroVec3s, 100, 0.03, 0.3, 0.03);
|
||||||
func_80B444F4(this, play);
|
func_80B444F4(this, play);
|
||||||
EnInvadepoh_SetPathPointToWorldPos(this, 0);
|
EnInvadepoh_SetPathPointToWorldPos(this, 0);
|
||||||
@ -2996,7 +2996,7 @@ void func_80B49B1C(Actor* thisx, PlayState* play) {
|
|||||||
void func_80B49BD0(EnInvadepoh* this) {
|
void func_80B49BD0(EnInvadepoh* this) {
|
||||||
AlienBehaviorInfo* substruct = &this->behaviorInfo;
|
AlienBehaviorInfo* substruct = &this->behaviorInfo;
|
||||||
|
|
||||||
Animation_MorphToLoop(&this->skelAnime, &object_ma1_Anim_014088, -10.0f);
|
Animation_MorphToLoop(&this->skelAnime, &gRomaniWalkAnim, -10.0f);
|
||||||
substruct->unk26.x = 0;
|
substruct->unk26.x = 0;
|
||||||
substruct->unk26.y = 0;
|
substruct->unk26.y = 0;
|
||||||
substruct->unk26.z = 0;
|
substruct->unk26.z = 0;
|
||||||
@ -3040,7 +3040,7 @@ void func_80B49DA0(EnInvadepoh* this) {
|
|||||||
this->behaviorInfo.unk30 = 0.08f;
|
this->behaviorInfo.unk30 = 0.08f;
|
||||||
this->behaviorInfo.unk2C = 2000;
|
this->behaviorInfo.unk2C = 2000;
|
||||||
this->behaviorInfo.unk4C = 0;
|
this->behaviorInfo.unk4C = 0;
|
||||||
Animation_MorphToLoop(&this->skelAnime, &object_ma1_Anim_009E58, -10.0f);
|
Animation_MorphToLoop(&this->skelAnime, &gRomaniIdleAnim, -10.0f);
|
||||||
this->actionFunc = func_80B49DFC;
|
this->actionFunc = func_80B49DFC;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3078,8 +3078,8 @@ void func_80B49F88(Actor* thisx, PlayState* play) {
|
|||||||
this->actor.objBankIndex = this->bankIndex;
|
this->actor.objBankIndex = this->bankIndex;
|
||||||
Actor_SetObjectDependency(play, &this->actor);
|
Actor_SetObjectDependency(play, &this->actor);
|
||||||
func_80B44F58();
|
func_80B44F58();
|
||||||
SkelAnime_InitFlex(play, &this->skelAnime, &object_ma1_Skel_013928, &object_ma1_Anim_014088, this->jointTable,
|
SkelAnime_InitFlex(play, &this->skelAnime, &gRomaniSkel, &gRomaniWalkAnim, this->jointTable, this->morphTable,
|
||||||
this->morphTable, 23);
|
ROMANI_LIMB_MAX);
|
||||||
func_80B45C04(&this->behaviorInfo, D_80B4EA90, 1, D_80B4EB00, 1, &gZeroVec3s, 100, 0.03, 0.3, 0.03);
|
func_80B45C04(&this->behaviorInfo, D_80B4EA90, 1, D_80B4EB00, 1, &gZeroVec3s, 100, 0.03, 0.3, 0.03);
|
||||||
func_80B44540(this, play);
|
func_80B44540(this, play);
|
||||||
func_80B44570(this);
|
func_80B44570(this);
|
||||||
@ -3145,7 +3145,7 @@ void func_80B4A1B8(Actor* thisx, PlayState* play) {
|
|||||||
void func_80B4A2C0(EnInvadepoh* this) {
|
void func_80B4A2C0(EnInvadepoh* this) {
|
||||||
AlienBehaviorInfo* substruct = &this->behaviorInfo;
|
AlienBehaviorInfo* substruct = &this->behaviorInfo;
|
||||||
|
|
||||||
Animation_MorphToLoop(&this->skelAnime, &object_ma1_Anim_009E58, -10.0f);
|
Animation_MorphToLoop(&this->skelAnime, &gRomaniIdleAnim, -10.0f);
|
||||||
substruct->unk26.x = 0;
|
substruct->unk26.x = 0;
|
||||||
substruct->unk26.y = 0;
|
substruct->unk26.y = 0;
|
||||||
substruct->unk26.z = 0;
|
substruct->unk26.z = 0;
|
||||||
@ -3204,7 +3204,7 @@ void func_80B4A350(EnInvadepoh* this, PlayState* play) {
|
|||||||
void func_80B4A570(EnInvadepoh* this) {
|
void func_80B4A570(EnInvadepoh* this) {
|
||||||
AlienBehaviorInfo* substruct = &this->behaviorInfo;
|
AlienBehaviorInfo* substruct = &this->behaviorInfo;
|
||||||
|
|
||||||
Animation_MorphToPlayOnce(&this->skelAnime, &object_ma1_Anim_002A8C, -10.0f);
|
Animation_MorphToPlayOnce(&this->skelAnime, &gRomaniLookAroundAnim, -10.0f);
|
||||||
substruct->unk26.x = 0;
|
substruct->unk26.x = 0;
|
||||||
substruct->unk26.y = 0;
|
substruct->unk26.y = 0;
|
||||||
substruct->unk26.z = 0;
|
substruct->unk26.z = 0;
|
||||||
@ -3223,7 +3223,7 @@ void func_80B4A5E4(EnInvadepoh* this, PlayState* play) {
|
|||||||
void func_80B4A614(EnInvadepoh* this) {
|
void func_80B4A614(EnInvadepoh* this) {
|
||||||
AlienBehaviorInfo* substruct = &this->behaviorInfo;
|
AlienBehaviorInfo* substruct = &this->behaviorInfo;
|
||||||
|
|
||||||
Animation_MorphToLoop(&this->skelAnime, &object_ma1_Anim_014088, 0.0f);
|
Animation_MorphToLoop(&this->skelAnime, &gRomaniWalkAnim, 0.0f);
|
||||||
substruct->unk26.x = 0;
|
substruct->unk26.x = 0;
|
||||||
substruct->unk26.y = 0;
|
substruct->unk26.y = 0;
|
||||||
substruct->unk26.z = 0;
|
substruct->unk26.z = 0;
|
||||||
@ -3266,7 +3266,7 @@ void func_80B4A7C0(EnInvadepoh* this) {
|
|||||||
this->behaviorInfo.unk30 = 0.08f;
|
this->behaviorInfo.unk30 = 0.08f;
|
||||||
this->behaviorInfo.unk2C = 2000;
|
this->behaviorInfo.unk2C = 2000;
|
||||||
this->behaviorInfo.unk4C = 0;
|
this->behaviorInfo.unk4C = 0;
|
||||||
Animation_MorphToLoop(&this->skelAnime, &object_ma1_Anim_009E58, 0.0f);
|
Animation_MorphToLoop(&this->skelAnime, &gRomaniIdleAnim, 0.0f);
|
||||||
this->actionFunc = func_80B4A81C;
|
this->actionFunc = func_80B4A81C;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3309,8 +3309,8 @@ void func_80B4A9C8(Actor* thisx, PlayState* play) {
|
|||||||
this->actor.objBankIndex = this->bankIndex;
|
this->actor.objBankIndex = this->bankIndex;
|
||||||
Actor_SetObjectDependency(play, &this->actor);
|
Actor_SetObjectDependency(play, &this->actor);
|
||||||
func_80B44F58();
|
func_80B44F58();
|
||||||
SkelAnime_InitFlex(play, &this->skelAnime, &object_ma1_Skel_013928, &object_ma1_Anim_014088, this->jointTable,
|
SkelAnime_InitFlex(play, &this->skelAnime, &gRomaniSkel, &gRomaniWalkAnim, this->jointTable, this->morphTable,
|
||||||
this->morphTable, 23);
|
ROMANI_LIMB_MAX);
|
||||||
func_80B45C04(&this->behaviorInfo, D_80B4EA90, 1, D_80B4EB00, 1, &gZeroVec3s, 100, 0.03f, 0.3f, 0.03f);
|
func_80B45C04(&this->behaviorInfo, D_80B4EA90, 1, D_80B4EB00, 1, &gZeroVec3s, 100, 0.03f, 0.3f, 0.03f);
|
||||||
func_80B44620(this, play);
|
func_80B44620(this, play);
|
||||||
if ((sp38 < CLOCK_TIME(2, 15)) || (sp38 >= CLOCK_TIME(6, 0))) {
|
if ((sp38 < CLOCK_TIME(2, 15)) || (sp38 >= CLOCK_TIME(6, 0))) {
|
||||||
@ -3485,9 +3485,9 @@ void func_80B4B0C4(Actor* thisx, PlayState* play) {
|
|||||||
Actor_SetObjectDependency(play, &this->actor);
|
Actor_SetObjectDependency(play, &this->actor);
|
||||||
func_80B44F58();
|
func_80B44F58();
|
||||||
this->actor.update = func_80B4B218;
|
this->actor.update = func_80B4B218;
|
||||||
SkelAnime_InitFlex(play, &this->skelAnime, &object_ma1_Skel_013928, &object_ma1_Anim_014088, this->jointTable,
|
SkelAnime_InitFlex(play, &this->skelAnime, &gRomaniSkel, &gRomaniWalkAnim, this->jointTable, this->morphTable,
|
||||||
this->morphTable, 23);
|
ROMANI_LIMB_MAX);
|
||||||
Animation_MorphToLoop(&this->skelAnime, &object_ma1_Anim_009E58, 0.0f);
|
Animation_MorphToLoop(&this->skelAnime, &gRomaniIdleAnim, 0.0f);
|
||||||
substruct = &this->behaviorInfo;
|
substruct = &this->behaviorInfo;
|
||||||
func_80B45C04(&this->behaviorInfo, D_80B4EA90, 1, D_80B4EB00, 3, &gZeroVec3s, 2000, 0.08f, 0.3f, 0.03f);
|
func_80B45C04(&this->behaviorInfo, D_80B4EA90, 1, D_80B4EB00, 3, &gZeroVec3s, 2000, 0.08f, 0.3f, 0.03f);
|
||||||
substruct->unk30 = 0.08f;
|
substruct->unk30 = 0.08f;
|
||||||
@ -3937,7 +3937,7 @@ void func_80B4C5C0(Actor* thisx, PlayState* play) {
|
|||||||
void func_80B4C6C8(EnInvadepoh* this) {
|
void func_80B4C6C8(EnInvadepoh* this) {
|
||||||
AlienBehaviorInfo* substruct = &this->behaviorInfo;
|
AlienBehaviorInfo* substruct = &this->behaviorInfo;
|
||||||
|
|
||||||
Animation_MorphToLoop(&this->skelAnime, &object_ma1_Anim_014088, -10.0f);
|
Animation_MorphToLoop(&this->skelAnime, &gRomaniWalkAnim, -10.0f);
|
||||||
substruct->unk26.x = 0;
|
substruct->unk26.x = 0;
|
||||||
substruct->unk26.y = 0;
|
substruct->unk26.y = 0;
|
||||||
substruct->unk26.z = 0;
|
substruct->unk26.z = 0;
|
||||||
@ -4020,7 +4020,7 @@ void func_80B4C730(EnInvadepoh* this, PlayState* play) {
|
|||||||
void func_80B4CAB0(EnInvadepoh* this) {
|
void func_80B4CAB0(EnInvadepoh* this) {
|
||||||
this->behaviorInfo.unk30 = 0.08f;
|
this->behaviorInfo.unk30 = 0.08f;
|
||||||
this->behaviorInfo.unk2C = 4000;
|
this->behaviorInfo.unk2C = 4000;
|
||||||
Animation_MorphToLoop(&this->skelAnime, &object_ma1_Anim_009E58, -10.0f);
|
Animation_MorphToLoop(&this->skelAnime, &gRomaniIdleAnim, -10.0f);
|
||||||
this->behaviorInfo.unk4C = 0;
|
this->behaviorInfo.unk4C = 0;
|
||||||
this->actionFunc = func_80B4CB0C;
|
this->actionFunc = func_80B4CB0C;
|
||||||
}
|
}
|
||||||
@ -4049,7 +4049,7 @@ void func_80B4CB0C(EnInvadepoh* this, PlayState* play) {
|
|||||||
void func_80B4CC70(EnInvadepoh* this) {
|
void func_80B4CC70(EnInvadepoh* this) {
|
||||||
this->behaviorInfo.unk30 = 0.08f;
|
this->behaviorInfo.unk30 = 0.08f;
|
||||||
this->behaviorInfo.unk2C = 2000;
|
this->behaviorInfo.unk2C = 2000;
|
||||||
Animation_MorphToLoop(&this->skelAnime, &object_ma1_Anim_009E58, -10.0f);
|
Animation_MorphToLoop(&this->skelAnime, &gRomaniIdleAnim, -10.0f);
|
||||||
this->behaviorInfo.unk4C = 0;
|
this->behaviorInfo.unk4C = 0;
|
||||||
this->actionFunc = func_80B4CCCC;
|
this->actionFunc = func_80B4CCCC;
|
||||||
}
|
}
|
||||||
@ -4088,8 +4088,8 @@ void func_80B4CE54(Actor* thisx, PlayState* play) {
|
|||||||
this->actor.objBankIndex = this->bankIndex;
|
this->actor.objBankIndex = this->bankIndex;
|
||||||
Actor_SetObjectDependency(play, &this->actor);
|
Actor_SetObjectDependency(play, &this->actor);
|
||||||
func_80B44F58();
|
func_80B44F58();
|
||||||
SkelAnime_InitFlex(play, &this->skelAnime, &object_ma1_Skel_013928, &object_ma1_Anim_014088, this->jointTable,
|
SkelAnime_InitFlex(play, &this->skelAnime, &gRomaniSkel, &gRomaniWalkAnim, this->jointTable, this->morphTable,
|
||||||
this->morphTable, 23);
|
ROMANI_LIMB_MAX);
|
||||||
func_80B45C04(&this->behaviorInfo, D_80B4EA90, 1, D_80B4EB00, 3, &gZeroVec3s, 100, 0.03f, 0.3f, 0.03f);
|
func_80B45C04(&this->behaviorInfo, D_80B4EA90, 1, D_80B4EB00, 3, &gZeroVec3s, 100, 0.03f, 0.3f, 0.03f);
|
||||||
func_80B446D0(this, play);
|
func_80B446D0(this, play);
|
||||||
this->actor.world.rot.y = this->actor.shape.rot.y;
|
this->actor.world.rot.y = this->actor.shape.rot.y;
|
||||||
@ -4471,13 +4471,13 @@ void func_80B4E1B0(Actor* thisx, PlayState* play) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
s32 func_80B4E200(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) {
|
s32 func_80B4E200(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) {
|
||||||
if (limbIndex == 14) {
|
if (limbIndex == ROMANI_LIMB_HEAD) {
|
||||||
EnInvadepoh* this = THIS; // both of these needed to match
|
EnInvadepoh* this = THIS; // both of these needed to match
|
||||||
|
|
||||||
rot->x += this->behaviorInfo.unk20.y;
|
rot->x += this->behaviorInfo.unk20.y;
|
||||||
rot->y += this->behaviorInfo.unk20.z;
|
rot->y += this->behaviorInfo.unk20.z;
|
||||||
rot->z += this->behaviorInfo.unk20.x;
|
rot->z += this->behaviorInfo.unk20.x;
|
||||||
} else if (limbIndex == 13) {
|
} else if (limbIndex == ROMANI_LIMB_TORSO) {
|
||||||
EnInvadepoh* this = THIS; // both of these needed to match
|
EnInvadepoh* this = THIS; // both of these needed to match
|
||||||
|
|
||||||
rot->x += (s16)(this->behaviorInfo.unk34 * this->behaviorInfo.unk20.y);
|
rot->x += (s16)(this->behaviorInfo.unk34 * this->behaviorInfo.unk20.y);
|
||||||
@ -4489,11 +4489,11 @@ s32 func_80B4E200(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s
|
|||||||
void func_80B4E2AC(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
|
void func_80B4E2AC(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
|
||||||
EnInvadepoh* this = THIS;
|
EnInvadepoh* this = THIS;
|
||||||
|
|
||||||
if (limbIndex == 19) {
|
if (limbIndex == ROMANI_LIMB_LEFT_HAND) {
|
||||||
OPEN_DISPS(play->state.gfxCtx);
|
OPEN_DISPS(play->state.gfxCtx);
|
||||||
gSPDisplayList(POLY_OPA_DISP++, object_ma1_DL_0003B0);
|
gSPDisplayList(POLY_OPA_DISP++, gRomaniBowDL);
|
||||||
CLOSE_DISPS(play->state.gfxCtx);
|
CLOSE_DISPS(play->state.gfxCtx);
|
||||||
} else if (limbIndex == 14) {
|
} else if (limbIndex == ROMANI_LIMB_HEAD) {
|
||||||
Matrix_MultVec3f(&D_80B4EE30, &this->actor.focus.pos);
|
Matrix_MultVec3f(&D_80B4EE30, &this->actor.focus.pos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4503,8 +4503,8 @@ void func_80B4E324(Actor* thisx, PlayState* play) {
|
|||||||
|
|
||||||
OPEN_DISPS(play->state.gfxCtx);
|
OPEN_DISPS(play->state.gfxCtx);
|
||||||
func_8012C28C(play->state.gfxCtx);
|
func_8012C28C(play->state.gfxCtx);
|
||||||
gSPSegment(POLY_OPA_DISP++, 0x09, D_80B4E958[this->behaviorInfo.unk10.unkF]);
|
gSPSegment(POLY_OPA_DISP++, 0x09, sRomaniMouthTextures[this->behaviorInfo.unk10.unkF]);
|
||||||
gSPSegment(POLY_OPA_DISP++, 0x08, D_80B4E944[this->behaviorInfo.unk0.unkF]);
|
gSPSegment(POLY_OPA_DISP++, 0x08, sRomaniEyeTextures[this->behaviorInfo.unk0.unkF]);
|
||||||
SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
|
SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
|
||||||
func_80B4E200, func_80B4E2AC, &this->actor);
|
func_80B4E200, func_80B4E2AC, &this->actor);
|
||||||
CLOSE_DISPS(play->state.gfxCtx);
|
CLOSE_DISPS(play->state.gfxCtx);
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "z_en_ma4.h"
|
#include "z_en_ma4.h"
|
||||||
#include "objects/object_ma1/object_ma1.h"
|
|
||||||
|
|
||||||
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_8 | ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_2000000)
|
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_8 | ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_2000000)
|
||||||
|
|
||||||
@ -90,14 +89,14 @@ static ColliderCylinderInit sCylinderInit = {
|
|||||||
static CollisionCheckInfoInit2 D_80AC00DC = { 0, 0, 0, 0, MASS_IMMOVABLE };
|
static CollisionCheckInfoInit2 D_80AC00DC = { 0, 0, 0, 0, MASS_IMMOVABLE };
|
||||||
|
|
||||||
static TexturePtr sEyeTextures[] = {
|
static TexturePtr sEyeTextures[] = {
|
||||||
object_ma1_Tex_00FFC8, object_ma1_Tex_0107C8, object_ma1_Tex_010FC8, object_ma1_Tex_0117C8, object_ma1_Tex_011FC8,
|
gRomaniEyeOpenTex, gRomaniEyeHalfTex, gRomaniEyeClosedTex, gRomaniEyeHappyTex, gRomaniEyeSadTex,
|
||||||
};
|
};
|
||||||
|
|
||||||
static TexturePtr sMouthTextures[] = {
|
static TexturePtr sMouthTextures[] = {
|
||||||
object_ma1_Tex_0127C8,
|
gRomaniMouthHappyTex,
|
||||||
object_ma1_Tex_012BC8,
|
gRomaniMouthFrownTex,
|
||||||
object_ma1_Tex_012FC8,
|
gRomaniMouthHangingOpenTex,
|
||||||
object_ma1_Tex_0133C8,
|
gRomaniMouthSmileTex,
|
||||||
};
|
};
|
||||||
|
|
||||||
void EnMa4_UpdateEyes(EnMa4* this) {
|
void EnMa4_UpdateEyes(EnMa4* this) {
|
||||||
@ -113,26 +112,26 @@ void EnMa4_UpdateEyes(EnMa4* this) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static AnimationSpeedInfo sAnimationInfo[] = {
|
static AnimationSpeedInfo sAnimationInfo[] = {
|
||||||
{ &object_ma1_Anim_009E58, 1.0f, ANIMMODE_LOOP, 0.0f },
|
{ &gRomaniIdleAnim, 1.0f, ANIMMODE_LOOP, 0.0f },
|
||||||
{ &object_ma1_Anim_009E58, 1.0f, ANIMMODE_LOOP, -6.0f }, // Idle anim
|
{ &gRomaniIdleAnim, 1.0f, ANIMMODE_LOOP, -6.0f },
|
||||||
{ &object_ma1_Anim_002A8C, 1.0f, ANIMMODE_LOOP, 0.0f },
|
{ &gRomaniLookAroundAnim, 1.0f, ANIMMODE_LOOP, 0.0f },
|
||||||
{ &object_ma1_Anim_002A8C, 1.0f, ANIMMODE_LOOP, -6.0f }, // Looking around anim
|
{ &gRomaniLookAroundAnim, 1.0f, ANIMMODE_LOOP, -6.0f },
|
||||||
{ &object_ma1_Anim_018948, 1.0f, ANIMMODE_ONCE, 0.0f },
|
{ &gRomaniSingStartAnim, 1.0f, ANIMMODE_ONCE, 0.0f },
|
||||||
{ &object_ma1_Anim_018948, 1.0f, ANIMMODE_ONCE, -6.0f }, // Starts holding hands anim
|
{ &gRomaniSingStartAnim, 1.0f, ANIMMODE_ONCE, -6.0f },
|
||||||
{ &object_ma1_Anim_01B76C, 1.0f, ANIMMODE_LOOP, 0.0f },
|
{ &gRomaniSingLoopAnim, 1.0f, ANIMMODE_LOOP, 0.0f },
|
||||||
{ &object_ma1_Anim_01B76C, 1.0f, ANIMMODE_LOOP, -6.0f }, // Holnding hands anim
|
{ &gRomaniSingLoopAnim, 1.0f, ANIMMODE_LOOP, -6.0f },
|
||||||
{ &object_ma1_Anim_007328, 1.0f, ANIMMODE_LOOP, 0.0f },
|
{ &gRomaniRunAnim, 1.0f, ANIMMODE_LOOP, 0.0f },
|
||||||
{ &object_ma1_Anim_007328, 1.0f, ANIMMODE_LOOP, -6.0f }, // Walking anim
|
{ &gRomaniRunAnim, 1.0f, ANIMMODE_LOOP, -6.0f },
|
||||||
{ &object_ma1_Anim_014088, 1.0f, ANIMMODE_LOOP, 0.0f },
|
{ &gRomaniWalkAnim, 1.0f, ANIMMODE_LOOP, 0.0f },
|
||||||
{ &object_ma1_Anim_014088, 1.0f, ANIMMODE_LOOP, -6.0f }, //
|
{ &gRomaniWalkAnim, 1.0f, ANIMMODE_LOOP, -6.0f },
|
||||||
{ &object_ma1_Anim_015B7C, 1.0f, ANIMMODE_ONCE, 0.0f },
|
{ &gRomaniShootBowAnim, 1.0f, ANIMMODE_ONCE, 0.0f },
|
||||||
{ &object_ma1_Anim_015B7C, 1.0f, ANIMMODE_ONCE, -6.0f }, // Shoot arrow anim
|
{ &gRomaniShootBowAnim, 1.0f, ANIMMODE_ONCE, -6.0f },
|
||||||
{ &object_ma1_Anim_007D98, 1.0f, ANIMMODE_LOOP, 0.0f },
|
{ &gRomaniSittingAnim, 1.0f, ANIMMODE_LOOP, 0.0f },
|
||||||
{ &object_ma1_Anim_007D98, 1.0f, ANIMMODE_LOOP, -6.0f }, // Sitting anim
|
{ &gRomaniSittingAnim, 1.0f, ANIMMODE_LOOP, -6.0f },
|
||||||
{ &object_ma1_Anim_00852C, 1.0f, ANIMMODE_LOOP, 0.0f },
|
{ &gRomaniSittingHeadShakeAnim, 1.0f, ANIMMODE_LOOP, 0.0f },
|
||||||
{ &object_ma1_Anim_00852C, 1.0f, ANIMMODE_LOOP, -6.0f }, // Sitting traumatized anim
|
{ &gRomaniSittingHeadShakeAnim, 1.0f, ANIMMODE_LOOP, -6.0f },
|
||||||
{ &object_ma1_Anim_008F6C, 1.0f, ANIMMODE_LOOP, 0.0f },
|
{ &gRomaniSittingLookDownAnim, 1.0f, ANIMMODE_LOOP, 0.0f },
|
||||||
{ &object_ma1_Anim_008F6C, 1.0f, ANIMMODE_LOOP, -6.0f }, // Sitting sad anim
|
{ &gRomaniSittingLookDownAnim, 1.0f, ANIMMODE_LOOP, -6.0f },
|
||||||
};
|
};
|
||||||
|
|
||||||
void EnMa4_ChangeAnim(EnMa4* this, s32 index) {
|
void EnMa4_ChangeAnim(EnMa4* this, s32 index) {
|
||||||
@ -145,9 +144,9 @@ void func_80ABDD9C(EnMa4* this, PlayState* play) {
|
|||||||
Player* player = GET_PLAYER(play);
|
Player* player = GET_PLAYER(play);
|
||||||
s16 flag;
|
s16 flag;
|
||||||
|
|
||||||
if (this->unk_1D8.unk_00 == 0 && ((this->skelAnime.animation == &object_ma1_Anim_007328) ||
|
if (this->unk_1D8.unk_00 == 0 &&
|
||||||
(this->skelAnime.animation == &object_ma1_Anim_002A8C) ||
|
((this->skelAnime.animation == &gRomaniRunAnim) || (this->skelAnime.animation == &gRomaniLookAroundAnim) ||
|
||||||
(this->skelAnime.animation == &object_ma1_Anim_015B7C))) {
|
(this->skelAnime.animation == &gRomaniShootBowAnim))) {
|
||||||
flag = 1;
|
flag = 1;
|
||||||
} else {
|
} else {
|
||||||
flag = (this->type == MA4_TYPE_ALIENS_WON && this->actionFunc != EnMa4_DialogueHandler) ? 1 : 0;
|
flag = (this->type == MA4_TYPE_ALIENS_WON && this->actionFunc != EnMa4_DialogueHandler) ? 1 : 0;
|
||||||
@ -183,8 +182,7 @@ void EnMa4_Init(Actor* thisx, PlayState* play) {
|
|||||||
s32 pad;
|
s32 pad;
|
||||||
|
|
||||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 18.0f);
|
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 18.0f);
|
||||||
SkelAnime_InitFlex(play, &this->skelAnime, &object_ma1_Skel_013928, NULL, this->jointTable, this->morphTable,
|
SkelAnime_InitFlex(play, &this->skelAnime, &gRomaniSkel, NULL, this->jointTable, this->morphTable, ROMANI_LIMB_MAX);
|
||||||
MA1_LIMB_MAX);
|
|
||||||
|
|
||||||
Collider_InitCylinder(play, &this->collider);
|
Collider_InitCylinder(play, &this->collider);
|
||||||
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
|
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
|
||||||
@ -300,7 +298,7 @@ void EnMa4_RunInCircles(EnMa4* this, PlayState* play) {
|
|||||||
|
|
||||||
Actor_UpdateBgCheckInfo(play, &this->actor, 0.0f, 0.0f, 0.0f, 4);
|
Actor_UpdateBgCheckInfo(play, &this->actor, 0.0f, 0.0f, 0.0f, 4);
|
||||||
Actor_MoveWithGravity(&this->actor);
|
Actor_MoveWithGravity(&this->actor);
|
||||||
if (this->skelAnime.animation == &object_ma1_Anim_007328) { // Walking animation
|
if (this->skelAnime.animation == &gRomaniRunAnim) {
|
||||||
if (Animation_OnFrame(&this->skelAnime, 0.0f) || Animation_OnFrame(&this->skelAnime, 4.0f)) {
|
if (Animation_OnFrame(&this->skelAnime, 0.0f) || Animation_OnFrame(&this->skelAnime, 4.0f)) {
|
||||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_ROMANI_WALK);
|
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_ROMANI_WALK);
|
||||||
}
|
}
|
||||||
@ -1031,12 +1029,12 @@ s32 EnMa4_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p
|
|||||||
EnMa4* this = THIS;
|
EnMa4* this = THIS;
|
||||||
Vec3s sp4;
|
Vec3s sp4;
|
||||||
|
|
||||||
if (limbIndex == MA1_LIMB_HEAD) {
|
if (limbIndex == ROMANI_LIMB_HEAD) {
|
||||||
sp4 = this->unk_1D8.unk_08;
|
sp4 = this->unk_1D8.unk_08;
|
||||||
rot->x = rot->x + sp4.y;
|
rot->x = rot->x + sp4.y;
|
||||||
rot->z = rot->z + sp4.x;
|
rot->z = rot->z + sp4.x;
|
||||||
}
|
}
|
||||||
if (limbIndex == MA1_LIMB_TORSO) {
|
if (limbIndex == ROMANI_LIMB_TORSO) {
|
||||||
sp4 = this->unk_1D8.unk_0E;
|
sp4 = this->unk_1D8.unk_0E;
|
||||||
rot->x = rot->x - sp4.y;
|
rot->x = rot->x - sp4.y;
|
||||||
rot->z = rot->z - sp4.x;
|
rot->z = rot->z - sp4.x;
|
||||||
@ -1049,12 +1047,12 @@ void EnMa4_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot,
|
|||||||
EnMa4* this = THIS;
|
EnMa4* this = THIS;
|
||||||
Vec3f sp28 = { 800.0f, 0.0f, 0.0f };
|
Vec3f sp28 = { 800.0f, 0.0f, 0.0f };
|
||||||
|
|
||||||
if (limbIndex == MA1_LIMB_HEAD) {
|
if (limbIndex == ROMANI_LIMB_HEAD) {
|
||||||
Matrix_MultVec3f(&sp28, &this->actor.focus.pos);
|
Matrix_MultVec3f(&sp28, &this->actor.focus.pos);
|
||||||
} else if (limbIndex == MA1_LIMB_HAND_LEFT) {
|
} else if (limbIndex == ROMANI_LIMB_LEFT_HAND) {
|
||||||
if (this->hasBow == true) {
|
if (this->hasBow == true) {
|
||||||
OPEN_DISPS(play->state.gfxCtx);
|
OPEN_DISPS(play->state.gfxCtx);
|
||||||
gSPDisplayList(POLY_OPA_DISP++, object_ma1_DL_0003B0);
|
gSPDisplayList(POLY_OPA_DISP++, gRomaniBowDL);
|
||||||
CLOSE_DISPS(play->state.gfxCtx);
|
CLOSE_DISPS(play->state.gfxCtx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1066,7 +1064,7 @@ void EnMa4_Draw(Actor* thisx, PlayState* play) {
|
|||||||
OPEN_DISPS(play->state.gfxCtx);
|
OPEN_DISPS(play->state.gfxCtx);
|
||||||
if (this->type == MA4_TYPE_ALIENS_WON) {
|
if (this->type == MA4_TYPE_ALIENS_WON) {
|
||||||
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||||
gSPDisplayList(POLY_OPA_DISP++, object_ma1_DL_000A20);
|
gSPDisplayList(POLY_OPA_DISP++, gRomaniWoodenBoxDL);
|
||||||
}
|
}
|
||||||
|
|
||||||
func_8012C28C(play->state.gfxCtx);
|
func_8012C28C(play->state.gfxCtx);
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#define Z_EN_MA4_H
|
#define Z_EN_MA4_H
|
||||||
|
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
#include "overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.h"
|
#include "objects/object_ma1/object_ma1.h"
|
||||||
|
|
||||||
struct EnMa4;
|
struct EnMa4;
|
||||||
|
|
||||||
@ -15,9 +15,9 @@ typedef struct EnMa4 {
|
|||||||
/* 0x18C */ ColliderCylinder collider;
|
/* 0x18C */ ColliderCylinder collider;
|
||||||
/* 0x1D8 */ struct_800BD888_arg1 unk_1D8;
|
/* 0x1D8 */ struct_800BD888_arg1 unk_1D8;
|
||||||
/* 0x200 */ Vec3s* pathPoints;
|
/* 0x200 */ Vec3s* pathPoints;
|
||||||
/* 0x204 */ Vec3s jointTable[MA1_LIMB_MAX];
|
/* 0x204 */ Vec3s jointTable[ROMANI_LIMB_MAX];
|
||||||
/* 0x28E */ UNK_TYPE1 unk28E[0x6];
|
/* 0x28E */ UNK_TYPE1 unk28E[0x6];
|
||||||
/* 0x294 */ Vec3s morphTable[MA1_LIMB_MAX];
|
/* 0x294 */ Vec3s morphTable[ROMANI_LIMB_MAX];
|
||||||
/* 0x31E */ UNK_TYPE1 unk31E[0x6];
|
/* 0x31E */ UNK_TYPE1 unk31E[0x6];
|
||||||
/* 0x324 */ s16 pathIndex;
|
/* 0x324 */ s16 pathIndex;
|
||||||
/* 0x326 */ s16 pathPointsCount;
|
/* 0x326 */ s16 pathPointsCount;
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "z_en_ma_yts.h"
|
#include "z_en_ma_yts.h"
|
||||||
#include "objects/object_ma1/object_ma1.h"
|
|
||||||
|
|
||||||
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_8 | ACTOR_FLAG_100000 | ACTOR_FLAG_2000000)
|
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_8 | ACTOR_FLAG_100000 | ACTOR_FLAG_2000000)
|
||||||
|
|
||||||
@ -79,39 +78,39 @@ static CollisionCheckInfoInit2 sColChkInfoInit2 = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static AnimationSpeedInfo sAnimationInfo[] = {
|
static AnimationSpeedInfo sAnimationInfo[] = {
|
||||||
{ &object_ma1_Anim_009E58, 1.0f, ANIMMODE_LOOP, 0.0f },
|
{ &gRomaniIdleAnim, 1.0f, ANIMMODE_LOOP, 0.0f },
|
||||||
{ &object_ma1_Anim_009E58, 1.0f, ANIMMODE_LOOP, -6.0f }, // Idle anim
|
{ &gRomaniIdleAnim, 1.0f, ANIMMODE_LOOP, -6.0f },
|
||||||
{ &object_ma1_Anim_018948, 1.0f, ANIMMODE_ONCE, 0.0f },
|
{ &gRomaniSingStartAnim, 1.0f, ANIMMODE_ONCE, 0.0f },
|
||||||
{ &object_ma1_Anim_018948, 1.0f, ANIMMODE_ONCE, -6.0f }, // Starts holding hands anim
|
{ &gRomaniSingStartAnim, 1.0f, ANIMMODE_ONCE, -6.0f },
|
||||||
{ &object_ma1_Anim_01B76C, 1.0f, ANIMMODE_LOOP, 0.0f },
|
{ &gRomaniSingLoopAnim, 1.0f, ANIMMODE_LOOP, 0.0f },
|
||||||
{ &object_ma1_Anim_01B76C, 1.0f, ANIMMODE_LOOP, -6.0f }, // Holnding hands anim
|
{ &gRomaniSingLoopAnim, 1.0f, ANIMMODE_LOOP, -6.0f },
|
||||||
{ &object_ma1_Anim_007328, 1.0f, ANIMMODE_LOOP, 0.0f },
|
{ &gRomaniRunAnim, 1.0f, ANIMMODE_LOOP, 0.0f },
|
||||||
{ &object_ma1_Anim_007328, 1.0f, ANIMMODE_LOOP, -6.0f }, // Walking anim
|
{ &gRomaniRunAnim, 1.0f, ANIMMODE_LOOP, -6.0f },
|
||||||
{ &object_ma1_Anim_014088, 1.0f, ANIMMODE_LOOP, 0.0f },
|
{ &gRomaniWalkAnim, 1.0f, ANIMMODE_LOOP, 0.0f },
|
||||||
{ &object_ma1_Anim_014088, 1.0f, ANIMMODE_LOOP, -6.0f }, //
|
{ &gRomaniWalkAnim, 1.0f, ANIMMODE_LOOP, -6.0f },
|
||||||
{ &object_ma1_Anim_002A8C, 1.0f, ANIMMODE_LOOP, 0.0f },
|
{ &gRomaniLookAroundAnim, 1.0f, ANIMMODE_LOOP, 0.0f },
|
||||||
{ &object_ma1_Anim_002A8C, 1.0f, ANIMMODE_LOOP, -6.0f }, // Looking around anim
|
{ &gRomaniLookAroundAnim, 1.0f, ANIMMODE_LOOP, -6.0f },
|
||||||
{ &object_ma1_Anim_015B7C, 1.0f, ANIMMODE_LOOP, 0.0f },
|
{ &gRomaniShootBowAnim, 1.0f, ANIMMODE_LOOP, 0.0f },
|
||||||
{ &object_ma1_Anim_015B7C, 1.0f, ANIMMODE_LOOP, -6.0f }, // Shoot arrow anim
|
{ &gRomaniShootBowAnim, 1.0f, ANIMMODE_LOOP, -6.0f },
|
||||||
{ &object_ma1_Anim_007D98, 1.0f, ANIMMODE_LOOP, 0.0f },
|
{ &gRomaniSittingAnim, 1.0f, ANIMMODE_LOOP, 0.0f },
|
||||||
{ &object_ma1_Anim_007D98, 1.0f, ANIMMODE_LOOP, -6.0f }, // Sitting anim
|
{ &gRomaniSittingAnim, 1.0f, ANIMMODE_LOOP, -6.0f },
|
||||||
{ &object_ma1_Anim_00852C, 1.0f, ANIMMODE_LOOP, 0.0f },
|
{ &gRomaniSittingHeadShakeAnim, 1.0f, ANIMMODE_LOOP, 0.0f },
|
||||||
{ &object_ma1_Anim_00852C, 1.0f, ANIMMODE_LOOP, -6.0f }, // Sitting traumatized anim
|
{ &gRomaniSittingHeadShakeAnim, 1.0f, ANIMMODE_LOOP, -6.0f },
|
||||||
{ &object_ma1_Anim_008F6C, 1.0f, ANIMMODE_LOOP, 0.0f },
|
{ &gRomaniSittingLookDownAnim, 1.0f, ANIMMODE_LOOP, 0.0f },
|
||||||
{ &object_ma1_Anim_008F6C, 1.0f, ANIMMODE_LOOP, -6.0f }, // Sitting sad anim
|
{ &gRomaniSittingLookDownAnim, 1.0f, ANIMMODE_LOOP, -6.0f },
|
||||||
{ &object_ma1_Anim_0180DC, 1.0f, ANIMMODE_ONCE, 0.0f },
|
{ &gRomaniTurnAroundAndFlickHairAnim, 1.0f, ANIMMODE_ONCE, 0.0f },
|
||||||
{ &object_ma1_Anim_0180DC, 1.0f, ANIMMODE_ONCE, -6.0f }, // Turns around anim
|
{ &gRomaniTurnAroundAndFlickHairAnim, 1.0f, ANIMMODE_ONCE, -6.0f },
|
||||||
};
|
};
|
||||||
|
|
||||||
static TexturePtr sMouthTextures[] = {
|
static TexturePtr sMouthTextures[] = {
|
||||||
object_ma1_Tex_0127C8,
|
gRomaniMouthHappyTex,
|
||||||
object_ma1_Tex_012BC8,
|
gRomaniMouthFrownTex,
|
||||||
object_ma1_Tex_012FC8,
|
gRomaniMouthHangingOpenTex,
|
||||||
object_ma1_Tex_0133C8,
|
gRomaniMouthSmileTex,
|
||||||
};
|
};
|
||||||
|
|
||||||
static TexturePtr sEyeTextures[] = {
|
static TexturePtr sEyeTextures[] = {
|
||||||
object_ma1_Tex_00FFC8, object_ma1_Tex_0107C8, object_ma1_Tex_010FC8, object_ma1_Tex_0117C8, object_ma1_Tex_011FC8,
|
gRomaniEyeOpenTex, gRomaniEyeHalfTex, gRomaniEyeClosedTex, gRomaniEyeHappyTex, gRomaniEyeSadTex,
|
||||||
};
|
};
|
||||||
|
|
||||||
void EnMaYts_ChangeAnim(EnMaYts* this, s32 index) {
|
void EnMaYts_ChangeAnim(EnMaYts* this, s32 index) {
|
||||||
@ -225,8 +224,7 @@ void EnMaYts_Init(Actor* thisx, PlayState* play) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 18.0f);
|
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 18.0f);
|
||||||
SkelAnime_InitFlex(play, &this->skelAnime, &object_ma1_Skel_013928, NULL, this->jointTable, this->morphTable,
|
SkelAnime_InitFlex(play, &this->skelAnime, &gRomaniSkel, NULL, this->jointTable, this->morphTable, ROMANI_LIMB_MAX);
|
||||||
MA1_LIMB_MAX);
|
|
||||||
EnMaYts_InitAnimation(this, play);
|
EnMaYts_InitAnimation(this, play);
|
||||||
|
|
||||||
Collider_InitCylinder(play, &this->collider);
|
Collider_InitCylinder(play, &this->collider);
|
||||||
@ -505,14 +503,13 @@ s32 EnMaYts_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f*
|
|||||||
EnMaYts* this = THIS;
|
EnMaYts* this = THIS;
|
||||||
Vec3s sp4;
|
Vec3s sp4;
|
||||||
|
|
||||||
if (limbIndex == MA1_LIMB_HEAD) {
|
if (limbIndex == ROMANI_LIMB_HEAD) {
|
||||||
sp4 = this->unk_1D8.unk_08;
|
sp4 = this->unk_1D8.unk_08;
|
||||||
rot->x += sp4.y;
|
rot->x += sp4.y;
|
||||||
if ((this->skelAnime.animation == &object_ma1_Anim_009E58) ||
|
if ((this->skelAnime.animation == &gRomaniIdleAnim) || (this->skelAnime.animation == &gRomaniSittingAnim)) {
|
||||||
(this->skelAnime.animation == &object_ma1_Anim_007D98)) {
|
|
||||||
rot->z += sp4.x;
|
rot->z += sp4.x;
|
||||||
}
|
}
|
||||||
} else if (limbIndex == MA1_LIMB_TORSO) {
|
} else if (limbIndex == ROMANI_LIMB_TORSO) {
|
||||||
sp4 = this->unk_1D8.unk_0E;
|
sp4 = this->unk_1D8.unk_0E;
|
||||||
rot->x += sp4.y;
|
rot->x += sp4.y;
|
||||||
rot->z += sp4.x;
|
rot->z += sp4.x;
|
||||||
@ -524,12 +521,12 @@ s32 EnMaYts_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f*
|
|||||||
void EnMaYts_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
|
void EnMaYts_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx) {
|
||||||
EnMaYts* this = THIS;
|
EnMaYts* this = THIS;
|
||||||
|
|
||||||
if (limbIndex == MA1_LIMB_HEAD) {
|
if (limbIndex == ROMANI_LIMB_HEAD) {
|
||||||
Matrix_MultZero(&this->actor.focus.pos);
|
Matrix_MultZero(&this->actor.focus.pos);
|
||||||
} else if (limbIndex == MA1_LIMB_HAND_LEFT) {
|
} else if (limbIndex == ROMANI_LIMB_LEFT_HAND) {
|
||||||
if (this->hasBow == true) {
|
if (this->hasBow == true) {
|
||||||
OPEN_DISPS(play->state.gfxCtx);
|
OPEN_DISPS(play->state.gfxCtx);
|
||||||
gSPDisplayList(POLY_OPA_DISP++, object_ma1_DL_0003B0);
|
gSPDisplayList(POLY_OPA_DISP++, gRomaniBowDL);
|
||||||
CLOSE_DISPS(play->state.gfxCtx);
|
CLOSE_DISPS(play->state.gfxCtx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -556,7 +553,7 @@ void EnMaYts_DrawSleeping(Actor* thisx, PlayState* play) {
|
|||||||
func_8012C28C(play->state.gfxCtx);
|
func_8012C28C(play->state.gfxCtx);
|
||||||
|
|
||||||
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||||
gSPDisplayList(POLY_OPA_DISP++, object_ma1_DL_0043A0);
|
gSPDisplayList(POLY_OPA_DISP++, gRomaniSleepingDL);
|
||||||
|
|
||||||
CLOSE_DISPS(play->state.gfxCtx);
|
CLOSE_DISPS(play->state.gfxCtx);
|
||||||
}
|
}
|
||||||
|
@ -2,38 +2,12 @@
|
|||||||
#define Z_EN_MA_YTS_H
|
#define Z_EN_MA_YTS_H
|
||||||
|
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
#include "objects/object_ma1/object_ma1.h"
|
||||||
|
|
||||||
struct EnMaYts;
|
struct EnMaYts;
|
||||||
|
|
||||||
typedef void (*EnMaYtsActionFunc)(struct EnMaYts*, PlayState*);
|
typedef void (*EnMaYtsActionFunc)(struct EnMaYts*, PlayState*);
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
/* 00 */ MA1_LIMB_NONE,
|
|
||||||
/* 01 */ MA1_LIMB_ROOT,
|
|
||||||
/* 02 */ MA1_LIMB_PELVIS,
|
|
||||||
/* 03 */ MA1_LIMB_TIGHT_LEFT,
|
|
||||||
/* 04 */ MA1_LIMB_LEG_LEFT,
|
|
||||||
/* 05 */ MA1_LIMB_FOOT_LEFT,
|
|
||||||
/* 06 */ MA1_LIMB_TIGHT_RIGHT,
|
|
||||||
/* 07 */ MA1_LIMB_LEG_RIGHT,
|
|
||||||
/* 08 */ MA1_LIMB_FOOT_RIGHT,
|
|
||||||
/* 09 */ MA1_LIMB_DRESS_0,
|
|
||||||
/* 00 */ MA1_LIMB_DRESS_1,
|
|
||||||
/* 11 */ MA1_LIMB_DRESS_2,
|
|
||||||
/* 12 */ MA1_LIMB_DRESS_3,
|
|
||||||
/* 13 */ MA1_LIMB_TORSO,
|
|
||||||
/* 14 */ MA1_LIMB_HEAD,
|
|
||||||
/* 15 */ MA1_LIMB_HAIR_TOP,
|
|
||||||
/* 16 */ MA1_LIMB_HAIR_BOTTOM,
|
|
||||||
/* 17 */ MA1_LIMB_ARM_LEFT,
|
|
||||||
/* 18 */ MA1_LIMB_FOREARM_LEFT,
|
|
||||||
/* 19 */ MA1_LIMB_HAND_LEFT,
|
|
||||||
/* 20 */ MA1_LIMB_ARM_RIGHT,
|
|
||||||
/* 21 */ MA1_LIMB_FOREARM_RIGHT,
|
|
||||||
/* 22 */ MA1_LIMB_HAND_RIGHT,
|
|
||||||
/* 23 */ MA1_LIMB_MAX
|
|
||||||
} ObjectMa1Limbs;
|
|
||||||
|
|
||||||
typedef struct EnMaYts {
|
typedef struct EnMaYts {
|
||||||
/* 0x000 */ Actor actor;
|
/* 0x000 */ Actor actor;
|
||||||
/* 0x144 */ SkelAnime skelAnime;
|
/* 0x144 */ SkelAnime skelAnime;
|
||||||
@ -41,9 +15,9 @@ typedef struct EnMaYts {
|
|||||||
/* 0x18C */ ColliderCylinder collider;
|
/* 0x18C */ ColliderCylinder collider;
|
||||||
/* 0x1D8 */ struct_800BD888_arg1 unk_1D8;
|
/* 0x1D8 */ struct_800BD888_arg1 unk_1D8;
|
||||||
/* 0x200 */ s32 unk_200; // Set, but not used
|
/* 0x200 */ s32 unk_200; // Set, but not used
|
||||||
/* 0x204 */ Vec3s jointTable[MA1_LIMB_MAX];
|
/* 0x204 */ Vec3s jointTable[ROMANI_LIMB_MAX];
|
||||||
/* 0x28E */ char unk_28E[0x6];
|
/* 0x28E */ char unk_28E[0x6];
|
||||||
/* 0x294 */ Vec3s morphTable[MA1_LIMB_MAX];
|
/* 0x294 */ Vec3s morphTable[ROMANI_LIMB_MAX];
|
||||||
/* 0x31E */ char unk_31E[0x8];
|
/* 0x31E */ char unk_31E[0x8];
|
||||||
/* 0x326 */ s16 blinkTimer;
|
/* 0x326 */ s16 blinkTimer;
|
||||||
/* 0x328 */ s16 overrideEyeTexIndex; // If non-zero, then this index will be used instead of eyeTexIndex
|
/* 0x328 */ s16 overrideEyeTexIndex; // If non-zero, then this index will be used instead of eyeTexIndex
|
||||||
|
@ -14348,8 +14348,8 @@
|
|||||||
0x80B4E934:("D_80B4E934","UNK_TYPE4","",0x4),
|
0x80B4E934:("D_80B4E934","UNK_TYPE4","",0x4),
|
||||||
0x80B4E938:("D_80B4E938","f32","",0x4),
|
0x80B4E938:("D_80B4E938","f32","",0x4),
|
||||||
0x80B4E940:("D_80B4E940","UNK_TYPE4","",0x4),
|
0x80B4E940:("D_80B4E940","UNK_TYPE4","",0x4),
|
||||||
0x80B4E944:("D_80B4E944","UNK_TYPE4","",0x4),
|
0x80B4E944:("sRomaniEyeTextures","UNK_TYPE4","",0x4),
|
||||||
0x80B4E958:("D_80B4E958","UNK_TYPE4","",0x4),
|
0x80B4E958:("sRomaniMouthTextures","UNK_TYPE4","",0x4),
|
||||||
0x80B4E968:("D_80B4E968","UNK_TYPE1","",0x1),
|
0x80B4E968:("D_80B4E968","UNK_TYPE1","",0x1),
|
||||||
0x80B4E96C:("D_80B4E96C","UNK_TYPE4","",0x4),
|
0x80B4E96C:("D_80B4E96C","UNK_TYPE4","",0x4),
|
||||||
0x80B4E984:("D_80B4E984","UNK_TYPE4","",0x4),
|
0x80B4E984:("D_80B4E984","UNK_TYPE4","",0x4),
|
||||||
|
Loading…
Reference in New Issue
Block a user