summaryrefslogtreecommitdiff
path: root/README.md
blob: a048cb4ff0d2beb97f9b0a9fe7654f2f964aec19 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# gsctool

Simple `GSC` loader and dumper for `Call Of Duty: Black Ops 1 (T5) (Microsoft Windows)`.

[https://journal.lunar.sh/2023/gsctool.html](https://journal.lunar.sh/2023/gsctool.html)

To load the demo `GSC` plugin copy `gsctool` to the games root directory.

This demo will give you a raygun on spawn in zombie mode (solo). 

* `GSC` dumps are written to `gsctool/cache`

> This project is intended to be a starting point for more advanced `GSC` modding.

# Instructions

Run: `git submodule update --init --recursive` to clone submodules.

Then build project using the provided makefile in Windows Subsystem for Linux
and inject resulting `DLL`.

The compiler used for this project is [`tcc`](https://github.com/lunarjournal/tcc) (`Tiny C Compiler`).

Note: You can modify and reload GSC scripts while Black Ops is running by quiting
the level and starting it again.

![Demo](https://raw.githubusercontent.com/lunarjournal/gsctool/main/images/demo.png)

Files:
<br/>
* `gsctool.h` - GSC loader definitions.<br/>
* `gsctool.c` - core implementation.<br/>
* `offsets.h` - T5 function offsets.

# Dependencies

* [cdl86](https://github.com/lunarjournal/cdl86) - `x86 detours library`
* [miniz](https://github.com/lunarjournal/miniz) - `zlib library`