blob: 0842421e8e389ed87513059a22f66fa07443ea81 (
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# gsctool
Simple `GSC` script loader and dumper for the `PC` version of `Call Of Duty: Black Ops 1 (T5)`.
[`https://journal.lunar.sh/2023/gsctool.html`](https://journal.lunar.sh/2023/gsctool.html)
To load the demo `GSC` plugin, copy `gsctool` to the game's root directory.
This demo will give you a `raygun` on spawn in `SP` zombie mode.
* `GSC` dumps are written to `gsctool/cache`.
> Note: 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 `WSL` (`Windows`)
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 Video`:
[](https://www.youtube.com/watch?v=Gs9mHXyiGNg)
Files:
<br/>
* `gsctool.h` - `GSC` loader definitions.
* `gsctool.c` - `core` implementation.
* `offsets.h` - `T5` function `offsets`.
# Dependencies
* [`cdl86`](https://github.com/lunarjournal/cdl86) - `x86_64` detours library.
* [`miniz`](https://github.com/lunarjournal/miniz) - `zlib` library.
# Signature
```
+---------------------------------------+
| .-. .-. .-. |
| / \ / \ / \ |
| / \ / \ / \ / |
| \ / \ / \ / |
| "_" "_" "_" |
| |
| _ _ _ _ _ _ ___ ___ _ _ |
| | | | | | | \| | /_\ | _ \ / __| || | |
| | |_| |_| | .` |/ _ \| /_\__ \ __ | |
| |____\___/|_|\_/_/ \_\_|_(_)___/_||_| |
| |
| |
| Lunar RF Labs |
| https://lunar.sh |
| |
| RF Research Laboratories |
| Copyright (C) 2022-2024 |
| |
+---------------------------------------+
```
|