Commit Graph

144 Commits

Author SHA1 Message Date
Jonathan G Rennison
a484a5eb77 Use custom sprite sorting rules for vehicles diagonally under bridges
Extend bb sprite south for comparisons, but only for vehicles underneath
This is to avoid creating sprite sorting problems for vehicles
on top of the bridge

Adjust ParentSpriteToDraw struct
2024-02-09 01:28:15 +00:00
Jonathan G Rennison
7a5e8dd991 Linkgraph: Scroll overlay pixel cache instead of clearing it on scroll
Reduce cost of preparing/drawing cache
Improve missing station checks in RefreshDrawCache
Remove need for checks in DrawLinks
Don't rebase overlay cache coordinate to screen in viewport map mode
2024-01-18 22:07:16 +00:00
Jonathan G Rennison
97e6f3062e Adding of _t to (u)int types, and WChar to char32_t
See: eaae0bb5e
2024-01-07 17:20:41 +00:00
Jonathan G Rennison
55d78a23be Merge branch 'master' into jgrpp
# Conflicts:
#	src/3rdparty/squirrel/include/squirrel.h
#	src/blitter/32bpp_sse_func.hpp
#	src/bridge_map.h
#	src/clear_map.h
#	src/company_manager_face.h
#	src/console_func.h
#	src/core/bitmath_func.hpp
#	src/core/endian_func.hpp
#	src/core/random_func.hpp
#	src/depot_map.h
#	src/elrail_func.h
#	src/fontcache.h
#	src/industry_map.h
#	src/map_func.h
#	src/newgrf_spritegroup.h
#	src/object_map.h
#	src/rail.h
#	src/rail_map.h
#	src/road_func.h
#	src/road_map.h
#	src/saveload/saveload.h
#	src/saveload/saveload_error.hpp
#	src/settings_gui.cpp
#	src/sl/oldloader.h
#	src/sprite.h
#	src/spritecache.h
#	src/station_func.h
#	src/station_map.h
#	src/story_base.h
#	src/strings_func.h
#	src/tile_cmd.h
#	src/tile_map.h
#	src/tile_type.h
#	src/town.h
#	src/town_map.h
#	src/tree_map.h
#	src/tunnel_map.h
#	src/tunnelbridge_map.h
#	src/vehicle_func.h
#	src/viewport_func.h
#	src/void_map.h
#	src/water.h
#	src/water_map.h
#	src/widget_type.h
2024-01-07 15:00:16 +00:00
Rubidium
3a676a5af0 Codechange: replace static inline with static for non-class functions 2024-01-06 13:37:33 +01:00
Jonathan G Rennison
42c8f50551 Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/ci-build.yml
#	.github/workflows/release-linux.yml
#	.github/workflows/release-macos.yml
#	.github/workflows/release-windows.yml
#	.gitignore
#	COMPILING.md
#	src/company_gui.cpp
#	src/date_gui.cpp
#	src/engine.cpp
#	src/engine_func.h
#	src/fileio.cpp
#	src/linkgraph/linkgraph_gui.h
#	src/newgrf_debug_gui.cpp
#	src/newgrf_gui.cpp
#	src/order_gui.cpp
#	src/osk_gui.cpp
#	src/rail_gui.cpp
#	src/road_gui.cpp
#	src/script/api/script_event_types.hpp
#	src/sl/oldloader_sl.cpp
#	src/smallmap_gui.cpp
#	src/station_cmd.cpp
#	src/toolbar_gui.cpp
#	src/town_gui.cpp
#	src/transparency_gui.cpp
#	src/vehicle_gui.cpp
#	src/widget.cpp
#	src/widget_type.h
#	src/widgets/dropdown.cpp
#	src/widgets/dropdown_func.h
#	src/widgets/dropdown_type.h
#	src/widgets/group_widget.h
#	src/widgets/vehicle_widget.h
#	src/window.cpp
#	src/window_gui.h
#	src/window_type.h
2024-01-02 14:44:33 +00:00
Peter Nelson
a0dfb76e34 Codechange: Replace mishmash of types for widget index with WidgetID.
Indices were stored as int, but often passed around as uint/uint8_t and casts.

Now they should all use WidgetID.
2023-12-30 00:23:57 +00:00
Jonathan G Rennison
290822d150 Update viewport positions in two stages 2023-09-18 21:44:17 +01:00
Patric Stout
0238a2b567 Codechange: use std::variant instead of using bitflags in the value (#11191) 2023-08-12 16:05:00 +00:00
Rubidium
eaae0bb5e7 Codechange: automatic adding of _t to (u)int types, and WChar to char32_t
for i in `find src -type f|grep -v 3rdparty/fmt|grep -v 3rdparty/catch2|grep -v 3rdparty/opengl|grep -v stdafx.h`; do sed 's/uint16& /uint16 \&/g;s/int8\([ >*),;[]\)/int8_t\1/g;s/int16\([ >*),;[]\)/int16_t\1/g;s/int32\([ >*),;[]\)/int32_t\1/g;s/int64\([ >*),;[]\)/int64_t\1/g;s/ uint32(/ uint32_t(/g;s/_uint8_t/_uint8/;s/Uint8_t/Uint8/;s/ft_int64_t/ft_int64/g;s/uint64$/uint64_t/;s/WChar/char32_t/g;s/char32_t char32_t/char32_t WChar/' -i $i; done
2023-07-19 19:30:14 +02:00
Jonathan G Rennison
9a5df29648 Adjustments for PR #556
Setting text/condition, tooltip condition
2023-06-25 00:04:11 +01:00
Rubidium
321f01602a Codechange: reduce passing around parameters, but formatting strings earlier 2023-06-23 06:48:13 +02:00
Jonathan G Rennison
61e9c3084f Add picker tool to main toolbar help menu
See: #498

Supports:
* Rail types
* Road/tram types
* Objects
* Rail stations/waypoints
* Road stops/waypoints

Add unset hotkey
2023-06-05 19:37:33 +01:00
Jonathan G Rennison
d7bf6b2c07 Feature: Highlight waypoint tiles when adjacent or distant joining 2023-06-04 16:54:48 +01:00
Jonathan G Rennison
df5ca1d7fb Highlight waypoint tiles when adjacent or distant joining 2023-05-25 22:34:54 +01:00
Jonathan G Rennison
6d483cc5cc Add toggle to show vehicle route overlay even when window is not focused 2023-05-07 11:48:17 +01:00
Jonathan G Rennison
4c2244cc21 Viewport: Refactor handling of vehicle route overlays 2023-05-06 19:14:39 +01:00
Jonathan G Rennison
ae9b416684 Merge branch 'master' into jgrpp
# Conflicts:
#	src/ai/ai_core.cpp
#	src/ai/ai_gui.cpp
#	src/ai/ai_instance.cpp
#	src/console_cmds.cpp
#	src/engine_type.h
#	src/game/game_gui.cpp
#	src/game/game_instance.cpp
#	src/goal.cpp
#	src/goal_cmd.h
#	src/lang/english.txt
#	src/lang/estonian.txt
#	src/network/network_client.cpp
#	src/newgrf.cpp
#	src/newgrf_generic.h
#	src/openttd.cpp
#	src/saveload/saveload.h
#	src/script/api/script_log.cpp
#	src/script/api/script_town.cpp
#	src/settings_table.cpp
#	src/station_cmd.cpp
#	src/station_cmd.h
#	src/station_map.h
#	src/strings.cpp
#	src/table/settings/difficulty_settings.ini
#	src/table/settings/gui_settings.ini
#	src/tbtr_template_gui_main.h
#	src/timetable_cmd.cpp
#	src/timetable_cmd.h
#	src/timetable_gui.cpp
#	src/town_gui.cpp
#	src/train_gui.cpp
#	src/water_cmd.cpp
2023-02-11 23:05:22 +00:00
Rubidium
4e65ec1dc4 Codechange: do not declare functions in blocks 2023-01-29 20:28:45 +01:00
Jonathan G Rennison
d97968a4f9 Rename ChildScreenSpritePositionMode enum values 2022-12-28 16:01:28 +00:00
Jonathan G Rennison
87056562e5 Change ChildScreenSpriteToDraw relative flag to an enum
Use separate modes for prior and upstream non-relative modes
2022-12-27 01:00:41 +00:00
Jonathan G Rennison
58d841486e Merge branch 'master' into jgrpp
# Conflicts:
#	src/os/windows/font_win32.cpp
#	src/script/api/script_object.hpp
#	src/town_cmd.cpp
#	src/train_cmd.cpp
#	src/viewport.cpp
#	src/viewport_func.h
2022-12-27 01:00:40 +00:00
Peter Nelson
002fe67bef Add: Optionally disable child sprites drawing relative to parent sprites offsets. 2022-12-23 15:43:11 +00:00
Jonathan G Rennison
6cf62af092 Change vehicle route overlay settings
Add a mode setting: off, all locations, station stops only
Change show vehicle route setting to on/off
Move settings to their own section in the GUI
Add an unset hotkey to switch the mode setting
2022-11-17 22:54:07 +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
28724d651d Tracerestrict: Add button to highlight all signals using program 2022-06-11 23:29:37 +01:00
Tyler Trahan
fbbc80f79e Fix #9020: Update station coverage highlight when adding/removing tiles 2022-03-10 20:54:45 +01:00
Jonathan G Rennison
3ef1a0943b Merge branch 'master' into jgrpp-beta
# Conflicts:
#	src/lang/chuvash.txt
#	src/lang/czech.txt
#	src/lang/english_AU.txt
#	src/lang/english_US.txt
#	src/lang/german.txt
#	src/lang/japanese.txt
#	src/lang/korean.txt
#	src/lang/latvian.txt
#	src/lang/russian.txt
#	src/tree_gui.cpp
#	src/vehicle.cpp
2021-11-02 21:11:11 +00:00
Niels Martin Hansen
6bd3106681 Feature: Multiple rotating views on title screen 2021-09-12 19:46:48 +02:00
Jonathan G Rennison
e75e2b5bdc Fix left mouse button scroll in viewport map mode 2021-02-05 11:56:08 +00:00
Matt Kimber
40d5fe1631 Fix eeb88e8: Trains reversed while paused do not correctly update sprite bounds (#8540) 2021-01-17 19:57:16 +01:00
Jonathan G Rennison
d7387f3995 Fix changing smallmap legend not updating viewport maps 2020-10-13 21:34:07 +01:00
Jonathan G Rennison
a474e71243 Viewport: Cache landscape pixels in map mode
Avoid invalidating landscape pixels for non-landscape updates
(vehicles, overlays, etc.)
2020-10-01 23:18:39 +01:00
Jonathan G Rennison
35565a115b Viewport: Fix casing of ClearViewportCache(s) 2020-10-01 23:18:39 +01:00
Jonathan G Rennison
352b361e1b Viewport: Replace viewport mark dirty if zoom level below with flags param
Fix missing flags for tracerestrict and effect vehicles
2020-10-01 23:18:39 +01:00
Jonathan G Rennison
3b49f892fa Redraw connecting link graph overlay links when moving station sign
Add test console command
2020-09-18 18:58:16 +01:00
Jonathan G Rennison
5b78090a61 Merge branch 'master' into jgrpp
# Conflicts:
#	CMakeLists.txt
#	src/saveload/town_sl.cpp
#	src/screenshot.h
#	src/script/api/ai/ai_date.hpp.sq
#	src/script/api/ai/ai_marine.hpp.sq
#	src/script/api/ai/ai_station.hpp.sq
#	src/script/api/game/game_date.hpp.sq
#	src/script/api/game/game_marine.hpp.sq
#	src/script/api/game/game_station.hpp.sq
#	src/script/api/game/game_window.hpp.sq
#	src/script/api/script_window.hpp
#	src/script/api/template/template_window.hpp.sq
#	src/signal.cpp
#	src/statusbar_gui.cpp
#	src/toolbar_gui.cpp
#	src/viewport.cpp
#	src/viewport_func.h
2020-08-27 18:31:09 +01:00
TechGeekNZ
a10013dd00 Codechange: Spell 'Viewport' consistently
Some places in the codebase misspell 'Viewport' as 'ViewPort' or 'view_port'.
This patch makes everything consistent.
2020-07-27 17:31:29 +01:00
Jonathan G Rennison
a4608f6f72 Cache vehicle positions across draw blocks in viewport map mode 2020-03-05 23:06:01 +00:00
Jonathan G Rennison
8f442500ea Change how dirty screen, window and viewport areas are tracked for later redrawing
Track dirty viewport areas seperately form general screen redraws.
Maintain a dirty block grid per viewport, with a smaller block size.
Use even smaller block size in viewport map mode.

Use a rectangle array for general screen redraws instead of a block grid.

Add a dirty bit to windows and widgets, to simplify the common case
of repainting a whole window or widget, without catching
neighbouring windows or viewports.
2020-03-05 00:27:17 +00:00
Jonathan G Rennison
8956b1ab02 Improve performance of tunnel rendering in viewport map mode 2020-03-03 06:57:50 +00:00
Jonathan G Rennison
c13ff2a1d3 Reduce viewport invalidation area of track reservation changes 2020-02-20 00:16:51 +00:00
Jonathan G Rennison
4d9e07e885 Viewport: Split sprite sort regions when more than 60 sprites present 2020-02-05 22:57:52 +00:00
Jonathan G Rennison
c3223903ed Codechange: Cache resolved town, station and industry name strings 2020-01-12 19:37:43 +00:00
Jonathan G Rennison
cbdd9f84d8 Merge branch 'master' into jgrpp
# Conflicts:
#	src/console_gui.cpp
#	src/lang/korean.txt
#	src/video/sdl2_v.cpp
#	src/video/sdl2_v.h
#	src/window.cpp
#	src/window_gui.h
2019-11-12 18:43:10 +00:00
S. D. Cloudt
13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
Jonathan G Rennison
36eb4165b8 Merge branch 'master' into jgrpp
# Conflicts:
#	src/bridge_map.h
#	src/crashlog.cpp
#	src/industry.h
#	src/linkgraph/linkgraph_type.h
#	src/order_type.h
#	src/saveload/afterload.cpp
#	src/settings.cpp
#	src/settings_type.h
#	src/smallmap_gui.cpp
#	src/spritecache.cpp
#	src/stdafx.h
#	src/table/settings.h.preamble
#	src/train.h
#	src/vehicle.cpp
#	src/viewport.cpp
#	src/viewport_func.h
#	src/widgets/station_widget.h
#	src/zoom_func.h
#	src/zoom_type.h
2019-07-08 16:19:07 +01:00
Jonathan G Rennison
f6b9395c6a Improve performance of name sorting in town and station list windows 2019-05-12 18:03:57 +01:00
peter1138
81d335b081 Feature: Add station coverage area display for towns. 2019-04-25 09:14:01 +02:00
peter1138
b6733edd17 Feature: Add coverage area display for existing stations. 2019-04-25 09:14:01 +02:00