Mostly just Mapster fixes

git-svn-id: https://svn.eduke32.com/eduke32@1434 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
terminx 2009-06-16 22:11:13 +00:00
parent fb5811855d
commit dea9f18232
5 changed files with 30 additions and 16 deletions

View file

@ -6007,11 +6007,11 @@ void polymost_initosdfuncs(void)
{ "r_pr_overridespecular", "r_pr_overridespecular: overrides specular material power and factor values with values from the pr_specularpower and pr_specularfactor cvars; use it to fine-tune DEF tokens", (void*)&pr_overridespecular, CVAR_BOOL | CVAR_NOSAVE, 0, 0, 1 }, { "r_pr_overridespecular", "r_pr_overridespecular: overrides specular material power and factor values with values from the pr_specularpower and pr_specularfactor cvars; use it to fine-tune DEF tokens", (void*)&pr_overridespecular, CVAR_BOOL | CVAR_NOSAVE, 0, 0, 1 },
{ "r_pr_specularpower", "r_pr_specularpower: overriden specular material power", (void*)&pr_specularpower, CVAR_FLOAT | CVAR_NOSAVE, 0, -10, 1000 }, { "r_pr_specularpower", "r_pr_specularpower: overriden specular material power", (void*)&pr_specularpower, CVAR_FLOAT | CVAR_NOSAVE, 0, -10, 1000 },
{ "r_pr_specularfactor", "r_pr_specularfactor: overriden specular material factor", (void*)&pr_specularfactor, CVAR_FLOAT | CVAR_NOSAVE, 0, -10, 1000 }, { "r_pr_specularfactor", "r_pr_specularfactor: overriden specular material factor", (void*)&pr_specularfactor, CVAR_FLOAT | CVAR_NOSAVE, 0, -10, 1000 },
{ "r_pr_atiworkaround", "r_pr_atiworkaround: enable this to workaround an ATI driver bug that causes sprite shadows to be square - you need to restart the renderer for it to take effect", (void*)&pr_atiworkaround, CVAR_BOOL, 0, 0, 1 }, { "r_pr_atiworkaround", "r_pr_atiworkaround: enable this to workaround an ATI driver bug that causes sprite shadows to be square - you need to restart the renderer for it to take effect", (void*)&pr_atiworkaround, CVAR_BOOL | CVAR_NOSAVE, 0, 0, 1 },
#endif #endif
{ "r_models","r_models: enable/disable model rendering in >8-bit mode",(void *)&usemodels, CVAR_BOOL, 0, 0, 1 }, { "r_models","r_models: enable/disable model rendering",(void *)&usemodels, CVAR_BOOL, 0, 0, 1 },
{ "r_hightile","r_hightile: enable/disable hightile texture rendering in >8-bit mode",(void *)&usehightile, CVAR_BOOL, 0, 0, 1 }, { "r_hightile","r_hightile: enable/disable hightile texture rendering",(void *)&usehightile, CVAR_BOOL, 0, 0, 1 },
#endif #endif
}; };

View file

@ -50,7 +50,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include <shellapi.h> #include <shellapi.h>
#endif #endif
#define BUILDDATE " 20090522" #define BUILDDATE " 20090616"
static int32_t floor_over_floor; static int32_t floor_over_floor;
@ -192,10 +192,13 @@ void create_map_snapshot(void)
tempcrc = crc32once((uint8_t *)&sector[0],sizeof(sectortype) * numsectors); tempcrc = crc32once((uint8_t *)&sector[0],sizeof(sectortype) * numsectors);
if (mapstate->prev && mapstate->prev->numsectors == numsectors && mapstate->prev->sectcrc == tempcrc) if (mapstate->prev && mapstate->prev->numsectors == numsectors && mapstate->prev->sectcrc == tempcrc)
{ {
mapstate->sectors = mapstate->prev->sectors; mapstate->sectors = mapstate->prev->sectors;
/*OSD_Printf("found a match between undo sectors\n");*/ mapstate->sectsiz = mapstate->prev->sectsiz;
mapstate->sectcrc = tempcrc;
/* OSD_Printf("found a match between undo sectors\n"); */
} }
else else
{ {
@ -208,10 +211,13 @@ void create_map_snapshot(void)
tempcrc = crc32once((uint8_t *)&wall[0],sizeof(walltype) * numwalls); tempcrc = crc32once((uint8_t *)&wall[0],sizeof(walltype) * numwalls);
if (mapstate->prev && mapstate->prev->numwalls == numwalls && mapstate->prev->wallcrc == tempcrc) if (mapstate->prev && mapstate->prev->numwalls == numwalls && mapstate->prev->wallcrc == tempcrc)
{ {
mapstate->walls = mapstate->prev->walls; mapstate->walls = mapstate->prev->walls;
/*OSD_Printf("found a match between undo walls\n");*/ mapstate->wallsiz = mapstate->prev->wallsiz;
mapstate->wallcrc = tempcrc;
/* OSD_Printf("found a match between undo walls\n"); */
} }
else else
{ {
@ -222,21 +228,24 @@ void create_map_snapshot(void)
mapstate->wallcrc = tempcrc; mapstate->wallcrc = tempcrc;
} }
tempcrc = crc32once((uint8_t *)&sprite[0],sizeof(spritetype) * numsprites); tempcrc = crc32once((uint8_t *)&sprite[0],sizeof(spritetype) * MAXSPRITES);
if (mapstate->prev && mapstate->prev->numsprites == numsprites && mapstate->prev->spritecrc == tempcrc) if (mapstate->prev && mapstate->prev->numsprites == numsprites && mapstate->prev->spritecrc == tempcrc)
{ {
mapstate->sprites = mapstate->prev->sprites; mapstate->sprites = mapstate->prev->sprites;
mapstate->spritesiz = mapstate->prev->spritesiz;
mapstate->spritecrc = tempcrc;
/*OSD_Printf("found a match between undo sprites\n");*/ /*OSD_Printf("found a match between undo sprites\n");*/
} }
else else
{ {
int32_t i = 0;
spritetype *spri, *tspri = (spritetype *)Bcalloc(1, sizeof(spritetype) * numsprites); spritetype *spri, *tspri = (spritetype *)Bcalloc(1, sizeof(spritetype) * numsprites);
mapstate->sprites = (spritetype *)Bcalloc(1, sizeof(spritetype) * numsprites); mapstate->sprites = (spritetype *)Bcalloc(1, sizeof(spritetype) * numsprites);
spri = &tspri[0]; spri = &tspri[0];
for (j=0; j<MAXSPRITES; j++) for (j=0; j<MAXSPRITES && i < numsprites; j++,i++)
{ {
if (sprite[j].statnum != MAXSTATUS) if (sprite[j].statnum != MAXSTATUS)
Bmemcpy(spri++,&sprite[j],sizeof(spritetype)); Bmemcpy(spri++,&sprite[j],sizeof(spritetype));
@ -6906,7 +6915,7 @@ static void Keys3d(void)
temphitag = sprite[searchwall].hitag; temphitag = sprite[searchwall].hitag;
tempextra = sprite[searchwall].extra; tempextra = sprite[searchwall].extra;
tempxvel = sprite[searchwall].xvel; tempxvel = sprite[searchwall].xvel;
tempyvel = sprite[searchwall].xvel; tempyvel = sprite[searchwall].zvel;
tempzvel = sprite[searchwall].xvel; tempzvel = sprite[searchwall].xvel;
} }
if (searchstat == 4) if (searchstat == 4)
@ -10452,6 +10461,8 @@ static void Keys2d3d(void)
void ExtCheckKeys(void) void ExtCheckKeys(void)
{ {
static int32_t soundinit = 0; static int32_t soundinit = 0;
static int32_t lastbstatus = 0;
if (!soundinit) if (!soundinit)
{ {
g_numsounds = 0; g_numsounds = 0;
@ -10510,6 +10521,7 @@ void ExtCheckKeys(void)
} }
} }
} }
lastbstatus = bstatus;
readmousebstatus(&bstatus); readmousebstatus(&bstatus);
Keys2d3d(); Keys2d3d();
@ -10525,7 +10537,7 @@ void ExtCheckKeys(void)
} }
else Keys2d(); else Keys2d();
if (asksave == 1 && bstatus == 0 && mapstate) if (asksave == 1 && (bstatus + lastbstatus) == 0 && mapstate)
{ {
// message("Saved undo rev %d",map_revision); // message("Saved undo rev %d",map_revision);
create_map_snapshot(); create_map_snapshot();

View file

@ -52,7 +52,7 @@ extern "C" {
#include "macros.h" #include "macros.h"
#define APPNAME "EDuke32" #define APPNAME "EDuke32"
#define VERSION " 2.0.0devel" #define VERSION " 2.0.0unstable"
// this is checked against http://eduke32.com/VERSION // this is checked against http://eduke32.com/VERSION
extern const char *s_buildDate; extern const char *s_buildDate;
#define HEAD2 APPNAME VERSION #define HEAD2 APPNAME VERSION
@ -225,15 +225,17 @@ enum PlayerActionFlags_t {
pfacing = 65536 pfacing = 65536
}; };
enum InventoryItem_t { enum DukeInventory_t {
GET_STEROIDS, GET_STEROIDS,
GET_SHIELD, GET_SHIELD,
GET_SCUBA, GET_SCUBA,
GET_HOLODUKE, GET_HOLODUKE,
GET_JETPACK, GET_JETPACK,
GET_ACCESS = 6, GET_DUMMY1,
GET_ACCESS,
GET_HEATS, GET_HEATS,
GET_FIRSTAID = 9, GET_DUMMY2,
GET_FIRSTAID,
GET_BOOTS GET_BOOTS
}; };

View file

@ -11269,7 +11269,7 @@ CLEAN_DIRECTORY:
flushlogwindow = 0; flushlogwindow = 0;
loaddefinitions_game(duke3ddef, TRUE); loaddefinitions_game(duke3ddef, TRUE);
flushlogwindow = 1; // flushlogwindow = 1;
{ {
struct strllist *s; struct strllist *s;

View file

@ -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 = "20090613"; const char *s_buildDate = "20090616";
char *MusicPtr = NULL; char *MusicPtr = NULL;
int32_t g_musicSize; int32_t g_musicSize;