This is dedicated to documentation of the Quake3_Quake1 mod which makes DarkPlaces/Zircon engine capabilities available for Quake 1 single player/coop mapping using the Quake 3 map format. Documentation will be here as an ongoing process.

Post tutorial Report RSS Documentation/Index

Documentation/index of entities and properties. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate

Posted by on - Basic Design/Concepts

This will be edited intermittently over time. The number of features is large enough that documentation will take a while. So this is a living document.

sgn construct

Entities


item_readable
item_vehicle (suffix determines land or air, existence of single or dual exhaust effect)
misc_model (Solid: spawnflag 2)
misc_mdl_entity
misc_mdl_illusionary
misc_mdl_train (model as a train)
func_door_rotating
trigger_attention (causes play to look at something with message/sound)
info_bulk_teledest (bulk teleportation of several entities)
ambient_sound (with volume and (fade distance ...) attentuation available)
trigger_dialog


explode_mine


trigger_hurt (with custom death messages)


sigils (with netname customization ... "you got the crown")


keypad_security


keypad_key


keypad_light


keypad_mechanical


vending_machine_automed


misc_mdl_entity_rotator


func_wall_rotating


func_ladder


func_train (curved train paths)


func_group


emitter_particles (particle emitter that can be customized via effectinfo.txt, toggles)


func_text


func_floor_fragile


func_mechanical


func_elevator (multi-stage elevator: moving doors, inner/outerdoors, internal/external controlpads, level displays)


elevator_button


elevator_call_button


item_exit


item_radio (up to 3 different music files, toggles)


item_barrier (barriers with feedback, optional 'health', suffix determines material)


func_program_screen (interactive client-side program)


func_video_screen (plays video)


Worldspawn


gravity

If specified, gravity is different than the Quake 1 normal gravity of 800. Ziggurat Vertigo, for instance, is 100 (like the moon).

fog

An example of traditional fog would be RGBA "0.2 1.0 1.0 0.5" which is 20% red, 100% blue, 100% green and 50% alpha. This would be a cyan-ish fog.

message

Title of the map like "The Dark Zone"

worldhints

These are special directives for QuakeC. An example is [r_water] indicating that the map would prefer to have r_water enabled or [dark] where the map would prefer to have no minimum lighting on entities.

worldtype

The traditional Quake 1 world types are here:

0 : "0 - Medieval"
1 : "1 - Runic (metal)"
2 : "2 - Base"

Plus ...

10 : "10 - Modern" - uses a different key model, rocket boxes and cell boxes are flashier and potentially some other small differences. Uses very colorful models for sci-fi.

Worldspawn (Q3)


color (Q3)
gridsize (Q3)
_ambient (Q3)
_blocksize (Q3)
_minlight (Q3)
_minvertexlight (Q3)
_mingridlight (Q3)
_keeplights (Q3)
_farplanedist (Q3)
_lightmapscale (Q3)

General Features


scale

Scale can be applied to most entities. This can make an item like a health box larger or smaller. Valid scale range is 1/16 to 15 15/16.

attach_to

Causes an object to be attached to another object. An example would be attaching a skull model to a door. "attach_to" "door1". The physics of the object is known as MOVETYPE_FOLLOW.

Notes: for best results the pitch, yaw, roll (angles) of the entity using this should be '0 0 0' and should be a later entity in the entity list than the "attach_to" otherwise the movement will be jerky and off by 1 physics frame.

Quake3_Quake1 will do a warning on map load if it detects an entity order problem.

colormod

Colormod allows colorization of an entity. This is in RGB percents, a colormod of '1.0 0.5 0.5' instance would be 100% red 50% green 50% blue. Values exceeding are full bright/overbright with a limit of '8.0 8.0 8.0' which is fullbright/overbright white. '8 8 8' can be useful for func_text to make the text glow in the dark white.

nodroptofloor

'nodroptofloor 1' can be applied to most entities to suspend them in the air.

make_static

'make_static 1' can be applied to most entities. They will droptofloor (if applicable) and then afterwards become a static entity which is an illusionary entity that cannot be interacted with even in QuakeC. This can be useful to place trash around a map. Static entities in DarkPlaces do not appear to honor scale.

SPAWNFLAGS_NON_SOLID_262144

Most entities can receive spawnflag 262144, they will become non-solid (untouchable) but not static. Static entities use less resources, but since DarkPlaces does not seem to honor scale for static entities, this flag will make the entity non-solid after droptofloor (if applicable). The main reason to do this is to make non-solid entities that uses a scale.

SPAWNFLAGS_THIN_TOUCH_BOX_524288

Items can receive spawnflag 524288. These items will have a touch boundary barely larger than the item itself. And such health or weapons can be grabbed with the "use key". This allows putting healthboxes in cabinents and such.

model (overrride)

Items generally allow overriding the model. For instance, you can make a healthbox use a model like "models/props/bottle_02.md3" which is a bottle of pills or "models/props/carrot.md3". There are many models available in the models folder.

peaceful

This make a monster not attack and will not be added to total_monsters nor be a monster kill if killed. 'peaceful 1' means the entity will not attack without provocation. 'peaceful 4' means the monster will slowly turn towards a player looking at it if at a close distance.

Customizations


trigger_changlevel :: finale_text

Finale text like what is printed on-screen on E1M7 after killing the Chthon can manually be set for any trigger_changelevel. If the finale_text ends with ".txt" it will read it from an external file, otherwise it will use the supplied text. [p] indicates a newline.

It can and usually should specify an external .txt file like "maps/map_yourmap_finale.txt" which might contain "As the Chthon sinks, ..." 40 characters per line is the standard.

It can also be set inline like "finale_text" "You managed to escape the prison.[p]You are not sure what to expect outside ..."

monster_any :: talkdialog
monster_any :: talkpic

Talkdialog will generate a graphical 2D dialog. If talkdialog ends with ".txt" it will read it from an external file, otherwise it will use the supplied text. [p] indicates a newline.

Talkpic specifies a .png to show as a character in the talk dialog.

A talk dialog supports topics, triggers, killtarget and the ability to start a fight.

item_readable :: readtext

Books or other readables display the contents of the book on-screen and can have multiple pages, specify font and have pictures in the book. If readtext ends with ".txt" it will read it from an external file, otherwise it will use the supplied text. [p] indicates a newline.

(to do: there are several markup tags ... document them)

func_button :: target (comma delimited multitarget)

func_button can specify multiple targets like "target" "door1,plat1,plat2"

func_button :: (manual use flag)
func_door :: (manual use flag)
func_door_rotating :: (manual use flag)

Doors and buttons can be marked "manual use" with spawnflag 8192. These doors and buttons will not respond to touch and instead looking at them at close distance will display "Press <key> to use" on-screen for manual use.

This can be used to create cabinets or control boxes that may contain controls like buttons that are revealed when the control box is opened.



(estimate completion percent: 1%)

abab

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: