AE file

From RRU Knowledge Base

The .AE file is found in various Object folders located in LegoRR0/Buildings, LegoRR0/Creatures, LegoRR0/Mini-Figures, and LegoRR0/Vehicles.

This file contains all the information about the model and animations of an Object along with its properties, such as the scale, and how the model changes due to upgrades.

See also: https://www.rockraidersunited.com/topic/8608-almost-everything-you-wanted-to-know-about-vehicles-upgrades-and-ae-files/

General Structure

AE files contain several sections, such as Upgrades {}, Activities {}, and the basic properties. All AE files need at least the Activities {} section. Some properties are specific to certain types of objects, but a few are shared.

Common Properties

  • Scale: Determines the scale of the entire object. The reference point is the origin of the object's animations. This is not a necessary property, but is useful if you wish to make a larger version of an existing object. It can be a floating point number.
  • CameraNullName: Like WheelNullName, this defines which nulls are to be used for the first and second-person cameras.
  • CameraNullFrames: Ideally, this should always be 2. If it is 1, then one of the two cameras may crash. If it's greater than 2, the game may not like it, but only two cameras are programmed into the game so there's no reason to go higher.
  • CarryNullName: For objects that can carry things, this defines the null(s) to be used.
  • CarryNullFrames: This defines how many carry nulls the object has. It must be an integer.
  • DrillNullName: This defines the null that is used as the drill "sensor." When this null touches a wall, the drilling activity is called. Ideally, this should be placed well in front of the object.


Minifig Properties

  • CameraFlipDir: When FALSE, the first and second-person cameras are rotated 180 degrees.

Creature Properties

  • FootStepNullName: Unknown at the moment. Not every animation uses the null that is defined here, so it may be deprecated.
  • CarryNullName: Defines the null used for positioning the boulders that monsters can throw at buildings.
  • ThrowNullName: Defines the null where the boulder projectile originates.
  • DepositNullName: This defines where a Rock Raider will be when being picked up by a monster.

Vehicle Properties

  • WheelMesh: For a vehicle, this determines what LWO model will be mounted onto the wheel_nulls. The model must exist in the vehicle's folder. If the wheels are to be invisible, the wheel mesh must be defined as NULL_OBJECT.
  • WheelNullName: This defines the nulls that are to be used for mounting wheels. The name defined here must match with the nulls used in the LWS. The nulls in the LWS must all have the name. When duplicated, a number is automatically appended to the null for convenience, but only until you export it. If you add the numbers yourself, then the nulls will not work.
  • WheelRadius: This determines the collision radius of the wheels without taking their actual size into account. A small WheelRadius with physically large wheels will cause the wheels to be partially sunken into the ground. It can be a floating point number.
  • DepositNULLname: This is a necessity for vehicles that tells the game where to put the Rock Raider after it gets out of the vehicle. Without this null, Rock Raiders cannot enter or leave vehicles.
  • DriverNullName: This is a deprecated property as nulls are not required for Rock Raiders to mount vehicles. Instead, when making the animations for the driver, imagine that the driving animations are combined with the vehicle's animations, but the vehicle is removed, leaving the Rock Raider floating where the vehicle's seat would be.
  • HoldMissing: When a vehicle is moving and then stops, this causes the current activity to freeze rather than resetting to the Stand activity. It is used in the Granite Grinder to prevent the legs from shuffling around whenever it stops.
  • xPivot: This defines which object in the laser LWS scene is to be used as the rotational base. If the entire scene will be rotated, the xPivot should be defined as Rotator. Without this property, lasers will not fire.
  • yPivot: Like xPivot, this defines an object to be used as a rotational base, but for vertical rotation. The object defined will not rotate vertically, but everything that is a child of the object in the LWS will rotate.
  • PivotMaxZ: Though misleading, this defines how far the vertical rotation is allowed to go before stopping. Numbers between 0 and 1 work best.
  • PivotMinZ: Same as above, but the numbers should be negative.
  • FireNullName: This defines the null or nulls used for positioning the laser emitters. There can only be a maximum of two fire_nulls per object, else the game crashes.

Building Properties

  • Shape: This defines the shape of the building's foundation. Though the format is complicated, Amauros has made a tutorial on how to create custom foundation shapes.
  • DepositNullName: For the Tool Store, Teleport Pad, Docks, and Super Teleport, this defines where teleported objects will be spawned. For refineries, this defines where objects will stand when throwing ore or crystals into the buildings. For the Upgrade Station, this defines where objects will sit when being upgraded.


Activities

Activities control every animation in the game. All activities contain an action and an event. Every time an action is called, an event is played, so whenever a Rock Raider shovels rubble, the ClearRubble event is played, for example.

Format

  • Activity_Action NameOfEvent: "Action" would be changed to something like "Stand" or "Route". All actions are predefined by the game and cannot be changed, with the exception of animations for when an object is driving another object. In that case, the driver's activities will have the name of the vehicle being driven appended to the Action. Compare "Activity_Stand" to "Activity_StandBulldozer".

NameOfEvent {

  • FILE: The name of the LWS used for this event, minus the file extension.
  • TRANSCOEF: A scaling factor used to speed up or slow down the animation. Numbers less than 1 slow down the animation, and numbers greater than 1 speed it up. 0.0 is the default.
  • LWSFILE: Specifies whether an LWS will be called for the animation. Always set this to TRUE, as it is by default. Setting this value to FALSE will cause the object to render invisible when the activity is performed.
  • LOOPING: If TRUE, the animation will loop, otherwise it will stop at the last frame until the activity is finished.
  • TRIGGER: For certain actions, this causes something to happen during the frame specified here. For the Shoot action that Rock Raiders use, the trigger defines when the laser shot is emitted from the raider.
Activity Function
Activity_Build
Activity_BuildPath
Activity_CantDo
Activity_Carry
Activity_CarryRubble
Activity_CarryStand
Activity_CarryTurnLeft
Activity_CarryTurnRight
Activity_Clear
Activity_Closing
Activity_Collect
Activity_Crumble
Activity_Deposit
Activity_Destroy
Activity_Drill This is used when a minifigure or vehicle drills a wall.
Activity_Dynamite
Activity_Eat This is used when a minifigure or creature eats food.
Activity_Emerge This is used when a creature emerges from a wall or a slimy slug hole.
Activity_Enter This is used when a creature enters a wall or a slimy slug hole.
Activity_EnterRein
Activity_Explode
Activity_FireLaser
Activity_FloatOff
Activity_FloatOn
Activity_FreezeMelt
Activity_FreezeStart
Activity_Freezed
Activity_Gather
Activity_GetUp
Activity_HitBack
Activity_HitFront
Activity_HitHard
Activity_HitLeft
Activity_HitRight
Activity_Open
Activity_Opening
Activity_Place
Activity_Recharge
Activity_Reinforce
Activity_Repair
Activity_Rest
Activity_Reverse
Activity_Route
Activity_RouteRubble
Activity_RunPanic
Activity_Slip
Activity_Stamp
Activity_Stand
Activity_Teleport
Activity_TeleportIn
Activity_Throw
Activity_ThrowMan
Activity_ThrownByRockMonster
Activity_Train
Activity_TurnLeft
Activity_TurnRight
Activity_Unpowered
Activity_Upgrade
Activity_Waiting1
Activity_Waiting2
Activity_Waiting3
Activity_Waiting4
Activity_Waiting5
Activity_Waiting6
Activity_Waiting7
Activity_Waiting8
Activity_Waiting9
Activity_Waiting10
Activity_Waiting11
Activity_Waiting12
Activity_Waiting13
Activity_Waiting14
Activity_Waiting15
Activity_Waiting16
Activity_Waiting17
Activity_Waiting18
Activity_Waiting19
Activity_Waiting20
Activity_Waiting21
Activity_WakeUp
Activity_Walk