Patric Stout
6916fc76bd
Codechange: [SDL2] reworked FindResolutions to be more like the rest
...
There was no default resolution fallback, and the code was different
from the win32 driver. It is now named the same and much more
similar.
2021-01-30 21:43:59 +01:00
Patric Stout
a52d716c88
Codechange: [SDL2] remove include-protection
...
This is already done by CMake: if SDL2 is not detected, this file
is not included.
2021-01-30 21:43:59 +01:00
Jonathan G Rennison
39df1c49a1
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/fileio.cpp
# src/group_gui.cpp
# src/industry.h
# src/lang/korean.txt
# src/linkgraph/linkgraphjob.cpp
# src/linkgraph/linkgraphjob.h
# src/linkgraph/linkgraphschedule.cpp
# src/linkgraph/linkgraphschedule.h
# src/openttd.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/town_cmd.cpp
# src/vehicle_gui.cpp
# src/vehicle_gui_base.h
2021-01-30 18:27:35 +00:00
Jonathan G Rennison
cb69611248
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/changelog.sh
# cmake/PackageDeb.cmake
# src/network/network_client.cpp
# src/settings_gui.cpp
2021-01-29 18:27:36 +00:00
Jonathan G Rennison
43980639de
Merge branch 'master' into jgrpp
...
# Conflicts:
# .gitignore
# CMakeLists.txt
# src/3rdparty/optional/optional.hpp
# src/group_cmd.cpp
# src/industry_cmd.cpp
# src/misc_gui.cpp
# src/video/sdl2_v.cpp
2021-01-29 17:45:15 +00:00
Patric Stout
1eceee915e
Codechange: [SDL2/Win32] Be consistent how 0bpp blitters are not allowed
...
Sometimes it returned an usererror(), sometimes Start() failed.
Now it always fails on Start(), so nothing else has to check again
what blitter is used.
AfterBlitterChange() can never change to a 0bpp, so it is sufficient
to guard this with an assert().
2021-01-17 19:57:36 +01:00
Patric Stout
49df9c4155
Codechange: [Win32] Use _local_palette for most operations
...
Other drivers do this too, and this makes the world a bit more
the same.
2021-01-17 19:57:36 +01:00
Patric Stout
881d17d8f1
Codechange: [Win32] use CSleep() instead of Sleep() like everywhere else
...
Functional it is identical. Just helps future-us when searching
for sleeps.
2021-01-17 19:57:36 +01:00
Patric Stout
689404a4a1
Codechange: [Win32] Use return-early in RegisterWndClass()
2021-01-17 19:57:36 +01:00
Michael Lutz
7415964a4d
Codechange: [Win32] Remove Windows 95 specific mouse tracking work-around.
2021-01-17 19:57:36 +01:00
frosch
540fdfbf5a
Fix 0e62a398c7: Only center the window, when it is smaller than the screen. ( #8581 )
2021-01-16 23:36:15 +01:00
frosch
0e62a398c7
Add: [SDL2] video driver parameter to put OpenTTD on a particular display on start. By default use the display where the mouse cursor is. ( #8572 )
2021-01-14 23:29:29 +01:00
Michael Lutz
fa60c1f8b9
Feature: Choose a sensible window size on a fresh OTTD config file. ( #8536 )
2021-01-14 21:53:06 +01:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
2021-01-08 11:16:18 +01:00
Michael Lutz
979b4af6ca
Revert 4ce53cb8: [OSX] Delayed fullscreen switch is not needed anymore.
...
The fix for #8067 solves the real issue, making this workaround unneeded.
2021-01-03 22:24:04 +01:00
Michael Lutz
6e8be3b03e
Fix #8067 : [OSX] Calculate title bar height instead of assuming a fixed value.
2021-01-03 22:24:04 +01:00
Michael Lutz
4ce53cb851
Fix: [OSX] Quitting in fullscreen mode would loose the original window size.
...
This replicates the behaviour on e.g. Windows, which saves the original window size.
2021-01-03 21:20:28 +01:00
Michael Lutz
c860a247d3
Change: [OSX] Hide Dock and menu during fullscreen mode.
2021-01-03 21:20:28 +01:00
Michael Lutz
6ad5489d01
Codechange: [OSX] Silence some annoying warnings.
2021-01-03 13:25:32 +01:00
Michael Lutz
7bdaabf5f1
Cleanup: [OSX] Remove cargo cult back-buffer alpha setting on show/hide and instead simply initialise the buffer on allocation.
2021-01-03 13:25:32 +01:00
Michael Lutz
a61a741683
Change: [OSX] Compiling the Cocoa/Quartz video driver cannot be disabled anymore.
2021-01-03 13:25:32 +01:00
Michael Lutz
9ccef816f9
Codechange: [OSX] Re-arrange the OSX video driver code by combining all drawing code and moving the window/event handling to a different file.
...
This is just a code move/rename, not a functionality change.
2021-01-03 13:25:32 +01:00
Jonathan G Rennison
343777e749
OSX: Temporary bodge for WindowQuartzSubdriver::SetPortAlphaOpaque issue
2021-01-02 20:11:50 +00:00
Michael Lutz
65f65ad2ad
Codechange: Convert some more FIO functions to take std::string.
2020-12-27 13:19:25 +01:00
Michael Lutz
f3326d34e7
Codechange: Use std::string in FIO search path handling.
2020-12-27 13:19:25 +01:00
Michael Lutz
0c6e8a8123
Codechange: Store file search paths as std::string.
2020-12-27 13:19:25 +01:00
Charles Pigott
860c270c73
Codechange: Replace assert_compile macro with static_assert
2020-12-27 10:55:42 +00:00
Patric Stout
34051c10df
Doc: some comments for the win32 video driver ( #8409 )
...
Co-authored-by: Niels Martin Hansen <nielsm@indvikleren.dk >
2020-12-21 22:28:56 +01:00
Michael Lutz
4c1ee264a6
Fix: [OSX] Warning about ambiguous method (-Wobjc-multiple-method-names). ( #8399 )
2020-12-19 21:59:27 +01:00
Patric Stout
d5b9f7ac37
Add: [Emscripten] use "relative mouse mode" with SDL2
...
This mode doesn't wrap the mouse constantly, but requests SDL
to lock the mouse pointer. This is needed, as with Emscripten
you are not allowed to change the mouse poisition (only to lock
it into place).
2020-12-15 15:46:39 +01:00
Patric Stout
d15dc9f40f
Add: support for emscripten (play-OpenTTD-in-the-browser)
...
Emscripten compiles to WASM, which can be loaded via
HTML / JavaScript. This allows you to play OpenTTD inside a
browser.
Co-authored-by: milek7 <me@milek7.pl >
2020-12-15 15:46:39 +01:00
Patric Stout
2da07f7615
Codechange: unroll the SDL2 main loop
...
This commit prepares for the next commit, as Emscripten needs to
have a way to trigger a single iteration of the main loop. To
keep the real changes more clear, this commit only unrolls the
loop, and makes no changes to the logic itself.
2020-12-15 15:46:39 +01:00
Jonathan G Rennison
d85a529f87
Merge branch 'master' into jgrpp
2020-10-14 17:38:23 +01:00
Jonathan G Rennison
51477334be
SDL2: Only pass a single rectangle to SDL_UpdateWindowSurfaceRects
...
This is to prevent screen tearing
2020-10-05 21:35:05 +01:00
Jonathan G Rennison
1298f49be6
SDL2: Update whole window surface if >= 80% needs updating
2020-10-05 21:06:29 +01:00
Charles Pigott
348c231e12
Codechange: Make codestyle for CMake files consistent for 'control' statements
2020-09-25 14:43:13 +01:00
Jonathan G Rennison
0bfae346c1
Allow using the hash key in hotkeys (SDL)
2020-09-21 03:52:50 +01:00
TechGeekNZ
cf8ea74733
Update: Merge branch 'jgrpp_master_cmake' into jgrpp_cmake
2020-06-28 21:56:43 +01:00
nikolas
c9aff698d0
Fix #8104 : Always add WINDOW_RESIZABLE flag to SDL2 ( #8211 )
...
This fixes a bug that can reproduced with these steps:
* Start openttd in fullscreen mode
* Turn off fullscreen mode
* Try to resize the window. The window can't be resized.
2020-06-18 08:53:06 +01:00
TechGeekNZ
fe1925931d
Cleanup: Correct typographic errors in code comments.
2020-06-07 01:04:41 +01:00
Patric Stout
56d54cf60e
Add: introduce CMake for project management
...
CMake works on all our supported platforms, like MSVC, Mingw, GCC,
Clang, and many more. It allows for a single way of doing things,
so no longer we need shell scripts and vbs scripts to work on all
our supported platforms.
Additionally, CMake allows to generate project files for like MSVC,
KDevelop, etc.
This heavily reduces the lines of code we need to support multiple
platforms from a project perspective.
Addtiionally, this heavily improves our detection of libraries, etc.
2020-06-05 19:36:05 +02:00
Jonathan G Rennison
43c538fa7d
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/town_cmd.cpp
2020-06-05 17:07:58 +01:00
TechGeekNZ
cdd2892c49
Codechange: Realign SDL driver with SDL2 driver to ease maintenance and emphasise differences.
2020-06-04 09:05:21 +01:00
Jonathan G Rennison
677940cfc6
Merge branch 'master' into jgrpp
2020-06-01 20:39:46 +01:00
Niels Martin Hansen
764497206a
Fix #8066 : Try another fallback colourspace if first one fails
2020-06-01 19:43:37 +02:00
Jonathan G Rennison
f8d6e781ba
Merge branch 'master' into jgrpp
...
# Conflicts:
# projects/openttd_vs140.vcxproj.filters
# projects/openttd_vs141.vcxproj.filters
# projects/openttd_vs142.vcxproj.filters
# src/base_consist.h
# src/company_base.h
# src/newgrf_config.cpp
# src/newgrf_config.h
# src/openttd.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/saveload/station_sl.cpp
# src/settings.cpp
# src/signs_base.h
# src/string.cpp
# src/string_func.h
# src/table/misc_settings.ini
# src/table/settings.h.preamble
# src/town_cmd.cpp
# src/vehicle.cpp
# src/vehicle_cmd.cpp
# src/video/cocoa/cocoa_v.mm
# src/video/null_v.cpp
2020-05-21 22:24:01 +01:00
Michael Lutz
37bc2f8064
Codechange: Use std::string in the driver and blitter selection code.
2020-05-21 20:02:34 +02:00
Jonathan G Rennison
197a4f2e3e
fcitx: Use XLookupString instead of XLookupKeysym to fix modifier keys
...
See: #142
2020-05-05 23:05:50 +01:00
Jonathan G Rennison
74b6981d97
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/os/macosx/macos.mm
# src/video/cocoa/cocoa_v.mm
# src/video/cocoa/fullscreen.mm
# src/video/cocoa/wnd_quartz.mm
# src/video/cocoa/wnd_quickdraw.mm
2020-04-30 23:59:06 +01:00
Michael Lutz
9dd8b3d430
Remove: [OSX] Stuff that is pre-10.7 from the Cocoa/Quartz video driver.
2020-04-12 18:44:43 +02:00