fix broken zone 3 spring in widescreen

This commit is contained in:
Oliver Bell committed 2024-10-20 16:37:03 +01:00
1 parent c6cb174c28
commit 75bb45bacd
4 files changed
+16 -21

No files matched your search

+2 -1
View File
@@ -341,7 +341,8 @@
"stdlib.h": "c",
"boss_8.h": "c",
"config.h": "c",
"sprite_tables.h": "c"
"sprite_tables.h": "c",
"iron_ball.h": "c"
},
"asm-code-lens.donated": true,
"editor.formatOnSave": true,
+1 -1
View File
@@ -261,7 +261,7 @@
#define SA2_ANIM_SPRING_PLATFORM 568
#define SA2_ANIM_569 569
#define SA2_ANIM_DRUM 570
#define SA2_ANIM_SPRING_UNKNOWN 571
#define SA2_ANIM_FLOATING_SPRING_3 571
#define SA2_ANIM_SPRING_MUS_PLA 572
#define SA2_ANIM_SPRING_MUS_PLA_2 573
#define SA2_ANIM_PLATFORM_SQUARE_MUS_PLA 574
@@ -146,11 +146,8 @@ static bool32 sub_807F120(Sprite_IA95 *ia95)
s16 x = ia95->unk3C - gCamera.x;
s16 y = ia95->unk40 - gCamera.y;
if (x < -((me->d.uData[2] * 8) + 0x80) || x > (me->d.uData[2] * 8) + 0x170) {
return TRUE;
}
if (y < -((me->d.uData[3] * 8) + 0x80) || y > (me->d.uData[3] * 8) + 0x120) {
if (IS_OUT_OF_RANGE_2(x, y, (me->d.uData[2] * TILE_WIDTH) + (CAM_REGION_WIDTH / 2),
(me->d.uData[3] * TILE_WIDTH) + (CAM_REGION_WIDTH / 2))) {
return TRUE;
}
@@ -170,7 +170,7 @@ static void sub_8074FD8(Sprite_FloatingSpring *floatingSpring)
if (floatingSpring->unk50) {
u8 level = gCurrentLevel;
if (LEVEL_TO_ZONE(gCurrentLevel) == ZONE_3) {
floatingSpring->s.graphics.anim = SA2_ANIM_SPRING_UNKNOWN;
floatingSpring->s.graphics.anim = SA2_ANIM_FLOATING_SPRING_3;
floatingSpring->s.variant = 0;
} else {
floatingSpring->s.graphics.anim = SA2_ANIM_SPRING_PLATFORM;
@@ -178,7 +178,7 @@ static void sub_8074FD8(Sprite_FloatingSpring *floatingSpring)
}
} else {
if (LEVEL_TO_ZONE(gCurrentLevel) == ZONE_3) {
floatingSpring->s.graphics.anim = SA2_ANIM_SPRING_UNKNOWN;
floatingSpring->s.graphics.anim = SA2_ANIM_FLOATING_SPRING_3;
floatingSpring->s.variant = ZONE_3;
} else {
floatingSpring->s.graphics.anim = SA2_ANIM_SPRING_PLATFORM;
@@ -191,7 +191,7 @@ static void sub_8075048(Sprite_FloatingSpring *floatingSpring)
{
if (floatingSpring->unk50) {
if (LEVEL_TO_ZONE(gCurrentLevel) == ZONE_3) {
floatingSpring->s.graphics.anim = SA2_ANIM_SPRING_UNKNOWN;
floatingSpring->s.graphics.anim = SA2_ANIM_FLOATING_SPRING_3;
floatingSpring->s.variant = 1;
} else {
floatingSpring->s.graphics.anim = SA2_ANIM_SPRING_PLATFORM;
@@ -199,7 +199,7 @@ static void sub_8075048(Sprite_FloatingSpring *floatingSpring)
}
} else {
if (LEVEL_TO_ZONE(gCurrentLevel) == ZONE_3) {
floatingSpring->s.graphics.anim = SA2_ANIM_SPRING_UNKNOWN;
floatingSpring->s.graphics.anim = SA2_ANIM_FLOATING_SPRING_3;
floatingSpring->s.variant = 3;
} else {
floatingSpring->s.graphics.anim = SA2_ANIM_SPRING_PLATFORM;
@@ -281,11 +281,11 @@ bool32 sub_80751CC(Sprite_FloatingSpring *floatingSpring)
s16 x = floatingSpring->unk3C - gCamera.x;
s16 y = floatingSpring->unk40 - gCamera.y;
if (x < -((me->d.uData[2] * 8) + 0x80) || x > (me->d.uData[2] * 8) + 0x170) {
return TRUE;
}
if (y < -((me->d.uData[3] * 8) + 0x80) || y > (me->d.uData[3] * 8) + 0x220) {
// Should be IS_OUT_OF_RANGE_2(x, y, (me->d.uData[2] * TILE_WIDTH) + (CAM_REGION_WIDTH / 2), (me->d.uData[3] * TILE_WIDTH) +
// (CAM_REGION_WIDTH / 2)) But DISPLAY_HEIGHT + 384 does not match
if (x < -((me->d.uData[2] * TILE_WIDTH) + (CAM_REGION_WIDTH / 2))
|| x > (me->d.uData[2] * TILE_WIDTH) + (DISPLAY_WIDTH + (CAM_REGION_WIDTH / 2)) || y < -((me->d.uData[3] * TILE_WIDTH) + 128)
|| y > (me->d.uData[3] * TILE_WIDTH) + (DISPLAY_HEIGHT + 384)) {
return TRUE;
}
@@ -298,11 +298,8 @@ bool32 sub_8075228(Sprite_FloatingSpring *floatingSpring)
s16 x = floatingSpring->unk3C - gCamera.x;
s16 y = floatingSpring->unk40 - gCamera.y;
if (x < -((me->d.uData[2] * 8) + 0x80) || x > (me->d.uData[2] * 8) + 0x170) {
return TRUE;
}
if (y < -((me->d.uData[3] * 8) + 0x80) || y > (me->d.uData[3] * 8) + 0x120) {
if (IS_OUT_OF_RANGE_2(x, y, (me->d.uData[2] * TILE_WIDTH) + (CAM_REGION_WIDTH / 2),
(me->d.uData[3] * TILE_WIDTH) + (CAM_REGION_WIDTH / 2))) {
return TRUE;
}