Michael Lutz
57b992717b
Codechange: Extend DrawSpriteToRgbaBuffer to work with 8bpp blitters.
2022-01-01 12:19:30 +01:00
Michael Lutz
69c8ed9965
Codechange: [OSX] Simplify touchbar button data definition.
2022-01-01 12:19:30 +01:00
Michael Lutz
b351cbe490
Fix #9743 : [OSX] Only (re-)create touchbar sprites when requested by the main loop.
2022-01-01 12:19:30 +01:00
Michael Lutz
f40e82a19d
Fix #9743 : [OSX] Don't try to render touchbar sprites with invalid zoom level.
2022-01-01 12:19:30 +01:00
Michael Lutz
80fc5fb46c
Change: [OSX] Allow touchbar usage on all supported OS versions.
...
Touchbar support was introduced in 10.12.2. There's no need to limit
support to 10.15+, as the convenience class NSButtonTouchBarItem is
easily replicated.
2022-01-01 12:19:30 +01:00
Charles Pigott
86c295bb3b
Change: Ignore refresh_rate setting when vsync is enabled
2021-10-17 19:25:03 +01:00
Danny de Bruijne
753b1d7e15
Feature: Add selected toolbar buttons to MacBook Pro Touch Bar
2021-09-23 21:03:00 +02:00
embeddedt
883e4ea325
Change: [Emscripten] set default scrolling mode to non-pointer-locking ( #9191 )
2021-06-28 18:39:09 +02:00
Patric Stout
74186998a2
Codechange: use _cur_palette the same in all the drivers
...
It was a bit of a mixed bag. With this change, gfx.cpp is in
control who accesses _cur_palette from the video-drivers.
2021-06-26 20:28:05 +02:00
Michael Lutz
37116a7575
Codechange: [OSX] Remove old code that has no effect on current OSX versions.
2021-06-22 21:09:37 +02:00
Michael Lutz
883e21dbb7
Codechange: [OSX] We use OpenGL even if Apple doesn't like it.
2021-06-22 21:09:37 +02:00
Michael Lutz
0d5d3083bd
Codechange: [OSX] Use more exact enum names where introduced with the 10.12 SDK.
...
The enum values still have the exact same numerical values, but the 10.12
SDK introduced more explicit names (e.g. like NSEventTypeApplicationDefined
instead of NSApplicationDefined) for several enum constants.
Use them when available.
2021-06-22 21:09:37 +02:00
Patric Stout
cf865597f8
Fix: don't propagate shift/ctrl state till next game-tick ( #9381 )
...
When the game-loop is very slow, it was easily possible to start
the loop with _shift_pressed being false, but end with
_shift_pressed being true. This doesn't hurt the game as such,
but for the user this can be very weird: I pressed "Buy Vehicle",
pressed shift a bit later, and I still get a cost indication.
2021-06-17 20:22:57 +02:00
Rubidium
357af686dc
Cleanup: use true/false instead of 1/0 where applicable
2021-06-17 16:18:30 +02:00
Rubidium
f904aef176
Cleanup: use nullptr instead of 0 or NULL
2021-06-17 16:18:30 +02:00
rubidium42
55a11710a6
Codechange: convert printf DEBUG statements to fmt Debug statements
2021-06-13 12:45:45 +02:00
glx22
d485b50813
Fix: [MinGW] Ignore wglGetProcAddress() cast warnings
2021-06-10 23:17:29 +02:00
glx22
744a9e4745
Codechange: [WIN32] Add a wrapper around GetProcAddress()
2021-06-10 23:17:29 +02:00
glx22
2df48a78cc
Fix: [MinGW32] Can't convert lambda to stdcall
2021-06-10 23:17:29 +02:00
glx22
f4c7d5577e
Codechange: [WIN32] Use VersionHelpers where appropriate
2021-06-10 23:17:29 +02:00
Patric Stout
37ae6b8ae3
Add: adhere the autosave_on_exit setting for Null videodriver ( #9343 )
...
This is especially useful for automated-testing, to make a save
when the game quits while using "-vnull:ticks=N".
2021-06-10 19:34:53 +02:00
Patric Stout
ca9a7df752
Codechange: rename str_validate to StrMakeValid(InPlace) ( #9304 )
...
This to be more explicit the function changes the value, and not
returns yes/no.
2021-05-29 11:21:38 +02:00
Michael Lutz
97722931a9
Fix: [OpenGL] Increase timeout when waiting for the GPU to be done with the drawing buffer.
...
The old timeout could be too short if v-sync was on on lower refresh rates.
2021-05-23 12:22:59 +02:00
Patric Stout
b136e65cf9
Change: reworked the debug levels for network facility ( #9251 )
...
It now follows very simple rules:
0 - Fatal, user should know about this
1 - Error, but we are recovering
2 - Warning, wrong but okay if you don't know
3 - Info, information you might care about
4 -
5 - Debug #1 - High level debug messages
6 - Debug #2 - Low level debug messages
7 - Trace information
2021-05-12 16:34:02 +02:00
Patric Stout
56050fc96f
Fix 91b8ce07
: dedicated servers could no longer create screenshots ( #9232 )
...
Although most commands are not useful on a dedicated server,
screenshot commands should be dequeued.
2021-05-12 16:31:31 +02:00
Milek7
20762f9117
Codechange: Acquire video buffer before taking game state lock to prevent erratic fast forward behaviour ( #9140 )
2021-05-02 19:10:07 +01:00
Michael Lutz
91b8ce073f
Codechange: Generalise the delayed blitter change to a generic video driver command queue.
2021-05-02 17:57:24 +02:00
Peter Nelson
4791ff2862
Fix: Recalculate padding and minimum sizes when GUI or Font zoom is changed.
2021-04-30 17:08:15 +01:00
Michael Lutz
f4d5c8d99e
Fix: [OpenGL] Main loop expects to start with the video buffer unmapped. ( #9100 )
2021-04-25 00:43:38 +02:00
Michael Lutz
d1dd997f07
Change: [Win32] Limit the OpenGL video driver to OpenGL 3.2 or newer on Windows.
2021-04-22 21:04:04 +02:00
Michael Lutz
ef80baf75c
Codechange: [Win32] Try getting an OpenGL 4.5 context first before aiming at 3.2.
2021-04-22 21:04:04 +02:00
Michael Lutz
e53313391a
Fix: [OpenGL] Check maximum supported texture size against screen resolution.
2021-04-21 22:44:59 +02:00
Michael Lutz
433602b072
Fix #9028 : [OpenGL] Clear cursor cache on destroying the OpenGL backend.
2021-04-12 22:40:40 +02:00
Rubidium
468b1c6c5d
Fix: [win32] buffer_locked state not initialised, causing _screen.dst_ptr to be potentially not set
2021-04-12 21:14:01 +02:00
Rubidium
8562395413
Fix: [Video] fast forward boolean states not initialised, potentially causing unstoppable fast forward
2021-04-12 21:14:01 +02:00
Rubidium
64e8305874
Fix: [SDL] buffer_locked state not initialised, causing _screen.dst_ptr to be potentially not set
2021-04-12 21:14:01 +02:00
Michael Lutz
5644c00482
Fix: Check for a validly mapped OpenGL screen buffer during driver init. ( #9007 )
2021-04-11 14:28:29 +02:00
Patric Stout
f0f2073006
Feature: allow a toggle to enable/disable vsync
...
Vsync should be off by default, as for most players it will be
better to play without vsync. Exception exist, mainly people who
play in fullscreen mode.
2021-04-11 14:26:00 +02:00
Jonathan G Rennison
39b7ef31f8
Fix: Data races on cursor state in OpenGL backends
2021-04-10 18:31:42 +02:00
Jonathan G Rennison
fbd0a2e65a
Fix: Thread unsafe use of sprite cache in OpenGLBackend::DrawMouseCursor
...
See also: #8870
See also: #8977
2021-04-10 18:31:42 +02:00
Michael Lutz
96d33ab46a
Fix #8930 : [Win32] Don't handle printable keys on keydown if an edit box is in focus.
...
Handle printable input only when the matching WM_CHAR message is incoming.
Without an edit box, do the handling in keydown as usual to support hotkeys.
2021-04-09 12:24:27 +02:00
Niels Martin Hansen
e0561dbded
Fix #8713 : Change OTTD2FS and FS2OTTD to return string objects instead of static buffers
2021-04-07 09:31:47 +02:00
Michael Lutz
1cd3a3b070
Fix #8935 : [OSX] Crash when clicking 'Save' due to wrongly-threaded OS call. ( #8944 )
2021-04-05 12:18:45 +02:00
Milek7
7a886cb4d4
Change: Do not disallow persistent buffer mapping on AMD GPUs, as it is actually faster.
2021-03-25 19:37:24 +00:00
Michael Lutz
df958dc907
Fix f0f96e31
: [OpenGL] Broken window resizing due to invalid buffer pitch on texture creation.
2021-03-21 22:26:55 +01:00
frosch
0230624359
Fix f0f96e31
: [OpenGL] warning: comparison of integer expressions of different signedness. ( #8881 )
2021-03-21 18:38:51 +01:00
Michael Lutz
f0f96e3103
Fix #8871 : [OpenGL] Initialize all buffers after resize and clear back buffer. ( #8877 )
2021-03-20 19:43:54 +01:00
Patric Stout
970fedd78c
Add: make modal windows update more smooth
...
Basically, modal windows had their own thread-locking for what
drawing was possible. This is a bit nonsense now we have a
game-thread. And it makes much more sense to do things like
NewGRFScan and GenerateWorld in the game-thread, and not in a
thread next to the game-thread.
This commit changes that: it removes the threads for NewGRFScan
and GenerateWorld, and just runs the code in the game-thread.
On regular intervals it allows the draw-thread to do a tick,
which gives a much smoother look and feel.
It does slow down NewGRFScan and GenerateWorld ever so slightly
as it spends more time on drawing. But the slowdown is not
measureable on my machines (with 700+ NewGRFs / 4kx4k map and
a Debug build).
Running without a game-thread means NewGRFScan and GenerateWorld
are now blocking.
2021-03-10 13:41:18 +01:00
sean
0464a50ab8
Add: Display refresh rate game option ( #8813 )
2021-03-09 10:22:52 +01:00
Michael Lutz
436cdf1fc8
Fix #8825 : [OpenGL] Don't clear cursor cache from the game loop thread.
2021-03-08 21:35:35 +01:00