Files
ac-decomp/include/ac_boat_demo.h
T
2024-01-09 07:39:51 -05:00

89 lines
1.8 KiB
C

#ifndef AC_BOAT_DEMO_H
#define AC_BOAT_DEMO_H
#include "types.h"
#include "m_actor.h"
#include "m_demo.h"
#include "ac_boat.h"
#include "ac_npc_sendo.h"
#include "ac_ev_castaway.h"
#include "m_common_data.h"
#ifdef __cplusplus
extern "C" {
#endif
#define aBTD_LOADER_SIZE 0xC83C
#define aBTD_PROGRAM_SIZE 0x15244
enum {
aBTD_ACTION_SENDO_BIRTH_WAIT,
aBTD_ACTION_PL_RIDE_ON_START_WAIT,
aBTD_ACTION_PL_RIDE_ON_END_WAIT,
aBTD_ACTION_START_CALL_END_WAIT,
aBTD_ACTION_SONG_BGM_START_WAIT,
aBTD_ACTION_SING_SENDO_START_WAIT,
aBTD_ACTION_SING_SENDO_MSG_SET_WAIT,
aBTD_ACTION_SENDO_DIALOGUE_START_WAIT,
aBTD_ACTION_SING_SENDO_START_WAIT2,
aBTD_ACTION_MOVE_BOAT_END_WAIT,
aBTD_ACTION_TOUCH_WHARF_END_WAIT,
aBTD_ACTION_PL_RIDE_OFF_START_WAIT,
aBTD_ACTION_PL_RIDE_OFF_END_WAIT,
aBTD_ACTION_ANCHOR_WAIT,
aBTD_ACTION_NUM
};
enum {
aBTD_DEMO_PL_RIDE_ON_START,
aBTD_DEMO_PL_RIDE_ON_END,
aBTD_DEMO_START_CALL_END,
aBTD_DEMO_MOVE_BOAT_END,
aBTD_DEMO_TOUCH_WHARF_END,
aBTD_DEMO_PL_RIDE_OFF_START,
aBTD_DEMO_PL_RIDE_OFF_END,
aBTD_DEMO_ANCHOR,
aBTD_DEMO_NUM
};
typedef struct boat_demo_s BOAT_DEMO_ACTOR;
#define aBTD_GET_DEMO_ACTOR() (BOAT_DEMO_ACTOR*)(Common_Get(clip).demo_clip2->class)
typedef void (*aBTD_PROC)(BOAT_DEMO_ACTOR*, GAME_PLAY*);
struct boat_demo_s {
ACTOR actor_class;
int action;
aBTD_PROC action_proc;
int demo_act;
int song_bgm_timer;
BOAT_ACTOR* boat_actor;
NPC_SENDO_ACTOR* npc_sendo_actor;
EV_CASTAWAY_ACTOR* castaway_actor;
int at_island;
xyz_t passenger_ofs;
f32 boat_speed;
int island_npc_info_registered;
u8* island_gba_loader_p;
u8* island_gba_program_p;
u8 player_pattern;
u8 sing_dialog_ofs;
u8 sing_2nd_part;
u8 sing_2nd_part_bgm_no;
int sing_msg_no;
u16 touch_wharf_timer;
u8 touching_wharf;
};
extern ACTOR_PROFILE Boat_Demo_Profile;
#ifdef __cplusplus
}
#endif
#endif