Jonathan G Rennison
650d5e014e
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/ai/ai_gui.cpp
# src/company_cmd.cpp
# src/lang/estonian.txt
# src/lang/german.txt
# src/lang/hungarian.txt
# src/lang/korean.txt
# src/lang/slovak.txt
# src/main_gui.cpp
# src/video/sdl2_v.cpp
2021-02-01 19:34:30 +00:00
Jonathan G Rennison
7154f8859d
Merge tag '1.11.0-beta1' into jgrpp
...
# Conflicts:
# src/console_cmds.cpp
# src/gfx_func.h
# src/industry.h
# src/lang/czech.txt
# src/lang/estonian.txt
# src/lang/german.txt
# src/lang/indonesian.txt
# src/lang/japanese.txt
# src/lang/norwegian_bokmal.txt
# src/lang/russian.txt
# src/lang/slovak.txt
# src/saveload/saveload.h
# src/station_gui.cpp
# src/town_gui.cpp
# src/vehicle_gui.cpp
# src/video/sdl2_v.cpp
# src/waypoint_gui.cpp
2021-02-01 18:58:36 +00:00
Jonathan G Rennison
b7ddd486cf
Merge branch 'master' into jgrpp
...
# Conflicts:
# cmake/CompileFlags.cmake
# src/aircraft_cmd.cpp
# src/blitter/32bpp_anim.cpp
# src/cargopacket.cpp
# src/cheat_gui.cpp
# src/company_cmd.cpp
# src/company_gui.cpp
# src/core/pool_func.hpp
# src/date.cpp
# src/economy.cpp
# src/error_gui.cpp
# src/ground_vehicle.cpp
# src/ground_vehicle.hpp
# src/group_gui.cpp
# src/industry_cmd.cpp
# src/lang/dutch.txt
# src/lang/french.txt
# src/lang/german.txt
# src/linkgraph/linkgraph_gui.cpp
# src/linkgraph/mcf.cpp
# src/network/network_content.cpp
# src/network/network_server.cpp
# src/network/network_udp.cpp
# src/newgrf_engine.cpp
# src/newgrf_station.cpp
# src/order_cmd.cpp
# src/order_gui.cpp
# src/pathfinder/follow_track.hpp
# src/pathfinder/yapf/yapf_common.hpp
# src/saveload/saveload.cpp
# src/settings_gui.cpp
# src/station_cmd.cpp
# src/station_kdtree.h
# src/string_func.h
# src/table/settings.ini
# src/tgp.cpp
# src/timetable_cmd.cpp
# src/timetable_gui.cpp
# src/toolbar_gui.cpp
# src/town_cmd.cpp
# src/train_cmd.cpp
# src/train_gui.cpp
# src/tree_gui.cpp
# src/tunnelbridge_cmd.cpp
# src/vehicle.cpp
# src/vehicle_gui.cpp
# src/video/sdl2_v.cpp
# src/video/sdl_v.cpp
# src/video/win32_v.cpp
# src/viewport.cpp
# src/viewport_sprite_sorter_sse4.cpp
# src/window.cpp
2021-02-01 17:07:34 +00:00
Jonathan G Rennison
6c3e5642f8
Merge branch 'master' into jgrpp
...
# Conflicts:
# cmake/CompileFlags.cmake
# src/crashlog.cpp
# src/fileio.cpp
# src/fileio_func.h
# src/fios_gui.cpp
# src/ini_load.cpp
# src/ini_type.h
# src/lang/english.txt
# src/lang/german.txt
# src/lang/korean.txt
# src/network/network_client.cpp
# src/order_base.h
# src/order_cmd.cpp
# src/os/windows/win32.cpp
# src/road_cmd.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/settings.cpp
# src/station_cmd.cpp
# src/stdafx.h
# src/table/settings.ini
# src/tree_cmd.cpp
# src/tree_gui.cpp
# src/vehicle_base.h
# src/video/cocoa/cocoa_v.mm
# src/video/cocoa/event.mm
# src/video/cocoa/wnd_quartz.mm
# src/viewport.cpp
# src/widgets/tree_widget.h
2021-01-31 01:08:35 +00:00
Patric Stout
0e54c32452
Codechange: [SDL2] Use MakeDirty() to force a redraw
...
The original code is "strictly correct", but just reads really
weird, and we use MakeDirty() in several other places instead too.
2021-01-30 21:43:59 +01:00
Patric Stout
30e69c518b
Codechange: [SDL2] Rework how palette is updated
...
It now follows more what the Win32 driver does, and has far less
exceptions and special casing.
MakePalette creates the Palette and prepares surface.
UpdatePalette updates the Palette.
CheckPaletteAnim checks if UpdatePalette needs to be called and
marks the whole screen dirty so DrawSurfaceToScreen will do a
full redraw.
2021-01-30 21:43:59 +01:00
Patric Stout
eb80fefd1d
Fix: [SDL2] Display why SDL_CreateWindow() failed in case it does
...
All SDL_NNN errors print SDL_GetError, except for this one place.
2021-01-30 21:43:59 +01:00
Patric Stout
19345908cb
Codechange: [SDL2] Split away CreateMainWindow from CreateMainSurface
...
This makes the code a bit more readable, as both intentions are
more clear, and there is less nesting in the main function.
2021-01-30 21:43:59 +01:00
Patric Stout
8c37e5c526
Codechange: [SDL2] reworked the different surfaces to make it more readable
2021-01-30 21:43:59 +01:00
Patric Stout
8de325f256
Codechange: [SDL2] Only prepare "caption" if you are going to us it
2021-01-30 21:43:59 +01:00
Patric Stout
e41ec5b42e
Codechange: [SDL2] Minor code cleanup to remove silly variable
2021-01-30 21:43:59 +01:00
Patric Stout
678031f9b3
Codechange: [SDL2] Only set _cur_palette, never _local_palette
2021-01-30 21:43:59 +01:00
Patric Stout
f31b65825f
Codechange: [SDL2] Move FindStartupDisplay to its own function
2021-01-30 21:43:59 +01:00
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
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
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
f3326d34e7
Codechange: Use std::string in FIO search path handling.
2020-12-27 13:19:25 +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
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
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
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
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
4c59dfb6b1
Fix data race during palette animation with threaded blitters
2020-04-12 00:12:58 +01:00
Jonathan G Rennison
dd99fd646d
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/base_station_base.h
# src/industry.h
# src/industry_cmd.cpp
# src/industry_gui.cpp
# src/lang/korean.txt
# src/os/macosx/crashlog_osx.cpp
# src/station_cmd.cpp
# src/town.h
# src/town_cmd.cpp
# src/town_gui.cpp
2020-01-20 18:36:55 +00:00
xdavidwu
8fe38afd2b
Fix: [SDL2] Correct name of the video driver in debug log
...
SDL_GetVideoDriver(0) returns name of first video driver included in
the library, not the driver currently used.
SDL_GetCurrentVideoDriver() does what we want here.
2020-01-15 20:16:53 +00:00
Jonathan G Rennison
cbdd9f84d8
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/console_gui.cpp
# src/lang/korean.txt
# src/video/sdl2_v.cpp
# src/video/sdl2_v.h
# src/window.cpp
# src/window_gui.h
2019-11-12 18:43:10 +00:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
Jonathan G Rennison
a15ace0f5b
Fix #7783 , Fix #7816 : [SDL2] Fix input handling in edit context
...
In particular this fixes handling of the shift key
2019-11-10 17:58:42 +00:00
Jonathan G Rennison
46f7c6a641
Change: [SDL2] Add an "unprintable" flag to struct VkMapping
...
SDL_Keysym::sym is not suitable for checking whether the character
is printable or not
2019-11-10 17:58:42 +00:00
Jonathan G Rennison
d41378c00a
Fix: [SDL2] Page down key not handled
...
SDLK_PAGEUP and SDLK_PAGEDOWN are not sequential
They must have separate entries in _vk_mapping
2019-11-10 17:58:42 +00:00
Jonathan G Rennison
3db399d7d9
Fix: [SDL2] Detection of backtick scancode
...
SDL_Keysym::scancode is a SDL_SCANCODE_* constant, not a raw scan code
2019-11-10 17:58:42 +00:00
Jonathan G Rennison
ca3c72438e
Merge branch 'master' into jgrpp
...
# Conflicts:
# Makefile.bundle.in
# src/os/macosx/string_osx.cpp
# src/station_cmd.cpp
2019-11-06 17:49:00 +00:00
Jonathan G Rennison
daf7cf1913
Fix: SDL2: Detection of backtick scancode
...
SDL_Keysym::scancode is a SDL_SCANCODE_* constant, not a raw scan code
2019-11-04 22:57:55 +00:00
Jonathan G Rennison
86953e1bef
Change: SDL2: Add an "unprintable" flag to struct VkMapping
...
SDL_Keysym::sym is not suitable for checking whether the character
is printable or not
2019-11-04 22:56:35 +00:00
Jonathan G Rennison
ab54beb3af
Fix: SDL2: Page down key: SDLK_PAGEUP and SDLK_PAGEDOWN are not sequential
...
They must have separate entries in _vk_mapping
2019-11-04 22:56:33 +00:00
Nikolas Nyby
4884dcacba
Fix #7784 : up/down/home/end key behavior in SDL2
...
Closes #7784 .
2019-11-01 23:41:47 +01:00
Jonathan G Rennison
5bf52ab736
SDL2: Fix Home and End keys not working in text editing contexts
2019-10-25 23:26:17 +01:00