Jonathan G Rennison
351090ae7f
Fix crash when launching game with non-default GUI scale in config
...
See: #459
2022-12-06 18:29:55 +00:00
Jonathan G Rennison
6d4474b84e
Merge tag '13.0-beta2' into jgrpp
...
# Conflicts:
# src/cheat_gui.cpp
# src/company_gui.cpp
# src/console_gui.cpp
# src/depot_gui.cpp
# src/error_gui.cpp
# src/gfx.cpp
# src/graph_gui.cpp
# src/group_gui.cpp
# src/lang/english.txt
# src/lang/korean.txt
# src/lang/polish.txt
# src/misc_gui.cpp
# src/network/network_content_gui.h
# src/newgrf_debug_gui.cpp
# src/order_gui.cpp
# src/rail_gui.cpp
# src/road_gui.cpp
# src/settings_gui.cpp
# src/settings_type.h
# src/station_gui.cpp
# src/subsidy_gui.cpp
# src/table/settings/gui_settings.ini
# src/timetable_gui.cpp
# src/town_gui.cpp
# src/train_cmd.cpp
# src/vehicle_gui.cpp
# src/viewport.cpp
# src/water_cmd.cpp
# src/widgets/dropdown.cpp
# src/window_gui.h
2022-12-04 20:43:11 +00: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
Jonathan G Rennison
449ed7aa51
Fix drawing of dirty block overlays
2022-11-10 23:47:51 +00:00
Jonathan G Rennison
5dcffe3142
Add variants of Gfx draw functions which take a DPI
2022-11-10 19:48:27 +00:00
Jonathan G Rennison
7685c36f35
Implement partial parallelisation of non-map mode viewport rendering
2022-11-09 22:24:31 +00:00
Jonathan G Rennison
ee2763dcfd
Avoid using globals to control drawing of viewport sprites
2022-11-09 01:21:12 +00:00
Jonathan G Rennison
0a9c44d1a2
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/airport_gui.cpp
# src/blitter/32bpp_anim_sse4.cpp
# src/console_cmds.cpp
# src/linkgraph/linkgraph_gui.cpp
# src/newgrf_object.h
# src/road_gui.cpp
# src/widgets/road_widget.h
# src/window.cpp
2022-10-16 20:14:13 +01:00
Bouke Haarsma
45d98f689a
Fix #9993 : Handle DPI changes on macOS and Windows
2022-10-16 16:52:14 +02:00
Jonathan G Rennison
ece0a43146
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/newgrf_station.cpp
2022-09-14 19:43:12 +01: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
ca23e8abcf
Add step console command to advance n ticks
...
Cherry-picked from https://github.com/citymania-org/cmclient
Commit: 5ce2d21223a96934a83b8da43434c7a81f001ef0
2022-08-29 18:17:35 +01:00
Jonathan G Rennison
8688840e24
Viewport route step markers are now variable size to match font/text
...
See: #410
2022-08-20 11:33:04 +01:00
Jonathan G Rennison
b2d8f3ce43
Add setting to disable water animation depending on zoom level
2022-06-06 00:18:08 +01:00
Jonathan G Rennison
981104e308
Add a functor fill mode to GfxFillPolygon
2022-05-19 00:12:17 +01:00
Jonathan G Rennison
929ee23b34
Fix SetColourRemap when using TC_FORCED | TC_BLACK
2022-02-05 01:26:52 +00:00
Jonathan G Rennison
2f8e63e954
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/gfx.cpp
# src/lang/traditional_chinese.txt
# src/station_cmd.cpp
2022-01-04 17:42:36 +00: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
Jonathan G Rennison
9e946d4c5d
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# src/command.cpp
# src/console_cmds.cpp
# src/group_gui.cpp
# src/lang/catalan.txt
# src/lang/czech.txt
# src/lang/danish.txt
# src/lang/greek.txt
# src/lang/hungarian.txt
# src/lang/irish.txt
# src/lang/japanese.txt
# src/lang/luxembourgish.txt
# src/lang/norwegian_bokmal.txt
# src/lang/romanian.txt
# src/lang/russian.txt
# src/lang/serbian.txt
# src/lang/simplified_chinese.txt
# src/lang/slovak.txt
# src/lang/spanish_MX.txt
# src/lang/swedish.txt
# src/lang/tamil.txt
# src/lang/traditional_chinese.txt
# src/lang/turkish.txt
# src/lang/ukrainian.txt
# src/lang/vietnamese.txt
# src/network/network.cpp
# src/network/network_client.cpp
# src/network/network_func.h
# src/network/network_internal.h
# src/network/network_server.cpp
# src/network/network_server.h
# src/saveload/afterload.cpp
# src/saveload/newgrf_sl.cpp
# src/saveload/saveload.h
# src/script/script_instance.cpp
# src/toolbar_gui.cpp
# src/toolbar_gui.h
# src/vehicle_gui.cpp
# src/widgets/rail_widget.h
# src/widgets/vehicle_widget.h
# src/window.cpp
2021-11-03 00:45:12 +00:00
Jonathan G Rennison
da282c3ecc
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# .github/workflows/ci-build.yml
# CMakeLists.txt
# src/lang/finnish.txt
# src/lang/french.txt
# src/lang/korean.txt
# src/lang/norwegian_bokmal.txt
# src/lang/russian.txt
# src/lang/spanish.txt
# src/misc_gui.cpp
# src/newgrf.cpp
2021-10-28 23:51:24 +01:00
Jonathan G Rennison
4042480806
Merge branch 'jgrpp' into jgrpp-beta
...
# Conflicts:
# src/settings.cpp
# src/settings_gui.cpp
# src/settings_internal.h
# src/table/company_settings.ini
# src/table/currency_settings.ini
# src/table/gameopt_settings.ini
# src/table/misc_settings.ini
# src/table/settings.h.preamble
# src/table/settings.ini
# src/table/win32_settings.ini
# src/table/window_settings.ini
2021-10-08 18:12:04 +01:00
Patric Stout
441ff7e436
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.
(cherry picked from commit c12a152ec9
)
2021-10-08 18:11:02 +01:00
Danny de Bruijne
753b1d7e15
Feature: Add selected toolbar buttons to MacBook Pro Touch Bar
2021-09-23 21:03:00 +02:00
Jonathan G Rennison
da1ac73c02
Merge commit 'f1dfa661a1898cde06a38ab4cb230c95912b245b' into jgrpp-beta
...
# Conflicts:
# src/lang/estonian.txt
# src/lang/hungarian.txt
# src/network/core/game_info.cpp
# src/network/core/game_info.h
# src/network/core/packet.h
# src/network/network.cpp
# src/network/network_client.cpp
# src/network/network_server.cpp
# src/network/network_udp.cpp
# src/openttd.cpp
# src/string_func.h
2021-09-18 22:10:04 +01: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
Jonathan G Rennison
704eac8220
Fix changing font zoom level not updating font height cache
2021-06-10 21:37:27 +01:00
rubidium42
cb89d22cf2
Codechange: add DrawString(Multiline) that accepts std::string&
2021-05-06 21:45:36 +02:00
Peter Nelson
a469b4f395
Fix: Recalculate padding and minimum sizes when GUI or Font zoom is changed.
...
(cherry picked from commit 4791ff2862
)
2021-05-06 20:11:55 +01:00
Peter Nelson
7bf0eefd36
Codechange: Simplify calling of DrawCharCentered()
...
(cherry picked from commit 2efa390a7d
)
2021-05-06 19:59:39 +01:00
glx22
dfe616bef4
Codechange: Replace window related FOR_ALL with range-based for loops
...
(cherry picked from commit 14e92bd8e2
)
2021-05-06 19:32:36 +01: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
Jonathan G Rennison
6490b252f5
Fix changing font zoom not updating font height cache
2021-04-08 17:16:23 +01:00
Jonathan G Rennison
e094b7f1d6
Partially fix thread safety issues around _cur_palette
...
Replaces: 4c59dfb6
See also: https://github.com/OpenTTD/OpenTTD/issues/8712
2021-04-05 23:34:01 +01:00
Jonathan G Rennison
2a13c8623c
Revert: 4c59dfb6
, move DoPaletteAnimations back into GameLoop
...
Race fix to follow
2021-04-05 19:55:53 +01:00
Jonathan G Rennison
5e14b54a0c
Merge branch 'master' into jgrpp
2021-04-05 17:51:45 +01: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
Jonathan G Rennison
3e017ddaa9
Remove unused dirty block size constants
2021-03-02 23:45:08 +00:00
Jonathan G Rennison
f4e29071be
Merge tag '1.11.0-beta2' into jgrpp
...
# Conflicts:
# .github/workflows/ci-build.yml
# .github/workflows/release.yml
# CMakeLists.txt
# src/blitter/32bpp_optimized.cpp
# src/debug.cpp
# src/gfx.cpp
# src/gfx_func.h
# src/lang/czech.txt
# src/lang/english.txt
# src/lang/italian.txt
# src/lang/swedish.txt
# src/lang/ukrainian.txt
# src/network/network_server.cpp
# src/os/windows/crashlog_win.cpp
# src/os/windows/win32.cpp
# src/pathfinder/follow_track.hpp
# src/screenshot.cpp
# src/settings_type.h
# src/spritecache.cpp
# src/vehicle_gui.cpp
# src/video/sdl2_v.cpp
# src/video/video_driver.cpp
# src/video/video_driver.hpp
# src/video/win32_v.cpp
2021-03-02 11:59:03 +00:00
Patric Stout
f183ded9fe
Add: settings to limit your fast-forward game speed
...
By default this setting is set to 2500% normal game speed.
(cherry picked from commit c3dc27e37e
)
# Conflicts:
# src/gfx.cpp
# src/gfx_func.h
# src/settings_type.h
# src/video/cocoa/cocoa_v.mm
# src/video/video_driver.cpp
# src/video/win32_v.cpp
2021-03-01 17:54:15 +00:00