@@ -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