Boss01 (Odolwa) OK and documented (#1452)

* Boss01 (Odolwa) OK and documented

* Unify existing InitRand implementations

* Remove newlines after `// fallthrough`

* Respond to the rest of engineer's review

* Respond to most of anon's review

* Try to comment the shadow thing correctly

* Fix boss_01 after merge

* SEGMENTED_TO_VIRTUAL -> SEGMENTED_TO_K0

* Review

* Use DMG_SWORD_BEAM and update the comment in z64collision_check.h

* Respond to engineer's review
This commit is contained in:
Tom Overton
2023-10-28 14:29:43 -07:00
committed by GitHub
parent e634be7cd4
commit 2859cbbf5e
12 changed files with 3827 additions and 582 deletions
+73 -73
View File
@@ -6819,7 +6819,7 @@
0x808FC5AC:("EnFr_Destroy",),
0x808FC5BC:("EnFr_Update",),
0x808FC6C0:("EnFishing_SetColliderElement",),
0x808FC770:("EnFishing_SeedRand",),
0x808FC770:("EnFishing_InitRand",),
0x808FC790:("EnFishing_RandZeroOne",),
0x808FC8B8:("EnFishing_SmoothStepToS",),
0x808FC964:("EnFishing_SpawnRipple",),
@@ -9217,81 +9217,81 @@
0x809D0090:("EnMttag_Init",),
0x809D0138:("EnMttag_Destroy",),
0x809D0168:("EnMttag_Update",),
0x809D0530:("func_809D0530",),
0x809D0550:("func_809D0550",),
0x809D0678:("func_809D0678",),
0x809D082C:("func_809D082C",),
0x809D089C:("func_809D089C",),
0x809D092C:("func_809D092C",),
0x809D0AA4:("func_809D0AA4",),
0x809D0530:("Boss01_InitRand",),
0x809D0550:("Boss01_RandZeroOne",),
0x809D0678:("Boss01_SpawnEffectFallingBlock",),
0x809D082C:("Boss01_SpawnEffectRingOfFire",),
0x809D089C:("Boss01_SetColliderSphere",),
0x809D092C:("Boss01_SelectAttack",),
0x809D0AA4:("Boss01_SpawnDustAtFeet",),
0x809D0CE8:("Boss01_Init",),
0x809D118C:("Boss01_Destroy",),
0x809D119C:("func_809D119C",),
0x809D1258:("func_809D1258",),
0x809D12B4:("func_809D12B4",),
0x809D1AB8:("func_809D1AB8",),
0x809D1B2C:("func_809D1B2C",),
0x809D1E5C:("func_809D1E5C",),
0x809D1E74:("func_809D1E74",),
0x809D1EA4:("func_809D1EA4",),
0x809D20D0:("func_809D20D0",),
0x809D2588:("func_809D2588",),
0x809D25E8:("func_809D25E8",),
0x809D2664:("func_809D2664",),
0x809D26B8:("func_809D26B8",),
0x809D2780:("func_809D2780",),
0x809D27D4:("func_809D27D4",),
0x809D2858:("func_809D2858",),
0x809D2914:("func_809D2914",),
0x809D2A44:("func_809D2A44",),
0x809D2AA0:("func_809D2AA0",),
0x809D2BCC:("func_809D2BCC",),
0x809D2CDC:("func_809D2CDC",),
0x809D2DE8:("func_809D2DE8",),
0x809D2E4C:("func_809D2E4C",),
0x809D3074:("func_809D3074",),
0x809D30D0:("func_809D30D0",),
0x809D32B4:("func_809D32B4",),
0x809D3374:("func_809D3374",),
0x809D3400:("func_809D3400",),
0x809D345C:("func_809D345C",),
0x809D34D4:("func_809D34D4",),
0x809D3530:("func_809D3530",),
0x809D35A8:("func_809D35A8",),
0x809D365C:("func_809D365C",),
0x809D370C:("func_809D370C",),
0x809D3A7C:("func_809D3A7C",),
0x809D3ADC:("func_809D3ADC",),
0x809D3C10:("func_809D3C10",),
0x809D3CD0:("func_809D3CD0",),
0x809D441C:("func_809D441C",),
0x809D4464:("func_809D4464",),
0x809D44C0:("func_809D44C0",),
0x809D4668:("func_809D4668",),
0x809D119C:("Boss01_JumpAwayFromExplosive",),
0x809D1258:("Boss01_SetupIntroCutscene",),
0x809D12B4:("Boss01_IntroCutscene",),
0x809D1AB8:("Boss01_SetupSummonBugsCutscene",),
0x809D1B2C:("Boss01_SummonBugsCutscene",),
0x809D1E5C:("Boss01_Afterimage_SetupWaitToDespawn",),
0x809D1E74:("Boss01_Afterimage_WaitToDespawn",),
0x809D1EA4:("Boss01_SetupWait",),
0x809D20D0:("Boss01_Wait",),
0x809D2588:("Boss01_SetupDazed",),
0x809D25E8:("Boss01_Dazed",),
0x809D2664:("Boss01_SetupSpinAttack",),
0x809D26B8:("Boss01_SpinAttack",),
0x809D2780:("Boss01_SetupDanceBeforeAttack",),
0x809D27D4:("Boss01_DanceBeforeAttack",),
0x809D2858:("Boss01_SetupRun",),
0x809D2914:("Boss01_Run",),
0x809D2A44:("Boss01_SetupJump",),
0x809D2AA0:("Boss01_JumpSquat",),
0x809D2BCC:("Boss01_Jump",),
0x809D2CDC:("Boss01_JumpLand",),
0x809D2DE8:("Boss01_SetupVerticalSlash",),
0x809D2E4C:("Boss01_VerticalSlash",),
0x809D3074:("Boss01_SetupHorizontalSlash",),
0x809D30D0:("Boss01_HorizontalSlash",),
0x809D32B4:("Boss01_SetupGuard",),
0x809D3374:("Boss01_Guard",),
0x809D3400:("Boss01_SetupKick",),
0x809D345C:("Boss01_Kick",),
0x809D34D4:("Boss01_SetupShieldBash",),
0x809D3530:("Boss01_ShieldBash",),
0x809D35A8:("Boss01_SetupDamaged",),
0x809D365C:("Boss01_Damaged",),
0x809D370C:("Boss01_UpdateDamage",),
0x809D3A7C:("Boss01_SetupSummonMoths",),
0x809D3ADC:("Boss01_SummonMoths",),
0x809D3C10:("Boss01_SetupDeathCutscene",),
0x809D3CD0:("Boss01_DeathCutscene",),
0x809D441C:("Boss01_SetupStunned",),
0x809D4464:("Boss01_Stunned",),
0x809D44C0:("Boss01_Thaw",),
0x809D4668:("Boss01_ArePlayerAndOdolwaFacing",),
0x809D46E4:("Boss01_Update",),
0x809D519C:("func_809D519C",),
0x809D5584:("func_809D5584",),
0x809D55CC:("func_809D55CC",),
0x809D519C:("Boss01_DrawSwordTrail",),
0x809D5584:("Boss01_OverrideLimbDraw",),
0x809D55CC:("Boss01_PostLimbDraw",),
0x809D5988:("Boss01_Draw",),
0x809D5B0C:("func_809D5B0C",),
0x809D5BC4:("func_809D5BC4",),
0x809D5FB4:("func_809D5FB4",),
0x809D606C:("func_809D606C",),
0x809D62D4:("func_809D62D4",),
0x809D6314:("func_809D6314",),
0x809D6424:("func_809D6424",),
0x809D6488:("func_809D6488",),
0x809D64E0:("func_809D64E0",),
0x809D6540:("func_809D6540",),
0x809D6588:("func_809D6588",),
0x809D65E0:("func_809D65E0",),
0x809D670C:("func_809D670C",),
0x809D694C:("func_809D694C",),
0x809D6B08:("func_809D6B08",),
0x809D6BB4:("func_809D6BB4",),
0x809D6C98:("func_809D6C98",),
0x809D6E7C:("func_809D6E7C",),
0x809D73D4:("func_809D73D4",),
0x809D5B0C:("Boss01_Afterimage_Draw",),
0x809D5BC4:("Boss01_FillShadowTex",),
0x809D5FB4:("Boss01_GenShadowTex",),
0x809D606C:("Boss01_DrawShadowTex",),
0x809D62D4:("Boss01_Bug_SetupCrawl",),
0x809D6314:("Boss01_Bug_Crawl",),
0x809D6424:("Boss01_Bug_SetupDamaged",),
0x809D6488:("Boss01_Bug_Damaged",),
0x809D64E0:("Boss01_Bug_SetupDead",),
0x809D6540:("Boss01_Bug_SetupStunned",),
0x809D6588:("Boss01_Bug_Stunned",),
0x809D65E0:("Boss01_Bug_Dead",),
0x809D670C:("Boss01_Bug_UpdateDamage",),
0x809D694C:("Boss01_Bug_Update",),
0x809D6B08:("Boss01_Bug_OverrideLimbDraw",),
0x809D6BB4:("Boss01_Bug_Draw",),
0x809D6C98:("Boss01_SpawnDustForFallingBlock",),
0x809D6E7C:("Boss01_UpdateEffects",),
0x809D73D4:("Boss01_DrawEffects",),
0x809DA1D0:("Boss02_FillScreen",),
0x809DA22C:("Boss02_SetFillScreenAlpha",),
0x809DA24C:("Boss02_StopFillScreen",),
@@ -9321,7 +9321,7 @@
0x809E299C:("Boss03_SpawnEffectSplash",),
0x809E2AB4:("Boss03_SpawnEffectBubble",),
0x809E2B8C:("Boss03_UpdateSphereElement",),
0x809E2C1C:("Boss03_SeedRand",),
0x809E2C1C:("Boss03_InitRand",),
0x809E2C3C:("Boss03_RandZeroOne",),
0x809E2D64:("Boss03_FindActorDblueMovebg",),
0x809E2DA0:("Boss03_SpawnDust",),
+63 -72
View File
@@ -7537,9 +7537,9 @@
0x80911F50:("D_80911F50","UNK_TYPE1","",0x1),
0x80911F58:("sSinkingLureBasePos","Vec3f","",0xC),
0x80911F64:("D_80911F64","f32","",0x4),
0x80911F68:("sRandSeed0","s32","",0x4),
0x80911F6C:("sRandSeed1","s32","",0x4),
0x80911F70:("sRandSeed2","s32","",0x4),
0x80911F68:("sFishingRandSeed1","s32","",0x4),
0x80911F6C:("sFishingRandSeed2","s32","",0x4),
0x80911F70:("sFishingRandSeed3","s32","",0x4),
0x80911F78:("sPondProps","UNK_TYPE1","[140]",0x20D0),
0x80914048:("sGroupFishes","UNK_TYPE1","[60]",0x10E0),
0x80915128:("sFishGroupAngle1","f32","",0x4),
@@ -9862,54 +9862,45 @@
0x809D0434:("D_809D0434","f32","",0x4),
0x809D0438:("D_809D0438","f32","",0x4),
0x809D043C:("D_809D043C","f32","",0x4),
0x809D7980:("D_809D7980","UNK_TYPE1","",0x1),
0x809D798C:("D_809D798C","f32","",0x4),
0x809D7990:("D_809D7990","UNK_TYPE1","",0x1),
0x809D79B0:("D_809D79B0","UNK_TYPE1","",0x1),
0x809D79D0:("D_809D79D0","UNK_TYPE1","",0x1),
0x809D7A3C:("D_809D7A3C","UNK_TYPE1","",0x1),
0x809D7A4C:("D_809D7A4C","UNK_TYPE1","",0x1),
0x809D7A70:("D_809D7A70","UNK_TYPE1","",0x1),
0x809D7A80:("D_809D7A80","UNK_TYPE1","",0x1),
0x809D7C0C:("D_809D7C0C","UNK_TYPE1","",0x1),
0x809D7C1C:("D_809D7C1C","UNK_TYPE1","",0x1),
0x809D7C64:("D_809D7C64","UNK_TYPE1","",0x1),
0x809D7C74:("D_809D7C74","UNK_TYPE1","",0x1),
0x809D7CA0:("D_809D7CA0","UNK_TYPE1","",0x1),
0x809D7CCC:("Boss_01_InitVars","UNK_TYPE1","",0x1),
0x809D7CEC:("D_809D7CEC","UNK_TYPE1","",0x1),
0x809D7CF0:("D_809D7CF0","UNK_TYPE1","",0x1),
0x809D7CF4:("D_809D7CF4","UNK_TYPE1","",0x1),
0x809D7D24:("D_809D7D24","UNK_TYPE4","",0x4),
0x809D7D38:("D_809D7D38","UNK_TYPE4","",0x4),
0x809D7D4C:("D_809D7D4C","UNK_TYPE1","",0x1),
0x809D7D50:("D_809D7D50","UNK_TYPE1","",0x1),
0x809D7D54:("D_809D7D54","UNK_TYPE1","",0x1),
0x809D7D60:("D_809D7D60","UNK_TYPE1","",0x1),
0x809D7D6C:("D_809D7D6C","UNK_TYPE1","",0x1),
0x809D7D78:("D_809D7D78","UNK_TYPE1","",0x1),
0x809D7D7A:("D_809D7D7A","UNK_TYPE1","",0x1),
0x809D7D7E:("D_809D7D7E","UNK_TYPE1","",0x1),
0x809D7D7F:("D_809D7D7F","UNK_TYPE1","",0x1),
0x809D7D84:("D_809D7D84","UNK_TYPE1","",0x1),
0x809D7D8E:("D_809D7D8E","UNK_TYPE1","",0x1),
0x809D7D8F:("D_809D7D8F","UNK_TYPE1","",0x1),
0x809D7D96:("D_809D7D96","UNK_TYPE1","",0x1),
0x809D7D97:("D_809D7D97","UNK_TYPE1","",0x1),
0x809D7D98:("D_809D7D98","UNK_TYPE1","",0x1),
0x809D7DB4:("D_809D7DB4","UNK_TYPE1","",0x1),
0x809D7E38:("D_809D7E38","UNK_TYPE1","",0x1),
0x809D7E44:("D_809D7E44","UNK_TYPE1","",0x1),
0x809D7E50:("D_809D7E50","UNK_TYPE1","",0x1),
0x809D7E5C:("D_809D7E5C","UNK_TYPE1","",0x1),
0x809D7E68:("D_809D7E68","UNK_TYPE1","",0x1),
0x809D7EA0:("D_809D7EA0","UNK_TYPE1","",0x1),
0x809D7EAC:("D_809D7EAC","UNK_TYPE4","",0x4),
0x809D7EC4:("D_809D7EC4","UNK_TYPE4","",0x4),
0x809D7EE0:("D_809D7EE0","UNK_TYPE4","",0x4),
0x809D7F00:("D_809D7F00","UNK_TYPE4","",0x4),
0x809D7F30:("D_809D7F30","UNK_TYPE4","",0x4),
0x809D7F6C:("D_809D7F6C","UNK_TYPE1","",0x1),
0x809D7980:("sFallingBlockSfxPos","Vec3f","",0xC),
0x809D798C:("sSwordTrailAngularRangeDivisor","f32","",0x4),
0x809D7990:("sOdolwaDamageTable","DamageTable","",0x20),
0x809D79B0:("sBugDamageTable","DamageTable","",0x20),
0x809D79D0:("sSwordColliderJntSphElementsInit","ColliderJntSphElementInit","[3]",0x6C),
0x809D7A3C:("sSwordColliderJntSphInit","ColliderJntSphInit","",0x10),
0x809D7A4C:("sShieldColliderJntSphElementsInit","ColliderJntSphElementInit","[1]",0x24),
0x809D7A70:("sShieldColliderJntSphInit","ColliderJntSphInit","",0x10),
0x809D7A80:("sBodyColliderJntSphElementsInit","ColliderJntSphElementInit","[11]", 0x18C),
0x809D7C0C:("sBodyColliderJntSphInit","ColliderJntSphInit","",0x10),
0x809D7C1C:("sKickAndShieldBashColliderJntSphElementsInit","ColliderJntSphElementInit","[2]",0x48),
0x809D7C64:("sKickAndShieldBashColliderJntSphInit","ColliderJntSphInit","",0x10),
0x809D7C74:("sBugACColliderCylinderInit","ColliderCylinderInit","",0x2C),
0x809D7CA0:("sBugATColliderCylinderInit","ColliderCylinderInit","",0x2C),
0x809D7CCC:("Boss_01_InitVars","ActorInit","",0x20),
0x809D7CEC:("sDustPrimColor","Color_RGBA8","",0x4),
0x809D7CF0:("sDustEnvColor","Color_RGBA8","",0x4),
0x809D7CF4:("sWaitAnimations","AnimationHeader*","[12]",0x30),
0x809D7D24:("sBlueWarpSpawnsX","f32","[5]",0x14),
0x809D7D38:("sBlueWarpSpawnsZ","f32","[5]",0x14),
0x809D7D4C:("sIcePrimColor","Color_RGBA8","",0x4),
0x809D7D50:("sIceEnvColor","Color_RGBA8","",0x4),
0x809D7D54:("sIceAccel","Vec3f","",0xC),
0x809D7D60:("sSwordTrailOuterVertexIndices","u8","[11]",0xB),
0x809D7D6C:("sSwordTrailInnerVertexIndices","u8","[11]",0xB),
0x809D7D78:("sLimbToColliderBodyParts","s8","[60]",0x3C),
0x809D7DB4:("sLimbColliderOffsets","Vec3f","[11]",0x84),
0x809D7E38:("sShieldColliderOffset","Vec3f","",0xC),
0x809D7E44:("sSwordBaseColliderOffset","Vec3f","",0xC),
0x809D7E50:("sSwordTipColliderOffset","Vec3f","",0xC),
0x809D7E5C:("sHorizontalSlashPelvisColliderOffset","Vec3f","",0xC),
0x809D7E68:("sLimbToBodyParts","s8","[53]",0x35),
0x809D7EA0:("sDefaultPelvisColliderOffset","Vec3f","",0xC),
0x809D7EAC:("sShadowSmallMap","s32","[6]",0x18),
0x809D7EC4:("sShadowMediumMap","s32","[7]",0x1C),
0x809D7EE0:("sShadowLargeMap","s32","[8]",0x20),
0x809D7F00:("sShadowExtraLargeMap","s32","[12]",0x30),
0x809D7F30:("sParentShadowBodyParts","s32","[15]",0x3C),
0x809D7F6C:("sShadowSizes","u8","[15]",0xF),
0x809D7F80:("D_809D7F80","f32","",0x4),
0x809D7F84:("D_809D7F84","f32","",0x4),
0x809D7F88:("D_809D7F88","f32","",0x4),
@@ -9967,22 +9958,22 @@
0x809D8150:("D_809D8150","f32","",0x4),
0x809D8154:("D_809D8154","f32","",0x4),
0x809D8158:("D_809D8158","f32","",0x4),
0x809D8A10:("D_809D8A10","UNK_TYPE2","",0x2),
0x809D8A14:("D_809D8A14","UNK_TYPE4","",0x4),
0x809D8A18:("D_809D8A18","UNK_TYPE4","",0x4),
0x809D8A1C:("D_809D8A1C","f32","",0x4),
0x809D8A20:("D_809D8A20","f32","",0x4),
0x809D8A24:("D_809D8A24","f32","",0x4),
0x809D8A28:("D_809D8A28","f32","",0x4),
0x809D8A2C:("D_809D8A2C","f32","",0x4),
0x809D8A30:("D_809D8A30","f32","",0x4),
0x809D8A34:("D_809D8A34","f32","",0x4),
0x809D8A38:("D_809D8A38","UNK_TYPE1","",0x1),
0x809D8A40:("D_809D8A40","UNK_TYPE1","",0x1),
0x809D8A4C:("D_809D8A4C","UNK_TYPE4","",0x4),
0x809D8A50:("D_809D8A50","UNK_TYPE4","",0x4),
0x809D8A54:("D_809D8A54","UNK_TYPE4","",0x4),
0x809D8A58:("D_809D8A58","UNK_TYPE1","",0x1),
0x809D8A10:("sOdolwaBugCount","s16","",0x2),
0x809D8A14:("sOdolwa","Boss01*","",0x4),
0x809D8A18:("sMothSwarm","EnTanron1*","",0x4),
0x809D8A1C:("sOdolwaSwordTrailPosX","f32","",0x4),
0x809D8A20:("sOdolwaSwordTrailPosY","f32","",0x4),
0x809D8A24:("sOdolwaSwordTrailPosZ","f32","",0x4),
0x809D8A28:("sOdolwaSwordTrailRotX","f32","",0x4),
0x809D8A2C:("sOdolwaSwordTrailRotY","f32","",0x4),
0x809D8A30:("sOdolwaSwordTrailRotZ","f32","",0x4),
0x809D8A34:("sOdolwaSwordTrailAlpha","f32","",0x4),
0x809D8A38:("sOdolwaMusicStartTimer","u8","",0x1),
0x809D8A40:("sOdolwaDamageSfxPos","Vec3f","",0xC),
0x809D8A4C:("sOdolwaRandSeed1","s32","",0x4),
0x809D8A50:("sOdolwaRandSeed2","s32","",0x4),
0x809D8A54:("sOdolwaRandSeed3","s32","",0x4),
0x809D8A58:("sOdolwaEffects","OdolwaEffect","[100]",0x1770),
0x809DF550:("D_809DF550","UNK_TYPE1","",0x1),
0x809DF570:("D_809DF570","UNK_TYPE1","",0x1),
0x809DF590:("Boss_02_InitVars","UNK_TYPE1","",0x1),
@@ -10077,9 +10068,9 @@
0x809E0424:("sRedTwinmold","UNK_TYPE4","",0x4),
0x809E0428:("sBlueTwinmold","UNK_TYPE4","",0x4),
0x809E042C:("sTwinmoldStatic","UNK_TYPE4","",0x4),
0x809E0430:("sMusicStartTimer","UNK_TYPE1","",0x1),
0x809E0430:("sTwinmoldMusicStartTimer","UNK_TYPE1","",0x1),
0x809E0434:("sBlueWarp","UNK_TYPE4","",0x4),
0x809E0438:("sEffects","UNK_TYPE1","",0x1),
0x809E0438:("sTwinmoldEffects","UNK_TYPE1","",0x1),
0x809E8EA0:("D_809E8EA0","UNK_TYPE4","",0x4),
0x809E8EAC:("Boss_03_InitVars","UNK_TYPE1","",0x1),
0x809E8ECC:("D_809E8ECC","UNK_TYPE1","",0x1),
@@ -10161,9 +10152,9 @@
0x809E9848:("D_809E9848","UNK_TYPE1","",0x1),
0x809E9858:("sGyorgEffects","UNK_TYPE1","[150]",0x27D8),
0x809EC030:("sGyorgBossInstance","UNK_TYPE4","",0x4),
0x809EC034:("sRandSeed0","UNK_TYPE4","",0x4),
0x809EC038:("sRandSeed1","UNK_TYPE4","",0x4),
0x809EC03C:("sRandSeed2","UNK_TYPE4","",0x4),
0x809EC034:("sGyorgRandSeed1","UNK_TYPE4","",0x4),
0x809EC038:("sGyorgRandSeed2","UNK_TYPE4","",0x4),
0x809EC03C:("sGyorgRandSeed3","UNK_TYPE4","",0x4),
0x809EE150:("D_809EE150","UNK_TYPE1","",0x1),
0x809EE170:("Boss_04_InitVars","UNK_TYPE1","",0x1),
0x809EE190:("D_809EE190","UNK_TYPE1","",0x1),