Repository navigation
Shadow Guardian Vita v1.3
Shadow Guardian Vita v1.3
This is a wrapper/port of Shadow Guardian HD for the PS Vita.
Changelog
- v1.3: Full controls rework based on hardware testing feedback:
- Wrong weapon-switch position fixed. The old touch coordinate for the weapon icon was only measured by eye and turned out to sit inside the FIRE button's touch hit-radius, so pressing that button fired the gun instead of switching weapons. All button positions (fire, aim, contextual action, grab, weapon) were re-measured with a pixel grid over a real 960x544 gameplay screenshot.
- Weapon switch moved to Square and reworked as a swipe, not a tap. Reading the engine's own input handler (
out_ghidra.c:86760-86813) showed the real weapon selector responds to the drag delta of a touch (Actor::SetNextWeapon()/SetPreviousWeapon()picked by the sign of the movement, matching its actual "left/right arrow slider" look), not a fixed tap zone — so Square now sends a synthetic down → drag-right → release over the weapon icon instead of a plain tap. - Circle reassigned from a debug visibility toggle to Grab/interact (the hand icon never had a physical button before); Select now toggles the touch controls on/off, taking over the old debug-toggle role.
- Square no longer shares the Aim spot with L — only L aims now.
- Virtual button hiding is now enforced every frame instead of once at startup, fixing buttons (the aim reticle in particular) that the engine would silently re-show later in a session.
- Hooked
GS_GamePlay::HighlightButtonso the button-highlight glow shown during aim feedback / "touch this button" tutorial prompts is suppressed while the touch controls are hidden, instead of glowing over an otherwise-invisible button. - The weapon-selector graphics are hidden too now (previously always shown by request), using the exact GUI item index range (
0xb-0x20) the engine itself uses to fade them out. - Free-look camera (right stick) rewritten from an absolute stick-to-touch-position mapping — which hard-capped at a fixed offset and could never complete a full turn — to a continuous relative drag with invisible wraparound recentring, so holding the stick now keeps rotating indefinitely: slow and precise at a light tilt, fast at full tilt, a full 360° around the character is now possible.
- Fixed a blurry intro video. A texture-downsampling optimization was quartering the effective resolution of
logo.m4vbefore a 4x upscale to the screen; disabled, since the intro is only a few seconds and the blur wasn't worth the saved upload bandwidth.
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, continuous drag - hold to keep turning; light tilt for slow/precise aim, full tilt for a fast full 360°)
- D-Pad - Menu Navigation / Movement
- R - Fire
- L - Aim (hold)
- Cross - Contextual action (jump / run / climb)
- Circle - Grab / interact
- Square - Switch weapon
- Start - Pause / Back
- Select - 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
HighlightButtonhook (v1.3) covers the button-prompt glow, but the weapon-change flash may come from a separate, not-yet-located effect. Please report it with a log/screenshot of the exact moment it happens. - Square's weapon-switch swipe and the new continuous camera drag (v1.3) are newly implemented and pending confirmation on hardware across multiple weapons/play sessions.
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.