mirror of https://github.com/n64decomp/mk64.git
EU 1.0 OK (#265)
* EU 1.0 ok * EU 1.1 ok Co-authored-by: AloXado320 <david.albujar.s.30@gmail.com>
This commit is contained in:
parent
291c1d40d6
commit
76dc587a34
17
Makefile
17
Makefile
|
@ -33,16 +33,17 @@ DEBUG ?= 0
|
|||
# us - builds the 1997 North American version
|
||||
# eu - builds the 1997 1.1 PAL version
|
||||
VERSION ?= us
|
||||
$(eval $(call validate-option,VERSION,us eu))
|
||||
$(eval $(call validate-option,VERSION,us eu-1.0 eu-final))
|
||||
|
||||
ifeq ($(VERSION),us)
|
||||
DEFINES += VERSION_US=1
|
||||
GRUCODE ?= f3dex_old
|
||||
VERSION_ASFLAGS := --defsym VERSION_US=1
|
||||
else ifeq ($(VERSION), eu)
|
||||
DEFINES += VERSION_EU=1
|
||||
else ifeq ($(VERSION),eu-1.0)
|
||||
DEFINES += VERSION_EU=1 VERSION_EU_1_0=1
|
||||
GRUCODE ?= f3dex_old
|
||||
else ifeq ($(VERSION),eu-final)
|
||||
DEFINES += VERSION_EU=1 VERSION_EU_1_1=1
|
||||
GRUCODE ?= f3dex_old
|
||||
VERSION_ASFLAGS := --defsym VERSION_EU=1
|
||||
endif
|
||||
|
||||
ifeq ($(DEBUG),1)
|
||||
|
@ -321,7 +322,7 @@ else
|
|||
CFLAGS += $(HIDE_WARNINGS) -non_shared -Wab,-r4300_mul -Xcpluscomm -Xfullwarn -signed -32
|
||||
endif
|
||||
|
||||
ASFLAGS = -march=vr4300 -mabi=32 -I include -I $(BUILD_DIR) --defsym F3DEX_GBI=1
|
||||
ASFLAGS = -march=vr4300 -mabi=32 -I include -I $(BUILD_DIR) $(foreach d,$(DEFINES),--defsym $(d))
|
||||
|
||||
# Fills end of rom
|
||||
OBJCOPYFLAGS = --pad-to=0xC00000 --gap-fill=0xFF
|
||||
|
@ -630,7 +631,7 @@ $(BUILD_DIR)/src/ending/ceremony_data.inc.mio0.o: $(BUILD_DIR)/src/ending/ceremo
|
|||
$(V)$(LD) -t -e 0 -Ttext=0B000000 -Map $(BUILD_DIR)/src/ending/ceremony_data.inc.elf.map -o $(BUILD_DIR)/src/ending/ceremony_data.inc.elf $(BUILD_DIR)/src/ending/ceremony_data.inc.o --no-check-sections
|
||||
$(V)$(EXTRACT_DATA_FOR_MIO) $(BUILD_DIR)/src/ending/ceremony_data.inc.elf $(BUILD_DIR)/src/ending/ceremony_data.inc.bin
|
||||
$(V)$(MIO0TOOL) -c $(BUILD_DIR)/src/ending/ceremony_data.inc.bin $(BUILD_DIR)/src/ending/ceremony_data.inc.mio0
|
||||
printf ".include \"macros.inc\"\n\n.data\n\n.balign 4\n\nglabel ceremony_data\n\n.incbin \"build/us/src/ending/ceremony_data.inc.mio0\"\n\n.balign 16\nglabel data_821D10_end\n" > build/us/src/ending/ceremony_data.inc.mio0.s
|
||||
printf ".include \"macros.inc\"\n\n.data\n\n.balign 4\n\nglabel ceremony_data\n\n.incbin \"$(BUILD_DIR)/src/ending/ceremony_data.inc.mio0\"\n\n.balign 16\nglabel data_821D10_end\n" > $(BUILD_DIR)/src/ending/ceremony_data.inc.mio0.s
|
||||
$(AS) $(ASFLAGS) -o $(BUILD_DIR)/src/ending/ceremony_data.inc.mio0.o $(BUILD_DIR)/src/ending/ceremony_data.inc.mio0.s
|
||||
|
||||
|
||||
|
@ -644,7 +645,7 @@ $(BUILD_DIR)/src/data/startup_logo.inc.mio0.o: src/data/startup_logo.inc.c
|
|||
$(V)$(LD) -t -e 0 -Ttext=06000000 -Map $(BUILD_DIR)/src/data/startup_logo.inc.elf.map -o $(BUILD_DIR)/src/data/startup_logo.inc.elf $(BUILD_DIR)/src/data/startup_logo.inc.o --no-check-sections
|
||||
$(V)$(EXTRACT_DATA_FOR_MIO) $(BUILD_DIR)/src/data/startup_logo.inc.elf $(BUILD_DIR)/src/data/startup_logo.inc.bin
|
||||
$(V)$(MIO0TOOL) -c $(BUILD_DIR)/src/data/startup_logo.inc.bin $(BUILD_DIR)/src/data/startup_logo.inc.mio0
|
||||
printf ".include \"macros.inc\"\n\n.data\n\n\n\n.balign 4\n\n\nglabel startup_logo\n\n.incbin \"build/us/src/data/startup_logo.inc.mio0\"\n\n.balign 16\n\nglabel data_825800_end\n" > build/us/src/data/startup_logo.inc.mio0.s
|
||||
printf ".include \"macros.inc\"\n\n.data\n\n\n\n.balign 4\n\n\nglabel startup_logo\n\n.incbin \"$(BUILD_DIR)/src/data/startup_logo.inc.mio0\"\n\n.balign 16\n\nglabel data_825800_end\n" > $(BUILD_DIR)/src/data/startup_logo.inc.mio0.s
|
||||
$(AS) $(ASFLAGS) -o $(BUILD_DIR)/src/data/startup_logo.inc.mio0.o $(BUILD_DIR)/src/data/startup_logo.inc.mio0.s
|
||||
|
||||
|
||||
|
|
33
README.md
33
README.md
|
@ -4,11 +4,9 @@
|
|||
- Note -
|
||||
|
||||
The decomp has altered its approach to calculating progress.
|
||||
Some of the values below are not correct and fixes are still a work-in-progress.
|
||||
The prior approach did not include os code in the total decompilable bytes
|
||||
due to prior technical restrictions which are now resolved.
|
||||
|
||||
This note will be removed when these values are correct.
|
||||
The progress script is still a work-in-progress and the values below are subject to change.
|
||||
This notice will be removed when the changes are complete
|
||||
```
|
||||
|
||||
[](https://ci.valandil.ca/job/mk64/job/master/)
|
||||
|
@ -24,11 +22,15 @@ This note will be removed when these values are correct.
|
|||
- [](https://ci.valandil.ca/job/mk64/job/master/)
|
||||
- [](https://ci.valandil.ca/job/mk64/job/master/)
|
||||
|
||||
This repo contains a work-in-progress decompilation of Mario Kart 64 (U). The project pursues historical and educational elements within the game found via taking it apart and putting it back together. Inspiration to do so not only emanates from the game's hardware and technology but also its immensely positive effects on the cultures and families of nearly every nationality. See [progress](#Progress) for more information.
|
||||
This work-in-progress decompilation of Mario Kart 64 (U), (E 1.0) and (E 1.1) pursues historical and educational elements within the game found via taking it apart and putting it back together. Inspiration to do so not only emanates from the game's hardware and technology but also its immensely positive effects on the cultures and families of nearly every nationality. See [progress](#Progress) for more information.
|
||||
|
||||
It builds the following ROM:
|
||||
It builds the following ROMs:
|
||||
|
||||
* mk64.us.z64 `sha1: 579c48e211ae952530ffc8738709f078d5dd215e`
|
||||
| ROM Output | Revision | MD5 Checksum |
|
||||
|------------|----------------|------------------------------------------|
|
||||
| mk64.us.z64 | USA | 579c48e211ae952530ffc8738709f078d5dd215e |
|
||||
| mk64.eu-1.0.z64 | EUR 1.0 | a729039453210b84f17019dda3f248d5888f7690 |
|
||||
| mk64.eu-final.z64 | EUR 1.1 | f6b5f519dd57ea59e9f013cc64816e9d273b2329 |
|
||||
|
||||
This repository does not contain assets. Compiling requires asset extraction from a prior copy of the game.
|
||||
|
||||
|
@ -42,6 +44,23 @@ The build system has the following package requirements:
|
|||
|
||||
To add submodules run `git submodule update --init --recursive` after cloning.
|
||||
|
||||
## EU Specific Steps (All versions)
|
||||
Both EU builds first requires US to be built first:
|
||||
```
|
||||
make -j
|
||||
```
|
||||
|
||||
Now build either EU 1.0 `eu-1.0` or EU 1.1 `eu-final`
|
||||
```
|
||||
make -j VERSION=eu-final
|
||||
```
|
||||
|
||||
diff/first-diff commands
|
||||
```
|
||||
python3 first-diff.py --eu
|
||||
./diff <function> -eu
|
||||
```
|
||||
|
||||
#### Debian / Ubuntu
|
||||
```
|
||||
sudo apt install build-essential pkg-config git binutils-mips-linux-gnu python3 zlib1g-dev libaudiofile-dev libcapstone-dev
|
||||
|
|
|
@ -0,0 +1,309 @@
|
|||
.section .late_rodata
|
||||
glabel D_800F2FE0
|
||||
.float 20.0304203
|
||||
|
||||
.section .text
|
||||
glabel audio_init
|
||||
/* BCCDC 800BC0DC 27BDFF70 */ addiu $sp, $sp, -0x90
|
||||
/* BCCE0 800BC0E0 3C0E800F */ lui $t6, %hi(gAudioLoadLock)
|
||||
/* BCCE4 800BC0E4 AFBF002C */ sw $ra, 0x2C($sp)
|
||||
/* BCCE8 800BC0E8 AFB50028 */ sw $s5, 0x28($sp)
|
||||
/* BCCEC 800BC0EC AFB40024 */ sw $s4, 0x24($sp)
|
||||
/* BCCF0 800BC0F0 AFB30020 */ sw $s3, 0x20($sp)
|
||||
/* BCCF4 800BC0F4 AFB2001C */ sw $s2, 0x1C($sp)
|
||||
/* BCCF8 800BC0F8 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* BCCFC 800BC0FC AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* BCD00 800BC100 25CEA71C */ addiu $t6, $t6, %lo(gAudioLoadLock)
|
||||
/* BCD04 800BC104 ADC00000 */ sw $zero, 0x0($t6)
|
||||
/* BCD08 800BC108 3C04800F */ lui $a0, %hi(gAudioHeapSize)
|
||||
/* BCD0C 800BC10C 8C84A710 */ lw $a0, %lo(gAudioHeapSize)($a0)
|
||||
/* BCD10 800BC110 00001825 */ or $v1, $zero, $zero
|
||||
/* BCD14 800BC114 3C0A803B */ lui $t2, %hi(D_803B71A0)
|
||||
/* BCD18 800BC118 04810003 */ bgez $a0, .L800BC128
|
||||
/* BCD1C 800BC11C 000478C3 */ sra $t7, $a0, 3
|
||||
/* BCD20 800BC120 24810007 */ addiu $at, $a0, 0x7
|
||||
/* BCD24 800BC124 000178C3 */ sra $t7, $at, 3
|
||||
.L800BC128:
|
||||
/* BCD28 800BC128 19E0000C */ blez $t7, .L800BC15C
|
||||
/* BCD2C 800BC12C 3C04803B */ lui $a0, %hi(gGfxSPTaskOutputBufferSize)
|
||||
/* BCD30 800BC130 3C18803B */ lui $t8, %hi(D_803B71B0)
|
||||
/* BCD34 800BC134 270271B0 */ addiu $v0, $t8, %lo(D_803B71B0)
|
||||
/* BCD38 800BC138 000FC8C0 */ sll $t9, $t7, 3
|
||||
/* BCD3C 800BC13C 03221821 */ addu $v1, $t9, $v0
|
||||
.L800BC140:
|
||||
/* BCD40 800BC140 24420008 */ addiu $v0, $v0, 0x8
|
||||
/* BCD44 800BC144 0043082B */ sltu $at, $v0, $v1
|
||||
/* BCD48 800BC148 24080000 */ addiu $t0, $zero, 0x0
|
||||
/* BCD4C 800BC14C 24090000 */ addiu $t1, $zero, 0x0
|
||||
/* BCD50 800BC150 AC49FFFC */ sw $t1, -0x4($v0)
|
||||
/* BCD54 800BC154 1420FFFA */ bnez $at, .L800BC140
|
||||
/* BCD58 800BC158 AC48FFF8 */ sw $t0, -0x8($v0)
|
||||
.L800BC15C:
|
||||
/* BCD5C 800BC15C 2482F780 */ addiu $v0, $a0, %lo(gGfxSPTaskOutputBufferSize)
|
||||
/* BCD60 800BC160 254A71A0 */ addiu $t2, $t2, %lo(D_803B71A0)
|
||||
/* BCD64 800BC164 01421823 */ subu $v1, $t2, $v0
|
||||
/* BCD68 800BC168 000380C2 */ srl $s0, $v1, 3
|
||||
/* BCD6C 800BC16C 06000008 */ bltz $s0, .L800BC190
|
||||
/* BCD70 800BC170 3C01800F */ lui $at, %hi(D_800F2FE0)
|
||||
.L800BC174:
|
||||
/* BCD74 800BC174 2610FFFF */ addiu $s0, $s0, -0x1
|
||||
/* BCD78 800BC178 240C0000 */ addiu $t4, $zero, 0x0
|
||||
/* BCD7C 800BC17C 240D0000 */ addiu $t5, $zero, 0x0
|
||||
/* BCD80 800BC180 AC4D0004 */ sw $t5, 0x4($v0)
|
||||
/* BCD84 800BC184 AC4C0000 */ sw $t4, 0x0($v0)
|
||||
/* BCD88 800BC188 0601FFFA */ bgez $s0, .L800BC174
|
||||
/* BCD8C 800BC18C 24420008 */ addiu $v0, $v0, 0x8
|
||||
.L800BC190:
|
||||
/* BCD90 800BC190 C4242FE0 */ lwc1 $ft0, %lo(D_800F2FE0)($at)
|
||||
/* BCD94 800BC194 3C01803B */ lui $at, %hi(D_803B7178)
|
||||
/* BCD98 800BC198 240E0032 */ addiu $t6, $zero, 0x32
|
||||
/* BCD9C 800BC19C E4247178 */ swc1 $ft0, %lo(D_803B7178)($at)
|
||||
/* BCDA0 800BC1A0 3C01803B */ lui $at, %hi(gRefreshRate)
|
||||
/* BCDA4 800BC1A4 0C032FF6 */ jal func_800CBF48
|
||||
/* BCDA8 800BC1A8 AC2E717C */ sw $t6, %lo(gRefreshRate)($at)
|
||||
/* BCDAC 800BC1AC 3C02803B */ lui $v0, %hi(gAiBufferLengths)
|
||||
/* BCDB0 800BC1B0 3C04803B */ lui $a0, %hi(D_803B7192)
|
||||
/* BCDB4 800BC1B4 24847192 */ addiu $a0, $a0, %lo(D_803B7192)
|
||||
/* BCDB8 800BC1B8 2442718C */ addiu $v0, $v0, %lo(gAiBufferLengths)
|
||||
/* BCDBC 800BC1BC 240300A0 */ addiu $v1, $zero, 0xA0
|
||||
.L800BC1C0:
|
||||
/* BCDC0 800BC1C0 24420002 */ addiu $v0, $v0, 0x2
|
||||
/* BCDC4 800BC1C4 0044082B */ sltu $at, $v0, $a0
|
||||
/* BCDC8 800BC1C8 1420FFFD */ bnez $at, .L800BC1C0
|
||||
/* BCDCC 800BC1CC A443FFFE */ sh $v1, -0x2($v0)
|
||||
/* BCDD0 800BC1D0 3C0F803B */ lui $t7, %hi(gAudioUpdatesPerFrame)
|
||||
/* BCDD4 800BC1D4 25EF70B8 */ addiu $t7, $t7, %lo(gAudioUpdatesPerFrame)
|
||||
/* BCDD8 800BC1D8 ADE00000 */ sw $zero, 0x0($t7)
|
||||
/* BCDDC 800BC1DC 3C01803B */ lui $at, %hi(gAudioTaskIndex)
|
||||
/* BCDE0 800BC1E0 AC2070C0 */ sw $zero, %lo(gAudioTaskIndex)($at)
|
||||
/* BCDE4 800BC1E4 3C01803B */ lui $at, %hi(gCurrAiBufferIndex)
|
||||
/* BCDE8 800BC1E8 AC2070C4 */ sw $zero, %lo(gCurrAiBufferIndex)($at)
|
||||
/* BCDEC 800BC1EC 3C01803B */ lui $at, %hi(gAudioLibSoundMode)
|
||||
/* BCDF0 800BC1F0 A02070B6 */ sb $zero, %lo(gAudioLibSoundMode)($at)
|
||||
/* BCDF4 800BC1F4 3C02803B */ lui $v0, %hi(gAudioTasks)
|
||||
/* BCDF8 800BC1F8 3C01803B */ lui $at, %hi(gAudioTask)
|
||||
/* BCDFC 800BC1FC 244270D8 */ addiu $v0, $v0, %lo(gAudioTasks)
|
||||
/* BCE00 800BC200 AC2070D4 */ sw $zero, %lo(gAudioTask)($at)
|
||||
/* BCE04 800BC204 3C04803B */ lui $a0, %hi(D_803B6720)
|
||||
/* BCE08 800BC208 3C05803B */ lui $a1, %hi(D_803B6738)
|
||||
/* BCE0C 800BC20C AC400034 */ sw $zero, 0x34($v0)
|
||||
/* BCE10 800BC210 AC400084 */ sw $zero, 0x84($v0)
|
||||
/* BCE14 800BC214 24A56738 */ addiu $a1, $a1, %lo(D_803B6738)
|
||||
/* BCE18 800BC218 24846720 */ addiu $a0, $a0, %lo(D_803B6720)
|
||||
/* BCE1C 800BC21C 0C03337C */ jal osCreateMesgQueue
|
||||
/* BCE20 800BC220 24060001 */ addiu $a2, $zero, 0x1
|
||||
/* BCE24 800BC224 3C04803B */ lui $a0, %hi(gCurrAudioFrameDmaQueue)
|
||||
/* BCE28 800BC228 3C05803B */ lui $a1, %hi(gCurrAudioFrameDmaMesgBufs)
|
||||
/* BCE2C 800BC22C 24A56020 */ addiu $a1, $a1, %lo(gCurrAudioFrameDmaMesgBufs)
|
||||
/* BCE30 800BC230 24846008 */ addiu $a0, $a0, %lo(gCurrAudioFrameDmaQueue)
|
||||
/* BCE34 800BC234 0C03337C */ jal osCreateMesgQueue
|
||||
/* BCE38 800BC238 24060040 */ addiu $a2, $zero, 0x40
|
||||
/* BCE3C 800BC23C 3C01803B */ lui $at, %hi(gCurrAudioFrameDmaCount)
|
||||
/* BCE40 800BC240 AC2070BC */ sw $zero, %lo(gCurrAudioFrameDmaCount)($at)
|
||||
/* BCE44 800BC244 3C01803B */ lui $at, %hi(gSampleDmaNumListItems)
|
||||
/* BCE48 800BC248 3C04800F */ lui $a0, %hi(gAudioInitPoolSize)
|
||||
/* BCE4C 800BC24C AC206E58 */ sw $zero, %lo(gSampleDmaNumListItems)($at)
|
||||
/* BCE50 800BC250 0C02E43C */ jal func_800B90F0
|
||||
/* BCE54 800BC254 8C84A714 */ lw $a0, %lo(gAudioInitPoolSize)($a0)
|
||||
/* BCE58 800BC258 3C06803B */ lui $a2, %hi(gAiBuffers)
|
||||
/* BCE5C 800BC25C 3C14803B */ lui $s4, %hi(gAudioInitPool)
|
||||
/* BCE60 800BC260 3C11803B */ lui $s1, %hi(gAiBufferLengths)
|
||||
/* BCE64 800BC264 2631718C */ addiu $s1, $s1, %lo(gAiBufferLengths)
|
||||
/* BCE68 800BC268 2694FBD8 */ addiu $s4, $s4, %lo(gAudioInitPool)
|
||||
/* BCE6C 800BC26C 24C67180 */ addiu $a2, $a2, %lo(gAiBuffers)
|
||||
/* BCE70 800BC270 24100AA0 */ addiu $s0, $zero, 0xAA0
|
||||
/* BCE74 800BC274 02802025 */ or $a0, $s4, $zero
|
||||
.L800BC278:
|
||||
/* BCE78 800BC278 24050AA0 */ addiu $a1, $zero, 0xAA0
|
||||
/* BCE7C 800BC27C 0C02E3FF */ jal soundAlloc
|
||||
/* BCE80 800BC280 AFA6003C */ sw $a2, 0x3C($sp)
|
||||
/* BCE84 800BC284 8FA6003C */ lw $a2, 0x3C($sp)
|
||||
/* BCE88 800BC288 00001825 */ or $v1, $zero, $zero
|
||||
/* BCE8C 800BC28C ACC20000 */ sw $v0, 0x0($a2)
|
||||
.L800BC290:
|
||||
/* BCE90 800BC290 8CD90000 */ lw $t9, 0x0($a2)
|
||||
/* BCE94 800BC294 0323C021 */ addu $t8, $t9, $v1
|
||||
/* BCE98 800BC298 A7000000 */ sh $zero, 0x0($t8)
|
||||
/* BCE9C 800BC29C 8CC80000 */ lw $t0, 0x0($a2)
|
||||
/* BCEA0 800BC2A0 01034821 */ addu $t1, $t0, $v1
|
||||
/* BCEA4 800BC2A4 A5200002 */ sh $zero, 0x2($t1)
|
||||
/* BCEA8 800BC2A8 8CCA0000 */ lw $t2, 0x0($a2)
|
||||
/* BCEAC 800BC2AC 01435821 */ addu $t3, $t2, $v1
|
||||
/* BCEB0 800BC2B0 A5600004 */ sh $zero, 0x4($t3)
|
||||
/* BCEB4 800BC2B4 8CCC0000 */ lw $t4, 0x0($a2)
|
||||
/* BCEB8 800BC2B8 01836821 */ addu $t5, $t4, $v1
|
||||
/* BCEBC 800BC2BC 24630008 */ addiu $v1, $v1, 0x8
|
||||
/* BCEC0 800BC2C0 1470FFF3 */ bne $v1, $s0, .L800BC290
|
||||
/* BCEC4 800BC2C4 A5A00006 */ sh $zero, 0x6($t5)
|
||||
/* BCEC8 800BC2C8 24C60004 */ addiu $a2, $a2, 0x4
|
||||
/* BCECC 800BC2CC 00D1082B */ sltu $at, $a2, $s1
|
||||
/* BCED0 800BC2D0 5420FFE9 */ bnel $at, $zero, .L800BC278
|
||||
/* BCED4 800BC2D4 02802025 */ or $a0, $s4, $zero
|
||||
/* BCED8 800BC2D8 3C01803B */ lui $at, %hi(gAudioResetPresetIdToLoad)
|
||||
/* BCEDC 800BC2DC 3C0F803B */ lui $t7, %hi(gAudioResetStatus)
|
||||
/* BCEE0 800BC2E0 A0200501 */ sb $zero, %lo(gAudioResetPresetIdToLoad)($at)
|
||||
/* BCEE4 800BC2E4 25EF0500 */ addiu $t7, $t7, %lo(gAudioResetStatus)
|
||||
/* BCEE8 800BC2E8 240E0001 */ addiu $t6, $zero, 0x1
|
||||
/* BCEEC 800BC2EC 0C02E803 */ jal audio_shut_down_and_reset_step
|
||||
/* BCEF0 800BC2F0 A1EE0000 */ sb $t6, 0x0($t7)
|
||||
/* BCEF4 800BC2F4 3C11803B */ lui $s1, %hi(gSeqFileHeader)
|
||||
/* BCEF8 800BC2F8 3C1200BC */ lui $s2, %hi(_sequencesSegmentRomStart)
|
||||
/* BCEFC 800BC2FC 26526160 */ addiu $s2, $s2, %lo(_sequencesSegmentRomStart)
|
||||
/* BCF00 800BC300 2631706C */ addiu $s1, $s1, %lo(gSeqFileHeader)
|
||||
/* BCF04 800BC304 27B50060 */ addiu $s5, $sp, 0x60
|
||||
/* BCF08 800BC308 AE350000 */ sw $s5, 0x0($s1)
|
||||
/* BCF0C 800BC30C 02A02825 */ or $a1, $s5, $zero
|
||||
/* BCF10 800BC310 02402025 */ or $a0, $s2, $zero
|
||||
/* BCF14 800BC314 0C02EAA0 */ jal audio_dma_copy_immediate
|
||||
/* BCF18 800BC318 24060010 */ addiu $a2, $zero, 0x10
|
||||
/* BCF1C 800BC31C 8E390000 */ lw $t9, 0x0($s1)
|
||||
/* BCF20 800BC320 3C02803B */ lui $v0, %hi(gSequenceCount)
|
||||
/* BCF24 800BC324 2401FFF0 */ addiu $at, $zero, -0x10
|
||||
/* BCF28 800BC328 87380002 */ lh $t8, 0x2($t9)
|
||||
/* BCF2C 800BC32C 2442707C */ addiu $v0, $v0, %lo(gSequenceCount)
|
||||
/* BCF30 800BC330 02802025 */ or $a0, $s4, $zero
|
||||
/* BCF34 800BC334 3310FFFF */ andi $s0, $t8, 0xFFFF
|
||||
/* BCF38 800BC338 001040C0 */ sll $t0, $s0, 3
|
||||
/* BCF3C 800BC33C 01008025 */ or $s0, $t0, $zero
|
||||
/* BCF40 800BC340 26100013 */ addiu $s0, $s0, 0x13
|
||||
/* BCF44 800BC344 02012824 */ and $a1, $s0, $at
|
||||
/* BCF48 800BC348 00A08025 */ or $s0, $a1, $zero
|
||||
/* BCF4C 800BC34C 0C02E3FF */ jal soundAlloc
|
||||
/* BCF50 800BC350 A4580000 */ sh $t8, 0x0($v0)
|
||||
/* BCF54 800BC354 AE220000 */ sw $v0, 0x0($s1)
|
||||
/* BCF58 800BC358 02402025 */ or $a0, $s2, $zero
|
||||
/* BCF5C 800BC35C 00402825 */ or $a1, $v0, $zero
|
||||
/* BCF60 800BC360 0C02EAA0 */ jal audio_dma_copy_immediate
|
||||
/* BCF64 800BC364 02003025 */ or $a2, $s0, $zero
|
||||
/* BCF68 800BC368 8E240000 */ lw $a0, 0x0($s1)
|
||||
/* BCF6C 800BC36C 0C02ED0F */ jal func_800BB43C
|
||||
/* BCF70 800BC370 02402825 */ or $a1, $s2, $zero
|
||||
/* BCF74 800BC374 3C110096 */ lui $s1, %hi(_audio_banksSegmentRomStart)
|
||||
/* BCF78 800BC378 3C12803B */ lui $s2, %hi(gAlCtlHeader)
|
||||
/* BCF7C 800BC37C 26527070 */ addiu $s2, $s2, %lo(gAlCtlHeader)
|
||||
/* BCF80 800BC380 26316460 */ addiu $s1, $s1, %lo(_audio_banksSegmentRomStart)
|
||||
/* BCF84 800BC384 AE550000 */ sw $s5, 0x0($s2)
|
||||
/* BCF88 800BC388 02202025 */ or $a0, $s1, $zero
|
||||
/* BCF8C 800BC38C 02A02825 */ or $a1, $s5, $zero
|
||||
/* BCF90 800BC390 0C02EAA0 */ jal audio_dma_copy_immediate
|
||||
/* BCF94 800BC394 24060010 */ addiu $a2, $zero, 0x10
|
||||
/* BCF98 800BC398 8E4A0000 */ lw $t2, 0x0($s2)
|
||||
/* BCF9C 800BC39C 2401FFF0 */ addiu $at, $zero, -0x10
|
||||
/* BCFA0 800BC3A0 02802025 */ or $a0, $s4, $zero
|
||||
/* BCFA4 800BC3A4 85530002 */ lh $s3, 0x2($t2)
|
||||
/* BCFA8 800BC3A8 001380C0 */ sll $s0, $s3, 3
|
||||
/* BCFAC 800BC3AC 26100013 */ addiu $s0, $s0, 0x13
|
||||
/* BCFB0 800BC3B0 02012824 */ and $a1, $s0, $at
|
||||
/* BCFB4 800BC3B4 0C02E3FF */ jal soundAlloc
|
||||
/* BCFB8 800BC3B8 00A08025 */ or $s0, $a1, $zero
|
||||
/* BCFBC 800BC3BC AE420000 */ sw $v0, 0x0($s2)
|
||||
/* BCFC0 800BC3C0 02202025 */ or $a0, $s1, $zero
|
||||
/* BCFC4 800BC3C4 00402825 */ or $a1, $v0, $zero
|
||||
/* BCFC8 800BC3C8 0C02EAA0 */ jal audio_dma_copy_immediate
|
||||
/* BCFCC 800BC3CC 02003025 */ or $a2, $s0, $zero
|
||||
/* BCFD0 800BC3D0 8E440000 */ lw $a0, 0x0($s2)
|
||||
/* BCFD4 800BC3D4 0C02ED0F */ jal func_800BB43C
|
||||
/* BCFD8 800BC3D8 02202825 */ or $a1, $s1, $zero
|
||||
/* BCFDC 800BC3DC 00132880 */ sll $a1, $s3, 2
|
||||
/* BCFE0 800BC3E0 00B32823 */ subu $a1, $a1, $s3
|
||||
/* BCFE4 800BC3E4 00052880 */ sll $a1, $a1, 2
|
||||
/* BCFE8 800BC3E8 0C02E3FF */ jal soundAlloc
|
||||
/* BCFEC 800BC3EC 02802025 */ or $a0, $s4, $zero
|
||||
/* BCFF0 800BC3F0 3C07803B */ lui $a3, %hi(gCtlEntries)
|
||||
/* BCFF4 800BC3F4 24E77080 */ addiu $a3, $a3, %lo(gCtlEntries)
|
||||
/* BCFF8 800BC3F8 ACE20000 */ sw $v0, 0x0($a3)
|
||||
/* BCFFC 800BC3FC 1A600019 */ blez $s3, .L800BC464
|
||||
/* BD000 800BC400 00001825 */ or $v1, $zero, $zero
|
||||
/* BD004 800BC404 00008825 */ or $s1, $zero, $zero
|
||||
/* BD008 800BC408 00008025 */ or $s0, $zero, $zero
|
||||
.L800BC40C:
|
||||
/* BD00C 800BC40C 8E4C0000 */ lw $t4, 0x0($s2)
|
||||
/* BD010 800BC410 02A02825 */ or $a1, $s5, $zero
|
||||
/* BD014 800BC414 24060010 */ addiu $a2, $zero, 0x10
|
||||
/* BD018 800BC418 01916821 */ addu $t5, $t4, $s1
|
||||
/* BD01C 800BC41C 8DA40004 */ lw $a0, 0x4($t5)
|
||||
/* BD020 800BC420 0C02EAA0 */ jal audio_dma_copy_immediate
|
||||
/* BD024 800BC424 AFA3008C */ sw $v1, 0x8C($sp)
|
||||
/* BD028 800BC428 3C07803B */ lui $a3, %hi(gCtlEntries)
|
||||
/* BD02C 800BC42C 24E77080 */ addiu $a3, $a3, %lo(gCtlEntries)
|
||||
/* BD030 800BC430 8CEF0000 */ lw $t7, 0x0($a3)
|
||||
/* BD034 800BC434 8FAE0060 */ lw $t6, 0x60($sp)
|
||||
/* BD038 800BC438 8FA3008C */ lw $v1, 0x8C($sp)
|
||||
/* BD03C 800BC43C 01F0C821 */ addu $t9, $t7, $s0
|
||||
/* BD040 800BC440 A32E0001 */ sb $t6, 0x1($t9)
|
||||
/* BD044 800BC444 8CE80000 */ lw $t0, 0x0($a3)
|
||||
/* BD048 800BC448 8FB80064 */ lw $t8, 0x64($sp)
|
||||
/* BD04C 800BC44C 24630001 */ addiu $v1, $v1, 0x1
|
||||
/* BD050 800BC450 01104821 */ addu $t1, $t0, $s0
|
||||
/* BD054 800BC454 2610000C */ addiu $s0, $s0, 0xC
|
||||
/* BD058 800BC458 26310008 */ addiu $s1, $s1, 0x8
|
||||
/* BD05C 800BC45C 1473FFEB */ bne $v1, $s3, .L800BC40C
|
||||
/* BD060 800BC460 A1380002 */ sb $t8, 0x2($t1)
|
||||
.L800BC464:
|
||||
/* BD064 800BC464 3C11803B */ lui $s1, %hi(gAlTbl)
|
||||
/* BD068 800BC468 3C120098 */ lui $s2, %hi(_audio_tablesSegmentRomStart)
|
||||
/* BD06C 800BC46C 26529CA0 */ addiu $s2, $s2, %lo(_audio_tablesSegmentRomStart)
|
||||
/* BD070 800BC470 26317074 */ addiu $s1, $s1, %lo(gAlTbl)
|
||||
/* BD074 800BC474 AE350000 */ sw $s5, 0x0($s1)
|
||||
/* BD078 800BC478 02402025 */ or $a0, $s2, $zero
|
||||
/* BD07C 800BC47C 02A02825 */ or $a1, $s5, $zero
|
||||
/* BD080 800BC480 0C02EAA0 */ jal audio_dma_copy_immediate
|
||||
/* BD084 800BC484 24060010 */ addiu $a2, $zero, 0x10
|
||||
/* BD088 800BC488 8E2A0000 */ lw $t2, 0x0($s1)
|
||||
/* BD08C 800BC48C 2401FFF0 */ addiu $at, $zero, -0x10
|
||||
/* BD090 800BC490 02802025 */ or $a0, $s4, $zero
|
||||
/* BD094 800BC494 85500002 */ lh $s0, 0x2($t2)
|
||||
/* BD098 800BC498 001058C0 */ sll $t3, $s0, 3
|
||||
/* BD09C 800BC49C 01608025 */ or $s0, $t3, $zero
|
||||
/* BD0A0 800BC4A0 26100013 */ addiu $s0, $s0, 0x13
|
||||
/* BD0A4 800BC4A4 02012824 */ and $a1, $s0, $at
|
||||
/* BD0A8 800BC4A8 0C02E3FF */ jal soundAlloc
|
||||
/* BD0AC 800BC4AC 00A08025 */ or $s0, $a1, $zero
|
||||
/* BD0B0 800BC4B0 AE220000 */ sw $v0, 0x0($s1)
|
||||
/* BD0B4 800BC4B4 02402025 */ or $a0, $s2, $zero
|
||||
/* BD0B8 800BC4B8 00402825 */ or $a1, $v0, $zero
|
||||
/* BD0BC 800BC4BC 0C02EAA0 */ jal audio_dma_copy_immediate
|
||||
/* BD0C0 800BC4C0 02003025 */ or $a2, $s0, $zero
|
||||
/* BD0C4 800BC4C4 8E240000 */ lw $a0, 0x0($s1)
|
||||
/* BD0C8 800BC4C8 0C02ED0F */ jal func_800BB43C
|
||||
/* BD0CC 800BC4CC 02402825 */ or $a1, $s2, $zero
|
||||
/* BD0D0 800BC4D0 02802025 */ or $a0, $s4, $zero
|
||||
/* BD0D4 800BC4D4 0C02E3FF */ jal soundAlloc
|
||||
/* BD0D8 800BC4D8 24050100 */ addiu $a1, $zero, 0x100
|
||||
/* BD0DC 800BC4DC 3C03803B */ lui $v1, %hi(gAlBankSets)
|
||||
/* BD0E0 800BC4E0 24637078 */ addiu $v1, $v1, %lo(gAlBankSets)
|
||||
/* BD0E4 800BC4E4 3C0400BF */ lui $a0, %hi(_instrument_setsSegmentRomStart+0x20)
|
||||
/* BD0E8 800BC4E8 AC620000 */ sw $v0, 0x0($v1)
|
||||
/* BD0EC 800BC4EC 248493E0 */ addiu $a0, $a0, %lo(_instrument_setsSegmentRomStart+0x20)
|
||||
/* BD0F0 800BC4F0 00402825 */ or $a1, $v0, $zero
|
||||
/* BD0F4 800BC4F4 0C02EAA0 */ jal audio_dma_copy_immediate
|
||||
/* BD0F8 800BC4F8 24060100 */ addiu $a2, $zero, 0x100
|
||||
/* BD0FC 800BC4FC 3C10800F */ lui $s0, %hi(D_800EA5D8)
|
||||
/* BD100 800BC500 2610A718 */ addiu $s0, $s0, %lo(D_800EA5D8)
|
||||
/* BD104 800BC504 8E050000 */ lw $a1, 0x0($s0)
|
||||
/* BD108 800BC508 0C02E3FF */ jal soundAlloc
|
||||
/* BD10C 800BC50C 02802025 */ or $a0, $s4, $zero
|
||||
/* BD110 800BC510 3C04803B */ lui $a0, %hi(gUnkPool1)
|
||||
/* BD114 800BC514 248401B8 */ addiu $a0, $a0, %lo(gUnkPool1)
|
||||
/* BD118 800BC518 00402825 */ or $a1, $v0, $zero
|
||||
/* BD11C 800BC51C 0C02E41F */ jal sound_alloc_pool_init
|
||||
/* BD120 800BC520 8E060000 */ lw $a2, 0x0($s0)
|
||||
/* BD124 800BC524 0C030499 */ jal init_sequence_players
|
||||
/* BD128 800BC528 00000000 */ nop
|
||||
/* BD12C 800BC52C 3C0D7655 */ lui $t5, (0x76557364 >> 16)
|
||||
/* BD130 800BC530 3C0F800F */ lui $t7, %hi(gAudioLoadLock)
|
||||
/* BD134 800BC534 25EFA71C */ addiu $t7, $t7, %lo(gAudioLoadLock)
|
||||
/* BD138 800BC538 35AD7364 */ ori $t5, $t5, (0x76557364 & 0xFFFF)
|
||||
/* BD13C 800BC53C ADED0000 */ sw $t5, 0x0($t7)
|
||||
/* BD140 800BC540 8FBF002C */ lw $ra, 0x2C($sp)
|
||||
/* BD144 800BC544 8FB50028 */ lw $s5, 0x28($sp)
|
||||
/* BD148 800BC548 8FB40024 */ lw $s4, 0x24($sp)
|
||||
/* BD14C 800BC54C 8FB30020 */ lw $s3, 0x20($sp)
|
||||
/* BD150 800BC550 8FB2001C */ lw $s2, 0x1C($sp)
|
||||
/* BD154 800BC554 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* BD158 800BC558 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* BD15C 800BC55C 03E00008 */ jr $ra
|
||||
/* BD160 800BC560 27BD0090 */ addiu $sp, $sp, 0x90
|
||||
/* BD164 800BC564 00000000 */ nop
|
||||
/* BD168 800BC568 00000000 */ nop
|
||||
/* BD16C 800BC56C 00000000 */ nop
|
|
@ -0,0 +1,258 @@
|
|||
.section .late_rodata
|
||||
|
||||
glabel D_800F35E8
|
||||
.float 0.85
|
||||
|
||||
.section .text
|
||||
|
||||
glabel func_800C2474
|
||||
/* 0C3074 800C2474 3C0E800E */ lui $t6, %hi(camera1) # $t6, 0x800e
|
||||
/* 0C3078 800C2478 8DCEDB40 */ lw $t6, %lo(camera1)($t6)
|
||||
/* 0C307C 800C247C 3C028019 */ lui $v0, %hi(D_8018FB98) # $v0, 0x8019
|
||||
/* 0C3080 800C2480 3C018019 */ lui $at, %hi(D_8018EF10) # $at, 0x8019
|
||||
/* 0C3084 800C2484 2442FB98 */ addiu $v0, %lo(D_8018FB98) # addiu $v0, $v0, -0x468
|
||||
/* 0C3088 800C2488 A020EF10 */ sb $zero, %lo(D_8018EF10)($at)
|
||||
/* 0C308C 800C248C 3C0F800E */ lui $t7, %hi(camera2) # $t7, 0x800e
|
||||
/* 0C3090 800C2490 AC4E0000 */ sw $t6, ($v0)
|
||||
/* 0C3094 800C2494 8DEFDB44 */ lw $t7, %lo(camera2)($t7)
|
||||
/* 0C3098 800C2498 3C18800E */ lui $t8, %hi(camera3) # $t8, 0x800e
|
||||
/* 0C309C 800C249C 3C19800E */ lui $t9, %hi(camera4) # $t9, 0x800e
|
||||
/* 0C30A0 800C24A0 AC4F0004 */ sw $t7, 4($v0)
|
||||
/* 0C30A4 800C24A4 8F18DB48 */ lw $t8, %lo(camera3)($t8)
|
||||
/* 0C30A8 800C24A8 3C018019 */ lui $at, %hi(D_8018FB91) # $at, 0x8019
|
||||
/* 0C30AC 800C24AC 240E0001 */ li $t6, 1
|
||||
/* 0C30B0 800C24B0 AC580008 */ sw $t8, 8($v0)
|
||||
/* 0C30B4 800C24B4 8F39DB4C */ lw $t9, %lo(camera4)($t9)
|
||||
/* 0C30B8 800C24B8 27BDFFB0 */ addiu $sp, $sp, -0x50
|
||||
/* 0C30BC 800C24BC AFB00028 */ sw $s0, 0x28($sp)
|
||||
/* 0C30C0 800C24C0 AC59000C */ sw $t9, 0xc($v0)
|
||||
/* 0C30C4 800C24C4 A020FB91 */ sb $zero, %lo(D_8018FB91)($at)
|
||||
/* 0C30C8 800C24C8 3C018019 */ lui $at, %hi(D_8018FB90) # $at, 0x8019
|
||||
/* 0C30CC 800C24CC A02EFB90 */ sb $t6, %lo(D_8018FB90)($at)
|
||||
/* 0C30D0 800C24D0 3C01800F */ lui $at, %hi(D_800EA0F4) # $at, 0x800f
|
||||
/* 0C30D4 800C24D4 A020A0F4 */ sb $zero, %lo(D_800EA0F4)($at)
|
||||
/* 0C30D8 800C24D8 3C018019 */ lui $at, %hi(D_8018FC08) # $at, 0x8019
|
||||
/* 0C30DC 800C24DC A020FC08 */ sb $zero, %lo(D_8018FC08)($at)
|
||||
/* 0C30E0 800C24E0 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
|
||||
/* 0C30E4 800C24E4 A020A104 */ sb $zero, %lo(D_800EA104)($at)
|
||||
/* 0C30E8 800C24E8 3C01800F */ lui $at, %hi(D_800EA108) # $at, 0x800f
|
||||
/* 0C30EC 800C24EC A020A108 */ sb $zero, %lo(D_800EA108)($at)
|
||||
/* 0C30F0 800C24F0 3C10800F */ lui $s0, %hi(D_800EA16C) # $s0, 0x800f
|
||||
/* 0C30F4 800C24F4 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
|
||||
/* 0C30F8 800C24F8 2610A16C */ addiu $s0, %lo(D_800EA16C) # addiu $s0, $s0, -0x5e94
|
||||
/* 0C30FC 800C24FC AFBF004C */ sw $ra, 0x4c($sp)
|
||||
/* 0C3100 800C2500 AFBE0048 */ sw $fp, 0x48($sp)
|
||||
/* 0C3104 800C2504 A020A0F0 */ sb $zero, %lo(D_800EA0F0)($at)
|
||||
/* 0C3108 800C2508 03A0F025 */ move $fp, $sp
|
||||
/* 0C310C 800C250C AFB70044 */ sw $s7, 0x44($sp)
|
||||
/* 0C3110 800C2510 AFB60040 */ sw $s6, 0x40($sp)
|
||||
/* 0C3114 800C2514 AFB5003C */ sw $s5, 0x3c($sp)
|
||||
/* 0C3118 800C2518 AFB40038 */ sw $s4, 0x38($sp)
|
||||
/* 0C311C 800C251C AFB30034 */ sw $s3, 0x34($sp)
|
||||
/* 0C3120 800C2520 AFB20030 */ sw $s2, 0x30($sp)
|
||||
/* 0C3124 800C2524 AFB1002C */ sw $s1, 0x2c($sp)
|
||||
/* 0C3128 800C2528 A2000000 */ sb $zero, ($s0)
|
||||
/* 0C312C 800C252C 3C04F200 */ lui $a0, 0xf200
|
||||
/* 0C3130 800C2530 0C032EEE */ jal func_800CBBB8
|
||||
/* 0C3134 800C2534 00002825 */ move $a1, $zero
|
||||
/* 0C3138 800C2538 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 0C313C 800C253C 44811000 */ mtc1 $at, $f2
|
||||
/* 0C3140 800C2540 A2000000 */ sb $zero, ($s0)
|
||||
/* 0C3144 800C2544 3C01800F */ lui $at, %hi(D_800EA15C) # $at, 0x800f
|
||||
/* 0C3148 800C2548 A420A15C */ sh $zero, %lo(D_800EA15C)($at)
|
||||
/* 0C314C 800C254C 3C01800F */ lui $at, %hi(D_800EA160) # $at, 0x800f
|
||||
/* 0C3150 800C2550 A420A160 */ sh $zero, %lo(D_800EA160)($at)
|
||||
/* 0C3154 800C2554 3C01800F */ lui $at, %hi(D_800EA164) # $at, 0x800f
|
||||
/* 0C3158 800C2558 A020A164 */ sb $zero, %lo(D_800EA164)($at)
|
||||
/* 0C315C 800C255C 3C01800F */ lui $at, %hi(D_800EA178) # $at, 0x800f
|
||||
/* 0C3160 800C2560 E422A178 */ swc1 $f2, %lo(D_800EA178)($at)
|
||||
/* 0C3164 800C2564 3C01800F */ lui $at, %hi(D_800F35E8) # $at, 0x800f
|
||||
/* 0C3168 800C2568 C42435E8 */ lwc1 $f4, %lo(D_800F35E8)($at)
|
||||
/* 0C316C 800C256C 3C01800F */ lui $at, %hi(D_800EA17C) # $at, 0x800f
|
||||
/* 0C3170 800C2570 3C108019 */ lui $s0, %hi(D_8018FBD8) # $s0, 0x8019
|
||||
/* 0C3174 800C2574 E424A17C */ swc1 $f4, %lo(D_800EA17C)($at)
|
||||
/* 0C3178 800C2578 3C01800F */ lui $at, %hi(D_800EA180) # $at, 0x800f
|
||||
/* 0C317C 800C257C A420A180 */ sh $zero, %lo(D_800EA180)($at)
|
||||
/* 0C3180 800C2580 3C01800F */ lui $at, %hi(D_800EA184) # $at, 0x800f
|
||||
/* 0C3184 800C2584 3C178019 */ lui $s7, %hi(D_8018FC10) # $s7, 0x8019
|
||||
/* 0C3188 800C2588 3C16800F */ lui $s6, %hi(D_800E9E94) # $s6, 0x800f
|
||||
/* 0C318C 800C258C 3C15800F */ lui $s5, %hi(D_800E9E84) # $s5, 0x800f
|
||||
/* 0C3190 800C2590 3C14800F */ lui $s4, %hi(D_800E9E74) # $s4, 0x800f
|
||||
/* 0C3194 800C2594 3C13800F */ lui $s3, %hi(D_800E9F7C) # $s3, 0x800f
|
||||
/* 0C3198 800C2598 3C12800F */ lui $s2, %hi(D_800E9EA4) # $s2, 0x800f
|
||||
/* 0C319C 800C259C 3C11800F */ lui $s1, %hi(D_800EA0EC) # $s1, 0x800f
|
||||
/* 0C31A0 800C25A0 3C1F8019 */ lui $ra, %hi(D_8018FBA8) # $ra, 0x8019
|
||||
/* 0C31A4 800C25A4 3C0B800F */ lui $t3, %hi(D_800E9DF4) # $t3, 0x800f
|
||||
/* 0C31A8 800C25A8 3C0A800F */ lui $t2, %hi(D_800E9DB4) # $t2, 0x800f
|
||||
/* 0C31AC 800C25AC 3C08800F */ lui $t0, %hi(gPlayers) # $t0, 0x800f
|
||||
/* 0C31B0 800C25B0 44806000 */ mtc1 $zero, $f12
|
||||
/* 0C31B4 800C25B4 44800000 */ mtc1 $zero, $f0
|
||||
/* 0C31B8 800C25B8 A420A184 */ sh $zero, %lo(D_800EA184)($at)
|
||||
/* 0C31BC 800C25BC 25086990 */ addiu $t0, %lo(gPlayers) # addiu $t0, $t0, 0x6990
|
||||
/* 0C31C0 800C25C0 254A9DB4 */ addiu $t2, %lo(D_800E9DB4) # addiu $t2, $t2, -0x624c
|
||||
/* 0C31C4 800C25C4 256B9DF4 */ addiu $t3, %lo(D_800E9DF4) # addiu $t3, $t3, -0x620c
|
||||
/* 0C31C8 800C25C8 27FFFBA8 */ addiu $ra, %lo(D_8018FBA8) # addiu $ra, $ra, -0x458
|
||||
/* 0C31CC 800C25CC 2631A0EC */ addiu $s1, %lo(D_800EA0EC) # addiu $s1, $s1, -0x5f14
|
||||
/* 0C31D0 800C25D0 26529EA4 */ addiu $s2, %lo(D_800E9EA4) # addiu $s2, $s2, -0x615c
|
||||
/* 0C31D4 800C25D4 26739F7C */ addiu $s3, %lo(D_800E9F7C) # addiu $s3, $s3, -0x6084
|
||||
/* 0C31D8 800C25D8 26949E74 */ addiu $s4, %lo(D_800E9E74) # addiu $s4, $s4, -0x618c
|
||||
/* 0C31DC 800C25DC 26B59E84 */ addiu $s5, %lo(D_800E9E84) # addiu $s5, $s5, -0x617c
|
||||
/* 0C31E0 800C25E0 26D69E94 */ addiu $s6, %lo(D_800E9E94) # addiu $s6, $s6, -0x616c
|
||||
/* 0C31E4 800C25E4 26F7FC10 */ addiu $s7, %lo(D_8018FC10) # addiu $s7, $s7, -0x3f0
|
||||
/* 0C31E8 800C25E8 2610FBD8 */ addiu $s0, %lo(D_8018FBD8) # addiu $s0, $s0, -0x428
|
||||
/* 0C31EC 800C25EC 00001025 */ move $v0, $zero
|
||||
/* 0C31F0 800C25F0 240D003C */ li $t5, 60
|
||||
/* 0C31F4 800C25F4 240C000C */ li $t4, 12
|
||||
/* 0C31F8 800C25F8 24090DD8 */ li $t1, 3544
|
||||
.L800C25FC:
|
||||
/* 0C31FC 800C25FC 004C0019 */ multu $v0, $t4
|
||||
/* 0C3200 800C2600 00021880 */ sll $v1, $v0, 2
|
||||
/* 0C3204 800C2604 01437821 */ addu $t7, $t2, $v1
|
||||
/* 0C3208 800C2608 ADE00000 */ sw $zero, ($t7)
|
||||
/* 0C320C 800C260C 0163C021 */ addu $t8, $t3, $v1
|
||||
/* 0C3210 800C2610 E70C0000 */ swc1 $f12, ($t8)
|
||||
/* 0C3214 800C2614 0222C821 */ addu $t9, $s1, $v0
|
||||
/* 0C3218 800C2618 A3200000 */ sb $zero, ($t9)
|
||||
/* 0C321C 800C261C 02437021 */ addu $t6, $s2, $v1
|
||||
/* 0C3220 800C2620 ADC00000 */ sw $zero, ($t6)
|
||||
/* 0C3224 800C2624 00003812 */ mflo $a3
|
||||
/* 0C3228 800C2628 03E72021 */ addu $a0, $ra, $a3
|
||||
/* 0C322C 800C262C 02072821 */ addu $a1, $s0, $a3
|
||||
/* 0C3230 800C2630 004D0019 */ multu $v0, $t5
|
||||
/* 0C3234 800C2634 E4800000 */ swc1 $f0, ($a0)
|
||||
/* 0C3238 800C2638 E4800004 */ swc1 $f0, 4($a0)
|
||||
/* 0C323C 800C263C E4800008 */ swc1 $f0, 8($a0)
|
||||
/* 0C3240 800C2640 E4A00000 */ swc1 $f0, ($a1)
|
||||
/* 0C3244 800C2644 E4A00004 */ swc1 $f0, 4($a1)
|
||||
/* 0C3248 800C2648 E4A00008 */ swc1 $f0, 8($a1)
|
||||
/* 0C324C 800C264C 0283C821 */ addu $t9, $s4, $v1
|
||||
/* 0C3250 800C2650 02A37021 */ addu $t6, $s5, $v1
|
||||
/* 0C3254 800C2654 02E32021 */ addu $a0, $s7, $v1
|
||||
/* 0C3258 800C2658 00007812 */ mflo $t7
|
||||
/* 0C325C 800C265C 026FC021 */ addu $t8, $s3, $t7
|
||||
/* 0C3260 800C2660 A3000014 */ sb $zero, 0x14($t8)
|
||||
/* 0C3264 800C2664 00490019 */ multu $v0, $t1
|
||||
/* 0C3268 800C2668 AF200000 */ sw $zero, ($t9)
|
||||
/* 0C326C 800C266C ADC00000 */ sw $zero, ($t6)
|
||||
/* 0C3270 800C2670 02C37821 */ addu $t7, $s6, $v1
|
||||
/* 0C3274 800C2674 ADE00000 */ sw $zero, ($t7)
|
||||
/* 0C3278 800C2678 241900FF */ li $t9, 255
|
||||
/* 0C327C 800C267C 3C01800F */ lui $at, %hi(D_800EA10C)
|
||||
/* 0C3280 800C2680 00220821 */ addu $at, $at, $v0
|
||||
/* 0C3284 800C2684 0000C012 */ mflo $t8
|
||||
/* 0C3288 800C2688 01183021 */ addu $a2, $t0, $t8
|
||||
/* 0C328C 800C268C A0C001D4 */ sb $zero, 0x1a4($a2)
|
||||
/* 0C3290 800C2690 A0C001EC */ sb $zero, 0x1bc($a2)
|
||||
/* 0C3294 800C2694 ACC000BC */ sw $zero, 0xbc($a2)
|
||||
/* 0C3298 800C2698 E4C0020C */ swc1 $f0, 0x20c($a2)
|
||||
/* 0C329C 800C269C A4C000C0 */ sh $zero, 0xc0($a2)
|
||||
/* 0C32A0 800C26A0 E4C00098 */ swc1 $f0, 0x98($a2)
|
||||
/* 0C32A4 800C26A4 A4C000DE */ sh $zero, 0xde($a2)
|
||||
/* 0C32A8 800C26A8 A4990000 */ sh $t9, ($a0)
|
||||
/* 0C32AC 800C26AC A4800002 */ sh $zero, 2($a0)
|
||||
/* 0C32B0 800C26B0 A020A10C */ sb $zero, %lo(D_800EA10C)($at)
|
||||
/* 0C32B4 800C26B4 3C01800F */ lui $at, %hi(D_800E9F74)
|
||||
/* 0C32B8 800C26B8 00220821 */ addu $at, $at, $v0
|
||||
/* 0C32BC 800C26BC A0209F74 */ sb $zero, %lo(D_800E9F74)($at)
|
||||
/* 0C32C0 800C26C0 3C01800F */ lui $at, %hi(D_800E9F78)
|
||||
/* 0C32C4 800C26C4 00220821 */ addu $at, $at, $v0
|
||||
/* 0C32C8 800C26C8 24420001 */ addiu $v0, $v0, 1
|
||||
/* 0C32CC 800C26CC 304E00FF */ andi $t6, $v0, 0xff
|
||||
/* 0C32D0 800C26D0 A0209F78 */ sb $zero, %lo(D_800E9F78)($at)
|
||||
/* 0C32D4 800C26D4 29C10004 */ slti $at, $t6, 4
|
||||
/* 0C32D8 800C26D8 1420FFC8 */ bnez $at, .L800C25FC
|
||||
/* 0C32DC 800C26DC 01C01025 */ move $v0, $t6
|
||||
/* 0C32E0 800C26E0 3C0B800F */ lui $t3, %hi(D_800EA06C) # $t3, 0x800f
|
||||
/* 0C32E4 800C26E4 3C0A800F */ lui $t2, %hi(D_800EA130) # $t2, 0x800f
|
||||
/* 0C32E8 800C26E8 3C07800F */ lui $a3, %hi(D_800E9F54) # $a3, 0x800f
|
||||
/* 0C32EC 800C26EC 3C06800F */ lui $a2, %hi(D_800E9F34) # $a2, 0x800f
|
||||
/* 0C32F0 800C26F0 3C05800F */ lui $a1, %hi(D_800E9F2C) # $a1, 0x800f
|
||||
/* 0C32F4 800C26F4 3C04800F */ lui $a0, %hi(D_800E9F24) # $a0, 0x800f
|
||||
/* 0C32F8 800C26F8 24849F24 */ addiu $a0, %lo(D_800E9F24) # addiu $a0, $a0, -0x60dc
|
||||
/* 0C32FC 800C26FC 24A59F2C */ addiu $a1, %lo(D_800E9F2C) # addiu $a1, $a1, -0x60d4
|
||||
/* 0C3300 800C2700 24C69F34 */ addiu $a2, %lo(D_800E9F34) # addiu $a2, $a2, -0x60cc
|
||||
/* 0C3304 800C2704 24E79F54 */ addiu $a3, %lo(D_800E9F54) # addiu $a3, $a3, -0x60ac
|
||||
/* 0C3308 800C2708 254AA130 */ addiu $t2, %lo(D_800EA130) # addiu $t2, $t2, -0x5ed0
|
||||
/* 0C330C 800C270C 256BA06C */ addiu $t3, %lo(D_800EA06C) # addiu $t3, $t3, -0x5f94
|
||||
/* 0C3310 800C2710 00001025 */ move $v0, $zero
|
||||
.L800C2714:
|
||||
/* 0C3314 800C2714 00490019 */ multu $v0, $t1
|
||||
/* 0C3318 800C2718 00827821 */ addu $t7, $a0, $v0
|
||||
/* 0C331C 800C271C A1E00000 */ sb $zero, ($t7)
|
||||
/* 0C3320 800C2720 00A2C021 */ addu $t8, $a1, $v0
|
||||
/* 0C3324 800C2724 00021880 */ sll $v1, $v0, 2
|
||||
/* 0C3328 800C2728 A3000000 */ sb $zero, ($t8)
|
||||
/* 0C332C 800C272C 00C3C821 */ addu $t9, $a2, $v1
|
||||
/* 0C3330 800C2730 E7200000 */ swc1 $f0, ($t9)
|
||||
/* 0C3334 800C2734 00E37021 */ addu $t6, $a3, $v1
|
||||
/* 0C3338 800C2738 0002C100 */ sll $t8, $v0, 4
|
||||
/* 0C333C 800C273C E5C00000 */ swc1 $f0, ($t6)
|
||||
/* 0C3340 800C2740 01437821 */ addu $t7, $t2, $v1
|
||||
/* 0C3344 800C2744 24420001 */ addiu $v0, $v0, 1
|
||||
/* 0C3348 800C2748 E5E00000 */ swc1 $f0, ($t7)
|
||||
/* 0C334C 800C274C 0178C821 */ addu $t9, $t3, $t8
|
||||
/* 0C3350 800C2750 305800FF */ andi $t8, $v0, 0xff
|
||||
/* 0C3354 800C2754 00007012 */ mflo $t6
|
||||
/* 0C3358 800C2758 2B010008 */ slti $at, $t8, 8
|
||||
/* 0C335C 800C275C A320000C */ sb $zero, 0xc($t9)
|
||||
/* 0C3360 800C2760 010E7821 */ addu $t7, $t0, $t6
|
||||
/* 0C3364 800C2764 03001025 */ move $v0, $t8
|
||||
/* 0C3368 800C2768 1420FFEA */ bnez $at, .L800C2714
|
||||
/* 0C336C 800C276C ADE000BC */ sw $zero, 0xbc($t7)
|
||||
/* 0C3370 800C2770 3C048019 */ lui $a0, %hi(D_8018EF18) # $a0, 0x8019
|
||||
/* 0C3374 800C2774 2484EF18 */ addiu $a0, %lo(D_8018EF18) # addiu $a0, $a0, -0x10e8
|
||||
/* 0C3378 800C2778 00001025 */ move $v0, $zero
|
||||
/* 0C337C 800C277C 24050040 */ li $a1, 64
|
||||
.L800C2780:
|
||||
/* 0C3380 800C2780 004C0019 */ multu $v0, $t4
|
||||
/* 0C3384 800C2784 24420001 */ addiu $v0, $v0, 1
|
||||
/* 0C3388 800C2788 304E00FF */ andi $t6, $v0, 0xff
|
||||
/* 0C338C 800C278C 29C10010 */ slti $at, $t6, 0x10
|
||||
/* 0C3390 800C2790 01C01025 */ move $v0, $t6
|
||||
/* 0C3394 800C2794 0000C812 */ mflo $t9
|
||||
/* 0C3398 800C2798 00991821 */ addu $v1, $a0, $t9
|
||||
/* 0C339C 800C279C E4620000 */ swc1 $f2, ($v1)
|
||||
/* 0C33A0 800C27A0 E4620004 */ swc1 $f2, 4($v1)
|
||||
/* 0C33A4 800C27A4 A0600008 */ sb $zero, 8($v1)
|
||||
/* 0C33A8 800C27A8 1420FFF5 */ bnez $at, .L800C2780
|
||||
/* 0C33AC 800C27AC A0650009 */ sb $a1, 9($v1)
|
||||
/* 0C33B0 800C27B0 3C058019 */ lui $a1, %hi(D_8018EFD8) # $a1, 0x8019
|
||||
/* 0C33B4 800C27B4 24A5EFD8 */ addiu $a1, %lo(D_8018EFD8) # addiu $a1, $a1, -0x1028
|
||||
/* 0C33B8 800C27B8 240600FF */ li $a2, 255
|
||||
/* 0C33BC 800C27BC A0A60029 */ sb $a2, 0x29($a1)
|
||||
/* 0C33C0 800C27C0 A0A6002A */ sb $a2, 0x2a($a1)
|
||||
/* 0C33C4 800C27C4 24020001 */ li $v0, 1
|
||||
/* 0C33C8 800C27C8 24030001 */ li $v1, 1
|
||||
.L800C27CC:
|
||||
/* 0C33CC 800C27CC 004D0019 */ multu $v0, $t5
|
||||
/* 0C33D0 800C27D0 24420001 */ addiu $v0, $v0, 1
|
||||
/* 0C33D4 800C27D4 304E00FF */ andi $t6, $v0, 0xff
|
||||
/* 0C33D8 800C27D8 29C10031 */ slti $at, $t6, 0x31
|
||||
/* 0C33DC 800C27DC 2478FFFF */ addiu $t8, $v1, -1
|
||||
/* 0C33E0 800C27E0 24790001 */ addiu $t9, $v1, 1
|
||||
/* 0C33E4 800C27E4 01C01825 */ move $v1, $t6
|
||||
/* 0C33E8 800C27E8 01C01025 */ move $v0, $t6
|
||||
/* 0C33EC 800C27EC 00007812 */ mflo $t7
|
||||
/* 0C33F0 800C27F0 00AF2021 */ addu $a0, $a1, $t7
|
||||
/* 0C33F4 800C27F4 A0980029 */ sb $t8, 0x29($a0)
|
||||
/* 0C33F8 800C27F8 1420FFF4 */ bnez $at, .L800C27CC
|
||||
/* 0C33FC 800C27FC A099002A */ sb $t9, 0x2a($a0)
|
||||
/* 0C3400 800C2800 01CD0019 */ multu $t6, $t5
|
||||
/* 0C3404 800C2804 25D8FFFF */ addiu $t8, $t6, -1
|
||||
/* 0C3408 800C2808 03C0E825 */ move $sp, $fp
|
||||
/* 0C340C 800C280C 00007812 */ mflo $t7
|
||||
/* 0C3410 800C2810 00AF2021 */ addu $a0, $a1, $t7
|
||||
/* 0C3414 800C2814 A0980029 */ sb $t8, 0x29($a0)
|
||||
/* 0C3418 800C2818 A086002A */ sb $a2, 0x2a($a0)
|
||||
/* 0C341C 800C281C 8FDF004C */ lw $ra, 0x4c($fp)
|
||||
/* 0C3420 800C2820 8FD70044 */ lw $s7, 0x44($fp)
|
||||
/* 0C3424 800C2824 8FD60040 */ lw $s6, 0x40($fp)
|
||||
/* 0C3428 800C2828 8FD5003C */ lw $s5, 0x3c($fp)
|
||||
/* 0C342C 800C282C 8FD40038 */ lw $s4, 0x38($fp)
|
||||
/* 0C3430 800C2830 8FD30034 */ lw $s3, 0x34($fp)
|
||||
/* 0C3434 800C2834 8FD20030 */ lw $s2, 0x30($fp)
|
||||
/* 0C3438 800C2838 8FD1002C */ lw $s1, 0x2c($fp)
|
||||
/* 0C343C 800C283C 8FD00028 */ lw $s0, 0x28($fp)
|
||||
/* 0C3440 800C2840 8FDE0048 */ lw $fp, 0x48($fp)
|
||||
/* 0C3444 800C2844 03E00008 */ jr $ra
|
||||
/* 0C3448 800C2848 27BD0050 */ addiu $sp, $sp, 0x50
|
|
@ -0,0 +1,601 @@
|
|||
.section .late_rodata
|
||||
|
||||
glabel jpt_800F376C
|
||||
.word L800C3DEC, L800C3E10, L800C3E30, L800C3E70
|
||||
.word L800C3E98, L800C3EBC, L800C3F04
|
||||
|
||||
.section .text
|
||||
|
||||
glabel func_800C3724
|
||||
/* 0C43A4 800C37A4 27BDFFA8 */ addiu $sp, $sp, -0x58
|
||||
/* 0C43A8 800C37A8 AFB60048 */ sw $s6, 0x48($sp)
|
||||
/* 0C43AC 800C37AC F7B40028 */ sdc1 $f20, 0x28($sp)
|
||||
/* 0C43B0 800C37B0 3C0142FE */ li $at, 0x42FE0000 # 127.000000
|
||||
/* 0C43B4 800C37B4 AFBE0050 */ sw $fp, 0x50($sp)
|
||||
/* 0C43B8 800C37B8 AFB7004C */ sw $s7, 0x4c($sp)
|
||||
/* 0C43BC 800C37BC AFB50044 */ sw $s5, 0x44($sp)
|
||||
/* 0C43C0 800C37C0 3C168019 */ lui $s6, %hi(D_801930D0) # $s6, 0x8019
|
||||
/* 0C43C4 800C37C4 4481A000 */ mtc1 $at, $f20
|
||||
/* 0C43C8 800C37C8 03A0F025 */ move $fp, $sp
|
||||
/* 0C43CC 800C37CC AFBF0054 */ sw $ra, 0x54($sp)
|
||||
/* 0C43D0 800C37D0 AFB40040 */ sw $s4, 0x40($sp)
|
||||
/* 0C43D4 800C37D4 AFB3003C */ sw $s3, 0x3c($sp)
|
||||
/* 0C43D8 800C37D8 AFB20038 */ sw $s2, 0x38($sp)
|
||||
/* 0C43DC 800C37DC AFB10034 */ sw $s1, 0x34($sp)
|
||||
/* 0C43E0 800C37E0 AFB00030 */ sw $s0, 0x30($sp)
|
||||
/* 0C43E4 800C37E4 26D63210 */ addiu $s6, %lo(D_801930D0) # addiu $s6, $s6, 0x3210
|
||||
/* 0C43E8 800C37E8 0000A825 */ move $s5, $zero
|
||||
/* 0C43EC 800C37EC 2417024C */ li $s7, 588
|
||||
.L800C37F0:
|
||||
/* 0C43F0 800C37F0 02B70019 */ multu $s5, $s7
|
||||
/* 0C43F4 800C37F4 00007012 */ mflo $t6
|
||||
/* 0C43F8 800C37F8 02CE9821 */ addu $s3, $s6, $t6
|
||||
/* 0C43FC 800C37FC 926F0012 */ lbu $t7, 0x12($s3)
|
||||
/* 0C4400 800C3800 11E00048 */ beqz $t7, .L800C3924
|
||||
/* 0C4404 800C3804 0015C0C0 */ sll $t8, $s5, 3
|
||||
/* 0C4408 800C3808 0315C021 */ addu $t8, $t8, $s5
|
||||
/* 0C440C 800C380C 0018C080 */ sll $t8, $t8, 2
|
||||
/* 0C4410 800C3810 0315C021 */ addu $t8, $t8, $s5
|
||||
/* 0C4414 800C3814 0018C080 */ sll $t8, $t8, 2
|
||||
/* 0C4418 800C3818 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 0C441C 800C381C 0315C023 */ subu $t8, $t8, $s5
|
||||
/* 0C4420 800C3820 0018C080 */ sll $t8, $t8, 2
|
||||
/* 0C4424 800C3824 44810000 */ mtc1 $at, $f0
|
||||
/* 0C4428 800C3828 02D8A021 */ addu $s4, $s6, $t8
|
||||
/* 0C442C 800C382C 00009025 */ move $s2, $zero
|
||||
/* 0C4430 800C3830 02A01025 */ move $v0, $s5
|
||||
/* 0C4434 800C3834 0292C821 */ addu $t9, $s4, $s2
|
||||
.L800C3838:
|
||||
/* 0C4438 800C3838 932A000E */ lbu $t2, 0xe($t9)
|
||||
/* 0C443C 800C383C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
/* 0C4440 800C3840 448A2000 */ mtc1 $t2, $f4
|
||||
/* 0C4444 800C3844 05410004 */ bgez $t2, .L800C3858
|
||||
/* 0C4448 800C3848 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 0C444C 800C384C 44814000 */ mtc1 $at, $f8
|
||||
/* 0C4450 800C3850 00000000 */ nop
|
||||
/* 0C4454 800C3854 46083180 */ add.s $f6, $f6, $f8
|
||||
.L800C3858:
|
||||
/* 0C4458 800C3858 46143283 */ div.s $f10, $f6, $f20
|
||||
/* 0C445C 800C385C 26520001 */ addiu $s2, $s2, 1
|
||||
/* 0C4460 800C3860 324B00FF */ andi $t3, $s2, 0xff
|
||||
/* 0C4464 800C3864 29610003 */ slti $at, $t3, 3
|
||||
/* 0C4468 800C3868 01609025 */ move $s2, $t3
|
||||
/* 0C446C 800C386C 460A0002 */ mul.s $f0, $f0, $f10
|
||||
/* 0C4470 800C3870 5420FFF1 */ bnezl $at, .L800C3838
|
||||
/* 0C4474 800C3874 0292C821 */ addu $t9, $s4, $s2
|
||||
/* 0C4478 800C3878 46140402 */ mul.s $f16, $f0, $f20
|
||||
/* 0C447C 800C387C 240A0001 */ li $t2, 1
|
||||
/* 0C4480 800C3880 926C0011 */ lbu $t4, 0x11($s3)
|
||||
/* 0C4484 800C3884 3C014000 */ lui $at, 0x4000
|
||||
/* 0C4488 800C3888 00027E00 */ sll $t7, $v0, 0x18
|
||||
/* 0C448C 800C388C 000C6C00 */ sll $t5, $t4, 0x10
|
||||
/* 0C4490 800C3890 01A17025 */ or $t6, $t5, $at
|
||||
/* 0C4494 800C3894 4459F800 */ cfc1 $t9, $31
|
||||
/* 0C4498 800C3898 44CAF800 */ ctc1 $t2, $31
|
||||
/* 0C449C 800C389C 01CFC025 */ or $t8, $t6, $t7
|
||||
/* 0C44A0 800C38A0 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000
|
||||
/* 0C44A4 800C38A4 460084A4 */ cvt.w.s $f18, $f16
|
||||
/* 0C44A8 800C38A8 444AF800 */ cfc1 $t2, $31
|
||||
/* 0C44AC 800C38AC 00000000 */ nop
|
||||
/* 0C44B0 800C38B0 314A0078 */ andi $t2, $t2, 0x78
|
||||
/* 0C44B4 800C38B4 51400013 */ beql $t2, $zero, .L800C3904
|
||||
/* 0C44B8 800C38B8 440A9000 */ mfc1 $t2, $f18
|
||||
/* 0C44BC 800C38BC 44819000 */ mtc1 $at, $f18
|
||||
/* 0C44C0 800C38C0 240A0001 */ li $t2, 1
|
||||
/* 0C44C4 800C38C4 46128481 */ sub.s $f18, $f16, $f18
|
||||
/* 0C44C8 800C38C8 44CAF800 */ ctc1 $t2, $31
|
||||
/* 0C44CC 800C38CC 00000000 */ nop
|
||||
/* 0C44D0 800C38D0 460094A4 */ cvt.w.s $f18, $f18
|
||||
/* 0C44D4 800C38D4 444AF800 */ cfc1 $t2, $31
|
||||
/* 0C44D8 800C38D8 00000000 */ nop
|
||||
/* 0C44DC 800C38DC 314A0078 */ andi $t2, $t2, 0x78
|
||||
/* 0C44E0 800C38E0 15400005 */ bnez $t2, .L800C38F8
|
||||
/* 0C44E4 800C38E4 00000000 */ nop
|
||||
/* 0C44E8 800C38E8 440A9000 */ mfc1 $t2, $f18
|
||||
/* 0C44EC 800C38EC 3C018000 */ lui $at, 0x8000
|
||||
/* 0C44F0 800C38F0 10000007 */ b .L800C3910
|
||||
/* 0C44F4 800C38F4 01415025 */ or $t2, $t2, $at
|
||||
.L800C38F8:
|
||||
/* 0C44F8 800C38F8 10000005 */ b .L800C3910
|
||||
/* 0C44FC 800C38FC 240AFFFF */ li $t2, -1
|
||||
/* 0C4500 800C3900 440A9000 */ mfc1 $t2, $f18
|
||||
.L800C3904:
|
||||
/* 0C4504 800C3904 00000000 */ nop
|
||||
/* 0C4508 800C3908 0540FFFB */ bltz $t2, .L800C38F8
|
||||
/* 0C450C 800C390C 00000000 */ nop
|
||||
.L800C3910:
|
||||
/* 0C4510 800C3910 44D9F800 */ ctc1 $t9, $31
|
||||
/* 0C4514 800C3914 314B00FF */ andi $t3, $t2, 0xff
|
||||
/* 0C4518 800C3918 0C030D16 */ jal func_800C3448
|
||||
/* 0C451C 800C391C 030B2025 */ or $a0, $t8, $t3
|
||||
/* 0C4520 800C3920 A2600012 */ sb $zero, 0x12($s3)
|
||||
.L800C3924:
|
||||
/* 0C4524 800C3924 9662000C */ lhu $v0, 0xc($s3)
|
||||
/* 0C4528 800C3928 10400011 */ beqz $v0, .L800C3970
|
||||
/* 0C452C 800C392C 244CFFFF */ addiu $t4, $v0, -1
|
||||
/* 0C4530 800C3930 318DFFFF */ andi $t5, $t4, 0xffff
|
||||
/* 0C4534 800C3934 11A00006 */ beqz $t5, .L800C3950
|
||||
/* 0C4538 800C3938 A66C000C */ sh $t4, 0xc($s3)
|
||||
/* 0C453C 800C393C C6640000 */ lwc1 $f4, ($s3)
|
||||
/* 0C4540 800C3940 C6680008 */ lwc1 $f8, 8($s3)
|
||||
/* 0C4544 800C3944 46082181 */ sub.s $f6, $f4, $f8
|
||||
/* 0C4548 800C3948 10000003 */ b .L800C3958
|
||||
/* 0C454C 800C394C E6660000 */ swc1 $f6, ($s3)
|
||||
.L800C3950:
|
||||
/* 0C4550 800C3950 C66A0004 */ lwc1 $f10, 4($s3)
|
||||
/* 0C4554 800C3954 E66A0000 */ swc1 $f10, ($s3)
|
||||
.L800C3958:
|
||||
/* 0C4558 800C3958 32A400FF */ andi $a0, $s5, 0xff
|
||||
/* 0C455C 800C395C 00047400 */ sll $t6, $a0, 0x10
|
||||
/* 0C4560 800C3960 3C014100 */ lui $at, 0x4100
|
||||
/* 0C4564 800C3964 01C12025 */ or $a0, $t6, $at
|
||||
/* 0C4568 800C3968 0C032F06 */ jal func_800CBB88
|
||||
/* 0C456C 800C396C 8E650000 */ lw $a1, ($s3)
|
||||
.L800C3970:
|
||||
/* 0C4570 800C3970 8E650014 */ lw $a1, 0x14($s3)
|
||||
/* 0C4574 800C3974 10A00093 */ beqz $a1, .L800C3BC4
|
||||
/* 0C4578 800C3978 3C0100FF */ lui $at, 0xff
|
||||
/* 0C457C 800C397C 00A11024 */ and $v0, $a1, $at
|
||||
/* 0C4580 800C3980 0002CBC2 */ srl $t9, $v0, 0xf
|
||||
/* 0C4584 800C3984 30A40FFF */ andi $a0, $a1, 0xfff
|
||||
/* 0C4588 800C3988 332700FF */ andi $a3, $t9, 0xff
|
||||
/* 0C458C 800C398C 00A01825 */ move $v1, $a1
|
||||
/* 0C4590 800C3990 332800FF */ andi $t0, $t9, 0xff
|
||||
/* 0C4594 800C3994 14E00004 */ bnez $a3, .L800C39A8
|
||||
/* 0C4598 800C3998 3086FFFF */ andi $a2, $a0, 0xffff
|
||||
/* 0C459C 800C399C 24E80001 */ addiu $t0, $a3, 1
|
||||
/* 0C45A0 800C39A0 310A00FF */ andi $t2, $t0, 0xff
|
||||
/* 0C45A4 800C39A4 01404025 */ move $t0, $t2
|
||||
.L800C39A8:
|
||||
/* 0C45A8 800C39A8 0015C080 */ sll $t8, $s5, 2
|
||||
/* 0C45AC 800C39AC 0315C021 */ addu $t8, $t8, $s5
|
||||
/* 0C45B0 800C39B0 0018C0C0 */ sll $t8, $t8, 3
|
||||
/* 0C45B4 800C39B4 0315C021 */ addu $t8, $t8, $s5
|
||||
/* 0C45B8 800C39B8 3C0B803B */ lui $t3, %hi(gSequencePlayers) # $t3, 0x803b
|
||||
/* 0C45BC 800C39BC 256B1510 */ addiu $t3, %lo(gSequencePlayers) # addiu $t3, $t3, 0x1510
|
||||
/* 0C45C0 800C39C0 0018C0C0 */ sll $t8, $t8, 3
|
||||
/* 0C45C4 800C39C4 030B2821 */ addu $a1, $t8, $t3
|
||||
/* 0C45C8 800C39C8 8CAC0000 */ lw $t4, ($a1)
|
||||
/* 0C45CC 800C39CC 24010030 */ li $at, 48
|
||||
/* 0C45D0 800C39D0 3062F000 */ andi $v0, $v1, 0xf000
|
||||
/* 0C45D4 800C39D4 000C6FC2 */ srl $t5, $t4, 0x1f
|
||||
/* 0C45D8 800C39D8 51A0007A */ beql $t5, $zero, .L800C3BC4
|
||||
/* 0C45DC 800C39DC AE600014 */ sw $zero, 0x14($s3)
|
||||
/* 0C45E0 800C39E0 94A90008 */ lhu $t1, 8($a1)
|
||||
/* 0C45E4 800C39E4 00027B02 */ srl $t7, $v0, 0xc
|
||||
/* 0C45E8 800C39E8 31F900FF */ andi $t9, $t7, 0xff
|
||||
/* 0C45EC 800C39EC 0121001A */ div $zero, $t1, $at
|
||||
/* 0C45F0 800C39F0 00004812 */ mflo $t1
|
||||
/* 0C45F4 800C39F4 24010001 */ li $at, 1
|
||||
/* 0C45F8 800C39F8 1321000C */ beq $t9, $at, .L800C3A2C
|
||||
/* 0C45FC 800C39FC 3127FFFF */ andi $a3, $t1, 0xffff
|
||||
/* 0C4600 800C3A00 24010002 */ li $at, 2
|
||||
/* 0C4604 800C3A04 1321000E */ beq $t9, $at, .L800C3A40
|
||||
/* 0C4608 800C3A08 3083FFFF */ andi $v1, $a0, 0xffff
|
||||
/* 0C460C 800C3A0C 24010003 */ li $at, 3
|
||||
/* 0C4610 800C3A10 13210013 */ beq $t9, $at, .L800C3A60
|
||||
/* 0C4614 800C3A14 308CFFFF */ andi $t4, $a0, 0xffff
|
||||
/* 0C4618 800C3A18 24010004 */ li $at, 4
|
||||
/* 0C461C 800C3A1C 53210048 */ beql $t9, $at, .L800C3B40
|
||||
/* 0C4620 800C3A20 96620018 */ lhu $v0, 0x18($s3)
|
||||
/* 0C4624 800C3A24 1000004B */ b .L800C3B54
|
||||
/* 0C4628 800C3A28 96620018 */ lhu $v0, 0x18($s3)
|
||||
.L800C3A2C:
|
||||
/* 0C462C 800C3A2C 00873021 */ addu $a2, $a0, $a3
|
||||
/* 0C4630 800C3A30 30D8FFFF */ andi $t8, $a2, 0xffff
|
||||
/* 0C4634 800C3A34 03003025 */ move $a2, $t8
|
||||
/* 0C4638 800C3A38 10000046 */ b .L800C3B54
|
||||
/* 0C463C 800C3A3C 96620018 */ lhu $v0, 0x18($s3)
|
||||
.L800C3A40:
|
||||
/* 0C4640 800C3A40 0067082A */ slt $at, $v1, $a3
|
||||
/* 0C4644 800C3A44 10200004 */ beqz $at, .L800C3A58
|
||||
/* 0C4648 800C3A48 00E01025 */ move $v0, $a3
|
||||
/* 0C464C 800C3A4C 00433023 */ subu $a2, $v0, $v1
|
||||
/* 0C4650 800C3A50 30CBFFFF */ andi $t3, $a2, 0xffff
|
||||
/* 0C4654 800C3A54 01603025 */ move $a2, $t3
|
||||
.L800C3A58:
|
||||
/* 0C4658 800C3A58 1000003E */ b .L800C3B54
|
||||
/* 0C465C 800C3A5C 96620018 */ lhu $v0, 0x18($s3)
|
||||
.L800C3A60:
|
||||
/* 0C4660 800C3A60 448C8000 */ mtc1 $t4, $f16
|
||||
/* 0C4664 800C3A64 44875000 */ mtc1 $a3, $f10
|
||||
/* 0C4668 800C3A68 05810005 */ bgez $t4, .L800C3A80
|
||||
/* 0C466C 800C3A6C 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 0C4670 800C3A70 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
/* 0C4674 800C3A74 44812000 */ mtc1 $at, $f4
|
||||
/* 0C4678 800C3A78 00000000 */ nop
|
||||
/* 0C467C 800C3A7C 46049480 */ add.s $f18, $f18, $f4
|
||||
.L800C3A80:
|
||||
/* 0C4680 800C3A80 3C0142C8 */ li $at, 0x42C80000 # 100.000000
|
||||
/* 0C4684 800C3A84 44814000 */ mtc1 $at, $f8
|
||||
/* 0C4688 800C3A88 46805420 */ cvt.s.w $f16, $f10
|
||||
/* 0C468C 800C3A8C 04E10005 */ bgez $a3, .L800C3AA4
|
||||
/* 0C4690 800C3A90 46089183 */ div.s $f6, $f18, $f8
|
||||
/* 0C4694 800C3A94 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
/* 0C4698 800C3A98 44812000 */ mtc1 $at, $f4
|
||||
/* 0C469C 800C3A9C 00000000 */ nop
|
||||
/* 0C46A0 800C3AA0 46048400 */ add.s $f16, $f16, $f4
|
||||
.L800C3AA4:
|
||||
/* 0C46A4 800C3AA4 46068482 */ mul.s $f18, $f16, $f6
|
||||
/* 0C46A8 800C3AA8 24060001 */ li $a2, 1
|
||||
/* 0C46AC 800C3AAC 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000
|
||||
/* 0C46B0 800C3AB0 444DF800 */ cfc1 $t5, $31
|
||||
/* 0C46B4 800C3AB4 44C6F800 */ ctc1 $a2, $31
|
||||
/* 0C46B8 800C3AB8 00000000 */ nop
|
||||
/* 0C46BC 800C3ABC 46009224 */ cvt.w.s $f8, $f18
|
||||
/* 0C46C0 800C3AC0 4446F800 */ cfc1 $a2, $31
|
||||
/* 0C46C4 800C3AC4 00000000 */ nop
|
||||
/* 0C46C8 800C3AC8 30C60078 */ andi $a2, $a2, 0x78
|
||||
/* 0C46CC 800C3ACC 50C00013 */ beql $a2, $zero, .L800C3B1C
|
||||
/* 0C46D0 800C3AD0 44064000 */ mfc1 $a2, $f8
|
||||
/* 0C46D4 800C3AD4 44814000 */ mtc1 $at, $f8
|
||||
/* 0C46D8 800C3AD8 24060001 */ li $a2, 1
|
||||
/* 0C46DC 800C3ADC 46089201 */ sub.s $f8, $f18, $f8
|
||||
/* 0C46E0 800C3AE0 44C6F800 */ ctc1 $a2, $31
|
||||
/* 0C46E4 800C3AE4 00000000 */ nop
|
||||
/* 0C46E8 800C3AE8 46004224 */ cvt.w.s $f8, $f8
|
||||
/* 0C46EC 800C3AEC 4446F800 */ cfc1 $a2, $31
|
||||
/* 0C46F0 800C3AF0 00000000 */ nop
|
||||
/* 0C46F4 800C3AF4 30C60078 */ andi $a2, $a2, 0x78
|
||||
/* 0C46F8 800C3AF8 14C00005 */ bnez $a2, .L800C3B10
|
||||
/* 0C46FC 800C3AFC 00000000 */ nop
|
||||
/* 0C4700 800C3B00 44064000 */ mfc1 $a2, $f8
|
||||
/* 0C4704 800C3B04 3C018000 */ lui $at, 0x8000
|
||||
/* 0C4708 800C3B08 10000007 */ b .L800C3B28
|
||||
/* 0C470C 800C3B0C 00C13025 */ or $a2, $a2, $at
|
||||
.L800C3B10:
|
||||
/* 0C4710 800C3B10 10000005 */ b .L800C3B28
|
||||
/* 0C4714 800C3B14 2406FFFF */ li $a2, -1
|
||||
/* 0C4718 800C3B18 44064000 */ mfc1 $a2, $f8
|
||||
.L800C3B1C:
|
||||
/* 0C471C 800C3B1C 00000000 */ nop
|
||||
/* 0C4720 800C3B20 04C0FFFB */ bltz $a2, .L800C3B10
|
||||
/* 0C4724 800C3B24 00000000 */ nop
|
||||
.L800C3B28:
|
||||
/* 0C4728 800C3B28 44CDF800 */ ctc1 $t5, $31
|
||||
/* 0C472C 800C3B2C 30CEFFFF */ andi $t6, $a2, 0xffff
|
||||
/* 0C4730 800C3B30 01C03025 */ move $a2, $t6
|
||||
/* 0C4734 800C3B34 10000007 */ b .L800C3B54
|
||||
/* 0C4738 800C3B38 96620018 */ lhu $v0, 0x18($s3)
|
||||
/* 0C473C 800C3B3C 96620018 */ lhu $v0, 0x18($s3)
|
||||
.L800C3B40:
|
||||
/* 0C4740 800C3B40 30E6FFFF */ andi $a2, $a3, 0xffff
|
||||
/* 0C4744 800C3B44 10400003 */ beqz $v0, .L800C3B54
|
||||
/* 0C4748 800C3B48 00000000 */ nop
|
||||
/* 0C474C 800C3B4C 10000001 */ b .L800C3B54
|
||||
/* 0C4750 800C3B50 3046FFFF */ andi $a2, $v0, 0xffff
|
||||
.L800C3B54:
|
||||
/* 0C4754 800C3B54 44898000 */ mtc1 $t1, $f16
|
||||
/* 0C4758 800C3B58 28C1012D */ slti $at, $a2, 0x12d
|
||||
/* 0C475C 800C3B5C 14200002 */ bnez $at, .L800C3B68
|
||||
/* 0C4760 800C3B60 468080A0 */ cvt.s.w $f2, $f16
|
||||
/* 0C4764 800C3B64 2406012C */ li $a2, 300
|
||||
.L800C3B68:
|
||||
/* 0C4768 800C3B68 44865000 */ mtc1 $a2, $f10
|
||||
/* 0C476C 800C3B6C 14400002 */ bnez $v0, .L800C3B78
|
||||
/* 0C4770 800C3B70 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
/* 0C4774 800C3B74 A6670018 */ sh $a3, 0x18($s3)
|
||||
.L800C3B78:
|
||||
/* 0C4778 800C3B78 04C10004 */ bgez $a2, .L800C3B8C
|
||||
/* 0C477C 800C3B7C 46805020 */ cvt.s.w $f0, $f10
|
||||
/* 0C4780 800C3B80 44812000 */ mtc1 $at, $f4
|
||||
/* 0C4784 800C3B84 00000000 */ nop
|
||||
/* 0C4788 800C3B88 46040000 */ add.s $f0, $f0, $f4
|
||||
.L800C3B8C:
|
||||
/* 0C478C 800C3B8C 44889000 */ mtc1 $t0, $f18
|
||||
/* 0C4790 800C3B90 E6600020 */ swc1 $f0, 0x20($s3)
|
||||
/* 0C4794 800C3B94 E662001C */ swc1 $f2, 0x1c($s3)
|
||||
/* 0C4798 800C3B98 46001181 */ sub.s $f6, $f2, $f0
|
||||
/* 0C479C 800C3B9C 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
|
||||
/* 0C47A0 800C3BA0 05010004 */ bgez $t0, .L800C3BB4
|
||||
/* 0C47A4 800C3BA4 46809220 */ cvt.s.w $f8, $f18
|
||||
/* 0C47A8 800C3BA8 44815000 */ mtc1 $at, $f10
|
||||
/* 0C47AC 800C3BAC 00000000 */ nop
|
||||
/* 0C47B0 800C3BB0 460A4200 */ add.s $f8, $f8, $f10
|
||||
.L800C3BB4:
|
||||
/* 0C47B4 800C3BB4 46083103 */ div.s $f4, $f6, $f8
|
||||
/* 0C47B8 800C3BB8 A6680028 */ sh $t0, 0x28($s3)
|
||||
/* 0C47BC 800C3BBC E6640024 */ swc1 $f4, 0x24($s3)
|
||||
/* 0C47C0 800C3BC0 AE600014 */ sw $zero, 0x14($s3)
|
||||
.L800C3BC4:
|
||||
/* 0C47C4 800C3BC4 96620028 */ lhu $v0, 0x28($s3)
|
||||
/* 0C47C8 800C3BC8 10400015 */ beqz $v0, .L800C3C20
|
||||
/* 0C47CC 800C3BCC 244FFFFF */ addiu $t7, $v0, -1
|
||||
/* 0C47D0 800C3BD0 32A300FF */ andi $v1, $s5, 0xff
|
||||
/* 0C47D4 800C3BD4 0003CC00 */ sll $t9, $v1, 0x10
|
||||
/* 0C47D8 800C3BD8 31EAFFFF */ andi $t2, $t7, 0xffff
|
||||
/* 0C47DC 800C3BDC A66F0028 */ sh $t7, 0x28($s3)
|
||||
/* 0C47E0 800C3BE0 11400006 */ beqz $t2, .L800C3BFC
|
||||
/* 0C47E4 800C3BE4 03201825 */ move $v1, $t9
|
||||
/* 0C47E8 800C3BE8 C670001C */ lwc1 $f16, 0x1c($s3)
|
||||
/* 0C47EC 800C3BEC C6720024 */ lwc1 $f18, 0x24($s3)
|
||||
/* 0C47F0 800C3BF0 46128281 */ sub.s $f10, $f16, $f18
|
||||
/* 0C47F4 800C3BF4 10000003 */ b .L800C3C04
|
||||
/* 0C47F8 800C3BF8 E66A001C */ swc1 $f10, 0x1c($s3)
|
||||
.L800C3BFC:
|
||||
/* 0C47FC 800C3BFC C6660020 */ lwc1 $f6, 0x20($s3)
|
||||
/* 0C4800 800C3C00 E666001C */ swc1 $f6, 0x1c($s3)
|
||||
.L800C3C04:
|
||||
/* 0C4804 800C3C04 C668001C */ lwc1 $f8, 0x1c($s3)
|
||||
/* 0C4808 800C3C08 3C014700 */ lui $at, 0x4700
|
||||
/* 0C480C 800C3C0C 00612025 */ or $a0, $v1, $at
|
||||
/* 0C4810 800C3C10 4600410D */ trunc.w.s $f4, $f8
|
||||
/* 0C4814 800C3C14 44052000 */ mfc1 $a1, $f4
|
||||
/* 0C4818 800C3C18 0C032F12 */ jal func_800CBBB8
|
||||
/* 0C481C 800C3C1C 00000000 */ nop
|
||||
.L800C3C20:
|
||||
/* 0C4820 800C3C20 966B0246 */ lhu $t3, 0x246($s3)
|
||||
/* 0C4824 800C3C24 1160002C */ beqz $t3, .L800C3CD8
|
||||
/* 0C4828 800C3C28 001560C0 */ sll $t4, $s5, 3
|
||||
/* 0C482C 800C3C2C 01956021 */ addu $t4, $t4, $s5
|
||||
/* 0C4830 800C3C30 000C6080 */ sll $t4, $t4, 2
|
||||
/* 0C4834 800C3C34 01956021 */ addu $t4, $t4, $s5
|
||||
/* 0C4838 800C3C38 000C6080 */ sll $t4, $t4, 2
|
||||
/* 0C483C 800C3C3C 01956023 */ subu $t4, $t4, $s5
|
||||
/* 0C4840 800C3C40 000C6080 */ sll $t4, $t4, 2
|
||||
/* 0C4844 800C3C44 02CCA021 */ addu $s4, $s6, $t4
|
||||
/* 0C4848 800C3C48 00008025 */ move $s0, $zero
|
||||
.L800C3C4C:
|
||||
/* 0C484C 800C3C4C 00102140 */ sll $a0, $s0, 5
|
||||
/* 0C4850 800C3C50 02841021 */ addu $v0, $s4, $a0
|
||||
/* 0C4854 800C3C54 94430050 */ lhu $v1, 0x50($v0)
|
||||
/* 0C4858 800C3C58 32A600FF */ andi $a2, $s5, 0xff
|
||||
/* 0C485C 800C3C5C 00067400 */ sll $t6, $a2, 0x10
|
||||
/* 0C4860 800C3C60 10600018 */ beqz $v1, .L800C3CC4
|
||||
/* 0C4864 800C3C64 246DFFFF */ addiu $t5, $v1, -1
|
||||
/* 0C4868 800C3C68 3C010100 */ lui $at, 0x100
|
||||
/* 0C486C 800C3C6C 31B9FFFF */ andi $t9, $t5, 0xffff
|
||||
/* 0C4870 800C3C70 A44D0050 */ sh $t5, 0x50($v0)
|
||||
/* 0C4874 800C3C74 13200006 */ beqz $t9, .L800C3C90
|
||||
/* 0C4878 800C3C78 01C13025 */ or $a2, $t6, $at
|
||||
/* 0C487C 800C3C7C C4500044 */ lwc1 $f16, 0x44($v0)
|
||||
/* 0C4880 800C3C80 C452004C */ lwc1 $f18, 0x4c($v0)
|
||||
/* 0C4884 800C3C84 46128281 */ sub.s $f10, $f16, $f18
|
||||
/* 0C4888 800C3C88 10000009 */ b .L800C3CB0
|
||||
/* 0C488C 800C3C8C E44A0044 */ swc1 $f10, 0x44($v0)
|
||||
.L800C3C90:
|
||||
/* 0C4890 800C3C90 02641821 */ addu $v1, $s3, $a0
|
||||
/* 0C4894 800C3C94 C4660048 */ lwc1 $f6, 0x48($v1)
|
||||
/* 0C4898 800C3C98 24180001 */ li $t8, 1
|
||||
/* 0C489C 800C3C9C 02185804 */ sllv $t3, $t8, $s0
|
||||
/* 0C48A0 800C3CA0 E4660044 */ swc1 $f6, 0x44($v1)
|
||||
/* 0C48A4 800C3CA4 966A0246 */ lhu $t2, 0x246($s3)
|
||||
/* 0C48A8 800C3CA8 014B6026 */ xor $t4, $t2, $t3
|
||||
/* 0C48AC 800C3CAC A66C0246 */ sh $t4, 0x246($s3)
|
||||
.L800C3CB0:
|
||||
/* 0C48B0 800C3CB0 320D00FF */ andi $t5, $s0, 0xff
|
||||
/* 0C48B4 800C3CB4 000D7200 */ sll $t6, $t5, 8
|
||||
/* 0C48B8 800C3CB8 00CE2025 */ or $a0, $a2, $t6
|
||||
/* 0C48BC 800C3CBC 0C032F06 */ jal func_800CBB88
|
||||
/* 0C48C0 800C3CC0 8C450044 */ lw $a1, 0x44($v0)
|
||||
.L800C3CC4:
|
||||
/* 0C48C4 800C3CC4 26100001 */ addiu $s0, $s0, 1
|
||||
/* 0C48C8 800C3CC8 320F00FF */ andi $t7, $s0, 0xff
|
||||
/* 0C48CC 800C3CCC 29E10010 */ slti $at, $t7, 0x10
|
||||
/* 0C48D0 800C3CD0 1420FFDE */ bnez $at, .L800C3C4C
|
||||
/* 0C48D4 800C3CD4 01E08025 */ move $s0, $t7
|
||||
.L800C3CD8:
|
||||
/* 0C48D8 800C3CD8 96790244 */ lhu $t9, 0x244($s3)
|
||||
/* 0C48DC 800C3CDC 1320002C */ beqz $t9, .L800C3D90
|
||||
/* 0C48E0 800C3CE0 0015C0C0 */ sll $t8, $s5, 3
|
||||
/* 0C48E4 800C3CE4 0315C021 */ addu $t8, $t8, $s5
|
||||
/* 0C48E8 800C3CE8 0018C080 */ sll $t8, $t8, 2
|
||||
/* 0C48EC 800C3CEC 0315C021 */ addu $t8, $t8, $s5
|
||||
/* 0C48F0 800C3CF0 0018C080 */ sll $t8, $t8, 2
|
||||
/* 0C48F4 800C3CF4 0315C023 */ subu $t8, $t8, $s5
|
||||
/* 0C48F8 800C3CF8 0018C080 */ sll $t8, $t8, 2
|
||||
/* 0C48FC 800C3CFC 02D8A021 */ addu $s4, $s6, $t8
|
||||
/* 0C4900 800C3D00 00008025 */ move $s0, $zero
|
||||
.L800C3D04:
|
||||
/* 0C4904 800C3D04 00102140 */ sll $a0, $s0, 5
|
||||
/* 0C4908 800C3D08 02841021 */ addu $v0, $s4, $a0
|
||||
/* 0C490C 800C3D0C 94430060 */ lhu $v1, 0x60($v0)
|
||||
/* 0C4910 800C3D10 32A600FF */ andi $a2, $s5, 0xff
|
||||
/* 0C4914 800C3D14 00065C00 */ sll $t3, $a2, 0x10
|
||||
/* 0C4918 800C3D18 10600018 */ beqz $v1, .L800C3D7C
|
||||
/* 0C491C 800C3D1C 246AFFFF */ addiu $t2, $v1, -1
|
||||
/* 0C4920 800C3D20 3C010400 */ lui $at, 0x400
|
||||
/* 0C4924 800C3D24 314DFFFF */ andi $t5, $t2, 0xffff
|
||||
/* 0C4928 800C3D28 A44A0060 */ sh $t2, 0x60($v0)
|
||||
/* 0C492C 800C3D2C 11A00006 */ beqz $t5, .L800C3D48
|
||||
/* 0C4930 800C3D30 01613025 */ or $a2, $t3, $at
|
||||
/* 0C4934 800C3D34 C4480054 */ lwc1 $f8, 0x54($v0)
|
||||
/* 0C4938 800C3D38 C444005C */ lwc1 $f4, 0x5c($v0)
|
||||
/* 0C493C 800C3D3C 46044401 */ sub.s $f16, $f8, $f4
|
||||
/* 0C4940 800C3D40 10000009 */ b .L800C3D68
|
||||
/* 0C4944 800C3D44 E4500054 */ swc1 $f16, 0x54($v0)
|
||||
.L800C3D48:
|
||||
/* 0C4948 800C3D48 02641821 */ addu $v1, $s3, $a0
|
||||
/* 0C494C 800C3D4C C4720058 */ lwc1 $f18, 0x58($v1)
|
||||
/* 0C4950 800C3D50 240F0001 */ li $t7, 1
|
||||
/* 0C4954 800C3D54 020FC804 */ sllv $t9, $t7, $s0
|
||||
/* 0C4958 800C3D58 E4720054 */ swc1 $f18, 0x54($v1)
|
||||
/* 0C495C 800C3D5C 966E0244 */ lhu $t6, 0x244($s3)
|
||||
/* 0C4960 800C3D60 01D9C026 */ xor $t8, $t6, $t9
|
||||
/* 0C4964 800C3D64 A6780244 */ sh $t8, 0x244($s3)
|
||||
.L800C3D68:
|
||||
/* 0C4968 800C3D68 320A00FF */ andi $t2, $s0, 0xff
|
||||
/* 0C496C 800C3D6C 000A5A00 */ sll $t3, $t2, 8
|
||||
/* 0C4970 800C3D70 00CB2025 */ or $a0, $a2, $t3
|
||||
/* 0C4974 800C3D74 0C032F06 */ jal func_800CBB88
|
||||
/* 0C4978 800C3D78 8C450054 */ lw $a1, 0x54($v0)
|
||||
.L800C3D7C:
|
||||
/* 0C497C 800C3D7C 26100001 */ addiu $s0, $s0, 1
|
||||
/* 0C4980 800C3D80 320C00FF */ andi $t4, $s0, 0xff
|
||||
/* 0C4984 800C3D84 29810010 */ slti $at, $t4, 0x10
|
||||
/* 0C4988 800C3D88 1420FFDE */ bnez $at, .L800C3D04
|
||||
/* 0C498C 800C3D8C 01808025 */ move $s0, $t4
|
||||
.L800C3D90:
|
||||
/* 0C4990 800C3D90 926D0041 */ lbu $t5, 0x41($s3)
|
||||
/* 0C4994 800C3D94 11A00089 */ beqz $t5, .L800C3FBC
|
||||
/* 0C4998 800C3D98 3C04F000 */ lui $a0, 0xf000
|
||||
/* 0C499C 800C3D9C 0C030D7E */ jal func_800C357C_eu
|
||||
/* 0C49A0 800C3DA0 00802825 */ move $a1, $a0
|
||||
/* 0C49A4 800C3DA4 54400004 */ bnezl $v0, .L800C3DB8
|
||||
/* 0C49A8 800C3DA8 92620040 */ lbu $v0, 0x40($s3)
|
||||
/* 0C49AC 800C3DAC 10000088 */ b .L800C3FD0
|
||||
/* 0C49B0 800C3DB0 A2600041 */ sb $zero, 0x41($s3)
|
||||
/* 0C49B4 800C3DB4 92620040 */ lbu $v0, 0x40($s3)
|
||||
.L800C3DB8:
|
||||
/* 0C49B8 800C3DB8 00157080 */ sll $t6, $s5, 2
|
||||
/* 0C49BC 800C3DBC 01D57021 */ addu $t6, $t6, $s5
|
||||
/* 0C49C0 800C3DC0 10400004 */ beqz $v0, .L800C3DD4
|
||||
/* 0C49C4 800C3DC4 000E70C0 */ sll $t6, $t6, 3
|
||||
/* 0C49C8 800C3DC8 244FFFFF */ addiu $t7, $v0, -1
|
||||
/* 0C49CC 800C3DCC 1000007B */ b .L800C3FBC
|
||||
/* 0C49D0 800C3DD0 A26F0040 */ sb $t7, 0x40($s3)
|
||||
.L800C3DD4:
|
||||
/* 0C49D4 800C3DD4 01D57021 */ addu $t6, $t6, $s5
|
||||
/* 0C49D8 800C3DD8 000E70C0 */ sll $t6, $t6, 3
|
||||
/* 0C49DC 800C3DDC 3C19803B */ lui $t9, 0x803b
|
||||
/* 0C49E0 800C3DE0 032EC821 */ addu $t9, $t9, $t6
|
||||
/* 0C49E4 800C3DE4 8F391510 */ lw $t9, 0x1510($t9)
|
||||
/* 0C49E8 800C3DE8 0019C7C2 */ srl $t8, $t9, 0x1f
|
||||
/* 0C49EC 800C3DEC 57000074 */ bnezl $t8, .L800C3FC0
|
||||
/* 0C49F0 800C3DF0 26B50001 */ addiu $s5, $s5, 1
|
||||
/* 0C49F4 800C3DF4 92630041 */ lbu $v1, 0x41($s3)
|
||||
/* 0C49F8 800C3DF8 001550C0 */ sll $t2, $s5, 3
|
||||
/* 0C49FC 800C3DFC 01555021 */ addu $t2, $t2, $s5
|
||||
/* 0C4A00 800C3E00 1860006D */ blez $v1, .L800C3FB8
|
||||
/* 0C4A04 800C3E04 00009025 */ move $s2, $zero
|
||||
/* 0C4A08 800C3E08 000A5080 */ sll $t2, $t2, 2
|
||||
/* 0C4A0C 800C3E0C 01555021 */ addu $t2, $t2, $s5
|
||||
/* 0C4A10 800C3E10 000A5080 */ sll $t2, $t2, 2
|
||||
/* 0C4A14 800C3E14 01555023 */ subu $t2, $t2, $s5
|
||||
/* 0C4A18 800C3E18 000A5080 */ sll $t2, $t2, 2
|
||||
/* 0C4A1C 800C3E1C 02CAA021 */ addu $s4, $s6, $t2
|
||||
.L800C3E20:
|
||||
/* 0C4A20 800C3E20 00125880 */ sll $t3, $s2, 2
|
||||
/* 0C4A24 800C3E24 028B6021 */ addu $t4, $s4, $t3
|
||||
/* 0C4A28 800C3E28 8D82002C */ lw $v0, 0x2c($t4)
|
||||
/* 0C4A2C 800C3E2C 3C0100F0 */ lui $at, 0xf0
|
||||
/* 0C4A30 800C3E30 00412024 */ and $a0, $v0, $at
|
||||
/* 0C4A34 800C3E34 3C01000F */ lui $at, 0xf
|
||||
/* 0C4A38 800C3E38 00046D02 */ srl $t5, $a0, 0x14
|
||||
/* 0C4A3C 800C3E3C 00418824 */ and $s1, $v0, $at
|
||||
/* 0C4A40 800C3E40 31AF00FF */ andi $t7, $t5, 0xff
|
||||
/* 0C4A44 800C3E44 3045FF00 */ andi $a1, $v0, 0xff00
|
||||
/* 0C4A48 800C3E48 00403025 */ move $a2, $v0
|
||||
/* 0C4A4C 800C3E4C 00117402 */ srl $t6, $s1, 0x10
|
||||
/* 0C4A50 800C3E50 0005C202 */ srl $t8, $a1, 8
|
||||
/* 0C4A54 800C3E54 30CB00FF */ andi $t3, $a2, 0xff
|
||||
/* 0C4A58 800C3E58 2DE10007 */ sltiu $at, $t7, 7
|
||||
/* 0C4A5C 800C3E5C 31D100FF */ andi $s1, $t6, 0xff
|
||||
/* 0C4A60 800C3E60 330500FF */ andi $a1, $t8, 0xff
|
||||
/* 0C4A64 800C3E64 1020004F */ beqz $at, .L800C3FA4
|
||||
/* 0C4A68 800C3E68 01603025 */ move $a2, $t3
|
||||
/* 0C4A6C 800C3E6C 000F6080 */ sll $t4, $t7, 2
|
||||
/* 0C4A70 800C3E70 3C01800F */ lui $at, %hi(jpt_800F376C) # 0x800f
|
||||
/* 0C4A74 800C3E74 002C0821 */ addu $at, $at, $t4
|
||||
/* 0C4A78 800C3E78 8C2C376C */ lw $t4, %lo(jpt_800F376C)($at) # 0x376c($at)
|
||||
/* 0C4A7C 800C3E7C 01800008 */ jr $t4
|
||||
/* 0C4A80 800C3E80 00000000 */ nop
|
||||
glabel L800C3DEC
|
||||
/* 0C4A84 800C3E84 02370019 */ multu $s1, $s7
|
||||
/* 0C4A88 800C3E88 240F0001 */ li $t7, 1
|
||||
/* 0C4A8C 800C3E8C 240E007F */ li $t6, 127
|
||||
/* 0C4A90 800C3E90 00006812 */ mflo $t5
|
||||
/* 0C4A94 800C3E94 02CD8021 */ addu $s0, $s6, $t5
|
||||
/* 0C4A98 800C3E98 A20F0012 */ sb $t7, 0x12($s0)
|
||||
/* 0C4A9C 800C3E9C A20E000F */ sb $t6, 0xf($s0)
|
||||
/* 0C4AA0 800C3EA0 10000040 */ b .L800C3FA4
|
||||
/* 0C4AA4 800C3EA4 92630041 */ lbu $v1, 0x41($s3)
|
||||
glabel L800C3E10
|
||||
/* 0C4AA8 800C3EA8 96790248 */ lhu $t9, 0x248($s3)
|
||||
/* 0C4AAC 800C3EAC 3C013000 */ lui $at, 0x3000
|
||||
/* 0C4AB0 800C3EB0 00155600 */ sll $t2, $s5, 0x18
|
||||
/* 0C4AB4 800C3EB4 0321C025 */ or $t8, $t9, $at
|
||||
/* 0C4AB8 800C3EB8 0C030D16 */ jal func_800C3448
|
||||
/* 0C4ABC 800C3EBC 030A2025 */ or $a0, $t8, $t2
|
||||
/* 0C4AC0 800C3EC0 10000038 */ b .L800C3FA4
|
||||
/* 0C4AC4 800C3EC4 92630041 */ lbu $v1, 0x41($s3)
|
||||
glabel L800C3E30
|
||||
/* 0C4AC8 800C3EC8 02370019 */ multu $s1, $s7
|
||||
/* 0C4ACC 800C3ECC 00116E00 */ sll $t5, $s1, 0x18
|
||||
/* 0C4AD0 800C3ED0 3C010001 */ lui $at, 1
|
||||
/* 0C4AD4 800C3ED4 00005812 */ mflo $t3
|
||||
/* 0C4AD8 800C3ED8 02CB8021 */ addu $s0, $s6, $t3
|
||||
/* 0C4ADC 800C3EDC 960C0248 */ lhu $t4, 0x248($s0)
|
||||
/* 0C4AE0 800C3EE0 018D2025 */ or $a0, $t4, $t5
|
||||
/* 0C4AE4 800C3EE4 00817825 */ or $t7, $a0, $at
|
||||
/* 0C4AE8 800C3EE8 0C030D16 */ jal func_800C3448
|
||||
/* 0C4AEC 800C3EEC 01E02025 */ move $a0, $t7
|
||||
/* 0C4AF0 800C3EF0 240E0001 */ li $t6, 1
|
||||
/* 0C4AF4 800C3EF4 2419007F */ li $t9, 127
|
||||
/* 0C4AF8 800C3EF8 A20E0012 */ sb $t6, 0x12($s0)
|
||||
/* 0C4AFC 800C3EFC A219000F */ sb $t9, 0xf($s0)
|
||||
/* 0C4B00 800C3F00 10000028 */ b .L800C3FA4
|
||||
/* 0C4B04 800C3F04 92630041 */ lbu $v1, 0x41($s3)
|
||||
glabel L800C3E70
|
||||
/* 0C4B08 800C3F08 3C01B000 */ lui $at, (0xB0003000 >> 16) # lui $at, 0xb000
|
||||
/* 0C4B0C 800C3F0C 34213000 */ ori $at, (0xB0003000 & 0xFFFF) # ori $at, $at, 0x3000
|
||||
/* 0C4B10 800C3F10 0011C600 */ sll $t8, $s1, 0x18
|
||||
/* 0C4B14 800C3F14 03015025 */ or $t2, $t8, $at
|
||||
/* 0C4B18 800C3F18 00055C00 */ sll $t3, $a1, 0x10
|
||||
/* 0C4B1C 800C3F1C 014B6025 */ or $t4, $t2, $t3
|
||||
/* 0C4B20 800C3F20 0C030D16 */ jal func_800C3448
|
||||
/* 0C4B24 800C3F24 01862025 */ or $a0, $t4, $a2
|
||||
/* 0C4B28 800C3F28 1000001E */ b .L800C3FA4
|
||||
/* 0C4B2C 800C3F2C 92630041 */ lbu $v1, 0x41($s3)
|
||||
glabel L800C3E98
|
||||
/* 0C4B30 800C3F30 3C01B000 */ lui $at, (0xB0004000 >> 16) # lui $at, 0xb000
|
||||
/* 0C4B34 800C3F34 34214000 */ ori $at, (0xB0004000 & 0xFFFF) # ori $at, $at, 0x4000
|
||||
/* 0C4B38 800C3F38 00116E00 */ sll $t5, $s1, 0x18
|
||||
/* 0C4B3C 800C3F3C 01A17825 */ or $t7, $t5, $at
|
||||
/* 0C4B40 800C3F40 00067400 */ sll $t6, $a2, 0x10
|
||||
/* 0C4B44 800C3F44 0C030D16 */ jal func_800C3448
|
||||
/* 0C4B48 800C3F48 01EE2025 */ or $a0, $t7, $t6
|
||||
/* 0C4B4C 800C3F4C 10000015 */ b .L800C3FA4
|
||||
/* 0C4B50 800C3F50 92630041 */ lbu $v1, 0x41($s3)
|
||||
glabel L800C3EBC
|
||||
/* 0C4B54 800C3F54 02370019 */ multu $s1, $s7
|
||||
/* 0C4B58 800C3F58 00116600 */ sll $t4, $s1, 0x18
|
||||
/* 0C4B5C 800C3F5C 3059FFFF */ andi $t9, $v0, 0xffff
|
||||
/* 0C4B60 800C3F60 0000C012 */ mflo $t8
|
||||
/* 0C4B64 800C3F64 02D88021 */ addu $s0, $s6, $t8
|
||||
/* 0C4B68 800C3F68 920A0042 */ lbu $t2, 0x42($s0)
|
||||
/* 0C4B6C 800C3F6C 000A5C00 */ sll $t3, $t2, 0x10
|
||||
/* 0C4B70 800C3F70 016C6825 */ or $t5, $t3, $t4
|
||||
/* 0C4B74 800C3F74 0C030D16 */ jal func_800C3448
|
||||
/* 0C4B78 800C3F78 01B92025 */ or $a0, $t5, $t9
|
||||
/* 0C4B7C 800C3F7C 322400FF */ andi $a0, $s1, 0xff
|
||||
/* 0C4B80 800C3F80 24050001 */ li $a1, 1
|
||||
/* 0C4B84 800C3F84 2406007F */ li $a2, 127
|
||||
/* 0C4B88 800C3F88 0C030DD1 */ jal func_800C36C4
|
||||
/* 0C4B8C 800C3F8C 00003825 */ move $a3, $zero
|
||||
/* 0C4B90 800C3F90 A2000042 */ sb $zero, 0x42($s0)
|
||||
/* 0C4B94 800C3F94 10000003 */ b .L800C3FA4
|
||||
/* 0C4B98 800C3F98 92630041 */ lbu $v1, 0x41($s3)
|
||||
glabel L800C3F04
|
||||
/* 0C4B9C 800C3F9C A2650042 */ sb $a1, 0x42($s3)
|
||||
/* 0C4BA0 800C3FA0 92630041 */ lbu $v1, 0x41($s3)
|
||||
.L800C3FA4:
|
||||
/* 0C4BA4 800C3FA4 26520001 */ addiu $s2, $s2, 1
|
||||
/* 0C4BA8 800C3FA8 324F00FF */ andi $t7, $s2, 0xff
|
||||
/* 0C4BAC 800C3FAC 01E3082A */ slt $at, $t7, $v1
|
||||
/* 0C4BB0 800C3FB0 1420FF9B */ bnez $at, .L800C3E20
|
||||
/* 0C4BB4 800C3FB4 01E09025 */ move $s2, $t7
|
||||
.L800C3FB8:
|
||||
/* 0C4BB8 800C3FB8 A2600041 */ sb $zero, 0x41($s3)
|
||||
.L800C3FBC:
|
||||
/* 0C4BBC 800C3FBC 26B50001 */ addiu $s5, $s5, 1
|
||||
.L800C3FC0:
|
||||
/* 0C4BC0 800C3FC0 32AE00FF */ andi $t6, $s5, 0xff
|
||||
/* 0C4BC4 800C3FC4 29C10003 */ slti $at, $t6, 3
|
||||
/* 0C4BC8 800C3FC8 1420FE09 */ bnez $at, .L800C37F0
|
||||
/* 0C4BCC 800C3FCC 01C0A825 */ move $s5, $t6
|
||||
.L800C3FD0:
|
||||
/* 0C4BD0 800C3FD0 8FDF0054 */ lw $ra, 0x54($fp)
|
||||
/* 0C4BD4 800C3FD4 03C0E825 */ move $sp, $fp
|
||||
/* 0C4BD8 800C3FD8 D7D40028 */ ldc1 $f20, 0x28($fp)
|
||||
/* 0C4BDC 800C3FDC 8FD00030 */ lw $s0, 0x30($fp)
|
||||
/* 0C4BE0 800C3FE0 8FD10034 */ lw $s1, 0x34($fp)
|
||||
/* 0C4BE4 800C3FE4 8FD20038 */ lw $s2, 0x38($fp)
|
||||
/* 0C4BE8 800C3FE8 8FD3003C */ lw $s3, 0x3c($fp)
|
||||
/* 0C4BEC 800C3FEC 8FD40040 */ lw $s4, 0x40($fp)
|
||||
/* 0C4BF0 800C3FF0 8FD50044 */ lw $s5, 0x44($fp)
|
||||
/* 0C4BF4 800C3FF4 8FD60048 */ lw $s6, 0x48($fp)
|
||||
/* 0C4BF8 800C3FF8 8FD7004C */ lw $s7, 0x4c($fp)
|
||||
/* 0C4BFC 800C3FFC 8FDE0050 */ lw $fp, 0x50($fp)
|
||||
/* 0C4C00 800C4000 03E00008 */ jr $ra
|
||||
/* 0C4C04 800C4004 27BD0058 */ addiu $sp, $sp, 0x58
|
|
@ -0,0 +1,930 @@
|
|||
glabel func_800C76C0
|
||||
/* 0C837C 800C777C 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 0C8380 800C7780 308E00FF */ andi $t6, $a0, 0xff
|
||||
/* 0C8384 800C7784 3C19800F */ lui $t9, %hi(D_800E9EA4) # $t9, 0x800f
|
||||
/* 0C8388 800C7788 27399FA4 */ addiu $t9, %lo(D_800E9EA4) # addiu $t9, $t9, -0x605c
|
||||
/* 0C838C 800C778C 000E7880 */ sll $t7, $t6, 2
|
||||
/* 0C8390 800C7790 01F94021 */ addu $t0, $t7, $t9
|
||||
/* 0C8394 800C7794 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* 0C8398 800C7798 AFBE0028 */ sw $fp, 0x28($sp)
|
||||
/* 0C839C 800C779C AFA40040 */ sw $a0, 0x40($sp)
|
||||
/* 0C83A0 800C77A0 AFA80034 */ sw $t0, 0x34($sp)
|
||||
/* 0C83A4 800C77A4 AFAF0038 */ sw $t7, 0x38($sp)
|
||||
/* 0C83A8 800C77A8 8D030000 */ lw $v1, ($t0)
|
||||
/* 0C83AC 800C77AC 01C02025 */ move $a0, $t6
|
||||
/* 0C83B0 800C77B0 03A0F025 */ move $fp, $sp
|
||||
/* 0C83B4 800C77B4 10600352 */ beqz $v1, .L800C8500
|
||||
/* 0C83B8 800C77B8 286102BC */ slti $at, $v1, 0x2bc
|
||||
/* 0C83BC 800C77BC 10200003 */ beqz $at, .L800C77CC
|
||||
/* 0C83C0 800C77C0 24690001 */ addiu $t1, $v1, 1
|
||||
/* 0C83C4 800C77C4 AD090000 */ sw $t1, ($t0)
|
||||
/* 0C83C8 800C77C8 01201825 */ move $v1, $t1
|
||||
.L800C77CC:
|
||||
/* 0C83CC 800C77CC 24010002 */ li $at, 2
|
||||
/* 0C83D0 800C77D0 1461020F */ bne $v1, $at, .L800C8010
|
||||
/* 0C83D4 800C77D4 A3C40043 */ sb $a0, 0x43($fp)
|
||||
/* 0C83D8 800C77D8 3C050100 */ lui $a1, (0x0100FA28 >> 16) # lui $a1, 0x100
|
||||
/* 0C83DC 800C77DC 34A5FA28 */ ori $a1, (0x0100FA28 & 0xFFFF) # ori $a1, $a1, 0xfa28
|
||||
/* 0C83E0 800C77E0 0C03242C */ jal func_800C9018
|
||||
/* 0C83E4 800C77E4 A3C40043 */ sb $a0, 0x43($fp)
|
||||
/* 0C83E8 800C77E8 3C050100 */ lui $a1, (0x0100FF2C >> 16) # lui $a1, 0x100
|
||||
/* 0C83EC 800C77EC 34A5FF2C */ ori $a1, (0x0100FF2C & 0xFFFF) # ori $a1, $a1, 0xff2c
|
||||
/* 0C83F0 800C77F0 0C03242C */ jal func_800C9018
|
||||
/* 0C83F4 800C77F4 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C83F8 800C77F8 3C050100 */ lui $a1, (0x0100FA4C >> 16) # lui $a1, 0x100
|
||||
/* 0C83FC 800C77FC 34A5FA4C */ ori $a1, (0x0100FA4C & 0xFFFF) # ori $a1, $a1, 0xfa4c
|
||||
/* 0C8400 800C7800 0C03242C */ jal func_800C9018
|
||||
/* 0C8404 800C7804 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8408 800C7808 93CA0043 */ lbu $t2, 0x43($fp)
|
||||
/* 0C840C 800C780C 8FCD0038 */ lw $t5, 0x38($fp)
|
||||
/* 0C8410 800C7810 3C0C800F */ lui $t4, %hi(D_800E9F7C) # $t4, 0x800f
|
||||
/* 0C8414 800C7814 000A5900 */ sll $t3, $t2, 4
|
||||
/* 0C8418 800C7818 3C05800F */ lui $a1, 0x800f
|
||||
/* 0C841C 800C781C 016A5823 */ subu $t3, $t3, $t2
|
||||
/* 0C8420 800C7820 000B5880 */ sll $t3, $t3, 2
|
||||
/* 0C8424 800C7824 258CA07C */ addiu $t4, %lo(D_800E9F7C) # addiu $t4, $t4, -0x5f84
|
||||
/* 0C8428 800C7828 00AD2821 */ addu $a1, $a1, $t5
|
||||
/* 0C842C 800C782C 8CA59F94 */ lw $a1, -0x606c($a1)
|
||||
/* 0C8430 800C7830 0C031584 */ jal func_800C5578
|
||||
/* 0C8434 800C7834 016C2021 */ addu $a0, $t3, $t4
|
||||
/* 0C8438 800C7838 8FCE0038 */ lw $t6, 0x38($fp)
|
||||
/* 0C843C 800C783C 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e
|
||||
/* 0C8440 800C7840 8C42C5CC */ lw $v0, %lo(gModeSelection)($v0)
|
||||
/* 0C8444 800C7844 3C01800F */ lui $at, 0x800f
|
||||
/* 0C8448 800C7848 002E0821 */ addu $at, $at, $t6
|
||||
/* 0C844C 800C784C 1040000D */ beqz $v0, .L800C7884
|
||||
/* 0C8450 800C7850 AC209F74 */ sw $zero, -0x608c($at)
|
||||
/* 0C8454 800C7854 24070001 */ li $a3, 1
|
||||
/* 0C8458 800C7858 104700AC */ beq $v0, $a3, .L800C7B0C
|
||||
/* 0C845C 800C785C 3C041001 */ lui $a0, 0x1001
|
||||
/* 0C8460 800C7860 24010002 */ li $at, 2
|
||||
/* 0C8464 800C7864 104100D5 */ beq $v0, $at, .L800C7BBC
|
||||
/* 0C8468 800C7868 3C0B800F */ lui $t3, 0x800f
|
||||
/* 0C846C 800C786C 24010003 */ li $at, 3
|
||||
/* 0C8470 800C7870 1041015C */ beq $v0, $at, .L800C7DE4
|
||||
/* 0C8474 800C7874 00000000 */ nop
|
||||
/* 0C8478 800C7878 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C847C 800C787C 100001E4 */ b .L800C8010
|
||||
/* 0C8480 800C7880 8DE30000 */ lw $v1, ($t7)
|
||||
.L800C7884:
|
||||
/* 0C8484 800C7884 93D80043 */ lbu $t8, 0x43($fp)
|
||||
/* 0C8488 800C7888 3C19800F */ lui $t9, %hi(D_800EA0EC) # $t9, 0x800f
|
||||
/* 0C848C 800C788C 2739A1EC */ addiu $t9, %lo(D_800EA0EC) # addiu $t9, $t9, -0x5e14
|
||||
/* 0C8490 800C7890 24080002 */ li $t0, 2
|
||||
/* 0C8494 800C7894 03191021 */ addu $v0, $t8, $t9
|
||||
/* 0C8498 800C7898 A0480000 */ sb $t0, ($v0)
|
||||
/* 0C849C 800C789C 3C051900 */ lui $a1, (0x1900F103 >> 16) # lui $a1, 0x1900
|
||||
/* 0C84A0 800C78A0 34A5F103 */ ori $a1, (0x1900F103 & 0xFFFF) # ori $a1, $a1, 0xf103
|
||||
/* 0C84A4 800C78A4 AFC20030 */ sw $v0, 0x30($fp)
|
||||
/* 0C84A8 800C78A8 0C03243E */ jal func_800C9060
|
||||
/* 0C84AC 800C78AC 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C84B0 800C78B0 3C09800F */ lui $t1, %hi(D_800EA1C0) # $t1, 0x800f
|
||||
/* 0C84B4 800C78B4 9129A2C0 */ lbu $t1, %lo(D_800EA1C0)($t1)
|
||||
/* 0C84B8 800C78B8 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
|
||||
/* 0C84BC 800C78BC 240E0002 */ li $t6, 2
|
||||
/* 0C84C0 800C78C0 55200037 */ bnezl $t1, .L800C79A0
|
||||
/* 0C84C4 800C78C4 8FCF0030 */ lw $t7, 0x30($fp)
|
||||
/* 0C84C8 800C78C8 0C030D16 */ jal func_800C3448
|
||||
/* 0C84CC 800C78CC 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C84D0 800C78D0 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
|
||||
/* 0C84D4 800C78D4 0C030D16 */ jal func_800C3448
|
||||
/* 0C84D8 800C78D8 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C84DC 800C78DC 0C0314C4 */ jal func_800C5278
|
||||
/* 0C84E0 800C78E0 24040005 */ li $a0, 5
|
||||
/* 0C84E4 800C78E4 93CA0043 */ lbu $t2, 0x43($fp)
|
||||
/* 0C84E8 800C78E8 3C02800F */ lui $v0, 0x800f
|
||||
/* 0C84EC 800C78EC 000A58C0 */ sll $t3, $t2, 3
|
||||
/* 0C84F0 800C78F0 016A5823 */ subu $t3, $t3, $t2
|
||||
/* 0C84F4 800C78F4 000B5900 */ sll $t3, $t3, 4
|
||||
/* 0C84F8 800C78F8 016A5823 */ subu $t3, $t3, $t2
|
||||
/* 0C84FC 800C78FC 000B5880 */ sll $t3, $t3, 2
|
||||
/* 0C8500 800C7900 016A5823 */ subu $t3, $t3, $t2
|
||||
/* 0C8504 800C7904 000B58C0 */ sll $t3, $t3, 3
|
||||
/* 0C8508 800C7908 004B1021 */ addu $v0, $v0, $t3
|
||||
/* 0C850C 800C790C 84426AD4 */ lh $v0, 0x6ad4($v0)
|
||||
/* 0C8510 800C7910 1440000D */ bnez $v0, .L800C7948
|
||||
/* 0C8514 800C7914 28410004 */ slti $at, $v0, 4
|
||||
/* 0C8518 800C7918 0C032617 */ jal func_800C97C4
|
||||
/* 0C851C 800C791C 01402025 */ move $a0, $t2
|
||||
/* 0C8520 800C7920 240C0002 */ li $t4, 2
|
||||
/* 0C8524 800C7924 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
|
||||
/* 0C8528 800C7928 A02CA1F0 */ sb $t4, %lo(D_800EA0F0)($at)
|
||||
/* 0C852C 800C792C 0C0326C8 */ jal func_800C9A88
|
||||
/* 0C8530 800C7930 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8534 800C7934 2404000D */ li $a0, 13
|
||||
/* 0C8538 800C7938 0C03292B */ jal func_800CA414
|
||||
/* 0C853C 800C793C 24050010 */ li $a1, 16
|
||||
/* 0C8540 800C7940 10000070 */ b .L800C7B04
|
||||
/* 0C8544 800C7944 8FCD0034 */ lw $t5, 0x34($fp)
|
||||
.L800C7948:
|
||||
/* 0C8548 800C7948 1020000D */ beqz $at, .L800C7980
|
||||
/* 0C854C 800C794C 3C04C160 */ lui $a0, (0xC1606400 >> 16) # lui $a0, 0xc160
|
||||
/* 0C8550 800C7950 0C032617 */ jal func_800C97C4
|
||||
/* 0C8554 800C7954 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8558 800C7958 240D0002 */ li $t5, 2
|
||||
/* 0C855C 800C795C 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
|
||||
/* 0C8560 800C7960 A02DA1F0 */ sb $t5, %lo(D_800EA0F0)($at)
|
||||
/* 0C8564 800C7964 0C0326C8 */ jal func_800C9A88
|
||||
/* 0C8568 800C7968 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C856C 800C796C 2404000E */ li $a0, 14
|
||||
/* 0C8570 800C7970 0C03292B */ jal func_800CA414
|
||||
/* 0C8574 800C7974 24050010 */ li $a1, 16
|
||||
/* 0C8578 800C7978 10000062 */ b .L800C7B04
|
||||
/* 0C857C 800C797C 8FCD0034 */ lw $t5, 0x34($fp)
|
||||
.L800C7980:
|
||||
/* 0C8580 800C7980 0C030D16 */ jal func_800C3448
|
||||
/* 0C8584 800C7984 34846400 */ ori $a0, (0xC1606400 & 0xFFFF) # ori $a0, $a0, 0x6400
|
||||
/* 0C8588 800C7988 2404000F */ li $a0, 15
|
||||
/* 0C858C 800C798C 0C03292B */ jal func_800CA414
|
||||
/* 0C8590 800C7990 24050018 */ li $a1, 24
|
||||
/* 0C8594 800C7994 1000005B */ b .L800C7B04
|
||||
/* 0C8598 800C7998 8FCD0034 */ lw $t5, 0x34($fp)
|
||||
/* 0C859C 800C799C 8FCF0030 */ lw $t7, 0x30($fp)
|
||||
.L800C79A0:
|
||||
/* 0C85A0 800C79A0 3C051900 */ lui $a1, (0x1900F103 >> 16) # lui $a1, 0x1900
|
||||
/* 0C85A4 800C79A4 34A5F103 */ ori $a1, (0x1900F103 & 0xFFFF) # ori $a1, $a1, 0xf103
|
||||
/* 0C85A8 800C79A8 A1EE0000 */ sb $t6, ($t7)
|
||||
/* 0C85AC 800C79AC 0C03243E */ jal func_800C9060
|
||||
/* 0C85B0 800C79B0 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C85B4 800C79B4 93D80043 */ lbu $t8, 0x43($fp)
|
||||
/* 0C85B8 800C79B8 3C02800F */ lui $v0, 0x800f
|
||||
/* 0C85BC 800C79BC 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
|
||||
/* 0C85C0 800C79C0 0018C8C0 */ sll $t9, $t8, 3
|
||||
/* 0C85C4 800C79C4 0338C823 */ subu $t9, $t9, $t8
|
||||
/* 0C85C8 800C79C8 0019C900 */ sll $t9, $t9, 4
|
||||
/* 0C85CC 800C79CC 0338C823 */ subu $t9, $t9, $t8
|
||||
/* 0C85D0 800C79D0 0019C880 */ sll $t9, $t9, 2
|
||||
/* 0C85D4 800C79D4 0338C823 */ subu $t9, $t9, $t8
|
||||
/* 0C85D8 800C79D8 0019C8C0 */ sll $t9, $t9, 3
|
||||
/* 0C85DC 800C79DC 00591021 */ addu $v0, $v0, $t9
|
||||
/* 0C85E0 800C79E0 84426AD4 */ lh $v0, 0x6ad4($v0)
|
||||
/* 0C85E4 800C79E4 14400013 */ bnez $v0, .L800C7A34
|
||||
/* 0C85E8 800C79E8 28410004 */ slti $at, $v0, 4
|
||||
/* 0C85EC 800C79EC 0C030D16 */ jal func_800C3448
|
||||
/* 0C85F0 800C79F0 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C85F4 800C79F4 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
|
||||
/* 0C85F8 800C79F8 0C030D16 */ jal func_800C3448
|
||||
/* 0C85FC 800C79FC 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C8600 800C7A00 0C032617 */ jal func_800C97C4
|
||||
/* 0C8604 800C7A04 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8608 800C7A08 24080002 */ li $t0, 2
|
||||
/* 0C860C 800C7A0C 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
|
||||
/* 0C8610 800C7A10 A028A1F0 */ sb $t0, %lo(D_800EA0F0)($at)
|
||||
/* 0C8614 800C7A14 0C0326C8 */ jal func_800C9A88
|
||||
/* 0C8618 800C7A18 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C861C 800C7A1C 2404000D */ li $a0, 13
|
||||
/* 0C8620 800C7A20 0C03292B */ jal func_800CA414
|
||||
/* 0C8624 800C7A24 24050010 */ li $a1, 16
|
||||
/* 0C8628 800C7A28 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f
|
||||
/* 0C862C 800C7A2C 1000002B */ b .L800C7ADC
|
||||
/* 0C8630 800C7A30 9042A204 */ lbu $v0, %lo(D_800EA104)($v0)
|
||||
.L800C7A34:
|
||||
/* 0C8634 800C7A34 10200018 */ beqz $at, .L800C7A98
|
||||
/* 0C8638 800C7A38 3C02800F */ lui $v0, 0x800f
|
||||
/* 0C863C 800C7A3C 3C09800F */ lui $t1, %hi(D_800EA104) # $t1, 0x800f
|
||||
/* 0C8640 800C7A40 9129A204 */ lbu $t1, %lo(D_800EA104)($t1)
|
||||
/* 0C8644 800C7A44 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
|
||||
/* 0C8648 800C7A48 15200006 */ bnez $t1, .L800C7A64
|
||||
/* 0C864C 800C7A4C 00000000 */ nop
|
||||
/* 0C8650 800C7A50 0C030D16 */ jal func_800C3448
|
||||
/* 0C8654 800C7A54 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C8658 800C7A58 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
|
||||
/* 0C865C 800C7A5C 0C030D16 */ jal func_800C3448
|
||||
/* 0C8660 800C7A60 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
.L800C7A64:
|
||||
/* 0C8664 800C7A64 0C032617 */ jal func_800C97C4
|
||||
/* 0C8668 800C7A68 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C866C 800C7A6C 240B0002 */ li $t3, 2
|
||||
/* 0C8670 800C7A70 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
|
||||
/* 0C8674 800C7A74 A02BA1F0 */ sb $t3, %lo(D_800EA0F0)($at)
|
||||
/* 0C8678 800C7A78 0C0326C8 */ jal func_800C9A88
|
||||
/* 0C867C 800C7A7C 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8680 800C7A80 2404000E */ li $a0, 14
|
||||
/* 0C8684 800C7A84 0C03292B */ jal func_800CA414
|
||||
/* 0C8688 800C7A88 24050010 */ li $a1, 16
|
||||
/* 0C868C 800C7A8C 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f
|
||||
/* 0C8690 800C7A90 10000012 */ b .L800C7ADC
|
||||
/* 0C8694 800C7A94 9042A204 */ lbu $v0, %lo(D_800EA104)($v0)
|
||||
.L800C7A98:
|
||||
/* 0C8698 800C7A98 9042A204 */ lbu $v0, %lo(D_800EA104)($v0)
|
||||
/* 0C869C 800C7A9C 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
|
||||
/* 0C86A0 800C7AA0 1440000E */ bnez $v0, .L800C7ADC
|
||||
/* 0C86A4 800C7AA4 00000000 */ nop
|
||||
/* 0C86A8 800C7AA8 0C030D16 */ jal func_800C3448
|
||||
/* 0C86AC 800C7AAC 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C86B0 800C7AB0 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
|
||||
/* 0C86B4 800C7AB4 0C030D16 */ jal func_800C3448
|
||||
/* 0C86B8 800C7AB8 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C86BC 800C7ABC 3C04C160 */ lui $a0, (0xC16000FF >> 16) # lui $a0, 0xc160
|
||||
/* 0C86C0 800C7AC0 0C030D16 */ jal func_800C3448
|
||||
/* 0C86C4 800C7AC4 34846400 */ ori $a0, (0xC1606400 & 0xFFFF) # ori $a0, $a0, 0x6400
|
||||
/* 0C86C8 800C7AC8 2404000F */ li $a0, 15
|
||||
/* 0C86CC 800C7ACC 0C03292B */ jal func_800CA414
|
||||
/* 0C86D0 800C7AD0 24050018 */ li $a1, 24
|
||||
/* 0C86D4 800C7AD4 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f
|
||||
/* 0C86D8 800C7AD8 9042A204 */ lbu $v0, %lo(D_800EA104)($v0)
|
||||
.L800C7ADC:
|
||||
/* 0C86DC 800C7ADC 14400006 */ bnez $v0, .L800C7AF8
|
||||
/* 0C86E0 800C7AE0 00000000 */ nop
|
||||
/* 0C86E4 800C7AE4 8FCA0030 */ lw $t2, 0x30($fp)
|
||||
/* 0C86E8 800C7AE8 24010001 */ li $at, 1
|
||||
/* 0C86EC 800C7AEC 914C0000 */ lbu $t4, ($t2)
|
||||
/* 0C86F0 800C7AF0 51810004 */ beql $t4, $at, .L800C7B04
|
||||
/* 0C86F4 800C7AF4 8FCD0034 */ lw $t5, 0x34($fp)
|
||||
.L800C7AF8:
|
||||
/* 0C86F8 800C7AF8 0C0314C4 */ jal func_800C5278
|
||||
/* 0C86FC 800C7AFC 24040005 */ li $a0, 5
|
||||
/* 0C8700 800C7B00 8FCD0034 */ lw $t5, 0x34($fp)
|
||||
.L800C7B04:
|
||||
/* 0C8704 800C7B04 10000142 */ b .L800C8010
|
||||
/* 0C8708 800C7B08 8DA30000 */ lw $v1, ($t5)
|
||||
.L800C7B0C:
|
||||
/* 0C870C 800C7B0C 0C030D16 */ jal func_800C3448
|
||||
/* 0C8710 800C7B10 348400FF */ ori $a0, (0xC16000FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C8714 800C7B14 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
|
||||
/* 0C8718 800C7B18 0C030D16 */ jal func_800C3448
|
||||
/* 0C871C 800C7B1C 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C8720 800C7B20 0C032617 */ jal func_800C97C4
|
||||
/* 0C8724 800C7B24 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8728 800C7B28 240E0002 */ li $t6, 2
|
||||
/* 0C872C 800C7B2C 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
|
||||
/* 0C8730 800C7B30 A02EA1F0 */ sb $t6, %lo(D_800EA0F0)($at)
|
||||
/* 0C8734 800C7B34 0C0326C8 */ jal func_800C9A88
|
||||
/* 0C8738 800C7B38 00002025 */ move $a0, $zero
|
||||
/* 0C873C 800C7B3C 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8740 800C7B40 3C01800F */ lui $at, 0x800f
|
||||
/* 0C8744 800C7B44 240F0002 */ li $t7, 2
|
||||
/* 0C8748 800C7B48 3C051900 */ lui $a1, (0x1900F103 >> 16) # lui $a1, 0x1900
|
||||
/* 0C874C 800C7B4C 00240821 */ addu $at, $at, $a0
|
||||
/* 0C8750 800C7B50 A02FA1EC */ sb $t7, -0x5e14($at)
|
||||
/* 0C8754 800C7B54 0C03243E */ jal func_800C9060
|
||||
/* 0C8758 800C7B58 34A5F103 */ ori $a1, (0x1900F103 & 0xFFFF) # ori $a1, $a1, 0xf103
|
||||
/* 0C875C 800C7B5C 3C198016 */ lui $t9, %hi(D_801657E5) # $t9, 0x8016
|
||||
/* 0C8760 800C7B60 83395925 */ lb $t9, %lo(D_801657E5)($t9)
|
||||
/* 0C8764 800C7B64 24010001 */ li $at, 1
|
||||
/* 0C8768 800C7B68 2404000D */ li $a0, 13
|
||||
/* 0C876C 800C7B6C 17210005 */ bne $t9, $at, .L800C7B84
|
||||
/* 0C8770 800C7B70 3C088019 */ lui $t0, %hi(D_8018ED90) # $t0, 0x8019
|
||||
/* 0C8774 800C7B74 0C03292B */ jal func_800CA414
|
||||
/* 0C8778 800C7B78 24050010 */ li $a1, 16
|
||||
/* 0C877C 800C7B7C 1000000D */ b .L800C7BB4
|
||||
/* 0C8780 800C7B80 8FC90034 */ lw $t1, 0x34($fp)
|
||||
.L800C7B84:
|
||||
/* 0C8784 800C7B84 9108EED0 */ lbu $t0, %lo(D_8018ED90)($t0)
|
||||
/* 0C8788 800C7B88 24010001 */ li $at, 1
|
||||
/* 0C878C 800C7B8C 24050010 */ li $a1, 16
|
||||
/* 0C8790 800C7B90 15010005 */ bne $t0, $at, .L800C7BA8
|
||||
/* 0C8794 800C7B94 3C040164 */ lui $a0, (0x01640010 >> 16) # lui $a0, 0x164
|
||||
/* 0C8798 800C7B98 0C03292B */ jal func_800CA414
|
||||
/* 0C879C 800C7B9C 2404000E */ li $a0, 14
|
||||
/* 0C87A0 800C7BA0 10000004 */ b .L800C7BB4
|
||||
/* 0C87A4 800C7BA4 8FC90034 */ lw $t1, 0x34($fp)
|
||||
.L800C7BA8:
|
||||
/* 0C87A8 800C7BA8 0C030D16 */ jal func_800C3448
|
||||
/* 0C87AC 800C7BAC 34840010 */ ori $a0, (0x01640010 & 0xFFFF) # ori $a0, $a0, 0x10
|
||||
/* 0C87B0 800C7BB0 8FC90034 */ lw $t1, 0x34($fp)
|
||||
.L800C7BB4:
|
||||
/* 0C87B4 800C7BB4 10000116 */ b .L800C8010
|
||||
/* 0C87B8 800C7BB8 8D230000 */ lw $v1, ($t1)
|
||||
.L800C7BBC:
|
||||
/* 0C87BC 800C7BBC 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C87C0 800C7BC0 256BA1EC */ addiu $t3, $t3, -0x5e14
|
||||
/* 0C87C4 800C7BC4 240A0002 */ li $t2, 2
|
||||
/* 0C87C8 800C7BC8 008B1021 */ addu $v0, $a0, $t3
|
||||
/* 0C87CC 800C7BCC A04A0000 */ sb $t2, ($v0)
|
||||
/* 0C87D0 800C7BD0 3C051900 */ lui $a1, (0x1900F103 >> 16) # lui $a1, 0x1900
|
||||
/* 0C87D4 800C7BD4 34A5F103 */ ori $a1, (0x1900F103 & 0xFFFF) # ori $a1, $a1, 0xf103
|
||||
/* 0C87D8 800C7BD8 0C03243E */ jal func_800C9060
|
||||
/* 0C87DC 800C7BDC AFC20030 */ sw $v0, 0x30($fp)
|
||||
/* 0C87E0 800C7BE0 3C02800F */ lui $v0, %hi(D_800EA1C0) # $v0, 0x800f
|
||||
/* 0C87E4 800C7BE4 9042A2C0 */ lbu $v0, %lo(D_800EA1C0)($v0)
|
||||
/* 0C87E8 800C7BE8 24010001 */ li $at, 1
|
||||
/* 0C87EC 800C7BEC 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
|
||||
/* 0C87F0 800C7BF0 10410007 */ beq $v0, $at, .L800C7C10
|
||||
/* 0C87F4 800C7BF4 24010002 */ li $at, 2
|
||||
/* 0C87F8 800C7BF8 10410016 */ beq $v0, $at, .L800C7C54
|
||||
/* 0C87FC 800C7BFC 24010003 */ li $at, 3
|
||||
/* 0C8800 800C7C00 1041003C */ beq $v0, $at, .L800C7CF4
|
||||
/* 0C8804 800C7C04 00000000 */ nop
|
||||
/* 0C8808 800C7C08 10000074 */ b .L800C7DDC
|
||||
/* 0C880C 800C7C0C 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
.L800C7C10:
|
||||
/* 0C8810 800C7C10 0C030D16 */ jal func_800C3448
|
||||
/* 0C8814 800C7C14 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C8818 800C7C18 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
|
||||
/* 0C881C 800C7C1C 0C030D16 */ jal func_800C3448
|
||||
/* 0C8820 800C7C20 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C8824 800C7C24 0C032617 */ jal func_800C97C4
|
||||
/* 0C8828 800C7C28 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C882C 800C7C2C 240C0002 */ li $t4, 2
|
||||
/* 0C8830 800C7C30 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
|
||||
/* 0C8834 800C7C34 A02CA1F0 */ sb $t4, %lo(D_800EA0F0)($at)
|
||||
/* 0C8838 800C7C38 0C0326C8 */ jal func_800C9A88
|
||||
/* 0C883C 800C7C3C 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8840 800C7C40 2404000D */ li $a0, 13
|
||||
/* 0C8844 800C7C44 0C03292B */ jal func_800CA414
|
||||
/* 0C8848 800C7C48 24050017 */ li $a1, 23
|
||||
/* 0C884C 800C7C4C 10000063 */ b .L800C7DDC
|
||||
/* 0C8850 800C7C50 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
.L800C7C54:
|
||||
/* 0C8854 800C7C54 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f
|
||||
/* 0C8858 800C7C58 9042A204 */ lbu $v0, %lo(D_800EA104)($v0)
|
||||
/* 0C885C 800C7C5C 54400013 */ bnezl $v0, .L800C7CAC
|
||||
/* 0C8860 800C7C60 24010001 */ li $at, 1
|
||||
/* 0C8864 800C7C64 8FCD0030 */ lw $t5, 0x30($fp)
|
||||
/* 0C8868 800C7C68 24010001 */ li $at, 1
|
||||
/* 0C886C 800C7C6C 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
|
||||
/* 0C8870 800C7C70 91AE0000 */ lbu $t6, ($t5)
|
||||
/* 0C8874 800C7C74 55C1000D */ bnel $t6, $at, .L800C7CAC
|
||||
/* 0C8878 800C7C78 24010001 */ li $at, 1
|
||||
/* 0C887C 800C7C7C 0C030D16 */ jal func_800C3448
|
||||
/* 0C8880 800C7C80 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C8884 800C7C84 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
|
||||
/* 0C8888 800C7C88 0C030D16 */ jal func_800C3448
|
||||
/* 0C888C 800C7C8C 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C8890 800C7C90 0C0323E4 */ jal func_800C8EF8
|
||||
/* 0C8894 800C7C94 2404000D */ li $a0, 13
|
||||
/* 0C8898 800C7C98 240F0001 */ li $t7, 1
|
||||
/* 0C889C 800C7C9C 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
|
||||
/* 0C88A0 800C7CA0 1000004D */ b .L800C7DD8
|
||||
/* 0C88A4 800C7CA4 A02FA204 */ sb $t7, %lo(D_800EA104)($at)
|
||||
/* 0C88A8 800C7CA8 24010001 */ li $at, 1
|
||||
.L800C7CAC:
|
||||
/* 0C88AC 800C7CAC 5441004B */ bnel $v0, $at, .L800C7DDC
|
||||
/* 0C88B0 800C7CB0 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C88B4 800C7CB4 8FD80030 */ lw $t8, 0x30($fp)
|
||||
/* 0C88B8 800C7CB8 24010001 */ li $at, 1
|
||||
/* 0C88BC 800C7CBC 93190000 */ lbu $t9, ($t8)
|
||||
/* 0C88C0 800C7CC0 57210046 */ bnel $t9, $at, .L800C7DDC
|
||||
/* 0C88C4 800C7CC4 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C88C8 800C7CC8 0C0314C4 */ jal func_800C5278
|
||||
/* 0C88CC 800C7CCC 24040005 */ li $a0, 5
|
||||
/* 0C88D0 800C7CD0 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
|
||||
/* 0C88D4 800C7CD4 A020A204 */ sb $zero, %lo(D_800EA104)($at)
|
||||
/* 0C88D8 800C7CD8 2404000E */ li $a0, 14
|
||||
/* 0C88DC 800C7CDC 0C03292B */ jal func_800CA414
|
||||
/* 0C88E0 800C7CE0 24050017 */ li $a1, 23
|
||||
/* 0C88E4 800C7CE4 24080002 */ li $t0, 2
|
||||
/* 0C88E8 800C7CE8 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
|
||||
/* 0C88EC 800C7CEC 1000003A */ b .L800C7DD8
|
||||
/* 0C88F0 800C7CF0 A028A204 */ sb $t0, %lo(D_800EA104)($at)
|
||||
.L800C7CF4:
|
||||
/* 0C88F4 800C7CF4 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f
|
||||
/* 0C88F8 800C7CF8 9042A204 */ lbu $v0, %lo(D_800EA104)($v0)
|
||||
/* 0C88FC 800C7CFC 54400013 */ bnezl $v0, .L800C7D4C
|
||||
/* 0C8900 800C7D00 24010001 */ li $at, 1
|
||||
/* 0C8904 800C7D04 8FC30030 */ lw $v1, 0x30($fp)
|
||||
/* 0C8908 800C7D08 24010001 */ li $at, 1
|
||||
/* 0C890C 800C7D0C 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
|
||||
/* 0C8910 800C7D10 90690000 */ lbu $t1, ($v1)
|
||||
/* 0C8914 800C7D14 5521000D */ bnel $t1, $at, .L800C7D4C
|
||||
/* 0C8918 800C7D18 24010001 */ li $at, 1
|
||||
/* 0C891C 800C7D1C 0C030D16 */ jal func_800C3448
|
||||
/* 0C8920 800C7D20 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C8924 800C7D24 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
|
||||
/* 0C8928 800C7D28 0C030D16 */ jal func_800C3448
|
||||
/* 0C892C 800C7D2C 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C8930 800C7D30 0C0323E4 */ jal func_800C8EF8
|
||||
/* 0C8934 800C7D34 2404000D */ li $a0, 13
|
||||
/* 0C8938 800C7D38 240B0001 */ li $t3, 1
|
||||
/* 0C893C 800C7D3C 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
|
||||
/* 0C8940 800C7D40 10000025 */ b .L800C7DD8
|
||||
/* 0C8944 800C7D44 A02BA204 */ sb $t3, %lo(D_800EA104)($at)
|
||||
/* 0C8948 800C7D48 24010001 */ li $at, 1
|
||||
.L800C7D4C:
|
||||
/* 0C894C 800C7D4C 14410011 */ bne $v0, $at, .L800C7D94
|
||||
/* 0C8950 800C7D50 8FC30030 */ lw $v1, 0x30($fp)
|
||||
/* 0C8954 800C7D54 906A0000 */ lbu $t2, ($v1)
|
||||
/* 0C8958 800C7D58 24010001 */ li $at, 1
|
||||
/* 0C895C 800C7D5C 5541000E */ bnel $t2, $at, .L800C7D98
|
||||
/* 0C8960 800C7D60 24010002 */ li $at, 2
|
||||
/* 0C8964 800C7D64 0C030D46 */ jal func_800C3508
|
||||
/* 0C8968 800C7D68 24040001 */ li $a0, 1
|
||||
/* 0C896C 800C7D6C 2401000D */ li $at, 13
|
||||
/* 0C8970 800C7D70 10410004 */ beq $v0, $at, .L800C7D84
|
||||
/* 0C8974 800C7D74 2404000E */ li $a0, 14
|
||||
/* 0C8978 800C7D78 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
|
||||
/* 0C897C 800C7D7C 0C0323E4 */ jal func_800C8EF8
|
||||
/* 0C8980 800C7D80 A020A204 */ sb $zero, %lo(D_800EA104)($at)
|
||||
.L800C7D84:
|
||||
/* 0C8984 800C7D84 240C0002 */ li $t4, 2
|
||||
/* 0C8988 800C7D88 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
|
||||
/* 0C898C 800C7D8C 10000012 */ b .L800C7DD8
|
||||
/* 0C8990 800C7D90 A02CA204 */ sb $t4, %lo(D_800EA104)($at)
|
||||
.L800C7D94:
|
||||
/* 0C8994 800C7D94 24010002 */ li $at, 2
|
||||
.L800C7D98:
|
||||
/* 0C8998 800C7D98 54410010 */ bnel $v0, $at, .L800C7DDC
|
||||
/* 0C899C 800C7D9C 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C89A0 800C7DA0 906D0000 */ lbu $t5, ($v1)
|
||||
/* 0C89A4 800C7DA4 24010001 */ li $at, 1
|
||||
/* 0C89A8 800C7DA8 55A1000C */ bnel $t5, $at, .L800C7DDC
|
||||
/* 0C89AC 800C7DAC 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C89B0 800C7DB0 0C0314C4 */ jal func_800C5278
|
||||
/* 0C89B4 800C7DB4 24040005 */ li $a0, 5
|
||||
/* 0C89B8 800C7DB8 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
|
||||
/* 0C89BC 800C7DBC A020A204 */ sb $zero, %lo(D_800EA104)($at)
|
||||
/* 0C89C0 800C7DC0 2404000E */ li $a0, 14
|
||||
/* 0C89C4 800C7DC4 0C03292B */ jal func_800CA414
|
||||
/* 0C89C8 800C7DC8 24050017 */ li $a1, 23
|
||||
/* 0C89CC 800C7DCC 240E0003 */ li $t6, 3
|
||||
/* 0C89D0 800C7DD0 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
|
||||
/* 0C89D4 800C7DD4 A02EA204 */ sb $t6, %lo(D_800EA104)($at)
|
||||
.L800C7DD8:
|
||||
/* 0C89D8 800C7DD8 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
.L800C7DDC:
|
||||
/* 0C89DC 800C7DDC 1000008C */ b .L800C8010
|
||||
/* 0C89E0 800C7DE0 8DE30000 */ lw $v1, ($t7)
|
||||
.L800C7DE4:
|
||||
/* 0C89E4 800C7DE4 3C02800F */ lui $v0, %hi(D_800EA1C0) # $v0, 0x800f
|
||||
/* 0C89E8 800C7DE8 9042A2C0 */ lbu $v0, %lo(D_800EA1C0)($v0)
|
||||
/* 0C89EC 800C7DEC 24010002 */ li $at, 2
|
||||
/* 0C89F0 800C7DF0 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
|
||||
/* 0C89F4 800C7DF4 10470007 */ beq $v0, $a3, .L800C7E14
|
||||
/* 0C89F8 800C7DF8 00000000 */ nop
|
||||
/* 0C89FC 800C7DFC 1041002A */ beq $v0, $at, .L800C7EA8
|
||||
/* 0C8A00 800C7E00 24010003 */ li $at, 3
|
||||
/* 0C8A04 800C7E04 10410053 */ beq $v0, $at, .L800C7F54
|
||||
/* 0C8A08 800C7E08 3C19800F */ lui $t9, 0x800f
|
||||
/* 0C8A0C 800C7E0C 1000007F */ b .L800C800C
|
||||
/* 0C8A10 800C7E10 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
.L800C7E14:
|
||||
/* 0C8A14 800C7E14 0C030D16 */ jal func_800C3448
|
||||
/* 0C8A18 800C7E18 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C8A1C 800C7E1C 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
|
||||
/* 0C8A20 800C7E20 0C030D16 */ jal func_800C3448
|
||||
/* 0C8A24 800C7E24 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C8A28 800C7E28 0C0314C4 */ jal func_800C5278
|
||||
/* 0C8A2C 800C7E2C 24040005 */ li $a0, 5
|
||||
/* 0C8A30 800C7E30 3C050100 */ lui $a1, (0x0100F926 >> 16) # lui $a1, 0x100
|
||||
/* 0C8A34 800C7E34 34A5F926 */ ori $a1, (0x0100F926 & 0xFFFF) # ori $a1, $a1, 0xf926
|
||||
/* 0C8A38 800C7E38 0C03242C */ jal func_800C9018
|
||||
/* 0C8A3C 800C7E3C 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8A40 800C7E40 0C0323E4 */ jal func_800C8EF8
|
||||
/* 0C8A44 800C7E44 24040017 */ li $a0, 23
|
||||
/* 0C8A48 800C7E48 3C19800E */ lui $t9, %hi(gPlayerWinningIndex) # $t9, 0x800e
|
||||
/* 0C8A4C 800C7E4C 8F39C678 */ lw $t9, %lo(gPlayerWinningIndex)($t9)
|
||||
/* 0C8A50 800C7E50 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8A54 800C7E54 3C05800F */ lui $a1, 0x800f
|
||||
/* 0C8A58 800C7E58 001940C0 */ sll $t0, $t9, 3
|
||||
/* 0C8A5C 800C7E5C 01194023 */ subu $t0, $t0, $t9
|
||||
/* 0C8A60 800C7E60 00084100 */ sll $t0, $t0, 4
|
||||
/* 0C8A64 800C7E64 01194023 */ subu $t0, $t0, $t9
|
||||
/* 0C8A68 800C7E68 00084080 */ sll $t0, $t0, 2
|
||||
/* 0C8A6C 800C7E6C 01194023 */ subu $t0, $t0, $t9
|
||||
/* 0C8A70 800C7E70 000840C0 */ sll $t0, $t0, 3
|
||||
/* 0C8A74 800C7E74 3C01800F */ lui $at, 0x800f
|
||||
/* 0C8A78 800C7E78 00A82821 */ addu $a1, $a1, $t0
|
||||
/* 0C8A7C 800C7E7C 94A56D24 */ lhu $a1, 0x6d24($a1)
|
||||
/* 0C8A80 800C7E80 24180002 */ li $t8, 2
|
||||
/* 0C8A84 800C7E84 00240821 */ addu $at, $at, $a0
|
||||
/* 0C8A88 800C7E88 A038A1EC */ sb $t8, -0x5e14($at)
|
||||
/* 0C8A8C 800C7E8C 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900
|
||||
/* 0C8A90 800C7E90 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d
|
||||
/* 0C8A94 800C7E94 00054900 */ sll $t1, $a1, 4
|
||||
/* 0C8A98 800C7E98 0C032463 */ jal func_800C90F4
|
||||
/* 0C8A9C 800C7E9C 01212821 */ addu $a1, $t1, $at
|
||||
/* 0C8AA0 800C7EA0 1000005A */ b .L800C800C
|
||||
/* 0C8AA4 800C7EA4 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
.L800C7EA8:
|
||||
/* 0C8AA8 800C7EA8 3C02800F */ lui $v0, %hi(D_800EA0EC) # $v0, 0x800f
|
||||
/* 0C8AAC 800C7EAC 2442A1EC */ addiu $v0, %lo(D_800EA0EC) # addiu $v0, $v0, -0x5e14
|
||||
/* 0C8AB0 800C7EB0 904B0000 */ lbu $t3, ($v0)
|
||||
/* 0C8AB4 800C7EB4 54EB0055 */ bnel $a3, $t3, .L800C800C
|
||||
/* 0C8AB8 800C7EB8 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C8ABC 800C7EBC 904A0001 */ lbu $t2, 1($v0)
|
||||
/* 0C8AC0 800C7EC0 54EA0052 */ bnel $a3, $t2, .L800C800C
|
||||
/* 0C8AC4 800C7EC4 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C8AC8 800C7EC8 904C0002 */ lbu $t4, 2($v0)
|
||||
/* 0C8ACC 800C7ECC 54EC004F */ bnel $a3, $t4, .L800C800C
|
||||
/* 0C8AD0 800C7ED0 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C8AD4 800C7ED4 0C0314C4 */ jal func_800C5278
|
||||
/* 0C8AD8 800C7ED8 24040005 */ li $a0, 5
|
||||
/* 0C8ADC 800C7EDC 3C050100 */ lui $a1, (0x01008026 >> 16) # lui $a1, 0x100
|
||||
/* 0C8AE0 800C7EE0 34A58026 */ ori $a1, (0x01008026 & 0xFFFF) # ori $a1, $a1, 0x8026
|
||||
/* 0C8AE4 800C7EE4 0C03242C */ jal func_800C9018
|
||||
/* 0C8AE8 800C7EE8 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8AEC 800C7EEC 0C0323E4 */ jal func_800C8EF8
|
||||
/* 0C8AF0 800C7EF0 24040017 */ li $a0, 23
|
||||
/* 0C8AF4 800C7EF4 3C0E800E */ lui $t6, %hi(gPlayerWinningIndex) # $t6, 0x800e
|
||||
/* 0C8AF8 800C7EF8 8DCEC678 */ lw $t6, %lo(gPlayerWinningIndex)($t6)
|
||||
/* 0C8AFC 800C7EFC 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8B00 800C7F00 3C05800F */ lui $a1, 0x800f
|
||||
/* 0C8B04 800C7F04 000E78C0 */ sll $t7, $t6, 3
|
||||
/* 0C8B08 800C7F08 01EE7823 */ subu $t7, $t7, $t6
|
||||
/* 0C8B0C 800C7F0C 000F7900 */ sll $t7, $t7, 4
|
||||
/* 0C8B10 800C7F10 01EE7823 */ subu $t7, $t7, $t6
|
||||
/* 0C8B14 800C7F14 000F7880 */ sll $t7, $t7, 2
|
||||
/* 0C8B18 800C7F18 01EE7823 */ subu $t7, $t7, $t6
|
||||
/* 0C8B1C 800C7F1C 000F78C0 */ sll $t7, $t7, 3
|
||||
/* 0C8B20 800C7F20 3C01800F */ lui $at, 0x800f
|
||||
/* 0C8B24 800C7F24 00AF2821 */ addu $a1, $a1, $t7
|
||||
/* 0C8B28 800C7F28 94A56D24 */ lhu $a1, 0x6d24($a1)
|
||||
/* 0C8B2C 800C7F2C 240D0002 */ li $t5, 2
|
||||
/* 0C8B30 800C7F30 00240821 */ addu $at, $at, $a0
|
||||
/* 0C8B34 800C7F34 A02DA1EC */ sb $t5, -0x5e14($at)
|
||||
/* 0C8B38 800C7F38 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900
|
||||
/* 0C8B3C 800C7F3C 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d
|
||||
/* 0C8B40 800C7F40 0005C100 */ sll $t8, $a1, 4
|
||||
/* 0C8B44 800C7F44 0C032463 */ jal func_800C90F4
|
||||
/* 0C8B48 800C7F48 03012821 */ addu $a1, $t8, $at
|
||||
/* 0C8B4C 800C7F4C 1000002F */ b .L800C800C
|
||||
/* 0C8B50 800C7F50 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
.L800C7F54:
|
||||
/* 0C8B54 800C7F54 9339A1EC */ lbu $t9, -0x5e14($t9)
|
||||
/* 0C8B58 800C7F58 3C08800F */ lui $t0, %hi(D_800EA0ED) # $t0, 0x800f
|
||||
/* 0C8B5C 800C7F5C 54F9002B */ bnel $a3, $t9, .L800C800C
|
||||
/* 0C8B60 800C7F60 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C8B64 800C7F64 9108A1ED */ lbu $t0, %lo(D_800EA0ED)($t0)
|
||||
/* 0C8B68 800C7F68 3C09800F */ lui $t1, %hi(D_800EA0EE) # $t1, 0x800f
|
||||
/* 0C8B6C 800C7F6C 54E80027 */ bnel $a3, $t0, .L800C800C
|
||||
/* 0C8B70 800C7F70 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C8B74 800C7F74 9129A1EE */ lbu $t1, %lo(D_800EA0EE)($t1)
|
||||
/* 0C8B78 800C7F78 3C0B800F */ lui $t3, %hi(D_800EA0EF) # $t3, 0x800f
|
||||
/* 0C8B7C 800C7F7C 54E90023 */ bnel $a3, $t1, .L800C800C
|
||||
/* 0C8B80 800C7F80 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C8B84 800C7F84 916BA1EF */ lbu $t3, %lo(D_800EA0EF)($t3)
|
||||
/* 0C8B88 800C7F88 54EB0020 */ bnel $a3, $t3, .L800C800C
|
||||
/* 0C8B8C 800C7F8C 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C8B90 800C7F90 0C0314C4 */ jal func_800C5278
|
||||
/* 0C8B94 800C7F94 24040005 */ li $a0, 5
|
||||
/* 0C8B98 800C7F98 3C050100 */ lui $a1, (0x01008026 >> 16) # lui $a1, 0x100
|
||||
/* 0C8B9C 800C7F9C 34A58026 */ ori $a1, (0x01008026 & 0xFFFF) # ori $a1, $a1, 0x8026
|
||||
/* 0C8BA0 800C7FA0 0C03242C */ jal func_800C9018
|
||||
/* 0C8BA4 800C7FA4 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8BA8 800C7FA8 0C0323E4 */ jal func_800C8EF8
|
||||
/* 0C8BAC 800C7FAC 24040017 */ li $a0, 23
|
||||
/* 0C8BB0 800C7FB0 3C0C800E */ lui $t4, %hi(gPlayerWinningIndex) # $t4, 0x800e
|
||||
/* 0C8BB4 800C7FB4 8D8CC678 */ lw $t4, %lo(gPlayerWinningIndex)($t4)
|
||||
/* 0C8BB8 800C7FB8 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8BBC 800C7FBC 3C05800F */ lui $a1, 0x800f
|
||||
/* 0C8BC0 800C7FC0 000C68C0 */ sll $t5, $t4, 3
|
||||
/* 0C8BC4 800C7FC4 01AC6823 */ subu $t5, $t5, $t4
|
||||
/* 0C8BC8 800C7FC8 000D6900 */ sll $t5, $t5, 4
|
||||
/* 0C8BCC 800C7FCC 01AC6823 */ subu $t5, $t5, $t4
|
||||
/* 0C8BD0 800C7FD0 000D6880 */ sll $t5, $t5, 2
|
||||
/* 0C8BD4 800C7FD4 01AC6823 */ subu $t5, $t5, $t4
|
||||
/* 0C8BD8 800C7FD8 000D68C0 */ sll $t5, $t5, 3
|
||||
/* 0C8BDC 800C7FDC 3C01800F */ lui $at, 0x800f
|
||||
/* 0C8BE0 800C7FE0 00AD2821 */ addu $a1, $a1, $t5
|
||||
/* 0C8BE4 800C7FE4 94A56D24 */ lhu $a1, 0x6d24($a1)
|
||||
/* 0C8BE8 800C7FE8 240A0002 */ li $t2, 2
|
||||
/* 0C8BEC 800C7FEC 00240821 */ addu $at, $at, $a0
|
||||
/* 0C8BF0 800C7FF0 A02AA1EC */ sb $t2, -0x5e14($at)
|
||||
/* 0C8BF4 800C7FF4 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900
|
||||
/* 0C8BF8 800C7FF8 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d
|
||||
/* 0C8BFC 800C7FFC 00057100 */ sll $t6, $a1, 4
|
||||
/* 0C8C00 800C8000 0C032463 */ jal func_800C90F4
|
||||
/* 0C8C04 800C8004 01C12821 */ addu $a1, $t6, $at
|
||||
/* 0C8C08 800C8008 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
.L800C800C:
|
||||
/* 0C8C0C 800C800C 8DE30000 */ lw $v1, ($t7)
|
||||
.L800C8010:
|
||||
/* 0C8C10 800C8010 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e
|
||||
/* 0C8C14 800C8014 2401001E */ li $at, 30
|
||||
/* 0C8C18 800C8018 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8C1C 800C801C 24070001 */ li $a3, 1
|
||||
/* 0C8C20 800C8020 14610093 */ bne $v1, $at, .L800C8270
|
||||
/* 0C8C24 800C8024 8C42C5CC */ lw $v0, %lo(gModeSelection)($v0)
|
||||
/* 0C8C28 800C8028 1040000B */ beqz $v0, .L800C8058
|
||||
/* 0C8C2C 800C802C 0004C0C0 */ sll $t8, $a0, 3
|
||||
/* 0C8C30 800C8030 10470059 */ beq $v0, $a3, .L800C8198
|
||||
/* 0C8C34 800C8034 3C0B8016 */ lui $t3, %hi(D_801657E5) # $t3, 0x8016
|
||||
/* 0C8C38 800C8038 24010002 */ li $at, 2
|
||||
/* 0C8C3C 800C803C 1041003A */ beq $v0, $at, .L800C8128
|
||||
/* 0C8C40 800C8040 000478C0 */ sll $t7, $a0, 3
|
||||
/* 0C8C44 800C8044 24010003 */ li $at, 3
|
||||
/* 0C8C48 800C8048 10410089 */ beq $v0, $at, .L800C8270
|
||||
/* 0C8C4C 800C804C 00000000 */ nop
|
||||
/* 0C8C50 800C8050 10000087 */ b .L800C8270
|
||||
/* 0C8C54 800C8054 00000000 */ nop
|
||||
.L800C8058:
|
||||
/* 0C8C58 800C8058 0304C023 */ subu $t8, $t8, $a0
|
||||
/* 0C8C5C 800C805C 0018C100 */ sll $t8, $t8, 4
|
||||
/* 0C8C60 800C8060 0304C023 */ subu $t8, $t8, $a0
|
||||
/* 0C8C64 800C8064 0018C080 */ sll $t8, $t8, 2
|
||||
/* 0C8C68 800C8068 0304C023 */ subu $t8, $t8, $a0
|
||||
/* 0C8C6C 800C806C 3C19800F */ lui $t9, %hi(gPlayers) # $t9, 0x800f
|
||||
/* 0C8C70 800C8070 27396AD0 */ addiu $t9, %lo(gPlayers) # addiu $t9, $t9, 0x6ad0
|
||||
/* 0C8C74 800C8074 0018C0C0 */ sll $t8, $t8, 3
|
||||
/* 0C8C78 800C8078 03191821 */ addu $v1, $t8, $t9
|
||||
/* 0C8C7C 800C807C 84620004 */ lh $v0, 4($v1)
|
||||
/* 0C8C80 800C8080 3C08800F */ lui $t0, %hi(D_800EA0EC) # $t0, 0x800f
|
||||
/* 0C8C84 800C8084 2508A1EC */ addiu $t0, %lo(D_800EA0EC) # addiu $t0, $t0, -0x5e14
|
||||
/* 0C8C88 800C8088 1440000C */ bnez $v0, .L800C80BC
|
||||
/* 0C8C8C 800C808C 00883021 */ addu $a2, $a0, $t0
|
||||
/* 0C8C90 800C8090 94650254 */ lhu $a1, 0x254($v1)
|
||||
/* 0C8C94 800C8094 24090002 */ li $t1, 2
|
||||
/* 0C8C98 800C8098 3C012900 */ lui $at, (0x29008007 >> 16) # lui $at, 0x2900
|
||||
/* 0C8C9C 800C809C A0C90000 */ sb $t1, ($a2)
|
||||
/* 0C8CA0 800C80A0 34218007 */ ori $at, (0x29008007 & 0xFFFF) # ori $at, $at, 0x8007
|
||||
/* 0C8CA4 800C80A4 00055900 */ sll $t3, $a1, 4
|
||||
/* 0C8CA8 800C80A8 01612821 */ addu $a1, $t3, $at
|
||||
/* 0C8CAC 800C80AC 0C032463 */ jal func_800C90F4
|
||||
/* 0C8CB0 800C80B0 A3C40043 */ sb $a0, 0x43($fp)
|
||||
/* 0C8CB4 800C80B4 10000017 */ b .L800C8114
|
||||
/* 0C8CB8 800C80B8 00000000 */ nop
|
||||
.L800C80BC:
|
||||
/* 0C8CBC 800C80BC 28410004 */ slti $at, $v0, 4
|
||||
/* 0C8CC0 800C80C0 1020000C */ beqz $at, .L800C80F4
|
||||
/* 0C8CC4 800C80C4 240D0002 */ li $t5, 2
|
||||
/* 0C8CC8 800C80C8 94650254 */ lhu $a1, 0x254($v1)
|
||||
/* 0C8CCC 800C80CC 240A0002 */ li $t2, 2
|
||||
/* 0C8CD0 800C80D0 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900
|
||||
/* 0C8CD4 800C80D4 A0CA0000 */ sb $t2, ($a2)
|
||||
/* 0C8CD8 800C80D8 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d
|
||||
/* 0C8CDC 800C80DC 00056100 */ sll $t4, $a1, 4
|
||||
/* 0C8CE0 800C80E0 01812821 */ addu $a1, $t4, $at
|
||||
/* 0C8CE4 800C80E4 0C032463 */ jal func_800C90F4
|
||||
/* 0C8CE8 800C80E8 A3C40043 */ sb $a0, 0x43($fp)
|
||||
/* 0C8CEC 800C80EC 10000009 */ b .L800C8114
|
||||
/* 0C8CF0 800C80F0 00000000 */ nop
|
||||
.L800C80F4:
|
||||
/* 0C8CF4 800C80F4 94650254 */ lhu $a1, 0x254($v1)
|
||||
/* 0C8CF8 800C80F8 3C012900 */ lui $at, (0x29008003 >> 16) # lui $at, 0x2900
|
||||
/* 0C8CFC 800C80FC A0CD0000 */ sb $t5, ($a2)
|
||||
/* 0C8D00 800C8100 34218003 */ ori $at, (0x29008003 & 0xFFFF) # ori $at, $at, 0x8003
|
||||
/* 0C8D04 800C8104 00057100 */ sll $t6, $a1, 4
|
||||
/* 0C8D08 800C8108 01C12821 */ addu $a1, $t6, $at
|
||||
/* 0C8D0C 800C810C 0C032463 */ jal func_800C90F4
|
||||
/* 0C8D10 800C8110 A3C40043 */ sb $a0, 0x43($fp)
|
||||
.L800C8114:
|
||||
/* 0C8D14 800C8114 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e
|
||||
/* 0C8D18 800C8118 8C42C5CC */ lw $v0, %lo(gModeSelection)($v0)
|
||||
/* 0C8D1C 800C811C 24070001 */ li $a3, 1
|
||||
/* 0C8D20 800C8120 10000053 */ b .L800C8270
|
||||
/* 0C8D24 800C8124 93C40043 */ lbu $a0, 0x43($fp)
|
||||
.L800C8128:
|
||||
/* 0C8D28 800C8128 01E47823 */ subu $t7, $t7, $a0
|
||||
/* 0C8D2C 800C812C 000F7900 */ sll $t7, $t7, 4
|
||||
/* 0C8D30 800C8130 01E47823 */ subu $t7, $t7, $a0
|
||||
/* 0C8D34 800C8134 000F7880 */ sll $t7, $t7, 2
|
||||
/* 0C8D38 800C8138 01E47823 */ subu $t7, $t7, $a0
|
||||
/* 0C8D3C 800C813C 3C18800F */ lui $t8, %hi(gPlayers) # $t8, 0x800f
|
||||
/* 0C8D40 800C8140 27186AD0 */ addiu $t8, %lo(gPlayers) # addiu $t8, $t8, 0x6ad0
|
||||
/* 0C8D44 800C8144 000F78C0 */ sll $t7, $t7, 3
|
||||
/* 0C8D48 800C8148 01F81821 */ addu $v1, $t7, $t8
|
||||
/* 0C8D4C 800C814C A3C40043 */ sb $a0, 0x43($fp)
|
||||
/* 0C8D50 800C8150 84790004 */ lh $t9, 4($v1)
|
||||
/* 0C8D54 800C8154 3C01800F */ lui $at, 0x800f
|
||||
/* 0C8D58 800C8158 00240821 */ addu $at, $at, $a0
|
||||
/* 0C8D5C 800C815C 1720000C */ bnez $t9, .L800C8190
|
||||
/* 0C8D60 800C8160 24080002 */ li $t0, 2
|
||||
/* 0C8D64 800C8164 A028A1EC */ sb $t0, -0x5e14($at)
|
||||
/* 0C8D68 800C8168 94650254 */ lhu $a1, 0x254($v1)
|
||||
/* 0C8D6C 800C816C 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900
|
||||
/* 0C8D70 800C8170 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d
|
||||
/* 0C8D74 800C8174 00054900 */ sll $t1, $a1, 4
|
||||
/* 0C8D78 800C8178 01212821 */ addu $a1, $t1, $at
|
||||
/* 0C8D7C 800C817C 0C032463 */ jal func_800C90F4
|
||||
/* 0C8D80 800C8180 A3C40043 */ sb $a0, 0x43($fp)
|
||||
/* 0C8D84 800C8184 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e
|
||||
/* 0C8D88 800C8188 8C42C5CC */ lw $v0, %lo(gModeSelection)($v0)
|
||||
/* 0C8D8C 800C818C 24070001 */ li $a3, 1
|
||||
.L800C8190:
|
||||
/* 0C8D90 800C8190 10000037 */ b .L800C8270
|
||||
/* 0C8D94 800C8194 93C40043 */ lbu $a0, 0x43($fp)
|
||||
.L800C8198:
|
||||
/* 0C8D98 800C8198 816B5925 */ lb $t3, %lo(D_801657E5)($t3)
|
||||
/* 0C8D9C 800C819C 240A0002 */ li $t2, 2
|
||||
/* 0C8DA0 800C81A0 3C01800F */ lui $at, 0x800f
|
||||
/* 0C8DA4 800C81A4 14EB0017 */ bne $a3, $t3, .L800C8204
|
||||
/* 0C8DA8 800C81A8 3C0E8019 */ lui $t6, %hi(D_8018ED90) # $t6, 0x8019
|
||||
/* 0C8DAC 800C81AC 000460C0 */ sll $t4, $a0, 3
|
||||
/* 0C8DB0 800C81B0 01846023 */ subu $t4, $t4, $a0
|
||||
/* 0C8DB4 800C81B4 000C6100 */ sll $t4, $t4, 4
|
||||
/* 0C8DB8 800C81B8 01846023 */ subu $t4, $t4, $a0
|
||||
/* 0C8DBC 800C81BC 000C6080 */ sll $t4, $t4, 2
|
||||
/* 0C8DC0 800C81C0 01846023 */ subu $t4, $t4, $a0
|
||||
/* 0C8DC4 800C81C4 000C60C0 */ sll $t4, $t4, 3
|
||||
/* 0C8DC8 800C81C8 3C05800F */ lui $a1, 0x800f
|
||||
/* 0C8DCC 800C81CC 00AC2821 */ addu $a1, $a1, $t4
|
||||
/* 0C8DD0 800C81D0 94A56D24 */ lhu $a1, 0x6d24($a1)
|
||||
/* 0C8DD4 800C81D4 00240821 */ addu $at, $at, $a0
|
||||
/* 0C8DD8 800C81D8 A02AA1EC */ sb $t2, -0x5e14($at)
|
||||
/* 0C8DDC 800C81DC 3C012900 */ lui $at, (0x29008007 >> 16) # lui $at, 0x2900
|
||||
/* 0C8DE0 800C81E0 34218007 */ ori $at, (0x29008007 & 0xFFFF) # ori $at, $at, 0x8007
|
||||
/* 0C8DE4 800C81E4 00056900 */ sll $t5, $a1, 4
|
||||
/* 0C8DE8 800C81E8 01A12821 */ addu $a1, $t5, $at
|
||||
/* 0C8DEC 800C81EC 0C032463 */ jal func_800C90F4
|
||||
/* 0C8DF0 800C81F0 A3C40043 */ sb $a0, 0x43($fp)
|
||||
/* 0C8DF4 800C81F4 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e
|
||||
/* 0C8DF8 800C81F8 8C42C5CC */ lw $v0, %lo(gModeSelection)($v0)
|
||||
/* 0C8DFC 800C81FC 1000001B */ b .L800C826C
|
||||
/* 0C8E00 800C8200 24070001 */ li $a3, 1
|
||||
.L800C8204:
|
||||
/* 0C8E04 800C8204 A3C40043 */ sb $a0, 0x43($fp)
|
||||
/* 0C8E08 800C8208 91CEEED0 */ lbu $t6, %lo(D_8018ED90)($t6)
|
||||
/* 0C8E0C 800C820C 3C01800F */ lui $at, 0x800f
|
||||
/* 0C8E10 800C8210 00240821 */ addu $at, $at, $a0
|
||||
/* 0C8E14 800C8214 14EE0015 */ bne $a3, $t6, .L800C826C
|
||||
/* 0C8E18 800C8218 240F0002 */ li $t7, 2
|
||||
/* 0C8E1C 800C821C 0004C0C0 */ sll $t8, $a0, 3
|
||||
/* 0C8E20 800C8220 0304C023 */ subu $t8, $t8, $a0
|
||||
/* 0C8E24 800C8224 0018C100 */ sll $t8, $t8, 4
|
||||
/* 0C8E28 800C8228 0304C023 */ subu $t8, $t8, $a0
|
||||
/* 0C8E2C 800C822C 0018C080 */ sll $t8, $t8, 2
|
||||
/* 0C8E30 800C8230 0304C023 */ subu $t8, $t8, $a0
|
||||
/* 0C8E34 800C8234 0018C0C0 */ sll $t8, $t8, 3
|
||||
/* 0C8E38 800C8238 3C05800F */ lui $a1, 0x800f
|
||||
/* 0C8E3C 800C823C 00B82821 */ addu $a1, $a1, $t8
|
||||
/* 0C8E40 800C8240 94A56D24 */ lhu $a1, 0x6d24($a1)
|
||||
/* 0C8E44 800C8244 A02FA1EC */ sb $t7, -0x5e14($at)
|
||||
/* 0C8E48 800C8248 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900
|
||||
/* 0C8E4C 800C824C 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d
|
||||
/* 0C8E50 800C8250 0005C900 */ sll $t9, $a1, 4
|
||||
/* 0C8E54 800C8254 03212821 */ addu $a1, $t9, $at
|
||||
/* 0C8E58 800C8258 0C032463 */ jal func_800C90F4
|
||||
/* 0C8E5C 800C825C A3C40043 */ sb $a0, 0x43($fp)
|
||||
/* 0C8E60 800C8260 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e
|
||||
/* 0C8E64 800C8264 8C42C5CC */ lw $v0, %lo(gModeSelection)($v0)
|
||||
/* 0C8E68 800C8268 24070001 */ li $a3, 1
|
||||
.L800C826C:
|
||||
/* 0C8E6C 800C826C 93C40043 */ lbu $a0, 0x43($fp)
|
||||
.L800C8270:
|
||||
/* 0C8E70 800C8270 1040000A */ beqz $v0, .L800C829C
|
||||
/* 0C8E74 800C8274 000440C0 */ sll $t0, $a0, 3
|
||||
/* 0C8E78 800C8278 10470078 */ beq $v0, $a3, .L800C845C
|
||||
/* 0C8E7C 800C827C 24010002 */ li $at, 2
|
||||
/* 0C8E80 800C8280 1041004D */ beq $v0, $at, .L800C83B8
|
||||
/* 0C8E84 800C8284 3C0E800F */ lui $t6, %hi(D_800EA1C0) # $t6, 0x800f
|
||||
/* 0C8E88 800C8288 24010003 */ li $at, 3
|
||||
/* 0C8E8C 800C828C 50410089 */ beql $v0, $at, .L800C84B4
|
||||
/* 0C8E90 800C8290 8FC90034 */ lw $t1, 0x34($fp)
|
||||
/* 0C8E94 800C8294 1000009B */ b .L800C8504
|
||||
/* 0C8E98 800C8298 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
.L800C829C:
|
||||
/* 0C8E9C 800C829C 01044023 */ subu $t0, $t0, $a0
|
||||
/* 0C8EA0 800C82A0 00084100 */ sll $t0, $t0, 4
|
||||
/* 0C8EA4 800C82A4 01044023 */ subu $t0, $t0, $a0
|
||||
/* 0C8EA8 800C82A8 00084080 */ sll $t0, $t0, 2
|
||||
/* 0C8EAC 800C82AC 01044023 */ subu $t0, $t0, $a0
|
||||
/* 0C8EB0 800C82B0 000840C0 */ sll $t0, $t0, 3
|
||||
/* 0C8EB4 800C82B4 3C02800F */ lui $v0, 0x800f
|
||||
/* 0C8EB8 800C82B8 00481021 */ addu $v0, $v0, $t0
|
||||
/* 0C8EBC 800C82BC 84426AD4 */ lh $v0, 0x6ad4($v0)
|
||||
/* 0C8EC0 800C82C0 8FC90034 */ lw $t1, 0x34($fp)
|
||||
/* 0C8EC4 800C82C4 14400014 */ bnez $v0, .L800C8318
|
||||
/* 0C8EC8 800C82C8 8D230000 */ lw $v1, ($t1)
|
||||
/* 0C8ECC 800C82CC 2861015F */ slti $at, $v1, 0x15f
|
||||
/* 0C8ED0 800C82D0 14200007 */ bnez $at, .L800C82F0
|
||||
/* 0C8ED4 800C82D4 2401015F */ li $at, 351
|
||||
/* 0C8ED8 800C82D8 5461008A */ bnel $v1, $at, .L800C8504
|
||||
/* 0C8EDC 800C82DC 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
/* 0C8EE0 800C82E0 0C032769 */ jal func_800C9D0C
|
||||
/* 0C8EE4 800C82E4 00000000 */ nop
|
||||
/* 0C8EE8 800C82E8 10000086 */ b .L800C8504
|
||||
/* 0C8EEC 800C82EC 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
.L800C82F0:
|
||||
/* 0C8EF0 800C82F0 44832000 */ mtc1 $v1, $f4
|
||||
/* 0C8EF4 800C82F4 3C0143C8 */ li $at, 0x43C80000 # 400.000000
|
||||
/* 0C8EF8 800C82F8 44814000 */ mtc1 $at, $f8
|
||||
/* 0C8EFC 800C82FC 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 0C8F00 800C8300 8FCB0038 */ lw $t3, 0x38($fp)
|
||||
/* 0C8F04 800C8304 3C01800F */ lui $at, 0x800f
|
||||
/* 0C8F08 800C8308 002B0821 */ addu $at, $at, $t3
|
||||
/* 0C8F0C 800C830C 46083283 */ div.s $f10, $f6, $f8
|
||||
/* 0C8F10 800C8310 1000007B */ b .L800C8500
|
||||
/* 0C8F14 800C8314 E42AA230 */ swc1 $f10, -0x5dd0($at)
|
||||
.L800C8318:
|
||||
/* 0C8F18 800C8318 28410004 */ slti $at, $v0, 4
|
||||
/* 0C8F1C 800C831C 10200013 */ beqz $at, .L800C836C
|
||||
/* 0C8F20 800C8320 2861015F */ slti $at, $v1, 0x15f
|
||||
/* 0C8F24 800C8324 14200007 */ bnez $at, .L800C8344
|
||||
/* 0C8F28 800C8328 2401015F */ li $at, 351
|
||||
/* 0C8F2C 800C832C 54610075 */ bnel $v1, $at, .L800C8504
|
||||
/* 0C8F30 800C8330 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
/* 0C8F34 800C8334 0C032769 */ jal func_800C9D0C
|
||||
/* 0C8F38 800C8338 00000000 */ nop
|
||||
/* 0C8F3C 800C833C 10000071 */ b .L800C8504
|
||||
/* 0C8F40 800C8340 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
.L800C8344:
|
||||
/* 0C8F44 800C8344 44838000 */ mtc1 $v1, $f16
|
||||
/* 0C8F48 800C8348 3C0143C8 */ li $at, 0x43C80000 # 400.000000
|
||||
/* 0C8F4C 800C834C 44812000 */ mtc1 $at, $f4
|
||||
/* 0C8F50 800C8350 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 0C8F54 800C8354 8FCA0038 */ lw $t2, 0x38($fp)
|
||||
/* 0C8F58 800C8358 3C01800F */ lui $at, 0x800f
|
||||
/* 0C8F5C 800C835C 002A0821 */ addu $at, $at, $t2
|
||||
/* 0C8F60 800C8360 46049183 */ div.s $f6, $f18, $f4
|
||||
/* 0C8F64 800C8364 10000066 */ b .L800C8500
|
||||
/* 0C8F68 800C8368 E426A230 */ swc1 $f6, -0x5dd0($at)
|
||||
.L800C836C:
|
||||
/* 0C8F6C 800C836C 2861012D */ slti $at, $v1, 0x12d
|
||||
/* 0C8F70 800C8370 14200007 */ bnez $at, .L800C8390
|
||||
/* 0C8F74 800C8374 2401012D */ li $at, 301
|
||||
/* 0C8F78 800C8378 54610062 */ bnel $v1, $at, .L800C8504
|
||||
/* 0C8F7C 800C837C 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
/* 0C8F80 800C8380 0C032617 */ jal func_800C97C4
|
||||
/* 0C8F84 800C8384 00000000 */ nop
|
||||
/* 0C8F88 800C8388 1000005E */ b .L800C8504
|
||||
/* 0C8F8C 800C838C 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
.L800C8390:
|
||||
/* 0C8F90 800C8390 44834000 */ mtc1 $v1, $f8
|
||||
/* 0C8F94 800C8394 3C0143A5 */ li $at, 0x43A50000 # 330.000000
|
||||
/* 0C8F98 800C8398 44818000 */ mtc1 $at, $f16
|
||||
/* 0C8F9C 800C839C 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 0C8FA0 800C83A0 8FCC0038 */ lw $t4, 0x38($fp)
|
||||
/* 0C8FA4 800C83A4 3C01800F */ lui $at, 0x800f
|
||||
/* 0C8FA8 800C83A8 002C0821 */ addu $at, $at, $t4
|
||||
/* 0C8FAC 800C83AC 46105483 */ div.s $f18, $f10, $f16
|
||||
/* 0C8FB0 800C83B0 10000053 */ b .L800C8500
|
||||
/* 0C8FB4 800C83B4 E432A230 */ swc1 $f18, -0x5dd0($at)
|
||||
.L800C83B8:
|
||||
/* 0C8FB8 800C83B8 91CEA2C0 */ lbu $t6, %lo(D_800EA1C0)($t6)
|
||||
/* 0C8FBC 800C83BC 8FCD0034 */ lw $t5, 0x34($fp)
|
||||
/* 0C8FC0 800C83C0 14EE0014 */ bne $a3, $t6, .L800C8414
|
||||
/* 0C8FC4 800C83C4 8DA30000 */ lw $v1, ($t5)
|
||||
/* 0C8FC8 800C83C8 28610065 */ slti $at, $v1, 0x65
|
||||
/* 0C8FCC 800C83CC 14200007 */ bnez $at, .L800C83EC
|
||||
/* 0C8FD0 800C83D0 24010065 */ li $at, 101
|
||||
/* 0C8FD4 800C83D4 54610022 */ bnel $v1, $at, .L800C8460
|
||||
/* 0C8FD8 800C83D8 8FD90034 */ lw $t9, 0x34($fp)
|
||||
/* 0C8FDC 800C83DC 0C032769 */ jal func_800C9D0C
|
||||
/* 0C8FE0 800C83E0 00000000 */ nop
|
||||
/* 0C8FE4 800C83E4 1000001E */ b .L800C8460
|
||||
/* 0C8FE8 800C83E8 8FD90034 */ lw $t9, 0x34($fp)
|
||||
.L800C83EC:
|
||||
/* 0C8FEC 800C83EC 44832000 */ mtc1 $v1, $f4
|
||||
/* 0C8FF0 800C83F0 3C0142F0 */ li $at, 0x42F00000 # 120.000000
|
||||
/* 0C8FF4 800C83F4 44814000 */ mtc1 $at, $f8
|
||||
/* 0C8FF8 800C83F8 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 0C8FFC 800C83FC 8FCF0038 */ lw $t7, 0x38($fp)
|
||||
/* 0C9000 800C8400 3C01800F */ lui $at, 0x800f
|
||||
/* 0C9004 800C8404 002F0821 */ addu $at, $at, $t7
|
||||
/* 0C9008 800C8408 46083283 */ div.s $f10, $f6, $f8
|
||||
/* 0C900C 800C840C 10000013 */ b .L800C845C
|
||||
/* 0C9010 800C8410 E42AA230 */ swc1 $f10, -0x5dd0($at)
|
||||
.L800C8414:
|
||||
/* 0C9014 800C8414 28610065 */ slti $at, $v1, 0x65
|
||||
/* 0C9018 800C8418 14200007 */ bnez $at, .L800C8438
|
||||
/* 0C901C 800C841C 24010065 */ li $at, 101
|
||||
/* 0C9020 800C8420 5461000F */ bnel $v1, $at, .L800C8460
|
||||
/* 0C9024 800C8424 8FD90034 */ lw $t9, 0x34($fp)
|
||||
/* 0C9028 800C8428 0C032617 */ jal func_800C97C4
|
||||
/* 0C902C 800C842C 00000000 */ nop
|
||||
/* 0C9030 800C8430 1000000B */ b .L800C8460
|
||||
/* 0C9034 800C8434 8FD90034 */ lw $t9, 0x34($fp)
|
||||
.L800C8438:
|
||||
/* 0C9038 800C8438 44838000 */ mtc1 $v1, $f16
|
||||
/* 0C903C 800C843C 3C0142F0 */ li $at, 0x42F00000 # 120.000000
|
||||
/* 0C9040 800C8440 44812000 */ mtc1 $at, $f4
|
||||
/* 0C9044 800C8444 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 0C9048 800C8448 8FD80038 */ lw $t8, 0x38($fp)
|
||||
/* 0C904C 800C844C 3C01800F */ lui $at, 0x800f
|
||||
/* 0C9050 800C8450 00380821 */ addu $at, $at, $t8
|
||||
/* 0C9054 800C8454 46049183 */ div.s $f6, $f18, $f4
|
||||
/* 0C9058 800C8458 E426A230 */ swc1 $f6, -0x5dd0($at)
|
||||
.L800C845C:
|
||||
/* 0C905C 800C845C 8FD90034 */ lw $t9, 0x34($fp)
|
||||
.L800C8460:
|
||||
/* 0C9060 800C8460 8F230000 */ lw $v1, ($t9)
|
||||
/* 0C9064 800C8464 2861012D */ slti $at, $v1, 0x12d
|
||||
/* 0C9068 800C8468 14200007 */ bnez $at, .L800C8488
|
||||
/* 0C906C 800C846C 2401012D */ li $at, 301
|
||||
/* 0C9070 800C8470 54610024 */ bnel $v1, $at, .L800C8504
|
||||
/* 0C9074 800C8474 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
/* 0C9078 800C8478 0C032769 */ jal func_800C9D0C
|
||||
/* 0C907C 800C847C 00002025 */ move $a0, $zero
|
||||
/* 0C9080 800C8480 10000020 */ b .L800C8504
|
||||
/* 0C9084 800C8484 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
.L800C8488:
|
||||
/* 0C9088 800C8488 44834000 */ mtc1 $v1, $f8
|
||||
/* 0C908C 800C848C 3C0143AF */ li $at, 0x43AF0000 # 350.000000
|
||||
/* 0C9090 800C8490 44818000 */ mtc1 $at, $f16
|
||||
/* 0C9094 800C8494 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 0C9098 800C8498 8FC80038 */ lw $t0, 0x38($fp)
|
||||
/* 0C909C 800C849C 3C01800F */ lui $at, 0x800f
|
||||
/* 0C90A0 800C84A0 00280821 */ addu $at, $at, $t0
|
||||
/* 0C90A4 800C84A4 46105483 */ div.s $f18, $f10, $f16
|
||||
/* 0C90A8 800C84A8 10000015 */ b .L800C8500
|
||||
/* 0C90AC 800C84AC E432A230 */ swc1 $f18, -0x5dd0($at)
|
||||
/* 0C90B0 800C84B0 8FC90034 */ lw $t1, 0x34($fp)
|
||||
.L800C84B4:
|
||||
/* 0C90B4 800C84B4 8D230000 */ lw $v1, ($t1)
|
||||
/* 0C90B8 800C84B8 28610065 */ slti $at, $v1, 0x65
|
||||
/* 0C90BC 800C84BC 14200007 */ bnez $at, .L800C84DC
|
||||
/* 0C90C0 800C84C0 24010065 */ li $at, 101
|
||||
/* 0C90C4 800C84C4 5461000F */ bnel $v1, $at, .L800C8504
|
||||
/* 0C90C8 800C84C8 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
/* 0C90CC 800C84CC 0C032617 */ jal func_800C97C4
|
||||
/* 0C90D0 800C84D0 00000000 */ nop
|
||||
/* 0C90D4 800C84D4 1000000B */ b .L800C8504
|
||||
/* 0C90D8 800C84D8 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
.L800C84DC:
|
||||
/* 0C90DC 800C84DC 44832000 */ mtc1 $v1, $f4
|
||||
/* 0C90E0 800C84E0 3C0142F0 */ li $at, 0x42F00000 # 120.000000
|
||||
/* 0C90E4 800C84E4 44814000 */ mtc1 $at, $f8
|
||||
/* 0C90E8 800C84E8 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 0C90EC 800C84EC 8FCB0038 */ lw $t3, 0x38($fp)
|
||||
/* 0C90F0 800C84F0 3C01800F */ lui $at, 0x800f
|
||||
/* 0C90F4 800C84F4 002B0821 */ addu $at, $at, $t3
|
||||
/* 0C90F8 800C84F8 46083283 */ div.s $f10, $f6, $f8
|
||||
/* 0C90FC 800C84FC E42AA230 */ swc1 $f10, -0x5dd0($at)
|
||||
.L800C8500:
|
||||
/* 0C9100 800C8500 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
.L800C8504:
|
||||
/* 0C9104 800C8504 03C0E825 */ move $sp, $fp
|
||||
/* 0C9108 800C8508 8FDE0028 */ lw $fp, 0x28($fp)
|
||||
/* 0C910C 800C850C 03E00008 */ jr $ra
|
||||
/* 0C9110 800C8510 27BD0040 */ addiu $sp, $sp, 0x40
|
|
@ -0,0 +1,930 @@
|
|||
glabel func_800C76C0
|
||||
/* 0C830C 800C770C 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 0C8310 800C7710 308E00FF */ andi $t6, $a0, 0xff
|
||||
/* 0C8314 800C7714 3C19800F */ lui $t9, %hi(D_800E9EA4) # $t9, 0x800f
|
||||
/* 0C8318 800C7718 27399EC4 */ addiu $t9, %lo(D_800E9EA4) # addiu $t9, $t9, -0x613c
|
||||
/* 0C831C 800C771C 000E7880 */ sll $t7, $t6, 2
|
||||
/* 0C8320 800C7720 01F94021 */ addu $t0, $t7, $t9
|
||||
/* 0C8324 800C7724 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* 0C8328 800C7728 AFBE0028 */ sw $fp, 0x28($sp)
|
||||
/* 0C832C 800C772C AFA40040 */ sw $a0, 0x40($sp)
|
||||
/* 0C8330 800C7730 AFA80034 */ sw $t0, 0x34($sp)
|
||||
/* 0C8334 800C7734 AFAF0038 */ sw $t7, 0x38($sp)
|
||||
/* 0C8338 800C7738 8D030000 */ lw $v1, ($t0)
|
||||
/* 0C833C 800C773C 01C02025 */ move $a0, $t6
|
||||
/* 0C8340 800C7740 03A0F025 */ move $fp, $sp
|
||||
/* 0C8344 800C7744 10600352 */ beqz $v1, .L800C8490
|
||||
/* 0C8348 800C7748 286102BC */ slti $at, $v1, 0x2bc
|
||||
/* 0C834C 800C774C 10200003 */ beqz $at, .L800C775C
|
||||
/* 0C8350 800C7750 24690001 */ addiu $t1, $v1, 1
|
||||
/* 0C8354 800C7754 AD090000 */ sw $t1, ($t0)
|
||||
/* 0C8358 800C7758 01201825 */ move $v1, $t1
|
||||
.L800C775C:
|
||||
/* 0C835C 800C775C 24010002 */ li $at, 2
|
||||
/* 0C8360 800C7760 1461020F */ bne $v1, $at, .L800C7FA0
|
||||
/* 0C8364 800C7764 A3C40043 */ sb $a0, 0x43($fp)
|
||||
/* 0C8368 800C7768 3C050100 */ lui $a1, (0x0100FA28 >> 16) # lui $a1, 0x100
|
||||
/* 0C836C 800C776C 34A5FA28 */ ori $a1, (0x0100FA28 & 0xFFFF) # ori $a1, $a1, 0xfa28
|
||||
/* 0C8370 800C7770 0C032410 */ jal func_800C9018
|
||||
/* 0C8374 800C7774 A3C40043 */ sb $a0, 0x43($fp)
|
||||
/* 0C8378 800C7778 3C050100 */ lui $a1, (0x0100FF2C >> 16) # lui $a1, 0x100
|
||||
/* 0C837C 800C777C 34A5FF2C */ ori $a1, (0x0100FF2C & 0xFFFF) # ori $a1, $a1, 0xff2c
|
||||
/* 0C8380 800C7780 0C032410 */ jal func_800C9018
|
||||
/* 0C8384 800C7784 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8388 800C7788 3C050100 */ lui $a1, (0x0100FA4C >> 16) # lui $a1, 0x100
|
||||
/* 0C838C 800C778C 34A5FA4C */ ori $a1, (0x0100FA4C & 0xFFFF) # ori $a1, $a1, 0xfa4c
|
||||
/* 0C8390 800C7790 0C032410 */ jal func_800C9018
|
||||
/* 0C8394 800C7794 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8398 800C7798 93CA0043 */ lbu $t2, 0x43($fp)
|
||||
/* 0C839C 800C779C 8FCD0038 */ lw $t5, 0x38($fp)
|
||||
/* 0C83A0 800C77A0 3C0C800F */ lui $t4, %hi(D_800E9F7C) # $t4, 0x800f
|
||||
/* 0C83A4 800C77A4 000A5900 */ sll $t3, $t2, 4
|
||||
/* 0C83A8 800C77A8 3C05800F */ lui $a1, 0x800f
|
||||
/* 0C83AC 800C77AC 016A5823 */ subu $t3, $t3, $t2
|
||||
/* 0C83B0 800C77B0 000B5880 */ sll $t3, $t3, 2
|
||||
/* 0C83B4 800C77B4 258C9F9C */ addiu $t4, %lo(D_800E9F7C) # addiu $t4, $t4, -0x6064
|
||||
/* 0C83B8 800C77B8 00AD2821 */ addu $a1, $a1, $t5
|
||||
/* 0C83BC 800C77BC 8CA59EB4 */ lw $a1, -0x614c($a1)
|
||||
/* 0C83C0 800C77C0 0C031568 */ jal func_800C5578
|
||||
/* 0C83C4 800C77C4 016C2021 */ addu $a0, $t3, $t4
|
||||
/* 0C83C8 800C77C8 8FCE0038 */ lw $t6, 0x38($fp)
|
||||
/* 0C83CC 800C77CC 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e
|
||||
/* 0C83D0 800C77D0 8C42C55C */ lw $v0, %lo(gModeSelection)($v0)
|
||||
/* 0C83D4 800C77D4 3C01800F */ lui $at, 0x800f
|
||||
/* 0C83D8 800C77D8 002E0821 */ addu $at, $at, $t6
|
||||
/* 0C83DC 800C77DC 1040000D */ beqz $v0, .L800C7814
|
||||
/* 0C83E0 800C77E0 AC209E94 */ sw $zero, -0x616c($at)
|
||||
/* 0C83E4 800C77E4 24070001 */ li $a3, 1
|
||||
/* 0C83E8 800C77E8 104700AC */ beq $v0, $a3, .L800C7A9C
|
||||
/* 0C83EC 800C77EC 3C041001 */ lui $a0, 0x1001
|
||||
/* 0C83F0 800C77F0 24010002 */ li $at, 2
|
||||
/* 0C83F4 800C77F4 104100D5 */ beq $v0, $at, .L800C7B4C
|
||||
/* 0C83F8 800C77F8 3C0B800F */ lui $t3, 0x800f
|
||||
/* 0C83FC 800C77FC 24010003 */ li $at, 3
|
||||
/* 0C8400 800C7800 1041015C */ beq $v0, $at, .L800C7D74
|
||||
/* 0C8404 800C7804 00000000 */ nop
|
||||
/* 0C8408 800C7808 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C840C 800C780C 100001E4 */ b .L800C7FA0
|
||||
/* 0C8410 800C7810 8DE30000 */ lw $v1, ($t7)
|
||||
.L800C7814:
|
||||
/* 0C8414 800C7814 93D80043 */ lbu $t8, 0x43($fp)
|
||||
/* 0C8418 800C7818 3C19800F */ lui $t9, %hi(D_800EA0EC) # $t9, 0x800f
|
||||
/* 0C841C 800C781C 2739A10C */ addiu $t9, %lo(D_800EA0EC) # addiu $t9, $t9, -0x5ef4
|
||||
/* 0C8420 800C7820 24080002 */ li $t0, 2
|
||||
/* 0C8424 800C7824 03191021 */ addu $v0, $t8, $t9
|
||||
/* 0C8428 800C7828 A0480000 */ sb $t0, ($v0)
|
||||
/* 0C842C 800C782C 3C051900 */ lui $a1, (0x1900F103 >> 16) # lui $a1, 0x1900
|
||||
/* 0C8430 800C7830 34A5F103 */ ori $a1, (0x1900F103 & 0xFFFF) # ori $a1, $a1, 0xf103
|
||||
/* 0C8434 800C7834 AFC20030 */ sw $v0, 0x30($fp)
|
||||
/* 0C8438 800C7838 0C032422 */ jal func_800C9060
|
||||
/* 0C843C 800C783C 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8440 800C7840 3C09800F */ lui $t1, %hi(D_800EA1C0) # $t1, 0x800f
|
||||
/* 0C8444 800C7844 9129A1E0 */ lbu $t1, %lo(D_800EA1C0)($t1)
|
||||
/* 0C8448 800C7848 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
|
||||
/* 0C844C 800C784C 240E0002 */ li $t6, 2
|
||||
/* 0C8450 800C7850 55200037 */ bnezl $t1, .L800C7930
|
||||
/* 0C8454 800C7854 8FCF0030 */ lw $t7, 0x30($fp)
|
||||
/* 0C8458 800C7858 0C030CFA */ jal func_800C3448
|
||||
/* 0C845C 800C785C 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C8460 800C7860 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
|
||||
/* 0C8464 800C7864 0C030CFA */ jal func_800C3448
|
||||
/* 0C8468 800C7868 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C846C 800C786C 0C0314A8 */ jal func_800C5278
|
||||
/* 0C8470 800C7870 24040005 */ li $a0, 5
|
||||
/* 0C8474 800C7874 93CA0043 */ lbu $t2, 0x43($fp)
|
||||
/* 0C8478 800C7878 3C02800F */ lui $v0, 0x800f
|
||||
/* 0C847C 800C787C 000A58C0 */ sll $t3, $t2, 3
|
||||
/* 0C8480 800C7880 016A5823 */ subu $t3, $t3, $t2
|
||||
/* 0C8484 800C7884 000B5900 */ sll $t3, $t3, 4
|
||||
/* 0C8488 800C7888 016A5823 */ subu $t3, $t3, $t2
|
||||
/* 0C848C 800C788C 000B5880 */ sll $t3, $t3, 2
|
||||
/* 0C8490 800C7890 016A5823 */ subu $t3, $t3, $t2
|
||||
/* 0C8494 800C7894 000B58C0 */ sll $t3, $t3, 3
|
||||
/* 0C8498 800C7898 004B1021 */ addu $v0, $v0, $t3
|
||||
/* 0C849C 800C789C 844269F4 */ lh $v0, 0x69f4($v0)
|
||||
/* 0C84A0 800C78A0 1440000D */ bnez $v0, .L800C78D8
|
||||
/* 0C84A4 800C78A4 28410004 */ slti $at, $v0, 4
|
||||
/* 0C84A8 800C78A8 0C0325FB */ jal func_800C97C4
|
||||
/* 0C84AC 800C78AC 01402025 */ move $a0, $t2
|
||||
/* 0C84B0 800C78B0 240C0002 */ li $t4, 2
|
||||
/* 0C84B4 800C78B4 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
|
||||
/* 0C84B8 800C78B8 A02CA110 */ sb $t4, %lo(D_800EA0F0)($at)
|
||||
/* 0C84BC 800C78BC 0C0326AC */ jal func_800C9A88
|
||||
/* 0C84C0 800C78C0 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C84C4 800C78C4 2404000D */ li $a0, 13
|
||||
/* 0C84C8 800C78C8 0C03290F */ jal func_800CA414
|
||||
/* 0C84CC 800C78CC 24050010 */ li $a1, 16
|
||||
/* 0C84D0 800C78D0 10000070 */ b .L800C7A94
|
||||
/* 0C84D4 800C78D4 8FCD0034 */ lw $t5, 0x34($fp)
|
||||
.L800C78D8:
|
||||
/* 0C84D8 800C78D8 1020000D */ beqz $at, .L800C7910
|
||||
/* 0C84DC 800C78DC 3C04C160 */ lui $a0, (0xC1606400 >> 16) # lui $a0, 0xc160
|
||||
/* 0C84E0 800C78E0 0C0325FB */ jal func_800C97C4
|
||||
/* 0C84E4 800C78E4 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C84E8 800C78E8 240D0002 */ li $t5, 2
|
||||
/* 0C84EC 800C78EC 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
|
||||
/* 0C84F0 800C78F0 A02DA110 */ sb $t5, %lo(D_800EA0F0)($at)
|
||||
/* 0C84F4 800C78F4 0C0326AC */ jal func_800C9A88
|
||||
/* 0C84F8 800C78F8 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C84FC 800C78FC 2404000E */ li $a0, 14
|
||||
/* 0C8500 800C7900 0C03290F */ jal func_800CA414
|
||||
/* 0C8504 800C7904 24050010 */ li $a1, 16
|
||||
/* 0C8508 800C7908 10000062 */ b .L800C7A94
|
||||
/* 0C850C 800C790C 8FCD0034 */ lw $t5, 0x34($fp)
|
||||
.L800C7910:
|
||||
/* 0C8510 800C7910 0C030CFA */ jal func_800C3448
|
||||
/* 0C8514 800C7914 34846400 */ ori $a0, (0xC1606400 & 0xFFFF) # ori $a0, $a0, 0x6400
|
||||
/* 0C8518 800C7918 2404000F */ li $a0, 15
|
||||
/* 0C851C 800C791C 0C03290F */ jal func_800CA414
|
||||
/* 0C8520 800C7920 24050018 */ li $a1, 24
|
||||
/* 0C8524 800C7924 1000005B */ b .L800C7A94
|
||||
/* 0C8528 800C7928 8FCD0034 */ lw $t5, 0x34($fp)
|
||||
/* 0C852C 800C792C 8FCF0030 */ lw $t7, 0x30($fp)
|
||||
.L800C7930:
|
||||
/* 0C8530 800C7930 3C051900 */ lui $a1, (0x1900F103 >> 16) # lui $a1, 0x1900
|
||||
/* 0C8534 800C7934 34A5F103 */ ori $a1, (0x1900F103 & 0xFFFF) # ori $a1, $a1, 0xf103
|
||||
/* 0C8538 800C7938 A1EE0000 */ sb $t6, ($t7)
|
||||
/* 0C853C 800C793C 0C032422 */ jal func_800C9060
|
||||
/* 0C8540 800C7940 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8544 800C7944 93D80043 */ lbu $t8, 0x43($fp)
|
||||
/* 0C8548 800C7948 3C02800F */ lui $v0, 0x800f
|
||||
/* 0C854C 800C794C 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
|
||||
/* 0C8550 800C7950 0018C8C0 */ sll $t9, $t8, 3
|
||||
/* 0C8554 800C7954 0338C823 */ subu $t9, $t9, $t8
|
||||
/* 0C8558 800C7958 0019C900 */ sll $t9, $t9, 4
|
||||
/* 0C855C 800C795C 0338C823 */ subu $t9, $t9, $t8
|
||||
/* 0C8560 800C7960 0019C880 */ sll $t9, $t9, 2
|
||||
/* 0C8564 800C7964 0338C823 */ subu $t9, $t9, $t8
|
||||
/* 0C8568 800C7968 0019C8C0 */ sll $t9, $t9, 3
|
||||
/* 0C856C 800C796C 00591021 */ addu $v0, $v0, $t9
|
||||
/* 0C8570 800C7970 844269F4 */ lh $v0, 0x69f4($v0)
|
||||
/* 0C8574 800C7974 14400013 */ bnez $v0, .L800C79C4
|
||||
/* 0C8578 800C7978 28410004 */ slti $at, $v0, 4
|
||||
/* 0C857C 800C797C 0C030CFA */ jal func_800C3448
|
||||
/* 0C8580 800C7980 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C8584 800C7984 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
|
||||
/* 0C8588 800C7988 0C030CFA */ jal func_800C3448
|
||||
/* 0C858C 800C798C 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C8590 800C7990 0C0325FB */ jal func_800C97C4
|
||||
/* 0C8594 800C7994 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8598 800C7998 24080002 */ li $t0, 2
|
||||
/* 0C859C 800C799C 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
|
||||
/* 0C85A0 800C79A0 A028A110 */ sb $t0, %lo(D_800EA0F0)($at)
|
||||
/* 0C85A4 800C79A4 0C0326AC */ jal func_800C9A88
|
||||
/* 0C85A8 800C79A8 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C85AC 800C79AC 2404000D */ li $a0, 13
|
||||
/* 0C85B0 800C79B0 0C03290F */ jal func_800CA414
|
||||
/* 0C85B4 800C79B4 24050010 */ li $a1, 16
|
||||
/* 0C85B8 800C79B8 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f
|
||||
/* 0C85BC 800C79BC 1000002B */ b .L800C7A6C
|
||||
/* 0C85C0 800C79C0 9042A124 */ lbu $v0, %lo(D_800EA104)($v0)
|
||||
.L800C79C4:
|
||||
/* 0C85C4 800C79C4 10200018 */ beqz $at, .L800C7A28
|
||||
/* 0C85C8 800C79C8 3C02800F */ lui $v0, 0x800f
|
||||
/* 0C85CC 800C79CC 3C09800F */ lui $t1, %hi(D_800EA104) # $t1, 0x800f
|
||||
/* 0C85D0 800C79D0 9129A124 */ lbu $t1, %lo(D_800EA104)($t1)
|
||||
/* 0C85D4 800C79D4 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
|
||||
/* 0C85D8 800C79D8 15200006 */ bnez $t1, .L800C79F4
|
||||
/* 0C85DC 800C79DC 00000000 */ nop
|
||||
/* 0C85E0 800C79E0 0C030CFA */ jal func_800C3448
|
||||
/* 0C85E4 800C79E4 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C85E8 800C79E8 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
|
||||
/* 0C85EC 800C79EC 0C030CFA */ jal func_800C3448
|
||||
/* 0C85F0 800C79F0 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
.L800C79F4:
|
||||
/* 0C85F4 800C79F4 0C0325FB */ jal func_800C97C4
|
||||
/* 0C85F8 800C79F8 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C85FC 800C79FC 240B0002 */ li $t3, 2
|
||||
/* 0C8600 800C7A00 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
|
||||
/* 0C8604 800C7A04 A02BA110 */ sb $t3, %lo(D_800EA0F0)($at)
|
||||
/* 0C8608 800C7A08 0C0326AC */ jal func_800C9A88
|
||||
/* 0C860C 800C7A0C 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8610 800C7A10 2404000E */ li $a0, 14
|
||||
/* 0C8614 800C7A14 0C03290F */ jal func_800CA414
|
||||
/* 0C8618 800C7A18 24050010 */ li $a1, 16
|
||||
/* 0C861C 800C7A1C 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f
|
||||
/* 0C8620 800C7A20 10000012 */ b .L800C7A6C
|
||||
/* 0C8624 800C7A24 9042A124 */ lbu $v0, %lo(D_800EA104)($v0)
|
||||
.L800C7A28:
|
||||
/* 0C8628 800C7A28 9042A124 */ lbu $v0, %lo(D_800EA104)($v0)
|
||||
/* 0C862C 800C7A2C 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
|
||||
/* 0C8630 800C7A30 1440000E */ bnez $v0, .L800C7A6C
|
||||
/* 0C8634 800C7A34 00000000 */ nop
|
||||
/* 0C8638 800C7A38 0C030CFA */ jal func_800C3448
|
||||
/* 0C863C 800C7A3C 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C8640 800C7A40 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
|
||||
/* 0C8644 800C7A44 0C030CFA */ jal func_800C3448
|
||||
/* 0C8648 800C7A48 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C864C 800C7A4C 3C04C160 */ lui $a0, (0xC16000FF >> 16) # lui $a0, 0xc160
|
||||
/* 0C8650 800C7A50 0C030CFA */ jal func_800C3448
|
||||
/* 0C8654 800C7A54 34846400 */ ori $a0, (0xC1606400 & 0xFFFF) # ori $a0, $a0, 0x6400
|
||||
/* 0C8658 800C7A58 2404000F */ li $a0, 15
|
||||
/* 0C865C 800C7A5C 0C03290F */ jal func_800CA414
|
||||
/* 0C8660 800C7A60 24050018 */ li $a1, 24
|
||||
/* 0C8664 800C7A64 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f
|
||||
/* 0C8668 800C7A68 9042A124 */ lbu $v0, %lo(D_800EA104)($v0)
|
||||
.L800C7A6C:
|
||||
/* 0C866C 800C7A6C 14400006 */ bnez $v0, .L800C7A88
|
||||
/* 0C8670 800C7A70 00000000 */ nop
|
||||
/* 0C8674 800C7A74 8FCA0030 */ lw $t2, 0x30($fp)
|
||||
/* 0C8678 800C7A78 24010001 */ li $at, 1
|
||||
/* 0C867C 800C7A7C 914C0000 */ lbu $t4, ($t2)
|
||||
/* 0C8680 800C7A80 51810004 */ beql $t4, $at, .L800C7A94
|
||||
/* 0C8684 800C7A84 8FCD0034 */ lw $t5, 0x34($fp)
|
||||
.L800C7A88:
|
||||
/* 0C8688 800C7A88 0C0314A8 */ jal func_800C5278
|
||||
/* 0C868C 800C7A8C 24040005 */ li $a0, 5
|
||||
/* 0C8690 800C7A90 8FCD0034 */ lw $t5, 0x34($fp)
|
||||
.L800C7A94:
|
||||
/* 0C8694 800C7A94 10000142 */ b .L800C7FA0
|
||||
/* 0C8698 800C7A98 8DA30000 */ lw $v1, ($t5)
|
||||
.L800C7A9C:
|
||||
/* 0C869C 800C7A9C 0C030CFA */ jal func_800C3448
|
||||
/* 0C86A0 800C7AA0 348400FF */ ori $a0, (0xC16000FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C86A4 800C7AA4 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
|
||||
/* 0C86A8 800C7AA8 0C030CFA */ jal func_800C3448
|
||||
/* 0C86AC 800C7AAC 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C86B0 800C7AB0 0C0325FB */ jal func_800C97C4
|
||||
/* 0C86B4 800C7AB4 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C86B8 800C7AB8 240E0002 */ li $t6, 2
|
||||
/* 0C86BC 800C7ABC 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
|
||||
/* 0C86C0 800C7AC0 A02EA110 */ sb $t6, %lo(D_800EA0F0)($at)
|
||||
/* 0C86C4 800C7AC4 0C0326AC */ jal func_800C9A88
|
||||
/* 0C86C8 800C7AC8 00002025 */ move $a0, $zero
|
||||
/* 0C86CC 800C7ACC 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C86D0 800C7AD0 3C01800F */ lui $at, 0x800f
|
||||
/* 0C86D4 800C7AD4 240F0002 */ li $t7, 2
|
||||
/* 0C86D8 800C7AD8 3C051900 */ lui $a1, (0x1900F103 >> 16) # lui $a1, 0x1900
|
||||
/* 0C86DC 800C7ADC 00240821 */ addu $at, $at, $a0
|
||||
/* 0C86E0 800C7AE0 A02FA10C */ sb $t7, -0x5ef4($at)
|
||||
/* 0C86E4 800C7AE4 0C032422 */ jal func_800C9060
|
||||
/* 0C86E8 800C7AE8 34A5F103 */ ori $a1, (0x1900F103 & 0xFFFF) # ori $a1, $a1, 0xf103
|
||||
/* 0C86EC 800C7AEC 3C198016 */ lui $t9, %hi(D_801657E5) # $t9, 0x8016
|
||||
/* 0C86F0 800C7AF0 83395845 */ lb $t9, %lo(D_801657E5)($t9)
|
||||
/* 0C86F4 800C7AF4 24010001 */ li $at, 1
|
||||
/* 0C86F8 800C7AF8 2404000D */ li $a0, 13
|
||||
/* 0C86FC 800C7AFC 17210005 */ bne $t9, $at, .L800C7B14
|
||||
/* 0C8700 800C7B00 3C088019 */ lui $t0, %hi(D_8018ED90) # $t0, 0x8019
|
||||
/* 0C8704 800C7B04 0C03290F */ jal func_800CA414
|
||||
/* 0C8708 800C7B08 24050010 */ li $a1, 16
|
||||
/* 0C870C 800C7B0C 1000000D */ b .L800C7B44
|
||||
/* 0C8710 800C7B10 8FC90034 */ lw $t1, 0x34($fp)
|
||||
.L800C7B14:
|
||||
/* 0C8714 800C7B14 9108EDF0 */ lbu $t0, %lo(D_8018ED90)($t0)
|
||||
/* 0C8718 800C7B18 24010001 */ li $at, 1
|
||||
/* 0C871C 800C7B1C 24050010 */ li $a1, 16
|
||||
/* 0C8720 800C7B20 15010005 */ bne $t0, $at, .L800C7B38
|
||||
/* 0C8724 800C7B24 3C040164 */ lui $a0, (0x01640010 >> 16) # lui $a0, 0x164
|
||||
/* 0C8728 800C7B28 0C03290F */ jal func_800CA414
|
||||
/* 0C872C 800C7B2C 2404000E */ li $a0, 14
|
||||
/* 0C8730 800C7B30 10000004 */ b .L800C7B44
|
||||
/* 0C8734 800C7B34 8FC90034 */ lw $t1, 0x34($fp)
|
||||
.L800C7B38:
|
||||
/* 0C8738 800C7B38 0C030CFA */ jal func_800C3448
|
||||
/* 0C873C 800C7B3C 34840010 */ ori $a0, (0x01640010 & 0xFFFF) # ori $a0, $a0, 0x10
|
||||
/* 0C8740 800C7B40 8FC90034 */ lw $t1, 0x34($fp)
|
||||
.L800C7B44:
|
||||
/* 0C8744 800C7B44 10000116 */ b .L800C7FA0
|
||||
/* 0C8748 800C7B48 8D230000 */ lw $v1, ($t1)
|
||||
.L800C7B4C:
|
||||
/* 0C874C 800C7B4C 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8750 800C7B50 256BA10C */ addiu $t3, $t3, -0x5ef4
|
||||
/* 0C8754 800C7B54 240A0002 */ li $t2, 2
|
||||
/* 0C8758 800C7B58 008B1021 */ addu $v0, $a0, $t3
|
||||
/* 0C875C 800C7B5C A04A0000 */ sb $t2, ($v0)
|
||||
/* 0C8760 800C7B60 3C051900 */ lui $a1, (0x1900F103 >> 16) # lui $a1, 0x1900
|
||||
/* 0C8764 800C7B64 34A5F103 */ ori $a1, (0x1900F103 & 0xFFFF) # ori $a1, $a1, 0xf103
|
||||
/* 0C8768 800C7B68 0C032422 */ jal func_800C9060
|
||||
/* 0C876C 800C7B6C AFC20030 */ sw $v0, 0x30($fp)
|
||||
/* 0C8770 800C7B70 3C02800F */ lui $v0, %hi(D_800EA1C0) # $v0, 0x800f
|
||||
/* 0C8774 800C7B74 9042A1E0 */ lbu $v0, %lo(D_800EA1C0)($v0)
|
||||
/* 0C8778 800C7B78 24010001 */ li $at, 1
|
||||
/* 0C877C 800C7B7C 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
|
||||
/* 0C8780 800C7B80 10410007 */ beq $v0, $at, .L800C7BA0
|
||||
/* 0C8784 800C7B84 24010002 */ li $at, 2
|
||||
/* 0C8788 800C7B88 10410016 */ beq $v0, $at, .L800C7BE4
|
||||
/* 0C878C 800C7B8C 24010003 */ li $at, 3
|
||||
/* 0C8790 800C7B90 1041003C */ beq $v0, $at, .L800C7C84
|
||||
/* 0C8794 800C7B94 00000000 */ nop
|
||||
/* 0C8798 800C7B98 10000074 */ b .L800C7D6C
|
||||
/* 0C879C 800C7B9C 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
.L800C7BA0:
|
||||
/* 0C87A0 800C7BA0 0C030CFA */ jal func_800C3448
|
||||
/* 0C87A4 800C7BA4 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C87A8 800C7BA8 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
|
||||
/* 0C87AC 800C7BAC 0C030CFA */ jal func_800C3448
|
||||
/* 0C87B0 800C7BB0 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C87B4 800C7BB4 0C0325FB */ jal func_800C97C4
|
||||
/* 0C87B8 800C7BB8 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C87BC 800C7BBC 240C0002 */ li $t4, 2
|
||||
/* 0C87C0 800C7BC0 3C01800F */ lui $at, %hi(D_800EA0F0) # $at, 0x800f
|
||||
/* 0C87C4 800C7BC4 A02CA110 */ sb $t4, %lo(D_800EA0F0)($at)
|
||||
/* 0C87C8 800C7BC8 0C0326AC */ jal func_800C9A88
|
||||
/* 0C87CC 800C7BCC 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C87D0 800C7BD0 2404000D */ li $a0, 13
|
||||
/* 0C87D4 800C7BD4 0C03290F */ jal func_800CA414
|
||||
/* 0C87D8 800C7BD8 24050017 */ li $a1, 23
|
||||
/* 0C87DC 800C7BDC 10000063 */ b .L800C7D6C
|
||||
/* 0C87E0 800C7BE0 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
.L800C7BE4:
|
||||
/* 0C87E4 800C7BE4 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f
|
||||
/* 0C87E8 800C7BE8 9042A124 */ lbu $v0, %lo(D_800EA104)($v0)
|
||||
/* 0C87EC 800C7BEC 54400013 */ bnezl $v0, .L800C7C3C
|
||||
/* 0C87F0 800C7BF0 24010001 */ li $at, 1
|
||||
/* 0C87F4 800C7BF4 8FCD0030 */ lw $t5, 0x30($fp)
|
||||
/* 0C87F8 800C7BF8 24010001 */ li $at, 1
|
||||
/* 0C87FC 800C7BFC 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
|
||||
/* 0C8800 800C7C00 91AE0000 */ lbu $t6, ($t5)
|
||||
/* 0C8804 800C7C04 55C1000D */ bnel $t6, $at, .L800C7C3C
|
||||
/* 0C8808 800C7C08 24010001 */ li $at, 1
|
||||
/* 0C880C 800C7C0C 0C030CFA */ jal func_800C3448
|
||||
/* 0C8810 800C7C10 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C8814 800C7C14 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
|
||||
/* 0C8818 800C7C18 0C030CFA */ jal func_800C3448
|
||||
/* 0C881C 800C7C1C 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C8820 800C7C20 0C0323C8 */ jal func_800C8EF8
|
||||
/* 0C8824 800C7C24 2404000D */ li $a0, 13
|
||||
/* 0C8828 800C7C28 240F0001 */ li $t7, 1
|
||||
/* 0C882C 800C7C2C 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
|
||||
/* 0C8830 800C7C30 1000004D */ b .L800C7D68
|
||||
/* 0C8834 800C7C34 A02FA124 */ sb $t7, %lo(D_800EA104)($at)
|
||||
/* 0C8838 800C7C38 24010001 */ li $at, 1
|
||||
.L800C7C3C:
|
||||
/* 0C883C 800C7C3C 5441004B */ bnel $v0, $at, .L800C7D6C
|
||||
/* 0C8840 800C7C40 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C8844 800C7C44 8FD80030 */ lw $t8, 0x30($fp)
|
||||
/* 0C8848 800C7C48 24010001 */ li $at, 1
|
||||
/* 0C884C 800C7C4C 93190000 */ lbu $t9, ($t8)
|
||||
/* 0C8850 800C7C50 57210046 */ bnel $t9, $at, .L800C7D6C
|
||||
/* 0C8854 800C7C54 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C8858 800C7C58 0C0314A8 */ jal func_800C5278
|
||||
/* 0C885C 800C7C5C 24040005 */ li $a0, 5
|
||||
/* 0C8860 800C7C60 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
|
||||
/* 0C8864 800C7C64 A020A124 */ sb $zero, %lo(D_800EA104)($at)
|
||||
/* 0C8868 800C7C68 2404000E */ li $a0, 14
|
||||
/* 0C886C 800C7C6C 0C03290F */ jal func_800CA414
|
||||
/* 0C8870 800C7C70 24050017 */ li $a1, 23
|
||||
/* 0C8874 800C7C74 24080002 */ li $t0, 2
|
||||
/* 0C8878 800C7C78 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
|
||||
/* 0C887C 800C7C7C 1000003A */ b .L800C7D68
|
||||
/* 0C8880 800C7C80 A028A124 */ sb $t0, %lo(D_800EA104)($at)
|
||||
.L800C7C84:
|
||||
/* 0C8884 800C7C84 3C02800F */ lui $v0, %hi(D_800EA104) # $v0, 0x800f
|
||||
/* 0C8888 800C7C88 9042A124 */ lbu $v0, %lo(D_800EA104)($v0)
|
||||
/* 0C888C 800C7C8C 54400013 */ bnezl $v0, .L800C7CDC
|
||||
/* 0C8890 800C7C90 24010001 */ li $at, 1
|
||||
/* 0C8894 800C7C94 8FC30030 */ lw $v1, 0x30($fp)
|
||||
/* 0C8898 800C7C98 24010001 */ li $at, 1
|
||||
/* 0C889C 800C7C9C 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
|
||||
/* 0C88A0 800C7CA0 90690000 */ lbu $t1, ($v1)
|
||||
/* 0C88A4 800C7CA4 5521000D */ bnel $t1, $at, .L800C7CDC
|
||||
/* 0C88A8 800C7CA8 24010001 */ li $at, 1
|
||||
/* 0C88AC 800C7CAC 0C030CFA */ jal func_800C3448
|
||||
/* 0C88B0 800C7CB0 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C88B4 800C7CB4 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
|
||||
/* 0C88B8 800C7CB8 0C030CFA */ jal func_800C3448
|
||||
/* 0C88BC 800C7CBC 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C88C0 800C7CC0 0C0323C8 */ jal func_800C8EF8
|
||||
/* 0C88C4 800C7CC4 2404000D */ li $a0, 13
|
||||
/* 0C88C8 800C7CC8 240B0001 */ li $t3, 1
|
||||
/* 0C88CC 800C7CCC 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
|
||||
/* 0C88D0 800C7CD0 10000025 */ b .L800C7D68
|
||||
/* 0C88D4 800C7CD4 A02BA124 */ sb $t3, %lo(D_800EA104)($at)
|
||||
/* 0C88D8 800C7CD8 24010001 */ li $at, 1
|
||||
.L800C7CDC:
|
||||
/* 0C88DC 800C7CDC 14410011 */ bne $v0, $at, .L800C7D24
|
||||
/* 0C88E0 800C7CE0 8FC30030 */ lw $v1, 0x30($fp)
|
||||
/* 0C88E4 800C7CE4 906A0000 */ lbu $t2, ($v1)
|
||||
/* 0C88E8 800C7CE8 24010001 */ li $at, 1
|
||||
/* 0C88EC 800C7CEC 5541000E */ bnel $t2, $at, .L800C7D28
|
||||
/* 0C88F0 800C7CF0 24010002 */ li $at, 2
|
||||
/* 0C88F4 800C7CF4 0C030D2A */ jal func_800C3508
|
||||
/* 0C88F8 800C7CF8 24040001 */ li $a0, 1
|
||||
/* 0C88FC 800C7CFC 2401000D */ li $at, 13
|
||||
/* 0C8900 800C7D00 10410004 */ beq $v0, $at, .L800C7D14
|
||||
/* 0C8904 800C7D04 2404000E */ li $a0, 14
|
||||
/* 0C8908 800C7D08 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
|
||||
/* 0C890C 800C7D0C 0C0323C8 */ jal func_800C8EF8
|
||||
/* 0C8910 800C7D10 A020A124 */ sb $zero, %lo(D_800EA104)($at)
|
||||
.L800C7D14:
|
||||
/* 0C8914 800C7D14 240C0002 */ li $t4, 2
|
||||
/* 0C8918 800C7D18 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
|
||||
/* 0C891C 800C7D1C 10000012 */ b .L800C7D68
|
||||
/* 0C8920 800C7D20 A02CA124 */ sb $t4, %lo(D_800EA104)($at)
|
||||
.L800C7D24:
|
||||
/* 0C8924 800C7D24 24010002 */ li $at, 2
|
||||
.L800C7D28:
|
||||
/* 0C8928 800C7D28 54410010 */ bnel $v0, $at, .L800C7D6C
|
||||
/* 0C892C 800C7D2C 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C8930 800C7D30 906D0000 */ lbu $t5, ($v1)
|
||||
/* 0C8934 800C7D34 24010001 */ li $at, 1
|
||||
/* 0C8938 800C7D38 55A1000C */ bnel $t5, $at, .L800C7D6C
|
||||
/* 0C893C 800C7D3C 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C8940 800C7D40 0C0314A8 */ jal func_800C5278
|
||||
/* 0C8944 800C7D44 24040005 */ li $a0, 5
|
||||
/* 0C8948 800C7D48 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
|
||||
/* 0C894C 800C7D4C A020A124 */ sb $zero, %lo(D_800EA104)($at)
|
||||
/* 0C8950 800C7D50 2404000E */ li $a0, 14
|
||||
/* 0C8954 800C7D54 0C03290F */ jal func_800CA414
|
||||
/* 0C8958 800C7D58 24050017 */ li $a1, 23
|
||||
/* 0C895C 800C7D5C 240E0003 */ li $t6, 3
|
||||
/* 0C8960 800C7D60 3C01800F */ lui $at, %hi(D_800EA104) # $at, 0x800f
|
||||
/* 0C8964 800C7D64 A02EA124 */ sb $t6, %lo(D_800EA104)($at)
|
||||
.L800C7D68:
|
||||
/* 0C8968 800C7D68 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
.L800C7D6C:
|
||||
/* 0C896C 800C7D6C 1000008C */ b .L800C7FA0
|
||||
/* 0C8970 800C7D70 8DE30000 */ lw $v1, ($t7)
|
||||
.L800C7D74:
|
||||
/* 0C8974 800C7D74 3C02800F */ lui $v0, %hi(D_800EA1C0) # $v0, 0x800f
|
||||
/* 0C8978 800C7D78 9042A1E0 */ lbu $v0, %lo(D_800EA1C0)($v0)
|
||||
/* 0C897C 800C7D7C 24010002 */ li $at, 2
|
||||
/* 0C8980 800C7D80 3C041001 */ lui $a0, (0x100100FF >> 16) # lui $a0, 0x1001
|
||||
/* 0C8984 800C7D84 10470007 */ beq $v0, $a3, .L800C7DA4
|
||||
/* 0C8988 800C7D88 00000000 */ nop
|
||||
/* 0C898C 800C7D8C 1041002A */ beq $v0, $at, .L800C7E38
|
||||
/* 0C8990 800C7D90 24010003 */ li $at, 3
|
||||
/* 0C8994 800C7D94 10410053 */ beq $v0, $at, .L800C7EE4
|
||||
/* 0C8998 800C7D98 3C19800F */ lui $t9, 0x800f
|
||||
/* 0C899C 800C7D9C 1000007F */ b .L800C7F9C
|
||||
/* 0C89A0 800C7DA0 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
.L800C7DA4:
|
||||
/* 0C89A4 800C7DA4 0C030CFA */ jal func_800C3448
|
||||
/* 0C89A8 800C7DA8 348400FF */ ori $a0, (0x100100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C89AC 800C7DAC 3C041101 */ lui $a0, (0x110100FF >> 16) # lui $a0, 0x1101
|
||||
/* 0C89B0 800C7DB0 0C030CFA */ jal func_800C3448
|
||||
/* 0C89B4 800C7DB4 348400FF */ ori $a0, (0x110100FF & 0xFFFF) # ori $a0, $a0, 0xff
|
||||
/* 0C89B8 800C7DB8 0C0314A8 */ jal func_800C5278
|
||||
/* 0C89BC 800C7DBC 24040005 */ li $a0, 5
|
||||
/* 0C89C0 800C7DC0 3C050100 */ lui $a1, (0x0100F926 >> 16) # lui $a1, 0x100
|
||||
/* 0C89C4 800C7DC4 34A5F926 */ ori $a1, (0x0100F926 & 0xFFFF) # ori $a1, $a1, 0xf926
|
||||
/* 0C89C8 800C7DC8 0C032410 */ jal func_800C9018
|
||||
/* 0C89CC 800C7DCC 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C89D0 800C7DD0 0C0323C8 */ jal func_800C8EF8
|
||||
/* 0C89D4 800C7DD4 24040017 */ li $a0, 23
|
||||
/* 0C89D8 800C7DD8 3C19800E */ lui $t9, %hi(gPlayerWinningIndex) # $t9, 0x800e
|
||||
/* 0C89DC 800C7DDC 8F39C608 */ lw $t9, %lo(gPlayerWinningIndex)($t9)
|
||||
/* 0C89E0 800C7DE0 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C89E4 800C7DE4 3C05800F */ lui $a1, 0x800f
|
||||
/* 0C89E8 800C7DE8 001940C0 */ sll $t0, $t9, 3
|
||||
/* 0C89EC 800C7DEC 01194023 */ subu $t0, $t0, $t9
|
||||
/* 0C89F0 800C7DF0 00084100 */ sll $t0, $t0, 4
|
||||
/* 0C89F4 800C7DF4 01194023 */ subu $t0, $t0, $t9
|
||||
/* 0C89F8 800C7DF8 00084080 */ sll $t0, $t0, 2
|
||||
/* 0C89FC 800C7DFC 01194023 */ subu $t0, $t0, $t9
|
||||
/* 0C8A00 800C7E00 000840C0 */ sll $t0, $t0, 3
|
||||
/* 0C8A04 800C7E04 3C01800F */ lui $at, 0x800f
|
||||
/* 0C8A08 800C7E08 00A82821 */ addu $a1, $a1, $t0
|
||||
/* 0C8A0C 800C7E0C 94A56C44 */ lhu $a1, 0x6c44($a1)
|
||||
/* 0C8A10 800C7E10 24180002 */ li $t8, 2
|
||||
/* 0C8A14 800C7E14 00240821 */ addu $at, $at, $a0
|
||||
/* 0C8A18 800C7E18 A038A10C */ sb $t8, -0x5ef4($at)
|
||||
/* 0C8A1C 800C7E1C 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900
|
||||
/* 0C8A20 800C7E20 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d
|
||||
/* 0C8A24 800C7E24 00054900 */ sll $t1, $a1, 4
|
||||
/* 0C8A28 800C7E28 0C032447 */ jal func_800C90F4
|
||||
/* 0C8A2C 800C7E2C 01212821 */ addu $a1, $t1, $at
|
||||
/* 0C8A30 800C7E30 1000005A */ b .L800C7F9C
|
||||
/* 0C8A34 800C7E34 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
.L800C7E38:
|
||||
/* 0C8A38 800C7E38 3C02800F */ lui $v0, %hi(D_800EA0EC) # $v0, 0x800f
|
||||
/* 0C8A3C 800C7E3C 2442A10C */ addiu $v0, %lo(D_800EA0EC) # addiu $v0, $v0, -0x5ef4
|
||||
/* 0C8A40 800C7E40 904B0000 */ lbu $t3, ($v0)
|
||||
/* 0C8A44 800C7E44 54EB0055 */ bnel $a3, $t3, .L800C7F9C
|
||||
/* 0C8A48 800C7E48 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C8A4C 800C7E4C 904A0001 */ lbu $t2, 1($v0)
|
||||
/* 0C8A50 800C7E50 54EA0052 */ bnel $a3, $t2, .L800C7F9C
|
||||
/* 0C8A54 800C7E54 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C8A58 800C7E58 904C0002 */ lbu $t4, 2($v0)
|
||||
/* 0C8A5C 800C7E5C 54EC004F */ bnel $a3, $t4, .L800C7F9C
|
||||
/* 0C8A60 800C7E60 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C8A64 800C7E64 0C0314A8 */ jal func_800C5278
|
||||
/* 0C8A68 800C7E68 24040005 */ li $a0, 5
|
||||
/* 0C8A6C 800C7E6C 3C050100 */ lui $a1, (0x01008026 >> 16) # lui $a1, 0x100
|
||||
/* 0C8A70 800C7E70 34A58026 */ ori $a1, (0x01008026 & 0xFFFF) # ori $a1, $a1, 0x8026
|
||||
/* 0C8A74 800C7E74 0C032410 */ jal func_800C9018
|
||||
/* 0C8A78 800C7E78 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8A7C 800C7E7C 0C0323C8 */ jal func_800C8EF8
|
||||
/* 0C8A80 800C7E80 24040017 */ li $a0, 23
|
||||
/* 0C8A84 800C7E84 3C0E800E */ lui $t6, %hi(gPlayerWinningIndex) # $t6, 0x800e
|
||||
/* 0C8A88 800C7E88 8DCEC608 */ lw $t6, %lo(gPlayerWinningIndex)($t6)
|
||||
/* 0C8A8C 800C7E8C 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8A90 800C7E90 3C05800F */ lui $a1, 0x800f
|
||||
/* 0C8A94 800C7E94 000E78C0 */ sll $t7, $t6, 3
|
||||
/* 0C8A98 800C7E98 01EE7823 */ subu $t7, $t7, $t6
|
||||
/* 0C8A9C 800C7E9C 000F7900 */ sll $t7, $t7, 4
|
||||
/* 0C8AA0 800C7EA0 01EE7823 */ subu $t7, $t7, $t6
|
||||
/* 0C8AA4 800C7EA4 000F7880 */ sll $t7, $t7, 2
|
||||
/* 0C8AA8 800C7EA8 01EE7823 */ subu $t7, $t7, $t6
|
||||
/* 0C8AAC 800C7EAC 000F78C0 */ sll $t7, $t7, 3
|
||||
/* 0C8AB0 800C7EB0 3C01800F */ lui $at, 0x800f
|
||||
/* 0C8AB4 800C7EB4 00AF2821 */ addu $a1, $a1, $t7
|
||||
/* 0C8AB8 800C7EB8 94A56C44 */ lhu $a1, 0x6c44($a1)
|
||||
/* 0C8ABC 800C7EBC 240D0002 */ li $t5, 2
|
||||
/* 0C8AC0 800C7EC0 00240821 */ addu $at, $at, $a0
|
||||
/* 0C8AC4 800C7EC4 A02DA10C */ sb $t5, -0x5ef4($at)
|
||||
/* 0C8AC8 800C7EC8 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900
|
||||
/* 0C8ACC 800C7ECC 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d
|
||||
/* 0C8AD0 800C7ED0 0005C100 */ sll $t8, $a1, 4
|
||||
/* 0C8AD4 800C7ED4 0C032447 */ jal func_800C90F4
|
||||
/* 0C8AD8 800C7ED8 03012821 */ addu $a1, $t8, $at
|
||||
/* 0C8ADC 800C7EDC 1000002F */ b .L800C7F9C
|
||||
/* 0C8AE0 800C7EE0 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
.L800C7EE4:
|
||||
/* 0C8AE4 800C7EE4 9339A10C */ lbu $t9, -0x5ef4($t9)
|
||||
/* 0C8AE8 800C7EE8 3C08800F */ lui $t0, %hi(D_800EA0ED) # $t0, 0x800f
|
||||
/* 0C8AEC 800C7EEC 54F9002B */ bnel $a3, $t9, .L800C7F9C
|
||||
/* 0C8AF0 800C7EF0 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C8AF4 800C7EF4 9108A10D */ lbu $t0, %lo(D_800EA0ED)($t0)
|
||||
/* 0C8AF8 800C7EF8 3C09800F */ lui $t1, %hi(D_800EA0EE) # $t1, 0x800f
|
||||
/* 0C8AFC 800C7EFC 54E80027 */ bnel $a3, $t0, .L800C7F9C
|
||||
/* 0C8B00 800C7F00 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C8B04 800C7F04 9129A10E */ lbu $t1, %lo(D_800EA0EE)($t1)
|
||||
/* 0C8B08 800C7F08 3C0B800F */ lui $t3, %hi(D_800EA0EF) # $t3, 0x800f
|
||||
/* 0C8B0C 800C7F0C 54E90023 */ bnel $a3, $t1, .L800C7F9C
|
||||
/* 0C8B10 800C7F10 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C8B14 800C7F14 916BA10F */ lbu $t3, %lo(D_800EA0EF)($t3)
|
||||
/* 0C8B18 800C7F18 54EB0020 */ bnel $a3, $t3, .L800C7F9C
|
||||
/* 0C8B1C 800C7F1C 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
/* 0C8B20 800C7F20 0C0314A8 */ jal func_800C5278
|
||||
/* 0C8B24 800C7F24 24040005 */ li $a0, 5
|
||||
/* 0C8B28 800C7F28 3C050100 */ lui $a1, (0x01008026 >> 16) # lui $a1, 0x100
|
||||
/* 0C8B2C 800C7F2C 34A58026 */ ori $a1, (0x01008026 & 0xFFFF) # ori $a1, $a1, 0x8026
|
||||
/* 0C8B30 800C7F30 0C032410 */ jal func_800C9018
|
||||
/* 0C8B34 800C7F34 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8B38 800C7F38 0C0323C8 */ jal func_800C8EF8
|
||||
/* 0C8B3C 800C7F3C 24040017 */ li $a0, 23
|
||||
/* 0C8B40 800C7F40 3C0C800E */ lui $t4, %hi(gPlayerWinningIndex) # $t4, 0x800e
|
||||
/* 0C8B44 800C7F44 8D8CC608 */ lw $t4, %lo(gPlayerWinningIndex)($t4)
|
||||
/* 0C8B48 800C7F48 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8B4C 800C7F4C 3C05800F */ lui $a1, 0x800f
|
||||
/* 0C8B50 800C7F50 000C68C0 */ sll $t5, $t4, 3
|
||||
/* 0C8B54 800C7F54 01AC6823 */ subu $t5, $t5, $t4
|
||||
/* 0C8B58 800C7F58 000D6900 */ sll $t5, $t5, 4
|
||||
/* 0C8B5C 800C7F5C 01AC6823 */ subu $t5, $t5, $t4
|
||||
/* 0C8B60 800C7F60 000D6880 */ sll $t5, $t5, 2
|
||||
/* 0C8B64 800C7F64 01AC6823 */ subu $t5, $t5, $t4
|
||||
/* 0C8B68 800C7F68 000D68C0 */ sll $t5, $t5, 3
|
||||
/* 0C8B6C 800C7F6C 3C01800F */ lui $at, 0x800f
|
||||
/* 0C8B70 800C7F70 00AD2821 */ addu $a1, $a1, $t5
|
||||
/* 0C8B74 800C7F74 94A56C44 */ lhu $a1, 0x6c44($a1)
|
||||
/* 0C8B78 800C7F78 240A0002 */ li $t2, 2
|
||||
/* 0C8B7C 800C7F7C 00240821 */ addu $at, $at, $a0
|
||||
/* 0C8B80 800C7F80 A02AA10C */ sb $t2, -0x5ef4($at)
|
||||
/* 0C8B84 800C7F84 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900
|
||||
/* 0C8B88 800C7F88 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d
|
||||
/* 0C8B8C 800C7F8C 00057100 */ sll $t6, $a1, 4
|
||||
/* 0C8B90 800C7F90 0C032447 */ jal func_800C90F4
|
||||
/* 0C8B94 800C7F94 01C12821 */ addu $a1, $t6, $at
|
||||
/* 0C8B98 800C7F98 8FCF0034 */ lw $t7, 0x34($fp)
|
||||
.L800C7F9C:
|
||||
/* 0C8B9C 800C7F9C 8DE30000 */ lw $v1, ($t7)
|
||||
.L800C7FA0:
|
||||
/* 0C8BA0 800C7FA0 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e
|
||||
/* 0C8BA4 800C7FA4 2401001E */ li $at, 30
|
||||
/* 0C8BA8 800C7FA8 93C40043 */ lbu $a0, 0x43($fp)
|
||||
/* 0C8BAC 800C7FAC 24070001 */ li $a3, 1
|
||||
/* 0C8BB0 800C7FB0 14610093 */ bne $v1, $at, .L800C8200
|
||||
/* 0C8BB4 800C7FB4 8C42C55C */ lw $v0, %lo(gModeSelection)($v0)
|
||||
/* 0C8BB8 800C7FB8 1040000B */ beqz $v0, .L800C7FE8
|
||||
/* 0C8BBC 800C7FBC 0004C0C0 */ sll $t8, $a0, 3
|
||||
/* 0C8BC0 800C7FC0 10470059 */ beq $v0, $a3, .L800C8128
|
||||
/* 0C8BC4 800C7FC4 3C0B8016 */ lui $t3, %hi(D_801657E5) # $t3, 0x8016
|
||||
/* 0C8BC8 800C7FC8 24010002 */ li $at, 2
|
||||
/* 0C8BCC 800C7FCC 1041003A */ beq $v0, $at, .L800C80B8
|
||||
/* 0C8BD0 800C7FD0 000478C0 */ sll $t7, $a0, 3
|
||||
/* 0C8BD4 800C7FD4 24010003 */ li $at, 3
|
||||
/* 0C8BD8 800C7FD8 10410089 */ beq $v0, $at, .L800C8200
|
||||
/* 0C8BDC 800C7FDC 00000000 */ nop
|
||||
/* 0C8BE0 800C7FE0 10000087 */ b .L800C8200
|
||||
/* 0C8BE4 800C7FE4 00000000 */ nop
|
||||
.L800C7FE8:
|
||||
/* 0C8BE8 800C7FE8 0304C023 */ subu $t8, $t8, $a0
|
||||
/* 0C8BEC 800C7FEC 0018C100 */ sll $t8, $t8, 4
|
||||
/* 0C8BF0 800C7FF0 0304C023 */ subu $t8, $t8, $a0
|
||||
/* 0C8BF4 800C7FF4 0018C080 */ sll $t8, $t8, 2
|
||||
/* 0C8BF8 800C7FF8 0304C023 */ subu $t8, $t8, $a0
|
||||
/* 0C8BFC 800C7FFC 3C19800F */ lui $t9, %hi(gPlayers) # $t9, 0x800f
|
||||
/* 0C8C00 800C8000 273969F0 */ addiu $t9, %lo(gPlayers) # addiu $t9, $t9, 0x69f0
|
||||
/* 0C8C04 800C8004 0018C0C0 */ sll $t8, $t8, 3
|
||||
/* 0C8C08 800C8008 03191821 */ addu $v1, $t8, $t9
|
||||
/* 0C8C0C 800C800C 84620004 */ lh $v0, 4($v1)
|
||||
/* 0C8C10 800C8010 3C08800F */ lui $t0, %hi(D_800EA0EC) # $t0, 0x800f
|
||||
/* 0C8C14 800C8014 2508A10C */ addiu $t0, %lo(D_800EA0EC) # addiu $t0, $t0, -0x5ef4
|
||||
/* 0C8C18 800C8018 1440000C */ bnez $v0, .L800C804C
|
||||
/* 0C8C1C 800C801C 00883021 */ addu $a2, $a0, $t0
|
||||
/* 0C8C20 800C8020 94650254 */ lhu $a1, 0x254($v1)
|
||||
/* 0C8C24 800C8024 24090002 */ li $t1, 2
|
||||
/* 0C8C28 800C8028 3C012900 */ lui $at, (0x29008007 >> 16) # lui $at, 0x2900
|
||||
/* 0C8C2C 800C802C A0C90000 */ sb $t1, ($a2)
|
||||
/* 0C8C30 800C8030 34218007 */ ori $at, (0x29008007 & 0xFFFF) # ori $at, $at, 0x8007
|
||||
/* 0C8C34 800C8034 00055900 */ sll $t3, $a1, 4
|
||||
/* 0C8C38 800C8038 01612821 */ addu $a1, $t3, $at
|
||||
/* 0C8C3C 800C803C 0C032447 */ jal func_800C90F4
|
||||
/* 0C8C40 800C8040 A3C40043 */ sb $a0, 0x43($fp)
|
||||
/* 0C8C44 800C8044 10000017 */ b .L800C80A4
|
||||
/* 0C8C48 800C8048 00000000 */ nop
|
||||
.L800C804C:
|
||||
/* 0C8C4C 800C804C 28410004 */ slti $at, $v0, 4
|
||||
/* 0C8C50 800C8050 1020000C */ beqz $at, .L800C8084
|
||||
/* 0C8C54 800C8054 240D0002 */ li $t5, 2
|
||||
/* 0C8C58 800C8058 94650254 */ lhu $a1, 0x254($v1)
|
||||
/* 0C8C5C 800C805C 240A0002 */ li $t2, 2
|
||||
/* 0C8C60 800C8060 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900
|
||||
/* 0C8C64 800C8064 A0CA0000 */ sb $t2, ($a2)
|
||||
/* 0C8C68 800C8068 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d
|
||||
/* 0C8C6C 800C806C 00056100 */ sll $t4, $a1, 4
|
||||
/* 0C8C70 800C8070 01812821 */ addu $a1, $t4, $at
|
||||
/* 0C8C74 800C8074 0C032447 */ jal func_800C90F4
|
||||
/* 0C8C78 800C8078 A3C40043 */ sb $a0, 0x43($fp)
|
||||
/* 0C8C7C 800C807C 10000009 */ b .L800C80A4
|
||||
/* 0C8C80 800C8080 00000000 */ nop
|
||||
.L800C8084:
|
||||
/* 0C8C84 800C8084 94650254 */ lhu $a1, 0x254($v1)
|
||||
/* 0C8C88 800C8088 3C012900 */ lui $at, (0x29008003 >> 16) # lui $at, 0x2900
|
||||
/* 0C8C8C 800C808C A0CD0000 */ sb $t5, ($a2)
|
||||
/* 0C8C90 800C8090 34218003 */ ori $at, (0x29008003 & 0xFFFF) # ori $at, $at, 0x8003
|
||||
/* 0C8C94 800C8094 00057100 */ sll $t6, $a1, 4
|
||||
/* 0C8C98 800C8098 01C12821 */ addu $a1, $t6, $at
|
||||
/* 0C8C9C 800C809C 0C032447 */ jal func_800C90F4
|
||||
/* 0C8CA0 800C80A0 A3C40043 */ sb $a0, 0x43($fp)
|
||||
.L800C80A4:
|
||||
/* 0C8CA4 800C80A4 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e
|
||||
/* 0C8CA8 800C80A8 8C42C55C */ lw $v0, %lo(gModeSelection)($v0)
|
||||
/* 0C8CAC 800C80AC 24070001 */ li $a3, 1
|
||||
/* 0C8CB0 800C80B0 10000053 */ b .L800C8200
|
||||
/* 0C8CB4 800C80B4 93C40043 */ lbu $a0, 0x43($fp)
|
||||
.L800C80B8:
|
||||
/* 0C8CB8 800C80B8 01E47823 */ subu $t7, $t7, $a0
|
||||
/* 0C8CBC 800C80BC 000F7900 */ sll $t7, $t7, 4
|
||||
/* 0C8CC0 800C80C0 01E47823 */ subu $t7, $t7, $a0
|
||||
/* 0C8CC4 800C80C4 000F7880 */ sll $t7, $t7, 2
|
||||
/* 0C8CC8 800C80C8 01E47823 */ subu $t7, $t7, $a0
|
||||
/* 0C8CCC 800C80CC 3C18800F */ lui $t8, %hi(gPlayers) # $t8, 0x800f
|
||||
/* 0C8CD0 800C80D0 271869F0 */ addiu $t8, %lo(gPlayers) # addiu $t8, $t8, 0x69f0
|
||||
/* 0C8CD4 800C80D4 000F78C0 */ sll $t7, $t7, 3
|
||||
/* 0C8CD8 800C80D8 01F81821 */ addu $v1, $t7, $t8
|
||||
/* 0C8CDC 800C80DC A3C40043 */ sb $a0, 0x43($fp)
|
||||
/* 0C8CE0 800C80E0 84790004 */ lh $t9, 4($v1)
|
||||
/* 0C8CE4 800C80E4 3C01800F */ lui $at, 0x800f
|
||||
/* 0C8CE8 800C80E8 00240821 */ addu $at, $at, $a0
|
||||
/* 0C8CEC 800C80EC 1720000C */ bnez $t9, .L800C8120
|
||||
/* 0C8CF0 800C80F0 24080002 */ li $t0, 2
|
||||
/* 0C8CF4 800C80F4 A028A10C */ sb $t0, -0x5ef4($at)
|
||||
/* 0C8CF8 800C80F8 94650254 */ lhu $a1, 0x254($v1)
|
||||
/* 0C8CFC 800C80FC 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900
|
||||
/* 0C8D00 800C8100 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d
|
||||
/* 0C8D04 800C8104 00054900 */ sll $t1, $a1, 4
|
||||
/* 0C8D08 800C8108 01212821 */ addu $a1, $t1, $at
|
||||
/* 0C8D0C 800C810C 0C032447 */ jal func_800C90F4
|
||||
/* 0C8D10 800C8110 A3C40043 */ sb $a0, 0x43($fp)
|
||||
/* 0C8D14 800C8114 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e
|
||||
/* 0C8D18 800C8118 8C42C55C */ lw $v0, %lo(gModeSelection)($v0)
|
||||
/* 0C8D1C 800C811C 24070001 */ li $a3, 1
|
||||
.L800C8120:
|
||||
/* 0C8D20 800C8120 10000037 */ b .L800C8200
|
||||
/* 0C8D24 800C8124 93C40043 */ lbu $a0, 0x43($fp)
|
||||
.L800C8128:
|
||||
/* 0C8D28 800C8128 816B5845 */ lb $t3, %lo(D_801657E5)($t3)
|
||||
/* 0C8D2C 800C812C 240A0002 */ li $t2, 2
|
||||
/* 0C8D30 800C8130 3C01800F */ lui $at, 0x800f
|
||||
/* 0C8D34 800C8134 14EB0017 */ bne $a3, $t3, .L800C8194
|
||||
/* 0C8D38 800C8138 3C0E8019 */ lui $t6, %hi(D_8018ED90) # $t6, 0x8019
|
||||
/* 0C8D3C 800C813C 000460C0 */ sll $t4, $a0, 3
|
||||
/* 0C8D40 800C8140 01846023 */ subu $t4, $t4, $a0
|
||||
/* 0C8D44 800C8144 000C6100 */ sll $t4, $t4, 4
|
||||
/* 0C8D48 800C8148 01846023 */ subu $t4, $t4, $a0
|
||||
/* 0C8D4C 800C814C 000C6080 */ sll $t4, $t4, 2
|
||||
/* 0C8D50 800C8150 01846023 */ subu $t4, $t4, $a0
|
||||
/* 0C8D54 800C8154 000C60C0 */ sll $t4, $t4, 3
|
||||
/* 0C8D58 800C8158 3C05800F */ lui $a1, 0x800f
|
||||
/* 0C8D5C 800C815C 00AC2821 */ addu $a1, $a1, $t4
|
||||
/* 0C8D60 800C8160 94A56C44 */ lhu $a1, 0x6c44($a1)
|
||||
/* 0C8D64 800C8164 00240821 */ addu $at, $at, $a0
|
||||
/* 0C8D68 800C8168 A02AA10C */ sb $t2, -0x5ef4($at)
|
||||
/* 0C8D6C 800C816C 3C012900 */ lui $at, (0x29008007 >> 16) # lui $at, 0x2900
|
||||
/* 0C8D70 800C8170 34218007 */ ori $at, (0x29008007 & 0xFFFF) # ori $at, $at, 0x8007
|
||||
/* 0C8D74 800C8174 00056900 */ sll $t5, $a1, 4
|
||||
/* 0C8D78 800C8178 01A12821 */ addu $a1, $t5, $at
|
||||
/* 0C8D7C 800C817C 0C032447 */ jal func_800C90F4
|
||||
/* 0C8D80 800C8180 A3C40043 */ sb $a0, 0x43($fp)
|
||||
/* 0C8D84 800C8184 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e
|
||||
/* 0C8D88 800C8188 8C42C55C */ lw $v0, %lo(gModeSelection)($v0)
|
||||
/* 0C8D8C 800C818C 1000001B */ b .L800C81FC
|
||||
/* 0C8D90 800C8190 24070001 */ li $a3, 1
|
||||
.L800C8194:
|
||||
/* 0C8D94 800C8194 A3C40043 */ sb $a0, 0x43($fp)
|
||||
/* 0C8D98 800C8198 91CEEDF0 */ lbu $t6, %lo(D_8018ED90)($t6)
|
||||
/* 0C8D9C 800C819C 3C01800F */ lui $at, 0x800f
|
||||
/* 0C8DA0 800C81A0 00240821 */ addu $at, $at, $a0
|
||||
/* 0C8DA4 800C81A4 14EE0015 */ bne $a3, $t6, .L800C81FC
|
||||
/* 0C8DA8 800C81A8 240F0002 */ li $t7, 2
|
||||
/* 0C8DAC 800C81AC 0004C0C0 */ sll $t8, $a0, 3
|
||||
/* 0C8DB0 800C81B0 0304C023 */ subu $t8, $t8, $a0
|
||||
/* 0C8DB4 800C81B4 0018C100 */ sll $t8, $t8, 4
|
||||
/* 0C8DB8 800C81B8 0304C023 */ subu $t8, $t8, $a0
|
||||
/* 0C8DBC 800C81BC 0018C080 */ sll $t8, $t8, 2
|
||||
/* 0C8DC0 800C81C0 0304C023 */ subu $t8, $t8, $a0
|
||||
/* 0C8DC4 800C81C4 0018C0C0 */ sll $t8, $t8, 3
|
||||
/* 0C8DC8 800C81C8 3C05800F */ lui $a1, 0x800f
|
||||
/* 0C8DCC 800C81CC 00B82821 */ addu $a1, $a1, $t8
|
||||
/* 0C8DD0 800C81D0 94A56C44 */ lhu $a1, 0x6c44($a1)
|
||||
/* 0C8DD4 800C81D4 A02FA10C */ sb $t7, -0x5ef4($at)
|
||||
/* 0C8DD8 800C81D8 3C012900 */ lui $at, (0x2900800D >> 16) # lui $at, 0x2900
|
||||
/* 0C8DDC 800C81DC 3421800D */ ori $at, (0x2900800D & 0xFFFF) # ori $at, $at, 0x800d
|
||||
/* 0C8DE0 800C81E0 0005C900 */ sll $t9, $a1, 4
|
||||
/* 0C8DE4 800C81E4 03212821 */ addu $a1, $t9, $at
|
||||
/* 0C8DE8 800C81E8 0C032447 */ jal func_800C90F4
|
||||
/* 0C8DEC 800C81EC A3C40043 */ sb $a0, 0x43($fp)
|
||||
/* 0C8DF0 800C81F0 3C02800E */ lui $v0, %hi(gModeSelection) # $v0, 0x800e
|
||||
/* 0C8DF4 800C81F4 8C42C55C */ lw $v0, %lo(gModeSelection)($v0)
|
||||
/* 0C8DF8 800C81F8 24070001 */ li $a3, 1
|
||||
.L800C81FC:
|
||||
/* 0C8DFC 800C81FC 93C40043 */ lbu $a0, 0x43($fp)
|
||||
.L800C8200:
|
||||
/* 0C8E00 800C8200 1040000A */ beqz $v0, .L800C822C
|
||||
/* 0C8E04 800C8204 000440C0 */ sll $t0, $a0, 3
|
||||
/* 0C8E08 800C8208 10470078 */ beq $v0, $a3, .L800C83EC
|
||||
/* 0C8E0C 800C820C 24010002 */ li $at, 2
|
||||
/* 0C8E10 800C8210 1041004D */ beq $v0, $at, .L800C8348
|
||||
/* 0C8E14 800C8214 3C0E800F */ lui $t6, %hi(D_800EA1C0) # $t6, 0x800f
|
||||
/* 0C8E18 800C8218 24010003 */ li $at, 3
|
||||
/* 0C8E1C 800C821C 50410089 */ beql $v0, $at, .L800C8444
|
||||
/* 0C8E20 800C8220 8FC90034 */ lw $t1, 0x34($fp)
|
||||
/* 0C8E24 800C8224 1000009B */ b .L800C8494
|
||||
/* 0C8E28 800C8228 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
.L800C822C:
|
||||
/* 0C8E2C 800C822C 01044023 */ subu $t0, $t0, $a0
|
||||
/* 0C8E30 800C8230 00084100 */ sll $t0, $t0, 4
|
||||
/* 0C8E34 800C8234 01044023 */ subu $t0, $t0, $a0
|
||||
/* 0C8E38 800C8238 00084080 */ sll $t0, $t0, 2
|
||||
/* 0C8E3C 800C823C 01044023 */ subu $t0, $t0, $a0
|
||||
/* 0C8E40 800C8240 000840C0 */ sll $t0, $t0, 3
|
||||
/* 0C8E44 800C8244 3C02800F */ lui $v0, 0x800f
|
||||
/* 0C8E48 800C8248 00481021 */ addu $v0, $v0, $t0
|
||||
/* 0C8E4C 800C824C 844269F4 */ lh $v0, 0x69f4($v0)
|
||||
/* 0C8E50 800C8250 8FC90034 */ lw $t1, 0x34($fp)
|
||||
/* 0C8E54 800C8254 14400014 */ bnez $v0, .L800C82A8
|
||||
/* 0C8E58 800C8258 8D230000 */ lw $v1, ($t1)
|
||||
/* 0C8E5C 800C825C 2861015F */ slti $at, $v1, 0x15f
|
||||
/* 0C8E60 800C8260 14200007 */ bnez $at, .L800C8280
|
||||
/* 0C8E64 800C8264 2401015F */ li $at, 351
|
||||
/* 0C8E68 800C8268 5461008A */ bnel $v1, $at, .L800C8494
|
||||
/* 0C8E6C 800C826C 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
/* 0C8E70 800C8270 0C03274D */ jal func_800C9D0C
|
||||
/* 0C8E74 800C8274 00000000 */ nop
|
||||
/* 0C8E78 800C8278 10000086 */ b .L800C8494
|
||||
/* 0C8E7C 800C827C 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
.L800C8280:
|
||||
/* 0C8E80 800C8280 44832000 */ mtc1 $v1, $f4
|
||||
/* 0C8E84 800C8284 3C0143C8 */ li $at, 0x43C80000 # 400.000000
|
||||
/* 0C8E88 800C8288 44814000 */ mtc1 $at, $f8
|
||||
/* 0C8E8C 800C828C 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 0C8E90 800C8290 8FCB0038 */ lw $t3, 0x38($fp)
|
||||
/* 0C8E94 800C8294 3C01800F */ lui $at, 0x800f
|
||||
/* 0C8E98 800C8298 002B0821 */ addu $at, $at, $t3
|
||||
/* 0C8E9C 800C829C 46083283 */ div.s $f10, $f6, $f8
|
||||
/* 0C8EA0 800C82A0 1000007B */ b .L800C8490
|
||||
/* 0C8EA4 800C82A4 E42AA150 */ swc1 $f10, -0x5eb0($at)
|
||||
.L800C82A8:
|
||||
/* 0C8EA8 800C82A8 28410004 */ slti $at, $v0, 4
|
||||
/* 0C8EAC 800C82AC 10200013 */ beqz $at, .L800C82FC
|
||||
/* 0C8EB0 800C82B0 2861015F */ slti $at, $v1, 0x15f
|
||||
/* 0C8EB4 800C82B4 14200007 */ bnez $at, .L800C82D4
|
||||
/* 0C8EB8 800C82B8 2401015F */ li $at, 351
|
||||
/* 0C8EBC 800C82BC 54610075 */ bnel $v1, $at, .L800C8494
|
||||
/* 0C8EC0 800C82C0 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
/* 0C8EC4 800C82C4 0C03274D */ jal func_800C9D0C
|
||||
/* 0C8EC8 800C82C8 00000000 */ nop
|
||||
/* 0C8ECC 800C82CC 10000071 */ b .L800C8494
|
||||
/* 0C8ED0 800C82D0 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
.L800C82D4:
|
||||
/* 0C8ED4 800C82D4 44838000 */ mtc1 $v1, $f16
|
||||
/* 0C8ED8 800C82D8 3C0143C8 */ li $at, 0x43C80000 # 400.000000
|
||||
/* 0C8EDC 800C82DC 44812000 */ mtc1 $at, $f4
|
||||
/* 0C8EE0 800C82E0 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 0C8EE4 800C82E4 8FCA0038 */ lw $t2, 0x38($fp)
|
||||
/* 0C8EE8 800C82E8 3C01800F */ lui $at, 0x800f
|
||||
/* 0C8EEC 800C82EC 002A0821 */ addu $at, $at, $t2
|
||||
/* 0C8EF0 800C82F0 46049183 */ div.s $f6, $f18, $f4
|
||||
/* 0C8EF4 800C82F4 10000066 */ b .L800C8490
|
||||
/* 0C8EF8 800C82F8 E426A150 */ swc1 $f6, -0x5eb0($at)
|
||||
.L800C82FC:
|
||||
/* 0C8EFC 800C82FC 2861012D */ slti $at, $v1, 0x12d
|
||||
/* 0C8F00 800C8300 14200007 */ bnez $at, .L800C8320
|
||||
/* 0C8F04 800C8304 2401012D */ li $at, 301
|
||||
/* 0C8F08 800C8308 54610062 */ bnel $v1, $at, .L800C8494
|
||||
/* 0C8F0C 800C830C 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
/* 0C8F10 800C8310 0C0325FB */ jal func_800C97C4
|
||||
/* 0C8F14 800C8314 00000000 */ nop
|
||||
/* 0C8F18 800C8318 1000005E */ b .L800C8494
|
||||
/* 0C8F1C 800C831C 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
.L800C8320:
|
||||
/* 0C8F20 800C8320 44834000 */ mtc1 $v1, $f8
|
||||
/* 0C8F24 800C8324 3C0143A5 */ li $at, 0x43A50000 # 330.000000
|
||||
/* 0C8F28 800C8328 44818000 */ mtc1 $at, $f16
|
||||
/* 0C8F2C 800C832C 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 0C8F30 800C8330 8FCC0038 */ lw $t4, 0x38($fp)
|
||||
/* 0C8F34 800C8334 3C01800F */ lui $at, 0x800f
|
||||
/* 0C8F38 800C8338 002C0821 */ addu $at, $at, $t4
|
||||
/* 0C8F3C 800C833C 46105483 */ div.s $f18, $f10, $f16
|
||||
/* 0C8F40 800C8340 10000053 */ b .L800C8490
|
||||
/* 0C8F44 800C8344 E432A150 */ swc1 $f18, -0x5eb0($at)
|
||||
.L800C8348:
|
||||
/* 0C8F48 800C8348 91CEA1E0 */ lbu $t6, %lo(D_800EA1C0)($t6)
|
||||
/* 0C8F4C 800C834C 8FCD0034 */ lw $t5, 0x34($fp)
|
||||
/* 0C8F50 800C8350 14EE0014 */ bne $a3, $t6, .L800C83A4
|
||||
/* 0C8F54 800C8354 8DA30000 */ lw $v1, ($t5)
|
||||
/* 0C8F58 800C8358 28610065 */ slti $at, $v1, 0x65
|
||||
/* 0C8F5C 800C835C 14200007 */ bnez $at, .L800C837C
|
||||
/* 0C8F60 800C8360 24010065 */ li $at, 101
|
||||
/* 0C8F64 800C8364 54610022 */ bnel $v1, $at, .L800C83F0
|
||||
/* 0C8F68 800C8368 8FD90034 */ lw $t9, 0x34($fp)
|
||||
/* 0C8F6C 800C836C 0C03274D */ jal func_800C9D0C
|
||||
/* 0C8F70 800C8370 00000000 */ nop
|
||||
/* 0C8F74 800C8374 1000001E */ b .L800C83F0
|
||||
/* 0C8F78 800C8378 8FD90034 */ lw $t9, 0x34($fp)
|
||||
.L800C837C:
|
||||
/* 0C8F7C 800C837C 44832000 */ mtc1 $v1, $f4
|
||||
/* 0C8F80 800C8380 3C0142F0 */ li $at, 0x42F00000 # 120.000000
|
||||
/* 0C8F84 800C8384 44814000 */ mtc1 $at, $f8
|
||||
/* 0C8F88 800C8388 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 0C8F8C 800C838C 8FCF0038 */ lw $t7, 0x38($fp)
|
||||
/* 0C8F90 800C8390 3C01800F */ lui $at, 0x800f
|
||||
/* 0C8F94 800C8394 002F0821 */ addu $at, $at, $t7
|
||||
/* 0C8F98 800C8398 46083283 */ div.s $f10, $f6, $f8
|
||||
/* 0C8F9C 800C839C 10000013 */ b .L800C83EC
|
||||
/* 0C8FA0 800C83A0 E42AA150 */ swc1 $f10, -0x5eb0($at)
|
||||
.L800C83A4:
|
||||
/* 0C8FA4 800C83A4 28610065 */ slti $at, $v1, 0x65
|
||||
/* 0C8FA8 800C83A8 14200007 */ bnez $at, .L800C83C8
|
||||
/* 0C8FAC 800C83AC 24010065 */ li $at, 101
|
||||
/* 0C8FB0 800C83B0 5461000F */ bnel $v1, $at, .L800C83F0
|
||||
/* 0C8FB4 800C83B4 8FD90034 */ lw $t9, 0x34($fp)
|
||||
/* 0C8FB8 800C83B8 0C0325FB */ jal func_800C97C4
|
||||
/* 0C8FBC 800C83BC 00000000 */ nop
|
||||
/* 0C8FC0 800C83C0 1000000B */ b .L800C83F0
|
||||
/* 0C8FC4 800C83C4 8FD90034 */ lw $t9, 0x34($fp)
|
||||
.L800C83C8:
|
||||
/* 0C8FC8 800C83C8 44838000 */ mtc1 $v1, $f16
|
||||
/* 0C8FCC 800C83CC 3C0142F0 */ li $at, 0x42F00000 # 120.000000
|
||||
/* 0C8FD0 800C83D0 44812000 */ mtc1 $at, $f4
|
||||
/* 0C8FD4 800C83D4 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 0C8FD8 800C83D8 8FD80038 */ lw $t8, 0x38($fp)
|
||||
/* 0C8FDC 800C83DC 3C01800F */ lui $at, 0x800f
|
||||
/* 0C8FE0 800C83E0 00380821 */ addu $at, $at, $t8
|
||||
/* 0C8FE4 800C83E4 46049183 */ div.s $f6, $f18, $f4
|
||||
/* 0C8FE8 800C83E8 E426A150 */ swc1 $f6, -0x5eb0($at)
|
||||
.L800C83EC:
|
||||
/* 0C8FEC 800C83EC 8FD90034 */ lw $t9, 0x34($fp)
|
||||
.L800C83F0:
|
||||
/* 0C8FF0 800C83F0 8F230000 */ lw $v1, ($t9)
|
||||
/* 0C8FF4 800C83F4 2861012D */ slti $at, $v1, 0x12d
|
||||
/* 0C8FF8 800C83F8 14200007 */ bnez $at, .L800C8418
|
||||
/* 0C8FFC 800C83FC 2401012D */ li $at, 301
|
||||
/* 0C9000 800C8400 54610024 */ bnel $v1, $at, .L800C8494
|
||||
/* 0C9004 800C8404 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
/* 0C9008 800C8408 0C03274D */ jal func_800C9D0C
|
||||
/* 0C900C 800C840C 00002025 */ move $a0, $zero
|
||||
/* 0C9010 800C8410 10000020 */ b .L800C8494
|
||||
/* 0C9014 800C8414 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
.L800C8418:
|
||||
/* 0C9018 800C8418 44834000 */ mtc1 $v1, $f8
|
||||
/* 0C901C 800C841C 3C0143AF */ li $at, 0x43AF0000 # 350.000000
|
||||
/* 0C9020 800C8420 44818000 */ mtc1 $at, $f16
|
||||
/* 0C9024 800C8424 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 0C9028 800C8428 8FC80038 */ lw $t0, 0x38($fp)
|
||||
/* 0C902C 800C842C 3C01800F */ lui $at, 0x800f
|
||||
/* 0C9030 800C8430 00280821 */ addu $at, $at, $t0
|
||||
/* 0C9034 800C8434 46105483 */ div.s $f18, $f10, $f16
|
||||
/* 0C9038 800C8438 10000015 */ b .L800C8490
|
||||
/* 0C903C 800C843C E432A150 */ swc1 $f18, -0x5eb0($at)
|
||||
/* 0C9040 800C8440 8FC90034 */ lw $t1, 0x34($fp)
|
||||
.L800C8444:
|
||||
/* 0C9044 800C8444 8D230000 */ lw $v1, ($t1)
|
||||
/* 0C9048 800C8448 28610065 */ slti $at, $v1, 0x65
|
||||
/* 0C904C 800C844C 14200007 */ bnez $at, .L800C846C
|
||||
/* 0C9050 800C8450 24010065 */ li $at, 101
|
||||
/* 0C9054 800C8454 5461000F */ bnel $v1, $at, .L800C8494
|
||||
/* 0C9058 800C8458 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
/* 0C905C 800C845C 0C0325FB */ jal func_800C97C4
|
||||
/* 0C9060 800C8460 00000000 */ nop
|
||||
/* 0C9064 800C8464 1000000B */ b .L800C8494
|
||||
/* 0C9068 800C8468 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
.L800C846C:
|
||||
/* 0C906C 800C846C 44832000 */ mtc1 $v1, $f4
|
||||
/* 0C9070 800C8470 3C0142F0 */ li $at, 0x42F00000 # 120.000000
|
||||
/* 0C9074 800C8474 44814000 */ mtc1 $at, $f8
|
||||
/* 0C9078 800C8478 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 0C907C 800C847C 8FCB0038 */ lw $t3, 0x38($fp)
|
||||
/* 0C9080 800C8480 3C01800F */ lui $at, 0x800f
|
||||
/* 0C9084 800C8484 002B0821 */ addu $at, $at, $t3
|
||||
/* 0C9088 800C8488 46083283 */ div.s $f10, $f6, $f8
|
||||
/* 0C908C 800C848C E42AA150 */ swc1 $f10, -0x5eb0($at)
|
||||
.L800C8490:
|
||||
/* 0C9090 800C8490 8FDF002C */ lw $ra, 0x2c($fp)
|
||||
.L800C8494:
|
||||
/* 0C9094 800C8494 03C0E825 */ move $sp, $fp
|
||||
/* 0C9098 800C8498 8FDE0028 */ lw $fp, 0x28($fp)
|
||||
/* 0C909C 800C849C 03E00008 */ jr $ra
|
||||
/* 0C90A0 800C84A0 27BD0040 */ addiu $sp, $sp, 0x40
|
|
@ -1,12 +1,21 @@
|
|||
|
||||
.ifdef VERSION_EU
|
||||
.macro gsymbol sym addr
|
||||
.global \sym
|
||||
.set \sym, \addr
|
||||
|
||||
nop
|
||||
nop
|
||||
|
||||
.endm
|
||||
|
||||
.else
|
||||
|
||||
.macro gsymbol sym addr
|
||||
.global \sym
|
||||
.set \sym, \addr
|
||||
nop
|
||||
nop
|
||||
.endm
|
||||
|
||||
.endif
|
||||
|
||||
.text
|
||||
gsymbol osTvType 0x80000300
|
||||
gsymbol osRomType 0x80000304
|
||||
|
|
|
@ -20,6 +20,15 @@
|
|||
.ascii "KT" /* Cartridge ID */
|
||||
|
||||
/* Region */
|
||||
.ascii "E" /* NTSC-U */
|
||||
|
||||
.ifdef VERSION_EU
|
||||
.ascii "P" /* PAL (Europe) */
|
||||
.else
|
||||
.ascii "E" /* NTSC-U (North America) */
|
||||
.endif
|
||||
|
||||
.ifdef VERSION_EU_1_1
|
||||
.byte 0x01 /* Version */
|
||||
.else
|
||||
.byte 0x00 /* Version */
|
||||
.endif
|
||||
|
|
40
assets.json
40
assets.json
|
@ -132,7 +132,8 @@
|
|||
"bin/course_dks_jungle_parkway_packed.bin": {"meta":{"size": "0x3424"}, "offsets":{"us":["0x960ACC","0x0"]}},
|
||||
"bin/course_big_donut_vertex.bin": {"meta":{"size": "0x2370"}, "offsets":{"us":["0x963EF0","0x0"]}},
|
||||
"bin/course_big_donut_packed.bin": {"meta":{"size": "0x7EC"}, "offsets":{"us":["0x965A74","0x0"]}},
|
||||
"bin/mk64.u.966260.bin": {"meta":{"size": "0x13840"}, "offsets":{"us":["0x966260","0x0"]}},
|
||||
"bin/audiobanks.us.bin": {"meta":{"size": "0x13840"}, "offsets":{"us":["0x966260","0x0"],"eu-final":["0x966380","0x0"]}},
|
||||
"bin/audiobanks.eu.bin": {"meta":{"size": "0x13840"}, "offsets":{"eu-1.0":["0x966460","0x0"]}},
|
||||
"bin/mk64.u.979AA0.bin": {"meta":{"size": "0x24C4C0"}, "offsets":{"us":["0x979AA0","0x0"]}},
|
||||
|
||||
"music/00_seq_00.m64": {"meta":{"size":"0x2830"}, "offsets": {"us":["0xBC6060", "0x0"]}},
|
||||
|
@ -143,15 +144,15 @@
|
|||
"music/05_choco_mountain.m64": {"meta":{"size":"0x1F70"}, "offsets": {"us":["0xBCE7D0", "0x0"]}},
|
||||
"music/06_koopa_troopa_beach.m64": {"meta":{"size":"0x1EE0"}, "offsets": {"us":["0xBD0740", "0x0"]}},
|
||||
"music/07_banshee_boardwalk.m64": {"meta":{"size":"0x16D0"}, "offsets": {"us":["0xBD2620", "0x0"]}},
|
||||
"music/08_seq_08.m64": {"meta":{"size":"0x23D0"}, "offsets": {"us":["0xBD3CF0", "0x0"]}},
|
||||
"music/09_seq_09.m64": {"meta":{"size":"0x1800"}, "offsets": {"us":["0xBD60C0", "0x0"]}},
|
||||
"music/08_seq_08.m64": {"meta":{"size":"0x23D0"}, "offsets": {"us":["0xBD3CF0", "0x0"]}},
|
||||
"music/09_seq_09.m64": {"meta":{"size":"0x1800"}, "offsets": {"us":["0xBD60C0", "0x0"]}},
|
||||
"music/10_kalimari_desert.m64": {"meta":{"size":"0x1AE0"}, "offsets": {"us":["0xBD78C0", "0x0"]}},
|
||||
"music/11_start_grid_gp_vs.m64": {"meta":{"size":"0x05F0"}, "offsets": {"us":["0xBD93A0", "0x0"]}},
|
||||
"music/12_final_lap_fanfare.m64": {"meta":{"size":"0x03D0"}, "offsets": {"us":["0xBD9990", "0x0"]}},
|
||||
"music/13_finish_1st_place.m64": {"meta":{"size":"0x0360"}, "offsets": {"us":["0xBD9D60", "0x0"]}},
|
||||
"music/14_finish_2nd_4th_place.m64": {"meta":{"size":"0x02E0"}, "offsets": {"us":["0xBDA0C0", "0x0"]}},
|
||||
"music/15_finish_5th_8th_place.m64": {"meta":{"size":"0x04C0"}, "offsets": {"us":["0xBDA3A0", "0x0"]}},
|
||||
"music/16_seq_10.m64": {"meta":{"size":"0x1410"}, "offsets": {"us":["0xBDA860", "0x0"]}},
|
||||
"music/16_seq_10.m64": {"meta":{"size":"0x1410"}, "offsets": {"us":["0xBDA860", "0x0"]}},
|
||||
"music/17_star_jingle.m64": {"meta":{"size":"0x06E0"}, "offsets": {"us":["0xBDBC70", "0x0"]}},
|
||||
"music/18_rainbow_road.m64": {"meta":{"size":"0x32F0"}, "offsets": {"us":["0xBDC350", "0x0"]}},
|
||||
"music/19_maybe_boo_item.m64": {"meta":{"size":"0x06C0"}, "offsets": {"us":["0xBDF640", "0x0"]}},
|
||||
|
@ -166,6 +167,37 @@
|
|||
"music/28_staff_roll.m64": {"meta":{"size":"0x2750"}, "offsets": {"us":["0xBE5D00", "0x0"]}},
|
||||
"music/29_award_ceremony_4th_8th.m64": {"meta":{"size":"0x0C80"}, "offsets": {"us":["0xBE8450", "0x0"]}},
|
||||
|
||||
"music/eu/00_seq_00.m64": {"meta":{"size":"0x2910"}, "offsets": {"eu-1.0":["0xBC6260", "0x0"],"eu-final":["0xBC6180", "0x0"]}},
|
||||
"music/eu/01_title_screen.m64": {"meta":{"size":"0x1B30"}, "offsets": {"eu-1.0":["0xBC8B70", "0x0"],"eu-final":["0xBC8A90", "0x0"]}},
|
||||
"music/eu/02_main_menu.m64": {"meta":{"size":"0x0D60"}, "offsets": {"eu-1.0":["0xBCA6A0", "0x0"],"eu-final":["0xBCA5C0", "0x0"]}},
|
||||
"music/eu/03_racways_wario_stadium.m64": {"meta":{"size":"0x1A10"}, "offsets": {"eu-1.0":["0xBCB400", "0x0"],"eu-final":["0xBCB320", "0x0"]}},
|
||||
"music/eu/04_moo_moo_fame_yoshi_valley.m64": {"meta":{"size":"0x1CA0"}, "offsets": {"eu-1.0":["0xBCCE10", "0x0"],"eu-final":["0xBCCC30", "0x0"]}},
|
||||
"music/eu/05_choco_mountain.m64": {"meta":{"size":"0x1F70"}, "offsets": {"eu-1.0":["0xBCEAB0", "0x0"],"eu-final":["0xBCE9D0", "0x0"]}},
|
||||
"music/eu/06_koopa_troopa_beach.m64": {"meta":{"size":"0x1EE0"}, "offsets": {"eu-1.0":["0xBD0A20", "0x0"],"eu-final":["0xBD0920", "0x0"]}},
|
||||
"music/eu/07_banshee_boardwalk.m64": {"meta":{"size":"0x16D0"}, "offsets": {"eu-1.0":["0xBD2900", "0x0"],"eu-final":["0xBD2800", "0x0"]}},
|
||||
"music/eu/08_seq_08.m64": {"meta":{"size":"0x23D0"}, "offsets": {"eu-1.0":["0xBD3FD0", "0x0"],"eu-final":["0xBD3E50", "0x0"]}},
|
||||
"music/eu/09_seq_09.m64": {"meta":{"size":"0x1800"}, "offsets": {"eu-1.0":["0xBD63A0", "0x0"],"eu-final":["0xBD6230", "0x0"]}},
|
||||
"music/eu/10_kalimari_desert.m64": {"meta":{"size":"0x1AE0"}, "offsets": {"eu-1.0":["0xBD7BA0", "0x0"],"eu-final":["0xBD7A20", "0x0"]}},
|
||||
"music/eu/11_start_grid_gp_vs.m64": {"meta":{"size":"0x05F0"}, "offsets": {"eu-1.0":["0xBD9680", "0x0"],"eu-final":["0xBD9500", "0x0"]}},
|
||||
"music/eu/12_final_lap_fanfare.m64": {"meta":{"size":"0x03D0"}, "offsets": {"eu-1.0":["0xBD9C70", "0x0"],"eu-final":["0xBD9AF0", "0x0"]}},
|
||||
"music/eu/13_finish_1st_place.m64": {"meta":{"size":"0x0360"}, "offsets": {"eu-1.0":["0xBDA040", "0x0"],"eu-final":["0xBD9DC0", "0x0"]}},
|
||||
"music/eu/14_finish_2nd_4th_place.m64": {"meta":{"size":"0x02E0"}, "offsets": {"eu-1.0":["0xBDA3A0", "0x0"],"eu-final":["0xBDA140", "0x0"]}},
|
||||
"music/eu/15_finish_5th_8th_place.m64": {"meta":{"size":"0x04C0"}, "offsets": {"eu-1.0":["0xBDA680", "0x0"],"eu-final":["0xBDA400", "0x0"]}},
|
||||
"music/eu/16_seq_10.m64": {"meta":{"size":"0x1410"}, "offsets": {"eu-1.0":["0xBDAB40", "0x0"],"eu-final":["0xBDAA60", "0x0"]}},
|
||||
"music/eu/17_star_jingle.m64": {"meta":{"size":"0x06E0"}, "offsets": {"eu-1.0":["0xBDBF50", "0x0"],"eu-final":["0xBDBE70", "0x0"]}},
|
||||
"music/eu/18_rainbow_road.m64": {"meta":{"size":"0x32F0"}, "offsets": {"eu-1.0":["0xBDC630", "0x0"],"eu-final":["0xBDC4D0", "0x0"]}},
|
||||
"music/eu/19_maybe_boo_item.m64": {"meta":{"size":"0x06C0"}, "offsets": {"eu-1.0":["0xBDF920", "0x0"],"eu-final":["0xBDF840", "0x0"]}},
|
||||
"music/eu/20_game_over.m64": {"meta":{"size":"0x04B0"}, "offsets": {"eu-1.0":["0xBDFFE0", "0x0"],"eu-final":["0xBDFF00", "0x0"]}},
|
||||
"music/eu/21_toads_turnpike.m64": {"meta":{"size":"0x1160"}, "offsets": {"eu-1.0":["0xBE0490", "0x0"],"eu-final":["0xBE0380", "0x0"]}},
|
||||
"music/eu/22_start_gird_time_attack.m64": {"meta":{"size":"0x0310"}, "offsets": {"eu-1.0":["0xBE15F0", "0x0"],"eu-final":["0xBE1500", "0x0"]}},
|
||||
"music/eu/23_vs_battle_results.m64": {"meta":{"size":"0x12B0"}, "offsets": {"eu-1.0":["0xBE1900", "0x0"],"eu-final":["0xBE17D0", "0x0"]}},
|
||||
"music/eu/24_losing_results.m64": {"meta":{"size":"0x0600"}, "offsets": {"eu-1.0":["0xBE2BB0", "0x0"],"eu-final":["0xBE2A90", "0x0"]}},
|
||||
"music/eu/25_battle_arenas.m64": {"meta":{"size":"0x16E0"}, "offsets": {"eu-1.0":["0xBE31B0", "0x0"],"eu-final":["0xBE30B0", "0x0"]}},
|
||||
"music/eu/26_award_ceremony_buildup.m64": {"meta":{"size":"0x0AD0"}, "offsets": {"eu-1.0":["0xBE4890", "0x0"],"eu-final":["0xBE4780", "0x0"]}},
|
||||
"music/eu/27_award_ceremony_1st_3rd.m64": {"meta":{"size":"0x0C80"}, "offsets": {"eu-1.0":["0xBE5360", "0x0"],"eu-final":["0xBE5260", "0x0"]}},
|
||||
"music/eu/28_staff_roll.m64": {"meta":{"size":"0x2750"}, "offsets": {"eu-1.0":["0xBE5FE0", "0x0"],"eu-final":["0xBE5EA0", "0x0"]}},
|
||||
"music/eu/29_award_ceremony_4th_8th.m64": {"meta":{"size":"0x0C80"}, "offsets": {"eu-1.0":["0xBE8730", "0x0"],"eu-final":["0xBE8680", "0x0"]}},
|
||||
|
||||
"bin/texture_68EB50.bin": {"meta":{"size": "0x400"}, "offsets":{"us":["0x68EB50","0x0"]}},
|
||||
"bin/texture_68EDA0.bin": {"meta":{"size": "0x400"}, "offsets":{"us":["0x68EDA0","0x0"]}},
|
||||
"bin/texture_68EFF0.bin": {"meta":{"size": "0x400"}, "offsets":{"us":["0x68EFF0","0x0"]}},
|
||||
|
|
|
@ -5,4 +5,10 @@
|
|||
|
||||
.section .data
|
||||
|
||||
.incbin "bin/mk64.u.966260.bin" # Audiobank data
|
||||
# Audiobank data
|
||||
|
||||
.ifdef VERSION_EU_1_0
|
||||
.incbin "bin/audiobanks.eu.bin"
|
||||
.else
|
||||
.incbin "bin/audiobanks.us.bin"
|
||||
.endif
|
||||
|
|
|
@ -0,0 +1,168 @@
|
|||
# Mario Kart 64 (U) disassembly and split file
|
||||
# generated by n64split v0.4a - N64 ROM splitter
|
||||
|
||||
.include "macros.inc"
|
||||
|
||||
.section .data
|
||||
|
||||
.ifdef VERSION_EU
|
||||
# music sequence table
|
||||
glabel music_sequence_table_header
|
||||
.hword 3, ((music_sequence_table_end - music_sequence_table) / 8) - 1 # this should be 30...
|
||||
glabel music_sequence_table
|
||||
.word (seq_00 - music_sequence_table_header), (seq_00_end - seq_00) # 0x00100, 0x2830
|
||||
.word (seq_01 - music_sequence_table_header), (seq_01_end - seq_01) # 0x02930, 0x1B30
|
||||
.word (seq_02 - music_sequence_table_header), (seq_02_end - seq_02) # 0x04460, 0x0D60
|
||||
.word (seq_03 - music_sequence_table_header), (seq_03_end - seq_03) # 0x051C0, 0x1A10
|
||||
.word (seq_04 - music_sequence_table_header), (seq_04_end - seq_04) # 0x06BD0, 0x1CA0
|
||||
.word (seq_05 - music_sequence_table_header), (seq_05_end - seq_05) # 0x08870, 0x1F70
|
||||
.word (seq_06 - music_sequence_table_header), (seq_06_end - seq_06) # 0x0A7E0, 0x1EE0
|
||||
.word (seq_07 - music_sequence_table_header), (seq_07_end - seq_07) # 0x0C6C0, 0x16D0
|
||||
.word (seq_08 - music_sequence_table_header), (seq_08_end - seq_08) # 0x0DD90, 0x23D0
|
||||
.word (seq_09 - music_sequence_table_header), (seq_09_end - seq_09) # 0x10160, 0x1800
|
||||
.word (seq_0A - music_sequence_table_header), (seq_0A_end - seq_0A) # 0x11960, 0x1AE0
|
||||
.word (seq_0B - music_sequence_table_header), (seq_0B_end - seq_0B) # 0x13440, 0x05F0
|
||||
.word (seq_0C - music_sequence_table_header), (seq_0C_end - seq_0C) # 0x13A30, 0x03D0
|
||||
.word (seq_0D - music_sequence_table_header), (seq_0D_end - seq_0D) # 0x13E00, 0x0360
|
||||
.word (seq_0E - music_sequence_table_header), (seq_0E_end - seq_0E) # 0x14160, 0x02E0
|
||||
.word (seq_0F - music_sequence_table_header), (seq_0F_end - seq_0F) # 0x14440, 0x04C0
|
||||
.word (seq_10 - music_sequence_table_header), (seq_10_end - seq_10) # 0x14900, 0x1410
|
||||
.word (seq_11 - music_sequence_table_header), (seq_11_end - seq_11) # 0x15D10, 0x06E0
|
||||
.word (seq_12 - music_sequence_table_header), (seq_12_end - seq_12) # 0x163F0, 0x32F0
|
||||
.word (seq_13 - music_sequence_table_header), (seq_13_end - seq_13) # 0x196E0, 0x06C0
|
||||
.word (seq_14 - music_sequence_table_header), (seq_14_end - seq_14) # 0x19DA0, 0x04B0
|
||||
.word (seq_15 - music_sequence_table_header), (seq_15_end - seq_15) # 0x1A250, 0x1160
|
||||
.word (seq_16 - music_sequence_table_header), (seq_16_end - seq_16) # 0x1B3B0, 0x0310
|
||||
.word (seq_17 - music_sequence_table_header), (seq_17_end - seq_17) # 0x1B6C0, 0x12B0
|
||||
.word (seq_18 - music_sequence_table_header), (seq_18_end - seq_18) # 0x1C970, 0x0600
|
||||
.word (seq_19 - music_sequence_table_header), (seq_19_end - seq_19) # 0x1CF70, 0x16E0
|
||||
.word (seq_1A - music_sequence_table_header), (seq_1A_end - seq_1A) # 0x1E650, 0x0AD0
|
||||
.word (seq_1B - music_sequence_table_header), (seq_1B_end - seq_1B) # 0x1F120, 0x0C80
|
||||
.word (seq_1C - music_sequence_table_header), (seq_1C_end - seq_1C) # 0x1FDA0, 0x2750
|
||||
.word (seq_1D - music_sequence_table_header), (seq_1D_end - seq_1D) # 0x224F0, 0x0C80
|
||||
glabel music_sequence_table_end
|
||||
|
||||
.align 4, 0x00
|
||||
|
||||
glabel seq_00
|
||||
.incbin "music/eu/00_seq_00.m64"
|
||||
glabel seq_00_end
|
||||
|
||||
glabel seq_01
|
||||
.incbin "music/eu/01_title_screen.m64"
|
||||
glabel seq_01_end
|
||||
|
||||
glabel seq_02
|
||||
.incbin "music/eu/02_main_menu.m64"
|
||||
glabel seq_02_end
|
||||
|
||||
glabel seq_03
|
||||
.incbin "music/eu/03_racways_wario_stadium.m64"
|
||||
glabel seq_03_end
|
||||
|
||||
glabel seq_04
|
||||
.incbin "music/eu/04_moo_moo_fame_yoshi_valley.m64"
|
||||
glabel seq_04_end
|
||||
|
||||
glabel seq_05
|
||||
.incbin "music/eu/05_choco_mountain.m64"
|
||||
glabel seq_05_end
|
||||
|
||||
glabel seq_06
|
||||
.incbin "music/eu/06_koopa_troopa_beach.m64"
|
||||
glabel seq_06_end
|
||||
|
||||
glabel seq_07
|
||||
.incbin "music/eu/07_banshee_boardwalk.m64"
|
||||
glabel seq_07_end
|
||||
|
||||
glabel seq_08
|
||||
.incbin "music/eu/08_seq_08.m64"
|
||||
glabel seq_08_end
|
||||
|
||||
glabel seq_09
|
||||
.incbin "music/eu/09_seq_09.m64"
|
||||
glabel seq_09_end
|
||||
|
||||
glabel seq_0A
|
||||
.incbin "music/eu/10_kalimari_desert.m64"
|
||||
glabel seq_0A_end
|
||||
|
||||
glabel seq_0B
|
||||
.incbin "music/eu/11_start_grid_gp_vs.m64"
|
||||
glabel seq_0B_end
|
||||
|
||||
glabel seq_0C
|
||||
.incbin "music/eu/12_final_lap_fanfare.m64"
|
||||
glabel seq_0C_end
|
||||
|
||||
glabel seq_0D
|
||||
.incbin "music/eu/13_finish_1st_place.m64"
|
||||
glabel seq_0D_end
|
||||
|
||||
glabel seq_0E
|
||||
.incbin "music/eu/14_finish_2nd_4th_place.m64"
|
||||
glabel seq_0E_end
|
||||
|
||||
glabel seq_0F
|
||||
.incbin "music/eu/15_finish_5th_8th_place.m64"
|
||||
glabel seq_0F_end
|
||||
|
||||
glabel seq_10
|
||||
.incbin "music/eu/16_seq_10.m64"
|
||||
glabel seq_10_end
|
||||
|
||||
glabel seq_11
|
||||
.incbin "music/eu/17_star_jingle.m64"
|
||||
glabel seq_11_end
|
||||
|
||||
glabel seq_12
|
||||
.incbin "music/eu/18_rainbow_road.m64"
|
||||
glabel seq_12_end
|
||||
|
||||
glabel seq_13
|
||||
.incbin "music/eu/19_maybe_boo_item.m64"
|
||||
glabel seq_13_end
|
||||
|
||||
glabel seq_14
|
||||
.incbin "music/eu/20_game_over.m64"
|
||||
glabel seq_14_end
|
||||
|
||||
glabel seq_15
|
||||
.incbin "music/eu/21_toads_turnpike.m64"
|
||||
glabel seq_15_end
|
||||
|
||||
glabel seq_16
|
||||
.incbin "music/eu/22_start_gird_time_attack.m64"
|
||||
glabel seq_16_end
|
||||
|
||||
glabel seq_17
|
||||
.incbin "music/eu/23_vs_battle_results.m64"
|
||||
glabel seq_17_end
|
||||
|
||||
glabel seq_18
|
||||
.incbin "music/eu/24_losing_results.m64"
|
||||
glabel seq_18_end
|
||||
|
||||
glabel seq_19
|
||||
.incbin "music/eu/25_battle_arenas.m64"
|
||||
glabel seq_19_end
|
||||
|
||||
glabel seq_1A
|
||||
.incbin "music/eu/26_award_ceremony_buildup.m64"
|
||||
glabel seq_1A_end
|
||||
|
||||
glabel seq_1B
|
||||
.incbin "music/eu/27_award_ceremony_1st_3rd.m64"
|
||||
glabel seq_1B_end
|
||||
|
||||
glabel seq_1C
|
||||
.incbin "music/eu/28_staff_roll.m64"
|
||||
glabel seq_1C_end
|
||||
|
||||
glabel seq_1D
|
||||
.incbin "music/eu/29_award_ceremony_4th_8th.m64"
|
||||
glabel seq_1D_end
|
||||
# Unknown region BE90D0-BE90E0 [10]
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.endif
|
|
@ -4,13 +4,17 @@ def add_custom_arguments(parser):
|
|||
group = parser.add_mutually_exclusive_group(required=False)
|
||||
group.add_argument('-u', dest='lang', action='store_const', const='us',
|
||||
help="Set version to US.")
|
||||
group.add_argument('-eu10', dest='lang', action='store_const', const='eu',
|
||||
help="Set version to EU.")
|
||||
group.add_argument('-eu11', dest='lang', action='store_const', const='eu',
|
||||
help="Set version to EU.")
|
||||
|
||||
def apply(config, args):
|
||||
lang = args.lang or 'us'
|
||||
if args.lang == 'eu10': lang = 'eu-1.0'
|
||||
if args.lang == 'eu11': lang = 'eu-final'
|
||||
config['mapfile'] = f'build/{lang}/mk64.{lang}.map'
|
||||
config['myimg'] = f'build/{lang}/mk64.{lang}.z64'
|
||||
config['baseimg'] = f'baserom.{lang}.z64'
|
||||
config['makeflags'] = [f'VERSION={lang}']
|
||||
config['source_directories'] = ['.']
|
||||
|
||||
|
||||
|
|
|
@ -62,7 +62,7 @@ def main():
|
|||
clean_assets(local_asset_file)
|
||||
sys.exit(0)
|
||||
|
||||
all_langs = ["us"]
|
||||
all_langs = ["us", "eu-1.0", "eu-final"]
|
||||
if not langs or not all(a in all_langs for a in langs):
|
||||
langs_str = " ".join("[" + lang + "]" for lang in all_langs)
|
||||
print("Usage: " + sys.argv[0] + " " + langs_str)
|
||||
|
|
|
@ -17,6 +17,22 @@ versionGroup.add_argument(
|
|||
const="us",
|
||||
dest="version",
|
||||
)
|
||||
versionGroup.add_argument(
|
||||
"-e",
|
||||
"--eu10",
|
||||
help="use European (1.0) version",
|
||||
action="store_const",
|
||||
const="eu-1.0",
|
||||
dest="version",
|
||||
)
|
||||
versionGroup.add_argument(
|
||||
"-E",
|
||||
"--eu11",
|
||||
help="use European (1.1) version",
|
||||
action="store_const",
|
||||
const="eu-final",
|
||||
dest="version",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-m", "--make", help="run make before finding difference(s)", action="store_true"
|
||||
)
|
||||
|
@ -252,7 +268,10 @@ if diffs == 0:
|
|||
exit()
|
||||
definite_shift = diffs > shift_cap
|
||||
if not definite_shift:
|
||||
print(str(diffs) + " differing word(s).")
|
||||
if (diffs > 1):
|
||||
print(str(diffs) + " differing words.")
|
||||
else:
|
||||
print(str(diffs) + " differing word.")
|
||||
|
||||
if diffs > 100:
|
||||
if len(found_instr_diff) > 0:
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
#define A_INTERLEAVE 13
|
||||
#define A_SETLOOP 15
|
||||
|
||||
#if !(defined(VERSION_SH) || defined(VERSION_US))
|
||||
#if !(defined(VERSION_SH) || defined(VERSION_US) || defined(VERSION_EU))
|
||||
|
||||
#define A_ENVMIXER 3
|
||||
#define A_LOADBUFF 4
|
||||
|
@ -642,7 +642,7 @@ typedef short ENVMIX_STATE[40];
|
|||
_a->words.w1 = (uintptr_t)(tr); \
|
||||
}
|
||||
|
||||
#if defined(VERSION_SH) || defined(VERSION_US)
|
||||
#if defined(VERSION_SH) || defined(VERSION_US) || defined (VERSION_EU)
|
||||
#undef aLoadBuffer
|
||||
#undef aSaveBuffer
|
||||
#undef aMix
|
||||
|
|
|
@ -68,6 +68,14 @@
|
|||
#define DEMO_MODE_ACTIVE 1
|
||||
#define DEMO_MODE_INACTIVE 0
|
||||
|
||||
#ifdef VERSION_EU
|
||||
#define COURSE_TIMER_ITER 0.020041665999999999 // 1 / 50
|
||||
#else
|
||||
#define COURSE_TIMER_ITER 0.01666666 // 1 / 60
|
||||
#endif
|
||||
|
||||
#define V_BlANK_TIMER_ITER 0.01666666
|
||||
|
||||
/**
|
||||
* Racing terms:
|
||||
* Staging means aligning a racecar to the starting line.
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
a729039453210b84f17019dda3f248d5888f7690 build/eu-1.0/mk64.eu-1.0.z64
|
|
@ -0,0 +1 @@
|
|||
f6b5f519dd57ea59e9f013cc64816e9d273b2329 build/eu-final/mk64.eu-final.z64
|
11
mk64.ld
11
mk64.ld
|
@ -83,6 +83,9 @@ SECTIONS
|
|||
BUILD_DIR/src/os/is_debug.o(.text);
|
||||
#endif
|
||||
BUILD_DIR/src/os/osCreateThread.o(.text);
|
||||
#ifdef VERSION_EU
|
||||
. += 0x40;
|
||||
#endif
|
||||
BUILD_DIR/src/os/osInitialize.o(.text);
|
||||
BUILD_DIR/src/os/osStartThread.o(.text);
|
||||
BUILD_DIR/src/os/osCreateViManager.o(.text);
|
||||
|
@ -377,6 +380,7 @@ SECTIONS
|
|||
BUILD_DIR/src/racing/actors.o(.bss*);
|
||||
BUILD_DIR/src/racing/memory.o(.bss*);
|
||||
BUILD_DIR/src/data/framebuffers.o(.bss*);
|
||||
BUILD_DIR/src/data/gfx_output_buffer.o(.bss*);
|
||||
BUILD_DIR/src/audio/synthesis.o(.bss*);
|
||||
BUILD_DIR/src/audio/heap.o(.bss*);
|
||||
BUILD_DIR/src/audio/load.o(.bss);
|
||||
|
@ -614,11 +618,18 @@ SECTIONS
|
|||
END_SEG(audio_tables)
|
||||
BEGIN_SEG(sequences, 0x25FD00)
|
||||
{
|
||||
#ifdef VERSION_EU
|
||||
BUILD_DIR/data/sound_data/sequences_eu.o(.data);
|
||||
#else
|
||||
BUILD_DIR/data/sound_data/sequences.o(.data);
|
||||
#endif
|
||||
}
|
||||
END_SEG(sequences)
|
||||
BEGIN_SEG(instrument_sets, 0x282E80)
|
||||
{
|
||||
#ifdef VERSION_EU
|
||||
. += 0x20;
|
||||
#endif
|
||||
BUILD_DIR/data/sound_data/instrument_sets.o(.data);
|
||||
}
|
||||
END_SEG(instrument_sets)
|
||||
|
|
|
@ -8,7 +8,11 @@
|
|||
#define AUDIO_LOCK_LOADING 0x19710515
|
||||
|
||||
#define NUMAIBUFFERS 3
|
||||
#ifdef VERSION_EU
|
||||
#define AIBUFFER_LEN (0xaa * 16)
|
||||
#else
|
||||
#define AIBUFFER_LEN (0xa0 * 16)
|
||||
#endif
|
||||
|
||||
// number of DMAs performed during this frame
|
||||
extern s32 gCurrAudioFrameDmaCount;
|
||||
|
|
|
@ -219,6 +219,10 @@ UNUSED u32 external_unused_u32s[]= { 0xff000000, 0xff000000, 0x00000000 };
|
|||
char external_unused_string11[] = "FX MIX %d\n";
|
||||
char external_unused_string12[] = "************** Seq Fadeout ***************\n";
|
||||
char external_unused_string13[] = "SEQ FADE OUT TIME %d\n";
|
||||
#ifdef VERSION_EU
|
||||
char external_unused_string_eu_02[] = "************** SE Fadeout ***************\n";
|
||||
char external_unused_string_eu_03[] = "SE FADE OUT TIME %d\n";
|
||||
#endif
|
||||
|
||||
// Requires void in the argument list to match properly.
|
||||
void func_800C13F0(void) {
|
||||
|
@ -646,6 +650,10 @@ void func_800C2274(s32 player) {
|
|||
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C2274.s")
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef VERSION_EU
|
||||
GLOBAL_ASM("asm/eu_nonmatchings/func_800C2474.s")
|
||||
#else
|
||||
void func_800C2474(void) {
|
||||
u8 var_v0;
|
||||
|
||||
|
@ -723,6 +731,7 @@ void func_800C2474(void) {
|
|||
D_8018EFD8[var_v0].prev = var_v0 - 1;
|
||||
D_8018EFD8[var_v0].next = 0xFF;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void func_800C284C(u8 arg0, u8 arg1, u8 arg2, u16 arg3) {
|
||||
|
@ -1146,6 +1155,22 @@ u8 func_800C357C(s32 arg0) {
|
|||
return var_v1;
|
||||
}
|
||||
|
||||
#ifdef VERSION_EU
|
||||
u8 func_800C357C_eu(s32 arg0, s32 arg1) {
|
||||
u8 var_v1;
|
||||
u8 i;
|
||||
|
||||
i = D_800EA1E8;
|
||||
var_v1 = 1;
|
||||
for(i = D_800EA1E8; i < (s32) D_800EA1E4; i++) {
|
||||
if (arg0 == (D_80192CD0[i] & arg1)) {
|
||||
var_v1 = 0;
|
||||
i = D_800EA1E4;
|
||||
}
|
||||
}
|
||||
return var_v1;
|
||||
}
|
||||
#endif
|
||||
|
||||
void func_800C35E8(u8 arg0) {
|
||||
D_80192CC6[arg0] = 0;
|
||||
|
@ -1428,7 +1453,11 @@ void func_800C3724(void) {
|
|||
} while (temp_t7 < 3);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C3724.s")
|
||||
#ifdef VERSION_EU
|
||||
GLOBAL_ASM("asm/eu_nonmatchings/func_800C3724.s")
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C3724.s")
|
||||
#endif
|
||||
#endif
|
||||
|
||||
void func_800C3F70(void) {
|
||||
|
@ -2426,12 +2455,22 @@ void func_800C6108(u8 playerId) {
|
|||
D_800E9EB4[playerId] -= D_800E9DF4[playerId];
|
||||
}
|
||||
D_800E9EE4[playerId] = D_800E9EB4[playerId] - D_800E9EC4[playerId];
|
||||
if ((D_800E9EE4[playerId] > 0.5f) || (D_800E9EE4[playerId] < 0.5f)) {
|
||||
#ifdef VERSION_EU
|
||||
if ((D_800E9EE4[playerId] > 0.5f) || (D_800E9EE4[playerId] < -0.5f))
|
||||
#else
|
||||
if ((D_800E9EE4[playerId] > 0.5f) || (D_800E9EE4[playerId] < 0.5f))
|
||||
#endif
|
||||
{
|
||||
D_800E9ED4[playerId] = D_800E9EE4[playerId] * 0.25f;
|
||||
D_800E9F7C[playerId].unk_0C = D_800E9EC4[playerId] + D_800E9ED4[playerId] + D_800E9F34[playerId];
|
||||
} else {
|
||||
D_800E9F7C[playerId].unk_0C = D_800E9EB4[playerId] + D_800E9F34[playerId];
|
||||
}
|
||||
#ifdef VERSION_EU
|
||||
if (D_800E9F7C[playerId].unk_0C < 0.0f) {
|
||||
D_800E9F7C[playerId].unk_0C = 0.0f;
|
||||
}
|
||||
#endif
|
||||
if (D_800E9F7C[playerId].unk_0C > 4.0f) {
|
||||
D_800E9F7C[playerId].unk_0C = 4.0f;
|
||||
}
|
||||
|
@ -2634,12 +2673,22 @@ void func_800C683C(u8 arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef VERSION_EU
|
||||
#define C70A8_INDEX 0
|
||||
#define C70A8_INDEX2 0
|
||||
#define C70A8_INDEX3 1
|
||||
#else
|
||||
#define C70A8_INDEX 2
|
||||
#define C70A8_INDEX2 2
|
||||
#define C70A8_INDEX3 3
|
||||
#endif
|
||||
|
||||
void func_800C70A8(u8 playerId) {
|
||||
if (D_800EA0EC[playerId] == 0) {
|
||||
D_800E9E74[playerId] = 0;
|
||||
if ((D_800E9E54[playerId] > 3500.0f) || ((gPlayers[playerId].effects & 0x10) == 0x10)) {
|
||||
D_800E9E74[playerId] = 1;
|
||||
switch (gPlayers[playerId].boundingBoxCorners[2].surfaceType) { /* switch 1 */
|
||||
switch (gPlayers[playerId].boundingBoxCorners[C70A8_INDEX].surfaceType) {
|
||||
case 2: /* switch 1 */
|
||||
D_800E9E74[playerId] = 0x0000000D;
|
||||
break;
|
||||
|
@ -2671,7 +2720,7 @@ void func_800C70A8(u8 playerId) {
|
|||
}
|
||||
if ((gPlayers[playerId].effects & 0x10) == 0x10) {
|
||||
D_800E9E74[playerId] = 2;
|
||||
switch (gPlayers[playerId].boundingBoxCorners[2].surfaceType) { /* switch 2 */
|
||||
switch (gPlayers[playerId].boundingBoxCorners[C70A8_INDEX2].surfaceType) { /* switch 2 */
|
||||
case 2: /* switch 2 */
|
||||
D_800E9E74[playerId] = 0x0000000D;
|
||||
break;
|
||||
|
@ -2701,7 +2750,7 @@ void func_800C70A8(u8 playerId) {
|
|||
break;
|
||||
}
|
||||
}
|
||||
switch (gPlayers[playerId].boundingBoxCorners[2].surfaceType) { /* switch 3 */
|
||||
switch (gPlayers[playerId].boundingBoxCorners[C70A8_INDEX2].surfaceType) { /* switch 3 */
|
||||
case 8: /* switch 3 */
|
||||
if (D_800E9E74[playerId] == 6) {
|
||||
D_800E9E74[playerId] = 4;
|
||||
|
@ -2761,7 +2810,7 @@ void func_800C70A8(u8 playerId) {
|
|||
D_800E9E74[playerId] = 0x0000001B;
|
||||
break;
|
||||
}
|
||||
switch (gPlayers[playerId].boundingBoxCorners[3].surfaceType) { /* switch 4 */
|
||||
switch (gPlayers[playerId].boundingBoxCorners[C70A8_INDEX3].surfaceType) { /* switch 4 */
|
||||
case 8: /* switch 4 */
|
||||
if (D_800E9E74[playerId] == 5) {
|
||||
D_800E9E74[playerId] = 4;
|
||||
|
@ -2836,6 +2885,13 @@ void func_800C70A8(u8 playerId) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
#if defined(VERSION_EU_1_0)
|
||||
GLOBAL_ASM("asm/eu_nonmatchings/func_800C76C0.s")
|
||||
#elif defined(VERSION_EU_1_1)
|
||||
GLOBAL_ASM("asm/eu_nonmatchings/func_800C76C0_v11.s")
|
||||
#else
|
||||
void func_800C76C0(u8 playerId) {
|
||||
if (D_800E9EA4[playerId] != 0) {
|
||||
if (D_800E9EA4[playerId] < 0x2BC) {
|
||||
|
@ -3097,6 +3153,7 @@ void func_800C76C0(u8 playerId) {
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void func_800C847C(u8 playerId) {
|
||||
if ((gPlayers[playerId].unk_0DE & 1) == 1) {
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#include "audio/internal.h"
|
||||
#include "audio/playback.h"
|
||||
#include "audio/synthesis.h"
|
||||
#include "data/gfx_output_buffer.h"
|
||||
|
||||
#define ALIGN16(val) (((val) + 0xF) & ~0xF)
|
||||
|
||||
|
@ -783,8 +784,8 @@ void audio_init() {
|
|||
|
||||
#ifdef TARGET_N64
|
||||
// It seems boot.s doesn't clear the .bss area for audio, so do it here.
|
||||
lim3 = ((uintptr_t) &D_803B71A0 - (uintptr_t) &gGfxSPTaskOutputBufferSize) / 8;
|
||||
ptr64 = &gGfxSPTaskOutputBufferSize;
|
||||
lim3 = ((uintptr_t) &D_803B71A0 - (uintptr_t) ((u64 *)((u8 *) gGfxSPTaskOutputBuffer + sizeof(gGfxSPTaskOutputBuffer))) ) / 8;
|
||||
ptr64 = (u64 *)((u8 *) gGfxSPTaskOutputBuffer + sizeof(gGfxSPTaskOutputBuffer));;
|
||||
for (k = lim3; k >= 0; k--) {
|
||||
*ptr64++ = 0;
|
||||
}
|
||||
|
@ -874,5 +875,9 @@ void audio_init() {
|
|||
gAudioLoadLock = 0x76557364;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/audio/load/audio_init.s")
|
||||
#ifdef VERSION_EU
|
||||
GLOBAL_ASM("asm/eu_nonmatchings/audio_init.s")
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/audio/load/audio_init.s")
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -232,6 +232,18 @@ void process_notes(void) {
|
|||
continue;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef VERSION_EU_1_0
|
||||
// Just threw these in here. They are probably wrong place and variables.
|
||||
stubbed_printf("----------------------Double-Error CH: %x %f\n", ¬e, note->parentLayer->seqChannel);
|
||||
stubbed_printf("----------------------Double-Error NT: %x\n", ¬e);
|
||||
if (note != playbackState->parentLayer->note && playbackState->priority != 1) {
|
||||
playbackState->adsr.action |= ADSR_ACTION_RELEASE;
|
||||
playbackState->adsr.fadeOutVel = gAudioBufferParameters.updatesPerFrameInv;
|
||||
playbackState->priority = 1;
|
||||
goto d;
|
||||
}
|
||||
#endif
|
||||
if (!playbackState->parentLayer->enabled && playbackState->priority >= NOTE_PRIORITY_MIN) {
|
||||
goto c;
|
||||
} else if (playbackState->parentLayer->seqChannel->seqPlayer == NULL) {
|
||||
|
|
|
@ -24,6 +24,9 @@ char seqplayer_unused_string02[] = "Audio:Track: Warning :SUBTRACK had been stol
|
|||
char seqplayer_unused_string03[] = "SEQID %d,BANKID %d\n";
|
||||
char seqplayer_unused_string04[] = "ERR:SUBTRACK %d NOT ALLOCATED\n";
|
||||
char seqplayer_unused_string05[] = "Error:Same List Add\n";
|
||||
#ifdef VERSION_EU_1_0
|
||||
char seqplayer_unused_string_eu_01[] = "Wait Time out!\n";
|
||||
#endif
|
||||
char seqplayer_unused_string06[] = "Macro Level Over Error!\n";
|
||||
char seqplayer_unused_string07[] = "Macro Level Over Error!\n";
|
||||
char seqplayer_unused_string08[] = "WARNING: NPRG: cannot change %d\n";
|
||||
|
@ -361,6 +364,13 @@ void seq_channel_layer_process_script(struct SequenceChannelLayer *layer) {
|
|||
if (!layer->continuousNotes) {
|
||||
seq_channel_layer_note_decay(layer);
|
||||
}
|
||||
#ifdef VERSION_EU_1_0
|
||||
else {
|
||||
if ((layer->note != 0) && (layer == layer->note->wantedParentLayer)) {
|
||||
seq_channel_layer_note_decay(layer);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if (PORTAMENTO_MODE(layer->portamento) == PORTAMENTO_MODE_1 ||
|
||||
PORTAMENTO_MODE(layer->portamento) == PORTAMENTO_MODE_2) {
|
||||
|
|
|
@ -32,11 +32,6 @@ u64 *synthesis_do_one_audio_update(s16 *aiBuf, s32 bufLen, u64 *cmd, s32 updateI
|
|||
u64 *synthesis_process_note(struct Note *note, struct NoteSubEu *noteSubEu, struct NoteSynthesisState *synthesisState, s16 *aiBuf, s32 bufLen, u64 *cmd);
|
||||
u64 *process_envelope(u64 *cmd, struct NoteSubEu *noteSubEu, struct NoteSynthesisState *synthesisState, s32 nSamples, u16 inBuf, s32 headsetPanSettings, u32 flags);
|
||||
|
||||
|
||||
u64 gGfxSPTaskOutputBuffer[0x3F00];
|
||||
|
||||
u32 gGfxSPTaskOutputBufferSize;
|
||||
u32 padding3[2];
|
||||
struct SynthesisReverb gSynthesisReverbs[4];
|
||||
u8 sAudioSynthesisPad[0x10];
|
||||
|
||||
|
|
|
@ -108,7 +108,7 @@ Acmd *func_800B86A0(Acmd *cmd, struct NoteSubEu *note, struct NoteSynthesisState
|
|||
Acmd *note_apply_headset_pan_effects(Acmd *acmd, struct NoteSubEu *noteSubEu, struct NoteSynthesisState *note, s32 bufLen, s32 flags, s32 leftRight);
|
||||
|
||||
// These 2 are almost certainly misnamed and misplaced
|
||||
extern u64 gGfxSPTaskOutputBuffer[0x3F00];
|
||||
extern u64 gGfxSPTaskOutputBuffer[];
|
||||
extern u32 gGfxSPTaskOutputBufferSize;
|
||||
|
||||
extern struct SynthesisReverb gSynthesisReverbs[4];
|
||||
|
|
|
@ -1608,12 +1608,13 @@ void func_8008FEDC(Player* player, UNUSED s8 arg1) {
|
|||
}
|
||||
|
||||
void func_8008FF08(Player *player, s8 playerId) {
|
||||
if(player->nearestWaypointId){}
|
||||
s16 waypoint;
|
||||
switch (gCurrentCourseId) {
|
||||
case COURSE_BOWSER_CASTLE:
|
||||
if (((s16)gNearestWaypointByPlayerId[playerId] >= 0x235) && ((s16)gNearestWaypointByPlayerId[playerId] < 0x247)) {
|
||||
waypoint = gNearestWaypointByPlayerId[playerId];
|
||||
if ((waypoint >= 0x235) && (waypoint < 0x247)) {
|
||||
player->nearestWaypointId = 0x214;
|
||||
} else if (((s16)gNearestWaypointByPlayerId[playerId] >= 0x267) && ((s16)gNearestWaypointByPlayerId[playerId] < 0x277)) {
|
||||
} else if ((waypoint >= 0x267) && (waypoint < 0x277)) {
|
||||
player->nearestWaypointId = 0x25B;
|
||||
} else {
|
||||
player->nearestWaypointId = gNearestWaypointByPlayerId[playerId];
|
||||
|
@ -1623,7 +1624,8 @@ void func_8008FF08(Player *player, s8 playerId) {
|
|||
}
|
||||
break;
|
||||
case COURSE_BANSHEE_BOARDWALK:
|
||||
if (((s16)gNearestWaypointByPlayerId[playerId] >= 0x12C) && ((s16)gNearestWaypointByPlayerId[playerId] < 0x13C)) {
|
||||
waypoint = gNearestWaypointByPlayerId[playerId];
|
||||
if ((waypoint >= 0x12C) && (waypoint < 0x13C)) {
|
||||
player->nearestWaypointId = 0x12CU;
|
||||
} else {
|
||||
player->nearestWaypointId = gNearestWaypointByPlayerId[playerId];
|
||||
|
@ -1637,7 +1639,14 @@ void func_8008FF08(Player *player, s8 playerId) {
|
|||
player->nearestWaypointId = D_80165320[playerId];
|
||||
break;
|
||||
case COURSE_FRAPPE_SNOWLAND:
|
||||
if (((s16)gNearestWaypointByPlayerId[playerId] >= 0xF0) && ((s16)gNearestWaypointByPlayerId[playerId] < 0x105)) {
|
||||
waypoint = gNearestWaypointByPlayerId[playerId];
|
||||
#ifdef VERSION_EU
|
||||
if (((waypoint >= 0xF0) && (waypoint < 0x11E)) ||
|
||||
((D_80165320[playerId] >= 0xF0) && (D_80165320[playerId] < 0x11E)))
|
||||
#else
|
||||
if ((waypoint >= 0xF0) && (waypoint < 0x105))
|
||||
#endif
|
||||
{
|
||||
player->nearestWaypointId = 0xF0U;
|
||||
} else {
|
||||
player->nearestWaypointId = D_80165320[playerId];
|
||||
|
@ -1647,7 +1656,8 @@ void func_8008FF08(Player *player, s8 playerId) {
|
|||
}
|
||||
break;
|
||||
case COURSE_ROYAL_RACEWAY:
|
||||
if (((s16)gNearestWaypointByPlayerId[playerId] >= 0x258) && ((s16)gNearestWaypointByPlayerId[playerId] < 0x2A4)) {
|
||||
waypoint = gNearestWaypointByPlayerId[playerId];
|
||||
if ((waypoint >= 0x258) && (waypoint < 0x2A4)) {
|
||||
player->nearestWaypointId = 0x258U;
|
||||
} else {
|
||||
player->nearestWaypointId = D_80165320[playerId];
|
||||
|
@ -1657,7 +1667,8 @@ void func_8008FF08(Player *player, s8 playerId) {
|
|||
}
|
||||
break;
|
||||
case COURSE_DK_JUNGLE:
|
||||
if (((s16)gNearestWaypointByPlayerId[playerId] >= 0xB9) && ((s16)gNearestWaypointByPlayerId[playerId] < 0x119)) {
|
||||
waypoint = gNearestWaypointByPlayerId[playerId];
|
||||
if ((waypoint >= 0xB9) && (waypoint < 0x119)) {
|
||||
player->nearestWaypointId = 0xB9U;
|
||||
} else {
|
||||
player->nearestWaypointId = gNearestWaypointByPlayerId[playerId];
|
||||
|
@ -2079,3 +2090,10 @@ void func_80091298(Player *player, s8 arg1) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_80091440(s8 arg0) {
|
||||
if ((gPlayers[arg0].unk_044 & 0x800) == 0) {
|
||||
gPlayers[arg0].unk_044 |= 0x2400;
|
||||
gPlayers[arg0].type &= ~0x2000;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,13 +7,6 @@
|
|||
#include "math_util.h"
|
||||
#include "collision.h"
|
||||
|
||||
void func_80091440(s8 arg0) {
|
||||
if ((gPlayers[arg0].unk_044 & 0x800) == 0) {
|
||||
gPlayers[arg0].unk_044 |= 0x2400;
|
||||
gPlayers[arg0].type &= ~0x2000;
|
||||
}
|
||||
}
|
||||
|
||||
void func_800914A0(void) {
|
||||
D_80152308 = gPlayerOneCopy->unk_006 + 7;
|
||||
if ((s32) D_8015F6F8 < D_80152308) {
|
||||
|
|
|
@ -13661,7 +13661,11 @@ void func_800AD2E8(struct_8018D9E0_entry *arg0) {
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef VERSION_EU
|
||||
#define FUNC_800ADF48DEF 70
|
||||
#else
|
||||
#define FUNC_800ADF48DEF 60
|
||||
#endif
|
||||
void func_800ADF48(struct_8018D9E0_entry *arg0) {
|
||||
s32 stackPadding;
|
||||
struct Controller *controller;
|
||||
|
@ -13724,7 +13728,7 @@ void func_800ADF48(struct_8018D9E0_entry *arg0) {
|
|||
} else {
|
||||
func_8009DFE0(30);
|
||||
play_sound2(0x4900801B);
|
||||
func_800CA330(60);
|
||||
func_800CA330(FUNC_800ADF48DEF);
|
||||
if (arg0->unk24 < 4.2) {
|
||||
arg0->unk24 += 4.0;
|
||||
}
|
||||
|
|
|
@ -9,7 +9,11 @@ u16 gRandomSeed16;
|
|||
|
||||
u8 randomSeedPadding[216];
|
||||
|
||||
u8 frameBufferPadding[22544];
|
||||
#ifdef VERSION_EU
|
||||
u8 frameBufferPadding[0x5750];
|
||||
#else
|
||||
u8 frameBufferPadding[0x5810];
|
||||
#endif
|
||||
|
||||
struct_D_802BFB80 D_802BFB80[2][2][8];
|
||||
struct_D_802DFB80 D_802DFB80[2][2][8];
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
#include <ultra64.h>
|
||||
#include "gfx_output_buffer.h"
|
||||
|
||||
u64 gGfxSPTaskOutputBuffer[GFX_OUTPUT_BUFFER_SIZE];
|
||||
|
||||
u32 gGfxSPTaskOutputBufferSize;
|
|
@ -0,0 +1,14 @@
|
|||
#ifndef GFX_OUTPUT_BUFFER_H
|
||||
#define GFX_OUTPUT_BUFFER_H
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
|
||||
// 0x1f000 bytes, aligned to a 0x1000-byte boundary through sm64.ld. (This results
|
||||
// in a bunch of unused space: ~0x100 in JP, ~0x300 in US.)
|
||||
#define GFX_OUTPUT_BUFFER_SIZE 0x3f00
|
||||
|
||||
// 0x3F00
|
||||
extern u64 gGfxSPTaskOutputBuffer[GFX_OUTPUT_BUFFER_SIZE];
|
||||
extern u32 gGfxSPTaskOutputBufferSize;
|
||||
|
||||
#endif // GFX_OUTPUT_BUFFER_H
|
|
@ -317,6 +317,13 @@ s32 move_point_along_spline(Vec3f p, f32 *arg1, struct struct_80283430 spline[],
|
|||
secondSpeed = 1.0f / spline[*splineSegment + 2].unk2;
|
||||
}
|
||||
|
||||
#ifdef VERSION_EU
|
||||
if (gGamestate == CREDITS_SEQUENCE) {
|
||||
firstSpeed *= 1.14999997f;
|
||||
secondSpeed *= 1.14999997f;
|
||||
}
|
||||
#endif
|
||||
|
||||
progressChange = (((secondSpeed - firstSpeed)) * *progress + firstSpeed);
|
||||
if (1 <= (*progress += progressChange)) {
|
||||
(*splineSegment)++;
|
||||
|
@ -1468,6 +1475,40 @@ struct struct_80286A10 {
|
|||
struct struct_80285D80 *unkC;
|
||||
};
|
||||
|
||||
#ifdef VERSION_EU
|
||||
struct struct_80286A04 D_80286A04[] = {
|
||||
|
||||
{ 0x01, 0x00, &D_80285D80[162], &D_80285D80[162], 0x0087 },
|
||||
{ 0x00, 0x08, &D_80285D80[0], &D_80285D80[4], 0x00D1 },
|
||||
{ 0x00, 0x09, &D_80285D80[8], &D_80285D80[13], 0x00D1 },
|
||||
{ 0x00, 0x0B, &D_80285D80[26], &D_80285D80[34], 0x00D1 },
|
||||
{ 0x00, 0x05, &D_80285D80[18], &D_80285D80[22], 0x00D1 },
|
||||
{ 0x00, 0x02, &D_80285D80[42], &D_80285D80[48], 0x00D1 },
|
||||
{ 0x00, 0x0E, &D_80285D80[259], &D_80285D80[263], 0x00D1 },
|
||||
{ 0x00, 0x0C, &D_80285D80[55], &D_80285D80[59], 0x00D1 },
|
||||
{ 0x00, 0x07, &D_80285D80[63], &D_80285D80[71], 0x00D1 },
|
||||
{ 0x00, 0x01, &D_80285D80[79], &D_80285D80[92], 0x00D1 },
|
||||
{ 0x00, 0x04, &D_80285D80[105], &D_80285D80[112], 0x00D2 },
|
||||
{ 0x00, 0x12, &D_80285D80[119], &D_80285D80[128], 0x00D2 },
|
||||
{ 0x00, 0x00, &D_80285D80[155], &D_80285D80[162], 0x00D2 },
|
||||
{ 0x00, 0x06, &D_80285D80[169], &D_80285D80[176], 0x00D2 },
|
||||
{ 0x00, 0x0A, &D_80285D80[183], &D_80285D80[193], 0x00D2 },
|
||||
{ 0x00, 0x03, &D_80285D80[203], &D_80285D80[211], 0x00D2 },
|
||||
{ 0x00, 0x0D, &D_80285D80[219], &D_80285D80[232], 0x00D2 },
|
||||
{ 0x01, 0x00, &D_80285D80[162], &D_80285D80[162], 0x00D2 },
|
||||
{ 0x02, 0x07, &D_80285D80[245], &D_80285D80[252], 0x00D2 },
|
||||
};
|
||||
|
||||
u16 D_80286B34[] = {
|
||||
0x0087, 0x00D5, 0x00D5, 0x00D5,
|
||||
0x00D5, 0x00D5, 0x00D5, 0x00D5,
|
||||
0x00D5, 0x00D5, 0x00D5, 0x00D5,
|
||||
0x00D5, 0x00D5, 0x00D4, 0x00D4,
|
||||
0x00D4, 0x00DB, 0x00D2, 0x0000,
|
||||
};
|
||||
|
||||
#else
|
||||
|
||||
// 0xC90 (80285D80 size) 3216 decimal.
|
||||
struct struct_80286A04 D_80286A04[] = {
|
||||
|
||||
|
@ -1492,7 +1533,6 @@ struct struct_80286A04 D_80286A04[] = {
|
|||
{ 0x02, 0x07, &D_80285D80[245], &D_80285D80[252], 0x00F0 },
|
||||
};
|
||||
|
||||
|
||||
u16 D_80286B34[] = {
|
||||
0x0096, 0x00F3, 0x00F3, 0x00F3,
|
||||
0x00F3, 0x00F3, 0x00F3, 0x00F3,
|
||||
|
@ -1500,6 +1540,8 @@ u16 D_80286B34[] = {
|
|||
0x00F3, 0x00F3, 0x00F2, 0x00F2,
|
||||
0x00F2, 0x00F9, 0x00F0, 0x0000,
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
void func_802847CC(struct CinematicCamera *camera) {
|
||||
u16 sp2E;
|
||||
|
@ -1510,7 +1552,11 @@ void func_802847CC(struct CinematicCamera *camera) {
|
|||
|
||||
cutscene_event((CameraEvent)func_80283CD0, camera, 0, 0);
|
||||
cutscene_event((CameraEvent)play_sound_welcome, camera, 8, 8);
|
||||
#ifdef VERSION_EU
|
||||
cutscene_event((CameraEvent)func_80283C78, camera, 134, 134);
|
||||
#else
|
||||
cutscene_event((CameraEvent)func_80283C78, camera, 149, 149);
|
||||
#endif
|
||||
cutscene_event((CameraEvent)func_80282434, camera, 0, 0);
|
||||
switch (D_80286A04[D_800DC5E4].unk0) {
|
||||
case 1:
|
||||
|
@ -1531,9 +1577,11 @@ void func_802847CC(struct CinematicCamera *camera) {
|
|||
break;
|
||||
}
|
||||
|
||||
#ifndef VERSION_EU
|
||||
if (gCCSelection == 3) {
|
||||
sp2C = D_80286B34[D_800DC5E4];
|
||||
}
|
||||
#endif
|
||||
|
||||
if (gCutsceneShotTimer == sp2C) {
|
||||
if (D_80286A04[D_800DC5E4].unk0 != 2) {
|
||||
|
|
|
@ -55,7 +55,6 @@ typedef struct {
|
|||
|
||||
extern u16 gRandomSeed16;
|
||||
extern u8 randomSeedPadding[216];
|
||||
extern u8 frameBufferPadding[22544];
|
||||
extern struct_D_802BFB80 D_802BFB80[][2][8];
|
||||
extern struct_D_802DFB80 D_802DFB80[][2][8];
|
||||
|
||||
|
|
22
src/main.c
22
src/main.c
|
@ -34,6 +34,7 @@
|
|||
#include "staff_ghosts.h"
|
||||
#include <debug.h>
|
||||
#include "crash_screen.h"
|
||||
#include "data/gfx_output_buffer.h"
|
||||
|
||||
// Declarations (not in this file)
|
||||
void func_80091B78(void);
|
||||
|
@ -204,6 +205,9 @@ void create_thread(OSThread *thread, OSId id, void (*entry)(void *), void *arg,
|
|||
}
|
||||
void isPrintfInit(void);
|
||||
void main_func(void) {
|
||||
#ifdef VERSION_EU
|
||||
osTvType = TV_TYPE_PAL;
|
||||
#endif
|
||||
osInitialize();
|
||||
#ifdef DEBUG
|
||||
isPrintfInit(); // init osSyncPrintf
|
||||
|
@ -217,11 +221,15 @@ void main_func(void) {
|
|||
*/
|
||||
void thread1_idle(void *arg) {
|
||||
osCreateViManager(OS_PRIORITY_VIMGR);
|
||||
#ifdef VERSION_EU
|
||||
osViSetMode(&osViModeTable[OS_VI_PAL_LAN1]);
|
||||
#else // VERSION_US
|
||||
if (osTvType == TV_TYPE_NTSC) {
|
||||
osViSetMode(&osViModeTable[OS_VI_NTSC_LAN1]);
|
||||
} else {
|
||||
osViSetMode(&osViModeTable[OS_VI_MPAL_LAN1]);
|
||||
}
|
||||
#endif
|
||||
osViBlack(TRUE);
|
||||
osViSetSpecialFeatures(OS_VI_GAMMA_OFF);
|
||||
osCreatePiManager(OS_PRIORITY_PIMGR, &gPIMesgQueue, gPIMesgBuf, ARRAY_COUNT(gPIMesgBuf));
|
||||
|
@ -232,7 +240,7 @@ void thread1_idle(void *arg) {
|
|||
osStartThread(&gVideoThread);
|
||||
osSetThreadPri(NULL, 0);
|
||||
|
||||
// halt
|
||||
// Halt
|
||||
while (TRUE);
|
||||
}
|
||||
|
||||
|
@ -284,7 +292,7 @@ void create_gfx_task_structure(void) {
|
|||
gGfxSPTask->task.t.dram_stack = (u64 *) &gGfxSPTaskStack;
|
||||
gGfxSPTask->task.t.dram_stack_size = SP_DRAM_STACK_SIZE8;
|
||||
gGfxSPTask->task.t.output_buff = (u64 *) &gGfxSPTaskOutputBuffer;
|
||||
gGfxSPTask->task.t.output_buff_size = (u64 *) &gGfxSPTaskOutputBufferSize;
|
||||
gGfxSPTask->task.t.output_buff_size = (u64 *) ((u8 *) gGfxSPTaskOutputBuffer + sizeof(gGfxSPTaskOutputBuffer));
|
||||
gGfxSPTask->task.t.data_ptr = (u64 *) gGfxPool->gfxPool;
|
||||
gGfxSPTask->task.t.data_size = (gDisplayListHead - gGfxPool->gfxPool) * sizeof(Gfx);
|
||||
func_8008C214();
|
||||
|
@ -580,7 +588,7 @@ void race_logic_loop(void) {
|
|||
if (gIsGamePaused == 0) {
|
||||
for (i = 0; i < gTickSpeed; i++) {
|
||||
if (D_8015011E) {
|
||||
gCourseTimer += 0.01666666; // 1 / 60
|
||||
gCourseTimer += COURSE_TIMER_ITER;
|
||||
}
|
||||
func_802909F0();
|
||||
evaluate_player_collision();
|
||||
|
@ -645,7 +653,7 @@ void race_logic_loop(void) {
|
|||
if (gIsGamePaused == 0) {
|
||||
for (i = 0; i < gTickSpeed; i++) {
|
||||
if (D_8015011E != 0) {
|
||||
gCourseTimer += 0.01666666;
|
||||
gCourseTimer += COURSE_TIMER_ITER;
|
||||
}
|
||||
func_802909F0();
|
||||
evaluate_player_collision();
|
||||
|
@ -691,7 +699,7 @@ void race_logic_loop(void) {
|
|||
if (gIsGamePaused == 0) {
|
||||
for (i = 0; i < gTickSpeed; i++) {
|
||||
if (D_8015011E != 0) {
|
||||
gCourseTimer += 0.01666666;
|
||||
gCourseTimer += COURSE_TIMER_ITER;
|
||||
}
|
||||
func_802909F0();
|
||||
evaluate_player_collision();
|
||||
|
@ -759,7 +767,7 @@ void race_logic_loop(void) {
|
|||
if (gIsGamePaused == 0) {
|
||||
for (i = 0; i < gTickSpeed; i++) {
|
||||
if (D_8015011E != 0) {
|
||||
gCourseTimer += 0.01666666;
|
||||
gCourseTimer += COURSE_TIMER_ITER;
|
||||
}
|
||||
func_802909F0();
|
||||
evaluate_player_collision();
|
||||
|
@ -953,7 +961,7 @@ void start_gfx_sptask(void) {
|
|||
}
|
||||
|
||||
void handle_vblank(void) {
|
||||
gVBlankTimer += 0.01666666;
|
||||
gVBlankTimer += V_BlANK_TIMER_ITER;
|
||||
sNumVBlanks++;
|
||||
|
||||
receive_new_tasks();
|
||||
|
|
|
@ -5,10 +5,19 @@ OSViMode osViModePalLan1 = {
|
|||
/*comRegs*/
|
||||
{ /*ctrl*/ 12574,
|
||||
/*width*/ 320,
|
||||
#ifdef VERSION_EU
|
||||
/*burst*/ 72621626,
|
||||
#else
|
||||
/*burst*/ 67380026,
|
||||
#endif
|
||||
/*vSync*/ 625,
|
||||
#ifdef VERSION_EU
|
||||
/*hSync*/ 1510505,
|
||||
/*leap*/ 208604269,
|
||||
#else
|
||||
/*hSync*/ 1379433,
|
||||
/*leap*/ 208604270,
|
||||
#endif
|
||||
/*hStart*/ 8389376,
|
||||
/*xScale*/ 512,
|
||||
/*vCurrent*/ 0 },
|
||||
|
|
|
@ -329,13 +329,13 @@ OSViMode osViModeTable[] = {
|
|||
/*comRegs*/
|
||||
{ /*ctrl*/ 12814,
|
||||
/*width*/ 320,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*burst*/ 72621626,
|
||||
#else
|
||||
/*burst*/ 67380026,
|
||||
#endif
|
||||
/*vSync*/ 625,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*hSync*/ 1510505,
|
||||
/*leap*/ 208604269,
|
||||
#else
|
||||
|
@ -361,13 +361,13 @@ OSViMode osViModeTable[] = {
|
|||
/*comRegs*/
|
||||
{ /*ctrl*/ 12878,
|
||||
/*width*/ 320,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*burst*/ 72621626,
|
||||
#else
|
||||
/*burst*/ 67380026,
|
||||
#endif
|
||||
/*vSync*/ 624,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*hSync*/ 1510505,
|
||||
/*leap*/ 208604269,
|
||||
#else
|
||||
|
@ -393,13 +393,13 @@ OSViMode osViModeTable[] = {
|
|||
/*comRegs*/
|
||||
{ /*ctrl*/ 12574,
|
||||
/*width*/ 320,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*burst*/ 72621626,
|
||||
#else
|
||||
/*burst*/ 67380026,
|
||||
#endif
|
||||
/*vSync*/ 625,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*hSync*/ 1510505,
|
||||
/*leap*/ 208604269,
|
||||
#else
|
||||
|
@ -425,13 +425,13 @@ OSViMode osViModeTable[] = {
|
|||
/*comRegs*/
|
||||
{ /*ctrl*/ 12382,
|
||||
/*width*/ 320,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*burst*/ 72621626,
|
||||
#else
|
||||
/*burst*/ 67380026,
|
||||
#endif
|
||||
/*vSync*/ 624,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*hSync*/ 1510505,
|
||||
/*leap*/ 208604269,
|
||||
#else
|
||||
|
@ -457,13 +457,13 @@ OSViMode osViModeTable[] = {
|
|||
/*comRegs*/
|
||||
{ /*ctrl*/ 13071,
|
||||
/*width*/ 320,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*burst*/ 72621626,
|
||||
#else
|
||||
/*burst*/ 67380026,
|
||||
#endif
|
||||
/*vSync*/ 625,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*hSync*/ 1510505,
|
||||
/*leap*/ 208604269,
|
||||
#else
|
||||
|
@ -489,13 +489,13 @@ OSViMode osViModeTable[] = {
|
|||
/*comRegs*/
|
||||
{ /*ctrl*/ 12879,
|
||||
/*width*/ 320,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*burst*/ 72621626,
|
||||
#else
|
||||
/*burst*/ 67380026,
|
||||
#endif
|
||||
/*vSync*/ 624,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*hSync*/ 1510505,
|
||||
/*leap*/ 208604269,
|
||||
#else
|
||||
|
@ -521,13 +521,13 @@ OSViMode osViModeTable[] = {
|
|||
/*comRegs*/
|
||||
{ /*ctrl*/ 12319,
|
||||
/*width*/ 320,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*burst*/ 72621626,
|
||||
#else
|
||||
/*burst*/ 67380026,
|
||||
#endif
|
||||
/*vSync*/ 625,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*hSync*/ 1510505,
|
||||
/*leap*/ 208604269,
|
||||
#else
|
||||
|
@ -553,13 +553,13 @@ OSViMode osViModeTable[] = {
|
|||
/*comRegs*/
|
||||
{ /*ctrl*/ 12383,
|
||||
/*width*/ 320,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*burst*/ 72621626,
|
||||
#else
|
||||
/*burst*/ 67380026,
|
||||
#endif
|
||||
/*vSync*/ 624,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*hSync*/ 1510505,
|
||||
/*leap*/ 208604269,
|
||||
#else
|
||||
|
@ -585,13 +585,13 @@ OSViMode osViModeTable[] = {
|
|||
/*comRegs*/
|
||||
{ /*ctrl*/ 12878,
|
||||
/*width*/ 1280,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*burst*/ 72621626,
|
||||
#else
|
||||
/*burst*/ 67380026,
|
||||
#endif
|
||||
/*vSync*/ 624,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*hSync*/ 1510505,
|
||||
/*leap*/ 208604269,
|
||||
#else
|
||||
|
@ -617,13 +617,13 @@ OSViMode osViModeTable[] = {
|
|||
/*comRegs*/
|
||||
{ /*ctrl*/ 12878,
|
||||
/*width*/ 640,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*burst*/ 72621626,
|
||||
#else
|
||||
/*burst*/ 67380026,
|
||||
#endif
|
||||
/*vSync*/ 624,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*hSync*/ 1510505,
|
||||
/*leap*/ 208604269,
|
||||
#else
|
||||
|
@ -649,13 +649,13 @@ OSViMode osViModeTable[] = {
|
|||
/*comRegs*/
|
||||
{ /*ctrl*/ 12382,
|
||||
/*width*/ 1280,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*burst*/ 72621626,
|
||||
#else
|
||||
/*burst*/ 67380026,
|
||||
#endif
|
||||
/*vSync*/ 624,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*hSync*/ 1510505,
|
||||
/*leap*/ 208604269,
|
||||
#else
|
||||
|
@ -681,13 +681,13 @@ OSViMode osViModeTable[] = {
|
|||
/*comRegs*/
|
||||
{ /*ctrl*/ 12382,
|
||||
/*width*/ 640,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*burst*/ 72621626,
|
||||
#else
|
||||
/*burst*/ 67380026,
|
||||
#endif
|
||||
/*vSync*/ 624,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*hSync*/ 1510505,
|
||||
/*leap*/ 208604269,
|
||||
#else
|
||||
|
@ -713,13 +713,13 @@ OSViMode osViModeTable[] = {
|
|||
/*comRegs*/
|
||||
{ /*ctrl*/ 13135,
|
||||
/*width*/ 1280,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*burst*/ 72621626,
|
||||
#else
|
||||
/*burst*/ 67380026,
|
||||
#endif
|
||||
/*vSync*/ 624,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*hSync*/ 1510505,
|
||||
/*leap*/ 208604269,
|
||||
#else
|
||||
|
@ -745,13 +745,13 @@ OSViMode osViModeTable[] = {
|
|||
/*comRegs*/
|
||||
{ /*ctrl*/ 12879,
|
||||
/*width*/ 640,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*burst*/ 72621626,
|
||||
#else
|
||||
/*burst*/ 67380026,
|
||||
#endif
|
||||
/*vSync*/ 624,
|
||||
#ifdef VERSION_SH
|
||||
#ifdef VERSION_EU
|
||||
/*hSync*/ 1510505,
|
||||
/*leap*/ 208604269,
|
||||
#else
|
||||
|
|
|
@ -884,9 +884,15 @@ void func_8028FBD4(void) {
|
|||
D_802BA038 = 5;
|
||||
}
|
||||
|
||||
#ifdef VERSION_EU
|
||||
#define D_802BA038_SIZE 1600
|
||||
#else
|
||||
#define D_802BA038_SIZE 1920
|
||||
#endif
|
||||
|
||||
void func_8028FC34(void) {
|
||||
if (D_802BA038 < 0) {
|
||||
D_802BA038 = 1920;
|
||||
D_802BA038 = D_802BA038_SIZE;
|
||||
return;
|
||||
}
|
||||
D_802BA038--;
|
||||
|
|
|
@ -771,16 +771,26 @@ void func_802A59A4(void) {
|
|||
Camera *camera = &cameras[0];
|
||||
UNUSED s32 pad[4];
|
||||
u16 perspNorm;
|
||||
UNUSED s32 pad2[3];
|
||||
UNUSED s32 pad2[2];
|
||||
#ifdef VERSION_EU
|
||||
f32 sp9C;
|
||||
#endif
|
||||
UNUSED s32 pad3;
|
||||
Mat4 matrix;
|
||||
|
||||
#ifdef VERSION_EU
|
||||
sp9C = D_80150148 * 1.2f;
|
||||
#endif
|
||||
func_802A53A4();
|
||||
init_rdp();
|
||||
func_802A3730(D_800DC5EC);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH);
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
|
||||
#ifdef VERSION_EU
|
||||
guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], sp9C, D_80150150, D_8015014C, 1.0f);
|
||||
#else
|
||||
guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
#endif
|
||||
gSPPerspNormalize(gDisplayListHead++, perspNorm);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
||||
|
@ -822,13 +832,20 @@ void func_802A5CB4(void) {
|
|||
UNUSED s32 pad[2];
|
||||
u16 perspNorm;
|
||||
Mat4 matrix;
|
||||
f32 sp9C;
|
||||
|
||||
func_802A50EC();
|
||||
#ifdef VERSION_EU
|
||||
sp9C = D_80150148 * 1.2f;
|
||||
#endif
|
||||
init_rdp();
|
||||
func_802A3730(D_800DC5EC);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
#ifdef VERSION_EU
|
||||
guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], sp9C, D_80150150, D_8015014C, 1.0f);
|
||||
#else
|
||||
guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
#endif
|
||||
gSPPerspNormalize(gDisplayListHead++, perspNorm);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->mtxLookAt[0], camera->pos[0], camera->pos[1], camera->pos[2], camera->lookAt[0], camera->lookAt[1], camera->lookAt[2], camera->up[0], camera->up[1], camera->up[2]);
|
||||
|
@ -872,13 +889,20 @@ void func_802A5FAC(void) {
|
|||
UNUSED s32 pad[2];
|
||||
u16 perspNorm;
|
||||
Mat4 matrix;
|
||||
f32 sp9C;
|
||||
|
||||
func_802A5004();
|
||||
init_rdp();
|
||||
func_802A3730(D_800DC5F0);
|
||||
|
||||
#ifdef VERSION_EU
|
||||
sp9C = D_80150148 * 1.2f;
|
||||
#endif
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
#ifdef VERSION_EU
|
||||
guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, gCameraZoom[1], sp9C, D_80150150, D_8015014C, 1.0f);
|
||||
#else
|
||||
guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, gCameraZoom[1], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
#endif
|
||||
gSPPerspNormalize(gDisplayListHead++, perspNorm);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->mtxLookAt[1], camera->pos[0], camera->pos[1], camera->pos[2], camera->lookAt[0], camera->lookAt[1], camera->lookAt[2], camera->up[0], camera->up[1], camera->up[2]);
|
||||
|
@ -919,14 +943,23 @@ void func_802A62A4(void) {
|
|||
UNUSED s32 pad[2];
|
||||
u16 perspNorm;
|
||||
Mat4 matrix;
|
||||
#ifdef VERSION_EU
|
||||
f32 sp9C;
|
||||
#endif
|
||||
|
||||
func_802A51D4();
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH);
|
||||
init_rdp();
|
||||
func_802A3730(D_800DC5EC);
|
||||
|
||||
#ifdef VERSION_EU
|
||||
sp9C = D_80150148 * 1.2f;
|
||||
#endif
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
#ifdef VERSION_EU
|
||||
guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], sp9C, D_80150150, D_8015014C, 1.0f);
|
||||
#else
|
||||
guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
#endif
|
||||
gSPPerspNormalize(gDisplayListHead++, perspNorm);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->mtxLookAt[0], camera->pos[0], camera->pos[1], camera->pos[2], camera->lookAt[0], camera->lookAt[1], camera->lookAt[2], camera->up[0], camera->up[1], camera->up[2]);
|
||||
|
@ -968,15 +1001,23 @@ void func_802A65B8(void) {
|
|||
UNUSED s32 pad[2];
|
||||
u16 perspNorm;
|
||||
Mat4 matrix;
|
||||
#ifdef VERSION_EU
|
||||
f32 sp9C;
|
||||
#endif
|
||||
|
||||
func_802A52BC();
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_SHADE | G_CULL_BACK | G_LIGHTING | G_SHADING_SMOOTH);
|
||||
init_rdp();
|
||||
func_802A3730(D_800DC5F0);
|
||||
|
||||
#ifdef VERSION_EU
|
||||
sp9C = D_80150148 * 1.2f;
|
||||
#endif
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
#ifdef VERSION_EU
|
||||
guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, gCameraZoom[1], sp9C, D_80150150, D_8015014C, 1.0f);
|
||||
#else
|
||||
guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, gCameraZoom[1], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
#endif
|
||||
gSPPerspNormalize(gDisplayListHead++, perspNorm);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->mtxLookAt[1], camera->pos[0], camera->pos[1], camera->pos[2], camera->lookAt[0], camera->lookAt[1], camera->lookAt[2], camera->up[0], camera->up[1], camera->up[2]);
|
||||
|
@ -1017,13 +1058,20 @@ void func_802A68CC(void) {
|
|||
UNUSED s32 pad[2];
|
||||
u16 perspNorm;
|
||||
Mat4 matrix;
|
||||
#ifdef VERSION_EU
|
||||
f32 sp9C;
|
||||
sp9C = D_80150148 * 1.2f;
|
||||
#endif
|
||||
|
||||
func_802A54A8();
|
||||
init_rdp();
|
||||
func_802A3730(D_800DC5EC);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
#ifdef VERSION_EU
|
||||
guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], sp9C, D_80150150, D_8015014C, 1.0f);
|
||||
#else
|
||||
guPerspective(&gGfxPool->mtxPersp[0], &perspNorm, gCameraZoom[0], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
#endif
|
||||
gSPPerspNormalize(gDisplayListHead++, perspNorm);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->mtxLookAt[0], camera->pos[0], camera->pos[1], camera->pos[2], camera->lookAt[0], camera->lookAt[1], camera->lookAt[2], camera->up[0], camera->up[1], camera->up[2]);
|
||||
|
@ -1064,13 +1112,20 @@ void func_802A6BB0(void) {
|
|||
UNUSED s32 pad[2];
|
||||
u16 perspNorm;
|
||||
Mat4 matrix;
|
||||
#ifdef VERSION_EU
|
||||
f32 sp9C;
|
||||
sp9C = D_80150148 * 1.2f;
|
||||
#endif
|
||||
|
||||
func_802A5590();
|
||||
init_rdp();
|
||||
func_802A3730(D_800DC5F0);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
#ifdef VERSION_EU
|
||||
guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, gCameraZoom[1], sp9C, D_80150150, D_8015014C, 1.0f);
|
||||
#else
|
||||
guPerspective(&gGfxPool->mtxPersp[1], &perspNorm, gCameraZoom[1], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
#endif
|
||||
gSPPerspNormalize(gDisplayListHead++, perspNorm);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[1]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
|
||||
|
@ -1111,13 +1166,21 @@ void func_802A6E94(void) {
|
|||
UNUSED s32 pad[2];
|
||||
u16 perspNorm;
|
||||
Mat4 matrix;
|
||||
#ifdef VERSION_EU
|
||||
f32 sp9C;
|
||||
sp9C = D_80150148 * 1.2f;
|
||||
#endif
|
||||
|
||||
func_802A5678();
|
||||
init_rdp();
|
||||
func_802A3730(D_800DC5F4);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
#ifdef VERSION_EU
|
||||
guPerspective(&gGfxPool->mtxPersp[2], &perspNorm, gCameraZoom[2], sp9C, D_80150150, D_8015014C, 1.0f);
|
||||
#else
|
||||
guPerspective(&gGfxPool->mtxPersp[2], &perspNorm, gCameraZoom[2], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
#endif
|
||||
gSPPerspNormalize(gDisplayListHead++, perspNorm);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[2]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->mtxLookAt[2], camera->pos[0], camera->pos[1], camera->pos[2], camera->lookAt[0], camera->lookAt[1], camera->lookAt[2], camera->up[0], camera->up[1], camera->up[2]);
|
||||
|
@ -1158,6 +1221,10 @@ void func_802A7178(void) {
|
|||
UNUSED s32 pad[2];
|
||||
u16 perspNorm;
|
||||
Mat4 matrix;
|
||||
#ifdef VERSION_EU
|
||||
f32 sp9C;
|
||||
sp9C = D_80150148 * 1.2f;
|
||||
#endif
|
||||
|
||||
func_802A5760();
|
||||
if (gPlayerCountSelection1 == 3) {
|
||||
|
@ -1173,7 +1240,11 @@ void func_802A7178(void) {
|
|||
func_802A3730(D_800DC5F8);
|
||||
|
||||
gSPSetGeometryMode(gDisplayListHead++, G_ZBUFFER | G_SHADE | G_CULL_BACK | G_SHADING_SMOOTH);
|
||||
#ifdef VERSION_EU
|
||||
guPerspective(&gGfxPool->mtxPersp[3], &perspNorm, gCameraZoom[3], sp9C, D_80150150, D_8015014C, 1.0f);
|
||||
#else
|
||||
guPerspective(&gGfxPool->mtxPersp[3], &perspNorm, gCameraZoom[3], D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
#endif
|
||||
gSPPerspNormalize(gDisplayListHead++, perspNorm);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPersp[3]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
guLookAt(&gGfxPool->mtxLookAt[3], camera->pos[0], camera->pos[1], camera->pos[2], camera->lookAt[0], camera->lookAt[1], camera->lookAt[2], camera->up[0], camera->up[1], camera->up[2]);
|
||||
|
|
|
@ -95,14 +95,24 @@ void func_80004FF8(void) {
|
|||
* Activates staff ghost if time trial lap time is lower enough
|
||||
*
|
||||
*/
|
||||
#ifdef VERSION_EU
|
||||
#define BLAH 10700
|
||||
#define BLAH2 19300
|
||||
#define BLAH3 13300
|
||||
#else
|
||||
#define BLAH 9000
|
||||
#define BLAH2 16000
|
||||
#define BLAH3 11200
|
||||
|
||||
#endif
|
||||
|
||||
void set_staff_ghost(void) {
|
||||
u32 temp_v0; // Appears to be player total lap time.
|
||||
|
||||
switch(gCurrentCourseId) {
|
||||
|
||||
case COURSE_MARIO_RACEWAY:
|
||||
temp_v0 = func_800B4E24(0) & 0xfffff;
|
||||
if (temp_v0 <= 9000) {
|
||||
if (temp_v0 <= BLAH) {
|
||||
D_80162DD6 = 0;
|
||||
D_80162DF4 = 0;
|
||||
} else {
|
||||
|
@ -114,7 +124,7 @@ void set_staff_ghost(void) {
|
|||
break;
|
||||
case COURSE_ROYAL_RACEWAY:
|
||||
temp_v0 = func_800B4E24(0) & 0xfffff;
|
||||
if (temp_v0 <= 16000) {
|
||||
if (temp_v0 <= BLAH2) {
|
||||
D_80162DD6 = 0;
|
||||
D_80162DF4 = 0;
|
||||
} else {
|
||||
|
@ -126,7 +136,7 @@ void set_staff_ghost(void) {
|
|||
break;
|
||||
case COURSE_LUIGI_RACEWAY:
|
||||
temp_v0 = func_800B4E24(0) & 0xfffff;
|
||||
if (temp_v0 <= 11200) {
|
||||
if (temp_v0 <= BLAH3) {
|
||||
D_80162DD6 = 0;
|
||||
D_80162DF4 = 0;
|
||||
} else {
|
||||
|
|
|
@ -17,6 +17,7 @@ CPP_FLAGS = [
|
|||
"-undef",
|
||||
"-D__sgi",
|
||||
"-DVERSION_US",
|
||||
"-DVERSION_EU",
|
||||
"-DTARGET_N64",
|
||||
"-D_LANGUAGE_C",
|
||||
"-DF3DEX_GBI",
|
||||
|
|
|
@ -0,0 +1,250 @@
|
|||
name: Mario Kart 64 EU 1.0
|
||||
sha1: a729039453210b84f17019dda3f248d5888f7690
|
||||
options:
|
||||
basename: mk64.eu
|
||||
target_path: baserom.eu.z64
|
||||
base_path: .
|
||||
compiler: IDO
|
||||
platform: n64
|
||||
target_path: baserom.eu.z64
|
||||
build_path: build/eu
|
||||
find_file_boundaries: True
|
||||
header_encoding: ASCII
|
||||
ld_script_path: mk64.eu.ld
|
||||
asset_path: assets/eu
|
||||
# platform: n64
|
||||
# undefined_funcs_auto: True
|
||||
# undefined_funcs_auto_path: undefined_funcs_auto.txt
|
||||
# undefined_syms_auto: True
|
||||
# undefined_syms_auto_path: undefined_syms_auto.txt
|
||||
# symbol_addrs_path: symbol_addrs.txt
|
||||
asm_path: asm/eu
|
||||
# src_path: src
|
||||
extensions_path: tools/splat_ext
|
||||
mips_abi_float_regs: o32
|
||||
section_order: [".text", ".data", ".rodata", ".bss"]
|
||||
# auto_all_sections: [".data", ".rodata", ".bss"]
|
||||
segments:
|
||||
- name: header
|
||||
type: header
|
||||
start: 0x0
|
||||
- name: boot
|
||||
type: code
|
||||
start: 0x40
|
||||
vram: 0xA4000040
|
||||
subsegments:
|
||||
- [0x40, asm, boot]
|
||||
- [0xB70, i1, rspboot_font1, 13, 14]
|
||||
- [0xB87, i1, rspboot_font2, 13, 14]
|
||||
- [0xB9E, bin, rspboot_font]
|
||||
- name: main
|
||||
type: code
|
||||
bss_size: 0x18985C
|
||||
start: 0x1000
|
||||
vram: 0x80000400
|
||||
subsegments:
|
||||
- [0x1000, asm, entry]
|
||||
- [0x1050, c, main]
|
||||
- [0x3590, c, code_80002990]
|
||||
- [0x4130, c, profiler]
|
||||
- [0x4CA0, c, crash_screen]
|
||||
- [0x5320, c, code_80004740]
|
||||
- [0x5AD0, c, staff_ghosts]
|
||||
- [0x6B90, asm, unused_overflow_check]
|
||||
- [0x6BB0, c, code_80005FD0]
|
||||
- [0x1D0B0, c, camera]
|
||||
- [0x20560, c, code_8001F980]
|
||||
- [0x27C20, c, kart_dma]
|
||||
- [0x288E0, c, code_80027D00]
|
||||
- [0x39FA0, c, spawn_players]
|
||||
- [0x3E820, c, code_8003DC40]
|
||||
- [0x40C10, asm, unused_mio0_decode]
|
||||
- [0x40CB0, asm, mio0_decode]
|
||||
- [0x411B0, asm, tkmk00_decode]
|
||||
- [0x418E0, c, gbiMacro]
|
||||
- [0x41A30, c, math_util_2]
|
||||
- [0x43D90, c, code_800431B0]
|
||||
- [0x58840, c, code_80057C60]
|
||||
- [0x6F5A0, c, code_8006E9C0]
|
||||
- [0x72AE0, c, code_80071F00]
|
||||
- [0x87A50, c, code_80086E70]
|
||||
- [0x8CDB0, c, code_8008C1D0]
|
||||
- [0x920A0, c, code_800914A0]
|
||||
- [0x92350, c, code_80091750]
|
||||
- [0xB05B0, c, code_800AF9B0]
|
||||
- [0xB0F50, c, menus]
|
||||
- [0xB51E0, c, code_800B45E0]
|
||||
- [0xB77F0, c, audio/synthesis]
|
||||
- [0xB99E0, c, audio/heap]
|
||||
- [0xBB680, c, audio/load]
|
||||
- [0xBD170, c, audio/playback]
|
||||
- [0xBEA30, c, audio/effects]
|
||||
- [0xBF4D0, c, audio/seqplayer]
|
||||
- [0xC2000, c, audio/external]
|
||||
- [0xCBFC0, c, audio/port_eu]
|
||||
- [0xCCC00, c, ../lib/src/osCreateThread]
|
||||
- [0xCCD90, c, ../lib/src/osInitialize]
|
||||
- [0xCD030, c, ../lib/src/osStartThread]
|
||||
- [0xCD180, c, ../lib/src/osCreateViManager]
|
||||
- [0xCD4E0, c, ../lib/src/osViSetMode]
|
||||
- [0xCD550, c, ../lib/src/osViBlack]
|
||||
- [0xCD5C0, c, ../lib/src/osViSetSpecialFeatures]
|
||||
- [0xCD780, c, ../lib/src/osCreatePiManager]
|
||||
- [0xCD910, c, ../lib/src/osSetThreadPri]
|
||||
- [0xCD9F0, c, ../lib/src/osCreateMesgQueue]
|
||||
- [0xCDA20, c, ../lib/src/osViSetEvent]
|
||||
- [0xCDA90, c, ../lib/src/osSetEventMesg]
|
||||
- [0xCDB00, c, ../lib/src/osSpTaskLoadGo]
|
||||
- [0xCDDC0, c, ../lib/src/osContInit]
|
||||
- [0xCE180, c, ../lib/src/osContStartReadData]
|
||||
- [0xCE3E0, c, ../lib/src/osRecvMesg]
|
||||
- [0xCE520, asm, ../lib/asm/osWritebackDCacheAll]
|
||||
- [0xCE550, c, ../lib/src/osSendMesg]
|
||||
- [0xCE6A0, c, ../lib/src/osViSwapBuffer]
|
||||
- [0xCE6F0, asm, ../lib/asm/bzero]
|
||||
- [0xCE790, asm, ../lib/asm/osInvalICache]
|
||||
- [0xCE810, asm, ../lib/asm/osInvalDCache]
|
||||
- [0xCE8C0, c, ../lib/src/osPiStartDma]
|
||||
- [0xCE9D0, c, ../lib/src/osSpTaskYield]
|
||||
- [0xCE9F0, c, ../lib/src/osSpTaskYielded]
|
||||
- [0xCEA70, c, ../lib/src/osGetTime]
|
||||
- [0xCEB00, c, ../lib/src/math/llmuldiv]
|
||||
- [0xCEDC0, c, ../lib/src/__osGetCurrFaultedThread]
|
||||
- [0xCEDD0, asm, ../lib/asm/sqrtf]
|
||||
- [0xCEDE0, c, ../lib/src/guOrthoF]
|
||||
- [0xCEFA0, c, ../lib/src/osSetTime]
|
||||
- [0xCEFD0, c, ../lib/src/osEepromProbe]
|
||||
- [0xCF040, c, ../lib/src/osPfsIsPlug]
|
||||
- [0xCF3B0, c, ../lib/src/osPfsInit]
|
||||
- [0xCF570, c, ../lib/src/osPfsNumFiles]
|
||||
- [0xCF6C0, c, ../lib/src/osPfsFileState]
|
||||
- [0xCF9B0, c, ../lib/src/osPfsFreeBlocks]
|
||||
- [0xCFB00, c, ../lib/src/guRotateF]
|
||||
- [0xCFCF0, c, ../lib/src/guScaleF]
|
||||
- [0xCFD90, c, ../lib/src/guPerspectiveF]
|
||||
- [0xD0020, c, ../lib/src/guLookAtF]
|
||||
- [0xD0350, c, ../lib/src/guTranslateF]
|
||||
- [0xD03F0, c, ../lib/src/osSyncPrintf]
|
||||
- [0xD0450, c, ../lib/src/guMtxCatL]
|
||||
- [0xD0510, c, ../lib/src/osPfsSearchFile]
|
||||
- [0xD06D0, c, ../lib/src/osPfsDeleteFile]
|
||||
- [0xD0CE0, c, ../lib/src/osEepromLongWrite]
|
||||
- [0xD0E20, c, ../lib/src/osEepromLongRead]
|
||||
- [0xD0F60, c, ../lib/src/osPfsReadWriteFile]
|
||||
- [0xD1460, c, ../lib/src/osPfsAllocateFile]
|
||||
- [0xD1B48, c, ../lib/src/osAiSetFrequency]
|
||||
- [0xD1D70, c, ../lib/src/osAiGetLength]
|
||||
- [0xD1D80, c, ../lib/src/osAiSetNextBuffer]
|
||||
- [0xD1E30, c, ../lib/src/osGetCount]
|
||||
- [0xD1E40, asm, ../lib/asm/__osException]
|
||||
- [0xD2740, asm, ../lib/asm/__osDisableInt]
|
||||
- [0xD2760, asm, ../lib/asm/__osRestoreInt]
|
||||
- [0xD2780, c, ../lib/src/__osDequeueThread]
|
||||
- [0xD27C0, asm, ../lib/asm/__osSetSR]
|
||||
- [0xD27D0, asm, ../lib/asm/__osGetSR]
|
||||
- [0xD27E0, asm, ../lib/asm/__osSetFpcCsr]
|
||||
- [0xD27F0, c, ../lib/src/__osSiRawReadIo]
|
||||
- [0xD2840, c, ../lib/src/__osSiRawWriteIo]
|
||||
- [0xD2890, asm, ../lib/asm/osWritebackDCache]
|
||||
- [0xD2910, asm, ../lib/asm/osMapTLBRdb]
|
||||
- [0xD2970, c, ../lib/src/osPiRawReadIo]
|
||||
- [0xD29D0, c, ../lib/src/__osSetHWIntrRoutine]
|
||||
- [0xD2A20, c, ../lib/src/__osLeoInterrupt]
|
||||
- [0xD32A0, c, ../lib/src/osTimer]
|
||||
- [0xD36A0, c, ../lib/src/osGetThreadPri]
|
||||
- [0xD36C0, c, ../lib/src/__osViInit]
|
||||
- [0xD3810, c, ../lib/src/__osViGetCurrentContext]
|
||||
- [0xD3820, c, ../lib/src/__osViSwapContext]
|
||||
- [0xD3B80, c, ../lib/src/__osPiCreateAccessQueue]
|
||||
- [0xD3C40, c, ../lib/src/osPiRawStartDma]
|
||||
- [0xD3D20, c, ../lib/src/osEPiRawStartDma]
|
||||
- [0xD3E00, c, ../lib/src/__osDevMgrMain]
|
||||
- [0xD41B0, c, ../lib/src/bcopy]
|
||||
- [0xD44C0, c, ../lib/src/osVirtualToPhysical]
|
||||
- [0xD4540, c, ../lib/src/__osSpSetStatus]
|
||||
- [0xD4550, c, ../lib/src/__osSpSetPc]
|
||||
- [0xD4590, c, ../lib/src/__osSpRawStartDma]
|
||||
- [0xD4620, c, ../lib/src/__osSpDeviceBusy]
|
||||
- [0xD4650, c, ../lib/src/osSetTimer]
|
||||
- [0xD4730, c, ../lib/src/__osSiRawStartDma]
|
||||
- [0xD47E0, c, ../lib/src/__osSiCreateAccessQueue]
|
||||
- [0xD48A0, c, ../lib/src/osJamMesg]
|
||||
- [0xD49F0, c, ../lib/src/osPiGetCmdQueue]
|
||||
- [0xD4A20, c, ../lib/src/__osSpGetStatus]
|
||||
- [0xD4A30, c, ../lib/src/guMtxF2L]
|
||||
- [0xD4CA0, c, ../lib/src/osEepromWrite]
|
||||
- [0xD5180, c, ../lib/src/contpfs]
|
||||
- [0xD5EE0, c, ../lib/src/osPfsChecker]
|
||||
- [0xD6940, c, ../lib/src/contramread]
|
||||
- [0xD6CF0, c, ../lib/src/guNormalize]
|
||||
- [0xD6D80, c, ../lib/src/math/sinf]
|
||||
- [0xD6F40, c, ../lib/src/math/cosf]
|
||||
- [0xD70B0, c, ../lib/src/_Printf]
|
||||
- [0xD7D70, c, ../lib/src/guMtxCatF]
|
||||
- [0xD7F80, c, ../lib/src/contramwrite]
|
||||
- [0xD8330, c, ../lib/src/osEepromRead]
|
||||
- [0xD8630, c, ../lib/src/__osAiDeviceBusy]
|
||||
- [0xD8660, asm, ../lib/asm/osSetIntMask]
|
||||
- [0xD8700, c, ../lib/src/osDestroyThread]
|
||||
- [0xD8800, c, ../lib/src/__osSiDeviceBusy]
|
||||
- [0xD8830, c, ../lib/src/osLeoDiskInit]
|
||||
- [0xD8920, asm, ../lib/asm/__osSetCompare]
|
||||
- [0xD8930, c, ../lib/src/__osResetGlobalIntMask]
|
||||
- [0xD8990, c, ../lib/src/__osEPiRawWriteIo]
|
||||
- [0xD89E0, c, ../lib/src/osYieldThread]
|
||||
- [0xD8A30, asm, ../lib/asm/__osProbeTLB]
|
||||
- [0xD8AF0, c, ../lib/src/crc]
|
||||
- [0xD8C70, c, ../lib/src/string]
|
||||
- [0xD8D10, c, ../lib/src/_Litob]
|
||||
- [0xD8FB0, c, ../lib/src/_Ldtob]
|
||||
- [0xD9A70, c, ../lib/src/ldiv]
|
||||
- [0xD9C00, bin, lib/PR/boot/F3D_boot]
|
||||
- [0xD9CD0, bin, lib/PR/f3dex/F3DEX]
|
||||
- [0xDB0B0, bin, lib/PR/f3dlx/F3DLX]
|
||||
- [0xDD0D0, data, data_main]
|
||||
- [0xDD304, i1, crash_screen_font, 8, 136]
|
||||
- [0xDD38C, bin, unkDD38C]
|
||||
- [0xEC358, rodata, rodata_main]
|
||||
- [0xF7650, bss, bss_main]
|
||||
- name: seg2
|
||||
type: code
|
||||
bss_size: 0xFD180 # 0x3F460
|
||||
start: 0xF7650
|
||||
vram: 0x8028DF00
|
||||
subsegments:
|
||||
- [0xF7650, c, race_logic]
|
||||
- [0xFA370, c, render_courses]
|
||||
- [0x100148, c, actors]
|
||||
- [0x10CE80, c, skybox_and_splitscreen]
|
||||
- [0x111360, c, memory]
|
||||
- [0x119A00, c, actors_extended]
|
||||
- [0x11E750, c, math_util]
|
||||
- [0x121F80, data, data_seg2]
|
||||
- [0x1229D0, rodata, rodata_seg2]
|
||||
- [0x123840, bss, bss_seg2]
|
||||
- name: credits
|
||||
type: code
|
||||
bss_size: 0x1A0
|
||||
start: 0x123840 # end: 0x12B360
|
||||
vram: 0x80280000
|
||||
subsegments:
|
||||
- [0x123840, c, code_80280000]
|
||||
- [0x123E90, c, code_80280650]
|
||||
- [0x124E50, c, camera_junk]
|
||||
- [0x124FC0, c, code_80281780]
|
||||
- [0x125480, c, code_80281C40]
|
||||
- [0x1257E0, c, code_80281FA0]
|
||||
- [0x128680, data, data_credits]
|
||||
- [0x12ACC4, rodata, rodata_credits]
|
||||
- [0x12ACE0, bss, bss_credits]
|
||||
#- name: unkData
|
||||
# type: bin
|
||||
# start: 0x1313E0
|
||||
# vram: 0xDD000000
|
||||
|
||||
#- name: models
|
||||
# type: mio0
|
||||
# start: 0x821F10
|
||||
# vram: 0x0C000000
|
||||
|
||||
- [0xC00000] # end of rom
|
|
@ -0,0 +1,255 @@
|
|||
name: Mario Kart 64 US
|
||||
sha1: 579c48e211ae952530ffc8738709f078d5dd215e
|
||||
options:
|
||||
basename: mk64
|
||||
target_path: baserom.us.z64
|
||||
base_path: .
|
||||
compiler: IDO
|
||||
platform: n64
|
||||
target_path: baserom.us.z64
|
||||
build_path: build/us
|
||||
find_file_boundaries: True
|
||||
header_encoding: ASCII
|
||||
ld_script_path: mk64.us.ld
|
||||
asset_path: assets/us
|
||||
# platform: n64
|
||||
# undefined_funcs_auto: True
|
||||
# undefined_funcs_auto_path: undefined_funcs_auto.txt
|
||||
# undefined_syms_auto: True
|
||||
# undefined_syms_auto_path: undefined_syms_auto.txt
|
||||
# symbol_addrs_path: symbol_addrs.txt
|
||||
asm_path: asm/us
|
||||
# src_path: src
|
||||
# extensions_path: tools/splat_ext
|
||||
mips_abi_float_regs: o32
|
||||
section_order: [".text", ".data", ".rodata", ".bss"]
|
||||
# auto_all_sections: [".data", ".rodata", ".bss"]
|
||||
segments:
|
||||
- name: header
|
||||
type: header
|
||||
start: 0x0
|
||||
|
||||
- name: boot
|
||||
type: code
|
||||
start: 0x40
|
||||
vram: 0xA4000040
|
||||
subsegments:
|
||||
- [0x0040, asm, boot]
|
||||
- [0x0B70, bin, rspboot_font]
|
||||
- name: main
|
||||
type: code
|
||||
bss_size: 0x18985C
|
||||
start: 0x1000
|
||||
vram: 0x80000400
|
||||
subsegments:
|
||||
- [0x1000, asm, entry]
|
||||
- [0x1050, c, main]
|
||||
- [0x35B0, c, code_800029B0]
|
||||
- [0x4150, c, profiler]
|
||||
- [0x4CC0, c, crash_screen]
|
||||
- [0x5340, c, code_80004740]
|
||||
- [0x5AF0, c, staff_ghosts]
|
||||
- [0x6BB0, asm, unused_overflow_check]
|
||||
- [0x6BD0, c, code_80005FD0]
|
||||
- [0x1D0D0, c, camera]
|
||||
- [0x20580, c, code_8001F980]
|
||||
- [0x27C40, c, kart_dma]
|
||||
- [0x28900, c, code_80027D00]
|
||||
- [0x39FC0, c, spawn_players]
|
||||
- [0x3E840, c, code_8003DC40]
|
||||
- [0x40C30, asm, unused_mio0_decode]
|
||||
- [0x40CD0, asm, mio0_decode]
|
||||
- [0x411D0, asm, tkmk00_decode]
|
||||
- [0x41900, c, gbiMacro]
|
||||
- [0x41A50, c, math_util_2]
|
||||
- [0x43DB0, c, code_800431B0]
|
||||
- [0x58860, c, code_80057C60]
|
||||
- [0x6F5C0, c, code_8006E9C0]
|
||||
- [0x72B00, c, code_80071F00]
|
||||
- [0x87A70, c, code_80086E70]
|
||||
- [0x8CDD0, c, code_8008C1D0]
|
||||
- [0x920C0, c, code_800914A0]
|
||||
- [0x92350, c, code_80091750]
|
||||
- [0xB05B0, c, code_800AF9B0]
|
||||
- [0xB0F50, c, menus]
|
||||
- [0xB51E0, c, code_800B45E0]
|
||||
- [0xB77F0, c, audio/synthesis]
|
||||
- [0xB99E0, c, audio/heap]
|
||||
- [0xBB680, c, audio/load]
|
||||
- [0xBD170, c, audio/playback]
|
||||
- [0xBEA50, c, audio/effects]
|
||||
- [0xBF4F0, c, audio/seqplayer]
|
||||
- [0xC1FF0, c, audio/external]
|
||||
- [0xCBF30, c, audio/port_eu]
|
||||
- [0xCCB70, c, ../lib/src/osCreateThread]
|
||||
- [0xCCCC0, c, ../lib/src/osInitialize]
|
||||
- [0xCCF60, c, ../lib/src/osStartThread]
|
||||
- [0xCD0B0, c, ../lib/src/osCreateViManager]
|
||||
- [0xCD450, c, ../lib/src/osViSetMode]
|
||||
- [0xCD4C0, c, ../lib/src/osViBlack]
|
||||
- [0xCD530, c, ../lib/src/osViSetSpecialFeatures]
|
||||
- [0xCD6F0, c, ../lib/src/osCreatePiManager]
|
||||
- [0xCD880, c, ../lib/src/osSetThreadPri]
|
||||
- [0xCD960, c, ../lib/src/osCreateMesgQueue]
|
||||
- [0xCD990, c, ../lib/src/osViSetEvent]
|
||||
- [0xCDA00, c, ../lib/src/osSetEventMesg]
|
||||
- [0xCDA70, c, ../lib/src/osSpTaskLoadGo]
|
||||
- [0xCDD30, c, ../lib/src/osContInit]
|
||||
- [0xCE0F0, c, ../lib/src/osContStartReadData]
|
||||
- [0xCE350, c, ../lib/src/osRecvMesg]
|
||||
- [0xCE490, asm, ../lib/asm/osWritebackDCacheAll]
|
||||
- [0xCE4C0, c, ../lib/src/osSendMesg]
|
||||
- [0xCE610, c, ../lib/src/osViSwapBuffer]
|
||||
- [0xCE660, asm, ../lib/asm/bzero]
|
||||
- [0xCE700, asm, ../lib/asm/osInvalICache]
|
||||
- [0xCE780, asm, ../lib/asm/osInvalDCache] # did this one
|
||||
- [0xCE830, c, ../lib/src/osPiStartDma] # didn't do this one
|
||||
- [0xCE940, c, ../lib/src/osSpTaskYield]
|
||||
- [0xCE960, c, ../lib/src/osSpTaskYielded]
|
||||
- [0xCE9E0, c, ../lib/src/osGetTime]
|
||||
- [0xCEA70, c, ../lib/src/math/llmuldiv]
|
||||
- [0xCED30, c, ../lib/src/__osGetCurrFaultedThread]
|
||||
- [0xCED40, asm, ../lib/asm/sqrtf]
|
||||
- [0xCED50, c, ../lib/src/guOrthoF]
|
||||
- [0xCEF10, c, ../lib/src/osSetTime]
|
||||
- [0xCEF40, c, ../lib/src/osEepromProbe]
|
||||
- [0xCEFB0, c, ../lib/src/osPfsIsPlug]
|
||||
- [0xCF320, c, ../lib/src/osPfsInit]
|
||||
- [0xCF4E0, c, ../lib/src/osPfsNumFiles]
|
||||
- [0xCF630, c, ../lib/src/osPfsFileState]
|
||||
- [0xCF920, c, ../lib/src/osPfsFreeBlocks]
|
||||
- [0xCFA70, c, ../lib/src/guRotateF]
|
||||
- [0xCFC60, c, ../lib/src/guScaleF]
|
||||
- [0xCFD00, c, ../lib/src/guPerspectiveF]
|
||||
- [0xCFF90, c, ../lib/src/guLookAtF]
|
||||
- [0xD02C0, c, ../lib/src/guTranslateF]
|
||||
- [0xD0360, c, ../lib/src/osSyncPrintf]
|
||||
- [0xD03C0, c, ../lib/src/guMtxCatL]
|
||||
- [0xD0480, c, ../lib/src/osPfsSearchFile]
|
||||
- [0xD0640, c, ../lib/src/osPfsDeleteFile]
|
||||
- [0xD0C50, c, ../lib/src/osEepromLongWrite]
|
||||
- [0xD0D90, c, ../lib/src/osEepromLongRead]
|
||||
- [0xD0ED0, c, ../lib/src/osPfsReadWriteFile]
|
||||
- [0xD13D0, c, ../lib/src/osPfsAllocateFile]
|
||||
- [0xD1B80, c, ../lib/src/osAiSetFrequency]
|
||||
- [0xD1CE0, c, ../lib/src/osAiGetLength]
|
||||
- [0xD1CF0, c, ../lib/src/osAiSetNextBuffer]
|
||||
- [0xD1DA0, c, ../lib/src/osGetCount]
|
||||
- [0xD1DB0, asm, ../lib/asm/__osException]
|
||||
- [0xD26B0, asm, ../lib/asm/__osDisableInt]
|
||||
- [0xD26D0, asm, ../lib/asm/__osRestoreInt]
|
||||
- [0xD26F0, c, ../lib/src/__osDequeueThread]
|
||||
- [0xD2730, asm, ../lib/asm/__osSetSR]
|
||||
- [0xD2740, asm, ../lib/asm/__osGetSR]
|
||||
- [0xD2750, asm, ../lib/asm/__osSetFpcCsr]
|
||||
- [0xD2760, c, ../lib/src/__osSiRawReadIo]
|
||||
- [0xD27B0, c, ../lib/src/__osSiRawWriteIo]
|
||||
- [0xD2800, asm, ../lib/asm/osWritebackDCache]
|
||||
- [0xD2880, asm, ../lib/asm/osMapTLBRdb]
|
||||
- [0xD28E0, c, ../lib/src/osPiRawReadIo]
|
||||
- [0xD2940, c, ../lib/src/__osSetHWIntrRoutine]
|
||||
- [0xD2990, c, ../lib/src/__osLeoInterrupt]
|
||||
- [0xD3210, c, ../lib/src/osTimer]
|
||||
- [0xD3610, c, ../lib/src/osGetThreadPri]
|
||||
- [0xD3630, c, ../lib/src/__osViInit]
|
||||
- [0xD3780, c, ../lib/src/__osViGetCurrentContext]
|
||||
- [0xD3790, c, ../lib/src/__osViSwapContext]
|
||||
- [0xD3AF0, c, ../lib/src/__osPiCreateAccessQueue]
|
||||
- [0xD3BB0, c, ../lib/src/osPiRawStartDma]
|
||||
- [0xD3C90, c, ../lib/src/osEPiRawStartDma]
|
||||
- [0xD3D70, c, ../lib/src/__osDevMgrMain]
|
||||
- [0xD4120, c, ../lib/src/bcopy]
|
||||
- [0xD4430, c, ../lib/src/osVirtualToPhysical]
|
||||
- [0xD44B0, c, ../lib/src/__osSpSetStatus]
|
||||
- [0xD44C0, c, ../lib/src/__osSpSetPc]
|
||||
- [0xD4500, c, ../lib/src/__osSpRawStartDma]
|
||||
- [0xD4590, c, ../lib/src/__osSpDeviceBusy]
|
||||
- [0xD45C0, c, ../lib/src/osSetTimer]
|
||||
- [0xD46A0, c, ../lib/src/__osSiRawStartDma]
|
||||
- [0xD4750, c, ../lib/src/__osSiCreateAccessQueue]
|
||||
- [0xD4810, c, ../lib/src/osJamMesg]
|
||||
- [0xD4960, c, ../lib/src/osPiGetCmdQueue]
|
||||
- [0xD4990, c, ../lib/src/__osSpGetStatus]
|
||||
- [0xD49A0, c, ../lib/src/guMtxF2L]
|
||||
- [0xD4C10, c, ../lib/src/osEepromWrite]
|
||||
- [0xD50F0, c, ../lib/src/contpfs]
|
||||
- [0xD5E50, c, ../lib/src/osPfsChecker]
|
||||
- [0xD68B0, c, ../lib/src/contramread]
|
||||
- [0xD6C60, c, ../lib/src/guNormalize]
|
||||
- [0xD6CF0, c, ../lib/src/math/sinf]
|
||||
- [0xD6EB0, c, ../lib/src/math/cosf]
|
||||
- [0xD7020, c, ../lib/src/_Printf]
|
||||
- [0xD7CE0, c, ../lib/src/guMtxCatF]
|
||||
- [0xD7EF0, c, ../lib/src/contramwrite]
|
||||
- [0xD82A0, c, ../lib/src/osEepromRead]
|
||||
- [0xD85A0, c, ../lib/src/__osAiDeviceBusy]
|
||||
- [0xD85D0, asm, ../lib/asm/osSetIntMask]
|
||||
- [0xD8670, c, ../lib/src/osDestroyThread]
|
||||
- [0xD8770, c, ../lib/src/__osSiDeviceBusy]
|
||||
- [0xD87A0, c, ../lib/src/osLeoDiskInit]
|
||||
- [0xD8890, asm, ../lib/asm/__osSetCompare]
|
||||
- [0xD88A0, c, ../lib/src/__osResetGlobalIntMask]
|
||||
- [0xD8900, c, ../lib/src/__osEPiRawWriteIo]
|
||||
- [0xD8950, c, ../lib/src/osYieldThread]
|
||||
- [0xD89A0, asm, ../lib/asm/__osProbeTLB]
|
||||
- [0xD8A60, c, ../lib/src/crc]
|
||||
- [0xD8BE0, c, ../lib/src/string]
|
||||
- [0xD8C80, c, ../lib/src/_Litob]
|
||||
- [0xD8F20, c, ../lib/src/_Ldtob]
|
||||
- [0xD99E0, c, ../lib/src/ldiv]
|
||||
- [0xD9B70, bin, lib/PR/boot/F3D_boot]
|
||||
- [0xD9C40, bin, lib/PR/f3dex/F3DEX]
|
||||
- [0xDB020, bin, lib/PR/f3dlx/F3DLX]
|
||||
- [0xDC430, bin, lib/PR/audio/aspMain]
|
||||
- [0xDD0D0, data, data_main]
|
||||
- [0xDD274, bin, textures/crash_screen/crash_screen_font]
|
||||
- [0xEC358, rodata, rodata_main]
|
||||
- [0xF4900, bin, lib/PR/f3d/F3DEX_data]
|
||||
- [0xF5100, bin, lib/PR/f3d/F3DLX_data]
|
||||
- [0xF5900, bin, lib/PR/audio/aspMain_data]
|
||||
- name: seg2
|
||||
type: code
|
||||
bss_size: 0xFD180 # 0x3F460
|
||||
start: 0xF7510
|
||||
vram: 0x8028DF00
|
||||
subsegments:
|
||||
- [0xF7510, c, race_logic]
|
||||
- [0xFA230, c, render_courses]
|
||||
- [0x100060, c, actors]
|
||||
- [0x10CD40, c, skybox_and_splitscreen]
|
||||
- [0x111180, c, memory]
|
||||
- [0x114080, c, code_802AAA70]
|
||||
- [0x119820, c, actors_extended]
|
||||
- [0x11E570, c, math_util]
|
||||
- [0x121DA0, data, data_seg2]
|
||||
#- [0x1227D0, data, race_logic] # race_logic .data location messed up?!?
|
||||
#- [0x1227F0, rodata, race_logic]
|
||||
- [0x1227D0, rodata, race_logic]
|
||||
- [0x1228D0, rodata, render_courses]
|
||||
- [0x122B10, rodata, actors]
|
||||
- [0x1231C0, rodata, skybox_and_splitscreen]
|
||||
- [0x123240, rodata, memory]
|
||||
- [0x123410, rodata, code_802AAA70]
|
||||
- [0x123490, rodata, actors_extended]
|
||||
- [0x1235C0, rodata, math_util]
|
||||
- [0x123640, hasm, bss_seg2]
|
||||
- name: credits
|
||||
type: code
|
||||
bss_size: 0x1A0
|
||||
start: 0x123640 # end: 0x12B360
|
||||
vram: 0x80280000
|
||||
subsegments:
|
||||
- [0x123640, c, code_80280000]
|
||||
- [0x123C90, c, code_80280650]
|
||||
- [0x124C50, c, camera_junk]
|
||||
- [0x124DC0, c, code_80281780]
|
||||
- [0x125280, c, code_80281C40]
|
||||
- [0x1255E0, c, ceremony_and_credits]
|
||||
- [0x128480, data, data_credits]
|
||||
- [0x12A1B0, rodata, code_80280650]
|
||||
- [0x12A1D0, rodata, camera_junk]
|
||||
- [0x12A1F0, rodata, credits]
|
||||
- [0x12AAB0, rodata, ceremony_and_credits]
|
||||
- [0x12AAE0, bss, bss_credits]
|
||||
|
||||
- [0xC00000] # end of rom
|
|
@ -172,7 +172,6 @@ D_0F0BD350 = 0x0F0BD350;
|
|||
D_0F0CCF50 = 0x0F0CCF50;
|
||||
D_0F0D0E50 = 0x0F0D0E50;
|
||||
|
||||
|
||||
d_course_mario_raceway_vertex = 0x0F000000;
|
||||
d_course_moo_moo_farm_vertex = 0x0F000000;
|
||||
d_course_luigi_raceway_vertex = 0x0F000000;
|
||||
|
|
Loading…
Reference in New Issue