diff --git a/include/enums.h b/include/enums.h index 9313e022..0ac4fe4a 100644 --- a/include/enums.h +++ b/include/enums.h @@ -1681,6 +1681,8 @@ enum actor_e ACTOR_E_BULL_INTRO, ACTOR_F_CHIMPY = 0xF, + ACTOR_10E_BLUBBER_SHIP_TOP_HATCH = 0x10e, + ACTOR_11_JUJU_CTRL = 0x11, ACTOR_12_BEEHIVE, //ACTOR_13_SINKING_BOBBER @@ -2019,7 +2021,12 @@ enum actor_e ACTOR_2A9_ACORN, ACTOR_2DB_DINGPOT = 0x2DB, + ACTOR_2DF_LIGHTHOUSE_B = 0x2df, + ACTOR_2E0_TTC_STAIRS_1 = 0x2e0, + ACTOR_2E1_TTC_STAIRS_2 = 0x2e1, + ACTOR_2E2_LIGHTHOUSE_A = 0x2e2, + ACTOR_2E5_DOOR_OF_GRUNTY = 0x2e5, ACTOR_30D_BOOM_BOX_FAST = 0x30D, @@ -3015,15 +3022,15 @@ enum asset_e // 3b3 Mumbo's Hut // Unused // Unused - // 3b6 TTC Stairs 1 - // 3b7 TTC Stairs 2 + ASSET_3B6_MODEL_TTC_STAIRS_1 = 0x3b6, + ASSET_3B7_MODEL_TTC_STAIRS_1 = 0x3b7, // Unused // Unused // Unused ASSET_3BB_MODEL_JINJO_YELLOW = 0x3BB, ASSET_3BC_MODEL_JINJO_ORANGE, - // 3bd TTC Lighthouse A - // 3be TTC Lighthouse B + ASSET_3BD_MODEL_LIGHTHOUSE_A = 0x3bd, + ASSET_3BE_MODEL_LIGHTHOUSE_B = 0x3be, ASSET_3BF_MODEL_PLAYER_SHADOW = 0x3BF, ASSET_3C0_MODEL_JINJO_BLUE, ASSET_3C1_MODEL_JINJO_PINK, @@ -3043,7 +3050,7 @@ enum asset_e // 3cf MMM Cellar Hatch // 3d0 MMM Locked Gate (Lock On Left) // 3d1 MMM Locked Gate (Lock On Right) 1 - // 3d2 TTC Blubber's Ship Top Hatch + ASSET_3D2_MODEL_BLUBBER_SHIP_TOP_HATCH = 0x3d2, // 3d3 MMM Church Door // 3d4 Lockup ASSET_3D4_MODEL_LOCKUP = 0x3d4, @@ -4536,6 +4543,8 @@ enum marker_e{ MARKER_99_TEEHEE = 0x99, + MARKER_A1_BLUBBER_SHIP_TOP_HATCH = 0xa1, + MARKER_A3_BLUBBER = 0xA3, MARKER_A4_LOCKUP_SLOW, MARKER_A5_NIPPER, @@ -4773,6 +4782,11 @@ enum marker_e{ MARKER_261_FIGHT_FLIGHT_PAD = 0x261, + MARKER_267_LIGHTHOUSE_A = 0x267, + MARKER_268_STAIRS_1 = 0x268, + MARKER_269_STAIRS_2 = 0x269, + MARKER_26A_LIGHTHOUSE_B = 0x26a, + MARKER_276_STONE_JINJO = 0x276, MARKER_27A_JINJO_STATUE_BASE = 0x27A, diff --git a/level_symbols.us.v10.txt b/level_symbols.us.v10.txt index 644876c1..aabae6b5 100644 --- a/level_symbols.us.v10.txt +++ b/level_symbols.us.v10.txt @@ -1,6 +1,6 @@ sm_func_80386810 = 0x80386810; mm_func_803888B0 = 0x803888B0; -ttc_func_80388AC0 = 0x80388AC0; +TTC_resetSpawnableActors = 0x80388AC0; ttc_func_8038BF8C = 0x8038BF8C; cc_func_803870E0 = 0x803870E0; cc_func_80387DA0 = 0x80387DA0; diff --git a/src/TTC/code_26D0.c b/src/TTC/code_26D0.c index f6812396..95e0a70f 100644 --- a/src/TTC/code_26D0.c +++ b/src/TTC/code_26D0.c @@ -8,14 +8,14 @@ extern ActorInfo gChClam; extern ActorInfo gChBlubber; extern ActorInfo gChNipper; -extern ActorInfo D_8038C5E0; -extern ActorInfo D_8038C604; -extern ActorInfo D_8038C628; -extern ActorInfo D_8038C64C; -extern ActorInfo D_8038C670; -extern ActorInfo D_8038C694; -extern ActorInfo D_8038C6B8; -extern ActorInfo D_8038C6DC; +extern ActorInfo gBlubberShipTopHatch; +extern ActorInfo gLighthouseDoor; +extern ActorInfo gSharkfoodIsland; +extern ActorInfo gLighthouseA; +extern ActorInfo gLighthouseB; +extern ActorInfo gStairs1; +extern ActorInfo gStairs2; +extern ActorInfo gPalmTree; extern ActorInfo gChLeaky; extern ActorInfo gChLockupSlow; extern ActorInfo gChLockupMedium; @@ -25,74 +25,74 @@ extern ActorInfo gChTreasurehuntRedQuestionMark; extern ActorInfo gChTreasurehuntRedX; extern ActorInfo gChTreasure; -void TTC_func_80388C78(Actor *this); -void func_80388CB8(Actor *this); -void func_80388D34(Actor *this); +void code26D0_genericUpdateFunc(Actor *this); +void code26D0_palmTreeUpdateFunc(Actor *this); +void code26D0_lighthouseAUpdateFunc(Actor *this); void func_802D3D54(Actor *this); -void func_80388D8C(Actor *this); +void code26D0_sharkfoodIslandUpdateFunc(Actor *this); /* .data */ -ActorInfo D_8038C5E0 = { - 0xA1, 0x10E, 0x3D2, +ActorInfo gBlubberShipTopHatch = { + MARKER_A1_BLUBBER_SHIP_TOP_HATCH, ACTOR_10E_BLUBBER_SHIP_TOP_HATCH, ASSET_3D2_MODEL_BLUBBER_SHIP_TOP_HATCH, 0x1, NULL, func_802D3D54, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; -ActorInfo D_8038C604 = { +ActorInfo gLighthouseDoor = { MARKER_EA_LIGHTHOUSE_DOOR, ACTOR_13E_LIGHTHOUSE_DOOR, ASSET_3D6_MODEL_LIGHTHOUSE_DOOR, 0x1, NULL, func_802D3D54, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; -ActorInfo D_8038C628 = { +ActorInfo gSharkfoodIsland = { MARKER_167_SHARKFOOD_ISLAND, ACTOR_25C_SHARKFOOD_ISLAND, ASSET_50A_MODEL_SHARKFOOD_ISLAND, 0x1, NULL, - func_80388D8C, func_80326224, actor_drawFullDepth, + code26D0_sharkfoodIslandUpdateFunc, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; -ActorInfo D_8038C64C = { - 0x267, 0x2E2, 0x3BD, +ActorInfo gLighthouseA = { + MARKER_267_LIGHTHOUSE_A, ACTOR_2E2_LIGHTHOUSE_A, ASSET_3BD_MODEL_LIGHTHOUSE_A, 0x1, NULL, - func_80388D34, func_80326224, actor_drawFullDepth, + code26D0_lighthouseAUpdateFunc, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; -ActorInfo D_8038C670 = { - 0x26A, 0x2DF, 0x3BE, +ActorInfo gLighthouseB = { + MARKER_26A_LIGHTHOUSE_B, ACTOR_2DF_LIGHTHOUSE_B, ASSET_3BE_MODEL_LIGHTHOUSE_B, 0x1, NULL, - TTC_func_80388C78, func_80326224, actor_drawFullDepth, + code26D0_genericUpdateFunc, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; -ActorInfo D_8038C694 = { - 0x268, 0x2E0, 0x3B6, +ActorInfo gStairs1 = { + MARKER_268_STAIRS_1, ACTOR_2E0_TTC_STAIRS_1, ASSET_3B6_MODEL_TTC_STAIRS_1, 0x1, NULL, - TTC_func_80388C78, func_80326224, actor_drawFullDepth, + code26D0_genericUpdateFunc, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; -ActorInfo D_8038C6B8 = { - 0x269, 0x2E1, 0x3B7, +ActorInfo gStairs2 = { + MARKER_269_STAIRS_2, ACTOR_2E1_TTC_STAIRS_2, ASSET_3B7_MODEL_TTC_STAIRS_1, 0x1, NULL, - TTC_func_80388C78, func_80326224, actor_drawFullDepth, + code26D0_genericUpdateFunc, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; -ActorInfo D_8038C6DC = { +ActorInfo gPalmTree = { MARKER_1D5_PALM_TREE, ACTOR_31E_PALM_TREE, ASSET_3A9_MODEL_PALM_TREE, 0x1, NULL, - func_80388CB8, func_80326224, actor_drawFullDepth, + code26D0_palmTreeUpdateFunc, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; /* .code */ -void TTC_func_80388AC0(void) +void TTC_resetSpawnableActors(void) { - spawnableActorList_add(&D_8038C5E0, actor_new, ACTOR_FLAG_NONE); - spawnableActorList_add(&D_8038C604, actor_new, ACTOR_FLAG_NONE); + spawnableActorList_add(&gBlubberShipTopHatch, actor_new, ACTOR_FLAG_NONE); + spawnableActorList_add(&gLighthouseDoor, actor_new, ACTOR_FLAG_NONE); spawnableActorList_add(&gChNipper, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_5 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_8 | ACTOR_FLAG_UNKNOWN_20 | ACTOR_FLAG_UNKNOWN_26); spawnableActorList_add(&gChBlubber, actor_new, ACTOR_FLAG_UNKNOWN_0 | ACTOR_FLAG_UNKNOWN_8 | ACTOR_FLAG_UNKNOWN_26); spawnableActorList_add(&gChLeaky, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_7 | ACTOR_FLAG_UNKNOWN_8); @@ -103,23 +103,23 @@ void TTC_func_80388AC0(void) spawnableActorList_add(&gChTreasurehuntRedQuestionMark, actor_new, ACTOR_FLAG_UNKNOWN_10); spawnableActorList_add(&gChTreasurehuntRedX, actor_new, ACTOR_FLAG_UNKNOWN_10); spawnableActorList_add(&gChTreasure, actor_new, ACTOR_FLAG_UNKNOWN_3 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_25); - spawnableActorList_add(&D_8038C628, actor_new, ACTOR_FLAG_UNKNOWN_7 | ACTOR_FLAG_UNKNOWN_9 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_15); - spawnableActorList_add(&D_8038C64C, actor_new, ACTOR_FLAG_UNKNOWN_10); - spawnableActorList_add(&D_8038C670, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_17); - spawnableActorList_add(&D_8038C694, actor_new, ACTOR_FLAG_UNKNOWN_10); - spawnableActorList_add(&D_8038C6B8, actor_new, ACTOR_FLAG_UNKNOWN_10); - spawnableActorList_add(&D_8038C6DC, actor_new, ACTOR_FLAG_UNKNOWN_10); + spawnableActorList_add(&gSharkfoodIsland, actor_new, ACTOR_FLAG_UNKNOWN_7 | ACTOR_FLAG_UNKNOWN_9 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_15); + spawnableActorList_add(&gLighthouseA, actor_new, ACTOR_FLAG_UNKNOWN_10); + spawnableActorList_add(&gLighthouseB, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_17); + spawnableActorList_add(&gStairs1, actor_new, ACTOR_FLAG_UNKNOWN_10); + spawnableActorList_add(&gStairs2, actor_new, ACTOR_FLAG_UNKNOWN_10); + spawnableActorList_add(&gPalmTree, actor_new, ACTOR_FLAG_UNKNOWN_10); spawnableActorList_add(&gChClam, actor_new, ACTOR_FLAG_UNKNOWN_0 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_25); } -void TTC_func_80388C78(Actor *this){ +void code26D0_genericUpdateFunc(Actor *this){ if(!this->initialized){ func_802D3D74(this); this->initialized = TRUE; } } -void func_80388CB8(Actor *this){ +void code26D0_palmTreeUpdateFunc(Actor *this){ if(!this->initialized){ func_802D3D74(this); this->initialized = TRUE; @@ -127,22 +127,22 @@ void func_80388CB8(Actor *this){ } } -void func_80388D04(s32 arg0){ +void code26D0_spawnLighthouseB(s32 arg0){ ActorMarker *marker = reinterpret_cast(ActorMarker *, arg0); Actor *this = marker_getActor(marker); - spawn_child_actor(0x2df, &this); + spawn_child_actor(ACTOR_2DF_LIGHTHOUSE_B, &this); } -void func_80388D34(Actor *this){ - TTC_func_80388C78(this); +void code26D0_lighthouseAUpdateFunc(Actor *this){ + code26D0_genericUpdateFunc(this); if(!this->volatile_initialized){ - __spawnQueue_add_1((GenFunction_1)func_80388D04, (s32)this->marker); + __spawnQueue_add_1((GenFunction_1)code26D0_spawnLighthouseB, (s32)this->marker); this->volatile_initialized = TRUE; } } -void func_80388D8C(Actor *this){ - f32 sp1C[3]; +void code26D0_sharkfoodIslandUpdateFunc(Actor *this){ + f32 player_position[3]; if(!this->initialized){ func_802D3CE8(this); @@ -163,12 +163,12 @@ void func_80388D8C(Actor *this){ }//L80388E7C if(this->position_y == 700.0f){ - player_getPosition(sp1C); - if( 695.0f <= sp1C[1] && sp1C[1] < 1000.0f - && (sp1C[0] - 5542.0f)*(sp1C[0] - 5542.0f) + (sp1C[2] - 8687.0f)*(sp1C[2] - 8687.0f) < 96100.0f - && (sp1C[0] - 6837.0f)*(sp1C[0] - 6837.0f) + (sp1C[2] - 12714.0f)*(sp1C[2] - 12714.0f) < 17640000.0f + player_getPosition(player_position); + if( 695.0f <= player_position[1] && player_position[1] < 1000.0f + && (player_position[0] - 5542.0f)*(player_position[0] - 5542.0f) + (player_position[2] - 8687.0f)*(player_position[2] - 8687.0f) < 96100.0f + && (player_position[0] - 6837.0f)*(player_position[0] - 6837.0f) + (player_position[2] - 12714.0f)*(player_position[2] - 12714.0f) < 17640000.0f ){ - func_8031D04C(0x8f, 1); + func_8031D04C(MAP_8F_TTC_SHARKFOOD_ISLAND, 1); } } } diff --git a/src/core2/code_956B0.c b/src/core2/code_956B0.c index 35b85a1c..9c631bd3 100644 --- a/src/core2/code_956B0.c +++ b/src/core2/code_956B0.c @@ -4,14 +4,14 @@ extern void func_8028F3D8(f32 *, f32, void(*)(ActorMarker *), ActorMarker *); extern void func_8028F760(s32, f32, f32); -extern void func_8031CE70(f32 *arg0, s32 arg1, s32 arg2); +extern void func_8031CE70(f32 *arg0, enum map_e arg1, s32 arg2); extern s32 fileProgressFlag_get(s32); extern s32 fileProgressFlag_getN(s32 offset, s32 numBits); extern void func_8031FFAC(void); extern void fileProgressFlag_set(s32 index, s32 set); extern void ml_vec3h_to_vec3f(f32 *, s32); extern NodeProp *func_80304ED0(void*, f32 *); -extern void func_8031CD44(s32, s32, f32, f32, s32); +extern void func_8031CD44(enum map_e, s32, f32, f32, s32); extern void func_80256E24(f32 *, f32, f32, f32, f32, f32); extern void mapSpecificFlags_set(s32, s32); @@ -170,7 +170,7 @@ void func_8031CD20(s32 arg0, s32 arg1, s32 arg2) { func_8031CC8C(arg0, (arg1 << 8) + arg2); } -void func_8031CD44(s32 arg0, s32 arg1, f32 arg2, f32 arg3, s32 arg4) { +void func_8031CD44(enum map_e arg0, s32 arg1, f32 arg2, f32 arg3, s32 arg4) { f32 sp3C[3]; f32 sp30[3]; f32 sp24[3]; @@ -195,7 +195,7 @@ void func_8031CE28(s32 arg0, s32 arg1, f32 arg2) { func_8031CD44(arg0, arg1, vec[1], arg2, 0x25); } -void func_8031CE70(f32 *arg0, s32 arg1, s32 arg2) { +void func_8031CE70(f32 *arg0, enum map_e arg1, s32 arg2) { f32 playerPos[3]; f32 sp38[3]; NodeProp *phi_s0; @@ -231,12 +231,12 @@ void func_8031CE70(f32 *arg0, s32 arg1, s32 arg2) { } } -void func_8031D04C(s32 arg0, s32 arg1) { +void func_8031D04C(enum map_e arg0, s32 arg1) { func_8031CB50(arg0, arg1, 0); } -void func_8031D06C(s32 arg0, s32 arg1) { - func_8031CB50(0x20, 0, 0); +void func_8031D06C(enum map_e arg0, s32 arg1) { + func_8031CB50(MAP_20_CS_END_NOT_100, 0, 0); } void func_8031D09C(s32 arg0, s32 arg1) { @@ -402,7 +402,7 @@ void func_8031D628(s32 arg0, s32 arg1) { if (actor) { marker_despawn(actor->marker); } - func_8031CB50(7, 0xC, 0); + func_8031CB50(MAP_7_TTC_TREASURE_TROVE_COVE, 0xC, 0); } void warp_mmmEnterDiningRoomDoor(s32 arg0, s32 arg1) { @@ -527,7 +527,7 @@ void warp_mmmEnterChurchSecretRoom(s32 arg0, s32 arg1) { func_8031CC8C(arg0, 0x2B01); } -void func_8031DAA8(s32 arg0, s32 arg1) { +void func_8031DAA8(enum map_e arg0, s32 arg1) { func_8028F918(0); func_8031CB50(arg0, arg1, 0); } @@ -560,7 +560,7 @@ void warp_mmmEnterRainBarrel(s32 arg0, s32 arg1) { } void func_8031DBE8(void) { - func_8031CB50(0x2F, 1, 1); + func_8031CB50(MAP_2F_MMM_WATERDRAIN_BARREL, 1, 1); } void func_8031DC10(s32 arg0, s32 arg1) { diff --git a/src/core2/spawnqueue.c b/src/core2/spawnqueue.c index 5adf6112..d225d6bc 100644 --- a/src/core2/spawnqueue.c +++ b/src/core2/spawnqueue.c @@ -374,7 +374,7 @@ void spawnQueue_reset(void){ GV_func_8038F154(); break; case OVERLAY_5_BEACH: - TTC_func_80388AC0(); + TTC_resetSpawnableActors(); break; case OVERLAY_6_JUNGLE: MM_func_803888B0();