# ==============================================================================
# Driveclub (PS4 PC Port / Reverse Engineering) - .gitignore
# ==============================================================================

# ------------------------------------------------------------------------------
# 1. PS4 Game Media, ROMs, Packages & Proprietary Assets (Copyright / DMCA)
# ------------------------------------------------------------------------------
# Disc & PKG dumps
/pkg/
/rom/
*.pkg
*.iso
*.img

# Extracted game filesystem and assets
/extracted/
/extracted*/
/dump/
/assets/
/Image0/
/Image0*/

# PS4 Executables and system binaries
eboot.bin
*.bin
*.elf
*.self
*.prx
*.sprx
param.sfo
*.sfo
keystone
playgo.manifest
playgo.xml
playgo.dat

# Game data containers & engine archives (Evolution Studios engine formats)
*.dat
*.chc
*.ndx
*.plt
*.trp
sce_module/
sce_sys/

# Graphics, audio & video assets
*.at9
*.vag
*.bik
*.mp4
*.pck
*.bank
*.dds
icon*.png
pic*.png

# Safeguard: Never ignore files inside source tree
!/src/**
!/src/hle/playgo/**

# ------------------------------------------------------------------------------
# 2. Reverse Engineering Databases & Tooling (Ghidra, IDA, Radare2)
# ------------------------------------------------------------------------------
/ghidra/
/ghidra_projects/
*.gpr
*.rep/
*.idb
*.i64
*.nam
*.til
*.id0
*.id1
*.id2
*.r2

# Disassembly, transpile & export logs
*.log
codegen-warnings.log

# ------------------------------------------------------------------------------
# 3. Transpiler / Recompiler & Code Generation
# ------------------------------------------------------------------------------
/generated/
/recomp/out/
/driveclub-recomp/generated/*
!/driveclub-recomp/generated/rexglue.cmake
/driveclub-recomp/out/

# ------------------------------------------------------------------------------
# 4. Standalone Tool Binaries & Configuration (Keys / Secrets)
# ------------------------------------------------------------------------------
tools/pkg_pfs_tool
tools/unself
tools/shadpkg
tools/unxmem
tools/*.exe
tools/*.dylib
tools/*.so
tools/*.a
tools/config.ini

# ------------------------------------------------------------------------------
# 5. Emulator Dumps, Caches & Submodules
# ------------------------------------------------------------------------------
/shadps4/
/third_party/
/emulator/

# Shader dumps and pipeline caches
/shaders/
/shader_cache/
*.spv
*.dxbc
*.metal
# Our own Metal shader sources are tracked
!/src/**/*.metal

# Emulator user data, saves, and dumps
/user/
/savedata/
/captures/
/screenshots/

# ------------------------------------------------------------------------------
# 6. Build & Compiler Artifacts (C/C++ / CMake / Clang / Ninja / Xcode)
# ------------------------------------------------------------------------------
/build/
/build-*/
/cmake-build-*/
/bin/
/out/
/dist/

# Ninja build artifacts
.ninja_deps
.ninja_log

# Compiled object files and libraries
*.o
*.obj
*.a
*.lib
*.so
*.so.*
*.dylib
*.dll
*.exe

# LSP & tooling cache
compile_commands.json
.cache/
/.cache/
.clangd/
CMakeUserPresets.json

# ------------------------------------------------------------------------------
# 7. Scripting & Environment
# ------------------------------------------------------------------------------
__pycache__/
*.py[cod]
*$py.class
.pytest_cache/
.mypy_cache/
.ruff_cache/
venv/
.venv/
env/
.env

# ------------------------------------------------------------------------------
# 8. OS & System Specific Files
# ------------------------------------------------------------------------------
# macOS
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes

# Windows
Thumbs.db
ehthumbs.db
Desktop.ini

# Local UI configs
imgui.ini
*.ini
!/src/**/*.ini

# ------------------------------------------------------------------------------
# 9. IDEs & Editors
# ------------------------------------------------------------------------------
# JetBrains / CLion
.idea/
*.iml

# Visual Studio Code
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json

# Xcode
*.xcodeproj/*
!*.xcodeproj/project.pbxproj
!*.xcodeproj/xcshareddata/
*.xcworkspace/*
!*.xcworkspace/contents.xcworkspacedata
xcuserdata/
DerivedData/
*.xcuserstate

# General editor backups
*.swp
*.swo
*~
\#*\#

# ------------------------------------------------------------------------------
# 10. Temporary & Crash Dumps
# ------------------------------------------------------------------------------
/tmp/
/temp/
*.tmp
*.bak
*.dmp
*.core

# ------------------------------------------------------------------------------
# 11. Private local notes and test captures (never pushed)
# ------------------------------------------------------------------------------
/private/
