diff --git a/source/rr/src/gamedef.cpp b/source/rr/src/gamedef.cpp index f773ddf8c..0bf07e15f 100644 --- a/source/rr/src/gamedef.cpp +++ b/source/rr/src/gamedef.cpp @@ -371,8 +371,11 @@ static inline void C_SkipSpace(void) textptr++; } +static int32_t g_gotComment = 0; + static int32_t C_SkipComments(void) { + g_gotComment = 0; do { switch (*textptr) @@ -393,6 +396,7 @@ static int32_t C_SkipComments(void) if (!(g_errorCnt || g_warningCnt) && g_scriptDebug > 1) initprintf("%s:%d: debug: got comment.\n",g_scriptFileName,g_lineNumber); C_NextLine(); + g_gotComment = 1; continue; case '*': // beginning of a C style comment if (!(g_errorCnt || g_warningCnt) && g_scriptDebug > 1) @@ -420,6 +424,7 @@ static int32_t C_SkipComments(void) initprintf("%s:%d: debug: got end of comment block.\n",g_scriptFileName,g_lineNumber); textptr+=2; + g_gotComment = 1; continue; default: C_ReportError(-1); @@ -1654,7 +1659,8 @@ static int32_t C_ParseCommand(int32_t loop) g_scriptPtr++; //Leave a spot for the fail location - C_ParseCommand(0); + if (!g_gotComment) + C_ParseCommand(0); if (C_CheckEmptyBranch(tw, lastScriptPtr)) continue;