about summary refs log tree commit diff stats
path: root/src/game_data.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game_data.cpp')
-rw-r--r--src/game_data.cpp59
1 files changed, 21 insertions, 38 deletions
diff --git a/src/game_data.cpp b/src/game_data.cpp index 74f872c..7bc3134 100644 --- a/src/game_data.cpp +++ b/src/game_data.cpp
@@ -31,9 +31,7 @@ LingoColor GetColorForString(const std::string &str) {
31 } else if (str == "purple") { 31 } else if (str == "purple") {
32 return LingoColor::kPurple; 32 return LingoColor::kPurple;
33 } else { 33 } else {
34 std::ostringstream errmsg; 34 wxLogError("Invalid color: %s", str);
35 errmsg << "Invalid color: " << str;
36 TrackerLog(errmsg.str());
37 35
38 return LingoColor::kNone; 36 return LingoColor::kNone;
39 } 37 }
@@ -83,9 +81,7 @@ struct GameData {
83 ap_id_by_color_[GetColorForString(input_name)] = 81 ap_id_by_color_[GetColorForString(input_name)] =
84 ids_config["special_items"][color_name].as<int>(); 82 ids_config["special_items"][color_name].as<int>();
85 } else { 83 } else {
86 std::ostringstream errmsg; 84 wxLogError("Missing AP item ID for color %s", color_name);
87 errmsg << "Missing AP item ID for color " << color_name;
88 TrackerLog(errmsg.str());
89 } 85 }
90 }; 86 };
91 87
@@ -160,8 +156,9 @@ struct GameData {
160 } 156 }
161 default: { 157 default: {
162 // This shouldn't happen. 158 // This shouldn't happen.
163 std::cout << "Error reading game data: " << entrance_it 159 std::ostringstream formatted;
164 << std::endl; 160 formatted << entrance_it;
161 wxLogError("Error reading game data: %s", formatted.str());
165 break; 162 break;
166 } 163 }
167 } 164 }
@@ -281,10 +278,8 @@ struct GameData {
281 [panels_[panel_id].name] 278 [panels_[panel_id].name]
282 .as<int>(); 279 .as<int>();
283 } else { 280 } else {
284 std::ostringstream errmsg; 281 wxLogError("Missing AP location ID for panel %s - %s",
285 errmsg << "Missing AP location ID for panel " 282 rooms_[room_id].name, panels_[panel_id].name);
286 << rooms_[room_id].name << " - " << panels_[panel_id].name;
287 TrackerLog(errmsg.str());
288 } 283 }
289 } 284 }
290 } 285 }
@@ -347,10 +342,8 @@ struct GameData {
347 [doors_[door_id].name]["item"] 342 [doors_[door_id].name]["item"]
348 .as<int>(); 343 .as<int>();
349 } else { 344 } else {
350 std::ostringstream errmsg; 345 wxLogError("Missing AP item ID for door %s - %s",
351 errmsg << "Missing AP item ID for door " << rooms_[room_id].name 346 rooms_[room_id].name, doors_[door_id].name);
352 << " - " << doors_[door_id].name;
353 TrackerLog(errmsg.str());
354 } 347 }
355 } 348 }
356 349
@@ -364,10 +357,8 @@ struct GameData {
364 ids_config["door_groups"][doors_[door_id].group_name] 357 ids_config["door_groups"][doors_[door_id].group_name]
365 .as<int>(); 358 .as<int>();
366 } else { 359 } else {
367 std::ostringstream errmsg; 360 wxLogError("Missing AP item ID for door group %s",
368 errmsg << "Missing AP item ID for door group " 361 doors_[door_id].group_name);
369 << doors_[door_id].group_name;
370 TrackerLog(errmsg.str());
371 } 362 }
372 } 363 }
373 364
@@ -377,13 +368,11 @@ struct GameData {
377 } else if (!door_it.second["skip_location"] && 368 } else if (!door_it.second["skip_location"] &&
378 !door_it.second["event"]) { 369 !door_it.second["event"]) {
379 if (has_external_panels) { 370 if (has_external_panels) {
380 std::ostringstream errmsg; 371 wxLogError(
381 errmsg 372 "%s - %s has panels from other rooms but does not have an "
382 << rooms_[room_id].name << " - " << doors_[door_id].name 373 "explicit location name and is not marked skip_location or "
383 << " has panels from other rooms but does not have an " 374 "event",
384 "explicit " 375 rooms_[room_id].name, doors_[door_id].name);
385 "location name and is not marked skip_location or event";
386 TrackerLog(errmsg.str());
387 } 376 }
388 377
389 doors_[door_id].location_name = 378 doors_[door_id].location_name =
@@ -403,10 +392,8 @@ struct GameData {
403 [doors_[door_id].name]["location"] 392 [doors_[door_id].name]["location"]
404 .as<int>(); 393 .as<int>();
405 } else { 394 } else {
406 std::ostringstream errmsg; 395 wxLogError("Missing AP location ID for door %s - %s",
407 errmsg << "Missing AP location ID for door " 396 rooms_[room_id].name, doors_[door_id].name);
408 << rooms_[room_id].name << " - " << doors_[door_id].name;
409 TrackerLog(errmsg.str());
410 } 397 }
411 } 398 }
412 399
@@ -472,10 +459,8 @@ struct GameData {
472 progressive_item_id = 459 progressive_item_id =
473 ids_config["progression"][progressive_item_name].as<int>(); 460 ids_config["progression"][progressive_item_name].as<int>();
474 } else { 461 } else {
475 std::ostringstream errmsg; 462 wxLogError("Missing AP item ID for progressive item %s",
476 errmsg << "Missing AP item ID for progressive item " 463 progressive_item_name);
477 << progressive_item_name;
478 TrackerLog(errmsg.str());
479 } 464 }
480 465
481 int index = 1; 466 int index = 1;
@@ -606,9 +591,7 @@ struct GameData {
606 591
607 // Report errors. 592 // Report errors.
608 for (const std::string &area : malconfigured_areas_) { 593 for (const std::string &area : malconfigured_areas_) {
609 std::ostringstream errstr; 594 wxLogError("Area data not found for: %s", area);
610 errstr << "Area data not found for: " << area;
611 TrackerLog(errstr.str());
612 } 595 }
613 596
614 // Read in subway items. 597 // Read in subway items.