Initial commit.
This commit is contained in:
commit
bde9746c88
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
**/.venv/**
|
||||
**/__pycache__/**
|
||||
*.pyc
|
53
README.md
Normal file
53
README.md
Normal file
@ -0,0 +1,53 @@
|
||||
# Tunic Tracker Redux
|
||||
```
|
||||
_________ ___ ___ ________ ________
|
||||
|\___ ___\\ \|\ \|\ ___ \|\ ____\
|
||||
\|___ \ \_\ \ \\\ \ \ \\ \ \ \ \___|
|
||||
\ \ \ \ \ \\\ \ \ \\ \ \ \ \
|
||||
\ \ \ \ \ \\\ \ \ \\ \ \ \ \____
|
||||
\ \__\ \ \_______\ \__\\ \__\ \_______\
|
||||
\|__| \|_______|\|__| \|__|\|_______|
|
||||
_________ ________ ________ ________ ___ __ _______ ________
|
||||
|\___ ___\\ __ \|\ __ \|\ ____\|\ \|\ \ |\ ___ \ |\ __ \
|
||||
\|___ \ \_\ \ \|\ \ \ \|\ \ \ \___|\ \ \/ /|\ \ __/|\ \ \|\ \
|
||||
\ \ \ \ \ _ _\ \ __ \ \ \ \ \ ___ \ \ \_|/_\ \ _ _\
|
||||
\ \ \ \ \ \\ \\ \ \ \ \ \ \____\ \ \\ \ \ \ \_|\ \ \ \\ \|
|
||||
\ \__\ \ \__\\ _\\ \__\ \__\ \_______\ \__\\ \__\ \_______\ \__\\ _\
|
||||
\|__| \|__|\|__|\|__|\|__|\|_______|\|__| \|__|\|_______|\|__|\|__|
|
||||
________ _______ ________ ___ ___ ___ ___
|
||||
|\ __ \|\ ___ \ |\ ___ \|\ \|\ \ |\ \ / /|
|
||||
\ \ \|\ \ \ __/|\ \ \_|\ \ \ \\\ \ \ \ \/ / /
|
||||
\ \ _ _\ \ \_|/_\ \ \ \\ \ \ \\\ \ \ \ / /
|
||||
\ \ \\ \\ \ \_|\ \ \ \_\\ \ \ \\\ \ / \/
|
||||
\ \__\\ _\\ \_______\ \_______\ \_______\/ /\ \
|
||||
\|__|\|__|\|_______|\|_______|\|_______/__/ /\ __\
|
||||
|__|/ \|__|
|
||||
```
|
||||
|
||||
I think we can do better with Tunic tracking so I'm gonna make something and if it works out that's awesome but for now I just wanna make it.
|
||||
|
||||
## Requirements
|
||||
|
||||
You'll need `python` to use this for now, so make sure you have that installed.
|
||||
|
||||
## Setup
|
||||
|
||||
Install necessary modules with:
|
||||
|
||||
`pip install -r requirements.txt`
|
||||
|
||||
Consider making a venv for this.
|
||||
|
||||
`python -m venv "./.venv"`
|
||||
|
||||
## Usage
|
||||
|
||||
Make sure that the saved filepath in the script matches your filepath. It defaults to where *my* spoiler log is.
|
||||
|
||||
```
|
||||
def import_entrances(spoiler_log='/path/to/Spoiler.log'):
|
||||
```
|
||||
|
||||
Then run it with:
|
||||
|
||||
`python start.py`
|
0
requirements.txt
Normal file
0
requirements.txt
Normal file
54
spoiler_translations.toml
Normal file
54
spoiler_translations.toml
Normal file
@ -0,0 +1,54 @@
|
||||
[spoiler_log_entrances]
|
||||
"Overworld Redux" = "Overworld"
|
||||
"CubeRoom" = "Overworld (Cube Room)"
|
||||
"Sword Cave" = "Overworld (Stick Cave)"
|
||||
"EastFiligreeCache" = "Overworld (Fire Sword Cave)"
|
||||
"Overworld Cave" = "Overworld (Caustic Light Fairy Cave)"
|
||||
"Ruins Passage" = "Overworld (Ruins Passage)"
|
||||
"PatrolCave" = "Overworld (Patrol Fairy Cave)"
|
||||
"Waterfall" = "Overworld (Secret Gathering Place)"
|
||||
"Ruined Shop" = "Overworld (Ruined Shop)"
|
||||
"Town_FiligreeRoom" = "Overworld (Holy Cross Door Cave)"
|
||||
"Changing Room" = "Overworld (Changing Room)"
|
||||
"Town Basement" = "Overworld (Hourglass Room)"
|
||||
"Overworld Interiors" = "Overworld (Old House)"
|
||||
"Maze Room" = "Overworld (Maze Room)"
|
||||
"Furnace" = "Overworld (West Belltower)"
|
||||
"ShopSpecial" = "Overworld (Special Shop)"
|
||||
"Temple" = "Sealed Temple"
|
||||
"Transit" = "Far Shore"
|
||||
"Shop" = "Shop"
|
||||
"Trinket Well" = "Trinket Well"
|
||||
"Forest Belltower" = "East Forest (East Belltower)"
|
||||
"East Forest Redux" = "East Forest"
|
||||
"Sword Access" = "East Forest (Path to Hero's Grave)"
|
||||
"East Forest Redux Interior" = "East Forest (Guardhouse 2)"
|
||||
"East Forest Redux Laddercave" = "East Forest (Guardhouse 1)"
|
||||
"Sewer" = "Beneath the Well"
|
||||
"Sewer_Boss" = "Beneath the Well (Boss Room)"
|
||||
"Crypt Redux" = "Dark Tomb"
|
||||
"Archipelagos Redux" = "West Garden"
|
||||
"archipelagos_house" = "West Garden (Ice Dagger Cave)"
|
||||
"Atoll Redux" = "Ruined Atoll"
|
||||
"frog cave main" = "Frog's Domain"
|
||||
"Library Hall" = "Library (Hall)"
|
||||
"Library Lab" = "Library (Lab)"
|
||||
"Library Arena" = "Library (Librarian)"
|
||||
"Fortress Courtyard" = "Eastern Vault Fortress (Fortress Courtyard)"
|
||||
"Fortress Basement" = "Beneath the Eastern Vault"
|
||||
"Fortress Main" = "Eastern Vault Fortress"
|
||||
"Fortress East" = "Eastern Vault Fortress (Shortcut Path)"
|
||||
"Fortress Reliquary" = "Eastern Vault Fortress (Path to Hero's Grave)"
|
||||
"Dusty" = "Eastern Vault Fortress (Dusty)"
|
||||
"Fortress Arena" = "Siege Engine"
|
||||
"Mountain" = "Mountaintop"
|
||||
"Mountaintop" = "Mountaintop"
|
||||
"Quarry Redux" = "Quarry"
|
||||
"Monastery" = "Monastery"
|
||||
"ziggurat2020_1" = "Rooted Ziggurat Upper"
|
||||
"ziggurat2020_2" = "Rooted Ziggurat Tower"
|
||||
"ziggurat2020_3" = "Rooted Ziggurat Lower"
|
||||
"Swamp Redux 2" = "Swamp"
|
||||
"Cathedral Redux" = "Cathedral"
|
||||
"Cathedral Arena" = "Cathedral (Gauntlet)"
|
||||
"RelicVoid" = "Hero's Grave"
|
25
start.py
Executable file
25
start.py
Executable file
@ -0,0 +1,25 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import logging
|
||||
import re
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
entrances_map = ''
|
||||
|
||||
|
||||
def import_entrances(spoiler_log='/home/alice/Games/steam/steamapps/compatdata/553420/pfx/drive_c/users/steamuser/AppData/LocalLow/Andrew Shouldice/Secret Legend/Randomizer/Spoiler.log'):
|
||||
"""A function to import the entrance mappings from the user's spoiler log.
|
||||
|
||||
Args:
|
||||
spoiler_log (str, optional): The filepath of the spoiler log. Defaults to '/home/alice/Games/steam/steamapps/compatdata/553420/pfx/drive_c/users/steamuser/AppData/LocalLow/Andrew Shouldice/Secret Legend/Randomizer/Spoiler.log'.
|
||||
"""
|
||||
|
||||
try:
|
||||
with open(spoiler_log, 'r') as f:
|
||||
spoiler_text = f.read()
|
||||
entrances_map = re.findall('\s+- (.+) -- (.+)\n', spoiler_text)
|
||||
except:
|
||||
print(f'Could not find spoiler log from path: {spoiler_log}')
|
||||
|
||||
for l in entrances_map:
|
||||
print(f'{l[0]} <---> {l[1]}')
|
Loading…
Reference in New Issue
Block a user