Compare commits

..

15 Commits

Author SHA1 Message Date
gijs 8ce8d6974b Hopefully made the main segment nicer 2023-09-26 00:26:56 +02:00
gijs 5cf59a6169 Found obGetStrategyName 2023-09-25 23:53:11 +02:00
gijs 197963c330 Added more `rodata` segments 2023-09-25 23:47:45 +02:00
gijs 1f9f503df3 Correct a few mistaken segments 2023-09-25 21:47:44 +02:00
gijs 29e94543ef Identified more symbols
Added more segment names
2023-09-25 20:48:47 +02:00
gijs f42427a595 Migrated rodata to main 2023-09-25 17:33:22 +02:00
gijs 64c4d17d08 Migrated Gfx at 0x800A9EF0 2023-09-25 17:01:40 +02:00
gijs e8cd06000d Renamed 5FC0 and added it back to compilation
Deletec 1C0E0 because of suspected libultra symbol
2023-09-25 16:59:20 +02:00
gijs bd344c296c Renamed main_ to obMain along with it's Thread and Stack 2023-09-25 16:39:31 +02:00
gijs 8457613831 Moved symbol_addrs to its own folder
Identified a ton of libmus functions
2023-09-25 16:34:55 +02:00
gijs fdc88c6c5f Renaming files as big cleanup 2023-09-25 14:29:07 +02:00
gijs be75462e23 Removed some files, cleaning up 2023-09-25 14:03:39 +02:00
gijs 1be08a1eeb Migrated Gfx at 0x8018FD10 2023-09-25 14:00:32 +02:00
gijs f5c77ef45b Migrated Gfx at 0x8018FC80 2023-09-25 13:58:55 +02:00
gijs d2716fefca Migrated Gfx at 0x8018FA70 2023-09-25 13:57:04 +02:00
46 changed files with 1437 additions and 840 deletions

View File

@ -328,17 +328,19 @@ extern void AddHeap(void* start, u32 length);
extern void __some_logging(const char* format, ...); extern void __some_logging(const char* format, ...);
extern void main_(void*);
extern void __idle_start_4_threads(s32, s32); extern void __idle_start_4_threads(s32, s32);
extern void (*D_800E7A18)(); extern void (*D_800E7A18)();
extern void boot(void); extern void boot(void);
extern void idle(void* arg);
extern OSThread THREAD_FIRST_DMA_LOAD; extern void obIdle(void*);
extern u8 SP_THREAD_FIRST_DMA_LOAD[]; extern void obMain(void*);
extern OSThread THREAD_IDLE;
extern u8 SP_THREAD_IDLE[]; extern OSThread obThreadMain;
extern u8 obStackMain[];
extern OSThread obThreadIdle;
extern u8 obStackIdle[];
extern OverlaySomething __OVERLAY_INFO_resets_menu_timer; extern OverlaySomething __OVERLAY_INFO_resets_menu_timer;
extern void* D_8018FB0C[]; extern void* D_8018FB0C[];
@ -522,7 +524,7 @@ extern OSIoMesg __MUS_MEM_800B186C[];
extern void *__virtual_mem_alloc(u32); extern void *__virtual_mem_alloc(u32);
extern void *__MusIntMemMalloc(s32 size); extern void *__MusIntMemMalloc(s32 size);
extern ALHeap D_800B1A70; extern ALHeap audio_heap;
extern void __character_initialise(CharacterSlot *arg0, u8 level); extern void __character_initialise(CharacterSlot *arg0, u8 level);
extern u16 character_get_item(CharacterSlot* character, u8 slot); extern u16 character_get_item(CharacterSlot* character, u8 slot);
@ -568,4 +570,7 @@ extern SomethingMusic __MAYBE_SONG_800EB150;
extern SomethingMusic __MAYBE_SONG_800EB240; extern SomethingMusic __MAYBE_SONG_800EB240;
extern SomethingMusic __MAYBE_SONG_800EB290; extern SomethingMusic __MAYBE_SONG_800EB290;
extern char *obStrategyName[];
extern char *obGetStrategyName(u8 index);
#endif #endif

View File

@ -1,11 +1,38 @@
fchar = 0x800AEA80; // rom:0x3EE80
_Printf = 0x80099BE0; // rom:0x29FE0
_Putfld = 0x8009A160; // rom:0x2A560
_Genld = 0x8009BDA4; // rom:0x2C1A4
_Ldunscale = 0x8009BD0C; // rom:0x2C10C
_Ldtob = 0x8009B8C0; // rom:0x2BCC0
__osContAddressCrc = 0x8009A8D0; // rom:0x2ACD0
__osContDataCrc = 0x8009A93C; // rom:0x2AD3C
__osSiDeviceBusy = 0x8009C370; // rom:0x2C770
__osSetWatchLo = 0x8009A730; // rom:0x2AB30
osPfsRepairId = 0x80096E60; // rom:0x27260
osPfsFreeBlocks = 0x80096980; // rom:0x26D80
osPfsFindFile = 0x800967C0; // rom:0x26BC0
osAiSetNextBuffer = 0x8008C550; // rom:0x1C950
__osAiDeviceBusy = 0x80099BC0; // rom:0x29FC0
__OVERLAY_INFO_8018F330 = 0x8018F330; // size:0x14
__OVERLAY_INFO_8018F344 = 0x8018F344; // size:0x14
__OVERLAY_INFO_8018F330 = 0x8018F330; // size:0x14
__OVERLAY_INFO_8018F344 = 0x8018F344; // size:0x14
__OVERLAY_INFO_8018FC1C = 0x8018FC1C; // size:0x14
__OVERLAY_INFO_8018F360 = 0x8018F360; // size:0x14
__OVERLAY_INFO_8018F380 = 0x8018F380; // size:0x14
__OVERLAY_INFO_79730_65C50 = 0x8018FD50; __OVERLAY_INFO_79730_65C50 = 0x8018FD50;
__OVERLAY_INFO_87200_65C78 = 0x8018FD78; __OVERLAY_INFO_87200_65C78 = 0x8018FD78;
__OVERLAY_INFO_87200_65C64 = 0x8018FD64; __OVERLAY_INFO_87200_65C64 = 0x8018FD64;
__setup_overlay_87200 = 0x8017B6B0; __setup_overlay_87200 = 0x8017B6B0;
__OVERLAY_INFO_71280_65CA0 = 0x8018FDA0; __OVERLAY_INFO_71280_65CA0 = 0x8018FDA0; // size:0x14
__setup_overlay_71280_51940 = 0x8017BA40; // rom:0x51940 __setup_overlay_71280_51940 = 0x8017BA40; // rom:0x51940
__OVERLAY_INFO_71280_65C8C = 0x8018FD8C; __OVERLAY_INFO_71280_65C8C = 0x8018FD8C;
@ -151,6 +178,8 @@ DISPLAY_LIST_801A79E8 = 0x801A79E8; // rom:0x86978
DISPLAY_LIST_801AB8B8 = 0x801AB8B8; // rom:0xF8618 DISPLAY_LIST_801AB8B8 = 0x801AB8B8; // rom:0xF8618
DISPLAY_LIST_801AB918 = 0x801AB918; // rom:0xF8678 DISPLAY_LIST_801AB918 = 0x801AB918; // rom:0xF8678
DISPLAY_LIST_801B3618 = 0x801B3618; // rom:0x100658
LIGHTS_801869A0 = 0x801869A0; // rom:0x5C8A0 size:40 LIGHTS_801869A0 = 0x801869A0; // rom:0x5C8A0 size:40
__SOMETHING_FRAMEBUFFERS = 0x800A9EE0; // rom:0x3A2E0 size:0xC __SOMETHING_FRAMEBUFFERS = 0x800A9EE0; // rom:0x3A2E0 size:0xC
@ -212,6 +241,8 @@ STR_CANNOT_BE_USED = 0x8021DF80; // rom:0x1B2290
STR_PETRIFICATION = 0x8021DFA0; // rom:0x1B22B0 STR_PETRIFICATION = 0x8021DFA0; // rom:0x1B22B0
obStrategyName = 0x80186FC4; // rom:0x5CEC4 size:16 obStrategyName = 0x80186FC4; // rom:0x5CEC4 size:16
obGetStrategyName = 0x8016B070; // rom:0x40F70
//obStrategyNameAutonomous = 0x80186F70; // rom:0x5CE70 type:asciz //obStrategyNameAutonomous = 0x80186F70; // rom:0x5CE70 type:asciz
//obStrategyNameAttackStrongest = 0x80186F80; // rom:0x5CE80 type:asciz //obStrategyNameAttackStrongest = 0x80186F80; // rom:0x5CE80 type:asciz
//obStrategyNameAttackLeader = 0x80186F94; // rom:0x5CE94 type:asciz //obStrategyNameAttackLeader = 0x80186F94; // rom:0x5CE94 type:asciz
@ -556,7 +587,6 @@ __calls_loads_overlay_array = 0x80075BC0;
D_800A81C0 = 0x800A81C0; // size:0x30 D_800A81C0 = 0x800A81C0; // size:0x30
maybe_boot_01 = 0x800851C0;
__add_0x594284 = 0x8009DD28; __add_0x594284 = 0x8009DD28;
@ -645,8 +675,6 @@ __GLOBAL_CONT_STATUS = 0x800C4B38;
__set_fp_8008A660 = 0x8008A660; __set_fp_8008A660 = 0x8008A660;
musCurrentPtrBank = 0x800B182C;
__osSetTimerIntr = 0x80094F70; __osSetTimerIntr = 0x80094F70;
__osInsertTimer = 0x80094FD0; __osInsertTimer = 0x80094FD0;
osSetTime = 0x80094D20; osSetTime = 0x80094D20;
@ -665,7 +693,7 @@ alResampleParam = 0x8008EA6C;
alEnvmixerNew = 0x8008CB2C; alEnvmixerNew = 0x8008CB2C;
alEnvmixerParam = 0x8008DF40; alEnvmixerParam = 0x8008DF40;
alAuxBusParam = 0x8008DA0C; alAuxBusParam = 0x8008DA0C;
alAudioFrame = 0x8008FBEC;
__allocParam = 0x8008FD9C; __allocParam = 0x8008FD9C;
__freeParam = 0x8008FDC8; __freeParam = 0x8008FDC8;
_collectPVoices = 0x8008FDE0; _collectPVoices = 0x8008FDE0;
@ -768,7 +796,7 @@ osViModePalLan1 = 0x800ABBE0;
osViModeMpalLan1 = 0x800ABA00; osViModeMpalLan1 = 0x800ABA00;
osViModeNtscLan1 = 0x800AB960; osViModeNtscLan1 = 0x800AB960;
obInitControllers = 0x80089C60; obControllerInit = 0x80089C60;
osUnmapTLBAll = 0x8009AB00; osUnmapTLBAll = 0x8009AB00;
osMapTLBRdb = 0x8009AAA0; osMapTLBRdb = 0x8009AAA0;
@ -787,10 +815,8 @@ __start_thread_800B9C88 = 0x80089660;
magnitude = 0x8009C780; magnitude = 0x8009C780;
main_ = 0x80071EB0;
__dma_load_loop = 0x80089A30; __dma_load_loop = 0x80089A30;
__dma_load_loop_check = 0x800819D4;
__MUS_MEM_800B18A4 = 0x800B18A4; // size:0x58 __MUS_MEM_800B18A4 = 0x800B18A4; // size:0x58
__MUS_MEM_800B186C = 0x800B186C; __MUS_MEM_800B186C = 0x800B186C;
@ -823,13 +849,10 @@ OSMESG_800BE048 = 0x800BE048;
OSMESG_800B9C58 = 0x800B9C58; OSMESG_800B9C58 = 0x800B9C58;
OSMESG_800B9C80 = 0x800B9C80; OSMESG_800B9C80 = 0x800B9C80;
SP_THREAD_IDLE = 0x800B17A0;
SP_THREAD_FIRST_DMA_LOAD = 0x800C6D60;
SP_THREAD_800BE1C0 = 0x800C2370; SP_THREAD_800BE1C0 = 0x800C2370;
SP_THREAD_800B9C88 = 0x800BBE40; SP_THREAD_800B9C88 = 0x800BBE40;
THREAD_CONTROLLER = 0x800BBE80; THREAD_CONTROLLER = 0x800BBE80;
THREAD_FIRST_DMA_LOAD = 0x800AF5F0;
THREAD_800B7A90 = 0x800B7A90; THREAD_800B7A90 = 0x800B7A90;
THREAD_800BE1C0 = 0x800BE1C0; THREAD_800BE1C0 = 0x800BE1C0;
THREAD_800B9C88 = 0x800B9C88; THREAD_800B9C88 = 0x800B9C88;
@ -915,12 +938,16 @@ __VIRTUAL_MEMORY_EXHAUSTED = 0x800AE35C;
__virtual_mem_alloc = 0x80070F30; __virtual_mem_alloc = 0x80070F30;
__controller_thread_80089D9C = 0x80089D9C; __controller_thread_80089D9C = 0x80089D9C;
__Mus_thread_80085908 = 0x80085908;
THREAD_IDLE = 0x800AF440; obIdle = 0x8007F8E4;
idle = 0x8007F8E4; obThreadIdle = 0x800AF440;
obStackIdle = 0x800B17A0;
obMain = 0x80071EB0;
obThreadMain = 0x800AF5F0;
obStackMain = 0x800C6D60;
obInitializePi = 0x80089F40; obInitializePi = 0x80089F40;
@ -953,36 +980,20 @@ bcopy = 0x80093060;
bcmp = 0x80092F50; bcmp = 0x80092F50;
bzero = 0x80093380; bzero = 0x80093380;
MusHandlePause = 0x80081EA4;
MusHandleUnpause = 0x80081EC8;
MusSetFxType = 0x80081EF0;
MusFxBankNumberOfEffects = 0x80082000;
MusFxBankSetPtrBank = 0x8008202C;
MusFxBankGetPtrBank = 0x80082034;
MusSetMasterVolume = 0x800814C4;
MusStartSong = 0x800814F0;
MusPtrBankSetCurrent = 0x80081E18;
__MusIntInitSweep = 0x80083010;
__MusIntMemMalloc = 0x80085ADC;
// Maybe incorrect, found them myself.
MusInitialize = 0x8008123C; // rom:0x1163C
MusFxBankInitialize = 0x80081F7C; // rom:0x1237C
MusPtrBankInitialize = 0x80081DB4;
n64_ptr_tables_v2_00_VRAM = 0x80164770; // rom:0xB9D00 n64_ptr_tables_v2_00_VRAM = 0x80164770; // rom:0xB9D00
n64_ptr_tables_v2_01_VRAM = 0x80104710; // rom:0x59CA0 n64_ptr_tables_v2_01_VRAM = 0x80104710; // rom:0x59CA0
n64_wave_data_VRAM = 0xD_8010A760; // rom:0x5FCF0 n64_wave_data_VRAM = 0xD_8010A760; // rom:0x5FCF0
__MUS_CONFIG_8010A710 = 0x8010A710; // size:0x44 alSynAddPlayer = 0x80088000; // rom:0x18400
alSynAllocVoice = 0x80088050; // rom:0x18450
alSynStopVoice = 0x80088550; // rom:0x18950
alAudioFrame = 0x80088840; // rom:0x18C40
alSynAllocFX = 0x8008FF70; alSynAllocFX = 0x8008FF70;
alFxNew = 0x8008C694; alFxNew = 0x8008C694;
alFxParam = 0x8008EEA4; alFxParam = 0x8008EEA4;
alMainBusParam = 0x8008E850; alMainBusParam = 0x8008E850;
alInit = 0x8008F7A0; alInit = 0x80084970; // rom:0x14D70
alUnlink = 0x8008F81C; alUnlink = 0x8008F81C;
alClose = 0x8008F7CC; alClose = 0x8008F7CC;
alLink = 0x8008F7FC; alLink = 0x8008F7FC;

View File

@ -0,0 +1,100 @@
__libmus_alglobals = 0x800E7D18;
__libmus_current_sched = 0x800A9B8C;
audio_heap = 0x800B1A70;
mus_master_volume_effects = 0x800B181C;
mus_master_volume_songs = 0x800B181E;
mus_init_bank = 0x800B1828;
libmus_fxheader_single = 0x800B183C;
libmus_fxheader_current = 0x800B1838;
mus_channels = 0x800B180C;
max_channels = 0x800B1804;
musCurrentPtrBank = 0x800B182C;
__MusIntThreadProcess = 0x80085908;
__MusIntAudManInit = 0x800857D0; // rom:0x15BD0
__MusIntSamplesInit = 0x80085BD0; // rom:0x15FD0
__MusIntDmaInit = 0x800851C0; // rom:0x155C0
__MusIntSchedInit = 0x80085620; // rom:0x15A20
__MusIntMemInit = 0x80085A90; // rom:0x15E90
__MusIntInitialiseChannel = 0x80083738; // rom:0x13B38
__MusIntStartSong = 0x80083CCC; // rom:0x140CC
__MusIntFindChannelAndStart = 0x80083B24; // rom:0x13F24
__MusIntStartEffect = 0x80083A74; // rom:0x13E74
__MusIntMemMalloc = 0x80085ADC;
__MusIntMemRemaining = 0x80085B0C; // rom:0x15F0C
__MusIntMemGetHeapAddr = 0x80085B24; // rom:0x15F24
__MusIntMemSet = 0x80085B30; // rom:0x15F30
__MusIntMemMove = 0x80085B5C; // rom:0x15F5C
__MusIntRemapPtrs = 0x80083A3C; // rom:0x13E3C
__MusIntSamplesCurrent = 0x80085C74; // rom:0x16074
__MusIntDmaProcess = 0x80085334; // rom:0x15734
// player_fifo.c
__MusIntFifoOpen = 0x80082130; // rom:0x12530
__MusIntFifoProcessCommand = 0x80082194; // rom:0x12594
__MusIntFifoAddCommand = 0x80082214; // rom:0x12614
// player.c
__MusIntMain = 0x800822AC; // rom:0x126AC
__MusIntProcessContinuousVolume = 0x800831A0; // rom:0x135A0
__MusIntProcessContinuousPitchBend = 0x80083264; // rom:0x13664
__MusIntGetNewNote = 0x8008259C; // rom:0x1299C
__MusIntFlushPending = 0x80082AE8; // rom:0x12EE8
__MusIntSetVolumeAndPan = 0x80082B64; // rom:0x12F64
__MusIntSetPitch = 0x80082CB8; // rom:0x130B8
__MusIntInitEnvelope = 0x80082DC4; // rom:0x131C4
__MusIntProcessEnvelope = 0x80082E34; // rom:0x13234
__MusIntInitSweep = 0x80083010; // rom:0x13410
__MusIntProcessSweep = 0x8008302C; // rom:0x1342C
__MusIntProcessVibrato = 0x8008313C; // rom:0x1353C
__MusIntProcessWobble = 0x800830E4; // rom:0x134E4
__MusIntPowerOf2 = 0x80083378; // rom:0x13778
__MusIntRemapPtrBank = 0x8008350C; // rom:0x1390C
__MusIntRandom = 0x800836A4; // rom:0x13AA4
__MusIntFindChannel = 0x80083874; // rom:0x13C74
__MusIntHandleSetFlag = 0x80083F38; // rom:0x14338
// player_api.c
MusInitialize = 0x8008123C; // rom:0x1163C
MusSetMasterVolume = 0x800814C4; // rom:0x118C4
MusStartSong = 0x800814F0; // rom:0x118F0
MusStartSongFromMarker = 0x80081520; // rom:0x11920
MusStartEffect = 0x80081770; // rom:0x11B70
MusStartEffect2 = 0x800817F0; // rom:0x11BF0
MusStop = 0x80081908; // rom:0x11D08
MusAsk = 0x800819D4; // rom:0x11DD4
MusHandleStop = 0x80081A54; // rom:0x11E54
MusHandleAsk = 0x80081B08; // rom:0x11F08
MusHandleSetVolume = 0x80081B60; // rom:0x11F60
MusHandleSetPan = 0x80081BC0; // rom:0x11FC0
MusHandleSetFreqOffset = 0x80081C30; // rom:0x12030
MusHandleSetTempo = 0x80081CA0; // rom:0x120A0
MusHandleSetReverb = 0x80081D2C; // rom:0x1212C
MusPtrBankSetSingle = 0x80081DF0; // rom:0x121F0
MusPtrBankSetCurrent = 0x80081E18; // rom:0x12218
MusPtrBankGetCurrent = 0x80081E3C; // rom:0x1223C
MusHandleGetPtrBank = 0x80081E48; // rom:0x12248
MusHandlePause = 0x80081EA4; // rom:0x122A4
MusHandleUnpause = 0x80081EC8; // rom:0x122C8
MusSetFxType = 0x80081EF0; // rom:0x122F0
MusSetSongFxChange = 0x80081F20; // rom:0x12320
MusFxBankInitialize = 0x80081F7C; // rom:0x1237C
MusFxBankNumberOfEffects = 0x80082000; // rom:0x12400
MusFxBankSetCurrent = 0x80082008; // rom:0x12408
MusFxBankSetSingle = 0x80082014; // rom:0x12414
MusFxBankGetCurrent = 0x80082020; // rom:0x12420
MusFxBankSetPtrBank = 0x8008202C; // rom:0x1242C
MusFxBankGetPtrBank = 0x80082034; // rom:0x12434
MusSetScheduler = 0x8008203C; // rom:0x1243C
MusHandleWaveCount = 0x80082048; // rom:0x12448
MusHandleWaveAddress = 0x800820AC; // rom:0x124AC
MusSetMarkerCallback = 0x80082124; // rom:0x12524
MusPtrBankInitialize = 0x80081DB4; // rom:0x121B4
__MUS_CONFIG_8010A710 = 0x8010A710; // size:0x44

View File

@ -14,7 +14,9 @@ options:
# undefined_funcs_auto_path: undefined_funcs_auto.txt # undefined_funcs_auto_path: undefined_funcs_auto.txt
# undefined_syms_auto: True # undefined_syms_auto: True
# undefined_syms_auto_path: undefined_syms_auto.txt # undefined_syms_auto_path: undefined_syms_auto.txt
# symbol_addrs_path: symbol_addrs.txt symbol_addrs_path:
- linker_scripts/symbols/addr.txt
- linker_scripts/symbols/libmus_addr.txt
# asm_path: asm # asm_path: asm
# src_path: src # src_path: src
# build_path: build # build_path: build
@ -38,7 +40,7 @@ segments:
start: 0x1000 start: 0x1000
vram: 0x80070C00 vram: 0x80070C00
subsegments: subsegments:
- [0x1000, asm, "entry_code"] - [0x1000, asm, "entry"]
- name: main - name: main
type: code type: code
@ -46,20 +48,19 @@ segments:
vram: 0x80070C60 vram: 0x80070C60
follows_vram: entry follows_vram: entry
bss_size: 0x3AE70 bss_size: 0x3AE70
find_file_boundaries: False find_file_boundaries: True
subsegments: subsegments:
- [0x1060, asm, "main"] - [0x1060, c, "main"]
- [0x4AC0, asm] - [0x4AC0, asm, "_ob_overconfident_mother"]
- [0x5FC0, asm, "5FC0"] # - [0x5FC0, asm]
- [0x68E0, asm] # - [0x68E0, asm]
- [0x8700, asm] # - [0x8700, asm]
- [0xA370, asm, "lha"] # - [0xA370, asm, "lha"]
- [0xFC80, asm, "boot"] - [0xFC80, c, "boot"]
- [0xFDC0, asm] - [0xFDC0, c, "_ob_spooky_degree"]
- [0xFF10, asm] - [0xFF10, c, "_ob_offbeat_discovery"]
- [0x10110, asm] - [0x10110, c, "_ob_ambitious_fold"]
- [0x10190, asm] - [0x10190, c, "_ob_rebel_pull"]
- [0x10190, asm]
- [0x10250, asm] - [0x10250, asm]
- [0x102E0, asm] - [0x102E0, asm]
- [0x10340, asm] - [0x10340, asm]
@ -81,13 +82,17 @@ segments:
- [0x11440, asm] - [0x11440, asm]
- [0x11480, asm] - [0x11480, asm]
- [0x114F0, asm, "libmus"] - [0x114F0, asm, "libmus/player"]
# - [0x12530, asm]
- [0x155C0, asm] - [0x155C0, asm]
- [0x15A20, asm] - [0x15A20, asm]
- [0x15BD0, asm] - [0x15BD0, asm, "libmus/aud_thread"]
- [0x15E90, asm] - [0x15E90, asm, "libmus/memory"]
- [0x15FD0, asm]
- [0x16100, asm] - [0x16100, asm]
- [0x161A0, asm]
- [0x17090, asm] - [0x17090, asm]
- [0x177B0, asm] - [0x177B0, asm]
- [0x17990, asm] - [0x17990, asm]
@ -108,14 +113,14 @@ segments:
- [0x19E10, asm] - [0x19E10, asm]
- [0x19E30, asm] - [0x19E30, asm]
- [0x19EB0, asm] - [0x19EB0, asm]
- [0x19FC0, asm, "black"] - [0x19FC0, c, "black"]
- [0x1A050, asm] - [0x1A050, c, "_ob_icy_coast"]
- [0x1A4F0, asm] - [0x1A4F0, c, "rom_copy"]
- [0x1A5B0, asm] - [0x1A5B0, c, "_ob_unusual_spiders"]
- [0x1A660, asm] - [0x1A660, c, "_ob_prized_reading"]
- [0x1A9A0, asm] - [0x1A9A0, c, "_ob_silly_cactus"]
- [0x1AA00, asm] - [0x1AA00, c, "_ob_classy_fold"]
- [0x1AAA0, asm] - [0x1AAA0, c, "_ob_dull_silver"]
- [0x1AD10, asm] - [0x1AD10, asm]
- [0x1AFD0, asm] - [0x1AFD0, asm]
- [0x1B030, asm] - [0x1B030, asm]
@ -126,9 +131,9 @@ segments:
- [0x1B2E0, asm] - [0x1B2E0, asm]
- [0x1B320, asm] - [0x1B320, asm]
- [0x1B360, asm] - [0x1B360, asm]
- [0x1B3A0, asm] - [0x1B3A0, c, "_ob_electric_zephyr"]
- [0x1B3E0, asm] - [0x1B3E0, c, "_ob_grumpy_island"]
- [0x1B510, asm] - [0x1B510, c, "_ob_painful_roll"]
- [0x1B530, asm] - [0x1B530, asm]
- [0x1B650, asm] - [0x1B650, asm]
- [0x1B7A0, asm] - [0x1B7A0, asm]
@ -219,10 +224,10 @@ segments:
- [0x25F90, asm, "libultra/io/pfsallocatefile"] - [0x25F90, asm, "libultra/io/pfsallocatefile"]
- [0x263C0, asm] - [0x263C0, asm]
- [0x265E0, asm] - [0x265E0, asm]
- [0x26BC0, asm] - [0x26BC0, asm, "libultra/io/pfssearchfile"]
- [0x26D80, asm] - [0x26D80, asm, "libultra/io/pfsfreeblocks"]
- [0x26E90, asm, "libultra/io/pfsinitpak"] - [0x26E90, asm, "libultra/io/pfsinitpak"]
- [0x27260, asm] - [0x27260, asm, "libultra/io/pfsrepairid"]
- [0x272C0, asm, "libultra/io/pfsgetstatus"] - [0x272C0, asm, "libultra/io/pfsgetstatus"]
- [0x274D0, asm, "libultra/io/pfsselectbank"] - [0x274D0, asm, "libultra/io/pfsselectbank"]
- [0x27540, asm, "libultra/io/contpfs"] - [0x27540, asm, "libultra/io/contpfs"]
@ -251,9 +256,8 @@ segments:
- [0x29CC0, asm, "libultra/io/pigetcmdq"] - [0x29CC0, asm, "libultra/io/pigetcmdq"]
- [0x29CE0, asm, "libultra/io/epirawread"] - [0x29CE0, asm, "libultra/io/epirawread"]
- [0x29E50, asm, "libultra/io/epirawwrite"] - [0x29E50, asm, "libultra/io/epirawwrite"]
- [0x29FC0, asm] - [0x29FC0, asm, "libultra/io/ai"]
- [0x29FE0, asm] - [0x29FE0, asm, "libc/xprintf"]
- [0x2A560, asm]
- [0x2AA30, asm, "libultra/io/dpsetnextbuf"] - [0x2AA30, asm, "libultra/io/dpsetnextbuf"]
- [0x2AAD0, asm, "libultra/os/getcause"] - [0x2AAD0, asm, "libultra/os/getcause"]
- [0x2AAE0, asm, "libultra/os/getcount"] - [0x2AAE0, asm, "libultra/os/getcount"]
@ -261,14 +265,14 @@ segments:
- [0x2AB00, asm, "libultra/os/setcompare"] - [0x2AB00, asm, "libultra/os/setcompare"]
- [0x2AB10, asm, "libultra/os/setfpccsr"] - [0x2AB10, asm, "libultra/os/setfpccsr"]
- [0x2AB20, asm, "libultra/os/setsr"] - [0x2AB20, asm, "libultra/os/setsr"]
- [0x2AB30, asm] - [0x2AB30, asm, "libultra/os/setwatchlo"]
- [0x2AB40, asm, "libultra/io/sp"] - [0x2AB40, asm, "libultra/io/sp"]
- [0x2AB60, asm, "libultra/io/spsetstat"] - [0x2AB60, asm, "libultra/io/spsetstat"]
- [0x2AB70, asm, "libultra/io/spsetpc"] - [0x2AB70, asm, "libultra/io/spsetpc"]
- [0x2ABA0, asm, "libultra/io/sprawdma"] - [0x2ABA0, asm, "libultra/io/sprawdma"]
- [0x2AC30, asm] - [0x2AC30, asm, "libultra/io/sirawread"]
- [0x2AC80, asm] - [0x2AC80, asm, "libultra/io/sirawwrite"]
- [0x2ACD0, asm] - [0x2ACD0, asm, "libultra/io/crc"]
- [0x2ADC0, asm, "libultra/os/destroythread"] - [0x2ADC0, asm, "libultra/os/destroythread"]
- [0x2AEA0, asm, "libultra/os/maptlbrdb"] - [0x2AEA0, asm, "libultra/os/maptlbrdb"]
- [0x2AF00, asm, "libultra/os/unmaptlball"] - [0x2AF00, asm, "libultra/os/unmaptlball"]
@ -277,9 +281,9 @@ segments:
- [0x2B070, asm, "libultra/io/pfschecker"] - [0x2B070, asm, "libultra/io/pfschecker"]
- [0x2B790, asm, "libultra/io/pfsisplug"] - [0x2B790, asm, "libultra/io/pfsisplug"]
- [0x2BA70, asm, "libc/xlitob"] - [0x2BA70, asm, "libc/xlitob"]
- [0x2BCC0, asm] - [0x2BCC0, asm, "libc/xldtob"]
- [0x2C750, asm, "libultra/io/dp"] - [0x2C750, asm, "libultra/io/dp"]
- [0x2C770, asm] - [0x2C770, asm, "libultra/io/si"]
- [0x2C790, asm] - [0x2C790, asm]
- [0x2C950, asm] - [0x2C950, asm]
- [0x2C990, asm] - [0x2C990, asm]
@ -308,22 +312,27 @@ segments:
- [0x2E450, data] - [0x2E450, data]
- [0x387C0, data, "data/overlay_table"] - [0x387C0, data, "data/overlay_table"]
- [0x38B50, data] - [0x38B50, data]
- [0x3A2F0, .data, "gfx/ob_saucy_hose"]
- [0x3A3E0, data]
- [0x3E330, rodata, "5FC0"] - [0x3E100, .rodata, "main"]
# - [0x3E408, rodata, "5FC0"]
- [0x3E460, rodata, "lha"] - [0x3E330, rodata, "_ob_overconfident_mother"]
- [0x3E7A0, rodata, "FDC0"] # - [0x3E460, rodata]
- [0x3E7C0, rodata, "10110"]
- [0x3E7D0, rodata, "10190"] - [0x3E7A0, .rodata, "_ob_spooky_degree"]
- [0x3E7C0, .rodata, "_ob_ambitious_fold"]
- [0x3E7D0, .rodata, "_ob_rebel_pull"]
- [0x3E7F0, rodata, "10CF0"] - [0x3E7F0, rodata, "10CF0"]
- [0x3E800, rodata, "11170"] - [0x3E800, rodata, "11170"]
- [0x3E810, rodata, "libmus"] - [0x3E810, rodata, "libmus/player"]
# - [0x3E8F0, rodata, "libmus"] # - [0x3E8F0, rodata]
- [0x3E900, rodata, "16100"] - [0x3E900, rodata, "16100"]
# - [0x3E930, rodata, "16100"] - [0x3E930, rodata, "161A0"]
- [0x3E9A0, rodata, "177B0"] - [0x3E9A0, rodata, "177B0"]
- [0x3E9B0, rodata, "17990"] - [0x3E9B0, rodata, "17990"]
- [0x3E9F0, rodata, "189D0"] - [0x3E9F0, rodata, "189D0"]
- [0x3EA90, rodata, "libultra/io/devmgr"] - [0x3EA90, rodata, "libultra/io/devmgr"]
- [0x3EAB0, rodata, "libultra/io/aigetlen"] - [0x3EAB0, rodata, "libultra/io/aigetlen"]
- [0x3EAC0, rodata, "libultra/audio/drvrNew"] - [0x3EAC0, rodata, "libultra/audio/drvrNew"]
@ -335,8 +344,7 @@ segments:
- [0x3EE10, rodata, "libultra/io/viswapcontext"] - [0x3EE10, rodata, "libultra/io/viswapcontext"]
- [0x3EE20, rodata, "libultra/os/exceptasm"] - [0x3EE20, rodata, "libultra/os/exceptasm"]
- [0x3EE70, rodata, "libultra/gu/libm_vals"] - [0x3EE70, rodata, "libultra/gu/libm_vals"]
- [0x3EE80, rodata, "29FE0"] - [0x3EE80, rodata, "libc/xprintf"]
- [0x3F000, rodata, "libc/xlitob"] - [0x3F000, rodata, "libc/xlitob"]
- [0x3F070, rodata, "2CDA0"] - [0x3F070, rodata, "2CDA0"]
- [0x3F0C0, rodata, "2CEF0"] - [0x3F0C0, rodata, "2CEF0"]
@ -372,52 +380,48 @@ segments:
vram: 0x8016AF80 vram: 0x8016AF80
bss_size: 0x6C60 bss_size: 0x6C60
# Complete # Complete
# find_file_boundaries: False find_file_boundaries: False
subsegments: subsegments:
- [0x40E80, asm, "segment_obdata/ob_blushing_ship"] - [0x40E80, c, "segment_obdata/_ob_blushing_ship"]
- [0x41C20, asm, "segment_obdata/ob_hard_hands"] - [0x41C20, asm, "segment_obdata/_ob_hard_hands"]
- [0x420D0, asm, "segment_obdata/ob_awful_bells"] - [0x420D0, asm, "segment_obdata/_ob_awful_bells"]
- [0x42C30, asm, "segment_obdata/ob_ugliest_snow"] - [0x42C30, asm, "segment_obdata/_ob_ugliest_snow"]
- [0x42C90, asm, "segment_obdata/ob_lame_store"] - [0x42C90, asm, "segment_obdata/_ob_lame_store"]
- [0x43100, asm, "segment_obdata/ob_fierce_selection"] - [0x43100, asm, "segment_obdata/_ob_fierce_selection"]
# - [0x43100, c, "class"] # - [0x43100, c, "class"]
# - [0x44340, c, "ability"] # - [0x44340, c, "ability"]
# - [0x45480, c, "equipment"] # - [0x45480, c, "equipment"]
- [0x45CB0, asm, "segment_obdata/ob_tall_hill"] - [0x45CB0, asm, "segment_obdata/_ob_tall_hill"]
- [0x46090, asm, "segment_obdata/ob_hunky_silver"] - [0x46090, c, "segment_obdata/_ob_hunky_silver"]
- [0x49510, asm, "segment_obdata/ob_safe_songs"] - [0x49510, asm, "segment_obdata/_ob_safe_songs"]
- [0x495E0, asm, "segment_obdata/ob_abandoned_shape"] - [0x495E0, asm, "segment_obdata/_ob_abandoned_shape"]
- [0x49820, asm, "segment_obdata/ob_hardy_thrill"] - [0x49820, asm, "segment_obdata/_ob_hardy_thrill"]
- [0x49A30, asm, "segment_obdata/ob_worthless_drawer"] - [0x49A30, c, "segment_obdata/_ob_worthless_drawer"]
- [0x4D5C0, asm, "segment_obdata/ob_blessed_magic"] - [0x514B0, c, "segment_obdata/_ob_squeamish_mask"]
- [0x4EF10, asm, "segment_obdata/ob_pumped_books"] - [0x5A030, c, "segment_obdata/_ob_utopian_queen"]
- [0x514B0, asm, "segment_obdata/ob_squeamish_mask"] - [0x5AFF0, asm, "segment_obdata/_ob_pithy_collar"]
- [0x564D0, asm, "segment_obdata/ob_empty_quill"] - [0x5C060, asm, "segment_obdata/_ob_hallowed_class"]
- [0x5A030, asm, "segment_obdata/ob_utopian_queen"] - [0x5C1D0, asm, "segment_obdata/_ob_driven_channel"]
- [0x5AC70, asm, "segment_obdata/ob_mint_plantation"]
- [0x5AFF0, asm, "segment_obdata/ob_pithy_collar"]
- [0x5C060, asm, "segment_obdata/ob_hallowed_class"]
- [0x5C1D0, asm, "segment_obdata/ob_driven_channel"]
- [0x5C210, .data, "segment_obdata/vpres"] - [0x5C210, .data, "segment_obdata/vpres"]
- [0x5C280, .data, "gfx/dpfillrect"] - [0x5C280, .data, "gfx/dpfillrect"]
- [0x5C510, .data, "gfx/dpfilltex"] - [0x5C510, .data, "gfx/dpfilltex"]
- [0x5C8A0, .data, "gfx/ob_mutual_ball"] - [0x5C8A0, .data, "gfx/_ob_mutual_ball"]
- [0x5CAD0, .data, "gfx/ob_thick_bikes"] - [0x5CAD0, .data, "gfx/_ob_thick_bikes"]
- [0x5CB60, .data, "gfx/ob_hospitable_friends"] - [0x5CB60, .data, "gfx/_ob_hospitable_friends"]
- [0x5CC00, .data, "gfx/ob_broad_badge"] - [0x5CC00, .data, "gfx/_ob_broad_badge"]
- [0x5CC90, .data, "gfx/ob_just_ducks"] - [0x5CC90, .data, "gfx/_ob_just_ducks"]
- [0x5CCD0, .data, "gfx/ob_aspiring_shade"] - [0x5CCD0, .data, "gfx/_ob_aspiring_shade"]
- [0x5CD20, .data, "gfx/ob_exciting_skirt"] - [0x5CD20, .data, "gfx/_ob_exciting_skirt"]
- [0x5CD70, .data, "gfx/ob_shy_yak"] - [0x5CD70, .data, "gfx/_ob_shy_yak"]
- [0x5CE70, data, "data/strategy"] - [0x5CE70, .data, "data/strategy"]
- [0x5CEF0, data] - [0x5CEF0, data]
- [0x5CF00, data] - [0x5CF00, data]
- [0x5CF20, data] - [0x5CF20, data]
- [0x5CF30, data] - [0x5CF30, data]
- [0x5D560, data] - [0x5D560, data, "data/class_ability"]
- [0x613B0, data] - [0x613B0, data, "data/item"]
- [0x647F0, data, "segment_obdata/ob_hard_hands"] - [0x647F0, data]
- [0x650A0, data] - [0x650A0, data]
- [0x650B0, data] - [0x650B0, data]
- [0x65220, data] - [0x65220, data]
@ -425,91 +429,21 @@ segments:
- [0x65260, data] - [0x65260, data]
- [0x65280, data] - [0x65280, data]
- [0x652A0, data] - [0x652A0, data]
- [0x65970, data] - [0x65970, .data, "gfx/_ob_peaceful_screw"]
- [0x659E0, data] - [0x659E0, data]
- [0x65B00, data] - [0x65B00, data]
- [0x65B80, data] - [0x65B80, .data, "gfx/_ob_long_skirt"]
- [0x65C10, data] - [0x65C10, .data, "gfx/_ob_pointless_account"]
- [0x65C50, data] - [0x65C50, data]
- [0x65CC0, data, "segment_obdata/ob_empty_quill"] - [0x65CC0, data]
- [0x65D60, rodata, "segment_obdata/ob_blushing_ship"] - [0x65D60, .rodata, "segment_obdata/_ob_blushing_ship"]
- [0x65DD0, rodata] - [0x65DD0, rodata, "data/class_ability"]
- [0x66310, rodata] - [0x66310, rodata, "data/item"]
- [0x663C0, rodata] - [0x665C0, .rodata, "segment_obdata/_ob_hunky_silver"]
- [0x66570, rodata, "segment_obdata/ob_hunky_silver"] - [0x66B60, .rodata, "segment_obdata/_ob_worthless_drawer"]
- [0x66B60, rodata, "segment_obdata/ob_worthless_drawer"] - [0x66D00, .rodata, "segment_obdata/_ob_squeamish_mask"]
- [0x66B80, rodata, "segment_obdata/ob_pumped_books"] - [0x66DA0, .rodata, "segment_obdata/_ob_utopian_queen"]
- [0x66D00, rodata, "segment_obdata/ob_squeamish_mask"]
- [0x66DA0, rodata, "segment_obdata/ob_utopian_queen"]
# - [0x5C210, .rodata, "segment_obdata/vpres"]
# - [0x5C280, .rodata, "gfx/dpfillrect"]
# - [0x5C510, .rodata, "gfx/dpfilltex"]
# - [0x5C8A0, .rodata, "gfx/ob_mutual_ball"]
# - [0x5CAD0, .rodata, "gfx/ob_thick_bikes"]
# - [0x5CB60, .rodata, "gfx/ob_hospitable_friends"]
# - [0x5CC00, .rodata, "gfx/ob_broad_badge"]
# - [0x5CC90, .rodata, "gfx/ob_just_ducks"]
# - [0x5CCD0, .rodata, "gfx/ob_aspiring_shade"]
# - [0x5CD20, .rodata, "gfx/ob_exciting_skirt"]
# - [0x5CD70, .rodata, "gfx/ob_shy_yak"]
# - [0x5CE70, .rodata, "data/strategy"]
# - [0x5CEF0, rodata]
# - [0x5CF00, rodata]
# - [0x5CF20, rodata]
# - [0x5CF30, rodata]
# - [0x5D560, rodata]
# - [0x613B0, rodata]
# - [0x647F0, rodata, "segment_obdata/ob_hard_hands"]
# - [0x650A0, rodata]
# - [0x650B0, rodata]
# - [0x65220, rodata]
# - [0x65230, rodata]
# - [0x65260, rodata]
# - [0x65280, rodata]
# - [0x652A0, rodata]
# - [0x65970, rodata]
# - [0x659E0, rodata]
# - [0x65B00, rodata]
# - [0x65B80, rodata]
# - [0x65C10, rodata]
# - [0x65C50, rodata]
# - [0x65CC0, rodata, "segment_obdata/ob_empty_quill"]
# - [0x65D60, rodata, "segment_obdata/ob_blushing_ship"]
# - [0x65DD0, rodata]
# - [0x66310, rodata]
# - [0x663C0, rodata]
# - [0x66570, rodata, "segment_obdata/ob_hunky_silver"]
# - [0x66B60, rodata, "segment_obdata/ob_worthless_drawer"]
# - [0x66B80, rodata, "segment_obdata/ob_pumped_books"]
# - [0x66D00, rodata, "segment_obdata/ob_squeamish_mask"]
# - [0x66DA0, rodata, "segment_obdata/ob_utopian_queen"]
# - [0x5C210, data, "gfx/ob_deft_toys"]
# - [0x5CE70, .data, "data/strategy"]
# - [0x5CEF0, data]
# - [0x5D560, data]
# - [0x613B0, data, "data/item"]
# - [0x647F0, data, "data/character_name"]
# - [0x64BE0, data]
# - [0x652E0, data, "gfx/ob_dazzling_squirrel"]
# - [0x65380, data]
# - [0x65970, data, "gfx/ob_thundering_truck"]
# - [0x659E0, data]
# - [0x65B80, data, "gfx/ob_genial_crib"]
# - [0x65C50, data]
# - [0x65CC0, data]
# - [0x5C210, .data, "dl"]
# - [0x5CE70, .data, "strategy.data"]
# - [0x5D560, .data, "data"]
# - [0x65D60, rodata, "segment_obdata/ob_blushing_ship"]
# - [0x66570, rodata, "segment_obdata/ob_hunky_silver"]
# - [0x66B60, rodata, "segment_obdata/ob_worthless_drawer"]
# - [0x66B80, rodata, "segment_obdata/ob_pumped_books"]
# - [0x66D00, rodata, "segment_obdata/ob_squeamish_mask"]
- { start: 0x66E10, type: bss, vram: 0x80190F10 } - { start: 0x66E10, type: bss, vram: 0x80190F10 }

View File

@ -1,26 +0,0 @@
#include "common.h"
void func_8008A6A0(void) {
func_8008B130(&D_800AA040);
}
void func_8008A6C0(void) {
func_8008B1D0(&D_800AA040);
}
INCLUDE_ASM(const s32, "1AAA0", func_8008A6E0);
INCLUDE_ASM(const s32, "1AAA0", func_8008A730);
INCLUDE_ASM(const s32, "1AAA0", func_8008A758);
INCLUDE_ASM(const s32, "1AAA0", func_8008A798);
INCLUDE_ASM(const s32, "1AAA0", func_8008A850);
INCLUDE_ASM(const s32, "1AAA0", func_8008A890);
INCLUDE_ASM(const s32, "1AAA0", func_8008A8BC);
INCLUDE_ASM(const s32, "1AAA0", func_8008A8E8);

View File

@ -1,19 +0,0 @@
#include "common.h"
#include <PR/os_internal.h>
/* 1C0E0 8008BCE0 */
s32 func_8008BCE0(void** arg0) {
// Use of `__osDisableInt()` and `__osRestoreInt()`
// suggest that this is an library function.
void* temp_v1;
u32 mask;
mask = __osDisableInt();
temp_v1 = D_800AA41C;
D_800AA41C = arg0;
*arg0 = temp_v1;
__osRestoreInt(mask);
return 0;
}

View File

@ -1,86 +0,0 @@
#include "common.h"
#include "gbi.h"
/* 5C8A0 801869A0 */
Lights2 LIGHTS_801869A0 = gdSPDefLights2(
// ar, ag, ab
5, 5, 5,
// r1, g1, b1
100, 100, 0,
// x1, y1, z1
32, 64, 32,
// r2, g2, b2
50, 50, 0x00,
// x2, y2, z2
15, 30, 100
);
extern u8 D_6000000;
/* 5C8C8 801869C8 */
Gfx DISPLAY_LIST_801869C8[] = {
gsDPPipeSync(),
gsDPPipeSync(),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPPipeSync(),
gsSPViewport(&obVpMinResolution),
gsSPClearGeometryMode(
G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG |
G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR |
G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA
),
gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_OFF),
gsSPSetGeometryMode(G_SHADE | G_SHADING_SMOOTH),
gsSPClipRatio(FRUSTRATIO_2),
gsSPFogPosition(900, 1000),
gsSPSetLights2(LIGHTS_801869A0),
gsDPPipeSync(),
{0xE3000800, 0x00000000},
gsDPPipeSync(),
{0xED000000, 0x004FC3BC},
gsDPPipeSync(),
{0xE3000F00, 0x00000000},
{0xE3001001, 0x00000000},
{0xE3000D01, 0x00000000},
{0xE3000C00, 0x00080000},
{0xE3001201, 0x00002000},
{0xE3001402, 0x00000C00},
{0xFCFFFFFF, 0xFFFE793C},
{0xE3001700, 0x00000000},
{0xE2001E01, 0x00000000},
{0xE200001C, 0x0F0A4000},
{0x00000000, 0x00000000},
{0xE3001801, 0x00000000},
{0xFB000000, 0x00000000},
{0xFA000000, 0x00000000},
{0xF9000000, 0x00000000},
{0xF8000000, 0x00000000},
{0xF7000000, 0x00000000},
{0xEE000000, 0x00000000},
{0xEC000000, 0x00000000},
{0xEB000000, 0x00000000},
{0xEA000000, 0x00000000},
{0xF5100000, 0x00000000},
{0xF5100000, 0x01000000},
{0xF5100000, 0x02000000},
{0xF5100000, 0x03000000},
{0xF5100000, 0x04000000},
{0xF5100000, 0x05000000},
{0xF5100000, 0x6000000},
{0xF5100000, 0x07000000},
gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, 0, 0),
{0xF2000000, 0x01000000},
{0xF2000000, 0x02000000},
{0xF2000000, 0x03000000},
{0xF2000000, 0x04000000},
{0xF2000000, 0x05000000},
gsDPSetTileSize(6, 0, 0, 0, 0),
gsDPSetTileSize(G_TX_LOADTILE, 0, 0, 0, 0),
gsSPSetLights2(LIGHTS_801869A0),
gsDPPipeSync(),
gsSPEndDisplayList(),
};

View File

@ -1,27 +0,0 @@
#include "common.h"
INCLUDE_ASM(const s32, "5FC0", __calls_loads_overlay_array);
INCLUDE_ASM(const s32, "5FC0", func_80076150);
/* 6588 80076188 */
u8* func_80076188(void) {
return &D_800A872C;
}
/* 6594 80076194 */
void func_80076194(void) {
D_800C4C26 = 0xFFFE;
}
/* 65A4 800761A4 */
void func_800761A4(void) {
func_80073164(0, 1, 1, 0x80, 1, 0x100, 0x2000);
}
INCLUDE_ASM(const s32, "5FC0", __loads_overlay_array);
INCLUDE_ASM(const s32, "5FC0", func_80076324);
INCLUDE_ASM(const s32, "5FC0", __get_overlay_index);

3
src/_ob_ambitious_fold.c Normal file
View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM(const s32, "_ob_ambitious_fold", func_8007FD10);

26
src/_ob_dull_silver.c Normal file
View File

@ -0,0 +1,26 @@
#include "common.h"
void func_8008A6A0(void) {
func_8008B130(&D_800AA040);
}
void func_8008A6C0(void) {
func_8008B1D0(&D_800AA040);
}
INCLUDE_ASM(const s32, "_ob_dull_silver", func_8008A6E0);
INCLUDE_ASM(const s32, "_ob_dull_silver", func_8008A730);
INCLUDE_ASM(const s32, "_ob_dull_silver", func_8008A758);
INCLUDE_ASM(const s32, "_ob_dull_silver", func_8008A798);
INCLUDE_ASM(const s32, "_ob_dull_silver", func_8008A850);
INCLUDE_ASM(const s32, "_ob_dull_silver", func_8008A890);
INCLUDE_ASM(const s32, "_ob_dull_silver", func_8008A8BC);
INCLUDE_ASM(const s32, "_ob_dull_silver", func_8008A8E8);

View File

@ -6,7 +6,7 @@ void func_80089C50(void) {
} }
/* 1A060 80089C60 */ /* 1A060 80089C60 */
u8 obInitControllers(void) { u8 obControllerInit(void) {
u8 pattern; u8 pattern;
OSContStatus data[3]; OSContStatus data[3];
@ -53,7 +53,7 @@ void __start_controller_thread(void) {
osStartThread(&THREAD_CONTROLLER); osStartThread(&THREAD_CONTROLLER);
} }
INCLUDE_ASM(const s32, "1A050", __controller_thread_80089D9C); INCLUDE_ASM(const s32, "_ob_icy_coast", __controller_thread_80089D9C);
void obInitializePi(void) { void obInitializePi(void) {
osCreatePiManager(OS_PRIORITY_PIMGR, &MQ_800BE030, OSMESG_800BE048, sizeof(OSMESG_800BE048) / sizeof(OSMesg)); osCreatePiManager(OS_PRIORITY_PIMGR, &MQ_800BE030, OSMESG_800BE048, sizeof(OSMESG_800BE048) / sizeof(OSMesg));
@ -61,7 +61,7 @@ void obInitializePi(void) {
} }
/* 1A380 80089F80 */ /* 1A380 80089F80 */
void romCopy_512(const void *src, void *dst, u32 len) { void romCopy_512(void *src, void *dst, u32 len) {
OSIoMesg dmaIoMesgBuf; OSIoMesg dmaIoMesgBuf;
OSMesgQueue dmaMessageQ; OSMesgQueue dmaMessageQ;
@ -92,4 +92,4 @@ void romCopy_512(const void *src, void *dst, u32 len) {
} }
INCLUDE_ASM(const s32, "1A050", func_8008A040); INCLUDE_ASM(const s32, "_ob_icy_coast", func_8008A040);

View File

@ -0,0 +1,5 @@
#include "common.h"
INCLUDE_ASM(const s32, "_ob_offbeat_discovery", func_8007FB10);
INCLUDE_ASM(const s32, "_ob_offbeat_discovery", func_8007FB60);

View File

@ -1,7 +1,7 @@
#include "common.h" #include "common.h"
INCLUDE_ASM(const s32, "1A660", func_8008A260); INCLUDE_ASM(const s32, "_ob_prized_reading", func_8008A260);
void func_8008A334(void) { void func_8008A334(void) {
func_8008B1D0(&D_800A9FF8); func_8008B1D0(&D_800A9FF8);

3
src/_ob_rebel_pull.c Normal file
View File

@ -0,0 +1,3 @@
#include "common.h"
INCLUDE_ASM(const s32, "_ob_rebel_pull", func_8007FD90);

5
src/_ob_spooky_degree.c Normal file
View File

@ -0,0 +1,5 @@
#include "common.h"
INCLUDE_ASM(const s32, "_ob_spooky_degree", func_8007F9C0);
INCLUDE_ASM(const s32, "_ob_spooky_degree", func_8007FA38);

View File

@ -0,0 +1,27 @@
#include "common.h"
INCLUDE_ASM(const s32, "_ob_overconfident_mother", __calls_loads_overlay_array);
INCLUDE_ASM(const s32, "_ob_overconfident_mother", func_80076150);
/* 6588 80076188 */
u8* func_80076188(void) {
return &D_800A872C;
}
/* 6594 80076194 */
void func_80076194(void) {
D_800C4C26 = 0xFFFE;
}
/* 65A4 800761A4 */
void func_800761A4(void) {
func_80073164(0, 1, 1, 0x80, 1, 0x100, 0x2000);
}
INCLUDE_ASM(const s32, "_ob_overconfident_mother", __loads_overlay_array);
INCLUDE_ASM(const s32, "_ob_overconfident_mother", func_80076324);
INCLUDE_ASM(const s32, "_ob_overconfident_mother", __get_overlay_index);

View File

@ -2,11 +2,11 @@
void boot(void) { void boot(void) {
osInitialize(); osInitialize();
osCreateThread(&THREAD_IDLE, 1, idle, NULL, SP_THREAD_IDLE, 0xA); osCreateThread(&obThreadIdle, 1, obIdle, NULL, obStackIdle, 0xA);
osStartThread(&THREAD_IDLE); osStartThread(&obThreadIdle);
} }
void idle(void* arg) { void obIdle(void* arg) {
D_800E7A18 = NULL; D_800E7A18 = NULL;
obInitializePi(); obInitializePi();
@ -14,10 +14,10 @@ void idle(void* arg) {
osViSetSpecialFeatures(OS_VI_DIVOT_ON | OS_VI_DITHER_FILTER_ON | OS_VI_GAMMA_OFF | OS_VI_GAMMA_DITHER_OFF); osViSetSpecialFeatures(OS_VI_DIVOT_ON | OS_VI_DITHER_FILTER_ON | OS_VI_GAMMA_OFF | OS_VI_GAMMA_DITHER_OFF);
osCreateThread(&THREAD_FIRST_DMA_LOAD, 3, main_, NULL, SP_THREAD_FIRST_DMA_LOAD, 0xA); osCreateThread(&obThreadMain, 3, obMain, NULL, obStackMain, 0xA);
osStartThread(&THREAD_FIRST_DMA_LOAD); osStartThread(&obThreadMain);
osSetThreadPri(&THREAD_IDLE, OS_PRIORITY_IDLE); osSetThreadPri(&obThreadIdle, OS_PRIORITY_IDLE);
while(1) { while(1) {
if (D_800E7A18 != NULL) { if (D_800E7A18 != NULL) {

View File

@ -4,22 +4,22 @@
#include "str_decorate.h" #include "str_decorate.h"
/* 5CE70 80186F70 */ /* 5CE70 80186F70 */
char* const obStrategyNameAutonomous = DECORATE("Autonomous"); char obStrategyNameAutonomous[] = DECORATE("Autonomous");
/* 5CE80 80186F80 */ /* 5CE80 80186F80 */
char* const obStrategyNameAttackStrongest = DECORATE("Attack" NEWLINE INDENT "Strongest"); char obStrategyNameAttackStrongest[] = DECORATE("Attack" NEWLINE INDENT "Strongest");
/* 5CE94 80186F94 */ /* 5CE94 80186F94 */
char* const obStrategyNameAttackLeader = DECORATE("Attack" NEWLINE INDENT "Leader"); char obStrategyNameAttackLeader[] = DECORATE("Attack" NEWLINE INDENT "Leader");
/* 5CEA8 80186FA8 */ /* 5CEA8 80186FA8 */
char* const obStrategyNameAttackWeakest = DECORATE("Attack" NEWLINE INDENT "Weakest"); char obStrategyNameAttackWeakest[] = DECORATE("Attack" NEWLINE INDENT "Weakest");
/* 5CEBC 80186FBC */ /* 5CEBC 80186FBC */
const u8 D_80186FBC[] = { 0x07, 0x02, 0x06, 0x03, 0x05, 0x04, 0x01, 0x00 }; u8 D_80186FBC[] = { 0x07, 0x02, 0x06, 0x03, 0x05, 0x04, 0x01, 0x00 };
/* 5CEC4 80186FC4 */ /* 5CEC4 80186FC4 */
char* const obStrategyName[] = { char *obStrategyName[] = {
obStrategyNameAutonomous, obStrategyNameAutonomous,
obStrategyNameAttackStrongest, obStrategyNameAttackStrongest,
obStrategyNameAttackLeader, obStrategyNameAttackLeader,

439
src/dl.c
View File

@ -1,439 +0,0 @@
#include <ultra64.h>
#include "common.h"
/* 5C210 80186310 */
Vp obVpMinResolution = {
(SCREEN_WIDTH_MIN / 2) * 4, (SCREEN_HEIGHT_MIN / 2) * 4, 511, 0,
(SCREEN_WIDTH_MIN / 2) * 4, (SCREEN_HEIGHT_MIN / 2) * 4, 511, 0
};
/* 5C220 80186320 */
Vp obVpMaxResolution = {
(SCREEN_WIDTH_MAX / 2) * 4, (SCREEN_HEIGHT_MAX / 2) * 4, 511, 0,
(SCREEN_WIDTH_MAX / 2) * 4, (SCREEN_HEIGHT_MAX / 2) * 4, 511, 0
};
/* 5C230 80186330 */
Gfx obDlSetupMinResolution[] = {
gsSPViewport(&obVpMinResolution),
gsDPPipeSync(),
gsDPSetScissor(
G_SC_NON_INTERLACE,
0, 0,
SCREEN_WIDTH_MIN - 1, SCREEN_HEIGHT_MIN - 1
),
gsDPPipeSync(),
gsSPEndDisplayList(),
};
// /* 5C258 80186358 */
Gfx obDlSetupMaxResolution[] = {
gsSPViewport(&obVpMaxResolution),
gsDPPipeSync(),
gsDPSetScissor(
G_SC_NON_INTERLACE,
0, 0,
SCREEN_WIDTH_MAX, SCREEN_HEIGHT_MAX
),
gsDPPipeSync(),
gsSPEndDisplayList(),
};
/* 5C280 80186380 */
Gfx DP_FILL_RECT_639x479[] = {
gsDPPipeSync(),
gsDPPipeSync(),
gsDPFillRectangle(0, 0, 639, 29),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsDPFillRectangle(0, 30, 639, 59),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsDPFillRectangle(0, 60, 639, 89),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsDPFillRectangle(0, 90, 639, 119),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsDPFillRectangle(0, 120, 639, 149),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsDPFillRectangle(0, 150, 639, 179),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsDPFillRectangle(0, 180, 639, 209),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsDPFillRectangle(0, 210, 639, 239),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsDPFillRectangle(0, 240, 639, 269),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsDPFillRectangle(0, 270, 639, 299),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsDPFillRectangle(0, 300, 639, 329),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsDPFillRectangle(0, 330, 639, 359),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsDPFillRectangle(0, 360, 639, 389),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsDPFillRectangle(0, 390, 639, 419),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsDPFillRectangle(0, 420, 639, 449),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsDPFillRectangle(0, 450, 639, 479),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsSPEndDisplayList(),
};
/* 5C510 80186610 */
Gfx DL_DRAW_TEX_2560x1920[] = {
gsSPNoOp(),
gsDPPipeSync(),
gsSPTextureRectangle(0, 0, 2560, 120, 0, 0, 0, 0, 0),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsSPTextureRectangle(0, 120, 2560, 240, 0, 0, 0, 0, 0),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsSPTextureRectangle(0, 240, 2560, 360, 0, 0, 0, 0, 0),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsSPTextureRectangle(0, 360, 2560, 480, 0, 0, 0, 0, 0),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsSPTextureRectangle(0, 480, 2560, 600, 0, 0, 0, 0, 0),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsSPTextureRectangle(0, 600, 2560, 720, 0, 0, 0, 0, 0),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsSPTextureRectangle(0, 720, 2560, 840, 0, 0, 0, 0, 0),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsSPTextureRectangle(0, 840, 2560, 960, 0, 0, 0, 0, 0),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsSPTextureRectangle(0, 960, 2560, 1080, 0, 0, 0, 0, 0),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsSPTextureRectangle(0, 1080, 2560, 1200, 0, 0, 0, 0, 0),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsSPTextureRectangle(0, 1200, 2560, 1320, 0, 0, 0, 0, 0),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsSPTextureRectangle(0, 1320, 2560, 1440, 0, 0, 0, 0, 0),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsSPTextureRectangle(0, 1440, 2560, 1560, 0, 0, 0, 0, 0),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsSPTextureRectangle(0, 1560, 2560, 1680, 0, 0, 0, 0, 0),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsSPTextureRectangle(0, 1680, 2560, 1800, 0, 0, 0, 0, 0),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsDPPipeSync(),
gsSPTextureRectangle(0, 1800, 2560, 1920, 0, 0, 0, 0, 0),
gsDPPipeSync(),
gsSPNoOp(),
gsDPPipeSync(),
gsSPEndDisplayList(),
};
/* 5C8A0 801869A0 */
Lights2 LIGHTS_801869A0 = gdSPDefLights2(
// ar, ag, ab
5, 5, 5,
// r1, g1, b1
100, 100, 0,
// x1, y1, z1
32, 64, 32,
// r2, g2, b2
50, 50, 0x00,
// x2, y2, z2
15, 30, 100
);
/* 5C8C8 801869C8 */
Gfx DISPLAY_LIST_801869C8[] = {
gsDPPipeSync(),
gsDPPipeSync(),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPPipeSync(),
gsSPViewport(&obVpMinResolution),
gsSPClearGeometryMode(
G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG |
G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR |
G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA
),
gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_OFF),
gsSPSetGeometryMode(G_SHADE | G_SHADING_SMOOTH),
gsSPClipRatio(FRUSTRATIO_2),
gsSPFogPosition(900, 1000),
gsSPSetLights2(LIGHTS_801869A0),
gsDPPipeSync(),
{0xE3000800, 0x00000000},
gsDPPipeSync(),
{0xED000000, 0x004FC3BC},
gsDPPipeSync(),
{0xE3000F00, 0x00000000},
{0xE3001001, 0x00000000},
{0xE3000D01, 0x00000000},
{0xE3000C00, 0x00080000},
{0xE3001201, 0x00002000},
{0xE3001402, 0x00000C00},
{0xFCFFFFFF, 0xFFFE793C},
{0xE3001700, 0x00000000},
{0xE2001E01, 0x00000000},
{0xE200001C, 0x0F0A4000},
{0x00000000, 0x00000000},
{0xE3001801, 0x00000000},
{0xFB000000, 0x00000000},
{0xFA000000, 0x00000000},
{0xF9000000, 0x00000000},
{0xF8000000, 0x00000000},
{0xF7000000, 0x00000000},
{0xEE000000, 0x00000000},
{0xEC000000, 0x00000000},
{0xEB000000, 0x00000000},
{0xEA000000, 0x00000000},
{0xF5100000, 0x00000000},
{0xF5100000, 0x01000000},
{0xF5100000, 0x02000000},
{0xF5100000, 0x03000000},
{0xF5100000, 0x04000000},
{0xF5100000, 0x05000000},
{0xF5100000, 0x6000000},
{0xF5100000, 0x07000000},
gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, 0, 0),
{0xF2000000, 0x01000000},
{0xF2000000, 0x02000000},
{0xF2000000, 0x03000000},
{0xF2000000, 0x04000000},
{0xF2000000, 0x05000000},
gsDPSetTileSize(6, 0, 0, 0, 0),
gsDPSetTileSize(G_TX_LOADTILE, 0, 0, 0, 0),
gsSPSetLights2(LIGHTS_801869A0),
gsDPPipeSync(),
gsSPEndDisplayList(),
};
/* 5CAD0 80186BD0 */
Gfx DISPLAY_LIST_80186BD0[] = {
{ 0xE7000000, 0x00000000 },
{ 0xD7000000, 0x00000000 },
{ 0xD9000000, 0x00000000 },
{ 0xE7000000, 0x00000000 },
{ 0xE7000000, 0x00000000 },
{ 0xE3000A01, 0x00000000 },
{ 0xE7000000, 0x00000000 },
{ 0xE3000C00, 0x00000000 },
{ 0xE3000D01, 0x00000000 },
{ 0xE3000F00, 0x00000000 },
{ 0xE3001001, 0x00000000 },
{ 0xFCFFFFFF, 0xFFFCF279 },
{ 0xE200001C, 0x0F0A4000 },
{ 0xE3001201, 0x00000000 },
{ 0xF9000000, 0xFFFFFF01 },
{ 0xE2001E01, 0x00000001 },
{ 0xE7000000, 0x00000000 },
{ 0xDF000000, 0x00000000 }
};
/* 5CB60 80186C60 */
Gfx DISPLAY_LIST_80186C60[] = {
{ 0xE7000000, 0x00000000 },
{ 0xD7000000, 0x00000000 },
{ 0xD9000000, 0x00000000 },
{ 0xD9FFFFFF, 0x00200004 },
{ 0xE7000000, 0x00000000 },
{ 0xE7000000, 0x00000000 },
{ 0xE3000A01, 0x00000000 },
{ 0xE7000000, 0x00000000 },
{ 0xE3000C00, 0x00000000 },
{ 0xE3000D01, 0x00000000 },
{ 0xE3000F00, 0x00000000 },
{ 0xE3001001, 0x00000000 },
{ 0xF9000000, 0xFFFFFF01 },
{ 0xE3001700, 0x00000000 },
{ 0xE2001E01, 0x00000000 },
{ 0xE3001201, 0x00000000 },
{ 0xFCFFFFFF, 0xFFFCF279 },
{ 0xE200001C, 0x00504240 },
{ 0xE7000000, 0x00000000 },
{ 0xDF000000, 0x00000000 }
};
/* 5CC00 80186D00 */
Gfx DISPLAY_LIST_80186D00[] = {
{ 0xE7000000, 0x00000000 },
{ 0xD7000000, 0x00000000 },
{ 0xD9000000, 0x00000000 },
{ 0xE7000000, 0x00000000 },
{ 0xE7000000, 0x00000000 },
{ 0xE3000A01, 0x00000000 },
{ 0xE7000000, 0x00000000 },
{ 0xE3000C00, 0x00000000 },
{ 0xE3000D01, 0x00000000 },
{ 0xE3000F00, 0x00000000 },
{ 0xE3001001, 0x00000000 },
{ 0xFCFFFFFF, 0xFFFCF279 },
{ 0xE200001C, 0x0F0A4000 },
{ 0xE3001201, 0x00000000 },
{ 0xF9000000, 0xFFFFFF01 },
{ 0xE2001E01, 0x00000000 },
{ 0xE7000000, 0x00000000 },
{ 0xDF000000, 0x00000000 },
};
/* 5CC90 80186D90 */
Gfx DISPLAY_LIST_80186D90[] = {
{ 0xE7000000, 0x00000000 },
{ 0xE3001201, 0x00002000 },
{ 0xFCFFFFFF, 0xFFFE793C },
{ 0xE200001C, 0x0F0A4000 },
{ 0xE2001E01, 0x00000000 },
{ 0xE3000C00, 0x00080000 },
{ 0xE7000000, 0x00000000 },
{ 0xDF000000, 0x00000000 },
};
/* 5CCD0 80186DD0 */
Gfx DISPLAY_LIST_80186DD0[] = {
{ 0xE7000000, 0x00000000 },
{ 0xE7000000, 0x00000000 },
{ 0xE3000A01, 0x00000000 },
{ 0xE7000000, 0x00000000 },
{ 0xD9000000, 0x00000405 },
{ 0xE200001C, 0x00552078 },
{ 0xFCFFFFFF, 0xFFFDF6FB },
{ 0xD7000000, 0x00000000 },
{ 0xE7000000, 0x00000000 },
{ 0xDF000000, 0x00000000 },
};
/* 5CD20 80186E20 */
Gfx DISPLAY_LIST_80186E20[] = {
{ 0xE7000000, 0x00000000 },
{ 0xE7000000, 0x00000000 },
{ 0xE3000A01, 0x00000000 },
{ 0xE7000000, 0x00000000 },
{ 0xD9000000, 0x00200405 },
{ 0xE200001C, 0x00552078 },
{ 0xFCFFFFFF, 0xFFFE793C },
{ 0xD7000000, 0x00000000 },
{ 0xE7000000, 0x00000000 },
{ 0xDF000000, 0x00000000 },
};
/* 5CD70 80186E70 */
Gfx DISPLAY_LIST_80186E70[] = {
{ 0xE7000000, 0x00000000 },
{ 0xFB000000, 0x00000000 },
{ 0xFA000000, 0x00000000 },
{ 0xF9000000, 0x00000000 },
{ 0xF8000000, 0x00000000 },
{ 0xF7000000, 0x00000000 },
{ 0xEE000000, 0x00000000 },
{ 0xEC000000, 0x00000000 },
{ 0xEB000000, 0x00000000 },
{ 0xEA000000, 0x00000000 },
{ 0xFCFFFFFF, 0xFFFE793C },
{ 0xE7000000, 0x00000000 },
{ 0xED000000, 0x004FC3BC },
{ 0xE7000000, 0x00000000 },
{ 0xF5100000, 0x00000000 },
{ 0xF5100000, 0x01000000 },
{ 0xF5100000, 0x02000000 },
{ 0xF5100000, 0x03000000 },
{ 0xF5100000, 0x04000000 },
{ 0xF5100000, 0x05000000 },
{ 0xF5100000, 0x06000000 },
{ 0xF5100000, 0x07000000 },
{ 0xF2000000, 0x00000000 },
{ 0xF2000000, 0x01000000 },
{ 0xF2000000, 0x02000000 },
{ 0xF2000000, 0x03000000 },
{ 0xF2000000, 0x04000000 },
{ 0xF2000000, 0x05000000 },
{ 0xF2000000, 0x06000000 },
{ 0xF2000000, 0x07000000 },
{ 0xE7000000, 0x00000000 },
{ 0xDF000000, 0x00000000 },
};

27
src/gfx/_ob_long_skirt.c Normal file
View File

@ -0,0 +1,27 @@
#include <ultra64.h>
#include "common.h"
/* 65B80 8018FC80 */
Gfx DISPLAY_LIST_8018FC80[] = {
gsDPPipeSync(),
gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_OFF),
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG |
G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR |
G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA),
gsDPPipeSync(),
gsDPPipeSync(),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPPipeSync(),
gsDPSetTexturePersp(G_TP_NONE),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureLUT(G_TT_RGBA16),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsDPSetRenderMode(G_RM_OPA_SURF, G_RM_OPA_SURF2),
gsDPSetTextureFilter(G_TF_POINT),
gsDPSetBlendColor(0xFF, 0xFF, 0xFF, 0x01),
gsDPSetAlphaCompare(G_AC_THRESHOLD),
gsDPPipeSync(),
gsSPEndDisplayList(),
};

View File

@ -0,0 +1,21 @@
#include <ultra64.h>
#include "common.h"
/* 65970 8018FA70 */
Gfx DISPLAY_LIST_8018FA70[] = {
gsDPPipeSync(),
gsDPPipeSync(),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPPipeSync(),
gsSPClearGeometryMode(G_ZBUFFER | G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH | G_CLIPPING | 0x0040F9FA),
gsSPSetGeometryMode(G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH),
gsDPSetRenderMode(G_RM_OPA_SURF, G_RM_OPA_SURF2),
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetAlphaCompare(G_AC_NONE),
gsSPDisplayList(obDlSetupMinResolution),
gsSPTexture(qu016(0.5), qu016(0.5), 0, G_TX_RENDERTILE, G_ON),
gsDPPipeSync(),
gsSPEndDisplayList(),
};

View File

@ -0,0 +1,15 @@
#include <ultra64.h>
#include "common.h"
/* 65C10 8018FD10 */
Gfx DISPLAY_LIST_8018FD10[] = {
gsDPPipeSync(),
gsDPSetTextureFilter(G_TF_BILERP),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsDPSetRenderMode(G_RM_OPA_SURF, G_RM_OPA_SURF2),
gsDPSetAlphaCompare(G_AC_NONE),
gsDPSetTexturePersp(G_TP_PERSP),
gsDPPipeSync(),
gsSPEndDisplayList(),
};

52
src/gfx/ob_saucy_hose.c Normal file
View File

@ -0,0 +1,52 @@
#include <ultra64.h>
#include "common.h"
/* 3A2F0 800A9EF0 */
Gfx DISPLAY_LIST_800A9EF0[] = {
gsDPSetEnvColor(0x00, 0x00, 0x00, 0x00),
gsDPSetPrimColor(0, 0, 0x00, 0x00, 0x00, 0x00),
gsDPSetBlendColor(0x00, 0x00, 0x00, 0x00),
gsDPSetFogColor(0x00, 0x00, 0x00, 0x00),
gsDPSetFillColor(0x00000000),
gsDPSetPrimDepth(0, 0),
gsDPSetConvert(0, 0, 0, 0, 0, 0),
gsDPSetKeyR(0x00, 0x00, 0),
gsDPSetKeyGB(0x00, 0x00, 0, 0x00, 0x00, 0),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsDPSetScissor(G_SC_NON_INTERLACE, 0, 0, 320, 240),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_RENDERTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, 1, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, 2, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, 3, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, 4, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, 5, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, 6, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD),
gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, 0, 0),
gsDPSetTileSize(1, 0, 0, 0, 0),
gsDPSetTileSize(2, 0, 0, 0, 0),
gsDPSetTileSize(3, 0, 0, 0, 0),
gsDPSetTileSize(4, 0, 0, 0, 0),
gsDPSetTileSize(5, 0, 0, 0, 0),
gsDPSetTileSize(6, 0, 0, 0, 0),
gsDPSetTileSize(G_TX_LOADTILE, 0, 0, 0, 0),
gsDPPipeSync(),
gsSPEndDisplayList(),
};

View File

@ -39,7 +39,7 @@ INCLUDE_ASM(const s32, "main", func_80071C04);
INCLUDE_ASM(const s32, "main", func_80071E74); INCLUDE_ASM(const s32, "main", func_80071E74);
INCLUDE_ASM(const s32, "main", main_); INCLUDE_ASM(const s32, "main", obMain);
INCLUDE_ASM(const s32, "main", func_80072398); INCLUDE_ASM(const s32, "main", func_80072398);
@ -269,3 +269,13 @@ INCLUDE_ASM(const s32, "main", func_8007422C);
INCLUDE_ASM(const s32, "main", func_800742F4); INCLUDE_ASM(const s32, "main", func_800742F4);
INCLUDE_ASM(const s32, "main", func_80074494); INCLUDE_ASM(const s32, "main", func_80074494);
INCLUDE_RODATA(const s32, "main", STR_FAILED_TO_CONTROL_THE_HEATER);
INCLUDE_RODATA(const s32, "main", STR_ADDING_NEW_DATA);
INCLUDE_RODATA(const s32, "main", STR_CREATING_A_NEW_FILE);
INCLUDE_RODATA(const s32, "main", STR_CREATING_NEW_DATA);
INCLUDE_RODATA(const s32, "main", STR_buSave_SAVING);

View File

@ -0,0 +1,336 @@
#include "common.h"
void func_800746C0(void) {
}
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_800746C8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80074834);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", buSave);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_800749C0);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80074AD4);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80074BF0);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80074C58);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", romCopy_256);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80074DA0);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80074F9C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007513C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80075224);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80075360);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007541C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80075578);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80075688);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007578C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80075858);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_800758FC);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007599C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80075A84);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80075AC4);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80075B00);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80075B60);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", __calls_loads_overlay_array);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076150);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076188);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076194);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_800761A4);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", __loads_overlay_array);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076324);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", __get_overlay_index);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_800764E0);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_800765D8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076AE8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076DC8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076E00);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076E2C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076E58);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076EAC);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076F00);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076F5C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007705C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80077160);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80077200);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80077288);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80077314);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", UnusedMallocNo);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_800773D4);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007740C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007745C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80077494);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_800775EC);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80077BF8);
void func_80077F80(void) {
}
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80077F88);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_800780D4);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80078164);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007819C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_800782EC);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80078300);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007834C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80078658);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80078674);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007896C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80078C6C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079028);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007913C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079358);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079380);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007938C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079618);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079850);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_800798AC);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079950);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079AFC);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079BD8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079CB4);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079D60);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079D98);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079DF8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079E50);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079E9C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079EF4);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079F70);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007A070);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", Unpack);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", __read_u32_le);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007A80C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007AB30);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007AB7C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007ABAC);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", UnpackProc);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007ACB0);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007AE9C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007AF3C);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", D_800AE060);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", D_800AE068);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", D_800AE070);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", D_800AE078);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", D_800AE080);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", D_800AE088);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", D_800AE090);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", D_800AE098);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", D_800AE0A0);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", STR_rb);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", D_800AE0AC);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", D_800AE0C8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007AFE4);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007B710);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007B744);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007B7A8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007B83C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", can_log_crc_error);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", STR_FILE_NOT_FOUND);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007BA98);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007BB48);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", __log_lha_error);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", __log_fatal_error_desc);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", __log_fatal_error);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", STR_LHa___s_s__s);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", STR_Error);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", STR_Fatal_error);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", STR_EMPTY);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007BC24);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007BF10);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007C204);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007C25C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007C378);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007C438);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007C538);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", __logs_read_error);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007C74C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007CAB8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007CE48);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007D200);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007D594);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007D5B8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007D7BC);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007D8A8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007DBF4);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007DDF0);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007DFF0);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007E2F8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007E698);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007E6DC);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007E800);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007E8F0);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007EE2C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F1A0);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F1F8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F218);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F234);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F314);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F334);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F408);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F450);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F47C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F4B0);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F4E4);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", __file_read);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", __file_write);
void func_8007F640(void) {
}
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F648);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F844);

View File

@ -0,0 +1,34 @@
#include "common.h"
void func_8016AF80(void) { }
void func_8016AF88(void) { }
INCLUDE_ASM(const s32, "segment_obdata/_ob_blushing_ship", func_8016AF90);
/* 40F70 8016B070 */
char *obGetStrategyName(u8 index) {
return obStrategyName[index];
}
INCLUDE_ASM(const s32, "segment_obdata/_ob_blushing_ship", func_8016B088);
INCLUDE_ASM(const s32, "segment_obdata/_ob_blushing_ship", func_8016B0F4);
INCLUDE_ASM(const s32, "segment_obdata/_ob_blushing_ship", func_8016B198);
INCLUDE_ASM(const s32, "segment_obdata/_ob_blushing_ship", func_8016B6FC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_blushing_ship", func_8016B738);
INCLUDE_ASM(const s32, "segment_obdata/_ob_blushing_ship", func_8016B774);
INCLUDE_ASM(const s32, "segment_obdata/_ob_blushing_ship", func_8016BA10);
INCLUDE_ASM(const s32, "segment_obdata/_ob_blushing_ship", func_8016BA6C);
INCLUDE_RODATA(const s32, "segment_obdata/_ob_blushing_ship", D_8018FEAC);
INCLUDE_RODATA(const s32, "segment_obdata/_ob_blushing_ship", D_8018FEB8);
INCLUDE_RODATA(const s32, "segment_obdata/_ob_blushing_ship", D_8018FEBC);

View File

@ -0,0 +1,185 @@
#include "common.h"
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170190);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801701B8);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801701D4);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801701F0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_8017020C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170228);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170244);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170268);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_8017028C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801702B0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801702D4);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801702F8);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170318);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170338);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_8017034C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_8017035C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170370);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170380);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170390);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801703B0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801703D0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801703F4);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170414);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170424);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170434);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_8017043C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170458);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170474);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_8017049C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801704B8);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801704D8);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170504);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170530);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_8017055C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_8017057C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_8017059C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801705AC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801705BC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801705D0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801705EC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_8017060C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170620);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170634);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170648);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170668);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_8017067C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170690);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801706A4);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801706C0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801706DC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801706F0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170704);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170718);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_8017072C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170740);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170754);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170774);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170794);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801707F4);
INCLUDE_RODATA(const s32, "segment_obdata/_ob_hunky_silver", D_801906C0);
INCLUDE_RODATA(const s32, "segment_obdata/_ob_hunky_silver", D_801906C4);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170838);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80170954);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80171B94);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80171ED8);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80171FE0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80172124);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_8017223C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_8017230C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80172368);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80172394);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801725B4);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801725C0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80172610);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80172800);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801728EC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_8017293C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_8017298C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801729CC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80172A0C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80172A28);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80172B10);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80172B68);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80172BBC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80172BF0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80172C44);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801730BC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801731EC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801732E0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801733A0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_80173490);
INCLUDE_ASM(const s32, "segment_obdata/_ob_hunky_silver", func_801734D4);

View File

@ -0,0 +1,116 @@
#include "common.h"
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017B5B0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017B5BC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", __get_overlay_info_71280_65C8C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", __setup_overlay_79730);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", __setup_overlay_87200);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", __setup_overlay_71280_51674);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017B838);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017B9A8);
void func_8017BA2C(void) {
}
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017BA34);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", __setup_overlay_71280_51940);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017BB08);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017BB34);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017BB50);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017BD48);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017BDC0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017BED4);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017BF10);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017BFB0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017C074);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017C24C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017C29C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017C2FC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017C384);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017C4B4);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017C584);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017CBE8);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017D6D0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017E264);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017E80C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017EAE8);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017EC84);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017EE64);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017EF24);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017F010);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017F114);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017F214);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017F334);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017F36C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017F3C0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017F408);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017F490);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017F554);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017FAF8);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017FC28);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_801805B4);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_801805D0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", __handle_name_input);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_80180B1C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_80180BDC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_80181498);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_801814AC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_80181504);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_801818A0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_80181C2C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_80182578);
INCLUDE_RODATA(const s32, "segment_obdata/_ob_squeamish_mask", D_80190E4C);

View File

@ -0,0 +1,13 @@
#include "common.h"
INCLUDE_ASM(const s32, "segment_obdata/_ob_utopian_queen", func_80184130);
INCLUDE_ASM(const s32, "segment_obdata/_ob_utopian_queen", func_801841F4);
INCLUDE_RODATA(const s32, "segment_obdata/_ob_utopian_queen", D_80190EB8);
INCLUDE_RODATA(const s32, "segment_obdata/_ob_utopian_queen", D_80190EBC);
INCLUDE_RODATA(const s32, "segment_obdata/_ob_utopian_queen", D_80190EE8);
INCLUDE_ASM(const s32, "segment_obdata/_ob_utopian_queen", func_80184D70);

View File

@ -0,0 +1,273 @@
#include "common.h"
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80173B30);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80173B40);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80173B50);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80173B60);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80173BA0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80173BE0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80173C54);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80173D14);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80173D4C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80173D84);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80173DBC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80174138);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80174250);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_801758C0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_801768D4);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80176948);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80176C6C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80176F90);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_801772C0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_801776C0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_801776CC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_801776F4);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177700);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177728);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177734);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017798C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_801779B0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_801779DC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", __returns_GLOBAL_with_inc_timer);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", __calls_resets_menu_timer);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", __calls_inc_menu_timer);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177B40);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177B5C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", __get_overlay_info_23B220);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", __setup_overlay_23B220);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177CC0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177D04);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177D20);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177D74);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177D80);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177DAC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177DE8);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177E20);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177E4C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177E58);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177E74);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177EA0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177EBC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177ED8);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177EE4);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177F00);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177F1C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177F38);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177F54);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177F60);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177F7C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177FB4);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80177FD0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178014);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178038);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178054);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178060);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017806C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017809C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_801780CC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_801780E8);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", __get_overlay_info_213B10);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", __setup_overlay_213B10);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178250);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178280);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017829C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", __get_overlay_info_2447A0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", __setup_overlay_2447A0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_801783A8);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_801783D8);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_801783F4);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178410);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178444);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178460);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017846C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_801784BC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017850C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178534);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178548);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178898);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178900);
void func_8017892C(void) {
}
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178934);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178B20);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178B5C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178BF4);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178C64);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178C90);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178CCC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178D10);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178D3C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178DFC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178E30);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80178E60);
void func_80179010(void) {
}
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80179018);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80179034);
void func_80179050(void) {
}
void func_80179058(void) {
}
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80179060);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017907C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_801792BC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_801792E8);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80179328);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80179354);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_801793AC);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_801793E4);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_801794C8);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017996C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_80179F04);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017A704);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017A714);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017A720);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017A8E8);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017A94C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017A9B0);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017AA18);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017AAF4);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017AC08);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017AD3C);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017ADE8);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017AE20);
INCLUDE_RODATA(const s32, "segment_obdata/_ob_worthless_drawer", D_80190C80);
INCLUDE_RODATA(const s32, "segment_obdata/_ob_worthless_drawer", D_80190C88);
INCLUDE_RODATA(const s32, "segment_obdata/_ob_worthless_drawer", D_80190D00);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017B098);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017B500);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017B550);
INCLUDE_ASM(const s32, "segment_obdata/_ob_worthless_drawer", func_8017B58C);

View File

@ -2,17 +2,10 @@
void __load_song(void*); void __load_song(void*);
extern void Mus__unknown_80081DB4(const void* arg0, const void* arg1);
extern u8 D_8010A760[]; extern u8 D_8010A760[];
extern u8 D_80164770[]; extern u8 D_80164770[];
extern u8 D_80104710[]; extern u8 D_80104710[];
extern void func_80081A54(s32, s32);
extern s32 func_80081B08(s32);
extern s32 func_80081770(s32);
extern void func_80081DF0(const void*);
extern s32 D_800EB0E8; extern s32 D_800EB0E8;
/* 3F1B0 800E9C20 */ /* 3F1B0 800E9C20 */
@ -62,17 +55,17 @@ void func_800EA3BC(SomethingMusic* arg0) {
void func_800EA3E4(SomethingMusic* arg0) { void func_800EA3E4(SomethingMusic* arg0) {
s32 var_v0; s32 var_v0;
if (func_80081B08(arg0->handle) == 0) { if (MusHandleAsk(arg0->handle) == 0) {
D_800EB0E8 = 0; D_800EB0E8 = 0;
__load_song(arg0); __load_song(arg0);
return; return;
} }
if (arg0->field_0x38 == 0) { if (arg0->field_0x38 == 0) {
if (arg0->field_0x34 != 0) { if (arg0->field_0x34 != 0) {
func_80081A54(arg0->handle, arg0->field_0x34); MusHandleStop(arg0->handle, arg0->field_0x34);
arg0->field_0x3c = arg0->field_0x34 + 3; arg0->field_0x3c = arg0->field_0x34 + 3;
} else { } else {
func_80081A54(arg0->handle, 1); MusHandleStop(arg0->handle, 1);
arg0->field_0x3c = 3; arg0->field_0x3c = 3;
} }
arg0->field_0x38 = 2; arg0->field_0x38 = 2;
@ -88,18 +81,18 @@ INCLUDE_ASM(const s32, "segment_song/ob_knotty_chess", __load_song);
void func_800EA568(SomethingMusic* arg0) { void func_800EA568(SomethingMusic* arg0) {
if (arg0->field_0x18 != 0) { if (arg0->field_0x18 != 0) {
if (func_80081B08(arg0->handle) != 0) { if (MusHandleAsk(arg0->handle) != 0) {
func_80081A54(arg0->handle, 0); MusHandleStop(arg0->handle, 0);
} }
} else { } else {
if ((arg0->field_0x28 != -1) && (func_80081B08(arg0->field_0x28) != 0)) { if ((arg0->field_0x28 != -1) && (MusHandleAsk(arg0->field_0x28) != 0)) {
func_80081A54(arg0->field_0x28, 0); MusHandleStop(arg0->field_0x28, 0);
} }
} }
arg0->field_0x28 = arg0->handle; arg0->field_0x28 = arg0->handle;
func_80081DF0(&D_80104710); MusPtrBankSetSingle(&D_80104710);
arg0->handle = func_80081770(arg0->field_0x2c - 1); arg0->handle = MusStartEffect(arg0->field_0x2c - 1);
arg0->field_0x20 = arg0->field_0x2c; arg0->field_0x20 = arg0->field_0x2c;
} }