Merge pull request #20 from ethteck/ovl_Demo_Geff

Decompiled ovl_Demo_Geff
This commit is contained in:
fig02
2020-03-21 21:42:02 -04:00
committed by GitHub
44 changed files with 203 additions and 690 deletions
@@ -1,6 +0,0 @@
glabel DemoGeff_Destroy
/* 00000 80977E40 AFA40000 */ sw $a0, 0x0000($sp)
/* 00004 80977E44 03E00008 */ jr $ra
/* 00008 80977E48 AFA50004 */ sw $a1, 0x0004($sp)
@@ -1,43 +0,0 @@
glabel DemoGeff_Draw
/* 006A0 809784E0 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 006A4 809784E4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 006A8 809784E8 AFA5002C */ sw $a1, 0x002C($sp)
/* 006AC 809784EC 8C820150 */ lw $v0, 0x0150($a0) ## 00000150
/* 006B0 809784F0 0440000B */ bltz $v0, .L80978520
/* 006B4 809784F4 28410002 */ slti $at, $v0, 0x0002
/* 006B8 809784F8 10200009 */ beq $at, $zero, .L80978520
/* 006BC 809784FC 00027080 */ sll $t6, $v0, 2
/* 006C0 80978500 3C0F8098 */ lui $t7, %hi(D_809785B0) ## $t7 = 80980000
/* 006C4 80978504 25EF85B0 */ addiu $t7, $t7, %lo(D_809785B0) ## $t7 = 809785B0
/* 006C8 80978508 01CF1821 */ addu $v1, $t6, $t7
/* 006CC 8097850C 8C660000 */ lw $a2, 0x0000($v1) ## 00000000
/* 006D0 80978510 3C188098 */ lui $t8, %hi(D_809785B0) ## $t8 = 80980000
/* 006D4 80978514 271885B0 */ addiu $t8, $t8, %lo(D_809785B0) ## $t8 = 809785B0
/* 006D8 80978518 14C00006 */ bne $a2, $zero, .L80978534
/* 006DC 8097851C 00000000 */ nop
.L80978520:
/* 006E0 80978520 3C048098 */ lui $a0, %hi(D_80978740) ## $a0 = 80980000
/* 006E4 80978524 0C00084C */ jal osSyncPrintf
/* 006E8 80978528 24848740 */ addiu $a0, $a0, %lo(D_80978740) ## $a0 = 80978740
/* 006EC 8097852C 1000000C */ beq $zero, $zero, .L80978560
/* 006F0 80978530 8FBF0014 */ lw $ra, 0x0014($sp)
.L80978534:
/* 006F4 80978534 10780007 */ beq $v1, $t8, .L80978554
/* 006F8 80978538 8FA5002C */ lw $a1, 0x002C($sp)
/* 006FC 8097853C AFA3001C */ sw $v1, 0x001C($sp)
/* 00700 80978540 0C25DFE0 */ jal func_80977F80
/* 00704 80978544 AFA40028 */ sw $a0, 0x0028($sp)
/* 00708 80978548 8FA3001C */ lw $v1, 0x001C($sp)
/* 0070C 8097854C 8FA40028 */ lw $a0, 0x0028($sp)
/* 00710 80978550 8C660000 */ lw $a2, 0x0000($v1) ## 00000000
.L80978554:
/* 00714 80978554 00C0F809 */ jalr $ra, $a2
/* 00718 80978558 8FA5002C */ lw $a1, 0x002C($sp)
/* 0071C 8097855C 8FBF0014 */ lw $ra, 0x0014($sp)
.L80978560:
/* 00720 80978560 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00724 80978564 03E00008 */ jr $ra
/* 00728 80978568 00000000 */ nop
/* 0072C 8097856C 00000000 */ nop
@@ -1,31 +0,0 @@
glabel DemoGeff_Init
/* 0000C 80977E4C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00010 80977E50 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00014 80977E54 AFA40018 */ sw $a0, 0x0018($sp)
/* 00018 80977E58 AFA5001C */ sw $a1, 0x001C($sp)
/* 0001C 80977E5C 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
/* 00020 80977E60 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
/* 00024 80977E64 3C048098 */ lui $a0, %hi(D_809785E0) ## $a0 = 80980000
/* 00028 80977E68 04400002 */ bltz $v0, .L80977E74
/* 0002C 80977E6C 28410009 */ slti $at, $v0, 0x0009
/* 00030 80977E70 14200007 */ bne $at, $zero, .L80977E90
.L80977E74:
/* 00034 80977E74 248485E0 */ addiu $a0, $a0, %lo(D_809785E0) ## $a0 = 809785E0
/* 00038 80977E78 0C00084C */ jal osSyncPrintf
/* 0003C 80977E7C AFA50018 */ sw $a1, 0x0018($sp)
/* 00040 80977E80 0C00B55C */ jal Actor_Kill
/* 00044 80977E84 8FA40018 */ lw $a0, 0x0018($sp)
/* 00048 80977E88 10000004 */ beq $zero, $zero, .L80977E9C
/* 0004C 80977E8C 8FBF0014 */ lw $ra, 0x0014($sp)
.L80977E90:
/* 00050 80977E90 ACA0014C */ sw $zero, 0x014C($a1) ## 0000014C
/* 00054 80977E94 ACA00150 */ sw $zero, 0x0150($a1) ## 00000150
/* 00058 80977E98 8FBF0014 */ lw $ra, 0x0014($sp)
.L80977E9C:
/* 0005C 80977E9C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00060 80977EA0 03E00008 */ jr $ra
/* 00064 80977EA4 00000000 */ nop
@@ -1,30 +0,0 @@
glabel DemoGeff_Update
/* 00638 80978478 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0063C 8097847C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00640 80978480 8C82014C */ lw $v0, 0x014C($a0) ## 0000014C
/* 00644 80978484 04400008 */ bltz $v0, .L809784A8
/* 00648 80978488 28410002 */ slti $at, $v0, 0x0002
/* 0064C 8097848C 10200006 */ beq $at, $zero, .L809784A8
/* 00650 80978490 00027080 */ sll $t6, $v0, 2
/* 00654 80978494 3C038098 */ lui $v1, %hi(D_809785A8) ## $v1 = 80980000
/* 00658 80978498 006E1821 */ addu $v1, $v1, $t6
/* 0065C 8097849C 8C6385A8 */ lw $v1, %lo(D_809785A8)($v1)
/* 00660 809784A0 14600006 */ bne $v1, $zero, .L809784BC
/* 00664 809784A4 00000000 */ nop
.L809784A8:
/* 00668 809784A8 3C048098 */ lui $a0, %hi(D_80978704) ## $a0 = 80980000
/* 0066C 809784AC 0C00084C */ jal osSyncPrintf
/* 00670 809784B0 24848704 */ addiu $a0, $a0, %lo(D_80978704) ## $a0 = 80978704
/* 00674 809784B4 10000004 */ beq $zero, $zero, .L809784C8
/* 00678 809784B8 8FBF0014 */ lw $ra, 0x0014($sp)
.L809784BC:
/* 0067C 809784BC 0060F809 */ jalr $ra, $v1
/* 00680 809784C0 00000000 */ nop
/* 00684 809784C4 8FBF0014 */ lw $ra, 0x0014($sp)
.L809784C8:
/* 00688 809784C8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0068C 809784CC 03E00008 */ jr $ra
/* 00690 809784D0 00000000 */ nop
@@ -1,57 +0,0 @@
glabel func_80977EA8
/* 00068 80977EA8 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 0006C 80977EAC AFBF001C */ sw $ra, 0x001C($sp)
/* 00070 80977EB0 AFB00018 */ sw $s0, 0x0018($sp)
/* 00074 80977EB4 AFA40048 */ sw $a0, 0x0048($sp)
/* 00078 80977EB8 AFA5004C */ sw $a1, 0x004C($sp)
/* 0007C 80977EBC 8C900000 */ lw $s0, 0x0000($a0) ## 00000000
/* 00080 80977EC0 3C068098 */ lui $a2, %hi(D_8097861C) ## $a2 = 80980000
/* 00084 80977EC4 24C6861C */ addiu $a2, $a2, %lo(D_8097861C) ## $a2 = 8097861C
/* 00088 80977EC8 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFE8
/* 0008C 80977ECC 240700B5 */ addiu $a3, $zero, 0x00B5 ## $a3 = 000000B5
/* 00090 80977ED0 0C031AB1 */ jal func_800C6AC4
/* 00094 80977ED4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00098 80977ED8 0C024F46 */ jal func_80093D18
/* 0009C 80977EDC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 000A0 80977EE0 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 000A4 80977EE4 3C18DA38 */ lui $t8, 0xDA38 ## $t8 = DA380000
/* 000A8 80977EE8 37180002 */ ori $t8, $t8, 0x0002 ## $t8 = DA380002
/* 000AC 80977EEC 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
/* 000B0 80977EF0 AE0F02C0 */ sw $t7, 0x02C0($s0) ## 000002C0
/* 000B4 80977EF4 3C058098 */ lui $a1, %hi(D_80978630) ## $a1 = 80980000
/* 000B8 80977EF8 AC580000 */ sw $t8, 0x0000($v0) ## 00000000
/* 000BC 80977EFC 24A58630 */ addiu $a1, $a1, %lo(D_80978630) ## $a1 = 80978630
/* 000C0 80977F00 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 000C4 80977F04 240600B7 */ addiu $a2, $zero, 0x00B7 ## $a2 = 000000B7
/* 000C8 80977F08 0C0346A2 */ jal Matrix_NewMtx
/* 000CC 80977F0C AFA2002C */ sw $v0, 0x002C($sp)
/* 000D0 80977F10 8FA3002C */ lw $v1, 0x002C($sp)
/* 000D4 80977F14 3C08DE00 */ lui $t0, 0xDE00 ## $t0 = DE000000
/* 000D8 80977F18 3C0BD838 */ lui $t3, 0xD838 ## $t3 = D8380000
/* 000DC 80977F1C AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 000E0 80977F20 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 000E4 80977F24 356B0002 */ ori $t3, $t3, 0x0002 ## $t3 = D8380002
/* 000E8 80977F28 240C0040 */ addiu $t4, $zero, 0x0040 ## $t4 = 00000040
/* 000EC 80977F2C 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 000F0 80977F30 AE1902C0 */ sw $t9, 0x02C0($s0) ## 000002C0
/* 000F4 80977F34 AC480000 */ sw $t0, 0x0000($v0) ## 00000000
/* 000F8 80977F38 8FA9004C */ lw $t1, 0x004C($sp)
/* 000FC 80977F3C 3C068098 */ lui $a2, %hi(D_80978644) ## $a2 = 80980000
/* 00100 80977F40 24C68644 */ addiu $a2, $a2, %lo(D_80978644) ## $a2 = 80978644
/* 00104 80977F44 AC490004 */ sw $t1, 0x0004($v0) ## 00000004
/* 00108 80977F48 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
/* 0010C 80977F4C 27A40030 */ addiu $a0, $sp, 0x0030 ## $a0 = FFFFFFE8
/* 00110 80977F50 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00114 80977F54 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
/* 00118 80977F58 AE0A02C0 */ sw $t2, 0x02C0($s0) ## 000002C0
/* 0011C 80977F5C 240700BC */ addiu $a3, $zero, 0x00BC ## $a3 = 000000BC
/* 00120 80977F60 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
/* 00124 80977F64 0C031AD5 */ jal func_800C6B54
/* 00128 80977F68 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000
/* 0012C 80977F6C 8FBF001C */ lw $ra, 0x001C($sp)
/* 00130 80977F70 8FB00018 */ lw $s0, 0x0018($sp)
/* 00134 80977F74 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 00138 80977F78 03E00008 */ jr $ra
/* 0013C 80977F7C 00000000 */ nop
@@ -1,47 +0,0 @@
glabel func_80977F80
/* 00140 80977F80 27BDFFB8 */ addiu $sp, $sp, 0xFFB8 ## $sp = FFFFFFB8
/* 00144 80977F84 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00148 80977F88 AFA40048 */ sw $a0, 0x0048($sp)
/* 0014C 80977F8C AFA5004C */ sw $a1, 0x004C($sp)
/* 00150 80977F90 8C8F0154 */ lw $t7, 0x0154($a0) ## 00000154
/* 00154 80977F94 3C068098 */ lui $a2, %hi(D_80978658) ## $a2 = 80980000
/* 00158 80977F98 24C68658 */ addiu $a2, $a2, %lo(D_80978658) ## $a2 = 80978658
/* 0015C 80977F9C AFAF003C */ sw $t7, 0x003C($sp)
/* 00160 80977FA0 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 00164 80977FA4 27A40024 */ addiu $a0, $sp, 0x0024 ## $a0 = FFFFFFDC
/* 00168 80977FA8 240700CC */ addiu $a3, $zero, 0x00CC ## $a3 = 000000CC
/* 0016C 80977FAC 0C031AB1 */ jal func_800C6AC4
/* 00170 80977FB0 AFA50038 */ sw $a1, 0x0038($sp)
/* 00174 80977FB4 8FA50038 */ lw $a1, 0x0038($sp)
/* 00178 80977FB8 8FA6004C */ lw $a2, 0x004C($sp)
/* 0017C 80977FBC 3C08DB06 */ lui $t0, 0xDB06 ## $t0 = DB060000
/* 00180 80977FC0 8CA302C0 */ lw $v1, 0x02C0($a1) ## 000002C0
/* 00184 80977FC4 35080018 */ ori $t0, $t0, 0x0018 ## $t0 = DB060018
/* 00188 80977FC8 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 0018C 80977FCC 24790008 */ addiu $t9, $v1, 0x0008 ## $t9 = 00000008
/* 00190 80977FD0 ACB902C0 */ sw $t9, 0x02C0($a1) ## 000002C0
/* 00194 80977FD4 AC680000 */ sw $t0, 0x0000($v1) ## 00000000
/* 00198 80977FD8 8FA9003C */ lw $t1, 0x003C($sp)
/* 0019C 80977FDC 240700D4 */ addiu $a3, $zero, 0x00D4 ## $a3 = 000000D4
/* 001A0 80977FE0 00095100 */ sll $t2, $t1, 4
/* 001A4 80977FE4 01495021 */ addu $t2, $t2, $t1
/* 001A8 80977FE8 000A5080 */ sll $t2, $t2, 2
/* 001AC 80977FEC 00CA2021 */ addu $a0, $a2, $t2
/* 001B0 80977FF0 00812021 */ addu $a0, $a0, $at
/* 001B4 80977FF4 8C8B17B4 */ lw $t3, 0x17B4($a0) ## 000017B4
/* 001B8 80977FF8 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 001BC 80977FFC 3C068098 */ lui $a2, %hi(D_8097866C) ## $a2 = 80980000
/* 001C0 80978000 AC6B0004 */ sw $t3, 0x0004($v1) ## 00000004
/* 001C4 80978004 8C8C17B4 */ lw $t4, 0x17B4($a0) ## 000017B4
/* 001C8 80978008 27A40024 */ addiu $a0, $sp, 0x0024 ## $a0 = FFFFFFDC
/* 001CC 8097800C 24C6866C */ addiu $a2, $a2, %lo(D_8097866C) ## $a2 = 8097866C
/* 001D0 80978010 01816821 */ addu $t5, $t4, $at
/* 001D4 80978014 3C018016 */ lui $at, 0x8016 ## $at = 80160000
/* 001D8 80978018 0C031AD5 */ jal func_800C6B54
/* 001DC 8097801C AC2D6FC0 */ sw $t5, 0x6FC0($at) ## 80166FC0
/* 001E0 80978020 8FBF0014 */ lw $ra, 0x0014($sp)
/* 001E4 80978024 27BD0048 */ addiu $sp, $sp, 0x0048 ## $sp = 00000000
/* 001E8 80978028 03E00008 */ jr $ra
/* 001EC 8097802C 00000000 */ nop
@@ -1,48 +0,0 @@
glabel func_80978030
/* 001F0 80978030 AFA50004 */ sw $a1, 0x0004($sp)
/* 001F4 80978034 948E001C */ lhu $t6, 0x001C($a0) ## 0000001C
/* 001F8 80978038 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 001FC 8097803C AC82014C */ sw $v0, 0x014C($a0) ## 0000014C
/* 00200 80978040 2DC10008 */ sltiu $at, $t6, 0x0008
/* 00204 80978044 10200049 */ beq $at, $zero, .L8097816C
/* 00208 80978048 AC820150 */ sw $v0, 0x0150($a0) ## 00000150
/* 0020C 8097804C 000E7080 */ sll $t6, $t6, 2
/* 00210 80978050 3C018098 */ lui $at, %hi(jtbl_80978778) ## $at = 80980000
/* 00214 80978054 002E0821 */ addu $at, $at, $t6
/* 00218 80978058 8C2E8778 */ lw $t6, %lo(jtbl_80978778)($at)
/* 0021C 8097805C 01C00008 */ jr $t6
/* 00220 80978060 00000000 */ nop
glabel L80978064
/* 00224 80978064 3C038016 */ lui $v1, 0x8016 ## $v1 = 80160000
/* 00228 80978068 2463FA90 */ addiu $v1, $v1, 0xFA90 ## $v1 = 8015FA90
/* 0022C 8097806C 8C6F0000 */ lw $t7, 0x0000($v1) ## 8015FA90
/* 00230 80978070 3C018098 */ lui $at, %hi(D_80978798) ## $at = 80980000
/* 00234 80978074 C4208798 */ lwc1 $f0, %lo(D_80978798)($at)
/* 00238 80978078 85F81462 */ lh $t8, 0x1462($t7) ## 00001462
/* 0023C 8097807C 3C018098 */ lui $at, %hi(D_8097879C) ## $at = 80980000
/* 00240 80978080 C422879C */ lwc1 $f2, %lo(D_8097879C)($at)
/* 00244 80978084 44982000 */ mtc1 $t8, $f4 ## $f4 = 0.00
/* 00248 80978088 24820050 */ addiu $v0, $a0, 0x0050 ## $v0 = 00000050
/* 0024C 8097808C 468021A0 */ cvt.s.w $f6, $f4
/* 00250 80978090 46003202 */ mul.s $f8, $f6, $f0
/* 00254 80978094 46024280 */ add.s $f10, $f8, $f2
/* 00258 80978098 E44A0000 */ swc1 $f10, 0x0000($v0) ## 00000050
/* 0025C 8097809C 8C790000 */ lw $t9, 0x0000($v1) ## 8015FA90
/* 00260 809780A0 87281464 */ lh $t0, 0x1464($t9) ## 00001464
/* 00264 809780A4 44888000 */ mtc1 $t0, $f16 ## $f16 = 0.00
/* 00268 809780A8 00000000 */ nop
/* 0026C 809780AC 468084A0 */ cvt.s.w $f18, $f16
/* 00270 809780B0 46009102 */ mul.s $f4, $f18, $f0
/* 00274 809780B4 46022180 */ add.s $f6, $f4, $f2
/* 00278 809780B8 E4460004 */ swc1 $f6, 0x0004($v0) ## 00000054
/* 0027C 809780BC 8C690000 */ lw $t1, 0x0000($v1) ## 8015FA90
/* 00280 809780C0 852A1466 */ lh $t2, 0x1466($t1) ## 00001466
/* 00284 809780C4 448A4000 */ mtc1 $t2, $f8 ## $f8 = 0.00
/* 00288 809780C8 00000000 */ nop
/* 0028C 809780CC 468042A0 */ cvt.s.w $f10, $f8
/* 00290 809780D0 46005402 */ mul.s $f16, $f10, $f0
/* 00294 809780D4 46028480 */ add.s $f18, $f16, $f2
/* 00298 809780D8 03E00008 */ jr $ra
/* 0029C 809780DC E4520008 */ swc1 $f18, 0x0008($v0) ## 00000058
@@ -1,76 +0,0 @@
glabel func_809780E0
/* 002A0 809780E0 3C038016 */ lui $v1, 0x8016 ## $v1 = 80160000
/* 002A4 809780E4 2463FA90 */ addiu $v1, $v1, 0xFA90 ## $v1 = 8015FA90
/* 002A8 809780E8 8C6B0000 */ lw $t3, 0x0000($v1) ## 8015FA90
/* 002AC 809780EC 3C018098 */ lui $at, %hi(D_809787A0) ## $at = 80980000
/* 002B0 809780F0 C42087A0 */ lwc1 $f0, %lo(D_809787A0)($at)
/* 002B4 809780F4 856C1468 */ lh $t4, 0x1468($t3) ## 00001468
/* 002B8 809780F8 3C018098 */ lui $at, %hi(D_809787A4) ## $at = 80980000
/* 002BC 809780FC C42A87A4 */ lwc1 $f10, %lo(D_809787A4)($at)
/* 002C0 80978100 448C2000 */ mtc1 $t4, $f4 ## $f4 = 0.00
/* 002C4 80978104 24820050 */ addiu $v0, $a0, 0x0050 ## $v0 = 00000050
/* 002C8 80978108 3C018098 */ lui $at, %hi(D_809787A8) ## $at = 80980000
/* 002CC 8097810C 468021A0 */ cvt.s.w $f6, $f4
/* 002D0 80978110 46003202 */ mul.s $f8, $f6, $f0
/* 002D4 80978114 460A4400 */ add.s $f16, $f8, $f10
/* 002D8 80978118 E4500000 */ swc1 $f16, 0x0000($v0) ## 00000050
/* 002DC 8097811C 8C6D0000 */ lw $t5, 0x0000($v1) ## 8015FA90
/* 002E0 80978120 C42887A8 */ lwc1 $f8, %lo(D_809787A8)($at)
/* 002E4 80978124 3C018098 */ lui $at, %hi(D_809787AC) ## $at = 80980000
/* 002E8 80978128 85AE146A */ lh $t6, 0x146A($t5) ## 0000146A
/* 002EC 8097812C 448E9000 */ mtc1 $t6, $f18 ## $f18 = 0.00
/* 002F0 80978130 00000000 */ nop
/* 002F4 80978134 46809120 */ cvt.s.w $f4, $f18
/* 002F8 80978138 46002182 */ mul.s $f6, $f4, $f0
/* 002FC 8097813C 46083280 */ add.s $f10, $f6, $f8
/* 00300 80978140 E44A0004 */ swc1 $f10, 0x0004($v0) ## 00000054
/* 00304 80978144 8C6F0000 */ lw $t7, 0x0000($v1) ## 8015FA90
/* 00308 80978148 C42687AC */ lwc1 $f6, %lo(D_809787AC)($at)
/* 0030C 8097814C 85F8146C */ lh $t8, 0x146C($t7) ## 0000146C
/* 00310 80978150 44988000 */ mtc1 $t8, $f16 ## $f16 = 0.00
/* 00314 80978154 00000000 */ nop
/* 00318 80978158 468084A0 */ cvt.s.w $f18, $f16
/* 0031C 8097815C 46009102 */ mul.s $f4, $f18, $f0
/* 00320 80978160 46062200 */ add.s $f8, $f4, $f6
/* 00324 80978164 03E00008 */ jr $ra
/* 00328 80978168 E4480008 */ swc1 $f8, 0x0008($v0) ## 00000058
glabel L8097816C
.L8097816C:
/* 0032C 8097816C 3C038016 */ lui $v1, 0x8016 ## $v1 = 80160000
/* 00330 80978170 2463FA90 */ addiu $v1, $v1, 0xFA90 ## $v1 = 8015FA90
/* 00334 80978174 8C790000 */ lw $t9, 0x0000($v1) ## 8015FA90
/* 00338 80978178 3C018098 */ lui $at, %hi(D_809787B0) ## $at = 80980000
/* 0033C 8097817C C42087B0 */ lwc1 $f0, %lo(D_809787B0)($at)
/* 00340 80978180 8728146E */ lh $t0, 0x146E($t9) ## 0000146E
/* 00344 80978184 3C018098 */ lui $at, %hi(D_809787B4) ## $at = 80980000
/* 00348 80978188 C42487B4 */ lwc1 $f4, %lo(D_809787B4)($at)
/* 0034C 8097818C 44885000 */ mtc1 $t0, $f10 ## $f10 = 0.00
/* 00350 80978190 24820050 */ addiu $v0, $a0, 0x0050 ## $v0 = 00000050
/* 00354 80978194 3C018098 */ lui $at, %hi(D_809787B8) ## $at = 80980000
/* 00358 80978198 46805420 */ cvt.s.w $f16, $f10
/* 0035C 8097819C 46008482 */ mul.s $f18, $f16, $f0
/* 00360 809781A0 46049180 */ add.s $f6, $f18, $f4
/* 00364 809781A4 E4460000 */ swc1 $f6, 0x0000($v0) ## 00000050
/* 00368 809781A8 8C690000 */ lw $t1, 0x0000($v1) ## 8015FA90
/* 0036C 809781AC C43287B8 */ lwc1 $f18, %lo(D_809787B8)($at)
/* 00370 809781B0 3C018098 */ lui $at, %hi(D_809787BC) ## $at = 80980000
/* 00374 809781B4 852A1470 */ lh $t2, 0x1470($t1) ## 00001470
/* 00378 809781B8 448A4000 */ mtc1 $t2, $f8 ## $f8 = 0.00
/* 0037C 809781BC 00000000 */ nop
/* 00380 809781C0 468042A0 */ cvt.s.w $f10, $f8
/* 00384 809781C4 46005402 */ mul.s $f16, $f10, $f0
/* 00388 809781C8 46128100 */ add.s $f4, $f16, $f18
/* 0038C 809781CC E4440004 */ swc1 $f4, 0x0004($v0) ## 00000054
/* 00390 809781D0 8C6B0000 */ lw $t3, 0x0000($v1) ## 8015FA90
/* 00394 809781D4 C43087BC */ lwc1 $f16, %lo(D_809787BC)($at)
/* 00398 809781D8 856C1472 */ lh $t4, 0x1472($t3) ## 00001472
/* 0039C 809781DC 448C3000 */ mtc1 $t4, $f6 ## $f6 = 0.00
/* 003A0 809781E0 00000000 */ nop
/* 003A4 809781E4 46803220 */ cvt.s.w $f8, $f6
/* 003A8 809781E8 46004282 */ mul.s $f10, $f8, $f0
/* 003AC 809781EC 46105480 */ add.s $f18, $f10, $f16
/* 003B0 809781F0 E4520008 */ swc1 $f18, 0x0008($v0) ## 00000058
/* 003B4 809781F4 03E00008 */ jr $ra
/* 003B8 809781F8 00000000 */ nop
@@ -1,49 +0,0 @@
glabel func_809781FC
/* 003BC 809781FC 8C8E0158 */ lw $t6, 0x0158($a0) ## 00000158
/* 003C0 80978200 15C00025 */ bne $t6, $zero, .L80978298
/* 003C4 80978204 00000000 */ nop
/* 003C8 80978208 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
/* 003CC 8097820C 8CA31C64 */ lw $v1, 0x1C64($a1) ## 00001C64
/* 003D0 80978210 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 003D4 80978214 10400007 */ beq $v0, $zero, .L80978234
/* 003D8 80978218 24050174 */ addiu $a1, $zero, 0x0174 ## $a1 = 00000174
/* 003DC 8097821C 10410005 */ beq $v0, $at, .L80978234
/* 003E0 80978220 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 003E4 80978224 50410004 */ beql $v0, $at, .L80978238
/* 003E8 80978228 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 003EC 8097822C 10000002 */ beq $zero, $zero, .L80978238
/* 003F0 80978230 24020002 */ addiu $v0, $zero, 0x0002 ## $v0 = 00000002
.L80978234:
/* 003F4 80978234 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
.L80978238:
/* 003F8 80978238 10600017 */ beq $v1, $zero, .L80978298
/* 003FC 8097823C 00000000 */ nop
/* 00400 80978240 846F0000 */ lh $t7, 0x0000($v1) ## 00000000
.L80978244:
/* 00404 80978244 54AF0012 */ bnel $a1, $t7, .L80978290
/* 00408 80978248 8C630124 */ lw $v1, 0x0124($v1) ## 00000124
/* 0040C 8097824C 8478001C */ lh $t8, 0x001C($v1) ## 0000001C
/* 00410 80978250 5458000F */ bnel $v0, $t8, .L80978290
/* 00414 80978254 8C630124 */ lw $v1, 0x0124($v1) ## 00000124
/* 00418 80978258 C4840024 */ lwc1 $f4, 0x0024($a0) ## 00000024
/* 0041C 8097825C C4660024 */ lwc1 $f6, 0x0024($v1) ## 00000024
/* 00420 80978260 C48A0028 */ lwc1 $f10, 0x0028($a0) ## 00000028
/* 00424 80978264 46062201 */ sub.s $f8, $f4, $f6
/* 00428 80978268 C484002C */ lwc1 $f4, 0x002C($a0) ## 0000002C
/* 0042C 8097826C E488015C */ swc1 $f8, 0x015C($a0) ## 0000015C
/* 00430 80978270 C4700028 */ lwc1 $f16, 0x0028($v1) ## 00000028
/* 00434 80978274 46105481 */ sub.s $f18, $f10, $f16
/* 00438 80978278 E4920160 */ swc1 $f18, 0x0160($a0) ## 00000160
/* 0043C 8097827C C466002C */ lwc1 $f6, 0x002C($v1) ## 0000002C
/* 00440 80978280 AC830158 */ sw $v1, 0x0158($a0) ## 00000158
/* 00444 80978284 46062201 */ sub.s $f8, $f4, $f6
/* 00448 80978288 E4880164 */ swc1 $f8, 0x0164($a0) ## 00000164
/* 0044C 8097828C 8C630124 */ lw $v1, 0x0124($v1) ## 00000124
.L80978290:
/* 00450 80978290 5460FFEC */ bnel $v1, $zero, .L80978244
/* 00454 80978294 846F0000 */ lh $t7, 0x0000($v1) ## 00000000
.L80978298:
/* 00458 80978298 03E00008 */ jr $ra
/* 0045C 8097829C 00000000 */ nop
@@ -1,30 +0,0 @@
glabel func_809782A0
/* 00460 809782A0 AFA50004 */ sw $a1, 0x0004($sp)
/* 00464 809782A4 8C820158 */ lw $v0, 0x0158($a0) ## 00000158
/* 00468 809782A8 8483001C */ lh $v1, 0x001C($a0) ## 0000001C
/* 0046C 809782AC 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
/* 00470 809782B0 10400013 */ beq $v0, $zero, .L80978300
/* 00474 809782B4 00000000 */ nop
/* 00478 809782B8 10610011 */ beq $v1, $at, .L80978300
/* 0047C 809782BC 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007
/* 00480 809782C0 1061000F */ beq $v1, $at, .L80978300
/* 00484 809782C4 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008
/* 00488 809782C8 1061000D */ beq $v1, $at, .L80978300
/* 0048C 809782CC 00000000 */ nop
/* 00490 809782D0 C4440024 */ lwc1 $f4, 0x0024($v0) ## 00000024
/* 00494 809782D4 C486015C */ lwc1 $f6, 0x015C($a0) ## 0000015C
/* 00498 809782D8 C4900160 */ lwc1 $f16, 0x0160($a0) ## 00000160
/* 0049C 809782DC 46062200 */ add.s $f8, $f4, $f6
/* 004A0 809782E0 C4860164 */ lwc1 $f6, 0x0164($a0) ## 00000164
/* 004A4 809782E4 E4880024 */ swc1 $f8, 0x0024($a0) ## 00000024
/* 004A8 809782E8 C44A0028 */ lwc1 $f10, 0x0028($v0) ## 00000028
/* 004AC 809782EC 46105480 */ add.s $f18, $f10, $f16
/* 004B0 809782F0 E4920028 */ swc1 $f18, 0x0028($a0) ## 00000028
/* 004B4 809782F4 C444002C */ lwc1 $f4, 0x002C($v0) ## 0000002C
/* 004B8 809782F8 46062200 */ add.s $f8, $f4, $f6
/* 004BC 809782FC E488002C */ swc1 $f8, 0x002C($a0) ## 0000002C
.L80978300:
/* 004C0 80978300 03E00008 */ jr $ra
/* 004C4 80978304 00000000 */ nop
@@ -1,18 +0,0 @@
glabel func_80978308
/* 004C8 80978308 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 004CC 8097830C AFBF0014 */ sw $ra, 0x0014($sp)
/* 004D0 80978310 AFA40018 */ sw $a0, 0x0018($sp)
/* 004D4 80978314 0C25E07F */ jal func_809781FC
/* 004D8 80978318 AFA5001C */ sw $a1, 0x001C($sp)
/* 004DC 8097831C 8FA40018 */ lw $a0, 0x0018($sp)
/* 004E0 80978320 0C25E0A8 */ jal func_809782A0
/* 004E4 80978324 8FA5001C */ lw $a1, 0x001C($sp)
/* 004E8 80978328 8FA40018 */ lw $a0, 0x0018($sp)
/* 004EC 8097832C 0C25E00C */ jal func_80978030
/* 004F0 80978330 8FA5001C */ lw $a1, 0x001C($sp)
/* 004F4 80978334 8FBF0014 */ lw $ra, 0x0014($sp)
/* 004F8 80978338 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 004FC 8097833C 03E00008 */ jr $ra
/* 00500 80978340 00000000 */ nop
@@ -1,14 +0,0 @@
glabel func_80978344
/* 00504 80978344 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00508 80978348 AFA40018 */ sw $a0, 0x0018($sp)
/* 0050C 8097834C 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00510 80978350 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00514 80978354 3C050600 */ lui $a1, 0x0600 ## $a1 = 06000000
/* 00518 80978358 0C25DFAA */ jal func_80977EA8
/* 0051C 8097835C 24A50EA0 */ addiu $a1, $a1, 0x0EA0 ## $a1 = 06000EA0
/* 00520 80978360 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00524 80978364 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00528 80978368 03E00008 */ jr $ra
/* 0052C 8097836C 00000000 */ nop
@@ -1,32 +0,0 @@
glabel func_80978370
/* 00530 80978370 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00534 80978374 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00538 80978378 8486001C */ lh $a2, 0x001C($a0) ## 0000001C
/* 0053C 8097837C 3C028098 */ lui $v0, %hi(D_80978584) ## $v0 = 80980000
/* 00540 80978380 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 00544 80978384 00067080 */ sll $t6, $a2, 2
/* 00548 80978388 004E1021 */ addu $v0, $v0, $t6
/* 0054C 8097838C 8C428584 */ lw $v0, %lo(D_80978584)($v0)
/* 00550 80978390 3C048098 */ lui $a0, %hi(D_80978680) ## $a0 = 80980000
/* 00554 80978394 24848680 */ addiu $a0, $a0, %lo(D_80978680) ## $a0 = 80978680
/* 00558 80978398 14400008 */ bne $v0, $zero, .L809783BC
/* 0055C 8097839C 00000000 */ nop
/* 00560 809783A0 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000000
/* 00564 809783A4 0C00084C */ jal osSyncPrintf
/* 00568 809783A8 AFA70018 */ sw $a3, 0x0018($sp)
/* 0056C 809783AC 0C00B55C */ jal Actor_Kill
/* 00570 809783B0 8FA40018 */ lw $a0, 0x0018($sp)
/* 00574 809783B4 10000004 */ beq $zero, $zero, .L809783C8
/* 00578 809783B8 8FBF0014 */ lw $ra, 0x0014($sp)
.L809783BC:
/* 0057C 809783BC 0040F809 */ jalr $ra, $v0
/* 00580 809783C0 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00584 809783C4 8FBF0014 */ lw $ra, 0x0014($sp)
.L809783C8:
/* 00588 809783C8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0058C 809783CC 03E00008 */ jr $ra
/* 00590 809783D0 00000000 */ nop
@@ -1,51 +0,0 @@
glabel func_809783D4
/* 00594 809783D4 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 00598 809783D8 AFBF0014 */ sw $ra, 0x0014($sp)
/* 0059C 809783DC AFA40038 */ sw $a0, 0x0038($sp)
/* 005A0 809783E0 AFA5003C */ sw $a1, 0x003C($sp)
/* 005A4 809783E4 8486001C */ lh $a2, 0x001C($a0) ## 0000001C
/* 005A8 809783E8 8FA4003C */ lw $a0, 0x003C($sp)
/* 005AC 809783EC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 005B0 809783F0 3C058098 */ lui $a1, %hi(D_80978570) ## $a1 = 80980000
/* 005B4 809783F4 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
/* 005B8 809783F8 00067840 */ sll $t7, $a2, 1
/* 005BC 809783FC 00AF2821 */ addu $a1, $a1, $t7
/* 005C0 80978400 00812021 */ addu $a0, $a0, $at
/* 005C4 80978404 84A58570 */ lh $a1, %lo(D_80978570)($a1)
/* 005C8 80978408 AFA4001C */ sw $a0, 0x001C($sp)
/* 005CC 8097840C 0C02604B */ jal Object_GetIndex
## ObjectIndex
/* 005D0 80978410 AFA6002C */ sw $a2, 0x002C($sp)
/* 005D4 80978414 8FA4001C */ lw $a0, 0x001C($sp)
/* 005D8 80978418 8FA6002C */ lw $a2, 0x002C($sp)
/* 005DC 8097841C 04410009 */ bgez $v0, .L80978444
/* 005E0 80978420 00403825 */ or $a3, $v0, $zero ## $a3 = 00000000
/* 005E4 80978424 3C048098 */ lui $a0, %hi(D_809786C4) ## $a0 = 80980000
/* 005E8 80978428 248486C4 */ addiu $a0, $a0, %lo(D_809786C4) ## $a0 = 809786C4
/* 005EC 8097842C 0C00084C */ jal osSyncPrintf
/* 005F0 80978430 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000000
/* 005F4 80978434 0C00B55C */ jal Actor_Kill
/* 005F8 80978438 8FA40038 */ lw $a0, 0x0038($sp)
/* 005FC 8097843C 1000000B */ beq $zero, $zero, .L8097846C
/* 00600 80978440 8FBF0014 */ lw $ra, 0x0014($sp)
.L80978444:
/* 00604 80978444 00E02825 */ or $a1, $a3, $zero ## $a1 = 00000000
/* 00608 80978448 0C026062 */ jal Object_IsLoaded
/* 0060C 8097844C AFA70024 */ sw $a3, 0x0024($sp)
/* 00610 80978450 10400005 */ beq $v0, $zero, .L80978468
/* 00614 80978454 8FA70024 */ lw $a3, 0x0024($sp)
/* 00618 80978458 8FA40038 */ lw $a0, 0x0038($sp)
/* 0061C 8097845C AC870154 */ sw $a3, 0x0154($a0) ## 00000154
/* 00620 80978460 0C25E0DC */ jal func_80978370
/* 00624 80978464 8FA5003C */ lw $a1, 0x003C($sp)
.L80978468:
/* 00628 80978468 8FBF0014 */ lw $ra, 0x0014($sp)
.L8097846C:
/* 0062C 8097846C 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 00630 80978470 03E00008 */ jr $ra
/* 00634 80978474 00000000 */ nop
@@ -1,6 +0,0 @@
glabel func_809784D4
/* 00694 809784D4 AFA40000 */ sw $a0, 0x0000($sp)
/* 00698 809784D8 03E00008 */ jr $ra
/* 0069C 809784DC AFA50004 */ sw $a1, 0x0004($sp)
-35
View File
@@ -1,35 +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 purposee registers
.section .data
glabel D_80978570
.word 0x01860186, 0x01860186, 0x01860186, 0x01860186, 0x01860000
glabel D_80978584
.word func_80978030
.word func_80978030
.word func_80978030
.word func_80978030
.word func_80978030
.word func_80978030
.word func_80978030
.word func_80978030
.word func_80978030
glabel D_809785A8
.word func_809783D4
.word func_80978308
glabel D_809785B0
.word func_809784D4
.word func_80978344
glabel Demo_Geff_InitVars
.word 0x01B20900, 0x00000030, 0x01860000, 0x00000168
.word DemoGeff_Init
.word DemoGeff_Destroy
.word DemoGeff_Update
.word DemoGeff_Draw
.word 0x00000000, 0x00000000
-11
View File
@@ -1,11 +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 purposee registers
.section .rodata
glabel D_809787C0
.incbin "baserom/ovl_Demo_Geff", 0x980, 0x00000170
-80
View File
@@ -1,80 +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 purposee registers
.section .rodata
glabel D_809785E0
.asciz "Demo_Geff_Actor_ct:arg_data!!!!!!!!!!!!\n"
.balign 4
glabel D_8097861C
.asciz "../z_demo_geff.c"
.balign 4
glabel D_80978630
.asciz "../z_demo_geff.c"
.balign 4
glabel D_80978644
.asciz "../z_demo_geff.c"
.balign 4
glabel D_80978658
.asciz "../z_demo_geff.c"
.balign 4
glabel D_8097866C
.asciz "../z_demo_geff.c"
.balign 4
glabel D_80978680
.asciz " Demo_Geff_main_init:arg_data = %d!\n"
.balign 4
glabel D_809786C4
.asciz "Demo_Geff_main_bank: arg_data = %d!\n"
.balign 4
glabel D_80978704
.asciz "!!!!!!!!!!!!!!!!!!!!!!!!!\n"
.balign 4
glabel D_80978740
.asciz "!!!!!!!!!!!!!!!!!!!!!!!!!\n"
.balign 4
glabel jtbl_80978778
.word L80978064
.word func_809780E0
.word L8097816C
.word L80978064
.word func_809780E0
.word L8097816C
.word L80978064
.word func_809780E0
glabel D_80978798
.word 0x3C23D70A
glabel D_8097879C
.word 0x3E99999A
glabel D_809787A0
.word 0x3C23D70A
glabel D_809787A4
.word 0x3E19999A
glabel D_809787A8
.word 0x3E947AE1
glabel D_809787AC
.word 0x3DF5C28F
glabel D_809787B0
.word 0x3C23D70A
glabel D_809787B4
.word 0x3DCCCCCD
glabel D_809787B8
.word 0x3E19999A
glabel D_809787BC
.word 0x3E4CCCCD
Regular → Executable
View File
+1 -1
View File
@@ -3473,7 +3473,7 @@ extern GlobalContext* D_80157DA0;
extern SaveContext gSaveContext; // 0x8015E660
extern u32 D_8015FA88;
extern u32 D_8015FA8C;
extern GameInfo* gGameInfo;
extern GameInfo* gGameInfo; // 0x8015FA90
//extern ? D_8015FA98;
//extern ? D_8015FA9B;
//extern ? D_8015FC18;
+1 -3
View File
@@ -1789,9 +1789,7 @@ endseg
beginseg
name "ovl_Demo_Geff"
include "build/src/overlays/actors/ovl_Demo_Geff/z_demo_geff.o"
include "build/data/overlays/actors/z_demo_geff.data.o"
include "build/data/overlays/actors/z_demo_geff.rodata.o"
include "build/data/overlays/actors/z_demo_geff.reloc.o"
include "build/src/overlays/actors/ovl_Demo_Geff/z_demo_geff_reloc.o"
endseg
beginseg
+189 -21
View File
@@ -1,14 +1,38 @@
/*
* File: z_demo_geff.c
* Overlay: Demo_Geff
* Description:
*/
#include "z_demo_geff.h"
#include <vt.h>
#define ROOM 0x00
#define FLAGS 0x00000030
void DemoGeff_Init(DemoGeff* this, GlobalContext* globalCtx);
void DemoGeff_Destroy(DemoGeff* this, GlobalContext* globalCtx);
void DemoGeff_Update(DemoGeff* this, GlobalContext* globalCtx);
void DemoGeff_Draw(DemoGeff* this, GlobalContext* globalCtx);
static void DemoGeff_Init(DemoGeff* this, GlobalContext* globalCtx);
static void DemoGeff_Destroy(DemoGeff* this, GlobalContext* globalCtx);
static void DemoGeff_Update(DemoGeff* this, GlobalContext* globalCtx);
static void DemoGeff_Draw(DemoGeff* this, GlobalContext* globalCtx);
static void func_80978030(DemoGeff* this, GlobalContext* globalCtx);
static void func_809783D4(DemoGeff* this, GlobalContext* globalCtx);
static void func_80978308(DemoGeff* this, GlobalContext* globalCtx);
static void func_809784D4(DemoGeff* this, GlobalContext* globalCtx);
static void func_80978344(DemoGeff* this, GlobalContext* globalCtx);
s16 objectIds[] = { OBJECT_GEFF, OBJECT_GEFF, OBJECT_GEFF, OBJECT_GEFF, OBJECT_GEFF, OBJECT_GEFF, OBJECT_GEFF,
OBJECT_GEFF, OBJECT_GEFF, };
ActorFunc scaleFuncs[] = { (ActorFunc)func_80978030, (ActorFunc)func_80978030, (ActorFunc)func_80978030,
(ActorFunc)func_80978030, (ActorFunc)func_80978030, (ActorFunc)func_80978030,
(ActorFunc)func_80978030, (ActorFunc)func_80978030, (ActorFunc)func_80978030, };
ActorFunc actionFuncs[] = { (ActorFunc)func_809783D4, (ActorFunc)func_80978308, };
ActorFunc drawFuncs[] = { (ActorFunc)func_809784D4, (ActorFunc)func_80978344, };
/*
const ActorInit Demo_Geff_InitVars =
{
ACTOR_DEMO_GEFF,
@@ -22,33 +46,177 @@ const ActorInit Demo_Geff_InitVars =
(ActorFunc)DemoGeff_Update,
(ActorFunc)DemoGeff_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Geff/DemoGeff_Destroy.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Geff/DemoGeff_Init.s")
extern UNK_TYPE D_06000EA0;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Geff/func_80977EA8.s")
static void DemoGeff_Destroy(DemoGeff* this, GlobalContext* globalCtx) {
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Geff/func_80977F80.s")
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Geff/func_80978030.s")
static void DemoGeff_Init(DemoGeff* this, GlobalContext* globalCtx) {
if (this->actor.params < 0 || this->actor.params >= 9) {
osSyncPrintf(VT_FGCOL(RED) "Demo_Geff_Actor_ct:arg_dataがおかしい!!!!!!!!!!!!\n" VT_RST);
Actor_Kill(&this->actor);
return;
}
this->action = 0;
this->drawConfig = 0;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Geff/func_809780E0.s")
static void func_80977EA8(GlobalContext* globalCtx, u32 dlist) {
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* gfxArr[5];
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Geff/func_809781FC.s")
func_800C6AC4(gfxArr, gfxCtx, "../z_demo_geff.c", 181);
func_80093D18(gfxCtx);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Geff/func_809782A0.s")
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(gfxCtx, "../z_demo_geff.c", 183),
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyOpa.p++, dlist);
gSPPopMatrix(gfxCtx->polyOpa.p++, G_MTX_MODELVIEW);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Geff/func_80978308.s")
func_800C6B54(gfxArr, gfxCtx, "../z_demo_geff.c", 188);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Geff/func_80978344.s")
static void func_80977F80(DemoGeff* this, GlobalContext* globalCtx) {
s32 pad[2];
s32 objBankIndex = this->objBankIndex;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Gfx* gfxArr[5];
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Geff/func_80978370.s")
func_800C6AC4(gfxArr, gfxCtx, "../z_demo_geff.c", 204);
gSPSegment(gfxCtx->polyOpa.p++, 0x06, globalCtx->objectCtx.status[objBankIndex].segment);
gSegments[6] = PHYSICAL_TO_VIRTUAL(globalCtx->objectCtx.status[objBankIndex].segment);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Geff/func_809783D4.s")
// Necessary to match
if (!globalCtx) {}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Geff/DemoGeff_Update.s")
func_800C6B54(gfxArr, gfxCtx, "../z_demo_geff.c", 212);
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Geff/func_809784D4.s")
static void func_80978030(DemoGeff* this, GlobalContext* globalCtx) {
Vec3f* thisScale = &this->actor.scale;
this->action = 1;
this->drawConfig = 1;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Geff/DemoGeff_Draw.s")
switch (this->actor.params) {
case 0:
case 3:
case 6:
thisScale->x = (kREG(7) * 0.01f) + 0.3f;
thisScale->y = (kREG(8) * 0.01f) + 0.3f;
thisScale->z = (kREG(9) * 0.01f) + 0.3f;
break;
case 1:
case 4:
case 7:
thisScale->x = (kREG(10) * 0.01f) + 0.15f;
thisScale->y = (kREG(11) * 0.01f) + 0.29f;
thisScale->z = (kREG(12) * 0.01f) + 0.12f;
break;
default:
thisScale->x = (kREG(13) * 0.01f) + 0.1f;
thisScale->y = (kREG(14) * 0.01f) + 0.15f;
thisScale->z = (kREG(15) * 0.01f) + 0.2f;
break;
}
}
static void func_809781FC(DemoGeff* this, GlobalContext* globalCtx) {
s32 targetParams = 2;
Actor* propIt;
if (this->demoGt == NULL) {
propIt = globalCtx->actorCtx.actorList[ACTORTYPE_PROP].first;
if ((this->actor.params != 0) && (this->actor.params != 1) && (this->actor.params != 2)) {
targetParams = 2;
} else {
targetParams = 1;
}
while (propIt != NULL) {
if (propIt->id == ACTOR_DEMO_GT && propIt->params == targetParams) {
this->deltaPosX = this->actor.posRot.pos.x - propIt->posRot.pos.x;
this->deltaPosY = this->actor.posRot.pos.y - propIt->posRot.pos.y;
this->deltaPosZ = this->actor.posRot.pos.z - propIt->posRot.pos.z;
this->demoGt = propIt;
}
propIt = propIt->next;
}
}
}
static void func_809782A0(DemoGeff* this, GlobalContext* globalCtx) {
DemoGt* demoGt = this->demoGt;
s16 params = this->actor.params;
if (demoGt != NULL && (params != 6) && (params != 7) && (params != 8)) {
this->actor.posRot.pos.x = demoGt->actor.posRot.pos.x + this->deltaPosX;
this->actor.posRot.pos.y = demoGt->actor.posRot.pos.y + this->deltaPosY;
this->actor.posRot.pos.z = demoGt->actor.posRot.pos.z + this->deltaPosZ;
}
}
static void func_80978308(DemoGeff* this, GlobalContext* globalCtx) {
func_809781FC(this, globalCtx);
func_809782A0(this, globalCtx);
func_80978030(this, globalCtx);
}
static void func_80978344(DemoGeff* this, GlobalContext* globalCtx) {
func_80977EA8(globalCtx, &D_06000EA0);
}
static void func_80978370(DemoGeff* this, GlobalContext* globalCtx) {
s16 params = this->actor.params;
ActorFunc actorFunc = scaleFuncs[params];
if (actorFunc == NULL) {
osSyncPrintf(VT_FGCOL(RED) " Demo_Geff_main_init:初期化処理がおかしいarg_data = %d!\n" VT_RST, params);
Actor_Kill(&this->actor);
return;
}
actorFunc(this, globalCtx);
}
static void func_809783D4(DemoGeff* this, GlobalContext* globalCtx) {
ObjectContext* objCtx = &globalCtx->objectCtx;
Actor* thisx = &this->actor;
s32 params = thisx->params;
s16 objectId = objectIds[params];
s32 objBankIndex = Object_GetIndex(objCtx, objectId);
s32 pad;
if (objBankIndex < 0) {
osSyncPrintf(VT_FGCOL(RED) "Demo_Geff_main_bank:バンクを読めない arg_data = %d!\n" VT_RST, params);
Actor_Kill(thisx);
return;
}
if (Object_IsLoaded(objCtx, objBankIndex)) {
this->objBankIndex = objBankIndex;
func_80978370(this, globalCtx);
}
}
static void DemoGeff_Update(DemoGeff* this, GlobalContext* globalCtx) {
if (this->action < 0 || this->action >= 2 || actionFuncs[this->action] == NULL) {
osSyncPrintf(VT_FGCOL(RED) "メインモードがおかしい!!!!!!!!!!!!!!!!!!!!!!!!!\n" VT_RST);
return;
}
actionFuncs[this->action](this, globalCtx);
}
static void func_809784D4(DemoGeff* this, GlobalContext* globalCtx) {
}
static void DemoGeff_Draw(DemoGeff* this, GlobalContext* globalCtx) {
s32 drawConfig = this->drawConfig;
s16 pad;
if (drawConfig < 0 || drawConfig >= 2 || drawFuncs[drawConfig] == NULL) {
osSyncPrintf(VT_FGCOL(RED) "描画モードがおかしい!!!!!!!!!!!!!!!!!!!!!!!!!\n" VT_RST);
return;
}
if (drawConfig != 0) {
func_80977F80(this, globalCtx);
}
drawFuncs[drawConfig](this, globalCtx);
}
@@ -4,10 +4,18 @@
#include <ultra64.h>
#include <global.h>
#include "../ovl_Demo_Gt/z_demo_gt.h"
typedef struct
{
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x1C];
/* 0x014C */ s32 action;
/* 0x0150 */ s32 drawConfig;
/* 0x0154 */ s32 objBankIndex;
/* 0x0158 */ DemoGt* demoGt;
/* 0x015C */ f32 deltaPosX;
/* 0x0160 */ f32 deltaPosY;
/* 0x0164 */ f32 deltaPosZ;
} DemoGeff; // size = 0x0168
extern const ActorInit Demo_Geff_InitVars;
Regular → Executable
View File
View File
View File
Regular → Executable
View File
Regular → Executable
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
+3
View File
@@ -283,6 +283,9 @@ D_02007020 = 0x02007020;
// z_effect_ss_g_splash
D_04027DF0 = 0x04027DF0;
// z_demo_geff
D_06000EA0 = 0x06000EA0;
// z_demo_go
D_060029A8 = 0x060029A8;
D_06004930 = 0x06004930;