RUL 0x10000000

From SC4D Encyclopaedia
Revision as of 05:19, 5 June 2008 by sc4e>Freedo50 (RUL 0x10000000 -- Intersection Ordering moved to RUL 0x10000000 over redirect: There shouldn't be any kind of description in the title of the pages, it should just be the article name.)
Jump to navigation Jump to search
TGI Info
Name Unknown
Format Unknown
Type

Group

Instance

Unknown

Unknown

Unknown

RUL 0x10000000, also known as the Intersection Ordering RUL, is a RUL File which defines Interchanges and Puzzle Pieces and their placement into TAB Loops under a certain menu button. There are two different sections to this file, the first of which defines TAB Loops and Rotation Rings, the second of which defines the Puzzle Pieces and relates them to those Rotation Rings. The Network Addon Mod relies on an extensive series of modifications to this file, crucial to its functionality. It is placed in the NetworkAddonMod_Controller.dat file. The original Maxis file can be found in SimCity_1.dat.

Only one copy of this file can be loaded by the game at one time, so which ever one is last in alphabetical order in the Plugins will be loaded by the game. The red arrow bug is caused by having transit mods with menu buttons that are not defined in the loaded version of 0x10000000.

TAB Loop Section

Basic Syntax

The TAB Loops section of RUL 0x10000000 has a relatively basic syntax, and it consists of a series of lines of code known as Rotation Rings, which reference Puzzle Pieces and their rotations and mirrors by an internal, RUL-specific series of reference numbers, known as IntersectionInfo IDs.

The first line of any TAB Loop will always begin with a "RotationRing =" reference, which defines the start of the loop. Consider the following example taken from the [Rural Highway Mod|RHW] Puzzle Piece TAB Loop:

RotationRing = 5000, 5001, 5002, 5003, 5004, 5005, 5006, 5007 ;RHW-4 Starter Piece

Further Rotation Rings are defined by using the "AddTypes =" reference:

AddTypes = 5010, 5014, 5011, 5015, 5012, 5016, 5013, 5017 ;RHW-4/MIS-1 Ramp A AddTypes = 5020, 5024, 5021, 5025, 5022, 5026, 5023, 5027 ;RHW-4/MIS-1 Ramp B

The NAM Team has a set of guidelines for the placement, in which the IntersectionInfo ID should begin with a specific digit depending on the primary network for the puzzle piece.

The length of the RotationRing and AddTypes entries can vary quite dramatically, with some Maxis items only consuming 2 entries, while the NAM One-Way Road puzzle pieces contain 32 Intersection Info IDs per line. The length of these entries must be kept consistent under a single TAB Loop. Otherwise, serious stability issues can result when using the TAB Loop, including missing and duplicate pieces and rotations, and in some cases, CTDs.

IntersectionInfo ID references cannot be duplicated. For instance, once 5001 is used once as part of the RHW-4 Starter Piece Rotation Ring, it cannot be used in any other Rotation Ring. Otherwise, there will be flaws in the Rotation Rings referencing that ID, preventing them from functioning properly.

Relationship of Rotation Rings to Menu Icons

The menu button allowing access to the TAB Loop and its Rotation Rings consists of a PNG file showing the icon in its four states (as is the case with Lots), and an Exemplar (GID 0x2A3858E4) referencing the Rotation Ring. Two LTEXT files, one with a short description (GID 0x123006BB) and a long description (GID 0x123006AA), are also important to have. The IID for all of these files will always begin with "6A47", and the last four digits will correspond to the first IntersectionInfo ID reference in the first Rotation Ring. For the example shown above, the IID for the RHW Puzzle Piece Menu Button would be 0x6A475000.

Intersection Info Section

The Intersection Info Section of RUL 0x10000000 is the section that defines the actual Puzzle Pieces. There are three main sections to an Intersection Info ID entry.

Header

The Header generally gives a description of the piece in question, info pertaining to the date of creation and the creator of the piece, and references the Preview Model and EffDir for the item.

[HighwayIntersectionInfo_0x00009200]

Added by Tropod 06.08.04
avenue orthogonal x groundhighway orthogonal puzzle piece

Piece = -16.0, 0.0, 0, 0, 0x54262400 PreviewEffect = preview_aven_puzzlepiece008

The first line contains the Intersection Info reference that is used by the Rotation Rings in the TAB Loop Section. The second and third lines show the creator, date of creation, and a general description of the piece to which the entry pertains. These lines are commented out by a semi-colon (;) and are not read by the game (hence, they are technically optional)

The fourth line, beginning with "Piece =" defines the Preview Model. The first value defines the X offset of the model, the second value the Y offset, the third defines rotation, the fourth transposition (mirroring), and the fifth is the IID for the Preview Model.

The fifth line references the alphanumeric name for the Preview Model, as specified in the associated EffDir file, which allows the Preview Model to appear in game.

Layout

The Layout portion defines where the Puzzle Piece Models are placed, the fundamental layout of the piece according to basic network pieces, any draggable stub handles, and the slope orientation of the puzzle piece.

(will fill in more details)

CellLayout =........... CellLayout =....WX....< CellLayout =....YZ..... CellLayout =.....^.....

CheckType = W - groundhighway: 0x02040200 avenue: 0x04020002 CheckType = X - groundhighway: 0x02000204 avenue: 0x04020002 CheckType = Y - groundhighway: 0x02040200 avenue: 0x00020402 CheckType = Z - groundhighway: 0x02000204 avenue: 0x00020402

ConsLayout =........... ConsLayout =....++....< ConsLayout =....++..... ConsLayout =.....^.....

Definition

The Definition section defines the first IID for the Puzzle Piece, to which the CellLayout relates, the possibility for the item to be used as an optional replacement for a draggable situation, and references the LTEXT description seen in game.

Rotation Section

The Rotation Section allows one to take a full Layout and transform it in various ways without having to define a new Layout, and also, to fill out Rotation Rings with Rotation Clones.

(will fill in)

Other Commands

(will fill in)