# PKCore Configuration Guide This document outlines all available configuration options for PKCore located in `BepInEx/config/faospark.pkcore.cfg`. --- ## [01 Project Kyaro Sprites] **Enhanced Sprite & Visual Settings** | Setting | Type | Default | Description | | :--- | :---: | :---: | :--- | | **EnableProjectKyaroSprites** | `bool` | `true` | Enable Project Kyaro HD sprite textures from `PKS1` and `PKS2` folders. Set to `false` to use original pixel-based sprites. | | **DisableSpritePostProcessing** | `bool` | `true` | Prevent post-processing (bloom, vignette, depth of field, etc.) from affecting sprites, eliminating white outlines on edges and exposed sprite seams. | | **SpriteFilteringEnabled** | `bool` | `true` | Enable texture filtering for sprites (Bilinear + 2x Anisotropic). Set to `false` to retain the original pixelated look. | | **SMAAQuality** | `string` | `Low` | Anti-aliasing quality for sprites (`Off`, `Low`, `Medium`, `High`). `Low` is recommended. Does not affect game UI. | --- ## [02 User Interface] **UI & Presentation Customization** | Setting | Type | Default | Description | | :--- | :---: | :---: | :--- | | **ControllerPromptType** | `string` | `PlayStation` | Controller type to display for button prompts:
• `PlayStation`, `PlayStation4`, `DS4`, `PS4` (`_01` suffix)
• `PlayStation5`, `DualSense`, `PS5` (`_02` suffix)
• `Generic`, `PC`, `Keyboard` (`_00` suffix)
• `Xbox` (`_03` suffix)
• `Switch`, `Nintendo` (`_04` suffix) | | **LoadLauncherUITextures** | `bool` | `true` | Load custom launcher UI textures based on unused game assets in `Textures/launcher/`. | | **MinimalUI** | `bool` | `true` | Enable minimal UI texture variants. When `false`, custom textures with `minimal` in their path are skipped. | | **ClassicSaveWindow** | `bool` | `true` | Restores classic PSX-style Save/Load window layout for a nostalgic presentation in both games. | | **ShowSaveSlotPartyPortraits** | `bool` | `true` | Displays mini party member portraits next to character levels (`Txt_Lv`) in save/load slots for both Suikoden I and Suikoden II. | | **DisablePortraitDialogMask** | `bool` | `false` | Disable the `Face_Mask_01` texture overlay on character portraits in dialog windows. Supports custom DDS/PNG masks. | | **ScaleDownDialogBox** | `bool` | `true` | Compact dialog box (`80%` size with adjusted positioning for improved scene visibility). | | **ScaledDownMenu** | `string` / `bool` | `true` | Scaled-down main pause/status menu (`80%` size with adjusted positioning). | | **PSPLauncher** | `bool` | `false` | Enable the PSP-inspired launcher interface. | | **EnhancedGallery** | `bool` | `true` | Replaces Movies, Events, and Sounds gallery backgrounds with custom textures inspired by the PSP release. | --- ## [03 General] **General Game & Aesthetic Settings** | Setting | Type | Default | Description | | :--- | :---: | :---: | :--- | | **SavePointColor** | `string` | `default` | Save point crystal orb color. Options: `black`, `blue`, `cyan`, `green`, `navy`, `pink`, `purple`, `red`, `white`, `yellow`, `default`, `random`. (`random` chooses a new color on room entry). | | **DisableSavePointGlow** | `bool` | `true` | Disable the washed-out white glow effect on save point orbs to preserve rich crystal colors. | | **DisableWorldMapClouds** | `bool` | `true` | Disable cloud overlay effects on the world map for Suikoden 1 and 2. | | **DisableWorldMapSunrays** | `bool` | `true` | Disable sunray glow effects on the world map for Suikoden 1 and 2. | | **BetterLauncherBGM** | `bool` | `true` | Enable Better Launcher BGM mod. Loads replacement audio from `PKCore/00-Mods/Better-Launcher-BGM-Mod/Sound/` to replace the ambient launcher music with Suikoden 2's adventure start theme. | --- ## [04 Game : Suikoden 1] **Suikoden 1 Specific Options** | Setting | Type | Default | Description | | :--- | :---: | :---: | :--- | | **S1ScaledDownWorldMap** | `bool` | `true` | Scale down Suikoden 1 world map UI to `80%` with adjusted positioning for better screen visibility. | | **TirRunTexture** | `string` | `default` | Texture variant for Tir's running animation (`default`, `alt`, `pixel`). Works with Project Kyaro Sprites on or off. | --- ## [05 Game : Suikoden 2] **Suikoden 2 Specific Options** | Setting | Type | Default | Description | | :--- | :---: | :---: | :--- | | **EnablePortraitSystem** | `bool` | `true` | Enable custom NPC portrait injection. Supports both Suikoden I and II. Supports PNG and DDS (BC1/BC3/BC7) in `Textures/GSD1/NPCPortraits/` and `Textures/GSD2/NPCPortraits/`. | | **MercFortFence** | `string` | `default` | Mercenary Fortress fence texture variant (`default`, `bamboo`, etc., looks for suffix `_`). | | **ColoredIntroAndFlashbacks** | `bool` | `true` | Restores full color to Suikoden 2 intro and flashback scenes by disabling grayscale post-processing effects. | | **EnableWarAbilityMod** | `bool` | `true` | Enable tactical war battle ability customization via `PKCore/Config/S2WarAbilities.json`. | | **EnableBattlePositionAdjustments** | `bool` | `true` | Adjust 6-character party formation positions in Suikoden 2 battles so back-row characters do not visually block front-row characters. | | **S2BattlePositionPreset** | `string` | `wide` | Battle formation spacing preset for Suikoden 2:
• `default`: Vanilla spacing
• `wide`: Moderate spacing, front row shifted forward/left (Recommended)
• `widest`: Large spacing for maximum character visibility | | **EnableCharacterRangeOverrides** | `bool` | `true` | Enable custom character weapon/attack range overrides in Suikoden 2 (supports live hot-reloading). | | **S2CharacterRangeOverrides** | `string` | `Kasumi:M, Luc:M, Mazus:M, Viki:M, Gantetsu:M, Badeaux:M, Sierra:M` | Comma-separated list of character range overrides in `Character:Range` format (`S` = Short, `M` = Medium, `L` = Long). Allows back-row attacks without formation warnings. | --- ## [Performance] **Optimization & Engine Settings** | Setting | Type | Default | Description | | :--- | :---: | :---: | :--- | | **EnableTextureManifestCache** | `bool` | `false` | Caches the texture index in `PKCore/Cache/texture_manifest.xml` to skip re-scanning folders on startup. Disable when adding/modifying textures. | | **EnableMemoryCaching** | `bool` | `true` | Intelligent texture memory management. Clears non-persistent textures during scene transitions to free RAM while keeping persistent UI in memory. **Recommended: Keep Enabled.** | | **EnableResolutionScaling** | `bool` | `false` | Enable internal resolution scaling system. Renders at `ResolutionScale` multiplier and stretches to fill the window. | | **ResolutionScale** | `float` | `1.0` | Resolution multiplier (`0.5` to `2.0`). `0.5` = half resolution for performance, `1.0` = native, `1.5`–`2.0` = super-sampling. Only applies when `EnableResolutionScaling = true`. | --- ## [Utility] **Window & Developer Tools** | Setting | Type | Default | Description | | :--- | :---: | :---: | :--- | | **ShowMouseCursor** | `bool` | `false` | Show mouse cursor over the game window. Useful for UnityExplorer or debugging overlays. | > **Note:** Borderless window mode has been removed in favor of Unity's native `-popupwindow` launch parameter (set in Steam Launch Options). --- ## [zz - Diagnostics] **Logging & Data Dumps** | Setting | Type | Default | Description | | :--- | :---: | :---: | :--- | | **LogTextIDs** | `bool` | `false` | Log dialogue message IDs to console. Useful for identifying IDs for `DialogOverrides.json` and `SpeakerOverrides.json`. (Verbose!) | | **DumpTextDatabase** | `bool` | `false` | Accumulates all seen text IDs and dialogue lines into `PKCore/Debug/TextDB_GSD1.json` and `TextDB_GSD2.json` at runtime. | | **DumpJsonAssets** | `bool` | `true` | Dumps all loaded AssetBundle TextAssets and JSON files (e.g., event data, map data, scripts) to `PKCore/Debug/JsonDumps/`. | | **EnableJsonOverrides** | `bool` | `true` | Enable loading custom JSON asset overrides from `PKCore/JsonOverrides/` to replace game AssetBundle TextAssets. | | **DetailedLogs** | `bool` | `false` | Enable verbose logging for texture replacements and patch lifecycle events. | | **LogReplaceableTextures** | `bool` | `false` | Log every discovered replaceable texture name at runtime. Useful for identifying texture filenames for custom replacements. | | **LogBattlePositions** | `bool` | `false` | Log party member coordinates and battle formation offsets on battle start for diagnostic tuning. | --- ## [zz - Experimental] **Work In Progress** | Setting | Type | Default | Description | | :--- | :---: | :---: | :--- | | **EnableDebugMenu2** | `bool` | `false` | [EXPERIMENTAL] Enable the hidden internal `DebugMenu2` developer menu object. |