summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorkuchenmitsahne <25233413+kuchenmitsahne@users.noreply.github.com>2024-11-26 10:37:21 -0500
committerGitHub <noreply@github.com>2024-11-26 08:37:21 -0700
commitd38ac6a9d32e9b5c0e3caafbfc8d311a0f8f51f4 (patch)
tree33ab1b41840e866e8dcb1257a5e871f88893bef1 /src
parent0bab7e592c3dcbd4207c2c57c06819ec2b7c1bfa (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')
-rw-r--r--src/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0.c243
-rw-r--r--src/overlays/actors/ovl_Hanami_Npc0/ac_hanami_npc0.h47
-rw-r--r--src/overlays/actors/ovl_Kamakura_Npc0/ac_kamakura_npc0.c14
-rw-r--r--src/overlays/actors/ovl_Normal_Npc/ac_normal_npc.c14
-rw-r--r--src/overlays/actors/ovl_Npc_Engineer/ac_npc_engineer.c14
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);
}