What's new

Game Mods Custom GSC Loader / Compiler Release!

C

CraftyCritter

Newbie
Messages
18
Reaction score
9
Hey guys, this is a release of my Xbox 360 custom GSC loader, along with a compiler that is known working for Xbox 360 and probably for ps3. Both are based on CraigChrist8239's Tesseract and ported BO2 GSC compiler so massive thanks to him. The loader has a patched default.xex and default_zm.xex, and Tesseract.dll. To install it, just drag them into your bo3 directory and create a "raw" folder in the same directory, the same as bo2's tesseract. It will not work on real XDKs or tu7 and before.

The compiler is also pretty similar to bo2's with a few small changes, like using ::: to call internal functions and using hashes a lot more. I have included a readme and an example gsc script that covers all the changes in detail along with a guide on how to use the compiler. The compiler is not 100% perfect, so if you find any bugs or need some help just ask in the comments or contact me. Loading compiled GSC files is the same as bo2's tesseract, so if I was going to load the multiplayer _clientids.gsc it would go in "bo3\raw\scripts\mp\gametypes\_clientids.gsc".

I have also included a simple hash generator and a GSC disassembler for debugging, along with source for all of them if you want it. I'll comment some interesting code as I find it, and attempt to make a mod menu also. BO2's compiler thread also has a lot of good code that works on bo3: https://www.se7ensins.com/forums/threads/console-gsc-compiler.1197873/

Download:
[Click here to view this link]

Virus Scan:
https://www.virustotal.com/gui/url/...02e3ca4d9a6a38d8c0222e7b2508f295d5b/detection

 
C

CraftyCritter

Newbie
Messages
18
Reaction score
9
C

CraftyCritter

Newbie
Messages
18
Reaction score
9
Update v1.2:
- Fixed OP_EvalLocalVariable and it's varieties not having a variable number if the variable was not found.
- Fixed variables being turned to lowercase when listed, causing variables to not be found.
- Added output warnings to the compiler when unknown variables are used. It will still compile, but will likely crash your game without fixing the script.
- The game now outputs an error message when a function in a GSC script can't be found, which is very useful for debugging a large script. More info in the readme file.

Download:
[Click here to view this link]
Virus scan: https://www.virustotal.com/gui/url/b1f77cb15118971bc43582ba0857932930915f20bc293e64b211f4919f51ebf4
 
C

CraftyCritter

Newbie
Messages
18
Reaction score
9
Update v1.3.1:
- Fixed the "Dynamic Config string buffer out of space" error when using HUD elem strings, so instead of 0x400 bytes of space you now have 0x8000.
I spent the past week trying to find a solution to this problem, but bo3's string storage is so different from bo2 and nothing I tried was working, so I decided to make a large char array and be done with it. It isn't the solution I wanted to use, but it was the only one that worked. On the upside, look out for a mod menu coming soon :wink:

Download:
[Click here to view this link]
Virus scan: https://www.virustotal.com/gui/url-...e830be2bd87a991be40beac7c18f724e17-1621143131
 
Last edited:
C

CraftyCritter

Newbie
Messages
18
Reaction score
9
Update v1.4.1:
- Isdefined() now works with capital letters, along with vectorscale(), gettime(), and any other function that is an opcode.
- The GSC disassembler is now near instant when disassembling scripts as it is now using the StringBuilder class for every text box.
- The disassembler now has wordwrap and horizontal scroll bars on the includes and output box.

Download:
[Click here to view this link]
Virus scan: https://www.virustotal.com/gui/url-...1a58e34dbf3a3f750baae345d9e53cc9ca-1621262258
 
Last edited:
C

CraftyCritter

Newbie
Messages
18
Reaction score
9
Update v1.5:
- waittill() now works correctly
- int16 values in the gsc header now don't overflow to negative in the dissasembler when too large.
- path names with a length of 1 now don't crash the dissasembler.
- wordwrap is turned off in the dissasembler offset textbox to prevent large files breaking it
- Compiler now accepts #namespace and #path so it is faster to compile, as it skips the path and name hash input. More info in the example GSC.
- Removed functions with different parameter amount and flags being grouped together, which was preventing functions from not working correctly if two separate calls were different.

Download: [Click here to view this link]
Virus scan: https://www.virustotal.com/gui/url-...6df968409014841be18a48d6d40dd10825-1623572922
 
Top Bottom