Repository navigation
Shadow Guardian Vita v1.2.4
Shadow Guardian Vita v1.2.4
This is a wrapper/port of Shadow Guardian HD for the PS Vita.
Changelog
- v1.2.4: Fixed a crash in vitaGL's shader cache (
lib/vitagl/source/custom_shaders.c,compile_shader) that could happen mid-level (seen while loading theinteractible_bumpshader) when the on-device Shark compiler failed to compile a shader — the code tried to write that failed (NULL) shader to the on-disk cache anyway, crashing insidesceClibMemcpy. Caching is now skipped for any shader that fails to compile. Also added an in-memory cache forsounds/*.waveffects (source/reimpl/io.c) to help with FPS drops reported while shooting/rolling: the engine was doing a full storage round-trip (fopen+fread+fclose) on the main thread for every single sound trigger, which piles up when several gunshots/impacts/ricochets fire at once during combat; repeated sounds are now served from RAM after the first real read instead of hitting storage again.
Setup Instructions
In order to properly install the game, you'll need to extract the data from the original Android game.
- Install the
kubridgeandfd_fixplugins on your PS Vita. - Install
libshacccg.suprx, if you don't have it already, by following this guide. - Obtain the original APK of Shadow Guardian (
Shadow-Guardian-HD-v1-0-1-UK-RU.apk) and the required data files. - Extract the
.apkusing any zip extractor. - Place the executable
libshadowguardian.so(fromlib/armeabi-v7a/inside the APK) inux0:data/shadowguardian/. (If the APK also containslibStormGLOFT.so, you can copy it too — it does no harm.) - Place all game asset folders (
res,shaders,textures,models,music,sounds, etc.) inux0:data/shadowguardian/. - Make sure the 16:9 assets
sprites_1_7andgui_1_7are present. If the APK only ships thesprites_1_6/gui_1_6variants, duplicate them with VitaShell (Copy + Paste + Rename) so the_1_7names exist — missing 16:9 GUI assets can crash the game on the LOADING screen. Also confirm theres/folder was copied. - Double-check that
gui_1_6andsprites_1_6themselves are also present inux0:data/shadowguardian/(not just the_1_7copies) — some assets are only ever requested by their_1_6name at runtime, and a copy missing just these two files can pass every other check and still crash later during gameplay. - Download and install
shadowguardian.vpkon your PS Vita.
Controls
- Left Analog - Movement (in-game only)
- Right Analog - Camera (free-look)
- D-Pad - Menu Navigation / Movement
- R - Fire
- L / Square - Aim (hold)
- Cross - Contextual action (jump / run / grab / climb)
- Triangle - Reload / Switch weapon
- Circle - Toggle Virtual Buttons (Hide/Show HUD layout)
- Start - Pause / Back
- Select - Menu
- Touch Screen - Original Touch Controls
Known Issues
- Reload/weapon touch position (Triangle) confirmed by layout only; verify in combat on hardware.
- [Update this section prior to release with any remaining unresolved bugs]
Troubleshooting
Crash on the LOADING screen (C2-12828-1 error): this is usually a data setup problem, not a game bug. Check the following with VitaShell:
- You installed the latest
shadowguardian.vpk(older builds have known crashes that are already fixed). kubridgeandfd_fixplugins pluslibshacccg.suprxare installed (see Setup above).- In
ux0:data/shadowguardian/:libshadowguardian.so, theres/folder, and all asset folders are present, and both the_1_6and_1_7variants ofspritesandguiexist (sprites_1_6,sprites_1_7,gui_1_6,gui_1_7) — copy whichever ones are missing from the variant you do have. As of v1.2.3, a missinggui_1_6/gui_1_7orsprites_1_6/sprites_1_7shows a clear "missing game data files" dialog on boot instead of crashing later — if you see that dialog, it's telling you exactly which one to fix.
If it still crashes, please report it with:
- The newest
ux0:data/shadowguardian/logs/game_log_*.txt(from the time of the crash — do not delete it). - The newest
ux0:data/psp2core-*-eboot.bin.psp2dmpcore dump. - A note on exactly when it happens (on boot, which level loading, do you ever reach the menu?).
Credits
- TheFloW for the
so_loaderwrapper and Android porting boilerplate. - Rinnegatamante for
vitaGLand porting tools. - Gameloft for the original game.