Skip to content

Releases: NDRWhun/JK2VITA

JK2 Vita 1.0

Choose a tag to compare

@NDRWhun NDRWhun released this 10 Aug 18:18
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

JK2VITA 0.9.9 - BETA

JK2VITA 0.9.9 - BETA Pre-release
Pre-release

Choose a tag to compare

@NDRWhun NDRWhun released this 04 Aug 12:45

JK2VITA 0.9.9 - Beta Changelog

new_icon

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 save thumbnail read back from the display buffer
  • Ghoul2 vertices skin on the render thread
  • On-screen keyboard and system dialogs composite through the native present

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

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
  • Async sound reads retry; an unsampled voice line stays marked as playing
  • Raw sample path guarded against ring overflow

Removed

  • Render-scale path
  • Ghoul2 crowd LOD, now off by default
  • Prebuilt Windows audio DLLs

LiveArea

  • New icon and start button

JK2 Vita 0.9.82 - Playtest Build

Pre-release

Choose a tag to compare

@NDRWhun NDRWhun released this 28 Jul 12:19

JK2VITA 0.9.82 playtest

Performance

  • Static world VBO — world geometry lives in GPU buffers, only indices per frame (r_worldVBO, default on)
  • Lightmap atlasing — lightmaps packed into 512x512 pages so world surfaces batch (r_mergeLightmaps, default on)
  • Script-authored world shaders now batch too — 88% surface residency on artus
  • Inlined the hot vec3 and clamp helpers
  • Cut per-vertex work out of the world marshal path
  • Vertex range supplied on indexed draws
  • 16-bit tess indices

Fixes

  • Dynamic lights drew past their vertex buffer
  • Console text was treated as a format string
  • NaN checks were folded away by -ffast-math
  • Fog and lightmap brightness in the world VBO path
  • Patch surfaces lost dynamic lighting across a tess flush
  • Lightmap seams at atlas page edges
  • Render thread outlived window teardown
  • Frame buffer flipped on a mid-frame flush
  • Level-load teardown freed textures the backend was reading
  • Stale pre-skin pointer on recycled Ghoul2 surfaces
  • r_picmip floor of 1 was documented but not applied
  • Sound pool forced to 64 MB; now the stock 25 MB

Controls

  • Default binds apply on first launch only, so rebinds persist. vita_defaultBinds 1 + relaunch restores them.

LiveArea

  • Custom launch button, new background

Build

  • Single build target
  • Version derived from one variable; reports OpenJO: JK2VITA-0.9.82
  • Builds from a clean clone with VitaSDK and the submodules

Requirements

  • libshacccg.suprx and your own JK2 base/ PK3s — see the README

JK2 Vita 0.9.81 - Playtest Build

Pre-release

Choose a tag to compare

@NDRWhun NDRWhun released this 21 Jul 00:06

JK2VITA 0.9.81

Needs Testing:

  • Fixed the Yavin Trial progression issue caused by ICARUS variables not being reset between levels.

Added

  • Added optional Aim assist:
    • g_aimAssist 1 — Enable look assist.
    • g_aimAssistPull1.5 / 3 / 5 (pull aggressivenes).
    • g_aimAssistSpeed0.7 / 0.5 / 0.35 (look speed near a target).

JK2 Vita 0.9.8 - Playtest Build

Pre-release

Choose a tag to compare

@NDRWhun NDRWhun released this 19 Jul 20:29

JK2VITA 0.9.8 — Playtest

Changelog:

  • Multithreaded renderer (game / rendering / audio / skinning split across cores)
  • On-card texture cache
  • Save/load + scripted-progression fixes
  • Rain/weather rendering fixed
  • Surface sprites off by default (r_surfaceSprites "1" to re-enable)

Test focus: full playthroughs, level progression, save/load (try to break it), stability.

Frame cap — r_swapInterval: 0 uncapped · 1 60 fps · 2 30 fps

Bugs: https://github.com/NDRWhun/JK2VITA/issues
Needs your own Jedi Outcast game files (see README).

jk2vita_playtest