mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-26 03:30:46 +00:00
CON: Add drawline256 and drawlinergb commands that call the internal functions used for the automap lines.
drawline256 <x0> <y0> <x1> <y1> <index> drawlinergb <x0> <y0> <x1> <y1> <index> <rgb> The coordinates are xdim<<12/ydim<<12 based, not 320<<16x200<<16. <index> is a palette index, and for drawlinergb is used as a fallback in the software renderer. <rgb> is encoded the same as PROJ_FLASH_COLOR. git-svn-id: https://svn.eduke32.com/eduke32@6261 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
4dbeb30907
commit
df317aa741
3 changed files with 41 additions and 0 deletions
|
@ -575,6 +575,8 @@ const char *keyw[] =
|
||||||
"scalevar", // 401
|
"scalevar", // 401
|
||||||
"undefinegamefunc", // 402
|
"undefinegamefunc", // 402
|
||||||
"getclosestcol", // 403
|
"getclosestcol", // 403
|
||||||
|
"drawline256", // 404
|
||||||
|
"drawlinergb", // 405
|
||||||
"<null>"
|
"<null>"
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
@ -3607,9 +3609,14 @@ DO_DEFSTATE:
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
case CON_HITRADIUSVAR:
|
case CON_HITRADIUSVAR:
|
||||||
|
case CON_DRAWLINE256:
|
||||||
C_GetManyVars(5);
|
C_GetManyVars(5);
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
case CON_DRAWLINERGB:
|
||||||
|
C_GetManyVars(6);
|
||||||
|
continue;
|
||||||
|
|
||||||
case CON_HITRADIUS:
|
case CON_HITRADIUS:
|
||||||
C_GetNextValue(LABEL_DEFINE);
|
C_GetNextValue(LABEL_DEFINE);
|
||||||
C_GetNextValue(LABEL_DEFINE);
|
C_GetNextValue(LABEL_DEFINE);
|
||||||
|
|
|
@ -1137,6 +1137,8 @@ enum ScriptKeywords_t
|
||||||
CON_SCALEVAR, // 401
|
CON_SCALEVAR, // 401
|
||||||
CON_UNDEFINEGAMEFUNC, // 402
|
CON_UNDEFINEGAMEFUNC, // 402
|
||||||
CON_GETCLOSESTCOL, // 403
|
CON_GETCLOSESTCOL, // 403
|
||||||
|
CON_DRAWLINE256, // 404
|
||||||
|
CON_DRAWLINERGB, // 405
|
||||||
CON_END
|
CON_END
|
||||||
};
|
};
|
||||||
// KEEPINSYNC with the keyword list in lunatic/con_lang.lua
|
// KEEPINSYNC with the keyword list in lunatic/con_lang.lua
|
||||||
|
|
|
@ -21,6 +21,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
|
|
||||||
#include "compat.h"
|
#include "compat.h"
|
||||||
|
#include "colmatch.h"
|
||||||
|
|
||||||
#include "duke3d.h"
|
#include "duke3d.h"
|
||||||
|
|
||||||
#include "scriplib.h"
|
#include "scriplib.h"
|
||||||
|
@ -4899,6 +4901,36 @@ finish_qsprintf:
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
case CON_DRAWLINE256:
|
||||||
|
insptr++;
|
||||||
|
{
|
||||||
|
struct {
|
||||||
|
vec2_t pos[2];
|
||||||
|
int32_t index;
|
||||||
|
} v;
|
||||||
|
|
||||||
|
Gv_GetManyVars(sizeof(v)/sizeof(int32_t), (int32_t *)&v);
|
||||||
|
|
||||||
|
drawline256(v.pos[0].x, v.pos[0].y, v.pos[1].x, v.pos[1].y, v.index);
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
|
||||||
|
case CON_DRAWLINERGB:
|
||||||
|
insptr++;
|
||||||
|
{
|
||||||
|
struct {
|
||||||
|
vec2_t pos[2];
|
||||||
|
int32_t index, rgb;
|
||||||
|
} v;
|
||||||
|
|
||||||
|
Gv_GetManyVars(sizeof(v)/sizeof(int32_t), (int32_t *)&v);
|
||||||
|
|
||||||
|
palette_t const p = { (uint8_t)(v.rgb & 0xFF), (uint8_t)((v.rgb >> 8) & 0xFF), (uint8_t)((v.rgb >> 16) & 0xFF), (uint8_t)v.index };
|
||||||
|
|
||||||
|
drawlinergb(v.pos[0].x, v.pos[0].y, v.pos[1].x, v.pos[1].y, p);
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
|
||||||
case CON_INV:
|
case CON_INV:
|
||||||
if ((aGameVars[*(insptr + 1)].flags & (GAMEVAR_USER_MASK | GAMEVAR_PTR_MASK)) == 0)
|
if ((aGameVars[*(insptr + 1)].flags & (GAMEVAR_USER_MASK | GAMEVAR_PTR_MASK)) == 0)
|
||||||
aGameVars[*(insptr + 1)].global = -aGameVars[*(insptr + 1)].global;
|
aGameVars[*(insptr + 1)].global = -aGameVars[*(insptr + 1)].global;
|
||||||
|
|
Loading…
Reference in a new issue