# Visual Studio / IDE droppings
.vs/
.vscode/
EternalSonataReprise.code-workspace

# Build output
/out/
*.pdb
*.ilk
*.exp
*.lib
*.exe

# rexglue migration backups
CMakeLists.txt.bak
src/main.cpp.bak

# Generated recomp sources
/generated/

# Runtime artifacts — binary, logs, and bundled shared libraries
/sdk/
/logs/
/eternalsonata
/eternalsonata.exe
/eternalsonata.pdb
/eternalsonata.toml
# The native renderer's shader pack, rebuilt from assets/default.xex by
# scripts/gen-guest-shaders.py (see src/guest_shaders.h)
guest_shaders.bin
guest_shaders_debug.bin
/*.so
/*.dll
/*.dylib
/*.rdc
/*.cap
# macOS Vulkan runtime, staged next to the exe by build.py from the SDK's build
/vulkan/
# scripts/package-mac.py output
/EternalSonata.app/
/pkg/
/pkg-dmg/

# Embedded icon header/ico, rebuilt from assets/default.xex by scripts/gen-icon.py
/src/icon.generated.h
/src/icon.generated.ico
/src/version.generated.h.in

# XLast rich-presence XML, rebuilt from assets/default.xex by scripts/gen-xlast.py
/src/xlast.generated.h

# Area-name table for the Discord presence, rebuilt from docs/cfdata_names.txt
# by scripts/gen-area-names.py
/src/area_names.generated.h

# PS3 item and magic text, rebuilt from src/guest_data/ps3/text by
# scripts/gen-ps3-item-text.py
/src/engine/ps3_item_text.generated.inc

# Achievement text, rebuilt from the XLast in assets/default.xex plus the
# committed Japanese rows by scripts/gen-achievement-text.py
/src/engine/achievement_text.generated.h

# Embedded overlay font, rebuilt from src/fonts/*.ttf by scripts/gen-fonts.py
/src/fonts.generated.h

# Embedded UI art, rebuilt from src/images/*.png by scripts/gen-images.py
/src/images.generated.h
/src/bgm.generated.h
/src/lang.generated.h
/src/save_text.generated.h

# Windows exe-icon resource script, rewritten by CMake with an absolute path
# to src/icon.generated.ico (see CMakeLists.txt)
/src/eternalsonata.generated.rc

# Game assets extracted from the user's ISO
# (the ISO itself and anything derived from it must NEVER be committed)
/*.iso
/assets*/
!/assets/.gitkeep
/out/iso_extract/
*.vert
*.frag
dumps/

# Third-party tools dropped by the user locally.
# Ignore the tree, but keep the scripts and README we wrote.
/tools/*
!/tools/README.md
!/tools/*.ps1

# Locally built libraries
/local/

CLAUDE.md
opencode.json
.mcp.json
.kiro/

# Extracted/decoded assets (regenerate with scripts/unpack_e.exe)
/extracted/
/repacked/
__pycache__/

# Mods
/mods/

# DLC content packages (STFS containers dropped in by the user; see
# src/dlc_auto_install.cpp)
/dlc/

# IDA working files (created alongside .i64 when a database is open)
*.id0
*.id1
*.id2
*.nam
*.til

# Android build artifacts (Gradle output, staged JNI libs, staged assets)
/android/.gradle/
/android/app/build/
/android/app/jniLibs/
/android/app/assets/
/android/build/
/android/local.properties
# Sideload signing key (see android/app/build.gradle.kts). A private key does
# not belong in the repository; regenerate it with keytool, or point the build
# at another one with -PsideloadKeystore / ES_KEYSTORE.
/android/keystore/
# Generated launcher icons (rebuilt from assets/default.xex by scripts/gen-android-icon.py)
/android/app/src/main/res/mipmap-mdpi/
/android/app/src/main/res/mipmap-hdpi/
/android/app/src/main/res/mipmap-xhdpi/
/android/app/src/main/res/mipmap-xxhdpi/
/android/app/src/main/res/mipmap-xxxhdpi/
/portable.txt
/user/

# Button art rendered by scripts/gen-face-buttons.py during the build
/res/generated/
