diff options
| author | kuchenmitsahne <25233413+kuchenmitsahne@users.noreply.github.com> | 2024-11-26 10:37:21 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-26 08:37:21 -0700 |
| commit | d38ac6a9d32e9b5c0e3caafbfc8d311a0f8f51f4 (patch) | |
| tree | 33ab1b41840e866e8dcb1257a5e871f88893bef1 /src | |
| parent | 0bab7e592c3dcbd4207c2c57c06819ec2b7c1bfa (diff) | |
ac_hanami_npc0 OK (#227)
* Standard actor functions and aHM0_ct_data functions OK
* Add scaffolding to Hanami_Npc0 struct
* func_809DE830_jp OK
* func_809DE434, func_809DE4A0_jp, func_809DE5BC_jp, func_809DE6B4_jp, func_809DE6C8_jp, func_809DE6EC_jp OK
* func_809DE538_jp OK with warnings
* func_809DE538_jp OK
* func_809DE714_jp OK with warnings
* func_809DE7D0_jp OK
* func_809DE8D0 OK
* func_809DE56C_jp OK with warnings
* func_809DE800_jp OK
* func_809DE978_jp OK
* func_809DE948_jp OK
* func_809DE744_jp OK
* func_809DE5DC_jp progress (nonmatching)
* Remove fake symbol D_809DEB1C_jp.
* Prepare for data import
* func_809DE5DC_jp OK, update func_809DE6EC_jp (all functions matching)
* Import data (44 differing words)
* Fix struct_809AEFA4, ac_hanami_npc0 OK
* Rename symbols + initial style pass
* Unify aHM0_*_proc function signatures
* Resolve warnings in aHM0_merry
* Update NPC actor functions + corresponding clip functions to use ActorFunc signature
* Fix aHM0_make_tumbler warning (none remain); minor cleanup
* Avoid format.py strangeness
* Fix typedef order
Diffstat (limited to 'src')
5 files changed, 281 insertions, 51 deletions
diff --git a/src/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0.c b/src/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0.c index b124597..866d3a3 100644 --- a/src/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0.c +++ b/src/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0.c @@ -3,13 +3,24 @@ #include "m_actor_dlftbls.h" #include "m_object.h" #include "overlays/gamestates/ovl_play/m_play.h" +#include "m_demo.h" +#include "macros.h" +#include "overlays/actors/ovl_Tools/ac_tools.h" +#include "audio.h" + +#define THIS ((Hanami_Npc0*)thisx) void aHM0_actor_ct(Actor* thisx, Game_Play* game_play); void aHM0_actor_dt(Actor* thisx, Game_Play* game_play); void aHM0_actor_init(Actor* thisx, Game_Play* game_play); void aHM0_actor_save(Actor* thisx, Game_Play* game_play); +void aHM0_actor_move(Actor* thisx, Game_Play* game_play); +void aHM0_schedule_proc(Actor* thisx, Game_Play* game_play, s32 processIndex); +void aHM0_talk_request(Actor* thisx, UNK_TYPE arg1 UNUSED); +s32 aHM0_talk_init(UNK_TYPE arg0 UNUSED, UNK_TYPE arg1 UNUSED); +s32 aHM0_talk_end_chk(Actor* thisx, UNK_TYPE arg1 UNUSED); +void aHM0_actor_draw(Actor* thisx, Game_Play* game_play); -#if 0 ActorProfile Hanami_Npc0_Profile = { /* */ ACTOR_HANAMI_NPC0, /* */ ACTOR_PART_NPC, @@ -23,58 +34,232 @@ ActorProfile Hanami_Npc0_Profile = { /* */ (void*)none_proc1, /* */ aHM0_actor_save, }; -#endif -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/aHM0_actor_ct.s") +struct_809AEFA4 aHM0_ct_data = { + /* */ aHM0_actor_move, + /* */ aHM0_actor_draw, + /* */ 4, + /* */ aHM0_talk_request, + /* */ aHM0_talk_init, + /* */ aHM0_talk_end_chk, + /* */ NULL, +}; + +void aHM0_actor_ct(Actor* thisx, Game_Play* game_play) { + Hanami_Npc0* this = THIS; + + if (common_data.clip.unk_040->unk_BC(thisx, game_play) == 1) { + this->unk_7C0 = aHM0_schedule_proc; + common_data.clip.unk_040->unk_C0(thisx, game_play, &aHM0_ct_data); + } +} + +void aHM0_actor_save(Actor* thisx, Game_Play* game_play) { + common_data.clip.unk_040->unk_C8(thisx, game_play); +} + +void aHM0_actor_dt(Actor* thisx, Game_Play* game_play) { + common_data.clip.unk_040->unk_C4(thisx, game_play); +} + +void aHM0_actor_init(Actor* thisx, Game_Play* game_play) { + common_data.clip.unk_040->unk_CC(thisx, game_play); +} + +void aHM0_set_animation(Actor* thisx, s32 index) { + static UNK_TYPE4 D_809DEB00_jp[] = { 0x00000048, 0x0000004A, 0x00000049 }; + + common_data.clip.unk_040->unk_104(thisx, D_809DEB00_jp[index], 0, index); +} + +void aHM0_actor_move(Actor* thisx, Game_Play* game_play) { + common_data.clip.unk_040->unk_D0(thisx, game_play); +} + +void aHM0_set_request_act(Actor* thisx) { + Hanami_Npc0* this = THIS; + + this->unk_7D4 = 4; + this->unk_7D5 = 0x12; + this->unk_7D6 = 2; +} + +void aHM0_make_tumbler(Actor* thisx, Game_Play* game_play) { + Hanami_Npc0* this = THIS; + ToolActor* tool; + + if (((this->unk_940 & 1) == 1) && (this->unk_860 == 0)) { + tool = common_data.clip.toolClip->aTOL_birth_proc(TOOL_TUMBLER, 3, (ToolActor*)this, game_play, -1, 0); + if (tool != 0) { + this->unk_860 = tool; + } + } +} + +void aHM0_wait(Actor* thisx) { + Hanami_Npc0* this = THIS; + + if (this->unk_188 == 2) { + if (this->unk_72B == 0) { + this->unk_7C6 = 0xFF; + } else { + this->unk_72B--; + } + } +} + +void aHM0_merry(Actor* thisx) { + Hanami_Npc0* this = THIS; + + if (this->unk_188 == 2) { + if (this->unk_72B == 0) { + this->unk_7C6 = 0xFF; + } else { + this->unk_72B--; + } + } + + sAdo_OngenPos((s32)(&this->actor), this->unk_944, &this->actor.world.pos); +} + +void aHM0_drink(Actor* thisx) { + Hanami_Npc0* this = THIS; + + if (this->unk_188 == 1) { + this->unk_7C6 = 0xFF; + } +} + +void aHM0_setupAction(Hanami_Npc0* this, s32 processIndex) { + static Hanami_Npc0_unk_93C process[] = { aHM0_wait, aHM0_merry, aHM0_drink }; + static UNK_TYPE anm_loop_base[] = { 0x00000001, 0x00000002, 0x00000001 }; + static f32 anm_loop_rnd[] = { 2.0f, 3.0f, 1.0f }; + static u8 clap_se_no[] = { 0x2F, 0x31, 0x32, 0x33 }; + + this->unk_7C6 = 0; + this->unk_938 = processIndex; + this->unk_93C = process[processIndex]; + this->unk_72B = (u8)(anm_loop_base[processIndex] + ((s32)(fqrand() * anm_loop_rnd[processIndex]))); + aHM0_set_animation(&this->actor, processIndex); + + if (processIndex == 1) { + this->unk_944 = (u8)clap_se_no[(s32)(fqrand() * 4.0f)]; + } +} + +void aHM0_act_chg_data_proc(Hanami_Npc0* this, Game_Play* game_play UNUSED) { + this->unk_7C9 = 1; +} -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/aHM0_actor_save.s") +void aHM0_act_init_proc(Hanami_Npc0* this, Game_Play* game_play UNUSED) { + aHM0_setupAction(this, 0); +} -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/aHM0_actor_dt.s") +void aHM0_act_main_proc(Hanami_Npc0* this, Game_Play* game_play UNUSED) { + this->unk_93C(&this->actor); +} -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/aHM0_actor_init.s") +void aHM0_act_proc(Actor* thisx, Game_Play* game_play, s32 processIndex) { + static Hanami_Npc0ActionFunc act_proc[] = { aHM0_act_init_proc, aHM0_act_chg_data_proc, aHM0_act_main_proc }; + Hanami_Npc0* this = THIS; -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/func_809DE434_jp.s") + (*act_proc[processIndex])(this, game_play); +} -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/func_809DE474_jp.s") +void aHM0_think_main_proc(Hanami_Npc0* this, Game_Play* game_play UNUSED) { + static UNK_TYPE action[] = { 0x00000000, 0x00000001, 0x00000002 }; -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/func_809DE4A0_jp.s") + if (this->unk_7C6 == 0xFF) { + if (this->unk_7C5 == 0x12) { + s32 processIndex = ((s32)(2.0f * fqrand())) << (this->unk_940 & 1); -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/func_809DE4C0_jp.s") + aHM0_setupAction(this, action[processIndex]); + } + this->unk_80C = 0x137; + this->unk_911 = 1; + aHM0_set_request_act(&this->actor); + } +} -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/func_809DE538_jp.s") +void aHM0_think_init_proc(Hanami_Npc0* this, Game_Play* game_play UNUSED) { + this->unk_7A8 = 0; + this->unk_7D0 = aHM0_act_proc; + aHM0_set_request_act(&this->actor); +} -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/func_809DE56C_jp.s") +void aHM0_think_proc(Actor* thisx, Game_Play* game_play, s32 processIndex) { + static Hanami_Npc0ActionFunc think_proc[] = { aHM0_think_init_proc, aHM0_think_main_proc }; + Hanami_Npc0* this = THIS; -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/func_809DE5BC_jp.s") + (*think_proc[processIndex])(this, game_play); +} -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/func_809DE5DC_jp.s") +void aHM0_schedule_init_proc(Hanami_Npc0* this, Game_Play* game_play) { + static s16 def_angle[4] = { 0x2000, 0xC000, 0xE000, 0x4000 }; + s32 angleIndex = this->actor.fgName + 0xFFFF2FCE; -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/func_809DE6B4_jp.s") + this->unk_7A4 = aHM0_think_proc; + this->unk_7FD = 0; + this->unk_8AC = -1; + this->unk_92B = 1; + this->unk_92C = 0x48; + this->unk_940 = angleIndex; + this->unk_80C = 0x137; + this->unk_911 = 1; + this->actor.colStatus.mass = MASS_HEAVY; + { + s16 tempAngle = def_angle[angleIndex]; -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/func_809DE6C8_jp.s") + this->actor.shape.rot.y = tempAngle; + this->actor.world.rot.y = tempAngle; + this->unk_8DC = tempAngle; + } + common_data.clip.unk_040->unk_110(&this->actor, game_play, 8, 0); +} -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/func_809DE6EC_jp.s") +void aHM0_schedule_main_proc(Hanami_Npc0* this, Game_Play* game_play) { + if (common_data.clip.unk_040->unk_110(&this->actor, game_play, -1, 1) == 0) { + common_data.clip.unk_040->unk_110(&this->actor, game_play, -1, 2); + } -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/func_809DE714_jp.s") + aHM0_make_tumbler(&this->actor, game_play); +} -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/func_809DE744_jp.s") +void aHM0_schedule_proc(Actor* thisx, Game_Play* game_play, s32 processIndex) { + static Hanami_Npc0ActionFunc sche_proc[] = { aHM0_schedule_init_proc, aHM0_schedule_main_proc }; + Hanami_Npc0* this = THIS; -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/func_809DE7D0_jp.s") + (*sche_proc[processIndex])(this, game_play); +} -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/func_809DE800_jp.s") +void aHM0_set_talk_info(Actor* thisx) { + static u32 msg_base[] = { 0x0000192D, 0x0000193C, 0x0000191E, 0x0000194B, 0x0000195A, 0x00001969 }; + Hanami_Npc0* this = THIS; + enum NpcLooks looks = mNpc_GetNpcLooks(thisx); -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/func_809DE830_jp.s") + mDemo_Set_msg_num(msg_base[looks] + ((s32)(fqrand() * 3.0f)) + (this->unk_940 * 3)); +} -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/func_809DE8D0_jp.s") +void aHM0_talk_request(Actor* thisx, UNK_TYPE arg1 UNUSED) { + mDemo_Request(7, thisx, aHM0_set_talk_info); +} -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/func_809DE948_jp.s") +s32 aHM0_talk_init(UNK_TYPE arg0 UNUSED, UNK_TYPE arg1 UNUSED) { + mDemo_Set_ListenAble(); -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/func_809DE978_jp.s") + return 1; +} -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/func_809DE9EC_jp.s") +s32 aHM0_talk_end_chk(Actor* thisx, UNK_TYPE arg1 UNUSED) { + s32 result = FALSE; -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/func_809DEA20_jp.s") + if (!mDemo_Check(7, thisx)) { + result = TRUE; + } -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/func_809DEA4C_jp.s") + return result; +} -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0/func_809DEA8C_jp.s") +void aHM0_actor_draw(Actor* thisx, Game_Play* game_play) { + common_data.clip.unk_040->unk_E4(thisx, game_play); +} diff --git a/src/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0.h b/src/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0.h index 7d7bc4d..2a2a171 100644 --- a/src/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0.h +++ b/src/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0.h @@ -4,15 +4,60 @@ #include "ultra64.h" #include "m_actor.h" #include "unk.h" +#include "overlays/actors/ovl_Tools/ac_tools.h" struct Game_Play; struct Hanami_Npc0; typedef void (*Hanami_Npc0ActionFunc)(struct Hanami_Npc0*, struct Game_Play*); +typedef void (*Hanami_Npc0_unk_93C)(struct Actor*); typedef struct Hanami_Npc0 { /* 0x000 */ Actor actor; - /* 0x174 */ UNK_TYPE1 unk_174[0x7D4]; + /* 0x174 */ UNK_TYPE1 unk_174[0x14]; + /* 0x188 */ UNK_TYPE unk_188; + /* 0x18C */ UNK_TYPE1 unk_18C[0x59E]; + /* 0x72A */ UNK_TYPE1 unk_72A; // inferred from alignment + /* 0x72B */ u8 unk_72B; + /* 0x72C */ UNK_TYPE1 unk_72C[0x78]; // unreferenced in actor file + /* 0x7A4 */ UNK_PTR unk_7A4; + /* 0x7A8 */ UNK_TYPE unk_7A8; + /* 0x7AC */ UNK_TYPE1 unk_7AC[0x14]; // unreferenced in actor file + /* 0x7C0 */ UNK_PTR unk_7C0; + /* 0x7C4 */ UNK_TYPE1 unk_7C4; // inferred from alignment + /* 0x7C5 */ u8 unk_7C5; + /* 0x7C6 */ u8 unk_7C6; + /* 0x7C7 */ UNK_TYPE1 unk_7C7; // unreferenced in actor file + /* 0x7C8 */ UNK_TYPE1 unk_7C8; // inferred from alignment + /* 0x7C9 */ UNK_TYPE1 unk_7C9; + /* 0x7CA */ UNK_TYPE1 unk_7CA[6]; // unreferenced in actor file + /* 0x7D0 */ UNK_PTR unk_7D0; + /* 0x7D4 */ UNK_TYPE1 unk_7D4; + /* 0x7D5 */ UNK_TYPE1 unk_7D5; + /* 0x7D6 */ UNK_TYPE1 unk_7D6; + /* 0x7D7 */ UNK_TYPE1 unk_7D7; // inferred from alignment (could be padding) + /* 0x7D8 */ UNK_TYPE1 unk_7D8[0x24]; // unreferenced in actor file + /* 0x7FC */ UNK_TYPE1 unk_7FC; // inferred from alignment + /* 0x7FD */ UNK_TYPE1 unk_7FD; + /* 0x7FE */ UNK_TYPE1 unk_7FE[0xE]; // unreferenced in actor file + /* 0x80C */ UNK_TYPE unk_80C; + /* 0x810 */ UNK_TYPE1 unk_810[0x50]; // unreferenced in actor file + /* 0x860 */ ToolActor* unk_860; + /* 0x864 */ UNK_TYPE1 unk_864[0x48]; // unreferenced in actor file + /* 0x8AC */ UNK_TYPE unk_8AC; + /* 0x8B0 */ UNK_TYPE1 unk_8B0[0x2C]; // unreferenced in actor file + /* 0x8DC */ UNK_TYPE2 unk_8DC; + /* 0x8DE */ UNK_TYPE1 unk_8DE[0x32]; // unreferenced in actor file + /* 0x910 */ UNK_TYPE1 unk_910; // inferred from alignment + /* 0x911 */ UNK_TYPE1 unk_911; + /* 0x912 */ UNK_TYPE1 unk_912[0x19]; // unreferenced in actor file + /* 0x92B */ UNK_TYPE1 unk_92B; + /* 0x92C */ UNK_TYPE2 unk_92C; + /* 0x92E */ UNK_TYPE1 unk_92E[0xA]; + /* 0x938 */ UNK_TYPE unk_938; + /* 0x93C */ Hanami_Npc0_unk_93C unk_93C; + /* 0x940 */ UNK_TYPE unk_940; + /* 0x944 */ u8 unk_944; } Hanami_Npc0; // size = 0x948 #endif diff --git a/src/overlays/actors/ovl_Kamakura_Npc0/ac_kamakura_npc0.c b/src/overlays/actors/ovl_Kamakura_Npc0/ac_kamakura_npc0.c index 208b2fc..4410ad1 100644 --- a/src/overlays/actors/ovl_Kamakura_Npc0/ac_kamakura_npc0.c +++ b/src/overlays/actors/ovl_Kamakura_Npc0/ac_kamakura_npc0.c @@ -11,8 +11,8 @@ void aKM0_actor_save(Actor* thisx, Game_Play* game_play); void aKM0_talk_request(UNK_TYPE arg0, UNK_TYPE arg1); void aKM0_talk_init(UNK_TYPE arg0, UNK_TYPE arg1); s32 aKM0_talk_end_chk(UNK_TYPE arg0, UNK_TYPE arg1); -void aKM0_actor_move(void); -void aKM0_actor_draw(void); +void aKM0_actor_move(Actor* thisx, Game_Play* game_play); +void aKM0_actor_draw(Actor* thisx, Game_Play* game_play); ActorProfile Kamakura_Npc0_Profile = { /* */ ACTOR_KAMAKURA_NPC0, @@ -29,7 +29,7 @@ ActorProfile Kamakura_Npc0_Profile = { }; struct_809AEFA4 aKM0_ct_data = { - aKM0_actor_move, aKM0_actor_draw, 3, aKM0_talk_request, aKM0_talk_init, aKM0_talk_end_chk, + aKM0_actor_move, aKM0_actor_draw, 3, aKM0_talk_request, aKM0_talk_init, aKM0_talk_end_chk, NULL, }; void aKM0_actor_ct(Actor* thisx, Game_Play* game_play) { @@ -69,10 +69,10 @@ s32 aKM0_talk_end_chk(UNK_TYPE arg0, UNK_TYPE arg1 UNUSED) { return var_v1; } -void aKM0_actor_move(void) { - common_data.clip.unk_040->unk_D0(); +void aKM0_actor_move(Actor* thisx, Game_Play* game_play) { + common_data.clip.unk_040->unk_D0(thisx, game_play); } -void aKM0_actor_draw(void) { - common_data.clip.unk_040->unk_E4(); +void aKM0_actor_draw(Actor* thisx, Game_Play* game_play) { + common_data.clip.unk_040->unk_E4(thisx, game_play); } diff --git a/src/overlays/actors/ovl_Normal_Npc/ac_normal_npc.c b/src/overlays/actors/ovl_Normal_Npc/ac_normal_npc.c index 14ce8a3..f1f877c 100644 --- a/src/overlays/actors/ovl_Normal_Npc/ac_normal_npc.c +++ b/src/overlays/actors/ovl_Normal_Npc/ac_normal_npc.c @@ -8,8 +8,8 @@ void aNOR_actor_ct(Actor* thisx, Game_Play* game_play); void aNOR_actor_dt(Actor* thisx, Game_Play* game_play); void aNOR_actor_init(Actor* thisx, Game_Play* game_play); void aNOR_actor_save(Actor* thisx, Game_Play* game_play); -void aNOR_actor_move(void); -void aNOR_actor_draw(void); +void aNOR_actor_move(Actor* thisx, Game_Play* game_play); +void aNOR_actor_draw(Actor* thisx, Game_Play* game_play); ActorProfile Normal_Npc_Profile = { /* */ ACTOR_NORMAL_NPC, @@ -26,7 +26,7 @@ ActorProfile Normal_Npc_Profile = { }; struct_809AEFA4 aNOR_ct_data = { - aNOR_actor_move, aNOR_actor_draw, 1, NULL, NULL, NULL, + aNOR_actor_move, aNOR_actor_draw, 1, NULL, NULL, NULL, NULL, }; void aNOR_actor_ct(Actor* thisx, Game_Play* game_play) { @@ -47,10 +47,10 @@ void aNOR_actor_init(Actor* thisx, Game_Play* game_play) { common_data.clip.unk_040->unk_CC(thisx, game_play); } -void aNOR_actor_move(void) { - common_data.clip.unk_040->unk_D0(); +void aNOR_actor_move(Actor* thisx, Game_Play* game_play) { + common_data.clip.unk_040->unk_D0(thisx, game_play); } -void aNOR_actor_draw(void) { - common_data.clip.unk_040->unk_E4(); +void aNOR_actor_draw(Actor* thisx, Game_Play* game_play) { + common_data.clip.unk_040->unk_E4(thisx, game_play); } diff --git a/src/overlays/actors/ovl_Npc_Engineer/ac_npc_engineer.c b/src/overlays/actors/ovl_Npc_Engineer/ac_npc_engineer.c index 1b49410..b5fb3a7 100644 --- a/src/overlays/actors/ovl_Npc_Engineer/ac_npc_engineer.c +++ b/src/overlays/actors/ovl_Npc_Engineer/ac_npc_engineer.c @@ -9,8 +9,8 @@ void aNEG_actor_ct(Actor* thisx, Game_Play* game_play); void aNEG_actor_dt(Actor* thisx, Game_Play* game_play); void aNEG_actor_init(Actor* thisx, Game_Play* game_play); void aNEG_actor_save(Actor* thisx, Game_Play* game_play); -void aNEG_actor_move(void); -void aNEG_actor_draw(void); +void aNEG_actor_move(Actor* thisx, Game_Play* game_play); +void aNEG_actor_draw(Actor* thisx, Game_Play* game_play); ActorProfile Npc_Engineer_Profile = { /* */ ACTOR_NPC_ENGINEER, @@ -27,7 +27,7 @@ ActorProfile Npc_Engineer_Profile = { }; struct_809AEFA4 aNEG_ct_data = { - aNEG_actor_move, aNEG_actor_draw, 4, NULL, NULL, NULL, + aNEG_actor_move, aNEG_actor_draw, 4, NULL, NULL, NULL, NULL, }; void aNEG_actor_ct(Actor* thisx, Game_Play* game_play) { @@ -61,10 +61,10 @@ void aNEG_actor_init(Actor* thisx, Game_Play* game_play) { common_data.clip.unk_040->unk_CC(thisx, game_play); } -void aNEG_actor_move(void) { - common_data.clip.unk_040->unk_D0(); +void aNEG_actor_move(Actor* thisx, Game_Play* game_play) { + common_data.clip.unk_040->unk_D0(thisx, game_play); } -void aNEG_actor_draw(void) { - common_data.clip.unk_040->unk_E4(); +void aNEG_actor_draw(Actor* thisx, Game_Play* game_play) { + common_data.clip.unk_040->unk_E4(thisx, game_play); } |
