diff options
-rw-r--r-- | economy.c | 10 | ||||
-rw-r--r-- | economy.h | 8 | ||||
-rw-r--r-- | town.h | 2 |
3 files changed, 11 insertions, 9 deletions
@@ -845,7 +845,7 @@ Pair SetupSubsidyDecodeParam(Subsidy *s, bool mode) return tp; } -void DeleteSubsidyWithIndustry(byte index) +void DeleteSubsidyWithIndustry(uint16 index) { Subsidy *s; @@ -858,7 +858,7 @@ void DeleteSubsidyWithIndustry(byte index) } } -void DeleteSubsidyWithStation(byte index) +void DeleteSubsidyWithStation(uint16 index) { Subsidy *s; bool dirty = false; @@ -1062,8 +1062,10 @@ no_add:; static const byte _subsidies_desc[] = { SLE_VAR(Subsidy,cargo_type, SLE_UINT8), SLE_VAR(Subsidy,age, SLE_UINT8), - SLE_VAR(Subsidy,from, SLE_UINT8), - SLE_VAR(Subsidy,to, SLE_UINT8), + SLE_CONDVAR(Subsidy,from, SLE_FILE_U8 | SLE_VAR_U16, 0, 4), + SLE_CONDVAR(Subsidy,from, SLE_UINT16, 5, 255), + SLE_CONDVAR(Subsidy,to, SLE_FILE_U8 | SLE_VAR_U16, 0, 4), + SLE_CONDVAR(Subsidy,to, SLE_UINT16, 5, 255), SLE_END() }; @@ -18,8 +18,8 @@ VARDEF Economy _economy; typedef struct Subsidy { byte cargo_type; byte age; - byte from; - byte to; + uint16 from; + uint16 to; } Subsidy; @@ -68,8 +68,8 @@ void UpdatePlayerHouse(Player *p, uint score); VARDEF Subsidy _subsidies[MAX_PLAYERS]; Pair SetupSubsidyDecodeParam(Subsidy *s, bool mode); -void DeleteSubsidyWithIndustry(byte index); -void DeleteSubsidyWithStation(byte index); +void DeleteSubsidyWithIndustry(uint16 index); +void DeleteSubsidyWithStation(uint16 index); void RemoteSubsidyAdd(Subsidy *s_new); int32 GetTransportedGoodsIncome(uint num_pieces, uint dist, byte transit_days, byte cargo_type); @@ -67,7 +67,7 @@ struct Town { byte road_build_months; // Index in town array - byte index; + uint16 index; // NOSAVE: UpdateTownRadius updates this given the house count. uint16 radius[5]; |