mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-05-23 14:41:38 -04:00
72 lines
1.4 KiB
C
72 lines
1.4 KiB
C
#ifndef AC_EVENT_MANAGER_H
|
|
#define AC_EVENT_MANAGER_H
|
|
|
|
#include "types.h"
|
|
#include "m_actor.h"
|
|
#include "m_npc.h"
|
|
#include "m_olib.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct event_manager_actor_s EVENT_MANAGER_ACTOR;
|
|
|
|
enum {
|
|
aEvMgr_EVENT_PLACE_SHRINE = 4,
|
|
};
|
|
|
|
typedef int (*aEvMgr_TITLE_FADE_PROC)(EVENT_MANAGER_ACTOR*, int, int, u32);
|
|
|
|
typedef struct event_manager_clip_s {
|
|
EVENT_MANAGER_ACTOR* event_manager_actor;
|
|
aEvMgr_TITLE_FADE_PROC title_fade_proc;
|
|
} aEvMgr_Clip_c;
|
|
|
|
typedef struct event_manager_field_info_s {
|
|
BlockOrUnit_c block_max;
|
|
Anmhome_c* reserve_buf;
|
|
int reserve_num;
|
|
} aEvMgr_field_info_c;
|
|
|
|
typedef struct event_manager_player_pos_s {
|
|
int bx;
|
|
int bz;
|
|
int last_bx;
|
|
int last_bz;
|
|
} aEvMgr_player_pos_c;
|
|
|
|
struct event_manager_actor_s {
|
|
ACTOR actor_class;
|
|
aEvMgr_player_pos_c player_pos;
|
|
u8 _184[0x1E8 - 0x184];
|
|
aEvMgr_field_info_c field_info;
|
|
int _1F8;
|
|
int _1FC;
|
|
int month_day;
|
|
int day_hour;
|
|
int change;
|
|
BlockOrUnit_c next_block;
|
|
BlockOrUnit_c pool_block;
|
|
int pool_block_exists;
|
|
BlockOrUnit_c station_block;
|
|
int station_block_exists;
|
|
BlockOrUnit_c shrine_block;
|
|
int shrine_block_exists;
|
|
BlockOrUnit_c player_home_block;
|
|
int player_home_exists;
|
|
BlockOrUnit_c dock_block;
|
|
int dock_block_exists;
|
|
int skip_event_at_wade;
|
|
int _254;
|
|
aEvMgr_Clip_c clip;
|
|
};
|
|
|
|
extern ACTOR_PROFILE Event_Manager_Profile;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|