How it works
- The engine (
game.wasmfrom your files) is translated to C with wasm2c and compiled to ARM64 at build time; iOS does not allow compiling code on the phone. - Graphics use this project's own Metal renderer (
app/Source/MetalRenderer). It runs the game's Direct3D 11-style command stream directly on Metal. At build time, the game's shaders from your files are translated to Metal withapp/ShaderTool(built on Google's Tint, BSD-3-Clause/Apache-2.0, prebuilt in this project's releases) and precompiled into the app, so nothing is compiled on the phone while you play. - Touch input feeds the engine's own controller code, so GTA's controller features (assisted aim, analog driving) work.
- Game files are read straight from the folder on your phone, or streamed from your server into a block cache.
- Script Hook V mods (
.asi, Windows x64 code) run in a built-in x86-64 interpreter (Blink, ISC license) whose memory is the engine's own, so a mod's game commands go straight to the engine's handlers. - The website builder runs in your browser with your own GitHub sign-in: it uploads the three build files to your private repository and starts this repository's workflow there. Its server stores nothing.
Thanks
This port is better because of people outside the project:
- @k49kg9xmsd-prog: the app in 13 languages and swipe-to-look (#4).
- @ITSUPERVISOR: the story cheats in Settings (#9).
- @TomerGamerTV: the ideas behind the v1.3.2 fixes for pedestrian spawning crashes, the Replay editor's free space check and flickering props.
- @gfejer: the Cheats menu with the vehicle spawner, God mode and Never wanted (#22).
- @m1337v: the airplane right stick (#12) and retrying interrupted game-file reads (#13).
- Players who opened issues that shaped v1.3.4: @aliiscoding2122 (Story money reset to $0, #10), @k49kg9xmsd-prog (pause when leaving the app, #11) and @phakamaec (the builder handing out the old version, #14).
- Players who opened issues that shaped v1.4: @k49kg9xmsd-prog (aim and duck while driving, #15), @abtastic-hub (five bugs from the barber to Set money, #19), @mmts7hrnb5-jpg (the photo crash, #16), @Blue7366 (mods, #3) and @sonubhutani1979-afk (the builder sign-in, #18).
- Players who opened issues that shaped v1.4.2: @abtastic-hub (the Handler in Scouting the Port, calls while walking, switching back from Chop, aiming while driving and more, #20).
- Players who opened issues that shaped v1.4.3: @abtastic-hub (the trailer, the Handler, switching back from Chop and the engine sounds, #20).
- Translators: @lekhoi2811 (Vietnamese), @uk9_v (Arabic) and @muhammadiminov_007 (Uzbek), from the Translate page.
- Everyone who sent logs from Settings › Send log to the developer, especially those who described exactly what failed and added their own analysis. Those reports found the Story mode bugs fixed in v1.3.3: the crash at the end of Marriage Counseling, the lock-ups after long sessions, and the lag with stuck buttons.
License
The code written for this project is MIT licensed (see LICENSE). It does not cover the game, its data, or the third-party files fetched at build time. Those keep their own licenses: WABT and SIMDe (Apache-2.0, MIT), bcdec (MIT), libarchive (app/Vendor/LICENSE-libarchive.txt) and libopus (app/Vendor/LICENSE-libopus.txt), both BSD, and Blink (app/Vendor/LICENSE-blink.txt, ISC).