Fixed the Core's water not displaying properly
Also made PutFront ASM-accurate (with the exception of the black bars stuff)
This commit is contained in:
parent
7b2a3a20dc
commit
111313ec77
1 changed files with 19 additions and 10 deletions
29
src/Back.cpp
29
src/Back.cpp
|
@ -208,32 +208,41 @@ void PutBack(int fx, int fy)
|
||||||
|
|
||||||
void PutFront(int fx, int fy)
|
void PutFront(int fx, int fy)
|
||||||
{
|
{
|
||||||
|
int x;
|
||||||
|
int y;
|
||||||
|
int xpos;
|
||||||
|
int ypos;
|
||||||
|
int x_1;
|
||||||
|
int x_2;
|
||||||
|
int y_1;
|
||||||
|
int y_2;
|
||||||
|
|
||||||
RECT rcWater[2] = {{0, 0, 32, 16}, {0, 16, 32, 48}};
|
RECT rcWater[2] = {{0, 0, 32, 16}, {0, 16, 32, 48}};
|
||||||
|
|
||||||
switch (gBack.type)
|
switch (gBack.type)
|
||||||
{
|
{
|
||||||
case 3:
|
case 3:
|
||||||
int x_1 = fx / 0x4000;
|
x_1 = fx / 0x4000;
|
||||||
int x_2 = x_1 + (((WINDOW_WIDTH + 31) >> 5) + 1);
|
x_2 = x_1 + (((WINDOW_WIDTH + 31) >> 5) + 1);
|
||||||
int y_1 = 0;
|
y_1 = 0;
|
||||||
int y_2 = y_1 + 32;
|
y_2 = y_1 + 32;
|
||||||
|
|
||||||
for (int y = y_1; y < y_2; y++)
|
for (y = y_1; y < y_2; y++)
|
||||||
{
|
{
|
||||||
int ypos = (y * 0x20 * 0x200) / 0x200 - fy / 0x200 + gWaterY / 0x200;
|
ypos = (y * 0x20 * 0x200) / 0x200 - fy / 0x200 + gWaterY / 0x200;
|
||||||
|
|
||||||
if (ypos < -32)
|
if (ypos < -32)
|
||||||
break;
|
continue;
|
||||||
|
|
||||||
if (ypos > WINDOW_HEIGHT)
|
if (ypos > WINDOW_HEIGHT)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
for (int x = x_1; x < x_2; x++)
|
for (x = x_1; x < x_2; x++)
|
||||||
{
|
{
|
||||||
int xpos = (x * 0x20 * 0x200) / 0x200 - fx / 0x200;
|
xpos = (x * 0x20 * 0x200) / 0x200 - fx / 0x200;
|
||||||
PutBitmap3(&grcGame, xpos, ypos, &rcWater[1], SURFACE_ID_LEVEL_BACKGROUND);
|
PutBitmap3(&grcGame, xpos, ypos, &rcWater[1], SURFACE_ID_LEVEL_BACKGROUND);
|
||||||
if (!y)
|
if (!y)
|
||||||
PutBitmap3(&grcGame, xpos, ypos, rcWater, SURFACE_ID_LEVEL_BACKGROUND);
|
PutBitmap3(&grcGame, xpos, ypos, &rcWater[0], SURFACE_ID_LEVEL_BACKGROUND);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue