mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2024-12-26 21:22:27 -06:00
54 lines
3.2 KiB
Markdown
54 lines
3.2 KiB
Markdown
Client Build Preparation
|
|
========================
|
|
The first step in building a distributable Toontown Infinite client is building ```GameData.bin```. ```GameData.bin``` is an encrypted blob of frozen Python code. It contains all of the code necessary to run the game. There are three steps to building this file:
|
|
|
|
* **Prepare for building**
|
|
* [Build the frozen Python module](build-client.md)
|
|
* [Encrypt the frozen Python module](encrypt-client.md)
|
|
|
|
This document outlines how to accomplish the first task.
|
|
|
|
- - -
|
|
|
|
Preparing the client for building is quite simple when using the ```prepare_client.py``` utility. What it does is it creates a build directory with all of the necessary files for running a client. All server-specific files get removed. Next, it removes all ```__debug__``` blocks from the code, as they may pose a security risk, or be highly developer specific. After that, a file called ```game_data.py``` is generated. This file contains the PRC file data, (stripped) DC file, and time zone info. If a ```REVISION``` token was provided in the ```--server-ver``` option, it gets replaced in the PRC file data with the first 7 characters of the GitHub revision. Finally, if ```--build-mfs``` is provided, any phase files that were modified get compiled.
|
|
|
|
## Usage ##
|
|
|
|
usage: prepare_client.py [-h] [--distribution DISTRIBUTION]
|
|
[--build-dir BUILD_DIR] [--src-dir SRC_DIR]
|
|
[--server-ver SERVER_VER] [--build-mfs]
|
|
[--resources-dir RESOURCES_DIR] [--include INCLUDE]
|
|
[--exclude EXCLUDE]
|
|
[modules [modules ...]]
|
|
|
|
positional arguments:
|
|
modules The Toontown Infinite modules to be included in the
|
|
build.
|
|
|
|
optional arguments:
|
|
-h, --help show this help message and exit
|
|
--distribution DISTRIBUTION
|
|
The distribution token.
|
|
--build-dir BUILD_DIR
|
|
The directory in which to store the build files.
|
|
--src-dir SRC_DIR The directory of the Toontown Infinite source code.
|
|
--server-ver SERVER_VER
|
|
The server version of this build. REVISION tokens will
|
|
be replaced with the current Git revision string.
|
|
--build-mfs When present, multifiles will be built.
|
|
--resources-dir RESOURCES_DIR
|
|
The directory of the Toontown Infinite resources.
|
|
--include INCLUDE, -i INCLUDE
|
|
Explicitly include this file in the build.
|
|
--exclude EXCLUDE, -x EXCLUDE
|
|
Explicitly exclude this file from the build.
|
|
|
|
## Example ##
|
|
|
|
ppython -m prepare_client --distribution devdist --build-dir build --src-dir ..
|
|
--server-ver infinite-REVISION --build-mfs
|
|
--resources-dir ../resources
|
|
--include NonRepeatableRandomSourceUD.py
|
|
--include NonRepeatableRandomSourceAI.py
|
|
--exclude ServiceStart.py
|
|
otp toontown
|