Add new art to the client
Adding new art
There are two separate topics related to adding new art to the PlaneShift Engine:
- Creating new art
- Packaging the art with the client and server
For the first point please refer to this page: Creating Art and mods
For the second topic you can continue to read this page.
Overview
To check if the art provided by the artists is in the correct format, the best way is to open it with Viewmesh and Walktest (both are included in the standard CS distribution).
At PlaneShift the art assets are stored unzipped in a standard directory tree, until we have to package a new release. Please note the "characters.zip" below is actually a directory, named "characters.zip", same for the others.
/myartrepo/ characters.zip/ dermf.zip/ dermf.cal3d dermf_arm.dds dermf_attack.CAF ... enkif.zip/ enkif.cal3d ... ... things/ weapons.zip/ doubleaxe01a.meshfact doubleaxe01a.dds doubleaxe01a_icon.dds ... ...
When we want to package a release, the first steps is to zip the content of the dirs above and place all zip files in a single directory, please note "npcroom1.zip" below is a zip file, same for the others.
/planeshift/trunk/ artin/ npcroom1.zip akkaio.zip ... weapons.zip potions.zip ...
Then we launch the ccheck program to package the art in the final form. Please note the two directories HAVE to exist or it will not work.
./ccheck -in=/this/artin/ -out=/this/artout/ -process
This will create inside artout/ three directories: materials, meshes, world.
Then we just have to zip each one and move the files to the client art/ directory.
ccheck reference
ccheck is an helper application to parse, check and rearrange art files:
~$ ccheck --help
Art Conflict Checker.
This application checks for duplicate meshfact and texture inclusions in art files.
Options:
-in The vfs path to directory to search in. Defaults to /this/ccheck/
-check Whether to do a meshfact conflict check.
-process Whether to process art into a optimal format for bgloader.
-strip Whether to strip data not needed for collision.
-out The vfs path to the directory to output processed art files in. Defaults to /this/ccheckout/
Usage: ccheck(.exe) -path=/this/path/to/directory/
file locations after ccheck
Example stonecave
meshes.zip:
_auto_stonecave_stonefloor: <meshfact name="_auto_stonecave_stonefloor">
bindata/ _auto_stonecave_stonefloor_n _auto_stonecave_stonefloor_submesh1_0_i _auto_stonecave_stonefloor_submesh1_i _auto_stonecave_stonefloor_tc _auto_stonecave_stonefloor_v
materials.zip
lava5.mng lightmaps/ stonecave_0.png stonecave_1.png ...
world.zip:
stonecave (world file) <meshobj name="stonecave_stonefloor"> ... <renderbuffer file="bindata/stonecave_stonefloor_lm" name="texture coordinate lightmap" /> ... bindata\stonecave_stonefloor_lm