mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-25 19:20:46 +00:00
m32script: fix parsing negated labels, getnumber* with neg. 'max'.
Exposed by this snippet from a.m32: getnumber256 .owner "OWNER (projection picnum): " -MAXTILES Now, Alt+KP2 works as expected in 3D mode. git-svn-id: https://svn.eduke32.com/eduke32@4196 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
44351528db
commit
c323fac09d
3 changed files with 5 additions and 1 deletions
|
@ -1274,7 +1274,7 @@ static void C_GetNextVarType(int32_t type)
|
||||||
{
|
{
|
||||||
// if (!(g_numCompilerErrors || g_numCompilerWarnings) && g_scriptDebug)
|
// if (!(g_numCompilerErrors || g_numCompilerWarnings) && g_scriptDebug)
|
||||||
// initprintf("%s:%d: debug: accepted defined label `%s' instead of gamevar.\n",g_szScriptFileName,g_lineNumber,label+(id*MAXLABELLEN));
|
// initprintf("%s:%d: debug: accepted defined label `%s' instead of gamevar.\n",g_szScriptFileName,g_lineNumber,label+(id*MAXLABELLEN));
|
||||||
num = (1-!!(flags&M32_FLAG_NEGATE))*labelval[id];
|
num = (1-2*!!(flags&M32_FLAG_NEGATE))*labelval[id];
|
||||||
|
|
||||||
if (type==GV_SIMPLE && (num<0 || num>=65536))
|
if (type==GV_SIMPLE && (num<0 || num>=65536))
|
||||||
{
|
{
|
||||||
|
|
|
@ -2373,6 +2373,8 @@ badindex:
|
||||||
|
|
||||||
if (max==0)
|
if (max==0)
|
||||||
max = INT32_MAX;
|
max = INT32_MAX;
|
||||||
|
else
|
||||||
|
max = klabs(max);
|
||||||
|
|
||||||
//OSD_Printf("max:%d, sign:%d\n", max, sign);
|
//OSD_Printf("max:%d, sign:%d\n", max, sign);
|
||||||
if (tw==CON_GETNUMBERFROMUSER)
|
if (tw==CON_GETNUMBERFROMUSER)
|
||||||
|
|
|
@ -266,6 +266,8 @@ int32_t __fastcall Gv_GetVarX(register int32_t id)
|
||||||
if (id == M32_THISACTOR_VAR_ID)
|
if (id == M32_THISACTOR_VAR_ID)
|
||||||
return vm.g_i;
|
return vm.g_i;
|
||||||
|
|
||||||
|
id &= ~M32_FLAG_NEGATE;
|
||||||
|
|
||||||
if ((id & M32_BITS_MASK) == M32_FLAG_CONSTANT)
|
if ((id & M32_BITS_MASK) == M32_FLAG_CONSTANT)
|
||||||
{
|
{
|
||||||
switch (id&3)
|
switch (id&3)
|
||||||
|
|
Loading…
Reference in a new issue