Skip to content

Commit

Permalink
Readme stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
squ1dd13 committed Feb 2, 2021
1 parent d68063b commit 530d794
Showing 1 changed file with 34 additions and 14 deletions.
48 changes: 34 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,30 +5,56 @@
Jailbreak tweak for injecting CLEO scripts into GTA: SA on
iOS. [Video demonstration](https://www.youtube.com/watch?v=6FTkOEV7qnw)

This is **not** a port of the existing tools (the CLEO family), but is instead a complete reimplementation for the iOS
This is **not** a port of the existing tools (the CLEO family), but is instead a from-scratch implementation for the iOS
platform. It attempts to function similarly to the Android version of CLEO.

## Using

This project is in a very early stage of development and is not particularly user-friendly at the moment, but it does
work.

* Install a `.deb` archive for this tweak to the device.
* To install a script, place it in `/var/mobile/Documents/CS`.
* Any supporting files (`.fxt` only at the moment) should also be placed there.
* Expect decent results only with CLEO Android (`.csa`) scripts.
* Expect decent results only with CLEO Android (`.csa` or `.csi`) scripts.
* Custom textures are not yet supported.

Please carefully read any `readme.txt` (or similarly named) files packaged with scripts
in order to find out what you have to do to use the mod. To access the mod menu, you must
swipe down in the middle of the screen. You can dismiss it either by selecting a script
to run, or by tapping outside of the menu.

### What does it do?

* Loads scripts and injects them into the game.
* Loads localisation files (.fxt).
* Mimics CLEO Android's touch zone control system.
* Provide a script menu ("mod menu") similar to CLEO Android and allows scripts to be loaded mid-game.

### What does it *not* do?

* Provide a script menu ("mod menu") such as that of CLEO Android.
* Load PC scripts (some may work, but don't expect most to).
* Load PC scripts (some may work, but don't expect most to).
* Guarantee that all scripts (Android or not) will work.

## Known Issues

* Zinc is **not currently compatible with the Odyssey jailbreak**, as it relies on Saurik's Cydia Substrate.

* Not all instructions are implemented.*

* Any script that relies on custom assembly code *will never work*. This is because the Android version of
the game is exclusively 32-bit, and while there are both 32 and 64-bit versions of the game for iOS,
Zinc only supports 64-bit devices.

*There are several instructions added in CLEO Android that cannot be used with Zinc, either because they don't
make sense for iOS (i.e. they relate to Android-only system features) or because the iOS game cannot provide
enough information for them to be implemented - function names are not present in the iOS version, for example,
so instructions that aim to obtain function information by name cannot be implemented (realistically). There
are also some instructions that I don't know enough about to implement (please see **Contributing**).

## Contributing
Please feel free to contribute code, ideas, tutorials or anything else to the Zinc project!

Even if you can't contribute to the code directly, I'm looking specifically for information on
the Android opcodes `0xDD0`-`0xDDD` because they are not implemented in Zinc and thus many scripts
that use them will be broken.

## Building

Expand All @@ -47,10 +73,4 @@ work.
```shell
#!/bin/bash
```
or whatever the path to your shell is.

## Known Issues

* Zinc is **not compatible with the Odyssey jailbreak**, as it uses Saurik's Cydia Substrate.
* Android's `0DD1` opcode (`GetFuncAddrByCStrName`) cannot be implemented because the symbols have been stripped from
the iOS version of the game.
or whatever the path to your shell is.

0 comments on commit 530d794

Please sign in to comment.