Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-02-19 | Add: draw the screen at a steady pace, also during fast-forward | Patric Stout | |
During fast-forward, the game was drawing as fast as it could. This means that the fast-forward was limited also by how fast we could draw, something that people in general don't expect. To give an extreme case, if you are fully zoomed out on a busy map, fast-forward would be mostly limited because of the time it takes to draw the screen. By decoupling the draw-tick and game-tick, we can keep the pace of the draw-tick the same while speeding up the game-tick. To use the extreme case as example again, if you are fully zoomed out now, the screen only redraws 33.33 times per second, fast-forwarding or not. This means fast-forward is much more likely to go at the same speed, no matter what you are looking at. | |||
2021-02-19 | Codechange: track _realtime_tick more accurate | Patric Stout | |
_realtime_tick was reset every time the diff was calculated. This means if it would trigger, say, every N.9 milliseconds, it would after two iterations already drift a millisecond. This adds up pretty quick. | |||
2021-02-19 | Codechange: switch all video drivers to std::chrono for keeping time | Patric Stout | |
On all OSes we tested the std::chrono::steady_clock is of a high enough resolution to do millisecond measurements, which is all we need. By accident, this fixes a Win32 driver bug, where we would never hit our targets, as the resolution of the clock was too low to do accurate millisecond measurements with (it was ~16ms resolution instead). | |||
2021-02-14 | Fix: VkMapping declarations violated C++ ODR rule. | milek7 | |
2021-02-14 | Add: [OSX] Automatic zoom level suggestion for Cocoa video driver. | Michael Lutz | |
2021-02-14 | Fix 9c872192: [OSX] Clear mouse button emulation flag. | Michael Lutz | |
2021-02-14 | Add: [OSX] Setting to disable HiDPI graphics rendering. | Michael Lutz | |
2021-02-14 | Change: [OSX] Render screen in full native resolution on HiDPI displays. | Michael Lutz | |
2021-02-14 | Codechange: Consistently use screen size and not driver resolution for ↵ | Michael Lutz | |
determining window sizes. | |||
2021-02-13 | Cleanup: [OSX] Improve some comments. | Michael Lutz | |
2021-02-13 | Codechange: [OSX] Remove unused 'app active' flag. | Michael Lutz | |
2021-02-13 | Fix: [OSX] An emulated right mouse down event has to be followed by right ↵ | Michael Lutz | |
mouse up. | |||
2021-02-13 | Codechange: [OSX] Use relative mouse handling during scrolling. | Michael Lutz | |
2021-02-13 | Change: [OSX] Use a layer-backed view to speed up drawing. | Michael Lutz | |
2021-02-13 | Codechange: [OSX] Align backing buffer pitch for a tiny bit performance. | Michael Lutz | |
2021-02-13 | Cleanup: [OSX] Move event loop into video driver file. | Michael Lutz | |
2021-02-13 | Remove: [OSX] Startup splash screen. | Michael Lutz | |
It wasn't displayed anyway as it was never copied to the bundle. | |||
2021-02-13 | Codechange: [OSX] Move key event handling to our view. | Michael Lutz | |
2021-02-13 | Codechange: [OSX] Move mouse event handling to our NSView. | Michael Lutz | |
2021-02-13 | Codechange: [OSX] Move some things from video driver to our NSView. | Michael Lutz | |
2021-02-13 | Codechange: [OSX] Use newer mouse tracking API. | Michael Lutz | |
2021-02-13 | Codechange: [OSX] Split drawing into its own subview. | Michael Lutz | |
This allows the drawing backend code to be independent of any event or command handling. | |||
2021-02-13 | Codechange: [OSX] Drain autoreleased objects in each game loop cycle. | Michael Lutz | |
2021-02-13 | Codechange: [OSX] Split Window and back buffer creation in Cocoa video driver. | Michael Lutz | |
2021-02-13 | Cleanup: [OSX] Doxygen comment style in video driver. | Michael Lutz | |
2021-02-13 | Codechange: [OSX] Inline some functions that are used in only one place. | Michael Lutz | |
2021-02-13 | Codechange: [OSX] Replace #define with modern code. | Michael Lutz | |
2021-02-13 | Codechange: [OSX] Fold remaining Cocoa video subdriver into the main driver. | Michael Lutz | |
2021-02-13 | Change: [OSX] Replace screen resolution list with suggested window sizes. | Michael Lutz | |
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 | Codechange: [OSX] There is only one subdriver left, remove virtual dispatch. | Michael Lutz | |
2021-01-14 | Feature: Choose a sensible window size on a fresh OTTD config file. (#8536) | Michael Lutz | |
2021-01-03 | Revert 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-03 | Fix #8067: [OSX] Calculate title bar height instead of assuming a fixed value. | Michael Lutz | |
2021-01-03 | Fix: [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-03 | Change: [OSX] Hide Dock and menu during fullscreen mode. | Michael Lutz | |
2021-01-03 | Codechange: [OSX] Silence some annoying warnings. | Michael Lutz | |
2021-01-03 | Cleanup: [OSX] Remove cargo cult back-buffer alpha setting on show/hide and ↵ | Michael Lutz | |
instead simply initialise the buffer on allocation. | |||
2021-01-03 | Change: [OSX] Compiling the Cocoa/Quartz video driver cannot be disabled ↵ | Michael Lutz | |
anymore. | |||
2021-01-03 | Codechange: [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-27 | Codechange: Use std::string in FIO search path handling. | Michael Lutz | |
2020-12-27 | Codechange: Store file search paths as std::string. | Michael Lutz | |
2020-12-19 | Fix: [OSX] Warning about ambiguous method (-Wobjc-multiple-method-names). ↵ | Michael Lutz | |
(#8399) | |||
2020-06-05 | Add: introduce CMake for project management | Patric 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-01 | Fix #8066: Try another fallback colourspace if first one fails | Niels Martin Hansen | |
2020-05-21 | Codechange: Use std::string in the driver and blitter selection code. | Michael Lutz | |
2020-04-12 | Remove: [OSX] Stuff that is pre-10.7 from the Cocoa/Quartz video driver. | Michael Lutz | |
2020-04-12 | Remove: [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-12 | Remove: [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-30 | Fix #7644: [Cocoa] Manually set colorspace to sRGB | Sebastian Pauka | |
2019-11-10 | Cleanup: Removed SVN headers | S. D. Cloudt | |