about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2023-08-23 18:33:09 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2023-08-23 18:33:09 -0400
commit58ea40015ddfdbce984f109fe32f291afd0408bd (patch)
tree3e61b0ee39c18fc5889949ef90901dc4f0694e8f
parent776b5bd01dd677b24802a86090277dc99d037c9c (diff)
downloadlingo-ap-tracker-58ea40015ddfdbce984f109fe32f291afd0408bd.tar.gz
lingo-ap-tracker-58ea40015ddfdbce984f109fe32f291afd0408bd.tar.bz2
lingo-ap-tracker-58ea40015ddfdbce984f109fe32f291afd0408bd.zip
Keep flood boundary even when on doors mode
Certain complex topologies (such as The Steady) require keeping the transitions around for longer.
-rw-r--r--src/tracker_state.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/tracker_state.cpp b/src/tracker_state.cpp index b0e7ccc..557e551 100644 --- a/src/tracker_state.cpp +++ b/src/tracker_state.cpp
@@ -4,9 +4,11 @@
4#include <map> 4#include <map>
5#include <set> 5#include <set>
6#include <tuple> 6#include <tuple>
7#include <sstream>
7 8
8#include "ap_state.h" 9#include "ap_state.h"
9#include "game_data.h" 10#include "game_data.h"
11#include "logger.h"
10 12
11namespace { 13namespace {
12 14
@@ -151,7 +153,7 @@ void RecalculateReachability() {
151 if (room_exit.door.has_value()) { 153 if (room_exit.door.has_value()) {
152 if (IsDoorReachable_Helper(*room_exit.door, reachable_rooms)) { 154 if (IsDoorReachable_Helper(*room_exit.door, reachable_rooms)) {
153 valid_transition = true; 155 valid_transition = true;
154 } else if (AP_GetDoorShuffleMode() == kNO_DOORS) { 156 } else {
155 new_boundary.push_back(room_exit); 157 new_boundary.push_back(room_exit);
156 } 158 }
157 } else { 159 } else {
span> strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] include: - os: windows-latest triplet: x64-windows - os: ubuntu-latest triplet: x64-linux - os: macos-latest triplet: x64-osx env: # Indicates the location of the vcpkg as a Git submodule of the project repository. VCPKG_ROOT: ${{ github.workspace }}/vendor/vcpkg # Tells vcpkg where binary packages are stored. VCPKG_DEFAULT_BINARY_CACHE: ${{ github.workspace }}/vendor/vcpkg/bincache # Let's use GitHub Action cache as storage for the vcpkg Binary Caching feature. VCPKG_BINARY_SOURCES: 'clear;x-gha,readwrite' steps: # Set env vars needed for vcpkg to leverage the GitHub Action cache as a storage # for Binary Caching. - uses: actions/github-script@v6 with: script: | core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); - uses: actions/checkout@v3 with: submodules: true - name: "Create directory '${{ env.VCPKG_DEFAULT_BINARY_CACHE }}'" run: mkdir -p $VCPKG_DEFAULT_BINARY_CACHE shell: bash # Setup the build machine with the most recent versions of CMake and Ninja. Both are cached if not already: on subsequent runs both will be quickly restored from GitHub cache service. - uses: lukka/get-cmake@latest # Restore vcpkg from the GitHub Action cache service. Note that packages are restored by vcpkg's binary caching # when it is being run afterwards by CMake. - name: Restore vcpkg uses: actions/cache@v3 with: # The first path is the location of vcpkg: it contains the vcpkg executable and data files, as long as the # built package archives (aka binary cache) which are located by VCPKG_DEFAULT_BINARY_CACHE env var. # The other paths starting with '!' are exclusions: they contain termporary files generated during the build of the installed packages. path: | ${{ env.VCPKG_ROOT }} !${{ env.VCPKG_ROOT }}/buildtrees !${{ env.VCPKG_ROOT }}/packages !${{ env.VCPKG_ROOT }}/downloads !${{ env.VCPKG_ROOT }}/installed # The key is composed in a way that it gets properly invalidated whenever a different version of vcpkg is being used. key: | ${{ hashFiles( '.git/modules/vcpkg/HEAD' )}} # On Windows runners, let's ensure to have the Developer Command Prompt environment setup correctly. # As used here the Developer Command Prompt created is targeting x64 and using the default the Windows SDK. - uses: ilammy/msvc-dev-cmd@v1 # Run CMake to generate Ninja project files, using the vcpkg's toolchain file to resolve and install # the dependencies as specified in vcpkg.json. Note that the vcpkg's toolchain is specified # in the CMakePresets.json file. # This step also runs vcpkg with Binary Caching leveraging GitHub Action cache to # store the built packages artifacts. - name: Restore from cache the dependencies and generate project files run: | cmake --preset lingo-ap-tracker-preset # Build (Release configuration only) the whole project with Ninja (which is spawn by CMake). - name: Build (Release configuration) run: | cmake --build --preset lingo-ap-tracker-preset --config Release