From e47dd91c8b133e548aa8f19e26c78818eaa433c5 Mon Sep 17 00:00:00 2001 From: peter1138 Date: Fri, 15 Sep 2006 12:27:00 +0000 Subject: (svn r6455) - Feature: Add 2cc (two company colours) livery schemes. This replaces the original colour selection window and bumps the saveload version. Liveries are supported for all vehicles, not just those with 2cc support. Thanks to lakie for GUI inspiration. --- players.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'players.c') diff --git a/players.c b/players.c index 9e7aa8515..308eb71bd 100644 --- a/players.c +++ b/players.c @@ -481,6 +481,17 @@ static Player *AllocatePlayer(void) return NULL; } +void ResetPlayerLivery(Player *p) +{ + LiveryScheme scheme; + + for (scheme = 0; scheme < LS_END; scheme++) { + p->livery[scheme].in_use = false; + p->livery[scheme].colour1 = p->player_color; + p->livery[scheme].colour2 = p->player_color; + } +} + Player *DoStartupNewPlayer(bool is_ai) { Player *p; @@ -490,6 +501,7 @@ Player *DoStartupNewPlayer(bool is_ai) // Make a color p->player_color = GeneratePlayerColor(); + ResetPlayerLivery(p); _player_colors[p->index] = p->player_color; p->name_1 = STR_SV_UNNAMED; p->is_active = true; @@ -1253,6 +1265,13 @@ static const SaveLoad _player_ai_build_rec_desc[] = { SLE_END() }; +static const SaveLoad _player_livery_desc[] = { + SLE_CONDVAR(Livery, in_use, SLE_BOOL, 34, SL_MAX_VERSION), + SLE_CONDVAR(Livery, colour1, SLE_UINT8, 34, SL_MAX_VERSION), + SLE_CONDVAR(Livery, colour2, SLE_UINT8, 34, SL_MAX_VERSION), + SLE_END() +}; + static void SaveLoad_PLYR(Player* p) { int i; @@ -1274,6 +1293,11 @@ static void SaveLoad_PLYR(Player* p) for (i = 0; i < p->num_valid_stat_ent; i++) { SlObject(&p->old_economy[i], _player_economy_desc); } + + // Write each livery entry. + for (i = 0; i < LS_END; i++) { + SlObject(&p->livery[i], _player_livery_desc); + } } static void Save_PLYR(void) -- cgit v1.2.3-54-g00ecf