mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-05-22 22:24:16 -04:00
77 lines
1.3 KiB
C
77 lines
1.3 KiB
C
#ifndef AC_EV_DOZAEMON_H
|
|
#define AC_EV_DOZAEMON_H
|
|
|
|
#include "types.h"
|
|
#include "m_actor.h"
|
|
#include "ac_npc.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define aEDZ_SAVE_FLAG_WAKEUP (1 << 0)
|
|
#define aEDZ_SAVE_FLAG_GIVE (1 << 1)
|
|
#define aEDZ_SAVE_FLAG_GAVE_FIRST (1 << 2)
|
|
|
|
enum {
|
|
aEDZ_INIT_PROC_NONE,
|
|
aEDZ_INIT_PROC_NORMAL_WAIT,
|
|
aEDZ_INIT_PROC_TAORERU,
|
|
aEDZ_INIT_PROC_OKIAGARU,
|
|
aEDZ_INIT_PROC_WANDER,
|
|
|
|
aEDZ_INIT_PROC_NUM
|
|
};
|
|
|
|
enum {
|
|
aEDZ_THINK_PROC_NONE,
|
|
aEDZ_THINK_PROC_ANIME_NEXT,
|
|
|
|
aEDZ_THINK_PROC_NUM
|
|
};
|
|
|
|
enum {
|
|
aEDZ_TALK_PROC_NONE,
|
|
aEDZ_TALK_PROC_NORMAL,
|
|
aEDZ_TALK_PROC_FORCE,
|
|
|
|
aEDZ_TALK_PROC_NUM
|
|
};
|
|
|
|
enum {
|
|
aEDZ_THINK_NORMAL_WAIT,
|
|
aEDZ_THINK_TAORERU,
|
|
aEDZ_THINK_OKIAGARU,
|
|
aEDZ_THINK_OKIAGARU_AFTER,
|
|
aEDZ_THINK_WANDER,
|
|
|
|
aEDZ_THINK_NUM
|
|
};
|
|
|
|
typedef struct dozaemon_actor_s DOZAEMON_ACTOR;
|
|
|
|
typedef void (*aEDZ_THINK_PROC)(DOZAEMON_ACTOR* actor, GAME_PLAY* play);
|
|
typedef void (*aEDZ_TALK_PROC)(DOZAEMON_ACTOR* actor, GAME_PLAY* play);
|
|
|
|
struct dozaemon_actor_s {
|
|
NPC_ACTOR npc_class;
|
|
aEDZ_THINK_PROC think_proc;
|
|
aEDZ_TALK_PROC talk_proc;
|
|
s16 give_flag;
|
|
s16 _99E[2];
|
|
u8 think_idx;
|
|
u8 next_think_idx;
|
|
u8 _9A4;
|
|
u8 _9A5;
|
|
u8 change_think;
|
|
u8 melody_backup;
|
|
};
|
|
|
|
extern ACTOR_PROFILE Ev_Dozaemon_Profile;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|