Jonathan G Rennison
c0c9c66f7b
GRF: Initial support for > 255 objects per GRF
2023-02-11 16:22:25 +00:00
Peter Nelson
74e4556a85
Codechange: Store objectspecs in std::vector instead of flat array.
...
(cherry picked from commit 1ae263c5467105820e4d770b3d57d25ba01e22b1)
2023-02-11 00:30:40 +00:00
Peter Nelson
d34e1bbbc1
Codechange: Bind objectspecs to classes once all finalised.
...
(cherry picked from commit 5f4a8f730b8982cbec7eec5e2331f0bc9217e69e)
2023-02-11 00:30:40 +00:00
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
2023-02-10 17:19:35 +00:00
Michael Lutz
5daaa45e4a
Add: [NewGRF] Second vehicle property for additional callback flags.
...
(cherry picked from commit 2d73076056
)
2023-02-05 22:40:03 +00:00
Michael Lutz
3fdf57cbd6
Change: [NewGRF] Extend the D8xx (DCxx) string area up to FFFF.
...
This adds the Exxx and Fxxx blocks to the usable range for NewGRF
local strings. TTDPatch uses these ranges for internal strings, but as
we don't support any of them anyway, it is "free" real estate for us.
(cherry picked from commit f5394ed2ef
)
2023-02-05 22:40:03 +00:00
Jonathan G Rennison
1272bec13b
Road stops: Add height property for build window preview
2023-02-05 17:40:14 +00:00
Jonathan G Rennison
91d736ace5
GRF: Fix ignorable unknown mapped road type and road stop properties
2023-02-05 16:07:23 +00:00
Michael Lutz
2d73076056
Add: [NewGRF] Second vehicle property for additional callback flags.
2023-01-30 22:00:56 +01:00
Michael Lutz
f5394ed2ef
Change: [NewGRF] Extend the D8xx (DCxx) string area up to FFFF.
...
This adds the Exxx and Fxxx blocks to the usable range for NewGRF
local strings. TTDPatch uses these ranges for internal strings, but as
we don't support any of them anyway, it is "free" real estate for us.
2023-01-30 22:00:56 +01:00
rubidium42
6ba55e663e
Codechange: do not hide variables with other variables
2023-01-29 07:21:34 +01:00
Jonathan G Rennison
a9100e93cb
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/group_cmd.cpp
# src/lang/korean.txt
# src/lang/simplified_chinese.txt
# src/script/api/script_rail.cpp
# src/tunnelbridge_cmd.cpp
2023-01-23 19:10:07 +00:00
Rubidium
fe2bcd2a58
Codechange: migrate size related functions to Map structure
2023-01-21 17:11:40 +01:00
Francis Herne
01be423237
Fix #10362 : NewGRF bridges without speed limits.
...
For bridges, a max speed of 0xFFFF (i.e. no effective limit)
is no longer displayed as a limit in the UI.
A max speed of 0 is also considered unlimited, for similarity to the
roadtype and railtype interface.
2023-01-19 22:24:33 +01:00
Jonathan G Rennison
1bfd96c7f2
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/3rdparty/fmt/core.h
# src/command_type.h
# src/console_cmds.cpp
# src/core/overflowsafe_type.hpp
# src/landscape.cpp
# src/network/network.cpp
# src/newgrf_object.h
# src/object_cmd.cpp
# src/order_gui.cpp
# src/saveload/vehicle_sl.cpp
# src/script/api/script_industrytype.cpp
# src/script/api/script_object.hpp
# src/script/api/script_town.cpp
# src/table/object_land.h
# src/timetable_cmd.cpp
# src/tree_cmd.cpp
# src/vehicle_gui.cpp
# src/window.cpp
2023-01-15 19:28:37 +00:00
PeterN
2355882ec1
Codechange: Remove object enabled
flag and shuffle members. ( #10358 )
...
`enabled` flag is replaced with IsEnabled() which checks if views is
non-zero.
ObjectSpec is shuffled to reduce its memory footprint.
2023-01-15 10:58:03 +00:00
Jonathan G Rennison
5b490b243d
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/industry_cmd.cpp
# src/landscape.cpp
# src/object_cmd.cpp
# src/rail_cmd.cpp
# src/script/api/script_tile.cpp
# src/table/settings/difficulty_settings.ini
# src/table/settings/world_settings.ini
# src/terraform_cmd.cpp
# src/tilearea_type.h
# src/tree_cmd.cpp
# src/tree_cmd.h
# src/tree_gui.cpp
# src/water_cmd.cpp
2023-01-14 16:49:17 +00:00
PeterN
6a0d1c7c19
Fix: Link variants to parents when finalising engines. ( #10346 )
...
This ensures that definition-order of engines within the NewGRF does not matter.
2023-01-13 19:22:31 +00:00
Jonathan G Rennison
62d524eaef
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/saveload/station_sl.cpp
# src/saveload/town_sl.cpp
# src/spritecache.cpp
# src/timetable_gui.cpp
2023-01-06 20:02:04 +00:00
PeterN
1b1aa682a6
Fix: Don't assume engclass 2 should be elrail. ( #10315 )
...
When disabling/enabling elrail, there is an assumption that `engclass` of 2
means the engine will run on elrail. While this holds for default engines,
NewGRFs can do other things.
To resolve this we store the intended railtype so that toggling elrail will
restore to the correct type.
2023-01-06 00:44:57 +00:00
Jonathan G Rennison
b9dad1818b
Add setting to disable NewGRF inflation flag
2022-12-28 01:58:03 +00:00
Jonathan G Rennison
64c210f770
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/build_vehicle_gui.cpp
# src/engine.cpp
# src/engine_func.h
# src/group_gui.cpp
# src/lang/english.txt
# src/newgrf.cpp
# src/saveload/oldloader_sl.cpp
# src/timetable_cmd.cpp
# src/timetable_cmd.h
# src/timetable_gui.cpp
2022-12-28 01:46:29 +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
Francis Herne
6caed5f15e
Add: Slope-aware and roadtype-specific one-way sprites. ( #10282 )
2022-12-26 15:06:21 -05:00
PeterN
4f26f6b8aa
Cleanup: Simplify GRFLabel linked-list with std::vector. ( #10284 )
2022-12-25 22:32:22 +00:00
Peter Nelson
3485709f53
Add: Additional vehicle flags to control variants.
2022-12-25 16:41:58 +00:00
Peter Nelson
85814b29d4
Feature: Vehicle add-ons can now group engines in purchase list.
...
Grouped engines are collapsed by default but can be expanded. This allows
similar engines to be grouped together to avoid cluttering the list.
Suggested uses for this are e.g.:
* Liveries; same stats but different paint job.
* Re-gearing; engine design is mostly the same but different stats.
... but avoiding complex hidden cargo subtype refit systems.
Grouped engines are otherwise separate, so can be independently
autoreplaced, even between variants.
2022-12-25 16:41:58 +00:00
peter1138
d7f561a400
Change: Add variant property to engines.
2022-12-25 16:41:58 +00:00
PeterN
7b5edba76c
Change: Support flipping shorter engines without NewGRF support. ( #10262 )
...
* Change: Support flipping shorter engines without NewGRF support.
* Cleanup: Remove write-only prop27_set temporary flag.
2022-12-23 21:02:14 +00:00
Jonathan G Rennison
3877bb31ef
Changing day length or date no longer changes time in minutes
...
Add offset variables for scaled date ticks.
Adjust offset when changing day length or date, such that scaled
date ticks remain the same.
Store _scaled_tick_counter and scaled date ticks offset in the savagame.
2022-12-16 19:15:46 +00:00
Jonathan G Rennison
9038c849ab
VarAction2: Use scaled tick counter for NewGRF variable 0x0A
2022-12-15 18:39:47 +00:00
Jonathan G Rennison
12b20376b3
Add new landscape flag to enable drawing rocks covered by snow
2022-12-12 23:06:07 +00:00
Jonathan G Rennison
41fb98db09
Add NewGRF global flag to allow rocky tiles in tropic desert zones
2022-12-12 22:12:20 +00:00
Jonathan G Rennison
2af2c56d19
Allow various settings to be changed in multiplayer
...
If the corresponding TTDPatch flag bit has not been observed by a NewGRF
2022-11-10 22:34:14 +00:00
Jonathan G Rennison
6459e62fff
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/lang/english.txt
# src/map_type.h
# src/network/network_command.cpp
# src/object_cmd.cpp
# src/rail_cmd.cpp
# src/road_cmd.cpp
# src/road_func.h
# src/saveload/afterload.cpp
# src/saveload/saveload.h
# src/settings_gui.cpp
# src/string.cpp
# src/table/road_land.h
# src/table/settings/game_settings.ini
# src/table/settings/world_settings.ini
# src/tbtr_template_gui_main.h
# src/train_cmd.cpp
2022-11-05 19:24:44 +00:00
PeterN
f24286a1ae
Fix: Ensure 31-bit shifts are unsigned. ( #10128 )
...
Shifting a signed 32-bit integer by 31 bits is undefined behaviour.
A few more than necessary are switched to unsigned for consistentency.
2022-11-04 07:15:59 +00:00
Jonathan G Rennison
ba3bc73676
VarAction2: Fix memory leak of inlinable adjust groups
2022-11-03 20:23:31 +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
Michael Lutz
bd357656ba
Codechange: [NewGRF] Replace magic number for default object size by a constant.
2022-10-16 18:28:08 +02:00
frosch
f4e2a462fe
Cleanup: Remove unused flag sprites.
2022-10-16 14:56:52 +02:00
Jonathan G Rennison
0818ce4ae7
Merge branch 'master' into jgrpp (SLV_U64_TICK_COUNTER)
...
# Conflicts:
# src/date.cpp
# src/date_func.h
# src/newgrf.cpp
# src/newgrf_animation_base.h
# src/saveload/gamelog_sl.cpp
# src/saveload/misc_sl.cpp
# src/saveload/saveload.h
# src/stdafx.h
2022-10-03 19:58:31 +01:00
Jonathan G Rennison
c2ede2af54
VarAction2: Allow inlining trivial procedures
2022-10-01 22:32:00 +01:00
dP
548f0496a9
Change: Make _tick_counter 64bit to avoid wrapping ( #10035 )
2022-09-21 12:42:29 +02:00
Jonathan G Rennison
3d8187261a
Debug: Include values when logging GRF base cost changes
2022-09-19 19:35:53 +01:00
Jonathan G Rennison
ece0a43146
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/newgrf_station.cpp
2022-09-14 19:43:12 +01:00
frosch
e2c46fda3f
Fix: [NewGRF] Ensure that stations always have an even number of sprite layouts.
...
The drawing code has a special fallbacks for zero layouts, but fails hard for one layout.
(odd numbers >= 3 are weird, but do not fail as badly as 1)
2022-09-11 21:26:06 +02:00
Jonathan G Rennison
173f867e1a
VarAction2: Save calculated_result in shadow group struct
2022-08-22 00:13:23 +01:00
Jonathan G Rennison
14de8c7f34
VarAction2: Add quick exit case to last-level callback groups if possible
2022-08-22 00:13:23 +01:00
Jonathan G Rennison
9c18835bd0
Move ProcessDeterministicSpriteGroupRanges into newgrf.cpp
2022-08-14 21:48:24 +01:00
Jonathan G Rennison
4601a1bfc6
Move NewGRF optimiser functions into a separate file
...
Create a new header for shared definitions with newgrf.cpp
2022-08-10 19:06:59 +01:00