CS Importer (Game tool)

Information
Jonwil 's Custom Scenery Importer was the first tool for importing user created content into RCT3. Since its release, the Importer has undergone several changes in both coding, layout and ownership, but is still commonly known as Jonwil's Importer.

Sizes And Positions
All sizes are expressed in units (u). This is the unit you find in your 3D modeller (confirmed: 3Dmax, Blender, MilkShape, (1cm), Google Sketchup (1m)).

The newest importer versions allow you to set up a transformation matrix that puts the object correctly for your modeller. To compensate the differences for different modellers

Here is a table defining gameplay related axes for the explanations and a list to which modeller axes they conform.

Sizes

 * RCT3 tile square: 4 u x 4 u
 * Walls: 1 u, 2 u and 3 u high for 1/3, 1/2 and full wall respectively. The plain ones seem to be about 0.2 u thick.
 * Peeps: approx. 1 u, 1.5 u and 2 u for kids, teens and grown-ups respectively.
 * Coaster rails, Steep Slope: 4 u wide, 8 u high, 8.9443 u long
 * Coaster rails, Width: Giga Coaster: ~ 1.2 - 1.25 u / Inverted Coaster ~ 1.5 u

Position and Orientation
The scenery is listed by the Size Flag used in the Importer


 * Full Tile: the origin is the center of the tile. A full tile cube would be (a: -2 to 2 / m: -2 to 2 / s: 0 to 4).
 * 1/4 Tile: the origin is the center of the quarter tile. A quarter tile cube would be (a: -1 to 1 / m: -1 to 1 / s: 0 to 2).
 * 1/2 Tile: the origin is the center of the half tile. The front of the object is on the +m side, ie the long dimension is along the m-axis.
 * Wall: Walls span up in the u/m plane. The origin is the middle of the tile edge you place the wall on, the tile being in the -a direction. A normal RCT3 wall therefore seems to be (a: -0.2 to 0 / m: -2 to 2 / s: 0 to 3).
 * Corner: almost identical to Wall. The difference is how it reacts to the cursor in game. The actual corner of the piece should be at a: 0 / m: 2 to conform to the cursor placement.
 * Path Edge (inner): Similar to Wall. The origin is inset 0.6 u into the tile (-a direction). Can only be placed on a path/no path edge.
 * Path Edge (outer): Similar to Wall. The origin is inset 0.2 u into the tile (-a direction). Can only be placed on a path/no path edge.
 * Path Edge (join): Identical to Path Edge (outer), but can only be placed on a path/path edge.
 * Path Center: Similar to Full Tile. There are four orientations depending on where on the tile the user places the cursor. That portion will get the +a part of the object. Can only be placed on a path.
 * Coaster rails, Steep Slope: looking at the slope from the side going up from left to right, the rail the train runs on goes from (in-game) s ~ 0.3 u to 8.3 u. The Angle is 63.4349°.

Texture Styles
When assigning textures to your model in the importer, many newbies come across the problem of 'Which Texture Style?' This question can be answered with the information below.

The texture types are almost self explanatory: ([] = a part of a name)

Te image below shows each of these texture styles;
 * []Opaque[] = can't see through
 * []Opaque[Chrome,Reflection,Gloss,Specular] = these are different lighting effects to apply to the texture with varying degrees of potency (50 %,100 %)
 * []Alpha[] = Gradually Transparent
 * []AlphaMask[] = Binary Transparent (Either fully transparent or opaque. White in the alpha channel is opaque, all other shades are transparent.)
 * []AlphaMaskLow[] = Binary Transparent (Either fully transparent or opaque. The transition between both is somewhere in the middle range of shades.)
 * [][]DS = Double Sided (makes a texture draw on both sides of a single plane)
 * []Caustics[] = create light effects through the texture (JCat's Stargate, eg)
 * [][]Unlit = the game does not shade the object (it appears at full brightness regardless of day/night/lights nearby) great for glowing textures.
 * [][]Unlit = the game does not shade the object (it appears at full brightness regardless of day/night/lights nearby) great for glowing textures.



Unknowns
The Unknowns are exactly what they sound Like. Unknown flags that determine characteristics of each scenery object.

The list below shows what each of these unknowns does and when they are used.


 * Unknown1, Unknown7 and Unknown8: Those seem to manage collision detection and probably only matter if Fl33/34 are set. They seem to work in conjunction with Size and/or Size in Squares.
 * Unknown1 = 0 means RCT3 should figure out collision for the item from the model's 3D data. An example for this in action are the diagonal dinosaurs which only block the space they actually take up. Usually Unknown7 is 0 and Unknown8 is deactivated in this case.
 * Unknown>1 gives RCT3 the height of the collision box for the item in modeller units. In this case Unknown7 = Unknown1 and Unknown8 = 2Unknown1-1. I cannot be sure, but guess this is easier for the engine to calculate and causes less lag when placing items with collision detection.
 * Unknown2: Either 0 or 2. All Trees and most Walls have 0. All Stalls have 2.
 * Unknown6: This was reported to set the height in units to determine collision detection. Seems doubtful as it is mostly 0. See Unknown1.
 * Unknown7: See Unknown1. Usually if this is 0, Unknown8 is disabled.
 * Unknown8: See Unknown1
 * Unknown9: Always 1

Vodhin discovered that (former) Unknowns 3-5 actually represent default colors for recolorable objects.

The following scheme shows which number represents which color;



Flags
The Flags In the importer Determine the different attributes of the scenery item. Some are required for certain items. The list below shows all 32 flags and what they do. This list was compiled by Belgabor.


 * Fl1: Not Known. Seems to be randomly set or not.
 * Fl2: Never set
 * Fl3: Set a few times, always with Fl1, Fl4, Fl7, Fl8, Fl33 and Fl34. If set, Fl2, Fl10-Fl32, Fl35 and Fl45-Fl64 were never set.
 * Fl4: Set if either Fl3 is set or the Scenery Type is Stall
 * Fl5: If set, object is deleted when altering the ground. Never set
 * Fl6: If set, object doesn't move with the terrain (Fl33 unset) or terrain cannot be modified under it (Fl33 set). Never set
 * Fl7: Set on non-path objects, unset on path objects and path objects acting as general scenery (eg lamps to place on terrain). Exception: unset on Pizza Stall (buggy sid?).
 * Fl8: Not really sure. Set on all stalls, park entrances, fountains and when Fl3 is set, but also on a very few others.
 * Fl9: If set with Fl33, the object blocks supports (ie they stop above). With one exception only set on the terrain blocks.
 * Fl10-Fl12: Never set
 * Fl13: Object skews with slope (like fences do). There has to be more to it as it is set on a lot of objects that do not skew in game.
 * Fl14: Object moves up/down smoothly, it doesn't jump in set increments. Probably confirmed. Fl13 is always set if this is.
 * Fl15-Fl23: Never set
 * Fl24: Set only for fences (also for fence-like objects from other Scenery Types).
 * Fl25: Never set
 * Fl26: Places the object among the billboards. Set on billboards.
 * Fl27-Fl32: Never set
 * Fl33: If unset, object is invisible to the game (no collision checks). Set on almost all objects.
 * Fl34: If set, the object removes path supports. It may be necessary to set (all?) unknowns to 0 for this to work. Set on almost all objects. Fl33 and Fl34 are always either both set or not.
 * Fl35: Never set
 * Fl36: Not Known. Set on all Flowers, Stalls and Terrain Pieces but also on several other objects.
 * Fl37: Not Known. Set without obvious pattern on about half the objects.
 * Fl38: Not Known. Set on all Flowers, Stalls and Terrain Pieces but also on several other objects.
 * Fl39: Not Known. Set on all Flowers, Stalls and Terrain Pieces but also on several other objects.
 * Fl40: Not Known. Set on all Benches, Flowers, Stalls and Terrain Pieces but also on several other objects.
 * Fl41: Not Known. Set on all Flowers, Park Entrances, Stalls and Terrain Pieces but also on several other objects.
 * Fl42: Not Known. Set on all Flowers, Park Entrances and most Stalls but also on several other objects.
 * Fl43: Not Known. Set on all Benches, Flowers, Park Entrances and most Stalls but also on several other objects.
 * Fl44: Not Known. Set on all Flowers, Park Entrances and most Stalls but also on several other objects.
 * Fl45-Fl64: Never set

== Sources ==

To compile this information was gathered from ataricommunity.com from some very old threads. Alot of the information was found at belgabor.vodhin.org