This commit is contained in:
Rachael Alexanderson 2017-06-20 09:39:12 -04:00
commit ff257fcfd7
8 changed files with 19 additions and 13 deletions

View file

@ -79,7 +79,6 @@ EXTERN_CVAR (Float, transsouls)
extern TArray<spritedef_t> sprites; extern TArray<spritedef_t> sprites;
extern TArray<spriteframe_t> SpriteFrames; extern TArray<spriteframe_t> SpriteFrames;
extern TArray<PalEntry> BloodTranslationColors;
enum HWRenderStyle enum HWRenderStyle
{ {

View file

@ -726,7 +726,7 @@ int FRemapTable::StoreTranslation(int slot)
// //
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
TArray<PalEntry> BloodTranslationColors; static TArray<PalEntry> BloodTranslationColors;
int CreateBloodTranslation(PalEntry color) int CreateBloodTranslation(PalEntry color)
{ {
@ -754,7 +754,9 @@ int CreateBloodTranslation(PalEntry color)
I_Error("Too many blood colors"); I_Error("Too many blood colors");
} }
FRemapTable *trans = new FRemapTable; FRemapTable *trans = new FRemapTable;
for (i = 0; i < 256; i++) trans->Palette[0] = 0;
trans->Remap[0] = 0;
for (i = 1; i < 256; i++)
{ {
int bright = MAX(MAX(GPalette.BaseColors[i].r, GPalette.BaseColors[i].g), GPalette.BaseColors[i].b); int bright = MAX(MAX(GPalette.BaseColors[i].r, GPalette.BaseColors[i].g), GPalette.BaseColors[i].b);
PalEntry pe = PalEntry(255, color.r*bright/255, color.g*bright/255, color.b*bright/255); PalEntry pe = PalEntry(255, color.r*bright/255, color.g*bright/255, color.b*bright/255);

View file

@ -108,8 +108,6 @@ void R_GetPlayerTranslation (int color, const struct FPlayerColorSet *colorset,
extern const uint8_t IcePalette[16][3]; extern const uint8_t IcePalette[16][3];
extern TArray<PalEntry> BloodTranslationColors;
int CreateBloodTranslation(PalEntry color); int CreateBloodTranslation(PalEntry color);
int R_FindCustomTranslation(FName name); int R_FindCustomTranslation(FName name);

View file

@ -126,6 +126,7 @@ namespace swrenderer
bool wrap = (curline->linedef->flags & ML_WRAP_MIDTEX) || (curline->sidedef->Flags & WALLF_WRAP_MIDTEX); bool wrap = (curline->linedef->flags & ML_WRAP_MIDTEX) || (curline->sidedef->Flags & WALLF_WRAP_MIDTEX);
// [RH] Draw fog partition // [RH] Draw fog partition
bool renderwall = true;
bool notrelevant = false; bool notrelevant = false;
if (ds->bFogBoundary) if (ds->bFogBoundary)
{ {
@ -135,17 +136,17 @@ namespace swrenderer
RenderFogBoundary renderfog; RenderFogBoundary renderfog;
renderfog.Render(Thread, x1, x2, mceilingclip, mfloorclip, wallshade, rw_light, rw_lightstep, basecolormap); renderfog.Render(Thread, x1, x2, mceilingclip, mfloorclip, wallshade, rw_light, rw_lightstep, basecolormap);
if (!ds->maskedtexturecol) if (ds->maskedtexturecol == nullptr)
{ renderwall = false;
if (!(ds->bFakeBoundary && !(ds->bFakeBoundary & 4)) || visible)
notrelevant = RenderWall(ds, x1, x2, walldrawerargs, columndrawerargs, visible, basecolormap, wallshade, wrap);
}
} }
else if (!(ds->bFakeBoundary && !(ds->bFakeBoundary & 4)) || visible) else if ((ds->bFakeBoundary && !(ds->bFakeBoundary & 4)) || !visible)
{ {
notrelevant = RenderWall(ds, x1, x2, walldrawerargs, columndrawerargs, visible, basecolormap, wallshade, wrap); renderwall = false;
} }
if (renderwall)
notrelevant = RenderWall(ds, x1, x2, walldrawerargs, columndrawerargs, visible, basecolormap, wallshade, wrap);
if (ds->bFakeBoundary & 3) if (ds->bFakeBoundary & 3)
{ {
RenderFakeWallRange(ds, x1, x2, wallshade); RenderFakeWallRange(ds, x1, x2, wallshade);

View file

@ -165,6 +165,8 @@ namespace swrenderer
{ {
RenderDrawSegment renderer(Thread); RenderDrawSegment renderer(Thread);
renderer.Render(ds, ds->x1, ds->x2); renderer.Render(ds, ds->x1, ds->x2);
if (renew && ds->bFogBoundary) // don't draw fogboundary again
ds->bFogBoundary = false;
} }
} }
} }

View file

@ -94,7 +94,7 @@ int GetUIScale(int altval)
int vmax = screen->GetHeight() / 200; int vmax = screen->GetHeight() / 200;
int hmax = screen->GetWidth() / 320; int hmax = screen->GetWidth() / 320;
int max = MAX(vmax, hmax); int max = MAX(vmax, hmax);
return MIN(scaleval, max); return MAX(1,MIN(scaleval, max));
} }
// [RH] Stretch values to make a 320x200 image best fit the screen // [RH] Stretch values to make a 320x200 image best fit the screen

View file

@ -711,6 +711,8 @@ OB_IRONLICH = "%o was devastated by an ironlich.";
OB_IRONLICHHIT = "%o got up-close and personal with an ironlich."; OB_IRONLICHHIT = "%o got up-close and personal with an ironlich.";
OB_BONEKNIGHT = "%o was axed by an undead warrior."; OB_BONEKNIGHT = "%o was axed by an undead warrior.";
OB_BONEKNIGHTHIT = "%o was slain by an undead warrior."; OB_BONEKNIGHTHIT = "%o was slain by an undead warrior.";
OB_MINOTAUR = "%o was blasted into cinders by a Maulotaur.";
OB_MINOTAURHIT = "%o was pulped by a Maulotaur.";
OB_MUMMY = "%o was smashed by a golem."; OB_MUMMY = "%o was smashed by a golem.";
OB_MUMMYLEADER = "%o was shrieked to death by a nitrogolem."; OB_MUMMYLEADER = "%o was shrieked to death by a nitrogolem.";
OB_SNAKE = "%o was rattled by an ophidian."; OB_SNAKE = "%o was rattled by an ophidian.";

View file

@ -28,6 +28,8 @@ class Minotaur : Actor
ActiveSound "minotaur/active"; ActiveSound "minotaur/active";
DropItem "ArtiSuperHealth", 51; DropItem "ArtiSuperHealth", 51;
DropItem "PhoenixRodAmmo", 84, 10; DropItem "PhoenixRodAmmo", 84, 10;
Obituary "$OB_MINOTAUR";
HitObituary "$OB_MINOTAURHIT";
} }
States States