Config: Add "maxTextureSize" entry to artificially limit texture sizes
This commit is contained in:
parent
1bc2717744
commit
9fec876e32
|
@ -124,6 +124,17 @@
|
||||||
# subImageFix=false
|
# subImageFix=false
|
||||||
|
|
||||||
|
|
||||||
|
# Limit the maximum size (width, height) of
|
||||||
|
# most textures mkxp will create (exceptions are
|
||||||
|
# rendering backbuffers and similar).
|
||||||
|
# If set to 0, the hardware maximum is used.
|
||||||
|
# This is useful for recording traces that can
|
||||||
|
# be played back on machines with lower specs.
|
||||||
|
# (default: 0)
|
||||||
|
#
|
||||||
|
# maxTextureSize=0
|
||||||
|
|
||||||
|
|
||||||
# Set the base path of the game to '/path/to/game'
|
# Set the base path of the game to '/path/to/game'
|
||||||
# (default: executable directory)
|
# (default: executable directory)
|
||||||
#
|
#
|
||||||
|
|
|
@ -166,6 +166,7 @@ void Config::read(int argc, char *argv[])
|
||||||
PO_DESC(syncToRefreshrate, bool, false) \
|
PO_DESC(syncToRefreshrate, bool, false) \
|
||||||
PO_DESC(solidFonts, bool, false) \
|
PO_DESC(solidFonts, bool, false) \
|
||||||
PO_DESC(subImageFix, bool, false) \
|
PO_DESC(subImageFix, bool, false) \
|
||||||
|
PO_DESC(maxTextureSize, int, 0) \
|
||||||
PO_DESC(gameFolder, std::string, ".") \
|
PO_DESC(gameFolder, std::string, ".") \
|
||||||
PO_DESC(anyAltToggleFS, bool, false) \
|
PO_DESC(anyAltToggleFS, bool, false) \
|
||||||
PO_DESC(enableReset, bool, true) \
|
PO_DESC(enableReset, bool, true) \
|
||||||
|
|
|
@ -49,6 +49,7 @@ struct Config
|
||||||
bool solidFonts;
|
bool solidFonts;
|
||||||
|
|
||||||
bool subImageFix;
|
bool subImageFix;
|
||||||
|
int maxTextureSize;
|
||||||
|
|
||||||
std::string gameFolder;
|
std::string gameFolder;
|
||||||
bool anyAltToggleFS;
|
bool anyAltToggleFS;
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
#include "shader.h"
|
#include "shader.h"
|
||||||
#include "etc.h"
|
#include "etc.h"
|
||||||
#include "gl-fun.h"
|
#include "gl-fun.h"
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
#include <SDL_rect.h>
|
#include <SDL_rect.h>
|
||||||
|
|
||||||
|
@ -111,7 +112,7 @@ GLState::Caps::Caps()
|
||||||
gl.GetIntegerv(GL_MAX_TEXTURE_SIZE, &maxTexSize);
|
gl.GetIntegerv(GL_MAX_TEXTURE_SIZE, &maxTexSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
GLState::GLState()
|
GLState::GLState(const Config &conf)
|
||||||
{
|
{
|
||||||
gl.Disable(GL_DEPTH_TEST);
|
gl.Disable(GL_DEPTH_TEST);
|
||||||
|
|
||||||
|
@ -121,4 +122,7 @@ GLState::GLState()
|
||||||
scissorTest.init(false);
|
scissorTest.init(false);
|
||||||
scissorBox.init(IntRect(0, 0, 640, 480));
|
scissorBox.init(IntRect(0, 0, 640, 480));
|
||||||
program.init(0);
|
program.init(0);
|
||||||
|
|
||||||
|
if (conf.maxTextureSize > 0)
|
||||||
|
caps.maxTexSize = conf.maxTextureSize;
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,8 @@
|
||||||
#include <stack>
|
#include <stack>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
|
struct Config;
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
struct GLProperty
|
struct GLProperty
|
||||||
{
|
{
|
||||||
|
@ -130,7 +132,7 @@ public:
|
||||||
|
|
||||||
} caps;
|
} caps;
|
||||||
|
|
||||||
GLState();
|
GLState(const Config &conf);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // GLSTATE_H
|
#endif // GLSTATE_H
|
||||||
|
|
|
@ -109,6 +109,7 @@ struct SharedStatePrivate
|
||||||
graphics(threadData),
|
graphics(threadData),
|
||||||
input(*threadData),
|
input(*threadData),
|
||||||
audio(*threadData),
|
audio(*threadData),
|
||||||
|
_glState(threadData->config),
|
||||||
fontState(threadData->config),
|
fontState(threadData->config),
|
||||||
stampCounter(0)
|
stampCounter(0)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue