1
0
mirror of https://github.com/TerryCavanagh/VVVVVV.git synced 2024-06-26 06:28:30 +02:00
VVVVVV/desktop_version/src
Misa e1e9e47d95 Always update scaling before rendering
This fixes the following bug that only occurs on Wayland: If the game is
configured to be fullscreened and in stretch mode, on startup, it won't
be in stretch mode. It will appear to be in letterbox mode, but the game
still thinks it's in stretch mode.

This is because during the ResizeScreen() call on startup, for whatever
reason, the window size will be reported to be the default size (640 by
480) instead of the screen resolution of the monitor, as one would
expect from being in fullscreen. It seems like when the game queries the
window size, the window isn't actually in fullscreen at that time, even
though this is after fullscreen has been set to true.

To fix this, I decided to always update the logical size before
SDL_RenderPresent() is called. To make this neater, I put the scaling
code in its own function named UpdateScaling().

This bug has existed since 2.3 and does not occur on X11. I tested this
on GNOME Wayland, and for testing it on X11, I used Openbox in a Xephyr
session while running VVVVVV with SDL_VIDEODRIVER=x11.
2023-03-20 20:56:15 -07:00
..
Alloc.h Replace all free calls with VVV_free[func] 2022-11-30 22:50:08 -08:00
BinaryBlob.cpp Replace all free calls with VVV_free[func] 2022-11-30 22:50:08 -08:00
BinaryBlob.h Use fixed-size int types for resourceheader 2021-09-23 22:21:49 -07:00
BlockV.cpp Remove x-position from setactivityposition 2023-02-17 20:47:32 -08:00
BlockV.h Remove x-position from setactivityposition 2023-02-17 20:47:32 -08:00
Constants.h Fix SCREEN_HEIGHT_PIXELS being wrong constant 2021-10-01 09:35:28 -07:00
Credits.h Add Jules de Sartiges to Credits.h 2023-02-21 12:28:57 -08:00
CustomLevels.cpp Always add null terminator when loading files 2023-03-18 15:12:24 -07:00
CustomLevels.h Remove reference from customlevelclass::load arg 2023-03-16 21:09:41 -07:00
CWrappers.cpp Use loc::toupper_ch instead of SDL_toupper in VFormat 2022-12-31 20:04:56 -08:00
CWrappers.h Use loc::toupper_ch instead of SDL_toupper in VFormat 2022-12-31 20:04:56 -08:00
DeferCallbacks.c Add deferred callbacks to game loop 2021-03-21 02:55:42 -04:00
DeferCallbacks.h Add deferred callbacks to game loop 2021-03-21 02:55:42 -04:00
Editor.cpp Change font::len text argument from std::string to const char* 2023-03-04 16:10:17 -08:00
Editor.h Start using level-specific font where needed, make CJK tweaks 2023-02-13 23:27:00 -08:00
Ent.cpp Axe Graphics::ct and Graphics::setcolreal 2023-01-01 20:16:08 -08:00
Ent.h Use SDL_Color for colors instead of colourTransform 2023-01-01 16:36:43 -08:00
Entity.cpp Remove x-position from setactivityposition 2023-02-17 20:47:32 -08:00
Entity.h Remove x-position from setactivityposition 2023-02-17 20:47:32 -08:00
Enums.h Remove unused game-gamestates 2021-12-18 00:01:32 -08:00
Exit.h Use SDL_NORETURN 2021-09-27 10:32:23 -07:00
FileSystemUtils.cpp Always add null terminator when loading files 2023-03-18 15:12:24 -07:00
FileSystemUtils.h Always add null terminator when loading files 2023-03-18 15:12:24 -07:00
Finalclass.cpp Strip out old special roomname system 2023-03-02 22:58:12 -08:00
Finalclass.h Indicate what special roomnames are in the levels 2022-12-31 20:04:56 -08:00
Font.cpp Always add null terminator when loading files 2023-03-18 15:12:24 -07:00
Font.h Change font::len text argument from std::string to const char* 2023-03-04 16:10:17 -08:00
Game.cpp Remove dialogue and cutscene bars if disabling completestop 2023-03-19 13:48:01 -07:00
Game.h Style: Fixup instances of void arguments 2023-03-18 15:28:33 -07:00
GlitchrunnerMode.c Split glitchrunner mode into multiple versions 2021-08-05 13:35:21 -04:00
GlitchrunnerMode.h Split glitchrunner mode into multiple versions 2021-08-05 13:35:21 -04:00
GOGNetwork.c Axe NETWORK_[set/get]AchievementProgress() 2021-09-19 21:49:54 -07:00
Graphics.cpp Rename menuoffTexture to tempShakeTexture 2023-03-20 17:05:57 -07:00
Graphics.h Rename menuoffTexture to tempShakeTexture 2023-03-20 17:05:57 -07:00
GraphicsResources.cpp Always add null terminator when loading files 2023-03-18 15:12:24 -07:00
GraphicsResources.h Start rewrite of font system 2023-02-13 23:27:00 -08:00
GraphicsUtil.cpp Fix analogue filter allocating/freeing surfaces every frame 2023-03-04 14:02:47 -08:00
GraphicsUtil.h Fix analogue filter allocating/freeing surfaces every frame 2023-03-04 14:02:47 -08:00
Input.cpp Evaluate flipping eligibility per-entity 2023-03-18 21:30:23 -07:00
Input.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
InterimVersion.h Use PR_RIGHT for interim version info in main menu 2023-02-13 23:27:00 -08:00
InterimVersion.in.c Use PR_RIGHT for interim version info in main menu 2023-02-13 23:27:00 -08:00
KeyPoll.cpp Replace utfcpp by UTF8.h in KeyPoll.cpp 2023-02-27 23:00:41 -08:00
KeyPoll.h Add localization "foundation" (many code changes) 2022-12-31 20:04:56 -08:00
Labclass.cpp Add level exploring menu for translators 2022-12-31 20:04:56 -08:00
Labclass.h Indicate what special roomnames are in the levels 2022-12-31 20:04:56 -08:00
Localization.cpp Remove key casts from hashmap function calls 2023-03-05 13:21:43 -08:00
Localization.h Add menu for selecting the level font 2023-02-13 23:27:00 -08:00
LocalizationMaint.cpp Remove key casts from hashmap function calls 2023-03-05 13:21:43 -08:00
LocalizationMaint.h Add cutscene test menu 2022-12-31 20:04:56 -08:00
LocalizationStorage.cpp Remove key casts from hashmap function calls 2023-03-05 13:21:43 -08:00
LocalizationStorage.h Write max_local to language files during sync 2023-02-13 23:27:00 -08:00
lodepng_wrapper.c Migrate LodePNG to submodule 2022-03-13 23:50:37 -07:00
Logic.cpp Remove x-position from setactivityposition 2023-02-17 20:47:32 -08:00
Logic.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
main.cpp Destroy gameScreen after all other graphics are destroyed 2023-03-03 16:46:15 -08:00
MakeAndPlay.h Use multiline comments in C files 2021-04-17 00:50:04 -04:00
Map.cpp Strip out old special roomname system 2023-03-02 22:58:12 -08:00
Map.h Strip out old special roomname system 2023-03-02 22:58:12 -08:00
Maths.h Use SDL_Point instead of rolling our own point struct 2023-01-28 23:32:14 -08:00
Music.cpp Add length check to OGG check 2023-03-19 14:05:51 -07:00
Music.h Style: Fixup instances of void arguments 2023-03-18 15:28:33 -07:00
Network.c Axe NETWORK_[set/get]AchievementProgress() 2021-09-19 21:49:54 -07:00
Network.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
Otherlevel.cpp Indicate what special roomnames are in the levels 2022-12-31 20:04:56 -08:00
Otherlevel.h Indicate what special roomnames are in the levels 2022-12-31 20:04:56 -08:00
preloader.cpp Migrate more prints and graphics.len calls to font:: 2023-02-13 23:27:00 -08:00
preloader.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
ReleaseVersion.h De-duplicate release version 2022-08-23 00:00:39 -07:00
Render.cpp Fix textboxes fully fading out during blackout 2023-03-19 15:15:52 -07:00
Render.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
RenderFixed.cpp Strip out old special roomname system 2023-03-02 22:58:12 -08:00
RenderFixed.h Remove now-unneeded deltaframe fix when going to in-game settings 2021-03-21 02:55:42 -04:00
RoomnameTranslator.cpp Change font::len text argument from std::string to const char* 2023-03-04 16:10:17 -08:00
RoomnameTranslator.h Migrate more prints to font::, determine font for most textboxes 2023-02-13 23:27:00 -08:00
Screen.cpp Always update scaling before rendering 2023-03-20 20:56:15 -07:00
Screen.h Always update scaling before rendering 2023-03-20 20:56:15 -07:00
ScreenSettings.h Add and use scaling mode enum 2021-12-25 23:14:12 -08:00
Script.cpp Strip out old special roomname system 2023-03-02 22:58:12 -08:00
Script.h Allow a maximum of 26 lines, with L suffix 2023-02-14 14:56:27 -08:00
Scripts.cpp Fix minor visual issue in int1yellow_5 2023-02-24 17:54:29 -08:00
Spacestation2.cpp Add level exploring menu for translators 2022-12-31 20:04:56 -08:00
Spacestation2.h Indicate what special roomnames are in the levels 2022-12-31 20:04:56 -08:00
SteamNetwork.c Silence GCC warnings about void*-to-function-pointer casts 2021-10-21 01:00:06 -07:00
TerminalScripts.cpp Add textcase(n) commands to scripts 2022-12-31 20:04:56 -08:00
Textbook.c Replace all localization SDL_free with VVV_free 2022-12-31 20:04:56 -08:00
Textbook.h Add Textbook 2022-12-31 20:04:56 -08:00
Textbox.cpp Style: Fixup instances of void arguments 2023-03-18 15:28:33 -07:00
Textbox.h Style: Fixup instances of void arguments 2023-03-18 15:28:33 -07:00
ThirdPartyDeps.c Replace all free calls with VVV_free[func] 2022-11-30 22:50:08 -08:00
Tower.cpp Add POS_MOD macro and use for all positive modulos 2021-09-24 17:48:15 -07:00
Tower.h Remove vmult lookup tables 2021-09-24 16:37:27 -07:00
TowerBG.h Move from surfaces to the SDL render system 2023-01-28 14:36:28 -08:00
Unreachable.h Use _SDL_HAS_BUILTIN 2022-12-29 16:13:54 -08:00
Unused.h Factor out UNUSED macro to header file 2021-05-25 15:23:34 -04:00
UTF8.c Add UTF8.c 2023-02-27 23:00:41 -08:00
UTF8.h Add UTF8.c 2023-02-27 23:00:41 -08:00
UtilityClass.cpp UtilityClass.cpp: make time formats and numbers translatable 2022-12-31 20:04:56 -08:00
UtilityClass.h Move from surfaces to the SDL render system 2023-01-28 14:36:28 -08:00
VFormat.c Replace use of PHYSFS UTF-8 functions by UTF8.h 2023-02-27 23:00:41 -08:00
VFormat.h Support underscore (_) in VFormat arg name 2022-12-31 20:04:56 -08:00
Vlogging.c Add color support to Windows console output, properly 2022-11-14 21:57:01 -08:00
Vlogging.h Add -console option on Windows 2022-11-14 19:40:23 -08:00
WarpClass.cpp Add level exploring menu for translators 2022-12-31 20:04:56 -08:00
WarpClass.h Indicate what special roomnames are in the levels 2022-12-31 20:04:56 -08:00
XMLUtils.cpp Move all settings to settings.vvv 2020-11-04 12:06:57 -05:00
XMLUtils.h Add localization "foundation" (many code changes) 2022-12-31 20:04:56 -08:00
Xoshiro.c Move xoshiro_seed debug print to top 2022-11-14 13:14:25 -08:00
Xoshiro.h Replace Gravitron RNG with seeded Xoshiro 2021-08-27 12:28:35 -07:00