summaryrefslogtreecommitdiff
path: root/src/video/sdl_v.cpp
AgeCommit message (Collapse)Author
2020-06-04Codechange: Realign SDL driver with SDL2 driver to ease maintenance and ↵TechGeekNZ
emphasise differences.
2020-05-21Codechange: Use std::string in the driver and blitter selection code.Michael Lutz
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-04-18Codechange: use std::vector for _resolutionsglx
2019-04-10Codechange: Use null pointer literal instead of the NULL macroHenry Wilson
2019-04-06Codechange: Replace custom thread code with C++11 thread objects.Michael Lutz
We assume a conforming C++11 compiler environment that has a valid <thread>-header. Failure to run a real thread is handled gracefully.
2019-04-06Codechange: Replace custom mutex code with C++11 mutex'es.Michael Lutz
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.
2019-03-30Change: [SDL] Do not offer video smaller than 640x480Niels Martin Hansen
2019-03-05Remove: BeOS support (deprecated by Haiku)Patric Stout
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.
2019-03-05Remove: MorphOS / AmigaOS supportPatric Stout
In 10 years there is no commit to change how MorphOS 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), MorphOS is no longer support. There is an SDL2 port for MorphOS, but it is not maintained by upstream SDL2, and nobody can currently test it out. If anyone wants to re-add MorphOS, please do (revert this patch, fix the problems, and create a Pull Request). If you need any help doing so, let us know! It is not that we don't like MorphOS, it is that we don't have anyone fixing the problems :(
2019-03-02Codechange: Remove ability for SDL to be dynamically loaded on WindowsCharles Pigott
2018-12-27Fix: [Win32] WIN32 may not be defined, always prefer the compiler predefined ↵glx
macro _WIN32
2018-07-19Feature: Framerate display window (#6822)Niels Martin Hansen
Frame rate and various game loop/graphics timing measurements and graphs. Accessible via the Help menu, and can print some stats in the console via the fps command.
2018-04-30Fix: Some spelling errors in printed messagesMatthijs Kooijman
2017-03-11(svn r27775) -Fix [FS#6510]: Insufficient thread synchronisation when ↵frosch
switching blitters. (JGR)
2017-03-11(svn r27774) -Fix [FS#5889]: Enabling palette animation for 32bpp blitters ↵frosch
while paused skipped initialisation of the palette and resulted in black windows. -Revert (r23978): No SDL-specific fix required anymore. The new fix applies to all backends.
2016-10-30(svn r27670) -Add: [FS#6471] Assign descriptive names to (GNU pthread) ↵frosch
threads. (JGR)
2015-02-22(svn r27167) -Fix: [SDL, Windows] Right-mouse-button scrolling ↵frosch
scrolled/jumped way to far, when OpenTTD lagged during mouse event processing.
2014-04-28(svn r26538) -Codechange: remove double accounting of the driversrubidium
2014-04-27(svn r26522) -Add: A config-file-only setting to disable usage of 8bpp video ↵frosch
modes. -Remove: [win32] fullscreen_bpp setting, which is replaced by above setting. -Change: Disable usage of 8bpp blitters and video modes by default. Many modern OS and hardware cause issues with those.
2014-04-23(svn r26489) -Codechange: properly account for the end of buffers in the ↵rubidium
file io code instead of assuming MAX_PATH is okay
2014-04-23(svn r26486) -Codechange: replace a number of snprintfs with seprintfrubidium
2014-04-23(svn r26482) -Codechange: add an include that allows us to undefine/redefine ↵rubidium
"unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2014-02-16(svn r26351) -Fix: Protect all VideoDriver_SDL methods with the _draw_mutex.frosch
2014-01-02(svn r26209) -Codechange: remove some template magic and simplify some coderubidium
2013-11-12(svn r25970) -Fix [FS#5787]: [SDL] Recursive mutex locking when changing blitterrubidium
2013-08-05(svn r25671) -Codechange: Pass character and key code separately to the ↵michi_cc
keyboard handler.
2013-06-29(svn r25523) -Fix [FS#5587]: SDL does not give an event when an application ↵rubidium
gets mouse focus while going to full screen, so manually force the mouse-is-in-window state
2013-06-04(svn r25318) -Fix: [SDL, FS#5580] Keyboard input stopped working after ↵matthijs
fullscreen toggle
2013-02-17(svn r25017) -Fix [FS#5466]: crash after bootstrap download of 32bits base ↵rubidium
set due to referencing a deleted mutex
2013-02-15(svn r25003) -Fix (r24993): [SDL] Keep a flag to remember if a hardware ↵matthijs
palette was requested. - Previously, the code would query the SDL_HWPALETTE flag, which doesn't always match the requested value. - This would cause SDL to be restarted on every window resize event, effectively breaking resizing.
2013-02-15(svn r25002) -Doc: [SDL] Fix typo in comment.matthijs
2013-02-14(svn r24993) -Fix: [SDL] Improve 8bpp hardware palette support. Instead of ↵matthijs
always requesting SDL_HWPALETTE, it is now only done for 8bp blitters in fullscreen mode. - This fixes 32bpp blitters on 8bpp X11, which would only render garbage with SDL_HWPALETTE. - This prevents the colors of other applications from being messed up when running a 8bpp blitter on a 8bpp system. - When running a 8bpp blitter on an 8bpp system without SDL_HWPALETTE (e.g., in windowed mode), this uses a new shadow surface with color approximation. - The use of a hardware palette can be forced on and off using -v sdl:hw_palette=1 or -v sdl:hw_palette=0
2013-02-14(svn r24992) -Codechange: [SDL] Make CreateMainSurface and PollEvent private ↵matthijs
methods instead of static functions.
2013-01-08(svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by ↵planetmaker
Eagle_rainbow)
2012-02-23(svn r23980) -Fix (r23977): crash when starting with the 32bpp anim blitterrubidium
2012-02-23(svn r23978) -Fix: [SDL] Palette update was done too late making switching ↵rubidium
from 8bpp -> 32bpp look ugly
2012-02-07(svn r23910) -Fix: [SDL] Handle the SDL_VIDEOEXPOSE event.matthijs
- It seems this event is never triggered when using 1.2 (it has some autorefresh feature which seems to have been removed in 1.3), but in theory this event could also trigger on 1.2. - Note that this fixes redraw issues when compiling against SDL 1.3, but it still uses the "compatibility" rendering API using SDL_SetVideoMode and SDL_UpdateRects. Eventually (when 1.3 is stable and released as 2.0), this should probably be rewritting to use the new Windows and Renderers available in SDL 1.3.
2012-02-07(svn r23909) -Fix: [SDL] Fix keyboard-related segfault when compiling ↵matthijs
against SDL 1.3.
2012-02-04(svn r23891) -Fix-ish: compile failures with SDL 1.3rubidium
2011-12-08(svn r23451) -Codechange: [SDL] Move 32bpp-anim palette animation to the ↵rubidium
draw thread instead of the single threaded bit of the game loop. This causes a speedup of up to 15% when animation is turned on with the 32bpp-anim blitter
2011-12-08(svn r23448) -Fix: keep a local copy of the palette in the 32bpp animated ↵rubidium
blitter so changes of the palette data during the game don't influence drawing (with SDL)
2011-12-08(svn r23446) -Codechange: move _cur_palette and it's related first/count ↵rubidium
dirty variables into a single structure
2011-11-17(svn r23241) -Codechange: make the decision when to go to the custom drawn ↵rubidium
cursor more prominently during the initialisation of OpenTTD
2011-10-04(svn r23003) -Fix (r22999): Missing semicolon.michi_cc
2011-10-04(svn r22999) -Codechange: Allow changing the blitter during the running game.michi_cc
2011-09-09(svn r22910) -Fix [FS#4617]: icon would (almost) never be shown for SDL buildsrubidium
2011-08-21(svn r22788) -Codechange: move modal progress related functions and ↵rubidium
variables to progress.cpp/h
2011-08-21(svn r22785) -Codechange: rename IsGeneratingWorld to HasModalProgressrubidium
2011-02-07(svn r22021) -Fix (r22019): ofcourse make doesn't notice files are gone, so ↵rubidium
it doesn't recompile everything that needs to be recompiled...