Skip to content

Commit 9a67ea7

Browse files
committed
Some more adjustments
1 parent a11a334 commit 9a67ea7

1 file changed

Lines changed: 69 additions & 71 deletions

File tree

src/game/bosses/boss_7.c

Lines changed: 69 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ typedef struct {
4343
/* 0x48 */ u8 *vram48;
4444
/* 0x4C */ u8 *vram4C;
4545
/* 0x50 */ Player *players[2];
46-
/* 0x58 */ Sprite spr58;
46+
/* 0x58 */ Sprite sprCockpit;
4747
/* 0x80 */ Sprite spr80;
48-
/* 0xA8 */ Sprite sprA8;
48+
/* 0xA8 */ Sprite sprGemerlAnchor;
4949
/* 0xD0 */ Task *taskD0;
5050
/* 0xD4 */ u8 unkD4;
5151
} EggGravity; /* 0xD8 */
@@ -169,7 +169,7 @@ Task *CreateEggGravity(u8 *bossPhase, s32 worldX, s32 worldY)
169169
boss->vram48 = VramMalloc(116);
170170
boss->vram4C = VramMalloc(30);
171171
vram = VramMalloc(0x41U);
172-
s = &boss->spr58;
172+
s = &boss->sprCockpit;
173173
s->tiles = vram;
174174
s->anim = ANIM_BOSS_7_COCKPIT;
175175
s->variant = 0;
@@ -186,7 +186,7 @@ Task *CreateEggGravity(u8 *bossPhase, s32 worldX, s32 worldY)
186186

187187
s = &boss->spr80;
188188
s->tiles = vram;
189-
s->anim = 0x4EB;
189+
s->anim = ANIM_BOSS_7_EGGMAN_ROTATED;
190190
s->variant = 0;
191191
s->oamFlags = 0x500;
192192
s->animCursor = 0;
@@ -199,9 +199,9 @@ Task *CreateEggGravity(u8 *bossPhase, s32 worldX, s32 worldY)
199199
UpdateSpriteAnimation(s);
200200
vram += 0x120;
201201

202-
s = &boss->sprA8;
202+
s = &boss->sprGemerlAnchor;
203203
s->tiles = vram;
204-
s->anim = 0x4E9;
204+
s->anim = ANIM_BOSS_7_GEMERL;
205205
s->variant = 0;
206206
s->oamFlags = 0x580;
207207
s->animCursor = 0;
@@ -352,8 +352,8 @@ void Task_D8_8075324(EggGravity *boss) {
352352
u8 temp_r1_2;
353353
u8 var_r2_2;
354354

355-
sp0 = &boss->spr58;
356-
sp4 = &boss->sprA8;
355+
sp0 = &boss->sprCockpit;
356+
sp4 = &boss->sprGemerlAnchor;
357357
temp_r6 = boss->players[0];
358358
boss->unk30 = (u16) (boss->unk30 + 1);
359359
boss->unk26 = 0;
@@ -377,14 +377,11 @@ void Task_D8_8075324(EggGravity *boss) {
377377
sp8 = &boss->unk21;
378378
}
379379
} else {
380-
temp_r0 = boss->unk24;
381-
if ((temp_r0 != 0) && (temp_r0_2 = temp_r0 - 1, boss->unk24 = temp_r0_2, sp8 = &boss->unk21, ((temp_r0_2 << 0x18) != 0))) {
382-
383-
} else {
380+
if ((boss->unk24 == 0) || (--boss->unk24 == 0)) {
384381
boss->unk24 = (u8) *((boss->unk21 * 2) + &gUnknown_080D5940);
385382
var_r2 = 0;
386383
if (boss->unk23 == 0) {
387-
var_r2 = (u32) (0 - (temp_r6->moveState & 0x10000)) >> 0x1F;
384+
var_r2 = (temp_r6->moveState & 0x10000) ? 1 : 0;
388385
} else if (!(temp_r6->moveState & 0x10000)) {
389386
var_r2 = 1;
390387
}
@@ -419,11 +416,11 @@ void Task_D8_8075324(EggGravity *boss) {
419416
}
420417
}
421418
}
422-
temp_r1_2 = boss->unk25;
423-
switch (temp_r1_2) { /* irregular */
419+
420+
switch (boss->unk25) { /* irregular */
424421
case 1:
425422
boss->unk2B = 0;
426-
boss->unk2C = (s16) temp_r1_2;
423+
boss->unk2C = 1;
427424
gCurTask->main = Task_D8_8075C40;
428425
break;
429426
case 2:
@@ -462,7 +459,8 @@ void Task_D8_8075324(EggGravity *boss) {
462459
}
463460
}
464461
}
465-
if (*sp8 == 0) {
462+
463+
if (boss->unk24 == 0) {
466464
if (gStageData.gameMode == 5) {
467465
if (boss->unkD4 == 0) {
468466
sub_8027674(1U, (u16) ((u32) (boss->unk14 << 8) >> 0x10));
@@ -494,15 +492,15 @@ void Task_D8_8075674(EggGravity *boss) {
494492
switch ((u32) temp_r0) { /* irregular */
495493
case 0:
496494
boss->unk26 = 3;
497-
boss->sprA8.anim = gUnknown_080D592C.unk10;
498-
boss->sprA8.variant = (u8) gUnknown_080D592C.unk12;
499-
boss->sprA8.prevAnim = 0xFFFF;
500-
boss->sprA8.prevVariant = 0xFF;
495+
boss->sprGemerlAnchor.anim = gUnknown_080D592C.unk10;
496+
boss->sprGemerlAnchor.variant = (u8) gUnknown_080D592C.unk12;
497+
boss->sprGemerlAnchor.prevAnim = 0xFFFF;
498+
boss->sprGemerlAnchor.prevVariant = 0xFF;
501499
if (boss->unk23 != 0) {
502500
boss->unk32 = 0x600;
503501
} else {
504502
boss->unk32 = -0x600;
505-
boss->sprA8.frameFlags |= 0x800;
503+
boss->sprGemerlAnchor.frameFlags |= 0x800;
506504
}
507505
sub_8077A04(strc100, 1);
508506
m4aSongNumStart(0x234U);
@@ -529,14 +527,14 @@ void Task_D8_8075674(EggGravity *boss) {
529527
sub_8078DB0(0x4EF, 0, 0x3A, 0U);
530528
boss->unk32 = 0;
531529
boss->unk2B = 0xB;
532-
boss->sprA8.anim = *((boss->unk23 * 4) + &gUnknown_080D592C);
533-
boss->sprA8.variant = (u8) ((boss->unk23 * 4) + &gUnknown_080D592C)->unk2;
534-
boss->sprA8.prevAnim = 0xFFFF;
535-
boss->sprA8.prevVariant = 0xFF;
530+
boss->sprGemerlAnchor.anim = *((boss->unk23 * 4) + &gUnknown_080D592C);
531+
boss->sprGemerlAnchor.variant = (u8) ((boss->unk23 * 4) + &gUnknown_080D592C)->unk2;
532+
boss->sprGemerlAnchor.prevAnim = 0xFFFF;
533+
boss->sprGemerlAnchor.prevVariant = 0xFF;
536534
if (boss->unk23 != 0) {
537535
sub_8077954(boss, 8);
538536
} else {
539-
boss->sprA8.frameFlags &= 0xFFFFF7FF;
537+
boss->sprGemerlAnchor.frameFlags &= 0xFFFFF7FF;
540538
sub_8077954(boss, 5);
541539
}
542540
temp_r0_2 = boss->unk21;
@@ -623,7 +621,7 @@ void Task_D8_80759B4(EggGravity *boss) {
623621
u8 temp_r0_4;
624622
u8 temp_r0_5;
625623

626-
temp_r3 = &boss->sprA8;
624+
temp_r3 = &boss->sprGemerlAnchor;
627625
boss->unk30 = (u16) (boss->unk30 + 1);
628626
boss->unk26 = 4;
629627
sp0 = temp_r3;
@@ -663,42 +661,42 @@ void Task_D8_80759B4(EggGravity *boss) {
663661
boss->spr80.variant = (u8) gUnknown_080D5904.unkA;
664662
boss->spr80.prevAnim = 0xFFFF;
665663
boss->spr80.prevVariant |= 0xFF;
666-
boss->spr58.anim = sBoss7AnimsCockpit.unk8;
667-
boss->spr58.variant = (u8) sBoss7AnimsCockpit.unkA;
668-
boss->spr58.prevAnim = -1;
669-
boss->spr58.prevVariant |= 0xFF;
670-
boss->sprA8.anim = gUnknown_080D592C.unk8;
671-
boss->sprA8.variant = (u8) gUnknown_080D592C.unkA;
672-
boss->sprA8.prevAnim = -1;
664+
boss->sprCockpit.anim = sBoss7AnimsCockpit.unk8;
665+
boss->sprCockpit.variant = (u8) sBoss7AnimsCockpit.unkA;
666+
boss->sprCockpit.prevAnim = -1;
667+
boss->sprCockpit.prevVariant |= 0xFF;
668+
boss->sprGemerlAnchor.anim = gUnknown_080D592C.unk8;
669+
boss->sprGemerlAnchor.variant = (u8) gUnknown_080D592C.unkA;
670+
boss->sprGemerlAnchor.prevAnim = -1;
673671
} else {
674672
boss->unk23 = 1;
675673
boss->spr80.anim = gUnknown_080D5904.unkC;
676674
boss->spr80.variant = (u8) gUnknown_080D5904.unkE;
677675
boss->spr80.prevAnim = 0xFFFF;
678676
boss->spr80.prevVariant |= 0xFF;
679-
boss->spr58.anim = sBoss7AnimsCockpit.unkC;
680-
boss->spr58.variant = (u8) sBoss7AnimsCockpit.unkE;
681-
boss->spr58.prevAnim = -1;
682-
boss->spr58.prevVariant |= 0xFF;
683-
boss->sprA8.anim = gUnknown_080D592C.unkC;
684-
boss->sprA8.variant = (u8) gUnknown_080D592C.unkE;
685-
boss->sprA8.prevAnim = -1;
677+
boss->sprCockpit.anim = sBoss7AnimsCockpit.unkC;
678+
boss->sprCockpit.variant = (u8) sBoss7AnimsCockpit.unkE;
679+
boss->sprCockpit.prevAnim = -1;
680+
boss->sprCockpit.prevVariant |= 0xFF;
681+
boss->sprGemerlAnchor.anim = gUnknown_080D592C.unkC;
682+
boss->sprGemerlAnchor.variant = (u8) gUnknown_080D592C.unkE;
683+
boss->sprGemerlAnchor.prevAnim = -1;
686684
}
687685
} else {
688686
boss->unk29 = 4;
689687
boss->spr80.anim = *((boss->unk23 * 4) + &gUnknown_080D5904);
690688
boss->spr80.variant = (u8) ((boss->unk23 * 4) + &gUnknown_080D5904)->unk2;
691689
boss->spr80.prevAnim = 0xFFFF;
692690
boss->spr80.prevVariant |= 0xFF;
693-
boss->spr58.anim = *((boss->unk23 * 4) + &sBoss7AnimsCockpit);
694-
boss->spr58.variant = (u8) ((boss->unk23 * 4) + &sBoss7AnimsCockpit)->unk2;
695-
boss->spr58.prevAnim = -1;
696-
boss->spr58.prevVariant |= 0xFF;
697-
boss->sprA8.anim = *((boss->unk23 * 4) + &gUnknown_080D592C);
698-
boss->sprA8.variant = (u8) ((boss->unk23 * 4) + &gUnknown_080D592C)->unk2;
699-
boss->sprA8.prevAnim = -1;
691+
boss->sprCockpit.anim = *((boss->unk23 * 4) + &sBoss7AnimsCockpit);
692+
boss->sprCockpit.variant = (u8) ((boss->unk23 * 4) + &sBoss7AnimsCockpit)->unk2;
693+
boss->sprCockpit.prevAnim = -1;
694+
boss->sprCockpit.prevVariant |= 0xFF;
695+
boss->sprGemerlAnchor.anim = *((boss->unk23 * 4) + &gUnknown_080D592C);
696+
boss->sprGemerlAnchor.variant = (u8) ((boss->unk23 * 4) + &gUnknown_080D592C)->unk2;
697+
boss->sprGemerlAnchor.prevAnim = -1;
700698
}
701-
boss->sprA8.prevVariant |= 0xFF;
699+
boss->sprGemerlAnchor.prevVariant |= 0xFF;
702700
temp_r0_5 = boss->unk2A + 1;
703701
boss->unk2A = temp_r0_5;
704702
if ((u32) temp_r0_5 > 0x14U) {
@@ -795,14 +793,14 @@ void Task_D8_8075DA4(EggGravity *boss) {
795793
boss->spr80.variant = (u8) ((boss->unk23 * 4) + &gUnknown_080D5904)->unk2;
796794
boss->spr80.prevAnim = 0xFFFF;
797795
boss->spr80.prevVariant |= 0xFF;
798-
boss->spr58.anim = *((boss->unk23 * 4) + &sBoss7AnimsCockpit);
799-
boss->spr58.variant = (u8) ((boss->unk23 * 4) + &sBoss7AnimsCockpit)->unk2;
800-
boss->spr58.prevAnim = -1;
801-
boss->spr58.prevVariant |= 0xFF;
802-
boss->sprA8.anim = *((boss->unk23 * 4) + &gUnknown_080D592C);
803-
boss->sprA8.variant = (u8) ((boss->unk23 * 4) + &gUnknown_080D592C)->unk2;
804-
boss->sprA8.prevAnim = -1;
805-
boss->sprA8.prevVariant |= 0xFF;
796+
boss->sprCockpit.anim = *((boss->unk23 * 4) + &sBoss7AnimsCockpit);
797+
boss->sprCockpit.variant = (u8) ((boss->unk23 * 4) + &sBoss7AnimsCockpit)->unk2;
798+
boss->sprCockpit.prevAnim = -1;
799+
boss->sprCockpit.prevVariant |= 0xFF;
800+
boss->sprGemerlAnchor.anim = *((boss->unk23 * 4) + &gUnknown_080D592C);
801+
boss->sprGemerlAnchor.variant = (u8) ((boss->unk23 * 4) + &gUnknown_080D592C)->unk2;
802+
boss->sprGemerlAnchor.prevAnim = -1;
803+
boss->sprGemerlAnchor.prevVariant |= 0xFF;
806804
temp_r0_2 = (gPseudoRandom * 0x196225) + 0x3C6EF35F;
807805
gPseudoRandom = temp_r0_2;
808806
if ((u32) ((u32) temp_r0_2 % 10000U) <= 0xBB7U) {
@@ -839,14 +837,14 @@ void Task_D8_8075EE8(EggGravity *boss) {
839837
boss->spr80.variant = (u8) gUnknown_080D5904.unkA;
840838
boss->spr80.prevAnim = 0xFFFF;
841839
boss->spr80.prevVariant = 0xFF;
842-
boss->spr58.anim = sBoss7AnimsCockpit.unk8;
843-
boss->spr58.variant = (u8) sBoss7AnimsCockpit.unkA;
844-
boss->spr58.prevAnim = -1;
845-
boss->spr58.prevVariant = -1;
846-
boss->sprA8.anim = gUnknown_080D592C.unk8;
847-
boss->sprA8.variant = (u8) gUnknown_080D592C.unkA;
848-
boss->sprA8.prevAnim = -1;
849-
boss->sprA8.prevVariant = -1;
840+
boss->sprCockpit.anim = sBoss7AnimsCockpit.unk8;
841+
boss->sprCockpit.variant = (u8) sBoss7AnimsCockpit.unkA;
842+
boss->sprCockpit.prevAnim = -1;
843+
boss->sprCockpit.prevVariant = -1;
844+
boss->sprGemerlAnchor.anim = gUnknown_080D592C.unk8;
845+
boss->sprGemerlAnchor.variant = (u8) gUnknown_080D592C.unkA;
846+
boss->sprGemerlAnchor.prevAnim = -1;
847+
boss->sprGemerlAnchor.prevVariant = -1;
850848
}
851849
break;
852850
case 0xA:
@@ -1019,7 +1017,7 @@ void sub_8076328(EggGravity *boss) {
10191017
u8 var_r1;
10201018

10211019
temp_r1 = boss->taskD0->data;
1022-
temp_r7 = &boss->spr58;
1020+
temp_r7 = &boss->sprCockpit;
10231021
temp_r0 = (boss->qUnk0 + boss->unk14) << 8;
10241022
temp_r1_2 = (s32) temp_r0 >> 0x10;
10251023
var_r0 = temp_r1_2 + 0xFFFFFCA0;
@@ -1035,9 +1033,9 @@ void sub_8076328(EggGravity *boss) {
10351033
var_r1 = 0x14;
10361034
}
10371035
temp_r5 = (s16) (temp_r0 >> 0x10);
1038-
boss->spr58.x = temp_r5 - gCamera.x;
1036+
boss->sprCockpit.x = temp_r5 - gCamera.x;
10391037
temp_r4 = (s32) ((temp_r1->unkC8 + *(temp_r1 + 4 + ((s32) (var_r1 << 0x18) >> 0x16))) << 8) >> 0x10;
1040-
boss->spr58.y = ((temp_r4 + ((s32) boss->unk3C >> 8)) - gCamera.y) + ((s32) boss->unk44 >> 8);
1038+
boss->sprCockpit.y = ((temp_r4 + ((s32) boss->unk3C >> 8)) - gCamera.y) + ((s32) boss->unk44 >> 8);
10411039
UpdateSpriteAnimation(temp_r7);
10421040
DisplaySprite(temp_r7);
10431041
boss->qUnk4 = (temp_r4 + ((s32) boss->unk3C >> 8)) << 8;
@@ -1061,7 +1059,7 @@ void sub_8076420(EggGravity *boss) {
10611059
u8 var_r6;
10621060
u8 var_r8;
10631061

1064-
temp_r7 = &boss->sprA8;
1062+
temp_r7 = &boss->sprGemerlAnchor;
10651063
var_r8 = 0;
10661064
if (boss->unk21 == 0) {
10671065
return;
@@ -1076,7 +1074,7 @@ void sub_8076420(EggGravity *boss) {
10761074
var_r6 = 0;
10771075
do {
10781076
temp_r4 = temp_r2[var_r6];
1079-
if ((sub_802C080(temp_r4) == 0) && (boss->sprA8.hitboxes[0].index != -1)) {
1077+
if ((sub_802C080(temp_r4) == 0) && (boss->sprGemerlAnchor.hitboxes[0].index != -1)) {
10801078
if (sub_8020E3C(temp_r7, (s32) (boss->qUnk0 + boss->unk14) >> 8, (s32) boss->qUnk4 >> 8, 0, temp_r4) == 1) {
10811079
var_r8 = 1;
10821080
sub_80044CC(temp_r4);

0 commit comments

Comments
 (0)