mapobject_custom

model
frame
skin
mangle
avelocity

This entity allows mapobjects to be made of any mdl ( such as monsters, gibs etc.) or bsp ( such as custom fans, turbines and other prefabs ), or sprite.

Note that there are two new mdls currently without associated entities that may be of interest with this entity:

tree1.mdl
reed1.mdl

Both can be seen in e1m2quoth.
The tree does not animate, but the reed will even without specifying a frame; its animation is a framegroup.
These are preliminary vegetation mapobjects, many more of which we hope to add in the next update to Quoth.

In the case of custom bsps, we recommend a convention where your mapobject bsp is given the same name as your map, followed by an underscore and a description of the object e.g.

kellbase1.bsp
kellbase1_fan.bsp

This will help keep associated mappage together in players’ folders. If you have lots of external model files, you may want to bundle your map and resources in a pak file, see packaging your map for the details.

From version 2.2, triggering a mapobject_custom will toggle its frames in the same manner as a func_wall: frame 0 goes to frame 1 and frame 1 goes to frame 0. Setting other frames on an entity using this feature is discouraged.

Cross-site promotional message: Want a collection of models created especially for use in Quake maps? Why not check out the latest release on Tome of Preach map-objects

spawnflags
Setting spawnflag 1 makes the mapobject a static entity.

model 
This key should contain the path to the desired model e.g.

progs/tree1.mdl
maps/kellbase1_fan.bsp

frame 
This sets which frame of the model to use. Remember that frame numbers start at 0.

skin
This allows you to select the skin from a .mdl file. Again, the numbering starts at 0.

mangle 
When set, the entity ignores its angles key and rotates to the angle specified here. This is helpful in editors which have poor support for entities being rotated in three dimensions. WARNING: There is a known bug in Quoth 2.0 and 2.1 where this key has no effect if the x component of the vector is set to zero, even if the other components have values. To workaround this, set the x component to 360 degrees instead, which will result in the same rotation but not trigger the bug.

avelocity 
The rotational velocity of the object can be set, so if you need simple rotation on a fan or similar, you may find it easier to use this entity than the hipnotic rotating entities.

<-Back to the tutorial

2 thoughts on “mapobject_custom

  1. Hello Preach,

    One specific sentence attracted my attention: “Setting other frames on an entity using this feature is discouraged.”
    What exactly would be the problem with more than two states? Would not an entity be able to safely go from frame 0 to frame 1 then frame 2 etc. then frame N before coming back to frame 0?

    • Hi Inky. A limitation of QuakeC is that you don’t know how many frames there are in a custom model. If you don’t know when you’ve reached frame N, you don’t know when to reset to zero. So the code simply swaps between two frames like a func_wall.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.