Commit Graph

177 Commits

Author SHA1 Message Date
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
Michael Lutz
fa60c1f8b9 Feature: Choose a sensible window size on a fresh OTTD config file. (#8536) 2021-01-14 21:53:06 +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
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
Michael Lutz
4c1ee264a6 Fix: [OSX] Warning about ambiguous method (-Wobjc-multiple-method-names). (#8399) 2020-12-19 21:59:27 +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
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
S. D. Cloudt
13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00: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
JMcKiern
04f659e768 Fix: Some typos found using codespell 2019-09-29 21:27:32 +01: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
glx
9195f2337a Codechange: use std::vector for _resolutions 2019-04-18 21:49:34 +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
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
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
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
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
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
frosch
b4b98e5165 (svn r27893) -Codechange: Use fallthrough attribute. (LordAro) 2017-08-13 18:38:42 +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
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
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
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