# Python
__pycache__/
venv/
.lark_cache*
.splat_cache

# Misc
.idea/
.DS_Store
ctx.c
expected/
.vscode/*.log
/tools/star-rod
/tools/to_rename.txt
/ver/current
/ver/*/assets
ctx.c.m2c
/data2c
.nix-profile*
/result

# Build artifacts
build.ninja
.ninja*
.n2_db
*.ld
!src/map_shape.ld
*.elf
*.z64
*.v64
*.n64
*.Yay0
*.msg.h
*.i
*.o
*.o.tmp
*.zip
baserom.*
build/
!tools/build
/include/map
/tools/permuter_settings.toml
.run_hash

# Assets
# ** DO NOT UNIGNORE THESE FILES!! SEE THE FOLLOWING LINK IF YOU'RE MODDING ASSETS:**
# https://github.com/pmret/papermario/wiki/Asset-overrides
/assets/us
/assets/jp
/assets/pal
/assets/ique
*.sbn

# Star Rod
.starrod
/ver/us/dump
*.backup
*.crash

/tools/n64crc

# clangd
.cache/clangd/
.clangd
# compile_commands.json requires hardcoded paths, so it can't be committed
compile_commands.json
# DX ephemeral data (clangd index, configure cache, etc.)
/.dx/

# Anchored: unanchored, `build*` matches at any depth and hides real sources
# (android/build.gradle.kts, .github/workflows/build.yml). Nested build dirs
# are covered by their own .gitignore.
/build*
/cmake-build-*
!src/port/build.c.in
!src/port/build.h
# Generated from build.c.in by configure_file().
/src/port/build.c
logs/
/mods/
default.sav
imgui.ini
paperboat.cfg.json
Paperboat.log
*.sav
*.lib
*.pdb
dumps/
_packages/*
*.DS_Store
src/jp/
src/eu/
src/cn/

properties.h
mods*/%

ignored/
CMakeFiles/
ver/
logs.txt
.vscode

# Visual Studio
*.user
*.suo
out/
CMakeSettings.json
CMakeUserPresets.json
*.exe
/.vs

# Android build output and caches
.build-cache/
android/.gradle/
android/app/.cxx/
android/local.properties
android/key.properties
*.jks
*.keystore

# Third-party feature packs (see ANDROID.md): never commit, supply your own copies
android/app/src/main/assets/features/*.o2r
docs/user-feature-packs/

# Game data
*.z64
*.n64
*.v64
pm64.o2r

# Build scripts that /build* above would hide
!/build-android.ps1
!/build.bat
