[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4787: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4789: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4790: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4791: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
InsideQC Forums • View topic - Rotating Door Support progs.dat + source +example bsp

Rotating Door Support progs.dat + source +example bsp

Discuss programming in the QuakeC language.

Moderator: InsideQC Admins

Rotating Door Support progs.dat + source +example bsp

Postby Baker » Tue Jun 15, 2010 6:27 am

Image

Target audience: Moderately experienced qc guys with good mapping knowledge at this point.

Download: [qc for doors borrowed from Avirox's .]

Example Command line: c:\quake\darkplaces.exe -game rotate +map rotate_example

Engine this works with: DarkPlaces, FTEQW and Avirox's FuhQuake and, well, if you compile it, both this and this .

Status of QC: Appears to work well but the code is a bit messy in places and includes some unnecessary stuff.

Changes: Very few, just doors.qc + addition of hl_doors.qc plus one line in defs.qc and including the hl_doors.qc in progs.src

DarkPlaces Caveats: Oddly enough, the Avirox Rotation engine tutorialized engines (his FuhQuake, my PSP one, my Flash one) work better with collision of rotating objects at least in the example map than DarkPlaces. Honestly the DarkPlaces entity collision with the doors is not very good, but with Avirox's engine tutorial the results are awesome.

FTEQW Caveats: The Quakeworld protocol, like standard NQ, uses bytes for angles (versus DP which uses floats) so despite the fact that FTEQW has excellent collision with doors, the movement feels a bit jerky. I didn't see a sv_protocol cvar in FTEQW to try to get a smoother one.

Future note: I do have a modified FitzQuake 0.85 with rotation support that uses floats for angles and everything is as smooth as you could possibly imagine and the collision is super. However, using floats for angles for smoothness breaks compatibility with all existing NQ protocols so I am considering the idea of adding an exception and using that "protocol" only when maxplayers = 1, sv.active = true, IsDedicated = false and no demo is recording ;) This gets 99% of the benefit at 1% of the effort and inconveniences no one and breaks no compatibilities.

Making a map supporting rotating doors: You must use LordHavoc's hmap2 map compiler and manually create your own origin brushes for now. I have a tool that preprocesses the origin brushes to hmap2's liking to make it easy, but I'm not quite ready to write up instructions on that or therefore link up the tool. (TODO). Also, I need to make the func_door_rotating entity definition for Worldcraft available. (TODO)

My purpose here is at least to start with documenting this and I'm starting with the raw unfinessed QC. (And by posting it, makes it less likely it can disappear or get lost on my hard drive).
The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Re: Rotating Door Support progs.dat + source +example bsp

Postby Ranger366 » Tue Jun 15, 2010 6:04 pm

Thanks baker, i putted it into my "fame" progs, now the Map from Half-Life The-Specialists Roleplay works fine. Only problem is that all Doors begin to rotate with an touch. (oh sorry, just edited hl_doors.qc because at beginning they didnt opened, nevermind)
A tutorial or something else wich tells howto stock progs with Quake-Life Entities will be awesome.

edit: wow, even this same. lol, sorry, doors still do this.
User avatar
Ranger366
 
Posts: 203
Joined: Thu Mar 18, 2010 5:51 pm

Re: Rotating Door Support progs.dat + source +example bsp

Postby Baker » Tue Jun 15, 2010 10:43 pm

The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Postby Spike » Tue Jun 15, 2010 11:01 pm

.
Spike
 
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Postby Baker » Tue Jun 15, 2010 11:23 pm

The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Postby Ranger366 » Wed Jun 16, 2010 3:09 pm

User avatar
Ranger366
 
Posts: 203
Joined: Thu Mar 18, 2010 5:51 pm

Postby Baker » Wed Jun 16, 2010 11:54 pm

The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Postby Ranger366 » Thu Jun 17, 2010 4:12 pm

User avatar
Ranger366
 
Posts: 203
Joined: Thu Mar 18, 2010 5:51 pm

Postby Baker » Fri Jun 18, 2010 2:56 am

The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Postby Spike » Fri Jun 18, 2010 10:32 am

if (fteqw)
{
if (dedicatedserver)
deathmatch.default = 1;
else
deathmatch.default = 0;
}

:)


The deathmatch and coop cvars toggle which start spots are used.
As far as I'm aware, its meant to work in DP too, and uses an NQ progs for this reason (its progs.dat and not qwprogs.dat, right?).

Make sure you are using the correct game directory in DP. Halflife maps have no start spots at all, and use info_landmarks to specify the map change areas, or something like that, which will not be recognised by other mods.

DP does not feature a hub system of any kind, thus DP will not preserve the state of each map, and may not spawn you in the correct spot on the next map. But as far as I am aware, it will place you on *a* spot.
.
Spike
 
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Postby Ranger366 » Sat Jun 19, 2010 5:23 pm

User avatar
Ranger366
 
Posts: 203
Joined: Thu Mar 18, 2010 5:51 pm

Postby Spike » Sat Jun 19, 2010 6:29 pm

.
Spike
 
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Postby goldenboy » Fri Jun 25, 2010 10:45 am

If this really works, it is a solution for a long standing problem. New protocol required is not a problem.... I will try this, and the engine modification, and if it works, it'll be integrated into the RMQ engine and QC. (and maps)

Can't really believe yet that this is real.
User avatar
goldenboy
 
Posts: 924
Joined: Fri Sep 05, 2008 11:04 pm
Location: Kiel

Postby Spike » Fri Jun 25, 2010 10:47 am

[paranoid]
one thing to verify is that pitch rotations work correctly. yaw is easy, but carmack messed up with pitches, you'll likely need to verify that it pivots in the same direction as the renderer.
[/paranoid]
.
Spike
 
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Postby Baker » Fri Jun 25, 2010 11:06 am

The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Next

Return to QuakeC Programming

Who is online

Users browsing this forum: No registered users and 1 guest