Made Fade.cpp ASM-accurate
This commit is contained in:
parent
995a4f7a79
commit
5ba0454bc8
5 changed files with 247 additions and 219 deletions
|
@ -474,6 +474,11 @@ void Surface2Surface(int x, int y, RECT *rect, int to, int from)
|
||||||
surf[to].needs_updating = true;
|
surf[to].needs_updating = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unsigned long GetCortBoxColor(unsigned long col)
|
||||||
|
{
|
||||||
|
return ((col & 0xFF) << 16) | (col & 0xFF00) | ((col & 0xFF0000) >> 16);
|
||||||
|
}
|
||||||
|
|
||||||
void CortBox(RECT *rect, uint32_t col)
|
void CortBox(RECT *rect, uint32_t col)
|
||||||
{
|
{
|
||||||
//Get rect
|
//Get rect
|
||||||
|
|
|
@ -4,6 +4,10 @@
|
||||||
|
|
||||||
#include "WindowsWrapper.h"
|
#include "WindowsWrapper.h"
|
||||||
|
|
||||||
|
#ifndef RGB
|
||||||
|
#define RGB(r,g,b) ((r) | ((g) << 8) | ((b) << 16))
|
||||||
|
#endif
|
||||||
|
|
||||||
extern RECT grcGame;
|
extern RECT grcGame;
|
||||||
extern RECT grcFull;
|
extern RECT grcFull;
|
||||||
|
|
||||||
|
@ -63,6 +67,7 @@ void BackupSurface(Surface_Ids surf_no, RECT *rect);
|
||||||
void PutBitmap3(RECT *rcView, int x, int y, RECT *rect, Surface_Ids surf_no);
|
void PutBitmap3(RECT *rcView, int x, int y, RECT *rect, Surface_Ids surf_no);
|
||||||
void PutBitmap4(RECT *rcView, int x, int y, RECT *rect, Surface_Ids surf_no);
|
void PutBitmap4(RECT *rcView, int x, int y, RECT *rect, Surface_Ids surf_no);
|
||||||
void Surface2Surface(int x, int y, RECT *rect, int to, int from);
|
void Surface2Surface(int x, int y, RECT *rect, int to, int from);
|
||||||
|
unsigned long GetCortBoxColor(unsigned long col);
|
||||||
void CortBox(RECT *rect, uint32_t col);
|
void CortBox(RECT *rect, uint32_t col);
|
||||||
void CortBox2(RECT *rect, uint32_t col, Surface_Ids surf_no);
|
void CortBox2(RECT *rect, uint32_t col, Surface_Ids surf_no);
|
||||||
void InitTextObject(const char *font_name);
|
void InitTextObject(const char *font_name);
|
||||||
|
|
448
src/Fade.cpp
448
src/Fade.cpp
|
@ -8,20 +8,22 @@
|
||||||
#include "Game.h"
|
#include "Game.h"
|
||||||
|
|
||||||
FADE gFade;
|
FADE gFade;
|
||||||
|
static unsigned long mask_color;
|
||||||
|
|
||||||
void InitFade()
|
void InitFade()
|
||||||
{
|
{
|
||||||
memset(&gFade, 0, sizeof(FADE));
|
memset(&gFade, 0, sizeof(FADE));
|
||||||
|
mask_color = GetCortBoxColor(RGB(0, 0, 0x20));
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetFadeMask()
|
void SetFadeMask()
|
||||||
{
|
{
|
||||||
gFade.bMask = true;
|
gFade.bMask = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ClearFade()
|
void ClearFade()
|
||||||
{
|
{
|
||||||
gFade.bMask = false;
|
gFade.bMask = FALSE;
|
||||||
gFade.mode = 0;
|
gFade.mode = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,239 +32,248 @@ void StartFadeOut(char dir)
|
||||||
gFade.mode = 2;
|
gFade.mode = 2;
|
||||||
gFade.count = 0;
|
gFade.count = 0;
|
||||||
gFade.dir = dir;
|
gFade.dir = dir;
|
||||||
gFade.bMask = false;
|
gFade.bMask = FALSE;
|
||||||
|
|
||||||
for (int y = 0; y < FADE_HEIGHT; y++)
|
for (int y = 0; y < FADE_HEIGHT; y++)
|
||||||
{
|
{
|
||||||
for (int x = 0; x < FADE_WIDTH; x++)
|
for (int x = 0; x < FADE_WIDTH; x++)
|
||||||
{
|
{
|
||||||
gFade.ani_no[y][x] = 0;
|
gFade.ani_no[y][x] = 0;
|
||||||
gFade.flag[y][x] = 0;
|
gFade.flag[y][x] = FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void StartFadeIn(char dir)
|
void StartFadeIn(char dir)
|
||||||
{
|
{
|
||||||
|
int x;
|
||||||
|
int y;
|
||||||
|
|
||||||
gFade.mode = 1;
|
gFade.mode = 1;
|
||||||
gFade.count = 0;
|
gFade.count = 0;
|
||||||
gFade.dir = dir;
|
gFade.dir = dir;
|
||||||
gFade.bMask = true;
|
gFade.bMask = TRUE;
|
||||||
|
|
||||||
for (int y = 0; y < FADE_HEIGHT; y++)
|
for (y = 0; y < FADE_HEIGHT; y++)
|
||||||
{
|
{
|
||||||
for (int x = 0; x < FADE_WIDTH; x++)
|
for (x = 0; x < FADE_WIDTH; x++)
|
||||||
{
|
{
|
||||||
gFade.ani_no[y][x] = 15;
|
gFade.ani_no[y][x] = 15;
|
||||||
gFade.flag[y][x] = 0;
|
gFade.flag[y][x] = FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
x = x; // What
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProcFade()
|
void ProcFade()
|
||||||
{
|
{
|
||||||
if (gFade.mode == 1)
|
int x;
|
||||||
|
int y;
|
||||||
|
|
||||||
|
switch (gFade.mode)
|
||||||
{
|
{
|
||||||
gFade.bMask = false;
|
case 2:
|
||||||
|
switch (gFade.dir)
|
||||||
switch (gFade.dir)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
for (int y = 0; y < FADE_HEIGHT; y++)
|
|
||||||
{
|
|
||||||
for (int x = 0; x <= FADE_WIDTH; x++)
|
|
||||||
{
|
|
||||||
if ((FADE_WIDTH - 1) - gFade.count == x)
|
|
||||||
gFade.flag[y][x] = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 1:
|
|
||||||
for (int y = 0; y < FADE_HEIGHT; y++)
|
|
||||||
{
|
|
||||||
for (int x = 0; x < FADE_WIDTH; x++)
|
|
||||||
{
|
|
||||||
if ((FADE_HEIGHT - 1) - gFade.count == y)
|
|
||||||
gFade.flag[y][x] = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 2:
|
|
||||||
for (int y = 0; y < FADE_HEIGHT; y++)
|
|
||||||
{
|
|
||||||
for (int x = 0; x < FADE_WIDTH; x++)
|
|
||||||
{
|
|
||||||
if (gFade.count == x)
|
|
||||||
gFade.flag[y][x] = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 3:
|
|
||||||
for (int y = 0; y < FADE_HEIGHT; y++)
|
|
||||||
{
|
|
||||||
for (int x = 0; x < FADE_WIDTH; x++)
|
|
||||||
{
|
|
||||||
if (gFade.count == y)
|
|
||||||
gFade.flag[y][x] = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 4:
|
|
||||||
for (int y = 0; y < (FADE_HEIGHT / 2); y++)
|
|
||||||
{
|
|
||||||
for (int x = 0; x < (FADE_WIDTH / 2); x++)
|
|
||||||
{
|
|
||||||
if ((FADE_WIDTH - 1) - gFade.count == x + y)
|
|
||||||
gFade.flag[y][x] = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (int y = 0; y < (FADE_HEIGHT / 2); y++)
|
|
||||||
{
|
|
||||||
for (int x = (FADE_WIDTH / 2); x < FADE_WIDTH; x++)
|
|
||||||
{
|
|
||||||
if ((FADE_WIDTH - 1) - gFade.count == y + ((FADE_WIDTH - 1) - x))
|
|
||||||
gFade.flag[y][x] = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (int y = (FADE_HEIGHT / 2); y < FADE_HEIGHT; y++)
|
|
||||||
{
|
|
||||||
for (int x = 0; x < (FADE_WIDTH / 2); x++)
|
|
||||||
{
|
|
||||||
if ((FADE_WIDTH - 1) - gFade.count == x + ((FADE_HEIGHT - 1) - y))
|
|
||||||
gFade.flag[y][x] = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (int y = (FADE_HEIGHT / 2); y < FADE_HEIGHT; y++)
|
|
||||||
{
|
|
||||||
for (int x = (FADE_WIDTH / 2); x < FADE_WIDTH; x++)
|
|
||||||
{
|
|
||||||
if ((FADE_WIDTH - 1) - gFade.count == ((FADE_WIDTH - 1) - x) + ((FADE_HEIGHT - 1) - y))
|
|
||||||
gFade.flag[y][x] = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int y = 0; y < FADE_HEIGHT; y++)
|
|
||||||
{
|
|
||||||
for (int x = 0; x < FADE_WIDTH; x++)
|
|
||||||
{
|
{
|
||||||
if (gFade.ani_no[y][x] > 0 && gFade.flag[y][x])
|
case 0:
|
||||||
--gFade.ani_no[y][x];
|
for (y = 0; y < FADE_HEIGHT; y++)
|
||||||
|
{
|
||||||
|
for (x = 0; x < FADE_WIDTH; x++)
|
||||||
|
{
|
||||||
|
if ((FADE_WIDTH - 1) - gFade.count == x)
|
||||||
|
gFade.flag[y][x] = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
for (y = 0; y < FADE_HEIGHT; y++)
|
||||||
|
{
|
||||||
|
for (x = 0; x < FADE_WIDTH; x++)
|
||||||
|
{
|
||||||
|
if (gFade.count == x)
|
||||||
|
gFade.flag[y][x] = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
for (y = 0; y < FADE_HEIGHT; y++)
|
||||||
|
{
|
||||||
|
for (x = 0; x < FADE_WIDTH; x++)
|
||||||
|
{
|
||||||
|
if ((FADE_HEIGHT - 1) - gFade.count == y)
|
||||||
|
gFade.flag[y][x] = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
for (y = 0; y < FADE_HEIGHT; y++)
|
||||||
|
{
|
||||||
|
for (x = 0; x < FADE_WIDTH; x++)
|
||||||
|
{
|
||||||
|
if (gFade.count == y)
|
||||||
|
gFade.flag[y][x] = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 4:
|
||||||
|
for (y = 0; y < (FADE_HEIGHT / 2); y++)
|
||||||
|
{
|
||||||
|
for (x = 0; x < (FADE_WIDTH / 2); x++)
|
||||||
|
{
|
||||||
|
if (gFade.count == x + y)
|
||||||
|
gFade.flag[y][x] = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (y = 0; y < (FADE_HEIGHT / 2); y++)
|
||||||
|
{
|
||||||
|
for (x = (FADE_WIDTH / 2); x < FADE_WIDTH; x++)
|
||||||
|
{
|
||||||
|
if (gFade.count == y + ((FADE_WIDTH - 1) - x))
|
||||||
|
gFade.flag[y][x] = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (y = (FADE_HEIGHT / 2); y < FADE_HEIGHT; y++)
|
||||||
|
{
|
||||||
|
for (x = 0; x < (FADE_WIDTH / 2); x++)
|
||||||
|
{
|
||||||
|
if (gFade.count == x + ((FADE_HEIGHT - 1) - y))
|
||||||
|
gFade.flag[y][x] = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (y = (FADE_HEIGHT / 2); y < FADE_HEIGHT; y++)
|
||||||
|
{
|
||||||
|
for (x = (FADE_WIDTH / 2); x < FADE_WIDTH; x++)
|
||||||
|
{
|
||||||
|
if (gFade.count == ((FADE_WIDTH - 1) - x) + ((FADE_HEIGHT - 1) - y))
|
||||||
|
gFade.flag[y][x] = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
for (y = 0; y < FADE_HEIGHT; y++)
|
||||||
if (++gFade.count > ((FADE_WIDTH > FADE_HEIGHT) ? FADE_WIDTH : FADE_HEIGHT) + 16)
|
|
||||||
gFade.mode = 0;
|
|
||||||
}
|
|
||||||
else if (gFade.mode == 2)
|
|
||||||
{
|
|
||||||
switch (gFade.dir)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
for (int y = 0; y < FADE_HEIGHT; y++)
|
|
||||||
{
|
|
||||||
for (int x = 0; x <= FADE_WIDTH; x++)
|
|
||||||
{
|
|
||||||
if ((FADE_WIDTH - 1) - gFade.count == x)
|
|
||||||
gFade.flag[y][x] = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 1:
|
|
||||||
for (int y = 0; y < FADE_HEIGHT; y++)
|
|
||||||
{
|
|
||||||
for (int x = 0; x < FADE_WIDTH; x++)
|
|
||||||
{
|
|
||||||
if ((FADE_HEIGHT - 1) - gFade.count == y)
|
|
||||||
gFade.flag[y][x] = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 2:
|
|
||||||
for (int y = 0; y < FADE_HEIGHT; y++)
|
|
||||||
{
|
|
||||||
for (int x = 0; x < FADE_WIDTH; x++)
|
|
||||||
{
|
|
||||||
if (gFade.count == x)
|
|
||||||
gFade.flag[y][x] = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 3:
|
|
||||||
for (int y = 0; y < FADE_HEIGHT; y++)
|
|
||||||
{
|
|
||||||
for (int x = 0; x < FADE_WIDTH; x++)
|
|
||||||
{
|
|
||||||
if (gFade.count == y)
|
|
||||||
gFade.flag[y][x] = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 4:
|
|
||||||
for (int y = 0; y < (FADE_HEIGHT / 2); y++)
|
|
||||||
{
|
|
||||||
for (int x = 0; x < (FADE_WIDTH / 2); x++)
|
|
||||||
{
|
|
||||||
if (gFade.count == x + y)
|
|
||||||
gFade.flag[y][x] = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (int y = 0; y < (FADE_HEIGHT / 2); y++)
|
|
||||||
{
|
|
||||||
for (int x = (FADE_WIDTH / 2); x < FADE_WIDTH; x++)
|
|
||||||
{
|
|
||||||
if (gFade.count == y + ((FADE_WIDTH - 1) - x))
|
|
||||||
gFade.flag[y][x] = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (int y = (FADE_HEIGHT / 2); y < FADE_HEIGHT; y++)
|
|
||||||
{
|
|
||||||
for (int x = 0; x < (FADE_WIDTH / 2); x++)
|
|
||||||
{
|
|
||||||
if (gFade.count == x + ((FADE_HEIGHT - 1) - y))
|
|
||||||
gFade.flag[y][x] = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (int y = (FADE_HEIGHT / 2); y < FADE_HEIGHT; y++)
|
|
||||||
{
|
|
||||||
for (int x = (FADE_WIDTH / 2); x < FADE_WIDTH; x++)
|
|
||||||
{
|
|
||||||
if (gFade.count == ((FADE_WIDTH - 1) - x) + ((FADE_HEIGHT - 1) - y))
|
|
||||||
gFade.flag[y][x] = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int y = 0; y < FADE_HEIGHT; y++)
|
|
||||||
{
|
|
||||||
for (int x = 0; x < FADE_WIDTH; x++)
|
|
||||||
{
|
{
|
||||||
if (gFade.ani_no[y][x] < 15 && gFade.flag[y][x])
|
for (x = 0; x < FADE_WIDTH; x++)
|
||||||
++gFade.ani_no[y][x];
|
{
|
||||||
|
if (gFade.ani_no[y][x] < 15 && gFade.flag[y][x])
|
||||||
|
++gFade.ani_no[y][x];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
if (++gFade.count > ((FADE_WIDTH > FADE_HEIGHT) ? FADE_WIDTH : FADE_HEIGHT) + 16)
|
||||||
if (++gFade.count > ((FADE_WIDTH > FADE_HEIGHT) ? FADE_WIDTH : FADE_HEIGHT) + 16)
|
{
|
||||||
{
|
gFade.bMask = TRUE;
|
||||||
gFade.bMask = true;
|
gFade.mode = 0;
|
||||||
gFade.mode = 0;
|
}
|
||||||
}
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
gFade.bMask = FALSE;
|
||||||
|
|
||||||
|
switch (gFade.dir)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
for (y = 0; y < FADE_HEIGHT; y++)
|
||||||
|
{
|
||||||
|
for (x = 0; x < FADE_WIDTH; x++)
|
||||||
|
{
|
||||||
|
if ((FADE_WIDTH - 1) - gFade.count == x)
|
||||||
|
gFade.flag[y][x] = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
for (y = 0; y < FADE_HEIGHT; y++)
|
||||||
|
{
|
||||||
|
for (x = 0; x < FADE_WIDTH; x++)
|
||||||
|
{
|
||||||
|
if (gFade.count == x)
|
||||||
|
gFade.flag[y][x] = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
for (y = 0; y < FADE_HEIGHT; y++)
|
||||||
|
{
|
||||||
|
for (x = 0; x < FADE_WIDTH; x++)
|
||||||
|
{
|
||||||
|
if ((FADE_HEIGHT - 1) - gFade.count == y)
|
||||||
|
gFade.flag[y][x] = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
for (y = 0; y < FADE_HEIGHT; y++)
|
||||||
|
{
|
||||||
|
for (x = 0; x < FADE_WIDTH; x++)
|
||||||
|
{
|
||||||
|
if (gFade.count == y)
|
||||||
|
gFade.flag[y][x] = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 4:
|
||||||
|
for (y = 0; y < (FADE_HEIGHT / 2); y++)
|
||||||
|
{
|
||||||
|
for (x = 0; x < (FADE_WIDTH / 2); x++)
|
||||||
|
{
|
||||||
|
if ((FADE_WIDTH - 1) - gFade.count == x + y)
|
||||||
|
gFade.flag[y][x] = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (y = 0; y < (FADE_HEIGHT / 2); y++)
|
||||||
|
{
|
||||||
|
for (x = (FADE_WIDTH / 2); x < FADE_WIDTH; x++)
|
||||||
|
{
|
||||||
|
if ((FADE_WIDTH - 1) - gFade.count == y + ((FADE_WIDTH - 1) - x))
|
||||||
|
gFade.flag[y][x] = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (y = (FADE_HEIGHT / 2); y < FADE_HEIGHT; y++)
|
||||||
|
{
|
||||||
|
for (x = 0; x < (FADE_WIDTH / 2); x++)
|
||||||
|
{
|
||||||
|
if ((FADE_WIDTH - 1) - gFade.count == x + ((FADE_HEIGHT - 1) - y))
|
||||||
|
gFade.flag[y][x] = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (y = (FADE_HEIGHT / 2); y < FADE_HEIGHT; y++)
|
||||||
|
{
|
||||||
|
for (x = (FADE_WIDTH / 2); x < FADE_WIDTH; x++)
|
||||||
|
{
|
||||||
|
if ((FADE_WIDTH - 1) - gFade.count == ((FADE_WIDTH - 1) - x) + ((FADE_HEIGHT - 1) - y))
|
||||||
|
gFade.flag[y][x] = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (y = 0; y < FADE_HEIGHT; y++)
|
||||||
|
{
|
||||||
|
for (x = 0; x < FADE_WIDTH; x++)
|
||||||
|
{
|
||||||
|
if (gFade.ani_no[y][x] > 0 && gFade.flag[y][x])
|
||||||
|
--gFade.ani_no[y][x];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (++gFade.count > ((FADE_WIDTH > FADE_HEIGHT) ? FADE_WIDTH : FADE_HEIGHT) + 16)
|
||||||
|
gFade.mode = 0;
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -274,23 +285,28 @@ void PutFade()
|
||||||
|
|
||||||
if (gFade.bMask)
|
if (gFade.bMask)
|
||||||
{
|
{
|
||||||
CortBox(&grcGame, 0x000020);
|
CortBox(&grcGame, mask_color);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
else if (gFade.mode)
|
|
||||||
|
if (gFade.mode == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
for (int y = 0; y < FADE_HEIGHT; y++)
|
||||||
{
|
{
|
||||||
for (int y = 0; y < FADE_HEIGHT; y++)
|
for (int x = 0; x < FADE_WIDTH; x++)
|
||||||
{
|
{
|
||||||
for (int x = 0; x < FADE_WIDTH; x++)
|
rect.left = 16 * gFade.ani_no[y][x];
|
||||||
{
|
rect.right = rect.left + 16;
|
||||||
rect.left = 16 * gFade.ani_no[y][x];
|
PutBitmap3(&grcGame, 16 * x, 16 * y, &rect, SURFACE_ID_FADE);
|
||||||
rect.right = rect.left + 16;
|
|
||||||
PutBitmap3(&grcGame, 16 * x, 16 * y, &rect, SURFACE_ID_FADE);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GetFadeActive()
|
BOOL GetFadeActive()
|
||||||
{
|
{
|
||||||
return gFade.mode != 0;
|
if (gFade.mode == 0)
|
||||||
|
return FALSE;
|
||||||
|
else
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "CommonDefines.h"
|
#include "CommonDefines.h"
|
||||||
|
#include "WindowsWrapper.h"
|
||||||
|
|
||||||
#define FADE_WIDTH (((WINDOW_WIDTH - 1) >> 4) + 1)
|
#define FADE_WIDTH (((WINDOW_WIDTH - 1) >> 4) + 1)
|
||||||
#define FADE_HEIGHT (((WINDOW_HEIGHT - 1) >> 4) + 1)
|
#define FADE_HEIGHT (((WINDOW_HEIGHT - 1) >> 4) + 1)
|
||||||
|
@ -8,10 +9,10 @@
|
||||||
struct FADE
|
struct FADE
|
||||||
{
|
{
|
||||||
int mode;
|
int mode;
|
||||||
bool bMask;
|
BOOL bMask;
|
||||||
int count;
|
int count;
|
||||||
char ani_no[FADE_HEIGHT][FADE_WIDTH];
|
char ani_no[FADE_HEIGHT][FADE_WIDTH];
|
||||||
char flag[FADE_HEIGHT][FADE_WIDTH];
|
BOOLEAN flag[FADE_HEIGHT][FADE_WIDTH];
|
||||||
char dir;
|
char dir;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -22,4 +23,4 @@ void StartFadeOut(char dir);
|
||||||
void StartFadeIn(char dir);
|
void StartFadeIn(char dir);
|
||||||
void ProcFade();
|
void ProcFade();
|
||||||
void PutFade();
|
void PutFade();
|
||||||
bool GetFadeActive();
|
BOOL GetFadeActive();
|
||||||
|
|
|
@ -4,6 +4,7 @@ int rep_rand();
|
||||||
void rep_srand(unsigned int seed);
|
void rep_srand(unsigned int seed);
|
||||||
|
|
||||||
typedef int BOOL;
|
typedef int BOOL;
|
||||||
|
typedef unsigned char BOOLEAN;
|
||||||
|
|
||||||
#ifndef FALSE
|
#ifndef FALSE
|
||||||
#define FALSE 0
|
#define FALSE 0
|
||||||
|
|
Loading…
Add table
Reference in a new issue