Skip to content

6000j/zoo-race-modding

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

What Is This?

This is a script that disables the anti-tamper mechanisms that are used in the engine The Zoo Race is built in, in order to allow for modding directly through scripts. The engine used compiles scripts at runtime, and so once we disable the anti-tamper mechanisms, we can simply code new features in those scripts. This has limitations, and requires learning C-Script, but is a much simpler solution and does not require hooking of functions like many other common modding tools require.

Installation Instructions

  1. Download and install a copy of The Zoo Race from zoorace.com.
  2. Make a copy of the installed folder to use as your modded version, and place it in a convenient location.
  3. Drag zoorace_enable_mods.py into the modded folder, and then run it with your current directory being that folder. This will disable the anti-tamper mechanisms that the engine uses to ensure the binary and the scripts are unchanged from the published versions.
  4. (Optional) Drag the .wdl files contained in scripts into the modded folder, overwriting the pre-existing ones. This will enable simple information display menus.

Included Script fucnctionality:

Included in the scripts folder are some basic demo scripts, which include: a stats overlay that can be toggled with f10 and shows the player character's position, speed, and movement state; and an engine info overlay (toggleable with f11) that shows the current FPS of the game, and the number of entities currently loaded in the engine. These are both useful, and already a new glitch has been found as a result of the stats overlay!

What's next?

In notes.md I have included some notes about the modding process (the reverse engineering process took ~8-10 hours, but details are likely not useful to users of this repo), including difficulties I've run into. These have not been substantially edited from the form I wrote them for myself, and so are much more train-of-thought than a formal writeup.

They also contain an extended section on my attempts to implement save states: the ability to save the current state of the game and then load it again later such that it is exactly the same as when the game was saved. This would be a very useful tool to have access to for glitch hunting, but I have encounted substantial difficulties in doing so, and many of the reasons why are enumerated in notes.md. Nevertheless, I believe it to be possible, and so I will continue attempting to do so.

Contact:

If you have any wish to contribute to this project, email me at sixthousandj@gmail.com (with a clear subject line), or join the Zoo Race Speedrunning discord (not linked here).

About

Modding tools for The Zoo Race (2007)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages