diff --git a/polymer/eduke32/build/include/build.h b/polymer/eduke32/build/include/build.h index 8e864e98f..fd9dd32ec 100644 --- a/polymer/eduke32/build/include/build.h +++ b/polymer/eduke32/build/include/build.h @@ -43,6 +43,8 @@ extern "C" { #define RESERVEDPALS 2 // don't forget to increment this when adding reserved pals #define DETAILPAL (MAXPALOOKUPS - 1) #define GLOWPAL (MAXPALOOKUPS - 2) +#define SPECULARPAL (MAXPALOOKUPS - 3) +#define NORMALPAL (MAXPALOOKUPS - 4) #define TSPR_TEMP 99 #define TSPR_MIRROR 100 diff --git a/polymer/eduke32/build/include/polymer.h b/polymer/eduke32/build/include/polymer.h index 14813b6db..8ed8db3f8 100644 --- a/polymer/eduke32/build/include/polymer.h +++ b/polymer/eduke32/build/include/polymer.h @@ -148,12 +148,19 @@ typedef struct s_prprogrambit { // LIGHTS #define PR_MAXLIGHTS 128 #define SHADOW_DEPTH_OFFSET 30 -#define PR_MAXLIGHTPRIORITY 3 +#define PR_MAXLIGHTPRIORITY 6 + +#define PR_LIGHT_PRIO_MAX 0 +#define PR_LIGHT_PRIO_MAX_GAME 1 +#define PR_LIGHT_PRIO_HIGH 2 +#define PR_LIGHT_PRIO_HIGH_GAME 3 +#define PR_LIGHT_PRIO_LOW 4 +#define PR_LIGHT_PRIO_LOW_GAME 5 typedef struct s_prlight { int32_t x, y, z, horiz, range; int16_t angle, faderadius, radius, sector; - char color[3], priority; + uint8_t color[3], priority; int8_t minshade, maxshade; GLfloat proj[16]; GLfloat transform[16]; diff --git a/polymer/eduke32/build/src/defs.c b/polymer/eduke32/build/src/defs.c index 5af6758a9..fd2f66a17 100644 --- a/polymer/eduke32/build/src/defs.c +++ b/polymer/eduke32/build/src/defs.c @@ -47,6 +47,8 @@ enum T_PAL, T_DETAIL, T_GLOW, + T_SPECULAR, + T_NORMAL, T_PARAM, T_HUD, T_XADD, @@ -131,16 +133,18 @@ static tokenlist basetokens[] = static tokenlist modeltokens[] = { - { "scale", T_SCALE }, - { "shade", T_SHADE }, - { "zadd", T_ZADD }, - { "frame", T_FRAME }, - { "anim", T_ANIM }, - { "skin", T_SKIN }, - { "glow", T_GLOW }, - { "detail", T_DETAIL }, - { "hud", T_HUD }, - { "flags", T_FLAGS }, + { "scale", T_SCALE }, + { "shade", T_SHADE }, + { "zadd", T_ZADD }, + { "frame", T_FRAME }, + { "anim", T_ANIM }, + { "skin", T_SKIN }, + { "detail", T_DETAIL }, + { "glow", T_GLOW }, + { "specular", T_SPECULAR }, + { "normal", T_NORMAL }, + { "hud", T_HUD }, + { "flags", T_FLAGS }, }; static tokenlist modelframetokens[] = @@ -224,6 +228,8 @@ static tokenlist texturetokens[] = { "pal", T_PAL }, { "detail", T_DETAIL }, { "glow", T_GLOW }, + { "specular",T_SPECULAR }, + { "normal", T_NORMAL }, }; static tokenlist texturetokens_pal[] = @@ -1178,7 +1184,7 @@ static int32_t defsparser(scriptfile *script) #endif } break; - case T_SKIN: case T_DETAIL: case T_GLOW: + case T_SKIN: case T_DETAIL: case T_GLOW: case T_SPECULAR: case T_NORMAL: { char *skintokptr = script->ltextptr; char *skinend, *skinfn = 0; @@ -1223,6 +1229,12 @@ static int32_t defsparser(scriptfile *script) case T_GLOW: palnum = GLOWPAL; break; + case T_SPECULAR: + palnum = SPECULARPAL; + break; + case T_NORMAL: + palnum = NORMALPAL; + break; } #if defined(POLYMOST) && defined(USE_OPENGL) @@ -1488,9 +1500,6 @@ static int32_t defsparser(scriptfile *script) char *texturetokptr = script->ltextptr, *textureend; int32_t tile=-1, token; - char *fnB=0; double alphacutB=0, xscaleB=0, yscaleB=0; char flagsB=0; - int32_t palbits=0; - if (scriptfile_getsymbol(script,&tile)) break; if (scriptfile_getbraces(script,&textureend)) break; while (script->textptr < textureend) @@ -1503,7 +1512,7 @@ static int32_t defsparser(scriptfile *script) char *paltokptr = script->ltextptr, *palend; int32_t pal=-1, i; char *fn = NULL, *tfn = NULL; - double alphacut = -1.0, xscale = 1.0, yscale = 1.0, specpower = 1.0, specfactor = 1.0; + double alphacut = -1.0, xscale = 1.0, yscale = 1.0; char flags = 0; if (scriptfile_getsymbol(script,&pal)) break; @@ -1520,10 +1529,6 @@ static int32_t defsparser(scriptfile *script) scriptfile_getdouble(script,&xscale); break; case T_YSCALE: scriptfile_getdouble(script,&yscale); break; - case T_SPECPOWER: - scriptfile_getdouble(script,&specpower); break; - case T_SPECFACTOR: - scriptfile_getdouble(script,&specfactor); break; case T_NOCOMPRESS: flags |= 1; break; case T_NODOWNSIZE: @@ -1567,17 +1572,15 @@ static int32_t defsparser(scriptfile *script) xscale = 1.0f / xscale; yscale = 1.0f / yscale; - hicsetsubsttex(tile,pal,fn,alphacut,xscale,yscale, specpower, specfactor,flags); - fnB=fn; alphacutB=alphacut; xscaleB=xscale; yscaleB=yscale; flagsB=flags; - if (pal<30)palbits|=1<ltextptr, *detailend; int32_t pal = 0, i; char *fn = NULL, *tfn = NULL; - double xscale = 1.0, yscale = 1.0; + double xscale = 1.0, yscale = 1.0, specpower = 1.0, specfactor = 1.0; char flags = 0; if (scriptfile_getbraces(script,&detailend)) break; @@ -1591,6 +1594,10 @@ static int32_t defsparser(scriptfile *script) scriptfile_getdouble(script,&xscale); break; case T_YSCALE: scriptfile_getdouble(script,&yscale); break; + case T_SPECPOWER: + scriptfile_getdouble(script,&specpower); break; + case T_SPECFACTOR: + scriptfile_getdouble(script,&specfactor); break; case T_NOCOMPRESS: flags |= 1; break; case T_NODOWNSIZE: @@ -1636,8 +1643,14 @@ static int32_t defsparser(scriptfile *script) case T_GLOW: pal = GLOWPAL; break; + case T_SPECULAR: + pal = SPECULARPAL; + break; + case T_NORMAL: + pal = NORMALPAL; + break; } - hicsetsubsttex(tile,pal,fn,-1.0,xscale,yscale,1.0,1.0,flags); + hicsetsubsttex(tile,pal,fn,-1.0f,xscale,yscale, specpower, specfactor,flags); } break; default: diff --git a/polymer/eduke32/build/src/polymer.c b/polymer/eduke32/build/src/polymer.c index 54a0decbf..1fa80d6cc 100644 --- a/polymer/eduke32/build/src/polymer.c +++ b/polymer/eduke32/build/src/polymer.c @@ -11,7 +11,7 @@ int32_t pr_normalmapping = 1; int32_t pr_specularmapping = 1; int32_t pr_shadows = 1; int32_t pr_shadowcount = 5; -int32_t pr_shadowdetail = 2; +int32_t pr_shadowdetail = 4; int32_t pr_maxlightpasses = 5; int32_t pr_maxlightpriority = PR_MAXLIGHTPRIORITY; int32_t pr_fov = 426; // appears to be the classic setting. @@ -3294,12 +3294,12 @@ static void polymer_getbuildmaterial(_prmaterial* material, int16_t tile polymer_getscratchmaterial(material); // PR_BIT_NORMAL_MAP - if (hicfindsubst(tilenum, 100, 0)) + if (hicfindsubst(tilenum, NORMALPAL, 0)) { glowpth = NULL; - glowpth = gltexcache(tilenum, 100, 0); + glowpth = gltexcache(tilenum, NORMALPAL, 0); - if (glowpth && glowpth->hicr && (glowpth->hicr->palnum == 100)) { + if (glowpth && glowpth->hicr && (glowpth->hicr->palnum == NORMALPAL)) { material->normalmap = glowpth->glpic; material->normalbias[0] = glowpth->hicr->specpower; material->normalbias[1] = glowpth->hicr->specfactor; @@ -3362,12 +3362,12 @@ static void polymer_getbuildmaterial(_prmaterial* material, int16_t tile // PR_BIT_SPECULAR_MAP - if (hicfindsubst(tilenum, 101, 0)) + if (hicfindsubst(tilenum, SPECULARPAL, 0)) { glowpth = NULL; - glowpth = gltexcache(tilenum, 101, 0); + glowpth = gltexcache(tilenum, SPECULARPAL, 0); - if (glowpth && glowpth->hicr && (glowpth->hicr->palnum == 101)) + if (glowpth && glowpth->hicr && (glowpth->hicr->palnum == SPECULARPAL)) material->specmap = glowpth->glpic; } diff --git a/polymer/eduke32/source/actors.c b/polymer/eduke32/source/actors.c index f79cddab2..36f25a09a 100644 --- a/polymer/eduke32/source/actors.c +++ b/polymer/eduke32/source/actors.c @@ -598,10 +598,10 @@ static void G_MoveZombieActors(void) case FLOORFLAME__STATIC: case FIREBARREL__STATIC: case FIREVASE__STATIC: - G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 4096, 255+(80<<8),0); + G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 4096, 255+(80<<8),PR_LIGHT_PRIO_MAX_GAME); break; case ATOMICHEALTH__STATIC: - G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 2048, 128+(128<<8)+(255<<16),1); + G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 2048, 128+(128<<8)+(255<<16),PR_LIGHT_PRIO_HIGH_GAME); break; case FIRE__STATIC: @@ -610,7 +610,7 @@ static void G_MoveZombieActors(void) if (ActorExtra[i].floorz - ActorExtra[i].ceilingz < 128) break; if (s->z > ActorExtra[i].floorz+2048) break; */ - G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 64 * s->xrepeat, 255+(80<<8),0); + G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 64 * s->xrepeat, 255+(80<<8),PR_LIGHT_PRIO_MAX_GAME); break; case BURNING__STATIC: case BURNING2__STATIC: @@ -618,19 +618,19 @@ static void G_MoveZombieActors(void) if (ActorExtra[i].floorz - ActorExtra[i].ceilingz < 128) break; if (s->z > ActorExtra[i].floorz + 2048) break; */ - G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 64 * s->xrepeat, 255+(80<<8),0); + G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 64 * s->xrepeat, 255+(80<<8),PR_LIGHT_PRIO_MAX_GAME); break; case EXPLOSION2__STATIC: - G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 4096, 255+(80<<8),1); + G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 4096, 255+(80<<8),PR_LIGHT_PRIO_HIGH_GAME); break; case FORCERIPPLE__STATIC: // case TRANSPORTERSTAR__STATIC: case TRANSPORTERBEAM__STATIC: - G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 2048, 80+(80<<8)+(255<<16),2); + G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 2048, 80+(80<<8)+(255<<16),PR_LIGHT_PRIO_LOW_GAME); break; case SHRINKEREXPLOSION__STATIC: - G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 2048, 128+(255<<8)+(128<<16),1); + G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 2048, 128+(255<<8)+(128<<16),PR_LIGHT_PRIO_HIGH_GAME); break; } @@ -2181,7 +2181,7 @@ CLEAR_THE_BOLT: case FLOORFLAME__STATIC: case FIREBARREL__STATIC: case FIREVASE__STATIC: - G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 4096, 255+(80<<8),0); + G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 4096, 255+(80<<8),PR_LIGHT_PRIO_MAX_GAME); case EXPLODINGBARREL__STATIC: case WOODENHORSE__STATIC: case HORSEONSIDE__STATIC: @@ -2284,7 +2284,7 @@ static void G_MoveWeapons(void) // A_PlaySound(WIERDSHOT_FLY,i); if (ActorExtra[i].projectile.flashcolor) - G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 2048, ActorExtra[i].projectile.flashcolor,2); + G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 2048, ActorExtra[i].projectile.flashcolor,PR_LIGHT_PRIO_LOW_GAME); if (ActorExtra[i].projectile.workslike & PROJECTILE_BOUNCESOFFWALLS) { @@ -2731,21 +2731,21 @@ static void G_MoveWeapons(void) switch (DynamicTileMap[s->picnum]) { case FREEZEBLAST__STATIC: - G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 2048, 128+(128<<8)+(255<<16),1); + G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 2048, 128+(128<<8)+(255<<16),PR_LIGHT_PRIO_HIGH_GAME); break; case COOLEXPLOSION1__STATIC: - G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 4096, 128+(0<<8)+(255<<16),1); + G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 4096, 128+(0<<8)+(255<<16),PR_LIGHT_PRIO_HIGH_GAME); break; case SHRINKSPARK__STATIC: - G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 2048, 128+(255<<8)+(128<<16),1); + G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 2048, 128+(255<<8)+(128<<16),PR_LIGHT_PRIO_HIGH_GAME); break; case FIRELASER__STATIC: - G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 64 * s->yrepeat, 255+(80<<8),2); + G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 64 * s->yrepeat, 255+(80<<8),PR_LIGHT_PRIO_LOW_GAME); break; case RPG__STATIC: - G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 64 * s->yrepeat, 255+(80<<8),2); + G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 64 * s->yrepeat, 255+(80<<8),PR_LIGHT_PRIO_LOW_GAME); if (DynamicTileMap[s->picnum] == RPG__STATIC && ActorExtra[i].picnum != BOSS2 && s->xrepeat >= 10 && sector[s->sectnum].lotag != 2) @@ -3391,7 +3391,7 @@ static void G_MoveActors(void) switch (DynamicTileMap[switchpicnum]) { case ATOMICHEALTH__STATIC: - G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 2048, 128+(128<<8)+(255<<16),1); + G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 2048, 128+(128<<8)+(255<<16),PR_LIGHT_PRIO_HIGH_GAME); break; case FIRE__STATIC: @@ -3400,7 +3400,7 @@ static void G_MoveActors(void) if (ActorExtra[i].floorz - ActorExtra[i].ceilingz < 128) break; if (s->z > ActorExtra[i].floorz+2048) break; */ - G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 64 * s->xrepeat, 255+(80<<8),0); + G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 64 * s->xrepeat, 255+(80<<8),PR_LIGHT_PRIO_MAX_GAME); break; case DUCK__STATIC: @@ -3664,7 +3664,7 @@ static void G_MoveActors(void) gamelights[gamelightcount&(PR_MAXLIGHTS-1)].color[1] = 255; gamelights[gamelightcount&(PR_MAXLIGHTS-1)].color[2] = 255; - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = 0; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = PR_LIGHT_PRIO_MAX_GAME; if (gamelightcount < PR_MAXLIGHTS) gamelightcount++; @@ -5155,19 +5155,20 @@ static void G_MoveMisc(void) // STATNUM 5 if (ActorExtra[i].floorz - ActorExtra[i].ceilingz < 128) break; if (s->z > ActorExtra[i].floorz + 2048) break; */ - G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 64 * s->yrepeat, 255+(80<<8),0); + G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 64 * s->yrepeat, 255+(80<<8),PR_LIGHT_PRIO_MAX_GAME); break; case EXPLOSION2__STATIC: - G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), (512 * s->yrepeat) / (ActorExtra[i].temp_data[2]+1), 255+(80<<8),1); + G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), + (512 * s->yrepeat) / (ActorExtra[i].temp_data[2]+1), 255+(80<<8),PR_LIGHT_PRIO_HIGH_GAME); break; case FORCERIPPLE__STATIC: // case TRANSPORTERSTAR__STATIC: case TRANSPORTERBEAM__STATIC: - G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 2048, 80+(80<<8)+(255<<16),2); + G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 2048, 80+(80<<8)+(255<<16),PR_LIGHT_PRIO_LOW_GAME); break; case SHRINKEREXPLOSION__STATIC: - G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 2048, 128+(255<<8)+(128<<16),1); + G_AddGameLight(0, s->sectnum, s->x, s->y, s->z-((s->yrepeat*tilesizy[s->picnum])<<1), 2048, 128+(255<<8)+(128<<16),PR_LIGHT_PRIO_HIGH_GAME); break; } if (!actorscrptr[sprite[i].picnum]) @@ -7547,11 +7548,11 @@ static void G_MoveEffectors(void) //STATNUM 3 if (CS & 2) { if (CS & 512) - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = 2; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = PR_LIGHT_PRIO_LOW; else - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = 1; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = PR_LIGHT_PRIO_HIGH; } else - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = 0; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = PR_LIGHT_PRIO_MAX; if (gamelightcount < PR_MAXLIGHTS) gamelightcount++; @@ -7586,11 +7587,11 @@ static void G_MoveEffectors(void) //STATNUM 3 if (CS & 2) { if (CS & 512) - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = 2; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = PR_LIGHT_PRIO_LOW; else - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = 1; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = PR_LIGHT_PRIO_HIGH; } else - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = 0; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = PR_LIGHT_PRIO_MAX; if (gamelightcount < PR_MAXLIGHTS) gamelightcount++; diff --git a/polymer/eduke32/source/astub.c b/polymer/eduke32/source/astub.c index 99b6680aa..43c139351 100644 --- a/polymer/eduke32/source/astub.c +++ b/polymer/eduke32/source/astub.c @@ -9813,11 +9813,11 @@ void ExtAnalyzeSprites(void) if (CS & 2) { if (CS & 512) - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = 2; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = PR_LIGHT_PRIO_LOW; else - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = 1; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = PR_LIGHT_PRIO_HIGH; } else - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = 0; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = PR_LIGHT_PRIO_MAX; gamelightcount++; } @@ -9850,11 +9850,11 @@ void ExtAnalyzeSprites(void) if (CS & 2) { if (CS & 512) - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = 2; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = PR_LIGHT_PRIO_LOW; else - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = 1; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = PR_LIGHT_PRIO_HIGH; } else - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = 0; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = PR_LIGHT_PRIO_MAX; gamelightcount++; } diff --git a/polymer/eduke32/source/game.c b/polymer/eduke32/source/game.c index ec0a1c6a9..1f3218c53 100644 --- a/polymer/eduke32/source/game.c +++ b/polymer/eduke32/source/game.c @@ -5535,7 +5535,7 @@ int32_t A_Spawn(int32_t j, int32_t pn) break; case EXPLOSION2__STATIC: - G_AddGameLight(0, sp->sectnum, sp->x, sp->y, sp->z-((sp->yrepeat*tilesizy[sp->picnum])<<1), 8192, 255+(80<<8),0); + G_AddGameLight(0, sp->sectnum, sp->x, sp->y, sp->z-((sp->yrepeat*tilesizy[sp->picnum])<<1), 8192, 255+(80<<8),PR_LIGHT_PRIO_MAX_GAME); case EXPLOSION2BOT__STATIC: case BURNING__STATIC: case BURNING2__STATIC: @@ -7447,7 +7447,7 @@ PALONLY: framelights[framelightcount & (PR_MAXLIGHTS-1)].color[1] = 255; framelights[framelightcount & (PR_MAXLIGHTS-1)].color[2] = 48; - framelights[framelightcount & (PR_MAXLIGHTS-1)].priority = 2; + framelights[framelightcount & (PR_MAXLIGHTS-1)].priority = PR_LIGHT_PRIO_LOW_GAME; if (framelightcount < PR_MAXLIGHTS) framelightcount++; @@ -7488,7 +7488,7 @@ PALONLY: framelights[framelightcount & (PR_MAXLIGHTS-1)].color[1] = 48; framelights[framelightcount & (PR_MAXLIGHTS-1)].color[2] = 48; - framelights[framelightcount & (PR_MAXLIGHTS-1)].priority = 2; + framelights[framelightcount & (PR_MAXLIGHTS-1)].priority = PR_LIGHT_PRIO_LOW_GAME; if (framelightcount < PR_MAXLIGHTS) framelightcount++; diff --git a/polymer/eduke32/source/global.c b/polymer/eduke32/source/global.c index 1f66ea0b5..2e5f3cdf4 100644 --- a/polymer/eduke32/source/global.c +++ b/polymer/eduke32/source/global.c @@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. //------------------------------------------------------------------------- #include "duke3d.h" -const char *s_buildDate = "20090426"; +const char *s_buildDate = "20090428"; char *MusicPtr = NULL; int32_t g_musicSize; diff --git a/polymer/eduke32/source/player.c b/polymer/eduke32/source/player.c index f7e1c1641..5492b0f57 100644 --- a/polymer/eduke32/source/player.c +++ b/polymer/eduke32/source/player.c @@ -355,7 +355,7 @@ int32_t A_Shoot(int32_t i,int32_t atwith) case RPG__STATIC: case MORTER__STATIC: G_AddGameLight(0, s->sectnum, s->x+((sintable[(s->ang+512)&2047])>>7), - s->y+((sintable[(s->ang)&2047])>>7), s->z-PHEIGHT, 8192, 255+(80<<8),1); + s->y+((sintable[(s->ang)&2047])>>7), s->z-PHEIGHT, 8192, 255+(80<<8),PR_LIGHT_PRIO_MAX_GAME); gamelights[gamelightcount&(PR_MAXLIGHTS-1)].sector = s->sectnum; gamelights[gamelightcount&(PR_MAXLIGHTS-1)].x = s->x+((sintable[(s->ang+512)&2047])>>4); @@ -373,7 +373,7 @@ int32_t A_Shoot(int32_t i,int32_t atwith) gamelights[gamelightcount&(PR_MAXLIGHTS-1)].color[1] = 80; gamelights[gamelightcount&(PR_MAXLIGHTS-1)].color[2] = 0; - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = 1; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = PR_LIGHT_PRIO_MAX_GAME; if (gamelightcount < PR_MAXLIGHTS) gamelightcount++; @@ -390,7 +390,7 @@ int32_t A_Shoot(int32_t i,int32_t atwith) if (ProjectileData[atwith].flashcolor) { G_AddGameLight(0, s->sectnum, s->x+((sintable[(s->ang+512)&2047])>>7), - s->y+((sintable[(s->ang)&2047])>>7), s->z-PHEIGHT, 8192, ProjectileData[atwith].flashcolor,1); + s->y+((sintable[(s->ang)&2047])>>7), s->z-PHEIGHT, 8192, ProjectileData[atwith].flashcolor,PR_LIGHT_PRIO_MAX_GAME); gamelights[gamelightcount&(PR_MAXLIGHTS-1)].sector = s->sectnum; gamelights[gamelightcount&(PR_MAXLIGHTS-1)].x = s->x+((sintable[(s->ang+512)&2047])>>4); gamelights[gamelightcount&(PR_MAXLIGHTS-1)].y = s->y+((sintable[(s->ang)&2047])>>4); @@ -407,7 +407,7 @@ int32_t A_Shoot(int32_t i,int32_t atwith) gamelights[gamelightcount&(PR_MAXLIGHTS-1)].color[1] = (ProjectileData[atwith].flashcolor>>8)&255; gamelights[gamelightcount&(PR_MAXLIGHTS-1)].color[2] = (ProjectileData[atwith].flashcolor>>16)&255; - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = 1; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = PR_LIGHT_PRIO_MAX_GAME; if (gamelightcount < PR_MAXLIGHTS) gamelightcount++; @@ -2185,7 +2185,7 @@ void P_FireWeapon(DukePlayer_t *p) #ifdef POLYMER G_AddGameLight(0, s->sectnum, s->x+((sintable[(p->ang+512)&2047])>>7), s->y+((sintable[(p->ang)&2047])>>7), - s->z-PHEIGHT, 8192, aplWeaponFlashColor[p->curr_weapon][snum],1); + s->z-PHEIGHT, 8192, aplWeaponFlashColor[p->curr_weapon][snum],PR_LIGHT_PRIO_MAX_GAME); gamelights[gamelightcount&(PR_MAXLIGHTS-1)].sector = s->sectnum; gamelights[gamelightcount&(PR_MAXLIGHTS-1)].x = s->x+((sintable[(p->ang+512)&2047])>>4); @@ -2203,7 +2203,7 @@ void P_FireWeapon(DukePlayer_t *p) gamelights[gamelightcount&(PR_MAXLIGHTS-1)].color[1] = (aplWeaponFlashColor[p->curr_weapon][snum]>>8)&255; gamelights[gamelightcount&(PR_MAXLIGHTS-1)].color[2] = (aplWeaponFlashColor[p->curr_weapon][snum]>>16)&255;; - gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = 1; + gamelights[gamelightcount&(PR_MAXLIGHTS-1)].priority = PR_LIGHT_PRIO_MAX_GAME; if (gamelightcount < PR_MAXLIGHTS) gamelightcount++;