Phaethon keeps its settings in four places: the launcher's own settings.json, the files the runtime writes per game plus one shared file, the in-game Graphics Options and Sound Options screens, and a handful of runtime command-line flags. There is no single "remastered preset" switch wired up in the tree today: the toggles below are all individual, each its own field, each off (retail) by default.
Where settings live and how a player reaches them¶
- The launcher holds a
Presetfield (RetailFaithfulorEnhanced) per game, shown on the Game page as an "Enhanced preset" checkbox; its own hint text says why it does nothing yet: "On turns on the fork's enhancements once the game side reads this switch; until then it is stored and shown". The launch itself never reads it. - Launcher state (that checkbox,
Debug mode, extra launch arguments, texture pack choices) lives insettings.jsonunder%APPDATA%\JakLauncher. - In game, the PC options rows write straight into
*pc-settings*, apc-settings-jakxobject; each setter commits an actual change topc-settings.gcunder%APPDATA%\Phaethon\jakx\settings\(goal_src/jakx/pc/pckernel-impl.gc, common/util/FileUtil.cpp). - A shared
window.jsonone level above the per-game folders holds the debug window's own chrome (hide key, capture chords); a per-gamedebug.jsonbesidepc-settings.gcholds the debug window's saved "Custom" preset block, covered on Debug window guide. - At boot, the flags that matter for play are
-g <game>,--windowed,--renderer opengl|vulkan|default,--proj-path,--config-path,--local-pathand--pictures-path; every--replay-*flag is for the offline frame-oracle tool, not for a normal run (runtime/main.cpp).
Frame cap and vsync¶
Frame Rate cycles target-fps through 30, 60, 75, 120 and 144. 60 is retail parity and the reset-gfx default; 30 halves the render rate while the simulation stays at the same speed; 75, 120 and 144 carry an "EXPERIMENTAL" label in the menu text, since only 30 and 60 have been verified end to end. There is no Uncapped option anywhere in the row or the C++ frame limiter. VSync is a separate on/off row; picking a rate above the display's refresh clears it automatically.
Aspect ratio and HUD anchoring¶
Aspect Ratio offers 4x3 (retail, the default), 16x9 (a letterboxed 16:9 picture inside whatever window shape the player has) and Auto (no letterbox at all, filling the window). A separate HUD Edges row, Retail/Balanced, nudges the right-edge HUD items so their margin from the window edge matches the left edge's; Retail, the default, leaves that code path bit-identical to the PS2 build.
Temporal upscalers and the cutscene upscaler¶
DLSS Quality, Balanced, Performance and Ultra Performance, DLAA, and FSR Quality, Native AA, Balanced, Performance and Ultra Performance all exist as a TemporalMode (runtime/graphics/renderer/Temporal.h); DLSS and DLAA need NVIDIA's NGX, FSR runs on any GPU. None of this has an in-game menu row, a launcher control, or a normal-boot command-line flag yet. The only way to change it today is the Debug window's Temporal tab or its Presets tab, both gated on a -debug boot. The cutscene upscaler is the same story: fmv_upscale has no GOAL field and no play-time flag, only a debug-window lever; the Enhanced preset there only turns it on when its own startup self-benchmark says the pass keeps up on the machine it is running on (runtime/debug_window/DebugPresets.cpp). Off, the movie plays as retail did; on, a compute pass runs a small convolutional network, a 2x port of 2xNomosUni_compact_multijpg_ldl, over every frame, taking a faster cooperative-matrix path on a Vulkan device that supports it and a plain compute pass otherwise (runtime/graphics/renderer/FmvUpscaler.h).
Texture packs¶
Packs install from the zips the OpenGOAL community already ships, a metadata.json beside texture_replacements/<tpage>/<texture>.png, into <install>\texture-packs\<game>\<id> through the launcher's Addons page. "Compose" rewrites custom_assets\<game>\texture_replacements from the packs switched on, in the player's own layering order, later packs winning. Nothing changes in game until the project is rebuilt, since the decompiler bakes replacements in at extract time.
Everything else behind a toggle¶
Every remaining enhanced feature is its own pc-settings-jakx row, off (or retail) by default:
| Row | Values |
|---|---|
| Antialiasing | Off, MSAA 2x/4x/8x, then FXAA or SMAA |
| Sound Output Mode | Auto, Mono, Stereo, 5.1, 7.1 |
| Actor Shadows | Retail, Shadow Map |
| Shadow Quality | Low, Medium, High |
| Shadow Softness | Off, Soft (default once shadows are on), Softer |
| Shadow Fade in Dark | On by default once Actor Shadows is on |
| Particle Lighting | Off (default), On |
| Ambient Occlusion | Off, Low, High |
| Bloom | Off, Low, High |
| Motion Blur | Off (retail's own zoom blur), Low, High |
| Scene FX | Off, On (heat haze, sun shafts, depth of field) |
| Weather | Off, Random, On, Storm |
| Film Look | Off, Film, Film+Grade |
| Destruction FX | Off, On |
| Ground Ruts | Off, On |
Two fields default to retail's own value rather than to zero: tail light flicker scale and brake boost both start at 1.0, which is what leaves the vehicle glow sites unchanged. Turning any row on changes what the PS2 build drew; every tree comment beside these fields states the same rule, that a row left off leaves its shader or effect site bit-identical to retail.