# jsp-vs-ex: ignore everything by default, then allow only our own text and code.
/*
!/.gitignore
!/README.md
!/LICENSE
!/NOTICE.md
!/SECURITY.md
!/CONTRIBUTING.md
!/Play J-Stars.bat
!/Test Fight.bat
!/CONTRIBUTORS.md
!/CHANGELOG.md
!/AGENTS.md
!/.recomp.json
!/.gitattributes
!/.editorconfig
!/.gitmodules

# Documentation pages
!/docs/
/docs/*
!/docs/*.md
!/docs/features.tsv
!/docs/notes/
/docs/notes/*
!/docs/notes/*.md
!/docs/balance/
/docs/balance/*
!/docs/balance/*.md
!/docs/character-details/
/docs/character-details/*
!/docs/character-details/*.md

# Port code and scripts
!/jstars/
/jstars/*
!/jstars/run_test.ps1
!/jstars/play.ps1
!/jstars/test_fight.txt
!/jstars/snap_window.ps1
!/jstars/port/
/jstars/port/*
!/jstars/port/*.cpp
!/jstars/port/CMakeLists.txt
!/jstars/port/README.md
!/jstars/port/build.bat
!/jstars/port/build_pdb.bat
!/jstars/port/config.toml
!/jstars/spu_jobs/
/jstars/spu_jobs/*
!/jstars/spu_jobs/*.py

# Notes: text, patches and scripts only
!/jstars-notes/
/jstars-notes/**
!/jstars-notes/**/
!/jstars-notes/**/*.md
!/jstars-notes/**/*.patch
!/jstars-notes/**/*.py
!/jstars-notes/**/*.ps1
!/jstars-notes/**/*.sh
!/jstars-notes/**/*.bat
!/jstars-notes/**/*.c
!/jstars-notes/**/*.h
!/jstars-notes/**/*.inc
!/jstars-notes/**/*.csv
/jstars-notes/tools/refs/

# Helper tools
!/tools/
/tools/*
!/tools/features.py
!/tools/test_features.py
!/tools/contributors.py
!/tools/test_contributors.py
!/tools/release.py
!/tools/test_release.py
!/tools/site/
/tools/site/*
!/tools/site/*.py
!/tools/boost/
!/tools/ci/
!/tools/toolkit/
/tools/toolkit/*
!/tools/toolkit/*.py
/tools/boost/*.lnk

# ---- Never, whatever the rules above say ----
*.iso
*.ISO
EBOOT.*
PARAM.SFO
*.elf
*.self
*.sprx
*.prx
*.PUP
*.pkg
*.rap
*.edat
*.sdat
*.pam
*.png
*.jpg
*.bmp
*.dds
*.wav
*.zip
*.7z
*.bin
*.bundle
*.hlsl
*.dll
*.exe
*.pdb
*.lib
*.obj
*.log
*.pre-*
*.orig
*.bak
__pycache__/
*.pyc
**/recompiled/
**/build/

# Launcher source (2026-10-29: the maintainer approved; the built exe stays out)
!/launcher/
/launcher/*
!/launcher/JStarsLauncher.cs
!/launcher/build_launcher.bat
!/launcher/JStarsLauncher19.cs
!/launcher/build_launcher19.bat
!/launcher/make_launcher19.py
!/jstars/port/exit_label_light.inc
!/jstars/port/exit_label_dark.inc

# CI workflows
!/.github/

# Our own art (generated, nothing from the game); after the never-list so these exact files are kept
!/assets/
/assets/*
!/assets/banner-2x.png
!/assets/social-preview.png
!/assets/logo-mark-512.png

# ps3recomp toolkit, pinned as a submodule (the code stays upstream; only the pointer is stored)
!/third_party/
/third_party/*
!/third_party/ps3recomp

# Toolkit change set
!/toolkit/
/toolkit/*
!/toolkit/README.md
!/toolkit/ps3recomp-local.patch
# SMAA 1x (MIT, upstream files kept byte for byte); the .hlsl is named exactly because *.hlsl is on the never-list
!/toolkit/third_party_smaa/
/toolkit/third_party_smaa/*
!/toolkit/third_party_smaa/AreaTex.h
!/toolkit/third_party_smaa/SearchTex.h
!/toolkit/third_party_smaa/SMAA.hlsl
!/toolkit/third_party_smaa/SMAA_hlsl.inc

# Installer (source only; the exe, payload and generated images stay in build/, which is ignored)
!/installer/
/installer/*
!/installer/README.md
!/installer/VERSION
!/installer/jsp.iss
!/installer/launcher/
/installer/launcher/*
!/installer/launcher/launcher.c
!/installer/tools/
/installer/tools/*
!/installer/tools/*.py
!/installer/tools/fake_tool.c
!/installer/music/
/installer/music/*
!/installer/music/*.js
!/installer/music/tracks.tsv
!/installer/tools/*.json
!/installer/tools/*.cmake
!/installer/tools/online_settings_test.cpp
!/installer/tools/online_settings_test.sh
!/installer/patches/
/installer/patches/*
!/installer/patches/*.patch
# The glue and toolkit patches of the v0.18 port the installer builds (source only)
!/installer/port/
/installer/port/*
!/installer/port/jsp/
/installer/port/jsp/*
!/installer/port/jsp/*.cpp
!/installer/port/jsp/*.inc
!/installer/port/jsp/CMakeLists.txt
!/installer/port/patches/
/installer/port/patches/*
!/installer/port/patches/*.patch
!/installer/port/patches/INDEX.md
!/installer/port/patches/upstream.tsv
!/installer/port/test/
/installer/port/test/*
!/installer/port/test/*.txt
!/installer/port/test/*.cmd
# One licence text that has no stable download address; the other licence texts are fetched with pinned hashes
!/installer/licenses/
/installer/licenses/*
!/installer/licenses/LGPL-2.1.txt
