Jonathan G Rennison
36fadb5424
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/base_station_base.h
# src/newgrf.cpp
# src/newgrf_class.h
# src/newgrf_class_func.h
# src/newgrf_commons.cpp
# src/newgrf_commons.h
# src/newgrf_roadstop.cpp
# src/newgrf_roadstop.h
# src/newgrf_station.cpp
# src/saveload/newgrf_sl.cpp
# src/saveload/saveload.h
# src/saveload/station_sl.cpp
2023-06-03 11:07:01 +01:00
Jonathan G Rennison
f7964cb3aa
Add function to get name of extended variable ID
...
Add table for internal variable IDs which aren't mappable externally
2023-06-01 20:36:00 +01:00
Jonathan G Rennison
bdb9a72aa4
NewGRF: Add/extend station variables for station info of nearby tiles
...
In preparation for support of more than 255 stations per GRF
2023-06-01 18:51:51 +01:00
Jonathan G Rennison
1dbbbed9e5
NewGRF: Only extend value of road stops variable 68 if feature tested for
2023-06-01 18:14:23 +01:00
Jonathan G Rennison
2ed248a61d
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/workflows/ci-build.yml
# .github/workflows/release-linux.yml
# src/aircraft_cmd.cpp
# src/airport_gui.cpp
# src/articulated_vehicles.cpp
# src/build_vehicle_gui.cpp
# src/company_gui.cpp
# src/genworld_gui.cpp
# src/gfx_layout.cpp
# src/misc_gui.cpp
# src/newgrf.cpp
# src/newgrf_config.h
# src/newgrf_engine.cpp
# src/news_gui.cpp
# src/order_gui.cpp
# src/roadveh_cmd.cpp
# src/saveload/saveload.h
# src/saveload/vehicle_sl.cpp
# src/ship_cmd.cpp
# src/statusbar_gui.cpp
# src/table/settings/network_private_settings.ini
# src/table/settings/network_settings.ini
# src/toolbar_gui.cpp
# src/train_cmd.cpp
# src/vehicle_gui.cpp
2023-05-31 23:21:38 +01:00
Jonathan G Rennison
b02817f262
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/newgrf.cpp
2023-05-27 01:12:47 +01:00
Jonathan G Rennison
ef03d44fb3
Use std::unique_ptr for GRFLineToSpriteOverride
2023-05-27 00:47:27 +01:00
Jonathan G Rennison
fd4d4d341d
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/animated_tile.cpp
# src/cargopacket.h
# src/cheat_gui.cpp
# src/company_cmd.cpp
# src/company_gui.cpp
# src/date.cpp
# src/disaster_vehicle.cpp
# src/dock_gui.cpp
# src/economy.cpp
# src/engine.cpp
# src/error_gui.cpp
# src/fontcache/spritefontcache.cpp
# src/game/game_gui.cpp
# src/game/game_text.cpp
# src/gfx.cpp
# src/graph_gui.cpp
# src/highscore_gui.cpp
# src/industry_cmd.cpp
# src/lang/dutch.txt
# src/lang/english_AU.txt
# src/lang/english_US.txt
# src/lang/finnish.txt
# src/lang/french.txt
# src/lang/italian.txt
# src/lang/portuguese.txt
# src/lang/russian.txt
# src/lang/turkish.txt
# src/lang/vietnamese.txt
# src/main_gui.cpp
# src/misc_gui.cpp
# src/network/network_gui.cpp
# src/network/network_server.cpp
# src/newgrf.cpp
# src/newgrf.h
# src/newgrf_generic.cpp
# src/news_gui.cpp
# src/openttd.cpp
# src/os/unix/unix.cpp
# src/os/windows/font_win32.cpp
# src/os/windows/win32.cpp
# src/rail_gui.cpp
# src/road_gui.cpp
# src/saveload/afterload.cpp
# src/saveload/misc_sl.cpp
# src/saveload/oldloader_sl.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/script/script_gui.cpp
# src/settings_table.cpp
# src/signs_gui.cpp
# src/smallmap_gui.cpp
# src/smallmap_gui.h
# src/spritecache.cpp
# src/spritecache.h
# src/spriteloader/grf.cpp
# src/station_cmd.cpp
# src/statusbar_gui.cpp
# src/stdafx.h
# src/strgen/strgen_base.cpp
# src/subsidy.cpp
# src/table/settings/difficulty_settings.ini
# src/texteff.cpp
# src/timetable_cmd.cpp
# src/timetable_gui.cpp
# src/toolbar_gui.cpp
# src/town_cmd.cpp
# src/town_gui.cpp
# src/townname.cpp
# src/vehicle.cpp
# src/waypoint_cmd.cpp
# src/widgets/dropdown.cpp
# src/window.cpp
2023-05-26 19:36:48 +01:00
Peter Nelson
0b72297d57
Feature: Increase number of stations/roadstops per NewGRF.
2023-05-05 07:08:40 +01:00
Peter Nelson
bc7dfd7b46
Add: Station property 1C/1D to set name/classname.
...
These are an alternative to the original "generic" C4xx/C5xx method,
which can only assign strings to IDs up to 256.
2023-05-05 07:08:40 +01:00
Peter Nelson
d6f35a9fd6
Change: Add placeholders for unimplemented NewGRF station properties.
2023-05-05 07:08:40 +01:00
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