Skip to content

Shadow Guardian Vita v1.4

Latest

Choose a tag to compare

@MetalSyntax MetalSyntax released this 27 Sep 04:49

Shadow Guardian Vita v1.4

This is a wrapper/port of Shadow Guardian HD for the PS Vita.

Changelog

  • v1.4: Ultra-fluid camera overhaul, in-game sensitivity OSD, and HUD polish:
    • Eliminated camera micro-pauses during 360° turns. The previous camera implementation relied on an artificial 110px bounding box that triggered synthetic ACTION_UP and ACTION_DOWN cycles. Decompilation revealed that StartFreeCamera reset camera inertia (0.25f) and produced 0-delta frames on every wrap, creating noticeable stutters during rotations. Drag is now 100% continuous while the stick is deflected, resulting in completely uninterrupted 60 FPS camera rotation.
    • In-game camera sensitivity adjustment (1–10) with OSD bar. Sensitivity can now be adjusted in real time during gameplay using SELECT + D-Pad Up / Down. The setting is saved persistently to ux0:data/shadowguardian/camera_sens.txt and displays a clean 10-block on-screen indicator bar.
    • HUD virtual weapon selector & aim button polish. The virtual weapon icon (top-right) is kept at 100% opacity without forcing visibility on every sub-element, allowing the engine's internal UpdateWeaponGUI to cleanly display only the currently active weapon without graphical overlap. The redundant touch aim button (bottom-right) and virtual joystick are cleanly hidden.
    • Select button dual-mode. Tapping SELECT toggles virtual on-screen touch controls on release, without conflicting with SELECT + D-Pad sensitivity combos.

Setup Instructions

In order to properly install the game, you'll need to extract the data from the original Android game.

  1. Install the kubridge and fd_fix plugins on your PS Vita.
  2. Install libshacccg.suprx, if you don't have it already, by following this guide.
  3. Obtain the original APK of Shadow Guardian (Shadow-Guardian-HD-v1-0-1-UK-RU.apk) and the required data files.
  4. Extract the .apk using any zip extractor.
  5. Place the executable libshadowguardian.so (from lib/armeabi-v7a/ inside the APK) in ux0:data/shadowguardian/. (If the APK also contains libStormGLOFT.so, you can copy it too — it does no harm.)
  6. Place all game asset folders (res, shaders, textures, models, music, sounds, etc.) in ux0:data/shadowguardian/.
  7. Make sure the 16:9 assets sprites_1_7 and gui_1_7 are present. If the APK only ships the sprites_1_6 / gui_1_6 variants, duplicate them with VitaShell (Copy + Paste + Rename) so the _1_7 names exist — missing 16:9 GUI assets can crash the game on the LOADING screen. Also confirm the res/ folder was copied.
  8. Double-check that gui_1_6 and sprites_1_6 themselves are also present in ux0:data/shadowguardian/ (not just the _1_7 copies) — some assets are only ever requested by their _1_6 name at runtime, and a copy missing just these two files can pass every other check and still crash later during gameplay.
  9. Download and install shadowguardian.vpk on your PS Vita.

Controls

  • Left Analog - Movement (in-game only)
  • Right Analog - Camera (free-look, continuous drag — smooth quadratic curve, sub-pixel precision, no stutter)
  • Select + D-Pad Up / Down - Adjust camera sensitivity (1–10, saved to camera_sens.txt with OSD bar)
  • D-Pad - Menu Navigation / Movement
  • R / R1 - Fire
  • L / L1 - Aim (hold)
  • Cross - Contextual action (jump / run / climb)
  • Circle - Grab / interact
  • Square - Switch weapon (synthetic swipe)
  • Start - Pause / Back
  • Select (tap) - Toggle Virtual Buttons (Hide/Show touch controls)
  • Touch Screen - Original Touch Controls

Known Issues

  • A blue highlight/glow effect shown specifically when switching weapons may still appear even with the touch controls hidden — the generic HighlightButton hook covers the button-prompt glow, but the weapon-change flash may come from a separate effect. Please report it with a log/screenshot of the exact moment it happens.

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:

  1. You installed the latest shadowguardian.vpk (older builds have known crashes that are already fixed).
  2. kubridge and fd_fix plugins plus libshacccg.suprx are installed (see Setup above).
  3. In ux0:data/shadowguardian/: libshadowguardian.so, the res/ folder, and all asset folders are present, and both the _1_6 and _1_7 variants of sprites and gui exist (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 missing gui_1_6/gui_1_7 or sprites_1_6/sprites_1_7 shows 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:

  1. The newest ux0:data/shadowguardian/logs/game_log_*.txt (from the time of the crash — do not delete it).
  2. The newest ux0:data/psp2core-*-eboot.bin.psp2dmp core dump.
  3. A note on exactly when it happens (on boot, which level loading, do you ever reach the menu?).

Credits

  • TheFloW for the so_loader wrapper and Android porting boilerplate.
  • Rinnegatamante for vitaGL and porting tools.
  • Gameloft for the original game.