Releases: NDRWhun/JK2VITA
Releases · NDRWhun/JK2VITA
Release list
JK2 Vita 1.0
Renderer
- No
libshacccg.suprxneeded. 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-mathcannot 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,
linuxas 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 Changelog
Renderer
- No
libshacccg.suprxneeded. 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
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_picmipfloor 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.suprxand your own JK2base/PK3s — see the README
JK2 Vita 0.9.81 - Playtest Build
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_aimAssistPull—1.5/3/5(pull aggressivenes).g_aimAssistSpeed—0.7/0.5/0.35(look speed near a target).
JK2 Vita 0.9.8 - Playtest Build
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).
