mirror of https://github.com/zeldaret/mm.git
EnWiz (Wizrobe) OK and documented, EnWizFire (Wizrobe Magic) documented, object_wiz documented (#1054)
* Good start * Limb draw stuff OK * A ton more functions * func_80A477E8 OK * func_80A456A0 OK * func_80A460A4 OK * func_80A46990 OK * func_80A46414 OK * EnWiz_Update OK * func_80A45CD8 OK Co-authored-by: petrie911 <pmontag@PHYS-S129.iowa.uiowa.edu> * EnWiz_Draw OK * Use generated reloc and object symbols * Document object stuff related to Wizzrobe itself * Some more names * A bunch more names * Name even more stuff (sensing a pattern?) * Document damage tables and damage effects * Bunch of stuff mostly related to ghosts * Name all struct vars and functions * Fix WizFire build issue * Split up dmgFlags * Apparently it's spelled "Wizrobe" in this game * Name all assets EXCEPT the ones used by wiz_fire * Apparently, the blob is vertices * Name all remaining variables * Some function comments * (Probably) the final touches on EnWiz docs before PR * Name a ton of stuff in EnWizFire * Finish naming everything in EnWizFire * Finish documentation * Respond to Engineer's clean-up review * Respond to Anghelo's first review * Use TATL_HINT_ID enum * Enum comments for animations, and better names for some damage effects * Fix build after merging master * Respond to Elliptic's review * Define INITIAL_CUR_PLATFORM_INDEX * Drop _CUR_ from the name * Rename one of the enum values * Respond to Elliptic's WizFire review * Every switch has a default
This commit is contained in:
parent
bbc8aec36a
commit
c3c08e944c
|
|
@ -1,102 +1,148 @@
|
|||
<Root>
|
||||
<!-- Assets for Wizrobe, its platforms, and its magical attacks. -->
|
||||
<File Name="object_wiz" Segment="6">
|
||||
<Animation Name="object_wiz_Anim_0007B0" Offset="0x7B0" />
|
||||
<Texture Name="object_wiz_Tex_0007C0" OutName="tex_0007C0" Format="i4" Width="32" Height="64" Offset="0x7C0" />
|
||||
<Texture Name="object_wiz_Tex_000BC0" OutName="tex_000BC0" Format="i4" Width="32" Height="32" Offset="0xBC0" />
|
||||
<Texture Name="object_wiz_Tex_000DC0" OutName="tex_000DC0" Format="i4" Width="16" Height="16" Offset="0xDC0" />
|
||||
<DList Name="object_wiz_DL_000E70" Offset="0xE70" />
|
||||
<DList Name="object_wiz_DL_000F28" Offset="0xF28" />
|
||||
<DList Name="object_wiz_DL_000FD8" Offset="0xFD8" />
|
||||
<DList Name="object_wiz_DL_0010E0" Offset="0x10E0" />
|
||||
<DList Name="gWizzrobePlatform" Offset="0x10E8" />
|
||||
<Texture Name="object_wiz_Tex_001198" OutName="tex_001198" Format="rgba16" Width="16" Height="32" Offset="0x1198" />
|
||||
<!-- <Blob Name="object_wiz_Blob_0015A0" Size="0x10" Offset="0x15A0" /> -->
|
||||
<Collision Name="object_wiz_Colheader_001690" Offset="0x1690" />
|
||||
<DList Name="object_wiz_DL_001860" Offset="0x1860" />
|
||||
<Texture Name="object_wiz_Tex_0019F0" OutName="tex_0019F0" Format="i4" Width="32" Height="32" Offset="0x19F0" />
|
||||
<Texture Name="object_wiz_Tex_001BF0" OutName="tex_001BF0" Format="i4" Width="16" Height="32" Offset="0x1BF0" />
|
||||
<Texture Name="object_wiz_Tex_001CF0" OutName="tex_001CF0" Format="i8" Width="32" Height="32" Offset="0x1CF0" />
|
||||
<TextureAnimation Name="object_wiz_Matanimheader_00211C" Offset="0x211C" />
|
||||
<Animation Name="object_wiz_Anim_002218" Offset="0x2218" />
|
||||
<Animation Name="object_wiz_Anim_002458" Offset="0x2458" />
|
||||
<Animation Name="object_wiz_Anim_0025F0" Offset="0x25F0" />
|
||||
<DList Name="object_wiz_DL_002630" Offset="0x2630" />
|
||||
<Texture Name="object_wiz_Tex_002700" OutName="tex_002700" Format="i4" Width="32" Height="32" Offset="0x2700" />
|
||||
<Texture Name="object_wiz_Tex_002900" OutName="tex_002900" Format="i4" Width="32" Height="32" Offset="0x2900" />
|
||||
<TextureAnimation Name="object_wiz_Matanimheader_002B08" Offset="0x2B08" />
|
||||
<DList Name="object_wiz_DL_002B40" Offset="0x2B40" />
|
||||
<Texture Name="object_wiz_Tex_002BD0" OutName="tex_002BD0" Format="i4" Width="32" Height="32" Offset="0x2BD0" />
|
||||
<TextureAnimation Name="object_wiz_Matanimheader_002DF4" Offset="0x2DF4" />
|
||||
<Texture Name="object_wiz_Tex_002E00" OutName="tex_002E00" Format="i4" Width="32" Height="32" Offset="0x2E00" />
|
||||
<DList Name="object_wiz_DL_003120" Offset="0x3120" />
|
||||
<Texture Name="object_wiz_Tex_0031E0" OutName="tex_0031E0" Format="i4" Width="32" Height="64" Offset="0x31E0" />
|
||||
<DList Name="object_wiz_DL_003640" Offset="0x3640" />
|
||||
<Texture Name="object_wiz_Tex_003700" OutName="tex_003700" Format="i8" Width="32" Height="32" Offset="0x3700" />
|
||||
<Texture Name="object_wiz_Tex_003B00" OutName="tex_003B00" Format="i4" Width="32" Height="64" Offset="0x3B00" />
|
||||
<DList Name="object_wiz_DL_003FC0" Offset="0x3FC0" />
|
||||
<Texture Name="object_wiz_Tex_0040B0" OutName="tex_0040B0" Format="i8" Width="64" Height="64" Offset="0x40B0" />
|
||||
<!-- <Blob Name="object_wiz_Blob_0050B0" Size="0x40" Offset="0x50B0" /> -->
|
||||
<DList Name="object_wiz_DL_005190" Offset="0x5190" />
|
||||
<Texture Name="object_wiz_Tex_005230" OutName="tex_005230" Format="i4" Width="32" Height="64" Offset="0x5230" />
|
||||
<Texture Name="object_wiz_Tex_005630" OutName="tex_005630" Format="i4" Width="16" Height="16" Offset="0x5630" />
|
||||
<DList Name="object_wiz_DL_005750" Offset="0x5750" />
|
||||
<DList Name="gWizzrobePlatformCenter" Offset="0x5870" />
|
||||
<DList Name="object_wiz_DL_005938" Offset="0x5938" />
|
||||
<Texture Name="object_wiz_Tex_005940" OutName="tex_005940" Format="i4" Width="32" Height="32" Offset="0x5940" />
|
||||
<Texture Name="object_wiz_Tex_005B40" OutName="tex_005B40" Format="i4" Width="16" Height="32" Offset="0x5B40" />
|
||||
<TextureAnimation Name="gWizzrobePlatformTexAnim" Offset="0x5C64" />
|
||||
<Animation Name="object_wiz_Anim_0060E8" Offset="0x60E8" />
|
||||
<Animation Name="object_wiz_Anim_0066C0" Offset="0x66C0" />
|
||||
<DList Name="object_wiz_DL_008640" Offset="0x8640" />
|
||||
<DList Name="object_wiz_DL_0086F0" Offset="0x86F0" />
|
||||
<DList Name="object_wiz_DL_008790" Offset="0x8790" />
|
||||
<DList Name="object_wiz_DL_008868" Offset="0x8868" />
|
||||
<DList Name="object_wiz_DL_008938" Offset="0x8938" />
|
||||
<DList Name="object_wiz_DL_0089D8" Offset="0x89D8" />
|
||||
<DList Name="object_wiz_DL_008AB0" Offset="0x8AB0" />
|
||||
<DList Name="object_wiz_DL_008B80" Offset="0x8B80" />
|
||||
<DList Name="object_wiz_DL_008C10" Offset="0x8C10" />
|
||||
<DList Name="object_wiz_DL_008CE8" Offset="0x8CE8" />
|
||||
<DList Name="object_wiz_DL_008F18" Offset="0x8F18" />
|
||||
<DList Name="object_wiz_DL_0091D8" Offset="0x91D8" />
|
||||
<DList Name="object_wiz_DL_009560" Offset="0x9560" />
|
||||
<DList Name="object_wiz_DL_009608" Offset="0x9608" />
|
||||
<DList Name="object_wiz_DL_0096E0" Offset="0x96E0" />
|
||||
<DList Name="object_wiz_DL_0097B8" Offset="0x97B8" />
|
||||
<DList Name="object_wiz_DL_009918" Offset="0x9918" />
|
||||
<DList Name="object_wiz_DL_0099C0" Offset="0x99C0" />
|
||||
<DList Name="object_wiz_DL_009A98" Offset="0x9A98" />
|
||||
<Texture Name="object_wiz_Tex_009B70" OutName="tex_009B70" Format="rgba16" Width="8" Height="8" Offset="0x9B70" />
|
||||
<Texture Name="object_wiz_Tex_009BF0" OutName="tex_009BF0" Format="rgba16" Width="32" Height="32" Offset="0x9BF0" />
|
||||
<Texture Name="object_wiz_Tex_00A3F0" OutName="tex_00A3F0" Format="rgba16" Width="8" Height="16" Offset="0xA3F0" />
|
||||
<Texture Name="object_wiz_Tex_00A4F0" OutName="tex_00A4F0" Format="rgba16" Width="16" Height="16" Offset="0xA4F0" />
|
||||
<Texture Name="object_wiz_Tex_00A6F0" OutName="tex_00A6F0" Format="rgba16" Width="16" Height="16" Offset="0xA6F0" />
|
||||
<Texture Name="object_wiz_Tex_00A8F0" OutName="tex_00A8F0" Format="rgba16" Width="8" Height="8" Offset="0xA8F0" />
|
||||
<Texture Name="object_wiz_Tex_00A970" OutName="tex_00A970" Format="rgba16" Width="8" Height="16" Offset="0xA970" />
|
||||
<Texture Name="object_wiz_Tex_00AA70" OutName="tex_00AA70" Format="rgba16" Width="16" Height="4" Offset="0xAA70" />
|
||||
<Texture Name="object_wiz_Tex_00AAF0" OutName="tex_00AAF0" Format="rgba16" Width="16" Height="16" Offset="0xAAF0" />
|
||||
<Texture Name="object_wiz_Tex_00ACF0" OutName="tex_00ACF0" Format="rgba16" Width="16" Height="16" Offset="0xACF0" />
|
||||
<Texture Name="object_wiz_Tex_00AEF0" OutName="tex_00AEF0" Format="rgba16" Width="16" Height="16" Offset="0xAEF0" />
|
||||
<Texture Name="object_wiz_Tex_00B0F0" OutName="tex_00B0F0" Format="rgba16" Width="16" Height="8" Offset="0xB0F0" />
|
||||
<Limb Name="object_wiz_Standardlimb_00B1F0" Type="Standard" EnumName="OBJECT_WIZ_LIMB_01" Offset="0xB1F0" />
|
||||
<Limb Name="object_wiz_Standardlimb_00B1FC" Type="Standard" EnumName="OBJECT_WIZ_LIMB_02" Offset="0xB1FC" />
|
||||
<Limb Name="object_wiz_Standardlimb_00B208" Type="Standard" EnumName="OBJECT_WIZ_LIMB_03" Offset="0xB208" />
|
||||
<Limb Name="object_wiz_Standardlimb_00B214" Type="Standard" EnumName="OBJECT_WIZ_LIMB_04" Offset="0xB214" />
|
||||
<Limb Name="object_wiz_Standardlimb_00B220" Type="Standard" EnumName="OBJECT_WIZ_LIMB_05" Offset="0xB220" />
|
||||
<Limb Name="object_wiz_Standardlimb_00B22C" Type="Standard" EnumName="OBJECT_WIZ_LIMB_06" Offset="0xB22C" />
|
||||
<Limb Name="object_wiz_Standardlimb_00B238" Type="Standard" EnumName="OBJECT_WIZ_LIMB_07" Offset="0xB238" />
|
||||
<Limb Name="object_wiz_Standardlimb_00B244" Type="Standard" EnumName="OBJECT_WIZ_LIMB_08" Offset="0xB244" />
|
||||
<Limb Name="object_wiz_Standardlimb_00B250" Type="Standard" EnumName="OBJECT_WIZ_LIMB_09" Offset="0xB250" />
|
||||
<Limb Name="object_wiz_Standardlimb_00B25C" Type="Standard" EnumName="OBJECT_WIZ_LIMB_0A" Offset="0xB25C" />
|
||||
<Limb Name="object_wiz_Standardlimb_00B268" Type="Standard" EnumName="OBJECT_WIZ_LIMB_0B" Offset="0xB268" />
|
||||
<Limb Name="object_wiz_Standardlimb_00B274" Type="Standard" EnumName="OBJECT_WIZ_LIMB_0C" Offset="0xB274" />
|
||||
<Limb Name="object_wiz_Standardlimb_00B280" Type="Standard" EnumName="OBJECT_WIZ_LIMB_0D" Offset="0xB280" />
|
||||
<Limb Name="object_wiz_Standardlimb_00B28C" Type="Standard" EnumName="OBJECT_WIZ_LIMB_0E" Offset="0xB28C" />
|
||||
<Limb Name="object_wiz_Standardlimb_00B298" Type="Standard" EnumName="OBJECT_WIZ_LIMB_0F" Offset="0xB298" />
|
||||
<Limb Name="object_wiz_Standardlimb_00B2A4" Type="Standard" EnumName="OBJECT_WIZ_LIMB_10" Offset="0xB2A4" />
|
||||
<Limb Name="object_wiz_Standardlimb_00B2B0" Type="Standard" EnumName="OBJECT_WIZ_LIMB_11" Offset="0xB2B0" />
|
||||
<Limb Name="object_wiz_Standardlimb_00B2BC" Type="Standard" EnumName="OBJECT_WIZ_LIMB_12" Offset="0xB2BC" />
|
||||
<Limb Name="object_wiz_Standardlimb_00B2C8" Type="Standard" EnumName="OBJECT_WIZ_LIMB_13" Offset="0xB2C8" />
|
||||
<Skeleton Name="object_wiz_Skel_00B320" Type="Flex" LimbType="Standard" LimbNone="OBJECT_WIZ_LIMB_NONE" LimbMax="OBJECT_WIZ_LIMB_MAX" EnumName="ObjectWizLimb" Offset="0xB320" />
|
||||
<!-- Wizrobe Animation -->
|
||||
<Animation Name="gWizrobeAttackAnim" Offset="0x7B0" /> <!-- Original name is "wiz_atack" -->
|
||||
|
||||
<!-- Assets for the smoke that rises from the ice pool -->
|
||||
<Texture Name="gWizrobeIceSmokeTex" OutName="wizrobe_ice_smoke" Format="i4" Width="32" Height="64" Offset="0x7C0" />
|
||||
<Texture Name="gWizrobeIceSmokeMaskTex" OutName="wizrobe_ice_smoke_mask" Format="i4" Width="32" Height="32" Offset="0xBC0" />
|
||||
<Texture Name="gWizrobeUnusedTex" OutName="wizrobe_unused" Format="i4" Width="16" Height="16" Offset="0xDC0" />
|
||||
<DList Name="gWizrobeIceSmokeMaterialDL" Offset="0xE70" />
|
||||
<DList Name="gWizrobeUnusedIceSmokeMaterialDL" Offset="0xF28" />
|
||||
<DList Name="gWizrobeIceSmokeModelDL" Offset="0xFD8" /> <!-- Original name might have been "wiz_coolball_modelT" or "wiz_icesmoke" -->
|
||||
|
||||
<!-- Assets for the Wizrobe platform -->
|
||||
<DList Name="gWizrobePlatformEmptyDL" Offset="0x10E0" /> <!-- Empty, probably was the transparent version of the following DL -->
|
||||
<DList Name="gWizrobePlatformDL" Offset="0x10E8" /> <!-- Original name is "wiz_daiza_model" ("pedestal") -->
|
||||
<Texture Name="gWizrobePlatformTex" OutName="wizrobe_platform" Format="rgba16" Width="16" Height="32" Offset="0x1198" />
|
||||
<TextureAnimation Name="gWizrobePlatformEmptyTexAnim" Offset="0x15A0" />
|
||||
<Collision Name="gWizrobePlatformCol" Offset="0x1690" />
|
||||
|
||||
<!-- Assets for the light that appears from the platform when the Wizrobe appears -->
|
||||
<DList Name="gWizrobePlatformLightDL" Offset="0x1860" /> <!-- Original name is "wiz_daizalight_model" -->
|
||||
<Texture Name="gWizrobePlatformLightMaskTex" OutName="wizrobe_platform_light_mask" Format="i4" Width="32" Height="32" Offset="0x19F0" />
|
||||
<Texture Name="gWizrobePlatformLightBaseTex" OutName="wizrobe_platform_light_base" Format="i4" Width="16" Height="32" Offset="0x1BF0" />
|
||||
<Texture Name="gWizrobePlatformLightRaysTex" OutName="wizrobe_platform_light_rays" Format="i8" Width="32" Height="32" Offset="0x1CF0" />
|
||||
<TextureAnimation Name="gWizrobePlatformLightTexAnim" Offset="0x211C" />
|
||||
|
||||
<!-- Wizrobe Animations -->
|
||||
<Animation Name="gWizrobeDamageAnim" Offset="0x2218" /> <!-- Original name is "wiz_damage" -->
|
||||
<Animation Name="gWizrobeDanceAnim" Offset="0x2458" /> <!-- Original name is "wiz_dance" -->
|
||||
<Animation Name="gWizrobeRunAnim" Offset="0x25F0" /> <!-- Original name is "wiz_dash" -->
|
||||
|
||||
<!-- Assets for the small flames during the Fire Wizrobe fight -->
|
||||
<DList Name="gWizrobeSmallFlameDL" Offset="0x2630" /> <!-- Original name is "wiz_fire_model" -->
|
||||
<Texture Name="gWizrobeSmallFlameTex" OutName="wizrobe_small_flame" Format="i4" Width="32" Height="32" Offset="0x2700" />
|
||||
<Texture Name="gWizrobeSmallFlameMaskTex" OutName="wizrobe_small_flame_mask" Format="i4" Width="32" Height="32" Offset="0x2900" />
|
||||
|
||||
<!-- An unused texture animation that scrolls textures. It works okay with the small flames, so that was likely its original purpose. -->
|
||||
<TextureAnimation Name="gWizrobeUnusedScrollTexAnim" Offset="0x2B08" />
|
||||
|
||||
<!-- Assets for the Wizrobe's magic projectile -->
|
||||
<DList Name="gWizrobeMagicProjectileDL" Offset="0x2B40" /> <!-- Original name is "wiz_fireball_model" -->
|
||||
<Texture Name="gWizrobeMagicProjectileTex" OutName="wizrobe_magic_projectile" Format="i4" Width="32" Height="32" Offset="0x2BD0" />
|
||||
|
||||
<!-- An unused texture animation that changes. Based on its placement, it may have been originally used with the magic projectile. -->
|
||||
<TextureAnimation Name="gWizrobeUnusedColorChangingTexAnim" Offset="0x2DF4" />
|
||||
|
||||
<!-- Assets for the pool of fire that forms when the Fire Wizrobe's projectile hits something -->
|
||||
<Texture Name="gWizrobeFirePoolTex" OutName="wizrobe_fire_pool" Format="i4" Width="32" Height="32" Offset="0x2E00" />
|
||||
<DList Name="gWizrobeFirePoolDL" Offset="0x3120" /> <!-- Original name is "wiz_firefloor_modelT" -->
|
||||
|
||||
<!-- Assets for the smoke that comes off the Fire Wizrobe's fire -->
|
||||
<Texture Name="gWizrobeFireSmokeTex" OutName="wizrobe_fire_smoke" Format="i4" Width="32" Height="64" Offset="0x31E0" />
|
||||
<DList Name="gWizrobeFireSmokeDL" Offset="0x3640" /> <!-- Original name is "wiz_firesmoke_modelT" -->
|
||||
|
||||
<!-- Assets for the big flame during the Fire Wizrobe fight-->
|
||||
<Texture Name="gWizrobeBigFlameTex" OutName="wizrobe_big_flame" Format="i8" Width="32" Height="32" Offset="0x3700" />
|
||||
<Texture Name="gWizrobeBigFlameMaskTex" OutName="wizrobe_big_flame_mask" Format="i4" Width="32" Height="64" Offset="0x3B00" />
|
||||
<DList Name="gWizrobeBigFlameDL" Offset="0x3FC0" /> <!-- Original name is "wiz_firewall_modelT" -->
|
||||
|
||||
<!-- Texture for the ice pool -->
|
||||
<Texture Name="gWizrobeIcePoolTex" OutName="wizrobe_ice_pool" Format="i8" Width="64" Height="64" Offset="0x40B0" />
|
||||
|
||||
<!-- Unused vertices. Based on its placement, this may have been originally used with the ice pool. -->
|
||||
<Array Name="gWizrobeUnusedVtx" Count="4" Offset="0x50B0">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
|
||||
<!-- DisplayList for the ice pool -->
|
||||
<DList Name="gWizrobeIcePoolDL" Offset="0x5190" /> <!-- Original name is "wiz_icefloor03_modelT" -->
|
||||
|
||||
<!-- Assets for the gleam on top of the ice pool-->
|
||||
<Texture Name="gWizrobeIcePoolShineTex" OutName="wizrobe_ice_pool_shine" Format="i4" Width="32" Height="64" Offset="0x5230" />
|
||||
<Texture Name="gWizrobeIcePoolShineMaskTex" OutName="wizrobe_ice_pool_shine_mask" Format="i4" Width="16" Height="16" Offset="0x5630" />
|
||||
<DList Name="gWizrobeIcePoolShineDL" Offset="0x5750" /> <!-- Original name is "wiz_icefloor03_pika_modelT" ("pika" = onomatopoeic for "sparkle, glisten") -->
|
||||
|
||||
<!-- Assets for the glowing light in the center of the Wizrobe platform -->
|
||||
<DList Name="gWizrobePlatformCenterDL" Offset="0x5870" /> <!-- Original name is "wiz_lighthole_modelT" -->
|
||||
<DList Name="gWizrobePlatformCenterEmptyDL" Offset="0x5938" /> <!-- Empty, was probably the opaque version of the previous DL -->
|
||||
<Texture Name="gWizrobePlatformCenterMaskTex" OutName="wizrobe_platform_center_mask" Format="i4" Width="32" Height="32" Offset="0x5940" />
|
||||
<Texture Name="gWizrobePlatformCenterTex" OutName="wizrobe_platform_center" Format="i4" Width="16" Height="32" Offset="0x5B40" />
|
||||
<TextureAnimation Name="gWizrobePlatformCenterTexAnim" Offset="0x5C64" />
|
||||
|
||||
<!-- Wizrobe Animations -->
|
||||
<Animation Name="gWizrobeWindUpAnim" Offset="0x60E8" /> <!-- Original name is "wiz_preatack" -->
|
||||
<Animation Name="gWizrobeIdleAnim" Offset="0x66C0" /> <!-- Original name is "wiz_wait" -->
|
||||
|
||||
<!-- Wizrobe Limb DisplayLists -->
|
||||
<DList Name="gWizrobePelvisDL" Offset="0x8640" />
|
||||
<DList Name="gWizrobeRightThighDL" Offset="0x86F0" />
|
||||
<DList Name="gWizrobeRightShinDL" Offset="0x8790" />
|
||||
<DList Name="gWizrobeRightFootDL" Offset="0x8868" />
|
||||
<DList Name="gWizrobeLeftThighDL" Offset="0x8938" />
|
||||
<DList Name="gWizrobeLeftShinDL" Offset="0x89D8" />
|
||||
<DList Name="gWizrobeLeftFootDL" Offset="0x8AB0" />
|
||||
<DList Name="gWizrobeLoinclothDL" Offset="0x8B80" />
|
||||
<DList Name="gWizrobeTorsoDL" Offset="0x8C10" />
|
||||
<DList Name="gWizrobeNeckDL" Offset="0x8CE8" /> <!-- Also includes the nose and ears for some reason. -->
|
||||
<DList Name="gWizrobeJawDL" Offset="0x8F18" />
|
||||
<DList Name="gWizrobeHeadDL" Offset="0x91D8" />
|
||||
<DList Name="gWizrobeRightUpperArmDL" Offset="0x9560" />
|
||||
<DList Name="gWizrobeRightForearmDL" Offset="0x9608" />
|
||||
<DList Name="gWizrobeRightHandDL" Offset="0x96E0" />
|
||||
<DList Name="gWizrobeStaffDL" Offset="0x97B8" />
|
||||
<DList Name="gWizrobeLeftUpperArmDL" Offset="0x9918" />
|
||||
<DList Name="gWizrobeLeftForearmDL" Offset="0x99C0" />
|
||||
<DList Name="gWizrobeLeftHandDL" Offset="0x9A98" />
|
||||
|
||||
<!-- Wizrobe Textures -->
|
||||
<Texture Name="gWizrobeFaceSkinTex" OutName="wizrobe_face_skin" Format="rgba16" Width="8" Height="8" Offset="0x9B70" />
|
||||
<Texture Name="gWizrobeRobeTex" OutName="wizrobe_robe" Format="rgba16" Width="32" Height="32" Offset="0x9BF0" />
|
||||
<Texture Name="gWizrobeHairTex" OutName="wizrobe_hair" Format="rgba16" Width="8" Height="16" Offset="0xA3F0" />
|
||||
<Texture Name="gWizrobeEyeOrbitTex" OutName="wizrobe_eye_orbit" Format="rgba16" Width="16" Height="16" Offset="0xA4F0" />
|
||||
<Texture Name="gWizrobeEyeTex" OutName="wizrobe_eye" Format="rgba16" Width="16" Height="16" Offset="0xA6F0" />
|
||||
<Texture Name="gWizrobeLowerLipTex" OutName="wizrobe_lower_lip" Format="rgba16" Width="8" Height="8" Offset="0xA8F0" />
|
||||
<Texture Name="gWizrobeNoseTex" OutName="wizrobe_nose" Format="rgba16" Width="8" Height="16" Offset="0xA970" />
|
||||
<Texture Name="gWizrobeEarTex" OutName="wizrobe_ear" Format="rgba16" Width="16" Height="4" Offset="0xAA70" />
|
||||
<Texture Name="gWizrobeStaffTipTex" OutName="wizrobe_staff_tip" Format="rgba16" Width="16" Height="16" Offset="0xAAF0" />
|
||||
<Texture Name="gWizrobeStaffTex" OutName="wizrobe_staff" Format="rgba16" Width="16" Height="16" Offset="0xACF0" />
|
||||
<Texture Name="gWizrobeBandTex" OutName="wizrobe_band" Format="rgba16" Width="16" Height="16" Offset="0xAEF0" />
|
||||
<Texture Name="gWizrobeFootTex" OutName="wizrobe_foot" Format="rgba16" Width="16" Height="8" Offset="0xB0F0" />
|
||||
|
||||
<!-- Wizrobe Limbs -->
|
||||
<Limb Name="gWizrobePelvisLimb" Type="Standard" EnumName="WIZROBE_LIMB_PELVIS" Offset="0xB1F0" />
|
||||
<Limb Name="gWizrobeTorsoLimb" Type="Standard" EnumName="WIZROBE_LIMB_TORSO" Offset="0xB1FC" />
|
||||
<Limb Name="gWizrobeLeftUpperArmLimb" Type="Standard" EnumName="WIZROBE_LIMB_LEFT_UPPER_ARM" Offset="0xB208" />
|
||||
<Limb Name="gWizrobeLeftForearmLimb" Type="Standard" EnumName="WIZROBE_LIMB_LEFT_FOREARM" Offset="0xB214" />
|
||||
<Limb Name="gWizrobeLeftHandLimb" Type="Standard" EnumName="WIZROBE_LIMB_LEFT_HAND" Offset="0xB220" />
|
||||
<Limb Name="gWizrobeRightUpperArmLimb" Type="Standard" EnumName="WIZROBE_LIMB_RIGHT_UPPER_ARM" Offset="0xB22C" />
|
||||
<Limb Name="gWizrobeRightForearmLimb" Type="Standard" EnumName="WIZROBE_LIMB_RIGHT_FOREARM" Offset="0xB238" />
|
||||
<Limb Name="gWizrobeRightHandLimb" Type="Standard" EnumName="WIZROBE_LIMB_RIGHT_HAND" Offset="0xB244" />
|
||||
<Limb Name="gWizrobeStaffLimb" Type="Standard" EnumName="WIZROBE_LIMB_STAFF" Offset="0xB250" />
|
||||
<Limb Name="gWizrobeNeckLimb" Type="Standard" EnumName="WIZROBE_LIMB_NECK" Offset="0xB25C" />
|
||||
<Limb Name="gWizrobeHeadLimb" Type="Standard" EnumName="WIZROBE_LIMB_HEAD" Offset="0xB268" />
|
||||
<Limb Name="gWizrobeJawLimb" Type="Standard" EnumName="WIZROBE_LIMB_JAW" Offset="0xB274" />
|
||||
<Limb Name="gWizrobeLoinclothLimb" Type="Standard" EnumName="WIZROBE_LIMB_LOINCLOTH" Offset="0xB280" />
|
||||
<Limb Name="gWizrobeLeftThighLimb" Type="Standard" EnumName="WIZROBE_LIMB_LEFT_THIGH" Offset="0xB28C" />
|
||||
<Limb Name="gWizrobeLeftShinLimb" Type="Standard" EnumName="WIZROBE_LIMB_LEFT_SHIN" Offset="0xB298" />
|
||||
<Limb Name="gWizrobeLeftFootLimb" Type="Standard" EnumName="WIZROBE_LIMB_LEFT_FOOT" Offset="0xB2A4" />
|
||||
<Limb Name="gWizrobeRightThighLimb" Type="Standard" EnumName="WIZROBE_LIMB_RIGHT_THIGH" Offset="0xB2B0" />
|
||||
<Limb Name="gWizrobeRightShinLimb" Type="Standard" EnumName="WIZROBE_LIMB_RIGHT_SHIN" Offset="0xB2BC" />
|
||||
<Limb Name="gWizrobeRightFootLimb" Type="Standard" EnumName="WIZROBE_LIMB_RIGHT_FOOT" Offset="0xB2C8" />
|
||||
|
||||
<!-- Wizrobe Skeleton -->
|
||||
<Skeleton Name="gWizrobeSkel" Type="Flex" LimbType="Standard" LimbNone="WIZROBE_LIMB_NONE" LimbMax="WIZROBE_LIMB_MAX" EnumName="WizrobeLimb" Offset="0xB320" />
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
|||
3
spec
3
spec
|
|
@ -2715,8 +2715,7 @@ beginseg
|
|||
name "ovl_En_Wiz"
|
||||
compress
|
||||
include "build/src/overlays/actors/ovl_En_Wiz/z_en_wiz.o"
|
||||
include "build/data/ovl_En_Wiz/ovl_En_Wiz.data.o"
|
||||
include "build/data/ovl_En_Wiz/ovl_En_Wiz.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Wiz/ovl_En_Wiz_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
|||
|
|
@ -241,10 +241,10 @@ void EnFz_Destroy(Actor* thisx, PlayState* play) {
|
|||
Collider_DestroyCylinder(play, &this->collider3);
|
||||
|
||||
if ((this->actor.parent != NULL) && (this->unk_BC4 == 0) && (this->actor.parent->id == ACTOR_EN_WIZ) &&
|
||||
(this->actor.parent->update != NULL) && (((EnWiz*)this->actor.parent)->unk_448 != 0)) {
|
||||
(this->actor.parent->update != NULL) && (((EnWiz*)this->actor.parent)->freezard != NULL)) {
|
||||
EnWiz* wiz = (EnWiz*)this->actor.parent;
|
||||
|
||||
wiz->unk_448 = 0;
|
||||
wiz->freezard = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -2,6 +2,16 @@
|
|||
#define Z_EN_WIZ_H
|
||||
|
||||
#include "global.h"
|
||||
#include "objects/object_wiz/object_wiz.h"
|
||||
|
||||
#define EN_WIZ_GET_SWITCHFLAG(thisx) ((thisx)->params & 0x7F)
|
||||
#define EN_WIZ_GET_TYPE(thisx) (((thisx)->params >> 8) & 0xFF)
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ EN_WIZ_TYPE_FIRE,
|
||||
/* 1 */ EN_WIZ_TYPE_ICE,
|
||||
/* 2 */ EN_WIZ_TYPE_FIRE_NO_BGM, // does not request the mini-boss BGM
|
||||
} EnWizType;
|
||||
|
||||
struct EnWiz;
|
||||
|
||||
|
|
@ -9,15 +19,62 @@ typedef void (*EnWizActionFunc)(struct EnWiz*, PlayState*);
|
|||
|
||||
typedef struct EnWiz {
|
||||
/* 0x000 */ Actor actor;
|
||||
/* 0x144 */ char unk_144[0x268];
|
||||
/* 0x144 */ SkelAnime skelAnime;
|
||||
/* 0x188 */ Vec3s jointTable[WIZROBE_LIMB_MAX];
|
||||
/* 0x200 */ Vec3s morphTable[WIZROBE_LIMB_MAX];
|
||||
/* 0x278 */ SkelAnime ghostSkelAnime;
|
||||
/* 0x2BC */ Vec3s ghostBaseJointTable[WIZROBE_LIMB_MAX];
|
||||
/* 0x334 */ Vec3s ghostMorphTable[WIZROBE_LIMB_MAX];
|
||||
/* 0x3AC */ EnWizActionFunc actionFunc;
|
||||
/* 0x3B0 */ char unk_3B0[0xA];
|
||||
/* 0x3BA */ s16 unk_3BA;
|
||||
/* 0x3BC */ char unk_3BC[0x8C];
|
||||
/* 0x448 */ s32 unk_448;
|
||||
/* 0x44C */ char unk_44C[0x2FE];
|
||||
/* 0x74A */ s16 unk_74A;
|
||||
/* 0x74C */ char unk_74C[0x634];
|
||||
/* 0x3B0 */ s16 action;
|
||||
/* 0x3B2 */ s16 timer;
|
||||
/* 0x3B4 */ s16 introCutsceneTimer;
|
||||
/* 0x3B6 */ s16 fightState;
|
||||
/* 0x3B8 */ s16 staffFlameScroll;
|
||||
/* 0x3BA */ s16 hasActiveProjectile;
|
||||
/* 0x3BC */ s16 hasRunToEveryPlatform; // used for the second phase cutscene to make sure the Wizrobe visits every platform
|
||||
/* 0x3BE */ s16 unk_3BE; // unused, inferred from surrounding members
|
||||
/* 0x3C0 */ s16 rotationalVelocity;
|
||||
/* 0x3C2 */ s16 alpha;
|
||||
/* 0x3C4 */ s16 platformLightAlpha;
|
||||
/* 0x3C6 */ s16 targetPlatformLightAlpha;
|
||||
/* 0x3C8 */ s16 introCutsceneCameraAngle;
|
||||
/* 0x3CA */ u8 shouldStartTimer;
|
||||
/* 0x3CB */ u8 introCutsceneState;
|
||||
/* 0x3CC */ s32 musicStartTimer;
|
||||
/* 0x3D0 */ f32 endFrame;
|
||||
/* 0x3D4 */ f32 scale;
|
||||
/* 0x3D8 */ Vec3f staffFlamePos;
|
||||
/* 0x3E4 */ Vec3f staffFlameScale;
|
||||
/* 0x3F0 */ Vec3f staffTargetFlameScale;
|
||||
/* 0x3FC */ Vec3f unk_3FC; // unused, inferred from surrounding members
|
||||
/* 0x408 */ Vec3f unk_408; // unused, inferred from surrounding members
|
||||
/* 0x414 */ Vec3f platformLightPos;
|
||||
/* 0x420 */ Actor* platforms[10];
|
||||
/* 0x448 */ Actor* freezard;
|
||||
/* 0x44C */ s16 animLoopCounter;
|
||||
/* 0x450 */ f32 unk_450; // set to 1.0f, but never used
|
||||
/* 0x454 */ ColliderJntSph ghostColliders;
|
||||
/* 0x474 */ ColliderJntSphElement ghostColliderElements[10];
|
||||
/* 0x6F4 */ ColliderCylinder collider;
|
||||
/* 0x740 */ s32 platformCount;
|
||||
/* 0x744 */ s32 nextPlatformIndex; // used for the second phase cutscene to dictate where the Wizrobe should run to next
|
||||
/* 0x748 */ s16 curPlatformIndex;
|
||||
/* 0x74A */ s16 type;
|
||||
/* 0x74C */ s16 switchFlag;
|
||||
/* 0x74E */ s16 subCamId;
|
||||
/* 0x750 */ s16 isDead;
|
||||
/* 0x752 */ s16 drawDmgEffTimer;
|
||||
/* 0x754 */ s16 drawDmgEffType;
|
||||
/* 0x758 */ f32 drawDmgEffScale;
|
||||
/* 0x75C */ f32 drawDmgEffFrozenSteamScale;
|
||||
/* 0x760 */ Vec3f bodyPartsPos[12];
|
||||
/* 0x7F0 */ s16 bodyPartsPosIndex;
|
||||
/* 0x7F2 */ s16 ghostAlpha[10];
|
||||
/* 0x806 */ s16 ghostNextPlatformIndex[10];
|
||||
/* 0x81C */ Vec3f ghostPos[10];
|
||||
/* 0x894 */ Vec3s ghostRot[10];
|
||||
/* 0x8D0 */ Vec3s ghostJointTables[10][WIZROBE_LIMB_MAX];
|
||||
} EnWiz; // size = 0xD80
|
||||
|
||||
extern const ActorInit En_Wiz_InitVars;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* File: z_en_wiz_brock.c
|
||||
* Overlay: ovl_En_Wiz_Brock
|
||||
* Description: Wizzrobe Warp Platform
|
||||
* Description: Wizrobe Warp Platform
|
||||
*/
|
||||
|
||||
#include "z_en_wiz_brock.h"
|
||||
|
|
@ -11,13 +11,6 @@
|
|||
|
||||
#define THIS ((EnWizBrock*)thisx)
|
||||
|
||||
typedef enum {
|
||||
PLATFORM_TYPE_INACTIVE,
|
||||
PLATFORM_TYPE_FIRE,
|
||||
PLATFORM_TYPE_ICE,
|
||||
PLATFORM_TYPE_MAX,
|
||||
} PlatformType;
|
||||
|
||||
void EnWizBrock_Init(Actor* thisx, PlayState* play);
|
||||
void EnWizBrock_Destroy(Actor* thisx, PlayState* play);
|
||||
void EnWizBrock_Update(Actor* thisx, PlayState* play);
|
||||
|
|
@ -26,7 +19,7 @@ void EnWizBrock_Draw(Actor* thisx, PlayState* play);
|
|||
void EnWizBrock_SetupUpdateStatus(EnWizBrock* this, PlayState* play);
|
||||
void EnWizBrock_UpdateStatus(EnWizBrock* this, PlayState* play);
|
||||
|
||||
s16 platformCount = 0;
|
||||
s16 sPlatformIndex = 0;
|
||||
|
||||
const ActorInit En_Wiz_Brock_InitVars = {
|
||||
ACTOR_EN_WIZ_BROCK,
|
||||
|
|
@ -45,13 +38,13 @@ void EnWizBrock_Init(Actor* thisx, PlayState* play) {
|
|||
CollisionHeader* colHeader = NULL;
|
||||
|
||||
DynaPolyActor_Init(&this->dyna, 0);
|
||||
CollisionHeader_GetVirtual(&object_wiz_Colheader_001690, &colHeader);
|
||||
CollisionHeader_GetVirtual(&gWizrobePlatformCol, &colHeader);
|
||||
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, colHeader);
|
||||
this->dyna.actor.colChkInfo.mass = MASS_IMMOVABLE;
|
||||
this->dyna.actor.colChkInfo.health = 3;
|
||||
this->unk_1A6 = 0;
|
||||
Actor_SetScale(&this->dyna.actor, 0.01f);
|
||||
this->platformNum = platformCount++;
|
||||
this->platformIndex = sPlatformIndex++;
|
||||
this->actionFunc = EnWizBrock_SetupUpdateStatus;
|
||||
this->dyna.actor.scale.x = this->dyna.actor.scale.y = this->dyna.actor.scale.z = 0.01f;
|
||||
this->alpha = 255.0f;
|
||||
|
|
@ -68,12 +61,12 @@ void EnWizBrock_SetupUpdateStatus(EnWizBrock* this, PlayState* play) {
|
|||
}
|
||||
|
||||
/**
|
||||
* @brief Checks the platform status, when the Wizzrobe is defeated, which triggers timer to
|
||||
* @brief Checks the platform status, when the Wizrobe is defeated, which triggers timer to
|
||||
* count up to 30 at which point the platforms are despawned.
|
||||
*/
|
||||
void EnWizBrock_UpdateStatus(EnWizBrock* this, PlayState* play) {
|
||||
if (this->platformType == PLATFORM_TYPE_INACTIVE) {
|
||||
if (this->dyna.actor.colChkInfo.health != PLATFORM_TYPE_MAX) {
|
||||
if (this->platformType == EN_WIZ_BROCK_PLATFORM_TYPE_INACTIVE) {
|
||||
if (this->dyna.actor.colChkInfo.health != EN_WIZ_BROCK_PLATFORM_TYPE_MAX) {
|
||||
this->platformType = this->dyna.actor.colChkInfo.health;
|
||||
}
|
||||
}
|
||||
|
|
@ -115,30 +108,30 @@ void EnWizBrock_Draw(Actor* thisx, PlayState* play) {
|
|||
Scene_SetRenderModeXlu(play, 0, 1);
|
||||
gDPPipeSync(POLY_OPA_DISP++);
|
||||
gDPSetEnvColor(POLY_OPA_DISP++, 255, 255, 255, 255);
|
||||
Gfx_DrawDListOpa(play, gWizzrobePlatform);
|
||||
Gfx_DrawDListOpa(play, gWizrobePlatformDL);
|
||||
|
||||
} else {
|
||||
Scene_SetRenderModeXlu(play, 1, 2);
|
||||
gDPPipeSync(POLY_XLU_DISP++);
|
||||
gDPSetEnvColor(POLY_XLU_DISP++, 255, 255, 255, (s16)this->alpha);
|
||||
Gfx_DrawDListXlu(play, gWizzrobePlatform);
|
||||
Gfx_DrawDListXlu(play, gWizrobePlatformDL);
|
||||
}
|
||||
|
||||
CLOSE_DISPS(play->state.gfxCtx);
|
||||
|
||||
if (this->platformType != PLATFORM_TYPE_INACTIVE) {
|
||||
if (this->platformType != EN_WIZ_BROCK_PLATFORM_TYPE_INACTIVE) {
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
AnimatedMat_Draw(play, Lib_SegmentedToVirtual(&gWizzrobePlatformTexAnim));
|
||||
AnimatedMat_Draw(play, Lib_SegmentedToVirtual(&gWizrobePlatformCenterTexAnim));
|
||||
gDPPipeSync(POLY_XLU_DISP++);
|
||||
gDPSetPrimColor(POLY_XLU_DISP++, 0x80, 0x80, 255, 255, 255, 255);
|
||||
if (this->platformType == PLATFORM_TYPE_FIRE) {
|
||||
if (this->platformType == EN_WIZ_BROCK_PLATFORM_TYPE_FIRE) {
|
||||
gDPSetEnvColor(POLY_XLU_DISP++, 255, 00, 100, (s16)this->alpha);
|
||||
} else {
|
||||
gDPSetEnvColor(POLY_XLU_DISP++, 50, 00, 255, (s16)this->alpha);
|
||||
}
|
||||
|
||||
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(POLY_XLU_DISP++, &gWizzrobePlatformCenter);
|
||||
gSPDisplayList(POLY_XLU_DISP++, &gWizrobePlatformCenterDL);
|
||||
|
||||
CLOSE_DISPS(play->state.gfxCtx);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,13 @@
|
|||
|
||||
#include "global.h"
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ EN_WIZ_BROCK_PLATFORM_TYPE_INACTIVE,
|
||||
/* 1 */ EN_WIZ_BROCK_PLATFORM_TYPE_FIRE,
|
||||
/* 2 */ EN_WIZ_BROCK_PLATFORM_TYPE_ICE,
|
||||
/* 3 */ EN_WIZ_BROCK_PLATFORM_TYPE_MAX,
|
||||
} EnWizBrockPlatformType;
|
||||
|
||||
struct EnWizBrock;
|
||||
|
||||
typedef void (*EnWizBrockActionFunc)(struct EnWizBrock*, PlayState*);
|
||||
|
|
@ -12,8 +19,8 @@ typedef struct EnWizBrock {
|
|||
/* 0x15C */ UNK_TYPE1 unk_15C[0x44];
|
||||
/* 0x1A0 */ EnWizBrockActionFunc actionFunc;
|
||||
/* 0x1A4 */ s16 timer; // Counter for despawing blocks (Max of 37)
|
||||
/* 0x1A6 */ s16 unk_1A6; // TODO: set but not used maybe used in wizzrobe?
|
||||
/* 0x1A8 */ s16 platformNum; // Numeric identifier for platform
|
||||
/* 0x1A6 */ s16 unk_1A6; // set to 0, but never used
|
||||
/* 0x1A8 */ s16 platformIndex; // Numeric identifier for platform
|
||||
/* 0x1AA */ s16 platformType; // Determines element type for platform (ice/fire)
|
||||
/* 0x1AC */ f32 alpha;
|
||||
} EnWizBrock; // size = 0x1B0
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -3,52 +3,65 @@
|
|||
|
||||
#include "global.h"
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ EN_WIZ_FIRE_TYPE_MAGIC_PROJECTILE,
|
||||
/* 1 */ EN_WIZ_FIRE_TYPE_ARCING_MAGIC_PROJECTILE,
|
||||
/* 2 */ EN_WIZ_FIRE_TYPE_SMALL_FLAME,
|
||||
/* 3 */ EN_WIZ_FIRE_TYPE_REFLECTED_MAGIC_PROJECTILE,
|
||||
/* 4 */ EN_WIZ_FIRE_TYPE_ICE_MAGIC_PROJECTILE
|
||||
} EnWizFireType;
|
||||
|
||||
#define EN_WIZ_FIRE_GET_TYPE(thisx) ((thisx)->params)
|
||||
|
||||
struct EnWizFire;
|
||||
|
||||
typedef void (*EnWizFireActionFunc)(struct EnWizFire*, PlayState*);
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
/* 0x01 */ u8 unk_01;
|
||||
/* 0x00 */ u8 isEnabled;
|
||||
/* 0x01 */ u8 smokeScroll;
|
||||
/* 0x02 */ UNK_TYPE1 unk02[0x4];
|
||||
/* 0x06 */ s16 unk_06;
|
||||
/* 0x08 */ s16 unk_08;
|
||||
/* 0x0A */ UNK_TYPE1 unk0A[0x2];
|
||||
/* 0x0C */ f32 unk_0C;
|
||||
/* 0x10 */ Vec3f unk_10;
|
||||
/* 0x1C */ Vec3f unk_1C;
|
||||
/* 0x28 */ Vec3f unk_28;
|
||||
} EnWizFireStruct; // size = 0x34
|
||||
/* 0x06 */ s16 alpha;
|
||||
/* 0x08 */ s16 shouldDecreaseAlpha;
|
||||
/* 0x0C */ f32 scale;
|
||||
/* 0x10 */ Vec3f pos;
|
||||
/* 0x1C */ Vec3f velocity;
|
||||
/* 0x28 */ Vec3f accel;
|
||||
} EnWizFireEffect; // size = 0x34
|
||||
|
||||
typedef struct EnWizFire {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x0144 */ EnWizFireActionFunc actionFunc;
|
||||
/* 0x0148 */ u8 unk_148;
|
||||
/* 0x014C */ f32 unk_14C;
|
||||
/* 0x0150 */ f32 unk_150;
|
||||
/* 0x0154 */ f32 unk_154;
|
||||
/* 0x0158 */ f32 unk_158;
|
||||
/* 0x015C */ f32 unk_15C;
|
||||
/* 0x0160 */ s16 unk_160;
|
||||
/* 0x0162 */ s16 unk_162;
|
||||
/* 0x0164 */ u8 unk_164;
|
||||
/* 0x0166 */ s16 unk_166;
|
||||
/* 0x0168 */ s16 unk_168;
|
||||
/* 0x016A */ s16 unk_16A;
|
||||
/* 0x016C */ s16 unk_16C;
|
||||
/* 0x016E */ s16 unk_16E;
|
||||
/* 0x0170 */ s16 unk_170;
|
||||
/* 0x0172 */ s16 unk_172;
|
||||
/* 0x0174 */ s8 unk_174;
|
||||
/* 0x0178 */ Vec3f unk_178[10];
|
||||
/* 0x01F0 */ f32 unk_1F0;
|
||||
/* 0x01F4 */ f32 unk_1F4;
|
||||
/* 0x01F8 */ f32 unk_1F8;
|
||||
/* 0x01FC */ f32 unk_1FC;
|
||||
/* 0x0200 */ f32 unk_200;
|
||||
/* 0x0204 */ f32 unk_204;
|
||||
/* 0x0148 */ u8 hitByIceArrow;
|
||||
/* 0x014C */ f32 scale;
|
||||
/* 0x0150 */ f32 targetScale;
|
||||
/* 0x0154 */ Vec3f scaleMod;
|
||||
/* 0x0160 */ s16 action;
|
||||
/* 0x0162 */ s16 type;
|
||||
/* 0x0164 */ union {
|
||||
u8 shouldPoolFadeOut;
|
||||
u8 hasSpawnedSmallFlame;
|
||||
};
|
||||
/* 0x0166 */ s16 isIceType;
|
||||
/* 0x0168 */ s16 timer;
|
||||
/* 0x016A */ union {
|
||||
s16 poolTimer;
|
||||
s16 increaseLowestUsedIndexTimer;
|
||||
};
|
||||
/* 0x016C */ s16 steamSpawnTimer;
|
||||
/* 0x016E */ s16 lowestUsedIndex;
|
||||
/* 0x0170 */ s16 smallFlameScroll;
|
||||
/* 0x0172 */ s16 wallCheckTimer; // The projectile won't check for impacts with walls until this is zero
|
||||
/* 0x0174 */ s8 playerHitByIceProjectile; // Set, but never used
|
||||
/* 0x0178 */ Vec3f magicProjectilePos[10];
|
||||
/* 0x01F0 */ f32 poolScale;
|
||||
/* 0x01F4 */ f32 bigFlameScale;
|
||||
/* 0x01F8 */ f32 fireSmokeScale;
|
||||
/* 0x01FC */ f32 alpha;
|
||||
/* 0x0200 */ f32 blendScale;
|
||||
/* 0x0204 */ f32 blendScaleFrac;
|
||||
/* 0x0208 */ ColliderCylinder collider;
|
||||
/* 0x0254 */ EnWizFireStruct unk_254[200];
|
||||
/* 0x0254 */ EnWizFireEffect effects[200];
|
||||
} EnWizFire; // size = 0x2AF4
|
||||
|
||||
extern const ActorInit En_Wiz_Fire_InitVars;
|
||||
|
|
|
|||
|
|
@ -10441,31 +10441,31 @@
|
|||
0x80A45164:("EnSekihi_Draw",),
|
||||
0x80A45360:("EnWiz_Init",),
|
||||
0x80A45568:("EnWiz_Destroy",),
|
||||
0x80A455C4:("func_80A455C4",),
|
||||
0x80A456A0:("func_80A456A0",),
|
||||
0x80A45CD8:("func_80A45CD8",),
|
||||
0x80A460A4:("func_80A460A4",),
|
||||
0x80A46280:("func_80A46280",),
|
||||
0x80A462F8:("func_80A462F8",),
|
||||
0x80A46414:("func_80A46414",),
|
||||
0x80A4668C:("func_80A4668C",),
|
||||
0x80A46764:("func_80A46764",),
|
||||
0x80A468CC:("func_80A468CC",),
|
||||
0x80A46990:("func_80A46990",),
|
||||
0x80A46C88:("func_80A46C88",),
|
||||
0x80A46CC4:("func_80A46CC4",),
|
||||
0x80A46DDC:("func_80A46DDC",),
|
||||
0x80A46E24:("func_80A46E24",),
|
||||
0x80A47000:("func_80A47000",),
|
||||
0x80A470D8:("func_80A470D8",),
|
||||
0x80A47298:("func_80A47298",),
|
||||
0x80A473B8:("func_80A473B8",),
|
||||
0x80A4767C:("func_80A4767C",),
|
||||
0x80A476C8:("func_80A476C8",),
|
||||
0x80A477E8:("func_80A477E8",),
|
||||
0x80A455C4:("EnWiz_ChangeAnim",),
|
||||
0x80A456A0:("EnWiz_HandleIntroCutscene",),
|
||||
0x80A45CD8:("EnWiz_SelectPlatform",),
|
||||
0x80A460A4:("EnWiz_MoveGhosts",),
|
||||
0x80A46280:("EnWiz_StartIntroCutscene",),
|
||||
0x80A462F8:("EnWiz_SetupAppear",),
|
||||
0x80A46414:("EnWiz_Appear",),
|
||||
0x80A4668C:("EnWiz_SetupDance",),
|
||||
0x80A46764:("EnWiz_Dance",),
|
||||
0x80A468CC:("EnWiz_SetupSecondPhaseCutscene",),
|
||||
0x80A46990:("EnWiz_SecondPhaseCutscene",),
|
||||
0x80A46C88:("EnWiz_SetupWindUp",),
|
||||
0x80A46CC4:("EnWiz_WindUp",),
|
||||
0x80A46DDC:("EnWiz_SetupAttack",),
|
||||
0x80A46E24:("EnWiz_Attack",),
|
||||
0x80A47000:("EnWiz_SetupDisappear",),
|
||||
0x80A470D8:("EnWiz_Disappear",),
|
||||
0x80A47298:("EnWiz_SetupDamaged",),
|
||||
0x80A473B8:("EnWiz_Damaged",),
|
||||
0x80A4767C:("EnWiz_SetupDead",),
|
||||
0x80A476C8:("EnWiz_Dead",),
|
||||
0x80A477E8:("EnWiz_UpdateDamage",),
|
||||
0x80A47C6C:("EnWiz_Update",),
|
||||
0x80A47FCC:("func_80A47FCC",),
|
||||
0x80A48138:("func_80A48138",),
|
||||
0x80A47FCC:("EnWiz_PostLimbDrawOpa",),
|
||||
0x80A48138:("EnWiz_PostLimbDrawXlu",),
|
||||
0x80A483B4:("EnWiz_Draw",),
|
||||
0x80A48FE0:("EnWizBrock_Init",),
|
||||
0x80A490B0:("EnWizBrock_Destroy",),
|
||||
|
|
@ -10475,20 +10475,20 @@
|
|||
0x80A49308:("EnWizBrock_Draw",),
|
||||
0x80A496A0:("EnWizFire_Init",),
|
||||
0x80A497D4:("EnWizFire_Destroy",),
|
||||
0x80A4984C:("func_80A4984C",),
|
||||
0x80A49A44:("func_80A49A44",),
|
||||
0x80A49F38:("func_80A49F38",),
|
||||
0x80A49FD8:("func_80A49FD8",),
|
||||
0x80A4A11C:("func_80A4A11C",),
|
||||
0x80A4A608:("func_80A4A608",),
|
||||
0x80A4984C:("EnWiz_SetupMoveMagicProjectile",),
|
||||
0x80A49A44:("EnWiz_MoveMagicProjectile",),
|
||||
0x80A49F38:("EnWiz_SetupSmallFlame",),
|
||||
0x80A49FD8:("EnWiz_SmallFlame",),
|
||||
0x80A4A11C:("EnWiz_Pool",),
|
||||
0x80A4A608:("EnWiz_KillMagicProjectile",),
|
||||
0x80A4A698:("EnWizFire_Update",),
|
||||
0x80A4B0C8:("func_80A4B0C8",),
|
||||
0x80A4B33C:("func_80A4B33C",),
|
||||
0x80A4B0C8:("EnWizFire_DrawIcePool",),
|
||||
0x80A4B33C:("EnWizFire_DrawFirePoolAndFlame",),
|
||||
0x80A4B804:("EnWizFire_Draw",),
|
||||
0x80A4BAB4:("func_80A4BAB4",),
|
||||
0x80A4BC74:("func_80A4BC74",),
|
||||
0x80A4BDDC:("func_80A4BDDC",),
|
||||
0x80A4BF78:("func_80A4BF78",),
|
||||
0x80A4BAB4:("EnWizFire_DrawSmallFlame",),
|
||||
0x80A4BC74:("EnWizFire_InitializeEffect",),
|
||||
0x80A4BDDC:("EnWizFire_UpdateEffects",),
|
||||
0x80A4BF78:("EnWizFire_DrawEffects",),
|
||||
0x80A4C490:("EffChange_Init",),
|
||||
0x80A4C54C:("EffChange_Destroy",),
|
||||
0x80A4C578:("EffChange_SetColors",),
|
||||
|
|
|
|||
|
|
@ -11517,18 +11517,18 @@
|
|||
0x80A452A4:("D_80A452A4","UNK_TYPE1","",0x1),
|
||||
0x80A452B0:("D_80A452B0","UNK_TYPE4","",0x4),
|
||||
0x80A48B30:("En_Wiz_InitVars","UNK_TYPE1","",0x1),
|
||||
0x80A48B50:("D_80A48B50","UNK_TYPE1","",0x1),
|
||||
0x80A48CB8:("D_80A48CB8","UNK_PTR","",0x4),
|
||||
0x80A48CC8:("D_80A48CC8","UNK_TYPE1","",0x1),
|
||||
0x80A48CF4:("D_80A48CF4","UNK_TYPE1","",0x1),
|
||||
0x80A48D14:("D_80A48D14","UNK_TYPE1","",0x1),
|
||||
0x80A48D34:("D_80A48D34","UNK_TYPE1","",0x1),
|
||||
0x80A48D4C:("D_80A48D4C","UNK_TYPE1","",0x1),
|
||||
0x80A48D54:("D_80A48D54","UNK_TYPE4","",0x4),
|
||||
0x80A48D60:("D_80A48D60","UNK_TYPE1","",0x1),
|
||||
0x80A48D64:("D_80A48D64","UNK_TYPE1","",0x1),
|
||||
0x80A48D68:("D_80A48D68","UNK_TYPE4","",0x4),
|
||||
0x80A48D74:("D_80A48D74","UNK_TYPE4","",0x4),
|
||||
0x80A48B50:("sJntSphElementsInit","UNK_TYPE1","",0x1),
|
||||
0x80A48CB8:("sJntSphInit","UNK_PTR","",0x4),
|
||||
0x80A48CC8:("sCylinderInit","UNK_TYPE1","",0x1),
|
||||
0x80A48CF4:("sFireWizrobeDamageTable","UNK_TYPE1","",0x1),
|
||||
0x80A48D14:("sIceWizrobeDamageTable","UNK_TYPE1","",0x1),
|
||||
0x80A48D34:("sAnimations","UNK_TYPE1","",0x1),
|
||||
0x80A48D4C:("sAnimationModes","UNK_TYPE1","",0x1),
|
||||
0x80A48D54:("staffTargetFlameScale","UNK_TYPE4","",0x4),
|
||||
0x80A48D60:("sDustPrimColor","UNK_TYPE1","",0x1),
|
||||
0x80A48D64:("sDustEnvTimer","UNK_TYPE1","",0x1),
|
||||
0x80A48D68:("staffFlamePos","UNK_TYPE4","",0x4),
|
||||
0x80A48D74:("staffFlamePos","UNK_TYPE4","",0x4),
|
||||
0x80A48D80:("jtbl_80A48D80","UNK_PTR","",0x4),
|
||||
0x80A48D98:("D_80A48D98","f32","",0x4),
|
||||
0x80A48D9C:("D_80A48D9C","f32","",0x4),
|
||||
|
|
@ -11556,15 +11556,15 @@
|
|||
0x80A495F8:("D_80A495F8","f32","",0x4),
|
||||
0x80A495FC:("D_80A495FC","f32","",0x4),
|
||||
0x80A49600:("D_80A49600","f32","",0x4),
|
||||
0x80A4C1C0:("D_80A4C1C0","UNK_TYPE4","",0x4),
|
||||
0x80A4C1C0:("sPoolHitByIceArrow","UNK_TYPE4","",0x4),
|
||||
0x80A4C1C4:("En_Wiz_Fire_InitVars","UNK_TYPE1","",0x1),
|
||||
0x80A4C1E4:("D_80A4C1E4","UNK_TYPE1","",0x1),
|
||||
0x80A4C210:("D_80A4C210","UNK_TYPE4","",0x4),
|
||||
0x80A4C21C:("D_80A4C21C","UNK_TYPE4","",0x4),
|
||||
0x80A4C228:("D_80A4C228","UNK_TYPE4","",0x4),
|
||||
0x80A4C234:("D_80A4C234","UNK_TYPE1","",0x1),
|
||||
0x80A4C24C:("D_80A4C24C","UNK_TYPE1","",0x1),
|
||||
0x80A4C250:("D_80A4C250","UNK_TYPE1","",0x1),
|
||||
0x80A4C234:("lightSettingsColors","UNK_TYPE1","",0x1),
|
||||
0x80A4C24C:("sSteamPrimColor","UNK_TYPE1","",0x1),
|
||||
0x80A4C250:("sSteamEnvColor","UNK_TYPE1","",0x1),
|
||||
0x80A4C260:("jtbl_80A4C260","UNK_PTR","",0x4),
|
||||
0x80A4C274:("D_80A4C274","f32","",0x4),
|
||||
0x80A4C278:("D_80A4C278","f32","",0x4),
|
||||
|
|
|
|||
|
|
@ -1375,14 +1375,6 @@ D_060014C0 = 0x060014C0;
|
|||
D_060015B0 = 0x060015B0;
|
||||
D_06001E20 = 0x06001E20;
|
||||
|
||||
// ovl_En_Wiz
|
||||
|
||||
D_06001860 = 0x06001860;
|
||||
D_0600211C = 0x0600211C;
|
||||
D_060025F0 = 0x060025F0;
|
||||
D_060066C0 = 0x060066C0;
|
||||
D_0600B320 = 0x0600B320;
|
||||
|
||||
// ovl_En_Zl4
|
||||
|
||||
D_06013328 = 0x06013328;
|
||||
|
|
|
|||
Loading…
Reference in New Issue