Peter Nelson
e5c9a3e527
Change: Read Action 3 IDs as extended-bytes for all features.
...
This can be done because previous the value 0xFF (which indicates an
extended byte) was reserved for this purpose. Other features which may
not have mentioned reserving 0xFF do not allow this many IDs anyway.
This makes Action 3 consistent across all features. The allowable limits
for each feature do not change.
2023-05-05 07:08:40 +01:00
Peter Nelson
10baecd81f
Change: Make Action 3 debug messages more consistent.
2023-05-05 07:08:40 +01:00
Rubidium
3901ef9760
Codechange: use std::string for the GRF filenames
2023-05-04 23:23:32 +02:00
Rubidium
f78aa1e720
Codechange: use std::unique_ptr to manager GRFErrors in GRFConfig
2023-05-04 23:23:32 +02:00
Tyler Trahan
6501f84b4a
Codechange: Move calendar date functions inside TimerGameCalendar ( #10753 )
2023-05-04 13:14:12 +00:00
Tyler Trahan
930f0a16d8
Codechange: Define Date/Year/Month/Day within TimerGameCalendar class
2023-04-26 07:14:03 -04:00
Peter Nelson
20d2558f1b
Fix: Clear church/stadium flags when copying house substitute specs.
2023-04-26 06:46:07 +01:00
Peter Nelson
64782cf005
Fix #10627 : Houses subsitute specs should only be copied on first definition.
...
Before #10627 , substitue specs were always copied despite redefinition.
2023-04-26 06:46:07 +01:00
PeterN
7535eb65e2
Codechange: Use vector instead of mallloc/free for Action 6 data. ( #10713 )
2023-04-26 06:45:11 +01:00
Rubidium
f74e26ca7e
Codechange: replace error/usererror printf variant with fmt variant and rename
2023-04-25 17:55:09 +02:00
Patric Stout
31ad990831
Codechange: move tick-counter into TimerGameTick ( #10712 )
2023-04-24 16:55:40 +00:00
Patric Stout
7aa2b9ab0a
Codechange: move all date-related variables inside the timer ( #10706 )
2023-04-24 15:56:01 +00:00
Rubidium
7b539fa7c9
Fix: fmt's {:#04X} yields '0X00', not '0x0000'
...
Technically the 0X vs 0x is not a big problem, just not pretty. However, the
length also including the 0x results in unexpected behaviour, so it probably
better to not use it.
2023-04-20 21:39:57 +02:00
PeterN
27b4b5d0a0
Codechange: Make GRF temporary engine data a vector. ( #10685 )
...
This replaces manual C-style realloc/memset/free.
2023-04-20 19:38:48 +00:00
Rubidium
7088f5b7c7
Codechange: use string/fmt instead of printf for grfmsg
2023-04-18 23:21:08 +02:00
PeterN
d949cfab24
Codechange: Use std:: features for NewGRF town names ( #10631 )
...
This removes manual memory (de-)allocation and list counting.
2023-04-16 21:24:54 +01:00
Peter Nelson
7b0797d1cd
Codechange: Use unique ptrs for NewGRF specs.
2023-04-16 15:09:10 +01:00
Peter Nelson
ef6b307465
Change: Use std::vector for NewGRF spec tables.
...
Pointer space is allocated only for the number of IDs used, instead of
the max number of IDs for each feature.
2023-04-16 15:09:10 +01:00
Peter Nelson
15e6fc4eeb
Codechange: Use iterator when mapping sprite groups.
2023-04-16 15:09:10 +01:00
Charles Pigott
b282664242
Codechange: Replace all usages of alloca/AllocaM with more modern/less discouraged alternatives
2023-04-15 16:57:00 +01:00
Jonathan G Rennison
c89079a210
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/saveload/cargopacket_sl.cpp
# src/saveload/saveload.h
# src/strings.cpp
# src/vehicle.cpp
2023-04-12 20:02:57 +01:00
PeterN
246ba6f00a
Fix 8361cf5a73
: Missing bounds check for house specs. ( #10625 )
2023-04-10 15:00:34 +00:00
Jonathan G Rennison
82803b98e0
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/game/game_gui.cpp
# src/graph_gui.cpp
# src/linkgraph/linkgraph_gui.h
# src/newgrf.cpp
# src/order_gui.cpp
# src/saveload/engine_sl.cpp
# src/saveload/saveload.h
# src/script/api/script_text.cpp
# src/script/script_gui.cpp
# src/settings_table.cpp
# src/strings.cpp
# src/table/settings/economy_settings.ini
# src/table/settings/locale_settings.ini
# src/timetable_gui.cpp
2023-04-10 15:11:53 +01:00
Peter Nelson
08977828cc
Fix: Check ID for name is within bounds.
2023-04-07 22:09:28 +01:00
Peter Nelson
cd6c04a663
Fix: Check station ID is within bounds when copying layouts.
2023-04-07 22:09:28 +01:00
Peter Nelson
8361cf5a73
Fix: Check sprite group mapping ID is within bounds of feature.
2023-04-07 22:09:28 +01:00
Peter Nelson
96f4eb3681
Codechange: Check NewGRF feature is defined before processing any sprite group mapping.
...
Previously this was checked after loading ids, or repeatedly checked for
each item.
2023-04-07 22:09:28 +01:00
Peter Nelson
04215afe3f
Codechange: Replace roadstop spec limit magic number with constant.
2023-04-07 22:09:28 +01:00
Peter Nelson
93197f58b7
Codechange: Bind objectspecs to classes once all finalised.
2023-04-02 22:42:38 +01:00
Jonathan G Rennison
62053779b5
Road stops: Add flag to read draw mode from register 0x100
2023-04-02 13:11:11 +01:00
Jonathan G Rennison
5718730d68
VarAction2: Add support for more varaction2 types
...
Add CB failure and deterministic relative types
2023-03-15 19:44:26 +00:00
Jonathan G Rennison
ae99f667b0
NewGRF: Add generic town callback to set town zone radii
2023-03-11 22:23:40 +00:00
Jonathan G Rennison
5acf18fb37
NewGRF: Allow mapping a feature ID to the town scope
2023-03-11 22:23:40 +00:00
Jonathan G Rennison
57c5cc32d0
VarAction2: Improve handling of feature changes with parent scopes
2023-03-11 16:08:36 +00:00
Jonathan G Rennison
25ed7c2b53
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/music.cpp
# src/script/api/script_company.cpp
# src/script/api/script_event_types.cpp
# src/script/api/script_group.cpp
# src/script/api/script_object.cpp
# src/script/api/script_road.cpp
2023-03-11 00:06:13 +00:00
Joan Josep
d80f193e74
Fix: Improve grfmessage for ShipVehicleChangeInfo. ( #10558 )
2023-03-08 20:59:01 +00:00
Jonathan G Rennison
0fc9223724
VarAction2: Support extended bytes for var 0x7E proc with more_action2_ids
2023-03-07 22:27:24 +00:00
Jonathan G Rennison
de17e0aa4d
NewGRF: Add extension for more Action2 set IDs
2023-03-05 14:40:06 +00:00
Jonathan G Rennison
5d0ad5625b
Fix : [NewGRF] Object and road stop ignore property handlers ( #10525 )
...
* Fix: IgnoreObjectProperty did not handle object property 0x18
* Fix: IgnoreRoadStopProperty did not handle properties 0x0E - 0x12, 0x15
2023-03-01 01:19:39 +01:00
Jonathan G Rennison
412eab22c0
Fix: IgnoreRoadStopProperty did not handle properties 0x0E - 0x12, 0x15
2023-02-28 22:25:09 +00:00
Jonathan G Rennison
8e900c7a87
Fix: IgnoreObjectProperty did not handle object property 0x18
2023-02-28 22:25:07 +00:00
Jonathan G Rennison
4c1406a4b5
Add: NewGRF road stops
2023-02-26 21:28:30 +01:00
Jonathan G Rennison
2ffb245b33
GRF: Add property mapping ID extension mechanism
...
Bump property_mapping feature version to 3
2023-02-19 23:13:23 +00:00
Jonathan G Rennison
3497d0dcdb
Add road/tram type properties to set road vehicle collision mode
2023-02-19 14:30:21 +00:00
Jonathan G Rennison
3b9015ef7a
Fix successfully mapped properties in HandleAction0PropertyDefault
2023-02-13 23:49:53 +00:00
Jonathan G Rennison
c756b8de8e
GRF: Add second success indicator mechanism for feature tests and ID mappings
2023-02-13 20:05:30 +00:00
Jonathan G Rennison
64699d94c9
GRF: Only use extended bytes for object IDs if feature is tested for
2023-02-12 22:18:23 +00:00
Jonathan G Rennison
a85b3d7de7
GRF: Add generic mechanism to observe which features have been tested
2023-02-12 22:18:23 +00:00
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
2023-02-12 20:35:18 +00:00
Jonathan G Rennison
b539799c0a
GRF: Fix c0c9c66f
: ObjectMapSpriteGroup with missing object specs
2023-02-12 13:05:51 +00:00