# 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

# 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

.DS_Store
__pycache__/

# Diagnostic capture bundles (snes_frame_capture.py / snes_asset_decode.py).
# These embed VRAM/CGRAM dumps taken from a running game, i.e. data derived
# from the ROM — the same reason src/gen is never committed. Regenerate them
# locally; they are evidence, not source.
/analysis/
translations/reference_tiles/
translations/reference_tiles_2bpp/
translations/reference_tilemaps/
translations/reference_glyph_candidates/
translations/reference_vram_tiles/
translations/dialogue_previews/
translations/title_menu_previews/
analysis/oracle/scene.csv
snes-diag.log
snes-run.log
mesen.log

# Validation savestates: raw snes_saveload dumps, invalidated by any engine
# change to the SNES state layout. tools/validation_states/README.md (committed)
# documents each one and how to regenerate it.
tools/validation_states/*.state
tools/validation_states/stagehunt_log.json

# Captures written by scripts/validate_from_state.ps1.
/analysis/state_validation/
translations/dialogue_cjk_previews/
netplay_lan_lobby.txt

# Account sign-in credential, written beside the executable by
# recomp-net's rnet_auth.c (secret_path -> "netplay_secret"). It is the
# long-lived key that redeems a session without re-doing OAuth, so it is a
# credential, not a setting. It was untracked but NOT ignored, which is one
# `git add -A` away from being published in a public repo.
netplay_secret
