CTR Decrypted

Extras

OPTIONS → Extras holds optional HUD and effect mods from the CTR-ModSDK modules, as High Octane ships them. Each row is saved in config.ini under [Extras], is visual only, and applies at once, except Cyan Super Pads, which applies at the next track load.

Row Key Default What it does Code
Reserves Meter reserves_meter On in the Archipelago build, off in vanilla A 49×3 bar under the powerslide bar showing the boost reserves you hold, in 1P races and crystal challenges. Red, yellow, green by amount; blue once it overruns the bar; purple once the value has wrapped past 0x7FFF and no longer drains ("Saffi fire"). UI_DrawReservesMeter in game/UI/UI_Meter.c, maths in ap/ap_reserves_meter_logic.h
Keep Reserve Fire reserve_fire Off While a driver holds reserves, powerslide fire stays visible. Retail kills it after two frames or hides it for the visibility cooldown, so chained slides with no start boost show no fire. VehFire_KeepReserveFire in game/Vehicle/VehFire.c
Blue Fire At USF blue_fire Off Player 1's exhaust turns blue at Ultimate Speed Fire, as in Nitro-Fueled. game/VehBlueFire.c
Slide Meter Gradient slide_meter_colours Off The powerslide bar fades green to yellow as it fills, then orange to red across the boost window, instead of flat green then red. UI_DrawSlideMeter, maths in include/ctr_extras.h
Colour Filter colour_filter Off Greyscale, sepia, negative, vignette, or a protanopia or deuteranopia correction, on top of any screen filter. SCREEN-FILTERS.md, platform/native_renderer.c
Cyan Super Pads (Next Load) super_pad_colour Off Super turbo pads are drawn cyan, as in Nitro-Fueled. With the all-super-turbo-pads cheat every pad is cyan. game/LevSuperTurboPads.c, the shader in platform/native_renderer.c, rules in include/ctr_extras.h

Decisions

So a pad animation is an animated texture on a quad covering 90% or more of any pad trigger, and a super-pad face is a face showing a pad animation on a quad that overlaps a super trigger at its height. This needs no per-track exceptions (Cortex Castle's wooden tiles under super triggers carry no pad animation). - The colour travels in the palette word's top bit. Each super-pad face gets a copy of the pad animation whose texture layouts set bit 15 of the palette word, which real PSX data never sets. The shader clears it before the palette lookup and recolours the texel from its brightness (High Octane's formula: red 0.3, green 1.25, blue 1.25 plus a little, of the brightest channel). This needs no VRAM, which tracks barely have outside the framebuffers. Every draw path (1P, split screen, clipped quads) carries the word unchanged. - The copies live in the level's memory pack, since the level renderer only takes texture data from there. They take about 600 bytes; the feature is skipped if the pack would keep less than 32 KB. They follow the original animation each frame (LevSuperTurboPads_Cycle). A face's low-detail texture covers the whole quad, so it turns cyan only when all four faces are pad.

Checking