mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-25 13:31:37 +00:00
- Fixed: Dehacked string replacement did not check the clusters' finaleflats.
- Changed the definition of several typedef'd structs so that they are properly named. - Limited DEHSUPP lump lookup to search zdoom.pk3 only. It will no longer be possible to load DEHSUPP lumps from user WADs. - Brought back the text-based DEHSUPP parser and changed it to be able to reference states by label. Also changed label names of DoomUnusedStates and added proper labels to all states that were previously forced to be the first state of an actor so that the old (limited) method could access them. This was done to address the following bug: - Fixed: The player's death states calling A_PlayerSkinCheck should not be part of the state set that is accessible by Dehacked. These will produce error messages when mapped to non-players. SVN r1512 (trunk)
This commit is contained in:
parent
3ee37fdc08
commit
bf4e17703d
33 changed files with 756 additions and 4988 deletions
|
@ -1,4 +1,20 @@
|
|||
March 27, 2009 (Changes by Graf Zahl)
|
||||
March 28, 2009 (Changes by Graf Zahl)
|
||||
- Fixed: Dehacked string replacement did not check the clusters' finaleflats.
|
||||
- Changed the definition of several typedef'd structs so that they are
|
||||
properly named.
|
||||
- Limited DEHSUPP lump lookup to search zdoom.pk3 only. It will no longer
|
||||
be possible to load DEHSUPP lumps from user WADs.
|
||||
- Brought back the text-based DEHSUPP parser and changed it to be able to
|
||||
reference states by label. Also changed label names of
|
||||
DoomUnusedStates and added proper labels to all states that were
|
||||
previously forced to be the first state of an actor so that the old
|
||||
(limited) method could access them. This was done to address the following
|
||||
bug:
|
||||
- Fixed: The player's death states calling A_PlayerSkinCheck should not be
|
||||
part of the state set that is accessible by Dehacked. These will produce
|
||||
error messages when mapped to non-players.
|
||||
|
||||
March 27, 2009 (Changes by Graf Zahl)
|
||||
- Fixed: Reading the RNG states from a savegame calculated the amounts of
|
||||
RNGs in the savegame wrong.
|
||||
|
||||
|
|
|
@ -200,25 +200,30 @@ CVAR (Color, am_ovthingcolor_item, 0xe88800, CVAR_ARCHIVE);
|
|||
#define CXMTOF(x) (MTOF((x)-m_x)/* - f_x*/)
|
||||
#define CYMTOF(y) (f_h - MTOF((y)-m_y)/* + f_y*/)
|
||||
|
||||
typedef struct {
|
||||
struct fpoint_t
|
||||
{
|
||||
int x, y;
|
||||
} fpoint_t;
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
struct fline_t
|
||||
{
|
||||
fpoint_t a, b;
|
||||
} fline_t;
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
struct mpoint_t
|
||||
{
|
||||
fixed_t x,y;
|
||||
} mpoint_t;
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
struct mline_t
|
||||
{
|
||||
mpoint_t a, b;
|
||||
} mline_t;
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
struct islope_t
|
||||
{
|
||||
fixed_t slp, islp;
|
||||
} islope_t;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -57,7 +57,7 @@
|
|||
//
|
||||
// Network packet data.
|
||||
//
|
||||
typedef struct
|
||||
struct doomcom_t
|
||||
{
|
||||
DWORD id; // should be DOOMCOM_ID
|
||||
SWORD intnum; // DOOM executes an int to execute commands
|
||||
|
@ -86,7 +86,7 @@ typedef struct
|
|||
// packet data to be sent
|
||||
BYTE data[MAX_MSGLEN];
|
||||
|
||||
} doomcom_t;
|
||||
};
|
||||
|
||||
|
||||
class FDynamicBuffer
|
||||
|
|
|
@ -64,7 +64,7 @@ struct zdemoheader_s {
|
|||
BYTE consoleplayer;
|
||||
};
|
||||
|
||||
struct usercmd_s
|
||||
struct usercmd_t
|
||||
{
|
||||
DWORD buttons;
|
||||
short pitch; // up/down
|
||||
|
@ -74,7 +74,6 @@ struct usercmd_s
|
|||
short sidemove;
|
||||
short upmove;
|
||||
};
|
||||
typedef struct usercmd_s usercmd_t;
|
||||
|
||||
class FArchive;
|
||||
|
||||
|
|
|
@ -460,13 +460,13 @@ void F_TextWrite (void)
|
|||
// Casting by id Software.
|
||||
// in order of appearance
|
||||
//
|
||||
typedef struct
|
||||
struct castinfo_t
|
||||
{
|
||||
const char *name;
|
||||
const char *type;
|
||||
const AActor *info;
|
||||
const PClass *Class;
|
||||
} castinfo_t;
|
||||
};
|
||||
|
||||
castinfo_t castorder[] =
|
||||
{
|
||||
|
|
17
src/m_menu.h
17
src/m_menu.h
|
@ -116,7 +116,8 @@ typedef enum {
|
|||
|
||||
struct GUIDName;
|
||||
|
||||
typedef struct menuitem_s {
|
||||
struct menuitem_t
|
||||
{
|
||||
itemtype type;
|
||||
const char *label;
|
||||
union {
|
||||
|
@ -159,7 +160,7 @@ typedef struct menuitem_s {
|
|||
int highlight;
|
||||
int flagmask;
|
||||
} e;
|
||||
} menuitem_t;
|
||||
};
|
||||
|
||||
struct menu_t {
|
||||
const char *texttitle;
|
||||
|
@ -190,7 +191,7 @@ struct valueenum_t {
|
|||
const char *name; // Name on menu
|
||||
};
|
||||
|
||||
typedef struct
|
||||
struct oldmenuitem_t
|
||||
{
|
||||
// -1 = no cursor here, 1 = ok, 2 = arrows ok
|
||||
SBYTE status;
|
||||
|
@ -206,9 +207,9 @@ typedef struct
|
|||
// choice=0:leftarrow,1:rightarrow
|
||||
void (*routine)(int choice);
|
||||
int textcolor;
|
||||
} oldmenuitem_t;
|
||||
};
|
||||
|
||||
typedef struct oldmenu_s
|
||||
struct oldmenu_t
|
||||
{
|
||||
short numitems; // # of menu items
|
||||
oldmenuitem_t *menuitems; // menu items
|
||||
|
@ -216,9 +217,9 @@ typedef struct oldmenu_s
|
|||
short x;
|
||||
short y; // x,y of menu
|
||||
short lastOn; // last item user was on in menu
|
||||
} oldmenu_t;
|
||||
};
|
||||
|
||||
typedef struct
|
||||
struct menustack_t
|
||||
{
|
||||
union {
|
||||
menu_t *newmenu;
|
||||
|
@ -226,7 +227,7 @@ typedef struct
|
|||
} menu;
|
||||
bool isNewStyle;
|
||||
bool drawSkull;
|
||||
} menustack_t;
|
||||
};
|
||||
|
||||
extern value_t YesNo[2];
|
||||
extern value_t NoYes[2];
|
||||
|
|
|
@ -401,7 +401,7 @@ void M_LoadDefaults ()
|
|||
//
|
||||
|
||||
|
||||
typedef struct
|
||||
struct pcx_t
|
||||
{
|
||||
char manufacturer;
|
||||
char version;
|
||||
|
@ -424,7 +424,7 @@ typedef struct
|
|||
unsigned short palette_type;
|
||||
|
||||
char filler[58];
|
||||
} pcx_t;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
// bits 9-15: reserved
|
||||
|
||||
//40 bytes
|
||||
typedef struct
|
||||
struct sectortype
|
||||
{
|
||||
SWORD wallptr, wallnum;
|
||||
SDWORD ceilingz, floorz;
|
||||
|
@ -54,7 +54,7 @@ typedef struct
|
|||
BYTE floorpal, floorxpanning, floorypanning;
|
||||
BYTE visibility, filler;
|
||||
SWORD lotag, hitag, extra;
|
||||
} sectortype;
|
||||
};
|
||||
|
||||
//cstat:
|
||||
// bit 0: 1 = Blocking wall (use with clipmove, getzrange) "B"
|
||||
|
@ -70,7 +70,7 @@ typedef struct
|
|||
// bits 10-15: reserved
|
||||
|
||||
//32 bytes
|
||||
typedef struct
|
||||
struct walltype
|
||||
{
|
||||
SDWORD x, y;
|
||||
SWORD point2, nextwall, nextsector, cstat;
|
||||
|
@ -78,7 +78,7 @@ typedef struct
|
|||
SBYTE shade;
|
||||
BYTE pal, xrepeat, yrepeat, xpanning, ypanning;
|
||||
SWORD lotag, hitag, extra;
|
||||
} walltype;
|
||||
};
|
||||
|
||||
//cstat:
|
||||
// bit 0: 1 = Blocking sprite (use with clipmove, getzrange) "B"
|
||||
|
@ -96,7 +96,7 @@ typedef struct
|
|||
// bit 15: 1 = Invisible sprite, 0 = not invisible
|
||||
|
||||
//44 bytes
|
||||
typedef struct
|
||||
struct spritetype
|
||||
{
|
||||
SDWORD x, y, z;
|
||||
SWORD cstat, picnum;
|
||||
|
@ -107,7 +107,7 @@ typedef struct
|
|||
SWORD sectnum, statnum;
|
||||
SWORD ang, owner, xvel, yvel, zvel;
|
||||
SWORD lotag, hitag, extra;
|
||||
} spritetype;
|
||||
};
|
||||
|
||||
struct SlopeWork
|
||||
{
|
||||
|
|
|
@ -150,16 +150,16 @@ void P_NoiseAlert (AActor* target, AActor* emmiter, bool splash);
|
|||
//
|
||||
// P_MAPUTL
|
||||
//
|
||||
typedef struct
|
||||
struct divline_t
|
||||
{
|
||||
fixed_t x;
|
||||
fixed_t y;
|
||||
fixed_t dx;
|
||||
fixed_t dy;
|
||||
|
||||
} divline_t;
|
||||
};
|
||||
|
||||
typedef struct
|
||||
struct intercept_t
|
||||
{
|
||||
fixed_t frac; // along trace line
|
||||
bool isaline;
|
||||
|
@ -168,7 +168,7 @@ typedef struct
|
|||
AActor *thing;
|
||||
line_t *line;
|
||||
} d;
|
||||
} intercept_t;
|
||||
};
|
||||
|
||||
typedef bool (*traverser_t) (intercept_t *in);
|
||||
|
||||
|
@ -470,14 +470,14 @@ bool EV_OpenPolyDoor (line_t *line, int polyNum, int speed, angle_t angle, int d
|
|||
|
||||
// [RH] Data structure for P_SpawnMapThing() to keep track
|
||||
// of polyobject-related things.
|
||||
typedef struct polyspawns_s
|
||||
struct polyspawns_t
|
||||
{
|
||||
struct polyspawns_s *next;
|
||||
polyspawns_t *next;
|
||||
fixed_t x;
|
||||
fixed_t y;
|
||||
short angle;
|
||||
short type;
|
||||
} polyspawns_t;
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
|
|
|
@ -62,14 +62,14 @@ inline FArchive &operator<< (FArchive &arc, psprnum_t &i)
|
|||
}
|
||||
*/
|
||||
|
||||
typedef struct pspdef_s
|
||||
struct pspdef_t
|
||||
{
|
||||
FState* state; // a NULL state means not active
|
||||
int tics;
|
||||
fixed_t sx;
|
||||
fixed_t sy;
|
||||
|
||||
} pspdef_t;
|
||||
};
|
||||
|
||||
class FArchive;
|
||||
|
||||
|
|
|
@ -139,9 +139,10 @@ void R_ClearDrawSegs (void)
|
|||
// should use it, since smaller arrays fit better in cache.
|
||||
//
|
||||
|
||||
typedef struct {
|
||||
struct cliprange_t
|
||||
{
|
||||
short first, last; // killough
|
||||
} cliprange_t;
|
||||
};
|
||||
|
||||
|
||||
// newend is one past the last valid seg
|
||||
|
|
|
@ -89,10 +89,11 @@ typedef enum
|
|||
SS_CMD_END
|
||||
} sscmds_t;
|
||||
|
||||
typedef struct {
|
||||
struct hexenseq_t
|
||||
{
|
||||
ENamedName Name;
|
||||
BYTE Seqs[4];
|
||||
} hexenseq_t;
|
||||
};
|
||||
|
||||
class DSeqActorNode : public DSeqNode
|
||||
{
|
||||
|
|
|
@ -130,12 +130,12 @@ unsigned int I_MSTime (void);
|
|||
|
||||
// Directory searching routines
|
||||
|
||||
typedef struct
|
||||
struct findstate_t
|
||||
{
|
||||
int count;
|
||||
struct dirent **namelist;
|
||||
int current;
|
||||
} findstate_t;
|
||||
};
|
||||
|
||||
void *I_FindFirst (const char *filespec, findstate_t *fileinfo);
|
||||
int I_FindNext (void *handle, findstate_t *fileinfo);
|
||||
|
|
|
@ -123,10 +123,10 @@ typedef enum
|
|||
|
||||
} animenum_t;
|
||||
|
||||
typedef struct
|
||||
struct yahpt_t
|
||||
{
|
||||
int x, y;
|
||||
} yahpt_t;
|
||||
};
|
||||
|
||||
struct lnode_t
|
||||
{
|
||||
|
@ -146,7 +146,7 @@ struct lnode_t
|
|||
//
|
||||
|
||||
#define MAX_ANIMATION_FRAMES 20
|
||||
typedef struct
|
||||
struct in_anim_t
|
||||
{
|
||||
int type; // Made an int so I can use '|'
|
||||
int period; // period in tics between animations
|
||||
|
@ -162,7 +162,7 @@ typedef struct
|
|||
|
||||
char levelname[9];
|
||||
char levelname2[9];
|
||||
} in_anim_t;
|
||||
};
|
||||
|
||||
static TArray<lnode_t> lnodes;
|
||||
static TArray<in_anim_t> anims;
|
||||
|
|
|
@ -6,5 +6,4 @@ if( WIN32 )
|
|||
add_subdirectory( fixrtext )
|
||||
endif( WIN32 )
|
||||
add_subdirectory( updaterevision )
|
||||
add_subdirectory( dehsupp )
|
||||
add_subdirectory( zipdir )
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
cmake_minimum_required( VERSION 2.4 )
|
||||
include( CheckFunctionExists )
|
||||
|
||||
set( CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG" )
|
||||
|
||||
add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/parse.h ${CMAKE_CURRENT_BINARY_DIR}/parse.c
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/parse.y ${CMAKE_CURRENT_BINARY_DIR}
|
||||
COMMAND ${CMAKE_BINARY_DIR}/tools/lemon/lemon parse.y
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
DEPENDS lemon parse.y )
|
||||
|
||||
add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/scanner.c
|
||||
COMMAND ${CMAKE_BINARY_DIR}/tools/re2c/re2c -s -o ${CMAKE_CURRENT_BINARY_DIR}/scanner.c ${CMAKE_CURRENT_SOURCE_DIR}/scanner.re
|
||||
DEPENDS re2c scanner.re )
|
||||
|
||||
include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} )
|
||||
|
||||
CHECK_FUNCTION_EXISTS( stricmp STRICMP_EXISTS )
|
||||
if( NOT STRICMP_EXISTS )
|
||||
add_definitions( -Dstricmp=strcasecmp )
|
||||
endif( NOT STRICMP_EXISTS )
|
||||
|
||||
add_executable( dehsupp dehsupp.c parse.c scanner.c )
|
||||
add_dependencies( dehsupp ${CMAKE_CURRENT_BINARY_DIR}/parse.c ${CMAKE_CURRENT_BINARY_DIR}/scanner.c )
|
|
@ -1,571 +0,0 @@
|
|||
#include <malloc.h>
|
||||
#include <stdlib.h>
|
||||
#include <search.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
#include "dehsupp.h"
|
||||
|
||||
FILE *Source, *Dest;
|
||||
int SourceLine;
|
||||
int ErrorCount;
|
||||
|
||||
struct StringList *NameList, **NameListLast = &NameList;
|
||||
int NameCount;
|
||||
|
||||
name *ActionsList;
|
||||
unsigned char *HeightsArray;
|
||||
unsigned char *ActionMap;
|
||||
unsigned short *CodePMap;
|
||||
char *SpriteNames;
|
||||
struct StateMapE *StateMaps;
|
||||
name *SoundMaps;
|
||||
name *InfoNamesArray;
|
||||
struct ThingBitsE *ThingBitsMap;
|
||||
struct RenderStylesE *RenderStylesMap;
|
||||
|
||||
int ActionsListSize, MaxActionsListSize;
|
||||
int HeightsSize, MaxHeightsSize;
|
||||
int ActionMapSize, MaxActionMapSize;
|
||||
int CodePMapSize, MaxCodePMapSize;
|
||||
int SpriteNamesSize, MaxSpriteNamesSize;
|
||||
int StateMapsSize, MaxStateMapsSize;
|
||||
int SoundMapsSize, MaxSoundMapsSize;
|
||||
int InfoNamesSize, MaxInfoNamesSize;
|
||||
int ThingBitsMapSize, MaxThingBitsMapSize;
|
||||
int RenderStylesSize, MaxRenderStylesSize;
|
||||
|
||||
int main (int argc, char **argv)
|
||||
{
|
||||
if (argc != 3)
|
||||
{
|
||||
printf ("Usage: dehsupp <infile> <outfile>\n");
|
||||
return -1;
|
||||
}
|
||||
Source = fopen (argv[1], "r");
|
||||
if (Source == NULL)
|
||||
{
|
||||
printf ("Could not open %s\n", argv[1]);
|
||||
return -2;
|
||||
}
|
||||
#if !defined(NDEBUG) && 0
|
||||
ParseTrace(fopen("trace.txt", "w"), "");
|
||||
#endif
|
||||
SourceLine = 1;
|
||||
yyparse ();
|
||||
fclose (Source);
|
||||
if (ErrorCount)
|
||||
{
|
||||
printf ("There were %d errors\n", ErrorCount);
|
||||
return -3;
|
||||
}
|
||||
SortNames ();
|
||||
Dest = fopen (argv[2], "wb");
|
||||
if (Dest == NULL)
|
||||
{
|
||||
printf ("Could not open %s\n", argv[2]);
|
||||
return -4;
|
||||
}
|
||||
WriteNameTable ();
|
||||
WriteActions ();
|
||||
WriteCodePConv ();
|
||||
WriteSprites ();
|
||||
WriteSounds ();
|
||||
WriteInfoNames ();
|
||||
WriteStates ();
|
||||
WriteActionMap ();
|
||||
WriteThingBits ();
|
||||
WriteRenderStyles ();
|
||||
WriteHeights ();
|
||||
WriteLabel ("END ");
|
||||
fclose (Dest);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void fail (int code, char *err)
|
||||
{
|
||||
fclose (Dest);
|
||||
printf ("%s\n", err);
|
||||
exit (code);
|
||||
}
|
||||
|
||||
void *ParseAlloc(void *(*mallocProc)(size_t));
|
||||
void Parse(void *yyp, int yymajor, struct Token yyminor);
|
||||
void ParseFree(void *p, void (*freeProc)(void*));
|
||||
|
||||
void yyparse (void)
|
||||
{
|
||||
Scanner scanner = { Source };
|
||||
void *pParser = ParseAlloc (malloc);
|
||||
struct Token token;
|
||||
int tokentype;
|
||||
|
||||
while ((tokentype = lex(&scanner, &token)) != EOI)
|
||||
{
|
||||
SourceLine = scanner.line;
|
||||
Parse (pParser, tokentype, token);
|
||||
}
|
||||
memset (&token, 0, sizeof(token));
|
||||
Parse (pParser, 0, token);
|
||||
ParseFree (pParser, free);
|
||||
}
|
||||
|
||||
name FindName (char *name)
|
||||
{
|
||||
struct StringList *probe = NameList;
|
||||
int count = 0;
|
||||
|
||||
while (probe != NULL)
|
||||
{
|
||||
if (stricmp (probe->String, name) == 0)
|
||||
{
|
||||
return count;
|
||||
}
|
||||
count++;
|
||||
probe = probe->Next;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
name AddName (char *name)
|
||||
{
|
||||
struct StringList *newone;
|
||||
int index = FindName (name);
|
||||
|
||||
if (index != -1)
|
||||
return index;
|
||||
|
||||
newone = malloc (sizeof(*newone) + strlen(name));
|
||||
strcpy (newone->String, name);
|
||||
newone->Next = NULL;
|
||||
*NameListLast = newone;
|
||||
NameListLast = &newone->Next;
|
||||
return NameCount++;
|
||||
}
|
||||
|
||||
int FindAction (char *namei)
|
||||
{
|
||||
int name = FindName (namei);
|
||||
|
||||
if (name != -1)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < ActionsListSize; i++)
|
||||
{
|
||||
if (ActionsList[i] == name)
|
||||
return i;
|
||||
}
|
||||
}
|
||||
printf ("Line %d: Unknown action %s\n", SourceLine, namei);
|
||||
ErrorCount++;
|
||||
return -1;
|
||||
}
|
||||
|
||||
void AddAction (char *name)
|
||||
{
|
||||
int newname = AddName (name);
|
||||
if (ActionsListSize == MaxActionsListSize)
|
||||
{
|
||||
MaxActionsListSize = MaxActionsListSize ? MaxActionsListSize * 2 : 256;
|
||||
ActionsList = realloc (ActionsList, MaxActionsListSize*sizeof(*ActionsList));
|
||||
}
|
||||
ActionsList[ActionsListSize++] = newname;
|
||||
}
|
||||
|
||||
void AddHeight (int h)
|
||||
{
|
||||
if (MaxHeightsSize == HeightsSize)
|
||||
{
|
||||
MaxHeightsSize = MaxHeightsSize ? MaxHeightsSize * 2 : 256;
|
||||
HeightsArray = realloc (HeightsArray, MaxHeightsSize);
|
||||
}
|
||||
HeightsArray[HeightsSize++] = h;
|
||||
}
|
||||
|
||||
void AddActionMap (char *name)
|
||||
{
|
||||
int index = FindAction (name);
|
||||
|
||||
if (index != -1)
|
||||
{
|
||||
if (ActionMapSize == MaxActionMapSize)
|
||||
{
|
||||
MaxActionMapSize = MaxActionMapSize ? MaxActionMapSize * 2 : 256;
|
||||
ActionMap = realloc (ActionMap, MaxActionMapSize*sizeof(*ActionMap));
|
||||
}
|
||||
ActionMap[ActionMapSize++] = index;
|
||||
}
|
||||
}
|
||||
|
||||
void AddCodeP (int codep)
|
||||
{
|
||||
if (CodePMapSize == MaxCodePMapSize)
|
||||
{
|
||||
MaxCodePMapSize = MaxCodePMapSize ? MaxCodePMapSize * 2 : 256;
|
||||
CodePMap = realloc (CodePMap, MaxCodePMapSize*sizeof(*CodePMap));
|
||||
}
|
||||
CodePMap[CodePMapSize++] = codep;
|
||||
}
|
||||
|
||||
void AddSpriteName (char *name)
|
||||
{
|
||||
if (strlen (name) != 4)
|
||||
{
|
||||
printf ("Line %d: Sprite name %s must be 4 characters\n", SourceLine, name);
|
||||
ErrorCount++;
|
||||
return;
|
||||
}
|
||||
if (SpriteNamesSize == MaxSpriteNamesSize)
|
||||
{
|
||||
MaxSpriteNamesSize = MaxSpriteNamesSize ? MaxSpriteNamesSize * 2 : 256*4;
|
||||
SpriteNames = realloc (SpriteNames, MaxSpriteNamesSize*sizeof(*SpriteNames));
|
||||
}
|
||||
SpriteNames[SpriteNamesSize+0] = toupper (name[0]);
|
||||
SpriteNames[SpriteNamesSize+1] = toupper (name[1]);
|
||||
SpriteNames[SpriteNamesSize+2] = toupper (name[2]);
|
||||
SpriteNames[SpriteNamesSize+3] = toupper (name[3]);
|
||||
SpriteNamesSize += 4;
|
||||
}
|
||||
|
||||
void AddSoundMap (char *name)
|
||||
{
|
||||
if (SoundMapsSize == MaxSoundMapsSize)
|
||||
{
|
||||
MaxSoundMapsSize = MaxSoundMapsSize ? MaxSoundMapsSize * 2 : 256;
|
||||
SoundMaps = realloc (SoundMaps, MaxSoundMapsSize*sizeof(*SoundMaps));
|
||||
}
|
||||
SoundMaps[SoundMapsSize++] = AddName (name);
|
||||
}
|
||||
|
||||
void AddInfoName (char *name)
|
||||
{
|
||||
if (InfoNamesSize == MaxInfoNamesSize)
|
||||
{
|
||||
MaxInfoNamesSize = MaxInfoNamesSize ? MaxInfoNamesSize * 2 : 256;
|
||||
InfoNamesArray = realloc (InfoNamesArray, MaxInfoNamesSize*sizeof(*InfoNamesArray));
|
||||
}
|
||||
InfoNamesArray[InfoNamesSize++] = AddName (name);
|
||||
}
|
||||
|
||||
void AddStateMap (char *name, int state, int count)
|
||||
{
|
||||
if (count == 0)
|
||||
{
|
||||
printf ("Line %d: Count is 0. Is this right?\n", SourceLine);
|
||||
return;
|
||||
}
|
||||
if ((unsigned)count > 255)
|
||||
{
|
||||
printf ("Line %d: Count must be in the range 1-255\n", SourceLine);
|
||||
ErrorCount++;
|
||||
}
|
||||
if (StateMapsSize == MaxStateMapsSize)
|
||||
{
|
||||
MaxStateMapsSize = MaxStateMapsSize ? MaxStateMapsSize*2 : 256;
|
||||
StateMaps = realloc (StateMaps, MaxStateMapsSize*sizeof(*StateMaps));
|
||||
}
|
||||
StateMaps[StateMapsSize].Name = AddName (name);
|
||||
StateMaps[StateMapsSize].State = state;
|
||||
StateMaps[StateMapsSize].Count = count;
|
||||
StateMapsSize++;
|
||||
}
|
||||
|
||||
void AddThingBits (char *name, int bitnum, int flagnum)
|
||||
{
|
||||
if ((unsigned)bitnum > 31)
|
||||
{
|
||||
printf ("Line %d: Bit %d must be in the range 0-31\n", SourceLine, bitnum);
|
||||
ErrorCount++;
|
||||
return;
|
||||
}
|
||||
if (MaxThingBitsMapSize == ThingBitsMapSize)
|
||||
{
|
||||
MaxThingBitsMapSize = MaxThingBitsMapSize ? MaxThingBitsMapSize*2 : 128;
|
||||
ThingBitsMap = realloc (ThingBitsMap, MaxThingBitsMapSize*sizeof(*ThingBitsMap));
|
||||
}
|
||||
ThingBitsMap[ThingBitsMapSize].Name = AddName (name);
|
||||
ThingBitsMap[ThingBitsMapSize].BitNum = bitnum;
|
||||
ThingBitsMap[ThingBitsMapSize].FlagNum = flagnum;
|
||||
ThingBitsMapSize++;
|
||||
}
|
||||
|
||||
void AddRenderStyle (char *name, int stylenum)
|
||||
{
|
||||
if ((unsigned)stylenum > 255)
|
||||
{
|
||||
printf ("Line %d: %s must be in the range 0-255\n", SourceLine, name);
|
||||
ErrorCount++;
|
||||
return;
|
||||
}
|
||||
if (MaxRenderStylesSize == RenderStylesSize)
|
||||
{
|
||||
MaxRenderStylesSize = MaxRenderStylesSize ? MaxRenderStylesSize*2 : 16;
|
||||
RenderStylesMap = realloc (RenderStylesMap, MaxRenderStylesSize*sizeof(*RenderStylesMap));
|
||||
}
|
||||
RenderStylesMap[RenderStylesSize].Name = AddName (name);
|
||||
RenderStylesMap[RenderStylesSize].StyleNum = stylenum;
|
||||
RenderStylesSize++;
|
||||
}
|
||||
|
||||
int sortfunc (const void *a, const void *b)
|
||||
{
|
||||
return stricmp (((struct StringSorter *)a)->Entry->String,
|
||||
((struct StringSorter *)b)->Entry->String);
|
||||
}
|
||||
|
||||
void SortNames ()
|
||||
{
|
||||
name *remap = malloc (NameCount * sizeof(*remap));
|
||||
struct StringSorter *sorter = malloc (NameCount * sizeof(*sorter));
|
||||
struct StringList *probe, **prev;
|
||||
int i;
|
||||
|
||||
for (i = 0, probe = NameList; probe != NULL; probe = probe->Next, i++)
|
||||
{
|
||||
sorter[i].OldName = i;
|
||||
sorter[i].Entry = probe;
|
||||
}
|
||||
|
||||
// There are some warnings here, though I have no idea why.
|
||||
qsort (sorter, NameCount, sizeof(*sorter), sortfunc);
|
||||
|
||||
for (i = 0, prev = &NameList; i < NameCount; i++)
|
||||
{
|
||||
*prev = sorter[i].Entry;
|
||||
prev = &sorter[i].Entry->Next;
|
||||
}
|
||||
*prev = NULL;
|
||||
|
||||
for (i = 0; i < NameCount; i++)
|
||||
{
|
||||
remap[sorter[i].OldName] = i;
|
||||
}
|
||||
|
||||
for (i = 0; i < ActionsListSize; i++)
|
||||
{
|
||||
ActionsList[i] = remap[ActionsList[i]];
|
||||
}
|
||||
for (i = 0; i < SoundMapsSize; i++)
|
||||
{
|
||||
SoundMaps[i] = remap[SoundMaps[i]];
|
||||
}
|
||||
for (i = 0; i < InfoNamesSize; i++)
|
||||
{
|
||||
InfoNamesArray[i] = remap[InfoNamesArray[i]];
|
||||
}
|
||||
for (i = 0; i < StateMapsSize; i++)
|
||||
{
|
||||
StateMaps[i].Name = remap[StateMaps[i].Name];
|
||||
}
|
||||
for (i = 0; i < ThingBitsMapSize; i++)
|
||||
{
|
||||
ThingBitsMap[i].Name = remap[ThingBitsMap[i].Name];
|
||||
}
|
||||
for (i = 0; i < RenderStylesSize; i++)
|
||||
{
|
||||
RenderStylesMap[i].Name = remap[RenderStylesMap[i].Name];
|
||||
}
|
||||
}
|
||||
|
||||
int yyerror (char *s)
|
||||
{
|
||||
printf ("Line %d: %s\n", SourceLine, s);
|
||||
ErrorCount++;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void WriteWord (int word)
|
||||
{
|
||||
putc (word >> 8, Dest);
|
||||
putc (word & 255, Dest);
|
||||
}
|
||||
|
||||
void WriteLabel (char *label)
|
||||
{
|
||||
fwrite (label, 1, 4, Dest);
|
||||
}
|
||||
|
||||
void WriteWords (int count, short *array)
|
||||
{
|
||||
int i;
|
||||
|
||||
WriteWord (count);
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
WriteWord (array[i]);
|
||||
}
|
||||
}
|
||||
|
||||
void WriteBytes (int count, unsigned char *array)
|
||||
{
|
||||
WriteWord (count);
|
||||
fwrite (array, 1, count, Dest);
|
||||
}
|
||||
|
||||
void WriteNameTable ()
|
||||
{
|
||||
struct StringList *probe;
|
||||
int i, size;
|
||||
|
||||
WriteLabel ("NAME");
|
||||
// Count the length of each string, including nulls
|
||||
for (probe = NameList, size = 0; probe != NULL; probe = probe->Next)
|
||||
{
|
||||
size += (int)strlen (probe->String) + 1;
|
||||
}
|
||||
|
||||
if (size == 0)
|
||||
{
|
||||
WriteWord (2); // Size of this lump
|
||||
WriteWord (0); // Number of names
|
||||
return;
|
||||
}
|
||||
size += NameCount*2 + 2;
|
||||
if (size >= 65536)
|
||||
{
|
||||
fail (-5, "Name table is larger than 64K");
|
||||
}
|
||||
WriteWord (size); // Size of this lump
|
||||
WriteWord (NameCount); // Number of names
|
||||
|
||||
// Write each name's offset from the first name, which is stored
|
||||
// immediately after this list
|
||||
for (i = size = 0, probe = NameList; i < NameCount; i++, probe = probe->Next)
|
||||
{
|
||||
WriteWord (size);
|
||||
size += (int)strlen (probe->String) + 1;
|
||||
}
|
||||
|
||||
// Write each name's string in order now
|
||||
for (probe = NameList; probe != NULL; probe = probe->Next)
|
||||
{
|
||||
fputs (probe->String, Dest);
|
||||
putc (0, Dest);
|
||||
}
|
||||
}
|
||||
|
||||
typedef struct
|
||||
{
|
||||
name Name;
|
||||
short Num;
|
||||
} NameNum;
|
||||
|
||||
int sortfunc2 (const void *a, const void *b)
|
||||
{
|
||||
return ((NameNum *)a)->Name - ((NameNum *)b)->Name;
|
||||
}
|
||||
|
||||
void WriteActions ()
|
||||
{
|
||||
NameNum *sorter = malloc (ActionsListSize * sizeof(*sorter));
|
||||
int i;
|
||||
|
||||
WriteLabel ("ACTF");
|
||||
WriteWord (ActionsListSize);
|
||||
|
||||
for (i = 0; i < ActionsListSize; i++)
|
||||
{
|
||||
sorter[i].Name = ActionsList[i];
|
||||
sorter[i].Num = i;
|
||||
}
|
||||
// warnings here. ignore.
|
||||
qsort (sorter, ActionsListSize, sizeof(*sorter), sortfunc2);
|
||||
for (i = 0; i < ActionsListSize; i++)
|
||||
{
|
||||
WriteWord (sorter[i].Name);
|
||||
WriteWord (sorter[i].Num);
|
||||
}
|
||||
free (sorter);
|
||||
}
|
||||
|
||||
void WriteActionMap ()
|
||||
{
|
||||
WriteLabel ("ACTM");
|
||||
WriteBytes (ActionMapSize, ActionMap);
|
||||
}
|
||||
|
||||
void WriteHeights ()
|
||||
{
|
||||
WriteLabel ("HIGH");
|
||||
WriteBytes (HeightsSize, HeightsArray);
|
||||
}
|
||||
|
||||
void WriteCodePConv ()
|
||||
{
|
||||
WriteLabel ("CODP");
|
||||
WriteWords (CodePMapSize, (short *)CodePMap);
|
||||
}
|
||||
|
||||
void WriteSprites ()
|
||||
{
|
||||
WriteLabel ("SPRN");
|
||||
WriteWord (SpriteNamesSize / 4);
|
||||
fwrite (SpriteNames, SpriteNamesSize, 1, Dest);
|
||||
}
|
||||
|
||||
void WriteStates ()
|
||||
{
|
||||
int i;
|
||||
|
||||
WriteLabel ("STAT");
|
||||
WriteWord (StateMapsSize);
|
||||
for (i = 0; i < StateMapsSize; i++)
|
||||
{
|
||||
WriteWord (StateMaps[i].Name);
|
||||
putc (StateMaps[i].State, Dest);
|
||||
putc (StateMaps[i].Count, Dest);
|
||||
}
|
||||
}
|
||||
|
||||
void WriteSounds ()
|
||||
{
|
||||
WriteLabel ("SND ");
|
||||
WriteWords (SoundMapsSize, SoundMaps);
|
||||
}
|
||||
|
||||
void WriteInfoNames ()
|
||||
{
|
||||
WriteLabel ("INFN");
|
||||
WriteWords (InfoNamesSize, InfoNamesArray);
|
||||
}
|
||||
|
||||
int sortfunc3 (const void *a, const void *b)
|
||||
{
|
||||
return ((struct ThingBitsE *)a)->Name - ((struct ThingBitsE *)b)->Name;
|
||||
}
|
||||
|
||||
void WriteThingBits ()
|
||||
{
|
||||
int i;
|
||||
|
||||
WriteLabel ("TBIT");
|
||||
WriteWord (ThingBitsMapSize);
|
||||
// warnings here; ignore them
|
||||
qsort (ThingBitsMap, ThingBitsMapSize, sizeof(*ThingBitsMap), sortfunc3);
|
||||
for (i = 0; i < ThingBitsMapSize; i++)
|
||||
{
|
||||
WriteWord (ThingBitsMap[i].Name);
|
||||
putc (ThingBitsMap[i].BitNum | (ThingBitsMap[i].FlagNum<<5), Dest);
|
||||
}
|
||||
}
|
||||
|
||||
int sortfunc4 (const void *a, const void *b)
|
||||
{
|
||||
return ((struct RenderStylesE *)a)->Name - ((struct RenderStylesE *)b)->Name;
|
||||
}
|
||||
|
||||
void WriteRenderStyles ()
|
||||
{
|
||||
int i;
|
||||
|
||||
WriteLabel ("REND");
|
||||
WriteWord (RenderStylesSize);
|
||||
// More warnings; ignore
|
||||
qsort (RenderStylesMap, RenderStylesSize, sizeof(*RenderStylesMap), sortfunc4);
|
||||
for (i = 0; i < RenderStylesSize; i++)
|
||||
{
|
||||
WriteWord (RenderStylesMap[i].Name);
|
||||
putc (RenderStylesMap[i].StyleNum, Dest);
|
||||
}
|
||||
}
|
|
@ -1,124 +0,0 @@
|
|||
#include <stdio.h>
|
||||
#include "parse.h"
|
||||
|
||||
typedef enum { false, true } bool;
|
||||
typedef short name;
|
||||
typedef unsigned char uchar;
|
||||
typedef unsigned int uint;
|
||||
|
||||
typedef struct Scanner {
|
||||
FILE *fd;
|
||||
uchar *bot, *tok, *ptr, *cur, *pos, *lim, *top, *eof;
|
||||
uint line;
|
||||
} Scanner;
|
||||
|
||||
struct Token
|
||||
{
|
||||
int val;
|
||||
char *string;
|
||||
};
|
||||
|
||||
int lex(Scanner *s, struct Token *tok);
|
||||
|
||||
int yyerror (char *s);
|
||||
void yyparse (void);
|
||||
|
||||
extern FILE *Source, *Dest;
|
||||
extern int SourceLine;
|
||||
extern int ErrorCount;
|
||||
|
||||
|
||||
void WriteWord (int word);
|
||||
void WriteLabel (char *label);
|
||||
void WriteWords (int count, short *array);
|
||||
void WriteBytes (int count, unsigned char *array);
|
||||
|
||||
void WriteNameTable ();
|
||||
|
||||
void WriteActions ();
|
||||
void WriteActionMap ();
|
||||
void WriteHeights ();
|
||||
void WriteCodePConv ();
|
||||
void WriteSprites ();
|
||||
void WriteStates ();
|
||||
void WriteSounds ();
|
||||
void WriteInfoNames ();
|
||||
void WriteThingBits ();
|
||||
void WriteRenderStyles ();
|
||||
|
||||
|
||||
struct StringList
|
||||
{
|
||||
struct StringList *Next;
|
||||
char String[1];
|
||||
};
|
||||
|
||||
struct StringSorter
|
||||
{
|
||||
name OldName;
|
||||
struct StringList *Entry;
|
||||
};
|
||||
|
||||
extern struct StringList *NameList, **NameListLast;
|
||||
extern int NameCount;
|
||||
|
||||
name AddName (char *name);
|
||||
name FindName (char *name);
|
||||
|
||||
void SortNames ();
|
||||
|
||||
struct StateMapE
|
||||
{
|
||||
name Name;
|
||||
unsigned char State;
|
||||
unsigned char Count;
|
||||
};
|
||||
|
||||
struct ThingBitsE
|
||||
{
|
||||
name Name;
|
||||
unsigned char BitNum;
|
||||
unsigned char FlagNum;
|
||||
};
|
||||
|
||||
struct RenderStylesE
|
||||
{
|
||||
name Name;
|
||||
unsigned char StyleNum;
|
||||
};
|
||||
|
||||
void AddAction (char *name);
|
||||
int FindAction (char *name);
|
||||
|
||||
extern name *ActionsList;
|
||||
extern unsigned char *HeightsArray;
|
||||
extern unsigned char *ActionMap;
|
||||
extern unsigned short *CodePMap;
|
||||
extern char *SpriteNames;
|
||||
extern struct StateMapE *StateMaps;
|
||||
extern name *SoundMaps;
|
||||
extern name *InfoNamesArray;
|
||||
extern struct ThingBitsE *ThingBitsMap;
|
||||
extern struct RenderStylesE *RenderStylesMap;
|
||||
|
||||
extern int ActionsListSize, MaxActionsListSize;
|
||||
extern int HeightsSize, MaxHeightsSize;
|
||||
extern int ActionMapSize, MaxActionMapSize;
|
||||
extern int CodePMapSize, MaxCodePMapSize;
|
||||
extern int SpriteNamesSize, MaxSpriteNamesSize;
|
||||
extern int StateMapsSize, MaxStateMapsSize;
|
||||
extern int SoundMapsSize, MaxSoundMapsSize;
|
||||
extern int InfoNamesSize, MaxInfoNamesSize;
|
||||
extern int ThingBitsMapSize, MaxThingBitsMapSize;
|
||||
extern int RenderStylesSize, MaxRenderStylesSize;
|
||||
|
||||
void AddHeight (int h);
|
||||
void AddActionMap (char *name);
|
||||
void AddCodeP (int codep);
|
||||
void AddSpriteName (char *name);
|
||||
void AddStateMap (char *name, int type, int count);
|
||||
void AddSoundMap (char *sound);
|
||||
void AddInfoName (char *sound);
|
||||
void AddThingBits (char *name, int bitnum, int flagnum);
|
||||
void AddRenderStyle (char *name, int stylenum);
|
||||
|
|
@ -1,469 +0,0 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="dehsupp"
|
||||
ProjectGUID="{AC64EE8F-F019-4A3E-BCAF-BD1FD072B9C8}"
|
||||
RootNamespace="dehsupp"
|
||||
Keyword="Win32Proj"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="Debug"
|
||||
IntermediateDirectory="Debug"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;__STDC__=0"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="4"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)/dehsupp.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)/dehsupp.pdb"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="copy "$(TargetPath)" "$(ProjectDir)\$(TargetFileName)""
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)/dehsupp.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)/dehsupp.pdb"
|
||||
SubSystem="1"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="copy "$(TargetPath)" "$(ProjectDir)\$(TargetFileName)""
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="Release"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="1"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)/dehsupp.exe"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="copy "$(TargetPath)" "$(ProjectDir)\$(TargetFileName)""
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="1"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)/dehsupp.exe"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="copy "$(TargetPath)" "$(ProjectDir)\$(TargetFileName)""
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<File
|
||||
RelativePath=".\CMakeLists.txt"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\dehsupp.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\dehsupp.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\parse.c"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
ObjectFile="$(IntDir)\$(InputName)1.obj"
|
||||
XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\parse.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\parse.y"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Creating parse.c from parse.y"
|
||||
CommandLine="..\lemon\lemon.exe -s "$(InputFileName)"
"
|
||||
Outputs="$(InputDir)parse.c;$(InputDir)parse.h"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Creating parse.c from parse.y"
|
||||
CommandLine="..\lemon\lemon.exe -s "$(InputFileName)"
"
|
||||
Outputs="$(InputDir)parse.c"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Creating parse.c from parse.y"
|
||||
CommandLine="..\lemon\lemon.exe -s "$(InputFileName)"
"
|
||||
Outputs="$(InputDir)parse.c;$(InputDir)parse.h"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Creating parse.c from parse.y"
|
||||
CommandLine="..\lemon\lemon.exe -s "$(InputFileName)"
"
|
||||
Outputs="$(InputDir)parse.c"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\scanner.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\scanner.re"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Creating scanner.c from scanner.re"
|
||||
CommandLine="..\re2c\re2c -s --no-generation-date -o "scanner.c" "$(InputFileName)"
"
|
||||
Outputs="$(InputDir)scanner.c"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Creating scanner.c from scanner.re"
|
||||
CommandLine="..\re2c\re2c -s -o "scanner.c" "$(InputFileName)"
"
|
||||
Outputs="$(InputDir)scanner.c"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Creating scanner.c from scanner.re"
|
||||
CommandLine="..\re2c\re2c -s --no-generation-date -o "scanner.c" "$(InputFileName)"
"
|
||||
Outputs="$(InputDir)scanner.c"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Creating scanner.c from scanner.re"
|
||||
CommandLine="..\re2c\re2c -s -o "scanner.c" "$(InputFileName)"
"
|
||||
Outputs="$(InputDir)scanner.c"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
File diff suppressed because it is too large
Load diff
|
@ -1,33 +0,0 @@
|
|||
#define OR 1
|
||||
#define XOR 2
|
||||
#define AND 3
|
||||
#define MINUS 4
|
||||
#define PLUS 5
|
||||
#define MULTIPLY 6
|
||||
#define DIVIDE 7
|
||||
#define NEG 8
|
||||
#define EOI 9
|
||||
#define PRINT 10
|
||||
#define LPAREN 11
|
||||
#define RPAREN 12
|
||||
#define COMMA 13
|
||||
#define STRING 14
|
||||
#define ENDL 15
|
||||
#define NUM 16
|
||||
#define Actions 17
|
||||
#define LBRACE 18
|
||||
#define RBRACE 19
|
||||
#define SEMICOLON 20
|
||||
#define SYM 21
|
||||
#define OrgHeights 22
|
||||
#define ActionList 23
|
||||
#define CodePConv 24
|
||||
#define OrgSprNames 25
|
||||
#define StateMap 26
|
||||
#define FirstState 27
|
||||
#define SpawnState 28
|
||||
#define DeathState 29
|
||||
#define SoundMap 30
|
||||
#define InfoNames 31
|
||||
#define ThingBits 32
|
||||
#define RenderStyles 33
|
|
@ -1,152 +0,0 @@
|
|||
%include{
|
||||
#include <malloc.h>
|
||||
#include "dehsupp.h"
|
||||
}
|
||||
|
||||
%token_type {struct Token}
|
||||
|
||||
%syntax_error { yyerror("Syntax error"); }
|
||||
|
||||
%token_destructor { if ($$.string) free($$.string); }
|
||||
|
||||
%left OR.
|
||||
%left XOR.
|
||||
%left AND.
|
||||
%left MINUS PLUS.
|
||||
%left MULTIPLY DIVIDE.
|
||||
%left NEG.
|
||||
|
||||
%left EOI.
|
||||
|
||||
main ::= translation_unit.
|
||||
|
||||
translation_unit ::= . /* empty */
|
||||
translation_unit ::= translation_unit external_declaration.
|
||||
|
||||
external_declaration ::= print_statement.
|
||||
external_declaration ::= actions_def.
|
||||
external_declaration ::= org_heights_def.
|
||||
external_declaration ::= action_list_def.
|
||||
external_declaration ::= codep_conv_def.
|
||||
external_declaration ::= org_spr_names_def.
|
||||
external_declaration ::= state_map_def.
|
||||
external_declaration ::= sound_map_def.
|
||||
external_declaration ::= info_names_def.
|
||||
external_declaration ::= thing_bits_def.
|
||||
external_declaration ::= render_styles_def.
|
||||
|
||||
print_statement ::= PRINT LPAREN print_list RPAREN.
|
||||
{
|
||||
printf ("\n");
|
||||
}
|
||||
|
||||
print_list ::= . /* EMPTY */
|
||||
print_list ::= print_item.
|
||||
print_list ::= print_item COMMA print_list.
|
||||
|
||||
print_item ::= STRING(A). { printf ("%s", A.string); }
|
||||
print_item ::= exp(A). { printf ("%d", A); }
|
||||
print_item ::= ENDL. { printf ("\n"); }
|
||||
|
||||
%type exp {int}
|
||||
exp(A) ::= NUM(B). { A = B.val; }
|
||||
exp(A) ::= exp(B) PLUS exp(C). { A = B + C; }
|
||||
exp(A) ::= exp(B) MINUS exp(C). { A = B - C; }
|
||||
exp(A) ::= exp(B) MULTIPLY exp(C). { A = B * C; }
|
||||
exp(A) ::= exp(B) DIVIDE exp(C). { A = B / C; }
|
||||
exp(A) ::= exp(B) OR exp(C). { A = B | C; }
|
||||
exp(A) ::= exp(B) AND exp(C). { A = B & C; }
|
||||
exp(A) ::= exp(B) XOR exp(C). { A = B ^ C; }
|
||||
exp(A) ::= MINUS exp(B). [NEG] { A = -B; }
|
||||
exp(A) ::= LPAREN exp(B) RPAREN. { A = B; }
|
||||
|
||||
|
||||
actions_def ::= Actions LBRACE actions_list RBRACE SEMICOLON.
|
||||
actions_def ::= Actions LBRACE error RBRACE SEMICOLON.
|
||||
|
||||
actions_list ::= . /* empty */
|
||||
actions_list ::= SYM(A). { AddAction (A.string); }
|
||||
actions_list ::= actions_list COMMA SYM(A). { AddAction (A.string); }
|
||||
|
||||
|
||||
org_heights_def ::= OrgHeights LBRACE org_heights_list RBRACE SEMICOLON.
|
||||
org_heights_def ::= OrgHeights LBRACE error RBRACE SEMICOLON.
|
||||
|
||||
org_heights_list ::= . /* empty */
|
||||
org_heights_list ::= exp(A). { AddHeight (A); }
|
||||
org_heights_list ::= org_heights_list COMMA exp(A). { AddHeight (A); }
|
||||
|
||||
|
||||
action_list_def ::= ActionList LBRACE action_list_list RBRACE SEMICOLON.
|
||||
action_list_def ::= ActionList LBRACE error RBRACE SEMICOLON.
|
||||
|
||||
action_list_list ::= . /* empty */
|
||||
action_list_list ::= SYM(A). { AddActionMap (A.string); }
|
||||
action_list_list ::= action_list_list COMMA SYM(A). { AddActionMap (A.string); }
|
||||
|
||||
|
||||
codep_conv_def ::= CodePConv LBRACE codep_conv_list RBRACE SEMICOLON.
|
||||
codep_conv_def ::= CodePConv LBRACE error RBRACE SEMICOLON.
|
||||
|
||||
codep_conv_list ::= . /* empty */
|
||||
codep_conv_list ::= exp(A). { AddCodeP (A); }
|
||||
codep_conv_list ::= codep_conv_list COMMA exp(A). { AddCodeP (A); }
|
||||
|
||||
|
||||
org_spr_names_def ::= OrgSprNames LBRACE org_spr_names_list RBRACE SEMICOLON.
|
||||
org_spr_names_def ::= OrgSprNames LBRACE error RBRACE SEMICOLON.
|
||||
|
||||
org_spr_names_list ::= . /* empty */
|
||||
org_spr_names_list ::= SYM(A). { AddSpriteName (A.string); }
|
||||
org_spr_names_list ::= org_spr_names_list COMMA SYM(A). { AddSpriteName (A.string); }
|
||||
|
||||
|
||||
state_map_def ::= StateMap LBRACE state_map_list RBRACE SEMICOLON.
|
||||
state_map_def ::= StateMap LBRACE error RBRACE SEMICOLON.
|
||||
|
||||
state_map_list ::= . /* empty */
|
||||
state_map_list ::= state_map_entry.
|
||||
state_map_list ::= state_map_list COMMA state_map_entry.
|
||||
|
||||
state_map_entry ::= SYM(A) COMMA state_type(B) COMMA exp(C). { AddStateMap (A.string, B, C); }
|
||||
|
||||
%type state_type {int}
|
||||
state_type(A) ::= FirstState. { A = 0; }
|
||||
state_type(A) ::= SpawnState. { A = 1; }
|
||||
state_type(A) ::= DeathState. { A = 2; }
|
||||
|
||||
|
||||
sound_map_def ::= SoundMap LBRACE sound_map_list RBRACE SEMICOLON.
|
||||
sound_map_def ::= SoundMap LBRACE error RBRACE SEMICOLON.
|
||||
|
||||
sound_map_list ::= . /* empty */
|
||||
sound_map_list ::= STRING(A). { AddSoundMap (A.string); }
|
||||
sound_map_list ::= sound_map_list COMMA STRING(A). { AddSoundMap (A.string); }
|
||||
|
||||
|
||||
info_names_def ::= InfoNames LBRACE info_names_list RBRACE SEMICOLON.
|
||||
info_names_def ::= InfoNames LBRACE error RBRACE SEMICOLON.
|
||||
|
||||
info_names_list ::= . /* empty */
|
||||
info_names_list ::= SYM(A). { AddInfoName (A.string); }
|
||||
info_names_list ::= info_names_list COMMA SYM(A). { AddInfoName (A.string); }
|
||||
|
||||
|
||||
thing_bits_def ::= ThingBits LBRACE thing_bits_list RBRACE SEMICOLON.
|
||||
thing_bits_def ::= ThingBits LBRACE error RBRACE SEMICOLON.
|
||||
|
||||
thing_bits_list ::= . /* empty */
|
||||
thing_bits_list ::= thing_bits_entry.
|
||||
thing_bits_list ::= thing_bits_list COMMA thing_bits_entry.
|
||||
|
||||
thing_bits_entry ::= exp(A) COMMA exp(B) COMMA SYM(C). { AddThingBits (C.string, A, B); }
|
||||
|
||||
|
||||
render_styles_def ::= RenderStyles LBRACE render_styles_list RBRACE SEMICOLON.
|
||||
render_styles_def ::= RenderStyles LBRACE error RBRACE SEMICOLON.
|
||||
|
||||
render_styles_list ::= . /* empty */
|
||||
render_styles_list ::= render_styles_entry.
|
||||
render_styles_list ::= render_styles_list COMMA render_styles_entry.
|
||||
|
||||
render_styles_entry ::= exp(A) COMMA SYM(B). { AddRenderStyle (B.string, A); }
|
File diff suppressed because it is too large
Load diff
|
@ -1,179 +0,0 @@
|
|||
#include <string.h>
|
||||
#include <malloc.h>
|
||||
#include <stdlib.h>
|
||||
#include "dehsupp.h"
|
||||
|
||||
#define BSIZE 8192
|
||||
|
||||
#define YYCTYPE uchar
|
||||
#define YYCURSOR cursor
|
||||
#define YYLIMIT s->lim
|
||||
#define YYMARKER s->ptr
|
||||
#define YYFILL(n) {cursor = fill(s, cursor);}
|
||||
|
||||
#define RET(i) {s->cur = cursor; return i;}
|
||||
|
||||
uchar *fill(Scanner *s, uchar *cursor)
|
||||
{
|
||||
if(!s->eof)
|
||||
{
|
||||
ptrdiff_t cnt = s->tok - s->bot;
|
||||
if(cnt)
|
||||
{
|
||||
memcpy(s->bot, s->tok, s->lim - s->tok);
|
||||
s->tok = s->bot;
|
||||
s->ptr -= cnt;
|
||||
cursor -= cnt;
|
||||
s->pos -= cnt;
|
||||
s->lim -= cnt;
|
||||
}
|
||||
if((s->top - s->lim) < BSIZE)
|
||||
{
|
||||
uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar));
|
||||
memcpy(buf, s->tok, s->lim - s->tok);
|
||||
s->tok = buf;
|
||||
s->ptr = &buf[s->ptr - s->bot];
|
||||
cursor = &buf[cursor - s->bot];
|
||||
s->pos = &buf[s->pos - s->bot];
|
||||
s->lim = &buf[s->lim - s->bot];
|
||||
s->top = &s->lim[BSIZE];
|
||||
free(s->bot);
|
||||
s->bot = buf;
|
||||
}
|
||||
if((cnt = fread((char*) s->lim, 1, BSIZE, s->fd)) != BSIZE)
|
||||
{
|
||||
s->eof = &s->lim[cnt]; *(s->eof)++ = '\n';
|
||||
}
|
||||
s->lim += cnt;
|
||||
}
|
||||
return cursor;
|
||||
}
|
||||
|
||||
int scan(Scanner *s)
|
||||
{
|
||||
uchar *cursor = s->cur;
|
||||
std:
|
||||
s->tok = cursor;
|
||||
/*!re2c
|
||||
any = [\000-\377];
|
||||
O = [0-7];
|
||||
D = [0-9];
|
||||
L = [a-zA-Z_];
|
||||
H = [a-fA-F0-9];
|
||||
ESC = [\\] ([abfnrtv?'"\\] | "x" H+ | O+);
|
||||
*/
|
||||
|
||||
/*!re2c
|
||||
"/*" { goto comment; } /* C comment */
|
||||
"//" (any\"\n")* "\n" /* C++ comment */
|
||||
{
|
||||
if(cursor == s->eof) RET(EOI);
|
||||
s->tok = s->pos = cursor; s->line++;
|
||||
goto std;
|
||||
}
|
||||
|
||||
"endl" { RET(ENDL); }
|
||||
"print" { RET(PRINT); }
|
||||
"Actions" { RET(Actions); }
|
||||
"OrgHeights" { RET(OrgHeights); }
|
||||
"ActionList" { RET(ActionList); }
|
||||
"CodePConv" { RET(CodePConv); }
|
||||
"OrgSprNames" { RET(OrgSprNames); }
|
||||
"StateMap" { RET(StateMap); }
|
||||
"SoundMap" { RET(SoundMap); }
|
||||
"InfoNames" { RET(InfoNames); }
|
||||
"ThingBits" { RET(ThingBits); }
|
||||
"DeathState" { RET(DeathState); }
|
||||
"SpawnState" { RET(SpawnState); }
|
||||
"FirstState" { RET(FirstState); }
|
||||
"RenderStyles" { RET(RenderStyles); }
|
||||
|
||||
L (L|D)* { RET(SYM); }
|
||||
|
||||
("0" [xX] H+) | ("0" D+) | (D+)
|
||||
{ RET(NUM); }
|
||||
|
||||
(["] (ESC|any\[\n\\"])* ["])
|
||||
{ RET(STRING); }
|
||||
|
||||
[ \t\v\f]+ { goto std; }
|
||||
|
||||
"|" { RET(OR); }
|
||||
"^" { RET(XOR); }
|
||||
"&" { RET(AND); }
|
||||
"-" { RET(MINUS); }
|
||||
"+" { RET(PLUS); }
|
||||
"*" { RET(MULTIPLY); }
|
||||
"/" { RET(DIVIDE); }
|
||||
"(" { RET(LPAREN); }
|
||||
")" { RET(RPAREN); }
|
||||
"," { RET(COMMA); }
|
||||
"{" { RET(LBRACE); }
|
||||
"}" { RET(RBRACE); }
|
||||
";" { RET(SEMICOLON); }
|
||||
|
||||
|
||||
"\n"
|
||||
{
|
||||
if(cursor == s->eof) RET(EOI);
|
||||
s->pos = cursor; s->line++;
|
||||
goto std;
|
||||
}
|
||||
|
||||
any
|
||||
{
|
||||
if (*s->tok != '\r')
|
||||
{
|
||||
printf("unexpected character: %c (%#02x)\n", *s->tok, *s->tok);
|
||||
}
|
||||
goto std;
|
||||
}
|
||||
*/
|
||||
|
||||
comment:
|
||||
/*!re2c
|
||||
"*/" { goto std; }
|
||||
"\n"
|
||||
{
|
||||
if(cursor == s->eof) RET(EOI);
|
||||
s->tok = s->pos = cursor; s->line++;
|
||||
goto comment;
|
||||
}
|
||||
any { goto comment; }
|
||||
*/
|
||||
}
|
||||
|
||||
int lex(Scanner *s, struct Token *tok)
|
||||
{
|
||||
int tokentype = scan(s);
|
||||
char *p, *q;
|
||||
|
||||
tok->val = 0;
|
||||
tok->string = NULL;
|
||||
|
||||
switch (tokentype)
|
||||
{
|
||||
case NUM:
|
||||
tok->val = strtol((char *)s->tok, NULL, 0);
|
||||
break;
|
||||
|
||||
case STRING:
|
||||
tok->string = (char *)malloc(s->cur - s->tok - 1);
|
||||
strncpy(tok->string, (char *)s->tok + 1, s->cur - s->tok - 2);
|
||||
tok->string[s->cur - s->tok - 2] = '\0';
|
||||
for (p = q = tok->string; *p; ++p, ++q)
|
||||
{
|
||||
if (p[0] == '\\' && p[1] == '\\')
|
||||
++p;
|
||||
*q = *p;
|
||||
}
|
||||
break;
|
||||
|
||||
case SYM:
|
||||
tok->string = (char *)malloc(s->cur - s->tok + 1);
|
||||
strncpy(tok->string, (char *)s->tok, s->cur - s->tok);
|
||||
tok->string[s->cur - s->tok] = '\0';
|
||||
break;
|
||||
}
|
||||
return tokentype;
|
||||
}
|
|
@ -1,13 +1,9 @@
|
|||
cmake_minimum_required( VERSION 2.4 )
|
||||
|
||||
add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/generated/dehsupp.lmp
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/generated
|
||||
COMMAND ${CMAKE_BINARY_DIR}/tools/dehsupp/dehsupp ${CMAKE_CURRENT_SOURCE_DIR}/sources/dehsupp.txt ${CMAKE_CURRENT_BINARY_DIR}/generated/dehsupp.lmp
|
||||
DEPENDS dehsupp ${CMAKE_CURRENT_SOURCE_DIR}/sources/dehsupp.txt )
|
||||
|
||||
add_custom_command( OUTPUT ${ZDOOM_OUTPUT_DIR}/zdoom.pk3
|
||||
COMMAND ${CMAKE_BINARY_DIR}/tools/zipdir/zipdir -uf ${ZDOOM_OUTPUT_DIR}/zdoom.pk3 ${CMAKE_CURRENT_SOURCE_DIR}/static ${CMAKE_CURRENT_BINARY_DIR}/generated
|
||||
DEPENDS zipdir ${CMAKE_CURRENT_BINARY_DIR}/generated/dehsupp.lmp ${CMAKE_CURRENT_SOURCE_DIR}/static )
|
||||
DEPENDS zipdir ${CMAKE_CURRENT_SOURCE_DIR}/static )
|
||||
|
||||
add_custom_target( pk3 ALL
|
||||
DEPENDS ${ZDOOM_OUTPUT_DIR}/zdoom.pk3 )
|
||||
|
|
Binary file not shown.
|
@ -781,3 +781,20 @@ ACTOR BrainStem 81
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
// Grey stalagmite (unused Doom sprite, definition taken from Skulltag -----
|
||||
|
||||
ACTOR Stalagmite 5050
|
||||
{
|
||||
Game Doom
|
||||
Radius 16
|
||||
Height 48
|
||||
+SOLID
|
||||
States
|
||||
{
|
||||
Spawn:
|
||||
SMT2 A -1
|
||||
Stop
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -69,9 +69,10 @@ ACTOR DoomUnusedStates
|
|||
{
|
||||
States
|
||||
{
|
||||
Label1:
|
||||
SMT2 A -1
|
||||
stop
|
||||
Death:
|
||||
Label2:
|
||||
PLAY N -1
|
||||
stop
|
||||
PLAY S -1
|
||||
|
|
|
@ -44,14 +44,18 @@ ACTOR DoomPlayer : PlayerPawn
|
|||
PLAY G 4 A_Pain
|
||||
Goto Spawn
|
||||
Death:
|
||||
PLAY H 10 A_PlayerSkinCheck("AltSkinDeath")
|
||||
PLAY H 0 A_PlayerSkinCheck("AltSkinDeath")
|
||||
Death1:
|
||||
PLAY H 10
|
||||
PLAY I 10 A_PlayerScream
|
||||
PLAY J 10 A_NoBlocking
|
||||
PLAY KLM 10
|
||||
PLAY N -1
|
||||
Stop
|
||||
XDeath:
|
||||
PLAY O 5 A_PlayerSkinCheck("AltSkinXDeath")
|
||||
PLAY O 0 A_PlayerSkinCheck("AltSkinXDeath")
|
||||
XDeath1:
|
||||
PLAY O 5
|
||||
PLAY P 5 A_XScream
|
||||
PLAY Q 5 A_NoBlocking
|
||||
PLAY RSTUV 5
|
||||
|
|
|
@ -1,107 +1,3 @@
|
|||
Actions
|
||||
{
|
||||
NULL,
|
||||
MonsterRail,
|
||||
FireRailgun,
|
||||
FireRailgunLeft,
|
||||
FireRailgunRight,
|
||||
RailWait,
|
||||
Light0,
|
||||
WeaponReady,
|
||||
Lower,
|
||||
Raise,
|
||||
Punch,
|
||||
ReFire,
|
||||
FirePistol,
|
||||
Light1,
|
||||
FireShotgun,
|
||||
Light2,
|
||||
FireShotgun2,
|
||||
CheckReload,
|
||||
OpenShotgun2,
|
||||
LoadShotgun2,
|
||||
CloseShotgun2,
|
||||
FireCGun,
|
||||
GunFlash,
|
||||
FireMissile,
|
||||
Saw,
|
||||
FirePlasma,
|
||||
BFGsound,
|
||||
FireBFG,
|
||||
BFGSpray,
|
||||
Explode,
|
||||
Pain,
|
||||
PlayerScream,
|
||||
Fall,
|
||||
XScream,
|
||||
Look,
|
||||
Chase,
|
||||
FaceTarget,
|
||||
PosAttack,
|
||||
Scream,
|
||||
SPosAttack,
|
||||
VileChase,
|
||||
VileStart,
|
||||
VileTarget,
|
||||
VileAttack,
|
||||
StartFire,
|
||||
Fire,
|
||||
FireCrackle,
|
||||
Tracer,
|
||||
SkelWhoosh,
|
||||
SkelFist,
|
||||
SkelMissile,
|
||||
FatRaise,
|
||||
FatAttack1,
|
||||
FatAttack2,
|
||||
FatAttack3,
|
||||
BossDeath,
|
||||
CPosAttack,
|
||||
CPosRefire,
|
||||
TroopAttack,
|
||||
SargAttack,
|
||||
HeadAttack,
|
||||
BruisAttack,
|
||||
SkullAttack,
|
||||
Metal,
|
||||
SpidRefire,
|
||||
BabyMetal,
|
||||
BspiAttack,
|
||||
Hoof,
|
||||
CyberAttack,
|
||||
PainAttack,
|
||||
PainDie,
|
||||
KeenDie,
|
||||
BrainPain,
|
||||
BrainScream,
|
||||
BrainDie,
|
||||
BrainAwake,
|
||||
BrainSpit,
|
||||
SpawnSound,
|
||||
SpawnFly,
|
||||
BrainExplode,
|
||||
Die,
|
||||
Detonate,
|
||||
Mushroom,
|
||||
|
||||
// Additional stuff
|
||||
SetFloorClip,
|
||||
UnSetFloorClip,
|
||||
HideThing,
|
||||
UnHideThing,
|
||||
SetInvulnerable,
|
||||
UnSetInvulnerable,
|
||||
SetReflective,
|
||||
UnSetReflective,
|
||||
SetReflectiveInvulnerable,
|
||||
UnSetReflectiveInvulnerable,
|
||||
SetShootable,
|
||||
UnSetShootable,
|
||||
NoGravity,
|
||||
Gravity,
|
||||
LowGravity
|
||||
};
|
||||
|
||||
OrgHeights
|
||||
{
|
||||
56, 56, 56, 56, 16, 56, 8, 16, 64, 8, 56, 56,
|
||||
|
@ -329,140 +225,142 @@ OrgSprNames
|
|||
StateMap
|
||||
{
|
||||
// S_NULL is implicit
|
||||
Weapon, FirstState, 1, // S_LIGHTDONE
|
||||
Fist, FirstState, 8, // S_PUNCH - S_PUNCH5
|
||||
Pistol, FirstState, 8, // S_PISTOL - S_PISTOLFLASH
|
||||
Shotgun, FirstState, 14, // S_SGUN - S_SGUNFLASH2
|
||||
SuperShotgun, FirstState, 17, // S_DSGUN - S_DSGUNFLASH2
|
||||
Chaingun, FirstState, 8, // S_CHAIN - S_CHAINFLASH2
|
||||
RocketLauncher, FirstState, 10, // S_MISSILE - S_MISSILEFLASH4
|
||||
Chainsaw, FirstState, 7, // S_SAW - S_SAW3
|
||||
PlasmaRifle, FirstState, 7, // S_PLASMA - S_PLASMAFLASH2
|
||||
BFG9000, FirstState, 9, // S_BFG - S_BFGFLASH2
|
||||
Blood, FirstState, 3, // S_BLOOD1 - S_BLOOD3
|
||||
BulletPuff, FirstState, 4, // S_PUFF1 - S_PUFF4
|
||||
DoomImpBall, FirstState, 5, // S_TBALL1 - S_TBALLX3
|
||||
CacodemonBall, FirstState, 5, // S_RBALL1 - S_RBALLX3
|
||||
PlasmaBall, FirstState, 7, // S_PLASBALL - S_PLASEXP5
|
||||
Rocket, SpawnState, 1, // S_ROCKET
|
||||
BFGBall, SpawnState, 8, // S_BFGSHOT - S_BFGLAND6
|
||||
BFGExtra, SpawnState, 4, // S_BFGEXP - S_BFGEXP4
|
||||
Rocket, DeathState, 3, // S_EXPLODE1 - S_EXPLODE3
|
||||
TeleportFog, SpawnState, 12, // S_TFOG - S_TFOG10
|
||||
ItemFog, SpawnState, 7, // S_IFOG - S_IFOG5
|
||||
DoomPlayer, FirstState, 25, // S_PLAY - S_PLAY_XDIE9
|
||||
ZombieMan, FirstState, 33, // S_POSS_STND - S_POSS_RAISE4
|
||||
ShotgunGuy, FirstState, 34, // S_SPOS_STND - S_SPOS_RAISE5
|
||||
Archvile, FirstState, 40, // S_VILE_STND - S_VILE_DIE10
|
||||
ArchvileFire, FirstState, 30, // S_FIRE1 - S_FIRE30
|
||||
RevenantTracerSmoke, FirstState, 5, // S_SMOKE1 - S_SMOKE5
|
||||
RevenantTracer, FirstState, 5, // S_TRACER - S_TRACEEXP3
|
||||
Revenant, FirstState, 36, // S_SKEL_STND - S_SKEL_RAISE6
|
||||
FatShot, FirstState, 5, // S_FATSHOT1 - S_FATSHOTX3
|
||||
Fatso, FirstState, 44, // S_FATT_STND - S_FATT_RAISE8
|
||||
ChaingunGuy, FirstState, 36, // S_CPOS_STND - S_CPOS_RAISE7
|
||||
DoomImp, FirstState, 33, // S_TROO_STND - S_TROO_RAISE5
|
||||
Demon, FirstState, 27, // S_SARG_STND - S_SARG_RAISE6
|
||||
Cacodemon, FirstState, 20, // S_HEAD_STND - S_HEAD_RAISE6
|
||||
BaronBall, FirstState, 5, // S_BRBALL1 - S_BRBALLX3
|
||||
BaronOfHell, FirstState, 29, // S_BOSS_STND - S_BOSS_RAISE7
|
||||
HellKnight, FirstState, 29, // S_BOS2_STND - S_BOS2_RAISE7
|
||||
LostSoul, FirstState, 16, // S_SKULL_STND - S_SKULL_DIE6
|
||||
SpiderMastermind, FirstState, 31, // S_SPID_STND - S_SPID_DIE11
|
||||
Arachnotron, FirstState, 35, // S_BSPI_STND - S_BSPI_RAISE7
|
||||
ArachnotronPlasma, FirstState, 7, // S_ARACH_PLAZ - S_ARACH_PLEX5
|
||||
Cyberdemon, FirstState, 27, // S_CYBER_STND - S_CYBER_DIE10
|
||||
PainElemental, FirstState, 25, // S_PAIN_STND - S_PAIN_RAISE6
|
||||
WolfensteinSS, FirstState, 37, // S_SSWV_STND - S_SSWV_RAISE5
|
||||
CommanderKeen, FirstState, 15, // S_KEENSTND - S_KEENPAIN2
|
||||
BossBrain, SpawnState, 6, // S_BRAIN - S_BRAIN_DIE4
|
||||
BossEye, FirstState, 3, // S_BRAINEYE - S_BRAINEYE1
|
||||
SpawnShot, FirstState, 4, // S_SPAWN1 - S_SPAWN4
|
||||
SpawnFire, FirstState, 8, // S_SPAWNFIRE1 - S_SPAWNFIRE8
|
||||
BossBrain, FirstState, 3, // S_BRAINEXPLODE1 - S_BRAINEXPLODE3
|
||||
GreenArmor, FirstState, 2, // S_ARM1 - S_ARM1A
|
||||
BlueArmor, FirstState, 2, // S_ARM2 - S_ARM2A
|
||||
ExplosiveBarrel, FirstState, 7, // S_BAR1 - S_BEXP5
|
||||
BurningBarrel, FirstState, 3, // S_BBAR1 - S_BBAR3
|
||||
HealthBonus, FirstState, 6, // S_BON1 - S_BON1E
|
||||
ArmorBonus, FirstState, 6, // S_BON2 - S_BON2E
|
||||
BlueCard, FirstState, 2, // S_BKEY - S_BKEY2
|
||||
RedCard, FirstState, 2, // S_RKEY - S_RKEY2
|
||||
YellowCard, FirstState, 2, // S_YKEY - S_YKEY2
|
||||
BlueSkull, FirstState, 2, // S_BSKULL - S_BSKULL2
|
||||
RedSkull, FirstState, 2, // S_RSKULL - S_RSKULL2
|
||||
YellowSkull, FirstState, 2, // S_YSKULL - S_YSKULL2
|
||||
Stimpack, FirstState, 1, // S_STIM
|
||||
Medikit, FirstState, 1, // S_MEDI
|
||||
Soulsphere, FirstState, 6, // S_SOUL - S_SOUL6
|
||||
InvulnerabilitySphere, FirstState, 4, // S_PINV - S_PINV4
|
||||
Berserk, FirstState, 1, // S_PSTR
|
||||
BlurSphere, FirstState, 4, // S_PINS - P_PINS4
|
||||
Megasphere, FirstState, 4, // S_MEGA - S_MEGA4
|
||||
RadSuit, FirstState, 1, // S_SUIT
|
||||
Allmap, FirstState, 6, // S_PMAP - S_PMAP6
|
||||
Infrared, FirstState, 2, // S_PVIS - S_PVIS2
|
||||
Clip, FirstState, 1, // S_CLIP
|
||||
ClipBox, FirstState, 1, // S_AMMO
|
||||
RocketAmmo, FirstState, 1, // S_ROCK
|
||||
RocketBox, FirstState, 1, // S_BROK
|
||||
Cell, FirstState, 1, // S_CELL
|
||||
CellPack, FirstState, 1, // S_CELP
|
||||
Shell, FirstState, 1, // S_SHEL
|
||||
ShellBox, FirstState, 1, // S_SBOX
|
||||
Backpack, FirstState, 1, // S_BPAK
|
||||
BFG9000, SpawnState, 1, // S_BFUG
|
||||
Chaingun, SpawnState, 1, // S_MGUN
|
||||
Chainsaw, SpawnState, 1, // S_CSAW
|
||||
RocketLauncher, SpawnState, 1, // S_LAUN
|
||||
PlasmaRifle, SpawnState, 1, // S_PLAS
|
||||
Shotgun, SpawnState, 1, // S_SHOT
|
||||
SuperShotgun, SpawnState, 1, // S_SHOT2
|
||||
Column, FirstState, 1, // S_COLU
|
||||
DoomUnusedStates, FirstState, 1, // S_STALAG
|
||||
BloodyTwitch, FirstState, 4, // S_BLOODYTWITCH - S_BLOODYTWITCH4
|
||||
DoomUnusedStates, DeathState, 2, // S_DEADTORSO - S_DEADBOTTOM
|
||||
HeadsOnAStick, FirstState, 1, // S_HEADSONSTICK
|
||||
RealGibs, FirstState, 1, // S_GIBS
|
||||
HeadOnAStick, FirstState, 1, // S_HEADONASTICK
|
||||
HeadCandles, FirstState, 2, // S_HEADCANDLES - S_HEADCANDLES2
|
||||
DeadStick, FirstState, 1, // S_DEADSTICK
|
||||
LiveStick, FirstState, 2, // S_LIVESTICK
|
||||
Meat2, FirstState, 1, // S_MEAT2
|
||||
Meat3, FirstState, 1, // S_MEAT3
|
||||
Meat4, FirstState, 1, // S_MEAT4
|
||||
Meat5, FirstState, 1, // S_MEAT5
|
||||
Stalagtite, FirstState, 1, // S_STALAGTITE
|
||||
TallGreenColumn, FirstState, 1, // S_TALLGRNCOL
|
||||
ShortGreenColumn, FirstState, 1, // S_SHRTGRNCOL
|
||||
TallRedColumn, FirstState, 1, // S_TALLREDCOL
|
||||
ShortRedColumn, FirstState, 1, // S_SHRTREDCOL
|
||||
Candlestick, FirstState, 1, // S_CANDLESTIK
|
||||
Candelabra, FirstState, 1, // S_CANDELABRA
|
||||
SkullColumn, FirstState, 1, // S_SKULLCOL
|
||||
TorchTree, FirstState, 1, // S_TORCHTREE
|
||||
BigTree, FirstState, 1, // S_BIGTREE
|
||||
TechPillar, FirstState, 1, // S_TECHPILLAR
|
||||
EvilEye, FirstState, 4, // S_EVILEYE - S_EVILEYE4
|
||||
FloatingSkull, FirstState, 3, // S_FLOATSKULL - S_FLOATSKULL3
|
||||
HeartColumn, FirstState, 2, // S_HEARTCOL - S_HEARTCOL2
|
||||
BlueTorch, FirstState, 4, // S_BLUETORCH - S_BLUETORCH4
|
||||
GreenTorch, FirstState, 4, // S_GREENTORCH - S_GREENTORCH4
|
||||
RedTorch, FirstState, 4, // S_REDTORCH - S_REDTORCH4
|
||||
ShortBlueTorch, FirstState, 4, // S_BTORCHSHRT - S_BTORCHSHRT4
|
||||
ShortGreenTorch, FirstState, 4, // S_GTORCHSHRT - S_GTORCHSHRT4
|
||||
ShortRedTorch, FirstState, 4, // S_RTORCHSHRT - S_RTORCHSHRT4
|
||||
HangNoGuts, FirstState, 1, // S_HANGNOGUTS
|
||||
HangBNoBrain, FirstState, 1, // S_HANGBNOBRAIN
|
||||
HangTLookingDown, FirstState, 1, // S_HANGTLOOKDN
|
||||
HangTSkull, FirstState, 1, // S_HANGTSKULL
|
||||
HangTLookingUp, FirstState, 1, // S_HANGTLOOKUP
|
||||
HangTNoBrain, FirstState, 1, // S_HANGTNOBRAIN
|
||||
ColonGibs, FirstState, 1, // S_COLONGIBS
|
||||
SmallBloodPool, FirstState, 1, // S_SMALLPOOL
|
||||
BrainStem, FirstState, 1, // S_BRAINSTEM
|
||||
TechLamp, FirstState, 4, // S_TECHLAMP - S_TECHLAMP4
|
||||
TechLamp2, FirstState, 4 // S_TECH2LAMP - S_TECH2LAMP4
|
||||
Weapon, LightDone, 1, // S_LIGHTDONE
|
||||
Fist, Ready, 8, // S_PUNCH - S_PUNCH5
|
||||
Pistol, Ready, 8, // S_PISTOL - S_PISTOLFLASH
|
||||
Shotgun, Ready, 14, // S_SGUN - S_SGUNFLASH2
|
||||
SuperShotgun, Ready, 17, // S_DSGUN - S_DSGUNFLASH2
|
||||
Chaingun, Ready, 8, // S_CHAIN - S_CHAINFLASH2
|
||||
RocketLauncher, Ready, 10, // S_MISSILE - S_MISSILEFLASH4
|
||||
Chainsaw, Ready, 7, // S_SAW - S_SAW3
|
||||
PlasmaRifle, Ready, 7, // S_PLASMA - S_PLASMAFLASH2
|
||||
BFG9000, Ready, 9, // S_BFG - S_BFGFLASH2
|
||||
Blood, Spawn, 3, // S_BLOOD1 - S_BLOOD3
|
||||
BulletPuff, Spawn, 4, // S_PUFF1 - S_PUFF4
|
||||
DoomImpBall, Spawn, 5, // S_TBALL1 - S_TBALLX3
|
||||
CacodemonBall, Spawn, 5, // S_RBALL1 - S_RBALLX3
|
||||
PlasmaBall, Spawn, 7, // S_PLASBALL - S_PLASEXP5
|
||||
Rocket, Spawn, 1, // S_ROCKET
|
||||
BFGBall, Spawn, 8, // S_BFGSHOT - S_BFGLAND6
|
||||
BFGExtra, Spawn, 4, // S_BFGEXP - S_BFGEXP4
|
||||
Rocket, Death, 3, // S_EXPLODE1 - S_EXPLODE3
|
||||
TeleportFog, Spawn, 12, // S_TFOG - S_TFOG10
|
||||
ItemFog, Spawn, 7, // S_IFOG - S_IFOG5
|
||||
DoomPlayer, Spawn, 9, // S_PLAY - S_PLAY_PAIN2
|
||||
DoomPlayer, Death1, 7, // S_PLAY_DIE - S_PLAY_DIE7
|
||||
DoomPlayer, XDeath1, 9, // S_PLAY_XDIE - S_PLAY_XDIE9
|
||||
ZombieMan, Spawn, 33, // S_POSS_STND - S_POSS_RAISE4
|
||||
ShotgunGuy, Spawn, 34, // S_SPOS_STND - S_SPOS_RAISE5
|
||||
Archvile, Spawn, 40, // S_VILE_STND - S_VILE_DIE10
|
||||
ArchvileFire, Spawn, 30, // S_FIRE1 - S_FIRE30
|
||||
RevenantTracerSmoke, Spawn, 5, // S_SMOKE1 - S_SMOKE5
|
||||
RevenantTracer, Spawn, 5, // S_TRACER - S_TRACEEXP3
|
||||
Revenant, Spawn, 36, // S_SKEL_STND - S_SKEL_RAISE6
|
||||
FatShot, Spawn, 5, // S_FATSHOT1 - S_FATSHOTX3
|
||||
Fatso, Spawn, 44, // S_FATT_STND - S_FATT_RAISE8
|
||||
ChaingunGuy, Spawn, 36, // S_CPOS_STND - S_CPOS_RAISE7
|
||||
DoomImp, Spawn, 33, // S_TROO_STND - S_TROO_RAISE5
|
||||
Demon, Spawn, 27, // S_SARG_STND - S_SARG_RAISE6
|
||||
Cacodemon, Spawn, 20, // S_HEAD_STND - S_HEAD_RAISE6
|
||||
BaronBall, Spawn, 5, // S_BRBALL1 - S_BRBALLX3
|
||||
BaronOfHell, Spawn, 29, // S_BOSS_STND - S_BOSS_RAISE7
|
||||
HellKnight, Spawn, 29, // S_BOS2_STND - S_BOS2_RAISE7
|
||||
LostSoul, Spawn, 16, // S_SKULL_STND - S_SKULL_DIE6
|
||||
SpiderMastermind, Spawn, 31, // S_SPID_STND - S_SPID_DIE11
|
||||
Arachnotron, Spawn, 35, // S_BSPI_STND - S_BSPI_RAISE7
|
||||
ArachnotronPlasma, Spawn, 7, // S_ARACH_PLAZ - S_ARACH_PLEX5
|
||||
Cyberdemon, Spawn, 27, // S_CYBER_STND - S_CYBER_DIE10
|
||||
PainElemental, Spawn, 25, // S_PAIN_STND - S_PAIN_RAISE6
|
||||
WolfensteinSS, Spawn, 37, // S_SSWV_STND - S_SSWV_RAISE5
|
||||
CommanderKeen, Spawn, 15, // S_KEENSTND - S_KEENPAIN2
|
||||
BossBrain, Spawn, 6, // S_BRAIN - S_BRAIN_DIE4
|
||||
BossEye, Spawn, 3, // S_BRAINEYE - S_BRAINEYE1
|
||||
SpawnShot, Spawn, 4, // S_SPAWN1 - S_SPAWN4
|
||||
SpawnFire, Spawn, 8, // S_SPAWNFIRE1 - S_SPAWNFIRE8
|
||||
BossBrain, BrainExplode, 3, // S_BRAINEXPLODE1 - S_BRAINEXPLODE3
|
||||
GreenArmor, Spawn, 2, // S_ARM1 - S_ARM1A
|
||||
BlueArmor, Spawn, 2, // S_ARM2 - S_ARM2A
|
||||
ExplosiveBarrel, Spawn, 7, // S_BAR1 - S_BEXP5
|
||||
BurningBarrel, Spawn, 3, // S_BBAR1 - S_BBAR3
|
||||
HealthBonus, Spawn, 6, // S_BON1 - S_BON1E
|
||||
ArmorBonus, Spawn, 6, // S_BON2 - S_BON2E
|
||||
BlueCard, Spawn, 2, // S_BKEY - S_BKEY2
|
||||
RedCard, Spawn, 2, // S_RKEY - S_RKEY2
|
||||
YellowCard, Spawn, 2, // S_YKEY - S_YKEY2
|
||||
BlueSkull, Spawn, 2, // S_BSKULL - S_BSKULL2
|
||||
RedSkull, Spawn, 2, // S_RSKULL - S_RSKULL2
|
||||
YellowSkull, Spawn, 2, // S_YSKULL - S_YSKULL2
|
||||
Stimpack, Spawn, 1, // S_STIM
|
||||
Medikit, Spawn, 1, // S_MEDI
|
||||
Soulsphere, Spawn, 6, // S_SOUL - S_SOUL6
|
||||
InvulnerabilitySphere, Spawn, 4, // S_PINV - S_PINV4
|
||||
Berserk, Spawn, 1, // S_PSTR
|
||||
BlurSphere, Spawn, 4, // S_PINS - P_PINS4
|
||||
Megasphere, Spawn, 4, // S_MEGA - S_MEGA4
|
||||
RadSuit, Spawn, 1, // S_SUIT
|
||||
Allmap, Spawn, 6, // S_PMAP - S_PMAP6
|
||||
Infrared, Spawn, 2, // S_PVIS - S_PVIS2
|
||||
Clip, Spawn, 1, // S_CLIP
|
||||
ClipBox, Spawn, 1, // S_AMMO
|
||||
RocketAmmo, Spawn, 1, // S_ROCK
|
||||
RocketBox, Spawn, 1, // S_BROK
|
||||
Cell, Spawn, 1, // S_CELL
|
||||
CellPack, Spawn, 1, // S_CELP
|
||||
Shell, Spawn, 1, // S_SHEL
|
||||
ShellBox, Spawn, 1, // S_SBOX
|
||||
Backpack, Spawn, 1, // S_BPAK
|
||||
BFG9000, Spawn, 1, // S_BFUG
|
||||
Chaingun, Spawn, 1, // S_MGUN
|
||||
Chainsaw, Spawn, 1, // S_CSAW
|
||||
RocketLauncher, Spawn, 1, // S_LAUN
|
||||
PlasmaRifle, Spawn, 1, // S_PLAS
|
||||
Shotgun, Spawn, 1, // S_SHOT
|
||||
SuperShotgun, Spawn, 1, // S_SHOT2
|
||||
Column, Spawn, 1, // S_COLU
|
||||
DoomUnusedStates, Label1, 1, // S_STALAG
|
||||
BloodyTwitch, Spawn, 4, // S_BLOODYTWITCH - S_BLOODYTWITCH4
|
||||
DoomUnusedStates, Label2, 2, // S_DEADTORSO - S_DEADBOTTOM
|
||||
HeadsOnAStick, Spawn, 1, // S_HEADSONSTICK
|
||||
RealGibs, Spawn, 1, // S_GIBS
|
||||
HeadOnAStick, Spawn, 1, // S_HEADONASTICK
|
||||
HeadCandles, Spawn, 2, // S_HEADCANDLES - S_HEADCANDLES2
|
||||
DeadStick, Spawn, 1, // S_DEADSTICK
|
||||
LiveStick, Spawn, 2, // S_LIVESTICK
|
||||
Meat2, Spawn, 1, // S_MEAT2
|
||||
Meat3, Spawn, 1, // S_MEAT3
|
||||
Meat4, Spawn, 1, // S_MEAT4
|
||||
Meat5, Spawn, 1, // S_MEAT5
|
||||
Stalagtite, Spawn, 1, // S_STALAGTITE
|
||||
TallGreenColumn, Spawn, 1, // S_TALLGRNCOL
|
||||
ShortGreenColumn, Spawn, 1, // S_SHRTGRNCOL
|
||||
TallRedColumn, Spawn, 1, // S_TALLREDCOL
|
||||
ShortRedColumn, Spawn, 1, // S_SHRTREDCOL
|
||||
Candlestick, Spawn, 1, // S_CANDLESTIK
|
||||
Candelabra, Spawn, 1, // S_CANDELABRA
|
||||
SkullColumn, Spawn, 1, // S_SKULLCOL
|
||||
TorchTree, Spawn, 1, // S_TORCHTREE
|
||||
BigTree, Spawn, 1, // S_BIGTREE
|
||||
TechPillar, Spawn, 1, // S_TECHPILLAR
|
||||
EvilEye, Spawn, 4, // S_EVILEYE - S_EVILEYE4
|
||||
FloatingSkull, Spawn, 3, // S_FLOATSKULL - S_FLOATSKULL3
|
||||
HeartColumn, Spawn, 2, // S_HEARTCOL - S_HEARTCOL2
|
||||
BlueTorch, Spawn, 4, // S_BLUETORCH - S_BLUETORCH4
|
||||
GreenTorch, Spawn, 4, // S_GREENTORCH - S_GREENTORCH4
|
||||
RedTorch, Spawn, 4, // S_REDTORCH - S_REDTORCH4
|
||||
ShortBlueTorch, Spawn, 4, // S_BTORCHSHRT - S_BTORCHSHRT4
|
||||
ShortGreenTorch, Spawn, 4, // S_GTORCHSHRT - S_GTORCHSHRT4
|
||||
ShortRedTorch, Spawn, 4, // S_RTORCHSHRT - S_RTORCHSHRT4
|
||||
HangNoGuts, Spawn, 1, // S_HANGNOGUTS
|
||||
HangBNoBrain, Spawn, 1, // S_HANGBNOBRAIN
|
||||
HangTLookingDown, Spawn, 1, // S_HANGTLOOKDN
|
||||
HangTSkull, Spawn, 1, // S_HANGTSKULL
|
||||
HangTLookingUp, Spawn, 1, // S_HANGTLOOKUP
|
||||
HangTNoBrain, Spawn, 1, // S_HANGTNOBRAIN
|
||||
ColonGibs, Spawn, 1, // S_COLONGIBS
|
||||
SmallBloodPool, Spawn, 1, // S_SMALLPOOL
|
||||
BrainStem, Spawn, 1, // S_BRAINSTEM
|
||||
TechLamp, Spawn, 4, // S_TECHLAMP - S_TECHLAMP4
|
||||
TechLamp2, Spawn, 4 // S_TECH2LAMP - S_TECH2LAMP4
|
||||
};
|
||||
|
||||
// Sound equivalences. When a patch tries to change a sound, use these sound names.
|
||||
|
@ -807,3 +705,32 @@ RenderStyles
|
|||
6, STYLE_Translucent,
|
||||
7, STYLE_Add
|
||||
};
|
||||
|
||||
AmmoNames
|
||||
{
|
||||
Clip,
|
||||
Shell,
|
||||
Cell,
|
||||
RocketAmmo,
|
||||
GoldWandAmmo,
|
||||
NULL,
|
||||
BlasterAmmo,
|
||||
SkullRodAmmo,
|
||||
PhoenixRodAmmo,
|
||||
MaceAmmo,
|
||||
Mana1,
|
||||
Mana2
|
||||
};
|
||||
|
||||
WeaponNames
|
||||
{
|
||||
Fist,
|
||||
Pistol,
|
||||
Shotgun,
|
||||
Chaingun,
|
||||
RocketLauncher,
|
||||
PlasmaRifle,
|
||||
BFG9000,
|
||||
Chainsaw,
|
||||
SuperShotgun
|
||||
};
|
|
@ -114,50 +114,6 @@
|
|||
RelativePath=".\CMakeLists.txt"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\sources\dehsupp.txt"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Compiling dehsupp.txt..."
|
||||
CommandLine=""$(SolutionDir)\tools\dehsupp\dehsupp.exe" "$(InputPath)" "$(ProjectDir)\generated\dehsupp.lmp"
"
|
||||
Outputs="$(ProjectDir)\generated\dehsupp.lmp"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Compiling dehsupp.txt..."
|
||||
CommandLine=""$(SolutionDir)\tools\dehsupp\dehsupp.exe" "$(InputPath)" "$(ProjectDir)\generated\dehsupp.lmp"
"
|
||||
Outputs="$(ProjectDir)\generated\dehsupp.lmp"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Compiling dehsupp.txt..."
|
||||
CommandLine=""$(SolutionDir)\tools\dehsupp\dehsupp.exe" "$(InputPath)" "$(ProjectDir)\generated\dehsupp.lmp"
"
|
||||
Outputs="$(ProjectDir)\generated\dehsupp.lmp"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Compiling dehsupp.txt..."
|
||||
CommandLine=""$(SolutionDir)\tools\dehsupp\dehsupp.exe" "$(InputPath)" "$(ProjectDir)\generated\dehsupp.lmp"
"
|
||||
Outputs="$(ProjectDir)\generated\dehsupp.lmp"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
|
|
17
zdoom.sln
17
zdoom.sln
|
@ -1,5 +1,5 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 9.00
|
||||
# Visual Studio 2005
|
||||
# Visual C++ Express 2005
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zdoom", "zdoom.vcproj", "{8049475B-5C87-46F9-9358-635218A4EF18}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{E83FD370-2E72-4D4C-9427-FF9D9DED1E88} = {E83FD370-2E72-4D4C-9427-FF9D9DED1E88}
|
||||
|
@ -24,16 +24,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "re2c", "tools\re2c\re2c.vcp
|
|||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wadsrc", "wadsrc\wadsrc.vcproj", "{1D179D4B-F008-431B-8C72-111F8372584F}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{AC64EE8F-F019-4A3E-BCAF-BD1FD072B9C8} = {AC64EE8F-F019-4A3E-BCAF-BD1FD072B9C8}
|
||||
{24A19C02-F041-4AB0-A1A1-02E1E88EDBD3} = {24A19C02-F041-4AB0-A1A1-02E1E88EDBD3}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dehsupp", "tools\dehsupp\dehsupp.vcproj", "{AC64EE8F-F019-4A3E-BCAF-BD1FD072B9C8}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{667D2EE7-C357-49E2-9BAB-0A4A45F0F76E} = {667D2EE7-C357-49E2-9BAB-0A4A45F0F76E}
|
||||
{0F80ACBF-460E-44F0-B28E-B3272D1774A7} = {0F80ACBF-460E-44F0-B28E-B3272D1774A7}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "updaterevision", "tools\updaterevision\updaterevision.vcproj", "{6077B7D6-349F-4077-B552-3BC302EF5859}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jpeg-6b", "jpeg-6b\jpeg-6b.vcproj", "{AC3F5340-40CB-4C3A-8AA7-CB7158DB4466}"
|
||||
|
@ -105,14 +98,6 @@ Global
|
|||
{1D179D4B-F008-431B-8C72-111F8372584F}.Release|Win32.Build.0 = Release|Win32
|
||||
{1D179D4B-F008-431B-8C72-111F8372584F}.Release|x64.ActiveCfg = Release|Win32
|
||||
{1D179D4B-F008-431B-8C72-111F8372584F}.Release|x64.Build.0 = Release|Win32
|
||||
{AC64EE8F-F019-4A3E-BCAF-BD1FD072B9C8}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{AC64EE8F-F019-4A3E-BCAF-BD1FD072B9C8}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{AC64EE8F-F019-4A3E-BCAF-BD1FD072B9C8}.Debug|x64.ActiveCfg = Release|Win32
|
||||
{AC64EE8F-F019-4A3E-BCAF-BD1FD072B9C8}.Debug|x64.Build.0 = Release|Win32
|
||||
{AC64EE8F-F019-4A3E-BCAF-BD1FD072B9C8}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{AC64EE8F-F019-4A3E-BCAF-BD1FD072B9C8}.Release|Win32.Build.0 = Release|Win32
|
||||
{AC64EE8F-F019-4A3E-BCAF-BD1FD072B9C8}.Release|x64.ActiveCfg = Release|Win32
|
||||
{AC64EE8F-F019-4A3E-BCAF-BD1FD072B9C8}.Release|x64.Build.0 = Release|Win32
|
||||
{6077B7D6-349F-4077-B552-3BC302EF5859}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{6077B7D6-349F-4077-B552-3BC302EF5859}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{6077B7D6-349F-4077-B552-3BC302EF5859}.Debug|x64.ActiveCfg = Debug|x64
|
||||
|
|
Loading…
Reference in a new issue