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:
Tom Overton 2022-10-01 08:14:06 -07:00 committed by GitHub
parent bbc8aec36a
commit c3c08e944c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 2178 additions and 706 deletions

View File

@ -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
View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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);
}

View File

@ -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

View File

@ -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;

View File

@ -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",),

View File

@ -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),

View File

@ -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;