#ifndef D9171C14_8ED0_407B_A289_4C75D30D9DCC #define D9171C14_8ED0_407B_A289_4C75D30D9DCC #include #include 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 */