From 17437b94bb81f39b76d3f4a4068b9e4881a84aed Mon Sep 17 00:00:00 2001 From: Alex Bates <16batesa@gmail.com> Date: Wed, 23 Dec 2020 12:40:20 +0000 Subject: [PATCH] twink data --- src/world/partner/twink.c | 28 ++++++++++++++++++++++------ src/world/partner/twink.h | 14 ++++++++++++++ src/world/partners.c | 11 ++++++----- tools/splat.yaml | 2 +- 4 files changed, 43 insertions(+), 12 deletions(-) create mode 100644 src/world/partner/twink.h diff --git a/src/world/partner/twink.c b/src/world/partner/twink.c index 6cb17a613a..83e386a59d 100644 --- a/src/world/partner/twink.c +++ b/src/world/partner/twink.c @@ -1,13 +1,13 @@ #include "common.h" #include "../partners.h" +#include "twink.h" -// Init -void func_802BD100_325070(Npc* npc) { +void world_twink_init(Npc* npc) { npc->collisionHeight = 20; npc->collisionRadius = 20; } -ApiStatus func_802BD110(ScriptInstance* script, s32 isInitialCall) { +ApiStatus TwinkTakeOut(ScriptInstance* script, s32 isInitialCall) { Npc* owner = script->owner2.npc; if (isInitialCall) { @@ -16,7 +16,7 @@ ApiStatus func_802BD110(ScriptInstance* script, s32 isInitialCall) { return func_800EECE8(owner) != 0; } -ApiStatus func_802BD148_325070(ScriptInstance* script, s32 isInitialCall) { +ApiStatus TwinkUpdate(ScriptInstance* script, s32 isInitialCall) { PlayerData* playerData = &gPlayerData; Npc* owner = script->owner2.npc; @@ -31,11 +31,11 @@ ApiStatus func_802BD148_325070(ScriptInstance* script, s32 isInitialCall) { return ApiStatus_BLOCK; } -ApiStatus func_802BD1A8(ScriptInstance* script, s32 isInitialCall) { +ApiStatus TwinkUseAbility(ScriptInstance* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus func_802BD1B0(ScriptInstance* script, s32 isInitialCall) { +ApiStatus TwinkPutAway(ScriptInstance* script, s32 isInitialCall) { Npc* owner = script->owner2.npc; if (isInitialCall) { @@ -43,3 +43,19 @@ ApiStatus func_802BD1B0(ScriptInstance* script, s32 isInitialCall) { } return func_800EE9B8(owner) != 0; } + +Script world_twink_take_out = SCRIPT({ + TwinkTakeOut() +}); + +Script world_twink_update = SCRIPT({ + TwinkUpdate() +}); + +Script world_twink_use_ability = SCRIPT({ + TwinkUseAbility() +}); + +Script world_twink_put_away = SCRIPT({ + TwinkPutAway() +}); diff --git a/src/world/partner/twink.h b/src/world/partner/twink.h new file mode 100644 index 0000000000..da1c43833b --- /dev/null +++ b/src/world/partner/twink.h @@ -0,0 +1,14 @@ +#ifndef _WORLD_PARTNER_TWINK_H_ +#define _WORLD_PARTNER_TWINK_H_ + +#include "common.h" +#include "script_api/map.h" + +void world_twink_init(Npc* partner); + +Script world_twink_take_out; +Script world_twink_update; +Script world_twink_use_ability; +Script world_twink_put_away; + +#endif diff --git a/src/world/partners.c b/src/world/partners.c index b8dc71167e..41b34ab939 100644 --- a/src/world/partners.c +++ b/src/world/partners.c @@ -26,6 +26,7 @@ #include "partner/goombaria.h" #include "sprite/npc/goombaria.h" +#include "partner/twink.h" #include "sprite/npc/twink.h" s32 world_partner_can_use_ability_default(Npc* partner); @@ -203,11 +204,11 @@ WorldPartner gWorldPartners[] = { .dmaEnd = &world_partner_twink_ROM_END, .dmaDest = &world_partner_twink_VRAM, .isFlying = TRUE, - .init = 0x802BD100, - .takeOut = 0x802BD1F0, - .update = 0x802BD20C, - .useAbility = 0x802BD228, - .putAway = 0x802BD244, + .init = world_twink_init, + .takeOut = world_twink_take_out, + .update = world_twink_update, + .useAbility = world_twink_use_ability, + .putAway = world_twink_put_away, .idle = NPC_ANIM(twink, Palette_00, Anim_1), .canUseAbility = world_partner_can_use_ability_default, .canPlayerPause = world_partner_can_use_ability_default, diff --git a/tools/splat.yaml b/tools/splat.yaml index f909486592..60c47a45c0 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -484,7 +484,7 @@ segments: vram: 0x802BD100 files: - [0x325070, c, world/partner/twink] - - [0x325160, bin] + - [0x325160, .data, world/partner/twink] - type: code start: 0x3251d0 vram: 0x802BD100