mirror of https://github.com/OpenTTD/OpenTTD
Change: Increase company CC storage to 32 bits to allow for custom colours.
parent
6b330da74e
commit
504a26a60a
|
@ -15,7 +15,7 @@
|
||||||
#include "livery.h"
|
#include "livery.h"
|
||||||
|
|
||||||
enum ClientID : uint32_t;
|
enum ClientID : uint32_t;
|
||||||
enum Colours : uint8_t;
|
enum Colours : uint32_t;
|
||||||
|
|
||||||
CommandCost CmdCompanyCtrl(DoCommandFlags flags, CompanyCtrlAction cca, CompanyID company_id, CompanyRemoveReason reason, ClientID client_id);
|
CommandCost CmdCompanyCtrl(DoCommandFlags flags, CompanyCtrlAction cca, CompanyID company_id, CompanyRemoveReason reason, ClientID client_id);
|
||||||
CommandCost CmdCompanyAllowListCtrl(DoCommandFlags flags, CompanyAllowListCtrlAction action, const std::string &public_key);
|
CommandCost CmdCompanyAllowListCtrl(DoCommandFlags flags, CompanyAllowListCtrlAction action, const std::string &public_key);
|
||||||
|
|
|
@ -592,7 +592,7 @@ template <SpriteID TSprite = SPR_SQUARE>
|
||||||
class DropDownListColourItem : public DropDownIcon<DropDownString<DropDownListItem>> {
|
class DropDownListColourItem : public DropDownIcon<DropDownString<DropDownListItem>> {
|
||||||
public:
|
public:
|
||||||
DropDownListColourItem(int colour, bool masked) :
|
DropDownListColourItem(int colour, bool masked) :
|
||||||
DropDownIcon<DropDownString<DropDownListItem>>(TSprite, GetColourPalette(static_cast<Colours>(colour % COLOUR_END)), GetString(colour < COLOUR_END ? (STR_COLOUR_DARK_BLUE + colour) : STR_COLOUR_DEFAULT), colour, masked)
|
DropDownIcon<DropDownString<DropDownListItem>>(TSprite, GetColourPalette(static_cast<Colours>(colour % COLOUR_END)), GetString((Colours)colour < COLOUR_END ? (STR_COLOUR_DARK_BLUE + colour) : STR_COLOUR_DEFAULT), colour, masked)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -280,7 +280,7 @@ struct SubSprite {
|
||||||
int left, top, right, bottom;
|
int left, top, right, bottom;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum Colours : uint8_t {
|
enum Colours : uint32_t {
|
||||||
COLOUR_BEGIN,
|
COLOUR_BEGIN,
|
||||||
COLOUR_DARK_BLUE = COLOUR_BEGIN,
|
COLOUR_DARK_BLUE = COLOUR_BEGIN,
|
||||||
COLOUR_PALE_GREEN,
|
COLOUR_PALE_GREEN,
|
||||||
|
@ -299,7 +299,7 @@ enum Colours : uint8_t {
|
||||||
COLOUR_GREY,
|
COLOUR_GREY,
|
||||||
COLOUR_WHITE,
|
COLOUR_WHITE,
|
||||||
COLOUR_END,
|
COLOUR_END,
|
||||||
INVALID_COLOUR = 0xFF,
|
INVALID_COLOUR = UINT32_MAX,
|
||||||
};
|
};
|
||||||
DECLARE_INCREMENT_DECREMENT_OPERATORS(Colours)
|
DECLARE_INCREMENT_DECREMENT_OPERATORS(Colours)
|
||||||
DECLARE_ENUM_AS_ADDABLE(Colours)
|
DECLARE_ENUM_AS_ADDABLE(Colours)
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
#include "vehiclelist.h"
|
#include "vehiclelist.h"
|
||||||
#include "vehiclelist_cmd.h"
|
#include "vehiclelist_cmd.h"
|
||||||
|
|
||||||
enum Colours : uint8_t;
|
enum Colours : uint32_t;
|
||||||
enum class GroupFlag : uint8_t;
|
enum class GroupFlag : uint8_t;
|
||||||
|
|
||||||
/** Action for \c CmdAlterGroup. */
|
/** Action for \c CmdAlterGroup. */
|
||||||
|
|
|
@ -410,9 +410,11 @@ public:
|
||||||
class SlCompanyLiveries : public DefaultSaveLoadHandler<SlCompanyLiveries, CompanyProperties> {
|
class SlCompanyLiveries : public DefaultSaveLoadHandler<SlCompanyLiveries, CompanyProperties> {
|
||||||
public:
|
public:
|
||||||
static inline const SaveLoad description[] = {
|
static inline const SaveLoad description[] = {
|
||||||
SLE_CONDVAR(Livery, in_use, SLE_UINT8, SLV_34, SL_MAX_VERSION),
|
SLE_CONDVAR(Livery, in_use, SLE_UINT8, SLV_34, SL_MAX_VERSION),
|
||||||
SLE_CONDVAR(Livery, colour1, SLE_UINT8, SLV_34, SL_MAX_VERSION),
|
SLE_CONDVAR(Livery, colour1, SLE_FILE_U8 | SLE_VAR_U32, SLV_34, SLV_CUSTOM_COMPANY_COLOURS),
|
||||||
SLE_CONDVAR(Livery, colour2, SLE_UINT8, SLV_34, SL_MAX_VERSION),
|
SLE_CONDVAR(Livery, colour2, SLE_FILE_U8 | SLE_VAR_U32, SLV_34, SLV_CUSTOM_COMPANY_COLOURS),
|
||||||
|
SLE_CONDVAR(Livery, colour1, SLE_UINT32, SLV_CUSTOM_COMPANY_COLOURS, SL_MAX_VERSION),
|
||||||
|
SLE_CONDVAR(Livery, colour2, SLE_UINT32, SLV_CUSTOM_COMPANY_COLOURS, SL_MAX_VERSION),
|
||||||
};
|
};
|
||||||
static inline const SaveLoadCompatTable compat_description = _company_liveries_compat;
|
static inline const SaveLoadCompatTable compat_description = _company_liveries_compat;
|
||||||
|
|
||||||
|
@ -511,7 +513,8 @@ static const SaveLoad _company_desc[] = {
|
||||||
SLE_CONDVAR(CompanyProperties, current_loan, SLE_INT64, SLV_65, SL_MAX_VERSION),
|
SLE_CONDVAR(CompanyProperties, current_loan, SLE_INT64, SLV_65, SL_MAX_VERSION),
|
||||||
SLE_CONDVAR(CompanyProperties, max_loan, SLE_INT64, SLV_MAX_LOAN_FOR_COMPANY, SL_MAX_VERSION),
|
SLE_CONDVAR(CompanyProperties, max_loan, SLE_INT64, SLV_MAX_LOAN_FOR_COMPANY, SL_MAX_VERSION),
|
||||||
|
|
||||||
SLE_VAR(CompanyProperties, colour, SLE_UINT8),
|
SLE_CONDVAR(CompanyProperties, colour, SLE_FILE_U8 | SLE_VAR_U32, SL_MIN_VERSION, SLV_CUSTOM_COMPANY_COLOURS),
|
||||||
|
SLE_CONDVAR(CompanyProperties, colour, SLE_UINT32, SLV_CUSTOM_COMPANY_COLOURS, SL_MAX_VERSION),
|
||||||
SLE_VAR(CompanyProperties, money_fraction, SLE_UINT8),
|
SLE_VAR(CompanyProperties, money_fraction, SLE_UINT8),
|
||||||
SLE_VAR(CompanyProperties, block_preview, SLE_UINT8),
|
SLE_VAR(CompanyProperties, block_preview, SLE_UINT8),
|
||||||
|
|
||||||
|
|
|
@ -23,8 +23,10 @@ static const SaveLoad _group_desc[] = {
|
||||||
SLE_VAR(Group, vehicle_type, SLE_UINT8),
|
SLE_VAR(Group, vehicle_type, SLE_UINT8),
|
||||||
SLE_VAR(Group, flags, SLE_UINT8),
|
SLE_VAR(Group, flags, SLE_UINT8),
|
||||||
SLE_CONDVAR(Group, livery.in_use, SLE_UINT8, SLV_GROUP_LIVERIES, SL_MAX_VERSION),
|
SLE_CONDVAR(Group, livery.in_use, SLE_UINT8, SLV_GROUP_LIVERIES, SL_MAX_VERSION),
|
||||||
SLE_CONDVAR(Group, livery.colour1, SLE_UINT8, SLV_GROUP_LIVERIES, SL_MAX_VERSION),
|
SLE_CONDVAR(Group, livery.colour1, SLE_FILE_U8 | SLE_VAR_U32, SLV_GROUP_LIVERIES, SLV_CUSTOM_COMPANY_COLOURS),
|
||||||
SLE_CONDVAR(Group, livery.colour2, SLE_UINT8, SLV_GROUP_LIVERIES, SL_MAX_VERSION),
|
SLE_CONDVAR(Group, livery.colour2, SLE_FILE_U8 | SLE_VAR_U32, SLV_GROUP_LIVERIES, SLV_CUSTOM_COMPANY_COLOURS),
|
||||||
|
SLE_CONDVAR(Group, livery.colour1, SLE_UINT32, SLV_CUSTOM_COMPANY_COLOURS, SL_MAX_VERSION),
|
||||||
|
SLE_CONDVAR(Group, livery.colour2, SLE_UINT32, SLV_CUSTOM_COMPANY_COLOURS, SL_MAX_VERSION),
|
||||||
SLE_CONDVAR(Group, parent, SLE_UINT16, SLV_189, SL_MAX_VERSION),
|
SLE_CONDVAR(Group, parent, SLE_UINT16, SLV_189, SL_MAX_VERSION),
|
||||||
SLE_CONDVAR(Group, number, SLE_UINT16, SLV_GROUP_NUMBERS, SL_MAX_VERSION),
|
SLE_CONDVAR(Group, number, SLE_UINT16, SLV_GROUP_NUMBERS, SL_MAX_VERSION),
|
||||||
};
|
};
|
||||||
|
|
|
@ -179,7 +179,8 @@ static const SaveLoad _industry_desc[] = {
|
||||||
|
|
||||||
SLE_VAR(Industry, type, SLE_UINT8),
|
SLE_VAR(Industry, type, SLE_UINT8),
|
||||||
SLE_VAR(Industry, owner, SLE_UINT8),
|
SLE_VAR(Industry, owner, SLE_UINT8),
|
||||||
SLE_VAR(Industry, random_colour, SLE_UINT8),
|
SLE_CONDVAR(Industry, random_colour, SLE_FILE_U8 | SLE_VAR_U32, SL_MIN_VERSION, SLV_CUSTOM_COMPANY_COLOURS),
|
||||||
|
SLE_CONDVAR(Industry, random_colour, SLE_UINT32, SLV_CUSTOM_COMPANY_COLOURS, SL_MAX_VERSION),
|
||||||
SLE_CONDVAR(Industry, last_prod_year, SLE_FILE_U8 | SLE_VAR_I32, SL_MIN_VERSION, SLV_31),
|
SLE_CONDVAR(Industry, last_prod_year, SLE_FILE_U8 | SLE_VAR_I32, SL_MIN_VERSION, SLV_31),
|
||||||
SLE_CONDVAR(Industry, last_prod_year, SLE_INT32, SLV_31, SL_MAX_VERSION),
|
SLE_CONDVAR(Industry, last_prod_year, SLE_INT32, SLV_31, SL_MAX_VERSION),
|
||||||
SLE_VAR(Industry, was_cargo_delivered, SLE_UINT8),
|
SLE_VAR(Industry, was_cargo_delivered, SLE_UINT8),
|
||||||
|
|
|
@ -406,6 +406,7 @@ enum SaveLoadVersion : uint16_t {
|
||||||
SLV_FACE_STYLES, ///< 355 PR#14319 Addition of face styles, replacing gender and ethnicity.
|
SLV_FACE_STYLES, ///< 355 PR#14319 Addition of face styles, replacing gender and ethnicity.
|
||||||
SLV_INDUSTRY_NUM_VALID_HISTORY, ///< 356 PR#14416 Store number of valid history records for industries.
|
SLV_INDUSTRY_NUM_VALID_HISTORY, ///< 356 PR#14416 Store number of valid history records for industries.
|
||||||
SLV_INDUSTRY_ACCEPTED_HISTORY, ///< 357 PR#14321 Add per-industry history of cargo delivered and waiting.
|
SLV_INDUSTRY_ACCEPTED_HISTORY, ///< 357 PR#14321 Add per-industry history of cargo delivered and waiting.
|
||||||
|
SLV_CUSTOM_COMPANY_COLOURS, ///< 358 PR#11634 Custom company colours.
|
||||||
|
|
||||||
SL_MAX_VERSION, ///< Highest possible saveload version
|
SL_MAX_VERSION, ///< Highest possible saveload version
|
||||||
};
|
};
|
||||||
|
|
|
@ -348,7 +348,7 @@ post_cb = InvalidateCompanyLiveryWindow
|
||||||
|
|
||||||
[SDTC_VAR]
|
[SDTC_VAR]
|
||||||
var = gui.starting_colour
|
var = gui.starting_colour
|
||||||
type = SLE_UINT8
|
type = SLE_UINT32
|
||||||
flags = SettingFlag::NotInSave, SettingFlag::NoNetworkSync, SettingFlag::GuiDropdown
|
flags = SettingFlag::NotInSave, SettingFlag::NoNetworkSync, SettingFlag::GuiDropdown
|
||||||
def = COLOUR_END
|
def = COLOUR_END
|
||||||
min = 0
|
min = 0
|
||||||
|
@ -359,7 +359,7 @@ strval = STR_COLOUR_DARK_BLUE
|
||||||
|
|
||||||
[SDTC_VAR]
|
[SDTC_VAR]
|
||||||
var = gui.starting_colour_secondary
|
var = gui.starting_colour_secondary
|
||||||
type = SLE_UINT8
|
type = SLE_UINT32
|
||||||
flags = SettingFlag::NotInSave, SettingFlag::NoNetworkSync, SettingFlag::GuiDropdown
|
flags = SettingFlag::NotInSave, SettingFlag::NoNetworkSync, SettingFlag::GuiDropdown
|
||||||
def = COLOUR_END
|
def = COLOUR_END
|
||||||
min = 0
|
min = 0
|
||||||
|
|
Loading…
Reference in New Issue