diff --git a/polymer/eduke32/build/src/polymost.c b/polymer/eduke32/build/src/polymost.c index 61484cf83..6555bf73a 100644 --- a/polymer/eduke32/build/src/polymost.c +++ b/polymer/eduke32/build/src/polymost.c @@ -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_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_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 - { "r_models","r_models: enable/disable model rendering in >8-bit mode",(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_models","r_models: enable/disable model rendering",(void *)&usemodels, CVAR_BOOL, 0, 0, 1 }, + { "r_hightile","r_hightile: enable/disable hightile texture rendering",(void *)&usehightile, CVAR_BOOL, 0, 0, 1 }, #endif }; diff --git a/polymer/eduke32/source/astub.c b/polymer/eduke32/source/astub.c index a0bc6c275..f81ba70ef 100644 --- a/polymer/eduke32/source/astub.c +++ b/polymer/eduke32/source/astub.c @@ -50,7 +50,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include #endif -#define BUILDDATE " 20090522" +#define BUILDDATE " 20090616" static int32_t floor_over_floor; @@ -192,10 +192,13 @@ void create_map_snapshot(void) tempcrc = crc32once((uint8_t *)§or[0],sizeof(sectortype) * numsectors); + if (mapstate->prev && mapstate->prev->numsectors == numsectors && mapstate->prev->sectcrc == tempcrc) { 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 { @@ -208,10 +211,13 @@ void create_map_snapshot(void) tempcrc = crc32once((uint8_t *)&wall[0],sizeof(walltype) * numwalls); + if (mapstate->prev && mapstate->prev->numwalls == numwalls && mapstate->prev->wallcrc == tempcrc) { 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 { @@ -222,21 +228,24 @@ void create_map_snapshot(void) 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) { mapstate->sprites = mapstate->prev->sprites; + mapstate->spritesiz = mapstate->prev->spritesiz; + mapstate->spritecrc = tempcrc; /*OSD_Printf("found a match between undo sprites\n");*/ } else { + int32_t i = 0; spritetype *spri, *tspri = (spritetype *)Bcalloc(1, sizeof(spritetype) * numsprites); mapstate->sprites = (spritetype *)Bcalloc(1, sizeof(spritetype) * numsprites); spri = &tspri[0]; - for (j=0; j