1
0
Fork 0
Commit Graph

306 Commits (a908c7bed01570377c11d60d66fcf774e3c93930)

Author SHA1 Message Date
Rubidium 19ec4e8beb Codechange: replace ClampToI32/U16 with ClampTo<int32_t/uint16_t> 2023-05-06 21:26:13 +02:00
Peter Nelson 7ccdefa1c1 Change: Increase vehicle random data from 8 to 16 bits. 2023-05-04 21:42:28 +01:00
Patric Stout 7aa2b9ab0a
Codechange: move all date-related variables inside the timer (#10706) 2023-04-24 15:56:01 +00:00
Rubidium 7088f5b7c7 Codechange: use string/fmt instead of printf for grfmsg 2023-04-18 23:21:08 +02:00
Rubidium 90f1768006 Codechange: add non-nullptr asserts in cases where it should never be nullptr
Though where similar calls are checked for nullptr as in those instances of
the use of that function it can actually return nullptr. In other words, write
down the assumption that the function never returns nullptr in an assert.
2023-01-14 21:15:23 +01:00
Peter Nelson efa20dd969 Change: Support engine property 0xC6 in purchase list. 2022-12-25 16:41:58 +00:00
frosch 111a47af0d Codechange: rename 'info_view' to 'rotor_in_gui', because it is only used by helicopters. 2021-10-23 14:45:08 +02:00
frosch bc984d9af5 Codechange: remove redundant 'info_view' parameter, it can be derived from 'image_type'. 2021-10-23 14:45:08 +02:00
Michael Lutz ee333a9549
Fix 2183fd4d: [NewGRF] Use divide instead of right shift for signed numbers. (#9480)
"For negative a, the value of a >> b is implementation-defined (in most implementations, this performs arithmetic right shift, so that the result remains negative)."
2021-08-15 12:14:53 +02:00
Vít Šefl 2183fd4dab
Feature: [NewGRF] Maximum curve speed modifier for rail vehicles (#9346) 2021-08-15 11:17:05 +02:00
rubidium42 55a11710a6 Codechange: convert printf DEBUG statements to fmt Debug statements 2021-06-13 12:45:45 +02:00
Peter Nelson f785a70a2b Cleanup: Use std::vector in RealSpriteGroup. 2021-05-02 09:41:01 +01:00
PeterN 3dbd6475fe
Codechange: Use C++ features for train wagon overrides. (#9141)
This removes the need for C-style array management and allows use of iterators to perform wagon override lookups.
2021-04-30 12:03:07 +01:00
Johannes E. Krause 3ac43582c2 Codechange: [NewGRF] Make it more explicit which parts of the TTD vehicle structure (var 80+) are not implemented 2021-02-13 16:07:23 +00:00
Johannes E. Krause f1bc4d8407 Add: [NewGRF] Vehicle variable 4A now also returns, whether the current tile has catenary. 2021-01-10 21:24:38 +01:00
frosch 868d84bbfc Add: [NewGRF] vehicle variable 63 to test the tracktype of the current tile against a given tracktype. 2021-01-10 21:24:38 +01: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
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
glx 1f6b3a37f9 Codechange: Replace FOR_ALL_ENGINES with range-based for loops 2019-12-21 20:13:03 +01:00
S. D. Cloudt 13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00: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
glx 801cbea9cc Codechange: use std::sort() for all std::vector types 2019-04-13 12:49:18 +01:00
Henry Wilson 7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 2019-04-10 23:22:20 +02: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 097328c3d7 Codechange: Replaced SmallVector::Get() const with std alternatives 2019-03-26 20:15:57 +00:00
Henry Wilson f3938fdb83 Codechange: Replaced SmallVector::Reset() with std::vector::clear() + shrink_to_fit() 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
frosch d9d669dcf8 (svn r27984) -Codechange: Make ScopeResolver constructors/destructors inlineable. Speedup sprite resolving by about 8 percent. 2018-03-11 13:19:41 +00:00
frosch 82ae414e8d (svn r27928) -Fix: [NewGRF] While executing random triggers, var 5F should include the new triggers.
-Fix: [NewGRF] Reset used random triggers only after all A123 chains have been resolved, so that all RA2 in all chains can test the shard triggers. This also includes multiple RA2 in the same A123 chain.
-Fix: [NewGRF] Industry random triggers are stored per tile, even when randomising the shared random bits of the parent industry.
2017-10-25 15:38:14 +00:00
frosch 117e73751c (svn r27668) -Feature: [NewGRF] Allow composing vehicles from multiple sprites. 2016-10-16 14:59:44 +00:00
frosch d2393b4f6c (svn r27666) -Codechange: Pass vehicle sprites around using a struct VehicleSpriteSeq. 2016-10-16 14:57:56 +00:00
frosch c97d3c322f (svn r27075) -Fix [FS#6182]: Variable 47 used the carge translation table of the wrong GRF in case of callback 1D. 2014-12-07 14:13:21 +00:00
peter1138 759e963083 (svn r27060) -Doc: Remove obsolete comment (64KB LUT would be 8GB with current limits) 2014-11-11 11:50:04 +00:00
frosch 54a5b1b0d0 (svn r26988) -Add: [NewGRF] Allow callback 160 to access variable 61. 2014-10-10 19:46:10 +00:00
rubidium c0771b1657 (svn r26866) -Change: make aircraft ascend/descend when they are too close to the ground or too far away (based on patch by ic111) 2014-09-21 06:35:34 +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
frosch 6562ec9402 (svn r26430) -Feature(ette): Add vehicle modflag 1 (unloading in progress). 2014-03-26 21:27:37 +00:00
frosch 6b61c4608f (svn r26388) -Codechange: Move resolving of Action 3 into ResolverObject constructor. 2014-03-03 20:02:31 +00:00
frosch 9e5fc88499 (svn r26294) -Change: [NewGRF] Make vehicle variable 61 return 'not available' instead of zero when using it in invalid callback contexts. 2014-02-03 21:10:04 +00:00
frosch e0d69933f6 (svn r26157) -Feature: [NewGRF] Vehicle variable 4D for determining the position within an articulated vehicle. 2013-12-13 20:21:04 +00:00
frosch db894b0b3f (svn r26085) -Codechange: Pass ResolverObjects as reference instead of pointer since they are never NULL. 2013-11-24 14:41:19 +00:00
rubidium 13855f0a09 (svn r25705) -Fix: a number of typos (inspired by 90c920601c84975acb694f3673e2beb08b013753) 2013-08-09 18:43:44 +00:00
frosch 5eddbb338b (svn r25185) -Fix [FS#5508]: Remove ambivalent functions CargoList::Empty() and Count(), and replace them with VehicleCargoList::StoredCount(), TotalCount(), StationCargoList::AvailableCount() and TotalCount(). (fonsinchen) 2013-04-13 13:42:08 +00:00
rubidium c77cd1f409 (svn r24994) -Codechange: Replace access to service_interval with accessors (peter1138) 2013-02-14 17:04:01 +00:00
planetmaker c24374f99c (svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow) 2013-01-08 22:46:42 +00:00
frosch b65ece1ea9 (svn r24695) -Fix/Cleanup: Remove remaining (incorrect) usages of ResolverObject::scope and count. 2012-11-11 12:57:27 +00:00
alberth 33ff55a8f1 (svn r24693) -Doc: Add some doxymentation into the newgrf code. 2012-11-10 20:46:39 +00:00
alberth 4c9bea2a71 (svn r24692) -Cleanup: Cleanup final parts of the old resolver code. 2012-11-10 20:45:59 +00:00
alberth 69e07c3e00 (svn r24691) -Codechange: Add resolver classes for vehicles. 2012-11-10 20:45:04 +00:00
alberth 438495b433 (svn r24678) -Codechange: Introduce scope resolver base class and prepare for adding derived classes. 2012-11-10 20:37:31 +00:00
frosch 38f265c083 (svn r24528) -Fix: [NewGRF] RandomAction 84 should interpret register 100 as signed. 2012-09-16 16:31:53 +00:00
frosch e37e2d92a6 (svn r24527) -Add: [NewGRF] Allow resolving var 5F via vehicle var 61. 2012-09-16 16:29:48 +00:00
michi_cc 6f88071942 (svn r24371) -Add: [NewGRF] Allow vehicle variable 61 for callback 2D (recolour) and re-randomisation. 2012-07-02 19:31:26 +00:00
frosch ee25344a6d (svn r24360) -Fix [FS#5224]: Ship-specific 80+x variables were missing for unknown reason. (Hirundo) 2012-06-28 19:24:26 +00:00
frosch 86b013f872 (svn r24330) -Fix (r24321): Do not use the vehicle list order changes from the previous savegames, but only ever from the current one. 2012-06-07 15:38:46 +00:00
frosch 8ec00c4cc9 (svn r24321) -Change/Fix [FS#4254]: [NewGRF] Group vehicles in the purchase list properly by source GRF, but also consider engine GRFID overrides. 2012-06-03 15:07:27 +00:00
michi_cc ce5c936b07 (svn r24246) -Add [FS#5052-ish]: [NewGRF] Variable with the current max speed for vehicles. 2012-05-14 19:56:49 +00:00
frosch 5167f2be29 (svn r23965) -Fix [FS#5070]: Refittability should never depend on the current capacity of a vehicle. 2012-02-19 18:34:24 +00:00
frosch bc9c8db287 (svn r23748) -Fix: Make vehicle variables A8 and A9 always return 0. Returning cur_image is a potential desyncer due to Action1 in static NewGRFs. 2012-01-03 23:53:53 +00:00
rubidium 6d6be50ae0 (svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files 2012-01-03 21:32:51 +00:00
rubidium 3d88c74389 (svn r23526) -Codechange: unify cargos vs cargoes 2011-12-15 21:56:00 +00:00
frosch 686f51d810 (svn r23503) -Fix (r23143): Desync debug wants to resolve vehicle variables of vehicles without NewGRF. So, let it. 2011-12-12 19:31:47 +00:00
frosch 44dc83b73f (svn r23502) -Fix (r23143): Vehicle var 42 used a cargo translation table of the wrong GRF. 2011-12-12 19:30:36 +00:00
michi_cc d7d032f70a (svn r23231) -Fix: [NewGRF] Make train var 0xF3 consistent with TTDPatch. 2011-11-15 19:53:46 +00:00
frosch 50b480b959 (svn r23174) -Codechange: Deduplicate code between GetEngineProperty() and GetVehicleProperty(). 2011-11-09 16:39:34 +00:00
frosch 8a2342a5e6 (svn r23156) -Change: [NewGRF] Clamp height in aircraft variable 44. 2011-11-08 17:29:21 +00:00
frosch 449d679230 (svn r23143) -Change: [NewGRF v8] Return the translated cargobit in vehicle var 42. 2011-11-08 17:25:32 +00:00
frosch 1ad7239247 (svn r23138) -Feature: [NewGRF] Allow passing 32bit parameters to 60+x variables (using var 7B). Currently most useful for vehicle var 60. 2011-11-08 17:23:30 +00:00
frosch bbc3409942 (svn r23080) -Feature: [NewGRF] Use variable 10 to enable vehicle GRFs to draw different sprites on the map and in various GUIs. 2011-11-01 16:51:47 +00:00
frosch acc3c75951 (svn r23075) -Codechange: Add GetGRF() and GetGRFID() methods to Engine and Vehicle to simplify code. 2011-11-01 00:23:41 +00:00
frosch 72cd855978 (svn r23074) -Codechange: Add Vehicle::GetEngine() to simplify code. 2011-11-01 00:21:08 +00:00
michi_cc a6713244df (svn r23068) -Add: [NewGRF] Long date of last service for vehicles, also available in the purchase list. 2011-10-31 16:33:59 +00:00
michi_cc 12e28de818 (svn r22998) -Add [FS#2521]: [NewGRF] Act2 var 0x62 to get curvature/position difference to the n-th vehicle in vehicle chain. 2011-10-04 21:35:35 +00:00
michi_cc 3cb1dcf31c (svn r22997) -Feature: [NewGRF] Allow access to other vehicles in the vehicle chain in VarAction 2. 2011-10-04 21:35:29 +00:00
frosch 427dd736ae (svn r22946) -Fix [FS#4781]: [NewGRF] Crash when accessing vehicle var 44 for a non-front aircraft. 2011-09-19 19:22:18 +00:00
frosch c6e29a5b89 (svn r22848) -Add: The missing bits in station variable 43. 2011-08-27 08:42:24 +00:00
frosch 8930337aae (svn r22635) -Fix: Correctly reseed random bits of industries and industry tiles. 2011-07-04 20:37:20 +00:00
frosch 8b18292a2e (svn r22634) -Codechange: Deduplicate some code. Note that zeroing 'count' is intentionally removed, it is only used together with 'scope'. 2011-07-04 20:31:57 +00:00
frosch a97d52a29a (svn r21933) -Codechange: Split cur_order_index into cur_auto_order_index and cur_real_order_index to keep track of the current real order in an unambiguous way.
-Fix [FS#4440]: Automatic orders behave now stable wrt. service orders and are not added or removed depending on the need of servicing.
-Fix: Various other issues with automatic orders, e.g. vehicles getting stuck with "no orders" when there are automatic orders at the end of the order list.
2011-01-31 20:44:15 +00:00
terkhen 48b7916458 (svn r21521) -Codechange: Unify some cached values that were present in both road vehicles and trains. 2010-12-14 21:33:53 +00:00
terkhen 12c86a1391 (svn r21518) -Codechange: Rename AccelerationCache to GroundVehicleCache. 2010-12-14 21:28:45 +00:00
terkhen 79e2b3153d (svn r21516) -Codechange: Add IsGroundVehicle function to the Vehicle class. 2010-12-14 21:26:03 +00:00
rubidium b46e57d364 (svn r21338) -Fix [FS#4272]: bogus cache mismatch warnings with desync debugging because some cache was invalidated but never reset 2010-11-27 21:09:41 +00:00
rubidium a6a2fbd937 (svn r21198) -Fix: don't call variables properties in debug messages 2010-11-15 16:43:46 +00:00
terkhen 18e3a3ddfc (svn r21099) -Codechange: Store road vehicle max speed in the vehicle cache. 2010-11-06 13:05:11 +00:00
terkhen 25d1b2f54b (svn r21098) -Codechange: Ships now store their max speed in the cache instead of recalculating it every time. 2010-11-06 13:03:17 +00:00
terkhen c8a56f17f8 (svn r21097) -Codechange: Unify cached max speed for all vehicle types. 2010-11-06 12:53:31 +00:00
terkhen cfac2ced69 (svn r21095) -Codechange: Use a function to convert aircraft speed to old units. 2010-11-06 12:47:12 +00:00
terkhen d699c4a345 (svn r21091) -Codechange: Add bit constants for checking NewGRFCache validity. 2010-11-06 12:39:18 +00:00
terkhen 8eb3d653da (svn r21090) -Codechange: Rename VehicleCache to NewGRFCache. 2010-11-06 12:37:55 +00:00
yexo aaf370dce2 (svn r20800) -Fix: [NewGRF] clamp some more vehicle variables 2010-09-13 14:20:30 +00:00
yexo ce649b0a73 (svn r20799) -Fix: [NewGRF] clamp vehicle var 0xC2 (max age) to uint16 (Hirundo) 2010-09-13 13:55:25 +00:00
yexo 8fafaf3224 (svn r20792) -Fix (r8973): [NewGRF] vehicle vars 0x98 and 0xB4 (max speed and current speed) used the wrong unit for aircraft (Hirundo) 2010-09-12 19:54:25 +00:00
rubidium 30f2afac9b (svn r20632) -Cleanup: remove "a few" unneeded includes, and add them to some headers 2010-08-26 22:01:16 +00:00
rubidium 9d1145e50c (svn r20605) -Fix [FS#4063]: let NewGRFs var43 var (information about liveries) for vehicles not be influenced by the local setting determining whether to show liveries or not. 2010-08-23 22:28:35 +00:00