Partner Script Disassembly (#577)

* frogress

* kooper data

* More Work

* Bombette, Sushi, Parakarry Scripts

* Finish wPartners work.

* Partner BSS
This commit is contained in:
JoshDuMan 2021-12-28 07:44:31 -05:00 committed by GitHub
parent 15b6cb398c
commit 69e1a012bd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
30 changed files with 612 additions and 542 deletions

View File

@ -369,12 +369,6 @@ extern s32 D_8029FBD0;
extern s32 D_800F7BE8[];
extern s32 D_800F7BBC[];
//partner temporary space
extern unkPartnerStruct D_802BE940;
extern unkPartnerStruct D_802BDF40;
extern unkPartnerStruct D_802BD600;
extern unkPartnerStruct D_802BFF30;
//various
extern s32 D_802C05CC;

View File

@ -1,17 +1,16 @@
#include "common.h"
#include "../src/world/partners.h"
extern s32 D_802BE934;
extern s32 D_802BE92C;
extern s32 D_802BE928;
extern s32 D_802BE924;
extern s32 D_802BE920;
extern unkPartnerStruct* D_802BE89C_3195EC;
BSS s32 D_802BE920;
BSS s32 D_802BE924;
BSS s32 D_802BE928;
BSS s32 D_802BE92C;
BSS s32 D_802BE930;
BSS s32 D_802BE934;
BSS s32 D_802BE938;
BSS s32 D_802BE93C;
BSS unkPartnerStruct D_802BE940;
ApiStatus func_802BD338_318088(Evt* evt, s32 arg1);
ApiStatus func_802BD758_3184A8(Evt* evt, s32 isInitialCall);
ApiStatus func_802BE4E8_319238(Evt* script, s32 isInitialCall);
ApiStatus func_802BD300_318050(Evt* script, s32 isInitialCall);
void entity_interacts_with_current_partner(s32 arg0);
void func_802BD100_317E50(Npc* npc) {
@ -57,7 +56,7 @@ void func_802BD100_317E50(Npc* npc) {
}
}
void func_802BD2D8_318028(Npc* bombette) {
void world_bombette_init(Npc* bombette) {
bombette->collisionHeight = 28;
bombette->collisionRadius = 24;
D_802BE928 = 0;
@ -74,6 +73,14 @@ ApiStatus func_802BD300_318050(Evt* script, s32 isInitialCall) {
return partner_get_out(bombette) ? ApiStatus_DONE1 : ApiStatus_BLOCK;
}
EvtSource world_bombette_take_out = {
EVT_CALL(func_802BD300_318050)
EVT_RETURN
EVT_END
};
unkPartnerStruct* D_802BE89C_3195EC = &D_802BE940;
ApiStatus func_802BD338_318088(Evt* script, s32 isInitialCall) {
PlayerData* playerData = &gPlayerData;
Npc* bombette = script->owner2.npc;
@ -158,6 +165,12 @@ ApiStatus func_802BD338_318088(Evt* script, s32 isInitialCall) {
return ApiStatus_BLOCK;
}
EvtSource world_bombette_update = {
EVT_CALL(func_802BD338_318088)
EVT_RETURN
EVT_END
};
void func_802BD6DC_31842C(Npc* npc) {
if (D_8010C954 != NULL) {
D_8010C954 = NULL;
@ -167,7 +180,7 @@ void func_802BD6DC_31842C(Npc* npc) {
}
}
s32 func_802BD720_318470(void) {
s32 world_bombette_can_use_ability(void) {
if (gPartnerActionStatus.actionState.b[0] != 0) {
D_802BE934 = 1;
return FALSE;
@ -175,12 +188,19 @@ s32 func_802BD720_318470(void) {
return TRUE;
}
s32 func_802BD748(void) {
s32 world_bombette_can_player_pause(void) {
return gPartnerActionStatus.actionState.b[0] == 0;
}
ApiStatus func_802BD758_3184A8(Evt* evt, s32 isInitialCall);
INCLUDE_ASM(s32, "world/partner/bombette", func_802BD758_3184A8);
EvtSource world_bombette_use_ability = {
EVT_CALL(func_802BD758_3184A8)
EVT_RETURN
EVT_END
};
ApiStatus func_802BE4E8_319238(Evt* script, s32 isInitialCall) {
Npc* bombette = script->owner2.npc;
@ -191,7 +211,13 @@ ApiStatus func_802BE4E8_319238(Evt* script, s32 isInitialCall) {
return partner_put_away(bombette) ? ApiStatus_DONE1 : ApiStatus_BLOCK;
}
s32 func_802BE520_319270(Npc* bombette, Npc* enemy) {
EvtSource world_bombette_put_away = {
EVT_CALL(func_802BE4E8_319238)
EVT_RETURN
EVT_END
};
s32 world_bombette_test_first_strike(Npc* bombette, Npc* enemy) {
f32 adjustedDistanceX, adjustedDistanceY, adjustedDistanceZ;
f32 temp_f6, temp_f20, npcZPos, bombetteZPos, npcXPos, bombetteXPos;
s32 slippingResult;
@ -240,7 +266,7 @@ s32 func_802BE520_319270(Npc* bombette, Npc* enemy) {
return ret;
}
void func_802BE6E8_319438(Npc* bombette) {
void world_bombette_pre_battle(Npc* bombette) {
PlayerStatus* playerStatus = &gPlayerStatus;
PartnerActionStatus* bombetteActionStatus = &gPartnerActionStatus;
@ -286,29 +312,3 @@ void func_802BE6E8_319438(Npc* bombette) {
}
}
}
EvtSource bombetteGetOut = {
EVT_CALL(func_802BD300_318050)
EVT_RETURN
EVT_END
};
unkPartnerStruct* D_802BE89C_3195EC = &D_802BE940;
EvtSource bombetteUpdate = {
EVT_CALL(func_802BD338_318088)
EVT_RETURN
EVT_END
};
EvtSource bombetteUseAbility = {
EVT_CALL(func_802BD758_3184A8)
EVT_RETURN
EVT_END
};
EvtSource bombettePutAway = {
EVT_CALL(func_802BE4E8_319238)
EVT_RETURN
EVT_END
};

View File

@ -0,0 +1,18 @@
#ifndef _WORLD_BOMBETTE_KOOPER_H_
#define _WORLD_BOMBETTE_KOOPER_H_
#include "common.h"
#include "script_api/map.h"
void world_bombette_init(Npc*);
void world_bombette_test_first_strike(Npc*);
void world_bombette_can_use_ability(void);
s32 world_bombette_can_player_pause(void);
void world_bombette_pre_battle(Npc*);
extern EvtSource world_bombette_take_out;
extern EvtSource world_bombette_update;
extern EvtSource world_bombette_use_ability;
extern EvtSource world_bombette_put_away;
#endif

View File

@ -2,18 +2,17 @@
#include "../partners.h"
#include "npc.h"
extern s32 D_802BE0C0;
extern s32 D_802BE0C4;
extern s32 D_802BE0E4;
extern s32 D_802BE0E8;
extern s32 D_802BE0EC;
extern struct unkPartnerStruct* D_802BDFFC_32494C;
BSS s32 D_802BE0C0;
BSS s32 D_802BE0C4;
BSS unkPartnerStruct D_802BE0C8;
BSS s32 D_802BE0E4;
BSS s32 D_802BE0E8;
BSS s32 D_802BE0EC;
void func_802BDDF0_324740(Npc* partner);
s32 func_802BD540_323E90(void);
void func_802BD100_323A50(Npc* bow) {
void world_bow_init(Npc* bow) {
bow->collisionHeight = 26;
bow->collisionRadius = 24;
bow->renderMode = RENDER_MODE_SURFACE_XLU_LAYER1;
@ -31,6 +30,14 @@ ApiStatus func_802BD130_323A80(Evt* script, s32 isInitialCall) {
return partner_get_out(bow) ? ApiStatus_DONE1 : ApiStatus_BLOCK;
}
EvtSource world_bow_take_out = {
EVT_CALL(func_802BD130_323A80)
EVT_RETURN
EVT_END
};
unkPartnerStruct* D_802BDFFC_32494C = &D_802BE0C8;
ApiStatus func_802BD168_323AB8(Evt* script, s32 isInitialCall) {
PlayerData* playerData = &gPlayerData;
Npc* bow = script->owner2.npc;
@ -110,6 +117,12 @@ ApiStatus func_802BD168_323AB8(Evt* script, s32 isInitialCall) {
return 0;
}
EvtSource world_bow_update = {
EVT_CALL(func_802BD168_323AB8)
EVT_RETURN
EVT_END
};
void func_802BD4FC_323E4C(Npc* bow) {
if (D_8010C954 != NULL) {
D_8010C954 = NULL;
@ -330,6 +343,12 @@ ApiStatus func_802BD694_323FE4(Evt* script, s32 isInitialCall) {
return ApiStatus_BLOCK;
}
EvtSource world_bow_use_ability = {
EVT_CALL(func_802BD694_323FE4)
EVT_RETURN
EVT_END
};
void func_802BDDF0_324740(Npc* bow) {
PlayerStatus* playerStatus = &gPlayerStatus;
PartnerActionStatus* partnerActionStatus = &gPartnerActionStatus;
@ -375,7 +394,13 @@ ApiStatus func_802BDF08_324858(Evt* script, s32 isInitialCall) {
return partner_put_away(bow) ? ApiStatus_DONE1 : ApiStatus_BLOCK;
}
void func_802BDF64_3248B4(Npc* bow) {
EvtSource world_bow_put_away = {
EVT_CALL(func_802BDF08_324858)
EVT_RETURN
EVT_END
};
void world_bow_pre_battle(Npc* bow) {
PartnerActionStatus* partnerActionStatus = &gPartnerActionStatus;
if (D_802BE0C0) {

15
src/world/partner/bow.h Normal file
View File

@ -0,0 +1,15 @@
#ifndef _WORLD_PARTNER_BOW_H_
#define _WORLD_PARTNER_BOW_H_
#include "common.h"
#include "script_api/map.h"
void world_bow_init(Npc*);
void world_bow_pre_battle(Npc*);
extern EvtSource world_bow_take_out;
extern EvtSource world_bow_update;
extern EvtSource world_bow_use_ability;
extern EvtSource world_bow_put_away;
#endif

View File

@ -3,13 +3,27 @@
#include "goombario.h"
#include "../src/world/partners.h"
ApiStatus func_802BD188_3170A8(Evt* script, s32 isInitialCall);
ApiStatus func_802BD1D0_3170F0(Evt* script, s32 isInitialCall);
ApiStatus func_802BD5D8_3174F8(Evt* script, s32 isInitialCall);
ApiStatus func_802BDB30_317A50(Evt* script, s32 isInitialCall);
extern s32 D_802BDF60;
BSS s32 D_802BDF30;
BSS s32 D_802BDF34;
BSS s32 D_802BDF38;
BSS s32 D_802BDF3C;
BSS unkPartnerStruct D_802BDF40;
BSS s32 D_802BDF5C;
BSS s32 D_802BDF60;
BSS s32 D_802BDF64;
extern unkPartnerStruct* D_802BDD88_317CA8;
s32 D_802BDC40_317B60[] = {
0x00000015, 0x001B0000, 0x00000018, 0x001B0000, 0x00000016, 0x001B0001, 0x00000019, 0x001B0001,
0x00000017, 0x001B0003, 0x0000001A, 0x001B0003, 0x0000000D, 0x001B0005, 0x0000000E, 0x001B0005,
0x0000000F, 0x001B0006, 0x00000010, 0x001B0006, 0x0000000B, 0x001B0007, 0x0000000C, 0x001B0008,
0x00000014, 0x001B0009, 0x0000002E, 0x001B000A, 0x0000002F, 0x001B000A, 0x00000007, 0x001B000B,
0x00000008, 0x001B000B, 0x00000009, 0x001B000C, 0x0000000A, 0x001B000E, 0x0000002B, 0x001B0010,
0x00000003, 0x001B0011, 0x00000004, 0x001B0011, 0x00000005, 0x001B0011, 0x00000006, 0x001B0011,
0x00000033, 0x001B0012, 0x00000034, 0x001B0013, 0x00000026, 0x001B0014, 0x00000032, 0x001B0015,
0x00000024, 0x001B0017, 0x00000025, 0x001B001A, 0x00000031, 0x001B001D, 0x00000035, 0x001B001F,
0x00000036, 0x001B0020, 0x00000038, 0x001B0021, 0x00000037, 0x001B0022, 0x0000003A, 0x001B0023,
0x00000039, 0x001B0024, 0xFFFFFFFF
};
s32 func_802BD100_317020(s32 arg0) {
s32 i;
@ -40,6 +54,14 @@ ApiStatus func_802BD188_3170A8(Evt* script, s32 isInitialCall) {
return partner_get_out(goombario) ? ApiStatus_DONE1 : ApiStatus_BLOCK;
}
EvtSource world_goombario_take_out = {
EVT_CALL(func_802BD188_3170A8)
EVT_RETURN
EVT_END
};
unkPartnerStruct* D_802BDD88_317CA8 = &D_802BDF40;
s32 func_802BD1D0_3170F0(Evt* script, s32 isInitialCall) {
PlayerData* playerData = &gPlayerData;
Npc* npc = script->owner2.npc;
@ -123,6 +145,12 @@ s32 func_802BD1D0_3170F0(Evt* script, s32 isInitialCall) {
return 0;
}
EvtSource world_goombario_update = {
EVT_CALL(func_802BD1D0_3170F0)
EVT_RETURN
EVT_END
};
void func_802BD564_317484(Npc* goombario) {
if (D_8010C954) {
D_8010C954 = 0;
@ -150,16 +178,16 @@ s32 world_goombario_can_pause(Npc* goombario) {
// get message for tattle routine
// has big jumptable at rodata 802BDE88
ApiStatus func_802BD5D8_3174F8(Evt* script, s32 isInitialCall);
INCLUDE_ASM(ApiStatus, "world/partner/goombario", func_802BD5D8_3174F8, Evt* script, s32 isInitialCall);
#ifdef NON_EQUIVALENT //something with the symbol is broken
ApiStatus func_802BDB30_317A50(Evt* script, s32 isInitialCall) {
PartnerActionStatus* goombarioActionStatus = &gPartnerActionStatus;
set_time_freeze_mode(0);
if (D_802BDF64_3248B4 != 0) {
D_802BDF64_3248B4 = 0;
if (D_802BDF64 != 0) {
D_802BDF64 = 0;
enable_player_input();
}
@ -167,62 +195,6 @@ ApiStatus func_802BDB30_317A50(Evt* script, s32 isInitialCall) {
goombarioActionStatus->actionState.b[3] = 0;
return ApiStatus_DONE2;
}
#else
INCLUDE_ASM(ApiStatus, "world/partner/goombario", func_802BDB30_317A50, Evt* script, s32 isInitialCall);
#endif
ApiStatus func_802BDB84(Evt* script, s32 isInitialCall) {
Npc* goombario = script->owner2.npc;
if (isInitialCall) {
partner_init_put_away(goombario);
}
return partner_put_away(goombario) ? ApiStatus_DONE1 : ApiStatus_BLOCK;
}
void world_goombario_pre_battle(Npc* goombario) {
PartnerActionStatus* goombarioActionStatus = &gPartnerActionStatus;
if (goombarioActionStatus->actionState.b[0] != 0) {
set_time_freeze_mode(TIME_FREEZE_NORMAL);
enable_player_input();
CancelMessageAndBlock();
partner_clear_player_tracking(goombario);
goombarioActionStatus->actionState.b[0] = 0;
goombarioActionStatus->actionState.b[3] = 0;
disable_npc_blur(goombario);
}
goombarioActionStatus->actionState.b[3] = 1;
}
s32 D_802BDC40_317B60[] = {
0x00000015, 0x001B0000, 0x00000018, 0x001B0000, 0x00000016, 0x001B0001, 0x00000019, 0x001B0001,
0x00000017, 0x001B0003, 0x0000001A, 0x001B0003, 0x0000000D, 0x001B0005, 0x0000000E, 0x001B0005,
0x0000000F, 0x001B0006, 0x00000010, 0x001B0006, 0x0000000B, 0x001B0007, 0x0000000C, 0x001B0008,
0x00000014, 0x001B0009, 0x0000002E, 0x001B000A, 0x0000002F, 0x001B000A, 0x00000007, 0x001B000B,
0x00000008, 0x001B000B, 0x00000009, 0x001B000C, 0x0000000A, 0x001B000E, 0x0000002B, 0x001B0010,
0x00000003, 0x001B0011, 0x00000004, 0x001B0011, 0x00000005, 0x001B0011, 0x00000006, 0x001B0011,
0x00000033, 0x001B0012, 0x00000034, 0x001B0013, 0x00000026, 0x001B0014, 0x00000032, 0x001B0015,
0x00000024, 0x001B0017, 0x00000025, 0x001B001A, 0x00000031, 0x001B001D, 0x00000035, 0x001B001F,
0x00000036, 0x001B0020, 0x00000038, 0x001B0021, 0x00000037, 0x001B0022, 0x0000003A, 0x001B0023,
0x00000039, 0x001B0024, 0xFFFFFFFF
};
EvtSource world_goombario_take_out = {
EVT_CALL(func_802BD188_3170A8)
EVT_RETURN
EVT_END
};
unkPartnerStruct* D_802BDD88_317CA8 = &D_802BDF40;
EvtSource world_goombario_update = {
EVT_CALL(func_802BD1D0_3170F0)
EVT_RETURN
EVT_END
};
EvtSource world_goombario_use_ability = {
EVT_CALL(func_802BD5D8_3174F8)
@ -243,8 +215,34 @@ EvtSource world_goombario_use_ability = {
EVT_END
};
ApiStatus func_802BDB84(Evt* script, s32 isInitialCall) {
Npc* goombario = script->owner2.npc;
if (isInitialCall) {
partner_init_put_away(goombario);
}
return partner_put_away(goombario) ? ApiStatus_DONE1 : ApiStatus_BLOCK;
}
EvtSource world_goombario_put_away = {
EVT_CALL(func_802BDB84)
EVT_RETURN
EVT_END
};
void world_goombario_pre_battle(Npc* goombario) {
PartnerActionStatus* goombarioActionStatus = &gPartnerActionStatus;
if (goombarioActionStatus->actionState.b[0] != 0) {
set_time_freeze_mode(TIME_FREEZE_NORMAL);
enable_player_input();
CancelMessageAndBlock();
partner_clear_player_tracking(goombario);
goombarioActionStatus->actionState.b[0] = 0;
goombarioActionStatus->actionState.b[3] = 0;
disable_npc_blur(goombario);
}
goombarioActionStatus->actionState.b[3] = 1;
}

View File

@ -2,7 +2,6 @@
#include "goompa.h"
#include "../src/world/partners.h"
extern unkPartnerStruct* D_802BD58C_324E9C;
ApiStatus func_802BD14C_324A5C(Evt* script, s32 isInitialCall);
void world_goompa_init(Npc* partner) {
@ -20,6 +19,16 @@ ApiStatus GoompaTakeOut(Evt* script, s32 isInitialCall) {
return partner_get_out(goompa) ? ApiStatus_DONE1 : ApiStatus_BLOCK;
}
EvtSource world_goompa_take_out = {
EVT_CALL(GoompaTakeOut)
EVT_RETURN
EVT_END
};
BSS unkPartnerStruct D_802BD600;
unkPartnerStruct* D_802BD58C_324E9C = &D_802BD600;
ApiStatus func_802BD14C_324A5C(Evt* script, s32 isInitialCall) {
PlayerData* playerData = &gPlayerData;
Npc* goompa = script->owner2.npc;
@ -102,6 +111,12 @@ ApiStatus func_802BD14C_324A5C(Evt* script, s32 isInitialCall) {
return ApiStatus_BLOCK;
}
EvtSource world_goompa_update = {
EVT_CALL(func_802BD14C_324A5C)
EVT_RETURN
EVT_END
};
void func_802BD4E0_324DF0(Npc* goompa) {
if (D_8010C954 != NULL) {
D_8010C954 = NULL;
@ -115,6 +130,12 @@ ApiStatus GoompaUseAbility(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
EvtSource world_goompa_use_ability = {
EVT_CALL(GoompaUseAbility)
EVT_RETURN
EVT_END
};
ApiStatus GoompaPutAway(Evt* script, s32 isInitialCall) {
Npc* goompa = script->owner2.npc;
@ -125,26 +146,6 @@ ApiStatus GoompaPutAway(Evt* script, s32 isInitialCall) {
return partner_put_away(goompa) ? ApiStatus_DONE1 : ApiStatus_BLOCK;
}
EvtSource world_goompa_take_out = {
EVT_CALL(GoompaTakeOut)
EVT_RETURN
EVT_END
};
unkPartnerStruct* D_802BD58C_324E9C = &D_802BD600;
EvtSource world_goompa_update = {
EVT_CALL(func_802BD14C_324A5C)
EVT_RETURN
EVT_END
};
EvtSource world_goompa_use_ability = {
EVT_CALL(GoompaUseAbility)
EVT_RETURN
EVT_END
};
EvtSource world_goompa_put_away = {
EVT_CALL(GoompaPutAway)
EVT_RETURN

View File

@ -1,31 +1,31 @@
#include "common.h"
#include "../src/world/partners.h"
extern s16 D_8010C97A;
s32 entity_interacts_with_current_partner(s32);
s32 test_item_entity_position(f32, f32, f32, f32);
s32 npc_raycast_up_corner(s32 ignoreFlags, f32* x, f32* y, f32* z, f32* length);
s32 npc_raycast_up(s32 ignoreFlags, f32* x, f32* y, f32* z, f32* length);
void start_bounce_b(void);
extern s32 D_802BEB40_31CB60;
extern unkPartnerStruct* D_802BEB60_31CB80;
extern s32 D_802BEC50;
extern s32 D_802BEC54;
extern s32 D_802BEC58;
extern s32 D_802BEC5C;
extern s32 D_802BEC60;
extern s32 D_802BEC64;
extern s32 D_802BEC68;
extern s32 D_802BEC6C;
extern f32 D_802BEC70;
extern f32 D_802BEC74;
extern f32 D_802BEC78;
extern s16 D_8010C97A;
void playFX_18(s32, f32, f32, f32, f32, f32, f32, s32);
void func_801341B0(Npc* npc);
BSS s32 D_802BEC50;
BSS s32 D_802BEC54;
BSS s32 D_802BEC58;
BSS s32 D_802BEC5C;
BSS s32 D_802BEC60;
BSS s32 D_802BEC64;
BSS s32 D_802BEC68;
BSS s32 D_802BEC6C;
BSS f32 D_802BEC70;
BSS f32 D_802BEC74;
BSS f32 D_802BEC78;
BSS s32 D_802BEC7C;
s32 D_802BEB40_31CB60 = 0;
s32 func_802BD100_31B120(Npc* npc) {
if (D_8010C978 < 0) {
return 0;
@ -57,7 +57,7 @@ s32 func_802BD17C_31B19C(Npc* kooper) {
}
}
void func_802BD200_31B220(Npc* kooper) {
void world_kooper_init(Npc* kooper) {
kooper->collisionHeight = 37;
kooper->collisionRadius = 24;
kooper->unk_80 = 0x00010000;
@ -74,6 +74,16 @@ ApiStatus func_802BD228_31B248(Evt* script, s32 isInitialCall) {
return partner_get_out(kooper) ? ApiStatus_DONE1 : ApiStatus_BLOCK;
}
EvtSource world_kooper_take_out = {
EVT_CALL(func_802BD228_31B248)
EVT_RETURN
EVT_END
};
BSS unkPartnerStruct D_802BEC80;
unkPartnerStruct* D_802BEB60_31CB80 = &D_802BEC80;
ApiStatus func_802BD260_31B280(Evt* script, s32 isInitialCall) {
PlayerData* playerData = &gPlayerData;
Entity* entity;
@ -157,6 +167,12 @@ ApiStatus func_802BD260_31B280(Evt* script, s32 isInitialCall) {
return ApiStatus_BLOCK;
}
EvtSource world_kooper_update = {
EVT_CALL(func_802BD260_31B280)
EVT_RETURN
EVT_END
};
void func_802BD5F4_31B614(Npc* kooper) {
if (D_8010C954 != NULL) {
D_8010C954 = NULL;
@ -166,6 +182,7 @@ void func_802BD5F4_31B614(Npc* kooper) {
}
}
ApiStatus func_802BD638_31B658(Evt*, s32);
#ifdef NON_MATCHING
ApiStatus func_802BD638_31B658(Evt* script, s32 isInitialCall) {
Camera* cam;
@ -597,6 +614,12 @@ ApiStatus func_802BD638_31B658(Evt* script, s32 isInitialCall) {
INCLUDE_ASM(s32, "world/partner/kooper", func_802BD638_31B658);
#endif
EvtSource world_kooper_use_ability = {
EVT_CALL(func_802BD638_31B658)
EVT_RETURN
EVT_END
};
ApiStatus func_802BE7E0_31C800(Evt* script, s32 isInitialCall) {
Npc* kooper = script->owner2.npc;
@ -607,8 +630,14 @@ ApiStatus func_802BE7E0_31C800(Evt* script, s32 isInitialCall) {
return partner_put_away(kooper) ? ApiStatus_DONE1 : ApiStatus_BLOCK;
}
EvtSource world_kooper_put_away = {
EVT_CALL(func_802BE7E0_31C800)
EVT_RETURN
EVT_END
};
#ifdef NON_EQUIVALENT
s32 func_802BE818_31C838(Npc* npcKooper, Npc* npc2) {
s32 world_kooper_test_first_strike(Npc* npcKooper, Npc* npc2) {
f32 npcKooperXTemp, npcKooperYTemp, npcKooperZTemp;
f32 npcX, npcY, npcZ;
f32 npcKooperX, npcKooperY, npcKooperZ;
@ -661,10 +690,10 @@ s32 func_802BE818_31C838(Npc* npcKooper, Npc* npc2) {
return 0;
}
#else
INCLUDE_ASM(s32, "world/partner/kooper", func_802BE818_31C838);
INCLUDE_ASM(s32, "world/partner/kooper", world_kooper_test_first_strike);
#endif
void func_802BEA24_31CA44(Npc* kooper) {
void world_kooper_pre_battle(Npc* kooper) {
PlayerStatus* playerStatus = &gPlayerStatus;
PartnerActionStatus* kooperActionStatus = &gPartnerActionStatus;
D_802BEC54 = 0;
@ -696,7 +725,7 @@ void func_802BEA24_31CA44(Npc* kooper) {
}
}
void func_802BEB10_31CB30(Npc* npc) {
void world_kooper_post_battle(Npc* npc) {
if (D_802BEC54) {
partner_clear_player_tracking(npc);
partner_use_ability();

View File

@ -4,6 +4,14 @@
#include "common.h"
#include "script_api/map.h"
// TODO
void world_kooper_init(Npc*);
void world_kooper_test_first_strike(Npc*);
void world_kooper_pre_battle(Npc*);
void world_kooper_post_battle(Npc*);
extern EvtSource world_kooper_take_out;
extern EvtSource world_kooper_update;
extern EvtSource world_kooper_use_ability;
extern EvtSource world_kooper_put_away;
#endif

View File

@ -2,30 +2,26 @@
#include "../partners.h"
#include "effects.h"
extern unkPartnerStruct* D_802BFE7C_3239CC;
extern f64 D_802BFEF0;
extern s32 D_802BFF00;
extern s32 D_802BFF04;
extern s32 D_802BFF08;
extern s32 D_802BFF0C;
extern s32 D_802BFF10;
extern s32 D_802BFF14;
extern s32 D_802BFF18;
extern s32 D_802BFF1C;
extern s32 D_802BFF20;
extern s32 D_802BFF24;
extern f32 D_802BFF28;
extern s16 D_8010C97A;
s32 func_802BD7DC(void);
BSS s32 D_802BFF00;
BSS s32 D_802BFF04;
BSS s32 D_802BFF08;
BSS s32 D_802BFF0C;
BSS s32 D_802BFF10;
BSS s32 D_802BFF14;
BSS s32 D_802BFF18;
BSS s32 D_802BFF1C;
BSS s32 D_802BFF20;
BSS s32 D_802BFF24;
BSS f32 D_802BFF28;
BSS s32 D_802BFF2C;
BSS unkPartnerStruct D_802BFF30;
f32 get_player_normal_pitch(void);
void partner_kill_ability_script(void);
f64 fabs(f64 val);
extern f64 D_802BFEF8;
void func_802BD100_320C50(void) {
PlayerStatus* playerStatus = &gPlayerStatus;
Npc* lakilester = get_npc_unsafe(NPC_PARTNER);
@ -52,7 +48,7 @@ void func_802BD100_320C50(void) {
add_vec2D_polar(&playerStatus->position.x, &playerStatus->position.z, 2.0f, currentCamera->currentYaw);
}
void func_802BD21C_320D6C(Npc* npc) {
void world_lakilester_init(Npc* npc) {
npc->collisionHeight = 38;
npc->collisionRadius = 36;
npc->unk_80 = 0x10000;
@ -80,6 +76,14 @@ ApiStatus func_802BD29C_320DEC(Evt* script, s32 isInitialCall) {
return partner_get_out(lakilester) ? ApiStatus_DONE1 : ApiStatus_BLOCK;
}
EvtSource world_lakilester_take_out = {
EVT_CALL(func_802BD29C_320DEC)
EVT_RETURN
EVT_END
};
unkPartnerStruct* D_802BFE7C_3239CC = &D_802BFF30;
ApiStatus func_802BD2D4_320E24(Evt* script, s32 isInitialCall) {
PlayerData* playerData = &gPlayerData;
Npc* lakilester = script->owner2.npc;
@ -164,14 +168,17 @@ ApiStatus func_802BD2D4_320E24(Evt* script, s32 isInitialCall) {
return ApiStatus_BLOCK;
}
void func_802BD678_3211C8(Npc* npc) {
unkPartnerStruct* temp_v1;
EvtSource world_lakilester_update = {
EVT_CALL(func_802BD2D4_320E24)
EVT_RETURN
EVT_END
};
void func_802BD678_3211C8(Npc* npc) {
if (D_8010C954 != NULL) {
temp_v1 = D_802BFE7C_3239CC;
D_8010C954 = NULL;
npc->flags = temp_v1->flags;
temp_v1->unk_04 = 0;
npc->flags = D_802BFE7C_3239CC->flags;
D_802BFE7C_3239CC->unk_04 = 0;
partner_clear_player_tracking(npc);
}
}
@ -543,6 +550,12 @@ s32 func_802BE6A0_3221F0(f32* arg0) {
ApiStatus func_802BE724_322274(Evt* script, s32 isInitialCall);
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BE724_322274);
EvtSource world_lakilester_use_ability = {
EVT_CALL(func_802BE724_322274)
EVT_RETURN
EVT_END
};
ApiStatus func_802BF4F0_323040(Evt* script, s32 isInitialCall) {
PlayerStatus* playerStatus = &gPlayerStatus;
PartnerActionStatus* partnerActionStatus = &gPartnerActionStatus;
@ -675,7 +688,13 @@ ApiStatus func_802BF4F0_323040(Evt* script, s32 isInitialCall) {
return ApiStatus_BLOCK;
}
void func_802BFA00_323550(Npc* npc) {
EvtSource world_lakilester_put_away = {
EVT_CALL(func_802BF4F0_323040)
EVT_RETURN
EVT_END
};
void world_lakilester_pre_battle(Npc* npc) {
PartnerActionStatus* partnerActionStatus = &gPartnerActionStatus;
if (D_802BFF0C) {
@ -691,7 +710,7 @@ void func_802BFA00_323550(Npc* npc) {
D_802BFF18 = 0;
}
void func_802BFAA8_3235F8(Npc* npc) {
void world_lakilester_post_battle(Npc* npc) {
PartnerActionStatus* partnerActionStatus = &gPartnerActionStatus;
if (partnerActionStatus->actionState.b[1] != 0) {
@ -802,34 +821,7 @@ s32 func_802BFBA0_3236F0(Evt* script, s32 isInitialCall) {
return ApiStatus_BLOCK;
}
//data
EvtSource D_802BFE60_3239B0 = {
EVT_CALL(func_802BD29C_320DEC)
EVT_RETURN
EVT_END
};
unkPartnerStruct* D_802BFE7C_3239CC = &D_802BFF30;
EvtSource D_802BFE7C_3239D0 = {
EVT_CALL(func_802BD2D4_320E24)
EVT_RETURN
EVT_END
};
EvtSource D_802BFE98_323A08 = {
EVT_CALL(func_802BE724_322274)
EVT_RETURN
EVT_END
};
EvtSource D_802BFEB4_323A24 = {
EVT_CALL(func_802BF4F0_323040)
EVT_RETURN
EVT_END
};
EvtSource D_802BFED0_323A40 = {
EvtSource world_lakilester_while_riding = {
EVT_CALL(func_802BFBA0_3236F0)
EVT_RETURN
EVT_END

View File

@ -0,0 +1,17 @@
#ifndef _WORLD_PARTNER_LAKILESTER_H_
#define _WORLD_PARTNER_LAKILESTER_H_
#include "common.h"
#include "script_api/map.h"
void world_lakilester_init(Npc*);
void world_lakilester_pre_battle(Npc*);
void world_lakilester_post_battle(Npc*);
extern EvtSource world_lakilester_take_out;
extern EvtSource world_lakilester_update;
extern EvtSource world_lakilester_use_ability;
extern EvtSource world_lakilester_put_away;
extern EvtSource world_lakilester_while_riding;
#endif

View File

@ -1,17 +1,15 @@
#include "common.h"
#include "../src/world/partners.h"
extern struct unkPartnerStruct* D_802BEAAC_31B01C;
extern s32 D_802BEBC0_31CBE0;
BSS s32 D_802BEBB0;
BSS s32 D_802BEBB4;
BSS s32 D_802BEBB8;
BSS s32 D_802BEBBC;
BSS s32 D_802BEBC0_31CBE0;
BSS s32 D_802BEBC4;
BSS unkPartnerStruct D_802BEBC8;
extern s32 D_802BEBB0;
extern s32 D_802BEBB4;
extern s32 D_802BEBB8;
extern s32 D_802BEBBC;
extern s32 D_802BEBC4;
void func_802BD100_319670(Npc* parakarry) {
void world_parakarry_init(Npc* parakarry) {
parakarry->collisionHeight = 37;
parakarry->collisionRadius = 40;
D_802BEBB0 = 0;
@ -32,6 +30,14 @@ ApiStatus func_802BD148_3196B8(Evt* script, s32 isInitialCall) {
return partner_get_out(parakarry) ? ApiStatus_DONE1 : ApiStatus_BLOCK;
}
EvtSource world_parakarry_take_out = {
EVT_CALL(func_802BD148_3196B8)
EVT_RETURN
EVT_END
};
unkPartnerStruct* D_802BEAAC_31B01C = &D_802BEBC8;
ApiStatus func_802BD180_3196F0(Evt* script, s32 isInitialCall) {
PlayerData* playerData = &gPlayerData;
Entity* entity;
@ -115,6 +121,12 @@ ApiStatus func_802BD180_3196F0(Evt* script, s32 isInitialCall) {
return ApiStatus_BLOCK;
}
EvtSource world_parakarry_update = {
EVT_CALL(func_802BD180_3196F0)
EVT_RETURN
EVT_END
};
void func_802BD514_319A84(Npc* parakarry) {
if (D_8010C954) {
D_8010C954 = 0;
@ -146,8 +158,15 @@ s32 func_802BD558_319AC8(void) {
return raycastResult;
}
s32 func_802BD660_319BD0(void);
INCLUDE_ASM(s32, "world/partner/parakarry", func_802BD660_319BD0);
EvtSource world_parakarry_use_ability = {
EVT_CALL(func_802BD660_319BD0)
EVT_RETURN
EVT_END
};
ApiStatus func_802BE8D4_31AE44(Evt* script, s32 isInitialCall) {
Npc* parakarry = script->owner2.npc;
@ -158,7 +177,13 @@ ApiStatus func_802BE8D4_31AE44(Evt* script, s32 isInitialCall) {
return partner_put_away(parakarry) ? ApiStatus_DONE1 : ApiStatus_BLOCK;
}
void func_802BE90C_31AE7C(Npc* parakarry) {
EvtSource world_parakarry_put_away = {
EVT_CALL(func_802BE8D4_31AE44)
EVT_RETURN
EVT_END
};
void world_parakarry_pre_battle(Npc* parakarry) {
PartnerActionStatus* parakarryActionStatus = &gPartnerActionStatus;
if (D_802BEBB0) {
@ -179,7 +204,7 @@ void func_802BE90C_31AE7C(Npc* parakarry) {
parakarryActionStatus->actionState.b[3] = 4;
}
void func_802BE9D0_31AF40(Npc* parakarry) {
void world_parakarry_post_battle(Npc* parakarry) {
PartnerActionStatus* parakarryActionStatus = &gPartnerActionStatus;
if (parakarryActionStatus->actionState.b[1] != 0) {

View File

@ -0,0 +1,16 @@
#ifndef _WORLD_PARTNER_PARAKARRY_H_
#define _WORLD_PARTNER_PARAKARRY_H_
#include "common.h"
#include "script_api/map.h"
void world_parakarry_init(Npc*);
void world_parakarry_pre_battle(Npc*);
void world_parakarry_post_battle(Npc*);
extern EvtSource world_parakarry_take_out;
extern EvtSource world_parakarry_update;
extern EvtSource world_parakarry_use_ability;
extern EvtSource world_parakarry_put_away;
#endif

View File

@ -3,20 +3,30 @@
#include "npc.h"
#include "effects.h"
extern unkPartnerStruct* D_802BFDF8_320B68;
extern s32 D_802BFEEC;
extern f32 D_802BFEE0;
void func_802BD368_31E0D8(s32, f32, f32, f32, f32, f32);
void partner_kill_ability_script(void);
extern s32 bss_802BFEE4;
extern s32 bss_802BFEE8;
extern s32 bss_802BFEF0;
extern s32 bss_802BFEF4;
extern f32 bss_802BFEFC;
extern f32 D_802BFDB0_320B20;
extern f32 D_802BFDB4_320B24;
extern s16 D_8010C97A;
void partner_kill_ability_script(void);
BSS f32 D_802BFEE0;
BSS s32 bss_802BFEE4;
BSS s32 bss_802BFEE8;
BSS s32 D_802BFEEC;
BSS s32 bss_802BFEF0;
BSS s32 bss_802BFEF4;
BSS s32 D_802BFEF8;
BSS f32 bss_802BFEFC;
BSS s32 bss_802BFF00;
BSS s32 bss_802BFF04;
BSS s32 bss_802BFF08;
BSS s32 bss_802BFF0C;
BSS unkPartnerStruct D_802BFF10_320C80;
f32 D_802BFDB0_320B20 = 0.0f;
f32 D_802BFDB4_320B24 = 0.0f;
f32 D_802BFDB8_320B28 = 0.0f;
f32 D_802BFDBC_320B2C = 0.0f;
void func_802BD100_31DE70(void) {
Npc* partnerNPC = get_npc_unsafe(NPC_PARTNER);
@ -99,9 +109,16 @@ s32 func_802BE280_31EFF0(s32 arg0, f32* arg1, f32* arg2, f32* arg3, f32 arg4, f3
return colliderRayResult;
}
void func_802BE3A4_31F114(Npc*);
INCLUDE_ASM(s32, "world/partner/sushie", func_802BE3A4_31F114);
void func_802BF520_320290(Npc* sushie) {
EvtSource world_sushie_use_ability = {
EVT_CALL(func_802BE3A4_31F114)
EVT_RETURN
EVT_END
};
void world_sushie_init(Npc* sushie) {
sushie->collisionHeight = 24;
sushie->collisionRadius = 36;
sushie->unk_80 = 0x10000;
@ -122,6 +139,14 @@ s32 func_802BF568_3202D8(Evt* script, s32 isInitialCall) {
return partner_get_out(sushie) ? ApiStatus_DONE1 : ApiStatus_BLOCK;
}
EvtSource world_sushie_take_out = {
EVT_CALL(func_802BF568_3202D8)
EVT_RETURN
EVT_END
};
unkPartnerStruct* D_802BFDF8_320B68 = &D_802BFF10_320C80;
ApiStatus func_802BF5A0_320310(Evt* script, s32 isInitialCall) {
Npc* sushie = script->owner2.npc;
Entity* entity;
@ -203,6 +228,12 @@ ApiStatus func_802BF5A0_320310(Evt* script, s32 isInitialCall) {
return ApiStatus_BLOCK;
}
EvtSource world_sushie_update = {
EVT_CALL(func_802BF5A0_320310)
EVT_RETURN
EVT_END
};
void func_802BF920_320690(Npc* sushie) {
if (D_8010C954 != NULL) {
D_8010C954 = NULL;
@ -223,7 +254,13 @@ s32 func_802BF964_3206D4(Evt* script, s32 isInitialCall) {
return partner_put_away(sushie) ? ApiStatus_DONE1 : ApiStatus_BLOCK;
}
void func_802BF9B8_320728(Npc* sushie) {
EvtSource world_sushie_put_away = {
EVT_CALL(func_802BF964_3206D4)
EVT_RETURN
EVT_END
};
void world_sushie_pre_battle(Npc* sushie) {
PartnerActionStatus* sushieActionStatus = &gPartnerActionStatus;
if (D_802BFEEC) {
@ -238,7 +275,7 @@ void func_802BF9B8_320728(Npc* sushie) {
sushieActionStatus->actionState.b[3] = 7;
}
void func_802BFA58_3207C8(Npc* sushie) {
void world_sushie_post_battle(Npc* sushie) {
PartnerActionStatus* sushieActionStatus = &gPartnerActionStatus;
if (sushieActionStatus->actionState.b[1] != 0) {
@ -324,3 +361,9 @@ s32 func_802BFAB8_320828(Evt* script, s32 isInitialCall) {
return ApiStatus_BLOCK;
}
EvtSource world_sushie_while_riding = {
EVT_CALL(func_802BFAB8_320828)
EVT_RETURN
EVT_END
};

View File

@ -0,0 +1,17 @@
#ifndef _WORLD_PARTNER_SUSHIE_H_
#define _WORLD_PARTNER_SUSHIE_H_
#include "common.h"
#include "script_api/map.h"
void world_sushie_init(Npc*);
void world_sushie_pre_battle(Npc*);
void world_sushie_post_battle(Npc*);
extern EvtSource world_sushie_take_out;
extern EvtSource world_sushie_update;
extern EvtSource world_sushie_use_ability;
extern EvtSource world_sushie_put_away;
extern EvtSource world_sushie_while_riding;
#endif

View File

@ -6,10 +6,6 @@
void force_player_anim(s32 arg0);
void func_802BE070_31DBE0(void);
void partner_kill_ability_script(void);
void func_802BD1AC_31CD1C(s32 arg0);
extern s32 D_802BE278_31DDE8;
extern f64 D_802BE2F0_31DE60;
extern s32 D_802BE250_31DDC0;
typedef struct unk_802BE310_C {
/* 0x00 */ s32 unk_00;
@ -30,12 +26,17 @@ typedef struct unk_802BE310 {
/* 0x0C */ unk_802BE310_C* unk_0C;
} unk_802BE310; //size = 0x10
extern s32 D_802BE300;
extern s32 D_802BE304;
extern s32 D_802BE308;
extern s32 D_802BE30C;
extern unk_802BE310* D_802BE310;
extern unkPartnerStruct* D_802BE274_31DDE4;
BSS s32 D_802BE300;
BSS s32 D_802BE304;
BSS s32 D_802BE308;
BSS s32 D_802BE30C;
BSS unk_802BE310* D_802BE310;
BSS s32 D_802BE314;
BSS unkPartnerStruct D_802BE318;
s32 D_802BE250_31DDC0 = 0x18;
s32 D_802BE254_31DDC4 = 6;
void func_802BD100_31CC70(Npc* npc) {
if (!(npc->flags & NPC_FLAG_2)) {
@ -53,9 +54,10 @@ s32 func_802BD180_31CCF0(void) {
}
}
void func_802BD1AC_31CD1C(s32 arg0);
INCLUDE_ASM(s32, "world/partner/watt", func_802BD1AC_31CD1C);
void func_802BD23C_31CDAC(Npc* npc) {
void world_watt_init(Npc* npc) {
npc->collisionHeight = 24;
npc->collisionRadius = 24;
D_802BE308 = 0;
@ -79,6 +81,16 @@ ApiStatus func_802BD27C_31CDEC(Evt* script, s32 isInitialCall) {
}
}
EvtSource world_watt_take_out = {
EVT_CALL(func_802BD27C_31CDEC)
EVT_RETURN
EVT_END
};
unkPartnerStruct* D_802BE274_31DDE4 = &D_802BE318;
s32 D_802BE278_31DDE8 = 0;
ApiStatus func_802BD2B4_31CE24(Evt* script, s32 isInitialCall) {
PlayerData* playerData = &gPlayerData;
Entity* entity;
@ -157,7 +169,7 @@ ApiStatus func_802BD2B4_31CE24(Evt* script, s32 isInitialCall) {
watt->pos.y += new_var;
watt->renderYaw = clamp_angle(360.0f - D_802BE274_31DDE4->unk_10);
D_802BE274_31DDE4->unk_14 += D_802BE2F0_31DE60;
D_802BE274_31DDE4->unk_14 += 0.8;
if (D_802BE274_31DDE4->unk_14 > 40.0f) {
D_802BE274_31DDE4->unk_14 = 40.0f;
@ -191,6 +203,12 @@ ApiStatus func_802BD2B4_31CE24(Evt* script, s32 isInitialCall) {
return 0;
}
EvtSource world_watt_update = {
EVT_CALL(func_802BD2B4_31CE24)
EVT_RETURN
EVT_END
};
void func_802BD710_31D280(Npc* watt) {
if (D_8010C954 != NULL) {
D_8010C954 = NULL;
@ -200,8 +218,15 @@ void func_802BD710_31D280(Npc* watt) {
}
}
s32 func_802BD754_31D2C4(void);
INCLUDE_ASM(s32, "world/partner/watt", func_802BD754_31D2C4);
EvtSource world_watt_use_ability = {
EVT_CALL(func_802BD754_31D2C4)
EVT_RETURN
EVT_END
};
s32 func_802BDD0C_31D87C(Evt* script, s32 isInitialCall) {
PlayerStatus* playerStatus = &gPlayerStatus;
PartnerActionStatus* wattActionStatus = &gPartnerActionStatus;
@ -224,7 +249,13 @@ s32 func_802BDD0C_31D87C(Evt* script, s32 isInitialCall) {
}
}
void func_802BDD9C_31D90C(Npc* watt) {
EvtSource world_watt_put_away = {
EVT_CALL(func_802BDD0C_31D87C)
EVT_RETURN
EVT_END
};
void world_watt_pre_battle(Npc* watt) {
PartnerActionStatus* wattActionStatus = &gPartnerActionStatus;
if (D_802BE30C != 0) {
@ -236,7 +267,7 @@ void func_802BDD9C_31D90C(Npc* watt) {
func_802BD180_31CCF0();
}
void func_802BDE10_31D980(Npc* watt) {
void world_watt_post_battle(Npc* watt) {
PartnerActionStatus* wattActionStatus = &gPartnerActionStatus;
if (wattActionStatus->actionState.b[1]) {
@ -353,3 +384,9 @@ void func_802BE070_31DBE0(void) {
wPartnerNpc->pos.y = gPlayerStatusPtr->position.y + 5.0f;
}
}
EvtSource world_watt_while_riding = {
EVT_CALL(func_802BDE88_31D9F8)
EVT_RETURN
EVT_END
};

17
src/world/partner/watt.h Normal file
View File

@ -0,0 +1,17 @@
#ifndef _WORLD_PARTNER_WATT_H_
#define _WORLD_PARTNER_WATT_H_
#include "common.h"
#include "script_api/map.h"
void world_watt_init(Npc*);
void world_watt_pre_battle(Npc*);
void world_watt_post_battle(Npc*);
extern EvtSource world_watt_take_out;
extern EvtSource world_watt_update;
extern EvtSource world_watt_use_ability;
extern EvtSource world_watt_put_away;
extern EvtSource world_watt_while_riding;
#endif

View File

@ -9,19 +9,25 @@
#include "partner/kooper.h"
#include "sprite/npc/world_kooper.h"
#include "partner/bombette.h"
#include "sprite/npc/world_bombette.h"
#include "partner/parakarry.h"
#include "sprite/npc/world_parakarry.h"
#include "partner/goompa.h"
#include "sprite/npc/goompa.h"
#include "partner/watt.h"
#include "sprite/npc/world_watt.h"
#include "partner/sushie.h"
#include "sprite/npc/world_sushie.h"
#include "partner/lakilester.h"
#include "sprite/npc/world_lakilester.h"
#include "partner/bow.h"
#include "sprite/npc/world_bow.h"
#include "partner/goombaria.h"
@ -108,17 +114,17 @@ WorldPartner wPartners[12] = {
.dmaEnd = &world_partner_kooper_ROM_END,
.dmaDest = &world_partner_kooper_VRAM,
.isFlying = FALSE,
.init = 0x802BD200,
.takeOut = 0x802BEB44,
.update = 0x802BEB64,
.useAbility = 0x802BEB80,
.putAway = 0x802BEB9C,
.init = world_kooper_init,
.takeOut = world_kooper_take_out,
.update = world_kooper_update,
.useAbility = world_kooper_use_ability,
.putAway = world_kooper_put_away,
.idle = NPC_ANIM_world_kooper_normal_idle,
.testFirstStrike = 0x802BE818,
.testFirstStrike = world_kooper_test_first_strike,
.canUseAbility = partner_is_idle,
.canPlayerPause = partner_is_idle,
.preBattle = 0x802BEA24,
.postBattle = 0x802BEB10,
.preBattle = world_kooper_pre_battle,
.postBattle = world_kooper_post_battle,
},
{
// Bombette
@ -126,16 +132,16 @@ WorldPartner wPartners[12] = {
.dmaEnd = &world_partner_bombette_ROM_END,
.dmaDest = &world_partner_bombette_VRAM,
.isFlying = FALSE,
.init = 0x802BD2D8,
.takeOut = 0x802BE880,
.update = 0x802BE8A0,
.useAbility = 0x802BE8BC,
.putAway = 0x802BE8D8,
.init = world_bombette_init,
.takeOut = world_bombette_take_out,
.update = world_bombette_update,
.useAbility = world_bombette_use_ability,
.putAway = world_bombette_put_away,
.idle = NPC_ANIM_world_bombette_normal_idle,
.testFirstStrike = 0x802BE520,
.canUseAbility = 0x802BD720,
.canPlayerPause = 0x802BD748,
.preBattle = 0x802BE6E8,
.testFirstStrike = world_bombette_test_first_strike,
.canUseAbility = world_bombette_can_use_ability,
.canPlayerPause = world_bombette_can_player_pause,
.preBattle = world_bombette_pre_battle,
},
{
// Parakarry
@ -143,15 +149,15 @@ WorldPartner wPartners[12] = {
.dmaEnd = &world_partner_parakarry_ROM_END,
.dmaDest = &world_partner_parakarry_VRAM,
.isFlying = TRUE,
.init = 0x802BD100,
.takeOut = 0x802BEA90,
.update = 0x802BEAB0,
.useAbility = 0x802BEACC,
.putAway = 0x802BEAE8,
.init = world_parakarry_init,
.takeOut = world_parakarry_take_out,
.update = world_parakarry_update,
.useAbility = world_parakarry_use_ability,
.putAway = world_parakarry_put_away,
.idle = NPC_ANIM_world_parakarry_Palette_00_Anim_1,
.canPlayerPause = partner_is_idle,
.preBattle = 0x802BE90C,
.postBattle = 0x802BE9D0,
.preBattle = world_parakarry_pre_battle,
.postBattle = world_parakarry_post_battle,
},
{
// Goompa
@ -172,16 +178,16 @@ WorldPartner wPartners[12] = {
.dmaEnd = &world_partner_watt_ROM_END,
.dmaDest = &world_partner_watt_VRAM,
.isFlying = TRUE,
.init = 0x802BD23C,
.takeOut = 0x802BE258,
.update = 0x802BE27C,
.useAbility = 0x802BE298,
.putAway = 0x802BE2B4,
.init = world_watt_init,
.takeOut = world_watt_take_out,
.update = world_watt_update,
.useAbility = world_watt_use_ability,
.putAway = world_watt_put_away,
.idle = NPC_ANIM_world_watt_Palette_00_Anim_1,
.canPlayerPause = world_partner_can_player_pause_default,
.preBattle = 0x802BDD9C,
.postBattle = 0x802BDE10,
.whileRiding = 0x802BE2D0,
.preBattle = world_watt_pre_battle,
.postBattle = world_watt_post_battle,
.whileRiding = world_watt_while_riding,
},
{
// Sushie
@ -189,16 +195,16 @@ WorldPartner wPartners[12] = {
.dmaEnd = &world_partner_sushie_ROM_END,
.dmaDest = &world_partner_sushie_VRAM,
.isFlying = FALSE,
.init = 0x802BF520,
.takeOut = 0x802BFDDC,
.update = 0x802BFDFC,
.useAbility = 0x802BFDC0,
.putAway = 0x802BFE18,
.init = world_sushie_init,
.takeOut = world_sushie_take_out,
.update = world_sushie_update,
.useAbility = world_sushie_use_ability,
.putAway = world_sushie_put_away,
.idle = NPC_ANIM_world_sushie_Palette_00_Anim_1,
.canPlayerPause = world_partner_can_player_pause_default,
.preBattle = 0x802BF9B8,
.postBattle = 0x802BFA58,
.whileRiding = 0x802BFE34,
.preBattle = world_sushie_pre_battle,
.postBattle = world_sushie_post_battle,
.whileRiding = world_sushie_while_riding,
},
{
// Lakilester
@ -206,16 +212,16 @@ WorldPartner wPartners[12] = {
.dmaEnd = &world_partner_lakilester_ROM_END,
.dmaDest = &world_partner_lakilester_VRAM,
.isFlying = TRUE,
.init = 0x802BD21C,
.takeOut = 0x802BFE60,
.update = 0x802BFE80,
.useAbility = 0x802BFE9C,
.putAway = 0x802BFEB8,
.init = world_lakilester_init,
.takeOut = world_lakilester_take_out,
.update = world_lakilester_update,
.useAbility = world_lakilester_use_ability,
.putAway = world_lakilester_put_away,
.idle = NPC_ANIM_world_lakilester_Palette_00_Anim_1,
.canPlayerPause = world_partner_can_player_pause_default,
.preBattle = 0x802BFA00,
.postBattle = 0x802BFAA8,
.whileRiding = 0x802BFED4,
.preBattle = world_lakilester_pre_battle,
.postBattle = world_lakilester_post_battle,
.whileRiding = world_lakilester_while_riding,
},
{
// Bow
@ -223,15 +229,15 @@ WorldPartner wPartners[12] = {
.dmaEnd = &world_partner_bow_ROM_END,
.dmaDest = &world_partner_bow_VRAM,
.isFlying = TRUE,
.init = 0x802BD100,
.takeOut = 0x802BDFE0,
.update = 0x802BE000,
.useAbility = 0x802BE01C,
.putAway = 0x802BE038,
.init = world_bow_init,
.takeOut = world_bow_take_out,
.update = world_bow_update,
.useAbility = world_bow_use_ability,
.putAway = world_bow_put_away,
.idle = NPC_ANIM_world_bow_Palette_00_Anim_1,
.canUseAbility = partner_is_idle,
.canPlayerPause = world_partner_can_player_pause_default,
.preBattle = 0x802BDF64,
.preBattle = world_bow_pre_battle,
},
{
// Goombaria

View File

@ -1,9 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_802BEA90_31B000
.word 0x00000043, 0x00000001, func_802BD148_3196B8, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_802BEAAC_31B01C
.word 0x802BEBC8, 0x00000043, 0x00000001, func_802BD180_3196F0, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802BD660_319BD0, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802BE8D4_31AE44, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000

View File

@ -1,9 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_802BEB40_31CB60
.word 0x00000000, 0x00000043, 0x00000001, func_802BD228_31B248, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_802BEB60_31CB80
.word 0x802BEC80, 0x00000043, 0x00000001, func_802BD260_31B280, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802BD638_31B658, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802BE7E0_31C800, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

View File

@ -1,15 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_802BE250_31DDC0
.word 0x00000018, 0x00000006, 0x00000043, 0x00000001, func_802BD27C_31CDEC, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_802BE274_31DDE4
.word 0x802BE318
dlabel D_802BE278_31DDE8
.word 0x00000000, 0x00000043, 0x00000001, func_802BD2B4_31CE24, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802BD754_31D2C4, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802BDD0C_31D87C, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802BDE88_31D9F8, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000
dlabel D_802BE2F0_31DE60
.double 0.8, 0.0

View File

@ -1,18 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_802BFDB0_320B20
.float 0.0
dlabel D_802BFDB4_320B24
.float 0.0
dlabel D_802BFDB8_320B28
.float 0.0
dlabel D_802BFDBC_320B2C
.word 0x00000000, 0x00000043, 0x00000001, func_802BE3A4_31F114, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802BF568_3202D8, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_802BFDF8_320B68
.word D_802BFF10, 0x00000043, 0x00000001, func_802BF5A0_320310, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802BF964_3206D4, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802BFAB8_320828, 0x00000002, 0x00000000, 0x00000001, 0x00000000

View File

@ -1,33 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_802BFE60_3239B0
.word 0x00000043, 0x00000001, func_802BD29C_320DEC, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_802BFE7C_3239CC
.word 0x802BFF30, 0x00000043, 0x00000001, func_802BD2D4_320E24, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802BE724_322274, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802BF4F0_323040, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802BFBA0_3236F0
dlabel D_802BFEE0
.word 0x00000002
dlabel bss_802BFEE4
.word 0x00000000
dlabel bss_802BFEE8
.word 0x00000001
dlabel D_802BFEEC
.word 0x00000000
dlabel bss_802BFEF0
.byte 0x3F, 0xE9, 0x99, 0x99
dlabel bss_802BFEF4
.word 0x9999999A
dlabel D_802BFEF8
.byte 0x3F, 0xFC, 0xCC, 0xCC
dlabel D_802BFEFC
.word 0xCCCCCCCD

View File

@ -1,9 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_802BDFE0_324930
.word 0x00000043, 0x00000001, func_802BD130_323A80, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_802BDFFC_32494C
.word 0x802BE0C8, 0x00000043, 0x00000001, func_802BD168_323AB8, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802BD694_323FE4, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802BDF08_324858, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000

View File

@ -25,8 +25,8 @@ glabel func_802BD5D8_3174F8
/* 31752C 802BD60C 0240202D */ daddu $a0, $s2, $zero
/* 317530 802BD610 3C04802C */ lui $a0, %hi(D_802BDF30)
/* 317534 802BD614 2484DF30 */ addiu $a0, $a0, %lo(D_802BDF30)
/* 317538 802BD618 3C01802C */ lui $at, %hi(func_802BDF64_3248B4)
/* 31753C 802BD61C AC20DF64 */ sw $zero, %lo(func_802BDF64_3248B4)($at)
/* 317538 802BD618 3C01802C */ lui $at, %hi(D_802BDF64)
/* 31753C 802BD61C AC20DF64 */ sw $zero, %lo(D_802BDF64)($at)
/* 317540 802BD620 AC800000 */ sw $zero, ($a0)
/* 317544 802BD624 8E020004 */ lw $v0, 4($s0)
/* 317548 802BD628 3C05802C */ lui $a1, %hi(D_802BDF34)
@ -87,8 +87,8 @@ glabel func_802BD5D8_3174F8
/* 317604 802BD6E4 AE220074 */ sw $v0, 0x74($s1)
/* 317608 802BD6E8 82030015 */ lb $v1, 0x15($s0)
/* 31760C 802BD6EC 8E220070 */ lw $v0, 0x70($s1)
/* 317610 802BD6F0 3C01802C */ lui $at, %hi(func_802BDF64_3248B4)
/* 317614 802BD6F4 AC33DF64 */ sw $s3, %lo(func_802BDF64_3248B4)($at)
/* 317610 802BD6F0 3C01802C */ lui $at, %hi(D_802BDF64)
/* 317614 802BD6F4 AC33DF64 */ sw $s3, %lo(D_802BDF64)($at)
/* 317618 802BD6F8 24420001 */ addiu $v0, $v0, 1
/* 31761C 802BD6FC AE230078 */ sw $v1, 0x78($s1)
/* 317620 802BD700 080AF6A1 */ j .L802BDA84
@ -107,8 +107,8 @@ glabel func_802BD5D8_3174F8
/* 31764C 802BD72C 2402FFFF */ addiu $v0, $zero, -1
/* 317650 802BD730 0C038069 */ jal enable_player_input
/* 317654 802BD734 AE220084 */ sw $v0, 0x84($s1)
/* 317658 802BD738 3C01802C */ lui $at, %hi(func_802BDF64_3248B4)
/* 31765C 802BD73C AC20DF64 */ sw $zero, %lo(func_802BDF64_3248B4)($at)
/* 317658 802BD738 3C01802C */ lui $at, %hi(D_802BDF64)
/* 31765C 802BD73C AC20DF64 */ sw $zero, %lo(D_802BDF64)($at)
/* 317660 802BD740 080AF6C4 */ j .L802BDB10
/* 317664 802BD744 24020002 */ addiu $v0, $zero, 2
.L802BD748:

View File

@ -1,26 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BDB30_317A50
/* 317A50 802BDB30 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 317A54 802BDB34 0000202D */ daddu $a0, $zero, $zero
/* 317A58 802BDB38 AFBF0014 */ sw $ra, 0x14($sp)
/* 317A5C 802BDB3C 0C009C22 */ jal set_time_freeze_mode
/* 317A60 802BDB40 AFB00010 */ sw $s0, 0x10($sp)
/* 317A64 802BDB44 3C03802C */ lui $v1, %hi(func_802BDF64_3248B4)
/* 317A68 802BDB48 2463DF64 */ addiu $v1, $v1, %lo(func_802BDF64_3248B4)
/* 317A6C 802BDB4C 8C620000 */ lw $v0, ($v1)
/* 317A70 802BDB50 3C108011 */ lui $s0, %hi(gPartnerActionStatus)
/* 317A74 802BDB54 2610EBB0 */ addiu $s0, $s0, %lo(gPartnerActionStatus)
/* 317A78 802BDB58 50400004 */ beql $v0, $zero, .L802BDB6C
/* 317A7C 802BDB5C A2000000 */ sb $zero, ($s0)
/* 317A80 802BDB60 0C038069 */ jal enable_player_input
/* 317A84 802BDB64 AC600000 */ sw $zero, ($v1)
/* 317A88 802BDB68 A2000000 */ sb $zero, ($s0)
.L802BDB6C:
/* 317A8C 802BDB6C A2000003 */ sb $zero, 3($s0)
/* 317A90 802BDB70 8FBF0014 */ lw $ra, 0x14($sp)
/* 317A94 802BDB74 8FB00010 */ lw $s0, 0x10($sp)
/* 317A98 802BDB78 24020002 */ addiu $v0, $zero, 2
/* 317A9C 802BDB7C 03E00008 */ jr $ra
/* 317AA0 802BDB80 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -11,7 +11,7 @@ dlabel D_802BEC40_31CC60
.section .text
glabel func_802BE818_31C838
glabel world_kooper_test_first_strike
/* 31C838 802BE818 27BDFF80 */ addiu $sp, $sp, -0x80
/* 31C83C 802BE81C AFB10044 */ sw $s1, 0x44($sp)
/* 31C840 802BE820 3C11802C */ lui $s1, %hi(D_802BEB40_31CB60)

View File

@ -2108,8 +2108,7 @@ segments:
overlay: True
subsegments:
- [0x317020, c, goombario]
- [0x317B60, .data, goombario]
- [0x317DA0]
- [0x317B60]
- type: code
dir: world/partner
name: world_partner_bombette
@ -2127,8 +2126,7 @@ segments:
overlay: True
subsegments:
- [0x319670, c, parakarry]
- [0x31B000, data]
- [0x31B080]
- [0x31B000]
- type: code
dir: world/partner
name: world_partner_kooper
@ -2137,8 +2135,7 @@ segments:
overlay: True
subsegments:
- [0x31B120, c, kooper]
- [0x31CB60, data]
- [0x31CBE0]
- [0x31CB60]
- type: code
dir: world/partner
name: world_partner_watt
@ -2147,7 +2144,7 @@ segments:
overlay: True
subsegments:
- [0x31CC70, c, watt]
- [0x31DDC0, data]
- [0x31DDC0]
- type: code
dir: world/partner
name: world_partner_sushie
@ -2156,8 +2153,7 @@ segments:
overlay: True
subsegments:
- [0x31DE70, c, sushie]
- [0x320B20, data]
- [0x320BC0]
- [0x320B20]
- type: code
dir: world/partner
name: world_partner_lakilester
@ -2166,8 +2162,7 @@ segments:
overlay: True
subsegments:
- [0x320C50, c, lakilester]
- [0x3239B0, .data, lakilester]
- [0x323A40]
- [0x3239B0]
- type: code
dir: world/partner
name: world_partner_bow
@ -2176,8 +2171,7 @@ segments:
overlay: True
subsegments:
- [0x323A50, c, bow]
- [0x324930, data]
- [0x3249B0]
- [0x324930]
- type: code
dir: world/partner
name: world_partner_goompa
@ -2186,8 +2180,7 @@ segments:
overlay: True
subsegments:
- [0x324A10, c, goompa]
- [0x324E80, .data, goompa]
- [0x324F00]
- [0x324E80]
- type: code
dir: world/partner
name: world_partner_goombaria
@ -2196,7 +2189,7 @@ segments:
overlay: True
subsegments:
- [0x324F10, c, goombaria]
- [0x325000, .data, goombaria]
- [0x325000]
- type: code
dir: world/partner
name: world_partner_twink
@ -2205,7 +2198,7 @@ segments:
overlay: True
subsegments:
- [0x325070, c, twink]
- [0x325160, .data, twink]
- [0x325160]
- type: code
start: 0x3251D0
vram: 0x802BD100

View File

@ -4767,25 +4767,25 @@ world_goombario_put_away = 0x802BDE60; // type:data rom:0x317D80
D_802BDE80_317DA0 = 0x802BDE80; // type:data rom:0x317DA0
D_802BDE88_317DA8 = 0x802BDE88; // type:data rom:0x317DA8
func_802BD100_317E50 = 0x802BD100; // type:func rom:0x317E50
func_802BD2D8_318028 = 0x802BD2D8; // type:func rom:0x318028
world_bombette_init = 0x802BD2D8; // type:func rom:0x318028
func_802BD300_318050 = 0x802BD300; // type:func rom:0x318050
func_802BD338_318088 = 0x802BD338; // type:func rom:0x318088
func_802BD6DC_31842C = 0x802BD6DC; // type:func rom:0x31842C
func_802BD720_318470 = 0x802BD720; // type:func rom:0x318470
func_802BD748 = 0x802BD748; // type:func rom:0x318498
world_bombette_can_use_ability = 0x802BD720; // type:func rom:0x318470
world_bombette_can_player_pause = 0x802BD748; // type:func rom:0x318498
func_802BD758_3184A8 = 0x802BD758; // type:func rom:0x3184A8
func_802BE4E8_319238 = 0x802BE4E8; // type:func rom:0x319238
func_802BE520_319270 = 0x802BE520; // type:func rom:0x319270
func_802BE6E8_319438 = 0x802BE6E8; // type:func rom:0x319438
func_802BD100_319670 = 0x802BD100; // type:func rom:0x319670
world_bombette_test_first_strike = 0x802BE520; // type:func rom:0x319270
world_bombette_pre_battle = 0x802BE6E8; // type:func rom:0x319438
world_parakarry_init = 0x802BD100; // type:func rom:0x319670
func_802BD148_3196B8 = 0x802BD148; // type:func rom:0x3196B8
func_802BD180_3196F0 = 0x802BD180; // type:func rom:0x3196F0
func_802BD514_319A84 = 0x802BD514; // type:func rom:0x319A84
func_802BD558_319AC8 = 0x802BD558; // type:func rom:0x319AC8
func_802BD660_319BD0 = 0x802BD660; // type:func rom:0x319BD0
func_802BE8D4_31AE44 = 0x802BE8D4; // type:func rom:0x31AE44
func_802BE90C_31AE7C = 0x802BE90C; // type:func rom:0x31AE7C
func_802BE9D0_31AF40 = 0x802BE9D0; // type:func rom:0x31AF40
world_parakarry_pre_battle = 0x802BE90C; // type:func rom:0x31AE7C
world_parakarry_post_battle = 0x802BE9D0; // type:func rom:0x31AF40
D_802BEB10_31B080 = 0x802BEB10; // type:data rom:0x31B080
D_802BEB98_31B108 = 0x802BEB98; // type:data rom:0x31B108
D_802BEBA0_31B110 = 0x802BEBA0; // type:data rom:0x31B110
@ -4793,15 +4793,15 @@ D_802BEBA8_31B118 = 0x802BEBA8; // type:data rom:0x31B118
func_802BD100_31B120 = 0x802BD100; // type:func rom:0x31B120
func_802BD144_31B164 = 0x802BD144; // type:func rom:0x31B164
func_802BD17C_31B19C = 0x802BD17C; // type:func rom:0x31B19C
func_802BD200_31B220 = 0x802BD200; // type:func rom:0x31B220
world_kooper_init = 0x802BD200; // type:func rom:0x31B220
func_802BD228_31B248 = 0x802BD228; // type:func rom:0x31B248
func_802BD260_31B280 = 0x802BD260; // type:func rom:0x31B280
func_802BD5F4_31B614 = 0x802BD5F4; // type:func rom:0x31B614
func_802BD638_31B658 = 0x802BD638; // type:func rom:0x31B658
func_802BE7E0_31C800 = 0x802BE7E0; // type:func rom:0x31C800
func_802BE818_31C838 = 0x802BE818; // type:func rom:0x31C838
func_802BEA24_31CA44 = 0x802BEA24; // type:func rom:0x31CA44
func_802BEB10_31CB30 = 0x802BEB10; // type:func rom:0x31CB30
world_kooper_test_first_strike = 0x802BE818; // type:func rom:0x31C838
world_kooper_pre_battle = 0x802BEA24; // type:func rom:0x31CA44
world_kooper_post_battle = 0x802BEB10; // type:func rom:0x31CB30
D_802BEBC0_31CBE0 = 0x802BEBC0; // type:data rom:0x31CBE0
D_802BEC18_31CC38 = 0x802BEC18; // type:data rom:0x31CC38
D_802BEC20_31CC40 = 0x802BEC20; // type:data rom:0x31CC40
@ -4812,14 +4812,14 @@ D_802BEC40_31CC60 = 0x802BEC40; // type:data rom:0x31CC60
func_802BD100_31CC70 = 0x802BD100; // type:func rom:0x31CC70
func_802BD180_31CCF0 = 0x802BD180; // type:func rom:0x31CCF0
func_802BD1AC_31CD1C = 0x802BD1AC; // type:func rom:0x31CD1C
func_802BD23C_31CDAC = 0x802BD23C; // type:func rom:0x31CDAC
world_watt_init = 0x802BD23C; // type:func rom:0x31CDAC
func_802BD27C_31CDEC = 0x802BD27C; // type:func rom:0x31CDEC
func_802BD2B4_31CE24 = 0x802BD2B4; // type:func rom:0x31CE24
func_802BD710_31D280 = 0x802BD710; // type:func rom:0x31D280
func_802BD754_31D2C4 = 0x802BD754; // type:func rom:0x31D2C4
func_802BDD0C_31D87C = 0x802BDD0C; // type:func rom:0x31D87C
func_802BDD9C_31D90C = 0x802BDD9C; // type:func rom:0x31D90C
func_802BDE10_31D980 = 0x802BDE10; // type:func rom:0x31D980
world_watt_pre_battle = 0x802BDD9C; // type:func rom:0x31D90C
world_watt_post_battle = 0x802BDE10; // type:func rom:0x31D980
func_802BDE88_31D9F8 = 0x802BDE88; // type:func rom:0x31D9F8
func_802BE014_31DB84 = 0x802BE014; // type:func rom:0x31DB84
func_802BE070_31DBE0 = 0x802BE070; // type:func rom:0x31DBE0
@ -4829,13 +4829,13 @@ func_802BD368_31E0D8 = 0x802BD368; // type:func rom:0x31E0D8
func_802BD414_31E184 = 0x802BD414; // type:func rom:0x31E184
func_802BE280_31EFF0 = 0x802BE280; // type:func rom:0x31EFF0
func_802BE3A4_31F114 = 0x802BE3A4; // type:func rom:0x31F114
func_802BF520_320290 = 0x802BF520; // type:func rom:0x320290
world_sushie_init = 0x802BF520; // type:func rom:0x320290
func_802BF568_3202D8 = 0x802BF568; // type:func rom:0x3202D8
func_802BF5A0_320310 = 0x802BF5A0; // type:func rom:0x320310
func_802BF920_320690 = 0x802BF920; // type:func rom:0x320690
func_802BF964_3206D4 = 0x802BF964; // type:func rom:0x3206D4
func_802BF9B8_320728 = 0x802BF9B8; // type:func rom:0x320728
func_802BFA58_3207C8 = 0x802BFA58; // type:func rom:0x3207C8
world_sushie_pre_battle = 0x802BF9B8; // type:func rom:0x320728
world_sushie_post_battle = 0x802BFA58; // type:func rom:0x3207C8
func_802BFAB8_320828 = 0x802BFAB8; // type:func rom:0x320828
D_802BFE50_320BC0 = 0x802BFE50; // type:data rom:0x320BC0
D_802BFE58_320BC8 = 0x802BFE58; // type:data rom:0x320BC8
@ -4843,7 +4843,7 @@ D_802BFE60_320BD0 = 0x802BFE60; // type:data rom:0x320BD0
D_802BFED0_320C40 = 0x802BFED0; // type:data rom:0x320C40
D_802BFED8_320C48 = 0x802BFED8; // type:data rom:0x320C48
func_802BD100_320C50 = 0x802BD100; // type:func rom:0x320C50
func_802BD21C_320D6C = 0x802BD21C; // type:func rom:0x320D6C
world_lakilester_init = 0x802BD21C; // type:func rom:0x320D6C
func_802BD29C_320DEC = 0x802BD29C; // type:func rom:0x320DEC
func_802BD2D4_320E24 = 0x802BD2D4; // type:func rom:0x320E24
func_802BD678_3211C8 = 0x802BD678; // type:func rom:0x3211C8
@ -4855,11 +4855,11 @@ func_802BDDD8_321928 = 0x802BDDD8; // type:func rom:0x321928
func_802BE6A0_3221F0 = 0x802BE6A0; // type:func rom:0x3221F0
func_802BE724_322274 = 0x802BE724; // type:func rom:0x322274
func_802BF4F0_323040 = 0x802BF4F0; // type:func rom:0x323040
func_802BFA00_323550 = 0x802BFA00; // type:func rom:0x323550
func_802BFAA8_3235F8 = 0x802BFAA8; // type:func rom:0x3235F8
world_lakilester_pre_battle = 0x802BFA00; // type:func rom:0x323550
world_lakilester_post_battle = 0x802BFAA8; // type:func rom:0x3235F8
func_802BFB44_323694 = 0x802BFB44; // type:func rom:0x323694
func_802BFBA0_3236F0 = 0x802BFBA0; // type:func rom:0x3236F0
func_802BD100_323A50 = 0x802BD100; // type:func rom:0x323A50
world_bow_init = 0x802BD100; // type:func rom:0x323A50
func_802BD130_323A80 = 0x802BD130; // type:func rom:0x323A80
func_802BD168_323AB8 = 0x802BD168; // type:func rom:0x323AB8
func_802BD4FC_323E4C = 0x802BD4FC; // type:func rom:0x323E4C
@ -4867,7 +4867,7 @@ func_802BD540_323E90 = 0x802BD540; // type:func rom:0x323E90
func_802BD694_323FE4 = 0x802BD694; // type:func rom:0x323FE4
func_802BDDF0_324740 = 0x802BDDF0; // type:func rom:0x324740
func_802BDF08_324858 = 0x802BDF08; // type:func rom:0x324858
func_802BDF64_3248B4 = 0x802BDF64; // type:func rom:0x3248B4
world_bow_pre_battle = 0x802BDF64; // type:func rom:0x3248B4
D_802BE060_3249B0 = 0x802BE060; // type:data rom:0x3249B0
world_goompa_init = 0x802BD100; // type:func rom:0x324A10
GoompaTakeOut = 0x802BD114; // type:func rom:0x324A24

View File

@ -1121,70 +1121,8 @@ D_802B6EEC = 0x802B6EEC;
D_802B6EF0 = 0x802B6EF0;
D_802B6EF4 = 0x802B6EF4;
mdl_clearRenderTasks = 0x802B7E00;
D_802BD600 = 0x802BD600;
D_802BDF30 = 0x802BDF30;
D_802BDF34 = 0x802BDF34;
D_802BDF38 = 0x802BDF38;
D_802BDF40 = 0x802BDF40;
D_802BDF60 = 0x802BDF60;
D_802BE0C0 = 0x802BE0C0;
D_802BE0C4 = 0x802BE0C4;
D_802BE0E4 = 0x802BE0E4;
D_802BE0E8 = 0x802BE0E8;
D_802BE0EC = 0x802BE0EC;
D_802BE300 = 0x802BE300;
D_802BE304 = 0x802BE304;
D_802BE308 = 0x802BE308;
D_802BE30C = 0x802BE30C;
D_802BE310 = 0x802BE310;
D_802BE920 = 0x802BE920;
D_802BE924 = 0x802BE924;
D_802BE928 = 0x802BE928;
D_802BE92C = 0x802BE92C;
D_802BE930 = 0x802BE930;
D_802BE934 = 0x802BE934;
D_802BE938 = 0x802BE938;
D_802BE940 = 0x802BE940;
D_802BEBB0 = 0x802BEBB0;
D_802BEBB4 = 0x802BEBB4;
D_802BEBB8 = 0x802BEBB8;
D_802BEBBC = 0x802BEBBC;
D_802BEBC4 = 0x802BEBC4;
D_802BEC50 = 0x802BEC50;
D_802BEC54 = 0x802BEC54;
D_802BEC58 = 0x802BEC58;
D_802BEC5C = 0x802BEC5C;
D_802BEC60 = 0x802BEC60;
D_802BEC64 = 0x802BEC64;
D_802BEC68 = 0x802BEC68;
D_802BEC6C = 0x802BEC6C;
D_802BEC70 = 0x802BEC70;
D_802BEC74 = 0x802BEC74;
D_802BEC78 = 0x802BEC78;
D_802BFEEC = 0x802BFEEC;
D_802BFEE0 = 0x802BFEE0;
D_802BFEF0 = 0x802BFEF0;
bss_802BFEE4 = 0x802BFEE4;
bss_802BFEE8 = 0x802BFEE8;
bss_802BFEF0 = 0x802BFEF0;
bss_802BFEF4 = 0x802BFEF4;
bss_802BFEFC = 0x802BFEFC;
D_802BFEF8 = 0x802BFEF8;
D_802BFF00 = 0x802BFF00;
D_802BFF04 = 0x802BFF04;
D_802BFF08 = 0x802BFF08;
D_802BFF0C = 0x802BFF0C;
D_802BFF10 = 0x802BFF10;
D_802BFF14 = 0x802BFF14;
D_802BFF18 = 0x802BFF18;
D_802BFF1C = 0x802BFF1C;
D_802BFF20 = 0x802BFF20;
D_802BFF24 = 0x802BFF24;
D_802BFF28 = 0x802BFF28;
D_802BFF30 = 0x802BFF30;
D_802C0000 = 0x802C0000;
D_802C05CC = 0x802C05CC;
D_802BEBC0_31CBE0 = 0x802BEBC0;
gMapFlags = 0x802DA480;
gMapVars = 0x802DA484;
gNumScripts = 0x802DA488;