#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 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*); #endif