Current version: v1.2.7 (November 27th, 2011)
Hello all, here's my first modding tool here; SCO ToolBox.
SCO ToolBox is designed for decoding, encoding and low level editing of SCO files.
As I always want to see screenshots of tools getting released, and you probably want that too, behold:
Shown are the main screen and the SCO editor. Yes, it can successfully decompile and compile code. However, in low level. See the Notes for why.
The usage of SCO ToolBox is rather obvious.
Just launch it and you will be able to open a single file (for decoding/encoding and editing) and batch decode/encode a bunch of files.
After you open a single file, information about the file is displayed in the properties box. To low level edit it, click the "Open Code Editor" button. Please select the correct script version for the natives mode.
The advanced editor offers line numbering, syntax coloring, auto completing and a bunch of other useful features. However, it will take a while to load large chuncks of code into the advanced editor (decompiling and compiling itself is fast though). It is advised to use the basic editor for large files (>50000 bytes).
Please see the following screenshots for the batch convert panel, and the basic editor:
I've made changes to the already cleaned script (by Shadow-Link) for GTA IV: San Andreas. I've added text, spawned a vehicle, added armor and changed the time of day. It works successfully on 22.214.171.124. You can view the result here:
Please keep in mind the following notes before using SCO ToolBox:
- IV or EFLC should either be installed or be in the same directory as the tool. This is required for reading the AES cypher key for encrypting and decrypting the SCO files. It is legally not allowed to distribute this key with the program itself.
- This is not Sanny Builder! SCO ToolBox only offers low level coding. It is certainly a bit harder, but after screwing around with it a while, you can create simple things such as spawning a car. But it works!
- I didn't do high level editing because that's harder to do and the Russians are probably working on their editor, so it would be lost time and effort. However, if you want to give it a try, ask me the source.
- As said above, you should really use the basic editor when opening a large file. The main.sco for example. It took 3 minutes to load it in on my quad core processor (1 second for the basic editor). I didn't make the advanced editor component (it is SyntaxBox by Roger Alsing), so I don't think it can be fixed. However, compiling and decompiling is fast. It processes main.sco in 4 seconds.
- You can not fully compile for the new SCO type (e.g. 126.96.36.199). This is because the new hasing algorithm for the natives is still unknown. I've collected some of the new hashes by comparing the scripts for 188.8.131.52 and 184.108.40.206, so you can compile simple code for 220.127.116.11 with this tool. You can view the known and unknown hashes by opening Data\NativesNew.dat and Data\HashesNew.dat.
- So, check the natives mode when you load and save files. Otherwise, the natives will be respectively displayed as hex values or compiled incorrectly.
- Hover your mouse over the auto complete function list to see if you shoud, and, if yes, what parameters you should add to a function. You can open existing SCO files or check out the GTAModding wiki to get a general view of how things work.
- Because this is actually more like a beta version, the tool may decompile and display things incorrectly. However, it will get compiled in the same (incorrect) way. I've decompiled and recompiled the full main.sco successfully. There were no binary differences (except float values).
- I've added some stuff to the Tools folder. You will find and completely empty script file if you want to create a new file. I've also added a list of vehicle hashes if you want to spawn a vehicle.
- Please note that this is a SCO utility, so it cannot extract it from or pack it into a IMG archive for you.
- I am not a SCO coder, so I can not tell you why your script crashes or how to use all the natives and script features. I can certainly have a try on checking your code, though. First thing to check if your code crashes would be if the correct natives mode is selected.
You can download the latest version of SCO ToolBox - v1.2.7 (November 27th, 2011) - here:
- Added 18.104.22.168 natives (Thanks OinkOink and sjaak327).
- Added description for code signature.
- Added update checker.
- Some other bug fixes.
- First public release.
(Didn't log previous versions)
I hope you like it.