# Build output, at every level (each title's build/, Mini Golf's build-* variants,
# the oracle emulators' cargo target/).
build/
build-*/
target/
__pycache__/
# What common/tools/release.sh lays out to upload, and what it downloads to build it with;
# every byte of both is rebuildable.
release/
.release-cache/

# Anything derived from the original game binaries stays out of the repo.
# A fresh clone regenerates all of it from the owner's own copy of each game:
#   gen/               tools/funcs.py + tools/emit.py   (machine-translated code)
#   tests/expected/    tests/record.sh                  (oracle call logs)
#   analysis/coverage/ probe recordings                 (gameplay screenshots)
#   analysis/ghidra/, objdump.txt                       (disassembly / decompilation)
gen/
**/tests/expected/
objdump.txt

# Same, but keeping the hand-written files that live alongside the derived ones.
**/analysis/coverage/**
!**/analysis/coverage/cov.py
!**/analysis/coverage/session-notes.md
**/analysis/ghidra/**
!**/analysis/ghidra/mg-ordinals.json
**/reference/research/

# Internal planning docs, kept out of the public repo.
**/PLAN.md
NEW-RECOMP.md

# The games themselves, wherever a copy lands.
#
# `*.bin` and `*.eapp` name the executable, and the executable is the smallest part of a game:
# the rest is courses, artwork, sound and music, under names like `c00` and `a0.m4a` that no
# pattern here could pick out without also matching something of the project's own. So the two
# folders a copy arrives in are named outright, as they are spelled by the preservation project
# that people get them from, along with iTunes' own package for a single title.
*.bin
*.eapp
*.ipg

# Original game artwork, packaged into the Switch and Android ports by the person building it.
Mini Golf/src/platform/switch/icon.jpg
Mini Golf/android/icon.png
Mini Golf/android/icon-foreground.png
Mini Golf/android/icon-background.png

# Save files written by play sessions.
*.sav
*.sav[0-9]

.DS_Store
