mirror of
https://github.com/zeldaret/oot.git
synced 2025-02-09 05:44:26 +00:00
void EffDust_UpdateFunc_8099DD74(EffDust *this, GlobalContext *globalCtx)
Signed-off-by: angie <angheloalf95@gmail.com>
This commit is contained in:
parent
6cb3ef2e41
commit
52298c1ffa
2 changed files with 32 additions and 170 deletions
|
@ -1,167 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_8099EC04
|
||||
.float 0.03
|
||||
|
||||
.text
|
||||
glabel func_8099DD74
|
||||
/* 004A4 8099DD74 27BDFF90 */ addiu $sp, $sp, 0xFF90 ## $sp = FFFFFF90
|
||||
/* 004A8 8099DD78 F7B60020 */ sdc1 $f22, 0x0020($sp)
|
||||
/* 004AC 8099DD7C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
|
||||
/* 004B0 8099DD80 4481B000 */ mtc1 $at, $f22 ## $f22 = 1.00
|
||||
/* 004B4 8099DD84 AFB60060 */ sw $s6, 0x0060($sp)
|
||||
/* 004B8 8099DD88 AFB30054 */ sw $s3, 0x0054($sp)
|
||||
/* 004BC 8099DD8C 3C01809A */ lui $at, %hi(D_8099EC04) ## $at = 809A0000
|
||||
/* 004C0 8099DD90 0080B025 */ or $s6, $a0, $zero ## $s6 = 00000000
|
||||
/* 004C4 8099DD94 AFBF006C */ sw $ra, 0x006C($sp)
|
||||
/* 004C8 8099DD98 AFBE0068 */ sw $s8, 0x0068($sp)
|
||||
/* 004CC 8099DD9C AFB70064 */ sw $s7, 0x0064($sp)
|
||||
/* 004D0 8099DDA0 AFB5005C */ sw $s5, 0x005C($sp)
|
||||
/* 004D4 8099DDA4 AFB40058 */ sw $s4, 0x0058($sp)
|
||||
/* 004D8 8099DDA8 AFB20050 */ sw $s2, 0x0050($sp)
|
||||
/* 004DC 8099DDAC AFB1004C */ sw $s1, 0x004C($sp)
|
||||
/* 004E0 8099DDB0 AFB00048 */ sw $s0, 0x0048($sp)
|
||||
/* 004E4 8099DDB4 F7BE0040 */ sdc1 $f30, 0x0040($sp)
|
||||
/* 004E8 8099DDB8 F7BC0038 */ sdc1 $f28, 0x0038($sp)
|
||||
/* 004EC 8099DDBC F7BA0030 */ sdc1 $f26, 0x0030($sp)
|
||||
/* 004F0 8099DDC0 F7B80028 */ sdc1 $f24, 0x0028($sp)
|
||||
/* 004F4 8099DDC4 F7B40018 */ sdc1 $f20, 0x0018($sp)
|
||||
/* 004F8 8099DDC8 AFA50074 */ sw $a1, 0x0074($sp)
|
||||
/* 004FC 8099DDCC 2482014C */ addiu $v0, $a0, 0x014C ## $v0 = 0000014C
|
||||
/* 00500 8099DDD0 C422EC04 */ lwc1 $f2, %lo(D_8099EC04)($at)
|
||||
/* 00504 8099DDD4 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
|
||||
/* 00508 8099DDD8 24030040 */ addiu $v1, $zero, 0x0040 ## $v1 = 00000040
|
||||
.L8099DDDC:
|
||||
/* 0050C 8099DDDC C4400000 */ lwc1 $f0, 0x0000($v0) ## 0000014C
|
||||
/* 00510 8099DDE0 26730004 */ addiu $s3, $s3, 0x0004 ## $s3 = 00000004
|
||||
/* 00514 8099DDE4 4616003C */ c.lt.s $f0, $f22
|
||||
/* 00518 8099DDE8 00000000 */ nop
|
||||
/* 0051C 8099DDEC 45020004 */ bc1fl .L8099DE00
|
||||
/* 00520 8099DDF0 C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000150
|
||||
/* 00524 8099DDF4 46020100 */ add.s $f4, $f0, $f2
|
||||
/* 00528 8099DDF8 E4440000 */ swc1 $f4, 0x0000($v0) ## 0000014C
|
||||
/* 0052C 8099DDFC C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000150
|
||||
.L8099DE00:
|
||||
/* 00530 8099DE00 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000150
|
||||
/* 00534 8099DE04 4616003C */ c.lt.s $f0, $f22
|
||||
/* 00538 8099DE08 00000000 */ nop
|
||||
/* 0053C 8099DE0C 45020004 */ bc1fl .L8099DE20
|
||||
/* 00540 8099DE10 C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000154
|
||||
/* 00544 8099DE14 46020180 */ add.s $f6, $f0, $f2
|
||||
/* 00548 8099DE18 E4460000 */ swc1 $f6, 0x0000($v0) ## 00000150
|
||||
/* 0054C 8099DE1C C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000154
|
||||
.L8099DE20:
|
||||
/* 00550 8099DE20 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000154
|
||||
/* 00554 8099DE24 4616003C */ c.lt.s $f0, $f22
|
||||
/* 00558 8099DE28 00000000 */ nop
|
||||
/* 0055C 8099DE2C 45020004 */ bc1fl .L8099DE40
|
||||
/* 00560 8099DE30 C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000158
|
||||
/* 00564 8099DE34 46020200 */ add.s $f8, $f0, $f2
|
||||
/* 00568 8099DE38 E4480000 */ swc1 $f8, 0x0000($v0) ## 00000154
|
||||
/* 0056C 8099DE3C C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000158
|
||||
.L8099DE40:
|
||||
/* 00570 8099DE40 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000158
|
||||
/* 00574 8099DE44 4616003C */ c.lt.s $f0, $f22
|
||||
/* 00578 8099DE48 00000000 */ nop
|
||||
/* 0057C 8099DE4C 45000003 */ bc1f .L8099DE5C
|
||||
/* 00580 8099DE50 00000000 */ nop
|
||||
/* 00584 8099DE54 46020280 */ add.s $f10, $f0, $f2
|
||||
/* 00588 8099DE58 E44A0000 */ swc1 $f10, 0x0000($v0) ## 00000158
|
||||
.L8099DE5C:
|
||||
/* 0058C 8099DE5C 1663FFDF */ bne $s3, $v1, .L8099DDDC
|
||||
/* 00590 8099DE60 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 0000015C
|
||||
/* 00594 8099DE64 3C014600 */ lui $at, 0x4600 ## $at = 46000000
|
||||
/* 00598 8099DE68 4481E000 */ mtc1 $at, $f28 ## $f28 = 8192.00
|
||||
/* 0059C 8099DE6C 3C014780 */ lui $at, 0x4780 ## $at = 47800000
|
||||
/* 005A0 8099DE70 4481D000 */ mtc1 $at, $f26 ## $f26 = 65536.00
|
||||
/* 005A4 8099DE74 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000
|
||||
/* 005A8 8099DE78 4481C000 */ mtc1 $at, $f24 ## $f24 = 400.00
|
||||
/* 005AC 8099DE7C 4480F000 */ mtc1 $zero, $f30 ## $f30 = 0.00
|
||||
/* 005B0 8099DE80 0000A825 */ or $s5, $zero, $zero ## $s5 = 00000000
|
||||
/* 005B4 8099DE84 241E0002 */ addiu $s8, $zero, 0x0002 ## $s8 = 00000002
|
||||
/* 005B8 8099DE88 2417000C */ addiu $s7, $zero, 0x000C ## $s7 = 0000000C
|
||||
/* 005BC 8099DE8C 92D3054C */ lbu $s3, 0x054C($s6) ## 0000054C
|
||||
.L8099DE90:
|
||||
/* 005C0 8099DE90 3273003F */ andi $s3, $s3, 0x003F ## $s3 = 00000004
|
||||
/* 005C4 8099DE94 00137080 */ sll $t6, $s3, 2
|
||||
/* 005C8 8099DE98 02CEA021 */ addu $s4, $s6, $t6
|
||||
/* 005CC 8099DE9C C690014C */ lwc1 $f16, 0x014C($s4) ## 0000014C
|
||||
/* 005D0 8099DEA0 4610B03E */ c.le.s $f22, $f16
|
||||
/* 005D4 8099DEA4 00000000 */ nop
|
||||
/* 005D8 8099DEA8 45020031 */ bc1fl .L8099DF70
|
||||
/* 005DC 8099DEAC 26B50001 */ addiu $s5, $s5, 0x0001 ## $s5 = 00000001
|
||||
/* 005E0 8099DEB0 0C00CFC8 */ jal Rand_CenteredFloat
|
||||
|
||||
/* 005E4 8099DEB4 4600D306 */ mov.s $f12, $f26
|
||||
/* 005E8 8099DEB8 4600048D */ trunc.w.s $f18, $f0
|
||||
/* 005EC 8099DEBC 4600E306 */ mov.s $f12, $f28
|
||||
/* 005F0 8099DEC0 44129000 */ mfc1 $s2, $f18
|
||||
/* 005F4 8099DEC4 00000000 */ nop
|
||||
/* 005F8 8099DEC8 00129400 */ sll $s2, $s2, 16
|
||||
/* 005FC 8099DECC 0C00CFBE */ jal Rand_ZeroFloat
|
||||
|
||||
/* 00600 8099DED0 00129403 */ sra $s2, $s2, 16
|
||||
/* 00604 8099DED4 4600010D */ trunc.w.s $f4, $f0
|
||||
/* 00608 8099DED8 00122400 */ sll $a0, $s2, 16
|
||||
/* 0060C 8099DEDC 00042403 */ sra $a0, $a0, 16
|
||||
/* 00610 8099DEE0 44102000 */ mfc1 $s0, $f4
|
||||
/* 00614 8099DEE4 00000000 */ nop
|
||||
/* 00618 8099DEE8 00108400 */ sll $s0, $s0, 16
|
||||
/* 0061C 8099DEEC 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 00620 8099DEF0 00108403 */ sra $s0, $s0, 16
|
||||
/* 00624 8099DEF4 00102400 */ sll $a0, $s0, 16
|
||||
/* 00628 8099DEF8 00042403 */ sra $a0, $a0, 16
|
||||
/* 0062C 8099DEFC 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 00630 8099DF00 46000506 */ mov.s $f20, $f0
|
||||
/* 00634 8099DF04 4614C182 */ mul.s $f6, $f24, $f20
|
||||
/* 00638 8099DF08 00102400 */ sll $a0, $s0, 16
|
||||
/* 0063C 8099DF0C 02770019 */ multu $s3, $s7
|
||||
/* 00640 8099DF10 00042403 */ sra $a0, $a0, 16
|
||||
/* 00644 8099DF14 46060202 */ mul.s $f8, $f0, $f6
|
||||
/* 00648 8099DF18 0000C812 */ mflo $t9
|
||||
/* 0064C 8099DF1C 02D98821 */ addu $s1, $s6, $t9
|
||||
/* 00650 8099DF20 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 00654 8099DF24 E628024C */ swc1 $f8, 0x024C($s1) ## 0000024C
|
||||
/* 00658 8099DF28 46180282 */ mul.s $f10, $f0, $f24
|
||||
/* 0065C 8099DF2C 00122400 */ sll $a0, $s2, 16
|
||||
/* 00660 8099DF30 00042403 */ sra $a0, $a0, 16
|
||||
/* 00664 8099DF34 0C01DE1C */ jal Math_SinS
|
||||
## sins?
|
||||
/* 00668 8099DF38 E62A0250 */ swc1 $f10, 0x0250($s1) ## 00000250
|
||||
/* 0066C 8099DF3C 00102400 */ sll $a0, $s0, 16
|
||||
/* 00670 8099DF40 00042403 */ sra $a0, $a0, 16
|
||||
/* 00674 8099DF44 0C01DE0D */ jal Math_CosS
|
||||
## coss?
|
||||
/* 00678 8099DF48 46000506 */ mov.s $f20, $f0
|
||||
/* 0067C 8099DF4C 4614C402 */ mul.s $f16, $f24, $f20
|
||||
/* 00680 8099DF50 00000000 */ nop
|
||||
/* 00684 8099DF54 46100482 */ mul.s $f18, $f0, $f16
|
||||
/* 00688 8099DF58 E6320254 */ swc1 $f18, 0x0254($s1) ## 00000254
|
||||
/* 0068C 8099DF5C E69E014C */ swc1 $f30, 0x014C($s4) ## 0000014C
|
||||
/* 00690 8099DF60 92C8054C */ lbu $t0, 0x054C($s6) ## 0000054C
|
||||
/* 00694 8099DF64 25090001 */ addiu $t1, $t0, 0x0001 ## $t1 = 00000001
|
||||
/* 00698 8099DF68 A2C9054C */ sb $t1, 0x054C($s6) ## 0000054C
|
||||
/* 0069C 8099DF6C 26B50001 */ addiu $s5, $s5, 0x0001 ## $s5 = 00000002
|
||||
.L8099DF70:
|
||||
/* 006A0 8099DF70 56BEFFC7 */ bnel $s5, $s8, .L8099DE90
|
||||
/* 006A4 8099DF74 92D3054C */ lbu $s3, 0x054C($s6) ## 0000054C
|
||||
/* 006A8 8099DF78 8FBF006C */ lw $ra, 0x006C($sp)
|
||||
/* 006AC 8099DF7C D7B40018 */ ldc1 $f20, 0x0018($sp)
|
||||
/* 006B0 8099DF80 D7B60020 */ ldc1 $f22, 0x0020($sp)
|
||||
/* 006B4 8099DF84 D7B80028 */ ldc1 $f24, 0x0028($sp)
|
||||
/* 006B8 8099DF88 D7BA0030 */ ldc1 $f26, 0x0030($sp)
|
||||
/* 006BC 8099DF8C D7BC0038 */ ldc1 $f28, 0x0038($sp)
|
||||
/* 006C0 8099DF90 D7BE0040 */ ldc1 $f30, 0x0040($sp)
|
||||
/* 006C4 8099DF94 8FB00048 */ lw $s0, 0x0048($sp)
|
||||
/* 006C8 8099DF98 8FB1004C */ lw $s1, 0x004C($sp)
|
||||
/* 006CC 8099DF9C 8FB20050 */ lw $s2, 0x0050($sp)
|
||||
/* 006D0 8099DFA0 8FB30054 */ lw $s3, 0x0054($sp)
|
||||
/* 006D4 8099DFA4 8FB40058 */ lw $s4, 0x0058($sp)
|
||||
/* 006D8 8099DFA8 8FB5005C */ lw $s5, 0x005C($sp)
|
||||
/* 006DC 8099DFAC 8FB60060 */ lw $s6, 0x0060($sp)
|
||||
/* 006E0 8099DFB0 8FB70064 */ lw $s7, 0x0064($sp)
|
||||
/* 006E4 8099DFB4 8FBE0068 */ lw $s8, 0x0068($sp)
|
||||
/* 006E8 8099DFB8 03E00008 */ jr $ra
|
||||
/* 006EC 8099DFBC 27BD0070 */ addiu $sp, $sp, 0x0070 ## $sp = 00000000
|
|
@ -12,7 +12,7 @@ void EffDust_Draw(Actor* thisx, GlobalContext* globalCtx);
|
|||
void func_8099D8E0(EffDust* this);
|
||||
|
||||
void EffDust_UpdateFunc_8099DB28(EffDust* this, GlobalContext* globalCtx);
|
||||
void func_8099DD74(EffDust* this, GlobalContext* globalCtx);
|
||||
void EffDust_UpdateFunc_8099DD74(EffDust* this, GlobalContext* globalCtx);
|
||||
void func_8099DFC0(EffDust* this, GlobalContext* globalCtx);
|
||||
void func_8099E4F4(EffDust* this, GlobalContext* globalCtx);
|
||||
void func_8099E784(EffDust* this, GlobalContext* globalCtx);
|
||||
|
@ -79,7 +79,7 @@ void EffDust_Init(Actor *thisx, GlobalContext *globalCtx) {
|
|||
break;
|
||||
|
||||
case 1:
|
||||
EffDust_setUpdateFunc(this, func_8099DD74);
|
||||
EffDust_setUpdateFunc(this, EffDust_UpdateFunc_8099DD74);
|
||||
EffDust_setDrawFunc(this, func_8099E4F4);
|
||||
this->unk_0550 = 0.8f;
|
||||
this->unk_0558 = 0.8f;
|
||||
|
@ -155,7 +155,36 @@ void EffDust_UpdateFunc_8099DB28(EffDust *this, GlobalContext *globalCtx) {
|
|||
}
|
||||
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099DD74.s")
|
||||
void EffDust_UpdateFunc_8099DD74(EffDust *this, GlobalContext *globalCtx) {
|
||||
s16 theta;
|
||||
s16 fi;
|
||||
|
||||
f32 *unk_014C;
|
||||
|
||||
s32 i;
|
||||
s32 j;
|
||||
|
||||
unk_014C = this->unk_014C;
|
||||
for (i = 0; i < 0x40; i++) {
|
||||
if ((*unk_014C) < 1.0f) {
|
||||
*unk_014C += 0.03f;
|
||||
}
|
||||
unk_014C++;
|
||||
}
|
||||
|
||||
for (j = 0; j < 2; j++){
|
||||
i = this->unk_054C & 0x3F;
|
||||
if (this->unk_014C[i] >= 1.0f) {
|
||||
fi = Rand_CenteredFloat(65536.0f);
|
||||
theta = Rand_ZeroFloat(8192.0f);
|
||||
this->unk_024C[i].x = 400.0f * Math_CosS(fi) * Math_CosS(theta);
|
||||
this->unk_024C[i].y = 400.0f * Math_SinS(theta);
|
||||
this->unk_024C[i].z = 400.0f * Math_SinS(fi) * Math_CosS(theta);
|
||||
this->unk_014C[i] = 0.0f;
|
||||
this->unk_054C += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099DFC0.s")
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue