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: [Win32] Automatic zoom level suggestion for Win32 video driver. | Michael Lutz | |
The zoom level suggestion is based on the DPI scaling set in Windows. We use 150% scaling as the threshold for 2X zoom and 300% scaling as the threshold for 4X zoom. | |||
2021-01-17 | Codechange: [SDL2/Win32] Be consistent how 0bpp blitters are not allowed | Patric 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-17 | Codechange: [Win32] Use _local_palette for most operations | Patric Stout | |
Other drivers do this too, and this makes the world a bit more the same. | |||
2021-01-17 | Codechange: [Win32] use CSleep() instead of Sleep() like everywhere else | Patric Stout | |
Functional it is identical. Just helps future-us when searching for sleeps. | |||
2021-01-17 | Codechange: [Win32] Use return-early in RegisterWndClass() | Patric Stout | |
2021-01-17 | Codechange: [Win32] Remove Windows 95 specific mouse tracking work-around. | Michael Lutz | |
2021-01-14 | Feature: Choose a sensible window size on a fresh OTTD config file. (#8536) | Michael Lutz | |
2021-01-08 | Codechange: Remove min/max functions in favour of STL variants (#8502) | Charles Pigott | |
2020-12-21 | Doc: some comments for the win32 video driver (#8409) | Patric Stout | |
Co-authored-by: Niels Martin Hansen <nielsm@indvikleren.dk> | |||
2020-05-21 | Codechange: Use std::string in the driver and blitter selection code. | Michael Lutz | |
2019-11-10 | Cleanup: Removed SVN headers | S. D. Cloudt | |
2019-04-18 | Codechange: use std::vector for _resolutions | glx | |
2019-04-10 | Codechange: Use null pointer literal instead of the NULL macro | Henry Wilson | |
2019-04-06 | Codechange: C++11 STL has a function for getting the number of CPU cores. | Michael Lutz | |
2019-04-06 | Codechange: 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-06 | Codechange: 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-01-17 | Codechange: Remove unnecessarily defined functions under MinGW | Charles Pigott | |
2019-01-17 | Fix: A few minor compile warnings under MinGW | Charles Pigott | |
2018-07-19 | Feature: 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-06-27 | Fix: [Win32] Garbage in OS window title if branch name was too long. | Michael Lutz | |
This was caused by a missing \0-character on reaching the buffer limit. | |||
2018-04-29 | Remove: WinCE support | Patric Stout | |
2018-04-10 | Codechange: [Win32] Use OS function for mouse tracking if present. | Michael Lutz | |
2017-12-09 | (svn r27935) -Fix [FS#6629]: [Win32] Right mouse scrolling didn't work ↵ | michi_cc | |
properly with the Windows 10 Fall Creators Update. | |||
2017-08-13 | (svn r27893) -Codechange: Use fallthrough attribute. (LordAro) | frosch | |
2017-03-11 | (svn r27775) -Fix [FS#6510]: Insufficient thread synchronisation when ↵ | frosch | |
switching blitters. (JGR) | |||
2016-10-30 | (svn r27673) -Add: [Win32] Thread names for windows debuggers. | michi_cc | |
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-09-30 | (svn r26943) -Fix: [Win32] Silence a warning about comparison of signed and ↵ | planetmaker | |
unsigned variables when using gcc | |||
2014-04-28 | (svn r26538) -Codechange: remove double accounting of the drivers | rubidium | |
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 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-23 | (svn r26367) -Fix: [Win32] Use a separate event to indicate that the drawing ↵ | michi_cc | |
thread has finished initialising, preventing potential deadlocks. | |||
2014-02-23 | (svn r26366) -Fix: Protect the windows video driver from concurrent access ↵ | fonsinchen | |
(frosch123) | |||
2014-02-23 | (svn r26365) -Fix [FS#5867]: Don't draw the cursor when its sprite isn't ↵ | fonsinchen | |
ready and set _screen.dst_ptr immediately when the buffer changes (frosch123) | |||
2014-02-22 | (svn r26360) -Revert (r25550) / Fix [FS#5922]: ClientSizeChanged is only ↵ | frosch | |
called via WndProcGdi which already has the mutex. The issue which r25550 tried to fix still exists as FS#5867. | |||
2014-01-13 | (svn r26247) -Fix [FS#5854, FS#5855]: Possible out of bounds reads with the ↵ | rubidium | |
sse blitters (MJP) | |||
2014-01-02 | (svn r26211) -Add: specialised non-animated SS2 blitter (MJP) | rubidium | |
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 | (svn r26209) -Codechange: remove some template magic and simplify some code | rubidium | |
2013-11-16 | (svn r26009) -Fix: warning about conditional expression with enumeral with ↵ | rubidium | |
non-enumeral type | |||
2013-08-05 | (svn r25684) -Change: [Win32] Draw the composition string ourselves if possible. | michi_cc | |
2013-08-05 | (svn r25682) -Change: [Win32] Position the IME candidate window at the caret ↵ | michi_cc | |
position. | |||
2013-08-05 | (svn r25681) -Change: [Win32] Position the IME composition window at the ↵ | michi_cc | |
caret position. | |||
2013-08-05 | (svn r25680) -Codechange: [Win32] Cancel the current IME composition when ↵ | michi_cc | |
the input focus changes. | |||
2013-08-05 | (svn r25679) -Codechange: [Win32] Get the result string of an IME input ↵ | michi_cc | |
directly without a trip through the window messaging system. | |||
2013-08-05 | (svn r25675) -Fix: [Win32] Handle DBCS characters correctly in the ↵ | michi_cc | |
non-Unicode build. | |||
2013-08-05 | (svn r25673) -Fix: [Win32] Use the right code page for converting ANSI ↵ | michi_cc | |
strings into UTF-8 for non-Unicode builds. And don't crap out on DBCS code pages either. |