How to set up the Build Pipeline¶
for dummies (and for Windows)
Get the data¶
Download ryzom_assets.7z and ryzom_assets_newbieland.7z. These currently contain the majority of the data. Don’t extract them just yet, instructions on where the files must be placed will be given later. Continue with the next steps while it's downloading.
Compile Ryzom Core¶
Get the source code from the Hg repository, and compile the whole thing. We’ll need the tools from both NeL and Ryzom Core. See some other wiki page for more information on this part. While compiling, you may want to move on with the next two steps already.
Download and install the 3ds Max tools¶
We’re assuming you own a copy of 3ds Max for this walktrough. You’ll need one anyway when you start working on your game. If you don’t feel like getting 3ds Max, feel free to write an exporter for your favourite modeling package of choice.
Since it’s pretty much a pain in the ass to compile the plugins for 3ds Max (especially if you’re using the stlport externals, then you’re simply screwed), just download the precompiled binaries for your version of 3ds Max, and plug them into your 3ds Max directory. Please keep in mind that we currently only support 32 bit versions of 3ds Max for the plugins, and that these will only work on a 32 bit installation of 3ds Max.
Follow the instructions for installing the 3ds Max plugins. It is very important that you properly set up the system unit configuration. And by that I really mean it's very important.
Download and install Python. Version 2.7 has been confirmed to work http://www.python.org/download/releases/2.7/.
Set up some folders¶
You’ll need a folder for all the asset building. This will take roughly 40 GB with the complete asset data set, so make sure to use a fast and empty enough hard drive. I’m going to call this directory C:\ryzom_core_build.
We will use some drive substitutions to link to our directories.
Make a bat file that contains the following lines, replace D:\source\nevrax with whatever directory (containing “code”) you’ve grabbed the source code repository to:
subst R: /D subst R: D:\source\nevrax subst L: /D subst L: D:\source\nevrax\code\ryzom\common\data_leveldesign subst W: /D subst W: C:\ryzom_core_buildAnd run the bat file too.
Put the assets in the right place¶
Create a “database” folder under W:\. Extract from ryzom_assets.7z all the directories (named Interfaces, Landscape, SFX, and all the others) into this “W:\database” folder.
From the ryzom_assets_newbieland.7z extract the “landscape” directory into the “W:\database” folder as well. It will merge with the existing “Landscape” folder (Linux users, beware your case sensitivity!).
Asset Database Fixes¶
Until we get around to making a new asset archive with all the fixes perfected and applied, you'll have to do some changes by hand.
Remove unnecessary files¶
Get rid of the entire "Database_proto" folder, these are the slightly incomplete Snowballs data sources. It does not convert properly due to version conflicts, and is not needed for Ryzom Core.
Converting 3ds Max files to the latest and greatest version¶
Due to various issues with opening outdated 3ds Max 3.0 files en masse in a slightly more recent version, we must convert all of our 3ds Max asset files into a more recent format. This may take quite a while (expect losing a day), so prepare to have other things to do while you're waiting for this process to finish up.
First of all, we make a “conversion.tag” file under “W:\database”. The script will only convert files that are older than this tag file. We need this, because 3ds Max will crash a few times during the conversion process, and we’ll need to be able to resume it from there.
The, after you’ve finally gotten past the 3ds Max splash screen, and you have properly set up your units as said earlier, go to MAXScript > Run Script, and open nel_assets_png_batched.ms.
Set it up as below.
And hit Go.
3ds Max may appear frozen after a while, but it should continue working, until it actually crashes.
So what to do when 3ds Max crashes?
First, make sure the 3ds Max process is completely gone, don't let it saved unsaved changes.
Then, check W:\database\conversion.log to see which file is responsible. Browse to this file, and make sure it hasn’t been resaved yet. If it has been, replace it with the original from the asset archive.
If any of the following files crash the process, you are running an outdated version of 3ds Max 2010. Update to SP1, and apply all 3 hotfixes after SP1 in order, delete your extracted asset database, and restart from scratch.
W:\database\Landscape\water\\DatasReUsable\\Chute\\ChuteAMorph.max W:\database\SFX\3dsmax_projects\\kami-B.max W:\database\SFX\3dsmax_projects\\OasisPosingEau.max W:\database\SFX\3dsmax_projects\\sky_fyros_night.max W:\database\SFX\3dsmax_projects\\_test_for_guigui.max W:\database\Stuff\Fyros\\Agents\\Accessories\\work_anim\\*.maxPlease write below the filenames where the process crashes.
If the file keeps giving issues, write it down below this line, and get rid of it.
(2010 @ Kaetemi) W:\database\Database_proto\Landscape\\sky\\sky_pingoo.max (2010 @ Kaetemi) W:\database\Database_proto\\Stuff\\fyros\\agent\\actors\\gnu\\gnu-assigned.max (2010 @ Kaetemi) W:\database\Database_proto\\Stuff\\fyros\\objects\\*.max (need fix by hand, material version bug) (2010 @ Kaetemi) W:\database\Stuff\\Fyros\\Agents\\Actors\\Female\\animation\\anims\\FY_HOF_Co_p_mag_mix_init.max (does not crash, just hangs there) (2010 @ Kaetemi) W:\database\Stuff\\Fyros\\Decors\\Constructions\\fy_acc_sas_a.max (bad crash) (2010 @ Kaetemi) W:\database\Stuff\\Fyros\\Decors\\Constructions\\fy_acc_sas_b.max (bad crash) (2010 @ Kaetemi) W:\database\Stuff\\Fyros\\Decors\\Constructions\\fy_cn_taverne_clusterized.max (bad crash) (2010 @ Kaetemi) W:\database\Stuff\\Fyros\\Decors\\Constructions\\fy_cn_warschool_clusterized.max (bad crash)When all is ok, re-run the script with the same settings as above.
-- HERE COMES PORTION OF "THE LIST" --
-- move some files around -- etc --
-- WIP -- DO NOT TOUCH --