Michael Lutz
88f6c7a9f3
Codechange: [OSX] Fold remaining Cocoa video subdriver into the main driver.
2021-02-13 22:21:17 +01:00
Michael Lutz
e6bea3961f
Change: [OSX] Replace screen resolution list with suggested window sizes.
...
We never change the real screen resolution on OSX. As such, offering a list
of resolutions is pointless. Instead of that, offer the user a list of
commonly used window sizes up to the current screen size.
2021-02-13 22:21:17 +01:00
Michael Lutz
4db7837d06
Codechange: [OSX] There is only one subdriver left, remove virtual dispatch.
2021-02-13 22:21:17 +01:00
Patric Stout
52317bb7df
Change: [SDL2] Remove unneeded delay of redrawing the screen
...
In testing, I could find no reason why this statement is here.
The comment is rather unclear (it states what it does, but not
why it would be needed).
This line of code was introduced with f4f40448
, which gives no
further insight on why it would be needed to have it here.
As such, let's remove it and see if anyone else reports any
problems with it. If so, this commit can be reverted and a more
clear comment should be added what this line of code is dealing
with (the WHY, not the WHAT).
2021-02-11 20:23:53 +01:00
Patric Stout
2e1535389a
Codechange: [SDL2] Don't use globals if we can do with locals
2021-02-11 20:23:53 +01:00
Patric Stout
2bbef6b5cf
Codechange: [SDL2] Name paint function Paint(), like other drivers do
...
This reduces confusion when reading different drivers.
2021-02-11 20:23:53 +01:00
Patric Stout
569ce6c7b4
Fix 30e69c51: palette was not marked dirty when creating a new
...
This means the code depended that the caller did this for us
before MakePalette() is executed, which is neither a
requirement nor a promise the code makes.
2021-02-11 20:23:53 +01:00
Patric Stout
2c9084d48c
Fix #8029 : [SDL2] disable draw-thread on wayland SDL video driver ( #8648 )
...
When the wayland SDL video driver is used, an EGL context is
created in the main thread. It is not allowed to update this
context from another thread, which is exactly what our draw-thread
is trying.
The other solution would be to move all of SDL into the
draw-thread, but that would introduce a whole scala of different
problems.
The wayland SDL backend is significantly faster than the
X11 SDL backend, but there is a performance hit nevertheless.
2021-02-06 14:09:45 +01:00
SamuXarick
a4035af337
Codechange: Apply coding style ( #8640 )
...
* Fix: Missing or needed spaces
* Codechange: Remove space
* Codechange: Remove space
* Codechange: More missing spaces
* Codechange: Missing spaces
* Codechange: Remove space
* Codechange: Remove space
2021-02-05 11:00:36 +01: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
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 0e62a398c7f: 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
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
Charles Pigott
348c231e12
Codechange: Make codestyle for CMake files consistent for 'control' statements
2020-09-25 14:43:13 +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
TechGeekNZ
cdd2892c49
Codechange: Realign SDL driver with SDL2 driver to ease maintenance and emphasise differences.
2020-06-04 09:05:21 +01:00
Niels Martin Hansen
764497206a
Fix #8066 : Try another fallback colourspace if first one fails
2020-06-01 19:43:37 +02:00
Michael Lutz
37bc2f8064
Codechange: Use std::string in the driver and blitter selection code.
2020-05-21 20:02:34 +02: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
Michael Lutz
0e5be3887c
Remove: [OSX] Old fullscreen subdriver for pre 10.7 systems.
...
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-12 18:44:43 +02:00
Michael Lutz
a31cbbf67f
Remove: [OSX] QuickDraw video subdriver used for OSX versions up to 10.4.
...
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-04-12 18:44:43 +02:00
Sebastian Pauka
bd3a5876b0
Fix #7644 : [Cocoa] Manually set colorspace to sRGB
2020-03-30 08:25:14 +02: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
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
81f159434d
Codechange: Add EditBoxGainedFocus method to VideoDriver base class
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
Nikolas Nyby
4884dcacba
Fix #7784 : up/down/home/end key behavior in SDL2
...
Closes #7784 .
2019-11-01 23:41:47 +01:00
Michael Lutz
d5a9bd404a
Codechange: [OSX] Use std::unique_ptr with a custom deleter to simply memory management of Core Foundation types.
2019-11-01 22:32:53 +01:00
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
2019-10-25 22:23:57 +01:00
JMcKiern
04f659e768
Fix: Some typos found using codespell
2019-09-29 21:27:32 +01:00
nikolas
2d27e8e685
Add #6173 : New SDL 2 based video and sound drivers ( #7086 )
2019-09-19 17:18:50 +02:00
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.
2019-09-16 19:11:08 +01:00
Michael Lutz
994664dec5
Fix #7644 : [OSX] Try to use system colour space to avoid video output performance degradation.
2019-09-16 19:11:08 +01:00
Andy
9014633866
Fix: change Quartz driver colorSpace handling to address certain macOS performance issues ( #7644 )
2019-09-07 22:09:17 +02:00
nikolas
9d6fb257c3
Cleanup: Remove duplicate thread.h include ( #7683 )
2019-08-06 07:43:00 +01:00
glx
9195f2337a
Codechange: use std::vector for _resolutions
2019-04-18 21:49:34 +02:00
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02:00
Michael Lutz
967b27a2c1
Codechange: C++11 STL has a function for getting the number of CPU cores.
2019-04-06 11:27:39 +02:00
Michael Lutz
ae748166d0
Codechange: Use platform independent C++11 function for sleeping on a thread.
2019-04-06 11:27:39 +02:00
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.
2019-04-06 11:27:39 +02:00
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.
2019-04-06 11:27:39 +02:00
Niels Martin Hansen
66c60e52ba
Change: [SDL] Do not offer video smaller than 640x480
2019-03-30 22:02:14 +01:00
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.
2019-03-24 16:10:04 +01:00
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.
2019-03-20 19:24:55 +01:00
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.
2019-03-19 23:22:51 +01:00
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.
2019-03-05 22:03:00 +01:00
Patric Stout
7784d77713
Remove: MorphOS / AmigaOS support
...
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-05 22:03:00 +01:00
Charles Pigott
c3bc7d657e
Codechange: Remove ability for SDL to be dynamically loaded on Windows
2019-03-02 17:13:05 +01:00
Alexander Weiss
77ab6f8ec7
Change: [OSX] Prevent 2D scrolling for traditional scroll wheel mice
2019-02-24 17:54:59 +01:00
Alexander Weiss
0bb395b21d
Change #6800 : [OSX] Use high-precision scrolling deltas for 2D scrolling
2019-02-24 17:54:59 +01:00
Charles Pigott
fe8c24e081
Codechange: Remove unnecessarily defined functions under MinGW
2019-01-17 21:55:15 +00:00
Charles Pigott
2d981a4b2c
Fix: A few minor compile warnings under MinGW
2019-01-17 21:55:15 +00:00
glx
c540d72445
Fix: [Win32] WIN32 may not be defined, always prefer the compiler predefined macro _WIN32
2018-12-27 18:09:16 +01:00
Niels Martin Hansen
2a868b9f3b
Feature: Framerate display window ( #6822 )
...
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-07-19 21:17:07 +02:00
Michael Lutz
dbfc417e65
Fix: [Win32] Garbage in OS window title if branch name was too long.
...
This was caused by a missing \0-character on reaching the buffer limit.
2018-06-27 22:16:43 +02:00
Alexander Weiss
3e910a5969
Change: [OSX] Disable macOS Sierra's automatic tab feature
2018-05-27 16:01:08 +02:00
Alexander Weiss
6df7ced343
Change: [OSX] Reversed pinch to zoom behaviour.
...
Made pinch out zoom in and pinch in zoom out, as virtually all macOS
applications do.
2018-05-24 21:31:37 +02:00
Michael Lutz
bb5584c835
Fix 74b7f0a: [OSX] Mouse cursor getting occasionally stuck.
2018-04-30 23:57:28 +02:00
Matthijs Kooijman
fa87212a76
Fix: Some spelling errors in printed messages
2018-04-30 13:38:58 +02:00
Patric Stout
aef69443e7
Remove: WinCE support
2018-04-29 15:32:16 +02:00
Patric Stout
85adde7485
Remove: PSP support
2018-04-29 15:32:16 +02:00
Michael Lutz
e0ae67cefa
Fix: [OSX] Compiler warning about an unused NULL argument.
2018-04-21 22:42:14 +02:00
Michael Lutz
6c3902ac41
Codechange: [OSX] Use newer APIs to get resolution information when available.
2018-04-10 23:30:01 +02:00
Michael Lutz
964d310cda
Codechange: [OSX] Use non-deprecated API for displaying an alert where supported.
2018-04-10 23:30:01 +02:00
Michael Lutz
74b7f0a9aa
Fix: [OSX] Remove some OSX compiler warnings on newer SDKs/compilers.
2018-04-10 23:30:01 +02:00
Michael Lutz
4bfd277017
Codechange: [Win32] Use OS function for mouse tracking if present.
2018-04-10 21:07:27 +02:00
michi_cc
c722cb26b8
(svn r27935) -Fix [FS#6629]: [Win32] Right mouse scrolling didn't work properly with the Windows 10 Fall Creators Update.
2017-12-09 19:21:45 +00:00
frosch
b4b98e5165
(svn r27893) -Codechange: Use fallthrough attribute. (LordAro)
2017-08-13 18:38:42 +00:00
frosch
b1fe837b8e
(svn r27775) -Fix [FS#6510]: Insufficient thread synchronisation when switching blitters. (JGR)
2017-03-11 13:05:54 +00:00
frosch
d5f82bf55b
(svn r27774) -Fix [FS#5889]: Enabling palette animation for 32bpp blitters 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.
2017-03-11 12:52:26 +00:00
michi_cc
94b3965989
(svn r27675) -Fix [FS#6502]: [OSX] Building with 10.11 or 10.12 SDKs.
2016-10-31 19:29:01 +00:00
michi_cc
c83306391e
(svn r27673) -Add: [Win32] Thread names for windows debuggers.
2016-10-30 18:22:55 +00:00
frosch
31f046bd9b
(svn r27670) -Add: [FS#6471] Assign descriptive names to (GNU pthread) threads. (JGR)
2016-10-30 17:29:33 +00:00
alberth
0adfb1ac6f
(svn r27653) -Fix(r27647): Rename FileOperation enum and values to SaveLoadOperation to avoid nameclash with windows compiler toolkit.
2016-09-04 16:06:50 +00:00
alberth
597380e099
(svn r27650) -Codechange: Replace SaveOrLoadMode by FileOperation and DetailedFileType.
2016-09-04 12:57:43 +00:00
frosch
352e528cda
(svn r27167) -Fix: [SDL, Windows] Right-mouse-button scrolling scrolled/jumped way to far, when OpenTTD lagged during mouse event processing.
2015-02-22 23:06:45 +00:00
fonsinchen
306b6a11ee
(svn r27046) -Fix [FS#5812]: Don't require double-press from non-dead console hotkeys.
2014-10-26 20:01:36 +00:00
planetmaker
3df230af62
(svn r26943) -Fix: [Win32] Silence a warning about comparison of signed and unsigned variables when using gcc
2014-09-30 21:10:32 +00:00
michi_cc
5a2fd3630b
(svn r26818) -Fix [FS#AndyShouldHaveFoundFlySprayByNow] (r26758): [OSX] Line history and scrolling in the console window went on a walk.
2014-09-13 22:00:10 +00:00
michi_cc
2b3b8c93e7
(svn r26758) -Fix [FS#5972]: [OSX] Implement more of the text editing API to prevent crashes and improve IME support.
2014-08-24 10:34:43 +00:00
planetmaker
bcb9c64ac8
(svn r26709) -Fix (r15892 and others) [FS#6069]: [OSX] Compilation fails with some lzo2 versions if we define __LP64__ as 0 instead of checking whether it is defined (kernigh2)
2014-07-30 20:19:29 +00:00
rubidium
b476086c39
(svn r26538) -Codechange: remove double accounting of the drivers
2014-04-28 21:06:51 +00:00
frosch
631e8b45fd
(svn r26522) -Add: A config-file-only setting to disable usage of 8bpp video 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-27 12:15:14 +00:00
rubidium
9ed12b0f07
(svn r26509) -Codechange: replace strdup with stredup (the latter ensures the return is not NULL)
2014-04-25 15:40:32 +00:00
rubidium
781dd48949
(svn r26502) -Fix: OSX compilation error
2014-04-24 18:44:38 +00:00
frosch
0e8bfeb7a9
(svn r26496) -Fix (r1547): Reading console input on dedicated server relied on unspecified behaviour.
2014-04-24 17:49:31 +00:00
rubidium
21f991e235
(svn r26489) -Codechange: properly account for the end of buffers in the file io code instead of assuming MAX_PATH is okay
2014-04-23 21:23:21 +00:00
rubidium
5b82822c12
(svn r26486) -Codechange: replace a number of snprintfs with seprintf
2014-04-23 21:12:09 +00:00
rubidium
0463dbdc9e
(svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2014-04-23 20:13:33 +00:00
planetmaker
3e9c10f9e1
(svn r26449) -Add: Allow more sound sleep for dedicated servers when there's nothing to do and nobody paying attention
2014-04-08 20:19:41 +00:00
michi_cc
e15446bc58
(svn r26367) -Fix: [Win32] Use a separate event to indicate that the drawing thread has finished initialising, preventing potential deadlocks.
2014-02-23 16:08:50 +00:00
fonsinchen
d8eda06a5a
(svn r26366) -Fix: Protect the windows video driver from concurrent access (frosch123)
2014-02-23 14:16:36 +00:00
fonsinchen
b4a015a4bd
(svn r26365) -Fix [FS#5867]: Don't draw the cursor when its sprite isn't ready and set _screen.dst_ptr immediately when the buffer changes (frosch123)
2014-02-23 14:15:55 +00:00
frosch
aaa6d0f9ae
(svn r26360) -Revert (r25550) / Fix [FS#5922]: ClientSizeChanged is only called via WndProcGdi which already has the mutex. The issue which r25550 tried to fix still exists as FS#5867.
2014-02-22 14:26:07 +00:00
frosch
27eede06c9
(svn r26351) -Fix: Protect all VideoDriver_SDL methods with the _draw_mutex.
2014-02-16 21:57:22 +00:00
rubidium
a942619911
(svn r26247) -Fix [FS#5854, FS#5855]: Possible out of bounds reads with the sse blitters (MJP)
2014-01-13 17:54:24 +00:00
rubidium
fb05674cb7
(svn r26211) -Add: specialised non-animated SS2 blitter (MJP)
...
With 32bpp base set about 30% faster than 32bpp-optimized, or about 10% for 8bpp base sets in the Draw function. Respectively about 5 and 1% of total run time
2014-01-02 23:12:32 +00:00
rubidium
2618d960e3
(svn r26209) -Codechange: remove some template magic and simplify some code
2014-01-02 22:41:58 +00:00
fonsinchen
c71aa27b92
(svn r26186) -Fix: Don't check for equality of MAC_OS_X_VERSION_MAX_ALLOWED.
2013-12-30 14:46:24 +00:00
rubidium
defda16eb6
(svn r26108) -Codechange: some coding style (whitespace)
2013-11-25 14:30:22 +00:00
rubidium
6996b441d9
(svn r26107) -Codechange/cleanup: remove some coding bloat and simplify the driver factory instatiations
2013-11-25 14:26:46 +00:00
michi_cc
2708aff853
(svn r26023) -Fix [FS#5805] (r25686): [OSX] Checking for a valid NSTextInputContext is supposed to fail on 10.4 according to docs, but somehow didn't, leading to a crash when an edit box lost focus.
2013-11-17 12:05:40 +00:00
rubidium
3b9f92e14c
(svn r26009) -Fix: warning about conditional expression with enumeral with non-enumeral type
2013-11-16 10:05:57 +00:00
michi_cc
a985f19d5a
(svn r26003) -Fix [FS#5795b] (r25743): [OSX] Some hotkeys were still triggered during text input.
2013-11-14 23:04:04 +00:00
michi_cc
8f8173c3fe
(svn r26002) -Fix: [OSX] If the console hotkey is a dead key, require two presses to toggle the console, allowing input of accented characters.
2013-11-14 23:03:59 +00:00
michi_cc
8ceef6ec61
(svn r26001) -Fix [FS#5795a] (r25686): [OSX] Clear any pending marked characters from an edit box losing focus.
2013-11-14 23:03:54 +00:00
rubidium
52883db91b
(svn r25970) -Fix [FS#5787]: [SDL] Recursive mutex locking when changing blitter
2013-11-12 18:31:12 +00:00
michi_cc
9b68e4f864
(svn r25962) -Fix (r25951): [OSX] Do the SDK version test the proper way 'round.
2013-11-09 14:47:03 +00:00
michi_cc
a41b8c851d
(svn r25951) -Fix [FS#5797]: [OSX] Disable the old fullscreen sub-driver when compiling with SDK versions 10.9+.
2013-11-08 20:18:31 +00:00
michi_cc
a298a62098
(svn r25950) -Codechange: [OSX] Move some functions used by all video sub-drivers into the common source file.
2013-11-08 20:18:27 +00:00
michi_cc
f36396929a
(svn r25751) -Fix (r25657): [OSX] Restore fullscreen state also when starting on 10.7+.
2013-08-31 20:17:29 +00:00
michi_cc
6bbca9307d
(svn r25743) -Fix [FS#5705]: [OSX] Text input into an edit box would trigger hotkeys.
2013-08-25 11:23:10 +00:00
fonsinchen
0baa72aff9
(svn r25714) -Fix: explicitly cast some things to silence warnings on GCC 4.0
2013-08-10 12:47:24 +00:00
fonsinchen
fd16b0c65c
(svn r25713) -Fix: use proper ObjC style to avoid problems if members are missing
2013-08-10 12:47:22 +00:00
fonsinchen
8222e18586
(svn r25712) -Fix: define kCGBitmapByteOrder32Host to 0 if it's missing.
2013-08-10 12:47:20 +00:00
fonsinchen
f42d60150d
(svn r25711) -Fix: don't use NULL as integer
2013-08-10 12:47:18 +00:00
fonsinchen
a9fde2856c
(svn r25710) -Fix: string arguments to NSNotificationCenter::addObserver and NSNotificationCenter::postNotificationName can't be const in certain versions of OSX
2013-08-10 12:47:16 +00:00
michi_cc
b3ecfbb67a
(svn r25693) -Add: [OSX] Support the new IME functions introduced with 10.5.
2013-08-05 20:38:02 +00:00
michi_cc
30867c487f
(svn r25691) -Add: [OSX] Support for mouse selection in the IME composition string.
2013-08-05 20:37:53 +00:00
michi_cc
e2ec0ddb03
(svn r25690) -Change: [OSX] Position the candidate window at the caret position.
2013-08-05 20:37:48 +00:00
michi_cc
f5e4131492
(svn r25689) -Add: [OSX] Display the IME composition string ourself.
2013-08-05 20:37:44 +00:00
michi_cc
c64e297e0c
(svn r25688) -Codechange: [OSX] Make our view aware of text input by IMEs.
2013-08-05 20:37:40 +00:00
michi_cc
643a294e68
(svn r25687) -Codechange: [OSX] Pass text input directly down to the text handling.
2013-08-05 20:37:37 +00:00
michi_cc
e4d48f3a3b
(svn r25686) -Codechange: [OSX] Abandon IME input if the edit box lost the focus.
2013-08-05 20:37:33 +00:00
michi_cc
0883cf76e3
(svn r25684) -Change: [Win32] Draw the composition string ourselves if possible.
2013-08-05 20:37:25 +00:00
michi_cc
cbdfd31a3c
(svn r25682) -Change: [Win32] Position the IME candidate window at the caret position.
2013-08-05 20:37:18 +00:00
michi_cc
da09fd3077
(svn r25681) -Change: [Win32] Position the IME composition window at the caret position.
2013-08-05 20:37:14 +00:00
michi_cc
21126aec62
(svn r25680) -Codechange: [Win32] Cancel the current IME composition when the input focus changes.
2013-08-05 20:37:11 +00:00
michi_cc
7422120014
(svn r25679) -Codechange: [Win32] Get the result string of an IME input directly without a trip through the window messaging system.
2013-08-05 20:37:06 +00:00
michi_cc
13873d2534
(svn r25678) -Codechange: Notify the video driver when an edit box lost (global) focus so it can abort any current input composition.
2013-08-05 20:37:02 +00:00
michi_cc
63332afcf0
(svn r25675) -Fix: [Win32] Handle DBCS characters correctly in the non-Unicode build.
2013-08-05 20:36:51 +00:00
michi_cc
e37968aadd
(svn r25673) -Fix: [Win32] Use the right code page for converting ANSI strings into UTF-8 for non-Unicode builds. And don't crap out on DBCS code pages either.
2013-08-05 20:36:43 +00:00
michi_cc
fdc436b531
(svn r25672) -Fix: [Win32] Handle Unicode characters from outside the BMP correctly.
2013-08-05 20:36:40 +00:00
michi_cc
019984a14f
(svn r25671) -Codechange: Pass character and key code separately to the keyboard handler.
2013-08-05 20:36:36 +00:00
michi_cc
923eb009e8
(svn r25667) -Fix: [Win32] Only forward key presses to the IME system if an edit box has the input focus.
2013-08-05 20:36:20 +00:00
michi_cc
8b476de3bf
(svn r25666) -Feature [FS#4760]: [OSX] Pinch gesture support for zooming. (Based on patch by leecbaker)
2013-08-05 20:36:17 +00:00
michi_cc
8003da77aa
(svn r25665) -Fix [FS#4689]: [OSX] Crash when unhiding the main window.
2013-08-05 20:36:13 +00:00
michi_cc
1ae357e905
(svn r25664) -Add [FS#4847]: [OSX] Bootstrap downloading of a baseset. (Matthieu)
2013-08-05 20:36:10 +00:00
michi_cc
4ec314989d
(svn r25660) -Fix: [OSX] The name's OpenTTD, not OTTD.
2013-08-05 20:35:56 +00:00
michi_cc
d23fdfa403
(svn r25659) -Fix [FS#4420]: [OSX] System mouse cursor could become visible during dragging. (Matthieu)
2013-08-05 20:35:53 +00:00
michi_cc
408c595eb8
(svn r25658) -Fix [FS#4392]: [OSX] The mouse cursor would sometimes jump near the window borders. (Matthieu)
2013-08-05 20:35:49 +00:00
michi_cc
7ba4d425c8
(svn r25657) -Fix [FS#4744]: [OSX] The new 10.7 fullscreen code can now also be compiled with older SDK versions.
2013-08-05 20:35:46 +00:00
michi_cc
2702fe88d7
(svn r25656) -Cleanup: Coding style.
2013-08-05 20:35:42 +00:00
michi_cc
6d50b10074
(svn r25655) -Fix: [OSX] Mouse cursor wasn't displayed properly after switching to fullscreen on 10.7+. (Based on patch by Maedhros)
2013-08-05 20:35:38 +00:00
rubidium
d9065fbfbe
(svn r25550) -Fix [FS#5571]: [Windows] Race condition between two drawing threads could crash OpenTTD
2013-07-01 19:48:52 +00:00
rubidium
4fbcb73166
(svn r25523) -Fix [FS#5587]: SDL does not give an event when an application gets mouse focus while going to full screen, so manually force the mouse-is-in-window state
2013-06-29 18:21:19 +00:00
matthijs
0d28dc92fc
(svn r25318) -Fix: [SDL, FS#5580] Keyboard input stopped working after fullscreen toggle
2013-06-04 06:36:59 +00:00
rubidium
dcf3df65d3
(svn r25017) -Fix [FS#5466]: crash after bootstrap download of 32bits base set due to referencing a deleted mutex
2013-02-17 20:37:18 +00:00
matthijs
2752dd7bbe
(svn r25003) -Fix (r24993): [SDL] Keep a flag to remember if a hardware 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 11:01:45 +00:00
matthijs
afd1e49224
(svn r25002) -Doc: [SDL] Fix typo in comment.
2013-02-15 11:01:43 +00:00
matthijs
328ed1cf94
(svn r24993) -Fix: [SDL] Improve 8bpp hardware palette support. Instead of 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 11:06:12 +00:00
matthijs
afcb4a25b2
(svn r24992) -Codechange: [SDL] Make CreateMainSurface and PollEvent private methods instead of static functions.
2013-02-14 11:06:06 +00:00
planetmaker
c24374f99c
(svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow)
2013-01-08 22:46:42 +00:00
rubidium
d5d96ba683
(svn r24877) -Fix: some whitespace "errors"
2013-01-01 10:52:32 +00:00
michi_cc
02f39ab1ee
(svn r24781) -Fix (r24762): [Win32] MinGW compiler warning.
2012-12-03 22:08:00 +00:00
michi_cc
e67c717c2f
(svn r24762) -Fix [FS#5359]: [Win32] Don't crash when switching to an unsupported fullscreen display mode (like 8 bpp modes in Windows 8).
2012-11-25 12:14:13 +00:00
yexo
1f75f81a41
(svn r24524) -Fix [FS#5296]: fix some compile problems in mac-only code (__ln__)
2012-09-13 18:42:33 +00:00
glx
ad48f766f7
(svn r24394) -Fix (r24188): changing resolution didn't resize the window
2012-07-10 17:47:03 +00:00
truebrain
353fd97de6
(svn r24189) -Fix: when going to fullscreen and back, restore to the resolution you were, not to the fullscreen resolution (Windows only)
2012-04-30 16:49:26 +00:00
truebrain
39912b7bde
(svn r24188) -Fix-ish [FS#5151] (r1): when changing the basics of a window (fullscreen, 8bpp/32bpp), and a window already exists, it was forced out of maximize mode, and its resolution/position was reset, often causing unwanted side-effects. As a "bonus", a WC_SIZE was triggered, and if the system was going from 8bpp to 32pp, this caused a forced window update in a limbo-state of the blitter (not fully 32bpp just yet, but for sure no longer 8bpp); this could cause random memory access which could lead to ACCESS_VIOLATIONS
2012-04-30 16:48:47 +00:00
rubidium
74785478ec
(svn r23980) -Fix (r23977): crash when starting with the 32bpp anim blitter
2012-02-23 21:10:08 +00:00
rubidium
4db85fcc4d
(svn r23978) -Fix: [SDL] Palette update was done too late making switching from 8bpp -> 32bpp look ugly
2012-02-23 16:23:09 +00:00