mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-11-13 07:58:04 +00:00
git-svn-id: https://svn.eduke32.com/eduke32@1201 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
0614f0b64c
commit
68ab9ebeaa
16 changed files with 135 additions and 106 deletions
|
@ -594,25 +594,26 @@ extern int mapversion; // if loadboard() fails with -2 return, try loadoldboard(
|
||||||
int loadoldboard(char *filename, char fromwhere, int *daposx, int *daposy, int *daposz, short *daang, short *dacursectnum);
|
int loadoldboard(char *filename, char fromwhere, int *daposx, int *daposy, int *daposz, short *daang, short *dacursectnum);
|
||||||
|
|
||||||
// Hash functions
|
// Hash functions
|
||||||
struct HASH_item // size is 12/24 bits.
|
|
||||||
|
typedef struct _hashitem // size is 12/24 bits.
|
||||||
{
|
{
|
||||||
char *string;
|
char *string;
|
||||||
int key;
|
int key;
|
||||||
struct HASH_item *next;
|
struct _hashitem *next;
|
||||||
};
|
} HASH_item;
|
||||||
|
|
||||||
struct HASH_table
|
typedef struct
|
||||||
{
|
{
|
||||||
int size;
|
int size;
|
||||||
struct HASH_item **items;
|
HASH_item **items;
|
||||||
};
|
} HASH_table;
|
||||||
|
|
||||||
void HASH_init(struct HASH_table *t);
|
void HASH_init(HASH_table *t);
|
||||||
void HASH_free(struct HASH_table *t);
|
void HASH_free(HASH_table *t);
|
||||||
int HASH_findcase(struct HASH_table *t, const char *s);
|
int HASH_findcase(HASH_table *t, const char *s);
|
||||||
int HASH_find(struct HASH_table *t, const char *s);
|
int HASH_find(HASH_table *t, const char *s);
|
||||||
void HASH_replace(struct HASH_table *t, const char *s, int key);
|
void HASH_replace(HASH_table *t, const char *s, int key);
|
||||||
void HASH_add(struct HASH_table *t, const char *s, int key);
|
void HASH_add(HASH_table *t, const char *s, int key);
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
#pragma pack()
|
#pragma pack()
|
||||||
|
|
|
@ -61,7 +61,7 @@ extern GLuint peelprogram[2];
|
||||||
|
|
||||||
extern int cachefilehandle;
|
extern int cachefilehandle;
|
||||||
extern FILE *cacheindexptr;
|
extern FILE *cacheindexptr;
|
||||||
extern struct HASH_table cacheH;
|
extern HASH_table cacheH;
|
||||||
|
|
||||||
struct cacheitem_t
|
struct cacheitem_t
|
||||||
{
|
{
|
||||||
|
|
|
@ -1621,19 +1621,16 @@ void overheadeditor(void)
|
||||||
int ii = xyaspect;
|
int ii = xyaspect;
|
||||||
|
|
||||||
i = yxaspect;
|
i = yxaspect;
|
||||||
|
|
||||||
Bmemset(show2dsector, 255, sizeof(show2dsector));
|
Bmemset(show2dsector, 255, sizeof(show2dsector));
|
||||||
|
|
||||||
setview(0, 0, xdim-1, ydim16-1);
|
setview(0, 0, xdim-1, ydim16-1);
|
||||||
yxaspect = xyaspect = 65536;
|
yxaspect = xyaspect = 65536;
|
||||||
|
|
||||||
j = ydim;
|
j = ydim;
|
||||||
ydim -= scale((MAXYDIM/6), ydim, MAXYDIM);
|
ydim -= scale((MAXYDIM/6), ydim, MAXYDIM);
|
||||||
|
|
||||||
if (graphicsmode == 2)
|
if (graphicsmode == 2)
|
||||||
totalclocklock = totalclock;
|
totalclocklock = totalclock;
|
||||||
drawmapview(posx, posy, zoom, 1536);
|
|
||||||
|
|
||||||
|
drawmapview(posx, posy, zoom, 1536);
|
||||||
yxaspect = i;
|
yxaspect = i;
|
||||||
ydim = j;
|
ydim = j;
|
||||||
xyaspect = ii;
|
xyaspect = ii;
|
||||||
|
|
|
@ -12129,15 +12129,15 @@ void setpolymost2dview(void)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void HASH_init(struct HASH_table *t)
|
void HASH_init(HASH_table *t)
|
||||||
{
|
{
|
||||||
HASH_free(t);
|
HASH_free(t);
|
||||||
t->items=Bcalloc(1, t->size * sizeof(struct HASH_item));
|
t->items=Bcalloc(1, t->size * sizeof(HASH_item));
|
||||||
}
|
}
|
||||||
|
|
||||||
void HASH_free(struct HASH_table *t)
|
void HASH_free(HASH_table *t)
|
||||||
{
|
{
|
||||||
struct HASH_item *cur, *tmp;
|
HASH_item *cur, *tmp;
|
||||||
int i;
|
int i;
|
||||||
int num;
|
int num;
|
||||||
|
|
||||||
|
@ -12192,9 +12192,9 @@ inline unsigned int HASH_getcode(const char *s)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void HASH_add(struct HASH_table *t, const char *s, int key)
|
void HASH_add(HASH_table *t, const char *s, int key)
|
||||||
{
|
{
|
||||||
struct HASH_item *cur, *prev=NULL;
|
HASH_item *cur, *prev=NULL;
|
||||||
int code;
|
int code;
|
||||||
|
|
||||||
if (!s)
|
if (!s)
|
||||||
|
@ -12209,7 +12209,7 @@ void HASH_add(struct HASH_table *t, const char *s, int key)
|
||||||
|
|
||||||
if (!cur)
|
if (!cur)
|
||||||
{
|
{
|
||||||
cur=Bcalloc(1,sizeof(struct HASH_item));
|
cur=Bcalloc(1,sizeof(HASH_item));
|
||||||
cur->string=Bstrdup(s);
|
cur->string=Bstrdup(s);
|
||||||
cur->key=key;
|
cur->key=key;
|
||||||
cur->next=NULL;
|
cur->next=NULL;
|
||||||
|
@ -12226,16 +12226,16 @@ void HASH_add(struct HASH_table *t, const char *s, int key)
|
||||||
}
|
}
|
||||||
while (cur);
|
while (cur);
|
||||||
|
|
||||||
cur=Bcalloc(1,sizeof(struct HASH_item));
|
cur=Bcalloc(1,sizeof(HASH_item));
|
||||||
cur->string=Bstrdup(s);
|
cur->string=Bstrdup(s);
|
||||||
cur->key=key;
|
cur->key=key;
|
||||||
cur->next=NULL;
|
cur->next=NULL;
|
||||||
prev->next=cur;
|
prev->next=cur;
|
||||||
}
|
}
|
||||||
|
|
||||||
void HASH_replace(struct HASH_table *t, const char *s, int key)
|
void HASH_replace(HASH_table *t, const char *s, int key)
|
||||||
{
|
{
|
||||||
struct HASH_item *cur, *prev=NULL;
|
HASH_item *cur, *prev=NULL;
|
||||||
int code;
|
int code;
|
||||||
|
|
||||||
if (t->items==NULL)
|
if (t->items==NULL)
|
||||||
|
@ -12248,7 +12248,7 @@ void HASH_replace(struct HASH_table *t, const char *s, int key)
|
||||||
|
|
||||||
if (!cur)
|
if (!cur)
|
||||||
{
|
{
|
||||||
cur=Bcalloc(1,sizeof(struct HASH_item));
|
cur=Bcalloc(1,sizeof(HASH_item));
|
||||||
cur->string=Bstrdup(s);
|
cur->string=Bstrdup(s);
|
||||||
cur->key=key;
|
cur->key=key;
|
||||||
cur->next=NULL;
|
cur->next=NULL;
|
||||||
|
@ -12268,16 +12268,16 @@ void HASH_replace(struct HASH_table *t, const char *s, int key)
|
||||||
}
|
}
|
||||||
while (cur);
|
while (cur);
|
||||||
|
|
||||||
cur=Bcalloc(1,sizeof(struct HASH_item));
|
cur=Bcalloc(1,sizeof(HASH_item));
|
||||||
cur->string=Bstrdup(s);
|
cur->string=Bstrdup(s);
|
||||||
cur->key=key;
|
cur->key=key;
|
||||||
cur->next=NULL;
|
cur->next=NULL;
|
||||||
prev->next=cur;
|
prev->next=cur;
|
||||||
}
|
}
|
||||||
|
|
||||||
int HASH_find(struct HASH_table *t, const char *s)
|
int HASH_find(HASH_table *t, const char *s)
|
||||||
{
|
{
|
||||||
struct HASH_item *cur;
|
HASH_item *cur;
|
||||||
|
|
||||||
if (t->items==NULL)
|
if (t->items==NULL)
|
||||||
{
|
{
|
||||||
|
@ -12294,9 +12294,9 @@ int HASH_find(struct HASH_table *t, const char *s)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int HASH_findcase(struct HASH_table *t, const char *s)
|
int HASH_findcase(HASH_table *t, const char *s)
|
||||||
{
|
{
|
||||||
struct HASH_item *cur;
|
HASH_item *cur;
|
||||||
|
|
||||||
if (t->items==NULL)
|
if (t->items==NULL)
|
||||||
{
|
{
|
||||||
|
|
|
@ -105,7 +105,7 @@ static int osdcursorpal=0; */
|
||||||
|
|
||||||
static symbol_t *osdsymbptrs[MAXSYMBOLS];
|
static symbol_t *osdsymbptrs[MAXSYMBOLS];
|
||||||
static int osdnumsymbols = 0;
|
static int osdnumsymbols = 0;
|
||||||
static struct HASH_table osdsymbolsH = { MAXSYMBOLS<<1, NULL };
|
static HASH_table osdsymbolsH = { MAXSYMBOLS<<1, NULL };
|
||||||
|
|
||||||
// application callbacks
|
// application callbacks
|
||||||
static void (*drawosdchar)(int, int, char, int, int) = _internal_drawosdchar;
|
static void (*drawosdchar)(int, int, char, int, int) = _internal_drawosdchar;
|
||||||
|
|
|
@ -339,7 +339,7 @@ void drawline2d(float x0, float y0, float x1, float y1, char col)
|
||||||
int cachefilehandle = -1; // texture cache file handle
|
int cachefilehandle = -1; // texture cache file handle
|
||||||
FILE *cacheindexptr = NULL;
|
FILE *cacheindexptr = NULL;
|
||||||
|
|
||||||
struct HASH_table cacheH = { 1024, NULL };
|
HASH_table cacheH = { 1024, NULL };
|
||||||
|
|
||||||
char TEXCACHEFILE[BMAX_PATH] = "textures";
|
char TEXCACHEFILE[BMAX_PATH] = "textures";
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
#include <shellapi.h>
|
#include <shellapi.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define BUILDDATE " 20090101"
|
#define BUILDDATE " 20090104"
|
||||||
#define VERSION " 1.2.0devel"
|
#define VERSION " 1.2.0devel"
|
||||||
|
|
||||||
static int floor_over_floor;
|
static int floor_over_floor;
|
||||||
|
|
|
@ -51,7 +51,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
===================
|
===================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
struct HASH_table gamefuncH = { NUMGAMEFUNCTIONS<<1, NULL };
|
HASH_table gamefuncH = { NUMGAMEFUNCTIONS<<1, NULL };
|
||||||
|
|
||||||
int32 CONFIG_FunctionNameToNum(char * func)
|
int32 CONFIG_FunctionNameToNum(char * func)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1053,10 +1053,10 @@ extern char *mousenames[];
|
||||||
extern char *duke3dgrp, *duke3dgrpstring;
|
extern char *duke3dgrp, *duke3dgrpstring;
|
||||||
extern char mod_dir[BMAX_PATH];
|
extern char mod_dir[BMAX_PATH];
|
||||||
|
|
||||||
extern struct HASH_table gamevarH;
|
extern HASH_table gamevarH;
|
||||||
extern struct HASH_table arrayH;
|
extern HASH_table arrayH;
|
||||||
extern struct HASH_table keywH;
|
extern HASH_table keywH;
|
||||||
extern struct HASH_table gamefuncH;
|
extern HASH_table gamefuncH;
|
||||||
|
|
||||||
enum DukePacket_t
|
enum DukePacket_t
|
||||||
{
|
{
|
||||||
|
|
|
@ -10136,8 +10136,9 @@ static void loadtmb(void)
|
||||||
kclose(fil);
|
kclose(fil);
|
||||||
}
|
}
|
||||||
|
|
||||||
void freehash();
|
extern void C_FreeHashes();
|
||||||
static void G_FreeCONMem(void)
|
|
||||||
|
static void G_FreeMemory(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
extern char *bitptr;
|
extern char *bitptr;
|
||||||
|
@ -10157,19 +10158,6 @@ static void G_FreeCONMem(void)
|
||||||
if (ScriptQuoteRedefinitions[i] != NULL) Bfree(ScriptQuoteRedefinitions[i]);
|
if (ScriptQuoteRedefinitions[i] != NULL) Bfree(ScriptQuoteRedefinitions[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i=g_gameVarCount-1;i>=0;i--)
|
|
||||||
{
|
|
||||||
if (aGameVars[i].szLabel != NULL) Bfree(aGameVars[i].szLabel);
|
|
||||||
if (aGameVars[i].dwFlags & (GAMEVAR_USER_MASK) && aGameVars[i].val.plValues != NULL)
|
|
||||||
Bfree(aGameVars[i].val.plValues);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i=g_gameArrayCount-1;i>=0;i--)
|
|
||||||
{
|
|
||||||
if (aGameArrays[i].szLabel != NULL) Bfree(aGameArrays[i].szLabel);
|
|
||||||
if (aGameArrays[i].plValues != NULL) Bfree(aGameArrays[i].plValues);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i=MAXPLAYERS-1;i>=0;i--)
|
for (i=MAXPLAYERS-1;i>=0;i--)
|
||||||
{
|
{
|
||||||
if (g_player[i].ps != NULL) Bfree(g_player[i].ps);
|
if (g_player[i].ps != NULL) Bfree(g_player[i].ps);
|
||||||
|
@ -10187,7 +10175,9 @@ static void G_FreeCONMem(void)
|
||||||
if (script != NULL) Bfree(script);
|
if (script != NULL) Bfree(script);
|
||||||
if (bitptr != NULL) Bfree(bitptr);
|
if (bitptr != NULL) Bfree(bitptr);
|
||||||
|
|
||||||
freehash();
|
// if (MusicPtr != NULL) Bfree(MusicPtr);
|
||||||
|
|
||||||
|
// C_FreeHashes();
|
||||||
HASH_free(&gamefuncH);
|
HASH_free(&gamefuncH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10207,7 +10197,7 @@ void G_Shutdown(void)
|
||||||
CONTROL_Shutdown();
|
CONTROL_Shutdown();
|
||||||
CONFIG_WriteSetup();
|
CONFIG_WriteSetup();
|
||||||
KB_Shutdown();
|
KB_Shutdown();
|
||||||
G_FreeCONMem();
|
G_FreeMemory();
|
||||||
uninitengine();
|
uninitengine();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10361,7 +10351,7 @@ static void G_Startup(void)
|
||||||
{
|
{
|
||||||
wm_msgbox("Build Engine Initialization Error",
|
wm_msgbox("Build Engine Initialization Error",
|
||||||
"There was a problem initializing the Build engine: %s", engineerrstr);
|
"There was a problem initializing the Build engine: %s", engineerrstr);
|
||||||
G_FreeCONMem();
|
G_FreeMemory();
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
int g_scriptVersion = 13; // 13 = 1.3D-style CON files, 14 = 1.4/1.5 style CON files
|
int g_scriptVersion = 13; // 13 = 1.3D-style CON files, 14 = 1.4/1.5 style CON files
|
||||||
|
|
||||||
char g_szScriptFileName[BMAX_PATH] = "(none)"; // file we're currently compiling
|
char g_szScriptFileName[BMAX_PATH] = "(none)"; // file we're currently compiling
|
||||||
static char g_szCurrentBlockName[MAXVARLABEL] = "(none)", g_szLastBlockName[MAXVARLABEL] = "NULL";
|
static char g_szCurrentBlockName[256] = "(none)", g_szLastBlockName[256] = "NULL";
|
||||||
|
|
||||||
int g_totalLines,g_lineNumber;
|
int g_totalLines,g_lineNumber;
|
||||||
static int g_checkingIfElse,g_processingState;
|
static int g_checkingIfElse,g_processingState;
|
||||||
|
@ -935,25 +935,25 @@ const memberlabel_t InputLabels[]=
|
||||||
char *bitptr; // pointer to bitmap of which bytecode positions contain pointers
|
char *bitptr; // pointer to bitmap of which bytecode positions contain pointers
|
||||||
#define BITPTR_POINTER 1
|
#define BITPTR_POINTER 1
|
||||||
|
|
||||||
struct HASH_table gamevarH = { MAXGAMEVARS>>1, NULL };
|
HASH_table gamevarH = { MAXGAMEVARS>>1, NULL };
|
||||||
struct HASH_table arrayH = { MAXGAMEARRAYS>>1, NULL };
|
HASH_table arrayH = { MAXGAMEARRAYS>>1, NULL };
|
||||||
struct HASH_table labelH = { 11264>>1, NULL };
|
HASH_table labelH = { 11264>>1, NULL };
|
||||||
struct HASH_table keywH = { CON_END>>1, NULL };
|
HASH_table keywH = { CON_END>>1, NULL };
|
||||||
|
|
||||||
struct HASH_table sectorH = { SECTOR_END>>1, NULL };
|
HASH_table sectorH = { SECTOR_END>>1, NULL };
|
||||||
struct HASH_table wallH = { WALL_END>>1, NULL };
|
HASH_table wallH = { WALL_END>>1, NULL };
|
||||||
struct HASH_table userdefH = { USERDEFS_END>>1, NULL };
|
HASH_table userdefH = { USERDEFS_END>>1, NULL };
|
||||||
|
|
||||||
struct HASH_table projectileH = { PROJ_END>>1, NULL };
|
HASH_table projectileH = { PROJ_END>>1, NULL };
|
||||||
struct HASH_table playerH = { PLAYER_END>>1, NULL };
|
HASH_table playerH = { PLAYER_END>>1, NULL };
|
||||||
struct HASH_table inputH = { INPUT_END>>1, NULL };
|
HASH_table inputH = { INPUT_END>>1, NULL };
|
||||||
struct HASH_table actorH = { ACTOR_END>>1, NULL };
|
HASH_table actorH = { ACTOR_END>>1, NULL };
|
||||||
struct HASH_table tspriteH = { ACTOR_END>>1, NULL };
|
HASH_table tspriteH = { ACTOR_END>>1, NULL };
|
||||||
|
|
||||||
void inithashnames();
|
void inithashnames();
|
||||||
void freehashnames();
|
void freehashnames();
|
||||||
|
|
||||||
void inithash()
|
void C_InitHashes()
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -993,13 +993,14 @@ void inithash()
|
||||||
HASH_add(&tspriteH,TsprLabels[i].name,i);
|
HASH_add(&tspriteH,TsprLabels[i].name,i);
|
||||||
}
|
}
|
||||||
|
|
||||||
void freehash()
|
void C_FreeHashes(void)
|
||||||
{
|
{
|
||||||
HASH_free(&gamevarH);
|
HASH_free(&gamevarH);
|
||||||
HASH_free(&arrayH);
|
HASH_free(&arrayH);
|
||||||
HASH_free(&labelH);
|
HASH_free(&labelH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define IFELSE_MAGIC 31337
|
||||||
static int g_ifElseAborted;
|
static int g_ifElseAborted;
|
||||||
|
|
||||||
static int C_IncreaseScriptSize(int size)
|
static int C_IncreaseScriptSize(int size)
|
||||||
|
@ -1413,7 +1414,7 @@ static inline int isaltok(char c)
|
||||||
return (isalnum(c) || c == '{' || c == '}' || c == '/' || c == '*' || c == '-' || c == '_' || c == '.');
|
return (isalnum(c) || c == '{' || c == '}' || c == '/' || c == '*' || c == '-' || c == '_' || c == '.');
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int GetLabelNameid(const memberlabel_t *pLabel, struct HASH_table *tH, const char *psz)
|
static inline int GetLabelNameid(const memberlabel_t *pLabel, HASH_table *tH, const char *psz)
|
||||||
{
|
{
|
||||||
// find the label psz in the table pLabel.
|
// find the label psz in the table pLabel.
|
||||||
// returns the ID for the label, or -1
|
// returns the ID for the label, or -1
|
||||||
|
@ -1426,7 +1427,7 @@ static inline int GetLabelNameid(const memberlabel_t *pLabel, struct HASH_table
|
||||||
return l;
|
return l;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int C_GetLabelNameOffset(struct HASH_table *tH, const char *psz)
|
static inline int C_GetLabelNameOffset(HASH_table *tH, const char *psz)
|
||||||
{
|
{
|
||||||
// find the label psz in the table pLabel.
|
// find the label psz in the table pLabel.
|
||||||
// returns the offset in the array for the label, or -1
|
// returns the offset in the array for the label, or -1
|
||||||
|
@ -1511,7 +1512,7 @@ static int C_GetNextKeyword(void) //Returns its code #
|
||||||
if (i>=0)
|
if (i>=0)
|
||||||
{
|
{
|
||||||
if (i == CON_LEFTBRACE || i == CON_RIGHTBRACE || i == CON_NULLOP)
|
if (i == CON_LEFTBRACE || i == CON_RIGHTBRACE || i == CON_NULLOP)
|
||||||
*g_scriptPtr = i + (31337<<12);
|
*g_scriptPtr = i + (IFELSE_MAGIC<<12);
|
||||||
else *g_scriptPtr = i + (g_lineNumber<<12);
|
else *g_scriptPtr = i + (g_lineNumber<<12);
|
||||||
bitptr[(g_scriptPtr-script)>>3] &= ~(1<<((g_scriptPtr-script)&7));
|
bitptr[(g_scriptPtr-script)>>3] &= ~(1<<((g_scriptPtr-script)&7));
|
||||||
textptr += l;
|
textptr += l;
|
||||||
|
@ -1802,23 +1803,24 @@ static int C_GetNextValue(int type)
|
||||||
|
|
||||||
static int C_CheckEmptyBranch(int tw, intptr_t lastScriptPtr)
|
static int C_CheckEmptyBranch(int tw, intptr_t lastScriptPtr)
|
||||||
{
|
{
|
||||||
if (Bstrncmp(keyw[tw],"if",2) && tw != CON_ELSE)
|
if (Bstrncmp(keyw[tw], "if", 2) && tw != CON_ELSE)
|
||||||
{
|
{
|
||||||
g_ifElseAborted = 0;
|
g_ifElseAborted = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((*(g_scriptPtr) & 0xFFF) != CON_NULLOP || *(g_scriptPtr)>>12 != 31337)
|
if ((*(g_scriptPtr) & 0xFFF) != CON_NULLOP || *(g_scriptPtr)>>12 != IFELSE_MAGIC)
|
||||||
g_ifElseAborted = 0;
|
g_ifElseAborted = 0;
|
||||||
|
|
||||||
if (g_ifElseAborted)
|
if (g_ifElseAborted)
|
||||||
{
|
{
|
||||||
// C_ReportError(-1);
|
C_ReportError(-1);
|
||||||
|
g_numCompilerWarnings++;
|
||||||
g_scriptPtr = lastScriptPtr + &script[0];
|
g_scriptPtr = lastScriptPtr + &script[0];
|
||||||
initprintf("%s:%d: removing empty '%s' branch\n",g_szScriptFileName,g_lineNumber,
|
initprintf("%s:%d: warning: empty `%s' branch\n",g_szScriptFileName,g_lineNumber,
|
||||||
keyw[*(g_scriptPtr) & 0xFFF]);
|
keyw[*(g_scriptPtr) & 0xFFF]);
|
||||||
if (g_ifElseAborted)
|
if (g_ifElseAborted)
|
||||||
*(g_scriptPtr) = (CON_NULLOP + (31337<<12));
|
*(g_scriptPtr) = (CON_NULLOP + (IFELSE_MAGIC<<12));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2960,10 +2962,7 @@ static int C_ParseCommand(void)
|
||||||
C_ParseCommand();
|
C_ParseCommand();
|
||||||
|
|
||||||
if (C_CheckEmptyBranch(tw, lastScriptPtr))
|
if (C_CheckEmptyBranch(tw, lastScriptPtr))
|
||||||
{
|
|
||||||
// g_scriptPtr;
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
|
||||||
|
|
||||||
tempscrptr = (intptr_t *)script+offset;
|
tempscrptr = (intptr_t *)script+offset;
|
||||||
*tempscrptr = (intptr_t) g_scriptPtr;
|
*tempscrptr = (intptr_t) g_scriptPtr;
|
||||||
|
@ -2972,9 +2971,24 @@ static int C_ParseCommand(void)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
g_scriptPtr--;
|
g_scriptPtr--;
|
||||||
g_numCompilerErrors++;
|
tempscrptr = g_scriptPtr;
|
||||||
|
g_numCompilerWarnings++;
|
||||||
C_ReportError(-1);
|
C_ReportError(-1);
|
||||||
initprintf("%s:%d: error: found `else' with no `if'.\n",g_szScriptFileName,g_lineNumber);
|
|
||||||
|
initprintf("%s:%d: warning: found `else' with no `if'.\n",g_szScriptFileName,g_lineNumber);
|
||||||
|
|
||||||
|
if (C_GetKeyword() == CON_LEFTBRACE)
|
||||||
|
{
|
||||||
|
C_GetNextKeyword();
|
||||||
|
g_numBraces++;
|
||||||
|
|
||||||
|
do
|
||||||
|
done = C_ParseCommand();
|
||||||
|
while (done == 0);
|
||||||
|
}
|
||||||
|
else C_ParseCommand();
|
||||||
|
|
||||||
|
g_scriptPtr = tempscrptr;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -4059,7 +4073,13 @@ static int C_ParseCommand(void)
|
||||||
*tempscrptr = (intptr_t) g_scriptPtr;
|
*tempscrptr = (intptr_t) g_scriptPtr;
|
||||||
bitptr[(tempscrptr-script)>>3] |= (BITPTR_POINTER<<((tempscrptr-script)&7));
|
bitptr[(tempscrptr-script)>>3] |= (BITPTR_POINTER<<((tempscrptr-script)&7));
|
||||||
|
|
||||||
if (tw != CON_WHILEVARVARN) g_checkingIfElse++;
|
if (tw != CON_WHILEVARVARN)
|
||||||
|
{
|
||||||
|
j = C_GetKeyword();
|
||||||
|
|
||||||
|
if (j == CON_ELSE || j == CON_LEFTBRACE)
|
||||||
|
g_checkingIfElse++;
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4108,7 +4128,14 @@ static int C_ParseCommand(void)
|
||||||
*tempscrptr = (intptr_t) g_scriptPtr;
|
*tempscrptr = (intptr_t) g_scriptPtr;
|
||||||
bitptr[(tempscrptr-script)>>3] |= (BITPTR_POINTER<<((tempscrptr-script)&7));
|
bitptr[(tempscrptr-script)>>3] |= (BITPTR_POINTER<<((tempscrptr-script)&7));
|
||||||
|
|
||||||
if (tw != CON_WHILEVARN) g_checkingIfElse++;
|
if (tw != CON_WHILEVARN)
|
||||||
|
{
|
||||||
|
j = C_GetKeyword();
|
||||||
|
|
||||||
|
if (j == CON_ELSE || j == CON_LEFTBRACE)
|
||||||
|
g_checkingIfElse++;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
case CON_ADDLOGVAR:
|
case CON_ADDLOGVAR:
|
||||||
|
@ -4645,7 +4672,11 @@ repeatcase:
|
||||||
*tempscrptr = (intptr_t) g_scriptPtr;
|
*tempscrptr = (intptr_t) g_scriptPtr;
|
||||||
bitptr[(tempscrptr-script)>>3] |= (BITPTR_POINTER<<((tempscrptr-script)&7));
|
bitptr[(tempscrptr-script)>>3] |= (BITPTR_POINTER<<((tempscrptr-script)&7));
|
||||||
|
|
||||||
g_checkingIfElse++;
|
j = C_GetKeyword();
|
||||||
|
|
||||||
|
if (j == CON_ELSE || j == CON_LEFTBRACE)
|
||||||
|
g_checkingIfElse++;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4688,7 +4719,11 @@ repeatcase:
|
||||||
*tempscrptr = (intptr_t) g_scriptPtr;
|
*tempscrptr = (intptr_t) g_scriptPtr;
|
||||||
bitptr[(tempscrptr-script)>>3] |= (BITPTR_POINTER<<((tempscrptr-script)&7));
|
bitptr[(tempscrptr-script)>>3] |= (BITPTR_POINTER<<((tempscrptr-script)&7));
|
||||||
|
|
||||||
g_checkingIfElse++;
|
j = C_GetKeyword();
|
||||||
|
|
||||||
|
if (j == CON_ELSE || j == CON_LEFTBRACE)
|
||||||
|
g_checkingIfElse++;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4725,17 +4760,22 @@ repeatcase:
|
||||||
case CON_RIGHTBRACE:
|
case CON_RIGHTBRACE:
|
||||||
g_numBraces--;
|
g_numBraces--;
|
||||||
|
|
||||||
if ((*(g_scriptPtr-2)>>12) == (31337) &&
|
if ((*(g_scriptPtr-2)>>12) == (IFELSE_MAGIC) &&
|
||||||
((*(g_scriptPtr-2) & 0xFFF) == CON_LEFTBRACE)) // rewrite "{ }" into "nullop"
|
((*(g_scriptPtr-2) & 0xFFF) == CON_LEFTBRACE)) // rewrite "{ }" into "nullop"
|
||||||
{
|
{
|
||||||
// initprintf("%s:%d: rewriting empty braces '{ }' as 'nullop' from right\n",g_szScriptFileName,g_lineNumber);
|
// initprintf("%s:%d: rewriting empty braces '{ }' as 'nullop' from right\n",g_szScriptFileName,g_lineNumber);
|
||||||
*(g_scriptPtr-2) = CON_NULLOP + (31337<<12);
|
*(g_scriptPtr-2) = CON_NULLOP + (IFELSE_MAGIC<<12);
|
||||||
g_scriptPtr -= 2;
|
g_scriptPtr -= 2;
|
||||||
|
|
||||||
if (C_GetKeyword() != CON_ELSE && (*(g_scriptPtr-2)&0xFFF) != CON_ELSE)
|
if (C_GetKeyword() != CON_ELSE && (*(g_scriptPtr-2)&0xFFF) != CON_ELSE)
|
||||||
g_ifElseAborted = 1;
|
g_ifElseAborted = 1;
|
||||||
else g_ifElseAborted = 0;
|
else g_ifElseAborted = 0;
|
||||||
|
|
||||||
|
j = C_GetKeyword();
|
||||||
|
|
||||||
|
if (g_checkingIfElse && j != CON_ELSE)
|
||||||
|
g_checkingIfElse--;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4750,6 +4790,9 @@ repeatcase:
|
||||||
initprintf("%s:%d: error: found more `}' than `{'.\n",g_szScriptFileName,g_lineNumber);
|
initprintf("%s:%d: error: found more `}' than `{'.\n",g_szScriptFileName,g_lineNumber);
|
||||||
g_numCompilerErrors++;
|
g_numCompilerErrors++;
|
||||||
}
|
}
|
||||||
|
if (g_checkingIfElse && j != CON_ELSE)
|
||||||
|
g_checkingIfElse--;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
case CON_BETANAME:
|
case CON_BETANAME:
|
||||||
|
@ -5370,7 +5413,8 @@ repeatcase:
|
||||||
if (C_GetKeyword() != CON_ELSE)
|
if (C_GetKeyword() != CON_ELSE)
|
||||||
{
|
{
|
||||||
C_ReportError(-1);
|
C_ReportError(-1);
|
||||||
initprintf("%s:%d: removing 'nullop' found without 'else'\n",g_szScriptFileName,g_lineNumber);
|
g_numCompilerWarnings++;
|
||||||
|
initprintf("%s:%d: warning: `nullop' found without `else'\n",g_szScriptFileName,g_lineNumber);
|
||||||
g_scriptPtr--;
|
g_scriptPtr--;
|
||||||
g_ifElseAborted = 1;
|
g_ifElseAborted = 1;
|
||||||
}
|
}
|
||||||
|
@ -5694,7 +5738,7 @@ void C_Compile(const char *filenam)
|
||||||
|
|
||||||
clearbuf(apScriptGameEvent,MAXGAMEEVENTS,0L);
|
clearbuf(apScriptGameEvent,MAXGAMEEVENTS,0L);
|
||||||
|
|
||||||
inithash();
|
C_InitHashes();
|
||||||
Gv_Init();
|
Gv_Init();
|
||||||
C_InitProjectiles();
|
C_InitProjectiles();
|
||||||
|
|
||||||
|
|
|
@ -4195,14 +4195,9 @@ static int X_DoExecute(void)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
/* OSD_Printf("fatal error: default processing: previous five values: %d, %d, %d, %d, %d, "
|
|
||||||
"current opcode: %d, next five values: %d, %d, %d, %d, %d\ncurrent actor: %d (%d)\n",
|
|
||||||
*(insptr-5),*(insptr-4),*(insptr-3),*(insptr-2),*(insptr-1),*insptr,*(insptr+1),
|
|
||||||
*(insptr+2),*(insptr+3),*(insptr+4),*(insptr+5),g_i,g_sp->picnum);
|
|
||||||
OSD_Printf("g_errorLineNum: %d, g_tw: %d\n",g_errorLineNum,g_tw);*/
|
|
||||||
X_ScriptInfo();
|
X_ScriptInfo();
|
||||||
|
|
||||||
G_GameExit("An error has occurred in the EDuke32 CON executor.\n\n"
|
G_GameExit("An error has occurred in the EDuke32 virtual machine.\n\n"
|
||||||
"If you are an end user, please e-mail the file eduke32.log\n"
|
"If you are an end user, please e-mail the file eduke32.log\n"
|
||||||
"along with links to any mods you're using to terminx@gmail.com.\n\n"
|
"along with links to any mods you're using to terminx@gmail.com.\n\n"
|
||||||
"If you are a mod developer, please attach all of your CON files\n"
|
"If you are a mod developer, please attach all of your CON files\n"
|
||||||
|
|
|
@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
#include "duke3d.h"
|
#include "duke3d.h"
|
||||||
|
|
||||||
const char *s_buildDate = "20090101";
|
const char *s_buildDate = "20090104";
|
||||||
char *MusicPtr = NULL;
|
char *MusicPtr = NULL;
|
||||||
int g_musicSize;
|
int g_musicSize;
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ struct dynitem
|
||||||
short vstat;
|
short vstat;
|
||||||
short val;
|
short val;
|
||||||
};
|
};
|
||||||
struct HASH_table dynnamesH = {512, NULL};
|
HASH_table dynnamesH = {512, NULL};
|
||||||
|
|
||||||
struct dynitem list[]=
|
struct dynitem list[]=
|
||||||
{
|
{
|
||||||
|
|
|
@ -4483,7 +4483,7 @@ void P_ProcessInput(int snum)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (p->walking_snd_toggle > 0)
|
else if (p->walking_snd_toggle > 0)
|
||||||
p->walking_snd_toggle --;
|
p->walking_snd_toggle--;
|
||||||
|
|
||||||
if (p->jetpack_on == 0 && p->steroids_amount > 0 && p->steroids_amount < 400)
|
if (p->jetpack_on == 0 && p->steroids_amount > 0 && p->steroids_amount < 400)
|
||||||
doubvel <<= 1;
|
doubvel <<= 1;
|
||||||
|
|
|
@ -207,8 +207,10 @@ void _playmusic(const char *fn)
|
||||||
|
|
||||||
l = kfilelength(fp);
|
l = kfilelength(fp);
|
||||||
MUSIC_StopSong();
|
MUSIC_StopSong();
|
||||||
if (!MusicPtr) MusicPtr=Bcalloc(1,l * sizeof(char));
|
|
||||||
else MusicPtr=Brealloc(MusicPtr,l * sizeof(char));
|
if (!MusicPtr) MusicPtr = Bcalloc(1, l);
|
||||||
|
else MusicPtr = Brealloc(MusicPtr, l);
|
||||||
|
|
||||||
g_musicSize=l;
|
g_musicSize=l;
|
||||||
|
|
||||||
kread(fp, (unsigned char *)MusicPtr, l);
|
kread(fp, (unsigned char *)MusicPtr, l);
|
||||||
|
|
Loading…
Reference in a new issue