Only a few Quake entities are supported, and most of the supported entities behave differently in some way. All unsupported entities and unsupported attributes of supported entities are ignored. The Neverball entities follow. All applicable entity attributes are documented here.
The info_player_start entity defines a ball in a .sol file. While multiple balls may be defined, Neverball uses only the first of them.
The “radius” attribute gives the ball radius in meters. The default radius is “0.25”.
The “origin” attribute gives the ball location. The bottom of the entity in the editor will correspond to the bottom of the ball in Neverball.
Note that the “angle” attribute does NOT determine the initial facing direction. The player begins each level looking down the Y axis. If your level begins wrong, you must rotate your map.
The info_player_deathmatch entity defines a goal in a .sol file. The “radius” attribute gives the goal radius in meters. The default radius is “0.75”. The ball must fall entirely within this radius to trigger a goal.
The “origin” attribute gives the goal location. Like the ball entity, the bottom of the editor's entity box will correspond to the base of the goal.
The light entity defines a coin in a .sol file. The “light” attribute gives the value of the coin. Neverball draws coins in denominations of 1, 5, and 10.
The “origin” attribute gives the coin location. Consider the radius of your ball and place coins within reach from the floor.
The path_corner entity defines a segment of the path of a moving object. The “origin” attribute gives the point location.
The “targetname” attribute gives the name by which other entities will refer to this point. The default name generated by radiant is usually fine.
The “target” attribute gives the destination of the path. This attribute may be automatically specified using radiant's “Connect Entities” feature. To make a path from point A to point B, first select path_corner A, then select path_corner B, then Connect Entities (control-k).
The “speed” attribute gives the duration of the trip along this path segment. Note that this attribute has a different meaning to Neverball than it does to Quake. In Quake, it gives the speed in units per second. In Neverball it gives the travel time in seconds, regardless of the distance between one point and the next. The default is “1.0”.
The “state” attribute determines whether the path is enabled. A func_train will only move along an enabled path. A train may be stopped and started by toggling the state of the path to which it is attached. “0” means no, “1” means yes. The default is 1.
To create a pause in a path. Simply position two connected path_corner entities at the same point. The trip will have zero length but the object will still spend “speed” seconds making the journey.
The func_train entity defines the geometry of a moving object. Think of it as a container or a grouping mechanism for lumps, rather than an object in-and-of itself.
To create a func_train, first select all of the brushes that form the moving object, then select func_train from the entities pop-up (right click) menu.
To assign a func_train to a path, first select the func_train, then select the first path_corner entity of the path, then Connect Entities. Multiple func_trains may be assigned to one path.
To destroy a func_train leaving only the original brushes, select the func_train, and choose Ungroup Entities from the Selection menu.
Note that func_trains are positioned differently in Neverball than in Quake. Quake ignores the placement of the func_train in space and requires an origin specification. Neverball simply uses the location of the first path_corner to define the origin. When creating a moving object, just place it at the beginning of its path and everything should work out.
The “model” attribute of the func_train entity may be used to attach an arbitrary polygonal model to a moving object. See the discussion of the misc_model entity, below.
Note that lumps part of a func_train are not taken into account for Neverball's fallout line. If you want them to count, you must place some invisible detail geometry at the lowest point of those func_train lumps. This is only needed on moving platforms that don't have any static geometry on the same Z-level. This has been discussed and it is thought to be not worth fixing.1)
The target_teleporter entity defines a teleporter. The “radius” attribute gives the teleporter radius. The default is “0.5”. The ball must fall entirely within this radius to trigger the teleport.
The “origin” attribute gives the teleporter location. Unlike the goal entity, the center of the editor's entity box defines the origin. So to define a teleporter flush with the floor, embed the entity box halfway in the floor.
The “target” attribute refers to a target_position entity defining the destination of the teleporter.
The info_camp entity defines a switch. A switch's behavior is similar to a teleporter. The “radius” attribute gives the radius and defaults to “0.5”. The “origin” attribute gives the location. The “target” attribute refers to the path_corner that the switch controls.
The “state” attribute gives the initial state of the switch. “0” is off, “1” is on. The default is off. This parallels the state attribute of the path_corner. An info_camp entity should always have the same initial “state” value as the path_corner it targets.
The “timer” attribute defines a delay time. The time begins when a switch is toggled to its non-initial state. The switch toggles back to its initial state when the timer expires. A timer value of zero indicates an UN-timed switch. The default is zero. This may be used to define a door that opens only for a moment before closing, or a func_train that moves along its path in discrete activated steps.
Note that the switch malfunctions if the “timer” attribute is not “0”, and the “state” attribute is “1”, as the switch cannot be deactived only for a short period before it reactivates itself. This was already tried by Challenge Space Yard and it failed, although a fix has allowed them in R1197 and 1.5.0 uses this fix.2)
The info_player_intermission entity defines the camera position at the beginning of a level fly-in. The “origin” attribute gives the location, and the “target” attribute refers to the target_position defining the view direction.
The target_position entity defines the initial view direction of a level fly-in, as well as the destination of a teleporter. The “origin” attribute gives the location.
The “targetname” attribute gives the name by which other entities will refer to this point. The default name generated by radiant is usually fine.
This attribute may be automatically specified using radiant’s “Connect entities” feature. To link a teleporter (or camera) to its desired destination, first select the teleporter, next select its target_position, then “Connect entities”. These connections can be manipulated by hand as well, ie. target_teleporter entity has key “target = t1”, while the target_position entity has key “targetname = t1”.
To define a two-way pair of teleporters, place the target_position of each coincident with the target_teleporter of the other.
The misc_model entity imports an arbitrary polygonal model into a level. It may be used to increase the visual detail of a level without increasing the physical detail. Arbitrary normal vectors are allowed, so the misc_model entity can be used to produce smoothly shaded curves.
Misc_model entities define visible geometry, but not physical geometry. So, if the ball is to bounce off of a misc_model entity, the entity should be placed within one or more invisible structural lumps.
The “model” attribute gives the filename of the model relative to the data directory. The model must be in OBJ format. It must have triangular tesselation. All vertices must have normals and texture coordinates. The author uses Wings3d to create and export OBJ models.
The “origin” attribute defines the position of the model.
The worldspawn entity is the root of the world. The “message” attribute gives the intro text that appears as a level begins. A '\' character in the text marks the end of a line. Limited space is available. Wrapping text within the intro text box is often a process of trial and error.
Radiant's text edit box may or may not provide all the editing capability you need. In particular, if you want to add accented characters to a level's intro text, you may need to load the .map file using a text editor, and edit the message by hand.
Additional entities and attributes are supported in version 1.5.0. Any new or modified entities are shown below.
This new entity defines a coin which shrinks the ball. The only support attribute of this entity is the “origin” attribute, which defines the location.
The ball has 3 size states, all relative to the original size of the ball, as defined by the “radius” attribute of the playerstart entity: 50%, 100%, and 150%. Grabbing a shrink coin in-game will shrink the player's ball one size, unless they are at the smallest already.
This new entity defines a coin which expands the ball. The only support attribute of this entity is the “origin” attribute, which defines the location.
The ball has 3 size states, all relative to the original size of the ball, as defined by the “radius” attribute of the playerstart entity: 50%, 100%, and 150%. Grabbing a grow coin in-game will expand the player's ball one size, unless they are at the largest already.
This entity has an attribute supported that does not exist in 1.4.0.
The “invisible” attribute determines whether the switch is invisible or not. “1” means on, and “0” means off. It is off by default.
This entity has attributes supported that does not exist in 1.4.0. Remember to use ”/”, and not “\”, for those that require locations (non-Windows compatibility)
The “back” attribute defines the animated background location of the level.
The “grad” attribute defines the gradient background location of the level.
The “time” attribute defines the time limit of the level. Leaving this blank or setting a value of “0” disables this.
The “goal” attribute defines the coin goal of the level. Leaving this blank or setting a value of “0” disables this.
The “shot” attribute defines the screenshot location.
The “song” attribute defines the music location.
The “version” attribute defines the version number this level. Useful if you've done changes to the map. This is not displayed in-game.
The “author” attribute defines the person who made this level. This is not displayed in-game.
The “levelname” attribute defines the name of this level. This is not displayed in-game.
The “bonus” attribute defines whether it is a bonus level or not. “1” is on and “0” is off. It is disabled by default.
The “time_hs” attribute defines Best Times. Used in the form of “XX XX”, with the first value being Hard and the second being Medium. Easy simply uses the “Time” attribute.
The “goal_hs” attribute defines Fastest Unlock Times. Used in the form of “XX XX”, with the first value being Hard and the second being Medium. Easy simply uses the “Time” attribute.
The “coin_hs” attribute defines Most Coins. Used in the form of “XX XX”, with the first value being Hard and the second being Medium. Easy simply uses the “Goal” attribute.
The path_corner entity defines a segment of the path of a moving object. The “origin” attribute gives the point location.
The “smooth” attribute determines whether the path moves smoothly or at a constant speed. A “0” means constant speed and a “1” means smooth ends. It defaults to smooth ends.