diff --git a/src/Episode3/DataIndexes.cc b/src/Episode3/DataIndexes.cc index 5c6f4f6e..c1bd5db6 100644 --- a/src/Episode3/DataIndexes.cc +++ b/src/Episode3/DataIndexes.cc @@ -1200,14 +1200,14 @@ JSON Rules::json() const { {"allowed_cards", name_for_enum(this->allowed_cards)}, {"min_dice", this->min_dice}, {"max_dice", this->max_dice}, - {"disable_deck_shuffle", this->disable_deck_shuffle}, - {"disable_deck_loop", this->disable_deck_loop}, + {"disable_deck_shuffle", static_cast(this->disable_deck_shuffle)}, + {"disable_deck_loop", static_cast(this->disable_deck_loop)}, {"char_hp", this->char_hp}, {"hp_type", name_for_enum(this->hp_type)}, - {"no_assist_cards", this->no_assist_cards}, - {"disable_dialogue", this->disable_dialogue}, + {"no_assist_cards", static_cast(this->no_assist_cards)}, + {"disable_dialogue", static_cast(this->disable_dialogue)}, {"dice_exchange_mode", name_for_enum(this->dice_exchange_mode)}, - {"disable_dice_boost", this->disable_dice_boost}, + {"disable_dice_boost", static_cast(this->disable_dice_boost)}, }); } diff --git a/src/Episode3/Tournament.cc b/src/Episode3/Tournament.cc index 6e428aa0..07763d84 100644 --- a/src/Episode3/Tournament.cc +++ b/src/Episode3/Tournament.cc @@ -660,7 +660,12 @@ TournamentIndex::TournamentIndex( return; } - auto json = JSON::parse(load_file(this->state_filename)); + JSON json; + try { + json = JSON::parse(load_file(this->state_filename)); + } catch (const cannot_open_file&) { + json = JSON::list(); + } if (json.size() > 0x20) { throw runtime_error("tournament JSON list length is incorrect"); } diff --git a/src/ServerState.cc b/src/ServerState.cc index cd639e84..d7c75ae5 100644 --- a/src/ServerState.cc +++ b/src/ServerState.cc @@ -848,15 +848,9 @@ void ServerState::load_ep3_data() { this->ep3_com_deck_index.reset(new Episode3::COMDeckIndex("system/ep3/com-decks.json")); const string& tournament_state_filename = "system/ep3/tournament-state.json"; - try { - this->ep3_tournament_index.reset(new Episode3::TournamentIndex( - this->ep3_map_index, this->ep3_com_deck_index, tournament_state_filename)); - config_log.info("Loaded Episode 3 tournament state"); - } catch (const exception& e) { - config_log.warning("Cannot load Episode 3 tournament state: %s", e.what()); - this->ep3_tournament_index.reset(new Episode3::TournamentIndex( - this->ep3_map_index, this->ep3_com_deck_index, tournament_state_filename, true)); - } + this->ep3_tournament_index.reset(new Episode3::TournamentIndex( + this->ep3_map_index, this->ep3_com_deck_index, tournament_state_filename)); + config_log.info("Loaded Episode 3 tournament state"); config_log.info("Resolving Episode 3 card auction pool"); for (auto& e : this->ep3_card_auction_pool) {