Skip to content

Commit

Permalink
- added a 'forceworldpanning' map flag.
Browse files Browse the repository at this point in the history
Since unfortunately this cannot be set as a general default, let's at least make it as easy as possible to disable that panning+scaling madness without having to edit the texture data.
  • Loading branch information
coelckers committed Dec 15, 2018
1 parent dc9c7af commit 74ea914
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 2 deletions.
1 change: 1 addition & 0 deletions src/g_level.h
Expand Up @@ -247,6 +247,7 @@ enum ELevelFlags : unsigned int
LEVEL3_NOCOLOREDSPRITELIGHTING = 0x00000010, // draw sprites only with color-less light
LEVEL3_EXITNORMALUSED = 0x00000020,
LEVEL3_EXITSECRETUSED = 0x00000040,
LEVEL3_FORCEWORLDPANNING = 0x00000080, // Forces the world panning flag for all textures, even those without it explicitly set.
};


Expand Down
1 change: 1 addition & 0 deletions src/g_mapinfo.cpp
Expand Up @@ -1553,6 +1553,7 @@ MapFlagHandlers[] =
{ "forcefakecontrast", MITYPE_SETFLAG3, LEVEL3_FORCEFAKECONTRAST, 0 },
{ "nolightfade", MITYPE_SETFLAG3, LEVEL3_NOLIGHTFADE, 0 },
{ "nocoloredspritelighting", MITYPE_SETFLAG3, LEVEL3_NOCOLOREDSPRITELIGHTING, 0 },
{ "forceworldpanning", MITYPE_SETFLAG3, LEVEL3_FORCEWORLDPANNING, 0 },
{ "nobotnodes", MITYPE_IGNORE, 0, 0 }, // Skulltag option: nobotnodes
{ "compat_shorttex", MITYPE_COMPATFLAG, COMPATF_SHORTTEX, 0 },
{ "compat_stairs", MITYPE_COMPATFLAG, COMPATF_STAIRINDEX, 0 },
Expand Down
3 changes: 2 additions & 1 deletion src/swrenderer/textures/r_swtexture.h
@@ -1,6 +1,7 @@
#pragma once
#include "textures/textures.h"
#include "v_video.h"
#include "g_levellocals.h"


struct FSoftwareTextureSpan
Expand Down Expand Up @@ -48,7 +49,7 @@ class FSoftwareTexture
// The feature from hell... :(
bool useWorldPanning() const
{
return mTexture->bWorldPanning;
return mTexture->bWorldPanning || (level.flags3 & LEVEL3_FORCEWORLDPANNING);
}

bool isMasked()
Expand Down
3 changes: 2 additions & 1 deletion src/textures/texture.cpp
Expand Up @@ -51,6 +51,7 @@
#include "imagehelpers.h"
#include "image.h"
#include "formats/multipatchtexture.h"
#include "g_levellocals.h"

FTexture *CreateBrightmapTexture(FImageSource*);

Expand Down Expand Up @@ -903,7 +904,7 @@ void FTexCoordInfo::GetFromTexture(FTexture *tex, float x, float y)
mScale.Y = -mScale.Y;
mRenderHeight = -mRenderHeight;
}
mWorldPanning = tex->bWorldPanning;
mWorldPanning = tex->bWorldPanning || (level.flags3 & LEVEL3_FORCEWORLDPANNING);
mWidth = tex->GetWidth();
}

Expand Down

0 comments on commit 74ea914

Please sign in to comment.