1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-16 21:05:12 +00:00

Array of cylinders and two other functions

Signed-off-by: Anghelo <angheloalf95@gmail.com>
This commit is contained in:
Anghelo 2021-01-26 16:22:13 -03:00
parent efeae53e62
commit 4b9af9eee9
4 changed files with 84 additions and 301 deletions

View file

@ -1,105 +0,0 @@
glabel func_8097AEE8
/* 025B8 8097AEE8 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 025BC 8097AEEC AFA5003C */ sw $a1, 0x003C($sp)
/* 025C0 8097AEF0 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
/* 025C4 8097AEF4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 025C8 8097AEF8 AFA40038 */ sw $a0, 0x0038($sp)
/* 025CC 8097AEFC 84840032 */ lh $a0, 0x0032($a0) ## 00000032
/* 025D0 8097AF00 AFA50038 */ sw $a1, 0x0038($sp)
/* 025D4 8097AF04 0C01DE0D */ jal Math_CosS
## coss?
/* 025D8 8097AF08 A7A40022 */ sh $a0, 0x0022($sp)
/* 025DC 8097AF0C 87A40022 */ lh $a0, 0x0022($sp)
/* 025E0 8097AF10 0C01DE1C */ jal Math_SinS
## sins?
/* 025E4 8097AF14 E7A0001C */ swc1 $f0, 0x001C($sp)
/* 025E8 8097AF18 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 025EC 8097AF1C C7B2001C */ lwc1 $f18, 0x001C($sp)
/* 025F0 8097AF20 44812000 */ mtc1 $at, $f4 ## $f4 = 20.00
/* 025F4 8097AF24 8FA50038 */ lw $a1, 0x0038($sp)
/* 025F8 8097AF28 3C01C1A0 */ lui $at, 0xC1A0 ## $at = C1A00000
/* 025FC 8097AF2C 46122082 */ mul.s $f2, $f4, $f18
/* 02600 8097AF30 44813000 */ mtc1 $at, $f6 ## $f6 = -20.00
/* 02604 8097AF34 24A20024 */ addiu $v0, $a1, 0x0024 ## $v0 = 00000024
/* 02608 8097AF38 C4480008 */ lwc1 $f8, 0x0008($v0) ## 0000002C
/* 0260C 8097AF3C 46003302 */ mul.s $f12, $f6, $f0
/* 02610 8097AF40 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 02614 8097AF44 24A30184 */ addiu $v1, $a1, 0x0184 ## $v1 = 00000184
/* 02618 8097AF48 24A401D0 */ addiu $a0, $a1, 0x01D0 ## $a0 = 000001D0
/* 0261C 8097AF4C 24A6021C */ addiu $a2, $a1, 0x021C ## $a2 = 0000021C
/* 02620 8097AF50 46024280 */ add.s $f10, $f8, $f2
/* 02624 8097AF54 44814000 */ mtc1 $at, $f8 ## $f8 = 20.00
/* 02628 8097AF58 3C01C1A0 */ lui $at, 0xC1A0 ## $at = C1A00000
/* 0262C 8097AF5C 460C5101 */ sub.s $f4, $f10, $f12
/* 02630 8097AF60 46004382 */ mul.s $f14, $f8, $f0
/* 02634 8097AF64 44815000 */ mtc1 $at, $f10 ## $f10 = -20.00
/* 02638 8097AF68 3C01C270 */ lui $at, 0xC270 ## $at = C2700000
/* 0263C 8097AF6C 46125402 */ mul.s $f16, $f10, $f18
/* 02640 8097AF70 4600218D */ trunc.w.s $f6, $f4
/* 02644 8097AF74 440F3000 */ mfc1 $t7, $f6
/* 02648 8097AF78 00000000 */ nop
/* 0264C 8097AF7C A46F004A */ sh $t7, 0x004A($v1) ## 000001CE
/* 02650 8097AF80 C4440000 */ lwc1 $f4, 0x0000($v0) ## 00000024
/* 02654 8097AF84 460E2180 */ add.s $f6, $f4, $f14
/* 02658 8097AF88 46103200 */ add.s $f8, $f6, $f16
/* 0265C 8097AF8C 4600428D */ trunc.w.s $f10, $f8
/* 02660 8097AF90 44195000 */ mfc1 $t9, $f10
/* 02664 8097AF94 00000000 */ nop
/* 02668 8097AF98 A4790046 */ sh $t9, 0x0046($v1) ## 000001CA
/* 0266C 8097AF9C C4440004 */ lwc1 $f4, 0x0004($v0) ## 00000028
/* 02670 8097AFA0 4600218D */ trunc.w.s $f6, $f4
/* 02674 8097AFA4 44093000 */ mfc1 $t1, $f6
/* 02678 8097AFA8 00000000 */ nop
/* 0267C 8097AFAC A4690048 */ sh $t1, 0x0048($v1) ## 000001CC
/* 02680 8097AFB0 C4480008 */ lwc1 $f8, 0x0008($v0) ## 0000002C
/* 02684 8097AFB4 46104280 */ add.s $f10, $f8, $f16
/* 02688 8097AFB8 460E5101 */ sub.s $f4, $f10, $f14
/* 0268C 8097AFBC 4600218D */ trunc.w.s $f6, $f4
/* 02690 8097AFC0 440B3000 */ mfc1 $t3, $f6
/* 02694 8097AFC4 00000000 */ nop
/* 02698 8097AFC8 A48B004A */ sh $t3, 0x004A($a0) ## 0000021A
/* 0269C 8097AFCC C4480000 */ lwc1 $f8, 0x0000($v0) ## 00000024
/* 026A0 8097AFD0 460C4280 */ add.s $f10, $f8, $f12
/* 026A4 8097AFD4 46025100 */ add.s $f4, $f10, $f2
/* 026A8 8097AFD8 4600218D */ trunc.w.s $f6, $f4
/* 026AC 8097AFDC 440D3000 */ mfc1 $t5, $f6
/* 026B0 8097AFE0 44813000 */ mtc1 $at, $f6 ## $f6 = -60.00
/* 026B4 8097AFE4 3C014270 */ lui $at, 0x4270 ## $at = 42700000
/* 026B8 8097AFE8 A48D0046 */ sh $t5, 0x0046($a0) ## 00000216
/* 026BC 8097AFEC C4480004 */ lwc1 $f8, 0x0004($v0) ## 00000028
/* 026C0 8097AFF0 4600428D */ trunc.w.s $f10, $f8
/* 026C4 8097AFF4 46123202 */ mul.s $f8, $f6, $f18
/* 026C8 8097AFF8 44813000 */ mtc1 $at, $f6 ## $f6 = 60.00
/* 026CC 8097AFFC 3C01C270 */ lui $at, 0xC270 ## $at = C2700000
/* 026D0 8097B000 440F5000 */ mfc1 $t7, $f10
/* 026D4 8097B004 00000000 */ nop
/* 026D8 8097B008 A48F0048 */ sh $t7, 0x0048($a0) ## 00000218
/* 026DC 8097B00C C4440008 */ lwc1 $f4, 0x0008($v0) ## 0000002C
/* 026E0 8097B010 46082280 */ add.s $f10, $f4, $f8
/* 026E4 8097B014 46003102 */ mul.s $f4, $f6, $f0
/* 026E8 8097B018 46045201 */ sub.s $f8, $f10, $f4
/* 026EC 8097B01C 44812000 */ mtc1 $at, $f4 ## $f4 = -60.00
/* 026F0 8097B020 3C014270 */ lui $at, 0x4270 ## $at = 42700000
/* 026F4 8097B024 4600418D */ trunc.w.s $f6, $f8
/* 026F8 8097B028 46002202 */ mul.s $f8, $f4, $f0
/* 026FC 8097B02C 44812000 */ mtc1 $at, $f4 ## $f4 = 60.00
/* 02700 8097B030 44193000 */ mfc1 $t9, $f6
/* 02704 8097B034 00000000 */ nop
/* 02708 8097B038 A4D9004A */ sh $t9, 0x004A($a2) ## 00000266
/* 0270C 8097B03C C44A0000 */ lwc1 $f10, 0x0000($v0) ## 00000024
/* 02710 8097B040 46085180 */ add.s $f6, $f10, $f8
/* 02714 8097B044 46122282 */ mul.s $f10, $f4, $f18
/* 02718 8097B048 460A3200 */ add.s $f8, $f6, $f10
/* 0271C 8097B04C 4600410D */ trunc.w.s $f4, $f8
/* 02720 8097B050 44092000 */ mfc1 $t1, $f4
/* 02724 8097B054 00000000 */ nop
/* 02728 8097B058 A4C90046 */ sh $t1, 0x0046($a2) ## 00000262
/* 0272C 8097B05C C4460004 */ lwc1 $f6, 0x0004($v0) ## 00000028
/* 02730 8097B060 4600328D */ trunc.w.s $f10, $f6
/* 02734 8097B064 440B5000 */ mfc1 $t3, $f10
/* 02738 8097B068 00000000 */ nop
/* 0273C 8097B06C A4CB0048 */ sh $t3, 0x0048($a2) ## 00000264
/* 02740 8097B070 8FBF0014 */ lw $ra, 0x0014($sp)
/* 02744 8097B074 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 02748 8097B078 03E00008 */ jr $ra
/* 0274C 8097B07C 00000000 */ nop

View file

@ -1,88 +0,0 @@
glabel func_8097B450
/* 02B20 8097B450 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
/* 02B24 8097B454 AFA5003C */ sw $a1, 0x003C($sp)
/* 02B28 8097B458 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
/* 02B2C 8097B45C AFBF0014 */ sw $ra, 0x0014($sp)
/* 02B30 8097B460 AFA40038 */ sw $a0, 0x0038($sp)
/* 02B34 8097B464 84840032 */ lh $a0, 0x0032($a0) ## 00000032
/* 02B38 8097B468 AFA50038 */ sw $a1, 0x0038($sp)
/* 02B3C 8097B46C 0C01DE0D */ jal Math_CosS
## coss?
/* 02B40 8097B470 A7A40022 */ sh $a0, 0x0022($sp)
/* 02B44 8097B474 87A40022 */ lh $a0, 0x0022($sp)
/* 02B48 8097B478 0C01DE1C */ jal Math_SinS
## sins?
/* 02B4C 8097B47C E7A0001C */ swc1 $f0, 0x001C($sp)
/* 02B50 8097B480 3C01420C */ lui $at, 0x420C ## $at = 420C0000
/* 02B54 8097B484 44816000 */ mtc1 $at, $f12 ## $f12 = 35.00
/* 02B58 8097B488 8FA50038 */ lw $a1, 0x0038($sp)
/* 02B5C 8097B48C C7A2001C */ lwc1 $f2, 0x001C($sp)
/* 02B60 8097B490 46006182 */ mul.s $f6, $f12, $f0
/* 02B64 8097B494 24A20024 */ addiu $v0, $a1, 0x0024 ## $v0 = 00000024
/* 02B68 8097B498 C4440008 */ lwc1 $f4, 0x0008($v0) ## 0000002C
/* 02B6C 8097B49C 24A30184 */ addiu $v1, $a1, 0x0184 ## $v1 = 00000184
/* 02B70 8097B4A0 3C01C120 */ lui $at, 0xC120 ## $at = C1200000
/* 02B74 8097B4A4 44817000 */ mtc1 $at, $f14 ## $f14 = -10.00
/* 02B78 8097B4A8 24A401D0 */ addiu $a0, $a1, 0x01D0 ## $a0 = 000001D0
/* 02B7C 8097B4AC 46062201 */ sub.s $f8, $f4, $f6
/* 02B80 8097B4B0 46026102 */ mul.s $f4, $f12, $f2
/* 02B84 8097B4B4 3C01C25C */ lui $at, 0xC25C ## $at = C25C0000
/* 02B88 8097B4B8 44818000 */ mtc1 $at, $f16 ## $f16 = -55.00
/* 02B8C 8097B4BC 24A6021C */ addiu $a2, $a1, 0x021C ## $a2 = 0000021C
/* 02B90 8097B4C0 4600428D */ trunc.w.s $f10, $f8
/* 02B94 8097B4C4 440F5000 */ mfc1 $t7, $f10
/* 02B98 8097B4C8 00000000 */ nop
/* 02B9C 8097B4CC A46F004A */ sh $t7, 0x004A($v1) ## 000001CE
/* 02BA0 8097B4D0 C4520000 */ lwc1 $f18, 0x0000($v0) ## 00000024
/* 02BA4 8097B4D4 46049180 */ add.s $f6, $f18, $f4
/* 02BA8 8097B4D8 4600320D */ trunc.w.s $f8, $f6
/* 02BAC 8097B4DC 46007182 */ mul.s $f6, $f14, $f0
/* 02BB0 8097B4E0 44194000 */ mfc1 $t9, $f8
/* 02BB4 8097B4E4 00000000 */ nop
/* 02BB8 8097B4E8 A4790046 */ sh $t9, 0x0046($v1) ## 000001CA
/* 02BBC 8097B4EC C44A0004 */ lwc1 $f10, 0x0004($v0) ## 00000028
/* 02BC0 8097B4F0 4600548D */ trunc.w.s $f18, $f10
/* 02BC4 8097B4F4 44099000 */ mfc1 $t1, $f18
/* 02BC8 8097B4F8 00000000 */ nop
/* 02BCC 8097B4FC A4690048 */ sh $t1, 0x0048($v1) ## 000001CC
/* 02BD0 8097B500 C4440008 */ lwc1 $f4, 0x0008($v0) ## 0000002C
/* 02BD4 8097B504 46062201 */ sub.s $f8, $f4, $f6
/* 02BD8 8097B508 46027102 */ mul.s $f4, $f14, $f2
/* 02BDC 8097B50C 4600428D */ trunc.w.s $f10, $f8
/* 02BE0 8097B510 440B5000 */ mfc1 $t3, $f10
/* 02BE4 8097B514 00000000 */ nop
/* 02BE8 8097B518 A48B004A */ sh $t3, 0x004A($a0) ## 0000021A
/* 02BEC 8097B51C C4520000 */ lwc1 $f18, 0x0000($v0) ## 00000024
/* 02BF0 8097B520 46049180 */ add.s $f6, $f18, $f4
/* 02BF4 8097B524 4600320D */ trunc.w.s $f8, $f6
/* 02BF8 8097B528 46008182 */ mul.s $f6, $f16, $f0
/* 02BFC 8097B52C 440D4000 */ mfc1 $t5, $f8
/* 02C00 8097B530 00000000 */ nop
/* 02C04 8097B534 A48D0046 */ sh $t5, 0x0046($a0) ## 00000216
/* 02C08 8097B538 C44A0004 */ lwc1 $f10, 0x0004($v0) ## 00000028
/* 02C0C 8097B53C 4600548D */ trunc.w.s $f18, $f10
/* 02C10 8097B540 440F9000 */ mfc1 $t7, $f18
/* 02C14 8097B544 00000000 */ nop
/* 02C18 8097B548 A48F0048 */ sh $t7, 0x0048($a0) ## 00000218
/* 02C1C 8097B54C C4440008 */ lwc1 $f4, 0x0008($v0) ## 0000002C
/* 02C20 8097B550 46062201 */ sub.s $f8, $f4, $f6
/* 02C24 8097B554 46028102 */ mul.s $f4, $f16, $f2
/* 02C28 8097B558 4600428D */ trunc.w.s $f10, $f8
/* 02C2C 8097B55C 44195000 */ mfc1 $t9, $f10
/* 02C30 8097B560 00000000 */ nop
/* 02C34 8097B564 A4D9004A */ sh $t9, 0x004A($a2) ## 00000266
/* 02C38 8097B568 C4520000 */ lwc1 $f18, 0x0000($v0) ## 00000024
/* 02C3C 8097B56C 46049180 */ add.s $f6, $f18, $f4
/* 02C40 8097B570 4600320D */ trunc.w.s $f8, $f6
/* 02C44 8097B574 44094000 */ mfc1 $t1, $f8
/* 02C48 8097B578 00000000 */ nop
/* 02C4C 8097B57C A4C90046 */ sh $t1, 0x0046($a2) ## 00000262
/* 02C50 8097B580 C44A0004 */ lwc1 $f10, 0x0004($v0) ## 00000028
/* 02C54 8097B584 4600548D */ trunc.w.s $f18, $f10
/* 02C58 8097B588 440B9000 */ mfc1 $t3, $f18
/* 02C5C 8097B58C 00000000 */ nop
/* 02C60 8097B590 A4CB0048 */ sh $t3, 0x0048($a2) ## 00000264
/* 02C64 8097B594 8FBF0014 */ lw $ra, 0x0014($sp)
/* 02C68 8097B598 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
/* 02C6C 8097B59C 03E00008 */ jr $ra
/* 02C70 8097B5A0 00000000 */ nop

View file

@ -293,19 +293,19 @@ void func_809789D8(DemoGj* this, GlobalContext* globalCtx) {
switch (temp_v0) {
case 0x10:
Collider_DestroyCylinder(globalCtx, &this->unk_184);
Collider_DestroyCylinder(globalCtx, &this->unk_1D0);
Collider_DestroyCylinder(globalCtx, &this->unk_21C);
Collider_DestroyCylinder(globalCtx, &this->unk_184[0]);
Collider_DestroyCylinder(globalCtx, &this->unk_184[1]);
Collider_DestroyCylinder(globalCtx, &this->unk_184[2]);
break;
case 0x11:
Collider_DestroyCylinder(globalCtx, &this->unk_184);
Collider_DestroyCylinder(globalCtx, &this->unk_1D0);
Collider_DestroyCylinder(globalCtx, &this->unk_21C);
Collider_DestroyCylinder(globalCtx, &this->unk_184[0]);
Collider_DestroyCylinder(globalCtx, &this->unk_184[1]);
Collider_DestroyCylinder(globalCtx, &this->unk_184[2]);
return;
case 0x16:
Collider_DestroyCylinder(globalCtx, &this->unk_184);
Collider_DestroyCylinder(globalCtx, &this->unk_184[0]);
return;
default:
@ -1211,70 +1211,55 @@ void func_8097AE38(DemoGj *this, GlobalContext *globalCtx) {
void func_8097AE5C(DemoGj *this, GlobalContext *globalCtx) {
func_80978FCC(this, globalCtx, 0xF, 0, NULL);
func_8097895C(this, globalCtx, &this->unk_184, &D_8097BDE0);
func_8097895C(this, globalCtx, &this->unk_1D0, &D_8097BDE0);
func_8097895C(this, globalCtx, &this->unk_21C, &D_8097BDE0);
func_8097895C(this, globalCtx, &this->unk_184[0], &D_8097BDE0);
func_8097895C(this, globalCtx, &this->unk_184[1], &D_8097BDE0);
func_8097895C(this, globalCtx, &this->unk_184[2], &D_8097BDE0);
}
void func_8097AEDC(DemoGj *this, GlobalContext *globalCtx) {
}
void func_8097AEE8(DemoGj *this, GlobalContext *globalCtx);
/*
void *func_8097AEE8(void *arg0, ? arg1) {
s16 sp22;
f32 sp1C;
f32 temp_f0;
f32 temp_f12;
f32 temp_f14;
f32 temp_f16;
f32 temp_f2;
s16 temp_a0;
void *temp_a0_2;
void *temp_a2;
void *temp_v0;
void *temp_v1;
void func_8097AEE8(DemoGj *this, GlobalContext *globalCtx) {
ColliderCylinder *cylinder0 = &this->unk_184[0];
ColliderCylinder *cylinder1 = &this->unk_184[1];
ColliderCylinder *cylinder2 = &this->unk_184[2];
PosRot *actorPosRot = &this->dyna.actor.world;
temp_a0 = arg0->unk32;
arg0 = arg0;
sp22 = temp_a0;
sp1C = Math_CosS(temp_a0);
temp_f0 = Math_SinS(temp_a0);
temp_f2 = 20.0f * sp1C;
temp_v0 = arg0 + 0x24;
temp_f12 = -20.0f * temp_f0;
temp_v1 = arg0 + 0x184;
temp_a0_2 = arg0 + 0x1D0;
temp_a2 = arg0 + 0x21C;
temp_f14 = 20.0f * temp_f0;
temp_f16 = -20.0f * sp1C;
temp_v1->unk4A = (s16) (s32) ((temp_v0->unk8 + temp_f2) - temp_f12);
temp_v1->unk46 = (s16) (s32) (temp_v0->unk0 + temp_f14 + temp_f16);
temp_v1->unk48 = (s16) (s32) temp_v0->unk4;
temp_a0_2->unk4A = (s16) (s32) ((temp_v0->unk8 + temp_f16) - temp_f14);
temp_a0_2->unk46 = (s16) (s32) (temp_v0->unk0 + temp_f12 + temp_f2);
temp_a0_2->unk48 = (s16) (s32) temp_v0->unk4;
temp_a2->unk4A = (s16) (s32) ((temp_v0->unk8 + (-60.0f * sp1C)) - (60.0f * temp_f0));
temp_a2->unk46 = (s16) (s32) (temp_v0->unk0 + (-60.0f * temp_f0) + (60.0f * sp1C));
temp_a2->unk48 = (s16) (s32) temp_v0->unk4;
return temp_v0;
s32 pad;
s16 theta = actorPosRot->rot.y;
f32 cos_theta;
f32 sin_theta;
cos_theta = Math_CosS(theta);
sin_theta = Math_SinS(theta);
cylinder0->dim.pos.z = actorPosRot->pos.z + (20.0f * cos_theta) - (-20.0f * sin_theta);
cylinder0->dim.pos.x = actorPosRot->pos.x + (20.0f * sin_theta) + (-20.0f * cos_theta);
cylinder0->dim.pos.y = actorPosRot->pos.y;
cylinder1->dim.pos.z = actorPosRot->pos.z + (-20.0f * cos_theta) - (20.0f * sin_theta);
cylinder1->dim.pos.x = actorPosRot->pos.x + (-20.0f * sin_theta) + (20.0f * cos_theta);
cylinder1->dim.pos.y = actorPosRot->pos.y;
cylinder2->dim.pos.z = actorPosRot->pos.z + (-60.0f * cos_theta) - (60.0f * sin_theta);
cylinder2->dim.pos.x = actorPosRot->pos.x + (-60.0f * sin_theta) + (60.0f * cos_theta);
cylinder2->dim.pos.y = actorPosRot->pos.y;
}
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097AEE8.s")
void func_8097B080(DemoGj *this, GlobalContext *globalCtx) {
CollisionCheckContext *temp_a1;
GlobalContext* glbCtx = globalCtx;
Collider* unk_184 = &this->unk_184.base;
Collider* unk_1D0 = &this->unk_1D0.base;
Collider* unk_21C = &this->unk_21C.base;
Collider* unk_184_0= &this->unk_184[0].base;
Collider* unk_184_1 = &this->unk_184[1].base;
Collider* unk_184_2 = &this->unk_184[2].base;
s32 pad[3];
temp_a1 = &glbCtx->colChkCtx;
CollisionCheck_SetAC(glbCtx, temp_a1, unk_184);
CollisionCheck_SetAC(glbCtx, temp_a1, unk_1D0);
CollisionCheck_SetAC(glbCtx, temp_a1, unk_21C);
CollisionCheck_SetAC(glbCtx, temp_a1, unk_184_0);
CollisionCheck_SetAC(glbCtx, temp_a1, unk_184_1);
CollisionCheck_SetAC(glbCtx, temp_a1, unk_184_2);
}
void func_8097B0EC(DemoGj *this, GlobalContext *globalCtx, Vec3f *arg2) {
@ -1301,13 +1286,13 @@ void func_8097B128(DemoGj *this, GlobalContext *globalCtx) {
}
s32 func_8097B1B4(DemoGj *this, GlobalContext *globalCtx) {
if (func_809789A4(this, globalCtx, &this->unk_184.base) != 0) {
if (func_809789A4(this, globalCtx, &this->unk_184[0].base) != 0) {
return 1;
}
if (func_809789A4(this, globalCtx, &this->unk_1D0.base) != 0) {
if (func_809789A4(this, globalCtx, &this->unk_184[1].base) != 0) {
return 1;
}
if (func_809789A4(this, globalCtx, &this->unk_21C.base) != 0) {
if (func_809789A4(this, globalCtx, &this->unk_184[2].base) != 0) {
return 1;
}
return 0;
@ -1360,74 +1345,67 @@ void func_8097B3A0(DemoGj *this, GlobalContext *globalCtx) {
void func_8097B3C4(DemoGj *this, GlobalContext *globalCtx) {
func_80978FCC(this, globalCtx, 0x10, 0, NULL);
func_8097895C(this, globalCtx, &this->unk_184, &D_8097BE0C);
func_8097895C(this, globalCtx, &this->unk_1D0, &D_8097BE0C);
func_8097895C(this, globalCtx, &this->unk_21C, &D_8097BE0C);
func_8097895C(this, globalCtx, &this->unk_184[0], &D_8097BE0C);
func_8097895C(this, globalCtx, &this->unk_184[1], &D_8097BE0C);
func_8097895C(this, globalCtx, &this->unk_184[2], &D_8097BE0C);
}
void func_8097B444(DemoGj *this, GlobalContext *globalCtx) {
}
void func_8097B450(DemoGj *this, GlobalContext *globalCtx);
/*
void *func_8097B450(void *arg0, ? arg1) {
s16 sp22;
f32 sp1C;
f32 temp_f0;
s16 temp_a0;
void *temp_a0_2;
void *temp_a2;
void *temp_v0;
void *temp_v1;
void func_8097B450(DemoGj *this, GlobalContext *globalCtx) {
ColliderCylinder *cylinder0 = &this->unk_184[0];
ColliderCylinder *cylinder1 = &this->unk_184[1];
ColliderCylinder *cylinder2 = &this->unk_184[2];
PosRot *actorPosRot = &this->dyna.actor.world;
temp_a0 = arg0->unk32;
arg0 = arg0;
sp22 = temp_a0;
sp1C = Math_CosS(temp_a0);
temp_f0 = Math_SinS(temp_a0);
temp_v0 = arg0 + 0x24;
temp_v1 = arg0 + 0x184;
temp_a0_2 = arg0 + 0x1D0;
temp_a2 = arg0 + 0x21C;
temp_v1->unk4A = (s16) (s32) (temp_v0->unk8 - (35.0f * temp_f0));
temp_v1->unk46 = (s16) (s32) (temp_v0->unk0 + (35.0f * sp1C));
temp_v1->unk48 = (s16) (s32) temp_v0->unk4;
temp_a0_2->unk4A = (s16) (s32) (temp_v0->unk8 - (-10.0f * temp_f0));
temp_a0_2->unk46 = (s16) (s32) (temp_v0->unk0 + (-10.0f * sp1C));
temp_a0_2->unk48 = (s16) (s32) temp_v0->unk4;
temp_a2->unk4A = (s16) (s32) (temp_v0->unk8 - (-55.0f * temp_f0));
temp_a2->unk46 = (s16) (s32) (temp_v0->unk0 + (-55.0f * sp1C));
temp_a2->unk48 = (s16) (s32) temp_v0->unk4;
return temp_v0;
s32 pad;
s16 theta = actorPosRot->rot.y;
f32 cos_theta;
f32 sin_theta;
cos_theta = Math_CosS(theta);
sin_theta = Math_SinS(theta);
cylinder0->dim.pos.z = actorPosRot->pos.z - (35.0f * sin_theta);
cylinder0->dim.pos.x = actorPosRot->pos.x + (35.0f * cos_theta);
cylinder0->dim.pos.y = actorPosRot->pos.y;
cylinder1->dim.pos.z = actorPosRot->pos.z - (-10.0f * sin_theta);
cylinder1->dim.pos.x = actorPosRot->pos.x + (-10.0f * cos_theta);
cylinder1->dim.pos.y = actorPosRot->pos.y;
cylinder2->dim.pos.z = actorPosRot->pos.z - (-55.0f * sin_theta);
cylinder2->dim.pos.x = actorPosRot->pos.x + (-55.0f * cos_theta);
cylinder2->dim.pos.y = actorPosRot->pos.y;
}
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Demo_Gj/func_8097B450.s")
void func_8097B5A4(DemoGj *this, GlobalContext *globalCtx) {
CollisionCheckContext *temp_a1;
GlobalContext* glbCtx = globalCtx;
Collider* unk_184 = &this->unk_184.base;
Collider* unk_1D0 = &this->unk_1D0.base;
Collider* unk_21C = &this->unk_21C.base;
Collider* unk_184_0 = &this->unk_184[0].base;
Collider* unk_184_1 = &this->unk_184[1].base;
Collider* unk_184_2 = &this->unk_184[2].base;
s32 pad[3];
glbCtx = globalCtx;
temp_a1 = &glbCtx->colChkCtx;
CollisionCheck_SetAC(glbCtx, temp_a1, unk_184);
CollisionCheck_SetAC(glbCtx, temp_a1, unk_1D0);
CollisionCheck_SetAC(glbCtx, temp_a1, unk_21C);
CollisionCheck_SetAC(glbCtx, temp_a1, unk_184_0);
CollisionCheck_SetAC(glbCtx, temp_a1, unk_184_1);
CollisionCheck_SetAC(glbCtx, temp_a1, unk_184_2);
}
s32 func_8097B610(DemoGj *this, GlobalContext *globalCtx) {
if (func_809789A4(this, globalCtx, &this->unk_184.base) != 0) {
if (func_809789A4(this, globalCtx, &this->unk_184[0].base) != 0) {
return 1;
}
if (func_809789A4(this, globalCtx, &this->unk_1D0.base) != 0) {
if (func_809789A4(this, globalCtx, &this->unk_184[1].base) != 0) {
return 1;
}
if (func_809789A4(this, globalCtx, &this->unk_21C.base) != 0) {
if (func_809789A4(this, globalCtx, &this->unk_184[2].base) != 0) {
return 1;
}
return 0;
@ -1503,7 +1481,7 @@ void func_8097B8C4(DemoGj *this, GlobalContext *globalCtx) {
void func_8097B8E8(DemoGj *this, GlobalContext *globalCtx) {
func_80978FCC(this, globalCtx, 0x11, 0, NULL);
func_8097895C(this, globalCtx, &this->unk_184, &D_8097BE38);
func_8097895C(this, globalCtx, &this->unk_184[0], &D_8097BE38);
}
void func_8097B930(DemoGj *this, GlobalContext *globalCtx) {
@ -1538,7 +1516,7 @@ void func_8097B9BC(DemoGj *this, GlobalContext *globalCtx) {
void func_8097BA48(DemoGj *this, GlobalContext *globalCtx) {
Actor* actor = &this->dyna.actor;
ColliderCylinder *colCylinder = &this->unk_184;
ColliderCylinder *colCylinder = &this->unk_184[0];
Collider *collider = &colCylinder->base;
CollisionCheckContext* colChkCtx = &globalCtx->colChkCtx;

View file

@ -15,9 +15,7 @@ typedef struct DemoGj {
/* 0x0178 */ Actor* ganon;
/* 0x017C */ s32 unk_17C;
/* 0x0180 */ s32 unk_180;
/* 0x0184 */ ColliderCylinder unk_184;
/* 0x01D0 */ ColliderCylinder unk_1D0;
/* 0x021C */ ColliderCylinder unk_21C;
/* 0x0184 */ ColliderCylinder unk_184[3];
/* 0x0268 */ s32 unk_268;
/* 0x026C */ Vec3f unk_26C;
} DemoGj; // size = 0x0278