partial data section migration

This commit is contained in:
mzxrules 2020-03-31 17:28:21 -04:00
parent 2ea19f0401
commit 6df4145bd1
7 changed files with 227 additions and 256 deletions

View File

@ -1,25 +0,0 @@
glabel func_8005C2BC
/* AD345C 8005C2BC 27BDFFF0 */ addiu $sp, $sp, -0x10
/* AD3460 8005C2C0 3C0E8012 */ lui $t6, %hi(D_8011DE6C) # $t6, 0x8012
/* AD3464 8005C2C4 AFA40010 */ sw $a0, 0x10($sp)
/* AD3468 8005C2C8 25CEDE6C */ addiu $t6, %lo(D_8011DE6C) # addiu $t6, $t6, -0x2194
/* AD346C 8005C2CC 8DD80000 */ lw $t8, ($t6)
/* AD3470 8005C2D0 27A30004 */ addiu $v1, $sp, 4
/* AD3474 8005C2D4 24020001 */ li $v0, 1
/* AD3478 8005C2D8 AC780000 */ sw $t8, ($v1)
/* AD347C 8005C2DC 8DCF0004 */ lw $t7, 4($t6)
/* AD3480 8005C2E0 8C680000 */ lw $t0, ($v1)
/* AD3484 8005C2E4 AC6F0004 */ sw $t7, 4($v1)
/* AD3488 8005C2E8 8DD80008 */ lw $t8, 8($t6)
/* AD348C 8005C2EC AC780008 */ sw $t8, 8($v1)
/* AD3490 8005C2F0 A8A80000 */ swl $t0, ($a1)
/* AD3494 8005C2F4 B8A80003 */ swr $t0, 3($a1)
/* AD3498 8005C2F8 8C790004 */ lw $t9, 4($v1)
/* AD349C 8005C2FC A8B90004 */ swl $t9, 4($a1)
/* AD34A0 8005C300 B8B90007 */ swr $t9, 7($a1)
/* AD34A4 8005C304 8C680008 */ lw $t0, 8($v1)
/* AD34A8 8005C308 27BD0010 */ addiu $sp, $sp, 0x10
/* AD34AC 8005C30C A8A80008 */ swl $t0, 8($a1)
/* AD34B0 8005C310 03E00008 */ jr $ra
/* AD34B4 8005C314 B8A8000B */ swr $t0, 0xb($a1)

View File

@ -1,3 +1,9 @@
.section .data
glabel D_8011DEEC
.incbin "baserom.z64", 0xB9508C, 0xC
.text
glabel func_8005D218
/* AD43B8 8005D218 27BDFFD0 */ addiu $sp, $sp, -0x30
/* AD43BC 8005D21C AFBF0014 */ sw $ra, 0x14($sp)

View File

@ -12,29 +12,6 @@ glabel D_8013AB10
# EUC-JP: | Index exceeded and cannot be added
.balign 4
glabel D_8013AB4C
.asciz "pcl_obj->data_type <= CL_DATA_LBL_SWRD"
.balign 4
glabel D_8013AB74
.asciz "../z_collision_check.c"
.balign 4
glabel D_8013AB8C
.asciz "CollisionCheck_setOC_SAC():\n"
# EUC-JP: | You are trying to register a location that is larger than the total number of data.
.balign 4
glabel D_8013ABDC
.asciz "CollisionCheck_setOC():\n"
# EUC-JP: | Index exceeded and cannot be added
.balign 4
glabel D_8013AC18
.asciz "CollisionCheck_setOCLine():\n"
# EUC-JP: | Index exceeded and cannot be added
.balign 4
.text
glabel Actor_CollisionCheck_SetOT
/* AD4DEC 8005DC4C 27BDFFE0 */ addiu $sp, $sp, -0x20
@ -111,133 +88,3 @@ glabel Actor_CollisionCheck_SetOT
/* AD4EF0 8005DD50 27BD0020 */ addiu $sp, $sp, 0x20
/* AD4EF4 8005DD54 03E00008 */ jr $ra
/* AD4EF8 8005DD58 00000000 */ nop
/* AD4EFC 8005DD5C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* AD4F00 8005DD60 AFBF001C */ sw $ra, 0x1c($sp)
/* AD4F04 8005DD64 AFB10018 */ sw $s1, 0x18($sp)
/* AD4F08 8005DD68 AFB00014 */ sw $s0, 0x14($sp)
/* AD4F0C 8005DD6C 00A08025 */ move $s0, $a1
/* AD4F10 8005DD70 00C08825 */ move $s1, $a2
/* AD4F14 8005DD74 AFA40020 */ sw $a0, 0x20($sp)
/* AD4F18 8005DD78 0C03034A */ jal func_800C0D28
/* AD4F1C 8005DD7C AFA7002C */ sw $a3, 0x2c($sp)
/* AD4F20 8005DD80 24010001 */ li $at, 1
/* AD4F24 8005DD84 14410003 */ bne $v0, $at, .L8005DD94
/* AD4F28 8005DD88 8FA7002C */ lw $a3, 0x2c($sp)
/* AD4F2C 8005DD8C 1000003E */ b .L8005DE88
/* AD4F30 8005DD90 2402FFFF */ li $v0, -1
.L8005DD94:
/* AD4F34 8005DD94 92220015 */ lbu $v0, 0x15($s1)
/* AD4F38 8005DD98 3C048014 */ lui $a0, %hi(D_8013AB4C) # $a0, 0x8014
/* AD4F3C 8005DD9C 2484AB4C */ addiu $a0, %lo(D_8013AB4C) # addiu $a0, $a0, -0x54b4
/* AD4F40 8005DDA0 28410004 */ slti $at, $v0, 4
/* AD4F44 8005DDA4 14200007 */ bnez $at, .L8005DDC4
/* AD4F48 8005DDA8 3C058014 */ lui $a1, %hi(D_8013AB74) # $a1, 0x8014
/* AD4F4C 8005DDAC 24A5AB74 */ addiu $a1, %lo(D_8013AB74) # addiu $a1, $a1, -0x548c
/* AD4F50 8005DDB0 24060CCA */ li $a2, 3274
/* AD4F54 8005DDB4 0C0007FC */ jal __assert
/* AD4F58 8005DDB8 AFA7002C */ sw $a3, 0x2c($sp)
/* AD4F5C 8005DDBC 8FA7002C */ lw $a3, 0x2c($sp)
/* AD4F60 8005DDC0 92220015 */ lbu $v0, 0x15($s1)
.L8005DDC4:
/* AD4F64 8005DDC4 00027080 */ sll $t6, $v0, 2
/* AD4F68 8005DDC8 3C198012 */ lui $t9, %hi(D_8011DF18)
/* AD4F6C 8005DDCC 032EC821 */ addu $t9, $t9, $t6
/* AD4F70 8005DDD0 8F39DF18 */ lw $t9, %lo(D_8011DF18)($t9)
/* AD4F74 8005DDD4 8FA40020 */ lw $a0, 0x20($sp)
/* AD4F78 8005DDD8 02202825 */ move $a1, $s1
/* AD4F7C 8005DDDC 0320F809 */ jalr $t9
/* AD4F80 8005DDE0 AFA7002C */ sw $a3, 0x2c($sp)
/* AD4F84 8005DDE4 8E230000 */ lw $v1, ($s1)
/* AD4F88 8005DDE8 8FA7002C */ lw $a3, 0x2c($sp)
/* AD4F8C 8005DDEC 50600007 */ beql $v1, $zero, .L8005DE0C
/* AD4F90 8005DDF0 96180002 */ lhu $t8, 2($s0)
/* AD4F94 8005DDF4 8C6F0130 */ lw $t7, 0x130($v1)
/* AD4F98 8005DDF8 55E00004 */ bnezl $t7, .L8005DE0C
/* AD4F9C 8005DDFC 96180002 */ lhu $t8, 2($s0)
/* AD4FA0 8005DE00 10000021 */ b .L8005DE88
/* AD4FA4 8005DE04 2402FFFF */ li $v0, -1
/* AD4FA8 8005DE08 96180002 */ lhu $t8, 2($s0)
.L8005DE0C:
/* AD4FAC 8005DE0C 33080001 */ andi $t0, $t8, 1
/* AD4FB0 8005DE10 5100000E */ beql $t0, $zero, .L8005DE4C
/* AD4FB4 8005DE14 8E0201C0 */ lw $v0, 0x1c0($s0)
/* AD4FB8 8005DE18 8E0901C0 */ lw $t1, 0x1c0($s0)
/* AD4FBC 8005DE1C 00075080 */ sll $t2, $a3, 2
/* AD4FC0 8005DE20 3C048014 */ lui $a0, %hi(D_8013AB8C) # $a0, 0x8014
/* AD4FC4 8005DE24 00E9082A */ slt $at, $a3, $t1
/* AD4FC8 8005DE28 14200005 */ bnez $at, .L8005DE40
/* AD4FCC 8005DE2C 020A5821 */ addu $t3, $s0, $t2
/* AD4FD0 8005DE30 0C00084C */ jal osSyncPrintf
/* AD4FD4 8005DE34 2484AB8C */ addiu $a0, %lo(D_8013AB8C) # addiu $a0, $a0, -0x5474
/* AD4FD8 8005DE38 10000013 */ b .L8005DE88
/* AD4FDC 8005DE3C 2402FFFF */ li $v0, -1
.L8005DE40:
/* AD4FE0 8005DE40 10000010 */ b .L8005DE84
/* AD4FE4 8005DE44 AD710004 */ sw $s1, 4($t3)
/* AD4FE8 8005DE48 8E0201C0 */ lw $v0, 0x1c0($s0)
.L8005DE4C:
/* AD4FEC 8005DE4C 3C048014 */ lui $a0, %hi(D_8013ABDC) # $a0, 0x8014
/* AD4FF0 8005DE50 28410032 */ slti $at, $v0, 0x32
/* AD4FF4 8005DE54 14200005 */ bnez $at, .L8005DE6C
/* AD4FF8 8005DE58 00026080 */ sll $t4, $v0, 2
/* AD4FFC 8005DE5C 0C00084C */ jal osSyncPrintf
/* AD5000 8005DE60 2484ABDC */ addiu $a0, %lo(D_8013ABDC) # addiu $a0, $a0, -0x5424
/* AD5004 8005DE64 10000008 */ b .L8005DE88
/* AD5008 8005DE68 2402FFFF */ li $v0, -1
.L8005DE6C:
/* AD500C 8005DE6C 020C6821 */ addu $t5, $s0, $t4
/* AD5010 8005DE70 ADB101C4 */ sw $s1, 0x1c4($t5)
/* AD5014 8005DE74 8E0E01C0 */ lw $t6, 0x1c0($s0)
/* AD5018 8005DE78 00403825 */ move $a3, $v0
/* AD501C 8005DE7C 25D90001 */ addiu $t9, $t6, 1
/* AD5020 8005DE80 AE1901C0 */ sw $t9, 0x1c0($s0)
.L8005DE84:
/* AD5024 8005DE84 00E01025 */ move $v0, $a3
.L8005DE88:
/* AD5028 8005DE88 8FBF001C */ lw $ra, 0x1c($sp)
/* AD502C 8005DE8C 8FB00014 */ lw $s0, 0x14($sp)
/* AD5030 8005DE90 8FB10018 */ lw $s1, 0x18($sp)
/* AD5034 8005DE94 03E00008 */ jr $ra
/* AD5038 8005DE98 27BD0020 */ addiu $sp, $sp, 0x20
/* AD503C 8005DE9C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* AD5040 8005DEA0 AFBF0014 */ sw $ra, 0x14($sp)
/* AD5044 8005DEA4 AFA40018 */ sw $a0, 0x18($sp)
/* AD5048 8005DEA8 AFA60020 */ sw $a2, 0x20($sp)
/* AD504C 8005DEAC 0C03034A */ jal func_800C0D28
/* AD5050 8005DEB0 AFA5001C */ sw $a1, 0x1c($sp)
/* AD5054 8005DEB4 24010001 */ li $at, 1
/* AD5058 8005DEB8 14410003 */ bne $v0, $at, .L8005DEC8
/* AD505C 8005DEBC 8FA7001C */ lw $a3, 0x1c($sp)
/* AD5060 8005DEC0 10000016 */ b .L8005DF1C
/* AD5064 8005DEC4 2402FFFF */ li $v0, -1
.L8005DEC8:
/* AD5068 8005DEC8 8FA40018 */ lw $a0, 0x18($sp)
/* AD506C 8005DECC 8FA50020 */ lw $a1, 0x20($sp)
/* AD5070 8005DED0 0C0174E9 */ jal func_8005D3A4
/* AD5074 8005DED4 AFA7001C */ sw $a3, 0x1c($sp)
/* AD5078 8005DED8 8FA7001C */ lw $a3, 0x1c($sp)
/* AD507C 8005DEDC 3C048014 */ lui $a0, %hi(D_8013AC18) # $a0, 0x8014
/* AD5080 8005DEE0 8FAE0020 */ lw $t6, 0x20($sp)
/* AD5084 8005DEE4 8CE3028C */ lw $v1, 0x28c($a3)
/* AD5088 8005DEE8 28610003 */ slti $at, $v1, 3
/* AD508C 8005DEEC 14200005 */ bnez $at, .L8005DF04
/* AD5090 8005DEF0 00037880 */ sll $t7, $v1, 2
/* AD5094 8005DEF4 0C00084C */ jal osSyncPrintf
/* AD5098 8005DEF8 2484AC18 */ addiu $a0, %lo(D_8013AC18) # addiu $a0, $a0, -0x53e8
/* AD509C 8005DEFC 10000007 */ b .L8005DF1C
/* AD50A0 8005DF00 2402FFFF */ li $v0, -1
.L8005DF04:
/* AD50A4 8005DF04 00EFC021 */ addu $t8, $a3, $t7
/* AD50A8 8005DF08 AF0E0290 */ sw $t6, 0x290($t8)
/* AD50AC 8005DF0C 8CF9028C */ lw $t9, 0x28c($a3)
/* AD50B0 8005DF10 00601025 */ move $v0, $v1
/* AD50B4 8005DF14 27280001 */ addiu $t0, $t9, 1
/* AD50B8 8005DF18 ACE8028C */ sw $t0, 0x28c($a3)
.L8005DF1C:
/* AD50BC 8005DF1C 8FBF0014 */ lw $ra, 0x14($sp)
/* AD50C0 8005DF20 27BD0018 */ addiu $sp, $sp, 0x18
/* AD50C4 8005DF24 03E00008 */ jr $ra
/* AD50C8 8005DF28 00000000 */ nop

View File

@ -0,0 +1,155 @@
.rdata
glabel D_8013AB4C
.asciz "pcl_obj->data_type <= CL_DATA_LBL_SWRD"
.balign 4
glabel D_8013AB74
.asciz "../z_collision_check.c"
.balign 4
glabel D_8013AB8C
.asciz "CollisionCheck_setOC_SAC():\n"
# EUC-JP: | You are trying to register a location that is larger than the total number of data.
.balign 4
glabel D_8013ABDC
.asciz "CollisionCheck_setOC():\n"
# EUC-JP: | Index exceeded and cannot be added
.balign 4
glabel D_8013AC18
.asciz "CollisionCheck_setOCLine():\n"
# EUC-JP: | Index exceeded and cannot be added
.balign 4
.text
glabel func_8005DD5C
/* AD4EFC 8005DD5C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* AD4F00 8005DD60 AFBF001C */ sw $ra, 0x1c($sp)
/* AD4F04 8005DD64 AFB10018 */ sw $s1, 0x18($sp)
/* AD4F08 8005DD68 AFB00014 */ sw $s0, 0x14($sp)
/* AD4F0C 8005DD6C 00A08025 */ move $s0, $a1
/* AD4F10 8005DD70 00C08825 */ move $s1, $a2
/* AD4F14 8005DD74 AFA40020 */ sw $a0, 0x20($sp)
/* AD4F18 8005DD78 0C03034A */ jal func_800C0D28
/* AD4F1C 8005DD7C AFA7002C */ sw $a3, 0x2c($sp)
/* AD4F20 8005DD80 24010001 */ li $at, 1
/* AD4F24 8005DD84 14410003 */ bne $v0, $at, .L8005DD94
/* AD4F28 8005DD88 8FA7002C */ lw $a3, 0x2c($sp)
/* AD4F2C 8005DD8C 1000003E */ b .L8005DE88
/* AD4F30 8005DD90 2402FFFF */ li $v0, -1
.L8005DD94:
/* AD4F34 8005DD94 92220015 */ lbu $v0, 0x15($s1)
/* AD4F38 8005DD98 3C048014 */ lui $a0, %hi(D_8013AB4C) # $a0, 0x8014
/* AD4F3C 8005DD9C 2484AB4C */ addiu $a0, %lo(D_8013AB4C) # addiu $a0, $a0, -0x54b4
/* AD4F40 8005DDA0 28410004 */ slti $at, $v0, 4
/* AD4F44 8005DDA4 14200007 */ bnez $at, .L8005DDC4
/* AD4F48 8005DDA8 3C058014 */ lui $a1, %hi(D_8013AB74) # $a1, 0x8014
/* AD4F4C 8005DDAC 24A5AB74 */ addiu $a1, %lo(D_8013AB74) # addiu $a1, $a1, -0x548c
/* AD4F50 8005DDB0 24060CCA */ li $a2, 3274
/* AD4F54 8005DDB4 0C0007FC */ jal __assert
/* AD4F58 8005DDB8 AFA7002C */ sw $a3, 0x2c($sp)
/* AD4F5C 8005DDBC 8FA7002C */ lw $a3, 0x2c($sp)
/* AD4F60 8005DDC0 92220015 */ lbu $v0, 0x15($s1)
.L8005DDC4:
/* AD4F64 8005DDC4 00027080 */ sll $t6, $v0, 2
/* AD4F68 8005DDC8 3C198012 */ lui $t9, %hi(D_8011DF18)
/* AD4F6C 8005DDCC 032EC821 */ addu $t9, $t9, $t6
/* AD4F70 8005DDD0 8F39DF18 */ lw $t9, %lo(D_8011DF18)($t9)
/* AD4F74 8005DDD4 8FA40020 */ lw $a0, 0x20($sp)
/* AD4F78 8005DDD8 02202825 */ move $a1, $s1
/* AD4F7C 8005DDDC 0320F809 */ jalr $t9
/* AD4F80 8005DDE0 AFA7002C */ sw $a3, 0x2c($sp)
/* AD4F84 8005DDE4 8E230000 */ lw $v1, ($s1)
/* AD4F88 8005DDE8 8FA7002C */ lw $a3, 0x2c($sp)
/* AD4F8C 8005DDEC 50600007 */ beql $v1, $zero, .L8005DE0C
/* AD4F90 8005DDF0 96180002 */ lhu $t8, 2($s0)
/* AD4F94 8005DDF4 8C6F0130 */ lw $t7, 0x130($v1)
/* AD4F98 8005DDF8 55E00004 */ bnezl $t7, .L8005DE0C
/* AD4F9C 8005DDFC 96180002 */ lhu $t8, 2($s0)
/* AD4FA0 8005DE00 10000021 */ b .L8005DE88
/* AD4FA4 8005DE04 2402FFFF */ li $v0, -1
/* AD4FA8 8005DE08 96180002 */ lhu $t8, 2($s0)
.L8005DE0C:
/* AD4FAC 8005DE0C 33080001 */ andi $t0, $t8, 1
/* AD4FB0 8005DE10 5100000E */ beql $t0, $zero, .L8005DE4C
/* AD4FB4 8005DE14 8E0201C0 */ lw $v0, 0x1c0($s0)
/* AD4FB8 8005DE18 8E0901C0 */ lw $t1, 0x1c0($s0)
/* AD4FBC 8005DE1C 00075080 */ sll $t2, $a3, 2
/* AD4FC0 8005DE20 3C048014 */ lui $a0, %hi(D_8013AB8C) # $a0, 0x8014
/* AD4FC4 8005DE24 00E9082A */ slt $at, $a3, $t1
/* AD4FC8 8005DE28 14200005 */ bnez $at, .L8005DE40
/* AD4FCC 8005DE2C 020A5821 */ addu $t3, $s0, $t2
/* AD4FD0 8005DE30 0C00084C */ jal osSyncPrintf
/* AD4FD4 8005DE34 2484AB8C */ addiu $a0, %lo(D_8013AB8C) # addiu $a0, $a0, -0x5474
/* AD4FD8 8005DE38 10000013 */ b .L8005DE88
/* AD4FDC 8005DE3C 2402FFFF */ li $v0, -1
.L8005DE40:
/* AD4FE0 8005DE40 10000010 */ b .L8005DE84
/* AD4FE4 8005DE44 AD710004 */ sw $s1, 4($t3)
/* AD4FE8 8005DE48 8E0201C0 */ lw $v0, 0x1c0($s0)
.L8005DE4C:
/* AD4FEC 8005DE4C 3C048014 */ lui $a0, %hi(D_8013ABDC) # $a0, 0x8014
/* AD4FF0 8005DE50 28410032 */ slti $at, $v0, 0x32
/* AD4FF4 8005DE54 14200005 */ bnez $at, .L8005DE6C
/* AD4FF8 8005DE58 00026080 */ sll $t4, $v0, 2
/* AD4FFC 8005DE5C 0C00084C */ jal osSyncPrintf
/* AD5000 8005DE60 2484ABDC */ addiu $a0, %lo(D_8013ABDC) # addiu $a0, $a0, -0x5424
/* AD5004 8005DE64 10000008 */ b .L8005DE88
/* AD5008 8005DE68 2402FFFF */ li $v0, -1
.L8005DE6C:
/* AD500C 8005DE6C 020C6821 */ addu $t5, $s0, $t4
/* AD5010 8005DE70 ADB101C4 */ sw $s1, 0x1c4($t5)
/* AD5014 8005DE74 8E0E01C0 */ lw $t6, 0x1c0($s0)
/* AD5018 8005DE78 00403825 */ move $a3, $v0
/* AD501C 8005DE7C 25D90001 */ addiu $t9, $t6, 1
/* AD5020 8005DE80 AE1901C0 */ sw $t9, 0x1c0($s0)
.L8005DE84:
/* AD5024 8005DE84 00E01025 */ move $v0, $a3
.L8005DE88:
/* AD5028 8005DE88 8FBF001C */ lw $ra, 0x1c($sp)
/* AD502C 8005DE8C 8FB00014 */ lw $s0, 0x14($sp)
/* AD5030 8005DE90 8FB10018 */ lw $s1, 0x18($sp)
/* AD5034 8005DE94 03E00008 */ jr $ra
/* AD5038 8005DE98 27BD0020 */ addiu $sp, $sp, 0x20
/* AD503C 8005DE9C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* AD5040 8005DEA0 AFBF0014 */ sw $ra, 0x14($sp)
/* AD5044 8005DEA4 AFA40018 */ sw $a0, 0x18($sp)
/* AD5048 8005DEA8 AFA60020 */ sw $a2, 0x20($sp)
/* AD504C 8005DEAC 0C03034A */ jal func_800C0D28
/* AD5050 8005DEB0 AFA5001C */ sw $a1, 0x1c($sp)
/* AD5054 8005DEB4 24010001 */ li $at, 1
/* AD5058 8005DEB8 14410003 */ bne $v0, $at, .L8005DEC8
/* AD505C 8005DEBC 8FA7001C */ lw $a3, 0x1c($sp)
/* AD5060 8005DEC0 10000016 */ b .L8005DF1C
/* AD5064 8005DEC4 2402FFFF */ li $v0, -1
.L8005DEC8:
/* AD5068 8005DEC8 8FA40018 */ lw $a0, 0x18($sp)
/* AD506C 8005DECC 8FA50020 */ lw $a1, 0x20($sp)
/* AD5070 8005DED0 0C0174E9 */ jal func_8005D3A4
/* AD5074 8005DED4 AFA7001C */ sw $a3, 0x1c($sp)
/* AD5078 8005DED8 8FA7001C */ lw $a3, 0x1c($sp)
/* AD507C 8005DEDC 3C048014 */ lui $a0, %hi(D_8013AC18) # $a0, 0x8014
/* AD5080 8005DEE0 8FAE0020 */ lw $t6, 0x20($sp)
/* AD5084 8005DEE4 8CE3028C */ lw $v1, 0x28c($a3)
/* AD5088 8005DEE8 28610003 */ slti $at, $v1, 3
/* AD508C 8005DEEC 14200005 */ bnez $at, .L8005DF04
/* AD5090 8005DEF0 00037880 */ sll $t7, $v1, 2
/* AD5094 8005DEF4 0C00084C */ jal osSyncPrintf
/* AD5098 8005DEF8 2484AC18 */ addiu $a0, %lo(D_8013AC18) # addiu $a0, $a0, -0x53e8
/* AD509C 8005DEFC 10000007 */ b .L8005DF1C
/* AD50A0 8005DF00 2402FFFF */ li $v0, -1
.L8005DF04:
/* AD50A4 8005DF04 00EFC021 */ addu $t8, $a3, $t7
/* AD50A8 8005DF08 AF0E0290 */ sw $t6, 0x290($t8)
/* AD50AC 8005DF0C 8CF9028C */ lw $t9, 0x28c($a3)
/* AD50B0 8005DF10 00601025 */ move $v0, $v1
/* AD50B4 8005DF14 27280001 */ addiu $t0, $t9, 1
/* AD50B8 8005DF18 ACE8028C */ sw $t0, 0x28c($a3)
.L8005DF1C:
/* AD50BC 8005DF1C 8FBF0014 */ lw $ra, 0x14($sp)
/* AD50C0 8005DF20 27BD0018 */ addiu $sp, $sp, 0x18
/* AD50C4 8005DF24 03E00008 */ jr $ra
/* AD50C8 8005DF28 00000000 */ nop

View File

@ -7,45 +7,6 @@
.section .data
glabel D_8011DE00
.incbin "baserom.z64", 0xB94FA0, 0x18
glabel D_8011DE18
.incbin "baserom.z64", 0xB94FB8, 0x8
glabel D_8011DE20
.incbin "baserom.z64", 0xB94FC0, 0xC
glabel D_8011DE2C
.incbin "baserom.z64", 0xB94FCC, 0x28
glabel D_8011DE54
.incbin "baserom.z64", 0xB94FF4, 0x18
glabel D_8011DE6C
.incbin "baserom.z64", 0xB9500C, 0xC
glabel D_8011DE78
.incbin "baserom.z64", 0xB95018, 0x34
glabel D_8011DEAC
.incbin "baserom.z64", 0xB9504C, 0x40
glabel D_8011DEEC
.incbin "baserom.z64", 0xB9508C, 0xC
glabel D_8011DEF8
.incbin "baserom.z64", 0xB95098, 0x10
glabel D_8011DF08
.incbin "baserom.z64", 0xB950A8, 0x10
glabel D_8011DF18
.incbin "baserom.z64", 0xB950B8, 0x10
glabel D_8011DF28
.incbin "baserom.z64", 0xB950C8, 0x18
glabel D_8011DF40
.incbin "baserom.z64", 0xB950E0, 0x1

View File

@ -719,9 +719,9 @@ void func_8005D400(UNK_TYPE, UNK_TYPE);
// ? func_8005D40C(?);
// ? func_8005D4DC(?);
// ? func_8005D62C(?);
s32 Actor_CollisionCheck_SetAT(GlobalContext* globalCtx, CollisionCheckContext* simpleBodyGroups, ColliderCylinder* collision);
s32 Actor_CollisionCheck_SetAC(GlobalContext* globalCtx, CollisionCheckContext* simpleBodyGroups, ColliderCylinder* collision);
s32 Actor_CollisionCheck_SetOT(GlobalContext* globalCtx, CollisionCheckContext* simpleBodyGroups, ColliderCylinder* collision);
s32 Actor_CollisionCheck_SetAT(GlobalContext* globalCtx, CollisionCheckContext* simpleBodyGroups, Collider* collision);
s32 Actor_CollisionCheck_SetAC(GlobalContext* globalCtx, CollisionCheckContext* simpleBodyGroups, Collider* collision);
s32 Actor_CollisionCheck_SetOT(GlobalContext* globalCtx, CollisionCheckContext* simpleBodyGroups, Collider* collision);
// ? func_8005DF2C(?);
// ? func_8005DF50(?);
// ? func_8005DF74(?);

View File

@ -12,12 +12,11 @@ void func_8005B280(GraphicsContext* gfx, Vec3f* vA, Vec3f* vB, Vec3f* vC)
//draw poly
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005B2AC.s")
extern Collider D_8011DE00;
//Init Collider
s32 func_8005B65C(GlobalContext* globalCtx, Collider* collision)
{
*collision = D_8011DE00;
static Collider init = { NULL, NULL, NULL, NULL, 0, 0, 0, 0, 3, 4 };
*collision = init;
return 1;
}
@ -87,11 +86,10 @@ void func_8005B79C(GlobalContext* globalCtx, Collider* collision)
collision->maskB &= ~0x1;
}
extern ColliderTouch D_8011DE18;
//Initialize ColliderTouch
s32 func_8005B7C0(GlobalContext* globalCtx, ColliderTouch* touch) {
*touch = D_8011DE18;
static ColliderTouch init = { 0, 0, 0 };
*touch = init;
return 1;
}
@ -115,12 +113,11 @@ void func_8005B818(GlobalContext* globalCtx, ColliderBody* body)
}
extern ColliderBump D_8011DE20;
//Initialize ColliderBump
s32 func_8005B824(GlobalContext* globalCtx, ColliderBump* bump)
{
*bump = D_8011DE20;
static ColliderBump init = { (s32)0xFFCFFFFF, 0, 0, 0, 0, 0 };
*bump = init;
return 1;
}
@ -139,11 +136,14 @@ s32 func_8005B860(GlobalContext* globalCtx, ColliderBump* bump, ColliderBumpInit
return 1;
}
extern ColliderBody D_8011DE2C;
//Initialize ColliderBody
s32 func_8005B884(GlobalContext* globalCtx, ColliderBody* body) {
*body = D_8011DE2C;
static ColliderBody init = {
{ 0, 0, 0 },
{ (s32)0xFFCFFFFF, 0, 0, 0, 0, 0 },
0, 0, 0, 0, 0, NULL, 0, NULL,
};
*body = init;
func_8005B7C0(globalCtx, &body->toucher);
func_8005B824(globalCtx, &body->bumper);
return 1;
@ -194,11 +194,10 @@ void func_8005BA1C(GlobalContext* globalCtx, ColliderBody* body)
body->flags2 &= ~0x2;
}
extern ColliderJntSphItemDim D_8011DE54;
//initialize JntSphItemDim
s32 func_8005BA30(GlobalContext* globalCtx, ColliderJntSphItemDim* dim) {
*dim = D_8011DE54;
static ColliderJntSphItemDim init = { 0 };
*dim = init;
return 1;
}
@ -242,21 +241,18 @@ s32 func_8005BB48(GlobalContext* globalCtx, ColliderJntSphItem* dest, ColliderJn
}
//Set CollisionBody Property
//arg1 could be wrong type
s32 func_8005BB8C(GlobalContext* globalCtx, ColliderJntSphItem* collider) {
func_8005B9B0(globalCtx, &collider->body);
return 1;
}
//Set CollisionBody Property
//TODO: arg1 could be wrong type
s32 func_8005BBB0(GlobalContext* globalCtx, ColliderJntSphItem* collider) {
func_8005B9E8(globalCtx, &collider->body);
return 1;
}
//Set CollisionBody Property
//arg1 could be wrong type
s32 func_8005BBD4(GlobalContext* globalCtx, ColliderJntSphItem* collider) {
func_8005BA1C(globalCtx, &collider->body);
return 1;
@ -269,6 +265,7 @@ s32 func_8005BBF8(GlobalContext* globalCtx, ColliderJntSph* collision) {
collision->list = NULL;
return 1;
}
//Destruct ColliderJntSph (malloc)
s32 func_8005BC28(GlobalContext* globalCtx, ColliderJntSph* collider) {
ColliderJntSphItem* next;
@ -473,19 +470,12 @@ s32 func_8005C234(GlobalContext* globalCtx, ColliderJntSph* collider) {
return 1;
}
#ifdef NON_MATCHING
//Initialize ColliderCylinderDim
//matching, but needs data section imported
s32 func_8005C2BC(GlobalContext* globalCtx, ColliderCylinderDim* dim) {
ColliderCylinderDim init = { 0, 0, 0, 0, 0, 0 }; //TODO: this is D_8011DE6C;
ColliderCylinderDim init = { };
*dim = init;
return 1;
}
#else
//Initialize ColliderCylinderDim
s32 func_8005C2BC(GlobalContext* globalCtx, ColliderCylinderDim* dim);
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005C2BC.s")
#endif // NON_MATCHING
//Destruct ColliderCylinderDim
s32 func_8005C318(GlobalContext* globalCtx, ColliderCylinderDim* dim)
@ -569,12 +559,11 @@ s32 func_8005C578(GlobalContext* globalCtx, ColliderCylinder* collision)
return 1;
}
extern ColliderTrisItemDim D_8011DE78;
//Initialize ColliderTrisItemDim
s32 func_8005C5B0(GlobalContext* globalCtx, ColliderTrisItemDim* dim)
{
*dim = D_8011DE78;
static ColliderTrisItemDim init = { 0 };
*dim = init;
return 1;
}
@ -629,7 +618,6 @@ s32 func_8005C730(GlobalContext* globalCtx, ColliderTrisItem* dest, ColliderTris
return 1;
}
s32 func_8005C774(GlobalContext* globalCtx, ColliderTrisItem* item) {
func_8005B9B0(globalCtx, &item->body);
return 1;
@ -747,7 +735,6 @@ s32 func_8005CA88(GlobalContext* globalCtx, ColliderTris* dest, Actor* actor, Co
return 1;
}
//SetInit ColliderTris
s32 func_8005CBAC(GlobalContext* globalCtx, ColliderTris* dest, Actor* actor, ColliderTrisInit* src, ColliderTrisItem* list) {
ColliderTrisItem* destNext;
@ -774,7 +761,6 @@ s32 func_8005CBAC(GlobalContext* globalCtx, ColliderTris* dest, Actor* actor, Co
return 1;
}
//Set ColliderTris collider body property
s32 func_8005CC98(GlobalContext* globalCtx, ColliderTris* collider) {
ColliderTrisItem* next;
@ -823,10 +809,13 @@ s32 func_8005CDD0(GlobalContext* globalCtx, ColliderTris* collider) {
return 1;
}
extern ColliderQuadDim D_8011DEAC;
//Initialize ColliderQuadDim
s32 func_8005CE6C(GlobalContext* globalCtx, ColliderQuadDim* dim) {
*dim = D_8011DEAC;
static ColliderQuadDim init = {
{ {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0} },
{0, 0, 0}, {0, 0, 0}, 1.0E38f,
};
*dim = init;
return 1;
}
@ -922,6 +911,11 @@ s32 func_8005D1E0(GlobalContext* globalCtx, ColliderQuad* collision)
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005D218.s")
u32 D_8011DEF8[] = { 0x8005C124, 0x8005C508, 0x8005CC98, 0x8005D160 };
u32 D_8011DF08[] = { 0x8005C1AC, 0x8005C540, 0x8005CD34, 0x8005D1A8 };
u32 D_8011DF18[] = { 0x8005C234, 0x8005C578, 0x8005CDD0, 0x8005D1E0 };
u32 D_8011DF28[] = { 0x8005DF9C, 0x8005DFAC, 0x8005E10C, 0x8005E26C, 0x8005E2A4, 0x8005E2C8 };
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005D334.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005D3A4.s")
@ -935,7 +929,6 @@ void func_8005D3BC(GlobalContext* globalCtx, CollisionCheckContext* check) {
AREG(23) = 1;
}
void func_8005D400(UNK_TYPE arg0, UNK_TYPE arg1)
{
@ -986,8 +979,42 @@ void func_8005D4C8(GlobalContext* globalCtx, CollisionCheckContext* check) {
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005D9F4.s")
//CollisionCheck_SetOC()
//CollisionCheck_SetOT()
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005DC4C.s")
/*
s32 Actor_CollisionCheck_SetOT(GlobalContext* globalCtx, CollisionCheckContext* simpleBodyGroups, Collider* collision) {
s32 temp_v0;
void* temp_a3;
temp_a3 = arg1;
if (func_800C0D28() == 1) {
return -1;
}
if (arg2->unk15 >= 4) {
__assert("pcl_obj->data_type <= CL_DATA_LBL_SWRD", "../z_collision_check.c", 3229);
}
arg1 = (void*)arg1;
*(&D_8011DF18 + (arg2->unk15 * 4))(arg0, arg2, arg1);
if (arg2->unk0 != 0) {
if (arg2->unk0->unk130 == 0) {
return -1;
}
}
if (arg1->unk1C0 >= 0x32) {
osSyncPrintf(&D_8013AB10, arg1);
return -1;
}
if ((arg1->unk2 & 1) != 0) {
return -1;
}
(arg1 + (arg1->unk1C0 * 4))->unk1C4 = arg2;
temp_v0 = arg1->unk1C0;
arg1->unk1C0 = (s32)(arg1->unk1C0 + 1);
return temp_v0;
}
*/
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005DD5C.s")
#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/func_8005DF2C.s")