Skip to content

Original Toontown Resources Files. ~6gb repo.

Notifications You must be signed in to change notification settings

loonaticx/ttmodels

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 

Repository files navigation

This guide is intended to address frustrations one may bump into while trying to figure out how to build Spotify's models. It is also written in a way for which individuals with lesser technical experience can navigate through and build the models themselves. I've also included a few scripts to help expedite some processes.

Firstly, I must say that a good portion of the instructions and workspace itself was curated by Brian Lach. You can find his Github here.

Additionally, I must add that these are instructions for Windows only.

Required files

  • You need to have this repository cloned anywhere on your computer. This is the workspace we will be using.

  • Autodesk Maya installed, preferably any version from 2016-2020.

  • You need to be able to use the program make to build the models. You can check whether or not you have make already installed by typing make in a command prompt. If you do not have make installed, I recommend installing Chocolatey:

    • With Chocolatey, you can install make via choco install make in the command line or Powershell.
  • Lastly, I highly recommend using a build of Panda3D with this commit. This reintroduces the maya2egg server, which would greatly reduce the total time it will take to build all of the models.

    • If you do not already have a Panda3D install with Maya support, you will need to either build or install a version with the Maya tools.
    • There is a prebuilt Panda3D binary uploaded in the Releases tab that already includes these tools, including the Maya server.

Configuring ppremake

Panda Premake ("ppremake") is a deprecated tool that was originally used to build and convert files en masse for the Panda3D engine. While the binary is no longer available in modern versions of Panda, it was built to be compatible as a standalone application. To save time and possible frustration, I've included a prebuilt version of ppremake located within the ttmodels directory.

If you decide not to use a Panda3D version with the Maya server support, you must open ttmodels/Package.pp and change the line reading #define MAYA2EGG maya2egg_client to #define MAYA2EGG maya2egg<MAYAVERSION>. Note that <MAYAVERSION> should be replaced with the version of Maya you are using along with the version of maya2egg your Panda3D installation comes with.

If you are using a Panda3D build with Maya server support, ensure that you have the Maya service running in the background before starting the build process. Simply open up a new command prompt and run maya2egg<MAYAVERSION> -server. Any time you would like to convert a Maya file to an Egg file, you would simply run maya2egg_client <input.mb> <output.egg> on a new shell instance.

Notice

Due to a bug within char/boss/Sources.pp, you will need to adjust the line reading #define MAYA2EGG maya2egg to #define MAYA2EGG maya2egg<MAYAVERSION>. If you are using a maya2egg server, do NOT use the client version (maya2egg_client). Instead, use the same maya2egg version as the server you're hosting.

This means that all of the models within char/boss/ will have to be converted in a manual fashion which will briefly slow down the build process.

(Updated 2/4/21) For some reason, the egg-optchar and egg-trans procedure is completely missed. There is probably a fix for this by editing the sources.pp file, but for now I will just say to open the Makefile and run the commands yourself for whichever model. It seems to be that it can't read from a temp file it just created, so the mitigation is to just apply these commands directly to the egg file itself instead of creating a temp file. This will be updated when a patch is created.

Generating Makefiles

Once adjusting our build configurations, we will let ppremake scrub over all the Sources.pp files within the model tree to generate Makefiles that will build the assets.

In order to do this, we can simply call ppremake.exe while inside our ttmodels folder.

Rebuilding Makefiles

If any adjustments are made to a Panda premake file, you must delete all instances of "Makefile" within all the child directories and re-run ppremake. I've included several scripts to help expedite this process.

Building Models

After generating makefiles and building the model tree, we are ready to build our models. Keep in mind this may take a long time, possibly several hours, to complete building.

In the ttmodels directory, run make install inside your command prompt.

Debugging Errors

While building the models, make may run into an error and stop building. Here are some solutions to common issues:

Error

make[1]: Entering directory '...ttmodels/char/boss'
maya2egg -uo ft -tbnall -nv 60 -TS 0.12 -o bossCog-gearCollide.egg bossCog-gearCollide.mb
process_begin: CreateProcess(NULL, maya2egg -uo ft -tbnall -nv 60 -TS 0.12 -o bossCog-gearCollide.egg bossCog-gearCollide.mb, ...) failed.
make (e=2): The system cannot find the file specified.
make[1]: *** [Makefile:331: bossCog-gearCollide.egg] Error 2
make[1]: Leaving directory '...ttmodels/char/boss'
make: *** [Makefile:828: egg-boss] Error 2

Solution

Refer to the "Configuring ppremake" section of this document.

Error

make[1]: Entering directory '...ttmodels/char/boss'
maya2egg_client -uo ft -tbnall -nv 60 -TS 0.12 -a chan -cn "bossCog-head" -o bossCog-head-Bf_neutral.egg -sf 1 -ef 72 SB_Bf_neutral.mb
No response has been given by the conversion server.
make[1]: *** [Makefile:481: bossCog-head-Bf_neutral.egg] Error 1

Solution

Refer to "Configuring ppremake" of this document and read the notice section.

About

Original Toontown Resources Files. ~6gb repo.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Pascal 92.1%
  • Puppet 4.9%
  • Batchfile 1.2%
  • Other 1.8%