Branch: refs/heads/resizing_high_dpi_work
Home: https://github.com/Warzone2100/warzone2100
Commit: 413a2199acc48394f12e1e59b113c869c20018ad
https://github.com/Warzone2100/warzone2100/commit/413a2199acc48394f12e1e59b113c869c20018ad
Author: past-due <[email protected]>
Date: 2018-01-27 (Sat, 27 Jan 2018)
Changed paths:
M configure.ac
M lib/framework/wzapp.h
M lib/ivis_opengl/bitimage.cpp
M lib/ivis_opengl/pieblitfunc.cpp
M lib/ivis_opengl/pieblitfunc.h
M lib/ivis_opengl/piedef.h
M lib/ivis_opengl/piedraw.cpp
M lib/ivis_opengl/piemode.cpp
M lib/ivis_opengl/piemode.h
M lib/ivis_opengl/screen.cpp
M lib/ivis_opengl/screen.h
M lib/ivis_opengl/textdraw.cpp
M lib/ivis_opengl/textdraw.h
M lib/qtgame/main_qt.cpp
A lib/sdl/cocoa_sdl_helpers.h
A lib/sdl/cocoa_sdl_helpers.mm
M lib/sdl/main_sdl.cpp
M lib/widget/bar.cpp
M lib/widget/bar.h
M lib/widget/editbox.cpp
M lib/widget/editbox.h
M lib/widget/label.cpp
M lib/widget/label.h
M lib/widget/tip.cpp
M lib/widget/widgbase.h
M lib/widget/widget.cpp
M lib/widget/widget.h
M macosx/Resources/Warzone-Info.plist
M macosx/Warzone.xcodeproj/project.pbxproj
M src/challenge.cpp
M src/challenge.h
M src/component.cpp
M src/configuration.cpp
M src/console.cpp
M src/console.h
M src/design.cpp
M src/display3d.cpp
M src/display3d.h
M src/frontend.cpp
M src/frontend.h
M src/game.cpp
M src/game.h
M src/hci.cpp
M src/hci.h
M src/ingameop.cpp
M src/init.cpp
M src/init.h
M src/intdisplay.cpp
M src/intdisplay.h
M src/intelmap.cpp
M src/intorder.cpp
M src/keyedit.cpp
M src/loadsave.cpp
M src/loadsave.h
M src/main.cpp
M src/mission.cpp
M src/multiint.cpp
M src/multiint.h
M src/multijoin.cpp
M src/multijoin.h
M src/multilimit.cpp
M src/multimenu.cpp
M src/multimenu.h
M src/multiplay.cpp
M src/scores.cpp
M src/scores.h
M src/seqdisp.cpp
M src/transporter.cpp
M src/warzoneconfig.cpp
M src/warzoneconfig.h
Log Message:
-----------
Fixes #4720: Display scaling, live window resizing, and high-DPI support
- Internal enhancements to support screen / game / rendering scaling factors.
- Internal enhancements to support live window resizing / resolution changes.
- Internal enhancements to support UI layout recalculation.
- [SDL backend] Support for live window resizing / resolution changes. (*Cannot
currently change between Windowed / Fullscreen without restarting Warzone
because of SDL quirks, but live resolution changes in the current mode are
supported.)
- [SDL backend] New "displayScale" variable for config file (can also be set as
"Display Scale" in video options), offering 100%-500%* display scaling options
(*scaling options are limited by the window/screen size, as no combination can
result in a logical screen size lower than the minimum supported by Warzone).
- [macOS] Automatic high-DPI ("retina") display support. (Currently limited to
macOS because of SDL 2.0.x high-DPI support limitations.)
- Better caching of text rasterization (through judicious use of the improved
WzText).
Commit: dc69eb5958d5449a6e19377641c50172a2d96382
https://github.com/Warzone2100/warzone2100/commit/dc69eb5958d5449a6e19377641c50172a2d96382
Author: past-due <[email protected]>
Date: 2018-01-27 (Sat, 27 Jan 2018)
Changed paths:
M lib/ivis_opengl/pieblitfunc.cpp
M lib/ivis_opengl/pieblitfunc.h
M lib/ivis_opengl/piedraw.cpp
M lib/ivis_opengl/piematrix.cpp
M lib/ivis_opengl/piematrix.h
M src/atmos.cpp
M src/component.cpp
M src/display.h
M src/display3d.cpp
M src/display3d.h
Log Message:
-----------
Performance improvements to support display scaling
- Reduction in unnecessary OpenGL state changes.
- More accurate clipping techniques yield a large reduction in wasted
non-visible drawing.
- Other small performance enhancements (such as avoiding duplicated
calculations of values).
Commit: 58741acb4fd08bf7ce4f6109dec2f70ff48ed37b
https://github.com/Warzone2100/warzone2100/commit/58741acb4fd08bf7ce4f6109dec2f70ff48ed37b
Author: past-due <[email protected]>
Date: 2018-01-27 (Sat, 27 Jan 2018)
Changed paths:
M lib/sdl/main_sdl.cpp
M src/frontend.cpp
Log Message:
-----------
Fixes for desktop window managers / OSes that yield differing SDL behavior
When changing resolution in windowed mode, use SDL_GetDisplayUsableBounds to
obtain the usable display bounds.
Prevent endless loop on resolution change when only a single resolution is in
the available list.
Commit: d1b2c77053dae1507705368ec5f01f36aed42dca
https://github.com/Warzone2100/warzone2100/commit/d1b2c77053dae1507705368ec5f01f36aed42dca
Author: past-due <[email protected]>
Date: 2018-01-28 (Sun, 28 Jan 2018)
Changed paths:
M src/frontend.cpp
Log Message:
-----------
Disable Video options menu `Resolution` option when in windowed mode
When live-resizing (i.e. using the OS / window-manager functionality to resize
the window) is available, disable the Video options menu `Resolution` option in
windowed mode.
(The option is still visible, to show the current windowed resolution.)
This is to avoid an issue caused by SDL & certain window managers (ex. i3),
where SDL does not receive the actual window size after attempts to set the
window size are rejected / reversed / altered by the window manager. The
discrepancy between the actual window size and what SDL *thinks* the window
size is causes issues.
The ability to change the windowed resolution from the menu isn't necessary
when live resizing is available, so disabling the menu option is the simple
solution.
Compare:
https://github.com/Warzone2100/warzone2100/compare/413a2199acc4^...d1b2c77053da------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Warzone2100-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/warzone2100-commits