[Scummvm-git-logs] scummvm master -> 1647f3f9cbe01b130d570fda2ce10ed426189d84
dreammaster
paulfgilbert at gmail.com
Thu Sep 3 04:23:44 UTC 2020
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
1647f3f9cb NUVIE: Fix fullscreen button in Video settings
Commit: 1647f3f9cbe01b130d570fda2ce10ed426189d84
https://github.com/scummvm/scummvm/commit/1647f3f9cbe01b130d570fda2ce10ed426189d84
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2020-09-02T21:23:18-07:00
Commit Message:
NUVIE: Fix fullscreen button in Video settings
Changed paths:
engines/ultima/nuvie/menus/video_dialog.cpp
engines/ultima/nuvie/screen/screen.cpp
engines/ultima/nuvie/screen/screen.h
diff --git a/engines/ultima/nuvie/menus/video_dialog.cpp b/engines/ultima/nuvie/menus/video_dialog.cpp
index 1720cc8942..0e75db0da7 100644
--- a/engines/ultima/nuvie/menus/video_dialog.cpp
+++ b/engines/ultima/nuvie/menus/video_dialog.cpp
@@ -435,7 +435,9 @@ GUI_status VideoDialog::callback(uint16 msg, GUI_CallBack *caller, void *data) {
config->set("config/video/scale_factor", scale);
#endif
// fullscreen
- config->set("config/video/fullscreen", fullscreen ? "yes" : "no");
+ config->set("config/fullscreen", fullscreen ? "yes" : "no");
+ game->get_screen()->set_fullscreen(fullscreen);
+
// non-square pixels
config->set("config/video/non_square_pixels", non_square_pixels ? "yes" : "no");
// roof mode
diff --git a/engines/ultima/nuvie/screen/screen.cpp b/engines/ultima/nuvie/screen/screen.cpp
index 651c3e5a4d..c2ea16c29b 100644
--- a/engines/ultima/nuvie/screen/screen.cpp
+++ b/engines/ultima/nuvie/screen/screen.cpp
@@ -51,7 +51,6 @@ Screen::Screen(Configuration *cfg) {
shading_data = NULL;
scaler_index = 0;
scale_factor = 2;
- fullscreen = false;
doubleBuffer = false;
is_no_darkness = false;
non_square_pixels = false;
@@ -110,7 +109,6 @@ bool Screen::init() {
config->value("config/video/scale_factor", scale_factor, 1);
- config->value("config/video/fullscreen", fullscreen, false);
config->value("config/video/non_square_pixels", non_square_pixels, false);
set_screen_mode();
@@ -1245,14 +1243,21 @@ void Screen::set_screen_mode() {
_renderSurface = CreateRenderSurface(_rawSurface);
}
+bool Screen::is_fullscreen() const {
+ return g_system->getFeatureState(OSystem::kFeatureFullscreenMode);
+}
+
bool Screen::toggle_fullscreen() {
- // No implementation
+ set_fullscreen(!is_fullscreen());
return true;
}
bool Screen::set_fullscreen(bool value) {
- // No implementation
- return false;
+ g_system->beginGFXTransaction();
+ g_system->setFeatureState(OSystem::kFeatureFullscreenMode, value);
+ g_system->endGFXTransaction();
+
+ return true;
}
//Note! assumes area divides evenly by down_scale factor
diff --git a/engines/ultima/nuvie/screen/screen.h b/engines/ultima/nuvie/screen/screen.h
index 9568057244..07ba7ed6cf 100644
--- a/engines/ultima/nuvie/screen/screen.h
+++ b/engines/ultima/nuvie/screen/screen.h
@@ -48,7 +48,6 @@ private:
int scaler_index; // Index of Current Scaler
int scale_factor; // Scale factor
- bool fullscreen;
bool doubleBuffer;
bool is_no_darkness;
bool non_square_pixels;
@@ -68,9 +67,7 @@ public:
bool init();
- bool is_fullscreen() {
- return fullscreen;
- }
+ bool is_fullscreen() const;
bool is_non_square_pixels() {
return non_square_pixels;
}
@@ -82,6 +79,7 @@ public:
}
bool toggle_darkness_cheat();
bool toggle_fullscreen();
+ bool set_fullscreen(bool value);
bool set_palette(uint8 *palette);
bool set_palette_entry(uint8 idx, uint8 r, uint8 g, uint8 b);
bool rotate_palette(uint8 pos, uint8 length);
@@ -191,7 +189,6 @@ private:
int get_screen_bpp();
bool sdl1_toggle_fullscreen();
- bool set_fullscreen(bool value);
};
} // End of namespace Nuvie
More information about the Scummvm-git-logs
mailing list