From 6f6270100bdccd38448d51efe382da0a0f32f282 Mon Sep 17 00:00:00 2001 From: petrie911 <69443847+petrie911@users.noreply.github.com> Date: Sat, 30 Jan 2021 12:17:43 -0600 Subject: [PATCH] En_Horse_Game_Check (#619) * stuff * name functions * whoops * horse head * matched and documented * merge actor * relocs Co-authored-by: petrie911 --- .../EnHorseGameCheck_Destroy.s | 17 - .../EnHorseGameCheck_Draw.s | 7 - .../EnHorseGameCheck_Init.s | 37 -- .../EnHorseGameCheck_Update.s | 17 - .../ovl_En_Horse_Game_Check/func_80A67550.s | 60 --- .../ovl_En_Horse_Game_Check/func_80A67608.s | 5 - .../ovl_En_Horse_Game_Check/func_80A67618.s | 87 ---- .../ovl_En_Horse_Game_Check/func_80A67764.s | 321 ------------- .../ovl_En_Horse_Game_Check/func_80A67BDC.s | 8 - .../ovl_En_Horse_Game_Check/func_80A67BF8.s | 5 - .../ovl_En_Horse_Game_Check/func_80A67C08.s | 22 - .../ovl_En_Horse_Game_Check/func_80A67C50.s | 7 - .../ovl_En_Horse_Game_Check/func_80A67C68.s | 5 - .../ovl_En_Horse_Game_Check/func_80A67C78.s | 5 - .../ovl_En_Horse_Game_Check/func_80A67C88.s | 21 - .../ovl_En_Horse_Game_Check/func_80A67CD4.s | 5 - .../ovl_En_Horse_Game_Check/func_80A67CE4.s | 82 ---- .../ovl_En_Horse_Game_Check/func_80A67DFC.s | 358 -------------- .../actors/z_en_horse_game_check.data.s | 45 -- .../actors/z_en_horse_game_check.reloc.s | 13 - spec | 3 +- src/overlays/actors/ovl_En_Horse/z_en_horse.h | 6 +- .../z_en_horse_game_check.c | 446 +++++++++++++++++- .../z_en_horse_game_check.h | 57 ++- 24 files changed, 485 insertions(+), 1154 deletions(-) delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Destroy.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Draw.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Init.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Update.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67550.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67608.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67618.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67764.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67BDC.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67BF8.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C08.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C50.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C68.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C78.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C88.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67CD4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67CE4.s delete mode 100644 asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67DFC.s delete mode 100644 data/overlays/actors/z_en_horse_game_check.data.s delete mode 100644 data/overlays/actors/z_en_horse_game_check.reloc.s diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Destroy.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Destroy.s deleted file mode 100644 index 3b8d2276d4..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Destroy.s +++ /dev/null @@ -1,17 +0,0 @@ -glabel EnHorseGameCheck_Destroy -/* 00E40 80A68390 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00E44 80A68394 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00E48 80A68398 848E001C */ lh $t6, 0x001C($a0) ## 0000001C -/* 00E4C 80A6839C 3C0280A7 */ lui $v0, %hi(D_80A68504) ## $v0 = 80A70000 -/* 00E50 80A683A0 000E7880 */ sll $t7, $t6, 2 -/* 00E54 80A683A4 004F1021 */ addu $v0, $v0, $t7 -/* 00E58 80A683A8 8C428504 */ lw $v0, %lo(D_80A68504)($v0) -/* 00E5C 80A683AC 50400004 */ beql $v0, $zero, .L80A683C0 -/* 00E60 80A683B0 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00E64 80A683B4 0040F809 */ jalr $ra, $v0 -/* 00E68 80A683B8 00000000 */ nop -/* 00E6C 80A683BC 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A683C0: -/* 00E70 80A683C0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00E74 80A683C4 03E00008 */ jr $ra -/* 00E78 80A683C8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Draw.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Draw.s deleted file mode 100644 index 4e7b21f2bc..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Draw.s +++ /dev/null @@ -1,7 +0,0 @@ -glabel EnHorseGameCheck_Draw -/* 00EB8 80A68408 AFA40000 */ sw $a0, 0x0000($sp) -/* 00EBC 80A6840C 03E00008 */ jr $ra -/* 00EC0 80A68410 AFA50004 */ sw $a1, 0x0004($sp) -/* 00EC4 80A68414 00000000 */ nop -/* 00EC8 80A68418 00000000 */ nop -/* 00ECC 80A6841C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Init.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Init.s deleted file mode 100644 index 762147e66f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Init.s +++ /dev/null @@ -1,37 +0,0 @@ -glabel EnHorseGameCheck_Init -/* 00DC0 80A68310 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00DC4 80A68314 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00DC8 80A68318 84AE00A4 */ lh $t6, 0x00A4($a1) ## 000000A4 -/* 00DCC 80A6831C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000 -/* 00DD0 80A68320 24010063 */ addiu $at, $zero, 0x0063 ## $at = 00000063 -/* 00DD4 80A68324 15C1000D */ bne $t6, $at, .L80A6835C -/* 00DD8 80A68328 24040018 */ addiu $a0, $zero, 0x0018 ## $a0 = 00000018 -/* 00DDC 80A6832C AFA5001C */ sw $a1, 0x001C($sp) -/* 00DE0 80A68330 0C00D6D3 */ jal Flags_GetEventChkInf - -/* 00DE4 80A68334 AFA60018 */ sw $a2, 0x0018($sp) -/* 00DE8 80A68338 8FA5001C */ lw $a1, 0x001C($sp) -/* 00DEC 80A6833C 14400005 */ bne $v0, $zero, .L80A68354 -/* 00DF0 80A68340 8FA60018 */ lw $a2, 0x0018($sp) -/* 00DF4 80A68344 3C0F8016 */ lui $t7, %hi(gGameInfo) -/* 00DF8 80A68348 8DEFFA90 */ lw $t7, %lo(gGameInfo)($t7) -/* 00DFC 80A6834C 85F80556 */ lh $t8, 0x0556($t7) ## 80160556 -/* 00E00 80A68350 13000002 */ beq $t8, $zero, .L80A6835C -.L80A68354: -/* 00E04 80A68354 24190004 */ addiu $t9, $zero, 0x0004 ## $t9 = 00000004 -/* 00E08 80A68358 A4D9001C */ sh $t9, 0x001C($a2) ## 0000001C -.L80A6835C: -/* 00E0C 80A6835C 84C8001C */ lh $t0, 0x001C($a2) ## 0000001C -/* 00E10 80A68360 3C0280A7 */ lui $v0, %hi(D_80A684F0) ## $v0 = 80A70000 -/* 00E14 80A68364 00084880 */ sll $t1, $t0, 2 -/* 00E18 80A68368 00491021 */ addu $v0, $v0, $t1 -/* 00E1C 80A6836C 8C4284F0 */ lw $v0, %lo(D_80A684F0)($v0) -/* 00E20 80A68370 50400004 */ beql $v0, $zero, .L80A68384 -/* 00E24 80A68374 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00E28 80A68378 0040F809 */ jalr $ra, $v0 -/* 00E2C 80A6837C 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000 -/* 00E30 80A68380 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A68384: -/* 00E34 80A68384 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00E38 80A68388 03E00008 */ jr $ra -/* 00E3C 80A6838C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Update.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Update.s deleted file mode 100644 index a9ee6f846b..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Update.s +++ /dev/null @@ -1,17 +0,0 @@ -glabel EnHorseGameCheck_Update -/* 00E7C 80A683CC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00E80 80A683D0 AFBF0014 */ sw $ra, 0x0014($sp) -/* 00E84 80A683D4 8C8E014C */ lw $t6, 0x014C($a0) ## 0000014C -/* 00E88 80A683D8 3C0280A7 */ lui $v0, %hi(D_80A68518) ## $v0 = 80A70000 -/* 00E8C 80A683DC 000E7880 */ sll $t7, $t6, 2 -/* 00E90 80A683E0 004F1021 */ addu $v0, $v0, $t7 -/* 00E94 80A683E4 8C428518 */ lw $v0, %lo(D_80A68518)($v0) -/* 00E98 80A683E8 50400004 */ beql $v0, $zero, .L80A683FC -/* 00E9C 80A683EC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00EA0 80A683F0 0040F809 */ jalr $ra, $v0 -/* 00EA4 80A683F4 00000000 */ nop -/* 00EA8 80A683F8 8FBF0014 */ lw $ra, 0x0014($sp) -.L80A683FC: -/* 00EAC 80A683FC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 00EB0 80A68400 03E00008 */ jr $ra -/* 00EB4 80A68404 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67550.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67550.s deleted file mode 100644 index 01c144758e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67550.s +++ /dev/null @@ -1,60 +0,0 @@ -.rdata -glabel D_80A68530 - .asciz "../z_en_horse_game_check.c" - .balign 4 - -.late_rodata -glabel D_80A68570 - .float -1650.0 - -.text -glabel func_80A67550 -/* 00000 80A67550 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 00004 80A67554 AFB00030 */ sw $s0, 0x0030($sp) -/* 00008 80A67558 AFBF0034 */ sw $ra, 0x0034($sp) -/* 0000C 80A6755C 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 00010 80A67560 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000 -/* 00014 80A67564 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C -/* 00018 80A67568 AC800150 */ sw $zero, 0x0150($a0) ## 00000150 -/* 0001C 80A6756C 00801825 */ or $v1, $a0, $zero ## $v1 = 00000000 -/* 00020 80A67570 24040003 */ addiu $a0, $zero, 0x0003 ## $a0 = 00000003 -/* 00024 80A67574 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -.L80A67578: -/* 00028 80A67578 24420001 */ addiu $v0, $v0, 0x0001 ## $v0 = 00000001 -/* 0002C 80A6757C 24630004 */ addiu $v1, $v1, 0x0004 ## $v1 = 00000004 -/* 00030 80A67580 1444FFFD */ bne $v0, $a0, .L80A67578 -/* 00034 80A67584 AC600150 */ sw $zero, 0x0150($v1) ## 00000154 -/* 00038 80A67588 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000 -/* 0003C 80A6758C 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00 -/* 00040 80A67590 3C0180A7 */ lui $at, %hi(D_80A68570) ## $at = 80A70000 -/* 00044 80A67594 C4268570 */ lwc1 $f6, %lo(D_80A68570)($at) -/* 00048 80A67598 240F4000 */ addiu $t7, $zero, 0x4000 ## $t7 = 00004000 -/* 0004C 80A6759C 24188003 */ addiu $t8, $zero, 0x8003 ## $t8 = FFFF8003 -/* 00050 80A675A0 AFB80024 */ sw $t8, 0x0024($sp) -/* 00054 80A675A4 AFAF001C */ sw $t7, 0x001C($sp) -/* 00058 80A675A8 24A41C24 */ addiu $a0, $a1, 0x1C24 ## $a0 = 00001C24 -/* 0005C 80A675AC 24060014 */ addiu $a2, $zero, 0x0014 ## $a2 = 00000014 -/* 00060 80A675B0 3C07C37A */ lui $a3, 0xC37A ## $a3 = C37A0000 -/* 00064 80A675B4 AFA00018 */ sw $zero, 0x0018($sp) -/* 00068 80A675B8 AFA00020 */ sw $zero, 0x0020($sp) -/* 0006C 80A675BC E7A40010 */ swc1 $f4, 0x0010($sp) -/* 00070 80A675C0 0C00C7D4 */ jal Actor_Spawn - ## ActorSpawn -/* 00074 80A675C4 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 00078 80A675C8 14400005 */ bne $v0, $zero, .L80A675E0 -/* 0007C 80A675CC AE02016C */ sw $v0, 0x016C($s0) ## 0000016C -/* 00080 80A675D0 3C0480A7 */ lui $a0, %hi(D_80A68530) ## $a0 = 80A70000 -/* 00084 80A675D4 24848530 */ addiu $a0, $a0, %lo(D_80A68530) ## $a0 = 80A68530 -/* 00088 80A675D8 0C000B94 */ jal LogUtils_HungupThread -/* 0008C 80A675DC 24050181 */ addiu $a1, $zero, 0x0181 ## $a1 = 00000181 -.L80A675E0: -/* 00090 80A675E0 AE000170 */ sw $zero, 0x0170($s0) ## 00000170 -/* 00094 80A675E4 AE000178 */ sw $zero, 0x0178($s0) ## 00000178 -/* 00098 80A675E8 AE000174 */ sw $zero, 0x0174($s0) ## 00000174 -/* 0009C 80A675EC AE00017C */ sw $zero, 0x017C($s0) ## 0000017C -/* 000A0 80A675F0 AE000180 */ sw $zero, 0x0180($s0) ## 00000180 -/* 000A4 80A675F4 8FBF0034 */ lw $ra, 0x0034($sp) -/* 000A8 80A675F8 8FB00030 */ lw $s0, 0x0030($sp) -/* 000AC 80A675FC 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 000B0 80A67600 03E00008 */ jr $ra -/* 000B4 80A67604 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67608.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67608.s deleted file mode 100644 index b82858ee80..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67608.s +++ /dev/null @@ -1,5 +0,0 @@ -glabel func_80A67608 -/* 000B8 80A67608 AFA40000 */ sw $a0, 0x0000($sp) -/* 000BC 80A6760C AFA50004 */ sw $a1, 0x0004($sp) -/* 000C0 80A67610 03E00008 */ jr $ra -/* 000C4 80A67614 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67618.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67618.s deleted file mode 100644 index 84376d44a7..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67618.s +++ /dev/null @@ -1,87 +0,0 @@ -glabel func_80A67618 -/* 000C8 80A67618 3C028016 */ lui $v0, %hi(gSaveContext) -/* 000CC 80A6761C 2442E660 */ addiu $v0, %lo(gSaveContext) -/* 000D0 80A67620 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 000D4 80A67624 AFBF0014 */ sw $ra, 0x0014($sp) -/* 000D8 80A67628 AC400008 */ sw $zero, 0x0008($v0) ## 8015E668 -/* 000DC 80A6762C 8C8E0174 */ lw $t6, 0x0174($a0) ## 00000174 -/* 000E0 80A67630 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 000E4 80A67634 24090558 */ addiu $t1, $zero, 0x0558 ## $t1 = 00000558 -/* 000E8 80A67638 15C1002E */ bne $t6, $at, .L80A676F4 -/* 000EC 80A6763C 240D0020 */ addiu $t5, $zero, 0x0020 ## $t5 = 00000020 -/* 000F0 80A67640 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 000F4 80A67644 00250821 */ addu $at, $at, $a1 -/* 000F8 80A67648 240F04CE */ addiu $t7, $zero, 0x04CE ## $t7 = 000004CE -/* 000FC 80A6764C A42F1E1A */ sh $t7, 0x1E1A($at) ## 00011E1A -/* 00100 80A67650 944313FA */ lhu $v1, 0x13FA($v0) ## 8015FA5A -/* 00104 80A67654 3C01FFFF */ lui $at, 0xFFFF ## $at = FFFF0000 -/* 00108 80A67658 34217FFF */ ori $at, $at, 0x7FFF ## $at = FFFF7FFF -/* 0010C 80A6765C 30780040 */ andi $t8, $v1, 0x0040 ## $t8 = 00000000 -/* 00110 80A67660 13000014 */ beq $t8, $zero, .L80A676B4 -/* 00114 80A67664 306DFFF0 */ andi $t5, $v1, 0xFFF0 ## $t5 = 00000000 -/* 00118 80A67668 3079FFF0 */ andi $t9, $v1, 0xFFF0 ## $t9 = 00000000 -/* 0011C 80A6766C 3C01FFFF */ lui $at, 0xFFFF ## $at = FFFF0000 -/* 00120 80A67670 37290006 */ ori $t1, $t9, 0x0006 ## $t1 = 00000006 -/* 00124 80A67674 34217FFF */ ori $at, $at, 0x7FFF ## $at = FFFF7FFF -/* 00128 80A67678 01215024 */ and $t2, $t1, $at -/* 0012C 80A6767C A44913FA */ sh $t1, 0x13FA($v0) ## 8015FA5A -/* 00130 80A67680 354B8000 */ ori $t3, $t2, 0x8000 ## $t3 = 00008000 -/* 00134 80A67684 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00138 80A67688 A44B13FA */ sh $t3, 0x13FA($v0) ## 8015FA5A -/* 0013C 80A6768C 00250821 */ addu $at, $at, $a1 -/* 00140 80A67690 240C0003 */ addiu $t4, $zero, 0x0003 ## $t4 = 00000003 -/* 00144 80A67694 A02C1E5E */ sb $t4, 0x1E5E($at) ## 00011E5E -/* 00148 80A67698 AFA5001C */ sw $a1, 0x001C($sp) -/* 0014C 80A6769C 0C01DD7C */ jal func_800775F0 -/* 00150 80A676A0 24040042 */ addiu $a0, $zero, 0x0042 ## $a0 = 00000042 -/* 00154 80A676A4 3C028016 */ lui $v0, %hi(gSaveContext) -/* 00158 80A676A8 2442E660 */ addiu $v0, %lo(gSaveContext) -/* 0015C 80A676AC 10000021 */ beq $zero, $zero, .L80A67734 -/* 00160 80A676B0 8FA5001C */ lw $a1, 0x001C($sp) -.L80A676B4: -/* 00164 80A676B4 35AF0004 */ ori $t7, $t5, 0x0004 ## $t7 = 00000004 -/* 00168 80A676B8 01E1C024 */ and $t8, $t7, $at -/* 0016C 80A676BC A44F13FA */ sh $t7, 0x13FA($v0) ## 8015FA5A -/* 00170 80A676C0 37198000 */ ori $t9, $t8, 0x8000 ## $t9 = 00008000 -/* 00174 80A676C4 A45913FA */ sh $t9, 0x13FA($v0) ## 8015FA5A -/* 00178 80A676C8 24040042 */ addiu $a0, $zero, 0x0042 ## $a0 = 00000042 -/* 0017C 80A676CC 0C01DD7C */ jal func_800775F0 -/* 00180 80A676D0 AFA5001C */ sw $a1, 0x001C($sp) -/* 00184 80A676D4 8FA5001C */ lw $a1, 0x001C($sp) -/* 00188 80A676D8 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 0018C 80A676DC 3C028016 */ lui $v0, %hi(gSaveContext) -/* 00190 80A676E0 2408002E */ addiu $t0, $zero, 0x002E ## $t0 = 0000002E -/* 00194 80A676E4 00250821 */ addu $at, $at, $a1 -/* 00198 80A676E8 2442E660 */ addiu $v0, %lo(gSaveContext) -/* 0019C 80A676EC 10000011 */ beq $zero, $zero, .L80A67734 -/* 001A0 80A676F0 A0281E5E */ sb $t0, 0x1E5E($at) ## 00011E5E -.L80A676F4: -/* 001A4 80A676F4 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 001A8 80A676F8 00250821 */ addu $at, $at, $a1 -/* 001AC 80A676FC A4291E1A */ sh $t1, 0x1E1A($at) ## 00011E1A -/* 001B0 80A67700 944A13FA */ lhu $t2, 0x13FA($v0) ## 8015FA5A -/* 001B4 80A67704 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 001B8 80A67708 00250821 */ addu $at, $at, $a1 -/* 001BC 80A6770C 314BFFF0 */ andi $t3, $t2, 0xFFF0 ## $t3 = 00000000 -/* 001C0 80A67710 356C0003 */ ori $t4, $t3, 0x0003 ## $t4 = 00000003 -/* 001C4 80A67714 A44C13FA */ sh $t4, 0x13FA($v0) ## 8015FA5A -/* 001C8 80A67718 A02D1E5E */ sb $t5, 0x1E5E($at) ## 00011E5E -/* 001CC 80A6771C 944E13FA */ lhu $t6, 0x13FA($v0) ## 8015FA5A -/* 001D0 80A67720 3C01FFFF */ lui $at, 0xFFFF ## $at = FFFF0000 -/* 001D4 80A67724 34217FFF */ ori $at, $at, 0x7FFF ## $at = FFFF7FFF -/* 001D8 80A67728 01C17824 */ and $t7, $t6, $at -/* 001DC 80A6772C 35F88000 */ ori $t8, $t7, 0x8000 ## $t8 = 00008000 -/* 001E0 80A67730 A45813FA */ sh $t8, 0x13FA($v0) ## 8015FA5A -.L80A67734: -/* 001E4 80A67734 3C198016 */ lui $t9, %hi(gGameInfo) -/* 001E8 80A67738 8F39FA90 */ lw $t9, %lo(gGameInfo)($t9) -/* 001EC 80A6773C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 001F0 80A67740 00250821 */ addu $at, $at, $a1 -/* 001F4 80A67744 24080014 */ addiu $t0, $zero, 0x0014 ## $t0 = 00000014 -/* 001F8 80A67748 A7200586 */ sh $zero, 0x0586($t9) ## 80160586 -/* 001FC 80A6774C A0281E15 */ sb $t0, 0x1E15($at) ## 00011E15 -/* 00200 80A67750 8FBF0014 */ lw $ra, 0x0014($sp) -/* 00204 80A67754 A44013CE */ sh $zero, 0x13CE($v0) ## 8015FA2E -/* 00208 80A67758 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 0020C 80A6775C 03E00008 */ jr $ra -/* 00210 80A67760 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67764.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67764.s deleted file mode 100644 index cc81ba7835..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67764.s +++ /dev/null @@ -1,321 +0,0 @@ -glabel func_80A67764 -/* 00214 80A67764 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0 -/* 00218 80A67768 AFBF003C */ sw $ra, 0x003C($sp) -/* 0021C 80A6776C AFB40038 */ sw $s4, 0x0038($sp) -/* 00220 80A67770 AFB30034 */ sw $s3, 0x0034($sp) -/* 00224 80A67774 AFB20030 */ sw $s2, 0x0030($sp) -/* 00228 80A67778 AFB1002C */ sw $s1, 0x002C($sp) -/* 0022C 80A6777C AFB00028 */ sw $s0, 0x0028($sp) -/* 00230 80A67780 F7B40020 */ sdc1 $f20, 0x0020($sp) -/* 00234 80A67784 AFA50044 */ sw $a1, 0x0044($sp) -/* 00238 80A67788 8C830170 */ lw $v1, 0x0170($a0) ## 00000170 -/* 0023C 80A6778C 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000 -/* 00240 80A67790 8CB41C44 */ lw $s4, 0x1C44($a1) ## 00001C44 -/* 00244 80A67794 28610033 */ slti $at, $v1, 0x0033 -/* 00248 80A67798 5420000B */ bnel $at, $zero, .L80A677C8 -/* 0024C 80A6779C 28610051 */ slti $at, $v1, 0x0051 -/* 00250 80A677A0 8C820150 */ lw $v0, 0x0150($a0) ## 00000150 -/* 00254 80A677A4 304F0002 */ andi $t7, $v0, 0x0002 ## $t7 = 00000000 -/* 00258 80A677A8 15E00006 */ bne $t7, $zero, .L80A677C4 -/* 0025C 80A677AC 34580002 */ ori $t8, $v0, 0x0002 ## $t8 = 00000002 -/* 00260 80A677B0 AC980150 */ sw $t8, 0x0150($a0) ## 00000150 -/* 00264 80A677B4 0C0222CD */ jal func_80088B34 -/* 00268 80A677B8 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000 -/* 0026C 80A677BC 10000029 */ beq $zero, $zero, .L80A67864 -/* 00270 80A677C0 8E430170 */ lw $v1, 0x0170($s2) ## 00000170 -.L80A677C4: -/* 00274 80A677C4 28610051 */ slti $at, $v1, 0x0051 -.L80A677C8: -/* 00278 80A677C8 5420000F */ bnel $at, $zero, .L80A67808 -/* 0027C 80A677CC 28610052 */ slti $at, $v1, 0x0052 -/* 00280 80A677D0 8E990440 */ lw $t9, 0x0440($s4) ## 00000440 -/* 00284 80A677D4 5320000C */ beql $t9, $zero, .L80A67808 -/* 00288 80A677D8 28610052 */ slti $at, $v1, 0x0052 -/* 0028C 80A677DC 8E420150 */ lw $v0, 0x0150($s2) ## 00000150 -/* 00290 80A677E0 30480001 */ andi $t0, $v0, 0x0001 ## $t0 = 00000000 -/* 00294 80A677E4 15000007 */ bne $t0, $zero, .L80A67804 -/* 00298 80A677E8 34490001 */ ori $t1, $v0, 0x0001 ## $t1 = 00000001 -/* 0029C 80A677EC AE490150 */ sw $t1, 0x0150($s2) ## 00000150 -/* 002A0 80A677F0 8E840440 */ lw $a0, 0x0440($s4) ## 00000440 -/* 002A4 80A677F4 24130001 */ addiu $s3, $zero, 0x0001 ## $s3 = 00000001 -/* 002A8 80A677F8 AC930388 */ sw $s3, 0x0388($a0) ## 00000388 -/* 002AC 80A677FC 10000019 */ beq $zero, $zero, .L80A67864 -/* 002B0 80A67800 8E430170 */ lw $v1, 0x0170($s2) ## 00000170 -.L80A67804: -/* 002B4 80A67804 28610052 */ slti $at, $v1, 0x0052 -.L80A67808: -/* 002B8 80A67808 54200017 */ bnel $at, $zero, .L80A67868 -/* 002BC 80A6780C 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000 -/* 002C0 80A67810 8E4A0150 */ lw $t2, 0x0150($s2) ## 00000150 -/* 002C4 80A67814 24130001 */ addiu $s3, $zero, 0x0001 ## $s3 = 00000001 -/* 002C8 80A67818 24044835 */ addiu $a0, $zero, 0x4835 ## $a0 = 00004835 -/* 002CC 80A6781C 314B0004 */ andi $t3, $t2, 0x0004 ## $t3 = 00000000 -/* 002D0 80A67820 15600010 */ bne $t3, $zero, .L80A67864 -/* 002D4 80A67824 3C058013 */ lui $a1, %hi(D_801333D4) -/* 002D8 80A67828 8E42016C */ lw $v0, 0x016C($s2) ## 0000016C -/* 002DC 80A6782C 3C0E8013 */ lui $t6, %hi(D_801333E0) -/* 002E0 80A67830 3C0F8013 */ lui $t7, %hi(D_801333E8) -/* 002E4 80A67834 AC530388 */ sw $s3, 0x0388($v0) ## 00000388 -/* 002E8 80A67838 8E4C0150 */ lw $t4, 0x0150($s2) ## 00000150 -/* 002EC 80A6783C 25EF33E8 */ addiu $t7, %lo(D_801333E8) -/* 002F0 80A67840 25C733E0 */ addiu $a3, $t6, %lo(D_801333E0) -/* 002F4 80A67844 358D0004 */ ori $t5, $t4, 0x0004 ## $t5 = 00000004 -/* 002F8 80A67848 AE4D0150 */ sw $t5, 0x0150($s2) ## 00000150 -/* 002FC 80A6784C AFAF0014 */ sw $t7, 0x0014($sp) -/* 00300 80A67850 AFA70010 */ sw $a3, 0x0010($sp) -/* 00304 80A67854 24A533D4 */ addiu $a1, %lo(D_801333D4) -/* 00308 80A67858 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 0030C 80A6785C 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 00310 80A67860 8E430170 */ lw $v1, 0x0170($s2) ## 00000170 -.L80A67864: -/* 00314 80A67864 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000 -.L80A67868: -/* 00318 80A67868 24780001 */ addiu $t8, $v1, 0x0001 ## $t8 = 00000001 -/* 0031C 80A6786C 3C1180A7 */ lui $s1, %hi(D_80A68440) ## $s1 = 80A70000 -/* 00320 80A67870 4481A000 */ mtc1 $at, $f20 ## $f20 = 400.00 -/* 00324 80A67874 24130001 */ addiu $s3, $zero, 0x0001 ## $s3 = 00000001 -/* 00328 80A67878 AE580170 */ sw $t8, 0x0170($s2) ## 00000170 -/* 0032C 80A6787C 26318440 */ addiu $s1, $s1, %lo(D_80A68440) ## $s1 = 80A68440 -/* 00330 80A67880 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -.L80A67884: -/* 00334 80A67884 8E820440 */ lw $v0, 0x0440($s4) ## 00000440 -/* 00338 80A67888 02202025 */ or $a0, $s1, $zero ## $a0 = 80A68440 -/* 0033C 80A6788C 50400014 */ beql $v0, $zero, .L80A678E0 -/* 00340 80A67890 8E45016C */ lw $a1, 0x016C($s2) ## 0000016C -/* 00344 80A67894 0C032D9E */ jal Math3D_Vec3f_DistXYZ -/* 00348 80A67898 24450024 */ addiu $a1, $v0, 0x0024 ## $a1 = 00000024 -/* 0034C 80A6789C 4614003C */ c.lt.s $f0, $f20 -/* 00350 80A678A0 00000000 */ nop -/* 00354 80A678A4 4502000E */ bc1fl .L80A678E0 -/* 00358 80A678A8 8E45016C */ lw $a1, 0x016C($s2) ## 0000016C -/* 0035C 80A678AC 1A000007 */ blez $s0, .L80A678CC -/* 00360 80A678B0 0010C880 */ sll $t9, $s0, 2 -/* 00364 80A678B4 02591021 */ addu $v0, $s2, $t9 -/* 00368 80A678B8 8C480150 */ lw $t0, 0x0150($v0) ## 00000150 -/* 0036C 80A678BC 16680003 */ bne $s3, $t0, .L80A678CC -/* 00370 80A678C0 00000000 */ nop -/* 00374 80A678C4 10000005 */ beq $zero, $zero, .L80A678DC -/* 00378 80A678C8 AC530154 */ sw $s3, 0x0154($v0) ## 00000154 -.L80A678CC: -/* 0037C 80A678CC 16000003 */ bne $s0, $zero, .L80A678DC -/* 00380 80A678D0 00104880 */ sll $t1, $s0, 2 -/* 00384 80A678D4 02495021 */ addu $t2, $s2, $t1 -/* 00388 80A678D8 AD530154 */ sw $s3, 0x0154($t2) ## 00000154 -.L80A678DC: -/* 0038C 80A678DC 8E45016C */ lw $a1, 0x016C($s2) ## 0000016C -.L80A678E0: -/* 00390 80A678E0 02202025 */ or $a0, $s1, $zero ## $a0 = 80A68440 -/* 00394 80A678E4 0C032D9E */ jal Math3D_Vec3f_DistXYZ -/* 00398 80A678E8 24A50024 */ addiu $a1, $a1, 0x0024 ## $a1 = 00000024 -/* 0039C 80A678EC 4614003C */ c.lt.s $f0, $f20 -/* 003A0 80A678F0 00000000 */ nop -/* 003A4 80A678F4 4502000E */ bc1fl .L80A67930 -/* 003A8 80A678F8 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 003AC 80A678FC 1A000007 */ blez $s0, .L80A6791C -/* 003B0 80A67900 00105880 */ sll $t3, $s0, 2 -/* 003B4 80A67904 024B1021 */ addu $v0, $s2, $t3 -/* 003B8 80A67908 8C4C015C */ lw $t4, 0x015C($v0) ## 0000015C -/* 003BC 80A6790C 166C0003 */ bne $s3, $t4, .L80A6791C -/* 003C0 80A67910 00000000 */ nop -/* 003C4 80A67914 10000005 */ beq $zero, $zero, .L80A6792C -/* 003C8 80A67918 AC530160 */ sw $s3, 0x0160($v0) ## 00000160 -.L80A6791C: -/* 003CC 80A6791C 16000003 */ bne $s0, $zero, .L80A6792C -/* 003D0 80A67920 00106880 */ sll $t5, $s0, 2 -/* 003D4 80A67924 024D7021 */ addu $t6, $s2, $t5 -/* 003D8 80A67928 ADD30160 */ sw $s3, 0x0160($t6) ## 00000160 -.L80A6792C: -/* 003DC 80A6792C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000002 -.L80A67930: -/* 003E0 80A67930 2A010003 */ slti $at, $s0, 0x0003 -/* 003E4 80A67934 1420FFD3 */ bne $at, $zero, .L80A67884 -/* 003E8 80A67938 2631000C */ addiu $s1, $s1, 0x000C ## $s1 = 80A6844C -/* 003EC 80A6793C 8E4F0174 */ lw $t7, 0x0174($s2) ## 00000174 -/* 003F0 80A67940 55E00095 */ bnel $t7, $zero, .L80A67B98 -/* 003F4 80A67944 8E420178 */ lw $v0, 0x0178($s2) ## 00000178 -/* 003F8 80A67948 8E820440 */ lw $v0, 0x0440($s4) ## 00000440 -/* 003FC 80A6794C 5040002D */ beql $v0, $zero, .L80A67A04 -/* 00400 80A67950 8E42016C */ lw $v0, 0x016C($s2) ## 0000016C -/* 00404 80A67954 8E58015C */ lw $t8, 0x015C($s2) ## 0000015C -/* 00408 80A67958 3C0380A7 */ lui $v1, %hi(D_80A68464) ## $v1 = 80A70000 -/* 0040C 80A6795C 24638464 */ addiu $v1, $v1, %lo(D_80A68464) ## $v1 = 80A68464 -/* 00410 80A67960 56780028 */ bnel $s3, $t8, .L80A67A04 -/* 00414 80A67964 8E42016C */ lw $v0, 0x016C($s2) ## 0000016C -/* 00418 80A67968 C4440024 */ lwc1 $f4, 0x0024($v0) ## 00000024 -/* 0041C 80A6796C C46C0000 */ lwc1 $f12, 0x0000($v1) ## 80A68464 -/* 00420 80A67970 C46E0004 */ lwc1 $f14, 0x0004($v1) ## 80A68468 -/* 00424 80A67974 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 00428 80A67978 C446002C */ lwc1 $f6, 0x002C($v0) ## 0000002C -/* 0042C 80A6797C 8C660008 */ lw $a2, 0x0008($v1) ## 80A6846C -/* 00430 80A67980 8C67000C */ lw $a3, 0x000C($v1) ## 80A68470 -/* 00434 80A67984 0C032C66 */ jal Math3D_PointInSquare2D -/* 00438 80A67988 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 0043C 80A6798C 5040001D */ beql $v0, $zero, .L80A67A04 -/* 00440 80A67990 8E42016C */ lw $v0, 0x016C($s2) ## 0000016C -/* 00444 80A67994 8E59017C */ lw $t9, 0x017C($s2) ## 0000017C -/* 00448 80A67998 240A0037 */ addiu $t2, $zero, 0x0037 ## $t2 = 00000037 -/* 0044C 80A6799C 24040041 */ addiu $a0, $zero, 0x0041 ## $a0 = 00000041 -/* 00450 80A679A0 27280001 */ addiu $t0, $t9, 0x0001 ## $t0 = 00000001 -/* 00454 80A679A4 1900000F */ blez $t0, .L80A679E4 -/* 00458 80A679A8 AE48017C */ sw $t0, 0x017C($s2) ## 0000017C -/* 0045C 80A679AC AE530174 */ sw $s3, 0x0174($s2) ## 00000174 -/* 00460 80A679B0 0C03E803 */ jal Audio_SetBGM - -/* 00464 80A679B4 AE4A0178 */ sw $t2, 0x0178($s2) ## 00000178 -/* 00468 80A679B8 3C078013 */ lui $a3, %hi(D_801333E0) -/* 0046C 80A679BC 3C0B8013 */ lui $t3, %hi(D_801333E8) -/* 00470 80A679C0 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 00474 80A679C4 256B33E8 */ addiu $t3, %lo(D_801333E8) -/* 00478 80A679C8 3C058013 */ lui $a1, %hi(D_801333D4) -/* 0047C 80A679CC 24A533D4 */ addiu $a1, %lo(D_801333D4) -/* 00480 80A679D0 AFAB0014 */ sw $t3, 0x0014($sp) -/* 00484 80A679D4 AFA70010 */ sw $a3, 0x0010($sp) -/* 00488 80A679D8 24044835 */ addiu $a0, $zero, 0x4835 ## $a0 = 00004835 -/* 0048C 80A679DC 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 00490 80A679E0 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -.L80A679E4: -/* 00494 80A679E4 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 00498 80A679E8 02401025 */ or $v0, $s2, $zero ## $v0 = 00000000 -/* 0049C 80A679EC 24110003 */ addiu $s1, $zero, 0x0003 ## $s1 = 00000003 -.L80A679F0: -/* 004A0 80A679F0 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 004A4 80A679F4 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000004 -/* 004A8 80A679F8 1611FFFD */ bne $s0, $s1, .L80A679F0 -/* 004AC 80A679FC AC400150 */ sw $zero, 0x0150($v0) ## 00000154 -/* 004B0 80A67A00 8E42016C */ lw $v0, 0x016C($s2) ## 0000016C -.L80A67A04: -/* 004B4 80A67A04 3C0380A7 */ lui $v1, %hi(D_80A68464) ## $v1 = 80A70000 -/* 004B8 80A67A08 24638464 */ addiu $v1, $v1, %lo(D_80A68464) ## $v1 = 80A68464 -/* 004BC 80A67A0C 1040002F */ beq $v0, $zero, .L80A67ACC -/* 004C0 80A67A10 24110003 */ addiu $s1, $zero, 0x0003 ## $s1 = 00000003 -/* 004C4 80A67A14 8E4C0168 */ lw $t4, 0x0168($s2) ## 00000168 -/* 004C8 80A67A18 566C002D */ bnel $s3, $t4, .L80A67AD0 -/* 004CC 80A67A1C 8E820440 */ lw $v0, 0x0440($s4) ## 00000440 -/* 004D0 80A67A20 C4480024 */ lwc1 $f8, 0x0024($v0) ## 00000028 -/* 004D4 80A67A24 C46C0000 */ lwc1 $f12, 0x0000($v1) ## 80A68464 -/* 004D8 80A67A28 C46E0004 */ lwc1 $f14, 0x0004($v1) ## 80A68468 -/* 004DC 80A67A2C E7A80010 */ swc1 $f8, 0x0010($sp) -/* 004E0 80A67A30 C44A002C */ lwc1 $f10, 0x002C($v0) ## 00000030 -/* 004E4 80A67A34 8C660008 */ lw $a2, 0x0008($v1) ## 80A6846C -/* 004E8 80A67A38 8C67000C */ lw $a3, 0x000C($v1) ## 80A68470 -/* 004EC 80A67A3C 0C032C66 */ jal Math3D_PointInSquare2D -/* 004F0 80A67A40 E7AA0014 */ swc1 $f10, 0x0014($sp) -/* 004F4 80A67A44 50400022 */ beql $v0, $zero, .L80A67AD0 -/* 004F8 80A67A48 8E820440 */ lw $v0, 0x0440($s4) ## 00000440 -/* 004FC 80A67A4C 8E4D0180 */ lw $t5, 0x0180($s2) ## 00000180 -/* 00500 80A67A50 24180002 */ addiu $t8, $zero, 0x0002 ## $t8 = 00000002 -/* 00504 80A67A54 24190046 */ addiu $t9, $zero, 0x0046 ## $t9 = 00000046 -/* 00508 80A67A58 25AE0001 */ addiu $t6, $t5, 0x0001 ## $t6 = 00000001 -/* 0050C 80A67A5C 19C00015 */ blez $t6, .L80A67AB4 -/* 00510 80A67A60 AE4E0180 */ sw $t6, 0x0180($s2) ## 00000180 -/* 00514 80A67A64 8E42016C */ lw $v0, 0x016C($s2) ## 0000016C -/* 00518 80A67A68 AE580174 */ sw $t8, 0x0174($s2) ## 00000174 -/* 0051C 80A67A6C AE590178 */ sw $t9, 0x0178($s2) ## 00000178 -/* 00520 80A67A70 8C4801F0 */ lw $t0, 0x01F0($v0) ## 000001F0 -/* 00524 80A67A74 3C010080 */ lui $at, 0x0080 ## $at = 00800000 -/* 00528 80A67A78 24040041 */ addiu $a0, $zero, 0x0041 ## $a0 = 00000041 -/* 0052C 80A67A7C 01014825 */ or $t1, $t0, $at ## $t1 = 00800000 -/* 00530 80A67A80 0C03E803 */ jal Audio_SetBGM - -/* 00534 80A67A84 AC4901F0 */ sw $t1, 0x01F0($v0) ## 000001F0 -/* 00538 80A67A88 3C078013 */ lui $a3, %hi(D_801333E0) -/* 0053C 80A67A8C 3C0A8013 */ lui $t2, %hi(D_801333E8) -/* 00540 80A67A90 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 00544 80A67A94 254A33E8 */ addiu $t2, %lo(D_801333E8) -/* 00548 80A67A98 3C058013 */ lui $a1, %hi(D_801333D4) -/* 0054C 80A67A9C 24A533D4 */ addiu $a1, %lo(D_801333D4) -/* 00550 80A67AA0 AFAA0014 */ sw $t2, 0x0014($sp) -/* 00554 80A67AA4 AFA70010 */ sw $a3, 0x0010($sp) -/* 00558 80A67AA8 24044835 */ addiu $a0, $zero, 0x4835 ## $a0 = 00004835 -/* 0055C 80A67AAC 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 00560 80A67AB0 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -.L80A67AB4: -/* 00564 80A67AB4 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 00568 80A67AB8 02401025 */ or $v0, $s2, $zero ## $v0 = 00000000 -.L80A67ABC: -/* 0056C 80A67ABC 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 00570 80A67AC0 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000004 -/* 00574 80A67AC4 1611FFFD */ bne $s0, $s1, .L80A67ABC -/* 00578 80A67AC8 AC40015C */ sw $zero, 0x015C($v0) ## 00000160 -.L80A67ACC: -/* 0057C 80A67ACC 8E820440 */ lw $v0, 0x0440($s4) ## 00000440 -.L80A67AD0: -/* 00580 80A67AD0 3C1080A7 */ lui $s0, %hi(D_80A68474) ## $s0 = 80A70000 -/* 00584 80A67AD4 26108474 */ addiu $s0, $s0, %lo(D_80A68474) ## $s0 = 80A68474 -/* 00588 80A67AD8 5040000D */ beql $v0, $zero, .L80A67B10 -/* 0058C 80A67ADC C6840024 */ lwc1 $f4, 0x0024($s4) ## 00000024 -/* 00590 80A67AE0 C4500024 */ lwc1 $f16, 0x0024($v0) ## 00000028 -/* 00594 80A67AE4 C60C0000 */ lwc1 $f12, 0x0000($s0) ## 80A68474 -/* 00598 80A67AE8 C60E0004 */ lwc1 $f14, 0x0004($s0) ## 80A68478 -/* 0059C 80A67AEC E7B00010 */ swc1 $f16, 0x0010($sp) -/* 005A0 80A67AF0 C452002C */ lwc1 $f18, 0x002C($v0) ## 00000030 -/* 005A4 80A67AF4 8E060008 */ lw $a2, 0x0008($s0) ## 80A6847C -/* 005A8 80A67AF8 8E07000C */ lw $a3, 0x000C($s0) ## 80A68480 -/* 005AC 80A67AFC 0C032C66 */ jal Math3D_PointInSquare2D -/* 005B0 80A67B00 E7B20014 */ swc1 $f18, 0x0014($sp) -/* 005B4 80A67B04 1440000E */ bne $v0, $zero, .L80A67B40 -/* 005B8 80A67B08 00000000 */ nop -/* 005BC 80A67B0C C6840024 */ lwc1 $f4, 0x0024($s4) ## 00000024 -.L80A67B10: -/* 005C0 80A67B10 3C1080A7 */ lui $s0, %hi(D_80A68474) ## $s0 = 80A70000 -/* 005C4 80A67B14 26108474 */ addiu $s0, $s0, %lo(D_80A68474) ## $s0 = 80A68474 -/* 005C8 80A67B18 E7A40010 */ swc1 $f4, 0x0010($sp) -/* 005CC 80A67B1C C686002C */ lwc1 $f6, 0x002C($s4) ## 0000002C -/* 005D0 80A67B20 C60C0000 */ lwc1 $f12, 0x0000($s0) ## 80A68474 -/* 005D4 80A67B24 C60E0004 */ lwc1 $f14, 0x0004($s0) ## 80A68478 -/* 005D8 80A67B28 8E060008 */ lw $a2, 0x0008($s0) ## 80A6847C -/* 005DC 80A67B2C 8E07000C */ lw $a3, 0x000C($s0) ## 80A68480 -/* 005E0 80A67B30 0C032C66 */ jal Math3D_PointInSquare2D -/* 005E4 80A67B34 E7A60014 */ swc1 $f6, 0x0014($sp) -/* 005E8 80A67B38 10400007 */ beq $v0, $zero, .L80A67B58 -/* 005EC 80A67B3C 00000000 */ nop -.L80A67B40: -/* 005F0 80A67B40 0C03E803 */ jal Audio_SetBGM - -/* 005F4 80A67B44 24040041 */ addiu $a0, $zero, 0x0041 ## $a0 = 00000041 -/* 005F8 80A67B48 240B0002 */ addiu $t3, $zero, 0x0002 ## $t3 = 00000002 -/* 005FC 80A67B4C 240C0014 */ addiu $t4, $zero, 0x0014 ## $t4 = 00000014 -/* 00600 80A67B50 AE4B0174 */ sw $t3, 0x0174($s2) ## 00000174 -/* 00604 80A67B54 AE4C0178 */ sw $t4, 0x0178($s2) ## 00000178 -.L80A67B58: -/* 00608 80A67B58 3C0D8016 */ lui $t5, %hi(gSaveContext+0x13d0) -/* 0060C 80A67B5C 85ADFA30 */ lh $t5, %lo(gSaveContext+0x13d0)($t5) -/* 00610 80A67B60 29A100B4 */ slti $at, $t5, 0x00B4 -/* 00614 80A67B64 54200014 */ bnel $at, $zero, .L80A67BB8 -/* 00618 80A67B68 8FBF003C */ lw $ra, 0x003C($sp) -/* 0061C 80A67B6C 8E4E0150 */ lw $t6, 0x0150($s2) ## 00000150 -/* 00620 80A67B70 31CF0002 */ andi $t7, $t6, 0x0002 ## $t7 = 00000000 -/* 00624 80A67B74 51E00010 */ beql $t7, $zero, .L80A67BB8 -/* 00628 80A67B78 8FBF003C */ lw $ra, 0x003C($sp) -/* 0062C 80A67B7C 0C03E803 */ jal Audio_SetBGM - -/* 00630 80A67B80 24040041 */ addiu $a0, $zero, 0x0041 ## $a0 = 00000041 -/* 00634 80A67B84 24180014 */ addiu $t8, $zero, 0x0014 ## $t8 = 00000014 -/* 00638 80A67B88 AE510174 */ sw $s1, 0x0174($s2) ## 00000174 -/* 0063C 80A67B8C 10000009 */ beq $zero, $zero, .L80A67BB4 -/* 00640 80A67B90 AE580178 */ sw $t8, 0x0178($s2) ## 00000178 -/* 00644 80A67B94 8E420178 */ lw $v0, 0x0178($s2) ## 00000178 -.L80A67B98: -/* 00648 80A67B98 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 0064C 80A67B9C 18400003 */ blez $v0, .L80A67BAC -/* 00650 80A67BA0 2459FFFF */ addiu $t9, $v0, 0xFFFF ## $t9 = FFFFFFFF -/* 00654 80A67BA4 10000003 */ beq $zero, $zero, .L80A67BB4 -/* 00658 80A67BA8 AE590178 */ sw $t9, 0x0178($s2) ## 00000178 -.L80A67BAC: -/* 0065C 80A67BAC 0C299D86 */ jal func_80A67618 -/* 00660 80A67BB0 8FA50044 */ lw $a1, 0x0044($sp) -.L80A67BB4: -/* 00664 80A67BB4 8FBF003C */ lw $ra, 0x003C($sp) -.L80A67BB8: -/* 00668 80A67BB8 D7B40020 */ ldc1 $f20, 0x0020($sp) -/* 0066C 80A67BBC 8FB00028 */ lw $s0, 0x0028($sp) -/* 00670 80A67BC0 8FB1002C */ lw $s1, 0x002C($sp) -/* 00674 80A67BC4 8FB20030 */ lw $s2, 0x0030($sp) -/* 00678 80A67BC8 8FB30034 */ lw $s3, 0x0034($sp) -/* 0067C 80A67BCC 8FB40038 */ lw $s4, 0x0038($sp) -/* 00680 80A67BD0 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000 -/* 00684 80A67BD4 03E00008 */ jr $ra -/* 00688 80A67BD8 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67BDC.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67BDC.s deleted file mode 100644 index 6d28fc9ffd..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67BDC.s +++ /dev/null @@ -1,8 +0,0 @@ -glabel func_80A67BDC -/* 0068C 80A67BDC AFA50004 */ sw $a1, 0x0004($sp) -/* 00690 80A67BE0 240E0002 */ addiu $t6, $zero, 0x0002 ## $t6 = 00000002 -/* 00694 80A67BE4 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C -/* 00698 80A67BE8 AC800150 */ sw $zero, 0x0150($a0) ## 00000150 -/* 0069C 80A67BEC AC800154 */ sw $zero, 0x0154($a0) ## 00000154 -/* 006A0 80A67BF0 03E00008 */ jr $ra -/* 006A4 80A67BF4 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67BF8.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67BF8.s deleted file mode 100644 index 29a269e99e..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67BF8.s +++ /dev/null @@ -1,5 +0,0 @@ -glabel func_80A67BF8 -/* 006A8 80A67BF8 AFA40000 */ sw $a0, 0x0000($sp) -/* 006AC 80A67BFC AFA50004 */ sw $a1, 0x0004($sp) -/* 006B0 80A67C00 03E00008 */ jr $ra -/* 006B4 80A67C04 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C08.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C08.s deleted file mode 100644 index 262954e935..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C08.s +++ /dev/null @@ -1,22 +0,0 @@ -glabel func_80A67C08 -/* 006B8 80A67C08 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44 -/* 006BC 80A67C0C 8C430440 */ lw $v1, 0x0440($v0) ## 00000440 -/* 006C0 80A67C10 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 -/* 006C4 80A67C14 54600004 */ bnel $v1, $zero, .L80A67C28 -/* 006C8 80A67C18 8C860154 */ lw $a2, 0x0154($a0) ## 00000154 -/* 006CC 80A67C1C 03E00008 */ jr $ra -/* 006D0 80A67C20 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 -.L80A67C24: -/* 006D4 80A67C24 8C860154 */ lw $a2, 0x0154($a0) ## 00000154 -.L80A67C28: -/* 006D8 80A67C28 240E0001 */ addiu $t6, $zero, 0x0001 ## $t6 = 00000001 -/* 006DC 80A67C2C 2CC1005B */ sltiu $at, $a2, 0x005B -/* 006E0 80A67C30 54200004 */ bnel $at, $zero, .L80A67C44 -/* 006E4 80A67C34 24CF0001 */ addiu $t7, $a2, 0x0001 ## $t7 = 00000001 -/* 006E8 80A67C38 AC6E03A0 */ sw $t6, 0x03A0($v1) ## 000003A0 -/* 006EC 80A67C3C 8C860154 */ lw $a2, 0x0154($a0) ## 00000154 -/* 006F0 80A67C40 24CF0001 */ addiu $t7, $a2, 0x0001 ## $t7 = 00000001 -.L80A67C44: -/* 006F4 80A67C44 AC8F0154 */ sw $t7, 0x0154($a0) ## 00000154 -/* 006F8 80A67C48 03E00008 */ jr $ra -/* 006FC 80A67C4C 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C50.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C50.s deleted file mode 100644 index f590cd769f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C50.s +++ /dev/null @@ -1,7 +0,0 @@ -glabel func_80A67C50 -/* 00700 80A67C50 AFA50004 */ sw $a1, 0x0004($sp) -/* 00704 80A67C54 240E0003 */ addiu $t6, $zero, 0x0003 ## $t6 = 00000003 -/* 00708 80A67C58 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C -/* 0070C 80A67C5C AC800150 */ sw $zero, 0x0150($a0) ## 00000150 -/* 00710 80A67C60 03E00008 */ jr $ra -/* 00714 80A67C64 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C68.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C68.s deleted file mode 100644 index 0f048bbf23..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C68.s +++ /dev/null @@ -1,5 +0,0 @@ -glabel func_80A67C68 -/* 00718 80A67C68 AFA40000 */ sw $a0, 0x0000($sp) -/* 0071C 80A67C6C AFA50004 */ sw $a1, 0x0004($sp) -/* 00720 80A67C70 03E00008 */ jr $ra -/* 00724 80A67C74 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C78.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C78.s deleted file mode 100644 index 58d811142f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C78.s +++ /dev/null @@ -1,5 +0,0 @@ -glabel func_80A67C78 -/* 00728 80A67C78 AFA40000 */ sw $a0, 0x0000($sp) -/* 0072C 80A67C7C AFA50004 */ sw $a1, 0x0004($sp) -/* 00730 80A67C80 03E00008 */ jr $ra -/* 00734 80A67C84 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C88.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C88.s deleted file mode 100644 index 3071003782..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C88.s +++ /dev/null @@ -1,21 +0,0 @@ -glabel func_80A67C88 -/* 00738 80A67C88 AFA50004 */ sw $a1, 0x0004($sp) -/* 0073C 80A67C8C 240E0004 */ addiu $t6, $zero, 0x0004 ## $t6 = 00000004 -/* 00740 80A67C90 AC8E014C */ sw $t6, 0x014C($a0) ## 0000014C -/* 00744 80A67C94 AC800154 */ sw $zero, 0x0154($a0) ## 00000154 -/* 00748 80A67C98 AC800198 */ sw $zero, 0x0198($a0) ## 00000198 -/* 0074C 80A67C9C AC80019C */ sw $zero, 0x019C($a0) ## 0000019C -/* 00750 80A67CA0 24050010 */ addiu $a1, $zero, 0x0010 ## $a1 = 00000010 -/* 00754 80A67CA4 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000 -/* 00758 80A67CA8 00801825 */ or $v1, $a0, $zero ## $v1 = 00000000 -.L80A67CAC: -/* 0075C 80A67CAC 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000004 -/* 00760 80A67CB0 AC60015C */ sw $zero, 0x015C($v1) ## 0000015C -/* 00764 80A67CB4 AC600160 */ sw $zero, 0x0160($v1) ## 00000160 -/* 00768 80A67CB8 AC600164 */ sw $zero, 0x0164($v1) ## 00000164 -/* 0076C 80A67CBC 24630010 */ addiu $v1, $v1, 0x0010 ## $v1 = 00000010 -/* 00770 80A67CC0 1445FFFA */ bne $v0, $a1, .L80A67CAC -/* 00774 80A67CC4 AC600148 */ sw $zero, 0x0148($v1) ## 00000158 -/* 00778 80A67CC8 AC8001A0 */ sw $zero, 0x01A0($a0) ## 000001A0 -/* 0077C 80A67CCC 03E00008 */ jr $ra -/* 00780 80A67CD0 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67CD4.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67CD4.s deleted file mode 100644 index 81bd908a65..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67CD4.s +++ /dev/null @@ -1,5 +0,0 @@ -glabel func_80A67CD4 -/* 00784 80A67CD4 AFA40000 */ sw $a0, 0x0000($sp) -/* 00788 80A67CD8 AFA50004 */ sw $a1, 0x0004($sp) -/* 0078C 80A67CDC 03E00008 */ jr $ra -/* 00790 80A67CE0 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67CE4.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67CE4.s deleted file mode 100644 index f389646143..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67CE4.s +++ /dev/null @@ -1,82 +0,0 @@ -.rdata -glabel D_80A6854C - .asciz "En_HGC_Spot20_Ta_end():対応せず\n" - .balign 4 - -.text -glabel func_80A67CE4 -/* 00794 80A67CE4 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8 -/* 00798 80A67CE8 AFBF0014 */ sw $ra, 0x0014($sp) -/* 0079C 80A67CEC 8C82019C */ lw $v0, 0x019C($a0) ## 0000019C -/* 007A0 80A67CF0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001 -/* 007A4 80A67CF4 240E04CE */ addiu $t6, $zero, 0x04CE ## $t6 = 000004CE -/* 007A8 80A67CF8 10410004 */ beq $v0, $at, .L80A67D0C -/* 007AC 80A67CFC 240F002E */ addiu $t7, $zero, 0x002E ## $t7 = 0000002E -/* 007B0 80A67D00 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002 -/* 007B4 80A67D04 54410010 */ bnel $v0, $at, .L80A67D48 -/* 007B8 80A67D08 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -.L80A67D0C: -/* 007BC 80A67D0C 3C028016 */ lui $v0, %hi(gSaveContext) -/* 007C0 80A67D10 2442E660 */ addiu $v0, %lo(gSaveContext) -/* 007C4 80A67D14 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 007C8 80A67D18 AC400008 */ sw $zero, 0x0008($v0) ## 8015E668 -/* 007CC 80A67D1C 00250821 */ addu $at, $at, $a1 -/* 007D0 80A67D20 A42E1E1A */ sh $t6, 0x1E1A($at) ## 00011E1A -/* 007D4 80A67D24 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 007D8 80A67D28 00250821 */ addu $at, $at, $a1 -/* 007DC 80A67D2C A02F1E5E */ sb $t7, 0x1E5E($at) ## 00011E5E -/* 007E0 80A67D30 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 007E4 80A67D34 00250821 */ addu $at, $at, $a1 -/* 007E8 80A67D38 24180014 */ addiu $t8, $zero, 0x0014 ## $t8 = 00000014 -/* 007EC 80A67D3C 1000002B */ beq $zero, $zero, .L80A67DEC -/* 007F0 80A67D40 A0381E15 */ sb $t8, 0x1E15($at) ## 00011E15 -/* 007F4 80A67D44 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004 -.L80A67D48: -/* 007F8 80A67D48 14410014 */ bne $v0, $at, .L80A67D9C -/* 007FC 80A67D4C 3C028016 */ lui $v0, %hi(gSaveContext) -/* 00800 80A67D50 2442E660 */ addiu $v0, %lo(gSaveContext) -/* 00804 80A67D54 241900F0 */ addiu $t9, $zero, 0x00F0 ## $t9 = 000000F0 -/* 00808 80A67D58 2408000F */ addiu $t0, $zero, 0x000F ## $t0 = 0000000F -/* 0080C 80A67D5C 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00810 80A67D60 A45913D0 */ sh $t9, 0x13D0($v0) ## 8015FA30 -/* 00814 80A67D64 A44813CE */ sh $t0, 0x13CE($v0) ## 8015FA2E -/* 00818 80A67D68 AC400008 */ sw $zero, 0x0008($v0) ## 8015E668 -/* 0081C 80A67D6C 00250821 */ addu $at, $at, $a1 -/* 00820 80A67D70 240904CE */ addiu $t1, $zero, 0x04CE ## $t1 = 000004CE -/* 00824 80A67D74 A4291E1A */ sh $t1, 0x1E1A($at) ## 00011E1A -/* 00828 80A67D78 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 0082C 80A67D7C 00250821 */ addu $at, $at, $a1 -/* 00830 80A67D80 240A002E */ addiu $t2, $zero, 0x002E ## $t2 = 0000002E -/* 00834 80A67D84 A02A1E5E */ sb $t2, 0x1E5E($at) ## 00011E5E -/* 00838 80A67D88 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 0083C 80A67D8C 00250821 */ addu $at, $at, $a1 -/* 00840 80A67D90 240B0014 */ addiu $t3, $zero, 0x0014 ## $t3 = 00000014 -/* 00844 80A67D94 10000015 */ beq $zero, $zero, .L80A67DEC -/* 00848 80A67D98 A02B1E15 */ sb $t3, 0x1E15($at) ## 00011E15 -.L80A67D9C: -/* 0084C 80A67D9C 3C0480A7 */ lui $a0, %hi(D_80A6854C) ## $a0 = 80A70000 -/* 00850 80A67DA0 2484854C */ addiu $a0, $a0, %lo(D_80A6854C) ## $a0 = 80A6854C -/* 00854 80A67DA4 0C00084C */ jal osSyncPrintf - -/* 00858 80A67DA8 AFA5001C */ sw $a1, 0x001C($sp) -/* 0085C 80A67DAC 8FA5001C */ lw $a1, 0x001C($sp) -/* 00860 80A67DB0 3C028016 */ lui $v0, %hi(gSaveContext) -/* 00864 80A67DB4 2442E660 */ addiu $v0, %lo(gSaveContext) -/* 00868 80A67DB8 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 0086C 80A67DBC AC400008 */ sw $zero, 0x0008($v0) ## 8015E668 -/* 00870 80A67DC0 240C0157 */ addiu $t4, $zero, 0x0157 ## $t4 = 00000157 -/* 00874 80A67DC4 00250821 */ addu $at, $at, $a1 -/* 00878 80A67DC8 A42C1E1A */ sh $t4, 0x1E1A($at) ## 00011E1A -/* 0087C 80A67DCC 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00880 80A67DD0 240D002E */ addiu $t5, $zero, 0x002E ## $t5 = 0000002E -/* 00884 80A67DD4 00250821 */ addu $at, $at, $a1 -/* 00888 80A67DD8 A02D1E5E */ sb $t5, 0x1E5E($at) ## 00011E5E -/* 0088C 80A67DDC 3C010001 */ lui $at, 0x0001 ## $at = 00010000 -/* 00890 80A67DE0 240E0014 */ addiu $t6, $zero, 0x0014 ## $t6 = 00000014 -/* 00894 80A67DE4 00250821 */ addu $at, $at, $a1 -/* 00898 80A67DE8 A02E1E15 */ sb $t6, 0x1E15($at) ## 00011E15 -.L80A67DEC: -/* 0089C 80A67DEC 8FBF0014 */ lw $ra, 0x0014($sp) -/* 008A0 80A67DF0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000 -/* 008A4 80A67DF4 03E00008 */ jr $ra -/* 008A8 80A67DF8 00000000 */ nop diff --git a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67DFC.s b/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67DFC.s deleted file mode 100644 index 9e77224b0f..0000000000 --- a/asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67DFC.s +++ /dev/null @@ -1,358 +0,0 @@ -glabel func_80A67DFC -/* 008AC 80A67DFC 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8 -/* 008B0 80A67E00 AFBF0034 */ sw $ra, 0x0034($sp) -/* 008B4 80A67E04 AFB40030 */ sw $s4, 0x0030($sp) -/* 008B8 80A67E08 AFB3002C */ sw $s3, 0x002C($sp) -/* 008BC 80A67E0C AFB20028 */ sw $s2, 0x0028($sp) -/* 008C0 80A67E10 AFB10024 */ sw $s1, 0x0024($sp) -/* 008C4 80A67E14 AFB00020 */ sw $s0, 0x0020($sp) -/* 008C8 80A67E18 AFA5003C */ sw $a1, 0x003C($sp) -/* 008CC 80A67E1C 8C8F0154 */ lw $t7, 0x0154($a0) ## 00000154 -/* 008D0 80A67E20 00809025 */ or $s2, $a0, $zero ## $s2 = 00000000 -/* 008D4 80A67E24 8CB31C44 */ lw $s3, 0x1C44($a1) ## 00001C44 -/* 008D8 80A67E28 31F80040 */ andi $t8, $t7, 0x0040 ## $t8 = 00000000 -/* 008DC 80A67E2C 17000012 */ bne $t8, $zero, .L80A67E78 -/* 008E0 80A67E30 3C0280A7 */ lui $v0, %hi(D_80A68464) ## $v0 = 80A70000 -/* 008E4 80A67E34 8E710440 */ lw $s1, 0x0440($s3) ## 00000440 -/* 008E8 80A67E38 24428464 */ addiu $v0, $v0, %lo(D_80A68464) ## $v0 = 80A68464 -/* 008EC 80A67E3C C44C0000 */ lwc1 $f12, 0x0000($v0) ## 80A68464 -/* 008F0 80A67E40 C6240024 */ lwc1 $f4, 0x0024($s1) ## 00000024 -/* 008F4 80A67E44 C44E0004 */ lwc1 $f14, 0x0004($v0) ## 80A68468 -/* 008F8 80A67E48 8C460008 */ lw $a2, 0x0008($v0) ## 80A6846C -/* 008FC 80A67E4C E7A40010 */ swc1 $f4, 0x0010($sp) -/* 00900 80A67E50 C626002C */ lwc1 $f6, 0x002C($s1) ## 0000002C -/* 00904 80A67E54 8C47000C */ lw $a3, 0x000C($v0) ## 80A68470 -/* 00908 80A67E58 0C032C66 */ jal Math3D_PointInSquare2D -/* 0090C 80A67E5C E7A60014 */ swc1 $f6, 0x0014($sp) -/* 00910 80A67E60 50400006 */ beql $v0, $zero, .L80A67E7C -/* 00914 80A67E64 8E420154 */ lw $v0, 0x0154($s2) ## 00000154 -/* 00918 80A67E68 8E590154 */ lw $t9, 0x0154($s2) ## 00000154 -/* 0091C 80A67E6C 37280040 */ ori $t0, $t9, 0x0040 ## $t0 = 00000040 -/* 00920 80A67E70 10000017 */ beq $zero, $zero, .L80A67ED0 -/* 00924 80A67E74 AE480154 */ sw $t0, 0x0154($s2) ## 00000154 -.L80A67E78: -/* 00928 80A67E78 8E420154 */ lw $v0, 0x0154($s2) ## 00000154 -.L80A67E7C: -/* 0092C 80A67E7C 30490040 */ andi $t1, $v0, 0x0040 ## $t1 = 00000000 -/* 00930 80A67E80 11200013 */ beq $t1, $zero, .L80A67ED0 -/* 00934 80A67E84 304A0020 */ andi $t2, $v0, 0x0020 ## $t2 = 00000000 -/* 00938 80A67E88 15400011 */ bne $t2, $zero, .L80A67ED0 -/* 0093C 80A67E8C 3C0280A7 */ lui $v0, %hi(D_80A68464) ## $v0 = 80A70000 -/* 00940 80A67E90 8E710440 */ lw $s1, 0x0440($s3) ## 00000440 -/* 00944 80A67E94 24428464 */ addiu $v0, $v0, %lo(D_80A68464) ## $v0 = 80A68464 -/* 00948 80A67E98 C44C0000 */ lwc1 $f12, 0x0000($v0) ## 80A68464 -/* 0094C 80A67E9C C6280024 */ lwc1 $f8, 0x0024($s1) ## 00000024 -/* 00950 80A67EA0 C44E0004 */ lwc1 $f14, 0x0004($v0) ## 80A68468 -/* 00954 80A67EA4 8C460008 */ lw $a2, 0x0008($v0) ## 80A6846C -/* 00958 80A67EA8 E7A80010 */ swc1 $f8, 0x0010($sp) -/* 0095C 80A67EAC C62A002C */ lwc1 $f10, 0x002C($s1) ## 0000002C -/* 00960 80A67EB0 8C47000C */ lw $a3, 0x000C($v0) ## 80A68470 -/* 00964 80A67EB4 0C032C66 */ jal Math3D_PointInSquare2D -/* 00968 80A67EB8 E7AA0014 */ swc1 $f10, 0x0014($sp) -/* 0096C 80A67EBC 54400005 */ bnel $v0, $zero, .L80A67ED4 -/* 00970 80A67EC0 8E440150 */ lw $a0, 0x0150($s2) ## 00000150 -/* 00974 80A67EC4 8E4B0154 */ lw $t3, 0x0154($s2) ## 00000154 -/* 00978 80A67EC8 356C0020 */ ori $t4, $t3, 0x0020 ## $t4 = 00000020 -/* 0097C 80A67ECC AE4C0154 */ sw $t4, 0x0154($s2) ## 00000154 -.L80A67ED0: -/* 00980 80A67ED0 8E440150 */ lw $a0, 0x0150($s2) ## 00000150 -.L80A67ED4: -/* 00984 80A67ED4 28810033 */ slti $at, $a0, 0x0033 -/* 00988 80A67ED8 5420000B */ bnel $at, $zero, .L80A67F08 -/* 0098C 80A67EDC 28810051 */ slti $at, $a0, 0x0051 -/* 00990 80A67EE0 8E420154 */ lw $v0, 0x0154($s2) ## 00000154 -/* 00994 80A67EE4 304D0002 */ andi $t5, $v0, 0x0002 ## $t5 = 00000000 -/* 00998 80A67EE8 15A00006 */ bne $t5, $zero, .L80A67F04 -/* 0099C 80A67EEC 344E0002 */ ori $t6, $v0, 0x0002 ## $t6 = 00000002 -/* 009A0 80A67EF0 AE4E0154 */ sw $t6, 0x0154($s2) ## 00000154 -/* 009A4 80A67EF4 0C0222CD */ jal func_80088B34 -/* 009A8 80A67EF8 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000 -/* 009AC 80A67EFC 10000025 */ beq $zero, $zero, .L80A67F94 -/* 009B0 80A67F00 8E440150 */ lw $a0, 0x0150($s2) ## 00000150 -.L80A67F04: -/* 009B4 80A67F04 28810051 */ slti $at, $a0, 0x0051 -.L80A67F08: -/* 009B8 80A67F08 5420000F */ bnel $at, $zero, .L80A67F48 -/* 009BC 80A67F0C 28810052 */ slti $at, $a0, 0x0052 -/* 009C0 80A67F10 8E6F0440 */ lw $t7, 0x0440($s3) ## 00000440 -/* 009C4 80A67F14 51E0000C */ beql $t7, $zero, .L80A67F48 -/* 009C8 80A67F18 28810052 */ slti $at, $a0, 0x0052 -/* 009CC 80A67F1C 8E420154 */ lw $v0, 0x0154($s2) ## 00000154 -/* 009D0 80A67F20 30580001 */ andi $t8, $v0, 0x0001 ## $t8 = 00000000 -/* 009D4 80A67F24 17000007 */ bne $t8, $zero, .L80A67F44 -/* 009D8 80A67F28 34590001 */ ori $t9, $v0, 0x0001 ## $t9 = 00000001 -/* 009DC 80A67F2C AE590154 */ sw $t9, 0x0154($s2) ## 00000154 -/* 009E0 80A67F30 8E630440 */ lw $v1, 0x0440($s3) ## 00000440 -/* 009E4 80A67F34 24140001 */ addiu $s4, $zero, 0x0001 ## $s4 = 00000001 -/* 009E8 80A67F38 AC740388 */ sw $s4, 0x0388($v1) ## 00000388 -/* 009EC 80A67F3C 10000015 */ beq $zero, $zero, .L80A67F94 -/* 009F0 80A67F40 8E440150 */ lw $a0, 0x0150($s2) ## 00000150 -.L80A67F44: -/* 009F4 80A67F44 28810052 */ slti $at, $a0, 0x0052 -.L80A67F48: -/* 009F8 80A67F48 54200013 */ bnel $at, $zero, .L80A67F98 -/* 009FC 80A67F4C 8E4D019C */ lw $t5, 0x019C($s2) ## 0000019C -/* 00A00 80A67F50 8E420154 */ lw $v0, 0x0154($s2) ## 00000154 -/* 00A04 80A67F54 3C058013 */ lui $a1, %hi(D_801333D4) -/* 00A08 80A67F58 24A533D4 */ addiu $a1, %lo(D_801333D4) -/* 00A0C 80A67F5C 30480010 */ andi $t0, $v0, 0x0010 ## $t0 = 00000000 -/* 00A10 80A67F60 1500000C */ bne $t0, $zero, .L80A67F94 -/* 00A14 80A67F64 34490010 */ ori $t1, $v0, 0x0010 ## $t1 = 00000010 -/* 00A18 80A67F68 3C0A8013 */ lui $t2, %hi(D_801333E0) -/* 00A1C 80A67F6C 3C0B8013 */ lui $t3, %hi(D_801333E8) -/* 00A20 80A67F70 AE490154 */ sw $t1, 0x0154($s2) ## 00000154 -/* 00A24 80A67F74 256B33E8 */ addiu $t3, %lo(D_801333E8) -/* 00A28 80A67F78 254733E0 */ addiu $a3, $t2, %lo(D_801333E0) -/* 00A2C 80A67F7C AFA70010 */ sw $a3, 0x0010($sp) -/* 00A30 80A67F80 AFAB0014 */ sw $t3, 0x0014($sp) -/* 00A34 80A67F84 24044835 */ addiu $a0, $zero, 0x4835 ## $a0 = 00004835 -/* 00A38 80A67F88 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 00A3C 80A67F8C 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 00A40 80A67F90 8E440150 */ lw $a0, 0x0150($s2) ## 00000150 -.L80A67F94: -/* 00A44 80A67F94 8E4D019C */ lw $t5, 0x019C($s2) ## 0000019C -.L80A67F98: -/* 00A48 80A67F98 248C0001 */ addiu $t4, $a0, 0x0001 ## $t4 = 00000001 -/* 00A4C 80A67F9C 24140001 */ addiu $s4, $zero, 0x0001 ## $s4 = 00000001 -/* 00A50 80A67FA0 15A000CA */ bne $t5, $zero, .L80A682CC -/* 00A54 80A67FA4 AE4C0150 */ sw $t4, 0x0150($s2) ## 00000150 -/* 00A58 80A67FA8 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000 -/* 00A5C 80A67FAC 8E710440 */ lw $s1, 0x0440($s3) ## 00000440 -.L80A67FB0: -/* 00A60 80A67FB0 8E4E01A0 */ lw $t6, 0x01A0($s2) ## 000001A0 -/* 00A64 80A67FB4 3C1980A7 */ lui $t9, %hi(D_80A68490) ## $t9 = 80A70000 -/* 00A68 80A67FB8 2A010008 */ slti $at, $s0, 0x0008 -/* 00A6C 80A67FBC 15C00003 */ bne $t6, $zero, .L80A67FCC -/* 00A70 80A67FC0 27398490 */ addiu $t9, $t9, %lo(D_80A68490) ## $t9 = 80A68490 -/* 00A74 80A67FC4 10200039 */ beq $at, $zero, .L80A680AC -/* 00A78 80A67FC8 00000000 */ nop -.L80A67FCC: -/* 00A7C 80A67FCC 06010004 */ bgez $s0, .L80A67FE0 -/* 00A80 80A67FD0 320F0007 */ andi $t7, $s0, 0x0007 ## $t7 = 00000000 -/* 00A84 80A67FD4 11E00002 */ beq $t7, $zero, .L80A67FE0 -/* 00A88 80A67FD8 00000000 */ nop -/* 00A8C 80A67FDC 25EFFFF8 */ addiu $t7, $t7, 0xFFF8 ## $t7 = FFFFFFF8 -.L80A67FE0: -/* 00A90 80A67FE0 000FC080 */ sll $t8, $t7, 2 -/* 00A94 80A67FE4 030FC023 */ subu $t8, $t8, $t7 -/* 00A98 80A67FE8 0018C080 */ sll $t8, $t8, 2 -/* 00A9C 80A67FEC 03192021 */ addu $a0, $t8, $t9 -/* 00AA0 80A67FF0 0C01E00A */ jal Math_Vec3f_DistXZ - -/* 00AA4 80A67FF4 26250024 */ addiu $a1, $s1, 0x0024 ## $a1 = 00000024 -/* 00AA8 80A67FF8 8E710440 */ lw $s1, 0x0440($s3) ## 00000440 -/* 00AAC 80A67FFC 3C01437A */ lui $at, 0x437A ## $at = 437A0000 -/* 00AB0 80A68000 52200027 */ beql $s1, $zero, .L80A680A0 -/* 00AB4 80A68004 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001 -/* 00AB8 80A68008 44818000 */ mtc1 $at, $f16 ## $f16 = 250.00 -/* 00ABC 80A6800C 00000000 */ nop -/* 00AC0 80A68010 4610003C */ c.lt.s $f0, $f16 -/* 00AC4 80A68014 00000000 */ nop -/* 00AC8 80A68018 45020021 */ bc1fl .L80A680A0 -/* 00ACC 80A6801C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000002 -/* 00AD0 80A68020 8E2801F0 */ lw $t0, 0x01F0($s1) ## 000001F0 -/* 00AD4 80A68024 00105080 */ sll $t2, $s0, 2 -/* 00AD8 80A68028 31090004 */ andi $t1, $t0, 0x0004 ## $t1 = 00000000 -/* 00ADC 80A6802C 5120001C */ beql $t1, $zero, .L80A680A0 -/* 00AE0 80A68030 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000003 -/* 00AE4 80A68034 1A000006 */ blez $s0, .L80A68050 -/* 00AE8 80A68038 024A1021 */ addu $v0, $s2, $t2 -/* 00AEC 80A6803C 8C4B0154 */ lw $t3, 0x0154($v0) ## 00000154 -/* 00AF0 80A68040 168B0003 */ bne $s4, $t3, .L80A68050 -/* 00AF4 80A68044 00000000 */ nop -/* 00AF8 80A68048 10000004 */ beq $zero, $zero, .L80A6805C -/* 00AFC 80A6804C AC540158 */ sw $s4, 0x0158($v0) ## 00000158 -.L80A68050: -/* 00B00 80A68050 56000003 */ bnel $s0, $zero, .L80A68060 -/* 00B04 80A68054 8C4C0154 */ lw $t4, 0x0154($v0) ## 00000154 -/* 00B08 80A68058 AC540158 */ sw $s4, 0x0158($v0) ## 00000158 -.L80A6805C: -/* 00B0C 80A6805C 8C4C0154 */ lw $t4, 0x0154($v0) ## 00000154 -.L80A68060: -/* 00B10 80A68060 5580000F */ bnel $t4, $zero, .L80A680A0 -/* 00B14 80A68064 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000004 -/* 00B18 80A68068 8E420154 */ lw $v0, 0x0154($s2) ## 00000154 -/* 00B1C 80A6806C 2405208C */ addiu $a1, $zero, 0x208C ## $a1 = 0000208C -/* 00B20 80A68070 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00B24 80A68074 304D0008 */ andi $t5, $v0, 0x0008 ## $t5 = 00000000 -/* 00B28 80A68078 15A00008 */ bne $t5, $zero, .L80A6809C -/* 00B2C 80A6807C 344E0008 */ ori $t6, $v0, 0x0008 ## $t6 = 00000008 -/* 00B30 80A68080 AE4E0154 */ sw $t6, 0x0154($s2) ## 00000154 -/* 00B34 80A68084 0C042DA0 */ jal func_8010B680 -/* 00B38 80A68088 8FA4003C */ lw $a0, 0x003C($sp) -/* 00B3C 80A6808C 240F0004 */ addiu $t7, $zero, 0x0004 ## $t7 = 00000004 -/* 00B40 80A68090 2418001E */ addiu $t8, $zero, 0x001E ## $t8 = 0000001E -/* 00B44 80A68094 AE4F019C */ sw $t7, 0x019C($s2) ## 0000019C -/* 00B48 80A68098 AE580198 */ sw $t8, 0x0198($s2) ## 00000198 -.L80A6809C: -/* 00B4C 80A6809C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000005 -.L80A680A0: -/* 00B50 80A680A0 24010010 */ addiu $at, $zero, 0x0010 ## $at = 00000010 -/* 00B54 80A680A4 1601FFC2 */ bne $s0, $at, .L80A67FB0 -/* 00B58 80A680A8 8E710440 */ lw $s1, 0x0440($s3) ## 00000440 -.L80A680AC: -/* 00B5C 80A680AC 12200076 */ beq $s1, $zero, .L80A68288 -/* 00B60 80A680B0 00000000 */ nop -/* 00B64 80A680B4 8E590154 */ lw $t9, 0x0154($s2) ## 00000154 -/* 00B68 80A680B8 3C0280A7 */ lui $v0, %hi(D_80A68464) ## $v0 = 80A70000 -/* 00B6C 80A680BC 24428464 */ addiu $v0, $v0, %lo(D_80A68464) ## $v0 = 80A68464 -/* 00B70 80A680C0 33280020 */ andi $t0, $t9, 0x0020 ## $t0 = 00000000 -/* 00B74 80A680C4 11000070 */ beq $t0, $zero, .L80A68288 -/* 00B78 80A680C8 00000000 */ nop -/* 00B7C 80A680CC C6320024 */ lwc1 $f18, 0x0024($s1) ## 00000024 -/* 00B80 80A680D0 C44C0000 */ lwc1 $f12, 0x0000($v0) ## 80A68464 -/* 00B84 80A680D4 C44E0004 */ lwc1 $f14, 0x0004($v0) ## 80A68468 -/* 00B88 80A680D8 E7B20010 */ swc1 $f18, 0x0010($sp) -/* 00B8C 80A680DC C624002C */ lwc1 $f4, 0x002C($s1) ## 0000002C -/* 00B90 80A680E0 8C460008 */ lw $a2, 0x0008($v0) ## 80A6846C -/* 00B94 80A680E4 8C47000C */ lw $a3, 0x000C($v0) ## 80A68470 -/* 00B98 80A680E8 0C032C66 */ jal Math3D_PointInSquare2D -/* 00B9C 80A680EC E7A40014 */ swc1 $f4, 0x0014($sp) -/* 00BA0 80A680F0 10400065 */ beq $v0, $zero, .L80A68288 -/* 00BA4 80A680F4 00000000 */ nop -/* 00BA8 80A680F8 8E4901A0 */ lw $t1, 0x01A0($s2) ## 000001A0 -/* 00BAC 80A680FC 56890019 */ bnel $s4, $t1, .L80A68164 -/* 00BB0 80A68100 8E580194 */ lw $t8, 0x0194($s2) ## 00000194 -/* 00BB4 80A68104 8E4A0194 */ lw $t2, 0x0194($s2) ## 00000194 -/* 00BB8 80A68108 55400016 */ bnel $t2, $zero, .L80A68164 -/* 00BBC 80A6810C 8E580194 */ lw $t8, 0x0194($s2) ## 00000194 -/* 00BC0 80A68110 8E6B0440 */ lw $t3, 0x0440($s3) ## 00000440 -/* 00BC4 80A68114 3C01C348 */ lui $at, 0xC348 ## $at = C3480000 -/* 00BC8 80A68118 44814000 */ mtc1 $at, $f8 ## $f8 = -200.00 -/* 00BCC 80A6811C C5660100 */ lwc1 $f6, 0x0100($t3) ## 00000100 -/* 00BD0 80A68120 4608303C */ c.lt.s $f6, $f8 -/* 00BD4 80A68124 00000000 */ nop -/* 00BD8 80A68128 4502000E */ bc1fl .L80A68164 -/* 00BDC 80A6812C 8E580194 */ lw $t8, 0x0194($s2) ## 00000194 -/* 00BE0 80A68130 8E4C0154 */ lw $t4, 0x0154($s2) ## 00000154 -/* 00BE4 80A68134 2405208C */ addiu $a1, $zero, 0x208C ## $a1 = 0000208C -/* 00BE8 80A68138 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00BEC 80A6813C 358D0008 */ ori $t5, $t4, 0x0008 ## $t5 = 00000008 -/* 00BF0 80A68140 AE4D0154 */ sw $t5, 0x0154($s2) ## 00000154 -/* 00BF4 80A68144 0C042DA0 */ jal func_8010B680 -/* 00BF8 80A68148 8FA4003C */ lw $a0, 0x003C($sp) -/* 00BFC 80A6814C 240E0004 */ addiu $t6, $zero, 0x0004 ## $t6 = 00000004 -/* 00C00 80A68150 240F001E */ addiu $t7, $zero, 0x001E ## $t7 = 0000001E -/* 00C04 80A68154 AE4E019C */ sw $t6, 0x019C($s2) ## 0000019C -/* 00C08 80A68158 1000004B */ beq $zero, $zero, .L80A68288 -/* 00C0C 80A6815C AE4F0198 */ sw $t7, 0x0198($s2) ## 00000198 -/* 00C10 80A68160 8E580194 */ lw $t8, 0x0194($s2) ## 00000194 -.L80A68164: -/* 00C14 80A68164 24190002 */ addiu $t9, $zero, 0x0002 ## $t9 = 00000002 -/* 00C18 80A68168 24040041 */ addiu $a0, $zero, 0x0041 ## $a0 = 00000041 -/* 00C1C 80A6816C 56980017 */ bnel $s4, $t8, .L80A681CC -/* 00C20 80A68170 8E430174 */ lw $v1, 0x0174($s2) ## 00000174 -/* 00C24 80A68174 0C03E803 */ jal Audio_SetBGM - -/* 00C28 80A68178 AE5901A0 */ sw $t9, 0x01A0($s2) ## 000001A0 -/* 00C2C 80A6817C 3C078013 */ lui $a3, %hi(D_801333E0) -/* 00C30 80A68180 3C088013 */ lui $t0, %hi(D_801333E8) -/* 00C34 80A68184 24E733E0 */ addiu $a3, %lo(D_801333E0) -/* 00C38 80A68188 250833E8 */ addiu $t0, %lo(D_801333E8) -/* 00C3C 80A6818C 3C058013 */ lui $a1, %hi(D_801333D4) -/* 00C40 80A68190 24A533D4 */ addiu $a1, %lo(D_801333D4) -/* 00C44 80A68194 AFA80014 */ sw $t0, 0x0014($sp) -/* 00C48 80A68198 AFA70010 */ sw $a3, 0x0010($sp) -/* 00C4C 80A6819C 24044835 */ addiu $a0, $zero, 0x4835 ## $a0 = 00004835 -/* 00C50 80A681A0 0C03DCE3 */ jal Audio_PlaySoundGeneral - -/* 00C54 80A681A4 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004 -/* 00C58 80A681A8 3C028016 */ lui $v0, %hi(gSaveContext) -/* 00C5C 80A681AC 24090046 */ addiu $t1, $zero, 0x0046 ## $t1 = 00000046 -/* 00C60 80A681B0 2442E660 */ addiu $v0, %lo(gSaveContext) -/* 00C64 80A681B4 AE54019C */ sw $s4, 0x019C($s2) ## 0000019C -/* 00C68 80A681B8 AE490198 */ sw $t1, 0x0198($s2) ## 00000198 -/* 00C6C 80A681BC 240A000F */ addiu $t2, $zero, 0x000F ## $t2 = 0000000F -/* 00C70 80A681C0 10000031 */ beq $zero, $zero, .L80A68288 -/* 00C74 80A681C4 A44A13CE */ sh $t2, 0x13CE($v0) ## 8015FA2E -/* 00C78 80A681C8 8E430174 */ lw $v1, 0x0174($s2) ## 00000174 -.L80A681CC: -/* 00C7C 80A681CC 1683000D */ bne $s4, $v1, .L80A68204 -/* 00C80 80A681D0 00000000 */ nop -/* 00C84 80A681D4 8E420154 */ lw $v0, 0x0154($s2) ## 00000154 -/* 00C88 80A681D8 2405208D */ addiu $a1, $zero, 0x208D ## $a1 = 0000208D -/* 00C8C 80A681DC 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00C90 80A681E0 304B0004 */ andi $t3, $v0, 0x0004 ## $t3 = 00000000 -/* 00C94 80A681E4 15600007 */ bne $t3, $zero, .L80A68204 -/* 00C98 80A681E8 344C0004 */ ori $t4, $v0, 0x0004 ## $t4 = 8015E664 -/* 00C9C 80A681EC AE5401A0 */ sw $s4, 0x01A0($s2) ## 000001A0 -/* 00CA0 80A681F0 AE4C0154 */ sw $t4, 0x0154($s2) ## 00000154 -/* 00CA4 80A681F4 0C042DA0 */ jal func_8010B680 -/* 00CA8 80A681F8 8FA4003C */ lw $a0, 0x003C($sp) -/* 00CAC 80A681FC 10000022 */ beq $zero, $zero, .L80A68288 -/* 00CB0 80A68200 00000000 */ nop -.L80A68204: -/* 00CB4 80A68204 5460000E */ bnel $v1, $zero, .L80A68240 -/* 00CB8 80A68208 8E790440 */ lw $t9, 0x0440($s3) ## 00000440 -/* 00CBC 80A6820C 8E4D0154 */ lw $t5, 0x0154($s2) ## 00000154 -/* 00CC0 80A68210 2405208C */ addiu $a1, $zero, 0x208C ## $a1 = 0000208C -/* 00CC4 80A68214 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00CC8 80A68218 35AE0008 */ ori $t6, $t5, 0x0008 ## $t6 = 00000008 -/* 00CCC 80A6821C AE4E0154 */ sw $t6, 0x0154($s2) ## 00000154 -/* 00CD0 80A68220 0C042DA0 */ jal func_8010B680 -/* 00CD4 80A68224 8FA4003C */ lw $a0, 0x003C($sp) -/* 00CD8 80A68228 240F0004 */ addiu $t7, $zero, 0x0004 ## $t7 = 00000004 -/* 00CDC 80A6822C 2418001E */ addiu $t8, $zero, 0x001E ## $t8 = 0000001E -/* 00CE0 80A68230 AE4F019C */ sw $t7, 0x019C($s2) ## 0000019C -/* 00CE4 80A68234 10000014 */ beq $zero, $zero, .L80A68288 -/* 00CE8 80A68238 AE580198 */ sw $t8, 0x0198($s2) ## 00000198 -/* 00CEC 80A6823C 8E790440 */ lw $t9, 0x0440($s3) ## 00000440 -.L80A68240: -/* 00CF0 80A68240 3C0142A0 */ lui $at, 0x42A0 ## $at = 42A00000 -/* 00CF4 80A68244 44815000 */ mtc1 $at, $f10 ## $f10 = 80.00 -/* 00CF8 80A68248 C7300100 */ lwc1 $f16, 0x0100($t9) ## 00000100 -/* 00CFC 80A6824C 4610503C */ c.lt.s $f10, $f16 -/* 00D00 80A68250 00000000 */ nop -/* 00D04 80A68254 4500000C */ bc1f .L80A68288 -/* 00D08 80A68258 00000000 */ nop -/* 00D0C 80A6825C 8E480154 */ lw $t0, 0x0154($s2) ## 00000154 -/* 00D10 80A68260 2405208C */ addiu $a1, $zero, 0x208C ## $a1 = 0000208C -/* 00D14 80A68264 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000 -/* 00D18 80A68268 35090008 */ ori $t1, $t0, 0x0008 ## $t1 = 00000008 -/* 00D1C 80A6826C AE490154 */ sw $t1, 0x0154($s2) ## 00000154 -/* 00D20 80A68270 0C042DA0 */ jal func_8010B680 -/* 00D24 80A68274 8FA4003C */ lw $a0, 0x003C($sp) -/* 00D28 80A68278 240A0004 */ addiu $t2, $zero, 0x0004 ## $t2 = 00000004 -/* 00D2C 80A6827C 240B001E */ addiu $t3, $zero, 0x001E ## $t3 = 0000001E -/* 00D30 80A68280 AE4A019C */ sw $t2, 0x019C($s2) ## 0000019C -/* 00D34 80A68284 AE4B0198 */ sw $t3, 0x0198($s2) ## 00000198 -.L80A68288: -/* 00D38 80A68288 3C028016 */ lui $v0, %hi(gSaveContext) -/* 00D3C 80A6828C 2442E660 */ addiu $v0, %lo(gSaveContext) -/* 00D40 80A68290 844C13D0 */ lh $t4, 0x13D0($v0) ## 8015FA30 -/* 00D44 80A68294 298100B4 */ slti $at, $t4, 0x00B4 -/* 00D48 80A68298 54200015 */ bnel $at, $zero, .L80A682F0 -/* 00D4C 80A6829C 8FBF0034 */ lw $ra, 0x0034($sp) -/* 00D50 80A682A0 8E4D0154 */ lw $t5, 0x0154($s2) ## 00000154 -/* 00D54 80A682A4 240F00F0 */ addiu $t7, $zero, 0x00F0 ## $t7 = 000000F0 -/* 00D58 80A682A8 24180002 */ addiu $t8, $zero, 0x0002 ## $t8 = 00000002 -/* 00D5C 80A682AC 31AE0002 */ andi $t6, $t5, 0x0002 ## $t6 = 00000000 -/* 00D60 80A682B0 11C0000E */ beq $t6, $zero, .L80A682EC -/* 00D64 80A682B4 2419001E */ addiu $t9, $zero, 0x001E ## $t9 = 0000001E -/* 00D68 80A682B8 A44F13D0 */ sh $t7, 0x13D0($v0) ## 8015FA30 -/* 00D6C 80A682BC AE58019C */ sw $t8, 0x019C($s2) ## 0000019C -/* 00D70 80A682C0 AE590198 */ sw $t9, 0x0198($s2) ## 00000198 -/* 00D74 80A682C4 10000009 */ beq $zero, $zero, .L80A682EC -/* 00D78 80A682C8 A44013CE */ sh $zero, 0x13CE($v0) ## 8015FA2E -.L80A682CC: -/* 00D7C 80A682CC 8E420198 */ lw $v0, 0x0198($s2) ## 00000198 -/* 00D80 80A682D0 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000 -/* 00D84 80A682D4 18400003 */ blez $v0, .L80A682E4 -/* 00D88 80A682D8 2448FFFF */ addiu $t0, $v0, 0xFFFF ## $t0 = 8015E65F -/* 00D8C 80A682DC 10000003 */ beq $zero, $zero, .L80A682EC -/* 00D90 80A682E0 AE480198 */ sw $t0, 0x0198($s2) ## 00000198 -.L80A682E4: -/* 00D94 80A682E4 0C299F39 */ jal func_80A67CE4 -/* 00D98 80A682E8 8FA5003C */ lw $a1, 0x003C($sp) -.L80A682EC: -/* 00D9C 80A682EC 8FBF0034 */ lw $ra, 0x0034($sp) -.L80A682F0: -/* 00DA0 80A682F0 8FB00020 */ lw $s0, 0x0020($sp) -/* 00DA4 80A682F4 8FB10024 */ lw $s1, 0x0024($sp) -/* 00DA8 80A682F8 8FB20028 */ lw $s2, 0x0028($sp) -/* 00DAC 80A682FC 8FB3002C */ lw $s3, 0x002C($sp) -/* 00DB0 80A68300 8FB40030 */ lw $s4, 0x0030($sp) -/* 00DB4 80A68304 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000 -/* 00DB8 80A68308 03E00008 */ jr $ra -/* 00DBC 80A6830C 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001 diff --git a/data/overlays/actors/z_en_horse_game_check.data.s b/data/overlays/actors/z_en_horse_game_check.data.s deleted file mode 100644 index a5483cfc88..0000000000 --- a/data/overlays/actors/z_en_horse_game_check.data.s +++ /dev/null @@ -1,45 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purpose registers - -.section .data - -.balign 16 - -glabel En_Horse_Game_Check_InitVars - .word 0x00DB0100, 0x00000010, 0x00010000, 0x000001A4 -.word EnHorseGameCheck_Init -.word EnHorseGameCheck_Destroy -.word EnHorseGameCheck_Update -.word EnHorseGameCheck_Draw -glabel D_80A68440 - .word 0x44D48000, 0x3F800000, 0xC4070000, 0x42EA0000, 0x3F800000, 0x43F40000, 0xC4D48000, 0x3F800000, 0xC4070000 -glabel D_80A68464 - .word 0xC3480000, 0x42A00000, 0xC50FC000, 0xC4B7C000 -glabel D_80A68474 - .word 0x44480000, 0x447A0000, 0xC5354000, 0xC528C000, 0x00000000, 0x00000000, 0x00000000 -glabel D_80A68490 - .word 0x444D0000, 0xC2300000, 0xC4CEE000, 0x44BB2000, 0xC1A80000, 0xC495C000, 0x44CEE000, 0xC2300000, 0xC3C60000, 0x44A16000, 0xC2300000, 0x434D0000, 0x43BD8000, 0xC1A80000, 0x43E38000, 0xC2BE0000, 0xC1A80000, 0x43E38000, 0xC46AC000, 0x3F800000, 0x43E38000, 0xC4CD8000, 0xC1A80000, 0xC4816000 -glabel D_80A684F0 - .word 0x00000000 -.word func_80A67550 -.word func_80A67BDC -.word func_80A67C50 -.word func_80A67C88 -glabel D_80A68504 - .word 0x00000000 -.word func_80A67608 -.word func_80A67BF8 -.word func_80A67C68 -.word func_80A67CD4 -glabel D_80A68518 - .word 0x00000000 -.word func_80A67764 -.word func_80A67C08 -.word func_80A67C78 -.word func_80A67DFC -.word 0x00000000 - diff --git a/data/overlays/actors/z_en_horse_game_check.reloc.s b/data/overlays/actors/z_en_horse_game_check.reloc.s deleted file mode 100644 index 39fc186220..0000000000 --- a/data/overlays/actors/z_en_horse_game_check.reloc.s +++ /dev/null @@ -1,13 +0,0 @@ -.include "macro.inc" - - # assembler directives - .set noat # allow manual use of $at - .set noreorder # don't insert nops after branches - .set gp=64 # allow use of 64-bit general purpose registers - -.section .rodata - -.balign 16 - -glabel D_80A68580 - .incbin "baserom/ovl_En_Horse_Game_Check", 0x1030, 0x000000E0 diff --git a/spec b/spec index 6889fd1cd5..9cd9b2085f 100644 --- a/spec +++ b/spec @@ -2455,8 +2455,7 @@ endseg beginseg name "ovl_En_Horse_Game_Check" include "build/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.o" - include "build/data/overlays/actors/z_en_horse_game_check.data.o" - include "build/data/overlays/actors/z_en_horse_game_check.reloc.o" + include "build/src/overlays/actors/ovl_En_Horse_Game_Check/ovl_En_Horse_Game_Check_reloc.o" endseg beginseg diff --git a/src/overlays/actors/ovl_En_Horse/z_en_horse.h b/src/overlays/actors/ovl_En_Horse/z_en_horse.h index d332abfb3f..8c91ff0b8c 100644 --- a/src/overlays/actors/ovl_En_Horse/z_en_horse.h +++ b/src/overlays/actors/ovl_En_Horse/z_en_horse.h @@ -18,7 +18,11 @@ typedef struct EnHorse { /* 0x0214 */ f32 unk_214; /* 0x0218 */ char unk_218[0x040]; /* 0x0258 */ Vec3f unk_258; - /* 0x0264 */ char unk_264[0x198]; + /* 0x0264 */ char unk_264[0x124]; + /* 0x0388 */ s32 unk_388; + /* 0x038C */ char unk_38C[0x14]; + /* 0x03A0 */ s32 unk_3A0; + /* 0x03A4 */ char unk_3A4[0x58]; } EnHorse; // size = 0x03FC #define EN_HORSE_CHECK_1(horseActor) \ diff --git a/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c b/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c index 37dbf6f940..9711aa0220 100644 --- a/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c +++ b/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c @@ -5,17 +5,50 @@ */ #include "z_en_horse_game_check.h" +#include "overlays/actors/ovl_En_Horse/z_en_horse.h" #define FLAGS 0x00000010 -#define THIS ((EnHorseGameCheck*)thisx) +#define THIS ((EnHorseGameCheckBase*)thisx) +#define AT_FINISH_LINE(actor) \ + (Math3D_PointInSquare2D(sFinishLine[0], sFinishLine[1], sFinishLine[2], sFinishLine[3], (actor)->world.pos.x, \ + (actor)->world.pos.z)) +#define AT_RANCH_EXIT(actor) \ + (Math3D_PointInSquare2D(sRanchExit[0], sRanchExit[1], sRanchExit[2], sRanchExit[3], (actor)->world.pos.x, \ + (actor)->world.pos.z)) + +#define INGORACE_PLAYER_MOVE (1 << 0) +#define INGORACE_SET_TIMER (1 << 1) +#define INGORACE_INGO_MOVE (1 << 2) + +typedef enum { + /* 0 */ INGORACE_NO_RESULT, + /* 1 */ INGORACE_PLAYER_WIN, + /* 2 */ INGORACE_INGO_WIN, + /* 3 */ INGORACE_TIME_UP +} HorseGameIngoRaceResult; + +#define MALONRACE_PLAYER_MOVE (1 << 0) +#define MALONRACE_SET_TIMER (1 << 1) +#define MALONRACE_SECOND_LAP (1 << 2) +#define MALONRACE_BROKE_RULE (1 << 3) +#define MALONRACE_START_SFX (1 << 4) +#define MALONRACE_PLAYER_START (1 << 5) +#define MALONRACE_PLAYER_ON_MARK (1 << 6) + +typedef enum { + /* 0 */ MALONRACE_NO_RESULT, + /* 1 */ MALONRACE_SUCCESS, + /* 2 */ MALONRACE_TIME_UP, + /* 3 */ MALONRACE_UNUSED, + /* 4 */ MALONRACE_FAILURE +} HorseGameMalonRaceResult; void EnHorseGameCheck_Init(Actor* thisx, GlobalContext* globalCtx); void EnHorseGameCheck_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnHorseGameCheck_Update(Actor* thisx, GlobalContext* globalCtx); void EnHorseGameCheck_Draw(Actor* thisx, GlobalContext* globalCtx); -/* const ActorInit En_Horse_Game_Check_InitVars = { ACTOR_EN_HORSE_GAME_CHECK, ACTORCAT_BG, @@ -27,39 +60,410 @@ const ActorInit En_Horse_Game_Check_InitVars = { (ActorFunc)EnHorseGameCheck_Update, (ActorFunc)EnHorseGameCheck_Draw, }; -*/ -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67550.s") -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67608.s") +static Vec3f sIngoRaceCheckpoints[] = { + { 1700.0f, 1.0f, -540.0f }, + { 117.0f, 1.0f, 488.0f }, + { -1700.0f, 1.0f, -540.0f }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67618.s") +static f32 sFinishLine[4] = { -200.0f, 80.0f, -2300.0f, -1470.0f }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67764.s") +static f32 sRanchExit[4] = { 800.0f, 1000.0f, -2900.0f, -2700.0f }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67BDC.s") +static Vec3f sUnusedZeroVec = { 0.0f, 0.0f, 0.0f }; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67BF8.s") +static Vec3f sFencePos[] = { + { 820.0f, -44.0f, -1655.0f }, { 1497.0f, -21.0f, -1198.0f }, { 1655.0f, -44.0f, -396.0f }, + { 1291.0f, -44.0f, 205.0f }, { 379.0f, -21.0f, 455.0f }, { -95.0f, -21.0f, 455.0f }, + { -939.0f, 1.0f, 455.0f }, { -1644.0f, -21.0f, -1035.0f }, +}; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C08.s") +s32 EnHorseGameCheck_InitIngoRace(EnHorseGameCheckBase* base, GlobalContext* globalCtx) { + EnHorseGameCheckIngoRace* this = (EnHorseGameCheckIngoRace*)base; + s32 i; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C50.s") + this->base.type = HORSEGAME_INGO_RACE; + this->startFlags = 0; + for (i = 0; i < 3; i++) { + this->playerCheck[i] = 0; + } + this->ingoHorse = + Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HORSE, -250.0f, 1.0f, -1650.0f, 0, 0x4000, 0, 0x8003); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C68.s") + if (this->ingoHorse == NULL) { + LogUtils_HungupThread("../z_en_horse_game_check.c", 385); + } + this->startTimer = 0; + this->finishTimer = 0; + this->result = INGORACE_NO_RESULT; + this->playerFinish = 0; + this->ingoFinish = 0; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C78.s") + return true; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67C88.s") +s32 EnHorseGameCheck_DestroyIngoRace(EnHorseGameCheckBase* base, GlobalContext* globalCtx) { + return true; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67CD4.s") +void EnHorseGameCheck_FinishIngoRace(EnHorseGameCheckIngoRace* this, GlobalContext* globalCtx) { + gSaveContext.cutsceneIndex = 0; + if (this->result == INGORACE_PLAYER_WIN) { + globalCtx->nextEntranceIndex = 0x4CE; + if (gSaveContext.eventInf[0] & 0x40) { + gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0xF) | 6; + gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0x8000) | 0x8000; + globalCtx->fadeTransition = 3; + func_800775F0(0x42); + } else { + gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0xF) | 4; + gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0x8000) | 0x8000; + func_800775F0(0x42); + globalCtx->fadeTransition = 0x2E; + } + } else { + globalCtx->nextEntranceIndex = 0x558; + gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0xF) | 3; + globalCtx->fadeTransition = 0x20; + gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & ~0x8000) | 0x8000; + } + DREG(25) = 0; + globalCtx->sceneLoadFlag = 0x14; + gSaveContext.timer1State = 0; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67CE4.s") +s32 EnHorseGameCheck_UpdateIngoRace(EnHorseGameCheckBase* base, GlobalContext* globalCtx) { + EnHorseGameCheckIngoRace* this = (EnHorseGameCheckIngoRace*)base; + Player* player = PLAYER; + s32 i; + EnHorse* ingoHorse; + EnHorse* horse; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/func_80A67DFC.s") + if ((this->startTimer > 50) && !(this->startFlags & INGORACE_SET_TIMER)) { + this->startFlags |= INGORACE_SET_TIMER; + func_80088B34(0); + } else if ((this->startTimer > 80) && (player->rideActor != NULL) && !(this->startFlags & INGORACE_PLAYER_MOVE)) { + this->startFlags |= INGORACE_PLAYER_MOVE; + horse = (EnHorse*)player->rideActor; + horse->unk_388 = 1; + } else if ((this->startTimer > 81) && !(this->startFlags & INGORACE_INGO_MOVE)) { + ingoHorse = (EnHorse*)this->ingoHorse; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Init.s") + ingoHorse->unk_388 = 1; + this->startFlags |= INGORACE_INGO_MOVE; + Audio_PlaySoundGeneral(NA_SE_SY_START_SHOT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Destroy.s") + this->startTimer++; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Update.s") + for (i = 0; i < 3; i++) { + if ((player->rideActor != NULL) && + (Math3D_Vec3f_DistXYZ(&sIngoRaceCheckpoints[i], &player->rideActor->world.pos) < 400.0f)) { + if ((i > 0) && (this->playerCheck[i - 1] == 1)) { + this->playerCheck[i] = 1; + } else if (i == 0) { + this->playerCheck[i] = 1; + } + } + if (Math3D_Vec3f_DistXYZ(&sIngoRaceCheckpoints[i], &this->ingoHorse->world.pos) < 400.0f) { + if ((i > 0) && (this->ingoCheck[i - 1] == 1)) { + this->ingoCheck[i] = 1; + } else if (i == 0) { + this->ingoCheck[i] = 1; + } + } + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Horse_Game_Check/EnHorseGameCheck_Draw.s") + if (this->result == INGORACE_NO_RESULT) { + Player* player2 = player; + + if ((player2->rideActor != NULL) && (this->playerCheck[2] == 1) && AT_FINISH_LINE(player2->rideActor)) { + this->playerFinish++; + if (this->playerFinish > 0) { + this->result = INGORACE_PLAYER_WIN; + this->finishTimer = 55; + Audio_SetBGM(0x41); + Audio_PlaySoundGeneral(NA_SE_SY_START_SHOT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } + for (i = 0; i < 3; i++) { + this->playerCheck[i] = 0; + } + } + if ((this->ingoHorse != NULL) && (this->ingoCheck[2] == 1) && AT_FINISH_LINE(this->ingoHorse)) { + this->ingoFinish++; + if (this->ingoFinish > 0) { + ingoHorse = (EnHorse*)this->ingoHorse; + + this->result = INGORACE_INGO_WIN; + this->finishTimer = 70; + ingoHorse->unk_1F0 |= 0x800000; + Audio_SetBGM(0x41); + Audio_PlaySoundGeneral(NA_SE_SY_START_SHOT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } + for (i = 0; i < 3; i++) { + this->ingoCheck[i] = 0; + } + } + if (((player2->rideActor != NULL) && AT_RANCH_EXIT(player2->rideActor)) || AT_RANCH_EXIT(&player2->actor)) { + Audio_SetBGM(0x41); + this->result = INGORACE_INGO_WIN; + this->finishTimer = 20; + } + if ((gSaveContext.timer1Value >= 180) && (this->startFlags & 2)) { + Audio_SetBGM(0x41); + this->result = INGORACE_TIME_UP; + this->finishTimer = 20; + } + } else { + if (this->finishTimer > 0) { + this->finishTimer--; + } else { + EnHorseGameCheck_FinishIngoRace(this, globalCtx); + } + } + return true; +} + +s32 EnHorseGameCheck_InitGerudoArchery(EnHorseGameCheckBase* base, GlobalContext* globalCtx) { + EnHorseGameCheckGerudoArchery* this = (EnHorseGameCheckGerudoArchery*)base; + + this->base.type = HORSEGAME_GERUDO_ARCHERY; + this->unk_150 = 0; + this->startTimer = 0; + return true; +} + +s32 EnHorseGameCheck_DestroyGerudoArchery(EnHorseGameCheckBase* base, GlobalContext* globalCtx) { + return true; +} + +s32 EnHorseGameCheck_UpdateGerudoArchery(EnHorseGameCheckBase* base, GlobalContext* globalCtx) { + EnHorseGameCheckGerudoArchery* this = (EnHorseGameCheckGerudoArchery*)base; + Player* player = PLAYER; + EnHorse* horse = (EnHorse*)player->rideActor; + + if (horse == NULL) { + return true; + } + + if (this->startTimer > 90) { + if (globalCtx) {} + horse->unk_3A0 = 1; + } + this->startTimer++; + return true; +} + +s32 EnHorseGameCheck_InitType3(EnHorseGameCheckBase* base, GlobalContext* globalCtx) { + EnHorseGameCheck3* this = (EnHorseGameCheck3*)base; + + this->base.type = HORSEGAME_TYPE3; + this->unk_150 = 0; + return true; +} + +s32 EnHorseGameCheck_DestroyType3(EnHorseGameCheckBase* base, GlobalContext* globalCtx) { + return true; +} + +s32 EnHorseGameCheck_UpdateType3(EnHorseGameCheckBase* base, GlobalContext* globalCtx) { + return true; +} + +s32 EnHorseGameCheck_InitMalonRace(EnHorseGameCheckBase* base, GlobalContext* globalCtx) { + EnHorseGameCheckMalonRace* this = (EnHorseGameCheckMalonRace*)base; + s32 i; + + this->base.type = HORSEGAME_MALON_RACE; + this->raceFlags = 0; + this->finishTimer = 0; + this->result = MALONRACE_NO_RESULT; + for (i = 0; i < 16; i++) { + this->fenceCheck[i] = 0; + } + this->lapCount = 0; + return true; +} + +s32 EnHorseGameCheck_DestroyMalonRace(EnHorseGameCheckBase* base, GlobalContext* globalCtx) { + return true; +} + +void EnHorseGameCheck_FinishMalonRace(EnHorseGameCheckMalonRace* this, GlobalContext* globalCtx) { + if ((this->result == MALONRACE_SUCCESS) || (this->result == MALONRACE_TIME_UP)) { + gSaveContext.cutsceneIndex = 0; + globalCtx->nextEntranceIndex = 0x4CE; + globalCtx->fadeTransition = 0x2E; + globalCtx->sceneLoadFlag = 0x14; + } else if (this->result == MALONRACE_FAILURE) { + gSaveContext.timer1Value = 240; + gSaveContext.timer1State = 0xF; + gSaveContext.cutsceneIndex = 0; + globalCtx->nextEntranceIndex = 0x4CE; + globalCtx->fadeTransition = 0x2E; + globalCtx->sceneLoadFlag = 0x14; + } else { + // not supported + osSyncPrintf("En_HGC_Spot20_Ta_end():対応せず\n"); + gSaveContext.cutsceneIndex = 0; + globalCtx->nextEntranceIndex = 0x157; + globalCtx->fadeTransition = 0x2E; + globalCtx->sceneLoadFlag = 0x14; + } +} + +s32 EnHorseGameCheck_UpdateMalonRace(EnHorseGameCheckBase* base, GlobalContext* globalCtx) { + EnHorseGameCheckMalonRace* this = (EnHorseGameCheckMalonRace*)base; + s32 i; + Player* player = PLAYER; + EnHorse* horse; + + if (!(this->raceFlags & MALONRACE_PLAYER_ON_MARK) && AT_FINISH_LINE(player->rideActor)) { + this->raceFlags |= MALONRACE_PLAYER_ON_MARK; + } else if ((this->raceFlags & MALONRACE_PLAYER_ON_MARK) && !(this->raceFlags & MALONRACE_PLAYER_START) && !AT_FINISH_LINE(player->rideActor)) { + this->raceFlags |= MALONRACE_PLAYER_START; + } + if ((this->startTimer > 50) && !(this->raceFlags & MALONRACE_SET_TIMER)) { + this->raceFlags |= MALONRACE_SET_TIMER; + func_80088B34(0); + } else if ((this->startTimer > 80) && (player->rideActor != NULL) && !(this->raceFlags & MALONRACE_PLAYER_MOVE)) { + this->raceFlags |= MALONRACE_PLAYER_MOVE; + horse = (EnHorse*)player->rideActor; + + horse->unk_388 = 1; + } else if ((this->startTimer > 81) && !(this->raceFlags & MALONRACE_START_SFX)) { + this->raceFlags |= MALONRACE_START_SFX; + Audio_PlaySoundGeneral(NA_SE_SY_START_SHOT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + } + + this->startTimer++; + if (this->result == MALONRACE_NO_RESULT) { + Player* player2 = player; + f32 dist; + + for (i = 0; i < 16; i++) { + if ((this->lapCount == 0) && (i >= 8)) { + break; + } + dist = Math_Vec3f_DistXZ(&sFencePos[i % 8], &player2->rideActor->world.pos); + if ((player->rideActor != NULL) && (dist < 250.0f)) { + horse = (EnHorse*)player2->rideActor; + + if (horse->unk_1F0 & 4) { + if ((i > 0) && (this->fenceCheck[i - 1] == 1)) { + this->fenceCheck[i] = 1; + } else if (i == 0) { + this->fenceCheck[i] = 1; + } + + if ((this->fenceCheck[i - 1] == 0) && !(this->raceFlags & MALONRACE_BROKE_RULE)) { + this->raceFlags |= MALONRACE_BROKE_RULE; + func_8010B680(globalCtx, 0x208C, NULL); + this->result = 4; + this->finishTimer = 30; + } + } + } + } + if ((player2->rideActor != NULL) && (this->raceFlags & MALONRACE_PLAYER_START) && AT_FINISH_LINE(player2->rideActor)) { + if ((this->lapCount == 1) && (this->fenceCheck[15] == 0) && (player2->rideActor->prevPos.x < -200.0f)) { + this->raceFlags |= MALONRACE_BROKE_RULE; + func_8010B680(globalCtx, 0x208C, NULL); + this->result = MALONRACE_FAILURE; + this->finishTimer = 30; + } else if (this->fenceCheck[15] == 1) { + this->lapCount = 2; + Audio_SetBGM(0x41); + Audio_PlaySoundGeneral(NA_SE_SY_START_SHOT, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8); + this->result = MALONRACE_SUCCESS; + this->finishTimer = 70; + gSaveContext.timer1State = 0xF; + } else if ((this->fenceCheck[7] == 1) && !(this->raceFlags & MALONRACE_SECOND_LAP)) { + this->lapCount = 1; + this->raceFlags |= MALONRACE_SECOND_LAP; + func_8010B680(globalCtx, 0x208D, NULL); + } else if (this->fenceCheck[7] == 0) { + this->raceFlags |= MALONRACE_BROKE_RULE; + func_8010B680(globalCtx, 0x208C, NULL); + this->result = MALONRACE_FAILURE; + this->finishTimer = 30; + } else if (player2->rideActor->prevPos.x > 80.0f) { + this->raceFlags |= MALONRACE_BROKE_RULE; + func_8010B680(globalCtx, 0x208C, NULL); + this->result = MALONRACE_FAILURE; + this->finishTimer = 30; + } + } + if ((gSaveContext.timer1Value >= 180) && (this->raceFlags & MALONRACE_SET_TIMER)) { + gSaveContext.timer1Value = 240; + this->result = MALONRACE_TIME_UP; + this->finishTimer = 30; + gSaveContext.timer1State = 0; + } + } else { + if (this->finishTimer > 0) { + this->finishTimer--; + } else { + EnHorseGameCheck_FinishMalonRace(this, globalCtx); + } + } + return true; +} + +static EnHorseGameCheckFunc sInitFuncs[] = { + NULL, + EnHorseGameCheck_InitIngoRace, + EnHorseGameCheck_InitGerudoArchery, + EnHorseGameCheck_InitType3, + EnHorseGameCheck_InitMalonRace, +}; + +static EnHorseGameCheckFunc sDestroyFuncs[] = { + NULL, + EnHorseGameCheck_DestroyIngoRace, + EnHorseGameCheck_DestroyGerudoArchery, + EnHorseGameCheck_DestroyType3, + EnHorseGameCheck_DestroyMalonRace, +}; + +static EnHorseGameCheckFunc sUpdateFuncs[] = { + NULL, + EnHorseGameCheck_UpdateIngoRace, + EnHorseGameCheck_UpdateGerudoArchery, + EnHorseGameCheck_UpdateType3, + EnHorseGameCheck_UpdateMalonRace, +}; + +void EnHorseGameCheck_Init(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + EnHorseGameCheckBase* this = THIS; + + if ((globalCtx->sceneNum == SCENE_SPOT20) && (Flags_GetEventChkInf(0x18) || DREG(1))) { + this->actor.params = HORSEGAME_MALON_RACE; + } + if (sInitFuncs[this->actor.params] != NULL) { + sInitFuncs[this->actor.params](this, globalCtx); + } +} + +void EnHorseGameCheck_Destroy(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + EnHorseGameCheckBase* this = THIS; + + if (sDestroyFuncs[this->actor.params] != NULL) { + sDestroyFuncs[this->actor.params](this, globalCtx); + } +} + +void EnHorseGameCheck_Update(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + EnHorseGameCheckBase* this = THIS; + + if (sUpdateFuncs[this->type] != NULL) { + sUpdateFuncs[this->type](this, globalCtx); + } +} + +void EnHorseGameCheck_Draw(Actor* thisx, GlobalContext* globalCtx) { +} diff --git a/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.h b/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.h index f99223e64e..33e51fc2c2 100644 --- a/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.h +++ b/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.h @@ -4,13 +4,64 @@ #include "ultra64.h" #include "global.h" -struct EnHorseGameCheck; +struct EnHorseGameCheckBase; -typedef struct EnHorseGameCheck { +typedef s32 (*EnHorseGameCheckFunc)(struct EnHorseGameCheckBase* this, GlobalContext* globalCtx); + +typedef struct EnHorseGameCheckBase { /* 0x0000 */ Actor actor; - /* 0x014C */ char unk_14C[0x58]; + /* 0x014C */ s32 type; +} EnHorseGameCheckBase; // size = 0x0150 + +typedef struct EnHorseGameCheckIngoRace { + /* 0x0000 */ EnHorseGameCheckBase base; + /* 0x0150 */ s32 startFlags; + /* 0x0154 */ s32 playerCheck[3]; + /* 0x0160 */ s32 ingoCheck[3]; + /* 0x016C */ Actor* ingoHorse; + /* 0x0170 */ s32 startTimer; + /* 0x0174 */ s32 result; + /* 0x0178 */ s32 finishTimer; + /* 0x017C */ s32 playerFinish; + /* 0x0180 */ s32 ingoFinish; +} EnHorseGameCheckIngoRace; // size = 0x0184 + +typedef struct EnHorseGameCheckGerudoArchery { + /* 0x0000 */ EnHorseGameCheckBase base; + /* 0x0150 */ s32 unk_150; + /* 0x0154 */ u32 startTimer; +} EnHorseGameCheckGerudoArchery; // size = 0x0158 + +typedef struct EnHorseGameCheck3 { + /* 0x0000 */ EnHorseGameCheckBase base; + /* 0x0150 */ s32 unk_150; +} EnHorseGameCheck3; // size = 0x0154 + +typedef struct EnHorseGameCheckMalonRace { + /* 0x0000 */ EnHorseGameCheckBase base; + /* 0x0150 */ s32 startTimer; + /* 0x0154 */ s32 raceFlags; + /* 0x0158 */ s32 fenceCheck[16]; + /* 0x0198 */ s32 finishTimer; + /* 0x019C */ s32 result; + /* 0x01A0 */ s32 lapCount; +} EnHorseGameCheckMalonRace; // size = 0x01A4 + +typedef union EnHorseGameCheck { + EnHorseGameCheckIngoRace ingo; + EnHorseGameCheckGerudoArchery gerudo; + EnHorseGameCheck3 type3; + EnHorseGameCheckMalonRace malon; } EnHorseGameCheck; // size = 0x01A4 +typedef enum { + /* 0 */ HORSEGAME_NONE, + /* 1 */ HORSEGAME_INGO_RACE, + /* 2 */ HORSEGAME_GERUDO_ARCHERY, + /* 3 */ HORSEGAME_TYPE3, + /* 4 */ HORSEGAME_MALON_RACE +} EnHorseGameCheckType; + extern const ActorInit En_Horse_Game_Check_InitVars; #endif