mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-05-22 22:24:16 -04:00
Implement ac_my_room_msg_ctrl.c_inc
This commit is contained in:
+2
-1
@@ -21,4 +21,5 @@ section_defs:
|
||||
bss:
|
||||
- name: .bss
|
||||
balign: 4
|
||||
- name: .sbss
|
||||
- name: .sbss
|
||||
label_prefix: ".L"
|
||||
+2
-1
@@ -1,4 +1,5 @@
|
||||
path: dump/foresta.rel
|
||||
address: 0x803701C0
|
||||
bss_address: 0x8125A7C0
|
||||
dol: config/dol.yml
|
||||
dol: config/dol.yml
|
||||
label_prefix: ".L"
|
||||
+86
-87
@@ -21,7 +21,7 @@ extern "C" {
|
||||
#define NESTAG_GID "GID"
|
||||
#define NESTAG_GNM "GNM"
|
||||
#define NESTAG_CPN "CPN"
|
||||
#define NESTAG_OFS "OFS" /* Offset into the shared highscore data to read/write at */
|
||||
#define NESTAG_OFS "OFS" /* Offset into the shared highscore data to read/write at */
|
||||
#define NESTAG_HSC "HSC"
|
||||
#define NESTAG_GNO "GNO"
|
||||
#define NESTAG_BBR "BBR"
|
||||
@@ -47,122 +47,122 @@ typedef void* (*MALLOC_ALIGN_FUNC)(size_t size, u32 align);
|
||||
typedef void (*MALLOC_FREE_FUNC)(void* ptr);
|
||||
typedef int (*MALLOC_GETMEMBLOCKSIZE_FUNC)(void* ptr);
|
||||
typedef int (*MALLOC_GETTOTALFREESIZE_FUNC)();
|
||||
|
||||
|
||||
typedef struct malloc_s {
|
||||
MALLOC_ALIGN_FUNC malloc_align;
|
||||
MALLOC_FREE_FUNC free;
|
||||
MALLOC_GETMEMBLOCKSIZE_FUNC getmemblocksize;
|
||||
MALLOC_GETTOTALFREESIZE_FUNC gettotalfreesize;
|
||||
MALLOC_ALIGN_FUNC malloc_align;
|
||||
MALLOC_FREE_FUNC free;
|
||||
MALLOC_GETMEMBLOCKSIZE_FUNC getmemblocksize;
|
||||
MALLOC_GETTOTALFREESIZE_FUNC gettotalfreesize;
|
||||
} Famicom_MallocInfo;
|
||||
|
||||
enum filer_demo_mode {
|
||||
FILER_DEMO_MODE_NORMAL,
|
||||
FILER_DEMO_MODE_AUTO,
|
||||
FILER_DEMO_MODE_NORMAL,
|
||||
FILER_DEMO_MODE_AUTO,
|
||||
|
||||
FILER_DEMO_MODE_NUM
|
||||
FILER_DEMO_MODE_NUM
|
||||
};
|
||||
|
||||
#define FAMICOM_SAVE_DATA_NAME_LEN 8
|
||||
#define FAMICOM_MORI_NAME_LEN 16
|
||||
|
||||
typedef struct FamicomSaveDataHeader {
|
||||
u8 name[FAMICOM_SAVE_DATA_NAME_LEN];
|
||||
u8 _08;
|
||||
u8 _09;
|
||||
u8 headerSize;
|
||||
u8 checksum;
|
||||
u16 size;
|
||||
u8 no_save;
|
||||
u8 _temp[FAMICOM_SAVE_HEADER_SIZE - 0x000F];
|
||||
u8 name[FAMICOM_SAVE_DATA_NAME_LEN];
|
||||
u8 _08;
|
||||
u8 _09;
|
||||
u8 headerSize;
|
||||
u8 checksum;
|
||||
u16 size;
|
||||
u8 no_save;
|
||||
u8 _temp[FAMICOM_SAVE_HEADER_SIZE - 0x000F];
|
||||
} FamicomSaveDataHeader;
|
||||
|
||||
enum {
|
||||
MEMCARD_COMMENT_TYPE_NONE,
|
||||
MEMCARD_COMMENT_TYPE_DEFAULT,
|
||||
MEMCARD_COMMENT_TYPE_COPY_ROM, // converts rom's comment but converts "] ROM" to "] SAVE"
|
||||
MEMCARD_COMMENT_TYPE_COPY_EMBEDDED // uses the embedded and unique 'save' comment
|
||||
MEMCARD_COMMENT_TYPE_NONE,
|
||||
MEMCARD_COMMENT_TYPE_DEFAULT,
|
||||
MEMCARD_COMMENT_TYPE_COPY_ROM, // converts rom's comment but converts "] ROM" to "] SAVE"
|
||||
MEMCARD_COMMENT_TYPE_COPY_EMBEDDED // uses the embedded and unique 'save' comment
|
||||
};
|
||||
|
||||
enum {
|
||||
MEMCARD_BANNER_TYPE_NONE,
|
||||
MEMCARD_BANNER_TYPE_DEFAULT,
|
||||
MEMCARD_BANNER_TYPE_COPY_ROM, // copies the NES rom save's banner
|
||||
MEMCARD_BANNER_TYPE_COPY_EMBEDDED // uses the embedded and unique 'save' banner
|
||||
MEMCARD_BANNER_TYPE_NONE,
|
||||
MEMCARD_BANNER_TYPE_DEFAULT,
|
||||
MEMCARD_BANNER_TYPE_COPY_ROM, // copies the NES rom save's banner
|
||||
MEMCARD_BANNER_TYPE_COPY_EMBEDDED // uses the embedded and unique 'save' banner
|
||||
};
|
||||
|
||||
enum {
|
||||
MEMCARD_ICON_TYPE_NONE,
|
||||
MEMCARD_ICON_TYPE_DEFAULT,
|
||||
MEMCARD_ICON_TYPE_COPY_ROM, // copies the NES rom save's icon
|
||||
MEMCARD_ICON_TYPE_COPY_EMBEDDED // uses the embedded and unique 'save' icon
|
||||
MEMCARD_ICON_TYPE_NONE,
|
||||
MEMCARD_ICON_TYPE_DEFAULT,
|
||||
MEMCARD_ICON_TYPE_COPY_ROM, // copies the NES rom save's icon
|
||||
MEMCARD_ICON_TYPE_COPY_EMBEDDED // uses the embedded and unique 'save' icon
|
||||
};
|
||||
|
||||
enum {
|
||||
FAMICOM_RESULT_OK,
|
||||
FAMICOM_RESULT_NOSPACE,
|
||||
FAMICOM_RESULT_NOENTRY,
|
||||
FAMICOM_RESULT_BROKEN,
|
||||
FAMICOM_RESULT_WRONGDEVICE,
|
||||
FAMICOM_RESULT_WRONGENCODING,
|
||||
FAMICOM_RESULT_NOCARD,
|
||||
FAMICOM_RESULT_NOFILE
|
||||
FAMICOM_RESULT_OK,
|
||||
FAMICOM_RESULT_NOSPACE,
|
||||
FAMICOM_RESULT_NOENTRY,
|
||||
FAMICOM_RESULT_BROKEN,
|
||||
FAMICOM_RESULT_WRONGDEVICE,
|
||||
FAMICOM_RESULT_WRONGENCODING,
|
||||
FAMICOM_RESULT_NOCARD,
|
||||
FAMICOM_RESULT_NOFILE
|
||||
};
|
||||
|
||||
typedef struct MemcardGameHeader_t {
|
||||
u8 _00;
|
||||
u8 _01;
|
||||
u8 mori_name[16];
|
||||
u16 nesrom_size;
|
||||
u16 nestags_size;
|
||||
u16 icon_format;
|
||||
u16 icon_flags;
|
||||
u16 comment_img_size; /* Size of comment + banner + icon */
|
||||
struct {
|
||||
u8 has_comment_img:1;
|
||||
u8 comment_type:2;
|
||||
u8 banner_type:2;
|
||||
u8 icon_type:2;
|
||||
u8 no_copy_flag:1;
|
||||
} flags0;
|
||||
struct {
|
||||
u8 no_move_flag:1;
|
||||
u8 banner_fmt:2;
|
||||
u8 reserved:5;
|
||||
} flags1;
|
||||
u16 pad;
|
||||
u8 _00;
|
||||
u8 _01;
|
||||
u8 mori_name[FAMICOM_MORI_NAME_LEN];
|
||||
u16 nesrom_size;
|
||||
u16 nestags_size;
|
||||
u16 icon_format;
|
||||
u16 icon_flags;
|
||||
u16 comment_img_size; /* Size of comment + banner + icon */
|
||||
struct {
|
||||
u8 has_comment_img : 1;
|
||||
u8 comment_type : 2;
|
||||
u8 banner_type : 2;
|
||||
u8 icon_type : 2;
|
||||
u8 no_copy_flag : 1;
|
||||
} flags0;
|
||||
struct {
|
||||
u8 no_move_flag : 1;
|
||||
u8 banner_fmt : 2;
|
||||
u8 reserved : 5;
|
||||
} flags1;
|
||||
u16 pad;
|
||||
} MemcardGameHeader_t;
|
||||
|
||||
/* sizeof (FamicomCommon) == 0xB8 */
|
||||
typedef struct FamicomCommon {
|
||||
/* 0x00 */ ksNesCommonWorkObj* wp;
|
||||
/* 0x04 */ ksNesStateObj* sp;
|
||||
/* 0x08 */ u8* nesromp;
|
||||
/* 0x0C */ u8* chrramp;
|
||||
/* 0x10 */ u8* bbramp;
|
||||
/* 0x14 */ u8* noise_bufp;
|
||||
/* 0x18 */ u8* chr_to_i8_bufp;
|
||||
/* 0x1C */ u8* result_bufp;
|
||||
/* 0x20 */ u8* highscore_flagsp;
|
||||
/* 0x24 */ u8* nesinfo_tagsp;
|
||||
/* 0x28 */ int _28;
|
||||
/* 0x2C */ u8 nesrom_memcard; // TRUE: rom is loaded from memcard, FALSE: rom is loaded internally
|
||||
/* 0x2D */ u8 rom_no;
|
||||
/* 0x2E */ s8 save_pl_no;
|
||||
/* 0x2F */ u8 mura_save_name[33];
|
||||
/* 0x50 */ u8 famicom_save_name[33];
|
||||
/* 0x74 */ FamicomSaveDataHeader* save_data_header;
|
||||
/* 0x78 */ u8* internal_save_datap;
|
||||
/* 0x7C */ size_t save_data_total_size;
|
||||
/* 0x80 */ size_t save_data_single_size;
|
||||
/* 0x84 */ int _84;
|
||||
/* 0x88 */ u8* save_data_name;
|
||||
/* 0x8C */ u8 _8C;
|
||||
/* 0x8D */ u8 low_res_mode;
|
||||
/* 0x8E */ MemcardGameHeader_t memcard_game_header;
|
||||
/* 0xB0 */ u8* memcard_save_comment;
|
||||
/* 0xB4 */ size_t unused_save_data_start_ofs;
|
||||
/* 0x00 */ ksNesCommonWorkObj* wp;
|
||||
/* 0x04 */ ksNesStateObj* sp;
|
||||
/* 0x08 */ u8* nesromp;
|
||||
/* 0x0C */ u8* chrramp;
|
||||
/* 0x10 */ u8* bbramp;
|
||||
/* 0x14 */ u8* noise_bufp;
|
||||
/* 0x18 */ u8* chr_to_i8_bufp;
|
||||
/* 0x1C */ u8* result_bufp;
|
||||
/* 0x20 */ u8* highscore_flagsp;
|
||||
/* 0x24 */ u8* nesinfo_tagsp;
|
||||
/* 0x28 */ int _28;
|
||||
/* 0x2C */ u8 nesrom_memcard; // TRUE: rom is loaded from memcard, FALSE: rom is loaded internally
|
||||
/* 0x2D */ u8 rom_no;
|
||||
/* 0x2E */ s8 save_pl_no;
|
||||
/* 0x2F */ u8 mura_save_name[33];
|
||||
/* 0x50 */ u8 famicom_save_name[33];
|
||||
/* 0x74 */ FamicomSaveDataHeader* save_data_header;
|
||||
/* 0x78 */ u8* internal_save_datap;
|
||||
/* 0x7C */ size_t save_data_total_size;
|
||||
/* 0x80 */ size_t save_data_single_size;
|
||||
/* 0x84 */ int _84;
|
||||
/* 0x88 */ u8* save_data_name;
|
||||
/* 0x8C */ u8 _8C;
|
||||
/* 0x8D */ u8 low_res_mode;
|
||||
/* 0x8E */ MemcardGameHeader_t memcard_game_header;
|
||||
/* 0xB0 */ u8* memcard_save_comment;
|
||||
/* 0xB4 */ size_t unused_save_data_start_ofs;
|
||||
} FamicomCommon;
|
||||
|
||||
|
||||
extern Famicom_MallocInfo* my_malloc_current;
|
||||
extern u8 save_game_image;
|
||||
extern u8** nesrom_filename_ptrs;
|
||||
@@ -213,7 +213,6 @@ extern u8* nesinfo_get_moriName();
|
||||
extern void nesinfo_init();
|
||||
extern void highscore_setup_flags(u8* flags);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -220,7 +220,7 @@ struct furniture_actor_s {
|
||||
f32 dynamic_work_f[2]; /* reserved for any use by each unique furniture actor */
|
||||
s16 layer; /* layer the furniture actor resides on */
|
||||
s16 _83E;
|
||||
s16 open_music_disk; /* set when a music player is interacted with */
|
||||
s16 demo_status; /* set when a music player is interacted with */
|
||||
s16 dust_timer;
|
||||
mActor_name_t items[aFTR_KEEP_ITEM_COUNT]; /* used for holding items (music players & wardrobes) */
|
||||
int _84C;
|
||||
|
||||
+10
-5
@@ -15,12 +15,12 @@ extern "C" {
|
||||
#define MONO(id) (id | 0x1000)
|
||||
#define SE_FLAG_15(id) (id | 0x8000)
|
||||
|
||||
//TODO: Make the rest of Sound Effects with parameters
|
||||
// TODO: Make the rest of Sound Effects with parameters
|
||||
#define SE_REGISTER MONO(0x50)
|
||||
|
||||
typedef enum audio_sound_effects{
|
||||
typedef enum audio_sound_effects {
|
||||
NA_SE_START,
|
||||
NA_SE_CURSOL,
|
||||
NA_SE_CURSOL,
|
||||
NA_SE_MENU_EXIT,
|
||||
|
||||
NA_SE_ZOOMUP = 4,
|
||||
@@ -109,14 +109,19 @@ typedef enum audio_sound_effects{
|
||||
NA_SE_KARABURI = 0x43A,
|
||||
|
||||
NA_SE_ROD_STROKE_SMALL = 0x445,
|
||||
|
||||
|
||||
NA_SE_SCOOP_TREE_HIT = 0x448,
|
||||
NA_SE_SCOOP_ITEM_HIT,
|
||||
NA_SE_AXE_BALL_HIT,
|
||||
|
||||
NA_SE_COIN_GASAGOSO = 0x465,
|
||||
|
||||
}AudioSE;
|
||||
} AudioSE;
|
||||
|
||||
typedef enum bgm_e {
|
||||
BGM_MD0 = 128,
|
||||
|
||||
} BGM_e;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ extern "C" {
|
||||
|
||||
/* sizeof(struct game_famicom_emu_s) == 0xE0 */
|
||||
typedef struct game_famicom_emu_s {
|
||||
/* 0x00 */ GAME game;
|
||||
/* 0x00 */ GAME game;
|
||||
} GAME_FAMICOM_EMU;
|
||||
|
||||
extern Famicom_MallocInfo my_malloc_func;
|
||||
@@ -19,8 +19,8 @@ extern Famicom_MallocInfo my_malloc_func;
|
||||
extern void famicom_emu_main(GAME* game);
|
||||
extern void famicom_emu_init(GAME* game);
|
||||
extern void famicom_emu_cleanup(GAME* game);
|
||||
extern int famicom_gba_getImage(u32 rom_id, int* ptr);
|
||||
extern void famicom_gba_removeImage(void* );
|
||||
extern void* famicom_gba_getImage(u32 rom_id, size_t* size);
|
||||
extern void famicom_gba_removeImage(void*);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -12,12 +12,12 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
u16 mFileID; // _00
|
||||
u16 mHash; // _02
|
||||
u32 mFlag; // _04
|
||||
u32 mDataOffset; // _08
|
||||
u32 mSize; // _0C
|
||||
void* mData; // _10
|
||||
u16 mFileID; // _00
|
||||
u16 mHash; // _02
|
||||
u32 mFlag; // _04
|
||||
u32 mDataOffset; // _08
|
||||
u32 mSize; // _0C
|
||||
void* mData; // _10
|
||||
} CSDIFileEntry;
|
||||
|
||||
extern void* JC_JFWSystem_getSystemConsole();
|
||||
@@ -116,8 +116,8 @@ extern void* JC_JUTFader_new(int ul_x, int ul_y, int br_x, int br_y, u32* color)
|
||||
extern void JC_JUTFader_delete(void* fader);
|
||||
|
||||
extern void JC_JFWDisplay_changeToDoubleXfb(void* manager);
|
||||
extern u32 JC__JKRGetResource(char* resourceName);
|
||||
extern int JC__JKRGetMemBlockSize(int, u32);
|
||||
extern void* JC__JKRGetResource(const char* resourceName);
|
||||
extern u32 JC__JKRGetMemBlockSize(int, void*);
|
||||
|
||||
extern void JC__JKRRemoveResource(void* res);
|
||||
|
||||
|
||||
+69
-61
@@ -15,94 +15,94 @@ typedef struct choice_s mChoice_c;
|
||||
typedef struct choice_data_s mChoice_Data_c;
|
||||
|
||||
enum choice {
|
||||
mChoice_CHOICE0,
|
||||
mChoice_CHOICE1,
|
||||
mChoice_CHOICE2,
|
||||
mChoice_CHOICE3,
|
||||
mChoice_CHOICE4,
|
||||
mChoice_CHOICE5,
|
||||
mChoice_CHOICE0,
|
||||
mChoice_CHOICE1,
|
||||
mChoice_CHOICE2,
|
||||
mChoice_CHOICE3,
|
||||
mChoice_CHOICE4,
|
||||
mChoice_CHOICE5,
|
||||
|
||||
mChoice_CHOICE_NUM
|
||||
mChoice_CHOICE_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mChoice_AUTOMOVE_STOPPED,
|
||||
mChoice_AUTOMOVE_INCREMENT_WAIT,
|
||||
mChoice_AUTOMOVE_INCREMENT,
|
||||
mChoice_AUTOMOVE_DECREMENT_WAIT,
|
||||
mChoice_AUTOMOVE_DECREMENT,
|
||||
mChoice_AUTOMOVE_STOPPED,
|
||||
mChoice_AUTOMOVE_INCREMENT_WAIT,
|
||||
mChoice_AUTOMOVE_INCREMENT,
|
||||
mChoice_AUTOMOVE_DECREMENT_WAIT,
|
||||
mChoice_AUTOMOVE_DECREMENT,
|
||||
|
||||
mChoice_AUTOMOVE_NUM
|
||||
mChoice_AUTOMOVE_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mChoice_MAIN_HIDE,
|
||||
mChoice_MAIN_APPEAR,
|
||||
mChoice_MAIN_NORMAL,
|
||||
mChoice_MAIN_DISAPPEAR,
|
||||
mChoice_MAIN_HIDE,
|
||||
mChoice_MAIN_APPEAR,
|
||||
mChoice_MAIN_NORMAL,
|
||||
mChoice_MAIN_DISAPPEAR,
|
||||
|
||||
mChoice_MAIN_INDEX_NUM
|
||||
mChoice_MAIN_INDEX_NUM
|
||||
};
|
||||
|
||||
struct choice_data_s {
|
||||
u8 strings[mChoice_CHOICE_NUM][mChoice_CHOICE_STRING_LEN];
|
||||
int string_lens[mChoice_CHOICE_NUM];
|
||||
u8 determination_string[mChoice_CHOICE_STRING_LEN];
|
||||
int determination_len;
|
||||
int choice_num;
|
||||
int selected_choice_idx;
|
||||
u8 strings[mChoice_CHOICE_NUM][mChoice_CHOICE_STRING_LEN];
|
||||
int string_lens[mChoice_CHOICE_NUM];
|
||||
u8 determination_string[mChoice_CHOICE_STRING_LEN];
|
||||
int determination_len;
|
||||
int choice_num;
|
||||
int selected_choice_idx;
|
||||
};
|
||||
|
||||
struct choice_s {
|
||||
/* Current XY position (centered) */
|
||||
/* 0x00 */ f32 center_x;
|
||||
/* 0x04 */ f32 center_y;
|
||||
/* Current XY position (centered) */
|
||||
/* 0x00 */ f32 center_x;
|
||||
/* 0x04 */ f32 center_y;
|
||||
|
||||
/* Initial XY position */
|
||||
/* 0x08 */ f32 center_x_begin;
|
||||
/* 0x0C */ f32 center_y_begin;
|
||||
/* Initial XY position */
|
||||
/* 0x08 */ f32 center_x_begin;
|
||||
/* 0x0C */ f32 center_y_begin;
|
||||
|
||||
/* Target XY position */
|
||||
/* 0x10 */ f32 center_x_target;
|
||||
/* 0x14 */ f32 center_y_target;
|
||||
/* Target XY position */
|
||||
/* 0x10 */ f32 center_x_target;
|
||||
/* 0x14 */ f32 center_y_target;
|
||||
|
||||
/* Text settings */
|
||||
/* 0x18 */ rgba_t text_color;
|
||||
/* 0x1C */ f32 text_scale_x;
|
||||
/* 0x20 */ f32 text_scale_y;
|
||||
/* 0x24 */ f32 text_x;
|
||||
/* 0x28 */ f32 text_y;
|
||||
/* Text settings */
|
||||
/* 0x18 */ rgba_t text_color;
|
||||
/* 0x1C */ f32 text_scale_x;
|
||||
/* 0x20 */ f32 text_scale_y;
|
||||
/* 0x24 */ f32 text_x;
|
||||
/* 0x28 */ f32 text_y;
|
||||
|
||||
/* Window scaling XY */
|
||||
/* 0x2C */ f32 scale_x;
|
||||
/* 0x30 */ f32 scale_y;
|
||||
/* Window scaling XY */
|
||||
/* 0x2C */ f32 scale_x;
|
||||
/* 0x30 */ f32 scale_y;
|
||||
|
||||
/* Text related data */
|
||||
/* 0x34 */ mChoice_Data_c data;
|
||||
/* Text related data */
|
||||
/* 0x34 */ mChoice_Data_c data;
|
||||
|
||||
/* 0xC8 */ int selected_choice_idx;
|
||||
/* 0xCC */ rgba_t selected_choice_text_color;
|
||||
|
||||
/* 0xD0 */ rgba_t background_color;
|
||||
/* 0xC8 */ int selected_choice_idx;
|
||||
/* 0xCC */ rgba_t selected_choice_text_color;
|
||||
|
||||
/* 0xD4 */ f32 _D4;
|
||||
/* 0xD8 */ f32 _D8;
|
||||
/* 0xD0 */ rgba_t background_color;
|
||||
|
||||
/* 0xDC */ f32 scale; // total choice window scaling percentage
|
||||
/* 0xD4 */ f32 _D4;
|
||||
/* 0xD8 */ f32 _D8;
|
||||
|
||||
/* 0xE0 */ int main_index;
|
||||
/* 0xE4 */ int requested_main_index;
|
||||
/* 0xDC */ f32 scale; // total choice window scaling percentage
|
||||
|
||||
/* 0xE8 */ int window_visible_flag;
|
||||
/* 0xEC */ int font_visible_flag;
|
||||
/* 0xE0 */ int main_index;
|
||||
/* 0xE4 */ int requested_main_index;
|
||||
|
||||
/* 0xF0 */ int choice_automove_type;
|
||||
/* 0xF4 */ f32 choice_automove_timer;
|
||||
/* 0xE8 */ int window_visible_flag;
|
||||
/* 0xEC */ int font_visible_flag;
|
||||
|
||||
/* 0xF8 */ f32 timer;
|
||||
/* 0xF0 */ int choice_automove_type;
|
||||
/* 0xF4 */ f32 choice_automove_timer;
|
||||
|
||||
/* 0xFC */ u8 no_b_flag; // can't press B to select last option
|
||||
/* 0xFD */ u8 no_close_flag; // pressing B won't auto-cancel the choice selection?
|
||||
/* 0xF8 */ f32 timer;
|
||||
|
||||
/* 0xFC */ u8 no_b_flag; // can't press B to select last option
|
||||
/* 0xFD */ u8 no_close_flag; // pressing B won't auto-cancel the choice selection?
|
||||
};
|
||||
|
||||
extern void mChoice_Main(mChoice_c* choice, GAME* game);
|
||||
@@ -114,13 +114,21 @@ extern mChoice_c* mChoice_Get_base_window_p();
|
||||
extern void mChoice_Change_request_main_index(mChoice_c* choice, int request_main_index);
|
||||
extern int mChoice_check_main_index(mChoice_c* choice);
|
||||
extern int mChoice_check_main_normal(mChoice_c* choice);
|
||||
extern void mChoice_Set_choice_data( mChoice_c* choice, u8* str0, int str0_len, u8* str1, int str1_len, u8* str2, int str2_len, u8* str3, int str3_len, u8* str4, int str4_len, u8* str5, int str5_len);
|
||||
extern void mChoice_Set_choice_data(mChoice_c* choice, u8* str0, int str0_len, u8* str1, int str1_len, u8* str2,
|
||||
int str2_len, u8* str3, int str3_len, u8* str4, int str4_len, u8* str5,
|
||||
int str5_len);
|
||||
extern int mChoice_Get_ChoseNum(mChoice_c* choice);
|
||||
extern void mChoice_Clear_ChoseNum(mChoice_c* choice);
|
||||
extern void mChoice_Load_ChoseStringFromRom(mChoice_c* choice, u8* str, int str_no, ACTOR* actor);
|
||||
extern void mChoice_no_b_set(mChoice_c* choice);
|
||||
extern void mChoice_no_b_close_set(mChoice_c* choice);
|
||||
|
||||
/* Macros */
|
||||
#define mChoice_GET_CHOSENUM() mChoice_Get_ChoseNum(mChoice_Get_base_window_p())
|
||||
#define mChoice_CLEAR_CHOSENUM() mChoice_Clear_ChoseNum(mChoice_Get_base_window_p())
|
||||
#define mChoice_NO_B_SET() mChoice_no_b_set(mChoice_Get_base_window_p())
|
||||
#define mChoice_NO_B_CLOSE_SET() mChoice_no_b_close_set(mChoice_Get_base_window_p())
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -341,6 +341,8 @@ extern common_data_t common_data;
|
||||
#define Player_Palette_Get(idx) (Common_Get(now_private->my_org[idx].palette))
|
||||
#define Player_Design_Get(idx) (Common_GetPointer(now_private->my_org[idx].design))
|
||||
|
||||
#define Now_Private (Common_Get(now_private))
|
||||
|
||||
#define Able_Sisters_Palette_Get(idx) (Save_Get(needlework.original_design[idx].palette))
|
||||
#define Able_Sisters_Design_Get(idx) (Save_GetPointer(needlework.original_design[idx].design))
|
||||
#define Able_Sisters_Cloth_Palette_Get(idx) (Able_Sisters_Palette_Get(idx))
|
||||
|
||||
+186
-160
@@ -21,86 +21,86 @@ extern "C" {
|
||||
#define mMsg_BUTTON_TURN_TIME 60.0f
|
||||
|
||||
enum {
|
||||
mMsg_INDEX_HIDE,
|
||||
mMsg_INDEX_APPEAR,
|
||||
mMsg_INDEX_NORMAL,
|
||||
mMsg_INDEX_CURSOL,
|
||||
mMsg_INDEX_DISAPPEAR,
|
||||
mMsg_INDEX_APPEAR_WAIT,
|
||||
mMsg_INDEX_WAIT,
|
||||
mMsg_INDEX_DISAPPEAR_WAIT,
|
||||
mMsg_INDEX_HIDE,
|
||||
mMsg_INDEX_APPEAR,
|
||||
mMsg_INDEX_NORMAL,
|
||||
mMsg_INDEX_CURSOL,
|
||||
mMsg_INDEX_DISAPPEAR,
|
||||
mMsg_INDEX_APPEAR_WAIT,
|
||||
mMsg_INDEX_WAIT,
|
||||
mMsg_INDEX_DISAPPEAR_WAIT,
|
||||
|
||||
mMsg_INDEX_NUM
|
||||
mMsg_INDEX_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mMsg_FREE_STR0,
|
||||
mMsg_FREE_STR1,
|
||||
mMsg_FREE_STR2,
|
||||
mMsg_FREE_STR3,
|
||||
mMsg_FREE_STR4,
|
||||
mMsg_FREE_STR5,
|
||||
mMsg_FREE_STR6,
|
||||
mMsg_FREE_STR7,
|
||||
mMsg_FREE_STR8,
|
||||
mMsg_FREE_STR9,
|
||||
mMsg_FREE_STR10,
|
||||
mMsg_FREE_STR11,
|
||||
mMsg_FREE_STR12,
|
||||
mMsg_FREE_STR13,
|
||||
mMsg_FREE_STR14,
|
||||
mMsg_FREE_STR15,
|
||||
mMsg_FREE_STR16,
|
||||
mMsg_FREE_STR17,
|
||||
mMsg_FREE_STR18,
|
||||
mMsg_FREE_STR19,
|
||||
mMsg_FREE_STR0,
|
||||
mMsg_FREE_STR1,
|
||||
mMsg_FREE_STR2,
|
||||
mMsg_FREE_STR3,
|
||||
mMsg_FREE_STR4,
|
||||
mMsg_FREE_STR5,
|
||||
mMsg_FREE_STR6,
|
||||
mMsg_FREE_STR7,
|
||||
mMsg_FREE_STR8,
|
||||
mMsg_FREE_STR9,
|
||||
mMsg_FREE_STR10,
|
||||
mMsg_FREE_STR11,
|
||||
mMsg_FREE_STR12,
|
||||
mMsg_FREE_STR13,
|
||||
mMsg_FREE_STR14,
|
||||
mMsg_FREE_STR15,
|
||||
mMsg_FREE_STR16,
|
||||
mMsg_FREE_STR17,
|
||||
mMsg_FREE_STR18,
|
||||
mMsg_FREE_STR19,
|
||||
|
||||
mMsg_FREE_STR_NUM
|
||||
mMsg_FREE_STR_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mMsg_ITEM_STR0,
|
||||
mMsg_ITEM_STR1,
|
||||
mMsg_ITEM_STR2,
|
||||
mMsg_ITEM_STR3,
|
||||
mMsg_ITEM_STR4,
|
||||
mMsg_ITEM_STR0,
|
||||
mMsg_ITEM_STR1,
|
||||
mMsg_ITEM_STR2,
|
||||
mMsg_ITEM_STR3,
|
||||
mMsg_ITEM_STR4,
|
||||
|
||||
mMsg_ITEM_STR_NUM
|
||||
mMsg_ITEM_STR_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mMsg_MAIL_STR0,
|
||||
mMsg_MAIL_STR0,
|
||||
|
||||
mMsg_MAIL_STR_NUM
|
||||
mMsg_MAIL_STR_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mMsg_RESULT_VOID,
|
||||
mMsg_RESULT_FALSE,
|
||||
mMsg_RESULT_TRUE,
|
||||
mMsg_RESULT_VOID,
|
||||
mMsg_RESULT_FALSE,
|
||||
mMsg_RESULT_TRUE,
|
||||
|
||||
mMsg_RESULT_NUM
|
||||
mMsg_RESULT_NUM
|
||||
};
|
||||
|
||||
#define mMsg_STATUS_FLAG_SOUND_CUT (1 << 0) // 0x000001
|
||||
#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
|
||||
#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;
|
||||
@@ -108,160 +108,160 @@ typedef struct message_data_s mMsg_Data_c;
|
||||
/* These are hinted at due to the 8-byte alignment forced onto these structs */
|
||||
|
||||
typedef struct {
|
||||
int saved_main_index;
|
||||
int saved_main_index;
|
||||
} mMsg_MainAppearWait_Data_c;
|
||||
|
||||
typedef struct {
|
||||
int saved_main_index;
|
||||
int saved_main_index;
|
||||
} mMsg_MainDisappearWait_Data_c;
|
||||
|
||||
typedef struct {
|
||||
int last_main_index;
|
||||
int last_main_index;
|
||||
} mMsg_MainWait_Data_c;
|
||||
|
||||
typedef union {
|
||||
mMsg_MainAppearWait_Data_c main_appear_wait;
|
||||
mMsg_MainDisappearWait_Data_c main_disappear_wait;
|
||||
mMsg_MainWait_Data_c main_wait;
|
||||
u64 align;
|
||||
mMsg_MainAppearWait_Data_c main_appear_wait;
|
||||
mMsg_MainDisappearWait_Data_c main_disappear_wait;
|
||||
mMsg_MainWait_Data_c main_wait;
|
||||
u64 align;
|
||||
} mMsg_Main_Data_c;
|
||||
|
||||
typedef struct {
|
||||
ACTOR* speaker_actor;
|
||||
int msg_no;
|
||||
int name_shown_flag;
|
||||
rgba_t window_color;
|
||||
ACTOR* speaker_actor;
|
||||
int msg_no;
|
||||
int name_shown_flag;
|
||||
rgba_t window_color;
|
||||
} mMsg_Request_MainAppear_Data_c;
|
||||
|
||||
typedef struct {
|
||||
int last_main_index;
|
||||
u32 setup_flag;
|
||||
int last_main_index;
|
||||
u32 setup_flag;
|
||||
} mMsg_Request_MainAppearWait_Data_c;
|
||||
|
||||
typedef struct {
|
||||
int wait_flag;
|
||||
int wait_flag;
|
||||
} mMsg_Request_MainCursor_Data_c;
|
||||
|
||||
typedef struct {
|
||||
int last_main_index;
|
||||
int last_main_index;
|
||||
} mMsg_Request_MainDisappearWait_Data_c;
|
||||
|
||||
typedef struct {
|
||||
int wait_flag;
|
||||
int wait_flag;
|
||||
} mMsg_Request_MainNormal_Data_c;
|
||||
|
||||
typedef struct {
|
||||
int last_main_index;
|
||||
int last_main_index;
|
||||
} mMsg_Request_MainWait_Data_c;
|
||||
|
||||
typedef union {
|
||||
mMsg_Request_MainAppear_Data_c request_main_appear;
|
||||
mMsg_Request_MainAppearWait_Data_c request_main_appear_wait;
|
||||
mMsg_Request_MainCursor_Data_c request_main_cursor;
|
||||
mMsg_Request_MainDisappearWait_Data_c request_main_disappear_wait;
|
||||
mMsg_Request_MainNormal_Data_c request_main_normal;
|
||||
mMsg_Request_MainWait_Data_c request_main_wait;
|
||||
u64 align;
|
||||
mMsg_Request_MainAppear_Data_c request_main_appear;
|
||||
mMsg_Request_MainAppearWait_Data_c request_main_appear_wait;
|
||||
mMsg_Request_MainCursor_Data_c request_main_cursor;
|
||||
mMsg_Request_MainDisappearWait_Data_c request_main_disappear_wait;
|
||||
mMsg_Request_MainNormal_Data_c request_main_normal;
|
||||
mMsg_Request_MainWait_Data_c request_main_wait;
|
||||
u64 align;
|
||||
} mMsg_Request_Data_c;
|
||||
|
||||
typedef union {
|
||||
u8 data[mMsg_MSG_BUF_SIZE] ATTRIBUTE_ALIGN(32);
|
||||
u64 align;
|
||||
u8 data[mMsg_MSG_BUF_SIZE] ATTRIBUTE_ALIGN(32);
|
||||
u64 align;
|
||||
} mMsg_MsgBuf_c;
|
||||
|
||||
struct message_data_s {
|
||||
int data_loaded;
|
||||
int msg_no;
|
||||
int msg_len;
|
||||
int cut;
|
||||
int data_loaded;
|
||||
int msg_no;
|
||||
int msg_len;
|
||||
int cut;
|
||||
|
||||
mMsg_MsgBuf_c text_buf;
|
||||
mMsg_MsgBuf_c text_buf;
|
||||
};
|
||||
|
||||
struct message_window_s {
|
||||
/* 0x000 */ int data_loaded;
|
||||
/* 0x004 */ int msg_no;
|
||||
/* 0x008 */ int _008;
|
||||
/* 0x00C */ mMsg_Data_c* msg_data;
|
||||
/* 0x010 */ f32 center_x;
|
||||
/* 0x014 */ f32 center_y;
|
||||
/* 0x018 */ f32 width;
|
||||
/* 0x01C */ f32 height;
|
||||
|
||||
/* 0x020 */ ACTOR* client_actor_p;
|
||||
/* 0x024 */ int show_actor_name;
|
||||
/* 0x028 */ int client_name_len;
|
||||
/* 0x02C */ f32 nameplate_x;
|
||||
/* 0x030 */ f32 nameplate_y;
|
||||
/* 0x000 */ int data_loaded;
|
||||
/* 0x004 */ int msg_no;
|
||||
/* 0x008 */ int _008;
|
||||
/* 0x00C */ mMsg_Data_c* msg_data;
|
||||
/* 0x010 */ f32 center_x;
|
||||
/* 0x014 */ f32 center_y;
|
||||
/* 0x018 */ f32 width;
|
||||
/* 0x01C */ f32 height;
|
||||
|
||||
/* 0x034 */ int show_continue_button;
|
||||
/* 0x020 */ ACTOR* client_actor_p;
|
||||
/* 0x024 */ int show_actor_name;
|
||||
/* 0x028 */ int client_name_len;
|
||||
/* 0x02C */ f32 nameplate_x;
|
||||
/* 0x030 */ f32 nameplate_y;
|
||||
|
||||
/* 0x038 */ u8 free_str[mMsg_FREE_STR_NUM][mMsg_FREE_STRING_LEN];
|
||||
/* 0x178 */ int free_str_article[mMsg_FREE_STR_NUM];
|
||||
/* 0x034 */ int show_continue_button;
|
||||
|
||||
/* 0x1C8 */ u8 item_str[mMsg_ITEM_STR_NUM][mIN_ITEM_NAME_LEN];
|
||||
/* 0x218 */ int item_str_article[mMsg_ITEM_STR_NUM];
|
||||
/* 0x038 */ u8 free_str[mMsg_FREE_STR_NUM][mMsg_FREE_STRING_LEN];
|
||||
/* 0x178 */ int free_str_article[mMsg_FREE_STR_NUM];
|
||||
|
||||
/* 0x22C */ u8 mail_str[mMsg_MAIL_STR_NUM][mMsg_MAIL_STRING_LEN];
|
||||
/* 0x1C8 */ u8 item_str[mMsg_ITEM_STR_NUM][mIN_ITEM_NAME_LEN];
|
||||
/* 0x218 */ int item_str_article[mMsg_ITEM_STR_NUM];
|
||||
|
||||
/* 0x2B0 */ rgba_t name_text_color;
|
||||
/* 0x2B4 */ rgba_t name_background_color;
|
||||
/* 0x22C */ u8 mail_str[mMsg_MAIL_STR_NUM][mMsg_MAIL_STRING_LEN];
|
||||
|
||||
/* 0x2B8 */ rgba_t window_background_color;
|
||||
/* 0x2BC */ rgba_t font_color[mMsg_MAX_LINE];
|
||||
/* 0x2B0 */ rgba_t name_text_color;
|
||||
/* 0x2B4 */ rgba_t name_background_color;
|
||||
|
||||
/* 0x2CC */ rgba_t continue_button_color;
|
||||
/* 0x2B8 */ rgba_t window_background_color;
|
||||
/* 0x2BC */ rgba_t font_color[mMsg_MAX_LINE];
|
||||
|
||||
/* 0x2D0 */ f32 font_scale_x;
|
||||
/* 0x2D4 */ f32 font_scale_y;
|
||||
/* 0x2CC */ rgba_t continue_button_color;
|
||||
|
||||
/* 0x2D8 */ int _2D8;
|
||||
/* 0x2DC */ int _2DC;
|
||||
/* 0x2D0 */ f32 font_scale_x;
|
||||
/* 0x2D4 */ f32 font_scale_y;
|
||||
|
||||
/* 0x2E0 */ int text_lines;
|
||||
/* 0x2E4 */ int now_display_line;
|
||||
/* 0x2D8 */ int _2D8;
|
||||
/* 0x2DC */ int _2DC;
|
||||
|
||||
/* 0x2E8 */ mChoice_c choice_window;
|
||||
/* 0x2E0 */ int text_lines;
|
||||
/* 0x2E4 */ int now_display_line;
|
||||
|
||||
/* 0x3E8 */ int _3E8;
|
||||
/* 0x2E8 */ mChoice_c choice_window;
|
||||
|
||||
/* 0x3EC */ u16 end_timer;
|
||||
/* 0x3EE */ s16 animal_voice_idx;
|
||||
/* 0x3F0 */ int voice_sfx_idx;
|
||||
/* 0x3F4 */ u8 voice_idx;
|
||||
/* 0x3F5 */ u8 voice2_idx;
|
||||
/* 0x3F6 */ u8 voice3_idx;
|
||||
/* 0x3F7 */ s8 hide_choice_window_timer;
|
||||
/* 0x3F8 */ u8 force_voice_enable_flag;
|
||||
/* 0x3FC */ int spec;
|
||||
/* 0x400 */ u8 free_str_color_idx[4];
|
||||
/* 0x408 */ u8 _404[8]; // unused?
|
||||
/* 0x40C */ u32 status_flags;
|
||||
/* 0x3E8 */ int _3E8;
|
||||
|
||||
/* 0x410 */ f32 timer;
|
||||
/* 0x414 */ f32 cursor_timer;
|
||||
/* 0x418 */ f32 continue_button_timer;
|
||||
/* 0x3EC */ u16 end_timer;
|
||||
/* 0x3EE */ s16 animal_voice_idx;
|
||||
/* 0x3F0 */ int voice_sfx_idx;
|
||||
/* 0x3F4 */ u8 voice_idx;
|
||||
/* 0x3F5 */ u8 voice2_idx;
|
||||
/* 0x3F6 */ u8 voice3_idx;
|
||||
/* 0x3F7 */ s8 hide_choice_window_timer;
|
||||
/* 0x3F8 */ u8 force_voice_enable_flag;
|
||||
/* 0x3FC */ int spec;
|
||||
/* 0x400 */ u8 free_str_color_idx[4];
|
||||
/* 0x408 */ u8 _404[8]; // unused?
|
||||
/* 0x40C */ u32 status_flags;
|
||||
|
||||
/* 0x41C */ int start_text_cursor_idx;
|
||||
/* 0x420 */ int end_text_cursor_idx;
|
||||
/* 0x424 */ f32 window_scale;
|
||||
/* 0x428 */ f32 text_scale;
|
||||
/* 0x410 */ f32 timer;
|
||||
/* 0x414 */ f32 cursor_timer;
|
||||
/* 0x418 */ f32 continue_button_timer;
|
||||
|
||||
/* 0x42C */ int requested_main_index;
|
||||
/* 0x430 */ int requested_priority;
|
||||
/* 0x41C */ int start_text_cursor_idx;
|
||||
/* 0x420 */ int end_text_cursor_idx;
|
||||
/* 0x424 */ f32 window_scale;
|
||||
/* 0x428 */ f32 text_scale;
|
||||
|
||||
/* 0x434 */ int main_index;
|
||||
/* 0x438 */ int draw_flag;
|
||||
/* 0x43C */ int cancel_flag;
|
||||
/* 0x440 */ int cancelable_flag;
|
||||
/* 0x444 */ int continue_msg_no;
|
||||
/* 0x448 */ int continue_cancel_flag;
|
||||
/* 0x44C */ int force_next;
|
||||
/* 0x450 */ int lock_continue;
|
||||
/* 0x454 */ u8 now_utter;
|
||||
/* 0x42C */ int requested_main_index;
|
||||
/* 0x430 */ int requested_priority;
|
||||
|
||||
/* 0x458 */ mMsg_Main_Data_c main_data;
|
||||
/* 0x460 */ mMsg_Request_Data_c request_data;
|
||||
/* 0x434 */ int main_index;
|
||||
/* 0x438 */ int draw_flag;
|
||||
/* 0x43C */ int cancel_flag;
|
||||
/* 0x440 */ int cancelable_flag;
|
||||
/* 0x444 */ int continue_msg_no;
|
||||
/* 0x448 */ int continue_cancel_flag;
|
||||
/* 0x44C */ int force_next;
|
||||
/* 0x450 */ int lock_continue;
|
||||
/* 0x454 */ u8 now_utter;
|
||||
|
||||
/* 0x458 */ mMsg_Main_Data_c main_data;
|
||||
/* 0x460 */ mMsg_Request_Data_c request_data;
|
||||
};
|
||||
|
||||
extern void mMsg_aram_init();
|
||||
@@ -279,7 +279,8 @@ 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_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);
|
||||
@@ -323,13 +324,15 @@ 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_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_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_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);
|
||||
extern int mMsg_sound_voice_get(int code);
|
||||
extern int mMsg_sound_voice_get_for_editor(int code);
|
||||
@@ -339,6 +342,29 @@ extern void mMsg_sound_set_voice_click(mMsg_Window_c* msg_p);
|
||||
extern void mMsg_sound_set_voice_silent(mMsg_Window_c* msg_p, int update_mode);
|
||||
extern void mMsg_sound_unset_voice_silent(mMsg_Window_c* msg_p, int update_mode);
|
||||
|
||||
/* Macros */
|
||||
|
||||
#define mMsg_SET_CONTINUE_MSG_NUM(msg_no) mMsg_Set_continue_msg_num(mMsg_Get_base_window_p(), (msg_no))
|
||||
#define mMsg_SET_LOCKCONTINUE() mMsg_Set_LockContinue(mMsg_Get_base_window_p())
|
||||
#define mMsg_UNSET_LOCKCONTINUE() mMsg_Unset_LockContinue(mMsg_Get_base_window_p())
|
||||
#define mMsg_SET_FORCENEXT() mMsg_Set_ForceNext(mMsg_Get_base_window_p())
|
||||
#define mMsg_SET_CANCELNORMALCONTINUE() mMsg_Set_CancelNormalContinue(mMsg_Get_base_window_p())
|
||||
#define mMsg_SET_ITEM_STR_ART(str_no, str, str_len, item_no) \
|
||||
mMsg_Set_item_str_art(mMsg_Get_base_window_p(), str_no, str, str_len, mIN_get_item_article(item_no))
|
||||
#define mMsg_SET_FREE_STR(str_no, str, str_len) mMsg_Set_free_str(mMsg_Get_base_window_p(), str_no, str, str_len)
|
||||
#define mMsg_SET_FREE_STR_CL(str_no, str, str_len, cl) \
|
||||
mMsg_Set_free_str_cl(mMsg_Get_base_window_p(), str_no, str, str_len, cl)
|
||||
#define mMsg_SET_FREE_STR_CL_ART(str_no, str, str_len, cl, item_no) \
|
||||
mMsg_Set_free_str_cl_art(mMsg_Get_base_window_p(), str_no, str, str_len, cl, mIN_get_item_article(item_no))
|
||||
|
||||
#define mMsg_GET_MSG_NUM() mMsg_Get_msg_num(mMsg_Get_base_window_p())
|
||||
|
||||
#define mMsg_CHECK_MAINNORMALCONTINUE() mMsg_Check_MainNormalContinue(mMsg_Get_base_window_p())
|
||||
#define mMsg_CHECK_MAINDISAPPEAR() mMsg_Check_MainDisappear(mMsg_Get_base_window_p())
|
||||
#define mMsg_CHECK_MAINHIDE() mMsg_Check_MainHide(mMsg_Get_base_window_p())
|
||||
|
||||
#define mMsg_REQUEST_MAIN_DISAPPEAR() mMsg_request_main_disappear(mMsg_Get_base_window_p())
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -17,7 +17,7 @@ extern void mPlib_Clear_controller_data_for_title_demo();
|
||||
extern void mPlib_request_main_invade_type1(GAME_PLAY* play);
|
||||
extern mActor_name_t mPlib_Get_itemNo_forWindow();
|
||||
extern int mPlib_check_able_change_camera_normal_index();
|
||||
extern void mPlib_request_main_refuse_type1(GAME_PLAY* play);
|
||||
extern void mPlib_request_main_refuse_type1(GAME* game);
|
||||
extern void mPlib_request_main_wait_type3(GAME* game);
|
||||
extern void mPlib_Set_able_force_speak_label(ACTOR* actor);
|
||||
extern int mPlib_request_main_demo_walk_type1(GAME* game, f32 goal_x, f32 goal_z, f32 speed, int flag);
|
||||
@@ -63,6 +63,7 @@ extern void mPlib_Set_change_color_request();
|
||||
extern int mPlib_check_player_open_umbrella(GAME_PLAY* play);
|
||||
extern int mPlib_Check_UKI_COMEBACK_STATUS();
|
||||
extern int mPlib_check_player_actor_main_index_OutDoorMove(GAME_PLAY* play);
|
||||
extern int mPlib_request_main_close_furniture_type1(GAME* game);
|
||||
|
||||
extern mPlayer_change_data_from_submenu_c* mPlib_Get_change_data_from_submenu_p();
|
||||
|
||||
|
||||
+1
-1
@@ -212,7 +212,7 @@ extern void Scene_ct(GAME_PLAY* play, Scene_Word_u* scene_data);
|
||||
extern void Door_info_ct(Door_info_c* door_info);
|
||||
extern int goto_other_scene(GAME_PLAY* play, Door_data_c* door_data, int update_player_mode);
|
||||
extern int goto_next_scene(GAME_PLAY* play, int next_idx, int update_player_mode);
|
||||
extern int goto_emu_game(GAME_PLAY* play, u8 famicom_rom_id);
|
||||
extern int goto_emu_game(GAME* game, s16 famicom_rom_id);
|
||||
extern void return_emu_game(GAME* game);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
+2
-4
@@ -334,15 +334,13 @@ static void aAp_CommonHandle(ACTOR* actor, AIRPLANE_ACTOR* airplane, GAME* game)
|
||||
}
|
||||
|
||||
static void aAp_ZbuttonChangeStatus(AIRPLANE_ACTOR* actor, GAME* game) {
|
||||
GAME_PLAY* play = (GAME_PLAY*)game;
|
||||
|
||||
if (chkButton(BUTTON_Z)) {
|
||||
if (actor->status == aAp_STATUS_PLAYER_CATCH) {
|
||||
mPlib_request_main_refuse_type1(play);
|
||||
mPlib_request_main_refuse_type1(game);
|
||||
actor->status = aAp_STATUS_START_FLY_MOVE;
|
||||
}
|
||||
} else if (actor->status == aAp_STATUS_START_FLY_MOVE) {
|
||||
mPlib_request_main_wait_type3((GAME*)play);
|
||||
mPlib_request_main_wait_type3(game);
|
||||
actor->status = aAp_STATUS_PLAYER_CATCH;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
#include "m_cockroach.h"
|
||||
#include "m_msg.h"
|
||||
#include "dolphin/card.h"
|
||||
#include "m_string.h"
|
||||
#include "m_house.h"
|
||||
#include "m_player_lib.h"
|
||||
#include "GBA2/gba2.h"
|
||||
|
||||
enum {
|
||||
aMR_ICON_LEAF,
|
||||
@@ -123,6 +127,10 @@ static int aMR_UnitNum2FtrItemNoFtrID(mActor_name_t* item_no, int* ftr_id, int u
|
||||
static void aMR_ReserveDefaultBgm(ACTOR* actorx, FTR_ACTOR* ftr_actor);
|
||||
static void aMR_ChangeMDBgm(ACTOR* actorx, FTR_ACTOR* ftr_actor);
|
||||
static void aMR_SetFurniture2FG(FTR_ACTOR* ftr_actor, xyz_t pos, int on_flag);
|
||||
static int aMR_FtrIdx2ChangeFtrSwitch(ACTOR* actorx, int ftr_id);
|
||||
static aFTR_PROFILE* aMR_GetFurnitureProfile(u16 ftr_no);
|
||||
|
||||
#include "../src/ac_my_room_msg_ctrl.c_inc"
|
||||
|
||||
static aFTR_PROFILE* aMR_GetFurnitureProfile(u16 ftr_no) {
|
||||
if (ftr_no < FTR_NUM) {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+4
-6
@@ -174,7 +174,7 @@ extern void famicom_emu_cleanup(GAME* game) {
|
||||
sAdo_SubGameEnd();
|
||||
}
|
||||
|
||||
extern int famicom_gba_getImage(u32 rom_id, int* ptr) {
|
||||
extern void* famicom_gba_getImage(u32 rom_id, size_t* size) {
|
||||
static char* names[] = {
|
||||
"cluclu", "usa_balloon", "donkey", "usa_jr_math", "pinball", "tennis", "usa_golf",
|
||||
NULL, "usa_baseball", NULL, "usa_donkey3", "donkeyjr", "soccer", "exbike",
|
||||
@@ -182,8 +182,7 @@ extern int famicom_gba_getImage(u32 rom_id, int* ptr) {
|
||||
};
|
||||
|
||||
char buf[256];
|
||||
u32 resource;
|
||||
int block;
|
||||
void* resource;
|
||||
char* rom;
|
||||
|
||||
if (rom_id > 19) {
|
||||
@@ -197,9 +196,8 @@ extern int famicom_gba_getImage(u32 rom_id, int* ptr) {
|
||||
} else {
|
||||
sprintf(buf, "/FAMICOM/GBA/jb_%s.bin.szs", rom);
|
||||
resource = JC__JKRGetResource(buf);
|
||||
if ((resource != 0) && (ptr != NULL)) {
|
||||
block = JC__JKRGetMemBlockSize(0, resource);
|
||||
*ptr = block;
|
||||
if ((resource != NULL) && (size != NULL)) {
|
||||
*size = JC__JKRGetMemBlockSize(0, resource);
|
||||
}
|
||||
}
|
||||
return resource;
|
||||
|
||||
+2
-1
@@ -529,7 +529,8 @@ extern int goto_next_scene(GAME_PLAY* play, int next_idx, int update_player_mode
|
||||
return res;
|
||||
}
|
||||
|
||||
extern int goto_emu_game(GAME_PLAY* play, u8 famicom_rom_id) {
|
||||
extern int goto_emu_game(GAME* game, s16 famicom_rom_id) {
|
||||
GAME_PLAY* play = (GAME_PLAY*)game;
|
||||
PLAYER_ACTOR* player = get_player_actor_withoutCheck(play);
|
||||
int res = FALSE;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user