The open source Zircon engine ("DarkPlaces Mark V Project") is a modification DarkPlaces engine with a mouse driven menu everywhere, ALT-ENTER fullscreen/windowed switching and 88 other enhancements to support user/mapper/mod coder ease-of-use and optional conveniences for those interested in a "1996 Quake" experience. "csqc_full_width_height 1" in console when running Arcane Dimensions at this time It is hoped that some/many/all of these enhancements will eventually make it into official DarkPlaces. The Zircon engine seeks to keep full compatibility with DarkPlaces so either engine can be used interchangeably.

Post news Report RSS August Lab Report #3 of 12

Spotlights explored in detail including all the "too much information" needed to create one. And a discussion of func_video_text.

Posted by on

Lab Report #3 of 14 - Experiments And Results

videoscr2


Func_Video_Text

This is a mechanism to start, stop, play video somewhere on a map with a button or some event triggering it. It will be rolled into a future Quake3_Quake1 release (as it is QuakeC).

The high performance mechanism setup here works as follows, the above is a single image and in client side QuakeC the texture coordinates are calculated per frame. This results in high performance, no textures or any thing else are loading per frame.

In the map editor, there is a screen "helper" model for the entity that helps position and angle the screen.

dirac


Zircon v. 30 Path Autocomplete

This is an illustration of the path aware autocompletion in v. 30. The "dir" command in DarkPlaces is well written, with this type of autocompletion this and similar commands help the console become a time saver. DarkPlaces also has a "ls" command, a Unix-like column based version of dir.

spot2


Spotlights - The Mechanism

Lab #1 of 12 had brief text that I made DarkPlaces do moving lights. It was raw and unpolished, here is a better version.

This is what I did to make the above green spotlight, in the event someone else would like to experiment with it.

movetype       7				// MOVETYPE_PUSH is 7
solid          0				// SOLID_NOT is 0
origin         '-2400 1100 30.046875'
angles         '270 0 0'			// Set pitch to planar level.
avelocity      '0 22 0'				// spin like merry-go-round at speed 22
classname	place_model
model         	progs/eyes.mdl			// doesn't matter, but we need one!!!!
skin            4				// This is cubemap number .. cubemaps/4dn.tga (size 256 x 256)
effects       	4				// EF_BRIGHTLIGHT is 4
think          SUB_Null()
nextthink    	99999				// Important!  Set it a lot of 999999s  Without this, will not spin!
light_lev      6000				// Light radius.
style          1				// Lightstyle.  1 is slight flicker (very slight!)
alpha          0.0199999996			// Make model invisible, 0 cannot be used.
color          '0.300000012 1 0.300000012'	// Tenebrae ... red green blue percents (can go over 1.0 like 8.0 for overbright)
pflags         128				// Tenebrae ... PFLAGS_FULLDYNAMIC (128) PFLAGS_CORONA is 2 (works, not used here).

So the technique is that! Keep in mind the fields above must exist in the progs.dat. I think. Mods with DarkPlaces extension.qc are likely to have those fields. The iffy ones are pflags, color and possibly light_lev (although that may be a standard defs.qc field for the light compiler).

Short version: I am not certain this can be used without QuakeC support. Future todo: find out.

(Update: It does not require progs support. It works even in stock id1 Quake on the start map.)

The cubemaps/4dn.tga looks like ... (the other 5 sides are solid black)

4dn


That is your spotlight image. Extra note: Also, save games did not seem to store all the fields. It seemed like "color" was not saved. Future follow-up Is that the true and is that the only field? (Update: It saves/loads fine.)

exo


A quality 2D experience adds to the feel.

There is a glaring mistake somewhere here, but if we act cool and just roll with it no one will notice.

This the end of Lab Report #3 of 12. There is so much more to go.

Post a comment

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