Implement & link ac_ev_turkey

This commit is contained in:
Cuyler36
2025-03-22 07:43:50 -04:00
parent 5aa42a45e7
commit 6b4d5ed8a6
5 changed files with 658 additions and 4 deletions
+35 -1
View File
@@ -3,11 +3,46 @@
#include "types.h"
#include "m_actor.h"
#include "ac_npc.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct {
PersonalID_c pid;
u16 given_present_bitfield;
} aEv_turkey_save_c;
typedef struct {
u8 _00;
u8 _01;
u8 _02;
} aEv_turkey_common_c;
typedef struct ev_turkey_actor_s EV_TURKEY_ACTOR;
typedef void (*aETKY_ACT_PROC)(EV_TURKEY_ACTOR* turkey);
typedef void (*aETKY_TALK_PROC)(EV_TURKEY_ACTOR* turkey, GAME_PLAY* play);
typedef void (*aETKY_TALK_SETUP_STATUS_PROC)(EV_TURKEY_ACTOR* turkey, GAME_PLAY* play, int talk_act);
struct ev_turkey_actor_s {
NPC_ACTOR npc_class;
int talk_action;
aETKY_TALK_PROC talk_proc;
aETKY_TALK_SETUP_STATUS_PROC talk_setup_proc;
int talk_msg_no;
int next_talk_action;
aEv_turkey_save_c* ev_save_p;
aEv_turkey_common_c* ev_common_p;
u8 present_idx;
u8 _9B1;
aETKY_ACT_PROC act_proc;
int action;
int _9BC;
xyz_t _9C0;
};
extern ACTOR_PROFILE Ev_Turkey_Profile;
#ifdef __cplusplus
@@ -15,4 +50,3 @@ extern ACTOR_PROFILE Ev_Turkey_Profile;
#endif
#endif
+3
View File
@@ -26,6 +26,9 @@ extern "C" {
#define aNPC_SPNPC_BIT_SET(field, bit) ((field) |= (1 << (bit)))
#define aNPC_SPNPC_BIT_CLR(field, bit) ((field) &= ~(1 << (bit)))
// To use this enum, make sure that m_common_data.h is included!
#define NPC_CLIP CLIP(npc_clip)
enum {
aNPC_JOINT_BASE_ROOT,
aNPC_JOINT_BASE,
+55 -2
View File
@@ -2475,7 +2475,55 @@ extern int mNT_check_unknown(mActor_name_t item_no);
#define FTR_SPRING_MEDAL 0x32A8
#define FTR_AUTUMN_MEDAL 0x32AC
#define FTR_TUMBLEWEED 0x32B0
#define FTR_COW_SKULL 0x32B4
#define FTR_OIL_DRUM 0x32B8
#define FTR_SADDLE_FENCE 0x32BC
#define FTR_WESTERN_FENCE 0x32C0
#define FTR_WATERING_TROUGH 0x32C4
#define FTR_LUIGI_TROPHY 0x32C8
#define FTR_MARIO_TROPHY 0x32CC
#define FTR_HARVEST_LAMP 0x32D0
#define FTR_COVERED_WAGON 0x32D4
#define FTR_STOREFRONT 0x32D8
#define FTR_PICNIC_TABLE 0x32DC
#define FTR_HARVEST_TABLE 0x32E0
#define FTR_HARVEST_TV 0x32E4
#define FTR_HARVEST_BED 0x32E8
#define FTR_HARVEST_CHAIR 0x32EC
#define FTR_HARVEST_CLOCK 0x32F0
#define FTR_HARVEST_SOFA 0x32F4
#define FTR_GREEN_PIPE 0x32F8
#define FTR_BRICK_BLOCK 0x32FC
#define FTR_HARVEST_BUREAU 0x3300
#define FTR_FLAGPOLE 0x3304
#define FTR_HARVEST_DRESSER 0x3308
#define FTR_SUPER_MUSHROOM 0x330C
#define FTR_HARVEST_MIRROR 0x3310
#define FTR_COIN 0x3314
#define FTR_Q_BLOCK 0x3318
#define FTR_STARMAN 0x331C
#define FTR_KOOPA_SHELL 0x3320
#define FTR_CANNON 0x3324
#define FTR_DESERT_CACTUS 0x3328
#define FTR_FIRE_FLOWER 0x332C
#define FTR_WAGON_WHEEL 0x3330
#define FTR_WELL 0x3334
#define FTR_BOXING_BARRICADE 0x3338
#define FTR_NEUTRAL_CORNER 0x333C
#define FTR_RED_CORNER 0x3340
#define FTR_BLUE_CORNER 0x3344
#define FTR_BOXING_MAT 0x3348
#define FTR_RINGSIDE_TABLE 0x334C
#define FTR_SPEED_BAG 0x3350
#define FTR_SANDBAG 0x3354
#define FTR_WEIGHT_BENCH 0x3358
#define FTR_CAMPFIRE 0x335C
#define FTR_BONFIRE 0x3360
#define FTR_KAYAK 0x3364
#define FTR_SPRINKLER 0x3368
#define FTR_TENT_MODEL 0x336C
#define FTR_BACKPACK 0x3370
#define FTR_ANGLER_TROPHY 0x3374
#define FTR_PANSY_MODEL1 0x3378
#define FTR_PANSY_MODEL2 0x337C
@@ -2486,7 +2534,12 @@ extern int mNT_check_unknown(mActor_name_t item_no);
#define FTR_TULIP_MODEL1 0x3390
#define FTR_TULIP_MODEL2 0x3394
#define FTR_TULIP_MODEL3 0x3398
#define FTR_LANTERN 0x339C
#define FTR_LAWN_MOWER 0x33A0
#define FTR_COOLER 0x33A4
#define FTR_MOUNTAIN_BIKE 0x33A8
#define FTR_SLEEPING_BAG 0x33AC
#define FTR_PROPANE_STOVE 0x33B0
#define FTR_CORNUCOPIA 0x33B4
#define FTR_JUDGES_BELL 0x33B8
#define FTR_NOISEMAKER 0x33BC