A few more scenario read tests

- Introduce enum for scenario content rating
This commit is contained in:
2015-07-07 18:58:35 -04:00
parent 2218513aa5
commit 137a3aa5d4
25 changed files with 208 additions and 34 deletions

View File

@@ -631,3 +631,18 @@ std::istream& operator>> (std::istream& in, eAttitude& att) {
in.setstate(std::ios::failbit);
return in;
}
// MARK: eContentRating
cEnumLookup rating_strs = {"G", "PG", "R", "NC-17"};
std::ostream& operator<< (std::ostream& out, eContentRating rating) {
writeEnum(out, rating, rating_strs, "docile");
return out;
}
std::istream& operator>> (std::istream& in, eContentRating& rating) {
if(!readEnum(in, rating, rating_strs, eContentRating::G))
in.setstate(std::ios::failbit);
return in;
}

View File

@@ -69,7 +69,7 @@ cScenario::cScenario() {
where_start.x = 24;
where_start.y = 24;
out_start = where_start;
rating = 0;
rating = eContentRating::G;
difficulty = 0;
intro_pic = intro_mess_pic = 0;
adjust_diff = true;
@@ -133,7 +133,7 @@ void cScenario::append(legacy::scenario_data_type& old){
special_items[i].flags = old.special_items[i];
special_items[i].special = old.special_item_special[i];
}
rating = old.rating;
rating = eContentRating(old.rating);
// TODO: Is this used anywhere?
uses_custom_graphics = old.uses_custom_graphics;
for(i = 0; i < 30; i++) {

View File

@@ -72,7 +72,8 @@ public:
std::vector<cSpecItem> special_items;
std::vector<cQuest> quests;
std::vector<cShop> shops;
short rating,uses_custom_graphics;
short uses_custom_graphics;
eContentRating rating;
std::vector<ePicType> custom_graphics;
std::vector<cMonster> scen_monsters;
std::array<cVehicle,30> boats;
@@ -122,4 +123,7 @@ public:
~cScenario();
};
std::istream& operator>> (std::istream& in, eContentRating& rating);
std::ostream& operator<< (std::ostream& out, eContentRating rating);
#endif

View File

@@ -38,6 +38,8 @@ inline eDirection& operator++ (eDirection& me, int) {
else return me = (eDirection)(1 + (int)me);
}
enum eContentRating {G, PG, R, NC17};
enum class eQuestStatus {AVAILABLE, STARTED, COMPLETED, FAILED};
enum class eMainStatus {