#ifndef __COMMON_H__ #define __COMMON_H__ #include "include_asm.h" #include typedef u8 bool; #define false 0 #define true 1 #define MAX_BYTES_TO_READ 512 #define ARRAY_LENGTH(x) ((sizeof(x)) / (sizeof(x[0]))) typedef struct { /* 0x00 */ s32 field_0x0; /* 0x04 */ s32 field_0x4; /* 0x08 */ s32 field_0x8; /* 0x0c */ s32 field_0xc; /* 0x10 */ s32 field_0x10; /* 0x14 */ s32 field_0x14; /* 0x18 */ s32 field_0x18; /* 0x1C */ s32 field_0x1c; /* 0x20 */ s32 field_0x20; /* 0x24 */ unsigned long handle; /* 0x28 */ s32 field_0x28; /* 0x2C */ s32 field_0x2c; /* 0x30 */ s32 field_0x30; /* 0x34 */ s32 field_0x34; /* 0x38 */ s32 field_0x38; /* 0x3C */ s32 field_0x3c; /* 0x40 */ s32 field_0x40; /* 0x44 */ s32 field_0x44; /* 0x48 */ void* dst_addr; /* 0x4C */ s32 field_0x4c; } SomethingMusic; // size:0x50 typedef struct { /* 0x0 */ void* next; /* 0x4 */ OSMesgQueue* mq; /* 0x8 */ s16 flags; /* 0xa */ s16 field_0xa; /* 0xc */ s32 field_0xc; } Stack__dma_load_loop; // size:0x10 typedef struct { /* 0x00 */ OSMesgQueue field_0x0; /* 0x30 */ u8 field_0x30[0x58]; /* 0x88 */ OSMesgQueue field_0x70; /* 0x74 */ u8 field_0x74[0x20]; /* 0xa8 */ OSMesgQueue field_0xa8; } Unk0; extern SomethingMusic* __MAYBE_SONG_ARRAY_800A8218[7]; extern void* musCurrentPtrBank; extern void* D_800B1828; extern s32 D_800E8B14; extern Unk0 MQ_800E8B4C; extern s32 __SCREEN_IS_NOT_BLACK; extern s32 D_800A9EB0; extern s32 D_800A9EE0; extern s32 D_800C4B20; extern void* D_800C4CE0; extern s32 D_A9EF0; extern s32 D_800C4B30; extern OSPiHandle* CART_HANDLE; extern OSMesgQueue MQ_800BE030; extern OSMesg OSMESG_800BE048[0x32]; extern OSThread THREAD_CONTROLLER; extern s32 __SCREEN_IS_NOT_BLACK; extern OSMesg D_800BBE60[8]; extern OSMesgQueue MQ_CONTROLLER; extern OSMesgQueue MQ_800E7988; extern OSThread THREAD_CONTROLLER; extern OSPiHandle* PTR_CART_ROM_HANDLE; extern s32 D_800C4B30; extern OSMesgQueue MQ_CONTROLLER; extern OSMesgQueue MQ_800E9BF0; extern u8 D_800A9FF8; extern OSContStatus __GLOBAL_CONT_STATUS[MAXCONTROLLERS]; extern OSMesgQueue MQ_CONTROLLER; extern void (*D_800A9FE0)(s16); extern OSMesgQueue MQ_800C4A00; extern OSContPad __GLOBAL_CONTROLLER_DATA; extern u8 D_800AA040; extern void (*SWAP_BUFFER_FUNC_800A9E8C)(void** buffers); extern void (*D_800AA090)(s32); extern void (*D_800AA094)(); extern s32 D_800E79A4; extern OSMesgQueue MQ_800C4C28; extern OSMesg OSMESG_800BE1A0[8]; extern u8 SP_THREAD_800BE1C0[1]; extern OSThread THREAD_800BE1C0; extern void* D_800AA41C; extern u8 D_594284; extern void (*SWAP_BUFFER_FUNC)(void** buffers); extern Stack__dma_load_loop *D_800E9178[0]; extern u8 __MAIN_NOT_NULL_INF_LOOP; extern OSMesgQueue MQ_800B9C40; extern s8 D_800E918D; extern void romCopy(const void* src, void* dst, u32 len); extern void __calls_romCopy_8009DA50(u8* src, u8* dst, u32 len); extern void Stack__dma_load_loop_new(Stack__dma_load_loop* arg0, OSMesgQueue* arg1, s16 flags); extern void Stack__dma_load_loop_delete(Stack__dma_load_loop* arg0); extern void obInitializePi(); extern void __set_black(); extern void __calls_osViBlack(bool black); extern void __start_thread_800B9C88(); extern void __start_thread_800BE1C0(); extern void func_80089804(s32*, s32, s32, s32); extern void func_80089A10(); extern void func_80089AB0(s32*, s32); extern void __osViSwapBuffer_3(void** buffers); extern void set_swap_buffer_func(void (*arg0)(void**)); extern s32 func_80089CF8(s16 arg0, s32 arg1); extern void __controller_thread_80089D9C(void*); extern void __start_copy_global_controller_data(void); extern void __end_copy_global_controller_data(void); extern s32 __read_controller(OSContPad* data, u32 flags); extern s32 __real_read_controller(void); extern s32 __calls_read_controller_0(s16* arg0); extern void func_8008A354(); extern void func_8008A37C(); extern void func_8008B130(u8*); extern void func_8008B1D0(u8*); extern void __start_thread_800BE1C0(void); extern void __thread_8008AFE0(void*); extern void func_8008949C(void** buffers); extern void func_8008350C(); extern void func_8008B1D0(u8*); typedef struct { /* 0x00 */ u8* dst; /* 0x04 */ u8* field_0x4; /* 0x08 */ u8* src_start; /* 0x0c */ u8* src_end; /* 0x10 */ u8* bss_start; /* 0x14 */ u8* bss_end; /* 0x18 */ u8* text_start; /* 0x1c */ u8* text_end; /* 0x20 */ u8* data_start; /* 0x24 */ u8* data_end; } OverlayEntry; // size:0x28 extern u8* __SOME_OVERLAY_ID_ARRAY[11]; extern OverlayEntry __SOME_OVERLAY_TABLE[11]; extern u8* func_80076188(void); extern void func_80076194(void); extern void func_800761A4(void); extern void __loads_overlay_array(s32 arg0); extern u8 __get_overlay_index(s32 arg0); extern void func_80076324(s32 arg0); extern void func_800E9C20(void); extern s8 D_800AEE72; extern s16 D_800C4A18; extern s16 D_800C4AD8; extern s16 D_800C4BCA; extern s16 D_800C4C08; extern s16 D_800E7A1C; extern s16 D_800E7D68; extern void func_80073164(u8 arg0, s16 arg1, s16 arg2, s16 arg3, s16 arg4, s16 arg5, s16 arg6); extern s8 D_800A81F0; typedef struct { /* 0x00 */ void* field_0x0; /* 0x04 */ void* field_0x4; /* 0x08 */ u32 field_0x8; /* 0x0c */ u32 field_0xc; /* 0x10 */ u32 field_0x10; /* 0x14 */ u32 field_0x14; /* 0x18 */ u32 field_0x18; /* 0x1c */ u32 field_0x1c; /* 0x20 */ u32 field_0x20; } Arg_800712C4; typedef struct { /* 0x00 */ Arg_800712C4* field_0x0; /* 0x04 */ Arg_800712C4* field_0x4; /* 0x08 */ Arg_800712C4* field_0x8; /* 0x0c */ Arg_800712C4* field_0xc; /* 0x10 */ Arg_800712C4* field_0x10; /* 0x14 */ Arg_800712C4* field_0x14; } Unk_800A81C0; // size:0x18 extern Unk_800A81C0 D_800A81C0[2]; extern void func_800712C4(Arg_800712C4*); extern u8 D_80197168[0x10]; extern s32 D_80196F58; extern u8 D_801951A1; extern u8 D_80197AE7[8]; extern void func_80186160(void); extern void func_80186178(void); extern void func_80186190(s32 arg0, s32 arg1); extern s32 func_80186210(s32 arg0); extern s32 func_80186240(s32 arg0); extern void func_80186284(s32 arg0); extern void func_80186290(void); extern void func_801862A8(void); extern const char STR_CREATING_NEW_DATA[]; extern const char STR_CREATING_A_NEW_FILE[]; extern const char STR_ADDING_NEW_DATA[]; extern const char STR_buSave_SAVING[]; extern const char STR_UNUSEDMALLOCNO_INSUFFICIENT_MEMORY[]; extern const char STR_LHa___s_s__s[]; extern const char STR_Error[]; extern const char STR_Fatal_error[]; extern const char STR_Invalid_header_LHarc_file_[]; extern const char STR_rb[]; extern const char STR_wb[]; extern const char STR_Unknown_method_skiped[]; extern void AddHeap(void* start, u32 length); extern void __some_logging(const char* format, ...); extern void main_(void*); extern void __idle_start_4_threads(s32, s32); extern void (*D_800E7A18)(); extern void boot(void); extern void idle(void* arg); extern OSThread THREAD_FIRST_DMA_LOAD; extern u8 SP_THREAD_FIRST_DMA_LOAD[]; extern OSThread THREAD_IDLE; extern u8 SP_THREAD_IDLE[]; extern void* __GLOBAL_WITH__inc_menu_timer[]; extern void* D_8018FB0C[]; extern void* D_8018FAF8[]; extern void* D_8018FAE4[]; extern s32 __inc_menu_timer(); extern void func_801707F4(); extern void func_8017223C(s32); extern void func_80172368(); extern void func_80172394(); extern void func_8019B2E0(void); extern u16 D_800C4C26; extern u16 D_8018F1A2; extern s32 D_8018FB34; extern void func_801D0840(void); extern void func_80198080(s32); extern void func_80173610(void); extern void func_801B00B0(void); extern void func_8016C814(void); extern void func_801C889C(s32 arg0); extern void func_8007337C(void); extern void func_801C8864(void); extern u8 D_800A872C; #endif