diff options
Diffstat (limited to 'src/game_data.cpp')
-rw-r--r-- | src/game_data.cpp | 59 |
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. |