# =============================================================================
# P3P3DS .gitignore
# =============================================================================

# Maintainer local preferences and private workspace files
.claude/LOCAL.md
.claude/local/
local/
private/

# Per-developer environment loaders (direnv: create .envrc with "use nix" for shell.nix)
.envrc
.direnv/

# Workspace containment directories
.tmp/
.cache/

# Game images, ROMs, dumps, and copyrighted assets
*.iso
*.cso
*.pbp
*.elf
*.prx
*.pkg
*.3dsx
*.cia
*.smdh
**/EBOOT.BIN
**/BOOT.BIN
**/DATA.BIN
**/UMD_DATA.BIN
roms/
**/game/
**/dumps/
**/decrypted/
**/extracted/
**/unpacked/

# Generated recompilation outputs
generated/
profiles/*/generated/
profiles/*/analysis/
profiles/*/progress/
**/test_generated.cpp
experiments/p3p-analysis/p3p_report_functions_auto.csv
experiments/p3p-analysis/p3p_report_function_seeds.csv

# Build artifacts. Generated AOT C++ (build/generated/) is derived from the
# proprietary EBOOT and rebuilt by CMake; it must never be tracked.
build/
out/
bin/
obj/
[Dd]ebug/
[Rr]elease/
x64/
x86/
CMakeFiles/
CMakeCache.txt
cmake_install.cmake
build.ninja
.ninja_deps
.ninja_log
*.o
*.obj

# Logs and profiling traces
*.log
logs/
experiments/**/build/
experiments/**/out/
experiments/**/logs/

# Python caches
__pycache__/
*.py[cod]
*$py.class

# Xenia build scripts (upstream, not part of P3P3DS)
references/static-recomp/xenia/tools/build/

# IDE and OS files
.vscode/
.idea/
*.suo
*.user
*.userosv
*.sln.docstates
Thumbs.db
.DS_Store
tools/CriPakTools/Build/CriPakTools.exe

# Jpcsp research snapshot: do not commit bundled runtime binaries or firmware-like assets.
references/jpcsp/lib/
references/jpcsp/plugins/
references/jpcsp/flash0/
references/jpcsp/testresources/
references/azahar/externals/open_source_archives/include/
references/azahar/src/android/gradle/wrapper/gradle-wrapper.jar

# Input routes that need a maintainer save (game data): local only
profiles/p3p/input/local/

# Upstream reference sources (other projects): fetched with tools/fetch_references.py,
# not redistributed here. See docs/REPOSITORIES.md and README "Upstream References & Credits".
/references/
/psp/
/3ds/
# p3p/p3p-patches stays tracked: the build reads its ULUS10512.ini (CWCheat patches)
/p3p/Persona-3-Portable-Mod-Menu/
# Other recompilers and asset tools (research; tools/fetch_references.py).
# recomp/PSPRecomp and the scripts in tools/ are P3P3DS build inputs and stay.
/recomp/*
!/recomp/PSPRecomp/
/tools/*/
# P3P3DS's own tool directories.
!/tools/texpack/
!/tools/bindiff/

# Optional Zig host tools (including accidental default build locations).
.zig-cache/
zig-out/
