Sector Z, Fortuna & General Docs (#261)

* Sector Z Docs initial

* Sector Z docs

* some other things

* correction

* Space Junk

* SectorZ_SetLevelObjects

* rename assets with correct prefix

* aSzBackgroundTex

* details

* pr review

* Sector X initials

* Meteo Initials

* Sector X things I forgot

* fox_tr360 & fox_ve1 & fox_so initials

* fox_so details

* Zones initials

* More Zones initials

* more zones initials

* area 6 initials

* fortuna inits

* fortuna actors

* some more docs

* more docs for Fortuna

* fix mistake in data incorrectly imported

* Fortuna Radars

* BossFO

* Sector Y Initials

* Venom 2 general Docs

* Some Corneria Docs

* Actor, Scenery and Boss IDs in update and draw functions of gObjectInfo

* more docs and this usage

* fox_360 this usage

* more actor types and this usages

* fox_effect type usage

* training docs

* some Sector X docs

* fix incorrect usage of "this"

* fix comment

* more docs

* funcNames

* fox_bg spacing

* boolean

* scenery corneria bumbs

* terrain bumps

* corneria arch

* more corneria objects

* hitboxes

* more corneria objects

* more corneria level objects

* more corneria objects

* aCoWaterfallDL

* corneria docs

* more corneria docs

* Granga swork start

* corneria swork

* Corneria

* Corneria Granga docs

* more granga docs

* granga work buffer enum

* CarrierParts enum use

* option

* Corneria Docs

* GRANGA_FWK

* fox_co.h header

* fix Fault_FillRectangle typo

* PR reviews

* sCsTeamInitialPos

* Doodad
This commit is contained in:
Alejandro Asenjo Nitti
2024-07-06 09:47:49 -03:00
committed by GitHub
parent 24e316a2b2
commit c348962cab
75 changed files with 14011 additions and 12859 deletions
+299 -119
View File
File diff suppressed because it is too large Load Diff
+29 -28
View File
@@ -69,7 +69,7 @@ void PlayerShot_ExplodeBomb(PlayerShot* shot) {
shot->unk_48 * 3.0f, 10);
func_effect_8007ADF4(shot->obj.pos.x, gGroundHeight, shot->obj.pos.z, shot->unk_48 * 0.05f,
shot->unk_48 * 0.5f);
func_effect_8007A6F0(&shot->obj.pos, NA_SE_OB_WATER_BOUND_M);
Effect_SpawnTimedSfxAtPos(&shot->obj.pos, NA_SE_OB_WATER_BOUND_M);
} else {
func_enmy_80062B60(shot->obj.pos.x, shot->obj.pos.z, 0, shot->unk_48 * 3.0f);
}
@@ -305,10 +305,11 @@ s32 PlayerShot_CheckObjectHitbox(PlayerShot* shot, f32* hitboxData, Object* obj)
if (!((obj->id >= OBJ_ACTOR_START) && (obj->id < OBJ_ACTOR_MAX))) {
PlayerShot_Impact(shot);
}
if ((obj->id == OBJ_SCENERY_15) || ((obj->id == OBJ_SCENERY_22) && (i == 0)) ||
((obj->id == OBJ_SCENERY_10) && (i == 0)) || ((obj->id == OBJ_SCENERY_13) && (i == 0)) ||
((obj->id == OBJ_SCENERY_12) && (i < 3)) || (obj->id == OBJ_SCENERY_16) ||
(obj->id == OBJ_SCENERY_14)) {
if ((obj->id == OBJ_SCENERY_CO_BUILDING_6) || ((obj->id == OBJ_SCENERY_CO_ARCH_3) && (i == 0)) ||
((obj->id == OBJ_SCENERY_CO_BUILDING_1) && (i == 0)) ||
((obj->id == OBJ_SCENERY_CO_BUILDING_4) && (i == 0)) ||
((obj->id == OBJ_SCENERY_CO_BUILDING_3) && (i < 3)) || (obj->id == OBJ_SCENERY_CO_BUILDING_7) ||
(obj->id == OBJ_SCENERY_CO_BUILDING_5)) {
if (shot->obj.pos.x - (obj->pos.x + hitbox->x.offset) < -hitbox->x.size) {
if (hitbox->z.size + (obj->pos.z + hitbox->z.offset) < shot->obj.pos.z) {
shot->obj.pos.z = hitbox->z.size + (obj->pos.z + hitbox->z.offset) - 5.0f;
@@ -336,7 +337,7 @@ s32 PlayerShot_CheckObjectHitbox(PlayerShot* shot, f32* hitboxData, Object* obj)
return i + 1;
}
if (obj->id < OBJ_SCENERY_MAX) {
func_effect_8007A6F0(&shot->obj.pos, NA_SE_EN_REFLECT);
Effect_SpawnTimedSfxAtPos(&shot->obj.pos, NA_SE_EN_REFLECT);
}
return i + 1;
}
@@ -485,7 +486,7 @@ bool PlayerShot_CheckPolyCollision(PlayerShot* shot, ObjectId objId, Object* obj
sp7C.z = obj->pos.z - shot->obj.pos.z;
// undefined behavior: if this check fails, the function returns no value
if (((fabsf(sp7C.x) < 1100.0f) && (fabsf(sp7C.z) < 1100.0f) && (shot->obj.pos.y < 900.0f)) ||
(objId == OBJ_BOSS_SZ) || (objId == ACTOR_EVENT_ID) || (objId == OBJ_SCENERY_ME_TUNNEL)) {
(objId == OBJ_BOSS_SZ_GREAT_FOX) || (objId == ACTOR_EVENT_ID) || (objId == OBJ_SCENERY_ME_TUNNEL)) {
Matrix_RotateY(gCalcMatrix, -obj->rot.y * M_DTOR, MTXF_NEW);
sp7C.x = shot->obj.pos.x - obj->pos.x;
sp7C.y = shot->obj.pos.y - obj->pos.y;
@@ -506,8 +507,8 @@ bool PlayerShot_CheckPolyCollision(PlayerShot* shot, ObjectId objId, Object* obj
case OBJ_ACTOR_180:
objId = COL1_0;
break;
case OBJ_SCENERY_4:
case OBJ_SCENERY_5:
case OBJ_SCENERY_CO_BUMP_4:
case OBJ_SCENERY_CO_BUMP_5:
objId = COL2_1;
useCol2 = true;
break;
@@ -529,7 +530,7 @@ bool PlayerShot_CheckPolyCollision(PlayerShot* shot, ObjectId objId, Object* obj
case ACTOR_EVENT_ID:
objId = COL1_3;
break;
case OBJ_BOSS_SZ:
case OBJ_BOSS_SZ_GREAT_FOX:
objId = COL1_8;
break;
case OBJ_SCENERY_ME_TUNNEL:
@@ -555,11 +556,11 @@ bool PlayerShot_CheckPolyCollision(PlayerShot* shot, ObjectId objId, Object* obj
objId = COL2_7;
useCol2 = true;
break;
case OBJ_SCENERY_2:
case OBJ_SCENERY_CO_BUMP_2:
objId = COL2_2;
useCol2 = true;
break;
case OBJ_SCENERY_3:
case OBJ_SCENERY_CO_BUMP_3:
case OBJ_SCENERY_69:
objId = COL2_3;
useCol2 = true;
@@ -612,7 +613,7 @@ bool PlayerShot_CheckPolyCollision(PlayerShot* shot, ObjectId objId, Object* obj
return false;
}
PlayerShot_Impact(shot);
func_effect_8007A6F0(&shot->obj.pos, NA_SE_EN_REFLECT);
Effect_SpawnTimedSfxAtPos(&shot->obj.pos, NA_SE_EN_REFLECT);
if (gCurrentLevel == LEVEL_METEO) {
Matrix_RotateY(gCalcMatrix, obj->rot.y * M_DTOR, MTXF_NEW);
sp7C.x = sp4C.x - obj->pos.x;
@@ -635,7 +636,7 @@ bool PlayerShot_CheckPolyCollision(PlayerShot* shot, ObjectId objId, Object* obj
return false;
}
PlayerShot_Impact(shot);
func_effect_8007A6F0(&shot->obj.pos, NA_SE_EN_REFLECT);
Effect_SpawnTimedSfxAtPos(&shot->obj.pos, NA_SE_EN_REFLECT);
if (gCurrentLevel == LEVEL_FORTUNA) {
func_effect_8007BC7C(shot->obj.pos.x, shot->obj.pos.y, shot->obj.pos.z, 3.0f);
func_effect_8007BC7C(shot->obj.pos.x, shot->obj.pos.y, shot->obj.pos.z, 3.0f);
@@ -790,7 +791,7 @@ void PlayerShot_CollisionCheck(PlayerShot* shot) {
default:
if (actor->info.unk_16 != 0) {
if (actor->obj.id == OBJ_ACTOR_ALLRANGE) {
if ((actor->aiType >= AI360_WOLF) && (actor->aiType < AI360_10) &&
if ((actor->aiType >= AI360_WOLF) && (actor->aiType < AI360_ENEMY) &&
(((gCurrentLevel == LEVEL_VENOM_2) &&
(shot->sourceId <= NPC_SHOT_ID + AI360_PEPPY)) ||
((gCurrentLevel != LEVEL_VENOM_2) && (shot->sourceId == AI360_FOX))) &&
@@ -906,8 +907,8 @@ void PlayerShot_CollisionCheck(PlayerShot* shot) {
if ((scenery360->obj.id == OBJ_SCENERY_117) || (scenery360->obj.id == OBJ_SCENERY_141) ||
(scenery360->obj.id == OBJ_SCENERY_149) || (scenery360->obj.id == OBJ_SCENERY_150) ||
(scenery360->obj.id == OBJ_SCENERY_148) || (scenery360->obj.id == OBJ_SCENERY_143) ||
(scenery360->obj.id == OBJ_SCENERY_160) || (scenery360->obj.id == OBJ_SCENERY_1) ||
(scenery360->obj.id == OBJ_SCENERY_3) || (scenery360->obj.id == OBJ_SCENERY_140)) {
(scenery360->obj.id == OBJ_SCENERY_160) || (scenery360->obj.id == OBJ_SCENERY_CO_BUMP_1) ||
(scenery360->obj.id == OBJ_SCENERY_CO_BUMP_3) || (scenery360->obj.id == OBJ_SCENERY_140)) {
PlayerShot_CheckPolyCollision(shot, scenery360->obj.id, &scenery360->obj);
} else {
PlayerShot_CheckObjectHitbox(shot, scenery360->info.hitbox, &scenery360->obj);
@@ -917,13 +918,13 @@ void PlayerShot_CollisionCheck(PlayerShot* shot) {
} else {
for (i = 0, scenery = gScenery; i < ARRAY_COUNT(gScenery); i++, scenery++) {
if (scenery->obj.status == OBJ_ACTIVE) {
if ((scenery->obj.id == OBJ_SCENERY_1) || (scenery->obj.id == OBJ_SCENERY_ME_TUNNEL) ||
(scenery->obj.id == OBJ_SCENERY_4) || (scenery->obj.id == OBJ_SCENERY_5) ||
if ((scenery->obj.id == OBJ_SCENERY_CO_BUMP_1) || (scenery->obj.id == OBJ_SCENERY_ME_TUNNEL) ||
(scenery->obj.id == OBJ_SCENERY_CO_BUMP_4) || (scenery->obj.id == OBJ_SCENERY_CO_BUMP_5) ||
(scenery->obj.id == OBJ_SCENERY_120) || (scenery->obj.id == OBJ_SCENERY_124) ||
(scenery->obj.id == OBJ_SCENERY_126) || (scenery->obj.id == OBJ_SCENERY_47) ||
(scenery->obj.id == OBJ_SCENERY_2) || (scenery->obj.id == OBJ_SCENERY_3) ||
(scenery->obj.id == OBJ_SCENERY_CO_BUMP_2) || (scenery->obj.id == OBJ_SCENERY_CO_BUMP_3) ||
(scenery->obj.id == OBJ_SCENERY_67) || (scenery->obj.id == OBJ_SCENERY_74) ||
(scenery->obj.id == OBJ_SCENERY_3)) {
(scenery->obj.id == OBJ_SCENERY_CO_BUMP_3)) {
PlayerShot_CheckPolyCollision(shot, scenery->obj.id, &scenery->obj);
} else {
temp_v0 = PlayerShot_CheckObjectHitbox(shot, scenery->info.hitbox, &scenery->obj);
@@ -953,7 +954,7 @@ void PlayerShot_CollisionCheck(PlayerShot* shot) {
for (i = 0, boss = gBosses; i < ARRAY_COUNT(gBosses); i++, boss++) {
if ((boss->obj.status == OBJ_ACTIVE) && (boss->timer_05A == 0)) {
if ((boss->obj.id == OBJ_BOSS_FO) || (boss->obj.id == OBJ_BOSS_VE2) || (boss->obj.id == OBJ_BOSS_309) ||
(boss->obj.id == OBJ_BOSS_SZ)) {
(boss->obj.id == OBJ_BOSS_SZ_GREAT_FOX)) {
PlayerShot_CheckPolyCollision(shot, boss->obj.id, &boss->obj);
} else if (boss->obj.id == OBJ_BOSS_310) {
test.x = fabsf(boss->obj.pos.x - shot->obj.pos.x) * .8333333f;
@@ -1614,7 +1615,7 @@ void PlayerShot_UpdateBeam(PlayerShot* shot, s32 index) {
PlayerShot_Impact(shot);
shot->obj.pos.y = gGroundHeight + 2;
if (gCurrentLevel == LEVEL_BOLSE) {
func_effect_8007A6F0(&shot->obj.pos, NA_SE_EN_REFLECT);
Effect_SpawnTimedSfxAtPos(&shot->obj.pos, NA_SE_EN_REFLECT);
}
if ((gCamCount != 4) && (gCurrentLevel != LEVEL_AQUAS)) {
if ((shot->sourceId == TEAM_ID_FOX) && (gLaserStrength[0] != LASERS_SINGLE) &&
@@ -1660,7 +1661,7 @@ void PlayerShot_UpdateBeam(PlayerShot* shot, s32 index) {
Object_Kill(&shot->obj, shot->sfxSource);
return;
}
if ((shot->sourceId < NPC_SHOT_ID + AI360_10) || ((shot->timer % 2) != 0)) {
if ((shot->sourceId < NPC_SHOT_ID + AI360_ENEMY) || ((shot->timer % 2) != 0)) {
PlayerShot_CollisionCheck(shot);
}
}
@@ -1863,7 +1864,7 @@ void PlayerShot_ApplyExplosionDamage(PlayerShot* shot, s32 damage) {
scenery = gScenery;
for (i = 0; i < ARRAY_COUNT(gScenery); i++, scenery++) {
if ((scenery->obj.status == OBJ_ACTIVE) && (scenery->obj.id == OBJ_SCENERY_56)) {
if ((scenery->obj.status == OBJ_ACTIVE) && (scenery->obj.id == OBJ_SCENERY_CO_DOORS)) {
dx = scenery->obj.pos.x - shot->obj.pos.x;
dy = scenery->obj.pos.y - shot->obj.pos.y;
dz = scenery->obj.pos.z - shot->obj.pos.z;
@@ -1904,7 +1905,7 @@ void PlayerShot_ApplyExplosionDamage(PlayerShot* shot, s32 damage) {
actor->hitPos.z = shot->obj.pos.z;
if (sqrtf(SQ(dx) + SQ(dy) + SQ(dz)) < radius) {
if ((actor->obj.id == OBJ_ACTOR_193) || (actor->obj.id == OBJ_ACTOR_186) ||
(actor->obj.id == OBJ_ACTOR_190) || (actor->obj.id == OBJ_ACTOR_202) ||
(actor->obj.id == OBJ_MISSILE_SEEK_TEAM) || (actor->obj.id == OBJ_ACTOR_202) ||
(actor->obj.id == OBJ_ACTOR_201) || (actor->obj.id == OBJ_ACTOR_187) ||
((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->eventType == EVID_SUPPLY_CRATE)) ||
((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->eventType == EVID_SX_WARP_GATE)) ||
@@ -2093,7 +2094,7 @@ void PlayerShot_UpdateLockOnShot(PlayerShot* shot) {
shot->unk_48 * 3.0f, 5);
func_effect_8007ADF4(shot->obj.pos.x, gGroundHeight, shot->obj.pos.z, shot->unk_48 * 0.05f,
shot->unk_48 * 0.5f);
func_effect_8007A6F0(&shot->obj.pos, NA_SE_OB_WATER_BOUND_M);
Effect_SpawnTimedSfxAtPos(&shot->obj.pos, NA_SE_OB_WATER_BOUND_M);
}
PlayerShot_Impact(shot);
} else {
@@ -2246,7 +2247,7 @@ void PlayerShot_UpdateShot(PlayerShot* shot, s32 index) {
}
}
Object_Kill(&shot->obj, shot->sfxSource);
func_effect_8007A6F0(&shot->obj.pos, NA_SE_SPREAD_EXPLOSION);
Effect_SpawnTimedSfxAtPos(&shot->obj.pos, NA_SE_SPREAD_EXPLOSION);
} else if (gCurrentLevel == LEVEL_AQUAS) {
Aquas_801ABA40(shot);
} else {
+82 -15
View File
@@ -168,20 +168,19 @@ void Background_DrawStarfield(void) {
}
void Background_DrawPartialStarfield(s32 yMin, s32 yMax) {
f32 by; // 8C
f32 bx; // 88
s16 vy; // 84
f32 by;
f32 bx;
s16 vy;
s16 vx;
s32 i; // 80
s32 var_s2; // 7C
f32 cos; // 78
f32 sin; // 74
f32 spf68; // 70
f32 spf64; // 6C
f32* sp60; // 68
f32* sp5C; // 64
u32* sp58; // 60
s32 i;
s32 var_s2;
f32 cos;
f32 sin;
f32 spf68;
f32 spf64;
f32* sp60;
f32* sp5C;
u32* sp58;
gDPPipeSync(gMasterDisp++);
gDPSetCycleType(gMasterDisp++, G_CYC_FILL);
gDPSetCombineMode(gMasterDisp++, G_CC_SHADE, G_CC_SHADE);
@@ -261,10 +260,13 @@ void Background_DrawBackdrop(void) {
levelType = LEVELTYPE_SPACE;
}
levelId = gCurrentLevel;
Matrix_Push(&gGfxMatrix);
if (D_ctx_80177C70 == 2) {
Matrix_Scale(gGfxMatrix, 1.2f, 1.2f, 1.0f, MTXF_APPLY);
}
switch (levelType) {
case LEVELTYPE_PLANET:
RCP_SetupDL(&gMasterDisp, SETUPDL_17);
@@ -277,12 +279,14 @@ void Background_DrawBackdrop(void) {
sp13C = Math_ModF(Math_RadToDeg(gPlayer[gPlayerNum].camYaw) * (-7280.0f / 360.0f) * 5.0f, 7280.0f);
Matrix_RotateZ(gGfxMatrix, gPlayer[gPlayerNum].camRoll * M_DTOR, MTXF_APPLY);
Matrix_Translate(gGfxMatrix, sp13C, -2000.0f + sp134, -6000.0f, MTXF_APPLY);
if (gCurrentLevel == LEVEL_FORTUNA) {
Matrix_Translate(gGfxMatrix, 0.0f, -2000.0f, 0, MTXF_APPLY);
} else if (gCurrentLevel == LEVEL_KATINA) {
Matrix_Translate(gGfxMatrix, 0.0f, -2500.0f, 0, MTXF_APPLY);
}
Matrix_SetGfxMtx(&gMasterDisp);
switch (gCurrentLevel) {
case LEVEL_VERSUS:
if (gVersusStage == VS_STAGE_CORNERIA) {
@@ -305,6 +309,7 @@ void Background_DrawBackdrop(void) {
}
Matrix_Translate(gGfxMatrix, 7280.0f, 0.0f, 0.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
switch (gCurrentLevel) {
case LEVEL_VERSUS:
if (gVersusStage == VS_STAGE_CORNERIA) {
@@ -326,6 +331,7 @@ void Background_DrawBackdrop(void) {
break;
}
break;
case LEVEL_CORNERIA:
case LEVEL_VENOM_1:
sp134 = (gPlayer[gPlayerNum].camPitch * -6000.0f) - (gPlayer[gPlayerNum].cam.eye.y * 0.6f);
@@ -333,6 +339,7 @@ void Background_DrawBackdrop(void) {
Matrix_RotateZ(gGfxMatrix, gPlayer[gPlayerNum].camRoll * M_DTOR, MTXF_APPLY);
Matrix_Translate(gGfxMatrix, sp13C, -2000.0f + sp134, -6000.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
switch (gCurrentLevel) {
case LEVEL_CORNERIA:
gSPDisplayList(gMasterDisp++, D_CO_60059F0);
@@ -341,8 +348,10 @@ void Background_DrawBackdrop(void) {
gSPDisplayList(gMasterDisp++, D_VE1_60046F0);
break;
}
Matrix_Translate(gGfxMatrix, 7280.0f, 0.0f, 0.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
switch (gCurrentLevel) {
case LEVEL_CORNERIA:
gSPDisplayList(gMasterDisp++, D_CO_60059F0);
@@ -352,6 +361,7 @@ void Background_DrawBackdrop(void) {
break;
}
break;
case LEVEL_VENOM_ANDROSS:
if (gDrawBackdrop != 6) {
if ((gDrawBackdrop == 2) || (gDrawBackdrop == 7)) {
@@ -412,6 +422,7 @@ void Background_DrawBackdrop(void) {
}
}
break;
case LEVEL_AQUAS:
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) {
sp13C = Math_RadToDeg(gPlayer[gPlayerNum].camYaw) - gPlayer[gPlayerNum].yRot_114;
@@ -423,6 +434,7 @@ void Background_DrawBackdrop(void) {
Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, sp13C, sp134, -7000.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) {
gSPDisplayList(gMasterDisp++, D_AQ_601AFF0);
} else {
@@ -445,6 +457,7 @@ void Background_DrawBackdrop(void) {
Matrix_Pop(&gGfxMatrix);
}
break;
case LEVEL_SOLAR:
case LEVEL_ZONESS:
case LEVEL_MACBETH:
@@ -452,6 +465,7 @@ void Background_DrawBackdrop(void) {
sp12C = Math_RadToDeg(gPlayer[gPlayerNum].camYaw) - gPlayer[gPlayerNum].yRot_114;
sp134 = (gPlayer[gPlayerNum].camPitch * -7000.0f) - (gPlayer[gPlayerNum].cam.eye.y * 0.6f);
sp13C = sp12C * -40.44444f * 2.0f; // close to 7280.0f / 180.0f
if ((gCurrentLevel == LEVEL_TITANIA) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) &&
(gPlayer[0].csState < 3)) {
D_bg_8015F968 += __sinf(gPlayer[0].camYaw) * 20.0f;
@@ -462,10 +476,12 @@ void Background_DrawBackdrop(void) {
D_bg_8015F968 = __sinf(gPlayer[0].camPitch) * 7000.0f;
sp134 -= fabsf(D_bg_8015F968);
}
sp13C = Math_ModF(sp13C, 7280.0f);
RCP_SetupDL_17();
Matrix_RotateZ(gGfxMatrix, gPlayer[gPlayerNum].camRoll * M_DTOR, MTXF_APPLY);
Matrix_Scale(gGfxMatrix, 1.5f, 1.0f, 1.0f, MTXF_APPLY);
if ((gCurrentLevel == LEVEL_TITANIA) || (gCurrentLevel == LEVEL_ZONESS)) {
Matrix_Translate(gGfxMatrix, sp13C, -3000.0f + sp134, -7000.0f, MTXF_APPLY);
} else if (gCurrentLevel == LEVEL_SOLAR) {
@@ -474,6 +490,7 @@ void Background_DrawBackdrop(void) {
Matrix_Translate(gGfxMatrix, sp13C, -4000.0f + sp134, -7000.0f, MTXF_APPLY);
}
Matrix_SetGfxMtx(&gMasterDisp);
if (gCurrentLevel == LEVEL_TITANIA) {
gSPDisplayList(gMasterDisp++, D_TI_6000A80);
} else if (gCurrentLevel == LEVEL_MACBETH) {
@@ -490,6 +507,7 @@ void Background_DrawBackdrop(void) {
}
Matrix_Translate(gGfxMatrix, 7280.0f * sp13C, 0.0f, 0.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
if (gCurrentLevel == LEVEL_TITANIA) {
gSPDisplayList(gMasterDisp++, D_TI_6000A80);
} else if (gCurrentLevel == LEVEL_MACBETH) {
@@ -502,6 +520,7 @@ void Background_DrawBackdrop(void) {
break;
}
break;
case LEVELTYPE_SPACE:
if (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_ENTER_WARP_ZONE) {
Matrix_Push(&gGfxMatrix);
@@ -534,13 +553,16 @@ void Background_DrawBackdrop(void) {
sp138 = Math_ModF(sp138, 480.0f);
sp134 = Math_ModF(sp134, 360.0f);
}
if ((sp12C < 180.0f) && (sp138 > 380.0f)) {
sp138 = -(480.0f - sp138);
}
if ((sp130 > 180.0f) && (sp134 > 280.0f)) {
sp134 = -(360.0f - sp134);
}
Matrix_RotateZ(gGfxMatrix, gStarfieldRoll, MTXF_APPLY);
switch (levelId) {
case LEVEL_WARP_ZONE:
if ((s32) gWarpZoneBgAlpha != 0) {
@@ -558,6 +580,7 @@ void Background_DrawBackdrop(void) {
Matrix_Pop(&gGfxMatrix);
}
break;
case LEVEL_METEO:
if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) && (gCsFrameCount > 260)) {
Matrix_Translate(gGfxMatrix, sp138 - 120.0f, -(sp134 - 120.0f) - 30.0f, -290.0f,
@@ -573,6 +596,7 @@ void Background_DrawBackdrop(void) {
gSPDisplayList(gMasterDisp++, D_ME_600DDF0);
}
break;
case LEVEL_SECTOR_X:
if (gSceneSetup == 0) {
Matrix_Translate(gGfxMatrix, sp138 - 120.0f, -(sp134 - 120.0f), -290.0f, MTXF_APPLY);
@@ -583,6 +607,7 @@ void Background_DrawBackdrop(void) {
gSPDisplayList(gMasterDisp++, D_SX_6029890);
}
break;
case LEVEL_TRAINING:
Matrix_Translate(gGfxMatrix, sp138 - 120.0f, -(sp134 - 120.0f), -290.0f, MTXF_APPLY);
Matrix_Scale(gGfxMatrix, 0.2f, 0.2f, 1.0f, MTXF_APPLY);
@@ -591,6 +616,7 @@ void Background_DrawBackdrop(void) {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255);
gSPDisplayList(gMasterDisp++, D_TR_6003760);
break;
case LEVEL_AREA_6:
case LEVEL_UNK_4:
sp128 = (gPathProgress * 0.00004f) + 0.5f;
@@ -609,6 +635,7 @@ void Background_DrawBackdrop(void) {
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_A6_601BB40);
break;
case LEVEL_FORTUNA:
sp128 = 1.5f;
if ((gCsFrameCount > 400) && (gMissionStatus == MISSION_COMPLETE)) {
@@ -619,6 +646,7 @@ void Background_DrawBackdrop(void) {
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_FO_600B4B0);
break;
case LEVEL_BOLSE:
sp128 = 1.0f;
if ((gCsFrameCount > 500) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) {
@@ -629,13 +657,15 @@ void Background_DrawBackdrop(void) {
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_BO_600D190);
break;
case LEVEL_SECTOR_Z:
Matrix_Translate(gGfxMatrix, sp138 - 120.0f, -(sp134 - 120.0f), -290.0f, MTXF_APPLY);
Matrix_Scale(gGfxMatrix, 0.5f, 0.5f, 0.5f, MTXF_APPLY);
Matrix_RotateX(gGfxMatrix, M_PI / 2, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_SZ_6002F80);
gSPDisplayList(gMasterDisp++, aSzBackgroundDL);
break;
case LEVEL_SECTOR_Y:
Matrix_Translate(gGfxMatrix, sp138 - 120.0f, -(sp134 - 120.0f), -290.0f, MTXF_APPLY);
Matrix_Scale(gGfxMatrix, 0.4f, 0.4f, 1.0f, MTXF_APPLY);
@@ -648,6 +678,7 @@ void Background_DrawBackdrop(void) {
}
Matrix_Pop(&gGfxMatrix);
}
if (gStarWarpDistortion > 0.0f) {
f32* xStar = gStarOffsetsX;
f32* yStar = gStarOffsetsY;
@@ -655,7 +686,7 @@ void Background_DrawBackdrop(void) {
RCP_SetupDL_14();
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 128, 128, 255, 255);
i = 0;
zRot = 0.0f;
for (i = 0; i < 300; i++, xStar++, yStar++) {
*xStar = RAND_FLOAT_SEEDED(480.0f) - 80.0f;
@@ -690,10 +721,12 @@ void Background_DrawSun(void) {
(gCurrentLevel == LEVEL_SOLAR) || (gCurrentLevel == LEVEL_TRAINING) || gVersusMode) {
return;
}
gPlayerGlareAlphas[gPlayerNum] -= sSunGlareAlphaStep[levelType];
if (gPlayerGlareAlphas[gPlayerNum] > 300) {
gPlayerGlareAlphas[gPlayerNum] = 0;
}
if (((gCurrentLevel == LEVEL_AQUAS) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO)) ||
(((gPlayer[gPlayerNum].state_1C8 == PLAYERSTATE_1C8_U_TURN) || (gLevelMode == LEVELMODE_ALL_RANGE) ||
(gPlayer[gPlayerNum].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) &&
@@ -701,14 +734,17 @@ void Background_DrawSun(void) {
gPlayerGlareReds[gPlayerNum] = 128;
gPlayerGlareGreens[gPlayerNum] = 128;
gPlayerGlareBlues[gPlayerNum] = 128;
camYaw = Math_RadToDeg(gPlayer[gPlayerNum].camYaw);
camPitch = Math_RadToDeg(gPlayer[gPlayerNum].camPitch);
if (camPitch > 180.0f) {
camPitch -= 360.0f;
}
camYaw -= 135.0f;
gSunViewX = -camYaw * 3.2f;
gSunViewY = (-camPitch * 3.2f) + 130.0f - ((gPlayer[gPlayerNum].cam.eye.y - 350.0f) * 0.015f);
if (gCurrentLevel == LEVEL_KATINA) {
gSunViewY -= 80.0f;
}
@@ -716,6 +752,7 @@ void Background_DrawSun(void) {
gSunViewY -= 60.0f;
gSunViewX -= 480.0f;
}
if ((gSunViewX < 120.0f) && (gSunViewX > -120.0f) && (gSunViewY < 120.0f)) {
gPlayerGlareAlphas[gPlayerNum] += sSunGlareAlphaStep[levelType] * 2;
if (sSunGlareMaxAlpha[levelType] < gPlayerGlareAlphas[gPlayerNum]) {
@@ -723,6 +760,7 @@ void Background_DrawSun(void) {
}
}
}
if (gPlayerGlareAlphas[gPlayerNum] != 0) {
Matrix_Push(&gGfxMatrix);
Matrix_RotateZ(gGfxMatrix, gPlayer[gPlayerNum].camRoll * M_DTOR, MTXF_APPLY);
@@ -732,12 +770,14 @@ void Background_DrawSun(void) {
sunAlpha = sSunAlphas;
sunDL = sSunDLs;
sunScale = sSunScales;
if (gCurrentLevel == LEVEL_KATINA) {
sunColor = sKaSunColors;
sunAlpha = sKaSunAlphas;
sunDL = sKaSunDLs;
sunScale = sKaSunScales;
}
for (i = 0; i < 5; i++, sunColor++, sunAlpha++, sunDL++, sunScale++) {
Matrix_Push(&gGfxMatrix);
Matrix_Scale(gGfxMatrix, *sunScale, *sunScale, *sunScale, MTXF_APPLY);
@@ -766,11 +806,13 @@ void Background_DrawLensFlare(void) {
(gPlayerGlareAlphas[gPlayerNum] == 0)) {
return;
}
alphaMod = 1.0f;
if (gPlayerGlareAlphas[gPlayerNum] < 80) {
alphaMod = gPlayerGlareAlphas[gPlayerNum] / 80.0f;
}
alphaMod *= sLensFlareAlphaMod[gLevelType];
Matrix_Push(&gGfxMatrix);
Matrix_RotateZ(gGfxMatrix, gPlayer[gPlayerNum].camRoll * M_DTOR, MTXF_APPLY);
Matrix_Translate(gGfxMatrix, gSunViewX, gSunViewY, -200.0f, MTXF_APPLY);
@@ -782,6 +824,7 @@ void Background_DrawLensFlare(void) {
lensFlareDL = &sSunDLs[5];
lensFlareScale = &sSunScales[5];
lensFlareShift = &sSunShifts[5];
if (gCurrentLevel == LEVEL_KATINA) {
lensFlareColor = &sKaSunColors[5];
lensFlareAlpha = &sKaSunAlphas[5];
@@ -789,6 +832,7 @@ void Background_DrawLensFlare(void) {
lensFlareScale = &sKaSunScales[5];
lensFlareShift = &sKaSunShifts[5];
}
for (i = 5; i < 13; i++, lensFlareColor++, lensFlareAlpha++, lensFlareDL++, lensFlareScale++, lensFlareShift++) {
Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, *lensFlareShift * lensFlareOffsetX, *lensFlareShift * -lensFlareOffsetY, 0.0f,
@@ -828,6 +872,7 @@ void Background_DrawGround(void) {
Bolse_DrawDynamicGround();
return;
}
sp1D4 = 0.0f;
if ((gGroundType != 10) && (gGroundType != 11)) {
sp1D4 = -4000.0f;
@@ -849,10 +894,13 @@ void Background_DrawGround(void) {
sp1B4.x = 0;
sp1B4.y = 0;
sp1B4.z = -5500.0f;
Matrix_RotateY(gCalcMatrix, -gPlayer[gPlayerNum].camYaw, MTXF_NEW);
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp1B4, &sp1A8);
temp_fv1 = gPlayer[gPlayerNum].cam.eye.x + sp1A8.x;
temp_fa0 = gPlayer[gPlayerNum].cam.eye.z + sp1A8.z;
if (temp_fv1 > 6000.0f) {
gPlayer[gPlayerNum].xPath = 12000.0f;
}
@@ -865,6 +913,7 @@ void Background_DrawGround(void) {
if (temp_fv1 < -18000.0f) {
gPlayer[gPlayerNum].xPath = -24000.0f;
}
if (temp_fa0 > 6000.0f) {
sp1D4 = 12000.0f;
}
@@ -878,12 +927,16 @@ void Background_DrawGround(void) {
sp1D4 = -24000.0f;
}
}
Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, gPlayer[gPlayerNum].xPath, -3.0f + gCameraShakeY, sp1D4, MTXF_APPLY);
if (D_ctx_80177C70 == 2) {
Matrix_Scale(gGfxMatrix, 1.2f, 1.2f, 1.0f, MTXF_APPLY);
}
Matrix_SetGfxMtx(&gMasterDisp);
switch (gCurrentLevel) {
case LEVEL_CORNERIA:
if (gGroundClipMode != 0) {
@@ -891,6 +944,7 @@ void Background_DrawGround(void) {
} else {
RCP_SetupDL_20(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
}
if (gLevelMode == LEVELMODE_ON_RAILS) {
gDPSetTextureImage(gMasterDisp++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, SEGMENTED_TO_VIRTUAL(D_CO_601B6C0));
temp_s0 = fabsf(Math_ModF(2.0f * (gPathTexScroll * 0.2133333f), 128.0f)); // 0.64f / 3.0f
@@ -935,6 +989,7 @@ void Background_DrawGround(void) {
}
}
break;
case LEVEL_VENOM_1:
case LEVEL_MACBETH:
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
@@ -972,6 +1027,7 @@ void Background_DrawGround(void) {
gSPDisplayList(gMasterDisp++, sp1C0);
Matrix_Pop(&gGfxMatrix);
break;
case LEVEL_TRAINING:
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
if (gLevelMode == LEVELMODE_ON_RAILS) {
@@ -1002,10 +1058,12 @@ void Background_DrawGround(void) {
}
}
break;
case LEVEL_AQUAS:
RCP_SetupDL(&gMasterDisp, SETUPDL_20);
sp1C0 = D_AQ_600AB10;
gSPFogPosition(gMasterDisp++, gFogNear, gFogFar);
if ((D_bg_8015F964 == 0) && ((gAqDrawMode == 0) || (gAqDrawMode == 2))) {
gDPLoadTileTexture(gMasterDisp++, SEGMENTED_TO_VIRTUAL(D_AQ_600AB68), G_IM_FMT_RGBA, G_IM_SIZ_16b, 32,
@@ -1029,6 +1087,7 @@ void Background_DrawGround(void) {
gSPDisplayList(gMasterDisp++, sp1C0);
Matrix_Pop(&gGfxMatrix);
}
if ((D_bg_8015F964 != 0) || (gAqDrawMode == 0)) {
gDPLoadTileTexture(gMasterDisp++, SEGMENTED_TO_VIRTUAL(D_AQ_602ACC0), G_IM_FMT_RGBA, G_IM_SIZ_16b, 32,
32);
@@ -1042,6 +1101,7 @@ void Background_DrawGround(void) {
} else {
RCP_SetupDL(&gMasterDisp, SETUPDL_37);
}
if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) && (gPlayer[0].csState < 2)) {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 255);
} else if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE) {
@@ -1050,6 +1110,7 @@ void Background_DrawGround(void) {
} else {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, (s32) D_AQ_801C4188);
}
Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, 0.0f, D_bg_8015F970, -3000.0f, MTXF_APPLY);
Matrix_Scale(gGfxMatrix, 2.0f, 1.0f, 0.5f, MTXF_APPLY);
@@ -1062,6 +1123,7 @@ void Background_DrawGround(void) {
gSPDisplayList(gMasterDisp++, D_AQ_602AC40);
}
break;
case LEVEL_FORTUNA:
case LEVEL_KATINA:
case LEVEL_BOLSE:
@@ -1071,6 +1133,7 @@ void Background_DrawGround(void) {
} else {
RCP_SetupDL_20(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
}
for (i = 0; i < ARRAY_COUNT(sGroundPositions360x); i++) {
Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, sGroundPositions360x[i], 0.0f, sGroundPositions360z[i], MTXF_APPLY);
@@ -1087,12 +1150,14 @@ void Background_DrawGround(void) {
Matrix_Pop(&gGfxMatrix);
}
break;
case LEVEL_VERSUS:
if (gGroundClipMode != 0) {
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
} else {
RCP_SetupDL_20(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
}
for (i = 0; i < ARRAY_COUNT(sGroundPositions360x); i++) {
Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, sGroundPositions360x[i], 0.0f, sGroundPositions360z[i], MTXF_APPLY);
@@ -1105,6 +1170,7 @@ void Background_DrawGround(void) {
Matrix_Pop(&gGfxMatrix);
}
break;
case LEVEL_SOLAR:
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -2000.0f, MTXF_APPLY);
@@ -1116,6 +1182,7 @@ void Background_DrawGround(void) {
gSPDisplayList(gMasterDisp++, D_SO_6002E60);
}
break;
case LEVEL_ZONESS:
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -1500.0f, MTXF_APPLY);
+30 -25
View File
@@ -11,7 +11,7 @@ s32 PAD_boss_C9EC4[14] = { 0 };
const f32 D_boss_800D55D0[] = { 6000.0f, 18000.0f, -6000.0f, -18000.0f }; // unused?
void Boss_AwardBonus(Boss* boss) {
void Boss_AwardBonus(Boss* this) {
s32 bonus;
f32 yOffset;
@@ -26,15 +26,17 @@ void Boss_AwardBonus(Boss* boss) {
} else {
bonus = 0;
}
if (bonus != 0) {
yOffset = 0.0f;
if (boss->obj.id == OBJ_BOSS_292) {
if (this->obj.id == OBJ_BOSS_CO_GRANGA) {
yOffset = 300.0f;
} else if (boss->obj.id == OBJ_BOSS_TI) {
} else if (this->obj.id == OBJ_BOSS_TI) {
yOffset = 200.0f;
}
BonusText_Display(boss->obj.pos.x, boss->obj.pos.y + yOffset, boss->obj.pos.z, bonus);
BonusText_Display(this->obj.pos.x, this->obj.pos.y + yOffset, this->obj.pos.z, bonus);
}
gHitCount += bonus + 1;
D_ctx_80177850 = 15;
}
@@ -57,27 +59,27 @@ void Boss300_Update(Boss300* this) {
void Boss300_Draw(Boss300* this) {
}
void Boss_SetupDebris(Actor* actor, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8,
void Boss_SetupDebris(ActorDebris* this, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8,
f32 arg9, f32 argA, s32 argB, s32 argC) {
Actor_Initialize(actor);
actor->obj.status = OBJ_INIT;
actor->obj.id = OBJ_ACTOR_DEBRIS;
actor->state = argB;
actor->obj.pos.x = arg1;
actor->obj.pos.y = arg2;
actor->obj.pos.z = arg3;
actor->obj.rot.x = arg4;
actor->obj.rot.y = arg5;
actor->obj.rot.z = arg6;
actor->vel.x = arg7;
actor->vel.y = arg8;
actor->vel.z = arg9;
actor->scale = argA;
actor->timer_0BC = argC;
actor->timer_0BE = 20;
Object_SetInfo(&actor->info, actor->obj.id);
Actor_Initialize(this);
this->obj.status = OBJ_INIT;
this->obj.id = OBJ_ACTOR_DEBRIS;
this->state = argB;
this->obj.pos.x = arg1;
this->obj.pos.y = arg2;
this->obj.pos.z = arg3;
this->obj.rot.x = arg4;
this->obj.rot.y = arg5;
this->obj.rot.z = arg6;
this->vel.x = arg7;
this->vel.y = arg8;
this->vel.z = arg9;
this->scale = argA;
this->timer_0BC = argC;
this->timer_0BE = 20;
Object_SetInfo(&this->info, this->obj.id);
if (gLevelType == LEVELTYPE_PLANET) {
actor->gravity = 0.5f;
this->gravity = 0.5f;
}
}
@@ -93,8 +95,8 @@ void Boss_SpawnDebris(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5
}
}
void Boss_SetCullDistance(Boss* boss) {
boss->info.cullDistance = 30000.0f;
void Boss_SetCullDistance(Boss* this) {
this->info.cullDistance = 30000.0f;
}
void Boss_CompleteLevel(Player* player, f32 xPos, f32 yPos, f32 zPos) {
@@ -110,10 +112,13 @@ void Boss_CompleteLevel(Player* player, f32 xPos, f32 yPos, f32 zPos) {
player->csState = 10;
player->csTimer = 50;
player->csEventTimer = 50;
player->unk_000 = 0.0f;
player->unk_004 = 1.0f;
if (player->pos.x < player->xPath) {
player->unk_004 = -1.0f;
}
gPlayer[0].vel.x = 0.0f;
}
+11
View File
@@ -194,6 +194,7 @@ void func_col1_80097C88(Vec3f* norms, Vtx_tn* quad) {
__vtx1_x = quad->ob[0];
__vtx1_y = quad->ob[1];
__vtx1_z = quad->ob[2];
quad++;
__vtx2_x = quad->ob[0];
__vtx2_y = quad->ob[1];
@@ -205,17 +206,21 @@ void func_col1_80097C88(Vec3f* norms, Vtx_tn* quad) {
__dy2 = __vtx2_y - __vtx1_y;
__dz1 = __vtx1_z - __vtx0_z;
__dz2 = __vtx2_z - __vtx1_z;
norms->x = (__dy1 * __dz2) - (__dz1 * __dy2);
norms->y = (__dz1 * __dx2) - (__dx1 * __dz2);
norms->z = (__dx1 * __dy2) - (__dy1 * __dx2);
temp_fv0 = VEC3F_MAG(norms);
if (temp_fv0 != 0.0f) {
norms->x = (norms->x / temp_fv0) * 127.0f;
norms->y = (norms->y / temp_fv0) * 127.0f;
norms->z = (norms->z / temp_fv0) * 127.0f;
}
norms++;
quad++;
__vtx1_x = __vtx2_x;
__vtx1_y = __vtx2_y;
__vtx1_z = __vtx2_z;
@@ -223,15 +228,18 @@ void func_col1_80097C88(Vec3f* norms, Vtx_tn* quad) {
__vtx2_x = quad->ob[0];
__vtx2_y = quad->ob[1];
__vtx2_z = quad->ob[2];
__dx1 = __vtx1_x - __vtx0_x;
__dx2 = __vtx2_x - __vtx1_x;
__dy1 = __vtx1_y - __vtx0_y;
__dy2 = __vtx2_y - __vtx1_y;
__dz1 = __vtx1_z - __vtx0_z;
__dz2 = __vtx2_z - __vtx1_z;
norms->x = (__dy1 * __dz2) - (__dz1 * __dy2);
norms->y = (__dz1 * __dx2) - (__dx1 * __dz2);
norms->z = (__dx1 * __dy2) - (__dy1 * __dx2);
temp_fv0 = VEC3F_MAG(norms);
if (temp_fv0 != 0.0f) {
norms->x = (norms->x / temp_fv0) * 127.0f;
@@ -260,8 +268,10 @@ s32 func_col1_8009808C(Vec3f* pos, Vtx_tn* quad, Vec3f* normOut) {
__vtx3_x = quad[3].ob[0];
__vtx3_y = quad[3].ob[1];
__vtx3_z = quad[3].ob[2];
__pos_x = pos->x;
__pos_z = pos->z;
test1 = TRINORM_Y(__vtx0, __vtx1, __pos);
if (test1 >= 0.0f) {
test1 = TRINORM_Y(__vtx1, __vtx2, __pos);
@@ -277,6 +287,7 @@ s32 func_col1_8009808C(Vec3f* pos, Vtx_tn* quad, Vec3f* normOut) {
}
}
}
if (var_v1 == 0) {
test1 = TRINORM_Y(__vtx0, __vtx2, __pos);
if ((test1 >= 0.0f)) {
+10
View File
@@ -26,14 +26,18 @@ bool func_col2_800A36FC(Vec3f* objPos, Vec3f* colliderPos, CollisionHeader2* col
objRelPos.x = objPos->x - colliderPos->x;
objRelPos.y = objPos->y - colliderPos->y;
objRelPos.z = objPos->z - colliderPos->z;
if ((objRelPos.x < colHeader->min.x) || (objRelPos.y < colHeader->min.y) || (objRelPos.z < colHeader->min.z) ||
(colHeader->max.x < objRelPos.x) || (colHeader->max.y < objRelPos.y) || (colHeader->max.z < objRelPos.z)) {
return false;
}
above = false;
count = colHeader->polyCount;
polys = SEGMENTED_TO_VIRTUAL(colHeader->polys);
mesh = SEGMENTED_TO_VIRTUAL(colHeader->mesh);
for (i = 0; i < count; i++, polys++) {
for (j = 0; j < 3; j++) {
tri[j] = &mesh[polys->vtx[j]];
@@ -43,12 +47,15 @@ bool func_col2_800A36FC(Vec3f* objPos, Vec3f* colliderPos, CollisionHeader2* col
break;
}
}
if (above) {
vtx.x = tri[0]->x;
vtx.y = tri[0]->y;
vtx.z = tri[0]->z;
func_col1_80098860(&triPlane, &vtx, &norm);
hitDataOut->y = func_col1_800988B4(&objRelPos, &triPlane);
if (triPlane.normal.x != 0.0f) {
norm.x = -triPlane.dist / triPlane.normal.x;
} else {
@@ -64,6 +71,7 @@ bool func_col2_800A36FC(Vec3f* objPos, Vec3f* colliderPos, CollisionHeader2* col
} else {
norm.z = 0.0f;
}
hitDataOut->x = Math_Atan2F_XY(norm.y, norm.z);
if (norm.z != 0.0f) {
hitDataOut->z = -Math_Atan2F_XY(__sinf(Math_Atan2F_XY(norm.y, norm.z)) * norm.z, norm.x);
@@ -72,6 +80,7 @@ bool func_col2_800A36FC(Vec3f* objPos, Vec3f* colliderPos, CollisionHeader2* col
} else {
hitDataOut->z = -Math_Atan2F_XY(norm.y, norm.x);
}
if ((objPos->y - hitDataOut->y <= 0.0f) || (gCurrentLevel == LEVEL_MACBETH)) {
sp38 = true;
}
@@ -106,6 +115,7 @@ bool func_col2_800A3A74(Vec3f* point, Vec3f** tri, Vec3f* normOut) {
ptx = point->x;
ptz = point->z;
temp1 = ((vtx2.z - vtx1.z) * (ptx - vtx2.x)) - ((vtx2.x - vtx1.x) * (ptz - vtx2.z));
if (temp1 >= 0.0f) {
if (((vtx3.x - vtx2.x) * (ptz - vtx3.z)) <= ((vtx3.z - vtx2.z) * (ptx - vtx3.x))) {
+2 -2
View File
@@ -7,7 +7,7 @@
s32 gSceneId;
s32 gSceneSetup;
s32 gClearPlayerInfo; // some sort of flag
s32 D_ctx_8017782C; // some sort of flag. all range related?
bool D_ctx_8017782C; // some sort of flag. all range related?
GameState gGameState;
s32 gNextGameStateTimer;
s32 gVsItemSpawnTimer;
@@ -287,7 +287,7 @@ UNK_TYPE P_800D31A8 = 0;
u16 gEnemyShotSpeed; // enemy shot speed?
u8 gShowLevelClearStatusScreen;
s32 gLevelStartStatusScreenTimer;
s32 gLevelClearScreenTimer; // timer for mission accomplished scrren
s32 gLevelClearScreenTimer; // timer for mission accomplished screen
s32 gBossHealthBar;
s32 D_ctx_80177850; // bonus text related. set to 15 but never read
s32 D_ctx_80177858[4]; // set to 3 but never used. related to VS mode customization?
+250 -237
View File
@@ -79,24 +79,26 @@ static Vec3f D_demo_800C9F60[] = {
};
static f32 D_demo_800C9F90[] = { 75.0f, -80.0f, 85.0f, 0.0f };
void func_demo_80048CC4(Actor* actor, s32 arg1) {
Actor_Initialize(actor);
actor->obj.status = OBJ_INIT;
actor->obj.id = OBJ_ACTOR_CUTSCENE;
actor->obj.pos.x = D_demo_800C9F60[arg1].x + gPlayer[0].pos.x;
actor->obj.pos.y = D_demo_800C9F60[arg1].y + gPlayer[0].pos.y;
actor->obj.pos.z = D_demo_800C9F60[arg1].z + gPlayer[0].trueZpos;
actor->rot_0F4.y = 0.0f;
actor->rot_0F4.z = D_demo_800C9F90[arg1];
Object_SetInfo(&actor->info, actor->obj.id);
void func_demo_80048CC4(ActorCutscene* this, s32 index) {
Actor_Initialize(this);
this->obj.status = OBJ_INIT;
this->obj.id = OBJ_ACTOR_CUTSCENE;
if (arg1 == 3) {
AUDIO_PLAY_SFX(NA_SE_GREATFOX_ENGINE, actor->sfxSource, 0);
AUDIO_PLAY_SFX(NA_SE_GREATFOX_BURNER, actor->sfxSource, 0);
actor->animFrame = 1;
this->obj.pos.x = D_demo_800C9F60[index].x + gPlayer[0].pos.x;
this->obj.pos.y = D_demo_800C9F60[index].y + gPlayer[0].pos.y;
this->obj.pos.z = D_demo_800C9F60[index].z + gPlayer[0].trueZpos;
this->rot_0F4.y = 0.0f;
this->rot_0F4.z = D_demo_800C9F90[index];
Object_SetInfo(&this->info, this->obj.id);
if (index == 3) {
AUDIO_PLAY_SFX(NA_SE_GREATFOX_ENGINE, this->sfxSource, 0);
AUDIO_PLAY_SFX(NA_SE_GREATFOX_BURNER, this->sfxSource, 0);
this->animFrame = 1;
} else {
actor->iwork[11] = 1;
AUDIO_PLAY_SFX(NA_SE_ARWING_ENGINE_FG, actor->sfxSource, 4);
this->iwork[11] = 1;
AUDIO_PLAY_SFX(NA_SE_ARWING_ENGINE_FG, this->sfxSource, 4);
}
}
@@ -109,6 +111,7 @@ void Cutscene_WarpZoneComplete(Player* player) {
s32 temp_v1;
gBosses[1].obj.status = OBJ_FREE;
Math_SmoothStepToF(&player->zRotBarrelRoll, 0.0f, 0.1f, 15.0f, 0.0f);
Math_SmoothStepToF(&player->zRotBank, 0.0f, 0.1f, 15.0f, 0.0f);
Math_SmoothStepToF(&player->rot.x, 0.0f, 0.1f, 3.0f, 0.0f);
@@ -190,6 +193,7 @@ void Cutscene_WarpZoneComplete(Player* player) {
default:
break;
}
if (gCsFrameCount > 450) {
Math_SmoothStepToF(&D_ctx_80177A48[0], 1.0f, 0.1f, 0.004f, 0.0f);
player->baseSpeed += 2.0f;
@@ -328,37 +332,40 @@ static f32 D_demo_800CA020[] = { 45.0f, -45.0f, 10.0f, 0.0f };
static s32 D_demo_800CA030[] = { 0, 0, 0, 1 };
static s32 D_demo_800CA040[] = { 0, 0, 0, 0 };
void func_demo_80049968(Actor* actor, s32 arg1) {
Actor_Initialize(actor);
actor->obj.status = OBJ_INIT;
actor->obj.id = OBJ_ACTOR_CUTSCENE;
actor->obj.pos.x = D_demo_800C9FD0[arg1];
actor->obj.pos.y = D_demo_800C9FE0[arg1];
actor->obj.pos.z = D_demo_800C9FF0[arg1] + gPlayer[0].trueZpos;
actor->fwork[0] = D_demo_800CA000[arg1];
actor->fwork[1] = D_demo_800CA010[arg1];
actor->animFrame = D_demo_800CA030[arg1];
actor->state = D_demo_800CA040[arg1];
actor->obj.rot.z = D_demo_800CA020[arg1];
actor->obj.rot.y = 180.0f;
actor->vel.z = gPlayer[0].vel.z;
Object_SetInfo(&actor->info, actor->obj.id);
actor->iwork[11] = 1;
AUDIO_PLAY_SFX(NA_SE_ARWING_ENGINE_FG, actor->sfxSource, 4);
void func_demo_80049968(ActorCutscene* this, s32 index) {
Actor_Initialize(this);
this->obj.status = OBJ_INIT;
this->obj.id = OBJ_ACTOR_CUTSCENE;
this->obj.pos.x = D_demo_800C9FD0[index];
this->obj.pos.y = D_demo_800C9FE0[index];
this->obj.pos.z = D_demo_800C9FF0[index] + gPlayer[0].trueZpos;
this->fwork[0] = D_demo_800CA000[index];
this->fwork[1] = D_demo_800CA010[index];
this->animFrame = D_demo_800CA030[index];
this->state = D_demo_800CA040[index];
this->obj.rot.z = D_demo_800CA020[index];
this->obj.rot.y = 180.0f;
this->vel.z = gPlayer[0].vel.z;
Object_SetInfo(&this->info, this->obj.id);
this->iwork[11] = 1;
AUDIO_PLAY_SFX(NA_SE_ARWING_ENGINE_FG, this->sfxSource, 4);
}
void func_demo_80049A9C(Effect* effect, f32 x, f32 y, f32 z) {
Effect_Initialize(effect);
effect->obj.status = OBJ_INIT;
effect->obj.id = OBJ_EFFECT_346;
effect->timer_50 = 100;
effect->scale2 = 0.2f;
effect->obj.pos.x = x;
effect->obj.pos.y = y;
effect->obj.pos.z = z;
effect->vel.z = 40.0f;
effect->obj.rot.z = RAND_FLOAT(360.0f);
Object_SetInfo(&effect->info, effect->obj.id);
void func_demo_80049A9C(Effect346* this, f32 x, f32 y, f32 z) {
Effect_Initialize(this);
this->obj.status = OBJ_INIT;
this->obj.id = OBJ_EFFECT_346;
this->timer_50 = 100;
this->scale2 = 0.2f;
this->obj.pos.x = x;
this->obj.pos.y = y;
this->obj.pos.z = z;
this->vel.z = 40.0f;
this->obj.rot.z = RAND_FLOAT(360.0f);
Object_SetInfo(&this->info, this->obj.id);
}
void func_demo_80049B44(void) {
@@ -659,65 +666,68 @@ static f32 D_demo_800CA05C[] = { -60.0f, -60.0f, -120.0f };
static f32 D_demo_800CA068[] = { -150.0f, -150.0f, -300.0f };
static f32 D_demo_800CA074[] = { 360.0f, -360.0f, 0.0f };
void func_demo_8004A700(Actor* actor, s32 arg1) {
Actor_Initialize(actor);
actor->obj.status = OBJ_INIT;
actor->obj.id = OBJ_ACTOR_CUTSCENE;
actor->obj.pos.x = gPlayer[0].pos.x;
actor->obj.pos.y = gPlayer[0].pos.y - 1000.0f;
actor->obj.pos.z = gPlayer[0].pos.z;
actor->fwork[0] = D_demo_800CA050[arg1];
actor->fwork[1] = D_demo_800CA05C[arg1];
actor->fwork[2] = D_demo_800CA068[arg1];
actor->fwork[3] = 4.0f;
actor->fwork[7] = RAND_FLOAT(100.0f);
actor->fwork[8] = RAND_FLOAT(100.0f);
actor->obj.rot.z = D_demo_800CA074[arg1];
actor->iwork[11] = 1;
Object_SetInfo(&actor->info, actor->obj.id);
AUDIO_PLAY_SFX(NA_SE_ARWING_ENGINE_FG, actor->sfxSource, 4);
void func_demo_8004A700(ActorCutscene* this, s32 index) {
Actor_Initialize(this);
this->obj.status = OBJ_INIT;
this->obj.id = OBJ_ACTOR_CUTSCENE;
this->obj.pos.x = gPlayer[0].pos.x;
this->obj.pos.y = gPlayer[0].pos.y - 1000.0f;
this->obj.pos.z = gPlayer[0].pos.z;
this->fwork[0] = D_demo_800CA050[index];
this->fwork[1] = D_demo_800CA05C[index];
this->fwork[2] = D_demo_800CA068[index];
this->fwork[3] = 4.0f;
this->fwork[7] = RAND_FLOAT(100.0f);
this->fwork[8] = RAND_FLOAT(100.0f);
this->obj.rot.z = D_demo_800CA074[index];
this->iwork[11] = 1;
Object_SetInfo(&this->info, this->obj.id);
AUDIO_PLAY_SFX(NA_SE_ARWING_ENGINE_FG, this->sfxSource, 4);
}
void func_demo_8004A840(s32 actor) {
func_demo_8004A700(&gActors[actor], actor);
}
void func_demo_8004A888(Effect* effect) {
Vec3f sp2C;
Vec3f sp20;
void func_demo_8004A888(Clouds* this) {
Vec3f src;
Vec3f dest;
Matrix_RotateY(gCalcMatrix, (gPlayer[0].rot.y + 180.0f) * M_DTOR, MTXF_NEW);
Matrix_RotateX(gCalcMatrix, -(gPlayer[0].rot.x * M_DTOR), MTXF_APPLY);
Effect_Initialize(effect);
effect->obj.status = OBJ_INIT;
sp2C.x = RAND_FLOAT_CENTERED(1500.0f);
sp2C.y = RAND_FLOAT_CENTERED(800.0f);
sp2C.z = 3000.0f;
Effect_Initialize(this);
this->obj.status = OBJ_INIT;
src.x = RAND_FLOAT_CENTERED(1500.0f);
src.y = RAND_FLOAT_CENTERED(800.0f);
src.z = 3000.0f;
Matrix_MultVec3f(gCalcMatrix, &sp2C, &sp20);
Matrix_MultVec3f(gCalcMatrix, &src, &dest);
effect->obj.pos.x = gPlayer[0].pos.x + sp20.x;
effect->obj.pos.y = gPlayer[0].pos.y + sp20.y;
effect->obj.pos.z = gPlayer[0].pos.z + sp20.z;
sp2C.x = 0.0f;
sp2C.y = 0.0f;
sp2C.z = -80.0f;
this->obj.pos.x = gPlayer[0].pos.x + dest.x;
this->obj.pos.y = gPlayer[0].pos.y + dest.y;
this->obj.pos.z = gPlayer[0].pos.z + dest.z;
src.x = 0.0f;
src.y = 0.0f;
src.z = -80.0f;
Matrix_MultVec3f(gCalcMatrix, &sp2C, &sp20);
Matrix_MultVec3f(gCalcMatrix, &src, &dest);
effect->vel.x = sp20.x;
effect->vel.y = sp20.y;
effect->vel.z = sp20.z;
effect->obj.id = OBJ_EFFECT_352;
effect->timer_50 = 40;
effect->unk_46 = 144;
effect->scale2 = RAND_FLOAT(30.0f) + 10.0f;
this->vel.x = dest.x;
this->vel.y = dest.y;
this->vel.z = dest.z;
this->obj.id = OBJ_EFFECT_CLOUDS;
this->timer_50 = 40;
this->unk_46 = 144;
this->scale2 = RAND_FLOAT(30.0f) + 10.0f;
if (Rand_ZeroOne() < 0.5f) {
effect->obj.rot.z = 180.0f;
this->obj.rot.z = 180.0f;
}
Object_SetInfo(&effect->info, effect->obj.id);
Object_SetInfo(&this->info, this->obj.id);
}
void func_demo_8004AA84(void) {
@@ -740,7 +750,7 @@ void Cutscene_AllRangeMode(Player* player) {
s32 pad;
Vec3f sp70;
Vec3f sp64;
Actor* actor;
ActorTeamBoss* actor;
f32 var_s1;
f32 var_s2;
f32 var_s3;
@@ -749,7 +759,9 @@ void Cutscene_AllRangeMode(Player* player) {
s32 pad2;
gCsFrameCount++;
Math_SmoothStepToAngle(&player->aerobaticPitch, 0.0f, 0.1f, 20.0f, 0.0f);
if (gCsFrameCount == 37) {
gChangeTo360 = true;
if (gCurrentLevel == LEVEL_VENOM_ANDROSS) {
@@ -1872,7 +1884,7 @@ void func_demo_8004E4D4(ActorCutscene* this) {
Vec3f sp54;
Vec3f sp48;
Vec3f sp3C;
Player* sp38 = gPlayer;
Player* sp38 = &gPlayer[0];
f32 sp34;
this->fwork[7] += 3.0f;
@@ -1925,6 +1937,7 @@ void func_demo_8004E4D4(ActorCutscene* this) {
if (this->fwork[9] > 50.0f) {
this->fwork[9] = 50.0f;
}
if (this->timer_0BE == 0) {
switch (this->index) {
case 1:
@@ -2102,55 +2115,55 @@ void func_demo_8004EBD0(ActorCutscene* this) {
}
}
void func_demo_8004F05C(Actor* actor) {
if (((gLevelType == LEVELTYPE_PLANET) && (actor->animFrame == 0)) || (gCurrentLevel == LEVEL_BOLSE)) {
actor->fwork[0] += 3.0f;
actor->fwork[1] = SIN_DEG(actor->fwork[0]) * 1.5f;
void func_demo_8004F05C(ActorCutscene* this) {
if (((gLevelType == LEVELTYPE_PLANET) && (this->animFrame == 0)) || (gCurrentLevel == LEVEL_BOLSE)) {
this->fwork[0] += 3.0f;
this->fwork[1] = SIN_DEG(this->fwork[0]) * 1.5f;
}
switch (gCurrentLevel) {
case LEVEL_BOLSE:
switch (actor->animFrame) {
switch (this->animFrame) {
case 0:
if (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) {
actor->rot_0F4.z += actor->rot_0F4.y;
actor->vel.x = SIN_DEG(actor->rot_0F4.z) * 10.0f;
actor->obj.rot.z = SIN_DEG(actor->rot_0F4.z) * 40.0f;
this->rot_0F4.z += this->rot_0F4.y;
this->vel.x = SIN_DEG(this->rot_0F4.z) * 10.0f;
this->obj.rot.z = SIN_DEG(this->rot_0F4.z) * 40.0f;
break;
}
Math_SmoothStepToF(&actor->obj.rot.z, actor->fwork[1], 0.05f, 0.3f, 0.0f);
Math_SmoothStepToF(&this->obj.rot.z, this->fwork[1], 0.05f, 0.3f, 0.0f);
switch (actor->state) {
switch (this->state) {
case 0:
break;
case 1:
actor->state = 2;
actor->timer_0BC = 100;
AUDIO_PLAY_SFX(NA_SE_ARWING_BOOST, actor->sfxSource, 0);
actor->fwork[29] = 5.0f;
this->state = 2;
this->timer_0BC = 100;
AUDIO_PLAY_SFX(NA_SE_ARWING_BOOST, this->sfxSource, 0);
this->fwork[29] = 5.0f;
case 2:
actor->iwork[11] = 2;
actor->vel.z -= 5.0f;
if (actor->timer_0BC == 0) {
Object_Kill(&actor->obj, actor->sfxSource);
this->iwork[11] = 2;
this->vel.z -= 5.0f;
if (this->timer_0BC == 0) {
Object_Kill(&this->obj, this->sfxSource);
}
break;
}
break;
case 31:
if (actor->timer_0BC == 0) {
Object_Kill(&actor->obj, actor->sfxSource);
if (this->timer_0BC == 0) {
Object_Kill(&this->obj, this->sfxSource);
}
break;
case 32:
actor->obj.rot.z += actor->rot_0F4.z;
if (actor->timer_0BC == 0) {
Object_Kill(&actor->obj, actor->sfxSource);
this->obj.rot.z += this->rot_0F4.z;
if (this->timer_0BC == 0) {
Object_Kill(&this->obj, this->sfxSource);
}
break;
@@ -2160,40 +2173,40 @@ void func_demo_8004F05C(Actor* actor) {
break;
case LEVEL_AREA_6:
Area6_8018DA58(actor);
Area6_8018DA58(this);
break;
case LEVEL_SECTOR_Y:
switch (actor->animFrame) {
switch (this->animFrame) {
case 0:
SectorY_8019FF00(actor);
SectorY_8019FF00(this);
break;
case 42:
if (actor->timer_0BC == 0) {
if (actor->obj.pos.x >= -3500.0f) {
if (actor->obj.pos.z <= 3000.0f) {
if ((fabsf(actor->obj.pos.y) <= 400.0f) && (gCsFrameCount <= 300)) {
func_effect_8007D2C8(actor->obj.pos.x, actor->obj.pos.y, actor->obj.pos.z, 8.0f);
if (this->timer_0BC == 0) {
if (this->obj.pos.x >= -3500.0f) {
if (this->obj.pos.z <= 3000.0f) {
if ((fabsf(this->obj.pos.y) <= 400.0f) && (gCsFrameCount <= 300)) {
func_effect_8007D2C8(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, 8.0f);
}
}
}
Object_Kill(&actor->obj, actor->sfxSource);
Object_Kill(&this->obj, this->sfxSource);
}
break;
case 43:
if (actor->timer_0BC == 0) {
Object_Kill(&actor->obj, actor->sfxSource);
if (this->timer_0BC == 0) {
Object_Kill(&this->obj, this->sfxSource);
}
break;
}
break;
case LEVEL_SECTOR_X:
if ((actor->state != 0) && (actor->state == 1)) {
actor->vel.y += 0.1f;
Math_SmoothStepToF(&actor->obj.rot.x, -20.0f, 0.1f, 0.5f, 0.0f);
if ((this->state != 0) && (this->state == 1)) {
this->vel.y += 0.1f;
Math_SmoothStepToF(&this->obj.rot.x, -20.0f, 0.1f, 0.5f, 0.0f);
}
break;
@@ -2202,84 +2215,84 @@ void func_demo_8004F05C(Actor* actor) {
break;
default:
switch (actor->state) {
switch (this->state) {
case 100:
Math_SmoothStepToF(&actor->obj.pos.x, actor->vwork[0x14].x, 0.03f, 3.0f, 0.0f);
Math_SmoothStepToF(&actor->obj.pos.y, actor->vwork[0x14].y, 0.03f, 2.0f, 0.0f);
Math_SmoothStepToF(&actor->obj.pos.z, actor->vwork[0x14].z, 0.03f, 2.0f, 0.0f);
Math_SmoothStepToF(&actor->obj.rot.z, 0.0f, 0.02f, 0.3f, 0);
Math_SmoothStepToF(&this->obj.pos.x, this->vwork[0x14].x, 0.03f, 3.0f, 0.0f);
Math_SmoothStepToF(&this->obj.pos.y, this->vwork[0x14].y, 0.03f, 2.0f, 0.0f);
Math_SmoothStepToF(&this->obj.pos.z, this->vwork[0x14].z, 0.03f, 2.0f, 0.0f);
Math_SmoothStepToF(&this->obj.rot.z, 0.0f, 0.02f, 0.3f, 0);
break;
case 0:
actor->obj.rot.z = actor->rot_0F4.z;
if (actor->animFrame == 10) {
actor->obj.pos.z = gPlayer[0].cam.eye.z + 12000.0f;
this->obj.rot.z = this->rot_0F4.z;
if (this->animFrame == 10) {
this->obj.pos.z = gPlayer[0].cam.eye.z + 12000.0f;
}
break;
case 1:
actor->vel.y += 0.8f;
actor->vel.x += 0.8f;
Math_SmoothStepToF(&actor->obj.rot.z, 420.0f, 0.1f, 15.0f, 0.001f);
this->vel.y += 0.8f;
this->vel.x += 0.8f;
Math_SmoothStepToF(&this->obj.rot.z, 420.0f, 0.1f, 15.0f, 0.001f);
break;
case 2:
actor->vel.y += 0.8f;
actor->vel.x -= 0.8f;
Math_SmoothStepToF(&actor->obj.rot.z, -420.0f, 0.1f, 15.0f, 0.001f);
this->vel.y += 0.8f;
this->vel.x -= 0.8f;
Math_SmoothStepToF(&this->obj.rot.z, -420.0f, 0.1f, 15.0f, 0.001f);
break;
case 3:
actor->vel.y += 1.2f;
actor->vel.z += 0.1f;
Math_SmoothStepToF(&actor->obj.rot.x, -45.0f, 0.1f, 15.0f, 0.001f);
this->vel.y += 1.2f;
this->vel.z += 0.1f;
Math_SmoothStepToF(&this->obj.rot.x, -45.0f, 0.1f, 15.0f, 0.001f);
break;
case 10:
actor->vel.x -= 1.0f;
Math_SmoothStepToF(&actor->obj.rot.z, -45.0f, 0.05f, 0.5f, 0.0f);
this->vel.x -= 1.0f;
Math_SmoothStepToF(&this->obj.rot.z, -45.0f, 0.05f, 0.5f, 0.0f);
break;
case 11:
actor->vel.x -= 2.0f;
Math_SmoothStepToF(&actor->obj.rot.z, -70.0f, 0.1f, 6.0f, 0.0f);
Math_SmoothStepToF(&actor->obj.rot.y, 225.0f, 0.05f, 2.0f, 0.0f);
this->vel.x -= 2.0f;
Math_SmoothStepToF(&this->obj.rot.z, -70.0f, 0.1f, 6.0f, 0.0f);
Math_SmoothStepToF(&this->obj.rot.y, 225.0f, 0.05f, 2.0f, 0.0f);
break;
case 12:
actor->vel.x += 2.0f;
actor->vel.y += 1.0f;
Math_SmoothStepToF(&actor->obj.rot.z, 80.0f, 0.1f, 6.0f, 0.0f);
Math_SmoothStepToF(&actor->obj.rot.x, -15.0f, 0.05f, 4.0f, 0.0f);
Math_SmoothStepToF(&actor->obj.rot.y, 135.0f, 0.05f, 2.0f, 0.0f);
this->vel.x += 2.0f;
this->vel.y += 1.0f;
Math_SmoothStepToF(&this->obj.rot.z, 80.0f, 0.1f, 6.0f, 0.0f);
Math_SmoothStepToF(&this->obj.rot.x, -15.0f, 0.05f, 4.0f, 0.0f);
Math_SmoothStepToF(&this->obj.rot.y, 135.0f, 0.05f, 2.0f, 0.0f);
break;
case 13:
actor->vel.y += 2.0f;
Math_SmoothStepToF(&actor->obj.rot.z, -400.0f, 0.2f, 14.0f, 0.0f);
Math_SmoothStepToF(&actor->obj.rot.x, -45.0f, 0.05f, 4.0f, 0.0f);
this->vel.y += 2.0f;
Math_SmoothStepToF(&this->obj.rot.z, -400.0f, 0.2f, 14.0f, 0.0f);
Math_SmoothStepToF(&this->obj.rot.x, -45.0f, 0.05f, 4.0f, 0.0f);
break;
}
break;
}
}
void func_demo_8004F798(Actor* actor) {
actor->iwork[11] = 2;
void func_demo_8004F798(ActorCutscene* this) {
this->iwork[11] = 2;
switch (actor->state) {
switch (this->state) {
case 0:
Math_SmoothStepToF(&actor->obj.pos.x, actor->fwork[0], 0.05f, 50.0f, 0.0f);
Math_SmoothStepToF(&actor->obj.pos.y, actor->fwork[1], 0.05f, 50.0f, 0.0f);
Math_SmoothStepToF(&actor->obj.rot.z, 0.0f, 0.05f, 1.0f, 0.0f);
actor->obj.pos.z -= 2.0f;
Math_SmoothStepToF(&this->obj.pos.x, this->fwork[0], 0.05f, 50.0f, 0.0f);
Math_SmoothStepToF(&this->obj.pos.y, this->fwork[1], 0.05f, 50.0f, 0.0f);
Math_SmoothStepToF(&this->obj.rot.z, 0.0f, 0.05f, 1.0f, 0.0f);
this->obj.pos.z -= 2.0f;
break;
case 1:
actor->fwork[29] = 10.0f;
actor->vel.z -= 100.0f;
if ((actor->obj.pos.z + gPathProgress) < -15000.0f) {
Object_Kill(&actor->obj, actor->sfxSource);
this->fwork[29] = 10.0f;
this->vel.z -= 100.0f;
if ((this->obj.pos.z + gPathProgress) < -15000.0f) {
Object_Kill(&this->obj, this->sfxSource);
}
break;
}
@@ -2323,7 +2336,7 @@ void ActorCutscene_Update(ActorCutscene* this) {
break;
case LEVEL_SECTOR_Z:
SectorZ_8019DD20(this);
SectorZ_LevelCompleteCsUpdate(this);
break;
case LEVEL_AREA_6:
@@ -2460,19 +2473,19 @@ static Animation* D_demo_800CA1F4[] = {
&D_SY_60265B4, &D_SY_602B8DC, &D_SY_60034C4, &D_SY_602A2CC, &D_SY_602CEB4, &D_SY_602B778, &D_SY_601F3B8,
};
void func_demo_8004FCB8(Actor* actor, s32 arg1) {
void func_demo_8004FCB8(ActorCutscene* this, s32 arg1) {
f32 angle;
f32 scale;
s32 i;
if (actor->timer_0BC == 0) {
actor->timer_0BC = 32;
actor->fwork[5] = 0.3f;
if (this->timer_0BC == 0) {
this->timer_0BC = 32;
this->fwork[5] = 0.3f;
}
if (actor->fwork[5] > 0.0f) {
scale = actor->fwork[5];
actor->fwork[5] -= 0.05f;
if (this->fwork[5] > 0.0f) {
scale = this->fwork[5];
this->fwork[5] -= 0.05f;
RCP_SetupDL_49();
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
gDPSetEnvColor(gMasterDisp++, 16, 16, 240, 255);
@@ -2481,9 +2494,8 @@ void func_demo_8004FCB8(Actor* actor, s32 arg1) {
for (i = arg1; i < (arg1 + 4); i++) {
Matrix_Pop(&gGfxMatrix);
Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, D_demo_800CA110[i].x + actor->obj.pos.x,
D_demo_800CA110[i].y + actor->obj.pos.y, D_demo_800CA110[i].z + actor->obj.pos.z,
MTXF_APPLY);
Matrix_Translate(gGfxMatrix, D_demo_800CA110[i].x + this->obj.pos.x, D_demo_800CA110[i].y + this->obj.pos.y,
D_demo_800CA110[i].z + this->obj.pos.z, MTXF_APPLY);
Matrix_RotateY(gGfxMatrix, angle, MTXF_APPLY);
Matrix_Scale(gGfxMatrix, scale, scale, scale, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
@@ -2492,7 +2504,7 @@ void func_demo_8004FCB8(Actor* actor, s32 arg1) {
}
}
void ActorCutscene_Draw(Actor* actor) {
void ActorCutscene_Draw(ActorCutscene* this) {
static f32 D_800CA210 = 0.0f;
static f32 D_800CA214 = 0.0f;
static f32 D_800CA218 = 0.0f;
@@ -2512,26 +2524,26 @@ void ActorCutscene_Draw(Actor* actor) {
f32 y;
f32 x;
switch (actor->animFrame) {
switch (this->animFrame) {
case 1000:
RCP_SetupDL(&gMasterDisp, SETUPDL_45);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, actor->unk_046);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, this->unk_046);
gSPDisplayList(gMasterDisp++, D_ENMY_PLANET_40018A0);
if (actor->unk_046 > 50) {
Actor_DrawEngineAndContrails(actor);
if (this->unk_046 > 50) {
Actor_DrawEngineAndContrails(this);
}
break;
case 0:
func_edisplay_8005B388(actor);
func_edisplay_8005B388(this);
break;
case 1:
if (gCurrentLevel == LEVEL_SECTOR_Z) {
gSPFogPosition(gMasterDisp++, gFogNear, 1005);
}
actor->info.bonus = 1;
this->info.bonus = 1;
Cutscene_DrawGreatFox();
break;
@@ -2547,12 +2559,12 @@ void ActorCutscene_Draw(Actor* actor) {
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
Matrix_Scale(gGfxMatrix, 60.0f, 60.0f, 1.0f, MTXF_APPLY);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, 10.0f, MTXF_APPLY);
Matrix_Scale(gGfxMatrix, actor->scale, actor->scale, 1.0f, MTXF_APPLY);
Matrix_Scale(gGfxMatrix, this->scale, this->scale, 1.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
RCP_SetupDL_49();
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, actor->iwork[0]);
gDPSetEnvColor(gMasterDisp++, 255, 255, 00, actor->iwork[0]);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, this->iwork[0]);
gDPSetEnvColor(gMasterDisp++, 255, 255, 00, this->iwork[0]);
gSPDisplayList(gMasterDisp++, D_1024AC0);
break;
@@ -2562,42 +2574,42 @@ void ActorCutscene_Draw(Actor* actor) {
case 24:
gSPDisplayList(gMasterDisp++, D_D009A40);
Actor_DrawEngineAndContrails(actor);
Actor_DrawEngineAndContrails(this);
break;
case 25:
if ((actor->index % 2) != 0) {
gSPDisplayList(gMasterDisp++, D_SZ_6001DA0);
if ((this->index % 2) != 0) {
gSPDisplayList(gMasterDisp++, aSzSpaceJunk3DL);
} else {
gSPDisplayList(gMasterDisp++, D_SZ_6001360);
gSPDisplayList(gMasterDisp++, aSzSpaceJunk1DL);
}
break;
case 26:
gSPDisplayList(gMasterDisp++, D_SZ_6004FE0);
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, MTXF_APPLY);
Actor_DrawEngineGlow(actor, 2);
Actor_DrawEngineGlow(this, 2);
break;
case 28:
gSPDisplayList(gMasterDisp++, D_ENMY_SPACE_400AAE0);
Matrix_Translate(gGfxMatrix, 0.f, 0.f, -60.0f, MTXF_APPLY);
Actor_DrawEngineGlow(actor, 2);
Actor_DrawEngineGlow(this, 2);
break;
case 30:
Display_SetSecondLight(&actor->obj.pos);
Display_SetSecondLight(&this->obj.pos);
if (actor->unk_046 != 0) {
if (this->unk_046 != 0) {
RCP_SetupDL(&gMasterDisp, SETUPDL_55);
gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
Rand_SetSeed(1, 29000, 9876);
for (sp2D0 = 0; sp2D0 < 30; sp2D0++) {
Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, RAND_FLOAT_CENTERED_SEEDED(3000.0f) * actor->fwork[20],
RAND_FLOAT_CENTERED_SEEDED(3000.0f) * actor->fwork[20],
RAND_FLOAT_CENTERED_SEEDED(3000.0f) * actor->fwork[20], MTXF_APPLY);
Matrix_Translate(gGfxMatrix, RAND_FLOAT_CENTERED_SEEDED(3000.0f) * this->fwork[20],
RAND_FLOAT_CENTERED_SEEDED(3000.0f) * this->fwork[20],
RAND_FLOAT_CENTERED_SEEDED(3000.0f) * this->fwork[20], MTXF_APPLY);
Matrix_RotateY(gGfxMatrix, 2.0f * RAND_FLOAT_SEEDED(M_PI), MTXF_APPLY);
Matrix_RotateZ(gGfxMatrix, (2.0f * gGameFrameCount) * M_DTOR, MTXF_APPLY);
Matrix_RotateX(gGfxMatrix, 2.0f * RAND_FLOAT_SEEDED(M_PI), MTXF_APPLY);
@@ -2717,13 +2729,13 @@ void ActorCutscene_Draw(Actor* actor) {
break;
case 33:
if ((actor->index == 3) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) {
if ((this->index == 3) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) {
gSPDisplayList(gMasterDisp++, D_D00B880);
} else {
gSPDisplayList(gMasterDisp++, aKaCornerianFighterDL);
}
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -60.0f, MTXF_APPLY);
Actor_DrawEngineGlow(actor, 0);
Actor_DrawEngineGlow(this, 0);
break;
case 34:
@@ -2736,44 +2748,44 @@ void ActorCutscene_Draw(Actor* actor) {
/* fallthrough */
case 39:
gSPDisplayList(gMasterDisp++, D_SY_60097E0);
func_demo_8004FCB8(actor, 4);
func_demo_8004FCB8(this, 4);
break;
case 36:
Matrix_Scale(gGfxMatrix, actor->scale, actor->scale, actor->scale, MTXF_APPLY);
Matrix_Scale(gGfxMatrix, this->scale, this->scale, this->scale, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_SY_601D730);
func_demo_8004FCB8(actor, 0);
func_demo_8004FCB8(this, 0);
break;
case 37:
RCP_SetupDL_49();
gDPSetPrimColor(gMasterDisp++, 0, 0, actor->iwork[0], actor->iwork[1], actor->iwork[2], actor->iwork[3]);
gDPSetEnvColor(gMasterDisp++, actor->iwork[4], actor->iwork[5], actor->iwork[6], actor->iwork[7]);
Matrix_Scale(gGfxMatrix, actor->scale, actor->fwork[4], 1.0f, MTXF_APPLY);
gDPSetPrimColor(gMasterDisp++, 0, 0, this->iwork[0], this->iwork[1], this->iwork[2], this->iwork[3]);
gDPSetEnvColor(gMasterDisp++, this->iwork[4], this->iwork[5], this->iwork[6], this->iwork[7]);
Matrix_Scale(gGfxMatrix, this->scale, this->fwork[4], 1.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_1024AC0);
break;
case 38:
animFrameData = Animation_GetFrameData(D_demo_800CA1F4[actor->iwork[4]], actor->iwork[5], sp144);
Math_SmoothStepToVec3fArray(sp144, actor->vwork, 1, animFrameData, actor->fwork[2], 100.0f, .0f);
animFrameData = Animation_GetFrameData(D_demo_800CA1F4[this->iwork[4]], this->iwork[5], sp144);
Math_SmoothStepToVec3fArray(sp144, this->vwork, 1, animFrameData, this->fwork[2], 100.0f, .0f);
RCP_SetupDL_30(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
gDPSetPrimColor(gMasterDisp++, 0, 0, 150, 255, 150, 255);
Animation_DrawSkeleton(1, D_SY_602D140, actor->vwork, 0, 0, actor, &gIdentityMatrix);
Animation_DrawSkeleton(1, D_SY_602D140, this->vwork, 0, 0, this, &gIdentityMatrix);
if (actor->fwork[0] != 0.0f) {
if (this->fwork[0] != 0.0f) {
RCP_SetupDL_49();
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
gDPSetEnvColor(gMasterDisp++, 255, 32, 32, 255);
Matrix_Translate(gGfxMatrix, 10.0f, -5.0f, -40.0f, MTXF_APPLY);
Matrix_RotateY(gGfxMatrix, (-actor->obj.rot.y) * M_DTOR, MTXF_APPLY);
Matrix_RotateY(gGfxMatrix, (-this->obj.rot.y) * M_DTOR, MTXF_APPLY);
Graphics_SetScaleMtx(1.0f);
Matrix_Scale(gGfxMatrix, actor->fwork[0], actor->fwork[0], actor->fwork[0], MTXF_APPLY);
Matrix_Scale(gGfxMatrix, this->fwork[0], this->fwork[0], this->fwork[0], MTXF_APPLY);
camX = gPlayer[0].cam.eye.x - actor->obj.pos.x;
camY = gPlayer[0].cam.eye.y - actor->obj.pos.y;
camZ = gPlayer[0].cam.eye.z - (actor->obj.pos.z + gPathProgress);
camX = gPlayer[0].cam.eye.x - this->obj.pos.x;
camY = gPlayer[0].cam.eye.y - this->obj.pos.y;
camZ = gPlayer[0].cam.eye.z - (this->obj.pos.z + gPathProgress);
y = -Math_Atan2F(camX, camZ);
x = Math_Atan2F(camY, sqrtf(SQ(camZ) + SQ(camX)));
@@ -2783,29 +2795,29 @@ void ActorCutscene_Draw(Actor* actor) {
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_1024AC0);
Math_SmoothStepToF(&actor->fwork[0], 0.0f, 0.1f, 0.2f, 0.05f);
Math_SmoothStepToF(&this->fwork[0], 0.0f, 0.1f, 0.2f, 0.05f);
}
if (actor->fwork[6] != 0.0f) {
if (this->fwork[6] != 0.0f) {
RCP_SetupDL_49();
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
gDPSetEnvColor(gMasterDisp++, 255, 48, 0, 255);
Matrix_Pop(&gGfxMatrix);
Matrix_Push(&gGfxMatrix);
Matrix_RotateY(gCalcMatrix, (actor->obj.rot.y - 90.0f) * M_DTOR, MTXF_NEW);
Matrix_RotateY(gCalcMatrix, (this->obj.rot.y - 90.0f) * M_DTOR, MTXF_NEW);
sp2B8.x = 210.0f;
sp2B8.y = 0.0f;
sp2B8.z = 40.0f;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp2B8, &sp2AC);
Matrix_Translate(gGfxMatrix, actor->obj.pos.x + sp2AC.x, actor->obj.pos.y + sp2AC.y,
actor->obj.pos.z + sp2AC.z, MTXF_APPLY);
Matrix_Scale(gGfxMatrix, actor->fwork[6], actor->fwork[6], actor->fwork[6], MTXF_APPLY);
Matrix_Translate(gGfxMatrix, this->obj.pos.x + sp2AC.x, this->obj.pos.y + sp2AC.y,
this->obj.pos.z + sp2AC.z, MTXF_APPLY);
Matrix_Scale(gGfxMatrix, this->fwork[6], this->fwork[6], this->fwork[6], MTXF_APPLY);
camX = gPlayer[0].cam.eye.x - actor->obj.pos.x;
camY = gPlayer[0].cam.eye.y - actor->obj.pos.y;
camZ = gPlayer[0].cam.eye.z - (actor->obj.pos.z + gPathProgress);
camX = gPlayer[0].cam.eye.x - this->obj.pos.x;
camY = gPlayer[0].cam.eye.y - this->obj.pos.y;
camZ = gPlayer[0].cam.eye.z - (this->obj.pos.z + gPathProgress);
y = -Math_Atan2F(camX, camZ);
x = Math_Atan2F(camY, sqrtf(SQ(camZ) + SQ(camX)));
@@ -2815,7 +2827,7 @@ void ActorCutscene_Draw(Actor* actor) {
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_1024AC0);
Math_SmoothStepToF(&actor->fwork[6], 0.00f, 0.1f, 0.6f, 0);
Math_SmoothStepToF(&this->fwork[6], 0.00f, 0.1f, 0.6f, 0);
}
break;
@@ -2824,7 +2836,7 @@ void ActorCutscene_Draw(Actor* actor) {
break;
case 41:
Aquas_801BE0F0(actor);
Aquas_801BE0F0(this);
break;
case 42:
@@ -2834,28 +2846,28 @@ void ActorCutscene_Draw(Actor* actor) {
case 43:
RCP_SetupDL_49();
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, actor->iwork[0]);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, this->iwork[0]);
gDPSetEnvColor(gMasterDisp++, 255, 192, 128, 255);
Matrix_RotateY(
gGfxMatrix,
Math_Atan2F(gPlayer[0].cam.eye.x - gPlayer[0].cam.at.x, gPlayer[0].cam.eye.z - gPlayer[0].cam.at.z),
MTXF_APPLY);
Matrix_Scale(gGfxMatrix, actor->fwork[0], actor->fwork[0], actor->fwork[0], MTXF_APPLY);
Matrix_Scale(gGfxMatrix, this->fwork[0], this->fwork[0], this->fwork[0], MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_1024AC0);
if (actor->iwork[0] != 0) {
actor->iwork[0] -= 7;
if (this->iwork[0] != 0) {
this->iwork[0] -= 7;
}
actor->fwork[0] += 0.2f;
this->fwork[0] += 0.2f;
break;
case 44:
Animation_GetFrameData(&D_AQ_6020A40, actor->iwork[0], actor->vwork);
Animation_GetFrameData(&D_AQ_6020A40, this->iwork[0], this->vwork);
gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
Animation_DrawSkeleton(1, D_AQ_6020C6C, actor->vwork, 0, 0, &actor->index, &gIdentityMatrix);
Animation_DrawSkeleton(1, D_AQ_6020C6C, this->vwork, 0, 0, &this->index, &gIdentityMatrix);
gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK);
break;
@@ -2882,9 +2894,9 @@ void Cutscene_DrawGreatFox(void) {
f32 sp9C[4];
Gfx* var_fp;
(void) "Demo_Time=%d\n";
(void) "Demo_Time=%d\n";
(void) "d Enm->wrk0 %d\n";
PRINTF("Demo_Time=%d\n");
PRINTF("Demo_Time=%d\n");
PRINTF("d Enm->wrk0 %d\n");
if (gGameState == GSTATE_TITLE) {
var_fp = D_TITLE_60320E0;
@@ -2933,6 +2945,7 @@ void Cutscene_DrawGreatFox(void) {
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 48);
gDPSetEnvColor(gMasterDisp++, 255, 255, 0, 48);
for (i = 0, var_s6_2 = D_demo_800CA0EC; i < 3; i++, var_s6_2++) {
sp9C[i] = D_demo_800CA190[gGameFrameCount % 2U];
Matrix_Push(&gGfxMatrix);
+3 -3
View File
@@ -4,7 +4,7 @@
f32* D_edata_800CF964[] = { NULL }; // Likely a scrapped array of scenery shadow boxes
void func_edata_800594F0(Scenery* scenery) {
void Scenery48_Draw(Scenery* scenery) {
RCP_SetupDL_57(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
Matrix_RotateY(gGfxMatrix, M_PI, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
@@ -12,7 +12,7 @@ void func_edata_800594F0(Scenery* scenery) {
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
}
void func_edata_800595D0(Scenery* scenery) {
void Scenery49_Draw(Scenery* scenery) {
RCP_SetupDL_57(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
Matrix_RotateY(gGfxMatrix, M_PI, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
@@ -20,5 +20,5 @@ void func_edata_800595D0(Scenery* scenery) {
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
}
void func_edata_800596B0(Actor* actor) {
void Actor289_Draw(Actor* actor) {
}
+270 -270
View File
@@ -93,72 +93,72 @@ f32 gWarpZoneEvent93Hitbox[] = {
// clang-format off
ObjectInfo gObjectInfo[] = {
/* OBJ_SCENERY_0, */ {(void*) D_CO_6015F00, 0, (ObjectFunc) NULL, D_CO_603E3E0, 800.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_1, */ {(void*) D_CO_602E9E0, 0, (ObjectFunc) NULL, gNoHitbox, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_2, */ {(void*) D_CO_601BEC0, 0, (ObjectFunc) NULL, gNoHitbox, 3000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_3, */ {(void*) D_CO_602E7A0, 0, (ObjectFunc) NULL, gNoHitbox, 3000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_4, */ {(void*) D_CO_60244A0, 0, (ObjectFunc) NULL, gNoHitbox, 3000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_5, */ {(void*) D_CO_602E570, 0, (ObjectFunc) NULL, gNoHitbox, 3000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_6, */ {(void*) D_CO_60132B0, 0, (ObjectFunc) NULL, D_CO_603DCA4, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_7, */ {(void*) D_CO_602E080, 0, (ObjectFunc) NULL, D_CO_603DD40, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_8, */ {(void*) D_CO_60164F0, 0, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_9, */ {(void*) D_CO_6014500, 0, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_10, */ {(void*) D_CO_602D5F0, 0, (ObjectFunc) NULL, D_CO_603DDF0, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_11, */ {(void*) D_CO_601A7D0, 0, (ObjectFunc) NULL, D_CO_603DE8C, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_12, */ {(void*) D_CO_6014B50, 0, (ObjectFunc) NULL, D_CO_603DEF4, 500.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_13, */ {(void*) D_CO_6016580, 0, (ObjectFunc) NULL, D_CO_603DF8C, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_14, */ {(void*) D_CO_601B560, 0, (ObjectFunc) func_enmy_80066EA8, D_CO_603DFDC, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_15, */ {(void*) D_CO_60361F0, 0, (ObjectFunc) func_enmy_80066EA8, D_CO_603E014, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_16, */ {(void*) D_CO_6018E80, 0, (ObjectFunc) func_enmy_80066EA8, D_CO_603E030, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_17, */ {(void*) D_CO_6035F10, 0, (ObjectFunc) func_enmy_80066EA8, D_CO_603E09C, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_18, */ {(void*) Corneria_8018753C, 1, (ObjectFunc) Corneria_80187530, D_CO_603E98C, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_19, */ {(void*) D_CO_60153B0, 0, (ObjectFunc) NULL, D_CO_603E118, 100.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_20, */ {(void*) D_CO_601F5A0, 0, (ObjectFunc) NULL, D_CO_603E14C, 500.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_21, */ {(void*) D_CO_60137B0, 0, (ObjectFunc) NULL, D_CO_603E1B4, 400.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_22, */ {(void*) D_CO_6006A80, 0, (ObjectFunc) NULL, D_CO_603E21C, 400.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_23, */ {(void*) D_CO_6016270, 0, (ObjectFunc) NULL, D_CO_603E4A0, 200.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_24, */ {(void*) D_CO_6010E00, 0, (ObjectFunc) NULL, D_CO_603E9EC, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_25, */ {(void*) D_CO_6014670, 0, (ObjectFunc) NULL, D_CO_603EA08, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_26, */ {(void*) D_CO_6010A50, 0, (ObjectFunc) NULL, D_CO_603EA74, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_27, */ {(void*) D_CO_60143E0, 0, (ObjectFunc) NULL, D_CO_603EAE0, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_28, */ {(void*) D_CO_6014A20, 0, (ObjectFunc) NULL, D_CO_603EB0C, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_SKULL, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, D_TI_60064FC, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_0, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, D_TI_6006518, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_1, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, D_TI_6006564, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_2, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, D_TI_60065B0, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_3, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, D_TI_60065FC, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_4, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, D_TI_6006648, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_5, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, D_TI_6006694, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_6, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, D_TI_60066E0, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_7, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, D_TI_600672C, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_8, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, D_TI_6006778, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_STONE_ARCH, */ {(void*) aCoStoneArchDL, 0, (ObjectFunc) NULL, aCoStoneArchHitbox, 800.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_BUMP_1, */ {(void*) aCoBump1DL, 0, (ObjectFunc) NULL, gNoHitbox, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_BUMP_2, */ {(void*) aCoBump2DL, 0, (ObjectFunc) NULL, gNoHitbox, 3000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_BUMP_3, */ {(void*) aCoBump3DL, 0, (ObjectFunc) NULL, gNoHitbox, 3000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_BUMP_4, */ {(void*) aCoBump4DL, 0, (ObjectFunc) NULL, gNoHitbox, 3000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_BUMP_5, */ {(void*) aCoBump5DL, 0, (ObjectFunc) NULL, gNoHitbox, 3000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_HIGHWAY_1, */ {(void*) aCoHighway1DL, 0, (ObjectFunc) NULL, aCoHighway1Hitbox, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_HIGHWAY_2, */ {(void*) aCoHighway2DL, 0, (ObjectFunc) NULL, aCoHighway2Hitbox, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_HIGHWAY_3, */ {(void*) aCoHighway3DL, 0, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_HIGHWAY_4, */ {(void*) aCoHighway4DL, 0, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_BUILDING_1, */ {(void*) aCoBuilding1DL, 0, (ObjectFunc) NULL, aCoBuilding1Hitbox, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_BUILDING_2, */ {(void*) aCoBuilding2DL, 0, (ObjectFunc) NULL, aCoBuilding2Hitbox, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_BUILDING_3, */ {(void*) aCoBuilding3DL, 0, (ObjectFunc) NULL, aCoBuilding3Hitbox, 500.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_BUILDING_4, */ {(void*) aCoBuilding4DL, 0, (ObjectFunc) NULL, aCoBuilding4Hitbox, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_BUILDING_5, */ {(void*) aCoBuilding5DL, 0, (ObjectFunc) SceneryRotateTowardsCamera, aCoBuilding5Hitbox, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_BUILDING_6, */ {(void*) aCoBuilding6DL, 0, (ObjectFunc) SceneryRotateTowardsCamera, aCoBuilding6Hitbox, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_BUILDING_7, */ {(void*) aCoBuilding7DL, 0, (ObjectFunc) SceneryRotateTowardsCamera, aCoBuilding7Hitbox, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_BUILDING_8, */ {(void*) aCoBuilding8DL, 0, (ObjectFunc) SceneryRotateTowardsCamera, aCoBuilding8Hitbox, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_BUILDING_ON_FIRE, */ {(void*) Corneria_BuildingOnFire_Draw, 1, (ObjectFunc) Corneria_BuildingOnFire_Update, aCoBuildingOnFireHitbox, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_TOWER, */ {(void*) aCoTowerDL, 0, (ObjectFunc) NULL, aCoTowerHitbox, 100.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_ARCH_1, */ {(void*) aCoArch1DL, 0, (ObjectFunc) NULL, aCoArch1Hitbox, 500.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_ARCH_2, */ {(void*) aCoArch2DL, 0, (ObjectFunc) NULL, aCoArch2Hitbox, 400.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_ARCH_3, */ {(void*) aCoArch3DL, 0, (ObjectFunc) NULL, aCoArch3Hitbox, 400.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_RADAR, */ {(void*) aRadarDL, 0, (ObjectFunc) NULL, aCoRadarHitbox, 200.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_HIGHWAY_5, */ {(void*) aCoHighway5DL, 0, (ObjectFunc) NULL, aCoHighway5Hitbox, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_HIGHWAY_6, */ {(void*) aCoHighway6DL, 0, (ObjectFunc) NULL, aCoHighway6Hitbox, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_HIGHWAY_7, */ {(void*) aCoHighway7DL, 0, (ObjectFunc) NULL, aCoHighway7Hitbox, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_HIGHWAY_8, */ {(void*) aCoHighway8DL, 0, (ObjectFunc) NULL, aCoHighway8Hitbox, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_HIGHWAY_9, */ {(void*) aCoHighway9DL, 0, (ObjectFunc) NULL, aCoHighway9Hitbox, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_SKULL, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, aTiSkullHitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_0, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, aTiRib0Hitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_1, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, aTiRib1Hitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_2, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, aTiRib2Hitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_3, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, aTiRib3Hitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_4, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, aTiRib4Hitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_5, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, aTiRib5Hitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_6, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, aTiRib6Hitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_7, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, aTiRib7Hitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_TI_RIB_8, */ {(void*) Scenery_DrawTitaniaBones, 1, (ObjectFunc) Scenery_UpdateTitaniaBones, aTiRib8Hitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_ME_TUNNEL, */ {(void*) MeteoTunnel_Draw, 1, (ObjectFunc) MeteoTunnel_Update, gNoHitbox, 6000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_40, */ {(void*) func_edisplay_80059F68, 1, (ObjectFunc) func_enmy_80066D5C, D_CO_603E4A4, 1000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_41, */ {(void*) func_edisplay_80059FDC, 1, (ObjectFunc) func_enmy_80066EA8, D_CO_603E4DC, 300.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_42, */ {(void*) Scenery42_Draw, 1, (ObjectFunc) Scenery42_Update, D_CO_603E514, 1000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_43, */ {(void*) D_ZO_6024AC0, 0, (ObjectFunc) NULL, D_ZO_602B9EC, 200.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_BUILDING_9, */ {(void*) CoBuilding9_Draw, 1, (ObjectFunc) CoBuilding9_Update, aCoBuilding9Hitbox, 1000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_BUILDING_10, */ {(void*) CoBuilding10_Draw, 1, (ObjectFunc) SceneryRotateTowardsCamera, aCoBuilding10Hitbox, 300.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_IBEAM, */ {(void*) CoIBeam_Draw, 1, (ObjectFunc) CoIBeam_Update, aCoIBeamHitbox, 1000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_ZO_ROCK_1, */ {(void*) aZoRock1DL, 0, (ObjectFunc) NULL, aZoRock1Hitbox, 200.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_44, */ {(void*) D_ZO_600F560, 0, (ObjectFunc) NULL, D_ZO_602BA20, 1500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_45, */ {(void*) D_ZO_600EC90, 0, (ObjectFunc) NULL, D_ZO_602BAE4, 1500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_46, */ {(void*) D_ZO_600E820, 0, (ObjectFunc) NULL, D_ZO_602BBD8, 1500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_47, */ {(void*) D_ZO_601FCB0, 0, (ObjectFunc) NULL, D_ZO_602BC54, 500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_48, */ {(void*) func_edata_800594F0, 1, (ObjectFunc) NULL, D_VE1_601B4E0, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_49, */ {(void*) func_edata_800595D0, 1, (ObjectFunc) NULL, D_VE1_601B4FC, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_48, */ {(void*) Scenery48_Draw, 1, (ObjectFunc) NULL, D_VE1_601B4E0, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_49, */ {(void*) Scenery49_Draw, 1, (ObjectFunc) NULL, D_VE1_601B4FC, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_50, */ {(void*) D_VE1_6007410, 0, (ObjectFunc) NULL, D_VE1_601B518, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_51, */ {(void*) D_VE1_6006F50, 0, (ObjectFunc) NULL, D_VE1_601B584, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_52, */ {(void*) D_VE1_6005780, 0, (ObjectFunc) Venom1_80193540, D_VE1_601B5F4, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_52, */ {(void*) D_VE1_6005780, 0, (ObjectFunc) Venom1_Scenery52_Update, D_VE1_601B5F4, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_53, */ {(void*) D_VE1_6003610, 0, (ObjectFunc) NULL, D_VE1_601B644, 2500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_54, */ {(void*) D_CO_6000E00, 0, (ObjectFunc) Scenery54_Update, D_CO_603E0EC, 1000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_55, */ {(void*) D_CO_6013B50, 0, (ObjectFunc) NULL, D_CO_603E88C, 1000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_56, */ {(void*) Corneria_8018F31C, 2, (ObjectFunc) Corneria_8018F044, D_CO_603E8A8, 1000.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_57, */ {(void*) Titania_8018F8B8, 1, (ObjectFunc) Titania_8018F4D8, D_TI_6006BF0, 800.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_WATERFALL, */ {(void*) aCoWaterfallDL, 0, (ObjectFunc) CoWaterfall_Update, aCoWaterfallHitbox, 1000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_ROCKWALL, */ {(void*) aCoRockwallDL, 0, (ObjectFunc) NULL, aCoRockwallHitbox, 1000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_CO_DOORS, */ {(void*) Corneria_Doors_Draw, 2, (ObjectFunc) Corneria_Doors_Update, aCoDoorsHitbox, 1000.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_SCENERY_57, */ {(void*) Titania_Scenery57_Draw, 1, (ObjectFunc) Titania_Scenery57_Update, D_TI_6006BF0, 800.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_58, */ {(void*) D_TI1_700BE00, 0, (ObjectFunc) NULL, D_TI_6006C44, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_59, */ {(void*) D_MA_6024010, 0, (ObjectFunc) NULL, D_MA_603626C, 300.0f, 0, 0, 5, 0, 0.0f, 0 },
/* OBJ_SCENERY_60, */ {(void*) D_MA_6027180, 0, (ObjectFunc) NULL, D_MA_6036288, 400.0f, 0, 0, 5, 0, 0.0f, 0 },
/* OBJ_SCENERY_61, */ {(void*) Macbeth_801A2A78, 1, (ObjectFunc) NULL, D_MA_60362A4, 200.0f, 0, 0, 5, 0, 0.0f, 0 },
/* OBJ_SCENERY_61, */ {(void*) Macbeth_Scenery61_Draw, 1, (ObjectFunc) NULL, D_MA_60362A4, 200.0f, 0, 0, 5, 0, 0.0f, 0 },
/* OBJ_SCENERY_62, */ {(void*) D_MA_60270E0, 0, (ObjectFunc) NULL, gNoHitbox, 1500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_63, */ {(void*) D_MA_6013960, 0, (ObjectFunc) NULL, D_MA_6036894, 500.0f, 0, 0, 5, 0, 0.0f, 0 },
/* OBJ_SCENERY_64, */ {(void*) D_MA_600AF40, 0, (ObjectFunc) NULL, D_MA_60368E0, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_65, */ {(void*) Macbeth_801A6608, 1, (ObjectFunc) NULL, D_MA_6036724, 400.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_65, */ {(void*) Macbeth_Scenery65_Draw, 1, (ObjectFunc) NULL, D_MA_6036724, 400.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_66, */ {(void*) D_MA_601F1D0, 0, (ObjectFunc) NULL, D_MA_60362D8, 2500.0f, 0, 0, 5, 0, 0.0f, 0 },
/* OBJ_SCENERY_67, */ {(void*) D_MA_60238F0, 0, (ObjectFunc) NULL, D_MA_6036328, 2000.0f, 0, 0, 5, 0, 0.0f, 0 },
/* OBJ_SCENERY_68, */ {(void*) D_MA_601B7C0, 0, (ObjectFunc) NULL, D_MA_60362F4, 2500.0f, 0, 0, 5, 0, 0.0f, 0 },
@@ -170,42 +170,42 @@ ObjectInfo gObjectInfo[] = {
/* OBJ_SCENERY_74, */ {(void*) D_MA_602DC20, 0, (ObjectFunc) NULL, D_MA_603643C, 1000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_75, */ {(void*) D_MA_601B0D0, 0, (ObjectFunc) NULL, D_MA_6036760, 3000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_76, */ {(void*) D_MA_60075D0, 0, (ObjectFunc) NULL, gNoHitbox, 1000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_77, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, D_MA_6036344, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_78, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_79, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_80, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_81, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_82, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_83, */ {(void*) Macbeth_801A3240, 1, (ObjectFunc) Macbeth_801A2DD8, gNoHitbox, 15000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_84, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_85, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_86, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_87, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_88, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_89, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_90, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_91, */ {(void*) Macbeth_801A2B24, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_92, */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_93, */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_94, */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 15000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_95, */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 15000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_96, */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_97, */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 15000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_98, */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 15000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_99, */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_100 */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_101 */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_102 */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_103 */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_104 */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) Macbeth_801A0BD8, D_MA_6036594, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_105 */ {(void*) Macbeth_801A23AC, 1, (ObjectFunc) NULL, D_MA_6036204, 1300.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_77, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, D_MA_6036344, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_78, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_79, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_80, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_81, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_82, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_83, */ {(void*) Macbeth_Scenery83_Draw, 1, (ObjectFunc) Macbeth_Scenery83_Update, gNoHitbox, 15000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_84, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_85, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_86, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_87, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_88, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_89, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_90, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_91, */ {(void*) Macbeth_SceneryDoodad2_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_92, */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_93, */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_94, */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 15000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_95, */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 15000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_96, */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_97, */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 15000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_98, */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 15000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_99, */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_100 */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_101 */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_102 */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_103 */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_104 */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) Macbeth_Scenery104_Update, D_MA_6036594, 2500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_105 */ {(void*) Macbeth_SceneryDoodad_Draw, 1, (ObjectFunc) NULL, D_MA_6036204, 1300.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_106 */ {(void*) D_SY_60097E0, 0, (ObjectFunc) NULL, D_SY_6034478, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_107 */ {(void*) D_SY_601D730, 0, (ObjectFunc) NULL, D_SY_603450C, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_108 */ {(void*) D_SY_60102C0, 0, (ObjectFunc) NULL, D_SY_6034588, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_109 */ {(void*) D_SY_60036A0, 0, (ObjectFunc) SectorY_801A4E44, D_SY_6034664, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_109 */ {(void*) D_SY_60036A0, 0, (ObjectFunc) SectorY_Scenery109_Update, D_SY_6034664, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_110 */ {(void*) D_SY_6005360, 0, (ObjectFunc) NULL, D_SY_6034770, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_111 */ {(void*) Scenery111_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 2000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SCENERY_112 */ {(void*) D_SY_600F6C0, 0, (ObjectFunc) SectorY_801A52B8, D_SY_60347F0, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_112 */ {(void*) D_SY_600F6C0, 0, (ObjectFunc) SectorY_Scenery112_Update, D_SY_60347F0, 4000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_113 */ {(void*) D_SY_601B610, 0, (ObjectFunc) NULL, gNoHitbox, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_114 */ {(void*) D_SY_601C6A0, 0, (ObjectFunc) NULL, gNoHitbox, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_115 */ {(void*) D_SY_60188D0, 0, (ObjectFunc) NULL, D_SY_603486C, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
@@ -219,13 +219,13 @@ ObjectInfo gObjectInfo[] = {
/* OBJ_SCENERY_123 */ {(void*) D_AQ_60120F0, 0, (ObjectFunc) NULL, D_AQ_6030E4C, 2000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_124 */ {(void*) D_AQ_600EEF0, 0, (ObjectFunc) NULL, gNoHitbox, 2000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_125 */ {(void*) D_AQ_600BF80, 0, (ObjectFunc) NULL, D_AQ_6030E68, 2000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_126 */ {(void*) Aquas_801BE1FC, 1, (ObjectFunc) NULL, gNoHitbox, 2000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_127 */ {(void*) D_VE1_9005C80, 0, (ObjectFunc) Venom1_801924A8, D_VE1_601B678, 1000.0f, 0, 0, 42, 0, 0.0f, 0 },
/* OBJ_SCENERY_126 */ {(void*) Aquas_Scenery126_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 2000.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_127 */ {(void*) D_VE1_9005C80, 0, (ObjectFunc) Venom1_Scenery127_Update, D_VE1_601B678, 1000.0f, 0, 0, 42, 0, 0.0f, 0 },
/* OBJ_SCENERY_128 */ {(void*) D_VE1_9003F50, 0, (ObjectFunc) NULL, D_VE1_601B6C4, 3200.0f, 0, 0, 42, 0, 0.0f, 0 },
/* OBJ_SCENERY_129 */ {(void*) D_VE1_900F060, 0, (ObjectFunc) NULL, D_VE1_601B710, 3200.0f, 0, 0, 42, 0, 0.0f, 0 },
/* OBJ_SCENERY_130 */ {(void*) D_VE1_900F1D0, 0, (ObjectFunc) NULL, D_VE1_601B75C, 3200.0f, 0, 0, 42, 0, 0.0f, 0 },
/* OBJ_SCENERY_131 */ {(void*) Andross_801935D4, 1, (ObjectFunc) Andross_8019356C, D_ANDROSS_C038BD8, 500.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_132 */ {(void*) Andross_8019350C, 1, (ObjectFunc) Andross_80193380, D_ANDROSS_C038A48, 500.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_131 */ {(void*) Andross_Scenery131_Draw, 1, (ObjectFunc) Andross_Scenery131_Update, D_ANDROSS_C038BD8, 500.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_132 */ {(void*) Andross_Scenery132_Draw, 1, (ObjectFunc) Andross_Scenery132_Update, D_ANDROSS_C038A48, 500.0f, 0, 0, 41, 0, 0.0f, 0 },
/* OBJ_SCENERY_133 */ {(void*) D_TR_60030F0, 0, (ObjectFunc) NULL, D_TR_6009CC4, 1000.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_SCENERY_134 */ {(void*) D_VE2_6003000, 0, (ObjectFunc) NULL, D_ANDROSS_C038BA4, 0.0f, 0, 0, 41, 1, 0.0f, 0 },
/* OBJ_SCENERY_135 */ {(void*) D_VE2_6006890, 0, (ObjectFunc) NULL, D_ANDROSS_C038B40, 0.0f, 0, 0, 41, 1, 0.0f, 0 },
@@ -249,172 +249,172 @@ ObjectInfo gObjectInfo[] = {
/* OBJ_SCENERY_153 */ {(void*) D_BO_600B8B0, 0, (ObjectFunc) NULL, D_BO_6011C48, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_154 */ {(void*) aKaFLBaseDL, 0, (ObjectFunc) NULL, D_KA_601115C, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_155 */ {(void*) NULL, 0, (ObjectFunc) NULL, gNoHitbox, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_156 */ {(void*) SectorY_80197CB8, 1, (ObjectFunc) NULL, D_SY_6034368, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_157 */ {(void*) D_SZ_6001DA0, 0, (ObjectFunc) NULL, D_SZ_600924C, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_158 */ {(void*) D_SZ_6001360, 0, (ObjectFunc) NULL, D_SZ_60092E8, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_156 */ {(void*) SectorY_Scenery156_Draw, 1, (ObjectFunc) NULL, D_SY_6034368, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_157 */ {(void*) aSzSpaceJunk3DL, 0, (ObjectFunc) NULL, D_SZ_600924C, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_158 */ {(void*) aSzSpaceJunk1DL, 0, (ObjectFunc) NULL, D_SZ_60092E8, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_159 */ {(void*) D_VE2_6008370, 0, (ObjectFunc) NULL, D_VE2_601668C, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SCENERY_160 */ {(void*) D_VE2_6010960, 0, (ObjectFunc) NULL, D_VE2_6016714, 0.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SPRITE_CO_POLE */ {(void*) D_CO_602F7C0, 0, (ObjectFunc) Sprite_UpdateDoodad, D_CO_603E468, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SPRITE_CO_TREE */ {(void*) D_CO_601C9B0, 0, (ObjectFunc) Sprite_UpdateDoodad, D_CO_603E484, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SPRITE_FO_POLE */ {(void*) D_FO_600A420, 0, (ObjectFunc) Sprite_UpdateDoodad, D_FO_600FE9C, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SPRITE_CO_POLE */ {(void*) aCoPoleDL, 0, (ObjectFunc) Sprite_UpdateDoodad, aCoPoleHitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SPRITE_CO_TREE */ {(void*) aCoTreeDL, 0, (ObjectFunc) Sprite_UpdateDoodad, aCoTreeHitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SPRITE_FO_POLE */ {(void*) aFoPoleDL, 0, (ObjectFunc) Sprite_UpdateDoodad, aFoPoleHitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SPRITE_FOG_SHADOW */ {(void*) FogShadow_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 1800.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SPRITE_CO_RUIN1 */ {(void*) D_CO_602DCA0, 0, (ObjectFunc) NULL, gNoHitbox, -100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SPRITE_CO_RUIN2 */ {(void*) D_CO_601F500, 0, (ObjectFunc) NULL, gNoHitbox, -100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SPRITE_167 */ {(void*) Sprite167_Draw, 1, (ObjectFunc) Sprite167_Update, gNoHitbox, 500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SPRITE_168 */ {(void*) Sprite168_Draw, 1, (ObjectFunc) NULL, gNoHitbox, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_SPRITE_TI_CACTUS */ {(void*) D_TI_60023B0, 0, (ObjectFunc) Titania_Cactus_Update, D_TI_60068BC, 100.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SPRITE_CO_SMOKE */ {(void*) NULL, 1, (ObjectFunc) Corneria_801875A4, gNoHitbox, 0.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SPRITE_TI_CACTUS */ {(void*) aTiCactusDL, 0, (ObjectFunc) Titania_Cactus_Update, aTiCactusHitbox, 100.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SPRITE_CO_SMOKE */ {(void*) NULL, 1, (ObjectFunc) Corneria_Smoke_Update, gNoHitbox, 0.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SPRITE_VE1_BOSS_TRIGGER1 */ {(void*) NULL, 1, (ObjectFunc) Venom1_BossTrigger1_Update, gNoHitbox, 0.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SPRITE_VE1_BOSS_TRIGGER2 */ {(void*) NULL, 1, (ObjectFunc) Venom1_BossTrigger2_Update, gNoHitbox, 0.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SPRITE_VE1_BOSS_TRIGGER3 */ {(void*) NULL, 1, (ObjectFunc) Venom1_BossTrigger3_Update, gNoHitbox, 0.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SPRITE_VE1_BOSS_TRIGGER4 */ {(void*) NULL, 1, (ObjectFunc) Venom1_BossTrigger4_Update, gNoHitbox, 0.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_SPRITE_GFOX_TARGET */ {(void*) NULL, 1, (ObjectFunc) NULL, gNoHitbox, 1000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_176 */ {(void*) Corneria_8018BAAC, 2, (ObjectFunc) Corneria_8018AED0, D_CO_603E5D0, 500.0f, 0, 0, 39, 1, 200.0f, 1 },
/* OBJ_ACTOR_177 */ {(void*) Corneria_8018BBA4, 2, (ObjectFunc) Corneria_8018B15C, D_CO_603E5D0, 500.0f, 0, 0, 39, 1, 200.0f, 1 },
/* OBJ_ACTOR_178 */ {(void*) Corneria_8018BBF8, 2, (ObjectFunc) Corneria_8018B418, D_CO_603E5D0, 500.0f, 0, 0, 39, 1, 200.0f, 1 },
/* OBJ_ACTOR_179 */ {(void*) Corneria_8018BD7C, 2, (ObjectFunc) Corneria_8018B58C, D_CO_603E604, 500.0f, 0, 0, 39, 1, 0.0f, 1 },
/* OBJ_ACTOR_180 */ {(void*) func_edisplay_8005B6A4, 1, (ObjectFunc) func_enmy_80066A80, gNoHitbox, 1000.0f, 0, 0, 39, 0, 0.0f, 1 },
/* OBJ_ACTOR_181 */ {(void*) D_ME_6018C00, 0, (ObjectFunc) Meteo_8018756C, D_ME_602F6EC, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_182 */ {(void*) func_edisplay_8005B71C, 1, (ObjectFunc) Meteo_80187650, D_ME_602F708, 100.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_183 */ {(void*) Meteo_8018DA6C, 1, (ObjectFunc) Meteo_8018D9EC, gNoHitbox, 100.0f, 0, 1, 39, 0, 0.0f, 1 },
/* OBJ_ACTOR_184 */ {(void*) Meteo_8018DAEC, 1, (ObjectFunc) Meteo_8018D9EC, gNoHitbox, 100.0f, 0, 1, 39, 0, 0.0f, 1 },
/* OBJ_ACTOR_185 */ {(void*) Meteo_8018DB6C, 1, (ObjectFunc) Meteo_8018D9EC, gNoHitbox, 100.0f, 0, 1, 39, 0, 0.0f, 1 },
/* OBJ_ACTOR_186 */ {(void*) func_edisplay_8005B7CC, 1, (ObjectFunc) Meteo_8018795C, D_ME_602F724, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_187 */ {(void*) D_ME_6018450, 0, (ObjectFunc) Meteo_801877C4, D_ME_602F740, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_188 */ {(void*) Aquas_801BEC74, 1, (ObjectFunc) Aquas_801BEC68, D_AQ_6030BE0, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_CO_GARUDA_1 */ {(void*) Corneria_CoGaruda1_Draw, 2, (ObjectFunc) Corneria_CoGaruda1_Update, CoGarudaHitbox, 500.0f, 0, 0, 39, 1, 200.0f, 1 },
/* OBJ_ACTOR_CO_GARUDA_2 */ {(void*) Corneria_CoGaruda2_Draw, 2, (ObjectFunc) Corneria_CoGaruda2_Update, CoGarudaHitbox, 500.0f, 0, 0, 39, 1, 200.0f, 1 },
/* OBJ_ACTOR_CO_GARUDA_3 */ {(void*) Corneria_CoGaruda3_Draw, 2, (ObjectFunc) Corneria_CoGaruda3_Update, CoGarudaHitbox, 500.0f, 0, 0, 39, 1, 200.0f, 1 },
/* OBJ_ACTOR_CO_GARUDA_DESTROY */ {(void*) Corneria_CoGarudaDestroy_Draw, 2, (ObjectFunc) Corneria_CoGarudaDestroy_Update, aCoGarudaDestroyHitbox, 500.0f, 0, 0, 39, 1, 0.0f, 1 },
/* OBJ_ACTOR_180 */ {(void*) Actor180_Draw, 1, (ObjectFunc) Actor180_Update, gNoHitbox, 1000.0f, 0, 0, 39, 0, 0.0f, 1 },
/* OBJ_ACTOR_181 */ {(void*) D_ME_6018C00, 0, (ObjectFunc) Meteo_Actor181_Update, D_ME_602F6EC, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_182 */ {(void*) Actor182_Draw, 1, (ObjectFunc) Meteo_Actor182_Update, D_ME_602F708, 100.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_183 */ {(void*) Meteo_Actor183_Draw, 1, (ObjectFunc) Meteo_ActorDoodad_Update, gNoHitbox, 100.0f, 0, 1, 39, 0, 0.0f, 1 },
/* OBJ_ACTOR_184 */ {(void*) Meteo_Actor184_Draw, 1, (ObjectFunc) Meteo_ActorDoodad_Update, gNoHitbox, 100.0f, 0, 1, 39, 0, 0.0f, 1 },
/* OBJ_ACTOR_185 */ {(void*) Meteo_Actor185_Draw, 1, (ObjectFunc) Meteo_ActorDoodad_Update, gNoHitbox, 100.0f, 0, 1, 39, 0, 0.0f, 1 },
/* OBJ_ACTOR_186 */ {(void*) Actor186_Draw, 1, (ObjectFunc) Meteo_Actor186_Update, D_ME_602F724, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_187 */ {(void*) D_ME_6018450, 0, (ObjectFunc) Meteo_Actor187_Update, D_ME_602F740, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_188 */ {(void*) Aquas_Actor188_Draw, 1, (ObjectFunc) Aquas_Actor188_Update, D_AQ_6030BE0, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_DEBRIS */ {(void*) ActorDebris_Draw, 1, (ObjectFunc) ActorDebris_Update, gNoHitbox, 0.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_ACTOR_190 */ {(void*) func_edisplay_8005B848, 1, (ObjectFunc) func_enmy_800656D4, gActor190_191Hitbox, 100.0f, 0, 1, 39, 0, 1.0f, 0 },
/* OBJ_ACTOR_191 */ {(void*) func_edisplay_8005B848, 1, (ObjectFunc) func_enmy_800656D4, gActor190_191Hitbox, 100.0f, 0, 1, 39, 0, 1.0f, 0 },
/* OBJ_ACTOR_192 */ {(void*) func_edisplay_8005B9A4, 1, (ObjectFunc) func_enmy_8006654C, D_CO_603E54C, 200.0f, 0, 1, 39, 0, 50.0f, 1 },
/* OBJ_ACTOR_193 */ {(void*) func_edisplay_8005BA30, 1, (ObjectFunc) func_enmy_800669A0, D_CO_603E598, 100.0f, 0, 1, 39, 0, 0.0f, 0 },
/* OBJ_MISSILE_SEEK_TEAM */ {(void*) Actor190_191_Draw, 1, (ObjectFunc) Actors190_191_Update, gActor190_191Hitbox, 100.0f, 0, 1, 39, 0, 1.0f, 0 },
/* OBJ_MISSILE_SEEK_PLAYER */ {(void*) Actor190_191_Draw, 1, (ObjectFunc) Actors190_191_Update, gActor190_191Hitbox, 100.0f, 0, 1, 39, 0, 1.0f, 0 },
/* OBJ_ACTOR_192 */ {(void*) Actor192_Draw, 1, (ObjectFunc) Actor192_Update, D_CO_603E54C, 200.0f, 0, 1, 39, 0, 50.0f, 1 },
/* OBJ_ACTOR_193 */ {(void*) Actor193_Draw, 1, (ObjectFunc) Actor193_Update, D_CO_603E598, 100.0f, 0, 1, 39, 0, 0.0f, 0 },
/* OBJ_ACTOR_194 */ {(void*) Actor194_Draw, 1, (ObjectFunc) Actor194_Update, gActor194Hitbox, 200.0f, 0, 1, 39, 0, 0.0f, 1 },
/* OBJ_ACTOR_CUTSCENE */ {(void*) ActorCutscene_Draw, 1, (ObjectFunc) ActorCutscene_Update, gNoHitbox, 20000.0f, 0, 1, 39, 0, 0.0f, 0 },
/* OBJ_ACTOR_196 */ {(void*) Actor196_Draw, 1, (ObjectFunc) Actor196_Update, D_CO_603E5B4, 200.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_ALLRANGE */ {(void*) ActorAllRange_Draw, 1, (ObjectFunc) ActorAllRange_Update, gActorAllRangeHItbox, 20000.0f, 0, 1, 39, 1, 1.0f, 1 },
/* OBJ_ACTOR_TEAM_BOSS */ {(void*) ActorAllRange_Draw, 1, (ObjectFunc) ActorTeamBoss_Update, gTeamHitbox, 20000.0f, 0, 0, 39, 1, 0.0f, 0 },
/* OBJ_ACTOR_199 */ {(void*) Andross_80188448, 1, (ObjectFunc) Andross_801880E4, gNoHitbox, 20000.0f, 0, 0, 39, 1, 0.0f, 0 },
/* OBJ_ACTOR_199 */ {(void*) Andross_Actor199_Draw, 1, (ObjectFunc) Andross_Actor199_Update, gNoHitbox, 20000.0f, 0, 0, 39, 1, 0.0f, 0 },
/* OBJ_ACTOR_EVENT */ {(void*) ActorEvent_Draw, 1, (ObjectFunc) ActorEvent_Update, gNoHitbox, 2000.0f, 0, 1, 39, 0, 0.0f, 1 },
/* OBJ_ACTOR_201 */ {(void*) Actor201_Draw, 1, (ObjectFunc) Actor201_Update, D_ME_602F684, 100.0f, 0, 1, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_202 */ {(void*) Actor202_Draw, 1, (ObjectFunc) Actor202_Update, D_ME_602F6A0, 100.0f, 0, 1, 39, 0, 180.0f, 1 },
/* OBJ_ACTOR_SLIPPY_SX */ {(void*) SectorX_8018F884, 1, (ObjectFunc) SectorX_8018F330, gNoHitbox, 1000.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_ACTOR_SLIPPY_SX */ {(void*) SectorX_Slippy_Draw, 1, (ObjectFunc) SectorX_Slippy_Update, gNoHitbox, 1000.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_ACTOR_204 */ {(void*) SectorY_Actor204_Draw, 1, (ObjectFunc) SectorY_Actor204_Update, D_SY_603405C, 1000.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_205 */ {(void*) Macbeth_801A12C4, 1, (ObjectFunc) Macbeth_8019C778, D_MA_60359C8, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_206 */ {(void*) Macbeth_801A12C4, 1, (ObjectFunc) Macbeth_801AC438, D_MA_6035A48, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_207 */ {(void*) Macbeth_801AC294, 2, (ObjectFunc) Macbeth_801A7E7C, D_MA_603677C, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_208 */ {(void*) Macbeth_801A12C4, 1, (ObjectFunc) Macbeth_8019EA60, D_MA_6035A14, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_209 */ {(void*) Macbeth_801A12C4, 1, (ObjectFunc) Macbeth_8019D700, D_MA_6035AE0, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_210 */ {(void*) Macbeth_801A12C4, 1, (ObjectFunc) Macbeth_8019CE88, D_MA_6035D9C, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_211 */ {(void*) Macbeth_801A12C4, 1, (ObjectFunc) Macbeth_8019E410, D_MA_6035E04, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_212 */ {(void*) Macbeth_801A12C4, 1, (ObjectFunc) Macbeth_8019FF9C, D_MA_60360C0, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_213 */ {(void*) Macbeth_801A12C4, 1, (ObjectFunc) Macbeth_8019EE68, D_MA_6036154, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_214 */ {(void*) Macbeth_801A43BC, 1, (ObjectFunc) Macbeth_801A3E98, D_MA_6036458, 300.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_215 */ {(void*) Macbeth_801A4A64, 1, (ObjectFunc) Macbeth_801A46A0, D_MA_60364C0, 300.0f, 0, 1, 40, 1, 0.0f, 1 },
/* OBJ_ACTOR_216 */ {(void*) Macbeth_801A5F90, 1, (ObjectFunc) Macbeth_801A5E54, D_MA_60366EC, 200.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_217 */ {(void*) Macbeth_801A6100, 1, (ObjectFunc) Macbeth_801A5FD0, D_MA_6036708, 200.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_218 */ {(void*) Macbeth_801A6540, 1, (ObjectFunc) Macbeth_801A6144, D_MA_6036728, 200.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_219 */ {(void*) Macbeth_801A68EC, 1, (ObjectFunc) Macbeth_801A67C8, D_MA_6036744, 300.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_220 */ {(void*) Macbeth_801ADAC8, 1, (ObjectFunc) Macbeth_801AD6F0, D_MA_6036930, 200.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_221 */ {(void*) Macbeth_801AE2C0, 1, (ObjectFunc) Macbeth_801ADD68, D_MA_603694C, 300.0f, 0, 0, 40, 1, 1.0f, 0 },
/* OBJ_ACTOR_222 */ {(void*) Macbeth_801AEEFC, 1, (ObjectFunc) Macbeth_801AEC04, D_MA_6036968, 300.0f, 0, 0, 40, 1, 1.0f, 0 },
/* OBJ_ACTOR_223 */ {(void*) Macbeth_801A54E8, 1, (ObjectFunc) Macbeth_801A4B24, D_MA_60364DC, 300.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_224 */ {(void*) NULL, 1, (ObjectFunc) Titania_80189194, gNoHitbox, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_ACTOR_225 */ {(void*) D_TI1_700AB70, 0, (ObjectFunc) Titania_8018AB44, D_TI_60064AC, 50.0f, 0, 0, 39, 1, 1.0f, 0 },
/* OBJ_ACTOR_226 */ {(void*) Titania_80189AFC, 1, (ObjectFunc) Titania_801895B8, D_TI_60064C8, 300.0f, 0, 0, 39, 1, 70.0f, 1 },
/* OBJ_ACTOR_227 */ {(void*) Titania_8018E5B4, 1, (ObjectFunc) Titania_8018E54C, D_TI_60067C4, 0.0f, 0, 0, 39, 1, 0.0f, 0 },
/* OBJ_ACTOR_228 */ {(void*) Titania_8018EF14, 1, (ObjectFunc) Titania_8018E5F8, D_TI_6006808, 0.0f, 0, 0, 39, 1, 1.0f, 1 },
/* OBJ_ACTOR_229 */ {(void*) Titania_8018E2D8, 1, (ObjectFunc) Titania_8018C8A8, D_TI_6006A3C, 1000.0f, 0, 0, 20, 1, 0.0f, 1 },
/* OBJ_ACTOR_230 */ {(void*) Titania_8018AABC, 1, (ObjectFunc) Titania_8018A544, D_TI_600683C, 0.0f, 0, 1, 39, 1, 0.0f, 1 },
/* OBJ_ACTOR_231 */ {(void*) Titania_8018BE84, 1, (ObjectFunc) Titania_8018B9D0, D_TI_6006858, 0.0f, 0, 0, 39, 1, 0.0f, 1 },
/* OBJ_ACTOR_232 */ {(void*) Titania_8018B6AC, 1, (ObjectFunc) Titania_8018B268, D_TI_6006890, 0.0f, 0, 0, 39, 1, 20.0f, 1 },
/* OBJ_ACTOR_233 */ {(void*) Titania_8018A1C0, 1, (ObjectFunc) Titania_80189CC8, D_TI_60068F0, 200.0f, 0, 0, 39, 1, 1.0f, 1 },
/* OBJ_ACTOR_205 */ {(void*) Macbeth_ActorDoodad_Draw, 1, (ObjectFunc) Macbeth_Actor205_Update, D_MA_60359C8, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_206 */ {(void*) Macbeth_ActorDoodad_Draw, 1, (ObjectFunc) Macbeth_Actor206_Update, D_MA_6035A48, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_207 */ {(void*) Macbeth_Actor207_Draw, 2, (ObjectFunc) Macbeth_Actor207_Update, D_MA_603677C, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_208 */ {(void*) Macbeth_ActorDoodad_Draw, 1, (ObjectFunc) Macbeth_Actor208_Update, D_MA_6035A14, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_209 */ {(void*) Macbeth_ActorDoodad_Draw, 1, (ObjectFunc) Macbeth_Actor209_Update, D_MA_6035AE0, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_210 */ {(void*) Macbeth_ActorDoodad_Draw, 1, (ObjectFunc) Macbeth_Actor210_Update, D_MA_6035D9C, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_211 */ {(void*) Macbeth_ActorDoodad_Draw, 1, (ObjectFunc) Macbeth_Actor211_Update, D_MA_6035E04, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_212 */ {(void*) Macbeth_ActorDoodad_Draw, 1, (ObjectFunc) Macbeth_Actor212_Update, D_MA_60360C0, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_213 */ {(void*) Macbeth_ActorDoodad_Draw, 1, (ObjectFunc) Macbeth_Actor213_Update, D_MA_6036154, 20000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_214 */ {(void*) Macbeth_Actor214_Draw, 1, (ObjectFunc) Macbeth_Actor214_Update, D_MA_6036458, 300.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_215 */ {(void*) Macbeth_Actor215_Draw, 1, (ObjectFunc) Macbeth_Actor215_Update, D_MA_60364C0, 300.0f, 0, 1, 40, 1, 0.0f, 1 },
/* OBJ_ACTOR_216 */ {(void*) Macbeth_Actor216_Draw, 1, (ObjectFunc) Macbeth_Actor216_Update, D_MA_60366EC, 200.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_217 */ {(void*) Macbeth_Actor217_Draw, 1, (ObjectFunc) Macbeth_Actor217_Update, D_MA_6036708, 200.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_218 */ {(void*) Macbeth_Actor218_Draw, 1, (ObjectFunc) Macbeth_Actor218_Update, D_MA_6036728, 200.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_219 */ {(void*) Macbeth_Actor219_Draw, 1, (ObjectFunc) Macbeth_Actor219_Update, D_MA_6036744, 300.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_220 */ {(void*) Macbeth_Actor220_Draw, 1, (ObjectFunc) Macbeth_Actor220_Update, D_MA_6036930, 200.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_221 */ {(void*) Macbeth_Actor221_Draw, 1, (ObjectFunc) Macbeth_Actor221_Update, D_MA_603694C, 300.0f, 0, 0, 40, 1, 1.0f, 0 },
/* OBJ_ACTOR_222 */ {(void*) Macbeth_Actor222_Draw, 1, (ObjectFunc) Macbeth_Actor222_Update, D_MA_6036968, 300.0f, 0, 0, 40, 1, 1.0f, 0 },
/* OBJ_ACTOR_223 */ {(void*) Macbeth_Actor223_Draw, 1, (ObjectFunc) Macbeth_Actor223_Update, D_MA_60364DC, 300.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_224 */ {(void*) NULL, 1, (ObjectFunc) Titania_Actor224_Update, gNoHitbox, 200.0f, 0, 0, 39, 0, 0.0f, 0 },
/* OBJ_ACTOR_225 */ {(void*) D_TI1_700AB70, 0, (ObjectFunc) Titania_Actor225_Update, D_TI_60064AC, 50.0f, 0, 0, 39, 1, 1.0f, 0 },
/* OBJ_ACTOR_226 */ {(void*) Titania_Actor226_Draw, 1, (ObjectFunc) Titania_Actor226_Update, D_TI_60064C8, 300.0f, 0, 0, 39, 1, 70.0f, 1 },
/* OBJ_ACTOR_227 */ {(void*) Titania_Actor227_Draw, 1, (ObjectFunc) Titania_Actor227_Update, D_TI_60067C4, 0.0f, 0, 0, 39, 1, 0.0f, 0 },
/* OBJ_ACTOR_228 */ {(void*) Titania_Actor228_Draw, 1, (ObjectFunc) Titania_Actor228_Update, D_TI_6006808, 0.0f, 0, 0, 39, 1, 1.0f, 1 },
/* OBJ_ACTOR_229 */ {(void*) Titania_Actor229_Draw, 1, (ObjectFunc) Titania_Actor229_Update, D_TI_6006A3C, 1000.0f, 0, 0, 20, 1, 0.0f, 1 },
/* OBJ_ACTOR_230 */ {(void*) Titania_Actor230_Draw, 1, (ObjectFunc) Titania_Actor230_Update, D_TI_600683C, 0.0f, 0, 1, 39, 1, 0.0f, 1 },
/* OBJ_ACTOR_231 */ {(void*) Titania_Actor231_Draw, 1, (ObjectFunc) Titania_Actor231_Update, D_TI_6006858, 0.0f, 0, 0, 39, 1, 0.0f, 1 },
/* OBJ_ACTOR_232 */ {(void*) Titania_Actor232_Draw, 1, (ObjectFunc) Titania_Actor232_Update, D_TI_6006890, 0.0f, 0, 0, 39, 1, 20.0f, 1 },
/* OBJ_ACTOR_233 */ {(void*) Titania_Actor233_Draw, 1, (ObjectFunc) Titania_Actor233_Update, D_TI_60068F0, 200.0f, 0, 0, 39, 1, 1.0f, 1 },
/* OBJ_ACTOR_234 */ {(void*) Actor234_Draw, 1, (ObjectFunc) Actor234_Update, gNoHitbox, 2000.0f, 0, 0, 39, 0, 0.0f, 5 },
/* OBJ_ACTOR_235 */ {(void*) Zoness_80190430, 2, (ObjectFunc) Zoness_801904CC, D_ZO_602C294, 1000.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_236 */ {(void*) Zoness_80190F08, 1, (ObjectFunc) Zoness_80190A00, D_ZO_602BC58, 5000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_235 */ {(void*) Zoness_Actor235_Draw, 2, (ObjectFunc) Zoness_Actor235_Update, D_ZO_602C294, 1000.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_236 */ {(void*) Zoness_Actor236_Draw, 1, (ObjectFunc) Zoness_Actor236_Update, D_ZO_602BC58, 5000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_237 */ {(void*) Actor237_Draw, 1, (ObjectFunc) Actor237_Update, gNoHitbox, 200.0f, 0, 0, 40, 0, 0.0f, 2 },
/* OBJ_ACTOR_238 */ {(void*) Zoness_801914C4, 2, (ObjectFunc) Zoness_80191010, gCubeHitbox100, 200.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_238 */ {(void*) Zoness_Actor238_Draw, 2, (ObjectFunc) Zoness_Actor238_Update, gCubeHitbox100, 200.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_239 */ {(void*) NULL, 1, (ObjectFunc) NULL, gNoHitbox, 1000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_240 */ {(void*) Zoness_80191B4C, 1, (ObjectFunc) Zoness_80191680, gCubeHitbox100, 1500.0f, 0, 1, 40, 0, 20.0f, 0 },
/* OBJ_ACTOR_241 */ {(void*) Zoness_80191DB0, 1, (ObjectFunc) Zoness_80191BC4, gActor241Hitbox, 1500.0f, 0, 1, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_242 */ {(void*) Zoness_80191FFC, 2, (ObjectFunc) Zoness_80192094, D_ZO_602BE3C, 500.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_ACTOR_243 */ {(void*) Zoness_80192C18, 2, (ObjectFunc) Zoness_80192834, gCubeHitbox100, 0.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_244 */ {(void*) Zoness_80193240, 2, (ObjectFunc) Zoness_80192E64, D_ZO_602BE58, 2000.0f, 0, 0, 40, 0, 50.0f, 0 },
/* OBJ_ACTOR_245 */ {(void*) Zoness_8019983C, 1, (ObjectFunc) Zoness_8019969C, gCubeHitbox100, 200.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_ACTOR_246 */ {(void*) Zoness_80199E24, 1, (ObjectFunc) Zoness_80199A28, gCubeHitbox100, 2000.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_ACTOR_247 */ {(void*) Zoness_8019D3C4, 1, (ObjectFunc) Zoness_8019D15C, D_ZO_602BFC4, 500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_248 */ {(void*) Zoness_8019A1FC, 1, (ObjectFunc) Zoness_80199F10, gCubeHitbox150, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_249 */ {(void*) Zoness_8019ACCC, 1, (ObjectFunc) Zoness_8019A5D4, gCubeHitbox200, 5000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_250 */ {(void*) Zoness_8019B7DC, 1, (ObjectFunc) Zoness_8019B548, D_ZO_602C1D4, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_251 */ {(void*) Zoness_8019BDE0, 2, (ObjectFunc) Zoness_8019B854, D_ZO_602C218, 1000.0f, 0, 0, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_252 */ {(void*) Zoness_8019C1CC, 1, (ObjectFunc) Zoness_8019BE48, D_ZO_602C234, 200.0f, 0, 0, 40, 0, 80.0f, 1 },
/* OBJ_ACTOR_253 */ {(void*) Zoness_8019C83C, 1, (ObjectFunc) Zoness_8019C454, D_ZO_602C250, 300.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_254 */ {(void*) Zoness_8019CE58, 1, (ObjectFunc) Zoness_8019CBEC, D_ZO_602C2B0, 300.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_255 */ {(void*) Aquas_801AE168, 1, (ObjectFunc) Aquas_801AD6C0, D_AQ_6030BFC, 500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_256 */ {(void*) Aquas_801AEB44, 1, (ObjectFunc) Aquas_801AE3D8, D_AQ_6030C18, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_257 */ {(void*) Aquas_801B099C, 1, (ObjectFunc) Aquas_801AFA5C, D_AQ_6030C44, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_258 */ {(void*) Aquas_801B0EC0, 1, (ObjectFunc) Aquas_801B0B60, gCubeHitbox100, 200.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_259 */ {(void*) Aquas_801B619C, 2, (ObjectFunc) Aquas_801B638C, D_AQ_6031398, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_260 */ {(void*) Aquas_801B90DC, 2, (ObjectFunc) Aquas_801B7C78, D_AQ_60313CC, 300.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_261 */ {(void*) Aquas_801B504C, 2, (ObjectFunc) Aquas_801B50E8, D_AQ_6031400, 300.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_ACTOR_262 */ {(void*) Aquas_801B7A24, 2, (ObjectFunc) Aquas_801B6FF8, D_AQ_603144C, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_263 */ {(void*) Aquas_801BA108, 2, (ObjectFunc) Aquas_801B91A4, D_AQ_6031480, 200.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_ACTOR_264 */ {(void*) Aquas_801BA4E4, 1, (ObjectFunc) Aquas_801BA26C, gCubeHitbox100, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_265 */ {(void*) Aquas_801BAD7C, 1, (ObjectFunc) Aquas_801BA6A4, D_AQ_6031500, 200.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_ACTOR_266 */ {(void*) Aquas_801BB204, 2, (ObjectFunc) Aquas_801BADF8, D_AQ_6031538, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_267 */ {(void*) Aquas_801BC930, 2, (ObjectFunc) Aquas_801BB79C, D_AQ_6031554, 800.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_268 */ {(void*) Aquas_801BDE6C, 1, (ObjectFunc) Aquas_801BD54C, D_AQ_6031570, 10000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_269 */ {(void*) Aquas_801BD264, 1, (ObjectFunc) Aquas_801BC9A0, D_AQ_6030D20, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_270 */ {(void*) Aquas_801BEB1C, 1, (ObjectFunc) Aquas_801BE3F8, D_AQ_60314C8, 1000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_240 */ {(void*) Zoness_Actor240_Draw, 1, (ObjectFunc) Zoness_Actor240_Update, gCubeHitbox100, 1500.0f, 0, 1, 40, 0, 20.0f, 0 },
/* OBJ_ACTOR_241 */ {(void*) Zoness_Actor241_Draw, 1, (ObjectFunc) Zoness_Actor241_Update, gActor241Hitbox, 1500.0f, 0, 1, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_242 */ {(void*) Zoness_Actor242_Draw, 2, (ObjectFunc) Zoness_Actor242_Update, D_ZO_602BE3C, 500.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_ACTOR_243 */ {(void*) Zoness_Actor243_Draw, 2, (ObjectFunc) Zoness_Actor243_Update, gCubeHitbox100, 0.0f, 0, 1, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_244 */ {(void*) Zoness_Actor244_Draw, 2, (ObjectFunc) Zoness_Actor244_Update, D_ZO_602BE58, 2000.0f, 0, 0, 40, 0, 50.0f, 0 },
/* OBJ_ACTOR_245 */ {(void*) Zoness_Actor245_Draw, 1, (ObjectFunc) Zoness_Actor245_Update, gCubeHitbox100, 200.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_ACTOR_246 */ {(void*) Zoness_Actor246_Draw, 1, (ObjectFunc) Zoness_Actor246_Update, gCubeHitbox100, 2000.0f, 0, 0, 40, 0, 1.0f, 0 },
/* OBJ_ACTOR_247 */ {(void*) Zoness_Actor247_Draw, 1, (ObjectFunc) Zoness_Actor247_Update, D_ZO_602BFC4, 500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_248 */ {(void*) Zoness_Actor248_Draw, 1, (ObjectFunc) Zoness_Actor248_Update, gCubeHitbox150, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_249 */ {(void*) Zoness_Actor249_Draw, 1, (ObjectFunc) Zoness_Actor249_Update, gCubeHitbox200, 5000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_250 */ {(void*) Zoness_Actor250_Draw, 1, (ObjectFunc) Zoness_Actor250_Update, D_ZO_602C1D4, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_251 */ {(void*) Zoness_Actor251_Draw, 2, (ObjectFunc) Zoness_Actor251_Update, D_ZO_602C218, 1000.0f, 0, 0, 40, 0, 1.0f, 1 },
/* OBJ_ACTOR_252 */ {(void*) Zoness_Actor252_Draw, 1, (ObjectFunc) Zoness_Actor252_Update, D_ZO_602C234, 200.0f, 0, 0, 40, 0, 80.0f, 1 },
/* OBJ_ACTOR_253 */ {(void*) Zoness_Actor253_Draw, 1, (ObjectFunc) Zoness_Actor253_Update, D_ZO_602C250, 300.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_254 */ {(void*) Zoness_Actor254_Draw, 1, (ObjectFunc) Zoness_Actor254_Update, D_ZO_602C2B0, 300.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_255 */ {(void*) Aquas_Actor255_Draw, 1, (ObjectFunc) Aquas_Actor255_Update, D_AQ_6030BFC, 500.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_256 */ {(void*) Aquas_Actor256_Draw, 1, (ObjectFunc) Aquas_Actor256_Update, D_AQ_6030C18, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_257 */ {(void*) Aquas_Actor257_Draw, 1, (ObjectFunc) Aquas_Actor257_Update, D_AQ_6030C44, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_258 */ {(void*) Aquas_Actor258_Draw, 1, (ObjectFunc) Aquas_Actor258_Update, gCubeHitbox100, 200.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_259 */ {(void*) Aquas_Actor259_Draw, 2, (ObjectFunc) Aquas_Actor259_Update, D_AQ_6031398, 10000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_260 */ {(void*) Aquas_Actor260_Draw, 2, (ObjectFunc) Aquas_Actor260_Update, D_AQ_60313CC, 300.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_261 */ {(void*) Aquas_Actor261_Draw, 2, (ObjectFunc) Aquas_Actor261_Update, D_AQ_6031400, 300.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_ACTOR_262 */ {(void*) Aquas_Actor262_Draw, 2, (ObjectFunc) Aquas_Actor262_Update, D_AQ_603144C, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_263 */ {(void*) Aquas_Actor263_Draw, 2, (ObjectFunc) Aquas_Actor263_Update, D_AQ_6031480, 200.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_ACTOR_264 */ {(void*) Aquas_Actor264_Draw, 1, (ObjectFunc) Aquas_Actor264_Update, gCubeHitbox100, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_265 */ {(void*) Aquas_Actor265_Draw, 1, (ObjectFunc) Aquas_Actor265_Update, D_AQ_6031500, 200.0f, 0, 0, 40, 0, 0.0f, 1 },
/* OBJ_ACTOR_266 */ {(void*) Aquas_Actor266_Draw, 2, (ObjectFunc) Aquas_Actor266_Update, D_AQ_6031538, 200.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_267 */ {(void*) Aquas_Actor267_Draw, 2, (ObjectFunc) Aquas_Actor267_Update, D_AQ_6031554, 800.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_268 */ {(void*) Aquas_Actor268_Draw, 1, (ObjectFunc) Aquas_Actor268_Update, D_AQ_6031570, 10000.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ACTOR_269 */ {(void*) Aquas_Actor269_Draw, 1, (ObjectFunc) Aquas_Actor269_Update, D_AQ_6030D20, 2000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_270 */ {(void*) Aquas_Actor270_Draw, 1, (ObjectFunc) Aquas_Actor270_Update, D_AQ_60314C8, 1000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_271 */ {(void*) Actor271_Draw, 2, (ObjectFunc) Actor271_Update, D_BO_6011B24, 0.0f, 0, 0, 39, 0, 730.0f, 1 },
/* OBJ_ACTOR_272 */ {(void*) Actor272_Draw, 1, (ObjectFunc) Actor272_Update, D_BO_6011BF4, 0.0f, 0, 0, 39, 0, 150.0f, 1 },
/* OBJ_ACTOR_273 */ {(void*) Fortuna_80188FE4, 2, (ObjectFunc) Fortuna_80188AD0, D_FO_600FF30, 0.0f, 0, 0, 39, 0, 220.0f, 1 },
/* OBJ_ACTOR_274 */ {(void*) SectorZ_8019E3A8, 1, (ObjectFunc) SectorZ_8019E234, gCubeHitbox200, 0.0f, 0, 0, 39, 0, 1.0f, 0 },
/* OBJ_ACTOR_275 */ {(void*) Solar_8019F7AC, 1, (ObjectFunc) Solar_8019F20C, gCubeHitbox100, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_276 */ {(void*) Solar_8019F7AC, 1, (ObjectFunc) Solar_8019F20C, gCubeHitbox100, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_277 */ {(void*) Solar_8019F7AC, 1, (ObjectFunc) Solar_8019F20C, gCubeHitbox200, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_278 */ {(void*) NULL, 1, (ObjectFunc) Solar_8019EA7C, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 1 },
/* OBJ_ACTOR_279 */ {(void*) NULL, 1, (ObjectFunc) Solar_801A003C, gNoHitbox, 1000.0f, 0, 0, 0, 0, 0.0f, 1 },
/* OBJ_ACTOR_280 */ {(void*) D_VE1_900DD20, 0, (ObjectFunc) Venom1_80192518, D_VE1_601B7F8, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_281 */ {(void*) Venom1_80192E2C, 1, (ObjectFunc) Venom1_80192CD4, D_VE1_601B830, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_282 */ {(void*) D_VE1_901DA50, 0, (ObjectFunc) Venom1_80192CD4, D_VE1_601B868, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_283 */ {(void*) D_VE1_9023AD0, 0, (ObjectFunc) Venom1_80192EB0, D_VE1_601B8A0, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_284 */ {(void*) Venom1_801934D0, 1, (ObjectFunc) Venom1_801933DC, D_VE1_601B8D8, 1000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_285 */ {(void*) Andross_80193244, 1, (ObjectFunc) Andross_80192E94, gCubeHitbox100, 1000.0f, 0, 0, 20, 0, 1.0f, 1 },
/* OBJ_ACTOR_286 */ {(void*) Andross_80188660, 1, (ObjectFunc) Andross_80188528, gCubeHitbox100, 1000.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_ACTOR_287 */ {(void*) NULL, 1, (ObjectFunc) Andross_80189724, gNoHitbox, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_288 */ {(void*) NULL, 1, (ObjectFunc) Andross_801893B8, gNoHitbox, 1000.0f, 0, 0, 20, 1, 0.0f, 0 },
/* OBJ_ACTOR_289 */ {(void*) func_edata_800596B0, 1, (ObjectFunc) Andross_80189470, gNoHitbox, 1000.0f, 0, 0, 20, 1, 0.0f, 0 },
/* OBJ_ACTOR_290 */ {(void*) NULL, 1, (ObjectFunc) Andross_8018933C, gNoHitbox, 1000.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_ACTOR_FO_RADAR */ {(void*) Fortuna_Radar_Draw, 2, (ObjectFunc) Fortuna_Radar_Update, aFoRadarHitbox, 0.0f, 0, 0, 39, 0, 220.0f, 1 },
/* OBJ_ACTOR_SZ_SPACE_JUNK */ {(void*) SectorZ_SpaceJunkDraw, 1, (ObjectFunc) SectorZ_SpaceJunkUpdate, gCubeHitbox200, 0.0f, 0, 0, 39, 0, 1.0f, 0 },
/* OBJ_ACTOR_275 */ {(void*) Solar_Doodad_Draw, 1, (ObjectFunc) Solar_Doodad_Update, gCubeHitbox100, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_276 */ {(void*) Solar_Doodad_Draw, 1, (ObjectFunc) Solar_Doodad_Update, gCubeHitbox100, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_277 */ {(void*) Solar_Doodad_Draw, 1, (ObjectFunc) Solar_Doodad_Update, gCubeHitbox200, 200.0f, 0, 0, 39, 0, 1.0f, 1 },
/* OBJ_ACTOR_278 */ {(void*) NULL, 1, (ObjectFunc) Solar_Actor278_Update, gNoHitbox, 200.0f, 0, 0, 0, 0, 0.0f, 1 },
/* OBJ_ACTOR_279 */ {(void*) NULL, 1, (ObjectFunc) Solar_Actor279_Update, gNoHitbox, 1000.0f, 0, 0, 0, 0, 0.0f, 1 },
/* OBJ_ACTOR_280 */ {(void*) D_VE1_900DD20, 0, (ObjectFunc) Venom1_Actor280_Update, D_VE1_601B7F8, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_281 */ {(void*) Venom1_Actor281_Draw, 1, (ObjectFunc) Venom1_Doodad_Update, D_VE1_601B830, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_282 */ {(void*) D_VE1_901DA50, 0, (ObjectFunc) Venom1_Doodad_Update, D_VE1_601B868, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_283 */ {(void*) D_VE1_9023AD0, 0, (ObjectFunc) Venom1_Actor283_Update, D_VE1_601B8A0, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_284 */ {(void*) Venom1_Actor284_Draw, 1, (ObjectFunc) Venom1_Actor284_Update, D_VE1_601B8D8, 1000.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_ACTOR_285 */ {(void*) Andross_Actor285_Draw, 1, (ObjectFunc) Andross_Actor285_Update, gCubeHitbox100, 1000.0f, 0, 0, 20, 0, 1.0f, 1 },
/* OBJ_ACTOR_286 */ {(void*) Andross_Actor286_Draw, 1, (ObjectFunc) Andross_Actor286_Update, gCubeHitbox100, 1000.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_ACTOR_287 */ {(void*) NULL, 1, (ObjectFunc) Andross_Actor287_Update, gNoHitbox, 1000.0f, 0, 0, 40, 1, 0.0f, 0 },
/* OBJ_ACTOR_288 */ {(void*) NULL, 1, (ObjectFunc) Andross_Actor288_Update, gNoHitbox, 1000.0f, 0, 0, 20, 1, 0.0f, 0 },
/* OBJ_ACTOR_289 */ {(void*) Actor289_Draw, 1, (ObjectFunc) Andross_Actor289_Update, gNoHitbox, 1000.0f, 0, 0, 20, 1, 0.0f, 0 },
/* OBJ_ACTOR_290 */ {(void*) NULL, 1, (ObjectFunc) Andross_Actor290_Update, gNoHitbox, 1000.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_ACTOR_SUPPLIES */ {(void*) ActorSupplies_Draw, 1, (ObjectFunc) ActorSupplies_Update, gCubeHitbox150, 1000.0f, 0, 0, 0, 0, 1.0f, 0 },
/* OBJ_BOSS_292 */ {(void*) Corneria_8018AA74, 2, (ObjectFunc) Corneria_80189058, D_CO_603E620, 20000.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_293 */ {(void*) Corneria_8018ECAC, 1, (ObjectFunc) Corneria_8018C19C, D_CO_603E840, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_294 */ {(void*) Corneria_8018ED78, 1, (ObjectFunc) Corneria_8018DDAC, D_CO_603E714, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_295 */ {(void*) Corneria_8018EE84, 1, (ObjectFunc) Corneria_8018E290, D_CO_603E748, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_296 */ {(void*) Corneria_8018EF90, 1, (ObjectFunc) Corneria_8018E76C, D_CO_603E7C4, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_297 */ {(void*) Meteo_8018BACC, 1, (ObjectFunc) Meteo_8018978C, D_ME_602F75C, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_298 */ {(void*) Meteo_801887D0, 1, (ObjectFunc) Meteo_80188344, D_ME_602FA50, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_CO_GRANGA */ {(void*) Corneria_Granga_Draw, 2, (ObjectFunc) Corneria_Granga_Update, aCoGrangaHitbox, 20000.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_CO_CARRIER */ {(void*) Corneria_Carrier_Draw, 1, (ObjectFunc) Corneria_Carrier_Update, aCoCarrierHitbox, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_294 */ {(void*) Corneria_Boss294_Draw, 1, (ObjectFunc) Corneria_Boss294_Update, D_CO_603E714, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_295 */ {(void*) Corneria_Boss295_Draw, 1, (ObjectFunc) Corneria_Boss295_Update, D_CO_603E748, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_296 */ {(void*) Corneria_Boss296_Draw, 1, (ObjectFunc) Corneria_Boss296_Update, D_CO_603E7C4, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_297 */ {(void*) Meteo_Boss297_Draw, 1, (ObjectFunc) Meteo_Boss297_Update, D_ME_602F75C, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_298 */ {(void*) Meteo_Boss298_Draw, 1, (ObjectFunc) Meteo_Boss298_Update, D_ME_602FA50, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_299 */ {(void*) Boss299_Draw, 2, (ObjectFunc) Boss299_Update, gNoHitbox, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_300 */ {(void*) Boss300_Draw, 1, (ObjectFunc) Boss300_Update, gNoHitbox, 20000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_301 */ {(void*) Aquas_Boss301_Draw, 1, (ObjectFunc) Aquas_Boss301_Update, D_AQ_6030B10, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_A6 */ {(void*) Area6_Boss_Draw, 1, (ObjectFunc) Area6_Boss_Update, D_A6_6028454, 2000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_303 */ {(void*) SectorX_80193434, 2, (ObjectFunc) SectorX_80190078, D_SX_6032550, 20000.0f, 0, 0, 20, 0, 0.0f, 10 },
/* OBJ_BOSS_304 */ {(void*) SectorX_8018FF84, 2, (ObjectFunc) SectorX_8018FE38, D_SX_6032488, 1000.0f, 0, 0, 20, 0, 0.0f, 10 },
/* OBJ_BOSS_305 */ {(void*) SectorX_80190020, 2, (ObjectFunc) SectorX_8018FF20, D_SX_60324EC, 1000.0f, 0, 0, 20, 0, 0.0f, 10 },
/* OBJ_BOSS_SX_SPYBORG */ {(void*) SectorX_Boss_Draw, 2, (ObjectFunc) SectorX_Boss_Update, D_SX_6032550, 20000.0f, 0, 0, 20, 0, 0.0f, 10 },
/* OBJ_BOSS_304 */ {(void*) SectorX_Boss304_Draw, 2, (ObjectFunc) SectorX_Boss304_Update, D_SX_6032488, 1000.0f, 0, 0, 20, 0, 0.0f, 10 },
/* OBJ_BOSS_305 */ {(void*) SectorX_Boss305_Draw, 2, (ObjectFunc) SectorX_Boss305_Update, D_SX_60324EC, 1000.0f, 0, 0, 20, 0, 0.0f, 10 },
/* OBJ_BOSS_TI */ {(void*) Titania_Boss_Draw, 1, (ObjectFunc) Titania_Boss_Update,D_TI_801B83A8, 1000.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_ZO */ {(void*) Zoness_Boss_Draw, 2, (ObjectFunc) Zoness_Boss_Update, D_ZO_602C044, 1000.0f, 0, 0, 40, 0, 1.0f, 10 },
/* OBJ_BOSS_FO */ {(void*) HUD_BossFO_Draw, 1, (ObjectFunc) HUD_BossFO_Update, D_FO_600FFE0, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_309 */ {(void*) Boss309_Draw, 1, (ObjectFunc) Boss309_Update, gNoHitbox, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_310 */ {(void*) Boss310_Draw, 1, (ObjectFunc) Boss310_Update, gNoHitbox, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_311 */ {(void*) Bolse_80191AFC, 2, (ObjectFunc) Bolse_801912FC, D_BO_6011C80, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_311 */ {(void*) Bolse_Boss311_Draw, 2, (ObjectFunc) Bolse_Boss311_Update, D_BO_6011C80, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_VE2 */ {(void*) Venom2_Boss_Draw, 2, (ObjectFunc) Venom2_Boss_Update, D_VE2_60166F4, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_SZ */ {(void*) SectorZ_Boss_Draw, 1, (ObjectFunc) SectorZ_Boss_Update, D_SZ_6009388, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_SZ_GREAT_FOX */ {(void*) SectorZ_GreatFoxDraw, 1, (ObjectFunc) SectorZ_GreatFoxUpdate, D_SZ_6009388, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_SY */ {(void*) SectorY_Boss_Draw, 2, (ObjectFunc) SectorY_Boss_Update, gNoHitbox, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_SO */ {(void*) Solar_Boss_Draw, 2, (ObjectFunc) Solar_Boss_Update, gNoHitbox, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_KA */ {(void*) Katina_BossDraw, 1, (ObjectFunc) Katina_BossUpdate, D_KA_6011058, 0.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_KA_BASE */ {(void*) Katina_Base_Draw, 1, (ObjectFunc) Katina_BaseUpdate, D_KA_601115C, 0.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_AQ */ {(void*) Aquas_Boss_Draw, 2, (ObjectFunc) Aquas_Boss_Update, D_AQ_6030F74, 10000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_VE1 */ {(void*) Venom1_Boss_Draw, 1, (ObjectFunc) Venom1_Boss_Update,D_VE1_8019A9B8, 3000.0f, 0, 0, 40, 1, 0.0f, 10 },
/* OBJ_BOSS_320 */ {(void*) Andross_801928C8, 2, (ObjectFunc) Andross_8018DBF0, D_ANDROSS_C038DC0, 10000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_321 */ {(void*) Andross_8018B8C0, 1, (ObjectFunc) Andross_80189B70, D_ANDROSS_C038F24, 10000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_320 */ {(void*) Andross_Boss320_Draw, 2, (ObjectFunc) Andross_Boss320_Update, D_ANDROSS_C038DC0, 10000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_BOSS_321 */ {(void*) Andross_Boss321_Draw, 1, (ObjectFunc) Andross_Boss321_Update, D_ANDROSS_C038F24, 10000.0f, 0, 0, 40, 0, 0.0f, 10 },
/* OBJ_ITEM_LASERS */ {(void*) ItemLasers_Draw, 1, (ObjectFunc) ItemLasers_Update, gItemLasersHitbox, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ITEM_CHECKPOINT */ {(void*) ItemCheckpoint_Draw, 1, (ObjectFunc) ItemCheckpoint_Update, gItemCheckpointHitbox, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ITEM_SILVER_RING */ {(void*) ItemSilverRing_Draw, 1, (ObjectFunc) ItemSupplyRing_Update, gItemSupplyRingHitbox, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
@@ -430,68 +430,68 @@ ObjectInfo gObjectInfo[] = {
/* OBJ_ITEM_RING_CHECK */ {(void*) NULL, 1, (ObjectFunc) ItemRingCheck_Update, gItemRingCheckHitbox, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ITEM_1UP */ {(void*) D_1022120, 0, (ObjectFunc) Item1up_Update, gCubeHitbox100, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ITEM_GOLD_RING */ {(void*) ItemGoldRing_Draw, 1, (ObjectFunc) ItemGoldRing_Update, gItemSupplyRingHitbox, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ITEM_WING_REPAIR */ {(void*) D_arwing_3007650, 0, (ObjectFunc) ItemWingRepair_Update, gItemLasersHitbox, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ITEM_WING_REPAIR */ {(void*) aArwingItemLasersDL, 0, (ObjectFunc) ItemWingRepair_Update, gItemLasersHitbox, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_ITEM_TRAINING_RING */ {(void*) gItemTrainingRingDL, 0, (ObjectFunc) Training_ItemRing_Update, D_TR_6009CFC, 700.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_FIRE_SMOKE */ {(void*) func_effect_8007D55C, 1, (ObjectFunc) func_effect_8007D2F4, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_340 */ {(void*) func_effect_8007D55C, 1, (ObjectFunc) func_effect_8007D748, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_341 */ {(void*) func_effect_8007D55C, 1, (ObjectFunc) func_effect_8007D8A8, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_342 */ {(void*) func_effect_8007E330, 1, (ObjectFunc) func_effect_8007E298, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_343 */ {(void*) func_effect_8007CAF0, 1, (ObjectFunc) func_effect_8007C9E0, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_344 */ {(void*) func_effect_8007868C, 1, (ObjectFunc) func_effect_8007E014, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_345 */ {(void*) func_effect_8007879C, 1, (ObjectFunc) func_effect_8007E258, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_346 */ {(void*) func_effect_800788B0, 1, (ObjectFunc) func_effect_8007F438, NULL, -200.0f, 1, 0, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_347 */ {(void*) func_effect_800783C0, 1, (ObjectFunc) func_effect_8007B758, NULL, 100.0f, 1, 0, 40, 0, 0.0f, 0 },
/* OBJ_EFFECT_348 */ {(void*) func_effect_80078A64, 1, (ObjectFunc) func_effect_8007F6B0, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_349 */ {(void*) NULL, 1, (ObjectFunc) func_effect_8007F958, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_350 */ {(void*) NULL, 1, (ObjectFunc) func_effect_8007FBE0, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_351 */ {(void*) func_effect_80078438, 1, (ObjectFunc) func_effect_8007E3E4, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_352 */ {(void*) func_effect_800784B4, 1, (ObjectFunc) func_effect_8007B62C, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_353 */ {(void*) func_effect_80078B8C, 1, (ObjectFunc) func_effect_8007FE88, NULL, 100.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_EFFECT_354 */ {(void*) SectorY_80197C64, 1, (ObjectFunc) func_effect_8007FE88, NULL, 100.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_EFFECT_355 */ {(void*) func_effect_80078AEC, 1, (ObjectFunc) func_effect_800802B8, NULL, 100.0f, 1, 0, 20, 1, 0.0f, 0 },
/* OBJ_EFFECT_356 */ {(void*) func_effect_80078C84, 1, (ObjectFunc) func_effect_800802F8, NULL, 100.0f, 1, 0, 20, 0, 0.0f, 0 },
/* OBJ_EFFECT_357 */ {(void*) func_effect_800798F0, 1, (ObjectFunc) func_effect_8007968C, NULL, 100.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_FIRE_SMOKE */ {(void*) Effect_FireSmoke_Draw, 1, (ObjectFunc) Effect_Effect339_Update, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_340 */ {(void*) Effect_FireSmoke_Draw, 1, (ObjectFunc) Effect_Effect340_Update, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_341 */ {(void*) Effect_FireSmoke_Draw, 1, (ObjectFunc) Effect_Effect341_Update, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_342 */ {(void*) Effect_Effect342_Draw, 1, (ObjectFunc) Effect_Effect342_Update, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_343 */ {(void*) Effect_Effect343_Draw, 1, (ObjectFunc) Effect_Effect343_Update, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_344 */ {(void*) Effect_Effect344_Draw, 1, (ObjectFunc) Effect_Effect344_Update, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_345 */ {(void*) Effect_Effect345_Draw, 1, (ObjectFunc) Effect_Effect345_Update, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_346 */ {(void*) Effect_Effect346_Draw, 1, (ObjectFunc) Effect_Effect346_Update, NULL, -200.0f, 1, 0, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_347 */ {(void*) Effect_Effect347_Draw, 1, (ObjectFunc) Effect_Effect347_Update, NULL, 100.0f, 1, 0, 40, 0, 0.0f, 0 },
/* OBJ_EFFECT_348 */ {(void*) Effect_Effect348_Draw, 1, (ObjectFunc) Effect_Effect348_Update, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_349 */ {(void*) NULL, 1, (ObjectFunc) Effect_Effect349_Update, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_350 */ {(void*) NULL, 1, (ObjectFunc) Effect_Effect350_Update, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_351 */ {(void*) Effect_Effect351_Draw, 1, (ObjectFunc) Effect_Effect351_Update, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_CLOUDS */ {(void*) Effect_Clouds_Draw, 1, (ObjectFunc) Effect_Clouds_Update, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_ENEMY_LASER_1 */ {(void*) Effect_Effect353_Draw, 1, (ObjectFunc) Effect_Effect353_354_Update, NULL, 100.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_EFFECT_354 */ {(void*) SectorY_Effect354_Draw, 1, (ObjectFunc) Effect_Effect353_354_Update, NULL, 100.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_EFFECT_355 */ {(void*) Effect_Effect355_Draw, 1, (ObjectFunc) Effect_Effect355_Update, NULL, 100.0f, 1, 0, 20, 1, 0.0f, 0 },
/* OBJ_EFFECT_356 */ {(void*) Effect_Effect356_Draw, 1, (ObjectFunc) Effect_Effect356_Update, NULL, 100.0f, 1, 0, 20, 0, 0.0f, 0 },
/* OBJ_EFFECT_357 */ {(void*) Effect_Effect357_Draw, 1, (ObjectFunc) Effect_Effect357_Update, NULL, 100.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_358 */ {(void*) Katina_LaserEnergyParticlesDraw, 1, (ObjectFunc) Katina_LaserEnergyParticlesUpdate, NULL, 100.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_359 */ {(void*) func_effect_8007AA60, 1, (ObjectFunc) func_effect_8007A994, NULL, -100.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_360 */ {(void*) func_effect_8007BEE8, 1, (ObjectFunc) func_effect_8007BE54, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_361 */ {(void*) func_effect_8007BEE8, 1, (ObjectFunc) func_effect_8007BDE0, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_362 */ {(void*) func_effect_8007BEE8, 1, (ObjectFunc) func_effect_8007BCE8, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_363 */ {(void*) func_hud_80094BBC, 1, (ObjectFunc) func_hud_80094954, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_364 */ {(void*) func_effect_8007B9DC, 1, (ObjectFunc) func_effect_8007B960, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_365 */ {(void*) func_effect_8007E5CC, 1, (ObjectFunc) func_effect_8007E45C, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_366 */ {(void*) func_effect_80078550, 1, (ObjectFunc) Aquas_801AC918, NULL, 100.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_367 */ {(void*) func_effect_80078604, 1, (ObjectFunc) func_effect_8007E648, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_368 */ {(void*) Titania_80188FA8, 1, (ObjectFunc) Titania_80188F60, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_369 */ {(void*) Meteo_8018DCE4, 1, (ObjectFunc) Meteo_80188CAC, NULL, 100.0f, 0, 1, 40, 0, 0.0f, 0 },
/* OBJ_EFFECT_370 */ {(void*) Meteo_8018DBEC, 1, (ObjectFunc) Meteo_80188FAC, NULL, 100.0f, 0, 1, 40, 0, 0.0f, 0 },
/* OBJ_EFFECT_371 */ {(void*) Meteo_8018DE14, 1, (ObjectFunc) Meteo_80189114, NULL, 100.0f, 0, 1, 40, 0, 0.0f, 0 },
/* OBJ_EFFECT_372 */ {(void*) func_effect_80077A00, 1, (ObjectFunc) func_effect_8007AB50, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_373 */ {(void*) NULL, 1, (ObjectFunc) func_effect_8007A748, NULL, 500.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_374 */ {(void*) func_effect_8007DED4, 1, (ObjectFunc) func_effect_8007DB70, NULL, 100.0f, 0, 1, 40, 0, 0.0f, 0 },
/* OBJ_EFFECT_375 */ {(void*) func_effect_8007DAE4, 1, (ObjectFunc) func_effect_8007DA58, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_376 */ {(void*) func_effect_80078CE8, 1, (ObjectFunc) func_effect_80080360, NULL, -200.0f, 1, 0, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_377 */ {(void*) func_effect_80078BE0, 1, (ObjectFunc) func_effect_800802D8, NULL, 100.0f, 1, 0, 20, 0, 0.0f, 0 },
/* OBJ_EFFECT_378 */ {(void*) Macbeth_801A5AF0, 1, (ObjectFunc) Macbeth_801A57D0, NULL, 100.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_EFFECT_379 */ {(void*) Macbeth_801AEAA0, 1, (ObjectFunc) Macbeth_801AE87C, NULL, 100.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_380 */ {(void*) Macbeth_801A5D68, 1, (ObjectFunc) Macbeth_801A5B4C, NULL, 100.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_EFFECT_381 */ {(void*) func_effect_80077A7C, 1, (ObjectFunc) func_effect_8007B0F4, NULL, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_382 */ {(void*) NULL, 1, (ObjectFunc) func_effect_8007B040, NULL, 200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_383 */ {(void*) func_effect_8007A3C0, 1, (ObjectFunc) func_effect_8007A28C, NULL, 10000.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_384 */ {(void*) func_effect_80077B84, 1, (ObjectFunc) func_effect_8007B3B8, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_385 */ {(void*) func_effect_80078038, 1, (ObjectFunc) func_effect_8007B5C0, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_386 */ {(void*) NULL, 1, (ObjectFunc) func_effect_8007C250, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_387 */ {(void*) NULL, 1, (ObjectFunc) func_effect_8007C8C4, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_388 */ {(void*) func_effect_80077B78, 1, (ObjectFunc) func_effect_8007B670, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_389 */ {(void*) func_effect_800780F8, 1, (ObjectFunc) func_effect_8007B67C, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_390 */ {(void*) NULL, 1, (ObjectFunc) func_effect_8007C50C, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_391 */ {(void*) func_effect_80083B8C, 1, (ObjectFunc) func_effect_800837EC, NULL, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_392 */ {(void*) Solar_801A0AF0, 1, (ObjectFunc) Solar_801A0120, NULL, 300.0f, 1, 2, 10, 0, 0.0f, 0 },
/* OBJ_EFFECT_393 */ {(void*) func_effect_80078F78, 1, (ObjectFunc) func_effect_80078EBC, NULL, 300.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_394 */ {(void*) func_effect_80080D04, 1, (ObjectFunc) func_effect_80080ACC, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_395 */ {(void*) func_effect_80082F78, 1, (ObjectFunc) func_effect_80081C5C, NULL, 300.0f, 0, 1, 40, 0, 0.0f, 0 },
/* OBJ_EFFECT_396 */ {(void*) Andross_8018CF98, 1, (ObjectFunc) Andross_8018CAD4, NULL, 2000.0f, 0, 1, 40, 2, 0.0f, 0 },
/* OBJ_EFFECT_397 */ {(void*) Bolse_80191180, 1, (ObjectFunc) Bolse_80191054, NULL, 2000.0f, 0, 1, 20, 0, 0.0f, 0 },
/* OBJ_EFFECT_398 */ {(void*) func_effect_8008092C, 1, (ObjectFunc) func_effect_8008040C, NULL, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_EFFECT_399 */ {(void*) func_effect_80084194, 1, (ObjectFunc) func_effect_80083FA8, NULL, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_EFFECT_359 */ {(void*) Effect_Effect359_Draw, 1, (ObjectFunc) Effect_Effect359_Update, NULL, -100.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_360 */ {(void*) Effect_Effect360_361_362_Draw, 1, (ObjectFunc) Effect_Effect360_Update, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_361 */ {(void*) Effect_Effect360_361_362_Draw, 1, (ObjectFunc) Effect_Effect361_Update, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_362 */ {(void*) Effect_Effect360_361_362_Draw, 1, (ObjectFunc) Effect_Effect362_Update, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_363 */ {(void*) Hud_Effect363_Draw, 1, (ObjectFunc) Hud_Effect363_Update, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_364 */ {(void*) Effect_Effect364_Draw, 1, (ObjectFunc) Effect_Effect364_Update, NULL, -200.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_365 */ {(void*) Effect_Effect365_Draw, 1, (ObjectFunc) Effect_Effect365_Update, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_366 */ {(void*) Effect_Effect366_Draw, 1, (ObjectFunc) Aquas_Effect366_Update, NULL, 100.0f, 1, 2, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_367 */ {(void*) Effect_Effect367_Draw, 1, (ObjectFunc) Effect_Effect367_Update, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_368 */ {(void*) Titania_Effect368_Draw, 1, (ObjectFunc) Titania_Effect368_Update, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_369 */ {(void*) Meteo_Effect369_Draw, 1, (ObjectFunc) Meteo_Effect369_Update, NULL, 100.0f, 0, 1, 40, 0, 0.0f, 0 },
/* OBJ_EFFECT_370 */ {(void*) Meteo_Effect370_Draw, 1, (ObjectFunc) Meteo_Effect370_Update, NULL, 100.0f, 0, 1, 40, 0, 0.0f, 0 },
/* OBJ_EFFECT_371 */ {(void*) Meteo_Effect371_Draw, 1, (ObjectFunc) Meteo_Effect371_Update, NULL, 100.0f, 0, 1, 40, 0, 0.0f, 0 },
/* OBJ_EFFECT_372 */ {(void*) Effect_Effect372_Draw, 1, (ObjectFunc) Effect_Effect372_Update, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_TIMED_SFX */ {(void*) NULL, 1, (ObjectFunc) Effect_TimedSfx_Update, NULL, 500.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_374 */ {(void*) Macbeth_Effect374_Draw, 1, (ObjectFunc) Effect_Effect374_Update, NULL, 100.0f, 0, 1, 40, 0, 0.0f, 0 },
/* OBJ_EFFECT_375 */ {(void*) Macbeth_Effect375_Draw, 1, (ObjectFunc) Effect_Effect375_Update, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_376 */ {(void*) Macbeth_Effect376_Draw, 1, (ObjectFunc) Effect_Effect376_Update, NULL, -200.0f, 1, 0, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_377 */ {(void*) Macbeth_Effect377_Draw, 1, (ObjectFunc) Effect_Effect377_Update, NULL, 100.0f, 1, 0, 20, 0, 0.0f, 0 },
/* OBJ_EFFECT_378 */ {(void*) Macbeth_Effect378_Draw, 1, (ObjectFunc) Macbeth_Effect378_Update, NULL, 100.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_EFFECT_379 */ {(void*) Macbeth_Effect379_Draw, 1, (ObjectFunc) Macbeth_Effect379_Update, NULL, 100.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_380 */ {(void*) Macbeth_Effect380_Draw, 1, (ObjectFunc) Macbeth_Effect380_Update, NULL, 100.0f, 0, 0, 20, 0, 0.0f, 0 },
/* OBJ_EFFECT_381 */ {(void*) Effect_Effect382_Draw, 1, (ObjectFunc) Effect_Effect381_Update, NULL, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_382 */ {(void*) NULL, 1, (ObjectFunc) Effect_Effect382_Update, NULL, 200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_383 */ {(void*) Effect_Effect383_Draw, 1, (ObjectFunc) Effect_Effect383_Update, NULL, 10000.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_384 */ {(void*) Effect_Effect384_Draw, 1, (ObjectFunc) Effect_Effect384_Update, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_385 */ {(void*) Effect_Effect385_Draw, 1, (ObjectFunc) Effect_Effect385_Update, NULL, -200.0f, -1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_386 */ {(void*) NULL, 1, (ObjectFunc) Effect_Effect386_Update, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_387 */ {(void*) NULL, 1, (ObjectFunc) Effect_Effect387_Update, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_388 */ {(void*) Effect_Effect388_Draw, 1, (ObjectFunc) Effect_Effect388_Update, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_389 */ {(void*) Effect_Effect389_Draw, 1, (ObjectFunc) Effect_Effect389_Update, NULL, -200.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_390 */ {(void*) NULL, 1, (ObjectFunc) Effect_Effect390_Update, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_391 */ {(void*) Effect_Effect391_Draw, 1, (ObjectFunc) Effect_Effect391_Update, NULL, 500.0f, 0, 0, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_392 */ {(void*) Solar_Effect392_Draw, 1, (ObjectFunc) Solar_Effect392_Update, NULL, 300.0f, 1, 2, 10, 0, 0.0f, 0 },
/* OBJ_EFFECT_393 */ {(void*) Effect_Effect393_Draw, 1, (ObjectFunc) Effect_Effect393_Update, NULL, 300.0f, 1, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_394 */ {(void*) Effect_Effect394_Draw, 1, (ObjectFunc) Effect_Effect394_Update, NULL, -200.0f, 0, 1, 0, 0, 0.0f, 0 },
/* OBJ_EFFECT_395 */ {(void*) Effect_Effect395_Draw, 1, (ObjectFunc) Effect_Effect395_Update, NULL, 300.0f, 0, 1, 40, 0, 0.0f, 0 },
/* OBJ_EFFECT_396 */ {(void*) Andross_Effect396_Draw, 1, (ObjectFunc) Andross_Effect396_Update, NULL, 2000.0f, 0, 1, 40, 2, 0.0f, 0 },
/* OBJ_EFFECT_397 */ {(void*) Bolse_Effect397_Draw, 1, (ObjectFunc) Bolse_Effect397_Update, NULL, 2000.0f, 0, 1, 20, 0, 0.0f, 0 },
/* OBJ_EFFECT_398 */ {(void*) Effect_Effect398_Draw, 1, (ObjectFunc) Effect_Effect398_Update, NULL, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
/* OBJ_EFFECT_399 */ {(void*) Effect_Effect399_Draw, 1, (ObjectFunc) Effect_Effect399_Update, NULL, 100.0f, 0, 0, 40, 0, 0.0f, 0 },
};
// clang-format on
+30 -30
View File
@@ -114,7 +114,7 @@ void Scenery_DrawTitaniaBones(Scenery* scenery) {
void func_edisplay_80059BB0(void* arg0) {
}
void Scenery42_Draw(Scenery_42* this) {
void CoIBeam_Draw(CoIBeam* this) {
gSPDisplayList(gMasterDisp++, D_CO_6023AC0);
}
@@ -134,33 +134,33 @@ void FogShadow_Draw(FogShadow* this) {
RCP_SetupDL_47(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 180);
switch (this->sceneryId) {
case OBJ_SCENERY_0:
case OBJ_SCENERY_CO_STONE_ARCH:
Matrix_Scale(gGfxMatrix, 2.0f, 1.0f, 0.7f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_CO_6034B90);
break;
case OBJ_SCENERY_21:
case OBJ_SCENERY_CO_ARCH_2:
Matrix_Scale(gGfxMatrix, 1.0f, 1.0f, 0.7f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_CO_6034B90);
break;
case OBJ_SCENERY_6:
case OBJ_SCENERY_7:
case OBJ_SCENERY_CO_HIGHWAY_1:
case OBJ_SCENERY_CO_HIGHWAY_2:
Matrix_Scale(gGfxMatrix, 1.0f, 1.0f, 10.55f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_Gfx_800DAC20);
break;
case OBJ_SCENERY_56:
case OBJ_SCENERY_CO_DOORS:
Matrix_Scale(gGfxMatrix, 1.6f, 1.0f, 1.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_CO_6034B90);
break;
case OBJ_SCENERY_20:
case OBJ_SCENERY_CO_ARCH_1:
Matrix_Scale(gGfxMatrix, 1.2f, 1.0f, 1.3f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_CO_6034B90);
break;
case OBJ_SCENERY_22:
case OBJ_SCENERY_CO_ARCH_3:
Matrix_Scale(gGfxMatrix, 2.2f, 1.0f, 1.4f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_CO_6034B90);
@@ -169,22 +169,22 @@ void FogShadow_Draw(FogShadow* this) {
RCP_SetupDL_60(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
}
void func_edisplay_80059F68(Scenery* scenery) {
void CoBuilding9_Draw(Scenery* scenery) {
Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -95.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_CO_602DA20);
}
void func_edisplay_80059FDC(Scenery* scenery) {
void CoBuilding10_Draw(Scenery* scenery) {
gSPDisplayList(gMasterDisp++, D_CO_6035DA0);
}
// repurposed into OBJ_SCENERY_15
// repurposed into OBJ_SCENERY_CO_BUILDING_6
void func_edisplay_8005A010(Sprite* sprite) {
if (!sprite->toLeft) {
Matrix_RotateY(gGfxMatrix, M_PI / 2, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_CO_60361F0);
gSPDisplayList(gMasterDisp++, aCoBuilding6DL);
}
}
@@ -209,7 +209,7 @@ Gfx* D_edisplay_800CFADC[] = {
};
Gfx* D_edisplay_800CFB08[] = { D_ZO_6020F10, D_ZO_6021100, D_ZO_60214B0 };
Gfx* D_edisplay_800CFB14[] = { D_ZO_60163E0, D_ZO_60165D0, D_ZO_6016880, D_ZO_6016B50, D_ZO_6000C40 };
Gfx* D_edisplay_800CFB28[] = { D_CO_6018E80, D_ZO_601F620, D_ZO_601F420, D_ZO_6018C80, D_ZO_601F940, D_ZO_601F260 };
Gfx* D_edisplay_800CFB28[] = { aCoBuilding7DL, D_ZO_601F620, D_ZO_601F420, D_ZO_6018C80, D_ZO_601F940, D_ZO_601F260 };
Gfx* D_edisplay_800CFB40[] = {
D_SO_6014DB0, D_SO_60146D0, D_SO_6014B80, D_SO_6014470, D_SO_6014930,
D_SO_60138A0, D_SO_60151A0, D_SO_600F750, D_SO_6015810,
@@ -556,25 +556,25 @@ void func_edisplay_8005B388(Actor* actor) {
Actor_DrawEngineAndContrails(actor);
}
void func_edisplay_8005B6A4(Actor* actor) {
void Actor180_Draw(Actor* actor) {
Matrix_Scale(gGfxMatrix, 1.0f, 1.0f, 1.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_ME_6024B60);
}
void func_edisplay_8005B71C(Actor* actor) {
void Actor182_Draw(Actor* actor) {
RCP_SetupDL_29(actor->unk_046, gFogGreen, gFogBlue, gFogAlpha, actor->unk_048, gFogFar);
Matrix_Scale(gGfxMatrix, 0.5f, 0.5f, 0.5f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
gSPDisplayList(gMasterDisp++, D_ME_6018C00);
}
void func_edisplay_8005B7CC(Actor* actor) {
void Actor186_Draw(Actor* actor) {
RCP_SetupDL_29(actor->unk_046, gFogGreen, gFogBlue, gFogAlpha, actor->unk_048, gFogFar);
gSPDisplayList(gMasterDisp++, D_ME_6022920);
}
void func_edisplay_8005B848(Actor* actor) {
void Actor190_191_Draw(Actor* actor) {
f32 scale;
switch (actor->eventType) {
@@ -599,13 +599,13 @@ void func_edisplay_8005B848(Actor* actor) {
Actor_DrawEngineGlow(actor, 2);
}
void func_edisplay_8005B9A4(Actor* actor) {
void Actor192_Draw(Actor* actor) {
Matrix_Translate(gGfxMatrix, 0.0f, -124.0f, 0.0f, MTXF_APPLY);
Animation_GetFrameData(&D_CO_6029528, actor->animFrame, actor->vwork);
Animation_DrawSkeleton(1, D_CO_6029674, actor->vwork, NULL, NULL, actor, &gIdentityMatrix);
}
void func_edisplay_8005BA30(Actor* actor) {
void Actor193_Draw(Actor* actor) {
if (actor->timer_0BC != 0) {
RCP_SetupDL_27();
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 0, 0, 255);
@@ -667,7 +667,7 @@ void Object_SetShadowDL(ObjectId objId, s32 index) {
break;
}
break;
case OBJ_BOSS_292:
case OBJ_BOSS_CO_GRANGA:
gSPDisplayList(gMasterDisp++, D_CO_6034B90);
break;
case OBJ_BOSS_KA:
@@ -679,7 +679,7 @@ void Object_SetShadowDL(ObjectId objId, s32 index) {
Graphics_SetScaleMtx(150.0f);
gSPDisplayList(gMasterDisp++, D_102A8A0);
break;
case OBJ_BOSS_293:
case OBJ_BOSS_CO_CARRIER:
case OBJ_BOSS_294:
case OBJ_BOSS_295:
case OBJ_BOSS_296:
@@ -690,7 +690,7 @@ void Object_SetShadowDL(ObjectId objId, s32 index) {
gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, 150);
}
switch (objId) {
case OBJ_BOSS_293:
case OBJ_BOSS_CO_CARRIER:
gSPDisplayList(gMasterDisp++, D_CO_6036840);
break;
case OBJ_BOSS_294:
@@ -946,8 +946,8 @@ void Scenery_Draw(Scenery* this, s32 arg1) {
func_edisplay_8005D008(&this->obj, this->info.drawType);
this->obj.pos.y -= gCameraShakeY;
if (this->info.drawType == 0) {
if ((this->obj.id == OBJ_SCENERY_19) || (this->obj.id == OBJ_SCENERY_55) || (this->obj.id == OBJ_SCENERY_9) ||
(this->obj.id == OBJ_SCENERY_50)) {
if ((this->obj.id == OBJ_SCENERY_CO_TOWER) || (this->obj.id == OBJ_SCENERY_CO_ROCKWALL) ||
(this->obj.id == OBJ_SCENERY_CO_HIGHWAY_4) || (this->obj.id == OBJ_SCENERY_50)) {
RCP_SetupDL_57(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
if (arg1 < 0) {
@@ -956,7 +956,7 @@ void Scenery_Draw(Scenery* this, s32 arg1) {
gSPDisplayList(gMasterDisp++, this->info.dList);
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
} else {
if (this->obj.id == OBJ_SCENERY_8) {
if (this->obj.id == OBJ_SCENERY_CO_HIGHWAY_3) {
if (arg1 < 0) {
return; // weird control flow
}
@@ -967,7 +967,7 @@ void Scenery_Draw(Scenery* this, s32 arg1) {
Object_ApplyWaterDistortion();
}
gSPDisplayList(gMasterDisp++, this->info.dList);
if (this->obj.id == OBJ_SCENERY_8) {
if (this->obj.id == OBJ_SCENERY_CO_HIGHWAY_3) {
RCP_SetupDL_29(gFogRed, gFogGreen, gFogBlue, gFogAlpha, gFogNear, gFogFar);
}
}
@@ -999,7 +999,7 @@ void Actor_DrawOnRails(Actor* this) {
Actor194_Draw(this);
return;
case OBJ_ACTOR_236:
Zoness_80190F08(this);
Zoness_Actor236_Draw(this);
return;
}
if ((this->obj.id == OBJ_ACTOR_EVENT) && (this->eventType == EVID_200)) {
@@ -1154,7 +1154,7 @@ void Boss_Draw(Boss* this, s32 arg1) {
var_fv0 = 6000.0f;
var_ft5 = 0.9f;
var_fv1 = -20000.0f;
} else if (this->obj.id == OBJ_BOSS_SZ) {
} else if (this->obj.id == OBJ_BOSS_SZ_GREAT_FOX) {
var_fv1 = -25000.0f;
var_ft5 = 0.7f;
var_fa1 = 3000.0f;
@@ -1198,7 +1198,7 @@ void Effect_DrawOnRails(Effect* this, s32 arg1) {
if ((arg1 < 0) && (this->obj.pos.y < 7.0f)) {
return;
}
if ((this->obj.id == OBJ_EFFECT_353) || (this->obj.id == OBJ_EFFECT_369)) {
if ((this->obj.id == OBJ_EFFECT_ENEMY_LASER_1) || (this->obj.id == OBJ_EFFECT_369)) {
func_edisplay_8005D3CC(&this->obj, this->unk_60.x, this->unk_60.y, this->unk_60.z, 0);
} else if (this->info.unk_14 == -1) {
this->obj.pos.y += gCameraShakeY;
@@ -1245,7 +1245,7 @@ void Effect_DrawAllRange(Effect* this) {
}
}
Object_SetSfxSourceToView(this->sfxSource, &sp40);
if (!drawn && (this->obj.id != OBJ_EFFECT_352) && (this->obj.id != OBJ_EFFECT_373) && (!gVersusMode)) {
if (!drawn && (this->obj.id != OBJ_EFFECT_CLOUDS) && (this->obj.id != OBJ_EFFECT_TIMED_SFX) && (!gVersusMode)) {
Object_Kill(&this->obj, this->sfxSource);
}
}
+1489 -1485
View File
File diff suppressed because it is too large Load Diff
+726 -564
View File
File diff suppressed because it is too large Load Diff
+90 -87
View File
@@ -32,30 +32,30 @@ void ActorEvent_SetMessage(u16* msg, s32 character) {
}
}
void func_enmy2_8006A800(Effect* effect, f32 xPos, f32 yPos, f32 zPos, f32 scale2) {
Effect_Initialize(effect);
void func_enmy2_8006A800(Effect361* this, f32 xPos, f32 yPos, f32 zPos, f32 scale2) {
Effect_Initialize(this);
effect->obj.status = OBJ_INIT;
effect->obj.id = OBJ_EFFECT_361;
effect->obj.pos.x = xPos;
effect->obj.pos.y = yPos;
effect->obj.pos.z = zPos;
effect->unk_48 = 3;
this->obj.status = OBJ_INIT;
this->obj.id = OBJ_EFFECT_361;
this->obj.pos.x = xPos;
this->obj.pos.y = yPos;
this->obj.pos.z = zPos;
this->unk_48 = 3;
if (Rand_ZeroOne() < 0.5f) {
effect->unk_48 = -effect->unk_48;
this->unk_48 = -this->unk_48;
}
effect->unk_4A = 100;
effect->scale2 = scale2 * 0.25f;
effect->scale1 = 0.3f;
this->unk_4A = 100;
this->scale2 = scale2 * 0.25f;
this->scale1 = 0.3f;
if (scale2 < 10.0f) {
effect->scale1 = 0.1f;
this->scale1 = 0.1f;
}
effect->obj.rot.z = RAND_FLOAT(360.0f);
Object_SetInfo(&effect->info, effect->obj.id);
this->obj.rot.z = RAND_FLOAT(360.0f);
Object_SetInfo(&this->info, this->obj.id);
}
void func_enmy2_8006A900(f32 xPos, f32 yPos, f32 zPos, f32 scale2) {
@@ -75,21 +75,21 @@ void Actor237_Update(Actor237* this) {
void Actor237_Draw(Actor237* this) {
}
void Obj54_8006A984(Effect* effect, f32 xPos, f32 yPos, f32 zPos) {
Effect_Initialize(effect);
effect->obj.status = OBJ_INIT;
effect->obj.id = OBJ_EFFECT_365;
void Obj54_8006A984(Effect* this, f32 xPos, f32 yPos, f32 zPos) {
Effect_Initialize(this);
this->obj.status = OBJ_INIT;
this->obj.id = OBJ_EFFECT_365;
effect->obj.pos.x = xPos;
effect->obj.pos.y = yPos;
effect->obj.pos.z = zPos;
this->obj.pos.x = xPos;
this->obj.pos.y = yPos;
this->obj.pos.z = zPos;
effect->unk_44 = 40;
effect->scale2 = 5.0f;
effect->scale1 = RAND_FLOAT_CENTERED(2.0f);
effect->vel.y = 10.0f;
effect->obj.rot.z = RAND_FLOAT(360.0f);
Object_SetInfo(&effect->info, effect->obj.id);
this->unk_44 = 40;
this->scale2 = 5.0f;
this->scale1 = RAND_FLOAT_CENTERED(2.0f);
this->vel.y = 10.0f;
this->obj.rot.z = RAND_FLOAT(360.0f);
Object_SetInfo(&this->info, this->obj.id);
}
void Obj54_8006AA3C(f32 xPos, f32 yPos, f32 zPos) {
@@ -103,7 +103,7 @@ void Obj54_8006AA3C(f32 xPos, f32 yPos, f32 zPos) {
}
}
void Scenery54_Update(Scenery_54* this) {
void CoWaterfall_Update(CoWaterfall* this) {
Vec3f sp24;
Vec3f sp18;
@@ -131,7 +131,7 @@ void Actor201_Update(Actor201* this) {
f32 sp2C;
if (Actor201_8006ABA4(this) && (this->timer_0BC == 0)) {
func_effect_8007F11C(OBJ_EFFECT_353, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, gEnemyShotSpeed);
Effect_EnemyLaser(OBJ_EFFECT_ENEMY_LASER_1, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, gEnemyShotSpeed);
this->timer_0BC = 20;
}
sp2C = this->obj.pos.z + gPathProgress;
@@ -157,9 +157,9 @@ void Actor202_Update(Actor202* this) {
this->iwork[1] = true;
}
if (((gGameFrameCount % 32) == 0)) {
func_effect_8007F11C(OBJ_EFFECT_353, this->obj.pos.x, this->obj.pos.y + 180.0f, this->obj.pos.z,
gEnemyShotSpeed);
if ((gGameFrameCount % 32) == 0) {
Effect_EnemyLaser(OBJ_EFFECT_ENEMY_LASER_1, this->obj.pos.x, this->obj.pos.y + 180.0f, this->obj.pos.z,
gEnemyShotSpeed);
}
switch (this->state) {
@@ -216,7 +216,7 @@ void Actor202_Update(Actor202* this) {
func_effect_8007BFFC(this->obj.pos.x, this->obj.pos.y + 180.0f, this->obj.pos.z, this->vel.x, this->vel.y,
this->vel.z, 8.0f, 30);
Object_Kill(&this->obj, this->sfxSource);
func_effect_8007A6F0(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
gHitCount += this->info.bonus;
D_ctx_80177850 = 15;
} else {
@@ -341,7 +341,7 @@ void Actor194_Draw(Actor194* this) {
}
}
void Scenery42_Update(Scenery_42* this) {
void CoIBeam_Update(CoIBeam* this) {
this->obj.pos.x += this->vel.x;
this->obj.pos.y += this->vel.y;
this->obj.pos.z += this->vel.z;
@@ -367,20 +367,20 @@ void Scenery42_Update(Scenery_42* this) {
}
}
void func_enmy2_8006BA64(Effect* effect, f32 xPos, f32 yPos, f32 zPos) {
Effect_Initialize(effect);
effect->obj.status = OBJ_INIT;
effect->obj.id = OBJ_EFFECT_375;
void func_enmy2_8006BA64(Effect375* this, f32 xPos, f32 yPos, f32 zPos) {
Effect_Initialize(this);
this->obj.status = OBJ_INIT;
this->obj.id = OBJ_EFFECT_375;
effect->obj.pos.x = xPos;
effect->obj.pos.y = yPos;
effect->obj.pos.z = zPos;
this->obj.pos.x = xPos;
this->obj.pos.y = yPos;
this->obj.pos.z = zPos;
effect->scale2 = 0.0f;
effect->scale1 = 0.12f;
effect->obj.rot.y = RAND_FLOAT(360.0f);
effect->unk_60.y = RAND_FLOAT_CENTERED(3.0f);
Object_SetInfo(&effect->info, effect->obj.id);
this->scale2 = 0.0f;
this->scale1 = 0.12f;
this->obj.rot.y = RAND_FLOAT(360.0f);
this->unk_60.y = RAND_FLOAT_CENTERED(3.0f);
Object_SetInfo(&this->info, this->obj.id);
}
void func_enmy2_8006BB1C(f32 xPos, f32 yPos, f32 zPos) {
@@ -445,12 +445,14 @@ void Actor196_Update(Actor196* this) {
case 3:
if (this->timer_0BC == 1) {
func_effect_8007F11C(OBJ_EFFECT_353, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z,
gEnemyShotSpeed);
Effect_EnemyLaser(OBJ_EFFECT_ENEMY_LASER_1, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z,
gEnemyShotSpeed);
}
if (this->vel.y < 12.0f) {
Math_SmoothStepToF(&this->obj.rot.x, 180.0f, 0.1f, 7.0f, 0.01f);
}
if (this->obj.pos.y < (gGroundHeight + 10.0f)) {
this->obj.pos.y = gGroundHeight;
this->state = 4;
@@ -664,7 +666,7 @@ void ActorDebris_Update(ActorDebris* this) {
(this->timer_0BE == 0)) {
func_effect_8007B8F8(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z + 50.0f, this->scale * 10.0f);
Object_Kill(&this->obj, this->sfxSource);
func_effect_8007A6F0(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
}
break;
@@ -675,7 +677,7 @@ void ActorDebris_Update(ActorDebris* this) {
(this->timer_0BE == 0)) {
func_effect_8007B8F8(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z + 50.0f, this->scale * 10.0f);
Object_Kill(&this->obj, this->sfxSource);
func_effect_8007A6F0(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
}
break;
@@ -696,7 +698,7 @@ void ActorDebris_Update(ActorDebris* this) {
(this->timer_0BE == 0)) {
func_effect_8007B8F8(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z + 50.0f, this->scale * 10.0f);
Object_Kill(&this->obj, this->sfxSource);
func_effect_8007A6F0(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
}
break;
@@ -707,7 +709,7 @@ void ActorDebris_Update(ActorDebris* this) {
func_effect_8007B8F8(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z + 70.0f, this->scale * 20.0f);
func_effect_8007B8F8(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z + 70.0f, this->scale * 20.0f);
Object_Kill(&this->obj, this->sfxSource);
func_effect_8007A6F0(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
}
break;
@@ -779,7 +781,7 @@ void ActorDebris_Update(ActorDebris* this) {
(this->timer_0BE == 0)) {
func_effect_8007D0E0(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, 10.0f);
Object_Kill(&this->obj, this->sfxSource);
func_effect_8007A6F0(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
}
} else if (((this->state >= 41) && (this->state < 45)) || (this->state == 59)) {
if (((this->timer_0BC == 0) ||
@@ -787,7 +789,7 @@ void ActorDebris_Update(ActorDebris* this) {
(this->timer_0BE == 0)) {
func_effect_8007D0E0(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, 2.0f * this->scale);
Object_Kill(&this->obj, this->sfxSource);
func_effect_8007A6F0(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
}
if (Play_CheckDynaFloorCollision(&sp44, &sp40, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z)) {
func_effect_8007B228(this->obj.pos.x, sp44, this->obj.pos.z, 2.0f);
@@ -804,7 +806,7 @@ void ActorDebris_Update(ActorDebris* this) {
func_effect_8007BFFC(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, this->vel.x, this->vel.y,
this->vel.z, this->scale * 1.5f, 4);
Object_Kill(&this->obj, this->sfxSource);
func_effect_8007A6F0(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_EN_EXPLOSION_S);
}
} else {
if ((this->state == 3) && ((this->timer_0BC % 8) == 0)) {
@@ -1008,7 +1010,7 @@ static EventActorInfo sEventActorInfo[108] = {
/* 68 */ { D_SY_60205D0, D_SY_603445C, 3.0f, 100.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 1.0f, 1 },
/* 69 */ { D_SY_60036A0, D_SY_6034664, -1.0f, 10000.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 },
/* 70 */ { D_SY_601AD70, gNoHitbox, 4.0f, 100.0f, 3000.0f, 0, 0, EISFX_EN_ENGINE_01, 0, 0.0f, 1 },
/* 71 */ { D_arwing_3007650, gNoHitbox, 1.0f, 100.0f, 3000.0f, 2, 0, EISFX_OB_WING, 0, 0.0f, 1 },
/* 71 */ { aArwingItemLasersDL, gNoHitbox, 1.0f, 100.0f, 3000.0f, 2, 0, EISFX_OB_WING, 0, 0.0f, 1 },
/* 72 */ { D_SY_60034D0, D_SY_60347D4, 3.0f, 100.0f, 3000.0f, 1, 0, EISFX_NONE, 0, 0.0f, 1 },
/* 73 */ { D_SY_6005360, D_SY_6034770, -1.0f, 10000.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 },
/* 74 */ { D_SY_600F6C0, D_SY_60347F0, -1.0f, 10000.0f, 3001.0f, 0, 0, EISFX_NONE, 0, 0.0f, 1 },
@@ -1761,7 +1763,7 @@ void ActorEvent_SetupEffect347(Effect* effect, f32 xPos, f32 yPos, f32 zPos, f32
effect->scale1 = scale1;
effect->unk_44 = 100;
Object_SetInfo(&effect->info, effect->obj.id);
func_effect_8007A6F0(&effect->obj.pos, NA_SE_EN_EXPLOSION_M);
Effect_SpawnTimedSfxAtPos(&effect->obj.pos, NA_SE_EN_EXPLOSION_M);
}
void ActorEvent_SpawnEffect347(f32 xPos, f32 yPos, f32 zPos, f32 scale1) {
@@ -1790,7 +1792,7 @@ void ActorEvent_SetupEffect394(Effect* effect, f32 xPos, f32 yPos, f32 zPos, f32
effect->unk_7A = 18;
Object_SetInfo(&effect->info, effect->obj.id);
effect->info.damage = 40;
func_effect_8007A6F0(&effect->obj.pos, NA_SE_EN_EXPLOSION_M);
Effect_SpawnTimedSfxAtPos(&effect->obj.pos, NA_SE_EN_EXPLOSION_M);
}
void ActorEvent_SpawnEffect394(f32 xPos, f32 yPos, f32 zPos, f32 scale1) {
@@ -1819,9 +1821,9 @@ void ActorEvent_8006F254(ActorEvent* this) {
sp54.z = gEnemyShotSpeed;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp54, &sp48);
func_effect_8007F04C(OBJ_EFFECT_353, this->obj.pos.x + sp48.x, this->obj.pos.y + sp48.y, this->obj.pos.z + sp48.z,
this->obj.rot.x, this->obj.rot.y, this->obj.rot.z, this->vwork[29].x, this->vwork[29].y,
this->vwork[29].z + this->rot_0F4.z, sp48.x, sp48.y, sp48.z, 1.0f);
func_effect_8007F04C(OBJ_EFFECT_ENEMY_LASER_1, this->obj.pos.x + sp48.x, this->obj.pos.y + sp48.y,
this->obj.pos.z + sp48.z, this->obj.rot.x, this->obj.rot.y, this->obj.rot.z, this->vwork[29].x,
this->vwork[29].y, this->vwork[29].z + this->rot_0F4.z, sp48.x, sp48.y, sp48.z, 1.0f);
}
void ActorEvent_ProcessActions(ActorEvent* this) {
@@ -1844,8 +1846,8 @@ void ActorEvent_ProcessActions(ActorEvent* this) {
case EVACT_2: // shoot at player
if (this->obj.pos.z < (gPlayer[0].trueZpos - 600.0f)) {
func_effect_8007F11C(OBJ_EFFECT_353, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z,
gEnemyShotSpeed);
Effect_EnemyLaser(OBJ_EFFECT_ENEMY_LASER_1, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z,
gEnemyShotSpeed);
}
this->unk_048 = EVACT_NONE;
break;
@@ -1895,15 +1897,15 @@ void ActorEvent_ProcessActions(ActorEvent* this) {
case EVACT_6:
if (this->obj.pos.z < (gPlayer[0].trueZpos - 600.0f)) {
func_effect_8007F11C(OBJ_EFFECT_355, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z,
gEnemyShotSpeed);
Effect_EnemyLaser(OBJ_EFFECT_355, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z,
gEnemyShotSpeed);
}
this->unk_048 = EVACT_NONE;
break;
case EVACT_7:
if (this->obj.pos.z < (gPlayer[0].trueZpos - 600.0f)) {
func_effect_8007F11C(OBJ_EFFECT_356, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, 60.0f);
Effect_EnemyLaser(OBJ_EFFECT_356, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, 60.0f);
}
this->unk_048 = EVACT_NONE;
break;
@@ -1913,8 +1915,8 @@ void ActorEvent_ProcessActions(ActorEvent* this) {
sp6C.y = gPlayer[0].pos.y;
gPlayer[0].pos.x += RAND_FLOAT_CENTERED(300.0f);
gPlayer[0].pos.y += RAND_FLOAT_CENTERED(300.0f);
func_effect_8007F11C(OBJ_EFFECT_353, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z,
gEnemyShotSpeed);
Effect_EnemyLaser(OBJ_EFFECT_ENEMY_LASER_1, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z,
gEnemyShotSpeed);
gPlayer[0].pos.x = sp6C.x;
gPlayer[0].pos.y = sp6C.y;
this->unk_048 = EVACT_NONE;
@@ -1943,7 +1945,7 @@ void ActorEvent_ProcessActions(ActorEvent* this) {
this->vel.z, this->scale * 3.0f, 15);
Actor_Despawn(this);
Object_Kill(&this->obj, this->sfxSource);
func_effect_8007A6F0(&this->obj.pos, NA_SE_EN_EXPLOSION_M);
Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_EN_EXPLOSION_M);
break;
case EVACT_DESPAWN:
@@ -1967,16 +1969,16 @@ void ActorEvent_ProcessActions(ActorEvent* this) {
break;
case EVACT_16:
func_effect_8007F11C(OBJ_EFFECT_353, this->obj.pos.x + 190.0f, this->obj.pos.y + 90.0f,
this->obj.pos.z + 220.0f, gEnemyShotSpeed);
func_effect_8007F11C(OBJ_EFFECT_353, this->obj.pos.x - 190.0f, this->obj.pos.y + 90.0f,
this->obj.pos.z + 220.0f, gEnemyShotSpeed);
Effect_EnemyLaser(OBJ_EFFECT_ENEMY_LASER_1, this->obj.pos.x + 190.0f, this->obj.pos.y + 90.0f,
this->obj.pos.z + 220.0f, gEnemyShotSpeed);
Effect_EnemyLaser(OBJ_EFFECT_ENEMY_LASER_1, this->obj.pos.x - 190.0f, this->obj.pos.y + 90.0f,
this->obj.pos.z + 220.0f, gEnemyShotSpeed);
this->unk_048 = EVACT_NONE;
break;
case EVACT_17:
if (this->obj.pos.z < (gPlayer[0].cam.eye.z - 600.0f)) {
func_effect_8007F20C(OBJ_EFFECT_353, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z,
func_effect_8007F20C(OBJ_EFFECT_ENEMY_LASER_1, this->obj.pos.x, this->obj.pos.y, this->obj.pos.z,
gEnemyShotSpeed);
}
this->unk_048 = EVACT_NONE;
@@ -2047,7 +2049,7 @@ void ActorEvent_8006FEEC(ActorEvent* this) {
this->itemDrop = DROP_NONE;
Actor_Despawn(this);
Object_Kill(&this->obj, this->sfxSource);
func_effect_8007A6F0(&this->obj.pos, NA_SE_EN_BIRD_DOWN);
Effect_SpawnTimedSfxAtPos(&this->obj.pos, NA_SE_EN_BIRD_DOWN);
func_effect_8007D2C8(this->obj.pos.x, this->obj.pos.y, this->obj.pos.z, 4.0f);
} else {
AUDIO_PLAY_SFX(NA_SE_EN_BIRD_DAMAGE, this->sfxSource, 4);
@@ -3161,7 +3163,7 @@ void ActorEvent_Update(ActorEvent* this) {
var_fv0 = 0.0f;
}
func_effect_8007F04C(OBJ_EFFECT_353, this->obj.pos.x + spAC.x + spA0.x,
func_effect_8007F04C(OBJ_EFFECT_ENEMY_LASER_1, this->obj.pos.x + spAC.x + spA0.x,
this->obj.pos.y + spAC.y + spA0.y + var_fv0, this->obj.pos.z + spAC.z + spA0.z,
this->fwork[15], this->obj.rot.y, this->obj.rot.z, this->vwork[29].x,
this->vwork[29].y, this->vwork[29].z + this->rot_0F4.z, spAC.x, spAC.y, spAC.z,
@@ -3653,7 +3655,7 @@ void ActorEvent_Update(ActorEvent* this) {
effect->unk_60.z = -effect->unk_60.z;
}
if (gGameFrameCount & 2) {
if ((gGameFrameCount & 2) != 0) {
effect->vel.y = -effect->vel.y;
}
}
@@ -3905,6 +3907,7 @@ void ActorEvent_Draw(ActorEvent* this) {
gSPDisplayList(gMasterDisp++, sEventActorInfo[this->eventType].dList);
gDPSetTextureFilter(gMasterDisp++, G_TF_BILERP);
break;
default:
if ((this->eventType < EVID_200) && (sEventActorInfo[this->eventType].dList != NULL)) {
gSPDisplayList(gMasterDisp++, sEventActorInfo[this->eventType].dList);
@@ -4101,7 +4104,7 @@ void ActorEvent_Draw(ActorEvent* this) {
case EVID_79:
temp_s0 = this->state;
this->state = 2; // actor 235 state
Zoness_80190430(this);
Zoness_Actor235_Draw(this);
this->state = temp_s0;
break;
@@ -4261,7 +4264,7 @@ void func_enmy2_800763A4(Actor* actor) {
actor->scale * 3.0f, 5);
func_effect_8007B228(actor->obj.pos.x, sp58, actor->obj.pos.z, 2.0f);
actor->timer_0BE = 2;
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_S);
Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_S);
return;
}
@@ -4272,7 +4275,7 @@ void func_enmy2_800763A4(Actor* actor) {
actor->obj.pos.z - actor->vel.z, 0.0f, 0.0f, 0.0f, actor->scale * 4.0f, 20);
func_enmy_80062C38(actor->obj.pos.x, actor->obj.pos.z);
actor->timer_0BE = 2;
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_S);
Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_S);
return;
}
} else {
@@ -4304,9 +4307,9 @@ void func_enmy2_800763A4(Actor* actor) {
actor->obj.pos.z - actor->vel.z, actor->scale * 3.0f);
if ((actor->obj.id == OBJ_ACTOR_ALLRANGE) && (actor->aiType < AI360_KATT)) {
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_M);
Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_M);
} else {
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_S);
Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_S);
}
if ((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->eventType == EVID_SLIPPY_METEO)) {
@@ -4372,9 +4375,9 @@ void func_enmy2_800763A4(Actor* actor) {
actor->timer_0BE = 2;
if ((actor->obj.id == OBJ_ACTOR_ALLRANGE) && (actor->aiType < AI360_KATT)) {
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_M);
Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_M);
} else {
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_S);
Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_S);
}
}
}
@@ -4410,9 +4413,9 @@ void func_enmy2_800763A4(Actor* actor) {
actor->timer_0BE = 2;
if ((actor->obj.id == OBJ_ACTOR_ALLRANGE) && (actor->aiType < AI360_KATT)) {
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_M);
Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_M);
} else {
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_S);
Effect_SpawnTimedSfxAtPos(&actor->obj.pos, NA_SE_EN_EXPLOSION_S);
}
}
}
+1 -1
View File
@@ -95,7 +95,7 @@ void Game_SetGameState(void) {
gLevelPhase = gNextLevelPhase;
gNextLevelPhase = 0;
if ((gLevelPhase != 0) && (gCurrentLevel != LEVEL_VENOM_ANDROSS)) {
D_ctx_8017782C = 0;
D_ctx_8017782C = false;
}
break;
case GSTATE_MAP:
+15 -14
View File
@@ -1322,7 +1322,7 @@ void HUD_DrawStatusScreens(void) {
s32 func_hud_800886B8(void) {
s32 var_v1 = 0;
f32 var_fv1 = gInputPress->stick_y; // related to the vertical height of the arwing
f32 var_fv1 = gInputPress->stick_y;
if ((var_fv1 != 0.0f) && (D_80161810[4] != 0)) {
return 0;
@@ -2159,27 +2159,28 @@ s32 func_hud_8008A4DC(void) {
return 0;
}
s32 func_hud_8008AC54(s32 arg0) {
// Why is this function here in fox_hud? Weird.
s32 Hud_MissileSeekModeCheck(s32 missileSeekMode) {
Actor* actor;
s32 i;
s32 ret = 0;
for (i = 0, actor = gActors; i < 60; i++, actor++) {
switch (arg0) {
case 0:
if ((actor->obj.status == OBJ_ACTIVE) && (actor->obj.id == OBJ_ACTOR_190)) {
for (i = 0, actor = &gActors[0]; i < 60; i++, actor++) {
switch (missileSeekMode) {
case 0: // follows teammates
if ((actor->obj.status == OBJ_ACTIVE) && (actor->obj.id == OBJ_MISSILE_SEEK_TEAM)) {
ret++;
}
break;
case 1:
if ((actor->obj.status == OBJ_ACTIVE) && (actor->obj.id == OBJ_ACTOR_191)) {
case 1: // follows player
if ((actor->obj.status == OBJ_ACTIVE) && (actor->obj.id == OBJ_MISSILE_SEEK_PLAYER)) {
ret++;
}
break;
case 2:
if (((actor->obj.id == OBJ_ACTOR_190) || (actor->obj.id == OBJ_ACTOR_191)) &&
case 2: // follows either
if (((actor->obj.id == OBJ_MISSILE_SEEK_TEAM) || (actor->obj.id == OBJ_MISSILE_SEEK_PLAYER)) &&
(actor->obj.status == OBJ_ACTIVE)) {
ret++;
}
@@ -3526,7 +3527,7 @@ void func_hud_8008F96C(void) {
}
if (gCurrentLevel == LEVEL_TRAINING) {
Training_801988E0();
Training_RingPassCount_Draw();
}
}
@@ -4186,7 +4187,7 @@ bool func_hud_800915FC(Actor* actor) {
y = 720.0f;
}
if (boss->obj.id == OBJ_BOSS_293) {
if (boss->obj.id == OBJ_BOSS_CO_CARRIER) {
y = 280.0f;
}
@@ -5306,7 +5307,7 @@ f32 D_800D24C0[] = { 128.0f, 128.0f, 255.0f, 128.0f };
s32 D_800D24C8[] = { 0, 900 };
f32 D_800D24CC = 0.02f;
void func_hud_80094954(Effect* effect) {
void Hud_Effect363_Update(Effect* effect) {
Player* player = &gPlayer[0];
if ((player->state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) && (gCurrentLevel == LEVEL_AQUAS) && (player->csState < 2)) {
@@ -5363,7 +5364,7 @@ void func_hud_80094954(Effect* effect) {
}
}
void func_hud_80094BBC(Effect* effect) {
void Hud_Effect363_Draw(Effect* effect) {
if ((gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) && (gCurrentLevel == LEVEL_AQUAS) &&
(gPlayer[0].csState < 2)) {
RCP_SetupDL(&gMasterDisp, SETUPDL_68);
+3
View File
@@ -26,12 +26,14 @@ void func_pause_800A3E00(void) {
D_ctx_80177868 = 1;
}
break;
case 1:
D_ctx_80177868 = 2;
gDrawMode = DRAW_UNK_7;
gCsCamEyeX = gCsCamEyeY = gCsCamEyeZ = gCsCamAtX = gCsCamAtY = 0.0f;
gCsCamAtZ = -10.0f;
break;
case 2:
if ((gControllerPress[0].button & START_BUTTON) || (gControllerPress[1].button & START_BUTTON)) {
Audio_PlayPauseSfx(0);
@@ -41,6 +43,7 @@ void func_pause_800A3E00(void) {
gNextGameStateTimer = 0;
}
break;
case 3:
if (gNextGameStateTimer == 0) {
gPlayState = PLAY_UPDATE;
+62 -58
View File
@@ -342,7 +342,7 @@ void Play_Setup360_CO(void) {
s32 i;
s32 j;
gLevelObjects = SEGMENTED_TO_VIRTUAL(D_CO_603B074);
gLevelObjects = SEGMENTED_TO_VIRTUAL(aCoAllRangeLevelObjects);
for (j = 0, scenery360 = gScenery360; j < 200; j++) {
if (gLevelObjects[j].id <= OBJ_INVALID) {
@@ -357,7 +357,7 @@ void Play_Setup360_CO(void) {
scenery360->obj.pos.y = gLevelObjects[j].yPos;
scenery360->obj.rot.y = gLevelObjects[j].rot.y;
Object_SetInfo(&scenery360->info, scenery360->obj.id);
if (scenery360->obj.id == OBJ_SCENERY_1) {
if (scenery360->obj.id == OBJ_SCENERY_CO_BUMP_1) {
scenery360->info.dList = D_CO_6020760;
}
scenery360++;
@@ -385,7 +385,7 @@ void Play_Setup360_CO(void) {
gBosses[i].obj.pos.x = 0.0f;
gBosses[i].obj.pos.y = 0.0f;
gBosses[i].obj.pos.z = 0.0f;
gBosses[i].obj.id = OBJ_BOSS_292;
gBosses[i].obj.id = OBJ_BOSS_CO_GRANGA;
Object_SetInfo(&gBosses[i].info, gBosses[i].obj.id);
}
@@ -461,10 +461,12 @@ void Play_Setup(void) {
gAllRangeCheckpoint = gSavedObjectLoadIndex = 0;
gSavedPathProgress = 0.0f;
gSavedHitCount = gCsFrameCount = gLevelStartStatusScreenTimer = gLevelClearScreenTimer = gRadioState = 0;
D_ctx_8017782C = 1;
D_ctx_8017782C = true;
if (((gCurrentLevel == LEVEL_VENOM_2) && (gNextLevelPhase == 2)) || (gCurrentLevel == LEVEL_VENOM_ANDROSS)) {
return;
}
for (i = 1; i < 4; i++) {
if (gSavedTeamShields[i] < 0) {
if (gSavedTeamShields[i] == -1) {
@@ -1212,8 +1214,8 @@ bool Play_CheckPolyCollision(ObjectId objId, f32 arg1, f32 arg2, f32 arg3, f32 a
case OBJ_ACTOR_180:
colId = COL1_0;
break;
case OBJ_SCENERY_4:
case OBJ_SCENERY_5:
case OBJ_SCENERY_CO_BUMP_4:
case OBJ_SCENERY_CO_BUMP_5:
colId = COL2_1;
useCol2 = true;
break;
@@ -1235,7 +1237,7 @@ bool Play_CheckPolyCollision(ObjectId objId, f32 arg1, f32 arg2, f32 arg3, f32 a
case ACTOR_EVENT_ID:
colId = COL1_3;
break;
case OBJ_BOSS_SZ:
case OBJ_BOSS_SZ_GREAT_FOX:
colId = COL1_8;
break;
case OBJ_SCENERY_ME_TUNNEL:
@@ -1257,11 +1259,11 @@ bool Play_CheckPolyCollision(ObjectId objId, f32 arg1, f32 arg2, f32 arg3, f32 a
colId = COL2_7;
useCol2 = true;
break;
case OBJ_SCENERY_2:
case OBJ_SCENERY_CO_BUMP_2:
colId = COL2_2;
useCol2 = true;
break;
case OBJ_SCENERY_3:
case OBJ_SCENERY_CO_BUMP_3:
case OBJ_SCENERY_69:
colId = COL2_3;
useCol2 = true;
@@ -1331,10 +1333,10 @@ bool Play_CheckPolyCollision(ObjectId objId, f32 arg1, f32 arg2, f32 arg3, f32 a
case OBJ_SCENERY_146:
case OBJ_SCENERY_147:
case OBJ_SCENERY_148:
case OBJ_SCENERY_40:
case OBJ_SCENERY_41:
case OBJ_SCENERY_42:
case OBJ_SCENERY_43:
case OBJ_SCENERY_CO_BUILDING_9:
case OBJ_SCENERY_CO_BUILDING_10:
case OBJ_SCENERY_IBEAM:
case OBJ_SCENERY_ZO_ROCK_1:
case OBJ_SCENERY_44:
case OBJ_SCENERY_45:
case OBJ_SCENERY_46:
@@ -1344,9 +1346,9 @@ bool Play_CheckPolyCollision(ObjectId objId, f32 arg1, f32 arg2, f32 arg3, f32 a
case OBJ_SCENERY_51:
case OBJ_SCENERY_52:
case OBJ_SCENERY_53:
case OBJ_SCENERY_54:
case OBJ_SCENERY_55:
case OBJ_SCENERY_56:
case OBJ_SCENERY_CO_WATERFALL:
case OBJ_SCENERY_CO_ROCKWALL:
case OBJ_SCENERY_CO_DOORS:
case OBJ_SCENERY_57:
case OBJ_SCENERY_58:
case OBJ_SCENERY_59:
@@ -1645,8 +1647,8 @@ void Player_CollisionCheck(Player* player) {
if ((scenery360->obj.id == OBJ_SCENERY_117) || (scenery360->obj.id == OBJ_SCENERY_143) ||
(scenery360->obj.id == OBJ_SCENERY_141) || (scenery360->obj.id == OBJ_SCENERY_149) ||
(scenery360->obj.id == OBJ_SCENERY_150) || (scenery360->obj.id == OBJ_SCENERY_148) ||
(scenery360->obj.id == OBJ_SCENERY_160) || (scenery360->obj.id == OBJ_SCENERY_1) ||
(scenery360->obj.id == OBJ_SCENERY_3) || (scenery360->obj.id == OBJ_SCENERY_140)) {
(scenery360->obj.id == OBJ_SCENERY_160) || (scenery360->obj.id == OBJ_SCENERY_CO_BUMP_1) ||
(scenery360->obj.id == OBJ_SCENERY_CO_BUMP_3) || (scenery360->obj.id == OBJ_SCENERY_140)) {
temp_v0 = Player_CheckPolyCollision(player, scenery360->obj.id, scenery360->obj.pos.x,
scenery360->obj.pos.y, scenery360->obj.pos.z,
scenery360->obj.rot.x, scenery360->obj.rot.y,
@@ -1666,7 +1668,7 @@ void Player_CollisionCheck(Player* player) {
scenery360->obj.rot.y, scenery360->obj.rot.z, 0.0f, 0.0f, 0.0f);
if ((temp_v0 != 0) && (temp_v0 < 0)) {
if (player->whooshTimer == 0) {
func_effect_8007A6F0(&scenery360->obj.pos, NA_SE_PASS);
Effect_SpawnTimedSfxAtPos(&scenery360->obj.pos, NA_SE_PASS);
}
player->whooshTimer += 2;
if (player->whooshTimer >= 4) {
@@ -1682,7 +1684,7 @@ void Player_CollisionCheck(Player* player) {
if (temp_v0 != 0) {
if (temp_v0 < 0) {
if (player->whooshTimer == 0) {
func_effect_8007A6F0(&scenery360->obj.pos, NA_SE_PASS);
Effect_SpawnTimedSfxAtPos(&scenery360->obj.pos, NA_SE_PASS);
}
player->whooshTimer += 2;
if (player->whooshTimer >= 4) {
@@ -1749,11 +1751,11 @@ void Player_CollisionCheck(Player* player) {
(scenery->obj.id != OBJ_SCENERY_71) && (scenery->obj.id != OBJ_SCENERY_73) &&
(scenery->obj.id != OBJ_SCENERY_74) && (scenery->obj.id != OBJ_SCENERY_69) &&
((player->trueZpos - 2000.0f) < scenery->obj.pos.z)) {
if ((scenery->obj.id == OBJ_SCENERY_1) || (scenery->obj.id == OBJ_SCENERY_4) ||
(scenery->obj.id == OBJ_SCENERY_5) || (scenery->obj.id == OBJ_SCENERY_47) ||
if ((scenery->obj.id == OBJ_SCENERY_CO_BUMP_1) || (scenery->obj.id == OBJ_SCENERY_CO_BUMP_4) ||
(scenery->obj.id == OBJ_SCENERY_CO_BUMP_5) || (scenery->obj.id == OBJ_SCENERY_47) ||
(scenery->obj.id == OBJ_SCENERY_117) || (scenery->obj.id == OBJ_SCENERY_120) ||
(scenery->obj.id == OBJ_SCENERY_124) || (scenery->obj.id == OBJ_SCENERY_126) ||
(scenery->obj.id == OBJ_SCENERY_2) || (scenery->obj.id == OBJ_SCENERY_3)) {
(scenery->obj.id == OBJ_SCENERY_CO_BUMP_2) || (scenery->obj.id == OBJ_SCENERY_CO_BUMP_3)) {
spC8.x = scenery->obj.pos.x - player->pos.x;
spC8.z = scenery->obj.pos.z - player->trueZpos;
if (sqrtf(SQ(spC8.x) + SQ(spC8.z)) < 1100.0f) {
@@ -1766,7 +1768,7 @@ void Player_CollisionCheck(Player* player) {
}
} else {
padB0 = scenery->obj.rot.y;
if (scenery->info.action == (ObjectFunc) func_enmy_80066EA8) {
if (scenery->info.action == (ObjectFunc) SceneryRotateTowardsCamera) {
padB0 = 0.0f;
}
temp_v0 = Player_CheckHitboxCollision(
@@ -1788,7 +1790,7 @@ void Player_CollisionCheck(Player* player) {
if (player->whooshTimer >= 4) {
player->whooshTimer = 4;
}
} else if (scenery->obj.id == OBJ_SCENERY_54) {
} else if (scenery->obj.id == OBJ_SCENERY_CO_WATERFALL) {
if (player->whooshTimer == 0) {
AUDIO_PLAY_SFX(NA_SE_IN_SPLASH_L, scenery->sfxSource, 0);
}
@@ -1798,7 +1800,8 @@ void Player_CollisionCheck(Player* player) {
}
} else {
Player_ApplyDamage(player, temp_v0, scenery->info.damage);
if ((scenery->obj.id == OBJ_SCENERY_48) || (scenery->obj.id == OBJ_SCENERY_55) ||
if ((scenery->obj.id == OBJ_SCENERY_48) ||
(scenery->obj.id == OBJ_SCENERY_CO_ROCKWALL) ||
(scenery->obj.id == OBJ_SCENERY_49)) {
Matrix_RotateY(gCalcMatrix, scenery->obj.rot.y * M_DTOR, MTXF_NEW);
spC8.x = -(player->baseSpeed + player->boostSpeed) * 0.7f;
@@ -1841,8 +1844,8 @@ void Player_CollisionCheck(Player* player) {
}
for (i = 0, boss = gBosses; i < ARRAY_COUNT(gBosses); i++, boss++) {
if (boss->obj.status == OBJ_ACTIVE) {
if ((boss->obj.id == OBJ_BOSS_VE2) || (boss->obj.id == OBJ_BOSS_FO) || (boss->obj.id == OBJ_BOSS_SZ) ||
(boss->obj.id == OBJ_BOSS_309)) {
if ((boss->obj.id == OBJ_BOSS_VE2) || (boss->obj.id == OBJ_BOSS_FO) ||
(boss->obj.id == OBJ_BOSS_SZ_GREAT_FOX) || (boss->obj.id == OBJ_BOSS_309)) {
temp_v0 =
Player_CheckPolyCollision(player, boss->obj.id, boss->obj.pos.x, boss->obj.pos.y,
boss->obj.pos.z, boss->obj.rot.x, boss->obj.rot.y, boss->obj.rot.z);
@@ -1898,7 +1901,7 @@ void Player_CollisionCheck(Player* player) {
break;
}
Player_ApplyDamage(player, temp_v0, boss->info.damage);
if ((boss->obj.id == OBJ_BOSS_303) && ((boss->state == 2) || (boss->state == 3)) &&
if ((boss->obj.id == OBJ_BOSS_SX_SPYBORG) && ((boss->state == 2) || (boss->state == 3)) &&
(sp98 >= 9)) {
player->knockback.y = -100.0f;
}
@@ -1996,7 +1999,7 @@ void Player_CollisionCheck(Player* player) {
}
} else {
actor->dmgType = DMG_COLLISION;
if (actor->obj.id == OBJ_ACTOR_190) {
if (actor->obj.id == OBJ_MISSILE_SEEK_TEAM) {
actor->dmgType = -1;
}
if (actor->info.damage) {
@@ -2212,8 +2215,8 @@ void Player_FloorCheck(Player* player) {
for (sp144 = 0, scenery360 = gScenery360; sp144 < 200; sp144++, scenery360++) {
if ((scenery360->obj.status == OBJ_ACTIVE) &&
((scenery360->obj.id == OBJ_SCENERY_150) || (scenery360->obj.id == OBJ_SCENERY_149) ||
(scenery360->obj.id == OBJ_SCENERY_148) || (scenery360->obj.id == OBJ_SCENERY_1) ||
(scenery360->obj.id == OBJ_SCENERY_3)) &&
(scenery360->obj.id == OBJ_SCENERY_148) || (scenery360->obj.id == OBJ_SCENERY_CO_BUMP_1) ||
(scenery360->obj.id == OBJ_SCENERY_CO_BUMP_3)) &&
(fabsf(scenery360->obj.pos.x - player->pos.x) < 2500.0f) &&
(fabsf(scenery360->obj.pos.z - player->trueZpos) < 2500.0f)) {
tempx = scenery360->obj.pos.x;
@@ -2246,7 +2249,7 @@ void Player_FloorCheck(Player* player) {
}
} else {
colId = COL2_0;
if (scenery360->obj.id == OBJ_SCENERY_3) {
if (scenery360->obj.id == OBJ_SCENERY_CO_BUMP_3) {
colId = COL2_3;
}
if (func_col2_800A3690(&spD4, &spC8, colId, &spBC)) {
@@ -2263,14 +2266,14 @@ void Player_FloorCheck(Player* player) {
(sp144 < 50) && (gLevelMode == LEVELMODE_ON_RAILS) && (gCurrentLevel != LEVEL_VENOM_1);
sp144++, scenery++) {
if ((scenery->obj.status == OBJ_ACTIVE) && ((player->trueZpos - 3000.0f) < scenery->obj.pos.z) &&
(scenery->obj.id != OBJ_SCENERY_0) && (scenery->obj.id != OBJ_SCENERY_8)) {
(scenery->obj.id != OBJ_SCENERY_CO_STONE_ARCH) && (scenery->obj.id != OBJ_SCENERY_CO_HIGHWAY_3)) {
tempx = scenery->obj.pos.x;
tempy = scenery->obj.pos.y;
tempz = scenery->obj.pos.z;
sp120 = scenery->obj.rot.y;
if ((scenery->obj.id == OBJ_SCENERY_3) || (scenery->obj.id == OBJ_SCENERY_2) ||
(scenery->obj.id == OBJ_SCENERY_47) || (scenery->obj.id == OBJ_SCENERY_4) ||
(scenery->obj.id == OBJ_SCENERY_5)) {
if ((scenery->obj.id == OBJ_SCENERY_CO_BUMP_3) || (scenery->obj.id == OBJ_SCENERY_CO_BUMP_2) ||
(scenery->obj.id == OBJ_SCENERY_47) || (scenery->obj.id == OBJ_SCENERY_CO_BUMP_4) ||
(scenery->obj.id == OBJ_SCENERY_CO_BUMP_5)) {
Matrix_RotateY(gCalcMatrix, -sp120 * M_DTOR, MTXF_NEW);
for (var_fs1 = var_fs0 = -50.0f; var_fs0 > -500.0f; var_fs0 -= 5.0f, var_fs1 -= 5.0f) {
spEC.x = player->pos.x - tempx;
@@ -2292,11 +2295,12 @@ void Player_FloorCheck(Player* player) {
if (scenery->obj.id == OBJ_SCENERY_47) {
colId = COL2_7;
}
if (scenery->obj.id == OBJ_SCENERY_2) {
if (scenery->obj.id == OBJ_SCENERY_CO_BUMP_2) {
colId = COL2_2;
} else if (scenery->obj.id == OBJ_SCENERY_3) {
} else if (scenery->obj.id == OBJ_SCENERY_CO_BUMP_3) {
colId = COL2_3;
} else if ((scenery->obj.id == OBJ_SCENERY_4) || (scenery->obj.id == OBJ_SCENERY_5)) {
} else if ((scenery->obj.id == OBJ_SCENERY_CO_BUMP_4) ||
(scenery->obj.id == OBJ_SCENERY_CO_BUMP_5)) {
colId = COL2_1;
}
if (func_col2_800A3690(&spD4, &spC8, colId, &spBC)) {
@@ -2312,7 +2316,7 @@ void Player_FloorCheck(Player* player) {
hitboxData = scenery->info.hitbox;
count = *hitboxData;
if (count != 0) {
if (scenery->info.action == (ObjectFunc) func_enmy_80066EA8) {
if (scenery->info.action == (ObjectFunc) SceneryRotateTowardsCamera) {
sp120 = 0.0f;
}
hitboxData++;
@@ -2543,7 +2547,7 @@ void Player_InitVersus(void) {
Player_Initialize(&gPlayer[i]);
Player_Setup(&gPlayer[i]);
Player_Update360(&gPlayer[i]);
Camera_Update360(&gPlayer[i], 1);
Camera_Update360(&gPlayer[i], true);
}
Play_ClearObjectData();
}
@@ -2665,12 +2669,12 @@ void Play_Init(void) {
switch (gCurrentLevel) {
case LEVEL_SECTOR_Z:
if (!D_ctx_8017782C) {
SectorZ_8019EA68();
SectorZ_LoadLevelObjects();
ActorAllRange_SpawnTeam();
}
break;
case LEVEL_FORTUNA:
Fortuna_8018BA2C();
Fortuna_LoadLevelObjects();
ActorAllRange_SpawnTeam();
break;
case LEVEL_KATINA:
@@ -2686,7 +2690,7 @@ void Play_Init(void) {
}
break;
case LEVEL_VENOM_2:
Venom2_80196968();
Venom2_LoadLevelObjects();
if (gLevelPhase == 0) {
ActorAllRange_SpawnTeam();
}
@@ -4274,7 +4278,7 @@ void Player_Setup(Player* playerx) {
}
break;
}
Camera_Update360(player, 1);
Camera_Update360(player, true);
}
player->state_1C8 = PLAYERSTATE_1C8_ACTIVE;
player->wingPosition = gLevelType;
@@ -4291,7 +4295,7 @@ void Player_Setup(Player* playerx) {
player->yRot_114 = 188.0f;
player->hideShadow = true;
}
Camera_UpdateArwing360(player, 1);
Camera_UpdateArwing360(player, true);
} else {
player->unk_014 = 1.0f;
player->unk_018 = 1.0f;
@@ -4302,7 +4306,7 @@ void Player_Setup(Player* playerx) {
D_ctx_80177A10[j] = 0;
D_ctx_80177A48[j] = 0.0f;
}
D_ctx_8017782C = 0;
D_ctx_8017782C = false;
gAllRangeCheckpoint = 0;
switch (gCurrentLevel) {
case LEVEL_CORNERIA:
@@ -5497,7 +5501,7 @@ void Player_Update(Player* player) {
Player_Initialize(player);
Player_Setup(player);
Player_Update360(player);
Camera_Update360(player, 1);
Camera_Update360(player, true);
Player_PlaySfx(player->sfxSource, NA_SE_ARWING_BOOST, player->num);
player->unk_190 = player->unk_194 = 5.0f;
} else if (player->attacker >= 0) {
@@ -5787,7 +5791,7 @@ void Camera_FollowPlayer(Player* player, s32 playerNum, bool arg2) {
Math_SmoothStepToF(&player->camRoll, 0.0f, 0.05f, 5.0f, 0.00001f);
}
void Camera_UpdateArwing360(Player* player, s32 arg1) {
void Camera_UpdateArwing360(Player* player, bool arg1) {
Vec3f sp74;
Vec3f sp68;
f32 temp1;
@@ -5855,7 +5859,7 @@ void Camera_UpdateArwing360(Player* player, s32 arg1) {
Math_SmoothStepToF(&player->cam.at.z, atZ, player->unk_01C, 30000.0f, 0);
Math_SmoothStepToF(&player->unk_018, 0.2f, 0.1f, 0.005f, 0);
Math_SmoothStepToF(&player->unk_01C, 1.0f, 0.1f, 0.005f, 0);
if (arg1 != 0) {
if (arg1) {
player->cam.eye.x = eyeX;
player->cam.eye.y = eyeY;
player->cam.eye.z = eyeZ;
@@ -5999,7 +6003,7 @@ void Camera_SetStarfieldPos(f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32
}
}
void Camera_Update360(Player* player, s32 arg1) {
void Camera_Update360(Player* player, bool arg1) {
switch (player->form) {
case FORM_ON_FOOT:
Camera_UpdateOnFoot360(player, arg1);
@@ -6031,7 +6035,7 @@ void Camera_Update(Player* player) {
}
break;
case LEVELMODE_ALL_RANGE:
Camera_Update360(player, 0);
Camera_Update360(player, false);
break;
case LEVELMODE_UNK_2:
Turret_UpdateCamera(player);
@@ -6040,7 +6044,7 @@ void Camera_Update(Player* player) {
break;
case PLAYERSTATE_1C8_U_TURN:
player->camRoll -= player->camRoll * 0.1f;
Camera_Update360(player, 0);
Camera_Update360(player, false);
break;
case PLAYERSTATE_1C8_DOWN:
if ((gLevelMode == LEVELMODE_ON_RAILS) && (player->form == FORM_ARWING)) {
@@ -6158,7 +6162,7 @@ void Play_UpdateLevel(void) {
switch (gCurrentLevel) {
case LEVEL_TRAINING:
if (gLevelMode == LEVELMODE_ALL_RANGE) {
Training_8019949C();
Training_SpawnEnemies();
}
break;
case LEVEL_VERSUS:
@@ -6183,7 +6187,7 @@ void Play_UpdateLevel(void) {
gPlayer[0].csState = 0;
gPlayer[0].draw = true;
gPlayer[0].pos.z = 15000.0f;
Camera_Update360(gPlayer, 1);
Camera_Update360(gPlayer, true);
gFillScreenAlpha = 255;
gFillScreenAlphaStep = 255;
gFillScreenAlphaTarget = 255;
@@ -6436,7 +6440,7 @@ void Play_Main(void) {
gPlayer[0].zPath = gPlayer[0].zPathVel = gPathVelZ = gPathProgress = 0.0f;
}
if (gPlayState != PLAY_PAUSE) {
(void) "play_time = %d\n";
PRINTF("play_time = %d\n");
gGameFrameCount++;
}
switch (gPlayState) {
@@ -6475,7 +6479,7 @@ void Play_Main(void) {
gCamCount = 1;
gBgColor = 0;
gCsFrameCount = gLevelClearScreenTimer = gLevelStartStatusScreenTimer = gRadioState = 0;
D_ctx_8017782C = 0;
D_ctx_8017782C = false;
}
if (gVersusMode) {
Versus_Main();
+2
View File
@@ -33,11 +33,13 @@ void Graphics_NMIWipe(void) {
if (sWipeBarLength == 0) {
AudioThread_PreNMIReset();
}
sWipeBarLength += SCREEN_WIDTH / 7;
if (sWipeBarLength >= SCREEN_WIDTH * 85 / 8 / 7) { // Why 85 / 8 == 3400 / 320 == 10.625? Has to do with NMI timing?
osViBlack(true);
gStopTasks = true;
}
for (i = 0; i < MAXCONTROLLERS; i++) {
gControllerRumbleEnabled[i] = 0;
gControllerRumbleFlags[i] = 0;
+5 -4
View File
@@ -65,7 +65,7 @@ s32 Save_Read(void) {
gSaveFile = gSaveIOBuffer;
if (gSaveFile.save.checksum == Save_Checksum(&gSaveFile.save)) {
(void) "EEPROM ROM[0] 正常\n";
PRINTF("EEPROM ROM[0] 正常\n");
return 0;
}
#ifdef AVOID_UB
@@ -78,9 +78,10 @@ s32 Save_Read(void) {
gSaveFile.save.checksum = gSaveFile.backup.checksum;
if (gSaveFile.save.checksum == Save_Checksum(&gSaveFile.save)) {
(void) "EEPROM ROM[1 正常\n";
PRINTF("EEPROM ROM[1 正常\n");
return 0;
} else {
PRINTF("EEPROM ROM[0] & ROM[1] 異常\n");
return -1;
}
(void) "EEPROM ROM[0] & ROM[1] 異常\n";
return -1;
}
+6 -6
View File
@@ -537,7 +537,7 @@ void func_tank_80045130(Player* player) {
}
void func_tank_80045348(Player* player) {
f32 sp44 = 15.0f;
f32 baseSpeedTarget = 15.0f;
f32 sp40 = 0;
f32 sp3C = 0.1f;
f32 sp38 = 3.5f;
@@ -555,7 +555,7 @@ void func_tank_80045348(Player* player) {
} else {
player->unk_190 = 2.0f;
}
sp44 = 25.0f;
baseSpeedTarget = 25.0f;
sp40 = -200.0f;
sp3C = 0.2f;
sp38 = 6.0f;
@@ -571,7 +571,7 @@ void func_tank_80045348(Player* player) {
}
if ((gBrakeButton[player->num] & gInputHold->button) && !player->boostCooldown && !sp2E) {
D_800C9F14++;
sp44 = 5.0f;
baseSpeedTarget = 5.0f;
sp40 = 100.0f;
sp3C = 0.2f;
D_800C9F28 += 1.0f;
@@ -579,7 +579,7 @@ void func_tank_80045348(Player* player) {
} else {
D_800C9F28 = 0.0f;
}
Math_SmoothStepToF(&player->baseSpeed, sp44, sp3C, sp38, 0.001f);
Math_SmoothStepToF(&player->baseSpeed, baseSpeedTarget, sp3C, sp38, 0.001f);
Math_SmoothStepToF(&player->camDist, sp40, sp3C, sp38, 0.001f);
} else if (player->unk_19C == -1) {
Math_SmoothStepToF(&player->baseSpeed, player->unk_000, 0.1f, 2.0f, 0.01f);
@@ -1351,7 +1351,7 @@ void func_tank_800481F4(Player* player) {
(scenery->obj.id != OBJ_SCENERY_73) && (scenery->obj.id != OBJ_SCENERY_74) &&
(scenery->obj.id != OBJ_SCENERY_69) && ((player->trueZpos - 2000.0f) < scenery->obj.pos.z)) {
var_fv1 = scenery->obj.rot.y;
if (scenery->info.action == (ObjectFunc) func_enmy_80066EA8) {
if (scenery->info.action == (ObjectFunc) SceneryRotateTowardsCamera) {
var_fv1 = 0.0f;
}
temp_v0 = Player_CheckHitboxCollision(player, scenery->info.hitbox, &sp98, scenery->obj.pos.x,
@@ -1463,7 +1463,7 @@ void func_tank_800481F4(Player* player) {
actor->obj.rot.y, actor->obj.rot.z, 0.0f, 0.0f, 0.0f);
if (temp_v0 != 0) {
actor->dmgType = DMG_COLLISION;
if ((actor->obj.id == OBJ_ACTOR_225) || (actor->obj.id == OBJ_ACTOR_190)) {
if ((actor->obj.id == OBJ_ACTOR_225) || (actor->obj.id == OBJ_MISSILE_SEEK_TEAM)) {
actor->dmgType = -1;
}
if (actor->info.damage) {
+1 -1
View File
@@ -1953,7 +1953,7 @@ void func_versus_800C26C8(void) {
actor->obj.pos.x = dest.x;
actor->obj.pos.y = dest.y;
actor->obj.pos.z = dest.z;
actor->aiType = i + AI360_10;
actor->aiType = i + AI360_ENEMY;
actor->health = 24;
actor->timer_0C2 = 30;