mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-31 22:00:46 +00:00
- #2
This commit is contained in:
parent
6a6bbbe71a
commit
49e7fa20e8
4 changed files with 104 additions and 127 deletions
|
@ -49,6 +49,7 @@ int errorcount, warningcount; // was named 'error' and 'warning' which is too ge
|
||||||
int g_currentSourceFile;
|
int g_currentSourceFile;
|
||||||
intptr_t parsing_actor;
|
intptr_t parsing_actor;
|
||||||
int parsing_state;
|
int parsing_state;
|
||||||
|
int num_squigilly_brackets;
|
||||||
|
|
||||||
//G_EXTERN char tempbuf[MAXSECTORS << 1], buf[1024]; todo - move to compile state. tempbuf gets used nearly everywhere as scratchpad memory.
|
//G_EXTERN char tempbuf[MAXSECTORS << 1], buf[1024]; todo - move to compile state. tempbuf gets used nearly everywhere as scratchpad memory.
|
||||||
extern char tempbuf[];
|
extern char tempbuf[];
|
||||||
|
@ -600,7 +601,7 @@ int parsecommand(int tw) // for now just run an externally parsed command.
|
||||||
getlabel();
|
getlabel();
|
||||||
checkforkeyword();
|
checkforkeyword();
|
||||||
|
|
||||||
int lnum = findlabel(label + (labelcnt << 6));
|
lnum = findlabel(label + (labelcnt << 6));
|
||||||
|
|
||||||
if (lnum < 0)
|
if (lnum < 0)
|
||||||
{
|
{
|
||||||
|
@ -618,6 +619,7 @@ int parsecommand(int tw) // for now just run an externally parsed command.
|
||||||
case concmd_lotsofglass:
|
case concmd_lotsofglass:
|
||||||
transnum();
|
transnum();
|
||||||
return 0;
|
return 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
case concmd_ends:
|
case concmd_ends:
|
||||||
if (parsing_state == 0)
|
if (parsing_state == 0)
|
||||||
|
@ -629,7 +631,7 @@ int parsecommand(int tw) // for now just run an externally parsed command.
|
||||||
{
|
{
|
||||||
if (num_squigilly_brackets > 0)
|
if (num_squigilly_brackets > 0)
|
||||||
{
|
{
|
||||||
ReportError(ERROR_CLOSEBRACKET);
|
ReportError(ERROR_OPENBRACKET);
|
||||||
errorcount++;
|
errorcount++;
|
||||||
}
|
}
|
||||||
if (num_squigilly_brackets < 0)
|
if (num_squigilly_brackets < 0)
|
||||||
|
@ -641,6 +643,7 @@ int parsecommand(int tw) // for now just run an externally parsed command.
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
#if 0
|
||||||
case concmd_gamevar:
|
case concmd_gamevar:
|
||||||
// syntax: gamevar <var1> <initial value> <flags>
|
// syntax: gamevar <var1> <initial value> <flags>
|
||||||
// defines var1 and sets initial value.
|
// defines var1 and sets initial value.
|
||||||
|
|
|
@ -58,7 +58,7 @@ enum
|
||||||
{ \
|
{ \
|
||||||
C_ReportError(-1); \
|
C_ReportError(-1); \
|
||||||
Printf("%s:%d: error: " Text "\n", g_scriptFileName, line_number, ##__VA_ARGS__); \
|
Printf("%s:%d: error: " Text "\n", g_scriptFileName, line_number, ##__VA_ARGS__); \
|
||||||
g_errorCnt++; \
|
errorcount++; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define C_CUSTOMWARNING(Text, ...) \
|
#define C_CUSTOMWARNING(Text, ...) \
|
||||||
|
@ -66,7 +66,7 @@ enum
|
||||||
{ \
|
{ \
|
||||||
C_ReportError(-1); \
|
C_ReportError(-1); \
|
||||||
Printf("%s:%d: warning: " Text "\n", g_scriptFileName, line_number, ##__VA_ARGS__); \
|
Printf("%s:%d: warning: " Text "\n", g_scriptFileName, line_number, ##__VA_ARGS__); \
|
||||||
g_warningCnt++; \
|
warningcount++; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
extern intptr_t const * insptr;
|
extern intptr_t const * insptr;
|
||||||
|
@ -91,11 +91,11 @@ extern char g_scriptFileName[BMAX_PATH];
|
||||||
extern const uint32_t CheatFunctionFlags[];
|
extern const uint32_t CheatFunctionFlags[];
|
||||||
extern const uint8_t CheatFunctionIDs[];
|
extern const uint8_t CheatFunctionIDs[];
|
||||||
|
|
||||||
extern int32_t g_errorCnt;
|
extern int errorcount;
|
||||||
extern int32_t line_number;
|
extern int32_t line_number;
|
||||||
extern int32_t g_scriptVersion;
|
extern int32_t g_scriptVersion;
|
||||||
extern int32_t g_totalLines;
|
extern int32_t g_totalLines;
|
||||||
extern int32_t g_warningCnt;
|
extern int warningcount;
|
||||||
extern uint32_t g_scriptcrc;
|
extern uint32_t g_scriptcrc;
|
||||||
extern int32_t otherp;
|
extern int32_t otherp;
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,7 @@ extern int parsing_state;
|
||||||
// First entry is 'default' code.
|
// First entry is 'default' code.
|
||||||
static intptr_t *g_caseScriptPtr;
|
static intptr_t *g_caseScriptPtr;
|
||||||
static int32_t g_labelsOnly = 0;
|
static int32_t g_labelsOnly = 0;
|
||||||
static int32_t g_numBraces = 0;
|
extern int num_squigilly_brackets;
|
||||||
|
|
||||||
static int32_t C_ParseCommand(int32_t loop);
|
static int32_t C_ParseCommand(int32_t loop);
|
||||||
static int32_t C_SetScriptSize(int32_t size);
|
static int32_t C_SetScriptSize(int32_t size);
|
||||||
|
@ -81,8 +81,6 @@ extern intptr_t parsing_actor;
|
||||||
static intptr_t g_scriptEventOffset;
|
static intptr_t g_scriptEventOffset;
|
||||||
extern char *textptr;
|
extern char *textptr;
|
||||||
|
|
||||||
int32_t g_errorCnt,g_warningCnt;
|
|
||||||
|
|
||||||
static char *C_GetLabelType(int32_t type)
|
static char *C_GetLabelType(int32_t type)
|
||||||
{
|
{
|
||||||
int32_t i;
|
int32_t i;
|
||||||
|
@ -248,13 +246,13 @@ static int32_t C_SkipComments(void)
|
||||||
switch (textptr[1])
|
switch (textptr[1])
|
||||||
{
|
{
|
||||||
case '/': // C++ style comment
|
case '/': // C++ style comment
|
||||||
if (!(g_errorCnt || g_warningCnt) && g_scriptDebug > 1)
|
if (!(errorcount || warningcount) && g_scriptDebug > 1)
|
||||||
Printf("%s:%d: debug: got comment.\n",g_scriptFileName,line_number);
|
Printf("%s:%d: debug: got comment.\n",g_scriptFileName,line_number);
|
||||||
skiptoendofline();
|
skiptoendofline();
|
||||||
g_gotComment = 1;
|
g_gotComment = 1;
|
||||||
continue;
|
continue;
|
||||||
case '*': // beginning of a C style comment
|
case '*': // beginning of a C style comment
|
||||||
if (!(g_errorCnt || g_warningCnt) && g_scriptDebug > 1)
|
if (!(errorcount || warningcount) && g_scriptDebug > 1)
|
||||||
Printf("%s:%d: debug: got start of comment block.\n",g_scriptFileName,line_number);
|
Printf("%s:%d: debug: got start of comment block.\n",g_scriptFileName,line_number);
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
@ -266,16 +264,16 @@ static int32_t C_SkipComments(void)
|
||||||
|
|
||||||
if (EDUKE32_PREDICT_FALSE(!*textptr))
|
if (EDUKE32_PREDICT_FALSE(!*textptr))
|
||||||
{
|
{
|
||||||
if (!(g_errorCnt || g_warningCnt) && g_scriptDebug)
|
if (!(errorcount || warningcount) && g_scriptDebug)
|
||||||
Printf("%s:%d: debug: EOF in comment!\n",g_scriptFileName,line_number);
|
Printf("%s:%d: debug: EOF in comment!\n",g_scriptFileName,line_number);
|
||||||
C_ReportError(-1);
|
C_ReportError(-1);
|
||||||
Printf("%s:%d: error: found `/*' with no `*/'.\n",g_scriptFileName,line_number);
|
Printf("%s:%d: error: found `/*' with no `*/'.\n",g_scriptFileName,line_number);
|
||||||
parsing_actor = parsing_state = g_numBraces = 0;
|
parsing_actor = parsing_state = num_squigilly_brackets = 0;
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(g_errorCnt || g_warningCnt) && g_scriptDebug > 1)
|
if (!(errorcount || warningcount) && g_scriptDebug > 1)
|
||||||
Printf("%s:%d: debug: got end of comment block.\n",g_scriptFileName,line_number);
|
Printf("%s:%d: debug: got end of comment block.\n",g_scriptFileName,line_number);
|
||||||
|
|
||||||
textptr+=2;
|
textptr+=2;
|
||||||
|
@ -285,7 +283,7 @@ static int32_t C_SkipComments(void)
|
||||||
C_ReportError(-1);
|
C_ReportError(-1);
|
||||||
Printf("%s:%d: error: malformed comment.\n", g_scriptFileName, line_number);
|
Printf("%s:%d: error: malformed comment.\n", g_scriptFileName, line_number);
|
||||||
skiptoendofline();
|
skiptoendofline();
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -343,7 +341,7 @@ static void C_GetNextLabelName(void)
|
||||||
|
|
||||||
label[(labelcnt<<6)+i] = 0;
|
label[(labelcnt<<6)+i] = 0;
|
||||||
|
|
||||||
if (!(g_errorCnt|g_warningCnt) && g_scriptDebug > 1)
|
if (!(errorcount|warningcount) && g_scriptDebug > 1)
|
||||||
Printf("%s:%d: debug: label `%s'.\n",g_scriptFileName,line_number,label+(labelcnt<<6));
|
Printf("%s:%d: debug: label `%s'.\n",g_scriptFileName,line_number,label+(labelcnt<<6));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -431,13 +429,13 @@ static int32_t C_GetNextKeyword(void) //Returns its code #
|
||||||
|
|
||||||
textptr += l;
|
textptr += l;
|
||||||
|
|
||||||
if (!(g_errorCnt || g_warningCnt) && g_scriptDebug)
|
if (!(errorcount || warningcount) && g_scriptDebug)
|
||||||
Printf("%s:%d: debug: keyword `%s'.\n", g_scriptFileName, line_number, tempbuf);
|
Printf("%s:%d: debug: keyword `%s'.\n", g_scriptFileName, line_number, tempbuf);
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
textptr += l;
|
textptr += l;
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
|
|
||||||
if (EDUKE32_PREDICT_FALSE((tempbuf[0] == '{' || tempbuf[0] == '}') && tempbuf[1] != 0))
|
if (EDUKE32_PREDICT_FALSE((tempbuf[0] == '{' || tempbuf[0] == '}') && tempbuf[1] != 0))
|
||||||
{
|
{
|
||||||
|
@ -475,7 +473,7 @@ static int32_t parse_decimal_number(void) // (textptr)
|
||||||
|
|
||||||
Printf("%s:%d: warning: number out of the range of a 32-bit integer encountered.\n",
|
Printf("%s:%d: warning: number out of the range of a 32-bit integer encountered.\n",
|
||||||
g_scriptFileName,line_number);
|
g_scriptFileName,line_number);
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (int32_t)num;
|
return (int32_t)num;
|
||||||
|
@ -489,7 +487,7 @@ static int32_t parse_hex_constant(const char *hexnum)
|
||||||
if (EDUKE32_PREDICT_FALSE(x > UINT32_MAX))
|
if (EDUKE32_PREDICT_FALSE(x > UINT32_MAX))
|
||||||
{
|
{
|
||||||
Printf(g_scriptFileName, ":", line_number, ": warning: number 0x", hex(x), " truncated to 32 bits.\n");
|
Printf(g_scriptFileName, ":", line_number, ": warning: number 0x", hex(x), " truncated to 32 bits.\n");
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
return x;
|
return x;
|
||||||
|
@ -513,7 +511,7 @@ static void C_GetNextVarType(int32_t type)
|
||||||
else
|
else
|
||||||
scriptWriteValue(parse_decimal_number());
|
scriptWriteValue(parse_decimal_number());
|
||||||
|
|
||||||
if (!(g_errorCnt || g_warningCnt) && g_scriptDebug)
|
if (!(errorcount || warningcount) && g_scriptDebug)
|
||||||
Printf("%s:%d: debug: constant %ld in place of gamevar.\n", g_scriptFileName, line_number, (long)(scriptptr[-1]));
|
Printf("%s:%d: debug: constant %ld in place of gamevar.\n", g_scriptFileName, line_number, (long)(scriptptr[-1]));
|
||||||
#if 1
|
#if 1
|
||||||
while (!ispecial(*textptr) && *textptr != ']') textptr++;
|
while (!ispecial(*textptr) && *textptr != ']') textptr++;
|
||||||
|
@ -526,13 +524,13 @@ static void C_GetNextVarType(int32_t type)
|
||||||
{
|
{
|
||||||
if (EDUKE32_PREDICT_FALSE(type))
|
if (EDUKE32_PREDICT_FALSE(type))
|
||||||
{
|
{
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
C_ReportError(ERROR_SYNTAXERROR);
|
C_ReportError(ERROR_SYNTAXERROR);
|
||||||
C_GetNextLabelName();
|
C_GetNextLabelName();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(g_errorCnt || g_warningCnt) && g_scriptDebug)
|
if (!(errorcount || warningcount) && g_scriptDebug)
|
||||||
Printf("%s:%d: debug: flagging gamevar as negative.\n", g_scriptFileName, line_number); //,Batol(textptr));
|
Printf("%s:%d: debug: flagging gamevar as negative.\n", g_scriptFileName, line_number); //,Batol(textptr));
|
||||||
|
|
||||||
flags = GV_FLAG_NEGATIVE;
|
flags = GV_FLAG_NEGATIVE;
|
||||||
|
@ -543,7 +541,7 @@ static void C_GetNextVarType(int32_t type)
|
||||||
|
|
||||||
if (getkeyword(LAST_LABEL)>=0)
|
if (getkeyword(LAST_LABEL)>=0)
|
||||||
{
|
{
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
C_ReportError(ERROR_ISAKEYWORD);
|
C_ReportError(ERROR_ISAKEYWORD);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -561,7 +559,7 @@ static void C_GetNextVarType(int32_t type)
|
||||||
|
|
||||||
if (EDUKE32_PREDICT_TRUE(id>=0 /*&& labeltype[id] & LABEL_DEFINE*/))
|
if (EDUKE32_PREDICT_TRUE(id>=0 /*&& labeltype[id] & LABEL_DEFINE*/))
|
||||||
{
|
{
|
||||||
if (!(g_errorCnt || g_warningCnt) && g_scriptDebug)
|
if (!(errorcount || warningcount) && g_scriptDebug)
|
||||||
Printf("%s:%d: debug: label `%s' in place of gamevar.\n",g_scriptFileName,line_number,label+(id<<6));
|
Printf("%s:%d: debug: label `%s' in place of gamevar.\n",g_scriptFileName,line_number,label+(id<<6));
|
||||||
|
|
||||||
scriptWriteValue(GV_FLAG_CONSTANT);
|
scriptWriteValue(GV_FLAG_CONSTANT);
|
||||||
|
@ -570,25 +568,25 @@ static void C_GetNextVarType(int32_t type)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
C_ReportError(ERROR_NOTAGAMEVAR);
|
C_ReportError(ERROR_NOTAGAMEVAR);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (EDUKE32_PREDICT_FALSE(type == GAMEVAR_READONLY && aGameVars[id].flags & GAMEVAR_READONLY))
|
if (EDUKE32_PREDICT_FALSE(type == GAMEVAR_READONLY && aGameVars[id].flags & GAMEVAR_READONLY))
|
||||||
{
|
{
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
C_ReportError(ERROR_VARREADONLY);
|
C_ReportError(ERROR_VARREADONLY);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (EDUKE32_PREDICT_FALSE(aGameVars[id].flags & type))
|
else if (EDUKE32_PREDICT_FALSE(aGameVars[id].flags & type))
|
||||||
{
|
{
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
C_ReportError(ERROR_VARTYPEMISMATCH);
|
C_ReportError(ERROR_VARTYPEMISMATCH);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_scriptDebug > 1 && !g_errorCnt && !g_warningCnt)
|
if (g_scriptDebug > 1 && !errorcount && !warningcount)
|
||||||
Printf("%s:%d: debug: gamevar `%s'.\n",g_scriptFileName,line_number,LAST_LABEL);
|
Printf("%s:%d: debug: gamevar `%s'.\n",g_scriptFileName,line_number,LAST_LABEL);
|
||||||
|
|
||||||
scriptWriteValue(id|flags);
|
scriptWriteValue(id|flags);
|
||||||
|
@ -629,7 +627,7 @@ static int32_t C_GetNextValue_()
|
||||||
|
|
||||||
if (getkeyword(tempbuf) >= 0)
|
if (getkeyword(tempbuf) >= 0)
|
||||||
{
|
{
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
C_ReportError(ERROR_ISAKEYWORD);
|
C_ReportError(ERROR_ISAKEYWORD);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -641,7 +639,7 @@ static int32_t C_GetNextValue_()
|
||||||
//if (EDUKE32_PREDICT_TRUE(labeltype[i] & type))
|
//if (EDUKE32_PREDICT_TRUE(labeltype[i] & type))
|
||||||
{
|
{
|
||||||
#if 0
|
#if 0
|
||||||
if (!(g_errorCnt || g_warningCnt) && g_scriptDebug > 1)
|
if (!(errorcount || warningcount) && g_scriptDebug > 1)
|
||||||
{
|
{
|
||||||
char *gl = C_GetLabelType(labeltype[i]);
|
char *gl = C_GetLabelType(labeltype[i]);
|
||||||
Printf("%s:%d: debug: %s label `%s'.\n",g_scriptFileName,line_number,gl,label+(i<<6));
|
Printf("%s:%d: debug: %s label `%s'.\n",g_scriptFileName,line_number,gl,label+(i<<6));
|
||||||
|
@ -664,7 +662,7 @@ static int32_t C_GetNextValue_()
|
||||||
char *gl = C_GetLabelType(/*labeltype[i]*/0);
|
char *gl = C_GetLabelType(/*labeltype[i]*/0);
|
||||||
C_ReportError(-1);
|
C_ReportError(-1);
|
||||||
Printf("%s:%d: warning: expected %s, found %s.\n",g_scriptFileName,line_number,el,gl);
|
Printf("%s:%d: warning: expected %s, found %s.\n",g_scriptFileName,line_number,el,gl);
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
Xfree(el);
|
Xfree(el);
|
||||||
Xfree(gl);
|
Xfree(gl);
|
||||||
return -1; // valid label name, but wrong type
|
return -1; // valid label name, but wrong type
|
||||||
|
@ -674,7 +672,7 @@ static int32_t C_GetNextValue_()
|
||||||
if (EDUKE32_PREDICT_FALSE(isdigit(*textptr) == 0 && *textptr != '-'))
|
if (EDUKE32_PREDICT_FALSE(isdigit(*textptr) == 0 && *textptr != '-'))
|
||||||
{
|
{
|
||||||
C_ReportError(ERROR_PARAMUNDEFINED);
|
C_ReportError(ERROR_PARAMUNDEFINED);
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
BITPTR_CLEAR(scriptptr-apScript);
|
BITPTR_CLEAR(scriptptr-apScript);
|
||||||
*scriptptr = 0;
|
*scriptptr = 0;
|
||||||
scriptptr++;
|
scriptptr++;
|
||||||
|
@ -686,7 +684,7 @@ static int32_t C_GetNextValue_()
|
||||||
if (EDUKE32_PREDICT_FALSE(isdigit(*textptr) && g_labelsOnly))
|
if (EDUKE32_PREDICT_FALSE(isdigit(*textptr) && g_labelsOnly))
|
||||||
{
|
{
|
||||||
C_ReportError(WARNING_LABELSONLY);
|
C_ReportError(WARNING_LABELSONLY);
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
i = l-1;
|
i = l-1;
|
||||||
|
@ -698,7 +696,7 @@ static int32_t C_GetNextValue_()
|
||||||
{
|
{
|
||||||
C_ReportError(-1);
|
C_ReportError(-1);
|
||||||
Printf("%s:%d: warning: invalid character `%c' in definition!\n",g_scriptFileName,line_number,textptr[i+1]);
|
Printf("%s:%d: warning: invalid character `%c' in definition!\n",g_scriptFileName,line_number,textptr[i+1]);
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -711,7 +709,7 @@ static int32_t C_GetNextValue_()
|
||||||
else
|
else
|
||||||
*scriptptr = parse_decimal_number();
|
*scriptptr = parse_decimal_number();
|
||||||
|
|
||||||
if (!(g_errorCnt || g_warningCnt) && g_scriptDebug > 1)
|
if (!(errorcount || warningcount) && g_scriptDebug > 1)
|
||||||
Printf("%s:%d: debug: constant %ld.\n",
|
Printf("%s:%d: debug: constant %ld.\n",
|
||||||
g_scriptFileName,line_number,(long)*scriptptr);
|
g_scriptFileName,line_number,(long)*scriptptr);
|
||||||
|
|
||||||
|
@ -733,7 +731,7 @@ static int32_t C_CheckMalformedBranch(intptr_t lastScriptPtr)
|
||||||
scriptptr = lastScriptPtr + &apScript[0];
|
scriptptr = lastScriptPtr + &apScript[0];
|
||||||
g_skipBranch = 1;
|
g_skipBranch = 1;
|
||||||
C_ReportError(-1);
|
C_ReportError(-1);
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
Printf("%s:%d: warning: malformed `%s' branch\n",g_scriptFileName,line_number,
|
Printf("%s:%d: warning: malformed `%s' branch\n",g_scriptFileName,line_number,
|
||||||
VM_GetKeywordForID(*(scriptptr) & VM_INSTMASK));
|
VM_GetKeywordForID(*(scriptptr) & VM_INSTMASK));
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -758,7 +756,7 @@ static int32_t C_CheckEmptyBranch(int32_t tw, intptr_t lastScriptPtr)
|
||||||
if (EDUKE32_PREDICT_FALSE(g_skipBranch))
|
if (EDUKE32_PREDICT_FALSE(g_skipBranch))
|
||||||
{
|
{
|
||||||
C_ReportError(-1);
|
C_ReportError(-1);
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
scriptptr = lastScriptPtr + &apScript[0];
|
scriptptr = lastScriptPtr + &apScript[0];
|
||||||
Printf("%s:%d: warning: empty `%s' branch\n",g_scriptFileName,line_number,
|
Printf("%s:%d: warning: empty `%s' branch\n",g_scriptFileName,line_number,
|
||||||
VM_GetKeywordForID(*(scriptptr) & VM_INSTMASK));
|
VM_GetKeywordForID(*(scriptptr) & VM_INSTMASK));
|
||||||
|
@ -775,7 +773,7 @@ static void C_Include(const char *confile)
|
||||||
|
|
||||||
if (!fp.isOpen())
|
if (!fp.isOpen())
|
||||||
{
|
{
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
Printf("%s:%d: error: could not find file `%s'.\n",g_scriptFileName,line_number,confile);
|
Printf("%s:%d: error: could not find file `%s'.\n",g_scriptFileName,line_number,confile);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -942,7 +940,7 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
if (EDUKE32_PREDICT_FALSE(g_errorCnt > 63 || (*textptr == '\0') || (*(textptr+1) == '\0') || C_SkipComments()))
|
if (EDUKE32_PREDICT_FALSE(errorcount > 63 || (*textptr == '\0') || (*(textptr+1) == '\0') || C_SkipComments()))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
if (EDUKE32_PREDICT_FALSE(g_scriptDebug))
|
if (EDUKE32_PREDICT_FALSE(g_scriptDebug))
|
||||||
|
@ -955,32 +953,8 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
case -2:
|
case -2:
|
||||||
return 1; //End
|
return 1; //End
|
||||||
case concmd_state:
|
case concmd_state:
|
||||||
parsecommand(g_lastKeyword);
|
|
||||||
continue;
|
|
||||||
|
|
||||||
case concmd_ends:
|
case concmd_ends:
|
||||||
if (EDUKE32_PREDICT_FALSE(parsing_state == 0))
|
parsecommand(g_lastKeyword);
|
||||||
{
|
|
||||||
C_ReportError(-1);
|
|
||||||
Printf("%s:%d: error: found `ends' without open `state'.\n",g_scriptFileName,line_number);
|
|
||||||
g_errorCnt++;
|
|
||||||
}
|
|
||||||
// else
|
|
||||||
{
|
|
||||||
if (EDUKE32_PREDICT_FALSE(g_numBraces > 0))
|
|
||||||
{
|
|
||||||
C_ReportError(ERROR_OPENBRACKET);
|
|
||||||
g_errorCnt++;
|
|
||||||
}
|
|
||||||
else if (EDUKE32_PREDICT_FALSE(g_numBraces < 0))
|
|
||||||
{
|
|
||||||
C_ReportError(ERROR_CLOSEBRACKET);
|
|
||||||
g_errorCnt++;
|
|
||||||
}
|
|
||||||
|
|
||||||
parsing_state = 0;
|
|
||||||
Bsprintf(g_szCurrentBlockName,"(none)");
|
|
||||||
}
|
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
case concmd_gamevar:
|
case concmd_gamevar:
|
||||||
|
@ -992,7 +966,7 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
|
|
||||||
if (EDUKE32_PREDICT_FALSE(isdigit(*textptr) || (*textptr == '-')))
|
if (EDUKE32_PREDICT_FALSE(isdigit(*textptr) || (*textptr == '-')))
|
||||||
{
|
{
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
C_ReportError(ERROR_SYNTAXERROR);
|
C_ReportError(ERROR_SYNTAXERROR);
|
||||||
skiptoendofline();
|
skiptoendofline();
|
||||||
continue;
|
continue;
|
||||||
|
@ -1004,7 +978,7 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
|
|
||||||
if (getkeyword(label + (labelcnt << 6)) >= 0)
|
if (getkeyword(label + (labelcnt << 6)) >= 0)
|
||||||
{
|
{
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
C_ReportError(WARNING_VARMASKSKEYWORD);
|
C_ReportError(WARNING_VARMASKSKEYWORD);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -1027,7 +1001,7 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
|
|
||||||
if (EDUKE32_PREDICT_FALSE((*(scriptptr)&GAMEVAR_USER_MASK)==(GAMEVAR_PERPLAYER|GAMEVAR_PERACTOR)))
|
if (EDUKE32_PREDICT_FALSE((*(scriptptr)&GAMEVAR_USER_MASK)==(GAMEVAR_PERPLAYER|GAMEVAR_PERACTOR)))
|
||||||
{
|
{
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
varFlags ^= GAMEVAR_PERPLAYER;
|
varFlags ^= GAMEVAR_PERPLAYER;
|
||||||
C_ReportError(WARNING_BADGAMEVAR);
|
C_ReportError(WARNING_BADGAMEVAR);
|
||||||
}
|
}
|
||||||
|
@ -1043,7 +1017,7 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
|
|
||||||
if (getkeyword(label + (labelcnt << 6)) >= 0)
|
if (getkeyword(label + (labelcnt << 6)) >= 0)
|
||||||
{
|
{
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
C_ReportError(ERROR_ISAKEYWORD);
|
C_ReportError(ERROR_ISAKEYWORD);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -1057,7 +1031,7 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
|
|
||||||
if (EDUKE32_PREDICT_FALSE(labelcode[i] != *(scriptptr-1)))
|
if (EDUKE32_PREDICT_FALSE(labelcode[i] != *(scriptptr-1)))
|
||||||
{
|
{
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
Printf("%s:%d: warning: ignored redefinition of `%s' to %d (old: %d).\n",g_scriptFileName,
|
Printf("%s:%d: warning: ignored redefinition of `%s' to %d (old: %d).\n",g_scriptFileName,
|
||||||
line_number,label+(labelcnt<<6), (int32_t)(*(scriptptr-1)), labelcode[i]);
|
line_number,label+(labelcnt<<6), (int32_t)(*(scriptptr-1)), labelcode[i]);
|
||||||
}
|
}
|
||||||
|
@ -1100,7 +1074,7 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
BITPTR_CLEAR(scriptptr-apScript-1);
|
BITPTR_CLEAR(scriptptr-apScript-1);
|
||||||
*(scriptptr-1) = 0;
|
*(scriptptr-1) = 0;
|
||||||
Printf("%s:%d: warning: expected a move, found a constant.\n",g_scriptFileName,line_number);
|
Printf("%s:%d: warning: expected a move, found a constant.\n",g_scriptFileName,line_number);
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1118,14 +1092,14 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
|
|
||||||
if (getkeyword(label + (labelcnt << 6)) >= 0)
|
if (getkeyword(label + (labelcnt << 6)) >= 0)
|
||||||
{
|
{
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
C_ReportError(ERROR_ISAKEYWORD);
|
C_ReportError(ERROR_ISAKEYWORD);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (EDUKE32_PREDICT_FALSE((i = findlabel(label+(labelcnt<<6))) >= 0))
|
if (EDUKE32_PREDICT_FALSE((i = findlabel(label+(labelcnt<<6))) >= 0))
|
||||||
{
|
{
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
Printf("%s:%d: warning: duplicate move `%s' ignored.\n",g_scriptFileName,line_number,label+(labelcnt<<6));
|
Printf("%s:%d: warning: duplicate move `%s' ignored.\n",g_scriptFileName,line_number,label+(labelcnt<<6));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1165,7 +1139,7 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
|
|
||||||
if (EDUKE32_PREDICT_FALSE((unsigned)k >= MAXVOLUMES+1)) // if it's not background or special music
|
if (EDUKE32_PREDICT_FALSE((unsigned)k >= MAXVOLUMES+1)) // if it's not background or special music
|
||||||
{
|
{
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
C_ReportError(-1);
|
C_ReportError(-1);
|
||||||
Printf("%s:%d: error: volume number must be between 0 and MAXVOLUMES+1=%d.\n",
|
Printf("%s:%d: error: volume number must be between 0 and MAXVOLUMES+1=%d.\n",
|
||||||
g_scriptFileName, line_number, MAXVOLUMES+1);
|
g_scriptFileName, line_number, MAXVOLUMES+1);
|
||||||
|
@ -1232,7 +1206,7 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
|
|
||||||
if (getkeyword(label + (labelcnt << 6)) >= 0)
|
if (getkeyword(label + (labelcnt << 6)) >= 0)
|
||||||
{
|
{
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
C_ReportError(ERROR_ISAKEYWORD);
|
C_ReportError(ERROR_ISAKEYWORD);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -1240,7 +1214,7 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
i = findlabel(label+(labelcnt<<6));
|
i = findlabel(label+(labelcnt<<6));
|
||||||
if (EDUKE32_PREDICT_FALSE(i>=0))
|
if (EDUKE32_PREDICT_FALSE(i>=0))
|
||||||
{
|
{
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
Printf("%s:%d: warning: duplicate ai `%s' ignored.\n",g_scriptFileName,line_number,label+(labelcnt<<6));
|
Printf("%s:%d: warning: duplicate ai `%s' ignored.\n",g_scriptFileName,line_number,label+(labelcnt<<6));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1265,7 +1239,7 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
BITPTR_CLEAR(scriptptr-apScript-1);
|
BITPTR_CLEAR(scriptptr-apScript-1);
|
||||||
*(scriptptr-1) = 0;
|
*(scriptptr-1) = 0;
|
||||||
Printf("%s:%d: warning: expected a move, found a constant.\n",g_scriptFileName,line_number);
|
Printf("%s:%d: warning: expected a move, found a constant.\n",g_scriptFileName,line_number);
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1304,7 +1278,7 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
|
|
||||||
if (getkeyword(label + (labelcnt << 6)) >= 0)
|
if (getkeyword(label + (labelcnt << 6)) >= 0)
|
||||||
{
|
{
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
C_ReportError(ERROR_ISAKEYWORD);
|
C_ReportError(ERROR_ISAKEYWORD);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -1312,7 +1286,7 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
i = findlabel(label+(labelcnt<<6));
|
i = findlabel(label+(labelcnt<<6));
|
||||||
if (EDUKE32_PREDICT_FALSE(i>=0))
|
if (EDUKE32_PREDICT_FALSE(i>=0))
|
||||||
{
|
{
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
Printf("%s:%d: warning: duplicate action `%s' ignored.\n",g_scriptFileName,line_number,label+(labelcnt<<6));
|
Printf("%s:%d: warning: duplicate action `%s' ignored.\n",g_scriptFileName,line_number,label+(labelcnt<<6));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1340,10 +1314,10 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
if (EDUKE32_PREDICT_FALSE(parsing_state || parsing_actor))
|
if (EDUKE32_PREDICT_FALSE(parsing_state || parsing_actor))
|
||||||
{
|
{
|
||||||
C_ReportError(ERROR_FOUNDWITHIN);
|
C_ReportError(ERROR_FOUNDWITHIN);
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
g_numBraces = 0;
|
num_squigilly_brackets = 0;
|
||||||
scriptptr--;
|
scriptptr--;
|
||||||
parsing_actor = scriptptr - apScript;
|
parsing_actor = scriptptr - apScript;
|
||||||
|
|
||||||
|
@ -1378,7 +1352,7 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
Printf("%s:%d: warning: invalid useractor type. Must be 0, 1, 2"
|
Printf("%s:%d: warning: invalid useractor type. Must be 0, 1, 2"
|
||||||
" (notenemy, enemy, enemystayput).\n",
|
" (notenemy, enemy, enemystayput).\n",
|
||||||
g_scriptFileName,line_number);
|
g_scriptFileName,line_number);
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
j = 0;
|
j = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1389,7 +1363,7 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
if (EDUKE32_PREDICT_FALSE((unsigned)*scriptptr >= MAXTILES))
|
if (EDUKE32_PREDICT_FALSE((unsigned)*scriptptr >= MAXTILES))
|
||||||
{
|
{
|
||||||
C_ReportError(ERROR_EXCEEDSMAXTILES);
|
C_ReportError(ERROR_EXCEEDSMAXTILES);
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1447,7 +1421,7 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
BITPTR_CLEAR(scriptptr-apScript-1);
|
BITPTR_CLEAR(scriptptr-apScript-1);
|
||||||
*(scriptptr-1) = 0;
|
*(scriptptr-1) = 0;
|
||||||
Printf("%s:%d: warning: expected a move, found a constant.\n",g_scriptFileName,line_number);
|
Printf("%s:%d: warning: expected a move, found a constant.\n",g_scriptFileName,line_number);
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
@ -1465,10 +1439,10 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
if (EDUKE32_PREDICT_FALSE(parsing_state || parsing_actor))
|
if (EDUKE32_PREDICT_FALSE(parsing_state || parsing_actor))
|
||||||
{
|
{
|
||||||
C_ReportError(ERROR_FOUNDWITHIN);
|
C_ReportError(ERROR_FOUNDWITHIN);
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
g_numBraces = 0;
|
num_squigilly_brackets = 0;
|
||||||
scriptptr--;
|
scriptptr--;
|
||||||
g_scriptEventOffset = parsing_actor = scriptptr - apScript;
|
g_scriptEventOffset = parsing_actor = scriptptr - apScript;
|
||||||
|
|
||||||
|
@ -1491,7 +1465,7 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
if (EDUKE32_PREDICT_FALSE((unsigned)j > MAXEVENTS-1))
|
if (EDUKE32_PREDICT_FALSE((unsigned)j > MAXEVENTS-1))
|
||||||
{
|
{
|
||||||
Printf("%s:%d: error: invalid event ID.\n",g_scriptFileName,line_number);
|
Printf("%s:%d: error: invalid event ID.\n",g_scriptFileName,line_number);
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// if event has already been declared then store previous script location
|
// if event has already been declared then store previous script location
|
||||||
|
@ -1509,7 +1483,7 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
*(scriptptr-1) = 32768;
|
*(scriptptr-1) = 32768;
|
||||||
C_ReportError(-1);
|
C_ReportError(-1);
|
||||||
Printf("%s:%d: warning: tried to set cstat 32767, using 32768 instead.\n",g_scriptFileName,line_number);
|
Printf("%s:%d: warning: tried to set cstat 32767, using 32768 instead.\n",g_scriptFileName,line_number);
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
}
|
}
|
||||||
else if (EDUKE32_PREDICT_FALSE((*(scriptptr-1) & 48) == 48))
|
else if (EDUKE32_PREDICT_FALSE((*(scriptptr-1) & 48) == 48))
|
||||||
{
|
{
|
||||||
|
@ -1517,7 +1491,7 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
*(scriptptr-1) ^= 48;
|
*(scriptptr-1) ^= 48;
|
||||||
C_ReportError(-1);
|
C_ReportError(-1);
|
||||||
Printf("%s:%d: warning: tried to set cstat %d, using %d instead.\n",g_scriptFileName,line_number,i,(int32_t)(*(scriptptr-1)));
|
Printf("%s:%d: warning: tried to set cstat %d, using %d instead.\n",g_scriptFileName,line_number,i,(int32_t)(*(scriptptr-1)));
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
@ -1570,7 +1544,7 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
{
|
{
|
||||||
scriptptr--;
|
scriptptr--;
|
||||||
intptr_t *tempscrptr = scriptptr;
|
intptr_t *tempscrptr = scriptptr;
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
C_ReportError(-1);
|
C_ReportError(-1);
|
||||||
|
|
||||||
Printf("%s:%d: warning: found `else' with no `if'.\n", g_scriptFileName, line_number);
|
Printf("%s:%d: warning: found `else' with no `if'.\n", g_scriptFileName, line_number);
|
||||||
|
@ -1578,7 +1552,7 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
if (C_GetKeyword() == concmd_leftbrace)
|
if (C_GetKeyword() == concmd_leftbrace)
|
||||||
{
|
{
|
||||||
C_GetNextKeyword();
|
C_GetNextKeyword();
|
||||||
g_numBraces++;
|
num_squigilly_brackets++;
|
||||||
|
|
||||||
C_ParseCommand(1);
|
C_ParseCommand(1);
|
||||||
}
|
}
|
||||||
|
@ -1643,7 +1617,7 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
|
|
||||||
if (ins[2] == GV_FLAG_CONSTANT && opcode != -1)
|
if (ins[2] == GV_FLAG_CONSTANT && opcode != -1)
|
||||||
{
|
{
|
||||||
if (g_scriptDebug > 1 && !g_errorCnt && !g_warningCnt)
|
if (g_scriptDebug > 1 && !errorcount && !warningcount)
|
||||||
{
|
{
|
||||||
Printf("%s:%d: %s -> %s\n", g_scriptFileName, line_number,
|
Printf("%s:%d: %s -> %s\n", g_scriptFileName, line_number,
|
||||||
VM_GetKeywordForID(*ins & VM_INSTMASK), VM_GetKeywordForID(opcode));
|
VM_GetKeywordForID(*ins & VM_INSTMASK), VM_GetKeywordForID(opcode));
|
||||||
|
@ -1681,7 +1655,7 @@ static int32_t C_ParseCommand(int32_t loop)
|
||||||
|
|
||||||
if (opcode != -1)
|
if (opcode != -1)
|
||||||
{
|
{
|
||||||
if (g_scriptDebug > 1 && !g_errorCnt && !g_warningCnt)
|
if (g_scriptDebug > 1 && !errorcount && !warningcount)
|
||||||
{
|
{
|
||||||
Printf("%s:%d: replacing %s with %s\n", g_scriptFileName, line_number,
|
Printf("%s:%d: replacing %s with %s\n", g_scriptFileName, line_number,
|
||||||
VM_GetKeywordForID(*ins & VM_INSTMASK), VM_GetKeywordForID(opcode));
|
VM_GetKeywordForID(*ins & VM_INSTMASK), VM_GetKeywordForID(opcode));
|
||||||
|
@ -1796,7 +1770,7 @@ ifvar:
|
||||||
C_ReportError(-1);
|
C_ReportError(-1);
|
||||||
*(scriptptr-1) = 0;
|
*(scriptptr-1) = 0;
|
||||||
Printf("%s:%d: warning: expected a move, found a constant.\n",g_scriptFileName,line_number);
|
Printf("%s:%d: warning: expected a move, found a constant.\n",g_scriptFileName,line_number);
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
@ -1908,16 +1882,16 @@ ifvar:
|
||||||
case concmd_leftbrace:
|
case concmd_leftbrace:
|
||||||
if (EDUKE32_PREDICT_FALSE(!(parsing_state || parsing_actor || g_scriptEventOffset)))
|
if (EDUKE32_PREDICT_FALSE(!(parsing_state || parsing_actor || g_scriptEventOffset)))
|
||||||
{
|
{
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
C_ReportError(ERROR_SYNTAXERROR);
|
C_ReportError(ERROR_SYNTAXERROR);
|
||||||
}
|
}
|
||||||
g_numBraces++;
|
num_squigilly_brackets++;
|
||||||
|
|
||||||
C_ParseCommand(1);
|
C_ParseCommand(1);
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
case concmd_rightbrace:
|
case concmd_rightbrace:
|
||||||
g_numBraces--;
|
num_squigilly_brackets--;
|
||||||
|
|
||||||
if ((*(scriptptr-2)>>12) == (IFELSE_MAGIC) &&
|
if ((*(scriptptr-2)>>12) == (IFELSE_MAGIC) &&
|
||||||
((*(scriptptr-2) & VM_INSTMASK) == concmd_leftbrace)) // rewrite "{ }" into "nullop"
|
((*(scriptptr-2) & VM_INSTMASK) == concmd_leftbrace)) // rewrite "{ }" into "nullop"
|
||||||
|
@ -1938,11 +1912,11 @@ ifvar:
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (EDUKE32_PREDICT_FALSE(g_numBraces < 0))
|
if (EDUKE32_PREDICT_FALSE(num_squigilly_brackets < 0))
|
||||||
{
|
{
|
||||||
C_ReportError(-1);
|
C_ReportError(-1);
|
||||||
Printf("%s:%d: error: found more `}' than `{'.\n",g_scriptFileName,line_number);
|
Printf("%s:%d: error: found more `}' than `{'.\n",g_scriptFileName,line_number);
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_checkingIfElse && j != concmd_else)
|
if (g_checkingIfElse && j != concmd_else)
|
||||||
|
@ -1969,7 +1943,7 @@ ifvar:
|
||||||
{
|
{
|
||||||
Printf("%s:%d: error: volume number exceeds maximum volume count.\n",
|
Printf("%s:%d: error: volume number exceeds maximum volume count.\n",
|
||||||
g_scriptFileName,line_number);
|
g_scriptFileName,line_number);
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
skiptoendofline();
|
skiptoendofline();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -1993,7 +1967,7 @@ ifvar:
|
||||||
{
|
{
|
||||||
Printf("%s:%d: error: skill number exceeds maximum skill count %d.\n",
|
Printf("%s:%d: error: skill number exceeds maximum skill count %d.\n",
|
||||||
g_scriptFileName,line_number, MAXSKILLS);
|
g_scriptFileName,line_number, MAXSKILLS);
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
skiptoendofline();
|
skiptoendofline();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -2022,14 +1996,14 @@ ifvar:
|
||||||
if (EDUKE32_PREDICT_FALSE((unsigned)j > MAXVOLUMES-1))
|
if (EDUKE32_PREDICT_FALSE((unsigned)j > MAXVOLUMES-1))
|
||||||
{
|
{
|
||||||
Printf("%s:%d: error: volume number exceeds maximum volume count.\n",g_scriptFileName,line_number);
|
Printf("%s:%d: error: volume number exceeds maximum volume count.\n",g_scriptFileName,line_number);
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
skiptoendofline();
|
skiptoendofline();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (EDUKE32_PREDICT_FALSE((unsigned)k > MAXLEVELS-1))
|
if (EDUKE32_PREDICT_FALSE((unsigned)k > MAXLEVELS-1))
|
||||||
{
|
{
|
||||||
Printf("%s:%d: error: level number exceeds maximum number of levels per episode.\n",g_scriptFileName,line_number);
|
Printf("%s:%d: error: level number exceeds maximum number of levels per episode.\n",g_scriptFileName,line_number);
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
skiptoendofline();
|
skiptoendofline();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -2045,7 +2019,7 @@ ifvar:
|
||||||
if (EDUKE32_PREDICT_FALSE(i >= BMAX_PATH))
|
if (EDUKE32_PREDICT_FALSE(i >= BMAX_PATH))
|
||||||
{
|
{
|
||||||
Printf("%s:%d: error: level file name exceeds limit of %d characters.\n",g_scriptFileName,line_number,BMAX_PATH);
|
Printf("%s:%d: error: level file name exceeds limit of %d characters.\n",g_scriptFileName,line_number,BMAX_PATH);
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
C_SkipSpace();
|
C_SkipSpace();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -2085,7 +2059,7 @@ ifvar:
|
||||||
{
|
{
|
||||||
Printf("%s:%d: warning: truncating level name to %d characters.\n",
|
Printf("%s:%d: warning: truncating level name to %d characters.\n",
|
||||||
g_scriptFileName,line_number,32);
|
g_scriptFileName,line_number,32);
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
skiptoendofline();
|
skiptoendofline();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -2108,7 +2082,7 @@ ifvar:
|
||||||
if (EDUKE32_PREDICT_FALSE((unsigned)k >= MAXQUOTES))
|
if (EDUKE32_PREDICT_FALSE((unsigned)k >= MAXQUOTES))
|
||||||
{
|
{
|
||||||
Printf("%s:%d: error: quote number exceeds limit of %d.\n",g_scriptFileName,line_number,MAXQUOTES);
|
Printf("%s:%d: error: quote number exceeds limit of %d.\n",g_scriptFileName,line_number,MAXQUOTES);
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -2146,13 +2120,13 @@ ifvar:
|
||||||
if ((unsigned)k >= MAXSOUNDS - 1)
|
if ((unsigned)k >= MAXSOUNDS - 1)
|
||||||
{
|
{
|
||||||
Printf("%s:%d: error: sound index exceeds limit of %d.\n", g_scriptFileName, line_number, MAXSOUNDS - 1);
|
Printf("%s:%d: error: sound index exceeds limit of %d.\n", g_scriptFileName, line_number, MAXSOUNDS - 1);
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
k = MAXSOUNDS - 1;
|
k = MAXSOUNDS - 1;
|
||||||
}
|
}
|
||||||
/*else if (g_sounds[k].filename != NULL)
|
/*else if (g_sounds[k].filename != NULL)
|
||||||
{
|
{
|
||||||
Printf("%s:%d: warning: sound %d already defined (%s)\n", g_scriptFileName, line_number, k, g_sounds[k].filename);
|
Printf("%s:%d: warning: sound %d already defined (%s)\n", g_scriptFileName, line_number, k, g_sounds[k].filename);
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
scriptptr--;
|
scriptptr--;
|
||||||
|
@ -2201,12 +2175,12 @@ ifvar:
|
||||||
{
|
{
|
||||||
C_ReportError(-1);
|
C_ReportError(-1);
|
||||||
Printf("%s:%d: error: found `endevent' without open `onevent'.\n",g_scriptFileName,line_number);
|
Printf("%s:%d: error: found `endevent' without open `onevent'.\n",g_scriptFileName,line_number);
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
}
|
}
|
||||||
if (EDUKE32_PREDICT_FALSE(g_numBraces != 0))
|
if (EDUKE32_PREDICT_FALSE(num_squigilly_brackets != 0))
|
||||||
{
|
{
|
||||||
C_ReportError(g_numBraces > 0 ? ERROR_OPENBRACKET : ERROR_CLOSEBRACKET);
|
C_ReportError(num_squigilly_brackets > 0 ? ERROR_OPENBRACKET : ERROR_CLOSEBRACKET);
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
g_scriptEventOffset = parsing_actor = 0;
|
g_scriptEventOffset = parsing_actor = 0;
|
||||||
|
@ -2219,13 +2193,13 @@ ifvar:
|
||||||
{
|
{
|
||||||
C_ReportError(-1);
|
C_ReportError(-1);
|
||||||
Printf("%s:%d: error: found `enda' without open `actor'.\n",g_scriptFileName,line_number);
|
Printf("%s:%d: error: found `enda' without open `actor'.\n",g_scriptFileName,line_number);
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
g_scriptEventOffset = 0;
|
g_scriptEventOffset = 0;
|
||||||
}
|
}
|
||||||
if (EDUKE32_PREDICT_FALSE(g_numBraces != 0))
|
if (EDUKE32_PREDICT_FALSE(num_squigilly_brackets != 0))
|
||||||
{
|
{
|
||||||
C_ReportError(g_numBraces > 0 ? ERROR_OPENBRACKET : ERROR_CLOSEBRACKET);
|
C_ReportError(num_squigilly_brackets > 0 ? ERROR_OPENBRACKET : ERROR_CLOSEBRACKET);
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
}
|
}
|
||||||
parsing_actor = 0;
|
parsing_actor = 0;
|
||||||
Bsprintf(g_szCurrentBlockName,"(none)");
|
Bsprintf(g_szCurrentBlockName,"(none)");
|
||||||
|
@ -2276,7 +2250,7 @@ ifvar:
|
||||||
if (EDUKE32_PREDICT_FALSE(C_GetKeyword() != concmd_else))
|
if (EDUKE32_PREDICT_FALSE(C_GetKeyword() != concmd_else))
|
||||||
{
|
{
|
||||||
C_ReportError(-1);
|
C_ReportError(-1);
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
Printf("%s:%d: warning: `nullop' found without `else'\n",g_scriptFileName,line_number);
|
Printf("%s:%d: warning: `nullop' found without `else'\n",g_scriptFileName,line_number);
|
||||||
scriptptr--;
|
scriptptr--;
|
||||||
g_skipBranch = 1;
|
g_skipBranch = 1;
|
||||||
|
@ -2438,8 +2412,8 @@ void C_Compile(const char *fileName)
|
||||||
labelcnt = 0;
|
labelcnt = 0;
|
||||||
g_defaultLabelCnt = 0;
|
g_defaultLabelCnt = 0;
|
||||||
scriptptr = apScript + 3; // move permits constants 0 and 1; moveptr[1] would be script[2] (reachable?)
|
scriptptr = apScript + 3; // move permits constants 0 and 1; moveptr[1] would be script[2] (reachable?)
|
||||||
g_warningCnt = 0;
|
warningcount = 0;
|
||||||
g_errorCnt = 0;
|
errorcount = 0;
|
||||||
line_number = 1;
|
line_number = 1;
|
||||||
g_totalLines = 0;
|
g_totalLines = 0;
|
||||||
|
|
||||||
|
@ -2453,17 +2427,17 @@ void C_Compile(const char *fileName)
|
||||||
}
|
}
|
||||||
userConfig.AddCons.reset();
|
userConfig.AddCons.reset();
|
||||||
|
|
||||||
if (g_errorCnt > 63)
|
if (errorcount > 63)
|
||||||
Printf("fatal error: too many errors: Aborted\n");
|
Printf("fatal error: too many errors: Aborted\n");
|
||||||
|
|
||||||
//*script = (intptr_t) scriptptr;
|
//*script = (intptr_t) scriptptr;
|
||||||
|
|
||||||
DO_FREE_AND_NULL(mptr);
|
DO_FREE_AND_NULL(mptr);
|
||||||
|
|
||||||
if (g_warningCnt || g_errorCnt)
|
if (warningcount || errorcount)
|
||||||
Printf("Found %d warning(s), %d error(s).\n", g_warningCnt, g_errorCnt);
|
Printf("Found %d warning(s), %d error(s).\n", warningcount, errorcount);
|
||||||
|
|
||||||
if (g_errorCnt)
|
if (errorcount)
|
||||||
{
|
{
|
||||||
Bsprintf(buf, "Error compiling CON files.");
|
Bsprintf(buf, "Error compiling CON files.");
|
||||||
G_GameExit(buf);
|
G_GameExit(buf);
|
||||||
|
|
|
@ -273,7 +273,7 @@ void Gv_NewVar(const char *pszLabel, intptr_t lValue, uint32_t dwFlags)
|
||||||
{
|
{
|
||||||
if (EDUKE32_PREDICT_FALSE(g_gameVarCount >= MAXGAMEVARS))
|
if (EDUKE32_PREDICT_FALSE(g_gameVarCount >= MAXGAMEVARS))
|
||||||
{
|
{
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
C_ReportError(-1);
|
C_ReportError(-1);
|
||||||
Printf("%s:%d: error: too many gamevars!\n",g_scriptFileName,line_number);
|
Printf("%s:%d: error: too many gamevars!\n",g_scriptFileName,line_number);
|
||||||
return;
|
return;
|
||||||
|
@ -281,7 +281,7 @@ void Gv_NewVar(const char *pszLabel, intptr_t lValue, uint32_t dwFlags)
|
||||||
|
|
||||||
if (EDUKE32_PREDICT_FALSE(Bstrlen(pszLabel) > (MAXVARLABEL-1)))
|
if (EDUKE32_PREDICT_FALSE(Bstrlen(pszLabel) > (MAXVARLABEL-1)))
|
||||||
{
|
{
|
||||||
g_errorCnt++;
|
errorcount++;
|
||||||
C_ReportError(-1);
|
C_ReportError(-1);
|
||||||
Printf("%s:%d: error: variable name `%s' exceeds limit of %d characters.\n",g_scriptFileName,line_number,pszLabel, MAXVARLABEL);
|
Printf("%s:%d: error: variable name `%s' exceeds limit of %d characters.\n",g_scriptFileName,line_number,pszLabel, MAXVARLABEL);
|
||||||
return;
|
return;
|
||||||
|
@ -301,7 +301,7 @@ void Gv_NewVar(const char *pszLabel, intptr_t lValue, uint32_t dwFlags)
|
||||||
else if (EDUKE32_PREDICT_FALSE(!(aGameVars[gV].flags & GAMEVAR_SYSTEM)))
|
else if (EDUKE32_PREDICT_FALSE(!(aGameVars[gV].flags & GAMEVAR_SYSTEM)))
|
||||||
{
|
{
|
||||||
// it's a duplicate in error
|
// it's a duplicate in error
|
||||||
g_warningCnt++;
|
warningcount++;
|
||||||
C_ReportError(WARNING_DUPLICATEDEFINITION);
|
C_ReportError(WARNING_DUPLICATEDEFINITION);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue