# Build
build/
build-*/
cmake-build-*/
dist/
.vs/
.idea/
*.sln
*.vcxproj*
CMakeSettings.json
out/

# IDE
.vscode/
*.swp
*.swo
*~

# Agents
AGENTS.md
.claude/
.cache/

# Controller
BattleShip.cfg.json
CONTROLS.md

# ROM and assets (user-provided, never committed)
*.z64
*.n64
*.v64
*.otr
*.o2r
*.o2r.recipe
torch.hash.yml
tex_dump/
ssb64_save.bin

# yamls/us/reloc_*.yml are now COMMITTED. They're regenerated from
# tools/reloc_data_symbols.us.txt + ROM by tools/generate_yamls.py;
# regen and re-commit when reloc_data_symbols.us.txt changes (rare for
# a frozen v1.0). Same pattern as port/resource/RelocFileTable.cpp.
# Their content (file_id ↔ symbol ↔ ROM offset/size) is a strict
# subset of upstream ssb-decomp-re's smashbrothers.us.yaml splat
# config — standard decomp metadata, no ROM bytes.

# Decomp artifacts
asm/
*.d
*.ld
*.o
*.credits.encoded
*.credits.metadata
assets/*
!assets/icon.png
!assets/icon.ico
!assets/icon.icns
!assets/icon-jp.png
!assets/icon-jp.ico
!assets/icon-jp.icns
!assets/macos_dmg_banner.png
!assets/BattleShip.svg
!assets/readme-stats/
!assets/readme-stats/*.svg
!assets/custom/
!assets/custom/fonts/
!assets/custom/fonts/*
__pycache__
bin/
# Hi-res texture pack drops — port/hires/HiResPack scans CWD-relative
# `mods/` on Linux dev launches before falling back to <app-data>/mods/,
# so it's common to end up with a pack folder at the repo root during
# pack-authoring sessions. Always user-private content, never tracked.
# Root-anchored: an unanchored `mods/` also matched port/mods/ (the hook
# system source) and workspace/*/mods/, silently dropping new files there.
# Ignore the contents of mods/ (not the dir itself) so the one tracked
# subtree below can be re-included — git can't re-include a path whose
# parent directory is excluded outright.
/mods/*
# ...except the Vita release's bundled downscaled SSB Reloaded packs, which
# are shipped both in the GitHub release and in-repo here.
!/mods/texture_pack/
relocAssets/
undefined*
ctx.c
ctx.c.m2c
m2cfiles/
us_report.json

# Decomp tools (not needed for port)
tools/ido-recomp/
tools/vpk0cmd
tools/halAssetTool

# Autogenerated — but include/reloc_data.h is now COMMITTED so CI builds
# can run without the ROM. It contains only #defines mapping symbol
# names to small integer IDs; no ROM bytes. Same pattern as
# port/resource/RelocFileTable.cpp, which has been committed since
# inception.
symbols/reloc_data_symbols.*

# OS
.DS_Store
Thumbs.db
imgui.ini

# vcpkg (bootstrapped at build time)
_packages/
vcpkg_installed/

# Save data
*.sav
x64/

# Runtime logs and debug traces (port-side and LUS-side)
ssb64.log
logs/
debug_traces/

# Local extraction / scratch directories used during debugging
extract/
test.zip
