mirror of
https://github.com/zeldaret/mm.git
synced 2025-03-03 10:48:46 +00:00
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:
parent
e634be7cd4
commit
2859cbbf5e
@ -142,10 +142,10 @@
|
||||
|
||||
<!-- Odolwa Animations -->
|
||||
<Animation Name="gOdolwaClimbAnim" Offset="0xF918" /> <!-- Unused and glitchy. Original name might be "jmp_crym" -->
|
||||
<Animation Name="gOdolwaDamageStartAnim" Offset="0xFDEC" /> <!-- Original name is "jmp_dam02" -->
|
||||
<Animation Name="gOdolwaDamagedStartAnim" Offset="0xFDEC" /> <!-- Original name is "jmp_dam02" -->
|
||||
<Animation Name="gOdolwaShieldGuardAnim" Offset="0xFF94" /> <!-- Original name is "jmp_def" -->
|
||||
<Animation Name="gOdolwaSwordGuardAnim" Offset="0x10150" /> <!-- Original name is "jmp_def02" -->
|
||||
<Animation Name="gOdolwaDamageLoopAnim" Offset="0x10980" /> <!-- Original name is "jmp_dm01" -->
|
||||
<Animation Name="gOdolwaDamagedLoopAnim" Offset="0x10980" /> <!-- Original name is "jmp_dm01" -->
|
||||
<Animation Name="gOdolwaDeathAnim" Offset="0x124CC" /> <!-- Original name is "jmp_down" -->
|
||||
<Animation Name="gOdolwaMothSummonDanceAnim" Offset="0x12B70" /> <!-- Named "dance_bug" in MM3D, but it was probably renamed by Grezzo, since it doesn't fit with other names. -->
|
||||
<Animation Name="gOdolwaCrouchAnim" Offset="0x12D10" /> <!-- Original name is "jmp_jmp01" -->
|
||||
|
@ -649,12 +649,12 @@ typedef enum {
|
||||
/* 0x5B */ TATL_HINT_ID_SKULLFISH,
|
||||
/* 0x5C */ TATL_HINT_ID_DESBREKO,
|
||||
/* 0x5D */ TATL_HINT_ID_GREEN_CHUCHU,
|
||||
/* 0x5E */ TATL_HINT_ID_ODOLWA_1,
|
||||
/* 0x5E */ TATL_HINT_ID_ODOLWA_PHASE_ONE, // 799 or fewer frames have passed, says Odolwa is dangerous to get close to
|
||||
/* 0x5F */ TATL_HINT_ID_GEKKO_GIANT_SLIME,
|
||||
/* 0x60 */ TATL_HINT_ID_BAD_BAT,
|
||||
/* 0x61 */ TATL_HINT_ID_REAL_BOMBCHU,
|
||||
/* 0x62 */ TATL_HINT_ID_ODOLWA_2,
|
||||
/* 0x63 */ TATL_HINT_ID_ODOLWA_3,
|
||||
/* 0x62 */ TATL_HINT_ID_ODOLWA_CLOSE_TO_PHASE_TWO, // 800 frames have passed, warns that Odolwa will attack after dancing
|
||||
/* 0x63 */ TATL_HINT_ID_ODOLWA_PHASE_TWO, // 1000 or more frames have passed, explains that the bugs are drawn to fire
|
||||
/* 0x64 */ TATL_HINT_ID_MUSHROOM,
|
||||
/* 0xFF */ TATL_HINT_ID_NONE = 0xFF
|
||||
} TatlHintId;
|
||||
|
@ -394,7 +394,8 @@ typedef enum {
|
||||
|
||||
#define DMG_ENTRY(damage, effect) ((damage) | ((effect) << 4))
|
||||
|
||||
// These flags are not to be used in code until we figure out how we want to format them. They are only here for reference
|
||||
// Don't use combinations of these flags in code until we figure out how we want to format them.
|
||||
// It's okay to use these flags if the code is only checking a single flag, though.
|
||||
#define DMG_DEKU_NUT (1 << 0x00)
|
||||
#define DMG_DEKU_STICK (1 << 0x01)
|
||||
#define DMG_HORSE_TRAMPLE (1 << 0x02)
|
||||
|
4
spec
4
spec
@ -2297,9 +2297,7 @@ beginseg
|
||||
name "ovl_Boss_01"
|
||||
compress
|
||||
include "build/src/overlays/actors/ovl_Boss_01/z_boss_01.o"
|
||||
include "build/data/ovl_Boss_01/ovl_Boss_01.data.o"
|
||||
include "build/data/ovl_Boss_01/ovl_Boss_01.bss.o"
|
||||
include "build/data/ovl_Boss_01/ovl_Boss_01.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Boss_01/ovl_Boss_01_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -2,16 +2,153 @@
|
||||
#define Z_BOSS_01_H
|
||||
|
||||
#include "global.h"
|
||||
#include "assets/objects/object_boss01/object_boss01.h"
|
||||
|
||||
struct Boss01;
|
||||
|
||||
#define ODOLWA_GET_TYPE(thisx) ((thisx)->params)
|
||||
#define ODOLWA_GET_AFTERIMAGE_DESPAWN_TIMER(thisx) ((thisx)->world.rot.z)
|
||||
|
||||
#define ODOLWA_SHADOW_TEX_WIDTH 64
|
||||
#define ODOLWA_SHADOW_TEX_HEIGHT 64
|
||||
#define ODOLWA_SHADOW_TEX_SIZE ((s32)sizeof(u8[ODOLWA_SHADOW_TEX_HEIGHT][ODOLWA_SHADOW_TEX_WIDTH]))
|
||||
|
||||
typedef void (*Boss01ActionFunc)(struct Boss01*, PlayState*);
|
||||
|
||||
typedef enum OdolwaType {
|
||||
/* 0 */ ODOLWA_TYPE_ODOLWA,
|
||||
/* 10 */ ODOLWA_TYPE_BUG = 10,
|
||||
/* 35 */ ODOLWA_TYPE_AFTERIMAGE = 35
|
||||
} OdolwaType;
|
||||
|
||||
typedef enum OdolwaBodyPart {
|
||||
/* 0 */ ODOLWA_BODYPART_HEAD,
|
||||
/* 1 */ ODOLWA_BODYPART_TORSO,
|
||||
/* 2 */ ODOLWA_BODYPART_PELVIS,
|
||||
/* 3 */ ODOLWA_BODYPART_LEFT_UPPER_ARM,
|
||||
/* 4 */ ODOLWA_BODYPART_LEFT_FOREARM,
|
||||
/* 5 */ ODOLWA_BODYPART_SHIELD,
|
||||
/* 6 */ ODOLWA_BODYPART_RIGHT_UPPER_ARM,
|
||||
/* 7 */ ODOLWA_BODYPART_RIGHT_FOREARM,
|
||||
/* 8 */ ODOLWA_BODYPART_SWORD,
|
||||
/* 9 */ ODOLWA_BODYPART_RIGHT_THIGH,
|
||||
/* 10 */ ODOLWA_BODYPART_RIGHT_SHIN,
|
||||
/* 11 */ ODOLWA_BODYPART_RIGHT_FOOT,
|
||||
/* 12 */ ODOLWA_BODYPART_LEFT_THIGH,
|
||||
/* 13 */ ODOLWA_BODYPART_LEFT_SHIN,
|
||||
/* 14 */ ODOLWA_BODYPART_LEFT_FOOT,
|
||||
/* 15 */ ODOLWA_BODYPART_MAX
|
||||
} OdolwaBodyPart;
|
||||
|
||||
typedef enum OdolwaColliderBodyPart {
|
||||
/* 0 */ ODOLWA_COLLIDER_BODYPART_HEAD,
|
||||
/* 1 */ ODOLWA_COLLIDER_BODYPART_TORSO,
|
||||
/* 2 */ ODOLWA_COLLIDER_BODYPART_PELVIS,
|
||||
/* 3 */ ODOLWA_COLLIDER_BODYPART_LEFT_UPPER_ARM,
|
||||
/* 4 */ ODOLWA_COLLIDER_BODYPART_LEFT_FOREARM,
|
||||
/* 5 */ ODOLWA_COLLIDER_BODYPART_RIGHT_UPPER_ARM,
|
||||
/* 6 */ ODOLWA_COLLIDER_BODYPART_RIGHT_FOREARM,
|
||||
/* 7 */ ODOLWA_COLLIDER_BODYPART_LEFT_THIGH,
|
||||
/* 8 */ ODOLWA_COLLIDER_BODYPART_LEFT_SHIN,
|
||||
/* 9 */ ODOLWA_COLLIDER_BODYPART_RIGHT_THIGH,
|
||||
/* 10 */ ODOLWA_COLLIDER_BODYPART_RIGHT_SHIN,
|
||||
/* 11 */ ODOLWA_COLLIDER_BODYPART_MAX
|
||||
} OdolwaColliderBodyPart;
|
||||
|
||||
typedef enum OdolwaSwordCollider {
|
||||
/* 0 */ ODOLWA_SWORD_COLLIDER_SWORD_BASE,
|
||||
/* 1 */ ODOLWA_SWORD_COLLIDER_SWORD_TIP,
|
||||
/* 2 */ ODOLWA_SWORD_COLLIDER_PELVIS,
|
||||
/* 3 */ ODOLWA_SWORD_COLLIDER_MAX
|
||||
} OdolwaSwordCollider;
|
||||
|
||||
typedef enum OdolwaShieldCollider {
|
||||
/* 0 */ ODOLWA_SHIELD_COLLIDER_SHIELD,
|
||||
/* 1 */ ODOLWA_SHIELD_COLLIDER_MAX
|
||||
} OdolwaShieldCollider;
|
||||
|
||||
typedef enum OdolwaKickAndShieldBashCollider {
|
||||
/* 0 */ ODOLWA_KICK_AND_SHIELD_BASH_COLLIDER_SHIELD,
|
||||
/* 1 */ ODOLWA_KICK_AND_SHIELD_BASH_COLLIDER_LEFT_FOOT,
|
||||
/* 2 */ ODOLWA_KICK_AND_SHIELD_BASH_COLLIDER_MAX
|
||||
} OdolwaKickAndShieldBashCollider;
|
||||
|
||||
typedef struct Boss01 {
|
||||
/* 0x000 */ Actor actor;
|
||||
/* 0x144 */ char unk_144[0x320];
|
||||
/* 0x144 */ s16 frameCounter;
|
||||
/* 0x148 */ s32 phaseFrameCounter;
|
||||
/* 0x14C */ union {
|
||||
u8 jumpIfPlayerIsClose;
|
||||
u8 shouldPerformFallingSlash;
|
||||
u8 bugDrawDmgEffType;
|
||||
};
|
||||
/* 0x14E */ s16 timers[3];
|
||||
/* 0x154 */ f32 animMorphFrames1;
|
||||
/* 0x158 */ f32 animMorphFrames2;
|
||||
/* 0x15C */ s16 damageTimer;
|
||||
/* 0x15E */ s16 damageFlashTimer;
|
||||
/* 0x160 */ u8 isPerformingVerticalSlash; // set, but never checked
|
||||
/* 0x160 */ u8 landedFromJump;
|
||||
/* 0x162 */ u8 waitType;
|
||||
/* 0x163 */ u8 lookAtPlayer;
|
||||
/* 0x164 */ SkelAnime skelAnime;
|
||||
/* 0x1A8 */ f32 animEndFrame;
|
||||
/* 0x1AC */ f32 prevJumpVelocityY;
|
||||
/* 0x1B0 */ f32 runTargetPosAngularVelocityY;
|
||||
/* 0x1B4 */ f32 runTargetPosRotY;
|
||||
/* 0x1B8 */ u8 swordState;
|
||||
/* 0x1B9 */ u8 kickAndShieldBashCollisionEnabled;
|
||||
/* 0x1BA */ u8 swordAndShieldCollisionEnabled;
|
||||
/* 0x1BB */ u8 canGuardOrEvade;
|
||||
/* 0x1BC */ u8 bodyInvincibilityTimer;
|
||||
/* 0x1BE */ s16 disableCollisionTimer;
|
||||
/* 0x1C0 */ u8 afterimageSpawnFrameMask; // used as a bitmask with frameCounter to control how often to spawn afterimages
|
||||
/* 0x1C1 */ u8 hasPlayedSummonBugCs;
|
||||
/* 0x1C4 */ f32 additionalVelocityX;
|
||||
/* 0x1C8 */ f32 additionalVelocityZ;
|
||||
/* 0x1CC */ s16 headRotY;
|
||||
/* 0x1CE */ s16 headRotX;
|
||||
/* 0x1D0 */ Vec3s jointTable[ODOLWA_LIMB_MAX];
|
||||
/* 0x308 */ Vec3s morphTable[ODOLWA_LIMB_MAX];
|
||||
/* 0x440 */ Vec3f feetPos[2];
|
||||
/* 0x458 */ Vec3f pelvisPos;
|
||||
/* 0x464 */ Boss01ActionFunc actionFunc;
|
||||
/* 0x468 */ char unk_468[0x674];
|
||||
/* 0x468 */ ColliderJntSph swordCollider;
|
||||
/* 0x488 */ ColliderJntSphElement swordColliderElements[ODOLWA_SWORD_COLLIDER_MAX];
|
||||
/* 0x548 */ ColliderJntSph shieldCollider;
|
||||
/* 0x568 */ ColliderJntSphElement shieldColliderElements[ODOLWA_SHIELD_COLLIDER_MAX];
|
||||
/* 0x5A8 */ ColliderJntSph bodyCollider;
|
||||
/* 0x5C8 */ ColliderJntSphElement bodyColliderElements[ODOLWA_COLLIDER_BODYPART_MAX];
|
||||
/* 0x888 */ ColliderJntSph kickAndShieldBashCollider;
|
||||
/* 0x8A8 */ ColliderJntSphElement kickAndShieldBashColliderElements[ODOLWA_KICK_AND_SHIELD_BASH_COLLIDER_MAX];
|
||||
/* 0x928 */ Vec3f bodyPartsPos[ODOLWA_BODYPART_MAX];
|
||||
/* 0x9DC */ union {
|
||||
u32 cutsceneTimer;
|
||||
u32 waitTimer;
|
||||
u32 summonMothsTimer;
|
||||
};
|
||||
/* 0x9E0 */ s16 cutsceneState;
|
||||
/* 0x9E2 */ s16 subCamId;
|
||||
/* 0x9E4 */ Vec3f subCamEye;
|
||||
/* 0x9F0 */ Vec3f subCamAt;
|
||||
/* 0x9FC */ Vec3f subCamUp;
|
||||
/* 0xA08 */ Vec3f subCamEyeNext;
|
||||
/* 0xA14 */ f32 deathCsInitialSubCamRot;
|
||||
/* 0xA18 */ f32 deathCsSubCamRot;
|
||||
/* 0xA1C */ f32 subCamVelocity;
|
||||
/* 0xA20 */ f32 deathShrinkSpeed;
|
||||
/* 0xA24 */ f32 screenShakeOffsetY;
|
||||
/* 0xA28 */ f32 screenShakeMagnitude;
|
||||
/* 0xA2C */ ColliderCylinder bugACCollider;
|
||||
/* 0xA78 */ ColliderCylinder bugATCollider;
|
||||
/* 0xAC4 */ f32 bugDrawDmgEffScale;
|
||||
/* 0xAC8 */ f32 bugDrawDmgEffAlpha;
|
||||
/* 0xACC */ f32 drawDmgEffScale;
|
||||
/* 0xAD0 */ f32 drawDmgEffFrozenSteamScale;
|
||||
/* 0xAD4 */ f32 drawDmgEffAlpha;
|
||||
/* 0xAD8 */ u8 drawDmgEffType;
|
||||
/* 0xAD9 */ u8 drawDmgEffState;
|
||||
/* 0xADA */ s16 drawDmgEffTimer;
|
||||
} Boss01; // size = 0xADC
|
||||
|
||||
#endif // Z_BOSS_01_H
|
||||
|
@ -69,9 +69,9 @@ u8 sIsInGiantMode;
|
||||
Boss02* sRedTwinmold;
|
||||
Boss02* sBlueTwinmold;
|
||||
Boss02* sTwinmoldStatic;
|
||||
u8 sMusicStartTimer;
|
||||
u8 sTwinmoldMusicStartTimer;
|
||||
DoorWarp1* sBlueWarp;
|
||||
TwinmoldEffect sEffects[TWINMOLD_EFFECT_COUNT];
|
||||
TwinmoldEffect sTwinmoldEffects[TWINMOLD_EFFECT_COUNT];
|
||||
|
||||
static DamageTable sBlueTwinmoldDamageTable = {
|
||||
/* Deku Nut */ DMG_ENTRY(0, 0x0),
|
||||
@ -588,7 +588,7 @@ void Boss02_Init(Actor* thisx, PlayState* play) {
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_CLEARED_STONE_TOWER_TEMPLE) &&
|
||||
(TWINMOLD_GET_TYPE(&this->actor) == TWINMOLD_TYPE_RED)) {
|
||||
sBlueWarp = (DoorWarp1*)Actor_SpawnAsChild(&play->actorCtx, &this->actor, play, ACTOR_DOOR_WARP1, 0.0f, 60.0f,
|
||||
0.0f, 0, 0, 0, 1);
|
||||
0.0f, 0, 0, 0, ENDOORWARP1_FF_1);
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_ITEM_B_HEART, 0.0f, 30.0f, -150.0f, 0, 1, 0, BHEART_PARAM_NORMAL);
|
||||
}
|
||||
|
||||
@ -597,14 +597,14 @@ void Boss02_Init(Actor* thisx, PlayState* play) {
|
||||
this->subCamUp.y = 1.0f;
|
||||
if (TWINMOLD_GET_TYPE(&this->actor) == TWINMOLD_TYPE_STATIC) {
|
||||
sTwinmoldStatic = this;
|
||||
play->specialEffects = (void*)sEffects;
|
||||
play->specialEffects = (void*)sTwinmoldEffects;
|
||||
this->actor.update = Boss02_Static_Update;
|
||||
this->actor.draw = Boss02_Static_Draw;
|
||||
this->actor.flags &= ~ACTOR_FLAG_TARGETABLE;
|
||||
this->playerScale = 0.01f;
|
||||
if ((KREG(64) != 0) || CHECK_EVENTINF(EVENTINF_55) || (sBlueWarp != NULL)) {
|
||||
this->unk_1D20 = 0;
|
||||
sMusicStartTimer = KREG(15) + 20;
|
||||
sTwinmoldMusicStartTimer = KREG(15) + 20;
|
||||
} else {
|
||||
this->unk_1D20 = 1;
|
||||
}
|
||||
@ -1346,9 +1346,9 @@ void Boss02_Static_Update(Actor* thisx, PlayState* play) {
|
||||
}
|
||||
|
||||
if (sBlueWarp == NULL) {
|
||||
if (sMusicStartTimer != 0) {
|
||||
sMusicStartTimer--;
|
||||
if (sMusicStartTimer == 0) {
|
||||
if (sTwinmoldMusicStartTimer != 0) {
|
||||
sTwinmoldMusicStartTimer--;
|
||||
if (sTwinmoldMusicStartTimer == 0) {
|
||||
SEQCMD_PLAY_SEQUENCE(SEQ_PLAYER_BGM_MAIN, 0, NA_BGM_BOSS | SEQ_FLAG_ASYNC);
|
||||
}
|
||||
}
|
||||
@ -2173,7 +2173,7 @@ void func_809DEAC4(Boss02* this, PlayState* play) {
|
||||
|
||||
if (this->unk_1D1C == 45) {
|
||||
func_800B7298(play, &this->actor, PLAYER_CSACTION_21);
|
||||
sMusicStartTimer = KREG(91) + 43;
|
||||
sTwinmoldMusicStartTimer = KREG(91) + 43;
|
||||
}
|
||||
|
||||
if (this->unk_1D1C == 85) {
|
||||
@ -2304,7 +2304,7 @@ void func_809DEAC4(Boss02* this, PlayState* play) {
|
||||
phi_f0 = 3155.0f;
|
||||
}
|
||||
sBlueWarp = (DoorWarp1*)Actor_SpawnAsChild(&play->actorCtx, &this->actor, play, ACTOR_DOOR_WARP1,
|
||||
0.0f, phi_f0, 0.0f, 0, 0, 0, 1);
|
||||
0.0f, phi_f0, 0.0f, 0, 0, 0, ENDOORWARP1_FF_1);
|
||||
|
||||
if (!sIsInGiantMode) {
|
||||
sBlueWarp->unk_203 = 0;
|
||||
|
@ -231,30 +231,30 @@ void Boss03_UpdateSphereElement(s32 index, ColliderJntSph* collider, Vec3f* sphe
|
||||
|
||||
/* Start of RNG section */
|
||||
|
||||
static s32 sRandSeed0;
|
||||
static s32 sRandSeed1;
|
||||
static s32 sRandSeed2;
|
||||
s32 sGyorgRandSeed1;
|
||||
s32 sGyorgRandSeed2;
|
||||
s32 sGyorgRandSeed3;
|
||||
|
||||
void Boss03_SeedRand(s32 seed0, s32 seed1, s32 seed2) {
|
||||
sRandSeed0 = seed0;
|
||||
sRandSeed1 = seed1;
|
||||
sRandSeed2 = seed2;
|
||||
void Boss03_InitRand(s32 seedInit1, s32 seedInit2, s32 seedInit3) {
|
||||
sGyorgRandSeed1 = seedInit1;
|
||||
sGyorgRandSeed2 = seedInit2;
|
||||
sGyorgRandSeed3 = seedInit3;
|
||||
}
|
||||
|
||||
f32 Boss03_RandZeroOne(void) {
|
||||
f32 rand;
|
||||
|
||||
// Wichmann-Hill algorithm
|
||||
sRandSeed0 = (sRandSeed0 * 171) % 30269;
|
||||
sRandSeed1 = (sRandSeed1 * 172) % 30307;
|
||||
sRandSeed2 = (sRandSeed2 * 170) % 30323;
|
||||
f32 randFloat;
|
||||
|
||||
rand = (sRandSeed0 / 30269.0f) + (sRandSeed1 / 30307.0f) + (sRandSeed2 / 30323.0f);
|
||||
while (rand >= 1.0f) {
|
||||
rand -= 1.0f;
|
||||
sGyorgRandSeed1 = (sGyorgRandSeed1 * 171) % 30269;
|
||||
sGyorgRandSeed2 = (sGyorgRandSeed2 * 172) % 30307;
|
||||
sGyorgRandSeed3 = (sGyorgRandSeed3 * 170) % 30323;
|
||||
|
||||
randFloat = (sGyorgRandSeed1 / 30269.0f) + (sGyorgRandSeed2 / 30307.0f) + (sGyorgRandSeed3 / 30323.0f);
|
||||
while (randFloat >= 1.0f) {
|
||||
randFloat -= 1.0f;
|
||||
}
|
||||
|
||||
return fabsf(rand);
|
||||
return fabsf(randFloat);
|
||||
}
|
||||
|
||||
/* End of RNG section */
|
||||
@ -483,7 +483,7 @@ void Boss03_Init(Actor* thisx, PlayState* play2) {
|
||||
this->actor.world.pos = sGyorgInitialPos;
|
||||
|
||||
// Since Boss03_RandZeroOne is only used on this Init function, the resulting values end up being deterministic
|
||||
Boss03_SeedRand(1, 29093, 9786);
|
||||
Boss03_InitRand(1, 29093, 9786);
|
||||
|
||||
for (i = 0; i < 5; i++) {
|
||||
f32 rand;
|
||||
|
@ -147,9 +147,9 @@ f32 sSubCamVelFactor;
|
||||
f32 D_80911F50;
|
||||
Vec3f sSinkingLureBasePos;
|
||||
f32 D_80911F64;
|
||||
s32 sRandSeed0;
|
||||
s32 sRandSeed1;
|
||||
s32 sRandSeed2;
|
||||
s32 sFishingRandSeed1;
|
||||
s32 sFishingRandSeed2;
|
||||
s32 sFishingRandSeed3;
|
||||
FishingProp sPondProps[POND_PROP_COUNT];
|
||||
FishingGroupFish sGroupFishes[GROUP_FISH_COUNT];
|
||||
f32 sFishGroupAngle1;
|
||||
@ -404,26 +404,26 @@ void EnFishing_SetColliderElement(s32 index, ColliderJntSph* collider, Vec3f* po
|
||||
collider->elements[index].dim.modelSphere.radius * collider->elements[index].dim.scale * scale * 1.6f;
|
||||
}
|
||||
|
||||
void EnFishing_SeedRand(s32 seed0, s32 seed1, s32 seed2) {
|
||||
sRandSeed0 = seed0;
|
||||
sRandSeed1 = seed1;
|
||||
sRandSeed2 = seed2;
|
||||
void EnFishing_InitRand(s32 seedInit1, s32 seedInit2, s32 seedInit3) {
|
||||
sFishingRandSeed1 = seedInit1;
|
||||
sFishingRandSeed2 = seedInit2;
|
||||
sFishingRandSeed3 = seedInit3;
|
||||
}
|
||||
|
||||
f32 EnFishing_RandZeroOne(void) {
|
||||
f32 rand;
|
||||
|
||||
// Wichmann-Hill algorithm
|
||||
sRandSeed0 = (sRandSeed0 * 171) % 30269;
|
||||
sRandSeed1 = (sRandSeed1 * 172) % 30307;
|
||||
sRandSeed2 = (sRandSeed2 * 170) % 30323;
|
||||
f32 randFloat;
|
||||
|
||||
rand = (sRandSeed0 / 30269.0f) + (sRandSeed1 / 30307.0f) + (sRandSeed2 / 30323.0f);
|
||||
while (rand >= 1.0f) {
|
||||
rand -= 1.0f;
|
||||
sFishingRandSeed1 = (sFishingRandSeed1 * 171) % 30269;
|
||||
sFishingRandSeed2 = (sFishingRandSeed2 * 172) % 30307;
|
||||
sFishingRandSeed3 = (sFishingRandSeed3 * 170) % 30323;
|
||||
|
||||
randFloat = (sFishingRandSeed1 / 30269.0f) + (sFishingRandSeed2 / 30307.0f) + (sFishingRandSeed3 / 30323.0f);
|
||||
while (randFloat >= 1.0f) {
|
||||
randFloat -= 1.0f;
|
||||
}
|
||||
|
||||
return fabsf(rand);
|
||||
return fabsf(randFloat);
|
||||
}
|
||||
|
||||
s16 EnFishing_SmoothStepToS(s16* pValue, s16 target, s16 scale, s16 step) {
|
||||
@ -730,7 +730,7 @@ void EnFishing_InitPondProps(EnFishing* this, PlayState* play) {
|
||||
Vec3f colliderPos;
|
||||
s16 i;
|
||||
|
||||
EnFishing_SeedRand(1, 29100, 9786);
|
||||
EnFishing_InitRand(1, 29100, 9786);
|
||||
|
||||
for (i = 0; i < POND_PROP_COUNT; i++) {
|
||||
if (sPondPropInits[i].type == FS_PROP_INIT_STOP) {
|
||||
|
@ -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",),
|
||||
|
@ -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),
|
||||
|
@ -196,42 +196,6 @@ D_060005C4 = 0x060005C4;
|
||||
D_06000A20 = 0x06000A20;
|
||||
D_06000040 = 0x06000040;
|
||||
|
||||
// ovl_Boss_01
|
||||
|
||||
D_06000C44 = 0x06000C44;
|
||||
D_06001884 = 0x06001884;
|
||||
D_0600C338 = 0x0600C338;
|
||||
D_0600C498 = 0x0600C498;
|
||||
D_0600C5E0 = 0x0600C5E0;
|
||||
D_0600C7A8 = 0x0600C7A8;
|
||||
D_0600C7C8 = 0x0600C7C8;
|
||||
D_0600C7F8 = 0x0600C7F8;
|
||||
D_0600E3E8 = 0x0600E3E8;
|
||||
D_0600F0A8 = 0x0600F0A8;
|
||||
D_0600FDEC = 0x0600FDEC;
|
||||
D_0600FF94 = 0x0600FF94;
|
||||
D_06010150 = 0x06010150;
|
||||
D_06010980 = 0x06010980;
|
||||
D_060124CC = 0x060124CC;
|
||||
D_06012B70 = 0x06012B70;
|
||||
D_06012D10 = 0x06012D10;
|
||||
D_06012EBC = 0x06012EBC;
|
||||
D_06013480 = 0x06013480;
|
||||
D_0601407C = 0x0601407C;
|
||||
D_06014F14 = 0x06014F14;
|
||||
D_06015A30 = 0x06015A30;
|
||||
D_06016168 = 0x06016168;
|
||||
D_060164CC = 0x060164CC;
|
||||
D_06018438 = 0x06018438;
|
||||
D_06019C10 = 0x06019C10;
|
||||
D_0601F6A4 = 0x0601F6A4;
|
||||
D_060204AC = 0x060204AC;
|
||||
D_060213A8 = 0x060213A8;
|
||||
D_060220A0 = 0x060220A0;
|
||||
D_06022118 = 0x06022118;
|
||||
D_060222D0 = 0x060222D0;
|
||||
D_06022550 = 0x06022550;
|
||||
|
||||
// ovl_Boss_05
|
||||
|
||||
D_060006A4 = 0x060006A4;
|
||||
|
Loading…
x
Reference in New Issue
Block a user