Commit Graph

443 Commits (0704fb81a3edeea0adf6e86fc9611346ef7d5ac9)

Author SHA1 Message Date
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
5 years ago
S. D. Cloudt 13cc8a0cee Cleanup: Removed SVN headers 5 years ago
Jonathan G Rennison a15ace0f5b Fix #7783, Fix #7816: [SDL2] Fix input handling in edit context
In particular this fixes handling of the shift key
5 years ago
Jonathan G Rennison 81f159434d Codechange: Add EditBoxGainedFocus method to VideoDriver base class 5 years ago
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
5 years ago
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
5 years ago
Jonathan G Rennison 3db399d7d9 Fix: [SDL2] Detection of backtick scancode
SDL_Keysym::scancode is a SDL_SCANCODE_* constant, not a raw scan code
5 years ago
Jonathan G Rennison ca3c72438e Merge branch 'master' into jgrpp
# Conflicts:
#	Makefile.bundle.in
#	src/os/macosx/string_osx.cpp
#	src/station_cmd.cpp
5 years ago
Jonathan G Rennison daf7cf1913 Fix: SDL2: Detection of backtick scancode
SDL_Keysym::scancode is a SDL_SCANCODE_* constant, not a raw scan code
5 years ago
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
5 years ago
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
5 years ago
Nikolas Nyby 4884dcacba Fix #7784: up/down/home/end key behavior in SDL2
Closes #7784.
5 years ago
Michael Lutz d5a9bd404a Codechange: [OSX] Use std::unique_ptr with a custom deleter to simply memory management of Core Foundation types. 5 years ago
Jonathan G Rennison 5bf52ab736 SDL2: Fix Home and End keys not working in text editing contexts 5 years ago
Nikolas Nyby f13b184588 Codechange: Don't use SDL_CreateRGBSurfaceWithFormat()
This function requires libSDL 2.0.5 or higher. It looks like we don't
need to use it, and can just use the original SDL_CreateRGBSurface(),
with the masks set to 0, to trigger the default 8-bit format, which is
SDL_PIXELFORMAT_INDEX8.

Closes #7785

Note: this code path is activated by using an 8-bit blitter, like:

    ./bin/openttd -b 8bpp-simple
5 years ago
Jonathan G Rennison 299becbb2f SDL2: Fix up/down keys in console window 5 years ago
Jonathan G Rennison 67a725e813 SDL2: Handle Fcitx keypresses which do not generate an SDL_KEYDOWN 5 years ago
Jonathan G Rennison 87acac9700 SDL2: Fix handling of shift key in edit context 5 years ago
Jonathan G Rennison 29ed470e04 Fcitx: Fix edge cases around text handling and setup 5 years ago
Jonathan G Rennison 24b5cb0fdb IME: Add direct support for Fcitx IME input, with SDL2 on *nix/X11. 5 years ago
Jonathan G Rennison 34a6f3c72a Fix text input when not in edit box mode, fix backtick handling 5 years ago
Jonathan G Rennison 5d1578bb7f Fix IME positioning with SDL2 5 years ago
Jonathan G Rennison a4c677a571 Add basic IME support to SDL2 video driver 5 years ago
Jonathan G Rennison edfd378e93 Merge branch 'master' into jgrpp
# Conflicts:
#	source.list
#	src/blitter/32bpp_anim.cpp
#	src/linkgraph/linkgraphjob.cpp
#	src/order_cmd.cpp
#	src/vehicle.cpp
#	src/vehicle_type.h
5 years ago
Jonathan G Rennison 33f5e00700 Null video driver: Add driver parameter to run until exit 5 years ago
JMcKiern 04f659e768 Fix: Some typos found using codespell 5 years ago
nikolas 2d27e8e685 Add #6173: New SDL 2 based video and sound drivers (#7086) 5 years ago
Jonathan G Rennison 1f535915d1 Merge branch 'master' into jgrpp-nrt
# Conflicts:
#	config.lib
#	src/core/bitmath_func.hpp
#	src/lang/korean.txt
#	src/main_gui.cpp
#	src/order_gui.cpp
#	src/script/api/script_object.cpp
#	src/station_cmd.cpp
#	src/video/cocoa/wnd_quartz.mm
5 years ago
Jonathan G Rennison a30638bc4a Merge branch 'jgrpp' into jgrpp-nrt 5 years ago
Michael Lutz ed6a427fcc Change: [OSX] Recreate backing store if the colour profile of the screen (or the screen) the game window is one changes.
This will result in changing colours if moving OpenTTD from one screen to another, but should avoid performance problems if the window is moved.
5 years ago
Michael Lutz 994664dec5 Fix #7644: [OSX] Try to use system colour space to avoid video output performance degradation. 5 years ago
Andy 9014633866 Fix: change Quartz driver colorSpace handling to address certain macOS performance issues (#7644) 5 years ago
Jonathan G Rennison b3431512ee Add modifier key window for toggling shift/ctrl key states using mouse 5 years ago
Jonathan G Rennison 6562937899 Merge branch 'master' into jgrpp-nrt
# Conflicts:
#	src/console_cmds.cpp
#	src/script/api/script_order.cpp
#	src/station_cmd.cpp
#	src/statusbar_gui.cpp
#	src/town_gui.cpp
5 years ago
nikolas 9d6fb257c3 Cleanup: Remove duplicate thread.h include (#7683) 5 years ago
Jonathan G Rennison 03d7edd828 Fix use of nullptr for HIMC type in video/win32_v.cpp 5 years ago
Jonathan G Rennison bd2fdde759 Merge branch 'master' into jgrpp
# Conflicts:
#	src/core/sort_func.hpp
#	src/rail_cmd.cpp
#	src/timetable_cmd.cpp
#	src/video/sdl_v.cpp
#	src/video/win32_v.cpp
6 years ago
glx 9195f2337a Codechange: use std::vector for _resolutions 6 years ago
Jonathan G Rennison 674732cd68 Merge: Codechange: Use null pointer literal instead of the NULL macro 6 years ago
Henry Wilson 7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 6 years ago
Jonathan G Rennison f887b12be2 Add 3rd party mingw-std-threads headers to fix MinGW compilation 6 years ago
Michael Lutz 967b27a2c1 Codechange: C++11 STL has a function for getting the number of CPU cores. 6 years ago
Michael Lutz ae748166d0 Codechange: Use platform independent C++11 function for sleeping on a thread. 6 years ago
Michael Lutz 05bc2ed7cb Codechange: Replace custom thread code with C++11 thread objects.
We assume a conforming C++11 compiler environment that has a valid <thread>-header.
Failure to run a real thread is handled gracefully.
6 years ago
Michael Lutz 05f4e73608 Codechange: Replace custom mutex code with C++11 mutex'es.
A conforming compiler with a valid <mutex>-header is expected.
Most parts of the code assume that locking a mutex will never fail unexpectedly,
which is generally true on all common platforms that don't just pretend to
be C++11. The use of condition variables in driver code is checked.
6 years ago
Niels Martin Hansen 66c60e52ba Change: [SDL] Do not offer video smaller than 640x480 6 years ago
Henry Wilson af7d9020a1 Codechange: Use override specifer for overriding member declarations
This is a C++11 feature that allows the compiler to check that a virtual
member declaration overrides a base-class member with the same signature.

Also src/blitter/32bpp_anim_sse4.hpp +38 is no longer erroneously marked
as virtual despite being a template.
6 years ago
Patric Stout e3c639a09f Remove: ENABLE_NETWORK switch
This switch has been a pain for years. Often disabling broke
compilation, as no developer compiles OpenTTD without, neither do
any of our official binaries.

Additionaly, it has grown so hugely in our codebase, that it
clearly shows that the current solution was a poor one. 350+
instances of "#ifdef ENABLE_NETWORK" were in the code, of which
only ~30 in the networking code itself. The rest were all around
the code to do the right thing, from GUI to NewGRF.

A more proper solution would be to stub all the functions, and
make sure the rest of the code can simply assume network is
available. This was also partially done, and most variables were
correct if networking was disabled. Despite that, often the #ifdefs
were still used.

With the recent removal of DOS, there is also no platform anymore
which we support where networking isn't working out-of-the-box.

All in all, it is time to remove the ENABLE_NETWORK switch. No
replacement is planned, but if you feel we really need this option,
we welcome any Pull Request which implements this in a way that
doesn't crawl through the code like this diff shows we used to.
6 years ago
Patric Stout 72c5f2b3ee Remove: DOS support
In 10 years there was no active development on DOS. Although it
turned out to still work, the FPS was very bad. There is little
interest in the current community to look into this.

Further more, we like to switch to c++11 functions for threads,
which are not implemented by DJGPP, the only current compiler
for DOS.

Additionally, DOS is the only platform which does not support
networking. It is the reason we have tons of #ifdefs to support
disabling networking.

By removing DOS support, we can both use c++11 functions for threads,
and remove all the code related to disabling network. Sadly, this
means we have to see DOS go.

Of course, if you feel up for the task, simply revert this commit,
and implement stub c++11 functions for threads and stub functions
for networking. We are more than happy to accept such Pull Request.
6 years ago
Patric Stout f58db44ff2 Remove: BeOS support (deprecated by Haiku)
In 10 years there is no commit to change how BeOS works, and we
have no active maintainer for it. It is unlikely it works in its
current state (but not impossible).

With the arrival of SDL2 (and removal of SDL), BeOS is no longer
support. SDL2 suggests to use Haiku instead of BeOS.
6 years ago