This commit is contained in:
Ethan Roseman 2020-11-28 19:08:38 -05:00
parent 92905142aa
commit f1ee257cdf
11 changed files with 197 additions and 549 deletions

View File

@ -1,89 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel HPBarToCurrent
/* 19C088 8026D7A8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 19C08C 8026D7AC AFB00010 */ sw $s0, 0x10($sp)
/* 19C090 8026D7B0 0080802D */ daddu $s0, $a0, $zero
/* 19C094 8026D7B4 AFBF0014 */ sw $ra, 0x14($sp)
/* 19C098 8026D7B8 8E02000C */ lw $v0, 0xc($s0)
/* 19C09C 8026D7BC 0C0B1EAF */ jal get_variable
/* 19C0A0 8026D7C0 8C450000 */ lw $a1, ($v0)
/* 19C0A4 8026D7C4 0040202D */ daddu $a0, $v0, $zero
/* 19C0A8 8026D7C8 2402FF81 */ addiu $v0, $zero, -0x7f
/* 19C0AC 8026D7CC 14820002 */ bne $a0, $v0, .L8026D7D8
/* 19C0B0 8026D7D0 00000000 */ nop
/* 19C0B4 8026D7D4 8E040148 */ lw $a0, 0x148($s0)
.L8026D7D8:
/* 19C0B8 8026D7D8 0C09A75B */ jal get_actor
/* 19C0BC 8026D7DC 00000000 */ nop
/* 19C0C0 8026D7E0 0040282D */ daddu $a1, $v0, $zero
/* 19C0C4 8026D7E4 8CA20008 */ lw $v0, 8($a1)
/* 19C0C8 8026D7E8 80420022 */ lb $v0, 0x22($v0)
/* 19C0CC 8026D7EC C4A00144 */ lwc1 $f0, 0x144($a1)
/* 19C0D0 8026D7F0 44821000 */ mtc1 $v0, $f2
/* 19C0D4 8026D7F4 00000000 */ nop
/* 19C0D8 8026D7F8 468010A0 */ cvt.s.w $f2, $f2
/* 19C0DC 8026D7FC 46020000 */ add.s $f0, $f0, $f2
/* 19C0E0 8026D800 8CA30008 */ lw $v1, 8($a1)
/* 19C0E4 8026D804 C4A2014C */ lwc1 $f2, 0x14c($a1)
/* 19C0E8 8026D808 4600018D */ trunc.w.s $f6, $f0
/* 19C0EC 8026D80C 44023000 */ mfc1 $v0, $f6
/* 19C0F0 8026D810 00000000 */ nop
/* 19C0F4 8026D814 A4A20156 */ sh $v0, 0x156($a1)
/* 19C0F8 8026D818 80620023 */ lb $v0, 0x23($v1)
/* 19C0FC 8026D81C C4A00148 */ lwc1 $f0, 0x148($a1)
/* 19C100 8026D820 44822000 */ mtc1 $v0, $f4
/* 19C104 8026D824 00000000 */ nop
/* 19C108 8026D828 46802120 */ cvt.s.w $f4, $f4
/* 19C10C 8026D82C 4600118D */ trunc.w.s $f6, $f2
/* 19C110 8026D830 44023000 */ mfc1 $v0, $f6
/* 19C114 8026D834 46040000 */ add.s $f0, $f0, $f4
/* 19C118 8026D838 A4A2015A */ sh $v0, 0x15a($a1)
/* 19C11C 8026D83C 8CA20000 */ lw $v0, ($a1)
/* 19C120 8026D840 30420800 */ andi $v0, $v0, 0x800
/* 19C124 8026D844 4600018D */ trunc.w.s $f6, $f0
/* 19C128 8026D848 44033000 */ mfc1 $v1, $f6
/* 19C12C 8026D84C 10400011 */ beqz $v0, .L8026D894
/* 19C130 8026D850 A4A30158 */ sh $v1, 0x158($a1)
/* 19C134 8026D854 90A20191 */ lbu $v0, 0x191($a1)
/* 19C138 8026D858 C4A00148 */ lwc1 $f0, 0x148($a1)
/* 19C13C 8026D85C 44821000 */ mtc1 $v0, $f2
/* 19C140 8026D860 00000000 */ nop
/* 19C144 8026D864 468010A0 */ cvt.s.w $f2, $f2
/* 19C148 8026D868 8CA20008 */ lw $v0, 8($a1)
/* 19C14C 8026D86C 46020001 */ sub.s $f0, $f0, $f2
/* 19C150 8026D870 80420023 */ lb $v0, 0x23($v0)
/* 19C154 8026D874 44821000 */ mtc1 $v0, $f2
/* 19C158 8026D878 00000000 */ nop
/* 19C15C 8026D87C 468010A0 */ cvt.s.w $f2, $f2
/* 19C160 8026D880 46020001 */ sub.s $f0, $f0, $f2
/* 19C164 8026D884 4600018D */ trunc.w.s $f6, $f0
/* 19C168 8026D888 44023000 */ mfc1 $v0, $f6
/* 19C16C 8026D88C 00000000 */ nop
/* 19C170 8026D890 A4A20158 */ sh $v0, 0x158($a1)
.L8026D894:
/* 19C174 8026D894 80A201B8 */ lb $v0, 0x1b8($a1)
/* 19C178 8026D898 80A401B9 */ lb $a0, 0x1b9($a1)
/* 19C17C 8026D89C 00021840 */ sll $v1, $v0, 1
/* 19C180 8026D8A0 00621821 */ addu $v1, $v1, $v0
/* 19C184 8026D8A4 000318C0 */ sll $v1, $v1, 3
/* 19C188 8026D8A8 00621821 */ addu $v1, $v1, $v0
/* 19C18C 8026D8AC 14800002 */ bnez $a0, .L8026D8B8
/* 19C190 8026D8B0 0064001A */ div $zero, $v1, $a0
/* 19C194 8026D8B4 0007000D */ break 7
.L8026D8B8:
/* 19C198 8026D8B8 2401FFFF */ addiu $at, $zero, -1
/* 19C19C 8026D8BC 14810004 */ bne $a0, $at, .L8026D8D0
/* 19C1A0 8026D8C0 3C018000 */ lui $at, 0x8000
/* 19C1A4 8026D8C4 14610002 */ bne $v1, $at, .L8026D8D0
/* 19C1A8 8026D8C8 00000000 */ nop
/* 19C1AC 8026D8CC 0006000D */ break 6
.L8026D8D0:
/* 19C1B0 8026D8D0 00001812 */ mflo $v1
/* 19C1B4 8026D8D4 A0A301BC */ sb $v1, 0x1bc($a1)
/* 19C1B8 8026D8D8 8FBF0014 */ lw $ra, 0x14($sp)
/* 19C1BC 8026D8DC 8FB00010 */ lw $s0, 0x10($sp)
/* 19C1C0 8026D8E0 24020002 */ addiu $v0, $zero, 2
/* 19C1C4 8026D8E4 03E00008 */ jr $ra
/* 19C1C8 8026D8E8 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,89 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel HPBarToHome
/* 19BF44 8026D664 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 19BF48 8026D668 AFB00010 */ sw $s0, 0x10($sp)
/* 19BF4C 8026D66C 0080802D */ daddu $s0, $a0, $zero
/* 19BF50 8026D670 AFBF0014 */ sw $ra, 0x14($sp)
/* 19BF54 8026D674 8E02000C */ lw $v0, 0xc($s0)
/* 19BF58 8026D678 0C0B1EAF */ jal get_variable
/* 19BF5C 8026D67C 8C450000 */ lw $a1, ($v0)
/* 19BF60 8026D680 0040202D */ daddu $a0, $v0, $zero
/* 19BF64 8026D684 2402FF81 */ addiu $v0, $zero, -0x7f
/* 19BF68 8026D688 14820002 */ bne $a0, $v0, .L8026D694
/* 19BF6C 8026D68C 00000000 */ nop
/* 19BF70 8026D690 8E040148 */ lw $a0, 0x148($s0)
.L8026D694:
/* 19BF74 8026D694 0C09A75B */ jal get_actor
/* 19BF78 8026D698 00000000 */ nop
/* 19BF7C 8026D69C 0040282D */ daddu $a1, $v0, $zero
/* 19BF80 8026D6A0 8CA20008 */ lw $v0, 8($a1)
/* 19BF84 8026D6A4 80420022 */ lb $v0, 0x22($v0)
/* 19BF88 8026D6A8 C4A00138 */ lwc1 $f0, 0x138($a1)
/* 19BF8C 8026D6AC 44821000 */ mtc1 $v0, $f2
/* 19BF90 8026D6B0 00000000 */ nop
/* 19BF94 8026D6B4 468010A0 */ cvt.s.w $f2, $f2
/* 19BF98 8026D6B8 46020000 */ add.s $f0, $f0, $f2
/* 19BF9C 8026D6BC 8CA30008 */ lw $v1, 8($a1)
/* 19BFA0 8026D6C0 C4A20140 */ lwc1 $f2, 0x140($a1)
/* 19BFA4 8026D6C4 4600018D */ trunc.w.s $f6, $f0
/* 19BFA8 8026D6C8 44023000 */ mfc1 $v0, $f6
/* 19BFAC 8026D6CC 00000000 */ nop
/* 19BFB0 8026D6D0 A4A20156 */ sh $v0, 0x156($a1)
/* 19BFB4 8026D6D4 80620023 */ lb $v0, 0x23($v1)
/* 19BFB8 8026D6D8 C4A0013C */ lwc1 $f0, 0x13c($a1)
/* 19BFBC 8026D6DC 44822000 */ mtc1 $v0, $f4
/* 19BFC0 8026D6E0 00000000 */ nop
/* 19BFC4 8026D6E4 46802120 */ cvt.s.w $f4, $f4
/* 19BFC8 8026D6E8 4600118D */ trunc.w.s $f6, $f2
/* 19BFCC 8026D6EC 44023000 */ mfc1 $v0, $f6
/* 19BFD0 8026D6F0 46040000 */ add.s $f0, $f0, $f4
/* 19BFD4 8026D6F4 A4A2015A */ sh $v0, 0x15a($a1)
/* 19BFD8 8026D6F8 8CA20000 */ lw $v0, ($a1)
/* 19BFDC 8026D6FC 30420800 */ andi $v0, $v0, 0x800
/* 19BFE0 8026D700 4600018D */ trunc.w.s $f6, $f0
/* 19BFE4 8026D704 44033000 */ mfc1 $v1, $f6
/* 19BFE8 8026D708 10400011 */ beqz $v0, .L8026D750
/* 19BFEC 8026D70C A4A30158 */ sh $v1, 0x158($a1)
/* 19BFF0 8026D710 90A20191 */ lbu $v0, 0x191($a1)
/* 19BFF4 8026D714 C4A0013C */ lwc1 $f0, 0x13c($a1)
/* 19BFF8 8026D718 44821000 */ mtc1 $v0, $f2
/* 19BFFC 8026D71C 00000000 */ nop
/* 19C000 8026D720 468010A0 */ cvt.s.w $f2, $f2
/* 19C004 8026D724 8CA20008 */ lw $v0, 8($a1)
/* 19C008 8026D728 46020001 */ sub.s $f0, $f0, $f2
/* 19C00C 8026D72C 80420023 */ lb $v0, 0x23($v0)
/* 19C010 8026D730 44821000 */ mtc1 $v0, $f2
/* 19C014 8026D734 00000000 */ nop
/* 19C018 8026D738 468010A0 */ cvt.s.w $f2, $f2
/* 19C01C 8026D73C 46020001 */ sub.s $f0, $f0, $f2
/* 19C020 8026D740 4600018D */ trunc.w.s $f6, $f0
/* 19C024 8026D744 44023000 */ mfc1 $v0, $f6
/* 19C028 8026D748 00000000 */ nop
/* 19C02C 8026D74C A4A20158 */ sh $v0, 0x158($a1)
.L8026D750:
/* 19C030 8026D750 80A201B8 */ lb $v0, 0x1b8($a1)
/* 19C034 8026D754 80A401B9 */ lb $a0, 0x1b9($a1)
/* 19C038 8026D758 00021840 */ sll $v1, $v0, 1
/* 19C03C 8026D75C 00621821 */ addu $v1, $v1, $v0
/* 19C040 8026D760 000318C0 */ sll $v1, $v1, 3
/* 19C044 8026D764 00621821 */ addu $v1, $v1, $v0
/* 19C048 8026D768 14800002 */ bnez $a0, .L8026D774
/* 19C04C 8026D76C 0064001A */ div $zero, $v1, $a0
/* 19C050 8026D770 0007000D */ break 7
.L8026D774:
/* 19C054 8026D774 2401FFFF */ addiu $at, $zero, -1
/* 19C058 8026D778 14810004 */ bne $a0, $at, .L8026D78C
/* 19C05C 8026D77C 3C018000 */ lui $at, 0x8000
/* 19C060 8026D780 14610002 */ bne $v1, $at, .L8026D78C
/* 19C064 8026D784 00000000 */ nop
/* 19C068 8026D788 0006000D */ break 6
.L8026D78C:
/* 19C06C 8026D78C 00001812 */ mflo $v1
/* 19C070 8026D790 A0A301BC */ sb $v1, 0x1bc($a1)
/* 19C074 8026D794 8FBF0014 */ lw $ra, 0x14($sp)
/* 19C078 8026D798 8FB00010 */ lw $s0, 0x10($sp)
/* 19C07C 8026D79C 24020002 */ addiu $v0, $zero, 2
/* 19C080 8026D7A0 03E00008 */ jr $ra
/* 19C084 8026D7A4 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,39 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8026D51C
/* 19BDFC 8026D51C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 19BE00 8026D520 AFB20018 */ sw $s2, 0x18($sp)
/* 19BE04 8026D524 0080902D */ daddu $s2, $a0, $zero
/* 19BE08 8026D528 AFBF001C */ sw $ra, 0x1c($sp)
/* 19BE0C 8026D52C AFB10014 */ sw $s1, 0x14($sp)
/* 19BE10 8026D530 AFB00010 */ sw $s0, 0x10($sp)
/* 19BE14 8026D534 8E51000C */ lw $s1, 0xc($s2)
/* 19BE18 8026D538 8E250000 */ lw $a1, ($s1)
/* 19BE1C 8026D53C 0C0B1EAF */ jal get_variable
/* 19BE20 8026D540 26310004 */ addiu $s1, $s1, 4
/* 19BE24 8026D544 0040802D */ daddu $s0, $v0, $zero
/* 19BE28 8026D548 2402FF81 */ addiu $v0, $zero, -0x7f
/* 19BE2C 8026D54C 16020002 */ bne $s0, $v0, .L8026D558
/* 19BE30 8026D550 00000000 */ nop
/* 19BE34 8026D554 8E500148 */ lw $s0, 0x148($s2)
.L8026D558:
/* 19BE38 8026D558 8E250000 */ lw $a1, ($s1)
/* 19BE3C 8026D55C 26310004 */ addiu $s1, $s1, 4
/* 19BE40 8026D560 0C0B1EAF */ jal get_variable
/* 19BE44 8026D564 0240202D */ daddu $a0, $s2, $zero
/* 19BE48 8026D568 0200202D */ daddu $a0, $s0, $zero
/* 19BE4C 8026D56C 8E310000 */ lw $s1, ($s1)
/* 19BE50 8026D570 0C09A75B */ jal get_actor
/* 19BE54 8026D574 0040802D */ daddu $s0, $v0, $zero
/* 19BE58 8026D578 0040202D */ daddu $a0, $v0, $zero
/* 19BE5C 8026D57C 0C099117 */ jal get_actor_part
/* 19BE60 8026D580 0200282D */ daddu $a1, $s0, $zero
/* 19BE64 8026D584 AC510080 */ sw $s1, 0x80($v0)
/* 19BE68 8026D588 8FBF001C */ lw $ra, 0x1c($sp)
/* 19BE6C 8026D58C 8FB20018 */ lw $s2, 0x18($sp)
/* 19BE70 8026D590 8FB10014 */ lw $s1, 0x14($sp)
/* 19BE74 8026D594 8FB00010 */ lw $s0, 0x10($sp)
/* 19BE78 8026D598 24020002 */ addiu $v0, $zero, 2
/* 19BE7C 8026D59C 03E00008 */ jr $ra
/* 19BE80 8026D5A0 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,55 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8026D5A4
/* 19BE84 8026D5A4 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 19BE88 8026D5A8 AFB10014 */ sw $s1, 0x14($sp)
/* 19BE8C 8026D5AC 0080882D */ daddu $s1, $a0, $zero
/* 19BE90 8026D5B0 AFBF0020 */ sw $ra, 0x20($sp)
/* 19BE94 8026D5B4 AFB3001C */ sw $s3, 0x1c($sp)
/* 19BE98 8026D5B8 AFB20018 */ sw $s2, 0x18($sp)
/* 19BE9C 8026D5BC AFB00010 */ sw $s0, 0x10($sp)
/* 19BEA0 8026D5C0 8E30000C */ lw $s0, 0xc($s1)
/* 19BEA4 8026D5C4 8E050000 */ lw $a1, ($s0)
/* 19BEA8 8026D5C8 0C0B1EAF */ jal get_variable
/* 19BEAC 8026D5CC 26100004 */ addiu $s0, $s0, 4
/* 19BEB0 8026D5D0 0040902D */ daddu $s2, $v0, $zero
/* 19BEB4 8026D5D4 2402FF81 */ addiu $v0, $zero, -0x7f
/* 19BEB8 8026D5D8 16420002 */ bne $s2, $v0, .L8026D5E4
/* 19BEBC 8026D5DC 00000000 */ nop
/* 19BEC0 8026D5E0 8E320148 */ lw $s2, 0x148($s1)
.L8026D5E4:
/* 19BEC4 8026D5E4 8E050000 */ lw $a1, ($s0)
/* 19BEC8 8026D5E8 26100004 */ addiu $s0, $s0, 4
/* 19BECC 8026D5EC 0C0B1EAF */ jal get_variable
/* 19BED0 8026D5F0 0220202D */ daddu $a0, $s1, $zero
/* 19BED4 8026D5F4 0220202D */ daddu $a0, $s1, $zero
/* 19BED8 8026D5F8 8E050004 */ lw $a1, 4($s0)
/* 19BEDC 8026D5FC 8E130000 */ lw $s3, ($s0)
/* 19BEE0 8026D600 0C0B1EAF */ jal get_variable
/* 19BEE4 8026D604 0040882D */ daddu $s1, $v0, $zero
/* 19BEE8 8026D608 0240202D */ daddu $a0, $s2, $zero
/* 19BEEC 8026D60C 0C09A75B */ jal get_actor
/* 19BEF0 8026D610 0040802D */ daddu $s0, $v0, $zero
/* 19BEF4 8026D614 0040202D */ daddu $a0, $v0, $zero
/* 19BEF8 8026D618 0C099117 */ jal get_actor_part
/* 19BEFC 8026D61C 0220282D */ daddu $a1, $s1, $zero
/* 19BF00 8026D620 12000004 */ beqz $s0, .L8026D634
/* 19BF04 8026D624 0040202D */ daddu $a0, $v0, $zero
/* 19BF08 8026D628 8C820080 */ lw $v0, 0x80($a0)
/* 19BF0C 8026D62C 0809B590 */ j .L8026D640
/* 19BF10 8026D630 00531025 */ or $v0, $v0, $s3
.L8026D634:
/* 19BF14 8026D634 8C820080 */ lw $v0, 0x80($a0)
/* 19BF18 8026D638 00131827 */ nor $v1, $zero, $s3
/* 19BF1C 8026D63C 00431024 */ and $v0, $v0, $v1
.L8026D640:
/* 19BF20 8026D640 AC820080 */ sw $v0, 0x80($a0)
/* 19BF24 8026D644 8FBF0020 */ lw $ra, 0x20($sp)
/* 19BF28 8026D648 8FB3001C */ lw $s3, 0x1c($sp)
/* 19BF2C 8026D64C 8FB20018 */ lw $s2, 0x18($sp)
/* 19BF30 8026D650 8FB10014 */ lw $s1, 0x14($sp)
/* 19BF34 8026D654 8FB00010 */ lw $s0, 0x10($sp)
/* 19BF38 8026D658 24020002 */ addiu $v0, $zero, 2
/* 19BF3C 8026D65C 03E00008 */ jr $ra
/* 19BF40 8026D660 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,26 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8026D8EC
/* 19C1CC 8026D8EC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 19C1D0 8026D8F0 AFB00010 */ sw $s0, 0x10($sp)
/* 19C1D4 8026D8F4 0080802D */ daddu $s0, $a0, $zero
/* 19C1D8 8026D8F8 AFBF0014 */ sw $ra, 0x14($sp)
/* 19C1DC 8026D8FC 8E02000C */ lw $v0, 0xc($s0)
/* 19C1E0 8026D900 0C0B1EAF */ jal get_variable
/* 19C1E4 8026D904 8C450000 */ lw $a1, ($v0)
/* 19C1E8 8026D908 0040202D */ daddu $a0, $v0, $zero
/* 19C1EC 8026D90C 2402FF81 */ addiu $v0, $zero, -0x7f
/* 19C1F0 8026D910 14820002 */ bne $a0, $v0, .L8026D91C
/* 19C1F4 8026D914 00000000 */ nop
/* 19C1F8 8026D918 8E040148 */ lw $a0, 0x148($s0)
.L8026D91C:
/* 19C1FC 8026D91C 0C09A75B */ jal get_actor
/* 19C200 8026D920 00000000 */ nop
/* 19C204 8026D924 0C099ABE */ jal func_80266AF8
/* 19C208 8026D928 0040202D */ daddu $a0, $v0, $zero
/* 19C20C 8026D92C 8FBF0014 */ lw $ra, 0x14($sp)
/* 19C210 8026D930 8FB00010 */ lw $s0, 0x10($sp)
/* 19C214 8026D934 24020002 */ addiu $v0, $zero, 2
/* 19C218 8026D938 03E00008 */ jr $ra
/* 19C21C 8026D93C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,91 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8026D940
/* 19C220 8026D940 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 19C224 8026D944 AFB10014 */ sw $s1, 0x14($sp)
/* 19C228 8026D948 0080882D */ daddu $s1, $a0, $zero
/* 19C22C 8026D94C AFBF001C */ sw $ra, 0x1c($sp)
/* 19C230 8026D950 AFB20018 */ sw $s2, 0x18($sp)
/* 19C234 8026D954 AFB00010 */ sw $s0, 0x10($sp)
/* 19C238 8026D958 8E30000C */ lw $s0, 0xc($s1)
/* 19C23C 8026D95C 8E050000 */ lw $a1, ($s0)
/* 19C240 8026D960 0C0B1EAF */ jal get_variable
/* 19C244 8026D964 26100004 */ addiu $s0, $s0, 4
/* 19C248 8026D968 0040902D */ daddu $s2, $v0, $zero
/* 19C24C 8026D96C 2402FF81 */ addiu $v0, $zero, -0x7f
/* 19C250 8026D970 16420002 */ bne $s2, $v0, .L8026D97C
/* 19C254 8026D974 00000000 */ nop
/* 19C258 8026D978 8E320148 */ lw $s2, 0x148($s1)
.L8026D97C:
/* 19C25C 8026D97C 8E050000 */ lw $a1, ($s0)
/* 19C260 8026D980 26100004 */ addiu $s0, $s0, 4
/* 19C264 8026D984 0C0B1EAF */ jal get_variable
/* 19C268 8026D988 0220202D */ daddu $a0, $s1, $zero
/* 19C26C 8026D98C 0220202D */ daddu $a0, $s1, $zero
/* 19C270 8026D990 8E050000 */ lw $a1, ($s0)
/* 19C274 8026D994 0C0B1EAF */ jal get_variable
/* 19C278 8026D998 0040882D */ daddu $s1, $v0, $zero
/* 19C27C 8026D99C 0240202D */ daddu $a0, $s2, $zero
/* 19C280 8026D9A0 0C09A75B */ jal get_actor
/* 19C284 8026D9A4 0040802D */ daddu $s0, $v0, $zero
/* 19C288 8026D9A8 0040202D */ daddu $a0, $v0, $zero
/* 19C28C 8026D9AC 8C820008 */ lw $v0, 8($a0)
/* 19C290 8026D9B0 A0910198 */ sb $s1, 0x198($a0)
/* 19C294 8026D9B4 A0900199 */ sb $s0, 0x199($a0)
/* 19C298 8026D9B8 80420022 */ lb $v0, 0x22($v0)
/* 19C29C 8026D9BC C4820138 */ lwc1 $f2, 0x138($a0)
/* 19C2A0 8026D9C0 44820000 */ mtc1 $v0, $f0
/* 19C2A4 8026D9C4 00000000 */ nop
/* 19C2A8 8026D9C8 46800020 */ cvt.s.w $f0, $f0
/* 19C2AC 8026D9CC 46001080 */ add.s $f2, $f2, $f0
/* 19C2B0 8026D9D0 80820198 */ lb $v0, 0x198($a0)
/* 19C2B4 8026D9D4 44820000 */ mtc1 $v0, $f0
/* 19C2B8 8026D9D8 00000000 */ nop
/* 19C2BC 8026D9DC 46800020 */ cvt.s.w $f0, $f0
/* 19C2C0 8026D9E0 46001080 */ add.s $f2, $f2, $f0
/* 19C2C4 8026D9E4 8C830008 */ lw $v1, 8($a0)
/* 19C2C8 8026D9E8 4600118D */ trunc.w.s $f6, $f2
/* 19C2CC 8026D9EC 44023000 */ mfc1 $v0, $f6
/* 19C2D0 8026D9F0 00000000 */ nop
/* 19C2D4 8026D9F4 A4820156 */ sh $v0, 0x156($a0)
/* 19C2D8 8026D9F8 80620023 */ lb $v0, 0x23($v1)
/* 19C2DC 8026D9FC C482013C */ lwc1 $f2, 0x13c($a0)
/* 19C2E0 8026DA00 44820000 */ mtc1 $v0, $f0
/* 19C2E4 8026DA04 00000000 */ nop
/* 19C2E8 8026DA08 46800020 */ cvt.s.w $f0, $f0
/* 19C2EC 8026DA0C 46001080 */ add.s $f2, $f2, $f0
/* 19C2F0 8026DA10 80820199 */ lb $v0, 0x199($a0)
/* 19C2F4 8026DA14 C4800140 */ lwc1 $f0, 0x140($a0)
/* 19C2F8 8026DA18 44822000 */ mtc1 $v0, $f4
/* 19C2FC 8026DA1C 00000000 */ nop
/* 19C300 8026DA20 46802120 */ cvt.s.w $f4, $f4
/* 19C304 8026DA24 4600018D */ trunc.w.s $f6, $f0
/* 19C308 8026DA28 44023000 */ mfc1 $v0, $f6
/* 19C30C 8026DA2C 00000000 */ nop
/* 19C310 8026DA30 A482015A */ sh $v0, 0x15a($a0)
/* 19C314 8026DA34 8C820000 */ lw $v0, ($a0)
/* 19C318 8026DA38 46041080 */ add.s $f2, $f2, $f4
/* 19C31C 8026DA3C 30420800 */ andi $v0, $v0, 0x800
/* 19C320 8026DA40 4600118D */ trunc.w.s $f6, $f2
/* 19C324 8026DA44 44033000 */ mfc1 $v1, $f6
/* 19C328 8026DA48 1040000B */ beqz $v0, .L8026DA78
/* 19C32C 8026DA4C A4830158 */ sh $v1, 0x158($a0)
/* 19C330 8026DA50 90820191 */ lbu $v0, 0x191($a0)
/* 19C334 8026DA54 C480013C */ lwc1 $f0, 0x13c($a0)
/* 19C338 8026DA58 44821000 */ mtc1 $v0, $f2
/* 19C33C 8026DA5C 00000000 */ nop
/* 19C340 8026DA60 468010A0 */ cvt.s.w $f2, $f2
/* 19C344 8026DA64 46020001 */ sub.s $f0, $f0, $f2
/* 19C348 8026DA68 4600018D */ trunc.w.s $f6, $f0
/* 19C34C 8026DA6C 44023000 */ mfc1 $v0, $f6
/* 19C350 8026DA70 00000000 */ nop
/* 19C354 8026DA74 A4820158 */ sh $v0, 0x158($a0)
.L8026DA78:
/* 19C358 8026DA78 8FBF001C */ lw $ra, 0x1c($sp)
/* 19C35C 8026DA7C 8FB20018 */ lw $s2, 0x18($sp)
/* 19C360 8026DA80 8FB10014 */ lw $s1, 0x14($sp)
/* 19C364 8026DA84 8FB00010 */ lw $s0, 0x10($sp)
/* 19C368 8026DA88 24020002 */ addiu $v0, $zero, 2
/* 19C36C 8026DA8C 03E00008 */ jr $ra
/* 19C370 8026DA90 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,57 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8026DA94
/* 19C374 8026DA94 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 19C378 8026DA98 AFB10014 */ sw $s1, 0x14($sp)
/* 19C37C 8026DA9C 0080882D */ daddu $s1, $a0, $zero
/* 19C380 8026DAA0 AFBF0024 */ sw $ra, 0x24($sp)
/* 19C384 8026DAA4 AFB40020 */ sw $s4, 0x20($sp)
/* 19C388 8026DAA8 AFB3001C */ sw $s3, 0x1c($sp)
/* 19C38C 8026DAAC AFB20018 */ sw $s2, 0x18($sp)
/* 19C390 8026DAB0 AFB00010 */ sw $s0, 0x10($sp)
/* 19C394 8026DAB4 8E30000C */ lw $s0, 0xc($s1)
/* 19C398 8026DAB8 8E050000 */ lw $a1, ($s0)
/* 19C39C 8026DABC 0C0B1EAF */ jal get_variable
/* 19C3A0 8026DAC0 26100004 */ addiu $s0, $s0, 4
/* 19C3A4 8026DAC4 0040A02D */ daddu $s4, $v0, $zero
/* 19C3A8 8026DAC8 2402FF81 */ addiu $v0, $zero, -0x7f
/* 19C3AC 8026DACC 16820002 */ bne $s4, $v0, .L8026DAD8
/* 19C3B0 8026DAD0 00000000 */ nop
/* 19C3B4 8026DAD4 8E340148 */ lw $s4, 0x148($s1)
.L8026DAD8:
/* 19C3B8 8026DAD8 8E050000 */ lw $a1, ($s0)
/* 19C3BC 8026DADC 26100004 */ addiu $s0, $s0, 4
/* 19C3C0 8026DAE0 0C0B1EAF */ jal get_variable
/* 19C3C4 8026DAE4 0220202D */ daddu $a0, $s1, $zero
/* 19C3C8 8026DAE8 8E050000 */ lw $a1, ($s0)
/* 19C3CC 8026DAEC 26100004 */ addiu $s0, $s0, 4
/* 19C3D0 8026DAF0 0220202D */ daddu $a0, $s1, $zero
/* 19C3D4 8026DAF4 0C0B1EAF */ jal get_variable
/* 19C3D8 8026DAF8 0040982D */ daddu $s3, $v0, $zero
/* 19C3DC 8026DAFC 8E050000 */ lw $a1, ($s0)
/* 19C3E0 8026DB00 26100004 */ addiu $s0, $s0, 4
/* 19C3E4 8026DB04 0220202D */ daddu $a0, $s1, $zero
/* 19C3E8 8026DB08 0C0B1EAF */ jal get_variable
/* 19C3EC 8026DB0C 0040902D */ daddu $s2, $v0, $zero
/* 19C3F0 8026DB10 0220202D */ daddu $a0, $s1, $zero
/* 19C3F4 8026DB14 8E050000 */ lw $a1, ($s0)
/* 19C3F8 8026DB18 0C0B1EAF */ jal get_variable
/* 19C3FC 8026DB1C 0040882D */ daddu $s1, $v0, $zero
/* 19C400 8026DB20 0280202D */ daddu $a0, $s4, $zero
/* 19C404 8026DB24 0C09A75B */ jal get_actor
/* 19C408 8026DB28 0040802D */ daddu $s0, $v0, $zero
/* 19C40C 8026DB2C 0040182D */ daddu $v1, $v0, $zero
/* 19C410 8026DB30 A0730194 */ sb $s3, 0x194($v1)
/* 19C414 8026DB34 A0720195 */ sb $s2, 0x195($v1)
/* 19C418 8026DB38 A0710196 */ sb $s1, 0x196($v1)
/* 19C41C 8026DB3C A0700197 */ sb $s0, 0x197($v1)
/* 19C420 8026DB40 8FBF0024 */ lw $ra, 0x24($sp)
/* 19C424 8026DB44 8FB40020 */ lw $s4, 0x20($sp)
/* 19C428 8026DB48 8FB3001C */ lw $s3, 0x1c($sp)
/* 19C42C 8026DB4C 8FB20018 */ lw $s2, 0x18($sp)
/* 19C430 8026DB50 8FB10014 */ lw $s1, 0x14($sp)
/* 19C434 8026DB54 8FB00010 */ lw $s0, 0x10($sp)
/* 19C438 8026DB58 24020002 */ addiu $v0, $zero, 2
/* 19C43C 8026DB5C 03E00008 */ jr $ra
/* 19C440 8026DB60 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,43 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8026DEF0
/* 19C7D0 8026DEF0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 19C7D4 8026DEF4 AFB20018 */ sw $s2, 0x18($sp)
/* 19C7D8 8026DEF8 0080902D */ daddu $s2, $a0, $zero
/* 19C7DC 8026DEFC AFBF0020 */ sw $ra, 0x20($sp)
/* 19C7E0 8026DF00 AFB3001C */ sw $s3, 0x1c($sp)
/* 19C7E4 8026DF04 AFB10014 */ sw $s1, 0x14($sp)
/* 19C7E8 8026DF08 AFB00010 */ sw $s0, 0x10($sp)
/* 19C7EC 8026DF0C 8E50000C */ lw $s0, 0xc($s2)
/* 19C7F0 8026DF10 8E050000 */ lw $a1, ($s0)
/* 19C7F4 8026DF14 0C0B1EAF */ jal get_variable
/* 19C7F8 8026DF18 26100004 */ addiu $s0, $s0, 4
/* 19C7FC 8026DF1C 0040882D */ daddu $s1, $v0, $zero
/* 19C800 8026DF20 8E050000 */ lw $a1, ($s0)
/* 19C804 8026DF24 26100004 */ addiu $s0, $s0, 4
/* 19C808 8026DF28 0C0B1EAF */ jal get_variable
/* 19C80C 8026DF2C 0240202D */ daddu $a0, $s2, $zero
/* 19C810 8026DF30 0040982D */ daddu $s3, $v0, $zero
/* 19C814 8026DF34 2402FF81 */ addiu $v0, $zero, -0x7f
/* 19C818 8026DF38 16220002 */ bne $s1, $v0, .L8026DF44
/* 19C81C 8026DF3C 8E100000 */ lw $s0, ($s0)
/* 19C820 8026DF40 8E510148 */ lw $s1, 0x148($s2)
.L8026DF44:
/* 19C824 8026DF44 0C09A75B */ jal get_actor
/* 19C828 8026DF48 0220202D */ daddu $a0, $s1, $zero
/* 19C82C 8026DF4C 0040202D */ daddu $a0, $v0, $zero
/* 19C830 8026DF50 0C099117 */ jal get_actor_part
/* 19C834 8026DF54 0260282D */ daddu $a1, $s3, $zero
/* 19C838 8026DF58 0240202D */ daddu $a0, $s2, $zero
/* 19C83C 8026DF5C 8C460084 */ lw $a2, 0x84($v0)
/* 19C840 8026DF60 0C0B2026 */ jal set_variable
/* 19C844 8026DF64 0200282D */ daddu $a1, $s0, $zero
/* 19C848 8026DF68 8FBF0020 */ lw $ra, 0x20($sp)
/* 19C84C 8026DF6C 8FB3001C */ lw $s3, 0x1c($sp)
/* 19C850 8026DF70 8FB20018 */ lw $s2, 0x18($sp)
/* 19C854 8026DF74 8FB10014 */ lw $s1, 0x14($sp)
/* 19C858 8026DF78 8FB00010 */ lw $s0, 0x10($sp)
/* 19C85C 8026DF7C 24020002 */ addiu $v0, $zero, 2
/* 19C860 8026DF80 03E00008 */ jr $ra
/* 19C864 8026DF84 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,43 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8026DF88
/* 19C868 8026DF88 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 19C86C 8026DF8C AFB20018 */ sw $s2, 0x18($sp)
/* 19C870 8026DF90 0080902D */ daddu $s2, $a0, $zero
/* 19C874 8026DF94 AFBF0020 */ sw $ra, 0x20($sp)
/* 19C878 8026DF98 AFB3001C */ sw $s3, 0x1c($sp)
/* 19C87C 8026DF9C AFB10014 */ sw $s1, 0x14($sp)
/* 19C880 8026DFA0 AFB00010 */ sw $s0, 0x10($sp)
/* 19C884 8026DFA4 8E50000C */ lw $s0, 0xc($s2)
/* 19C888 8026DFA8 8E050000 */ lw $a1, ($s0)
/* 19C88C 8026DFAC 0C0B1EAF */ jal get_variable
/* 19C890 8026DFB0 26100004 */ addiu $s0, $s0, 4
/* 19C894 8026DFB4 0040882D */ daddu $s1, $v0, $zero
/* 19C898 8026DFB8 8E050000 */ lw $a1, ($s0)
/* 19C89C 8026DFBC 26100004 */ addiu $s0, $s0, 4
/* 19C8A0 8026DFC0 0C0B1EAF */ jal get_variable
/* 19C8A4 8026DFC4 0240202D */ daddu $a0, $s2, $zero
/* 19C8A8 8026DFC8 0040982D */ daddu $s3, $v0, $zero
/* 19C8AC 8026DFCC 2402FF81 */ addiu $v0, $zero, -0x7f
/* 19C8B0 8026DFD0 16220002 */ bne $s1, $v0, .L8026DFDC
/* 19C8B4 8026DFD4 8E100000 */ lw $s0, ($s0)
/* 19C8B8 8026DFD8 8E510148 */ lw $s1, 0x148($s2)
.L8026DFDC:
/* 19C8BC 8026DFDC 0C09A75B */ jal get_actor
/* 19C8C0 8026DFE0 0220202D */ daddu $a0, $s1, $zero
/* 19C8C4 8026DFE4 0040202D */ daddu $a0, $v0, $zero
/* 19C8C8 8026DFE8 0C099117 */ jal get_actor_part
/* 19C8CC 8026DFEC 0260282D */ daddu $a1, $s3, $zero
/* 19C8D0 8026DFF0 0240202D */ daddu $a0, $s2, $zero
/* 19C8D4 8026DFF4 8C46008C */ lw $a2, 0x8c($v0)
/* 19C8D8 8026DFF8 0C0B2026 */ jal set_variable
/* 19C8DC 8026DFFC 0200282D */ daddu $a1, $s0, $zero
/* 19C8E0 8026E000 8FBF0020 */ lw $ra, 0x20($sp)
/* 19C8E4 8026E004 8FB3001C */ lw $s3, 0x1c($sp)
/* 19C8E8 8026E008 8FB20018 */ lw $s2, 0x18($sp)
/* 19C8EC 8026E00C 8FB10014 */ lw $s1, 0x14($sp)
/* 19C8F0 8026E010 8FB00010 */ lw $s0, 0x10($sp)
/* 19C8F4 8026E014 24020002 */ addiu $v0, $zero, 2
/* 19C8F8 8026E018 03E00008 */ jr $ra
/* 19C8FC 8026E01C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -12,9 +12,14 @@ struct ScriptInstance;
typedef ApiStatus(*ApiFunc)(struct ScriptInstance*, s32);
typedef struct Vec2b {
/* 0x00 */ s8 x;
/* 0x01 */ s8 y;
} Vec2b; // size = 0x02
typedef struct Vec2bu {
/* 0x00 */ u8 x;
/* 0x01 */ u8 y;
} Vec2b; // size = 0x02
} Vec2bu; // size = 0x02
typedef struct Vec3f {
/* 0x00 */ f32 x;
@ -673,7 +678,7 @@ typedef struct StaticActorData {
/* 0x1E */ u8 powerBounceChance;
/* 0x1F */ u8 coinReward;
/* 0x20 */ u8 size[2];
/* 0x22 */ u8 hpBarOffset[2];
/* 0x22 */ Vec2b hpBarOffset;
/* 0x24 */ u8 statusIconOffset[2];
/* 0x26 */ u8 statusMessageOffset[2];
} StaticActorData; // size = 0x28
@ -1059,9 +1064,9 @@ typedef struct ActorPart {
/* 0x78 */ u32* defenseTable;
/* 0x7C */ s32 eventFlags;
/* 0x80 */ s32 partFlags3;
/* 0x84 */ char unk_84[4];
/* 0x84 */ s32 unk_84;
/* 0x88 */ s32 currentAnimation;
/* 0x8C */ char unk_8C[4];
/* 0x8C */ s32 unk_8C;
/* 0x90 */ f32 animationRate;
/* 0x94 */ u32* idleAnimations;
/* 0x98 */ s16 opacity;
@ -1268,7 +1273,7 @@ typedef struct Actor {
/* 0x138 */ Vec3f homePos;
/* 0x144 */ Vec3f currentPos;
/* 0x150 */ Vec3s headOffset;
/* 0x156 */ s16 healthBarPosition[3];
/* 0x156 */ Vec3s healthBarPosition;
/* 0x15C */ Vec3f rotation;
/* 0x168 */ Vec3s rotationPivotOffset;
/* 0x16E */ char unk_16E[2];
@ -1276,12 +1281,17 @@ typedef struct Actor {
/* 0x17C */ Vec3f scaleModifier; /* multiplies normal scale factors componentwise */
/* 0x188 */ f32 scalingFactor;
/* 0x18C */ f32 yaw;
/* 0x190 */ Vec2b size;
/* 0x190 */ Vec2bu size;
/* 0x192 */ s16 actorID;
/* 0x194 */ char unk_194[8];
/* 0x194 */ s8 unk_194;
/* 0x195 */ s8 unk_195;
/* 0x196 */ s8 unk_196;
/* 0x197 */ s8 unk_197;
/* 0x198 */ Vec2b unk_198;
/* 0x19A */ char unk_19A[2];
/* 0x19C */ s32 actorTypeData1[6]; /* 4 = jump sound */
/* 0x1B4 */ s16 actorTypeData1b[2];
/* 0x1B8 */ u8 currentHP;
/* 0x1B8 */ s8 currentHP;
/* 0x1B9 */ s8 maxHP;
/* 0x1BA */ char unk_1BA[2];
/* 0x1BC */ u8 hpFraction; /* used to render HP bar */

View File

@ -1760,19 +1760,163 @@ ApiStatus GetPartEventFlags(ScriptInstance* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "code_197F40", func_8026D51C);
ApiStatus func_8026D51C(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
ActorID actorID = get_variable(script, *args++);
ActorPart* actorPart;
s32 flags;
s32 partIndex;
s32 cond;
INCLUDE_ASM(s32, "code_197F40", func_8026D5A4);
if (actorID == ActorID_SELF) {
actorID = script->owner1.actorID;
}
INCLUDE_ASM(s32, "code_197F40", HPBarToHome);
partIndex = get_variable(script, *args++);
flags = *args++;
INCLUDE_ASM(s32, "code_197F40", HPBarToCurrent);
get_actor_part(get_actor(actorID), partIndex)->partFlags3 = flags;
INCLUDE_ASM(s32, "code_197F40", func_8026D8EC);
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "code_197F40", func_8026D940);
ApiStatus func_8026D5A4(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
ActorID actorID = get_variable(script, *args++);
ActorPart* actorPart;
s32 partIndex;
s32 bits;
s32 cond;
INCLUDE_ASM(s32, "code_197F40", func_8026DA94);
if (actorID == ActorID_SELF) {
actorID = script->owner1.actorID;
}
partIndex = get_variable(script, *args++);
bits = *args++;
cond = get_variable(script, *args++);
actorPart = get_actor_part(get_actor(actorID), partIndex);
if (cond != 0) {
actorPart->partFlags3 |= bits;
} else {
actorPart->partFlags3 &= ~bits;
}
return ApiStatus_DONE2;
}
ApiStatus HPBarToHome(ScriptInstance *script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
ActorID actorID = get_variable(script, *args++);
Actor* actor;
if (actorID == ActorID_SELF) {
actorID = script->owner1.actorID;
}
actor = get_actor(actorID);
actor->healthBarPosition.x = actor->homePos.x + actor->staticActorData->hpBarOffset.x;
actor->healthBarPosition.y = actor->homePos.y + actor->staticActorData->hpBarOffset.y;
actor->healthBarPosition.z = actor->homePos.z;
if (actor->flags & 0x800) {
actor->healthBarPosition.y = actor->homePos.y - actor->size.y - actor->staticActorData->hpBarOffset.y;
}
actor->hpFraction = (actor->currentHP * 25) / actor->maxHP;
return ApiStatus_DONE2;
}
ApiStatus HPBarToCurrent(ScriptInstance *script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
ActorID actorID = get_variable(script, *args++);
Actor* actor;
if (actorID == ActorID_SELF) {
actorID = script->owner1.actorID;
}
actor = get_actor(actorID);
actor->healthBarPosition.x = actor->currentPos.x + actor->staticActorData->hpBarOffset.x;
actor->healthBarPosition.y = actor->currentPos.y + actor->staticActorData->hpBarOffset.y;
actor->healthBarPosition.z = actor->currentPos.z;
if (actor->flags & 0x800) {
actor->healthBarPosition.y = actor->currentPos.y - actor->size.y - actor->staticActorData->hpBarOffset.y;
}
actor->hpFraction = (actor->currentHP * 25) / actor->maxHP;
return ApiStatus_DONE2;
}
ApiStatus func_8026D8EC(ScriptInstance *script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
ActorID actorID = get_variable(script, *args++);
if (actorID == ActorID_SELF) {
actorID = script->owner1.actorID;
}
func_80266AF8(get_actor(actorID));
return ApiStatus_DONE2;
}
ApiStatus func_8026D940(ScriptInstance *script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
ActorID actorID = get_variable(script, *args++);
Actor* actor;
s32 x, y;
if (actorID == ActorID_SELF) {
actorID = script->owner1.actorID;
}
x = get_variable(script, *args++);
y = get_variable(script, *args++);
actor = get_actor(actorID);
actor->unk_198.x = x;
actor->unk_198.y = y;
actor->healthBarPosition.x = actor->homePos.x + actor->staticActorData->hpBarOffset.x + actor->unk_198.x;
actor->healthBarPosition.y = actor->homePos.y + actor->staticActorData->hpBarOffset.y + actor->unk_198.y;
actor->healthBarPosition.z = actor->homePos.z;
if (actor->flags & 0x800) {
actor->healthBarPosition.y = actor->homePos.y - actor->size.y;
}
return ApiStatus_DONE2;
}
ApiStatus func_8026DA94(ScriptInstance *script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
ActorID actorID = get_variable(script, *args++);
Actor* actor;
s32 a, b, c, d;
if (actorID == ActorID_SELF) {
actorID = script->owner1.actorID;
}
a = get_variable(script, *args++);
b = get_variable(script, *args++);
c = get_variable(script, *args++);
d = get_variable(script, *args++);
actor = get_actor(actorID);
actor->unk_194 = a;
actor->unk_195 = b;
actor->unk_196 = c;
actor->unk_197 = d;
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "code_197F40", SummonEnemy);
@ -1805,9 +1949,35 @@ ApiStatus ActorExists(ScriptInstance* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "code_197F40", func_8026DEF0);
ApiStatus func_8026DEF0(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
ActorID actorID = get_variable(script, *args++);
s32 partIndex = get_variable(script, *args++);
s32 a2 = *args++;
INCLUDE_ASM(s32, "code_197F40", func_8026DF88);
if (actorID == ActorID_SELF) {
actorID = script->owner1.actorID;
}
set_variable(script, a2, get_actor_part(get_actor(actorID), partIndex)->unk_84);
return ApiStatus_DONE2;
}
ApiStatus func_8026DF88(ScriptInstance* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
ActorID actorID = get_variable(script, *args++);
s32 partIndex = get_variable(script, *args++);
s32 a2 = *args++;
if (actorID == ActorID_SELF) {
actorID = script->owner1.actorID;
}
set_variable(script, a2, get_actor_part(get_actor(actorID), partIndex)->unk_8C);
return ApiStatus_DONE2;
}
ApiStatus func_8026E020(ScriptInstance* script, s32 isInitialCall) {
s32 a0 = *script->ptrReadPos;