Skip to content

About

Experimental Android ARM64 port of PSPRecomp's Vice City Stories profile

Resources

Stars

47 stars

Watchers

3 watching

Forks

Repository files navigation

Icono de VCS Android

PSPRecomp · Vice City Stories

Port experimental de Grand Theft Auto: Vice City Stories para Android ARM64 y Windows, basado en recompilación estática del código de PSP.

C++20 Android ARM64 Vulkan Windows DirectX 12 Estado beta

Estado actual (beta 0.3.0): el juego se juega en Android con render por GPU (Vulkan), en pantalla completa widescreen, con audio completo (incluidas las voces de las cinemáticas), cámara libre y guardado de estado. Ahora también en celulares de gama baja (modo 30 FPS y resolución de PSP) y en Android de 32 bits. Todavía hay detalles pendientes (ver Problemas conocidos).

El proyecto

PSPRecomp traduce el código Allegrex de la PSP a C++ nativo. Este repositorio añade el perfil de VCS, los servicios de plataforma para Android y Windows, y la app Android. El código del juego se recompila; los datos del juego se leen de una copia propia del usuario.

Instalación en Android

1. Requisitos

  • Android 8.0 o superior, procesador ARM y soporte Vulkan (probado en un Samsung Galaxy S25 Ultra).
  • Hay dos APK: arm64 para casi todos los celulares, y armv7 (32 bits) solo para los que tienen Android de 32 bits (si el de 64 bits no se instala, usa este). El de 32 bits rinde menos.
  • Tu propia copia de GTA: Vice City Stories para PSP (USA, ULUS10160), preparada con setup_vcs.ps1. Ese paso extrae los datos y genera el ELF descifrado.

2. Copia los datos del juego a la carpeta VCS

Los datos van en una carpeta llamada exactamente VCS (en mayúsculas) en la raíz del almacenamiento interno del teléfono, es decir, /storage/emulated/0/VCS. Dentro tiene que quedar la carpeta PSP_GAME del juego:

Almacenamiento interno/
└── VCS/
    └── PSP_GAME/
        ├── SYSDIR/
        │   └── EBOOT_DECRYPTED.ELF
        └── USRDIR/
            └── RUNDATA/ …   (resto de los datos del juego)

Puedes copiarla con un explorador de archivos, por USB o con ADB:

adb shell mkdir -p /storage/emulated/0/VCS
adb push --sync profiles\vcs\game\PSP_GAME /storage/emulated/0/VCS/

Si la app no encuentra VCS/PSP_GAME/SYSDIR/EBOOT_DECRYPTED.ELF, lo avisa en pantalla al abrirla.

3. Instala y abre la app

  1. Descarga el APK desde Releases e instálalo.
  2. Al abrirla por primera vez, concede el permiso "Acceso a todos los archivos"; sin él no puede leer la carpeta VCS. Luego vuelve a abrir la app.
  3. La primera carga tarda un poco más.

Guardado de estado (botón 💾 junto a START)

Guarda el juego completo en el instante exacto —misión, cinemática, posición— y lo recupera después. Es independiente de las partidas del propio juego.

  • Hay 3 ranuras; cada una muestra la fecha y hora de lo guardado.
  • Toca una ranura para Guardar aquí / Sobrescribir o Cargar.
  • También está en ⚙ → Guardado de estado….
  • Los estados se guardan dentro de la app (files/savestates) y se pierden al desinstalarla.

Ajustes (botón ⚙ en pantalla)

  • Guardado de estado: las mismas ranuras que el botón 💾.
  • Sensibilidad de cámara: de Baja a Máxima; se aplica al instante al arrastre, al joystick derecho y al stick del mando.
  • Resolución interna: PSP original (272 líneas, gama baja), Rendimiento (544), HD, Full HD o nativa de la pantalla. Se aplica al reiniciar la app.
  • Velocidad (FPS): 30 FPS, la velocidad original de la PSP y la mitad de trabajo (recomendado en gama baja), o 60 FPS, más fluido. Se aplica al reiniciar la app.

Celulares de gama baja (procesadores como Helio G85, Snapdragon 6xx/7xx, o menos de 4 GB de RAM): la primera vez que se abre, la app lo detecta y empieza sola en resolución PSP original y 30 FPS. Se puede cambiar desde ⚙.

  • Editar posición de controles: arrastra cada grupo de botones y ajusta su tamaño con − / +.
  • Restablecer controles: vuelve al diseño original.

La configuración avanzada vive en VCSNative.ini, dentro de los archivos privados de la app.

Controles

  • Táctil: joystick flotante (aparece donde apoyas el pulgar), cruceta, △ ○ ✕ □, L, R, SELECT y START.
  • Cámara táctil: joystick derecho (el del ojo 👁, a la izquierda de △ ○ ✕ □) para girar la cámara; también se puede mirar arrastrando el dedo por cualquier zona libre de la pantalla.
  • Mando Bluetooth/USB: A = ✕, B = ○, X = □, Y = △, L1/L2 = L, R1/R2 = R, Start, Select, cruceta, stick izquierdo y stick derecho para la cámara.
  • Teclado y ratón: WASD para moverse (Alt para caminar), Espacio, Shift, F/Enter, Q/E, H, flechas, Esc (pausa) y Tab. El primer clic captura el ratón y desde entonces mueve la cámara, como en PC; clic izquierdo dispara, clic derecho apunta y el botón central mira atrás.

Al usar un mando, un teclado o un ratón, los controles táctiles se ocultan; vuelven al tocar la pantalla.

El radar está arriba a la izquierda, donde no lo tapa el pulgar. Si el botón L te lo tapa, muévelo con ⚙ → Editar posición de controles.

Problemas conocidos

  • En resoluciones altas el juego no siempre llega a velocidad completa. Si va lento, baja la resolución y pon 30 FPS desde ⚙.
  • En celulares muy modestos (Helio G85 y similares) puede no llegar a velocidad completa ni en el modo de gama baja.
  • En algunos puntos (el icono de guardado del juego, el final de algunas misiones) la pantalla puede quedarse en negro. Se está investigando; mientras tanto, usa el guardado de estado antes de esos momentos para no perder avance.
  • Los videos de introducción se saltan (pantalla negra): falta el decodificador de video para Android.
  • El APK beta está firmado con una clave de depuración.

Compilar

Android

Requisitos: Android SDK, NDK 28.2.13676358, CMake 3.22.1, Java compatible con Gradle 8.11.1 y un dispositivo ARM64 autorizado para ADB. Desde PowerShell, en la raíz del repositorio:

./build_android.ps1
./run_android.ps1

Consulta Vulkan en Android y el análisis de portabilidad para los detalles técnicos.

Windows

Requisitos: Visual Studio 2022 con C++, Windows SDK, CMake y los archivos de una copia propia del juego.

./build_vcs.ps1
./run_vcs.ps1

La preparación local está en setup_vcs.ps1 y prepare_game.ps1.

Datos y distribución

El repositorio y los APK de Releases contienen solo el programa, sin ningún dato del juego. No subas ISOs, EBOOTs, ELF descifrados, partidas ni recursos comerciales: cada usuario debe aportar sus propios archivos.

El framework PSPRecomp usa licencia MIT. Las licencias y avisos adicionales del perfil están en THIRD_PARTY.md. Proyecto comunitario no oficial, sin afiliación con Rockstar Games ni Sony Interactive Entertainment.

About

Experimental Android ARM64 port of PSPRecomp's Vice City Stories profile

Resources

Stars

47 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages