1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-06-07 17:11:50 +00:00

z_message_PAL, message_data_static and surrounding doc (#996)

* Initial progress on z_message_PAL, very messy

* Fix merge

* Some more progress

* Fix merge

* More z_message_PAL

* Small progress

* More small progress

* message_data_static files OK

* Prepare z_message_tables

* Matched another function, small updates

* Attempt to use asm-processor static-symbols branch

* Refactor text id declarations

* Begin large text codes parser function

* Fix merge

* Refactor done

* Build OK, add color and highscore names

* Remove encoded text headers and automatically encode during build

* Fix kanfont

* Various cleanups

* DISP macros

* Another match aside data

* Further progress

* Small improvements

* Deduplicate magic values for text control codes, small improvements

* Tiny progress

* Minor cleanups

* Clean up z_message_PAL comment

* Progress on large functions

* Further progress on large functions

* Changes to mkldscript to link .data in the .rodata section

* data OK

* Few improvements

* Use gDPLoadTextureBlock macros where appropriate

* rm z_message_tables, progress on large functions

* 2 more matches

* Improvements

* Small progress

* More progress on big function

* progress

* match func_80107980

* match Message_Update

* match func_8010BED8

* done

* Progress on remaining large functions

* Small progress on largest function

* Another match, extract text and move to assets, improve text build system

* Small nonmatchings improvements

* docs wip

* Largest function maybe equivalent

* Fix merge

* Document do_action values, largest function is almost instruction-matching

* Rename NAVI do_action to NONE, as that appears to be how that value is used in practice

* Fix merge

* one match

* Last function is instruction-matching

* Fix

* Improvements thanks to engineer124

* Stack matched thanks to petrie911, now just a/v/low t regalloc issues, some cleanup

* More variables labeled, use text state enum everywhere

* More labels and names

* Fix

* Actor_IsTalking -> Actor_TalkRequested

* Match func_8010C39C and remove unused asm

* More docs

* Mostly ocarina related docs

* All msgModes named

* Fix assetclean

* Cleanup

* Extraction fixes and headers

* Suggestions

* Review suggestions

* Change text extraction again, only extract if the headers do not already exist

* Fix

* Use ast for charmap, fix assetclean for real this time

* Review suggestions

* BGM ids and ran formatter

* Review comments

* rename include_readonly to include_data_with_rodata

* Remove leading 0s in number directives

* Review suggestions for message_data_static

* textbox pos enum comments, rename several enum names from Message to TextBox

Co-authored-by: Thar0 <maximilianc64@gmail.com>
Co-authored-by: Zelllll <56516451+Zelllll@users.noreply.github.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
Co-authored-by: Roman971 <romanlasnier@hotmail.com>
This commit is contained in:
Tharo 2021-11-23 01:20:30 +00:00 committed by GitHub
parent 03636166b3
commit a497f33bda
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
216 changed files with 7052 additions and 16801 deletions

View file

@ -99,11 +99,12 @@ SPEC := spec
SRC_DIRS := $(shell find src -type d)
ASM_DIRS := $(shell find asm -type d -not -path "asm/non_matchings*") $(shell find data -type d)
ASSET_BIN_DIRS := $(shell find assets/* -type d -not -path "assets/xml*")
ASSET_BIN_DIRS := $(shell find assets/* -type d -not -path "assets/xml*" -not -path "assets/text")
ASSET_FILES_XML := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.xml))
ASSET_FILES_BIN := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.bin))
ASSET_FILES_OUT := $(foreach f,$(ASSET_FILES_XML:.xml=.c),$f) \
$(foreach f,$(ASSET_FILES_BIN:.bin=.bin.inc.c),build/$f)
$(foreach f,$(ASSET_FILES_BIN:.bin=.bin.inc.c),build/$f) \
$(foreach f,$(wildcard assets/text/*.c),build/$(f:.c=.o))
# source files
C_FILES := $(foreach dir,$(SRC_DIRS) $(ASSET_BIN_DIRS),$(wildcard $(dir)/*.c))
@ -122,7 +123,7 @@ TEXTURE_FILES_OUT := $(foreach f,$(TEXTURE_FILES_PNG:.png=.inc.c),build/$f) \
$(foreach f,$(TEXTURE_FILES_JPG:.jpg=.jpg.inc.c),build/$f) \
# create build directories
$(shell mkdir -p build/baserom $(foreach dir,$(SRC_DIRS) $(ASM_DIRS) $(ASSET_BIN_DIRS),build/$(dir)))
$(shell mkdir -p build/baserom build/assets/text $(foreach dir,$(SRC_DIRS) $(ASM_DIRS) $(ASSET_BIN_DIRS),build/$(dir)))
build/src/libultra_boot_O1/%.o: OPTFLAGS := -O1
build/src/libultra_boot_O2/%.o: OPTFLAGS := -O2
@ -185,6 +186,7 @@ clean:
assetclean:
$(RM) -r $(ASSET_BIN_DIRS)
$(RM) -r assets/text/*.h
$(RM) -r build/assets
$(RM) -r .extracted-assets.json
@ -215,6 +217,14 @@ build/asm/%.o: asm/%.s
build/data/%.o: data/%.s
iconv --from UTF-8 --to EUC-JP $< | $(AS) $(ASFLAGS) -o $@
build/assets/text/%.enc.h: assets/text/%.h assets/text/charmap.txt
python3 tools/msgenc.py assets/text/charmap.txt $< $@
build/assets/text/fra_message_data_static.o: build/assets/text/message_data.enc.h
build/assets/text/ger_message_data_static.o: build/assets/text/message_data.enc.h
build/assets/text/nes_message_data_static.o: build/assets/text/message_data.enc.h
build/assets/text/staff_message_data_static.o: build/assets/text/message_data_staff.enc.h
build/assets/%.o: assets/%.c
$(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $<
$(OBJCOPY) -O binary $@ $@.bin

View file

@ -1,64 +0,0 @@
glabel func_801069B0
/* B7DB50 801069B0 3C058016 */ lui $a1, %hi(gGameInfo) # $a1, 0x8016
/* B7DB54 801069B4 24A5FA90 */ addiu $a1, %lo(gGameInfo) # addiu $a1, $a1, -0x570
/* B7DB58 801069B8 8CAF0000 */ lw $t7, ($a1)
/* B7DB5C 801069BC 240E00BD */ li $t6, 189
/* B7DB60 801069C0 241800B8 */ li $t8, 184
/* B7DB64 801069C4 A5EE0F6E */ sh $t6, 0xf6e($t7)
/* B7DB68 801069C8 8CB90000 */ lw $t9, ($a1)
/* B7DB6C 801069CC 240800B3 */ li $t0, 179
/* B7DB70 801069D0 240A00AE */ li $t2, 174
/* B7DB74 801069D4 A7380F70 */ sh $t8, 0xf70($t9)
/* B7DB78 801069D8 8CA90000 */ lw $t1, ($a1)
/* B7DB7C 801069DC 240C00A9 */ li $t4, 169
/* B7DB80 801069E0 3C038015 */ lui $v1, %hi(D_80153958) # $v1, 0x8015
/* B7DB84 801069E4 A5280F72 */ sh $t0, 0xf72($t1)
/* B7DB88 801069E8 8CAB0000 */ lw $t3, ($a1)
/* B7DB8C 801069EC 240E00FF */ li $t6, 255
/* B7DB90 801069F0 3C018015 */ lui $at, %hi(D_8015394C) # $at, 0x8015
/* B7DB94 801069F4 A56A0F74 */ sh $t2, 0xf74($t3)
/* B7DB98 801069F8 8CAD0000 */ lw $t5, ($a1)
/* B7DB9C 801069FC 24633958 */ addiu $v1, %lo(D_80153958) # addiu $v1, $v1, 0x3958
/* B7DBA0 80106A00 240F0050 */ li $t7, 80
/* B7DBA4 80106A04 A5AC0F76 */ sh $t4, 0xf76($t5)
/* B7DBA8 80106A08 A02E394C */ sb $t6, %lo(D_8015394C)($at)
/* B7DBAC 80106A0C A4600010 */ sh $zero, 0x10($v1)
/* B7DBB0 80106A10 84620010 */ lh $v0, 0x10($v1)
/* B7DBB4 80106A14 3C018017 */ lui $at, %hi(D_801759A8) # $at, 0x8017
/* B7DBB8 80106A18 240600FF */ li $a2, 255
/* B7DBBC 80106A1C A462000E */ sh $v0, 0xe($v1)
/* B7DBC0 80106A20 A462000C */ sh $v0, 0xc($v1)
/* B7DBC4 80106A24 A462000A */ sh $v0, 0xa($v1)
/* B7DBC8 80106A28 A4620008 */ sh $v0, 8($v1)
/* B7DBCC 80106A2C A4620006 */ sh $v0, 6($v1)
/* B7DBD0 80106A30 A4620004 */ sh $v0, 4($v1)
/* B7DBD4 80106A34 A4620002 */ sh $v0, 2($v1)
/* B7DBD8 80106A38 A4620000 */ sh $v0, ($v1)
/* B7DBDC 80106A3C A42F59A8 */ sh $t7, %lo(D_801759A8)($at)
/* B7DBE0 80106A40 3C018017 */ lui $at, %hi(D_801759AC) # $at, 0x8017
/* B7DBE4 80106A44 A42659AC */ sh $a2, %lo(D_801759AC)($at)
/* B7DBE8 80106A48 3C018017 */ lui $at, %hi(D_801759AA) # $at, 0x8017
/* B7DBEC 80106A4C 24180096 */ li $t8, 150
/* B7DBF0 80106A50 A43859AA */ sh $t8, %lo(D_801759AA)($at)
/* B7DBF4 80106A54 2404000A */ li $a0, 10
/* B7DBF8 80106A58 3C018017 */ lui $at, %hi(D_801759AE) # $at, 0x8017
/* B7DBFC 80106A5C A42459AE */ sh $a0, %lo(D_801759AE)($at)
/* B7DC00 80106A60 3C018017 */ lui $at, %hi(D_801759B2) # $at, 0x8017
/* B7DC04 80106A64 A42459B2 */ sh $a0, %lo(D_801759B2)($at)
/* B7DC08 80106A68 3C018017 */ lui $at, %hi(D_801759B0) # $at, 0x8017
/* B7DC0C 80106A6C A42459B0 */ sh $a0, %lo(D_801759B0)($at)
/* B7DC10 80106A70 3C018017 */ lui $at, %hi(D_801759B4) # $at, 0x8017
/* B7DC14 80106A74 A42659B4 */ sh $a2, %lo(D_801759B4)($at)
/* B7DC18 80106A78 3C018017 */ lui $at, %hi(D_801759B8) # $at, 0x8017
/* B7DC1C 80106A7C A42659B8 */ sh $a2, %lo(D_801759B8)($at)
/* B7DC20 80106A80 3C018017 */ lui $at, %hi(D_801759B6) # $at, 0x8017
/* B7DC24 80106A84 24190032 */ li $t9, 50
/* B7DC28 80106A88 A43959B6 */ sh $t9, %lo(D_801759B6)($at)
/* B7DC2C 80106A8C 3C018017 */ lui $at, %hi(D_801759BA) # $at, 0x8017
/* B7DC30 80106A90 A42459BA */ sh $a0, %lo(D_801759BA)($at)
/* B7DC34 80106A94 3C018017 */ lui $at, %hi(D_801759BE) # $at, 0x8017
/* B7DC38 80106A98 A42459BE */ sh $a0, %lo(D_801759BE)($at)
/* B7DC3C 80106A9C 3C018017 */ lui $at, %hi(D_801759BC)
/* B7DC40 80106AA0 03E00008 */ jr $ra
/* B7DC44 80106AA4 A42459BC */ sh $a0, %lo(D_801759BC)($at)

View file

@ -1,76 +0,0 @@
glabel func_80106AA8
/* B7DC48 80106AA8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B7DC4C 80106AAC 3C010001 */ lui $at, 1
/* B7DC50 80106AB0 AFBF001C */ sw $ra, 0x1c($sp)
/* B7DC54 80106AB4 AFB00018 */ sw $s0, 0x18($sp)
/* B7DC58 80106AB8 00811021 */ addu $v0, $a0, $at
/* B7DC5C 80106ABC 904E03DC */ lbu $t6, 0x3dc($v0)
/* B7DC60 80106AC0 00240821 */ addu $at, $at, $a0
/* B7DC64 80106AC4 00802825 */ move $a1, $a0
/* B7DC68 80106AC8 25CF0001 */ addiu $t7, $t6, 1
/* B7DC6C 80106ACC A02F03DC */ sb $t7, 0x3dc($at)
/* B7DC70 80106AD0 905803DC */ lbu $t8, 0x3dc($v0)
/* B7DC74 80106AD4 2401002E */ li $at, 46
/* B7DC78 80106AD8 24040001 */ li $a0, 1
/* B7DC7C 80106ADC 17010019 */ bne $t8, $at, .L80106B44
/* B7DC80 80106AE0 24B020D8 */ addiu $s0, $a1, 0x20d8
/* B7DC84 80106AE4 0C03B616 */ jal func_800ED858
/* B7DC88 80106AE8 AFA50030 */ sw $a1, 0x30($sp)
/* B7DC8C 80106AEC 0C03B8F5 */ jal func_800EE3D4
/* B7DC90 80106AF0 00000000 */ nop
/* B7DC94 80106AF4 8FA50030 */ lw $a1, 0x30($sp)
/* B7DC98 80106AF8 3C068015 */ lui $a2, %hi(D_8014B2F8) # $a2, 0x8015
/* B7DC9C 80106AFC 24C6B2F8 */ addiu $a2, %lo(D_8014B2F8) # addiu $a2, $a2, -0x4d08
/* B7DCA0 80106B00 24B020D8 */ addiu $s0, $a1, 0x20d8
/* B7DCA4 80106B04 26017FFF */ addiu $at, $s0, 0x7fff
/* B7DCA8 80106B08 AC2262B9 */ sw $v0, 0x62b9($at)
/* B7DCAC 80106B0C A4C00000 */ sh $zero, ($a2)
/* B7DCB0 80106B10 34018000 */ li $at, 32768
/* B7DCB4 80106B14 02011821 */ addu $v1, $s0, $at
/* B7DCB8 80106B18 8C6862B8 */ lw $t0, 0x62b8($v1)
/* B7DCBC 80106B1C 84D90000 */ lh $t9, ($a2)
/* B7DCC0 80106B20 3404A000 */ li $a0, 40960
/* B7DCC4 80106B24 A1190002 */ sb $t9, 2($t0)
/* B7DCC8 80106B28 0C03B301 */ jal func_800ECC04
/* B7DCCC 80106B2C AFA30024 */ sw $v1, 0x24($sp)
/* B7DCD0 80106B30 8FA30024 */ lw $v1, 0x24($sp)
/* B7DCD4 80106B34 26017FFF */ addiu $at, $s0, 0x7fff
/* B7DCD8 80106B38 946963D4 */ lhu $t1, 0x63d4($v1)
/* B7DCDC 80106B3C 1000001B */ b .L80106BAC
/* B7DCE0 80106B40 A42963D3 */ sh $t1, 0x63d3($at)
.L80106B44:
/* B7DCE4 80106B44 34018000 */ li $at, 32768
/* B7DCE8 80106B48 02011821 */ addu $v1, $s0, $at
/* B7DCEC 80106B4C 906A6304 */ lbu $t2, 0x6304($v1)
/* B7DCF0 80106B50 2401002C */ li $at, 44
/* B7DCF4 80106B54 24040006 */ li $a0, 6
/* B7DCF8 80106B58 15410014 */ bne $t2, $at, .L80106BAC
/* B7DCFC 80106B5C 00000000 */ nop
/* B7DD00 80106B60 0C03B616 */ jal func_800ED858
/* B7DD04 80106B64 AFA30024 */ sw $v1, 0x24($sp)
/* B7DD08 80106B68 0C03B8FE */ jal Audio_OcaGetDisplayStaff
/* B7DD0C 80106B6C 00000000 */ nop
/* B7DD10 80106B70 8FA30024 */ lw $v1, 0x24($sp)
/* B7DD14 80106B74 3C068015 */ lui $a2, %hi(D_8014B2F8) # $a2, 0x8015
/* B7DD18 80106B78 26017FFF */ addiu $at, $s0, 0x7fff
/* B7DD1C 80106B7C AC2262B9 */ sw $v0, 0x62b9($at)
/* B7DD20 80106B80 24C6B2F8 */ addiu $a2, %lo(D_8014B2F8) # addiu $a2, $a2, -0x4d08
/* B7DD24 80106B84 A4C00000 */ sh $zero, ($a2)
/* B7DD28 80106B88 84CB0000 */ lh $t3, ($a2)
/* B7DD2C 80106B8C 8C6C62B8 */ lw $t4, 0x62b8($v1)
/* B7DD30 80106B90 2404000E */ li $a0, 14
/* B7DD34 80106B94 24050001 */ li $a1, 1
/* B7DD38 80106B98 0C03B64F */ jal func_800ED93C
/* B7DD3C 80106B9C A18B0002 */ sb $t3, 2($t4)
/* B7DD40 80106BA0 240D0002 */ li $t5, 2
/* B7DD44 80106BA4 26017FFF */ addiu $at, $s0, 0x7fff
/* B7DD48 80106BA8 A02D63E8 */ sb $t5, 0x63e8($at)
.L80106BAC:
/* B7DD4C 80106BAC 0C041A6C */ jal func_801069B0
/* B7DD50 80106BB0 00000000 */ nop
/* B7DD54 80106BB4 8FBF001C */ lw $ra, 0x1c($sp)
/* B7DD58 80106BB8 8FB00018 */ lw $s0, 0x18($sp)
/* B7DD5C 80106BBC 27BD0030 */ addiu $sp, $sp, 0x30
/* B7DD60 80106BC0 03E00008 */ jr $ra
/* B7DD64 80106BC4 00000000 */ nop

View file

@ -1,53 +0,0 @@
glabel func_80106BC8
/* B7DD68 80106BC8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B7DD6C 80106BCC AFBF001C */ sw $ra, 0x1c($sp)
/* B7DD70 80106BD0 AFA40030 */ sw $a0, 0x30($sp)
/* B7DD74 80106BD4 948F0020 */ lhu $t7, 0x20($a0)
/* B7DD78 80106BD8 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff
/* B7DD7C 80106BDC 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff
/* B7DD80 80106BE0 01E1C027 */ nor $t8, $t7, $at
/* B7DD84 80106BE4 13000008 */ beqz $t8, .L80106C08
/* B7DD88 80106BE8 2401BFFF */ li $at, -16385
/* B7DD8C 80106BEC 01E1C827 */ nor $t9, $t7, $at
/* B7DD90 80106BF0 13200005 */ beqz $t9, .L80106C08
/* B7DD94 80106BF4 01E01025 */ move $v0, $t7
/* B7DD98 80106BF8 2401FFF7 */ li $at, -9
/* B7DD9C 80106BFC 01E14027 */ nor $t0, $t7, $at
/* B7DDA0 80106C00 55000012 */ bnezl $t0, .L80106C4C
/* B7DDA4 80106C04 3C01FFFF */ lui $at, 0xffff
.L80106C08:
/* B7DDA8 80106C08 8FAA0030 */ lw $t2, 0x30($sp)
/* B7DDAC 80106C0C 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* B7DDB0 80106C10 3C098013 */ lui $t1, %hi(D_801333E8) # $t1, 0x8013
/* B7DDB4 80106C14 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* B7DDB8 80106C18 252933E8 */ addiu $t1, %lo(D_801333E8) # addiu $t1, $t1, 0x33e8
/* B7DDBC 80106C1C 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013
/* B7DDC0 80106C20 254B0014 */ addiu $t3, $t2, 0x14
/* B7DDC4 80106C24 AFAB0024 */ sw $t3, 0x24($sp)
/* B7DDC8 80106C28 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4
/* B7DDCC 80106C2C AFA90014 */ sw $t1, 0x14($sp)
/* B7DDD0 80106C30 AFA70010 */ sw $a3, 0x10($sp)
/* B7DDD4 80106C34 24044818 */ li $a0, 18456
/* B7DDD8 80106C38 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* B7DDDC 80106C3C 24060004 */ li $a2, 4
/* B7DDE0 80106C40 8FAC0024 */ lw $t4, 0x24($sp)
/* B7DDE4 80106C44 9582000C */ lhu $v0, 0xc($t4)
/* B7DDE8 80106C48 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff
.L80106C4C:
/* B7DDEC 80106C4C 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff
/* B7DDF0 80106C50 00411827 */ nor $v1, $v0, $at
/* B7DDF4 80106C54 2C630001 */ sltiu $v1, $v1, 1
/* B7DDF8 80106C58 14600008 */ bnez $v1, .L80106C7C
/* B7DDFC 80106C5C 8FBF001C */ lw $ra, 0x1c($sp)
/* B7DE00 80106C60 2401BFFF */ li $at, -16385
/* B7DE04 80106C64 00411827 */ nor $v1, $v0, $at
/* B7DE08 80106C68 2C630001 */ sltiu $v1, $v1, 1
/* B7DE0C 80106C6C 14600003 */ bnez $v1, .L80106C7C
/* B7DE10 80106C70 2401FFF7 */ li $at, -9
/* B7DE14 80106C74 00411827 */ nor $v1, $v0, $at
/* B7DE18 80106C78 2C630001 */ sltiu $v1, $v1, 1
.L80106C7C:
/* B7DE1C 80106C7C 306200FF */ andi $v0, $v1, 0xff
/* B7DE20 80106C80 03E00008 */ jr $ra
/* B7DE24 80106C84 27BD0030 */ addiu $sp, $sp, 0x30

View file

@ -1,20 +0,0 @@
glabel func_80106C88
/* B7DE28 80106C88 94830020 */ lhu $v1, 0x20($a0)
/* B7DE2C 80106C8C 3C01FFFF */ lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff
/* B7DE30 80106C90 34217FFF */ ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff
/* B7DE34 80106C94 00611827 */ nor $v1, $v1, $at
/* B7DE38 80106C98 2C630001 */ sltiu $v1, $v1, 1
/* B7DE3C 80106C9C 14600009 */ bnez $v1, .L80106CC4
/* B7DE40 80106CA0 00000000 */ nop
/* B7DE44 80106CA4 94820020 */ lhu $v0, 0x20($a0)
/* B7DE48 80106CA8 2401BFFF */ li $at, -16385
/* B7DE4C 80106CAC 00411827 */ nor $v1, $v0, $at
/* B7DE50 80106CB0 2C630001 */ sltiu $v1, $v1, 1
/* B7DE54 80106CB4 14600003 */ bnez $v1, .L80106CC4
/* B7DE58 80106CB8 2401FFF7 */ li $at, -9
/* B7DE5C 80106CBC 00411827 */ nor $v1, $v0, $at
/* B7DE60 80106CC0 2C630001 */ sltiu $v1, $v1, 1
.L80106CC4:
/* B7DE64 80106CC4 03E00008 */ jr $ra
/* B7DE68 80106CC8 306200FF */ andi $v0, $v1, 0xff

View file

@ -1,32 +0,0 @@
glabel func_80106CCC
/* B7DE6C 80106CCC 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B7DE70 80106CD0 3C0F0001 */ lui $t7, 1
/* B7DE74 80106CD4 AFBF001C */ sw $ra, 0x1c($sp)
/* B7DE78 80106CD8 AFA40020 */ sw $a0, 0x20($sp)
/* B7DE7C 80106CDC 01E47821 */ addu $t7, $t7, $a0
/* B7DE80 80106CE0 8DEF03D8 */ lw $t7, 0x3d8($t7)
/* B7DE84 80106CE4 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* B7DE88 80106CE8 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* B7DE8C 80106CEC 11E00010 */ beqz $t7, .L80106D30
/* B7DE90 80106CF0 248220D8 */ addiu $v0, $a0, 0x20d8
/* B7DE94 80106CF4 24417FFF */ addiu $at, $v0, 0x7fff
/* B7DE98 80106CF8 24180002 */ li $t8, 2
/* B7DE9C 80106CFC 24190036 */ li $t9, 54
/* B7DEA0 80106D00 3C088013 */ lui $t0, %hi(D_801333E8) # $t0, 0x8013
/* B7DEA4 80106D04 A03863E8 */ sb $t8, 0x63e8($at)
/* B7DEA8 80106D08 A0396305 */ sb $t9, 0x6305($at)
/* B7DEAC 80106D0C A02063E5 */ sb $zero, 0x63e5($at)
/* B7DEB0 80106D10 250833E8 */ addiu $t0, %lo(D_801333E8) # addiu $t0, $t0, 0x33e8
/* B7DEB4 80106D14 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013
/* B7DEB8 80106D18 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4
/* B7DEBC 80106D1C AFA80014 */ sw $t0, 0x14($sp)
/* B7DEC0 80106D20 AFA70010 */ sw $a3, 0x10($sp)
/* B7DEC4 80106D24 00002025 */ move $a0, $zero
/* B7DEC8 80106D28 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* B7DECC 80106D2C 24060004 */ li $a2, 4
.L80106D30:
/* B7DED0 80106D30 8FBF001C */ lw $ra, 0x1c($sp)
/* B7DED4 80106D34 27BD0020 */ addiu $sp, $sp, 0x20
/* B7DED8 80106D38 03E00008 */ jr $ra
/* B7DEDC 80106D3C 00000000 */ nop

View file

@ -1,130 +0,0 @@
glabel func_80106D40
/* B7DEE0 80106D40 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B7DEE4 80106D44 AFBF001C */ sw $ra, 0x1c($sp)
/* B7DEE8 80106D48 AFA40020 */ sw $a0, 0x20($sp)
/* B7DEEC 80106D4C AFA50024 */ sw $a1, 0x24($sp)
/* B7DEF0 80106D50 808F0029 */ lb $t7, 0x29($a0)
/* B7DEF4 80106D54 3C188015 */ lui $t8, %hi(D_80153984) # $t8, 0x8015
/* B7DEF8 80106D58 8FAC0020 */ lw $t4, 0x20($sp)
/* B7DEFC 80106D5C 29E1001E */ slti $at, $t7, 0x1e
/* B7DF00 80106D60 54200021 */ bnezl $at, .L80106DE8
/* B7DF04 80106D64 81820029 */ lb $v0, 0x29($t4)
/* B7DF08 80106D68 87183984 */ lh $t8, %lo(D_80153984)($t8)
/* B7DF0C 80106D6C 24190001 */ li $t9, 1
/* B7DF10 80106D70 3C018015 */ lui $at, %hi(D_80153984) # $at, 0x8015
/* B7DF14 80106D74 1700001B */ bnez $t8, .L80106DE4
/* B7DF18 80106D78 248320D8 */ addiu $v1, $a0, 0x20d8
/* B7DF1C 80106D7C A4393984 */ sh $t9, %lo(D_80153984)($at)
/* B7DF20 80106D80 34018000 */ li $at, 32768
/* B7DF24 80106D84 00611021 */ addu $v0, $v1, $at
/* B7DF28 80106D88 904863E5 */ lbu $t0, 0x63e5($v0)
/* B7DF2C 80106D8C 24617FFF */ addiu $at, $v1, 0x7fff
/* B7DF30 80106D90 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* B7DF34 80106D94 2509FFFF */ addiu $t1, $t0, -1
/* B7DF38 80106D98 A02963E6 */ sb $t1, 0x63e6($at)
/* B7DF3C 80106D9C 904A63E5 */ lbu $t2, 0x63e5($v0)
/* B7DF40 80106DA0 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* B7DF44 80106DA4 24044809 */ li $a0, 18441
/* B7DF48 80106DA8 29410081 */ slti $at, $t2, 0x81
/* B7DF4C 80106DAC 14200004 */ bnez $at, .L80106DC0
/* B7DF50 80106DB0 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013
/* B7DF54 80106DB4 24617FFF */ addiu $at, $v1, 0x7fff
/* B7DF58 80106DB8 10000037 */ b .L80106E98
/* B7DF5C 80106DBC A02063E6 */ sb $zero, 0x63e6($at)
.L80106DC0:
/* B7DF60 80106DC0 3C0B8013 */ lui $t3, %hi(D_801333E8) # $t3, 0x8013
/* B7DF64 80106DC4 256B33E8 */ addiu $t3, %lo(D_801333E8) # addiu $t3, $t3, 0x33e8
/* B7DF68 80106DC8 AFAB0014 */ sw $t3, 0x14($sp)
/* B7DF6C 80106DCC 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4
/* B7DF70 80106DD0 24060004 */ li $a2, 4
/* B7DF74 80106DD4 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* B7DF78 80106DD8 AFA70010 */ sw $a3, 0x10($sp)
/* B7DF7C 80106DDC 1000002E */ b .L80106E98
/* B7DF80 80106DE0 00000000 */ nop
.L80106DE4:
/* B7DF84 80106DE4 81820029 */ lb $v0, 0x29($t4)
.L80106DE8:
/* B7DF88 80106DE8 3C0D8015 */ lui $t5, %hi(D_80153984) # $t5, 0x8015
/* B7DF8C 80106DEC 2841FFE3 */ slti $at, $v0, -0x1d
/* B7DF90 80106DF0 10200021 */ beqz $at, .L80106E78
/* B7DF94 80106DF4 00000000 */ nop
/* B7DF98 80106DF8 85AD3984 */ lh $t5, %lo(D_80153984)($t5)
/* B7DF9C 80106DFC 240F0001 */ li $t7, 1
/* B7DFA0 80106E00 3C018015 */ lui $at, %hi(D_80153984) # $at, 0x8015
/* B7DFA4 80106E04 15A0001C */ bnez $t5, .L80106E78
/* B7DFA8 80106E08 258320D8 */ addiu $v1, $t4, 0x20d8
/* B7DFAC 80106E0C A42F3984 */ sh $t7, %lo(D_80153984)($at)
/* B7DFB0 80106E10 34018000 */ li $at, 32768
/* B7DFB4 80106E14 00611021 */ addu $v0, $v1, $at
/* B7DFB8 80106E18 905863E5 */ lbu $t8, 0x63e5($v0)
/* B7DFBC 80106E1C 24617FFF */ addiu $at, $v1, 0x7fff
/* B7DFC0 80106E20 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* B7DFC4 80106E24 27190001 */ addiu $t9, $t8, 1
/* B7DFC8 80106E28 A03963E6 */ sb $t9, 0x63e6($at)
/* B7DFCC 80106E2C 904863E5 */ lbu $t0, 0x63e5($v0)
/* B7DFD0 80106E30 93AE0027 */ lbu $t6, 0x27($sp)
/* B7DFD4 80106E34 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* B7DFD8 80106E38 24044809 */ li $a0, 18441
/* B7DFDC 80106E3C 01C8082A */ slt $at, $t6, $t0
/* B7DFE0 80106E40 10200004 */ beqz $at, .L80106E54
/* B7DFE4 80106E44 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013
/* B7DFE8 80106E48 24617FFF */ addiu $at, $v1, 0x7fff
/* B7DFEC 80106E4C 10000012 */ b .L80106E98
/* B7DFF0 80106E50 A02E63E6 */ sb $t6, 0x63e6($at)
.L80106E54:
/* B7DFF4 80106E54 3C098013 */ lui $t1, %hi(D_801333E8) # $t1, 0x8013
/* B7DFF8 80106E58 252933E8 */ addiu $t1, %lo(D_801333E8) # addiu $t1, $t1, 0x33e8
/* B7DFFC 80106E5C AFA90014 */ sw $t1, 0x14($sp)
/* B7E000 80106E60 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4
/* B7E004 80106E64 24060004 */ li $a2, 4
/* B7E008 80106E68 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* B7E00C 80106E6C AFA70010 */ sw $a3, 0x10($sp)
/* B7E010 80106E70 10000009 */ b .L80106E98
/* B7E014 80106E74 00000000 */ nop
.L80106E78:
/* B7E018 80106E78 04400003 */ bltz $v0, .L80106E88
/* B7E01C 80106E7C 00021823 */ negu $v1, $v0
/* B7E020 80106E80 10000001 */ b .L80106E88
/* B7E024 80106E84 00401825 */ move $v1, $v0
.L80106E88:
/* B7E028 80106E88 2861001E */ slti $at, $v1, 0x1e
/* B7E02C 80106E8C 10200002 */ beqz $at, .L80106E98
/* B7E030 80106E90 3C018015 */ lui $at, %hi(D_80153984) # $at, 0x8015
/* B7E034 80106E94 A4203984 */ sh $zero, %lo(D_80153984)($at)
.L80106E98:
/* B7E038 80106E98 3C048016 */ lui $a0, %hi(gGameInfo) # $a0, 0x8016
/* B7E03C 80106E9C 2484FA90 */ addiu $a0, %lo(gGameInfo) # addiu $a0, $a0, -0x570
/* B7E040 80106EA0 8C8A0000 */ lw $t2, ($a0)
/* B7E044 80106EA4 8FA30020 */ lw $v1, 0x20($sp)
/* B7E048 80106EA8 854B0B18 */ lh $t3, 0xb18($t2)
/* B7E04C 80106EAC 246320D8 */ addiu $v1, $v1, 0x20d8
/* B7E050 80106EB0 24617FFF */ addiu $at, $v1, 0x7fff
/* B7E054 80106EB4 A42B63D9 */ sh $t3, 0x63d9($at)
/* B7E058 80106EB8 93AD0027 */ lbu $t5, 0x27($sp)
/* B7E05C 80106EBC 34018000 */ li $at, 32768
/* B7E060 80106EC0 00611021 */ addu $v0, $v1, $at
/* B7E064 80106EC4 24010001 */ li $at, 1
/* B7E068 80106EC8 55A1000A */ bnel $t5, $at, .L80106EF4
/* B7E06C 80106ECC 904963E5 */ lbu $t1, 0x63e5($v0)
/* B7E070 80106ED0 904C63E5 */ lbu $t4, 0x63e5($v0)
/* B7E074 80106ED4 8C8F0000 */ lw $t7, ($a0)
/* B7E078 80106ED8 24617FFF */ addiu $at, $v1, 0x7fff
/* B7E07C 80106EDC 000CC040 */ sll $t8, $t4, 1
/* B7E080 80106EE0 01F8C821 */ addu $t9, $t7, $t8
/* B7E084 80106EE4 87280B1C */ lh $t0, 0xb1c($t9)
/* B7E088 80106EE8 10000008 */ b .L80106F0C
/* B7E08C 80106EEC A42863DB */ sh $t0, 0x63db($at)
/* B7E090 80106EF0 904963E5 */ lbu $t1, 0x63e5($v0)
.L80106EF4:
/* B7E094 80106EF4 8C8E0000 */ lw $t6, ($a0)
/* B7E098 80106EF8 24617FFF */ addiu $at, $v1, 0x7fff
/* B7E09C 80106EFC 00095040 */ sll $t2, $t1, 1
/* B7E0A0 80106F00 01CA5821 */ addu $t3, $t6, $t2
/* B7E0A4 80106F04 856D0B1A */ lh $t5, 0xb1a($t3)
/* B7E0A8 80106F08 A42D63DB */ sh $t5, 0x63db($at)
.L80106F0C:
/* B7E0AC 80106F0C 8FBF001C */ lw $ra, 0x1c($sp)
/* B7E0B0 80106F10 27BD0020 */ addiu $sp, $sp, 0x20
/* B7E0B4 80106F14 03E00008 */ jr $ra
/* B7E0B8 80106F18 00000000 */ nop

View file

@ -1,205 +0,0 @@
glabel func_80106F1C
/* B7E0BC 80106F1C AFA50004 */ sw $a1, 4($sp)
/* B7E0C0 80106F20 AFA60008 */ sw $a2, 8($sp)
/* B7E0C4 80106F24 3C010001 */ lui $at, 1
/* B7E0C8 80106F28 8CC20000 */ lw $v0, ($a2)
/* B7E0CC 80106F2C 00811821 */ addu $v1, $a0, $at
/* B7E0D0 80106F30 846704B0 */ lh $a3, 0x4b0($v1)
/* B7E0D4 80106F34 846804B2 */ lh $t0, 0x4b2($v1)
/* B7E0D8 80106F38 00401825 */ move $v1, $v0
/* B7E0DC 80106F3C 3C06E700 */ lui $a2, 0xe700
/* B7E0E0 80106F40 3C058016 */ lui $a1, %hi(gGameInfo) # $a1, 0x8016
/* B7E0E4 80106F44 24A5FA90 */ addiu $a1, %lo(gGameInfo) # addiu $a1, $a1, -0x570
/* B7E0E8 80106F48 AC660000 */ sw $a2, ($v1)
/* B7E0EC 80106F4C AC600004 */ sw $zero, 4($v1)
/* B7E0F0 80106F50 8CA30000 */ lw $v1, ($a1)
/* B7E0F4 80106F54 3C0142C8 */ li $at, 0x42C80000 # 0.000000
/* B7E0F8 80106F58 44810000 */ mtc1 $at, $f0
/* B7E0FC 80106F5C 846F0B06 */ lh $t7, 0xb06($v1)
/* B7E100 80106F60 3C014180 */ li $at, 0x41800000 # 0.000000
/* B7E104 80106F64 44815000 */ mtc1 $at, $f10
/* B7E108 80106F68 448F2000 */ mtc1 $t7, $f4
/* B7E10C 80106F6C 3C098017 */ lui $t1, %hi(D_801759A0) # $t1, 0x8017
/* B7E110 80106F70 252959A0 */ addiu $t1, %lo(D_801759A0) # addiu $t1, $t1, 0x59a0
/* B7E114 80106F74 468021A0 */ cvt.s.w $f6, $f4
/* B7E118 80106F78 3C014480 */ li $at, 0x44800000 # 0.000000
/* B7E11C 80106F7C 44812000 */ mtc1 $at, $f4
/* B7E120 80106F80 3C0A8017 */ lui $t2, %hi(D_801759A4) # $t2, 0x8017
/* B7E124 80106F84 254A59A4 */ addiu $t2, %lo(D_801759A4) # addiu $t2, $t2, 0x59a4
/* B7E128 80106F88 24420008 */ addiu $v0, $v0, 8
/* B7E12C 80106F8C 46003203 */ div.s $f8, $f6, $f0
/* B7E130 80106F90 3C18FD90 */ lui $t8, 0xfd90
/* B7E134 80106F94 3C0E0708 */ lui $t6, (0x07080200 >> 16) # lui $t6, 0x708
/* B7E138 80106F98 35CE0200 */ ori $t6, (0x07080200 & 0xFFFF) # ori $t6, $t6, 0x200
/* B7E13C 80106F9C 3401A0D8 */ li $at, 41176
/* B7E140 80106FA0 460A4402 */ mul.s $f16, $f8, $f10
/* B7E144 80106FA4 4600848D */ trunc.w.s $f18, $f16
/* B7E148 80106FA8 44199000 */ mfc1 $t9, $f18
/* B7E14C 80106FAC 00000000 */ nop
/* B7E150 80106FB0 AD390000 */ sw $t9, ($t1)
/* B7E154 80106FB4 846D0B06 */ lh $t5, 0xb06($v1)
/* B7E158 80106FB8 00401825 */ move $v1, $v0
/* B7E15C 80106FBC 24420008 */ addiu $v0, $v0, 8
/* B7E160 80106FC0 448D3000 */ mtc1 $t5, $f6
/* B7E164 80106FC4 3C0DF590 */ lui $t5, 0xf590
/* B7E168 80106FC8 46803220 */ cvt.s.w $f8, $f6
/* B7E16C 80106FCC 46004283 */ div.s $f10, $f8, $f0
/* B7E170 80106FD0 460A2403 */ div.s $f16, $f4, $f10
/* B7E174 80106FD4 4600848D */ trunc.w.s $f18, $f16
/* B7E178 80106FD8 440F9000 */ mfc1 $t7, $f18
/* B7E17C 80106FDC 00000000 */ nop
/* B7E180 80106FE0 AD4F0000 */ sw $t7, ($t2)
/* B7E184 80106FE4 AC780000 */ sw $t8, ($v1)
/* B7E188 80106FE8 8FB90004 */ lw $t9, 4($sp)
/* B7E18C 80106FEC 3C0FE600 */ lui $t7, 0xe600
/* B7E190 80106FF0 3C18F300 */ lui $t8, 0xf300
/* B7E194 80106FF4 AC790004 */ sw $t9, 4($v1)
/* B7E198 80106FF8 00401825 */ move $v1, $v0
/* B7E19C 80106FFC AC6D0000 */ sw $t5, ($v1)
/* B7E1A0 80107000 AC6E0004 */ sw $t6, 4($v1)
/* B7E1A4 80107004 24420008 */ addiu $v0, $v0, 8
/* B7E1A8 80107008 00401825 */ move $v1, $v0
/* B7E1AC 8010700C AC6F0000 */ sw $t7, ($v1)
/* B7E1B0 80107010 AC600004 */ sw $zero, 4($v1)
/* B7E1B4 80107014 24420008 */ addiu $v0, $v0, 8
/* B7E1B8 80107018 00401825 */ move $v1, $v0
/* B7E1BC 8010701C 3C190703 */ lui $t9, (0x0703F800 >> 16) # lui $t9, 0x703
/* B7E1C0 80107020 3739F800 */ ori $t9, (0x0703F800 & 0xFFFF) # ori $t9, $t9, 0xf800
/* B7E1C4 80107024 AC790004 */ sw $t9, 4($v1)
/* B7E1C8 80107028 AC780000 */ sw $t8, ($v1)
/* B7E1CC 8010702C 24420008 */ addiu $v0, $v0, 8
/* B7E1D0 80107030 00401825 */ move $v1, $v0
/* B7E1D4 80107034 AC660000 */ sw $a2, ($v1)
/* B7E1D8 80107038 AC600004 */ sw $zero, 4($v1)
/* B7E1DC 8010703C 24420008 */ addiu $v0, $v0, 8
/* B7E1E0 80107040 00401825 */ move $v1, $v0
/* B7E1E4 80107044 3C0E0008 */ lui $t6, (0x00080200 >> 16) # lui $t6, 8
/* B7E1E8 80107048 3C0DF580 */ lui $t5, (0xF5800200 >> 16) # lui $t5, 0xf580
/* B7E1EC 8010704C 35AD0200 */ ori $t5, (0xF5800200 & 0xFFFF) # ori $t5, $t5, 0x200
/* B7E1F0 80107050 35CE0200 */ ori $t6, (0x00080200 & 0xFFFF) # ori $t6, $t6, 0x200
/* B7E1F4 80107054 AC6E0004 */ sw $t6, 4($v1)
/* B7E1F8 80107058 AC6D0000 */ sw $t5, ($v1)
/* B7E1FC 8010705C 24420008 */ addiu $v0, $v0, 8
/* B7E200 80107060 00401825 */ move $v1, $v0
/* B7E204 80107064 3C180003 */ lui $t8, (0x0003C03C >> 16) # lui $t8, 3
/* B7E208 80107068 3718C03C */ ori $t8, (0x0003C03C & 0xFFFF) # ori $t8, $t8, 0xc03c
/* B7E20C 8010706C 3C0FF200 */ lui $t7, 0xf200
/* B7E210 80107070 AC6F0000 */ sw $t7, ($v1)
/* B7E214 80107074 AC780004 */ sw $t8, 4($v1)
/* B7E218 80107078 00811821 */ addu $v1, $a0, $at
/* B7E21C 8010707C 907962FD */ lbu $t9, 0x62fd($v1)
/* B7E220 80107080 24420008 */ addiu $v0, $v0, 8
/* B7E224 80107084 24010005 */ li $at, 5
/* B7E228 80107088 13210032 */ beq $t9, $at, .L80107154
/* B7E22C 8010708C 00402025 */ move $a0, $v0
/* B7E230 80107090 3C0DFA00 */ lui $t5, 0xfa00
/* B7E234 80107094 AC8D0000 */ sw $t5, ($a0)
/* B7E238 80107098 846E63E2 */ lh $t6, 0x63e2($v1)
/* B7E23C 8010709C 3C01E400 */ lui $at, 0xe400
/* B7E240 801070A0 24420008 */ addiu $v0, $v0, 8
/* B7E244 801070A4 31CF00FF */ andi $t7, $t6, 0xff
/* B7E248 801070A8 AC8F0004 */ sw $t7, 4($a0)
/* B7E24C 801070AC 8CB80000 */ lw $t8, ($a1)
/* B7E250 801070B0 8D2C0000 */ lw $t4, ($t1)
/* B7E254 801070B4 00402025 */ move $a0, $v0
/* B7E258 801070B8 870B0B0C */ lh $t3, 0xb0c($t8)
/* B7E25C 801070BC 24420008 */ addiu $v0, $v0, 8
/* B7E260 801070C0 0168C821 */ addu $t9, $t3, $t0
/* B7E264 801070C4 032C6821 */ addu $t5, $t9, $t4
/* B7E268 801070C8 000D7080 */ sll $t6, $t5, 2
/* B7E26C 801070CC 31CF0FFF */ andi $t7, $t6, 0xfff
/* B7E270 801070D0 00EBC821 */ addu $t9, $a3, $t3
/* B7E274 801070D4 032C6821 */ addu $t5, $t9, $t4
/* B7E278 801070D8 000D7080 */ sll $t6, $t5, 2
/* B7E27C 801070DC 01E1C025 */ or $t8, $t7, $at
/* B7E280 801070E0 31CF0FFF */ andi $t7, $t6, 0xfff
/* B7E284 801070E4 000FCB00 */ sll $t9, $t7, 0xc
/* B7E288 801070E8 03196825 */ or $t5, $t8, $t9
/* B7E28C 801070EC AC8D0000 */ sw $t5, ($a0)
/* B7E290 801070F0 8CAE0000 */ lw $t6, ($a1)
/* B7E294 801070F4 85CB0B0C */ lh $t3, 0xb0c($t6)
/* B7E298 801070F8 01687821 */ addu $t7, $t3, $t0
/* B7E29C 801070FC 000FC080 */ sll $t8, $t7, 2
/* B7E2A0 80107100 00EB6821 */ addu $t5, $a3, $t3
/* B7E2A4 80107104 000D7080 */ sll $t6, $t5, 2
/* B7E2A8 80107108 31CF0FFF */ andi $t7, $t6, 0xfff
/* B7E2AC 8010710C 33190FFF */ andi $t9, $t8, 0xfff
/* B7E2B0 80107110 000FC300 */ sll $t8, $t7, 0xc
/* B7E2B4 80107114 03386825 */ or $t5, $t9, $t8
/* B7E2B8 80107118 AC8D0004 */ sw $t5, 4($a0)
/* B7E2BC 8010711C 00402025 */ move $a0, $v0
/* B7E2C0 80107120 3C0EE100 */ lui $t6, 0xe100
/* B7E2C4 80107124 AC8E0000 */ sw $t6, ($a0)
/* B7E2C8 80107128 AC800004 */ sw $zero, 4($a0)
/* B7E2CC 8010712C 24420008 */ addiu $v0, $v0, 8
/* B7E2D0 80107130 00402025 */ move $a0, $v0
/* B7E2D4 80107134 3C0FF100 */ lui $t7, 0xf100
/* B7E2D8 80107138 AC8F0000 */ sw $t7, ($a0)
/* B7E2DC 8010713C 8D450000 */ lw $a1, ($t2)
/* B7E2E0 80107140 24420008 */ addiu $v0, $v0, 8
/* B7E2E4 80107144 30A5FFFF */ andi $a1, $a1, 0xffff
/* B7E2E8 80107148 0005CC00 */ sll $t9, $a1, 0x10
/* B7E2EC 8010714C 0325C025 */ or $t8, $t9, $a1
/* B7E2F0 80107150 AC980004 */ sw $t8, 4($a0)
.L80107154:
/* B7E2F4 80107154 00402025 */ move $a0, $v0
/* B7E2F8 80107158 AC860000 */ sw $a2, ($a0)
/* B7E2FC 8010715C AC800004 */ sw $zero, 4($a0)
/* B7E300 80107160 24420008 */ addiu $v0, $v0, 8
/* B7E304 80107164 00402025 */ move $a0, $v0
/* B7E308 80107168 3C0DFA00 */ lui $t5, 0xfa00
/* B7E30C 8010716C AC8D0000 */ sw $t5, ($a0)
/* B7E310 80107170 847863DE */ lh $t8, 0x63de($v1)
/* B7E314 80107174 846F63DC */ lh $t7, 0x63dc($v1)
/* B7E318 80107178 3C01E400 */ lui $at, 0xe400
/* B7E31C 8010717C 330D00FF */ andi $t5, $t8, 0xff
/* B7E320 80107180 847863E0 */ lh $t8, 0x63e0($v1)
/* B7E324 80107184 000D7400 */ sll $t6, $t5, 0x10
/* B7E328 80107188 000FCE00 */ sll $t9, $t7, 0x18
/* B7E32C 8010718C 330D00FF */ andi $t5, $t8, 0xff
/* B7E330 80107190 847863E2 */ lh $t8, 0x63e2($v1)
/* B7E334 80107194 032E7825 */ or $t7, $t9, $t6
/* B7E338 80107198 000DCA00 */ sll $t9, $t5, 8
/* B7E33C 8010719C 01F97025 */ or $t6, $t7, $t9
/* B7E340 801071A0 330D00FF */ andi $t5, $t8, 0xff
/* B7E344 801071A4 01CD7825 */ or $t7, $t6, $t5
/* B7E348 801071A8 AC8F0004 */ sw $t7, 4($a0)
/* B7E34C 801071AC 8D2C0000 */ lw $t4, ($t1)
/* B7E350 801071B0 24420008 */ addiu $v0, $v0, 8
/* B7E354 801071B4 00401825 */ move $v1, $v0
/* B7E358 801071B8 00ECC821 */ addu $t9, $a3, $t4
/* B7E35C 801071BC 0019C080 */ sll $t8, $t9, 2
/* B7E360 801071C0 330E0FFF */ andi $t6, $t8, 0xfff
/* B7E364 801071C4 000E6B00 */ sll $t5, $t6, 0xc
/* B7E368 801071C8 010CC821 */ addu $t9, $t0, $t4
/* B7E36C 801071CC 0019C080 */ sll $t8, $t9, 2
/* B7E370 801071D0 330E0FFF */ andi $t6, $t8, 0xfff
/* B7E374 801071D4 01A17825 */ or $t7, $t5, $at
/* B7E378 801071D8 01EE6825 */ or $t5, $t7, $t6
/* B7E37C 801071DC 0007C880 */ sll $t9, $a3, 2
/* B7E380 801071E0 33380FFF */ andi $t8, $t9, 0xfff
/* B7E384 801071E4 AC6D0000 */ sw $t5, ($v1)
/* B7E388 801071E8 00087080 */ sll $t6, $t0, 2
/* B7E38C 801071EC 31CD0FFF */ andi $t5, $t6, 0xfff
/* B7E390 801071F0 00187B00 */ sll $t7, $t8, 0xc
/* B7E394 801071F4 01EDC825 */ or $t9, $t7, $t5
/* B7E398 801071F8 AC790004 */ sw $t9, 4($v1)
/* B7E39C 801071FC 24420008 */ addiu $v0, $v0, 8
/* B7E3A0 80107200 00401825 */ move $v1, $v0
/* B7E3A4 80107204 3C18E100 */ lui $t8, 0xe100
/* B7E3A8 80107208 AC780000 */ sw $t8, ($v1)
/* B7E3AC 8010720C AC600004 */ sw $zero, 4($v1)
/* B7E3B0 80107210 24420008 */ addiu $v0, $v0, 8
/* B7E3B4 80107214 00401825 */ move $v1, $v0
/* B7E3B8 80107218 3C0EF100 */ lui $t6, 0xf100
/* B7E3BC 8010721C AC6E0000 */ sw $t6, ($v1)
/* B7E3C0 80107220 8D450000 */ lw $a1, ($t2)
/* B7E3C4 80107224 24420008 */ addiu $v0, $v0, 8
/* B7E3C8 80107228 30A5FFFF */ andi $a1, $a1, 0xffff
/* B7E3CC 8010722C 00057C00 */ sll $t7, $a1, 0x10
/* B7E3D0 80107230 01E56825 */ or $t5, $t7, $a1
/* B7E3D4 80107234 AC6D0004 */ sw $t5, 4($v1)
/* B7E3D8 80107238 8FB90008 */ lw $t9, 8($sp)
/* B7E3DC 8010723C 03E00008 */ jr $ra
/* B7E3E0 80107240 AF220000 */ sw $v0, ($t9)

View file

@ -1,136 +0,0 @@
glabel func_80107244
/* B7E3E4 80107244 3C078016 */ lui $a3, %hi(gGameInfo) # $a3, 0x8016
/* B7E3E8 80107248 24E7FA90 */ addiu $a3, %lo(gGameInfo) # addiu $a3, $a3, -0x570
/* B7E3EC 8010724C 8CE50000 */ lw $a1, ($a3)
/* B7E3F0 80107250 34018000 */ li $at, 32768
/* B7E3F4 80107254 00811021 */ addu $v0, $a0, $at
/* B7E3F8 80107258 904363E7 */ lbu $v1, 0x63e7($v0)
/* B7E3FC 8010725C 84AE0B28 */ lh $t6, 0xb28($a1)
/* B7E400 80107260 84AF0B2A */ lh $t7, 0xb2a($a1)
/* B7E404 80107264 3C018015 */ lui $at, %hi(D_80153988)
/* B7E408 80107268 448E2000 */ mtc1 $t6, $f4
/* B7E40C 8010726C 00031880 */ sll $v1, $v1, 2
/* B7E410 80107270 00230821 */ addu $at, $at, $v1
/* B7E414 80107274 C4223988 */ lwc1 $f2, %lo(D_80153988)($at)
/* B7E418 80107278 468021A0 */ cvt.s.w $f6, $f4
/* B7E41C 8010727C 448F4000 */ mtc1 $t7, $f8
/* B7E420 80107280 84B90B2E */ lh $t9, 0xb2e($a1)
/* B7E424 80107284 3C018015 */ lui $at, %hi(D_801539A8)
/* B7E428 80107288 00230821 */ addu $at, $at, $v1
/* B7E42C 8010728C 46021300 */ add.s $f12, $f2, $f2
/* B7E430 80107290 C43039A8 */ lwc1 $f16, %lo(D_801539A8)($at)
/* B7E434 80107294 84B80B2C */ lh $t8, 0xb2c($a1)
/* B7E438 80107298 468042A0 */ cvt.s.w $f10, $f8
/* B7E43C 8010729C 46066002 */ mul.s $f0, $f12, $f6
/* B7E440 801072A0 44994000 */ mtc1 $t9, $f8
/* B7E444 801072A4 44982000 */ mtc1 $t8, $f4
/* B7E448 801072A8 27BDFFF0 */ addiu $sp, $sp, -0x10
/* B7E44C 801072AC 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* B7E450 801072B0 460A8382 */ mul.s $f14, $f16, $f10
/* B7E454 801072B4 468042A0 */ cvt.s.w $f10, $f8
/* B7E458 801072B8 468021A0 */ cvt.s.w $f6, $f4
/* B7E45C 801072BC 46105103 */ div.s $f4, $f10, $f16
/* B7E460 801072C0 460C3483 */ div.s $f18, $f6, $f12
/* B7E464 801072C4 E7A40000 */ swc1 $f4, ($sp)
/* B7E468 801072C8 84A60B26 */ lh $a2, 0xb26($a1)
/* B7E46C 801072CC 44812000 */ mtc1 $at, $f4
/* B7E470 801072D0 44863000 */ mtc1 $a2, $f6
/* B7E474 801072D4 00000000 */ nop
/* B7E478 801072D8 46803220 */ cvt.s.w $f8, $f6
/* B7E47C 801072DC 46088282 */ mul.s $f10, $f16, $f8
/* B7E480 801072E0 46045180 */ add.s $f6, $f10, $f4
/* B7E484 801072E4 4600320D */ trunc.w.s $f8, $f6
/* B7E488 801072E8 44094000 */ mfc1 $t1, $f8
/* B7E48C 801072EC 00000000 */ nop
/* B7E490 801072F0 00095400 */ sll $t2, $t1, 0x10
/* B7E494 801072F4 000A5C03 */ sra $t3, $t2, 0x10
/* B7E498 801072F8 00CB6023 */ subu $t4, $a2, $t3
/* B7E49C 801072FC 05810003 */ bgez $t4, .L8010730C
/* B7E4A0 80107300 000C6843 */ sra $t5, $t4, 1
/* B7E4A4 80107304 25810001 */ addiu $at, $t4, 1
/* B7E4A8 80107308 00016843 */ sra $t5, $at, 1
.L8010730C:
/* B7E4AC 8010730C 01A67021 */ addu $t6, $t5, $a2
/* B7E4B0 80107310 A4AE0F16 */ sh $t6, 0xf16($a1)
/* B7E4B4 80107314 84586404 */ lh $t8, 0x6404($v0)
/* B7E4B8 80107318 844F6406 */ lh $t7, 0x6406($v0)
/* B7E4BC 8010731C 07010003 */ bgez $t8, .L8010732C
/* B7E4C0 80107320 0018C8C3 */ sra $t9, $t8, 3
/* B7E4C4 80107324 27010007 */ addiu $at, $t8, 7
/* B7E4C8 80107328 0001C8C3 */ sra $t9, $at, 3
.L8010732C:
/* B7E4CC 8010732C 24817FFF */ addiu $at, $a0, 0x7fff
/* B7E4D0 80107330 01F94021 */ addu $t0, $t7, $t9
/* B7E4D4 80107334 A4286407 */ sh $t0, 0x6407($at)
/* B7E4D8 80107338 904963E7 */ lbu $t1, 0x63e7($v0)
/* B7E4DC 8010733C 252A0001 */ addiu $t2, $t1, 1
/* B7E4E0 80107340 A02A63E8 */ sb $t2, 0x63e8($at)
/* B7E4E4 80107344 904B63E7 */ lbu $t3, 0x63e7($v0)
/* B7E4E8 80107348 24010008 */ li $at, 8
/* B7E4EC 8010734C 5561000D */ bnel $t3, $at, .L80107384
/* B7E4F0 80107350 3C013F00 */ lui $at, 0x3f00
/* B7E4F4 80107354 8CE50000 */ lw $a1, ($a3)
/* B7E4F8 80107358 240E0003 */ li $t6, 3
/* B7E4FC 8010735C 24817FFF */ addiu $at, $a0, 0x7fff
/* B7E500 80107360 84AC0B24 */ lh $t4, 0xb24($a1)
/* B7E504 80107364 A4AC0F14 */ sh $t4, 0xf14($a1)
/* B7E508 80107368 8CE50000 */ lw $a1, ($a3)
/* B7E50C 8010736C 84AD0B26 */ lh $t5, 0xb26($a1)
/* B7E510 80107370 A4AD0F16 */ sh $t5, 0xf16($a1)
/* B7E514 80107374 A02E6305 */ sb $t6, 0x6305($at)
/* B7E518 80107378 84586404 */ lh $t8, 0x6404($v0)
/* B7E51C 8010737C A4386407 */ sh $t8, 0x6407($at)
/* B7E520 80107380 3C013F00 */ li $at, 0x3F000000 # 0.000000
.L80107384:
/* B7E524 80107384 44815000 */ mtc1 $at, $f10
/* B7E528 80107388 8CEB0000 */ lw $t3, ($a3)
/* B7E52C 8010738C 460A0100 */ add.s $f4, $f0, $f10
/* B7E530 80107390 4600218D */ trunc.w.s $f6, $f4
/* B7E534 80107394 44193000 */ mfc1 $t9, $f6
/* B7E538 80107398 00000000 */ nop
/* B7E53C 8010739C 00194400 */ sll $t0, $t9, 0x10
/* B7E540 801073A0 00084C03 */ sra $t1, $t0, 0x10
/* B7E544 801073A4 05210003 */ bgez $t1, .L801073B4
/* B7E548 801073A8 00095043 */ sra $t2, $t1, 1
/* B7E54C 801073AC 25210001 */ addiu $at, $t1, 1
/* B7E550 801073B0 00015043 */ sra $t2, $at, 1
.L801073B4:
/* B7E554 801073B4 3C013F00 */ li $at, 0x3F000000 # 0.000000
/* B7E558 801073B8 44814000 */ mtc1 $at, $f8
/* B7E55C 801073BC 44813000 */ mtc1 $at, $f6
/* B7E560 801073C0 A56A04C0 */ sh $t2, 0x4c0($t3)
/* B7E564 801073C4 46087280 */ add.s $f10, $f14, $f8
/* B7E568 801073C8 8CEE0000 */ lw $t6, ($a3)
/* B7E56C 801073CC 46069200 */ add.s $f8, $f18, $f6
/* B7E570 801073D0 44813000 */ mtc1 $at, $f6
/* B7E574 801073D4 4600510D */ trunc.w.s $f4, $f10
/* B7E578 801073D8 4600428D */ trunc.w.s $f10, $f8
/* B7E57C 801073DC 440D2000 */ mfc1 $t5, $f4
/* B7E580 801073E0 00000000 */ nop
/* B7E584 801073E4 A5CD04C2 */ sh $t5, 0x4c2($t6)
/* B7E588 801073E8 8CF90000 */ lw $t9, ($a3)
/* B7E58C 801073EC 440F5000 */ mfc1 $t7, $f10
/* B7E590 801073F0 00000000 */ nop
/* B7E594 801073F4 A72F04B4 */ sh $t7, 0x4b4($t9)
/* B7E598 801073F8 C7A40000 */ lwc1 $f4, ($sp)
/* B7E59C 801073FC 8CEA0000 */ lw $t2, ($a3)
/* B7E5A0 80107400 46062200 */ add.s $f8, $f4, $f6
/* B7E5A4 80107404 4600428D */ trunc.w.s $f10, $f8
/* B7E5A8 80107408 44095000 */ mfc1 $t1, $f10
/* B7E5AC 8010740C 00000000 */ nop
/* B7E5B0 80107410 A54904B6 */ sh $t1, 0x4b6($t2)
/* B7E5B4 80107414 8CE50000 */ lw $a1, ($a3)
/* B7E5B8 80107418 84AB0B24 */ lh $t3, 0xb24($a1)
/* B7E5BC 8010741C 84AC0B28 */ lh $t4, 0xb28($a1)
/* B7E5C0 80107420 84AE04C0 */ lh $t6, 0x4c0($a1)
/* B7E5C4 80107424 27BD0010 */ addiu $sp, $sp, 0x10
/* B7E5C8 80107428 016C6821 */ addu $t5, $t3, $t4
/* B7E5CC 8010742C 05C10003 */ bgez $t6, .L8010743C
/* B7E5D0 80107430 000EC043 */ sra $t8, $t6, 1
/* B7E5D4 80107434 25C10001 */ addiu $at, $t6, 1
/* B7E5D8 80107438 0001C043 */ sra $t8, $at, 1
.L8010743C:
/* B7E5DC 8010743C 01B87823 */ subu $t7, $t5, $t8
/* B7E5E0 80107440 03E00008 */ jr $ra
/* B7E5E4 80107444 A4AF0F14 */ sh $t7, 0xf14($a1)

View file

@ -1,152 +0,0 @@
.rdata
glabel D_80153D90
# Message found!!! = %x (data=%x) (data0=%x) (data1=%x) (data2=%x) (data3=%x)
.asciz " , = %x (data=%x) (data0=%x) (data1=%x) (data2=%x) (data3=%x)\n"
.balign 4
glabel D_80153DEC
# Message found!!! = %x (data=%x) (data0=%x) (data1=%x) (data2=%x) (data3=%x)
.asciz " , = %x (data=%x) (data0=%x) (data1=%x) (data2=%x) (data3=%x)\n"
.balign 4
glabel D_80153E48
# Message not found!!! = %x
.asciz " , = %x\n"
.balign 4
.text
glabel func_80107448
/* B7E5E8 80107448 3C028016 */ lui $v0, %hi(gSaveContext+0x1409) # $v0, 0x8016
/* B7E5EC 8010744C 9042FA69 */ lbu $v0, %lo(gSaveContext+0x1409)($v0)
/* B7E5F0 80107450 27BDFFC0 */ addiu $sp, $sp, -0x40
/* B7E5F4 80107454 3C038015 */ lui $v1, %hi(D_801538F0) # $v1, 0x8015
/* B7E5F8 80107458 AFBF0024 */ sw $ra, 0x24($sp)
/* B7E5FC 8010745C AFA40040 */ sw $a0, 0x40($sp)
/* B7E600 80107460 AFA50044 */ sw $a1, 0x44($sp)
/* B7E604 80107464 30A6FFFF */ andi $a2, $a1, 0xffff
/* B7E608 80107468 14400021 */ bnez $v0, .L801074F0
/* B7E60C 8010746C 8C6338F0 */ lw $v1, %lo(D_801538F0)($v1)
/* B7E610 80107470 94620000 */ lhu $v0, ($v1)
/* B7E614 80107474 3404FFFF */ li $a0, 65535
/* B7E618 80107478 8C6B0004 */ lw $t3, 4($v1)
/* B7E61C 8010747C 10820042 */ beq $a0, $v0, .L80107588
/* B7E620 80107480 00C02825 */ move $a1, $a2
.L80107484:
/* B7E624 80107484 54A20015 */ bnel $a1, $v0, .L801074DC
/* B7E628 80107488 94620008 */ lhu $v0, 8($v1)
/* B7E62C 8010748C 8FA20040 */ lw $v0, 0x40($sp)
/* B7E630 80107490 906E0002 */ lbu $t6, 2($v1)
/* B7E634 80107494 8C690004 */ lw $t1, 4($v1)
/* B7E638 80107498 3C048015 */ lui $a0, %hi(D_80153D90) # $a0, 0x8015
/* B7E63C 8010749C A04E2208 */ sb $t6, 0x2208($v0)
/* B7E640 801074A0 8C6A000C */ lw $t2, 0xc($v1)
/* B7E644 801074A4 012B3023 */ subu $a2, $t1, $t3
/* B7E648 801074A8 AC462200 */ sw $a2, 0x2200($v0)
/* B7E64C 801074AC 01493823 */ subu $a3, $t2, $t1
/* B7E650 801074B0 AC472204 */ sw $a3, 0x2204($v0)
/* B7E654 801074B4 24630008 */ addiu $v1, $v1, 8
/* B7E658 801074B8 AFAB0014 */ sw $t3, 0x14($sp)
/* B7E65C 801074BC 24843D90 */ addiu $a0, %lo(D_80153D90) # addiu $a0, $a0, 0x3d90
/* B7E660 801074C0 24422200 */ addiu $v0, $v0, 0x2200
/* B7E664 801074C4 AFA90010 */ sw $t1, 0x10($sp)
/* B7E668 801074C8 0C00084C */ jal osSyncPrintf
/* B7E66C 801074CC AFAA0018 */ sw $t2, 0x18($sp)
/* B7E670 801074D0 10000052 */ b .L8010761C
/* B7E674 801074D4 8FBF0024 */ lw $ra, 0x24($sp)
/* B7E678 801074D8 94620008 */ lhu $v0, 8($v1)
.L801074DC:
/* B7E67C 801074DC 24630008 */ addiu $v1, $v1, 8
/* B7E680 801074E0 1482FFE8 */ bne $a0, $v0, .L80107484
/* B7E684 801074E4 00000000 */ nop
/* B7E688 801074E8 10000027 */ b .L80107588
/* B7E68C 801074EC 00000000 */ nop
.L801074F0:
/* B7E690 801074F0 24010001 */ li $at, 1
/* B7E694 801074F4 14410004 */ bne $v0, $at, .L80107508
/* B7E698 801074F8 3C088015 */ lui $t0, %hi(D_801538F8)
/* B7E69C 801074FC 3C088015 */ lui $t0, %hi(D_801538F4) # $t0, 0x8015
/* B7E6A0 80107500 10000002 */ b .L8010750C
/* B7E6A4 80107504 8D0838F4 */ lw $t0, %lo(D_801538F4)($t0)
.L80107508:
/* B7E6A8 80107508 8D0838F8 */ lw $t0, %lo(D_801538F8)($t0)
.L8010750C:
/* B7E6AC 8010750C 94620000 */ lhu $v0, ($v1)
/* B7E6B0 80107510 3404FFFF */ li $a0, 65535
/* B7E6B4 80107514 8C6B0004 */ lw $t3, 4($v1)
/* B7E6B8 80107518 1082001B */ beq $a0, $v0, .L80107588
/* B7E6BC 8010751C 00C02825 */ move $a1, $a2
.L80107520:
/* B7E6C0 80107520 54A20015 */ bnel $a1, $v0, .L80107578
/* B7E6C4 80107524 94620008 */ lhu $v0, 8($v1)
/* B7E6C8 80107528 8FA20040 */ lw $v0, 0x40($sp)
/* B7E6CC 8010752C 906F0002 */ lbu $t7, 2($v1)
/* B7E6D0 80107530 8D090000 */ lw $t1, ($t0)
/* B7E6D4 80107534 3C048015 */ lui $a0, %hi(D_80153DEC) # $a0, 0x8015
/* B7E6D8 80107538 A04F2208 */ sb $t7, 0x2208($v0)
/* B7E6DC 8010753C 8D0A0004 */ lw $t2, 4($t0)
/* B7E6E0 80107540 012B3023 */ subu $a2, $t1, $t3
/* B7E6E4 80107544 AC462200 */ sw $a2, 0x2200($v0)
/* B7E6E8 80107548 01493823 */ subu $a3, $t2, $t1
/* B7E6EC 8010754C AC472204 */ sw $a3, 0x2204($v0)
/* B7E6F0 80107550 25080004 */ addiu $t0, $t0, 4
/* B7E6F4 80107554 AFAB0014 */ sw $t3, 0x14($sp)
/* B7E6F8 80107558 24843DEC */ addiu $a0, %lo(D_80153DEC) # addiu $a0, $a0, 0x3dec
/* B7E6FC 8010755C 24422200 */ addiu $v0, $v0, 0x2200
/* B7E700 80107560 AFA90010 */ sw $t1, 0x10($sp)
/* B7E704 80107564 0C00084C */ jal osSyncPrintf
/* B7E708 80107568 AFAA0018 */ sw $t2, 0x18($sp)
/* B7E70C 8010756C 1000002B */ b .L8010761C
/* B7E710 80107570 8FBF0024 */ lw $ra, 0x24($sp)
/* B7E714 80107574 94620008 */ lhu $v0, 8($v1)
.L80107578:
/* B7E718 80107578 24630008 */ addiu $v1, $v1, 8
/* B7E71C 8010757C 25080004 */ addiu $t0, $t0, 4
/* B7E720 80107580 1482FFE7 */ bne $a0, $v0, .L80107520
/* B7E724 80107584 00000000 */ nop
.L80107588:
/* B7E728 80107588 3C048015 */ lui $a0, %hi(D_80153E48) # $a0, 0x8015
/* B7E72C 8010758C 24843E48 */ addiu $a0, %lo(D_80153E48) # addiu $a0, $a0, 0x3e48
/* B7E730 80107590 00C02825 */ move $a1, $a2
/* B7E734 80107594 0C00084C */ jal osSyncPrintf
/* B7E738 80107598 AFAB0028 */ sw $t3, 0x28($sp)
/* B7E73C 8010759C 3C028016 */ lui $v0, %hi(gSaveContext+0x1409) # $v0, 0x8016
/* B7E740 801075A0 9042FA69 */ lbu $v0, %lo(gSaveContext+0x1409)($v0)
/* B7E744 801075A4 3C038015 */ lui $v1, %hi(D_801538F0) # $v1, 0x8015
/* B7E748 801075A8 8FA40040 */ lw $a0, 0x40($sp)
/* B7E74C 801075AC 8FAB0028 */ lw $t3, 0x28($sp)
/* B7E750 801075B0 14400008 */ bnez $v0, .L801075D4
/* B7E754 801075B4 8C6338F0 */ lw $v1, %lo(D_801538F0)($v1)
/* B7E758 801075B8 90780002 */ lbu $t8, 2($v1)
/* B7E75C 801075BC 8C690004 */ lw $t1, 4($v1)
/* B7E760 801075C0 24822200 */ addiu $v0, $a0, 0x2200
/* B7E764 801075C4 A0580008 */ sb $t8, 8($v0)
/* B7E768 801075C8 24630008 */ addiu $v1, $v1, 8
/* B7E76C 801075CC 1000000E */ b .L80107608
/* B7E770 801075D0 8C6A0004 */ lw $t2, 4($v1)
.L801075D4:
/* B7E774 801075D4 24010001 */ li $at, 1
/* B7E778 801075D8 14410004 */ bne $v0, $at, .L801075EC
/* B7E77C 801075DC 3C088015 */ lui $t0, %hi(D_801538F8)
/* B7E780 801075E0 3C088015 */ lui $t0, %hi(D_801538F4) # $t0, 0x8015
/* B7E784 801075E4 10000002 */ b .L801075F0
/* B7E788 801075E8 8D0838F4 */ lw $t0, %lo(D_801538F4)($t0)
.L801075EC:
/* B7E78C 801075EC 8D0838F8 */ lw $t0, %lo(D_801538F8)($t0)
.L801075F0:
/* B7E790 801075F0 90790002 */ lbu $t9, 2($v1)
/* B7E794 801075F4 8D090000 */ lw $t1, ($t0)
/* B7E798 801075F8 24822200 */ addiu $v0, $a0, 0x2200
/* B7E79C 801075FC A0590008 */ sb $t9, 8($v0)
/* B7E7A0 80107600 25080004 */ addiu $t0, $t0, 4
/* B7E7A4 80107604 8D0A0000 */ lw $t2, ($t0)
.L80107608:
/* B7E7A8 80107608 012B6023 */ subu $t4, $t1, $t3
/* B7E7AC 8010760C 01496823 */ subu $t5, $t2, $t1
/* B7E7B0 80107610 AC4C0000 */ sw $t4, ($v0)
/* B7E7B4 80107614 AC4D0004 */ sw $t5, 4($v0)
/* B7E7B8 80107618 8FBF0024 */ lw $ra, 0x24($sp)
.L8010761C:
/* B7E7BC 8010761C 27BD0040 */ addiu $sp, $sp, 0x40
/* B7E7C0 80107620 03E00008 */ jr $ra
/* B7E7C4 80107624 00000000 */ nop

View file

@ -1,54 +0,0 @@
.rdata
glabel D_80153E74
# Message found!!! = %x (data=%x) (data0=%x) (data1=%x) (data2=%x) (data3=%x)
.asciz " , = %x (data=%x) (data0=%x) (data1=%x) (data2=%x) (data3=%x)\n"
.balign 4
.text
glabel func_80107628
/* B7E7C8 80107628 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B7E7CC 8010762C 3C028015 */ lui $v0, %hi(D_801538FC) # $v0, 0x8015
/* B7E7D0 80107630 8C4238FC */ lw $v0, %lo(D_801538FC)($v0)
/* B7E7D4 80107634 AFBF0024 */ sw $ra, 0x24($sp)
/* B7E7D8 80107638 AFA40028 */ sw $a0, 0x28($sp)
/* B7E7DC 8010763C AFA5002C */ sw $a1, 0x2c($sp)
/* B7E7E0 80107640 94430000 */ lhu $v1, ($v0)
/* B7E7E4 80107644 3406FFFF */ li $a2, 65535
/* B7E7E8 80107648 30A7FFFF */ andi $a3, $a1, 0xffff
/* B7E7EC 8010764C 10C3001B */ beq $a2, $v1, .L801076BC
/* B7E7F0 80107650 8C4A0004 */ lw $t2, 4($v0)
/* B7E7F4 80107654 00E02825 */ move $a1, $a3
.L80107658:
/* B7E7F8 80107658 54A30015 */ bnel $a1, $v1, .L801076B0
/* B7E7FC 8010765C 94430008 */ lhu $v1, 8($v0)
/* B7E800 80107660 8FA30028 */ lw $v1, 0x28($sp)
/* B7E804 80107664 904E0002 */ lbu $t6, 2($v0)
/* B7E808 80107668 8C480004 */ lw $t0, 4($v0)
/* B7E80C 8010766C 3C048015 */ lui $a0, %hi(D_80153E74) # $a0, 0x8015
/* B7E810 80107670 A06E2208 */ sb $t6, 0x2208($v1)
/* B7E814 80107674 8C49000C */ lw $t1, 0xc($v0)
/* B7E818 80107678 010A3023 */ subu $a2, $t0, $t2
/* B7E81C 8010767C AC662200 */ sw $a2, 0x2200($v1)
/* B7E820 80107680 01283823 */ subu $a3, $t1, $t0
/* B7E824 80107684 AC672204 */ sw $a3, 0x2204($v1)
/* B7E828 80107688 24420008 */ addiu $v0, $v0, 8
/* B7E82C 8010768C AFAA0014 */ sw $t2, 0x14($sp)
/* B7E830 80107690 24843E74 */ addiu $a0, %lo(D_80153E74) # addiu $a0, $a0, 0x3e74
/* B7E834 80107694 24632200 */ addiu $v1, $v1, 0x2200
/* B7E838 80107698 AFA80010 */ sw $t0, 0x10($sp)
/* B7E83C 8010769C 0C00084C */ jal osSyncPrintf
/* B7E840 801076A0 AFA90018 */ sw $t1, 0x18($sp)
/* B7E844 801076A4 10000006 */ b .L801076C0
/* B7E848 801076A8 8FBF0024 */ lw $ra, 0x24($sp)
/* B7E84C 801076AC 94430008 */ lhu $v1, 8($v0)
.L801076B0:
/* B7E850 801076B0 24420008 */ addiu $v0, $v0, 8
/* B7E854 801076B4 14C3FFE8 */ bne $a2, $v1, .L80107658
/* B7E858 801076B8 00000000 */ nop
.L801076BC:
/* B7E85C 801076BC 8FBF0024 */ lw $ra, 0x24($sp)
.L801076C0:
/* B7E860 801076C0 27BD0028 */ addiu $sp, $sp, 0x28
/* B7E864 801076C4 03E00008 */ jr $ra
/* B7E868 801076C8 00000000 */ nop

View file

@ -1,204 +0,0 @@
.late_rodata
glabel jtbl_80154B28
.word L80107934
.word L801076F4
.word L8010773C
.word L801077B4
.word L80107804
.word L8010787C
.word L801078CC
.word L80107918
.text
glabel func_801076CC
/* B7E86C 801076CC AFA50004 */ sw $a1, 4($sp)
/* B7E870 801076D0 30A5FFFF */ andi $a1, $a1, 0xffff
/* B7E874 801076D4 2CA10008 */ sltiu $at, $a1, 8
/* B7E878 801076D8 10200096 */ beqz $at, .L80107934
/* B7E87C 801076DC 00057080 */ sll $t6, $a1, 2
/* B7E880 801076E0 3C018015 */ lui $at, %hi(jtbl_80154B28)
/* B7E884 801076E4 002E0821 */ addu $at, $at, $t6
/* B7E888 801076E8 8C2E4B28 */ lw $t6, %lo(jtbl_80154B28)($at)
/* B7E88C 801076EC 01C00008 */ jr $t6
/* B7E890 801076F0 00000000 */ nop
glabel L801076F4
/* B7E894 801076F4 248F7FFF */ addiu $t7, $a0, 0x7fff
/* B7E898 801076F8 91EF62FE */ lbu $t7, 0x62fe($t7)
/* B7E89C 801076FC 24010001 */ li $at, 1
/* B7E8A0 80107700 2402003C */ li $v0, 60
/* B7E8A4 80107704 15E10008 */ bne $t7, $at, .L80107728
/* B7E8A8 80107708 240500FF */ li $a1, 255
/* B7E8AC 8010770C 24817FFF */ addiu $at, $a0, 0x7fff
/* B7E8B0 80107710 240500FF */ li $a1, 255
/* B7E8B4 80107714 24180078 */ li $t8, 120
/* B7E8B8 80107718 A42563DD */ sh $a1, 0x63dd($at)
/* B7E8BC 8010771C A43863DF */ sh $t8, 0x63df($at)
/* B7E8C0 80107720 03E00008 */ jr $ra
/* B7E8C4 80107724 A42063E1 */ sh $zero, 0x63e1($at)
.L80107728:
/* B7E8C8 80107728 24817FFF */ addiu $at, $a0, 0x7fff
/* B7E8CC 8010772C A42563DD */ sh $a1, 0x63dd($at)
/* B7E8D0 80107730 A42263DF */ sh $v0, 0x63df($at)
/* B7E8D4 80107734 03E00008 */ jr $ra
/* B7E8D8 80107738 A42263E1 */ sh $v0, 0x63e1($at)
glabel L8010773C
/* B7E8DC 8010773C 24997FFF */ addiu $t9, $a0, 0x7fff
/* B7E8E0 80107740 933962FE */ lbu $t9, 0x62fe($t9)
/* B7E8E4 80107744 24010001 */ li $at, 1
/* B7E8E8 80107748 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
/* B7E8EC 8010774C 1721000E */ bne $t9, $at, .L80107788
/* B7E8F0 80107750 2442FA90 */ addiu $v0, %lo(gGameInfo) # addiu $v0, $v0, -0x570
/* B7E8F4 80107754 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
/* B7E8F8 80107758 2442FA90 */ addiu $v0, %lo(gGameInfo) # addiu $v0, $v0, -0x570
/* B7E8FC 8010775C 8C480000 */ lw $t0, ($v0)
/* B7E900 80107760 24817FFF */ addiu $at, $a0, 0x7fff
/* B7E904 80107764 85090F56 */ lh $t1, 0xf56($t0)
/* B7E908 80107768 A42963DD */ sh $t1, 0x63dd($at)
/* B7E90C 8010776C 8C4A0000 */ lw $t2, ($v0)
/* B7E910 80107770 854B0F58 */ lh $t3, 0xf58($t2)
/* B7E914 80107774 A42B63DF */ sh $t3, 0x63df($at)
/* B7E918 80107778 8C4C0000 */ lw $t4, ($v0)
/* B7E91C 8010777C 858D0F5A */ lh $t5, 0xf5a($t4)
/* B7E920 80107780 03E00008 */ jr $ra
/* B7E924 80107784 A42D63E1 */ sh $t5, 0x63e1($at)
.L80107788:
/* B7E928 80107788 8C4E0000 */ lw $t6, ($v0)
/* B7E92C 8010778C 24817FFF */ addiu $at, $a0, 0x7fff
/* B7E930 80107790 85CF0F5C */ lh $t7, 0xf5c($t6)
/* B7E934 80107794 A42F63DD */ sh $t7, 0x63dd($at)
/* B7E938 80107798 8C580000 */ lw $t8, ($v0)
/* B7E93C 8010779C 87190F5E */ lh $t9, 0xf5e($t8)
/* B7E940 801077A0 A43963DF */ sh $t9, 0x63df($at)
/* B7E944 801077A4 8C480000 */ lw $t0, ($v0)
/* B7E948 801077A8 85090F60 */ lh $t1, 0xf60($t0)
/* B7E94C 801077AC 03E00008 */ jr $ra
/* B7E950 801077B0 A42963E1 */ sh $t1, 0x63e1($at)
glabel L801077B4
/* B7E954 801077B4 248A7FFF */ addiu $t2, $a0, 0x7fff
/* B7E958 801077B8 914A62FE */ lbu $t2, 0x62fe($t2)
/* B7E95C 801077BC 24010001 */ li $at, 1
/* B7E960 801077C0 240500FF */ li $a1, 255
/* B7E964 801077C4 15410009 */ bne $t2, $at, .L801077EC
/* B7E968 801077C8 240D0050 */ li $t5, 80
/* B7E96C 801077CC 24817FFF */ addiu $at, $a0, 0x7fff
/* B7E970 801077D0 240500FF */ li $a1, 255
/* B7E974 801077D4 240B0050 */ li $t3, 80
/* B7E978 801077D8 240C006E */ li $t4, 110
/* B7E97C 801077DC A42B63DD */ sh $t3, 0x63dd($at)
/* B7E980 801077E0 A42C63DF */ sh $t4, 0x63df($at)
/* B7E984 801077E4 03E00008 */ jr $ra
/* B7E988 801077E8 A42563E1 */ sh $a1, 0x63e1($at)
.L801077EC:
/* B7E98C 801077EC 24817FFF */ addiu $at, $a0, 0x7fff
/* B7E990 801077F0 240E005A */ li $t6, 90
/* B7E994 801077F4 A42D63DD */ sh $t5, 0x63dd($at)
/* B7E998 801077F8 A42E63DF */ sh $t6, 0x63df($at)
/* B7E99C 801077FC 03E00008 */ jr $ra
/* B7E9A0 80107800 A42563E1 */ sh $a1, 0x63e1($at)
glabel L80107804
/* B7E9A4 80107804 24827FFF */ addiu $v0, $a0, 0x7fff
/* B7E9A8 80107808 904262FE */ lbu $v0, 0x62fe($v0)
/* B7E9AC 8010780C 24010001 */ li $at, 1
/* B7E9B0 80107810 240500FF */ li $a1, 255
/* B7E9B4 80107814 14410007 */ bne $v0, $at, .L80107834
/* B7E9B8 80107818 240F005A */ li $t7, 90
/* B7E9BC 8010781C 24817FFF */ addiu $at, $a0, 0x7fff
/* B7E9C0 80107820 241800B4 */ li $t8, 180
/* B7E9C4 80107824 A42F63DD */ sh $t7, 0x63dd($at)
/* B7E9C8 80107828 A43863DF */ sh $t8, 0x63df($at)
/* B7E9CC 8010782C 03E00008 */ jr $ra
/* B7E9D0 80107830 A42563E1 */ sh $a1, 0x63e1($at)
.L80107834:
/* B7E9D4 80107834 24010005 */ li $at, 5
/* B7E9D8 80107838 14410009 */ bne $v0, $at, .L80107860
/* B7E9DC 8010783C 240500FF */ li $a1, 255
/* B7E9E0 80107840 24817FFF */ addiu $at, $a0, 0x7fff
/* B7E9E4 80107844 24190050 */ li $t9, 80
/* B7E9E8 80107848 24080096 */ li $t0, 150
/* B7E9EC 8010784C 240900B4 */ li $t1, 180
/* B7E9F0 80107850 A43963DD */ sh $t9, 0x63dd($at)
/* B7E9F4 80107854 A42863DF */ sh $t0, 0x63df($at)
/* B7E9F8 80107858 03E00008 */ jr $ra
/* B7E9FC 8010785C A42963E1 */ sh $t1, 0x63e1($at)
.L80107860:
/* B7EA00 80107860 24817FFF */ addiu $at, $a0, 0x7fff
/* B7EA04 80107864 240A0064 */ li $t2, 100
/* B7EA08 80107868 240B00B4 */ li $t3, 180
/* B7EA0C 8010786C A42A63DD */ sh $t2, 0x63dd($at)
/* B7EA10 80107870 A42B63DF */ sh $t3, 0x63df($at)
/* B7EA14 80107874 03E00008 */ jr $ra
/* B7EA18 80107878 A42563E1 */ sh $a1, 0x63e1($at)
glabel L8010787C
/* B7EA1C 8010787C 248C7FFF */ addiu $t4, $a0, 0x7fff
/* B7EA20 80107880 918C62FE */ lbu $t4, 0x62fe($t4)
/* B7EA24 80107884 24010001 */ li $at, 1
/* B7EA28 80107888 240500FF */ li $a1, 255
/* B7EA2C 8010788C 15810009 */ bne $t4, $at, .L801078B4
/* B7EA30 80107890 240F0096 */ li $t7, 150
/* B7EA34 80107894 24817FFF */ addiu $at, $a0, 0x7fff
/* B7EA38 80107898 240500FF */ li $a1, 255
/* B7EA3C 8010789C 240D00D2 */ li $t5, 210
/* B7EA40 801078A0 240E0064 */ li $t6, 100
/* B7EA44 801078A4 A42D63DD */ sh $t5, 0x63dd($at)
/* B7EA48 801078A8 A42E63DF */ sh $t6, 0x63df($at)
/* B7EA4C 801078AC 03E00008 */ jr $ra
/* B7EA50 801078B0 A42563E1 */ sh $a1, 0x63e1($at)
.L801078B4:
/* B7EA54 801078B4 24817FFF */ addiu $at, $a0, 0x7fff
/* B7EA58 801078B8 241800B4 */ li $t8, 180
/* B7EA5C 801078BC A42563DD */ sh $a1, 0x63dd($at)
/* B7EA60 801078C0 A42F63DF */ sh $t7, 0x63df($at)
/* B7EA64 801078C4 03E00008 */ jr $ra
/* B7EA68 801078C8 A43863E1 */ sh $t8, 0x63e1($at)
glabel L801078CC
/* B7EA6C 801078CC 24997FFF */ addiu $t9, $a0, 0x7fff
/* B7EA70 801078D0 933962FE */ lbu $t9, 0x62fe($t9)
/* B7EA74 801078D4 24010001 */ li $at, 1
/* B7EA78 801078D8 240500FF */ li $a1, 255
/* B7EA7C 801078DC 17210008 */ bne $t9, $at, .L80107900
/* B7EA80 801078E0 240900E1 */ li $t1, 225
/* B7EA84 801078E4 24817FFF */ addiu $at, $a0, 0x7fff
/* B7EA88 801078E8 240500FF */ li $a1, 255
/* B7EA8C 801078EC 2408001E */ li $t0, 30
/* B7EA90 801078F0 A42563DD */ sh $a1, 0x63dd($at)
/* B7EA94 801078F4 A42563DF */ sh $a1, 0x63df($at)
/* B7EA98 801078F8 03E00008 */ jr $ra
/* B7EA9C 801078FC A42863E1 */ sh $t0, 0x63e1($at)
.L80107900:
/* B7EAA0 80107900 24817FFF */ addiu $at, $a0, 0x7fff
/* B7EAA4 80107904 240A0032 */ li $t2, 50
/* B7EAA8 80107908 A42963DD */ sh $t1, 0x63dd($at)
/* B7EAAC 8010790C A42563DF */ sh $a1, 0x63df($at)
/* B7EAB0 80107910 03E00008 */ jr $ra
/* B7EAB4 80107914 A42A63E1 */ sh $t2, 0x63e1($at)
glabel L80107918
/* B7EAB8 80107918 24817FFF */ addiu $at, $a0, 0x7fff
/* B7EABC 8010791C A42063E1 */ sh $zero, 0x63e1($at)
/* B7EAC0 80107920 24837FFF */ addiu $v1, $a0, 0x7fff
/* B7EAC4 80107924 846363E1 */ lh $v1, 0x63e1($v1)
/* B7EAC8 80107928 A42363DF */ sh $v1, 0x63df($at)
/* B7EACC 8010792C 03E00008 */ jr $ra
/* B7EAD0 80107930 A42363DD */ sh $v1, 0x63dd($at)
.L80107934:
glabel L80107934
/* B7EAD4 80107934 34018000 */ li $at, 32768
/* B7EAD8 80107938 00811021 */ addu $v0, $a0, $at
/* B7EADC 8010793C 904B62FD */ lbu $t3, 0x62fd($v0)
/* B7EAE0 80107940 24010005 */ li $at, 5
/* B7EAE4 80107944 240500FF */ li $a1, 255
/* B7EAE8 80107948 15610006 */ bne $t3, $at, .L80107964
/* B7EAEC 8010794C 24817FFF */ addiu $at, $a0, 0x7fff
/* B7EAF0 80107950 A42063E1 */ sh $zero, 0x63e1($at)
/* B7EAF4 80107954 844363E0 */ lh $v1, 0x63e0($v0)
/* B7EAF8 80107958 A42363DF */ sh $v1, 0x63df($at)
/* B7EAFC 8010795C 03E00008 */ jr $ra
/* B7EB00 80107960 A42363DD */ sh $v1, 0x63dd($at)
.L80107964:
/* B7EB04 80107964 24817FFF */ addiu $at, $a0, 0x7fff
/* B7EB08 80107968 A42563E1 */ sh $a1, 0x63e1($at)
/* B7EB0C 8010796C 844363E0 */ lh $v1, 0x63e0($v0)
/* B7EB10 80107970 A42363DF */ sh $v1, 0x63df($at)
/* B7EB14 80107974 A42363DD */ sh $v1, 0x63dd($at)
/* B7EB18 80107978 03E00008 */ jr $ra
/* B7EB1C 8010797C 00000000 */ nop

View file

@ -1,504 +0,0 @@
glabel func_80107980
/* B7EB20 80107980 27BDFF90 */ addiu $sp, $sp, -0x70
/* B7EB24 80107984 3C0F8015 */ lui $t7, %hi(D_8014B308) # $t7, 0x8015
/* B7EB28 80107988 85EFB308 */ lh $t7, %lo(D_8014B308)($t7)
/* B7EB2C 8010798C AFA40070 */ sw $a0, 0x70($sp)
/* B7EB30 80107990 AFA50074 */ sw $a1, 0x74($sp)
/* B7EB34 80107994 AFA60078 */ sw $a2, 0x78($sp)
/* B7EB38 80107998 AFA7007C */ sw $a3, 0x7c($sp)
/* B7EB3C 8010799C 8CA20000 */ lw $v0, ($a1)
/* B7EB40 801079A0 15E001C2 */ bnez $t7, .L801080AC
/* B7EB44 801079A4 00A07025 */ move $t6, $a1
/* B7EB48 801079A8 3C068015 */ lui $a2, %hi(D_801539F0) # $a2, 0x8015
/* B7EB4C 801079AC 84C639F0 */ lh $a2, %lo(D_801539F0)($a2)
/* B7EB50 801079B0 3C188015 */ lui $t8, %hi(D_801539C8) # $t8, 0x8015
/* B7EB54 801079B4 271839C8 */ addiu $t8, %lo(D_801539C8) # addiu $t8, $t8, 0x39c8
/* B7EB58 801079B8 00C00821 */ addu $at, $a2, $zero
/* B7EB5C 801079BC 00063080 */ sll $a2, $a2, 2
/* B7EB60 801079C0 00C13023 */ subu $a2, $a2, $at
/* B7EB64 801079C4 00063040 */ sll $a2, $a2, 1
/* B7EB68 801079C8 3C0A8015 */ lui $t2, %hi(D_801539E0) # $t2, 0x8015
/* B7EB6C 801079CC 00D82021 */ addu $a0, $a2, $t8
/* B7EB70 801079D0 854A39E0 */ lh $t2, %lo(D_801539E0)($t2)
/* B7EB74 801079D4 84850000 */ lh $a1, ($a0)
/* B7EB78 801079D8 3C088015 */ lui $t0, %hi(D_801539EC) # $t0, 0x8015
/* B7EB7C 801079DC 3C098015 */ lui $t1, %hi(D_801539E4) # $t1, 0x8015
/* B7EB80 801079E0 01453823 */ subu $a3, $t2, $a1
/* B7EB84 801079E4 04E20004 */ bltzl $a3, .L801079F8
/* B7EB88 801079E8 00071823 */ negu $v1, $a3
/* B7EB8C 801079EC 10000002 */ b .L801079F8
/* B7EB90 801079F0 00E01825 */ move $v1, $a3
/* B7EB94 801079F4 00071823 */ negu $v1, $a3
.L801079F8:
/* B7EB98 801079F8 850839EC */ lh $t0, %lo(D_801539EC)($t0)
/* B7EB9C 801079FC 852939E4 */ lh $t1, %lo(D_801539E4)($t1)
/* B7EBA0 80107A00 848B0002 */ lh $t3, 2($a0)
/* B7EBA4 80107A04 0068001A */ div $zero, $v1, $t0
/* B7EBA8 80107A08 00006812 */ mflo $t5
/* B7EBAC 80107A0C 000D6C00 */ sll $t5, $t5, 0x10
/* B7EBB0 80107A10 15000002 */ bnez $t0, .L80107A1C
/* B7EBB4 80107A14 00000000 */ nop
/* B7EBB8 80107A18 0007000D */ break 7
.L80107A1C:
/* B7EBBC 80107A1C 2401FFFF */ li $at, -1
/* B7EBC0 80107A20 15010004 */ bne $t0, $at, .L80107A34
/* B7EBC4 80107A24 3C018000 */ lui $at, 0x8000
/* B7EBC8 80107A28 14610002 */ bne $v1, $at, .L80107A34
/* B7EBCC 80107A2C 00000000 */ nop
/* B7EBD0 80107A30 0006000D */ break 6
.L80107A34:
/* B7EBD4 80107A34 012B3823 */ subu $a3, $t1, $t3
/* B7EBD8 80107A38 04E00003 */ bltz $a3, .L80107A48
/* B7EBDC 80107A3C 000D6C03 */ sra $t5, $t5, 0x10
/* B7EBE0 80107A40 10000002 */ b .L80107A4C
/* B7EBE4 80107A44 00E01825 */ move $v1, $a3
.L80107A48:
/* B7EBE8 80107A48 00071823 */ negu $v1, $a3
.L80107A4C:
/* B7EBEC 80107A4C 0068001A */ div $zero, $v1, $t0
/* B7EBF0 80107A50 3C078015 */ lui $a3, %hi(D_801539E8) # $a3, 0x8015
/* B7EBF4 80107A54 84E739E8 */ lh $a3, %lo(D_801539E8)($a3)
/* B7EBF8 80107A58 848C0004 */ lh $t4, 4($a0)
/* B7EBFC 80107A5C 15000002 */ bnez $t0, .L80107A68
/* B7EC00 80107A60 00000000 */ nop
/* B7EC04 80107A64 0007000D */ break 7
.L80107A68:
/* B7EC08 80107A68 2401FFFF */ li $at, -1
/* B7EC0C 80107A6C 15010004 */ bne $t0, $at, .L80107A80
/* B7EC10 80107A70 3C018000 */ lui $at, 0x8000
/* B7EC14 80107A74 14610002 */ bne $v1, $at, .L80107A80
/* B7EC18 80107A78 00000000 */ nop
/* B7EC1C 80107A7C 0006000D */ break 6
.L80107A80:
/* B7EC20 80107A80 00EC7023 */ subu $t6, $a3, $t4
/* B7EC24 80107A84 0000C812 */ mflo $t9
/* B7EC28 80107A88 A7B90060 */ sh $t9, 0x60($sp)
/* B7EC2C 80107A8C AFAE0000 */ sw $t6, ($sp)
/* B7EC30 80107A90 05C00003 */ bltz $t6, .L80107AA0
/* B7EC34 80107A94 01C07825 */ move $t7, $t6
/* B7EC38 80107A98 10000003 */ b .L80107AA8
/* B7EC3C 80107A9C 01E01825 */ move $v1, $t7
.L80107AA0:
/* B7EC40 80107AA0 8FA30000 */ lw $v1, ($sp)
/* B7EC44 80107AA4 00031823 */ negu $v1, $v1
.L80107AA8:
/* B7EC48 80107AA8 0145082A */ slt $at, $t2, $a1
/* B7EC4C 80107AAC 54200006 */ bnezl $at, .L80107AC8
/* B7EC50 80107AB0 014D5021 */ addu $t2, $t2, $t5
/* B7EC54 80107AB4 014D5023 */ subu $t2, $t2, $t5
/* B7EC58 80107AB8 000A5400 */ sll $t2, $t2, 0x10
/* B7EC5C 80107ABC 10000004 */ b .L80107AD0
/* B7EC60 80107AC0 000A5403 */ sra $t2, $t2, 0x10
/* B7EC64 80107AC4 014D5021 */ addu $t2, $t2, $t5
.L80107AC8:
/* B7EC68 80107AC8 000A5400 */ sll $t2, $t2, 0x10
/* B7EC6C 80107ACC 000A5403 */ sra $t2, $t2, 0x10
.L80107AD0:
/* B7EC70 80107AD0 012B082A */ slt $at, $t1, $t3
/* B7EC74 80107AD4 14200006 */ bnez $at, .L80107AF0
/* B7EC78 80107AD8 3C0D8015 */ lui $t5, %hi(D_801539F4) # $t5, 0x8015
/* B7EC7C 80107ADC 87B80060 */ lh $t8, 0x60($sp)
/* B7EC80 80107AE0 01384823 */ subu $t1, $t1, $t8
/* B7EC84 80107AE4 00094C00 */ sll $t1, $t1, 0x10
/* B7EC88 80107AE8 10000005 */ b .L80107B00
/* B7EC8C 80107AEC 00094C03 */ sra $t1, $t1, 0x10
.L80107AF0:
/* B7EC90 80107AF0 87B90060 */ lh $t9, 0x60($sp)
/* B7EC94 80107AF4 01394821 */ addu $t1, $t1, $t9
/* B7EC98 80107AF8 00094C00 */ sll $t1, $t1, 0x10
/* B7EC9C 80107AFC 00094C03 */ sra $t1, $t1, 0x10
.L80107B00:
/* B7ECA0 80107B00 00EC082A */ slt $at, $a3, $t4
/* B7ECA4 80107B04 14200013 */ bnez $at, .L80107B54
/* B7ECA8 80107B08 00000000 */ nop
/* B7ECAC 80107B0C 0068001A */ div $zero, $v1, $t0
/* B7ECB0 80107B10 00007012 */ mflo $t6
/* B7ECB4 80107B14 000E7C00 */ sll $t7, $t6, 0x10
/* B7ECB8 80107B18 000FC403 */ sra $t8, $t7, 0x10
/* B7ECBC 80107B1C 00F83823 */ subu $a3, $a3, $t8
/* B7ECC0 80107B20 00073C00 */ sll $a3, $a3, 0x10
/* B7ECC4 80107B24 15000002 */ bnez $t0, .L80107B30
/* B7ECC8 80107B28 00000000 */ nop
/* B7ECCC 80107B2C 0007000D */ break 7
.L80107B30:
/* B7ECD0 80107B30 2401FFFF */ li $at, -1
/* B7ECD4 80107B34 15010004 */ bne $t0, $at, .L80107B48
/* B7ECD8 80107B38 3C018000 */ lui $at, 0x8000
/* B7ECDC 80107B3C 14610002 */ bne $v1, $at, .L80107B48
/* B7ECE0 80107B40 00000000 */ nop
/* B7ECE4 80107B44 0006000D */ break 6
.L80107B48:
/* B7ECE8 80107B48 00073C03 */ sra $a3, $a3, 0x10
/* B7ECEC 80107B4C 10000012 */ b .L80107B98
/* B7ECF0 80107B50 AFA5000C */ sw $a1, 0xc($sp)
.L80107B54:
/* B7ECF4 80107B54 0068001A */ div $zero, $v1, $t0
/* B7ECF8 80107B58 0000C812 */ mflo $t9
/* B7ECFC 80107B5C 00197400 */ sll $t6, $t9, 0x10
/* B7ED00 80107B60 000E7C03 */ sra $t7, $t6, 0x10
/* B7ED04 80107B64 00EF3821 */ addu $a3, $a3, $t7
/* B7ED08 80107B68 00073C00 */ sll $a3, $a3, 0x10
/* B7ED0C 80107B6C 00073C03 */ sra $a3, $a3, 0x10
/* B7ED10 80107B70 15000002 */ bnez $t0, .L80107B7C
/* B7ED14 80107B74 00000000 */ nop
/* B7ED18 80107B78 0007000D */ break 7
.L80107B7C:
/* B7ED1C 80107B7C 2401FFFF */ li $at, -1
/* B7ED20 80107B80 15010004 */ bne $t0, $at, .L80107B94
/* B7ED24 80107B84 3C018000 */ lui $at, 0x8000
/* B7ED28 80107B88 14610002 */ bne $v1, $at, .L80107B94
/* B7ED2C 80107B8C 00000000 */ nop
/* B7ED30 80107B90 0006000D */ break 6
.L80107B94:
/* B7ED34 80107B94 AFA5000C */ sw $a1, 0xc($sp)
.L80107B98:
/* B7ED38 80107B98 3C188015 */ lui $t8, %hi(D_801539D4) # $t8, 0x8015
/* B7ED3C 80107B9C 271839D4 */ addiu $t8, %lo(D_801539D4) # addiu $t8, $t8, 0x39d4
/* B7ED40 80107BA0 00D82821 */ addu $a1, $a2, $t8
/* B7ED44 80107BA4 85AD39F4 */ lh $t5, %lo(D_801539F4)($t5)
/* B7ED48 80107BA8 84B90000 */ lh $t9, ($a1)
/* B7ED4C 80107BAC 3C018015 */ lui $at, %hi(D_801539E4)
/* B7ED50 80107BB0 01B92023 */ subu $a0, $t5, $t9
/* B7ED54 80107BB4 AFB90000 */ sw $t9, ($sp)
/* B7ED58 80107BB8 04800008 */ bltz $a0, .L80107BDC
/* B7ED5C 80107BBC 03207025 */ move $t6, $t9
/* B7ED60 80107BC0 3C018015 */ lui $at, %hi(D_801539E4) # $at, 0x8015
/* B7ED64 80107BC4 A42939E4 */ sh $t1, %lo(D_801539E4)($at)
/* B7ED68 80107BC8 3C018015 */ lui $at, %hi(D_801539E0) # $at, 0x8015
/* B7ED6C 80107BCC A42A39E0 */ sh $t2, %lo(D_801539E0)($at)
/* B7ED70 80107BD0 00801825 */ move $v1, $a0
/* B7ED74 80107BD4 10000006 */ b .L80107BF0
/* B7ED78 80107BD8 AFAB0008 */ sw $t3, 8($sp)
.L80107BDC:
/* B7ED7C 80107BDC A42939E4 */ sh $t1, %lo(D_801539E4)($at)
/* B7ED80 80107BE0 3C018015 */ lui $at, %hi(D_801539E0) # $at, 0x8015
/* B7ED84 80107BE4 A42A39E0 */ sh $t2, %lo(D_801539E0)($at)
/* B7ED88 80107BE8 00041823 */ negu $v1, $a0
/* B7ED8C 80107BEC AFAB0008 */ sw $t3, 8($sp)
.L80107BF0:
/* B7ED90 80107BF0 0068001A */ div $zero, $v1, $t0
/* B7ED94 80107BF4 3C098015 */ lui $t1, %hi(D_801539F8) # $t1, 0x8015
/* B7ED98 80107BF8 852939F8 */ lh $t1, %lo(D_801539F8)($t1)
/* B7ED9C 80107BFC 84AB0002 */ lh $t3, 2($a1)
/* B7EDA0 80107C00 00003012 */ mflo $a2
/* B7EDA4 80107C04 00063400 */ sll $a2, $a2, 0x10
/* B7EDA8 80107C08 15000002 */ bnez $t0, .L80107C14
/* B7EDAC 80107C0C 00000000 */ nop
/* B7EDB0 80107C10 0007000D */ break 7
.L80107C14:
/* B7EDB4 80107C14 2401FFFF */ li $at, -1
/* B7EDB8 80107C18 15010004 */ bne $t0, $at, .L80107C2C
/* B7EDBC 80107C1C 3C018000 */ lui $at, 0x8000
/* B7EDC0 80107C20 14610002 */ bne $v1, $at, .L80107C2C
/* B7EDC4 80107C24 00000000 */ nop
/* B7EDC8 80107C28 0006000D */ break 6
.L80107C2C:
/* B7EDCC 80107C2C 012B2023 */ subu $a0, $t1, $t3
/* B7EDD0 80107C30 04800006 */ bltz $a0, .L80107C4C
/* B7EDD4 80107C34 00063403 */ sra $a2, $a2, 0x10
/* B7EDD8 80107C38 3C018015 */ lui $at, %hi(D_801539E8) # $at, 0x8015
/* B7EDDC 80107C3C A42739E8 */ sh $a3, %lo(D_801539E8)($at)
/* B7EDE0 80107C40 00801825 */ move $v1, $a0
/* B7EDE4 80107C44 10000005 */ b .L80107C5C
/* B7EDE8 80107C48 AFAC0004 */ sw $t4, 4($sp)
.L80107C4C:
/* B7EDEC 80107C4C 3C018015 */ lui $at, %hi(D_801539E8) # $at, 0x8015
/* B7EDF0 80107C50 A42739E8 */ sh $a3, %lo(D_801539E8)($at)
/* B7EDF4 80107C54 00041823 */ negu $v1, $a0
/* B7EDF8 80107C58 AFAC0004 */ sw $t4, 4($sp)
.L80107C5C:
/* B7EDFC 80107C5C 0068001A */ div $zero, $v1, $t0
/* B7EE00 80107C60 3C0A8015 */ lui $t2, %hi(D_801539FC) # $t2, 0x8015
/* B7EE04 80107C64 854A39FC */ lh $t2, %lo(D_801539FC)($t2)
/* B7EE08 80107C68 84AC0004 */ lh $t4, 4($a1)
/* B7EE0C 80107C6C 00003812 */ mflo $a3
/* B7EE10 80107C70 00073C00 */ sll $a3, $a3, 0x10
/* B7EE14 80107C74 15000002 */ bnez $t0, .L80107C80
/* B7EE18 80107C78 00000000 */ nop
/* B7EE1C 80107C7C 0007000D */ break 7
.L80107C80:
/* B7EE20 80107C80 2401FFFF */ li $at, -1
/* B7EE24 80107C84 15010004 */ bne $t0, $at, .L80107C98
/* B7EE28 80107C88 3C018000 */ lui $at, 0x8000
/* B7EE2C 80107C8C 14610002 */ bne $v1, $at, .L80107C98
/* B7EE30 80107C90 00000000 */ nop
/* B7EE34 80107C94 0006000D */ break 6
.L80107C98:
/* B7EE38 80107C98 014C2023 */ subu $a0, $t2, $t4
/* B7EE3C 80107C9C 04800003 */ bltz $a0, .L80107CAC
/* B7EE40 80107CA0 00073C03 */ sra $a3, $a3, 0x10
/* B7EE44 80107CA4 10000002 */ b .L80107CB0
/* B7EE48 80107CA8 00801825 */ move $v1, $a0
.L80107CAC:
/* B7EE4C 80107CAC 00041823 */ negu $v1, $a0
.L80107CB0:
/* B7EE50 80107CB0 8FA40000 */ lw $a0, ($sp)
/* B7EE54 80107CB4 01A4082A */ slt $at, $t5, $a0
/* B7EE58 80107CB8 54200006 */ bnezl $at, .L80107CD4
/* B7EE5C 80107CBC 01A66821 */ addu $t5, $t5, $a2
/* B7EE60 80107CC0 01A66823 */ subu $t5, $t5, $a2
/* B7EE64 80107CC4 000D6C00 */ sll $t5, $t5, 0x10
/* B7EE68 80107CC8 10000004 */ b .L80107CDC
/* B7EE6C 80107CCC 000D6C03 */ sra $t5, $t5, 0x10
/* B7EE70 80107CD0 01A66821 */ addu $t5, $t5, $a2
.L80107CD4:
/* B7EE74 80107CD4 000D6C00 */ sll $t5, $t5, 0x10
/* B7EE78 80107CD8 000D6C03 */ sra $t5, $t5, 0x10
.L80107CDC:
/* B7EE7C 80107CDC 012B082A */ slt $at, $t1, $t3
/* B7EE80 80107CE0 54200006 */ bnezl $at, .L80107CFC
/* B7EE84 80107CE4 01274821 */ addu $t1, $t1, $a3
/* B7EE88 80107CE8 01274823 */ subu $t1, $t1, $a3
/* B7EE8C 80107CEC 00094C00 */ sll $t1, $t1, 0x10
/* B7EE90 80107CF0 10000004 */ b .L80107D04
/* B7EE94 80107CF4 00094C03 */ sra $t1, $t1, 0x10
/* B7EE98 80107CF8 01274821 */ addu $t1, $t1, $a3
.L80107CFC:
/* B7EE9C 80107CFC 00094C00 */ sll $t1, $t1, 0x10
/* B7EEA0 80107D00 00094C03 */ sra $t1, $t1, 0x10
.L80107D04:
/* B7EEA4 80107D04 014C082A */ slt $at, $t2, $t4
/* B7EEA8 80107D08 14200013 */ bnez $at, .L80107D58
/* B7EEAC 80107D0C 00000000 */ nop
/* B7EEB0 80107D10 0068001A */ div $zero, $v1, $t0
/* B7EEB4 80107D14 00007812 */ mflo $t7
/* B7EEB8 80107D18 000FC400 */ sll $t8, $t7, 0x10
/* B7EEBC 80107D1C 0018CC03 */ sra $t9, $t8, 0x10
/* B7EEC0 80107D20 01595023 */ subu $t2, $t2, $t9
/* B7EEC4 80107D24 000A5400 */ sll $t2, $t2, 0x10
/* B7EEC8 80107D28 15000002 */ bnez $t0, .L80107D34
/* B7EECC 80107D2C 00000000 */ nop
/* B7EED0 80107D30 0007000D */ break 7
.L80107D34:
/* B7EED4 80107D34 2401FFFF */ li $at, -1
/* B7EED8 80107D38 15010004 */ bne $t0, $at, .L80107D4C
/* B7EEDC 80107D3C 3C018000 */ lui $at, 0x8000
/* B7EEE0 80107D40 14610002 */ bne $v1, $at, .L80107D4C
/* B7EEE4 80107D44 00000000 */ nop
/* B7EEE8 80107D48 0006000D */ break 6
.L80107D4C:
/* B7EEEC 80107D4C 000A5403 */ sra $t2, $t2, 0x10
/* B7EEF0 80107D50 10000012 */ b .L80107D9C
/* B7EEF4 80107D54 2508FFFF */ addiu $t0, $t0, -1
.L80107D58:
/* B7EEF8 80107D58 0068001A */ div $zero, $v1, $t0
/* B7EEFC 80107D5C 00007012 */ mflo $t6
/* B7EF00 80107D60 000E7C00 */ sll $t7, $t6, 0x10
/* B7EF04 80107D64 000FC403 */ sra $t8, $t7, 0x10
/* B7EF08 80107D68 01585021 */ addu $t2, $t2, $t8
/* B7EF0C 80107D6C 000A5400 */ sll $t2, $t2, 0x10
/* B7EF10 80107D70 000A5403 */ sra $t2, $t2, 0x10
/* B7EF14 80107D74 15000002 */ bnez $t0, .L80107D80
/* B7EF18 80107D78 00000000 */ nop
/* B7EF1C 80107D7C 0007000D */ break 7
.L80107D80:
/* B7EF20 80107D80 2401FFFF */ li $at, -1
/* B7EF24 80107D84 15010004 */ bne $t0, $at, .L80107D98
/* B7EF28 80107D88 3C018000 */ lui $at, 0x8000
/* B7EF2C 80107D8C 14610002 */ bne $v1, $at, .L80107D98
/* B7EF30 80107D90 00000000 */ nop
/* B7EF34 80107D94 0006000D */ break 6
.L80107D98:
/* B7EF38 80107D98 2508FFFF */ addiu $t0, $t0, -1
.L80107D9C:
/* B7EF3C 80107D9C 00084400 */ sll $t0, $t0, 0x10
/* B7EF40 80107DA0 00084403 */ sra $t0, $t0, 0x10
/* B7EF44 80107DA4 3C018015 */ lui $at, %hi(D_801539EC) # $at, 0x8015
/* B7EF48 80107DA8 15000018 */ bnez $t0, .L80107E0C
/* B7EF4C 80107DAC A42839EC */ sh $t0, %lo(D_801539EC)($at)
/* B7EF50 80107DB0 8FB9000C */ lw $t9, 0xc($sp)
/* B7EF54 80107DB4 8FAE0008 */ lw $t6, 8($sp)
/* B7EF58 80107DB8 3C018015 */ lui $at, %hi(D_801539E0) # $at, 0x8015
/* B7EF5C 80107DBC A43939E0 */ sh $t9, %lo(D_801539E0)($at)
/* B7EF60 80107DC0 8FAF0004 */ lw $t7, 4($sp)
/* B7EF64 80107DC4 3C018015 */ lui $at, %hi(D_801539E4) # $at, 0x8015
/* B7EF68 80107DC8 3C188015 */ lui $t8, %hi(D_801539F0) # $t8, 0x8015
/* B7EF6C 80107DCC 871839F0 */ lh $t8, %lo(D_801539F0)($t8)
/* B7EF70 80107DD0 A42E39E4 */ sh $t6, %lo(D_801539E4)($at)
/* B7EF74 80107DD4 3C018015 */ lui $at, %hi(D_801539E8) # $at, 0x8015
/* B7EF78 80107DD8 A42F39E8 */ sh $t7, %lo(D_801539E8)($at)
/* B7EF7C 80107DDC 3C018015 */ lui $at, %hi(D_801539F0) # $at, 0x8015
/* B7EF80 80107DE0 3B190001 */ xori $t9, $t8, 1
/* B7EF84 80107DE4 A43939F0 */ sh $t9, %lo(D_801539F0)($at)
/* B7EF88 80107DE8 00046C00 */ sll $t5, $a0, 0x10
/* B7EF8C 80107DEC 000B4C00 */ sll $t1, $t3, 0x10
/* B7EF90 80107DF0 000C5400 */ sll $t2, $t4, 0x10
/* B7EF94 80107DF4 2408000C */ li $t0, 12
/* B7EF98 80107DF8 3C018015 */ lui $at, %hi(D_801539EC) # $at, 0x8015
/* B7EF9C 80107DFC 000D6C03 */ sra $t5, $t5, 0x10
/* B7EFA0 80107E00 00094C03 */ sra $t1, $t1, 0x10
/* B7EFA4 80107E04 000A5403 */ sra $t2, $t2, 0x10
/* B7EFA8 80107E08 A42839EC */ sh $t0, %lo(D_801539EC)($at)
.L80107E0C:
/* B7EFAC 80107E0C 00402025 */ move $a0, $v0
/* B7EFB0 80107E10 3C03E700 */ lui $v1, 0xe700
/* B7EFB4 80107E14 AC830000 */ sw $v1, ($a0)
/* B7EFB8 80107E18 AC800004 */ sw $zero, 4($a0)
/* B7EFBC 80107E1C 24420008 */ addiu $v0, $v0, 8
/* B7EFC0 80107E20 00402025 */ move $a0, $v0
/* B7EFC4 80107E24 3C0EFC30 */ lui $t6, (0xFC309661 >> 16) # lui $t6, 0xfc30
/* B7EFC8 80107E28 3C0F552E */ lui $t7, (0x552EFF7F >> 16) # lui $t7, 0x552e
/* B7EFCC 80107E2C 35EFFF7F */ ori $t7, (0x552EFF7F & 0xFFFF) # ori $t7, $t7, 0xff7f
/* B7EFD0 80107E30 35CE9661 */ ori $t6, (0xFC309661 & 0xFFFF) # ori $t6, $t6, 0x9661
/* B7EFD4 80107E34 AC8E0000 */ sw $t6, ($a0)
/* B7EFD8 80107E38 AC8F0004 */ sw $t7, 4($a0)
/* B7EFDC 80107E3C 24420008 */ addiu $v0, $v0, 8
/* B7EFE0 80107E40 00402025 */ move $a0, $v0
/* B7EFE4 80107E44 3C18FA00 */ lui $t8, 0xfa00
/* B7EFE8 80107E48 AC980000 */ sw $t8, ($a0)
/* B7EFEC 80107E4C 3C188015 */ lui $t8, %hi(D_801539E4) # $t8, 0x8015
/* B7EFF0 80107E50 3C198015 */ lui $t9, %hi(D_801539E0) # $t9, 0x8015
/* B7EFF4 80107E54 872E39E0 */ lh $t6, %lo(D_801539E0)($t9)
/* B7EFF8 80107E58 871839E4 */ lh $t8, %lo(D_801539E4)($t8)
/* B7EFFC 80107E5C 3C018015 */ lui $at, %hi(D_801539F8) # $at, 0x8015
/* B7F000 80107E60 000E7E00 */ sll $t7, $t6, 0x18
/* B7F004 80107E64 331900FF */ andi $t9, $t8, 0xff
/* B7F008 80107E68 00197400 */ sll $t6, $t9, 0x10
/* B7F00C 80107E6C 3C198015 */ lui $t9, %hi(D_801539E8) # $t9, 0x8015
/* B7F010 80107E70 873939E8 */ lh $t9, %lo(D_801539E8)($t9)
/* B7F014 80107E74 01EEC025 */ or $t8, $t7, $t6
/* B7F018 80107E78 24420008 */ addiu $v0, $v0, 8
/* B7F01C 80107E7C 332F00FF */ andi $t7, $t9, 0xff
/* B7F020 80107E80 000F7200 */ sll $t6, $t7, 8
/* B7F024 80107E84 030EC825 */ or $t9, $t8, $t6
/* B7F028 80107E88 372F00FF */ ori $t7, $t9, 0xff
/* B7F02C 80107E8C AC8F0004 */ sw $t7, 4($a0)
/* B7F030 80107E90 3C18FB00 */ lui $t8, 0xfb00
/* B7F034 80107E94 AC580000 */ sw $t8, ($v0)
/* B7F038 80107E98 312F00FF */ andi $t7, $t1, 0xff
/* B7F03C 80107E9C 000FC400 */ sll $t8, $t7, 0x10
/* B7F040 80107EA0 000DCE00 */ sll $t9, $t5, 0x18
/* B7F044 80107EA4 03387025 */ or $t6, $t9, $t8
/* B7F048 80107EA8 314F00FF */ andi $t7, $t2, 0xff
/* B7F04C 80107EAC 000FCA00 */ sll $t9, $t7, 8
/* B7F050 80107EB0 01D9C025 */ or $t8, $t6, $t9
/* B7F054 80107EB4 370F00FF */ ori $t7, $t8, 0xff
/* B7F058 80107EB8 AC4F0004 */ sw $t7, 4($v0)
/* B7F05C 80107EBC A42939F8 */ sh $t1, %lo(D_801539F8)($at)
/* B7F060 80107EC0 3C018015 */ lui $at, %hi(D_801539FC) # $at, 0x8015
/* B7F064 80107EC4 8FA40070 */ lw $a0, 0x70($sp)
/* B7F068 80107EC8 A42A39FC */ sh $t2, %lo(D_801539FC)($at)
/* B7F06C 80107ECC 3C018015 */ lui $at, %hi(D_801539F4) # $at, 0x8015
/* B7F070 80107ED0 24450008 */ addiu $a1, $v0, 8
/* B7F074 80107ED4 A42D39F4 */ sh $t5, %lo(D_801539F4)($at)
/* B7F078 80107ED8 3C0EFD90 */ lui $t6, 0xfd90
/* B7F07C 80107EDC 24995E08 */ addiu $t9, $a0, 0x5e08
/* B7F080 80107EE0 ACB90004 */ sw $t9, 4($a1)
/* B7F084 80107EE4 ACAE0000 */ sw $t6, ($a1)
/* B7F088 80107EE8 24A20008 */ addiu $v0, $a1, 8
/* B7F08C 80107EEC 00402825 */ move $a1, $v0
/* B7F090 80107EF0 3C0F0708 */ lui $t7, (0x07080200 >> 16) # lui $t7, 0x708
/* B7F094 80107EF4 35EF0200 */ ori $t7, (0x07080200 & 0xFFFF) # ori $t7, $t7, 0x200
/* B7F098 80107EF8 3C18F590 */ lui $t8, 0xf590
/* B7F09C 80107EFC ACB80000 */ sw $t8, ($a1)
/* B7F0A0 80107F00 ACAF0004 */ sw $t7, 4($a1)
/* B7F0A4 80107F04 24420008 */ addiu $v0, $v0, 8
/* B7F0A8 80107F08 00402825 */ move $a1, $v0
/* B7F0AC 80107F0C 3C0EE600 */ lui $t6, 0xe600
/* B7F0B0 80107F10 ACAE0000 */ sw $t6, ($a1)
/* B7F0B4 80107F14 ACA00004 */ sw $zero, 4($a1)
/* B7F0B8 80107F18 24420008 */ addiu $v0, $v0, 8
/* B7F0BC 80107F1C 00402825 */ move $a1, $v0
/* B7F0C0 80107F20 3C180703 */ lui $t8, (0x0703F800 >> 16) # lui $t8, 0x703
/* B7F0C4 80107F24 3718F800 */ ori $t8, (0x0703F800 & 0xFFFF) # ori $t8, $t8, 0xf800
/* B7F0C8 80107F28 3C19F300 */ lui $t9, 0xf300
/* B7F0CC 80107F2C ACB90000 */ sw $t9, ($a1)
/* B7F0D0 80107F30 ACB80004 */ sw $t8, 4($a1)
/* B7F0D4 80107F34 24420008 */ addiu $v0, $v0, 8
/* B7F0D8 80107F38 00402825 */ move $a1, $v0
/* B7F0DC 80107F3C ACA30000 */ sw $v1, ($a1)
/* B7F0E0 80107F40 24420008 */ addiu $v0, $v0, 8
/* B7F0E4 80107F44 00401825 */ move $v1, $v0
/* B7F0E8 80107F48 ACA00004 */ sw $zero, 4($a1)
/* B7F0EC 80107F4C 3C0E0008 */ lui $t6, (0x00080200 >> 16) # lui $t6, 8
/* B7F0F0 80107F50 3C0FF580 */ lui $t7, (0xF5800200 >> 16) # lui $t7, 0xf580
/* B7F0F4 80107F54 35EF0200 */ ori $t7, (0xF5800200 & 0xFFFF) # ori $t7, $t7, 0x200
/* B7F0F8 80107F58 35CE0200 */ ori $t6, (0x00080200 & 0xFFFF) # ori $t6, $t6, 0x200
/* B7F0FC 80107F5C AC6E0004 */ sw $t6, 4($v1)
/* B7F100 80107F60 AC6F0000 */ sw $t7, ($v1)
/* B7F104 80107F64 24420008 */ addiu $v0, $v0, 8
/* B7F108 80107F68 00401825 */ move $v1, $v0
/* B7F10C 80107F6C 3C180003 */ lui $t8, (0x0003C03C >> 16) # lui $t8, 3
/* B7F110 80107F70 3718C03C */ ori $t8, (0x0003C03C & 0xFFFF) # ori $t8, $t8, 0xc03c
/* B7F114 80107F74 3C19F200 */ lui $t9, 0xf200
/* B7F118 80107F78 AC790000 */ sw $t9, ($v1)
/* B7F11C 80107F7C AC780004 */ sw $t8, 4($v1)
/* B7F120 80107F80 3C038016 */ lui $v1, %hi(gGameInfo) # $v1, 0x8016
/* B7F124 80107F84 8C63FA90 */ lw $v1, %lo(gGameInfo)($v1)
/* B7F128 80107F88 3C0142C8 */ li $at, 0x42C80000 # 0.000000
/* B7F12C 80107F8C 44810000 */ mtc1 $at, $f0
/* B7F130 80107F90 846F0B06 */ lh $t7, 0xb06($v1)
/* B7F134 80107F94 3C014180 */ li $at, 0x41800000 # 0.000000
/* B7F138 80107F98 44815000 */ mtc1 $at, $f10
/* B7F13C 80107F9C 448F2000 */ mtc1 $t7, $f4
/* B7F140 80107FA0 3C068017 */ lui $a2, %hi(D_801759A0) # $a2, 0x8017
/* B7F144 80107FA4 24C659A0 */ addiu $a2, %lo(D_801759A0) # addiu $a2, $a2, 0x59a0
/* B7F148 80107FA8 468021A0 */ cvt.s.w $f6, $f4
/* B7F14C 80107FAC 3C014480 */ li $at, 0x44800000 # 0.000000
/* B7F150 80107FB0 44812000 */ mtc1 $at, $f4
/* B7F154 80107FB4 87A8007A */ lh $t0, 0x7a($sp)
/* B7F158 80107FB8 3C078017 */ lui $a3, %hi(D_801759A4) # $a3, 0x8017
/* B7F15C 80107FBC 87A9007E */ lh $t1, 0x7e($sp)
/* B7F160 80107FC0 46003203 */ div.s $f8, $f6, $f0
/* B7F164 80107FC4 24E759A4 */ addiu $a3, %lo(D_801759A4) # addiu $a3, $a3, 0x59a4
/* B7F168 80107FC8 3C01E400 */ lui $at, 0xe400
/* B7F16C 80107FCC 24420008 */ addiu $v0, $v0, 8
/* B7F170 80107FD0 460A4402 */ mul.s $f16, $f8, $f10
/* B7F174 80107FD4 4600848D */ trunc.w.s $f18, $f16
/* B7F178 80107FD8 44059000 */ mfc1 $a1, $f18
/* B7F17C 80107FDC 00000000 */ nop
/* B7F180 80107FE0 ACC50000 */ sw $a1, ($a2)
/* B7F184 80107FE4 84780B06 */ lh $t8, 0xb06($v1)
/* B7F188 80107FE8 0105C821 */ addu $t9, $t0, $a1
/* B7F18C 80107FEC 00401825 */ move $v1, $v0
/* B7F190 80107FF0 44983000 */ mtc1 $t8, $f6
/* B7F194 80107FF4 0019C080 */ sll $t8, $t9, 2
/* B7F198 80107FF8 330F0FFF */ andi $t7, $t8, 0xfff
/* B7F19C 80107FFC 46803220 */ cvt.s.w $f8, $f6
/* B7F1A0 80108000 0125C021 */ addu $t8, $t1, $a1
/* B7F1A4 80108004 24420008 */ addiu $v0, $v0, 8
/* B7F1A8 80108008 46004283 */ div.s $f10, $f8, $f0
/* B7F1AC 8010800C 460A2403 */ div.s $f16, $f4, $f10
/* B7F1B0 80108010 4600848D */ trunc.w.s $f18, $f16
/* B7F1B4 80108014 440E9000 */ mfc1 $t6, $f18
/* B7F1B8 80108018 00000000 */ nop
/* B7F1BC 8010801C ACEE0000 */ sw $t6, ($a3)
/* B7F1C0 80108020 000F7300 */ sll $t6, $t7, 0xc
/* B7F1C4 80108024 01C1C825 */ or $t9, $t6, $at
/* B7F1C8 80108028 00187880 */ sll $t7, $t8, 2
/* B7F1CC 8010802C 31EE0FFF */ andi $t6, $t7, 0xfff
/* B7F1D0 80108030 032EC025 */ or $t8, $t9, $t6
/* B7F1D4 80108034 00087880 */ sll $t7, $t0, 2
/* B7F1D8 80108038 31F90FFF */ andi $t9, $t7, 0xfff
/* B7F1DC 8010803C AC780000 */ sw $t8, ($v1)
/* B7F1E0 80108040 0009C080 */ sll $t8, $t1, 2
/* B7F1E4 80108044 330F0FFF */ andi $t7, $t8, 0xfff
/* B7F1E8 80108048 00197300 */ sll $t6, $t9, 0xc
/* B7F1EC 8010804C 01CFC825 */ or $t9, $t6, $t7
/* B7F1F0 80108050 AC790004 */ sw $t9, 4($v1)
/* B7F1F4 80108054 00401825 */ move $v1, $v0
/* B7F1F8 80108058 3C18E100 */ lui $t8, 0xe100
/* B7F1FC 8010805C AC780000 */ sw $t8, ($v1)
/* B7F200 80108060 AC600004 */ sw $zero, 4($v1)
/* B7F204 80108064 24420008 */ addiu $v0, $v0, 8
/* B7F208 80108068 00401825 */ move $v1, $v0
/* B7F20C 8010806C 3C0EF100 */ lui $t6, 0xf100
/* B7F210 80108070 AC6E0000 */ sw $t6, ($v1)
/* B7F214 80108074 8CE50000 */ lw $a1, ($a3)
/* B7F218 80108078 24420008 */ addiu $v0, $v0, 8
/* B7F21C 8010807C 30A5FFFF */ andi $a1, $a1, 0xffff
/* B7F220 80108080 00057C00 */ sll $t7, $a1, 0x10
/* B7F224 80108084 01E5C825 */ or $t9, $t7, $a1
/* B7F228 80108088 AC790004 */ sw $t9, 4($v1)
/* B7F22C 8010808C 248320D8 */ addiu $v1, $a0, 0x20d8
/* B7F230 80108090 24787FFF */ addiu $t8, $v1, 0x7fff
/* B7F234 80108094 931863E8 */ lbu $t8, 0x63e8($t8)
/* B7F238 80108098 24617FFF */ addiu $at, $v1, 0x7fff
/* B7F23C 8010809C 270E0001 */ addiu $t6, $t8, 1
/* B7F240 801080A0 A02E63E8 */ sb $t6, 0x63e8($at)
/* B7F244 801080A4 8FAF0074 */ lw $t7, 0x74($sp)
/* B7F248 801080A8 ADE20000 */ sw $v0, ($t7)
.L801080AC:
/* B7F24C 801080AC 03E00008 */ jr $ra
/* B7F250 801080B0 27BD0070 */ addiu $sp, $sp, 0x70

View file

@ -1,214 +0,0 @@
glabel func_801080B4
/* B7F254 801080B4 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B7F258 801080B8 3C180001 */ lui $t8, 1
/* B7F25C 801080BC AFBF001C */ sw $ra, 0x1c($sp)
/* B7F260 801080C0 AFA40028 */ sw $a0, 0x28($sp)
/* B7F264 801080C4 AFA5002C */ sw $a1, 0x2c($sp)
/* B7F268 801080C8 AFA60030 */ sw $a2, 0x30($sp)
/* B7F26C 801080CC AFA70034 */ sw $a3, 0x34($sp)
/* B7F270 801080D0 0304C021 */ addu $t8, $t8, $a0
/* B7F274 801080D4 931803DC */ lbu $t8, 0x3dc($t8)
/* B7F278 801080D8 24010006 */ li $at, 6
/* B7F27C 801080DC 8CC30000 */ lw $v1, ($a2)
/* B7F280 801080E0 1701000D */ bne $t8, $at, .L80108118
/* B7F284 801080E4 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* B7F288 801080E8 3C198013 */ lui $t9, %hi(D_801333E8) # $t9, 0x8013
/* B7F28C 801080EC 273933E8 */ addiu $t9, %lo(D_801333E8) # addiu $t9, $t9, 0x33e8
/* B7F290 801080F0 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* B7F294 801080F4 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013
/* B7F298 801080F8 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4
/* B7F29C 801080FC AFA70010 */ sw $a3, 0x10($sp)
/* B7F2A0 80108100 AFB90014 */ sw $t9, 0x14($sp)
/* B7F2A4 80108104 00002025 */ move $a0, $zero
/* B7F2A8 80108108 24060004 */ li $a2, 4
/* B7F2AC 8010810C 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* B7F2B0 80108110 AFA30020 */ sw $v1, 0x20($sp)
/* B7F2B4 80108114 8FA30020 */ lw $v1, 0x20($sp)
.L80108118:
/* B7F2B8 80108118 00601025 */ move $v0, $v1
/* B7F2BC 8010811C 3C09E700 */ lui $t1, 0xe700
/* B7F2C0 80108120 AC490000 */ sw $t1, ($v0)
/* B7F2C4 80108124 AC400004 */ sw $zero, 4($v0)
/* B7F2C8 80108128 24630008 */ addiu $v1, $v1, 8
/* B7F2CC 8010812C 00601025 */ move $v0, $v1
/* B7F2D0 80108130 3C0AFC11 */ lui $t2, (0xFC119623 >> 16) # lui $t2, 0xfc11
/* B7F2D4 80108134 3C0BFF2F */ lui $t3, (0xFF2FFFFF >> 16) # lui $t3, 0xff2f
/* B7F2D8 80108138 356BFFFF */ ori $t3, (0xFF2FFFFF & 0xFFFF) # ori $t3, $t3, 0xffff
/* B7F2DC 8010813C 354A9623 */ ori $t2, (0xFC119623 & 0xFFFF) # ori $t2, $t2, 0x9623
/* B7F2E0 80108140 AC4A0000 */ sw $t2, ($v0)
/* B7F2E4 80108144 AC4B0004 */ sw $t3, 4($v0)
/* B7F2E8 80108148 24630008 */ addiu $v1, $v1, 8
/* B7F2EC 8010814C 00601025 */ move $v0, $v1
/* B7F2F0 80108150 3C0CFA00 */ lui $t4, 0xfa00
/* B7F2F4 80108154 AC4C0000 */ sw $t4, ($v0)
/* B7F2F8 80108158 8FA80028 */ lw $t0, 0x28($sp)
/* B7F2FC 8010815C 34018000 */ li $at, 32768
/* B7F300 80108160 24630008 */ addiu $v1, $v1, 8
/* B7F304 80108164 250820D8 */ addiu $t0, $t0, 0x20d8
/* B7F308 80108168 01013821 */ addu $a3, $t0, $at
/* B7F30C 8010816C 84ED63E2 */ lh $t5, 0x63e2($a3)
/* B7F310 80108170 2401FF00 */ li $at, -256
/* B7F314 80108174 3C068016 */ lui $a2, %hi(gGameInfo) # $a2, 0x8016
/* B7F318 80108178 31AE00FF */ andi $t6, $t5, 0xff
/* B7F31C 8010817C 01C17825 */ or $t7, $t6, $at
/* B7F320 80108180 AC4F0004 */ sw $t7, 4($v0)
/* B7F324 80108184 97B8002E */ lhu $t8, 0x2e($sp)
/* B7F328 80108188 00601025 */ move $v0, $v1
/* B7F32C 8010818C 3C0CFD18 */ lui $t4, 0xfd18
/* B7F330 80108190 2B010066 */ slti $at, $t8, 0x66
/* B7F334 80108194 1420002C */ bnez $at, .L80108248
/* B7F338 80108198 24C6FA90 */ addiu $a2, %lo(gGameInfo) # addiu $a2, $a2, -0x570
/* B7F33C 8010819C 00601025 */ move $v0, $v1
/* B7F340 801081A0 3C19FD18 */ lui $t9, 0xfd18
/* B7F344 801081A4 AC590000 */ sw $t9, ($v0)
/* B7F348 801081A8 8CEA62B0 */ lw $t2, 0x62b0($a3)
/* B7F34C 801081AC 24630008 */ addiu $v1, $v1, 8
/* B7F350 801081B0 3C0CF518 */ lui $t4, 0xf518
/* B7F354 801081B4 254B1000 */ addiu $t3, $t2, 0x1000
/* B7F358 801081B8 AC4B0004 */ sw $t3, 4($v0)
/* B7F35C 801081BC 00601025 */ move $v0, $v1
/* B7F360 801081C0 3C0D0700 */ lui $t5, 0x700
/* B7F364 801081C4 AC4D0004 */ sw $t5, 4($v0)
/* B7F368 801081C8 AC4C0000 */ sw $t4, ($v0)
/* B7F36C 801081CC 24630008 */ addiu $v1, $v1, 8
/* B7F370 801081D0 00601025 */ move $v0, $v1
/* B7F374 801081D4 3C0EE600 */ lui $t6, 0xe600
/* B7F378 801081D8 AC4E0000 */ sw $t6, ($v0)
/* B7F37C 801081DC AC400004 */ sw $zero, 4($v0)
/* B7F380 801081E0 24630008 */ addiu $v1, $v1, 8
/* B7F384 801081E4 00601025 */ move $v0, $v1
/* B7F388 801081E8 3C180723 */ lui $t8, (0x0723F0AB >> 16) # lui $t8, 0x723
/* B7F38C 801081EC 3718F0AB */ ori $t8, (0x0723F0AB & 0xFFFF) # ori $t8, $t8, 0xf0ab
/* B7F390 801081F0 3C0FF300 */ lui $t7, 0xf300
/* B7F394 801081F4 AC4F0000 */ sw $t7, ($v0)
/* B7F398 801081F8 AC580004 */ sw $t8, 4($v0)
/* B7F39C 801081FC 24630008 */ addiu $v1, $v1, 8
/* B7F3A0 80108200 00601025 */ move $v0, $v1
/* B7F3A4 80108204 AC490000 */ sw $t1, ($v0)
/* B7F3A8 80108208 AC400004 */ sw $zero, 4($v0)
/* B7F3AC 8010820C 24630008 */ addiu $v1, $v1, 8
/* B7F3B0 80108210 00601025 */ move $v0, $v1
/* B7F3B4 80108214 3C19F518 */ lui $t9, (0xF5180C00 >> 16) # lui $t9, 0xf518
/* B7F3B8 80108218 37390C00 */ ori $t9, (0xF5180C00 & 0xFFFF) # ori $t9, $t9, 0xc00
/* B7F3BC 8010821C AC590000 */ sw $t9, ($v0)
/* B7F3C0 80108220 AC400004 */ sw $zero, 4($v0)
/* B7F3C4 80108224 24630008 */ addiu $v1, $v1, 8
/* B7F3C8 80108228 00601025 */ move $v0, $v1
/* B7F3CC 8010822C 3C0B0005 */ lui $t3, (0x0005C05C >> 16) # lui $t3, 5
/* B7F3D0 80108230 356BC05C */ ori $t3, (0x0005C05C & 0xFFFF) # ori $t3, $t3, 0xc05c
/* B7F3D4 80108234 3C0AF200 */ lui $t2, 0xf200
/* B7F3D8 80108238 AC4A0000 */ sw $t2, ($v0)
/* B7F3DC 8010823C AC4B0004 */ sw $t3, 4($v0)
/* B7F3E0 80108240 10000029 */ b .L801082E8
/* B7F3E4 80108244 24630008 */ addiu $v1, $v1, 8
.L80108248:
/* B7F3E8 80108248 AC4C0000 */ sw $t4, ($v0)
/* B7F3EC 8010824C 8CED62B0 */ lw $t5, 0x62b0($a3)
/* B7F3F0 80108250 24630008 */ addiu $v1, $v1, 8
/* B7F3F4 80108254 3C0FF518 */ lui $t7, 0xf518
/* B7F3F8 80108258 25AE1000 */ addiu $t6, $t5, 0x1000
/* B7F3FC 8010825C AC4E0004 */ sw $t6, 4($v0)
/* B7F400 80108260 00601025 */ move $v0, $v1
/* B7F404 80108264 3C180700 */ lui $t8, 0x700
/* B7F408 80108268 AC580004 */ sw $t8, 4($v0)
/* B7F40C 8010826C AC4F0000 */ sw $t7, ($v0)
/* B7F410 80108270 24630008 */ addiu $v1, $v1, 8
/* B7F414 80108274 00601025 */ move $v0, $v1
/* B7F418 80108278 3C19E600 */ lui $t9, 0xe600
/* B7F41C 8010827C AC590000 */ sw $t9, ($v0)
/* B7F420 80108280 AC400004 */ sw $zero, 4($v0)
/* B7F424 80108284 24630008 */ addiu $v1, $v1, 8
/* B7F428 80108288 00601025 */ move $v0, $v1
/* B7F42C 8010828C 3C0B073F */ lui $t3, (0x073FF080 >> 16) # lui $t3, 0x73f
/* B7F430 80108290 356BF080 */ ori $t3, (0x073FF080 & 0xFFFF) # ori $t3, $t3, 0xf080
/* B7F434 80108294 3C0AF300 */ lui $t2, 0xf300
/* B7F438 80108298 AC4A0000 */ sw $t2, ($v0)
/* B7F43C 8010829C AC4B0004 */ sw $t3, 4($v0)
/* B7F440 801082A0 24630008 */ addiu $v1, $v1, 8
/* B7F444 801082A4 00601025 */ move $v0, $v1
/* B7F448 801082A8 AC490000 */ sw $t1, ($v0)
/* B7F44C 801082AC AC400004 */ sw $zero, 4($v0)
/* B7F450 801082B0 24630008 */ addiu $v1, $v1, 8
/* B7F454 801082B4 00601025 */ move $v0, $v1
/* B7F458 801082B8 3C0CF518 */ lui $t4, (0xF5181000 >> 16) # lui $t4, 0xf518
/* B7F45C 801082BC 358C1000 */ ori $t4, (0xF5181000 & 0xFFFF) # ori $t4, $t4, 0x1000
/* B7F460 801082C0 AC4C0000 */ sw $t4, ($v0)
/* B7F464 801082C4 AC400004 */ sw $zero, 4($v0)
/* B7F468 801082C8 24630008 */ addiu $v1, $v1, 8
/* B7F46C 801082CC 00601025 */ move $v0, $v1
/* B7F470 801082D0 3C0E0007 */ lui $t6, (0x0007C07C >> 16) # lui $t6, 7
/* B7F474 801082D4 35CEC07C */ ori $t6, (0x0007C07C & 0xFFFF) # ori $t6, $t6, 0xc07c
/* B7F478 801082D8 3C0DF200 */ lui $t5, 0xf200
/* B7F47C 801082DC AC4D0000 */ sw $t5, ($v0)
/* B7F480 801082E0 AC4E0004 */ sw $t6, 4($v0)
/* B7F484 801082E4 24630008 */ addiu $v1, $v1, 8
.L801082E8:
/* B7F488 801082E8 8CC20000 */ lw $v0, ($a2)
/* B7F48C 801082EC 84EF63D8 */ lh $t7, 0x63d8($a3)
/* B7F490 801082F0 3C01E400 */ lui $at, 0xe400
/* B7F494 801082F4 84580522 */ lh $t8, 0x522($v0)
/* B7F498 801082F8 8445052A */ lh $a1, 0x52a($v0)
/* B7F49C 801082FC 844E0524 */ lh $t6, 0x524($v0)
/* B7F4A0 80108300 01F8C821 */ addu $t9, $t7, $t8
/* B7F4A4 80108304 03255021 */ addu $t2, $t9, $a1
/* B7F4A8 80108308 00AE7821 */ addu $t7, $a1, $t6
/* B7F4AC 8010830C 000FC080 */ sll $t8, $t7, 2
/* B7F4B0 80108310 000A5880 */ sll $t3, $t2, 2
/* B7F4B4 80108314 316C0FFF */ andi $t4, $t3, 0xfff
/* B7F4B8 80108318 33190FFF */ andi $t9, $t8, 0xfff
/* B7F4BC 8010831C 03215025 */ or $t2, $t9, $at
/* B7F4C0 80108320 000C6B00 */ sll $t5, $t4, 0xc
/* B7F4C4 80108324 014D5825 */ or $t3, $t2, $t5
/* B7F4C8 80108328 00602025 */ move $a0, $v1
/* B7F4CC 8010832C AC8B0000 */ sw $t3, ($a0)
/* B7F4D0 80108330 8CC20000 */ lw $v0, ($a2)
/* B7F4D4 80108334 84EC63D8 */ lh $t4, 0x63d8($a3)
/* B7F4D8 80108338 24630008 */ addiu $v1, $v1, 8
/* B7F4DC 8010833C 844E0522 */ lh $t6, 0x522($v0)
/* B7F4E0 80108340 844D0524 */ lh $t5, 0x524($v0)
/* B7F4E4 80108344 00601025 */ move $v0, $v1
/* B7F4E8 80108348 018E7821 */ addu $t7, $t4, $t6
/* B7F4EC 8010834C 000FC080 */ sll $t8, $t7, 2
/* B7F4F0 80108350 33190FFF */ andi $t9, $t8, 0xfff
/* B7F4F4 80108354 000D5880 */ sll $t3, $t5, 2
/* B7F4F8 80108358 316C0FFF */ andi $t4, $t3, 0xfff
/* B7F4FC 8010835C 00195300 */ sll $t2, $t9, 0xc
/* B7F500 80108360 018A7025 */ or $t6, $t4, $t2
/* B7F504 80108364 AC8E0004 */ sw $t6, 4($a0)
/* B7F508 80108368 3C0FE100 */ lui $t7, 0xe100
/* B7F50C 8010836C AC4F0000 */ sw $t7, ($v0)
/* B7F510 80108370 AC400004 */ sw $zero, 4($v0)
/* B7F514 80108374 24630008 */ addiu $v1, $v1, 8
/* B7F518 80108378 00601025 */ move $v0, $v1
/* B7F51C 8010837C 97A40036 */ lhu $a0, 0x36($sp)
/* B7F520 80108380 3C190400 */ lui $t9, (0x04000400 >> 16) # lui $t9, 0x400
/* B7F524 80108384 37390400 */ ori $t9, (0x04000400 & 0xFFFF) # ori $t9, $t9, 0x400
/* B7F528 80108388 3C18F100 */ lui $t8, 0xf100
/* B7F52C 8010838C AC580000 */ sw $t8, ($v0)
/* B7F530 80108390 AC590004 */ sw $t9, 4($v0)
/* B7F534 80108394 24630008 */ addiu $v1, $v1, 8
/* B7F538 80108398 00601025 */ move $v0, $v1
/* B7F53C 8010839C AC490000 */ sw $t1, ($v0)
/* B7F540 801083A0 AC400004 */ sw $zero, 4($v0)
/* B7F544 801083A4 24630008 */ addiu $v1, $v1, 8
/* B7F548 801083A8 00601025 */ move $v0, $v1
/* B7F54C 801083AC 3C0BFF2D */ lui $t3, (0xFF2DFEFF >> 16) # lui $t3, 0xff2d
/* B7F550 801083B0 3C0DFCFF */ lui $t5, (0xFCFF97FF >> 16) # lui $t5, 0xfcff
/* B7F554 801083B4 35AD97FF */ ori $t5, (0xFCFF97FF & 0xFFFF) # ori $t5, $t5, 0x97ff
/* B7F558 801083B8 356BFEFF */ ori $t3, (0xFF2DFEFF & 0xFFFF) # ori $t3, $t3, 0xfeff
/* B7F55C 801083BC AC4B0004 */ sw $t3, 4($v0)
/* B7F560 801083C0 AC4D0000 */ sw $t5, ($v0)
/* B7F564 801083C4 84EC63D8 */ lh $t4, 0x63d8($a3)
/* B7F568 801083C8 25017FFF */ addiu $at, $t0, 0x7fff
/* B7F56C 801083CC 24630008 */ addiu $v1, $v1, 8
/* B7F570 801083D0 258A0020 */ addiu $t2, $t4, 0x20
/* B7F574 801083D4 A42A63D9 */ sh $t2, 0x63d9($at)
/* B7F578 801083D8 8FAE0030 */ lw $t6, 0x30($sp)
/* B7F57C 801083DC 24840001 */ addiu $a0, $a0, 1
/* B7F580 801083E0 3082FFFF */ andi $v0, $a0, 0xffff
/* B7F584 801083E4 ADC30000 */ sw $v1, ($t6)
/* B7F588 801083E8 8FBF001C */ lw $ra, 0x1c($sp)
/* B7F58C 801083EC 27BD0028 */ addiu $sp, $sp, 0x28
/* B7F590 801083F0 03E00008 */ jr $ra
/* B7F594 801083F4 00000000 */ nop

View file

@ -1,241 +0,0 @@
.rdata
glabel D_80153ED0
# Recording Start / Recording Start / Recording Start / Recording Start ->
.asciz " -> "
.balign 4
glabel D_80153EFC
# Recording Playback / Recording Playback / Recording Playback / Recording Playback ->
.asciz " -> "
.balign 4
glabel D_80153F28
# 8 Note Recording Start / 8 Note Recording Start / 8 Note Recording Start ->
.asciz " -> "
.balign 4
glabel D_80153F54
# 8 Note Playback / 8 Note Playback / 8 Note Playback ->
.asciz " -> "
.balign 4
glabel D_80153F74
# Musical Round Start / Musical Round Start / Musical Round Start / Musical Round Start ->
.asciz " -> "
.balign 4
glabel D_80153FA0
# Frog Chorus / Frog Chorus ->
.asciz " -> "
.balign 4
glabel D_80153FC0
# Ocarina%d
.asciz "%d "
.balign 4
glabel D_80153FD0
.asciz "000000000000 -> "
.balign 4
glabel D_80153FE4
.asciz "111111111111 -> "
.balign 4
glabel D_80153FF8
.asciz "222222222222 -> "
.balign 4
glabel D_8015400C
.asciz "msg_mode=%d\n"
.balign 4
.text
glabel func_801083F8
/* B7F598 801083F8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B7F59C 801083FC 3C0E0001 */ lui $t6, 1
/* B7F5A0 80108400 AFBF001C */ sw $ra, 0x1c($sp)
/* B7F5A4 80108404 AFB00018 */ sw $s0, 0x18($sp)
/* B7F5A8 80108408 01C47021 */ addu $t6, $t6, $a0
/* B7F5AC 8010840C 91CE03DC */ lbu $t6, 0x3dc($t6)
/* B7F5B0 80108410 24010006 */ li $at, 6
/* B7F5B4 80108414 240F0001 */ li $t7, 1
/* B7F5B8 80108418 15C100A0 */ bne $t6, $at, .L8010869C
/* B7F5BC 8010841C 249020D8 */ addiu $s0, $a0, 0x20d8
/* B7F5C0 80108420 3C010001 */ lui $at, 1
/* B7F5C4 80108424 00240821 */ addu $at, $at, $a0
/* B7F5C8 80108428 A42F04C6 */ sh $t7, 0x4c6($at)
/* B7F5CC 8010842C 34018000 */ li $at, 32768
/* B7F5D0 80108430 0201C021 */ addu $t8, $s0, $at
/* B7F5D4 80108434 AFB80024 */ sw $t8, 0x24($sp)
/* B7F5D8 80108438 970563F0 */ lhu $a1, 0x63f0($t8)
/* B7F5DC 8010843C 2401002A */ li $at, 42
/* B7F5E0 80108440 24080021 */ li $t0, 33
/* B7F5E4 80108444 14A10007 */ bne $a1, $at, .L80108464
/* B7F5E8 80108448 3C048015 */ lui $a0, %hi(D_80153ED0) # $a0, 0x8015
/* B7F5EC 8010844C 26017FFF */ addiu $at, $s0, 0x7fff
/* B7F5F0 80108450 A0286305 */ sb $t0, 0x6305($at)
/* B7F5F4 80108454 0C00084C */ jal osSyncPrintf
/* B7F5F8 80108458 24843ED0 */ addiu $a0, %lo(D_80153ED0) # addiu $a0, $a0, 0x3ed0
/* B7F5FC 8010845C 1000008B */ b .L8010868C
/* B7F600 80108460 8FB90024 */ lw $t9, 0x24($sp)
.L80108464:
/* B7F604 80108464 2401002B */ li $at, 43
/* B7F608 80108468 14A10021 */ bne $a1, $at, .L801084F0
/* B7F60C 8010846C 3C048015 */ lui $a0, %hi(D_80153EFC) # $a0, 0x8015
/* B7F610 80108470 0C00084C */ jal osSyncPrintf
/* B7F614 80108474 24843EFC */ addiu $a0, %lo(D_80153EFC) # addiu $a0, $a0, 0x3efc
/* B7F618 80108478 0C03B616 */ jal func_800ED858
/* B7F61C 8010847C 24040001 */ li $a0, 1
/* B7F620 80108480 0C03B616 */ jal func_800ED858
/* B7F624 80108484 24040001 */ li $a0, 1
/* B7F628 80108488 0C03B8FE */ jal Audio_OcaGetDisplayStaff
/* B7F62C 8010848C 00000000 */ nop
/* B7F630 80108490 3C038015 */ lui $v1, %hi(D_8014B2FC) # $v1, 0x8015
/* B7F634 80108494 26017FFF */ addiu $at, $s0, 0x7fff
/* B7F638 80108498 AC2262B9 */ sw $v0, 0x62b9($at)
/* B7F63C 8010849C 2463B2FC */ addiu $v1, %lo(D_8014B2FC) # addiu $v1, $v1, -0x4d04
/* B7F640 801084A0 A4600000 */ sh $zero, ($v1)
/* B7F644 801084A4 84690000 */ lh $t1, ($v1)
/* B7F648 801084A8 3C048015 */ lui $a0, %hi(D_8014B2F8) # $a0, 0x8015
/* B7F64C 801084AC 8FAB0024 */ lw $t3, 0x24($sp)
/* B7F650 801084B0 2484B2F8 */ addiu $a0, %lo(D_8014B2F8) # addiu $a0, $a0, -0x4d08
/* B7F654 801084B4 A4890000 */ sh $t1, ($a0)
/* B7F658 801084B8 848A0000 */ lh $t2, ($a0)
/* B7F65C 801084BC 8D6C62B8 */ lw $t4, 0x62b8($t3)
/* B7F660 801084C0 0C041A6C */ jal func_801069B0
/* B7F664 801084C4 A18A0002 */ sb $t2, 2($t4)
/* B7F668 801084C8 240D0003 */ li $t5, 3
/* B7F66C 801084CC 26017FFF */ addiu $at, $s0, 0x7fff
/* B7F670 801084D0 240E0023 */ li $t6, 35
/* B7F674 801084D4 A02D63E8 */ sb $t5, 0x63e8($at)
/* B7F678 801084D8 A02E6305 */ sb $t6, 0x6305($at)
/* B7F67C 801084DC 2404000F */ li $a0, 15
/* B7F680 801084E0 0C03B64F */ jal func_800ED93C
/* B7F684 801084E4 24050001 */ li $a1, 1
/* B7F688 801084E8 10000068 */ b .L8010868C
/* B7F68C 801084EC 8FB90024 */ lw $t9, 0x24($sp)
.L801084F0:
/* B7F690 801084F0 2401002C */ li $at, 44
/* B7F694 801084F4 14A10008 */ bne $a1, $at, .L80108518
/* B7F698 801084F8 240F0024 */ li $t7, 36
/* B7F69C 801084FC 26017FFF */ addiu $at, $s0, 0x7fff
/* B7F6A0 80108500 3C048015 */ lui $a0, %hi(D_80153F28) # $a0, 0x8015
/* B7F6A4 80108504 A02F6305 */ sb $t7, 0x6305($at)
/* B7F6A8 80108508 0C00084C */ jal osSyncPrintf
/* B7F6AC 8010850C 24843F28 */ addiu $a0, %lo(D_80153F28) # addiu $a0, $a0, 0x3f28
/* B7F6B0 80108510 1000005E */ b .L8010868C
/* B7F6B4 80108514 8FB90024 */ lw $t9, 0x24($sp)
.L80108518:
/* B7F6B8 80108518 2401002D */ li $at, 45
/* B7F6BC 8010851C 14A10021 */ bne $a1, $at, .L801085A4
/* B7F6C0 80108520 3C048015 */ lui $a0, %hi(D_80153F54) # $a0, 0x8015
/* B7F6C4 80108524 0C00084C */ jal osSyncPrintf
/* B7F6C8 80108528 24843F54 */ addiu $a0, %lo(D_80153F54) # addiu $a0, $a0, 0x3f54
/* B7F6CC 8010852C 0C03B616 */ jal func_800ED858
/* B7F6D0 80108530 24040001 */ li $a0, 1
/* B7F6D4 80108534 0C03B616 */ jal func_800ED858
/* B7F6D8 80108538 24040001 */ li $a0, 1
/* B7F6DC 8010853C 0C03B8FE */ jal Audio_OcaGetDisplayStaff
/* B7F6E0 80108540 00000000 */ nop
/* B7F6E4 80108544 3C038015 */ lui $v1, %hi(D_8014B2FC) # $v1, 0x8015
/* B7F6E8 80108548 26017FFF */ addiu $at, $s0, 0x7fff
/* B7F6EC 8010854C AC2262B9 */ sw $v0, 0x62b9($at)
/* B7F6F0 80108550 2463B2FC */ addiu $v1, %lo(D_8014B2FC) # addiu $v1, $v1, -0x4d04
/* B7F6F4 80108554 A4600000 */ sh $zero, ($v1)
/* B7F6F8 80108558 84780000 */ lh $t8, ($v1)
/* B7F6FC 8010855C 3C048015 */ lui $a0, %hi(D_8014B2F8) # $a0, 0x8015
/* B7F700 80108560 8FA80024 */ lw $t0, 0x24($sp)
/* B7F704 80108564 2484B2F8 */ addiu $a0, %lo(D_8014B2F8) # addiu $a0, $a0, -0x4d08
/* B7F708 80108568 A4980000 */ sh $t8, ($a0)
/* B7F70C 8010856C 84990000 */ lh $t9, ($a0)
/* B7F710 80108570 8D0962B8 */ lw $t1, 0x62b8($t0)
/* B7F714 80108574 0C041A6C */ jal func_801069B0
/* B7F718 80108578 A1390002 */ sb $t9, 2($t1)
/* B7F71C 8010857C 240B0003 */ li $t3, 3
/* B7F720 80108580 26017FFF */ addiu $at, $s0, 0x7fff
/* B7F724 80108584 240A0028 */ li $t2, 40
/* B7F728 80108588 A02B63E8 */ sb $t3, 0x63e8($at)
/* B7F72C 8010858C A02A6305 */ sb $t2, 0x6305($at)
/* B7F730 80108590 2404000D */ li $a0, 13
/* B7F734 80108594 0C03B64F */ jal func_800ED93C
/* B7F738 80108598 24050001 */ li $a1, 1
/* B7F73C 8010859C 1000003B */ b .L8010868C
/* B7F740 801085A0 8FB90024 */ lw $t9, 0x24($sp)
.L801085A4:
/* B7F744 801085A4 2401002E */ li $at, 46
/* B7F748 801085A8 14A10008 */ bne $a1, $at, .L801085CC
/* B7F74C 801085AC 240C0029 */ li $t4, 41
/* B7F750 801085B0 26017FFF */ addiu $at, $s0, 0x7fff
/* B7F754 801085B4 3C048015 */ lui $a0, %hi(D_80153F74) # $a0, 0x8015
/* B7F758 801085B8 A02C6305 */ sb $t4, 0x6305($at)
/* B7F75C 801085BC 0C00084C */ jal osSyncPrintf
/* B7F760 801085C0 24843F74 */ addiu $a0, %lo(D_80153F74) # addiu $a0, $a0, 0x3f74
/* B7F764 801085C4 10000031 */ b .L8010868C
/* B7F768 801085C8 8FB90024 */ lw $t9, 0x24($sp)
.L801085CC:
/* B7F76C 801085CC 2401002F */ li $at, 47
/* B7F770 801085D0 14A10009 */ bne $a1, $at, .L801085F8
/* B7F774 801085D4 3C048015 */ lui $a0, %hi(D_80153FC0)
/* B7F778 801085D8 240D0031 */ li $t5, 49
/* B7F77C 801085DC 26017FFF */ addiu $at, $s0, 0x7fff
/* B7F780 801085E0 3C048015 */ lui $a0, %hi(D_80153FA0) # $a0, 0x8015
/* B7F784 801085E4 A02D6305 */ sb $t5, 0x6305($at)
/* B7F788 801085E8 0C00084C */ jal osSyncPrintf
/* B7F78C 801085EC 24843FA0 */ addiu $a0, %lo(D_80153FA0) # addiu $a0, $a0, 0x3fa0
/* B7F790 801085F0 10000026 */ b .L8010868C
/* B7F794 801085F4 8FB90024 */ lw $t9, 0x24($sp)
.L801085F8:
/* B7F798 801085F8 0C00084C */ jal osSyncPrintf
/* B7F79C 801085FC 24843FC0 */ addiu $a0, %lo(D_80153FC0)
/* B7F7A0 80108600 8FAE0024 */ lw $t6, 0x24($sp)
/* B7F7A4 80108604 3C048015 */ lui $a0, %hi(D_80153FD0) # $a0, 0x8015
/* B7F7A8 80108608 24010001 */ li $at, 1
/* B7F7AC 8010860C 95C563F0 */ lhu $a1, 0x63f0($t6)
/* B7F7B0 80108610 240F0009 */ li $t7, 9
/* B7F7B4 80108614 24843FD0 */ addiu $a0, %lo(D_80153FD0) # addiu $a0, $a0, 0x3fd0
/* B7F7B8 80108618 50A00005 */ beql $a1, $zero, .L80108630
/* B7F7BC 8010861C 26017FFF */ addiu $at, $s0, 0x7fff
/* B7F7C0 80108620 10A10002 */ beq $a1, $at, .L8010862C
/* B7F7C4 80108624 28A10022 */ slti $at, $a1, 0x22
/* B7F7C8 80108628 14200005 */ bnez $at, .L80108640
.L8010862C:
/* B7F7CC 8010862C 26017FFF */ addiu $at, $s0, 0x7fff
.L80108630:
/* B7F7D0 80108630 0C00084C */ jal osSyncPrintf
/* B7F7D4 80108634 A02F6305 */ sb $t7, 0x6305($at)
/* B7F7D8 80108638 10000014 */ b .L8010868C
/* B7F7DC 8010863C 8FB90024 */ lw $t9, 0x24($sp)
.L80108640:
/* B7F7E0 80108640 28A10002 */ slti $at, $a1, 2
/* B7F7E4 80108644 1420000B */ bnez $at, .L80108674
/* B7F7E8 80108648 2408000B */ li $t0, 11
/* B7F7EC 8010864C 28A1000E */ slti $at, $a1, 0xe
/* B7F7F0 80108650 10200008 */ beqz $at, .L80108674
/* B7F7F4 80108654 2418000A */ li $t8, 10
/* B7F7F8 80108658 26017FFF */ addiu $at, $s0, 0x7fff
/* B7F7FC 8010865C 3C048015 */ lui $a0, %hi(D_80153FE4) # $a0, 0x8015
/* B7F800 80108660 A0386305 */ sb $t8, 0x6305($at)
/* B7F804 80108664 0C00084C */ jal osSyncPrintf
/* B7F808 80108668 24843FE4 */ addiu $a0, %lo(D_80153FE4) # addiu $a0, $a0, 0x3fe4
/* B7F80C 8010866C 10000007 */ b .L8010868C
/* B7F810 80108670 8FB90024 */ lw $t9, 0x24($sp)
.L80108674:
/* B7F814 80108674 26017FFF */ addiu $at, $s0, 0x7fff
/* B7F818 80108678 3C048015 */ lui $a0, %hi(D_80153FF8) # $a0, 0x8015
/* B7F81C 8010867C A0286305 */ sb $t0, 0x6305($at)
/* B7F820 80108680 0C00084C */ jal osSyncPrintf
/* B7F824 80108684 24843FF8 */ addiu $a0, %lo(D_80153FF8) # addiu $a0, $a0, 0x3ff8
/* B7F828 80108688 8FB90024 */ lw $t9, 0x24($sp)
.L8010868C:
/* B7F82C 8010868C 3C048015 */ lui $a0, %hi(D_8015400C) # $a0, 0x8015
/* B7F830 80108690 2484400C */ addiu $a0, %lo(D_8015400C) # addiu $a0, $a0, 0x400c
/* B7F834 80108694 0C00084C */ jal osSyncPrintf
/* B7F838 80108698 93256304 */ lbu $a1, 0x6304($t9)
.L8010869C:
/* B7F83C 8010869C 8FBF001C */ lw $ra, 0x1c($sp)
/* B7F840 801086A0 8FB00018 */ lw $s0, 0x18($sp)
/* B7F844 801086A4 27BD0030 */ addiu $sp, $sp, 0x30
/* B7F848 801086A8 03E00008 */ jr $ra
/* B7F84C 801086AC 00000000 */ nop

File diff suppressed because it is too large Load diff

View file

@ -1,142 +0,0 @@
.rdata
glabel D_80154054
.asciz "../z_message_PAL.c"
.balign 4
glabel D_80154068
# Item 32-0
.asciz "32-0\n"
.balign 4
glabel D_80154078
.asciz "../z_message_PAL.c"
.balign 4
glabel D_8015408C
# Item 24%d (%d) {%d}
.asciz "24%d (%d) {%d}\n"
.balign 4
.text
glabel func_80109968
/* B80B08 80109968 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B80B0C 8010996C AFB00020 */ sw $s0, 0x20($sp)
/* B80B10 80109970 30B0FFFF */ andi $s0, $a1, 0xffff
/* B80B14 80109974 24010076 */ li $at, 118
/* B80B18 80109978 AFBF002C */ sw $ra, 0x2c($sp)
/* B80B1C 8010997C AFB20028 */ sw $s2, 0x28($sp)
/* B80B20 80109980 AFB10024 */ sw $s1, 0x24($sp)
/* B80B24 80109984 AFA40030 */ sw $a0, 0x30($sp)
/* B80B28 80109988 AFA50034 */ sw $a1, 0x34($sp)
/* B80B2C 8010998C 16010007 */ bne $s0, $at, .L801099AC
/* B80B30 80109990 AFA60038 */ sw $a2, 0x38($sp)
/* B80B34 80109994 3C010001 */ lui $at, (0x000104F0 >> 16) # lui $at, 1
/* B80B38 80109998 342104F0 */ ori $at, (0x000104F0 & 0xFFFF) # ori $at, $at, 0x4f0
/* B80B3C 8010999C 240300FF */ li $v1, 255
/* B80B40 801099A0 00811021 */ addu $v0, $a0, $at
/* B80B44 801099A4 A043015E */ sb $v1, 0x15e($v0)
/* B80B48 801099A8 A043015F */ sb $v1, 0x15f($v0)
.L801099AC:
/* B80B4C 801099AC 2A010066 */ slti $at, $s0, 0x66
/* B80B50 801099B0 10200029 */ beqz $at, .L80109A58
/* B80B54 801099B4 3C038016 */ lui $v1, %hi(gGameInfo)
/* B80B58 801099B8 3C0F8016 */ lui $t7, %hi(gSaveContext+0x1409) # $t7, 0x8016
/* B80B5C 801099BC 91EFFA69 */ lbu $t7, %lo(gSaveContext+0x1409)($t7)
/* B80B60 801099C0 3C038016 */ lui $v1, %hi(gGameInfo) # $v1, 0x8016
/* B80B64 801099C4 2463FA90 */ addiu $v1, %lo(gGameInfo) # addiu $v1, $v1, -0x570
/* B80B68 801099C8 8C620000 */ lw $v0, ($v1)
/* B80B6C 801099CC 3C198015 */ lui $t9, %hi(D_80153C40)
/* B80B70 801099D0 000FC040 */ sll $t8, $t7, 1
/* B80B74 801099D4 0338C821 */ addu $t9, $t9, $t8
/* B80B78 801099D8 87393C40 */ lh $t9, %lo(D_80153C40)($t9)
/* B80B7C 801099DC 844E0B00 */ lh $t6, 0xb00($v0)
/* B80B80 801099E0 240C0020 */ li $t4, 32
/* B80B84 801099E4 34018000 */ li $at, 32768
/* B80B88 801099E8 01D94023 */ subu $t0, $t6, $t9
/* B80B8C 801099EC A4480522 */ sh $t0, 0x522($v0)
/* B80B90 801099F0 87A9003A */ lh $t1, 0x3a($sp)
/* B80B94 801099F4 8C6B0000 */ lw $t3, ($v1)
/* B80B98 801099F8 3C180075 */ lui $t8, %hi(_icon_item_staticSegmentRomStart) # $t8, 0x75
/* B80B9C 801099FC 252A0006 */ addiu $t2, $t1, 6
/* B80BA0 80109A00 A56A0524 */ sh $t2, 0x524($t3)
/* B80BA4 80109A04 8C6D0000 */ lw $t5, ($v1)
/* B80BA8 80109A08 2718C000 */ addiu $t8, %lo(_icon_item_staticSegmentRomStart) # addiu $t8, $t8, -0x4000
/* B80BAC 80109A0C 240E05C1 */ li $t6, 1473
/* B80BB0 80109A10 A5AC052A */ sh $t4, 0x52a($t5)
/* B80BB4 80109A14 8FB10030 */ lw $s1, 0x30($sp)
/* B80BB8 80109A18 00107B00 */ sll $t7, $s0, 0xc
/* B80BBC 80109A1C 3C078015 */ lui $a3, %hi(D_80154054) # $a3, 0x8015
/* B80BC0 80109A20 263120D8 */ addiu $s1, $s1, 0x20d8
/* B80BC4 80109A24 02219021 */ addu $s2, $s1, $at
/* B80BC8 80109A28 8E4462B0 */ lw $a0, 0x62b0($s2)
/* B80BCC 80109A2C AFAE0010 */ sw $t6, 0x10($sp)
/* B80BD0 80109A30 24E74054 */ addiu $a3, %lo(D_80154054) # addiu $a3, $a3, 0x4054
/* B80BD4 80109A34 01F82821 */ addu $a1, $t7, $t8
/* B80BD8 80109A38 24061000 */ li $a2, 4096
/* B80BDC 80109A3C 0C0006A8 */ jal DmaMgr_SendRequest1
/* B80BE0 80109A40 24841000 */ addiu $a0, $a0, 0x1000
/* B80BE4 80109A44 3C048015 */ lui $a0, %hi(D_80154068) # $a0, 0x8015
/* B80BE8 80109A48 0C00084C */ jal osSyncPrintf
/* B80BEC 80109A4C 24844068 */ addiu $a0, %lo(D_80154068) # addiu $a0, $a0, 0x4068
/* B80BF0 80109A50 1000002F */ b .L80109B10
/* B80BF4 80109A54 964B63CE */ lhu $t3, 0x63ce($s2)
.L80109A58:
/* B80BF8 80109A58 3C088016 */ lui $t0, %hi(gSaveContext+0x1409) # $t0, 0x8016
/* B80BFC 80109A5C 9108FA69 */ lbu $t0, %lo(gSaveContext+0x1409)($t0)
/* B80C00 80109A60 2463FA90 */ addiu $v1, %lo(gGameInfo)
/* B80C04 80109A64 8C620000 */ lw $v0, ($v1)
/* B80C08 80109A68 3C0A8015 */ lui $t2, %hi(D_80153C48)
/* B80C0C 80109A6C 00084840 */ sll $t1, $t0, 1
/* B80C10 80109A70 01495021 */ addu $t2, $t2, $t1
/* B80C14 80109A74 854A3C48 */ lh $t2, %lo(D_80153C48)($t2)
/* B80C18 80109A78 84590B00 */ lh $t9, 0xb00($v0)
/* B80C1C 80109A7C 24180018 */ li $t8, 24
/* B80C20 80109A80 34018000 */ li $at, 32768
/* B80C24 80109A84 032A5823 */ subu $t3, $t9, $t2
/* B80C28 80109A88 A44B0522 */ sh $t3, 0x522($v0)
/* B80C2C 80109A8C 87AC003A */ lh $t4, 0x3a($sp)
/* B80C30 80109A90 8C6F0000 */ lw $t7, ($v1)
/* B80C34 80109A94 001040C0 */ sll $t0, $s0, 3
/* B80C38 80109A98 258D000A */ addiu $t5, $t4, 0xa
/* B80C3C 80109A9C A5ED0524 */ sh $t5, 0x524($t7)
/* B80C40 80109AA0 8C6E0000 */ lw $t6, ($v1)
/* B80C44 80109AA4 01104021 */ addu $t0, $t0, $s0
/* B80C48 80109AA8 00084200 */ sll $t0, $t0, 8
/* B80C4C 80109AAC A5D8052A */ sh $t8, 0x52a($t6)
/* B80C50 80109AB0 8FB10030 */ lw $s1, 0x30($sp)
/* B80C54 80109AB4 3C19007D */ lui $t9, %hi(_icon_item_24_staticSegmentRomStart) # $t9, 0x7d
/* B80C58 80109AB8 27396000 */ addiu $t9, %lo(_icon_item_24_staticSegmentRomStart) # addiu $t9, $t9, 0x6000
/* B80C5C 80109ABC 263120D8 */ addiu $s1, $s1, 0x20d8
/* B80C60 80109AC0 02219021 */ addu $s2, $s1, $at
/* B80C64 80109AC4 3C01FFFC */ lui $at, (0xFFFC6A00 >> 16) # lui $at, 0xfffc
/* B80C68 80109AC8 8E4462B0 */ lw $a0, 0x62b0($s2)
/* B80C6C 80109ACC 34216A00 */ ori $at, (0xFFFC6A00 & 0xFFFF) # ori $at, $at, 0x6a00
/* B80C70 80109AD0 01014821 */ addu $t1, $t0, $at
/* B80C74 80109AD4 240A05CA */ li $t2, 1482
/* B80C78 80109AD8 3C078015 */ lui $a3, %hi(D_80154078) # $a3, 0x8015
/* B80C7C 80109ADC 24E74078 */ addiu $a3, %lo(D_80154078) # addiu $a3, $a3, 0x4078
/* B80C80 80109AE0 AFAA0010 */ sw $t2, 0x10($sp)
/* B80C84 80109AE4 01392821 */ addu $a1, $t1, $t9
/* B80C88 80109AE8 24060900 */ li $a2, 2304
/* B80C8C 80109AEC 0C0006A8 */ jal DmaMgr_SendRequest1
/* B80C90 80109AF0 24841000 */ addiu $a0, $a0, 0x1000
/* B80C94 80109AF4 3C048015 */ lui $a0, %hi(D_8015408C) # $a0, 0x8015
/* B80C98 80109AF8 2484408C */ addiu $a0, %lo(D_8015408C) # addiu $a0, $a0, 0x408c
/* B80C9C 80109AFC 02002825 */ move $a1, $s0
/* B80CA0 80109B00 2606FF94 */ addiu $a2, $s0, -0x6c
/* B80CA4 80109B04 0C00084C */ jal osSyncPrintf
/* B80CA8 80109B08 24070054 */ li $a3, 84
/* B80CAC 80109B0C 964B63CE */ lhu $t3, 0x63ce($s2)
.L80109B10:
/* B80CB0 80109B10 26217FFF */ addiu $at, $s1, 0x7fff
/* B80CB4 80109B14 240D0001 */ li $t5, 1
/* B80CB8 80109B18 256C0001 */ addiu $t4, $t3, 1
/* B80CBC 80109B1C A42C63CF */ sh $t4, 0x63cf($at)
/* B80CC0 80109B20 A02D63E7 */ sb $t5, 0x63e7($at)
/* B80CC4 80109B24 8FBF002C */ lw $ra, 0x2c($sp)
/* B80CC8 80109B28 8FB20028 */ lw $s2, 0x28($sp)
/* B80CCC 80109B2C 8FB10024 */ lw $s1, 0x24($sp)
/* B80CD0 80109B30 8FB00020 */ lw $s0, 0x20($sp)
/* B80CD4 80109B34 03E00008 */ jr $ra
/* B80CD8 80109B38 27BD0030 */ addiu $sp, $sp, 0x30

File diff suppressed because it is too large Load diff

View file

@ -1,434 +0,0 @@
.rdata
glabel D_80154230
.asciz "\x1b[33m"
.balign 4
glabel D_80154238
.asciz " z_message.c \n"
.balign 4
glabel D_80154290
.asciz "\x1b[m"
.balign 4
glabel D_80154294
.asciz "../z_message_PAL.c"
.balign 4
glabel D_801542A8
.asciz "../z_message_PAL.c"
.balign 4
glabel D_801542BC
.asciz "../z_message_PAL.c"
.balign 4
glabel D_801542D0
.asciz "../z_message_PAL.c"
.balign 4
glabel D_801542E4
# Text Box Type%d
.asciz "%d\n"
.balign 4
glabel D_801542F8
.asciz "../z_message_PAL.c"
.balign 4
.text
glabel func_8010B0C0
/* B82260 8010B0C0 27BDFFB8 */ addiu $sp, $sp, -0x48
/* B82264 8010B0C4 3C0F0001 */ lui $t7, 1
/* B82268 8010B0C8 AFBF0024 */ sw $ra, 0x24($sp)
/* B8226C 8010B0CC AFB00020 */ sw $s0, 0x20($sp)
/* B82270 8010B0D0 AFA40048 */ sw $a0, 0x48($sp)
/* B82274 8010B0D4 AFA5004C */ sw $a1, 0x4c($sp)
/* B82278 8010B0D8 01E47821 */ addu $t7, $t7, $a0
/* B8227C 8010B0DC 91EF03DC */ lbu $t7, 0x3dc($t7)
/* B82280 8010B0E0 3C108016 */ lui $s0, %hi(gGameInfo) # $s0, 0x8016
/* B82284 8010B0E4 30A7FFFF */ andi $a3, $a1, 0xffff
/* B82288 8010B0E8 15E00005 */ bnez $t7, .L8010B100
/* B8228C 8010B0EC 2610FA90 */ addiu $s0, %lo(gGameInfo) # addiu $s0, $s0, -0x570
/* B82290 8010B0F0 3C058016 */ lui $a1, %hi(gSaveContext) # $a1, 0x8016
/* B82294 8010B0F4 24A5E660 */ addiu $a1, %lo(gSaveContext) # addiu $a1, $a1, -0x19a0
/* B82298 8010B0F8 94B813EA */ lhu $t8, 0x13ea($a1)
/* B8229C 8010B0FC A4B813EE */ sh $t8, 0x13ee($a1)
.L8010B100:
/* B822A0 8010B100 8E030000 */ lw $v1, ($s0)
/* B822A4 8010B104 3C058016 */ lui $a1, %hi(gSaveContext) # $a1, 0x8016
/* B822A8 8010B108 24010010 */ li $at, 16
/* B822AC 8010B10C 847904B2 */ lh $t9, 0x4b2($v1)
/* B822B0 8010B110 24A5E660 */ addiu $a1, %lo(gSaveContext) # addiu $a1, $a1, -0x19a0
/* B822B4 8010B114 24040005 */ li $a0, 5
/* B822B8 8010B118 17210007 */ bne $t9, $at, .L8010B138
/* B822BC 8010B11C 00000000 */ nop
/* B822C0 8010B120 0C020978 */ jal Interface_ChangeAlpha
/* B822C4 8010B124 A7A7004E */ sh $a3, 0x4e($sp)
/* B822C8 8010B128 3C058016 */ lui $a1, %hi(gSaveContext) # $a1, 0x8016
/* B822CC 8010B12C 24A5E660 */ addiu $a1, %lo(gSaveContext) # addiu $a1, $a1, -0x19a0
/* B822D0 8010B130 97A7004E */ lhu $a3, 0x4e($sp)
/* B822D4 8010B134 8E030000 */ lw $v1, ($s0)
.L8010B138:
/* B822D8 8010B138 3C088015 */ lui $t0, %hi(D_8014B308) # $t0, 0x8015
/* B822DC 8010B13C 2508B308 */ addiu $t0, %lo(D_8014B308) # addiu $t0, $t0, -0x4cf8
/* B822E0 8010B140 A5000000 */ sh $zero, ($t0)
/* B822E4 8010B144 850A0000 */ lh $t2, ($t0)
/* B822E8 8010B148 3C048015 */ lui $a0, %hi(D_8014B300) # $a0, 0x8015
/* B822EC 8010B14C 3C068015 */ lui $a2, %hi(D_8014B2F4) # $a2, 0x8015
/* B822F0 8010B150 24C6B2F4 */ addiu $a2, %lo(D_8014B2F4) # addiu $a2, $a2, -0x4d0c
/* B822F4 8010B154 2484B300 */ addiu $a0, %lo(D_8014B300) # addiu $a0, $a0, -0x4d00
/* B822F8 8010B158 3C018015 */ lui $at, %hi(D_8014B318) # $at, 0x8015
/* B822FC 8010B15C A08A0000 */ sb $t2, ($a0)
/* B82300 8010B160 A0CA0000 */ sb $t2, ($a2)
/* B82304 8010B164 314B00FF */ andi $t3, $t2, 0xff
/* B82308 8010B168 A42BB318 */ sh $t3, %lo(D_8014B318)($at)
/* B8230C 8010B16C 28E10500 */ slti $at, $a3, 0x500
/* B82310 8010B170 14200011 */ bnez $at, .L8010B1B8
/* B82314 8010B174 00E01025 */ move $v0, $a3
/* B82318 8010B178 28410600 */ slti $at, $v0, 0x600
/* B8231C 8010B17C 1020000E */ beqz $at, .L8010B1B8
/* B82320 8010B180 240C0001 */ li $t4, 1
/* B82324 8010B184 A50C0000 */ sh $t4, ($t0)
/* B82328 8010B188 240D0055 */ li $t5, 85
/* B8232C 8010B18C A46D0B06 */ sh $t5, 0xb06($v1)
/* B82330 8010B190 8E0F0000 */ lw $t7, ($s0)
/* B82334 8010B194 240E0006 */ li $t6, 6
/* B82338 8010B198 24180014 */ li $t8, 20
/* B8233C 8010B19C A5EE0B04 */ sh $t6, 0xb04($t7)
/* B82340 8010B1A0 8E190000 */ lw $t9, ($s0)
/* B82344 8010B1A4 24090030 */ li $t1, 48
/* B82348 8010B1A8 A7380B00 */ sh $t8, 0xb00($t9)
/* B8234C 8010B1AC 8E0A0000 */ lw $t2, ($s0)
/* B82350 8010B1B0 10000009 */ b .L8010B1D8
/* B82354 8010B1B4 A5490496 */ sh $t1, 0x496($t2)
.L8010B1B8:
/* B82358 8010B1B8 240B004B */ li $t3, 75
/* B8235C 8010B1BC A46B0B06 */ sh $t3, 0xb06($v1)
/* B82360 8010B1C0 8E0D0000 */ lw $t5, ($s0)
/* B82364 8010B1C4 240C000C */ li $t4, 12
/* B82368 8010B1C8 240E0041 */ li $t6, 65
/* B8236C 8010B1CC A5AC0B04 */ sh $t4, 0xb04($t5)
/* B82370 8010B1D0 8E0F0000 */ lw $t7, ($s0)
/* B82374 8010B1D4 A5EE0B00 */ sh $t6, 0xb00($t7)
.L8010B1D8:
/* B82378 8010B1D8 240100C2 */ li $at, 194
/* B8237C 8010B1DC 10410004 */ beq $v0, $at, .L8010B1F0
/* B82380 8010B1E0 3C03F000 */ lui $v1, 0xf000
/* B82384 8010B1E4 240100FA */ li $at, 250
/* B82388 8010B1E8 1441000E */ bne $v0, $at, .L8010B224
/* B8238C 8010B1EC 8FB00048 */ lw $s0, 0x48($sp)
.L8010B1F0:
/* B82390 8010B1F0 8CB800A4 */ lw $t8, 0xa4($a1)
/* B82394 8010B1F4 8FB00048 */ lw $s0, 0x48($sp)
/* B82398 8010B1F8 34018000 */ li $at, 32768
/* B8239C 8010B1FC 0303C824 */ and $t9, $t8, $v1
/* B823A0 8010B200 03234824 */ and $t1, $t9, $v1
/* B823A4 8010B204 00095702 */ srl $t2, $t1, 0x1c
/* B823A8 8010B208 004A3821 */ addu $a3, $v0, $t2
/* B823AC 8010B20C 261020D8 */ addiu $s0, $s0, 0x20d8
/* B823B0 8010B210 02015821 */ addu $t3, $s0, $at
/* B823B4 8010B214 30E7FFFF */ andi $a3, $a3, 0xffff
/* B823B8 8010B218 00E01025 */ move $v0, $a3
/* B823BC 8010B21C 1000001D */ b .L8010B294
/* B823C0 8010B220 AFAB002C */ sw $t3, 0x2c($sp)
.L8010B224:
/* B823C4 8010B224 261020D8 */ addiu $s0, $s0, 0x20d8
/* B823C8 8010B228 34018000 */ li $at, 32768
/* B823CC 8010B22C 02016021 */ addu $t4, $s0, $at
/* B823D0 8010B230 AFAC002C */ sw $t4, 0x2c($sp)
/* B823D4 8010B234 958362F8 */ lhu $v1, 0x62f8($t4)
/* B823D8 8010B238 2401000C */ li $at, 12
/* B823DC 8010B23C 3C0E8012 */ lui $t6, %hi(gBitFlags+8) # $t6, 0x8012
/* B823E0 8010B240 1461000B */ bne $v1, $at, .L8010B270
/* B823E4 8010B244 3C0F8012 */ lui $t7, %hi(gEquipShifts) # $t7, 0x8012
/* B823E8 8010B248 8DCE7128 */ lw $t6, %lo(gBitFlags+8)($t6)
/* B823EC 8010B24C 91EF71F0 */ lbu $t7, %lo(gEquipShifts)($t7)
/* B823F0 8010B250 94B9009C */ lhu $t9, 0x9c($a1)
/* B823F4 8010B254 01EEC004 */ sllv $t8, $t6, $t7
/* B823F8 8010B258 03194824 */ and $t1, $t8, $t9
/* B823FC 8010B25C 51200005 */ beql $t1, $zero, .L8010B274
/* B82400 8010B260 240100B4 */ li $at, 180
/* B82404 8010B264 2407000B */ li $a3, 11
/* B82408 8010B268 1000000A */ b .L8010B294
/* B8240C 8010B26C 2402000B */ li $v0, 11
.L8010B270:
/* B82410 8010B270 240100B4 */ li $at, 180
.L8010B274:
/* B82414 8010B274 54610008 */ bnel $v1, $at, .L8010B298
/* B82418 8010B278 24014077 */ li $at, 16503
/* B8241C 8010B27C 94AA0EE6 */ lhu $t2, 0xee6($a1)
/* B82420 8010B280 314B0040 */ andi $t3, $t2, 0x40
/* B82424 8010B284 51600004 */ beql $t3, $zero, .L8010B298
/* B82428 8010B288 24014077 */ li $at, 16503
/* B8242C 8010B28C 240700B5 */ li $a3, 181
/* B82430 8010B290 240200B5 */ li $v0, 181
.L8010B294:
/* B82434 8010B294 24014077 */ li $at, 16503
.L8010B298:
/* B82438 8010B298 1041000A */ beq $v0, $at, .L8010B2C4
/* B8243C 8010B29C 24040001 */ li $a0, 1
/* B82440 8010B2A0 2401407A */ li $at, 16506
/* B82444 8010B2A4 10410007 */ beq $v0, $at, .L8010B2C4
/* B82448 8010B2A8 24012061 */ li $at, 8289
/* B8244C 8010B2AC 10410005 */ beq $v0, $at, .L8010B2C4
/* B82450 8010B2B0 24015035 */ li $at, 20533
/* B82454 8010B2B4 10410003 */ beq $v0, $at, .L8010B2C4
/* B82458 8010B2B8 240140AC */ li $at, 16556
/* B8245C 8010B2BC 5441000B */ bnel $v0, $at, .L8010B2EC
/* B82460 8010B2C0 26017FFF */ addiu $at, $s0, 0x7fff
.L8010B2C4:
/* B82464 8010B2C4 AFA20030 */ sw $v0, 0x30($sp)
/* B82468 8010B2C8 0C020978 */ jal Interface_ChangeAlpha
/* B8246C 8010B2CC A7A7004E */ sh $a3, 0x4e($sp)
/* B82470 8010B2D0 3C058016 */ lui $a1, %hi(gSaveContext) # $a1, 0x8016
/* B82474 8010B2D4 3C088015 */ lui $t0, %hi(D_8014B308) # $t0, 0x8015
/* B82478 8010B2D8 2508B308 */ addiu $t0, %lo(D_8014B308) # addiu $t0, $t0, -0x4cf8
/* B8247C 8010B2DC 24A5E660 */ addiu $a1, %lo(gSaveContext) # addiu $a1, $a1, -0x19a0
/* B82480 8010B2E0 8FA20030 */ lw $v0, 0x30($sp)
/* B82484 8010B2E4 97A7004E */ lhu $a3, 0x4e($sp)
/* B82488 8010B2E8 26017FFF */ addiu $at, $s0, 0x7fff
.L8010B2EC:
/* B8248C 8010B2EC A42762F9 */ sh $a3, 0x62f9($at)
/* B82490 8010B2F0 24012030 */ li $at, 8240
/* B82494 8010B2F4 14410013 */ bne $v0, $at, .L8010B344
/* B82498 8010B2F8 3C048015 */ lui $a0, %hi(D_80154230) # $a0, 0x8015
/* B8249C 8010B2FC 24844230 */ addiu $a0, %lo(D_80154230) # addiu $a0, $a0, 0x4230
/* B824A0 8010B300 0C00084C */ jal osSyncPrintf
/* B824A4 8010B304 A7A7004E */ sh $a3, 0x4e($sp)
/* B824A8 8010B308 3C048015 */ lui $a0, %hi(D_80154238) # $a0, 0x8015
/* B824AC 8010B30C 0C00084C */ jal osSyncPrintf
/* B824B0 8010B310 24844238 */ addiu $a0, %lo(D_80154238) # addiu $a0, $a0, 0x4238
/* B824B4 8010B314 3C048015 */ lui $a0, %hi(D_80154290) # $a0, 0x8015
/* B824B8 8010B318 0C00084C */ jal osSyncPrintf
/* B824BC 8010B31C 24844290 */ addiu $a0, %lo(D_80154290) # addiu $a0, $a0, 0x4290
/* B824C0 8010B320 3C058016 */ lui $a1, %hi(gSaveContext) # $a1, 0x8016
/* B824C4 8010B324 24A5E660 */ addiu $a1, %lo(gSaveContext) # addiu $a1, $a1, -0x19a0
/* B824C8 8010B328 3C088015 */ lui $t0, %hi(D_8014B308) # $t0, 0x8015
/* B824CC 8010B32C 97A7004E */ lhu $a3, 0x4e($sp)
/* B824D0 8010B330 2508B308 */ addiu $t0, %lo(D_8014B308) # addiu $t0, $t0, -0x4cf8
/* B824D4 8010B334 A4A01400 */ sh $zero, 0x1400($a1)
/* B824D8 8010B338 A4A013FE */ sh $zero, 0x13fe($a1)
/* B824DC 8010B33C A4A013FC */ sh $zero, 0x13fc($a1)
/* B824E0 8010B340 A4A013FA */ sh $zero, 0x13fa($a1)
.L8010B344:
/* B824E4 8010B344 850C0000 */ lh $t4, ($t0)
/* B824E8 8010B348 8FA40048 */ lw $a0, 0x48($sp)
/* B824EC 8010B34C 51800018 */ beql $t4, $zero, .L8010B3B0
/* B824F0 8010B350 90A21409 */ lbu $v0, 0x1409($a1)
/* B824F4 8010B354 0C041D8A */ jal func_80107628
/* B824F8 8010B358 30E5FFFF */ andi $a1, $a3, 0xffff
/* B824FC 8010B35C 8FA20048 */ lw $v0, 0x48($sp)
/* B82500 8010B360 26017FFF */ addiu $at, $s0, 0x7fff
/* B82504 8010B364 3C0F0097 */ lui $t7, %hi(_staff_message_data_staticSegmentRomStart) # $t7, 0x97
/* B82508 8010B368 8C4D2204 */ lw $t5, 0x2204($v0)
/* B8250C 8010B36C 25EF3000 */ addiu $t7, %lo(_staff_message_data_staticSegmentRomStart) # addiu $t7, $t7, 0x3000
/* B82510 8010B370 3C078015 */ lui $a3, %hi(D_80154294) # $a3, 0x8015
/* B82514 8010B374 AC2D6301 */ sw $t5, 0x6301($at)
/* B82518 8010B378 8C4E2200 */ lw $t6, 0x2200($v0)
/* B8251C 8010B37C 3401DC88 */ li $at, 56456
/* B82520 8010B380 241807A2 */ li $t8, 1954
/* B82524 8010B384 24422200 */ addiu $v0, $v0, 0x2200
/* B82528 8010B388 8C460004 */ lw $a2, 4($v0)
/* B8252C 8010B38C AFA20030 */ sw $v0, 0x30($sp)
/* B82530 8010B390 AFB80010 */ sw $t8, 0x10($sp)
/* B82534 8010B394 00412021 */ addu $a0, $v0, $at
/* B82538 8010B398 24E74294 */ addiu $a3, %lo(D_80154294) # addiu $a3, $a3, 0x4294
/* B8253C 8010B39C 0C0006A8 */ jal DmaMgr_SendRequest1
/* B82540 8010B3A0 01CF2821 */ addu $a1, $t6, $t7
/* B82544 8010B3A4 1000004A */ b .L8010B4D0
/* B82548 8010B3A8 8FA20030 */ lw $v0, 0x30($sp)
/* B8254C 8010B3AC 90A21409 */ lbu $v0, 0x1409($a1)
.L8010B3B0:
/* B82550 8010B3B0 8FA40048 */ lw $a0, 0x48($sp)
/* B82554 8010B3B4 24010001 */ li $at, 1
/* B82558 8010B3B8 14400017 */ bnez $v0, .L8010B418
/* B8255C 8010B3BC 00000000 */ nop
/* B82560 8010B3C0 0C041D12 */ jal func_80107448
/* B82564 8010B3C4 30E5FFFF */ andi $a1, $a3, 0xffff
/* B82568 8010B3C8 8FA20048 */ lw $v0, 0x48($sp)
/* B8256C 8010B3CC 26017FFF */ addiu $at, $s0, 0x7fff
/* B82570 8010B3D0 3C0A008C */ lui $t2, %hi(_nes_message_data_staticSegmentRomStart) # $t2, 0x8c
/* B82574 8010B3D4 8C592204 */ lw $t9, 0x2204($v0)
/* B82578 8010B3D8 254A6000 */ addiu $t2, %lo(_nes_message_data_staticSegmentRomStart) # addiu $t2, $t2, 0x6000
/* B8257C 8010B3DC 3C078015 */ lui $a3, %hi(D_801542A8) # $a3, 0x8015
/* B82580 8010B3E0 AC396301 */ sw $t9, 0x6301($at)
/* B82584 8010B3E4 8C492200 */ lw $t1, 0x2200($v0)
/* B82588 8010B3E8 3401DC88 */ li $at, 56456
/* B8258C 8010B3EC 240B07AE */ li $t3, 1966
/* B82590 8010B3F0 24422200 */ addiu $v0, $v0, 0x2200
/* B82594 8010B3F4 8C460004 */ lw $a2, 4($v0)
/* B82598 8010B3F8 AFA20030 */ sw $v0, 0x30($sp)
/* B8259C 8010B3FC AFAB0010 */ sw $t3, 0x10($sp)
/* B825A0 8010B400 00412021 */ addu $a0, $v0, $at
/* B825A4 8010B404 24E742A8 */ addiu $a3, %lo(D_801542A8) # addiu $a3, $a3, 0x42a8
/* B825A8 8010B408 0C0006A8 */ jal DmaMgr_SendRequest1
/* B825AC 8010B40C 012A2821 */ addu $a1, $t1, $t2
/* B825B0 8010B410 1000002F */ b .L8010B4D0
/* B825B4 8010B414 8FA20030 */ lw $v0, 0x30($sp)
.L8010B418:
/* B825B8 8010B418 14410018 */ bne $v0, $at, .L8010B47C
/* B825BC 8010B41C 8FA40048 */ lw $a0, 0x48($sp)
/* B825C0 8010B420 8FA40048 */ lw $a0, 0x48($sp)
/* B825C4 8010B424 0C041D12 */ jal func_80107448
/* B825C8 8010B428 30E5FFFF */ andi $a1, $a3, 0xffff
/* B825CC 8010B42C 8FA20048 */ lw $v0, 0x48($sp)
/* B825D0 8010B430 26017FFF */ addiu $at, $s0, 0x7fff
/* B825D4 8010B434 3C0E0090 */ lui $t6, %hi(_ger_message_data_staticSegmentRomStart) # $t6, 0x90
/* B825D8 8010B438 8C4C2204 */ lw $t4, 0x2204($v0)
/* B825DC 8010B43C 25CEF000 */ addiu $t6, %lo(_ger_message_data_staticSegmentRomStart) # addiu $t6, $t6, -0x1000
/* B825E0 8010B440 3C078015 */ lui $a3, %hi(D_801542BC) # $a3, 0x8015
/* B825E4 8010B444 AC2C6301 */ sw $t4, 0x6301($at)
/* B825E8 8010B448 8C4D2200 */ lw $t5, 0x2200($v0)
/* B825EC 8010B44C 3401DC88 */ li $at, 56456
/* B825F0 8010B450 240F07BA */ li $t7, 1978
/* B825F4 8010B454 24422200 */ addiu $v0, $v0, 0x2200
/* B825F8 8010B458 8C460004 */ lw $a2, 4($v0)
/* B825FC 8010B45C AFA20030 */ sw $v0, 0x30($sp)
/* B82600 8010B460 AFAF0010 */ sw $t7, 0x10($sp)
/* B82604 8010B464 00412021 */ addu $a0, $v0, $at
/* B82608 8010B468 24E742BC */ addiu $a3, %lo(D_801542BC) # addiu $a3, $a3, 0x42bc
/* B8260C 8010B46C 0C0006A8 */ jal DmaMgr_SendRequest1
/* B82610 8010B470 01AE2821 */ addu $a1, $t5, $t6
/* B82614 8010B474 10000016 */ b .L8010B4D0
/* B82618 8010B478 8FA20030 */ lw $v0, 0x30($sp)
.L8010B47C:
/* B8261C 8010B47C 0C041D12 */ jal func_80107448
/* B82620 8010B480 30E5FFFF */ andi $a1, $a3, 0xffff
/* B82624 8010B484 8FA20048 */ lw $v0, 0x48($sp)
/* B82628 8010B488 26017FFF */ addiu $at, $s0, 0x7fff
/* B8262C 8010B48C 3C090094 */ lui $t1, %hi(_fra_message_data_staticSegmentRomStart) # $t1, 0x94
/* B82630 8010B490 8C582204 */ lw $t8, 0x2204($v0)
/* B82634 8010B494 2529B000 */ addiu $t1, %lo(_fra_message_data_staticSegmentRomStart) # addiu $t1, $t1, -0x5000
/* B82638 8010B498 3C078015 */ lui $a3, %hi(D_801542D0) # $a3, 0x8015
/* B8263C 8010B49C AC386301 */ sw $t8, 0x6301($at)
/* B82640 8010B4A0 8C592200 */ lw $t9, 0x2200($v0)
/* B82644 8010B4A4 3401DC88 */ li $at, 56456
/* B82648 8010B4A8 240A07C6 */ li $t2, 1990
/* B8264C 8010B4AC 24422200 */ addiu $v0, $v0, 0x2200
/* B82650 8010B4B0 8C460004 */ lw $a2, 4($v0)
/* B82654 8010B4B4 AFA20030 */ sw $v0, 0x30($sp)
/* B82658 8010B4B8 AFAA0010 */ sw $t2, 0x10($sp)
/* B8265C 8010B4BC 00412021 */ addu $a0, $v0, $at
/* B82660 8010B4C0 24E742D0 */ addiu $a3, %lo(D_801542D0) # addiu $a3, $a3, 0x42d0
/* B82664 8010B4C4 0C0006A8 */ jal DmaMgr_SendRequest1
/* B82668 8010B4C8 03292821 */ addu $a1, $t9, $t1
/* B8266C 8010B4CC 8FA20030 */ lw $v0, 0x30($sp)
.L8010B4D0:
/* B82670 8010B4D0 904B0008 */ lbu $t3, 8($v0)
/* B82674 8010B4D4 26017FFF */ addiu $at, $s0, 0x7fff
/* B82678 8010B4D8 3C048015 */ lui $a0, %hi(D_801542E4) # $a0, 0x8015
/* B8267C 8010B4DC A02B62FD */ sb $t3, 0x62fd($at)
/* B82680 8010B4E0 8FAC002C */ lw $t4, 0x2c($sp)
/* B82684 8010B4E4 248442E4 */ addiu $a0, %lo(D_801542E4) # addiu $a0, $a0, 0x42e4
/* B82688 8010B4E8 918D62FC */ lbu $t5, 0x62fc($t4)
/* B8268C 8010B4EC 000D7103 */ sra $t6, $t5, 4
/* B82690 8010B4F0 A02E62FE */ sb $t6, 0x62fe($at)
/* B82694 8010B4F4 8FAF002C */ lw $t7, 0x2c($sp)
/* B82698 8010B4F8 91F862FC */ lbu $t8, 0x62fc($t7)
/* B8269C 8010B4FC 3319000F */ andi $t9, $t8, 0xf
/* B826A0 8010B500 A03962FF */ sb $t9, 0x62ff($at)
/* B826A4 8010B504 8FA9002C */ lw $t1, 0x2c($sp)
/* B826A8 8010B508 912562FD */ lbu $a1, 0x62fd($t1)
/* B826AC 8010B50C 0C00084C */ jal osSyncPrintf
/* B826B0 8010B510 A7A5003E */ sh $a1, 0x3e($sp)
/* B826B4 8010B514 87A3003E */ lh $v1, 0x3e($sp)
/* B826B8 8010B518 8FAA002C */ lw $t2, 0x2c($sp)
/* B826BC 8010B51C 3C0C8015 */ lui $t4, %hi(D_80153C50) # $t4, 0x8015
/* B826C0 8010B520 28610004 */ slti $at, $v1, 4
/* B826C4 8010B524 10200046 */ beqz $at, .L8010B640
/* B826C8 8010B528 00035840 */ sll $t3, $v1, 1
/* B826CC 8010B52C 258C3C50 */ addiu $t4, %lo(D_80153C50) # addiu $t4, $t4, 0x3c50
/* B826D0 8010B530 016C1021 */ addu $v0, $t3, $t4
/* B826D4 8010B534 844D0000 */ lh $t5, ($v0)
/* B826D8 8010B538 3C0F008C */ lui $t7, %hi(_message_staticSegmentRomStart) # $t7, 0x8c
/* B826DC 8010B53C 25EFA000 */ addiu $t7, %lo(_message_staticSegmentRomStart) # addiu $t7, $t7, -0x6000
/* B826E0 8010B540 8D4462B0 */ lw $a0, 0x62b0($t2)
/* B826E4 8010B544 3C078015 */ lui $a3, %hi(D_801542F8) # $a3, 0x8015
/* B826E8 8010B548 241807D6 */ li $t8, 2006
/* B826EC 8010B54C 000D7300 */ sll $t6, $t5, 0xc
/* B826F0 8010B550 01CF2821 */ addu $a1, $t6, $t7
/* B826F4 8010B554 AFB80010 */ sw $t8, 0x10($sp)
/* B826F8 8010B558 24E742F8 */ addiu $a3, %lo(D_801542F8) # addiu $a3, $a3, 0x42f8
/* B826FC 8010B55C AFA20030 */ sw $v0, 0x30($sp)
/* B82700 8010B560 0C0006A8 */ jal DmaMgr_SendRequest1
/* B82704 8010B564 24061000 */ li $a2, 4096
/* B82708 8010B568 8FA20030 */ lw $v0, 0x30($sp)
/* B8270C 8010B56C 3C198015 */ lui $t9, %hi(D_80153C50) # $t9, 0x8015
/* B82710 8010B570 27393C50 */ addiu $t9, %lo(D_80153C50) # addiu $t9, $t9, 0x3c50
/* B82714 8010B574 14590006 */ bne $v0, $t9, .L8010B590
/* B82718 8010B578 3C098015 */ lui $t1, %hi(D_80153C52) # $t1, 0x8015
/* B8271C 8010B57C 26017FFF */ addiu $at, $s0, 0x7fff
/* B82720 8010B580 A42063FF */ sh $zero, 0x63ff($at)
/* B82724 8010B584 A4206401 */ sh $zero, 0x6401($at)
/* B82728 8010B588 1000001A */ b .L8010B5F4
/* B8272C 8010B58C A4206403 */ sh $zero, 0x6403($at)
.L8010B590:
/* B82730 8010B590 25293C52 */ addiu $t1, %lo(D_80153C52) # addiu $t1, $t1, 0x3c52
/* B82734 8010B594 14490009 */ bne $v0, $t1, .L8010B5BC
/* B82738 8010B598 3C0D8015 */ lui $t5, %hi(D_80153C54) # $t5, 0x8015
/* B8273C 8010B59C 26017FFF */ addiu $at, $s0, 0x7fff
/* B82740 8010B5A0 240A0046 */ li $t2, 70
/* B82744 8010B5A4 240B0032 */ li $t3, 50
/* B82748 8010B5A8 240C001E */ li $t4, 30
/* B8274C 8010B5AC A42A63FF */ sh $t2, 0x63ff($at)
/* B82750 8010B5B0 A42B6401 */ sh $t3, 0x6401($at)
/* B82754 8010B5B4 1000000F */ b .L8010B5F4
/* B82758 8010B5B8 A42C6403 */ sh $t4, 0x6403($at)
.L8010B5BC:
/* B8275C 8010B5BC 25AD3C54 */ addiu $t5, %lo(D_80153C54) # addiu $t5, $t5, 0x3c54
/* B82760 8010B5C0 144D0008 */ bne $v0, $t5, .L8010B5E4
/* B82764 8010B5C4 241800FF */ li $t8, 255
/* B82768 8010B5C8 26017FFF */ addiu $at, $s0, 0x7fff
/* B8276C 8010B5CC 240E000A */ li $t6, 10
/* B82770 8010B5D0 240F0032 */ li $t7, 50
/* B82774 8010B5D4 A42063FF */ sh $zero, 0x63ff($at)
/* B82778 8010B5D8 A42E6401 */ sh $t6, 0x6401($at)
/* B8277C 8010B5DC 10000005 */ b .L8010B5F4
/* B82780 8010B5E0 A42F6403 */ sh $t7, 0x6403($at)
.L8010B5E4:
/* B82784 8010B5E4 26017FFF */ addiu $at, $s0, 0x7fff
/* B82788 8010B5E8 A43863FF */ sh $t8, 0x63ff($at)
/* B8278C 8010B5EC A4206401 */ sh $zero, 0x6401($at)
/* B82790 8010B5F0 A4206403 */ sh $zero, 0x6403($at)
.L8010B5F4:
/* B82794 8010B5F4 3C198015 */ lui $t9, %hi(D_80153C52) # $t9, 0x8015
/* B82798 8010B5F8 27393C52 */ addiu $t9, %lo(D_80153C52) # addiu $t9, $t9, 0x3c52
/* B8279C 8010B5FC 14590005 */ bne $v0, $t9, .L8010B614
/* B827A0 8010B600 3C0A8015 */ lui $t2, %hi(D_80153C56) # $t2, 0x8015
/* B827A4 8010B604 240900E6 */ li $t1, 230
/* B827A8 8010B608 26017FFF */ addiu $at, $s0, 0x7fff
/* B827AC 8010B60C 1000000A */ b .L8010B638
/* B827B0 8010B610 A4296405 */ sh $t1, 0x6405($at)
.L8010B614:
/* B827B4 8010B614 254A3C56 */ addiu $t2, %lo(D_80153C56) # addiu $t2, $t2, 0x3c56
/* B827B8 8010B618 144A0005 */ bne $v0, $t2, .L8010B630
/* B827BC 8010B61C 240C00AA */ li $t4, 170
/* B827C0 8010B620 240B00B4 */ li $t3, 180
/* B827C4 8010B624 26017FFF */ addiu $at, $s0, 0x7fff
/* B827C8 8010B628 10000003 */ b .L8010B638
/* B827CC 8010B62C A42B6405 */ sh $t3, 0x6405($at)
.L8010B630:
/* B827D0 8010B630 26017FFF */ addiu $at, $s0, 0x7fff
/* B827D4 8010B634 A42C6405 */ sh $t4, 0x6405($at)
.L8010B638:
/* B827D8 8010B638 26017FFF */ addiu $at, $s0, 0x7fff
/* B827DC 8010B63C A4206407 */ sh $zero, 0x6407($at)
.L8010B640:
/* B827E0 8010B640 26017FFF */ addiu $at, $s0, 0x7fff
/* B827E4 8010B644 A02063E5 */ sb $zero, 0x63e5($at)
/* B827E8 8010B648 8FAD002C */ lw $t5, 0x2c($sp)
/* B827EC 8010B64C 91A263E4 */ lbu $v0, 0x63e4($t5)
/* B827F0 8010B650 A42063D3 */ sh $zero, 0x63d3($at)
/* B827F4 8010B654 A42263D7 */ sh $v0, 0x63d7($at)
/* B827F8 8010B658 A02263E7 */ sb $v0, 0x63e7($at)
/* B827FC 8010B65C 8FAE002C */ lw $t6, 0x2c($sp)
/* B82800 8010B660 95C263D2 */ lhu $v0, 0x63d2($t6)
/* B82804 8010B664 A42263D1 */ sh $v0, 0x63d1($at)
/* B82808 8010B668 A42263CF */ sh $v0, 0x63cf($at)
/* B8280C 8010B66C 8FBF0024 */ lw $ra, 0x24($sp)
/* B82810 8010B670 8FB00020 */ lw $s0, 0x20($sp)
/* B82814 8010B674 27BD0048 */ addiu $sp, $sp, 0x48
/* B82818 8010B678 03E00008 */ jr $ra
/* B8281C 8010B67C 00000000 */ nop

View file

@ -1,57 +0,0 @@
.rdata
glabel D_8015430C
.asciz "\x1b[34m"
.balign 4
glabel D_80154314
# Message%x(%d)
.asciz "%x(%d)\n"
.balign 4
glabel D_80154328
.asciz "\x1b[m"
.balign 4
.text
glabel func_8010B680
/* B82820 8010B680 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B82824 8010B684 AFA40020 */ sw $a0, 0x20($sp)
/* B82828 8010B688 AFBF0014 */ sw $ra, 0x14($sp)
/* B8282C 8010B68C 3C048015 */ lui $a0, %hi(D_8015430C) # $a0, 0x8015
/* B82830 8010B690 AFA50024 */ sw $a1, 0x24($sp)
/* B82834 8010B694 AFA60028 */ sw $a2, 0x28($sp)
/* B82838 8010B698 0C00084C */ jal osSyncPrintf
/* B8283C 8010B69C 2484430C */ addiu $a0, %lo(D_8015430C) # addiu $a0, $a0, 0x430c
/* B82840 8010B6A0 3C048015 */ lui $a0, %hi(D_80154314) # $a0, 0x8015
/* B82844 8010B6A4 24844314 */ addiu $a0, %lo(D_80154314) # addiu $a0, $a0, 0x4314
/* B82848 8010B6A8 97A50026 */ lhu $a1, 0x26($sp)
/* B8284C 8010B6AC 0C00084C */ jal osSyncPrintf
/* B82850 8010B6B0 8FA60028 */ lw $a2, 0x28($sp)
/* B82854 8010B6B4 3C048015 */ lui $a0, %hi(D_80154328) # $a0, 0x8015
/* B82858 8010B6B8 0C00084C */ jal osSyncPrintf
/* B8285C 8010B6BC 24844328 */ addiu $a0, %lo(D_80154328) # addiu $a0, $a0, 0x4328
/* B82860 8010B6C0 8FA40020 */ lw $a0, 0x20($sp)
/* B82864 8010B6C4 340EFFFF */ li $t6, 65535
/* B82868 8010B6C8 248220D8 */ addiu $v0, $a0, 0x20d8
/* B8286C 8010B6CC 24417FFF */ addiu $at, $v0, 0x7fff
/* B82870 8010B6D0 A42E63F1 */ sh $t6, 0x63f1($at)
/* B82874 8010B6D4 AFA20018 */ sw $v0, 0x18($sp)
/* B82878 8010B6D8 0C042C30 */ jal func_8010B0C0
/* B8287C 8010B6DC 97A50026 */ lhu $a1, 0x26($sp)
/* B82880 8010B6E0 8FA20018 */ lw $v0, 0x18($sp)
/* B82884 8010B6E4 8FAF0028 */ lw $t7, 0x28($sp)
/* B82888 8010B6E8 24180001 */ li $t8, 1
/* B8288C 8010B6EC 24417FFF */ addiu $at, $v0, 0x7fff
/* B82890 8010B6F0 A0386305 */ sb $t8, 0x6305($at)
/* B82894 8010B6F4 A02063E8 */ sb $zero, 0x63e8($at)
/* B82898 8010B6F8 A42063E9 */ sh $zero, 0x63e9($at)
/* B8289C 8010B6FC AC2F6409 */ sw $t7, 0x6409($at)
/* B828A0 8010B700 8FB90020 */ lw $t9, 0x20($sp)
/* B828A4 8010B704 3C010001 */ lui $at, 1
/* B828A8 8010B708 00390821 */ addu $at, $at, $t9
/* B828AC 8010B70C A42004C6 */ sh $zero, 0x4c6($at)
/* B828B0 8010B710 8FBF0014 */ lw $ra, 0x14($sp)
/* B828B4 8010B714 27BD0020 */ addiu $sp, $sp, 0x20
/* B828B8 8010B718 03E00008 */ jr $ra
/* B828BC 8010B71C 00000000 */ nop

View file

@ -1,82 +0,0 @@
.rdata
glabel D_8015432C
.asciz "\x1b[32m"
.balign 4
glabel D_80154334
# Message%x message->msg_data
.asciz "%x message->msg_data\n"
.balign 4
glabel D_80154358
.asciz "\x1b[m"
.balign 4
.text
glabel func_8010B720
/* B828C0 8010B720 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B828C4 8010B724 AFA40020 */ sw $a0, 0x20($sp)
/* B828C8 8010B728 AFBF001C */ sw $ra, 0x1c($sp)
/* B828CC 8010B72C 3C048015 */ lui $a0, %hi(D_8015432C) # $a0, 0x8015
/* B828D0 8010B730 AFB10018 */ sw $s1, 0x18($sp)
/* B828D4 8010B734 AFB00014 */ sw $s0, 0x14($sp)
/* B828D8 8010B738 AFA50024 */ sw $a1, 0x24($sp)
/* B828DC 8010B73C 0C00084C */ jal osSyncPrintf
/* B828E0 8010B740 2484432C */ addiu $a0, %lo(D_8015432C) # addiu $a0, $a0, 0x432c
/* B828E4 8010B744 8FB00020 */ lw $s0, 0x20($sp)
/* B828E8 8010B748 34018000 */ li $at, 32768
/* B828EC 8010B74C 3C048015 */ lui $a0, %hi(D_80154334) # $a0, 0x8015
/* B828F0 8010B750 261020D8 */ addiu $s0, $s0, 0x20d8
/* B828F4 8010B754 02018821 */ addu $s1, $s0, $at
/* B828F8 8010B758 8E266300 */ lw $a2, 0x6300($s1)
/* B828FC 8010B75C 24844334 */ addiu $a0, %lo(D_80154334) # addiu $a0, $a0, 0x4334
/* B82900 8010B760 0C00084C */ jal osSyncPrintf
/* B82904 8010B764 97A50026 */ lhu $a1, 0x26($sp)
/* B82908 8010B768 3C048015 */ lui $a0, %hi(D_80154358) # $a0, 0x8015
/* B8290C 8010B76C 0C00084C */ jal osSyncPrintf
/* B82910 8010B770 24844358 */ addiu $a0, %lo(D_80154358) # addiu $a0, $a0, 0x4358
/* B82914 8010B774 26017FFF */ addiu $at, $s0, 0x7fff
/* B82918 8010B778 AC206301 */ sw $zero, 0x6301($at)
/* B8291C 8010B77C 97A50026 */ lhu $a1, 0x26($sp)
/* B82920 8010B780 0C042C30 */ jal func_8010B0C0
/* B82924 8010B784 8FA40020 */ lw $a0, 0x20($sp)
/* B82928 8010B788 26017FFF */ addiu $at, $s0, 0x7fff
/* B8292C 8010B78C A0206305 */ sb $zero, 0x6305($at)
/* B82930 8010B790 862E6404 */ lh $t6, 0x6404($s1)
/* B82934 8010B794 240F0005 */ li $t7, 5
/* B82938 8010B798 24180003 */ li $t8, 3
/* B8293C 8010B79C A02F6305 */ sb $t7, 0x6305($at)
/* B82940 8010B7A0 A03863E8 */ sb $t8, 0x63e8($at)
/* B82944 8010B7A4 A42063E9 */ sh $zero, 0x63e9($at)
/* B82948 8010B7A8 A42E6407 */ sh $t6, 0x6407($at)
/* B8294C 8010B7AC 962263E8 */ lhu $v0, 0x63e8($s1)
/* B82950 8010B7B0 241900FF */ li $t9, 255
/* B82954 8010B7B4 A43963E3 */ sh $t9, 0x63e3($at)
/* B82958 8010B7B8 3C088016 */ lui $t0, %hi(gGameInfo) # $t0, 0x8016
/* B8295C 8010B7BC A42263D3 */ sh $v0, 0x63d3($at)
/* B82960 8010B7C0 A42263D1 */ sh $v0, 0x63d1($at)
/* B82964 8010B7C4 A42263CF */ sh $v0, 0x63cf($at)
/* B82968 8010B7C8 A02263E5 */ sb $v0, 0x63e5($at)
/* B8296C 8010B7CC 8D08FA90 */ lw $t0, %lo(gGameInfo)($t0)
/* B82970 8010B7D0 8FAA0020 */ lw $t2, 0x20($sp)
/* B82974 8010B7D4 3C0B0001 */ lui $t3, 1
/* B82978 8010B7D8 850904D2 */ lh $t1, 0x4d2($t0)
/* B8297C 8010B7DC 016A5821 */ addu $t3, $t3, $t2
/* B82980 8010B7E0 55200008 */ bnezl $t1, .L8010B804
/* B82984 8010B7E4 862C6404 */ lh $t4, 0x6404($s1)
/* B82988 8010B7E8 856B06EA */ lh $t3, 0x6ea($t3)
/* B8298C 8010B7EC 01402025 */ move $a0, $t2
/* B82990 8010B7F0 55600004 */ bnezl $t3, .L8010B804
/* B82994 8010B7F4 862C6404 */ lh $t4, 0x6404($s1)
/* B82998 8010B7F8 0C021BC0 */ jal Interface_SetDoAction
/* B8299C 8010B7FC 24050010 */ li $a1, 16
/* B829A0 8010B800 862C6404 */ lh $t4, 0x6404($s1)
.L8010B804:
/* B829A4 8010B804 26017FFF */ addiu $at, $s0, 0x7fff
/* B829A8 8010B808 A42C6407 */ sh $t4, 0x6407($at)
/* B829AC 8010B80C 8FBF001C */ lw $ra, 0x1c($sp)
/* B829B0 8010B810 8FB10018 */ lw $s1, 0x18($sp)
/* B829B4 8010B814 8FB00014 */ lw $s0, 0x14($sp)
/* B829B8 8010B818 03E00008 */ jr $ra
/* B829BC 8010B81C 27BD0020 */ addiu $sp, $sp, 0x20

View file

@ -1,407 +0,0 @@
.rdata
glabel D_8015435C
.asciz "\x1b[32m"
.balign 4
glabel D_80154364
.asciz "ocarina_check_bit[%d]=%x\n"
.balign 4
glabel D_80154380
.asciz "ocarina_bit = %x\n"
.balign 4
glabel D_80154394
.asciz "\x1b[m"
.balign 4
glabel D_80154398
# [31m Ocarina Number%d(%d)
.asciz "\x1b[31m %d(%d) \n\x1b[m"
.balign 4
glabel D_801543CC
.asciz "ocarina_set 000000000000000000 = %d\n"
.balign 4
glabel D_801543F4
.asciz "222222222\n"
.balign 4
glabel D_80154400
.asciz "333333333\n"
.balign 4
glabel D_8015440C
# Ocarina Mode = %d (%x)
.asciz " = %d (%x)\n"
.balign 4
glabel D_80154428
# Music Performance Start
.asciz "\n"
.balign 4
glabel D_80154434
# ?????Recording Playback / Recording Playback / Recording Playback / Recording Playback ->
.asciz "????? -> "
.balign 4
.text
glabel func_8010B820
/* B829C0 8010B820 27BDFFA8 */ addiu $sp, $sp, -0x58
/* B829C4 8010B824 AFA40058 */ sw $a0, 0x58($sp)
/* B829C8 8010B828 AFBF002C */ sw $ra, 0x2c($sp)
/* B829CC 8010B82C 3C048015 */ lui $a0, %hi(D_8015435C) # $a0, 0x8015
/* B829D0 8010B830 AFB20028 */ sw $s2, 0x28($sp)
/* B829D4 8010B834 AFB10024 */ sw $s1, 0x24($sp)
/* B829D8 8010B838 AFB00020 */ sw $s0, 0x20($sp)
/* B829DC 8010B83C AFA5005C */ sw $a1, 0x5c($sp)
/* B829E0 8010B840 0C00084C */ jal osSyncPrintf
/* B829E4 8010B844 2484435C */ addiu $a0, %lo(D_8015435C) # addiu $a0, $a0, 0x435c
/* B829E8 8010B848 3005FFFF */ andi $a1, $zero, 0xffff
/* B829EC 8010B84C 00058400 */ sll $s0, $a1, 0x10
/* B829F0 8010B850 3C028015 */ lui $v0, %hi(D_8014B31C) # $v0, 0x8015
/* B829F4 8010B854 00108403 */ sra $s0, $s0, 0x10
/* B829F8 8010B858 2442B31C */ addiu $v0, %lo(D_8014B31C) # addiu $v0, $v0, -0x4ce4
/* B829FC 8010B85C 2A01000C */ slti $at, $s0, 0xc
/* B82A00 8010B860 1020001F */ beqz $at, .L8010B8E0
/* B82A04 8010B864 A4400000 */ sh $zero, ($v0)
/* B82A08 8010B868 00107080 */ sll $t6, $s0, 2
.L8010B86C:
/* B82A0C 8010B86C 3C0F8012 */ lui $t7, %hi(gBitFlags+0x18)
/* B82A10 8010B870 01EE7821 */ addu $t7, $t7, $t6
/* B82A14 8010B874 3C188016 */ lui $t8, %hi(gSaveContext+0xa4) # $t8, 0x8016
/* B82A18 8010B878 8F18E704 */ lw $t8, %lo(gSaveContext+0xa4)($t8)
/* B82A1C 8010B87C 8DEF7138 */ lw $t7, %lo(gBitFlags+0x18)($t7)
/* B82A20 8010B880 3C048015 */ lui $a0, %hi(D_80154364) # $a0, 0x8015
/* B82A24 8010B884 24844364 */ addiu $a0, %lo(D_80154364) # addiu $a0, $a0, 0x4364
/* B82A28 8010B888 01F8C824 */ and $t9, $t7, $t8
/* B82A2C 8010B88C 1320000D */ beqz $t9, .L8010B8C4
/* B82A30 8010B890 02002825 */ move $a1, $s0
/* B82A34 8010B894 3C098015 */ lui $t1, %hi(D_80153C58) # $t1, 0x8015
/* B82A38 8010B898 25293C58 */ addiu $t1, %lo(D_80153C58) # addiu $t1, $t1, 0x3c58
/* B82A3C 8010B89C 00104040 */ sll $t0, $s0, 1
/* B82A40 8010B8A0 01098821 */ addu $s1, $t0, $t1
/* B82A44 8010B8A4 0C00084C */ jal osSyncPrintf
/* B82A48 8010B8A8 96260000 */ lhu $a2, ($s1)
/* B82A4C 8010B8AC 3C028015 */ lui $v0, %hi(D_8014B31C) # $v0, 0x8015
/* B82A50 8010B8B0 2442B31C */ addiu $v0, %lo(D_8014B31C) # addiu $v0, $v0, -0x4ce4
/* B82A54 8010B8B4 944A0000 */ lhu $t2, ($v0)
/* B82A58 8010B8B8 962B0000 */ lhu $t3, ($s1)
/* B82A5C 8010B8BC 014B6025 */ or $t4, $t2, $t3
/* B82A60 8010B8C0 A44C0000 */ sh $t4, ($v0)
.L8010B8C4:
/* B82A64 8010B8C4 26100001 */ addiu $s0, $s0, 1
/* B82A68 8010B8C8 00108400 */ sll $s0, $s0, 0x10
/* B82A6C 8010B8CC 00108403 */ sra $s0, $s0, 0x10
/* B82A70 8010B8D0 2A01000C */ slti $at, $s0, 0xc
/* B82A74 8010B8D4 5420FFE5 */ bnezl $at, .L8010B86C
/* B82A78 8010B8D8 00107080 */ sll $t6, $s0, 2
/* B82A7C 8010B8DC 94450000 */ lhu $a1, ($v0)
.L8010B8E0:
/* B82A80 8010B8E0 3C0D8016 */ lui $t5, %hi(gSaveContext+0x12c5) # $t5, 0x8016
/* B82A84 8010B8E4 91ADF925 */ lbu $t5, %lo(gSaveContext+0x12c5)($t5)
/* B82A88 8010B8E8 3C048015 */ lui $a0, %hi(D_80154380) # $a0, 0x8015
/* B82A8C 8010B8EC 11A00003 */ beqz $t5, .L8010B8FC
/* B82A90 8010B8F0 34AE1000 */ ori $t6, $a1, 0x1000
/* B82A94 8010B8F4 A44E0000 */ sh $t6, ($v0)
/* B82A98 8010B8F8 31C5FFFF */ andi $a1, $t6, 0xffff
.L8010B8FC:
/* B82A9C 8010B8FC 0C00084C */ jal osSyncPrintf
/* B82AA0 8010B900 24844380 */ addiu $a0, %lo(D_80154380) # addiu $a0, $a0, 0x4380
/* B82AA4 8010B904 3C048015 */ lui $a0, %hi(D_80154394) # $a0, 0x8015
/* B82AA8 8010B908 0C00084C */ jal osSyncPrintf
/* B82AAC 8010B90C 24844394 */ addiu $a0, %lo(D_80154394) # addiu $a0, $a0, 0x4394
/* B82AB0 8010B910 3C0F8012 */ lui $t7, %hi(gBitFlags+0x3c) # $t7, 0x8012
/* B82AB4 8010B914 3C188016 */ lui $t8, %hi(gSaveContext+0xa4) # $t8, 0x8016
/* B82AB8 8010B918 8F18E704 */ lw $t8, %lo(gSaveContext+0xa4)($t8)
/* B82ABC 8010B91C 8DEF715C */ lw $t7, %lo(gBitFlags+0x3c)($t7)
/* B82AC0 8010B920 3C018015 */ lui $at, %hi(D_8014B314) # $at, 0x8015
/* B82AC4 8010B924 01F8C824 */ and $t9, $t7, $t8
/* B82AC8 8010B928 0C03B8F2 */ jal func_800EE3C8
/* B82ACC 8010B92C A439B314 */ sh $t9, %lo(D_8014B314)($at)
/* B82AD0 8010B930 8FB20058 */ lw $s2, 0x58($sp)
/* B82AD4 8010B934 3C048015 */ lui $a0, %hi(D_8014B2F8) # $a0, 0x8015
/* B82AD8 8010B938 2484B2F8 */ addiu $a0, %lo(D_8014B2F8) # addiu $a0, $a0, -0x4d08
/* B82ADC 8010B93C 265220D8 */ addiu $s2, $s2, 0x20d8
/* B82AE0 8010B940 26417FFF */ addiu $at, $s2, 0x7fff
/* B82AE4 8010B944 AC2262B9 */ sw $v0, 0x62b9($at)
/* B82AE8 8010B948 A4800000 */ sh $zero, ($a0)
/* B82AEC 8010B94C 34018000 */ li $at, 32768
/* B82AF0 8010B950 02411821 */ addu $v1, $s2, $at
/* B82AF4 8010B954 8C6962B8 */ lw $t1, 0x62b8($v1)
/* B82AF8 8010B958 84880000 */ lh $t0, ($a0)
/* B82AFC 8010B95C 3C018015 */ lui $at, %hi(D_8014B2FC) # $at, 0x8015
/* B82B00 8010B960 A1280002 */ sb $t0, 2($t1)
/* B82B04 8010B964 A420B2FC */ sh $zero, %lo(D_8014B2FC)($at)
/* B82B08 8010B968 0C041A6C */ jal func_801069B0
/* B82B0C 8010B96C AFA30030 */ sw $v1, 0x30($sp)
/* B82B10 8010B970 240A00FF */ li $t2, 255
/* B82B14 8010B974 26417FFF */ addiu $at, $s2, 0x7fff
/* B82B18 8010B978 A02A6411 */ sb $t2, 0x6411($at)
/* B82B1C 8010B97C 8FAB0030 */ lw $t3, 0x30($sp)
/* B82B20 8010B980 3C048015 */ lui $a0, %hi(D_80154398) # $a0, 0x8015
/* B82B24 8010B984 24844398 */ addiu $a0, %lo(D_80154398) # addiu $a0, $a0, 0x4398
/* B82B28 8010B988 91626410 */ lbu $v0, 0x6410($t3)
/* B82B2C 8010B98C 24060002 */ li $a2, 2
/* B82B30 8010B990 A42263F3 */ sh $v0, 0x63f3($at)
/* B82B34 8010B994 97B1005E */ lhu $s1, 0x5e($sp)
/* B82B38 8010B998 3C018015 */ lui $at, %hi(D_8014B310) # $at, 0x8015
/* B82B3C 8010B99C A422B310 */ sh $v0, %lo(D_8014B310)($at)
/* B82B40 8010B9A0 0C00084C */ jal osSyncPrintf
/* B82B44 8010B9A4 02202825 */ move $a1, $s1
/* B82B48 8010B9A8 2A210893 */ slti $at, $s1, 0x893
/* B82B4C 8010B9AC 14200006 */ bnez $at, .L8010B9C8
/* B82B50 8010B9B0 A7A0004A */ sh $zero, 0x4a($sp)
/* B82B54 8010B9B4 8FA40058 */ lw $a0, 0x58($sp)
/* B82B58 8010B9B8 0C042C30 */ jal func_8010B0C0
/* B82B5C 8010B9BC 97A5005E */ lhu $a1, 0x5e($sp)
/* B82B60 8010B9C0 10000047 */ b .L8010BAE0
/* B82B64 8010B9C4 2630086E */ addiu $s0, $s1, 0x86e
.L8010B9C8:
/* B82B68 8010B9C8 2401002E */ li $at, 46
/* B82B6C 8010B9CC 16210008 */ bne $s1, $at, .L8010B9F0
/* B82B70 8010B9D0 97AC005E */ lhu $t4, 0x5e($sp)
/* B82B74 8010B9D4 26417FFF */ addiu $at, $s2, 0x7fff
/* B82B78 8010B9D8 A42C63F1 */ sh $t4, 0x63f1($at)
/* B82B7C 8010B9DC 8FA40058 */ lw $a0, 0x58($sp)
/* B82B80 8010B9E0 0C042C30 */ jal func_8010B0C0
/* B82B84 8010B9E4 2405086D */ li $a1, 2157
/* B82B88 8010B9E8 1000003D */ b .L8010BAE0
/* B82B8C 8010B9EC 2630086E */ addiu $s0, $s1, 0x86e
.L8010B9F0:
/* B82B90 8010B9F0 24010001 */ li $at, 1
/* B82B94 8010B9F4 12210004 */ beq $s1, $at, .L8010BA08
/* B82B98 8010B9F8 3C048015 */ lui $a0, %hi(D_801543CC) # $a0, 0x8015
/* B82B9C 8010B9FC 2A210022 */ slti $at, $s1, 0x22
/* B82BA0 8010BA00 14200022 */ bnez $at, .L8010BA8C
/* B82BA4 8010BA04 97AF005E */ lhu $t7, 0x5e($sp)
.L8010BA08:
/* B82BA8 8010BA08 248443CC */ addiu $a0, %lo(D_801543CC) # addiu $a0, $a0, 0x43cc
/* B82BAC 8010BA0C 0C00084C */ jal osSyncPrintf
/* B82BB0 8010BA10 02202825 */ move $a1, $s1
/* B82BB4 8010BA14 97AD005E */ lhu $t5, 0x5e($sp)
/* B82BB8 8010BA18 26417FFF */ addiu $at, $s2, 0x7fff
/* B82BBC 8010BA1C A42D63F1 */ sh $t5, 0x63f1($at)
/* B82BC0 8010BA20 2A210022 */ slti $at, $s1, 0x22
/* B82BC4 8010BA24 1420000D */ bnez $at, .L8010BA5C
/* B82BC8 8010BA28 2A210028 */ slti $at, $s1, 0x28
/* B82BCC 8010BA2C 1020000B */ beqz $at, .L8010BA5C
/* B82BD0 8010BA30 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* B82BD4 8010BA34 3C0E8013 */ lui $t6, %hi(D_801333E8) # $t6, 0x8013
/* B82BD8 8010BA38 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* B82BDC 8010BA3C 25CE33E8 */ addiu $t6, %lo(D_801333E8) # addiu $t6, $t6, 0x33e8
/* B82BE0 8010BA40 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013
/* B82BE4 8010BA44 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4
/* B82BE8 8010BA48 AFAE0014 */ sw $t6, 0x14($sp)
/* B82BEC 8010BA4C AFA70010 */ sw $a3, 0x10($sp)
/* B82BF0 8010BA50 24044807 */ li $a0, 18439
/* B82BF4 8010BA54 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* B82BF8 8010BA58 24060004 */ li $a2, 4
.L8010BA5C:
/* B82BFC 8010BA5C 2401002D */ li $at, 45
/* B82C00 8010BA60 16210006 */ bne $s1, $at, .L8010BA7C
/* B82C04 8010BA64 8FA40058 */ lw $a0, 0x58($sp)
/* B82C08 8010BA68 8FA40058 */ lw $a0, 0x58($sp)
/* B82C0C 8010BA6C 0C042C30 */ jal func_8010B0C0
/* B82C10 8010BA70 2405086F */ li $a1, 2159
/* B82C14 8010BA74 1000001A */ b .L8010BAE0
/* B82C18 8010BA78 2630086E */ addiu $s0, $s1, 0x86e
.L8010BA7C:
/* B82C1C 8010BA7C 0C042C30 */ jal func_8010B0C0
/* B82C20 8010BA80 2405086E */ li $a1, 2158
/* B82C24 8010BA84 10000016 */ b .L8010BAE0
/* B82C28 8010BA88 2630086E */ addiu $s0, $s1, 0x86e
.L8010BA8C:
/* B82C2C 8010BA8C 26417FFF */ addiu $at, $s2, 0x7fff
/* B82C30 8010BA90 A42F63F1 */ sh $t7, 0x63f1($at)
/* B82C34 8010BA94 24180001 */ li $t8, 1
/* B82C38 8010BA98 2A21000F */ slti $at, $s1, 0xf
/* B82C3C 8010BA9C 14200009 */ bnez $at, .L8010BAC4
/* B82C40 8010BAA0 A7B8004A */ sh $t8, 0x4a($sp)
/* B82C44 8010BAA4 3C048015 */ lui $a0, %hi(D_801543F4) # $a0, 0x8015
/* B82C48 8010BAA8 0C00084C */ jal osSyncPrintf
/* B82C4C 8010BAAC 248443F4 */ addiu $a0, %lo(D_801543F4) # addiu $a0, $a0, 0x43f4
/* B82C50 8010BAB0 8FA40058 */ lw $a0, 0x58($sp)
/* B82C54 8010BAB4 0C042C30 */ jal func_8010B0C0
/* B82C58 8010BAB8 2405086D */ li $a1, 2157
/* B82C5C 8010BABC 10000008 */ b .L8010BAE0
/* B82C60 8010BAC0 2630086E */ addiu $s0, $s1, 0x86e
.L8010BAC4:
/* B82C64 8010BAC4 3C048015 */ lui $a0, %hi(D_80154400) # $a0, 0x8015
/* B82C68 8010BAC8 0C00084C */ jal osSyncPrintf
/* B82C6C 8010BACC 24844400 */ addiu $a0, %lo(D_80154400) # addiu $a0, $a0, 0x4400
/* B82C70 8010BAD0 2630086E */ addiu $s0, $s1, 0x86e
/* B82C74 8010BAD4 3205FFFF */ andi $a1, $s0, 0xffff
/* B82C78 8010BAD8 0C042C30 */ jal func_8010B0C0
/* B82C7C 8010BADC 8FA40058 */ lw $a0, 0x58($sp)
.L8010BAE0:
/* B82C80 8010BAE0 26417FFF */ addiu $at, $s2, 0x7fff
/* B82C84 8010BAE4 AC206409 */ sw $zero, 0x6409($at)
/* B82C88 8010BAE8 8FB90030 */ lw $t9, 0x30($sp)
/* B82C8C 8010BAEC 3C048015 */ lui $a0, %hi(D_8015440C) # $a0, 0x8015
/* B82C90 8010BAF0 2484440C */ addiu $a0, %lo(D_8015440C) # addiu $a0, $a0, 0x440c
/* B82C94 8010BAF4 02003025 */ move $a2, $s0
/* B82C98 8010BAF8 0C00084C */ jal osSyncPrintf
/* B82C9C 8010BAFC 972563F0 */ lhu $a1, 0x63f0($t9)
/* B82CA0 8010BB00 26417FFF */ addiu $at, $s2, 0x7fff
/* B82CA4 8010BB04 A42063E9 */ sh $zero, 0x63e9($at)
/* B82CA8 8010BB08 8FA80058 */ lw $t0, 0x58($sp)
/* B82CAC 8010BB0C 3C010001 */ lui $at, 1
/* B82CB0 8010BB10 3C028016 */ lui $v0, %hi(gGameInfo) # $v0, 0x8016
/* B82CB4 8010BB14 00280821 */ addu $at, $at, $t0
/* B82CB8 8010BB18 2442FA90 */ addiu $v0, %lo(gGameInfo) # addiu $v0, $v0, -0x570
/* B82CBC 8010BB1C A42004C6 */ sh $zero, 0x4c6($at)
/* B82CC0 8010BB20 8C4A0000 */ lw $t2, ($v0)
/* B82CC4 8010BB24 24090022 */ li $t1, 34
/* B82CC8 8010BB28 240B008E */ li $t3, 142
/* B82CCC 8010BB2C A5490F14 */ sh $t1, 0xf14($t2)
/* B82CD0 8010BB30 8C4C0000 */ lw $t4, ($v0)
/* B82CD4 8010BB34 24030200 */ li $v1, 512
/* B82CD8 8010BB38 240F0100 */ li $t7, 256
/* B82CDC 8010BB3C A58B0F16 */ sh $t3, 0xf16($t4)
/* B82CE0 8010BB40 8C4D0000 */ lw $t5, ($v0)
/* B82CE4 8010BB44 24190040 */ li $t9, 64
/* B82CE8 8010BB48 26417FFF */ addiu $at, $s2, 0x7fff
/* B82CEC 8010BB4C A5A304B4 */ sh $v1, 0x4b4($t5)
/* B82CF0 8010BB50 8C4E0000 */ lw $t6, ($v0)
/* B82CF4 8010BB54 240B0004 */ li $t3, 4
/* B82CF8 8010BB58 240C0002 */ li $t4, 2
/* B82CFC 8010BB5C A5C304B6 */ sh $v1, 0x4b6($t6)
/* B82D00 8010BB60 8C580000 */ lw $t8, ($v0)
/* B82D04 8010BB64 240D0005 */ li $t5, 5
/* B82D08 8010BB68 24050012 */ li $a1, 18
/* B82D0C 8010BB6C A70F04C0 */ sh $t7, 0x4c0($t8)
/* B82D10 8010BB70 8C480000 */ lw $t0, ($v0)
/* B82D14 8010BB74 A51904C2 */ sh $t9, 0x4c2($t0)
/* B82D18 8010BB78 A02063E8 */ sb $zero, 0x63e8($at)
/* B82D1C 8010BB7C 8C490000 */ lw $t1, ($v0)
/* B82D20 8010BB80 26417FFF */ addiu $at, $s2, 0x7fff
/* B82D24 8010BB84 852A04AC */ lh $t2, 0x4ac($t1)
/* B82D28 8010BB88 51400005 */ beql $t2, $zero, .L8010BBA0
/* B82D2C 8010BB8C A02C63E8 */ sb $t4, 0x63e8($at)
/* B82D30 8010BB90 26417FFF */ addiu $at, $s2, 0x7fff
/* B82D34 8010BB94 10000003 */ b .L8010BBA4
/* B82D38 8010BB98 A02B6305 */ sb $t3, 0x6305($at)
/* B82D3C 8010BB9C A02C63E8 */ sb $t4, 0x63e8($at)
.L8010BBA0:
/* B82D40 8010BBA0 A02D6305 */ sb $t5, 0x6305($at)
.L8010BBA4:
/* B82D44 8010BBA4 8FAE0030 */ lw $t6, 0x30($sp)
/* B82D48 8010BBA8 26417FFF */ addiu $at, $s2, 0x7fff
/* B82D4C 8010BBAC 85CF6404 */ lh $t7, 0x6404($t6)
/* B82D50 8010BBB0 A42F6407 */ sh $t7, 0x6407($at)
/* B82D54 8010BBB4 87B8004A */ lh $t8, 0x4a($sp)
/* B82D58 8010BBB8 1700000B */ bnez $t8, .L8010BBE8
/* B82D5C 8010BBBC 00000000 */ nop
/* B82D60 8010BBC0 0C021C23 */ jal Interface_LoadActionLabelB
/* B82D64 8010BBC4 8FA40058 */ lw $a0, 0x58($sp)
/* B82D68 8010BBC8 3C198016 */ lui $t9, %hi(gSaveContext+0x13ea) # $t9, 0x8016
/* B82D6C 8010BBCC 9739FA4A */ lhu $t9, %lo(gSaveContext+0x13ea)($t9)
/* B82D70 8010BBD0 2404000A */ li $a0, 10
/* B82D74 8010BBD4 0C020978 */ jal Interface_ChangeAlpha
/* B82D78 8010BBD8 A7B9004A */ sh $t9, 0x4a($sp)
/* B82D7C 8010BBDC 87A8004A */ lh $t0, 0x4a($sp)
/* B82D80 8010BBE0 3C018016 */ lui $at, %hi(gSaveContext+0x13ea) # $at, 0x8016
/* B82D84 8010BBE4 A428FA4A */ sh $t0, %lo(gSaveContext+0x13ea)($at)
.L8010BBE8:
/* B82D88 8010BBE8 3C048015 */ lui $a0, %hi(D_80154428) # $a0, 0x8015
/* B82D8C 8010BBEC 0C00084C */ jal osSyncPrintf
/* B82D90 8010BBF0 24844428 */ addiu $a0, %lo(D_80154428) # addiu $a0, $a0, 0x4428
/* B82D94 8010BBF4 24010001 */ li $at, 1
/* B82D98 8010BBF8 12210003 */ beq $s1, $at, .L8010BC08
/* B82D9C 8010BBFC 24090009 */ li $t1, 9
/* B82DA0 8010BC00 24010030 */ li $at, 48
/* B82DA4 8010BC04 16210005 */ bne $s1, $at, .L8010BC1C
.L8010BC08:
/* B82DA8 8010BC08 26417FFF */ addiu $at, $s2, 0x7fff
/* B82DAC 8010BC0C 240A0063 */ li $t2, 99
/* B82DB0 8010BC10 A0296305 */ sb $t1, 0x6305($at)
/* B82DB4 8010BC14 10000039 */ b .L8010BCFC
/* B82DB8 8010BC18 A02A62FE */ sb $t2, 0x62fe($at)
.L8010BC1C:
/* B82DBC 8010BC1C 2401002F */ li $at, 47
/* B82DC0 8010BC20 16210006 */ bne $s1, $at, .L8010BC3C
/* B82DC4 8010BC24 240B0031 */ li $t3, 49
/* B82DC8 8010BC28 26417FFF */ addiu $at, $s2, 0x7fff
/* B82DCC 8010BC2C 240C0002 */ li $t4, 2
/* B82DD0 8010BC30 A02B6305 */ sb $t3, 0x6305($at)
/* B82DD4 8010BC34 10000031 */ b .L8010BCFC
/* B82DD8 8010BC38 A02C62FE */ sb $t4, 0x62fe($at)
.L8010BC3C:
/* B82DDC 8010BC3C 2401002E */ li $at, 46
/* B82DE0 8010BC40 5621000A */ bnel $s1, $at, .L8010BC6C
/* B82DE4 8010BC44 2401002B */ li $at, 43
/* B82DE8 8010BC48 0C020978 */ jal Interface_ChangeAlpha
/* B82DEC 8010BC4C 24040001 */ li $a0, 1
/* B82DF0 8010BC50 0C0426CF */ jal func_80109B3C
/* B82DF4 8010BC54 8FA40058 */ lw $a0, 0x58($sp)
/* B82DF8 8010BC58 240D0029 */ li $t5, 41
/* B82DFC 8010BC5C 26417FFF */ addiu $at, $s2, 0x7fff
/* B82E00 8010BC60 10000026 */ b .L8010BCFC
/* B82E04 8010BC64 A02D6305 */ sb $t5, 0x6305($at)
/* B82E08 8010BC68 2401002B */ li $at, 43
.L8010BC6C:
/* B82E0C 8010BC6C 16210023 */ bne $s1, $at, .L8010BCFC
/* B82E10 8010BC70 3C048015 */ lui $a0, %hi(D_80154434) # $a0, 0x8015
/* B82E14 8010BC74 0C00084C */ jal osSyncPrintf
/* B82E18 8010BC78 24844434 */ addiu $a0, %lo(D_80154434) # addiu $a0, $a0, 0x4434
/* B82E1C 8010BC7C 0C03B616 */ jal func_800ED858
/* B82E20 8010BC80 24040001 */ li $a0, 1
/* B82E24 8010BC84 0C03B616 */ jal func_800ED858
/* B82E28 8010BC88 24040001 */ li $a0, 1
/* B82E2C 8010BC8C 0C03B8FE */ jal Audio_OcaGetDisplayStaff
/* B82E30 8010BC90 00000000 */ nop
/* B82E34 8010BC94 3C048015 */ lui $a0, %hi(D_8014B2FC) # $a0, 0x8015
/* B82E38 8010BC98 26417FFF */ addiu $at, $s2, 0x7fff
/* B82E3C 8010BC9C AC2262B9 */ sw $v0, 0x62b9($at)
/* B82E40 8010BCA0 2484B2FC */ addiu $a0, %lo(D_8014B2FC) # addiu $a0, $a0, -0x4d04
/* B82E44 8010BCA4 A4800000 */ sh $zero, ($a0)
/* B82E48 8010BCA8 848E0000 */ lh $t6, ($a0)
/* B82E4C 8010BCAC 3C038015 */ lui $v1, %hi(D_8014B2F8) # $v1, 0x8015
/* B82E50 8010BCB0 8FB80030 */ lw $t8, 0x30($sp)
/* B82E54 8010BCB4 2463B2F8 */ addiu $v1, %lo(D_8014B2F8) # addiu $v1, $v1, -0x4d08
/* B82E58 8010BCB8 A46E0000 */ sh $t6, ($v1)
/* B82E5C 8010BCBC 846F0000 */ lh $t7, ($v1)
/* B82E60 8010BCC0 8F1962B8 */ lw $t9, 0x62b8($t8)
/* B82E64 8010BCC4 0C041A6C */ jal func_801069B0
/* B82E68 8010BCC8 A32F0002 */ sb $t7, 2($t9)
/* B82E6C 8010BCCC 24080003 */ li $t0, 3
/* B82E70 8010BCD0 26417FFF */ addiu $at, $s2, 0x7fff
/* B82E74 8010BCD4 24090023 */ li $t1, 35
/* B82E78 8010BCD8 A02863E8 */ sb $t0, 0x63e8($at)
/* B82E7C 8010BCDC A0296305 */ sb $t1, 0x6305($at)
/* B82E80 8010BCE0 2404000F */ li $a0, 15
/* B82E84 8010BCE4 0C03B64F */ jal func_800ED93C
/* B82E88 8010BCE8 24050001 */ li $a1, 1
/* B82E8C 8010BCEC 3C018016 */ lui $at, %hi(gSaveContext+0x13ea) # $at, 0x8016
/* B82E90 8010BCF0 A420FA4A */ sh $zero, %lo(gSaveContext+0x13ea)($at)
/* B82E94 8010BCF4 0C020978 */ jal Interface_ChangeAlpha
/* B82E98 8010BCF8 24040001 */ li $a0, 1
.L8010BCFC:
/* B82E9C 8010BCFC 8FB10058 */ lw $s1, 0x58($sp)
/* B82EA0 8010BD00 00008025 */ move $s0, $zero
/* B82EA4 8010BD04 00001025 */ move $v0, $zero
/* B82EA8 8010BD08 26312200 */ addiu $s1, $s1, 0x2200
/* B82EAC 8010BD0C 02202025 */ move $a0, $s1
.L8010BD10:
/* B82EB0 8010BD10 34058140 */ li $a1, 33088
/* B82EB4 8010BD14 3206FFFF */ andi $a2, $s0, 0xffff
/* B82EB8 8010BD18 0C01BB94 */ jal func_8006EE50
/* B82EBC 8010BD1C A7A2004E */ sh $v0, 0x4e($sp)
/* B82EC0 8010BD20 87A2004E */ lh $v0, 0x4e($sp)
/* B82EC4 8010BD24 26100080 */ addiu $s0, $s0, 0x80
/* B82EC8 8010BD28 24420001 */ addiu $v0, $v0, 1
/* B82ECC 8010BD2C 00021400 */ sll $v0, $v0, 0x10
/* B82ED0 8010BD30 00021403 */ sra $v0, $v0, 0x10
/* B82ED4 8010BD34 28410030 */ slti $at, $v0, 0x30
/* B82ED8 8010BD38 5420FFF5 */ bnezl $at, .L8010BD10
/* B82EDC 8010BD3C 02202025 */ move $a0, $s1
/* B82EE0 8010BD40 8FBF002C */ lw $ra, 0x2c($sp)
/* B82EE4 8010BD44 8FB00020 */ lw $s0, 0x20($sp)
/* B82EE8 8010BD48 8FB10024 */ lw $s1, 0x24($sp)
/* B82EEC 8010BD4C 8FB20028 */ lw $s2, 0x28($sp)
/* B82EF0 8010BD50 03E00008 */ jr $ra
/* B82EF4 8010BD54 27BD0058 */ addiu $sp, $sp, 0x58

View file

@ -1,14 +0,0 @@
glabel func_8010BD58
/* B82EF8 8010BD58 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B82EFC 8010BD5C 3C010001 */ lui $at, 1
/* B82F00 8010BD60 AFBF0014 */ sw $ra, 0x14($sp)
/* B82F04 8010BD64 AFA5001C */ sw $a1, 0x1c($sp)
/* B82F08 8010BD68 00240821 */ addu $at, $at, $a0
/* B82F0C 8010BD6C 30A5FFFF */ andi $a1, $a1, 0xffff
/* B82F10 8010BD70 0C042E08 */ jal func_8010B820
/* B82F14 8010BD74 A42004E6 */ sh $zero, 0x4e6($at)
/* B82F18 8010BD78 8FBF0014 */ lw $ra, 0x14($sp)
/* B82F1C 8010BD7C 27BD0018 */ addiu $sp, $sp, 0x18
/* B82F20 8010BD80 03E00008 */ jr $ra
/* B82F24 8010BD84 00000000 */ nop

View file

@ -1,15 +0,0 @@
glabel func_8010BD88
/* B82F28 8010BD88 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B82F2C 8010BD8C 3C010001 */ lui $at, 1
/* B82F30 8010BD90 AFBF0014 */ sw $ra, 0x14($sp)
/* B82F34 8010BD94 AFA5001C */ sw $a1, 0x1c($sp)
/* B82F38 8010BD98 00240821 */ addu $at, $at, $a0
/* B82F3C 8010BD9C 240E0001 */ li $t6, 1
/* B82F40 8010BDA0 30A5FFFF */ andi $a1, $a1, 0xffff
/* B82F44 8010BDA4 0C042E08 */ jal func_8010B820
/* B82F48 8010BDA8 A42E04E6 */ sh $t6, 0x4e6($at)
/* B82F4C 8010BDAC 8FBF0014 */ lw $ra, 0x14($sp)
/* B82F50 8010BDB0 27BD0018 */ addiu $sp, $sp, 0x18
/* B82F54 8010BDB4 03E00008 */ jr $ra
/* B82F58 8010BDB8 00000000 */ nop

View file

@ -1,86 +0,0 @@
glabel func_8010BDBC
/* B82F5C 8010BDBC 34018000 */ li $at, 32768
/* B82F60 8010BDC0 00811021 */ addu $v0, $a0, $at
/* B82F64 8010BDC4 8C4E6300 */ lw $t6, 0x6300($v0)
/* B82F68 8010BDC8 55C00004 */ bnezl $t6, .L8010BDDC
/* B82F6C 8010BDCC 90436304 */ lbu $v1, 0x6304($v0)
/* B82F70 8010BDD0 03E00008 */ jr $ra
/* B82F74 8010BDD4 00001025 */ move $v0, $zero
/* B82F78 8010BDD8 90436304 */ lbu $v1, 0x6304($v0)
.L8010BDDC:
/* B82F7C 8010BDDC 24010035 */ li $at, 53
/* B82F80 8010BDE0 5461001D */ bnel $v1, $at, .L8010BE58
/* B82F84 8010BDE4 24010034 */ li $at, 52
/* B82F88 8010BDE8 904363E4 */ lbu $v1, 0x63e4($v0)
/* B82F8C 8010BDEC 24010030 */ li $at, 48
/* B82F90 8010BDF0 54610004 */ bnel $v1, $at, .L8010BE04
/* B82F94 8010BDF4 24010010 */ li $at, 16
/* B82F98 8010BDF8 03E00008 */ jr $ra
/* B82F9C 8010BDFC 24020001 */ li $v0, 1
/* B82FA0 8010BE00 24010010 */ li $at, 16
.L8010BE04:
/* B82FA4 8010BE04 10610003 */ beq $v1, $at, .L8010BE14
/* B82FA8 8010BE08 24010020 */ li $at, 32
/* B82FAC 8010BE0C 54610004 */ bnel $v1, $at, .L8010BE20
/* B82FB0 8010BE10 24010050 */ li $at, 80
.L8010BE14:
/* B82FB4 8010BE14 03E00008 */ jr $ra
/* B82FB8 8010BE18 24020004 */ li $v0, 4
/* B82FBC 8010BE1C 24010050 */ li $at, 80
.L8010BE20:
/* B82FC0 8010BE20 10610003 */ beq $v1, $at, .L8010BE30
/* B82FC4 8010BE24 24010040 */ li $at, 64
/* B82FC8 8010BE28 54610004 */ bnel $v1, $at, .L8010BE3C
/* B82FCC 8010BE2C 24010060 */ li $at, 96
.L8010BE30:
/* B82FD0 8010BE30 03E00008 */ jr $ra
/* B82FD4 8010BE34 24020005 */ li $v0, 5
/* B82FD8 8010BE38 24010060 */ li $at, 96
.L8010BE3C:
/* B82FDC 8010BE3C 14610003 */ bne $v1, $at, .L8010BE4C
/* B82FE0 8010BE40 00000000 */ nop
/* B82FE4 8010BE44 03E00008 */ jr $ra
/* B82FE8 8010BE48 24020003 */ li $v0, 3
.L8010BE4C:
/* B82FEC 8010BE4C 03E00008 */ jr $ra
/* B82FF0 8010BE50 24020006 */ li $v0, 6
/* B82FF4 8010BE54 24010034 */ li $at, 52
.L8010BE58:
/* B82FF8 8010BE58 54610004 */ bnel $v1, $at, .L8010BE6C
/* B82FFC 8010BE5C 2401001A */ li $at, 26
/* B83000 8010BE60 03E00008 */ jr $ra
/* B83004 8010BE64 2402000A */ li $v0, 10
/* B83008 8010BE68 2401001A */ li $at, 26
.L8010BE6C:
/* B8300C 8010BE6C 54610004 */ bnel $v1, $at, .L8010BE80
/* B83010 8010BE70 944F63EE */ lhu $t7, 0x63ee($v0)
/* B83014 8010BE74 03E00008 */ jr $ra
/* B83018 8010BE78 24020007 */ li $v0, 7
/* B8301C 8010BE7C 944F63EE */ lhu $t7, 0x63ee($v0)
.L8010BE80:
/* B83020 8010BE80 24010003 */ li $at, 3
/* B83024 8010BE84 55E10004 */ bnel $t7, $at, .L8010BE98
/* B83028 8010BE88 2401001F */ li $at, 31
/* B8302C 8010BE8C 03E00008 */ jr $ra
/* B83030 8010BE90 24020008 */ li $v0, 8
/* B83034 8010BE94 2401001F */ li $at, 31
.L8010BE98:
/* B83038 8010BE98 54610004 */ bnel $v1, $at, .L8010BEAC
/* B8303C 8010BE9C 24010036 */ li $at, 54
/* B83040 8010BEA0 03E00008 */ jr $ra
/* B83044 8010BEA4 24020009 */ li $v0, 9
/* B83048 8010BEA8 24010036 */ li $at, 54
.L8010BEAC:
/* B8304C 8010BEAC 54610008 */ bnel $v1, $at, .L8010BED0
/* B83050 8010BEB0 24030003 */ li $v1, 3
/* B83054 8010BEB4 905863E7 */ lbu $t8, 0x63e7($v0)
/* B83058 8010BEB8 24010001 */ li $at, 1
/* B8305C 8010BEBC 57010004 */ bnel $t8, $at, .L8010BED0
/* B83060 8010BEC0 24030003 */ li $v1, 3
/* B83064 8010BEC4 03E00008 */ jr $ra
/* B83068 8010BEC8 24020002 */ li $v0, 2
/* B8306C 8010BECC 24030003 */ li $v1, 3
.L8010BED0:
/* B83070 8010BED0 03E00008 */ jr $ra
/* B83074 8010BED4 00601025 */ move $v0, $v1

View file

@ -1,296 +0,0 @@
glabel func_8010BED8
/* B83078 8010BED8 27BDFFA0 */ addiu $sp, $sp, -0x60
/* B8307C 8010BEDC AFA50064 */ sw $a1, 0x64($sp)
/* B83080 8010BEE0 8CA20000 */ lw $v0, ($a1)
/* B83084 8010BEE4 3C05E700 */ lui $a1, 0xe700
/* B83088 8010BEE8 3C0CFA00 */ lui $t4, 0xfa00
/* B8308C 8010BEEC 00401825 */ move $v1, $v0
/* B83090 8010BEF0 AC650000 */ sw $a1, ($v1)
/* B83094 8010BEF4 AC600004 */ sw $zero, 4($v1)
/* B83098 8010BEF8 24420008 */ addiu $v0, $v0, 8
/* B8309C 8010BEFC 00403025 */ move $a2, $v0
/* B830A0 8010BF00 3401A0D8 */ li $at, 41176
/* B830A4 8010BF04 00811821 */ addu $v1, $a0, $at
/* B830A8 8010BF08 ACCC0000 */ sw $t4, ($a2)
/* B830AC 8010BF0C 846E6400 */ lh $t6, 0x6400($v1)
/* B830B0 8010BF10 847863FE */ lh $t8, 0x63fe($v1)
/* B830B4 8010BF14 24420008 */ addiu $v0, $v0, 8
/* B830B8 8010BF18 31CF00FF */ andi $t7, $t6, 0xff
/* B830BC 8010BF1C 0018CE00 */ sll $t9, $t8, 0x18
/* B830C0 8010BF20 000FC400 */ sll $t8, $t7, 0x10
/* B830C4 8010BF24 846F6402 */ lh $t7, 0x6402($v1)
/* B830C8 8010BF28 03387025 */ or $t6, $t9, $t8
/* B830CC 8010BF2C 24010002 */ li $at, 2
/* B830D0 8010BF30 31F900FF */ andi $t9, $t7, 0xff
/* B830D4 8010BF34 0019C200 */ sll $t8, $t9, 8
/* B830D8 8010BF38 84796406 */ lh $t9, 0x6406($v1)
/* B830DC 8010BF3C 01D87825 */ or $t7, $t6, $t8
/* B830E0 8010BF40 3C0AE600 */ lui $t2, 0xe600
/* B830E4 8010BF44 332E00FF */ andi $t6, $t9, 0xff
/* B830E8 8010BF48 01EEC025 */ or $t8, $t7, $t6
/* B830EC 8010BF4C ACD80004 */ sw $t8, 4($a2)
/* B830F0 8010BF50 906462FD */ lbu $a0, 0x62fd($v1)
/* B830F4 8010BF54 3C180700 */ lui $t8, (0x07000170 >> 16) # lui $t8, 0x700
/* B830F8 8010BF58 3C0EF590 */ lui $t6, 0xf590
/* B830FC 8010BF5C 10800003 */ beqz $a0, .L8010BF6C
/* B83100 8010BF60 3C19FD90 */ lui $t9, 0xfd90
/* B83104 8010BF64 14810029 */ bne $a0, $at, .L8010C00C
/* B83108 8010BF68 00803025 */ move $a2, $a0
.L8010BF6C:
/* B8310C 8010BF6C 00402025 */ move $a0, $v0
/* B83110 8010BF70 AC990000 */ sw $t9, ($a0)
/* B83114 8010BF74 8C6F62B0 */ lw $t7, 0x62b0($v1)
/* B83118 8010BF78 24420008 */ addiu $v0, $v0, 8
/* B8311C 8010BF7C 37180170 */ ori $t8, (0x07000170 & 0xFFFF) # ori $t8, $t8, 0x170
/* B83120 8010BF80 AC8F0004 */ sw $t7, 4($a0)
/* B83124 8010BF84 00402025 */ move $a0, $v0
/* B83128 8010BF88 AC8E0000 */ sw $t6, ($a0)
/* B8312C 8010BF8C AC980004 */ sw $t8, 4($a0)
/* B83130 8010BF90 24420008 */ addiu $v0, $v0, 8
/* B83134 8010BF94 00402025 */ move $a0, $v0
/* B83138 8010BF98 AC8A0000 */ sw $t2, ($a0)
/* B8313C 8010BF9C AC800004 */ sw $zero, 4($a0)
/* B83140 8010BFA0 24420008 */ addiu $v0, $v0, 8
/* B83144 8010BFA4 00402025 */ move $a0, $v0
/* B83148 8010BFA8 3C19077F */ lui $t9, (0x077FF100 >> 16) # lui $t9, 0x77f
/* B8314C 8010BFAC 3739F100 */ ori $t9, (0x077FF100 & 0xFFFF) # ori $t9, $t9, 0xf100
/* B83150 8010BFB0 3C0BF300 */ lui $t3, 0xf300
/* B83154 8010BFB4 AC8B0000 */ sw $t3, ($a0)
/* B83158 8010BFB8 AC990004 */ sw $t9, 4($a0)
/* B8315C 8010BFBC 24420008 */ addiu $v0, $v0, 8
/* B83160 8010BFC0 00402025 */ move $a0, $v0
/* B83164 8010BFC4 AC850000 */ sw $a1, ($a0)
/* B83168 8010BFC8 AC800004 */ sw $zero, 4($a0)
/* B8316C 8010BFCC 24420008 */ addiu $v0, $v0, 8
/* B83170 8010BFD0 00402025 */ move $a0, $v0
/* B83174 8010BFD4 3C0FF580 */ lui $t7, (0xF5801000 >> 16) # lui $t7, 0xf580
/* B83178 8010BFD8 35EF1000 */ ori $t7, (0xF5801000 & 0xFFFF) # ori $t7, $t7, 0x1000
/* B8317C 8010BFDC 240E0170 */ li $t6, 368
/* B83180 8010BFE0 AC8E0004 */ sw $t6, 4($a0)
/* B83184 8010BFE4 AC8F0000 */ sw $t7, ($a0)
/* B83188 8010BFE8 24420008 */ addiu $v0, $v0, 8
/* B8318C 8010BFEC 00402025 */ move $a0, $v0
/* B83190 8010BFF0 3C18001F */ lui $t8, (0x001FC0FC >> 16) # lui $t8, 0x1f
/* B83194 8010BFF4 3718C0FC */ ori $t8, (0x001FC0FC & 0xFFFF) # ori $t8, $t8, 0xc0fc
/* B83198 8010BFF8 3C06F200 */ lui $a2, 0xf200
/* B8319C 8010BFFC AC860000 */ sw $a2, ($a0)
/* B831A0 8010C000 AC980004 */ sw $t8, 4($a0)
/* B831A4 8010C004 1000003D */ b .L8010C0FC
/* B831A8 8010C008 24420008 */ addiu $v0, $v0, 8
.L8010C00C:
/* B831AC 8010C00C 24010003 */ li $at, 3
/* B831B0 8010C010 14C10008 */ bne $a2, $at, .L8010C034
/* B831B4 8010C014 3C0AE600 */ lui $t2, 0xe600
/* B831B8 8010C018 00402025 */ move $a0, $v0
/* B831BC 8010C01C 3C19FB00 */ lui $t9, 0xfb00
/* B831C0 8010C020 240F00FF */ li $t7, 255
/* B831C4 8010C024 AC8F0004 */ sw $t7, 4($a0)
/* B831C8 8010C028 AC990000 */ sw $t9, ($a0)
/* B831CC 8010C02C 10000008 */ b .L8010C050
/* B831D0 8010C030 24420008 */ addiu $v0, $v0, 8
.L8010C034:
/* B831D4 8010C034 00402025 */ move $a0, $v0
/* B831D8 8010C038 3C183214 */ lui $t8, (0x321400FF >> 16) # lui $t8, 0x3214
/* B831DC 8010C03C 371800FF */ ori $t8, (0x321400FF & 0xFFFF) # ori $t8, $t8, 0xff
/* B831E0 8010C040 3C0EFB00 */ lui $t6, 0xfb00
/* B831E4 8010C044 AC8E0000 */ sw $t6, ($a0)
/* B831E8 8010C048 AC980004 */ sw $t8, 4($a0)
/* B831EC 8010C04C 24420008 */ addiu $v0, $v0, 8
.L8010C050:
/* B831F0 8010C050 00402025 */ move $a0, $v0
/* B831F4 8010C054 3C19FD70 */ lui $t9, 0xfd70
/* B831F8 8010C058 AC990000 */ sw $t9, ($a0)
/* B831FC 8010C05C 8C6F62B0 */ lw $t7, 0x62b0($v1)
/* B83200 8010C060 24420008 */ addiu $v0, $v0, 8
/* B83204 8010C064 3C180704 */ lui $t8, (0x07040170 >> 16) # lui $t8, 0x704
/* B83208 8010C068 AC8F0004 */ sw $t7, 4($a0)
/* B8320C 8010C06C 00402025 */ move $a0, $v0
/* B83210 8010C070 37180170 */ ori $t8, (0x07040170 & 0xFFFF) # ori $t8, $t8, 0x170
/* B83214 8010C074 3C0EF570 */ lui $t6, 0xf570
/* B83218 8010C078 AC8E0000 */ sw $t6, ($a0)
/* B8321C 8010C07C AC980004 */ sw $t8, 4($a0)
/* B83220 8010C080 24420008 */ addiu $v0, $v0, 8
/* B83224 8010C084 00402025 */ move $a0, $v0
/* B83228 8010C088 AC8A0000 */ sw $t2, ($a0)
/* B8322C 8010C08C AC800004 */ sw $zero, 4($a0)
/* B83230 8010C090 24420008 */ addiu $v0, $v0, 8
/* B83234 8010C094 00402025 */ move $a0, $v0
/* B83238 8010C098 3C19077F */ lui $t9, (0x077FF100 >> 16) # lui $t9, 0x77f
/* B8323C 8010C09C 3739F100 */ ori $t9, (0x077FF100 & 0xFFFF) # ori $t9, $t9, 0xf100
/* B83240 8010C0A0 3C0BF300 */ lui $t3, 0xf300
/* B83244 8010C0A4 AC8B0000 */ sw $t3, ($a0)
/* B83248 8010C0A8 AC990004 */ sw $t9, 4($a0)
/* B8324C 8010C0AC 24420008 */ addiu $v0, $v0, 8
/* B83250 8010C0B0 00402025 */ move $a0, $v0
/* B83254 8010C0B4 AC850000 */ sw $a1, ($a0)
/* B83258 8010C0B8 AC800004 */ sw $zero, 4($a0)
/* B8325C 8010C0BC 24420008 */ addiu $v0, $v0, 8
/* B83260 8010C0C0 00402025 */ move $a0, $v0
/* B83264 8010C0C4 3C0E0004 */ lui $t6, (0x00040170 >> 16) # lui $t6, 4
/* B83268 8010C0C8 3C0FF560 */ lui $t7, (0xF5601000 >> 16) # lui $t7, 0xf560
/* B8326C 8010C0CC 35EF1000 */ ori $t7, (0xF5601000 & 0xFFFF) # ori $t7, $t7, 0x1000
/* B83270 8010C0D0 35CE0170 */ ori $t6, (0x00040170 & 0xFFFF) # ori $t6, $t6, 0x170
/* B83274 8010C0D4 AC8E0004 */ sw $t6, 4($a0)
/* B83278 8010C0D8 AC8F0000 */ sw $t7, ($a0)
/* B8327C 8010C0DC 24420008 */ addiu $v0, $v0, 8
/* B83280 8010C0E0 00402025 */ move $a0, $v0
/* B83284 8010C0E4 3C18001F */ lui $t8, (0x001FC0FC >> 16) # lui $t8, 0x1f
/* B83288 8010C0E8 3718C0FC */ ori $t8, (0x001FC0FC & 0xFFFF) # ori $t8, $t8, 0xc0fc
/* B8328C 8010C0EC 3C06F200 */ lui $a2, 0xf200
/* B83290 8010C0F0 AC860000 */ sw $a2, ($a0)
/* B83294 8010C0F4 AC980004 */ sw $t8, 4($a0)
/* B83298 8010C0F8 24420008 */ addiu $v0, $v0, 8
.L8010C0FC:
/* B8329C 8010C0FC 3C048016 */ lui $a0, %hi(gGameInfo) # $a0, 0x8016
/* B832A0 8010C100 2484FA90 */ addiu $a0, %lo(gGameInfo) # addiu $a0, $a0, -0x570
/* B832A4 8010C104 8C8D0000 */ lw $t5, ($a0)
/* B832A8 8010C108 3C07E400 */ lui $a3, 0xe400
/* B832AC 8010C10C 00404025 */ move $t0, $v0
/* B832B0 8010C110 85B904C2 */ lh $t9, 0x4c2($t5)
/* B832B4 8010C114 85AF0F16 */ lh $t7, 0xf16($t5)
/* B832B8 8010C118 24420008 */ addiu $v0, $v0, 8
/* B832BC 8010C11C 00404825 */ move $t1, $v0
/* B832C0 8010C120 032F7021 */ addu $t6, $t9, $t7
/* B832C4 8010C124 000EC080 */ sll $t8, $t6, 2
/* B832C8 8010C128 33190FFF */ andi $t9, $t8, 0xfff
/* B832CC 8010C12C 85B804C0 */ lh $t8, 0x4c0($t5)
/* B832D0 8010C130 85AE0F14 */ lh $t6, 0xf14($t5)
/* B832D4 8010C134 03277825 */ or $t7, $t9, $a3
/* B832D8 8010C138 24420008 */ addiu $v0, $v0, 8
/* B832DC 8010C13C 01D8C821 */ addu $t9, $t6, $t8
/* B832E0 8010C140 00197080 */ sll $t6, $t9, 2
/* B832E4 8010C144 31D80FFF */ andi $t8, $t6, 0xfff
/* B832E8 8010C148 0018CB00 */ sll $t9, $t8, 0xc
/* B832EC 8010C14C 01F97025 */ or $t6, $t7, $t9
/* B832F0 8010C150 AD0E0000 */ sw $t6, ($t0)
/* B832F4 8010C154 8C8D0000 */ lw $t5, ($a0)
/* B832F8 8010C158 24010003 */ li $at, 3
/* B832FC 8010C15C 85B80F16 */ lh $t8, 0xf16($t5)
/* B83300 8010C160 85AE0F14 */ lh $t6, 0xf14($t5)
/* B83304 8010C164 00187880 */ sll $t7, $t8, 2
/* B83308 8010C168 31F90FFF */ andi $t9, $t7, 0xfff
/* B8330C 8010C16C 000EC080 */ sll $t8, $t6, 2
/* B83310 8010C170 330F0FFF */ andi $t7, $t8, 0xfff
/* B83314 8010C174 000F7300 */ sll $t6, $t7, 0xc
/* B83318 8010C178 032EC025 */ or $t8, $t9, $t6
/* B8331C 8010C17C AD180004 */ sw $t8, 4($t0)
/* B83320 8010C180 3C08E100 */ lui $t0, 0xe100
/* B83324 8010C184 AD280000 */ sw $t0, ($t1)
/* B83328 8010C188 AD200004 */ sw $zero, 4($t1)
/* B8332C 8010C18C AFA20004 */ sw $v0, 4($sp)
/* B83330 8010C190 8FAF0004 */ lw $t7, 4($sp)
/* B83334 8010C194 3C09F100 */ lui $t1, 0xf100
/* B83338 8010C198 24420008 */ addiu $v0, $v0, 8
/* B8333C 8010C19C ADE90000 */ sw $t1, ($t7)
/* B83340 8010C1A0 8C8D0000 */ lw $t5, ($a0)
/* B83344 8010C1A4 85B904B6 */ lh $t9, 0x4b6($t5)
/* B83348 8010C1A8 00197040 */ sll $t6, $t9, 1
/* B8334C 8010C1AC 31D8FFFF */ andi $t8, $t6, 0xffff
/* B83350 8010C1B0 85AE04B4 */ lh $t6, 0x4b4($t5)
/* B83354 8010C1B4 000E7C40 */ sll $t7, $t6, 0x11
/* B83358 8010C1B8 8FAE0004 */ lw $t6, 4($sp)
/* B8335C 8010C1BC 030FC825 */ or $t9, $t8, $t7
/* B83360 8010C1C0 3C0FFC61 */ lui $t7, (0xFC6196C3 >> 16) # lui $t7, 0xfc61
/* B83364 8010C1C4 ADD90004 */ sw $t9, 4($t6)
/* B83368 8010C1C8 907862FD */ lbu $t8, 0x62fd($v1)
/* B8336C 8010C1CC 00401825 */ move $v1, $v0
/* B83370 8010C1D0 3C19FF2F */ lui $t9, (0xFF2FFFFF >> 16) # lui $t9, 0xff2f
/* B83374 8010C1D4 1701005C */ bne $t8, $at, .L8010C348
/* B83378 8010C1D8 35EF96C3 */ ori $t7, (0xFC6196C3 & 0xFFFF) # ori $t7, $t7, 0x96c3
/* B8337C 8010C1DC 24420008 */ addiu $v0, $v0, 8
/* B83380 8010C1E0 AC650000 */ sw $a1, ($v1)
/* B83384 8010C1E4 AC600004 */ sw $zero, 4($v1)
/* B83388 8010C1E8 00401825 */ move $v1, $v0
/* B8338C 8010C1EC 3739FFFF */ ori $t9, (0xFF2FFFFF & 0xFFFF) # ori $t9, $t9, 0xffff
/* B83390 8010C1F0 AC790004 */ sw $t9, 4($v1)
/* B83394 8010C1F4 AC6F0000 */ sw $t7, ($v1)
/* B83398 8010C1F8 24420008 */ addiu $v0, $v0, 8
/* B8339C 8010C1FC 00401825 */ move $v1, $v0
/* B833A0 8010C200 3C0EFF64 */ lui $t6, (0xFF6400FF >> 16) # lui $t6, 0xff64
/* B833A4 8010C204 35CE00FF */ ori $t6, (0xFF6400FF & 0xFFFF) # ori $t6, $t6, 0xff
/* B833A8 8010C208 AC6E0004 */ sw $t6, 4($v1)
/* B833AC 8010C20C AC6C0000 */ sw $t4, ($v1)
/* B833B0 8010C210 24420008 */ addiu $v0, $v0, 8
/* B833B4 8010C214 00401825 */ move $v1, $v0
/* B833B8 8010C218 3C0F0200 */ lui $t7, %hi(gOcarinaTrebleClefTex) # $t7, 0x200
/* B833BC 8010C21C 25EF2E40 */ addiu $t7, %lo(gOcarinaTrebleClefTex) # addiu $t7, $t7, 0x2e40
/* B833C0 8010C220 3C18FD90 */ lui $t8, 0xfd90
/* B833C4 8010C224 AC780000 */ sw $t8, ($v1)
/* B833C8 8010C228 AC6F0004 */ sw $t7, 4($v1)
/* B833CC 8010C22C 24420008 */ addiu $v0, $v0, 8
/* B833D0 8010C230 00401825 */ move $v1, $v0
/* B833D4 8010C234 3C0E0704 */ lui $t6, (0x07040100 >> 16) # lui $t6, 0x704
/* B833D8 8010C238 35CE0100 */ ori $t6, (0x07040100 & 0xFFFF) # ori $t6, $t6, 0x100
/* B833DC 8010C23C 3C19F590 */ lui $t9, 0xf590
/* B833E0 8010C240 AC790000 */ sw $t9, ($v1)
/* B833E4 8010C244 AC6E0004 */ sw $t6, 4($v1)
/* B833E8 8010C248 24420008 */ addiu $v0, $v0, 8
/* B833EC 8010C24C 00401825 */ move $v1, $v0
/* B833F0 8010C250 AC6A0000 */ sw $t2, ($v1)
/* B833F4 8010C254 AC600004 */ sw $zero, 4($v1)
/* B833F8 8010C258 24420008 */ addiu $v0, $v0, 8
/* B833FC 8010C25C 00401825 */ move $v1, $v0
/* B83400 8010C260 3C180707 */ lui $t8, (0x0707F800 >> 16) # lui $t8, 0x707
/* B83404 8010C264 3718F800 */ ori $t8, (0x0707F800 & 0xFFFF) # ori $t8, $t8, 0xf800
/* B83408 8010C268 AC780004 */ sw $t8, 4($v1)
/* B8340C 8010C26C AC6B0000 */ sw $t3, ($v1)
/* B83410 8010C270 24420008 */ addiu $v0, $v0, 8
/* B83414 8010C274 00401825 */ move $v1, $v0
/* B83418 8010C278 AC650000 */ sw $a1, ($v1)
/* B8341C 8010C27C AC600004 */ sw $zero, 4($v1)
/* B83420 8010C280 24420008 */ addiu $v0, $v0, 8
/* B83424 8010C284 00401825 */ move $v1, $v0
/* B83428 8010C288 3C190004 */ lui $t9, (0x00040100 >> 16) # lui $t9, 4
/* B8342C 8010C28C 3C0FF580 */ lui $t7, (0xF5800200 >> 16) # lui $t7, 0xf580
/* B83430 8010C290 35EF0200 */ ori $t7, (0xF5800200 & 0xFFFF) # ori $t7, $t7, 0x200
/* B83434 8010C294 37390100 */ ori $t9, (0x00040100 & 0xFFFF) # ori $t9, $t9, 0x100
/* B83438 8010C298 AC790004 */ sw $t9, 4($v1)
/* B8343C 8010C29C AC6F0000 */ sw $t7, ($v1)
/* B83440 8010C2A0 24420008 */ addiu $v0, $v0, 8
/* B83444 8010C2A4 00401825 */ move $v1, $v0
/* B83448 8010C2A8 3C0E0003 */ lui $t6, (0x0003C07C >> 16) # lui $t6, 3
/* B8344C 8010C2AC 35CEC07C */ ori $t6, (0x0003C07C & 0xFFFF) # ori $t6, $t6, 0xc07c
/* B83450 8010C2B0 AC6E0004 */ sw $t6, 4($v1)
/* B83454 8010C2B4 AC660000 */ sw $a2, ($v1)
/* B83458 8010C2B8 8C8D0000 */ lw $t5, ($a0)
/* B8345C 8010C2BC 24420008 */ addiu $v0, $v0, 8
/* B83460 8010C2C0 00401825 */ move $v1, $v0
/* B83464 8010C2C4 85B80F24 */ lh $t8, 0xf24($t5)
/* B83468 8010C2C8 24420008 */ addiu $v0, $v0, 8
/* B8346C 8010C2CC 270F0020 */ addiu $t7, $t8, 0x20
/* B83470 8010C2D0 000FC880 */ sll $t9, $t7, 2
/* B83474 8010C2D4 85AF0F22 */ lh $t7, 0xf22($t5)
/* B83478 8010C2D8 332E0FFF */ andi $t6, $t9, 0xfff
/* B8347C 8010C2DC 01C7C025 */ or $t8, $t6, $a3
/* B83480 8010C2E0 25F90010 */ addiu $t9, $t7, 0x10
/* B83484 8010C2E4 00197080 */ sll $t6, $t9, 2
/* B83488 8010C2E8 31CF0FFF */ andi $t7, $t6, 0xfff
/* B8348C 8010C2EC 000FCB00 */ sll $t9, $t7, 0xc
/* B83490 8010C2F0 03197025 */ or $t6, $t8, $t9
/* B83494 8010C2F4 AC6E0000 */ sw $t6, ($v1)
/* B83498 8010C2F8 8C8D0000 */ lw $t5, ($a0)
/* B8349C 8010C2FC 85AF0F24 */ lh $t7, 0xf24($t5)
/* B834A0 8010C300 85AE0F22 */ lh $t6, 0xf22($t5)
/* B834A4 8010C304 000FC080 */ sll $t8, $t7, 2
/* B834A8 8010C308 33190FFF */ andi $t9, $t8, 0xfff
/* B834AC 8010C30C 000E7880 */ sll $t7, $t6, 2
/* B834B0 8010C310 31F80FFF */ andi $t8, $t7, 0xfff
/* B834B4 8010C314 00187300 */ sll $t6, $t8, 0xc
/* B834B8 8010C318 032E7825 */ or $t7, $t9, $t6
/* B834BC 8010C31C AC6F0004 */ sw $t7, 4($v1)
/* B834C0 8010C320 00401825 */ move $v1, $v0
/* B834C4 8010C324 AC680000 */ sw $t0, ($v1)
/* B834C8 8010C328 AC600004 */ sw $zero, 4($v1)
/* B834CC 8010C32C 24420008 */ addiu $v0, $v0, 8
/* B834D0 8010C330 00401825 */ move $v1, $v0
/* B834D4 8010C334 3C180400 */ lui $t8, (0x04000400 >> 16) # lui $t8, 0x400
/* B834D8 8010C338 37180400 */ ori $t8, (0x04000400 & 0xFFFF) # ori $t8, $t8, 0x400
/* B834DC 8010C33C AC780004 */ sw $t8, 4($v1)
/* B834E0 8010C340 AC690000 */ sw $t1, ($v1)
/* B834E4 8010C344 24420008 */ addiu $v0, $v0, 8
.L8010C348:
/* B834E8 8010C348 8FB90064 */ lw $t9, 0x64($sp)
/* B834EC 8010C34C 27BD0060 */ addiu $sp, $sp, 0x60
/* B834F0 8010C350 03E00008 */ jr $ra
/* B834F4 8010C354 AF220000 */ sw $v0, ($t9)

View file

@ -1,19 +0,0 @@
glabel func_8010C358
/* B834F8 8010C358 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B834FC 8010C35C AFBF0014 */ sw $ra, 0x14($sp)
/* B83500 8010C360 240E00F0 */ li $t6, 240
/* B83504 8010C364 240F0140 */ li $t7, 320
/* B83508 8010C368 AFA40028 */ sw $a0, 0x28($sp)
/* B8350C 8010C36C AFAF0024 */ sw $t7, 0x24($sp)
/* B83510 8010C370 AFAE001C */ sw $t6, 0x1c($sp)
/* B83514 8010C374 AFA00018 */ sw $zero, 0x18($sp)
/* B83518 8010C378 AFA00020 */ sw $zero, 0x20($sp)
/* B8351C 8010C37C 0C02A93F */ jal View_SetViewport
/* B83520 8010C380 27A50018 */ addiu $a1, $sp, 0x18
/* B83524 8010C384 0C02ACB1 */ jal func_800AB2C4
/* B83528 8010C388 8FA40028 */ lw $a0, 0x28($sp)
/* B8352C 8010C38C 8FBF0014 */ lw $ra, 0x14($sp)
/* B83530 8010C390 27BD0028 */ addiu $sp, $sp, 0x28
/* B83534 8010C394 03E00008 */ jr $ra
/* B83538 8010C398 00000000 */ nop

File diff suppressed because it is too large Load diff

View file

@ -1,128 +0,0 @@
.rdata
glabel D_80154984
.asciz "../z_message_PAL.c"
.balign 4
glabel D_80154998
.asciz "../z_message_PAL.c"
.balign 4
.text
glabel func_8010F2CC
/* B8646C 8010F2CC 27BDFF98 */ addiu $sp, $sp, -0x68
/* B86470 8010F2D0 AFBF0014 */ sw $ra, 0x14($sp)
/* B86474 8010F2D4 AFA40068 */ sw $a0, 0x68($sp)
/* B86478 8010F2D8 3C068015 */ lui $a2, %hi(D_80154984) # $a2, 0x8015
/* B8647C 8010F2DC 24C64984 */ addiu $a2, %lo(D_80154984) # addiu $a2, $a2, 0x4984
/* B86480 8010F2E0 27A40050 */ addiu $a0, $sp, 0x50
/* B86484 8010F2E4 AFA5006C */ sw $a1, 0x6c($sp)
/* B86488 8010F2E8 0C031AB1 */ jal Graph_OpenDisps
/* B8648C 8010F2EC 24070D9D */ li $a3, 3485
/* B86490 8010F2F0 8FAE0068 */ lw $t6, 0x68($sp)
/* B86494 8010F2F4 3C0F8015 */ lui $t7, %hi(D_80153CF8) # $t7, 0x8015
/* B86498 8010F2F8 85EF3CF8 */ lh $t7, %lo(D_80153CF8)($t7)
/* B8649C 8010F2FC 85C20000 */ lh $v0, ($t6)
/* B864A0 8010F300 8FA5006C */ lw $a1, 0x6c($sp)
/* B864A4 8010F304 3C018015 */ lui $at, %hi(D_80153CF8) # $at, 0x8015
/* B864A8 8010F308 11E20004 */ beq $t7, $v0, .L8010F31C
/* B864AC 8010F30C 2403001E */ li $v1, 30
/* B864B0 8010F310 A4223CF8 */ sh $v0, %lo(D_80153CF8)($at)
/* B864B4 8010F314 3C018015 */ lui $at, %hi(D_80153CFC) # $at, 0x8015
/* B864B8 8010F318 A4233CFC */ sh $v1, %lo(D_80153CFC)($at)
.L8010F31C:
/* B864BC 8010F31C 3C038015 */ lui $v1, %hi(D_80153CFC) # $v1, 0x8015
/* B864C0 8010F320 84633CFC */ lh $v1, %lo(D_80153CFC)($v1)
/* B864C4 8010F324 3C018015 */ lui $at, %hi(D_80153CFC) # $at, 0x8015
/* B864C8 8010F328 3C04E700 */ lui $a0, 0xe700
/* B864CC 8010F32C 10600050 */ beqz $v1, .L8010F470
/* B864D0 8010F330 3C06E300 */ lui $a2, (0xE3000A01 >> 16) # lui $a2, 0xe300
/* B864D4 8010F334 2463FFFF */ addiu $v1, $v1, -1
/* B864D8 8010F338 00031C00 */ sll $v1, $v1, 0x10
/* B864DC 8010F33C 00031C03 */ sra $v1, $v1, 0x10
/* B864E0 8010F340 A4233CFC */ sh $v1, %lo(D_80153CFC)($at)
/* B864E4 8010F344 8CA202C0 */ lw $v0, 0x2c0($a1)
/* B864E8 8010F348 34C60A01 */ ori $a2, (0xE3000A01 & 0xFFFF) # ori $a2, $a2, 0xa01
/* B864EC 8010F34C 3C070030 */ lui $a3, 0x30
/* B864F0 8010F350 24580008 */ addiu $t8, $v0, 8
/* B864F4 8010F354 ACB802C0 */ sw $t8, 0x2c0($a1)
/* B864F8 8010F358 AC400004 */ sw $zero, 4($v0)
/* B864FC 8010F35C AC440000 */ sw $a0, ($v0)
/* B86500 8010F360 8CA202C0 */ lw $v0, 0x2c0($a1)
/* B86504 8010F364 3C08E200 */ lui $t0, (0xE200001C >> 16) # lui $t0, 0xe200
/* B86508 8010F368 3508001C */ ori $t0, (0xE200001C & 0xFFFF) # ori $t0, $t0, 0x1c
/* B8650C 8010F36C 24590008 */ addiu $t9, $v0, 8
/* B86510 8010F370 ACB902C0 */ sw $t9, 0x2c0($a1)
/* B86514 8010F374 AC470004 */ sw $a3, 4($v0)
/* B86518 8010F378 AC460000 */ sw $a2, ($v0)
/* B8651C 8010F37C 8CA202C0 */ lw $v0, 0x2c0($a1)
/* B86520 8010F380 3C0C0001 */ lui $t4, (0x00010001 >> 16) # lui $t4, 1
/* B86524 8010F384 358C0001 */ ori $t4, (0x00010001 & 0xFFFF) # ori $t4, $t4, 1
/* B86528 8010F388 244A0008 */ addiu $t2, $v0, 8
/* B8652C 8010F38C ACAA02C0 */ sw $t2, 0x2c0($a1)
/* B86530 8010F390 AC400004 */ sw $zero, 4($v0)
/* B86534 8010F394 AC480000 */ sw $t0, ($v0)
/* B86538 8010F398 8CA202C0 */ lw $v0, 0x2c0($a1)
/* B8653C 8010F39C 3C09F700 */ lui $t1, 0xf700
/* B86540 8010F3A0 3C0EF64F */ lui $t6, (0xF64FC258 >> 16) # lui $t6, 0xf64f
/* B86544 8010F3A4 244B0008 */ addiu $t3, $v0, 8
/* B86548 8010F3A8 ACAB02C0 */ sw $t3, 0x2c0($a1)
/* B8654C 8010F3AC AC4C0004 */ sw $t4, 4($v0)
/* B86550 8010F3B0 AC490000 */ sw $t1, ($v0)
/* B86554 8010F3B4 8CA202C0 */ lw $v0, 0x2c0($a1)
/* B86558 8010F3B8 35CEC258 */ ori $t6, (0xF64FC258 & 0xFFFF) # ori $t6, $t6, 0xc258
/* B8655C 8010F3BC 240F01B8 */ li $t7, 440
/* B86560 8010F3C0 244D0008 */ addiu $t5, $v0, 8
/* B86564 8010F3C4 ACAD02C0 */ sw $t5, 0x2c0($a1)
/* B86568 8010F3C8 AC4F0004 */ sw $t7, 4($v0)
/* B8656C 8010F3CC AC4E0000 */ sw $t6, ($v0)
/* B86570 8010F3D0 8CA202C0 */ lw $v0, 0x2c0($a1)
/* B86574 8010F3D4 240DFFFF */ li $t5, -1
/* B86578 8010F3D8 3C0FF60F */ lui $t7, (0xF60F0230 >> 16) # lui $t7, 0xf60f
/* B8657C 8010F3DC 24580008 */ addiu $t8, $v0, 8
/* B86580 8010F3E0 ACB802C0 */ sw $t8, 0x2c0($a1)
/* B86584 8010F3E4 AC400004 */ sw $zero, 4($v0)
/* B86588 8010F3E8 AC440000 */ sw $a0, ($v0)
/* B8658C 8010F3EC 8CA202C0 */ lw $v0, 0x2c0($a1)
/* B86590 8010F3F0 3C18000A */ lui $t8, (0x000A01E0 >> 16) # lui $t8, 0xa
/* B86594 8010F3F4 371801E0 */ ori $t8, (0x000A01E0 & 0xFFFF) # ori $t8, $t8, 0x1e0
/* B86598 8010F3F8 24590008 */ addiu $t9, $v0, 8
/* B8659C 8010F3FC ACB902C0 */ sw $t9, 0x2c0($a1)
/* B865A0 8010F400 AC400004 */ sw $zero, 4($v0)
/* B865A4 8010F404 AC440000 */ sw $a0, ($v0)
/* B865A8 8010F408 8CA202C0 */ lw $v0, 0x2c0($a1)
/* B865AC 8010F40C 35EF0230 */ ori $t7, (0xF60F0230 & 0xFFFF) # ori $t7, $t7, 0x230
/* B865B0 8010F410 244A0008 */ addiu $t2, $v0, 8
/* B865B4 8010F414 ACAA02C0 */ sw $t2, 0x2c0($a1)
/* B865B8 8010F418 AC470004 */ sw $a3, 4($v0)
/* B865BC 8010F41C AC460000 */ sw $a2, ($v0)
/* B865C0 8010F420 8CA202C0 */ lw $v0, 0x2c0($a1)
/* B865C4 8010F424 244B0008 */ addiu $t3, $v0, 8
/* B865C8 8010F428 ACAB02C0 */ sw $t3, 0x2c0($a1)
/* B865CC 8010F42C AC400004 */ sw $zero, 4($v0)
/* B865D0 8010F430 AC480000 */ sw $t0, ($v0)
/* B865D4 8010F434 8CA202C0 */ lw $v0, 0x2c0($a1)
/* B865D8 8010F438 244C0008 */ addiu $t4, $v0, 8
/* B865DC 8010F43C ACAC02C0 */ sw $t4, 0x2c0($a1)
/* B865E0 8010F440 AC4D0004 */ sw $t5, 4($v0)
/* B865E4 8010F444 AC490000 */ sw $t1, ($v0)
/* B865E8 8010F448 8CA202C0 */ lw $v0, 0x2c0($a1)
/* B865EC 8010F44C 244E0008 */ addiu $t6, $v0, 8
/* B865F0 8010F450 ACAE02C0 */ sw $t6, 0x2c0($a1)
/* B865F4 8010F454 AC580004 */ sw $t8, 4($v0)
/* B865F8 8010F458 AC4F0000 */ sw $t7, ($v0)
/* B865FC 8010F45C 8CA202C0 */ lw $v0, 0x2c0($a1)
/* B86600 8010F460 24590008 */ addiu $t9, $v0, 8
/* B86604 8010F464 ACB902C0 */ sw $t9, 0x2c0($a1)
/* B86608 8010F468 AC400004 */ sw $zero, 4($v0)
/* B8660C 8010F46C AC440000 */ sw $a0, ($v0)
.L8010F470:
/* B86610 8010F470 3C068015 */ lui $a2, %hi(D_80154998) # $a2, 0x8015
/* B86614 8010F474 24C64998 */ addiu $a2, %lo(D_80154998) # addiu $a2, $a2, 0x4998
/* B86618 8010F478 27A40050 */ addiu $a0, $sp, 0x50
/* B8661C 8010F47C 0C031AD5 */ jal Graph_CloseDisps
/* B86620 8010F480 24070DB9 */ li $a3, 3513
/* B86624 8010F484 8FBF0014 */ lw $ra, 0x14($sp)
/* B86628 8010F488 27BD0068 */ addiu $sp, $sp, 0x68
/* B8662C 8010F48C 03E00008 */ jr $ra
/* B86630 8010F490 00000000 */ nop

View file

@ -1,86 +0,0 @@
.rdata
glabel D_801549AC
.asciz "%s"
.balign 4
glabel D_801549B0
.asciz "MESSAGE"
.balign 4
glabel D_801549B8
.asciz "%s"
.balign 4
glabel D_801549BC
.asciz "="
.balign 4
glabel D_801549C0
.asciz "%x"
.balign 4
.text
glabel func_8010F494
/* B86634 8010F494 27BDFFA0 */ addiu $sp, $sp, -0x60
/* B86638 8010F498 AFB00020 */ sw $s0, 0x20($sp)
/* B8663C 8010F49C 27B0002C */ addiu $s0, $sp, 0x2c
/* B86640 8010F4A0 AFBF0024 */ sw $ra, 0x24($sp)
/* B86644 8010F4A4 AFA40060 */ sw $a0, 0x60($sp)
/* B86648 8010F4A8 AFA50064 */ sw $a1, 0x64($sp)
/* B8664C 8010F4AC 0C03EEE3 */ jal GfxPrint_Init
/* B86650 8010F4B0 02002025 */ move $a0, $s0
/* B86654 8010F4B4 8FAE0064 */ lw $t6, 0x64($sp)
/* B86658 8010F4B8 02002025 */ move $a0, $s0
/* B8665C 8010F4BC 0C03EF07 */ jal GfxPrint_Open
/* B86660 8010F4C0 8DC50000 */ lw $a1, ($t6)
/* B86664 8010F4C4 02002025 */ move $a0, $s0
/* B86668 8010F4C8 24050006 */ li $a1, 6
/* B8666C 8010F4CC 0C03ED07 */ jal GfxPrint_SetPos
/* B86670 8010F4D0 2406001A */ li $a2, 26
/* B86674 8010F4D4 240F00FF */ li $t7, 255
/* B86678 8010F4D8 AFAF0010 */ sw $t7, 0x10($sp)
/* B8667C 8010F4DC 02002025 */ move $a0, $s0
/* B86680 8010F4E0 240500FF */ li $a1, 255
/* B86684 8010F4E4 2406003C */ li $a2, 60
/* B86688 8010F4E8 0C03ECEB */ jal GfxPrint_SetColor
/* B8668C 8010F4EC 00003825 */ move $a3, $zero
/* B86690 8010F4F0 3C058015 */ lui $a1, %hi(D_801549AC) # $a1, 0x8015
/* B86694 8010F4F4 3C068015 */ lui $a2, %hi(D_801549B0) # $a2, 0x8015
/* B86698 8010F4F8 24C649B0 */ addiu $a2, %lo(D_801549B0) # addiu $a2, $a2, 0x49b0
/* B8669C 8010F4FC 24A549AC */ addiu $a1, %lo(D_801549AC) # addiu $a1, $a1, 0x49ac
/* B866A0 8010F500 0C03EF2D */ jal GfxPrint_Printf
/* B866A4 8010F504 02002025 */ move $a0, $s0
/* B866A8 8010F508 02002025 */ move $a0, $s0
/* B866AC 8010F50C 2405000E */ li $a1, 14
/* B866B0 8010F510 0C03ED07 */ jal GfxPrint_SetPos
/* B866B4 8010F514 2406001A */ li $a2, 26
/* B866B8 8010F518 3C058015 */ lui $a1, %hi(D_801549B8) # $a1, 0x8015
/* B866BC 8010F51C 3C068015 */ lui $a2, %hi(D_801549BC) # $a2, 0x8015
/* B866C0 8010F520 24C649BC */ addiu $a2, %lo(D_801549BC) # addiu $a2, $a2, 0x49bc
/* B866C4 8010F524 24A549B8 */ addiu $a1, %lo(D_801549B8) # addiu $a1, $a1, 0x49b8
/* B866C8 8010F528 0C03EF2D */ jal GfxPrint_Printf
/* B866CC 8010F52C 02002025 */ move $a0, $s0
/* B866D0 8010F530 02002025 */ move $a0, $s0
/* B866D4 8010F534 24050010 */ li $a1, 16
/* B866D8 8010F538 0C03ED07 */ jal GfxPrint_SetPos
/* B866DC 8010F53C 2406001A */ li $a2, 26
/* B866E0 8010F540 8FB80060 */ lw $t8, 0x60($sp)
/* B866E4 8010F544 3C060001 */ lui $a2, 1
/* B866E8 8010F548 3C058015 */ lui $a1, %hi(D_801549C0) # $a1, 0x8015
/* B866EC 8010F54C 00D83021 */ addu $a2, $a2, $t8
/* B866F0 8010F550 94C603D0 */ lhu $a2, 0x3d0($a2)
/* B866F4 8010F554 24A549C0 */ addiu $a1, %lo(D_801549C0) # addiu $a1, $a1, 0x49c0
/* B866F8 8010F558 0C03EF2D */ jal GfxPrint_Printf
/* B866FC 8010F55C 02002025 */ move $a0, $s0
/* B86700 8010F560 0C03EF19 */ jal GfxPrint_Close
/* B86704 8010F564 02002025 */ move $a0, $s0
/* B86708 8010F568 8FB90064 */ lw $t9, 0x64($sp)
/* B8670C 8010F56C 02002025 */ move $a0, $s0
/* B86710 8010F570 0C03EF05 */ jal GfxPrint_Destroy
/* B86714 8010F574 AF220000 */ sw $v0, ($t9)
/* B86718 8010F578 8FBF0024 */ lw $ra, 0x24($sp)
/* B8671C 8010F57C 8FB00020 */ lw $s0, 0x20($sp)
/* B86720 8010F580 27BD0060 */ addiu $sp, $sp, 0x60
/* B86724 8010F584 03E00008 */ jr $ra
/* B86728 8010F588 00000000 */ nop

View file

@ -1,102 +0,0 @@
.rdata
glabel D_801549C4
.asciz "../z_message_PAL.c"
.balign 4
glabel D_801549D8
.asciz "../z_message_PAL.c"
.balign 4
.text
glabel func_8010F58C
/* B8672C 8010F58C 27BDFFA8 */ addiu $sp, $sp, -0x58
/* B86730 8010F590 AFBF001C */ sw $ra, 0x1c($sp)
/* B86734 8010F594 AFB10018 */ sw $s1, 0x18($sp)
/* B86738 8010F598 AFB00014 */ sw $s0, 0x14($sp)
/* B8673C 8010F59C 8C850000 */ lw $a1, ($a0)
/* B86740 8010F5A0 00808825 */ move $s1, $a0
/* B86744 8010F5A4 3C068015 */ lui $a2, %hi(D_801549C4) # $a2, 0x8015
/* B86748 8010F5A8 24C649C4 */ addiu $a2, %lo(D_801549C4) # addiu $a2, $a2, 0x49c4
/* B8674C 8010F5AC 27A40038 */ addiu $a0, $sp, 0x38
/* B86750 8010F5B0 24070DE2 */ li $a3, 3554
/* B86754 8010F5B4 0C031AB1 */ jal Graph_OpenDisps
/* B86758 8010F5B8 00A08025 */ move $s0, $a1
/* B8675C 8010F5BC 3C0E8016 */ lui $t6, %hi(gSaveContext+0xf40) # $t6, 0x8016
/* B86760 8010F5C0 91CEF5A0 */ lbu $t6, %lo(gSaveContext+0xf40)($t6)
/* B86764 8010F5C4 27A4004E */ addiu $a0, $sp, 0x4e
/* B86768 8010F5C8 A7AE004E */ sh $t6, 0x4e($sp)
/* B8676C 8010F5CC 0C043CB3 */ jal func_8010F2CC
/* B86770 8010F5D0 8E250000 */ lw $a1, ($s1)
/* B86774 8010F5D4 3C0F8016 */ lui $t7, %hi(gGameInfo) # $t7, 0x8016
/* B86778 8010F5D8 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7)
/* B8677C 8010F5DC 3C190001 */ lui $t9, 1
/* B86780 8010F5E0 0331C821 */ addu $t9, $t9, $s1
/* B86784 8010F5E4 85F812D4 */ lh $t8, 0x12d4($t7)
/* B86788 8010F5E8 5300001E */ beql $t8, $zero, .L8010F664
/* B8678C 8010F5EC 8E0402C0 */ lw $a0, 0x2c0($s0)
/* B86790 8010F5F0 973903D0 */ lhu $t9, 0x3d0($t9)
/* B86794 8010F5F4 5320001B */ beql $t9, $zero, .L8010F664
/* B86798 8010F5F8 8E0402C0 */ lw $a0, 0x2c0($s0)
/* B8679C 8010F5FC 8E0402C0 */ lw $a0, 0x2c0($s0)
/* B867A0 8010F600 0C031B08 */ jal Graph_GfxPlusOne
/* B867A4 8010F604 AFA40050 */ sw $a0, 0x50($sp)
/* B867A8 8010F608 AFA20054 */ sw $v0, 0x54($sp)
/* B867AC 8010F60C 8E0302B0 */ lw $v1, 0x2b0($s0)
/* B867B0 8010F610 3C09DE00 */ lui $t1, 0xde00
/* B867B4 8010F614 02202025 */ move $a0, $s1
/* B867B8 8010F618 24680008 */ addiu $t0, $v1, 8
/* B867BC 8010F61C AE0802B0 */ sw $t0, 0x2b0($s0)
/* B867C0 8010F620 AC690000 */ sw $t1, ($v1)
/* B867C4 8010F624 8FAA0054 */ lw $t2, 0x54($sp)
/* B867C8 8010F628 27A50054 */ addiu $a1, $sp, 0x54
/* B867CC 8010F62C 0C043D25 */ jal func_8010F494
/* B867D0 8010F630 AC6A0004 */ sw $t2, 4($v1)
/* B867D4 8010F634 8FAB0054 */ lw $t3, 0x54($sp)
/* B867D8 8010F638 3C0DDF00 */ lui $t5, 0xdf00
/* B867DC 8010F63C 256C0008 */ addiu $t4, $t3, 8
/* B867E0 8010F640 AFAC0054 */ sw $t4, 0x54($sp)
/* B867E4 8010F644 AD600004 */ sw $zero, 4($t3)
/* B867E8 8010F648 AD6D0000 */ sw $t5, ($t3)
/* B867EC 8010F64C 8FA50054 */ lw $a1, 0x54($sp)
/* B867F0 8010F650 0C031B0A */ jal Graph_BranchDlist
/* B867F4 8010F654 8FA40050 */ lw $a0, 0x50($sp)
/* B867F8 8010F658 8FAE0054 */ lw $t6, 0x54($sp)
/* B867FC 8010F65C AE0E02C0 */ sw $t6, 0x2c0($s0)
/* B86800 8010F660 8E0402C0 */ lw $a0, 0x2c0($s0)
.L8010F664:
/* B86804 8010F664 0C031B08 */ jal Graph_GfxPlusOne
/* B86808 8010F668 AFA40050 */ sw $a0, 0x50($sp)
/* B8680C 8010F66C AFA20054 */ sw $v0, 0x54($sp)
/* B86810 8010F670 8E0302B0 */ lw $v1, 0x2b0($s0)
/* B86814 8010F674 3C18DE00 */ lui $t8, 0xde00
/* B86818 8010F678 02202025 */ move $a0, $s1
/* B8681C 8010F67C 246F0008 */ addiu $t7, $v1, 8
/* B86820 8010F680 AE0F02B0 */ sw $t7, 0x2b0($s0)
/* B86824 8010F684 AC780000 */ sw $t8, ($v1)
/* B86828 8010F688 8FB90054 */ lw $t9, 0x54($sp)
/* B8682C 8010F68C 27A50054 */ addiu $a1, $sp, 0x54
/* B86830 8010F690 0C0430E7 */ jal func_8010C39C
/* B86834 8010F694 AC790004 */ sw $t9, 4($v1)
/* B86838 8010F698 8FA80054 */ lw $t0, 0x54($sp)
/* B8683C 8010F69C 3C0ADF00 */ lui $t2, 0xdf00
/* B86840 8010F6A0 25090008 */ addiu $t1, $t0, 8
/* B86844 8010F6A4 AFA90054 */ sw $t1, 0x54($sp)
/* B86848 8010F6A8 AD000004 */ sw $zero, 4($t0)
/* B8684C 8010F6AC AD0A0000 */ sw $t2, ($t0)
/* B86850 8010F6B0 8FA50054 */ lw $a1, 0x54($sp)
/* B86854 8010F6B4 0C031B0A */ jal Graph_BranchDlist
/* B86858 8010F6B8 8FA40050 */ lw $a0, 0x50($sp)
/* B8685C 8010F6BC 8FAB0054 */ lw $t3, 0x54($sp)
/* B86860 8010F6C0 3C068015 */ lui $a2, %hi(D_801549D8) # $a2, 0x8015
/* B86864 8010F6C4 24C649D8 */ addiu $a2, %lo(D_801549D8) # addiu $a2, $a2, 0x49d8
/* B86868 8010F6C8 AE0B02C0 */ sw $t3, 0x2c0($s0)
/* B8686C 8010F6CC 8E250000 */ lw $a1, ($s1)
/* B86870 8010F6D0 27A40038 */ addiu $a0, $sp, 0x38
/* B86874 8010F6D4 0C031AD5 */ jal Graph_CloseDisps
/* B86878 8010F6D8 24070DFE */ li $a3, 3582
/* B8687C 8010F6DC 8FBF001C */ lw $ra, 0x1c($sp)
/* B86880 8010F6E0 8FB00014 */ lw $s0, 0x14($sp)
/* B86884 8010F6E4 8FB10018 */ lw $s1, 0x18($sp)
/* B86888 8010F6E8 03E00008 */ jr $ra
/* B8688C 8010F6EC 27BD0058 */ addiu $sp, $sp, 0x58

View file

@ -1,980 +0,0 @@
.rdata
glabel D_801549EC
.asciz "msgno=%d\n"
.balign 4
glabel D_801549F8
# Message found = %x
.asciz " , = %x\n"
.balign 4
glabel D_80154A20
.asciz "dxpos=%d dypos=%d dypos1 dypos2=%d\n"
.balign 4
glabel D_80154A48
.asciz "message->msg_disp_type=%x\n"
.balign 4
glabel D_80154A64
.asciz "OCARINA_MODE=%d -> "
.balign 4
glabel D_80154A78
.asciz "InRaceSeq=%d(%d) OCARINA_MODE=%d --> "
.balign 4
glabel D_80154AA0
.asciz "OCARINA_MODE=%d\n"
.balign 4
glabel D_80154AB4
.asciz "select=%d\n"
.balign 4
glabel D_80154AC0
.asciz "\x1b[32m"
.balign 4
glabel D_80154AC8
.asciz "day_time=%x active_camera=%d "
.balign 4
glabel D_80154AE8
.asciz "=== day_time=%x "
.balign 4
glabel D_80154AFC
.asciz "\x1b[m"
.balign 4
glabel D_80154B00
.asciz "OCARINA_MODE=%d chk_ocarina_no=%d\n"
.balign 4
.late_rodata
glabel jtbl_80154CC4
.word L8010F8F8
.word L8010FCE0
.word L8010FCF0
.word L8010FD24
.word L8010FD80
.word L8010FDB0
.word L8010FE10
.word L8010FE58
.text
glabel func_8010F6F0
/* B86890 8010F6F0 27BDFFA8 */ addiu $sp, $sp, -0x58
/* B86894 8010F6F4 AFBF001C */ sw $ra, 0x1c($sp)
/* B86898 8010F6F8 AFA40058 */ sw $a0, 0x58($sp)
/* B8689C 8010F6FC 3C098016 */ lui $t1, %hi(gGameInfo) # $t1, 0x8016
/* B868A0 8010F700 8C8F1C44 */ lw $t7, 0x1c44($a0)
/* B868A4 8010F704 2529FA90 */ addiu $t1, %lo(gGameInfo) # addiu $t1, $t1, -0x570
/* B868A8 8010F708 8D260000 */ lw $a2, ($t1)
/* B868AC 8010F70C AFAF004C */ sw $t7, 0x4c($sp)
/* B868B0 8010F710 24820014 */ addiu $v0, $a0, 0x14
/* B868B4 8010F714 84D812D4 */ lh $t8, 0x12d4($a2)
/* B868B8 8010F718 5300004E */ beql $t8, $zero, .L8010F854
/* B868BC 8010F71C 8FB80058 */ lw $t8, 0x58($sp)
/* B868C0 8010F720 9459000C */ lhu $t9, 0xc($v0)
/* B868C4 8010F724 2401FBFF */ li $at, -1025
/* B868C8 8010F728 03215027 */ nor $t2, $t9, $at
/* B868CC 8010F72C 5540001D */ bnezl $t2, .L8010F7A4
/* B868D0 8010F730 84D90530 */ lh $t9, 0x530($a2)
/* B868D4 8010F734 944B0000 */ lhu $t3, ($v0)
/* B868D8 8010F738 2401FFDF */ li $at, -33
/* B868DC 8010F73C 3C048015 */ lui $a0, %hi(D_801549EC) # $a0, 0x8015
/* B868E0 8010F740 01616027 */ nor $t4, $t3, $at
/* B868E4 8010F744 15800016 */ bnez $t4, .L8010F7A0
/* B868E8 8010F748 248449EC */ addiu $a0, %lo(D_801549EC) # addiu $a0, $a0, 0x49ec
/* B868EC 8010F74C 3C058015 */ lui $a1, %hi(D_80153D78) # $a1, 0x8015
/* B868F0 8010F750 0C00084C */ jal osSyncPrintf
/* B868F4 8010F754 94A53D78 */ lhu $a1, %lo(D_80153D78)($a1)
/* B868F8 8010F758 3C098016 */ lui $t1, %hi(gGameInfo) # $t1, 0x8016
/* B868FC 8010F75C 2529FA90 */ addiu $t1, %lo(gGameInfo) # addiu $t1, $t1, -0x570
/* B86900 8010F760 8D2D0000 */ lw $t5, ($t1)
/* B86904 8010F764 8FA40058 */ lw $a0, 0x58($sp)
/* B86908 8010F768 00003025 */ move $a2, $zero
/* B8690C 8010F76C 0C042DA0 */ jal func_8010B680
/* B86910 8010F770 95A50532 */ lhu $a1, 0x532($t5)
/* B86914 8010F774 3C0F8015 */ lui $t7, %hi(D_80153D78) # $t7, 0x8015
/* B86918 8010F778 95EF3D78 */ lhu $t7, %lo(D_80153D78)($t7)
/* B8691C 8010F77C 2401000A */ li $at, 10
/* B86920 8010F780 3C098016 */ lui $t1, %hi(gGameInfo) # $t1, 0x8016
/* B86924 8010F784 25F80001 */ addiu $t8, $t7, 1
/* B86928 8010F788 0301001A */ div $zero, $t8, $at
/* B8692C 8010F78C 00007010 */ mfhi $t6
/* B86930 8010F790 3C018015 */ lui $at, %hi(D_80153D78) # $at, 0x8015
/* B86934 8010F794 2529FA90 */ addiu $t1, %lo(gGameInfo) # addiu $t1, $t1, -0x570
/* B86938 8010F798 A42E3D78 */ sh $t6, %lo(D_80153D78)($at)
/* B8693C 8010F79C 8D260000 */ lw $a2, ($t1)
.L8010F7A0:
/* B86940 8010F7A0 84D90530 */ lh $t9, 0x530($a2)
.L8010F7A4:
/* B86944 8010F7A4 5320002B */ beql $t9, $zero, .L8010F854
/* B86948 8010F7A8 8FB80058 */ lw $t8, 0x58($sp)
/* B8694C 8010F7AC 84C50532 */ lh $a1, 0x532($a2)
/* B86950 8010F7B0 34078000 */ li $a3, 32768
/* B86954 8010F7B4 3C088015 */ lui $t0, %hi(D_801538F0) # $t0, 0x8015
/* B86958 8010F7B8 10E50025 */ beq $a3, $a1, .L8010F850
/* B8695C 8010F7BC 250838F0 */ addiu $t0, %lo(D_801538F0) # addiu $t0, $t0, 0x38f0
/* B86960 8010F7C0 3404FFFD */ li $a0, 65533
/* B86964 8010F7C4 8D020000 */ lw $v0, ($t0)
.L8010F7C8:
/* B86968 8010F7C8 24AF0001 */ addiu $t7, $a1, 1
/* B8696C 8010F7CC 94430000 */ lhu $v1, ($v0)
/* B86970 8010F7D0 5083001B */ beql $a0, $v1, .L8010F840
/* B86974 8010F7D4 A4CF0532 */ sh $t7, 0x532($a2)
.L8010F7D8:
/* B86978 8010F7D8 54650015 */ bnel $v1, $a1, .L8010F830
/* B8697C 8010F7DC 94430008 */ lhu $v1, 8($v0)
/* B86980 8010F7E0 3C048015 */ lui $a0, %hi(D_801549F8) # $a0, 0x8015
/* B86984 8010F7E4 0C00084C */ jal osSyncPrintf
/* B86988 8010F7E8 248449F8 */ addiu $a0, %lo(D_801549F8) # addiu $a0, $a0, 0x49f8
/* B8698C 8010F7EC 3C098016 */ lui $t1, %hi(gGameInfo) # $t1, 0x8016
/* B86990 8010F7F0 2529FA90 */ addiu $t1, %lo(gGameInfo) # addiu $t1, $t1, -0x570
/* B86994 8010F7F4 8D2A0000 */ lw $t2, ($t1)
/* B86998 8010F7F8 8FA40058 */ lw $a0, 0x58($sp)
/* B8699C 8010F7FC 00003025 */ move $a2, $zero
/* B869A0 8010F800 0C042DA0 */ jal func_8010B680
/* B869A4 8010F804 95450532 */ lhu $a1, 0x532($t2)
/* B869A8 8010F808 3C098016 */ lui $t1, %hi(gGameInfo) # $t1, 0x8016
/* B869AC 8010F80C 2529FA90 */ addiu $t1, %lo(gGameInfo) # addiu $t1, $t1, -0x570
/* B869B0 8010F810 8D260000 */ lw $a2, ($t1)
/* B869B4 8010F814 84CB0532 */ lh $t3, 0x532($a2)
/* B869B8 8010F818 256C0001 */ addiu $t4, $t3, 1
/* B869BC 8010F81C A4CC0532 */ sh $t4, 0x532($a2)
/* B869C0 8010F820 8D2D0000 */ lw $t5, ($t1)
/* B869C4 8010F824 100002F5 */ b .L801103FC
/* B869C8 8010F828 A5A00530 */ sh $zero, 0x530($t5)
/* B869CC 8010F82C 94430008 */ lhu $v1, 8($v0)
.L8010F830:
/* B869D0 8010F830 24420008 */ addiu $v0, $v0, 8
/* B869D4 8010F834 1483FFE8 */ bne $a0, $v1, .L8010F7D8
/* B869D8 8010F838 00000000 */ nop
/* B869DC 8010F83C A4CF0532 */ sh $t7, 0x532($a2)
.L8010F840:
/* B869E0 8010F840 8D260000 */ lw $a2, ($t1)
/* B869E4 8010F844 84C50532 */ lh $a1, 0x532($a2)
/* B869E8 8010F848 54E5FFDF */ bnel $a3, $a1, .L8010F7C8
/* B869EC 8010F84C 8D020000 */ lw $v0, ($t0)
.L8010F850:
/* B869F0 8010F850 8FB80058 */ lw $t8, 0x58($sp)
.L8010F854:
/* B869F4 8010F854 34018000 */ li $at, 32768
/* B869F8 8010F858 270E20D8 */ addiu $t6, $t8, 0x20d8
/* B869FC 8010F85C AFAE0030 */ sw $t6, 0x30($sp)
/* B86A00 8010F860 01C14021 */ addu $t0, $t6, $at
/* B86A04 8010F864 8D196300 */ lw $t9, 0x6300($t0)
/* B86A08 8010F868 532002E5 */ beql $t9, $zero, .L80110400
/* B86A0C 8010F86C 8FBF001C */ lw $ra, 0x1c($sp)
/* B86A10 8010F870 91056304 */ lbu $a1, 0x6304($t0)
/* B86A14 8010F874 28A10036 */ slti $at, $a1, 0x36
/* B86A18 8010F878 14200008 */ bnez $at, .L8010F89C
/* B86A1C 8010F87C 24010036 */ li $at, 54
/* B86A20 8010F880 10A1020A */ beq $a1, $at, .L801100AC
/* B86A24 8010F884 8FAC0030 */ lw $t4, 0x30($sp)
/* B86A28 8010F888 24010037 */ li $at, 55
/* B86A2C 8010F88C 50A102DC */ beql $a1, $at, .L80110400
/* B86A30 8010F890 8FBF001C */ lw $ra, 0x1c($sp)
/* B86A34 8010F894 100002D6 */ b .L801103F0
/* B86A38 8010F898 8FAC0030 */ lw $t4, 0x30($sp)
.L8010F89C:
/* B86A3C 8010F89C 28A10035 */ slti $at, $a1, 0x35
/* B86A40 8010F8A0 14200005 */ bnez $at, .L8010F8B8
/* B86A44 8010F8A4 24010035 */ li $at, 53
/* B86A48 8010F8A8 50A10185 */ beql $a1, $at, .L8010FEC0
/* B86A4C 8010F8AC 910263E4 */ lbu $v0, 0x63e4($t0)
/* B86A50 8010F8B0 100002CF */ b .L801103F0
/* B86A54 8010F8B4 8FAC0030 */ lw $t4, 0x30($sp)
.L8010F8B8:
/* B86A58 8010F8B8 28A10009 */ slti $at, $a1, 9
/* B86A5C 8010F8BC 14200006 */ bnez $at, .L8010F8D8
/* B86A60 8010F8C0 24AAFFFF */ addiu $t2, $a1, -1
/* B86A64 8010F8C4 24010034 */ li $at, 52
/* B86A68 8010F8C8 10A1016F */ beq $a1, $at, .L8010FE88
/* B86A6C 8010F8CC 8FA40058 */ lw $a0, 0x58($sp)
/* B86A70 8010F8D0 100002C7 */ b .L801103F0
/* B86A74 8010F8D4 8FAC0030 */ lw $t4, 0x30($sp)
.L8010F8D8:
/* B86A78 8010F8D8 2D410008 */ sltiu $at, $t2, 8
/* B86A7C 8010F8DC 102002C3 */ beqz $at, .L801103EC
/* B86A80 8010F8E0 000A5080 */ sll $t2, $t2, 2
/* B86A84 8010F8E4 3C018015 */ lui $at, %hi(jtbl_80154CC4)
/* B86A88 8010F8E8 002A0821 */ addu $at, $at, $t2
/* B86A8C 8010F8EC 8C2A4CC4 */ lw $t2, %lo(jtbl_80154CC4)($at)
/* B86A90 8010F8F0 01400008 */ jr $t2
/* B86A94 8010F8F4 00000000 */ nop
glabel L8010F8F8
/* B86A98 8010F8F8 3C048015 */ lui $a0, %hi(D_8014B2F4) # $a0, 0x8015
/* B86A9C 8010F8FC 2484B2F4 */ addiu $a0, %lo(D_8014B2F4) # addiu $a0, $a0, -0x4d0c
/* B86AA0 8010F900 908B0000 */ lbu $t3, ($a0)
/* B86AA4 8010F904 24010040 */ li $at, 64
/* B86AA8 8010F908 00001825 */ move $v1, $zero
/* B86AAC 8010F90C 256C0001 */ addiu $t4, $t3, 1
/* B86AB0 8010F910 A08C0000 */ sb $t4, ($a0)
/* B86AB4 8010F914 84C204B2 */ lh $v0, 0x4b2($a2)
/* B86AB8 8010F918 318D00FF */ andi $t5, $t4, 0xff
/* B86ABC 8010F91C 14410005 */ bne $v0, $at, .L8010F934
/* B86AC0 8010F920 29A10004 */ slti $at, $t5, 4
/* B86AC4 8010F924 14200013 */ bnez $at, .L8010F974
/* B86AC8 8010F928 00000000 */ nop
/* B86ACC 8010F92C 10000011 */ b .L8010F974
/* B86AD0 8010F930 24030001 */ li $v1, 1
.L8010F934:
/* B86AD4 8010F934 14400005 */ bnez $v0, .L8010F94C
/* B86AD8 8010F938 8FAF0058 */ lw $t7, 0x58($sp)
/* B86ADC 8010F93C 85F800A4 */ lh $t8, 0xa4($t7)
/* B86AE0 8010F940 24010045 */ li $at, 69
/* B86AE4 8010F944 57010004 */ bnel $t8, $at, .L8010F958
/* B86AE8 8010F948 908E0000 */ lbu $t6, ($a0)
.L8010F94C:
/* B86AEC 8010F94C 10000009 */ b .L8010F974
/* B86AF0 8010F950 24030001 */ li $v1, 1
/* B86AF4 8010F954 908E0000 */ lbu $t6, ($a0)
.L8010F958:
/* B86AF8 8010F958 29C10004 */ slti $at, $t6, 4
/* B86AFC 8010F95C 50200005 */ beql $at, $zero, .L8010F974
/* B86B00 8010F960 24030001 */ li $v1, 1
/* B86B04 8010F964 8D196408 */ lw $t9, 0x6408($t0)
/* B86B08 8010F968 17200002 */ bnez $t9, .L8010F974
/* B86B0C 8010F96C 00000000 */ nop
/* B86B10 8010F970 24030001 */ li $v1, 1
.L8010F974:
/* B86B14 8010F974 506002A2 */ beql $v1, $zero, .L80110400
/* B86B18 8010F978 8FBF001C */ lw $ra, 0x1c($sp)
/* B86B1C 8010F97C 8D0A6408 */ lw $t2, 0x6408($t0)
/* B86B20 8010F980 8FA40058 */ lw $a0, 0x58($sp)
/* B86B24 8010F984 27A70040 */ addiu $a3, $sp, 0x40
/* B86B28 8010F988 5140002E */ beql $t2, $zero, .L8010FA44
/* B86B2C 8010F98C 84D90B24 */ lh $t9, 0xb24($a2)
/* B86B30 8010F990 8C851C44 */ lw $a1, 0x1c44($a0)
/* B86B34 8010F994 AFA80024 */ sw $t0, 0x24($sp)
/* B86B38 8010F998 0C00BCDD */ jal func_8002F374
/* B86B3C 8010F99C 27A60044 */ addiu $a2, $sp, 0x44
/* B86B40 8010F9A0 8FA80024 */ lw $t0, 0x24($sp)
/* B86B44 8010F9A4 8FA40058 */ lw $a0, 0x58($sp)
/* B86B48 8010F9A8 27A60044 */ addiu $a2, $sp, 0x44
/* B86B4C 8010F9AC 27A7003E */ addiu $a3, $sp, 0x3e
/* B86B50 8010F9B0 0C00BCDD */ jal func_8002F374
/* B86B54 8010F9B4 8D056408 */ lw $a1, 0x6408($t0)
/* B86B58 8010F9B8 87A2003E */ lh $v0, 0x3e($sp)
/* B86B5C 8010F9BC 87A70040 */ lh $a3, 0x40($sp)
/* B86B60 8010F9C0 8FA80024 */ lw $t0, 0x24($sp)
/* B86B64 8010F9C4 00E2082A */ slt $at, $a3, $v0
/* B86B68 8010F9C8 14200009 */ bnez $at, .L8010F9F0
/* B86B6C 8010F9CC 0047C023 */ subu $t8, $v0, $a3
/* B86B70 8010F9D0 00E26023 */ subu $t4, $a3, $v0
/* B86B74 8010F9D4 05810003 */ bgez $t4, .L8010F9E4
/* B86B78 8010F9D8 000C6843 */ sra $t5, $t4, 1
/* B86B7C 8010F9DC 25810001 */ addiu $at, $t4, 1
/* B86B80 8010F9E0 00016843 */ sra $t5, $at, 1
.L8010F9E4:
/* B86B84 8010F9E4 01A27821 */ addu $t7, $t5, $v0
/* B86B88 8010F9E8 10000009 */ b .L8010FA10
/* B86B8C 8010F9EC A7AF0042 */ sh $t7, 0x42($sp)
.L8010F9F0:
/* B86B90 8010F9F0 07010003 */ bgez $t8, .L8010FA00
/* B86B94 8010F9F4 00187043 */ sra $t6, $t8, 1
/* B86B98 8010F9F8 27010001 */ addiu $at, $t8, 1
/* B86B9C 8010F9FC 00017043 */ sra $t6, $at, 1
.L8010FA00:
/* B86BA0 8010FA00 01C72021 */ addu $a0, $t6, $a3
/* B86BA4 8010FA04 00042400 */ sll $a0, $a0, 0x10
/* B86BA8 8010FA08 00042403 */ sra $a0, $a0, 0x10
/* B86BAC 8010FA0C A7A40042 */ sh $a0, 0x42($sp)
.L8010FA10:
/* B86BB0 8010FA10 3C048015 */ lui $a0, %hi(D_80154A20) # $a0, 0x8015
/* B86BB4 8010FA14 24844A20 */ addiu $a0, %lo(D_80154A20) # addiu $a0, $a0, 0x4a20
/* B86BB8 8010FA18 87A50044 */ lh $a1, 0x44($sp)
/* B86BBC 8010FA1C 87A60042 */ lh $a2, 0x42($sp)
/* B86BC0 8010FA20 AFA20010 */ sw $v0, 0x10($sp)
/* B86BC4 8010FA24 0C00084C */ jal osSyncPrintf
/* B86BC8 8010FA28 AFA80024 */ sw $t0, 0x24($sp)
/* B86BCC 8010FA2C 3C098016 */ lui $t1, %hi(gGameInfo) # $t1, 0x8016
/* B86BD0 8010FA30 2529FA90 */ addiu $t1, %lo(gGameInfo) # addiu $t1, $t1, -0x570
/* B86BD4 8010FA34 87A40042 */ lh $a0, 0x42($sp)
/* B86BD8 8010FA38 10000007 */ b .L8010FA58
/* B86BDC 8010FA3C 8FA80024 */ lw $t0, 0x24($sp)
/* B86BE0 8010FA40 84D90B24 */ lh $t9, 0xb24($a2)
.L8010FA44:
/* B86BE4 8010FA44 A4D90F14 */ sh $t9, 0xf14($a2)
/* B86BE8 8010FA48 8D260000 */ lw $a2, ($t1)
/* B86BEC 8010FA4C 84CA0B26 */ lh $t2, 0xb26($a2)
/* B86BF0 8010FA50 A4CA0F16 */ sh $t2, 0xf16($a2)
/* B86BF4 8010FA54 87A40042 */ lh $a0, 0x42($sp)
.L8010FA58:
/* B86BF8 8010FA58 910262FE */ lbu $v0, 0x62fe($t0)
/* B86BFC 8010FA5C 910362FD */ lbu $v1, 0x62fd($t0)
/* B86C00 8010FA60 24010001 */ li $at, 1
/* B86C04 8010FA64 1440003E */ bnez $v0, .L8010FB60
/* B86C08 8010FA68 00000000 */ nop
/* B86C0C 8010FA6C 8D260000 */ lw $a2, ($t1)
/* B86C10 8010FA70 8FAC0058 */ lw $t4, 0x58($sp)
/* B86C14 8010FA74 84CB04B2 */ lh $t3, 0x4b2($a2)
/* B86C18 8010FA78 55600006 */ bnezl $t3, .L8010FA94
/* B86C1C 8010FA7C 84CD0B4C */ lh $t5, 0xb4c($a2)
/* B86C20 8010FA80 858200A4 */ lh $v0, 0xa4($t4)
/* B86C24 8010FA84 24010045 */ li $at, 69
/* B86C28 8010FA88 54410011 */ bnel $v0, $at, .L8010FAD0
/* B86C2C 8010FA8C 24010020 */ li $at, 32
/* B86C30 8010FA90 84CD0B4C */ lh $t5, 0xb4c($a2)
.L8010FA94:
/* B86C34 8010FA94 00031040 */ sll $v0, $v1, 1
/* B86C38 8010FA98 3C188015 */ lui $t8, %hi(D_80153D18)
/* B86C3C 8010FA9C 008D082A */ slt $at, $a0, $t5
/* B86C40 8010FAA0 10200007 */ beqz $at, .L8010FAC0
/* B86C44 8010FAA4 0302C021 */ addu $t8, $t8, $v0
/* B86C48 8010FAA8 00031040 */ sll $v0, $v1, 1
/* B86C4C 8010FAAC 3C0F8015 */ lui $t7, %hi(D_80153D0C)
/* B86C50 8010FAB0 01E27821 */ addu $t7, $t7, $v0
/* B86C54 8010FAB4 85EF3D0C */ lh $t7, %lo(D_80153D0C)($t7)
/* B86C58 8010FAB8 10000041 */ b .L8010FBC0
/* B86C5C 8010FABC A4CF0B26 */ sh $t7, 0xb26($a2)
.L8010FAC0:
/* B86C60 8010FAC0 87183D18 */ lh $t8, %lo(D_80153D18)($t8)
/* B86C64 8010FAC4 1000003E */ b .L8010FBC0
/* B86C68 8010FAC8 A4D80B26 */ sh $t8, 0xb26($a2)
/* B86C6C 8010FACC 24010020 */ li $at, 32
.L8010FAD0:
/* B86C70 8010FAD0 10410005 */ beq $v0, $at, .L8010FAE8
/* B86C74 8010FAD4 24010021 */ li $at, 33
/* B86C78 8010FAD8 10410003 */ beq $v0, $at, .L8010FAE8
/* B86C7C 8010FADC 24010022 */ li $at, 34
/* B86C80 8010FAE0 54410011 */ bnel $v0, $at, .L8010FB28
/* B86C84 8010FAE4 84CB0B50 */ lh $t3, 0xb50($a2)
.L8010FAE8:
/* B86C88 8010FAE8 84CE0B4E */ lh $t6, 0xb4e($a2)
/* B86C8C 8010FAEC 00031040 */ sll $v0, $v1, 1
/* B86C90 8010FAF0 3C0A8015 */ lui $t2, %hi(D_80153D18)
/* B86C94 8010FAF4 008E082A */ slt $at, $a0, $t6
/* B86C98 8010FAF8 10200007 */ beqz $at, .L8010FB18
/* B86C9C 8010FAFC 01425021 */ addu $t2, $t2, $v0
/* B86CA0 8010FB00 00031040 */ sll $v0, $v1, 1
/* B86CA4 8010FB04 3C198015 */ lui $t9, %hi(D_80153D0C)
/* B86CA8 8010FB08 0322C821 */ addu $t9, $t9, $v0
/* B86CAC 8010FB0C 87393D0C */ lh $t9, %lo(D_80153D0C)($t9)
/* B86CB0 8010FB10 1000002B */ b .L8010FBC0
/* B86CB4 8010FB14 A4D90B26 */ sh $t9, 0xb26($a2)
.L8010FB18:
/* B86CB8 8010FB18 854A3D18 */ lh $t2, %lo(D_80153D18)($t2)
/* B86CBC 8010FB1C 10000028 */ b .L8010FBC0
/* B86CC0 8010FB20 A4CA0B26 */ sh $t2, 0xb26($a2)
/* B86CC4 8010FB24 84CB0B50 */ lh $t3, 0xb50($a2)
.L8010FB28:
/* B86CC8 8010FB28 00031040 */ sll $v0, $v1, 1
/* B86CCC 8010FB2C 3C0D8015 */ lui $t5, %hi(D_80153D18)
/* B86CD0 8010FB30 008B082A */ slt $at, $a0, $t3
/* B86CD4 8010FB34 10200007 */ beqz $at, .L8010FB54
/* B86CD8 8010FB38 01A26821 */ addu $t5, $t5, $v0
/* B86CDC 8010FB3C 00031040 */ sll $v0, $v1, 1
/* B86CE0 8010FB40 3C0C8015 */ lui $t4, %hi(D_80153D0C)
/* B86CE4 8010FB44 01826021 */ addu $t4, $t4, $v0
/* B86CE8 8010FB48 858C3D0C */ lh $t4, %lo(D_80153D0C)($t4)
/* B86CEC 8010FB4C 1000001C */ b .L8010FBC0
/* B86CF0 8010FB50 A4CC0B26 */ sh $t4, 0xb26($a2)
.L8010FB54:
/* B86CF4 8010FB54 85AD3D18 */ lh $t5, %lo(D_80153D18)($t5)
/* B86CF8 8010FB58 10000019 */ b .L8010FBC0
/* B86CFC 8010FB5C A4CD0B26 */ sh $t5, 0xb26($a2)
.L8010FB60:
/* B86D00 8010FB60 14410008 */ bne $v0, $at, .L8010FB84
/* B86D04 8010FB64 00402025 */ move $a0, $v0
/* B86D08 8010FB68 00031040 */ sll $v0, $v1, 1
/* B86D0C 8010FB6C 3C0F8015 */ lui $t7, %hi(D_80153D18)
/* B86D10 8010FB70 01E27821 */ addu $t7, $t7, $v0
/* B86D14 8010FB74 85EF3D18 */ lh $t7, %lo(D_80153D18)($t7)
/* B86D18 8010FB78 8D380000 */ lw $t8, ($t1)
/* B86D1C 8010FB7C 10000010 */ b .L8010FBC0
/* B86D20 8010FB80 A70F0B26 */ sh $t7, 0xb26($t8)
.L8010FB84:
/* B86D24 8010FB84 24010002 */ li $at, 2
/* B86D28 8010FB88 14810008 */ bne $a0, $at, .L8010FBAC
/* B86D2C 8010FB8C 00031040 */ sll $v0, $v1, 1
/* B86D30 8010FB90 00031040 */ sll $v0, $v1, 1
/* B86D34 8010FB94 3C0E8015 */ lui $t6, %hi(D_80153D24)
/* B86D38 8010FB98 01C27021 */ addu $t6, $t6, $v0
/* B86D3C 8010FB9C 85CE3D24 */ lh $t6, %lo(D_80153D24)($t6)
/* B86D40 8010FBA0 8D390000 */ lw $t9, ($t1)
/* B86D44 8010FBA4 10000006 */ b .L8010FBC0
/* B86D48 8010FBA8 A72E0B26 */ sh $t6, 0xb26($t9)
.L8010FBAC:
/* B86D4C 8010FBAC 3C0A8015 */ lui $t2, %hi(D_80153D0C)
/* B86D50 8010FBB0 01425021 */ addu $t2, $t2, $v0
/* B86D54 8010FBB4 854A3D0C */ lh $t2, %lo(D_80153D0C)($t2)
/* B86D58 8010FBB8 8D2B0000 */ lw $t3, ($t1)
/* B86D5C 8010FBBC A56A0B26 */ sh $t2, 0xb26($t3)
.L8010FBC0:
/* B86D60 8010FBC0 3C0C8015 */ lui $t4, %hi(D_80153D00)
/* B86D64 8010FBC4 01826021 */ addu $t4, $t4, $v0
/* B86D68 8010FBC8 858C3D00 */ lh $t4, %lo(D_80153D00)($t4)
/* B86D6C 8010FBCC 8D2D0000 */ lw $t5, ($t1)
/* B86D70 8010FBD0 3C188015 */ lui $t8, %hi(D_80153D30)
/* B86D74 8010FBD4 0302C021 */ addu $t8, $t8, $v0
/* B86D78 8010FBD8 A5AC0B24 */ sh $t4, 0xb24($t5)
/* B86D7C 8010FBDC 8D260000 */ lw $a2, ($t1)
/* B86D80 8010FBE0 87183D30 */ lh $t8, %lo(D_80153D30)($t8)
/* B86D84 8010FBE4 3C048015 */ lui $a0, %hi(D_80154A48) # $a0, 0x8015
/* B86D88 8010FBE8 84CF0B26 */ lh $t7, 0xb26($a2)
/* B86D8C 8010FBEC 24844A48 */ addiu $a0, %lo(D_80154A48) # addiu $a0, $a0, 0x4a48
/* B86D90 8010FBF0 01F87021 */ addu $t6, $t7, $t8
/* B86D94 8010FBF4 A4CE0B16 */ sh $t6, 0xb16($a2)
/* B86D98 8010FBF8 8D260000 */ lw $a2, ($t1)
/* B86D9C 8010FBFC 84D90B26 */ lh $t9, 0xb26($a2)
/* B86DA0 8010FC00 272A0014 */ addiu $t2, $t9, 0x14
/* B86DA4 8010FC04 A4CA0B1A */ sh $t2, 0xb1a($a2)
/* B86DA8 8010FC08 8D260000 */ lw $a2, ($t1)
/* B86DAC 8010FC0C 84CB0B26 */ lh $t3, 0xb26($a2)
/* B86DB0 8010FC10 256C0020 */ addiu $t4, $t3, 0x20
/* B86DB4 8010FC14 A4CC0B1C */ sh $t4, 0xb1c($a2)
/* B86DB8 8010FC18 8D260000 */ lw $a2, ($t1)
/* B86DBC 8010FC1C 84CD0B26 */ lh $t5, 0xb26($a2)
/* B86DC0 8010FC20 25AF002C */ addiu $t7, $t5, 0x2c
/* B86DC4 8010FC24 A4CF0B1E */ sh $t7, 0xb1e($a2)
/* B86DC8 8010FC28 910562FC */ lbu $a1, 0x62fc($t0)
/* B86DCC 8010FC2C AFA80024 */ sw $t0, 0x24($sp)
/* B86DD0 8010FC30 0C00084C */ jal osSyncPrintf
/* B86DD4 8010FC34 30A500F0 */ andi $a1, $a1, 0xf0
/* B86DD8 8010FC38 8FA80024 */ lw $t0, 0x24($sp)
/* B86DDC 8010FC3C 3C098016 */ lui $t1, %hi(gGameInfo) # $t1, 0x8016
/* B86DE0 8010FC40 24010004 */ li $at, 4
/* B86DE4 8010FC44 910262FD */ lbu $v0, 0x62fd($t0)
/* B86DE8 8010FC48 2529FA90 */ addiu $t1, %lo(gGameInfo) # addiu $t1, $t1, -0x570
/* B86DEC 8010FC4C 8FAE0030 */ lw $t6, 0x30($sp)
/* B86DF0 8010FC50 10410002 */ beq $v0, $at, .L8010FC5C
/* B86DF4 8010FC54 24010005 */ li $at, 5
/* B86DF8 8010FC58 14410015 */ bne $v0, $at, .L8010FCB0
.L8010FC5C:
/* B86DFC 8010FC5C 24180003 */ li $t8, 3
/* B86E00 8010FC60 25C17FFF */ addiu $at, $t6, 0x7fff
/* B86E04 8010FC64 A0386305 */ sb $t8, 0x6305($at)
/* B86E08 8010FC68 8D260000 */ lw $a2, ($t1)
/* B86E0C 8010FC6C 240B0100 */ li $t3, 256
/* B86E10 8010FC70 240D0040 */ li $t5, 64
/* B86E14 8010FC74 84D90B24 */ lh $t9, 0xb24($a2)
/* B86E18 8010FC78 24020200 */ li $v0, 512
/* B86E1C 8010FC7C A4D90F14 */ sh $t9, 0xf14($a2)
/* B86E20 8010FC80 8D260000 */ lw $a2, ($t1)
/* B86E24 8010FC84 84CA0B26 */ lh $t2, 0xb26($a2)
/* B86E28 8010FC88 A4CA0F16 */ sh $t2, 0xf16($a2)
/* B86E2C 8010FC8C 8D2C0000 */ lw $t4, ($t1)
/* B86E30 8010FC90 A58B04C0 */ sh $t3, 0x4c0($t4)
/* B86E34 8010FC94 8D2F0000 */ lw $t7, ($t1)
/* B86E38 8010FC98 A5ED04C2 */ sh $t5, 0x4c2($t7)
/* B86E3C 8010FC9C 8D380000 */ lw $t8, ($t1)
/* B86E40 8010FCA0 A70204B4 */ sh $v0, 0x4b4($t8)
/* B86E44 8010FCA4 8D2E0000 */ lw $t6, ($t1)
/* B86E48 8010FCA8 100001D4 */ b .L801103FC
/* B86E4C 8010FCAC A5C204B6 */ sh $v0, 0x4b6($t6)
.L8010FCB0:
/* B86E50 8010FCB0 0C041C91 */ jal func_80107244
/* B86E54 8010FCB4 8FA40030 */ lw $a0, 0x30($sp)
/* B86E58 8010FCB8 0C03DA47 */ jal Audio_PlaySoundIfNotInCutscene
/* B86E5C 8010FCBC 00002025 */ move $a0, $zero
/* B86E60 8010FCC0 8FB90030 */ lw $t9, 0x30($sp)
/* B86E64 8010FCC4 240A0002 */ li $t2, 2
/* B86E68 8010FCC8 27217FFF */ addiu $at, $t9, 0x7fff
/* B86E6C 8010FCCC A02063E8 */ sb $zero, 0x63e8($at)
/* B86E70 8010FCD0 8FAB0030 */ lw $t3, 0x30($sp)
/* B86E74 8010FCD4 25617FFF */ addiu $at, $t3, 0x7fff
/* B86E78 8010FCD8 100001C8 */ b .L801103FC
/* B86E7C 8010FCDC A02A6305 */ sb $t2, 0x6305($at)
glabel L8010FCE0
/* B86E80 8010FCE0 0C041C91 */ jal func_80107244
/* B86E84 8010FCE4 8FA40030 */ lw $a0, 0x30($sp)
/* B86E88 8010FCE8 100001C5 */ b .L80110400
/* B86E8C 8010FCEC 8FBF001C */ lw $ra, 0x1c($sp)
glabel L8010FCF0
/* B86E90 8010FCF0 8FAD0030 */ lw $t5, 0x30($sp)
/* B86E94 8010FCF4 240C0004 */ li $t4, 4
/* B86E98 8010FCF8 25A17FFF */ addiu $at, $t5, 0x7fff
/* B86E9C 8010FCFC A02C6305 */ sb $t4, 0x6305($at)
/* B86EA0 8010FD00 8D2F0000 */ lw $t7, ($t1)
/* B86EA4 8010FD04 8FA40058 */ lw $a0, 0x58($sp)
/* B86EA8 8010FD08 85F804D2 */ lh $t8, 0x4d2($t7)
/* B86EAC 8010FD0C 570001BC */ bnezl $t8, .L80110400
/* B86EB0 8010FD10 8FBF001C */ lw $ra, 0x1c($sp)
/* B86EB4 8010FD14 0C021BC0 */ jal Interface_SetDoAction
/* B86EB8 8010FD18 24050010 */ li $a1, 16
/* B86EBC 8010FD1C 100001B8 */ b .L80110400
/* B86EC0 8010FD20 8FBF001C */ lw $ra, 0x1c($sp)
glabel L8010FD24
/* B86EC4 8010FD24 8FA40058 */ lw $a0, 0x58($sp)
/* B86EC8 8010FD28 0C0426CF */ jal func_80109B3C
/* B86ECC 8010FD2C AFA80024 */ sw $t0, 0x24($sp)
/* B86ED0 8010FD30 3C0E8015 */ lui $t6, %hi(D_8014B2F0) # $t6, 0x8015
/* B86ED4 8010FD34 85CEB2F0 */ lh $t6, %lo(D_8014B2F0)($t6)
/* B86ED8 8010FD38 8FA80024 */ lw $t0, 0x24($sp)
/* B86EDC 8010FD3C 24040001 */ li $a0, 1
/* B86EE0 8010FD40 11C00004 */ beqz $t6, .L8010FD54
/* B86EE4 8010FD44 00000000 */ nop
/* B86EE8 8010FD48 0C020978 */ jal Interface_ChangeAlpha
/* B86EEC 8010FD4C AFA80024 */ sw $t0, 0x24($sp)
/* B86EF0 8010FD50 8FA80024 */ lw $t0, 0x24($sp)
.L8010FD54:
/* B86EF4 8010FD54 3C198015 */ lui $t9, %hi(D_80153D74) # $t9, 0x8015
/* B86EF8 8010FD58 93393D74 */ lbu $t9, %lo(D_80153D74)($t9)
/* B86EFC 8010FD5C 8FAB0030 */ lw $t3, 0x30($sp)
/* B86F00 8010FD60 532001A7 */ beql $t9, $zero, .L80110400
/* B86F04 8010FD64 8FBF001C */ lw $ra, 0x1c($sp)
/* B86F08 8010FD68 950A63D4 */ lhu $t2, 0x63d4($t0)
/* B86F0C 8010FD6C 25617FFF */ addiu $at, $t3, 0x7fff
/* B86F10 8010FD70 A42A63D3 */ sh $t2, 0x63d3($at)
/* B86F14 8010FD74 3C018015 */ lui $at, %hi(D_80153D74) # $at, 0x8015
/* B86F18 8010FD78 100001A0 */ b .L801103FC
/* B86F1C 8010FD7C A0203D74 */ sb $zero, %lo(D_80153D74)($at)
glabel L8010FD80
/* B86F20 8010FD80 910C63E7 */ lbu $t4, 0x63e7($t0)
/* B86F24 8010FD84 8FAF0030 */ lw $t7, 0x30($sp)
/* B86F28 8010FD88 258DFFFF */ addiu $t5, $t4, -1
/* B86F2C 8010FD8C 25E17FFF */ addiu $at, $t7, 0x7fff
/* B86F30 8010FD90 A02D63E8 */ sb $t5, 0x63e8($at)
/* B86F34 8010FD94 911863E7 */ lbu $t8, 0x63e7($t0)
/* B86F38 8010FD98 57000199 */ bnezl $t8, .L80110400
/* B86F3C 8010FD9C 8FBF001C */ lw $ra, 0x1c($sp)
/* B86F40 8010FDA0 0C0426CF */ jal func_80109B3C
/* B86F44 8010FDA4 8FA40058 */ lw $a0, 0x58($sp)
/* B86F48 8010FDA8 10000195 */ b .L80110400
/* B86F4C 8010FDAC 8FBF001C */ lw $ra, 0x1c($sp)
glabel L8010FDB0
/* B86F50 8010FDB0 910E62FD */ lbu $t6, 0x62fd($t0)
/* B86F54 8010FDB4 24010004 */ li $at, 4
/* B86F58 8010FDB8 51C10191 */ beql $t6, $at, .L80110400
/* B86F5C 8010FDBC 8FBF001C */ lw $ra, 0x1c($sp)
/* B86F60 8010FDC0 84D904D2 */ lh $t9, 0x4d2($a2)
/* B86F64 8010FDC4 8FAA0058 */ lw $t2, 0x58($sp)
/* B86F68 8010FDC8 5720018D */ bnezl $t9, .L80110400
/* B86F6C 8010FDCC 8FBF001C */ lw $ra, 0x1c($sp)
/* B86F70 8010FDD0 954B0020 */ lhu $t3, 0x20($t2)
/* B86F74 8010FDD4 2401BFFF */ li $at, -16385
/* B86F78 8010FDD8 01616027 */ nor $t4, $t3, $at
/* B86F7C 8010FDDC 55800188 */ bnezl $t4, .L80110400
/* B86F80 8010FDE0 8FBF001C */ lw $ra, 0x1c($sp)
/* B86F84 8010FDE4 950D63D6 */ lhu $t5, 0x63d6($t0)
/* B86F88 8010FDE8 240F0001 */ li $t7, 1
/* B86F8C 8010FDEC 3C018015 */ lui $at, %hi(D_8014B300) # $at, 0x8015
/* B86F90 8010FDF0 55A00183 */ bnezl $t5, .L80110400
/* B86F94 8010FDF4 8FBF001C */ lw $ra, 0x1c($sp)
/* B86F98 8010FDF8 8FAE0030 */ lw $t6, 0x30($sp)
/* B86F9C 8010FDFC A02FB300 */ sb $t7, %lo(D_8014B300)($at)
/* B86FA0 8010FE00 951863D4 */ lhu $t8, 0x63d4($t0)
/* B86FA4 8010FE04 25C17FFF */ addiu $at, $t6, 0x7fff
/* B86FA8 8010FE08 1000017C */ b .L801103FC
/* B86FAC 8010FE0C A43863D3 */ sh $t8, 0x63d3($at)
glabel L8010FE10
/* B86FB0 8010FE10 84D904D2 */ lh $t9, 0x4d2($a2)
/* B86FB4 8010FE14 8FA40058 */ lw $a0, 0x58($sp)
/* B86FB8 8010FE18 57200179 */ bnezl $t9, .L80110400
/* B86FBC 8010FE1C 8FBF001C */ lw $ra, 0x1c($sp)
/* B86FC0 8010FE20 0C041AF2 */ jal func_80106BC8
/* B86FC4 8010FE24 AFA80024 */ sw $t0, 0x24($sp)
/* B86FC8 8010FE28 10400174 */ beqz $v0, .L801103FC
/* B86FCC 8010FE2C 8FA80024 */ lw $t0, 0x24($sp)
/* B86FD0 8010FE30 8FAB0030 */ lw $t3, 0x30($sp)
/* B86FD4 8010FE34 240A0006 */ li $t2, 6
/* B86FD8 8010FE38 25617FFF */ addiu $at, $t3, 0x7fff
/* B86FDC 8010FE3C A02A6305 */ sb $t2, 0x6305($at)
/* B86FE0 8010FE40 8FAF0030 */ lw $t7, 0x30($sp)
/* B86FE4 8010FE44 950C63D2 */ lhu $t4, 0x63d2($t0)
/* B86FE8 8010FE48 25E17FFF */ addiu $at, $t7, 0x7fff
/* B86FEC 8010FE4C 258D0001 */ addiu $t5, $t4, 1
/* B86FF0 8010FE50 1000016A */ b .L801103FC
/* B86FF4 8010FE54 A42D63D3 */ sh $t5, 0x63d3($at)
glabel L8010FE58
/* B86FF8 8010FE58 911863E7 */ lbu $t8, 0x63e7($t0)
/* B86FFC 8010FE5C 8FB90030 */ lw $t9, 0x30($sp)
/* B87000 8010FE60 270EFFFF */ addiu $t6, $t8, -1
/* B87004 8010FE64 27217FFF */ addiu $at, $t9, 0x7fff
/* B87008 8010FE68 A02E63E8 */ sb $t6, 0x63e8($at)
/* B8700C 8010FE6C 910A63E7 */ lbu $t2, 0x63e7($t0)
/* B87010 8010FE70 8FAC0030 */ lw $t4, 0x30($sp)
/* B87014 8010FE74 15400161 */ bnez $t2, .L801103FC
/* B87018 8010FE78 25817FFF */ addiu $at, $t4, 0x7fff
/* B8701C 8010FE7C 240B0004 */ li $t3, 4
/* B87020 8010FE80 1000015E */ b .L801103FC
/* B87024 8010FE84 A02B6305 */ sb $t3, 0x6305($at)
.L8010FE88:
/* B87028 8010FE88 0C041AF2 */ jal func_80106BC8
/* B8702C 8010FE8C AFA80024 */ sw $t0, 0x24($sp)
/* B87030 8010FE90 1040015A */ beqz $v0, .L801103FC
/* B87034 8010FE94 8FA80024 */ lw $t0, 0x24($sp)
/* B87038 8010FE98 8FA20030 */ lw $v0, 0x30($sp)
/* B8703C 8010FE9C 240D0004 */ li $t5, 4
/* B87040 8010FEA0 24417FFF */ addiu $at, $v0, 0x7fff
/* B87044 8010FEA4 A02D6305 */ sb $t5, 0x6305($at)
/* B87048 8010FEA8 A42063D7 */ sh $zero, 0x63d7($at)
/* B8704C 8010FEAC 950F63CE */ lhu $t7, 0x63ce($t0)
/* B87050 8010FEB0 25F80001 */ addiu $t8, $t7, 1
/* B87054 8010FEB4 10000151 */ b .L801103FC
/* B87058 8010FEB8 A43863CF */ sh $t8, 0x63cf($at)
/* B8705C 8010FEBC 910263E4 */ lbu $v0, 0x63e4($t0)
.L8010FEC0:
/* B87060 8010FEC0 24010060 */ li $at, 96
/* B87064 8010FEC4 8FAA0030 */ lw $t2, 0x30($sp)
/* B87068 8010FEC8 5441000D */ bnel $v0, $at, .L8010FF00
/* B8706C 8010FECC 24010040 */ li $at, 64
/* B87070 8010FED0 910E63E7 */ lbu $t6, 0x63e7($t0)
/* B87074 8010FED4 25417FFF */ addiu $at, $t2, 0x7fff
/* B87078 8010FED8 25D9FFFF */ addiu $t9, $t6, -1
/* B8707C 8010FEDC A03963E8 */ sb $t9, 0x63e8($at)
/* B87080 8010FEE0 910B63E7 */ lbu $t3, 0x63e7($t0)
/* B87084 8010FEE4 55600146 */ bnezl $t3, .L80110400
/* B87088 8010FEE8 8FBF001C */ lw $ra, 0x1c($sp)
/* B8708C 8010FEEC 0C041B33 */ jal func_80106CCC
/* B87090 8010FEF0 8FA40058 */ lw $a0, 0x58($sp)
/* B87094 8010FEF4 10000142 */ b .L80110400
/* B87098 8010FEF8 8FBF001C */ lw $ra, 0x1c($sp)
/* B8709C 8010FEFC 24010040 */ li $at, 64
.L8010FF00:
/* B870A0 8010FF00 1041013E */ beq $v0, $at, .L801103FC
/* B870A4 8010FF04 24010050 */ li $at, 80
/* B870A8 8010FF08 5041013D */ beql $v0, $at, .L80110400
/* B870AC 8010FF0C 8FBF001C */ lw $ra, 0x1c($sp)
/* B870B0 8010FF10 84CC04D2 */ lh $t4, 0x4d2($a2)
/* B870B4 8010FF14 24010010 */ li $at, 16
/* B870B8 8010FF18 55800139 */ bnezl $t4, .L80110400
/* B870BC 8010FF1C 8FBF001C */ lw $ra, 0x1c($sp)
/* B870C0 8010FF20 14410034 */ bne $v0, $at, .L8010FFF4
/* B870C4 8010FF24 8FAD0058 */ lw $t5, 0x58($sp)
/* B870C8 8010FF28 3C010001 */ lui $at, 1
/* B870CC 8010FF2C 01A11021 */ addu $v0, $t5, $at
/* B870D0 8010FF30 944F04C6 */ lhu $t7, 0x4c6($v0)
/* B870D4 8010FF34 24010001 */ li $at, 1
/* B870D8 8010FF38 01A02025 */ move $a0, $t5
/* B870DC 8010FF3C 55E1002E */ bnel $t7, $at, .L8010FFF8
/* B870E0 8010FF40 8FA40058 */ lw $a0, 0x58($sp)
/* B870E4 8010FF44 AFA20030 */ sw $v0, 0x30($sp)
/* B870E8 8010FF48 0C041AF2 */ jal func_80106BC8
/* B870EC 8010FF4C AFA80024 */ sw $t0, 0x24($sp)
/* B870F0 8010FF50 1040012A */ beqz $v0, .L801103FC
/* B870F4 8010FF54 8FA80024 */ lw $t0, 0x24($sp)
/* B870F8 8010FF58 8FB80030 */ lw $t8, 0x30($sp)
/* B870FC 8010FF5C 3C048015 */ lui $a0, %hi(D_80154A64) # $a0, 0x8015
/* B87100 8010FF60 24844A64 */ addiu $a0, %lo(D_80154A64) # addiu $a0, $a0, 0x4a64
/* B87104 8010FF64 970504C6 */ lhu $a1, 0x4c6($t8)
/* B87108 8010FF68 0C00084C */ jal osSyncPrintf
/* B8710C 8010FF6C AFA80024 */ sw $t0, 0x24($sp)
/* B87110 8010FF70 8FA80024 */ lw $t0, 0x24($sp)
/* B87114 8010FF74 3C038016 */ lui $v1, %hi(gSaveContext) # $v1, 0x8016
/* B87118 8010FF78 3C048015 */ lui $a0, %hi(D_80154A78) # $a0, 0x8015
/* B8711C 8010FF7C 910E63E5 */ lbu $t6, 0x63e5($t0)
/* B87120 8010FF80 2463E660 */ addiu $v1, %lo(gSaveContext) # addiu $v1, $v1, -0x19a0
/* B87124 8010FF84 8FAC0058 */ lw $t4, 0x58($sp)
/* B87128 8010FF88 15C00007 */ bnez $t6, .L8010FFA8
/* B8712C 8010FF8C 24844A78 */ addiu $a0, %lo(D_80154A78) # addiu $a0, $a0, 0x4a78
/* B87130 8010FF90 8FAA0058 */ lw $t2, 0x58($sp)
/* B87134 8010FF94 3C010001 */ lui $at, 1
/* B87138 8010FF98 24190002 */ li $t9, 2
/* B8713C 8010FF9C 002A0821 */ addu $at, $at, $t2
/* B87140 8010FFA0 10000005 */ b .L8010FFB8
/* B87144 8010FFA4 A43904C6 */ sh $t9, 0x4c6($at)
.L8010FFA8:
/* B87148 8010FFA8 3C010001 */ lui $at, 1
/* B8714C 8010FFAC 002C0821 */ addu $at, $at, $t4
/* B87150 8010FFB0 240B0004 */ li $t3, 4
/* B87154 8010FFB4 A42B04C6 */ sh $t3, 0x4c6($at)
.L8010FFB8:
/* B87158 8010FFB8 946513FA */ lhu $a1, 0x13fa($v1)
/* B8715C 8010FFBC 8FAF0030 */ lw $t7, 0x30($sp)
/* B87160 8010FFC0 24060001 */ li $a2, 1
/* B87164 8010FFC4 30A5000F */ andi $a1, $a1, 0xf
/* B87168 8010FFC8 0C00084C */ jal osSyncPrintf
/* B8716C 8010FFCC 95E704C6 */ lhu $a3, 0x4c6($t7)
/* B87170 8010FFD0 0C041B33 */ jal func_80106CCC
/* B87174 8010FFD4 8FA40058 */ lw $a0, 0x58($sp)
/* B87178 8010FFD8 8FAD0030 */ lw $t5, 0x30($sp)
/* B8717C 8010FFDC 3C048015 */ lui $a0, %hi(D_80154AA0) # $a0, 0x8015
/* B87180 8010FFE0 24844AA0 */ addiu $a0, %lo(D_80154AA0) # addiu $a0, $a0, 0x4aa0
/* B87184 8010FFE4 0C00084C */ jal osSyncPrintf
/* B87188 8010FFE8 95A504C6 */ lhu $a1, 0x4c6($t5)
/* B8718C 8010FFEC 10000104 */ b .L80110400
/* B87190 8010FFF0 8FBF001C */ lw $ra, 0x1c($sp)
.L8010FFF4:
/* B87194 8010FFF4 8FA40058 */ lw $a0, 0x58($sp)
.L8010FFF8:
/* B87198 8010FFF8 0C041B22 */ jal func_80106C88
/* B8719C 8010FFFC AFA80024 */ sw $t0, 0x24($sp)
/* B871A0 80110000 104000FE */ beqz $v0, .L801103FC
/* B871A4 80110004 8FA80024 */ lw $t0, 0x24($sp)
/* B871A8 80110008 3C048015 */ lui $a0, %hi(D_80154AB4) # $a0, 0x8015
/* B871AC 8011000C 910563E4 */ lbu $a1, 0x63e4($t0)
/* B871B0 80110010 AFA80024 */ sw $t0, 0x24($sp)
/* B871B4 80110014 0C00084C */ jal osSyncPrintf
/* B871B8 80110018 24844AB4 */ addiu $a0, %lo(D_80154AB4) # addiu $a0, $a0, 0x4ab4
/* B871BC 8011001C 8FA80024 */ lw $t0, 0x24($sp)
/* B871C0 80110020 24010030 */ li $at, 48
/* B871C4 80110024 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* B871C8 80110028 911863E4 */ lbu $t8, 0x63e4($t0)
/* B871CC 8011002C 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* B871D0 80110030 24044808 */ li $a0, 18440
/* B871D4 80110034 17010012 */ bne $t8, $at, .L80110080
/* B871D8 80110038 3C058013 */ lui $a1, %hi(D_801333D4)
/* B871DC 8011003C 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* B871E0 80110040 3C0E8013 */ lui $t6, %hi(D_801333E8) # $t6, 0x8013
/* B871E4 80110044 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* B871E8 80110048 25CE33E8 */ addiu $t6, %lo(D_801333E8) # addiu $t6, $t6, 0x33e8
/* B871EC 8011004C 3C058013 */ lui $a1, %hi(D_801333D4) # $a1, 0x8013
/* B871F0 80110050 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4
/* B871F4 80110054 AFAE0014 */ sw $t6, 0x14($sp)
/* B871F8 80110058 AFA70010 */ sw $a3, 0x10($sp)
/* B871FC 8011005C 24044818 */ li $a0, 18456
/* B87200 80110060 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* B87204 80110064 24060004 */ li $a2, 4
/* B87208 80110068 3C058015 */ lui $a1, %hi(D_8014B304) # $a1, 0x8015
/* B8720C 8011006C 94A5B304 */ lhu $a1, %lo(D_8014B304)($a1)
/* B87210 80110070 0C042DC8 */ jal func_8010B720
/* B87214 80110074 8FA40058 */ lw $a0, 0x58($sp)
/* B87218 80110078 100000E1 */ b .L80110400
/* B8721C 8011007C 8FBF001C */ lw $ra, 0x1c($sp)
.L80110080:
/* B87220 80110080 3C198013 */ lui $t9, %hi(D_801333E8) # $t9, 0x8013
/* B87224 80110084 273933E8 */ addiu $t9, %lo(D_801333E8) # addiu $t9, $t9, 0x33e8
/* B87228 80110088 AFB90014 */ sw $t9, 0x14($sp)
/* B8722C 8011008C 24A533D4 */ addiu $a1, %lo(D_801333D4) # addiu $a1, $a1, 0x33d4
/* B87230 80110090 24060004 */ li $a2, 4
/* B87234 80110094 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* B87238 80110098 AFA70010 */ sw $a3, 0x10($sp)
/* B8723C 8011009C 0C041B33 */ jal func_80106CCC
/* B87240 801100A0 8FA40058 */ lw $a0, 0x58($sp)
/* B87244 801100A4 100000D6 */ b .L80110400
/* B87248 801100A8 8FBF001C */ lw $ra, 0x1c($sp)
.L801100AC:
/* B8724C 801100AC 910A63E7 */ lbu $t2, 0x63e7($t0)
/* B87250 801100B0 25817FFF */ addiu $at, $t4, 0x7fff
/* B87254 801100B4 254BFFFF */ addiu $t3, $t2, -1
/* B87258 801100B8 A02B63E8 */ sb $t3, 0x63e8($at)
/* B8725C 801100BC 910F63E7 */ lbu $t7, 0x63e7($t0)
/* B87260 801100C0 55E000CF */ bnezl $t7, .L80110400
/* B87264 801100C4 8FBF001C */ lw $ra, 0x1c($sp)
/* B87268 801100C8 950262F8 */ lhu $v0, 0x62f8($t0)
/* B8726C 801100CC 284100C2 */ slti $at, $v0, 0xc2
/* B87270 801100D0 14200002 */ bnez $at, .L801100DC
/* B87274 801100D4 284100C7 */ slti $at, $v0, 0xc7
/* B87278 801100D8 14200004 */ bnez $at, .L801100EC
.L801100DC:
/* B8727C 801100DC 284100FA */ slti $at, $v0, 0xfa
/* B87280 801100E0 14200007 */ bnez $at, .L80110100
/* B87284 801100E4 284100FE */ slti $at, $v0, 0xfe
/* B87288 801100E8 10200005 */ beqz $at, .L80110100
.L801100EC:
/* B8728C 801100EC 3C038016 */ lui $v1, %hi(gSaveContext) # $v1, 0x8016
/* B87290 801100F0 2463E660 */ addiu $v1, %lo(gSaveContext) # addiu $v1, $v1, -0x19a0
/* B87294 801100F4 240D0140 */ li $t5, 320
/* B87298 801100F8 A46D1424 */ sh $t5, 0x1424($v1)
/* B8729C 801100FC 950262F8 */ lhu $v0, 0x62f8($t0)
.L80110100:
/* B872A0 80110100 3C038016 */ lui $v1, %hi(gSaveContext) # $v1, 0x8016
/* B872A4 80110104 2401301F */ li $at, 12319
/* B872A8 80110108 10410011 */ beq $v0, $at, .L80110150
/* B872AC 8011010C 2463E660 */ addiu $v1, %lo(gSaveContext) # addiu $v1, $v1, -0x19a0
/* B872B0 80110110 2401000A */ li $at, 10
/* B872B4 80110114 1041000E */ beq $v0, $at, .L80110150
/* B872B8 80110118 2401000C */ li $at, 12
/* B872BC 8011011C 1041000C */ beq $v0, $at, .L80110150
/* B872C0 80110120 240100CF */ li $at, 207
/* B872C4 80110124 1041000A */ beq $v0, $at, .L80110150
/* B872C8 80110128 2401021C */ li $at, 540
/* B872CC 8011012C 10410008 */ beq $v0, $at, .L80110150
/* B872D0 80110130 24010009 */ li $at, 9
/* B872D4 80110134 10410006 */ beq $v0, $at, .L80110150
/* B872D8 80110138 24014078 */ li $at, 16504
/* B872DC 8011013C 10410004 */ beq $v0, $at, .L80110150
/* B872E0 80110140 24012015 */ li $at, 8213
/* B872E4 80110144 10410002 */ beq $v0, $at, .L80110150
/* B872E8 80110148 24013040 */ li $at, 12352
/* B872EC 8011014C 14410002 */ bne $v0, $at, .L80110158
.L80110150:
/* B872F0 80110150 24180032 */ li $t8, 50
/* B872F4 80110154 A47813EE */ sh $t8, 0x13ee($v1)
.L80110158:
/* B872F8 80110158 8FAE0058 */ lw $t6, 0x58($sp)
/* B872FC 8011015C 3C048015 */ lui $a0, %hi(D_80154AC0) # $a0, 0x8015
/* B87300 80110160 24844AC0 */ addiu $a0, %lo(D_80154AC0) # addiu $a0, $a0, 0x4ac0
/* B87304 80110164 91D91D6C */ lbu $t9, 0x1d6c($t6)
/* B87308 80110168 1720003E */ bnez $t9, .L80110264
/* B8730C 8011016C 00000000 */ nop
/* B87310 80110170 0C00084C */ jal osSyncPrintf
/* B87314 80110174 AFA80024 */ sw $t0, 0x24($sp)
/* B87318 80110178 8FAA0058 */ lw $t2, 0x58($sp)
/* B8731C 8011017C 3C038016 */ lui $v1, %hi(gSaveContext) # $v1, 0x8016
/* B87320 80110180 2463E660 */ addiu $v1, %lo(gSaveContext) # addiu $v1, $v1, -0x19a0
/* B87324 80110184 3C048015 */ lui $a0, %hi(D_80154AC8) # $a0, 0x8015
/* B87328 80110188 24844AC8 */ addiu $a0, %lo(D_80154AC8) # addiu $a0, $a0, 0x4ac8
/* B8732C 8011018C 8C650008 */ lw $a1, 8($v1)
/* B87330 80110190 0C00084C */ jal osSyncPrintf
/* B87334 80110194 854607A0 */ lh $a2, 0x7a0($t2)
/* B87338 80110198 8FA80024 */ lw $t0, 0x24($sp)
/* B8733C 8011019C 3C038016 */ lui $v1, %hi(gSaveContext) # $v1, 0x8016
/* B87340 801101A0 24012061 */ li $at, 8289
/* B87344 801101A4 950262F8 */ lhu $v0, 0x62f8($t0)
/* B87348 801101A8 2463E660 */ addiu $v1, %lo(gSaveContext) # addiu $v1, $v1, -0x19a0
/* B8734C 801101AC 1041002D */ beq $v0, $at, .L80110264
/* B87350 801101B0 24012025 */ li $at, 8229
/* B87354 801101B4 1041002B */ beq $v0, $at, .L80110264
/* B87358 801101B8 2401208C */ li $at, 8332
/* B8735C 801101BC 10410029 */ beq $v0, $at, .L80110264
/* B87360 801101C0 2841088D */ slti $at, $v0, 0x88d
/* B87364 801101C4 14200005 */ bnez $at, .L801101DC
/* B87368 801101C8 28410893 */ slti $at, $v0, 0x893
/* B8736C 801101CC 50200004 */ beql $at, $zero, .L801101E0
/* B87370 801101D0 24013055 */ li $at, 12373
/* B87374 801101D4 910B63E5 */ lbu $t3, 0x63e5($t0)
/* B87378 801101D8 11600022 */ beqz $t3, .L80110264
.L801101DC:
/* B8737C 801101DC 24013055 */ li $at, 12373
.L801101E0:
/* B87380 801101E0 10410020 */ beq $v0, $at, .L80110264
/* B87384 801101E4 00000000 */ nop
/* B87388 801101E8 8C620008 */ lw $v0, 8($v1)
/* B8738C 801101EC 3401FFF0 */ li $at, 65520
/* B87390 801101F0 3C048015 */ lui $a0, %hi(D_80154AE8) # $a0, 0x8015
/* B87394 801101F4 0041082A */ slt $at, $v0, $at
/* B87398 801101F8 1020001A */ beqz $at, .L80110264
/* B8739C 801101FC 00402825 */ move $a1, $v0
/* B873A0 80110200 24844AE8 */ addiu $a0, %lo(D_80154AE8) # addiu $a0, $a0, 0x4ae8
/* B873A4 80110204 0C00084C */ jal osSyncPrintf
/* B873A8 80110208 AFA80024 */ sw $t0, 0x24($sp)
/* B873AC 8011020C 8FAC0058 */ lw $t4, 0x58($sp)
/* B873B0 80110210 3C038016 */ lui $v1, %hi(gSaveContext) # $v1, 0x8016
/* B873B4 80110214 2463E660 */ addiu $v1, %lo(gSaveContext) # addiu $v1, $v1, -0x19a0
/* B873B8 80110218 858F07A0 */ lh $t7, 0x7a0($t4)
/* B873BC 8011021C 8FA80024 */ lw $t0, 0x24($sp)
/* B873C0 80110220 15E00010 */ bnez $t7, .L80110264
/* B873C4 80110224 00000000 */ nop
/* B873C8 80110228 946413EE */ lhu $a0, 0x13ee($v1)
/* B873CC 8011022C 24010001 */ li $at, 1
/* B873D0 80110230 240D0032 */ li $t5, 50
/* B873D4 80110234 50800006 */ beql $a0, $zero, .L80110250
/* B873D8 80110238 A46D13EE */ sh $t5, 0x13ee($v1)
/* B873DC 8011023C 10810003 */ beq $a0, $at, .L8011024C
/* B873E0 80110240 24010002 */ li $at, 2
/* B873E4 80110244 54810004 */ bnel $a0, $at, .L80110258
/* B873E8 80110248 A46013EA */ sh $zero, 0x13ea($v1)
.L8011024C:
/* B873EC 8011024C A46D13EE */ sh $t5, 0x13ee($v1)
.L80110250:
/* B873F0 80110250 31A4FFFF */ andi $a0, $t5, 0xffff
/* B873F4 80110254 A46013EA */ sh $zero, 0x13ea($v1)
.L80110258:
/* B873F8 80110258 0C020978 */ jal Interface_ChangeAlpha
/* B873FC 8011025C AFA80024 */ sw $t0, 0x24($sp)
/* B87400 80110260 8FA80024 */ lw $t0, 0x24($sp)
.L80110264:
/* B87404 80110264 3C048015 */ lui $a0, %hi(D_80154AFC) # $a0, 0x8015
/* B87408 80110268 24844AFC */ addiu $a0, %lo(D_80154AFC) # addiu $a0, $a0, 0x4afc
/* B8740C 8011026C 0C00084C */ jal osSyncPrintf
/* B87410 80110270 AFA80024 */ sw $t0, 0x24($sp)
/* B87414 80110274 8FA40030 */ lw $a0, 0x30($sp)
/* B87418 80110278 8FA70058 */ lw $a3, 0x58($sp)
/* B8741C 8011027C 8FA80024 */ lw $t0, 0x24($sp)
/* B87420 80110280 24817FFF */ addiu $at, $a0, 0x7fff
/* B87424 80110284 AC206301 */ sw $zero, 0x6301($at)
/* B87428 80110288 A0206305 */ sb $zero, 0x6305($at)
/* B8742C 8011028C 3C010001 */ lui $at, (0x000104F0 >> 16) # lui $at, 1
/* B87430 80110290 342104F0 */ ori $at, (0x000104F0 & 0xFFFF) # ori $at, $at, 0x4f0
/* B87434 80110294 00E11021 */ addu $v0, $a3, $at
/* B87438 80110298 A44001FC */ sh $zero, 0x1fc($v0)
/* B8743C 8011029C 845801FC */ lh $t8, 0x1fc($v0)
/* B87440 801102A0 24817FFF */ addiu $at, $a0, 0x7fff
/* B87444 801102A4 3C038016 */ lui $v1, %hi(gSaveContext) # $v1, 0x8016
/* B87448 801102A8 A45801FA */ sh $t8, 0x1fa($v0)
/* B8744C 801102AC A02063E8 */ sb $zero, 0x63e8($at)
/* B87450 801102B0 910E63E7 */ lbu $t6, 0x63e7($t0)
/* B87454 801102B4 3C050001 */ lui $a1, 1
/* B87458 801102B8 2463E660 */ addiu $v1, %lo(gSaveContext) # addiu $v1, $v1, -0x19a0
/* B8745C 801102BC A42E62F9 */ sh $t6, 0x62f9($at)
/* B87460 801102C0 911963E4 */ lbu $t9, 0x63e4($t0)
/* B87464 801102C4 24010040 */ li $at, 64
/* B87468 801102C8 240A0002 */ li $t2, 2
/* B8746C 801102CC 17210007 */ bne $t9, $at, .L801102EC
/* B87470 801102D0 00A72821 */ addu $a1, $a1, $a3
/* B87474 801102D4 24817FFF */ addiu $at, $a0, 0x7fff
/* B87478 801102D8 A02063E5 */ sb $zero, 0x63e5($at)
/* B8747C 801102DC 3C010001 */ lui $at, 1
/* B87480 801102E0 00270821 */ addu $at, $at, $a3
/* B87484 801102E4 10000003 */ b .L801102F4
/* B87488 801102E8 A42A04C6 */ sh $t2, 0x4c6($at)
.L801102EC:
/* B8748C 801102EC 24817FFF */ addiu $at, $a0, 0x7fff
/* B87490 801102F0 A02063E5 */ sb $zero, 0x63e5($at)
.L801102F4:
/* B87494 801102F4 8C6200A4 */ lw $v0, 0xa4($v1)
/* B87498 801102F8 3C01F000 */ lui $at, 0xf000
/* B8749C 801102FC 3C048015 */ lui $a0, %hi(D_80154B00) # $a0, 0x8015
/* B874A0 80110300 00415824 */ and $t3, $v0, $at
/* B874A4 80110304 3C014000 */ lui $at, 0x4000
/* B874A8 80110308 1561000A */ bne $t3, $at, .L80110334
/* B874AC 8011030C 24844B00 */ addiu $a0, %lo(D_80154B00) # addiu $a0, $a0, 0x4b00
/* B874B0 80110310 846F002E */ lh $t7, 0x2e($v1)
/* B874B4 80110314 84780030 */ lh $t8, 0x30($v1)
/* B874B8 80110318 3C014000 */ lui $at, 0x4000
/* B874BC 8011031C 00416026 */ xor $t4, $v0, $at
/* B874C0 80110320 25ED0010 */ addiu $t5, $t7, 0x10
/* B874C4 80110324 270E0010 */ addiu $t6, $t8, 0x10
/* B874C8 80110328 AC6C00A4 */ sw $t4, 0xa4($v1)
/* B874CC 8011032C A46D002E */ sh $t5, 0x2e($v1)
/* B874D0 80110330 A46E0030 */ sh $t6, 0x30($v1)
.L80110334:
/* B874D4 80110334 950363F0 */ lhu $v1, 0x63f0($t0)
/* B874D8 80110338 24010031 */ li $at, 49
/* B874DC 8011033C 3C198015 */ lui $t9, %hi(D_8014B310) # $t9, 0x8015
/* B874E0 80110340 50610023 */ beql $v1, $at, .L801103D0
/* B874E4 80110344 240A00FF */ li $t2, 255
/* B874E8 80110348 8739B310 */ lh $t9, %lo(D_8014B310)($t9)
/* B874EC 8011034C 24010006 */ li $at, 6
/* B874F0 80110350 8FAB004C */ lw $t3, 0x4c($sp)
/* B874F4 80110354 17210009 */ bne $t9, $at, .L8011037C
/* B874F8 80110358 240AFF20 */ li $t2, -224
/* B874FC 8011035C A56A0690 */ sh $t2, 0x690($t3)
/* B87500 80110360 8FAC004C */ lw $t4, 0x4c($sp)
/* B87504 80110364 3C010001 */ lui $at, 1
/* B87508 80110368 8D82068C */ lw $v0, 0x68c($t4)
/* B8750C 8011036C 8C4F0004 */ lw $t7, 4($v0)
/* B87510 80110370 01E16825 */ or $t5, $t7, $at
/* B87514 80110374 AC4D0004 */ sw $t5, 4($v0)
/* B87518 80110378 950363F0 */ lhu $v1, 0x63f0($t0)
.L8011037C:
/* B8751C 8011037C 24010029 */ li $at, 41
/* B87520 80110380 14610012 */ bne $v1, $at, .L801103CC
/* B87524 80110384 3C020001 */ lui $v0, 1
/* B87528 80110388 00471021 */ addu $v0, $v0, $a3
/* B8752C 8011038C 944204C6 */ lhu $v0, 0x4c6($v0)
/* B87530 80110390 24010001 */ li $at, 1
/* B87534 80110394 24180004 */ li $t8, 4
/* B87538 80110398 10410002 */ beq $v0, $at, .L801103A4
/* B8753C 8011039C 2401000B */ li $at, 11
/* B87540 801103A0 1441000A */ bne $v0, $at, .L801103CC
.L801103A4:
/* B87544 801103A4 3C010001 */ lui $at, 1
/* B87548 801103A8 00270821 */ addu $at, $at, $a3
/* B8754C 801103AC A43804C6 */ sh $t8, 0x4c6($at)
/* B87550 801103B0 950E63F2 */ lhu $t6, 0x63f2($t0)
/* B87554 801103B4 24010009 */ li $at, 9
/* B87558 801103B8 24190001 */ li $t9, 1
/* B8755C 801103BC 15C10003 */ bne $t6, $at, .L801103CC
/* B87560 801103C0 3C010001 */ lui $at, 1
/* B87564 801103C4 00270821 */ addu $at, $at, $a3
/* B87568 801103C8 A43904C6 */ sh $t9, 0x4c6($at)
.L801103CC:
/* B8756C 801103CC 240A00FF */ li $t2, 255
.L801103D0:
/* B87570 801103D0 3C018015 */ lui $at, %hi(D_8014B310) # $at, 0x8015
/* B87574 801103D4 A42AB310 */ sh $t2, %lo(D_8014B310)($at)
/* B87578 801103D8 950663F2 */ lhu $a2, 0x63f2($t0)
/* B8757C 801103DC 0C00084C */ jal osSyncPrintf
/* B87580 801103E0 94A504C6 */ lhu $a1, 0x4c6($a1)
/* B87584 801103E4 10000006 */ b .L80110400
/* B87588 801103E8 8FBF001C */ lw $ra, 0x1c($sp)
.L801103EC:
/* B8758C 801103EC 8FAC0030 */ lw $t4, 0x30($sp)
.L801103F0:
/* B87590 801103F0 240B00FF */ li $t3, 255
/* B87594 801103F4 25817FFF */ addiu $at, $t4, 0x7fff
/* B87598 801103F8 A02B6411 */ sb $t3, 0x6411($at)
.L801103FC:
/* B8759C 801103FC 8FBF001C */ lw $ra, 0x1c($sp)
.L80110400:
/* B875A0 80110400 27BD0058 */ addiu $sp, $sp, 0x58
/* B875A4 80110404 03E00008 */ jr $ra
/* B875A8 80110408 00000000 */ nop

View file

@ -1,19 +0,0 @@
glabel func_8011040C
/* B875AC 8011040C 3C0E8015 */ lui $t6, %hi(D_8014B320) # $t6, 0x8015
/* B875B0 80110410 25CEB320 */ addiu $t6, %lo(D_8014B320) # addiu $t6, $t6, -0x4ce0
/* B875B4 80110414 3C018015 */ lui $at, %hi(D_801538F0) # $at, 0x8015
/* B875B8 80110418 AC2E38F0 */ sw $t6, %lo(D_801538F0)($at)
/* B875BC 8011041C 3C0F8015 */ lui $t7, %hi(D_8014F548) # $t7, 0x8015
/* B875C0 80110420 25EFF548 */ addiu $t7, %lo(D_8014F548) # addiu $t7, $t7, -0xab8
/* B875C4 80110424 3C018015 */ lui $at, %hi(D_801538F4) # $at, 0x8015
/* B875C8 80110428 AC2F38F4 */ sw $t7, %lo(D_801538F4)($at)
/* B875CC 8011042C 3C188015 */ lui $t8, %hi(D_80151658) # $t8, 0x8015
/* B875D0 80110430 27181658 */ addiu $t8, %lo(D_80151658) # addiu $t8, $t8, 0x1658
/* B875D4 80110434 3C018015 */ lui $at, %hi(D_801538F8) # $at, 0x8015
/* B875D8 80110438 AC3838F8 */ sw $t8, %lo(D_801538F8)($at)
/* B875DC 8011043C 3C198015 */ lui $t9, %hi(D_80153768) # $t9, 0x8015
/* B875E0 80110440 27393768 */ addiu $t9, %lo(D_80153768) # addiu $t9, $t9, 0x3768
/* B875E4 80110444 3C018015 */ lui $at, %hi(D_801538FC)
/* B875E8 80110448 03E00008 */ jr $ra
/* B875EC 8011044C AC3938FC */ sw $t9, %lo(D_801538FC)($at)

View file

@ -726,14 +726,14 @@ glabel L808D8220
/* 01A54 808D82C4 8FA40074 */ lw $a0, 0x0074($sp)
/* 01A58 808D82C8 14610004 */ bne $v1, $at, .L808D82DC
/* 01A5C 808D82CC 240570C8 */ addiu $a1, $zero, 0x70C8 ## $a1 = 000070C8
/* 01A60 808D82D0 0C042DA0 */ jal func_8010B680
/* 01A60 808D82D0 0C042DA0 */ jal Message_StartTextbox
/* 01A64 808D82D4 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 01A68 808D82D8 8E030674 */ lw $v1, 0x0674($s0) ## 00000674
.L808D82DC:
/* 01A6C 808D82DC 2C6100B5 */ sltiu $at, $v1, 0x00B5
/* 01A70 808D82E0 142002FC */ bne $at, $zero, .L808D8ED4
/* 01A74 808D82E4 8FA40074 */ lw $a0, 0x0074($sp)
/* 01A78 808D82E8 0C042F6F */ jal func_8010BDBC
/* 01A78 808D82E8 0C042F6F */ jal Message_GetState
/* 01A7C 808D82EC 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
/* 01A80 808D82F0 144002F8 */ bne $v0, $zero, .L808D8ED4
/* 01A84 808D82F4 240E000F */ addiu $t6, $zero, 0x000F ## $t6 = 0000000F
@ -756,14 +756,14 @@ glabel L808D8308
/* 01AC4 808D8334 8FA40074 */ lw $a0, 0x0074($sp)
/* 01AC8 808D8338 14610004 */ bne $v1, $at, .L808D834C
/* 01ACC 808D833C 240570C9 */ addiu $a1, $zero, 0x70C9 ## $a1 = 000070C9
/* 01AD0 808D8340 0C042DA0 */ jal func_8010B680
/* 01AD0 808D8340 0C042DA0 */ jal Message_StartTextbox
/* 01AD4 808D8344 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 01AD8 808D8348 8E030674 */ lw $v1, 0x0674($s0) ## 00000674
.L808D834C:
/* 01ADC 808D834C 2C610065 */ sltiu $at, $v1, 0x0065
/* 01AE0 808D8350 142002E0 */ bne $at, $zero, .L808D8ED4
/* 01AE4 808D8354 8FA40074 */ lw $a0, 0x0074($sp)
/* 01AE8 808D8358 0C042F6F */ jal func_8010BDBC
/* 01AE8 808D8358 0C042F6F */ jal Message_GetState
/* 01AEC 808D835C 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
/* 01AF0 808D8360 144002DC */ bne $v0, $zero, .L808D8ED4
/* 01AF4 808D8364 24180010 */ addiu $t8, $zero, 0x0010 ## $t8 = 00000010
@ -811,7 +811,7 @@ glabel L808D83A4
/* 01B90 808D8400 1040000D */ beq $v0, $zero, .L808D8438
/* 01B94 808D8404 8FA40074 */ lw $a0, 0x0074($sp)
/* 01B98 808D8408 240570CA */ addiu $a1, $zero, 0x70CA ## $a1 = 000070CA
/* 01B9C 808D840C 0C042DA0 */ jal func_8010B680
/* 01B9C 808D840C 0C042DA0 */ jal Message_StartTextbox
/* 01BA0 808D8410 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 01BA4 808D8414 3C050601 */ lui $a1, %hi(D_060089F8) ## $a1 = 06010000
/* 01BA8 808D8418 24A589F8 */ addiu $a1, $a1, %lo(D_060089F8) ## $a1 = 060089F8
@ -828,7 +828,7 @@ glabel L808D83A4
/* 01BD0 808D8440 2D610065 */ sltiu $at, $t3, 0x0065
/* 01BD4 808D8444 542002A4 */ bnel $at, $zero, .L808D8ED8
/* 01BD8 808D8448 8605067A */ lh $a1, 0x067A($s0) ## 0000067A
/* 01BDC 808D844C 0C042F6F */ jal func_8010BDBC
/* 01BDC 808D844C 0C042F6F */ jal Message_GetState
/* 01BE0 808D8450 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
/* 01BE4 808D8454 1440029F */ bne $v0, $zero, .L808D8ED4
/* 01BE8 808D8458 240C0011 */ addiu $t4, $zero, 0x0011 ## $t4 = 00000011
@ -916,7 +916,7 @@ glabel L808D8468
/* 01D0C 808D857C E60606F4 */ swc1 $f6, 0x06F4($s0) ## 000006F4
/* 01D10 808D8580 8FA40074 */ lw $a0, 0x0074($sp)
/* 01D14 808D8584 240570CB */ addiu $a1, $zero, 0x70CB ## $a1 = 000070CB
/* 01D18 808D8588 0C042DA0 */ jal func_8010B680
/* 01D18 808D8588 0C042DA0 */ jal Message_StartTextbox
/* 01D1C 808D858C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 01D20 808D8590 10000251 */ beq $zero, $zero, .L808D8ED8
/* 01D24 808D8594 8605067A */ lh $a1, 0x067A($s0) ## 0000067A
@ -960,7 +960,7 @@ glabel L808D8598
/* 01DB4 808D8624 2D010033 */ sltiu $at, $t0, 0x0033
/* 01DB8 808D8628 5420022B */ bnel $at, $zero, .L808D8ED8
/* 01DBC 808D862C 8605067A */ lh $a1, 0x067A($s0) ## 0000067A
/* 01DC0 808D8630 0C042F6F */ jal func_8010BDBC
/* 01DC0 808D8630 0C042F6F */ jal Message_GetState
/* 01DC4 808D8634 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
/* 01DC8 808D8638 14400226 */ bne $v0, $zero, .L808D8ED4
/* 01DCC 808D863C 24090013 */ addiu $t1, $zero, 0x0013 ## $t1 = 00000013
@ -968,7 +968,7 @@ glabel L808D8598
/* 01DD4 808D8644 AE000674 */ sw $zero, 0x0674($s0) ## 00000674
/* 01DD8 808D8648 8FA40074 */ lw $a0, 0x0074($sp)
/* 01DDC 808D864C 240570CC */ addiu $a1, $zero, 0x70CC ## $a1 = 000070CC
/* 01DE0 808D8650 0C042DA0 */ jal func_8010B680
/* 01DE0 808D8650 0C042DA0 */ jal Message_StartTextbox
/* 01DE4 808D8654 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 01DE8 808D8658 3C050600 */ lui $a1, %hi(D_06007268) ## $a1 = 06000000
/* 01DEC 808D865C 24A57268 */ addiu $a1, $a1, %lo(D_06007268) ## $a1 = 06007268
@ -1073,7 +1073,7 @@ glabel L808D86B4
/* 01F54 808D87C4 2C610051 */ sltiu $at, $v1, 0x0051
/* 01F58 808D87C8 142001C2 */ bne $at, $zero, .L808D8ED4
/* 01F5C 808D87CC 8FA40074 */ lw $a0, 0x0074($sp)
/* 01F60 808D87D0 0C042F6F */ jal func_8010BDBC
/* 01F60 808D87D0 0C042F6F */ jal Message_GetState
/* 01F64 808D87D4 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
/* 01F68 808D87D8 144001BE */ bne $v0, $zero, .L808D8ED4
/* 01F6C 808D87DC 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000
@ -1229,7 +1229,7 @@ glabel L808D8980
/* 02190 808D8A00 E6060694 */ swc1 $f6, 0x0694($s0) ## 00000694
/* 02194 808D8A04 8FA40074 */ lw $a0, 0x0074($sp)
/* 02198 808D8A08 240570CD */ addiu $a1, $zero, 0x70CD ## $a1 = 000070CD
/* 0219C 808D8A0C 0C042DA0 */ jal func_8010B680
/* 0219C 808D8A0C 0C042DA0 */ jal Message_StartTextbox
/* 021A0 808D8A10 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 021A4 808D8A14 8E030674 */ lw $v1, 0x0674($s0) ## 00000674
.L808D8A18:
@ -1237,7 +1237,7 @@ glabel L808D8980
/* 021AC 808D8A1C 5420012E */ bnel $at, $zero, .L808D8ED8
/* 021B0 808D8A20 8605067A */ lh $a1, 0x067A($s0) ## 0000067A
/* 021B4 808D8A24 8FA40074 */ lw $a0, 0x0074($sp)
/* 021B8 808D8A28 0C042F6F */ jal func_8010BDBC
/* 021B8 808D8A28 0C042F6F */ jal Message_GetState
/* 021BC 808D8A2C 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
/* 021C0 808D8A30 14400128 */ bne $v0, $zero, .L808D8ED4
/* 021C4 808D8A34 240A0016 */ addiu $t2, $zero, 0x0016 ## $t2 = 00000016

View file

@ -302,7 +302,7 @@ glabel L808D95A8
/* 02D9C 808D960C AE000674 */ sw $zero, 0x0674($s0) ## 00000674
/* 02DA0 808D9610 8FA400B4 */ lw $a0, 0x00B4($sp)
/* 02DA4 808D9614 240570CE */ addiu $a1, $zero, 0x70CE ## $a1 = 000070CE
/* 02DA8 808D9618 0C042DA0 */ jal func_8010B680
/* 02DA8 808D9618 0C042DA0 */ jal Message_StartTextbox
/* 02DAC 808D961C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 02DB0 808D9620 3C01447A */ lui $at, 0x447A ## $at = 447A0000
/* 02DB4 808D9624 44813000 */ mtc1 $at, $f6 ## $f6 = 1000.00
@ -373,7 +373,7 @@ glabel L808D9654
/* 02EA0 808D9710 2D810065 */ sltiu $at, $t4, 0x0065
/* 02EA4 808D9714 54200015 */ bnel $at, $zero, .L808D976C
/* 02EA8 808D9718 3C014180 */ lui $at, 0x4180 ## $at = 41800000
/* 02EAC 808D971C 0C042F6F */ jal func_8010BDBC
/* 02EAC 808D971C 0C042F6F */ jal Message_GetState
/* 02EB0 808D9720 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
/* 02EB4 808D9724 14400010 */ bne $v0, $zero, .L808D9768
/* 02EB8 808D9728 8FA40054 */ lw $a0, 0x0054($sp)
@ -499,7 +499,7 @@ glabel L808D98C8
/* 03068 808D98D8 A20D01A0 */ sb $t5, 0x01A0($s0) ## 000001A0
/* 0306C 808D98DC 8FA400B4 */ lw $a0, 0x00B4($sp)
/* 03070 808D98E0 240570CF */ addiu $a1, $zero, 0x70CF ## $a1 = 000070CF
/* 03074 808D98E4 0C042DA0 */ jal func_8010B680
/* 03074 808D98E4 0C042DA0 */ jal Message_StartTextbox
/* 03078 808D98E8 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 0307C 808D98EC 240F0005 */ addiu $t7, $zero, 0x0005 ## $t7 = 00000005
/* 03080 808D98F0 A60F0678 */ sh $t7, 0x0678($s0) ## 00000678
@ -514,7 +514,7 @@ glabel L808D9900
/* 0309C 808D990C 2F210047 */ sltiu $at, $t9, 0x0047
/* 030A0 808D9910 1420004E */ bne $at, $zero, .L808D9A4C
/* 030A4 808D9914 8FA400B4 */ lw $a0, 0x00B4($sp)
/* 030A8 808D9918 0C042F6F */ jal func_8010BDBC
/* 030A8 808D9918 0C042F6F */ jal Message_GetState
/* 030AC 808D991C 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
/* 030B0 808D9920 1440004A */ bne $v0, $zero, .L808D9A4C
/* 030B4 808D9924 24090006 */ addiu $t1, $zero, 0x0006 ## $t1 = 00000006
@ -1331,14 +1331,14 @@ glabel L808DA450
/* 03C60 808DA4D0 460A4401 */ sub.s $f16, $f8, $f10
/* 03C64 808DA4D4 14610004 */ bne $v1, $at, .L808DA4E8
/* 03C68 808DA4D8 E6100694 */ swc1 $f16, 0x0694($s0) ## 00000694
/* 03C6C 808DA4DC 0C042DA0 */ jal func_8010B680
/* 03C6C 808DA4DC 0C042DA0 */ jal Message_StartTextbox
/* 03C70 808DA4E0 8FA400B4 */ lw $a0, 0x00B4($sp)
/* 03C74 808DA4E4 8E030674 */ lw $v1, 0x0674($s0) ## 00000674
.L808DA4E8:
/* 03C78 808DA4E8 2C610065 */ sltiu $at, $v1, 0x0065
/* 03C7C 808DA4EC 14200007 */ bne $at, $zero, .L808DA50C
/* 03C80 808DA4F0 8FA400B4 */ lw $a0, 0x00B4($sp)
/* 03C84 808DA4F4 0C042F6F */ jal func_8010BDBC
/* 03C84 808DA4F4 0C042F6F */ jal Message_GetState
/* 03C88 808DA4F8 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
/* 03C8C 808DA4FC 14400003 */ bne $v0, $zero, .L808DA50C
/* 03C90 808DA500 240B041F */ addiu $t3, $zero, 0x041F ## $t3 = 0000041F
@ -1579,14 +1579,14 @@ glabel L808DA77C
/* 03FF4 808DA864 14610005 */ bne $v1, $at, .L808DA87C
/* 03FF8 808DA868 8FA400B4 */ lw $a0, 0x00B4($sp)
/* 03FFC 808DA86C 240570D1 */ addiu $a1, $zero, 0x70D1 ## $a1 = 000070D1
/* 04000 808DA870 0C042DA0 */ jal func_8010B680
/* 04000 808DA870 0C042DA0 */ jal Message_StartTextbox
/* 04004 808DA874 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 04008 808DA878 8E030674 */ lw $v1, 0x0674($s0) ## 00000674
.L808DA87C:
/* 0400C 808DA87C 2C610097 */ sltiu $at, $v1, 0x0097
/* 04010 808DA880 1420000F */ bne $at, $zero, .L808DA8C0
/* 04014 808DA884 8FA400B4 */ lw $a0, 0x00B4($sp)
/* 04018 808DA888 0C042F6F */ jal func_8010BDBC
/* 04018 808DA888 0C042F6F */ jal Message_GetState
/* 0401C 808DA88C 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
/* 04020 808DA890 1440000B */ bne $v0, $zero, .L808DA8C0
/* 04024 808DA894 2418006B */ addiu $t8, $zero, 0x006B ## $t8 = 0000006B
@ -1594,7 +1594,7 @@ glabel L808DA77C
/* 0402C 808DA89C AE000674 */ sw $zero, 0x0674($s0) ## 00000674
/* 04030 808DA8A0 8FA400B4 */ lw $a0, 0x00B4($sp)
/* 04034 808DA8A4 240570D2 */ addiu $a1, $zero, 0x70D2 ## $a1 = 000070D2
/* 04038 808DA8A8 0C042DA0 */ jal func_8010B680
/* 04038 808DA8A8 0C042DA0 */ jal Message_StartTextbox
/* 0403C 808DA8AC 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 04040 808DA8B0 8FA400B4 */ lw $a0, 0x00B4($sp)
/* 04044 808DA8B4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
@ -1666,7 +1666,7 @@ glabel L808DA8C8
/* 04140 808DA9B0 1420000D */ bne $at, $zero, .L808DA9E8
/* 04144 808DA9B4 E6060694 */ swc1 $f6, 0x0694($s0) ## 00000694
/* 04148 808DA9B8 8FA400B4 */ lw $a0, 0x00B4($sp)
/* 0414C 808DA9BC 0C042F6F */ jal func_8010BDBC
/* 0414C 808DA9BC 0C042F6F */ jal Message_GetState
/* 04150 808DA9C0 248420D8 */ addiu $a0, $a0, 0x20D8 ## $a0 = 000020D8
/* 04154 808DA9C4 3C088090 */ lui $t0, %hi(D_808F93D4) ## $t0 = 80900000
/* 04158 808DA9C8 14400007 */ bne $v0, $zero, .L808DA9E8

1
assets/.gitignore vendored
View file

@ -1,5 +1,6 @@
*.bin
*.c
!text/*.c
*.h
*.cfg
*.vtx.inc

50
assets/text/charmap.txt Normal file
View file

@ -0,0 +1,50 @@
{
'\n' : 0x01,
'‾' : 0x7F,
'À' : 0x80,
'î' : 0x81,
'Â' : 0x82,
'Ä' : 0x83,
'Ç' : 0x84,
'È' : 0x85,
'É' : 0x86,
'Ê' : 0x87,
'Ë' : 0x88,
'Ï' : 0x89,
'Ô' : 0x8A,
'Ö' : 0x8B,
'Ù' : 0x8C,
'Û' : 0x8D,
'Ü' : 0x8E,
'ß' : 0x8F,
'à' : 0x90,
'á' : 0x91,
'â' : 0x92,
'ä' : 0x93,
'ç' : 0x94,
'è' : 0x95,
'é' : 0x96,
'ê' : 0x97,
'ë' : 0x98,
'ï' : 0x99,
'ô' : 0x9A,
'ö' : 0x9B,
'ù' : 0x9C,
'û' : 0x9D,
'ü' : 0x9E,
'[A]' : 0x9F,
'[B]' : 0xA0,
'[C]' : 0xA1,
'[L]' : 0xA2,
'[R]' : 0xA3,
'[Z]' : 0xA4,
'[C-Up]' : 0xA5,
'[C-Down]' : 0xA6,
'[C-Left]' : 0xA7,
'[C-Right]' : 0xA8,
'▼' : 0xA9,
'[Control-Pad]' : 0xAA,
'[D-Pad]' : 0xAB,
}

View file

@ -0,0 +1,8 @@
#define MESSAGE_DATA_STATIC
#include "message_data_fmt.h"
#define DEFINE_MESSAGE(textId, type, yPos, nesMessage, gerMessage, fraMessage) \
const char _message_##textId##_fra[sizeof(fraMessage)] = { fraMessage END };
#include "assets/text/message_data.enc.h"

View file

@ -0,0 +1,8 @@
#define MESSAGE_DATA_STATIC
#include "message_data_fmt.h"
#define DEFINE_MESSAGE(textId, type, yPos, nesMessage, gerMessage, fraMessage) \
const char _message_##textId##_ger[sizeof(gerMessage)] = { gerMessage END };
#include "assets/text/message_data.enc.h"

View file

@ -0,0 +1,12 @@
#define MESSAGE_DATA_STATIC
#include "message_data_fmt.h"
#define DEFINE_MESSAGE(textId, type, yPos, nesMessage, gerMessage, fraMessage) \
const char _message_##textId##_nes[sizeof(nesMessage)] = { nesMessage END };
#define DEFINE_MESSAGE_FFFC
#include "assets/text/message_data.enc.h"
#undef DEFINE_MESSAGE_FFFC

View file

@ -0,0 +1,8 @@
#define MESSAGE_DATA_STATIC
#include "message_data_fmt.h"
#define DEFINE_MESSAGE(textId, type, yPos, staffMessage) \
const char _message_##textId##_staff[sizeof(staffMessage)] = { staffMessage END };
#include "assets/text/message_data_staff.enc.h"

View file

@ -10,4 +10,4 @@
<!-- ZAPD isn't finding symbols correctly, instead finding them much later in `code`-->
<!--<DList Name="sCircleWipeDL" Offset="0x10FF68"/>-->
</File>
</Root>
</Root>

View file

@ -5,4 +5,4 @@
<Vtx/>
</Array>
</File>
</Root>
</Root>

View file

@ -7,4 +7,4 @@
<Texture Name="sWipe1Tex" Format="i4" Width="64" Height="64" Offset="0x10E430"/>
<!-- <DList Name="sWipe1DL" Offset="0x10EC30"/>-->
</File>
</Root>
</Root>

View file

@ -12,4 +12,4 @@
<Animation Name="sChildDanceAnim" Offset="0x3620"/>
<Animation Name="sParentDanceAnim" Offset="0x3EB4"/>
</File>
</Root>
</Root>

View file

@ -1,52 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .bss
.balign 16
glabel D_801759A0
.space 0x4
glabel D_801759A4
.space 0x4
glabel D_801759A8
.space 0x2
glabel D_801759AA
.space 0x2
glabel D_801759AC
.space 0x2
glabel D_801759AE
.space 0x2
glabel D_801759B0
.space 0x2
glabel D_801759B2
.space 0x2
glabel D_801759B4
.space 0x2
glabel D_801759B6
.space 0x2
glabel D_801759B8
.space 0x2
glabel D_801759BA
.space 0x2
glabel D_801759BC
.space 0x2
glabel D_801759BE
.space 0x2

View file

@ -1,242 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purposee registers
.section .rodata
.balign 16
glabel D_8014B2F0
.word 0x00000000
glabel D_8014B2F4
.word 0x00000000
glabel D_8014B2F8
.word 0x00000000
glabel D_8014B2FC
.word 0x00000000
glabel D_8014B300
.word 0x00000000
glabel D_8014B304
.word 0x00000000
glabel D_8014B308
.word 0x00000000, 0x00000000
glabel D_8014B310
.word 0x00FF0000
glabel D_8014B314
.word 0x00000000
glabel D_8014B318
.word 0x00000000
glabel D_8014B31C
.word 0x00000000
# english message entry table
glabel D_8014B320
.incbin "baserom.z64", 0xBC24C0, 0x4228
# german message entry table
glabel D_8014F548
.incbin "baserom.z64", 0xBC66E8, 0x2110
# french message entry table
glabel D_80151658
.incbin "baserom.z64", 0xBC87F8, 0x2110
# credits (staff) message entry table
glabel D_80153768
.incbin "baserom.z64", 0xBCA908, 0x188
glabel D_801538F0
.word D_8014B320
glabel D_801538F4
.word D_8014F548
glabel D_801538F8
.word D_80151658
glabel D_801538FC
.word D_80153768
glabel D_80153900
.word 0x00FF00FF, 0x00FF0032, 0x00140000, 0x00FF003C, 0x000000FF, 0x00FF00FF, 0x00FF00FF, 0x00FF00FF, 0x00FF00FF, 0x00FF00FF, 0x00FF00FF, 0x00FF00FF
glabel D_80153930
.word 0x00000000, 0x000000DC, 0x00960000, 0x00000000, 0x00000000, 0x00000000
glabel D_80153948
.byte 0x00, 0x01, 0x00
glabel D_8015394B
.byte 0x02
glabel D_8015394C
.word 0x00000000, 0x00000000, 0x00000000
glabel D_80153958
.half 0x0000
glabel D_8015395A
.half 0x0000
glabel D_8015395C
.half 0x0000
glabel D_8015395E
.half 0x0000
glabel D_80153960
.half 0x0000
glabel D_80153962
.half 0x0000
glabel D_80153964
.half 0x0000
glabel D_80153966
.half 0x0000
glabel D_80153968
.word 0x00000000
glabel D_8015396C
.word 0x00000001, 0x00020003, 0x00040005, 0x00080007, 0x00060009
glabel D_80153980
.word 0x000A000B
glabel D_80153984
.word 0x00000000
glabel D_80153988
.word 0x3F99999A, 0x3FC00000, 0x3FE66666, 0x40000000, 0x40066666, 0x400CCCCD, 0x40066666, 0x40000000
glabel D_801539A8
.word 0x3F19999A, 0x3F400000, 0x3F666666, 0x3F800000, 0x3F866666, 0x3F8CCCCD, 0x3F866666, 0x3F800000
glabel D_801539C8
.word 0x000000C8, 0x00500032, 0x00FF0082
glabel D_801539D4
.word 0x00000000, 0x00000000, 0x00FF0082
glabel D_801539E0
.word 0x00000000
glabel D_801539E4
.word 0x00C80000
glabel D_801539E8
.word 0x00500000
glabel D_801539EC
.word 0x000C0000
glabel D_801539F0
.word 0x00000000
glabel D_801539F4
.word 0x00000000
glabel D_801539F8
.word 0x00000000
glabel D_801539FC
.incbin "baserom.z64", 0xBCAB9C, 0x244
glabel D_80153C40
.word 0x004A004A, 0x004A0000
glabel D_80153C48
.word 0x00480048, 0x00480000
glabel D_80153C50
.half 0x0000
glabel D_80153C52
.half 0x0001
glabel D_80153C54
.half 0x0003
glabel D_80153C56
.half 0x0002
glabel D_80153C58
.word 0x00010002, 0x00040008, 0x00100020, 0x01000080
glabel D_80153C68
.word 0x00400200, 0x04000800, 0x10000000, 0x01990198
glabel D_80153C78
.word 0x018A017E, 0x018A018B, 0x01CB0000, 0x00000000, 0x00000000, 0x00010000, 0x00000000
glabel D_80153C94
.word 0x02002940, 0x02002A40, 0x02002B40, 0x02002C40, 0x02002D40
glabel D_80153CA8
.word 0x005000FF, 0x00960064, 0x00FF00C8
glabel D_80153CB4
.word 0x000A000A, 0x000A0032, 0x00FF0032
glabel D_80153CC0
.word 0x00FF00FF, 0x003200FF, 0x00FF00B4
glabel D_80153CCC
.word 0x000A000A, 0x000A006E, 0x006E0032
glabel D_80153CD8
.word 0x000C0000
glabel D_80153CDC
.word 0x00010000
glabel D_80153CE0
.word 0x00340033, 0x00350036, 0x00370025, 0x00440045, 0x00460047, 0x00480049
glabel D_80153CF8
.word 0x00000000
glabel D_80153CFC
.word 0x00000000
glabel D_80153D00
.word 0x00220022, 0x00220022, 0x00220022
glabel D_80153D0C
.word 0x008E008E, 0x008E008E, 0x00AE008E
glabel D_80153D18
.word 0x00260026, 0x00260026, 0x00AE0026
glabel D_80153D24
.word 0x005A005A, 0x005A005A, 0x00AE005A
glabel D_80153D30
.word 0x003B003B, 0x003B003B, 0x0022003B, 0x04000400, 0x02000000, 0x10380008, 0x200A088B, 0x00070009, 0x000A107E, 0x20082007, 0x00150016, 0x00170003, 0x0000270B, 0x00C8012C, 0x012DFFDA, 0x00140016, 0x00140016
glabel D_80153D74
.word 0x00000000
glabel D_80153D78
.word 0x00000000
glabel D_80153D7C
.word 0x00000000
glabel D_80153D80
.word 0x00000000

View file

@ -1,11 +1,7 @@
#!/usr/bin/env python3
import argparse
import argparse, json, os, signal, time
from multiprocessing import Pool, cpu_count, Event, Manager, ProcessError
import os
import json
import time
import signal
EXTRACTED_ASSETS_NAMEFILE = ".extracted-assets.json"
@ -101,6 +97,18 @@ def main():
del extractedAssetsTracker[fullPath]
ExtractFunc(fullPath)
else:
extract_text_path = "assets/text/message_data.h"
if os.path.isfile(extract_text_path):
extract_text_path = None
extract_staff_text_path = "assets/text/message_data_staff.h"
if os.path.isfile(extract_staff_text_path):
extract_staff_text_path = None
# Only extract text if the header does not already exist, or if --force was passed
if args.force or extract_text_path is not None or extract_staff_text_path is not None:
print("Extracting text")
from tools import msgdis
msgdis.extract_all_text(extract_text_path, extract_staff_text_path)
xmlFiles = []
for currentPath, _, files in os.walk(os.path.join("assets", "xml")):
for file in files:
@ -131,4 +139,4 @@ def main():
exit(1)
if __name__ == "__main__":
main()
main()

View file

@ -427,14 +427,14 @@ PosRot* Actor_GetFocus(PosRot* arg0, Actor* actor);
PosRot* Actor_GetWorld(PosRot* arg0, Actor* actor);
PosRot* Actor_GetWorldPosShapeRot(PosRot* arg0, Actor* actor);
s32 func_8002F0C8(Actor* actor, Player* player, s32 arg2);
u32 func_8002F194(Actor* actor, GlobalContext* globalCtx);
u32 Actor_ProcessTalkRequest(Actor* actor, GlobalContext* globalCtx);
s32 func_8002F1C4(Actor* actor, GlobalContext* globalCtx, f32 arg2, f32 arg3, u32 arg4);
s32 func_8002F298(Actor* actor, GlobalContext* globalCtx, f32 arg2, u32 arg3);
s32 func_8002F2CC(Actor* actor, GlobalContext* globalCtx, f32 arg2);
s32 func_8002F2F4(Actor* actor, GlobalContext* globalCtx);
u32 func_8002F334(Actor* actor, GlobalContext* globalCtx);
u32 Actor_TextboxIsClosing(Actor* actor, GlobalContext* globalCtx);
s8 func_8002F368(GlobalContext* globalCtx);
void func_8002F374(GlobalContext* globalCtx, Actor* actor, s16* x, s16* y);
void Actor_GetScreenPos(GlobalContext* globalCtx, Actor* actor, s16* x, s16* y);
u32 Actor_HasParent(Actor* actor, GlobalContext* globalCtx);
s32 func_8002F434(Actor* actor, GlobalContext* globalCtx, s32 getItemId, f32 xzRange, f32 yRange);
void func_8002F554(Actor* actor, GlobalContext* globalCtx, s32 getItemId);
@ -505,7 +505,7 @@ void func_8003424C(GlobalContext* globalCtx, Vec3f* arg1);
void Actor_SetColorFilter(Actor* actor, s16 colorFlag, s16 colorIntensityMax, s16 xluFlag, s16 duration);
Hilite* func_800342EC(Vec3f* object, GlobalContext* globalCtx);
Hilite* func_8003435C(Vec3f* object, GlobalContext* globalCtx);
s32 func_800343CC(GlobalContext* globalCtx, Actor* actor, s16* arg2, f32 arg3, u16 (*unkFunc1)(GlobalContext*, Actor*),
s32 func_800343CC(GlobalContext* globalCtx, Actor* actor, s16* arg2, f32 interactRange, u16 (*unkFunc1)(GlobalContext*, Actor*),
s16 (*unkFunc2)(GlobalContext*, Actor*));
s16 func_800347E8(s16 arg0);
void func_80034A14(Actor* actor, struct_80034A14_arg1* arg1, s16 arg2, s16 arg3);
@ -865,9 +865,9 @@ s32 Jpeg_Decode(void* data, void* zbuffer, void* workBuff, u32 workSize);
void KaleidoSetup_Update(GlobalContext* globalCtx);
void KaleidoSetup_Init(GlobalContext* globalCtx);
void KaleidoSetup_Destroy(GlobalContext* globalCtx);
void func_8006EE50(Font* font, s16 arg1, s16 arg2);
void func_8006EE50(Font* font, u16 arg1, u16 arg2);
void Font_LoadChar(Font* font, u8 character, u16 codePointIndex);
void Font_LoadMessageBoxEndIcon(Font* font, u16 icon);
void Font_LoadMessageBoxIcon(Font* font, u16 icon);
void Font_LoadOrderedFont(Font* font);
s32 func_8006F0A0(s32 arg0);
u16 Environment_GetPixelDepth(s32 x, s32 y);
@ -2011,14 +2011,14 @@ void AudioSeq_ResetSequencePlayer(SequencePlayer* seqPlayer);
void AudioSeq_InitSequencePlayerChannels(s32 playerIdx);
void AudioSeq_InitSequencePlayers(void);
void func_800ECC04(u16);
void func_800ED858(u8);
void func_800ED93C(s8 songIdx, s8 arg1);
void func_800EE170(u8);
OcarinaStaff* func_800EE3C8(void);
OcarinaStaff* func_800EE3D4(void);
OcarinaStaff* Audio_OcaGetDisplayStaff(void);
void func_800EE57C(u8 minigameIdx);
s32 func_800EE5EC(void);
void Audio_OcaSetInstrument(u8);
void Audio_OcaSetSongPlayback(s8 songIdxPlusOne, s8 playbackState);
void Audio_OcaSetRecordingState(u8);
OcarinaStaff* Audio_OcaGetRecordingStaff(void);
OcarinaStaff* Audio_OcaGetPlayingStaff(void);
OcarinaStaff* Audio_OcaGetDisplayingStaff(void);
void Audio_OcaMemoryGameStart(u8 minigameIdx);
s32 Audio_OcaMemoryGameGenNote(void);
void func_800EE824(void);
void AudioDebug_Draw(GfxPrint* printer);
void AudioDebug_ScrPrt(const s8* str, u16 num);
@ -2063,7 +2063,7 @@ s32 func_800F5A58(u8);
void func_800F5ACC(u16 bgmID);
void func_800F5B58(void);
void func_800F5BF0(u8 arg0);
void func_800F5C64(u16);
void Audio_PlayFanfare(u16);
void func_800F5C2C(void);
void func_800F5E18(u8 playerIdx, u16 seqId, u8 fadeTimer, s8 arg3, s8 arg4);
void func_800F5E90(u8);
@ -2374,45 +2374,23 @@ s32 __osSpSetPc(void* pc);
f32 absf(f32);
void* func_80106860(void* ptr, s32 val, size_t size);
void* func_801068B0(void* dst, void* src, size_t size);
// ? func_801069B0(?);
void func_80106AA8(GlobalContext* globalCtx);
u8 func_80106BC8(GlobalContext* globalCtx);
// ? func_80106C88(?);
void func_80106CCC(GlobalContext*);
// ? func_80106D40(?);
// ? func_80106F1C(?);
// ? func_80107244(?);
// ? func_80107448(?);
// ? func_80107628(?);
// ? func_801076CC(?);
// ? func_80107980(?);
// ? func_801080B4(?);
// ? func_801083F8(?);
// ? func_801086B0(?);
// ? func_80109968(?);
// ? func_80109B3C(?);
// ? func_8010B0C0(?);
void func_8010B680(GlobalContext*, u16 textID, Actor* actor);
void func_8010B720(GlobalContext* globalCtx, u16 textId);
// ? func_8010B820(?);
// ? func_8010BD58(?);
void Message_UpdateOcarinaGame(GlobalContext* globalCtx);
u8 Message_ShouldAdvance(GlobalContext* globalCtx);
void Message_CloseTextbox(GlobalContext*);
void Message_StartTextbox(GlobalContext* globalCtx, u16 textId, Actor* actor);
void Message_ContinueTextbox(GlobalContext* globalCtx, u16 textId);
void func_8010BD58(GlobalContext* globalCtx, u16 arg1);
void func_8010BD88(GlobalContext* globalCtx, u16 arg1);
u8 func_8010BDBC(MessageContext* msgCtx);
// ? func_8010BED8(?);
// ? func_8010C358(?);
// ? func_8010C39C(?);
// ? func_8010F2CC(?);
// ? func_8010F494(?);
void func_8010F58C(GlobalContext* globalCtx);
void func_8010F6F0(GlobalContext* globalCtx);
void func_8011040C(void);
u8 Message_GetState(MessageContext* msgCtx);
void Message_Draw(GlobalContext* globalCtx);
void Message_Update(GlobalContext* globalCtx);
void Message_SetTables(void);
void GameOver_Init(GlobalContext* globalCtx);
void GameOver_FadeInLights(GlobalContext* globalCtx);
void GameOver_Update(GlobalContext* globalCtx);
void func_80110990(GlobalContext* globalCtx);
void func_801109B0(GlobalContext* globalCtx);
void func_80110F68(GlobalContext* globalCtx);
void Message_Init(GlobalContext* globalCtx);
void func_80112098(GlobalContext* globalCtx);
void Title_Init(GameState* thisx);

178
include/message_data_fmt.h Normal file
View file

@ -0,0 +1,178 @@
#ifndef MESSAGE_DATA_FMT_H
#define MESSAGE_DATA_FMT_H
/*
* Macros to create both a constant and a string literal from a magic value
* The constants are used in code files when parsing text for various purposes
* The strings are used in the message_data_static files themselves, as you can only concat strings with other strings
*/
#define GLUE(a, b) a##b
#define STRINGIFY(s) #s
#define EXPAND_AND_STRINGIFY(s) STRINGIFY(s)
#define HEX(N) GLUE(0x, N)
#define STR(N) EXPAND_AND_STRINGIFY(GLUE(\x, N))
/*
* Text control characters
*/
// Control character magic values, in 2-digit hex without prefix
#define CTRL_NEWLINE 01
#define CTRL_END 02
#define CTRL_BOX_BREAK 04
#define CTRL_COLOR 05
#define CTRL_SHIFT 06
#define CTRL_TEXTID 07
#define CTRL_QUICKTEXT_ENABLE 08
#define CTRL_QUICKTEXT_DISABLE 09
#define CTRL_PERSISTENT 0A
#define CTRL_EVENT 0B
#define CTRL_BOX_BREAK_DELAYED 0C
#define CTRL_AWAIT_BUTTON_PRESS 0D
#define CTRL_FADE 0E
#define CTRL_NAME 0F
#define CTRL_OCARINA 10
#define CTRL_FADE2 11
#define CTRL_SFX 12
#define CTRL_ITEM_ICON 13
#define CTRL_TEXT_SPEED 14
#define CTRL_BACKGROUND 15
#define CTRL_MARATHON_TIME 16
#define CTRL_RACE_TIME 17
#define CTRL_POINTS 18
#define CTRL_TOKENS 19
#define CTRL_UNSKIPPABLE 1A
#define CTRL_TWO_CHOICE 1B
#define CTRL_THREE_CHOICE 1C
#define CTRL_FISH_INFO 1D
#define CTRL_HIGHSCORE 1E
#define CTRL_TIME 1F
/*
* Colors
*/
#define COLOR_STR(N) EXPAND_AND_STRINGIFY(GLUE(\x4, N))
// Color magic values, in single-digit hex without prefix
#define CTRL_DEFAULT 0
#define CTRL_RED 1
#define CTRL_ADJUSTABLE 2
#define CTRL_BLUE 3
#define CTRL_LIGHTBLUE 4
#define CTRL_PURPLE 5
#define CTRL_YELLOW 6
#define CTRL_BLACK 7
#ifdef MESSAGE_DATA_STATIC
// For use in message_data_static files
#define ARG(x) x
// while a control character, newlines are handled in the charmap conversion
// stage to allow normal newline \n usage in message_data_static files
#define NEWLINE STR(CTRL_NEWLINE)
#define END STR(CTRL_END)
#define BOX_BREAK STR(CTRL_BOX_BREAK)
#define COLOR(x) STR(CTRL_COLOR) ARG(x) // 1
#define SHIFT(x) STR(CTRL_SHIFT) ARG(x) // 1
#define TEXTID(x) STR(CTRL_TEXTID) ARG(x) // 2
#define QUICKTEXT_ENABLE STR(CTRL_QUICKTEXT_ENABLE)
#define QUICKTEXT_DISABLE STR(CTRL_QUICKTEXT_DISABLE)
#define PERSISTENT STR(CTRL_PERSISTENT)
#define EVENT STR(CTRL_EVENT)
#define BOX_BREAK_DELAYED(x) STR(CTRL_BOX_BREAK_DELAYED) ARG(x) // 1
#define AWAIT_BUTTON_PRESS STR(CTRL_AWAIT_BUTTON_PRESS)
#define FADE(x) STR(CTRL_FADE) ARG(x) // 1
#define NAME STR(CTRL_NAME)
#define OCARINA STR(CTRL_OCARINA)
#define FADE2(x) STR(CTRL_FADE2) ARG(x) // 2
#define SFX(x) STR(CTRL_SFX) ARG(x) // 2
#define ITEM_ICON(x) STR(CTRL_ITEM_ICON) ARG(x) // 1
#define TEXT_SPEED(x) STR(CTRL_TEXT_SPEED) ARG(x) // 1
#define BACKGROUND(x,y,z) STR(CTRL_BACKGROUND) ARG(x) ARG(y) ARG(z)
#define MARATHON_TIME STR(CTRL_MARATHON_TIME)
#define RACE_TIME STR(CTRL_RACE_TIME)
#define POINTS STR(CTRL_POINTS)
#define TOKENS STR(CTRL_TOKENS)
#define UNSKIPPABLE STR(CTRL_UNSKIPPABLE)
#define TWO_CHOICE STR(CTRL_TWO_CHOICE)
#define THREE_CHOICE STR(CTRL_THREE_CHOICE)
#define FISH_INFO STR(CTRL_FISH_INFO)
#define HIGHSCORE(x) STR(CTRL_HIGHSCORE) ARG(x) // 1
#define TIME STR(CTRL_TIME)
/*
* Highscore values as strings, for code references the HighScores
* enum should be used.
*/
#define HS_HORSE_ARCHERY "\x00"
#define HS_POE_POINTS "\x01"
#define HS_LARGEST_FISH "\x02"
#define HS_HORSE_RACE "\x03"
#define HS_MARATHON "\x04"
#define HS_DAMPE_RACE "\x06"
/*
* Color values as strings
*/
#define DEFAULT COLOR_STR(CTRL_DEFAULT)
#define RED COLOR_STR(CTRL_RED)
#define ADJUSTABLE COLOR_STR(CTRL_ADJUSTABLE)
#define BLUE COLOR_STR(CTRL_BLUE)
#define LIGHTBLUE COLOR_STR(CTRL_LIGHTBLUE)
#define PURPLE COLOR_STR(CTRL_PURPLE)
#define YELLOW COLOR_STR(CTRL_YELLOW)
#define BLACK COLOR_STR(CTRL_BLACK)
#else
// For use in code files
#define MSGCOL_DEFAULT HEX(CTRL_DEFAULT)
#define MSGCOL_RED HEX(CTRL_RED)
#define MSGCOL_ADJUSTABLE HEX(CTRL_ADJUSTABLE)
#define MSGCOL_BLUE HEX(CTRL_BLUE)
#define MSGCOL_LIGHTBLUE HEX(CTRL_LIGHTBLUE)
#define MSGCOL_PURPLE HEX(CTRL_PURPLE)
#define MSGCOL_YELLOW HEX(CTRL_YELLOW)
#define MSGCOL_BLACK HEX(CTRL_BLACK)
#define MESSAGE_NEWLINE HEX(CTRL_NEWLINE)
#define MESSAGE_END HEX(CTRL_END)
#define MESSAGE_BOX_BREAK HEX(CTRL_BOX_BREAK)
#define MESSAGE_COLOR HEX(CTRL_COLOR)
#define MESSAGE_SHIFT HEX(CTRL_SHIFT)
#define MESSAGE_TEXTID HEX(CTRL_TEXTID)
#define MESSAGE_QUICKTEXT_ENABLE HEX(CTRL_QUICKTEXT_ENABLE)
#define MESSAGE_QUICKTEXT_DISABLE HEX(CTRL_QUICKTEXT_DISABLE)
#define MESSAGE_PERSISTENT HEX(CTRL_PERSISTENT)
#define MESSAGE_EVENT HEX(CTRL_EVENT)
#define MESSAGE_BOX_BREAK_DELAYED HEX(CTRL_BOX_BREAK_DELAYED)
#define MESSAGE_AWAIT_BUTTON_PRESS HEX(CTRL_AWAIT_BUTTON_PRESS)
#define MESSAGE_FADE HEX(CTRL_FADE)
#define MESSAGE_NAME HEX(CTRL_NAME)
#define MESSAGE_OCARINA HEX(CTRL_OCARINA)
#define MESSAGE_FADE2 HEX(CTRL_FADE2)
#define MESSAGE_SFX HEX(CTRL_SFX)
#define MESSAGE_ITEM_ICON HEX(CTRL_ITEM_ICON)
#define MESSAGE_TEXT_SPEED HEX(CTRL_TEXT_SPEED)
#define MESSAGE_BACKGROUND HEX(CTRL_BACKGROUND)
#define MESSAGE_MARATHON_TIME HEX(CTRL_MARATHON_TIME)
#define MESSAGE_RACE_TIME HEX(CTRL_RACE_TIME)
#define MESSAGE_POINTS HEX(CTRL_POINTS)
#define MESSAGE_TOKENS HEX(CTRL_TOKENS)
#define MESSAGE_UNSKIPPABLE HEX(CTRL_UNSKIPPABLE)
#define MESSAGE_TWO_CHOICE HEX(CTRL_TWO_CHOICE)
#define MESSAGE_THREE_CHOICE HEX(CTRL_THREE_CHOICE)
#define MESSAGE_FISH_INFO HEX(CTRL_FISH_INFO)
#define MESSAGE_HIGHSCORE HEX(CTRL_HIGHSCORE)
#define MESSAGE_TIME HEX(CTRL_TIME)
#endif
#endif

View file

@ -0,0 +1,55 @@
#ifndef MESSAGE_DATA_STATIC_H
#define MESSAGE_DATA_STATIC_H
#include "global.h"
#include "message_data_fmt.h"
typedef enum {
/* 0 */ TEXTBOX_TYPE_BLACK,
/* 1 */ TEXTBOX_TYPE_WOODEN,
/* 2 */ TEXTBOX_TYPE_BLUE,
/* 3 */ TEXTBOX_TYPE_OCARINA,
/* 4 */ TEXTBOX_TYPE_NONE_BOTTOM,
/* 5 */ TEXTBOX_TYPE_NONE_NO_SHADOW,
/* 11 */ TEXTBOX_TYPE_CREDITS = 11
} TextBoxType;
typedef enum {
/* 0 */ TEXTBOX_BG_CROSS
} TextBoxBackground;
typedef enum {
/* 0 */ TEXTBOX_POS_VARIABLE,
/* 1 */ TEXTBOX_POS_TOP,
/* 2 */ TEXTBOX_POS_BOTTOM,
/* 3 */ TEXTBOX_POS_MIDDLE
} TextBoxPosition;
typedef struct {
u16 textId;
u8 typePos;
const char* segment;
} MessageTableEntry;
/*
* Message Symbol Declarations
*/
#define DEFINE_MESSAGE(textId, type, yPos, staffMessage) \
extern const char _message_##textId##_staff[];
#include "text/message_data_staff.h"
#undef DEFINE_MESSAGE
#define DEFINE_MESSAGE(textId, type, yPos, nesMessage, gerMessage, fraMessage) \
extern const char _message_##textId##_nes[]; \
extern const char _message_##textId##_ger[]; \
extern const char _message_##textId##_fra[];
#include "text/message_data.h"
extern const char _message_0xFFFC_nes[];
#undef DEFINE_MESSAGE
#endif

View file

@ -122,5 +122,44 @@
#define R_DISABLE_INPUT_DISPLAY HREG(47)
#define R_EN_GOROIWA_SPEED mREG(12)
#define R_NAVI_MSG_REGION_ALPHA nREG(87)
#define R_TEXT_DROP_SHADOW_OFFSET XREG(60)
#define R_TEXTBOX_X_TARGET XREG(72)
#define R_TEXTBOX_Y_TARGET XREG(73)
#define R_TEXTBOX_TEXWIDTH YREG(16)
#define R_TEXTBOX_TEXHEIGHT YREG(17)
#define R_TEXTBOX_WIDTH YREG(22)
#define R_TEXTBOX_HEIGHT YREG(23)
#define R_MESSAGE_DEBUGGER_SELECT YREG(78)
#define R_MESSAGE_DEBUGGER_TEXTID YREG(79)
#define R_TEXT_LINE_SPACING XREG(56)
#define R_TEXT_CHAR_SCALE XREG(57)
#define R_TEXTBOX_ICON_XPOS YREG(71)
#define R_TEXTBOX_ICON_YPOS YREG(72)
#define R_TEXTBOX_ICON_SIZE YREG(75)
#define R_TEXTBOX_X VREG(0)
#define R_TEXTBOX_Y VREG(1)
#define R_TEXTBOX_END_XPOS XREG(64)
#define R_TEXTBOX_END_YPOS XREG(65)
#define R_TEXTBOX_WIDTH_TARGET XREG(74)
#define R_TEXTBOX_HEIGHT_TARGET XREG(75)
#define R_TEXTBOX_TEXWIDTH_TARGET XREG(76)
#define R_TEXTBOX_TEXHEIGHT_TARGET XREG(77)
#define R_TEXT_ADJUST_COLOR_1_R VREG(33)
#define R_TEXT_ADJUST_COLOR_1_G VREG(34)
#define R_TEXT_ADJUST_COLOR_1_B VREG(35)
#define R_TEXT_ADJUST_COLOR_2_R VREG(36)
#define R_TEXT_ADJUST_COLOR_2_G VREG(37)
#define R_TEXT_ADJUST_COLOR_2_B VREG(38)
#define R_TEXT_CHOICE_XPOS XREG(66)
#define R_TEXT_CHOICE_YPOS(choice) XREG(67 + (choice))
#define R_TEXT_INIT_XPOS XREG(54)
#define R_TEXT_INIT_YPOS XREG(55)
#define R_TEXTBOX_BG_YPOS XREG(61)
#define R_TEXTBOX_CLEF_XPOS VREG(7)
#define R_TEXTBOX_CLEF_YPOS VREG(8)
#define R_OCARINA_NOTES_XPOS VREG(28)
#define R_OCARINA_NOTES_YPOS(note) VREG(45 + (note))
#define R_OCARINA_NOTES_XPOS_OFFSET VREG(29)
#define R_OCARINA_NOTES_YPOS_OFFSET VREG(51)
#endif

View file

@ -43,10 +43,16 @@ DECLARE_ROM_SEGMENT(do_action_static)
DECLARE_ROM_SEGMENT(message_static)
DECLARE_ROM_SEGMENT(message_texture_static)
DECLARE_ROM_SEGMENT(nes_font_static)
DECLARE_SEGMENT(nes_message_data_static)
DECLARE_ROM_SEGMENT(nes_message_data_static)
DECLARE_SEGMENT(ger_message_data_static)
DECLARE_ROM_SEGMENT(ger_message_data_static)
DECLARE_SEGMENT(fra_message_data_static)
DECLARE_ROM_SEGMENT(fra_message_data_static)
DECLARE_SEGMENT(staff_message_data_static)
DECLARE_ROM_SEGMENT(staff_message_data_static)
DECLARE_ROM_SEGMENT(map_grand_static)
DECLARE_ROM_SEGMENT(map_i_static)
DECLARE_ROM_SEGMENT(map_48x85_static)

File diff suppressed because it is too large Load diff

View file

@ -333,54 +333,298 @@ typedef struct {
} SkyboxContext; // size = 0x160
typedef enum {
MESSAGE_ICON_TRIANGLE,
MESSAGE_ICON_SQUARE,
MESSAGE_ICON_ARROW
} MessageBoxIcon;
/* 0 */ OCARINA_SONG_MINUET,
/* 1 */ OCARINA_SONG_BOLERO,
/* 2 */ OCARINA_SONG_SERENADE,
/* 3 */ OCARINA_SONG_REQUIEM,
/* 4 */ OCARINA_SONG_NOCTURNE,
/* 5 */ OCARINA_SONG_PRELUDE,
/* 6 */ OCARINA_SONG_SARIAS,
/* 7 */ OCARINA_SONG_EPONAS,
/* 8 */ OCARINA_SONG_LULLABY,
/* 9 */ OCARINA_SONG_SUNS,
/* 10 */ OCARINA_SONG_TIME,
/* 11 */ OCARINA_SONG_STORMS,
/* 12 */ OCARINA_SONG_SCARECROW,
/* 13 */ OCARINA_SONG_MEMORY_GAME,
/* 14 */ OCARINA_SONG_MAX,
/* 14 */ OCARINA_SONG_SCARECROW_LONG = OCARINA_SONG_MAX // anything larger than 13 is considered the long scarecrow's song
} OcarinaSongId;
typedef enum {
/* 0x00 */ OCARINA_ACTION_UNK_0, // acts like free play but never set
/* 0x01 */ OCARINA_ACTION_FREE_PLAY,
/* 0x02 */ OCARINA_ACTION_TEACH_MINUET, // Song demonstrations by teachers
/* 0x03 */ OCARINA_ACTION_TEACH_BOLERO,
/* 0x04 */ OCARINA_ACTION_TEACH_SERENADE,
/* 0x05 */ OCARINA_ACTION_TEACH_REQUIEM,
/* 0x06 */ OCARINA_ACTION_TEACH_NOCTURNE,
/* 0x07 */ OCARINA_ACTION_TEACH_PRELUDE,
/* 0x08 */ OCARINA_ACTION_TEACH_SARIA,
/* 0x09 */ OCARINA_ACTION_TEACH_EPONA,
/* 0x0A */ OCARINA_ACTION_TEACH_LULLABY,
/* 0x0B */ OCARINA_ACTION_TEACH_SUNS,
/* 0x0C */ OCARINA_ACTION_TEACH_TIME,
/* 0x0D */ OCARINA_ACTION_TEACH_STORMS,
/* 0x0E */ OCARINA_ACTION_UNK_E,
/* 0x0F */ OCARINA_ACTION_PLAYBACK_MINUET, // Playing back a particular song
/* 0x10 */ OCARINA_ACTION_PLAYBACK_BOLERO,
/* 0x11 */ OCARINA_ACTION_PLAYBACK_SERENADE,
/* 0x12 */ OCARINA_ACTION_PLAYBACK_REQUIEM,
/* 0x13 */ OCARINA_ACTION_PLAYBACK_NOCTURNE,
/* 0x14 */ OCARINA_ACTION_PLAYBACK_PRELUDE,
/* 0x15 */ OCARINA_ACTION_PLAYBACK_SARIA,
/* 0x16 */ OCARINA_ACTION_PLAYBACK_EPONA,
/* 0x17 */ OCARINA_ACTION_PLAYBACK_LULLABY,
/* 0x18 */ OCARINA_ACTION_PLAYBACK_SUNS,
/* 0x19 */ OCARINA_ACTION_PLAYBACK_TIME,
/* 0x1A */ OCARINA_ACTION_PLAYBACK_STORMS,
/* 0x1B */ OCARINA_ACTION_UNK_1B,
/* 0x1C */ OCARINA_ACTION_CHECK_MINUET, // Playing songs for check spots
/* 0x1D */ OCARINA_ACTION_CHECK_BOLERO,
/* 0x1E */ OCARINA_ACTION_CHECK_SERENADE,
/* 0x1F */ OCARINA_ACTION_CHECK_REQUIEM,
/* 0020 */ OCARINA_ACTION_CHECK_NOCTURNE,
/* 0x21 */ OCARINA_ACTION_CHECK_PRELUDE,
/* 0x22 */ OCARINA_ACTION_CHECK_SARIA,
/* 0x23 */ OCARINA_ACTION_CHECK_EPONA,
/* 0x24 */ OCARINA_ACTION_CHECK_LULLABY,
/* 0x25 */ OCARINA_ACTION_CHECK_SUNS,
/* 0x26 */ OCARINA_ACTION_CHECK_TIME,
/* 0x27 */ OCARINA_ACTION_CHECK_STORMS,
/* 0x28 */ OCARINA_ACTION_CHECK_SCARECROW, // Playing back the song as adult that was set as child
/* 0x29 */ OCARINA_ACTION_FREE_PLAY_DONE,
/* 0x2A */ OCARINA_ACTION_SCARECROW_LONG_RECORDING,
/* 0x2B */ OCARINA_ACTION_SCARECROW_LONG_PLAYBACK,
/* 0x2C */ OCARINA_ACTION_SCARECROW_RECORDING,
/* 0x2D */ OCARINA_ACTION_SCARECROW_PLAYBACK,
/* 0x2E */ OCARINA_ACTION_MEMORY_GAME,
/* 0x2F */ OCARINA_ACTION_FROGS,
/* 0x30 */ OCARINA_ACTION_CHECK_NOWARP, // Check for any of sarias - storms
/* 0x31 */ OCARINA_ACTION_CHECK_NOWARP_DONE
} OcarinaSongActionIDs;
typedef enum {
/* 0x00 */ OCARINA_MODE_00,
/* 0x01 */ OCARINA_MODE_01,
/* 0x02 */ OCARINA_MODE_02,
/* 0x03 */ OCARINA_MODE_03,
/* 0x04 */ OCARINA_MODE_04,
/* 0x05 */ OCARINA_MODE_05,
/* 0x06 */ OCARINA_MODE_06,
/* 0x07 */ OCARINA_MODE_07,
/* 0x08 */ OCARINA_MODE_08,
/* 0x09 */ OCARINA_MODE_09,
/* 0x0A */ OCARINA_MODE_0A,
/* 0x0B */ OCARINA_MODE_0B,
/* 0x0C */ OCARINA_MODE_0C,
/* 0x0D */ OCARINA_MODE_0D,
/* 0x0E */ OCARINA_MODE_0E,
/* 0x0F */ OCARINA_MODE_0F
} OcarinaMode;
typedef enum {
TEXTBOX_ICON_TRIANGLE,
TEXTBOX_ICON_SQUARE,
TEXTBOX_ICON_ARROW
} TextBoxIcon;
typedef enum {
LANGUAGE_ENG,
LANGUAGE_GER,
LANGUAGE_FRA,
LANGUAGE_MAX
} Language;
// TODO get these properties from the textures themselves
#define FONT_CHAR_TEX_WIDTH 16
#define FONT_CHAR_TEX_HEIGHT 16
#define FONT_CHAR_TEX_SIZE ((16 * 16) / 2) // 16x16 I4 texture
// TODO get these properties from the textures themselves
#define MESSAGE_STATIC_TEX_SIZE 0x1000
typedef enum {
/* 0x00 */ MSGMODE_NONE,
/* 0x01 */ MSGMODE_TEXT_START,
/* 0x02 */ MSGMODE_TEXT_BOX_GROWING,
/* 0x03 */ MSGMODE_TEXT_STARTING,
/* 0x04 */ MSGMODE_TEXT_NEXT_MSG,
/* 0x05 */ MSGMODE_TEXT_CONTINUING,
/* 0x06 */ MSGMODE_TEXT_DISPLAYING,
/* 0x07 */ MSGMODE_TEXT_AWAIT_INPUT,
/* 0x08 */ MSGMODE_TEXT_DELAYED_BREAK,
/* 0x09 */ MSGMODE_OCARINA_STARTING,
/* 0x0A */ MSGMODE_SONG_DEMONSTRATION_STARTING,
/* 0x0B */ MSGMODE_SONG_PLAYBACK_STARTING,
/* 0x0C */ MSGMODE_OCARINA_PLAYING,
/* 0x0D */ MSGMODE_OCARINA_CORRECT_PLAYBACK,
/* 0x0E */ MSGMODE_OCARINA_FAIL, // Failed to play a valid song after entering 8 notes
/* 0x0F */ MSGMODE_OCARINA_FAIL_NO_TEXT, // Never set, only compared against
/* 0x10 */ MSGMODE_OCARINA_NOTES_DROP,
/* 0x11 */ MSGMODE_SONG_PLAYED, // Played a full named song correctly
/* 0x12 */ MSGMODE_SETUP_DISPLAY_SONG_PLAYED,
/* 0x13 */ MSGMODE_DISPLAY_SONG_PLAYED,
/* 0x14 */ MSGMODE_DISPLAY_SONG_PLAYED_TEXT_BEGIN,
/* 0x15 */ MSGMODE_DISPLAY_SONG_PLAYED_TEXT,
/* 0x16 */ MSGMODE_SONG_PLAYED_ACT_BEGIN,
/* 0x17 */ MSGMODE_SONG_PLAYED_ACT, // Act on a played song
/* 0x18 */ MSGMODE_SONG_DEMONSTRATION_SELECT_INSTRUMENT,
/* 0x19 */ MSGMODE_SONG_DEMONSTRATION,
/* 0x1A */ MSGMODE_SONG_DEMONSTRATION_DONE,
/* 0x1B */ MSGMODE_SONG_PLAYBACK,
/* 0x1C */ MSGMODE_SONG_PLAYBACK_SUCCESS,
/* 0x1D */ MSGMODE_SONG_PLAYBACK_FAIL,
/* 0x1E */ MSGMODE_SONG_PLAYBACK_NOTES_DROP,
/* 0x1F */ MSGMODE_OCARINA_AWAIT_INPUT,
/* 0x20 */ MSGMODE_UNK_20, // Never set and does nothing
/* 0x21 */ MSGMODE_SCARECROW_LONG_RECORDING_START,
/* 0x22 */ MSGMODE_SCARECROW_LONG_RECORDING_ONGOING,
/* 0x23 */ MSGMODE_SCARECROW_LONG_PLAYBACK,
/* 0x24 */ MSGMODE_SCARECROW_RECORDING_START,
/* 0x25 */ MSGMODE_SCARECROW_RECORDING_ONGOING,
/* 0x26 */ MSGMODE_SCARECROW_RECORDING_FAILED,
/* 0x27 */ MSGMODE_SCARECROW_RECORDING_DONE,
/* 0x28 */ MSGMODE_SCARECROW_PLAYBACK,
/* 0x29 */ MSGMODE_MEMORY_GAME_START,
/* 0x2A */ MSGMODE_MEMORY_GAME_LEFT_SKULLKID_PLAYING,
/* 0x2B */ MSGMODE_MEMORY_GAME_LEFT_SKULLKID_WAIT,
/* 0x2C */ MSGMODE_MEMORY_GAME_RIGHT_SKULLKID_PLAYING,
/* 0x2D */ MSGMODE_MEMORY_GAME_RIGHT_SKULLKID_WAIT,
/* 0x2E */ MSGMODE_MEMORY_GAME_PLAYER_PLAYING,
/* 0x2F */ MSGMODE_MEMORY_GAME_ROUND_SUCCESS,
/* 0x30 */ MSGMODE_MEMORY_GAME_START_NEXT_ROUND,
/* 0x31 */ MSGMODE_FROGS_START,
/* 0x32 */ MSGMODE_FROGS_PLAYING,
/* 0x33 */ MSGMODE_FROGS_WAITING,
/* 0x34 */ MSGMODE_TEXT_AWAIT_NEXT,
/* 0x35 */ MSGMODE_TEXT_DONE,
/* 0x36 */ MSGMODE_TEXT_CLOSING,
/* 0x37 */ MSGMODE_PAUSED // Causes the message system to do nothing until external code sets a new message mode or calls a public function
} MessageMode;
typedef enum {
/* 0 */ TEXT_STATE_NONE,
/* 1 */ TEXT_STATE_DONE_HAS_NEXT,
/* 2 */ TEXT_STATE_CLOSING,
/* 3 */ TEXT_STATE_DONE_FADING,
/* 4 */ TEXT_STATE_CHOICE,
/* 5 */ TEXT_STATE_EVENT,
/* 6 */ TEXT_STATE_DONE,
/* 7 */ TEXT_STATE_SONG_DEMO_DONE,
/* 8 */ TEXT_STATE_8,
/* 9 */ TEXT_STATE_9,
/* 10 */ TEXT_STATE_AWAITING_NEXT
} TextState;
typedef struct {
/* 0x0000 */ u32 msgOffset;
/* 0x0004 */ u32 msgLength;
/* 0x0008 */ char unk_8[0x3C00];
/* 0x3C08 */ u8 iconBuf[FONT_CHAR_TEX_SIZE];
/* 0x3C88 */ u8 fontBuf[FONT_CHAR_TEX_SIZE * 320]; // size possibly unconfirmed
/* 0xDC88 */ char msgBuf[1064]; // size unconfirmed
/* 0xE0B0 */ char unk_E0B0[0xD8];
/* 0x0000 */ u32 msgOffset;
/* 0x0004 */ u32 msgLength;
/* 0x0008 */ u8 charTexBuf[FONT_CHAR_TEX_SIZE * 120];
/* 0x3C08 */ u8 iconBuf[FONT_CHAR_TEX_SIZE];
/* 0x3C88 */ u8 fontBuf[FONT_CHAR_TEX_SIZE * 320];
union {
/* 0xDC88 */ char msgBuf[1280];
/* 0xDC88 */ u16 msgBufWide[640];
};
} Font; // size = 0xE188
#define TEXTBOX_ENDTYPE_DEFAULT 0x00
#define TEXTBOX_ENDTYPE_2_CHOICE 0x10
#define TEXTBOX_ENDTYPE_3_CHOICE 0x20
#define TEXTBOX_ENDTYPE_HAS_NEXT 0x30
#define TEXTBOX_ENDTYPE_PERSISTENT 0x40
#define TEXTBOX_ENDTYPE_EVENT 0x50
#define TEXTBOX_ENDTYPE_FADING 0x60
typedef struct {
/* 0x0000 */ View view;
/* 0x0128 */ Font font;
/* 0xE2B0 */ u8* textboxSegment; // "fukidashiSegment"
/* 0xE2B4 */ char unk_E2B4[0x44];
/* 0xE2FA */ u16 unk_E2F8;
/* 0xE2FA */ u16 unk_E2FA;
/* 0xE2FC */ char unk_E2FC[0x04];
/* 0xE300 */ s32 unk_E300;
/* 0xE304 */ u8 msgMode;
/* 0xE305 */ char unk_E305[0xD1];
/* 0xE3D6 */ u16 unk_E3D6;
/* 0xE3D8 */ char unk_E3D8[0x0A];
/* 0xE3E2 */ u16 unk_E3E2;
/* 0xE3E4 */ u8 unk_E3E4;
/* 0xE2B0 */ void* textboxSegment; // original name: "fukidashiSegment"
/* 0xE2B4 */ char unk_E2B4[0x4];
/* 0xE2B8 */ OcarinaStaff* ocarinaStaff; // original name : "info"
/* 0xE2BC */ char unk_E2BC[0x3C];
/* 0xE2F8 */ u16 textId;
/* 0xE2FA */ u16 choiceTextId;
/* 0xE2FC */ u8 textBoxProperties; // original name : "msg_disp_type"
/* 0xE2FD */ u8 textBoxType; // "Text Box Type"
/* 0xE2FE */ u8 textBoxPos; // text box position
/* 0xE300 */ s32 msgLength; // original name : "msg_data"
/* 0xE304 */ u8 msgMode; // original name: "msg_mode"
/* 0xE305 */ char unk_E305[0x1];
/* 0xE306 */ u8 msgBufDecoded[200]; // decoded message buffer, may be smaller than this
/* 0xE3CE */ u16 msgBufPos; // original name : "rdp"
/* 0xE3D0 */ u16 unk_E3D0; // unused, only ever set to 0
/* 0xE3D2 */ u16 textDrawPos; // draw all decoded characters up to this buffer position
/* 0xE3D4 */ u16 decodedTextLen; // decoded message buffer length
/* 0xE3D6 */ u16 textUnskippable;
/* 0xE3D8 */ s16 textPosX;
/* 0xE3DA */ s16 textPosY;
/* 0xE3DC */ s16 textColorR;
/* 0xE3DE */ s16 textColorG;
/* 0xE3E0 */ s16 textColorB;
/* 0xE3E2 */ s16 textColorAlpha;
/* 0xE3E4 */ u8 textboxEndType; // original name : "select"
/* 0xE3E5 */ u8 choiceIndex;
/* 0xE3E6 */ char unk_E3E6[0x01];
/* 0xE3E7 */ u8 unk_E3E7;
/* 0xE3E8 */ char unk_E3E8[0x04];
/* 0xE3EC */ u16 unk_E3EC;
/* 0xE3EE */ u16 unk_E3EE;
/* 0xE3F0 */ u16 unk_E3F0;
/* 0xE3F2 */ u16 unk_E3F2;
/* 0xE3F4 */ u16 unk_E3F4;
/* 0xE3F6 */ char unk_E3F6[0x16];
/* 0xE40C */ u16 unk_E40C;
/* 0xE40E */ s16 unk_E40E;
/* 0xE410 */ u8 unk_E410;
/* 0xE411 */ char unk_E411[0x07];
/* 0xE3E6 */ u8 choiceNum; // textboxes that are not choice textboxes have a choiceNum of 1
/* 0xE3E7 */ u8 stateTimer;
/* 0xE3E8 */ u16 textDelayTimer;
/* 0xE3EA */ u16 textDelay;
/* 0xE3EA */ u16 lastPlayedSong; // original references : "Ocarina_Flog" , "Ocarina_Free"
/* 0xE3EE */ u16 ocarinaMode; // original name : "ocarina_mode"
/* 0xE3F0 */ u16 ocarinaAction; // original name : "ocarina_no"
/* 0xE3F2 */ u16 unk_E3F2; // this is like "lastPlayedSong" but set less often, original name : "chk_ocarina_no"
/* 0xE3F4 */ u16 unk_E3F4; // unused, only set to 0 in z_actor
/* 0xE3F6 */ u16 textboxBackgroundIdx;
/* 0xE3F8 */ u8 textboxBackgroundForeColorIdx;
/* 0xE3F8 */ u8 textboxBackgroundBackColorIdx;
/* 0xE3F8 */ u8 textboxBackgroundYOffsetIdx;
/* 0xE3F8 */ u8 textboxBackgroundUnkArg; // unused, set by the textbox background control character arguments
/* 0xE3FC */ char unk_E3FC[0x2];
/* 0xE3FE */ s16 textboxColorRed;
/* 0xE400 */ s16 textboxColorGreen;
/* 0xE402 */ s16 textboxColorBlue;
/* 0xE404 */ s16 textboxColorAlphaTarget;
/* 0xE406 */ s16 textboxColorAlphaCurrent;
/* 0xE408 */ Actor* talkActor;
/* 0xE40C */ s16 disableWarpSongs; // warp song flag set by scene commands
/* 0xE40E */ s16 unk_E40E; // ocarina related
/* 0xE410 */ u8 lastOcaNoteIdx;
} MessageContext; // size = 0xE418
typedef enum {
/* 0x00 */ DO_ACTION_ATTACK,
/* 0x01 */ DO_ACTION_CHECK,
/* 0x02 */ DO_ACTION_ENTER,
/* 0x03 */ DO_ACTION_RETURN,
/* 0x04 */ DO_ACTION_OPEN,
/* 0x05 */ DO_ACTION_JUMP,
/* 0x06 */ DO_ACTION_DECIDE,
/* 0x07 */ DO_ACTION_DIVE,
/* 0x08 */ DO_ACTION_FASTER,
/* 0x09 */ DO_ACTION_THROW,
/* 0x0A */ DO_ACTION_NONE, // in do_action_static, the texture at this position is NAVI, however this value is in practice the "No Action" value
/* 0x0B */ DO_ACTION_CLIMB,
/* 0x0C */ DO_ACTION_DROP,
/* 0x0D */ DO_ACTION_DOWN,
/* 0x0E */ DO_ACTION_SAVE,
/* 0x0F */ DO_ACTION_SPEAK,
/* 0x10 */ DO_ACTION_NEXT,
/* 0x11 */ DO_ACTION_GRAB,
/* 0x12 */ DO_ACTION_STOP,
/* 0x13 */ DO_ACTION_PUTAWAY,
/* 0x14 */ DO_ACTION_REEL,
/* 0x15 */ DO_ACTION_1,
/* 0x16 */ DO_ACTION_2,
/* 0x17 */ DO_ACTION_3,
/* 0x18 */ DO_ACTION_4,
/* 0x19 */ DO_ACTION_5,
/* 0x1A */ DO_ACTION_6,
/* 0x1B */ DO_ACTION_7,
/* 0x1C */ DO_ACTION_8,
/* 0x1D */ DO_ACTION_MAX
} DoAction;
typedef struct {
/* 0x0000 */ View view;
/* 0x0128 */ Vtx* actionVtx;
@ -457,12 +701,6 @@ typedef struct {
} restrictions;
} InterfaceContext; // size = 0x270
typedef struct {
/* 0x00 */ u8 unk_00;
/* 0x01 */ u8 unk_01;
/* 0x02 */ u8 unk_02;
} UnkAudioStruct;
typedef struct {
/* 0x00 */ void* loadedRamAddr;
/* 0x04 */ u32 vromStart;
@ -513,7 +751,7 @@ typedef struct {
/* 0x0168 */ Vtx* cursorVtx;
/* 0x016C */ Vtx* saveVtx;
/* 0x0170 */ char unk_170[0x24];
/* 0x0194 */ OcarinaStaff* unk_194;
/* 0x0194 */ OcarinaStaff* ocarinaStaff;
/* 0x0198 */ char unk_198[0x20];
/* 0x01B8 */ OSMesgQueue loadQueue;
/* 0x01D0 */ OSMesg loadMsg;
@ -556,7 +794,7 @@ typedef struct {
/* 0x025E */ u16 nameColorSet; // 0 = white; 1 = grey
/* 0x0260 */ s16 cursorColorSet; // 0 = white; 4 = yellow; 8 = green
/* 0x0262 */ s16 promptChoice; // save/continue choice: 0 = yes; 4 = no
/* 0x0264 */ s16 unk_264;
/* 0x0264 */ s16 ocarinaSongIdx;
/* 0x0266 */ u8 worldMapPoints[20]; // 0 = hidden; 1 = displayed; 2 = highlighted
/* 0x027A */ u8 tradeQuestLocation;
/* 0x027C */ SkelAnime playerSkelAnime;

View file

@ -1028,8 +1028,17 @@ typedef struct {
typedef struct {
u8 noteIdx;
u8 state;
u8 pos;
u8 state; // original name: "status"
u8 pos; // original name: "locate"
} OcarinaStaff;
typedef enum {
/* 0 */ OCARINA_NOTE_A,
/* 1 */ OCARINA_NOTE_C_DOWN,
/* 2 */ OCARINA_NOTE_C_RIGHT,
/* 3 */ OCARINA_NOTE_C_LEFT,
/* 4 */ OCARINA_NOTE_C_UP,
/* -1 */ OCARINA_NOTE_INVALID = 0xFF
} OcarinaNoteIdx;
#endif

View file

@ -159,36 +159,6 @@ typedef union CutsceneData {
#define CS_CMD_CONTINUE 0
#define CS_CMD_STOP -1
typedef enum {
/* 0x00 */ OCARINA_ACTION_UNK_0,
/* 0x01 */ OCARINA_ACTION_FREE_PLAY_OCARINA,
/* 0x02 */ OCARINA_ACTION_MINUET,
/* 0x03 */ OCARINA_ACTION_BOLERO,
/* 0x04 */ OCARINA_ACTION_SERENADE,
/* 0x05 */ OCARINA_ACTION_REQUIEM,
/* 0x06 */ OCARINA_ACTION_NOCTURNE,
/* 0x07 */ OCARINA_ACTION_PRELUDE,
/* 0x08 */ OCARINA_ACTION_SARIAS_SONG,
/* 0x09 */ OCARINA_ACTION_EPONAS_SONG,
/* 0x0A */ OCARINA_ACTION_ZELDAS_LULLABY,
/* 0x0B */ OCARINA_ACTION_SUNS_SONG,
/* 0x0C */ OCARINA_ACTION_SONG_OF_TIME,
/* 0x0D */ OCARINA_ACTION_SONG_OF_STORMS,
/* 0x0E */ OCARINA_ACTION_OCARINA_ACTION_UNK_E,
/* 0x0F */ OCARINA_ACTION_MINUET_PLAYBACK,
/* 0x10 */ OCARINA_ACTION_BOLERO_PLAYBACK,
/* 0x11 */ OCARINA_ACTION_SERENADE_PLAYBACK,
/* 0x12 */ OCARINA_ACTION_REQUIEM_PLAYBACK,
/* 0013 */ OCARINA_ACTION_NOCTURNE_PLAYBACK,
/* 0x14 */ OCARINA_ACTION_PRELUDE_PLAYBACK,
/* 0x15 */ OCARINA_ACTION_SARIAS_SONG_PLAYBACK,
/* 0x16 */ OCARINA_ACTION_EPONAS_SONG_PLAYBACK,
/* 0x17 */ OCARINA_ACTION_ZELDAS_LULLABY_PLAYBACK,
/* 0x18 */ OCARINA_ACTION_SUNS_SONG_PLAYBACK,
/* 0x19 */ OCARINA_ACTION_SONG_OF_TIME_PLAYBACK,
/* 0x1A */ OCARINA_ACTION_SONG_OF_STORMS_PLAYBACK
} OcarinaSongActionIDs;
// TODO confirm correctness, clarify names
typedef enum {
/* 0x00 */ INVALID_DESTINATION_0,

View file

@ -84,7 +84,7 @@ typedef struct {
/* 0x003C */ u8 doubleMagic;
/* 0x003D */ u8 doubleDefense;
/* 0x003E */ u8 bgsFlag;
/* 0x003F */ u8 ocarinaGameReward;
/* 0x003F */ u8 ocarinaGameRoundNum;
/* 0x0040 */ ItemEquips childEquips;
/* 0x004A */ ItemEquips adultEquips;
/* 0x0054 */ u32 unk_54; // this may be incorrect, currently used for alignement

16
spec
View file

@ -238,25 +238,29 @@ endseg
beginseg
name "nes_message_data_static"
romalign 0x1000
include "build/baserom/nes_message_data_static.o"
include "build/assets/text/nes_message_data_static.o"
number 7
endseg
beginseg
name "ger_message_data_static"
romalign 0x1000
include "build/baserom/ger_message_data_static.o"
include "build/assets/text/ger_message_data_static.o"
number 7
endseg
beginseg
name "fra_message_data_static"
romalign 0x1000
include "build/baserom/fra_message_data_static.o"
include "build/assets/text/fra_message_data_static.o"
number 7
endseg
beginseg
name "staff_message_data_static"
romalign 0x1000
include "build/baserom/staff_message_data_static.o"
include "build/assets/text/staff_message_data_static.o"
number 7
endseg
beginseg
@ -506,9 +510,7 @@ beginseg
include "build/src/code/code_801067F0.o"
include "build/src/code/code_80106860.o"
include "build/src/code/code_801068B0.o"
include "build/data/z_message_PAL.rodata.o"
include "build/src/code/z_message_PAL.o"
include "build/data/z_message_PAL.bss.o"
include_data_with_rodata "build/src/code/z_message_PAL.o"
include "build/src/code/z_game_over.o"
include "build/src/code/z_construct.o"
include "build/data/rsp.text.o"

View file

@ -213,7 +213,8 @@ void AudioLoad_InitSampleDmaBuffers(s32 arg0) {
t2 = 3 * gAudioContext.numNotes * gAudioContext.audioBufferParameters.specUnk4;
for (i = 0; i < t2; i++) {
dma = &gAudioContext.sampleDmas[gAudioContext.sampleDmaCount];
dma->ramAddr = AudioHeap_AllocAttemptExternal(&gAudioContext.notesAndBuffersPool, gAudioContext.sampleDmaBufSize);
dma->ramAddr =
AudioHeap_AllocAttemptExternal(&gAudioContext.notesAndBuffersPool, gAudioContext.sampleDmaBufSize);
if (dma->ramAddr == NULL) {
break;
} else {
@ -243,7 +244,8 @@ void AudioLoad_InitSampleDmaBuffers(s32 arg0) {
for (j = 0; j < gAudioContext.numNotes; j++) {
dma = &gAudioContext.sampleDmas[gAudioContext.sampleDmaCount];
dma->ramAddr = AudioHeap_AllocAttemptExternal(&gAudioContext.notesAndBuffersPool, gAudioContext.sampleDmaBufSize);
dma->ramAddr =
AudioHeap_AllocAttemptExternal(&gAudioContext.notesAndBuffersPool, gAudioContext.sampleDmaBufSize);
if (dma->ramAddr == NULL) {
break;
} else {

View file

@ -82,9 +82,6 @@ typedef enum {
#define SCROLL_PRINT_BUF_SIZE 25
#define OCA_SONGS_SCARECROW 12
#define OCA_SONGS_MEMORYGAME 13
#define SFX_PLAYER_CHANNEL_OCARINA 13
extern f32 D_8012F6B4[]; // from audio_synthesis
@ -219,8 +216,8 @@ u8 sOcaMinigameAppendPos = 0;
u8 sOcaMinigameEndPos = 0;
u8 sOcaMinigameNoteCnts[] = { 5, 6, 8 };
OcarinaNote sOcarinaSongs[14][20] = {
// minuet
OcarinaNote sOcarinaSongs[OCARINA_SONG_MAX][20] = {
// Minuet
{
{ 2, 0, 18, 86, 0, 0, 0 },
{ 14, 0, 18, 92, 0, 0, 0 },
@ -231,7 +228,7 @@ OcarinaNote sOcarinaSongs[14][20] = {
{ 0xFF, 0, 0, 86, 0, 0, 0 },
},
// bolero
// Bolero
{
{ 5, 0, 15, 80, 0, 0, 0 },
{ 2, 0, 15, 72, 0, 0, 0 },
@ -244,7 +241,7 @@ OcarinaNote sOcarinaSongs[14][20] = {
{ 0xFF, 0, 0, 66, 0, 0, 0 },
},
// serenade
// Serenade
{
{ 2, 0, 36, 60, 0, 0, 0 },
{ 5, 0, 36, 78, 0, 0, 0 },
@ -255,7 +252,7 @@ OcarinaNote sOcarinaSongs[14][20] = {
{ 0xFF, 0, 0, 90, 0, 0, 0 },
},
// requiem
// Requiem
{
{ 2, 0, 45, 88, 0, 0, 0 },
{ 5, 0, 23, 86, 0, 0, 0 },
@ -266,7 +263,7 @@ OcarinaNote sOcarinaSongs[14][20] = {
{ 0xFF, 0, 0, 94, 0, 0, 0 },
},
// nocturne
// Nocturne
{
{ 11, 0, 36, 88, 0, 0, 0 },
{ 9, 0, 33, 84, 0, 0, 0 },
@ -279,7 +276,7 @@ OcarinaNote sOcarinaSongs[14][20] = {
{ 0xFF, 0, 0, 96, 0, 0, 0 },
},
// prelude
// Prelude
{
{ 14, 0, 15, 84, 0, 0, 0 },
{ 9, 0, 45, 88, 0, 0, 0 },
@ -291,7 +288,7 @@ OcarinaNote sOcarinaSongs[14][20] = {
{ 0xFF, 0, 0, 90, 0, 0, 0 },
},
// sarias
// Sarias
{
{ 5, 0, 17, 84, 0, 0, 0 },
{ 9, 0, 17, 88, 0, 0, 0 },
@ -302,7 +299,7 @@ OcarinaNote sOcarinaSongs[14][20] = {
{ 0xFF, 0, 0, 90, 0, 0, 0 },
},
// epona
// Epona
{
{ 14, 0, 18, 84, 0, 0, 0 },
{ 11, 0, 18, 88, 0, 0, 0 },
@ -313,7 +310,7 @@ OcarinaNote sOcarinaSongs[14][20] = {
{ 0xFF, 0, 0, 90, 0, 0, 0 },
},
// lullaby
// Lullaby
{
{ 11, 0, 51, 84, 0, 0, 0 },
{ 14, 0, 25, 88, 0, 0, 0 },
@ -324,7 +321,7 @@ OcarinaNote sOcarinaSongs[14][20] = {
{ 0xFF, 0, 0, 90, 0, 0, 0 },
},
// suns
// Suns
{
{ 9, 0, 12, 84, 0, 0, 0 },
{ 5, 0, 13, 88, 0, 0, 0 },
@ -336,7 +333,7 @@ OcarinaNote sOcarinaSongs[14][20] = {
{ 0xFF, 0, 0, 90, 0, 0, 0 },
},
// song of time
// Song of Time
{
{ 9, 0, 32, 84, 0, 0, 0 },
{ 2, 0, 65, 88, 0, 0, 0 },
@ -347,7 +344,7 @@ OcarinaNote sOcarinaSongs[14][20] = {
{ 0xFF, 0, 0, 90, 0, 0, 0 },
},
// storms
// Storms
{
{ 2, 0, 11, 84, 0, 0, 0 },
{ 5, 0, 11, 88, 0, 0, 0 },
@ -358,13 +355,13 @@ OcarinaNote sOcarinaSongs[14][20] = {
{ 0xFF, 0, 0, 90, 0, 0, 0 },
},
// scarecrow
// Scarecrow
{
{ 2, 0, 3, 0, 0, 0, 0 },
{ 0xFF, 0, 0, 255, 0, 0, 0 },
},
// OCA_SONGS_MEMORYGAME
// Lost Woods Memory Game
{
{ 2, 0, 3, 0, 0, 0, 0 },
{ 0xFF, 0, 0, 0, 0, 0, 0 },
@ -372,9 +369,13 @@ OcarinaNote sOcarinaSongs[14][20] = {
};
OcarinaNote* sPlaybackSong = sOcarinaSongs[0];
u8 D_80131844[14] = { 0, 3, 2, 1, 3, 2, 1, 0, 1, 0, 1, 2, 3, 0 };
u8* gFrogsSongPtr = D_80131844;
u8 D_80131858 = 0; // "REC"
u8 sFrogsSongNotes[14] = {
OCARINA_NOTE_A, OCARINA_NOTE_C_LEFT, OCARINA_NOTE_C_RIGHT, OCARINA_NOTE_C_DOWN, OCARINA_NOTE_C_LEFT,
OCARINA_NOTE_C_RIGHT, OCARINA_NOTE_C_DOWN, OCARINA_NOTE_A, OCARINA_NOTE_C_DOWN, OCARINA_NOTE_A,
OCARINA_NOTE_C_DOWN, OCARINA_NOTE_C_RIGHT, OCARINA_NOTE_C_LEFT, OCARINA_NOTE_A,
};
u8* gFrogsSongPtr = sFrogsSongNotes;
u8 sRecordingState = 0;
u8 sRecordSongPos = 0;
u32 D_80131860 = 0;
u8 D_80131864 = 0;
@ -392,26 +393,137 @@ OcarinaNote sPierresSong[108] = {
};
OcarinaNote* gScarecrowCustomSongPtr = sPierresSong;
u8* gScarecrowSpawnSongPtr = (u8*)&sOcarinaSongs[OCA_SONGS_SCARECROW];
OcarinaNote* D_80131BEC = sOcarinaSongs[OCA_SONGS_MEMORYGAME];
u8* gScarecrowSpawnSongPtr = (u8*)&sOcarinaSongs[OCARINA_SONG_SCARECROW];
OcarinaNote* D_80131BEC = sOcarinaSongs[OCARINA_SONG_MEMORY_GAME];
u8 sNoteValueIndexMap[16] = { 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 5, 3, 3, 4, 4, 4 };
// clang-format off
OcarinaSongInfo gOcarinaSongNotes[14] = {
{ 6, { 0, 4, 3, 2, 3, 2 }},
{ 8, { 1, 0, 1, 0, 2, 1, 2, 1 }},
{ 5, { 0, 1, 2, 2, 3 }},
{ 6, { 0, 1, 0, 2, 1, 0 }},
{ 7, { 3, 2, 2, 0, 3, 2, 1 }},
{ 6, { 4, 2, 4, 2, 3, 4 }},
{ 6, { 1, 2, 3, 1, 2, 3 }},
{ 6, { 4, 3, 2, 4, 3, 2 }},
{ 6, { 3, 4, 2, 3, 4, 2 }},
{ 6, { 2, 1, 4, 2, 1, 4 }},
{ 6, { 2, 0, 1, 2, 0, 1 }},
{ 6, { 0, 1, 4, 0, 1, 4 }},
{ 8, { 0, 0, 0, 0, 0, 0, 0, 0 }},
{ 0, { 0, 0, 0, 0, 0, 0, 0, 0 }},
OcarinaSongInfo gOcarinaSongNotes[OCARINA_SONG_MAX] = {
// Minuet
{ 6,
{
OCARINA_NOTE_A,
OCARINA_NOTE_C_UP,
OCARINA_NOTE_C_LEFT,
OCARINA_NOTE_C_RIGHT,
OCARINA_NOTE_C_LEFT,
OCARINA_NOTE_C_RIGHT,
} },
// Bolero
{ 8,
{
OCARINA_NOTE_C_DOWN,
OCARINA_NOTE_A,
OCARINA_NOTE_C_DOWN,
OCARINA_NOTE_A,
OCARINA_NOTE_C_RIGHT,
OCARINA_NOTE_C_DOWN,
OCARINA_NOTE_C_RIGHT,
OCARINA_NOTE_C_DOWN,
} },
// Serenade
{ 5,
{
OCARINA_NOTE_A,
OCARINA_NOTE_C_DOWN,
OCARINA_NOTE_C_RIGHT,
OCARINA_NOTE_C_RIGHT,
OCARINA_NOTE_C_LEFT,
} },
// Requiem
{ 6,
{
OCARINA_NOTE_A,
OCARINA_NOTE_C_DOWN,
OCARINA_NOTE_A,
OCARINA_NOTE_C_RIGHT,
OCARINA_NOTE_C_DOWN,
OCARINA_NOTE_A,
} },
// Nocturne
{ 7,
{
OCARINA_NOTE_C_LEFT,
OCARINA_NOTE_C_RIGHT,
OCARINA_NOTE_C_RIGHT,
OCARINA_NOTE_A,
OCARINA_NOTE_C_LEFT,
OCARINA_NOTE_C_RIGHT,
OCARINA_NOTE_C_DOWN,
} },
// Prelude
{ 6,
{
OCARINA_NOTE_C_UP,
OCARINA_NOTE_C_RIGHT,
OCARINA_NOTE_C_UP,
OCARINA_NOTE_C_RIGHT,
OCARINA_NOTE_C_LEFT,
OCARINA_NOTE_C_UP,
} },
// Sarias
{ 6,
{
OCARINA_NOTE_C_DOWN,
OCARINA_NOTE_C_RIGHT,
OCARINA_NOTE_C_LEFT,
OCARINA_NOTE_C_DOWN,
OCARINA_NOTE_C_RIGHT,
OCARINA_NOTE_C_LEFT,
} },
// Epona
{ 6,
{
OCARINA_NOTE_C_UP,
OCARINA_NOTE_C_LEFT,
OCARINA_NOTE_C_RIGHT,
OCARINA_NOTE_C_UP,
OCARINA_NOTE_C_LEFT,
OCARINA_NOTE_C_RIGHT,
} },
// Lullaby
{ 6,
{
OCARINA_NOTE_C_LEFT,
OCARINA_NOTE_C_UP,
OCARINA_NOTE_C_RIGHT,
OCARINA_NOTE_C_LEFT,
OCARINA_NOTE_C_UP,
OCARINA_NOTE_C_RIGHT,
} },
// Suns
{ 6,
{
OCARINA_NOTE_C_RIGHT,
OCARINA_NOTE_C_DOWN,
OCARINA_NOTE_C_UP,
OCARINA_NOTE_C_RIGHT,
OCARINA_NOTE_C_DOWN,
OCARINA_NOTE_C_UP,
} },
// Song of Time
{ 6,
{
OCARINA_NOTE_C_RIGHT,
OCARINA_NOTE_A,
OCARINA_NOTE_C_DOWN,
OCARINA_NOTE_C_RIGHT,
OCARINA_NOTE_A,
OCARINA_NOTE_C_DOWN,
} },
// Storms
{ 6,
{
OCARINA_NOTE_A,
OCARINA_NOTE_C_DOWN,
OCARINA_NOTE_C_UP,
OCARINA_NOTE_A,
OCARINA_NOTE_C_DOWN,
OCARINA_NOTE_C_UP,
} },
// Scarecrow
{ 8, { 0, 0, 0, 0, 0, 0, 0, 0 } },
// Lost Woods Memory Game
{ 0, { 0, 0, 0, 0, 0, 0, 0, 0 } },
};
// clang-format on
@ -454,9 +566,9 @@ u8 D_8016B9F3;
u8 D_8016B9F4;
u16 D_8016B9F6;
OcarinaStaff D_8016B9F8; // playing along staff?
OcarinaStaff sDisplayedStaff; // displayed staff?
OcarinaStaff D_8016BA00; // ?? note and status not updated, pos updated as you play
OcarinaStaff sPlayingStaff;
OcarinaStaff sDisplayedStaff;
OcarinaStaff sRecordingStaff;
u32 D_8016BA04;
typedef struct {
s8 x;
@ -474,7 +586,7 @@ u8 sOcarinaHasStartedSong;
u8 sOcarinaSongNoteStartIdx;
u8 sOcarinaSongCnt;
u16 sOcarinaAvailSongs;
u8 D_8016BA2E;
u8 sStaffPlayingPos;
u16 sLearnSongPos[0x10];
u16 D_8016BA50[0x10];
u16 D_8016BA70[0x10];
@ -547,7 +659,7 @@ f32 Audio_OcaAdjStick(s8 inp) {
return ret;
}
u8 func_800ECAF0(void) {
u8 Audio_OcaGetPlayingState(void) {
u8 ret;
if (D_80131878 != 0) {
@ -585,7 +697,7 @@ void func_800ECB7C(u8 songIdx) {
while (savedSongIdx < 8 && scarecrowSongIdx < 0x10) {
noteIdx = sOcarinaSongs[songIdx][scarecrowSongIdx++].noteIdx;
if (noteIdx != 0xFF) {
gOcarinaSongNotes[OCA_SONGS_SCARECROW].notesIdx[savedSongIdx++] = sNoteValueIndexMap[noteIdx];
gOcarinaSongNotes[OCARINA_SONG_SCARECROW].notesIdx[savedSongIdx++] = sNoteValueIndexMap[noteIdx];
}
}
}
@ -594,15 +706,15 @@ void func_800ECB7C(u8 songIdx) {
void func_800ECC04(u16 flg) {
u8 i;
if ((sOcarinaSongs[OCA_SONGS_SCARECROW][1].volume != 0xFF) && ((flg & 0xFFF) == 0xFFF)) {
if ((sOcarinaSongs[OCARINA_SONG_SCARECROW][1].volume != 0xFF) && ((flg & 0xFFF) == 0xFFF)) {
flg |= 0x1000;
}
if ((flg == 0xCFFF) && (sOcarinaSongs[OCA_SONGS_SCARECROW][1].volume != 0xFF)) {
if ((flg == 0xCFFF) && (sOcarinaSongs[OCARINA_SONG_SCARECROW][1].volume != 0xFF)) {
flg = 0xDFFF;
}
if ((flg == 0xFFF) && (sOcarinaSongs[OCA_SONGS_SCARECROW][1].volume != 0xFF)) {
if ((flg == 0xFFF) && (sOcarinaSongs[OCARINA_SONG_SCARECROW][1].volume != 0xFF)) {
flg = 0x1FFF;
}
@ -617,8 +729,8 @@ void func_800ECC04(u16 flg) {
D_8013187C = 8;
sOcarinaHasStartedSong = 0;
D_80131878 = 0;
D_8016BA2E = 0;
D_8016B9F8.state = func_800ECAF0();
sStaffPlayingPos = 0;
sPlayingStaff.state = Audio_OcaGetPlayingState();
sOcarinaInpEnabled = 1;
D_80130F4C = 0;
for (i = 0; i < 0xE; i++) {
@ -637,8 +749,7 @@ void func_800ECC04(u16 flg) {
}
if (flg & 0xD000) {
func_800ECB7C(0xC);
return;
func_800ECB7C(OCARINA_SONG_SCARECROW);
}
} else {
D_80130F3C = 0;
@ -707,7 +818,8 @@ void func_800ECDF8(void) {
if (sCurOcarinaBtnVal != sLearnSongExpectedNote[i]) {
sOcarinaAvailSongs ^= sh;
}
while (prevNote->noteIdx == note->noteIdx || (note->noteIdx == 0xFF && note->unk_02 != 0)) {
while (prevNote->noteIdx == note->noteIdx ||
(note->noteIdx == OCARINA_NOTE_INVALID && note->unk_02 != 0)) {
D_8016BA70[i] += note->unk_02;
prevNote = &sOcarinaSongs[i][sLearnSongPos[i]];
note = &sOcarinaSongs[i][sLearnSongPos[i] + 1];
@ -722,7 +834,7 @@ void func_800ECDF8(void) {
}
}
if (sOcarinaAvailSongs == 0 && D_8016BA2E >= D_8013187C) {
if (sOcarinaAvailSongs == 0 && sStaffPlayingPos >= D_8013187C) {
sOcarinaInpEnabled = 0;
if (CHECK_BTN_ANY(D_80130F3C, BTN_B) && sCurOcarinaBtnVal == sOcarinaSongs[i][0].noteIdx) {
D_80130F4C = D_80130F3C;
@ -734,7 +846,7 @@ void func_800ECDF8(void) {
if (!inputChanged) {
sLearnSongLastBtn = sCurOcarinaBtnVal;
D_8016BA2E += sp57 + 1;
sStaffPlayingPos += sp57 + 1;
}
}
}
@ -754,9 +866,9 @@ void func_800ED200(void) {
if (sOcarinaHasStartedSong) {
if ((sPrevOcarinaNoteVal != sCurOcarinaBtnVal) && (sCurOcarinaBtnVal != 0xFF)) {
D_8016BA2E++;
if (D_8016BA2E >= 9) {
D_8016BA2E = 1;
sStaffPlayingPos++;
if (sStaffPlayingPos >= 9) {
sStaffPlayingPos = 1;
}
if (sOcarinaSongAppendPos == 8) {
@ -839,17 +951,17 @@ void func_800ED458(s32 arg0) {
sCurOcarinaBtnIdx = 4;
}
if (sCurOcarinaBtnVal != 0xFF && sCurOcarinaBtnPress & 0x10 && D_80131858 != 2) {
if (sCurOcarinaBtnVal != 0xFF && sCurOcarinaBtnPress & 0x10 && sRecordingState != 2) {
sCurOcarinaBtnIdx += 0x80;
sCurOcarinaBtnVal++;
}
if ((sCurOcarinaBtnVal != 0xFF) && (sCurOcarinaBtnPress & 0x2000) && (D_80131858 != 2)) {
if ((sCurOcarinaBtnVal != 0xFF) && (sCurOcarinaBtnPress & 0x2000) && (sRecordingState != 2)) {
sCurOcarinaBtnIdx += 0x40;
sCurOcarinaBtnVal--;
}
if (D_80131858 != 2) {
if (sRecordingState != 2) {
D_80130F2C = sCurOcaStick.y;
D_80130F24 = Audio_OcaAdjStick(D_80130F2C);
@ -874,7 +986,7 @@ void func_800ED848(u8 inputEnabled) {
sOcarinaInpEnabled = inputEnabled;
}
void func_800ED858(u8 arg0) {
void Audio_OcaSetInstrument(u8 arg0) {
if (D_80130F10 == arg0) {
return;
}
@ -902,25 +1014,25 @@ void func_800ED858(u8 arg0) {
}
}
void func_800ED93C(s8 songIdx, s8 arg1) {
if (songIdx == 0) {
void Audio_OcaSetSongPlayback(s8 songIdxPlusOne, s8 playbackState) {
if (songIdxPlusOne == 0) {
sPlaybackState = 0;
Audio_StopSfxById(NA_SE_OC_OCARINA);
return;
}
if (songIdx < 0xF) {
sPlaybackSong = sOcarinaSongs[songIdx - 1];
if (songIdxPlusOne < 0xF) {
sPlaybackSong = sOcarinaSongs[songIdxPlusOne - 1];
} else {
sPlaybackSong = sPierresSong;
}
sPlaybackState = arg1;
sPlaybackState = playbackState;
sNotePlaybackTimer = 0;
sDisplayedNoteValue = 0xFF;
sPlaybackNotePos = 0;
sStaffPlaybackPos = 0;
while (sPlaybackSong[sPlaybackNotePos].noteIdx == 0xFF) {
while (sPlaybackSong[sPlaybackNotePos].noteIdx == OCARINA_NOTE_INVALID) {
sPlaybackNotePos++;
}
}
@ -1020,7 +1132,7 @@ void func_800EDD68(u8 arg0) {
s32 t;
OcarinaNote* song;
if (D_80131858 == 1) {
if (sRecordingState == 1) {
song = gScarecrowCustomSongPtr;
} else {
song = D_80131BEC;
@ -1058,26 +1170,26 @@ void func_800EDD68(u8 arg0) {
song[sRecordSongPos].unk_02 = 0;
if (D_80131858 == 2) {
if (D_8016BA2E >= 8) {
if (sRecordingState == 2) {
if (sStaffPlayingPos >= 8) {
for (i = 0; i < sRecordSongPos; i++) {
song[i] = song[i + 1];
}
func_800ECB7C(OCA_SONGS_MEMORYGAME);
func_800ECB7C(OCARINA_SONG_MEMORY_GAME);
for (i = 0; i < OCA_SONGS_SCARECROW; i++) {
for (i = 0; i < OCARINA_SONG_SCARECROW; i++) {
for (j = 0; j < 9 - gOcarinaSongNotes[i].len; j++) {
for (k = 0;
k < gOcarinaSongNotes[i].len && k + j < 8 &&
gOcarinaSongNotes[i].notesIdx[k] == gOcarinaSongNotes[OCA_SONGS_SCARECROW].notesIdx[k + j];
gOcarinaSongNotes[i].notesIdx[k] == gOcarinaSongNotes[OCARINA_SONG_SCARECROW].notesIdx[k + j];
k++) {
;
}
if (k == gOcarinaSongNotes[i].len) {
D_80131858 = 0xFF;
sOcarinaSongs[OCA_SONGS_SCARECROW][1].volume = 0xFF;
sRecordingState = 0xFF;
sOcarinaSongs[OCARINA_SONG_SCARECROW][1].volume = 0xFF;
return;
}
}
@ -1085,8 +1197,8 @@ void func_800EDD68(u8 arg0) {
i = 1;
while (i < 8) {
if (gOcarinaSongNotes[OCA_SONGS_SCARECROW].notesIdx[0] !=
gOcarinaSongNotes[OCA_SONGS_SCARECROW].notesIdx[i]) {
if (gOcarinaSongNotes[OCARINA_SONG_SCARECROW].notesIdx[0] !=
gOcarinaSongNotes[OCARINA_SONG_SCARECROW].notesIdx[i]) {
i = 9;
} else {
i++;
@ -1094,35 +1206,35 @@ void func_800EDD68(u8 arg0) {
}
if (i == 8) {
D_80131858 = 0xFF;
sOcarinaSongs[OCA_SONGS_SCARECROW][1].volume = 0xFF;
sRecordingState = 0xFF;
sOcarinaSongs[OCARINA_SONG_SCARECROW][1].volume = 0xFF;
return;
}
for (i = 0; i < sRecordSongPos; i++) {
sOcarinaSongs[OCA_SONGS_SCARECROW][i] = sOcarinaSongs[OCA_SONGS_MEMORYGAME][i];
sOcarinaSongs[OCARINA_SONG_SCARECROW][i] = sOcarinaSongs[OCARINA_SONG_MEMORY_GAME][i];
}
sOcarinaInpEnabled = 0;
} else {
sOcarinaSongs[OCA_SONGS_SCARECROW][1].volume = 0xFF;
sOcarinaSongs[OCARINA_SONG_SCARECROW][1].volume = 0xFF;
}
}
D_80131858 = 0;
sRecordingState = 0;
}
// start custom song?
/**
* arg0 = 1, start
* arg0 = 0, finish
* arg0 = 2, also start?
* recordingState = 1, start long scarecrows song
* recordingState = 0, end
* recordingState = 2, also scarecrows song
*/
void func_800EE170(u8 arg0) {
if ((u32)arg0 == D_80131858) {
void Audio_OcaSetRecordingState(u8 recordingState) {
if ((u32)recordingState == sRecordingState) {
return;
}
if (arg0 != 0) {
if (recordingState != 0) {
D_80131860 = D_8016BA04;
D_80131864 = 0xFF;
D_80131868 = 0x57;
@ -1131,41 +1243,41 @@ void func_800EE170(u8 arg0) {
D_80131874 = 0;
sRecordSongPos = 0;
sOcarinaInpEnabled = 1;
D_8016BA2E = 0;
sStaffPlayingPos = 0;
D_8016BAA0 = sPierresSong[1];
} else {
if (sRecordSongPos == 0) {
sPierresSong[1] = D_8016BAA0;
} else {
if (D_80131858 == 2) {
D_8016BA2E = 1;
if (sRecordingState == 2) {
sStaffPlayingPos = 1;
}
func_800EDD68(1);
}
sOcarinaInpEnabled = 0;
D_8016BA2E = 0;
sStaffPlayingPos = 0;
}
D_80131858 = arg0;
sRecordingState = recordingState;
}
void func_800EE29C(void) {
D_8016BA00.state = D_80131858;
D_8016BA00.pos = D_8016BA2E;
if (D_80131858 == 0xFF) {
D_80131858 = 0;
void Audio_OcaUpdateRecordingStaff(void) {
sRecordingStaff.state = sRecordingState;
sRecordingStaff.pos = sStaffPlayingPos;
if (sRecordingState == 0xFF) {
sRecordingState = 0;
}
}
void func_800EE2D4(void) {
D_8016B9F8.noteIdx = sCurOcarinaBtnIdx & 0x3F;
D_8016B9F8.state = func_800ECAF0();
D_8016B9F8.pos = D_8016BA2E;
void Audio_OcaUpdatePlayingStaff(void) {
sPlayingStaff.noteIdx = sCurOcarinaBtnIdx & 0x3F;
sPlayingStaff.state = Audio_OcaGetPlayingState();
sPlayingStaff.pos = sStaffPlayingPos;
}
void func_800EE318(void) {
void Audio_OcaUpdateDisplayedStaff(void) {
if ((sDisplayedNoteValue & 0x3F) < 0x10) {
sDisplayedStaff.noteIdx = Audio_OcaMapNoteValue(sDisplayedNoteValue);
}
@ -1181,42 +1293,42 @@ void func_800EE318(void) {
}
}
OcarinaStaff* func_800EE3C8(void) {
return &D_8016BA00;
OcarinaStaff* Audio_OcaGetRecordingStaff(void) {
return &sRecordingStaff;
}
OcarinaStaff* func_800EE3D4(void) {
if (D_8016B9F8.state < 0xFE) {
OcarinaStaff* Audio_OcaGetPlayingStaff(void) {
if (sPlayingStaff.state < 0xFE) {
D_80130F3C = 0;
}
return &D_8016B9F8;
return &sPlayingStaff;
}
OcarinaStaff* Audio_OcaGetDisplayStaff(void) {
OcarinaStaff* Audio_OcaGetDisplayingStaff(void) {
return &sDisplayedStaff;
}
void func_800EE404(void) {
s32 noteChanged;
if ((D_80131858 != 0) && ((D_8016BA04 - D_80131860) >= 3)) {
if ((sRecordingState != 0) && ((D_8016BA04 - D_80131860) >= 3)) {
noteChanged = false;
if (D_80131864 != sCurOcarinaBtnVal) {
if (sCurOcarinaBtnVal != 0xFF) {
D_8016BA00.noteIdx = sCurOcarinaBtnIdx & 0x3F;
D_8016BA2E++;
} else if ((D_80131858 == 2) && (D_8016BA2E == 8)) {
sRecordingStaff.noteIdx = sCurOcarinaBtnIdx & 0x3F;
sStaffPlayingPos++;
} else if ((sRecordingState == 2) && (sStaffPlayingPos == 8)) {
func_800EDD68(1);
return;
}
if (D_8016BA2E > 8) {
if (D_80131858 == 2) {
if (sStaffPlayingPos > 8) {
if (sRecordingState == 2) {
// notes played are over 8 and in recording mode.
func_800EDD68(1);
return;
}
D_8016BA2E = true;
sStaffPlayingPos = true;
}
noteChanged = true;
@ -1235,22 +1347,22 @@ void func_800EE404(void) {
}
}
void func_800EE57C(u8 minigameIdx) {
void Audio_OcaMemoryGameStart(u8 minigameRound) {
u8 i;
if (minigameIdx > 2) {
minigameIdx = 2;
if (minigameRound > 2) {
minigameRound = 2;
}
sOcaMinigameAppendPos = 0;
sOcaMinigameEndPos = sOcaMinigameNoteCnts[minigameIdx];
sOcaMinigameEndPos = sOcaMinigameNoteCnts[minigameRound];
for (i = 0; i < 3; i++) {
func_800EE5EC();
Audio_OcaMemoryGameGenNote();
}
}
s32 func_800EE5EC(void) {
s32 Audio_OcaMemoryGameGenNote(void) {
u32 rnd;
u8 rndNote;
@ -1261,22 +1373,22 @@ s32 func_800EE5EC(void) {
rnd = Audio_NextRandom();
rndNote = sOcarinaNoteValues[rnd % 5];
if (sOcarinaSongs[OCA_SONGS_MEMORYGAME][sOcaMinigameAppendPos - 1].noteIdx == rndNote) {
if (sOcarinaSongs[OCARINA_SONG_MEMORY_GAME][sOcaMinigameAppendPos - 1].noteIdx == rndNote) {
rndNote = sOcarinaNoteValues[(rnd + 1) % 5];
}
sOcarinaSongs[OCA_SONGS_MEMORYGAME][sOcaMinigameAppendPos].noteIdx = rndNote;
sOcarinaSongs[OCA_SONGS_MEMORYGAME][sOcaMinigameAppendPos].unk_02 = 0x2D;
sOcarinaSongs[OCA_SONGS_MEMORYGAME][sOcaMinigameAppendPos].volume = 0x50;
sOcarinaSongs[OCA_SONGS_MEMORYGAME][sOcaMinigameAppendPos].vibrato = 0;
sOcarinaSongs[OCA_SONGS_MEMORYGAME][sOcaMinigameAppendPos].tone = 0;
sOcarinaSongs[OCARINA_SONG_MEMORY_GAME][sOcaMinigameAppendPos].noteIdx = rndNote;
sOcarinaSongs[OCARINA_SONG_MEMORY_GAME][sOcaMinigameAppendPos].unk_02 = 0x2D;
sOcarinaSongs[OCARINA_SONG_MEMORY_GAME][sOcaMinigameAppendPos].volume = 0x50;
sOcarinaSongs[OCARINA_SONG_MEMORY_GAME][sOcaMinigameAppendPos].vibrato = 0;
sOcarinaSongs[OCARINA_SONG_MEMORY_GAME][sOcaMinigameAppendPos].tone = 0;
sOcaMinigameAppendPos++;
sOcarinaSongs[OCA_SONGS_MEMORYGAME][sOcaMinigameAppendPos].noteIdx = 0xFF;
sOcarinaSongs[OCA_SONGS_MEMORYGAME][sOcaMinigameAppendPos].unk_02 = 0;
sOcarinaSongs[OCA_SONGS_MEMORYGAME][sOcaMinigameAppendPos + 1].noteIdx = 0xFF;
sOcarinaSongs[OCA_SONGS_MEMORYGAME][sOcaMinigameAppendPos + 1].unk_02 = 0;
sOcarinaSongs[OCARINA_SONG_MEMORY_GAME][sOcaMinigameAppendPos].noteIdx = 0xFF;
sOcarinaSongs[OCARINA_SONG_MEMORY_GAME][sOcaMinigameAppendPos].unk_02 = 0;
sOcarinaSongs[OCARINA_SONG_MEMORY_GAME][sOcaMinigameAppendPos + 1].noteIdx = 0xFF;
sOcarinaSongs[OCARINA_SONG_MEMORY_GAME][sOcaMinigameAppendPos + 1].unk_02 = 0;
if (1) {}
return 0;
}
@ -1313,9 +1425,9 @@ void func_800EE6F4(void) {
sPrevOcarinaNoteVal = sCurOcarinaBtnVal;
}
func_800EE2D4();
func_800EE318();
func_800EE29C();
Audio_OcaUpdatePlayingStaff();
Audio_OcaUpdateDisplayedStaff();
Audio_OcaUpdateRecordingStaff();
}
void func_800EE824(void) {
@ -1330,20 +1442,20 @@ void func_800EE824(void) {
D_80131C80++;
} else {
D_80131C80 = 3;
func_800ED858(0);
Audio_OcaSetInstrument(0);
}
D_80131C88 = 1200;
}
break;
case 1:
Audio_SetSoundBanksMute(0);
func_800ED858(D_80131C84);
func_800ED93C(0xF, 1);
Audio_OcaSetInstrument(D_80131C84);
Audio_OcaSetSongPlayback(OCARINA_SONG_SCARECROW_LONG + 1, 1);
D_80131C84++;
D_80131C80++;
break;
case 2:
if (Audio_OcaGetDisplayStaff()->state == 0) {
if (Audio_OcaGetDisplayingStaff()->state == 0) {
D_80131C80 = 0;
}
break;
@ -1351,15 +1463,15 @@ void func_800EE824(void) {
}
void func_800EE930(void) {
D_8016B9F8.noteIdx = 0xFF;
D_8016B9F8.state = 0xFF;
D_8016B9F8.pos = 0;
sDisplayedStaff.noteIdx = 0xFF;
sPlayingStaff.noteIdx = OCARINA_NOTE_INVALID;
sPlayingStaff.state = 0xFF;
sPlayingStaff.pos = 0;
sDisplayedStaff.noteIdx = OCARINA_NOTE_INVALID;
sDisplayedStaff.state = 0;
sDisplayedStaff.pos = 0;
D_8016BA00.noteIdx = 0xFF;
D_8016BA00.state = 0xFF;
D_8016BA00.pos = 0;
sRecordingStaff.noteIdx = OCARINA_NOTE_INVALID;
sRecordingStaff.state = 0xFF;
sRecordingStaff.pos = 0;
D_80131880 = 0;
}
@ -2022,7 +2134,8 @@ void AudioDebug_Draw(GfxPrint* printer) {
sDisplayedStaff.pos);
GfxPrint_SetPos(printer, 3, 5);
GfxPrint_Printf(printer, "PLAY INFO : %2d %02x %d", D_8016B9F8.noteIdx, D_8016B9F8.state, D_8016B9F8.pos);
GfxPrint_Printf(printer, "PLAY INFO : %2d %02x %d", sPlayingStaff.noteIdx, sPlayingStaff.state,
sPlayingStaff.pos);
GfxPrint_SetPos(printer, 3, 6);
GfxPrint_Printf(printer, "8note REC POINTER : %08x", gScarecrowSpawnSongPtr);
@ -2037,7 +2150,7 @@ void AudioDebug_Draw(GfxPrint* printer) {
GfxPrint_SetPos(printer, 3, 24);
GfxPrint_Printf(printer, "OCA:%02x SEQ:%04x PLAY:%02x REC:%02x", D_80130F10, D_80130F3C, sPlaybackState,
D_80131858);
sRecordingState);
break;
case PAGE_SFX_PARAMETER_CHANGE:
@ -2438,15 +2551,13 @@ void AudioDebug_ProcessInput_SfxSwap(void) {
val = gAudioSfxSwapSource[sAudioSfxSwapSel] >> ((3 - sAudioSfxSwapNibbleSel) * 4);
val = (val + step) & 0xF;
gAudioSfxSwapSource[sAudioSfxSwapSel] =
(gAudioSfxSwapSource[sAudioSfxSwapSel] &
((0xF << ((3 - sAudioSfxSwapNibbleSel) * 4)) ^ 0xFFFF)) +
(gAudioSfxSwapSource[sAudioSfxSwapSel] & ((0xF << ((3 - sAudioSfxSwapNibbleSel) * 4)) ^ 0xFFFF)) +
(val << ((3 - sAudioSfxSwapNibbleSel) * 4));
} else {
val = gAudioSfxSwapTarget[sAudioSfxSwapSel] >> ((7 - sAudioSfxSwapNibbleSel) * 4);
val = (val + step) & 0xF;
gAudioSfxSwapTarget[sAudioSfxSwapSel] =
(gAudioSfxSwapTarget[sAudioSfxSwapSel] &
((0xF << ((7 - sAudioSfxSwapNibbleSel) * 4)) ^ 0xFFFF)) +
(gAudioSfxSwapTarget[sAudioSfxSwapSel] & ((0xF << ((7 - sAudioSfxSwapNibbleSel) * 4)) ^ 0xFFFF)) +
(val << ((7 - sAudioSfxSwapNibbleSel) * 4));
}
}
@ -3648,7 +3759,7 @@ void func_800F595C(u16 arg0) {
u8 arg0b = arg0 & 0xFF;
if (D_80130658[arg0b] & 2) {
func_800F5C64(arg0);
Audio_PlayFanfare(arg0);
} else if (D_80130658[arg0b] & 4) {
Audio_StartSeq(1, 0, arg0);
@ -3730,7 +3841,7 @@ void func_800F5C2C(void) {
D_80130628 = NA_BGM_DISABLED;
}
void func_800F5C64(u16 arg0) {
void Audio_PlayFanfare(u16 seqId) {
u16 sp26;
u32 sp20;
u8* sp1C;
@ -3738,14 +3849,14 @@ void func_800F5C64(u16 arg0) {
sp26 = func_800FA0B4(1);
sp1C = func_800E5E84(sp26 & 0xFF, &sp20);
sp18 = func_800E5E84(arg0 & 0xFF, &sp20);
sp18 = func_800E5E84(seqId & 0xFF, &sp20);
if ((sp26 == NA_BGM_DISABLED) || (*sp1C == *sp18)) {
D_8016B9F4 = 1;
} else {
D_8016B9F4 = 5;
Audio_SeqCmd1(1, 0);
}
D_8016B9F6 = arg0;
D_8016B9F6 = seqId;
}
void func_800F5CF8(void) {
@ -4125,7 +4236,7 @@ void func_800F6C34(void) {
sAudioExtraFilter = 0;
sAudioBaseFilter2 = 0;
sAudioExtraFilter2 = 0;
func_800ED858(0);
Audio_OcaSetInstrument(0);
sRiverFreqScaleLerp.remainingFrames = 0;
sWaterfallFreqScaleLerp.remainingFrames = 0;
sRiverFreqScaleLerp.value = 1.0f;

View file

@ -2,7 +2,6 @@
#include "global.h"
#include "ultra64/abi.h"
extern unk_D_8016E750 D_8016E750[4];
extern u8 D_8016E348[4];
extern u32 sAudioSeqCmds[0x100];
extern u8 sSeqCmdRdPos;

View file

@ -1293,9 +1293,8 @@ void DbCamera_Update(DbCamera* dbCamera, Camera* cam) {
DbCamera_SetTextValue(dbCamera->sub.lookAt[dbCamera->sub.unkIdx].cameraRoll, &D_8012D084[10], 3);
func_8006376C(0x10, 0x16, (dbCamera->sub.unk_0A == 2) ? 7 : 4, D_8012D084);
func_8006376C(0xF, 0x17, (dbCamera->sub.unk_0A == 3) ? 7 : 4,
(dbCamera->sub.mode == 1) ? D_8012CF14
: (dbCamera->sub.mode == 0) ? *D_8012CF18
: D_8012CFB0);
(dbCamera->sub.mode == 1) ? D_8012CF14
: (dbCamera->sub.mode == 0) ? *D_8012CF18 : D_8012CFB0);
if (dbCamera->sub.unk_0C) {
D_8012D05C[80] = '>';
} else {
@ -1320,9 +1319,9 @@ void DbCamera_Update(DbCamera* dbCamera, Camera* cam) {
if (dbCamera->sub.mode != 1) {
func_8006376C(3, 0x16,
((dbCamera->sub.unk_08 == 1) && (dbCamera->sub.unk_0A == 4) && !D_80161144) ? 7
: !D_80161144 ? 4
: 3,
((dbCamera->sub.unk_08 == 1) && (dbCamera->sub.unk_0A == 4) && !D_80161144)
? 7
: !D_80161144 ? 4 : 3,
D_8012CF30);
sp110 = 'X';
DbCamera_SetTextValue(dbCamera->at.x, &sp111, 6);
@ -1333,11 +1332,10 @@ void DbCamera_Update(DbCamera* dbCamera, Camera* cam) {
sp110 = 'Z';
DbCamera_SetTextValue(dbCamera->at.z, &sp111, 6);
func_8006376C(3, 0x19, 2, &sp110);
func_8006376C(0x1E, 0x16,
((dbCamera->sub.unk_08 == 1) && (dbCamera->sub.unk_0A == 4) && D_80161144) ? 7
: D_80161144 ? 4
: 3,
D_8012CF34);
func_8006376C(
0x1E, 0x16,
((dbCamera->sub.unk_08 == 1) && (dbCamera->sub.unk_0A == 4) && D_80161144) ? 7 : D_80161144 ? 4 : 3,
D_8012CF34);
sp110 = 'X';
DbCamera_SetTextValue(dbCamera->eye.x, &sp111, 6);
func_8006376C(0x1E, 0x17, 2, &sp110);
@ -1352,9 +1350,9 @@ void DbCamera_Update(DbCamera* dbCamera, Camera* cam) {
OLib_Vec3fDiffToVecSphGeo(&spFC, sp90, sp7C);
spFC.yaw -= cam->playerPosRot.rot.y;
func_8006376C(3, 0x16,
((dbCamera->sub.unk_08 == 1) && (dbCamera->sub.unk_0A == 4) && !D_80161144) ? 7
: !D_80161144 ? 4
: 3,
((dbCamera->sub.unk_08 == 1) && (dbCamera->sub.unk_0A == 4) && !D_80161144)
? 7
: !D_80161144 ? 4 : 3,
D_8012CF30);
DbCamera_SetTextValue(spFC.pitch * 0.00549325f, &D_8012D0E4[10], 4);
func_8006376C(3, 0x17, 3, D_8012D0E4);
@ -1364,11 +1362,10 @@ void DbCamera_Update(DbCamera* dbCamera, Camera* cam) {
func_8006376C(3, 0x19, 3, D_8012D0D4);
OLib_Vec3fDiffToVecSphGeo(&spFC, sp90, sp80);
spFC.yaw -= cam->playerPosRot.rot.y;
func_8006376C(0x1E, 0x16,
((dbCamera->sub.unk_08 == 1) && (dbCamera->sub.unk_0A == 4) && D_80161144) ? 7
: D_80161144 ? 4
: 3,
D_8012CF34);
func_8006376C(
0x1E, 0x16,
((dbCamera->sub.unk_08 == 1) && (dbCamera->sub.unk_0A == 4) && D_80161144) ? 7 : D_80161144 ? 4 : 3,
D_8012CF34);
DbCamera_SetTextValue(spFC.pitch * 0.00549325f, &D_8012D0E4[10], 4);
func_8006376C(0x1C, 0x17, 3, D_8012D0E4);
DbCamera_SetTextValue(spFC.yaw * 0.00549325f, &D_8012D0F8[10], 4);

View file

@ -283,7 +283,7 @@ void Fault_UpdatePadImpl() {
}
u32 Fault_WaitForInputImpl() {
Input* curInput = &sFaultStructPtr->padInput;
Input* input = &sFaultStructPtr->padInput;
s32 count = 600;
u32 kDown;
@ -291,7 +291,7 @@ u32 Fault_WaitForInputImpl() {
Fault_Sleep(0x10);
Fault_UpdatePadImpl();
kDown = curInput->press.button;
kDown = input->press.button;
if (kDown == BTN_L) {
sFaultStructPtr->faultActive = !sFaultStructPtr->faultActive;
@ -539,7 +539,7 @@ void Fault_Wait5Seconds(void) {
}
void Fault_WaitForButtonCombo() {
Input* curInput = &sFaultStructPtr->padInput;
Input* input = &sFaultStructPtr->padInput;
s32 state;
u32 s1;
u32 s2;
@ -567,8 +567,8 @@ void Fault_WaitForButtonCombo() {
Fault_Sleep(0x10);
Fault_UpdatePadImpl();
kDown = curInput->press.button;
kCur = curInput->cur.button;
kDown = input->press.button;
kCur = input->cur.button;
if ((kCur == 0) && (s1 == s2)) {
s1 = 0;
@ -717,7 +717,7 @@ void Fault_DrawMemDumpPage(const char* title, u32* addr, u32 param_3) {
}
void Fault_DrawMemDump(u32 pc, u32 sp, u32 unk0, u32 unk1) {
Input* curInput = &sFaultStructPtr->padInput;
Input* input = &sFaultStructPtr->padInput;
u32 addr = pc;
s32 count;
u32 off;
@ -743,7 +743,7 @@ void Fault_DrawMemDump(u32 pc, u32 sp, u32 unk0, u32 unk1) {
count--;
Fault_Sleep(0x10);
Fault_UpdatePadImpl();
if (CHECK_BTN_ALL(curInput->press.button, BTN_L)) {
if (CHECK_BTN_ALL(input->press.button, BTN_L)) {
sFaultStructPtr->faultActive = false;
}
}
@ -751,40 +751,40 @@ void Fault_DrawMemDump(u32 pc, u32 sp, u32 unk0, u32 unk1) {
do {
Fault_Sleep(0x10);
Fault_UpdatePadImpl();
} while (curInput->press.button == 0);
} while (input->press.button == 0);
if (CHECK_BTN_ALL(curInput->press.button, BTN_START) || CHECK_BTN_ALL(curInput->cur.button, BTN_A)) {
if (CHECK_BTN_ALL(input->press.button, BTN_START) || CHECK_BTN_ALL(input->cur.button, BTN_A)) {
return;
}
off = 0x10;
if (CHECK_BTN_ALL(curInput->cur.button, BTN_Z)) {
if (CHECK_BTN_ALL(input->cur.button, BTN_Z)) {
off = 0x100;
}
if (CHECK_BTN_ALL(curInput->cur.button, BTN_B)) {
if (CHECK_BTN_ALL(input->cur.button, BTN_B)) {
off <<= 8;
}
if (CHECK_BTN_ALL(curInput->press.button, BTN_DUP)) {
if (CHECK_BTN_ALL(input->press.button, BTN_DUP)) {
addr -= off;
}
if (CHECK_BTN_ALL(curInput->press.button, BTN_DDOWN)) {
if (CHECK_BTN_ALL(input->press.button, BTN_DDOWN)) {
addr += off;
}
if (CHECK_BTN_ALL(curInput->press.button, BTN_CUP)) {
if (CHECK_BTN_ALL(input->press.button, BTN_CUP)) {
addr = pc;
}
if (CHECK_BTN_ALL(curInput->press.button, BTN_CDOWN)) {
if (CHECK_BTN_ALL(input->press.button, BTN_CDOWN)) {
addr = sp;
}
if (CHECK_BTN_ALL(curInput->press.button, BTN_CLEFT)) {
if (CHECK_BTN_ALL(input->press.button, BTN_CLEFT)) {
addr = unk0;
}
if (CHECK_BTN_ALL(curInput->press.button, BTN_CRIGHT)) {
if (CHECK_BTN_ALL(input->press.button, BTN_CRIGHT)) {
addr = unk1;
}
} while (!CHECK_BTN_ALL(curInput->press.button, BTN_L));
} while (!CHECK_BTN_ALL(input->press.button, BTN_L));
sFaultStructPtr->faultActive = true;
}

View file

@ -708,10 +708,11 @@ void UCodeDisas_Disassemble(UCodeDisas* this, GfxMod* ptr) {
Gfillrect setscissor = ptr->fillrect;
const char* modeStr;
modeStr = (setscissor.pad == G_SC_NON_INTERLACE) ? "G_SC_NON_INTERLACE"
: (setscissor.pad == G_SC_ODD_INTERLACE) ? "G_SC_ODD_INTERLACE"
: (setscissor.pad == G_SC_EVEN_INTERLACE) ? "G_SC_EVEN_INTERLACE"
: "???";
modeStr = (setscissor.pad == G_SC_NON_INTERLACE)
? "G_SC_NON_INTERLACE"
: (setscissor.pad == G_SC_ODD_INTERLACE)
? "G_SC_ODD_INTERLACE"
: (setscissor.pad == G_SC_EVEN_INTERLACE) ? "G_SC_EVEN_INTERLACE" : "???";
if ((setscissor.x0frac | setscissor.y0frac | setscissor.x1frac | setscissor.y1frac)) {
if (1) {}
@ -737,15 +738,12 @@ void UCodeDisas_Disassemble(UCodeDisas* this, GfxMod* ptr) {
u32 siz = ((curGfx->words.w0 & 0x180000) >> 0x13) & 0xff;
DISAS_LOG("gsDPSetColorImage(G_IM_FMT_%s, G_IM_SIZ_%s, %d, 0x%08x(0x%08x) ),",
(fmt == G_IM_FMT_RGBA) ? "RGBA"
: (fmt == G_IM_FMT_YUV) ? "YUV"
: (fmt == G_IM_FMT_CI) ? "CI"
: (fmt == G_IM_FMT_IA) ? "IA"
: "I",
(siz == G_IM_SIZ_4b) ? "4b"
: (siz == G_IM_SIZ_8b) ? "8b"
: (siz == G_IM_SIZ_16b) ? "16b"
: "32b",
(fmt == G_IM_FMT_RGBA)
? "RGBA"
: (fmt == G_IM_FMT_YUV) ? "YUV"
: (fmt == G_IM_FMT_CI) ? "CI" : (fmt == G_IM_FMT_IA) ? "IA" : "I",
(siz == G_IM_SIZ_4b) ? "4b"
: (siz == G_IM_SIZ_8b) ? "8b" : (siz == G_IM_SIZ_16b) ? "16b" : "32b",
(curGfx->dma.len & 0xfff) + 1, curGfx->setimg.dram, addr);
if (this->pipeSyncRequired) {
@ -768,15 +766,12 @@ void UCodeDisas_Disassemble(UCodeDisas* this, GfxMod* ptr) {
u32 siz = ((curGfx->words.w0 & 0x180000) >> 0x13) & 0xff;
DISAS_LOG("gsDPSetTextureImage(G_IM_FMT_%s, G_IM_SIZ_%s, %d, 0x%08x(0x%08x)),",
(fmt == G_IM_FMT_RGBA) ? "RGBA"
: (fmt == G_IM_FMT_YUV) ? "YUV"
: (fmt == G_IM_FMT_CI) ? "CI"
: (fmt == G_IM_FMT_IA) ? "IA"
: "I",
(siz == G_IM_SIZ_4b) ? "4b"
: (siz == G_IM_SIZ_8b) ? "8b"
: (siz == G_IM_SIZ_16b) ? "16b"
: "32b",
(fmt == G_IM_FMT_RGBA)
? "RGBA"
: (fmt == G_IM_FMT_YUV) ? "YUV"
: (fmt == G_IM_FMT_CI) ? "CI" : (fmt == G_IM_FMT_IA) ? "IA" : "I",
(siz == G_IM_SIZ_4b) ? "4b"
: (siz == G_IM_SIZ_8b) ? "8b" : (siz == G_IM_SIZ_16b) ? "16b" : "32b",
(curGfx->dma.len & 0xfff) + 1, curGfx->setimg.dram, addr);
} break;
@ -994,11 +989,15 @@ void UCodeDisas_Disassemble(UCodeDisas* this, GfxMod* ptr) {
case G_MODIFYVTX: {
DISAS_LOG("gsSPModifyVertex(%d, %s, %08x),", curGfx->dma.par,
(curGfx->dma.len == G_MWO_POINT_RGBA) ? "G_MWO_POINT_RGBA"
: (curGfx->dma.len == G_MWO_POINT_ST) ? "G_MWO_POINT_ST"
: (curGfx->dma.len == G_MWO_POINT_XYSCREEN) ? "G_MWO_POINT_XYSCREEN"
: (curGfx->dma.len == G_MWO_POINT_ZSCREEN) ? "G_MWO_POINT_ZSCREEN"
: "G_MWO_POINT_????",
(curGfx->dma.len == G_MWO_POINT_RGBA)
? "G_MWO_POINT_RGBA"
: (curGfx->dma.len == G_MWO_POINT_ST)
? "G_MWO_POINT_ST"
: (curGfx->dma.len == G_MWO_POINT_XYSCREEN)
? "G_MWO_POINT_XYSCREEN"
: (curGfx->dma.len == G_MWO_POINT_ZSCREEN)
? "G_MWO_POINT_ZSCREEN"
: "G_MWO_POINT_????",
curGfx->dma.addr);
this->vtxCnt += curGfx->dma.par;
this->spvtxCnt++;
@ -1211,9 +1210,7 @@ void UCodeDisas_Disassemble(UCodeDisas* this, GfxMod* ptr) {
}
} break;
default: {
DISAS_LOG("AnyDisplayList(),");
} break;
default: { DISAS_LOG("AnyDisplayList(),"); } break;
}
} break;
@ -1338,9 +1335,7 @@ void UCodeDisas_Disassemble(UCodeDisas* this, GfxMod* ptr) {
DISAS_LOG("gsSPObjRenderMode(0x%08x),", dma.addr);
} break;
default: {
DISAS_LOG("AnyDisplayList(),");
} break;
default: { DISAS_LOG("AnyDisplayList(),"); } break;
}
}
}

View file

@ -1489,7 +1489,7 @@ s32 func_8002F0C8(Actor* actor, Player* player, s32 flag) {
return false;
}
u32 func_8002F194(Actor* actor, GlobalContext* globalCtx) {
u32 Actor_ProcessTalkRequest(Actor* actor, GlobalContext* globalCtx) {
if (actor->flags & 0x100) {
actor->flags &= ~0x100;
return true;
@ -1530,8 +1530,8 @@ s32 func_8002F2F4(Actor* actor, GlobalContext* globalCtx) {
return func_8002F2CC(actor, globalCtx, var1);
}
u32 func_8002F334(Actor* actor, GlobalContext* globalCtx) {
if (func_8010BDBC(&globalCtx->msgCtx) == 2) {
u32 Actor_TextboxIsClosing(Actor* actor, GlobalContext* globalCtx) {
if (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_CLOSING) {
return true;
} else {
return false;
@ -1544,13 +1544,13 @@ s8 func_8002F368(GlobalContext* globalCtx) {
return player->exchangeItemId;
}
void func_8002F374(GlobalContext* globalCtx, Actor* actor, s16* x, s16* y) {
Vec3f sp1C;
f32 sp18;
void Actor_GetScreenPos(GlobalContext* globalCtx, Actor* actor, s16* x, s16* y) {
Vec3f projectedPos;
f32 w;
func_8002BE04(globalCtx, &actor->focus.pos, &sp1C, &sp18);
*x = sp1C.x * sp18 * 160.0f + 160.0f;
*y = sp1C.y * sp18 * -120.0f + 120.0f;
func_8002BE04(globalCtx, &actor->focus.pos, &projectedPos, &w);
*x = projectedPos.x * w * (SCREEN_WIDTH / 2) + (SCREEN_WIDTH / 2);
*y = projectedPos.y * w * -(SCREEN_HEIGHT / 2) + (SCREEN_HEIGHT / 2);
}
u32 Actor_HasParent(Actor* actor, GlobalContext* globalCtx) {
@ -2862,7 +2862,7 @@ s32 func_80032880(GlobalContext* globalCtx, Actor* actor) {
s16 sp1E;
s16 sp1C;
func_8002F374(globalCtx, actor, &sp1E, &sp1C);
Actor_GetScreenPos(globalCtx, actor, &sp1E, &sp1C);
return (sp1E > -20) && (sp1E < 340) && (sp1C > -160) && (sp1C < 400);
}
@ -3585,12 +3585,12 @@ Hilite* func_8003435C(Vec3f* object, GlobalContext* globalCtx) {
return func_8002EB44(object, &globalCtx->view.eye, &lightDir, globalCtx->state.gfxCtx);
}
s32 func_800343CC(GlobalContext* globalCtx, Actor* actor, s16* arg2, f32 arg3, callback1_800343CC unkFunc1,
s32 func_800343CC(GlobalContext* globalCtx, Actor* actor, s16* arg2, f32 interactRange, callback1_800343CC unkFunc1,
callback2_800343CC unkFunc2) {
s16 sp26;
s16 sp24;
s16 x;
s16 y;
if (func_8002F194(actor, globalCtx)) {
if (Actor_ProcessTalkRequest(actor, globalCtx)) {
*arg2 = 1;
return true;
}
@ -3600,13 +3600,13 @@ s32 func_800343CC(GlobalContext* globalCtx, Actor* actor, s16* arg2, f32 arg3, c
return false;
}
func_8002F374(globalCtx, actor, &sp26, &sp24);
Actor_GetScreenPos(globalCtx, actor, &x, &y);
if ((sp26 < 0) || (sp26 > SCREEN_WIDTH) || (sp24 < 0) || (sp24 > SCREEN_HEIGHT)) {
if ((x < 0) || (x > SCREEN_WIDTH) || (y < 0) || (y > SCREEN_HEIGHT)) {
return false;
}
if (!func_8002F2CC(actor, globalCtx, arg3)) {
if (!func_8002F2CC(actor, globalCtx, interactRange)) {
return false;
}
@ -4128,7 +4128,7 @@ void func_800359B8(Actor* actor, s16 arg1, Vec3s* arg2) {
}
void func_80035B18(GlobalContext* globalCtx, Actor* actor, u16 textId) {
func_8010B720(globalCtx, textId);
Message_ContinueTextbox(globalCtx, textId);
actor->textId = textId;
}
@ -5203,7 +5203,7 @@ s32 func_800374E0(GlobalContext* globalCtx, Actor* actor, u16 textId) {
ret = 0;
break;
case 0x1041:
if (msgCtx->unk_E2FA == 0x1035) {
if (msgCtx->choiceTextId == 0x1035) {
if (msgCtx->choiceIndex == 0) {
func_80035B18(globalCtx, actor, 0x1036);
Flags_SetInfTable(0x2A);
@ -5213,7 +5213,7 @@ s32 func_800374E0(GlobalContext* globalCtx, Actor* actor, u16 textId) {
Flags_SetInfTable(0x2B);
}
}
if (msgCtx->unk_E2FA == 0x1038) {
if (msgCtx->choiceTextId == 0x1038) {
if (msgCtx->choiceIndex == 0) {
func_80035B18(globalCtx, actor, 0x1039);
Flags_SetInfTable(0x2E);
@ -5362,16 +5362,16 @@ s32 func_80037CB8(GlobalContext* globalCtx, Actor* actor, s16 arg2) {
MessageContext* msgCtx = &globalCtx->msgCtx;
s32 ret = false;
switch (func_8010BDBC(msgCtx)) {
case 2:
switch (Message_GetState(msgCtx)) {
case TEXT_STATE_CLOSING:
func_80037C5C(globalCtx, arg2, actor->textId);
ret = true;
break;
case 4:
case 5:
if (func_80106BC8(globalCtx) && func_80037C94(globalCtx, actor, arg2)) {
case TEXT_STATE_CHOICE:
case TEXT_STATE_EVENT:
if (Message_ShouldAdvance(globalCtx) && func_80037C94(globalCtx, actor, arg2)) {
Audio_PlaySoundGeneral(NA_SE_SY_CANCEL, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
msgCtx->msgMode = 0x36;
msgCtx->msgMode = MSGMODE_TEXT_CLOSING;
ret = true;
}
break;
@ -5386,7 +5386,7 @@ s32 func_80037D98(GlobalContext* globalCtx, Actor* actor, s16 arg2, s32* arg3) {
s16 sp2A;
s16 abs_var;
if (func_8002F194(actor, globalCtx)) {
if (Actor_ProcessTalkRequest(actor, globalCtx)) {
*arg3 = 1;
return true;
}
@ -5398,7 +5398,7 @@ s32 func_80037D98(GlobalContext* globalCtx, Actor* actor, s16 arg2, s32* arg3) {
return false;
}
func_8002F374(globalCtx, actor, &sp2C, &sp2A);
Actor_GetScreenPos(globalCtx, actor, &sp2C, &sp2A);
if (0) {} // Necessary to match

View file

@ -1690,9 +1690,9 @@ s32 Camera_Normal2(Camera* camera) {
anim->unk_20 = BGCAM_ROT(bgData).x;
anim->unk_22 = BGCAM_ROT(bgData).y;
anim->unk_24 = playerPosRot->pos.y;
anim->unk_1C = BGCAM_FOV(bgData) == -1 ? norm2->unk_14
: BGCAM_FOV(bgData) >= 0x169 ? PCT(BGCAM_FOV(bgData))
: BGCAM_FOV(bgData);
anim->unk_1C = BGCAM_FOV(bgData) == -1
? norm2->unk_14
: BGCAM_FOV(bgData) >= 0x169 ? PCT(BGCAM_FOV(bgData)) : BGCAM_FOV(bgData);
anim->unk_28 = BGCAM_JFIFID(bgData) == -1 ? 0 : BGCAM_JFIFID(bgData);
@ -2920,9 +2920,7 @@ s32 Camera_Battle1(Camera* camera) {
}
anim->roll += (((OREG(36) * camera->speedRatio) * (1.0f - distRatio)) - anim->roll) * PCT(OREG(37));
camera->roll = DEGF_TO_BINANG(anim->roll);
camera->fov = Camera_LERPCeilF((player->swordState != 0 ? 0.8f
: gSaveContext.health <= 0x10 ? 0.8f
: 1.0f) *
camera->fov = Camera_LERPCeilF((player->swordState != 0 ? 0.8f : gSaveContext.health <= 0x10 ? 0.8f : 1.0f) *
(fov - ((fov * 0.05f) * distRatio)),
camera->fov, camera->fovUpdateRate, 1.0f);
}
@ -5829,7 +5827,7 @@ s32 Camera_Demo5(Camera* camera) {
Actor_GetFocus(&camera->targetPosRot, camera->target);
OLib_Vec3fDiffToVecSphGeo(&playerTargetGeo, &camera->targetPosRot.pos, &camera->playerPosRot.pos);
D_8011D3AC = camera->target->category;
func_8002F374(camera->globalCtx, camera->target, &sp78.yaw, &sp78.pitch);
Actor_GetScreenPos(camera->globalCtx, camera->target, &sp78.yaw, &sp78.pitch);
eyeTargetDist = OLib_Vec3fDist(&camera->targetPosRot.pos, &camera->eye);
OLib_Vec3fDiffToVecSphGeo(&eyePlayerGeo, &playerhead.pos, &camera->eyeNext);
sp4A = eyePlayerGeo.yaw - playerTargetGeo.yaw;

View file

@ -47,9 +47,9 @@ void func_801109B0(GlobalContext* globalCtx) {
ASSERT(interfaceCtx->doActionSegment != NULL, "parameter->do_actionSegment != NULL", "../z_construct.c", 169);
if (gSaveContext.language == 0) {
if (gSaveContext.language == LANGUAGE_ENG) {
doActionOffset = 0;
} else if (gSaveContext.language == 1) {
} else if (gSaveContext.language == LANGUAGE_GER) {
doActionOffset = 0x2B80;
} else {
doActionOffset = 0x5700;
@ -58,9 +58,9 @@ void func_801109B0(GlobalContext* globalCtx) {
DmaMgr_SendRequest1(interfaceCtx->doActionSegment, (u32)_do_action_staticSegmentRomStart + doActionOffset, 0x300,
"../z_construct.c", 174);
if (gSaveContext.language == 0) {
if (gSaveContext.language == LANGUAGE_ENG) {
doActionOffset = 0x480;
} else if (gSaveContext.language == 1) {
} else if (gSaveContext.language == LANGUAGE_GER) {
doActionOffset = 0x3000;
} else {
doActionOffset = 0x5B80;
@ -164,18 +164,18 @@ void func_801109B0(GlobalContext* globalCtx) {
R_A_BTN_COLOR(2) = 50;
}
void func_80110F68(GlobalContext* globalCtx) {
void Message_Init(GlobalContext* globalCtx) {
MessageContext* msgCtx = &globalCtx->msgCtx;
s32 pad;
func_8011040C();
Message_SetTables();
globalCtx->msgCtx.unk_E3EE = 0;
globalCtx->msgCtx.ocarinaMode = OCARINA_MODE_00;
msgCtx->msgMode = 0;
msgCtx->unk_E300 = 0;
msgCtx->unk_E2F8 = msgCtx->unk_E3E4 = msgCtx->choiceIndex = msgCtx->unk_E3F0 = msgCtx->unk_E3D6 = 0;
msgCtx->unk_E3E2 = 0xFF;
msgCtx->msgMode = MSGMODE_NONE;
msgCtx->msgLength = 0;
msgCtx->textId = msgCtx->textboxEndType = msgCtx->choiceIndex = msgCtx->ocarinaAction = msgCtx->textUnskippable = 0;
msgCtx->textColorAlpha = 255;
View_Init(&msgCtx->view, globalCtx->state.gfxCtx);
@ -195,10 +195,10 @@ void func_80111070(void) {
YREG(8) = 10;
YREG(14) = 0;
YREG(15) = 0;
YREG(16) = 0;
YREG(17) = 0;
YREG(22) = 50;
YREG(23) = 0;
R_TEXTBOX_TEXWIDTH = 0;
R_TEXTBOX_TEXHEIGHT = 0;
R_TEXTBOX_WIDTH = 50;
R_TEXTBOX_HEIGHT = 0;
YREG(24) = -60;
YREG(25) = 13;
YREG(26) = 15;
@ -240,15 +240,15 @@ void func_80111070(void) {
YREG(68) = 0;
YREG(69) = 0;
YREG(70) = 0;
YREG(71) = -6;
YREG(72) = 10;
R_TEXTBOX_ICON_XPOS = -6;
R_TEXTBOX_ICON_YPOS = 10;
YREG(73) = -8;
YREG(74) = 8;
YREG(75) = 24;
R_TEXTBOX_ICON_SIZE = 24;
YREG(76) = 32;
YREG(77) = 0;
YREG(78) = 0;
YREG(79) = 48;
R_MESSAGE_DEBUGGER_SELECT = 0;
R_MESSAGE_DEBUGGER_TEXTID = 48;
YREG(80) = 450;
YREG(81) = 0;
YREG(82) = -15;
@ -388,30 +388,30 @@ void func_80111070(void) {
R_MAGIC_FILL_X = 26;
XREG(52) = 0;
XREG(53) = 1;
XREG(54) = 65;
XREG(55) = 60;
XREG(56) = 16;
XREG(57) = 80;
R_TEXT_INIT_XPOS = 65;
R_TEXT_INIT_YPOS = 60;
R_TEXT_LINE_SPACING = 16;
R_TEXT_CHAR_SCALE = 80;
XREG(58) = 80;
XREG(59) = 12;
XREG(60) = 1;
XREG(61) = 3;
R_TEXT_DROP_SHADOW_OFFSET = 1;
R_TEXTBOX_BG_YPOS = 3;
XREG(62) = 0;
XREG(63) = 100;
XREG(64) = 158;
XREG(65) = 102;
XREG(66) = 48;
XREG(67) = 54;
XREG(68) = 70;
XREG(69) = 86;
R_TEXTBOX_END_XPOS = 158;
R_TEXTBOX_END_YPOS = 102;
R_TEXT_CHOICE_XPOS = 48;
R_TEXT_CHOICE_YPOS(0) = 54;
R_TEXT_CHOICE_YPOS(1) = 70;
R_TEXT_CHOICE_YPOS(2) = 86;
XREG(70) = -300;
XREG(71) = 0;
XREG(72) = 54;
XREG(73) = 48;
XREG(74) = 128;
XREG(75) = 64;
XREG(76) = 2048;
XREG(77) = 512;
R_TEXTBOX_X_TARGET = 54;
R_TEXTBOX_Y_TARGET = 48;
R_TEXTBOX_WIDTH_TARGET = 128;
R_TEXTBOX_HEIGHT_TARGET = 64;
R_TEXTBOX_TEXWIDTH_TARGET = 2048;
R_TEXTBOX_TEXHEIGHT_TARGET = 512;
XREG(78) = 96;
XREG(79) = 98;
XREG(80) = 0;
@ -507,15 +507,15 @@ void func_80111070(void) {
WREG(95) = 6;
if (gSaveContext.gameMode == 0) {
VREG(0) = 52;
VREG(1) = 36;
R_TEXTBOX_X = 52;
R_TEXTBOX_Y = 36;
VREG(2) = 214;
VREG(3) = 76;
VREG(4) = 304;
VREG(5) = 430;
VREG(6) = 1;
VREG(7) = 78;
VREG(8) = 166;
R_TEXTBOX_CLEF_XPOS = 78;
R_TEXTBOX_CLEF_YPOS = 166;
VREG(9) = 40;
R_COMPASS_SCALE_X = 32;
R_COMPASS_SCALE_Y = 32;
@ -533,28 +533,31 @@ void func_80111070(void) {
VREG(25) = 0;
VREG(26) = 0;
VREG(27) = 0;
VREG(28) = 98;
VREG(29) = 18;
R_OCARINA_NOTES_XPOS = 98;
R_OCARINA_NOTES_XPOS_OFFSET = 18;
VREG(30) = 0;
VREG(31) = 0;
VREG(32) = 0;
VREG(33) = 70;
VREG(34) = 255;
VREG(35) = 80;
VREG(36) = 70;
VREG(37) = 255;
VREG(38) = 80;
R_TEXT_ADJUST_COLOR_1_R = 70;
R_TEXT_ADJUST_COLOR_1_G = 255;
R_TEXT_ADJUST_COLOR_1_B = 80;
R_TEXT_ADJUST_COLOR_2_R = 70;
R_TEXT_ADJUST_COLOR_2_G = 255;
R_TEXT_ADJUST_COLOR_2_B = 80;
VREG(40) = 9;
VREG(42) = 250;
VREG(43) = 440;
VREG(44) = 10;
VREG(45) = 190;
VREG(46) = 184;
VREG(47) = 176;
VREG(48) = 172;
VREG(49) = 170;
R_OCARINA_NOTES_YPOS(0) = 190;
R_OCARINA_NOTES_YPOS(1) = 184;
R_OCARINA_NOTES_YPOS(2) = 176;
R_OCARINA_NOTES_YPOS(3) = 172;
R_OCARINA_NOTES_YPOS(4) = 170;
VREG(50) = 30;
VREG(51) = 0;
R_OCARINA_NOTES_YPOS_OFFSET = 0;
VREG(52) = -16;
VREG(53) = 230;
VREG(54) = 230;

View file

@ -151,15 +151,19 @@ void func_8006390C(Input* input) {
gGameInfo->dpadLast = dpad;
}
increment = CHECK_BTN_ANY(dpad, BTN_DRIGHT) ? (CHECK_BTN_ALL(input->cur.button, BTN_A | BTN_B) ? 1000
: CHECK_BTN_ALL(input->cur.button, BTN_A) ? 100
: CHECK_BTN_ALL(input->cur.button, BTN_B) ? 10
: 1)
: CHECK_BTN_ANY(dpad, BTN_DLEFT) ? (CHECK_BTN_ALL(input->cur.button, BTN_A | BTN_B) ? -1000
: CHECK_BTN_ALL(input->cur.button, BTN_A) ? -100
: CHECK_BTN_ALL(input->cur.button, BTN_B) ? -10
: -1)
: 0;
increment = CHECK_BTN_ANY(dpad, BTN_DRIGHT)
? (CHECK_BTN_ALL(input->cur.button, BTN_A | BTN_B)
? 1000
: CHECK_BTN_ALL(input->cur.button, BTN_A)
? 100
: CHECK_BTN_ALL(input->cur.button, BTN_B) ? 10 : 1)
: CHECK_BTN_ANY(dpad, BTN_DLEFT)
? (CHECK_BTN_ALL(input->cur.button, BTN_A | BTN_B)
? -1000
: CHECK_BTN_ALL(input->cur.button, BTN_A)
? -100
: CHECK_BTN_ALL(input->cur.button, BTN_B) ? -10 : -1)
: 0;
gGameInfo->data[gGameInfo->regCur + regGroup] += increment;
if (CHECK_BTN_ANY(dpad, BTN_DUP)) {

View file

@ -1489,11 +1489,11 @@ void Cutscene_Command_Textbox(GlobalContext* globalCtx, CutsceneContext* csCtx,
if (D_8011E1C0 != cmd->base) {
D_8011E1C0 = cmd->base;
if ((cmd->type == 3) && CHECK_QUEST_ITEM(QUEST_ZORA_SAPPHIRE)) {
func_8010B680(globalCtx, cmd->textId1, NULL);
Message_StartTextbox(globalCtx, cmd->textId1, NULL);
} else if ((cmd->type == 4) && CHECK_QUEST_ITEM(QUEST_GORON_RUBY)) {
func_8010B680(globalCtx, cmd->textId1, NULL);
Message_StartTextbox(globalCtx, cmd->textId1, NULL);
} else {
func_8010B680(globalCtx, cmd->base, NULL);
Message_StartTextbox(globalCtx, cmd->base, NULL);
}
return;
}
@ -1507,37 +1507,38 @@ void Cutscene_Command_Textbox(GlobalContext* globalCtx, CutsceneContext* csCtx,
if (csCtx->frames >= cmd->endFrame) {
originalCsFrames = csCtx->frames;
dialogState = func_8010BDBC(&globalCtx->msgCtx);
dialogState = Message_GetState(&globalCtx->msgCtx);
if ((dialogState != 2) && (dialogState != 0) && (dialogState != 7) && (dialogState != 8)) {
if ((dialogState != TEXT_STATE_CLOSING) && (dialogState != TEXT_STATE_NONE) &&
(dialogState != TEXT_STATE_SONG_DEMO_DONE) && (dialogState != TEXT_STATE_8)) {
csCtx->frames--;
if ((dialogState == 4) && (func_80106BC8(globalCtx) != 0)) {
if ((dialogState == TEXT_STATE_CHOICE) && Message_ShouldAdvance(globalCtx)) {
if (globalCtx->msgCtx.choiceIndex == 0) {
if (cmd->textId1 != 0xFFFF) {
func_8010B720(globalCtx, cmd->textId1);
Message_ContinueTextbox(globalCtx, cmd->textId1);
} else {
csCtx->frames++;
}
} else {
if (cmd->textId2 != 0xFFFF) {
func_8010B720(globalCtx, cmd->textId2);
Message_ContinueTextbox(globalCtx, cmd->textId2);
} else {
csCtx->frames++;
}
}
}
if (dialogState == 9) {
if (dialogState == TEXT_STATE_9) {
if (cmd->textId1 != 0xFFFF) {
func_8010B720(globalCtx, cmd->textId1);
Message_ContinueTextbox(globalCtx, cmd->textId1);
} else {
csCtx->frames++;
}
}
if (dialogState == 5) {
if (func_80106BC8(globalCtx) != 0) {
if (dialogState == TEXT_STATE_EVENT) {
if (Message_ShouldAdvance(globalCtx)) {
func_8010BD58(globalCtx, cmd->base);
}
}

View file

@ -199,7 +199,7 @@ void EnAObj_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void EnAObj_WaitFinishedTalking(EnAObj* this, GlobalContext* globalCtx) {
if (func_8002F334(&this->dyna.actor, globalCtx)) {
if (Actor_TextboxIsClosing(&this->dyna.actor, globalCtx)) {
EnAObj_SetupWaitTalk(this, this->dyna.actor.params);
}
}
@ -215,7 +215,7 @@ void EnAObj_WaitTalk(EnAObj* this, GlobalContext* globalCtx) {
relYawTowardsPlayer = this->dyna.actor.yawTowardsPlayer - this->dyna.actor.shape.rot.y;
if (ABS(relYawTowardsPlayer) < 0x2800 ||
(this->dyna.actor.params == A_OBJ_SIGNPOST_ARROW && ABS(relYawTowardsPlayer) > 0x5800)) {
if (func_8002F194(&this->dyna.actor, globalCtx)) {
if (Actor_ProcessTalkRequest(&this->dyna.actor, globalCtx)) {
EnAObj_SetupAction(this, EnAObj_WaitFinishedTalking);
} else {
func_8002F2F4(&this->dyna.actor, globalCtx);

View file

@ -13,8 +13,8 @@ Gfx sWipeDList[] = {
gsDPSetCombineLERP(TEXEL1, TEXEL0, PRIM_LOD_FRAC, TEXEL0, TEXEL1, TEXEL0, PRIM_LOD_FRAC, TEXEL0, COMBINED, 0,
PRIMITIVE, 0, COMBINED, 0, PRIMITIVE, 0),
gsDPSetPrimDepth(0, 0),
gsDPLoadTextureBlock_4b(sWipe1Tex, G_IM_FMT_I, 64, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 6,
6, 11, G_TX_NOLOD),
gsDPLoadTextureBlock_4b(sWipe1Tex, G_IM_FMT_I, 64, 64, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP, 6, 6,
11, G_TX_NOLOD),
gsDPLoadMultiBlock_4b(sWipe1Tex, 0x0100, 1, G_IM_FMT_I, 64, 64, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_MIRROR | G_TX_WRAP, 6, 6, 11, 1),
gsDPSetTextureLUT(G_TT_NONE),

View file

@ -13,10 +13,8 @@ void GameOver_FadeInLights(GlobalContext* globalCtx) {
}
}
// This variable has the same problem as z_message's data going to rodata.
// A fix for this is planned, and will be taken care of with z_message.
// For now this variable is externed from z_message's rodata.s file.
extern s16 D_80153D80; // todo: rename to `timer` and make this in function static (after rodata issue is resolved)
// This variable cannot be moved into this file as all of z_message_PAL rodata is in the way
extern s16 gGameOverTimer;
void GameOver_Update(GlobalContext* globalCtx) {
GameOverContext* gameOverCtx = &globalCtx->gameOverCtx;
@ -28,7 +26,7 @@ void GameOver_Update(GlobalContext* globalCtx) {
switch (gameOverCtx->state) {
case GAMEOVER_DEATH_START:
func_80106CCC(globalCtx);
Message_CloseTextbox(globalCtx);
gSaveContext.timer1State = 0;
gSaveContext.timer2State = 0;
@ -75,7 +73,7 @@ void GameOver_Update(GlobalContext* globalCtx) {
gSaveContext.unk_13E7 = gSaveContext.unk_13E8 = gSaveContext.unk_13EA = gSaveContext.unk_13EC = 0;
Environment_InitGameOverLights(globalCtx);
D_80153D80 = 20;
gGameOverTimer = 20;
if (1) {}
v90 = VREG(90);
v91 = VREG(91);
@ -91,9 +89,9 @@ void GameOver_Update(GlobalContext* globalCtx) {
break;
case GAMEOVER_DEATH_DELAY_MENU:
D_80153D80--;
gGameOverTimer--;
if (D_80153D80 == 0) {
if (gGameOverTimer == 0) {
globalCtx->pauseCtx.state = 8;
gameOverCtx->state++;
func_800AA15C();
@ -102,13 +100,13 @@ void GameOver_Update(GlobalContext* globalCtx) {
case GAMEOVER_REVIVE_START:
gameOverCtx->state++;
D_80153D80 = 0;
gGameOverTimer = 0;
Environment_InitGameOverLights(globalCtx);
ShrinkWindow_SetVal(0x20);
return;
case GAMEOVER_REVIVE_RUMBLE:
D_80153D80 = 50;
gGameOverTimer = 50;
gameOverCtx->state++;
if (1) {}
@ -121,28 +119,28 @@ void GameOver_Update(GlobalContext* globalCtx) {
break;
case GAMEOVER_REVIVE_WAIT_GROUND:
D_80153D80--;
gGameOverTimer--;
if (D_80153D80 == 0) {
D_80153D80 = 64;
if (gGameOverTimer == 0) {
gGameOverTimer = 64;
gameOverCtx->state++;
}
break;
case GAMEOVER_REVIVE_WAIT_FAIRY:
D_80153D80--;
gGameOverTimer--;
if (D_80153D80 == 0) {
D_80153D80 = 50;
if (gGameOverTimer == 0) {
gGameOverTimer = 50;
gameOverCtx->state++;
}
break;
case GAMEOVER_REVIVE_FADE_OUT:
Environment_FadeOutGameOverLights(globalCtx);
D_80153D80--;
gGameOverTimer--;
if (D_80153D80 == 0) {
if (gGameOverTimer == 0) {
gameOverCtx->state = GAMEOVER_INACTIVE;
}
break;

View file

@ -111,7 +111,7 @@ void KaleidoSetup_Init(GlobalContext* globalCtx) {
pauseCtx->nameDisplayTimer = 0;
pauseCtx->nameColorSet = 0;
pauseCtx->cursorColorSet = 4;
pauseCtx->unk_264 = -1;
pauseCtx->ocarinaSongIdx = -1;
pauseCtx->cursorSpecialPos = 0;
View_Init(&pauseCtx->view, globalCtx->state.gfxCtx);

View file

@ -1,27 +1,34 @@
#include "global.h"
#include "message_data_static.h"
// To be moved to message_data_static header
#define MESSAGE_NEWLINE '\x01'
#define MESSAGE_END '\x02'
// message_data_static symbols
extern const char D_07000000[]; // start of file
extern const char D_070380D4[]; // charset message (id 0xFFFC)
extern const char D_0703811C[]; // end marker of last message
// stubbed in PAL
void func_8006EE50(Font* font, s16 arg1, s16 arg2) {
void func_8006EE50(Font* font, u16 arg1, u16 arg2) {
}
/**
* Loads a texture from nes_font_static for the requested `character` into the character texture buffer
* at `codePointIndex`. The value of `character` is the ASCII codepoint subtract ' '/0x20.
*/
void Font_LoadChar(Font* font, u8 character, u16 codePointIndex) {
DmaMgr_SendRequest1(&font->unk_8[codePointIndex], &_nes_font_staticSegmentRomStart[character * FONT_CHAR_TEX_SIZE],
FONT_CHAR_TEX_SIZE, "../z_kanfont.c", 93);
DmaMgr_SendRequest1(&font->charTexBuf[codePointIndex],
&_nes_font_staticSegmentRomStart[character * FONT_CHAR_TEX_SIZE], FONT_CHAR_TEX_SIZE,
"../z_kanfont.c", 93);
}
void Font_LoadMessageBoxEndIcon(Font* font, u16 icon) {
DmaMgr_SendRequest1(font->iconBuf, &_message_staticSegmentRomStart[4 * 0x1000 + icon * FONT_CHAR_TEX_SIZE],
/**
* Loads a message box icon from message_static, such as the ending triangle/square or choice arrow into the
* icon buffer.
* The different icons are given in the MessageBoxIcon enum.
*/
void Font_LoadMessageBoxIcon(Font* font, u16 icon) {
DmaMgr_SendRequest1(font->iconBuf,
&_message_staticSegmentRomStart[4 * MESSAGE_STATIC_TEX_SIZE + icon * FONT_CHAR_TEX_SIZE],
FONT_CHAR_TEX_SIZE, "../z_kanfont.c", 100);
}
/**
* Loads a full set of character textures based on their ordering in the message with text id 0xFFFC into
* the font buffer.
*/
void Font_LoadOrderedFont(Font* font) {
s32 len;
s32 jj;
@ -31,24 +38,29 @@ void Font_LoadOrderedFont(Font* font) {
s32 fontBufIndex;
s32 offset;
font->msgOffset = D_070380D4 - D_07000000;
len = font->msgLength = D_0703811C - D_070380D4;
font->msgOffset = _message_0xFFFC_nes - (const char*)_nes_message_data_staticSegmentStart;
len = font->msgLength = _message_0xFFFD_nes - _message_0xFFFC_nes;
DmaMgr_SendRequest1(font->msgBuf, &_nes_message_data_staticSegmentRomStart[font->msgOffset], len, "../z_kanfont.c",
122);
osSyncPrintf("msg_data=%x, msg_data0=%x jj=%x\n", font->msgOffset, font->msgLength, jj = len);
len = jj;
for (fontBufIndex = 0, codePointIndex = 0; font->msgBuf[codePointIndex] != MESSAGE_END; codePointIndex++) {
if (codePointIndex > len) {
osSyncPrintf(" エラー!!! error───\n");
return;
}
if (font->msgBuf[codePointIndex] != MESSAGE_NEWLINE) {
fontBuf = font->fontBuf + fontBufIndex * 8;
fontStatic = _nes_font_staticSegmentRomStart;
osSyncPrintf("nes_mes_buf[%d]=%d\n", codePointIndex, font->msgBuf[codePointIndex]);
offset = (font->msgBuf[codePointIndex] - '\x20') * FONT_CHAR_TEX_SIZE;
DmaMgr_SendRequest1(fontBuf, fontStatic + offset, FONT_CHAR_TEX_SIZE, "../z_kanfont.c", 134);
fontBufIndex += 0x10;
fontBufIndex += FONT_CHAR_TEX_SIZE / 8;
}
}
}

View file

@ -882,7 +882,7 @@ void Environment_Update(GlobalContext* globalCtx, EnvironmentContext* envCtx, Li
}
if ((pauseCtx->state == 0) && (gameOverCtx->state == GAMEOVER_INACTIVE)) {
if (((msgCtx->unk_E300 == 0) && (msgCtx->msgMode == 0)) || (((void)0, gSaveContext.gameMode) == 3)) {
if (((msgCtx->msgLength == 0) && (msgCtx->msgMode == 0)) || (((void)0, gSaveContext.gameMode) == 3)) {
if ((envCtx->unk_1A == 0) && !FrameAdvance_IsEnabled(globalCtx) &&
(globalCtx->transitionMode == 0 || ((void)0, gSaveContext.gameMode) != 0)) {
@ -2029,7 +2029,7 @@ void func_80075B44(GlobalContext* globalCtx) {
if ((Inventory_ReplaceItem(globalCtx, ITEM_WEIRD_EGG, ITEM_CHICKEN) ||
Inventory_ReplaceItem(globalCtx, ITEM_POCKET_EGG, ITEM_POCKET_CUCCO)) &&
globalCtx->csCtx.state == 0 && !Player_InCsMode(globalCtx)) {
func_8010B680(globalCtx, 0x3066, NULL);
Message_StartTextbox(globalCtx, 0x3066, NULL);
}
globalCtx->envCtx.unk_E0++;
}

View file

@ -63,10 +63,10 @@ void MapMark_Init(GlobalContext* globalCtx) {
Overlay_Load(overlay->vromStart, overlay->vromEnd, overlay->vramStart, overlay->vramEnd, overlay->loadedRamAddr);
sLoadedMarkDataTable = gMapMarkDataTable;
sLoadedMarkDataTable = (void*)(u32)((overlay->vramTable != NULL)
? (void*)((u32)overlay->vramTable -
(s32)((u32)overlay->vramStart - (u32)overlay->loadedRamAddr))
: NULL);
sLoadedMarkDataTable = (void*)(u32)(
(overlay->vramTable != NULL)
? (void*)((u32)overlay->vramTable - (s32)((u32)overlay->vramStart - (u32)overlay->loadedRamAddr))
: NULL);
}
void MapMark_ClearPointers(GlobalContext* globalCtx) {

File diff suppressed because it is too large Load diff

View file

@ -227,8 +227,8 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
s16 sp7E;
s16 sp7C;
func_8002F374(globalCtx, &player->actor, &sp82, &sp7E);
func_8002F374(globalCtx, actor, &sp80, &sp7C);
Actor_GetScreenPos(globalCtx, &player->actor, &sp82, &sp7E);
Actor_GetScreenPos(globalCtx, actor, &sp80, &sp7C);
if ((sp82 > 0) && (sp82 < 320) && (sp7E > 0) && (sp7E < 240) && (sp80 > 0) && (sp80 < 320) && (sp7C > 0) &&
(sp7C < 240) &&
!OnePointCutscene_BgCheckLineTest(&globalCtx->colCtx, &actor->focus.pos, &player->actor.focus.pos)) {

View file

@ -4,6 +4,11 @@
#include "textures/do_action_static/do_action_static.h"
#include "textures/icon_item_static/icon_item_static.h"
// TODO extract this information from the texture definitions themselves
#define DO_ACTION_TEX_WIDTH 48
#define DO_ACTION_TEX_HEIGHT 16
#define DO_ACTION_TEX_SIZE ((DO_ACTION_TEX_WIDTH * DO_ACTION_TEX_HEIGHT) / 2) // (sizeof(gCheckDoActionENGTex))
typedef struct {
/* 0x00 */ u8 scene;
/* 0x01 */ u8 flags1;
@ -700,7 +705,7 @@ void func_80083108(GlobalContext* globalCtx) {
gSaveContext.buttonStatus[3] = BTN_DISABLED;
Interface_ChangeAlpha(50);
}
} else if (msgCtx->msgMode == 0) {
} else if (msgCtx->msgMode == MSGMODE_NONE) {
if ((func_8008F2F8(globalCtx) >= 2) && (func_8008F2F8(globalCtx) < 5)) {
if (gSaveContext.buttonStatus[0] != BTN_DISABLED) {
sp28 = 1;
@ -2031,30 +2036,32 @@ void func_80086D5C(s32* buf, u16 size) {
}
}
void Interface_LoadActionLabel(InterfaceContext* interfaceCtx, u16 action, s16 arg2) {
void Interface_LoadActionLabel(InterfaceContext* interfaceCtx, u16 action, s16 loadOffset) {
static void* sDoActionTextures[] = { gAttackDoActionENGTex, gCheckDoActionENGTex };
if (action >= 0x1D) {
action = 0x0A;
if (action >= DO_ACTION_MAX) {
action = DO_ACTION_NONE;
}
if (gSaveContext.language != 0) {
action += 0x1D;
if (gSaveContext.language != LANGUAGE_ENG) {
action += DO_ACTION_MAX;
}
if (gSaveContext.language == 2) {
action += 0x1D;
if (gSaveContext.language == LANGUAGE_FRA) {
action += DO_ACTION_MAX;
}
if ((action != 0x0A) && (action != 0x27) && (action != 0x44)) {
if ((action != DO_ACTION_NONE) && (action != DO_ACTION_MAX + DO_ACTION_NONE) &&
(action != 2 * DO_ACTION_MAX + DO_ACTION_NONE)) {
osCreateMesgQueue(&interfaceCtx->loadQueue, &interfaceCtx->loadMsg, OS_MESG_BLOCK);
DmaMgr_SendRequest2(&interfaceCtx->dmaRequest_160, interfaceCtx->doActionSegment + (arg2 * 0x180),
(u32)_do_action_staticSegmentRomStart + (action * 0x180), 0x180, 0,
&interfaceCtx->loadQueue, NULL, "../z_parameter.c", 2145);
DmaMgr_SendRequest2(&interfaceCtx->dmaRequest_160,
interfaceCtx->doActionSegment + (loadOffset * DO_ACTION_TEX_SIZE),
(u32)_do_action_staticSegmentRomStart + (action * DO_ACTION_TEX_SIZE), DO_ACTION_TEX_SIZE,
0, &interfaceCtx->loadQueue, NULL, "../z_parameter.c", 2145);
osRecvMesg(&interfaceCtx->loadQueue, NULL, OS_MESG_BLOCK);
} else {
gSegments[7] = VIRTUAL_TO_PHYSICAL(interfaceCtx->doActionSegment);
func_80086D5C(SEGMENTED_TO_VIRTUAL(sDoActionTextures[arg2]), 0x180 / 4);
func_80086D5C(SEGMENTED_TO_VIRTUAL(sDoActionTextures[loadOffset]), DO_ACTION_TEX_SIZE / 4);
}
}
@ -2098,20 +2105,20 @@ void Interface_SetNaviCall(GlobalContext* globalCtx, u16 naviCallState) {
void Interface_LoadActionLabelB(GlobalContext* globalCtx, u16 action) {
InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx;
if (gSaveContext.language != 0) {
action += 0x1D;
if (gSaveContext.language != LANGUAGE_ENG) {
action += DO_ACTION_MAX;
}
if (gSaveContext.language == 2) {
action += 0x1D;
if (gSaveContext.language == LANGUAGE_FRA) {
action += DO_ACTION_MAX;
}
interfaceCtx->unk_1FC = action;
osCreateMesgQueue(&interfaceCtx->loadQueue, &interfaceCtx->loadMsg, OS_MESG_BLOCK);
DmaMgr_SendRequest2(&interfaceCtx->dmaRequest_160, interfaceCtx->doActionSegment + 0x180,
(u32)_do_action_staticSegmentRomStart + (action * 0x180), 0x180, 0, &interfaceCtx->loadQueue,
NULL, "../z_parameter.c", 2228);
DmaMgr_SendRequest2(&interfaceCtx->dmaRequest_160, interfaceCtx->doActionSegment + DO_ACTION_TEX_SIZE,
(u32)_do_action_staticSegmentRomStart + (action * DO_ACTION_TEX_SIZE), DO_ACTION_TEX_SIZE, 0,
&interfaceCtx->loadQueue, NULL, "../z_parameter.c", 2228);
osRecvMesg(&interfaceCtx->loadQueue, NULL, OS_MESG_BLOCK);
interfaceCtx->unk_1FA = 1;
@ -2445,9 +2452,9 @@ void Interface_UpdateMagicBar(GlobalContext* globalCtx) {
break;
case 7:
if ((globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.debugState == 0) && (msgCtx->msgMode == 0) &&
(globalCtx->gameOverCtx.state == GAMEOVER_INACTIVE) && (globalCtx->sceneLoadFlag == 0) &&
(globalCtx->transitionMode == 0) && !Gameplay_InCsMode(globalCtx)) {
if ((globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.debugState == 0) &&
(msgCtx->msgMode == MSGMODE_NONE) && (globalCtx->gameOverCtx.state == GAMEOVER_INACTIVE) &&
(globalCtx->sceneLoadFlag == 0) && (globalCtx->transitionMode == 0) && !Gameplay_InCsMode(globalCtx)) {
if ((gSaveContext.magic == 0) || ((func_8008F2F8(globalCtx) >= 2) && (func_8008F2F8(globalCtx) < 5)) ||
((gSaveContext.equips.buttonItems[1] != ITEM_LENS) &&
(gSaveContext.equips.buttonItems[2] != ITEM_LENS) &&
@ -2633,8 +2640,9 @@ void func_80088B34(s16 arg0) {
void Interface_DrawActionLabel(GraphicsContext* gfxCtx, void* texture) {
OPEN_DISPS(gfxCtx, "../z_parameter.c", 2820);
gDPLoadTextureBlock_4b(OVERLAY_DISP++, texture, G_IM_FMT_IA, 48, 16, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
gDPLoadTextureBlock_4b(OVERLAY_DISP++, texture, G_IM_FMT_IA, DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD,
G_TX_NOLOD);
gSP1Quadrangle(OVERLAY_DISP++, 0, 2, 3, 1, 0);
@ -2700,13 +2708,13 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) {
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
gDPLoadTextureBlock_4b(OVERLAY_DISP++, interfaceCtx->doActionSegment + 0x300, G_IM_FMT_IA, 48, 16, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK,
G_TX_NOLOD, G_TX_NOLOD);
gDPLoadTextureBlock_4b(OVERLAY_DISP++, interfaceCtx->doActionSegment + DO_ACTION_TEX_SIZE * 2, G_IM_FMT_IA,
DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
dxdy = (1 << 10) / (R_START_LABEL_DD(gSaveContext.language) / 100.0f);
width = 48.0f / (R_START_LABEL_DD(gSaveContext.language) / 100.0f);
height = 16.0f / (R_START_LABEL_DD(gSaveContext.language) / 100.0f);
width = DO_ACTION_TEX_WIDTH / (R_START_LABEL_DD(gSaveContext.language) / 100.0f);
height = DO_ACTION_TEX_HEIGHT / (R_START_LABEL_DD(gSaveContext.language) / 100.0f);
gSPTextureRectangle(
OVERLAY_DISP++, R_START_LABEL_X(gSaveContext.language) << 2,
R_START_LABEL_Y(gSaveContext.language) << 2, (R_START_LABEL_X(gSaveContext.language) + width) << 2,
@ -3164,15 +3172,16 @@ void Interface_Draw(GlobalContext* globalCtx) {
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 255, 255, interfaceCtx->bAlpha);
gDPLoadTextureBlock_4b(OVERLAY_DISP++, interfaceCtx->doActionSegment + 0x180, G_IM_FMT_IA, 48, 16, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK,
G_TX_NOLOD, G_TX_NOLOD);
gDPLoadTextureBlock_4b(OVERLAY_DISP++, interfaceCtx->doActionSegment + DO_ACTION_TEX_SIZE, G_IM_FMT_IA,
DO_ACTION_TEX_WIDTH, DO_ACTION_TEX_HEIGHT, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
R_B_LABEL_DD = (1 << 10) / (WREG(37 + gSaveContext.language) / 100.0f);
gSPTextureRectangle(OVERLAY_DISP++, R_B_LABEL_X(gSaveContext.language) << 2,
R_B_LABEL_Y(gSaveContext.language) << 2, (R_B_LABEL_X(gSaveContext.language) + 48) << 2,
(R_B_LABEL_Y(gSaveContext.language) + 16) << 2, G_TX_RENDERTILE, 0, 0, R_B_LABEL_DD,
R_B_LABEL_DD);
R_B_LABEL_Y(gSaveContext.language) << 2,
(R_B_LABEL_X(gSaveContext.language) + DO_ACTION_TEX_WIDTH) << 2,
(R_B_LABEL_Y(gSaveContext.language) + DO_ACTION_TEX_HEIGHT) << 2, G_TX_RENDERTILE, 0, 0,
R_B_LABEL_DD, R_B_LABEL_DD);
}
gDPPipeSync(OVERLAY_DISP++);
@ -3239,7 +3248,7 @@ void Interface_Draw(GlobalContext* globalCtx) {
if ((interfaceCtx->unk_1EC < 2) || (interfaceCtx->unk_1EC == 3)) {
Interface_DrawActionLabel(globalCtx->state.gfxCtx, interfaceCtx->doActionSegment);
} else {
Interface_DrawActionLabel(globalCtx->state.gfxCtx, interfaceCtx->doActionSegment + 0x180);
Interface_DrawActionLabel(globalCtx->state.gfxCtx, interfaceCtx->doActionSegment + DO_ACTION_TEX_SIZE);
}
gDPPipeSync(OVERLAY_DISP++);
@ -3355,7 +3364,7 @@ void Interface_Draw(GlobalContext* globalCtx) {
}
}
if ((gSaveContext.timer2State == 5) && (func_8010BDBC(&globalCtx->msgCtx) == 5)) {
if ((gSaveContext.timer2State == 5) && (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_EVENT)) {
// Trade quest timer reached 0
D_8015FFE6 = 40;
gSaveContext.cutsceneIndex = 0;
@ -3393,7 +3402,7 @@ void Interface_Draw(GlobalContext* globalCtx) {
}
if ((globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.debugState == 0) &&
(globalCtx->gameOverCtx.state == GAMEOVER_INACTIVE) && (msgCtx->msgMode == 0) &&
(globalCtx->gameOverCtx.state == GAMEOVER_INACTIVE) && (msgCtx->msgMode == MSGMODE_NONE) &&
!(player->stateFlags2 & 0x01000000) && (globalCtx->sceneLoadFlag == 0) &&
(globalCtx->transitionMode == 0) && !Gameplay_InCsMode(globalCtx) && (gSaveContext.minigameState != 1) &&
(globalCtx->shootingGalleryStatus <= 1) &&
@ -3474,7 +3483,7 @@ void Interface_Draw(GlobalContext* globalCtx) {
}
}
if ((gSaveContext.timer1State >= 3) && (msgCtx->unk_E300 == 0)) {
if ((gSaveContext.timer1State >= 3) && (msgCtx->msgLength == 0)) {
D_8015FFE0--;
if (D_8015FFE0 == 0) {
if (gSaveContext.timer1Value != 0) {
@ -3659,7 +3668,7 @@ void Interface_Draw(GlobalContext* globalCtx) {
D_8015FFE6 = 40;
gSaveContext.timer2State = 5;
gSaveContext.cutsceneIndex = 0;
func_8010B680(globalCtx, 0x71B0, NULL);
Message_StartTextbox(globalCtx, 0x71B0, NULL);
func_8002DF54(globalCtx, NULL, 8);
} else {
D_8015FFE6 = 40;
@ -3683,7 +3692,7 @@ void Interface_Draw(GlobalContext* globalCtx) {
gSaveContext.timer2Value++;
if (gSaveContext.eventInf[1] & 1) {
if (gSaveContext.timer2Value == 240) {
func_8010B680(globalCtx, 0x6083, NULL);
Message_StartTextbox(globalCtx, 0x6083, NULL);
gSaveContext.eventInf[1] &= ~1;
gSaveContext.timer2State = 0;
}
@ -3799,20 +3808,21 @@ void Interface_Update(GlobalContext* globalCtx) {
Input* debugInput = &globalCtx->state.input[2];
if (CHECK_BTN_ALL(debugInput->press.button, BTN_DLEFT)) {
gSaveContext.language = 0;
gSaveContext.language = LANGUAGE_ENG;
osSyncPrintf("J_N=%x J_N=%x\n", gSaveContext.language, &gSaveContext.language);
} else if (CHECK_BTN_ALL(debugInput->press.button, BTN_DUP)) {
gSaveContext.language = 1;
gSaveContext.language = LANGUAGE_GER;
osSyncPrintf("J_N=%x J_N=%x\n", gSaveContext.language, &gSaveContext.language);
} else if (CHECK_BTN_ALL(debugInput->press.button, BTN_DRIGHT)) {
gSaveContext.language = 2;
gSaveContext.language = LANGUAGE_FRA;
osSyncPrintf("J_N=%x J_N=%x\n", gSaveContext.language, &gSaveContext.language);
}
if ((globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.debugState == 0)) {
if ((gSaveContext.minigameState == 1) || (gSaveContext.sceneSetupIndex < 4) ||
((globalCtx->sceneNum == SCENE_SPOT20) && (gSaveContext.sceneSetupIndex == 4))) {
if ((msgCtx->msgMode == 0) || ((msgCtx->msgMode != 0) && (globalCtx->sceneNum == SCENE_BOWLING))) {
if ((msgCtx->msgMode == MSGMODE_NONE) ||
((msgCtx->msgMode != MSGMODE_NONE) && (globalCtx->sceneNum == SCENE_BOWLING))) {
if (globalCtx->gameOverCtx.state == GAMEOVER_INACTIVE) {
func_80083108(globalCtx);
}
@ -3952,7 +3962,7 @@ void Interface_Update(GlobalContext* globalCtx) {
HealthMeter_Update(globalCtx);
if ((gSaveContext.timer1State >= 3) && (globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.debugState == 0) &&
(msgCtx->msgMode == 0) && !(player->stateFlags2 & 0x01000000) && (globalCtx->sceneLoadFlag == 0) &&
(msgCtx->msgMode == MSGMODE_NONE) && !(player->stateFlags2 & 0x01000000) && (globalCtx->sceneLoadFlag == 0) &&
(globalCtx->transitionMode == 0) && !Gameplay_InCsMode(globalCtx)) {}
if (gSaveContext.rupeeAccumulator != 0) {
@ -4002,8 +4012,8 @@ void Interface_Update(GlobalContext* globalCtx) {
interfaceCtx->unk_1EC = 0;
interfaceCtx->unk_1EE = interfaceCtx->unk_1F0;
action = interfaceCtx->unk_1EE;
if ((action == 0x1D) || (action == 0x1E)) {
action = 0xA;
if ((action == DO_ACTION_MAX) || (action == DO_ACTION_MAX + 1)) {
action = DO_ACTION_NONE;
}
Interface_LoadActionLabel(interfaceCtx, action, 0);
}
@ -4022,8 +4032,8 @@ void Interface_Update(GlobalContext* globalCtx) {
interfaceCtx->unk_1EC = 0;
interfaceCtx->unk_1EE = interfaceCtx->unk_1F0;
action = interfaceCtx->unk_1EE;
if ((action == 0x1D) || (action == 0x1E)) {
action = 0xA;
if ((action == DO_ACTION_MAX) || (action == DO_ACTION_MAX + 1)) {
action = DO_ACTION_NONE;
}
Interface_LoadActionLabel(interfaceCtx, action, 0);
}
@ -4032,9 +4042,9 @@ void Interface_Update(GlobalContext* globalCtx) {
WREG(7) = interfaceCtx->unk_1F4;
if ((globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.debugState == 0) && (msgCtx->msgMode == 0) &&
(globalCtx->sceneLoadFlag == 0) && (globalCtx->gameOverCtx.state == GAMEOVER_INACTIVE) &&
(globalCtx->transitionMode == 0) &&
if ((globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.debugState == 0) &&
(msgCtx->msgMode == MSGMODE_NONE) && (globalCtx->sceneLoadFlag == 0) &&
(globalCtx->gameOverCtx.state == GAMEOVER_INACTIVE) && (globalCtx->transitionMode == 0) &&
((globalCtx->csCtx.state == CS_STATE_IDLE) || !Player_InCsMode(globalCtx))) {
if ((gSaveContext.magicAcquired != 0) && (gSaveContext.magicLevel == 0)) {
gSaveContext.magicLevel = gSaveContext.doubleMagic + 1;
@ -4100,8 +4110,9 @@ void Interface_Update(GlobalContext* globalCtx) {
if (gSaveContext.sunsSongState != SUNSSONG_INACTIVE) {
// exit out of ocarina mode after suns song finishes playing
if ((msgCtx->unk_E3F0 != 0x31) && (gSaveContext.sunsSongState == SUNSSONG_START)) {
globalCtx->msgCtx.unk_E3EE = 4;
if ((msgCtx->ocarinaAction != OCARINA_ACTION_CHECK_NOWARP_DONE) &&
(gSaveContext.sunsSongState == SUNSSONG_START)) {
globalCtx->msgCtx.ocarinaMode = OCARINA_MODE_04;
}
// handle suns song in areas where time moves
@ -4119,12 +4130,12 @@ void Interface_Update(GlobalContext* globalCtx) {
if ((gSaveContext.dayTime >= 0x4555) && (gSaveContext.dayTime <= 0xC001)) {
gSaveContext.sunsSongState = SUNSSONG_INACTIVE;
gTimeIncrement = sPrevTimeIncrement;
globalCtx->msgCtx.unk_E3EE = 4;
globalCtx->msgCtx.ocarinaMode = OCARINA_MODE_04;
}
} else if (gSaveContext.dayTime > 0xC001) {
gSaveContext.sunsSongState = SUNSSONG_INACTIVE;
gTimeIncrement = sPrevTimeIncrement;
globalCtx->msgCtx.unk_E3EE = 4;
globalCtx->msgCtx.ocarinaMode = OCARINA_MODE_04;
}
} else if ((globalCtx->roomCtx.curRoom.unk_03 != 1) && (interfaceCtx->restrictions.sunsSong != 3)) {
if ((gSaveContext.dayTime >= 0x4555) && (gSaveContext.dayTime < 0xC001)) {

View file

@ -226,7 +226,7 @@ void Gameplay_Init(GameState* thisx) {
func_8005AC48(&globalCtx->mainCamera, 0xFF);
Sram_Init(globalCtx, &globalCtx->sramCtx);
func_80112098(globalCtx);
func_80110F68(globalCtx);
Message_Init(globalCtx);
GameOver_Init(globalCtx);
func_8006BA00(globalCtx);
Effect_InitContext(globalCtx);
@ -311,7 +311,7 @@ void Gameplay_Init(GameState* thisx) {
gSaveContext.dogIsLost = true;
if (Inventory_ReplaceItem(globalCtx, ITEM_WEIRD_EGG, ITEM_CHICKEN) ||
Inventory_ReplaceItem(globalCtx, ITEM_POCKET_EGG, ITEM_POCKET_CUCCO)) {
func_8010B680(globalCtx, 0x3066, NULL);
Message_StartTextbox(globalCtx, 0x3066, NULL);
}
gSaveContext.nextDayTime = 0xFFFE;
} else {
@ -773,7 +773,7 @@ void Gameplay_Update(GlobalContext* globalCtx) {
LOG_NUM("1", 1, "../z_play.c", 3542);
}
if ((gSaveContext.gameMode == 0) && (globalCtx->msgCtx.msgMode == 0) &&
if ((gSaveContext.gameMode == 0) && (globalCtx->msgCtx.msgMode == MSGMODE_NONE) &&
(globalCtx->gameOverCtx.state == GAMEOVER_INACTIVE)) {
KaleidoSetup_Update(globalCtx);
}
@ -951,7 +951,7 @@ void Gameplay_Update(GlobalContext* globalCtx) {
LOG_NUM("1", 1, "../z_play.c", 3733);
}
func_8010F6F0(globalCtx);
Message_Update(globalCtx);
}
if (1 && HREG(63)) {
@ -1045,7 +1045,7 @@ void Gameplay_DrawOverlayElements(GlobalContext* globalCtx) {
Interface_Draw(globalCtx);
}
func_8010F58C(globalCtx);
Message_Draw(globalCtx);
if (globalCtx->gameOverCtx.state != GAMEOVER_INACTIVE) {
GameOver_FadeInLights(globalCtx);

View file

@ -605,7 +605,7 @@ s32 func_8008F2F8(GlobalContext* globalCtx) {
(((var == 0) && (this->currentTunic != PLAYER_TUNIC_GORON)) ||
(((var == 1) || (var == 3)) && (this->currentBoots == PLAYER_BOOTS_IRON) &&
(this->currentTunic != PLAYER_TUNIC_ZORA)))) {
func_8010B680(globalCtx, triggerEntry->textId, NULL);
Message_StartTextbox(globalCtx, triggerEntry->textId, NULL);
gSaveContext.textTriggerFlags |= triggerEntry->flag;
}
}

View file

@ -247,7 +247,7 @@ void func_80098904(GlobalContext* globalCtx, SceneCmd* cmd) {
globalCtx->roomCtx.curRoom.unk_03 = cmd->roomBehavior.gpFlag1;
globalCtx->roomCtx.curRoom.unk_02 = cmd->roomBehavior.gpFlag2 & 0xFF;
globalCtx->roomCtx.curRoom.showInvisActors = (cmd->roomBehavior.gpFlag2 >> 8) & 1;
globalCtx->msgCtx.unk_E40C = (cmd->roomBehavior.gpFlag2 >> 0xA) & 1;
globalCtx->msgCtx.disableWarpSongs = (cmd->roomBehavior.gpFlag2 >> 0xA) & 1;
}
// Scene Command 0x0A: Mesh Header

View file

@ -22,7 +22,7 @@ typedef struct {
/* 0x20 */ u8 doubleMagic;
/* 0x21 */ u8 doubleDefense;
/* 0x22 */ u8 bgsFlag;
/* 0x23 */ u8 ocarinaGameReward;
/* 0x23 */ u8 ocarinaGameRoundNum;
/* 0x24 */ ItemEquips childEquips;
/* 0x2E */ ItemEquips adultEquips;
/* 0x38 */ u32 unk_38; // this may be incorrect, currently used for alignement
@ -113,7 +113,7 @@ static SavePlayerData sNewSavePlayerData = {
0, // doubleMagic
0, // doubleDefense
0, // bgsFlag
0, // ocarinaGameReward
0, // ocarinaGameRoundNum
{
{ ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE }, // buttonItems
{ SLOT_NONE, SLOT_NONE, SLOT_NONE }, // cButtonSlots
@ -196,7 +196,7 @@ static SavePlayerData sDebugSavePlayerData = {
0, // doubleMagic
0, // doubleDefense
0, // bgsFlag
0, // ocarinaGameReward
0, // ocarinaGameRoundNum
{
{ ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE }, // buttonItems
{ SLOT_NONE, SLOT_NONE, SLOT_NONE }, // cButtonSlots
@ -845,8 +845,8 @@ void Sram_InitSram(GameState* gameState, SramContext* sramCtx) {
gSaveContext.zTargetSetting = sramCtx->readBuff[SRAM_HEADER_ZTARGET] & 1;
gSaveContext.language = sramCtx->readBuff[SRAM_HEADER_LANGUAGE];
if (gSaveContext.language > 2) {
gSaveContext.language = 0;
if (gSaveContext.language >= LANGUAGE_MAX) {
gSaveContext.language = LANGUAGE_ENG;
sramCtx->readBuff[SRAM_HEADER_LANGUAGE] = gSaveContext.language;
Sram_WriteSramHeader(sramCtx);
}

View file

@ -182,7 +182,8 @@ void ArrowFire_Fly(ArrowFire* this, GlobalContext* globalCtx) {
void ArrowFire_Update(Actor* thisx, GlobalContext* globalCtx) {
ArrowFire* this = THIS;
if (globalCtx->msgCtx.msgMode == 0xD || globalCtx->msgCtx.msgMode == 0x11) {
if (globalCtx->msgCtx.msgMode == MSGMODE_OCARINA_CORRECT_PLAYBACK ||
globalCtx->msgCtx.msgMode == MSGMODE_SONG_PLAYED) {
Actor_Kill(&this->actor);
} else {
this->actionFunc(this, globalCtx);

View file

@ -183,7 +183,8 @@ void ArrowIce_Fly(ArrowIce* this, GlobalContext* globalCtx) {
void ArrowIce_Update(Actor* thisx, GlobalContext* globalCtx) {
ArrowIce* this = THIS;
if (globalCtx->msgCtx.msgMode == 0xD || globalCtx->msgCtx.msgMode == 0x11) {
if (globalCtx->msgCtx.msgMode == MSGMODE_OCARINA_CORRECT_PLAYBACK ||
globalCtx->msgCtx.msgMode == MSGMODE_SONG_PLAYED) {
Actor_Kill(&this->actor);
} else {
this->actionFunc(this, globalCtx);

View file

@ -181,7 +181,8 @@ void ArrowLight_Fly(ArrowLight* this, GlobalContext* globalCtx) {
void ArrowLight_Update(Actor* thisx, GlobalContext* globalCtx) {
ArrowLight* this = THIS;
if (globalCtx->msgCtx.msgMode == 0xD || globalCtx->msgCtx.msgMode == 0x11) {
if (globalCtx->msgCtx.msgMode == MSGMODE_OCARINA_CORRECT_PLAYBACK ||
globalCtx->msgCtx.msgMode == MSGMODE_SONG_PLAYED) {
Actor_Kill(&this->actor);
} else {
this->actionFunc(this, globalCtx);

View file

@ -182,7 +182,7 @@ void BgDyYoseizo_Bob(BgDyYoseizo* this, GlobalContext* globalCtx) {
void BgDyYoseizo_CheckMagicAcquired(BgDyYoseizo* this, GlobalContext* globalCtx) {
if (Flags_GetSwitch(globalCtx, 0x38)) {
globalCtx->msgCtx.unk_E3EE = 4;
globalCtx->msgCtx.ocarinaMode = OCARINA_MODE_04;
if (globalCtx->sceneNum == SCENE_DAIYOUSEI_IZUMI) {
if (!gSaveContext.magicAcquired && (this->fountainType != FAIRY_UPGRADE_MAGIC)) {
Actor_Kill(&this->actor);
@ -204,7 +204,7 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, GlobalContext* globalCtx) {
func_8002DF54(globalCtx, &this->actor, 1);
// "Mode"
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ もうど ☆☆☆☆☆ %d\n" VT_RST, globalCtx->msgCtx.unk_E3EE);
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ もうど ☆☆☆☆☆ %d\n" VT_RST, globalCtx->msgCtx.ocarinaMode);
givingReward = false;
if (globalCtx->sceneNum != SCENE_DAIYOUSEI_IZUMI) {
@ -376,8 +376,8 @@ void BgDyYoseizo_SetupGreetPlayer_NoReward(BgDyYoseizo* this, GlobalContext* glo
}
this->actor.textId = 0xDB;
this->dialogState = 5;
func_8010B680(globalCtx, this->actor.textId, NULL);
this->dialogState = TEXT_STATE_EVENT;
Message_StartTextbox(globalCtx, this->actor.textId, NULL);
BgDyYoseizo_SpawnParticles(this, globalCtx, 0);
this->actionFunc = BgDyYoseizo_GreetPlayer_NoReward;
}
@ -392,8 +392,8 @@ void BgDyYoseizo_GreetPlayer_NoReward(BgDyYoseizo* this, GlobalContext* globalCt
SkelAnime_Update(&this->skelAnime);
if ((this->dialogState == func_8010BDBC(&globalCtx->msgCtx)) && (func_80106BC8(globalCtx) != 0)) {
func_80106CCC(globalCtx);
if ((this->dialogState == Message_GetState(&globalCtx->msgCtx)) && Message_ShouldAdvance(globalCtx)) {
Message_CloseTextbox(globalCtx);
Interface_ChangeAlpha(5);
this->actionFunc = BgDyYoseizo_SetupHealPlayer_NoReward;
}
@ -483,8 +483,8 @@ void BgDyYoseizo_HealPlayer_NoReward(BgDyYoseizo* this, GlobalContext* globalCtx
if (this->healingTimer == 1) {
this->actor.textId = 0xDA;
this->dialogState = 5;
func_8010B720(globalCtx, this->actor.textId);
this->dialogState = TEXT_STATE_EVENT;
Message_ContinueTextbox(globalCtx, this->actor.textId);
this->actionFunc = BgDyYoseizo_SayFarewell_NoReward;
return;
}
@ -500,8 +500,8 @@ void BgDyYoseizo_SayFarewell_NoReward(BgDyYoseizo* this, GlobalContext* globalCt
SkelAnime_Update(&this->skelAnime);
if ((this->dialogState == func_8010BDBC(&globalCtx->msgCtx)) && (func_80106BC8(globalCtx) != 0)) {
func_80106CCC(globalCtx);
if ((this->dialogState == Message_GetState(&globalCtx->msgCtx)) && Message_ShouldAdvance(globalCtx)) {
Message_CloseTextbox(globalCtx);
this->mouthState = 0;
this->actionFunc = BgDyYoseizo_SetupSpinShrink;
func_8005B1A4(GET_ACTIVE_CAM(globalCtx));

View file

@ -88,7 +88,7 @@ void BgGanonOtyuka_Init(Actor* thisx, GlobalContext* globalCtx2) {
void BgGanonOtyuka_Destroy(Actor* thisx, GlobalContext* globalCtx2) {
BgGanonOtyuka* this = THIS;
GlobalContext* globalCtx = globalCtx2;
DynaPoly_DeleteBgActor(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId);
osSyncPrintf(VT_FGCOL(GREEN));

View file

@ -74,7 +74,7 @@ void func_8087B7E8(BgHaka* this, GlobalContext* globalCtx) {
this->dyna.unk_150 = 0.0f;
player->stateFlags2 &= ~0x10;
if (!Gameplay_InCsMode(globalCtx)) {
func_8010B680(globalCtx, 0x5073, NULL);
Message_StartTextbox(globalCtx, 0x5073, NULL);
this->dyna.actor.params = 100;
this->actionFunc = func_8087BAE4;
}

View file

@ -132,7 +132,7 @@ void BgHakaShip_Move(BgHakaShip* this, GlobalContext* globalCtx) {
if (distanceFromHome > 7600.0f && !Gameplay_InCsMode(globalCtx)) {
this->counter = 40;
this->dyna.actor.speedXZ = 0.0f;
func_8010B680(globalCtx, 0x5071, NULL);
Message_StartTextbox(globalCtx, 0x5071, NULL);
this->actionFunc = BgHakaShip_SetupCrash;
} else {
Math_StepToF(&this->dyna.actor.speedXZ, 4.0f, 0.2f);

View file

@ -239,7 +239,7 @@ void BgMizuWater_ChangeWaterLevel(BgMizuWater* this, GlobalContext* globalCtx) {
if (Math_StepToF(&this->actor.world.pos.y, this->targetY, 5.0f)) {
globalCtx->roomCtx.unk_74[0] = 0;
this->actionFunc = BgMizuWater_WaitForAction;
func_80106CCC(globalCtx);
Message_CloseTextbox(globalCtx);
}
BgMizuWater_SetWaterBoxesHeight(globalCtx->colCtx.colHeader->waterBoxes, this->actor.world.pos.y);
break;

View file

@ -189,7 +189,8 @@ void func_808A3D58(BgMoriHineri* this, GlobalContext* globalCtx) {
this->actionFunc = func_808A3E54;
mainCamChildIdx = globalCtx->cameraPtrs[MAIN_CAM]->childCamIdx;
if ((mainCamChildIdx != SUBCAM_FREE) && (globalCtx->cameraPtrs[mainCamChildIdx]->setting == CAM_SET_CS_TWISTED_HALLWAY)) {
if ((mainCamChildIdx != SUBCAM_FREE) &&
(globalCtx->cameraPtrs[mainCamChildIdx]->setting == CAM_SET_CS_TWISTED_HALLWAY)) {
OnePointCutscene_EndCutscene(globalCtx, mainCamChildIdx);
}
OnePointCutscene_Init(globalCtx, 3260, 40, &this->dyna.actor, MAIN_CAM);

View file

@ -241,9 +241,9 @@ void func_808FD5F4(BossGanon2* this, GlobalContext* globalCtx) {
this->unk_3B0.y = 1086.0f;
this->unk_3B0.z = -200.0f;
if (this->unk_398 == 150) {
func_8010B680(globalCtx, 0x70D3, NULL);
Message_StartTextbox(globalCtx, 0x70D3, NULL);
}
if (this->unk_398 > 250 && (func_8010BDBC(&globalCtx->msgCtx) == 0)) {
if (this->unk_398 > 250 && Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_NONE) {
this->unk_39C = 2;
this->unk_398 = 0;
this->unk_410.x = 0.0f;
@ -262,7 +262,7 @@ void func_808FD5F4(BossGanon2* this, GlobalContext* globalCtx) {
player->actor.shape.rot.y = -0x5000;
sZelda->actor.shape.rot.y = -0x5000;
if (this->unk_398 == 60) {
func_8010B680(globalCtx, 0x70D4, NULL);
Message_StartTextbox(globalCtx, 0x70D4, NULL);
}
if (this->unk_398 == 40) {
sZelda->unk_3C8 = 1;
@ -284,7 +284,7 @@ void func_808FD5F4(BossGanon2* this, GlobalContext* globalCtx) {
} else {
this->unk_3B0.y = player->actor.world.pos.y + 47.0f + 7.0f;
}
if ((this->unk_398 > 170) && (func_8010BDBC(&globalCtx->msgCtx) == 0)) {
if ((this->unk_398 > 170) && (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_NONE)) {
this->unk_39C = 3;
this->unk_398 = 0;
this->unk_410.x = 0.0f;
@ -331,7 +331,7 @@ void func_808FD5F4(BossGanon2* this, GlobalContext* globalCtx) {
case 5:
this->unk_339 = 4;
if (this->actor.xzDistToPlayer < 500.0f) {
func_80106CCC(globalCtx);
Message_CloseTextbox(globalCtx);
this->unk_39C = 10;
this->unk_398 = 0;
func_80064520(globalCtx, &globalCtx->csCtx);
@ -825,7 +825,7 @@ void func_808FD5F4(BossGanon2* this, GlobalContext* globalCtx) {
break;
case 28:
if (this->unk_398 == 5) {
func_8010B680(globalCtx, 0x70D6, NULL);
Message_StartTextbox(globalCtx, 0x70D6, NULL);
}
if (D_8090EB30 != NULL) {
this->unk_3A4.x = D_8090EB30->world.pos.x - 20.0f;
@ -834,7 +834,7 @@ void func_808FD5F4(BossGanon2* this, GlobalContext* globalCtx) {
Math_ApproachF(&this->unk_3B0.x, D_8090EB30->world.pos.x, 0.2f, 50.0f);
Math_ApproachF(&this->unk_3B0.y, D_8090EB30->world.pos.y, 0.2f, 50.0f);
Math_ApproachF(&this->unk_3B0.z, D_8090EB30->world.pos.z, 0.2f, 50.0f);
if ((this->unk_398 > 40) && (func_8010BDBC(&globalCtx->msgCtx) == 0)) {
if ((this->unk_398 > 40) && (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_NONE)) {
this->unk_39C = 29;
this->unk_398 = 0;
Animation_MorphToPlayOnce(&this->skelAnime, &object_ganon_anime3_Anim_0147E0, 0.0f);
@ -1329,9 +1329,9 @@ void func_80900890(BossGanon2* this, GlobalContext* globalCtx) {
Math_ApproachZeroF(&this->unk_324, 1.0f, 5.0f);
Math_ApproachF(&globalCtx->envCtx.unk_D8, 1.0f, 1.0f, 1.0f / 51);
if (this->unk_1A2[1] == 80) {
func_8010B680(globalCtx, 0x70D7, NULL);
Message_StartTextbox(globalCtx, 0x70D7, NULL);
}
if ((this->unk_1A2[1] < 30) && (func_8010BDBC(&globalCtx->msgCtx) == 0)) {
if ((this->unk_1A2[1] < 30) && (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_NONE)) {
temp_v0 = Gameplay_GetCamera(globalCtx, MAIN_CAM);
temp_v0->eye = this->unk_3A4;
temp_v0->eyeNext = this->unk_3A4;
@ -1558,9 +1558,9 @@ void func_8090120C(BossGanon2* this, GlobalContext* globalCtx) {
this->unk_3B0.y = sZelda->actor.world.pos.y + 40.0f;
this->unk_3B0.z = sZelda->actor.world.pos.z;
if (this->unk_398 == 10) {
func_8010B680(globalCtx, 0x70D8, NULL);
Message_StartTextbox(globalCtx, 0x70D8, NULL);
}
if ((this->unk_398 > 80) && (func_8010BDBC(&globalCtx->msgCtx) == 0)) {
if ((this->unk_398 > 80) && (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_NONE)) {
this->unk_39C = 4;
this->unk_398 = 0;
}
@ -1741,7 +1741,7 @@ void func_8090120C(BossGanon2* this, GlobalContext* globalCtx) {
this->unk_39C = 9;
this->unk_398 = 0;
sZelda->unk_3C8 = 11;
func_8010B680(globalCtx, 0x70D9, NULL);
Message_StartTextbox(globalCtx, 0x70D9, NULL);
this->unk_336 = 0;
globalCtx->envCtx.unk_D8 = 0.0f;
}

View file

@ -1035,7 +1035,7 @@ void BossGanondrof_Death(BossGanondrof* this, GlobalContext* globalCtx) {
GND_BOSSROOM_CENTER_X, GND_BOSSROOM_CENTER_Y + 3.0f, GND_BOSSROOM_CENTER_Z, 0x4000,
0, 0, FHGFIRE_WARP_DEATH);
this->actor.child = &horseTemp->actor;
func_8010B680(globalCtx, 0x108E, NULL);
Message_StartTextbox(globalCtx, 0x108E, NULL);
}
this->actor.shape.rot.y -= 0xC8;

View file

@ -1215,7 +1215,7 @@ void BossMo_IntroCs(BossMo* this, GlobalContext* globalCtx) {
switch (this->csState) {
case MO_INTRO_WAIT:
if (this->timers[0] == 1) {
func_8010B680(globalCtx, 0x403F, NULL);
Message_StartTextbox(globalCtx, 0x403F, NULL);
}
if (((fabsf(player->actor.world.pos.z - 180.0f) < 40.0f) &&
(fabsf(player->actor.world.pos.x - 180.0f) < 40.0f)) ||
@ -1239,7 +1239,7 @@ void BossMo_IntroCs(BossMo* this, GlobalContext* globalCtx) {
sMorphaTent1->work[MO_TENT_ACTION_STATE] = MO_TENT_READY;
sMorphaTent1->timers[0] = 30000;
Audio_QueueSeqCmd(0x103200FF);
func_80106CCC(globalCtx);
Message_CloseTextbox(globalCtx);
} else {
break;
}

View file

@ -1518,11 +1518,11 @@ void BossTw_TwinrovaMergeCS(BossTw* this, GlobalContext* globalCtx) {
// fallthrough
case 1:
if (this->work[CS_TIMER_2] == 20) {
func_8010B680(globalCtx, 0x6059, NULL);
Message_StartTextbox(globalCtx, 0x6059, NULL);
}
if (this->work[CS_TIMER_2] == 80) {
func_8010B680(globalCtx, 0x605A, NULL);
Message_StartTextbox(globalCtx, 0x605A, NULL);
}
this->subCamAt.x = 0.0f;
@ -1832,7 +1832,7 @@ void BossTw_TwinrovaIntroCS(BossTw* this, GlobalContext* globalCtx) {
updateCam = 1;
if (this->work[CS_TIMER_1] == 30) {
func_8010B680(globalCtx, 0x6048, NULL);
Message_StartTextbox(globalCtx, 0x6048, NULL);
}
Math_ApproachF(&this->subCamUpdateRate, 0.01f, 1.0f, 0.0001f);
@ -1910,7 +1910,7 @@ void BossTw_TwinrovaIntroCS(BossTw* this, GlobalContext* globalCtx) {
Math_ApproachF(&this->subCamUpdateRate, 1.0f, 1.0f, 0.02f);
if (this->work[CS_TIMER_1] == 30) {
func_8010B680(globalCtx, 0x6049, NULL);
Message_StartTextbox(globalCtx, 0x6049, NULL);
}
if (this->work[CS_TIMER_1] > 80) {
@ -2074,7 +2074,7 @@ void BossTw_TwinrovaIntroCS(BossTw* this, GlobalContext* globalCtx) {
Math_ApproachF(&this->subCamUpdateRate, 1.0f, 1.0f, 0.02f);
if (this->work[CS_TIMER_1] == 30) {
func_8010B680(globalCtx, 0x604A, NULL);
Message_StartTextbox(globalCtx, 0x604A, NULL);
}
if (this->work[CS_TIMER_1] > 80) {
@ -2531,7 +2531,7 @@ void BossTw_DeathCSMsgSfx(BossTw* this, GlobalContext* globalCtx) {
}
if (msgId2 != 0) {
func_8010B680(globalCtx, msgId2, NULL);
Message_StartTextbox(globalCtx, msgId2, NULL);
if (sp35) {
D_8094C876 = 10;
@ -2541,7 +2541,7 @@ void BossTw_DeathCSMsgSfx(BossTw* this, GlobalContext* globalCtx) {
}
if (msgId1 != 0) {
func_8010B680(globalCtx, msgId1, NULL);
Message_StartTextbox(globalCtx, msgId1, NULL);
}
switch (kotakeAnim) {

View file

@ -850,7 +850,7 @@ s32 func_80986A5C(DemoIm* this, GlobalContext* globalCtx) {
s32 func_80986AD0(DemoIm* this, GlobalContext* globalCtx) {
this->actor.flags |= 9;
if (!func_8002F194(&this->actor, globalCtx)) {
if (!Actor_ProcessTalkRequest(&this->actor, globalCtx)) {
this->actor.textId = 0x708E;
func_8002F2F4(&this->actor, globalCtx);
} else {
@ -860,7 +860,7 @@ s32 func_80986AD0(DemoIm* this, GlobalContext* globalCtx) {
}
void func_80986B2C(GlobalContext* globalCtx) {
if (func_8010BDBC(&globalCtx->msgCtx) == 2) {
if (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_CLOSING) {
Player* player = GET_PLAYER(globalCtx);
globalCtx->nextEntranceIndex = 0xCD;

View file

@ -868,9 +868,9 @@ void DemoKankyo_DrawWarpSparkles(Actor* thisx, GlobalContext* globalCtx) {
this->unk_150[i].unk_18 * (0.018f * temp_f22), MTXMODE_APPLY);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0x80, 255, 255, 255, 255);
if (this->actor.params == DEMOKANKYO_WARP_OUT) {
gDPSetEnvColor(POLY_XLU_DISP++, sWarpSparkleEnvColors[globalCtx->msgCtx.unk_E3EC].r,
sWarpSparkleEnvColors[globalCtx->msgCtx.unk_E3EC].g,
sWarpSparkleEnvColors[globalCtx->msgCtx.unk_E3EC].b, 255);
gDPSetEnvColor(POLY_XLU_DISP++, sWarpSparkleEnvColors[globalCtx->msgCtx.lastPlayedSong].r,
sWarpSparkleEnvColors[globalCtx->msgCtx.lastPlayedSong].g,
sWarpSparkleEnvColors[globalCtx->msgCtx.lastPlayedSong].b, 255);
} else {
s8 respawnData = gSaveContext.respawn[1].data;
gDPSetEnvColor(POLY_XLU_DISP++, sWarpSparkleEnvColors[respawnData].r,

View file

@ -573,13 +573,13 @@ void func_80999EE0(DoorWarp1* this, GlobalContext* globalCtx) {
Gameplay_CameraSetAtEye(globalCtx, sRutoWarpSubCamId, &at, &eye);
Gameplay_CameraSetFov(globalCtx, sRutoWarpSubCamId, 90.0f);
this->rutoWarpState = WARP_BLUE_RUTO_STATE_TALKING;
func_8010B680(globalCtx, 0x4022, NULL);
Message_StartTextbox(globalCtx, 0x4022, NULL);
DoorWarp1_SetupAction(this, func_80999FE4);
}
}
void func_80999FE4(DoorWarp1* this, GlobalContext* globalCtx) {
if (func_8010BDBC(&globalCtx->msgCtx) == 0) {
if (Message_GetState(&globalCtx->msgCtx) == TEXT_STATE_NONE) {
Audio_PlaySoundGeneral(NA_SE_EV_LINK_WARP, &this->actor.projectedPos, 4, &D_801333E0, &D_801333E0, &D_801333E8);
OnePointCutscene_Init(globalCtx, 0x25E9, 999, &this->actor, MAIN_CAM);
Gameplay_CopyCamera(globalCtx, -1, sRutoWarpSubCamId);

Some files were not shown because too many files have changed in this diff Show more