Merge branch 'master' of github.com:ancurio/mkxp
This commit is contained in:
commit
ecc4a30997
|
@ -124,6 +124,26 @@
|
||||||
# subImageFix=false
|
# subImageFix=false
|
||||||
|
|
||||||
|
|
||||||
|
# Enable framebuffer blitting if the driver is
|
||||||
|
# capable of it. Some drivers carry buggy
|
||||||
|
# implementations of this functionality, so
|
||||||
|
# disabling it can be used as a workaround
|
||||||
|
# (default: enabled)
|
||||||
|
#
|
||||||
|
# enableBlitting=true
|
||||||
|
|
||||||
|
|
||||||
|
# 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,8 @@ 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(enableBlitting, bool, true) \
|
||||||
|
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) \
|
||||||
|
|
|
@ -55,6 +55,8 @@ struct Config
|
||||||
bool solidFonts;
|
bool solidFonts;
|
||||||
|
|
||||||
bool subImageFix;
|
bool subImageFix;
|
||||||
|
bool enableBlitting;
|
||||||
|
int maxTextureSize;
|
||||||
|
|
||||||
std::string gameFolder;
|
std::string gameFolder;
|
||||||
bool anyAltToggleFS;
|
bool anyAltToggleFS;
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
#include <SDL_timer.h>
|
#include <SDL_timer.h>
|
||||||
#include <SDL_thread.h>
|
#include <SDL_thread.h>
|
||||||
#include <SDL_touch.h>
|
#include <SDL_touch.h>
|
||||||
|
#include <SDL_rect.h>
|
||||||
|
|
||||||
#include <al.h>
|
#include <al.h>
|
||||||
#include <alc.h>
|
#include <alc.h>
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -102,6 +102,9 @@ int rgssThreadFun(void *userdata)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!conf.enableBlitting)
|
||||||
|
gl.BlitFramebuffer = 0;
|
||||||
|
|
||||||
gl.ClearColor(0, 0, 0, 1);
|
gl.ClearColor(0, 0, 0, 1);
|
||||||
gl.Clear(GL_COLOR_BUFFER_BIT);
|
gl.Clear(GL_COLOR_BUFFER_BIT);
|
||||||
SDL_GL_SwapWindow(win);
|
SDL_GL_SwapWindow(win);
|
||||||
|
|
|
@ -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