Add new art to the client

From PSwiki
Jump to navigation Jump to search

Adding new art

There are two separate topics related to adding new art to the PlaneShift Engine:

  1. Creating new art
  2. 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.


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 "" below is actually a directory, named "", same for the others.


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 "" below is a zip file, same for the others.


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.


-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

    <meshfact name="_auto_stonecave_stonefloor">


 stonecave (world file)
   <meshobj name="stonecave_stonefloor">
      <renderbuffer file="bindata/stonecave_stonefloor_lm" name="texture coordinate lightmap" />