Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/coelckers/gzdoom into new…
Browse files Browse the repository at this point in the history
…timercode4
  • Loading branch information
Rachael Alexanderson committed Nov 21, 2017
2 parents e867d75 + 47e9975 commit 505da5b
Show file tree
Hide file tree
Showing 10 changed files with 69 additions and 78 deletions.
2 changes: 1 addition & 1 deletion src/d_iwad.cpp
Expand Up @@ -583,7 +583,7 @@ int FIWadManager::IdentifyVersion (TArray<FString> &wadfiles, const char *iwad,
// We have a -iwad parameter. Pick the first usable IWAD we found through that.
for (unsigned i = numFoundWads; i < mFoundWads.Size(); i++)
{
if (mFoundWads[i].mInfoIndex > 0)
if (mFoundWads[i].mInfoIndex >= 0)
{
picks.Push(mFoundWads[i]);
break;
Expand Down
4 changes: 2 additions & 2 deletions src/g_shared/a_dynlightdata.cpp
Expand Up @@ -269,15 +269,15 @@ extern int ScriptDepth;

inline float ParseFloat(FScanner &sc)
{
sc.GetFloat();
sc.MustGetFloat();

return float(sc.Float);
}


inline int ParseInt(FScanner &sc)
{
sc.GetNumber();
sc.MustGetNumber();

return sc.Number;
}
Expand Down
2 changes: 1 addition & 1 deletion src/gl/renderer/gl_postprocess.cpp
Expand Up @@ -938,7 +938,7 @@ int FGLRenderer::PTM_BestColor (const uint32_t *pal_in, int r, int g, int b, int
static bool firstTime = true;
static float trackpowtable = 0.;

double fbestdist, fdist;
double fbestdist = DBL_MAX, fdist;
int bestcolor = 0;

if (firstTime || trackpowtable != gl_paltonemap_powtable)
Expand Down
1 change: 1 addition & 0 deletions src/gl/shaders/gl_shader.cpp
Expand Up @@ -682,6 +682,7 @@ void gl_ParseHardwareShader(FScanner &sc, int deflump)

PostProcessShader shaderdesc;
shaderdesc.Target = sc.String;
shaderdesc.Target.ToLower();

bool validTarget = false;
if (sc.Compare("beforebloom")) validTarget = true;
Expand Down
88 changes: 44 additions & 44 deletions src/gl/shaders/gl_texshader.cpp
Expand Up @@ -265,11 +265,11 @@ bool FShaderLayer::ParseLayer(FScanner &sc)
alpha.ShouldCycle(true);
alpha.SetCycleType(ParseCycleType(sc));

sc.GetFloat();
sc.MustGetFloat();
start = sc.Float;
sc.GetFloat();
sc.MustGetFloat();
end = sc.Float;
sc.GetFloat();
sc.MustGetFloat();
cycle = sc.Float;

alpha.SetParams(start, end, cycle);
Expand All @@ -287,11 +287,11 @@ bool FShaderLayer::ParseLayer(FScanner &sc)
srcFactor.ShouldCycle(true);
srcFactor.SetCycleType(ParseCycleType(sc));

sc.GetFloat();
sc.MustGetFloat();
start = sc.Float;
sc.GetFloat();
sc.MustGetFloat();
end = sc.Float;
sc.GetFloat();
sc.MustGetFloat();
cycle = sc.Float;

srcFactor.SetParams(start, end, cycle);
Expand All @@ -309,11 +309,11 @@ bool FShaderLayer::ParseLayer(FScanner &sc)
dstFactor.ShouldCycle(true);
dstFactor.SetCycleType(ParseCycleType(sc));

sc.GetFloat();
sc.MustGetFloat();
start = sc.Float;
sc.GetFloat();
sc.MustGetFloat();
end = sc.Float;
sc.GetFloat();
sc.MustGetFloat();
cycle = sc.Float;

dstFactor.SetParams(start, end, cycle);
Expand Down Expand Up @@ -351,23 +351,23 @@ bool FShaderLayer::ParseLayer(FScanner &sc)
g.SetCycleType(type);
b.SetCycleType(type);

sc.GetFloat();
sc.MustGetFloat();
r1 = float(sc.Float);
sc.GetFloat();
sc.MustGetFloat();
g1 = float(sc.Float);
sc.GetFloat();
sc.MustGetFloat();
b1 = float(sc.Float);

// get color2
sc.GetFloat();
sc.MustGetFloat();
r2 = float(sc.Float);
sc.GetFloat();
sc.MustGetFloat();
g2 = float(sc.Float);
sc.GetFloat();
sc.MustGetFloat();
b2 = float(sc.Float);

// get cycle time
sc.GetFloat();
sc.MustGetFloat();
cycle = sc.Float;

r.SetParams(r1, r2, cycle);
Expand All @@ -376,11 +376,11 @@ bool FShaderLayer::ParseLayer(FScanner &sc)
}
else
{
sc.GetFloat();
sc.MustGetFloat();
r1 = float(sc.Float);
sc.GetFloat();
sc.MustGetFloat();
g1 = sc.Float;
sc.GetFloat();
sc.MustGetFloat();
b1 = sc.Float;

r.SetParams(r1, r1, 0.f);
Expand All @@ -390,9 +390,9 @@ bool FShaderLayer::ParseLayer(FScanner &sc)
}
else if (sc.Compare("center"))
{
sc.GetFloat();
sc.MustGetFloat();
centerX = sc.Float;
sc.GetFloat();
sc.MustGetFloat();
centerY = sc.Float;
}
else if (sc.Compare("emissive"))
Expand All @@ -407,17 +407,17 @@ bool FShaderLayer::ParseLayer(FScanner &sc)
adjustX.ShouldCycle(true);
adjustY.ShouldCycle(true);

sc.GetFloat();
sc.MustGetFloat();
r1 = sc.Float;
sc.GetFloat();
sc.MustGetFloat();
r2 = sc.Float;

sc.GetFloat();
sc.MustGetFloat();
g1 = sc.Float;
sc.GetFloat();
sc.MustGetFloat();
g2 = sc.Float;

sc.GetFloat();
sc.MustGetFloat();
cycle = sc.Float;

offsetX = r1;
Expand All @@ -428,9 +428,9 @@ bool FShaderLayer::ParseLayer(FScanner &sc)
}
else
{
sc.GetFloat();
sc.MustGetFloat();
offsetX = sc.Float;
sc.GetFloat();
sc.MustGetFloat();
offsetY = sc.Float;
}
}
Expand All @@ -447,12 +447,12 @@ bool FShaderLayer::ParseLayer(FScanner &sc)
}
else if (sc.Compare("rotate"))
{
sc.GetFloat();
sc.MustGetFloat();
rotate = sc.Float;
}
else if (sc.Compare("rotation"))
{
sc.GetFloat();
sc.MustGetFloat();
rotation = sc.Float;
}
else if (sc.Compare("scale"))
Expand All @@ -462,27 +462,27 @@ bool FShaderLayer::ParseLayer(FScanner &sc)
scaleX.ShouldCycle(true);
scaleY.ShouldCycle(true);

sc.GetFloat();
sc.MustGetFloat();
r1 = sc.Float;
sc.GetFloat();
sc.MustGetFloat();
r2 = sc.Float;

sc.GetFloat();
sc.MustGetFloat();
g1 = sc.Float;
sc.GetFloat();
sc.MustGetFloat();
g2 = sc.Float;

sc.GetFloat();
sc.MustGetFloat();
cycle = sc.Float;

scaleX.SetParams(r1, g1, cycle);
scaleY.SetParams(r2, g2, cycle);
}
else
{
sc.GetFloat();
sc.MustGetFloat();
scaleX.SetParams(sc.Float, sc.Float, 0.f);
sc.GetFloat();
sc.MustGetFloat();
scaleY.SetParams(sc.Float, sc.Float, 0.f);
}
}
Expand Down Expand Up @@ -510,25 +510,25 @@ bool FShaderLayer::ParseLayer(FScanner &sc)
vectorX.ShouldCycle(true);
vectorY.ShouldCycle(true);

sc.GetFloat();
sc.MustGetFloat();
r1 = sc.Float;
sc.GetFloat();
sc.MustGetFloat();
g1 = sc.Float;
sc.GetFloat();
sc.MustGetFloat();
r2 = sc.Float;
sc.GetFloat();
sc.MustGetFloat();
g2 = sc.Float;
sc.GetFloat();
sc.MustGetFloat();
cycle = sc.Float;

vectorX.SetParams(r1, r2, cycle);
vectorY.SetParams(g1, g2, cycle);
}
else
{
sc.GetFloat();
sc.MustGetFloat();
vectorX.SetParams(sc.Float, sc.Float, 0.f);
sc.GetFloat();
sc.MustGetFloat();
vectorY.SetParams(sc.Float, sc.Float, 0.f);
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/gl/textures/gl_texture.cpp
Expand Up @@ -564,7 +564,7 @@ void gl_ParseBrightmap(FScanner &sc, int deflump)
else sc.UnGet();

sc.MustGetString();
FTextureID no = TexMan.CheckForTexture(sc.String, type);
FTextureID no = TexMan.CheckForTexture(sc.String, type, FTextureManager::TEXMAN_TryAny | FTextureManager::TEXMAN_Overridable);
FTexture *tex = TexMan[no];

sc.MustGetToken('{');
Expand Down
41 changes: 15 additions & 26 deletions src/polyrenderer/scene/poly_sprite.cpp
Expand Up @@ -57,18 +57,17 @@ bool RenderPolySprite::GetLine(AActor *thing, DVector2 &left, DVector2 &right)
double thingxscalemul = spriteScale.X / tex->Scale.X;
double thingyscalemul = spriteScale.Y / tex->Scale.Y;

if (flipTextureX)
pos.X -= (tex->GetWidth() - tex->LeftOffset) * thingxscalemul;
else
pos.X -= tex->LeftOffset * thingxscalemul;

double spriteHalfWidth = thingxscalemul * tex->GetWidth() * 0.5;
double spriteWidth = thingxscalemul * tex->GetWidth();
double spriteHeight = thingyscalemul * tex->GetHeight();

pos.X += spriteHalfWidth;
double offsetX;
if (flipTextureX)
offsetX = (tex->GetWidth() - tex->LeftOffset) * thingxscalemul;
else
offsetX = tex->LeftOffset * thingxscalemul;

left = DVector2(pos.X - viewpoint.Sin * spriteHalfWidth, pos.Y + viewpoint.Cos * spriteHalfWidth);
right = DVector2(pos.X + viewpoint.Sin * spriteHalfWidth, pos.Y - viewpoint.Cos * spriteHalfWidth);
left = DVector2(pos.X - viewpoint.Sin * offsetX, pos.Y + viewpoint.Cos * offsetX);
right = DVector2(left.X + viewpoint.Sin * spriteWidth, left.Y - viewpoint.Cos * spriteWidth);
return true;
}

Expand All @@ -81,36 +80,26 @@ void RenderPolySprite::Render(PolyRenderThread *thread, const TriMatrix &worldTo
const auto &viewpoint = PolyRenderer::Instance()->Viewpoint;
DVector3 thingpos = thing->InterpolatedPosition(viewpoint.TicFrac);

DVector3 pos = thingpos;
double posZ = thingpos.Z;

uint32_t spritetype = (thing->renderflags & RF_SPRITETYPEMASK);

if (spritetype == RF_FACESPRITE)
pos.Z -= thing->Floorclip;
posZ -= thing->Floorclip;

if (thing->flags2 & MF2_FLOATBOB)
pos.Z += thing->GetBobOffset(viewpoint.TicFrac);
posZ += thing->GetBobOffset(viewpoint.TicFrac);

bool flipTextureX = false;
FTexture *tex = GetSpriteTexture(thing, flipTextureX);
if (tex == nullptr || tex->UseType == FTexture::TEX_Null)
return;

DVector2 spriteScale = thing->Scale;
double thingxscalemul = spriteScale.X / tex->Scale.X;
double thingyscalemul = spriteScale.Y / tex->Scale.Y;
double spriteHalfWidth = thingxscalemul * tex->GetWidth() * 0.5;
double thingyscalemul = thing->Scale.Y / tex->Scale.Y;
double spriteHeight = thingyscalemul * tex->GetHeight();

if (flipTextureX)
pos.X -= (tex->GetWidth() - tex->LeftOffset) * thingxscalemul;
else
pos.X -= tex->LeftOffset * thingxscalemul;

pos.X += spriteHalfWidth;

pos.Z -= (tex->GetHeight() - tex->TopOffset) * thingyscalemul;
pos.Z = PerformSpriteClipAdjustment(thing, thingpos, spriteHeight, pos.Z);
posZ -= (tex->GetHeight() - tex->TopOffset) * thingyscalemul;
posZ = PerformSpriteClipAdjustment(thing, thingpos, spriteHeight, posZ);

//double depth = 1.0;
//visstyle_t visstyle = GetSpriteVisStyle(thing, depth);
Expand Down Expand Up @@ -142,7 +131,7 @@ void RenderPolySprite::Render(PolyRenderThread *thread, const TriMatrix &worldTo

vertices[i].x = (float)p.X;
vertices[i].y = (float)p.Y;
vertices[i].z = (float)(pos.Z + spriteHeight * offsets[i].second);
vertices[i].z = (float)(posZ + spriteHeight * offsets[i].second);
vertices[i].w = 1.0f;
vertices[i].u = (float)(offsets[i].first * tex->Scale.X);
vertices[i].v = (float)((1.0f - offsets[i].second) * tex->Scale.Y);
Expand Down
4 changes: 2 additions & 2 deletions src/textures/texturemanager.cpp
Expand Up @@ -699,9 +699,9 @@ void FTextureManager::LoadTextureDefs(int wadnum, const char *lumpname)
is32bit = !!sc.Compare("force32bit");
if (!is32bit) sc.UnGet();

sc.GetNumber();
sc.MustGetNumber();
width = sc.Number;
sc.GetNumber();
sc.MustGetNumber();
height = sc.Number;

if (lumpnum>=0)
Expand Down
1 change: 1 addition & 0 deletions src/vectors.h
Expand Up @@ -651,6 +651,7 @@ struct TVector3
TVector3 &operator ^= (const TVector3 &other)
{
*this = *this ^ other;
return *this;
}
};

Expand Down
2 changes: 1 addition & 1 deletion src/win32/fb_d3d9.cpp
Expand Up @@ -1223,7 +1223,7 @@ void D3DFB::Flip()
{
RECT box;
GetClientRect(Window, &box);
if (box.right > 0 && box.right > 0 && (Width != box.right || Height != box.bottom))
if (box.right > 0 && box.bottom > 0 && (Width != box.right || Height != box.bottom))
{
Resize(box.right, box.bottom);

Expand Down

0 comments on commit 505da5b

Please sign in to comment.