reman3/game_re/r3/config/static.hpp

63 lines
1.5 KiB
C++

#ifndef D9171C14_8ED0_407B_A289_4C75D30D9DCC
#define D9171C14_8ED0_407B_A289_4C75D30D9DCC
#include <string>
#include <gh_global.h>
struct R3Config {
// The root directory of the game, containing the executable
std::string gameRootDir;
// Language code of the game "English", etc.
std::string language;
// The adapter to use
int gfxAdapter{};
// The UUID of the device to use
std::string gfxIdentifier;
// Game default is "1 - 640 x 480 x 16"
// first digit 1 is fullscreen, 0 is windowed
// second digit is width
// third digit is height
// fourth digit is bpp
std::string gfxGliMode;
// Any of:
// Agp8
// Agp4
// Vram8
// Vram4
// Vram+
// Vram
std::string gfxTexturesMem;
bool gfxTexturesCompressed{};
bool gfxTnl{};
bool gfxTrilinear{};
int cameraHorizontalAxis = 2;
int cameraVerticalAxis = 5;
std::string gameDataBinPath;
};
inline R3Config createDefaultConfig() {
R3Config config{};
#ifdef R3_GAME_DATA_DIR
config.gameRootDir = R3_GAME_DATA_DIR;
#endif
// Windowed 720p
config.gfxGliMode = "0 - 1200 x 720 x 16";
config.gfxAdapter = 0;
config.gfxIdentifier = "00000000-0000-0000-0000-000000000000";
config.language = s_English_005b684c;
config.gfxTexturesMem = "Vram+";
config.gfxTrilinear = true;
config.gfxTnl = true;
config.gfxTexturesCompressed = false;
config.gameDataBinPath = "Gamedatabin";
return config;
}
inline R3Config &getDefaultConfig() {
static R3Config config = createDefaultConfig();
return config;
}
#endif /* D9171C14_8ED0_407B_A289_4C75D30D9DCC */