rubidium@8254: /* $Id$ */ rubidium@8254: rubidium@10207: /** @file company_func.h Functions related to companies. */ rubidium@8254: rubidium@10207: #ifndef COMPANY_FUNC_H rubidium@10207: #define COMPANY_FUNC_H rubidium@8254: rubidium@8254: #include "core/math_func.hpp" rubidium@10208: #include "company_type.h" rubidium@8254: #include "tile_type.h" rubidium@8264: #include "strings_type.h" rubidium@8254: rubidium@10207: void ChangeOwnershipOfCompanyItems(Owner old_owner, Owner new_owner); rubidium@8254: void GetNameOfOwner(Owner owner, TileIndex tile); rubidium@10207: void SetLocalCompany(CompanyID new_company); rubidium@8254: rubidium@10207: extern CompanyByte _local_company; rubidium@10207: extern CompanyByte _current_company; rubidium@8254: rubidium@10207: extern byte _company_colours[MAX_COMPANIES]; ///< NOSAVE: can be determined from company structs rubidium@10207: extern CompanyManagerFace _company_manager_face; ///< for company manager face storage in openttd.cfg rubidium@8254: rubidium@10207: bool IsHumanCompany(CompanyID company); rubidium@10207: rubidium@10207: static inline bool IsLocalCompany() rubidium@8254: { rubidium@10207: return _local_company == _current_company; rubidium@8254: } rubidium@8254: rubidium@10207: static inline bool IsInteractiveCompany(CompanyID company) rubidium@8254: { rubidium@10207: return company == _local_company; rubidium@8254: } rubidium@8254: rubidium@8254: rubidium@8254: rubidium@8254: struct HighScore { rubidium@8254: char company[100]; rubidium@10207: StringID title; ///< NOSAVE, has troubles with changing string-numbers. rubidium@8254: uint16 score; ///< do NOT change type, will break hs.dat rubidium@8254: }; rubidium@8254: rubidium@8254: extern HighScore _highscore_table[5][5]; // 4 difficulty-settings (+ network); top 5 rubidium@8254: void SaveToHighScore(); rubidium@8254: void LoadFromHighScore(); smatz@10225: int8 SaveHighScoreValue(const Company *c); rubidium@8254: int8 SaveHighScoreValueNetwork(); rubidium@8254: rubidium@10207: #endif /* COMPANY_FUNC_H */