update readme
This commit is contained in:
parent
3261566d17
commit
a9e08a7171
36
README.md
36
README.md
@ -1,17 +1,18 @@
|
|||||||
[![Build status](https://ci.appveyor.com/api/projects/status/defmhg4753c1ap1o?svg=true)](https://ci.appveyor.com/project/xensik/gsc-tool)
|
[![build](https://ci.appveyor.com/api/projects/status/defmhg4753c1ap1o?svg=true)](https://ci.appveyor.com/project/xensik/gsc-tool)
|
||||||
![license](https://img.shields.io/github/license/xensik/gsc-tool.svg)
|
![license](https://img.shields.io/github/license/xensik/gsc-tool.svg)
|
||||||
[![GitHub issues](https://img.shields.io/github/issues/xensik/gsc-tool)](https://github.com/xensik/gsc-tool/issues)
|
[![issues](https://img.shields.io/github/issues/xensik/gsc-tool)](https://github.com/xensik/gsc-tool/issues)
|
||||||
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/xensik/gsc-tool)](https://github.com/xensik/gsc-tool/releases)
|
[![releases](https://img.shields.io/github/v/release/xensik/gsc-tool)](https://github.com/xensik/gsc-tool/releases)
|
||||||
|
[![paypal](https://img.shields.io/badge/PayPal-support-blue.svg?logo=paypal)](https://www.paypal.me/xensik)
|
||||||
|
|
||||||
# GSC Tool
|
# GSC Tool
|
||||||
A utility to compile & decompile IW engine game scripts.
|
A utility to compile & decompile IW engine game scripts.
|
||||||
|
|
||||||
## Supported Games
|
## Supported Games
|
||||||
- **IW5** *(Call of Duty: Modern Warfare 3)* `PC` `PS3` `Xbox 360`
|
- **IW5** *(Call of Duty: Modern Warfare 3)* `PC` `PS3` `Xbox 360`
|
||||||
- **IW6** *(Call of Duty: Ghosts)* `PC` `PS4` `Xbox One`
|
- **IW6** *(Call of Duty: Ghosts)* `PC` `PS3` `PS4` `Xbox 360` `Xbox One`
|
||||||
- **IW7** *(Call of Duty: Infinite Warfare)* `PC` `PS4` `Xbox One`
|
- **IW7** *(Call of Duty: Infinite Warfare)* `PC` `PS4` `Xbox One`
|
||||||
- **IW8** *(Call of Duty: Modern Warfare (2019) / Warzone)* `PC` `PS4` `PS5` `Xbox One` `Xbox Series X|S`
|
- **IW8** *(Call of Duty: Modern Warfare (2019) / Warzone)* `PC` `PS4` `PS5` `Xbox One` `Xbox Series X|S`
|
||||||
- **S1** *(Call of Duty: Advanced Warfare)* `PC` `PS4` `Xbox One`
|
- **S1** *(Call of Duty: Advanced Warfare)* `PC` `PS3` `PS4` `Xbox 360` `Xbox One`
|
||||||
- **S2** *(Call of Duty: WWII)* `PC` `PS4` `Xbox One`
|
- **S2** *(Call of Duty: WWII)* `PC` `PS4` `Xbox One`
|
||||||
- **S4** *(Call of Duty: Vanguard)* `PC` `PS4` `PS5` `Xbox One` `Xbox Series X|S`
|
- **S4** *(Call of Duty: Vanguard)* `PC` `PS4` `PS5` `Xbox One` `Xbox Series X|S`
|
||||||
- **H1** *(Call of Duty: Modern Warfare Remastered)* `PC` `PS4` `Xbox One`
|
- **H1** *(Call of Duty: Modern Warfare Remastered)* `PC` `PS4` `Xbox One`
|
||||||
@ -25,12 +26,12 @@ A utility to compile & decompile IW engine game scripts.
|
|||||||
``./gsc-tool.exe <mode> <game> <path>``
|
``./gsc-tool.exe <mode> <game> <path>``
|
||||||
|
|
||||||
**modes**: `asm`, `disasm`, `comp`, `decomp`
|
**modes**: `asm`, `disasm`, `comp`, `decomp`
|
||||||
|
- *note:* zonetool files (*.cgsc*, *.cgsc.stack*) use: `zasm`, `zdisasm`, `zcomp`, `zdecomp` modes
|
||||||
|
|
||||||
**games**: `iw5c`, `iw5`, `iw6`, `iw7`, `iw8`, `s1`, `s2`, `s4`, `h1`, `h2`, `t6`
|
**games**: `iw5`, `iw6`, `iw7`, `iw8`, `s1`, `s2`, `s4`, `h1`, `h2`, `t6`
|
||||||
|
- *note:* PS3 & Xbox 360 use `iw5c`, `iw6c`, `s1c` games
|
||||||
|
|
||||||
**paths**: `file`, `directory` (recursive process all files inside dir)
|
**paths**: `file`, `directory` (recursive process all files inside the directory)
|
||||||
|
|
||||||
for zonetool files (*.cgsc*, *.cgsc.stack*) use: `zasm`, `zdisasm`, `zcomp`, `zdecomp` modes
|
|
||||||
|
|
||||||
Example: ``./gsc-tool.exe comp iw5 ./data/iw5/my_fancy_script.gsc``
|
Example: ``./gsc-tool.exe comp iw5 ./data/iw5/my_fancy_script.gsc``
|
||||||
|
|
||||||
@ -44,7 +45,7 @@ Example: ``./gsc-tool.exe comp iw5 ./data/iw5/my_fancy_script.gsc``
|
|||||||
## File Format
|
## File Format
|
||||||
If you need to extract scripts from fastfiles or game memory, use [Zonetool](https://github.com/ZoneTool/zonetool) or [Jekyll](https://github.com/EthanC/Jekyll).
|
If you need to extract scripts from fastfiles or game memory, use [Zonetool](https://github.com/ZoneTool/zonetool) or [Jekyll](https://github.com/EthanC/Jekyll).
|
||||||
|
|
||||||
- gsc-tool ``.gscbin`` format is a serialized ScriptFile struct: <br/>
|
- gsc-tool `.gscbin` format is a serialized ScriptFile struct: <br/>
|
||||||
***name***: null-terminated string <br/>
|
***name***: null-terminated string <br/>
|
||||||
***compressedLen***: 4 byte uint <br/>
|
***compressedLen***: 4 byte uint <br/>
|
||||||
***len***: 4 byte uint <br/>
|
***len***: 4 byte uint <br/>
|
||||||
@ -52,12 +53,21 @@ If you need to extract scripts from fastfiles or game memory, use [Zonetool](htt
|
|||||||
***buffer***: byte array[compressedLen] <br/>
|
***buffer***: byte array[compressedLen] <br/>
|
||||||
***bytecode***: byte array[bytecodeLen] <br/>
|
***bytecode***: byte array[bytecodeLen] <br/>
|
||||||
|
|
||||||
- zonetool (IW5) format made of bytecode file ``.cgsc`` and decompressed stack buffer ``.cgsc.stack``.
|
note: for PS3 & Xbox 360 `.gscbin` files *(compressedLen, len, bytecodeLen)* are saved as little-endian!!
|
||||||
|
|
||||||
- treyarch (T6) format is a single buffer with gscobj data ``.gsc`` or ``.csc``.
|
- zonetool (IW5) format made of bytecode file `.cgsc` and decompressed stack buffer `.cgsc.stack`.
|
||||||
|
|
||||||
|
- treyarch (T6) format is a single buffer with gscobj data `.gsc` or `.csc`.
|
||||||
|
|
||||||
|
## Contribute
|
||||||
|
If you like my work, feel free to contribute! Would allow me to spend more time adding new features & fixing bugs.
|
||||||
|
|
||||||
|
BTC: bc1qky7x9kpjlt6nsvt7pckc3wwzk8rk9pgtnmw98u\
|
||||||
|
ETH: 0x6261BBE1a33F6Fec4b722DbCe2c28B4CC02c9C7B\
|
||||||
|
[![pypl](https://img.shields.io/badge/PayPal-00457C?style=for-the-badge&logo=paypal&logoColor=white)](https://www.paypal.me/xensik) [![kofi](https://img.shields.io/badge/Ko--fi-F16061?style=for-the-badge&logo=ko-fi&logoColor=white)](https://ko-fi.com/xensik)
|
||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
This project is based on [*RektInator's* gsc-asm](https://github.com/ZoneTool/gsc-asm). Special thanks to **RektInator**, **JTAG** & **Dasfonia**.
|
This project is based on [*RektInator's* gsc-asm](https://github.com/ZoneTool/gsc-asm). Special thanks to **RektInator**, **JTAG** & **Dasfonia**.
|
||||||
|
|
||||||
## Disclaimer
|
## Disclaimer
|
||||||
This software has been created purely for the purposes of academic research. Project maintainers are not responsible or liable for misuse of the software. Use responsibly.
|
This software has been created purely for the purposes of academic research. Project maintainers are not responsible or liable for misuse of the software. Use responsibly.
|
||||||
|
Loading…
Reference in New Issue
Block a user