mirror of https://github.com/n64decomp/mk64.git
Various matches (#304)
This commit is contained in:
parent
1643909b34
commit
fb7c3bce61
|
|
@ -1851,152 +1851,20 @@ glabel D_8018E818
|
|||
glabel D_8018E81A
|
||||
.skip 6
|
||||
|
||||
glabel D_8018E820
|
||||
.skip 2
|
||||
#glabel D_8018E820
|
||||
#.skip 2
|
||||
|
||||
glabel D_8018E822
|
||||
.skip 6
|
||||
#glabel D_8018E822
|
||||
#.skip 6
|
||||
|
||||
glabel D_8018E828
|
||||
.skip 2
|
||||
#glabel D_8018E828
|
||||
#.skip 2
|
||||
|
||||
glabel D_8018E82A
|
||||
.skip 14
|
||||
#glabel D_8018E82A
|
||||
#.skip 14
|
||||
|
||||
glabel D_8018E838
|
||||
.skip 4
|
||||
#glabel D_8018E838
|
||||
#.skip 4
|
||||
|
||||
glabel D_8018E83C
|
||||
.skip 4
|
||||
|
||||
glabel D_8018E840
|
||||
.skip 16
|
||||
|
||||
glabel D_8018E850
|
||||
.skip 4
|
||||
|
||||
glabel D_8018E854
|
||||
.skip 4
|
||||
|
||||
glabel D_8018E858
|
||||
.skip 4
|
||||
|
||||
glabel D_8018E85C
|
||||
.skip 4
|
||||
|
||||
glabel gTextColor
|
||||
.skip 8
|
||||
|
||||
glabel D_8018E868
|
||||
.skip 104
|
||||
|
||||
glabel D_8018E8D0
|
||||
.skip 104
|
||||
|
||||
glabel D_8018E938
|
||||
.skip 508
|
||||
|
||||
glabel D_8018EB34
|
||||
.skip 4
|
||||
|
||||
glabel D_8018EB38
|
||||
.skip 64
|
||||
|
||||
glabel D_8018EB78
|
||||
.skip 4
|
||||
|
||||
glabel D_8018EB7C
|
||||
.skip 4
|
||||
|
||||
glabel gControllerPakNumPagesFree
|
||||
.skip 4
|
||||
|
||||
glabel D_8018EB84
|
||||
.skip 4
|
||||
|
||||
glabel D_8018EB88
|
||||
.skip 8
|
||||
|
||||
glabel D_8018EB90
|
||||
.skip 18
|
||||
|
||||
glabel D_8018EBA2
|
||||
.skip 366
|
||||
|
||||
# start of eight byte struct
|
||||
glabel D_8018ED10
|
||||
.skip 1
|
||||
|
||||
glabel D_8018ED11
|
||||
.skip 1
|
||||
|
||||
glabel D_8018ED12
|
||||
.skip 1
|
||||
|
||||
glabel D_8018ED13
|
||||
.skip 1
|
||||
|
||||
glabel gSaveDataSoundMode
|
||||
.skip 2
|
||||
|
||||
# crc 1
|
||||
glabel D_8018ED16
|
||||
.skip 1
|
||||
|
||||
# crc 2
|
||||
glabel D_8018ED17
|
||||
.skip 55
|
||||
# end eight byte struct at 8018ED18?
|
||||
|
||||
glabel D_8018ED4E
|
||||
.skip 58
|
||||
|
||||
# another save data struct (8 bytes again I hope)
|
||||
glabel D_8018ED88
|
||||
.skip 1
|
||||
|
||||
glabel D_8018ED89
|
||||
.skip 1
|
||||
|
||||
glabel D_8018ED8A
|
||||
.skip 1
|
||||
|
||||
glabel D_8018ED8B
|
||||
.skip 1
|
||||
|
||||
glabel gSaveDataSoundModeBackup
|
||||
.skip 2
|
||||
|
||||
glabel D_8018ED8E
|
||||
.skip 1
|
||||
|
||||
glabel D_8018ED8F
|
||||
.skip 1
|
||||
|
||||
glabel D_8018ED90
|
||||
.skip 1
|
||||
# end backup save data struct
|
||||
|
||||
glabel D_8018ED91
|
||||
.skip 3
|
||||
|
||||
glabel D_8018ED94
|
||||
.skip 4
|
||||
|
||||
glabel D_8018ED98
|
||||
.skip 4
|
||||
|
||||
glabel D_8018ED9C
|
||||
.skip 4
|
||||
|
||||
glabel D_8018EDA0
|
||||
.skip 4
|
||||
|
||||
glabel D_8018EDA4
|
||||
.skip 4
|
||||
|
||||
glabel D_8018EDA8
|
||||
.skip 4
|
||||
|
||||
glabel D_8018EDAC
|
||||
.skip 4
|
||||
#glabel D_8018E83C
|
||||
#.skip 4
|
||||
|
|
|
|||
|
|
@ -0,0 +1,135 @@
|
|||
.include "macros.inc"
|
||||
|
||||
.section .bss
|
||||
|
||||
glabel D_8018E840
|
||||
.skip 16
|
||||
|
||||
glabel D_8018E850
|
||||
.skip 4
|
||||
|
||||
glabel D_8018E854
|
||||
.skip 4
|
||||
|
||||
glabel D_8018E858
|
||||
.skip 4
|
||||
|
||||
glabel D_8018E85C
|
||||
.skip 4
|
||||
|
||||
glabel gTextColor
|
||||
.skip 8
|
||||
|
||||
glabel D_8018E868
|
||||
.skip 104
|
||||
|
||||
glabel D_8018E8D0
|
||||
.skip 104
|
||||
|
||||
glabel D_8018E938
|
||||
.skip 508
|
||||
|
||||
glabel D_8018EB34
|
||||
.skip 4
|
||||
|
||||
glabel D_8018EB38
|
||||
.skip 64
|
||||
|
||||
glabel D_8018EB78
|
||||
.skip 4
|
||||
|
||||
glabel D_8018EB7C
|
||||
.skip 4
|
||||
|
||||
glabel gControllerPakNumPagesFree
|
||||
.skip 4
|
||||
|
||||
glabel D_8018EB84
|
||||
.skip 4
|
||||
|
||||
glabel D_8018EB88
|
||||
.skip 8
|
||||
|
||||
glabel D_8018EB90
|
||||
.skip 18
|
||||
|
||||
glabel D_8018EBA2
|
||||
.skip 366
|
||||
|
||||
# start of eight byte struct
|
||||
glabel D_8018ED10
|
||||
.skip 1
|
||||
|
||||
glabel D_8018ED11
|
||||
.skip 1
|
||||
|
||||
glabel D_8018ED12
|
||||
.skip 1
|
||||
|
||||
glabel D_8018ED13
|
||||
.skip 1
|
||||
|
||||
glabel gSaveDataSoundMode
|
||||
.skip 2
|
||||
|
||||
# crc 1
|
||||
glabel D_8018ED16
|
||||
.skip 1
|
||||
|
||||
# crc 2
|
||||
glabel D_8018ED17
|
||||
.skip 55
|
||||
# end eight byte struct at 8018ED18?
|
||||
|
||||
glabel D_8018ED4E
|
||||
.skip 58
|
||||
|
||||
# another save data struct (8 bytes again I hope)
|
||||
glabel D_8018ED88
|
||||
.skip 1
|
||||
|
||||
glabel D_8018ED89
|
||||
.skip 1
|
||||
|
||||
glabel D_8018ED8A
|
||||
.skip 1
|
||||
|
||||
glabel D_8018ED8B
|
||||
.skip 1
|
||||
|
||||
glabel gSaveDataSoundModeBackup
|
||||
.skip 2
|
||||
|
||||
glabel D_8018ED8E
|
||||
.skip 1
|
||||
|
||||
glabel D_8018ED8F
|
||||
.skip 1
|
||||
|
||||
glabel D_8018ED90
|
||||
.skip 1
|
||||
# end backup save data struct
|
||||
|
||||
glabel D_8018ED91
|
||||
.skip 3
|
||||
|
||||
glabel D_8018ED94
|
||||
.skip 4
|
||||
|
||||
glabel D_8018ED98
|
||||
.skip 4
|
||||
|
||||
glabel D_8018ED9C
|
||||
.skip 4
|
||||
|
||||
glabel D_8018EDA0
|
||||
.skip 4
|
||||
|
||||
glabel D_8018EDA4
|
||||
.skip 4
|
||||
|
||||
glabel D_8018EDA8
|
||||
.skip 4
|
||||
|
||||
glabel D_8018EDAC
|
||||
.skip 4
|
||||
|
|
@ -1,135 +0,0 @@
|
|||
glabel func_80091B78
|
||||
/* 092778 80091B78 3C0E800F */ lui $t6, %hi(D_800E852C) # $t6, 0x800f
|
||||
/* 09277C 80091B7C 81CE852C */ lb $t6, %lo(D_800E852C)($t6)
|
||||
/* 092780 80091B80 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 092784 80091B84 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 092788 80091B88 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* 09278C 80091B8C 11C00018 */ beqz $t6, .L80091BF0
|
||||
/* 092790 80091B90 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 092794 80091B94 3C01800F */ lui $at, %hi(D_800E852C) # $at, 0x800f
|
||||
/* 092798 80091B98 A020852C */ sb $zero, %lo(D_800E852C)($at)
|
||||
/* 09279C 80091B9C 2402000A */ li $v0, 10
|
||||
/* 0927A0 80091BA0 3C018019 */ lui $at, %hi(D_8018EDF4) # $at, 0x8019
|
||||
/* 0927A4 80091BA4 A022EDF4 */ sb $v0, %lo(D_8018EDF4)($at)
|
||||
/* 0927A8 80091BA8 3C018019 */ lui $at, %hi(D_8018EDF5) # $at, 0x8019
|
||||
/* 0927AC 80091BAC 240F0005 */ li $t7, 5
|
||||
/* 0927B0 80091BB0 A02FEDF5 */ sb $t7, %lo(D_8018EDF5)($at)
|
||||
/* 0927B4 80091BB4 3C018019 */ lui $at, %hi(D_8018EDF6) # $at, 0x8019
|
||||
/* 0927B8 80091BB8 3C048015 */ lui $a0, %hi(gSIEventMesgQueue) # $a0, 0x8015
|
||||
/* 0927BC 80091BBC A022EDF6 */ sb $v0, %lo(D_8018EDF6)($at)
|
||||
/* 0927C0 80091BC0 0C0338D0 */ jal osEepromProbe
|
||||
/* 0927C4 80091BC4 2484F0B8 */ addiu $a0, %lo(gSIEventMesgQueue) # addiu $a0, $a0, -0xf48
|
||||
/* 0927C8 80091BC8 10400003 */ beqz $v0, .L80091BD8
|
||||
/* 0927CC 80091BCC 00000000 */ nop
|
||||
/* 0927D0 80091BD0 0C02D284 */ jal load_save_data
|
||||
/* 0927D4 80091BD4 00000000 */ nop
|
||||
.L80091BD8:
|
||||
/* 0927D8 80091BD8 0C02475D */ jal func_80091D74
|
||||
/* 0927DC 80091BDC 00000000 */ nop
|
||||
/* 0927E0 80091BE0 10400003 */ beqz $v0, .L80091BF0
|
||||
/* 0927E4 80091BE4 24180009 */ li $t8, 9
|
||||
/* 0927E8 80091BE8 3C01800F */ lui $at, %hi(gMenuSelection) # $at, 0x800f
|
||||
/* 0927EC 80091BEC AC3886A0 */ sw $t8, %lo(gMenuSelection)($at)
|
||||
.L80091BF0:
|
||||
/* 0927F0 80091BF0 3C19800F */ lui $t9, %hi(gMenuSelection) # $t9, 0x800f
|
||||
/* 0927F4 80091BF4 8F3986A0 */ lw $t9, %lo(gMenuSelection)($t9)
|
||||
/* 0927F8 80091BF8 24110008 */ li $s1, 8
|
||||
/* 0927FC 80091BFC 1639000C */ bne $s1, $t9, .L80091C30
|
||||
/* 092800 80091C00 3C088016 */ lui $t0, %hi(D_8015F734) # $t0, 0x8016
|
||||
/* 092804 80091C04 8D08F734 */ lw $t0, %lo(D_8015F734)($t0)
|
||||
/* 092808 80091C08 3C018016 */ lui $at, %hi(gNextFreeMemoryAddress) # $at, 0x8016
|
||||
/* 09280C 80091C0C 3C040082 */ lui $a0, %hi(_data_825800SegmentRomStart) # $a0, 0x82
|
||||
/* 092810 80091C10 3C050083 */ lui $a1, %hi(_course_mario_raceway_dl_mio0SegmentRomStart) # $a1, 0x83
|
||||
/* 092814 80091C14 24A584D0 */ addiu $a1, %lo(_course_mario_raceway_dl_mio0SegmentRomStart) # addiu $a1, $a1, -0x7b30
|
||||
/* 092818 80091C18 24845800 */ addiu $a0, %lo(_data_825800SegmentRomStart) # addiu $a0, $a0, 0x5800
|
||||
/* 09281C 80091C1C 0C0AAA23 */ jal decompress_segments
|
||||
/* 092820 80091C20 AC28F728 */ sw $t0, %lo(gNextFreeMemoryAddress)($at)
|
||||
/* 092824 80091C24 24040006 */ li $a0, 6
|
||||
/* 092828 80091C28 0C0A9EE5 */ jal set_segment_base_addr
|
||||
/* 09282C 80091C2C 00402825 */ move $a1, $v0
|
||||
.L80091C30:
|
||||
/* 092830 80091C30 3C098016 */ lui $t1, %hi(D_8015F734) # $t1, 0x8016
|
||||
/* 092834 80091C34 8D29F734 */ lw $t1, %lo(D_8015F734)($t1)
|
||||
/* 092838 80091C38 3C018016 */ lui $at, %hi(gNextFreeMemoryAddress) # $at, 0x8016
|
||||
/* 09283C 80091C3C 3C040009 */ lui $a0, (0x000900B0 >> 16) # lui $a0, 9
|
||||
/* 092840 80091C40 348400B0 */ ori $a0, (0x000900B0 & 0xFFFF) # ori $a0, $a0, 0xb0
|
||||
/* 092844 80091C44 0C0A9EDC */ jal get_next_available_memory_addr
|
||||
/* 092848 80091C48 AC29F728 */ sw $t1, %lo(gNextFreeMemoryAddress)($at)
|
||||
/* 09284C 80091C4C 3C018019 */ lui $at, %hi(D_8018D9B0) # $at, 0x8019
|
||||
/* 092850 80091C50 AC22D9B0 */ sw $v0, %lo(D_8018D9B0)($at)
|
||||
/* 092854 80091C54 0C0A9EDC */ jal get_next_available_memory_addr
|
||||
/* 092858 80091C58 3404CE00 */ li $a0, 52736
|
||||
/* 09285C 80091C5C 3C018019 */ lui $at, %hi(D_8018D9B4) # $at, 0x8019
|
||||
/* 092860 80091C60 3C040001 */ lui $a0, (0x00012C00 >> 16) # lui $a0, 1
|
||||
/* 092864 80091C64 AC22D9B4 */ sw $v0, %lo(D_8018D9B4)($at)
|
||||
/* 092868 80091C68 0C0A9EDC */ jal get_next_available_memory_addr
|
||||
/* 09286C 80091C6C 34842C00 */ ori $a0, (0x00012C00 & 0xFFFF) # ori $a0, $a0, 0x2c00
|
||||
/* 092870 80091C70 3C018019 */ lui $at, %hi(D_8018D9B8) # $at, 0x8019
|
||||
/* 092874 80091C74 AC22D9B8 */ sw $v0, %lo(D_8018D9B8)($at)
|
||||
/* 092878 80091C78 0C0A9EDC */ jal get_next_available_memory_addr
|
||||
/* 09287C 80091C7C 24041000 */ li $a0, 4096
|
||||
/* 092880 80091C80 3C018019 */ lui $at, %hi(D_8018D9C0) # $at, 0x8019
|
||||
/* 092884 80091C84 0C02BE6C */ jal func_800AF9B0
|
||||
/* 092888 80091C88 AC22D9C0 */ sw $v0, %lo(D_8018D9C0)($at)
|
||||
/* 09288C 80091C8C 3C018019 */ lui $at, %hi(D_8018EE0C) # $at, 0x8019
|
||||
/* 092890 80091C90 3C028019 */ lui $v0, %hi(D_8018E7AC) # $v0, 0x8019
|
||||
/* 092894 80091C94 3C038019 */ lui $v1, %hi(D_8018E7B1) # $v1, 0x8019
|
||||
/* 092898 80091C98 A020EE0C */ sb $zero, %lo(D_8018EE0C)($at)
|
||||
/* 09289C 80091C9C 2463E7B1 */ addiu $v1, %lo(D_8018E7B1) # addiu $v1, $v1, -0x184f
|
||||
/* 0928A0 80091CA0 2442E7AC */ addiu $v0, %lo(D_8018E7AC) # addiu $v0, $v0, -0x1854
|
||||
.L80091CA4:
|
||||
/* 0928A4 80091CA4 24420001 */ addiu $v0, $v0, 1
|
||||
/* 0928A8 80091CA8 0043082B */ sltu $at, $v0, $v1
|
||||
/* 0928AC 80091CAC 1420FFFD */ bnez $at, .L80091CA4
|
||||
/* 0928B0 80091CB0 A040FFFF */ sb $zero, -1($v0)
|
||||
/* 0928B4 80091CB4 3C028019 */ lui $v0, %hi(D_8018E838) # $v0, 0x8019
|
||||
/* 0928B8 80091CB8 3C038019 */ lui $v1, %hi(D_8018E83C) # $v1, 0x8019
|
||||
/* 0928BC 80091CBC 2463E83C */ addiu $v1, %lo(D_8018E83C) # addiu $v1, $v1, -0x17c4
|
||||
/* 0928C0 80091CC0 2442E838 */ addiu $v0, %lo(D_8018E838) # addiu $v0, $v0, -0x17c8
|
||||
.L80091CC4:
|
||||
/* 0928C4 80091CC4 24420001 */ addiu $v0, $v0, 1
|
||||
/* 0928C8 80091CC8 0043082B */ sltu $at, $v0, $v1
|
||||
/* 0928CC 80091CCC 1420FFFD */ bnez $at, .L80091CC4
|
||||
/* 0928D0 80091CD0 A040FFFF */ sb $zero, -1($v0)
|
||||
/* 0928D4 80091CD4 3C02800E */ lui $v0, %hi(D_800DC5EC) # $v0, 0x800e
|
||||
/* 0928D8 80091CD8 2442C5EC */ addiu $v0, %lo(D_800DC5EC) # addiu $v0, $v0, -0x3a14
|
||||
/* 0928DC 80091CDC 8C4B0000 */ lw $t3, ($v0)
|
||||
/* 0928E0 80091CE0 240A00A0 */ li $t2, 160
|
||||
/* 0928E4 80091CE4 240C0078 */ li $t4, 120
|
||||
/* 0928E8 80091CE8 A56A0030 */ sh $t2, 0x30($t3)
|
||||
/* 0928EC 80091CEC 8C4D0000 */ lw $t5, ($v0)
|
||||
/* 0928F0 80091CF0 240E0140 */ li $t6, 320
|
||||
/* 0928F4 80091CF4 241800F0 */ li $t8, 240
|
||||
/* 0928F8 80091CF8 A5AC0032 */ sh $t4, 0x32($t5)
|
||||
/* 0928FC 80091CFC 8C4F0000 */ lw $t7, ($v0)
|
||||
/* 092900 80091D00 24080001 */ li $t0, 1
|
||||
/* 092904 80091D04 3C01800F */ lui $at, %hi(D_800E86A4) # $at, 0x800f
|
||||
/* 092908 80091D08 A5EE002C */ sh $t6, 0x2c($t7)
|
||||
/* 09290C 80091D0C 8C590000 */ lw $t9, ($v0)
|
||||
/* 092910 80091D10 A738002E */ sh $t8, 0x2e($t9)
|
||||
/* 092914 80091D14 0C025318 */ jal func_80094C60
|
||||
/* 092918 80091D18 AC2886A4 */ sw $t0, %lo(D_800E86A4)($at)
|
||||
/* 09291C 80091D1C 00008025 */ move $s0, $zero
|
||||
.L80091D20:
|
||||
/* 092920 80091D20 0C0325F1 */ jal func_800C97C4
|
||||
/* 092924 80091D24 320400FF */ andi $a0, $s0, 0xff
|
||||
/* 092928 80091D28 26100001 */ addiu $s0, $s0, 1
|
||||
/* 09292C 80091D2C 2A010004 */ slti $at, $s0, 4
|
||||
/* 092930 80091D30 1420FFFB */ bnez $at, .L80091D20
|
||||
/* 092934 80091D34 00000000 */ nop
|
||||
/* 092938 80091D38 24100001 */ li $s0, 1
|
||||
.L80091D3C:
|
||||
/* 09293C 80091D3C 0C032743 */ jal func_800C9D0C
|
||||
/* 092940 80091D40 320400FF */ andi $a0, $s0, 0xff
|
||||
/* 092944 80091D44 26100001 */ addiu $s0, $s0, 1
|
||||
/* 092948 80091D48 1611FFFC */ bne $s0, $s1, .L80091D3C
|
||||
/* 09294C 80091D4C 00000000 */ nop
|
||||
/* 092950 80091D50 0C02D12F */ jal func_800B44BC
|
||||
/* 092954 80091D54 00000000 */ nop
|
||||
/* 092958 80091D58 0C03324C */ jal osViSetSpecialFeatures
|
||||
/* 09295C 80091D5C 24040040 */ li $a0, 64
|
||||
/* 092960 80091D60 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 092964 80091D64 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 092968 80091D68 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* 09296C 80091D6C 03E00008 */ jr $ra
|
||||
/* 092970 80091D70 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
|
|
@ -1,102 +0,0 @@
|
|||
glabel func_80091D74
|
||||
/* 092974 80091D74 27BDFF98 */ addiu $sp, $sp, -0x68
|
||||
/* 092978 80091D78 3C0E8015 */ lui $t6, %hi(gControllerBits) # $t6, 0x8015
|
||||
/* 09297C 80091D7C 91CEF108 */ lbu $t6, %lo(gControllerBits)($t6)
|
||||
/* 092980 80091D80 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* 092984 80091D84 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 092988 80091D88 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 09298C 80091D8C AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 092990 80091D90 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 092994 80091D94 15C00003 */ bnez $t6, .L80091DA4
|
||||
/* 092998 80091D98 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 09299C 80091D9C 10000049 */ b .L80091EC4
|
||||
/* 0929A0 80091DA0 00001025 */ move $v0, $zero
|
||||
.L80091DA4:
|
||||
/* 0929A4 80091DA4 3C028015 */ lui $v0, %hi(gControllerStatuses+0x2) # $v0, 0x8015
|
||||
/* 0929A8 80091DA8 9042F0E2 */ lbu $v0, %lo(gControllerStatuses+0x2)($v0)
|
||||
/* 0929AC 80091DAC 3C19800E */ lui $t9, %hi(gControllerOne) # $t9, 0x800e
|
||||
/* 0929B0 80091DB0 2C4F0001 */ sltiu $t7, $v0, 1
|
||||
/* 0929B4 80091DB4 31F80001 */ andi $t8, $t7, 1
|
||||
/* 0929B8 80091DB8 13000003 */ beqz $t8, .L80091DC8
|
||||
/* 0929BC 80091DBC 00000000 */ nop
|
||||
/* 0929C0 80091DC0 10000040 */ b .L80091EC4
|
||||
/* 0929C4 80091DC4 00001025 */ move $v0, $zero
|
||||
.L80091DC8:
|
||||
/* 0929C8 80091DC8 8F39C4BC */ lw $t9, %lo(gControllerOne)($t9)
|
||||
/* 0929CC 80091DCC 3C108015 */ lui $s0, %hi(gSIEventMesgQueue) # $s0, 0x8015
|
||||
/* 0929D0 80091DD0 2610F0B8 */ addiu $s0, %lo(gSIEventMesgQueue) # addiu $s0, $s0, -0xf48
|
||||
/* 0929D4 80091DD4 97280004 */ lhu $t0, 4($t9)
|
||||
/* 0929D8 80091DD8 02002025 */ move $a0, $s0
|
||||
/* 0929DC 80091DDC 31091000 */ andi $t1, $t0, 0x1000
|
||||
/* 0929E0 80091DE0 15200003 */ bnez $t1, .L80091DF0
|
||||
/* 0929E4 80091DE4 00000000 */ nop
|
||||
/* 0929E8 80091DE8 10000036 */ b .L80091EC4
|
||||
/* 0929EC 80091DEC 00001025 */ move $v0, $zero
|
||||
.L80091DF0:
|
||||
/* 0929F0 80091DF0 0C0338EC */ jal osPfsIsPlug
|
||||
/* 0929F4 80091DF4 27A50067 */ addiu $a1, $sp, 0x67
|
||||
/* 0929F8 80091DF8 93AA0067 */ lbu $t2, 0x67($sp)
|
||||
/* 0929FC 80091DFC 3C148019 */ lui $s4, %hi(D_8018E868) # $s4, 0x8019
|
||||
/* 092A00 80091E00 2694E868 */ addiu $s4, %lo(D_8018E868) # addiu $s4, $s4, -0x1798
|
||||
/* 092A04 80091E04 314B0001 */ andi $t3, $t2, 1
|
||||
/* 092A08 80091E08 11600008 */ beqz $t3, .L80091E2C
|
||||
/* 092A0C 80091E0C 02002025 */ move $a0, $s0
|
||||
/* 092A10 80091E10 02802825 */ move $a1, $s4
|
||||
/* 092A14 80091E14 0C0339C8 */ jal osPfsInit
|
||||
/* 092A18 80091E18 00003025 */ move $a2, $zero
|
||||
/* 092A1C 80091E1C 10400005 */ beqz $v0, .L80091E34
|
||||
/* 092A20 80091E20 02802025 */ move $a0, $s4
|
||||
/* 092A24 80091E24 10000027 */ b .L80091EC4
|
||||
/* 092A28 80091E28 00001025 */ move $v0, $zero
|
||||
.L80091E2C:
|
||||
/* 092A2C 80091E2C 10000025 */ b .L80091EC4
|
||||
/* 092A30 80091E30 00001025 */ move $v0, $zero
|
||||
.L80091E34:
|
||||
/* 092A34 80091E34 3C058019 */ lui $a1, %hi(D_8018EB78) # $a1, 0x8019
|
||||
/* 092A38 80091E38 3C068019 */ lui $a2, %hi(D_8018EB7C) # $a2, 0x8019
|
||||
/* 092A3C 80091E3C 24C6EB7C */ addiu $a2, %lo(D_8018EB7C) # addiu $a2, $a2, -0x1484
|
||||
/* 092A40 80091E40 0C033A38 */ jal osPfsNumFiles
|
||||
/* 092A44 80091E44 24A5EB78 */ addiu $a1, %lo(D_8018EB78) # addiu $a1, $a1, -0x1488
|
||||
/* 092A48 80091E48 10400003 */ beqz $v0, .L80091E58
|
||||
/* 092A4C 80091E4C 00008025 */ move $s0, $zero
|
||||
/* 092A50 80091E50 1000001C */ b .L80091EC4
|
||||
/* 092A54 80091E54 00001025 */ move $v0, $zero
|
||||
.L80091E58:
|
||||
/* 092A58 80091E58 3C118019 */ lui $s1, %hi(D_8018EB38) # $s1, 0x8019
|
||||
/* 092A5C 80091E5C 3C128019 */ lui $s2, %hi(D_8018E938) # $s2, 0x8019
|
||||
/* 092A60 80091E60 2652E938 */ addiu $s2, %lo(D_8018E938) # addiu $s2, $s2, -0x16c8
|
||||
/* 092A64 80091E64 2631EB38 */ addiu $s1, %lo(D_8018EB38) # addiu $s1, $s1, -0x14c8
|
||||
/* 092A68 80091E68 24130010 */ li $s3, 16
|
||||
.L80091E6C:
|
||||
/* 092A6C 80091E6C 00106140 */ sll $t4, $s0, 5
|
||||
/* 092A70 80091E70 024C3021 */ addu $a2, $s2, $t4
|
||||
/* 092A74 80091E74 02802025 */ move $a0, $s4
|
||||
/* 092A78 80091E78 0C033A8C */ jal osPfsFileState
|
||||
/* 092A7C 80091E7C 02002825 */ move $a1, $s0
|
||||
/* 092A80 80091E80 26100001 */ addiu $s0, $s0, 1
|
||||
/* 092A84 80091E84 26310004 */ addiu $s1, $s1, 4
|
||||
/* 092A88 80091E88 1613FFF8 */ bne $s0, $s3, .L80091E6C
|
||||
/* 092A8C 80091E8C AE22FFFC */ sw $v0, -4($s1)
|
||||
/* 092A90 80091E90 3C108019 */ lui $s0, %hi(gControllerPakNumPagesFree) # $s0, 0x8019
|
||||
/* 092A94 80091E94 2610EB80 */ addiu $s0, %lo(gControllerPakNumPagesFree) # addiu $s0, $s0, -0x1480
|
||||
/* 092A98 80091E98 02002825 */ move $a1, $s0
|
||||
/* 092A9C 80091E9C 0C033B48 */ jal osPfsFreeBlocks
|
||||
/* 092AA0 80091EA0 02802025 */ move $a0, $s4
|
||||
/* 092AA4 80091EA4 50400004 */ beql $v0, $zero, .L80091EB8
|
||||
/* 092AA8 80091EA8 8E0D0000 */ lw $t5, ($s0)
|
||||
/* 092AAC 80091EAC 10000005 */ b .L80091EC4
|
||||
/* 092AB0 80091EB0 00001025 */ move $v0, $zero
|
||||
/* 092AB4 80091EB4 8E0D0000 */ lw $t5, ($s0)
|
||||
.L80091EB8:
|
||||
/* 092AB8 80091EB8 24020001 */ li $v0, 1
|
||||
/* 092ABC 80091EBC 000D7203 */ sra $t6, $t5, 8
|
||||
/* 092AC0 80091EC0 AE0E0000 */ sw $t6, ($s0)
|
||||
.L80091EC4:
|
||||
/* 092AC4 80091EC4 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* 092AC8 80091EC8 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 092ACC 80091ECC 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 092AD0 80091ED0 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 092AD4 80091ED4 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 092AD8 80091ED8 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 092ADC 80091EDC 03E00008 */ jr $ra
|
||||
/* 092AE0 80091EE0 27BD0068 */ addiu $sp, $sp, 0x68
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
glabel func_80092148
|
||||
/* 092D48 80092148 3C02800E */ lui $v0, %hi(gControllerFive) # $v0, 0x800e
|
||||
/* 092D4C 8009214C 8C42C4CC */ lw $v0, %lo(gControllerFive)($v0)
|
||||
/* 092D50 80092150 00001825 */ move $v1, $zero
|
||||
/* 092D54 80092154 24180001 */ li $t8, 1
|
||||
/* 092D58 80092158 944E0004 */ lhu $t6, 4($v0)
|
||||
/* 092D5C 8009215C 3C018019 */ lui $at, %hi(D_8018D9D9) # $at, 0x8019
|
||||
/* 092D60 80092160 3C198019 */ lui $t9, %hi(D_8018D9D9) # $t9, 0x8019
|
||||
/* 092D64 80092164 11C00003 */ beqz $t6, .L80092174
|
||||
/* 092D68 80092168 00000000 */ nop
|
||||
/* 092D6C 8009216C 10000001 */ b .L80092174
|
||||
/* 092D70 80092170 24030001 */ li $v1, 1
|
||||
.L80092174:
|
||||
/* 092D74 80092174 944F0006 */ lhu $t7, 6($v0)
|
||||
/* 092D78 80092178 11E00002 */ beqz $t7, .L80092184
|
||||
/* 092D7C 8009217C 00000000 */ nop
|
||||
/* 092D80 80092180 A038D9D9 */ sb $t8, %lo(D_8018D9D9)($at)
|
||||
.L80092184:
|
||||
/* 092D84 80092184 10600008 */ beqz $v1, .L800921A8
|
||||
/* 092D88 80092188 3C018019 */ lui $at, %hi(D_8018D9D8)
|
||||
/* 092D8C 8009218C 8339D9D9 */ lb $t9, %lo(D_8018D9D9)($t9)
|
||||
/* 092D90 80092190 24080001 */ li $t0, 1
|
||||
/* 092D94 80092194 13200004 */ beqz $t9, .L800921A8
|
||||
/* 092D98 80092198 00000000 */ nop
|
||||
/* 092D9C 8009219C 3C018019 */ lui $at, %hi(D_8018D9D8)
|
||||
/* 092DA0 800921A0 03E00008 */ jr $ra
|
||||
/* 092DA4 800921A4 A028D9D8 */ sb $t0, %lo(D_8018D9D8)($at)
|
||||
.L800921A8:
|
||||
/* 092DA8 800921A8 A020D9D8 */ sb $zero, %lo(D_8018D9D8)($at)
|
||||
/* 092DAC 800921AC 03E00008 */ jr $ra
|
||||
/* 092DB0 800921B0 00000000 */ nop
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
glabel func_80092258
|
||||
/* 092E58 80092258 3C038019 */ lui $v1, %hi(D_8018E850) # $v1, 0x8019
|
||||
/* 092E5C 8009225C 3C048019 */ lui $a0, %hi(D_8018E858) # $a0, 0x8019
|
||||
/* 092E60 80092260 2484E858 */ addiu $a0, %lo(D_8018E858) # addiu $a0, $a0, -0x17a8
|
||||
/* 092E64 80092264 2463E850 */ addiu $v1, %lo(D_8018E850) # addiu $v1, $v1, -0x17b0
|
||||
/* 092E68 80092268 00001025 */ move $v0, $zero
|
||||
/* 092E6C 8009226C 24050002 */ li $a1, 2
|
||||
.L80092270:
|
||||
/* 092E70 80092270 AC620000 */ sw $v0, ($v1)
|
||||
/* 092E74 80092274 24420001 */ addiu $v0, $v0, 1
|
||||
/* 092E78 80092278 24630004 */ addiu $v1, $v1, 4
|
||||
/* 092E7C 8009227C 24840004 */ addiu $a0, $a0, 4
|
||||
/* 092E80 80092280 1445FFFB */ bne $v0, $a1, .L80092270
|
||||
/* 092E84 80092284 AC80FFFC */ sw $zero, -4($a0)
|
||||
/* 092E88 80092288 03E00008 */ jr $ra
|
||||
/* 092E8C 8009228C 00000000 */ nop
|
||||
|
|
@ -1,147 +0,0 @@
|
|||
glabel func_802B5794
|
||||
/* 11EDA4 802B5794 27BDFFA8 */ addiu $sp, $sp, -0x58
|
||||
/* 11EDA8 802B5798 F7BC0028 */ sdc1 $f28, 0x28($sp)
|
||||
/* 11EDAC 802B579C F7BA0020 */ sdc1 $f26, 0x20($sp)
|
||||
/* 11EDB0 802B57A0 F7B80018 */ sdc1 $f24, 0x18($sp)
|
||||
/* 11EDB4 802B57A4 F7B60010 */ sdc1 $f22, 0x10($sp)
|
||||
/* 11EDB8 802B57A8 F7B40008 */ sdc1 $f20, 8($sp)
|
||||
/* 11EDBC 802B57AC C4A60000 */ lwc1 $f6, ($a1)
|
||||
/* 11EDC0 802B57B0 C4C40000 */ lwc1 $f4, ($a2)
|
||||
/* 11EDC4 802B57B4 C4AA0004 */ lwc1 $f10, 4($a1)
|
||||
/* 11EDC8 802B57B8 C4C80004 */ lwc1 $f8, 4($a2)
|
||||
/* 11EDCC 802B57BC 46062301 */ sub.s $f12, $f4, $f6
|
||||
/* 11EDD0 802B57C0 C4A60008 */ lwc1 $f6, 8($a1)
|
||||
/* 11EDD4 802B57C4 C4C40008 */ lwc1 $f4, 8($a2)
|
||||
/* 11EDD8 802B57C8 460A4381 */ sub.s $f14, $f8, $f10
|
||||
/* 11EDDC 802B57CC 460C6202 */ mul.s $f8, $f12, $f12
|
||||
/* 11EDE0 802B57D0 3C01BFF0 */ li $at, 0xBFF00000 # -1.875000
|
||||
/* 11EDE4 802B57D4 46062081 */ sub.s $f2, $f4, $f6
|
||||
/* 11EDE8 802B57D8 460E7282 */ mul.s $f10, $f14, $f14
|
||||
/* 11EDEC 802B57DC 44814800 */ mtc1 $at, $f9
|
||||
/* 11EDF0 802B57E0 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 11EDF4 802B57E4 46021182 */ mul.s $f6, $f2, $f2
|
||||
/* 11EDF8 802B57E8 4480D000 */ mtc1 $zero, $f26
|
||||
/* 11EDFC 802B57EC 00000000 */ nop
|
||||
/* 11EE00 802B57F0 4600D606 */ mov.s $f24, $f26
|
||||
/* 11EE04 802B57F4 460A4100 */ add.s $f4, $f8, $f10
|
||||
/* 11EE08 802B57F8 44804000 */ mtc1 $zero, $f8
|
||||
/* 11EE0C 802B57FC 46062000 */ add.s $f0, $f4, $f6
|
||||
/* 11EE10 802B5800 44813000 */ mtc1 $at, $f6
|
||||
/* 11EE14 802B5804 3C013FF0 */ li $at, 0x3FF00000 # 1.875000
|
||||
/* 11EE18 802B5808 46000004 */ sqrt.s $f0, $f0
|
||||
/* 11EE1C 802B580C 460002A1 */ cvt.d.s $f10, $f0
|
||||
/* 11EE20 802B5810 462A4103 */ div.d $f4, $f8, $f10
|
||||
/* 11EE24 802B5814 46202420 */ cvt.s.d $f16, $f4
|
||||
/* 11EE28 802B5818 46106302 */ mul.s $f12, $f12, $f16
|
||||
/* 11EE2C 802B581C 00000000 */ nop
|
||||
/* 11EE30 802B5820 46107382 */ mul.s $f14, $f14, $f16
|
||||
/* 11EE34 802B5824 00000000 */ nop
|
||||
/* 11EE38 802B5828 46101082 */ mul.s $f2, $f2, $f16
|
||||
/* 11EE3C 802B582C 00000000 */ nop
|
||||
/* 11EE40 802B5830 460C3202 */ mul.s $f8, $f6, $f12
|
||||
/* 11EE44 802B5834 44814800 */ mtc1 $at, $f9
|
||||
/* 11EE48 802B5838 46021282 */ mul.s $f10, $f2, $f2
|
||||
/* 11EE4C 802B583C 4608D401 */ sub.s $f16, $f26, $f8
|
||||
/* 11EE50 802B5840 44804000 */ mtc1 $zero, $f8
|
||||
/* 11EE54 802B5844 461A5100 */ add.s $f4, $f10, $f26
|
||||
/* 11EE58 802B5848 46108182 */ mul.s $f6, $f16, $f16
|
||||
/* 11EE5C 802B584C 46062000 */ add.s $f0, $f4, $f6
|
||||
/* 11EE60 802B5850 46000004 */ sqrt.s $f0, $f0
|
||||
/* 11EE64 802B5854 460002A1 */ cvt.d.s $f10, $f0
|
||||
/* 11EE68 802B5858 462A4103 */ div.d $f4, $f8, $f10
|
||||
/* 11EE6C 802B585C 462025A0 */ cvt.s.d $f22, $f4
|
||||
/* 11EE70 802B5860 46161702 */ mul.s $f28, $f2, $f22
|
||||
/* 11EE74 802B5864 00000000 */ nop
|
||||
/* 11EE78 802B5868 46168482 */ mul.s $f18, $f16, $f22
|
||||
/* 11EE7C 802B586C 00000000 */ nop
|
||||
/* 11EE80 802B5870 46127182 */ mul.s $f6, $f14, $f18
|
||||
/* 11EE84 802B5874 E7B20030 */ swc1 $f18, 0x30($sp)
|
||||
/* 11EE88 802B5878 C7A40030 */ lwc1 $f4, 0x30($sp)
|
||||
/* 11EE8C 802B587C 461A1202 */ mul.s $f8, $f2, $f26
|
||||
/* 11EE90 802B5880 46083501 */ sub.s $f20, $f6, $f8
|
||||
/* 11EE94 802B5884 461C1282 */ mul.s $f10, $f2, $f28
|
||||
/* 11EE98 802B5888 00000000 */ nop
|
||||
/* 11EE9C 802B588C 46046182 */ mul.s $f6, $f12, $f4
|
||||
/* 11EEA0 802B5890 00000000 */ nop
|
||||
/* 11EEA4 802B5894 461A6202 */ mul.s $f8, $f12, $f26
|
||||
/* 11EEA8 802B5898 00000000 */ nop
|
||||
/* 11EEAC 802B589C 461C7102 */ mul.s $f4, $f14, $f28
|
||||
/* 11EEB0 802B58A0 46065401 */ sub.s $f16, $f10, $f6
|
||||
/* 11EEB4 802B58A4 4614A282 */ mul.s $f10, $f20, $f20
|
||||
/* 11EEB8 802B58A8 44815800 */ mtc1 $at, $f11
|
||||
/* 11EEBC 802B58AC 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 11EEC0 802B58B0 46108182 */ mul.s $f6, $f16, $f16
|
||||
/* 11EEC4 802B58B4 46044481 */ sub.s $f18, $f8, $f4
|
||||
/* 11EEC8 802B58B8 46129102 */ mul.s $f4, $f18, $f18
|
||||
/* 11EECC 802B58BC 46065200 */ add.s $f8, $f10, $f6
|
||||
/* 11EED0 802B58C0 44805000 */ mtc1 $zero, $f10
|
||||
/* 11EED4 802B58C4 46044000 */ add.s $f0, $f8, $f4
|
||||
/* 11EED8 802B58C8 46000004 */ sqrt.s $f0, $f0
|
||||
/* 11EEDC 802B58CC 460001A1 */ cvt.d.s $f6, $f0
|
||||
/* 11EEE0 802B58D0 46265203 */ div.d $f8, $f10, $f6
|
||||
/* 11EEE4 802B58D4 462045A0 */ cvt.s.d $f22, $f8
|
||||
/* 11EEE8 802B58D8 4616A502 */ mul.s $f20, $f20, $f22
|
||||
/* 11EEEC 802B58DC 00000000 */ nop
|
||||
/* 11EEF0 802B58E0 46168102 */ mul.s $f4, $f16, $f22
|
||||
/* 11EEF4 802B58E4 00000000 */ nop
|
||||
/* 11EEF8 802B58E8 46169282 */ mul.s $f10, $f18, $f22
|
||||
/* 11EEFC 802B58EC E7A4004C */ swc1 $f4, 0x4c($sp)
|
||||
/* 11EF00 802B58F0 E7AA0048 */ swc1 $f10, 0x48($sp)
|
||||
/* 11EF04 802B58F4 E49C0000 */ swc1 $f28, ($a0)
|
||||
/* 11EF08 802B58F8 E4980010 */ swc1 $f24, 0x10($a0)
|
||||
/* 11EF0C 802B58FC C7A60030 */ lwc1 $f6, 0x30($sp)
|
||||
/* 11EF10 802B5900 E4860020 */ swc1 $f6, 0x20($a0)
|
||||
/* 11EF14 802B5904 C4A80008 */ lwc1 $f8, 8($a1)
|
||||
/* 11EF18 802B5908 C7A40030 */ lwc1 $f4, 0x30($sp)
|
||||
/* 11EF1C 802B590C C4A60000 */ lwc1 $f6, ($a1)
|
||||
/* 11EF20 802B5910 46044282 */ mul.s $f10, $f8, $f4
|
||||
/* 11EF24 802B5914 C4A40004 */ lwc1 $f4, 4($a1)
|
||||
/* 11EF28 802B5918 461C3202 */ mul.s $f8, $f6, $f28
|
||||
/* 11EF2C 802B591C 00000000 */ nop
|
||||
/* 11EF30 802B5920 461A2182 */ mul.s $f6, $f4, $f26
|
||||
/* 11EF34 802B5924 46064100 */ add.s $f4, $f8, $f6
|
||||
/* 11EF38 802B5928 46045200 */ add.s $f8, $f10, $f4
|
||||
/* 11EF3C 802B592C 46004187 */ neg.s $f6, $f8
|
||||
/* 11EF40 802B5930 E4860030 */ swc1 $f6, 0x30($a0)
|
||||
/* 11EF44 802B5934 C7B00048 */ lwc1 $f16, 0x48($sp)
|
||||
/* 11EF48 802B5938 C7A0004C */ lwc1 $f0, 0x4c($sp)
|
||||
/* 11EF4C 802B593C E4940004 */ swc1 $f20, 4($a0)
|
||||
/* 11EF50 802B5940 E4900024 */ swc1 $f16, 0x24($a0)
|
||||
/* 11EF54 802B5944 E4800014 */ swc1 $f0, 0x14($a0)
|
||||
/* 11EF58 802B5948 C4AA0000 */ lwc1 $f10, ($a1)
|
||||
/* 11EF5C 802B594C C4A80004 */ lwc1 $f8, 4($a1)
|
||||
/* 11EF60 802B5950 46145102 */ mul.s $f4, $f10, $f20
|
||||
/* 11EF64 802B5954 00000000 */ nop
|
||||
/* 11EF68 802B5958 46004182 */ mul.s $f6, $f8, $f0
|
||||
/* 11EF6C 802B595C C4A80008 */ lwc1 $f8, 8($a1)
|
||||
/* 11EF70 802B5960 E48C0008 */ swc1 $f12, 8($a0)
|
||||
/* 11EF74 802B5964 E48E0018 */ swc1 $f14, 0x18($a0)
|
||||
/* 11EF78 802B5968 E4820028 */ swc1 $f2, 0x28($a0)
|
||||
/* 11EF7C 802B596C 46062280 */ add.s $f10, $f4, $f6
|
||||
/* 11EF80 802B5970 46104102 */ mul.s $f4, $f8, $f16
|
||||
/* 11EF84 802B5974 460A2180 */ add.s $f6, $f4, $f10
|
||||
/* 11EF88 802B5978 46003207 */ neg.s $f8, $f6
|
||||
/* 11EF8C 802B597C E4880034 */ swc1 $f8, 0x34($a0)
|
||||
/* 11EF90 802B5980 C4A40000 */ lwc1 $f4, ($a1)
|
||||
/* 11EF94 802B5984 C4A60004 */ lwc1 $f6, 4($a1)
|
||||
/* 11EF98 802B5988 460C2282 */ mul.s $f10, $f4, $f12
|
||||
/* 11EF9C 802B598C 00000000 */ nop
|
||||
/* 11EFA0 802B5990 460E3202 */ mul.s $f8, $f6, $f14
|
||||
/* 11EFA4 802B5994 C4A60008 */ lwc1 $f6, 8($a1)
|
||||
/* 11EFA8 802B5998 E49A000C */ swc1 $f26, 0xc($a0)
|
||||
/* 11EFAC 802B599C E49A001C */ swc1 $f26, 0x1c($a0)
|
||||
/* 11EFB0 802B59A0 E49A002C */ swc1 $f26, 0x2c($a0)
|
||||
/* 11EFB4 802B59A4 46085100 */ add.s $f4, $f10, $f8
|
||||
/* 11EFB8 802B59A8 46023282 */ mul.s $f10, $f6, $f2
|
||||
/* 11EFBC 802B59AC 46045200 */ add.s $f8, $f10, $f4
|
||||
/* 11EFC0 802B59B0 44815000 */ mtc1 $at, $f10
|
||||
/* 11EFC4 802B59B4 46004187 */ neg.s $f6, $f8
|
||||
/* 11EFC8 802B59B8 E48A003C */ swc1 $f10, 0x3c($a0)
|
||||
/* 11EFCC 802B59BC E4860038 */ swc1 $f6, 0x38($a0)
|
||||
/* 11EFD0 802B59C0 D7BC0028 */ ldc1 $f28, 0x28($sp)
|
||||
/* 11EFD4 802B59C4 D7BA0020 */ ldc1 $f26, 0x20($sp)
|
||||
/* 11EFD8 802B59C8 D7B80018 */ ldc1 $f24, 0x18($sp)
|
||||
/* 11EFDC 802B59CC D7B60010 */ ldc1 $f22, 0x10($sp)
|
||||
/* 11EFE0 802B59D0 D7B40008 */ ldc1 $f20, 8($sp)
|
||||
/* 11EFE4 802B59D4 03E00008 */ jr $ra
|
||||
/* 11EFE8 802B59D8 27BD0058 */ addiu $sp, $sp, 0x58
|
||||
|
|
@ -1,204 +0,0 @@
|
|||
.section .late_rodata
|
||||
|
||||
glabel D_802B9BB0
|
||||
.float 30000.0
|
||||
|
||||
.section .text
|
||||
|
||||
glabel func_802A4A0C
|
||||
/* 10E01C 802A4A0C 27BDFEC0 */ addiu $sp, $sp, -0x140
|
||||
/* 10E020 802A4A10 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* 10E024 802A4A14 AFB00028 */ sw $s0, 0x28($sp)
|
||||
/* 10E028 802A4A18 AFA50144 */ sw $a1, 0x144($sp)
|
||||
/* 10E02C 802A4A1C AFA60148 */ sw $a2, 0x148($sp)
|
||||
/* 10E030 802A4A20 AFA7014C */ sw $a3, 0x14c($sp)
|
||||
/* 10E034 802A4A24 8CAF0004 */ lw $t7, 4($a1)
|
||||
/* 10E038 802A4A28 00808025 */ move $s0, $a0
|
||||
/* 10E03C 802A4A2C 0C0A9143 */ jal func_802A450C
|
||||
/* 10E040 802A4A30 AFAF013C */ sw $t7, 0x13c($sp)
|
||||
/* 10E044 802A4A34 3C01802C */ lui $at, %hi(D_802B9BB0) # $at, 0x802c
|
||||
/* 10E048 802A4A38 C4249BB0 */ lwc1 $f4, %lo(D_802B9BB0)($at)
|
||||
/* 10E04C 802A4A3C 44800000 */ mtc1 $zero, $f0
|
||||
/* 10E050 802A4A40 3C018015 */ lui $at, %hi(D_80150150) # $at, 0x8015
|
||||
/* 10E054 802A4A44 C4260150 */ lwc1 $f6, %lo(D_80150150)($at)
|
||||
/* 10E058 802A4A48 8FB8013C */ lw $t8, 0x13c($sp)
|
||||
/* 10E05C 802A4A4C 3C018015 */ lui $at, %hi(D_8015014C) # $at, 0x8015
|
||||
/* 10E060 802A4A50 C428014C */ lwc1 $f8, %lo(D_8015014C)($at)
|
||||
/* 10E064 802A4A54 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 10E068 802A4A58 E7A40064 */ swc1 $f4, 0x64($sp)
|
||||
/* 10E06C 802A4A5C E7A0005C */ swc1 $f0, 0x5c($sp)
|
||||
/* 10E070 802A4A60 E7A00060 */ swc1 $f0, 0x60($sp)
|
||||
/* 10E074 802A4A64 44815000 */ mtc1 $at, $f10
|
||||
/* 10E078 802A4A68 8F0600B4 */ lw $a2, 0xb4($t8)
|
||||
/* 10E07C 802A4A6C 3C078015 */ lui $a3, %hi(D_80150148) # $a3, 0x8015
|
||||
/* 10E080 802A4A70 8CE70148 */ lw $a3, %lo(D_80150148)($a3)
|
||||
/* 10E084 802A4A74 27A400E8 */ addiu $a0, $sp, 0xe8
|
||||
/* 10E088 802A4A78 27A50128 */ addiu $a1, $sp, 0x128
|
||||
/* 10E08C 802A4A7C E7A60010 */ swc1 $f6, 0x10($sp)
|
||||
/* 10E090 802A4A80 E7A80014 */ swc1 $f8, 0x14($sp)
|
||||
/* 10E094 802A4A84 0C0AD559 */ jal func_802B5564
|
||||
/* 10E098 802A4A88 E7AA0018 */ swc1 $f10, 0x18($sp)
|
||||
/* 10E09C 802A4A8C 8FA5013C */ lw $a1, 0x13c($sp)
|
||||
/* 10E0A0 802A4A90 27A400A8 */ addiu $a0, $sp, 0xa8
|
||||
/* 10E0A4 802A4A94 0C0AD5E5 */ jal func_802B5794
|
||||
/* 10E0A8 802A4A98 24A6000C */ addiu $a2, $a1, 0xc
|
||||
/* 10E0AC 802A4A9C 27A40068 */ addiu $a0, $sp, 0x68
|
||||
/* 10E0B0 802A4AA0 27A500E8 */ addiu $a1, $sp, 0xe8
|
||||
/* 10E0B4 802A4AA4 0C0ADC73 */ jal func_802B71CC
|
||||
/* 10E0B8 802A4AA8 27A600A8 */ addiu $a2, $sp, 0xa8
|
||||
/* 10E0BC 802A4AAC C7B00074 */ lwc1 $f16, 0x74($sp)
|
||||
/* 10E0C0 802A4AB0 C7B2005C */ lwc1 $f18, 0x5c($sp)
|
||||
/* 10E0C4 802A4AB4 C7A60084 */ lwc1 $f6, 0x84($sp)
|
||||
/* 10E0C8 802A4AB8 C7A80060 */ lwc1 $f8, 0x60($sp)
|
||||
/* 10E0CC 802A4ABC 46128102 */ mul.s $f4, $f16, $f18
|
||||
/* 10E0D0 802A4AC0 C7B20094 */ lwc1 $f18, 0x94($sp)
|
||||
/* 10E0D4 802A4AC4 27A4005C */ addiu $a0, $sp, 0x5c
|
||||
/* 10E0D8 802A4AC8 46083282 */ mul.s $f10, $f6, $f8
|
||||
/* 10E0DC 802A4ACC C7A60064 */ lwc1 $f6, 0x64($sp)
|
||||
/* 10E0E0 802A4AD0 27A50068 */ addiu $a1, $sp, 0x68
|
||||
/* 10E0E4 802A4AD4 46069202 */ mul.s $f8, $f18, $f6
|
||||
/* 10E0E8 802A4AD8 460A2400 */ add.s $f16, $f4, $f10
|
||||
/* 10E0EC 802A4ADC C7AA00A4 */ lwc1 $f10, 0xa4($sp)
|
||||
/* 10E0F0 802A4AE0 46088100 */ add.s $f4, $f16, $f8
|
||||
/* 10E0F4 802A4AE4 46045480 */ add.s $f18, $f10, $f4
|
||||
/* 10E0F8 802A4AE8 0C0AD90D */ jal func_802B6434
|
||||
/* 10E0FC 802A4AEC E7B20058 */ swc1 $f18, 0x58($sp)
|
||||
/* 10E100 802A4AF0 C7B00058 */ lwc1 $f16, 0x58($sp)
|
||||
/* 10E104 802A4AF4 3C013FF0 */ li $at, 0x3FF00000 # 1.875000
|
||||
/* 10E108 802A4AF8 44813800 */ mtc1 $at, $f7
|
||||
/* 10E10C 802A4AFC 44803000 */ mtc1 $zero, $f6
|
||||
/* 10E110 802A4B00 46008221 */ cvt.d.s $f8, $f16
|
||||
/* 10E114 802A4B04 C7A4005C */ lwc1 $f4, 0x5c($sp)
|
||||
/* 10E118 802A4B08 46283283 */ div.d $f10, $f6, $f8
|
||||
/* 10E11C 802A4B0C C7B00060 */ lwc1 $f16, 0x60($sp)
|
||||
/* 10E120 802A4B10 3C014320 */ li $at, 0x43200000 # 160.000000
|
||||
/* 10E124 802A4B14 44814000 */ mtc1 $at, $f8
|
||||
/* 10E128 802A4B18 3C0142F0 */ li $at, 0x42F00000 # 120.000000
|
||||
/* 10E12C 802A4B1C 8FAE0144 */ lw $t6, 0x144($sp)
|
||||
/* 10E130 802A4B20 24180078 */ li $t8, 120
|
||||
/* 10E134 802A4B24 46205020 */ cvt.s.d $f0, $f10
|
||||
/* 10E138 802A4B28 46002482 */ mul.s $f18, $f4, $f0
|
||||
/* 10E13C 802A4B2C 44812000 */ mtc1 $at, $f4
|
||||
/* 10E140 802A4B30 46008182 */ mul.s $f6, $f16, $f0
|
||||
/* 10E144 802A4B34 00000000 */ nop
|
||||
/* 10E148 802A4B38 46089282 */ mul.s $f10, $f18, $f8
|
||||
/* 10E14C 802A4B3C E7B2005C */ swc1 $f18, 0x5c($sp)
|
||||
/* 10E150 802A4B40 46043402 */ mul.s $f16, $f6, $f4
|
||||
/* 10E154 802A4B44 E7A60060 */ swc1 $f6, 0x60($sp)
|
||||
/* 10E158 802A4B48 E7AA005C */ swc1 $f10, 0x5c($sp)
|
||||
/* 10E15C 802A4B4C 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 10E160 802A4B50 E7B00060 */ swc1 $f16, 0x60($sp)
|
||||
/* 10E164 802A4B54 440F9000 */ mfc1 $t7, $f18
|
||||
/* 10E168 802A4B58 00000000 */ nop
|
||||
/* 10E16C 802A4B5C 030F6823 */ subu $t5, $t8, $t7
|
||||
/* 10E170 802A4B60 A5CD0028 */ sh $t5, 0x28($t6)
|
||||
/* 10E174 802A4B64 A60D0012 */ sh $t5, 0x12($s0)
|
||||
/* 10E178 802A4B68 A60D0022 */ sh $t5, 0x22($s0)
|
||||
/* 10E17C 802A4B6C A60D0042 */ sh $t5, 0x42($s0)
|
||||
/* 10E180 802A4B70 0C0A8F8F */ jal init_rdp
|
||||
/* 10E184 802A4B74 A60D0072 */ sh $t5, 0x72($s0)
|
||||
/* 10E188 802A4B78 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
|
||||
/* 10E18C 802A4B7C 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
|
||||
/* 10E190 802A4B80 8C620000 */ lw $v0, ($v1)
|
||||
/* 10E194 802A4B84 3C0FB900 */ lui $t7, (0xB900031D >> 16) # lui $t7, 0xb900
|
||||
/* 10E198 802A4B88 3C190F0A */ lui $t9, (0x0F0A4000 >> 16) # lui $t9, 0xf0a
|
||||
/* 10E19C 802A4B8C 24580008 */ addiu $t8, $v0, 8
|
||||
/* 10E1A0 802A4B90 AC780000 */ sw $t8, ($v1)
|
||||
/* 10E1A4 802A4B94 37394000 */ ori $t9, (0x0F0A4000 & 0xFFFF) # ori $t9, $t9, 0x4000
|
||||
/* 10E1A8 802A4B98 35EF031D */ ori $t7, (0xB900031D & 0xFFFF) # ori $t7, $t7, 0x31d
|
||||
/* 10E1AC 802A4B9C AC4F0000 */ sw $t7, ($v0)
|
||||
/* 10E1B0 802A4BA0 AC590004 */ sw $t9, 4($v0)
|
||||
/* 10E1B4 802A4BA4 8C620000 */ lw $v0, ($v1)
|
||||
/* 10E1B8 802A4BA8 3C014370 */ li $at, 0x43700000 # 240.000000
|
||||
/* 10E1BC 802A4BAC 44814000 */ mtc1 $at, $f8
|
||||
/* 10E1C0 802A4BB0 244D0008 */ addiu $t5, $v0, 8
|
||||
/* 10E1C4 802A4BB4 AC6D0000 */ sw $t5, ($v1)
|
||||
/* 10E1C8 802A4BB8 3C180002 */ lui $t8, (0x00020001 >> 16) # lui $t8, 2
|
||||
/* 10E1CC 802A4BBC 44800000 */ mtc1 $zero, $f0
|
||||
/* 10E1D0 802A4BC0 37180001 */ ori $t8, (0x00020001 & 0xFFFF) # ori $t8, $t8, 1
|
||||
/* 10E1D4 802A4BC4 3C0EB600 */ lui $t6, 0xb600
|
||||
/* 10E1D8 802A4BC8 3C0140A0 */ li $at, 0x40A00000 # 5.000000
|
||||
/* 10E1DC 802A4BCC 44815000 */ mtc1 $at, $f10
|
||||
/* 10E1E0 802A4BD0 AC4E0000 */ sw $t6, ($v0)
|
||||
/* 10E1E4 802A4BD4 AC580004 */ sw $t8, 4($v0)
|
||||
/* 10E1E8 802A4BD8 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 10E1EC 802A4BDC 44813000 */ mtc1 $at, $f6
|
||||
/* 10E1F0 802A4BE0 3C048015 */ lui $a0, %hi(gGfxPool) # $a0, 0x8015
|
||||
/* 10E1F4 802A4BE4 44050000 */ mfc1 $a1, $f0
|
||||
/* 10E1F8 802A4BE8 44070000 */ mfc1 $a3, $f0
|
||||
/* 10E1FC 802A4BEC 8C84EF40 */ lw $a0, %lo(gGfxPool)($a0)
|
||||
/* 10E200 802A4BF0 3C0643A0 */ lui $a2, 0x43a0
|
||||
/* 10E204 802A4BF4 E7A80010 */ swc1 $f8, 0x10($sp)
|
||||
/* 10E208 802A4BF8 E7A00014 */ swc1 $f0, 0x14($sp)
|
||||
/* 10E20C 802A4BFC E7AA0018 */ swc1 $f10, 0x18($sp)
|
||||
/* 10E210 802A4C00 0C0338A9 */ jal guOrtho
|
||||
/* 10E214 802A4C04 E7A6001C */ swc1 $f6, 0x1c($sp)
|
||||
/* 10E218 802A4C08 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
|
||||
/* 10E21C 802A4C0C 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
|
||||
/* 10E220 802A4C10 8C620000 */ lw $v0, ($v1)
|
||||
/* 10E224 802A4C14 3C19B400 */ lui $t9, 0xb400
|
||||
/* 10E228 802A4C18 340DFFFF */ li $t5, 65535
|
||||
/* 10E22C 802A4C1C 244F0008 */ addiu $t7, $v0, 8
|
||||
/* 10E230 802A4C20 AC6F0000 */ sw $t7, ($v1)
|
||||
/* 10E234 802A4C24 AC4D0004 */ sw $t5, 4($v0)
|
||||
/* 10E238 802A4C28 AC590000 */ sw $t9, ($v0)
|
||||
/* 10E23C 802A4C2C 8C620000 */ lw $v0, ($v1)
|
||||
/* 10E240 802A4C30 3C180103 */ lui $t8, (0x01030040 >> 16) # lui $t8, 0x103
|
||||
/* 10E244 802A4C34 37180040 */ ori $t8, (0x01030040 & 0xFFFF) # ori $t8, $t8, 0x40
|
||||
/* 10E248 802A4C38 244E0008 */ addiu $t6, $v0, 8
|
||||
/* 10E24C 802A4C3C AC6E0000 */ sw $t6, ($v1)
|
||||
/* 10E250 802A4C40 3C0F8015 */ lui $t7, %hi(gGfxPool) # $t7, 0x8015
|
||||
/* 10E254 802A4C44 AC580000 */ sw $t8, ($v0)
|
||||
/* 10E258 802A4C48 8DEFEF40 */ lw $t7, %lo(gGfxPool)($t7)
|
||||
/* 10E25C 802A4C4C 3C091FFF */ lui $t1, (0x1FFFFFFF >> 16) # lui $t1, 0x1fff
|
||||
/* 10E260 802A4C50 3529FFFF */ ori $t1, (0x1FFFFFFF & 0xFFFF) # ori $t1, $t1, 0xffff
|
||||
/* 10E264 802A4C54 01E9C824 */ and $t9, $t7, $t1
|
||||
/* 10E268 802A4C58 AC590004 */ sw $t9, 4($v0)
|
||||
/* 10E26C 802A4C5C 8C620000 */ lw $v0, ($v1)
|
||||
/* 10E270 802A4C60 3C180D01 */ lui $t8, %hi(D_0D008E98) # $t8, 0xd01
|
||||
/* 10E274 802A4C64 27188E98 */ addiu $t8, %lo(D_0D008E98) # addiu $t8, $t8, -0x7168
|
||||
/* 10E278 802A4C68 244D0008 */ addiu $t5, $v0, 8
|
||||
/* 10E27C 802A4C6C AC6D0000 */ sw $t5, ($v1)
|
||||
/* 10E280 802A4C70 3C0E0102 */ lui $t6, (0x01020040 >> 16) # lui $t6, 0x102
|
||||
/* 10E284 802A4C74 35CE0040 */ ori $t6, (0x01020040 & 0xFFFF) # ori $t6, $t6, 0x40
|
||||
/* 10E288 802A4C78 03097824 */ and $t7, $t8, $t1
|
||||
/* 10E28C 802A4C7C AC4F0004 */ sw $t7, 4($v0)
|
||||
/* 10E290 802A4C80 AC4E0000 */ sw $t6, ($v0)
|
||||
/* 10E294 802A4C84 8C620000 */ lw $v0, ($v1)
|
||||
/* 10E298 802A4C88 3C0A0400 */ lui $t2, (0x0400103F >> 16) # lui $t2, 0x400
|
||||
/* 10E29C 802A4C8C 354A103F */ ori $t2, (0x0400103F & 0xFFFF) # ori $t2, $t2, 0x103f
|
||||
/* 10E2A0 802A4C90 24590008 */ addiu $t9, $v0, 8
|
||||
/* 10E2A4 802A4C94 AC790000 */ sw $t9, ($v1)
|
||||
/* 10E2A8 802A4C98 AC500004 */ sw $s0, 4($v0)
|
||||
/* 10E2AC 802A4C9C AC4A0000 */ sw $t2, ($v0)
|
||||
/* 10E2B0 802A4CA0 8C620000 */ lw $v0, ($v1)
|
||||
/* 10E2B4 802A4CA4 3C0BB100 */ lui $t3, (0xB1000602 >> 16) # lui $t3, 0xb100
|
||||
/* 10E2B8 802A4CA8 3C0C0002 */ lui $t4, (0x00020604 >> 16) # lui $t4, 2
|
||||
/* 10E2BC 802A4CAC 244D0008 */ addiu $t5, $v0, 8
|
||||
/* 10E2C0 802A4CB0 AC6D0000 */ sw $t5, ($v1)
|
||||
/* 10E2C4 802A4CB4 358C0604 */ ori $t4, (0x00020604 & 0xFFFF) # ori $t4, $t4, 0x604
|
||||
/* 10E2C8 802A4CB8 356B0602 */ ori $t3, (0xB1000602 & 0xFFFF) # ori $t3, $t3, 0x602
|
||||
/* 10E2CC 802A4CBC 3C0E800E */ lui $t6, %hi(gCurrentCourseId) # $t6, 0x800e
|
||||
/* 10E2D0 802A4CC0 AC4B0000 */ sw $t3, ($v0)
|
||||
/* 10E2D4 802A4CC4 AC4C0004 */ sw $t4, 4($v0)
|
||||
/* 10E2D8 802A4CC8 85CEC5A0 */ lh $t6, %lo(gCurrentCourseId)($t6)
|
||||
/* 10E2DC 802A4CCC 2401000D */ li $at, 13
|
||||
/* 10E2E0 802A4CD0 55C1000D */ bnel $t6, $at, .L802A4D08
|
||||
/* 10E2E4 802A4CD4 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* 10E2E8 802A4CD8 8C620000 */ lw $v0, ($v1)
|
||||
/* 10E2EC 802A4CDC 260F0040 */ addiu $t7, $s0, 0x40
|
||||
/* 10E2F0 802A4CE0 24580008 */ addiu $t8, $v0, 8
|
||||
/* 10E2F4 802A4CE4 AC780000 */ sw $t8, ($v1)
|
||||
/* 10E2F8 802A4CE8 AC4F0004 */ sw $t7, 4($v0)
|
||||
/* 10E2FC 802A4CEC AC4A0000 */ sw $t2, ($v0)
|
||||
/* 10E300 802A4CF0 8C620000 */ lw $v0, ($v1)
|
||||
/* 10E304 802A4CF4 24590008 */ addiu $t9, $v0, 8
|
||||
/* 10E308 802A4CF8 AC790000 */ sw $t9, ($v1)
|
||||
/* 10E30C 802A4CFC AC4C0004 */ sw $t4, 4($v0)
|
||||
/* 10E310 802A4D00 AC4B0000 */ sw $t3, ($v0)
|
||||
/* 10E314 802A4D04 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
.L802A4D08:
|
||||
/* 10E318 802A4D08 8FB00028 */ lw $s0, 0x28($sp)
|
||||
/* 10E31C 802A4D0C 27BD0140 */ addiu $sp, $sp, 0x140
|
||||
/* 10E320 802A4D10 03E00008 */ jr $ra
|
||||
/* 10E324 802A4D14 00000000 */ nop
|
||||
|
|
@ -55,7 +55,7 @@ struct UnkStruct_800DC5EC {
|
|||
/* 0x28 */ s16 cameraHeight;
|
||||
/* 0x2A */ s16 unk;
|
||||
/* 0x2C */ s16 screenWidth;
|
||||
/* 0x2F */ s16 screenHeight;
|
||||
/* 0x2E */ s16 screenHeight;
|
||||
/* 0x30 */ s16 screenStartX;
|
||||
/* 0x32 */ s16 screenStartY;
|
||||
s16 unk3C;
|
||||
|
|
|
|||
2
mk64.ld
2
mk64.ld
|
|
@ -326,6 +326,8 @@ SECTIONS
|
|||
BUILD_DIR/asm/bss_MainSeg.o(.bss);
|
||||
BUILD_DIR/src/camera.o(.bss);
|
||||
BUILD_DIR/asm/bss_8001C4D0.o(.bss);
|
||||
BUILD_DIR/src/code_80091750.o(.bss);
|
||||
BUILD_DIR/asm/bss_8001C4D0_1.o(.bss);
|
||||
BUILD_DIR/src/code_800AF9B0.o(.bss);
|
||||
BUILD_DIR/src/menus.o(.bss);
|
||||
BUILD_DIR/asm/bss_main_audio.o(.bss);
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#include <macros.h>
|
||||
#include <defines.h>
|
||||
#include <PR/ultratypes.h>
|
||||
#include <config.h>
|
||||
|
||||
#include "code_80091750.h"
|
||||
|
||||
|
|
@ -14,10 +15,20 @@
|
|||
#include "code_800AF9B0.h"
|
||||
#include "variables.h"
|
||||
#include <sounds.h>
|
||||
#include "code_80281780.h"
|
||||
#include "memory.h"
|
||||
// TODO: Move gGfxPool out of main.h
|
||||
// Unfortunately that's not a small effort due to weird import structure in this project
|
||||
#include "main.h"
|
||||
|
||||
s16 D_8018E820; // todo: these are likely arrays.
|
||||
s16 D_8018E822; // todo: This may not be the right file for them.
|
||||
s32 code_80091750_pad_1;
|
||||
s16 D_8018E828;
|
||||
s16 D_8018E82A;
|
||||
s32 code_80091750_pad_2[2];
|
||||
s8 D_8018E838[4]; // Import to C was required for matching.
|
||||
s32 D_8018E83C;
|
||||
|
||||
f64 exponent_by_squaring(f64 base, s32 exponent) {
|
||||
s32 positive_exponent;
|
||||
|
|
@ -190,44 +201,20 @@ void swap_values(s32 *arg0, s32 *arg1) {
|
|||
*arg1 = temp;
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
|
||||
s32 func_80091D74(); /* extern */
|
||||
void func_800C97C4(s32); /* extern */
|
||||
void func_800C9D0C(s32); /* extern */
|
||||
void *decompress_segments(? *, ? *); /* extern */
|
||||
void load_save_data(); /* extern */
|
||||
extern void *D_800DC5EC;
|
||||
extern s32 D_800E86A4;
|
||||
extern s32 D_8015F734;
|
||||
extern s32 D_8018D9B0;
|
||||
extern s32 D_8018D9B4;
|
||||
extern s32 D_8018D9B8;
|
||||
extern s32 D_8018D9C0;
|
||||
extern ? D_8018E7AC;
|
||||
extern ? D_8018E7B1;
|
||||
extern s8 D_8018E838;
|
||||
extern ? D_8018E83C;
|
||||
extern s8 D_8018EDF4;
|
||||
extern s8 D_8018EDF5;
|
||||
extern s8 D_8018EDF6;
|
||||
extern s8 D_8018EE0C;
|
||||
extern u32 _course_mario_raceway_dl_mio0SegmentRomStart;
|
||||
extern s32 _data_825800SegmentRomStart;
|
||||
extern s32 gNextFreeMemoryAddress;
|
||||
static s8 D_800E852C = 1;
|
||||
extern s8 D_8018E7AC[]; // size of 4... Actually 5 probably.
|
||||
extern s8 D_800E852C;
|
||||
extern u32 D_8018D9B4;
|
||||
extern u32 D_8018D9B8;
|
||||
|
||||
void func_80091B78(void) {
|
||||
? *var_v0;
|
||||
? *var_v0_2;
|
||||
s32 var_s0;
|
||||
s32 var_s0_2;
|
||||
s32 why = 0;
|
||||
s32 i;
|
||||
|
||||
if (D_800E852C != 0) {
|
||||
D_800E852C = 0;
|
||||
D_8018EDF4 = 0x0A;
|
||||
if (D_800E852C) {
|
||||
D_800E852C = why;
|
||||
D_8018EDF4 = 10;
|
||||
D_8018EDF5 = 5;
|
||||
D_8018EDF6 = 0x0A;
|
||||
D_8018EDF6 = 10;
|
||||
if (osEepromProbe(&gSIEventMesgQueue) != 0) {
|
||||
load_save_data();
|
||||
}
|
||||
|
|
@ -237,7 +224,7 @@ void func_80091B78(void) {
|
|||
}
|
||||
if (gMenuSelection == LOGO_INTRO_MENU) {
|
||||
gNextFreeMemoryAddress = D_8015F734;
|
||||
set_segment_base_addr(6, decompress_segments(&_data_825800SegmentRomStart, &_course_mario_raceway_dl_mio0SegmentRomStart));
|
||||
set_segment_base_addr(6, decompress_segments((u8 *) &_data_825800SegmentRomStart, (u8 *) &_course_mario_raceway_dl_mio0SegmentRomStart));
|
||||
}
|
||||
gNextFreeMemoryAddress = D_8015F734;
|
||||
D_8018D9B0 = get_next_available_memory_addr(0x000900B0);
|
||||
|
|
@ -246,86 +233,71 @@ void func_80091B78(void) {
|
|||
D_8018D9C0 = get_next_available_memory_addr(0x00001000);
|
||||
func_800AF9B0();
|
||||
D_8018EE0C = 0;
|
||||
var_v0 = &D_8018E7AC;
|
||||
do {
|
||||
var_v0 += 1;
|
||||
var_v0->unk-1 = 0;
|
||||
} while ((u32) var_v0 < (u32) &D_8018E7B1);
|
||||
var_v0_2 = &D_8018E838;
|
||||
do {
|
||||
var_v0_2 += 1;
|
||||
var_v0_2->unk-1 = 0;
|
||||
} while ((u32) var_v0_2 < (u32) &D_8018E83C);
|
||||
D_800DC5EC->unk30 = 0x00A0;
|
||||
D_800DC5EC->unk32 = 0x0078;
|
||||
D_800DC5EC->unk2C = 0x0140;
|
||||
D_800DC5EC->unk2E = 0x00F0;
|
||||
|
||||
for (i = 0; i < 5; i++) {
|
||||
D_8018E7AC[i] = 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
D_8018E838[i] = 0;
|
||||
}
|
||||
|
||||
D_800DC5EC->screenStartX = 160;
|
||||
D_800DC5EC->screenStartY = 120;
|
||||
D_800DC5EC->screenWidth = SCREEN_WIDTH;
|
||||
D_800DC5EC->screenHeight = SCREEN_HEIGHT;
|
||||
D_800E86A4 = 1;
|
||||
func_80094C60();
|
||||
var_s0 = 0;
|
||||
do {
|
||||
func_800C97C4(var_s0 & 0xFF);
|
||||
var_s0 += 1;
|
||||
} while (var_s0 < 4);
|
||||
var_s0_2 = 1;
|
||||
do {
|
||||
func_800C9D0C(var_s0_2 & 0xFF);
|
||||
var_s0_2 += 1;
|
||||
} while (var_s0_2 != 8);
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
func_800C97C4((u8) i);
|
||||
}
|
||||
|
||||
for (i = 1; i < 8; i++) {
|
||||
func_800C9D0C((u8) i);
|
||||
}
|
||||
|
||||
func_800B44BC();
|
||||
osViSetSpecialFeatures(OS_VI_DITHER_FILTER_ON);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80091B78.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit d9d3d6575355663122de59f6b2882d8f174e2355 on Dec-11-2022
|
||||
extern u8 gControllerBits;
|
||||
extern ? gControllerStatuses;
|
||||
|
||||
s32 func_80091D74(void) {
|
||||
u8 sp67;
|
||||
s32 *var_s1;
|
||||
s32 temp_v0;
|
||||
s32 var_s0;
|
||||
s32 pad[10];
|
||||
s32 i;
|
||||
|
||||
if (gControllerBits == 0) {
|
||||
if (!gControllerBits) {
|
||||
return 0;
|
||||
}
|
||||
if ((*(&gControllerStatuses + 2) == 0) & 1) {
|
||||
if ((!gControllerStatuses[0].status) & CONT_CARD_ON) {
|
||||
return 0;
|
||||
}
|
||||
if (!(gControllerOne->button & 0x1000)) {
|
||||
if (!(gControllerOne->button & START_BUTTON)) {
|
||||
return 0;
|
||||
}
|
||||
osPfsIsPlug(&gSIEventMesgQueue, &sp67);
|
||||
if (sp67 & 1) {
|
||||
if (osPfsInit(&gSIEventMesgQueue, &D_8018E868, 0) != 0) {
|
||||
if (osPfsInit(&gSIEventMesgQueue, &D_8018E868, 0)) {
|
||||
return 0;
|
||||
}
|
||||
var_s0 = 0;
|
||||
if (osPfsNumFiles(&D_8018E868, &D_8018EB78, &D_8018EB7C) != 0) {
|
||||
return 0;
|
||||
}
|
||||
var_s1 = D_8018EB38;
|
||||
do {
|
||||
temp_v0 = osPfsFileState(&D_8018E868, var_s0, &D_8018E938[var_s0]);
|
||||
var_s0 += 1;
|
||||
var_s1 += 4;
|
||||
var_s1->unk-4 = temp_v0;
|
||||
} while (var_s0 != 0x00000010);
|
||||
if (osPfsFreeBlocks(&D_8018E868, &gControllerPakNumPagesFree) != 0) {
|
||||
return 0;
|
||||
}
|
||||
gControllerPakNumPagesFree = (s32) gControllerPakNumPagesFree >> 8;
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
|
||||
if (osPfsNumFiles(&D_8018E868, &D_8018EB78, &D_8018EB7C)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < 16; i++) {
|
||||
D_8018EB38[i] = osPfsFileState(&D_8018E868, i, D_8018E938 + i);
|
||||
}
|
||||
|
||||
if (osPfsFreeBlocks(&D_8018E868, &gControllerPakNumPagesFree)) {
|
||||
return 0;
|
||||
}
|
||||
gControllerPakNumPagesFree >>= 8;
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80091D74.s")
|
||||
#endif
|
||||
|
||||
void func_80091EE4(void) {
|
||||
s32 temp_s0;
|
||||
|
|
@ -349,34 +321,23 @@ void func_80091EE4(void) {
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
|
||||
void func_80092258(); /* extern */
|
||||
extern s32 D_8018D9B4;
|
||||
extern s32 D_8018D9B8;
|
||||
extern s32 D_8018D9BC;
|
||||
extern ? D_8018E7AC;
|
||||
extern ? D_8018E7B1;
|
||||
extern s8 D_8018E838;
|
||||
extern s8 D_8018EE08;
|
||||
extern u8 gControllerBits;
|
||||
|
||||
void func_80092258(void); // todo remove this line
|
||||
void func_80091FA4(void) {
|
||||
? *var_v1;
|
||||
s32 i;
|
||||
|
||||
D_8018D9B4 = get_next_available_memory_addr(0x00002800);
|
||||
D_8018D9B0 = get_next_available_memory_addr(0x000124F8);
|
||||
D_8018D9B8 = get_next_available_memory_addr(0x00001000);
|
||||
D_8018D9BC = get_next_available_memory_addr(4);
|
||||
var_v1 = &D_8018E7AC;
|
||||
do {
|
||||
var_v1 += 1;
|
||||
var_v1->unk-1 = 0;
|
||||
} while ((u32) var_v1 < (u32) &D_8018E7B1);
|
||||
D_8018E838 = 0;
|
||||
D_8018E838 = 0;
|
||||
D_8018E838 = 0;
|
||||
D_8018E838 = 0;
|
||||
|
||||
for (i = 0; i < 5; i++) {
|
||||
D_8018E7AC[i] = 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
D_8018E838[i] = 0;
|
||||
}
|
||||
|
||||
func_80099110();
|
||||
func_8009A344();
|
||||
func_8009E620();
|
||||
|
|
@ -397,37 +358,22 @@ void func_80091FA4(void) {
|
|||
}
|
||||
func_800B5F30();
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80091FA4.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
extern void *gControllerFive;
|
||||
extern s8 D_8018D9D8;
|
||||
extern s8 D_8018D9D9;
|
||||
|
||||
void func_80092148(void) {
|
||||
void *temp_v0;
|
||||
s32 phi_v1;
|
||||
struct Controller *controller = gControllerFive;
|
||||
s32 isHeld;
|
||||
|
||||
temp_v0 = gControllerFive;
|
||||
phi_v1 = 0;
|
||||
if (temp_v0->unk4 != 0) {
|
||||
phi_v1 = 1;
|
||||
}
|
||||
if (temp_v0->unk6 != 0) {
|
||||
isHeld = controller->button ? 1 : 0;
|
||||
|
||||
if (controller->buttonPressed) {
|
||||
D_8018D9D9 = 1;
|
||||
}
|
||||
if ((phi_v1 != 0) && (D_8018D9D9 != 0)) {
|
||||
if ((isHeld) && (D_8018D9D9)) {
|
||||
D_8018D9D8 = 1;
|
||||
return;
|
||||
}
|
||||
D_8018D9D8 = 0;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80092148.s")
|
||||
#endif
|
||||
|
||||
void func_800921B4(void) {
|
||||
D_8018D9D9 = 0;
|
||||
|
|
@ -453,34 +399,14 @@ void func_80092224(s32 test, s32 target, s32 alternative_color) {
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
extern s32 D_8018E850;
|
||||
extern s32 D_8018E858;
|
||||
|
||||
void func_80092258(void) {
|
||||
? *temp_a0;
|
||||
s32 temp_v0;
|
||||
s32 phi_v0;
|
||||
s32 *phi_v1;
|
||||
? *phi_a0;
|
||||
s32 i;
|
||||
|
||||
phi_v0 = 0;
|
||||
phi_v1 = &D_8018E850;
|
||||
phi_a0 = &D_8018E858;
|
||||
do {
|
||||
*phi_v1 = phi_v0;
|
||||
temp_v0 = phi_v0 + 1;
|
||||
temp_a0 = phi_a0 + 4;
|
||||
temp_a0->unk-4 = 0;
|
||||
phi_v0 = temp_v0;
|
||||
phi_v1 += 4;
|
||||
phi_a0 = temp_a0;
|
||||
} while (temp_v0 != 2);
|
||||
for (i = 0; i < 2; i++) {
|
||||
D_8018E850[i] = i;
|
||||
D_8018E858[i] = 0;
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80091750/func_80092258.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 06ada559d7a32fdab49fa2d619cdfa027615bcda
|
||||
|
|
@ -14180,12 +14106,11 @@ GLOBAL_ASM("asm/non_matchings/code_80091750/func_800ABCF4.s")
|
|||
#endif
|
||||
|
||||
void func_800ABEAC(struct_8018D9E0_entry *arg0) {
|
||||
// Why?
|
||||
s32 one = 1;
|
||||
s32 why = 1;
|
||||
func_800ABF68(arg0);
|
||||
switch (D_80164A28) {
|
||||
case 1:
|
||||
arg0->visible = one;
|
||||
arg0->visible = why;
|
||||
break;
|
||||
case 2:
|
||||
if (arg0->row < 0x104) {
|
||||
|
|
@ -14195,7 +14120,7 @@ void func_800ABEAC(struct_8018D9E0_entry *arg0) {
|
|||
}
|
||||
break;
|
||||
default:
|
||||
if ((gModeSelection != 0) || (gPlayerCountSelection1 != one) || (D_8018EE08 != 0)) {
|
||||
if ((gModeSelection != 0) || (gPlayerCountSelection1 != why) || (D_8018EE08 != 0)) {
|
||||
arg0->type = 0;
|
||||
} else {
|
||||
if (arg0->row < 0x104) {
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@
|
|||
#include "textures.h"
|
||||
#include "main.h"
|
||||
|
||||
extern u32 _course_mario_raceway_dl_mio0SegmentRomStart[];
|
||||
|
||||
/* File specific types */
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -285,6 +287,8 @@ extern Gfx *D_800E84CC[];
|
|||
extern Gfx *D_800E84EC[];
|
||||
extern Gfx *D_800E850C[];
|
||||
|
||||
extern s32 D_8018D9BC;
|
||||
|
||||
extern s16 gGlyphDisplayWidth[]; // D_800EF690
|
||||
extern RGBA16 D_800E74A8[5];
|
||||
extern RGBA16 D_800E74D0[3];
|
||||
|
|
@ -341,9 +345,9 @@ extern s8 gTextColor; // D_8018E860
|
|||
extern s8 D_8018ED91;
|
||||
extern s8 D_8018E838[];
|
||||
extern s32 D_8018E840[];
|
||||
extern s32 D_8018E850;
|
||||
extern s32 D_8018E850[];
|
||||
extern s32 D_8018E854;
|
||||
extern s32 D_8018E858;
|
||||
extern s32 D_8018E858[];
|
||||
extern s32 D_8018E85C;
|
||||
extern s32 D_8018EDC0;
|
||||
extern f32 D_8018EDC4;
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ void func_802818BC(void) {
|
|||
}
|
||||
}
|
||||
|
||||
void load_ending_sequence_royalraceway(void) {
|
||||
void load_ceremony_cutscene(void) {
|
||||
Camera *camera = &cameras[0];
|
||||
|
||||
gCurrentCourseId = COURSE_ROYAL_RACEWAY;
|
||||
|
|
@ -100,8 +100,8 @@ void load_ending_sequence_royalraceway(void) {
|
|||
gModeSelection = GRAND_PRIX;
|
||||
load_course(gCurrentCourseId);
|
||||
D_8015F730 = (s32) gNextFreeMemoryAddress;
|
||||
set_segment_base_addr(0xB, (void *) decompress_segments(&_data_821D10SegmentRomStart, &_data_825800SegmentRomStart));
|
||||
set_segment_base_addr(6, (void *) decompress_segments(&_course_banshee_boardwalk_dl_mio0SegmentRomStart, &_course_yoshi_valley_dl_mio0SegmentRomStart));
|
||||
set_segment_base_addr(0xB, (void *) decompress_segments((u8 *) &_data_821D10SegmentRomStart, (u8 *) &_data_825800SegmentRomStart));
|
||||
set_segment_base_addr(6, (void *) decompress_segments((u8 *) &_course_banshee_boardwalk_dl_mio0SegmentRomStart, (u8 *) &_course_yoshi_valley_dl_mio0SegmentRomStart));
|
||||
D_8015F8E4 = -2000.0f;
|
||||
|
||||
D_8015F6EA = -0x15A1;
|
||||
|
|
|
|||
|
|
@ -6,10 +6,8 @@
|
|||
void func_80281780(void);
|
||||
s32 func_80281880(s32 arg0);
|
||||
void func_802818BC(void);
|
||||
void load_ending_sequence_royalraceway(void);
|
||||
void load_ceremony_cutscene(void);
|
||||
|
||||
|
||||
extern int decompress_segments();
|
||||
extern u32 set_segment_base_addr();
|
||||
|
||||
extern void func_80093E60();
|
||||
|
|
@ -72,4 +70,4 @@ extern s32 _data_825800SegmentRomStart;
|
|||
extern s32 _course_banshee_boardwalk_dl_mio0SegmentRomStart;
|
||||
extern s32 _course_yoshi_valley_dl_mio0SegmentRomStart;
|
||||
|
||||
#endif
|
||||
#endif // CODE_80281780_H
|
||||
|
|
|
|||
|
|
@ -1104,7 +1104,7 @@ void update_gamestate(void) {
|
|||
case ENDING_SEQUENCE:
|
||||
gCurrentlyLoadedCourseId = COURSE_NULL;
|
||||
init_seg_80280000();
|
||||
load_ending_sequence_royalraceway();
|
||||
load_ceremony_cutscene();
|
||||
break;
|
||||
case CREDITS_SEQUENCE:
|
||||
gCurrentlyLoadedCourseId = COURSE_NULL;
|
||||
|
|
|
|||
|
|
@ -87,6 +87,10 @@ extern u8 *gNmiUnknown5;
|
|||
extern u8 *gNmiUnknown6;
|
||||
extern s32 gScreenModeSelection;
|
||||
|
||||
extern OSContStatus gControllerStatuses[];
|
||||
extern struct Controller *gControllerFive;
|
||||
extern u8 gControllerBits;
|
||||
|
||||
extern s16 sIsController1Unplugged;
|
||||
|
||||
extern u64 rspbootTextStart[], rspbootTextEnd[];
|
||||
|
|
|
|||
128
src/math_util.c
128
src/math_util.c
|
|
@ -227,72 +227,72 @@ void func_802B5564(Mat4 arg0, u16 *arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5,
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 3b40ab93768f52ac241c5ae84ef58ef6bc4cb1de
|
||||
void func_802B5794(f32 (*arg0)[4], f32 *arg1, f32 *arg2) {
|
||||
f32 sp4C;
|
||||
f32 sp48;
|
||||
f32 sp30;
|
||||
f32 temp_f10;
|
||||
f32 temp_f12;
|
||||
f32 temp_f12_2;
|
||||
f32 temp_f14;
|
||||
f32 temp_f14_2;
|
||||
f32 temp_f16;
|
||||
f32 temp_f16_2;
|
||||
f32 temp_f16_3;
|
||||
f32 temp_f18;
|
||||
f32 temp_f18_2;
|
||||
f32 temp_f20;
|
||||
f32 temp_f20_2;
|
||||
f32 temp_f22;
|
||||
f32 temp_f22_2;
|
||||
f32 temp_f28;
|
||||
f32 temp_f2;
|
||||
f32 temp_f2_2;
|
||||
f32 temp_f6;
|
||||
// Appears to only be for the skybox. mtxf_lookat from sm64 with some modifications.
|
||||
void func_802B5794(Mat4 mtx, Vec3f from, Vec3f to) {
|
||||
// register from sm64 but not required for matching.
|
||||
register f32 invLength;
|
||||
f32 xColY;
|
||||
f32 yColY;
|
||||
f32 zColY;
|
||||
f32 xColZ;
|
||||
f32 yColZ;
|
||||
f32 zColZ;
|
||||
f32 xColX;
|
||||
f32 yColX;
|
||||
f32 zColX;
|
||||
|
||||
temp_f12 = arg2->unk0 - arg1->unk0;
|
||||
temp_f14 = arg2->unk4 - arg1->unk4;
|
||||
temp_f2 = arg2->unk8 - arg1->unk8;
|
||||
temp_f16 = (f32) (-1.0 / (f64) sqrtf((temp_f12 * temp_f12) + (temp_f14 * temp_f14) + (temp_f2 * temp_f2)));
|
||||
temp_f12_2 = temp_f12 * temp_f16;
|
||||
temp_f14_2 = temp_f14 * temp_f16;
|
||||
temp_f2_2 = temp_f2 * temp_f16;
|
||||
temp_f16_2 = 0.0f - (1.0f * temp_f12_2);
|
||||
temp_f22 = (f32) (1.0 / (f64) sqrtf((temp_f2_2 * temp_f2_2) + 0.0f + (temp_f16_2 * temp_f16_2)));
|
||||
temp_f28 = temp_f2_2 * temp_f22;
|
||||
temp_f18 = temp_f16_2 * temp_f22;
|
||||
temp_f6 = temp_f14_2 * temp_f18;
|
||||
sp30 = temp_f18;
|
||||
temp_f20 = temp_f6 - (temp_f2_2 * 0.0f);
|
||||
temp_f16_3 = (temp_f2_2 * temp_f28) - (temp_f12_2 * sp30);
|
||||
temp_f18_2 = (temp_f12_2 * 0.0f) - (temp_f14_2 * temp_f28);
|
||||
temp_f22_2 = (f32) (1.0 / (f64) sqrtf((temp_f20 * temp_f20) + (temp_f16_3 * temp_f16_3) + (temp_f18_2 * temp_f18_2)));
|
||||
temp_f20_2 = temp_f20 * temp_f22_2;
|
||||
temp_f10 = temp_f18_2 * temp_f22_2;
|
||||
sp4C = temp_f16_3 * temp_f22_2;
|
||||
sp48 = temp_f10;
|
||||
arg0[0][0] = temp_f28;
|
||||
arg0->unk10 = 0.0f;
|
||||
arg0->unk20 = sp30;
|
||||
arg0->unk30 = (f32) -((arg1->unk8 * sp30) + ((arg1->unk0 * temp_f28) + (arg1->unk4 * 0.0f)));
|
||||
arg0[0][1] = temp_f20_2;
|
||||
arg0->unk24 = sp48;
|
||||
arg0->unk14 = sp4C;
|
||||
arg0[0][2] = temp_f12_2;
|
||||
arg0->unk18 = temp_f14_2;
|
||||
arg0->unk28 = temp_f2_2;
|
||||
arg0->unk34 = (f32) -((arg1->unk8 * sp48) + ((arg1->unk0 * temp_f20_2) + (arg1->unk4 * sp4C)));
|
||||
arg0[0][3] = 0.0f;
|
||||
arg0->unk1C = 0.0f;
|
||||
arg0->unk2C = 0.0f;
|
||||
arg0->unk3C = 1.0f;
|
||||
arg0->unk38 = (f32) -((arg1->unk8 * temp_f2_2) + ((arg1->unk0 * temp_f12_2) + (arg1->unk4 * temp_f14_2)));
|
||||
xColY = 0.0f;
|
||||
yColY = 1.0f;
|
||||
zColY = 0.0f;
|
||||
|
||||
xColZ = to[0] - from[0];
|
||||
yColZ = to[1] - from[1];
|
||||
zColZ = to[2] - from[2];
|
||||
|
||||
invLength = -1.0 / sqrtf(xColZ * xColZ + yColZ * yColZ + zColZ * zColZ);
|
||||
xColZ *= invLength;
|
||||
yColZ *= invLength;
|
||||
zColZ *= invLength;
|
||||
|
||||
xColX = yColY * zColZ - zColY * yColZ;
|
||||
yColX = zColY * xColZ - xColY * zColZ;
|
||||
zColX = xColY * yColZ - yColY * xColZ;
|
||||
|
||||
invLength = 1.0 / sqrtf(xColX * xColX + yColX * yColX + zColX * zColX);
|
||||
|
||||
xColX *= invLength;
|
||||
yColX *= invLength;
|
||||
zColX *= invLength;
|
||||
|
||||
xColY = yColZ * zColX - zColZ * yColX;
|
||||
yColY = zColZ * xColX - xColZ * zColX;
|
||||
zColY = xColZ * yColX - yColZ * xColX;
|
||||
|
||||
invLength = 1.0 / sqrtf(xColY * xColY + yColY * yColY + zColY * zColY);
|
||||
xColY *= invLength;
|
||||
yColY *= invLength;
|
||||
zColY *= invLength;
|
||||
|
||||
mtx[0][0] = xColX;
|
||||
mtx[1][0] = yColX;
|
||||
mtx[2][0] = zColX;
|
||||
mtx[3][0] = -(from[0] * xColX + from[1] * yColX + from[2] * zColX);
|
||||
|
||||
mtx[0][1] = xColY;
|
||||
mtx[1][1] = yColY;
|
||||
mtx[2][1] = zColY;
|
||||
mtx[3][1] = -(from[0] * xColY + from[1] * yColY + from[2] * zColY);
|
||||
|
||||
mtx[0][2] = xColZ;
|
||||
mtx[1][2] = yColZ;
|
||||
mtx[2][2] = zColZ;
|
||||
mtx[3][2] = -(from[0] * xColZ + from[1] * yColZ + from[2] * zColZ);
|
||||
|
||||
mtx[0][3] = 0.0f;
|
||||
mtx[1][3] = 0.0f;
|
||||
mtx[2][3] = 0.0f;
|
||||
mtx[3][3] = 1.0f;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/math_util/func_802B5794.s")
|
||||
#endif
|
||||
|
||||
void func_802B59DC(Mat4 arg0, s16 arg1) {
|
||||
f32 sp28 = sins(arg1);
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
#define sqr(x) ((x) * (x))
|
||||
|
||||
void func_802B4FF0();
|
||||
void func_802B5794(Mat4, Vec3f, Vec3f);
|
||||
s32 func_802B4FF8(Mat4, s32);
|
||||
f32 func_802B51E8(Vec3f, Vec3f);
|
||||
u32 func_802B5224(Vec3f, Vec3f);
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ void *get_segment_base_addr(s32);
|
|||
void *segmented_to_virtual(const void *);
|
||||
void move_segment_table_to_dmem();
|
||||
void initialize_memory_pool(uintptr_t, uintptr_t);
|
||||
void *decompress_segments(u8*, u8*);
|
||||
void *allocate_memory(u32);
|
||||
void *load_data(uintptr_t, uintptr_t);
|
||||
void func_802A7D54(s32, s32);
|
||||
|
|
|
|||
|
|
@ -444,79 +444,60 @@ void func_802A487C(Vtx *arg0, UNUSED struct UnkStruct_800DC5EC *arg1, UNUSED s32
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 6b6e1390bf30013247343623194964ff13d0c45b
|
||||
? func_802B5794(f32 (*)[4], Camera *, f32 *); /* extern */
|
||||
extern ? D_0D008E98;
|
||||
extern f32 D_80150148;
|
||||
extern f32 D_8015014C;
|
||||
extern f32 D_80150150;
|
||||
static f32 D_802B9BB0 = 30000.0f;
|
||||
s16 gCurrentCourseId; /* unable to generate initializer */
|
||||
|
||||
void func_802A4A0C(Vtx *arg0, struct UnkStruct_800DC5EC *arg1, s32 arg2, s32 arg3) {
|
||||
Camera *sp13C;
|
||||
u16 sp128;
|
||||
f32 sp64;
|
||||
f32 sp60;
|
||||
f32 sp5C;
|
||||
f32 sp58;
|
||||
Gfx *temp_v0;
|
||||
Gfx *temp_v0_2;
|
||||
Gfx *temp_v0_3;
|
||||
Gfx *temp_v0_4;
|
||||
Gfx *temp_v0_5;
|
||||
Gfx *temp_v0_6;
|
||||
Gfx *temp_v0_7;
|
||||
Gfx *temp_v0_8;
|
||||
Gfx *temp_v0_9;
|
||||
f32 temp_f0;
|
||||
f32 temp_f16;
|
||||
f32 temp_f18;
|
||||
f32 temp_f6;
|
||||
void func_802A4A0C(Vtx *vtx, struct UnkStruct_800DC5EC *arg1, UNUSED s32 arg2, UNUSED s32 arg3, UNUSED f32 *arg4) {
|
||||
Camera *camera = arg1->camera;
|
||||
s16 temp_t5;
|
||||
f32 temp_f0;
|
||||
UNUSED s32 pad[2];
|
||||
UNUSED u16 pad2;
|
||||
u16 sp128;
|
||||
Mat4 matrix1;
|
||||
Mat4 matrix2;
|
||||
Mat4 matrix3;
|
||||
Vec3f sp5C;
|
||||
f32 sp58;
|
||||
|
||||
sp13C = arg1->camera;
|
||||
func_802A450C(arg0);
|
||||
sp64 = D_802B9BB0;
|
||||
sp5C = 0.0f;
|
||||
sp60 = 0.0f;
|
||||
func_802B5564((f32 (*)[4]) &spE8[0], &sp128, sp13C->unk_B4, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
func_802B5794((f32 (*)[4]) &spA8[0], sp13C, sp13C->lookAt);
|
||||
func_802B71CC((f32 (*)[4]) &sp68[0], (f32 (*)[4]) &spE8[0], (f32 (*)[4]) &spA8[0]);
|
||||
sp58 = spA4 + ((sp68[3] * sp5C) + (sp84 * sp60) + (sp94 * sp64));
|
||||
func_802B6434(&sp5C, (f32 (*)[4]) &sp68[0]);
|
||||
temp_f0 = (f32) (1.0 / (f64) sp58);
|
||||
temp_f18 = sp5C * temp_f0;
|
||||
temp_f6 = sp60 * temp_f0;
|
||||
sp5C = temp_f18;
|
||||
temp_f16 = temp_f6 * 120.0f;
|
||||
sp60 = temp_f6;
|
||||
sp5C = temp_f18 * 160.0f;
|
||||
sp60 = temp_f16;
|
||||
temp_t5 = 0x78 - (s32) temp_f16;
|
||||
func_802A450C(vtx);
|
||||
sp5C[0] = 0.0f;
|
||||
sp5C[1] = 0.0f;
|
||||
sp5C[2] = 30000.0f;
|
||||
func_802B5564(matrix1, &sp128, camera->unk_B4, D_80150148, D_80150150, D_8015014C, 1.0f);
|
||||
func_802B5794(matrix2, camera->pos, camera->lookAt);
|
||||
func_802B71CC(matrix3, matrix1, matrix2);
|
||||
|
||||
sp58 = ((matrix3[0][3] * sp5C[0]) + (matrix3[1][3] * sp5C[1]) + (matrix3[2][3] * sp5C[2])) + matrix3[3][3];
|
||||
|
||||
func_802B6434(sp5C, matrix3);
|
||||
|
||||
temp_f0 = (1.0 / sp58);
|
||||
|
||||
sp5C[0] *= temp_f0;
|
||||
sp5C[1] *= temp_f0;
|
||||
|
||||
sp5C[0] *= 160.0f;
|
||||
sp5C[1] *= 120.0f;
|
||||
|
||||
temp_t5 = 120 - (s16)sp5C[1];
|
||||
arg1->cameraHeight = temp_t5;
|
||||
arg0->unk12 = temp_t5;
|
||||
arg0->unk22 = temp_t5;
|
||||
arg0->unk42 = temp_t5;
|
||||
arg0->unk72 = temp_t5;
|
||||
vtx[1].v.ob[1] = temp_t5;
|
||||
vtx[2].v.ob[1] = temp_t5;
|
||||
vtx[4].v.ob[1] = temp_t5;
|
||||
vtx[7].v.ob[1] = temp_t5;
|
||||
|
||||
init_rdp();
|
||||
gDPSetRenderMode(gDisplayListHead++, G_RM_OPA_SURF, G_RM_OPA_SURF2);
|
||||
gSPClearGeometryMode(gDisplayListHead++, G_ZBUFFER | G_LIGHTING);
|
||||
guOrtho(&gGfxPool->mtxPool[0], 0.0f, 320.0f, 0.0f, 240.0f, 0.0f, 5.0f, 1.0f);
|
||||
guOrtho(&gGfxPool->mtxPool[0], 0.0f, SCREEN_WIDTH, 0.0f, SCREEN_HEIGHT, 0.0f, 5.0f, 1.0f);
|
||||
gDPHalf1(gDisplayListHead++, 0xFFFF);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxPool[0]), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
|
||||
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&D_0D008E98), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPVertex(gDisplayListHead++, &arg0, 4, 0);
|
||||
gSPVertex(gDisplayListHead++, &vtx[0], 4, 0);
|
||||
gSP2Triangles(gDisplayListHead++, 0, 3, 1, 0, 1, 3, 2, 0);
|
||||
if (gCurrentCourseId == COURSE_RAINBOW_ROAD) {
|
||||
gSPVertex(gDisplayListHead++, &arg0[4], 4, 0);
|
||||
gSP2Triangles(gDisplayListHead++, 0, 3, 1, 0, 0, 0, 0, 0);
|
||||
gSPVertex(gDisplayListHead++, &vtx[4], 4, 0);
|
||||
gSP2Triangles(gDisplayListHead++, 0, 3, 1, 0, 1, 3, 2, 0);
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/skybox/func_802A4A0C.s")
|
||||
#endif
|
||||
|
||||
void func_802A4D18(void) {
|
||||
if (gGamestate != 4) {
|
||||
|
|
|
|||
|
|
@ -66,7 +66,6 @@ void pack(FILE *input_file, FILE *output_file) {
|
|||
uint32_t p5;
|
||||
uint32_t p6;
|
||||
uint16_t p7;
|
||||
uint32_t i;
|
||||
uint64_t compare;
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue