1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-06-08 17:41:56 +00:00

Three new matching functions (#492)

* Darkmeiro decompilation

Bg_Gnd_Darkmeiro decompiled, matched, and documented.

* give this a shot

* fix conflict

* one more try

* could be useful

* whoops

* ZAP2 stuff

* ZAP why

* ZAP again

* match

* new matches

* format

* need to kill the asm, too

* whoops dlists

* one more match

* no more temp

* let's fix Gameplay_ChangeCameraStatus while we're at it

* formatted
This commit is contained in:
petrie911 2020-11-19 15:49:08 -06:00 committed by GitHub
parent 930cee3061
commit cf24a76fe4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
56 changed files with 333 additions and 1218 deletions

View file

@ -1,55 +0,0 @@
glabel func_80098508
/* B0F6A8 80098508 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B0F6AC 8009850C AFBF0014 */ sw $ra, 0x14($sp)
/* B0F6B0 80098510 AFA5001C */ sw $a1, 0x1c($sp)
/* B0F6B4 80098514 3C010001 */ lui $at, 1
/* B0F6B8 80098518 00811821 */ addu $v1, $a0, $at
/* B0F6BC 8009851C 90781DEA */ lbu $t8, 0x1dea($v1)
/* B0F6C0 80098520 8CA70004 */ lw $a3, 4($a1)
/* B0F6C4 80098524 8C6F1E00 */ lw $t7, 0x1e00($v1)
/* B0F6C8 80098528 0018C840 */ sll $t9, $t8, 1
/* B0F6CC 8009852C 00076900 */ sll $t5, $a3, 4
/* B0F6D0 80098530 000D7702 */ srl $t6, $t5, 0x1c
/* B0F6D4 80098534 01F95021 */ addu $t2, $t7, $t9
/* B0F6D8 80098538 3C0F8016 */ lui $t7, %hi(gSegments)
/* B0F6DC 8009853C 000EC080 */ sll $t8, $t6, 2
/* B0F6E0 80098540 01F87821 */ addu $t7, $t7, $t8
/* B0F6E4 80098544 8DEF6FA8 */ lw $t7, %lo(gSegments)($t7)
/* B0F6E8 80098548 914B0000 */ lbu $t3, ($t2)
/* B0F6EC 8009854C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff
/* B0F6F0 80098550 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* B0F6F4 80098554 00E1C824 */ and $t9, $a3, $at
/* B0F6F8 80098558 01F95021 */ addu $t2, $t7, $t9
/* B0F6FC 8009855C 000B6100 */ sll $t4, $t3, 4
/* B0F700 80098560 018A1021 */ addu $v0, $t4, $t2
/* B0F704 80098564 3C018000 */ lui $at, 0x8000
/* B0F708 80098568 00414021 */ addu $t0, $v0, $at
/* B0F70C 8009856C 3C010001 */ lui $at, 1
/* B0F710 80098570 3C098016 */ lui $t1, %hi(gSaveContext) # $t1, 0x8016
/* B0F714 80098574 00240821 */ addu $at, $at, $a0
/* B0F718 80098578 2529E660 */ addiu $t1, %lo(gSaveContext) # addiu $t1, $t1, -0x19a0
/* B0F71C 8009857C AC281DF4 */ sw $t0, 0x1df4($at)
/* B0F720 80098580 8D2B0004 */ lw $t3, 4($t1)
/* B0F724 80098584 3C010001 */ lui $at, 1
/* B0F728 80098588 00240821 */ addu $at, $at, $a0
/* B0F72C 8009858C A02B1DE8 */ sb $t3, 0x1de8($at)
/* B0F730 80098590 8D220004 */ lw $v0, 4($t1)
/* B0F734 80098594 850E0000 */ lh $t6, ($t0)
/* B0F738 80098598 3C058012 */ lui $a1, %hi(gLinkObjectIds)
/* B0F73C 8009859C 3C0F8011 */ lui $t7, %hi(gActorOverlayTable+0x14)
/* B0F740 800985A0 00026840 */ sll $t5, $v0, 1
/* B0F744 800985A4 000EC140 */ sll $t8, $t6, 5
/* B0F748 800985A8 00AD2821 */ addu $a1, $a1, $t5
/* B0F74C 800985AC 01F87821 */ addu $t7, $t7, $t8
/* B0F750 800985B0 84A57520 */ lh $a1, %lo(gLinkObjectIds)($a1)
/* B0F754 800985B4 8DEF62B4 */ lw $t7, %lo(gActorOverlayTable+0x14)($t7)
/* B0F758 800985B8 3C010001 */ lui $at, (0x000117A4 >> 16) # lui $at, 1
/* B0F75C 800985BC 342117A4 */ ori $at, (0x000117A4 & 0xFFFF) # ori $at, $at, 0x17a4
/* B0F760 800985C0 00812021 */ addu $a0, $a0, $at
/* B0F764 800985C4 0C025F00 */ jal Object_Spawn
/* B0F768 800985C8 A5E50008 */ sh $a1, 8($t7)
/* B0F76C 800985CC 8FBF0014 */ lw $ra, 0x14($sp)
/* B0F770 800985D0 27BD0018 */ addiu $sp, $sp, 0x18
/* B0F774 800985D4 03E00008 */ jr $ra
/* B0F778 800985D8 00000000 */ nop

View file

@ -1,97 +0,0 @@
.late_rodata
glabel D_80A061C4
.float 0.3
.text
glabel func_80A03148
/* 01518 80A03148 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 0151C 80A0314C AFBF001C */ sw $ra, 0x001C($sp)
/* 01520 80A03150 AFB00018 */ sw $s0, 0x0018($sp)
/* 01524 80A03154 AFA60030 */ sw $a2, 0x0030($sp)
/* 01528 80A03158 C486028C */ lwc1 $f6, 0x028C($a0) ## 0000028C
/* 0152C 80A0315C C4A40000 */ lwc1 $f4, 0x0000($a1) ## 00000000
/* 01530 80A03160 C48A0024 */ lwc1 $f10, 0x0024($a0) ## 00000024
/* 01534 80A03164 C7AC0038 */ lwc1 $f12, 0x0038($sp)
/* 01538 80A03168 46062200 */ add.s $f8, $f4, $f6
/* 0153C 80A0316C C4A60008 */ lwc1 $f6, 0x0008($a1) ## 00000008
/* 01540 80A03170 3C0180A0 */ lui $at, %hi(D_80A061C4) ## $at = 80A00000
/* 01544 80A03174 44877000 */ mtc1 $a3, $f14 ## $f14 = 0.00
/* 01548 80A03178 460A4101 */ sub.s $f4, $f8, $f10
/* 0154C 80A0317C C4880294 */ lwc1 $f8, 0x0294($a0) ## 00000294
/* 01550 80A03180 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 01554 80A03184 460C2402 */ mul.s $f16, $f4, $f12
/* 01558 80A03188 46083280 */ add.s $f10, $f6, $f8
/* 0155C 80A0318C C484002C */ lwc1 $f4, 0x002C($a0) ## 0000002C
/* 01560 80A03190 C42861C4 */ lwc1 $f8, %lo(D_80A061C4)($at)
/* 01564 80A03194 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 01568 80A03198 46045181 */ sub.s $f6, $f10, $f4
/* 0156C 80A0319C 44815000 */ mtc1 $at, $f10 ## $f10 = 30.00
/* 01570 80A031A0 E7B00024 */ swc1 $f16, 0x0024($sp)
/* 01574 80A031A4 460C3482 */ mul.s $f18, $f6, $f12
/* 01578 80A031A8 46086300 */ add.s $f12, $f12, $f8
/* 0157C 80A031AC 460A7380 */ add.s $f14, $f14, $f10
/* 01580 80A031B0 44066000 */ mfc1 $a2, $f12
/* 01584 80A031B4 E7B20020 */ swc1 $f18, 0x0020($sp)
/* 01588 80A031B8 0C280AF6 */ jal func_80A02BD8
/* 0158C 80A031BC E7AE0034 */ swc1 $f14, 0x0034($sp)
/* 01590 80A031C0 C7B00024 */ lwc1 $f16, 0x0024($sp)
/* 01594 80A031C4 C7B20020 */ lwc1 $f18, 0x0020($sp)
/* 01598 80A031C8 C7A80030 */ lwc1 $f8, 0x0030($sp)
/* 0159C 80A031CC 46108102 */ mul.s $f4, $f16, $f16
/* 015A0 80A031D0 C7AE0034 */ lwc1 $f14, 0x0034($sp)
/* 015A4 80A031D4 2604005C */ addiu $a0, $s0, 0x005C ## $a0 = 0000005C
/* 015A8 80A031D8 46129182 */ mul.s $f6, $f18, $f18
/* 015AC 80A031DC 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000
/* 015B0 80A031E0 46062000 */ add.s $f0, $f4, $f6
/* 015B4 80A031E4 46000004 */ sqrt.s $f0, $f0
/* 015B8 80A031E8 4608003C */ c.lt.s $f0, $f8
/* 015BC 80A031EC 00000000 */ nop
/* 015C0 80A031F0 45020004 */ bc1fl .L80A03204
/* 015C4 80A031F4 4600703C */ c.lt.s $f14, $f0
/* 015C8 80A031F8 10000009 */ beq $zero, $zero, .L80A03220
/* 015CC 80A031FC 46004086 */ mov.s $f2, $f8
/* 015D0 80A03200 4600703C */ c.lt.s $f14, $f0
.L80A03204:
/* 015D4 80A03204 00000000 */ nop
/* 015D8 80A03208 45020004 */ bc1fl .L80A0321C
/* 015DC 80A0320C 46000306 */ mov.s $f12, $f0
/* 015E0 80A03210 10000002 */ beq $zero, $zero, .L80A0321C
/* 015E4 80A03214 46007306 */ mov.s $f12, $f14
/* 015E8 80A03218 46000306 */ mov.s $f12, $f0
.L80A0321C:
/* 015EC 80A0321C 46006086 */ mov.s $f2, $f12
.L80A03220:
/* 015F0 80A03220 46020032 */ c.eq.s $f0, $f2
/* 015F4 80A03224 E6020068 */ swc1 $f2, 0x0068($s0) ## 00000068
/* 015F8 80A03228 4503000D */ bc1tl .L80A03260
/* 015FC 80A0322C 44058000 */ mfc1 $a1, $f16
/* 01600 80A03230 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
/* 01604 80A03234 00000000 */ nop
/* 01608 80A03238 460A0032 */ c.eq.s $f0, $f10
/* 0160C 80A0323C 00000000 */ nop
/* 01610 80A03240 45030007 */ bc1tl .L80A03260
/* 01614 80A03244 44058000 */ mfc1 $a1, $f16
/* 01618 80A03248 46001303 */ div.s $f12, $f2, $f0
/* 0161C 80A0324C 460C8402 */ mul.s $f16, $f16, $f12
/* 01620 80A03250 00000000 */ nop
/* 01624 80A03254 460C9482 */ mul.s $f18, $f18, $f12
/* 01628 80A03258 00000000 */ nop
/* 0162C 80A0325C 44058000 */ mfc1 $a1, $f16
.L80A03260:
/* 01630 80A03260 0C01DE80 */ jal Math_ApproxF
/* 01634 80A03264 E7B20020 */ swc1 $f18, 0x0020($sp)
/* 01638 80A03268 C7B20020 */ lwc1 $f18, 0x0020($sp)
/* 0163C 80A0326C 26040064 */ addiu $a0, $s0, 0x0064 ## $a0 = 00000064
/* 01640 80A03270 3C0640A0 */ lui $a2, 0x40A0 ## $a2 = 40A00000
/* 01644 80A03274 44059000 */ mfc1 $a1, $f18
/* 01648 80A03278 0C01DE80 */ jal Math_ApproxF
/* 0164C 80A0327C 00000000 */ nop
/* 01650 80A03280 0C00B5FB */ jal func_8002D7EC
/* 01654 80A03284 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01658 80A03288 8FBF001C */ lw $ra, 0x001C($sp)
/* 0165C 80A0328C 8FB00018 */ lw $s0, 0x0018($sp)
/* 01660 80A03290 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 01664 80A03294 03E00008 */ jr $ra
/* 01668 80A03298 00000000 */ nop

View file

@ -1,493 +0,0 @@
.late_rodata
glabel D_80A061FC
.float 0.03333333507180214
glabel D_80A06200
.float 0.05
glabel D_80A06204
.float 0.008
glabel D_80A06208
.float 0.008
glabel D_80A0620C
.float 1500.0
glabel D_80A06210
.float 0.2
glabel D_80A06214
.float 1500.0
glabel D_80A06218
.float 0.2
glabel D_80A0621C
.float 0.2
glabel D_80A06220
.float 0.2
glabel D_80A06224
.float 8.000000525498763e-05
.text
glabel func_80A03CF8
/* 020C8 80A03CF8 27BDFFA0 */ addiu $sp, $sp, 0xFFA0 ## $sp = FFFFFFA0
/* 020CC 80A03CFC AFBF0024 */ sw $ra, 0x0024($sp)
/* 020D0 80A03D00 AFB00020 */ sw $s0, 0x0020($sp)
/* 020D4 80A03D04 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
/* 020D8 80A03D08 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 020DC 80A03D0C AFA50064 */ sw $a1, 0x0064($sp)
/* 020E0 80A03D10 0C281187 */ jal func_80A0461C
/* 020E4 80A03D14 AFAE0044 */ sw $t6, 0x0044($sp)
/* 020E8 80A03D18 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 020EC 80A03D1C 0C280EAC */ jal func_80A03AB0
/* 020F0 80A03D20 8FA50064 */ lw $a1, 0x0064($sp)
/* 020F4 80A03D24 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 020F8 80A03D28 8FAF0064 */ lw $t7, 0x0064($sp)
/* 020FC 80A03D2C 8FA70044 */ lw $a3, 0x0044($sp)
/* 02100 80A03D30 E7A4003C */ swc1 $f4, 0x003C($sp)
/* 02104 80A03D34 91F81D6C */ lbu $t8, 0x1D6C($t7) ## 00001D6C
/* 02108 80A03D38 24E70968 */ addiu $a3, $a3, 0x0968 ## $a3 = 00000968
/* 0210C 80A03D3C 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000968
/* 02110 80A03D40 13000056 */ beq $t8, $zero, .L80A03E9C
/* 02114 80A03D44 26050024 */ addiu $a1, $s0, 0x0024 ## $a1 = 00000024
/* 02118 80A03D48 8DF91DAC */ lw $t9, 0x1DAC($t7) ## 00001DAC
/* 0211C 80A03D4C 24060008 */ addiu $a2, $zero, 0x0008 ## $a2 = 00000008
/* 02120 80A03D50 53200053 */ beql $t9, $zero, .L80A03EA0
/* 02124 80A03D54 AFA50030 */ sw $a1, 0x0030($sp)
/* 02128 80A03D58 27A40054 */ addiu $a0, $sp, 0x0054 ## $a0 = FFFFFFF4
/* 0212C 80A03D5C 0C2817C4 */ jal EnElf_GetCutsceneNextPos
/* 02130 80A03D60 01E02825 */ or $a1, $t7, $zero ## $a1 = 00000000
/* 02134 80A03D64 8FA80064 */ lw $t0, 0x0064($sp)
/* 02138 80A03D68 24010005 */ addiu $at, $zero, 0x0005 ## $at = 00000005
/* 0213C 80A03D6C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 02140 80A03D70 8D091DAC */ lw $t1, 0x1DAC($t0) ## 00001DAC
/* 02144 80A03D74 8FA50064 */ lw $a1, 0x0064($sp)
/* 02148 80A03D78 952A0000 */ lhu $t2, 0x0000($t1) ## 00000000
/* 0214C 80A03D7C 55410004 */ bnel $t2, $at, .L80A03D90
/* 02150 80A03D80 8E0D0024 */ lw $t5, 0x0024($s0) ## 00000024
/* 02154 80A03D84 0C28126D */ jal EnElf_SpawnSparkles
/* 02158 80A03D88 24060010 */ addiu $a2, $zero, 0x0010 ## $a2 = 00000010
/* 0215C 80A03D8C 8E0D0024 */ lw $t5, 0x0024($s0) ## 00000024
.L80A03D90:
/* 02160 80A03D90 27AB0048 */ addiu $t3, $sp, 0x0048 ## $t3 = FFFFFFE8
/* 02164 80A03D94 2401000A */ addiu $at, $zero, 0x000A ## $at = 0000000A
/* 02168 80A03D98 AD6D0000 */ sw $t5, 0x0000($t3) ## FFFFFFE8
/* 0216C 80A03D9C 8E0C0028 */ lw $t4, 0x0028($s0) ## 00000028
/* 02170 80A03DA0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 02174 80A03DA4 27A50054 */ addiu $a1, $sp, 0x0054 ## $a1 = FFFFFFF4
/* 02178 80A03DA8 AD6C0004 */ sw $t4, 0x0004($t3) ## FFFFFFEC
/* 0217C 80A03DAC 8E0D002C */ lw $t5, 0x002C($s0) ## 0000002C
/* 02180 80A03DB0 3C063E4C */ lui $a2, 0x3E4C ## $a2 = 3E4C0000
/* 02184 80A03DB4 AD6D0008 */ sw $t5, 0x0008($t3) ## FFFFFFF0
/* 02188 80A03DB8 860E02A8 */ lh $t6, 0x02A8($s0) ## 000002A8
/* 0218C 80A03DBC 15C10006 */ bne $t6, $at, .L80A03DD8
/* 02190 80A03DC0 00000000 */ nop
/* 02194 80A03DC4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 02198 80A03DC8 0C280BB0 */ jal func_80A02EC0
/* 0219C 80A03DCC 27A50054 */ addiu $a1, $sp, 0x0054 ## $a1 = FFFFFFF4
/* 021A0 80A03DD0 10000004 */ beq $zero, $zero, .L80A03DE4
/* 021A4 80A03DD4 8FB80064 */ lw $t8, 0x0064($sp)
.L80A03DD8:
/* 021A8 80A03DD8 0C280B26 */ jal func_80A02C98
/* 021AC 80A03DDC 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 0000CCCD
/* 021B0 80A03DE0 8FB80064 */ lw $t8, 0x0064($sp)
.L80A03DE4:
/* 021B4 80A03DE4 24010034 */ addiu $at, $zero, 0x0034 ## $at = 00000034
/* 021B8 80A03DE8 3C0F8016 */ lui $t7, %hi(gSaveContext+0x1360)
/* 021BC 80A03DEC 871900A4 */ lh $t9, 0x00A4($t8) ## 000000A4
/* 021C0 80A03DF0 17210028 */ bne $t9, $at, .L80A03E94
/* 021C4 80A03DF4 00000000 */ nop
/* 021C8 80A03DF8 8DEFF9C0 */ lw $t7, %lo(gSaveContext+0x1360)($t7)
/* 021CC 80A03DFC 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 021D0 80A03E00 8FA80064 */ lw $t0, 0x0064($sp)
/* 021D4 80A03E04 15E10023 */ bne $t7, $at, .L80A03E94
/* 021D8 80A03E08 00000000 */ nop
/* 021DC 80A03E0C 95091D74 */ lhu $t1, 0x1D74($t0) ## 00001D74
/* 021E0 80A03E10 24010037 */ addiu $at, $zero, 0x0037 ## $at = 00000037
/* 021E4 80A03E14 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 021E8 80A03E18 55210004 */ bnel $t1, $at, .L80A03E2C
/* 021EC 80A03E1C 860A02A8 */ lh $t2, 0x02A8($s0) ## 000002A8
/* 021F0 80A03E20 0C00BE0A */ jal Audio_PlayActorSound2
/* 021F4 80A03E24 2405281B */ addiu $a1, $zero, 0x281B ## $a1 = 0000281B
/* 021F8 80A03E28 860A02A8 */ lh $t2, 0x02A8($s0) ## 000002A8
.L80A03E2C:
/* 021FC 80A03E2C 24010006 */ addiu $at, $zero, 0x0006 ## $at = 00000006
/* 02200 80A03E30 15410018 */ bne $t2, $at, .L80A03E94
/* 02204 80A03E34 00000000 */ nop
/* 02208 80A03E38 960202C4 */ lhu $v0, 0x02C4($s0) ## 000002C4
/* 0220C 80A03E3C C7A6004C */ lwc1 $f6, 0x004C($sp)
/* 02210 80A03E40 C7B0004C */ lwc1 $f16, 0x004C($sp)
/* 02214 80A03E44 304B0040 */ andi $t3, $v0, 0x0040 ## $t3 = 00000000
/* 02218 80A03E48 5160000A */ beql $t3, $zero, .L80A03E74
/* 0221C 80A03E4C C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028
/* 02220 80A03E50 C6080028 */ lwc1 $f8, 0x0028($s0) ## 00000028
/* 02224 80A03E54 304CFFBF */ andi $t4, $v0, 0xFFBF ## $t4 = 00000000
/* 02228 80A03E58 4608303C */ c.lt.s $f6, $f8
/* 0222C 80A03E5C 00000000 */ nop
/* 02230 80A03E60 4500000C */ bc1f .L80A03E94
/* 02234 80A03E64 00000000 */ nop
/* 02238 80A03E68 1000000A */ beq $zero, $zero, .L80A03E94
/* 0223C 80A03E6C A60C02C4 */ sh $t4, 0x02C4($s0) ## 000002C4
/* 02240 80A03E70 C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028
.L80A03E74:
/* 02244 80A03E74 344D0040 */ ori $t5, $v0, 0x0040 ## $t5 = 00000040
/* 02248 80A03E78 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0224C 80A03E7C 4610503C */ c.lt.s $f10, $f16
/* 02250 80A03E80 2405281B */ addiu $a1, $zero, 0x281B ## $a1 = 0000281B
/* 02254 80A03E84 45000003 */ bc1f .L80A03E94
/* 02258 80A03E88 00000000 */ nop
/* 0225C 80A03E8C 0C00BE0A */ jal Audio_PlayActorSound2
/* 02260 80A03E90 A60D02C4 */ sh $t5, 0x02C4($s0) ## 000002C4
.L80A03E94:
/* 02264 80A03E94 10000120 */ beq $zero, $zero, .L80A04318
/* 02268 80A03E98 860202A8 */ lh $v0, 0x02A8($s0) ## 000002A8
.L80A03E9C:
/* 0226C 80A03E9C AFA50030 */ sw $a1, 0x0030($sp)
.L80A03EA0:
/* 02270 80A03EA0 0C01DFE4 */ jal Math_Vec3f_DistXYZ
/* 02274 80A03EA4 AFA7002C */ sw $a3, 0x002C($sp)
/* 02278 80A03EA8 860202A8 */ lh $v0, 0x02A8($s0) ## 000002A8
/* 0227C 80A03EAC 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007
/* 02280 80A03EB0 8FA7002C */ lw $a3, 0x002C($sp)
/* 02284 80A03EB4 1041000B */ beq $v0, $at, .L80A03EE4
/* 02288 80A03EB8 46000086 */ mov.s $f2, $f0
/* 0228C 80A03EBC 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008
/* 02290 80A03EC0 10410044 */ beq $v0, $at, .L80A03FD4
/* 02294 80A03EC4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 02298 80A03EC8 2401000B */ addiu $at, $zero, 0x000B ## $at = 0000000B
/* 0229C 80A03ECC 10410053 */ beq $v0, $at, .L80A0401C
/* 022A0 80A03ED0 2401000C */ addiu $at, $zero, 0x000C ## $at = 0000000C
/* 022A4 80A03ED4 1041008A */ beq $v0, $at, .L80A04100
/* 022A8 80A03ED8 8FAE0064 */ lw $t6, 0x0064($sp)
/* 022AC 80A03EDC 100000A4 */ beq $zero, $zero, .L80A04170
/* 022B0 80A03EE0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L80A03EE4:
/* 022B4 80A03EE4 860E02AE */ lh $t6, 0x02AE($s0) ## 000002AE
/* 022B8 80A03EE8 3C0180A0 */ lui $at, %hi(D_80A061FC) ## $at = 80A00000
/* 022BC 80A03EEC C42661FC */ lwc1 $f6, %lo(D_80A061FC)($at)
/* 022C0 80A03EF0 448E9000 */ mtc1 $t6, $f18 ## $f18 = 0.00
/* 022C4 80A03EF4 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 022C8 80A03EF8 44815000 */ mtc1 $at, $f10 ## $f10 = 1.00
/* 022CC 80A03EFC 46809120 */ cvt.s.w $f4, $f18
/* 022D0 80A03F00 E7A20038 */ swc1 $f2, 0x0038($sp)
/* 022D4 80A03F04 AFA7002C */ sw $a3, 0x002C($sp)
/* 022D8 80A03F08 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 022DC 80A03F0C 00E02825 */ or $a1, $a3, $zero ## $a1 = 00000000
/* 022E0 80A03F10 46062202 */ mul.s $f8, $f4, $f6
/* 022E4 80A03F14 46085401 */ sub.s $f16, $f10, $f8
/* 022E8 80A03F18 44068000 */ mfc1 $a2, $f16
/* 022EC 80A03F1C 0C280B26 */ jal func_80A02C98
/* 022F0 80A03F20 00000000 */ nop
/* 022F4 80A03F24 8FA4002C */ lw $a0, 0x002C($sp)
/* 022F8 80A03F28 0C01DFE4 */ jal Math_Vec3f_DistXYZ
/* 022FC 80A03F2C 8FA50030 */ lw $a1, 0x0030($sp)
/* 02300 80A03F30 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000
/* 02304 80A03F34 C7A20038 */ lwc1 $f2, 0x0038($sp)
/* 02308 80A03F38 44819000 */ mtc1 $at, $f18 ## $f18 = 7.00
/* 0230C 80A03F3C 3C0141C8 */ lui $at, 0x41C8 ## $at = 41C80000
/* 02310 80A03F40 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 02314 80A03F44 4612103C */ c.lt.s $f2, $f18
/* 02318 80A03F48 24060010 */ addiu $a2, $zero, 0x0010 ## $a2 = 00000010
/* 0231C 80A03F4C 45020006 */ bc1fl .L80A03F68
/* 02320 80A03F50 44813000 */ mtc1 $at, $f6 ## $f6 = 25.00
/* 02324 80A03F54 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 02328 80A03F58 A60002C0 */ sh $zero, 0x02C0($s0) ## 000002C0
/* 0232C 80A03F5C 10000019 */ beq $zero, $zero, .L80A03FC4
/* 02330 80A03F60 E7A4003C */ swc1 $f4, 0x003C($sp)
/* 02334 80A03F64 44813000 */ mtc1 $at, $f6 ## $f6 = 25.00
.L80A03F68:
/* 02338 80A03F68 3C0180A0 */ lui $at, %hi(D_80A06208) ## $at = 80A00000
/* 0233C 80A03F6C 4606103C */ c.lt.s $f2, $f6
/* 02340 80A03F70 00000000 */ nop
/* 02344 80A03F74 45000011 */ bc1f .L80A03FBC
/* 02348 80A03F78 00000000 */ nop
/* 0234C 80A03F7C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 02350 80A03F80 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00
/* 02354 80A03F84 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 02358 80A03F88 44815000 */ mtc1 $at, $f10 ## $f10 = 5.00
/* 0235C 80A03F8C 3C0180A0 */ lui $at, %hi(D_80A06200) ## $at = 80A00000
/* 02360 80A03F90 C4306200 */ lwc1 $f16, %lo(D_80A06200)($at)
/* 02364 80A03F94 460A0201 */ sub.s $f8, $f0, $f10
/* 02368 80A03F98 3C0180A0 */ lui $at, %hi(D_80A06204) ## $at = 80A00000
/* 0236C 80A03F9C C4266204 */ lwc1 $f6, %lo(D_80A06204)($at)
/* 02370 80A03FA0 46104302 */ mul.s $f12, $f8, $f16
/* 02374 80A03FA4 460C1301 */ sub.s $f12, $f2, $f12
/* 02378 80A03FA8 460C6482 */ mul.s $f18, $f12, $f12
/* 0237C 80A03FAC 46121101 */ sub.s $f4, $f2, $f18
/* 02380 80A03FB0 46062302 */ mul.s $f12, $f4, $f6
/* 02384 80A03FB4 10000003 */ beq $zero, $zero, .L80A03FC4
/* 02388 80A03FB8 E7AC003C */ swc1 $f12, 0x003C($sp)
.L80A03FBC:
/* 0238C 80A03FBC C42A6208 */ lwc1 $f10, %lo(D_80A06208)($at)
/* 02390 80A03FC0 E7AA003C */ swc1 $f10, 0x003C($sp)
.L80A03FC4:
/* 02394 80A03FC4 0C28126D */ jal EnElf_SpawnSparkles
/* 02398 80A03FC8 8FA50064 */ lw $a1, 0x0064($sp)
/* 0239C 80A03FCC 100000D2 */ beq $zero, $zero, .L80A04318
/* 023A0 80A03FD0 860202A8 */ lh $v0, 0x02A8($s0) ## 000002A8
.L80A03FD4:
/* 023A4 80A03FD4 3C063E4C */ lui $a2, 0x3E4C ## $a2 = 3E4C0000
/* 023A8 80A03FD8 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3E4CCCCD
/* 023AC 80A03FDC 00E02825 */ or $a1, $a3, $zero ## $a1 = 00000000
/* 023B0 80A03FE0 0C280B26 */ jal func_80A02C98
/* 023B4 80A03FE4 AFA7002C */ sw $a3, 0x002C($sp)
/* 023B8 80A03FE8 8FA7002C */ lw $a3, 0x002C($sp)
/* 023BC 80A03FEC 8FB80030 */ lw $t8, 0x0030($sp)
/* 023C0 80A03FF0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 023C4 80A03FF4 8CEF0000 */ lw $t7, 0x0000($a3) ## 00000000
/* 023C8 80A03FF8 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 023CC 80A03FFC AF0F0000 */ sw $t7, 0x0000($t8) ## 00000000
/* 023D0 80A04000 8CF90004 */ lw $t9, 0x0004($a3) ## 00000004
/* 023D4 80A04004 AF190004 */ sw $t9, 0x0004($t8) ## 00000004
/* 023D8 80A04008 8CEF0008 */ lw $t7, 0x0008($a3) ## 00000008
/* 023DC 80A0400C 0C280A6A */ jal func_80A029A8
/* 023E0 80A04010 AF0F0008 */ sw $t7, 0x0008($t8) ## 00000008
/* 023E4 80A04014 100000C0 */ beq $zero, $zero, .L80A04318
/* 023E8 80A04018 860202A8 */ lh $v0, 0x02A8($s0) ## 000002A8
.L80A0401C:
/* 023EC 80A0401C 8CEA0000 */ lw $t2, 0x0000($a3) ## 00000000
/* 023F0 80A04020 27A80054 */ addiu $t0, $sp, 0x0054 ## $t0 = FFFFFFF4
/* 023F4 80A04024 3C0180A0 */ lui $at, %hi(D_80A0620C) ## $at = 80A00000
/* 023F8 80A04028 AD0A0000 */ sw $t2, 0x0000($t0) ## FFFFFFF4
/* 023FC 80A0402C 8CE90004 */ lw $t1, 0x0004($a3) ## 00000004
/* 02400 80A04030 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 02404 80A04034 27A50054 */ addiu $a1, $sp, 0x0054 ## $a1 = FFFFFFF4
/* 02408 80A04038 AD090004 */ sw $t1, 0x0004($t0) ## FFFFFFF8
/* 0240C 80A0403C 8CEA0008 */ lw $t2, 0x0008($a3) ## 00000008
/* 02410 80A04040 AD0A0008 */ sw $t2, 0x0008($t0) ## FFFFFFFC
/* 02414 80A04044 C6100054 */ lwc1 $f16, 0x0054($s0) ## 00000054
/* 02418 80A04048 C428620C */ lwc1 $f8, %lo(D_80A0620C)($at)
/* 0241C 80A0404C C7A40058 */ lwc1 $f4, 0x0058($sp)
/* 02420 80A04050 46104482 */ mul.s $f18, $f8, $f16
/* 02424 80A04054 46122180 */ add.s $f6, $f4, $f18
/* 02428 80A04058 0C280B8C */ jal func_80A02E30
/* 0242C 80A0405C E7A60058 */ swc1 $f6, 0x0058($sp)
/* 02430 80A04060 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 02434 80A04064 8FA50064 */ lw $a1, 0x0064($sp)
/* 02438 80A04068 0C28126D */ jal EnElf_SpawnSparkles
/* 0243C 80A0406C 24060010 */ addiu $a2, $zero, 0x0010 ## $a2 = 00000010
/* 02440 80A04070 3C014198 */ lui $at, 0x4198 ## $at = 41980000
/* 02444 80A04074 44815000 */ mtc1 $at, $f10 ## $f10 = 19.00
/* 02448 80A04078 C60002B8 */ lwc1 $f0, 0x02B8($s0) ## 000002B8
/* 0244C 80A0407C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 02450 80A04080 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 02454 80A04084 460A003E */ c.le.s $f0, $f10
/* 02458 80A04088 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 0245C 80A0408C 45020007 */ bc1fl .L80A040AC
/* 02460 80A04090 3C0141A8 */ lui $at, 0x41A8 ## $at = 41A80000
/* 02464 80A04094 44814000 */ mtc1 $at, $f8 ## $f8 = 21.00
/* 02468 80A04098 00000000 */ nop
/* 0246C 80A0409C 46080400 */ add.s $f16, $f0, $f8
/* 02470 80A040A0 E61002B8 */ swc1 $f16, 0x02B8($s0) ## 000002B8
/* 02474 80A040A4 C60002B8 */ lwc1 $f0, 0x02B8($s0) ## 000002B8
/* 02478 80A040A8 3C0141A8 */ lui $at, 0x41A8 ## $at = 41A80000
.L80A040AC:
/* 0247C 80A040AC 44812000 */ mtc1 $at, $f4 ## $f4 = 21.00
/* 02480 80A040B0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 02484 80A040B4 4600203E */ c.le.s $f4, $f0
/* 02488 80A040B8 00000000 */ nop
/* 0248C 80A040BC 45020006 */ bc1fl .L80A040D8
/* 02490 80A040C0 860202C0 */ lh $v0, 0x02C0($s0) ## 000002C0
/* 02494 80A040C4 44819000 */ mtc1 $at, $f18 ## $f18 = 1.00
/* 02498 80A040C8 00000000 */ nop
/* 0249C 80A040CC 46120181 */ sub.s $f6, $f0, $f18
/* 024A0 80A040D0 E60602B8 */ swc1 $f6, 0x02B8($s0) ## 000002B8
/* 024A4 80A040D4 860202C0 */ lh $v0, 0x02C0($s0) ## 000002C0
.L80A040D8:
/* 024A8 80A040D8 28410020 */ slti $at, $v0, 0x0020
/* 024AC 80A040DC 10200006 */ beq $at, $zero, .L80A040F8
/* 024B0 80A040E0 00025900 */ sll $t3, $v0, 4
/* 024B4 80A040E4 01625823 */ subu $t3, $t3, $v0
/* 024B8 80A040E8 000B5900 */ sll $t3, $t3, 4
/* 024BC 80A040EC 256C0200 */ addiu $t4, $t3, 0x0200 ## $t4 = 00000200
/* 024C0 80A040F0 0C280A67 */ jal func_80A0299C
/* 024C4 80A040F4 A60C02B0 */ sh $t4, 0x02B0($s0) ## 000002B0
.L80A040F8:
/* 024C8 80A040F8 10000087 */ beq $zero, $zero, .L80A04318
/* 024CC 80A040FC 860202A8 */ lh $v0, 0x02A8($s0) ## 000002A8
.L80A04100:
/* 024D0 80A04100 85D807A0 */ lh $t8, 0x07A0($t6) ## 000007A0
/* 024D4 80A04104 27AD0054 */ addiu $t5, $sp, 0x0054 ## $t5 = FFFFFFF4
/* 024D8 80A04108 3C01C4FA */ lui $at, 0xC4FA ## $at = C4FA0000
/* 024DC 80A0410C 0018C880 */ sll $t9, $t8, 2
/* 024E0 80A04110 01D97821 */ addu $t7, $t6, $t9
/* 024E4 80A04114 8DE80790 */ lw $t0, 0x0790($t7) ## 00000790
/* 024E8 80A04118 44815000 */ mtc1 $at, $f10 ## $f10 = -2000.00
/* 024EC 80A0411C 3C0180A0 */ lui $at, %hi(D_80A06210) ## $at = 80A00000
/* 024F0 80A04120 8D0A005C */ lw $t2, 0x005C($t0) ## 0000005C
/* 024F4 80A04124 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 024F8 80A04128 27A50054 */ addiu $a1, $sp, 0x0054 ## $a1 = FFFFFFF4
/* 024FC 80A0412C ADAA0000 */ sw $t2, 0x0000($t5) ## FFFFFFF4
/* 02500 80A04130 8D090060 */ lw $t1, 0x0060($t0) ## 00000060
/* 02504 80A04134 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 02508 80A04138 3C0741A0 */ lui $a3, 0x41A0 ## $a3 = 41A00000
/* 0250C 80A0413C ADA90004 */ sw $t1, 0x0004($t5) ## FFFFFFF8
/* 02510 80A04140 8D0A0064 */ lw $t2, 0x0064($t0) ## 00000064
/* 02514 80A04144 ADAA0008 */ sw $t2, 0x0008($t5) ## FFFFFFFC
/* 02518 80A04148 C6080054 */ lwc1 $f8, 0x0054($s0) ## 00000054
/* 0251C 80A0414C C7A40058 */ lwc1 $f4, 0x0058($sp)
/* 02520 80A04150 C4266210 */ lwc1 $f6, %lo(D_80A06210)($at)
/* 02524 80A04154 46085402 */ mul.s $f16, $f10, $f8
/* 02528 80A04158 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 0252C 80A0415C 46102480 */ add.s $f18, $f4, $f16
/* 02530 80A04160 0C280C52 */ jal func_80A03148
/* 02534 80A04164 E7B20058 */ swc1 $f18, 0x0058($sp)
/* 02538 80A04168 1000006B */ beq $zero, $zero, .L80A04318
/* 0253C 80A0416C 860202A8 */ lh $v0, 0x02A8($s0) ## 000002A8
.L80A04170:
/* 02540 80A04170 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 02544 80A04174 0C280A6A */ jal func_80A029A8
/* 02548 80A04178 E7A20038 */ swc1 $f2, 0x0038($sp)
/* 0254C 80A0417C 8FAC0064 */ lw $t4, 0x0064($sp)
/* 02550 80A04180 C7A20038 */ lwc1 $f2, 0x0038($sp)
/* 02554 80A04184 27AB0054 */ addiu $t3, $sp, 0x0054 ## $t3 = FFFFFFF4
/* 02558 80A04188 8D8E1C90 */ lw $t6, 0x1C90($t4) ## 00001C90
/* 0255C 80A0418C 3C0180A0 */ lui $at, %hi(D_80A06214) ## $at = 80A00000
/* 02560 80A04190 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 02564 80A04194 AD6E0000 */ sw $t6, 0x0000($t3) ## FFFFFFF4
/* 02568 80A04198 8D981C94 */ lw $t8, 0x1C94($t4) ## 00001C94
/* 0256C 80A0419C 27A50054 */ addiu $a1, $sp, 0x0054 ## $a1 = FFFFFFF4
/* 02570 80A041A0 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 02574 80A041A4 AD780004 */ sw $t8, 0x0004($t3) ## FFFFFFF8
/* 02578 80A041A8 8D8E1C98 */ lw $t6, 0x1C98($t4) ## 00001C98
/* 0257C 80A041AC AD6E0008 */ sw $t6, 0x0008($t3) ## FFFFFFFC
/* 02580 80A041B0 C6080054 */ lwc1 $f8, 0x0054($s0) ## 00000054
/* 02584 80A041B4 C42A6214 */ lwc1 $f10, %lo(D_80A06214)($at)
/* 02588 80A041B8 C7B00058 */ lwc1 $f16, 0x0058($sp)
/* 0258C 80A041BC 8FB90064 */ lw $t9, 0x0064($sp)
/* 02590 80A041C0 46085102 */ mul.s $f4, $f10, $f8
/* 02594 80A041C4 3C0180A0 */ lui $at, %hi(D_80A06218) ## $at = 80A00000
/* 02598 80A041C8 46048480 */ add.s $f18, $f16, $f4
/* 0259C 80A041CC E7B20058 */ swc1 $f18, 0x0058($sp)
/* 025A0 80A041D0 8F221CC8 */ lw $v0, 0x1CC8($t9) ## 00001CC8
/* 025A4 80A041D4 50400013 */ beql $v0, $zero, .L80A04224
/* 025A8 80A041D8 960F02BE */ lhu $t7, 0x02BE($s0) ## 000002BE
/* 025AC 80A041DC C4266218 */ lwc1 $f6, %lo(D_80A06218)($at)
/* 025B0 80A041E0 3C0741A0 */ lui $a3, 0x41A0 ## $a3 = 41A00000
/* 025B4 80A041E4 0C280C52 */ jal func_80A03148
/* 025B8 80A041E8 E7A60010 */ swc1 $f6, 0x0010($sp)
/* 025BC 80A041EC 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 025C0 80A041F0 44814000 */ mtc1 $at, $f8 ## $f8 = 5.00
/* 025C4 80A041F4 C60A0068 */ lwc1 $f10, 0x0068($s0) ## 00000068
/* 025C8 80A041F8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 025CC 80A041FC 8FA50064 */ lw $a1, 0x0064($sp)
/* 025D0 80A04200 460A403E */ c.le.s $f8, $f10
/* 025D4 80A04204 00000000 */ nop
/* 025D8 80A04208 45020043 */ bc1fl .L80A04318
/* 025DC 80A0420C 860202A8 */ lh $v0, 0x02A8($s0) ## 000002A8
/* 025E0 80A04210 0C28126D */ jal EnElf_SpawnSparkles
/* 025E4 80A04214 24060010 */ addiu $a2, $zero, 0x0010 ## $a2 = 00000010
/* 025E8 80A04218 1000003F */ beq $zero, $zero, .L80A04318
/* 025EC 80A0421C 860202A8 */ lh $v0, 0x02A8($s0) ## 000002A8
/* 025F0 80A04220 960F02BE */ lhu $t7, 0x02BE($s0) ## 000002BE
.L80A04224:
/* 025F4 80A04224 3C0140E0 */ lui $at, 0x40E0 ## $at = 40E00000
/* 025F8 80A04228 31ED001F */ andi $t5, $t7, 0x001F ## $t5 = 00000000
/* 025FC 80A0422C 55A0000A */ bnel $t5, $zero, .L80A04258
/* 02600 80A04230 960202C4 */ lhu $v0, 0x02C4($s0) ## 000002C4
/* 02604 80A04234 44816000 */ mtc1 $at, $f12 ## $f12 = 7.00
/* 02608 80A04238 0C00CFBE */ jal Math_Rand_ZeroFloat
/* 0260C 80A0423C E7A20038 */ swc1 $f2, 0x0038($sp)
/* 02610 80A04240 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 02614 80A04244 44818000 */ mtc1 $at, $f16 ## $f16 = 3.00
/* 02618 80A04248 C7A20038 */ lwc1 $f2, 0x0038($sp)
/* 0261C 80A0424C 46100100 */ add.s $f4, $f0, $f16
/* 02620 80A04250 E60402A0 */ swc1 $f4, 0x02A0($s0) ## 000002A0
/* 02624 80A04254 960202C4 */ lhu $v0, 0x02C4($s0) ## 000002C4
.L80A04258:
/* 02628 80A04258 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0262C 80A0425C 27A50054 */ addiu $a1, $sp, 0x0054 ## $a1 = FFFFFFF4
/* 02630 80A04260 30480002 */ andi $t0, $v0, 0x0002 ## $t0 = 00000000
/* 02634 80A04264 11000014 */ beq $t0, $zero, .L80A042B8
/* 02638 80A04268 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 0263C 80A0426C 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 02640 80A04270 44819000 */ mtc1 $at, $f18 ## $f18 = 30.00
/* 02644 80A04274 38490002 */ xori $t1, $v0, 0x0002 ## $t1 = 00000002
/* 02648 80A04278 3C0180A0 */ lui $at, %hi(D_80A0621C) ## $at = 80A00000
/* 0264C 80A0427C 4612103C */ c.lt.s $f2, $f18
/* 02650 80A04280 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 02654 80A04284 45000002 */ bc1f .L80A04290
/* 02658 80A04288 00000000 */ nop
/* 0265C 80A0428C A60902C4 */ sh $t1, 0x02C4($s0) ## 000002C4
.L80A04290:
/* 02660 80A04290 C426621C */ lwc1 $f6, %lo(D_80A0621C)($at)
/* 02664 80A04294 3C0741A0 */ lui $a3, 0x41A0 ## $a3 = 41A00000
/* 02668 80A04298 0C280C52 */ jal func_80A03148
/* 0266C 80A0429C E7A60010 */ swc1 $f6, 0x0010($sp)
/* 02670 80A042A0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 02674 80A042A4 8FA50064 */ lw $a1, 0x0064($sp)
/* 02678 80A042A8 0C28126D */ jal EnElf_SpawnSparkles
/* 0267C 80A042AC 24060010 */ addiu $a2, $zero, 0x0010 ## $a2 = 00000010
/* 02680 80A042B0 10000019 */ beq $zero, $zero, .L80A04318
/* 02684 80A042B4 860202A8 */ lh $v0, 0x02A8($s0) ## 000002A8
.L80A042B8:
/* 02688 80A042B8 44815000 */ mtc1 $at, $f10 ## $f10 = 0.00
/* 0268C 80A042BC 00000000 */ nop
/* 02690 80A042C0 4602503C */ c.lt.s $f10, $f2
/* 02694 80A042C4 00000000 */ nop
/* 02698 80A042C8 4500000A */ bc1f .L80A042F4
/* 0269C 80A042CC 00000000 */ nop
/* 026A0 80A042D0 920B02C7 */ lbu $t3, 0x02C7($s0) ## 000002C7
/* 026A4 80A042D4 344A0002 */ ori $t2, $v0, 0x0002 ## $t2 = 00000002
/* 026A8 80A042D8 A60A02C4 */ sh $t2, 0x02C4($s0) ## 000002C4
/* 026AC 80A042DC 15600003 */ bne $t3, $zero, .L80A042EC
/* 026B0 80A042E0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 026B4 80A042E4 0C00BE0A */ jal Audio_PlayActorSound2
/* 026B8 80A042E8 2405281B */ addiu $a1, $zero, 0x281B ## $a1 = 0000281B
.L80A042EC:
/* 026BC 80A042EC 240C0064 */ addiu $t4, $zero, 0x0064 ## $t4 = 00000064
/* 026C0 80A042F0 A60C02C0 */ sh $t4, 0x02C0($s0) ## 000002C0
.L80A042F4:
/* 026C4 80A042F4 3C0180A0 */ lui $at, %hi(D_80A06220) ## $at = 80A00000
/* 026C8 80A042F8 C4286220 */ lwc1 $f8, %lo(D_80A06220)($at)
/* 026CC 80A042FC 8E0702A0 */ lw $a3, 0x02A0($s0) ## 000002A0
/* 026D0 80A04300 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 026D4 80A04304 27A50054 */ addiu $a1, $sp, 0x0054 ## $a1 = FFFFFFF4
/* 026D8 80A04308 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 026DC 80A0430C 0C280C52 */ jal func_80A03148
/* 026E0 80A04310 E7A80010 */ swc1 $f8, 0x0010($sp)
/* 026E4 80A04314 860202A8 */ lh $v0, 0x02A8($s0) ## 000002A8
.L80A04318:
/* 026E8 80A04318 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007
/* 026EC 80A0431C 14410003 */ bne $v0, $at, .L80A0432C
/* 026F0 80A04320 C7B0003C */ lwc1 $f16, 0x003C($sp)
/* 026F4 80A04324 10000011 */ beq $zero, $zero, .L80A0436C
/* 026F8 80A04328 E6100050 */ swc1 $f16, 0x0050($s0) ## 00000050
.L80A0432C:
/* 026FC 80A0432C 24010008 */ addiu $at, $zero, 0x0008 ## $at = 00000008
/* 02700 80A04330 14410004 */ bne $v0, $at, .L80A04344
/* 02704 80A04334 26040050 */ addiu $a0, $s0, 0x0050 ## $a0 = 00000050
/* 02708 80A04338 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 0270C 80A0433C 1000000B */ beq $zero, $zero, .L80A0436C
/* 02710 80A04340 E6040050 */ swc1 $f4, 0x0050($s0) ## 00000050
.L80A04344:
/* 02714 80A04344 3C0180A0 */ lui $at, %hi(D_80A06224) ## $at = 80A00000
/* 02718 80A04348 C4326224 */ lwc1 $f18, %lo(D_80A06224)($at)
/* 0271C 80A0434C 3C053C03 */ lui $a1, 0x3C03 ## $a1 = 3C030000
/* 02720 80A04350 3C063E99 */ lui $a2, 0x3E99 ## $a2 = 3E990000
/* 02724 80A04354 3C073A51 */ lui $a3, 0x3A51 ## $a3 = 3A510000
/* 02728 80A04358 34E7B718 */ ori $a3, $a3, 0xB718 ## $a3 = 3A51B718
/* 0272C 80A0435C 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3E99999A
/* 02730 80A04360 34A5126F */ ori $a1, $a1, 0x126F ## $a1 = 3C03126F
/* 02734 80A04364 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 02738 80A04368 E7B20010 */ swc1 $f18, 0x0010($sp)
.L80A0436C:
/* 0273C 80A0436C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 02740 80A04370 0C280ECA */ jal EnElf_UpdateLights
/* 02744 80A04374 8FA50064 */ lw $a1, 0x0064($sp)
/* 02748 80A04378 8FBF0024 */ lw $ra, 0x0024($sp)
/* 0274C 80A0437C 8FB00020 */ lw $s0, 0x0020($sp)
/* 02750 80A04380 27BD0060 */ addiu $sp, $sp, 0x0060 ## $sp = 00000000
/* 02754 80A04384 03E00008 */ jr $ra
/* 02758 80A04388 00000000 */ nop

View file

@ -1,171 +0,0 @@
.late_rodata
glabel D_80A7DFE8
.float 0.7
glabel D_80A7DFEC
.float 1.4
glabel D_80A7DFF0
.float 1.9
.text
glabel func_80A7C5EC
/* 007CC 80A7C5EC 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 007D0 80A7C5F0 AFBF0024 */ sw $ra, 0x0024($sp)
/* 007D4 80A7C5F4 AFB00020 */ sw $s0, 0x0020($sp)
/* 007D8 80A7C5F8 AFA50044 */ sw $a1, 0x0044($sp)
/* 007DC 80A7C5FC 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
/* 007E0 80A7C600 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 007E4 80A7C604 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 007E8 80A7C608 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 007EC 80A7C60C 31CF0003 */ andi $t7, $t6, 0x0003 ## $t7 = 00000000
/* 007F0 80A7C610 A7AF0034 */ sh $t7, 0x0034($sp)
/* 007F4 80A7C614 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 007F8 80A7C618 24840068 */ addiu $a0, $a0, 0x0068 ## $a0 = 00000068
/* 007FC 80A7C61C 3C053FC0 */ lui $a1, 0x3FC0 ## $a1 = 3FC00000
/* 00800 80A7C620 3C073F00 */ lui $a3, 0x3F00 ## $a3 = 3F000000
/* 00804 80A7C624 0C01E0C4 */ jal Math_SmoothScaleMaxMinF
/* 00808 80A7C628 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 0080C 80A7C62C 26040024 */ addiu $a0, $s0, 0x0024 ## $a0 = 00000024
/* 00810 80A7C630 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
/* 00814 80A7C634 AFA50028 */ sw $a1, 0x0028($sp)
/* 00818 80A7C638 0C29EF90 */ jal EnInsect_XZDistanceSquared
/* 0081C 80A7C63C AFA4002C */ sw $a0, 0x002C($sp)
/* 00820 80A7C640 3C0144C8 */ lui $at, 0x44C8 ## $at = 44C80000
/* 00824 80A7C644 44813000 */ mtc1 $at, $f6 ## $f6 = 1600.00
/* 00828 80A7C648 8FA4002C */ lw $a0, 0x002C($sp)
/* 0082C 80A7C64C 8FA50028 */ lw $a1, 0x0028($sp)
/* 00830 80A7C650 4600303C */ c.lt.s $f6, $f0
/* 00834 80A7C654 00000000 */ nop
/* 00838 80A7C658 45010005 */ bc1t .L80A7C670
/* 0083C 80A7C65C 00000000 */ nop
/* 00840 80A7C660 8618031A */ lh $t8, 0x031A($s0) ## 0000031A
/* 00844 80A7C664 2B010004 */ slti $at, $t8, 0x0004
/* 00848 80A7C668 5020000B */ beql $at, $zero, .L80A7C698
/* 0084C 80A7C66C 8E02011C */ lw $v0, 0x011C($s0) ## 0000011C
.L80A7C670:
/* 00850 80A7C670 0C01E01A */ jal Math_Vec3f_Yaw
/* 00854 80A7C674 00000000 */ nop
/* 00858 80A7C678 00022C00 */ sll $a1, $v0, 16
/* 0085C 80A7C67C 00052C03 */ sra $a1, $a1, 16
/* 00860 80A7C680 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
/* 00864 80A7C684 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 00868 80A7C688 240607D0 */ addiu $a2, $zero, 0x07D0 ## $a2 = 000007D0
/* 0086C 80A7C68C 1000000E */ beq $zero, $zero, .L80A7C6C8
/* 00870 80A7C690 86190032 */ lh $t9, 0x0032($s0) ## 00000032
/* 00874 80A7C694 8E02011C */ lw $v0, 0x011C($s0) ## 0000011C
.L80A7C698:
/* 00878 80A7C698 5040000B */ beql $v0, $zero, .L80A7C6C8
/* 0087C 80A7C69C 86190032 */ lh $t9, 0x0032($s0) ## 00000032
/* 00880 80A7C6A0 52020009 */ beql $s0, $v0, .L80A7C6C8
/* 00884 80A7C6A4 86190032 */ lh $t9, 0x0032($s0) ## 00000032
/* 00888 80A7C6A8 0C01E01A */ jal Math_Vec3f_Yaw
/* 0088C 80A7C6AC 24450024 */ addiu $a1, $v0, 0x0024 ## $a1 = 00000024
/* 00890 80A7C6B0 00022C00 */ sll $a1, $v0, 16
/* 00894 80A7C6B4 00052C03 */ sra $a1, $a1, 16
/* 00898 80A7C6B8 26040032 */ addiu $a0, $s0, 0x0032 ## $a0 = 00000032
/* 0089C 80A7C6BC 0C01DE2B */ jal Math_ApproxUpdateScaledS
/* 008A0 80A7C6C0 240607D0 */ addiu $a2, $zero, 0x07D0 ## $a2 = 000007D0
/* 008A4 80A7C6C4 86190032 */ lh $t9, 0x0032($s0) ## 00000032
.L80A7C6C8:
/* 008A8 80A7C6C8 3C0180A8 */ lui $at, %hi(D_80A7DFE8) ## $at = 80A80000
/* 008AC 80A7C6CC C422DFE8 */ lwc1 $f2, %lo(D_80A7DFE8)($at)
/* 008B0 80A7C6D0 3C0180A8 */ lui $at, %hi(D_80A7DFEC) ## $at = 80A80000
/* 008B4 80A7C6D4 A61900B6 */ sh $t9, 0x00B6($s0) ## 000000B6
/* 008B8 80A7C6D8 C42ADFEC */ lwc1 $f10, %lo(D_80A7DFEC)($at)
/* 008BC 80A7C6DC C6080068 */ lwc1 $f8, 0x0068($s0) ## 00000068
/* 008C0 80A7C6E0 3C0180A8 */ lui $at, %hi(D_80A7DFF0) ## $at = 80A80000
/* 008C4 80A7C6E4 460A4002 */ mul.s $f0, $f8, $f10
/* 008C8 80A7C6E8 4602003C */ c.lt.s $f0, $f2
/* 008CC 80A7C6EC 00000000 */ nop
/* 008D0 80A7C6F0 45000003 */ bc1f .L80A7C700
/* 008D4 80A7C6F4 00000000 */ nop
/* 008D8 80A7C6F8 1000000A */ beq $zero, $zero, .L80A7C724
/* 008DC 80A7C6FC E60201C8 */ swc1 $f2, 0x01C8($s0) ## 000001C8
.L80A7C700:
/* 008E0 80A7C700 C42CDFF0 */ lwc1 $f12, %lo(D_80A7DFF0)($at)
/* 008E4 80A7C704 4600603C */ c.lt.s $f12, $f0
/* 008E8 80A7C708 00000000 */ nop
/* 008EC 80A7C70C 45020004 */ bc1fl .L80A7C720
/* 008F0 80A7C710 46000086 */ mov.s $f2, $f0
/* 008F4 80A7C714 10000002 */ beq $zero, $zero, .L80A7C720
/* 008F8 80A7C718 46006086 */ mov.s $f2, $f12
/* 008FC 80A7C71C 46000086 */ mov.s $f2, $f0
.L80A7C720:
/* 00900 80A7C720 E60201C8 */ swc1 $f2, 0x01C8($s0) ## 000001C8
.L80A7C724:
/* 00904 80A7C724 0C02927F */ jal SkelAnime_FrameUpdateMatrix
/* 00908 80A7C728 260401AC */ addiu $a0, $s0, 0x01AC ## $a0 = 000001AC
/* 0090C 80A7C72C 8608031A */ lh $t0, 0x031A($s0) ## 0000031A
/* 00910 80A7C730 5D000004 */ bgtzl $t0, .L80A7C744
/* 00914 80A7C734 96020314 */ lhu $v0, 0x0314($s0) ## 00000314
/* 00918 80A7C738 0C29F0E8 */ jal func_80A7C3A0
/* 0091C 80A7C73C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00920 80A7C740 96020314 */ lhu $v0, 0x0314($s0) ## 00000314
.L80A7C744:
/* 00924 80A7C744 87A30034 */ lh $v1, 0x0034($sp)
/* 00928 80A7C748 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 0092C 80A7C74C 30490004 */ andi $t1, $v0, 0x0004 ## $t1 = 00000000
/* 00930 80A7C750 11200004 */ beq $t1, $zero, .L80A7C764
/* 00934 80A7C754 00000000 */ nop
/* 00938 80A7C758 860A031C */ lh $t2, 0x031C($s0) ## 0000031C
/* 0093C 80A7C75C 19400011 */ blez $t2, .L80A7C7A4
/* 00940 80A7C760 00000000 */ nop
.L80A7C764:
/* 00944 80A7C764 10610004 */ beq $v1, $at, .L80A7C778
/* 00948 80A7C768 304B0001 */ andi $t3, $v0, 0x0001 ## $t3 = 00000000
/* 0094C 80A7C76C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00950 80A7C770 54610011 */ bnel $v1, $at, .L80A7C7B8
/* 00954 80A7C774 304F0001 */ andi $t7, $v0, 0x0001 ## $t7 = 00000000
.L80A7C778:
/* 00958 80A7C778 5160000F */ beql $t3, $zero, .L80A7C7B8
/* 0095C 80A7C77C 304F0001 */ andi $t7, $v0, 0x0001 ## $t7 = 00000000
/* 00960 80A7C780 960C0088 */ lhu $t4, 0x0088($s0) ## 00000088
/* 00964 80A7C784 3C0E80A8 */ lui $t6, %hi(D_80A7DEB8) ## $t6 = 80A80000
/* 00968 80A7C788 318D0001 */ andi $t5, $t4, 0x0001 ## $t5 = 00000000
/* 0096C 80A7C78C 51A0000A */ beql $t5, $zero, .L80A7C7B8
/* 00970 80A7C790 304F0001 */ andi $t7, $v0, 0x0001 ## $t7 = 00000000
/* 00974 80A7C794 85CEDEB8 */ lh $t6, %lo(D_80A7DEB8)($t6)
/* 00978 80A7C798 29C10004 */ slti $at, $t6, 0x0004
/* 0097C 80A7C79C 54200006 */ bnel $at, $zero, .L80A7C7B8
/* 00980 80A7C7A0 304F0001 */ andi $t7, $v0, 0x0001 ## $t7 = 00000000
.L80A7C7A4:
/* 00984 80A7C7A4 0C29F2F2 */ jal func_80A7CBC8
/* 00988 80A7C7A8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0098C 80A7C7AC 10000016 */ beq $zero, $zero, .L80A7C808
/* 00990 80A7C7B0 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00994 80A7C7B4 304F0001 */ andi $t7, $v0, 0x0001 ## $t7 = 00000000
.L80A7C7B8:
/* 00998 80A7C7B8 11E00009 */ beq $t7, $zero, .L80A7C7E0
/* 0099C 80A7C7BC 3C014220 */ lui $at, 0x4220 ## $at = 42200000
/* 009A0 80A7C7C0 96180088 */ lhu $t8, 0x0088($s0) ## 00000088
/* 009A4 80A7C7C4 33190040 */ andi $t9, $t8, 0x0040 ## $t9 = 00000000
/* 009A8 80A7C7C8 53200006 */ beql $t9, $zero, .L80A7C7E4
/* 009AC 80A7C7CC C6100090 */ lwc1 $f16, 0x0090($s0) ## 00000090
/* 009B0 80A7C7D0 0C29F398 */ jal func_80A7CE60
/* 009B4 80A7C7D4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 009B8 80A7C7D8 1000000B */ beq $zero, $zero, .L80A7C808
/* 009BC 80A7C7DC 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A7C7E0:
/* 009C0 80A7C7E0 C6100090 */ lwc1 $f16, 0x0090($s0) ## 00000090
.L80A7C7E4:
/* 009C4 80A7C7E4 44819000 */ mtc1 $at, $f18 ## $f18 = 0.00
/* 009C8 80A7C7E8 00000000 */ nop
/* 009CC 80A7C7EC 4612803C */ c.lt.s $f16, $f18
/* 009D0 80A7C7F0 00000000 */ nop
/* 009D4 80A7C7F4 45020004 */ bc1fl .L80A7C808
/* 009D8 80A7C7F8 8FBF0024 */ lw $ra, 0x0024($sp)
/* 009DC 80A7C7FC 0C29F206 */ jal func_80A7C818
/* 009E0 80A7C800 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 009E4 80A7C804 8FBF0024 */ lw $ra, 0x0024($sp)
.L80A7C808:
/* 009E8 80A7C808 8FB00020 */ lw $s0, 0x0020($sp)
/* 009EC 80A7C80C 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 009F0 80A7C810 03E00008 */ jr $ra
/* 009F4 80A7C814 00000000 */ nop

View file

@ -1597,7 +1597,7 @@ void Gameplay_SpawnScene(GlobalContext* globalCtx, s32 sceneNum, s32 spawn);
void func_800C016C(GlobalContext* globalCtx, Vec3f* src, Vec3f* dest);
s16 Gameplay_CreateSubCamera(GlobalContext* globalCtx);
s16 Gameplay_GetActiveCamId(GlobalContext* globalCtx);
void Gameplay_ChangeCameraStatus(GlobalContext* globalCtx, s16 camId, s16 status);
s16 Gameplay_ChangeCameraStatus(GlobalContext* globalCtx, s16 camId, s16 status);
void Gameplay_ClearCamera(GlobalContext* globalCtx, s16 camId);
void Gameplay_ClearAllSubCameras(GlobalContext* globalCtx);
Camera* Gameplay_GetCamera(GlobalContext* globalCtx, s16 camId);

View file

@ -24,8 +24,8 @@ void func_8002B200(Actor* actor, Lights* lights, GlobalContext* globalCtx, Gfx*
POLY_OPA_DISP = Gfx_CallSetupDL(POLY_OPA_DISP, 0x2C);
gDPSetCombineLERP(POLY_OPA_DISP++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED, 0,
0, 0, COMBINED);
gDPSetCombineLERP(POLY_OPA_DISP++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED, 0, 0, 0,
COMBINED);
temp1 = (temp1 < 0.0f) ? 0.0f : ((temp1 > 150.0f) ? 150.0f : temp1);
temp2 = 1.0f - (temp1 * (1.f / 350));
@ -374,8 +374,7 @@ void func_8002C124(TargetContext* targetCtx, GlobalContext* globalCtx) {
Matrix_Translate(entry->pos.x, entry->pos.y, 0.0f, MTXMODE_NEW);
Matrix_Scale(var2, 0.15f, 1.0f, MTXMODE_APPLY);
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, entry->color.r, entry->color.g, entry->color.b,
(u8)spCE);
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, entry->color.r, entry->color.g, entry->color.b, (u8)spCE);
Matrix_RotateZ((targetCtx->unk_4B & 0x7F) * (M_PI / 64), MTXMODE_APPLY);
@ -741,14 +740,14 @@ void TitleCard_Draw(GlobalContext* globalCtx, TitleCardContext* titleCtx) {
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD,
G_TX_NOLOD);
gSPTextureRectangle(OVERLAY_DISP++, spC0, spB8, ((sp38 * 2) + spC0) - 4, spB8 + (spC8 * 4) - 1,
G_TX_RENDERTILE, 0, 0, 1024, 1024);
gSPTextureRectangle(OVERLAY_DISP++, spC0, spB8, ((sp38 * 2) + spC0) - 4, spB8 + (spC8 * 4) - 1, G_TX_RENDERTILE,
0, 0, 1024, 1024);
spC8 = titleCtx->unk_9 - spC8;
if (spC8 > 0) {
gDPLoadTextureBlock(OVERLAY_DISP++, titleCtx->texture + spB0 + 0x1000, G_IM_FMT_IA, G_IM_SIZ_8b, spCC,
spC8, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK,
gDPLoadTextureBlock(OVERLAY_DISP++, titleCtx->texture + spB0 + 0x1000, G_IM_FMT_IA, G_IM_SIZ_8b, spCC, spC8,
0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK,
G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(OVERLAY_DISP++, spC0, spB4, ((sp38 * 2) + spC0) - 4, spB4 + (spC8 * 4) - 1,
@ -2274,8 +2273,8 @@ void func_8003115C(GlobalContext* globalCtx, s32 nbInvisibleActors, Actor** invi
G_AC_THRESHOLD | G_ZS_PRIM | Z_UPD | IM_RD | CVG_DST_SAVE | ZMODE_OPA | FORCE_BL |
GBL_c1(G_BL_CLR_BL, G_BL_0, G_BL_CLR_MEM, G_BL_1MA) |
GBL_c2(G_BL_CLR_BL, G_BL_0, G_BL_CLR_MEM, G_BL_1MA));
gDPSetCombineLERP(POLY_XLU_DISP++, PRIMITIVE, TEXEL0, PRIM_LOD_FRAC, 0, PRIMITIVE, TEXEL0, PRIM_LOD_FRAC,
0, PRIMITIVE, TEXEL0, PRIM_LOD_FRAC, 0, PRIMITIVE, TEXEL0, PRIM_LOD_FRAC, 0);
gDPSetCombineLERP(POLY_XLU_DISP++, PRIMITIVE, TEXEL0, PRIM_LOD_FRAC, 0, PRIMITIVE, TEXEL0, PRIM_LOD_FRAC, 0,
PRIMITIVE, TEXEL0, PRIM_LOD_FRAC, 0, PRIMITIVE, TEXEL0, PRIM_LOD_FRAC, 0);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0xFF, 74, 74, 74, 74);
}
@ -3806,9 +3805,8 @@ void func_80034BA0(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbD
gDPPipeSync(POLY_OPA_DISP++);
gSPSegment(POLY_OPA_DISP++, 0x0C, func_80034B28(globalCtx->state.gfxCtx));
POLY_OPA_DISP =
SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
overrideLimbDraw, postLimbDraw, actor, POLY_OPA_DISP);
POLY_OPA_DISP = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
overrideLimbDraw, postLimbDraw, actor, POLY_OPA_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 8860);
}
@ -3823,9 +3821,8 @@ void func_80034CC4(GlobalContext* globalCtx, SkelAnime* skelAnime, OverrideLimbD
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, alpha);
gSPSegment(POLY_XLU_DISP++, 0x0C, func_80034B54(globalCtx->state.gfxCtx));
POLY_XLU_DISP =
SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
overrideLimbDraw, postLimbDraw, actor, POLY_XLU_DISP);
POLY_XLU_DISP = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
overrideLimbDraw, postLimbDraw, actor, POLY_XLU_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_actor.c", 8904);
}

View file

@ -762,18 +762,17 @@ void EffectBlure_SetupSimpleAlt(GraphicsContext* gfxCtx, EffectBlure* this, Vtx*
gDPSetTextureLUT(POLY_XLU_DISP++, G_TT_NONE);
gSPTexture(POLY_XLU_DISP++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
gDPLoadTextureBlock(POLY_XLU_DISP++, D_04006020, G_IM_FMT_I, G_IM_SIZ_8b, 64, 32, 0,
G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_WRAP, 6, 5, G_TX_NOLOD, G_TX_NOLOD);
gDPLoadTextureBlock(POLY_XLU_DISP++, D_04006020, G_IM_FMT_I, G_IM_SIZ_8b, 64, 32, 0, G_TX_NOMIRROR | G_TX_CLAMP,
G_TX_NOMIRROR | G_TX_WRAP, 6, 5, G_TX_NOLOD, G_TX_NOLOD);
gDPSetCombineLERP(POLY_XLU_DISP++, TEXEL0, PRIMITIVE, PRIM_LOD_FRAC, TEXEL0, TEXEL0, 0, PRIMITIVE, 0,
PRIMITIVE, ENVIRONMENT, COMBINED, ENVIRONMENT, 0, 0, 0, COMBINED);
gDPSetCombineLERP(POLY_XLU_DISP++, TEXEL0, PRIMITIVE, PRIM_LOD_FRAC, TEXEL0, TEXEL0, 0, PRIMITIVE, 0, PRIMITIVE,
ENVIRONMENT, COMBINED, ENVIRONMENT, 0, 0, 0, COMBINED);
gDPSetRenderMode(POLY_XLU_DISP++, G_RM_PASS, G_RM_ZB_CLD_SURF2);
gSPClearGeometryMode(POLY_XLU_DISP++, G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR);
gSPSetGeometryMode(POLY_XLU_DISP++, G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH);
gDPPipeSync(POLY_XLU_DISP++);
gDPSetEnvColor(POLY_XLU_DISP++, this->altEnvColor.r, this->altEnvColor.g, this->altEnvColor.b,
this->altEnvColor.a);
gDPSetEnvColor(POLY_XLU_DISP++, this->altEnvColor.r, this->altEnvColor.g, this->altEnvColor.b, this->altEnvColor.a);
CLOSE_DISPS(gfxCtx, "../z_eff_blure.c", 1329);
}

View file

@ -164,16 +164,15 @@ void EffectShieldParticle_Draw(void* thisx, GraphicsContext* gfxCtx) {
gDPPipeSync(POLY_XLU_DISP++);
gSPTexture(POLY_XLU_DISP++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
gDPLoadTextureBlock(POLY_XLU_DISP++, D_04038FB0, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
gDPLoadTextureBlock(POLY_XLU_DISP++, D_04038FB0, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
if (1) {} // Necessary to match
gDPSetCombineLERP(POLY_XLU_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, PRIMITIVE, 0, TEXEL0, 0, 0,
0, 0, COMBINED, 0, 0, 0, COMBINED);
gDPSetCombineLERP(POLY_XLU_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, PRIMITIVE, 0, TEXEL0, 0, 0, 0,
0, COMBINED, 0, 0, 0, COMBINED);
gDPSetRenderMode(POLY_XLU_DISP++, G_RM_PASS, G_RM_ZB_CLD_SURF2);
gSPClearGeometryMode(POLY_XLU_DISP++,
G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR);
gSPClearGeometryMode(POLY_XLU_DISP++, G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR);
gSPSetGeometryMode(POLY_XLU_DISP++, G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH);
EffectShieldParticle_GetColors(this, &primColor, &envColor);

View file

@ -166,13 +166,12 @@ void EffectSpark_Draw(void* thisx, GraphicsContext* gfxCtx) {
gDPPipeSync(POLY_XLU_DISP++);
gSPTexture(POLY_XLU_DISP++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON);
gDPLoadTextureBlock(POLY_XLU_DISP++, D_04038FB0, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
gDPLoadTextureBlock(POLY_XLU_DISP++, D_04038FB0, G_IM_FMT_I, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
gDPSetCombineMode(POLY_XLU_DISP++, G_CC_SHADEDECALA, G_CC_PASS2);
gDPSetRenderMode(POLY_XLU_DISP++, G_RM_PASS, G_RM_ZB_CLD_SURF2);
gSPClearGeometryMode(POLY_XLU_DISP++,
G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR);
gSPClearGeometryMode(POLY_XLU_DISP++, G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR);
gSPSetGeometryMode(POLY_XLU_DISP++, G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH);
gDPPipeSync(POLY_XLU_DISP++);

View file

@ -71,8 +71,7 @@ void EffectSs_DrawGEffect(GlobalContext* globalCtx, EffectSs* this, void* textur
func_80094C50(gfxCtx);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, this->rgPrimColorR, this->rgPrimColorG, this->rgPrimColorB,
this->rgPrimColorA);
gDPSetEnvColor(POLY_XLU_DISP++, this->rgEnvColorR, this->rgEnvColorG, this->rgEnvColorB,
this->rgEnvColorA);
gDPSetEnvColor(POLY_XLU_DISP++, this->rgEnvColorR, this->rgEnvColorG, this->rgEnvColorB, this->rgEnvColorA);
gSPDisplayList(POLY_XLU_DISP++, this->gfx);
}

View file

@ -135,8 +135,7 @@ void SkelCurve_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, SkelAnimeCurve*
dList = limb->dList[0];
if (dList != NULL) {
gSPMatrix(POLY_OPA_DISP++,
Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 321),
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 321),
G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, dList);
}
@ -145,15 +144,13 @@ void SkelCurve_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, SkelAnimeCurve*
dList = limb->dList[0];
if (dList != NULL) {
gSPMatrix(POLY_OPA_DISP++,
Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 332),
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 332),
G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW);
gSPDisplayList(POLY_OPA_DISP++, dList);
}
dList = limb->dList[1];
if (dList != NULL) {
gSPMatrix(POLY_XLU_DISP++,
Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 338),
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_fcurve_data_skelanime.c", 338),
G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, dList);
}

View file

@ -319,16 +319,15 @@ void Health_Draw(GlobalContext* globalCtx) {
if (curCombineModeSet != 1) {
curCombineModeSet = 1;
func_80094520(gfxCtx);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0,
PRIMITIVE, 0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
0);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
}
} else {
if (curCombineModeSet != 3) {
curCombineModeSet = 3;
func_80094520(gfxCtx);
gDPSetCombineLERP(OVERLAY_DISP++, ENVIRONMENT, PRIMITIVE, TEXEL0, PRIMITIVE, TEXEL0, 0,
PRIMITIVE, 0, ENVIRONMENT, PRIMITIVE, TEXEL0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0);
gDPSetCombineLERP(OVERLAY_DISP++, ENVIRONMENT, PRIMITIVE, TEXEL0, PRIMITIVE, TEXEL0, 0, PRIMITIVE,
0, ENVIRONMENT, PRIMITIVE, TEXEL0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0);
}
}
@ -347,16 +346,15 @@ void Health_Draw(GlobalContext* globalCtx) {
if (curCombineModeSet != 2) {
curCombineModeSet = 2;
func_80094A14(gfxCtx);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0,
PRIMITIVE, 0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
0);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
}
} else {
if (curCombineModeSet != 4) {
curCombineModeSet = 4;
func_80094A14(gfxCtx);
gDPSetCombineLERP(OVERLAY_DISP++, ENVIRONMENT, PRIMITIVE, TEXEL0, PRIMITIVE, TEXEL0, 0,
PRIMITIVE, 0, ENVIRONMENT, PRIMITIVE, TEXEL0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0);
gDPSetCombineLERP(OVERLAY_DISP++, ENVIRONMENT, PRIMITIVE, TEXEL0, PRIMITIVE, TEXEL0, 0, PRIMITIVE,
0, ENVIRONMENT, PRIMITIVE, TEXEL0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0);
}
}

View file

@ -380,8 +380,8 @@ void Minimap_Draw(GlobalContext* globalCtx) {
case SCENE_ICE_DOUKUTO:
if (!R_MINIMAP_TOGGLED) {
func_80094520(globalCtx->state.gfxCtx);
gDPSetCombineLERP(OVERLAY_DISP++, 1, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0, 1, 0,
PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0);
gDPSetCombineLERP(OVERLAY_DISP++, 1, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0, 1, 0, PRIMITIVE, 0,
TEXEL0, 0, PRIMITIVE, 0);
if (gSaveContext.inventory.dungeonItems[mapIndex] & gBitFlags[DUNGEON_MAP]) {
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 100, 255, 255, interfaceCtx->minimapAlpha);
@ -438,8 +438,8 @@ void Minimap_Draw(GlobalContext* globalCtx) {
func_80094520(globalCtx->state.gfxCtx);
gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, R_MINIMAP_COLOR(0), R_MINIMAP_COLOR(1),
R_MINIMAP_COLOR(2), interfaceCtx->minimapAlpha);
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, R_MINIMAP_COLOR(0), R_MINIMAP_COLOR(1), R_MINIMAP_COLOR(2),
interfaceCtx->minimapAlpha);
gDPLoadTextureBlock_4b(OVERLAY_DISP++, interfaceCtx->mapSegment, G_IM_FMT_IA,
gMapData->owMinimapWidth[mapIndex], gMapData->owMinimapHeight[mapIndex], 0,
@ -476,8 +476,7 @@ void Minimap_Draw(GlobalContext* globalCtx) {
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(OVERLAY_DISP++, 1080, 616, 1112, 648, G_TX_RENDERTILE, 0, 0, 1024,
1024);
gSPTextureRectangle(OVERLAY_DISP++, 1080, 616, 1112, 648, G_TX_RENDERTILE, 0, 0, 1024, 1024);
}
Minimap_DrawCompassIcons(globalCtx); // Draw icons for the player spawn and current position

View file

@ -49,9 +49,8 @@ void func_8007B9A4(GraphicsContext* gfxCtx, u8 arg1) {
D_8015FFC0 = arg1 & 3;
}
gSPTextureRectangle(POLY_OPA_DISP++, D_80120120 << 2, D_80120124 << 2, (D_80120120 + 8) << 2,
(D_80120124 + 8) << 2, G_TX_RENDERTILE, (u16)(arg1 & 4) * 64, (u16)(arg1 >> 3) * 256, 1024,
1024);
gSPTextureRectangle(POLY_OPA_DISP++, D_80120120 << 2, D_80120124 << 2, (D_80120120 + 8) << 2, (D_80120124 + 8) << 2,
G_TX_RENDERTILE, (u16)(arg1 & 4) * 64, (u16)(arg1 >> 3) * 256, 1024, 1024);
CLOSE_DISPS(gfxCtx, "../z_moji.c", 123);
}

View file

@ -2560,15 +2560,13 @@ void Interface_DrawMagicBar(GlobalContext* globalCtx) {
func_80094520(globalCtx->state.gfxCtx);
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, sMagicBorderR, sMagicBorderG, sMagicBorderB,
interfaceCtx->magicAlpha);
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, sMagicBorderR, sMagicBorderG, sMagicBorderB, interfaceCtx->magicAlpha);
gDPSetEnvColor(OVERLAY_DISP++, 100, 50, 50, 255);
OVERLAY_DISP =
Gfx_TextureIA8(OVERLAY_DISP, D_020038C0, 8, 16, R_MAGIC_BAR_X, magicBarY, 8, 16, 1024, 1024);
OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, D_020038C0, 8, 16, R_MAGIC_BAR_X, magicBarY, 8, 16, 1024, 1024);
OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, D_02003940, 24, 16, R_MAGIC_BAR_X + 8, magicBarY,
gSaveContext.unk_13F4, 16, 1024, 1024);
gSaveContext.unk_13F4, 16, 1024, 1024);
gDPSetTextureImage(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_16b, 1, D_020038C0);
gDPSetTile(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP,
@ -2585,8 +2583,8 @@ void Interface_DrawMagicBar(GlobalContext* globalCtx) {
256, 0, 1024, 1024);
gDPPipeSync(OVERLAY_DISP++);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, PRIMITIVE,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, PRIMITIVE);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, PRIMITIVE, PRIMITIVE,
ENVIRONMENT, TEXEL0, ENVIRONMENT, 0, 0, 0, PRIMITIVE);
gDPSetEnvColor(OVERLAY_DISP++, 0, 0, 0, 255);
if (gSaveContext.unk_13F0 == 4) {
@ -2603,16 +2601,16 @@ void Interface_DrawMagicBar(GlobalContext* globalCtx) {
// Fill the rest of the bar with the normal magic color
gDPPipeSync(OVERLAY_DISP++);
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, R_MAGIC_FILL_COLOR(0), R_MAGIC_FILL_COLOR(1),
R_MAGIC_FILL_COLOR(2), interfaceCtx->magicAlpha);
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, R_MAGIC_FILL_COLOR(0), R_MAGIC_FILL_COLOR(1), R_MAGIC_FILL_COLOR(2),
interfaceCtx->magicAlpha);
gSPTextureRectangle(OVERLAY_DISP++, R_MAGIC_FILL_X << 2, (magicBarY + 3) << 2,
(R_MAGIC_FILL_X + gSaveContext.unk_13F8) << 2, (magicBarY + 10) << 2, G_TX_RENDERTILE,
0, 0, 1024, 1024);
} else {
// Fill the whole bar with the normal magic color
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, R_MAGIC_FILL_COLOR(0), R_MAGIC_FILL_COLOR(1),
R_MAGIC_FILL_COLOR(2), interfaceCtx->magicAlpha);
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, R_MAGIC_FILL_COLOR(0), R_MAGIC_FILL_COLOR(1), R_MAGIC_FILL_COLOR(2),
interfaceCtx->magicAlpha);
gDPLoadMultiBlock_4b(OVERLAY_DISP++, D_02003AC0, 0, G_TX_RENDERTILE, G_IM_FMT_I, 16, 16, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK,
@ -2700,12 +2698,10 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) {
// Also loads the Item Button Texture reused by other buttons afterwards
gDPPipeSync(OVERLAY_DISP++);
gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, R_B_BTN_COLOR(0), R_B_BTN_COLOR(1), R_B_BTN_COLOR(2),
interfaceCtx->bAlpha);
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, R_B_BTN_COLOR(0), R_B_BTN_COLOR(1), R_B_BTN_COLOR(2), interfaceCtx->bAlpha);
gDPSetEnvColor(OVERLAY_DISP++, 0, 0, 0, 255);
OVERLAY_DISP =
Gfx_TextureIA8(OVERLAY_DISP, &D_02000A00[0], 32, 32, R_ITEM_BTN_X(0), R_ITEM_BTN_Y(0),
R_ITEM_BTN_WIDTH(0), R_ITEM_BTN_WIDTH(0), R_ITEM_BTN_DD(0) * 2, R_ITEM_BTN_DD(0) * 2);
OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, &D_02000A00[0], 32, 32, R_ITEM_BTN_X(0), R_ITEM_BTN_Y(0),
R_ITEM_BTN_WIDTH(0), R_ITEM_BTN_WIDTH(0), R_ITEM_BTN_DD(0) * 2, R_ITEM_BTN_DD(0) * 2);
// C-Left Button Color & Texture
gDPPipeSync(OVERLAY_DISP++);
@ -2740,20 +2736,18 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) {
gDPPipeSync(OVERLAY_DISP++);
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 255, 255, interfaceCtx->startAlpha);
gDPSetEnvColor(OVERLAY_DISP++, 0, 0, 0, 0);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
gDPSetTextureImage(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_16b, 1,
(u32)interfaceCtx->do_actionSegment + 0x300);
gDPSetTile(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOLOD);
gDPSetTile(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
gDPLoadSync(OVERLAY_DISP++);
gDPLoadBlock(OVERLAY_DISP++, G_TX_LOADTILE, 0, 0, 191, 683);
gDPPipeSync(OVERLAY_DISP++);
gDPSetTile(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_4b, 3, 0, G_TX_RENDERTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOLOD);
gDPSetTile(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_4b, 3, 0, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
gDPSetTileSize(OVERLAY_DISP++, G_TX_RENDERTILE, 0, 0, 188, 60);
dxdy = 1024.0f / (R_START_LABEL_DD(gSaveContext.language) / 100.0f);
@ -2788,20 +2782,17 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) {
gDPPipeSync(OVERLAY_DISP++);
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 255, 255, temp);
gDPSetEnvColor(OVERLAY_DISP++, 0, 0, 0, 0);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
gDPSetTextureImage(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_16b, 1,
sCUpLabelTextures[gSaveContext.language]);
gDPSetTile(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOLOD);
gDPSetTextureImage(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_16b, 1, sCUpLabelTextures[gSaveContext.language]);
gDPSetTile(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
gDPLoadSync(OVERLAY_DISP++);
gDPLoadBlock(OVERLAY_DISP++, G_TX_LOADTILE, 0, 0, 63, 1024);
gDPPipeSync(OVERLAY_DISP++);
gDPSetTile(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_4b, 2, 0, G_TX_RENDERTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOLOD);
gDPSetTile(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_4b, 2, 0, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
gDPSetTileSize(OVERLAY_DISP++, G_TX_RENDERTILE, 0, 0, 124, 28);
gSPTextureRectangle(OVERLAY_DISP++, R_C_UP_ICON_X << 2, R_C_UP_ICON_Y << 2, (R_C_UP_ICON_X + 32) << 2,
@ -2831,9 +2822,9 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) {
interfaceCtx->cRightAlpha);
}
OVERLAY_DISP = Gfx_TextureIA8(
OVERLAY_DISP, &D_02000A00[temp + 1], 0x20, 0x20, R_ITEM_BTN_X(temp), R_ITEM_BTN_Y(temp),
R_ITEM_BTN_WIDTH(temp), R_ITEM_BTN_WIDTH(temp), R_ITEM_BTN_DD(temp) * 2, R_ITEM_BTN_DD(temp) * 2);
OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, &D_02000A00[temp + 1], 0x20, 0x20, R_ITEM_BTN_X(temp),
R_ITEM_BTN_Y(temp), R_ITEM_BTN_WIDTH(temp), R_ITEM_BTN_WIDTH(temp),
R_ITEM_BTN_DD(temp) * 2, R_ITEM_BTN_DD(temp) * 2);
}
}
@ -2843,9 +2834,8 @@ void Interface_DrawItemButtons(GlobalContext* globalCtx) {
void Interface_DrawItemIconTexture(GlobalContext* globalCtx, void* texture, s16 button) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 3079);
gDPLoadTextureBlock(OVERLAY_DISP++, texture, G_IM_FMT_RGBA, G_IM_SIZ_32b, 32, 32, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD,
G_TX_NOLOD);
gDPLoadTextureBlock(OVERLAY_DISP++, texture, G_IM_FMT_RGBA, G_IM_SIZ_32b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(OVERLAY_DISP++, R_ITEM_ICON_X(button) << 2, R_ITEM_ICON_Y(button) << 2,
(R_ITEM_ICON_X(button) + R_ITEM_ICON_WIDTH(button)) << 2,
@ -2903,11 +2893,11 @@ void Interface_DrawAmmoCount(GlobalContext* globalCtx, s16 button, s16 alpha) {
if (i != 0) {
OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, &D_020035C0[i], 8, 8, R_ITEM_AMMO_X(button),
R_ITEM_AMMO_Y(button), 8, 8, 1024, 1024);
R_ITEM_AMMO_Y(button), 8, 8, 1024, 1024);
}
OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, &D_020035C0[ammo], 8, 8, R_ITEM_AMMO_X(button) + 6,
R_ITEM_AMMO_Y(button), 8, 8, 1024, 1024);
R_ITEM_AMMO_Y(button), 8, 8, 1024, 1024);
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_parameter.c", 3158);
@ -2928,9 +2918,8 @@ void Interface_DrawActionButton(GlobalContext* globalCtx) {
G_MTX_MODELVIEW | G_MTX_LOAD);
gSPVertex(OVERLAY_DISP++, interfaceCtx->vtx_128, 4, 0);
gDPLoadTextureBlock(OVERLAY_DISP++, &D_02000A00[0], G_IM_FMT_IA, G_IM_SIZ_8b, 32, 32, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD,
G_TX_NOLOD);
gDPLoadTextureBlock(OVERLAY_DISP++, &D_02000A00[0], G_IM_FMT_IA, G_IM_SIZ_8b, 32, 32, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
gSP1Quadrangle(OVERLAY_DISP++, 0, 2, 3, 1, 0);
@ -3124,14 +3113,13 @@ void Interface_Draw(GlobalContext* globalCtx) {
gDPPipeSync(OVERLAY_DISP++);
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 200, 230, 255, interfaceCtx->magicAlpha);
gDPSetEnvColor(OVERLAY_DISP++, 0, 0, 20, 255);
OVERLAY_DISP =
Gfx_TextureIA8(OVERLAY_DISP, D_02001E00, 16, 16, 26, 190, 16, 16, 1024, 1024);
OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, D_02001E00, 16, 16, 26, 190, 16, 16, 1024, 1024);
// Small Key Counter
gDPPipeSync(OVERLAY_DISP++);
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 255, 255, interfaceCtx->magicAlpha);
gDPSetCombineLERP(OVERLAY_DISP++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0,
PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0);
gDPSetCombineLERP(OVERLAY_DISP++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE,
TEXEL0, 0, PRIMITIVE, 0);
interfaceCtx->counterDigits[2] = 0;
interfaceCtx->counterDigits[3] = gSaveContext.inventory.dungeonKeys[gSaveContext.mapIndex];
@ -3143,14 +3131,13 @@ void Interface_Draw(GlobalContext* globalCtx) {
phi_s2 = 42;
if (interfaceCtx->counterDigits[2] != 0) {
OVERLAY_DISP =
Gfx_TextureI8(OVERLAY_DISP, &D_02003040[interfaceCtx->counterDigits[2]], 8, 16,
phi_s2, 190, 8, 16, 1024, 1024);
OVERLAY_DISP = Gfx_TextureI8(OVERLAY_DISP, &D_02003040[interfaceCtx->counterDigits[2]], 8, 16,
phi_s2, 190, 8, 16, 1024, 1024);
phi_s2 = 50;
}
OVERLAY_DISP = Gfx_TextureI8(OVERLAY_DISP, &D_02003040[interfaceCtx->counterDigits[3]],
8, 16, phi_s2, 190, 8, 16, 1024, 1024);
OVERLAY_DISP = Gfx_TextureI8(OVERLAY_DISP, &D_02003040[interfaceCtx->counterDigits[3]], 8, 16,
phi_s2, 190, 8, 16, 1024, 1024);
}
phi_s2 = 42;
@ -3173,8 +3160,8 @@ void Interface_Draw(GlobalContext* globalCtx) {
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 100, 100, 100, interfaceCtx->magicAlpha);
}
gDPSetCombineLERP(OVERLAY_DISP++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0,
0, PRIMITIVE, 0);
gDPSetCombineLERP(OVERLAY_DISP++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0, 0,
PRIMITIVE, 0);
interfaceCtx->counterDigits[0] = interfaceCtx->counterDigits[1] = 0;
interfaceCtx->counterDigits[2] = gSaveContext.rupees;
@ -3197,8 +3184,8 @@ void Interface_Draw(GlobalContext* globalCtx) {
phi_s1 = sRupeeDigitsCount[CUR_UPG_VALUE(UPG_WALLET)];
for (phi_s3 = 0; phi_s3 < phi_s1; phi_s3++, phi_s0++, phi_s2 += 8) {
OVERLAY_DISP = Gfx_TextureI8(OVERLAY_DISP, &D_02003040[interfaceCtx->counterDigits[phi_s0]], 8,
16, phi_s2, 206, 8, 16, 1024, 1024);
OVERLAY_DISP = Gfx_TextureI8(OVERLAY_DISP, &D_02003040[interfaceCtx->counterDigits[phi_s0]], 8, 16, phi_s2,
206, 8, 16, 1024, 1024);
}
Interface_DrawMagicBar(globalCtx);
@ -3224,17 +3211,16 @@ void Interface_Draw(GlobalContext* globalCtx) {
if ((player->stateFlags1 & 0x00800000) || (globalCtx->unk_11E5C >= 2) ||
((globalCtx->sceneNum == SCENE_BOWLING) && Flags_GetSwitch(globalCtx, 0x38))) {
gDPPipeSync(OVERLAY_DISP++);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0,
PRIMITIVE, 0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
0);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
Interface_DrawAmmoCount(globalCtx, 0, interfaceCtx->bAlpha);
}
}
} else {
// B Button Do Action Label
gDPPipeSync(OVERLAY_DISP++);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 255, 255, interfaceCtx->bAlpha);
gDPSetTextureImage(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_16b, 1,
@ -3265,8 +3251,8 @@ void Interface_Draw(GlobalContext* globalCtx) {
gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
Interface_DrawItemIconTexture(globalCtx, (void*)((u32)interfaceCtx->icon_itemSegment + 0x1000), 1);
gDPPipeSync(OVERLAY_DISP++);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
Interface_DrawAmmoCount(globalCtx, 1, interfaceCtx->cLeftAlpha);
}
@ -3278,8 +3264,8 @@ void Interface_Draw(GlobalContext* globalCtx) {
gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
Interface_DrawItemIconTexture(globalCtx, (void*)((u32)interfaceCtx->icon_itemSegment + 0x2000), 2);
gDPPipeSync(OVERLAY_DISP++);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
Interface_DrawAmmoCount(globalCtx, 2, interfaceCtx->cDownAlpha);
}
@ -3291,8 +3277,8 @@ void Interface_Draw(GlobalContext* globalCtx) {
gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
Interface_DrawItemIconTexture(globalCtx, (void*)((u32)interfaceCtx->icon_itemSegment + 0x3000), 3);
gDPPipeSync(OVERLAY_DISP++);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE,
0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
Interface_DrawAmmoCount(globalCtx, 3, interfaceCtx->cRightAlpha);
}
@ -3361,8 +3347,8 @@ void Interface_Draw(GlobalContext* globalCtx) {
} else {
// Magic Arrow Equip Effect
phi_s3_2 = pauseCtx->unk_24E - 0xBF;
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, sMagicArrowEffectsR[phi_s3_2],
sMagicArrowEffectsG[phi_s3_2], sMagicArrowEffectsB[phi_s3_2], pauseCtx->unk_258);
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, sMagicArrowEffectsR[phi_s3_2], sMagicArrowEffectsG[phi_s3_2],
sMagicArrowEffectsB[phi_s3_2], pauseCtx->unk_258);
if ((pauseCtx->unk_258 > 0) && (pauseCtx->unk_258 < 0xFF)) {
phi_s3_2 = (pauseCtx->unk_258 / 8) / 2;
@ -3850,7 +3836,7 @@ void Interface_Draw(GlobalContext* globalCtx) {
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 255, 255, 255, 255);
gDPSetEnvColor(OVERLAY_DISP++, 0, 0, 0, 0);
OVERLAY_DISP = Gfx_TextureIA8(OVERLAY_DISP, D_02002000, 16, 16, gSaveContext.timerX[sp274],
gSaveContext.timerY[sp274] + 2, 16, 16, 1024, 1024);
gSaveContext.timerY[sp274] + 2, 16, 16, 1024, 1024);
// Timer Counter
gDPPipeSync(OVERLAY_DISP++);
@ -3872,9 +3858,9 @@ void Interface_Draw(GlobalContext* globalCtx) {
for (phi_s3 = 0; phi_s3 < 5; phi_s3++) {
OVERLAY_DISP = Gfx_TextureI8(OVERLAY_DISP, &D_02003040[sTimerDigits[phi_s3]], 8, 16,
gSaveContext.timerX[sp274] + sTimerDigitLeftPos[phi_s3],
gSaveContext.timerY[sp274], sDigitWidth[phi_s3], VREG(42),
VREG(43) * 2, VREG(43) * 2);
gSaveContext.timerX[sp274] + sTimerDigitLeftPos[phi_s3],
gSaveContext.timerY[sp274], sDigitWidth[phi_s3], VREG(42),
VREG(43) * 2, VREG(43) * 2);
}
}
}

View file

@ -1543,7 +1543,7 @@ s16 Gameplay_GetActiveCamId(GlobalContext* globalCtx) {
return globalCtx->activeCamera;
}
void Gameplay_ChangeCameraStatus(GlobalContext* globalCtx, s16 camId, s16 status) {
s16 Gameplay_ChangeCameraStatus(GlobalContext* globalCtx, s16 camId, s16 status) {
s16 camIdx = (camId == -1) ? globalCtx->activeCamera : camId;
if (status == 7) {

View file

@ -1431,8 +1431,7 @@ void func_80095248(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b) {
gDPSetColorImage(POLY_OPA_DISP++, G_IM_FMT_RGBA, G_IM_SIZ_16b, gScreenWidth, gZBuffer);
gDPSetCycleType(POLY_OPA_DISP++, G_CYC_FILL);
gDPSetRenderMode(POLY_OPA_DISP++, G_RM_NOOP, G_RM_NOOP2);
gDPSetFillColor(POLY_OPA_DISP++,
(GPACK_RGBA5551(255, 255, 240, 0) << 16) | GPACK_RGBA5551(255, 255, 240, 0));
gDPSetFillColor(POLY_OPA_DISP++, (GPACK_RGBA5551(255, 255, 240, 0) << 16) | GPACK_RGBA5551(255, 255, 240, 0));
gDPFillRectangle(POLY_OPA_DISP++, 0, ret, gScreenWidth - 1, gScreenHeight - ret - 1);
gDPPipeSync(POLY_OPA_DISP++);

View file

@ -190,15 +190,11 @@ s32 Scene_ExecuteCommands(GlobalContext* globalCtx, SceneCmd* sceneCmd) {
return 0;
}
// Scene Command 0x00: Link Spawn List
#ifdef NON_MATCHING
// regalloc differences
void func_80098508(GlobalContext* globalCtx, SceneCmd* cmd) {
ActorEntry* linkEntry = (ActorEntry*)SEGMENTED_TO_VIRTUAL(cmd->spawnList.segment) +
globalCtx->setupEntranceList[globalCtx->curSpawn].spawn;
ActorEntry* linkEntry = globalCtx->linkActorEntry = (ActorEntry*)SEGMENTED_TO_VIRTUAL(cmd->spawnList.segment) +
globalCtx->setupEntranceList[globalCtx->curSpawn].spawn;
s16 linkObjectId;
globalCtx->linkActorEntry = linkEntry;
globalCtx->linkAgeOnLoad = ((void)0, gSaveContext.linkAge);
linkObjectId = gLinkObjectIds[((void)0, gSaveContext.linkAge)];
@ -206,10 +202,6 @@ void func_80098508(GlobalContext* globalCtx, SceneCmd* cmd) {
gActorOverlayTable[linkEntry->id].initInfo->objectId = linkObjectId;
Object_Spawn(&globalCtx->objectCtx, linkObjectId);
}
#else
void func_80098508(GlobalContext* globalCtx, SceneCmd* cmd);
#pragma GLOBAL_ASM("asm/non_matchings/code/z_scene/func_80098508.s")
#endif
// Scene Command 0x01: Actor List
void func_800985DC(GlobalContext* globalCtx, SceneCmd* cmd) {

View file

@ -1108,16 +1108,14 @@ void func_8009A45C(GlobalContext* globalCtx) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 5171);
gameplayFrames = globalCtx->gameplayFrames;
gSPSegment(POLY_XLU_DISP++, 0x08,
Gfx_TexScroll(globalCtx->state.gfxCtx, 0, (gameplayFrames * 1) % 64, 256, 16));
gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TexScroll(globalCtx->state.gfxCtx, 0, (gameplayFrames * 1) % 64, 256, 16));
gSPSegment(POLY_XLU_DISP++, 0x09,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 127 - (gameplayFrames % 128), (gameplayFrames * 1) % 128,
32, 32, 1, gameplayFrames % 128, (gameplayFrames * 1) % 128, 32, 32));
gSPSegment(
POLY_OPA_DISP++, 0x0A,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 32, 32, 1, 0, 127 - (gameplayFrames * 1) % 128, 32, 32));
gSPSegment(POLY_OPA_DISP++, 0x0B,
Gfx_TexScroll(globalCtx->state.gfxCtx, 0, (gameplayFrames * 1) % 128, 32, 32));
gSPSegment(POLY_OPA_DISP++, 0x0B, Gfx_TexScroll(globalCtx->state.gfxCtx, 0, (gameplayFrames * 1) % 128, 32, 32));
gSPSegment(POLY_XLU_DISP++, 0x0C,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, (gameplayFrames * 50) % 2048, 8, 512, 1, 0,
(gameplayFrames * 60) % 2048, 8, 512));
@ -1140,8 +1138,7 @@ void func_8009A798(GlobalContext* globalCtx) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 5226);
gameplayFrames = globalCtx->gameplayFrames;
gSPSegment(POLY_XLU_DISP++, 0x08,
Gfx_TexScroll(globalCtx->state.gfxCtx, 0, (gameplayFrames * 2) % 256, 64, 64));
gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TexScroll(globalCtx->state.gfxCtx, 0, (gameplayFrames * 2) % 256, 64, 64));
gDPPipeSync(POLY_OPA_DISP++);
gDPSetEnvColor(POLY_OPA_DISP++, 128, 128, 128, 128);
@ -1260,8 +1257,7 @@ void func_8009AFE0(GlobalContext* globalCtx) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 5490);
gameplayFrames = globalCtx->gameplayFrames;
gSPSegment(POLY_OPA_DISP++, 0x09,
Gfx_TexScroll(globalCtx->state.gfxCtx, 0, (gameplayFrames * 3) % 128, 32, 32));
gSPSegment(POLY_OPA_DISP++, 0x09, Gfx_TexScroll(globalCtx->state.gfxCtx, 0, (gameplayFrames * 3) % 128, 32, 32));
{ s32 pad[2]; }
@ -1540,8 +1536,7 @@ void func_8009C608(GlobalContext* globalCtx) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 6151);
gameplayFrames = globalCtx->gameplayFrames;
gSPSegment(POLY_XLU_DISP++, 0x08,
Gfx_TexScroll(globalCtx->state.gfxCtx, 0, (gameplayFrames * 1) % 64, 256, 16));
gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TexScroll(globalCtx->state.gfxCtx, 0, (gameplayFrames * 1) % 64, 256, 16));
gSPSegment(POLY_XLU_DISP++, 0x09,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, (gameplayFrames * 60) % 2048, 8, 512, 1, 0,
(gameplayFrames * 50) % 2048, 8, 512));
@ -1685,8 +1680,7 @@ void func_8009D0E8(GlobalContext* globalCtx) {
gameplayFrames = globalCtx->gameplayFrames;
gSPSegment(POLY_XLU_DISP++, 0x08,
Gfx_TexScroll(globalCtx->state.gfxCtx, 127 - (gameplayFrames * 4) % 128, 0, 32, 32));
gSPSegment(POLY_OPA_DISP++, 0x09,
Gfx_TexScroll(globalCtx->state.gfxCtx, 0, (gameplayFrames * 5) % 64, 16, 16));
gSPSegment(POLY_OPA_DISP++, 0x09, Gfx_TexScroll(globalCtx->state.gfxCtx, 0, (gameplayFrames * 5) % 64, 16, 16));
gSPSegment(POLY_OPA_DISP++, 0x0A,
Gfx_TexScroll(globalCtx->state.gfxCtx, 0, 63 - (gameplayFrames * 2) % 64, 16, 16));
gSPSegment(
@ -1755,8 +1749,7 @@ void func_8009D5B4(GlobalContext* globalCtx) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 6595);
gameplayFrames = globalCtx->gameplayFrames;
gSPSegment(POLY_OPA_DISP++, 0x08,
Gfx_TexScroll(globalCtx->state.gfxCtx, 0, (gameplayFrames * 3) % 128, 32, 32));
gSPSegment(POLY_OPA_DISP++, 0x08, Gfx_TexScroll(globalCtx->state.gfxCtx, 0, (gameplayFrames * 3) % 128, 32, 32));
gSPSegment(POLY_XLU_DISP++, 0x09,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 1023 - (gameplayFrames * 3) % 1024, 16, 256, 1, 0,
1023 - (gameplayFrames * 6) % 1024, 16, 256));
@ -1998,8 +1991,7 @@ void func_8009E730(GlobalContext* globalCtx) {
if (LINK_IS_ADULT) {
var = 0;
}
gSPSegment(POLY_OPA_DISP++, 0x0C,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 64, 32, 1, 0, var, 64, 32));
gSPSegment(POLY_OPA_DISP++, 0x0C, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 64, 32, 1, 0, var, 64, 32));
gDPPipeSync(POLY_OPA_DISP++);
gDPSetEnvColor(POLY_OPA_DISP++, 128, 128, 128, 128);
@ -2446,8 +2438,7 @@ void func_800A059C(GlobalContext* globalCtx) {
gameplayFrames = globalCtx->gameplayFrames;
gSPSegment(POLY_OPA_DISP++, 0x08,
Gfx_TexScroll(globalCtx->state.gfxCtx, 127 - (gameplayFrames * 2) % 128, 0, 32, 64));
gSPSegment(POLY_OPA_DISP++, 0x09,
Gfx_TexScroll(globalCtx->state.gfxCtx, 0, (gameplayFrames * 2) % 512, 128, 128));
gSPSegment(POLY_OPA_DISP++, 0x09, Gfx_TexScroll(globalCtx->state.gfxCtx, 0, (gameplayFrames * 2) % 512, 128, 128));
gDPPipeSync(POLY_OPA_DISP++);
gDPSetEnvColor(POLY_OPA_DISP++, 128, 128, 128, 128);

View file

@ -49,8 +49,7 @@ void SkelAnime_LodDrawLimb(GlobalContext* globalCtx, s32 limbIndex, Skeleton* sk
if ((overrideLimbDraw == NULL) || (overrideLimbDraw(globalCtx, limbIndex, &dList, &pos, &rot, actor) == 0)) {
Matrix_JointPosition(&pos, &rot);
if (dList != NULL) {
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 805),
G_MTX_LOAD);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 805), G_MTX_LOAD);
gSPDisplayList(POLY_OPA_DISP++, dList);
}
@ -110,8 +109,7 @@ void SkelAnime_LodDraw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limb
if ((overrideLimbDraw == NULL) || (overrideLimbDraw(globalCtx, 1, &dList, &pos, &rot, actor) == 0)) {
Matrix_JointPosition(&pos, &rot);
if (dList != NULL) {
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 881),
G_MTX_LOAD);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 881), G_MTX_LOAD);
gSPDisplayList(POLY_OPA_DISP++, dList);
}
@ -275,8 +273,7 @@ void SkelAnime_DrawLimb(GlobalContext* globalCtx, s32 limbIndex, Skeleton* skele
if ((overrideLimbDraw == NULL) || (overrideLimbDraw(globalCtx, limbIndex, &dList, &pos, &rot, actor) == 0)) {
Matrix_JointPosition(&pos, &rot);
if (dList != NULL) {
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 1103),
G_MTX_LOAD);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 1103), G_MTX_LOAD);
gSPDisplayList(POLY_OPA_DISP++, dList);
}
}
@ -332,8 +329,7 @@ void SkelAnime_Draw(GlobalContext* globalCtx, Skeleton* skeleton, Vec3s* limbDra
if ((overrideLimbDraw == NULL) || (overrideLimbDraw(globalCtx, 1, &dList, &pos, &rot, actor) == 0)) {
Matrix_JointPosition(&pos, &rot);
if (dList != NULL) {
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 1176),
G_MTX_LOAD);
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_skelanime.c", 1176), G_MTX_LOAD);
gSPDisplayList(POLY_OPA_DISP++, dList);
}
}

View file

@ -221,20 +221,23 @@ ItemEquips sDebugSaveEquips = {
0x1122, // equipment
};
Inventory sDebugSaveInventory = {
{ ITEM_STICK, ITEM_NUT, ITEM_BOMB, ITEM_BOW, ITEM_ARROW_FIRE, ITEM_DINS_FIRE,
ITEM_SLINGSHOT, ITEM_OCARINA_FAIRY, ITEM_BOMBCHU, ITEM_HOOKSHOT, ITEM_ARROW_ICE, ITEM_FARORES_WIND,
ITEM_BOOMERANG, ITEM_LENS, ITEM_BEAN, ITEM_HAMMER, ITEM_ARROW_LIGHT, ITEM_NAYRUS_LOVE,
ITEM_BOTTLE, ITEM_POTION_RED, ITEM_POTION_GREEN, ITEM_POTION_BLUE, ITEM_POCKET_EGG, ITEM_WEIRD_EGG }, // items
{ 50, 50, 10, 30, 1, 1, 30, 1, 50, 1, 1, 1, 1, 1, 1, 1 }, // ammo
0x7777, // equipment
0x125249, // upgrades
0x1E3FFFF, // questItems
{ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // dungeonItems
{ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 }, // dungeonKeys
0, // defenseHearts
0, // gsTokens
};
Inventory
sDebugSaveInventory =
{
{ ITEM_STICK, ITEM_NUT, ITEM_BOMB, ITEM_BOW, ITEM_ARROW_FIRE,
ITEM_DINS_FIRE, ITEM_SLINGSHOT, ITEM_OCARINA_FAIRY, ITEM_BOMBCHU, ITEM_HOOKSHOT,
ITEM_ARROW_ICE, ITEM_FARORES_WIND, ITEM_BOOMERANG, ITEM_LENS, ITEM_BEAN,
ITEM_HAMMER, ITEM_ARROW_LIGHT, ITEM_NAYRUS_LOVE, ITEM_BOTTLE, ITEM_POTION_RED,
ITEM_POTION_GREEN, ITEM_POTION_BLUE, ITEM_POCKET_EGG, ITEM_WEIRD_EGG }, // items
{ 50, 50, 10, 30, 1, 1, 30, 1, 50, 1, 1, 1, 1, 1, 1, 1 }, // ammo
0x7777, // equipment
0x125249, // upgrades
0x1E3FFFF, // questItems
{ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, // dungeonItems
{ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 }, // dungeonKeys
0, // defenseHearts
0, // gsTokens
};
u16 sDebugSaveChecksum = 0;

View file

@ -428,8 +428,8 @@ s32 func_800AB2C4(View* view) {
view->vp = *vp;
gDPPipeSync(OVERLAY_DISP++);
gDPSetScissor(OVERLAY_DISP++, G_SC_NON_INTERLACE, view->viewport.leftX, view->viewport.topY,
view->viewport.rightX, view->viewport.bottomY);
gDPSetScissor(OVERLAY_DISP++, G_SC_NON_INTERLACE, view->viewport.leftX, view->viewport.topY, view->viewport.rightX,
view->viewport.bottomY);
gSPViewport(OVERLAY_DISP++, vp);
projection = Graph_Alloc(gfxCtx, sizeof(Mtx));
@ -468,8 +468,8 @@ s32 func_800AB560(View* view) {
view->vp = *vp;
gDPPipeSync(OVERLAY_DISP++);
gDPSetScissor(OVERLAY_DISP++, G_SC_NON_INTERLACE, view->viewport.leftX, view->viewport.topY,
view->viewport.rightX, view->viewport.bottomY);
gDPSetScissor(OVERLAY_DISP++, G_SC_NON_INTERLACE, view->viewport.leftX, view->viewport.topY, view->viewport.rightX,
view->viewport.bottomY);
gSPViewport(OVERLAY_DISP++, vp);
projection = Graph_Alloc(gfxCtx, sizeof(Mtx));

View file

@ -536,8 +536,8 @@ void func_80985CE8(DemoIm* this, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->unk_26C);
gSPSegment(POLY_XLU_DISP++, 0x0C, &D_80116280[0]);
POLY_XLU_DISP = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl,
skelAnime->dListCount, NULL, NULL, NULL, POLY_XLU_DISP);
POLY_XLU_DISP = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
NULL, NULL, NULL, POLY_XLU_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_im_inKenjyanomaDemo02.c", 308);
}

View file

@ -469,8 +469,8 @@ void func_8098F1C0(DemoSa* this, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->alpha);
gSPSegment(POLY_XLU_DISP++, 0x0C, D_80116280);
POLY_XLU_DISP = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl,
skelAnime->dListCount, NULL, NULL, NULL, POLY_XLU_DISP);
POLY_XLU_DISP = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
NULL, NULL, NULL, POLY_XLU_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_demo_sa_inKenjyanomaDemo02.c", 325);
}

View file

@ -114,14 +114,12 @@ void DemoShd_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPDisplayList(POLY_XLU_DISP++, D_809932D0);
if (this->unk_14C & 1) {
gSPDisplayList(POLY_XLU_DISP++,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0x3FF - ((unk_14E * 5) & 0x3FF), 16, 256, 1, 0,
255 - ((unk_14E * 5) & 255), 32, 32));
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0x3FF - ((unk_14E * 5) & 0x3FF),
16, 256, 1, 0, 255 - ((unk_14E * 5) & 255), 32, 32));
gSPDisplayList(POLY_XLU_DISP++, D_80993390);
} else if (this->unk_14C & 2) {
gSPDisplayList(POLY_XLU_DISP++,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0x3FF - ((unk_14E * 5) & 0x3FF), 16, 256, 1, 0,
255 - ((unk_14E * 5) & 255), 32, 32));
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0x3FF - ((unk_14E * 5) & 0x3FF),
16, 256, 1, 0, 255 - ((unk_14E * 5) & 255), 32, 32));
gSPDisplayList(POLY_XLU_DISP++, D_809934B8);
}

View file

@ -183,12 +183,11 @@ s32 func_809B55EC(EnAttackNiw* this, GlobalContext* globalCtx) {
}
#ifdef NON_MATCHING
// Stack, every variable off by 4 bytes
// &this->actor.posRot.pos stored at wrong place
void func_809B5670(EnAttackNiw* this, GlobalContext* globalCtx) {
Vec3f* pos = &this->actor.posRot.pos;
f32 tmpf1;
s16 sp4E;
s16 sp4C;
f32 tmpf1;
f32 tmpf2;
f32 tmpf3;
Vec3f sp34;
@ -203,13 +202,17 @@ void func_809B5670(EnAttackNiw* this, GlobalContext* globalCtx) {
sp34.y = globalCtx->view.lookAt.y + tmpf2;
sp34.z = globalCtx->view.lookAt.z + tmpf3;
this->unk_2D4 = Math_Vec3f_Yaw(pos, &sp34);
this->unk_2D0 = (Math_Vec3f_Pitch(pos, &sp34) * -1.0f);
if (1) {}
this->unk_2D4 = Math_Vec3f_Yaw(&this->actor.posRot.pos, &sp34);
this->unk_2D0 = Math_Vec3f_Pitch(&this->actor.posRot.pos, &sp34) * -1.0f;
Math_SmoothScaleMaxMinS(&this->actor.posRot.rot.y, this->unk_2D4, 5, this->unk_2DC, 0);
Math_SmoothScaleMaxMinS(&this->actor.posRot.rot.x, this->unk_2D0, 5, this->unk_2DC, 0);
Math_SmoothScaleMaxF(&this->unk_2DC, 5000.0f, 1.0f, 100.0f);
Actor_SetHeight(&this->actor, this->unk_2E4);
func_8002F374(globalCtx, &this->actor, &sp4E, &sp4C);
if (this->actor.bgCheckFlags & 8) {
this->unk_2D4 = this->actor.yawTowardsLink;
this->unk_2D0 = this->actor.posRot.rot.x - 3000.0f;
@ -224,10 +227,11 @@ void func_809B5670(EnAttackNiw* this, GlobalContext* globalCtx) {
(fabsf(sp34.y - this->actor.posRot.pos.y) < 50.0f) &&
(fabsf(sp34.z - this->actor.posRot.pos.z) < 50.0f)) ||
(this->actor.bgCheckFlags & 1)) {
this->unk_254 = this->unk_256 = this->unk_258 = this->unk_25A = 0;
this->unk_284 = this->unk_27C = this->unk_2DC = 0.0f;
this->unk_2D4 = this->actor.yawTowardsLink;
this->unk_2D0 = this->actor.posRot.rot.x - 2000.0f;
this->unk_284 = this->unk_27C = this->unk_2DC = 0.0f;
this->unk_254 = this->unk_256 = this->unk_258 = this->unk_25A = 0;
this->actor.gravity = -0.2f;
this->unk_2E0 = 5.0f;
this->unk_288 = 0.0f;

View file

@ -646,7 +646,7 @@ void EnBox_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPSegment(POLY_OPA_DISP++, 0x08, EnBox_EmptyDList(globalCtx->state.gfxCtx));
func_80093D18(globalCtx->state.gfxCtx);
POLY_OPA_DISP = SkelAnime_Draw2(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, NULL,
EnBox_PostLimbDraw, &this->dyna.actor, POLY_OPA_DISP);
EnBox_PostLimbDraw, &this->dyna.actor, POLY_OPA_DISP);
} else if (this->alpha != 0) {
gDPPipeSync(POLY_XLU_DISP++);
func_80093D84(globalCtx->state.gfxCtx);
@ -657,7 +657,7 @@ void EnBox_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPSegment(POLY_XLU_DISP++, 0x08, func_809CA4A0(globalCtx->state.gfxCtx));
}
POLY_XLU_DISP = SkelAnime_Draw2(globalCtx, this->skelanime.skeleton, this->skelanime.limbDrawTbl, NULL,
EnBox_PostLimbDraw, &this->dyna.actor, POLY_XLU_DISP);
EnBox_PostLimbDraw, &this->dyna.actor, POLY_XLU_DISP);
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_box.c", 1639);

View file

@ -122,8 +122,7 @@ void EnDyExtra_Draw(Actor* thisx, GlobalContext* globalCtx) {
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0x80, primColors[this->type].r, primColors[this->type].g,
primColors[this->type].b, 255);
gDPSetEnvColor(POLY_XLU_DISP++, envColors[this->type].r, envColors[this->type].g, envColors[this->type].b,
128);
gDPSetEnvColor(POLY_XLU_DISP++, envColors[this->type].r, envColors[this->type].g, envColors[this->type].b, 128);
gSPDisplayList(POLY_XLU_DISP++, D_0601C160);
CLOSE_DISPS(gfxCtx, "../z_en_dy_extra.c", 325);

View file

@ -572,8 +572,6 @@ void func_80A03018(EnElf* this, GlobalContext* globalCtx) {
Actor_MoveForward(&this->actor);
}
#ifdef NON_MATCHING
// slight ordering and regalloc
void func_80A03148(EnElf* this, Vec3f* arg1, f32 arg2, f32 arg3, f32 arg4) {
f32 xVelTarget;
f32 zVelTarget;
@ -582,27 +580,25 @@ void func_80A03148(EnElf* this, Vec3f* arg1, f32 arg2, f32 arg3, f32 arg4) {
xVelTarget = ((arg1->x + this->unk_28C.x) - this->actor.posRot.pos.x) * arg4;
zVelTarget = ((arg1->z + this->unk_28C.z) - this->actor.posRot.pos.z) * arg4;
arg4 += 0.3f;
arg3 += 30.0f;
func_80A02BD8(this, arg1, arg4 + 0.3f);
func_80A02BD8(this, arg1, arg4);
xzVelocity = sqrtf(SQ(xVelTarget) + SQ(zVelTarget));
clampedXZ = CLAMP(xzVelocity, arg2, arg3);
this->actor.speedXZ = clampedXZ;
this->actor.speedXZ = clampedXZ = CLAMP(xzVelocity, arg2, arg3);
if ((xzVelocity != clampedXZ) && (xzVelocity != 0.0f)) {
zVelTarget *= (clampedXZ / xzVelocity);
xVelTarget *= (clampedXZ / xzVelocity);
xzVelocity = clampedXZ / xzVelocity;
xVelTarget *= xzVelocity;
zVelTarget *= xzVelocity;
}
Math_ApproxF(&this->actor.velocity.x, xVelTarget, 5.0f);
Math_ApproxF(&this->actor.velocity.z, zVelTarget, 5.0f);
func_8002D7EC(this);
func_8002D7EC(&this->actor);
}
#else
void func_80A03148(EnElf* this, Vec3f* arg1, f32 arg2, f32 arg3, f32 arg4);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Elf/func_80A03148.s")
#endif
void func_80A0329C(EnElf* this, GlobalContext* globalCtx) {
Player* refActor = PLAYER;
@ -839,8 +835,6 @@ void EnElf_UpdateLights(EnElf* this, GlobalContext* globalCtx) {
Actor_SetScale(&this->actor, this->actor.scale.x);
}
#ifdef NON_MATCHING
// float regalloc
void func_80A03CF8(EnElf* this, GlobalContext* globalCtx) {
Vec3f nextPos;
Vec3f prevPos;
@ -897,13 +891,14 @@ void func_80A03CF8(EnElf* this, GlobalContext* globalCtx) {
switch (this->unk_2A8) {
case 7:
func_80A02C98(this, &player->bodyPartsPos[8], 1.0f - this->unk_2AE * 0.033333335f);
xScale =
1.0f - ((Math_Vec3f_DistXYZ(&player->bodyPartsPos[8], &this->actor.posRot.pos) - 5.0f) * 0.05f);
xScale = Math_Vec3f_DistXYZ(&player->bodyPartsPos[8], &this->actor.posRot.pos);
if (distFromLinksHead < 7.0f) {
this->unk_2C0 = 0;
xScale = 0.0f;
} else if (distFromLinksHead < 25.0f) {
xScale = (xScale - 5.0f) * 0.05f;
xScale = 1.0f - xScale;
xScale = (1.0f - SQ(xScale)) * 0.008f;
} else {
xScale = 0.008f;
@ -917,7 +912,7 @@ void func_80A03CF8(EnElf* this, GlobalContext* globalCtx) {
break;
case 11:
nextPos = player->bodyPartsPos[8];
nextPos.y += this->actor.scale.y * 1500.0f;
nextPos.y += 1500.0f * this->actor.scale.y;
func_80A02E30(this, &nextPos);
EnElf_SpawnSparkles(this, globalCtx, 16);
@ -990,9 +985,6 @@ void func_80A03CF8(EnElf* this, GlobalContext* globalCtx) {
EnElf_UpdateLights(this, globalCtx);
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Elf/func_80A03CF8.s")
#endif
void EnElf_ChangeColor(Color_RGBAf* dest, Color_RGBAf* newColor, Color_RGBAf* curColor, f32 rate) {
Color_RGBAf rgbaDiff;
@ -1097,54 +1089,52 @@ void func_80A0461C(EnElf* this, GlobalContext* globalCtx) {
if ((player->stateFlags1 & 0x400) || ((YREG(15) & 0x10) && func_800BC56C(globalCtx, 2))) {
temp = 12;
this->unk_2C0 = 100;
} else {
if ((arrowPointedActor == NULL) || (temp = 1, (arrowPointedActor->type == ACTORTYPE_NPC))) {
if (arrowPointedActor != NULL) {
this->unk_2C0 = 100;
player->stateFlags2 |= 0x100000;
temp = 0;
} else {
switch (this->unk_2A8) {
case 0:
if (this->unk_2C0 != 0) {
this->unk_2C0--;
temp = 0;
} else {
if (this->unk_2C7 == 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EV_NAVY_VANISH);
}
temp = 7;
}
break;
case 7:
if (this->unk_2C0 != 0) {
if (this->unk_2AE > 0) {
this->unk_2AE--;
temp = 7;
} else {
player->stateFlags2 |= 0x100000;
temp = 0;
}
} else {
temp = 8;
func_80A029A8(this, 10);
}
break;
case 8:
temp = 8;
break;
case 11:
temp = this->unk_2A8;
if (this->unk_2C0 > 0) {
this->unk_2C0--;
} else {
temp = 0;
}
break;
default:
} else if ((arrowPointedActor == NULL) || (temp = 1, (arrowPointedActor->type == ACTORTYPE_NPC))) {
if (arrowPointedActor != NULL) {
this->unk_2C0 = 100;
player->stateFlags2 |= 0x100000;
temp = 0;
} else {
switch (this->unk_2A8) {
case 0:
if (this->unk_2C0 != 0) {
this->unk_2C0--;
temp = 0;
break;
}
} else {
if (this->unk_2C7 == 0) {
Audio_PlayActorSound2(&this->actor, NA_SE_EV_NAVY_VANISH);
}
temp = 7;
}
break;
case 7:
if (this->unk_2C0 != 0) {
if (this->unk_2AE > 0) {
this->unk_2AE--;
temp = 7;
} else {
player->stateFlags2 |= 0x100000;
temp = 0;
}
} else {
temp = 8;
func_80A029A8(this, 10);
}
break;
case 8:
temp = 8;
break;
case 11:
temp = this->unk_2A8;
if (this->unk_2C0 > 0) {
this->unk_2C0--;
} else {
temp = 0;
}
break;
default:
temp = 0;
break;
}
}
}
@ -1540,7 +1530,7 @@ void EnElf_Draw(Actor* thisx, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_XLU_DISP++, (u8)this->outerColor.r, (u8)this->outerColor.g, (u8)this->outerColor.b,
(u8)(envAlpha * alphaScale));
POLY_XLU_DISP = SkelAnime_Draw2(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
EnElf_OverrideLimbDraw, NULL, &this->actor, POLY_XLU_DISP);
EnElf_OverrideLimbDraw, NULL, &this->actor, POLY_XLU_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_elf.c", 2793);
}

View file

@ -179,22 +179,22 @@ void func_80A59014(EnHoll* this, GlobalContext* globalCtx) {
TransitionActorEntry* transitionEntry;
f32 planeHalfWidth;
s32 pad2;
Player* player = PLAYER;
s32 useViewEye = D_8011D394 != 0 || globalCtx->csCtx.state != 0;
s32 transitionActorIdx;
f32 absZ;
s32 side;
Player* player = PLAYER;
func_8002DBD0(&this->actor, &vec, (useViewEye) ? &globalCtx->view.eye : &player->actor.posRot.pos);
planeHalfWidth = (((this->actor.params >> 6) & 7) == 6) ? PLANE_HALFWIDTH : PLANE_HALFWIDTH_2;
if (EnHoll_IsKokiriSetup8() || (vec.y > PLANE_Y_MIN && vec.y < PLANE_Y_MAX && fabsf(vec.x) < planeHalfWidth &&
(absZ = fabsf(vec.z), (absZ < 100.0f && absZ > 50.0f)))) {
fabsf(vec.z) < 100.0f && fabsf(vec.z) > 50.0f)) {
transitionActorIdx = (u16)this->actor.params >> 0xA;
side = (vec.z < 0.0f) ? 0 : 1;
transitionEntry = &globalCtx->transitionActorList[transitionActorIdx];
this->actor.room = transitionEntry->sides[side].room;
if (this->actor.room != globalCtx->roomCtx.curRoom.num &&
func_8009728C(globalCtx, &globalCtx->roomCtx, (u32)this->actor.room) != 0) {
func_8009728C(globalCtx, &globalCtx->roomCtx, (u32)this->actor.room)) {
EnHoll_SetupAction(this, EnHoll_NextAction);
}
}

View file

@ -261,25 +261,26 @@ void func_80A7C598(EnInsect* this) {
this->unk_314 |= 0x100;
}
#ifdef NON_MATCHING
// a stack offset is wrong
void func_80A7C5EC(EnInsect* this, GlobalContext* globalCtx) {
s32 pad[2];
s32 pad1;
s32 pad2;
s16 yaw;
s16 sp34 = this->actor.params & 3;
Math_SmoothScaleMaxMinF(&this->actor.speedXZ, 1.5f, 0.1f, 0.5f, 0.0f);
if (EnInsect_XZDistanceSquared(&this->actor.posRot.pos, &this->actor.initPosRot.pos) > 1600.0f ||
(this->unk_31A < 4)) {
Math_ApproxUpdateScaledS(&this->actor.posRot.rot.y,
Math_Vec3f_Yaw(&this->actor.posRot.pos, &this->actor.initPosRot.pos), 2000);
yaw = Math_Vec3f_Yaw(&this->actor.posRot.pos, &this->actor.initPosRot.pos);
Math_ApproxUpdateScaledS(&this->actor.posRot.rot.y, yaw, 2000);
} else if (this->actor.child != NULL && &this->actor != this->actor.child) {
Math_ApproxUpdateScaledS(&this->actor.posRot.rot.y,
Math_Vec3f_Yaw(&this->actor.posRot.pos, &this->actor.child->posRot.pos), 2000);
yaw = Math_Vec3f_Yaw(&this->actor.posRot.pos, &this->actor.child->posRot.pos);
Math_ApproxUpdateScaledS(&this->actor.posRot.rot.y, yaw, 2000);
}
this->actor.shape.rot.y = this->actor.posRot.rot.y;
this->skelAnime.animPlaybackSpeed = CLAMP(this->actor.speedXZ * 1.4f, 0.7f, 1.9f);
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (this->unk_31A <= 0) {
@ -295,9 +296,6 @@ void func_80A7C5EC(EnInsect* this, GlobalContext* globalCtx) {
func_80A7C818(this);
}
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Insect/func_80A7C5EC.s")
#endif
void func_80A7C818(EnInsect* this) {
this->unk_31A = Math_Rand_S16Offset(10, 40);
@ -309,40 +307,40 @@ void func_80A7C818(EnInsect* this) {
#ifdef NON_MATCHING
// regalloc, minor reordering
void func_80A7C86C(EnInsect* this, GlobalContext* globalCtx) {
s32 pad[3];
s16 phi_a1;
s16 sp38;
sp38 = 0;
if (this->actor.xzDistFromLink < 40.0f) {
sp38 = 1;
}
s32 pad[2];
s16 pad2;
s16 frames;
s16 yaw;
s16 sp38 = this->actor.xzDistFromLink < 40.0f;
Math_SmoothScaleMaxMinF(&this->actor.speedXZ, 1.8f, 0.1f, 0.5f, 0.0f);
if (EnInsect_XZDistanceSquared(&this->actor.posRot.pos, &this->actor.initPosRot.pos) > 25600.0f ||
this->unk_31A < 4) {
Math_ApproxUpdateScaledS(&this->actor.posRot.rot.y,
Math_Vec3f_Yaw(&this->actor.posRot.pos, &this->actor.initPosRot.pos), 2000);
yaw = Math_Vec3f_Yaw(&this->actor.posRot.pos, &this->actor.initPosRot.pos);
Math_ApproxUpdateScaledS(&this->actor.posRot.rot.y, yaw, 2000);
} else if (sp38 != 0) {
phi_a1 = this->actor.yawTowardsLink + 0x8000;
frames = globalCtx->state.frames;
yaw = this->actor.yawTowardsLink + 0x8000;
if ((s16)globalCtx->state.frames & 0x10) {
if ((s16)globalCtx->state.frames & 0x20) {
phi_a1 += 0x2000;
if (frames & 0x10) {
if (frames & 0x20) {
yaw += 0x2000;
}
} else {
if (frames & 0x20) {
yaw -= 0x2000;
}
} else if ((s16)globalCtx->state.frames & 0x20) {
phi_a1 -= 0x2000;
}
Math_ApproxUpdateScaledS(&this->actor.posRot.rot.y, phi_a1, 2000);
Math_ApproxUpdateScaledS(&this->actor.posRot.rot.y, yaw, 2000);
}
this->actor.shape.rot.y = this->actor.posRot.rot.y;
this->skelAnime.animPlaybackSpeed = CLAMP(this->actor.speedXZ * 1.6f, 0.8f, 1.9f);
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
if (this->unk_31A <= 0 || sp38 == 0) {
if (this->unk_31A <= 0 || !sp38) {
func_80A7C3A0(this);
} else if ((this->unk_314 & 1) && (this->actor.bgCheckFlags & 0x40)) {
func_80A7CE60(this);

View file

@ -174,8 +174,7 @@ void EnLight_Draw(Actor* thisx, GlobalContext* globalCtx) {
dList = D_0404D4E0;
gDPSetPrimColor(POLY_XLU_DISP++, 0x80, 0x80, flameParams->primColor.r, flameParams->primColor.g,
flameParams->primColor.b, flameParams->primColor.a);
gDPSetEnvColor(POLY_XLU_DISP++, flameParams->envColor.r, flameParams->envColor.g, flameParams->envColor.b,
0);
gDPSetEnvColor(POLY_XLU_DISP++, flameParams->envColor.r, flameParams->envColor.g, flameParams->envColor.b, 0);
} else {
gSPSegment(POLY_XLU_DISP++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0, 0, 16, 32, 1, ((this->timer * 2) & 63),

View file

@ -871,8 +871,8 @@ void EnRd_Draw(Actor* thisx, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, this->unk_314);
gSPSegment(POLY_OPA_DISP++, 8, &D_80116280[2]);
POLY_OPA_DISP = SkelAnime_DrawSV2(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
this->skelAnime.dListCount, EnRd_OverrideLimbDraw, EnRd_PostLimbDraw,
&this->actor, POLY_OPA_DISP);
this->skelAnime.dListCount, EnRd_OverrideLimbDraw, EnRd_PostLimbDraw,
&this->actor, POLY_OPA_DISP);
func_80033C30(&thisPos, &D_80AE4958, 255, globalCtx);
if (this->unk_31A != 0) {
this->actor.dmgEffectTimer++;
@ -886,9 +886,9 @@ void EnRd_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_80093D84(globalCtx->state.gfxCtx);
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->unk_314);
gSPSegment(POLY_XLU_DISP++, 8, &D_80116280[0]);
POLY_XLU_DISP = SkelAnime_DrawSV2(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
this->skelAnime.dListCount, EnRd_OverrideLimbDraw, NULL, &this->actor,
POLY_XLU_DISP);
POLY_XLU_DISP =
SkelAnime_DrawSV2(globalCtx, this->skelAnime.skeleton, this->skelAnime.limbDrawTbl,
this->skelAnime.dListCount, EnRd_OverrideLimbDraw, NULL, &this->actor, POLY_XLU_DISP);
func_80033C30(&thisPos, &D_80AE4958, this->unk_314, globalCtx);
}

View file

@ -316,8 +316,8 @@ void func_80AE7D94(EnRl* this, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->alpha);
gSPSegment(POLY_XLU_DISP++, 0x0C, D_80116280);
POLY_XLU_DISP = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl,
skelAnime->dListCount, NULL, NULL, NULL, POLY_XLU_DISP);
POLY_XLU_DISP = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
NULL, NULL, NULL, POLY_XLU_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_rl_inKenjyanomaDemo02.c", 331);
}

View file

@ -2366,9 +2366,8 @@ void func_80AF0400(EnRu1* this, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]);
POLY_OPA_DISP =
SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
EnRu1_OverrideLimbDraw, EnRu1_PostLimbDraw, &this->actor, POLY_OPA_DISP);
POLY_OPA_DISP = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
EnRu1_OverrideLimbDraw, EnRu1_PostLimbDraw, &this->actor, POLY_OPA_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ru1.c", 1309);
}
@ -2392,9 +2391,8 @@ void func_80AF05D4(EnRu1* this, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->unk_2A8);
gSPSegment(POLY_XLU_DISP++, 0x0C, &D_80116280[0]);
POLY_XLU_DISP =
SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
EnRu1_OverrideLimbDraw, NULL, &this->actor, POLY_XLU_DISP);
POLY_XLU_DISP = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
EnRu1_OverrideLimbDraw, NULL, &this->actor, POLY_XLU_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ru1.c", 1353);
}

View file

@ -485,8 +485,8 @@ void func_80AF321C(EnRu2* this, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->alpha);
gSPSegment(POLY_XLU_DISP++, 0x0C, &D_80116280[0]);
POLY_XLU_DISP = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl,
skelAnime->dListCount, NULL, NULL, NULL, POLY_XLU_DISP);
POLY_XLU_DISP = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
NULL, NULL, NULL, POLY_XLU_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_ru2_inKenjyanomaDemo02.c", 291);
}

View file

@ -39,7 +39,7 @@ const ActorInit En_Tubo_Trap_InitVars = {
(ActorFunc)EnTuboTrap_Draw,
};
extern UNK_TYPE D_05017A60;
extern Gfx D_05017A60[];
extern Gfx D_05017870[];
void EnTuboTrap_Init(Actor* thisx, GlobalContext* globalCtx) {
@ -65,7 +65,7 @@ void EnTuboTrap_DropCollectible(EnTuboTrap* this, GlobalContext* globalCtx) {
s16 param3FF = (params >> 6) & 0x3FF;
if (param3FF >= 0 && param3FF < 0x1A) {
Item_DropCollectible(globalCtx, &this->actor.posRot, param3FF | ((params & 0x3F) << 8));
Item_DropCollectible(globalCtx, &this->actor.posRot.pos, param3FF | ((params & 0x3F) << 8));
}
}
@ -106,7 +106,7 @@ void EnTuboTrap_SpawnEffectsOnLand(EnTuboTrap* this, GlobalContext* globalCtx) {
EffectSsKakera_Spawn(globalCtx, &pos, &velocity, actorPos, -240, arg5, 10, 10, 0,
(Math_Rand_ZeroOne() * 65.0f) + 15.0f, 0, 32, 60, KAKERA_COLOR_NONE,
OBJECT_GAMEPLAY_DANGEON_KEEP, &D_05017A60);
OBJECT_GAMEPLAY_DANGEON_KEEP, D_05017A60);
}
func_80033480(globalCtx, actorPos, 30.0f, 4, 20, 50, 0);
@ -152,7 +152,7 @@ void EnTuboTrap_SpawnEffectsInWater(EnTuboTrap* this, GlobalContext* globalCtx)
EffectSsKakera_Spawn(globalCtx, &pos, &velocity, actorPos, -180, arg5, 30, 30, 0,
(Math_Rand_ZeroOne() * 65.0f) + 15.0f, 0, 32, 70, KAKERA_COLOR_NONE,
OBJECT_GAMEPLAY_DANGEON_KEEP, &D_05017A60);
OBJECT_GAMEPLAY_DANGEON_KEEP, D_05017A60);
}
}
@ -224,7 +224,7 @@ void EnTuboTrap_WaitForProximity(EnTuboTrap* this, GlobalContext* globalCtx) {
}
if (this->actor.xzDistFromLink < 200.0f && this->actor.posRot.pos.y <= player->actor.posRot.pos.y) {
Actor_ChangeType(globalCtx, &globalCtx->actorCtx, this, ACTORTYPE_ENEMY);
Actor_ChangeType(globalCtx, &globalCtx->actorCtx, &this->actor, ACTORTYPE_ENEMY);
this->actor.flags |= 1;
targetHeight = 40.0f + -10.0f * gSaveContext.linkAge;
@ -234,7 +234,7 @@ void EnTuboTrap_WaitForProximity(EnTuboTrap* this, GlobalContext* globalCtx) {
}
this->originPos = this->actor.posRot.pos;
Audio_PlayActorSound2(this, NA_SE_EV_POT_MOVE_START);
Audio_PlayActorSound2(&this->actor, NA_SE_EV_POT_MOVE_START);
this->actionFunc = EnTuboTrap_Levitate;
}
}
@ -274,8 +274,8 @@ void EnTuboTrap_Update(Actor* thisx, GlobalContext* globalCtx) {
func_8002E4B4(globalCtx, &this->actor, 10.0f, 10.0f, 20.0f, 0x1D);
Actor_SetHeight(&this->actor, 0.0f);
Collider_CylinderUpdate(&this->actor, &this->collider);
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider);
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider);
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
CollisionCheck_SetAT(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
}
void EnTuboTrap_Draw(Actor* thisx, GlobalContext* globalCtx) {

View file

@ -1694,9 +1694,8 @@ void func_80B523C8(EnZl2* this, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x0B, &D_80116280[2]);
POLY_OPA_DISP =
SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
EnZl2_OverrideLimbDraw, EnZl2_PostLimbDraw, &this->actor, POLY_OPA_DISP);
POLY_OPA_DISP = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
EnZl2_OverrideLimbDraw, EnZl2_PostLimbDraw, &this->actor, POLY_OPA_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_zl2.c", 1648);
}
@ -1720,9 +1719,8 @@ void func_80B525D4(EnZl2* this, GlobalContext* globalCtx) {
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, this->alpha);
gSPSegment(POLY_XLU_DISP++, 0x0B, &D_80116280[0]);
POLY_XLU_DISP =
SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
EnZl2_OverrideLimbDraw, NULL, &this->actor, POLY_XLU_DISP);
POLY_XLU_DISP = SkelAnime_DrawSV2(globalCtx, skelAnime->skeleton, skelAnime->limbDrawTbl, skelAnime->dListCount,
EnZl2_OverrideLimbDraw, NULL, &this->actor, POLY_XLU_DISP);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_en_zl2.c", 1692);
}

View file

@ -89,43 +89,43 @@ void EndTitle_Draw(Actor* thisx, GlobalContext* globalCtx) {
gDPSetRenderMode(OVERLAY_DISP++, G_RM_PASS, G_RM_XLU_SURF2);
gSPClearGeometryMode(OVERLAY_DISP++,
G_TEXTURE_ENABLE | G_CULL_BACK | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, 0, 0,
0, COMBINED, 0, 0, 0, COMBINED);
gDPSetCombineLERP(OVERLAY_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0,
COMBINED, 0, 0, 0, COMBINED);
gDPSetPrimColor(OVERLAY_DISP++, 0x00, 0x80, 0, 0, 0, this->endAlpha);
gDPSetTextureImage(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_8b, 80, D_80B670E0);
gDPSetTile(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_8b, 11, 0x0, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_NOMIRROR,
0, 0, G_TX_NOMIRROR | G_TX_NOMIRROR, 0, 0);
gDPSetTile(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_8b, 11, 0x0, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_NOMIRROR, 0, 0,
G_TX_NOMIRROR | G_TX_NOMIRROR, 0, 0);
gDPLoadSync(OVERLAY_DISP++);
gDPLoadTile(OVERLAY_DISP++, G_TX_LOADTILE, 0, 0, (80 << 2), (24 << 2));
gDPPipeSync(OVERLAY_DISP++);
gDPSetTile(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_8b, 11, 0x0, G_TX_RENDERTILE, 0,
G_TX_NOMIRROR | G_TX_NOMIRROR, 0, 0, G_TX_NOMIRROR | G_TX_NOMIRROR, 0, 0);
gDPSetTile(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_8b, 11, 0x0, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_NOMIRROR, 0,
0, G_TX_NOMIRROR | G_TX_NOMIRROR, 0, 0);
gDPSetTileSize(OVERLAY_DISP++, G_TX_RENDERTILE, 0, 0, (80 << 2), (24 << 2));
gSPTextureRectangle(OVERLAY_DISP++, (120 << 2), (90 << 2), (200 << 2), (113 << 2), G_TX_RENDERTILE, 0, 0,
(32 << 5), (32 << 5));
gSPTextureRectangle(OVERLAY_DISP++, (120 << 2), (90 << 2), (200 << 2), (113 << 2), G_TX_RENDERTILE, 0, 0, (32 << 5),
(32 << 5));
gDPPipeSync(OVERLAY_DISP++);
gDPSetPrimColor(OVERLAY_DISP++, 0x00, 0x80, 0, 0, 0, this->tlozAlpha);
gDPSetTextureImage(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_8b, 120, D_80B65EA0);
gDPSetTile(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_8b, 16, 0x0, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_NOMIRROR,
0, 0, G_TX_NOMIRROR | G_TX_NOMIRROR, 0, 0);
gDPSetTile(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_8b, 16, 0x0, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_NOMIRROR, 0, 0,
G_TX_NOMIRROR | G_TX_NOMIRROR, 0, 0);
gDPLoadSync(OVERLAY_DISP++);
gDPLoadTile(OVERLAY_DISP++, G_TX_LOADTILE, 0, 0, (120 << 2), (24 << 2));
gDPPipeSync(OVERLAY_DISP++);
gDPSetTile(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_8b, 16, 0x0, G_TX_RENDERTILE, 0,
G_TX_NOMIRROR | G_TX_NOMIRROR, 0, 0, G_TX_NOMIRROR | G_TX_NOMIRROR, 0, 0);
gDPSetTile(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_8b, 16, 0x0, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_NOMIRROR, 0,
0, G_TX_NOMIRROR | G_TX_NOMIRROR, 0, 0);
gDPSetTileSize(OVERLAY_DISP++, G_TX_RENDERTILE, 0, 0, (120 << 2), (24 << 2));
gSPTextureRectangle(OVERLAY_DISP++, (100 << 2), (160 << 2), (220 << 2), (183 << 2), G_TX_RENDERTILE, 0, 0,
(32 << 5), (32 << 5));
gDPPipeSync(OVERLAY_DISP++);
gDPSetPrimColor(OVERLAY_DISP++, 0x00, 0x80, 0, 0, 0, this->ootAlpha);
gDPSetTextureImage(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_8b, 112, D_80B669E0);
gDPSetTile(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_8b, 15, 0x0, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_NOMIRROR,
0, 0, G_TX_NOMIRROR | G_TX_NOMIRROR, 0, 0);
gDPSetTile(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_8b, 15, 0x0, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_NOMIRROR, 0, 0,
G_TX_NOMIRROR | G_TX_NOMIRROR, 0, 0);
gDPLoadSync(OVERLAY_DISP++);
gDPLoadTile(OVERLAY_DISP++, G_TX_LOADTILE, 0, 0, (112 << 2), (16 << 2));
gDPPipeSync(OVERLAY_DISP++);
gDPSetTile(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_8b, 15, 0x0, G_TX_RENDERTILE, 0,
G_TX_NOMIRROR | G_TX_NOMIRROR, 0, 0, G_TX_NOMIRROR | G_TX_NOMIRROR, 0, 0);
gDPSetTile(OVERLAY_DISP++, G_IM_FMT_IA, G_IM_SIZ_8b, 15, 0x0, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_NOMIRROR, 0,
0, G_TX_NOMIRROR | G_TX_NOMIRROR, 0, 0);
gDPSetTileSize(OVERLAY_DISP++, G_TX_RENDERTILE, 0, 0, (112 << 2), (16 << 2));
gSPTextureRectangle(OVERLAY_DISP++, (104 << 2), (177 << 2), (216 << 2), (192 << 2), G_TX_RENDERTILE, 0, 0,
(32 << 5), (32 << 5));

View file

@ -393,8 +393,8 @@ void ObjLightswitch_DrawOpa(ObjLightswitch* this, GlobalContext* globalCtx) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_obj_lightswitch.c", 809);
func_80093D18(globalCtx->state.gfxCtx);
gDPSetEnvColor(POLY_OPA_DISP++, (u8)(this->color[0] >> 6), (u8)(this->color[1] >> 6),
(u8)(this->color[2] >> 6), (u8)(this->alpha >> 6));
gDPSetEnvColor(POLY_OPA_DISP++, (u8)(this->color[0] >> 6), (u8)(this->color[1] >> 6), (u8)(this->color[2] >> 6),
(u8)(this->alpha >> 6));
gSPSegment(POLY_OPA_DISP++, 0x09, &D_80116280[2]);
if ((this->actor.params & 1) == 1) {
@ -443,8 +443,8 @@ void ObjLightswitch_DrawXlu(ObjLightswitch* this, GlobalContext* globalCtx) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_obj_lightswitch.c", 890);
func_80093D84(globalCtx->state.gfxCtx);
gDPSetEnvColor(POLY_XLU_DISP++, (u8)(this->color[0] >> 6), (u8)(this->color[1] >> 6),
(u8)(this->color[2] >> 6), (u8)(this->alpha >> 6));
gDPSetEnvColor(POLY_XLU_DISP++, (u8)(this->color[0] >> 6), (u8)(this->color[1] >> 6), (u8)(this->color[2] >> 6),
(u8)(this->alpha >> 6));
gSPSegment(POLY_XLU_DISP++, 0x09, D_80116280);
sp68.x = this->actor.posRot.pos.x;

View file

@ -157,8 +157,8 @@ void OceffSpot_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_oceff_spot.c", 469),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, sTextureDL);
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, scroll * 2, scroll * (-2), 32, 32,
1, 0, scroll * (-8), 32, 32));
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, scroll * 2, scroll * (-2), 32, 32, 1,
0, scroll * (-8), 32, 32));
gSPDisplayList(POLY_XLU_DISP++, sCylinderDl);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_oceff_spot.c", 485);

View file

@ -140,9 +140,9 @@ void OceffStorm_Draw2(Actor* thisx, GlobalContext* globalCtx) {
gDPSetPrimColor(POLY_XLU_DISP++, 0x80, 0x80, 200, 200, 150, this->primColorAlpha);
gSPDisplayList(POLY_XLU_DISP++, sTextureDL);
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, scroll * 8, scroll * 4, 64, 64, 1,
scroll * 4, scroll * 4, 64, 64));
gSPTextureRectangle(POLY_XLU_DISP++, 0, 0, (SCREEN_WIDTH << 2), (SCREEN_HEIGHT << 2), G_TX_RENDERTILE, 0, 0,
140, (1 << 15) | (31 << 10) | 884);
scroll * 4, scroll * 4, 64, 64));
gSPTextureRectangle(POLY_XLU_DISP++, 0, 0, (SCREEN_WIDTH << 2), (SCREEN_HEIGHT << 2), G_TX_RENDERTILE, 0, 0, 140,
(1 << 15) | (31 << 10) | 884);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_oceff_storm.c", 477);
}
@ -168,8 +168,8 @@ void OceffStorm_Draw(Actor* thisx, GlobalContext* globalCtx) {
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, sCylinderTexDl);
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, scroll * 4, (0 - scroll) * 8, 32,
32, 1, scroll * 8, (0 - scroll) * 12, 32, 32));
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, scroll * 4, (0 - scroll) * 8, 32, 32,
1, scroll * 8, (0 - scroll) * 12, 32, 32));
gSPDisplayList(POLY_XLU_DISP++, sCylinderDl);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_oceff_storm.c", 512);

View file

@ -120,8 +120,8 @@ void OceffWipe_Draw(Actor* thisx, GlobalContext* globalCtx) {
}
gSPDisplayList(POLY_XLU_DISP++, sTextureDL);
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0 - scroll, scroll * (-2), 32, 32,
1, 0 - scroll, scroll * (-2), 32, 32));
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 0 - scroll, scroll * (-2), 32, 32, 1,
0 - scroll, scroll * (-2), 32, 32));
gSPDisplayList(POLY_XLU_DISP++, sFrustrumDl);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_oceff_wipe.c", 398);

View file

@ -102,8 +102,8 @@ void OceffWipe2_Draw(Actor* thisx, GlobalContext* globalCtx) {
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 170, 255);
gDPSetEnvColor(POLY_XLU_DISP++, 255, 100, 0, 128);
gSPDisplayList(POLY_XLU_DISP++, sTextureDL);
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, scroll * 6, scroll * (-6), 64, 64,
1, scroll * (-6), 0, 64, 64));
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, scroll * 6, scroll * (-6), 64, 64, 1,
scroll * (-6), 0, 64, 64));
gSPDisplayList(POLY_XLU_DISP++, sFrustrumDl);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_oceff_wipe2.c", 417);

View file

@ -103,8 +103,8 @@ void OceffWipe3_Draw(Actor* thisx, GlobalContext* globalCtx) {
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 170, 255);
gDPSetEnvColor(POLY_XLU_DISP++, 100, 200, 0, 128);
gSPDisplayList(POLY_XLU_DISP++, sTextureDL);
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, scroll * 12, scroll * (-12), 64,
64, 1, scroll * 8, scroll * (-8), 64, 64));
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, scroll * 12, scroll * (-12), 64, 64, 1,
scroll * 8, scroll * (-8), 64, 64));
gSPDisplayList(POLY_XLU_DISP++, sFrustrumDl);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_oceff_wipe3.c", 370);

View file

@ -101,8 +101,8 @@ void OceffWipe4_Draw(Actor* thisx, GlobalContext* globalCtx) {
}
gSPDisplayList(POLY_XLU_DISP++, sTextureDL2);
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, scroll * 2, scroll * (-2), 32, 64,
1, scroll * (-1), scroll, 32, 32));
gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, scroll * 2, scroll * (-2), 32, 64, 1,
scroll * (-1), scroll, 32, 32));
gSPDisplayList(POLY_XLU_DISP++, sFrustrumDl);
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_oceff_wipe4.c", 344);

View file

@ -10444,8 +10444,8 @@ void Player_Draw(Actor* thisx, GlobalContext* globalCtx) {
if (this->invincibilityTimer > 0) {
this->unk_88F += CLAMP(50 - this->invincibilityTimer, 8, 40);
POLY_OPA_DISP = Gfx_SetFog2(POLY_OPA_DISP, 255, 0, 0, 0, 0,
4000 - (s32)(Math_Coss(this->unk_88F * 256) * 2000.0f));
POLY_OPA_DISP =
Gfx_SetFog2(POLY_OPA_DISP, 255, 0, 0, 0, 0, 4000 - (s32)(Math_Coss(this->unk_88F * 256) * 2000.0f));
}
func_8002EBCC(&this->actor, globalCtx, 0);

View file

@ -69,8 +69,7 @@ void EffectSsBlast_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
func_80093D84(globalCtx->state.gfxCtx);
gDPSetEnvColor(POLY_XLU_DISP++, this->rEnvColorR, this->rEnvColorG, this->rEnvColorB, this->rEnvColorA);
func_800BFCB8(globalCtx, &mf, &this->pos);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, this->rPrimColorR, this->rPrimColorG, this->rPrimColorB,
this->rPrimColorA);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, this->rPrimColorR, this->rPrimColorG, this->rPrimColorB, this->rPrimColorA);
Matrix_Put(&mf);
Matrix_Scale(radius, radius, radius, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_ss_blast.c", 199),

View file

@ -109,13 +109,12 @@ void EffectSsDeadDd_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
if (mtx != NULL) {
func_80094BC4(gfxCtx);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, this->rPrimColorR, this->rPrimColorG, this->rPrimColorB,
this->rAlpha);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, this->rPrimColorR, this->rPrimColorG, this->rPrimColorB, this->rAlpha);
gDPSetEnvColor(POLY_XLU_DISP++, this->rEnvColorR, this->rEnvColorG, this->rEnvColorB, this->rAlpha);
gSPMatrix(POLY_XLU_DISP++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPMatrix(POLY_XLU_DISP++, &D_01000000, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gDPSetCombineLERP(POLY_XLU_DISP++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0,
0, PRIMITIVE, 0);
gDPSetCombineLERP(POLY_XLU_DISP++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0, 0,
PRIMITIVE, 0);
gSPDisplayList(POLY_XLU_DISP++, D_04037730);
}

View file

@ -110,8 +110,8 @@ void EffectSsDust_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
gDPPipeSync(POLY_XLU_DISP++);
if (this->rDrawFlags & 1) {
gDPSetCombineLERP(POLY_XLU_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, PRIMITIVE, 0, TEXEL0,
0, COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED);
gDPSetCombineLERP(POLY_XLU_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, PRIMITIVE, 0, TEXEL0, 0,
COMBINED, 0, SHADE, 0, 0, 0, 0, COMBINED);
gDPSetRenderMode(POLY_XLU_DISP++, G_RM_FOG_SHADE_A, G_RM_ZB_CLD_SURF2);
gSPSetGeometryMode(POLY_XLU_DISP++, G_FOG | G_LIGHTING);
} else if (this->rDrawFlags & 2) {

View file

@ -110,8 +110,8 @@ void EffectSsHahen_DrawGray(GlobalContext* globalCtx, u32 index, EffectSs* this)
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_hahen.c", 271),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
func_80093D18(globalCtx->state.gfxCtx);
gDPSetCombineLERP(POLY_OPA_DISP++, SHADE, 0, PRIMITIVE, 0, SHADE, 0, PRIMITIVE, 0, SHADE, 0, PRIMITIVE, 0,
SHADE, 0, PRIMITIVE, 0);
gDPSetCombineLERP(POLY_OPA_DISP++, SHADE, 0, PRIMITIVE, 0, SHADE, 0, PRIMITIVE, 0, SHADE, 0, PRIMITIVE, 0, SHADE, 0,
PRIMITIVE, 0);
gDPSetPrimColor(POLY_OPA_DISP++, 0x0, 0x01, 100, 100, 120, 255);
gSPDisplayList(POLY_OPA_DISP++, this->gfx);

View file

@ -117,8 +117,7 @@ void EffectSsKakera_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
func_80093D84(globalCtx->state.gfxCtx);
if (colorIdx >= 0) {
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, colors[colorIdx].r, colors[colorIdx].g, colors[colorIdx].b,
255);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, colors[colorIdx].r, colors[colorIdx].g, colors[colorIdx].b, 255);
}
gSPDisplayList(POLY_XLU_DISP++, this->gfx);
@ -128,8 +127,7 @@ void EffectSsKakera_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
func_80093D18(globalCtx->state.gfxCtx);
if (colorIdx >= 0) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, colors[colorIdx].r, colors[colorIdx].g, colors[colorIdx].b,
255);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, colors[colorIdx].r, colors[colorIdx].g, colors[colorIdx].b, 255);
}
gSPDisplayList(POLY_OPA_DISP++, this->gfx);

View file

@ -73,8 +73,7 @@ void EffectSsSibuki_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_ss_sibuki.c", 176),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
func_80093D18(gfxCtx);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, this->rPrimColorR, this->rPrimColorG, this->rPrimColorB,
this->rPrimColorA);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, this->rPrimColorR, this->rPrimColorG, this->rPrimColorB, this->rPrimColorA);
gDPSetEnvColor(POLY_OPA_DISP++, this->rEnvColorR, this->rEnvColorG, this->rEnvColorB, this->rEnvColorA);
gSPSegment(POLY_OPA_DISP++, 0x08, this->gfx);
gSPDisplayList(POLY_OPA_DISP++, SEGMENTED_TO_VIRTUAL(D_0401A160));

View file

@ -66,8 +66,7 @@ void EffectSsSibuki2_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_ss_sibuki2.c", 171),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
func_80093D18(gfxCtx);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, this->rPrimColorR, this->rPrimColorG, this->rPrimColorB,
this->rPrimColorA);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, this->rPrimColorR, this->rPrimColorG, this->rPrimColorB, this->rPrimColorA);
gDPSetEnvColor(POLY_XLU_DISP++, this->rEnvColorR, this->rEnvColorG, this->rEnvColorB, this->rEnvColorA);
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sTextures[this->rTexIdx]));
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(D_0401E2C0));

View file

@ -67,8 +67,8 @@ void EffectSsStone1_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
func_80094C50(gfxCtx);
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(drawParams->texture));
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, drawParams->primColor.r, drawParams->primColor.g,
drawParams->primColor.b, 255);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, drawParams->primColor.r, drawParams->primColor.g, drawParams->primColor.b,
255);
gDPSetEnvColor(POLY_XLU_DISP++, drawParams->envColor.r, drawParams->envColor.g, drawParams->envColor.b, 255);
gSPDisplayList(POLY_XLU_DISP++, D_04029E90);

View file

@ -99,8 +99,8 @@ void Title_Draw(TitleContext* this) {
gDPPipeSync(POLY_OPA_DISP++);
gDPSetCycleType(POLY_OPA_DISP++, G_CYC_2CYCLE);
gDPSetRenderMode(POLY_OPA_DISP++, G_RM_XLU_SURF2, G_RM_OPA_CI | CVG_DST_WRAP);
gDPSetCombineLERP(POLY_OPA_DISP++, TEXEL1, PRIMITIVE, ENV_ALPHA, TEXEL0, 0, 0, 0, TEXEL0, PRIMITIVE,
ENVIRONMENT, COMBINED, ENVIRONMENT, COMBINED, 0, PRIMITIVE, 0);
gDPSetCombineLERP(POLY_OPA_DISP++, TEXEL1, PRIMITIVE, ENV_ALPHA, TEXEL0, 0, 0, 0, TEXEL0, PRIMITIVE, ENVIRONMENT,
COMBINED, ENVIRONMENT, COMBINED, 0, PRIMITIVE, 0);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 170, 255, 255, 255);
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 255, 128);