1
0
mirror of https://github.com/zeldaret/oot.git synced 2024-09-21 04:24:43 +00:00

Bomb Related Effect Overlays (#283)

* fix colliderinit typo

* dead sound done

* deadsound documentation

* blast done

* progress

* spk init

* progress

* spark done

* ss bomb ok

* bomb done

* cleanup

* progress

* progress

* almost done with bomb2

* clean up gossip stone

* more

* cleanup and format

* remove unused asm file

* nonmatching reloc

* done i think

* mistakes

* fix headers

* idk how that got in here

* match bomb2

* asm file

* pr review
This commit is contained in:
fig02 2020-07-28 15:49:00 -04:00 committed by GitHub
parent c76c584006
commit 19c990b852
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
82 changed files with 822 additions and 2416 deletions

View File

@ -1,24 +0,0 @@
glabel func_80028DC4
/* A9FF64 80028DC4 27BDFFC0 */ addiu $sp, $sp, -0x40
/* A9FF68 80028DC8 AFBF0014 */ sw $ra, 0x14($sp)
/* A9FF6C 80028DCC AFA40040 */ sw $a0, 0x40($sp)
/* A9FF70 80028DD0 AFA60048 */ sw $a2, 0x48($sp)
/* A9FF74 80028DD4 AFA7004C */ sw $a3, 0x4c($sp)
/* A9FF78 80028DD8 0C01DF90 */ jal Math_Vec3f_Copy
/* A9FF7C 80028DDC 27A4001C */ addiu $a0, $sp, 0x1c
/* A9FF80 80028DE0 27A40028 */ addiu $a0, $sp, 0x28
/* A9FF84 80028DE4 0C01DF90 */ jal Math_Vec3f_Copy
/* A9FF88 80028DE8 8FA50048 */ lw $a1, 0x48($sp)
/* A9FF8C 80028DEC 27A40034 */ addiu $a0, $sp, 0x34
/* A9FF90 80028DF0 0C01DF90 */ jal Math_Vec3f_Copy
/* A9FF94 80028DF4 8FA5004C */ lw $a1, 0x4c($sp)
/* A9FF98 80028DF8 8FA40040 */ lw $a0, 0x40($sp)
/* A9FF9C 80028DFC 24050002 */ li $a1, 2
/* A9FFA0 80028E00 24060080 */ li $a2, 128
/* A9FFA4 80028E04 0C009DE6 */ jal EffectSs_Spawn
/* A9FFA8 80028E08 27A7001C */ addiu $a3, $sp, 0x1c
/* A9FFAC 80028E0C 8FBF0014 */ lw $ra, 0x14($sp)
/* A9FFB0 80028E10 27BD0040 */ addiu $sp, $sp, 0x40
/* A9FFB4 80028E14 03E00008 */ jr $ra
/* A9FFB8 80028E18 00000000 */ nop

View File

@ -1,28 +0,0 @@
glabel func_80028E1C
/* A9FFBC 80028E1C 27BDFFB8 */ addiu $sp, $sp, -0x48
/* A9FFC0 80028E20 AFBF0014 */ sw $ra, 0x14($sp)
/* A9FFC4 80028E24 AFA40048 */ sw $a0, 0x48($sp)
/* A9FFC8 80028E28 AFA60050 */ sw $a2, 0x50($sp)
/* A9FFCC 80028E2C AFA70054 */ sw $a3, 0x54($sp)
/* A9FFD0 80028E30 0C01DF90 */ jal Math_Vec3f_Copy
/* A9FFD4 80028E34 27A4001C */ addiu $a0, $sp, 0x1c
/* A9FFD8 80028E38 27A40028 */ addiu $a0, $sp, 0x28
/* A9FFDC 80028E3C 0C01DF90 */ jal Math_Vec3f_Copy
/* A9FFE0 80028E40 8FA50050 */ lw $a1, 0x50($sp)
/* A9FFE4 80028E44 27A40034 */ addiu $a0, $sp, 0x34
/* A9FFE8 80028E48 0C01DF90 */ jal Math_Vec3f_Copy
/* A9FFEC 80028E4C 8FA50054 */ lw $a1, 0x54($sp)
/* A9FFF0 80028E50 240E0064 */ li $t6, 100
/* A9FFF4 80028E54 A7AE0040 */ sh $t6, 0x40($sp)
/* A9FFF8 80028E58 A7A00042 */ sh $zero, 0x42($sp)
/* A9FFFC 80028E5C A3A00044 */ sb $zero, 0x44($sp)
/* AA0000 80028E60 8FA40048 */ lw $a0, 0x48($sp)
/* AA0004 80028E64 24050003 */ li $a1, 3
/* AA0008 80028E68 2406000A */ li $a2, 10
/* AA000C 80028E6C 0C009DE6 */ jal EffectSs_Spawn
/* AA0010 80028E70 27A7001C */ addiu $a3, $sp, 0x1c
/* AA0014 80028E74 8FBF0014 */ lw $ra, 0x14($sp)
/* AA0018 80028E78 27BD0048 */ addiu $sp, $sp, 0x48
/* AA001C 80028E7C 03E00008 */ jr $ra
/* AA0020 80028E80 00000000 */ nop

View File

@ -1,30 +0,0 @@
glabel func_80028E84
/* AA0024 80028E84 27BDFFB8 */ addiu $sp, $sp, -0x48
/* AA0028 80028E88 AFBF0014 */ sw $ra, 0x14($sp)
/* AA002C 80028E8C AFA40048 */ sw $a0, 0x48($sp)
/* AA0030 80028E90 AFA60050 */ sw $a2, 0x50($sp)
/* AA0034 80028E94 AFA70054 */ sw $a3, 0x54($sp)
/* AA0038 80028E98 0C01DF90 */ jal Math_Vec3f_Copy
/* AA003C 80028E9C 27A4001C */ addiu $a0, $sp, 0x1c
/* AA0040 80028EA0 27A40028 */ addiu $a0, $sp, 0x28
/* AA0044 80028EA4 0C01DF90 */ jal Math_Vec3f_Copy
/* AA0048 80028EA8 8FA50050 */ lw $a1, 0x50($sp)
/* AA004C 80028EAC 27A40034 */ addiu $a0, $sp, 0x34
/* AA0050 80028EB0 0C01DF90 */ jal Math_Vec3f_Copy
/* AA0054 80028EB4 8FA50054 */ lw $a1, 0x54($sp)
/* AA0058 80028EB8 87AE005A */ lh $t6, 0x5a($sp)
/* AA005C 80028EBC 87AF005E */ lh $t7, 0x5e($sp)
/* AA0060 80028EC0 24180001 */ li $t8, 1
/* AA0064 80028EC4 A3B80044 */ sb $t8, 0x44($sp)
/* AA0068 80028EC8 8FA40048 */ lw $a0, 0x48($sp)
/* AA006C 80028ECC 24050003 */ li $a1, 3
/* AA0070 80028ED0 2406000A */ li $a2, 10
/* AA0074 80028ED4 27A7001C */ addiu $a3, $sp, 0x1c
/* AA0078 80028ED8 A7AE0040 */ sh $t6, 0x40($sp)
/* AA007C 80028EDC 0C009DE6 */ jal EffectSs_Spawn
/* AA0080 80028EE0 A7AF0042 */ sh $t7, 0x42($sp)
/* AA0084 80028EE4 8FBF0014 */ lw $ra, 0x14($sp)
/* AA0088 80028EE8 27BD0048 */ addiu $sp, $sp, 0x48
/* AA008C 80028EEC 03E00008 */ jr $ra
/* AA0090 80028EF0 00000000 */ nop

View File

@ -1,38 +0,0 @@
glabel func_80028EF4
/* AA0094 80028EF4 27BDFFB0 */ addiu $sp, $sp, -0x50
/* AA0098 80028EF8 AFBF0014 */ sw $ra, 0x14($sp)
/* AA009C 80028EFC AFA40050 */ sw $a0, 0x50($sp)
/* AA00A0 80028F00 AFA60058 */ sw $a2, 0x58($sp)
/* AA00A4 80028F04 AFA7005C */ sw $a3, 0x5c($sp)
/* AA00A8 80028F08 0C01DF90 */ jal Math_Vec3f_Copy
/* AA00AC 80028F0C 27A4001C */ addiu $a0, $sp, 0x1c
/* AA00B0 80028F10 27A40028 */ addiu $a0, $sp, 0x28
/* AA00B4 80028F14 0C01DF90 */ jal Math_Vec3f_Copy
/* AA00B8 80028F18 8FA50058 */ lw $a1, 0x58($sp)
/* AA00BC 80028F1C 27A40034 */ addiu $a0, $sp, 0x34
/* AA00C0 80028F20 0C01DF90 */ jal Math_Vec3f_Copy
/* AA00C4 80028F24 8FA5005C */ lw $a1, 0x5c($sp)
/* AA00C8 80028F28 27A40040 */ addiu $a0, $sp, 0x40
/* AA00CC 80028F2C 0C01E218 */ jal Color_RGBA8_Copy
/* AA00D0 80028F30 8FA50060 */ lw $a1, 0x60($sp)
/* AA00D4 80028F34 27A40044 */ addiu $a0, $sp, 0x44
/* AA00D8 80028F38 0C01E218 */ jal Color_RGBA8_Copy
/* AA00DC 80028F3C 8FA50064 */ lw $a1, 0x64($sp)
/* AA00E0 80028F40 87AE006A */ lh $t6, 0x6a($sp)
/* AA00E4 80028F44 87AF006E */ lh $t7, 0x6e($sp)
/* AA00E8 80028F48 87B80072 */ lh $t8, 0x72($sp)
/* AA00EC 80028F4C 87B90076 */ lh $t9, 0x76($sp)
/* AA00F0 80028F50 8FA40050 */ lw $a0, 0x50($sp)
/* AA00F4 80028F54 24050004 */ li $a1, 4
/* AA00F8 80028F58 24060080 */ li $a2, 128
/* AA00FC 80028F5C 27A7001C */ addiu $a3, $sp, 0x1c
/* AA0100 80028F60 A7AE0048 */ sh $t6, 0x48($sp)
/* AA0104 80028F64 A7AF004A */ sh $t7, 0x4a($sp)
/* AA0108 80028F68 A7B8004C */ sh $t8, 0x4c($sp)
/* AA010C 80028F6C 0C009DE6 */ jal EffectSs_Spawn
/* AA0110 80028F70 A7B9004E */ sh $t9, 0x4e($sp)
/* AA0114 80028F74 8FBF0014 */ lw $ra, 0x14($sp)
/* AA0118 80028F78 27BD0050 */ addiu $sp, $sp, 0x50
/* AA011C 80028F7C 03E00008 */ jr $ra
/* AA0120 80028F80 00000000 */ nop

View File

@ -1,23 +0,0 @@
glabel func_80028F84
/* AA0124 80028F84 27BDFFD0 */ addiu $sp, $sp, -0x30
/* AA0128 80028F88 87B80042 */ lh $t8, 0x42($sp)
/* AA012C 80028F8C 87B90046 */ lh $t9, 0x46($sp)
/* AA0130 80028F90 87A9004A */ lh $t1, 0x4a($sp)
/* AA0134 80028F94 3C0E8011 */ lui $t6, %hi(D_801158DC) # $t6, 0x8011
/* AA0138 80028F98 3C0F8011 */ lui $t7, %hi(D_801158E0) # $t7, 0x8011
/* AA013C 80028F9C AFBF002C */ sw $ra, 0x2c($sp)
/* AA0140 80028FA0 25EF58E0 */ addiu $t7, %lo(D_801158E0) # addiu $t7, $t7, 0x58e0
/* AA0144 80028FA4 25CE58DC */ addiu $t6, %lo(D_801158DC) # addiu $t6, $t6, 0x58dc
/* AA0148 80028FA8 24080023 */ li $t0, 35
/* AA014C 80028FAC AFA80020 */ sw $t0, 0x20($sp)
/* AA0150 80028FB0 AFAE0010 */ sw $t6, 0x10($sp)
/* AA0154 80028FB4 AFAF0014 */ sw $t7, 0x14($sp)
/* AA0158 80028FB8 AFB80018 */ sw $t8, 0x18($sp)
/* AA015C 80028FBC AFB9001C */ sw $t9, 0x1c($sp)
/* AA0160 80028FC0 0C00A3BD */ jal func_80028EF4
/* AA0164 80028FC4 AFA90024 */ sw $t1, 0x24($sp)
/* AA0168 80028FC8 8FBF002C */ lw $ra, 0x2c($sp)
/* AA016C 80028FCC 27BD0030 */ addiu $sp, $sp, 0x30
/* AA0170 80028FD0 03E00008 */ jr $ra
/* AA0174 80028FD4 00000000 */ nop

View File

@ -1,21 +0,0 @@
glabel func_80028FD8
/* AA0178 80028FD8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* AA017C 80028FDC 8FAE0040 */ lw $t6, 0x40($sp)
/* AA0180 80028FE0 8FAF0044 */ lw $t7, 0x44($sp)
/* AA0184 80028FE4 87A9004A */ lh $t1, 0x4a($sp)
/* AA0188 80028FE8 AFBF002C */ sw $ra, 0x2c($sp)
/* AA018C 80028FEC 24180064 */ li $t8, 100
/* AA0190 80028FF0 24190177 */ li $t9, 375
/* AA0194 80028FF4 24080023 */ li $t0, 35
/* AA0198 80028FF8 AFA80020 */ sw $t0, 0x20($sp)
/* AA019C 80028FFC AFB9001C */ sw $t9, 0x1c($sp)
/* AA01A0 80029000 AFB80018 */ sw $t8, 0x18($sp)
/* AA01A4 80029004 AFAE0010 */ sw $t6, 0x10($sp)
/* AA01A8 80029008 AFAF0014 */ sw $t7, 0x14($sp)
/* AA01AC 8002900C 0C00A3BD */ jal func_80028EF4
/* AA01B0 80029010 AFA90024 */ sw $t1, 0x24($sp)
/* AA01B4 80029014 8FBF002C */ lw $ra, 0x2c($sp)
/* AA01B8 80029018 27BD0030 */ addiu $sp, $sp, 0x30
/* AA01BC 8002901C 03E00008 */ jr $ra
/* AA01C0 80029020 00000000 */ nop

View File

@ -1,17 +0,0 @@
glabel func_80029024
/* AA01C4 80029024 27BDFFD8 */ addiu $sp, $sp, -0x28
/* AA01C8 80029028 3C0E8011 */ lui $t6, %hi(D_801158E4) # $t6, 0x8011
/* AA01CC 8002902C 3C0F8011 */ lui $t7, %hi(D_801158E8) # $t7, 0x8011
/* AA01D0 80029030 AFBF0024 */ sw $ra, 0x24($sp)
/* AA01D4 80029034 25EF58E8 */ addiu $t7, %lo(D_801158E8) # addiu $t7, $t7, 0x58e8
/* AA01D8 80029038 25CE58E4 */ addiu $t6, %lo(D_801158E4) # addiu $t6, $t6, 0x58e4
/* AA01DC 8002903C 2418000A */ li $t8, 10
/* AA01E0 80029040 AFB80018 */ sw $t8, 0x18($sp)
/* AA01E4 80029044 AFAE0010 */ sw $t6, 0x10($sp)
/* AA01E8 80029048 0C00A3F6 */ jal func_80028FD8
/* AA01EC 8002904C AFAF0014 */ sw $t7, 0x14($sp)
/* AA01F0 80029050 8FBF0024 */ lw $ra, 0x24($sp)
/* AA01F4 80029054 27BD0028 */ addiu $sp, $sp, 0x28
/* AA01F8 80029058 03E00008 */ jr $ra
/* AA01FC 8002905C 00000000 */ nop

View File

@ -1,38 +0,0 @@
glabel func_80029060
/* AA0200 80029060 27BDFFB0 */ addiu $sp, $sp, -0x50
/* AA0204 80029064 AFBF0014 */ sw $ra, 0x14($sp)
/* AA0208 80029068 AFA40050 */ sw $a0, 0x50($sp)
/* AA020C 8002906C AFA50054 */ sw $a1, 0x54($sp)
/* AA0210 80029070 AFA7005C */ sw $a3, 0x5c($sp)
/* AA0214 80029074 00C02825 */ move $a1, $a2
/* AA0218 80029078 0C01DF90 */ jal Math_Vec3f_Copy
/* AA021C 8002907C 27A4001C */ addiu $a0, $sp, 0x1c
/* AA0220 80029080 27A40028 */ addiu $a0, $sp, 0x28
/* AA0224 80029084 0C01DF90 */ jal Math_Vec3f_Copy
/* AA0228 80029088 8FA5005C */ lw $a1, 0x5c($sp)
/* AA022C 8002908C 27A40034 */ addiu $a0, $sp, 0x34
/* AA0230 80029090 0C01DF90 */ jal Math_Vec3f_Copy
/* AA0234 80029094 8FA50060 */ lw $a1, 0x60($sp)
/* AA0238 80029098 27A40040 */ addiu $a0, $sp, 0x40
/* AA023C 8002909C 0C01E218 */ jal Color_RGBA8_Copy
/* AA0240 800290A0 8FA50064 */ lw $a1, 0x64($sp)
/* AA0244 800290A4 27A40044 */ addiu $a0, $sp, 0x44
/* AA0248 800290A8 0C01E218 */ jal Color_RGBA8_Copy
/* AA024C 800290AC 8FA50068 */ lw $a1, 0x68($sp)
/* AA0250 800290B0 8FAE0054 */ lw $t6, 0x54($sp)
/* AA0254 800290B4 87AF006E */ lh $t7, 0x6e($sp)
/* AA0258 800290B8 87B80072 */ lh $t8, 0x72($sp)
/* AA025C 800290BC A3A0004C */ sb $zero, 0x4c($sp)
/* AA0260 800290C0 8FA40050 */ lw $a0, 0x50($sp)
/* AA0264 800290C4 24050005 */ li $a1, 5
/* AA0268 800290C8 24060080 */ li $a2, 128
/* AA026C 800290CC 27A70018 */ addiu $a3, $sp, 0x18
/* AA0270 800290D0 AFAE0018 */ sw $t6, 0x18($sp)
/* AA0274 800290D4 A7AF0048 */ sh $t7, 0x48($sp)
/* AA0278 800290D8 0C009DE6 */ jal EffectSs_Spawn
/* AA027C 800290DC A7B8004A */ sh $t8, 0x4a($sp)
/* AA0280 800290E0 8FBF0014 */ lw $ra, 0x14($sp)
/* AA0284 800290E4 27BD0050 */ addiu $sp, $sp, 0x50
/* AA0288 800290E8 03E00008 */ jr $ra
/* AA028C 800290EC 00000000 */ nop

View File

@ -1,39 +0,0 @@
glabel func_800290F0
/* AA0290 800290F0 27BDFFB0 */ addiu $sp, $sp, -0x50
/* AA0294 800290F4 AFBF0014 */ sw $ra, 0x14($sp)
/* AA0298 800290F8 AFA40050 */ sw $a0, 0x50($sp)
/* AA029C 800290FC AFA50054 */ sw $a1, 0x54($sp)
/* AA02A0 80029100 AFA7005C */ sw $a3, 0x5c($sp)
/* AA02A4 80029104 00C02825 */ move $a1, $a2
/* AA02A8 80029108 0C01DF90 */ jal Math_Vec3f_Copy
/* AA02AC 8002910C 27A4001C */ addiu $a0, $sp, 0x1c
/* AA02B0 80029110 27A40028 */ addiu $a0, $sp, 0x28
/* AA02B4 80029114 0C01DF90 */ jal Math_Vec3f_Copy
/* AA02B8 80029118 8FA5005C */ lw $a1, 0x5c($sp)
/* AA02BC 8002911C 27A40034 */ addiu $a0, $sp, 0x34
/* AA02C0 80029120 0C01DF90 */ jal Math_Vec3f_Copy
/* AA02C4 80029124 8FA50060 */ lw $a1, 0x60($sp)
/* AA02C8 80029128 27A40040 */ addiu $a0, $sp, 0x40
/* AA02CC 8002912C 0C01E218 */ jal Color_RGBA8_Copy
/* AA02D0 80029130 8FA50064 */ lw $a1, 0x64($sp)
/* AA02D4 80029134 27A40044 */ addiu $a0, $sp, 0x44
/* AA02D8 80029138 0C01E218 */ jal Color_RGBA8_Copy
/* AA02DC 8002913C 8FA50068 */ lw $a1, 0x68($sp)
/* AA02E0 80029140 8FAE0054 */ lw $t6, 0x54($sp)
/* AA02E4 80029144 87AF006E */ lh $t7, 0x6e($sp)
/* AA02E8 80029148 87B80072 */ lh $t8, 0x72($sp)
/* AA02EC 8002914C 24190001 */ li $t9, 1
/* AA02F0 80029150 A3B9004C */ sb $t9, 0x4c($sp)
/* AA02F4 80029154 8FA40050 */ lw $a0, 0x50($sp)
/* AA02F8 80029158 24050005 */ li $a1, 5
/* AA02FC 8002915C 24060080 */ li $a2, 128
/* AA0300 80029160 27A70018 */ addiu $a3, $sp, 0x18
/* AA0304 80029164 AFAE0018 */ sw $t6, 0x18($sp)
/* AA0308 80029168 A7AF0048 */ sh $t7, 0x48($sp)
/* AA030C 8002916C 0C009DE6 */ jal EffectSs_Spawn
/* AA0310 80029170 A7B8004A */ sh $t8, 0x4a($sp)
/* AA0314 80029174 8FBF0014 */ lw $ra, 0x14($sp)
/* AA0318 80029178 27BD0050 */ addiu $sp, $sp, 0x50
/* AA031C 8002917C 03E00008 */ jr $ra
/* AA0320 80029180 00000000 */ nop

View File

@ -1,23 +0,0 @@
glabel func_80029184
/* AA0324 80029184 27BDFFD0 */ addiu $sp, $sp, -0x30
/* AA0328 80029188 3C0E8011 */ lui $t6, %hi(D_801158EC) # $t6, 0x8011
/* AA032C 8002918C AFBF0024 */ sw $ra, 0x24($sp)
/* AA0330 80029190 25CE58EC */ addiu $t6, %lo(D_801158EC) # addiu $t6, $t6, 0x58ec
/* AA0334 80029194 8DD80000 */ lw $t8, ($t6)
/* AA0338 80029198 27A2002C */ addiu $v0, $sp, 0x2c
/* AA033C 8002919C 3C198011 */ lui $t9, %hi(D_801158F0) # $t9, 0x8011
/* AA0340 800291A0 273958F0 */ addiu $t9, %lo(D_801158F0) # addiu $t9, $t9, 0x58f0
/* AA0344 800291A4 AC580000 */ sw $t8, ($v0)
/* AA0348 800291A8 8F290000 */ lw $t1, ($t9)
/* AA034C 800291AC 27A30028 */ addiu $v1, $sp, 0x28
/* AA0350 800291B0 AC690000 */ sw $t1, ($v1)
/* AA0354 800291B4 8FAA0040 */ lw $t2, 0x40($sp)
/* AA0358 800291B8 AFA30018 */ sw $v1, 0x18($sp)
/* AA035C 800291BC AFA20014 */ sw $v0, 0x14($sp)
/* AA0360 800291C0 0C00A4B7 */ jal func_800292DC
/* AA0364 800291C4 AFAA0010 */ sw $t2, 0x10($sp)
/* AA0368 800291C8 8FBF0024 */ lw $ra, 0x24($sp)
/* AA036C 800291CC 27BD0030 */ addiu $sp, $sp, 0x30
/* AA0370 800291D0 03E00008 */ jr $ra
/* AA0374 800291D4 00000000 */ nop

View File

@ -1,67 +0,0 @@
glabel func_800291D8
/* AA0378 800291D8 27BDFFC0 */ addiu $sp, $sp, -0x40
/* AA037C 800291DC 3C0E8011 */ lui $t6, %hi(D_801158F4) # $t6, 0x8011
/* AA0380 800291E0 3C0F8011 */ lui $t7, %hi(D_801158F8) # $t7, 0x8011
/* AA0384 800291E4 8DCE58F4 */ lw $t6, %lo(D_801158F4)($t6)
/* AA0388 800291E8 8DEF58F8 */ lw $t7, %lo(D_801158F8)($t7)
/* AA038C 800291EC AFBF002C */ sw $ra, 0x2c($sp)
/* AA0390 800291F0 AFA40040 */ sw $a0, 0x40($sp)
/* AA0394 800291F4 AFA50044 */ sw $a1, 0x44($sp)
/* AA0398 800291F8 AFA60048 */ sw $a2, 0x48($sp)
/* AA039C 800291FC AFA7004C */ sw $a3, 0x4c($sp)
/* AA03A0 80029200 AFAE003C */ sw $t6, 0x3c($sp)
/* AA03A4 80029204 0C03F66B */ jal Math_Rand_ZeroOne
/* AA03A8 80029208 AFAF0038 */ sw $t7, 0x38($sp)
/* AA03AC 8002920C 3C0141A0 */ li $at, 0x41A00000 # 0.000000
/* AA03B0 80029210 44812000 */ mtc1 $at, $f4
/* AA03B4 80029214 3C014120 */ li $at, 0x41200000 # 0.000000
/* AA03B8 80029218 44814000 */ mtc1 $at, $f8
/* AA03BC 8002921C 46040182 */ mul.s $f6, $f0, $f4
/* AA03C0 80029220 93B9003C */ lbu $t9, 0x3c($sp)
/* AA03C4 80029224 93A9003D */ lbu $t1, 0x3d($sp)
/* AA03C8 80029228 93AB003E */ lbu $t3, 0x3e($sp)
/* AA03CC 8002922C 93AD003F */ lbu $t5, 0x3f($sp)
/* AA03D0 80029230 93AF0038 */ lbu $t7, 0x38($sp)
/* AA03D4 80029234 8FA40040 */ lw $a0, 0x40($sp)
/* AA03D8 80029238 46083281 */ sub.s $f10, $f6, $f8
/* AA03DC 8002923C 8FA50044 */ lw $a1, 0x44($sp)
/* AA03E0 80029240 8FA60048 */ lw $a2, 0x48($sp)
/* AA03E4 80029244 8FA7004C */ lw $a3, 0x4c($sp)
/* AA03E8 80029248 4600540D */ trunc.w.s $f16, $f10
/* AA03EC 8002924C 44028000 */ mfc1 $v0, $f16
/* AA03F0 80029250 00000000 */ nop
/* AA03F4 80029254 03224021 */ addu $t0, $t9, $v0
/* AA03F8 80029258 93B90039 */ lbu $t9, 0x39($sp)
/* AA03FC 8002925C 01225021 */ addu $t2, $t1, $v0
/* AA0400 80029260 01626021 */ addu $t4, $t3, $v0
/* AA0404 80029264 93A9003A */ lbu $t1, 0x3a($sp)
/* AA0408 80029268 93AB003B */ lbu $t3, 0x3b($sp)
/* AA040C 8002926C A3A8003C */ sb $t0, 0x3c($sp)
/* AA0410 80029270 01A27021 */ addu $t6, $t5, $v0
/* AA0414 80029274 01E2C021 */ addu $t8, $t7, $v0
/* AA0418 80029278 A3B80038 */ sb $t8, 0x38($sp)
/* AA041C 8002927C 03224021 */ addu $t0, $t9, $v0
/* AA0420 80029280 87B9005A */ lh $t9, 0x5a($sp)
/* AA0424 80029284 87B80056 */ lh $t8, 0x56($sp)
/* AA0428 80029288 8FAD0050 */ lw $t5, 0x50($sp)
/* AA042C 8002928C A3AA003D */ sb $t2, 0x3d($sp)
/* AA0430 80029290 A3AC003E */ sb $t4, 0x3e($sp)
/* AA0434 80029294 A3AE003F */ sb $t6, 0x3f($sp)
/* AA0438 80029298 27AE003C */ addiu $t6, $sp, 0x3c
/* AA043C 8002929C 27AF0038 */ addiu $t7, $sp, 0x38
/* AA0440 800292A0 01225021 */ addu $t2, $t1, $v0
/* AA0444 800292A4 01626021 */ addu $t4, $t3, $v0
/* AA0448 800292A8 A3A80039 */ sb $t0, 0x39($sp)
/* AA044C 800292AC A3AA003A */ sb $t2, 0x3a($sp)
/* AA0450 800292B0 A3AC003B */ sb $t4, 0x3b($sp)
/* AA0454 800292B4 AFAF0018 */ sw $t7, 0x18($sp)
/* AA0458 800292B8 AFAE0014 */ sw $t6, 0x14($sp)
/* AA045C 800292BC AFB90020 */ sw $t9, 0x20($sp)
/* AA0460 800292C0 AFB8001C */ sw $t8, 0x1c($sp)
/* AA0464 800292C4 0C00A418 */ jal func_80029060
/* AA0468 800292C8 AFAD0010 */ sw $t5, 0x10($sp)
/* AA046C 800292CC 8FBF002C */ lw $ra, 0x2c($sp)
/* AA0470 800292D0 27BD0040 */ addiu $sp, $sp, 0x40
/* AA0474 800292D4 03E00008 */ jr $ra
/* AA0478 800292D8 00000000 */ nop

View File

@ -1,19 +0,0 @@
glabel func_800292DC
/* AA047C 800292DC 27BDFFD0 */ addiu $sp, $sp, -0x30
/* AA0480 800292E0 8FAE0040 */ lw $t6, 0x40($sp)
/* AA0484 800292E4 8FAF0044 */ lw $t7, 0x44($sp)
/* AA0488 800292E8 8FB80048 */ lw $t8, 0x48($sp)
/* AA048C 800292EC AFBF002C */ sw $ra, 0x2c($sp)
/* AA0490 800292F0 24190064 */ li $t9, 100
/* AA0494 800292F4 24080005 */ li $t0, 5
/* AA0498 800292F8 AFA80020 */ sw $t0, 0x20($sp)
/* AA049C 800292FC AFB9001C */ sw $t9, 0x1c($sp)
/* AA04A0 80029300 AFAE0010 */ sw $t6, 0x10($sp)
/* AA04A4 80029304 AFAF0014 */ sw $t7, 0x14($sp)
/* AA04A8 80029308 0C00A418 */ jal func_80029060
/* AA04AC 8002930C AFB80018 */ sw $t8, 0x18($sp)
/* AA04B0 80029310 8FBF002C */ lw $ra, 0x2c($sp)
/* AA04B4 80029314 27BD0030 */ addiu $sp, $sp, 0x30
/* AA04B8 80029318 03E00008 */ jr $ra
/* AA04BC 8002931C 00000000 */ nop

View File

@ -1,42 +0,0 @@
glabel func_8002A95C
/* AA1AFC 8002A95C 27BDFFB8 */ addiu $sp, $sp, -0x48
/* AA1B00 8002A960 AFBF0014 */ sw $ra, 0x14($sp)
/* AA1B04 8002A964 AFA40048 */ sw $a0, 0x48($sp)
/* AA1B08 8002A968 AFA60050 */ sw $a2, 0x50($sp)
/* AA1B0C 8002A96C AFA70054 */ sw $a3, 0x54($sp)
/* AA1B10 8002A970 0C01DF90 */ jal Math_Vec3f_Copy
/* AA1B14 8002A974 27A40018 */ addiu $a0, $sp, 0x18
/* AA1B18 8002A978 27A40024 */ addiu $a0, $sp, 0x24
/* AA1B1C 8002A97C 0C01DF90 */ jal Math_Vec3f_Copy
/* AA1B20 8002A980 8FA50050 */ lw $a1, 0x50($sp)
/* AA1B24 8002A984 27A40030 */ addiu $a0, $sp, 0x30
/* AA1B28 8002A988 0C01DF90 */ jal Math_Vec3f_Copy
/* AA1B2C 8002A98C 8FA50054 */ lw $a1, 0x54($sp)
/* AA1B30 8002A990 87A2005E */ lh $v0, 0x5e($sp)
/* AA1B34 8002A994 97AE005A */ lhu $t6, 0x5a($sp)
/* AA1B38 8002A998 87AF0062 */ lh $t7, 0x62($sp)
/* AA1B3C 8002A99C 8FB80064 */ lw $t8, 0x64($sp)
/* AA1B40 8002A9A0 A7A2003E */ sh $v0, 0x3e($sp)
/* AA1B44 8002A9A4 A7AE003C */ sh $t6, 0x3c($sp)
/* AA1B48 8002A9A8 A7AF0040 */ sh $t7, 0x40($sp)
/* AA1B4C 8002A9AC 14400008 */ bnez $v0, .L8002A9D0
/* AA1B50 8002A9B0 AFB80044 */ sw $t8, 0x44($sp)
/* AA1B54 8002A9B4 8FA40048 */ lw $a0, 0x48($sp)
/* AA1B58 8002A9B8 24050023 */ li $a1, 35
/* AA1B5C 8002A9BC 24060064 */ li $a2, 100
/* AA1B60 8002A9C0 0C009DE6 */ jal EffectSs_Spawn
/* AA1B64 8002A9C4 27A70018 */ addiu $a3, $sp, 0x18
/* AA1B68 8002A9C8 10000007 */ b .L8002A9E8
/* AA1B6C 8002A9CC 8FBF0014 */ lw $ra, 0x14($sp)
.L8002A9D0:
/* AA1B70 8002A9D0 8FA40048 */ lw $a0, 0x48($sp)
/* AA1B74 8002A9D4 24050023 */ li $a1, 35
/* AA1B78 8002A9D8 2406007F */ li $a2, 127
/* AA1B7C 8002A9DC 0C009DE6 */ jal EffectSs_Spawn
/* AA1B80 8002A9E0 27A70018 */ addiu $a3, $sp, 0x18
/* AA1B84 8002A9E4 8FBF0014 */ lw $ra, 0x14($sp)
.L8002A9E8:
/* AA1B88 8002A9E8 27BD0048 */ addiu $sp, $sp, 0x48
/* AA1B8C 8002A9EC 03E00008 */ jr $ra
/* AA1B90 8002A9F0 00000000 */ nop

View File

@ -1,22 +0,0 @@
glabel func_8002A9F4
/* AA1B94 8002A9F4 27BDFFD8 */ addiu $sp, $sp, -0x28
/* AA1B98 8002A9F8 AFA60030 */ sw $a2, 0x30($sp)
/* AA1B9C 8002A9FC AFA70034 */ sw $a3, 0x34($sp)
/* AA1BA0 8002AA00 87AF0036 */ lh $t7, 0x36($sp)
/* AA1BA4 8002AA04 97AE0032 */ lhu $t6, 0x32($sp)
/* AA1BA8 8002AA08 87B8003A */ lh $t8, 0x3a($sp)
/* AA1BAC 8002AA0C 8FB9003C */ lw $t9, 0x3c($sp)
/* AA1BB0 8002AA10 3C068011 */ lui $a2, %hi(D_801158C0) # $a2, 0x8011
/* AA1BB4 8002AA14 24C658C0 */ addiu $a2, %lo(D_801158C0) # addiu $a2, $a2, 0x58c0
/* AA1BB8 8002AA18 AFBF0024 */ sw $ra, 0x24($sp)
/* AA1BBC 8002AA1C 00C03825 */ move $a3, $a2
/* AA1BC0 8002AA20 AFAF0014 */ sw $t7, 0x14($sp)
/* AA1BC4 8002AA24 AFAE0010 */ sw $t6, 0x10($sp)
/* AA1BC8 8002AA28 AFB80018 */ sw $t8, 0x18($sp)
/* AA1BCC 8002AA2C 0C00AA57 */ jal func_8002A95C
/* AA1BD0 8002AA30 AFB9001C */ sw $t9, 0x1c($sp)
/* AA1BD4 8002AA34 8FBF0024 */ lw $ra, 0x24($sp)
/* AA1BD8 8002AA38 27BD0028 */ addiu $sp, $sp, 0x28
/* AA1BDC 8002AA3C 03E00008 */ jr $ra
/* AA1BE0 8002AA40 00000000 */ nop

View File

@ -113,7 +113,7 @@ glabel func_8086F464
/* 004A0 8086F600 E7B00090 */ swc1 $f16, 0x0090($sp)
/* 004A4 8086F604 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFFD8
/* 004A8 8086F608 02C03025 */ or $a2, $s6, $zero ## $a2 = FFFFFFE4
/* 004AC 8086F60C 0C00A3A1 */ jal func_80028E84
/* 004AC 8086F60C 0C00A3A1 */ jal EffectSsBomb2_SpawnLayered
/* 004B0 8086F610 02A03825 */ or $a3, $s5, $zero ## $a3 = FFFFFFF0
/* 004B4 8086F614 4406E000 */ mfc1 $a2, $f28
/* 004B8 8086F618 240D0032 */ addiu $t5, $zero, 0x0032 ## $t5 = 00000032

View File

@ -55,7 +55,7 @@ glabel func_80883144
/* 00C44 80883204 00C03825 */ or $a3, $a2, $zero ## $a3 = 8088361C
/* 00C48 80883208 8FA4003C */ lw $a0, 0x003C($sp)
/* 00C4C 8088320C E7B20034 */ swc1 $f18, 0x0034($sp)
/* 00C50 80883210 0C00A3A1 */ jal func_80028E84
/* 00C50 80883210 0C00A3A1 */ jal EffectSsBomb2_SpawnLayered
/* 00C54 80883214 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFFF4
/* 00C58 80883218 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00C5C 8088321C 0C00BE0A */ jal Audio_PlayActorSound2

View File

@ -56,7 +56,7 @@ glabel func_808AC908
/* 00374 808AC9D4 460A4400 */ add.s $f16, $f8, $f10
/* 00378 808AC9D8 8FA4003C */ lw $a0, 0x003C($sp)
/* 0037C 808AC9DC 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFFF4
/* 00380 808AC9E0 0C00A3A1 */ jal func_80028E84
/* 00380 808AC9E0 0C00A3A1 */ jal EffectSsBomb2_SpawnLayered
/* 00384 808AC9E4 E7B00034 */ swc1 $f16, 0x0034($sp)
/* 00388 808AC9E8 3C0B808B */ lui $t3, %hi(func_808ACA08) ## $t3 = 808B0000
/* 0038C 808AC9EC 256BCA08 */ addiu $t3, $t3, %lo(func_808ACA08) ## $t3 = 808ACA08

View File

@ -388,7 +388,7 @@ glabel L80953868
/* 04644 80953904 A03868D2 */ sb $t8, %lo(D_809668D2)($at)
/* 04648 80953908 AFA80014 */ sw $t0, 0x0014($sp)
/* 0464C 8095390C AFB90010 */ sw $t9, 0x0010($sp)
/* 04650 80953910 0C00AA7D */ jal func_8002A9F4
/* 04650 80953910 0C00AA7D */ jal EffectSsDeadSound_SpawnStationary
/* 04654 80953914 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 04658 80953918 24090002 */ addiu $t1, $zero, 0x0002 ## $t1 = 00000002
/* 0465C 8095391C A2690194 */ sb $t1, 0x0194($s3) ## 00000194

View File

@ -35,7 +35,7 @@ glabel func_8097D9C4
/* 003D8 8097DA48 440B4000 */ mfc1 $t3, $f8
/* 003DC 8097DA4C 8FA40040 */ lw $a0, 0x0040($sp)
/* 003E0 8097DA50 AFAD0014 */ sw $t5, 0x0014($sp)
/* 003E4 8097DA54 0C00A3A1 */ jal func_80028E84
/* 003E4 8097DA54 0C00A3A1 */ jal EffectSsBomb2_SpawnLayered
/* 003E8 8097DA58 AFAB0010 */ sw $t3, 0x0010($sp)
/* 003EC 8097DA5C 8FA40040 */ lw $a0, 0x0040($sp)
/* 003F0 8097DA60 0C25F5B5 */ jal func_8097D6D4

View File

@ -13,7 +13,7 @@ glabel func_8097DA78
/* 00434 8097DAA4 440F4000 */ mfc1 $t7, $f8
/* 00438 8097DAA8 44199000 */ mfc1 $t9, $f18
/* 0043C 8097DAAC AFAF0010 */ sw $t7, 0x0010($sp)
/* 00440 8097DAB0 0C00A3A1 */ jal func_80028E84
/* 00440 8097DAB0 0C00A3A1 */ jal EffectSsBomb2_SpawnLayered
/* 00444 8097DAB4 AFB90014 */ sw $t9, 0x0014($sp)
/* 00448 8097DAB8 8FBF001C */ lw $ra, 0x001C($sp)
/* 0044C 8097DABC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000

View File

@ -148,7 +148,7 @@ glabel func_809B27D8
/* 0044C 809B29EC AFAE0010 */ sw $t6, 0x0010($sp)
/* 00450 809B29F0 8FA400C4 */ lw $a0, 0x00C4($sp)
/* 00454 809B29F4 02403025 */ or $a2, $s2, $zero ## $a2 = FFFFFFB8
/* 00458 809B29F8 0C00A3A1 */ jal func_80028E84
/* 00458 809B29F8 0C00A3A1 */ jal EffectSsBomb2_SpawnLayered
/* 0045C 809B29FC 02003825 */ or $a3, $s0, $zero ## $a3 = FFFFFFC4
/* 00460 809B2A00 E6340064 */ swc1 $f20, 0x0064($s1) ## 00000064
/* 00464 809B2A04 E6340060 */ swc1 $f20, 0x0060($s1) ## 00000060

View File

@ -30,7 +30,7 @@ glabel func_809B75A0
/* 012C0 809B7610 AFA90014 */ sw $t1, 0x0014($sp)
/* 012C4 809B7614 AFA80010 */ sw $t0, 0x0010($sp)
/* 012C8 809B7618 2406395B */ addiu $a2, $zero, 0x395B ## $a2 = 0000395B
/* 012CC 809B761C 0C00AA7D */ jal func_8002A9F4
/* 012CC 809B761C 0C00AA7D */ jal EffectSsDeadSound_SpawnStationary
/* 012D0 809B7620 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 012D4 809B7624 AE60014C */ sw $zero, 0x014C($s3) ## 0000014C
/* 012D8 809B7628 24110054 */ addiu $s1, $zero, 0x0054 ## $s1 = 00000054

View File

@ -23,7 +23,7 @@ glabel func_809B8B00
/* 00874 809B8B54 8FA4002C */ lw $a0, 0x002C($sp)
/* 00878 809B8B58 260500E4 */ addiu $a1, $s0, 0x00E4 ## $a1 = 000000E4
/* 0087C 809B8B5C 240638CE */ addiu $a2, $zero, 0x38CE ## $a2 = 000038CE
/* 00880 809B8B60 0C00AA7D */ jal func_8002A9F4
/* 00880 809B8B60 0C00AA7D */ jal EffectSsDeadSound_SpawnStationary
/* 00884 809B8B64 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
.L809B8B68:
/* 00888 809B8B68 240B0001 */ addiu $t3, $zero, 0x0001 ## $t3 = 00000001

View File

@ -50,7 +50,7 @@ glabel func_809C4318
/* 00DA4 809C43D4 27A70044 */ addiu $a3, $sp, 0x0044 ## $a3 = FFFFFFF4
/* 00DA8 809C43D8 E7A4002C */ swc1 $f4, 0x002C($sp)
/* 00DAC 809C43DC E7A60030 */ swc1 $f6, 0x0030($sp)
/* 00DB0 809C43E0 0C00A3A1 */ jal func_80028E84
/* 00DB0 809C43E0 0C00A3A1 */ jal EffectSsBomb2_SpawnLayered
/* 00DB4 809C43E4 E7A80034 */ swc1 $f8, 0x0034($sp)
/* 00DB8 809C43E8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00DBC 809C43EC 0C00BE0A */ jal Audio_PlayActorSound2

View File

@ -79,7 +79,7 @@ glabel func_80A0AF24
/* 00C08 80A0B018 27A60034 */ addiu $a2, $sp, 0x0034 ## $a2 = FFFFFFE4
/* 00C0C 80A0B01C 27A70040 */ addiu $a3, $sp, 0x0040 ## $a3 = FFFFFFF0
/* 00C10 80A0B020 AFA20010 */ sw $v0, 0x0010($sp)
/* 00C14 80A0B024 0C00A3A1 */ jal func_80028E84
/* 00C14 80A0B024 0C00A3A1 */ jal EffectSsBomb2_SpawnLayered
/* 00C18 80A0B028 AFA30014 */ sw $v1, 0x0014($sp)
/* 00C1C 80A0B02C 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
/* 00C20 80A0B030 8607008A */ lh $a3, 0x008A($s0) ## 0000008A

View File

@ -65,7 +65,7 @@ glabel EnHonotrap_Update
/* 00F64 80A5AB94 AFAC0014 */ sw $t4, 0x0014($sp)
/* 00F68 80A5AB98 AFAB0010 */ sw $t3, 0x0010($sp)
/* 00F6C 80A5AB9C 24E7B054 */ addiu $a3, $a3, %lo(D_80A5B054) ## $a3 = 80A5B054
/* 00F70 80A5ABA0 0C00A3A1 */ jal func_80028E84
/* 00F70 80A5ABA0 0C00A3A1 */ jal EffectSsBomb2_SpawnLayered
/* 00F74 80A5ABA4 24C6B048 */ addiu $a2, $a2, %lo(D_80A5B048) ## $a2 = 80A5B048
/* 00F78 80A5ABA8 0C00B55C */ jal Actor_Kill

View File

@ -262,7 +262,7 @@ glabel func_80AD076C
/* 01650 80AD0AF0 240B0028 */ addiu $t3, $zero, 0x0028 ## $t3 = 00000028
/* 01654 80AD0AF4 AFAB0014 */ sw $t3, 0x0014($sp)
/* 01658 80AD0AF8 AFAA0010 */ sw $t2, 0x0010($sp)
/* 0165C 80AD0AFC 0C00AA7D */ jal func_8002A9F4
/* 0165C 80AD0AFC 0C00AA7D */ jal EffectSsDeadSound_SpawnStationary
/* 01660 80AD0B00 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
.L80AD0B04:
/* 01664 80AD0B04 8FA40094 */ lw $a0, 0x0094($sp)

View File

@ -40,7 +40,7 @@ glabel func_80AFD7B4
/* 00EA8 80AFD848 8FA4002C */ lw $a0, 0x002C($sp)
/* 00EAC 80AFD84C 260500E4 */ addiu $a1, $s0, 0x00E4 ## $a1 = 000000E4
/* 00EB0 80AFD850 24063833 */ addiu $a2, $zero, 0x3833 ## $a2 = 00003833
/* 00EB4 80AFD854 0C00AA7D */ jal func_8002A9F4
/* 00EB4 80AFD854 0C00AA7D */ jal EffectSsDeadSound_SpawnStationary
/* 00EB8 80AFD858 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 00EBC 80AFD85C 3C0580B0 */ lui $a1, %hi(func_80AFD880) ## $a1 = 80B00000
/* 00EC0 80AFD860 24A5D880 */ addiu $a1, $a1, %lo(func_80AFD880) ## $a1 = 80AFD880

View File

@ -11,7 +11,7 @@ glabel func_80B1A670
/* 01C14 80B1A694 AFAE0010 */ sw $t6, 0x0010($sp)
/* 01C18 80B1A698 2406386E */ addiu $a2, $zero, 0x386E ## $a2 = 0000386E
/* 01C1C 80B1A69C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 01C20 80B1A6A0 0C00AA7D */ jal func_8002A9F4
/* 01C20 80B1A6A0 0C00AA7D */ jal EffectSsDeadSound_SpawnStationary
/* 01C24 80B1A6A4 24A500E4 */ addiu $a1, $a1, 0x00E4 ## $a1 = 000000E4
/* 01C28 80B1A6A8 8FA40020 */ lw $a0, 0x0020($sp)
/* 01C2C 80B1A6AC 24180005 */ addiu $t8, $zero, 0x0005 ## $t8 = 00000005

View File

@ -105,7 +105,7 @@ glabel func_80B2EE9C
/* 00230 80B2F020 8FA40064 */ lw $a0, 0x0064($sp)
/* 00234 80B2F024 26050154 */ addiu $a1, $s0, 0x0154 ## $a1 = 00000154
/* 00238 80B2F028 27A60040 */ addiu $a2, $sp, 0x0040 ## $a2 = FFFFFFE0
/* 0023C 80B2F02C 0C00A3A1 */ jal func_80028E84
/* 0023C 80B2F02C 0C00A3A1 */ jal EffectSsBomb2_SpawnLayered
/* 00240 80B2F030 27A7004C */ addiu $a3, $sp, 0x004C ## $a3 = FFFFFFEC
/* 00244 80B2F034 8FA20064 */ lw $v0, 0x0064($sp)
/* 00248 80B2F038 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001

View File

@ -75,7 +75,7 @@ glabel func_80B2F0B8
/* 0038C 80B2F17C AFB80014 */ sw $t8, 0x0014($sp)
/* 00390 80B2F180 AFAF0010 */ sw $t7, 0x0010($sp)
/* 00394 80B2F184 27A70050 */ addiu $a3, $sp, 0x0050 ## $a3 = FFFFFFF0
/* 00398 80B2F188 0C00A3A1 */ jal func_80028E84
/* 00398 80B2F188 0C00A3A1 */ jal EffectSsBomb2_SpawnLayered
/* 0039C 80B2F18C E7B00040 */ swc1 $f16, 0x0040($sp)
/* 003A0 80B2F190 24190032 */ addiu $t9, $zero, 0x0032 ## $t9 = 00000032
/* 003A4 80B2F194 2408000F */ addiu $t0, $zero, 0x000F ## $t0 = 0000000F

View File

@ -1,89 +0,0 @@
glabel EffectSsBlast_Init
/* 00000 8099EDB0 AFA40000 */ sw $a0, 0x0000($sp)
/* 00004 8099EDB4 AFA50004 */ sw $a1, 0x0004($sp)
/* 00008 8099EDB8 8CEF0000 */ lw $t7, 0x0000($a3) ## 00000000
/* 0000C 8099EDBC 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 00010 8099EDC0 44813000 */ mtc1 $at, $f6 ## $f6 = 5.00
/* 00014 8099EDC4 ACCF0000 */ sw $t7, 0x0000($a2) ## 00000000
/* 00018 8099EDC8 8CEE0004 */ lw $t6, 0x0004($a3) ## 00000004
/* 0001C 8099EDCC 3C020402 */ lui $v0, 0x0402 ## $v0 = 04020000
/* 00020 8099EDD0 2442A0B0 */ addiu $v0, $v0, 0xA0B0 ## $v0 = 0401A0B0
/* 00024 8099EDD4 ACCE0004 */ sw $t6, 0x0004($a2) ## 00000004
/* 00028 8099EDD8 C4C40004 */ lwc1 $f4, 0x0004($a2) ## 00000004
/* 0002C 8099EDDC 8CEF0008 */ lw $t7, 0x0008($a3) ## 00000008
/* 00030 8099EDE0 00025100 */ sll $t2, $v0, 4
/* 00034 8099EDE4 46062200 */ add.s $f8, $f4, $f6
/* 00038 8099EDE8 ACCF0008 */ sw $t7, 0x0008($a2) ## 00000008
/* 0003C 8099EDEC 000A5F02 */ srl $t3, $t2, 28
/* 00040 8099EDF0 000B6080 */ sll $t4, $t3, 2
/* 00044 8099EDF4 E4C80004 */ swc1 $f8, 0x0004($a2) ## 00000004
/* 00048 8099EDF8 8CF9000C */ lw $t9, 0x000C($a3) ## 0000000C
/* 0004C 8099EDFC 3C0D8016 */ lui $t5, %hi(gSegments)
/* 00050 8099EE00 01AC6821 */ addu $t5, $t5, $t4
/* 00054 8099EE04 ACD9000C */ sw $t9, 0x000C($a2) ## 0000000C
/* 00058 8099EE08 8CF80010 */ lw $t8, 0x0010($a3) ## 00000010
/* 0005C 8099EE0C 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 00060 8099EE10 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 00064 8099EE14 ACD80010 */ sw $t8, 0x0010($a2) ## 00000010
/* 00068 8099EE18 8CF90014 */ lw $t9, 0x0014($a3) ## 00000014
/* 0006C 8099EE1C 00417024 */ and $t6, $v0, $at
/* 00070 8099EE20 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00074 8099EE24 ACD90014 */ sw $t9, 0x0014($a2) ## 00000014
/* 00078 8099EE28 8CE90018 */ lw $t1, 0x0018($a3) ## 00000018
/* 0007C 8099EE2C 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 00080 8099EE30 ACC90018 */ sw $t1, 0x0018($a2) ## 00000018
/* 00084 8099EE34 8CE8001C */ lw $t0, 0x001C($a3) ## 0000001C
/* 00088 8099EE38 ACC8001C */ sw $t0, 0x001C($a2) ## 0000001C
/* 0008C 8099EE3C 8CE90020 */ lw $t1, 0x0020($a3) ## 00000020
/* 00090 8099EE40 3C08809A */ lui $t0, %hi(func_8099EF08) ## $t0 = 809A0000
/* 00094 8099EE44 2508EF08 */ addiu $t0, $t0, %lo(func_8099EF08) ## $t0 = 8099EF08
/* 00098 8099EE48 ACC90020 */ sw $t1, 0x0020($a2) ## 00000020
/* 0009C 8099EE4C 8DAD6FA8 */ lw $t5, %lo(gSegments)($t5)
/* 000A0 8099EE50 3C09809A */ lui $t1, %hi(func_8099F0AC) ## $t1 = 809A0000
/* 000A4 8099EE54 2529F0AC */ addiu $t1, $t1, %lo(func_8099F0AC) ## $t1 = 8099F0AC
/* 000A8 8099EE58 01AE7821 */ addu $t7, $t5, $t6
/* 000AC 8099EE5C 01E1C021 */ addu $t8, $t7, $at
/* 000B0 8099EE60 ACD80038 */ sw $t8, 0x0038($a2) ## 00000038
/* 000B4 8099EE64 84F90032 */ lh $t9, 0x0032($a3) ## 00000032
/* 000B8 8099EE68 ACC80028 */ sw $t0, 0x0028($a2) ## 00000028
/* 000BC 8099EE6C ACC90024 */ sw $t1, 0x0024($a2) ## 00000024
/* 000C0 8099EE70 A4D9005C */ sh $t9, 0x005C($a2) ## 0000005C
/* 000C4 8099EE74 90EA0024 */ lbu $t2, 0x0024($a3) ## 00000024
/* 000C8 8099EE78 A4CA0040 */ sh $t2, 0x0040($a2) ## 00000040
/* 000CC 8099EE7C 90EB0025 */ lbu $t3, 0x0025($a3) ## 00000025
/* 000D0 8099EE80 A4CB0042 */ sh $t3, 0x0042($a2) ## 00000042
/* 000D4 8099EE84 90EC0026 */ lbu $t4, 0x0026($a3) ## 00000026
/* 000D8 8099EE88 A4CC0044 */ sh $t4, 0x0044($a2) ## 00000044
/* 000DC 8099EE8C 90ED0027 */ lbu $t5, 0x0027($a3) ## 00000027
/* 000E0 8099EE90 A4CD0046 */ sh $t5, 0x0046($a2) ## 00000046
/* 000E4 8099EE94 90EE0028 */ lbu $t6, 0x0028($a3) ## 00000028
/* 000E8 8099EE98 A4CE0048 */ sh $t6, 0x0048($a2) ## 00000048
/* 000EC 8099EE9C 90EF0029 */ lbu $t7, 0x0029($a3) ## 00000029
/* 000F0 8099EEA0 A4CF004A */ sh $t7, 0x004A($a2) ## 0000004A
/* 000F4 8099EEA4 90F8002A */ lbu $t8, 0x002A($a3) ## 0000002A
/* 000F8 8099EEA8 A4D8004C */ sh $t8, 0x004C($a2) ## 0000004C
/* 000FC 8099EEAC 90F9002B */ lbu $t9, 0x002B($a3) ## 0000002B
/* 00100 8099EEB0 A4D9004E */ sh $t9, 0x004E($a2) ## 0000004E
/* 00104 8099EEB4 84E90032 */ lh $t1, 0x0032($a3) ## 00000032
/* 00108 8099EEB8 90E80027 */ lbu $t0, 0x0027($a3) ## 00000027
/* 0010C 8099EEBC 0109001A */ div $zero, $t0, $t1
/* 00110 8099EEC0 00005012 */ mflo $t2
/* 00114 8099EEC4 A4CA0050 */ sh $t2, 0x0050($a2) ## 00000050
/* 00118 8099EEC8 84EB002C */ lh $t3, 0x002C($a3) ## 0000002C
/* 0011C 8099EECC 15200002 */ bne $t1, $zero, .L8099EED8
/* 00120 8099EED0 00000000 */ nop
/* 00124 8099EED4 0007000D */ break 7 ## 0x01C00
.L8099EED8:
/* 00128 8099EED8 2401FFFF */ addiu $at, $zero, 0xFFFF ## $at = FFFFFFFF
/* 0012C 8099EEDC 15210004 */ bne $t1, $at, .L8099EEF0
/* 00130 8099EEE0 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00134 8099EEE4 15010002 */ bne $t0, $at, .L8099EEF0
/* 00138 8099EEE8 00000000 */ nop
/* 0013C 8099EEEC 0006000D */ break 6 ## 0x01800
.L8099EEF0:
/* 00140 8099EEF0 A4CB0052 */ sh $t3, 0x0052($a2) ## 00000052
/* 00144 8099EEF4 84EC002E */ lh $t4, 0x002E($a3) ## 0000002E
/* 00148 8099EEF8 A4CC0054 */ sh $t4, 0x0054($a2) ## 00000054
/* 0014C 8099EEFC 84ED0030 */ lh $t5, 0x0030($a3) ## 00000030
/* 00150 8099EF00 03E00008 */ jr $ra
/* 00154 8099EF04 A4CD0056 */ sh $t5, 0x0056($a2) ## 00000056

View File

@ -1,124 +0,0 @@
.rdata
glabel D_8099F120
.asciz "../z_eff_ss_blast.c"
.balign 4
glabel D_8099F134
.asciz "../z_eff_ss_blast.c"
.balign 4
glabel D_8099F148
.asciz "../z_eff_ss_blast.c"
.balign 4
.late_rodata
glabel D_8099F15C
.float 0.0025
.text
glabel func_8099EF08
/* 00158 8099EF08 27BDFF68 */ addiu $sp, $sp, 0xFF68 ## $sp = FFFFFF68
/* 0015C 8099EF0C AFB10018 */ sw $s1, 0x0018($sp)
/* 00160 8099EF10 AFBF001C */ sw $ra, 0x001C($sp)
/* 00164 8099EF14 AFB00014 */ sw $s0, 0x0014($sp)
/* 00168 8099EF18 AFA40098 */ sw $a0, 0x0098($sp)
/* 0016C 8099EF1C AFA5009C */ sw $a1, 0x009C($sp)
/* 00170 8099EF20 8C900000 */ lw $s0, 0x0000($a0) ## 00000000
/* 00174 8099EF24 00C08825 */ or $s1, $a2, $zero ## $s1 = 00000000
/* 00178 8099EF28 3C06809A */ lui $a2, %hi(D_8099F120) ## $a2 = 809A0000
/* 0017C 8099EF2C 24C6F120 */ addiu $a2, $a2, %lo(D_8099F120) ## $a2 = 8099F120
/* 00180 8099EF30 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFA0
/* 00184 8099EF34 240700AA */ addiu $a3, $zero, 0x00AA ## $a3 = 000000AA
/* 00188 8099EF38 0C031AB1 */ jal Graph_OpenDisps
/* 0018C 8099EF3C 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 00190 8099EF40 862F0052 */ lh $t7, 0x0052($s1) ## 00000052
/* 00194 8099EF44 3C01809A */ lui $at, %hi(D_8099F15C) ## $at = 809A0000
/* 00198 8099EF48 C428F15C */ lwc1 $f8, %lo(D_8099F15C)($at)
/* 0019C 8099EF4C 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
/* 001A0 8099EF50 8FB80098 */ lw $t8, 0x0098($sp)
/* 001A4 8099EF54 468021A0 */ cvt.s.w $f6, $f4
/* 001A8 8099EF58 46083282 */ mul.s $f10, $f6, $f8
/* 001AC 8099EF5C E7AA004C */ swc1 $f10, 0x004C($sp)
/* 001B0 8099EF60 0C024F61 */ jal func_80093D84
/* 001B4 8099EF64 8F040000 */ lw $a0, 0x0000($t8) ## 00000000
/* 001B8 8099EF68 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 001BC 8099EF6C 3C08FB00 */ lui $t0, 0xFB00 ## $t0 = FB000000
/* 001C0 8099EF70 27A50054 */ addiu $a1, $sp, 0x0054 ## $a1 = FFFFFFBC
/* 001C4 8099EF74 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 001C8 8099EF78 AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0
/* 001CC 8099EF7C AC480000 */ sw $t0, 0x0000($v0) ## 00000000
/* 001D0 8099EF80 8629004E */ lh $t1, 0x004E($s1) ## 0000004E
/* 001D4 8099EF84 862F004A */ lh $t7, 0x004A($s1) ## 0000004A
/* 001D8 8099EF88 862C0048 */ lh $t4, 0x0048($s1) ## 00000048
/* 001DC 8099EF8C 312A00FF */ andi $t2, $t1, 0x00FF ## $t2 = 00000000
/* 001E0 8099EF90 8629004C */ lh $t1, 0x004C($s1) ## 0000004C
/* 001E4 8099EF94 31F800FF */ andi $t8, $t7, 0x00FF ## $t8 = 00000000
/* 001E8 8099EF98 000C6E00 */ sll $t5, $t4, 24
/* 001EC 8099EF9C 014D7025 */ or $t6, $t2, $t5 ## $t6 = 00000000
/* 001F0 8099EFA0 0018CC00 */ sll $t9, $t8, 16
/* 001F4 8099EFA4 312B00FF */ andi $t3, $t1, 0x00FF ## $t3 = 00000000
/* 001F8 8099EFA8 000B6200 */ sll $t4, $t3, 8
/* 001FC 8099EFAC 01D94025 */ or $t0, $t6, $t9 ## $t0 = 00000008
/* 00200 8099EFB0 010C5025 */ or $t2, $t0, $t4 ## $t2 = 00000008
/* 00204 8099EFB4 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004
/* 00208 8099EFB8 8FA40098 */ lw $a0, 0x0098($sp)
/* 0020C 8099EFBC 0C02FF2E */ jal func_800BFCB8
/* 00210 8099EFC0 02203025 */ or $a2, $s1, $zero ## $a2 = 00000000
/* 00214 8099EFC4 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 00218 8099EFC8 3C0FFA00 */ lui $t7, 0xFA00 ## $t7 = FA000000
/* 0021C 8099EFCC 27A40054 */ addiu $a0, $sp, 0x0054 ## $a0 = FFFFFFBC
/* 00220 8099EFD0 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
/* 00224 8099EFD4 AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002D0
/* 00228 8099EFD8 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
/* 0022C 8099EFDC 86380046 */ lh $t8, 0x0046($s1) ## 00000046
/* 00230 8099EFE0 862C0042 */ lh $t4, 0x0042($s1) ## 00000042
/* 00234 8099EFE4 86290040 */ lh $t1, 0x0040($s1) ## 00000040
/* 00238 8099EFE8 330E00FF */ andi $t6, $t8, 0x00FF ## $t6 = 00000000
/* 0023C 8099EFEC 86380044 */ lh $t8, 0x0044($s1) ## 00000044
/* 00240 8099EFF0 318A00FF */ andi $t2, $t4, 0x00FF ## $t2 = 00000000
/* 00244 8099EFF4 00095E00 */ sll $t3, $t1, 24
/* 00248 8099EFF8 01CB4025 */ or $t0, $t6, $t3 ## $t0 = 00000000
/* 0024C 8099EFFC 000A6C00 */ sll $t5, $t2, 16
/* 00250 8099F000 331900FF */ andi $t9, $t8, 0x00FF ## $t9 = 00000000
/* 00254 8099F004 00194A00 */ sll $t1, $t9, 8
/* 00258 8099F008 010D7825 */ or $t7, $t0, $t5 ## $t7 = 00000008
/* 0025C 8099F00C 01E97025 */ or $t6, $t7, $t1 ## $t6 = 00000008
/* 00260 8099F010 0C03423F */ jal Matrix_Put
/* 00264 8099F014 AC4E0004 */ sw $t6, 0x0004($v0) ## 00000004
/* 00268 8099F018 C7AC004C */ lwc1 $f12, 0x004C($sp)
/* 0026C 8099F01C 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 00270 8099F020 44066000 */ mfc1 $a2, $f12
/* 00274 8099F024 0C0342A3 */ jal Matrix_Scale
/* 00278 8099F028 46006386 */ mov.s $f14, $f12
/* 0027C 8099F02C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 00280 8099F030 3C0CDA38 */ lui $t4, 0xDA38 ## $t4 = DA380000
/* 00284 8099F034 358C0003 */ ori $t4, $t4, 0x0003 ## $t4 = DA380003
/* 00288 8099F038 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
/* 0028C 8099F03C AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0
/* 00290 8099F040 3C05809A */ lui $a1, %hi(D_8099F134) ## $a1 = 809A0000
/* 00294 8099F044 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
/* 00298 8099F048 24A5F134 */ addiu $a1, $a1, %lo(D_8099F134) ## $a1 = 8099F134
/* 0029C 8099F04C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 002A0 8099F050 240600C7 */ addiu $a2, $zero, 0x00C7 ## $a2 = 000000C7
/* 002A4 8099F054 0C0346A2 */ jal Matrix_NewMtx
/* 002A8 8099F058 AFA2002C */ sw $v0, 0x002C($sp)
/* 002AC 8099F05C 8FA3002C */ lw $v1, 0x002C($sp)
/* 002B0 8099F060 3C08DE00 */ lui $t0, 0xDE00 ## $t0 = DE000000
/* 002B4 8099F064 3C06809A */ lui $a2, %hi(D_8099F148) ## $a2 = 809A0000
/* 002B8 8099F068 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 002BC 8099F06C 8E0202D0 */ lw $v0, 0x02D0($s0) ## 000002D0
/* 002C0 8099F070 24C6F148 */ addiu $a2, $a2, %lo(D_8099F148) ## $a2 = 8099F148
/* 002C4 8099F074 27A40038 */ addiu $a0, $sp, 0x0038 ## $a0 = FFFFFFA0
/* 002C8 8099F078 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
/* 002CC 8099F07C AE0A02D0 */ sw $t2, 0x02D0($s0) ## 000002D0
/* 002D0 8099F080 AC480000 */ sw $t0, 0x0000($v0) ## 00000000
/* 002D4 8099F084 8E2D0038 */ lw $t5, 0x0038($s1) ## 00000038
/* 002D8 8099F088 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 002DC 8099F08C 240700CC */ addiu $a3, $zero, 0x00CC ## $a3 = 000000CC
/* 002E0 8099F090 0C031AD5 */ jal Graph_CloseDisps
/* 002E4 8099F094 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004
/* 002E8 8099F098 8FBF001C */ lw $ra, 0x001C($sp)
/* 002EC 8099F09C 8FB00014 */ lw $s0, 0x0014($sp)
/* 002F0 8099F0A0 8FB10018 */ lw $s1, 0x0018($sp)
/* 002F4 8099F0A4 03E00008 */ jr $ra
/* 002F8 8099F0A8 27BD0098 */ addiu $sp, $sp, 0x0098 ## $sp = 00000000

View File

@ -1,28 +0,0 @@
glabel func_8099F0AC
/* 002FC 8099F0AC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00300 8099F0B0 AFA40018 */ sw $a0, 0x0018($sp)
/* 00304 8099F0B4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00308 8099F0B8 AFA5001C */ sw $a1, 0x001C($sp)
/* 0030C 8099F0BC 00C03825 */ or $a3, $a2, $zero ## $a3 = 00000000
/* 00310 8099F0C0 24C40046 */ addiu $a0, $a2, 0x0046 ## $a0 = 00000046
/* 00314 8099F0C4 84C60050 */ lh $a2, 0x0050($a2) ## 00000050
/* 00318 8099F0C8 AFA70020 */ sw $a3, 0x0020($sp)
/* 0031C 8099F0CC 0C01DE5F */ jal Math_ApproxS
/* 00320 8099F0D0 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00324 8099F0D4 8FA70020 */ lw $a3, 0x0020($sp)
/* 00328 8099F0D8 84E20054 */ lh $v0, 0x0054($a3) ## 00000054
/* 0032C 8099F0DC 84EE0052 */ lh $t6, 0x0052($a3) ## 00000052
/* 00330 8099F0E0 01C27821 */ addu $t7, $t6, $v0
/* 00334 8099F0E4 10400004 */ beq $v0, $zero, .L8099F0F8
/* 00338 8099F0E8 A4EF0052 */ sh $t7, 0x0052($a3) ## 00000052
/* 0033C 8099F0EC 84F80056 */ lh $t8, 0x0056($a3) ## 00000056
/* 00340 8099F0F0 0058C823 */ subu $t9, $v0, $t8
/* 00344 8099F0F4 A4F90054 */ sh $t9, 0x0054($a3) ## 00000054
.L8099F0F8:
/* 00348 8099F0F8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0034C 8099F0FC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00350 8099F100 03E00008 */ jr $ra
/* 00354 8099F104 00000000 */ nop
/* 00358 8099F108 00000000 */ nop
/* 0035C 8099F10C 00000000 */ nop

View File

@ -1,53 +0,0 @@
glabel EffectSsBomb_Init
/* 00000 8099F1B0 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00004 8099F1B4 AFBF001C */ sw $ra, 0x001C($sp)
/* 00008 8099F1B8 AFB00018 */ sw $s0, 0x0018($sp)
/* 0000C 8099F1BC AFA40020 */ sw $a0, 0x0020($sp)
/* 00010 8099F1C0 AFA50024 */ sw $a1, 0x0024($sp)
/* 00014 8099F1C4 00C08025 */ or $s0, $a2, $zero ## $s0 = 00000000
/* 00018 8099F1C8 AFA7002C */ sw $a3, 0x002C($sp)
/* 0001C 8099F1CC 00E02825 */ or $a1, $a3, $zero ## $a1 = 00000000
/* 00020 8099F1D0 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 00024 8099F1D4 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 00028 8099F1D8 8FA5002C */ lw $a1, 0x002C($sp)
/* 0002C 8099F1DC 2604000C */ addiu $a0, $s0, 0x000C ## $a0 = 0000000C
/* 00030 8099F1E0 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 00034 8099F1E4 24A5000C */ addiu $a1, $a1, 0x000C ## $a1 = 0000000C
/* 00038 8099F1E8 8FA5002C */ lw $a1, 0x002C($sp)
/* 0003C 8099F1EC 26040018 */ addiu $a0, $s0, 0x0018 ## $a0 = 00000018
/* 00040 8099F1F0 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 00044 8099F1F4 24A50018 */ addiu $a1, $a1, 0x0018 ## $a1 = 00000018
/* 00048 8099F1F8 3C030401 */ lui $v1, 0x0401 ## $v1 = 04010000
/* 0004C 8099F1FC 2463BF80 */ addiu $v1, $v1, 0xBF80 ## $v1 = 0400BF80
/* 00050 8099F200 00037100 */ sll $t6, $v1, 4
/* 00054 8099F204 000E7F02 */ srl $t7, $t6, 28
/* 00058 8099F208 000FC080 */ sll $t8, $t7, 2
/* 0005C 8099F20C 3C198016 */ lui $t9, %hi(gSegments)
/* 00060 8099F210 0338C821 */ addu $t9, $t9, $t8
/* 00064 8099F214 8F396FA8 */ lw $t9, %lo(gSegments)($t9)
/* 00068 8099F218 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 0006C 8099F21C 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 00070 8099F220 00614024 */ and $t0, $v1, $at
/* 00074 8099F224 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00078 8099F228 3C0C809A */ lui $t4, %hi(func_8099F274) ## $t4 = 809A0000
/* 0007C 8099F22C 3C0D809A */ lui $t5, %hi(func_8099F4D8) ## $t5 = 809A0000
/* 00080 8099F230 03284821 */ addu $t1, $t9, $t0
/* 00084 8099F234 01215021 */ addu $t2, $t1, $at
/* 00088 8099F238 240B0014 */ addiu $t3, $zero, 0x0014 ## $t3 = 00000014
/* 0008C 8099F23C 258CF274 */ addiu $t4, $t4, %lo(func_8099F274) ## $t4 = 8099F274
/* 00090 8099F240 25ADF4D8 */ addiu $t5, $t5, %lo(func_8099F4D8) ## $t5 = 8099F4D8
/* 00094 8099F244 240E0064 */ addiu $t6, $zero, 0x0064 ## $t6 = 00000064
/* 00098 8099F248 AE0A0038 */ sw $t2, 0x0038($s0) ## 00000038
/* 0009C 8099F24C A60B005C */ sh $t3, 0x005C($s0) ## 0000005C
/* 000A0 8099F250 AE0C0028 */ sw $t4, 0x0028($s0) ## 00000028
/* 000A4 8099F254 AE0D0024 */ sw $t5, 0x0024($s0) ## 00000024
/* 000A8 8099F258 A60E0040 */ sh $t6, 0x0040($s0) ## 00000040
/* 000AC 8099F25C A6000042 */ sh $zero, 0x0042($s0) ## 00000042
/* 000B0 8099F260 8FBF001C */ lw $ra, 0x001C($sp)
/* 000B4 8099F264 8FB00018 */ lw $s0, 0x0018($sp)
/* 000B8 8099F268 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 000BC 8099F26C 03E00008 */ jr $ra
/* 000C0 8099F270 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001

View File

@ -1,165 +0,0 @@
.rdata
glabel D_8099F5A0
.asciz "../z_eff_ss_bomb.c"
.balign 4
glabel D_8099F5B4
.asciz "../z_eff_ss_bomb.c"
.balign 4
.text
glabel func_8099F274
/* 000C4 8099F274 27BDFE90 */ addiu $sp, $sp, 0xFE90 ## $sp = FFFFFE90
/* 000C8 8099F278 AFBF001C */ sw $ra, 0x001C($sp)
/* 000CC 8099F27C AFB00018 */ sw $s0, 0x0018($sp)
/* 000D0 8099F280 AFA40170 */ sw $a0, 0x0170($sp)
/* 000D4 8099F284 AFA50174 */ sw $a1, 0x0174($sp)
/* 000D8 8099F288 AFA60178 */ sw $a2, 0x0178($sp)
/* 000DC 8099F28C 8C900000 */ lw $s0, 0x0000($a0) ## 00000000
/* 000E0 8099F290 3C06809A */ lui $a2, %hi(D_8099F5A0) ## $a2 = 809A0000
/* 000E4 8099F294 24C6F5A0 */ addiu $a2, $a2, %lo(D_8099F5A0) ## $a2 = 8099F5A0
/* 000E8 8099F298 27A40048 */ addiu $a0, $sp, 0x0048 ## $a0 = FFFFFED8
/* 000EC 8099F29C 240700A8 */ addiu $a3, $zero, 0x00A8 ## $a3 = 000000A8
/* 000F0 8099F2A0 0C031AB1 */ jal Graph_OpenDisps
/* 000F4 8099F2A4 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 000F8 8099F2A8 8FA20178 */ lw $v0, 0x0178($sp)
/* 000FC 8099F2AC 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 00100 8099F2B0 44814000 */ mtc1 $at, $f8 ## $f8 = 100.00
/* 00104 8099F2B4 844F0040 */ lh $t7, 0x0040($v0) ## 00000040
/* 00108 8099F2B8 8C450000 */ lw $a1, 0x0000($v0) ## 00000000
/* 0010C 8099F2BC 8C460004 */ lw $a2, 0x0004($v0) ## 00000004
/* 00110 8099F2C0 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
/* 00114 8099F2C4 8C470008 */ lw $a3, 0x0008($v0) ## 00000008
/* 00118 8099F2C8 27A4012C */ addiu $a0, $sp, 0x012C ## $a0 = FFFFFFBC
/* 0011C 8099F2CC 468021A0 */ cvt.s.w $f6, $f4
/* 00120 8099F2D0 46083003 */ div.s $f0, $f6, $f8
/* 00124 8099F2D4 0C029E89 */ jal func_800A7A24
/* 00128 8099F2D8 E7A00060 */ swc1 $f0, 0x0060($sp)
/* 0012C 8099F2DC C7A00060 */ lwc1 $f0, 0x0060($sp)
/* 00130 8099F2E0 27A400EC */ addiu $a0, $sp, 0x00EC ## $a0 = FFFFFF7C
/* 00134 8099F2E4 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
/* 00138 8099F2E8 44050000 */ mfc1 $a1, $f0
/* 0013C 8099F2EC 44060000 */ mfc1 $a2, $f0
/* 00140 8099F2F0 0C029DA9 */ jal func_800A76A4
/* 00144 8099F2F4 00000000 */ nop
/* 00148 8099F2F8 8FA50170 */ lw $a1, 0x0170($sp)
/* 0014C 8099F2FC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00150 8099F300 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0
/* 00154 8099F304 27A4012C */ addiu $a0, $sp, 0x012C ## $a0 = FFFFFFBC
/* 00158 8099F308 27A6006C */ addiu $a2, $sp, 0x006C ## $a2 = FFFFFEFC
/* 0015C 8099F30C 0C029BE8 */ jal func_800A6FA0
/* 00160 8099F310 00A12821 */ addu $a1, $a1, $at
/* 00164 8099F314 27A4006C */ addiu $a0, $sp, 0x006C ## $a0 = FFFFFEFC
/* 00168 8099F318 27A500EC */ addiu $a1, $sp, 0x00EC ## $a1 = FFFFFF7C
/* 0016C 8099F31C 0C029BE8 */ jal func_800A6FA0
/* 00170 8099F320 27A600AC */ addiu $a2, $sp, 0x00AC ## $a2 = FFFFFF3C
/* 00174 8099F324 8E0302D0 */ lw $v1, 0x02D0($s0) ## 000002D0
/* 00178 8099F328 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
/* 0017C 8099F32C 3C088013 */ lui $t0, %hi(gMtxClear)
/* 00180 8099F330 24780008 */ addiu $t8, $v1, 0x0008 ## $t8 = 00000008
/* 00184 8099F334 AE1802D0 */ sw $t8, 0x02D0($s0) ## 000002D0
/* 00188 8099F338 2508DB20 */ addiu $t0, %lo(gMtxClear)
/* 0018C 8099F33C 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003
/* 00190 8099F340 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00194 8099F344 27A500AC */ addiu $a1, $sp, 0x00AC ## $a1 = FFFFFF3C
/* 00198 8099F348 AC790000 */ sw $t9, 0x0000($v1) ## 00000000
/* 0019C 8099F34C 0C029F9C */ jal func_800A7E70
/* 001A0 8099F350 AC680004 */ sw $t0, 0x0004($v1) ## 00000004
/* 001A4 8099F354 10400055 */ beq $v0, $zero, .L8099F4AC
/* 001A8 8099F358 00000000 */ nop
/* 001AC 8099F35C 8E0302D0 */ lw $v1, 0x02D0($s0) ## 000002D0
/* 001B0 8099F360 3C0ADA38 */ lui $t2, 0xDA38 ## $t2 = DA380000
/* 001B4 8099F364 354A0003 */ ori $t2, $t2, 0x0003 ## $t2 = DA380003
/* 001B8 8099F368 24690008 */ addiu $t1, $v1, 0x0008 ## $t1 = 00000008
/* 001BC 8099F36C AE0902D0 */ sw $t1, 0x02D0($s0) ## 000002D0
/* 001C0 8099F370 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 001C4 8099F374 AC6A0000 */ sw $t2, 0x0000($v1) ## 00000000
/* 001C8 8099F378 8E0302D0 */ lw $v1, 0x02D0($s0) ## 000002D0
/* 001CC 8099F37C 3C0CDB06 */ lui $t4, 0xDB06 ## $t4 = DB060000
/* 001D0 8099F380 358C0020 */ ori $t4, $t4, 0x0020 ## $t4 = DB060020
/* 001D4 8099F384 246B0008 */ addiu $t3, $v1, 0x0008 ## $t3 = 00000008
/* 001D8 8099F388 AE0B02D0 */ sw $t3, 0x02D0($s0) ## 000002D0
/* 001DC 8099F38C AC6C0000 */ sw $t4, 0x0000($v1) ## 00000000
/* 001E0 8099F390 8FAD0178 */ lw $t5, 0x0178($sp)
/* 001E4 8099F394 3C04809A */ lui $a0, %hi(D_8099F588) ## $a0 = 809A0000
/* 001E8 8099F398 3C0A8016 */ lui $t2, %hi(gSegments)
/* 001EC 8099F39C 85AE0042 */ lh $t6, 0x0042($t5) ## 00000042
/* 001F0 8099F3A0 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 001F4 8099F3A4 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 001F8 8099F3A8 000E7880 */ sll $t7, $t6, 2
/* 001FC 8099F3AC 008F2021 */ addu $a0, $a0, $t7
/* 00200 8099F3B0 8C84F588 */ lw $a0, %lo(D_8099F588)($a0)
/* 00204 8099F3B4 3C06E700 */ lui $a2, 0xE700 ## $a2 = E7000000
/* 00208 8099F3B8 0004C900 */ sll $t9, $a0, 4
/* 0020C 8099F3BC 00194702 */ srl $t0, $t9, 28
/* 00210 8099F3C0 00084880 */ sll $t1, $t0, 2
/* 00214 8099F3C4 01495021 */ addu $t2, $t2, $t1
/* 00218 8099F3C8 8D4A6FA8 */ lw $t2, %lo(gSegments)($t2)
/* 0021C 8099F3CC 0081C024 */ and $t8, $a0, $at
/* 00220 8099F3D0 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00224 8099F3D4 030A5821 */ addu $t3, $t8, $t2
/* 00228 8099F3D8 01616021 */ addu $t4, $t3, $at
/* 0022C 8099F3DC AC6C0004 */ sw $t4, 0x0004($v1) ## 00000004
/* 00230 8099F3E0 8E0302D0 */ lw $v1, 0x02D0($s0) ## 000002D0
/* 00234 8099F3E4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00238 8099F3E8 246D0008 */ addiu $t5, $v1, 0x0008 ## $t5 = 00000008
/* 0023C 8099F3EC AE0D02D0 */ sw $t5, 0x02D0($s0) ## 000002D0
/* 00240 8099F3F0 AC600004 */ sw $zero, 0x0004($v1) ## 00000004
/* 00244 8099F3F4 0C025314 */ jal func_80094C50
/* 00248 8099F3F8 AC660000 */ sw $a2, 0x0000($v1) ## 00000000
/* 0024C 8099F3FC 8FAE0178 */ lw $t6, 0x0178($sp)
/* 00250 8099F400 3C01414C */ lui $at, 0x414C ## $at = 414C0000
/* 00254 8099F404 44819000 */ mtc1 $at, $f18 ## $f18 = 12.75
/* 00258 8099F408 85CF005C */ lh $t7, 0x005C($t6) ## 0000005C
/* 0025C 8099F40C 8E0302D0 */ lw $v1, 0x02D0($s0) ## 000002D0
/* 00260 8099F410 3C09FA00 */ lui $t1, 0xFA00 ## $t1 = FA000000
/* 00264 8099F414 448F5000 */ mtc1 $t7, $f10 ## $f10 = 0.00
/* 00268 8099F418 24680008 */ addiu $t0, $v1, 0x0008 ## $t0 = 00000008
/* 0026C 8099F41C AE0802D0 */ sw $t0, 0x02D0($s0) ## 000002D0
/* 00270 8099F420 46805420 */ cvt.s.w $f16, $f10
/* 00274 8099F424 AC690000 */ sw $t1, 0x0000($v1) ## 00000000
/* 00278 8099F428 3C06E700 */ lui $a2, 0xE700 ## $a2 = E7000000
/* 0027C 8099F42C 3C08DE00 */ lui $t0, 0xDE00 ## $t0 = DE000000
/* 00280 8099F430 46128102 */ mul.s $f4, $f16, $f18
/* 00284 8099F434 4600218D */ trunc.w.s $f6, $f4
/* 00288 8099F438 44053000 */ mfc1 $a1, $f6
/* 0028C 8099F43C 00000000 */ nop
/* 00290 8099F440 00052C00 */ sll $a1, $a1, 16
/* 00294 8099F444 00052C03 */ sra $a1, $a1, 16
/* 00298 8099F448 30A200FF */ andi $v0, $a1, 0x00FF ## $v0 = 00000000
/* 0029C 8099F44C 0002C600 */ sll $t8, $v0, 24
/* 002A0 8099F450 00025400 */ sll $t2, $v0, 16
/* 002A4 8099F454 030A5825 */ or $t3, $t8, $t2 ## $t3 = 00000000
/* 002A8 8099F458 00026200 */ sll $t4, $v0, 8
/* 002AC 8099F45C 016C6825 */ or $t5, $t3, $t4 ## $t5 = 00000000
/* 002B0 8099F460 01A27025 */ or $t6, $t5, $v0 ## $t6 = 00000000
/* 002B4 8099F464 AC6E0004 */ sw $t6, 0x0004($v1) ## 00000004
/* 002B8 8099F468 8E0302D0 */ lw $v1, 0x02D0($s0) ## 000002D0
/* 002BC 8099F46C 246F0008 */ addiu $t7, $v1, 0x0008 ## $t7 = 00000008
/* 002C0 8099F470 AE0F02D0 */ sw $t7, 0x02D0($s0) ## 000002D0
/* 002C4 8099F474 AC600004 */ sw $zero, 0x0004($v1) ## 00000004
/* 002C8 8099F478 AC660000 */ sw $a2, 0x0000($v1) ## 00000000
/* 002CC 8099F47C 8E0302D0 */ lw $v1, 0x02D0($s0) ## 000002D0
/* 002D0 8099F480 24790008 */ addiu $t9, $v1, 0x0008 ## $t9 = 00000008
/* 002D4 8099F484 AE1902D0 */ sw $t9, 0x02D0($s0) ## 000002D0
/* 002D8 8099F488 AC680000 */ sw $t0, 0x0000($v1) ## 00000000
/* 002DC 8099F48C 8FA90178 */ lw $t1, 0x0178($sp)
/* 002E0 8099F490 8D380038 */ lw $t8, 0x0038($t1) ## FA000038
/* 002E4 8099F494 AC780004 */ sw $t8, 0x0004($v1) ## 00000004
/* 002E8 8099F498 8E0302D0 */ lw $v1, 0x02D0($s0) ## 000002D0
/* 002EC 8099F49C 246A0008 */ addiu $t2, $v1, 0x0008 ## $t2 = 00000008
/* 002F0 8099F4A0 AE0A02D0 */ sw $t2, 0x02D0($s0) ## 000002D0
/* 002F4 8099F4A4 AC600004 */ sw $zero, 0x0004($v1) ## 00000004
/* 002F8 8099F4A8 AC660000 */ sw $a2, 0x0000($v1) ## 00000000
.L8099F4AC:
/* 002FC 8099F4AC 3C06809A */ lui $a2, %hi(D_8099F5B4) ## $a2 = 809A0000
/* 00300 8099F4B0 24C6F5B4 */ addiu $a2, $a2, %lo(D_8099F5B4) ## $a2 = 8099F5B4
/* 00304 8099F4B4 27A40048 */ addiu $a0, $sp, 0x0048 ## $a0 = FFFFFED8
/* 00308 8099F4B8 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
/* 0030C 8099F4BC 0C031AD5 */ jal Graph_CloseDisps
/* 00310 8099F4C0 240700D6 */ addiu $a3, $zero, 0x00D6 ## $a3 = 000000D6
/* 00314 8099F4C4 8FBF001C */ lw $ra, 0x001C($sp)
/* 00318 8099F4C8 8FB00018 */ lw $s0, 0x0018($sp)
/* 0031C 8099F4CC 27BD0170 */ addiu $sp, $sp, 0x0170 ## $sp = 00000000
/* 00320 8099F4D0 03E00008 */ jr $ra
/* 00324 8099F4D4 00000000 */ nop

View File

@ -1,61 +0,0 @@
.late_rodata
glabel D_8099F5C8
.float 0.4
glabel D_8099F5CC
.float 0.2
glabel D_8099F5D0
.float 0.4
glabel D_8099F5D4
.float 0.2
.text
glabel func_8099F4D8
/* 00328 8099F4D8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0032C 8099F4DC AFBF0014 */ sw $ra, 0x0014($sp)
/* 00330 8099F4E0 AFA40018 */ sw $a0, 0x0018($sp)
/* 00334 8099F4E4 AFA5001C */ sw $a1, 0x001C($sp)
/* 00338 8099F4E8 84C2005C */ lh $v0, 0x005C($a2) ## 0000005C
/* 0033C 8099F4EC 28410015 */ slti $at, $v0, 0x0015
/* 00340 8099F4F0 10200006 */ beq $at, $zero, .L8099F50C
/* 00344 8099F4F4 28410011 */ slti $at, $v0, 0x0011
/* 00348 8099F4F8 14200004 */ bne $at, $zero, .L8099F50C
/* 0034C 8099F4FC 240E0014 */ addiu $t6, $zero, 0x0014 ## $t6 = 00000014
/* 00350 8099F500 01C27823 */ subu $t7, $t6, $v0
/* 00354 8099F504 10000005 */ beq $zero, $zero, .L8099F51C
/* 00358 8099F508 A4CF0042 */ sh $t7, 0x0042($a2) ## 00000042
.L8099F50C:
/* 0035C 8099F50C 84D80040 */ lh $t8, 0x0040($a2) ## 00000040
/* 00360 8099F510 24190003 */ addiu $t9, $zero, 0x0003 ## $t9 = 00000003
/* 00364 8099F514 A4D90042 */ sh $t9, 0x0042($a2) ## 00000042
/* 00368 8099F518 A4D80040 */ sh $t8, 0x0040($a2) ## 00000040
.L8099F51C:
/* 0036C 8099F51C 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00370 8099F520 AFA60020 */ sw $a2, 0x0020($sp)
/* 00374 8099F524 3C01809A */ lui $at, %hi(D_8099F5C8) ## $at = 809A0000
/* 00378 8099F528 C424F5C8 */ lwc1 $f4, %lo(D_8099F5C8)($at)
/* 0037C 8099F52C 3C01809A */ lui $at, %hi(D_8099F5CC) ## $at = 809A0000
/* 00380 8099F530 C428F5CC */ lwc1 $f8, %lo(D_8099F5CC)($at)
/* 00384 8099F534 46040182 */ mul.s $f6, $f0, $f4
/* 00388 8099F538 8FA60020 */ lw $a2, 0x0020($sp)
/* 0038C 8099F53C 46083281 */ sub.s $f10, $f6, $f8
/* 00390 8099F540 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 00394 8099F544 E4CA0018 */ swc1 $f10, 0x0018($a2) ## 00000018
/* 00398 8099F548 3C01809A */ lui $at, %hi(D_8099F5D0) ## $at = 809A0000
/* 0039C 8099F54C C430F5D0 */ lwc1 $f16, %lo(D_8099F5D0)($at)
/* 003A0 8099F550 3C01809A */ lui $at, %hi(D_8099F5D4) ## $at = 809A0000
/* 003A4 8099F554 C424F5D4 */ lwc1 $f4, %lo(D_8099F5D4)($at)
/* 003A8 8099F558 46100482 */ mul.s $f18, $f0, $f16
/* 003AC 8099F55C 8FA60020 */ lw $a2, 0x0020($sp)
/* 003B0 8099F560 46049181 */ sub.s $f6, $f18, $f4
/* 003B4 8099F564 E4C60020 */ swc1 $f6, 0x0020($a2) ## 00000020
/* 003B8 8099F568 8FBF0014 */ lw $ra, 0x0014($sp)
/* 003BC 8099F56C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 003C0 8099F570 03E00008 */ jr $ra
/* 003C4 8099F574 00000000 */ nop
/* 003C8 8099F578 00000000 */ nop
/* 003CC 8099F57C 00000000 */ nop

View File

@ -1,66 +0,0 @@
glabel EffectSsBomb2_Init
/* 00000 8099F650 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00004 8099F654 AFBF001C */ sw $ra, 0x001C($sp)
/* 00008 8099F658 AFB10018 */ sw $s1, 0x0018($sp)
/* 0000C 8099F65C AFB00014 */ sw $s0, 0x0014($sp)
/* 00010 8099F660 AFA40020 */ sw $a0, 0x0020($sp)
/* 00014 8099F664 AFA50024 */ sw $a1, 0x0024($sp)
/* 00018 8099F668 00C08025 */ or $s0, $a2, $zero ## $s0 = 00000000
/* 0001C 8099F66C 00E08825 */ or $s1, $a3, $zero ## $s1 = 00000000
/* 00020 8099F670 00E02825 */ or $a1, $a3, $zero ## $a1 = 00000000
/* 00024 8099F674 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 00028 8099F678 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 0002C 8099F67C 2604000C */ addiu $a0, $s0, 0x000C ## $a0 = 0000000C
/* 00030 8099F680 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 00034 8099F684 2625000C */ addiu $a1, $s1, 0x000C ## $a1 = 0000000C
/* 00038 8099F688 26040018 */ addiu $a0, $s0, 0x0018 ## $a0 = 00000018
/* 0003C 8099F68C 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 00040 8099F690 26250018 */ addiu $a1, $s1, 0x0018 ## $a1 = 00000018
/* 00044 8099F694 3C030401 */ lui $v1, 0x0401 ## $v1 = 04010000
/* 00048 8099F698 2463BF80 */ addiu $v1, $v1, 0xBF80 ## $v1 = 0400BF80
/* 0004C 8099F69C 00037100 */ sll $t6, $v1, 4
/* 00050 8099F6A0 000E7F02 */ srl $t7, $t6, 28
/* 00054 8099F6A4 000FC080 */ sll $t8, $t7, 2
/* 00058 8099F6A8 3C198016 */ lui $t9, %hi(gSegments)
/* 0005C 8099F6AC 0338C821 */ addu $t9, $t9, $t8
/* 00060 8099F6B0 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 00064 8099F6B4 8F396FA8 */ lw $t9, %lo(gSegments)($t9)
/* 00068 8099F6B8 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 0006C 8099F6BC 00614024 */ and $t0, $v1, $at
/* 00070 8099F6C0 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00074 8099F6C4 3C0C809A */ lui $t4, %hi(func_8099FCCC) ## $t4 = 809A0000
/* 00078 8099F6C8 03284821 */ addu $t1, $t9, $t0
/* 0007C 8099F6CC 01215021 */ addu $t2, $t1, $at
/* 00080 8099F6D0 240B0018 */ addiu $t3, $zero, 0x0018 ## $t3 = 00000018
/* 00084 8099F6D4 258CFCCC */ addiu $t4, $t4, %lo(func_8099FCCC) ## $t4 = 8099FCCC
/* 00088 8099F6D8 AE0A0038 */ sw $t2, 0x0038($s0) ## 00000038
/* 0008C 8099F6DC A60B005C */ sh $t3, 0x005C($s0) ## 0000005C
/* 00090 8099F6E0 AE0C0024 */ sw $t4, 0x0024($s0) ## 00000024
/* 00094 8099F6E4 922D0028 */ lbu $t5, 0x0028($s1) ## 00000028
/* 00098 8099F6E8 3C0F809A */ lui $t7, %hi(D_8099FED8) ## $t7 = 809A0000
/* 0009C 8099F6EC 240400FF */ addiu $a0, $zero, 0x00FF ## $a0 = 000000FF
/* 000A0 8099F6F0 000D7080 */ sll $t6, $t5, 2
/* 000A4 8099F6F4 01EE7821 */ addu $t7, $t7, $t6
/* 000A8 8099F6F8 8DEFFED8 */ lw $t7, %lo(D_8099FED8)($t7)
/* 000AC 8099F6FC 240800C8 */ addiu $t0, $zero, 0x00C8 ## $t0 = 000000C8
/* 000B0 8099F700 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 000B4 8099F704 AE0F0028 */ sw $t7, 0x0028($s0) ## 00000028
/* 000B8 8099F708 86380024 */ lh $t8, 0x0024($s1) ## 00000024
/* 000BC 8099F70C A6180040 */ sh $t8, 0x0040($s0) ## 00000040
/* 000C0 8099F710 86390026 */ lh $t9, 0x0026($s1) ## 00000026
/* 000C4 8099F714 A6040044 */ sh $a0, 0x0044($s0) ## 00000044
/* 000C8 8099F718 A6040046 */ sh $a0, 0x0046($s0) ## 00000046
/* 000CC 8099F71C A6040048 */ sh $a0, 0x0048($s0) ## 00000048
/* 000D0 8099F720 A604004A */ sh $a0, 0x004A($s0) ## 0000004A
/* 000D4 8099F724 A600004C */ sh $zero, 0x004C($s0) ## 0000004C
/* 000D8 8099F728 A600004E */ sh $zero, 0x004E($s0) ## 0000004E
/* 000DC 8099F72C A6080050 */ sh $t0, 0x0050($s0) ## 00000050
/* 000E0 8099F730 A6190052 */ sh $t9, 0x0052($s0) ## 00000052
/* 000E4 8099F734 8FBF001C */ lw $ra, 0x001C($sp)
/* 000E8 8099F738 8FB10018 */ lw $s1, 0x0018($sp)
/* 000EC 8099F73C 8FB00014 */ lw $s0, 0x0014($sp)
/* 000F0 8099F740 03E00008 */ jr $ra
/* 000F4 8099F744 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000

View File

@ -1,150 +0,0 @@
.rdata
glabel D_8099FF20
.asciz "../z_eff_ss_bomb2.c"
.balign 4
glabel D_8099FF34
.asciz "../z_eff_ss_bomb2.c"
.balign 4
.late_rodata
glabel D_8099FF84
.float 0.01
.text
glabel func_8099F748
/* 000F8 8099F748 27BDFEA0 */ addiu $sp, $sp, 0xFEA0 ## $sp = FFFFFEA0
/* 000FC 8099F74C AFB00014 */ sw $s0, 0x0014($sp)
/* 00100 8099F750 AFBF001C */ sw $ra, 0x001C($sp)
/* 00104 8099F754 AFB10018 */ sw $s1, 0x0018($sp)
/* 00108 8099F758 AFA40160 */ sw $a0, 0x0160($sp)
/* 0010C 8099F75C AFA50164 */ sw $a1, 0x0164($sp)
/* 00110 8099F760 8C910000 */ lw $s1, 0x0000($a0) ## 00000000
/* 00114 8099F764 00C08025 */ or $s0, $a2, $zero ## $s0 = 00000000
/* 00118 8099F768 3C06809A */ lui $a2, %hi(D_8099FF20) ## $a2 = 809A0000
/* 0011C 8099F76C 24C6FF20 */ addiu $a2, $a2, %lo(D_8099FF20) ## $a2 = 8099FF20
/* 00120 8099F770 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFEDC
/* 00124 8099F774 2407012A */ addiu $a3, $zero, 0x012A ## $a3 = 0000012A
/* 00128 8099F778 0C031AB1 */ jal Graph_OpenDisps
/* 0012C 8099F77C 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00130 8099F780 860F0040 */ lh $t7, 0x0040($s0) ## 00000040
/* 00134 8099F784 3C01809A */ lui $at, %hi(D_8099FF84) ## $at = 809A0000
/* 00138 8099F788 C428FF84 */ lwc1 $f8, %lo(D_8099FF84)($at)
/* 0013C 8099F78C 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
/* 00140 8099F790 8E050000 */ lw $a1, 0x0000($s0) ## 00000000
/* 00144 8099F794 8E060004 */ lw $a2, 0x0004($s0) ## 00000004
/* 00148 8099F798 468021A0 */ cvt.s.w $f6, $f4
/* 0014C 8099F79C 8E070008 */ lw $a3, 0x0008($s0) ## 00000008
/* 00150 8099F7A0 27A4011C */ addiu $a0, $sp, 0x011C ## $a0 = FFFFFFBC
/* 00154 8099F7A4 46083002 */ mul.s $f0, $f6, $f8
/* 00158 8099F7A8 0C029E89 */ jal func_800A7A24
/* 0015C 8099F7AC E7A00050 */ swc1 $f0, 0x0050($sp)
/* 00160 8099F7B0 C7A00050 */ lwc1 $f0, 0x0050($sp)
/* 00164 8099F7B4 27A400DC */ addiu $a0, $sp, 0x00DC ## $a0 = FFFFFF7C
/* 00168 8099F7B8 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
/* 0016C 8099F7BC 44050000 */ mfc1 $a1, $f0
/* 00170 8099F7C0 44060000 */ mfc1 $a2, $f0
/* 00174 8099F7C4 0C029DA9 */ jal func_800A76A4
/* 00178 8099F7C8 00000000 */ nop
/* 0017C 8099F7CC 8FA50160 */ lw $a1, 0x0160($sp)
/* 00180 8099F7D0 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00184 8099F7D4 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0
/* 00188 8099F7D8 27A4011C */ addiu $a0, $sp, 0x011C ## $a0 = FFFFFFBC
/* 0018C 8099F7DC 27A6005C */ addiu $a2, $sp, 0x005C ## $a2 = FFFFFEFC
/* 00190 8099F7E0 0C029BE8 */ jal func_800A6FA0
/* 00194 8099F7E4 00A12821 */ addu $a1, $a1, $at
/* 00198 8099F7E8 27A4005C */ addiu $a0, $sp, 0x005C ## $a0 = FFFFFEFC
/* 0019C 8099F7EC 27A500DC */ addiu $a1, $sp, 0x00DC ## $a1 = FFFFFF7C
/* 001A0 8099F7F0 0C029BE8 */ jal func_800A6FA0
/* 001A4 8099F7F4 27A6009C */ addiu $a2, $sp, 0x009C ## $a2 = FFFFFF3C
/* 001A8 8099F7F8 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 001AC 8099F7FC 0C029F9C */ jal func_800A7E70
/* 001B0 8099F800 27A5009C */ addiu $a1, $sp, 0x009C ## $a1 = FFFFFF3C
/* 001B4 8099F804 1040004B */ beq $v0, $zero, .L8099F934
/* 001B8 8099F808 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
/* 001BC 8099F80C 8E2302D0 */ lw $v1, 0x02D0($s1) ## 000002D0
/* 001C0 8099F810 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003
/* 001C4 8099F814 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 001C8 8099F818 24780008 */ addiu $t8, $v1, 0x0008 ## $t8 = 00000008
/* 001CC 8099F81C AE3802D0 */ sw $t8, 0x02D0($s1) ## 000002D0
/* 001D0 8099F820 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 001D4 8099F824 0C0252F1 */ jal func_80094BC4
/* 001D8 8099F828 AC790000 */ sw $t9, 0x0000($v1) ## 00000000
/* 001DC 8099F82C 8E2302D0 */ lw $v1, 0x02D0($s1) ## 000002D0
/* 001E0 8099F830 3C09FA00 */ lui $t1, 0xFA00 ## $t1 = FA000000
/* 001E4 8099F834 3C04809A */ lui $a0, %hi(D_8099FEE0) ## $a0 = 809A0000
/* 001E8 8099F838 24680008 */ addiu $t0, $v1, 0x0008 ## $t0 = 00000008
/* 001EC 8099F83C AE2802D0 */ sw $t0, 0x02D0($s1) ## 000002D0
/* 001F0 8099F840 AC690000 */ sw $t1, 0x0000($v1) ## 00000000
/* 001F4 8099F844 860A004A */ lh $t2, 0x004A($s0) ## 0000004A
/* 001F8 8099F848 86180046 */ lh $t8, 0x0046($s0) ## 00000046
/* 001FC 8099F84C 860D0044 */ lh $t5, 0x0044($s0) ## 00000044
/* 00200 8099F850 314B00FF */ andi $t3, $t2, 0x00FF ## $t3 = 00000000
/* 00204 8099F854 860A0048 */ lh $t2, 0x0048($s0) ## 00000048
/* 00208 8099F858 331900FF */ andi $t9, $t8, 0x00FF ## $t9 = 00000000
/* 0020C 8099F85C 000D7600 */ sll $t6, $t5, 24
/* 00210 8099F860 016E7825 */ or $t7, $t3, $t6 ## $t7 = 00000000
/* 00214 8099F864 00194400 */ sll $t0, $t9, 16
/* 00218 8099F868 314C00FF */ andi $t4, $t2, 0x00FF ## $t4 = 00000000
/* 0021C 8099F86C 000C6A00 */ sll $t5, $t4, 8
/* 00220 8099F870 01E84825 */ or $t1, $t7, $t0 ## $t1 = 00000008
/* 00224 8099F874 012D5825 */ or $t3, $t1, $t5 ## $t3 = 00000008
/* 00228 8099F878 AC6B0004 */ sw $t3, 0x0004($v1) ## 00000004
/* 0022C 8099F87C 8E2302D0 */ lw $v1, 0x02D0($s1) ## 000002D0
/* 00230 8099F880 3C18FB00 */ lui $t8, 0xFB00 ## $t8 = FB000000
/* 00234 8099F884 3C0ADB06 */ lui $t2, 0xDB06 ## $t2 = DB060000
/* 00238 8099F888 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008
/* 0023C 8099F88C AE2E02D0 */ sw $t6, 0x02D0($s1) ## 000002D0
/* 00240 8099F890 AC780000 */ sw $t8, 0x0000($v1) ## 00000000
/* 00244 8099F894 86190050 */ lh $t9, 0x0050($s0) ## 00000050
/* 00248 8099F898 860B004E */ lh $t3, 0x004E($s0) ## 0000004E
/* 0024C 8099F89C 860C004C */ lh $t4, 0x004C($s0) ## 0000004C
/* 00250 8099F8A0 332F00FF */ andi $t7, $t9, 0x00FF ## $t7 = 00000000
/* 00254 8099F8A4 000F4200 */ sll $t0, $t7, 8
/* 00258 8099F8A8 316E00FF */ andi $t6, $t3, 0x00FF ## $t6 = 00000008
/* 0025C 8099F8AC 000C4E00 */ sll $t1, $t4, 24
/* 00260 8099F8B0 01096825 */ or $t5, $t0, $t1 ## $t5 = 00000008
/* 00264 8099F8B4 000EC400 */ sll $t8, $t6, 16
/* 00268 8099F8B8 01B8C825 */ or $t9, $t5, $t8 ## $t9 = FB000008
/* 0026C 8099F8BC AC790004 */ sw $t9, 0x0004($v1) ## 00000004
/* 00270 8099F8C0 8E2302D0 */ lw $v1, 0x02D0($s1) ## 000002D0
/* 00274 8099F8C4 354A0020 */ ori $t2, $t2, 0x0020 ## $t2 = DB060020
/* 00278 8099F8C8 3C188016 */ lui $t8, %hi(gSegments)
/* 0027C 8099F8CC 246F0008 */ addiu $t7, $v1, 0x0008 ## $t7 = 00000008
/* 00280 8099F8D0 AE2F02D0 */ sw $t7, 0x02D0($s1) ## 000002D0
/* 00284 8099F8D4 AC6A0000 */ sw $t2, 0x0000($v1) ## 00000000
/* 00288 8099F8D8 860C0042 */ lh $t4, 0x0042($s0) ## 00000042
/* 0028C 8099F8DC 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 00290 8099F8E0 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 00294 8099F8E4 000C4080 */ sll $t0, $t4, 2
/* 00298 8099F8E8 00882021 */ addu $a0, $a0, $t0
/* 0029C 8099F8EC 8C84FEE0 */ lw $a0, %lo(D_8099FEE0)($a0)
/* 002A0 8099F8F0 3C0CDE00 */ lui $t4, 0xDE00 ## $t4 = DE000000
/* 002A4 8099F8F4 00045900 */ sll $t3, $a0, 4
/* 002A8 8099F8F8 000B7702 */ srl $t6, $t3, 28
/* 002AC 8099F8FC 000E6880 */ sll $t5, $t6, 2
/* 002B0 8099F900 030DC021 */ addu $t8, $t8, $t5
/* 002B4 8099F904 8F186FA8 */ lw $t8, %lo(gSegments)($t8)
/* 002B8 8099F908 00814824 */ and $t1, $a0, $at
/* 002BC 8099F90C 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 002C0 8099F910 0138C821 */ addu $t9, $t1, $t8
/* 002C4 8099F914 03217821 */ addu $t7, $t9, $at
/* 002C8 8099F918 AC6F0004 */ sw $t7, 0x0004($v1) ## 00000004
/* 002CC 8099F91C 8E2302D0 */ lw $v1, 0x02D0($s1) ## 000002D0
/* 002D0 8099F920 246A0008 */ addiu $t2, $v1, 0x0008 ## $t2 = 00000008
/* 002D4 8099F924 AE2A02D0 */ sw $t2, 0x02D0($s1) ## 000002D0
/* 002D8 8099F928 AC6C0000 */ sw $t4, 0x0000($v1) ## 00000000
/* 002DC 8099F92C 8E080038 */ lw $t0, 0x0038($s0) ## 00000038
/* 002E0 8099F930 AC680004 */ sw $t0, 0x0004($v1) ## 00000004
.L8099F934:
/* 002E4 8099F934 3C06809A */ lui $a2, %hi(D_8099FF34) ## $a2 = 809A0000
/* 002E8 8099F938 24C6FF34 */ addiu $a2, $a2, %lo(D_8099FF34) ## $a2 = 8099FF34
/* 002EC 8099F93C 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFEDC
/* 002F0 8099F940 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 002F4 8099F944 0C031AD5 */ jal Graph_CloseDisps
/* 002F8 8099F948 24070159 */ addiu $a3, $zero, 0x0159 ## $a3 = 00000159
/* 002FC 8099F94C 8FBF001C */ lw $ra, 0x001C($sp)
/* 00300 8099F950 8FB00014 */ lw $s0, 0x0014($sp)
/* 00304 8099F954 8FB10018 */ lw $s1, 0x0018($sp)
/* 00308 8099F958 03E00008 */ jr $ra
/* 0030C 8099F95C 27BD0160 */ addiu $sp, $sp, 0x0160 ## $sp = 00000000

View File

@ -1,249 +0,0 @@
.rdata
glabel D_8099FF48
.asciz "../z_eff_ss_bomb2.c"
.balign 4
glabel D_8099FF5C
.asciz "../z_eff_ss_bomb2.c"
.balign 4
glabel D_8099FF70
.asciz "../z_eff_ss_bomb2.c"
.balign 4
.late_rodata
glabel D_8099FF88
.float 0.925
glabel D_8099FF8C
.float 0.01
glabel D_8099FF90
.float 0.02
glabel D_8099FF94
.float 0.15
.text
glabel func_8099F960
/* 00310 8099F960 27BDFE08 */ addiu $sp, $sp, 0xFE08 ## $sp = FFFFFE08
/* 00314 8099F964 AFB40040 */ sw $s4, 0x0040($sp)
/* 00318 8099F968 AFBF004C */ sw $ra, 0x004C($sp)
/* 0031C 8099F96C AFB60048 */ sw $s6, 0x0048($sp)
/* 00320 8099F970 AFB50044 */ sw $s5, 0x0044($sp)
/* 00324 8099F974 AFB3003C */ sw $s3, 0x003C($sp)
/* 00328 8099F978 AFB20038 */ sw $s2, 0x0038($sp)
/* 0032C 8099F97C AFB10034 */ sw $s1, 0x0034($sp)
/* 00330 8099F980 AFB00030 */ sw $s0, 0x0030($sp)
/* 00334 8099F984 F7B80028 */ sdc1 $f24, 0x0028($sp)
/* 00338 8099F988 F7B60020 */ sdc1 $f22, 0x0020($sp)
/* 0033C 8099F98C F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 00340 8099F990 AFA501FC */ sw $a1, 0x01FC($sp)
/* 00344 8099F994 8C920000 */ lw $s2, 0x0000($a0) ## 00000000
/* 00348 8099F998 00C0A025 */ or $s4, $a2, $zero ## $s4 = 00000000
/* 0034C 8099F99C 0080B025 */ or $s6, $a0, $zero ## $s6 = 00000000
/* 00350 8099F9A0 3C01809A */ lui $at, %hi(D_8099FF88) ## $at = 809A0000
/* 00354 8099F9A4 3C06809A */ lui $a2, %hi(D_8099FF48) ## $a2 = 809A0000
/* 00358 8099F9A8 C436FF88 */ lwc1 $f22, %lo(D_8099FF88)($at)
/* 0035C 8099F9AC 24C6FF48 */ addiu $a2, $a2, %lo(D_8099FF48) ## $a2 = 8099FF48
/* 00360 8099F9B0 27A4007C */ addiu $a0, $sp, 0x007C ## $a0 = FFFFFE84
/* 00364 8099F9B4 24070182 */ addiu $a3, $zero, 0x0182 ## $a3 = 00000182
/* 00368 8099F9B8 0C031AB1 */ jal Graph_OpenDisps
/* 0036C 8099F9BC 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 00370 8099F9C0 868F0040 */ lh $t7, 0x0040($s4) ## 00000040
/* 00374 8099F9C4 868E0054 */ lh $t6, 0x0054($s4) ## 00000054
/* 00378 8099F9C8 3C01809A */ lui $at, %hi(D_8099FF8C) ## $at = 809A0000
/* 0037C 8099F9CC 448F9000 */ mtc1 $t7, $f18 ## $f18 = 0.00
/* 00380 8099F9D0 C430FF8C */ lwc1 $f16, %lo(D_8099FF8C)($at)
/* 00384 8099F9D4 448E7000 */ mtc1 $t6, $f14 ## $f14 = 0.00
/* 00388 8099F9D8 468094A0 */ cvt.s.w $f18, $f18
/* 0038C 8099F9DC 27B001B4 */ addiu $s0, $sp, 0x01B4 ## $s0 = FFFFFFBC
/* 00390 8099F9E0 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFBC
/* 00394 8099F9E4 8E850000 */ lw $a1, 0x0000($s4) ## 00000000
/* 00398 8099F9E8 8E860004 */ lw $a2, 0x0004($s4) ## 00000004
/* 0039C 8099F9EC 46807620 */ cvt.s.w $f24, $f14
/* 003A0 8099F9F0 46109502 */ mul.s $f20, $f18, $f16
/* 003A4 8099F9F4 0C029E89 */ jal func_800A7A24
/* 003A8 8099F9F8 8E870008 */ lw $a3, 0x0008($s4) ## 00000008
/* 003AC 8099F9FC 27B10174 */ addiu $s1, $sp, 0x0174 ## $s1 = FFFFFF7C
/* 003B0 8099FA00 4405A000 */ mfc1 $a1, $f20
/* 003B4 8099FA04 4406A000 */ mfc1 $a2, $f20
/* 003B8 8099FA08 02202025 */ or $a0, $s1, $zero ## $a0 = FFFFFF7C
/* 003BC 8099FA0C 0C029DA9 */ jal func_800A76A4
/* 003C0 8099FA10 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
/* 003C4 8099FA14 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 003C8 8099FA18 27B300F4 */ addiu $s3, $sp, 0x00F4 ## $s3 = FFFFFEFC
/* 003CC 8099FA1C 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0
/* 003D0 8099FA20 02C12821 */ addu $a1, $s6, $at
/* 003D4 8099FA24 02603025 */ or $a2, $s3, $zero ## $a2 = FFFFFEFC
/* 003D8 8099FA28 0C029BE8 */ jal func_800A6FA0
/* 003DC 8099FA2C 02002025 */ or $a0, $s0, $zero ## $a0 = FFFFFFBC
/* 003E0 8099FA30 27B00134 */ addiu $s0, $sp, 0x0134 ## $s0 = FFFFFF3C
/* 003E4 8099FA34 02003025 */ or $a2, $s0, $zero ## $a2 = FFFFFF3C
/* 003E8 8099FA38 02602025 */ or $a0, $s3, $zero ## $a0 = FFFFFEFC
/* 003EC 8099FA3C 0C029BE8 */ jal func_800A6FA0
/* 003F0 8099FA40 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFF7C
/* 003F4 8099FA44 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 003F8 8099FA48 0C029F9C */ jal func_800A7E70
/* 003FC 8099FA4C 02002825 */ or $a1, $s0, $zero ## $a1 = FFFFFF3C
/* 00400 8099FA50 1040008B */ beq $v0, $zero, .L8099FC80
/* 00404 8099FA54 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
/* 00408 8099FA58 8E4302D0 */ lw $v1, 0x02D0($s2) ## 000002D0
/* 0040C 8099FA5C 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003
/* 00410 8099FA60 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00414 8099FA64 24780008 */ addiu $t8, $v1, 0x0008 ## $t8 = 00000008
/* 00418 8099FA68 AE5802D0 */ sw $t8, 0x02D0($s2) ## 000002D0
/* 0041C 8099FA6C 02002825 */ or $a1, $s0, $zero ## $a1 = FFFFFF3C
/* 00420 8099FA70 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 00424 8099FA74 0C029F9C */ jal func_800A7E70
/* 00428 8099FA78 AC790000 */ sw $t9, 0x0000($v1) ## 00000000
/* 0042C 8099FA7C 10400080 */ beq $v0, $zero, .L8099FC80
/* 00430 8099FA80 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000
/* 00434 8099FA84 0C0252F1 */ jal func_80094BC4
/* 00438 8099FA88 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 0043C 8099FA8C 8E4302D0 */ lw $v1, 0x02D0($s2) ## 000002D0
/* 00440 8099FA90 3C09FA00 */ lui $t1, 0xFA00 ## $t1 = FA000000
/* 00444 8099FA94 3C04809A */ lui $a0, %hi(D_8099FF00) ## $a0 = 809A0000
/* 00448 8099FA98 24680008 */ addiu $t0, $v1, 0x0008 ## $t0 = 00000008
/* 0044C 8099FA9C AE4802D0 */ sw $t0, 0x02D0($s2) ## 000002D0
/* 00450 8099FAA0 AC690000 */ sw $t1, 0x0000($v1) ## 00000000
/* 00454 8099FAA4 868A004A */ lh $t2, 0x004A($s4) ## 0000004A
/* 00458 8099FAA8 86980046 */ lh $t8, 0x0046($s4) ## 00000046
/* 0045C 8099FAAC 868D0044 */ lh $t5, 0x0044($s4) ## 00000044
/* 00460 8099FAB0 314B00FF */ andi $t3, $t2, 0x00FF ## $t3 = 00000000
/* 00464 8099FAB4 868A0048 */ lh $t2, 0x0048($s4) ## 00000048
/* 00468 8099FAB8 331900FF */ andi $t9, $t8, 0x00FF ## $t9 = 00000000
/* 0046C 8099FABC 000D7600 */ sll $t6, $t5, 24
/* 00470 8099FAC0 016E7825 */ or $t7, $t3, $t6 ## $t7 = 00000000
/* 00474 8099FAC4 00194400 */ sll $t0, $t9, 16
/* 00478 8099FAC8 314C00FF */ andi $t4, $t2, 0x00FF ## $t4 = 00000000
/* 0047C 8099FACC 000C6A00 */ sll $t5, $t4, 8
/* 00480 8099FAD0 01E84825 */ or $t1, $t7, $t0 ## $t1 = 00000008
/* 00484 8099FAD4 012D5825 */ or $t3, $t1, $t5 ## $t3 = 00000008
/* 00488 8099FAD8 AC6B0004 */ sw $t3, 0x0004($v1) ## 00000004
/* 0048C 8099FADC 8E4302D0 */ lw $v1, 0x02D0($s2) ## 000002D0
/* 00490 8099FAE0 3C18FB00 */ lui $t8, 0xFB00 ## $t8 = FB000000
/* 00494 8099FAE4 3C0ADB06 */ lui $t2, 0xDB06 ## $t2 = DB060000
/* 00498 8099FAE8 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008
/* 0049C 8099FAEC AE4E02D0 */ sw $t6, 0x02D0($s2) ## 000002D0
/* 004A0 8099FAF0 AC780000 */ sw $t8, 0x0000($v1) ## 00000000
/* 004A4 8099FAF4 86990050 */ lh $t9, 0x0050($s4) ## 00000050
/* 004A8 8099FAF8 868B004E */ lh $t3, 0x004E($s4) ## 0000004E
/* 004AC 8099FAFC 868C004C */ lh $t4, 0x004C($s4) ## 0000004C
/* 004B0 8099FB00 332F00FF */ andi $t7, $t9, 0x00FF ## $t7 = 00000000
/* 004B4 8099FB04 000F4200 */ sll $t0, $t7, 8
/* 004B8 8099FB08 316E00FF */ andi $t6, $t3, 0x00FF ## $t6 = 00000008
/* 004BC 8099FB0C 000C4E00 */ sll $t1, $t4, 24
/* 004C0 8099FB10 01096825 */ or $t5, $t0, $t1 ## $t5 = 00000008
/* 004C4 8099FB14 000EC400 */ sll $t8, $t6, 16
/* 004C8 8099FB18 01B8C825 */ or $t9, $t5, $t8 ## $t9 = FB000008
/* 004CC 8099FB1C AC790004 */ sw $t9, 0x0004($v1) ## 00000004
/* 004D0 8099FB20 8E4302D0 */ lw $v1, 0x02D0($s2) ## 000002D0
/* 004D4 8099FB24 354A0020 */ ori $t2, $t2, 0x0020 ## $t2 = DB060020
/* 004D8 8099FB28 3C188016 */ lui $t8, %hi(gSegments)
/* 004DC 8099FB2C 246F0008 */ addiu $t7, $v1, 0x0008 ## $t7 = 00000008
/* 004E0 8099FB30 AE4F02D0 */ sw $t7, 0x02D0($s2) ## 000002D0
/* 004E4 8099FB34 AC6A0000 */ sw $t2, 0x0000($v1) ## 00000000
/* 004E8 8099FB38 868C0042 */ lh $t4, 0x0042($s4) ## 00000042
/* 004EC 8099FB3C 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 004F0 8099FB40 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 004F4 8099FB44 000C4080 */ sll $t0, $t4, 2
/* 004F8 8099FB48 00882021 */ addu $a0, $a0, $t0
/* 004FC 8099FB4C 8C84FF00 */ lw $a0, %lo(D_8099FF00)($a0)
/* 00500 8099FB50 3C0C0401 */ lui $t4, 0x0401 ## $t4 = 04010000
/* 00504 8099FB54 258CBFE8 */ addiu $t4, $t4, 0xBFE8 ## $t4 = 0400BFE8
/* 00508 8099FB58 00045900 */ sll $t3, $a0, 4
/* 0050C 8099FB5C 000B7702 */ srl $t6, $t3, 28
/* 00510 8099FB60 000E6880 */ sll $t5, $t6, 2
/* 00514 8099FB64 030DC021 */ addu $t8, $t8, $t5
/* 00518 8099FB68 8F186FA8 */ lw $t8, %lo(gSegments)($t8)
/* 0051C 8099FB6C 00814824 */ and $t1, $a0, $at
/* 00520 8099FB70 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00524 8099FB74 0138C821 */ addu $t9, $t1, $t8
/* 00528 8099FB78 03217821 */ addu $t7, $t9, $at
/* 0052C 8099FB7C AC6F0004 */ sw $t7, 0x0004($v1) ## 00000004
/* 00530 8099FB80 8E4302D0 */ lw $v1, 0x02D0($s2) ## 000002D0
/* 00534 8099FB84 3C15DE00 */ lui $s5, 0xDE00 ## $s5 = DE000000
/* 00538 8099FB88 3C130401 */ lui $s3, 0x0401 ## $s3 = 04010000
/* 0053C 8099FB8C 246A0008 */ addiu $t2, $v1, 0x0008 ## $t2 = 00000008
/* 00540 8099FB90 AE4A02D0 */ sw $t2, 0x02D0($s2) ## 000002D0
/* 00544 8099FB94 AC6C0004 */ sw $t4, 0x0004($v1) ## 00000004
/* 00548 8099FB98 AC750000 */ sw $s5, 0x0000($v1) ## 00000000
/* 0054C 8099FB9C 8E4302D0 */ lw $v1, 0x02D0($s2) ## 000002D0
/* 00550 8099FBA0 2673C040 */ addiu $s3, $s3, 0xC040 ## $s3 = 0400C040
/* 00554 8099FBA4 27B100B4 */ addiu $s1, $sp, 0x00B4 ## $s1 = FFFFFEBC
/* 00558 8099FBA8 24680008 */ addiu $t0, $v1, 0x0008 ## $t0 = 00000008
/* 0055C 8099FBAC AE4802D0 */ sw $t0, 0x02D0($s2) ## 000002D0
/* 00560 8099FBB0 02202825 */ or $a1, $s1, $zero ## $a1 = FFFFFEBC
/* 00564 8099FBB4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00568 8099FBB8 AC730004 */ sw $s3, 0x0004($v1) ## 00000004
/* 0056C 8099FBBC 0C03472B */ jal Matrix_MtxToMtxF
/* 00570 8099FBC0 AC750000 */ sw $s5, 0x0000($v1) ## 00000000
/* 00574 8099FBC4 0C03423F */ jal Matrix_Put
/* 00578 8099FBC8 02202025 */ or $a0, $s1, $zero ## $a0 = FFFFFEBC
/* 0057C 8099FBCC 4480A000 */ mtc1 $zero, $f20 ## $f20 = 0.00
/* 00580 8099FBD0 24110001 */ addiu $s1, $zero, 0x0001 ## $s1 = 00000001
.L8099FBD4:
/* 00584 8099FBD4 4406C000 */ mfc1 $a2, $f24
/* 00588 8099FBD8 4600A306 */ mov.s $f12, $f20
/* 0058C 8099FBDC 4600A386 */ mov.s $f14, $f20
/* 00590 8099FBE0 0C034261 */ jal Matrix_Translate
/* 00594 8099FBE4 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 00598 8099FBE8 868B005C */ lh $t3, 0x005C($s4) ## 0000005C
/* 0059C 8099FBEC 3C01809A */ lui $at, %hi(D_8099FF90) ## $at = 809A0000
/* 005A0 8099FBF0 C424FF90 */ lwc1 $f4, %lo(D_8099FF90)($at)
/* 005A4 8099FBF4 448B8000 */ mtc1 $t3, $f16 ## $f16 = 0.00
/* 005A8 8099FBF8 3C014334 */ lui $at, 0x4334 ## $at = 43340000
/* 005AC 8099FBFC 44814000 */ mtc1 $at, $f8 ## $f8 = 180.00
/* 005B0 8099FC00 468084A0 */ cvt.s.w $f18, $f16
/* 005B4 8099FC04 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 005B8 8099FC08 46049182 */ mul.s $f6, $f18, $f4
/* 005BC 8099FC0C 0C0343B5 */ jal Matrix_RotateZ
/* 005C0 8099FC10 46083300 */ add.s $f12, $f6, $f8
/* 005C4 8099FC14 4406B000 */ mfc1 $a2, $f22
/* 005C8 8099FC18 4600B306 */ mov.s $f12, $f22
/* 005CC 8099FC1C 4600B386 */ mov.s $f14, $f22
/* 005D0 8099FC20 0C0342A3 */ jal Matrix_Scale
/* 005D4 8099FC24 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 005D8 8099FC28 8E5002D0 */ lw $s0, 0x02D0($s2) ## 000002D0
/* 005DC 8099FC2C 3C0DDA38 */ lui $t5, 0xDA38 ## $t5 = DA380000
/* 005E0 8099FC30 35AD0003 */ ori $t5, $t5, 0x0003 ## $t5 = DA380003
/* 005E4 8099FC34 260E0008 */ addiu $t6, $s0, 0x0008 ## $t6 = 00000008
/* 005E8 8099FC38 AE4E02D0 */ sw $t6, 0x02D0($s2) ## 000002D0
/* 005EC 8099FC3C 3C05809A */ lui $a1, %hi(D_8099FF5C) ## $a1 = 809A0000
/* 005F0 8099FC40 AE0D0000 */ sw $t5, 0x0000($s0) ## 00000000
/* 005F4 8099FC44 8EC40000 */ lw $a0, 0x0000($s6) ## 00000000
/* 005F8 8099FC48 24A5FF5C */ addiu $a1, $a1, %lo(D_8099FF5C) ## $a1 = 8099FF5C
/* 005FC 8099FC4C 0C0346A2 */ jal Matrix_NewMtx
/* 00600 8099FC50 240601C0 */ addiu $a2, $zero, 0x01C0 ## $a2 = 000001C0
/* 00604 8099FC54 AE020004 */ sw $v0, 0x0004($s0) ## 00000004
/* 00608 8099FC58 8E4302D0 */ lw $v1, 0x02D0($s2) ## 000002D0
/* 0060C 8099FC5C 3C01809A */ lui $at, %hi(D_8099FF94) ## $at = 809A0000
/* 00610 8099FC60 2631FFFF */ addiu $s1, $s1, 0xFFFF ## $s1 = 00000000
/* 00614 8099FC64 24690008 */ addiu $t1, $v1, 0x0008 ## $t1 = 00000008
/* 00618 8099FC68 AE4902D0 */ sw $t1, 0x02D0($s2) ## 000002D0
/* 0061C 8099FC6C AC730004 */ sw $s3, 0x0004($v1) ## 00000004
/* 00620 8099FC70 AC750000 */ sw $s5, 0x0000($v1) ## 00000000
/* 00624 8099FC74 C42AFF94 */ lwc1 $f10, %lo(D_8099FF94)($at)
/* 00628 8099FC78 0621FFD6 */ bgez $s1, .L8099FBD4
/* 0062C 8099FC7C 460AB581 */ sub.s $f22, $f22, $f10
.L8099FC80:
/* 00630 8099FC80 3C06809A */ lui $a2, %hi(D_8099FF70) ## $a2 = 809A0000
/* 00634 8099FC84 24C6FF70 */ addiu $a2, $a2, %lo(D_8099FF70) ## $a2 = 8099FF70
/* 00638 8099FC88 27A4007C */ addiu $a0, $sp, 0x007C ## $a0 = FFFFFE84
/* 0063C 8099FC8C 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 00640 8099FC90 0C031AD5 */ jal Graph_CloseDisps
/* 00644 8099FC94 240701C8 */ addiu $a3, $zero, 0x01C8 ## $a3 = 000001C8
/* 00648 8099FC98 8FBF004C */ lw $ra, 0x004C($sp)
/* 0064C 8099FC9C D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 00650 8099FCA0 D7B60020 */ ldc1 $f22, 0x0020($sp)
/* 00654 8099FCA4 D7B80028 */ ldc1 $f24, 0x0028($sp)
/* 00658 8099FCA8 8FB00030 */ lw $s0, 0x0030($sp)
/* 0065C 8099FCAC 8FB10034 */ lw $s1, 0x0034($sp)
/* 00660 8099FCB0 8FB20038 */ lw $s2, 0x0038($sp)
/* 00664 8099FCB4 8FB3003C */ lw $s3, 0x003C($sp)
/* 00668 8099FCB8 8FB40040 */ lw $s4, 0x0040($sp)
/* 0066C 8099FCBC 8FB50044 */ lw $s5, 0x0044($sp)
/* 00670 8099FCC0 8FB60048 */ lw $s6, 0x0048($sp)
/* 00674 8099FCC4 03E00008 */ jr $ra
/* 00678 8099FCC8 27BD01F8 */ addiu $sp, $sp, 0x01F8 ## $sp = 00000000

View File

@ -1,135 +0,0 @@
glabel func_8099FCCC
/* 0067C 8099FCCC 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00680 8099FCD0 AFBF001C */ sw $ra, 0x001C($sp)
/* 00684 8099FCD4 AFB10018 */ sw $s1, 0x0018($sp)
/* 00688 8099FCD8 AFB00014 */ sw $s0, 0x0014($sp)
/* 0068C 8099FCDC AFA40020 */ sw $a0, 0x0020($sp)
/* 00690 8099FCE0 AFA50024 */ sw $a1, 0x0024($sp)
/* 00694 8099FCE4 84CE005C */ lh $t6, 0x005C($a2) ## 0000005C
/* 00698 8099FCE8 240F0017 */ addiu $t7, $zero, 0x0017 ## $t7 = 00000017
/* 0069C 8099FCEC 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 006A0 8099FCF0 01EEC023 */ subu $t8, $t7, $t6
/* 006A4 8099FCF4 0301001A */ div $zero, $t8, $at
/* 006A8 8099FCF8 84C80040 */ lh $t0, 0x0040($a2) ## 00000040
/* 006AC 8099FCFC 84C20052 */ lh $v0, 0x0052($a2) ## 00000052
/* 006B0 8099FD00 0000C812 */ mflo $t9
/* 006B4 8099FD04 2401001E */ addiu $at, $zero, 0x001E ## $at = 0000001E
/* 006B8 8099FD08 01024821 */ addu $t1, $t0, $v0
/* 006BC 8099FD0C 00C08025 */ or $s0, $a2, $zero ## $s0 = 00000000
/* 006C0 8099FD10 A4D90042 */ sh $t9, 0x0042($a2) ## 00000042
/* 006C4 8099FD14 1441000C */ bne $v0, $at, .L8099FD48
/* 006C8 8099FD18 A4C90040 */ sh $t1, 0x0040($a2) ## 00000040
/* 006CC 8099FD1C 84CA0054 */ lh $t2, 0x0054($a2) ## 00000054
/* 006D0 8099FD20 3C014080 */ lui $at, 0x4080 ## $at = 40800000
/* 006D4 8099FD24 44814000 */ mtc1 $at, $f8 ## $f8 = 4.00
/* 006D8 8099FD28 448A2000 */ mtc1 $t2, $f4 ## $f4 = 0.00
/* 006DC 8099FD2C 00000000 */ nop
/* 006E0 8099FD30 468021A0 */ cvt.s.w $f6, $f4
/* 006E4 8099FD34 46083280 */ add.s $f10, $f6, $f8
/* 006E8 8099FD38 4600540D */ trunc.w.s $f16, $f10
/* 006EC 8099FD3C 440C8000 */ mfc1 $t4, $f16
/* 006F0 8099FD40 1000000C */ beq $zero, $zero, .L8099FD74
/* 006F4 8099FD44 A4CC0054 */ sh $t4, 0x0054($a2) ## 00000054
.L8099FD48:
/* 006F8 8099FD48 860D0054 */ lh $t5, 0x0054($s0) ## 00000054
/* 006FC 8099FD4C 3C014000 */ lui $at, 0x4000 ## $at = 40000000
/* 00700 8099FD50 44813000 */ mtc1 $at, $f6 ## $f6 = 2.00
/* 00704 8099FD54 448D9000 */ mtc1 $t5, $f18 ## $f18 = 0.00
/* 00708 8099FD58 00000000 */ nop
/* 0070C 8099FD5C 46809120 */ cvt.s.w $f4, $f18
/* 00710 8099FD60 46062200 */ add.s $f8, $f4, $f6
/* 00714 8099FD64 4600428D */ trunc.w.s $f10, $f8
/* 00718 8099FD68 440E5000 */ mfc1 $t6, $f10
/* 0071C 8099FD6C 00000000 */ nop
/* 00720 8099FD70 A60E0054 */ sh $t6, 0x0054($s0) ## 00000054
.L8099FD74:
/* 00724 8099FD74 8602005C */ lh $v0, 0x005C($s0) ## 0000005C
/* 00728 8099FD78 28410017 */ slti $at, $v0, 0x0017
/* 0072C 8099FD7C 10200027 */ beq $at, $zero, .L8099FE1C
/* 00730 8099FD80 2841000E */ slti $at, $v0, 0x000E
/* 00734 8099FD84 14200025 */ bne $at, $zero, .L8099FE1C
/* 00738 8099FD88 2451FFF3 */ addiu $s1, $v0, 0xFFF3 ## $s1 = FFFFFFF3
/* 0073C 8099FD8C 86040044 */ lh $a0, 0x0044($s0) ## 00000044
/* 00740 8099FD90 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF
/* 00744 8099FD94 0C009F75 */ jal func_80027DD4
/* 00748 8099FD98 02203025 */ or $a2, $s1, $zero ## $a2 = FFFFFFF3
/* 0074C 8099FD9C A6020044 */ sh $v0, 0x0044($s0) ## 00000044
/* 00750 8099FDA0 86040046 */ lh $a0, 0x0046($s0) ## 00000046
/* 00754 8099FDA4 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF
/* 00758 8099FDA8 0C009F75 */ jal func_80027DD4
/* 0075C 8099FDAC 02203025 */ or $a2, $s1, $zero ## $a2 = FFFFFFF3
/* 00760 8099FDB0 A6020046 */ sh $v0, 0x0046($s0) ## 00000046
/* 00764 8099FDB4 86040048 */ lh $a0, 0x0048($s0) ## 00000048
/* 00768 8099FDB8 24050096 */ addiu $a1, $zero, 0x0096 ## $a1 = 00000096
/* 0076C 8099FDBC 0C009F75 */ jal func_80027DD4
/* 00770 8099FDC0 02203025 */ or $a2, $s1, $zero ## $a2 = FFFFFFF3
/* 00774 8099FDC4 A6020048 */ sh $v0, 0x0048($s0) ## 00000048
/* 00778 8099FDC8 8604004A */ lh $a0, 0x004A($s0) ## 0000004A
/* 0077C 8099FDCC 240500FF */ addiu $a1, $zero, 0x00FF ## $a1 = 000000FF
/* 00780 8099FDD0 0C009F75 */ jal func_80027DD4
/* 00784 8099FDD4 02203025 */ or $a2, $s1, $zero ## $a2 = FFFFFFF3
/* 00788 8099FDD8 A602004A */ sh $v0, 0x004A($s0) ## 0000004A
/* 0078C 8099FDDC 8604004C */ lh $a0, 0x004C($s0) ## 0000004C
/* 00790 8099FDE0 24050096 */ addiu $a1, $zero, 0x0096 ## $a1 = 00000096
/* 00794 8099FDE4 0C009F75 */ jal func_80027DD4
/* 00798 8099FDE8 02203025 */ or $a2, $s1, $zero ## $a2 = FFFFFFF3
/* 0079C 8099FDEC A602004C */ sh $v0, 0x004C($s0) ## 0000004C
/* 007A0 8099FDF0 8604004E */ lh $a0, 0x004E($s0) ## 0000004E
/* 007A4 8099FDF4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 007A8 8099FDF8 0C009F75 */ jal func_80027DD4
/* 007AC 8099FDFC 02203025 */ or $a2, $s1, $zero ## $a2 = FFFFFFF3
/* 007B0 8099FE00 A602004E */ sh $v0, 0x004E($s0) ## 0000004E
/* 007B4 8099FE04 86040050 */ lh $a0, 0x0050($s0) ## 00000050
/* 007B8 8099FE08 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 007BC 8099FE0C 0C009F75 */ jal func_80027DD4
/* 007C0 8099FE10 02203025 */ or $a2, $s1, $zero ## $a2 = FFFFFFF3
/* 007C4 8099FE14 10000029 */ beq $zero, $zero, .L8099FEBC
/* 007C8 8099FE18 A6020050 */ sh $v0, 0x0050($s0) ## 00000050
.L8099FE1C:
/* 007CC 8099FE1C 2841000E */ slti $at, $v0, 0x000E
/* 007D0 8099FE20 50200027 */ beql $at, $zero, .L8099FEC0
/* 007D4 8099FE24 8FBF001C */ lw $ra, 0x001C($sp)
/* 007D8 8099FE28 04400024 */ bltz $v0, .L8099FEBC
/* 007DC 8099FE2C 24510001 */ addiu $s1, $v0, 0x0001 ## $s1 = 00000001
/* 007E0 8099FE30 86040044 */ lh $a0, 0x0044($s0) ## 00000044
/* 007E4 8099FE34 24050032 */ addiu $a1, $zero, 0x0032 ## $a1 = 00000032
/* 007E8 8099FE38 0C009F75 */ jal func_80027DD4
/* 007EC 8099FE3C 02203025 */ or $a2, $s1, $zero ## $a2 = 00000001
/* 007F0 8099FE40 A6020044 */ sh $v0, 0x0044($s0) ## 00000044
/* 007F4 8099FE44 86040046 */ lh $a0, 0x0046($s0) ## 00000046
/* 007F8 8099FE48 24050032 */ addiu $a1, $zero, 0x0032 ## $a1 = 00000032
/* 007FC 8099FE4C 0C009F75 */ jal func_80027DD4
/* 00800 8099FE50 02203025 */ or $a2, $s1, $zero ## $a2 = 00000001
/* 00804 8099FE54 A6020046 */ sh $v0, 0x0046($s0) ## 00000046
/* 00808 8099FE58 86040048 */ lh $a0, 0x0048($s0) ## 00000048
/* 0080C 8099FE5C 24050032 */ addiu $a1, $zero, 0x0032 ## $a1 = 00000032
/* 00810 8099FE60 0C009F75 */ jal func_80027DD4
/* 00814 8099FE64 02203025 */ or $a2, $s1, $zero ## $a2 = 00000001
/* 00818 8099FE68 A6020048 */ sh $v0, 0x0048($s0) ## 00000048
/* 0081C 8099FE6C 8604004A */ lh $a0, 0x004A($s0) ## 0000004A
/* 00820 8099FE70 24050096 */ addiu $a1, $zero, 0x0096 ## $a1 = 00000096
/* 00824 8099FE74 0C009F75 */ jal func_80027DD4
/* 00828 8099FE78 02203025 */ or $a2, $s1, $zero ## $a2 = 00000001
/* 0082C 8099FE7C A602004A */ sh $v0, 0x004A($s0) ## 0000004A
/* 00830 8099FE80 8604004C */ lh $a0, 0x004C($s0) ## 0000004C
/* 00834 8099FE84 2405000A */ addiu $a1, $zero, 0x000A ## $a1 = 0000000A
/* 00838 8099FE88 0C009F75 */ jal func_80027DD4
/* 0083C 8099FE8C 02203025 */ or $a2, $s1, $zero ## $a2 = 00000001
/* 00840 8099FE90 A602004C */ sh $v0, 0x004C($s0) ## 0000004C
/* 00844 8099FE94 8604004E */ lh $a0, 0x004E($s0) ## 0000004E
/* 00848 8099FE98 2405000A */ addiu $a1, $zero, 0x000A ## $a1 = 0000000A
/* 0084C 8099FE9C 0C009F75 */ jal func_80027DD4
/* 00850 8099FEA0 02203025 */ or $a2, $s1, $zero ## $a2 = 00000001
/* 00854 8099FEA4 A602004E */ sh $v0, 0x004E($s0) ## 0000004E
/* 00858 8099FEA8 86040050 */ lh $a0, 0x0050($s0) ## 00000050
/* 0085C 8099FEAC 2405000A */ addiu $a1, $zero, 0x000A ## $a1 = 0000000A
/* 00860 8099FEB0 0C009F75 */ jal func_80027DD4
/* 00864 8099FEB4 02203025 */ or $a2, $s1, $zero ## $a2 = 00000001
/* 00868 8099FEB8 A6020050 */ sh $v0, 0x0050($s0) ## 00000050
.L8099FEBC:
/* 0086C 8099FEBC 8FBF001C */ lw $ra, 0x001C($sp)
.L8099FEC0:
/* 00870 8099FEC0 8FB00014 */ lw $s0, 0x0014($sp)
/* 00874 8099FEC4 8FB10018 */ lw $s1, 0x0018($sp)
/* 00878 8099FEC8 03E00008 */ jr $ra
/* 0087C 8099FECC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000

View File

@ -1,49 +0,0 @@
.late_rodata
glabel D_809A1C60
.word 0xA5B3A5F3, 0xA5B9A5C8, 0xA5E9A5AF, 0xA5BFA1BC, 0x330A0000, 0x00000000, 0x00000000, 0x00000000
.text
glabel EffectSsDeadSound_Init
/* 000000 809A1B30 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 000004 809A1B34 AFBF0014 */ sw $ra, 0x14($sp)
/* 000008 809A1B38 AFA40018 */ sw $a0, 0x18($sp)
/* 00000C 809A1B3C AFA5001C */ sw $a1, 0x1c($sp)
/* 000010 809A1B40 8CEF0000 */ lw $t7, ($a3)
/* 000014 809A1B44 240A0002 */ li $t2, 2
/* 000018 809A1B48 3C0C809A */ lui $t4, %hi(func_809A1BD8) # $t4, 0x809a
/* 00001C 809A1B4C ACCF0000 */ sw $t7, ($a2)
/* 000020 809A1B50 8CEE0004 */ lw $t6, 4($a3)
/* 000024 809A1B54 258C1BD8 */ addiu $t4, %lo(func_809A1BD8) # addiu $t4, $t4, 0x1bd8
/* 000028 809A1B58 3C04809A */ lui $a0, %hi(D_809A1C60) # $a0, 0x809a
/* 00002C 809A1B5C ACCE0004 */ sw $t6, 4($a2)
/* 000030 809A1B60 8CEF0008 */ lw $t7, 8($a3)
/* 000034 809A1B64 24841C60 */ addiu $a0, %lo(D_809A1C60) # addiu $a0, $a0, 0x1c60
/* 000038 809A1B68 ACCF0008 */ sw $t7, 8($a2)
/* 00003C 809A1B6C 8CF9000C */ lw $t9, 0xc($a3)
/* 000040 809A1B70 ACD9000C */ sw $t9, 0xc($a2)
/* 000044 809A1B74 8CF80010 */ lw $t8, 0x10($a3)
/* 000048 809A1B78 ACD80010 */ sw $t8, 0x10($a2)
/* 00004C 809A1B7C 8CF90014 */ lw $t9, 0x14($a3)
/* 000050 809A1B80 ACD90014 */ sw $t9, 0x14($a2)
/* 000054 809A1B84 8CE90018 */ lw $t1, 0x18($a3)
/* 000058 809A1B88 ACC90018 */ sw $t1, 0x18($a2)
/* 00005C 809A1B8C 8CE8001C */ lw $t0, 0x1c($a3)
/* 000060 809A1B90 ACC8001C */ sw $t0, 0x1c($a2)
/* 000064 809A1B94 8CE90020 */ lw $t1, 0x20($a3)
/* 000068 809A1B98 A4CA005A */ sh $t2, 0x5a($a2)
/* 00006C 809A1B9C ACC90020 */ sw $t1, 0x20($a2)
/* 000070 809A1BA0 8CEB002C */ lw $t3, 0x2c($a3)
/* 000074 809A1BA4 ACC00028 */ sw $zero, 0x28($a2)
/* 000078 809A1BA8 ACCC0024 */ sw $t4, 0x24($a2)
/* 00007C 809A1BAC A4CB005C */ sh $t3, 0x5c($a2)
/* 000080 809A1BB0 84ED0028 */ lh $t5, 0x28($a3)
/* 000084 809A1BB4 A4CD0056 */ sh $t5, 0x56($a2)
/* 000088 809A1BB8 94EE0024 */ lhu $t6, 0x24($a3)
/* 00008C 809A1BBC 0C00084C */ jal osSyncPrintf
/* 000090 809A1BC0 A4CE0054 */ sh $t6, 0x54($a2)
/* 000094 809A1BC4 8FBF0014 */ lw $ra, 0x14($sp)
/* 000098 809A1BC8 27BD0018 */ addiu $sp, $sp, 0x18
/* 00009C 809A1BCC 24020001 */ li $v0, 1
/* 0000A0 809A1BD0 03E00008 */ jr $ra
/* 0000A4 809A1BD4 00000000 */ nop

View File

@ -1,34 +0,0 @@
glabel func_809A1BD8
/* 0000A8 809A1BD8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0000AC 809A1BDC AFBF001C */ sw $ra, 0x1c($sp)
/* 0000B0 809A1BE0 AFA40020 */ sw $a0, 0x20($sp)
/* 0000B4 809A1BE4 AFA50024 */ sw $a1, 0x24($sp)
/* 0000B8 809A1BE8 84C30056 */ lh $v1, 0x56($a2)
/* 0000BC 809A1BEC 24010001 */ li $at, 1
/* 0000C0 809A1BF0 00C02825 */ move $a1, $a2
/* 0000C4 809A1BF4 10610006 */ beq $v1, $at, .L809A1C10
/* 0000C8 809A1BF8 00601025 */ move $v0, $v1
/* 0000CC 809A1BFC 24010002 */ li $at, 2
/* 0000D0 809A1C00 10410005 */ beq $v0, $at, .L809A1C18
/* 0000D4 809A1C04 00000000 */ nop
/* 0000D8 809A1C08 1000000D */ b .L809A1C40
/* 0000DC 809A1C0C 8FBF001C */ lw $ra, 0x1c($sp)
.L809A1C10:
/* 0000E0 809A1C10 246EFFFF */ addiu $t6, $v1, -1
/* 0000E4 809A1C14 A4AE0056 */ sh $t6, 0x56($a1)
.L809A1C18:
/* 0000E8 809A1C18 3C078013 */ lui $a3, %hi(D_801333E0) # $a3, 0x8013
/* 0000EC 809A1C1C 3C0F8013 */ lui $t7, %hi(D_801333E8) # $t7, 0x8013
/* 0000F0 809A1C20 24E733E0 */ addiu $a3, %lo(D_801333E0) # addiu $a3, $a3, 0x33e0
/* 0000F4 809A1C24 25EF33E8 */ addiu $t7, %lo(D_801333E8) # addiu $t7, $t7, 0x33e8
/* 0000F8 809A1C28 94A40054 */ lhu $a0, 0x54($a1)
/* 0000FC 809A1C2C AFAF0014 */ sw $t7, 0x14($sp)
/* 000100 809A1C30 AFA70010 */ sw $a3, 0x10($sp)
/* 000104 809A1C34 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 000108 809A1C38 24060004 */ li $a2, 4
/* 00010C 809A1C3C 8FBF001C */ lw $ra, 0x1c($sp)
.L809A1C40:
/* 000110 809A1C40 27BD0020 */ addiu $sp, $sp, 0x20
/* 000114 809A1C44 03E00008 */ jr $ra
/* 000118 809A1C48 00000000 */ nop
/* 00011C 809A1C4C 00000000 */ nop

View File

@ -1,98 +0,0 @@
glabel EffectSsGSpk_Init
/* 00000 809A6F30 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00004 809A6F34 AFBF001C */ sw $ra, 0x001C($sp)
/* 00008 809A6F38 AFB10018 */ sw $s1, 0x0018($sp)
/* 0000C 809A6F3C AFB00014 */ sw $s0, 0x0014($sp)
/* 00010 809A6F40 AFA40020 */ sw $a0, 0x0020($sp)
/* 00014 809A6F44 AFA50024 */ sw $a1, 0x0024($sp)
/* 00018 809A6F48 00C08025 */ or $s0, $a2, $zero ## $s0 = 00000000
/* 0001C 809A6F4C 00E08825 */ or $s1, $a3, $zero ## $s1 = 00000000
/* 00020 809A6F50 24E50004 */ addiu $a1, $a3, 0x0004 ## $a1 = 00000004
/* 00024 809A6F54 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 00028 809A6F58 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 0002C 809A6F5C 2604000C */ addiu $a0, $s0, 0x000C ## $a0 = 0000000C
/* 00030 809A6F60 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 00034 809A6F64 26250010 */ addiu $a1, $s1, 0x0010 ## $a1 = 00000010
/* 00038 809A6F68 26040018 */ addiu $a0, $s0, 0x0018 ## $a0 = 00000018
/* 0003C 809A6F6C 0C01DF90 */ jal Math_Vec3f_Copy
## Vec3f_Copy
/* 00040 809A6F70 2625001C */ addiu $a1, $s1, 0x001C ## $a1 = 0000001C
/* 00044 809A6F74 3C020402 */ lui $v0, 0x0402 ## $v0 = 04020000
/* 00048 809A6F78 24425550 */ addiu $v0, $v0, 0x5550 ## $v0 = 04025550
/* 0004C 809A6F7C 00027100 */ sll $t6, $v0, 4
/* 00050 809A6F80 000E7F02 */ srl $t7, $t6, 28
/* 00054 809A6F84 000FC080 */ sll $t8, $t7, 2
/* 00058 809A6F88 3C198016 */ lui $t9, %hi(gSegments)
/* 0005C 809A6F8C 0338C821 */ addu $t9, $t9, $t8
/* 00060 809A6F90 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 00064 809A6F94 8F396FA8 */ lw $t9, %lo(gSegments)($t9)
/* 00068 809A6F98 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 0006C 809A6F9C 00414024 */ and $t0, $v0, $at
/* 00070 809A6FA0 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00074 809A6FA4 03284821 */ addu $t1, $t9, $t0
/* 00078 809A6FA8 01215021 */ addu $t2, $t1, $at
/* 0007C 809A6FAC AE0A0038 */ sw $t2, 0x0038($s0) ## 00000038
/* 00080 809A6FB0 922B0034 */ lbu $t3, 0x0034($s1) ## 00000034
/* 00084 809A6FB4 3C09809A */ lui $t1, %hi(func_809A70A0) ## $t1 = 809A0000
/* 00088 809A6FB8 24190005 */ addiu $t9, $zero, 0x0005 ## $t9 = 00000005
/* 0008C 809A6FBC 15600016 */ bne $t3, $zero, .L809A7018
/* 00090 809A6FC0 252970A0 */ addiu $t1, $t1, %lo(func_809A70A0) ## $t1 = 809A70A0
/* 00094 809A6FC4 240C000A */ addiu $t4, $zero, 0x000A ## $t4 = 0000000A
/* 00098 809A6FC8 A60C005C */ sh $t4, 0x005C($s0) ## 0000005C
/* 0009C 809A6FCC 8E2D0000 */ lw $t5, 0x0000($s1) ## 00000000
/* 000A0 809A6FD0 C6240004 */ lwc1 $f4, 0x0004($s1) ## 00000004
/* 000A4 809A6FD4 3C18809A */ lui $t8, %hi(func_809A72C0) ## $t8 = 809A0000
/* 000A8 809A6FD8 C5A60024 */ lwc1 $f6, 0x0024($t5) ## 00000024
/* 000AC 809A6FDC 271872C0 */ addiu $t8, $t8, %lo(func_809A72C0) ## $t8 = 809A72C0
/* 000B0 809A6FE0 46062201 */ sub.s $f8, $f4, $f6
/* 000B4 809A6FE4 E608002C */ swc1 $f8, 0x002C($s0) ## 0000002C
/* 000B8 809A6FE8 8E2E0000 */ lw $t6, 0x0000($s1) ## 00000000
/* 000BC 809A6FEC C62A0008 */ lwc1 $f10, 0x0008($s1) ## 00000008
/* 000C0 809A6FF0 C5D00028 */ lwc1 $f16, 0x0028($t6) ## 00000028
/* 000C4 809A6FF4 46105481 */ sub.s $f18, $f10, $f16
/* 000C8 809A6FF8 E6120030 */ swc1 $f18, 0x0030($s0) ## 00000030
/* 000CC 809A6FFC 8E2F0000 */ lw $t7, 0x0000($s1) ## 00000000
/* 000D0 809A7000 C624000C */ lwc1 $f4, 0x000C($s1) ## 0000000C
/* 000D4 809A7004 C5E6002C */ lwc1 $f6, 0x002C($t7) ## 0000002C
/* 000D8 809A7008 AE180024 */ sw $t8, 0x0024($s0) ## 00000024
/* 000DC 809A700C 46062201 */ sub.s $f8, $f4, $f6
/* 000E0 809A7010 10000005 */ beq $zero, $zero, .L809A7028
/* 000E4 809A7014 E6080034 */ swc1 $f8, 0x0034($s0) ## 00000034
.L809A7018:
/* 000E8 809A7018 3C08809A */ lui $t0, %hi(func_809A73C8) ## $t0 = 809A0000
/* 000EC 809A701C 250873C8 */ addiu $t0, $t0, %lo(func_809A73C8) ## $t0 = 809A73C8
/* 000F0 809A7020 A619005C */ sh $t9, 0x005C($s0) ## 0000005C
/* 000F4 809A7024 AE080024 */ sw $t0, 0x0024($s0) ## 00000024
.L809A7028:
/* 000F8 809A7028 AE090028 */ sw $t1, 0x0028($s0) ## 00000028
/* 000FC 809A702C 922A0028 */ lbu $t2, 0x0028($s1) ## 00000028
/* 00100 809A7030 24020001 */ addiu $v0, $zero, 0x0001 ## $v0 = 00000001
/* 00104 809A7034 A60A0040 */ sh $t2, 0x0040($s0) ## 00000040
/* 00108 809A7038 922B0029 */ lbu $t3, 0x0029($s1) ## 00000029
/* 0010C 809A703C A60B0042 */ sh $t3, 0x0042($s0) ## 00000042
/* 00110 809A7040 922C002A */ lbu $t4, 0x002A($s1) ## 0000002A
/* 00114 809A7044 A60C0044 */ sh $t4, 0x0044($s0) ## 00000044
/* 00118 809A7048 922D002B */ lbu $t5, 0x002B($s1) ## 0000002B
/* 0011C 809A704C A60D0046 */ sh $t5, 0x0046($s0) ## 00000046
/* 00120 809A7050 922E002C */ lbu $t6, 0x002C($s1) ## 0000002C
/* 00124 809A7054 A60E0048 */ sh $t6, 0x0048($s0) ## 00000048
/* 00128 809A7058 922F002D */ lbu $t7, 0x002D($s1) ## 0000002D
/* 0012C 809A705C A60F004A */ sh $t7, 0x004A($s0) ## 0000004A
/* 00130 809A7060 9238002E */ lbu $t8, 0x002E($s1) ## 0000002E
/* 00134 809A7064 A618004C */ sh $t8, 0x004C($s0) ## 0000004C
/* 00138 809A7068 9239002F */ lbu $t9, 0x002F($s1) ## 0000002F
/* 0013C 809A706C A6000050 */ sh $zero, 0x0050($s0) ## 00000050
/* 00140 809A7070 A619004E */ sh $t9, 0x004E($s0) ## 0000004E
/* 00144 809A7074 86280030 */ lh $t0, 0x0030($s1) ## 00000030
/* 00148 809A7078 A6080052 */ sh $t0, 0x0052($s0) ## 00000052
/* 0014C 809A707C 86290032 */ lh $t1, 0x0032($s1) ## 00000032
/* 00150 809A7080 A6090054 */ sh $t1, 0x0054($s0) ## 00000054
/* 00154 809A7084 8E2A0000 */ lw $t2, 0x0000($s1) ## 00000000
/* 00158 809A7088 AE0A003C */ sw $t2, 0x003C($s0) ## 0000003C
/* 0015C 809A708C 8FBF001C */ lw $ra, 0x001C($sp)
/* 00160 809A7090 8FB10018 */ lw $s1, 0x0018($sp)
/* 00164 809A7094 8FB00014 */ lw $s0, 0x0014($sp)
/* 00168 809A7098 03E00008 */ jr $ra
/* 0016C 809A709C 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000

View File

@ -1,152 +0,0 @@
.rdata
glabel D_809A74B0
.asciz "../z_eff_ss_g_spk.c"
.balign 4
glabel D_809A74C4
.asciz "../z_eff_ss_g_spk.c"
.balign 4
.late_rodata
glabel D_809A74D8
.float 0.0025
.text
glabel func_809A70A0
/* 00170 809A70A0 27BDFEA0 */ addiu $sp, $sp, 0xFEA0 ## $sp = FFFFFEA0
/* 00174 809A70A4 AFB00014 */ sw $s0, 0x0014($sp)
/* 00178 809A70A8 AFBF001C */ sw $ra, 0x001C($sp)
/* 0017C 809A70AC AFB10018 */ sw $s1, 0x0018($sp)
/* 00180 809A70B0 AFA40160 */ sw $a0, 0x0160($sp)
/* 00184 809A70B4 AFA50164 */ sw $a1, 0x0164($sp)
/* 00188 809A70B8 8C910000 */ lw $s1, 0x0000($a0) ## 00000000
/* 0018C 809A70BC 00C08025 */ or $s0, $a2, $zero ## $s0 = 00000000
/* 00190 809A70C0 3C06809A */ lui $a2, %hi(D_809A74B0) ## $a2 = 809A0000
/* 00194 809A70C4 24C674B0 */ addiu $a2, $a2, %lo(D_809A74B0) ## $a2 = 809A74B0
/* 00198 809A70C8 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFEDC
/* 0019C 809A70CC 240700D0 */ addiu $a3, $zero, 0x00D0 ## $a3 = 000000D0
/* 001A0 809A70D0 0C031AB1 */ jal Graph_OpenDisps
/* 001A4 809A70D4 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 001A8 809A70D8 860F0052 */ lh $t7, 0x0052($s0) ## 00000052
/* 001AC 809A70DC 3C01809A */ lui $at, %hi(D_809A74D8) ## $at = 809A0000
/* 001B0 809A70E0 C42874D8 */ lwc1 $f8, %lo(D_809A74D8)($at)
/* 001B4 809A70E4 448F2000 */ mtc1 $t7, $f4 ## $f4 = 0.00
/* 001B8 809A70E8 8E050000 */ lw $a1, 0x0000($s0) ## 00000000
/* 001BC 809A70EC 8E060004 */ lw $a2, 0x0004($s0) ## 00000004
/* 001C0 809A70F0 468021A0 */ cvt.s.w $f6, $f4
/* 001C4 809A70F4 8E070008 */ lw $a3, 0x0008($s0) ## 00000008
/* 001C8 809A70F8 27A4011C */ addiu $a0, $sp, 0x011C ## $a0 = FFFFFFBC
/* 001CC 809A70FC 46083002 */ mul.s $f0, $f6, $f8
/* 001D0 809A7100 0C029E89 */ jal func_800A7A24
/* 001D4 809A7104 E7A00054 */ swc1 $f0, 0x0054($sp)
/* 001D8 809A7108 C7A00054 */ lwc1 $f0, 0x0054($sp)
/* 001DC 809A710C 27A400DC */ addiu $a0, $sp, 0x00DC ## $a0 = FFFFFF7C
/* 001E0 809A7110 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
/* 001E4 809A7114 44050000 */ mfc1 $a1, $f0
/* 001E8 809A7118 44060000 */ mfc1 $a2, $f0
/* 001EC 809A711C 0C029DA9 */ jal func_800A76A4
/* 001F0 809A7120 00000000 */ nop
/* 001F4 809A7124 8FA50160 */ lw $a1, 0x0160($sp)
/* 001F8 809A7128 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 001FC 809A712C 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0
/* 00200 809A7130 27A4011C */ addiu $a0, $sp, 0x011C ## $a0 = FFFFFFBC
/* 00204 809A7134 27A6005C */ addiu $a2, $sp, 0x005C ## $a2 = FFFFFEFC
/* 00208 809A7138 0C029BE8 */ jal func_800A6FA0
/* 0020C 809A713C 00A12821 */ addu $a1, $a1, $at
/* 00210 809A7140 27A4005C */ addiu $a0, $sp, 0x005C ## $a0 = FFFFFEFC
/* 00214 809A7144 27A500DC */ addiu $a1, $sp, 0x00DC ## $a1 = FFFFFF7C
/* 00218 809A7148 0C029BE8 */ jal func_800A6FA0
/* 0021C 809A714C 27A6009C */ addiu $a2, $sp, 0x009C ## $a2 = FFFFFF3C
/* 00220 809A7150 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00224 809A7154 0C029F9C */ jal func_800A7E70
/* 00228 809A7158 27A5009C */ addiu $a1, $sp, 0x009C ## $a1 = FFFFFF3C
/* 0022C 809A715C 1040004D */ beq $v0, $zero, .L809A7294
/* 00230 809A7160 00000000 */ nop
/* 00234 809A7164 8E2302D0 */ lw $v1, 0x02D0($s1) ## 000002D0
/* 00238 809A7168 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
/* 0023C 809A716C 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003
/* 00240 809A7170 24780008 */ addiu $t8, $v1, 0x0008 ## $t8 = 00000008
/* 00244 809A7174 AE3802D0 */ sw $t8, 0x02D0($s1) ## 000002D0
/* 00248 809A7178 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 0024C 809A717C AC790000 */ sw $t9, 0x0000($v1) ## 00000000
/* 00250 809A7180 8E2302D0 */ lw $v1, 0x02D0($s1) ## 000002D0
/* 00254 809A7184 3C09DB06 */ lui $t1, 0xDB06 ## $t1 = DB060000
/* 00258 809A7188 35290020 */ ori $t1, $t1, 0x0020 ## $t1 = DB060020
/* 0025C 809A718C 24680008 */ addiu $t0, $v1, 0x0008 ## $t0 = 00000008
/* 00260 809A7190 AE2802D0 */ sw $t0, 0x02D0($s1) ## 000002D0
/* 00264 809A7194 AC690000 */ sw $t1, 0x0000($v1) ## 00000000
/* 00268 809A7198 860A0050 */ lh $t2, 0x0050($s0) ## 00000050
/* 0026C 809A719C 3C04809A */ lui $a0, %hi(D_809A7498) ## $a0 = 809A0000
/* 00270 809A71A0 3C188016 */ lui $t8, %hi(gSegments)
/* 00274 809A71A4 000A5880 */ sll $t3, $t2, 2
/* 00278 809A71A8 008B2021 */ addu $a0, $a0, $t3
/* 0027C 809A71AC 8C847498 */ lw $a0, %lo(D_809A7498)($a0)
/* 00280 809A71B0 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 00284 809A71B4 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 00288 809A71B8 00046900 */ sll $t5, $a0, 4
/* 0028C 809A71BC 000D7702 */ srl $t6, $t5, 28
/* 00290 809A71C0 000E7880 */ sll $t7, $t6, 2
/* 00294 809A71C4 030FC021 */ addu $t8, $t8, $t7
/* 00298 809A71C8 8F186FA8 */ lw $t8, %lo(gSegments)($t8)
/* 0029C 809A71CC 00816024 */ and $t4, $a0, $at
/* 002A0 809A71D0 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 002A4 809A71D4 0198C821 */ addu $t9, $t4, $t8
/* 002A8 809A71D8 03214021 */ addu $t0, $t9, $at
/* 002AC 809A71DC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 002B0 809A71E0 0C0252F1 */ jal func_80094BC4
/* 002B4 809A71E4 AC680004 */ sw $t0, 0x0004($v1) ## 00000004
/* 002B8 809A71E8 8E2302D0 */ lw $v1, 0x02D0($s1) ## 000002D0
/* 002BC 809A71EC 3C0AFA00 */ lui $t2, 0xFA00 ## $t2 = FA000000
/* 002C0 809A71F0 24690008 */ addiu $t1, $v1, 0x0008 ## $t1 = 00000008
/* 002C4 809A71F4 AE2902D0 */ sw $t1, 0x02D0($s1) ## 000002D0
/* 002C8 809A71F8 AC6A0000 */ sw $t2, 0x0000($v1) ## 00000000
/* 002CC 809A71FC 860B0044 */ lh $t3, 0x0044($s0) ## 00000044
/* 002D0 809A7200 86080042 */ lh $t0, 0x0042($s0) ## 00000042
/* 002D4 809A7204 860C0040 */ lh $t4, 0x0040($s0) ## 00000040
/* 002D8 809A7208 316D00FF */ andi $t5, $t3, 0x00FF ## $t5 = 00000000
/* 002DC 809A720C 000D7200 */ sll $t6, $t5, 8
/* 002E0 809A7210 310900FF */ andi $t1, $t0, 0x00FF ## $t1 = 00000000
/* 002E4 809A7214 000CC600 */ sll $t8, $t4, 24
/* 002E8 809A7218 01D8C825 */ or $t9, $t6, $t8 ## $t9 = 00000000
/* 002EC 809A721C 00095400 */ sll $t2, $t1, 16
/* 002F0 809A7220 032A5825 */ or $t3, $t9, $t2 ## $t3 = FA000000
/* 002F4 809A7224 356D00FF */ ori $t5, $t3, 0x00FF ## $t5 = FA0000FF
/* 002F8 809A7228 AC6D0004 */ sw $t5, 0x0004($v1) ## 00000004
/* 002FC 809A722C 8E2302D0 */ lw $v1, 0x02D0($s1) ## 000002D0
/* 00300 809A7230 3C0CFB00 */ lui $t4, 0xFB00 ## $t4 = FB000000
/* 00304 809A7234 246F0008 */ addiu $t7, $v1, 0x0008 ## $t7 = 00000008
/* 00308 809A7238 AE2F02D0 */ sw $t7, 0x02D0($s1) ## 000002D0
/* 0030C 809A723C AC6C0000 */ sw $t4, 0x0000($v1) ## 00000000
/* 00310 809A7240 860E004E */ lh $t6, 0x004E($s0) ## 0000004E
/* 00314 809A7244 860B004A */ lh $t3, 0x004A($s0) ## 0000004A
/* 00318 809A7248 86090048 */ lh $t1, 0x0048($s0) ## 00000048
/* 0031C 809A724C 31D800FF */ andi $t8, $t6, 0x00FF ## $t8 = 00000000
/* 00320 809A7250 860E004C */ lh $t6, 0x004C($s0) ## 0000004C
/* 00324 809A7254 316D00FF */ andi $t5, $t3, 0x00FF ## $t5 = 00000000
/* 00328 809A7258 0009CE00 */ sll $t9, $t1, 24
/* 0032C 809A725C 03195025 */ or $t2, $t8, $t9 ## $t2 = 00000000
/* 00330 809A7260 000D7C00 */ sll $t7, $t5, 16
/* 00334 809A7264 31C800FF */ andi $t0, $t6, 0x00FF ## $t0 = 00000000
/* 00338 809A7268 00084A00 */ sll $t1, $t0, 8
/* 0033C 809A726C 014F6025 */ or $t4, $t2, $t7 ## $t4 = 00000008
/* 00340 809A7270 0189C025 */ or $t8, $t4, $t1 ## $t8 = 00000008
/* 00344 809A7274 AC780004 */ sw $t8, 0x0004($v1) ## 00000004
/* 00348 809A7278 8E2302D0 */ lw $v1, 0x02D0($s1) ## 000002D0
/* 0034C 809A727C 3C0BDE00 */ lui $t3, 0xDE00 ## $t3 = DE000000
/* 00350 809A7280 24790008 */ addiu $t9, $v1, 0x0008 ## $t9 = 00000008
/* 00354 809A7284 AE3902D0 */ sw $t9, 0x02D0($s1) ## 000002D0
/* 00358 809A7288 AC6B0000 */ sw $t3, 0x0000($v1) ## 00000000
/* 0035C 809A728C 8E0D0038 */ lw $t5, 0x0038($s0) ## 00000038
/* 00360 809A7290 AC6D0004 */ sw $t5, 0x0004($v1) ## 00000004
.L809A7294:
/* 00364 809A7294 3C06809A */ lui $a2, %hi(D_809A74C4) ## $a2 = 809A0000
/* 00368 809A7298 24C674C4 */ addiu $a2, $a2, %lo(D_809A74C4) ## $a2 = 809A74C4
/* 0036C 809A729C 27A4003C */ addiu $a0, $sp, 0x003C ## $a0 = FFFFFEDC
/* 00370 809A72A0 02202825 */ or $a1, $s1, $zero ## $a1 = 00000000
/* 00374 809A72A4 0C031AD5 */ jal Graph_CloseDisps
/* 00378 809A72A8 240700FF */ addiu $a3, $zero, 0x00FF ## $a3 = 000000FF
/* 0037C 809A72AC 8FBF001C */ lw $ra, 0x001C($sp)
/* 00380 809A72B0 8FB00014 */ lw $s0, 0x0014($sp)
/* 00384 809A72B4 8FB10018 */ lw $s1, 0x0018($sp)
/* 00388 809A72B8 03E00008 */ jr $ra
/* 0038C 809A72BC 27BD0160 */ addiu $sp, $sp, 0x0160 ## $sp = 00000000

View File

@ -1,71 +0,0 @@
glabel func_809A72C0
/* 00390 809A72C0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00394 809A72C4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00398 809A72C8 AFA40018 */ sw $a0, 0x0018($sp)
/* 0039C 809A72CC AFA5001C */ sw $a1, 0x001C($sp)
/* 003A0 809A72D0 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 003A4 809A72D4 AFA60020 */ sw $a2, 0x0020($sp)
/* 003A8 809A72D8 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 003AC 809A72DC 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50
/* 003B0 809A72E0 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 003B4 809A72E4 44814000 */ mtc1 $at, $f8 ## $f8 = 3.00
/* 003B8 809A72E8 46040181 */ sub.s $f6, $f0, $f4
/* 003BC 809A72EC 8FA60020 */ lw $a2, 0x0020($sp)
/* 003C0 809A72F0 46083282 */ mul.s $f10, $f6, $f8
/* 003C4 809A72F4 0C03F66B */ jal Math_Rand_ZeroOne
## Rand.Next() float
/* 003C8 809A72F8 E4CA0018 */ swc1 $f10, 0x0018($a2) ## 00000018
/* 003CC 809A72FC 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 003D0 809A7300 44818000 */ mtc1 $at, $f16 ## $f16 = 0.50
/* 003D4 809A7304 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 003D8 809A7308 44812000 */ mtc1 $at, $f4 ## $f4 = 3.00
/* 003DC 809A730C 46100481 */ sub.s $f18, $f0, $f16
/* 003E0 809A7310 8FA60020 */ lw $a2, 0x0020($sp)
/* 003E4 809A7314 46049182 */ mul.s $f6, $f18, $f4
/* 003E8 809A7318 8CC2003C */ lw $v0, 0x003C($a2) ## 0000003C
/* 003EC 809A731C 10400014 */ beq $v0, $zero, .L809A7370
/* 003F0 809A7320 E4C60020 */ swc1 $f6, 0x0020($a2) ## 00000020
/* 003F4 809A7324 904E0002 */ lbu $t6, 0x0002($v0) ## 00000002
/* 003F8 809A7328 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 003FC 809A732C 55C10011 */ bnel $t6, $at, .L809A7374
/* 00400 809A7330 84D80050 */ lh $t8, 0x0050($a2) ## 00000050
/* 00404 809A7334 8C4F0130 */ lw $t7, 0x0130($v0) ## 00000130
/* 00408 809A7338 51E0000E */ beql $t7, $zero, .L809A7374
/* 0040C 809A733C 84D80050 */ lh $t8, 0x0050($a2) ## 00000050
/* 00410 809A7340 C4480024 */ lwc1 $f8, 0x0024($v0) ## 00000024
/* 00414 809A7344 C4CA002C */ lwc1 $f10, 0x002C($a2) ## 0000002C
/* 00418 809A7348 C4C40030 */ lwc1 $f4, 0x0030($a2) ## 00000030
/* 0041C 809A734C 460A4400 */ add.s $f16, $f8, $f10
/* 00420 809A7350 C4CA0034 */ lwc1 $f10, 0x0034($a2) ## 00000034
/* 00424 809A7354 E4D00000 */ swc1 $f16, 0x0000($a2) ## 00000000
/* 00428 809A7358 C4520028 */ lwc1 $f18, 0x0028($v0) ## 00000028
/* 0042C 809A735C 46049180 */ add.s $f6, $f18, $f4
/* 00430 809A7360 E4C60004 */ swc1 $f6, 0x0004($a2) ## 00000004
/* 00434 809A7364 C448002C */ lwc1 $f8, 0x002C($v0) ## 0000002C
/* 00438 809A7368 460A4400 */ add.s $f16, $f8, $f10
/* 0043C 809A736C E4D00008 */ swc1 $f16, 0x0008($a2) ## 00000008
.L809A7370:
/* 00440 809A7370 84D80050 */ lh $t8, 0x0050($a2) ## 00000050
.L809A7374:
/* 00444 809A7374 C4D2002C */ lwc1 $f18, 0x002C($a2) ## 0000002C
/* 00448 809A7378 C4C40018 */ lwc1 $f4, 0x0018($a2) ## 00000018
/* 0044C 809A737C C4C80034 */ lwc1 $f8, 0x0034($a2) ## 00000034
/* 00450 809A7380 C4CA0020 */ lwc1 $f10, 0x0020($a2) ## 00000020
/* 00454 809A7384 27190001 */ addiu $t9, $t8, 0x0001 ## $t9 = 00000001
/* 00458 809A7388 A4D90050 */ sh $t9, 0x0050($a2) ## 00000050
/* 0045C 809A738C 46049180 */ add.s $f6, $f18, $f4
/* 00460 809A7390 84C80050 */ lh $t0, 0x0050($a2) ## 00000050
/* 00464 809A7394 84CA0052 */ lh $t2, 0x0052($a2) ## 00000052
/* 00468 809A7398 460A4400 */ add.s $f16, $f8, $f10
/* 0046C 809A739C 84CB0054 */ lh $t3, 0x0054($a2) ## 00000054
/* 00470 809A73A0 31090003 */ andi $t1, $t0, 0x0003 ## $t1 = 00000000
/* 00474 809A73A4 E4C6002C */ swc1 $f6, 0x002C($a2) ## 0000002C
/* 00478 809A73A8 014B6021 */ addu $t4, $t2, $t3
/* 0047C 809A73AC E4D00034 */ swc1 $f16, 0x0034($a2) ## 00000034
/* 00480 809A73B0 A4C90050 */ sh $t1, 0x0050($a2) ## 00000050
/* 00484 809A73B4 A4CC0052 */ sh $t4, 0x0052($a2) ## 00000052
/* 00488 809A73B8 8FBF0014 */ lw $ra, 0x0014($sp)
/* 0048C 809A73BC 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00490 809A73C0 03E00008 */ jr $ra
/* 00494 809A73C4 00000000 */ nop

View File

@ -1,54 +0,0 @@
glabel func_809A73C8
/* 00498 809A73C8 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 0049C 809A73CC AFBF0014 */ sw $ra, 0x0014($sp)
/* 004A0 809A73D0 AFA40018 */ sw $a0, 0x0018($sp)
/* 004A4 809A73D4 AFA5001C */ sw $a1, 0x001C($sp)
/* 004A8 809A73D8 8CC2003C */ lw $v0, 0x003C($a2) ## 0000003C
/* 004AC 809A73DC 5040001C */ beql $v0, $zero, .L809A7450
/* 004B0 809A73E0 84D90050 */ lh $t9, 0x0050($a2) ## 00000050
/* 004B4 809A73E4 904E0002 */ lbu $t6, 0x0002($v0) ## 00000002
/* 004B8 809A73E8 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 004BC 809A73EC 55C10018 */ bnel $t6, $at, .L809A7450
/* 004C0 809A73F0 84D90050 */ lh $t9, 0x0050($a2) ## 00000050
/* 004C4 809A73F4 8C4F0130 */ lw $t7, 0x0130($v0) ## 00000130
/* 004C8 809A73F8 51E00015 */ beql $t7, $zero, .L809A7450
/* 004CC 809A73FC 84D90050 */ lh $t9, 0x0050($a2) ## 00000050
/* 004D0 809A7400 84440032 */ lh $a0, 0x0032($v0) ## 00000032
/* 004D4 809A7404 0C01DE1C */ jal Math_Sins
## sins?
/* 004D8 809A7408 AFA60020 */ sw $a2, 0x0020($sp)
/* 004DC 809A740C 8FA60020 */ lw $a2, 0x0020($sp)
/* 004E0 809A7410 8CC2003C */ lw $v0, 0x003C($a2) ## 0000003C
/* 004E4 809A7414 C4C40000 */ lwc1 $f4, 0x0000($a2) ## 00000000
/* 004E8 809A7418 C4460068 */ lwc1 $f6, 0x0068($v0) ## 00000068
/* 004EC 809A741C 46060202 */ mul.s $f8, $f0, $f6
/* 004F0 809A7420 46082280 */ add.s $f10, $f4, $f8
/* 004F4 809A7424 E4CA0000 */ swc1 $f10, 0x0000($a2) ## 00000000
/* 004F8 809A7428 0C01DE0D */ jal Math_Coss
## coss?
/* 004FC 809A742C 84440032 */ lh $a0, 0x0032($v0) ## 00000032
/* 00500 809A7430 8FA60020 */ lw $a2, 0x0020($sp)
/* 00504 809A7434 8CD8003C */ lw $t8, 0x003C($a2) ## 0000003C
/* 00508 809A7438 C4D00008 */ lwc1 $f16, 0x0008($a2) ## 00000008
/* 0050C 809A743C C7120068 */ lwc1 $f18, 0x0068($t8) ## 00000068
/* 00510 809A7440 46120182 */ mul.s $f6, $f0, $f18
/* 00514 809A7444 46068100 */ add.s $f4, $f16, $f6
/* 00518 809A7448 E4C40008 */ swc1 $f4, 0x0008($a2) ## 00000008
/* 0051C 809A744C 84D90050 */ lh $t9, 0x0050($a2) ## 00000050
.L809A7450:
/* 00520 809A7450 84CB0052 */ lh $t3, 0x0052($a2) ## 00000052
/* 00524 809A7454 84CC0054 */ lh $t4, 0x0054($a2) ## 00000054
/* 00528 809A7458 27280001 */ addiu $t0, $t9, 0x0001 ## $t0 = 00000001
/* 0052C 809A745C A4C80050 */ sh $t0, 0x0050($a2) ## 00000050
/* 00530 809A7460 84C90050 */ lh $t1, 0x0050($a2) ## 00000050
/* 00534 809A7464 016C6821 */ addu $t5, $t3, $t4
/* 00538 809A7468 A4CD0052 */ sh $t5, 0x0052($a2) ## 00000052
/* 0053C 809A746C 312A0003 */ andi $t2, $t1, 0x0003 ## $t2 = 00000000
/* 00540 809A7470 A4CA0050 */ sh $t2, 0x0050($a2) ## 00000050
/* 00544 809A7474 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00548 809A7478 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 0054C 809A747C 03E00008 */ jr $ra
/* 00550 809A7480 00000000 */ nop
/* 00554 809A7484 00000000 */ nop
/* 00558 809A7488 00000000 */ nop
/* 0055C 809A748C 00000000 */ nop

View File

@ -1,16 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .data
.balign 16
glabel Effect_Ss_Blast_InitVars
.word 0x00000004
.word EffectSsBlast_Init
.word 0x00000000, 0x00000000

View File

@ -1,13 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .rodata
.balign 16
glabel D_8099F160
.incbin "baserom/ovl_Effect_Ss_Blast", 0x3B0, 0x00000050

View File

@ -1,17 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .data
.balign 16
glabel Effect_Ss_Bomb_InitVars
.word 0x00000002
.word EffectSsBomb_Init
glabel D_8099F588
.word 0x04007F80, 0x04008780, 0x04008F80, 0x04009780, 0x00000000, 0x00000000

View File

@ -1,13 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .rodata
.balign 16
glabel D_8099F5E0
.incbin "baserom/ovl_Effect_Ss_Bomb", 0x430, 0x00000070

View File

@ -1,22 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .data
.balign 16
glabel Effect_Ss_Bomb2_InitVars
.word 0x00000003
.word EffectSsBomb2_Init
glabel D_8099FED8
.word func_8099F748
.word func_8099F960
glabel D_8099FEE0
.word 0x04007F80, 0x04008780, 0x04008F80, 0x04009780, 0x04009F80, 0x0400A780, 0x0400AF80, 0x0400B780
glabel D_8099FF00
.word 0x04007F80, 0x04008780, 0x04008F80, 0x04009780, 0x04009F80, 0x0400A780, 0x0400AF80, 0x0400B780

View File

@ -1,13 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .rodata
.balign 16
glabel D_8099FFA0
.incbin "baserom/ovl_Effect_Ss_Bomb2", 0x950, 0x000000A0

View File

@ -1,16 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .data
.balign 16
glabel Effect_Ss_Dead_Sound_InitVars
.word 0x00000023
.word EffectSsDeadSound_Init
.word 0x00000000, 0x00000000

View File

@ -1,13 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .rodata
.balign 16
glabel D_809A1C80
.incbin "baserom/ovl_Effect_Ss_Dead_Sound", 0x150, 0x00000030

View File

@ -1,17 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .data
.balign 16
glabel Effect_Ss_G_Spk_InitVars
.word 0x00000005
.word EffectSsGSpk_Init
glabel D_809A7498
.word 0x04055FB0, 0x040561B0, 0x040563B0, 0x040565B0, 0x00000000, 0x00000000

View File

@ -1,13 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .rodata
.balign 16
glabel D_809A74E0
.incbin "baserom/ovl_Effect_Ss_G_Spk", 0x5B0, 0x00000060

View File

@ -223,18 +223,17 @@ void func_80028A54(GlobalContext* globalCtx, f32 randScale, Vec3f* srcPos);
void func_80028B74(GlobalContext*, Vec3f*, UNK_PTR, UNK_PTR, Color_RGB8*, Color_RGB8*);
// ? func_80028BB0(?);
// ? func_80028CEC(?);
// ? func_80028DC4(?);
// ? func_80028E1C(?);
void func_80028E84(GlobalContext*, Vec3f*, Vec3f*, Vec3f*, s32, s32);
// ? func_80028EF4(?);
// ? func_80028F84(?);
// ? func_80028FD8(?);
// ? func_80029024(?);
// ? func_80029060(?);
// ? func_800290F0(?);
// ? func_80029184(?);
// ? func_800291D8(?);
// ? func_800292DC(?);
void EffectSsBomb2_SpawnLayered(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale, s16 scaleStep);
void func_80028F84(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 radius, s16 radiusStep,
s16 life);
void func_80028FD8(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* envColor,
Color_RGBA8* primColor, s16 life);
void func_80029024(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel);
void func_80029060(GlobalContext* globalCtx, Actor* actor, Vec3f* pos, Vec3f* velocity, Vec3f* accel,
Color_RGBA8* envColor, Color_RGBA8* primColor, s16 scale, s16 scaleStep);
void func_80029184(GlobalContext* globalCtx, Actor* actor, Vec3f* pos, Vec3f* velocity, Vec3f* accel);
void func_800292DC(GlobalContext* globalCtx, Actor* actor, Vec3f* pos, Vec3f* velocity, Vec3f* accel,
Color_RGBA8* envColor, Color_RGBA8* primColor);
// ? func_80029320(?);
// ? func_800293A0(?);
void func_800293E4(GlobalContext*, Vec3f* pos, f32, f32, f32, f32);
@ -281,8 +280,7 @@ void func_8002A6B8(GlobalContext* globalCtx, Vec3f* pos, Vec3f* arg2, Vec3f* arg
// ? func_8002A824(?);
// ? func_8002A894(?);
// ? func_8002A90C(?);
// ? func_8002A95C(?);
// ? func_8002A9F4(?);
void EffectSsDeadSound_SpawnStationary(GlobalContext* globalCtx, Vec3f* pos, u16 sfxId, s16 lowerPriority, s16 unk28, s32 life);
// ? func_8002AA44(?);
void FlagSet_Update(GlobalContext* globalCtx);
void Overlay_LoadGameState(GameStateOverlay* overlayEntry);

View File

@ -214,8 +214,8 @@ typedef struct EffectSs {
/* 0x24 */ void (*update)(struct GlobalContext* globalCtx, u32 index, struct EffectSs* effectSs);
/* 0x28 */ void (*draw)(struct GlobalContext* globalCtx, u32 index, struct EffectSs* effectSs);
/* 0x2C */ Vec3f unk_2C;
/* 0x38 */ UNK_PTR unk_38; // could be dlist pointer, need to make sure for all effects
/* 0x3C */ UNK_PTR unk_3C;
/* 0x38 */ Gfx* displayList;
/* 0x3C */ void* unk_3C;
/* 0x40 */ s16 regs[13]; // specific per effect
/* 0x5A */ u16 flags;
/* 0x5C */ s16 life; // -1 means this entry is free

15
spec
View File

@ -1712,22 +1712,19 @@ endseg
beginseg
name "ovl_Effect_Ss_Blast"
include "build/src/overlays/effects/ovl_Effect_Ss_Blast/z_eff_ss_blast.o"
include "build/data/overlays/effects/z_eff_ss_blast.data.o"
include "build/data/overlays/effects/z_eff_ss_blast.reloc.o"
include "build/src/overlays/effects/ovl_Effect_Ss_Blast/ovl_Effect_Ss_Blast_reloc.o"
endseg
beginseg
name "ovl_Effect_Ss_Bomb"
include "build/src/overlays/effects/ovl_Effect_Ss_Bomb/z_eff_ss_bomb.o"
include "build/data/overlays/effects/z_eff_ss_bomb.data.o"
include "build/data/overlays/effects/z_eff_ss_bomb.reloc.o"
include "build/src/overlays/effects/ovl_Effect_Ss_Bomb/ovl_Effect_Ss_Bomb_reloc.o"
endseg
beginseg
name "ovl_Effect_Ss_Bomb2"
include "build/src/overlays/effects/ovl_Effect_Ss_Bomb2/z_eff_ss_bomb2.o"
include "build/data/overlays/effects/z_eff_ss_bomb2.data.o"
include "build/data/overlays/effects/z_eff_ss_bomb2.reloc.o"
include "build/src/overlays/effects/ovl_Effect_Ss_Bomb2/ovl_Effect_Ss_Bomb2_reloc.o"
endseg
beginseg
@ -1768,8 +1765,7 @@ endseg
beginseg
name "ovl_Effect_Ss_Dead_Sound"
include "build/src/overlays/effects/ovl_Effect_Ss_Dead_Sound/z_eff_ss_dead_sound.o"
include "build/data/overlays/effects/z_eff_ss_dead_sound.data.o"
include "build/data/overlays/effects/z_eff_ss_dead_sound.reloc.o"
include "build/src/overlays/effects/ovl_Effect_Ss_Dead_Sound/ovl_Effect_Ss_Dead_Sound_reloc.o"
endseg
beginseg
@ -1858,8 +1854,7 @@ endseg
beginseg
name "ovl_Effect_Ss_G_Spk"
include "build/src/overlays/effects/ovl_Effect_Ss_G_Spk/z_eff_ss_g_spk.o"
include "build/data/overlays/effects/z_eff_ss_g_spk.data.o"
include "build/data/overlays/effects/z_eff_ss_g_spk.reloc.o"
include "build/src/overlays/effects/ovl_Effect_Ss_G_Spk/ovl_Effect_Ss_G_Spk_reloc.o"
endseg
beginseg

View File

@ -88,7 +88,7 @@ void EffectSs_Reset(EffectSs* effectSs) {
effectSs->priority = 128;
effectSs->draw = NULL;
effectSs->update = NULL;
effectSs->unk_38 = NULL;
effectSs->displayList = NULL;
effectSs->unk_3C = NULL;
for (i = 0; i < ARRAY_COUNT(effectSs->regs); i++) {

View File

@ -1,8 +1,25 @@
#include <ultra64.h>
#include <global.h>
#include "overlays/effects/ovl_Effect_Ss_Dust/z_eff_ss_dust.h"
#include "overlays/effects/ovl_Effect_Ss_Bomb/z_eff_ss_bomb.h"
#include "overlays/effects/ovl_Effect_Ss_Bomb2/z_eff_ss_bomb2.h"
#include "overlays/effects/ovl_Effect_Ss_Blast/z_eff_ss_blast.h"
#include "overlays/effects/ovl_Effect_Ss_G_Spk/z_eff_ss_g_spk.h"
#include "overlays/effects/ovl_Effect_Ss_Solder_Srch_Ball/z_eff_ss_solder_srch_ball.h"
#include "overlays/effects/ovl_Effect_Ss_Fhg_Flash/z_eff_ss_fhg_flash.h"
#include "overlays/effects/ovl_Effect_Ss_Dead_Sound/z_eff_ss_dead_sound.h"
extern Color_RGBA8 D_801158DC;
extern Color_RGBA8 D_801158E0;
extern Color_RGBA8 D_801158E4;
extern Color_RGBA8 D_801158E8;
extern Color_RGBA8 D_801158EC;
extern Color_RGBA8 D_801158F0;
extern Color_RGBA8 D_801158F4;
extern Color_RGBA8 D_801158F8;
// sEmptyVec
extern Vec3f D_801158C0; // empty vector that seems to be used as a dummy when a specific field isnt needed
extern Color_RGBA8_n D_801158CC;
extern Color_RGBA8_n D_801158D0;
@ -163,35 +180,141 @@ void func_80028A54(GlobalContext* globalCtx, f32 randScale, Vec3f* srcPos) {
// EffectSsBomb Spawn Functions
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80028DC4.s")
void EffectSsBomb_Spawn(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel) {
EffectSsBombInitParams initParams;
Math_Vec3f_Copy(&initParams.pos, pos);
Math_Vec3f_Copy(&initParams.velocity, velocity);
Math_Vec3f_Copy(&initParams.accel, accel);
EffectSs_Spawn(globalCtx, EFFECT_SS_BOMB, 128, &initParams);
}
// EffectSsBomb2 Spawn Functions
// unused
void EffectSsBomb2_SpawnFade(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel) {
EffectSsBomb2InitParams initParams;
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80028E1C.s")
Math_Vec3f_Copy(&initParams.pos, pos);
Math_Vec3f_Copy(&initParams.velocity, velocity);
Math_Vec3f_Copy(&initParams.accel, accel);
initParams.scale = 100;
initParams.scaleStep = 0;
initParams.drawMode = 0;
EffectSs_Spawn(globalCtx, EFFECT_SS_BOMB2, 10, &initParams);
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80028E84.s")
void EffectSsBomb2_SpawnLayered(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale,
s16 scaleStep) {
EffectSsBomb2InitParams initParams;
Math_Vec3f_Copy(&initParams.pos, pos);
Math_Vec3f_Copy(&initParams.velocity, velocity);
Math_Vec3f_Copy(&initParams.accel, accel);
initParams.scale = scale;
initParams.scaleStep = scaleStep;
initParams.drawMode = 1;
EffectSs_Spawn(globalCtx, EFFECT_SS_BOMB2, 10, &initParams);
}
// EffectSsBlast Spawn Functions
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80028EF4.s")
void EffectSsBlast_Spawn(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* envColor,
Color_RGBA8* primColor, s16 radius, s16 radiusStep, s16 radiusStepDecr, s16 life) {
EffectSsBlastParams initParams;
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80028F84.s")
Math_Vec3f_Copy(&initParams.pos, pos);
Math_Vec3f_Copy(&initParams.velocity, velocity);
Math_Vec3f_Copy(&initParams.accel, accel);
Color_RGBA8_Copy(&initParams.envColor, envColor);
Color_RGBA8_Copy(&initParams.primColor, primColor);
initParams.radius = radius;
initParams.radiusStep = radiusStep;
initParams.radiusStepDecr = radiusStepDecr;
initParams.life = life;
EffectSs_Spawn(globalCtx, EFFECT_SS_BLAST, 128, &initParams);
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80028FD8.s")
void func_80028F84(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 radius, s16 radiusStep,
s16 life) {
EffectSsBlast_Spawn(globalCtx, pos, velocity, accel, &D_801158DC, &D_801158E0, radius, radiusStep, 35, life);
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80029024.s")
void func_80028FD8(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, Color_RGBA8* envColor,
Color_RGBA8* primColor, s16 life) {
EffectSsBlast_Spawn(globalCtx, pos, velocity, accel, envColor, primColor, 100, 375, 35, life);
}
void func_80029024(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel) {
func_80028FD8(globalCtx, pos, velocity, accel, &D_801158E4, &D_801158E8, 10);
}
// EffectSsGSpk Spawn Functions
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80029060.s")
void func_80029060(GlobalContext* globalCtx, Actor* actor, Vec3f* pos, Vec3f* velocity, Vec3f* accel,
Color_RGBA8* envColor, Color_RGBA8* primColor, s16 scale, s16 scaleStep) {
EffectSsGSpkInitParams initParams;
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800290F0.s")
Math_Vec3f_Copy(&initParams.pos, pos);
Math_Vec3f_Copy(&initParams.velocity, velocity);
Math_Vec3f_Copy(&initParams.accel, accel);
Color_RGBA8_Copy(&initParams.primColor, envColor);
Color_RGBA8_Copy(&initParams.envColor, primColor);
initParams.actor = actor;
initParams.scale = scale;
initParams.scaleStep = scaleStep;
initParams.updateMode = 0;
EffectSs_Spawn(globalCtx, EFFECT_SS_G_SPK, 128, &initParams);
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80029184.s")
// unused
void func_800290F0(GlobalContext* globalCtx, Actor* actor, Vec3f* pos, Vec3f* velocity, Vec3f* accel,
Color_RGBA8* envColor, Color_RGBA8* primColor, s16 scale, s16 scaleStep) {
EffectSsGSpkInitParams initParams;
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800291D8.s")
Math_Vec3f_Copy(&initParams.pos, pos);
Math_Vec3f_Copy(&initParams.velocity, velocity);
Math_Vec3f_Copy(&initParams.accel, accel);
Color_RGBA8_Copy(&initParams.primColor, envColor);
Color_RGBA8_Copy(&initParams.envColor, primColor);
initParams.actor = actor;
initParams.scale = scale;
initParams.scaleStep = scaleStep;
initParams.updateMode = 1;
EffectSs_Spawn(globalCtx, EFFECT_SS_G_SPK, 128, &initParams);
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800292DC.s")
void func_80029184(GlobalContext* globalCtx, Actor* actor, Vec3f* pos, Vec3f* velocity, Vec3f* accel) {
Color_RGBA8 envColor = D_801158EC; // probably inline when data is migrated
Color_RGBA8 primColor = D_801158F0; // probably inline when data is migrated
func_800292DC(globalCtx, actor, pos, velocity, accel, &envColor, &primColor);
}
// unused
void func_800291D8(GlobalContext* globalCtx, Actor* actor, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale,
s16 scaleStep) {
Color_RGBA8 envColor = D_801158F4; // probably inline when data is migrated
Color_RGBA8 primColor = D_801158F8; // probably inline when data is migrated
s32 randOffset;
randOffset = (Math_Rand_ZeroOne() * 20.0f) - 10.0f;
envColor.r += randOffset;
envColor.g += randOffset;
envColor.b += randOffset;
envColor.a += randOffset;
primColor.r += randOffset;
primColor.g += randOffset;
primColor.b += randOffset;
primColor.a += randOffset;
func_80029060(globalCtx, actor, pos, velocity, accel, &envColor, &primColor, scale, scaleStep);
}
void func_800292DC(GlobalContext* globalCtx, Actor* actor, Vec3f* pos, Vec3f* velocity, Vec3f* accel,
Color_RGBA8* envColor, Color_RGBA8* primColor) {
func_80029060(globalCtx, actor, pos, velocity, accel, envColor, primColor, 100, 5);
}
// EffectSsDFire Spawn Functions
@ -265,8 +388,6 @@ void func_80028A54(GlobalContext* globalCtx, f32 randScale, Vec3f* srcPos) {
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/func_80029CC8.s")
// EffectSsFhgFlash Spawn Functions
void EffectSsFhgFlash_Spawn(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 arg4, u8 arg5) {
EffectSsFhgFlashInitParams initParams;
@ -368,9 +489,29 @@ void EffectSsSolderSrchBall_Spawn(GlobalContext* globalCtx, Vec3f* pos, Vec3f* v
// EffectSsDeadSound Spawn Functions
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/func_8002A95C.s")
void EffectSsDeadSound_Spawn(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, u16 sfxId,
s16 lowerPriority, s16 repeatMode, s32 life) {
EffectSsDeadSoundInitParams initParams;
#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/func_8002A9F4.s")
Math_Vec3f_Copy(&initParams.pos, pos);
Math_Vec3f_Copy(&initParams.velocity, velocity);
Math_Vec3f_Copy(&initParams.accel, accel);
initParams.sfxId = sfxId;
initParams.lowerPriority = lowerPriority;
initParams.repeatMode = repeatMode;
initParams.life = life;
if (!lowerPriority) {
EffectSs_Spawn(globalCtx, EFFECT_SS_DEAD_SOUND, 100, &initParams);
} else {
EffectSs_Spawn(globalCtx, EFFECT_SS_DEAD_SOUND, 127, &initParams);
}
}
void EffectSsDeadSound_SpawnStationary(GlobalContext* globalCtx, Vec3f* pos, u16 sfxId, s16 lowerPriority,
s16 repeatMode, s32 life) {
EffectSsDeadSound_Spawn(globalCtx, pos, &D_801158C0, &D_801158C0, sfxId, lowerPriority, repeatMode, life);
}
// EffectSsIceSmoke Spawn Functions

View File

@ -882,7 +882,7 @@ EnItem00* Item_DropCollectible(GlobalContext* globalCtx, Vec3f* spawnPos, s16 pa
// TODO: Prevent the cast to EnItem00 here since this is a different actor (En_Elf)
spawnedActor = (EnItem00*)Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_ELF, spawnPos->x,
spawnPos->y + 40.0f, spawnPos->z, 0, 0, 0, 0x0002);
func_8002A9F4(globalCtx, spawnPos, 0x28E7, 1, 1, 0x28);
EffectSsDeadSound_SpawnStationary(globalCtx, spawnPos, NA_SE_EV_BUTTERFRY_TO_FAIRY, 1, 1, 40);
} else {
if (!param8000) {
params = func_8001F404(params & 0x00FF);
@ -925,7 +925,7 @@ EnItem00* Item_DropCollectible2(GlobalContext* globalCtx, Vec3f* spawnPos, s16 p
// TODO: Prevent the cast to EnItem00 here since this is a different actor (En_Elf)
spawnedActor = (EnItem00*)Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_ELF, spawnPos->x,
spawnPos->y + 40.0f, spawnPos->z, 0, 0, 0, 0x0002);
func_8002A9F4(globalCtx, spawnPos, 0x28E7, 1, 1, 0x28);
EffectSsDeadSound_SpawnStationary(globalCtx, spawnPos, NA_SE_EV_BUTTERFRY_TO_FAIRY, 1, 1, 40);
} else {
params = func_8001F404(params & 0x00FF);
if (params != -1) {
@ -994,7 +994,7 @@ void Item_DropCollectibleRandom(GlobalContext* globalCtx, Actor* fromActor, Vec3
if (gSaveContext.health <= 0x10) { // 1 heart or less
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_ELF, spawnPos->x, spawnPos->y + 40.0f, spawnPos->z, 0,
0, 0, 0x0002);
func_8002A9F4(globalCtx, spawnPos, 0x28E7, 1, 1, 0x28);
EffectSsDeadSound_SpawnStationary(globalCtx, spawnPos, NA_SE_EV_BUTTERFRY_TO_FAIRY, 1, 1, 40);
return;
} else if (gSaveContext.health <= 0x30) { // 3 hearts or less
params = 0xB * 0x10;

View File

@ -48,9 +48,7 @@ static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
};
static Vec3f sZeroVector = { 0.0f, 0.0f, 0.0f };
extern CollisionHeader D_060108B8;
extern UNK_TYPE D_060108B8;
extern Gfx D_0600FE40[];
extern UNK_TYPE D_0400CD80;
extern Gfx D_040184B0[];
@ -82,6 +80,7 @@ void BgHakaTubo_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
void BgHakaTubo_Idle(BgHakaTubo* this, GlobalContext* globalCtx) {
static Vec3f sZeroVector = { 0.0f, 0.0f, 0.0f };
Vec3f pos;
if (this->dyna.actor.room == 12) { // 3 spinning pots room in Shadow Temple
@ -104,7 +103,7 @@ void BgHakaTubo_Idle(BgHakaTubo* this, GlobalContext* globalCtx) {
pos.x = this->dyna.actor.posRot.pos.x;
pos.z = this->dyna.actor.posRot.pos.z;
pos.y = this->dyna.actor.posRot.pos.y + 80.0f;
func_80028E84(globalCtx, &pos, &sZeroVector, &sZeroVector, 100, 45);
EffectSsBomb2_SpawnLayered(globalCtx, &pos, &sZeroVector, &sZeroVector, 100, 45);
Audio_PlaySoundAtPosition(globalCtx, &this->dyna.actor.posRot.pos, 50, NA_SE_EV_BOX_BREAK);
func_800297A4(globalCtx, &pos, 20.0f, 0, 350, 100, 50, 105, 40, &D_0400CD80);
this->dropTimer = 5;

View File

@ -92,8 +92,8 @@ void BgMoriHineri_Init(Actor* thisx, GlobalContext* globalCtx) {
moriHineriObjIdx = Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI1A);
} else {
moriHineriObjIdx = (this->dyna.actor.params == 2)
? Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI2)
: Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI2A);
? Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI2)
: Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI2A);
}
this->moriHineriObjIdx = moriHineriObjIdx;
}
@ -128,8 +128,8 @@ void func_808A39FC(BgMoriHineri* this, GlobalContext* globalCtx) {
this->moriHineriObjIdx = Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI1);
} else {
this->moriHineriObjIdx = (this->dyna.actor.params == 2)
? Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI2A)
: Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI2);
? Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI2A)
: Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI2);
}
if (this->moriHineriObjIdx < 0) {
Actor_Kill(&this->dyna.actor);
@ -216,8 +216,7 @@ void func_808A3E54(BgMoriHineri* this, GlobalContext* globalCtx) {
D_808A43E0 = -1;
}
}
if ((D_808A43E0 > 0) &&
((ACTIVE_CAM->eye.z - this->dyna.actor.posRot.pos.z) < 1100.0f)) {
if ((D_808A43E0 > 0) && ((ACTIVE_CAM->eye.z - this->dyna.actor.posRot.pos.z) < 1100.0f)) {
func_8002F948(&this->dyna.actor, NA_SE_EV_FLOOR_ROLLING - SFX_FLAG);
}
}
@ -229,7 +228,7 @@ void BgMoriHineri_Update(Actor* thisx, GlobalContext* globalCtx) {
}
void BgMoriHineri_DrawHallAndRoom(Actor* thisx, GlobalContext* globalCtx) {
BgMoriHineri* this = THIS;
s8 objIndex;
MtxF mtx;

View File

@ -279,7 +279,8 @@ void EnBom_Update(Actor* thisx, GlobalContext* globalCtx) {
effPos.y += 30.0f;
}
func_80028E84(globalCtx, &effPos, &effVelocity, &bomb2Accel, 0x64, (thisx->shape.rot.z * 6) + 0x13);
EffectSsBomb2_SpawnLayered(globalCtx, &effPos, &effVelocity, &bomb2Accel, 100,
(thisx->shape.rot.z * 6) + 19);
effPos.y = thisx->groundY;
if (thisx->groundY > -32000.0f) {
@ -313,7 +314,7 @@ void EnBom_Update(Actor* thisx, GlobalContext* globalCtx) {
if ((thisx->scale.x >= 0.01f) && (thisx->params != BOMB_EXPLOSION)) {
if (thisx->waterY >= 20.0f) {
func_8002A9F4(globalCtx, &thisx->projectedPos, NA_SE_IT_BOMB_UNEXPLOSION, 1, 1, 0xA);
EffectSsDeadSound_SpawnStationary(globalCtx, &thisx->projectedPos, NA_SE_IT_BOMB_UNEXPLOSION, 1, 1, 10);
Actor_Kill(thisx);
return;
}

View File

@ -391,7 +391,7 @@ void EnBombf_Update(Actor* thisx, GlobalContext* globalCtx) {
effPos.y += 30.0f;
}
func_80028E84(globalCtx, &effPos, &effVelocity, &bomb2Accel, 0x64, 0x13);
EffectSsBomb2_SpawnLayered(globalCtx, &effPos, &effVelocity, &bomb2Accel, 100, 19);
effPos.y = thisx->groundY;
if (thisx->groundY > -32000.0f) {
@ -426,7 +426,7 @@ void EnBombf_Update(Actor* thisx, GlobalContext* globalCtx) {
if ((thisx->scale.x >= 0.01f) && (thisx->params != BOMBFLOWER_EXPLOSION)) {
if (thisx->waterY >= 20.0f) {
func_8002A9F4(globalCtx, &thisx->projectedPos, NA_SE_IT_BOMB_UNEXPLOSION, 1, 1, 0xA);
EffectSsDeadSound_SpawnStationary(globalCtx, &thisx->projectedPos, NA_SE_IT_BOMB_UNEXPLOSION, 1, 1, 10);
Actor_Kill(thisx);
return;
}

View File

@ -1,3 +1,9 @@
/*
* File: z_en_gs.c
* Overlay: ovl_En_Gs
* Description: Gossip Stone
*/
#include "z_en_gs.h"
#define FLAGS 0x02000009
@ -10,17 +16,10 @@ void EnGs_Update(Actor* thisx, GlobalContext* globalCtx);
void EnGs_Draw(Actor* thisx, GlobalContext* globalCtx);
void func_80A4F734(EnGs* this, GlobalContext* globalCtx);
void func_80A4F77C(EnGs* this);
void func_80A4E910(EnGs* this, GlobalContext* globalCtx);
void func_80A4EA08(EnGs* this, GlobalContext* globalCtx);
void func_80A4EB3C(EnGs* this, GlobalContext* globalCtx);
void func_80A4ED34(EnGs* this, GlobalContext* globalCtx);
void func_80A4F13C(EnGs* this, GlobalContext* globalCtx);
void func_80A4E648(EnGs* this, GlobalContext* globalCtx);
void func_80A4E470(EnGs* this, GlobalContext* globalCtx);
void func_80A4F700(EnGs* this, GlobalContext* globalCtx);
void func_80A4F77C(EnGs* this);
extern Gfx D_0404D4E0[];
extern Gfx D_06000950[];
extern Gfx D_060009D0[];
@ -54,26 +53,6 @@ static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
};
Color_RGBA8 D_80A4FDFC = { 0xFF, 0x32, 0x32, 0x00 };
Color_RGBA8 D_80A4FE00 = { 0x32, 0x32, 0xFF, 0x00 };
Color_RGBA8 D_80A4FE04 = { 0xFF, 0xFF, 0xFF, 0x00 };
Vec3f D_80A4FE08 = { 0.0f, -0.3f, 0.0f };
Color_RGBA8 D_80A4FE14 = { 0xC8, 0xC8, 0xC8, 0x80 };
Color_RGBA8 D_80A4FE18 = { 0x64, 0x64, 0x64, 0x00 };
Vec3f D_80A4FE1C = { 0.0f, 0.0f, 0.0f };
Vec3f D_80A4FE28 = { 0.0f, 0.0f, 0.0f };
Vec3s D_80A4FE34 = { 0x0000, 0x0000, 0x0000 };
Vec3f D_80A4FE3C = { 1.0f, 1.0f, 1.0f };
void EnGs_Init(Actor* thisx, GlobalContext* globalCtx) {
EnGs* this = THIS;
@ -267,10 +246,18 @@ void func_80A4EB3C(EnGs* this, GlobalContext* globalCtx) {
}
void func_80A4ED34(EnGs* this, GlobalContext* globalCtx) {
static Color_RGBA8 flashRed = { 255, 50, 50, 0 };
static Color_RGBA8 flashBlue = { 50, 50, 255, 0 };
static Color_RGBA8 baseWhite = { 255, 255, 255, 0 };
static Vec3f dustAccel = { 0.0f, -0.3f, 0.0f };
static Color_RGBA8 dustPrim = { 200, 200, 200, 128 };
static Color_RGBA8 dustEnv = { 100, 100, 100, 0 };
static Vec3f bomb2Velocity = { 0.0f, 0.0f, 0.0f };
static Vec3f bomb2Accel = { 0.0f, 0.0f, 0.0f };
u8 i;
Vec3f sp60;
Vec3f sp5C;
Vec3f sp68;
Vec3f dustPos;
Vec3f dustVelocity;
Vec3f bomb2Pos;
if (this->unk_19F == 0) {
this->unk_200 = 0x28;
@ -287,16 +274,16 @@ void func_80A4ED34(EnGs* this, GlobalContext* globalCtx) {
if (this->unk_19F == 2) {
this->unk_200--;
Color_RGBA8_Copy(&this->unk_1E4, &D_80A4FE04);
Color_RGBA8_Copy(&this->flashColor, &baseWhite);
if ((this->unk_200 < 0x50) && ((this->unk_200 % 0x14) < 8)) {
if (this->unk_200 < 0x14) {
Color_RGBA8_Copy(&this->unk_1E4, &D_80A4FDFC);
Color_RGBA8_Copy(&this->flashColor, &flashRed);
if ((this->unk_200 % 0x14) == 7) {
Audio_PlaySoundGeneral(NA_SE_SY_WARNING_COUNT_E, &D_801333D4, 4, &D_801333E0, &D_801333E0,
&D_801333E8);
}
} else {
Color_RGBA8_Copy(&this->unk_1E4, &D_80A4FE00);
Color_RGBA8_Copy(&this->flashColor, &flashBlue);
if ((this->unk_200 % 0x14) == 7) {
Audio_PlaySoundGeneral(NA_SE_SY_WARNING_COUNT_N, &D_801333D4, 4, &D_801333E0, &D_801333E0,
&D_801333E8);
@ -312,14 +299,14 @@ void func_80A4ED34(EnGs* this, GlobalContext* globalCtx) {
if (this->unk_19F == 3) {
for (i = 0; i < 3; i++) {
sp5C.x = Math_Rand_CenteredFloat(15.0f);
sp5C.y = Math_Rand_ZeroFloat(-1.0f);
sp5C.z = Math_Rand_CenteredFloat(15.0f);
sp60.x = this->actor.posRot.pos.x + (sp5C.x + sp5C.x);
sp60.y = this->actor.posRot.pos.y + 7.0f;
sp60.z = this->actor.posRot.pos.z + (sp5C.z + sp5C.z);
func_8002836C(globalCtx, &sp60, &sp5C, &D_80A4FE08, &D_80A4FE14, &D_80A4FE18,
(s16)Math_Rand_ZeroFloat(50.0f) + 0xC8, 0x28, 0xF);
dustVelocity.x = Math_Rand_CenteredFloat(15.0f);
dustVelocity.y = Math_Rand_ZeroFloat(-1.0f);
dustVelocity.z = Math_Rand_CenteredFloat(15.0f);
dustPos.x = this->actor.posRot.pos.x + (dustVelocity.x + dustVelocity.x);
dustPos.y = this->actor.posRot.pos.y + 7.0f;
dustPos.z = this->actor.posRot.pos.z + (dustVelocity.z + dustVelocity.z);
func_8002836C(globalCtx, &dustPos, &dustVelocity, &dustAccel, &dustPrim, &dustEnv,
(s16)Math_Rand_ZeroFloat(50.0f) + 200, 40, 15);
}
func_8002F974(&this->actor, NA_SE_EV_FIRE_PILLAR - SFX_FLAG);
@ -336,11 +323,11 @@ void func_80A4ED34(EnGs* this, GlobalContext* globalCtx) {
if (this->unk_19F == 4) {
func_8002E4B4(globalCtx, &this->actor, 20.0f, 20.0f, 60.0f, 3);
if (this->actor.bgCheckFlags & 0x18) {
sp68.x = this->actor.posRot.pos.x;
sp68.y = this->actor.posRot.pos.y;
sp68.z = this->actor.posRot.pos.z;
bomb2Pos.x = this->actor.posRot.pos.x;
bomb2Pos.y = this->actor.posRot.pos.y;
bomb2Pos.z = this->actor.posRot.pos.z;
Audio_PlayActorSound2(&this->actor, NA_SE_IT_BOMB_EXPLOSION);
func_80028E84(globalCtx, &sp68, &D_80A4FE1C, &D_80A4FE28, 0x64, 0x14);
EffectSsBomb2_SpawnLayered(globalCtx, &bomb2Pos, &bomb2Velocity, &bomb2Accel, 100, 20);
this->unk_200 = 10;
this->unk_19E |= 8;
this->actionFunc = func_80A4F700;
@ -460,6 +447,7 @@ void func_80A4F13C(EnGs* this, GlobalContext* globalCtx) {
}
}
#else
void func_80A4F13C(EnGs* this, GlobalContext* globalCtx);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_En_Gs/func_80A4F13C.s")
#endif
@ -476,6 +464,8 @@ void func_80A4F734(EnGs* this, GlobalContext* globalCtx) {
}
void func_80A4F77C(EnGs* this) {
static Vec3s D_80A4FE34 = { 0, 0, 0 };
static Vec3f D_80A4FE3C = { 1.0f, 1.0f, 1.0f };
s32 i;
for (i = 0; i < 3; i++) {
@ -565,8 +555,8 @@ void EnGs_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPDisplayList(gfxCtx->polyOpa.p++, D_06000950);
if (this->unk_19E & 4) {
gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, this->unk_1E4.r, this->unk_1E4.g, this->unk_1E4.b,
this->unk_1E4.a);
gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, this->flashColor.r, this->flashColor.g, this->flashColor.b,
this->flashColor.a);
} else {
gDPSetPrimColor(gfxCtx->polyOpa.p++, 0, 0, 255, 255, 255, 255);
}

View File

@ -20,7 +20,7 @@ typedef struct EnGs {
/* 0x01B4 */ Vec3f unk_1B4[2];
/* 0x01CC */ char unk_1CC[0xC];
/* 0x01D8 */ Vec3f unk_1D8;
/* 0x01E4 */ Color_RGBA8 unk_1E4;
/* 0x01E4 */ Color_RGBA8 flashColor;
/* 0x01E8 */ f32 unk_1E8;
/* 0x01EC */ f32 unk_1EC;
/* 0x01F0 */ f32 unk_1F0;

View File

@ -70,35 +70,35 @@ void func_80AF03F4(EnRu1* this, GlobalContext* globalCtx);
void func_80AF0400(EnRu1* this, GlobalContext* globalCtx);
void func_80AF05D4(EnRu1* this, GlobalContext* globalCtx);
ColliderCylinderInit_Set3 sCylinderInit1 = {
static ColliderCylinderInit_Set3 sCylinderInit1 = {
{ COLTYPE_UNK0, 0x00, 0x00, 0x09, COLSHAPE_CYLINDER },
{ 0x00, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x00, 0x00, 0x01 },
{ 25, 80, 0, { 0 } },
};
ColliderCylinderInit_Set3 sCylinderInit2 = {
static ColliderCylinderInit_Set3 sCylinderInit2 = {
{ COLTYPE_UNK0, 0x09, 0x00, 0x09, COLSHAPE_CYLINDER },
{ 0x00, { 0x00000101, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, 0x01, 0x00, 0x01 },
{ 20, 30, 0, { 0 } },
};
UNK_PTR D_80AF0858[] = {
static UNK_PTR D_80AF0858[] = {
0x0600E3B8, 0x0600F238, 0x0600F638, 0x0600FE38, 0x06010238, 0x06010A38,
};
UNK_PTR D_80AF0870[] = {
static UNK_PTR D_80AF0870[] = {
0x0600E838,
0x0600FA38,
0x06010638,
};
s32 sUnused = 0;
static s32 sUnused = 0;
#include "z_en_ru1_cutscene_data.c" EARLY
u32 D_80AF1938 = 0;
static u32 D_80AF1938 = 0;
EnRu1ActionFunc sActionFuncs[] = {
static EnRu1ActionFunc sActionFuncs[] = {
func_80AEC0B4, func_80AEC100, func_80AEC130, func_80AEC17C, func_80AEC1D4, func_80AEC244, func_80AEC2C0,
func_80AECA94, func_80AECAB4, func_80AECAD4, func_80AECB18, func_80AECB60, func_80AECBB8, func_80AECC1C,
func_80AECC84, func_80AED304, func_80AED324, func_80AED344, func_80AED374, func_80AED3A4, func_80AED3E0,
@ -108,13 +108,13 @@ EnRu1ActionFunc sActionFuncs[] = {
func_80AEFBC8, func_80AEFC24, func_80AEFECC, func_80AEFF40,
};
EnRu1PreLimbDrawFunc sPreLimbDrawFuncs[] = {
static EnRu1PreLimbDrawFunc sPreLimbDrawFuncs[] = {
func_80AF0278,
};
Vec3f sMultVec = { 0.0f, 10.0f, 0.0f };
static Vec3f sMultVec = { 0.0f, 10.0f, 0.0f };
EnRu1DrawFunc sDrawFuncs[] = {
static EnRu1DrawFunc sDrawFuncs[] = {
func_80AF03F4,
func_80AF0400,
func_80AF05D4,

View File

@ -1,40 +1,95 @@
/*
* File: z_eff_ss_blast.c
* Overlay: ovl_Effect_Ss_Blast
* Description:
* Description: Shockwave Effect
*/
#include "z_eff_ss_blast.h"
typedef enum {
/* 0x00 */ SS_BLAST_0,
/* 0x01 */ SS_BLAST_1,
/* 0x02 */ SS_BLAST_2,
/* 0x03 */ SS_BLAST_3,
/* 0x04 */ SS_BLAST_4,
/* 0x05 */ SS_BLAST_5,
/* 0x06 */ SS_BLAST_6,
/* 0x07 */ SS_BLAST_7,
/* 0x08 */ SS_BLAST_8,
/* 0x09 */ SS_BLAST_9,
/* 0x0A */ SS_BLAST_A,
/* 0x0B */ SS_BLAST_B,
/* 0x0C */ SS_BLAST_C,
/* 0x00 */ SS_BLAST_ENV_R,
/* 0x01 */ SS_BLAST_ENV_G,
/* 0x02 */ SS_BLAST_ENV_B,
/* 0x03 */ SS_BLAST_ENV_A,
/* 0x04 */ SS_BLAST_PRIM_R,
/* 0x05 */ SS_BLAST_PRIM_G,
/* 0x06 */ SS_BLAST_PRIM_B,
/* 0x07 */ SS_BLAST_PRIM_A,
/* 0x08 */ SS_BLAST_ALPHA_STEP,
/* 0x09 */ SS_BLAST_RADIUS,
/* 0x0A */ SS_BLAST_RADIUS_STEP,
/* 0x0B */ SS_BLAST_RADIUS_STEP_DECR,
} EffectSsBlastRegs;
u32 EffectSsBlast_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx);
void EffectSsBlast_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this);
void EffectSsBlast_Update(GlobalContext* globalCtx, u32 index, EffectSs* this);
void EffectSsBlast_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this);
/*
EffectSsInit Effect_Ss_Blast_InitVars = {
EFFECT_SS_BLAST,
EffectSsBlast_Init,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/effects/ovl_Effect_Ss_Blast/EffectSsBlast_Init.s")
extern Gfx D_0401A0B0[];
#pragma GLOBAL_ASM("asm/non_matchings/overlays/effects/ovl_Effect_Ss_Blast/func_8099EF08.s")
u32 EffectSsBlast_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx) {
EffectSsBlastParams* initParams = (EffectSsBlastParams*)initParamsx;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/effects/ovl_Effect_Ss_Blast/func_8099F0AC.s")
this->pos = initParams->pos;
this->pos.y += 5.0f;
this->velocity = initParams->velocity;
this->accel = initParams->accel;
this->displayList = SEGMENTED_TO_VIRTUAL(D_0401A0B0);
this->life = initParams->life;
this->draw = EffectSsBlast_Draw;
this->update = EffectSsBlast_Update;
this->regs[SS_BLAST_ENV_R] = initParams->envColor.r;
this->regs[SS_BLAST_ENV_G] = initParams->envColor.g;
this->regs[SS_BLAST_ENV_B] = initParams->envColor.b;
this->regs[SS_BLAST_ENV_A] = initParams->envColor.a;
this->regs[SS_BLAST_PRIM_R] = initParams->primColor.r;
this->regs[SS_BLAST_PRIM_G] = initParams->primColor.g;
this->regs[SS_BLAST_PRIM_B] = initParams->primColor.b;
this->regs[SS_BLAST_PRIM_A] = initParams->primColor.a;
this->regs[SS_BLAST_ALPHA_STEP] = initParams->envColor.a / initParams->life;
this->regs[SS_BLAST_RADIUS] = initParams->radius;
this->regs[SS_BLAST_RADIUS_STEP] = initParams->radiusStep;
this->regs[SS_BLAST_RADIUS_STEP_DECR] = initParams->radiusStepDecr;
return 1;
}
void EffectSsBlast_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
s32 pad;
MtxF mtx;
s32 pad1;
f32 scale;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(&dispRefs, gfxCtx, "../z_eff_ss_blast.c", 170);
scale = this->regs[SS_BLAST_RADIUS] * 0.0025f;
func_80093D84(globalCtx->state.gfxCtx);
gDPSetEnvColor(gfxCtx->polyXlu.p++, this->regs[SS_BLAST_PRIM_R], this->regs[SS_BLAST_PRIM_G],
this->regs[SS_BLAST_PRIM_B], this->regs[SS_BLAST_PRIM_A]);
func_800BFCB8(globalCtx, &mtx, &this->pos);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, this->regs[SS_BLAST_ENV_R], this->regs[SS_BLAST_ENV_G],
this->regs[SS_BLAST_ENV_B], this->regs[SS_BLAST_ENV_A]);
Matrix_Put(&mtx);
Matrix_Scale(scale, scale, scale, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(gfxCtx, "../z_eff_ss_blast.c", 199),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, this->displayList);
Graph_CloseDisps(&dispRefs, gfxCtx, "../z_eff_ss_blast.c", 204);
}
void EffectSsBlast_Update(GlobalContext* globalCtx, u32 index, EffectSs* this) {
Math_ApproxS(&this->regs[SS_BLAST_ENV_A], 0, this->regs[SS_BLAST_ALPHA_STEP]);
this->regs[SS_BLAST_RADIUS] += this->regs[SS_BLAST_RADIUS_STEP];
if (this->regs[SS_BLAST_RADIUS_STEP] != 0) {
this->regs[SS_BLAST_RADIUS_STEP] -= this->regs[SS_BLAST_RADIUS_STEP_DECR];
}
}

View File

@ -8,6 +8,12 @@ typedef struct {
/* 0x00 */ Vec3f pos;
/* 0x0C */ Vec3f velocity;
/* 0x18 */ Vec3f accel;
} EffectSsBlastInitParams; // size = 0x
/* 0x24 */ Color_RGBA8 envColor;
/* 0x28 */ Color_RGBA8 primColor;
/* 0x2C */ s16 radius;
/* 0x2E */ s16 radiusStep;
/* 0x30 */ s16 radiusStepDecr;
/* 0x32 */ s16 life;
} EffectSsBlastParams; // size = 0x34
#endif

View File

@ -1,40 +1,102 @@
/*
* File: z_eff_ss_bomb.c
* Overlay: ovl_Effect_Ss_Bomb
* Description:
* Description: Bomb Blast. Unused in the orignal game.
*/
#include "z_eff_ss_bomb.h"
typedef enum {
/* 0x00 */ SS_BOMB_0,
/* 0x01 */ SS_BOMB_1,
/* 0x02 */ SS_BOMB_2,
/* 0x03 */ SS_BOMB_3,
/* 0x04 */ SS_BOMB_4,
/* 0x05 */ SS_BOMB_5,
/* 0x06 */ SS_BOMB_6,
/* 0x07 */ SS_BOMB_7,
/* 0x08 */ SS_BOMB_8,
/* 0x09 */ SS_BOMB_9,
/* 0x0A */ SS_BOMB_A,
/* 0x0B */ SS_BOMB_B,
/* 0x0C */ SS_BOMB_C,
/* 0x00 */ SS_BOMB_SCALE,
/* 0x01 */ SS_BOMB_TEX_IDX,
} EffectSsBombRegs;
u32 EffectSsBomb_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx);
void EffectSsBomb_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this);
void EffectSsBomb_Update(GlobalContext* globalCtx, u32 index, EffectSs* this);
/*
EffectSsInit Effect_Ss_Bomb_InitVars = {
EFFECT_SS_BOMB,
EffectSsBomb_Init,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/effects/ovl_Effect_Ss_Bomb/EffectSsBomb_Init.s")
static UNK_PTR D_8099F588[] = {
0x04007F80,
0x04008780,
0x04008F80,
0x04009780,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/effects/ovl_Effect_Ss_Bomb/func_8099F274.s")
extern Gfx D_0400BF80[];
#pragma GLOBAL_ASM("asm/non_matchings/overlays/effects/ovl_Effect_Ss_Bomb/func_8099F4D8.s")
u32 EffectSsBomb_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx) {
EffectSsBombInitParams* initParams = (EffectSsBombInitParams*)initParamsx;
Math_Vec3f_Copy(&this->pos, &initParams->pos);
Math_Vec3f_Copy(&this->velocity, &initParams->velocity);
Math_Vec3f_Copy(&this->accel, &initParams->accel);
this->displayList = SEGMENTED_TO_VIRTUAL(D_0400BF80);
this->life = 20;
this->draw = EffectSsBomb_Draw;
this->update = EffectSsBomb_Update;
this->regs[SS_BOMB_SCALE] = 100;
this->regs[SS_BOMB_TEX_IDX] = 0;
return 1;
}
void EffectSsBomb_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
s32 pad;
MtxF sp12C;
MtxF spEC;
MtxF spAC;
MtxF sp6C;
Mtx* mtx;
s32 pad2;
f32 scale;
s16 color;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
if (1) {}
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(&dispRefs, gfxCtx, "../z_eff_ss_bomb.c", 168);
scale = this->regs[SS_BOMB_SCALE] / 100.0f;
func_800A7A24(&sp12C, this->pos.x, this->pos.y, this->pos.z);
func_800A76A4(&spEC, scale, scale, 1.0f);
func_800A6FA0(&sp12C, &globalCtx->mf_11DA0, &sp6C);
func_800A6FA0(&sp6C, &spEC, &spAC);
gSPMatrix(gfxCtx->polyXlu.p++, &gMtxClear, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
mtx = func_800A7E70(gfxCtx, &spAC);
if (mtx != NULL) {
gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(gfxCtx->polyXlu.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_8099F588[this->regs[SS_BOMB_TEX_IDX]]));
gDPPipeSync(gfxCtx->polyXlu.p++);
func_80094C50(gfxCtx);
color = this->life * 12.75f;
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, color, color, color, color);
gDPPipeSync(gfxCtx->polyXlu.p++);
gSPDisplayList(gfxCtx->polyXlu.p++, this->displayList);
gDPPipeSync(gfxCtx->polyXlu.p++);
}
Graph_CloseDisps(&dispRefs, gfxCtx, "../z_eff_ss_bomb.c", 214);
}
void EffectSsBomb_Update(GlobalContext* globalCtx, u32 index, EffectSs* this) {
if ((this->life < 21) && (this->life >= 17)) {
this->regs[SS_BOMB_TEX_IDX] = (20 - this->life);
} else {
this->regs[SS_BOMB_SCALE] += 0;
this->regs[SS_BOMB_TEX_IDX] = 3;
}
this->accel.x = ((Math_Rand_ZeroOne() * 0.4f) - 0.2f);
this->accel.z = ((Math_Rand_ZeroOne() * 0.4f) - 0.2f);
}

View File

@ -8,6 +8,6 @@ typedef struct {
/* 0x00 */ Vec3f pos;
/* 0x0C */ Vec3f velocity;
/* 0x18 */ Vec3f accel;
} EffectSsBombInitParams; // size = 0x
} EffectSsBombInitParams; // size = 0x24
#endif

View File

@ -1,42 +1,207 @@
/*
* File: z_eff_ss_bomb2.c
* Overlay: ovl_Effect_Ss_Bomb2
* Description:
* Description: Bomb Blast
*/
#include "z_eff_ss_bomb2.h"
typedef enum {
/* 0x00 */ SS_BOMB2_0,
/* 0x01 */ SS_BOMB2_1,
/* 0x02 */ SS_BOMB2_2,
/* 0x03 */ SS_BOMB2_3,
/* 0x04 */ SS_BOMB2_4,
/* 0x05 */ SS_BOMB2_5,
/* 0x06 */ SS_BOMB2_6,
/* 0x07 */ SS_BOMB2_7,
/* 0x08 */ SS_BOMB2_8,
/* 0x09 */ SS_BOMB2_9,
/* 0x0A */ SS_BOMB2_A,
/* 0x0B */ SS_BOMB2_B,
/* 0x0C */ SS_BOMB2_C,
/* 0x00 */ SS_BOMB2_SCALE,
/* 0x01 */ SS_BOMB2_TEX_IDX,
/* 0x02 */ SS_BOMB2_PRIM_R,
/* 0x03 */ SS_BOMB2_PRIM_G,
/* 0x04 */ SS_BOMB2_PRIM_B,
/* 0x05 */ SS_BOMB2_PRIM_A,
/* 0x06 */ SS_BOMB2_ENV_R,
/* 0x07 */ SS_BOMB2_ENV_G,
/* 0x08 */ SS_BOMB2_ENV_B,
/* 0x09 */ SS_BOMB2_SCALE_STEP,
/* 0x0A */ SS_BOMB2_A
} EffectSsBomb2Regs;
u32 EffectSsBomb2_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx);
void EffectSsBomb2_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this);
void EffectSsBomb2_DrawFade(GlobalContext* globalCtx, u32 index, EffectSs* this);
void EffectSsBomb2_DrawLayered(GlobalContext* globalCtx, u32 index, EffectSs* this);
void EffectSsBomb2_Update(GlobalContext* globalCtx, u32 index, EffectSs* this);
/*
EffectSsInit Effect_Ss_Bomb2_InitVars = {
EFFECT_SS_BOMB2,
EffectSsBomb2_Init,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/effects/ovl_Effect_Ss_Bomb2/EffectSsBomb2_Init.s")
static void* sDrawFuncs[] = {
EffectSsBomb2_DrawFade,
EffectSsBomb2_DrawLayered,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/effects/ovl_Effect_Ss_Bomb2/func_8099F748.s")
static UNK_PTR D_8099FEE0[] = {
0x04007F80, 0x04008780, 0x04008F80, 0x04009780, 0x04009F80, 0x0400A780, 0x0400AF80, 0x0400B780,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/effects/ovl_Effect_Ss_Bomb2/func_8099F960.s")
static UNK_PTR D_8099FF00[] = {
0x04007F80, 0x04008780, 0x04008F80, 0x04009780, 0x04009F80, 0x0400A780, 0x0400AF80, 0x0400B780,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/effects/ovl_Effect_Ss_Bomb2/func_8099FCCC.s")
extern Gfx D_0400BF80[];
extern Gfx D_0400BFE8[];
extern Gfx D_0400C040[];
u32 EffectSsBomb2_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx) {
EffectSsBomb2InitParams* initParams = (EffectSsBomb2InitParams*)initParamsx;
Math_Vec3f_Copy(&this->pos, &initParams->pos);
Math_Vec3f_Copy(&this->velocity, &initParams->velocity);
Math_Vec3f_Copy(&this->accel, &initParams->accel);
this->displayList = SEGMENTED_TO_VIRTUAL(&D_0400BF80);
this->life = 24;
this->update = EffectSsBomb2_Update;
this->draw = sDrawFuncs[initParams->drawMode];
this->regs[SS_BOMB2_SCALE] = initParams->scale;
this->regs[SS_BOMB2_SCALE_STEP] = initParams->scaleStep;
this->regs[SS_BOMB2_PRIM_R] = 255;
this->regs[SS_BOMB2_PRIM_G] = 255;
this->regs[SS_BOMB2_PRIM_B] = 255;
this->regs[SS_BOMB2_PRIM_A] = 255;
this->regs[SS_BOMB2_ENV_R] = 0;
this->regs[SS_BOMB2_ENV_G] = 0;
this->regs[SS_BOMB2_ENV_B] = 200;
return 1;
}
// unused in the original game. looks like EffectSsBomb but with color
void EffectSsBomb2_DrawFade(GlobalContext* globalCtx, u32 index, EffectSs* this) {
s32 pad;
MtxF sp11C;
MtxF spDC;
MtxF sp9C;
MtxF sp5C;
Mtx* mtx;
s32 pad2;
f32 scale;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(&dispRefs, gfxCtx, "../z_eff_ss_bomb2.c", 298);
scale = this->regs[SS_BOMB2_SCALE] * 0.01f;
func_800A7A24(&sp11C, this->pos.x, this->pos.y, this->pos.z);
func_800A76A4(&spDC, scale, scale, 1.0f);
func_800A6FA0(&sp11C, &globalCtx->mf_11DA0, &sp5C);
func_800A6FA0(&sp5C, &spDC, &sp9C);
mtx = func_800A7E70(gfxCtx, &sp9C);
if (mtx != NULL) {
gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
func_80094BC4(gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, this->regs[SS_BOMB2_PRIM_R], this->regs[SS_BOMB2_PRIM_G],
this->regs[SS_BOMB2_PRIM_B], this->regs[SS_BOMB2_PRIM_A]);
gDPSetEnvColor(gfxCtx->polyXlu.p++, this->regs[SS_BOMB2_ENV_R], this->regs[SS_BOMB2_ENV_G],
this->regs[SS_BOMB2_ENV_B], 0);
gSPSegment(gfxCtx->polyXlu.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_8099FEE0[this->regs[SS_BOMB2_TEX_IDX]]));
gSPDisplayList(gfxCtx->polyXlu.p++, this->displayList);
if (1) {}
if (1) {}
}
Graph_CloseDisps(&dispRefs, gfxCtx, "../z_eff_ss_bomb2.c", 345);
}
void EffectSsBomb2_DrawLayered(GlobalContext* globalCtx, u32 index, EffectSs* this) {
s32 pad1;
MtxF sp1B4;
MtxF sp174;
MtxF sp134;
MtxF spF4;
MtxF spB4;
Mtx* mtx2;
Mtx* mtx;
s32 pad;
s32 pad2;
s32 pad3;
f32 scale;
f32 temp_f24;
f32 mtxScale = 0.925f;
s32 i;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(&dispRefs, gfxCtx, "../z_eff_ss_bomb2.c", 386);
temp_f24 = this->regs[SS_BOMB2_A];
scale = this->regs[SS_BOMB2_SCALE] * 0.01f;
func_800A7A24(&sp1B4, this->pos.x, this->pos.y, this->pos.z);
func_800A76A4(&sp174, scale, scale, 1.0f);
func_800A6FA0(&sp1B4, &globalCtx->mf_11DA0, &spF4);
func_800A6FA0(&spF4, &sp174, &sp134);
mtx = func_800A7E70(gfxCtx, &sp134);
if (mtx != NULL) {
gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
mtx2 = func_800A7E70(gfxCtx, &sp134);
if (mtx2 != NULL) {
func_80094BC4(gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, this->regs[SS_BOMB2_PRIM_R], this->regs[SS_BOMB2_PRIM_G],
this->regs[SS_BOMB2_PRIM_B], this->regs[SS_BOMB2_PRIM_A]);
gDPSetEnvColor(gfxCtx->polyXlu.p++, this->regs[SS_BOMB2_ENV_R], this->regs[SS_BOMB2_ENV_G],
this->regs[SS_BOMB2_ENV_B], 0);
gSPSegment(gfxCtx->polyXlu.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_8099FF00[this->regs[SS_BOMB2_TEX_IDX]]));
gSPDisplayList(gfxCtx->polyXlu.p++, D_0400BFE8);
gSPDisplayList(gfxCtx->polyXlu.p++, D_0400C040);
Matrix_MtxToMtxF(mtx2, &spB4);
Matrix_Put(&spB4);
for (i = 1; i >= 0; i--) {
Matrix_Translate(0.0f, 0.0f, temp_f24, MTXMODE_APPLY);
Matrix_RotateZ((this->life * 0.02f) + 180.0f, MTXMODE_APPLY);
Matrix_Scale(mtxScale, mtxScale, mtxScale, MTXMODE_APPLY);
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_eff_ss_bomb2.c", 448),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gfxCtx->polyXlu.p++, D_0400C040);
mtxScale -= 0.15f;
}
}
if (1) {}
if (1) {}
}
Graph_CloseDisps(&dispRefs, gfxCtx, "../z_eff_ss_bomb2.c", 456);
}
void EffectSsBomb2_Update(GlobalContext* globalCtx, u32 index, EffectSs* this) {
s32 divisor;
this->regs[SS_BOMB2_TEX_IDX] = (23 - this->life) / 3;
this->regs[SS_BOMB2_SCALE] += this->regs[SS_BOMB2_SCALE_STEP];
if (this->regs[SS_BOMB2_SCALE_STEP] == 30) {
this->regs[SS_BOMB2_A] += 4.0f;
} else {
this->regs[SS_BOMB2_A] += 2.0f;
}
if ((this->life < 23) && (this->life >= 14)) {
divisor = this->life - 13;
this->regs[SS_BOMB2_PRIM_R] = func_80027DD4(this->regs[SS_BOMB2_PRIM_R], 255, divisor);
this->regs[SS_BOMB2_PRIM_G] = func_80027DD4(this->regs[SS_BOMB2_PRIM_G], 255, divisor);
this->regs[SS_BOMB2_PRIM_B] = func_80027DD4(this->regs[SS_BOMB2_PRIM_B], 150, divisor);
this->regs[SS_BOMB2_PRIM_A] = func_80027DD4(this->regs[SS_BOMB2_PRIM_A], 255, divisor);
this->regs[SS_BOMB2_ENV_R] = func_80027DD4(this->regs[SS_BOMB2_ENV_R], 150, divisor);
this->regs[SS_BOMB2_ENV_G] = func_80027DD4(this->regs[SS_BOMB2_ENV_G], 0, divisor);
this->regs[SS_BOMB2_ENV_B] = func_80027DD4(this->regs[SS_BOMB2_ENV_B], 0, divisor);
} else if ((this->life < 14) && (this->life >= 0)) {
divisor = this->life + 1;
this->regs[SS_BOMB2_PRIM_R] = func_80027DD4(this->regs[SS_BOMB2_PRIM_R], 50, divisor);
this->regs[SS_BOMB2_PRIM_G] = func_80027DD4(this->regs[SS_BOMB2_PRIM_G], 50, divisor);
this->regs[SS_BOMB2_PRIM_B] = func_80027DD4(this->regs[SS_BOMB2_PRIM_B], 50, divisor);
this->regs[SS_BOMB2_PRIM_A] = func_80027DD4(this->regs[SS_BOMB2_PRIM_A], 150, divisor);
this->regs[SS_BOMB2_ENV_R] = func_80027DD4(this->regs[SS_BOMB2_ENV_R], 10, divisor);
this->regs[SS_BOMB2_ENV_G] = func_80027DD4(this->regs[SS_BOMB2_ENV_G], 10, divisor);
this->regs[SS_BOMB2_ENV_B] = func_80027DD4(this->regs[SS_BOMB2_ENV_B], 10, divisor);
}
}

View File

@ -8,6 +8,9 @@ typedef struct {
/* 0x00 */ Vec3f pos;
/* 0x0C */ Vec3f velocity;
/* 0x18 */ Vec3f accel;
} EffectSsBomb2InitParams; // size = 0x
/* 0x24 */ s16 scale;
/* 0x26 */ s16 scaleStep;
/* 0x28 */ u8 drawMode;
} EffectSsBomb2InitParams; // size = 0x30
#endif

View File

@ -1,38 +1,55 @@
/*
* File: z_eff_ss_dead_sound.c
* Overlay: ovl_Effect_Ss_Dead_Sound
* Description:
* Description: Plays a sound effect.
*
* If repeat mode is on, the sound is replayed every update for the duration of life.
* Repeat mode is unused in the original game.
*/
#include "z_eff_ss_dead_sound.h"
typedef enum {
/* 0x00 */ SS_DEAD_SOUND_0,
/* 0x01 */ SS_DEAD_SOUND_1,
/* 0x02 */ SS_DEAD_SOUND_2,
/* 0x03 */ SS_DEAD_SOUND_3,
/* 0x04 */ SS_DEAD_SOUND_4,
/* 0x05 */ SS_DEAD_SOUND_5,
/* 0x06 */ SS_DEAD_SOUND_6,
/* 0x07 */ SS_DEAD_SOUND_7,
/* 0x08 */ SS_DEAD_SOUND_8,
/* 0x09 */ SS_DEAD_SOUND_9,
/* 0x0A */ SS_DEAD_SOUND_A,
/* 0x0B */ SS_DEAD_SOUND_B,
/* 0x0C */ SS_DEAD_SOUND_C,
} EffectSsDead_SoundRegs;
/* 0x0A */ SS_DEADSOUND_SFX_ID = 10,
/* 0x0B */ SS_DEADSOUND_REPEAT_MODE,
} EffectSsDeadSoundRegs;
#define REPEAT_MODE_OFF 1
#define REPEAT_MODE_ON 2
u32 EffectSsDeadSound_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx);
void EffectSsDeadSound_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this);
void EffectSsDeadSound_Update(GlobalContext* globalCtx, u32 index, EffectSs* this);
/*
EffectSsInit Effect_Ss_Dead_Sound_InitVars = {
EFFECT_SS_DEAD_SOUND,
EffectSsDeadSound_Init,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/effects/ovl_Effect_Ss_Dead_Sound/EffectSsDeadSound_Init.s")
u32 EffectSsDeadSound_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx) {
EffectSsDeadSoundInitParams* initParams = (EffectSsDeadSoundInitParams*)initParamsx;
this->pos = initParams->pos;
this->velocity = initParams->velocity;
this->accel = initParams->accel;
this->flags = 2;
this->life = initParams->life;
this->draw = NULL;
this->update = EffectSsDeadSound_Update;
this->regs[SS_DEADSOUND_REPEAT_MODE] = initParams->repeatMode;
this->regs[SS_DEADSOUND_SFX_ID] = initParams->sfxId;
// "constructor 3"
osSyncPrintf("コンストラクター3\n");
return 1;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/effects/ovl_Effect_Ss_Dead_Sound/func_809A1BD8.s")
void EffectSsDeadSound_Update(GlobalContext* globalCtx, u32 index, EffectSs* this) {
switch (this->regs[SS_DEADSOUND_REPEAT_MODE]) {
case REPEAT_MODE_OFF:
this->regs[SS_DEADSOUND_REPEAT_MODE]--;
break;
case REPEAT_MODE_ON:
break;
default:
return;
}
Audio_PlaySoundGeneral(this->regs[SS_DEADSOUND_SFX_ID], &this->pos, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}

View File

@ -8,6 +8,11 @@ typedef struct {
/* 0x00 */ Vec3f pos;
/* 0x0C */ Vec3f velocity;
/* 0x18 */ Vec3f accel;
} EffectSsDeadSoundInitParams; // size = 0x
/* 0x24 */ u16 sfxId;
/* 0x26 */ s16 lowerPriority;
/* 0x28 */ s16 repeatMode;
/* 0x26 */ s16 unused2;
/* 0x2C */ s32 life;
} EffectSsDeadSoundInitParams; // size = 0x30
#endif

View File

@ -34,9 +34,8 @@ EffectSsInit Effect_Ss_Dust_InitVars = {
static void* sUpdateFuncs[] = { EffectSsDust_Update, EffectSsBlast_UpdateFire };
UNK_PTR D_809A2A50[] = {
0x04051DB0, 0x040521B0, 0x040525B0, 0x040529B0, 0x04052DB0, 0x040531B0, 0x040535B0, 0x040539B0
};
static UNK_PTR D_809A2A50[] = { 0x04051DB0, 0x040521B0, 0x040525B0, 0x040529B0,
0x04052DB0, 0x040531B0, 0x040535B0, 0x040539B0 };
extern Gfx D_04010050[];
@ -47,7 +46,7 @@ u32 EffectSsDust_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void*
Math_Vec3f_Copy(&this->pos, &initParams->pos);
Math_Vec3f_Copy(&this->velocity, &initParams->velocity);
Math_Vec3f_Copy(&this->accel, &initParams->accel);
this->unk_38 = SEGMENTED_TO_VIRTUAL(&D_04010050);
this->displayList = SEGMENTED_TO_VIRTUAL(&D_04010050);
this->life = initParams->life;
this->update = sUpdateFuncs[initParams->updateMode];
this->draw = EffectSsDust_Draw;
@ -129,7 +128,7 @@ void EffectSsDust_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
this->regs[SS_DUST_PRIM_B], 255);
gDPSetEnvColor(gfxCtx->polyXlu.p++, this->regs[SS_DUST_ENV_R], this->regs[SS_DUST_ENV_G],
this->regs[SS_DUST_ENV_B], this->regs[SS_DUST_ENV_A]);
gSPDisplayList(gfxCtx->polyXlu.p++, this->unk_38);
gSPDisplayList(gfxCtx->polyXlu.p++, this->displayList);
}
Graph_CloseDisps(dispRefs, gfxCtx, "../z_eff_ss_dust.c", 389);

View File

@ -1,42 +1,155 @@
/*
* File: z_eff_ss_g_spk.c
* Overlay: ovl_Effect_Ss_G_Spk
* Description:
* Description: Fuse Sparks
*/
#include "z_eff_ss_g_spk.h"
typedef enum {
/* 0x00 */ SS_G_SPK_0,
/* 0x01 */ SS_G_SPK_1,
/* 0x02 */ SS_G_SPK_2,
/* 0x03 */ SS_G_SPK_3,
/* 0x04 */ SS_G_SPK_4,
/* 0x05 */ SS_G_SPK_5,
/* 0x06 */ SS_G_SPK_6,
/* 0x07 */ SS_G_SPK_7,
/* 0x08 */ SS_G_SPK_8,
/* 0x09 */ SS_G_SPK_9,
/* 0x0A */ SS_G_SPK_A,
/* 0x0B */ SS_G_SPK_B,
/* 0x0C */ SS_G_SPK_C,
} EffectSsG_SpkRegs;
/* 0x00 */ SS_G_SPK_PRIM_R,
/* 0x01 */ SS_G_SPK_PRIM_G,
/* 0x02 */ SS_G_SPK_PRIM_B,
/* 0x03 */ SS_G_SPK_PRIM_A,
/* 0x04 */ SS_G_SPK_ENV_R,
/* 0x05 */ SS_G_SPK_ENV_G,
/* 0x06 */ SS_G_SPK_ENV_B,
/* 0x07 */ SS_G_SPK_ENV_A,
/* 0x08 */ SS_G_SPK_TEX_IDX,
/* 0x09 */ SS_G_SPK_SCALE,
/* 0x0A */ SS_G_SPK_SCALE_STEP,
} EffectSsGSpkRegs;
#define SPARK_SOURCE ((Actor*)this->unk_3C)
u32 EffectSsGSpk_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx);
void EffectSsGSpk_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this);
void EffectSsGSpk_Update(GlobalContext* globalCtx, u32 index, EffectSs* this);
void EffectSsGSpk_UpdateNoAccel(GlobalContext* globalCtx, u32 index, EffectSs* this);
void EffectSsGSpk_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this);
/*
EffectSsInit Effect_Ss_G_Spk_InitVars = {
EFFECT_SS_G_SPK,
EffectSsGSpk_Init,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/effects/ovl_Effect_Ss_G_Spk/EffectSsGSpk_Init.s")
static UNK_PTR D_809A7498[] = {
0x04055FB0,
0x040561B0,
0x040563B0,
0x040565B0,
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/effects/ovl_Effect_Ss_G_Spk/func_809A70A0.s")
extern Gfx D_04025550[];
#pragma GLOBAL_ASM("asm/non_matchings/overlays/effects/ovl_Effect_Ss_G_Spk/func_809A72C0.s")
u32 EffectSsGSpk_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx) {
EffectSsGSpkInitParams* initParams = (EffectSsGSpkInitParams*)initParamsx;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/effects/ovl_Effect_Ss_G_Spk/func_809A73C8.s")
Math_Vec3f_Copy(&this->pos, &initParams->pos);
Math_Vec3f_Copy(&this->velocity, &initParams->velocity);
Math_Vec3f_Copy(&this->accel, &initParams->accel);
this->displayList = SEGMENTED_TO_VIRTUAL(&D_04025550);
if (initParams->updateMode == 0) {
this->life = 10;
this->unk_2C.x = initParams->pos.x - initParams->actor->posRot.pos.x;
this->unk_2C.y = initParams->pos.y - initParams->actor->posRot.pos.y;
this->unk_2C.z = initParams->pos.z - initParams->actor->posRot.pos.z;
this->update = EffectSsGSpk_Update;
} else {
this->life = 5;
this->update = EffectSsGSpk_UpdateNoAccel;
}
this->draw = EffectSsGSpk_Draw;
this->regs[SS_G_SPK_PRIM_R] = initParams->primColor.r;
this->regs[SS_G_SPK_PRIM_G] = initParams->primColor.g;
this->regs[SS_G_SPK_PRIM_B] = initParams->primColor.b;
this->regs[SS_G_SPK_PRIM_A] = initParams->primColor.a;
this->regs[SS_G_SPK_ENV_R] = initParams->envColor.r;
this->regs[SS_G_SPK_ENV_G] = initParams->envColor.g;
this->regs[SS_G_SPK_ENV_B] = initParams->envColor.b;
this->regs[SS_G_SPK_ENV_A] = initParams->envColor.a;
this->regs[SS_G_SPK_TEX_IDX] = 0;
this->regs[SS_G_SPK_SCALE] = initParams->scale;
this->regs[SS_G_SPK_SCALE_STEP] = initParams->scaleStep;
this->unk_3C = initParams->actor;
return 1;
}
void EffectSsGSpk_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
s32 pad;
MtxF sp11C;
MtxF spDC;
MtxF sp9C;
MtxF sp5C;
Mtx* mtx;
f32 scale;
s32 pad1;
GraphicsContext* gfxCtx;
Gfx* dispRefs[4];
gfxCtx = globalCtx->state.gfxCtx;
Graph_OpenDisps(&dispRefs, gfxCtx, "../z_eff_ss_g_spk.c", 208);
scale = this->regs[SS_G_SPK_SCALE] * 0.0025f;
func_800A7A24(&sp11C, this->pos.x, this->pos.y, this->pos.z);
func_800A76A4(&spDC, scale, scale, 1.0f);
func_800A6FA0(&sp11C, &globalCtx->mf_11DA0, &sp5C);
func_800A6FA0(&sp5C, &spDC, &sp9C);
mtx = func_800A7E70(gfxCtx, &sp9C);
if (mtx != NULL) {
gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(gfxCtx->polyXlu.p++, 0x08, SEGMENTED_TO_VIRTUAL(D_809A7498[this->regs[SS_G_SPK_TEX_IDX]]));
func_80094BC4(gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, this->regs[SS_G_SPK_PRIM_R], this->regs[SS_G_SPK_PRIM_G],
this->regs[SS_G_SPK_PRIM_B], 255);
gDPSetEnvColor(gfxCtx->polyXlu.p++, this->regs[SS_G_SPK_ENV_R], this->regs[SS_G_SPK_ENV_G],
this->regs[SS_G_SPK_ENV_B], this->regs[SS_G_SPK_ENV_A]);
gSPDisplayList(gfxCtx->polyXlu.p++, this->displayList);
}
if (1) {}
if (1) {}
Graph_CloseDisps(&dispRefs, gfxCtx, "../z_eff_ss_g_spk.c", 255);
}
void EffectSsGSpk_Update(GlobalContext* globalCtx, u32 index, EffectSs* this) {
this->accel.x = (Math_Rand_ZeroOne() - 0.5f) * 3.0f;
this->accel.z = (Math_Rand_ZeroOne() - 0.5f) * 3.0f;
if (SPARK_SOURCE != NULL) {
if ((SPARK_SOURCE->type == ACTORTYPE_EXPLOSIVES) && (SPARK_SOURCE->update != NULL)) {
this->pos.x = SPARK_SOURCE->posRot.pos.x + this->unk_2C.x;
this->pos.y = SPARK_SOURCE->posRot.pos.y + this->unk_2C.y;
this->pos.z = SPARK_SOURCE->posRot.pos.z + this->unk_2C.z;
}
}
this->unk_2C.x += this->accel.x;
this->unk_2C.z += this->accel.z;
this->regs[SS_G_SPK_TEX_IDX]++;
this->regs[SS_G_SPK_TEX_IDX] &= 3;
this->regs[SS_G_SPK_SCALE] += this->regs[SS_G_SPK_SCALE_STEP];
}
// this update mode is unused in the original game
// with this update mode, the sparks dont move randomly in the xz plane, appearing to be on top of each other
void EffectSsGSpk_UpdateNoAccel(GlobalContext* globalCtx, u32 index, EffectSs* this) {
if (SPARK_SOURCE != NULL) {
if ((SPARK_SOURCE->type == ACTORTYPE_EXPLOSIVES) && (SPARK_SOURCE->update != NULL)) {
this->pos.x += (Math_Sins(SPARK_SOURCE->posRot.rot.y) * SPARK_SOURCE->speedXZ);
this->pos.z += (Math_Coss(SPARK_SOURCE->posRot.rot.y) * SPARK_SOURCE->speedXZ);
}
}
this->regs[SS_G_SPK_TEX_IDX]++;
this->regs[SS_G_SPK_TEX_IDX] &= 3;
this->regs[SS_G_SPK_SCALE] += this->regs[SS_G_SPK_SCALE_STEP];
}

View File

@ -5,9 +5,15 @@
#include <global.h>
typedef struct {
/* 0x00 */ Vec3f pos;
/* 0x0C */ Vec3f velocity;
/* 0x18 */ Vec3f accel;
} EffectSsGSpkInitParams; // size = 0x
/* 0x00 */ Actor* actor;
/* 0x04 */ Vec3f pos;
/* 0x10 */ Vec3f velocity;
/* 0x1C */ Vec3f accel;
/* 0x28 */ Color_RGBA8 primColor;
/* 0x2C */ Color_RGBA8 envColor;
/* 0x30 */ s16 scale;
/* 0x32 */ s16 scaleStep;
/* 0x34 */ u8 updateMode;
} EffectSsGSpkInitParams; // size = 0x38
#endif

View File

@ -738,7 +738,21 @@ D_04010050 = 0x04010050;
D_06000660 = 0x06000660;
D_06000FC0 = 0x06000FC0;
// z_en_fhg_fire display lists
// z_eff_ss_blast
D_0401A0B0 = 0x0401A0B0;
// z_eff_ss_g_spk
D_04025550 = 0x04025550;
// z_eff_ss_bomb
D_0400BF80 = 0x0400BF80;
// z_eff_ss_bomb2
D_0400BF80 = 0x0400BF80;
D_0400BFE8 = 0x0400BFE8;
D_0400C040 = 0x0400C040;
// z_en_fhg_fire
D_0600FAA0 = 0x0600FAA0;
D_0600FCF8 = 0x0600FCF8;
D_060105E0 = 0x060105E0;