mirror of
https://github.com/n64decomp/mk64
synced 2026-07-11 13:48:45 -04:00
Matched a couple functions in code_80027D00 (#337)
* Match funcs in code_80027D00 Signed-off-by: Taggerung <tyler.taggerung@email.com>
This commit is contained in:
@@ -1,688 +0,0 @@
|
||||
.section .late_rodata
|
||||
|
||||
glabel jpt_800ED6F0
|
||||
.word L80027F38, L80027FC0, L80028048, L800280D0
|
||||
.word L80028854, L80028854, L80028854, L80028854
|
||||
.word L80028158, L80028854, L800281E0, L80028854
|
||||
.word L8002825C, L80028854, L80028854, L80028854
|
||||
.word L80028854, L80028854, L800282E4
|
||||
|
||||
glabel jpt_800ED73C
|
||||
.word L80028424
|
||||
.word L800284AC, L80028534, L800285BC, L80028854
|
||||
.word L80028854, L80028854, L80028854, L80028644
|
||||
.word L80028854, L800286CC, L80028854, L80028748
|
||||
.word L80028854, L80028854, L80028854, L80028854
|
||||
.word L80028854, L800287D0
|
||||
|
||||
.section .text
|
||||
|
||||
glabel func_80027EDC
|
||||
/* 028ADC 80027EDC 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 028AE0 80027EE0 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 028AE4 80027EE4 AFA5002C */ sw $a1, 0x2c($sp)
|
||||
/* 028AE8 80027EE8 94820000 */ lhu $v0, ($a0)
|
||||
/* 028AEC 80027EEC 00053600 */ sll $a2, $a1, 0x18
|
||||
/* 028AF0 80027EF0 00067603 */ sra $t6, $a2, 0x18
|
||||
/* 028AF4 80027EF4 24014000 */ li $at, 16384
|
||||
/* 028AF8 80027EF8 304F4000 */ andi $t7, $v0, 0x4000
|
||||
/* 028AFC 80027EFC 15E1013F */ bne $t7, $at, .L800283FC
|
||||
/* 028B00 80027F00 01C03025 */ move $a2, $t6
|
||||
/* 028B04 80027F04 30580100 */ andi $t8, $v0, 0x100
|
||||
/* 028B08 80027F08 24010100 */ li $at, 256
|
||||
/* 028B0C 80027F0C 1301013B */ beq $t8, $at, .L800283FC
|
||||
/* 028B10 80027F10 3C19800E */ lui $t9, %hi(gCurrentCourseId) # $t9, 0x800e
|
||||
/* 028B14 80027F14 9739C5A0 */ lhu $t9, %lo(gCurrentCourseId)($t9)
|
||||
/* 028B18 80027F18 2F210013 */ sltiu $at, $t9, 0x13
|
||||
/* 028B1C 80027F1C 1020024D */ beqz $at, .L80028854
|
||||
/* 028B20 80027F20 0019C880 */ sll $t9, $t9, 2
|
||||
/* 028B24 80027F24 3C01800F */ lui $at, %hi(jpt_800ED6F0)
|
||||
/* 028B28 80027F28 00390821 */ addu $at, $at, $t9
|
||||
/* 028B2C 80027F2C 8C39D6F0 */ lw $t9, %lo(jpt_800ED6F0)($at)
|
||||
/* 028B30 80027F30 03200008 */ jr $t9
|
||||
/* 028B34 80027F34 00000000 */ nop
|
||||
glabel L80027F38
|
||||
/* 028B38 80027F38 00061840 */ sll $v1, $a2, 1
|
||||
/* 028B3C 80027F3C 3C028016 */ lui $v0, %hi(gNearestWaypointByPlayerId) # 0x8016
|
||||
/* 028B40 80027F40 00431021 */ addu $v0, $v0, $v1
|
||||
/* 028B44 80027F44 84424438 */ lh $v0, %lo(gNearestWaypointByPlayerId)($v0) # 0x4438($v0)
|
||||
/* 028B48 80027F48 3C0B8016 */ lui $t3, %hi(D_80165300) # $t3, 0x8016
|
||||
/* 028B4C 80027F4C 256B5300 */ addiu $t3, %lo(D_80165300) # addiu $t3, $t3, 0x5300
|
||||
/* 028B50 80027F50 2841019B */ slti $at, $v0, 0x19b
|
||||
/* 028B54 80027F54 14200010 */ bnez $at, .L80027F98
|
||||
/* 028B58 80027F58 284101B9 */ slti $at, $v0, 0x1b9
|
||||
/* 028B5C 80027F5C 1020000E */ beqz $at, .L80027F98
|
||||
/* 028B60 80027F60 3C088016 */ lui $t0, %hi(D_80165300) # $t0, 0x8016
|
||||
/* 028B64 80027F64 25085300 */ addiu $t0, %lo(D_80165300) # addiu $t0, $t0, 0x5300
|
||||
/* 028B68 80027F68 00681021 */ addu $v0, $v1, $t0
|
||||
/* 028B6C 80027F6C 84490000 */ lh $t1, ($v0)
|
||||
/* 028B70 80027F70 24010001 */ li $at, 1
|
||||
/* 028B74 80027F74 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 028B78 80027F78 11210004 */ beq $t1, $at, .L80027F8C
|
||||
/* 028B7C 80027F7C 24050055 */ li $a1, 85
|
||||
/* 028B80 80027F80 0C0328A2 */ jal func_800CA288
|
||||
/* 028B84 80027F84 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 028B88 80027F88 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
.L80027F8C:
|
||||
/* 028B8C 80027F8C 240A0001 */ li $t2, 1
|
||||
/* 028B90 80027F90 10000230 */ b .L80028854
|
||||
/* 028B94 80027F94 A44A0000 */ sh $t2, ($v0)
|
||||
.L80027F98:
|
||||
/* 028B98 80027F98 006B1021 */ addu $v0, $v1, $t3
|
||||
/* 028B9C 80027F9C 844C0000 */ lh $t4, ($v0)
|
||||
/* 028BA0 80027FA0 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 028BA4 80027FA4 5180022C */ beql $t4, $zero, .L80028858
|
||||
/* 028BA8 80027FA8 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 028BAC 80027FAC 0C0328AE */ jal func_800CA2B8
|
||||
/* 028BB0 80027FB0 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 028BB4 80027FB4 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
/* 028BB8 80027FB8 10000226 */ b .L80028854
|
||||
/* 028BBC 80027FBC A4400000 */ sh $zero, ($v0)
|
||||
glabel L80027FC0
|
||||
/* 028BC0 80027FC0 00061840 */ sll $v1, $a2, 1
|
||||
/* 028BC4 80027FC4 3C028016 */ lui $v0, %hi(gNearestWaypointByPlayerId) # 0x8016
|
||||
/* 028BC8 80027FC8 00431021 */ addu $v0, $v0, $v1
|
||||
/* 028BCC 80027FCC 84424438 */ lh $v0, %lo(gNearestWaypointByPlayerId)($v0) # 0x4438($v0)
|
||||
/* 028BD0 80027FD0 3C188016 */ lui $t8, %hi(D_80165300) # $t8, 0x8016
|
||||
/* 028BD4 80027FD4 27185300 */ addiu $t8, %lo(D_80165300) # addiu $t8, $t8, 0x5300
|
||||
/* 028BD8 80027FD8 284100A0 */ slti $at, $v0, 0xa0
|
||||
/* 028BDC 80027FDC 14200010 */ bnez $at, .L80028020
|
||||
/* 028BE0 80027FE0 284100B4 */ slti $at, $v0, 0xb4
|
||||
/* 028BE4 80027FE4 1020000E */ beqz $at, .L80028020
|
||||
/* 028BE8 80027FE8 3C0D8016 */ lui $t5, %hi(D_80165300) # $t5, 0x8016
|
||||
/* 028BEC 80027FEC 25AD5300 */ addiu $t5, %lo(D_80165300) # addiu $t5, $t5, 0x5300
|
||||
/* 028BF0 80027FF0 006D1021 */ addu $v0, $v1, $t5
|
||||
/* 028BF4 80027FF4 844E0000 */ lh $t6, ($v0)
|
||||
/* 028BF8 80027FF8 24010001 */ li $at, 1
|
||||
/* 028BFC 80027FFC 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 028C00 80028000 11C10004 */ beq $t6, $at, .L80028014
|
||||
/* 028C04 80028004 24050055 */ li $a1, 85
|
||||
/* 028C08 80028008 0C0328A2 */ jal func_800CA288
|
||||
/* 028C0C 8002800C AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 028C10 80028010 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
.L80028014:
|
||||
/* 028C14 80028014 240F0001 */ li $t7, 1
|
||||
/* 028C18 80028018 1000020E */ b .L80028854
|
||||
/* 028C1C 8002801C A44F0000 */ sh $t7, ($v0)
|
||||
.L80028020:
|
||||
/* 028C20 80028020 00781021 */ addu $v0, $v1, $t8
|
||||
/* 028C24 80028024 84590000 */ lh $t9, ($v0)
|
||||
/* 028C28 80028028 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 028C2C 8002802C 5320020A */ beql $t9, $zero, .L80028858
|
||||
/* 028C30 80028030 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 028C34 80028034 0C0328AE */ jal func_800CA2B8
|
||||
/* 028C38 80028038 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 028C3C 8002803C 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
/* 028C40 80028040 10000204 */ b .L80028854
|
||||
/* 028C44 80028044 A4400000 */ sh $zero, ($v0)
|
||||
glabel L80028048
|
||||
/* 028C48 80028048 00061840 */ sll $v1, $a2, 1
|
||||
/* 028C4C 8002804C 3C028016 */ lui $v0, %hi(gNearestWaypointByPlayerId) # 0x8016
|
||||
/* 028C50 80028050 00431021 */ addu $v0, $v0, $v1
|
||||
/* 028C54 80028054 84424438 */ lh $v0, %lo(gNearestWaypointByPlayerId)($v0) # 0x4438($v0)
|
||||
/* 028C58 80028058 3C0B8016 */ lui $t3, %hi(D_80165300) # $t3, 0x8016
|
||||
/* 028C5C 8002805C 256B5300 */ addiu $t3, %lo(D_80165300) # addiu $t3, $t3, 0x5300
|
||||
/* 028C60 80028060 28410029 */ slti $at, $v0, 0x29
|
||||
/* 028C64 80028064 14200010 */ bnez $at, .L800280A8
|
||||
/* 028C68 80028068 284101D2 */ slti $at, $v0, 0x1d2
|
||||
/* 028C6C 8002806C 1020000E */ beqz $at, .L800280A8
|
||||
/* 028C70 80028070 3C088016 */ lui $t0, %hi(D_80165300) # $t0, 0x8016
|
||||
/* 028C74 80028074 25085300 */ addiu $t0, %lo(D_80165300) # addiu $t0, $t0, 0x5300
|
||||
/* 028C78 80028078 00681021 */ addu $v0, $v1, $t0
|
||||
/* 028C7C 8002807C 84490000 */ lh $t1, ($v0)
|
||||
/* 028C80 80028080 24010001 */ li $at, 1
|
||||
/* 028C84 80028084 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 028C88 80028088 11210004 */ beq $t1, $at, .L8002809C
|
||||
/* 028C8C 8002808C 24050041 */ li $a1, 65
|
||||
/* 028C90 80028090 0C0328A2 */ jal func_800CA288
|
||||
/* 028C94 80028094 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 028C98 80028098 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
.L8002809C:
|
||||
/* 028C9C 8002809C 240A0001 */ li $t2, 1
|
||||
/* 028CA0 800280A0 100001EC */ b .L80028854
|
||||
/* 028CA4 800280A4 A44A0000 */ sh $t2, ($v0)
|
||||
.L800280A8:
|
||||
/* 028CA8 800280A8 006B1021 */ addu $v0, $v1, $t3
|
||||
/* 028CAC 800280AC 844C0000 */ lh $t4, ($v0)
|
||||
/* 028CB0 800280B0 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 028CB4 800280B4 518001E8 */ beql $t4, $zero, .L80028858
|
||||
/* 028CB8 800280B8 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 028CBC 800280BC 0C0328AE */ jal func_800CA2B8
|
||||
/* 028CC0 800280C0 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 028CC4 800280C4 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
/* 028CC8 800280C8 100001E2 */ b .L80028854
|
||||
/* 028CCC 800280CC A4400000 */ sh $zero, ($v0)
|
||||
glabel L800280D0
|
||||
/* 028CD0 800280D0 00061840 */ sll $v1, $a2, 1
|
||||
/* 028CD4 800280D4 3C028016 */ lui $v0, %hi(gNearestWaypointByPlayerId) # 0x8016
|
||||
/* 028CD8 800280D8 00431021 */ addu $v0, $v0, $v1
|
||||
/* 028CDC 800280DC 84424438 */ lh $v0, %lo(gNearestWaypointByPlayerId)($v0) # 0x4438($v0)
|
||||
/* 028CE0 800280E0 3C188016 */ lui $t8, %hi(D_80165300) # $t8, 0x8016
|
||||
/* 028CE4 800280E4 27185300 */ addiu $t8, %lo(D_80165300) # addiu $t8, $t8, 0x5300
|
||||
/* 028CE8 800280E8 28410180 */ slti $at, $v0, 0x180
|
||||
/* 028CEC 800280EC 14200010 */ bnez $at, .L80028130
|
||||
/* 028CF0 800280F0 284101E1 */ slti $at, $v0, 0x1e1
|
||||
/* 028CF4 800280F4 1020000E */ beqz $at, .L80028130
|
||||
/* 028CF8 800280F8 3C0D8016 */ lui $t5, %hi(D_80165300) # $t5, 0x8016
|
||||
/* 028CFC 800280FC 25AD5300 */ addiu $t5, %lo(D_80165300) # addiu $t5, $t5, 0x5300
|
||||
/* 028D00 80028100 006D1021 */ addu $v0, $v1, $t5
|
||||
/* 028D04 80028104 844E0000 */ lh $t6, ($v0)
|
||||
/* 028D08 80028108 24010001 */ li $at, 1
|
||||
/* 028D0C 8002810C 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 028D10 80028110 11C10004 */ beq $t6, $at, .L80028124
|
||||
/* 028D14 80028114 24050041 */ li $a1, 65
|
||||
/* 028D18 80028118 0C0328A2 */ jal func_800CA288
|
||||
/* 028D1C 8002811C AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 028D20 80028120 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
.L80028124:
|
||||
/* 028D24 80028124 240F0001 */ li $t7, 1
|
||||
/* 028D28 80028128 100001CA */ b .L80028854
|
||||
/* 028D2C 8002812C A44F0000 */ sh $t7, ($v0)
|
||||
.L80028130:
|
||||
/* 028D30 80028130 00781021 */ addu $v0, $v1, $t8
|
||||
/* 028D34 80028134 84590000 */ lh $t9, ($v0)
|
||||
/* 028D38 80028138 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 028D3C 8002813C 532001C6 */ beql $t9, $zero, .L80028858
|
||||
/* 028D40 80028140 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 028D44 80028144 0C0328AE */ jal func_800CA2B8
|
||||
/* 028D48 80028148 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 028D4C 8002814C 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
/* 028D50 80028150 100001C0 */ b .L80028854
|
||||
/* 028D54 80028154 A4400000 */ sh $zero, ($v0)
|
||||
glabel L80028158
|
||||
/* 028D58 80028158 00061840 */ sll $v1, $a2, 1
|
||||
/* 028D5C 8002815C 3C028016 */ lui $v0, %hi(gNearestWaypointByPlayerId) # 0x8016
|
||||
/* 028D60 80028160 00431021 */ addu $v0, $v0, $v1
|
||||
/* 028D64 80028164 84424438 */ lh $v0, %lo(gNearestWaypointByPlayerId)($v0) # 0x4438($v0)
|
||||
/* 028D68 80028168 3C0B8016 */ lui $t3, %hi(D_80165300) # $t3, 0x8016
|
||||
/* 028D6C 8002816C 256B5300 */ addiu $t3, %lo(D_80165300) # addiu $t3, $t3, 0x5300
|
||||
/* 028D70 80028170 28410145 */ slti $at, $v0, 0x145
|
||||
/* 028D74 80028174 14200010 */ bnez $at, .L800281B8
|
||||
/* 028D78 80028178 2841018B */ slti $at, $v0, 0x18b
|
||||
/* 028D7C 8002817C 1020000E */ beqz $at, .L800281B8
|
||||
/* 028D80 80028180 3C088016 */ lui $t0, %hi(D_80165300) # $t0, 0x8016
|
||||
/* 028D84 80028184 25085300 */ addiu $t0, %lo(D_80165300) # addiu $t0, $t0, 0x5300
|
||||
/* 028D88 80028188 00681021 */ addu $v0, $v1, $t0
|
||||
/* 028D8C 8002818C 84490000 */ lh $t1, ($v0)
|
||||
/* 028D90 80028190 24010001 */ li $at, 1
|
||||
/* 028D94 80028194 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 028D98 80028198 11210004 */ beq $t1, $at, .L800281AC
|
||||
/* 028D9C 8002819C 24050055 */ li $a1, 85
|
||||
/* 028DA0 800281A0 0C0328A2 */ jal func_800CA288
|
||||
/* 028DA4 800281A4 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 028DA8 800281A8 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
.L800281AC:
|
||||
/* 028DAC 800281AC 240A0001 */ li $t2, 1
|
||||
/* 028DB0 800281B0 100001A8 */ b .L80028854
|
||||
/* 028DB4 800281B4 A44A0000 */ sh $t2, ($v0)
|
||||
.L800281B8:
|
||||
/* 028DB8 800281B8 006B1021 */ addu $v0, $v1, $t3
|
||||
/* 028DBC 800281BC 844C0000 */ lh $t4, ($v0)
|
||||
/* 028DC0 800281C0 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 028DC4 800281C4 518001A4 */ beql $t4, $zero, .L80028858
|
||||
/* 028DC8 800281C8 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 028DCC 800281CC 0C0328AE */ jal func_800CA2B8
|
||||
/* 028DD0 800281D0 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 028DD4 800281D4 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
/* 028DD8 800281D8 1000019E */ b .L80028854
|
||||
/* 028DDC 800281DC A4400000 */ sh $zero, ($v0)
|
||||
glabel L800281E0
|
||||
/* 028DE0 800281E0 304D0800 */ andi $t5, $v0, 0x800
|
||||
/* 028DE4 800281E4 24010800 */ li $at, 2048
|
||||
/* 028DE8 800281E8 11A10010 */ beq $t5, $at, .L8002822C
|
||||
/* 028DEC 800281EC 00064040 */ sll $t0, $a2, 1
|
||||
/* 028DF0 800281F0 3C0F8016 */ lui $t7, %hi(D_80165300) # $t7, 0x8016
|
||||
/* 028DF4 800281F4 25EF5300 */ addiu $t7, %lo(D_80165300) # addiu $t7, $t7, 0x5300
|
||||
/* 028DF8 800281F8 00067040 */ sll $t6, $a2, 1
|
||||
/* 028DFC 800281FC 01CF1021 */ addu $v0, $t6, $t7
|
||||
/* 028E00 80028200 84580000 */ lh $t8, ($v0)
|
||||
/* 028E04 80028204 24010001 */ li $at, 1
|
||||
/* 028E08 80028208 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 028E0C 8002820C 13010004 */ beq $t8, $at, .L80028220
|
||||
/* 028E10 80028210 2405001E */ li $a1, 30
|
||||
/* 028E14 80028214 0C0328A2 */ jal func_800CA288
|
||||
/* 028E18 80028218 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 028E1C 8002821C 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
.L80028220:
|
||||
/* 028E20 80028220 24190001 */ li $t9, 1
|
||||
/* 028E24 80028224 1000018B */ b .L80028854
|
||||
/* 028E28 80028228 A4590000 */ sh $t9, ($v0)
|
||||
.L8002822C:
|
||||
/* 028E2C 8002822C 3C098016 */ lui $t1, %hi(D_80165300) # $t1, 0x8016
|
||||
/* 028E30 80028230 25295300 */ addiu $t1, %lo(D_80165300) # addiu $t1, $t1, 0x5300
|
||||
/* 028E34 80028234 01091021 */ addu $v0, $t0, $t1
|
||||
/* 028E38 80028238 844A0000 */ lh $t2, ($v0)
|
||||
/* 028E3C 8002823C 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 028E40 80028240 51400185 */ beql $t2, $zero, .L80028858
|
||||
/* 028E44 80028244 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 028E48 80028248 0C0328AE */ jal func_800CA2B8
|
||||
/* 028E4C 8002824C AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 028E50 80028250 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
/* 028E54 80028254 1000017F */ b .L80028854
|
||||
/* 028E58 80028258 A4400000 */ sh $zero, ($v0)
|
||||
glabel L8002825C
|
||||
/* 028E5C 8002825C 00061840 */ sll $v1, $a2, 1
|
||||
/* 028E60 80028260 3C028016 */ lui $v0, %hi(gNearestWaypointByPlayerId) # 0x8016
|
||||
/* 028E64 80028264 00431021 */ addu $v0, $v0, $v1
|
||||
/* 028E68 80028268 84424438 */ lh $v0, %lo(gNearestWaypointByPlayerId)($v0) # 0x4438($v0)
|
||||
/* 028E6C 8002826C 3C0E8016 */ lui $t6, %hi(D_80165300) # $t6, 0x8016
|
||||
/* 028E70 80028270 25CE5300 */ addiu $t6, %lo(D_80165300) # addiu $t6, $t6, 0x5300
|
||||
/* 028E74 80028274 2841011C */ slti $at, $v0, 0x11c
|
||||
/* 028E78 80028278 14200010 */ bnez $at, .L800282BC
|
||||
/* 028E7C 8002827C 28410209 */ slti $at, $v0, 0x209
|
||||
/* 028E80 80028280 1020000E */ beqz $at, .L800282BC
|
||||
/* 028E84 80028284 3C0B8016 */ lui $t3, %hi(D_80165300) # $t3, 0x8016
|
||||
/* 028E88 80028288 256B5300 */ addiu $t3, %lo(D_80165300) # addiu $t3, $t3, 0x5300
|
||||
/* 028E8C 8002828C 006B1021 */ addu $v0, $v1, $t3
|
||||
/* 028E90 80028290 844C0000 */ lh $t4, ($v0)
|
||||
/* 028E94 80028294 24010001 */ li $at, 1
|
||||
/* 028E98 80028298 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 028E9C 8002829C 11810004 */ beq $t4, $at, .L800282B0
|
||||
/* 028EA0 800282A0 24050055 */ li $a1, 85
|
||||
/* 028EA4 800282A4 0C0328A2 */ jal func_800CA288
|
||||
/* 028EA8 800282A8 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 028EAC 800282AC 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
.L800282B0:
|
||||
/* 028EB0 800282B0 240D0001 */ li $t5, 1
|
||||
/* 028EB4 800282B4 10000167 */ b .L80028854
|
||||
/* 028EB8 800282B8 A44D0000 */ sh $t5, ($v0)
|
||||
.L800282BC:
|
||||
/* 028EBC 800282BC 006E1021 */ addu $v0, $v1, $t6
|
||||
/* 028EC0 800282C0 844F0000 */ lh $t7, ($v0)
|
||||
/* 028EC4 800282C4 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 028EC8 800282C8 51E00163 */ beql $t7, $zero, .L80028858
|
||||
/* 028ECC 800282CC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 028ED0 800282D0 0C0328AE */ jal func_800CA2B8
|
||||
/* 028ED4 800282D4 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 028ED8 800282D8 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
/* 028EDC 800282DC 1000015D */ b .L80028854
|
||||
/* 028EE0 800282E0 A4400000 */ sh $zero, ($v0)
|
||||
glabel L800282E4
|
||||
/* 028EE4 800282E4 00061840 */ sll $v1, $a2, 1
|
||||
/* 028EE8 800282E8 3C028016 */ lui $v0, %hi(gNearestWaypointByPlayerId) # 0x8016
|
||||
/* 028EEC 800282EC 00431021 */ addu $v0, $v0, $v1
|
||||
/* 028EF0 800282F0 84424438 */ lh $v0, %lo(gNearestWaypointByPlayerId)($v0) # 0x4438($v0)
|
||||
/* 028EF4 800282F4 04400002 */ bltz $v0, .L80028300
|
||||
/* 028EF8 800282F8 28410065 */ slti $at, $v0, 0x65
|
||||
/* 028EFC 800282FC 14200004 */ bnez $at, .L80028310
|
||||
.L80028300:
|
||||
/* 028F00 80028300 2841014A */ slti $at, $v0, 0x14a
|
||||
/* 028F04 80028304 14200011 */ bnez $at, .L8002834C
|
||||
/* 028F08 80028308 2841021F */ slti $at, $v0, 0x21f
|
||||
/* 028F0C 8002830C 1020000F */ beqz $at, .L8002834C
|
||||
.L80028310:
|
||||
/* 028F10 80028310 3C188016 */ lui $t8, %hi(D_80165300) # $t8, 0x8016
|
||||
/* 028F14 80028314 27185300 */ addiu $t8, %lo(D_80165300) # addiu $t8, $t8, 0x5300
|
||||
/* 028F18 80028318 00781021 */ addu $v0, $v1, $t8
|
||||
/* 028F1C 8002831C 84590000 */ lh $t9, ($v0)
|
||||
/* 028F20 80028320 24010002 */ li $at, 2
|
||||
/* 028F24 80028324 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 028F28 80028328 13210005 */ beq $t9, $at, .L80028340
|
||||
/* 028F2C 8002832C 3C050170 */ lui $a1, (0x0170802D >> 16) # lui $a1, 0x170
|
||||
/* 028F30 80028330 34A5802D */ ori $a1, (0x0170802D & 0xFFFF) # ori $a1, $a1, 0x802d
|
||||
/* 028F34 80028334 0C0323E0 */ jal func_800C8F80
|
||||
/* 028F38 80028338 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 028F3C 8002833C 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
.L80028340:
|
||||
/* 028F40 80028340 24080002 */ li $t0, 2
|
||||
/* 028F44 80028344 10000143 */ b .L80028854
|
||||
/* 028F48 80028348 A4480000 */ sh $t0, ($v0)
|
||||
.L8002834C:
|
||||
/* 028F4C 8002834C 28410288 */ slti $at, $v0, 0x288
|
||||
/* 028F50 80028350 14200010 */ bnez $at, .L80028394
|
||||
/* 028F54 80028354 28410305 */ slti $at, $v0, 0x305
|
||||
/* 028F58 80028358 1020000E */ beqz $at, .L80028394
|
||||
/* 028F5C 8002835C 3C098016 */ lui $t1, %hi(D_80165300) # $t1, 0x8016
|
||||
/* 028F60 80028360 25295300 */ addiu $t1, %lo(D_80165300) # addiu $t1, $t1, 0x5300
|
||||
/* 028F64 80028364 00691021 */ addu $v0, $v1, $t1
|
||||
/* 028F68 80028368 844A0000 */ lh $t2, ($v0)
|
||||
/* 028F6C 8002836C 24010001 */ li $at, 1
|
||||
/* 028F70 80028370 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 028F74 80028374 11410004 */ beq $t2, $at, .L80028388
|
||||
/* 028F78 80028378 24050055 */ li $a1, 85
|
||||
/* 028F7C 8002837C 0C0328A2 */ jal func_800CA288
|
||||
/* 028F80 80028380 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 028F84 80028384 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
.L80028388:
|
||||
/* 028F88 80028388 240B0001 */ li $t3, 1
|
||||
/* 028F8C 8002838C 10000131 */ b .L80028854
|
||||
/* 028F90 80028390 A44B0000 */ sh $t3, ($v0)
|
||||
.L80028394:
|
||||
/* 028F94 80028394 3C0C8016 */ lui $t4, %hi(D_80165300) # $t4, 0x8016
|
||||
/* 028F98 80028398 258C5300 */ addiu $t4, %lo(D_80165300) # addiu $t4, $t4, 0x5300
|
||||
/* 028F9C 8002839C 006C1021 */ addu $v0, $v1, $t4
|
||||
/* 028FA0 800283A0 84440000 */ lh $a0, ($v0)
|
||||
/* 028FA4 800283A4 24010001 */ li $at, 1
|
||||
/* 028FA8 800283A8 5080012B */ beql $a0, $zero, .L80028858
|
||||
/* 028FAC 800283AC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 028FB0 800283B0 54810009 */ bnel $a0, $at, .L800283D8
|
||||
/* 028FB4 800283B4 24010002 */ li $at, 2
|
||||
/* 028FB8 800283B8 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 028FBC 800283BC AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 028FC0 800283C0 0C0328AE */ jal func_800CA2B8
|
||||
/* 028FC4 800283C4 A3A6002F */ sb $a2, 0x2f($sp)
|
||||
/* 028FC8 800283C8 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
/* 028FCC 800283CC 83A6002F */ lb $a2, 0x2f($sp)
|
||||
/* 028FD0 800283D0 84440000 */ lh $a0, ($v0)
|
||||
/* 028FD4 800283D4 24010002 */ li $at, 2
|
||||
.L800283D8:
|
||||
/* 028FD8 800283D8 14810006 */ bne $a0, $at, .L800283F4
|
||||
/* 028FDC 800283DC 3C050170 */ lui $a1, (0x0170802D >> 16) # lui $a1, 0x170
|
||||
/* 028FE0 800283E0 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 028FE4 800283E4 34A5802D */ ori $a1, (0x0170802D & 0xFFFF) # ori $a1, $a1, 0x802d
|
||||
/* 028FE8 800283E8 0C032406 */ jal func_800C9018
|
||||
/* 028FEC 800283EC AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 028FF0 800283F0 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
.L800283F4:
|
||||
/* 028FF4 800283F4 10000117 */ b .L80028854
|
||||
/* 028FF8 800283F8 A4400000 */ sh $zero, ($v0)
|
||||
.L800283FC:
|
||||
/* 028FFC 800283FC 3C0D800E */ lui $t5, %hi(gCurrentCourseId) # $t5, 0x800e
|
||||
/* 029000 80028400 95ADC5A0 */ lhu $t5, %lo(gCurrentCourseId)($t5)
|
||||
/* 029004 80028404 2DA10013 */ sltiu $at, $t5, 0x13
|
||||
/* 029008 80028408 10200112 */ beqz $at, .L80028854
|
||||
/* 02900C 8002840C 000D6880 */ sll $t5, $t5, 2
|
||||
/* 029010 80028410 3C01800F */ lui $at, %hi(jpt_800ED73C) # 0x800f
|
||||
/* 029014 80028414 002D0821 */ addu $at, $at, $t5
|
||||
/* 029018 80028418 8C2DD73C */ lw $t5, %lo(jpt_800ED73C)($at) # -0x28c4($at)
|
||||
/* 02901C 8002841C 01A00008 */ jr $t5
|
||||
/* 029020 80028420 00000000 */ nop
|
||||
glabel L80028424
|
||||
/* 029024 80028424 00061840 */ sll $v1, $a2, 1
|
||||
/* 029028 80028428 3C028016 */ lui $v0, %hi(gNearestWaypointByPlayerId) # 0x8016
|
||||
/* 02902C 8002842C 00431021 */ addu $v0, $v0, $v1
|
||||
/* 029030 80028430 84424438 */ lh $v0, %lo(gNearestWaypointByPlayerId)($v0) # 0x4438($v0)
|
||||
/* 029034 80028434 3C198016 */ lui $t9, %hi(D_80165300) # $t9, 0x8016
|
||||
/* 029038 80028438 27395300 */ addiu $t9, %lo(D_80165300) # addiu $t9, $t9, 0x5300
|
||||
/* 02903C 8002843C 2841019B */ slti $at, $v0, 0x19b
|
||||
/* 029040 80028440 14200010 */ bnez $at, .L80028484
|
||||
/* 029044 80028444 284101B9 */ slti $at, $v0, 0x1b9
|
||||
/* 029048 80028448 1020000E */ beqz $at, .L80028484
|
||||
/* 02904C 8002844C 3C0E8016 */ lui $t6, %hi(D_80165300) # $t6, 0x8016
|
||||
/* 029050 80028450 25CE5300 */ addiu $t6, %lo(D_80165300) # addiu $t6, $t6, 0x5300
|
||||
/* 029054 80028454 006E1021 */ addu $v0, $v1, $t6
|
||||
/* 029058 80028458 844F0000 */ lh $t7, ($v0)
|
||||
/* 02905C 8002845C 24010001 */ li $at, 1
|
||||
/* 029060 80028460 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 029064 80028464 11E10004 */ beq $t7, $at, .L80028478
|
||||
/* 029068 80028468 24050055 */ li $a1, 85
|
||||
/* 02906C 8002846C 0C0328B9 */ jal func_800CA2E4
|
||||
/* 029070 80028470 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 029074 80028474 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
.L80028478:
|
||||
/* 029078 80028478 24180001 */ li $t8, 1
|
||||
/* 02907C 8002847C 100000F5 */ b .L80028854
|
||||
/* 029080 80028480 A4580000 */ sh $t8, ($v0)
|
||||
.L80028484:
|
||||
/* 029084 80028484 00791021 */ addu $v0, $v1, $t9
|
||||
/* 029088 80028488 84480000 */ lh $t0, ($v0)
|
||||
/* 02908C 8002848C 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 029090 80028490 510000F1 */ beql $t0, $zero, .L80028858
|
||||
/* 029094 80028494 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 029098 80028498 0C0328C3 */ jal func_800CA30C
|
||||
/* 02909C 8002849C AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 0290A0 800284A0 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
/* 0290A4 800284A4 100000EB */ b .L80028854
|
||||
/* 0290A8 800284A8 A4400000 */ sh $zero, ($v0)
|
||||
glabel L800284AC
|
||||
/* 0290AC 800284AC 00061840 */ sll $v1, $a2, 1
|
||||
/* 0290B0 800284B0 3C028016 */ lui $v0, %hi(gNearestWaypointByPlayerId) # 0x8016
|
||||
/* 0290B4 800284B4 00431021 */ addu $v0, $v0, $v1
|
||||
/* 0290B8 800284B8 84424438 */ lh $v0, %lo(gNearestWaypointByPlayerId)($v0) # 0x4438($v0)
|
||||
/* 0290BC 800284BC 3C0C8016 */ lui $t4, %hi(D_80165300) # $t4, 0x8016
|
||||
/* 0290C0 800284C0 258C5300 */ addiu $t4, %lo(D_80165300) # addiu $t4, $t4, 0x5300
|
||||
/* 0290C4 800284C4 284100A0 */ slti $at, $v0, 0xa0
|
||||
/* 0290C8 800284C8 14200010 */ bnez $at, .L8002850C
|
||||
/* 0290CC 800284CC 284100B4 */ slti $at, $v0, 0xb4
|
||||
/* 0290D0 800284D0 1020000E */ beqz $at, .L8002850C
|
||||
/* 0290D4 800284D4 3C098016 */ lui $t1, %hi(D_80165300) # $t1, 0x8016
|
||||
/* 0290D8 800284D8 25295300 */ addiu $t1, %lo(D_80165300) # addiu $t1, $t1, 0x5300
|
||||
/* 0290DC 800284DC 00691021 */ addu $v0, $v1, $t1
|
||||
/* 0290E0 800284E0 844A0000 */ lh $t2, ($v0)
|
||||
/* 0290E4 800284E4 24010001 */ li $at, 1
|
||||
/* 0290E8 800284E8 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 0290EC 800284EC 11410004 */ beq $t2, $at, .L80028500
|
||||
/* 0290F0 800284F0 24050055 */ li $a1, 85
|
||||
/* 0290F4 800284F4 0C0328B9 */ jal func_800CA2E4
|
||||
/* 0290F8 800284F8 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 0290FC 800284FC 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
.L80028500:
|
||||
/* 029100 80028500 240B0001 */ li $t3, 1
|
||||
/* 029104 80028504 100000D3 */ b .L80028854
|
||||
/* 029108 80028508 A44B0000 */ sh $t3, ($v0)
|
||||
.L8002850C:
|
||||
/* 02910C 8002850C 006C1021 */ addu $v0, $v1, $t4
|
||||
/* 029110 80028510 844D0000 */ lh $t5, ($v0)
|
||||
/* 029114 80028514 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 029118 80028518 51A000CF */ beql $t5, $zero, .L80028858
|
||||
/* 02911C 8002851C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 029120 80028520 0C0328C3 */ jal func_800CA30C
|
||||
/* 029124 80028524 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 029128 80028528 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
/* 02912C 8002852C 100000C9 */ b .L80028854
|
||||
/* 029130 80028530 A4400000 */ sh $zero, ($v0)
|
||||
glabel L80028534
|
||||
/* 029134 80028534 00061840 */ sll $v1, $a2, 1
|
||||
/* 029138 80028538 3C028016 */ lui $v0, %hi(gNearestWaypointByPlayerId) # 0x8016
|
||||
/* 02913C 8002853C 00431021 */ addu $v0, $v0, $v1
|
||||
/* 029140 80028540 84424438 */ lh $v0, %lo(gNearestWaypointByPlayerId)($v0) # 0x4438($v0)
|
||||
/* 029144 80028544 3C198016 */ lui $t9, %hi(D_80165300) # $t9, 0x8016
|
||||
/* 029148 80028548 27395300 */ addiu $t9, %lo(D_80165300) # addiu $t9, $t9, 0x5300
|
||||
/* 02914C 8002854C 28410029 */ slti $at, $v0, 0x29
|
||||
/* 029150 80028550 14200010 */ bnez $at, .L80028594
|
||||
/* 029154 80028554 284101D2 */ slti $at, $v0, 0x1d2
|
||||
/* 029158 80028558 1020000E */ beqz $at, .L80028594
|
||||
/* 02915C 8002855C 3C0E8016 */ lui $t6, %hi(D_80165300) # $t6, 0x8016
|
||||
/* 029160 80028560 25CE5300 */ addiu $t6, %lo(D_80165300) # addiu $t6, $t6, 0x5300
|
||||
/* 029164 80028564 006E1021 */ addu $v0, $v1, $t6
|
||||
/* 029168 80028568 844F0000 */ lh $t7, ($v0)
|
||||
/* 02916C 8002856C 24010001 */ li $at, 1
|
||||
/* 029170 80028570 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 029174 80028574 11E10004 */ beq $t7, $at, .L80028588
|
||||
/* 029178 80028578 24050041 */ li $a1, 65
|
||||
/* 02917C 8002857C 0C0328B9 */ jal func_800CA2E4
|
||||
/* 029180 80028580 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 029184 80028584 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
.L80028588:
|
||||
/* 029188 80028588 24180001 */ li $t8, 1
|
||||
/* 02918C 8002858C 100000B1 */ b .L80028854
|
||||
/* 029190 80028590 A4580000 */ sh $t8, ($v0)
|
||||
.L80028594:
|
||||
/* 029194 80028594 00791021 */ addu $v0, $v1, $t9
|
||||
/* 029198 80028598 84480000 */ lh $t0, ($v0)
|
||||
/* 02919C 8002859C 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 0291A0 800285A0 510000AD */ beql $t0, $zero, .L80028858
|
||||
/* 0291A4 800285A4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0291A8 800285A8 0C0328C3 */ jal func_800CA30C
|
||||
/* 0291AC 800285AC AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 0291B0 800285B0 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
/* 0291B4 800285B4 100000A7 */ b .L80028854
|
||||
/* 0291B8 800285B8 A4400000 */ sh $zero, ($v0)
|
||||
glabel L800285BC
|
||||
/* 0291BC 800285BC 00061840 */ sll $v1, $a2, 1
|
||||
/* 0291C0 800285C0 3C028016 */ lui $v0, %hi(gNearestWaypointByPlayerId) # 0x8016
|
||||
/* 0291C4 800285C4 00431021 */ addu $v0, $v0, $v1
|
||||
/* 0291C8 800285C8 84424438 */ lh $v0, %lo(gNearestWaypointByPlayerId)($v0) # 0x4438($v0)
|
||||
/* 0291CC 800285CC 3C0C8016 */ lui $t4, %hi(D_80165300) # $t4, 0x8016
|
||||
/* 0291D0 800285D0 258C5300 */ addiu $t4, %lo(D_80165300) # addiu $t4, $t4, 0x5300
|
||||
/* 0291D4 800285D4 28410180 */ slti $at, $v0, 0x180
|
||||
/* 0291D8 800285D8 14200010 */ bnez $at, .L8002861C
|
||||
/* 0291DC 800285DC 284101E1 */ slti $at, $v0, 0x1e1
|
||||
/* 0291E0 800285E0 1020000E */ beqz $at, .L8002861C
|
||||
/* 0291E4 800285E4 3C098016 */ lui $t1, %hi(D_80165300) # $t1, 0x8016
|
||||
/* 0291E8 800285E8 25295300 */ addiu $t1, %lo(D_80165300) # addiu $t1, $t1, 0x5300
|
||||
/* 0291EC 800285EC 00691021 */ addu $v0, $v1, $t1
|
||||
/* 0291F0 800285F0 844A0000 */ lh $t2, ($v0)
|
||||
/* 0291F4 800285F4 24010001 */ li $at, 1
|
||||
/* 0291F8 800285F8 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 0291FC 800285FC 11410004 */ beq $t2, $at, .L80028610
|
||||
/* 029200 80028600 24050041 */ li $a1, 65
|
||||
/* 029204 80028604 0C0328B9 */ jal func_800CA2E4
|
||||
/* 029208 80028608 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 02920C 8002860C 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
.L80028610:
|
||||
/* 029210 80028610 240B0001 */ li $t3, 1
|
||||
/* 029214 80028614 1000008F */ b .L80028854
|
||||
/* 029218 80028618 A44B0000 */ sh $t3, ($v0)
|
||||
.L8002861C:
|
||||
/* 02921C 8002861C 006C1021 */ addu $v0, $v1, $t4
|
||||
/* 029220 80028620 844D0000 */ lh $t5, ($v0)
|
||||
/* 029224 80028624 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 029228 80028628 51A0008B */ beql $t5, $zero, .L80028858
|
||||
/* 02922C 8002862C 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 029230 80028630 0C0328C3 */ jal func_800CA30C
|
||||
/* 029234 80028634 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 029238 80028638 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
/* 02923C 8002863C 10000085 */ b .L80028854
|
||||
/* 029240 80028640 A4400000 */ sh $zero, ($v0)
|
||||
glabel L80028644
|
||||
/* 029244 80028644 00061840 */ sll $v1, $a2, 1
|
||||
/* 029248 80028648 3C028016 */ lui $v0, %hi(gNearestWaypointByPlayerId) # 0x8016
|
||||
/* 02924C 8002864C 00431021 */ addu $v0, $v0, $v1
|
||||
/* 029250 80028650 84424438 */ lh $v0, %lo(gNearestWaypointByPlayerId)($v0) # 0x4438($v0)
|
||||
/* 029254 80028654 3C198016 */ lui $t9, %hi(D_80165300) # $t9, 0x8016
|
||||
/* 029258 80028658 27395300 */ addiu $t9, %lo(D_80165300) # addiu $t9, $t9, 0x5300
|
||||
/* 02925C 8002865C 28410145 */ slti $at, $v0, 0x145
|
||||
/* 029260 80028660 14200010 */ bnez $at, .L800286A4
|
||||
/* 029264 80028664 2841018B */ slti $at, $v0, 0x18b
|
||||
/* 029268 80028668 1020000E */ beqz $at, .L800286A4
|
||||
/* 02926C 8002866C 3C0E8016 */ lui $t6, %hi(D_80165300) # $t6, 0x8016
|
||||
/* 029270 80028670 25CE5300 */ addiu $t6, %lo(D_80165300) # addiu $t6, $t6, 0x5300
|
||||
/* 029274 80028674 006E1021 */ addu $v0, $v1, $t6
|
||||
/* 029278 80028678 844F0000 */ lh $t7, ($v0)
|
||||
/* 02927C 8002867C 24010001 */ li $at, 1
|
||||
/* 029280 80028680 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 029284 80028684 11E10004 */ beq $t7, $at, .L80028698
|
||||
/* 029288 80028688 24050055 */ li $a1, 85
|
||||
/* 02928C 8002868C 0C0328B9 */ jal func_800CA2E4
|
||||
/* 029290 80028690 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 029294 80028694 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
.L80028698:
|
||||
/* 029298 80028698 24180001 */ li $t8, 1
|
||||
/* 02929C 8002869C 1000006D */ b .L80028854
|
||||
/* 0292A0 800286A0 A4580000 */ sh $t8, ($v0)
|
||||
.L800286A4:
|
||||
/* 0292A4 800286A4 00791021 */ addu $v0, $v1, $t9
|
||||
/* 0292A8 800286A8 84480000 */ lh $t0, ($v0)
|
||||
/* 0292AC 800286AC 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 0292B0 800286B0 51000069 */ beql $t0, $zero, .L80028858
|
||||
/* 0292B4 800286B4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0292B8 800286B8 0C0328C3 */ jal func_800CA30C
|
||||
/* 0292BC 800286BC AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 0292C0 800286C0 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
/* 0292C4 800286C4 10000063 */ b .L80028854
|
||||
/* 0292C8 800286C8 A4400000 */ sh $zero, ($v0)
|
||||
glabel L800286CC
|
||||
/* 0292CC 800286CC 30490800 */ andi $t1, $v0, 0x800
|
||||
/* 0292D0 800286D0 24010800 */ li $at, 2048
|
||||
/* 0292D4 800286D4 11210010 */ beq $t1, $at, .L80028718
|
||||
/* 0292D8 800286D8 00067040 */ sll $t6, $a2, 1
|
||||
/* 0292DC 800286DC 3C0B8016 */ lui $t3, %hi(D_80165300) # $t3, 0x8016
|
||||
/* 0292E0 800286E0 256B5300 */ addiu $t3, %lo(D_80165300) # addiu $t3, $t3, 0x5300
|
||||
/* 0292E4 800286E4 00065040 */ sll $t2, $a2, 1
|
||||
/* 0292E8 800286E8 014B1021 */ addu $v0, $t2, $t3
|
||||
/* 0292EC 800286EC 844C0000 */ lh $t4, ($v0)
|
||||
/* 0292F0 800286F0 24010001 */ li $at, 1
|
||||
/* 0292F4 800286F4 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 0292F8 800286F8 11810004 */ beq $t4, $at, .L8002870C
|
||||
/* 0292FC 800286FC 2405001E */ li $a1, 30
|
||||
/* 029300 80028700 0C0328B9 */ jal func_800CA2E4
|
||||
/* 029304 80028704 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 029308 80028708 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
.L8002870C:
|
||||
/* 02930C 8002870C 240D0001 */ li $t5, 1
|
||||
/* 029310 80028710 10000050 */ b .L80028854
|
||||
/* 029314 80028714 A44D0000 */ sh $t5, ($v0)
|
||||
.L80028718:
|
||||
/* 029318 80028718 3C0F8016 */ lui $t7, %hi(D_80165300) # $t7, 0x8016
|
||||
/* 02931C 8002871C 25EF5300 */ addiu $t7, %lo(D_80165300) # addiu $t7, $t7, 0x5300
|
||||
/* 029320 80028720 01CF1021 */ addu $v0, $t6, $t7
|
||||
/* 029324 80028724 84580000 */ lh $t8, ($v0)
|
||||
/* 029328 80028728 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 02932C 8002872C 5300004A */ beql $t8, $zero, .L80028858
|
||||
/* 029330 80028730 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 029334 80028734 0C0328C3 */ jal func_800CA30C
|
||||
/* 029338 80028738 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 02933C 8002873C 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
/* 029340 80028740 10000044 */ b .L80028854
|
||||
/* 029344 80028744 A4400000 */ sh $zero, ($v0)
|
||||
glabel L80028748
|
||||
/* 029348 80028748 00061840 */ sll $v1, $a2, 1
|
||||
/* 02934C 8002874C 3C028016 */ lui $v0, %hi(gNearestWaypointByPlayerId) # 0x8016
|
||||
/* 029350 80028750 00431021 */ addu $v0, $v0, $v1
|
||||
/* 029354 80028754 84424438 */ lh $v0, %lo(gNearestWaypointByPlayerId)($v0) # 0x4438($v0)
|
||||
/* 029358 80028758 3C0A8016 */ lui $t2, %hi(D_80165300) # $t2, 0x8016
|
||||
/* 02935C 8002875C 254A5300 */ addiu $t2, %lo(D_80165300) # addiu $t2, $t2, 0x5300
|
||||
/* 029360 80028760 2841011C */ slti $at, $v0, 0x11c
|
||||
/* 029364 80028764 14200010 */ bnez $at, .L800287A8
|
||||
/* 029368 80028768 28410209 */ slti $at, $v0, 0x209
|
||||
/* 02936C 8002876C 1020000E */ beqz $at, .L800287A8
|
||||
/* 029370 80028770 3C198016 */ lui $t9, %hi(D_80165300) # $t9, 0x8016
|
||||
/* 029374 80028774 27395300 */ addiu $t9, %lo(D_80165300) # addiu $t9, $t9, 0x5300
|
||||
/* 029378 80028778 00791021 */ addu $v0, $v1, $t9
|
||||
/* 02937C 8002877C 84480000 */ lh $t0, ($v0)
|
||||
/* 029380 80028780 24010001 */ li $at, 1
|
||||
/* 029384 80028784 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 029388 80028788 11010004 */ beq $t0, $at, .L8002879C
|
||||
/* 02938C 8002878C 24050055 */ li $a1, 85
|
||||
/* 029390 80028790 0C0328B9 */ jal func_800CA2E4
|
||||
/* 029394 80028794 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 029398 80028798 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
.L8002879C:
|
||||
/* 02939C 8002879C 24090001 */ li $t1, 1
|
||||
/* 0293A0 800287A0 1000002C */ b .L80028854
|
||||
/* 0293A4 800287A4 A4490000 */ sh $t1, ($v0)
|
||||
.L800287A8:
|
||||
/* 0293A8 800287A8 006A1021 */ addu $v0, $v1, $t2
|
||||
/* 0293AC 800287AC 844B0000 */ lh $t3, ($v0)
|
||||
/* 0293B0 800287B0 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 0293B4 800287B4 51600028 */ beql $t3, $zero, .L80028858
|
||||
/* 0293B8 800287B8 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0293BC 800287BC 0C0328C3 */ jal func_800CA30C
|
||||
/* 0293C0 800287C0 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 0293C4 800287C4 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
/* 0293C8 800287C8 10000022 */ b .L80028854
|
||||
/* 0293CC 800287CC A4400000 */ sh $zero, ($v0)
|
||||
glabel L800287D0
|
||||
/* 0293D0 800287D0 00061840 */ sll $v1, $a2, 1
|
||||
/* 0293D4 800287D4 3C028016 */ lui $v0, %hi(gNearestWaypointByPlayerId) # 0x8016
|
||||
/* 0293D8 800287D8 00431021 */ addu $v0, $v0, $v1
|
||||
/* 0293DC 800287DC 84424438 */ lh $v0, %lo(gNearestWaypointByPlayerId)($v0) # 0x4438($v0)
|
||||
/* 0293E0 800287E0 3C0F8016 */ lui $t7, %hi(D_80165300) # $t7, 0x8016
|
||||
/* 0293E4 800287E4 25EF5300 */ addiu $t7, %lo(D_80165300) # addiu $t7, $t7, 0x5300
|
||||
/* 0293E8 800287E8 28410288 */ slti $at, $v0, 0x288
|
||||
/* 0293EC 800287EC 14200010 */ bnez $at, .L80028830
|
||||
/* 0293F0 800287F0 28410305 */ slti $at, $v0, 0x305
|
||||
/* 0293F4 800287F4 1020000E */ beqz $at, .L80028830
|
||||
/* 0293F8 800287F8 3C0C8016 */ lui $t4, %hi(D_80165300) # $t4, 0x8016
|
||||
/* 0293FC 800287FC 258C5300 */ addiu $t4, %lo(D_80165300) # addiu $t4, $t4, 0x5300
|
||||
/* 029400 80028800 006C1021 */ addu $v0, $v1, $t4
|
||||
/* 029404 80028804 844D0000 */ lh $t5, ($v0)
|
||||
/* 029408 80028808 24010001 */ li $at, 1
|
||||
/* 02940C 8002880C 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 029410 80028810 11A10004 */ beq $t5, $at, .L80028824
|
||||
/* 029414 80028814 24050055 */ li $a1, 85
|
||||
/* 029418 80028818 0C0328B9 */ jal func_800CA2E4
|
||||
/* 02941C 8002881C AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 029420 80028820 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
.L80028824:
|
||||
/* 029424 80028824 240E0001 */ li $t6, 1
|
||||
/* 029428 80028828 1000000A */ b .L80028854
|
||||
/* 02942C 8002882C A44E0000 */ sh $t6, ($v0)
|
||||
.L80028830:
|
||||
/* 029430 80028830 006F1021 */ addu $v0, $v1, $t7
|
||||
/* 029434 80028834 84580000 */ lh $t8, ($v0)
|
||||
/* 029438 80028838 30C400FF */ andi $a0, $a2, 0xff
|
||||
/* 02943C 8002883C 53000006 */ beql $t8, $zero, .L80028858
|
||||
/* 029440 80028840 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 029444 80028844 0C0328C3 */ jal func_800CA30C
|
||||
/* 029448 80028848 AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* 02944C 8002884C 8FA2001C */ lw $v0, 0x1c($sp)
|
||||
/* 029450 80028850 A4400000 */ sh $zero, ($v0)
|
||||
.L80028854:
|
||||
glabel L80028854
|
||||
/* 029454 80028854 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
.L80028858:
|
||||
/* 029458 80028858 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 02945C 8002885C 03E00008 */ jr $ra
|
||||
/* 029460 80028860 00000000 */ nop
|
||||
@@ -1,205 +0,0 @@
|
||||
glabel func_8002C4F8
|
||||
/* 02D0F8 8002C4F8 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 02D0FC 8002C4FC AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 02D100 8002C500 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 02D104 8002C504 00808025 */ move $s0, $a0
|
||||
/* 02D108 8002C508 0C0AAAD3 */ jal func_802AAB4C
|
||||
/* 02D10C 8002C50C AFA5002C */ sw $a1, 0x2c($sp)
|
||||
/* 02D110 8002C510 83AE002F */ lb $t6, 0x2f($sp)
|
||||
/* 02D114 8002C514 3C188016 */ lui $t8, %hi(D_801652A0) # $t8, 0x8016
|
||||
/* 02D118 8002C518 271852A0 */ addiu $t8, %lo(D_801652A0) # addiu $t8, $t8, 0x52a0
|
||||
/* 02D11C 8002C51C 000E7880 */ sll $t7, $t6, 2
|
||||
/* 02D120 8002C520 01F83021 */ addu $a2, $t7, $t8
|
||||
/* 02D124 8002C524 E4C00000 */ swc1 $f0, ($a2)
|
||||
/* 02D128 8002C528 C6040018 */ lwc1 $f4, 0x18($s0)
|
||||
/* 02D12C 8002C52C 4600203E */ c.le.s $f4, $f0
|
||||
/* 02D130 8002C530 00000000 */ nop
|
||||
/* 02D134 8002C534 45020006 */ bc1fl .L8002C550
|
||||
/* 02D138 8002C538 960900DE */ lhu $t1, 0xde($s0)
|
||||
/* 02D13C 8002C53C 961900DE */ lhu $t9, 0xde($s0)
|
||||
/* 02D140 8002C540 37280002 */ ori $t0, $t9, 2
|
||||
/* 02D144 8002C544 10000004 */ b .L8002C558
|
||||
/* 02D148 8002C548 A60800DE */ sh $t0, 0xde($s0)
|
||||
/* 02D14C 8002C54C 960900DE */ lhu $t1, 0xde($s0)
|
||||
.L8002C550:
|
||||
/* 02D150 8002C550 312AFFFD */ andi $t2, $t1, 0xfffd
|
||||
/* 02D154 8002C554 A60A00DE */ sh $t2, 0xde($s0)
|
||||
.L8002C558:
|
||||
/* 02D158 8002C558 C4C80000 */ lwc1 $f8, ($a2)
|
||||
/* 02D15C 8002C55C C60A0018 */ lwc1 $f10, 0x18($s0)
|
||||
/* 02D160 8002C560 C6060070 */ lwc1 $f6, 0x70($s0)
|
||||
/* 02D164 8002C564 460A4401 */ sub.s $f16, $f8, $f10
|
||||
/* 02D168 8002C568 4610303C */ c.lt.s $f6, $f16
|
||||
/* 02D16C 8002C56C 00000000 */ nop
|
||||
/* 02D170 8002C570 45020008 */ bc1fl .L8002C594
|
||||
/* 02D174 8002C574 960F00DE */ lhu $t7, 0xde($s0)
|
||||
/* 02D178 8002C578 960B00DE */ lhu $t3, 0xde($s0)
|
||||
/* 02D17C 8002C57C 356D0001 */ ori $t5, $t3, 1
|
||||
/* 02D180 8002C580 A60D00DE */ sh $t5, 0xde($s0)
|
||||
/* 02D184 8002C584 31AEFFFD */ andi $t6, $t5, 0xfffd
|
||||
/* 02D188 8002C588 10000004 */ b .L8002C59C
|
||||
/* 02D18C 8002C58C A60E00DE */ sh $t6, 0xde($s0)
|
||||
/* 02D190 8002C590 960F00DE */ lhu $t7, 0xde($s0)
|
||||
.L8002C594:
|
||||
/* 02D194 8002C594 31F8FFFE */ andi $t8, $t7, 0xfffe
|
||||
/* 02D198 8002C598 A61800DE */ sh $t8, 0xde($s0)
|
||||
.L8002C59C:
|
||||
/* 02D19C 8002C59C C4C40000 */ lwc1 $f4, ($a2)
|
||||
/* 02D1A0 8002C5A0 C6080018 */ lwc1 $f8, 0x18($s0)
|
||||
/* 02D1A4 8002C5A4 C6120070 */ lwc1 $f18, 0x70($s0)
|
||||
/* 02D1A8 8002C5A8 46082281 */ sub.s $f10, $f4, $f8
|
||||
/* 02D1AC 8002C5AC 460A903C */ c.lt.s $f18, $f10
|
||||
/* 02D1B0 8002C5B0 00000000 */ nop
|
||||
/* 02D1B4 8002C5B4 45000027 */ bc1f .L8002C654
|
||||
/* 02D1B8 8002C5B8 00000000 */ nop
|
||||
/* 02D1BC 8002C5BC 960300DE */ lhu $v1, 0xde($s0)
|
||||
/* 02D1C0 8002C5C0 24010004 */ li $at, 4
|
||||
/* 02D1C4 8002C5C4 3C02800E */ lui $v0, %hi(gCurrentCourseId) # $v0, 0x800e
|
||||
/* 02D1C8 8002C5C8 30790004 */ andi $t9, $v1, 4
|
||||
/* 02D1CC 8002C5CC 13210021 */ beq $t9, $at, .L8002C654
|
||||
/* 02D1D0 8002C5D0 34690008 */ ori $t1, $v1, 8
|
||||
/* 02D1D4 8002C5D4 A60900DE */ sh $t1, 0xde($s0)
|
||||
/* 02D1D8 8002C5D8 352A0004 */ ori $t2, $t1, 4
|
||||
/* 02D1DC 8002C5DC A60A00DE */ sh $t2, 0xde($s0)
|
||||
/* 02D1E0 8002C5E0 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0)
|
||||
/* 02D1E4 8002C5E4 24010006 */ li $at, 6
|
||||
/* 02D1E8 8002C5E8 1041001A */ beq $v0, $at, .L8002C654
|
||||
/* 02D1EC 8002C5EC 24010010 */ li $at, 16
|
||||
/* 02D1F0 8002C5F0 10410018 */ beq $v0, $at, .L8002C654
|
||||
/* 02D1F4 8002C5F4 2401000D */ li $at, 13
|
||||
/* 02D1F8 8002C5F8 10410016 */ beq $v0, $at, .L8002C654
|
||||
/* 02D1FC 8002C5FC 00000000 */ nop
|
||||
/* 02D200 8002C600 960B0000 */ lhu $t3, ($s0)
|
||||
/* 02D204 8002C604 24014000 */ li $at, 16384
|
||||
/* 02D208 8002C608 316C4000 */ andi $t4, $t3, 0x4000
|
||||
/* 02D20C 8002C60C 15810011 */ bne $t4, $at, .L8002C654
|
||||
/* 02D210 8002C610 24010002 */ li $at, 2
|
||||
/* 02D214 8002C614 10410004 */ beq $v0, $at, .L8002C628
|
||||
/* 02D218 8002C618 93A4002F */ lbu $a0, 0x2f($sp)
|
||||
/* 02D21C 8002C61C 24010013 */ li $at, 19
|
||||
/* 02D220 8002C620 14410007 */ bne $v0, $at, .L8002C640
|
||||
/* 02D224 8002C624 3C051900 */ lui $a1, 0x1900
|
||||
.L8002C628:
|
||||
/* 02D228 8002C628 3C051900 */ lui $a1, (0x19008008 >> 16) # lui $a1, 0x1900
|
||||
/* 02D22C 8002C62C 34A5801C */ ori $a1, (0x1900801C & 0xFFFF) # ori $a1, $a1, 0x801c
|
||||
/* 02D230 8002C630 0C032418 */ jal func_800C9060
|
||||
/* 02D234 8002C634 AFA60024 */ sw $a2, 0x24($sp)
|
||||
/* 02D238 8002C638 10000006 */ b .L8002C654
|
||||
/* 02D23C 8002C63C 8FA60024 */ lw $a2, 0x24($sp)
|
||||
.L8002C640:
|
||||
/* 02D240 8002C640 93A4002F */ lbu $a0, 0x2f($sp)
|
||||
/* 02D244 8002C644 34A58008 */ ori $a1, (0x19008008 & 0xFFFF) # ori $a1, $a1, 0x8008
|
||||
/* 02D248 8002C648 0C032418 */ jal func_800C9060
|
||||
/* 02D24C 8002C64C AFA60024 */ sw $a2, 0x24($sp)
|
||||
/* 02D250 8002C650 8FA60024 */ lw $a2, 0x24($sp)
|
||||
.L8002C654:
|
||||
/* 02D254 8002C654 3C02800E */ lui $v0, %hi(gCurrentCourseId) # $v0, 0x800e
|
||||
/* 02D258 8002C658 8442C5A0 */ lh $v0, %lo(gCurrentCourseId)($v0)
|
||||
/* 02D25C 8002C65C 24010006 */ li $at, 6
|
||||
/* 02D260 8002C660 10410005 */ beq $v0, $at, .L8002C678
|
||||
/* 02D264 8002C664 24010010 */ li $at, 16
|
||||
/* 02D268 8002C668 10410003 */ beq $v0, $at, .L8002C678
|
||||
/* 02D26C 8002C66C 2401000D */ li $at, 13
|
||||
/* 02D270 8002C670 54410005 */ bnel $v0, $at, .L8002C688
|
||||
/* 02D274 8002C674 C4D00000 */ lwc1 $f16, ($a2)
|
||||
.L8002C678:
|
||||
/* 02D278 8002C678 960D00DE */ lhu $t5, 0xde($s0)
|
||||
/* 02D27C 8002C67C 31AEFFF3 */ andi $t6, $t5, 0xfff3
|
||||
/* 02D280 8002C680 A60E00DE */ sh $t6, 0xde($s0)
|
||||
/* 02D284 8002C684 C4D00000 */ lwc1 $f16, ($a2)
|
||||
.L8002C688:
|
||||
/* 02D288 8002C688 C6040018 */ lwc1 $f4, 0x18($s0)
|
||||
/* 02D28C 8002C68C C6060070 */ lwc1 $f6, 0x70($s0)
|
||||
/* 02D290 8002C690 3C014416 */ lui $at, 0x4416
|
||||
/* 02D294 8002C694 46048201 */ sub.s $f8, $f16, $f4
|
||||
/* 02D298 8002C698 4608303C */ c.lt.s $f6, $f8
|
||||
/* 02D29C 8002C69C 00000000 */ nop
|
||||
/* 02D2A0 8002C6A0 4502000C */ bc1fl .L8002C6D4
|
||||
/* 02D2A4 8002C6A4 3C014416 */ li $at, 0x44160000 # 600.000000
|
||||
/* 02D2A8 8002C6A8 C6120124 */ lwc1 $f18, 0x124($s0)
|
||||
/* 02D2AC 8002C6AC 44815000 */ mtc1 $at, $f10
|
||||
/* 02D2B0 8002C6B0 00000000 */ nop
|
||||
/* 02D2B4 8002C6B4 4612503E */ c.le.s $f10, $f18
|
||||
/* 02D2B8 8002C6B8 00000000 */ nop
|
||||
/* 02D2BC 8002C6BC 45020005 */ bc1fl .L8002C6D4
|
||||
/* 02D2C0 8002C6C0 3C014416 */ lui $at, 0x4416
|
||||
/* 02D2C4 8002C6C4 860F00CA */ lh $t7, 0xca($s0)
|
||||
/* 02D2C8 8002C6C8 35F80001 */ ori $t8, $t7, 1
|
||||
/* 02D2CC 8002C6CC A61800CA */ sh $t8, 0xca($s0)
|
||||
/* 02D2D0 8002C6D0 3C014416 */ li $at, 0x44160000 # 600.000000
|
||||
.L8002C6D4:
|
||||
/* 02D2D4 8002C6D4 44812000 */ mtc1 $at, $f4
|
||||
/* 02D2D8 8002C6D8 C6100124 */ lwc1 $f16, 0x124($s0)
|
||||
/* 02D2DC 8002C6DC 4610203E */ c.le.s $f4, $f16
|
||||
/* 02D2E0 8002C6E0 00000000 */ nop
|
||||
/* 02D2E4 8002C6E4 45020006 */ bc1fl .L8002C700
|
||||
/* 02D2E8 8002C6E8 8E0900BC */ lw $t1, 0xbc($s0)
|
||||
/* 02D2EC 8002C6EC 861900CA */ lh $t9, 0xca($s0)
|
||||
/* 02D2F0 8002C6F0 37280100 */ ori $t0, $t9, 0x100
|
||||
/* 02D2F4 8002C6F4 10000009 */ b .L8002C71C
|
||||
/* 02D2F8 8002C6F8 A60800CA */ sh $t0, 0xca($s0)
|
||||
/* 02D2FC 8002C6FC 8E0900BC */ lw $t1, 0xbc($s0)
|
||||
.L8002C700:
|
||||
/* 02D300 8002C700 24010008 */ li $at, 8
|
||||
/* 02D304 8002C704 312A0008 */ andi $t2, $t1, 8
|
||||
/* 02D308 8002C708 51410005 */ beql $t2, $at, .L8002C720
|
||||
/* 02D30C 8002C70C 960D0000 */ lhu $t5, ($s0)
|
||||
/* 02D310 8002C710 860B00CA */ lh $t3, 0xca($s0)
|
||||
/* 02D314 8002C714 316CFEFF */ andi $t4, $t3, 0xfeff
|
||||
/* 02D318 8002C718 A60C00CA */ sh $t4, 0xca($s0)
|
||||
.L8002C71C:
|
||||
/* 02D31C 8002C71C 960D0000 */ lhu $t5, ($s0)
|
||||
.L8002C720:
|
||||
/* 02D320 8002C720 31AE1000 */ andi $t6, $t5, 0x1000
|
||||
/* 02D324 8002C724 51C00018 */ beql $t6, $zero, .L8002C788
|
||||
/* 02D328 8002C728 960B0000 */ lhu $t3, ($s0)
|
||||
/* 02D32C 8002C72C 0C0AAF7D */ jal func_802ABDF4
|
||||
/* 02D330 8002C730 9604011A */ lhu $a0, 0x11a($s0)
|
||||
/* 02D334 8002C734 54400006 */ bnel $v0, $zero, .L8002C750
|
||||
/* 02D338 8002C738 860200CA */ lh $v0, 0xca($s0)
|
||||
/* 02D33C 8002C73C 860F00CA */ lh $t7, 0xca($s0)
|
||||
/* 02D340 8002C740 31F80001 */ andi $t8, $t7, 1
|
||||
/* 02D344 8002C744 53000010 */ beql $t8, $zero, .L8002C788
|
||||
/* 02D348 8002C748 960B0000 */ lhu $t3, ($s0)
|
||||
/* 02D34C 8002C74C 860200CA */ lh $v0, 0xca($s0)
|
||||
.L8002C750:
|
||||
/* 02D350 8002C750 30590002 */ andi $t9, $v0, 2
|
||||
/* 02D354 8002C754 1720000B */ bnez $t9, .L8002C784
|
||||
/* 02D358 8002C758 30480008 */ andi $t0, $v0, 8
|
||||
/* 02D35C 8002C75C 5500000A */ bnel $t0, $zero, .L8002C788
|
||||
/* 02D360 8002C760 960B0000 */ lhu $t3, ($s0)
|
||||
/* 02D364 8002C764 8E0900BC */ lw $t1, 0xbc($s0)
|
||||
/* 02D368 8002C768 312A1000 */ andi $t2, $t1, 0x1000
|
||||
/* 02D36C 8002C76C 55400006 */ bnel $t2, $zero, .L8002C788
|
||||
/* 02D370 8002C770 960B0000 */ lhu $t3, ($s0)
|
||||
/* 02D374 8002C774 0C0241DE */ jal func_80090778
|
||||
/* 02D378 8002C778 02002025 */ move $a0, $s0
|
||||
/* 02D37C 8002C77C 0C02421A */ jal func_80090868
|
||||
/* 02D380 8002C780 02002025 */ move $a0, $s0
|
||||
.L8002C784:
|
||||
/* 02D384 8002C784 960B0000 */ lhu $t3, ($s0)
|
||||
.L8002C788:
|
||||
/* 02D388 8002C788 316C1000 */ andi $t4, $t3, 0x1000
|
||||
/* 02D38C 8002C78C 5180000E */ beql $t4, $zero, .L8002C7C8
|
||||
/* 02D390 8002C790 02002025 */ move $a0, $s0
|
||||
/* 02D394 8002C794 960D00F8 */ lhu $t5, 0xf8($s0)
|
||||
/* 02D398 8002C798 240100FD */ li $at, 253
|
||||
/* 02D39C 8002C79C 55A1000A */ bnel $t5, $at, .L8002C7C8
|
||||
/* 02D3A0 8002C7A0 02002025 */ move $a0, $s0
|
||||
/* 02D3A4 8002C7A4 8E0E00BC */ lw $t6, 0xbc($s0)
|
||||
/* 02D3A8 8002C7A8 31CF0008 */ andi $t7, $t6, 8
|
||||
/* 02D3AC 8002C7AC 55E00006 */ bnel $t7, $zero, .L8002C7C8
|
||||
/* 02D3B0 8002C7B0 02002025 */ move $a0, $s0
|
||||
/* 02D3B4 8002C7B4 0C0241DE */ jal func_80090778
|
||||
/* 02D3B8 8002C7B8 02002025 */ move $a0, $s0
|
||||
/* 02D3BC 8002C7BC 0C02421A */ jal func_80090868
|
||||
/* 02D3C0 8002C7C0 02002025 */ move $a0, $s0
|
||||
/* 02D3C4 8002C7C4 02002025 */ move $a0, $s0
|
||||
.L8002C7C8:
|
||||
/* 02D3C8 8002C7C8 0C00B05F */ jal func_8002C17C
|
||||
/* 02D3CC 8002C7CC 83A5002F */ lb $a1, 0x2f($sp)
|
||||
/* 02D3D0 8002C7D0 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 02D3D4 8002C7D4 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 02D3D8 8002C7D8 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 02D3DC 8002C7DC 03E00008 */ jr $ra
|
||||
/* 02D3E0 8002C7E0 00000000 */ nop
|
||||
+227
-419
@@ -405,409 +405,241 @@ void func_80027DA8(u16 *arg0, s8 arg1) {
|
||||
GLOBAL_ASM("asm/non_matchings/code_80027D00/func_80027DA8.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
|
||||
void func_800C8F80(s32, ?, s8); /* extern */
|
||||
void func_800C9018(s32, ?, s8); /* extern */
|
||||
void func_800CA288(s32, ?, s8); /* extern */
|
||||
void func_800CA2B8(s32, s8); /* extern */
|
||||
void func_800CA2E4(s32, ?, s8); /* extern */
|
||||
void func_800CA30C(s32, s8); /* extern */
|
||||
s16 gCurrentCourseId; /* unable to generate initializer */
|
||||
|
||||
void func_80027EDC(u16 *arg0, s8 playerId) {
|
||||
s16 *sp1C;
|
||||
s16 *temp_v0_10;
|
||||
s16 *temp_v0_12;
|
||||
s16 *temp_v0_13;
|
||||
s16 *temp_v0_15;
|
||||
s16 *temp_v0_16;
|
||||
s16 *temp_v0_17;
|
||||
s16 *temp_v0_18;
|
||||
s16 *temp_v0_20;
|
||||
s16 *temp_v0_21;
|
||||
s16 *temp_v0_23;
|
||||
s16 *temp_v0_24;
|
||||
s16 *temp_v0_26;
|
||||
s16 *temp_v0_27;
|
||||
s16 *temp_v0_29;
|
||||
s16 *temp_v0_30;
|
||||
s16 *temp_v0_32;
|
||||
s16 *temp_v0_33;
|
||||
s16 *temp_v0_35;
|
||||
s16 *temp_v0_36;
|
||||
s16 *temp_v0_38;
|
||||
s16 *temp_v0_39;
|
||||
s16 *temp_v0_3;
|
||||
s16 *temp_v0_40;
|
||||
s16 *temp_v0_41;
|
||||
s16 *temp_v0_43;
|
||||
s16 *temp_v0_44;
|
||||
s16 *temp_v0_46;
|
||||
s16 *temp_v0_47;
|
||||
s16 *temp_v0_4;
|
||||
s16 *temp_v0_6;
|
||||
s16 *temp_v0_7;
|
||||
s16 *temp_v0_9;
|
||||
s16 *var_v0;
|
||||
s16 temp_v0_11;
|
||||
s16 temp_v0_14;
|
||||
s16 temp_v0_19;
|
||||
s16 temp_v0_22;
|
||||
s16 temp_v0_25;
|
||||
s16 temp_v0_28;
|
||||
s16 temp_v0_2;
|
||||
s16 temp_v0_31;
|
||||
s16 temp_v0_34;
|
||||
s16 temp_v0_37;
|
||||
s16 temp_v0_42;
|
||||
s16 temp_v0_45;
|
||||
s16 temp_v0_5;
|
||||
s16 temp_v0_8;
|
||||
s16 var_a0;
|
||||
s8 var_a2;
|
||||
u16 temp_t5;
|
||||
u16 temp_t9;
|
||||
u16 temp_v0;
|
||||
|
||||
temp_v0 = *arg0;
|
||||
var_a2 = playerId;
|
||||
if (((temp_v0 & 0x4000) == 0x4000) && ((temp_v0 & 0x100) != 0x100)) {
|
||||
temp_t9 = (u16) gCurrentCourseId;
|
||||
switch (temp_t9) { /* switch 1 */
|
||||
case 0: /* switch 1 */
|
||||
temp_v0_2 = (s16) gNearestWaypointByPlayerId[var_a2];
|
||||
if ((temp_v0_2 >= 0x19B) && (temp_v0_2 < 0x1B9)) {
|
||||
temp_v0_3 = &D_80165300[var_a2];
|
||||
if (*temp_v0_3 != 1) {
|
||||
sp1C = temp_v0_3;
|
||||
func_800CA288(var_a2 & 0xFF, 0x55, var_a2);
|
||||
void func_80027EDC(Player *player, s8 playerId) {
|
||||
s32 stackPadding;
|
||||
if (((player->unk_000 & 0x4000) == 0x4000) && ((player->unk_000 & 0x100) != 0x100)) {
|
||||
switch (gCurrentCourseId) { /* switch 1 */
|
||||
case COURSE_MARIO_RACEWAY: /* switch 1 */
|
||||
if (((s16)gNearestWaypointByPlayerId[playerId] >= 0x19B) && ((s16)gNearestWaypointByPlayerId[playerId] < 0x1B9)) {
|
||||
if (D_80165300[playerId] != 1) {
|
||||
func_800CA288(playerId, 0x55);
|
||||
}
|
||||
D_80165300[playerId] = 1;
|
||||
} else {
|
||||
if (D_80165300[playerId] != 0) {
|
||||
func_800CA2B8(playerId);
|
||||
D_80165300[playerId] = 0;
|
||||
}
|
||||
*temp_v0_3 = 1;
|
||||
return;
|
||||
}
|
||||
temp_v0_4 = &D_80165300[var_a2];
|
||||
if (*temp_v0_4 != 0) {
|
||||
sp1C = temp_v0_4;
|
||||
func_800CA2B8(var_a2 & 0xFF, var_a2);
|
||||
var_v0 = temp_v0_4;
|
||||
goto block_127;
|
||||
}
|
||||
break;
|
||||
case 1: /* switch 1 */
|
||||
temp_v0_5 = (s16) gNearestWaypointByPlayerId[var_a2];
|
||||
if ((temp_v0_5 >= 0xA0) && (temp_v0_5 < 0xB4)) {
|
||||
temp_v0_6 = &D_80165300[var_a2];
|
||||
if (*temp_v0_6 != 1) {
|
||||
sp1C = temp_v0_6;
|
||||
func_800CA288(var_a2 & 0xFF, 0x55, var_a2);
|
||||
case COURSE_CHOCO_MOUNTAIN: /* switch 1 */
|
||||
if (((s16)gNearestWaypointByPlayerId[playerId] >= 0xA0) && ((s16)gNearestWaypointByPlayerId[playerId] < 0xB4)) {
|
||||
if (D_80165300[playerId] != 1) {
|
||||
func_800CA288(playerId, 0x55);
|
||||
}
|
||||
D_80165300[playerId] = 1;
|
||||
} else {
|
||||
if (D_80165300[playerId] != 0) {
|
||||
func_800CA2B8(playerId);
|
||||
D_80165300[playerId] = 0;
|
||||
}
|
||||
*temp_v0_6 = 1;
|
||||
return;
|
||||
}
|
||||
temp_v0_7 = &D_80165300[var_a2];
|
||||
if (*temp_v0_7 != 0) {
|
||||
sp1C = temp_v0_7;
|
||||
func_800CA2B8(var_a2 & 0xFF, var_a2);
|
||||
var_v0 = temp_v0_7;
|
||||
goto block_127;
|
||||
}
|
||||
break;
|
||||
case 2: /* switch 1 */
|
||||
temp_v0_8 = (s16) gNearestWaypointByPlayerId[var_a2];
|
||||
if ((temp_v0_8 >= 0x29) && (temp_v0_8 < 0x1D2)) {
|
||||
temp_v0_9 = &D_80165300[var_a2];
|
||||
if (*temp_v0_9 != 1) {
|
||||
sp1C = temp_v0_9;
|
||||
func_800CA288(var_a2 & 0xFF, 0x41, var_a2);
|
||||
case COURSE_BOWSER_CASTLE: /* switch 1 */
|
||||
if (((s16)gNearestWaypointByPlayerId[playerId] >= 0x29) && ((s16)gNearestWaypointByPlayerId[playerId] < 0x1D2)) {
|
||||
if (D_80165300[playerId] != 1) {
|
||||
func_800CA288(playerId, 0x41);
|
||||
}
|
||||
D_80165300[playerId] = 1;
|
||||
} else {
|
||||
if (D_80165300[playerId] != 0) {
|
||||
func_800CA2B8(playerId);
|
||||
D_80165300[playerId] = 0;
|
||||
}
|
||||
*temp_v0_9 = 1;
|
||||
return;
|
||||
}
|
||||
temp_v0_10 = &D_80165300[var_a2];
|
||||
if (*temp_v0_10 != 0) {
|
||||
sp1C = temp_v0_10;
|
||||
func_800CA2B8(var_a2 & 0xFF, var_a2);
|
||||
var_v0 = temp_v0_10;
|
||||
goto block_127;
|
||||
}
|
||||
break;
|
||||
case 3: /* switch 1 */
|
||||
temp_v0_11 = (s16) gNearestWaypointByPlayerId[var_a2];
|
||||
if ((temp_v0_11 >= 0x180) && (temp_v0_11 < 0x1E1)) {
|
||||
temp_v0_12 = &D_80165300[var_a2];
|
||||
if (*temp_v0_12 != 1) {
|
||||
sp1C = temp_v0_12;
|
||||
func_800CA288(var_a2 & 0xFF, 0x41, var_a2);
|
||||
case COURSE_BANSHEE_BOARDWALK: /* switch 1 */
|
||||
if (((s16)gNearestWaypointByPlayerId[playerId] >= 0x180) && ((s16)gNearestWaypointByPlayerId[playerId] < 0x1E1)) {
|
||||
if (D_80165300[playerId] != 1) {
|
||||
func_800CA288(playerId, 0x41);
|
||||
}
|
||||
D_80165300[playerId] = 1;
|
||||
} else {
|
||||
if (D_80165300[playerId] != 0) {
|
||||
func_800CA2B8(playerId);
|
||||
D_80165300[playerId] = 0;
|
||||
}
|
||||
*temp_v0_12 = 1;
|
||||
return;
|
||||
}
|
||||
temp_v0_13 = &D_80165300[var_a2];
|
||||
if (*temp_v0_13 != 0) {
|
||||
sp1C = temp_v0_13;
|
||||
func_800CA2B8(var_a2 & 0xFF, var_a2);
|
||||
var_v0 = temp_v0_13;
|
||||
goto block_127;
|
||||
}
|
||||
break;
|
||||
case 8: /* switch 1 */
|
||||
temp_v0_14 = (s16) gNearestWaypointByPlayerId[var_a2];
|
||||
if ((temp_v0_14 >= 0x145) && (temp_v0_14 < 0x18B)) {
|
||||
temp_v0_15 = &D_80165300[var_a2];
|
||||
if (*temp_v0_15 != 1) {
|
||||
sp1C = temp_v0_15;
|
||||
func_800CA288(var_a2 & 0xFF, 0x55, var_a2);
|
||||
case COURSE_LUIGI_RACEWAY: /* switch 1 */
|
||||
if (((s16)gNearestWaypointByPlayerId[playerId] >= 0x145) && ((s16)gNearestWaypointByPlayerId[playerId] < 0x18B)) {
|
||||
if (D_80165300[playerId] != 1) {
|
||||
func_800CA288(playerId, 0x55);
|
||||
}
|
||||
D_80165300[playerId] = 1;
|
||||
} else {
|
||||
if (D_80165300[playerId] != 0) {
|
||||
func_800CA2B8(playerId);
|
||||
D_80165300[playerId] = 0;
|
||||
}
|
||||
*temp_v0_15 = 1;
|
||||
return;
|
||||
}
|
||||
temp_v0_16 = &D_80165300[var_a2];
|
||||
if (*temp_v0_16 != 0) {
|
||||
sp1C = temp_v0_16;
|
||||
func_800CA2B8(var_a2 & 0xFF, var_a2);
|
||||
var_v0 = temp_v0_16;
|
||||
goto block_127;
|
||||
}
|
||||
break;
|
||||
case 10: /* switch 1 */
|
||||
if ((temp_v0 & 0x800) != 0x800) {
|
||||
temp_v0_17 = &D_80165300[var_a2];
|
||||
if (*temp_v0_17 != 1) {
|
||||
sp1C = temp_v0_17;
|
||||
func_800CA288(var_a2 & 0xFF, 0x1E, var_a2);
|
||||
case COURSE_TOADS_TURNPIKE: /* switch 1 */
|
||||
if ((player->unk_000 & 0x800) != 0x800) {
|
||||
if (D_80165300[playerId] != 1) {
|
||||
func_800CA288(playerId, 0x1e);
|
||||
}
|
||||
D_80165300[playerId] = 1;
|
||||
} else {
|
||||
if (D_80165300[playerId] != 0) {
|
||||
func_800CA2B8(playerId);
|
||||
D_80165300[playerId] = 0;
|
||||
}
|
||||
*temp_v0_17 = 1;
|
||||
return;
|
||||
}
|
||||
temp_v0_18 = &D_80165300[var_a2];
|
||||
if (*temp_v0_18 != 0) {
|
||||
sp1C = temp_v0_18;
|
||||
func_800CA2B8(var_a2 & 0xFF, var_a2);
|
||||
var_v0 = temp_v0_18;
|
||||
goto block_127;
|
||||
}
|
||||
break;
|
||||
case 12: /* switch 1 */
|
||||
temp_v0_19 = (s16) gNearestWaypointByPlayerId[var_a2];
|
||||
if ((temp_v0_19 >= 0x11C) && (temp_v0_19 < 0x209)) {
|
||||
temp_v0_20 = &D_80165300[var_a2];
|
||||
if (*temp_v0_20 != 1) {
|
||||
sp1C = temp_v0_20;
|
||||
func_800CA288(var_a2 & 0xFF, 0x55, var_a2);
|
||||
case COURSE_SHERBET_LAND: /* switch 1 */
|
||||
if (((s16)gNearestWaypointByPlayerId[playerId] >= 0x11C) && ((s16)gNearestWaypointByPlayerId[playerId] < 0x209)) {
|
||||
if (D_80165300[playerId] != 1) {
|
||||
func_800CA288(playerId, 0x55);
|
||||
}
|
||||
D_80165300[playerId] = 1;
|
||||
} else {
|
||||
if (D_80165300[playerId] != 0) {
|
||||
func_800CA2B8(playerId);
|
||||
D_80165300[playerId] = 0;
|
||||
}
|
||||
*temp_v0_20 = 1;
|
||||
return;
|
||||
}
|
||||
temp_v0_21 = &D_80165300[var_a2];
|
||||
if (*temp_v0_21 != 0) {
|
||||
sp1C = temp_v0_21;
|
||||
func_800CA2B8(var_a2 & 0xFF, var_a2);
|
||||
var_v0 = temp_v0_21;
|
||||
goto block_127;
|
||||
}
|
||||
break;
|
||||
case 18: /* switch 1 */
|
||||
temp_v0_22 = (s16) gNearestWaypointByPlayerId[var_a2];
|
||||
if (((temp_v0_22 >= 0) && (temp_v0_22 < 0x65)) || ((temp_v0_22 >= 0x14A) && (temp_v0_22 < 0x21F))) {
|
||||
temp_v0_23 = &D_80165300[var_a2];
|
||||
if (*temp_v0_23 != 2) {
|
||||
sp1C = temp_v0_23;
|
||||
func_800C8F80(var_a2 & 0xFF, 0x0170802D, var_a2);
|
||||
case COURSE_DK_JUNGLE: /* switch 1 */
|
||||
if ((((s16)gNearestWaypointByPlayerId[playerId] >= 0) && ((s16)gNearestWaypointByPlayerId[playerId] < 0x65)) ||
|
||||
(((s16)gNearestWaypointByPlayerId[playerId] >= 0x14A) && ((s16)gNearestWaypointByPlayerId[playerId] < 0x21F))) {
|
||||
if (D_80165300[playerId] != 2) {
|
||||
func_800C8F80(playerId, 0x0170802D);
|
||||
}
|
||||
D_80165300[playerId] = 2;
|
||||
} else {
|
||||
if (((s16)gNearestWaypointByPlayerId[playerId] >= 0x288) && ((s16)gNearestWaypointByPlayerId[playerId] < 0x305)) {
|
||||
if (D_80165300[playerId] != 1) {
|
||||
func_800CA288(playerId, 0x55);
|
||||
}
|
||||
D_80165300[playerId] = 1;
|
||||
} else {
|
||||
if (D_80165300[playerId] != 0) {
|
||||
if (D_80165300[playerId] == 1) {
|
||||
func_800CA2B8(playerId);
|
||||
}
|
||||
if (D_80165300[playerId] == 2) {
|
||||
func_800C9018(playerId, 0x0170802D);
|
||||
}
|
||||
D_80165300[playerId] = 0;
|
||||
}
|
||||
}
|
||||
*temp_v0_23 = 2;
|
||||
return;
|
||||
}
|
||||
if ((temp_v0_22 >= 0x288) && (temp_v0_22 < 0x305)) {
|
||||
temp_v0_24 = &D_80165300[var_a2];
|
||||
if (*temp_v0_24 != 1) {
|
||||
sp1C = temp_v0_24;
|
||||
func_800CA288(var_a2 & 0xFF, 0x55, var_a2);
|
||||
}
|
||||
*temp_v0_24 = 1;
|
||||
return;
|
||||
}
|
||||
var_v0 = &D_80165300[var_a2];
|
||||
var_a0 = *var_v0;
|
||||
if (var_a0 != 0) {
|
||||
if (var_a0 == 1) {
|
||||
sp1C = var_v0;
|
||||
playerId = var_a2;
|
||||
func_800CA2B8(var_a2 & 0xFF, var_a2);
|
||||
var_a2 = playerId;
|
||||
var_a0 = *var_v0;
|
||||
}
|
||||
if (var_a0 == 2) {
|
||||
sp1C = var_v0;
|
||||
func_800C9018(var_a2 & 0xFF, 0x0170802D, var_a2);
|
||||
}
|
||||
goto block_127;
|
||||
}
|
||||
break;
|
||||
default: /* switch 1 */
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
temp_t5 = (u16) gCurrentCourseId;
|
||||
switch (temp_t5) { /* switch 2 */
|
||||
case 0: /* switch 2 */
|
||||
temp_v0_25 = (s16) gNearestWaypointByPlayerId[var_a2];
|
||||
if ((temp_v0_25 >= 0x19B) && (temp_v0_25 < 0x1B9)) {
|
||||
temp_v0_26 = &D_80165300[var_a2];
|
||||
if (*temp_v0_26 != 1) {
|
||||
sp1C = temp_v0_26;
|
||||
func_800CA2E4(var_a2 & 0xFF, 0x55, var_a2);
|
||||
switch (gCurrentCourseId) { /* switch 2 */
|
||||
case COURSE_MARIO_RACEWAY: /* switch 2 */
|
||||
if (((s16)gNearestWaypointByPlayerId[playerId] >= 0x19B) && ((s16)gNearestWaypointByPlayerId[playerId] < 0x1B9)) {
|
||||
if (D_80165300[playerId] != 1) {
|
||||
func_800CA2E4(playerId, 0x55);
|
||||
}
|
||||
D_80165300[playerId] = 1;
|
||||
} else {
|
||||
if (D_80165300[playerId] != 0) {
|
||||
func_800CA30C(playerId);
|
||||
D_80165300[playerId] = 0;
|
||||
}
|
||||
*temp_v0_26 = 1;
|
||||
return;
|
||||
}
|
||||
temp_v0_27 = &D_80165300[var_a2];
|
||||
if (*temp_v0_27 != 0) {
|
||||
sp1C = temp_v0_27;
|
||||
func_800CA30C(var_a2 & 0xFF, var_a2);
|
||||
var_v0 = temp_v0_27;
|
||||
block_127:
|
||||
*var_v0 = 0;
|
||||
break;
|
||||
case COURSE_CHOCO_MOUNTAIN: /* switch 2 */
|
||||
if (((s16)gNearestWaypointByPlayerId[playerId] >= 0xA0) && ((s16)gNearestWaypointByPlayerId[playerId] < 0xB4)) {
|
||||
if (D_80165300[playerId] != 1) {
|
||||
func_800CA2E4(playerId, 0x55);
|
||||
}
|
||||
D_80165300[playerId] = 1;
|
||||
} else {
|
||||
if (D_80165300[playerId] != 0) {
|
||||
func_800CA30C(playerId);
|
||||
D_80165300[playerId] = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case COURSE_BOWSER_CASTLE: /* switch 2 */
|
||||
if (((s16)gNearestWaypointByPlayerId[playerId] >= 0x29) && ((s16)gNearestWaypointByPlayerId[playerId] < 0x1D2)) {
|
||||
if (D_80165300[playerId] != 1) {
|
||||
func_800CA2E4(playerId, 0x41);
|
||||
}
|
||||
D_80165300[playerId] = 1;
|
||||
} else {
|
||||
if (D_80165300[playerId] != 0) {
|
||||
func_800CA30C(playerId);
|
||||
D_80165300[playerId] = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case COURSE_BANSHEE_BOARDWALK: /* switch 2 */
|
||||
if (((s16)gNearestWaypointByPlayerId[playerId] >= 0x180) && ((s16)gNearestWaypointByPlayerId[playerId] < 0x1E1)) {
|
||||
if (D_80165300[playerId] != 1) {
|
||||
func_800CA2E4(playerId, 0x41);
|
||||
}
|
||||
D_80165300[playerId] = 1;
|
||||
} else {
|
||||
if (D_80165300[playerId] != 0) {
|
||||
func_800CA30C(playerId);
|
||||
D_80165300[playerId] = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case COURSE_LUIGI_RACEWAY: /* switch 2 */
|
||||
if (((s16)gNearestWaypointByPlayerId[playerId] >= 0x145) && ((s16)gNearestWaypointByPlayerId[playerId] < 0x18B)) {
|
||||
if (D_80165300[playerId] != 1) {
|
||||
func_800CA2E4(playerId, 0x55);
|
||||
}
|
||||
D_80165300[playerId] = 1;
|
||||
} else {
|
||||
if (D_80165300[playerId] != 0) {
|
||||
func_800CA30C(playerId);
|
||||
D_80165300[playerId] = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case COURSE_TOADS_TURNPIKE: /* switch 2 */
|
||||
if ((player->unk_000 & 0x800) != 0x800) {
|
||||
if (D_80165300[playerId] != 1) {
|
||||
func_800CA2E4(playerId, 0x1E);
|
||||
}
|
||||
D_80165300[playerId] = 1;
|
||||
} else {
|
||||
if (D_80165300[playerId] != 0) {
|
||||
func_800CA30C(playerId);
|
||||
D_80165300[playerId] = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case COURSE_SHERBET_LAND: /* switch 2 */
|
||||
if (((s16)gNearestWaypointByPlayerId[playerId] >= 0x11C) && ((s16)gNearestWaypointByPlayerId[playerId] < 0x209)) {
|
||||
if (D_80165300[playerId] != 1) {
|
||||
func_800CA2E4(playerId, 0x55);
|
||||
}
|
||||
D_80165300[playerId] = 1;
|
||||
} else {
|
||||
if (D_80165300[playerId] != 0) {
|
||||
func_800CA30C(playerId);
|
||||
D_80165300[playerId] = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case COURSE_DK_JUNGLE: /* switch 2 */
|
||||
if (((s16)gNearestWaypointByPlayerId[playerId] >= 0x288) && ((s16)gNearestWaypointByPlayerId[playerId] < 0x305)) {
|
||||
if (D_80165300[playerId] != 1) {
|
||||
func_800CA2E4(playerId, 0x55);
|
||||
}
|
||||
D_80165300[playerId] = 1;
|
||||
} else {
|
||||
if (D_80165300[playerId] != 0) {
|
||||
func_800CA30C(playerId);
|
||||
D_80165300[playerId] = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
default: /* switch 2 */
|
||||
default: /* switch 1 */
|
||||
return;
|
||||
case 1: /* switch 2 */
|
||||
temp_v0_28 = (s16) gNearestWaypointByPlayerId[var_a2];
|
||||
if ((temp_v0_28 >= 0xA0) && (temp_v0_28 < 0xB4)) {
|
||||
temp_v0_29 = &D_80165300[var_a2];
|
||||
if (*temp_v0_29 != 1) {
|
||||
sp1C = temp_v0_29;
|
||||
func_800CA2E4(var_a2 & 0xFF, 0x55, var_a2);
|
||||
}
|
||||
*temp_v0_29 = 1;
|
||||
return;
|
||||
}
|
||||
temp_v0_30 = &D_80165300[var_a2];
|
||||
if (*temp_v0_30 != 0) {
|
||||
sp1C = temp_v0_30;
|
||||
func_800CA30C(var_a2 & 0xFF, var_a2);
|
||||
var_v0 = temp_v0_30;
|
||||
goto block_127;
|
||||
}
|
||||
break;
|
||||
case 2: /* switch 2 */
|
||||
temp_v0_31 = (s16) gNearestWaypointByPlayerId[var_a2];
|
||||
if ((temp_v0_31 >= 0x29) && (temp_v0_31 < 0x1D2)) {
|
||||
temp_v0_32 = &D_80165300[var_a2];
|
||||
if (*temp_v0_32 != 1) {
|
||||
sp1C = temp_v0_32;
|
||||
func_800CA2E4(var_a2 & 0xFF, 0x41, var_a2);
|
||||
}
|
||||
*temp_v0_32 = 1;
|
||||
return;
|
||||
}
|
||||
temp_v0_33 = &D_80165300[var_a2];
|
||||
if (*temp_v0_33 != 0) {
|
||||
sp1C = temp_v0_33;
|
||||
func_800CA30C(var_a2 & 0xFF, var_a2);
|
||||
var_v0 = temp_v0_33;
|
||||
goto block_127;
|
||||
}
|
||||
break;
|
||||
case 3: /* switch 2 */
|
||||
temp_v0_34 = (s16) gNearestWaypointByPlayerId[var_a2];
|
||||
if ((temp_v0_34 >= 0x180) && (temp_v0_34 < 0x1E1)) {
|
||||
temp_v0_35 = &D_80165300[var_a2];
|
||||
if (*temp_v0_35 != 1) {
|
||||
sp1C = temp_v0_35;
|
||||
func_800CA2E4(var_a2 & 0xFF, 0x41, var_a2);
|
||||
}
|
||||
*temp_v0_35 = 1;
|
||||
return;
|
||||
}
|
||||
temp_v0_36 = &D_80165300[var_a2];
|
||||
if (*temp_v0_36 != 0) {
|
||||
sp1C = temp_v0_36;
|
||||
func_800CA30C(var_a2 & 0xFF, var_a2);
|
||||
var_v0 = temp_v0_36;
|
||||
goto block_127;
|
||||
}
|
||||
break;
|
||||
case 8: /* switch 2 */
|
||||
temp_v0_37 = (s16) gNearestWaypointByPlayerId[var_a2];
|
||||
if ((temp_v0_37 >= 0x145) && (temp_v0_37 < 0x18B)) {
|
||||
temp_v0_38 = &D_80165300[var_a2];
|
||||
if (*temp_v0_38 != 1) {
|
||||
sp1C = temp_v0_38;
|
||||
func_800CA2E4(var_a2 & 0xFF, 0x55, var_a2);
|
||||
}
|
||||
*temp_v0_38 = 1;
|
||||
return;
|
||||
}
|
||||
temp_v0_39 = &D_80165300[var_a2];
|
||||
if (*temp_v0_39 != 0) {
|
||||
sp1C = temp_v0_39;
|
||||
func_800CA30C(var_a2 & 0xFF, var_a2);
|
||||
var_v0 = temp_v0_39;
|
||||
goto block_127;
|
||||
}
|
||||
break;
|
||||
case 10: /* switch 2 */
|
||||
if ((temp_v0 & 0x800) != 0x800) {
|
||||
temp_v0_40 = &D_80165300[var_a2];
|
||||
if (*temp_v0_40 != 1) {
|
||||
sp1C = temp_v0_40;
|
||||
func_800CA2E4(var_a2 & 0xFF, 0x1E, var_a2);
|
||||
}
|
||||
*temp_v0_40 = 1;
|
||||
return;
|
||||
}
|
||||
temp_v0_41 = &D_80165300[var_a2];
|
||||
if (*temp_v0_41 != 0) {
|
||||
sp1C = temp_v0_41;
|
||||
func_800CA30C(var_a2 & 0xFF, var_a2);
|
||||
var_v0 = temp_v0_41;
|
||||
goto block_127;
|
||||
}
|
||||
break;
|
||||
case 12: /* switch 2 */
|
||||
temp_v0_42 = (s16) gNearestWaypointByPlayerId[var_a2];
|
||||
if ((temp_v0_42 >= 0x11C) && (temp_v0_42 < 0x209)) {
|
||||
temp_v0_43 = &D_80165300[var_a2];
|
||||
if (*temp_v0_43 != 1) {
|
||||
sp1C = temp_v0_43;
|
||||
func_800CA2E4(var_a2 & 0xFF, 0x55, var_a2);
|
||||
}
|
||||
*temp_v0_43 = 1;
|
||||
return;
|
||||
}
|
||||
temp_v0_44 = &D_80165300[var_a2];
|
||||
if (*temp_v0_44 != 0) {
|
||||
sp1C = temp_v0_44;
|
||||
func_800CA30C(var_a2 & 0xFF, var_a2);
|
||||
var_v0 = temp_v0_44;
|
||||
goto block_127;
|
||||
}
|
||||
break;
|
||||
case 18: /* switch 2 */
|
||||
temp_v0_45 = (s16) gNearestWaypointByPlayerId[var_a2];
|
||||
if ((temp_v0_45 >= 0x288) && (temp_v0_45 < 0x305)) {
|
||||
temp_v0_46 = &D_80165300[var_a2];
|
||||
if (*temp_v0_46 != 1) {
|
||||
sp1C = temp_v0_46;
|
||||
func_800CA2E4(var_a2 & 0xFF, 0x55, var_a2);
|
||||
}
|
||||
*temp_v0_46 = 1;
|
||||
return;
|
||||
}
|
||||
temp_v0_47 = &D_80165300[var_a2];
|
||||
if (*temp_v0_47 != 0) {
|
||||
sp1C = temp_v0_47;
|
||||
func_800CA30C(var_a2 & 0xFF, var_a2);
|
||||
var_v0 = temp_v0_47;
|
||||
goto block_127;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80027D00/func_80027EDC.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
|
||||
@@ -2203,72 +2035,51 @@ void func_8002C17C(Player *player, s8 playerId) {
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
|
||||
void func_8002C17C(Player *, s8); /* extern */
|
||||
f32 func_802AAB4C(); /* extern */
|
||||
s16 gCurrentCourseId; /* unable to generate initializer */
|
||||
|
||||
void func_8002C4F8(Player *player, s8 arg1) {
|
||||
f32 *sp24;
|
||||
f32 *var_a2;
|
||||
f32 temp_f0;
|
||||
s16 temp_v0;
|
||||
s16 temp_v0_2;
|
||||
s16 temp_v0_3;
|
||||
u16 temp_t1;
|
||||
u16 temp_t5;
|
||||
u16 temp_v1;
|
||||
|
||||
temp_f0 = func_802AAB4C();
|
||||
var_a2 = &D_801652A0[arg1];
|
||||
*var_a2 = temp_f0;
|
||||
if (player->pos[1] <= temp_f0) {
|
||||
player->unk_0DE |= 2;
|
||||
D_801652A0[arg1] = func_802AAB4C(player);
|
||||
if (player->pos[1] <= D_801652A0[arg1]) {
|
||||
player->unk_0DE |= 0x0002;
|
||||
} else {
|
||||
player->unk_0DE &= 0xFFFD;
|
||||
player->unk_0DE &= ~0x0002;
|
||||
}
|
||||
if (player->boundingBoxSize < (*var_a2 - player->pos[1])) {
|
||||
temp_t5 = player->unk_0DE | 1;
|
||||
player->unk_0DE = temp_t5;
|
||||
player->unk_0DE = temp_t5 & 0xFFFD;
|
||||
if (player->boundingBoxSize < (D_801652A0[arg1] - player->pos[1])) {
|
||||
player->unk_0DE |= 1;
|
||||
player->unk_0DE &= ~0x0002;
|
||||
} else {
|
||||
player->unk_0DE &= 0xFFFE;
|
||||
player->unk_0DE &= ~0x0001;
|
||||
}
|
||||
if (player->boundingBoxSize < (*var_a2 - player->pos[1])) {
|
||||
temp_v1 = player->unk_0DE;
|
||||
temp_t1 = temp_v1 | 8;
|
||||
if ((temp_v1 & 4) != 4) {
|
||||
player->unk_0DE = temp_t1;
|
||||
player->unk_0DE = temp_t1 | 4;
|
||||
temp_v0 = gCurrentCourseId;
|
||||
if ((temp_v0 != 6) && (temp_v0 != 0x0010) && (temp_v0 != 0x000D) && ((player->unk_000 & 0x4000) == 0x4000)) {
|
||||
if ((temp_v0 == 2) || (temp_v0 == 0x0013)) {
|
||||
sp24 = var_a2;
|
||||
if (player->boundingBoxSize < (D_801652A0[arg1] - player->pos[1])) {
|
||||
if ((player->unk_0DE & 4) != 4) {
|
||||
player->unk_0DE |= 8;
|
||||
player->unk_0DE |= 4;
|
||||
if ((gCurrentCourseId != COURSE_KOOPA_BEACH) &&
|
||||
(gCurrentCourseId != COURSE_SKYSCRAPER) &&
|
||||
(gCurrentCourseId != COURSE_RAINBOW_ROAD) &&
|
||||
((player->unk_000 & 0x4000) == 0x4000)) {
|
||||
if ((gCurrentCourseId == COURSE_BOWSER_CASTLE) ||
|
||||
(gCurrentCourseId == COURSE_BIG_DONUT)) {
|
||||
func_800C9060((u8) arg1, 0x1900801CU);
|
||||
} else {
|
||||
sp24 = var_a2;
|
||||
func_800C9060((u8) arg1, 0x19008008U);
|
||||
}
|
||||
var_a2 = sp24;
|
||||
}
|
||||
}
|
||||
}
|
||||
temp_v0_2 = gCurrentCourseId;
|
||||
if ((temp_v0_2 == 6) || (temp_v0_2 == 0x0010) || (temp_v0_2 == 0x000D)) {
|
||||
player->unk_0DE &= 0xFFF3;
|
||||
if ((gCurrentCourseId == COURSE_KOOPA_BEACH) ||
|
||||
(gCurrentCourseId == COURSE_SKYSCRAPER) ||
|
||||
(gCurrentCourseId == COURSE_RAINBOW_ROAD)) {
|
||||
player->unk_0DE &= ~0x000C;
|
||||
}
|
||||
if ((player->boundingBoxSize < (*var_a2 - player->pos[1])) && (player->unk_110.unk3C[2] >= 600.0f)) {
|
||||
if ((player->boundingBoxSize < (D_801652A0[arg1] - player->pos[1])) && (player->unk_110.unk3C[2] >= 600.0f)) {
|
||||
player->unk_0CA |= 1;
|
||||
}
|
||||
if (player->unk_110.unk3C[2] >= 600.0f) {
|
||||
player->unk_0CA |= 0x100;
|
||||
player->unk_0CA |= 0x0100;
|
||||
} else if ((player->unk_0BC & 8) != 8) {
|
||||
player->unk_0CA &= 0xFEFF;
|
||||
player->unk_0CA &= ~0x0100;
|
||||
}
|
||||
if ((player->unk_000 & 0x1000) && ((func_802ABDF4(player->unk_110.unk3A) != 0) || (player->unk_0CA & 1))) {
|
||||
temp_v0_3 = player->unk_0CA;
|
||||
if (!(temp_v0_3 & 2) && !(temp_v0_3 & 8) && !(player->unk_0BC & 0x1000)) {
|
||||
if (!(player->unk_0CA & 2) && !(player->unk_0CA & 8) && !(player->unk_0BC & 0x1000)) {
|
||||
func_80090778(player);
|
||||
func_80090868(player);
|
||||
}
|
||||
@@ -2279,9 +2090,6 @@ void func_8002C4F8(Player *player, s8 arg1) {
|
||||
}
|
||||
func_8002C17C(player, arg1);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_80027D00/func_8002C4F8.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit 8267401fa4ef7a38942dcca43353cc1bcc6efabc
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
/* Function Prototypes */
|
||||
|
||||
s32 get_player_index_for_player(Player*);
|
||||
void func_80027EDC(Player*, s8);
|
||||
void func_80028F70();
|
||||
void func_80029060();
|
||||
void func_80029150();
|
||||
@@ -36,6 +37,7 @@ void func_8002B8A4(Player*, Player*);
|
||||
void func_8002BD58(Player*);
|
||||
void func_8002C11C(Player*);
|
||||
void func_8002C17C(Player*, s8);
|
||||
void func_8002C4F8(Player*, s8);
|
||||
void func_8002D268(Player*, Camera*, s8, s8);
|
||||
void func_8002E4C4(Player*);
|
||||
void func_8002FCA8(Player*, s8);
|
||||
|
||||
Reference in New Issue
Block a user