Skip to content

JK2 Vita 1.0

Latest

Choose a tag to compare

@NDRWhun NDRWhun released this 10 Aug 18:18
· 7 commits to gxm-renderer since this release
bg

Renderer

  • No libshacccg.suprx needed. Shaders are compiled at build time and ship inside the eboot
  • Native GXM backend — the game draws through sceGxm directly. vitaGL is gone, submodule and all
  • Own DXT1/DXT5 block compressor, so the texture cache no longer depends on vitaGL's
  • Large textures allocate from CDRAM instead of exhausting LPDDR
  • World geometry, skybox, dynamic lights, surface sprites, flares, cinematics and the screen melt all draw through the backend
  • Fog runs in the fragment program off the map's fog volume, on the game's own curve, per pixel
  • Screenshots and the screen melt read back from the display buffer
  • Ghoul2 vertices skin on the render thread
  • On-screen keyboard and system dialogs composite through the native present

Menus

  • The d-pad drives menu focus, and focus carries the pointer with it, so items highlight and
    activate the way they do under a cursor
  • Left and right change a setting's value directly — toggles, multi-choice options and sliders —
    without moving the cursor onto the control

Performance

  • Static vertex-lit world surfaces stay resident in GPU buffers, with every stage drawn from them
  • World buffers packed in material order
  • Vertex uniforms resolved once instead of per draw; fragment uniforms reserved only when stale
  • Effect debris and colliding particles sweep across a slice of frames
  • Point contents skips brush models the point cannot be inside
  • Voice lines load on demand

Memory

  • Map-load allocations come from reserved regions instead of the general heap, which cuts the block
    count and peak usage a level change leaves behind

Fixes

  • Collision leaf cache was shared across cores
  • Textures and world buffers could be freed while the GPU was still reading them
  • DXT cache entries are checked against the geometry their header claims
  • Out-of-memory eviction and the weather point cache moved to the main thread
  • Immediate-mode draws could sample a texture unit that was never written
  • Vertex ring and shader registrations survive a vid_restart
  • Stale dynamic light bits when a surface entered the view
  • Brush check counter was narrower than the count it was compared against
  • Region clip could run past the screen
  • Console text is printed as data, not as a format string
  • NaN is tested by bit pattern, so -ffast-math cannot fold the check away
  • The Vita default binds are applied on first run only, instead of overwriting custom binds
  • The picmip floor the Vita block documents is actually installed
  • Sound uses the stock pool budget
  • Async sound reads retry; an unsampled voice line stays marked as playing
  • Raw sample path guarded against ring overflow
  • The version banner reported the wrong engine name, linux as the platform, and the build type in
    place of the build date

Cinematics

  • A frame is decoded when the decoder switches handles, so a cutscene no longer opens on a stale frame
  • Video map stages bind their own scratch image
  • Stopping a cutscene stops its voice track with it

Removed

  • Render-scale path
  • r_effectCombine — additive effect stages are folded by the backend's texture env instead
  • Prebuilt Windows audio DLLs

Defaults

  • Ghoul2 crowd LOD is off

LiveArea

  • New icon and start button

Build

  • Builds to build/; no vitaGL or SDL install step
  • Configuration app and GXM probe are opt-in
  • Third-party table and README corrected