Jonathan G Rennison
83ac5aa27a
Fix: Memory leak of airport tile layout in AirportChangeInfo (prop 0A) ( #8928 )
2021-04-02 10:13:53 +02:00
Patric Stout
1a1049bc0d
Change: rename setting "max_heightlevel" to "map_height_limit"
...
This better reflects what it is, and hopefully removes a bit of
the confusion people are having what this setting actually does.
Additionally, update the text on the setting to better inform
users what it is doing exactly, so they can make an educated
decision on how to change it.
Next commit will introduce an "auto" value, which should be the
new default. The rename has as added benefit that everyone will
start out on the "auto" value.
2021-03-26 12:22:32 +01:00
Charles Pigott
8157af6d68
Fix #8276 : Crash when a NewGRF object's size was not set
2021-02-21 18:16:09 +00:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
2021-01-08 11:16:18 +01:00
Charles Pigott
860c270c73
Codechange: Replace assert_compile macro with static_assert
2020-12-27 10:55:42 +00:00
Michael Lutz
1478fa93b3
Add: [NewGRF] Patch flag to test if inflation is on or off.
2020-12-27 10:28:39 +00:00
frosch
d5f05fb781
Fix: [NewGRF] Action 7/9 conditions 0x0F to 0x12 failed, if 'param' was 0x88. ( #8382 )
...
Fix: [NewGRF] Action 7/9 conditions 0x0B to 0x12 failed, if 'param' was 0x85.
These conditions are supposed to ignore 'param' entirely.
2020-12-15 22:42:03 +01:00
Michael Lutz
79240eab1e
Codechange: Make use of the improved C++17 emplace_back function.
2020-12-15 00:29:30 +01:00
Yexo
1507902d00
Codechange: remove has_newindustries global
2020-06-01 22:46:06 +02:00
Yexo
a82572d0f5
Codechange: remove has_newhouses global
2020-06-01 22:46:06 +02:00
Yexo
f827bc8c1a
Fix #8166 : don't crash on loading an invalid roadtype newgrf
...
Initialization code for GRFFile::roadtype_map was copied from
railtype_map. But while RailType is a byte-sized enum and could thus
be initialized via memset, RoadType doesn't have a defined size.
2020-06-01 12:44:02 +02:00
Michael Lutz
9c2e47d03c
Codechange: Use std::string for storing GRF error messages.
2020-05-21 20:02:34 +02:00
Michael Lutz
c082f570ce
Codechange: Use std::string when translating TTDP NewGRF string codes.
2020-05-21 20:02:34 +02:00
Michael Lutz
43cd892e0c
Codechange: Replace custom linked list for GRF texts with STL vectors and strings.
2020-05-21 20:02:34 +02:00
Michael Lutz
f2b40f40aa
Codechange: Replace SmallPair with std::pair.
...
std::pair is already the smallest possible pair, and it already handles non-POD types correctly.
2020-05-21 20:02:34 +02:00
Niels Martin Hansen
c8779fb311
Feature: NewGRF callback profiling ( #7868 )
...
Adds a console command newgrf_profile to collect some profiling data about NewGRF action 2 callbacks and produce a CSV file.
2020-01-26 13:45:51 +01:00
frosch
7f351fd7c1
Fix: Action7/9 conditions 0F..12 reported roadtypes as valid tramtypes and vice versa.
2019-12-23 17:23:20 +00:00
frosch
e5dd19b0de
Cleanup: Properties 12 and 15 do not exist for road/tramtypes.
2019-12-23 17:23:20 +00:00
glx
1f6b3a37f9
Codechange: Replace FOR_ALL_ENGINES with range-based for loops
2019-12-21 20:13:03 +01:00
glx22
d865916a07
Fix #7836 : Check coherency of NewGRF parameter min/max ( #7840 )
2019-11-23 13:21:01 +00:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
Niels Martin Hansen
53f8d0b815
Codechange: Use std::vector for industry tile layouts
2019-10-19 17:16:25 +01:00
JMcKiern
04f659e768
Fix: Some typos found using codespell
2019-09-29 21:27:32 +01:00
peter1138
c02ef3e456
Feature: Add NotRoadTypes (NRT)
2019-05-01 21:36:27 +02:00
Charles Pigott
69a6c494bf
Codechange: Set VehicleType's base type to byte instead of using VehicleTypeByte
2019-04-29 17:40:22 +01:00
PeterN
be073b46da
Fix: Bounds check access to railtype_map. ( #7529 )
2019-04-20 02:34:25 +01:00
peter1138
4f052fc2a4
Cleanup: Fix alignment after NULL -> nullptr change.
2019-04-13 20:35:10 +01:00
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02:00
frosch
0cf25e84df
Fix #7447 , 3357cac847: Action 4 has feature 48 'original strings'. ( #7449 )
2019-03-30 19:56:43 +00:00
glx22
66dd7c3879
Fix: MSVC warnings ( #7423 )
2019-03-28 00:09:33 +01:00
Henry Wilson
c01a2e2a81
Codechange: Removed SmallVector completely
2019-03-26 20:15:57 +00:00
Henry Wilson
ab711e6942
Codechange: Replaced SmallVector::[Begin|End]() with std alternatives
2019-03-26 20:15:57 +00:00
Henry Wilson
2bc2de9034
Codechange: Replaced SmallVector::Find() with std::find()
2019-03-26 20:15:57 +00:00
Henry Wilson
a0f36a50e6
Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back()
2019-03-26 20:15:57 +00:00
Henry Wilson
aa7ca7fe64
Codechange: Replaced SmallVector::Get(n) non-const with std::vector::data() + n
2019-03-26 20:15:57 +00:00
Henry Wilson
a690936ed7
Codechange: Replace SmallVector::Length() with std::vector::size()
2019-03-26 20:15:57 +00:00
Henry Wilson
bfd79e59dc
Codechange: Replace SmallVector::Clear() with std::vector::clear()
2019-03-26 20:15:57 +00:00
Peter Nelson
3357cac847
Fix: Bounds check NewGRF feature.
2019-03-21 20:53:36 +00:00
Peter Nelson
054d05b132
Codechange: NewGRF features are documented in hex, so display as hex.
2019-03-21 20:53:36 +00:00
peter1138
fc5f67123a
Fix e66cec8f86: Permit loading of industry production callback with invalid cargo type.
...
It is only an error if the invalid result is actually used. This will be silently ignored at the moment.
It is still an error if a duplicate cargo type is returned.
2019-03-15 17:43:10 +00:00
Eddi-z
1447661d20
Cleanup: spurious TODOs in newgrf.cpp ( #7297 )
2019-02-28 23:00:50 +00:00
Peter Nelson
21dc725762
Fix: Don't consider engines not in the current climate towards used livery classes.
2019-02-01 07:08:55 +00:00
Niels Martin Hansen
48b334cf97
Add: Houses can accept up to 16 different cargo types via NewGRF.
...
New Action0 property 23 for feature 07, variable length, format B n*(B B). Initial byte is number of structures following. First byte in structure is cargo id, second is acceptance level in 1/8 units.
2019-01-21 16:06:25 +01:00
Niels Martin Hansen
e66cec8f86
Add: NewGRF support for 16-in-16-out industries
2018-11-03 21:43:54 +01:00
Charles Pigott
e0c0394e37
Fix: Remove various dead or unnecessary assignments
2018-10-31 12:41:49 +01:00
Charles Pigott
f5b1115039
Doc: Lots and lots of doxymentation fixes
2018-10-31 12:35:54 +01:00
Michael Lutz
4b0b4e0643
Feature: [NewGRF] Increase size of persistent storage to 256.
2018-09-02 21:31:15 +02:00
frosch
6391d49277
Fix: Variable 0x85 had no bounds checks.
2018-09-02 21:15:54 +02:00
Niels Martin Hansen
836d25e738
Codechange: Address some MSVC compiler warnings
2018-06-15 22:36:55 +02:00
PeterN
4cebebcf68
Change: Add CargoTypes type for cargo masks. ( #6790 )
2018-05-21 22:08:39 +01:00
Patric Stout
88be2413ce
Codechange #6729 : mute bogus GCC 7 warning ( #6733 )
...
We do a memset of (byte - byte), which strictly seen ranges from -254 .. 255, for which GCC warns.
But just before this memset is an if() which says the first byte has to be bigger than the second.
So this is a bogus warning.
2018-04-16 23:48:19 +02:00
frosch
55a503e6f2
(svn r27989) -Fix (r27985): VA2 optimisation failed in various special cases:
...
- nvar=0 is meant to return the calculated result.
- Missing references resolve to NULL and got identified with the default result.
- Missing 'break' broke overlapping cases.
- Splitting into non-overlapping cases could result in more than 256 cases.
2018-03-11 15:08:51 +00:00
frosch
07d841d0ef
(svn r27985) -Codechange: Convert VA2 switches into ones with non-overlapping ranges, sort them and resolve them using binary search. Speedup sprite resolving by about 7 percent.
2018-03-11 13:21:27 +00:00
peter1138
dacd8d87ef
(svn r27974) -Fix (r27907) [FS#6627]: free() called on static airport rotation data (JGR)
2018-03-06 07:48:29 +00:00
adf88
6dec889306
(svn r27908) -Codechange: Mark airport tile tables and FTAs "const" to be sure that they are really constant
2017-08-31 06:55:38 +00:00
adf88
b56453f93b
(svn r27907) -Fix: AirportSpec::rotation was memleaking
2017-08-31 06:54:22 +00:00
frosch
b4b98e5165
(svn r27893) -Codechange: Use fallthrough attribute. (LordAro)
2017-08-13 18:38:42 +00:00
frosch
fa8d85b632
(svn r27769) -Change: [NewGRF] Extend the DCxx range to D800-DFFF.
2017-03-05 14:45:13 +00:00
frosch
5846aa5bfc
(svn r27768) -Codechange: Use if and IsInsideMM instead of switch-case sequences to test for consecutive values.
2017-03-05 14:44:15 +00:00
frosch
b5d1e58b0e
(svn r27767) -Codechange: Industries and houses should just use the default-case in Action 4.
2017-03-05 14:43:21 +00:00
frosch
1a9e1c5e91
(svn r27766) -Fix: Obiwan opposed translations for text id D3FF and DCFF in Action 13.
2017-03-05 14:42:41 +00:00
frosch
7b553d255e
(svn r27732) -Change: Turn the message about 'missing baseset sprites' from a popup into a static message that only shows in non-release versions, just like the 'missing translations' message.
2017-01-14 18:30:26 +00:00
frosch
1aedadb49b
(svn r27730) -Change: Split openttd.grf into openttd.grf and orig_extra.grf
...
openttd.grf is now always loaded and provides all extra graphics in case the (possibly outdated) baseset does not.
orig_extra.grf contains graphics specific to the original baseset only.
2017-01-14 15:48:19 +00:00
frosch
ec9a920aab
(svn r27729) -Codechange: Do not count static NewGRF when checking for the maximum number of NewGRFs in a game.
...
-Codechange: Remove LAST_GRF_SLOT and MAX_NEWGRFS. Now NETWORK_MAX_GRF_COUNT is the only constant to specify the maximum number of non-static NewGRF.
-Codechange: Increase the number of file slots, effectively increasing the maximum number of static NewGRF and baseset GRFs.
2017-01-14 13:12:49 +00:00
frosch
a3b356e057
(svn r27725) -Codechange: Remove IsOpenTTDBaseGRF and test for GCF_CONFIG instead, which does the same in all use-cases.
2017-01-07 21:36:25 +00:00
frosch
5267b60027
(svn r27722) -Fix (r7490): GCF_SYSTEM was never set correctly.
2017-01-07 21:20:02 +00:00
frosch
d9bfe88261
(svn r27676) -Codechange: Rename catenary functions, so that they refer unambiguously to either RoadCatenary or RailCatenary.
2016-11-05 11:53:03 +00:00
matthijs
53982003ee
(svn r27560) -Fix: typos in comments and string
2016-05-11 20:48:46 +00:00
frosch
f6577b6ad7
(svn r27507) -Add: [NewGRF] Allow custom sound IDs in RV property 0x12, ship property 0x10 and aircraft property 0x12.
2016-02-08 21:05:57 +00:00
frosch
df82dcdf35
(svn r27497) -Change: [NewGRF] Allow static NewGRF to enable the second rocky tile set.
2016-01-13 21:55:50 +00:00
frosch
c655847235
(svn r27138) -Fix: [NewGRF] Negative positions in industry layouts were interpreted incorrectly; however since the wrong behaviour is saner, define as the correct behaviour for GRFv8.
2015-02-06 21:56:50 +00:00
frosch
f79ead7125
(svn r27119) -Fix: Action 7/9 condition 0A failed for present, but disabled, NewGRF.
2015-01-17 15:00:02 +00:00
peter1138
253c91b17d
(svn r26990) -Feature: Add option to choose normal, double or quad-size interface.
2014-10-11 13:22:37 +00:00
rubidium
ddfc8372ee
(svn r26884) -Change: scale the NewGRF's snow line level according to the configured maximum map height
2014-09-21 12:02:03 +00:00
rubidium
2361aaf601
(svn r26869) -Add: support for an all black palette to prevent the need of having a black tile of all different slopes (ic111)
2014-09-21 07:57:45 +00:00
rubidium
9ed12b0f07
(svn r26509) -Codechange: replace strdup with stredup (the latter ensures the return is not NULL)
2014-04-25 15:40:32 +00:00
rubidium
e61fe21237
(svn r26506) -Codechange: replace most of vsnprintf with vseprintf
2014-04-24 19:51:45 +00:00
rubidium
0463dbdc9e
(svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2014-04-23 20:13:33 +00:00
rubidium
bbed2ff956
(svn r26475) -Fix: potentially undefined shifts in NewGRF code
2014-04-20 15:47:50 +00:00
planetmaker
ba42bcdf49
(svn r26458) -Doc: Correct a few spelling mistakes (__ln__)
2014-04-12 15:59:56 +00:00
frosch
ee5c115950
(svn r26245) -Codechange: No need for a map, if a vector suffices.
2014-01-12 18:01:50 +00:00
frosch
00e7ceeca4
(svn r26243) -Cleanup: Move TTDPStringIDToOTTDStringIDMapping to newgrf.cpp, it's only used there.
2014-01-12 18:01:16 +00:00
rubidium
d2ba772f6a
(svn r26130) -Codechange: add some guards against using invalid image indices
2013-11-26 16:08:58 +00:00
rubidium
cf130ce9d8
(svn r26069) -Fix: missing break in NewGRF object handling
2013-11-23 18:10:06 +00:00
rubidium
c035a9531b
(svn r26067) -Fix: possible NULL dereference when getting NewGRF version
2013-11-23 18:08:15 +00:00
rubidium
ca7dce1fc2
(svn r25961) -Fix [FS#5779]: [NewGRF] A powered rail type implies it is compatible as well, but some NewGRF didn't state that causing the path reservation code to bail out in some cases because there wasn't a compatible path
2013-11-09 10:45:05 +00:00
planetmaker
ed54d39201
(svn r25878) -Feature: [NewGRF] Object property 0x18 to allow specifying the number of objects of that type being placed upon map creation
2013-10-17 21:45:40 +00:00
frosch
1b6ceef086
(svn r25842) -Codechange: Rename MAX_STATIONS to NUM_STATIONS_PER_GRF.
2013-10-12 16:35:18 +00:00
frosch
48d22700ad
(svn r25841) -Codechange: Use NUM_AIRPORTTILES_PER_GRF instead of NUM_AIRPORTTILES to properly distinguish limits per NewGRF and limits of the pool.
...
-Change: [NewGRF] Lower the limit of airport tile types per NewGRF from 256 to 255 to prevent usage of ID 0xFF in Action3, and thus allowing it to become an extended byte somewhen.
2013-10-12 16:34:59 +00:00
frosch
a92b698525
(svn r25840) -Codechange: Use NUM_AIRPORTS_PER_GRF instead of NUM_AIRPORTS to properly distinguish limits per NewGRF and limits of the pool.
2013-10-12 16:34:23 +00:00
frosch
cfaa9457a6
(svn r25839) -Codechange: Use NUM_HOUSES_PER_GRF instead of NUM_HOUSES to properly distinguish limits per NewGRF and limits of the pool.
...
-Change: [NewGRF] Lower the limit of house types per NewGRF from 256 to 255 to prevent usage of ID 0xFF in Action3, and thus allowing it to become an extended byte somewhen.
2013-10-12 16:34:04 +00:00
frosch
6a0439a789
(svn r25838) -Codechange: Rename HOUSE_MAX to NUM_HOUSES.
2013-10-12 16:33:19 +00:00
frosch
ad8b387f9e
(svn r25837) -Codechange: Use NUM_INDUSTRYTILES_PER_GRF instead of NUM_INDUSTRYTILES to properly distinguish limits per NewGRF and limits of the pool.
...
-Change: [NewGRF] Lower the limit of industry tile types per NewGRF from 256 to 255 to prevent usage of ID 0xFF in Action3, and thus allowing it to become an extended byte somewhen.
2013-10-12 16:32:59 +00:00
frosch
a521af8cf8
(svn r25836) -Codechange: Use NUM_INDUSTRYTYPES_PER_GRF instead of NUM_INDUSTRYTYPES to properly distinguish limits per NewGRF and limits of the pool.
2013-10-12 16:32:16 +00:00
frosch
60f483822f
(svn r25834) -Codechange: Use NUM_OBJECTS_PER_GRF instead of NUM_OBJECTS to properly distinguish limits per NewGRF and limits of the pool.
...
-Change: [NewGRF] Lower the limit of object types per NewGRF from 256 to 255 to prevent usage of ID 0xFF in Action3, and thus allowing it to become an extended byte somewhen.
2013-10-12 16:31:31 +00:00
rubidium
13855f0a09
(svn r25705) -Fix: a number of typos (inspired by 90c920601c84975acb694f3673e2beb08b013753)
2013-08-09 18:43:44 +00:00
rubidium
f292a87dc4
(svn r25312) -Fix-ish: missing spaces after comma + realignment of tables; quite boring with -x -w
2013-06-01 07:44:53 +00:00
rubidium
163dfdd34a
(svn r25262) -Feature: linkgraph overlay for smallmap
2013-05-19 14:36:35 +00:00
frosch
71cfe3d474
(svn r25230) -Feature: [NewGRF] Expose sprite base of foundation and shore sprites via Action D Game Variables.
2013-05-07 12:38:43 +00:00
frosch
30f601d685
(svn r25115) -Fix (r8973) [FS#5492-ish]: [NewGRF] Acceleration of NewGRF aircraft was too fast, while acceleration of default aircraft was way too slow. I.e. choose wisely who to let write the software for your orbiter.
2013-03-22 21:27:13 +00:00