diff options
author | peter1138 <peter1138@openttd.org> | 2008-01-05 15:39:22 +0000 |
---|---|---|
committer | peter1138 <peter1138@openttd.org> | 2008-01-05 15:39:22 +0000 |
commit | 5d837282ee209c37ed5c5a29ff509e9283a56b42 (patch) | |
tree | 658c76c4837adf5c3277e65025e9fc14fa20eb73 /src/newgrf_engine.cpp | |
parent | 7302d8c88b25e08a414ebf4e8e83abffc1c3961a (diff) | |
download | openttd-5d837282ee209c37ed5c5a29ff509e9283a56b42.tar.xz |
(svn r11761) -Codechange: Use appropriate variable types for NewGRF engine overrides, and adjust scope while there.
Diffstat (limited to 'src/newgrf_engine.cpp')
-rw-r--r-- | src/newgrf_engine.cpp | 32 |
1 files changed, 13 insertions, 19 deletions
diff --git a/src/newgrf_engine.cpp b/src/newgrf_engine.cpp index a12d04ce4..b0ab246e9 100644 --- a/src/newgrf_engine.cpp +++ b/src/newgrf_engine.cpp @@ -26,20 +26,20 @@ int _traininfo_vehicle_pitch = 0; int _traininfo_vehicle_width = 29; struct WagonOverride { - byte *train_id; - int trains; + EngineID *train_id; + uint trains; CargoID cargo; const SpriteGroup *group; }; struct WagonOverrides { - int overrides_count; + uint overrides_count; WagonOverride *overrides; }; static WagonOverrides _engine_wagon_overrides[TOTAL_NUM_ENGINES]; -void SetWagonOverrideSprites(EngineID engine, CargoID cargo, const SpriteGroup *group, byte *train_id, int trains) +void SetWagonOverrideSprites(EngineID engine, CargoID cargo, const SpriteGroup *group, EngineID *train_id, uint trains) { WagonOverrides *wos; WagonOverride *wo; @@ -58,11 +58,11 @@ void SetWagonOverrideSprites(EngineID engine, CargoID cargo, const SpriteGroup * wo->group = group; wo->cargo = cargo; wo->trains = trains; - wo->train_id = MallocT<byte>(trains); - memcpy(wo->train_id, train_id, trains); + wo->train_id = MallocT<EngineID>(trains); + memcpy(wo->train_id, train_id, trains * sizeof *train_id); } -const SpriteGroup *GetWagonOverrideSpriteSet(EngineID engine, CargoID cargo, byte overriding_engine) +const SpriteGroup *GetWagonOverrideSpriteSet(EngineID engine, CargoID cargo, EngineID overriding_engine) { const WagonOverrides *wos = &_engine_wagon_overrides[engine]; @@ -71,12 +71,12 @@ const SpriteGroup *GetWagonOverrideSpriteSet(EngineID engine, CargoID cargo, byt * for O(1). Or O(logMlogN) and searching binary tree or smt. like * that. --pasky */ - for (int i = 0; i < wos->overrides_count; i++) { + for (uint i = 0; i < wos->overrides_count; i++) { const WagonOverride *wo = &wos->overrides[i]; if (wo->cargo != cargo && wo->cargo != CT_DEFAULT) continue; - for (int j = 0; j < wo->trains; j++) { + for (uint j = 0; j < wo->trains; j++) { if (wo->train_id[j] == overriding_engine) return wo->group; } } @@ -88,16 +88,10 @@ const SpriteGroup *GetWagonOverrideSpriteSet(EngineID engine, CargoID cargo, byt */ void UnloadWagonOverrides() { - WagonOverrides *wos; - WagonOverride *wo; - EngineID engine; - int i; - - for (engine = 0; engine < TOTAL_NUM_ENGINES; engine++) { - wos = &_engine_wagon_overrides[engine]; - for (i = 0; i < wos->overrides_count; i++) { - wo = &wos->overrides[i]; - wo->group = NULL; + for (EngineID engine = 0; engine < TOTAL_NUM_ENGINES; engine++) { + WagonOverrides *wos = &_engine_wagon_overrides[engine]; + for (uint i = 0; i < wos->overrides_count; i++) { + WagonOverride *wo = &wos->overrides[i]; free(wo->train_id); } free(wos->overrides); |