Commit Graph

456 Commits

Author SHA1 Message Date
PeterN
f7e2b6ef12 Change: Make vehicle list dropdown buttons resize to fit strings. (#10286) 2022-12-27 18:39:37 +00:00
Pavel Stupnikov
f3ecdf6f7f Merge remote-tracking branch 'upstream/master' into 13.0 2022-11-26 22:16:25 +04:00
Pavel Stupnikov
be23283677 Update to 13.0-beta1 2022-11-23 14:30:36 +04:00
Peter Nelson
9666e46739 Feature: Variable GUI scale.
GUI scale is now variable from 100% to 500%, and no longer restricted to
powers-of-2.
2022-11-12 18:28:39 +00:00
Peter Nelson
062ea68422 Change: Scale position of font shadow. 2022-11-12 18:28:39 +00:00
Peter Nelson
123983743f Change: Add optional text labels to slider widget. 2022-11-12 18:28:39 +00:00
Bouke Haarsma
45d98f689a Fix #9993: Handle DPI changes on macOS and Windows 2022-10-16 16:52:14 +02:00
PeterN
f279fc5772 Fix: DrawStringMultiLine() could overdraw (#10014)
This function did not take the line height into account when checking text will fit before the bottom bounds.
2022-09-10 17:48:38 +01:00
dP
dc09cd9e2a Update to 12.2 2022-04-02 17:32:19 +03:00
dP
269352680c Update to 12.2 2022-04-02 15:34:00 +03:00
Michael Lutz
57b992717b Codechange: Extend DrawSpriteToRgbaBuffer to work with 8bpp blitters. 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
dP
cdb3a9af1e Fix players overlay disappearing sometimes 2021-10-31 02:55:54 +03:00
dP
2c5f48943c Add client list overlay (toggleable) 2021-09-29 22:55:14 +03:00
dP
239ff976da Merge remote-tracking branch 'upstream/master' 2021-09-27 19:53:01 +03:00
dP
4eb8b29dbf Update to 12.0-RC1 2021-09-26 20:30:12 +03:00
Danny de Bruijne
753b1d7e15 Feature: Add selected toolbar buttons to MacBook Pro Touch Bar 2021-09-23 21:03:00 +02:00
dP
a38dc30bf6 Merge remote-tracking branch 'upstream/master' 2021-08-16 01:58:47 +03:00
dP
9df4f2c4fc Update to 12.0-beta1 2021-08-15 14:57:29 +03:00
dP
16ec18a70d Console commands and other improvements for automated testing 2021-07-28 21:35:57 +03:00
Patric Stout
0013673faf Change: prevent palette updates during copying to the video driver
ThreadSanitizer rightfully notices that the game-thread could
update the palette while the draw-thread is copying it for local
use. The odds of this are very small, but nevertheless, it does
carry a very good point.

It wouldn't hurt the application in any way, but it might cause
visual glitches on the screen.
2021-06-26 20:28:05 +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
Patric Stout
c12a152ec9 Fix: thread safety issue during exiting the game (#9380)
_exit_game is read by the draw-thread to know when to exit, but
most of the time written by the game-thread.
2021-06-17 18:58:59 +02:00
rubidium42
55a11710a6 Codechange: convert printf DEBUG statements to fmt Debug statements 2021-06-13 12:45:45 +02:00
Michael Lutz
418e0ea85f Codechange: Use dynamic string list for contents of land info window. 2021-06-12 22:30:38 +02:00
rubidium42
cb89d22cf2 Codechange: add DrawString(Multiline) that accepts std::string& 2021-05-06 21:45:36 +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
Peter Nelson
2efa390a7d Codechange: Simplify calling of DrawCharCentered() 2021-04-30 17:08:15 +01:00
dP
c36ef2b3f3 Merge remote-tracking branch 'upstream/1.11' into 1.11 2021-03-15 20:11:52 +03:00
dP
595606287d Update to 1.11.0-RC1 2021-03-15 12:57:26 +03:00
Patric Stout
4866e43862 Codechange: rework codeflow introduced in 098d5b22 (#8837)
It didn't sit well to me, how I wrote the commit initially. First
casting a variable into another, only to write it back into the
originally feels wrong.

This flow makes a bit more sense to me.
2021-03-10 13:57:52 +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
Patric Stout
098d5b2239 Fix #8711: having gui_zoom lower than zoom_min causes crashes (#8835)
gui_zoom was never clamp'd between zoom_min/zoom_max.

zoom_min controls how zoomed-in we load sprites. For a value of 1,
no quad-sizes sprites are loaded. If gui_zoom would be 0, meaning
it wants quad-sized sprites to display, it was printing random
stuff to the screen, which could or could not result in crashes.
2021-03-10 13:39:03 +01:00
Patric Stout
b9eac7c6dc Codechange: remove the unused lock around Blitter 2021-03-08 19:18:55 +01:00
Patric Stout
c3dc27e37e Add: settings to limit your fast-forward game speed
By default this setting is set to 2500% normal game speed.
2021-02-28 18:04:51 +00:00
Michael Lutz
3e49aff35c Codechange: Allow video drivers to handle the cursor themselves. 2021-02-22 22:16:07 +01:00
Patric Stout
d437445c67 Codechange: use std::chrono to track time in modal windows
Adding to _realtime_ticks in a random place is a bit of a hack,
and by using modern C++, we can avoid this hack.
2021-02-19 10:43:15 +01:00
Michael Lutz
22f5aeab07 Feature: Automatic UI and font zoom levels when supported by the OS. 2021-02-14 14:16:40 +01:00
dP
c47930887b Merge remote-tracking branch 'upstream/1.11' into 1.11 2021-01-25 22:53:44 +03:00
dP
5e4506f493 Update to 1.11.0-beta1 2021-01-23 17:31:11 +03:00
Charles Pigott
9b800a96ed Codechange: Remove min/max functions in favour of STL variants (#8502) 2021-01-08 11:16:18 +01:00
Charles Pigott
860c270c73 Codechange: Replace assert_compile macro with static_assert 2020-12-27 10:55:42 +00: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
TechGeekNZ
8652a4db76 Cleanup: Give SetDirtyBlocks a more descriptive name. 2020-06-09 13:15:47 +01:00
TechGeekNZ
3d8597d42e Cleanup: Add undocumented parameter to GetSpriteSize. 2020-06-07 01:04:41 +01:00
dP
5ce2d21223 Add step console command to advance n ticks 2020-06-05 19:11:09 +03:00
dP
9b9a850d0b Merge 1.10.0-RC1 2020-02-18 20:56:38 +03:00
dP
d4ae6a1d91 Update to 1.10.0-RC1 2020-02-18 18:13:33 +03:00
Niels Martin Hansen
35c55dfe70 Add: Filled polygon drawing function 2020-01-07 18:13:58 +01:00
dP
1492a22027 Update to 1.10.0-beta2 2020-01-06 19:06:51 +03:00