From e1f0036e9dc294530941b08bca0d9e1612bc10c2 Mon Sep 17 00:00:00 2001 From: Prakxo Date: Sat, 24 Jun 2023 21:42:07 +0200 Subject: [PATCH] link unused actors --- config/rel_slices.yml | 9 +++++++++ include/ac_boxManager.h | 5 +++++ include/ac_boxMove.h | 5 +++++ include/ac_boxTrick01.h | 7 +++++++ include/m_actor.h | 1 + include/m_name_table.h | 2 ++ rel/ac_boxManager.c | 40 ++++++++++++++++++++++++++++++++++++++++ rel/ac_boxMove.c | 39 +++++++++++++++++++++++++++++++++++++++ rel/ac_boxTrick01.c | 34 ++++++++++++++++++++++++++++++++++ 9 files changed, 142 insertions(+) create mode 100644 rel/ac_boxManager.c create mode 100644 rel/ac_boxMove.c create mode 100644 rel/ac_boxTrick01.c diff --git a/config/rel_slices.yml b/config/rel_slices.yml index 6b7f0a28..d04b04c9 100644 --- a/config/rel_slices.yml +++ b/config/rel_slices.yml @@ -157,6 +157,15 @@ ac_animal_logo.c: .data: [0x8065FB68, 0x8065FBA8] ac_animal_logo_misc.c: .text: [0x804117D4, 0x80411A60] +ac_boxManager.c: + .text: [0x80415BD8,0x80415BE8] + .data: [0x806818A0, 0x806818C8] +ac_boxMove.c: + .text: [0x80415BE8, 0x80415BF8] + .data: [0x806818C8, 0x806818F0] +ac_boxTrick01.c: + .text: [0x80415BF8, 0x80415C04] + .data: [0x806818F0, 0x80681918] ac_set_manager.c: .text: [0x80496AB8, 0x80496F50] .rodata: [0x80644DB8, 0x80644DC8] diff --git a/include/ac_boxManager.h b/include/ac_boxManager.h index e3037c32..da3d419e 100644 --- a/include/ac_boxManager.h +++ b/include/ac_boxManager.h @@ -8,6 +8,11 @@ extern "C" { #endif +typedef struct box_manager_s{ + ACTOR actor_class; + u8 pad[0x1F8 - 0x174]; +}BOXMANAGER_ACTOR; + extern ACTOR_PROFILE BoxManager_Profile; #ifdef __cplusplus diff --git a/include/ac_boxMove.h b/include/ac_boxMove.h index 9bb4d385..7afef1c5 100644 --- a/include/ac_boxMove.h +++ b/include/ac_boxMove.h @@ -8,6 +8,11 @@ extern "C" { #endif +typedef struct box_move_s{ + ACTOR actor_class; + u8 pad[0x28C - 0x174]; +}BOXMOVE_ACTOR; + extern ACTOR_PROFILE BoxMove_Profile; #ifdef __cplusplus diff --git a/include/ac_boxTrick01.h b/include/ac_boxTrick01.h index 3f043267..8890f86b 100644 --- a/include/ac_boxTrick01.h +++ b/include/ac_boxTrick01.h @@ -8,8 +8,15 @@ extern "C" { #endif +typedef struct box_trick01_s{ + ACTOR actor_class; + u8 pad[0x17C - 0x174]; +}BOXTRICK01_ACTOR; + + extern ACTOR_PROFILE BoxTrick01_Profile; + #ifdef __cplusplus } #endif diff --git a/include/m_actor.h b/include/m_actor.h index a3b5a1db..100fc2b5 100644 --- a/include/m_actor.h +++ b/include/m_actor.h @@ -14,6 +14,7 @@ extern "C" { typedef void (*mActor_proc)(ACTOR*, GAME*); +#define ACTOR_STATE_NONE 0 #define ACTOR_STATE_NO_MOVE_WHILE_CULLED (1 << 4) #define ACTOR_STATE_NO_DRAW_WHILE_CULLED (1 << 5) #define ACTOR_STATE_CAN_MOVE_IN_DEMO_SCENES (1 << 29) diff --git a/include/m_name_table.h b/include/m_name_table.h index 53d56bbe..a27b77eb 100644 --- a/include/m_name_table.h +++ b/include/m_name_table.h @@ -474,6 +474,8 @@ extern int mNT_check_unknown(mActor_name_t item_no); #define ETC_START 0x8000 #define ETC_AIRPLANE ETC_START +#define ETC_BOXTRICK (ETC_START + 4) +#define ETC_BOXMANAGER (ETC_START + 5) #define MISC_ACTOR_START 0x9000 #define MISC_ACTOR_SAMPLE MISC_ACTOR_START diff --git a/rel/ac_boxManager.c b/rel/ac_boxManager.c new file mode 100644 index 00000000..81372fc4 --- /dev/null +++ b/rel/ac_boxManager.c @@ -0,0 +1,40 @@ +#include "ac_boxManager.h" + +#include "m_name_table.h" + + +static void BoxManager_Actor_ct(ACTOR* actor, GAME* game); +static void BoxManager_Actor_dt(ACTOR* actor, GAME* game); +static void BoxManager_Actor_move(ACTOR* actor, GAME* game); +static void BoxManager_Actor_draw(ACTOR* actor, GAME* game); + +ACTOR_PROFILE BoxManager_Profile = { + mAc_PROFILE_BOXMANAGER, + ACTOR_PART_BG, + ACTOR_STATE_NO_MOVE_WHILE_CULLED | ACTOR_STATE_NO_DRAW_WHILE_CULLED, + ETC_BOXMANAGER, + ACTOR_OBJ_BANK_3, + sizeof(BOXMANAGER_ACTOR), + &BoxManager_Actor_ct, + &BoxManager_Actor_dt, + &BoxManager_Actor_move, + &BoxManager_Actor_draw, + NULL +}; + + +static void BoxManager_Actor_ct(ACTOR* actor, GAME* game){ + +} + +static void BoxManager_Actor_dt(ACTOR* actor, GAME* game){ + +} + +static void BoxManager_Actor_move(ACTOR* actor, GAME* game){ + +} + +static void BoxManager_Actor_draw(ACTOR* actor, GAME* game){ + +} \ No newline at end of file diff --git a/rel/ac_boxMove.c b/rel/ac_boxMove.c new file mode 100644 index 00000000..bf60aae0 --- /dev/null +++ b/rel/ac_boxMove.c @@ -0,0 +1,39 @@ +#include "ac_boxMove.h" + +#include "m_name_table.h" + + +static void BoxMove_Actor_ct(ACTOR* actor, GAME* game); +static void BoxMove_Actor_dt(ACTOR* actor, GAME* game); +static void BoxMove_Actor_move(ACTOR* actor, GAME* game); +static void BoxMove_Actor_draw(ACTOR* actor, GAME* game); + +ACTOR_PROFILE BoxMove_Profile = { + mAc_PROFILE_BOXMOVE, + ACTOR_PART_BG, + ACTOR_STATE_NONE, + EMPTY_NO, + ACTOR_OBJ_BANK_3, + sizeof(BOXMOVE_ACTOR), + &BoxMove_Actor_ct, + &BoxMove_Actor_dt, + &BoxMove_Actor_move, + &BoxMove_Actor_draw, + NULL +}; + +static void BoxMove_Actor_ct(ACTOR* actor, GAME* game){ + +} + +static void BoxMove_Actor_dt(ACTOR* actor, GAME* game){ + +} + +static void BoxMove_Actor_move(ACTOR* actor, GAME* game){ + +} + +static void BoxMove_Actor_draw(ACTOR* actor, GAME* game){ + +} \ No newline at end of file diff --git a/rel/ac_boxTrick01.c b/rel/ac_boxTrick01.c new file mode 100644 index 00000000..6e3ca00e --- /dev/null +++ b/rel/ac_boxTrick01.c @@ -0,0 +1,34 @@ +#include "ac_boxTrick01.h" + +#include "m_name_table.h" + +extern void BoxTrick01_Actor_ct(ACTOR* actor, GAME* game); +extern void BoxTrick01_Actor_dt(ACTOR* actor, GAME* game); +extern void BoxTrick01_Actor_move(ACTOR* actor, GAME* game); + +ACTOR_PROFILE BoxTrick01_Profile = { + mAc_PROFILE_BOXTRICK01, + ACTOR_PART_BG, + ACTOR_STATE_NO_MOVE_WHILE_CULLED | ACTOR_STATE_NO_DRAW_WHILE_CULLED, + ETC_BOXTRICK, + ACTOR_OBJ_BANK_3, + sizeof(BOXTRICK01_ACTOR), + &BoxTrick01_Actor_ct, + &BoxTrick01_Actor_dt, + &BoxTrick01_Actor_move, + (mActor_proc)&none_proc1, + NULL +}; + + +static void BoxTrick01_Actor_ct(ACTOR* actor, GAME* game){ + +} + +static void BoxTrick01_Actor_dt(ACTOR* actor, GAME* game){ + +} + +static void BoxTrick01_Actor_move(ACTOR* actor, GAME* game){ + +} \ No newline at end of file