mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-05-23 06:34:18 -04:00
58 lines
1.3 KiB
C
58 lines
1.3 KiB
C
#ifndef AC_EV_CARPETPEDDLER_H
|
|
#define AC_EV_CARPETPEDDLER_H
|
|
|
|
#include "types.h"
|
|
#include "m_actor.h"
|
|
#include "ac_npc.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
extern ACTOR_PROFILE Ev_CarpetPeddler_Profile;
|
|
|
|
#define eECPD_PRICE_MULT_CAP 4
|
|
#define eECPD_PRICE_START 3000
|
|
|
|
typedef struct ev_carpetpeddler_s EV_CARPETPEDDLER_ACTOR;
|
|
|
|
typedef void (*aECPD_PROC)(EV_CARPETPEDDLER_ACTOR*, GAME_PLAY*, int);
|
|
typedef void (*aECPD_INIT_PROC)(EV_CARPETPEDDLER_ACTOR*, GAME_PLAY*);
|
|
|
|
struct ev_carpetpeddler_s {
|
|
NPC_ACTOR npc_class;
|
|
/* 0x994 */ int _994;
|
|
/* 0x998 */ int _998;
|
|
/* 0x99c */ aECPD_INIT_PROC proc;
|
|
/* 0x9a0 */ aECPD_PROC setup_action;
|
|
/* 0x9a4 */ int price;
|
|
/* 0x9a8 */ mActor_name_t carpet;
|
|
/* 0x9aa */ mActor_name_t trade_in_item;
|
|
/* 0x9ac */ int next_action;
|
|
};
|
|
|
|
enum ev_carpetpeddler_action {
|
|
eECPD_ACTION_NONE,
|
|
eECPD_ACTION_MSG_WIN_OPEN_WAIT,
|
|
eECPD_ACTION_DEMO_START_WAIT,
|
|
eECPD_ACTION_1ST_CHECK,
|
|
eECPD_ACTION_2ND_CHECK,
|
|
eECPD_ACTION_GRAD_MESSAGE,
|
|
eECPD_ACTION_MENU_OPEN_WAIT,
|
|
eECPD_ACTION_MENU_CLOSE_WAIT,
|
|
eECPD_ACTION_DEMO0_END_WAIT,
|
|
eECPD_ACTION_DEMO1_END_WAIT,
|
|
eECPD_ACTION_DEMO2_START_WAIT,
|
|
eECPD_ACTION_DEMO2_START_CHECK,
|
|
eECPD_ACTION_DEMO2_END_WAIT,
|
|
eECPD_ACTION_REFUSE_TRADE_IN,
|
|
eECPD_ACTION_REFUSE_TRADE_IN_END_WAIT
|
|
};
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|
|
|