diff options
Diffstat (limited to 'src/game_data.cpp')
-rw-r--r-- | src/game_data.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/game_data.cpp b/src/game_data.cpp index 482818b..f21bc3d 100644 --- a/src/game_data.cpp +++ b/src/game_data.cpp | |||
@@ -343,7 +343,8 @@ struct GameData { | |||
343 | {.name = panel.name, | 343 | {.name = panel.name, |
344 | .ap_location_name = room_name + " - " + panel.name, | 344 | .ap_location_name = room_name + " - " + panel.name, |
345 | .room = panel.room, | 345 | .room = panel.room, |
346 | .panels = {panel.id}}); | 346 | .panels = {panel.id}, |
347 | .exclude_reduce = panel.exclude_reduce}); | ||
347 | } | 348 | } |
348 | } | 349 | } |
349 | 350 | ||
@@ -372,7 +373,21 @@ struct GameData { | |||
372 | map_area.locations.push_back({.name = section_name, | 373 | map_area.locations.push_back({.name = section_name, |
373 | .ap_location_name = door.location_name, | 374 | .ap_location_name = door.location_name, |
374 | .room = door.room, | 375 | .room = door.room, |
375 | .panels = door.panels}); | 376 | .panels = door.panels, |
377 | .exclude_reduce = door.exclude_reduce}); | ||
378 | } | ||
379 | } | ||
380 | |||
381 | for (MapArea &map_area : map_areas_) { | ||
382 | bool all_exclude_reduce = true; | ||
383 | for (const Location &location : map_area.locations) { | ||
384 | if (!location.exclude_reduce) { | ||
385 | all_exclude_reduce = false; | ||
386 | break; | ||
387 | } | ||
388 | } | ||
389 | if (all_exclude_reduce) { | ||
390 | map_area.exclude_reduce = true; | ||
376 | } | 391 | } |
377 | } | 392 | } |
378 | 393 | ||