summaryrefslogtreecommitdiff
path: root/src/video
AgeCommit message (Collapse)Author
2021-01-17Codechange: [SDL2/Win32] Be consistent how 0bpp blitters are not allowedPatric Stout
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-17Codechange: [Win32] Use _local_palette for most operationsPatric Stout
Other drivers do this too, and this makes the world a bit more the same.
2021-01-17Codechange: [Win32] use CSleep() instead of Sleep() like everywhere elsePatric Stout
Functional it is identical. Just helps future-us when searching for sleeps.
2021-01-17Codechange: [Win32] Use return-early in RegisterWndClass()Patric Stout
2021-01-17Codechange: [Win32] Remove Windows 95 specific mouse tracking work-around.Michael Lutz
2021-01-16Fix 0e62a398c7f: Only center the window, when it is smaller than the screen. ↵frosch
(#8581)
2021-01-14Add: [SDL2] video driver parameter to put OpenTTD on a particular display on ↵frosch
start. By default use the display where the mouse cursor is. (#8572)
2021-01-14Feature: Choose a sensible window size on a fresh OTTD config file. (#8536)Michael Lutz
2021-01-08Codechange: Remove min/max functions in favour of STL variants (#8502)Charles Pigott
2021-01-03Revert 4ce53cb8: [OSX] Delayed fullscreen switch is not needed anymore.Michael Lutz
The fix for #8067 solves the real issue, making this workaround unneeded.
2021-01-03Fix #8067: [OSX] Calculate title bar height instead of assuming a fixed value.Michael Lutz
2021-01-03Fix: [OSX] Quitting in fullscreen mode would loose the original window size.Michael Lutz
This replicates the behaviour on e.g. Windows, which saves the original window size.
2021-01-03Change: [OSX] Hide Dock and menu during fullscreen mode.Michael Lutz
2021-01-03Codechange: [OSX] Silence some annoying warnings.Michael Lutz
2021-01-03Cleanup: [OSX] Remove cargo cult back-buffer alpha setting on show/hide and ↵Michael Lutz
instead simply initialise the buffer on allocation.
2021-01-03Change: [OSX] Compiling the Cocoa/Quartz video driver cannot be disabled ↵Michael Lutz
anymore.
2021-01-03Codechange: [OSX] Re-arrange the OSX video driver code by combining all ↵Michael Lutz
drawing code and moving the window/event handling to a different file. This is just a code move/rename, not a functionality change.
2020-12-27Codechange: Convert some more FIO functions to take std::string.Michael Lutz
2020-12-27Codechange: Use std::string in FIO search path handling.Michael Lutz
2020-12-27Codechange: Store file search paths as std::string.Michael Lutz
2020-12-27Codechange: Replace assert_compile macro with static_assertCharles Pigott
2020-12-21Doc: some comments for the win32 video driver (#8409)Patric Stout
Co-authored-by: Niels Martin Hansen <nielsm@indvikleren.dk>
2020-12-19Fix: [OSX] Warning about ambiguous method (-Wobjc-multiple-method-names). ↵Michael Lutz
(#8399)
2020-12-15Add: [Emscripten] use "relative mouse mode" with SDL2Patric Stout
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-15Add: support for emscripten (play-OpenTTD-in-the-browser)Patric Stout
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-15Codechange: unroll the SDL2 main loopPatric Stout
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-09-25Codechange: Make codestyle for CMake files consistent for 'control' statementsCharles Pigott
2020-06-18Fix #8104: Always add WINDOW_RESIZABLE flag to SDL2 (#8211)nikolas
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-07Cleanup: Correct typographic errors in code comments.TechGeekNZ
2020-06-05Add: introduce CMake for project managementPatric Stout
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-04Codechange: Realign SDL driver with SDL2 driver to ease maintenance and ↵TechGeekNZ
emphasise differences.
2020-06-01Fix #8066: Try another fallback colourspace if first one failsNiels Martin Hansen
2020-05-21Codechange: Use std::string in the driver and blitter selection code.Michael Lutz
2020-04-12Remove: [OSX] Stuff that is pre-10.7 from the Cocoa/Quartz video driver.Michael Lutz
2020-04-12Remove: [OSX] Old fullscreen subdriver for pre 10.7 systems.Michael Lutz
Since the move to C++11, building for pre 10.7 is not possible with the native Apple tools. Also, due to bitrot, the file doesn't even compile anymore. While this could be fixed, it shows that this subdriver is basically never used anymore.
2020-04-12Remove: [OSX] QuickDraw video subdriver used for OSX versions up to 10.4.Michael Lutz
Since the C++11 move, getting OpenTTD to compile and run for anything below 10.7 basically requires building a custom compiler and libc++. Also, the QuickDraw subdriver crashes on more modern OSX version. While this is fixable, keeping the driver around is probably pointless.
2020-03-30Fix #7644: [Cocoa] Manually set colorspace to sRGBSebastian Pauka
2020-01-15Fix: [SDL2] Correct name of the video driver in debug logxdavidwu
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.
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-11-10Fix #7783, Fix #7816: [SDL2] Fix input handling in edit contextJonathan G Rennison
In particular this fixes handling of the shift key
2019-11-10Codechange: Add EditBoxGainedFocus method to VideoDriver base classJonathan G Rennison
2019-11-10Change: [SDL2] Add an "unprintable" flag to struct VkMappingJonathan G Rennison
SDL_Keysym::sym is not suitable for checking whether the character is printable or not
2019-11-10Fix: [SDL2] Page down key not handledJonathan G Rennison
SDLK_PAGEUP and SDLK_PAGEDOWN are not sequential They must have separate entries in _vk_mapping
2019-11-10Fix: [SDL2] Detection of backtick scancodeJonathan G Rennison
SDL_Keysym::scancode is a SDL_SCANCODE_* constant, not a raw scan code
2019-11-01Fix #7784: up/down/home/end key behavior in SDL2Nikolas Nyby
Closes #7784.
2019-11-01Codechange: [OSX] Use std::unique_ptr with a custom deleter to simply memory ↵Michael Lutz
management of Core Foundation types.
2019-10-25Codechange: Don't use SDL_CreateRGBSurfaceWithFormat()Nikolas Nyby
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
2019-09-29Fix: Some typos found using codespellJMcKiern
2019-09-19Add #6173: New SDL 2 based video and sound drivers (#7086)nikolas
2019-09-16Change: [OSX] Recreate backing store if the colour profile of the screen (or ↵Michael Lutz
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.