diff --git a/polymer/build/src/engine.c b/polymer/build/src/engine.c index ecd3db151..dffa053e3 100644 --- a/polymer/build/src/engine.c +++ b/polymer/build/src/engine.c @@ -7138,18 +7138,30 @@ if (numsprites > MAXSPRITES) { kclose(fil); return(-1); } #include "scriptfile.h" long loadmaphack(char *filename) { + enum + { + T_EOF = -2, + T_ERROR = -1, + T_SPRITE = 0, + T_ANGOFF, + T_NOMODEL, + T_NOANIM, + T_PITCH, + T_ROLL + }; + static struct { char *text; int tokenid; } legaltokens[] = { - { "sprite", 0 }, - { "angleoff", 1 }, - { "angoff", 1 }, - { "notmd2", 2 }, - { "notmd3", 2 }, - { "notmd", 2 }, - { "nomd2anim", 3 }, - { "nomd3anim", 3 }, - { "nomdanim", 3 }, - { "pitch", 4 }, - { "roll", 5 }, + { "sprite", T_SPRITE }, + { "angleoff", T_ANGOFF }, + { "angoff", T_ANGOFF }, + { "notmd2", T_NOMODEL }, + { "notmd3", T_NOMODEL }, + { "notmd", T_NOMODEL }, + { "nomd2anim", T_NOANIM }, + { "nomd3anim", T_NOANIM }, + { "nomdanim", T_NOANIM }, + { "pitch", T_PITCH }, + { "roll", T_ROLL }, { NULL, -1 } }; @@ -7169,7 +7181,7 @@ long loadmaphack(char *filename) for (i=0;legaltokens[i].text;i++) if (!Bstrcasecmp(tok,legaltokens[i].text)) break; cmdtokptr = script->ltextptr; switch (legaltokens[i].tokenid) { - case 0: // sprite + case T_SPRITE: // sprite if (scriptfile_getnumber(script, &whichsprite)) break; if ((unsigned)whichsprite >= (unsigned)MAXSPRITES) { @@ -7181,7 +7193,7 @@ long loadmaphack(char *filename) } break; - case 1: // angoff + case T_ANGOFF: // angoff { int ang; if (scriptfile_getnumber(script, &ang)) break; @@ -7195,7 +7207,7 @@ long loadmaphack(char *filename) spriteext[whichsprite].angoff = (short)ang; } break; - case 2: // notmd + case T_NOMODEL: // notmd if (whichsprite < 0) { // no sprite directive preceeding initprintf("Ignoring not-MD2/MD3 directive because of absent/invalid sprite number on line %s:%d\n", @@ -7204,7 +7216,7 @@ long loadmaphack(char *filename) } spriteext[whichsprite].flags |= SPREXT_NOTMD; break; - case 3: // nomdanim + case T_NOANIM: // nomdanim if (whichsprite < 0) { // no sprite directive preceeding initprintf("Ignoring no-MD2/MD3-anim directive because of absent/invalid sprite number on line %s:%d\n", @@ -7213,7 +7225,7 @@ long loadmaphack(char *filename) } spriteext[whichsprite].flags |= SPREXT_NOMDANIM; break; - case 4: // pitch + case T_PITCH: // pitch { int pitch; if (scriptfile_getnumber(script, &pitch)) break; @@ -7226,7 +7238,7 @@ long loadmaphack(char *filename) } spriteext[whichsprite].pitch = (short)pitch; } - case 5: // roll + case T_ROLL: // roll { int roll; if (scriptfile_getnumber(script, &roll)) break; diff --git a/polymer/eduke32/source/astub.c b/polymer/eduke32/source/astub.c index a53560a81..4eee7830b 100644 --- a/polymer/eduke32/source/astub.c +++ b/polymer/eduke32/source/astub.c @@ -4313,7 +4313,7 @@ void ExtPreLoadMap(void) static void comlinehelp(void) { char *s = "Usage: mapster32 [OPTIONS] [FILE]\n\n" - "-gFILE, -grp FILE\t\tUse extra group file FILE\n" + "-gFILE, -grp FILE\tUse extra group file FILE\n" "-hFILE\t\tUse definitions file FILE\n" "-jDIR, -game_dir DIR\n\t\tAdds DIR to the file path stack\n" #if defined RENDERTYPEWIN || (defined RENDERTYPESDL && !defined __APPLE__ && defined HAVE_GTK2) @@ -4324,7 +4324,7 @@ static void comlinehelp(void) #endif "\n-?, -help, --help\tDisplay this help message and exit" ; - wm_msgbox("Mapster32 Command Line Help",s); + wm_msgbox("Mapster32"VERSION,s); } static void addgamepath(const char *buffer) @@ -4633,11 +4633,10 @@ int ExtInit(void) int i; #if 1 i=wm_ynbox("Texture Caching", - "Would you like to enable the on-disk texture cache? " - "This feature may use up to 200 megabytes of disk " - "space if you have a great deal of high resolution " - "textures and skins, but textures will load dramatically " - "faster after the first time they are loaded."); + "Would you like to enable the on-disk texture cache? This feature may use around 140 megabytes of disk " + "space if you have a great deal of high resolution textures and skins, but textures will load dramatically " + "faster after the first time they are loaded.\n\n" + "You will generally want to say 'yes' here, especially if using the HRP."); #else i = 1; #endif diff --git a/polymer/eduke32/source/game.c b/polymer/eduke32/source/game.c index 0a890b45f..91eb0522f 100644 --- a/polymer/eduke32/source/game.c +++ b/polymer/eduke32/source/game.c @@ -8110,16 +8110,17 @@ static void comlinehelp(void) "-cNUM\t\tUse MP mode NUM, 1 = DukeMatch(spawn), 2 = Coop, 3 = Dukematch(no spawn)\n" "-dFILE\t\tStart to play demo FILE\n" /* "-fNUM\t\tSend fewer packets in multiplayer (1, 2, 4) (deprecated)\n" */ - "-gFILE, -grp FILE\t\tUse extra group file FILE\n" + "-game_dir DIR\tSee -j\n" + "-gFILE, -grp FILE\tUse extra group file FILE\n" "-hFILE\t\tUse definitions file FILE\n" "-iNUM\t\tUse networking mode NUM (1/0) (multiplayer only) (default == 1)\n" - "-jDIR\n-game_dir DIR\t\tAdds DIR to the file path stack\n" + "-jDIR\t\tAdds DIR to the file path stack\n" "-lNUM\t\tWarp to level NUM (1-11), see -v\n" "-m\t\tDisable monsters\n" "-map FILE\tUse user map FILE\n" "-name NAME\tUse NAME as multiplayer name\n" "-nD\t\tDump default gamevars to gamevars.txt\n" - "-net\t\tNetwork play; see documentation\n" + "-net PARAMETERS\tNetwork play; see documentation for PARAMETERS\n" "-nm\t\tDisable music\n" "-ns\t\tDisable sound\n" "-qNUM\t\tUse NUM players for fake multiplayer (2-8)\n" @@ -8138,7 +8139,7 @@ static void comlinehelp(void) "-zNUM, -condebug\tLine-by-line CON compilation debugging, NUM is verbosity\n" "\n-?, -help, --help\tDisplay this help message and exit" ; - wm_msgbox("EDuke32 Command Line Help",s); + wm_msgbox(HEAD2,s); } signed int rancid_players = 0; @@ -9578,13 +9579,14 @@ void backtomenu(void) else wm_setapptitle(HEAD); } -int load_script(char *szScript) +int load_script(const char *szScript) { FILE* fp = fopenfrompath(szScript, "r"); if (fp != NULL) { char line[255]; + OSD_Printf("Executing \"%s\"\n", szScript); while (fgets(line ,sizeof(line)-1, fp) != NULL) OSD_Dispatch(strtok(line,"\r\n")); @@ -9696,11 +9698,10 @@ void app_main(int argc,char **argv) if (glusetexcache == -1 || glusetexcachecompression == -1) { i=wm_ynbox("Texture Caching", - "Would you like to enable the on-disk texture cache? " - "This feature may use up to 200 megabytes of disk " - "space if you have a great deal of high resolution " - "textures and skins, but textures will load dramatically " - "faster after the first time they are loaded."); + "Would you like to enable the on-disk texture cache? This feature may use around 140 megabytes of disk " + "space if you have a great deal of high resolution textures and skins, but textures will load dramatically " + "faster after the first time they are loaded.\n\n" + "You will generally want to say 'yes' here, especially if using the HRP."); if (i) useprecache = glusetexcompr = glusetexcache = glusetexcachecompression = 1; else glusetexcache = glusetexcachecompression = 0; } @@ -10005,8 +10006,7 @@ void app_main(int argc,char **argv) menutext(160,105,0,0,"LOADING SAVED GAME..."); nextpage(); - j = loadplayer(ud.warp_on-2); - if (j) + if (loadplayer(ud.warp_on-2)) ud.warp_on = 0; } @@ -10064,18 +10064,18 @@ MAIN_LOOP_RESTART: if (gametype_flags[ud.coop] & GAMETYPE_FLAG_TDM) { - int k = 0; + j = 0; switch (ud.pteam[myconnectindex]) { case 0: - k = 3; + j = 3; break; case 1: - k = 21; + j = 21; break; } - ps[myconnectindex].palookup = ud.pcolor[myconnectindex] = k; + ps[myconnectindex].palookup = ud.pcolor[myconnectindex] = j; } else { diff --git a/polymer/eduke32/source/gamedef.c b/polymer/eduke32/source/gamedef.c index bc4f7fb62..1d28af3a6 100644 --- a/polymer/eduke32/source/gamedef.c +++ b/polymer/eduke32/source/gamedef.c @@ -2375,7 +2375,6 @@ static int parsecommand(void) case CON_CLIPDIST: case CON_LOTSOFGLASS: case CON_SAVE: - case CON_QUAKE: if (!CheckEventSync(current_event)) ReportError(WARNING_EVENTSYNC); case CON_ANGOFF: @@ -3028,6 +3027,7 @@ static int parsecommand(void) case CON_INITTIMER: case CON_LOCKPLAYER: case CON_SHOOTVAR: + case CON_QUAKE: if (!CheckEventSync(current_event)) ReportError(WARNING_EVENTSYNC); case CON_JUMP: diff --git a/polymer/eduke32/source/player.c b/polymer/eduke32/source/player.c index 73d807359..dfdb78738 100644 --- a/polymer/eduke32/source/player.c +++ b/polymer/eduke32/source/player.c @@ -134,7 +134,7 @@ static void tracers(long x1,long y1,long z1,long x2,long y2,long z2,long n) } } -void hitscantrail(long x1, long y1, long z1, long x2, long y2, long z2, short ang, short atwith) +static void hitscantrail(long x1, long y1, long z1, long x2, long y2, long z2, int ang, int atwith) { long xv, yv, zv, n, j, i; short sect = -1; @@ -189,11 +189,11 @@ long hits(short i) return (FindDistance2D(sx-SX,sy-SY)); } -static short aim(spritetype *s,short aang,short atwith) +static int aim(spritetype *s,int aang,int atwith) { - char gotshrinker,gotfreezer; - short i, j, a, k, cans; - short aimstats[] = {10,13,1,2}; + int gotshrinker,gotfreezer; + int i, j, a, k, cans; + int aimstats[] = {10,13,1,2}; long dx1, dy1, dx2, dy2, dx3, dy3, smax, sdist; long xv, yv; @@ -226,8 +226,8 @@ static short aim(spritetype *s,short aang,short atwith) j = -1; - gotshrinker = s->picnum == APLAYER && *aplWeaponWorksLike[ps[s->yvel].curr_weapon] == SHRINKER_WEAPON; - gotfreezer = s->picnum == APLAYER && *aplWeaponWorksLike[ps[s->yvel].curr_weapon] == FREEZE_WEAPON; + gotshrinker = (s->picnum == APLAYER && *aplWeaponWorksLike[ps[s->yvel].curr_weapon] == SHRINKER_WEAPON); + gotfreezer = (s->picnum == APLAYER && *aplWeaponWorksLike[ps[s->yvel].curr_weapon] == FREEZE_WEAPON); smax = 0x7fffffff; @@ -301,14 +301,11 @@ static short aim(spritetype *s,short aang,short atwith) int shoot(int i,int atwith) { - short sect, hitsect, hitspr, hitwall, l, sa, p, j, k=-1, wh, scount; - long sx, sy, sz, vel, zvel, hitx, hity, hitz, x, oldzvel, dal; + short hitsect, hitspr, hitwall, l, sa, p, j, k=-1, wh, scount; + long sx, sy, sz, vel, zvel = 0, hitx, hity, hitz, x, oldzvel, dal; unsigned char sizx,sizy; - spritetype *s; - - s = &sprite[i]; - sect = s->sectnum; - zvel = 0; + spritetype *s = &sprite[i]; + short sect = s->sectnum; if (s->picnum == APLAYER) { @@ -2033,7 +2030,7 @@ static int animateaccess(int gs,int snum) return 1; } -void myospalw(long x, long y, short tilenum, signed char shade, char orientation, char p) +static void myospalw(long x, long y, int tilenum, int shade, int orientation, int p) { if (!ud.drawweapon) return; @@ -2060,9 +2057,7 @@ void myospalw(long x, long y, short tilenum, signed char shade, char orientation } } -short fistsign; - -char last_quick_kick[MAXPLAYERS]; +static int fistsign, last_quick_kick[MAXPLAYERS]; void displayweapon(int snum) { @@ -2647,14 +2642,9 @@ void displayweapon(int snum) #define MAXHORIZ 127 long myaimmode = 0, myaimstat = 0, omyaimstat = 0; - int32 mouseyaxismode = -1; -static ControlInfo lastinfo = - { - 0,0,0,0,0,0 - }; - -char jump_input = 0; +static ControlInfo lastinfo = { 0,0,0,0,0,0 }; +int jump_input = 0; void getinput(int snum) { @@ -2960,9 +2950,6 @@ void getinput(int snum) momx += fricxv; momy += fricyv; -// if (momx == 0) momx = 1; // HACK; the game seems to "forget" about the rest of the data if we aren't moving -// if (momy == 0) momy = 1; - loc.fvel = momx; loc.svel = momy; @@ -2970,7 +2957,7 @@ void getinput(int snum) loc.horz = horiz; } -static char doincrements(struct player_struct *p) +static int doincrements(struct player_struct *p) { int snum = sprite[p->i].yvel; @@ -4231,6 +4218,24 @@ void processinput(int snum) } } + if (sync[snum].extbits&(1)) + OnEvent(EVENT_MOVEFORWARD,pi,snum, -1); + + if (sync[snum].extbits&(1<<1)) + OnEvent(EVENT_MOVEBACKWARD,pi,snum, -1); + + if (sync[snum].extbits&(1<<2)) + OnEvent(EVENT_STRAFELEFT,pi,snum, -1); + + if (sync[snum].extbits&(1<<3)) + OnEvent(EVENT_STRAFERIGHT,pi,snum, -1); + + if (sync[snum].extbits&(1<<4) || sync[snum].avel < 0) + OnEvent(EVENT_TURNLEFT,pi,snum, -1); + + if (sync[snum].extbits&(1<<5) || sync[snum].avel > 0) + OnEvent(EVENT_TURNRIGHT,pi,snum, -1); + if (p->posxv || p->posyv || sync[snum].fvel || sync[snum].svel) { p->crack_time = 777; @@ -4272,32 +4277,6 @@ void processinput(int snum) if (p->jetpack_on == 0 && p->steroids_amount > 0 && p->steroids_amount < 400) doubvel <<= 1; - /* - loc.extbits = BUTTON(gamefunc_Move_Forward); - loc.extbits |= BUTTON(gamefunc_Move_Backward)<<1; - loc.extbits |= BUTTON(gamefunc_Strafe_Left)<<2; - loc.extbits |= BUTTON(gamefunc_Strafe_Right)<<3; - loc.extbits |= BUTTON(gamefunc_Turn_Left)<<4; - loc.extbits |= BUTTON(gamefunc_Turn_Right)<<5; - */ - if (sync[snum].extbits&(1)) - OnEvent(EVENT_MOVEFORWARD,pi,snum, -1); - - if (sync[snum].extbits&(1<<1)) - OnEvent(EVENT_MOVEBACKWARD,pi,snum, -1); - - if (sync[snum].extbits&(1<<2)) - OnEvent(EVENT_STRAFELEFT,pi,snum, -1); - - if (sync[snum].extbits&(1<<3)) - OnEvent(EVENT_STRAFERIGHT,pi,snum, -1); - - if (sync[snum].extbits&(1<<4) || sync[snum].avel < 0) - OnEvent(EVENT_TURNLEFT,pi,snum, -1); - - if (sync[snum].extbits&(1<<5) || sync[snum].avel > 0) - OnEvent(EVENT_TURNRIGHT,pi,snum, -1); - p->posxv += ((sync[snum].fvel*doubvel)<<6); p->posyv += ((sync[snum].svel*doubvel)<<6); diff --git a/polymer/eduke32/source/premap.c b/polymer/eduke32/source/premap.c index 84e4fdc3c..9f7eb4c35 100644 --- a/polymer/eduke32/source/premap.c +++ b/polymer/eduke32/source/premap.c @@ -1477,7 +1477,7 @@ void waitforeverybody() } } -extern char jump_input; +extern int jump_input; void clearfifo(void) {