diff options
author | PeterN <peter1138@openttd.org> | 2021-04-30 12:03:07 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-30 12:03:07 +0100 |
commit | 3dbd6475fec5ebd63b18004bb94048460c4fb4a3 (patch) | |
tree | 2b9d79e0aeb4839526b30d4bc171e1715608e3f6 /src/engine_base.h | |
parent | 665a3928e2f07e6ee1faed1c8b08fe3a68fbc37a (diff) | |
download | openttd-3dbd6475fec5ebd63b18004bb94048460c4fb4a3.tar.xz |
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.
Diffstat (limited to 'src/engine_base.h')
-rw-r--r-- | src/engine_base.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/engine_base.h b/src/engine_base.h index 2e434b589..7822111e7 100644 --- a/src/engine_base.h +++ b/src/engine_base.h @@ -15,6 +15,12 @@ #include "core/pool_type.hpp" #include "newgrf_commons.h" +struct WagonOverride { + std::vector<EngineID> engines; + CargoID cargo; + const SpriteGroup *group; +}; + typedef Pool<Engine, EngineID, 64, 64000> EnginePool; extern EnginePool _engine_pool; @@ -56,13 +62,11 @@ struct Engine : EnginePool::PoolItem<&_engine_pool> { * evaluating callbacks. */ GRFFilePropsBase<NUM_CARGO + 2> grf_prop; - uint16 overrides_count; - struct WagonOverride *overrides; + std::vector<WagonOverride> overrides; uint16 list_position; - Engine(); + Engine() {} Engine(VehicleType type, EngineID base); - ~Engine(); bool IsEnabled() const; /** |