Added Fullscreen mode (#173)

* Added Fullscreen mode

* fix for config.toml

* fix for config.toml

* Apply review comment
This commit is contained in:
Xphalnos 2024-06-09 12:25:00 +02:00 committed by GitHub
parent 1a66fa098f
commit 1563dffd46
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 12 additions and 3 deletions

View file

@ -10,6 +10,7 @@
namespace Config {
static bool isNeo = false;
static bool isFullscreen = true;
static u32 screenWidth = 1280;
static u32 screenHeight = 720;
static s32 gpuId = -1; // Vulkan physical device index. Set to negative for auto select
@ -27,10 +28,15 @@ static bool vkValidationSync = false;
bool isLleLibc() {
return isLibc;
}
bool isNeoMode() {
return isNeo;
}
bool isFullscreenMode() {
return isFullscreen;
}
u32 getScreenWidth() {
return screenWidth;
}
@ -102,6 +108,7 @@ void load(const std::filesystem::path& path) {
auto general = generalResult.unwrap();
isNeo = toml::find_or<toml::boolean>(general, "isPS4Pro", false);
isFullscreen = toml::find_or<toml::boolean>(general, "Fullscreen", true);
logFilter = toml::find_or<toml::string>(general, "logFilter", "");
logType = toml::find_or<toml::string>(general, "logType", "sync");
isShowSplash = toml::find_or<toml::boolean>(general, "showSplash", true);
@ -166,6 +173,7 @@ void save(const std::filesystem::path& path) {
}
data["General"]["isPS4Pro"] = isNeo;
data["General"]["Fullscreen"] = isFullscreen;
data["General"]["logFilter"] = logFilter;
data["General"]["logType"] = logType;
data["General"]["showSplash"] = isShowSplash;

View file

@ -11,6 +11,7 @@ void load(const std::filesystem::path& path);
void save(const std::filesystem::path& path);
bool isNeoMode();
bool isFullscreenMode();
std::string getLogFilter();
std::string getLogType();

View file

@ -4,6 +4,7 @@
#include <SDL.h>
#include "common/assert.h"
#include "common/config.h"
#include "common/version.h"
#include "core/libraries/pad/pad.h"
#include "input/controller.h"
@ -17,7 +18,7 @@ WindowSDL::WindowSDL(s32 width_, s32 height_, Input::GameController* controller_
UNREACHABLE_MSG("Failed to initialize SDL video subsystem: {}", SDL_GetError());
}
const std::string title = "shadps4 v" + std::string(Common::VERSION);
const std::string title = "shadPS4 v" + std::string(Common::VERSION);
SDL_PropertiesID props = SDL_CreateProperties();
SDL_SetStringProperty(props, SDL_PROP_WINDOW_CREATE_TITLE_STRING, title.c_str());
SDL_SetNumberProperty(props, SDL_PROP_WINDOW_CREATE_X_NUMBER, SDL_WINDOWPOS_CENTERED);
@ -31,8 +32,7 @@ WindowSDL::WindowSDL(s32 width_, s32 height_, Input::GameController* controller_
UNREACHABLE_MSG("Failed to create window handle: {}", SDL_GetError());
}
// We don't support resizable at the moment.
SDL_SetWindowResizable(window, SDL_FALSE);
SDL_SetWindowFullscreen(window, Config::isFullscreenMode());
#if defined(SDL_PLATFORM_WIN32)
window_info.type = WindowSystemType::Windows;