# Generated recompiler output — derived from a copyrighted ROM. Never commit.
/src/gen/
/recomp/funcs.h

# The ROM itself, in every form. Players supply their own.
*.sfc
*.smc
*.srm
*.sav
*.state
*.mss
*.cdl
lagoon-exploration.map
lagoon-exploration.map.tmp
lagoon-scenery.maps
lagoon-scenery.maps.tmp
*.bps
*.vgm
*.vgz
*.pcm
*.msu
*.wav
*.mp3
*.flac

# Build trees and packaged output
/build/
/build-*/
/dist/
/saves/

# Local probe output that names paths on one machine
/rom_probe.json

# Launcher/runtime state written beside the executable (and in the repo root
# when the game is run from there): the cached ROM path, keybinds, settings.
# All of it is one machine's, none of it is the project's.
/rom.cfg
/keybinds.ini
/config.ini
/input.ini

# Written by the host on every exit (post_mortem.c) and by the mod runtime, in
# whatever directory the game happened to be launched from. A file that every
# run overwrites is not project state, and committing it makes every run dirty.
/last_run_report.json
/crash_report_*.json
/crash_minidump_*.dmp
/mods/preloaded/state.toml

# Python bytecode from the tools/ scripts (tools/dis.py shadows stdlib `dis`,
# so these appear whenever a tool is imported rather than run with -P).
__pycache__/

.DS_Store

# Listening exports are distributed as release downloads, not source files.

# Private local qualification receipts are outside the public source surface.
/validation/

# Portable launcher UI checks compile locally; no managed binaries enter source.
/tests/launcher-portable-ui/bin/
/tests/launcher-portable-ui/obj/

# This local feed is rebuilt per developer; Windows release lock stays pinned.
/launcher/desktop/packages.lock.json
/framework.local

# Local native/.NET outputs belong in release assets, never the source tree.
**/bin/
**/obj/
*.exe
*.dll
*.pdb
*.nupkg
