mirror of
https://github.com/zeldaret/af.git
synced 2026-10-04 00:19:46 -04:00
ovl_Kamakura_Npc0 OK (#82)
* ovl_Kamakura_Npc0 OK * fixed warnings * fun names * suggestions * removed useless variable * change back from bool to s32 * forgor protopye
This commit is contained in:
+38
-21
@@ -43,27 +43,42 @@ typedef UNK_RET (*CommonData_unk_1004C_unk_EC)(struct Game_Play_unk_0110*, s16,
|
||||
typedef UNK_RET (*CommonData_unk_1004C_unk_F0)(struct Game_Play_unk_0110*, struct Actor*);
|
||||
typedef s32 (*CommonData_unk_1004C_unk_F4)(struct Game_Play_unk_0110*, struct Actor*);
|
||||
|
||||
typedef UNK_RET (*CommonData_unk_1004C_unk_118)(struct Actor*);
|
||||
|
||||
typedef struct CommonData_unk_1004C {
|
||||
/* 0x00 */ UNK_TYPE1 unk_00[0x4];
|
||||
/* 0x04 */ CommonData_unk_1004C_unk_04 unk_04;
|
||||
/* 0x08 */ CommonData_unk_1004C_unk_08 unk_08;
|
||||
/* 0x0C */ CommonData_unk_1004C_unk_0C unk_0C;
|
||||
/* 0x10 */ CommonData_unk_1004C_unk_10 unk_10;
|
||||
/* 0x14 */ CommonData_unk_1004C_unk_14 unk_14;
|
||||
/* 0x18 */ UNK_TYPE1 unk_18[0xA4];
|
||||
/* 0xBC */ CommonData_unk_1004C_unk_BC unk_BC;
|
||||
/* 0xC0 */ CommonData_unk_1004C_unk_C0 unk_C0;
|
||||
/* 0xC4 */ CommonData_unk_1004C_unk_C4 unk_C4;
|
||||
/* 0xC8 */ CommonData_unk_1004C_unk_C8 unk_C8;
|
||||
/* 0xCC */ CommonData_unk_1004C_unk_CC unk_CC;
|
||||
/* 0xD0 */ CommonData_unk_1004C_unk_D0 unk_D0;
|
||||
/* 0xD4 */ UNK_TYPE1 unk_D4[0x10];
|
||||
/* 0xE4 */ CommonData_unk_1004C_unk_E4 unk_E4;
|
||||
/* 0xE8 */ UNK_TYPE1 unk_E8[0x4];
|
||||
/* 0xEC */ CommonData_unk_1004C_unk_EC unk_EC;
|
||||
/* 0xF0 */ CommonData_unk_1004C_unk_F0 unk_F0;
|
||||
/* 0xF4 */ CommonData_unk_1004C_unk_F4 unk_F4;
|
||||
} CommonData_unk_1004C; // size >= 0xF8
|
||||
/* 0x000 */ UNK_TYPE1 unk_00[0x4];
|
||||
/* 0x004 */ CommonData_unk_1004C_unk_04 unk_04;
|
||||
/* 0x008 */ CommonData_unk_1004C_unk_08 unk_08;
|
||||
/* 0x00C */ CommonData_unk_1004C_unk_0C unk_0C;
|
||||
/* 0x010 */ CommonData_unk_1004C_unk_10 unk_10;
|
||||
/* 0x014 */ CommonData_unk_1004C_unk_14 unk_14;
|
||||
/* 0x018 */ UNK_TYPE1 unk_18[0xA4];
|
||||
/* 0x0BC */ CommonData_unk_1004C_unk_BC unk_BC;
|
||||
/* 0x0C0 */ CommonData_unk_1004C_unk_C0 unk_C0;
|
||||
/* 0x0C4 */ CommonData_unk_1004C_unk_C4 unk_C4;
|
||||
/* 0x0C8 */ CommonData_unk_1004C_unk_C8 unk_C8;
|
||||
/* 0x0CC */ CommonData_unk_1004C_unk_CC unk_CC;
|
||||
/* 0x0D0 */ CommonData_unk_1004C_unk_D0 unk_D0;
|
||||
/* 0x0D4 */ UNK_TYPE1 unk_D4[0x10];
|
||||
/* 0x0E4 */ CommonData_unk_1004C_unk_E4 unk_E4;
|
||||
/* 0x0E8 */ UNK_TYPE1 unk_E8[0x4];
|
||||
/* 0x0EC */ CommonData_unk_1004C_unk_EC unk_EC;
|
||||
/* 0x0F0 */ CommonData_unk_1004C_unk_F0 unk_F0;
|
||||
/* 0x0F4 */ CommonData_unk_1004C_unk_F4 unk_F4;
|
||||
/* 0x0F8 */ UNK_TYPE1 unk_F8[0x20];
|
||||
/* 0x118 */ CommonData_unk_1004C_unk_118 unk_118;
|
||||
} CommonData_unk_1004C; // size >= 0x11C
|
||||
|
||||
typedef UNK_RET (*CommonData_unk_10078_unk_00)(UNK_TYPE);
|
||||
typedef UNK_RET (*CommonData_unk_10078_unk_04)(UNK_TYPE);
|
||||
typedef UNK_RET (*CommonData_unk_10078_unk_08)(UNK_TYPE);
|
||||
|
||||
|
||||
typedef struct CommonData_unk_10078 {
|
||||
/* 0x00 */ CommonData_unk_10078_unk_00 unk_00;
|
||||
/* 0x04 */ CommonData_unk_10078_unk_04 unk_04;
|
||||
/* 0x08 */ CommonData_unk_10078_unk_08 unk_08;
|
||||
} CommonData_unk_10078; // size >= 0xC
|
||||
|
||||
typedef UNK_RET (*CommonData_unk_10098_unk_4)(struct ActorOverlay*, size_t);
|
||||
typedef UNK_RET (*CommonData_unk_10098_unk_8)(void);
|
||||
@@ -161,7 +176,9 @@ typedef struct CommonData {
|
||||
/* 0x10004 */ s32 unk_10004; // named "last_scene_no" in AC GCN decomp
|
||||
/* 0x10008 */ UNK_TYPE1 unk_10008[0x44];
|
||||
/* 0x1004C */ CommonData_unk_1004C *unk_1004C;
|
||||
/* 0x10050 */ UNK_TYPE1 unk_10050[0x48];
|
||||
/* 0x10050 */ UNK_TYPE1 unk_10050[0x28];
|
||||
/* 0x10078 */ CommonData_unk_10078 *unk_10078;
|
||||
/* 0x1007C */ UNK_TYPE1 unk_1007C[0x1C];
|
||||
/* 0x10098 */ CommonData_unk_10098 *unk_10098;
|
||||
/* 0x1009C */ UNK_TYPE1 unk_1009C[0x48];
|
||||
/* 0x100E4 */ CommonData_100E4_Func* unk_100E4;
|
||||
|
||||
@@ -34,10 +34,12 @@ typedef struct Game_Play_unk_0110 {
|
||||
} Game_Play_unk_0110; // size = 0x54
|
||||
|
||||
typedef struct struct_809AEFA4 {
|
||||
/* 0x0 */ UNK_PTR unk_0;
|
||||
/* 0x0 */ UNK_PTR unk_4;
|
||||
/* 0x0 */ UNK_TYPE unk_8;
|
||||
/* 0x0 */ UNK_TYPE unk_C;
|
||||
} struct_809AEFA4; // size >= 0x10
|
||||
/* 0x00 */ UNK_PTR unk_0;
|
||||
/* 0x04 */ UNK_PTR unk_4;
|
||||
/* 0x08 */ UNK_TYPE unk_8;
|
||||
/* 0x0C */ UNK_PTR unk_C;
|
||||
/* 0x10 */ UNK_PTR unk_10;
|
||||
/* 0x14 */ UNK_PTR unk_14;
|
||||
} struct_809AEFA4; // size >= 0x18
|
||||
|
||||
#endif
|
||||
|
||||
@@ -8,8 +8,12 @@ void aKM0_actor_ct(Actor* thisx, Game_Play* game_play);
|
||||
void aKM0_actor_dt(Actor* thisx, Game_Play* game_play);
|
||||
void aKM0_actor_init(Actor* thisx, Game_Play* game_play);
|
||||
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);
|
||||
|
||||
#if 0
|
||||
ActorProfile Kamakura_Npc0_Profile = {
|
||||
/* */ ACTOR_KAMAKURA_NPC0,
|
||||
/* */ ACTOR_PART_NPC,
|
||||
@@ -20,25 +24,55 @@ ActorProfile Kamakura_Npc0_Profile = {
|
||||
/* */ aKM0_actor_ct,
|
||||
/* */ aKM0_actor_dt,
|
||||
/* */ aKM0_actor_init,
|
||||
/* */ (ActorFunc)none_proc1,
|
||||
/* */ (void*)none_proc1,
|
||||
/* */ aKM0_actor_save,
|
||||
};
|
||||
#endif
|
||||
|
||||
#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Kamakura_Npc0/ac_kamakura_npc0/aKM0_actor_ct.s")
|
||||
struct_809AEFA4 aKM0_ct_data = {
|
||||
aKM0_actor_move, aKM0_actor_draw, 3, aKM0_talk_request, aKM0_talk_init, aKM0_talk_end_chk,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Kamakura_Npc0/ac_kamakura_npc0/aKM0_actor_save.s")
|
||||
void aKM0_actor_ct(Actor* thisx, Game_Play* game_play) {
|
||||
if (common_data.unk_1004C->unk_BC(thisx, game_play) == 1) {
|
||||
common_data.unk_1004C->unk_C0(thisx, game_play, &aKM0_ct_data);
|
||||
common_data.unk_1004C->unk_118(thisx);
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Kamakura_Npc0/ac_kamakura_npc0/aKM0_actor_dt.s")
|
||||
void aKM0_actor_save(Actor* thisx, Game_Play* game_play) {
|
||||
common_data.unk_1004C->unk_C8(thisx, game_play);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Kamakura_Npc0/ac_kamakura_npc0/aKM0_actor_init.s")
|
||||
void aKM0_actor_dt(Actor* thisx, Game_Play* game_play) {
|
||||
common_data.unk_1004C->unk_C4(thisx, game_play);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Kamakura_Npc0/ac_kamakura_npc0/func_809DF884_jp.s")
|
||||
void aKM0_actor_init(Actor* thisx, Game_Play* game_play) {
|
||||
common_data.unk_1004C->unk_CC(thisx, game_play);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Kamakura_Npc0/ac_kamakura_npc0/func_809DF8B4_jp.s")
|
||||
void aKM0_talk_request(UNK_TYPE arg0, UNK_TYPE arg1 UNUSED) {
|
||||
common_data.unk_10078->unk_00(arg0);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Kamakura_Npc0/ac_kamakura_npc0/func_809DF8E4_jp.s")
|
||||
void aKM0_talk_init(UNK_TYPE arg0, UNK_TYPE arg1 UNUSED) {
|
||||
common_data.unk_10078->unk_04(arg0);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Kamakura_Npc0/ac_kamakura_npc0/func_809DF92C_jp.s")
|
||||
s32 aKM0_talk_end_chk(UNK_TYPE arg0, UNK_TYPE arg1 UNUSED) {
|
||||
s32 var_v1;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Kamakura_Npc0/ac_kamakura_npc0/func_809DF958_jp.s")
|
||||
var_v1 = false;
|
||||
if (common_data.unk_10078->unk_08(arg0) == 1) {
|
||||
var_v1 = true;
|
||||
}
|
||||
return var_v1;
|
||||
}
|
||||
|
||||
void aKM0_actor_move(void) {
|
||||
common_data.unk_1004C->unk_D0();
|
||||
}
|
||||
|
||||
void aKM0_actor_draw(void) {
|
||||
common_data.unk_1004C->unk_E4();
|
||||
}
|
||||
|
||||
@@ -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 func_809AEF28_jp(void);
|
||||
void func_809AEF54_jp(void);
|
||||
void aNEG_actor_move(void);
|
||||
void aNEG_actor_draw(void);
|
||||
|
||||
ActorProfile Npc_Engineer_Profile = {
|
||||
/* */ ACTOR_NPC_ENGINEER,
|
||||
@@ -26,11 +26,8 @@ ActorProfile Npc_Engineer_Profile = {
|
||||
/* */ aNEG_actor_save,
|
||||
};
|
||||
|
||||
struct_809AEFA4 D_809AEFA4_jp = {
|
||||
func_809AEF28_jp,
|
||||
func_809AEF54_jp,
|
||||
4,
|
||||
0,
|
||||
struct_809AEFA4 aNEG_ct_data = {
|
||||
aNEG_actor_move, aNEG_actor_draw, 4, NULL, NULL, NULL,
|
||||
};
|
||||
|
||||
void aNEG_actor_ct(Actor* thisx, Game_Play* game_play) {
|
||||
@@ -38,7 +35,7 @@ void aNEG_actor_ct(Actor* thisx, Game_Play* game_play) {
|
||||
|
||||
if (common_data.unk_1004C->unk_BC(thisx, game_play) == 1) {
|
||||
this->unk7C0 = none_proc1;
|
||||
common_data.unk_1004C->unk_C0(thisx, game_play, &D_809AEFA4_jp);
|
||||
common_data.unk_1004C->unk_C0(thisx, game_play, &aNEG_ct_data);
|
||||
this->unk80C = -1;
|
||||
this->unk7FD = 0;
|
||||
this->unk8AC = -1;
|
||||
@@ -64,10 +61,10 @@ void aNEG_actor_init(Actor* thisx, Game_Play* game_play) {
|
||||
common_data.unk_1004C->unk_CC(thisx, game_play);
|
||||
}
|
||||
|
||||
void func_809AEF28_jp(void) {
|
||||
void aNEG_actor_move(void) {
|
||||
common_data.unk_1004C->unk_D0();
|
||||
}
|
||||
|
||||
void func_809AEF54_jp(void) {
|
||||
void aNEG_actor_draw(void) {
|
||||
common_data.unk_1004C->unk_E4();
|
||||
}
|
||||
|
||||
@@ -2669,7 +2669,7 @@
|
||||
bss_size: 0x0
|
||||
subsegments:
|
||||
- [0x8C2F70, c, overlays/actors/ovl_Kamakura_Npc0/ac_kamakura_npc0]
|
||||
- [0x8C3180, data, overlays/actors/ovl_Kamakura_Npc0/ac_kamakura_npc0]
|
||||
- [0x8C3180, .data, overlays/actors/ovl_Kamakura_Npc0/ac_kamakura_npc0]
|
||||
- name: ovl_Kamakura_Npc0_reloc
|
||||
type: code
|
||||
start: 0x8C31C0
|
||||
|
||||
Reference in New Issue
Block a user