From 1b88cda2dbff0bf8e808d3a9246a7ea8c2d113ba Mon Sep 17 00:00:00 2001 From: Spoike Date: Tue, 28 Feb 2017 05:04:41 +0000 Subject: [PATCH] Fix some silly issues. git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5066 fc73d0e0-1445-4013-8a0c-d673dee63da5 --- engine/Makefile | 1 + engine/qclib/qcc_pr_lex.c | 10 ++++++---- engine/qclib/qccgui.c | 1 - engine/qclib/qccmain.c | 12 ++++++------ 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/engine/Makefile b/engine/Makefile index 846d3ff1c..98debfa33 100644 --- a/engine/Makefile +++ b/engine/Makefile @@ -52,6 +52,7 @@ NATIVE_BASE_DIR?=$(BASE_DIR) NATIVE_RELEASE_DIR?=$(RELEASE_DIR) NATIVE_DEBUG_DIR?=$(DEBUG_DIR) +EXE_NAME=fteqw #include the appropriate games. ifneq (,$(BRANDING)) diff --git a/engine/qclib/qcc_pr_lex.c b/engine/qclib/qcc_pr_lex.c index 711f64d4a..e23e67ad9 100644 --- a/engine/qclib/qcc_pr_lex.c +++ b/engine/qclib/qcc_pr_lex.c @@ -2515,7 +2515,7 @@ void QCC_PR_MacroFrame(char *name, int value, pbool force) //our caller incremented the value externally //so warn+ignore if its from the same file if (pr_framemacro[i].file == s_filen && !force) - QCC_PR_ParseWarning(WARN_DUPLICATEMACRO, "Duplicate macro defined (%s)", pr_token); + QCC_PR_ParseWarning(WARN_DUPLICATEMACRO, "Duplicate macro defined (%s). Rename it.", pr_token); else { pr_framemacro[i].value = value; //old file, override it, whatever the old value was is redundant now @@ -4446,21 +4446,23 @@ QCC_type_t *QCC_PR_ParseFunctionType (int newtype, QCC_type_t *returntype) { if (!paramlist[numparms].optional && QCC_PR_CheckKeyword(keyword_optional, "optional")) paramlist[numparms].optional = true; - if (!foundinout && QCC_PR_CheckKeyword(keyword_inout, "inout")) + else if (!foundinout && QCC_PR_CheckKeyword(keyword_inout, "inout")) { paramlist[numparms].out = true; foundinout = true; } - if (!foundinout && QCC_PR_CheckKeyword(keyword_inout, "out")) + else if (!foundinout && QCC_PR_CheckKeyword(keyword_inout, "out")) { paramlist[numparms].out = 2; //not really supported, but parsed for readability. foundinout = true; } - if (!foundinout && QCC_PR_CheckKeyword(keyword_inout, "in")) + else if (!foundinout && QCC_PR_CheckKeyword(keyword_inout, "in")) { paramlist[numparms].out = false; foundinout = true; } + else + break; } paramlist[numparms].defltvalue.cast = NULL; diff --git a/engine/qclib/qccgui.c b/engine/qclib/qccgui.c index 158dae63e..467059cc6 100644 --- a/engine/qclib/qccgui.c +++ b/engine/qclib/qccgui.c @@ -2743,7 +2743,6 @@ int EditorSave(editor_t *edit) free(afile); if (saved < 0) { - free(afile); MessageBox(NULL, "Save failed\nCheck path and ReadOnly flags", "Failure", 0); return false; } diff --git a/engine/qclib/qccmain.c b/engine/qclib/qccmain.c index 47aa1ef01..c9ffbd08d 100644 --- a/engine/qclib/qccmain.c +++ b/engine/qclib/qccmain.c @@ -928,12 +928,12 @@ void QCC_DetermineNeededSymbols(QCC_def_t *endsyssym) //FIXME: we want to strip these. fte/dp extensions.qc have a LOT of fields that could be stripped. sym->referenced = true; //FIXME } - else if (sym->constant && sym->type->type == ev_function) - { //non-builtins must be present, because of spawn functions and other entrypoints. - unsigned int fnum = sym->symboldata[0]._int; - if (fnum < numfunctions && functions[fnum].code == -1) - sym->symbolheader->used = true; - } +// else if (sym->constant && sym->type->type == ev_function) +// { //non-builtins must be present, because of spawn functions and other entrypoints. +// unsigned int fnum = sym->symboldata[0]._int; +// if (fnum < numfunctions && functions[fnum].code == -1) +// sym->symbolheader->used = true; +// } } for (i=0 ; i