diff --git a/Makefile b/Makefile index 9db5d04579f..ec42d513499 100644 --- a/Makefile +++ b/Makefile @@ -180,16 +180,6 @@ $(DOL_SHIFT): $(ELF_SHIFT) | tools $(ELF2DOL) $< $@ $(SDATA_PDHR) $(SBSS_PDHR) $(TARGET_COL) @cp -v $(DOL_SHIFT) $(DOL) -setup: - @if [ ! -d tools/mwcc_compiler/ ]; then \ - mkdir tools/mwcc_compiler/ ; \ - wget https://cdn.discordapp.com/attachments/727918646525165659/917185027656286218/GC_WII_COMPILERS.zip -P tools/mwcc_compiler/ ; \ - unzip tools/mwcc_compiler/GC_WII_COMPILERS.zip "GC/*" -d tools/mwcc_compiler/ ; \ - mv tools/mwcc_compiler/GC/* tools/mwcc_compiler/ ; \ - rm tools/mwcc_compiler/GC_WII_COMPILERS.zip ; \ - rmdir tools/mwcc_compiler/GC ; \ - fi - shift: dirs $(DOL_SHIFT) game: shift diff --git a/README.md b/README.md index 7188e07c902..cea9ab8b7ff 100644 --- a/README.md +++ b/README.md @@ -22,15 +22,9 @@ Project Setup git clone https://github.com/zeldaret/tp ``` -2. Setup the compiler +2. Place a copy of NTSC-U GCN Twilight Princess in the root directory and call it `gz2e01.iso` (find this on your own) -```bash -make setup -``` - -3. Place a copy of NTSC-U GCN Twilight Princess in the root directory and call it `gz2e01.iso` (find this on your own) - -4. Setup the project +3. Then run the setup script ```bash ./tp setup diff --git a/tools/tp.py b/tools/tp.py index 35ca7bb12a1..19c0869937d 100644 --- a/tools/tp.py +++ b/tools/tp.py @@ -28,6 +28,9 @@ try: import libarc import io import extract_game_assets + import requests + import zipfile + import shutil from rich.logging import RichHandler from rich.console import Console @@ -145,19 +148,29 @@ def setup(debug: bool, game_path: Path, tools_path: Path): sys.exit(1) # - text = Text("--- Patching compiler") + text = Text("--- Fetching compiler") text.stylize("bold magenta") CONSOLE.print(text) compilers = tools_path.joinpath("mwcc_compiler") if not compilers.exists() or not compilers.is_dir(): - LOG.error( - ( - f"Unable to find MWCC compilers: missing directory '{compilers}'\n" - f"Check the README for instructions on how to obtain the compilers" - ) - ) - sys.exit(1) + os.mkdir(compilers) + r = requests.get('https://cdn.discordapp.com/attachments/727918646525165659/917185027656286218/GC_WII_COMPILERS.zip') + z = zipfile.ZipFile(io.BytesIO(r.content)) + z.extractall(compilers) + gc_path = compilers.joinpath("GC") + + allfiles = os.listdir(gc_path) + for f in allfiles: + src_path = os.path.join(gc_path, f) + dst_path = os.path.join(compilers, f) + shutil.move(src_path, dst_path) + os.rmdir(gc_path) + + # + text = Text("--- Patching compiler") + text.stylize("bold magenta") + CONSOLE.print(text) c27 = compilers.joinpath("2.7") if not c27.exists() or not c27.is_dir():