Jonathan G Rennison
19835b51ee
Move StationCargoList and FlowStatMap out of GoodsEntry struct
...
Move them into a new GoodsEntryData struct referenced
using a std::unique_ptr from GoodsEntry.
The unique_ptr may be nullptr if the cargo list and flow stat map
are both empty (this is the case for unused cargoes).
This reduces GoodsEntry from 128 to 24 bytes,
and Station from 8680 to 2024 bytes,
(on Linux x86_64).
1 year ago
Jonathan G Rennison
ef168b7d46
Fix: Road stops should not draw a ground sprite of 0
1 year ago
Jonathan G Rennison
51a66b9590
Link graph: Fix FlowStat::ScaleToMonthly scaling
...
Fixes: e1cce4d9
1 year ago
Jonathan G Rennison
e1cce4d9f7
Link graph: Store last compression in scaled date ticks
...
Higher accuracy than using dates at high day legnths
1 year ago
Jonathan G Rennison
ead18b2af2
Merge branch 'master' into jgrpp
...
# Conflicts:
# CMakeLists.txt
# src/3rdparty/md5/md5.h
# src/3rdparty/squirrel/squirrel/squtils.h
# src/animated_tile.cpp
# src/console_func.h
# src/core/CMakeLists.txt
# src/core/container_func.hpp
# src/core/smallstack_type.hpp
# src/crashlog.cpp
# src/crashlog.h
# src/debug.h
# src/economy.cpp
# src/gamelog.cpp
# src/industry_gui.cpp
# src/lang/catalan.txt
# src/misc_gui.cpp
# src/network/network_content.h
# src/newgrf.cpp
# src/newgrf.h
# src/newgrf_config.cpp
# src/newgrf_config.h
# src/newgrf_gui.cpp
# src/os/unix/font_unix.cpp
# src/os/windows/crashlog_win.cpp
# src/rail_cmd.cpp
# src/saveload/animated_tile_sl.cpp
# src/script/api/script_tilelist.cpp
# src/settings.cpp
# src/settingsgen/settingsgen.cpp
# src/sl/oldloader_sl.cpp
# src/station.cpp
# src/station_cmd.cpp
# src/stdafx.h
# src/strgen/strgen.cpp
# src/strgen/strgen_base.cpp
# src/table/settings/gui_settings.ini
# src/train_gui.cpp
# src/vehicle.cpp
# src/vehicle_base.h
# src/vehicle_cmd.cpp
# src/vehicle_gui_base.h
# src/viewport_sprite_sorter.h
1 year ago
Jonathan G Rennison
c339978569
Change station naming to allow unsuffixed name at an increased distance
1 year ago
Jonathan G Rennison
02549c5224
Merge branch 'master' into jgrpp
...
# Conflicts:
# cmake/CompileFlags.cmake
# src/cargomonitor.cpp
# src/core/CMakeLists.txt
# src/economy.cpp
# src/landscape.cpp
# src/linkgraph/flowmapper.cpp
# src/linkgraph/linkgraph_gui.cpp
# src/linkgraph/linkgraphschedule.cpp
# src/misc_gui.cpp
# src/newgrf_generic.cpp
# src/newgrf_storage.cpp
# src/rail_gui.cpp
# src/saveload/afterload.cpp
# src/saveload/station_sl.cpp
# src/script/script_gui.cpp
# src/station_cmd.cpp
# src/station_gui.cpp
# src/string_func.h
# src/terraform_cmd.cpp
1 year ago
Jonathan G Rennison
3a47b421b0
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/company_cmd.cpp
# src/core/overflowsafe_type.hpp
# src/economy.cpp
# src/engine_base.h
# src/ground_vehicle.cpp
# src/group_gui.cpp
# src/industry_cmd.cpp
# src/industry_gui.cpp
# src/newgrf_commons.cpp
# src/newgrf_engine.cpp
# src/newgrf_industries.cpp
# src/newgrf_object.cpp
# src/newgrf_roadstop.cpp
# src/newgrf_station.cpp
# src/rail_gui.cpp
# src/road_cmd.h
# src/road_gui.cpp
# src/saveload/afterload.cpp
# src/script/api/script_log.cpp
# src/script/api/script_log.hpp
# src/settings_gui.cpp
# src/settingsgen/settingsgen.cpp
# src/station_cmd.cpp
# src/station_cmd.h
# src/station_gui.cpp
# src/strgen/strgen.cpp
# src/string_func.h
# src/string_type.h
# src/table/settings/network_private_settings.ini
# src/tests/math_func.cpp
# src/textfile_gui.cpp
# src/timetable_gui.cpp
# src/town_cmd.cpp
# src/vehicle.cpp
# src/waypoint_cmd.cpp
# src/waypoint_cmd.h
# src/widgets/dropdown.cpp
1 year ago
PeterN
584faaf064
Change: Reorganise industry accept/produce arrays. ( #10853 )
...
Use a array of struct for each cargo instead of an array for each statistic.
This makes iterating for acceptance and production much simpler.
pct_transported is now calculated when needed.
1 year ago
Peter Nelson
f177ce7c9a
Codechange: Base CargoArray off std::array.
...
This avoids needing to define array accessors and allows use of
default value initialization.
1 year ago
Peter Nelson
76516d7f70
Codechange: Use IsValidCargoID/IsValidCargoType.
...
IsValidCargoType() is used only for unmapped IDs.
1 year ago
Rubidium
3323402aaa
Codechange: rename smallvec_type to container_func and use only when needed
1 year ago
Jonathan G Rennison
d3eb7242ea
Fix removal of order backups when upgrading airports
1 year ago
Jonathan G Rennison
9e1066049f
Reduce strength of station rating source station penalty on truncation
1 year ago
Peter Nelson
e6740046ee
Codechange: Use range-for iteration.
1 year ago
PeterN
882f06bf14
Fix: Support more than 256 stations/waypoints/roadstops per class. ( #10793 )
...
It was already possible to define more than 256 per class, but not possible
to use them as the index used in GUI and passed through commands was limited
to a byte.
1 year ago
Rubidium
fb856e16c1
Codechange: replace some min/clamp constructs to ClampTo
1 year ago
Tyler Trahan
6501f84b4a
Codechange: Move calendar date functions inside TimerGameCalendar ( #10753 )
1 year ago
Jonathan G Rennison
dc56add6a3
Fix rail platforms being left partially reserved after deleting train
...
Due to company being removed when infrastructure sharing in use
1 year ago
Patric Stout
31ad990831
Codechange: move tick-counter into TimerGameTick ( #10712 )
1 year ago
Patric Stout
7aa2b9ab0a
Codechange: move all date-related variables inside the timer ( #10706 )
1 year ago
Tyler Trahan
bc44158f9a
Change: Allow overbuilding station and waypoint tiles ( #10618 )
1 year ago
Charles Pigott
b282664242
Codechange: Replace all usages of alloca/AllocaM with more modern/less discouraged alternatives
1 year ago
Patric Stout
3ebc7ad16e
Codechange: migrate all game-time-related timers to the new framework
1 year ago
Jonathan G Rennison
9521e7ef2b
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/elrail.cpp
# src/ground_vehicle.hpp
# src/landscape.cpp
# src/saveload/afterload.cpp
# src/saveload/saveload.h
# src/tile_cmd.h
# src/town_cmd.cpp
# src/tunnelbridge_cmd.cpp
1 year ago
Jonathan G Rennison
87fabe99df
Allow exchanging a station's name with another station in the same town
1 year ago
Jonathan G Rennison
07f2984d06
Allow generating new default name for station
...
Ctrl-click default button in rename station query window
1 year ago
Rubidium
e8af8daa68
Codechange: pass "ground vehicle" to GetTileSlopeZ since for tunnel/bridges there are two states
...
Previously it checked the position in non-driving direction to "guess" whether
a ground vehicle was using the function, so on tunnels/bridges it could either
return the Z of the (virtual) ground compared to the Z of the path the vehicle
would take.
2 years ago
Jonathan G Rennison
62053779b5
Road stops: Add flag to read draw mode from register 0x100
2 years ago
Jonathan G Rennison
c644aa754d
Only check primary vehicle ships in RemoveDock
2 years ago
Jonathan G Rennison
eebb427b42
Fix overbuilding a road stop/waypoint clearing the one-way state
2 years ago
Jonathan G Rennison
c74dfe393f
Fix #10556 : Duplication of road infrastructure count updates ( #10557 )
...
When building a road stop
2 years ago
Jonathan G Rennison
2ea1766677
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/workflows/commit-checker.yml
# src/industry_cmd.cpp
# src/industry_gui.cpp
# src/landscape.cpp
# src/linkgraph/linkgraph_gui.cpp
# src/order_base.h
# src/order_cmd.cpp
# src/order_gui.cpp
# src/saveload/afterload.cpp
# src/saveload/league_sl.cpp
# src/saveload/saveload.h
# src/script/api/script_object.hpp
# src/script/squirrel_helper.hpp
# src/settings_table.cpp
# src/station_cmd.cpp
# src/table/settings.h.preamble
# src/tree_cmd.cpp
# src/tree_map.h
# src/vehicle.cpp
# src/waypoint_cmd.cpp
2 years ago
Rubidium
580d0a6343
Codechange: make use of Tile in for all direct map accesses
2 years ago
Chenshu Yu
eabb9db0bb
Fix #9810 : 'Rebuilding' a through road stop costs money ( #9852 )
2 years ago
Michael Lutz
aab580e0ac
Codechange: [Linkgraph] Drop node/edge wrappers from LinkGraph.
2 years ago
Michael Lutz
7352f812e6
Codechange: [Linkgraph] Only store present link graph edges and not all possible edges.
2 years ago
Jonathan G Rennison
4c1406a4b5
Add: NewGRF road stops
2 years ago
Rubidium
8cbf1be9d6
Codechange: split large function into smaller functions with self-explanatory names
2 years ago
Jonathan G Rennison
f7d62a1767
Add road/tram type flag to disallow collisions with trains
2 years ago
Jonathan G Rennison
5e398d9478
Add GUI/command support for >255 station types per station class
2 years ago
Jonathan G Rennison
dceafaf2db
GRF: Initial support for > 255 road stop specs per GRF
...
Add new variable for road stop info of nearby tiles
Bump roadstops version
2 years ago
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
2 years ago
Jonathan G Rennison
483e3172af
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/core/strong_typedef_type.hpp
# src/gfx.cpp
# src/group_cmd.cpp
# src/industry_cmd.cpp
# src/map_func.h
# src/newgrf_debug_gui.cpp
# src/order_cmd.cpp
# src/pathfinder/follow_track.hpp
# src/rail_cmd.cpp
# src/road_cmd.cpp
# src/road_gui.cpp
# src/saveload/saveload.cpp
# src/screenshot.cpp
# src/smallmap_gui.cpp
# src/station_cmd.cpp
# src/strings.cpp
# src/tile_type.h
# src/timetable_gui.cpp
# src/town_cmd.cpp
# src/train_cmd.cpp
# src/viewport.cpp
2 years ago
Jonathan G Rennison
5e37f86d09
Check result sprite group of RoadStopResolverObject in DrawTile_Station
2 years ago
Jonathan G Rennison
9c915f05ec
Fix: Water infrastructure accounting when building docks
2 years ago
Jonathan G Rennison
9103426898
Fix water infrastructure accounting when building docks
...
See: https://github.com/OpenTTD/OpenTTD/issues/10419
2 years ago
rubidium42
6ba55e663e
Codechange: do not hide variables with other variables
2 years ago
Rubidium
fe2bcd2a58
Codechange: migrate size related functions to Map structure
2 years ago
Jonathan G Rennison
760cbcbb8b
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/blitter/32bpp_anim.hpp
# src/blitter/32bpp_base.hpp
# src/blitter/8bpp_base.hpp
# src/blitter/null.hpp
# src/cheat_gui.cpp
# src/gfx.cpp
# src/linkgraph/linkgraph.cpp
# src/spriteloader/grf.cpp
# src/station_cmd.cpp
2 years ago