mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-05-23 06:34:18 -04:00
@@ -15,6 +15,17 @@ typedef struct audio_tempo_beat_s {
|
||||
/* 0x01 */ s8 beat;
|
||||
} TempoBeat_c;
|
||||
|
||||
enum {
|
||||
VOICE_STATUS_NORMAL,
|
||||
VOICE_STATUS_ANGRY,
|
||||
VOICE_STATUS_SAD,
|
||||
VOICE_STATUS_FUN,
|
||||
VOICE_STATUS_SLEEPY,
|
||||
VOICE_STATUS_GLOOMY,
|
||||
|
||||
VOICE_STATUS_NUM
|
||||
};
|
||||
|
||||
extern void sAdo_Calc_MicPosition_forTrig(f32* fcalc, u16* scalc, xyz_t* pos);
|
||||
extern void sAdo_Calc_MicPosition_forLevel(f32* fcalc, u16* scalc, xyz_t* pos);
|
||||
|
||||
|
||||
@@ -7,6 +7,10 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define VOICE_MODE_ANIMALESE 0
|
||||
#define VOICE_MODE_CLICK 1
|
||||
#define VOICE_MODE_SILENT 2
|
||||
|
||||
/* audio is monophonic */
|
||||
#define MONO(id) (id | 0x1000)
|
||||
#define SE_FLAG_15(id) (id | 0x8000)
|
||||
|
||||
+3
-5
@@ -11,16 +11,14 @@ enum {
|
||||
Config_SOUND_MODE_0,
|
||||
Config_SOUND_MODE_1,
|
||||
Config_SOUND_MODE_2,
|
||||
Config_SOUND_MODE_3,
|
||||
|
||||
Config_SOUND_MODE_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
Config_VOICE_MODE_0,
|
||||
Config_VOICE_MODE_1,
|
||||
Config_VOICE_MODE_2,
|
||||
Config_VOICE_MODE_3,
|
||||
Config_VOICE_MODE_ANIMALESE,
|
||||
Config_VOICE_MODE_CLICK,
|
||||
Config_VOICE_MODE_SILENT,
|
||||
|
||||
Config_VOICE_MODE_NUM
|
||||
};
|
||||
|
||||
+25
-1
@@ -285,7 +285,7 @@ extern "C" {
|
||||
enum {
|
||||
mFont_CONT_CODE_BEGIN = 0,
|
||||
mFont_CONT_CODE_LAST = mFont_CONT_CODE_BEGIN,
|
||||
mFont_CONT_CODE_CONINTUE,
|
||||
mFont_CONT_CODE_CONTINUE,
|
||||
mFont_CONT_CODE_CLEAR,
|
||||
mFont_CONT_CODE_CURSOR_SET_TIME,
|
||||
mFont_CONT_CODE_BUTTON,
|
||||
@@ -435,6 +435,30 @@ enum {
|
||||
mFont_LineType_End
|
||||
};
|
||||
|
||||
enum {
|
||||
mFont_BGM_QUIET,
|
||||
|
||||
// TODO
|
||||
|
||||
mFont_BGM_NUM = 9
|
||||
};
|
||||
|
||||
enum {
|
||||
mFont_BGM_STOP_TYPE_NORMAL,
|
||||
mFont_BGM_STOP_TYPE_QUICK,
|
||||
mFont_BGM_STOP_TYPE_RESETTI,
|
||||
|
||||
mFont_BGM_STOP_TYPE_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mFont_SE_0,
|
||||
|
||||
// TODO
|
||||
|
||||
mFont_SE_NUM = 7
|
||||
};
|
||||
|
||||
#define mFont_CHAR_FLAG_CUT 1
|
||||
#define mFont_CHAR_FLAG_USE_POLY 2
|
||||
#define mFont_CHAR_FLAG_SCALE 4
|
||||
|
||||
+112
-69
@@ -6,14 +6,19 @@
|
||||
#include "m_choice.h"
|
||||
#include "m_item_name.h"
|
||||
#include "m_msg_data.h"
|
||||
#include "audio.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define mMsg_MSG_BUF_MAX 1536
|
||||
#define mMsg_MSG_BUF_SIZE 1600
|
||||
#define mMsg_FREE_STRING_LEN 16
|
||||
#define mMsg_MAIL_STRING_LEN 132
|
||||
#define mMsg_MAX_LINE 4
|
||||
|
||||
#define mMsg_BUTTON_TURN_TIME 60.0f
|
||||
|
||||
enum {
|
||||
mMsg_INDEX_HIDE,
|
||||
@@ -69,8 +74,33 @@ enum {
|
||||
mMsg_MAIL_STR_NUM
|
||||
};
|
||||
|
||||
#define mMsg_STATUS_FLAG_ZOOMDOWN_LONG (1 << 11) /* When set, mMsg_sound_ZOOMDOWN_SHORT() sfx will not play */
|
||||
enum {
|
||||
mMsg_RESULT_VOID,
|
||||
mMsg_RESULT_FALSE,
|
||||
mMsg_RESULT_TRUE,
|
||||
|
||||
mMsg_RESULT_NUM
|
||||
};
|
||||
|
||||
#define mMsg_STATUS_FLAG_SOUND_CUT (1 << 0) // 0x000001
|
||||
#define mMsg_STATUS_FLAG_NO_SE_PAGE_OKURI (1 << 1) // 0x000002
|
||||
#define mMsg_STATUS_FLAG_NO_ZOOMUP (1 << 2) // 0x000004
|
||||
#define mMsg_STATUS_FLAG_LAST_DELAY (1 << 3) // 0x000008
|
||||
#define mMsg_STATUS_FLAG_SPEC_VOICE (1 << 4) // 0x000010
|
||||
#define mMsg_STATUS_FLAG_VOICE_ENTRY (1 << 5) // 0x000020
|
||||
#define mMsg_STATUS_FLAG_IDLING_REQ (1 << 6) // 0x000040
|
||||
#define mMsg_STATUS_FLAG_IDLING_NOW (1 << 7) // 0x000080
|
||||
#define mMsg_STATUS_FLAG_FAST_TEXT (1 << 8) // 0x000100
|
||||
#define mMsg_STATUS_FLAG_NOT_PAUSE_FRAME (1 << 9) // 0x000200
|
||||
#define mMsg_STATUS_FLAG_UTTER (1 << 10) // 0x000400
|
||||
#define mMsg_STATUS_FLAG_NO_ZOOMDOWN (1 << 11) /* When set, mMsg_sound_ZOOMDOWN_[SHORT, LONG]() sfx will not play */
|
||||
#define mMsg_STATUS_FLAG_VOICE_CLICK (1 << 12) // 0x001000
|
||||
#define mMsg_STATUS_FLAG_VOICE_SILENT (1 << 13) // 0x002000
|
||||
#define mMsg_STATUS_FLAG_CURSOL_JUST (1 << 14) /* Sets cursor justification */
|
||||
#define mMsg_STATUS_FLAG_CUT_ARTICLE (1 << 15) // 0x008000
|
||||
#define mMsg_STATUS_FLAG_CAPITALIZE (1 << 16) // 0x010000
|
||||
#define mMsg_STATUS_FLAG_USE_AM (1 << 17) /* 'AM' when set, 'PM' when not set */
|
||||
#define mMsg_STATUS_FLAG_18 (1 << 18) // 0x040000
|
||||
|
||||
typedef struct message_window_s mMsg_Window_c;
|
||||
typedef struct message_data_s mMsg_Data_c;
|
||||
@@ -86,7 +116,7 @@ typedef struct {
|
||||
} mMsg_MainDisappearWait_Data_c;
|
||||
|
||||
typedef struct {
|
||||
int saved_main_index;
|
||||
int last_main_index;
|
||||
} mMsg_MainWait_Data_c;
|
||||
|
||||
typedef union {
|
||||
@@ -104,24 +134,24 @@ typedef struct {
|
||||
} mMsg_Request_MainAppear_Data_c;
|
||||
|
||||
typedef struct {
|
||||
int saved_main_index;
|
||||
int init_flags;
|
||||
int last_main_index;
|
||||
u32 setup_flag;
|
||||
} mMsg_Request_MainAppearWait_Data_c;
|
||||
|
||||
typedef struct {
|
||||
int init_flags;
|
||||
int wait_flag;
|
||||
} mMsg_Request_MainCursor_Data_c;
|
||||
|
||||
typedef struct {
|
||||
int init_flags;
|
||||
int last_main_index;
|
||||
} mMsg_Request_MainDisappearWait_Data_c;
|
||||
|
||||
typedef struct {
|
||||
int init_flags;
|
||||
int wait_flag;
|
||||
} mMsg_Request_MainNormal_Data_c;
|
||||
|
||||
typedef struct {
|
||||
int saved_main_index;
|
||||
int last_main_index;
|
||||
} mMsg_Request_MainWait_Data_c;
|
||||
|
||||
typedef union {
|
||||
@@ -135,7 +165,7 @@ typedef union {
|
||||
} mMsg_Request_Data_c;
|
||||
|
||||
typedef union {
|
||||
u8 data[mMsg_MSG_BUF_SIZE];
|
||||
u8 data[mMsg_MSG_BUF_SIZE] ATTRIBUTE_ALIGN(32);
|
||||
u64 align;
|
||||
} mMsg_MsgBuf_c;
|
||||
|
||||
@@ -158,18 +188,18 @@ struct message_window_s {
|
||||
/* 0x018 */ f32 width;
|
||||
/* 0x01C */ f32 height;
|
||||
|
||||
/* 0x020 */ ACTOR* talk_actor;
|
||||
/* 0x020 */ ACTOR* client_actor_p;
|
||||
/* 0x024 */ int show_actor_name;
|
||||
/* 0x028 */ int actor_name_len;
|
||||
/* 0x02C */ int nameplate_x;
|
||||
/* 0x030 */ int nameplay_y;
|
||||
/* 0x028 */ int client_name_len;
|
||||
/* 0x02C */ f32 nameplate_x;
|
||||
/* 0x030 */ f32 nameplate_y;
|
||||
|
||||
/* 0x034 */ int show_continue_button;
|
||||
|
||||
/* 0x038 */ u8 free_str[mMsg_FREE_STR_NUM][mMsg_FREE_STRING_LEN];
|
||||
/* 0x178 */ int free_str_article[mMsg_FREE_STR_NUM];
|
||||
|
||||
/* 0x1C8 */ u8 item_str[mMsg_ITEM_STR_NUM][mMsg_FREE_STRING_LEN];
|
||||
/* 0x1C8 */ u8 item_str[mMsg_ITEM_STR_NUM][mIN_ITEM_NAME_LEN];
|
||||
/* 0x218 */ int item_str_article[mMsg_ITEM_STR_NUM];
|
||||
|
||||
/* 0x22C */ u8 mail_str[mMsg_MAIL_STR_NUM][mMsg_MAIL_STRING_LEN];
|
||||
@@ -178,7 +208,7 @@ struct message_window_s {
|
||||
/* 0x2B4 */ rgba_t name_background_color;
|
||||
|
||||
/* 0x2B8 */ rgba_t window_background_color;
|
||||
/* 0x2BC */ rgba_t font_color[4];
|
||||
/* 0x2BC */ rgba_t font_color[mMsg_MAX_LINE];
|
||||
|
||||
/* 0x2CC */ rgba_t continue_button_color;
|
||||
|
||||
@@ -189,7 +219,7 @@ struct message_window_s {
|
||||
/* 0x2DC */ int _2DC;
|
||||
|
||||
/* 0x2E0 */ int text_lines;
|
||||
/* 0x2E4 */ int current_line;
|
||||
/* 0x2E4 */ int now_display_line;
|
||||
|
||||
/* 0x2E8 */ mChoice_c choice_window;
|
||||
|
||||
@@ -228,66 +258,79 @@ struct message_window_s {
|
||||
/* 0x448 */ int continue_cancel_flag;
|
||||
/* 0x44C */ int force_next;
|
||||
/* 0x450 */ int lock_continue;
|
||||
/* 0x454 */ s8 now_utter;
|
||||
/* 0x454 */ u8 now_utter;
|
||||
|
||||
/* 0x458 */ mMsg_Main_Data_c main_data;
|
||||
/* 0x460 */ mMsg_Request_Data_c request_data;
|
||||
};
|
||||
|
||||
extern int mMsg_Get_Length_String(u8* buf, size_t buf_size);
|
||||
extern mMsg_Window_c* mMsg_Get_base_window_p();
|
||||
extern void mMsg_Set_free_str(mMsg_Window_c* msg, int free_str_no, u8* str, int str_size);
|
||||
extern void mMsg_Set_free_str_art(mMsg_Window_c* msg, int free_str_no, u8* str, int str_size, int article_no);
|
||||
extern void mMsg_Set_item_str_art(mMsg_Window_c* msg, int free_str_no, u8* str, int str_size, int article_no);
|
||||
extern void mMsg_ct(GAME_PLAY*);
|
||||
extern void mMsg_dt(GAME_PLAY*);
|
||||
extern void mMsg_Main(GAME_PLAY*);
|
||||
extern void mMsg_Draw(GAME_PLAY*);
|
||||
extern void mMsg_debug_draw(gfxprint_t* gfxprint);
|
||||
extern void mMsg_aram_init();
|
||||
extern void mMsg_aram_init2();
|
||||
extern int mMsg_Check_MainHide(mMsg_Window_c* msg);
|
||||
extern void mMsg_Set_item_str(mMsg_Window_c* msg_win, int str_no, u8* item_str, int str_len);
|
||||
extern void mMsg_Set_mail_str(mMsg_Window_c* msg_win, int str_no, u8* str, int str_len);
|
||||
extern void mMsg_Set_continue_msg_num(mMsg_Window_c* msg_win, int continue_msg_num);
|
||||
extern int mMsg_Check_MainNormalContinue(mMsg_Window_c* msg_win);
|
||||
extern int mMsg_Check_main_wait(mMsg_Window_c* msg_win);
|
||||
extern int mMsg_ChangeMsgData(mMsg_Window_c* msg_win, int msg_no);
|
||||
extern void mMsg_Set_ForceNext(mMsg_Window_c* msg_win);
|
||||
extern int mMsg_Check_not_series_main_wait(mMsg_Window_c* msg_win);
|
||||
extern int mMsg_Check_MainDisappear(mMsg_Window_c* msg_win);
|
||||
extern void mMsg_request_main_disappear_wait_type1(mMsg_Window_c* msg_win);
|
||||
extern void mMsg_request_main_appear_wait_type1(mMsg_Window_c* msg_win);
|
||||
extern void mMsg_Get_BodyParam(u32 table_rom_start, u32 data_rom_start, int entry_no, u32* data_addr, u32* data_size);
|
||||
extern void mMsg_Set_LockContinue(mMsg_Window_c* msg_win);
|
||||
extern void mMsg_Unset_LockContinue(mMsg_Window_c* msg_win);
|
||||
extern int mMsg_Get_msg_num(mMsg_Window_c* msg_win);
|
||||
extern int mMsg_Check_main_index(mMsg_Window_c* msg_win, int index);
|
||||
extern int mMsg_request_main_appear(mMsg_Window_c* msg_win, ACTOR* other_actor, int display_name, rgba_t* window_color_p, int msg_no, int request_priority);
|
||||
extern int mMsg_Check_main_hide(mMsg_Window_c* msg_win);
|
||||
extern int mMsg_sound_voice_get_for_editor(int code);
|
||||
extern int mMsg_sound_spec_change_voice(mMsg_Window_c* msg_win);
|
||||
extern void mMsg_request_main_forceoff();
|
||||
extern int mMsg_CopyPlayerName(u8* data, int idx, int max_size, int capitalize);
|
||||
extern int mMsg_CopyTalkName(ACTOR* actor, u8* data, int idx, int max_size, int capitalize);
|
||||
extern int mMsg_CopyTail(ACTOR* actor, u8* data, int idx, int max_size, int capitalize);
|
||||
extern int mMsg_CopyYear(u8* data, int idx, int max_size);
|
||||
extern int mMsg_CopyMonth(u8* data, int idx, int max_size);
|
||||
extern int mMsg_CopyWeek(u8* data, int idx, int max_size);
|
||||
extern int mMsg_CopyDay(u8* data, int idx, int max_size);
|
||||
extern int mMsg_CopyHour(u8* data, int idx, int max_size);
|
||||
extern int mMsg_CopyMin(u8* data, int idx, int max_size);
|
||||
extern int mMsg_CopySec(u8* data, int idx, int max_size);
|
||||
extern int mMsg_CopyFree(mMsg_Window_c* msg_win, int free_idx, u8* data, int idx, int max_size, int article, int capitalize);
|
||||
extern int mMsg_CopyDetermination(mMsg_Window_c* msg_win, u8* data, int idx, int max_size);
|
||||
extern int mMsg_CopyCountryName(u8* data, int idx, int max_size, int capitalize);
|
||||
extern int mMsg_CopyRamdomNumber2(u8* data, int idx, int max_size);
|
||||
extern int mMsg_CopyItem(mMsg_Window_c* msg_win, int item_idx, u8* data, int idx, int max_size, int article, int capitalize);
|
||||
extern int mMsg_CopyMail(mMsg_Window_c* msg_win, int mail_idx, u8* data, int idx, int max_size);
|
||||
extern int mMsg_CopyIslandName(u8* data, int idx, int max_size, int capitalize);
|
||||
extern int mMsg_CopyAmPm(mMsg_Window_c* msg_win, u8* data, int idx, int max_size);
|
||||
extern void mMsg_sound_set_voice_silent(mMsg_Window_c* msg_win, int update_voice_mode);
|
||||
extern void mMsg_sound_unset_voice_silent(mMsg_Window_c* msg_win, int update_voice_mode);
|
||||
extern void mMsg_ct(GAME* game);
|
||||
extern void mMsg_dt(GAME* game);
|
||||
extern void mMsg_debug_draw(gfxprint_t* gfxprint);
|
||||
extern void mMsg_Main(GAME* game);
|
||||
extern void mMsg_Draw(GAME* game);
|
||||
extern mMsg_Window_c* mMsg_Get_base_window_p();
|
||||
extern int mMsg_Check_request_priority(mMsg_Window_c* msg_p, int request_priority);
|
||||
extern int mMsg_Check_main_index(mMsg_Window_c* msg_p, int main_index);
|
||||
extern int mMsg_Check_main_wait(mMsg_Window_c* msg_p);
|
||||
extern int mMsg_Check_not_series_main_wait(mMsg_Window_c* msg_p);
|
||||
extern int mMsg_Check_main_hide(mMsg_Window_c* msg_p);
|
||||
extern int mMsg_request_main_forceoff();
|
||||
extern int mMsg_request_main_disappear(mMsg_Window_c* msg_p);
|
||||
extern int mMsg_request_main_appear(mMsg_Window_c* msg_p, ACTOR* client_actor_p, int show_name, rgba_t* window_color, int msg_no, int request_priority);
|
||||
extern int mMsg_request_main_disappear_wait_type1(mMsg_Window_c* msg_p);
|
||||
extern int mMsg_request_main_disappear_wait_type2(mMsg_Window_c* msg_p);
|
||||
extern int mMsg_request_main_appear_wait_type2(mMsg_Window_c* msg_p, int clear_flag);
|
||||
extern int mMsg_request_main_appear_wait_type1(mMsg_Window_c* msg_p);
|
||||
extern void mMsg_Set_free_str(mMsg_Window_c* msg_p, int free_str_no, u8* str, int str_len);
|
||||
extern void mMsg_Set_free_str_cl(mMsg_Window_c* msg_p, int str_no, u8* str_p, int str_len, int cl_id);
|
||||
extern void mMsg_Set_free_str_art(mMsg_Window_c* msg_p, int str_no, u8* str_p, int str_len, int article);
|
||||
extern void mMsg_Set_free_str_cl_art(mMsg_Window_c* msg_p, int str_no, u8* str_p, int str_len, int cl_id, int article);
|
||||
extern void mMsg_Set_item_str(mMsg_Window_c* msg_p, int item_str_no, u8* str, int str_len);
|
||||
extern void mMsg_Set_item_str_art(mMsg_Window_c* msg_p, int item_str_no, u8* str, int str_len, int article);
|
||||
/* @unused extern void mMsg_Get_free_str(mMsg_Window_c* msg_p, int free_str_no, u8* str?) */
|
||||
/* @unused extern void mMsg_Get_item_str(mMsg_Window_c* msg_p, int item_str_no, u8* str?) */
|
||||
extern void mMsg_Set_mail_str(mMsg_Window_c* msg_p, int mail_str_no, u8* str, int str_len);
|
||||
extern void mMsg_Set_continue_msg_num(mMsg_Window_c* msg_p, int msg_no);
|
||||
extern int mMsg_Get_msg_num(mMsg_Window_c* msg_p);
|
||||
extern void mMsg_Get_BodyParam(u32 table_addr, u32 data_addr, int index, u32* addr, u32* size);
|
||||
extern int mMsg_ChangeMsgData(mMsg_Window_c* msg_p, int index);
|
||||
extern int mMsg_Check_NowUtter();
|
||||
extern int mMsg_Get_Length_String(u8* str, int str_len);
|
||||
extern int mMsg_Check_MainNormalContinue(mMsg_Window_c* msg_p);
|
||||
extern int mMsg_Check_MainNormal(mMsg_Window_c* msg_p);
|
||||
extern int mMsg_Check_MainHide(mMsg_Window_c* msg_p);
|
||||
extern int mMsg_Check_MainDisappear(mMsg_Window_c* msg_p);
|
||||
extern void mMsg_Set_CancelNormalContinue(mMsg_Window_c* msg_p);
|
||||
extern void mMsg_Unset_CancelNormalContinue(mMsg_Window_c* msg_p);
|
||||
extern void mMsg_Set_ForceNext(mMsg_Window_c* msg_p);
|
||||
extern void mMsg_Unset_ForceNext(mMsg_Window_c* msg_p);
|
||||
// extern int mMsg_Get_LockContinue(mMsg_Window_c* msg_p);
|
||||
extern void mMsg_Set_LockContinue(mMsg_Window_c* msg_p);
|
||||
extern void mMsg_Unset_LockContinue(mMsg_Window_c* msg_p);
|
||||
extern void mMsg_Set_idling_req(mMsg_Window_c* msg_p);
|
||||
extern int mMsg_Check_idling_now(mMsg_Window_c* msg_p);
|
||||
extern int mMsg_MoveDataCut(u8* data, int dst_idx, int src_idx, int len, int space_flag);
|
||||
extern int mMsg_CopyPlayerName(u8* data, int start_idx, int len, u32 capitalize);
|
||||
extern int mMsg_CopyTalkName(ACTOR* actor_p, u8* data, int start_idx, int len, u32 capitalize);
|
||||
extern int mMsg_CopyTail(ACTOR* actor_p, u8* data, int start_idx, int len, u32 capitalize);
|
||||
extern int mMsg_CopyYear(u8* data, int start_idx, int len);
|
||||
extern int mMsg_CopyMonth(u8* data, int start_idx, int len);
|
||||
extern int mMsg_CopyWeek(u8* data, int start_idx, int len);
|
||||
extern int mMsg_CopyDay(u8* data, int start_idx, int len);
|
||||
extern int mMsg_CopyHour(u8* data, int start_idx, int len);
|
||||
extern int mMsg_CopyMin(u8* data, int start_idx, int len);
|
||||
extern int mMsg_CopySec(u8* data, int start_idx, int len);
|
||||
extern int mMsg_CopyFree(mMsg_Window_c* msg_p, int str_no, u8* data, int start_idx, int len, int article, u32 capitalize);
|
||||
extern int mMsg_CopyDetermination(mMsg_Window_c* msg_p, u8* data, int start_idx, int len);
|
||||
extern int mMsg_CopyCountryName(u8 *data, int start_idx, int len, u32 capitalize);
|
||||
extern int mMsg_CopyIslandName(u8* data, int start_idx, int len, u32 capitalize);
|
||||
extern int mMsg_CopyAmPm(mMsg_Window_c* msg_p, u8* data, int start_idx, int len);
|
||||
extern int mMsg_CopyRamdomNumber2(u8* data, int start_idx, int len);
|
||||
extern int mMsg_CopyItem(mMsg_Window_c* msg_p, int str_no, u8* data, int start_idx, int len, int article, u32 capitalize);
|
||||
extern int mMsg_CopyMail(mMsg_Window_c* msg_p, int str_no, u8* data, int start_idx, int len, u32 capitalize);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -12,6 +12,8 @@ extern "C" {
|
||||
#define MSG_SANTA_WISH_CARPET 0x2B56
|
||||
#define MSG_SANTA_WISH_CLOTH 0x2B57
|
||||
|
||||
#define MSG_MAX 0x3F91 /* Maximum message id */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user