The Data Configuration feature of Orx makes it simple to build up a complex scene or object with minimal code. All these items are defined in various ini files however the developer chooses to arrange them.
Orx provides a nice way to display a tree view of your Orx objects currently in game, and what structures make them up.
Let's say you had a robot made up of several Objects, Graphics, Bodies and Textures. Also there is a Viewport and Camera:
[MainViewport] Camera = MainCamera [MainCamera] Position = (0.0, 0.0, -1.0) [RobotGraphic] Texture = robot-inside.png [Robot] Graphic = RobotGraphic ChildList = LeftWheel # RightWheel # WeaponObject Body = RobotBody [RobotBody] PartList = RobotBodyPart [RobotBodyPart] Type = box [WeaponGraphic] Texture = weapon.png [WeaponObject] Graphic = WeaponGraphic Body = WeaponBody [WeaponBody] PartList = WeaponBodyPart [WeaponBodyPart] Type = box Solid = true
The robot would be created in-game with:
Use the following command to log out all the current Structures live in your game:
In your console window, a coloured tree will be displayed:
Also, in your game log file, the same output would be generated:
*** BEGIN STRUCTURE LOG *** [ROOT] +-VIEWPORT "MainViewport"  | `-CAMERA "MainCamera" [000200000000000C] +-OBJECT "Robot" [000100000000000F] | +-BODY "RobotBody"  | +-OBJECT "LeftWheel" [000100010000002F] | | +-BODY "LeftWheelBody"  | | `-GRAPHIC "WheelGraphic"  | +-OBJECT "WeaponObject" [000100030000006F] | | +-BODY "WeaponBody"  | | `-GRAPHIC "WeaponGraphic"  | | `-TEXTURE "weapon.png" [00010005000000B3] | +-OBJECT "RightWheel" [000100020000004F] | | +-BODY "RightWheelBody"  | | `-GRAPHIC "WheelGraphic"  | | `-TEXTURE "wheel.png"  | `-GRAPHIC "RobotGraphic"  | `-TEXTURE "robot-inside.png"  | `-TEXTURE "default"  *** END STRUCTURE LOG ***
This is very handy for getting a nice overview of your structure layout for debugging or comparison.