1
0
mirror of https://github.com/blawar/ooot.git synced 2024-07-02 09:03:36 +00:00

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
commit 8057d95195
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
44 changed files with 203 additions and 690 deletions

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

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

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

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

0
diff.py Normal file → Executable file
View File

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;

4
spec
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

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);
}

View File

@ -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;

0
tools/ido5.3_compiler/LICENSE.md Normal file → Executable file
View File

0
tools/ido5.3_compiler/lib/libmalloc.so Normal file → Executable file
View File

0
tools/ido5.3_compiler/lib/libmalloc_old.so Normal file → Executable file
View File

0
tools/ido5.3_compiler/lib/rld Normal file → Executable file
View File

0
tools/ido5.3_compiler/usr/bin/cc Normal file → Executable file
View File

0
tools/ido5.3_compiler/usr/lib/as0 Normal file → Executable file
View File

0
tools/ido5.3_compiler/usr/lib/as1 Normal file → Executable file
View File

0
tools/ido5.3_compiler/usr/lib/cfe Normal file → Executable file
View File

0
tools/ido5.3_compiler/usr/lib/crt1.o Normal file → Executable file
View File

0
tools/ido5.3_compiler/usr/lib/err.english.cc Normal file → Executable file
View File

0
tools/ido5.3_compiler/usr/lib/libc.so.1 Normal file → Executable file
View File

0
tools/ido5.3_compiler/usr/lib/libexc.so Normal file → Executable file
View File

0
tools/ido5.3_compiler/usr/lib/libgen.so Normal file → Executable file
View File

0
tools/ido5.3_compiler/usr/lib/libm.so Normal file → Executable file
View File

0
tools/ido5.3_compiler/usr/lib/ugen Normal file → Executable file
View File

0
tools/ido5.3_compiler/usr/lib/ujoin Normal file → Executable file
View File

0
tools/ido5.3_compiler/usr/lib/uld Normal file → Executable file
View File

0
tools/ido5.3_compiler/usr/lib/umerge Normal file → Executable file
View File

0
tools/ido5.3_compiler/usr/lib/uopt Normal file → Executable file
View File

0
tools/ido5.3_compiler/usr/lib/usplit Normal file → Executable file
View File

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;