mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-26 14:01:45 +00:00
- Fixed: The check arrays for BlockThingsIterators were not properly
freed and each iterator allocated a new one as a result. - Split the Xlat parser context class into a generic part that can be used for other Lemon-based parsers in the future and a smaller Xlat-specific part. SVN r892 (trunk)
This commit is contained in:
parent
17816dcadd
commit
3a14dab2e8
8 changed files with 773 additions and 558 deletions
|
@ -1,4 +1,17 @@
|
||||||
April 8, 2008 (Changes by Graf Zahl)
|
April 8, 2008 (Changes by Graf Zahl)
|
||||||
|
- Changed XlatParseContext::FindToken to do a binary search over the
|
||||||
|
valid token names.
|
||||||
|
- Fixed: The check arrays for BlockThingsIterators were not properly
|
||||||
|
freed and each iterator allocated a new one as a result.
|
||||||
|
- Split the Xlat parser context class into a generic part that can be
|
||||||
|
used for other Lemon-based parsers in the future and a smaller
|
||||||
|
Xlat-specific part.
|
||||||
|
- Changed: P_TeleportMove now always sets BlockingLine to NULL and
|
||||||
|
P_FindFloorCeiling doesn't set it at all. The way it was set in
|
||||||
|
PIT_FindFloorCeiling didn't look correct. (Note: It's amazing how
|
||||||
|
easy it is to break P_TryMove et.al. with DECORATE if you just know
|
||||||
|
which combinations of code pointers will cause problems. This definitely
|
||||||
|
needs to be addressed.)
|
||||||
- Changed P_FindFloorCeiling so that it doesn't need global variables
|
- Changed P_FindFloorCeiling so that it doesn't need global variables
|
||||||
anymore. I also moved the code to set the calling actor's information
|
anymore. I also moved the code to set the calling actor's information
|
||||||
into this function because that's all it is used for. This also fixes
|
into this function because that's all it is used for. This also fixes
|
||||||
|
|
|
@ -270,7 +270,7 @@ class FBlockThingsIterator
|
||||||
|
|
||||||
FBlockNode *block;
|
FBlockNode *block;
|
||||||
|
|
||||||
static BTChecked *GetCheckArray();
|
BTChecked *GetCheckArray();
|
||||||
void FreeCheckArray();
|
void FreeCheckArray();
|
||||||
void StartBlock(int x, int y);
|
void StartBlock(int x, int y);
|
||||||
|
|
||||||
|
|
|
@ -816,6 +816,7 @@ TDeletingArray< FBlockThingsIterator::BTChecked* > FBlockThingsIterator::FreeBTC
|
||||||
|
|
||||||
FBlockThingsIterator::BTChecked *FBlockThingsIterator::GetCheckArray()
|
FBlockThingsIterator::BTChecked *FBlockThingsIterator::GetCheckArray()
|
||||||
{
|
{
|
||||||
|
dontfreecheck = false;
|
||||||
if (FreeBTChecked.Size() != 0)
|
if (FreeBTChecked.Size() != 0)
|
||||||
{
|
{
|
||||||
BTChecked *ret;
|
BTChecked *ret;
|
||||||
|
|
349
src/parsecontext.cpp
Normal file
349
src/parsecontext.cpp
Normal file
|
@ -0,0 +1,349 @@
|
||||||
|
/*
|
||||||
|
** parsecontext.cpp
|
||||||
|
** Base class for Lemon-based parsers
|
||||||
|
**
|
||||||
|
**---------------------------------------------------------------------------
|
||||||
|
** Copyright 1998-2008 Randy Heit
|
||||||
|
** Copyright 2008 Christoph Oelckers
|
||||||
|
** All rights reserved.
|
||||||
|
**
|
||||||
|
** Redistribution and use in source and binary forms, with or without
|
||||||
|
** modification, are permitted provided that the following conditions
|
||||||
|
** are met:
|
||||||
|
**
|
||||||
|
** 1. Redistributions of source code must retain the above copyright
|
||||||
|
** notice, this list of conditions and the following disclaimer.
|
||||||
|
** 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
** notice, this list of conditions and the following disclaimer in the
|
||||||
|
** documentation and/or other materials provided with the distribution.
|
||||||
|
** 3. The name of the author may not be used to endorse or promote products
|
||||||
|
** derived from this software without specific prior written permission.
|
||||||
|
**
|
||||||
|
** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||||
|
** IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
** OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||||
|
** IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
** NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||||
|
** THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
**---------------------------------------------------------------------------
|
||||||
|
**
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
#include "w_wad.h"
|
||||||
|
#include "parsecontext.h"
|
||||||
|
#include "p_lnspec.h"
|
||||||
|
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
void FParseContext::AddSym (char *sym, int val)
|
||||||
|
{
|
||||||
|
FParseSymbol syme;
|
||||||
|
syme.Value = val;
|
||||||
|
strncpy (syme.Sym, sym, 79);
|
||||||
|
syme.Sym[79]=0;
|
||||||
|
symbols.Push(syme);
|
||||||
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
bool FParseContext::FindSym (char *sym, FParseSymbol **val)
|
||||||
|
{
|
||||||
|
for(unsigned i=0;i<symbols.Size(); i++)
|
||||||
|
{
|
||||||
|
if (strcmp (symbols[i].Sym, sym) == 0)
|
||||||
|
{
|
||||||
|
*val = &symbols[i];
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
int FParseContext::GetToken (char *&sourcep, FParseToken *yylval)
|
||||||
|
{
|
||||||
|
char token[80];
|
||||||
|
int toksize;
|
||||||
|
int c;
|
||||||
|
|
||||||
|
loop:
|
||||||
|
while (isspace (c = *sourcep++) && c != 0)
|
||||||
|
{
|
||||||
|
if (c == '\n')
|
||||||
|
SourceLine++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (c == 0)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if (isdigit (c))
|
||||||
|
{
|
||||||
|
int buildup = c - '0';
|
||||||
|
if (c == '0')
|
||||||
|
{
|
||||||
|
c = *sourcep++;
|
||||||
|
if (c == 'x' || c == 'X')
|
||||||
|
{
|
||||||
|
for (;;)
|
||||||
|
{
|
||||||
|
c = *sourcep++;
|
||||||
|
if (isdigit (c))
|
||||||
|
{
|
||||||
|
buildup = (buildup<<4) + c - '0';
|
||||||
|
}
|
||||||
|
else if (c >= 'a' && c <= 'f')
|
||||||
|
{
|
||||||
|
buildup = (buildup<<4) + c - 'a' + 10;
|
||||||
|
}
|
||||||
|
else if (c >= 'A' && c <= 'F')
|
||||||
|
{
|
||||||
|
buildup = (buildup<<4) + c - 'A' + 10;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sourcep--;
|
||||||
|
yylval->val = buildup;
|
||||||
|
return TokenTrans[NUM];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sourcep--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (isdigit (c = *sourcep++))
|
||||||
|
{
|
||||||
|
buildup = buildup*10 + c - '0';
|
||||||
|
}
|
||||||
|
sourcep--;
|
||||||
|
yylval->val = buildup;
|
||||||
|
return TokenTrans[NUM];
|
||||||
|
}
|
||||||
|
if (isalpha (c))
|
||||||
|
{
|
||||||
|
int buildup = 0;
|
||||||
|
|
||||||
|
token[0] = c;
|
||||||
|
toksize = 1;
|
||||||
|
while (toksize < 79 && (isalnum (c = *sourcep++) || c == '_'))
|
||||||
|
{
|
||||||
|
token[toksize++] = c;
|
||||||
|
}
|
||||||
|
token[toksize] = 0;
|
||||||
|
if (toksize == 79 && isalnum (c))
|
||||||
|
{
|
||||||
|
while (isalnum (c = *sourcep++))
|
||||||
|
;
|
||||||
|
}
|
||||||
|
sourcep--;
|
||||||
|
if (FindToken (token, &buildup))
|
||||||
|
{
|
||||||
|
return buildup;
|
||||||
|
}
|
||||||
|
if (FindSym (token, &yylval->symval))
|
||||||
|
{
|
||||||
|
return TokenTrans[SYMNUM];
|
||||||
|
}
|
||||||
|
if ((yylval->val = P_FindLineSpecial(token)) != 0)
|
||||||
|
{
|
||||||
|
return TokenTrans[NUM];
|
||||||
|
}
|
||||||
|
strcpy (yylval->sym, token);
|
||||||
|
return TokenTrans[SYM];
|
||||||
|
}
|
||||||
|
if (c == '/')
|
||||||
|
{
|
||||||
|
c = *sourcep++;;
|
||||||
|
if (c == '*')
|
||||||
|
{
|
||||||
|
for (;;)
|
||||||
|
{
|
||||||
|
while ((c = *sourcep++) != '*' && c != 0)
|
||||||
|
{
|
||||||
|
if (c == '\n')
|
||||||
|
SourceLine++;
|
||||||
|
}
|
||||||
|
if (c == 0)
|
||||||
|
return 0;
|
||||||
|
if ((c = *sourcep++) == '/')
|
||||||
|
goto loop;
|
||||||
|
if (c == 0)
|
||||||
|
return 0;
|
||||||
|
sourcep--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (c == '/')
|
||||||
|
{
|
||||||
|
while ((c = *sourcep++) != '\n' && c != 0)
|
||||||
|
;
|
||||||
|
if (c == '\n')
|
||||||
|
SourceLine++;
|
||||||
|
else if (c == EOF)
|
||||||
|
return 0;
|
||||||
|
goto loop;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sourcep--;
|
||||||
|
return TokenTrans[DIVIDE];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (c == '"')
|
||||||
|
{
|
||||||
|
int tokensize = 0;
|
||||||
|
while ((c = *sourcep++) != '"' && c != 0)
|
||||||
|
{
|
||||||
|
yylval->string[tokensize++] = c;
|
||||||
|
}
|
||||||
|
yylval->string[tokensize] = 0;
|
||||||
|
return TokenTrans[STRING];
|
||||||
|
}
|
||||||
|
if (c == '|')
|
||||||
|
{
|
||||||
|
c = *sourcep++;
|
||||||
|
if (c == '=')
|
||||||
|
return TokenTrans[OR_EQUAL];
|
||||||
|
sourcep--;
|
||||||
|
return TokenTrans[OR];
|
||||||
|
}
|
||||||
|
if (c == '<')
|
||||||
|
{
|
||||||
|
c = *sourcep++;
|
||||||
|
if (c == '<')
|
||||||
|
{
|
||||||
|
c = *sourcep++;
|
||||||
|
if (c == '=')
|
||||||
|
{
|
||||||
|
return TokenTrans[LSHASSIGN];
|
||||||
|
}
|
||||||
|
sourcep--;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
c--;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if (c == '>')
|
||||||
|
{
|
||||||
|
c = *sourcep++;
|
||||||
|
if (c == '>')
|
||||||
|
{
|
||||||
|
c = *sourcep++;
|
||||||
|
if (c == '=')
|
||||||
|
{
|
||||||
|
return TokenTrans[RSHASSIGN];
|
||||||
|
}
|
||||||
|
sourcep--;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
c--;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
switch (c)
|
||||||
|
{
|
||||||
|
case '^': return TokenTrans[XOR];
|
||||||
|
case '&': return TokenTrans[AND];
|
||||||
|
case '-': return TokenTrans[MINUS];
|
||||||
|
case '+': return TokenTrans[PLUS];
|
||||||
|
case '*': return TokenTrans[MULTIPLY];
|
||||||
|
case '(': return TokenTrans[LPAREN];
|
||||||
|
case ')': return TokenTrans[RPAREN];
|
||||||
|
case ',': return TokenTrans[COMMA];
|
||||||
|
case '{': return TokenTrans[LBRACE];
|
||||||
|
case '}': return TokenTrans[RBRACE];
|
||||||
|
case '=': return TokenTrans[EQUALS];
|
||||||
|
case ';': return TokenTrans[SEMICOLON];
|
||||||
|
case ':': return TokenTrans[COLON];
|
||||||
|
case '[': return TokenTrans[LBRACKET];
|
||||||
|
case ']': return TokenTrans[RBRACKET];
|
||||||
|
default: return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
int FParseContext::PrintError (const char *s)
|
||||||
|
{
|
||||||
|
if (SourceFile != NULL)
|
||||||
|
Printf ("%s, line %d: %s\n", SourceFile, SourceLine, s);
|
||||||
|
else
|
||||||
|
Printf ("%s\n", s);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
|
void FParseContext::ParseLump(const char *lumpname)
|
||||||
|
{
|
||||||
|
int tokentype;
|
||||||
|
int SavedSourceLine = SourceLine;
|
||||||
|
const char *SavedSourceFile = SourceFile;
|
||||||
|
FParseToken token;
|
||||||
|
|
||||||
|
int lumpno = Wads.CheckNumForFullName(lumpname, true);
|
||||||
|
|
||||||
|
if (lumpno == -1)
|
||||||
|
{
|
||||||
|
Printf ("%s, line %d: Lump '%s' not found\n", SourceFile, SourceLine, lumpname);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Read the lump into a buffer and add a 0-terminator
|
||||||
|
int lumplen = Wads.LumpLength(lumpno);
|
||||||
|
char *lumpdata = new char[lumplen+1];
|
||||||
|
Wads.ReadLump(lumpno, lumpdata);
|
||||||
|
lumpdata[lumplen] = 0;
|
||||||
|
|
||||||
|
SourceLine = 0;
|
||||||
|
SourceFile = lumpname;
|
||||||
|
|
||||||
|
char *sourcep = lumpdata;
|
||||||
|
while ( (tokentype = GetToken(sourcep, &token)) )
|
||||||
|
{
|
||||||
|
// It is much easier to handle include statements outside the main parser.
|
||||||
|
if (tokentype == TokenTrans[INCLUDE])
|
||||||
|
{
|
||||||
|
if (GetToken(sourcep, &token) != TokenTrans[STRING])
|
||||||
|
{
|
||||||
|
Printf("%s, line %d: Include: String parameter expected\n", SourceFile, SourceLine);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ParseLump(token.string);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Parse(pParser, tokentype, token, this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
delete [] lumpdata;
|
||||||
|
SourceLine = SavedSourceLine;
|
||||||
|
SourceFile = SavedSourceFile;
|
||||||
|
}
|
||||||
|
|
150
src/parsecontext.h
Normal file
150
src/parsecontext.h
Normal file
|
@ -0,0 +1,150 @@
|
||||||
|
/*
|
||||||
|
** parsecontext.h
|
||||||
|
** Base class for Lemon-based parsers
|
||||||
|
**
|
||||||
|
**---------------------------------------------------------------------------
|
||||||
|
** Copyright 2008 Christoph Oelckers
|
||||||
|
** All rights reserved.
|
||||||
|
**
|
||||||
|
** Redistribution and use in source and binary forms, with or without
|
||||||
|
** modification, are permitted provided that the following conditions
|
||||||
|
** are met:
|
||||||
|
**
|
||||||
|
** 1. Redistributions of source code must retain the above copyright
|
||||||
|
** notice, this list of conditions and the following disclaimer.
|
||||||
|
** 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
** notice, this list of conditions and the following disclaimer in the
|
||||||
|
** documentation and/or other materials provided with the distribution.
|
||||||
|
** 3. The name of the author may not be used to endorse or promote products
|
||||||
|
** derived from this software without specific prior written permission.
|
||||||
|
**
|
||||||
|
** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||||
|
** IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
** OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||||
|
** IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
** NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||||
|
** THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
**---------------------------------------------------------------------------
|
||||||
|
**
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __PARSECONTEST__H_
|
||||||
|
#define __PARSECONTEST__H_
|
||||||
|
|
||||||
|
#include "tarray.h"
|
||||||
|
|
||||||
|
// The basic tokens the parser requires the grammar to understand
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
OR =1,
|
||||||
|
XOR ,
|
||||||
|
AND ,
|
||||||
|
MINUS ,
|
||||||
|
PLUS ,
|
||||||
|
MULTIPLY ,
|
||||||
|
DIVIDE ,
|
||||||
|
NUM ,
|
||||||
|
SYMNUM ,
|
||||||
|
LPAREN ,
|
||||||
|
RPAREN ,
|
||||||
|
SYM ,
|
||||||
|
RBRACE ,
|
||||||
|
LBRACE ,
|
||||||
|
COMMA ,
|
||||||
|
EQUALS ,
|
||||||
|
LBRACKET ,
|
||||||
|
RBRACKET ,
|
||||||
|
OR_EQUAL ,
|
||||||
|
COLON ,
|
||||||
|
SEMICOLON,
|
||||||
|
LSHASSIGN,
|
||||||
|
RSHASSIGN,
|
||||||
|
STRING ,
|
||||||
|
INCLUDE ,
|
||||||
|
};
|
||||||
|
|
||||||
|
#define DEFINE_TOKEN_TRANS(prefix) \
|
||||||
|
static int TokenTrans[] = { \
|
||||||
|
0, \
|
||||||
|
prefix##OR, \
|
||||||
|
prefix##XOR, \
|
||||||
|
prefix##AND, \
|
||||||
|
prefix##MINUS, \
|
||||||
|
prefix##PLUS, \
|
||||||
|
prefix##MULTIPLY, \
|
||||||
|
prefix##DIVIDE, \
|
||||||
|
prefix##NUM, \
|
||||||
|
prefix##SYMNUM, \
|
||||||
|
prefix##LPAREN, \
|
||||||
|
prefix##RPAREN, \
|
||||||
|
prefix##SYM, \
|
||||||
|
prefix##RBRACE, \
|
||||||
|
prefix##LBRACE, \
|
||||||
|
prefix##COMMA, \
|
||||||
|
prefix##EQUALS, \
|
||||||
|
prefix##LBRACKET, \
|
||||||
|
prefix##RBRACKET, \
|
||||||
|
prefix##OR_EQUAL, \
|
||||||
|
prefix##COLON, \
|
||||||
|
prefix##SEMICOLON, \
|
||||||
|
prefix##LSHASSIGN, \
|
||||||
|
prefix##RSHASSIGN, \
|
||||||
|
prefix##STRING, \
|
||||||
|
prefix##INCLUDE, \
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
struct FParseSymbol
|
||||||
|
{
|
||||||
|
int Value;
|
||||||
|
char Sym[80];
|
||||||
|
};
|
||||||
|
|
||||||
|
union FParseToken
|
||||||
|
{
|
||||||
|
int val;
|
||||||
|
char sym[80];
|
||||||
|
char string[80];
|
||||||
|
FParseSymbol *symval;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
struct FParseContext;
|
||||||
|
|
||||||
|
typedef void (*ParseFunc)(void *pParser, int tokentype, FParseToken token, FParseContext *context);
|
||||||
|
|
||||||
|
struct FParseContext
|
||||||
|
{
|
||||||
|
TArray<FParseSymbol> symbols;
|
||||||
|
int SourceLine;
|
||||||
|
const char *SourceFile;
|
||||||
|
int EnumVal;
|
||||||
|
int *TokenTrans;
|
||||||
|
void *pParser;
|
||||||
|
ParseFunc Parse;
|
||||||
|
|
||||||
|
FParseContext(void *parser, ParseFunc parse, int *tt)
|
||||||
|
{
|
||||||
|
SourceLine = 0;
|
||||||
|
SourceFile = NULL;
|
||||||
|
pParser = parser;
|
||||||
|
Parse = parse;
|
||||||
|
TokenTrans = tt;
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual ~FParseContext() {}
|
||||||
|
|
||||||
|
void AddSym (char *sym, int val);
|
||||||
|
bool FindSym (char *sym, FParseSymbol **val);
|
||||||
|
virtual bool FindToken (char *tok, int *type) = 0;
|
||||||
|
int GetToken (char *&sourcep, FParseToken *yylval);
|
||||||
|
int PrintError (const char *s);
|
||||||
|
void ParseLump(const char *lumpname);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
|
@ -41,9 +41,21 @@
|
||||||
#include "p_lnspec.h"
|
#include "p_lnspec.h"
|
||||||
#include "info.h"
|
#include "info.h"
|
||||||
#include "gi.h"
|
#include "gi.h"
|
||||||
|
#include "parsecontext.h"
|
||||||
#include "xlat_parser.h"
|
#include "xlat_parser.h"
|
||||||
#include "xlat.h"
|
#include "xlat.h"
|
||||||
|
|
||||||
|
|
||||||
|
// Token types not used in the grammar
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
XLAT_INCLUDE=128,
|
||||||
|
XLAT_STRING,
|
||||||
|
};
|
||||||
|
|
||||||
|
DEFINE_TOKEN_TRANS(XLAT_)
|
||||||
|
|
||||||
|
|
||||||
static FString LastTranslator;
|
static FString LastTranslator;
|
||||||
TAutoGrowArray<FLineTrans> SimpleLineTranslations;
|
TAutoGrowArray<FLineTrans> SimpleLineTranslations;
|
||||||
FBoomTranslator Boomish[MAX_BOOMISH];
|
FBoomTranslator Boomish[MAX_BOOMISH];
|
||||||
|
@ -51,27 +63,6 @@ int NumBoomish;
|
||||||
TAutoGrowArray<FSectorTrans> SectorTranslations;
|
TAutoGrowArray<FSectorTrans> SectorTranslations;
|
||||||
TArray<FSectorMask> SectorMasks;
|
TArray<FSectorMask> SectorMasks;
|
||||||
|
|
||||||
// Token types not used in the grammar
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
INCLUDE=128,
|
|
||||||
STRING,
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
struct Symbol
|
|
||||||
{
|
|
||||||
int Value;
|
|
||||||
char Sym[80];
|
|
||||||
};
|
|
||||||
|
|
||||||
union XlatToken
|
|
||||||
{
|
|
||||||
int val;
|
|
||||||
char sym[80];
|
|
||||||
char string[80];
|
|
||||||
Symbol *symval;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct SpecialArgs
|
struct SpecialArgs
|
||||||
{
|
{
|
||||||
|
@ -105,49 +96,11 @@ struct ParseBoomArg
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
struct XlatParseContext
|
struct XlatParseContext : public FParseContext
|
||||||
{
|
{
|
||||||
TArray<Symbol> symbols;
|
XlatParseContext(void *parser, ParseFunc parse, int *tt)
|
||||||
int SourceLine;
|
: FParseContext(parser, parse, tt)
|
||||||
const char *SourceFile;
|
|
||||||
int EnumVal;
|
|
||||||
|
|
||||||
XlatParseContext()
|
|
||||||
{
|
{
|
||||||
SourceLine = 0;
|
|
||||||
SourceFile = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
//==========================================================================
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//==========================================================================
|
|
||||||
void AddSym (char *sym, int val)
|
|
||||||
{
|
|
||||||
Symbol syme;
|
|
||||||
syme.Value = val;
|
|
||||||
strncpy (syme.Sym, sym, 79);
|
|
||||||
syme.Sym[79]=0;
|
|
||||||
symbols.Push(syme);
|
|
||||||
}
|
|
||||||
|
|
||||||
//==========================================================================
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//==========================================================================
|
|
||||||
bool FindSym (char *sym, Symbol **val)
|
|
||||||
{
|
|
||||||
for(unsigned i=0;i<symbols.Size(); i++)
|
|
||||||
{
|
|
||||||
if (strcmp (symbols[i].Sym, sym) == 0)
|
|
||||||
{
|
|
||||||
*val = &symbols[i];
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
@ -159,303 +112,43 @@ struct XlatParseContext
|
||||||
{
|
{
|
||||||
static const char tokens[][10] =
|
static const char tokens[][10] =
|
||||||
{
|
{
|
||||||
"include", "define", "enum",
|
"arg2", "arg3", "arg4", "arg5", "bitmask", "clear",
|
||||||
"arg5", "arg4", "arg3", "arg2", "flags", "lineid", "tag",
|
"define", "enum", "flags", "include", "lineid",
|
||||||
"sector", "bitmask", "nobitmask", "clear"
|
"nobitmask", "sector", "tag"
|
||||||
|
|
||||||
};
|
};
|
||||||
static const short types[] =
|
static const short types[] =
|
||||||
{
|
{
|
||||||
INCLUDE, DEFINE, ENUM,
|
XLAT_ARG2, XLAT_ARG3, XLAT_ARG4, XLAT_ARG5, XLAT_BITMASK, XLAT_CLEAR,
|
||||||
ARG5, ARG4, ARG3, ARG2, FLAGS, TAG, TAG,
|
XLAT_DEFINE, XLAT_ENUM, XLAT_FLAGS, XLAT_INCLUDE, XLAT_TAG,
|
||||||
SECTOR, BITMASK, NOBITMASK, CLEAR
|
XLAT_NOBITMASK, XLAT_SECTOR, XLAT_TAG,
|
||||||
};
|
};
|
||||||
int i;
|
|
||||||
|
|
||||||
for (i = sizeof(tokens)/sizeof(tokens[0])-1; i >= 0; i--)
|
int min = 0, max = sizeof(tokens)/sizeof(tokens[0]) - 1;
|
||||||
{
|
|
||||||
if (strcmp (tok, tokens[i]) == 0)
|
|
||||||
{
|
|
||||||
*type = types[i];
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
//==========================================================================
|
while (min <= max)
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//==========================================================================
|
|
||||||
int GetToken (char *&sourcep, XlatToken *yylval)
|
|
||||||
{
|
{
|
||||||
char token[80];
|
int mid = (min + max) / 2;
|
||||||
int toksize;
|
int lexval = stricmp (tok, tokens[mid]);
|
||||||
int c;
|
if (lexval == 0)
|
||||||
|
|
||||||
loop:
|
|
||||||
while (isspace (c = *sourcep++) && c != 0)
|
|
||||||
{
|
{
|
||||||
if (c == '\n')
|
*type = types[mid];
|
||||||
SourceLine++;
|
return true;
|
||||||
}
|
}
|
||||||
|
else if (lexval > 0)
|
||||||
if (c == 0)
|
|
||||||
{
|
{
|
||||||
return 0;
|
min = mid + 1;
|
||||||
}
|
|
||||||
if (isdigit (c))
|
|
||||||
{
|
|
||||||
int buildup = c - '0';
|
|
||||||
if (c == '0')
|
|
||||||
{
|
|
||||||
c = *sourcep++;
|
|
||||||
if (c == 'x' || c == 'X')
|
|
||||||
{
|
|
||||||
for (;;)
|
|
||||||
{
|
|
||||||
c = *sourcep++;
|
|
||||||
if (isdigit (c))
|
|
||||||
{
|
|
||||||
buildup = (buildup<<4) + c - '0';
|
|
||||||
}
|
|
||||||
else if (c >= 'a' && c <= 'f')
|
|
||||||
{
|
|
||||||
buildup = (buildup<<4) + c - 'a' + 10;
|
|
||||||
}
|
|
||||||
else if (c >= 'A' && c <= 'F')
|
|
||||||
{
|
|
||||||
buildup = (buildup<<4) + c - 'A' + 10;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sourcep--;
|
max = mid - 1;
|
||||||
yylval->val = buildup;
|
|
||||||
return NUM;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
sourcep--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
while (isdigit (c = *sourcep++))
|
|
||||||
{
|
|
||||||
buildup = buildup*10 + c - '0';
|
|
||||||
}
|
|
||||||
sourcep--;
|
|
||||||
yylval->val = buildup;
|
|
||||||
return NUM;
|
|
||||||
}
|
|
||||||
if (isalpha (c))
|
|
||||||
{
|
|
||||||
int buildup = 0;
|
|
||||||
|
|
||||||
token[0] = c;
|
|
||||||
toksize = 1;
|
|
||||||
while (toksize < 79 && (isalnum (c = *sourcep++) || c == '_'))
|
|
||||||
{
|
|
||||||
token[toksize++] = c;
|
|
||||||
}
|
|
||||||
token[toksize] = 0;
|
|
||||||
if (toksize == 79 && isalnum (c))
|
|
||||||
{
|
|
||||||
while (isalnum (c = *sourcep++))
|
|
||||||
;
|
|
||||||
}
|
|
||||||
sourcep--;
|
|
||||||
if (FindToken (token, &buildup))
|
|
||||||
{
|
|
||||||
return buildup;
|
|
||||||
}
|
|
||||||
if (FindSym (token, &yylval->symval))
|
|
||||||
{
|
|
||||||
return SYMNUM;
|
|
||||||
}
|
|
||||||
if ((yylval->val = P_FindLineSpecial(token)) != 0)
|
|
||||||
{
|
|
||||||
return NUM;
|
|
||||||
}
|
|
||||||
strcpy (yylval->sym, token);
|
|
||||||
return SYM;
|
|
||||||
}
|
|
||||||
if (c == '/')
|
|
||||||
{
|
|
||||||
c = *sourcep++;;
|
|
||||||
if (c == '*')
|
|
||||||
{
|
|
||||||
for (;;)
|
|
||||||
{
|
|
||||||
while ((c = *sourcep++) != '*' && c != 0)
|
|
||||||
{
|
|
||||||
if (c == '\n')
|
|
||||||
SourceLine++;
|
|
||||||
}
|
|
||||||
if (c == 0)
|
|
||||||
return 0;
|
|
||||||
if ((c = *sourcep++) == '/')
|
|
||||||
goto loop;
|
|
||||||
if (c == 0)
|
|
||||||
return 0;
|
|
||||||
sourcep--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (c == '/')
|
|
||||||
{
|
|
||||||
while ((c = *sourcep++) != '\n' && c != 0)
|
|
||||||
;
|
|
||||||
if (c == '\n')
|
|
||||||
SourceLine++;
|
|
||||||
else if (c == EOF)
|
|
||||||
return 0;
|
|
||||||
goto loop;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
sourcep--;
|
|
||||||
return DIVIDE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (c == '"')
|
|
||||||
{
|
|
||||||
int tokensize = 0;
|
|
||||||
while ((c = *sourcep++) != '"' && c != 0)
|
|
||||||
{
|
|
||||||
yylval->string[tokensize++] = c;
|
|
||||||
}
|
|
||||||
yylval->string[tokensize] = 0;
|
|
||||||
return STRING;
|
|
||||||
}
|
|
||||||
if (c == '|')
|
|
||||||
{
|
|
||||||
c = *sourcep++;
|
|
||||||
if (c == '=')
|
|
||||||
return OR_EQUAL;
|
|
||||||
sourcep--;
|
|
||||||
return OR;
|
|
||||||
}
|
|
||||||
if (c == '<')
|
|
||||||
{
|
|
||||||
c = *sourcep++;
|
|
||||||
if (c == '<')
|
|
||||||
{
|
|
||||||
c = *sourcep++;
|
|
||||||
if (c == '=')
|
|
||||||
{
|
|
||||||
return LSHASSIGN;
|
|
||||||
}
|
|
||||||
sourcep--;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
c--;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
if (c == '>')
|
|
||||||
{
|
|
||||||
c = *sourcep++;
|
|
||||||
if (c == '>')
|
|
||||||
{
|
|
||||||
c = *sourcep++;
|
|
||||||
if (c == '=')
|
|
||||||
{
|
|
||||||
return RSHASSIGN;
|
|
||||||
}
|
|
||||||
sourcep--;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
c--;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
switch (c)
|
|
||||||
{
|
|
||||||
case '^': return XOR;
|
|
||||||
case '&': return AND;
|
|
||||||
case '-': return MINUS;
|
|
||||||
case '+': return PLUS;
|
|
||||||
case '*': return MULTIPLY;
|
|
||||||
case '(': return LPAREN;
|
|
||||||
case ')': return RPAREN;
|
|
||||||
case ',': return COMMA;
|
|
||||||
case '{': return LBRACE;
|
|
||||||
case '}': return RBRACE;
|
|
||||||
case '=': return EQUALS;
|
|
||||||
case ';': return SEMICOLON;
|
|
||||||
case ':': return COLON;
|
|
||||||
case '[': return LBRACKET;
|
|
||||||
case ']': return RBRACKET;
|
|
||||||
default: return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int PrintError (const char *s)
|
|
||||||
{
|
|
||||||
if (SourceFile != NULL)
|
|
||||||
Printf ("%s, line %d: %s\n", SourceFile, SourceLine, s);
|
|
||||||
else
|
|
||||||
Printf ("%s\n", s);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#include "xlat_parser.c"
|
#include "xlat_parser.c"
|
||||||
|
|
||||||
//==========================================================================
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//==========================================================================
|
|
||||||
|
|
||||||
void ParseXlatLump(const char *lumpname, void *pParser, XlatParseContext *context)
|
|
||||||
{
|
|
||||||
int tokentype;
|
|
||||||
int SavedSourceLine = context->SourceLine;
|
|
||||||
const char *SavedSourceFile = context->SourceFile;
|
|
||||||
XlatToken token;
|
|
||||||
|
|
||||||
int lumpno = Wads.CheckNumForFullName(lumpname, true);
|
|
||||||
|
|
||||||
if (lumpno == -1)
|
|
||||||
{
|
|
||||||
Printf ("%s, line %d: Lump '%s' not found\n", context->SourceFile, context->SourceLine, lumpname);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read the lump into a buffer and add a 0-terminator
|
|
||||||
int lumplen = Wads.LumpLength(lumpno);
|
|
||||||
char *lumpdata = new char[lumplen+1];
|
|
||||||
Wads.ReadLump(lumpno, lumpdata);
|
|
||||||
lumpdata[lumplen] = 0;
|
|
||||||
|
|
||||||
context->SourceLine = 0;
|
|
||||||
context->SourceFile = lumpname;
|
|
||||||
|
|
||||||
char *sourcep = lumpdata;
|
|
||||||
while ( (tokentype = context->GetToken(sourcep, &token)) )
|
|
||||||
{
|
|
||||||
// It is much easier to handle include statements outside the main parser.
|
|
||||||
if (tokentype == INCLUDE)
|
|
||||||
{
|
|
||||||
if (context->GetToken(sourcep, &token) != STRING)
|
|
||||||
{
|
|
||||||
Printf("%s, line %d: Include: String parameter expected\n", context->SourceFile, context->SourceLine);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
ParseXlatLump(token.string, pParser, context);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
XlatParse(pParser, tokentype, token, context);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
delete [] lumpdata;
|
|
||||||
context->SourceLine = SavedSourceLine;
|
|
||||||
context->SourceFile = SavedSourceFile;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
//
|
//
|
||||||
|
@ -476,10 +169,10 @@ void P_LoadTranslator(const char *lumpname)
|
||||||
|
|
||||||
void *pParser = XlatParseAlloc(malloc);
|
void *pParser = XlatParseAlloc(malloc);
|
||||||
|
|
||||||
XlatParseContext context;
|
XlatParseContext context(pParser, XlatParse, TokenTrans);
|
||||||
|
|
||||||
ParseXlatLump(lumpname, pParser, &context);
|
context.ParseLump(lumpname);
|
||||||
XlatToken tok;
|
FParseToken tok;
|
||||||
tok.val=0;
|
tok.val=0;
|
||||||
XlatParse(pParser, 0, tok, &context);
|
XlatParse(pParser, 0, tok, &context);
|
||||||
XlatParseFree(pParser, free);
|
XlatParseFree(pParser, free);
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
|
|
||||||
%token_type {XlatToken}
|
%token_prefix XLAT_
|
||||||
|
%token_type {FParseToken}
|
||||||
%token_destructor {} // just to avoid a compiler warning
|
%token_destructor {} // just to avoid a compiler warning
|
||||||
%name XlatParse
|
%name XlatParse
|
||||||
%extra_argument { XlatParseContext *context }
|
%extra_argument { FParseContext *context }
|
||||||
%syntax_error { context->PrintError("syntax error");}
|
%syntax_error { context->PrintError("syntax error");}
|
||||||
|
|
||||||
|
|
||||||
|
|
434
zdoom.vcproj
434
zdoom.vcproj
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
<?xml version="1.0" encoding="Windows-1252"?>
|
||||||
<VisualStudioProject
|
<VisualStudioProject
|
||||||
ProjectType="Visual C++"
|
ProjectType="Visual C++"
|
||||||
Version="8.00"
|
Version="8,00"
|
||||||
Name="zdoom"
|
Name="zdoom"
|
||||||
ProjectGUID="{8049475B-5C87-46F9-9358-635218A4EF18}"
|
ProjectGUID="{8049475B-5C87-46F9-9358-635218A4EF18}"
|
||||||
RootNamespace=" zdoom"
|
RootNamespace=" zdoom"
|
||||||
|
@ -135,6 +135,112 @@
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Debug|Win32"
|
||||||
|
OutputDirectory=".\Debug"
|
||||||
|
IntermediateDirectory=".\Debug"
|
||||||
|
ConfigurationType="1"
|
||||||
|
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||||
|
UseOfMFC="0"
|
||||||
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
Description="Checking svnrevision.h..."
|
||||||
|
CommandLine="$(OutDir)\updaterevision.exe src src/svnrevision.h"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
PreprocessorDefinitions="_DEBUG"
|
||||||
|
MkTypLibCompatible="true"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
TargetEnvironment="1"
|
||||||
|
TypeLibraryName=".\Debug/zdoom.tlb"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="src\win32;src\sound;src;zlib;src\g_shared;src\g_doom;src\g_raven;src\g_heretic;src\g_hexen;src\g_strife;jpeg-6b;snes_spc\snes_spc"
|
||||||
|
PreprocessorDefinitions="WIN32,_DEBUG,_WIN32,_WINDOWS,USEASM,_CRTDBG_MAP_ALLOC,HAVE_STRUPR,HAVE_FILELENGTH"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
RuntimeLibrary="1"
|
||||||
|
EnableFunctionLevelLinking="true"
|
||||||
|
ForceConformanceInForLoopScope="true"
|
||||||
|
PrecompiledHeaderFile=""
|
||||||
|
AssemblerOutput="4"
|
||||||
|
AssemblerListingLocation=".\Debug/"
|
||||||
|
ObjectFile=".\Debug/"
|
||||||
|
ProgramDataBaseFileName=".\Debug/"
|
||||||
|
WarningLevel="3"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="4"
|
||||||
|
CompileAs="0"
|
||||||
|
DisableSpecificWarnings="4996"
|
||||||
|
ForcedIncludeFiles=""
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
PreprocessorDefinitions="_DEBUG"
|
||||||
|
Culture="1033"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalOptions="/MACHINE:I386"
|
||||||
|
AdditionalDependencies="gdi32.lib user32.lib comctl32.lib shell32.lib advapi32.lib comdlg32.lib ole32.lib dxguid.lib dsound.lib dinput8.lib strmiids.lib wsock32.lib winmm.lib fmodex_vc.lib setupapi.lib ws2_32.lib"
|
||||||
|
OutputFile="../zdoomd.exe"
|
||||||
|
LinkIncremental="2"
|
||||||
|
SuppressStartupBanner="true"
|
||||||
|
AdditionalLibraryDirectories=""
|
||||||
|
IgnoreDefaultLibraryNames="libcmt;msvcrtd;msvcrt"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
ProgramDatabaseFile=".\Debug/zdoomd.pdb"
|
||||||
|
SubSystem="2"
|
||||||
|
StackReserveSize="0"
|
||||||
|
TerminalServerAware="2"
|
||||||
|
SetChecksum="false"
|
||||||
|
TargetMachine="0"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebDeploymentTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Release|x64"
|
Name="Release|x64"
|
||||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||||
|
@ -249,112 +355,6 @@
|
||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory=".\Debug"
|
|
||||||
IntermediateDirectory=".\Debug"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
Description="Checking svnrevision.h..."
|
|
||||||
CommandLine="$(OutDir)\updaterevision.exe src src/svnrevision.h"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG"
|
|
||||||
MkTypLibCompatible="true"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
TargetEnvironment="1"
|
|
||||||
TypeLibraryName=".\Debug/zdoom.tlb"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="src\win32;src\sound;src;zlib;src\g_shared;src\g_doom;src\g_raven;src\g_heretic;src\g_hexen;src\g_strife;jpeg-6b;snes_spc\snes_spc"
|
|
||||||
PreprocessorDefinitions="WIN32,_DEBUG,_WIN32,_WINDOWS,USEASM,_CRTDBG_MAP_ALLOC,HAVE_STRUPR,HAVE_FILELENGTH"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
ForceConformanceInForLoopScope="true"
|
|
||||||
PrecompiledHeaderFile=""
|
|
||||||
AssemblerOutput="4"
|
|
||||||
AssemblerListingLocation=".\Debug/"
|
|
||||||
ObjectFile=".\Debug/"
|
|
||||||
ProgramDataBaseFileName=".\Debug/"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
CompileAs="0"
|
|
||||||
DisableSpecificWarnings="4996"
|
|
||||||
ForcedIncludeFiles=""
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG"
|
|
||||||
Culture="1033"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalOptions="/MACHINE:I386"
|
|
||||||
AdditionalDependencies="gdi32.lib user32.lib comctl32.lib shell32.lib advapi32.lib comdlg32.lib ole32.lib dxguid.lib dsound.lib dinput8.lib strmiids.lib wsock32.lib winmm.lib fmodex_vc.lib setupapi.lib ws2_32.lib"
|
|
||||||
OutputFile="../zdoomd.exe"
|
|
||||||
LinkIncremental="2"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
AdditionalLibraryDirectories=""
|
|
||||||
IgnoreDefaultLibraryNames="libcmt;msvcrtd;msvcrt"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
ProgramDatabaseFile=".\Debug/zdoomd.pdb"
|
|
||||||
SubSystem="2"
|
|
||||||
StackReserveSize="0"
|
|
||||||
TerminalServerAware="2"
|
|
||||||
SetChecksum="false"
|
|
||||||
TargetMachine="0"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Debug|x64"
|
Name="Debug|x64"
|
||||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||||
|
@ -875,6 +875,10 @@
|
||||||
RelativePath=".\src\p_xlat.cpp"
|
RelativePath=".\src\p_xlat.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\parsecontext.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\src\po_man.cpp"
|
RelativePath=".\src\po_man.cpp"
|
||||||
>
|
>
|
||||||
|
@ -920,16 +924,6 @@
|
||||||
Outputs=""src/$(InputName).h""
|
Outputs=""src/$(InputName).h""
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|x64"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
Description="Creating $(InputName).h from src/$(InputFileName)"
|
|
||||||
CommandLine="tools\re2c\re2c -s -o "src/$(InputName).h" "src/$(InputFileName)"
"
|
|
||||||
Outputs=""src/$(InputName).h""
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Debug|Win32"
|
||||||
>
|
>
|
||||||
|
@ -940,6 +934,16 @@
|
||||||
Outputs=""src/$(InputName).h""
|
Outputs=""src/$(InputName).h""
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|x64"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
Description="Creating $(InputName).h from src/$(InputFileName)"
|
||||||
|
CommandLine="tools\re2c\re2c -s -o "src/$(InputName).h" "src/$(InputFileName)"
"
|
||||||
|
Outputs=""src/$(InputName).h""
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|x64"
|
Name="Debug|x64"
|
||||||
>
|
>
|
||||||
|
@ -1404,6 +1408,10 @@
|
||||||
RelativePath=".\src\p_trace.h"
|
RelativePath=".\src\p_trace.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\parsecontext.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\src\s_playlist.h"
|
RelativePath=".\src\s_playlist.h"
|
||||||
>
|
>
|
||||||
|
@ -1530,16 +1538,6 @@
|
||||||
Outputs="$(IntDir)\$(InputName).obj"
|
Outputs="$(IntDir)\$(InputName).obj"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|x64"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
Description="Assembling $(InputPath)..."
|
|
||||||
CommandLine="nasm -o $(IntDir)\$(InputName).obj -f win32 $(InputPath)
"
|
|
||||||
Outputs="$(IntDir)/$(InputName).obj"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Debug|Win32"
|
||||||
>
|
>
|
||||||
|
@ -1550,6 +1548,16 @@
|
||||||
Outputs="$(IntDir)\$(InputName).obj"
|
Outputs="$(IntDir)\$(InputName).obj"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|x64"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
Description="Assembling $(InputPath)..."
|
||||||
|
CommandLine="nasm -o $(IntDir)\$(InputName).obj -f win32 $(InputPath)
"
|
||||||
|
Outputs="$(IntDir)/$(InputName).obj"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|x64"
|
Name="Debug|x64"
|
||||||
>
|
>
|
||||||
|
@ -1574,16 +1582,6 @@
|
||||||
Outputs="$(IntDir)\$(InputName).obj"
|
Outputs="$(IntDir)\$(InputName).obj"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|x64"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
Description="Assembling $(InputPath)..."
|
|
||||||
CommandLine="nasm -o $(IntDir)\$(InputName).obj -f win32 $(InputPath)
"
|
|
||||||
Outputs="$(IntDir)/$(InputName).obj"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Debug|Win32"
|
||||||
>
|
>
|
||||||
|
@ -1594,6 +1592,16 @@
|
||||||
Outputs="$(IntDir)\$(InputName).obj"
|
Outputs="$(IntDir)\$(InputName).obj"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|x64"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
Description="Assembling $(InputPath)..."
|
||||||
|
CommandLine="nasm -o $(IntDir)\$(InputName).obj -f win32 $(InputPath)
"
|
||||||
|
Outputs="$(IntDir)/$(InputName).obj"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|x64"
|
Name="Debug|x64"
|
||||||
>
|
>
|
||||||
|
@ -1618,16 +1626,6 @@
|
||||||
Outputs="$(IntDir)\$(InputName).obj"
|
Outputs="$(IntDir)\$(InputName).obj"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|x64"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
Description="Assembling $(InputPath)..."
|
|
||||||
CommandLine="nasm -o $(IntDir)\$(InputName).obj -f win32 $(InputPath)
"
|
|
||||||
Outputs="$(IntDir)\$(InputName).obj"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Debug|Win32"
|
||||||
>
|
>
|
||||||
|
@ -1638,6 +1636,16 @@
|
||||||
Outputs="$(IntDir)\$(InputName).obj"
|
Outputs="$(IntDir)\$(InputName).obj"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|x64"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
Description="Assembling $(InputPath)..."
|
||||||
|
CommandLine="nasm -o $(IntDir)\$(InputName).obj -f win32 $(InputPath)
"
|
||||||
|
Outputs="$(IntDir)\$(InputName).obj"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|x64"
|
Name="Debug|x64"
|
||||||
>
|
>
|
||||||
|
@ -1662,16 +1670,6 @@
|
||||||
Outputs="$(IntDir)\$(InputName).obj"
|
Outputs="$(IntDir)\$(InputName).obj"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|x64"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
Description="Assembling $(InputPath)..."
|
|
||||||
CommandLine="nasm -o $(IntDir)\$(InputName).obj -f win32 $(InputPath)
"
|
|
||||||
Outputs="$(IntDir)\$(InputName).obj"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Debug|Win32"
|
||||||
>
|
>
|
||||||
|
@ -1682,6 +1680,16 @@
|
||||||
Outputs="$(IntDir)\$(InputName).obj"
|
Outputs="$(IntDir)\$(InputName).obj"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|x64"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
Description="Assembling $(InputPath)..."
|
||||||
|
CommandLine="nasm -o $(IntDir)\$(InputName).obj -f win32 $(InputPath)
"
|
||||||
|
Outputs="$(IntDir)\$(InputName).obj"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|x64"
|
Name="Debug|x64"
|
||||||
>
|
>
|
||||||
|
@ -1706,16 +1714,6 @@
|
||||||
Outputs="$(IntDir)\$(InputName).obj"
|
Outputs="$(IntDir)\$(InputName).obj"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|x64"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
Description="Assembling $(InputPath)..."
|
|
||||||
CommandLine="nasm -o $(IntDir)\$(InputName).obj -f win32 $(InputPath)
"
|
|
||||||
Outputs="$(IntDir)\$(InputName).obj"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Debug|Win32"
|
||||||
>
|
>
|
||||||
|
@ -1726,6 +1724,16 @@
|
||||||
Outputs="$(IntDir)\$(InputName).obj"
|
Outputs="$(IntDir)\$(InputName).obj"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|x64"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
Description="Assembling $(InputPath)..."
|
||||||
|
CommandLine="nasm -o $(IntDir)\$(InputName).obj -f win32 $(InputPath)
"
|
||||||
|
Outputs="$(IntDir)\$(InputName).obj"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|x64"
|
Name="Debug|x64"
|
||||||
>
|
>
|
||||||
|
@ -1886,14 +1894,6 @@
|
||||||
Outputs="$(IntDir)\$(InputName).obj"
|
Outputs="$(IntDir)\$(InputName).obj"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|x64"
|
|
||||||
ExcludedFromBuild="true"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Debug|Win32"
|
||||||
>
|
>
|
||||||
|
@ -1904,6 +1904,14 @@
|
||||||
Outputs="$(IntDir)\$(InputName).obj"
|
Outputs="$(IntDir)\$(InputName).obj"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|x64"
|
||||||
|
ExcludedFromBuild="true"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|x64"
|
Name="Debug|x64"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
|
@ -2753,14 +2761,6 @@
|
||||||
AdditionalIncludeDirectories="src\win32;$(NoInherit)"
|
AdditionalIncludeDirectories="src\win32;$(NoInherit)"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|x64"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
AdditionalIncludeDirectories="src\win32;$(NoInherit)"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Debug|Win32"
|
||||||
>
|
>
|
||||||
|
@ -2770,6 +2770,14 @@
|
||||||
AdditionalIncludeDirectories="src\win32;$(NoInherit)"
|
AdditionalIncludeDirectories="src\win32;$(NoInherit)"
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|x64"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
AdditionalIncludeDirectories="src\win32;$(NoInherit)"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|x64"
|
Name="Debug|x64"
|
||||||
>
|
>
|
||||||
|
@ -2928,7 +2936,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Release|x64"
|
Name="Debug|Win32"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -2936,7 +2944,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Release|x64"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -2964,7 +2972,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Release|x64"
|
Name="Debug|Win32"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -2972,7 +2980,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Release|x64"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3001,7 +3009,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Release|x64"
|
Name="Debug|Win32"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3010,7 +3018,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Release|x64"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3040,7 +3048,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Release|x64"
|
Name="Debug|Win32"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3048,7 +3056,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Release|x64"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3077,7 +3085,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Release|x64"
|
Name="Debug|Win32"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3086,7 +3094,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Release|x64"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3117,7 +3125,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Release|x64"
|
Name="Debug|Win32"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3126,7 +3134,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Release|x64"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3156,7 +3164,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Release|x64"
|
Name="Debug|Win32"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3164,7 +3172,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Release|x64"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3193,7 +3201,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Release|x64"
|
Name="Debug|Win32"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3202,7 +3210,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Release|x64"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3233,7 +3241,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Release|x64"
|
Name="Debug|Win32"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3242,7 +3250,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Release|x64"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3273,7 +3281,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Release|x64"
|
Name="Debug|Win32"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3282,7 +3290,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Release|x64"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3312,7 +3320,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Release|x64"
|
Name="Debug|Win32"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3320,7 +3328,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Release|x64"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3348,7 +3356,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Release|x64"
|
Name="Debug|Win32"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3356,7 +3364,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Release|x64"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3384,7 +3392,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Release|x64"
|
Name="Debug|Win32"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3392,7 +3400,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Release|x64"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3420,7 +3428,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Release|x64"
|
Name="Debug|Win32"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3428,7 +3436,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Release|x64"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3458,7 +3466,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Release|x64"
|
Name="Debug|Win32"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
@ -3468,7 +3476,7 @@
|
||||||
/>
|
/>
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Release|x64"
|
||||||
ExcludedFromBuild="true"
|
ExcludedFromBuild="true"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
|
|
Loading…
Reference in a new issue