mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-25 13:51:43 +00:00
Add a shitty helper function to figure out dimensions for V_LockBlend
This commit is contained in:
parent
1f85e2b70c
commit
1a0a86f557
3 changed files with 85 additions and 0 deletions
|
@ -640,4 +640,8 @@ extern const char *compdate, *comptime, *comprevision, *compbranch;
|
||||||
/// Render flats on walls
|
/// Render flats on walls
|
||||||
#define WALLFLATS
|
#define WALLFLATS
|
||||||
|
|
||||||
|
/* THE CODE IN ST_STUFF SUCKS WTF */
|
||||||
|
/// Show dimensions of drawing in batched mode
|
||||||
|
//#define BATCHTEST
|
||||||
|
|
||||||
#endif // __DOOMDEF__
|
#endif // __DOOMDEF__
|
||||||
|
|
|
@ -493,6 +493,51 @@ blending translucent pixels. This is for overlapping translucent drawing.
|
||||||
|
|
||||||
static UINT8 *v_blendscreen;
|
static UINT8 *v_blendscreen;
|
||||||
|
|
||||||
|
#ifdef BATCHTEST
|
||||||
|
static int v_batchtest;
|
||||||
|
static int v_batchx1;
|
||||||
|
static int v_batchx2;
|
||||||
|
static int v_batchy1;
|
||||||
|
static int v_batchy2;
|
||||||
|
|
||||||
|
void
|
||||||
|
V_TestBatch (void)
|
||||||
|
{
|
||||||
|
v_batchx1 = 0;
|
||||||
|
v_batchx2 = 0;
|
||||||
|
v_batchy1 = 0;
|
||||||
|
v_batchy2 = 0;
|
||||||
|
v_batchtest = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
Vstatbatch (int x, int y, int w, int h)
|
||||||
|
{
|
||||||
|
switch (v_batchtest)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
v_batchx1 = x;
|
||||||
|
v_batchx2 = x + w;
|
||||||
|
v_batchy1 = y;
|
||||||
|
v_batchy2 = y + h;
|
||||||
|
v_batchtest = 2;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
if (x < v_batchx1)
|
||||||
|
v_batchx1 = x;
|
||||||
|
if (y < v_batchy1)
|
||||||
|
v_batchy1 = y;
|
||||||
|
x = x + w;
|
||||||
|
if (x > v_batchx2)
|
||||||
|
v_batchx2 = x;
|
||||||
|
y = y + h;
|
||||||
|
if (y > v_batchy2)
|
||||||
|
v_batchy2 = y;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif/*BATCHTEST*/
|
||||||
|
|
||||||
void
|
void
|
||||||
V_LockBlend (
|
V_LockBlend (
|
||||||
int x,
|
int x,
|
||||||
|
@ -531,6 +576,39 @@ V_LockBlend (
|
||||||
void
|
void
|
||||||
V_UnlockBlend (void)
|
V_UnlockBlend (void)
|
||||||
{
|
{
|
||||||
|
#ifdef BATCHTEST
|
||||||
|
int w;
|
||||||
|
int h;
|
||||||
|
if (v_batchtest)
|
||||||
|
{
|
||||||
|
w = ( v_batchx2 - v_batchx1 );
|
||||||
|
h = ( v_batchy2 - v_batchy1 );
|
||||||
|
if (!(
|
||||||
|
v_batchx1 % vid.dupx ||
|
||||||
|
w % vid.dupx ||
|
||||||
|
v_batchy1 % vid.dupy ||
|
||||||
|
h % vid.dupy )
|
||||||
|
){
|
||||||
|
CONS_Printf(
|
||||||
|
"%dx%d+%d+%d(u)\n",
|
||||||
|
w / vid.dupx,
|
||||||
|
h / vid.dupy,
|
||||||
|
v_batchx1 / vid.dupx,
|
||||||
|
v_batchy1 / vid.dupy
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CONS_Printf(
|
||||||
|
"%dx%d+%d+%d\n",
|
||||||
|
w,
|
||||||
|
h,
|
||||||
|
v_batchx1,
|
||||||
|
v_batchy1
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif/*BATCHTEST*/
|
||||||
v_blendscreen = screens[0];
|
v_blendscreen = screens[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -246,5 +246,8 @@ void VID_BlitLinearScreen(const UINT8 *srcptr, UINT8 *destptr, INT32 width, INT3
|
||||||
|
|
||||||
void V_LockBlend (int x, int y, int w, int h, int flags);
|
void V_LockBlend (int x, int y, int w, int h, int flags);
|
||||||
void V_UnlockBlend (void);
|
void V_UnlockBlend (void);
|
||||||
|
#ifdef BATCHTEST
|
||||||
|
void V_TestBatch (void);
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue