Doom3world

The world is yours! Doom 3 - Quake 4 - ET:QW - Prey - Rage
It is currently Mon May 20, 2013 8:19 pm

All times are UTC [ DST ]




Post new topic Reply to topic  [ 13 posts ] 
Author Message
 Post subject: HELP: target_setkeyval & target_setfov
PostPosted: Wed Sep 14, 2005 5:10 pm 
Offline
Quad Damage!
User avatar

Joined: Tue Jun 22, 2004 6:57 pm
Posts: 4992
Location: Green Bay, WI
i have a little problem...

i've got a working portal like in the new prey game but it still needs work to get it working perfectly.

i need to change a security camera's fov on the fly in game (without sdk stuff). normally i would use some sort of script, but there is not a given script event to update a camera's fov.

however, i stumbled across target_setfov and target_setkeyval. i've read that target_setkeyval can update/change an entity on the fly. is this true? if so, how would i go about it? i've tried reading through several threads on this but i'm not quite getting it. i guess i'm looking for a step by step guide on how you would set something like this up.

and then there's target_setfov. sounds perfect for my needs. anyone use this?

thanks in advance!

_________________
Don't take the swine flu shot!


Top
 Profile E-mail  
 
 Post subject:
PostPosted: Wed Sep 14, 2005 6:16 pm 
Offline
is sad because his cool title went away
User avatar

Joined: Tue Sep 07, 2004 6:23 pm
Posts: 709
Location: Bracknell UK
target_setkeyval
Takes key and value and adds it to the targeted entities spawnargs.
UpdateChangableSpawnArgs is then called for this entity which for a camera will only update its target.

target_setfov
Sets up a interpolation between the players fov or the game fov (depending on what activates it) over current time too time set in target_setfov.
Then every think will get this value and apply it to the players fov.

Niether of these are going to do what your looking for.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Sep 14, 2005 8:13 pm 
Offline
Quad Damage!
User avatar

Joined: Tue Jun 22, 2004 6:57 pm
Posts: 4992
Location: Green Bay, WI
S@TaNiC wrote:
target_setkeyval
Takes key and value and adds it to the targeted entities spawnargs.
UpdateChangableSpawnArgs is then called for this entity which for a camera will only update its target.


this is only partially true. it also calls UpdateVisuals() and Present(). this is very interesting...

Code:
/*
================
idEntity::UpdateModel
================
*/
void idEntity::UpdateModel( void ) {
   UpdateModelTransform();

   // check if the entity has an MD5 model
   idAnimator *animator = GetAnimator();
   if ( animator && animator->ModelHandle() ) {
      // set the callback to update the joints
      renderEntity.callback = idEntity::ModelCallback;
   }

   // set to invalid number to force an update the next time the PVS areas are retrieved
   ClearPVSAreas();

   // ensure that we call Present this frame
   BecomeActive( TH_UPDATEVISUALS );
}


this is important:
// ensure that we call Present this frame
BecomeActive( TH_UPDATEVISUALS );


Code:
/*
================
idEntity::Present

Present is called to allow entities to generate refEntities, lights, etc for the renderer.
================
*/
void idEntity::Present( void ) {

   if ( !gameLocal.isNewFrame ) {
      return;
   }

   // don't present to the renderer if the entity hasn't changed
   if ( !( thinkFlags & TH_UPDATEVISUALS ) ) {
      return;
   }
   BecomeInactive( TH_UPDATEVISUALS );

   // camera target for remote render views
   if ( cameraTarget && gameLocal.InPlayerPVS( this ) ) {
      renderEntity.remoteRenderView = cameraTarget->GetRenderView();
   }

   // if set to invisible, skip
   if ( !renderEntity.hModel || IsHidden() ) {
      return;
   }

   // add to refresh list
   if ( modelDefHandle == -1 ) {
      modelDefHandle = gameRenderWorld->AddEntityDef( &renderEntity );
   } else {
      gameRenderWorld->UpdateEntityDef( modelDefHandle, &renderEntity );
   }
}


i think this updates the entity durring game play:
gameRenderWorld->UpdateEntityDef( modelDefHandle, &renderEntity );

i'll have to look more into it, but i know voldemort claims this works. if it does, thats fricking awesome!!!!!! if i had known about this earlier! this is very very very very handy.

_________________
Don't take the swine flu shot!


Last edited by pbmax on Wed Sep 14, 2005 8:30 pm, edited 1 time in total.

Top
 Profile E-mail  
 
 Post subject: it works
PostPosted: Wed Sep 14, 2005 8:25 pm 
Offline
Captured the Flag

Joined: Mon Feb 21, 2005 6:07 pm
Posts: 1985
Location: usa/kansas
It works download my example map from d3file front for examples or look throught the tutorials for a link to the map

the key is how you pass the variable I did use this in one of my maps to conrol camera operators but Im at work and cant reference them now..

just download the map and look at the target_setkeyvals to see how its done


Top
 Profile E-mail  
 
 Post subject:
PostPosted: Wed Sep 14, 2005 9:28 pm 
Offline
picked up 200 ammo

Joined: Wed Jan 05, 2005 3:40 am
Posts: 205
Location: Mad Hts, MI
You should read the tutorial by indianajoneslim.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Sep 15, 2005 4:46 am 
Offline
is sad because his cool title went away
User avatar

Joined: Tue Sep 07, 2004 6:23 pm
Posts: 709
Location: Bracknell UK
Ok if this works voldemort can you give us a better link to your tut as the above is a bit vague and after much searching ive still not found it.

Ive also tryed this out with both a securitycamera and a cameraview with no succes.

I built a map much like in PB's video for the prey alike portals, two rooms func_static with a remoterendermap in one and a securitycamera in the other with a "scanfov" of "90".

Start it up everything works fine.

Now ive placed a trigger_once connected to a target_setkeyval with the key of "keyval" and a value "scanfov;10" targeted at the securitycamera.

Start the map up do a listspawnargs func_securitycamera_1 and in the list it displays the camera as having a k/v of "scanfov" "90".

Hit the trigger_once and nothing happens to the securitycamera view.

Check the spawnargs again and it has changed.

As far as im concerend this does not work and after quite a few months of trawling through the SDK i was pretty sure i could explain why. Like many of my previous posts if the entity is not looking for a change during its cycle or it is not updated using updateChangableSpawnArgs its just not going to happen.

I will agree there are a few spawnargs that you can update and the code will look for these and add the changes accordingly but there have been several of your posts were you say use a target_setkeyval and not matter how many times i try it or look for where thier being update it just never happens.
Please please please if your doing something that the rest of us missing let us in on the secret you entity spagetti chaining guru/nutter :lol:

____________________________________________

Quote:
this is only partially true. it also calls UpdateVisuals() and Present(). this is very interesting...


The reason i did not quote these two function is because i believe they would have nothing to do with what your after.
After looking into Present and in particular gameRenderWorld->AddEntityDef or UpdateEntityDef and from the experiments above i still believe they have nothing to do with what your after.
Although we dont have the code for either of these function they both seem to be doing the same thing , transfering renderentity data to the renderer, one runs first itme round when the entity has not got a modeldefHandle (has not been put on the list for updating) the other everytime after that.
Both these lines i believe are passing a renderview_t (see definition for what it contains) into the list of entities to be drawn and i cannot belive that carmack would wait until then ( although could be possible as both an entity id number and shaderparms either of which could be used) when there are so many other place that would be easyier or are already checking an entity for changed spawnargs, it just wouldnt make sense.

Disclaimer goes here though, i am by no way a code guru and it may well be proved that i am totaly out of my depth (i can already hear a slight gurgling sound above the water rushing in and out of my ears) and have to change the way i think the code works. :)


Top
 Profile  
 
 Post subject: Re: it works
PostPosted: Thu Sep 15, 2005 7:25 am 
Offline
Quad Damage!
User avatar

Joined: Tue Jun 22, 2004 6:57 pm
Posts: 4992
Location: Green Bay, WI
voldemort wrote:
It works download my example map from d3file front for examples or look throught the tutorials for a link to the map


it still aint working voldemort :cry:

please help. here's my map file:

Version 2
// entity 0
{
"classname" "worldspawn"
// primitive 0
{
brushDef3
{
( -1 0 0 -384 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 1 0 928 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 1 0 0 -416 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 0 1 -800 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 0 -1 0 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 -1 0 -960 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
}
}
// primitive 1
{
brushDef3
{
( 0 0 -1 32 ) ( ( -0.0000000054 -0.0312499944 -10.0000076294 ) ( 0.0312499925 -0.0000000054 20.9999847412 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 0 0 1 -768 ) ( ( -0.0000000054 -0.0312499963 10.9999895096 ) ( 0.0312499925 -0.0000000054 20.9999885559 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 0 -1 0 -672 ) ( ( -0.0000000002 -0.0013586957 -0.0434781834 ) ( 0.0312498752 -0.0000000054 -9.9999599457 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 1 0 0 -352 ) ( ( -0.0000000002 -0.0013586957 -0.0434784703 ) ( 0.0312498752 -0.0000000054 20.999912262 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 0 1 0 640 ) ( ( -0.0000000002 -0.0013586957 -0.0434783325 ) ( 0.0312498752 -0.0000000054 10.999956131 ) ) "textures/base_trim/sfltrim6" 0 0 0
( -1 0 0 320 ) ( ( -0.0000000002 -0.0013586957 -0.0434780456 ) ( 0.0312498752 -0.0000000054 -19.9999198914 ) ) "textures/base_trim/sfltrim6" 0 0 0
}
}
// primitive 2
{
brushDef3
{
( 0 0 -1 32 ) ( ( -0.0000000054 -0.0312499963 10.9999895096 ) ( 0.0312499925 -0.0000000054 20.9999885559 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 0 0 1 -768 ) ( ( -0.0000000054 -0.0312499944 -10.0000076294 ) ( 0.0312499925 -0.0000000054 20.9999847412 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 0 -1 0 -672 ) ( ( -0.0000000002 -0.0013586957 -0.0434783325 ) ( 0.0312498752 -0.0000000054 10.999956131 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 1 0 0 320 ) ( ( -0.0000000002 -0.0013586957 -0.0434784703 ) ( 0.0312498752 -0.0000000054 20.999912262 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 0 1 0 640 ) ( ( -0.0000000002 -0.0013586957 -0.0434781834 ) ( 0.0312498752 -0.0000000054 -9.9999599457 ) ) "textures/base_trim/sfltrim6" 0 0 0
( -1 0 0 -352 ) ( ( -0.0000000002 -0.0013586957 -0.0434780456 ) ( 0.0312498752 -0.0000000054 -19.9999198914 ) ) "textures/base_trim/sfltrim6" 0 0 0
}
}
// primitive 3
{
brushDef3
{
( 0 0 -1 32 ) ( ( -0.0000000054 -0.0312499944 0.4999966621 ) ( 0.0312499963 -0.0000000054 20.9999923706 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 0 0 1 -768 ) ( ( -0.0000000054 -0.0312499944 0.4999966621 ) ( 0.0312499963 -0.0000000054 20.9999923706 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 0 -1 0 -672 ) ( ( -0.0000000002 -0.0013586957 -0.043478258 ) ( 0.0312498771 -0.0000000054 0.4999978542 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 1 0 0 -16 ) ( ( -0.0000000002 -0.0013586957 -0.0434784703 ) ( 0.0312498752 -0.0000000054 20.999912262 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 0 1 0 640 ) ( ( -0.0000000002 -0.0013586957 -0.043478258 ) ( 0.0312498771 -0.0000000054 0.4999978542 ) ) "textures/base_trim/sfltrim6" 0 0 0
( -1 0 0 -16 ) ( ( -0.0000000002 -0.0013586957 -0.0434780456 ) ( 0.0312498752 -0.0000000054 -19.9999198914 ) ) "textures/base_trim/sfltrim6" 0 0 0
}
}
// primitive 4
{
brushDef3
{
( 0 1 0 704 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 0 -1 0 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 0 1 -800 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 -1 0 -736 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 1 0 0 -416 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( -1 0 0 -384 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
}
}
// primitive 5
{
brushDef3
{
( -1 0 0 -384 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 1 0 -96 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 1 0 0 -416 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 0 1 -800 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 0 -1 0 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 -1 0 64 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
}
}
// primitive 6
{
brushDef3
{
( -1 0 0 -416 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 1 0 -64 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 -1 0 -736 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 0 1 -800 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 0 -1 0 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 1 0 0 384 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
}
}
// primitive 7
{
brushDef3
{
( 0 1 0 -64 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 1 0 0 -416 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 -1 0 -736 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 0 1 -800 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 0 -1 0 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( -1 0 0 384 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
}
}
// primitive 8
{
brushDef3
{
( 0 0 1 -32 ) ( ( 0.015625 0 20 ) ( 0 0.015625 0 ) ) "textures/base_floor/stectile1quad2" 0 0 0
( 0 0 -1 0 ) ( ( 0.015625 0 20 ) ( 0 0.015625 0 ) ) "textures/base_floor/stectile1quad2" 0 0 0
( 0 -1 0 -736 ) ( ( 0.015625 0 20 ) ( 0 0.015625 0 ) ) "textures/base_floor/stectile1quad2" 0 0 0
( 1 0 0 -416 ) ( ( 0.015625 0 20 ) ( 0 0.015625 0 ) ) "textures/base_floor/stectile1quad2" 0 0 0
( 0 1 0 -64 ) ( ( 0.015625 0 20 ) ( 0 0.015625 0 ) ) "textures/base_floor/stectile1quad2" 0 0 0
( -1 0 0 -384 ) ( ( 0.015625 0 20 ) ( 0 0.015625 0 ) ) "textures/base_floor/stectile1quad2" 0 0 0
}
}
// primitive 9
{
brushDef3
{
( 0 0 -1 768 ) ( ( 0.0078125 0 10 ) ( 0 0.0078125 0 ) ) "textures/base_floor/sflpanel8" 0 0 0
( 0 0 1 -800 ) ( ( 0.0078125 0 10 ) ( 0 0.0078125 0 ) ) "textures/base_floor/sflpanel8" 0 0 0
( 0 -1 0 -736 ) ( ( 0.0078125 0 10 ) ( 0 0.0078125 0 ) ) "textures/base_floor/sflpanel8" 0 0 0
( 1 0 0 -416 ) ( ( 0.0078125 0 10 ) ( 0 0.0078125 0 ) ) "textures/base_floor/sflpanel8" 0 0 0
( 0 1 0 -64 ) ( ( 0.0078125 0 10 ) ( 0 0.0078125 0 ) ) "textures/base_floor/sflpanel8" 0 0 0
( -1 0 0 -384 ) ( ( 0.0078125 0 10 ) ( 0 0.0078125 0 ) ) "textures/base_floor/sflpanel8" 0 0 0
}
}
// primitive 10
{
brushDef3
{
( 0 0 -1 32 ) ( ( -0.0000000054 -0.0312499944 0.4999909401 ) ( 0.0312499963 -0.0000000054 52.9999923706 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 0 0 1 -768 ) ( ( -0.0000000054 -0.0312499944 0.4999909401 ) ( 0.0312499963 -0.0000000054 52.9999923706 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 0 -1 0 -1696 ) ( ( -0.0000000002 -0.0013586957 -0.043478258 ) ( 0.0312498771 -0.0000000054 0.4999978542 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 1 0 0 -16 ) ( ( -0.0000000002 -0.0013586957 -0.0434786528 ) ( 0.0312498752 -0.0000000054 52.9997901917 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 0 1 0 1664 ) ( ( -0.0000000002 -0.0013586957 -0.043478258 ) ( 0.0312498771 -0.0000000054 0.4999978542 ) ) "textures/base_trim/sfltrim6" 0 0 0
( -1 0 0 -16 ) ( ( -0.0000000002 -0.0013586957 -0.0434778631 ) ( 0.0312498752 -0.0000000054 -51.999797821 ) ) "textures/base_trim/sfltrim6" 0 0 0
}
}
// primitive 11
{
brushDef3
{
( 0 0 -1 32 ) ( ( -0.0000000054 -0.0312499963 10.9999895096 ) ( 0.0312499925 -0.0000000054 52.9999885559 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 0 0 1 -768 ) ( ( -0.0000000054 -0.0312499944 -10.0000076294 ) ( 0.0312499925 -0.0000000054 52.9999847412 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 0 -1 0 -1696 ) ( ( -0.0000000002 -0.0013586957 -0.0434783362 ) ( 0.0312498752 -0.0000000054 10.999956131 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 1 0 0 320 ) ( ( -0.0000000002 -0.0013586957 -0.0434786528 ) ( 0.0312498752 -0.0000000054 52.9997901917 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 0 1 0 1664 ) ( ( -0.0000000002 -0.0013586957 -0.0434781797 ) ( 0.0312498752 -0.0000000054 -9.9999599457 ) ) "textures/base_trim/sfltrim6" 0 0 0
( -1 0 0 -352 ) ( ( -0.0000000002 -0.0013586957 -0.0434778631 ) ( 0.0312498752 -0.0000000054 -51.999797821 ) ) "textures/base_trim/sfltrim6" 0 0 0
}
}
// primitive 12
{
brushDef3
{
( 0 0 -1 32 ) ( ( -0.0000000054 -0.0312499944 -10.0000076294 ) ( 0.0312499925 -0.0000000054 52.9999847412 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 0 0 1 -768 ) ( ( -0.0000000054 -0.0312499963 10.9999895096 ) ( 0.0312499925 -0.0000000054 52.9999885559 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 0 -1 0 -1696 ) ( ( -0.0000000002 -0.0013586957 -0.0434781797 ) ( 0.0312498752 -0.0000000054 -9.9999599457 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 1 0 0 -352 ) ( ( -0.0000000002 -0.0013586957 -0.0434786528 ) ( 0.0312498752 -0.0000000054 52.9997901917 ) ) "textures/base_trim/sfltrim6" 0 0 0
( 0 1 0 1664 ) ( ( -0.0000000002 -0.0013586957 -0.0434783362 ) ( 0.0312498752 -0.0000000054 10.999956131 ) ) "textures/base_trim/sfltrim6" 0 0 0
( -1 0 0 320 ) ( ( -0.0000000002 -0.0013586957 -0.0434778631 ) ( 0.0312498752 -0.0000000054 -51.999797821 ) ) "textures/base_trim/sfltrim6" 0 0 0
}
}
// primitive 13
{
brushDef3
{
( -1 0 0 -384 ) ( ( 0.0078125 0 -10 ) ( 0 0.0078125 0 ) ) "textures/base_floor/sflpanel8" 0 0 0
( 0 1 0 960 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_floor/sflpanel8" 0 0 0
( 1 0 0 -416 ) ( ( 0.0078125 0 10 ) ( 0 0.0078125 0 ) ) "textures/base_floor/sflpanel8" 0 0 0
( 0 -1 0 -1760 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_floor/sflpanel8" 0 0 0
( 0 0 1 -800 ) ( ( 0.0078125 0 10 ) ( 0 0.0078125 0 ) ) "textures/base_floor/sflpanel8" 0 0 0
( 0 0 -1 768 ) ( ( 0.0078125 0 10 ) ( 0 0.0078125 0 ) ) "textures/base_floor/sflpanel8" 0 0 0
}
}
// primitive 14
{
brushDef3
{
( -1 0 0 -384 ) ( ( 0.015625 0 -20 ) ( 0 0.015625 0 ) ) "textures/base_floor/stectile1quad2" 0 0 0
( 0 1 0 960 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/base_floor/stectile1quad2" 0 0 0
( 1 0 0 -416 ) ( ( 0.015625 0 20 ) ( 0 0.015625 0 ) ) "textures/base_floor/stectile1quad2" 0 0 0
( 0 -1 0 -1760 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/base_floor/stectile1quad2" 0 0 0
( 0 0 -1 0 ) ( ( 0.015625 0 20 ) ( 0 0.015625 0 ) ) "textures/base_floor/stectile1quad2" 0 0 0
( 0 0 1 -32 ) ( ( 0.015625 0 20 ) ( 0 0.015625 0 ) ) "textures/base_floor/stectile1quad2" 0 0 0
}
}
// primitive 15
{
brushDef3
{
( -1 0 0 384 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 0 -1 0 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 0 1 -800 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 -1 0 -1760 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 1 0 0 -416 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 1 0 960 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
}
}
// primitive 16
{
brushDef3
{
( 1 0 0 384 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 0 -1 0 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 0 1 -800 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 -1 0 -1760 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 1 0 960 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( -1 0 0 -416 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
}
}
// primitive 17
{
brushDef3
{
( -1 0 0 -384 ) ( ( 0.0078125 0 0.25 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 1 0 0 -416 ) ( ( 0.0078125 0 -0.25 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 -1 0 -1760 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 0 1 -800 ) ( ( 0.0078125 0 -0.25 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 0 -1 0 ) ( ( 0.0078125 0 -0.25 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
( 0 1 0 1728 ) ( ( 0.0078125 0 0 ) ( 0 0.0078125 0 ) ) "textures/base_wall/stewall2a_blu" 0 0 0
}
}
}
// entity 1
{
"classname" "func_static"
"name" "portal"
"model" "portal"
"origin" "0 -576 96"
"cameraTarget" "func_securitycamera_1"
// primitive 0
{
patchDef2
{
"textures/pbmax/camera_screen_1024"
( 3 3 0 0 0 )
(
( ( 64 -576 31.999786377 0 1 ) ( 64 -576 95.9999389648 0 0.5 ) ( 63.9999847412 -576 160 0 0 ) )
( ( 0.0000457764 -576 31.999786377 0.5 1 ) ( 0 -576 95.9999389648 0.5 0.5 ) ( -0.0000457764 -576 160 0.5 0 ) )
( ( -63.9999237061 -576 31.9997558594 1 1 ) ( -63.9999694824 -576 95.9998779297 1 0.5 ) ( -64 -575.9999389648 159.9998779297 1 0 ) )
)
}
}
}
// entity 2
{
"classname" "func_static"
"name" "camera_window"
"model" "camera_window"
"origin" "0 -1600 96"
// primitive 0
{
brushDef3
{
( 0 0 -1 -64 ) ( ( 0.0078125 0 0 ) ( 0 0.015625 0.984375 ) ) "textures/mcity/mchangar1" 0 0 0
( 0 0 1 -64 ) ( ( 0.0078125 0 0 ) ( 0 0.015625 -0.984375 ) ) "textures/mcity/mchangar1" 0 0 0
( 0 -1 0 -1 ) ( ( 0.0078125 0 -0.4921875 ) ( 0 0.015625 0.015625 ) ) "textures/mcity/mchangar1" 0 0 0
( 1 0 0 -1 ) ( ( 0.0078125 0 0 ) ( 0 0.015625 0.015625 ) ) "textures/mcity/mchangar1" 0 0 0
( 0 1 0 -1 ) ( ( 0.0078125 0 0.4921875 ) ( 0 0.015625 0.015625 ) ) "textures/mcity/mchangar1" 0 0 0
( -1 0 0 -1 ) ( ( 0.0078125 0 0 ) ( 0 0.015625 0.015625 ) ) "textures/mcity/mchangar1" 0 0 0
}
}
// primitive 1
{
brushDef3
{
( 1 0 0.0000001192 -63.9999961853 ) ( ( -0.0078125019 0.0000000021 -25.0000019073 ) ( -0.0000000042 -0.0156250037 -0.515630126 ) ) "textures/mcity/mchangar1" 0 0 0
( -1 0 -0.0000001192 -64 ) ( ( 0.0078125019 0.0000000021 -25.0000019073 ) ( -0.0000000042 0.0156250056 0.5156332254 ) ) "textures/mcity/mchangar1" 0 0 0
( 0 1 0.0000002687 -0.9999572635 ) ( ( -0.0000000009 0.0078125028 0.2578114271 ) ( -0.0156250019 -0.0000000019 -1.4843752384 ) ) "textures/mcity/mchangar1" 0 0 0
( 0.0000001192 0.0000002687 -1 -0.9999721646 ) ( ( -0.0078125019 0 -25.0000038147 ) ( 0 -0.0156250019 -1.4843752384 ) ) "textures/mcity/mchangar1" 0 0 0
( 0 -1 -0.0000002687 -1.0000426769 ) ( ( -0.0000000009 -0.0078125028 -0.2578114271 ) ( 0.0156250019 -0.0000000019 -1.4843752384 ) ) "textures/mcity/mchangar1" 0 0 0
( -0.0000001192 -0.0000002687 1 -1.000027895 ) ( ( 0.0078125019 0 25.0000038147 ) ( 0 0.0156250019 -1.4843752384 ) ) "textures/mcity/mchangar1" 0 0 0
}
}
// primitive 2
{
brushDef3
{
( 0 0 -1 -64 ) ( ( 0.0078125 0 0 ) ( 0 0.015625 -0 ) ) "textures/mcity/mchangar1" 0 0 0
( 0 0 1 -64 ) ( ( 0.0078125 0 0 ) ( 0 0.015625 -0 ) ) "textures/mcity/mchangar1" 0 0 0
( 0 -1 0 -1 ) ( ( 0.0078125 0 0 ) ( 0 0.015625 0.015625 ) ) "textures/mcity/mchangar1" 0 0 0
( 1 0 0 62 ) ( ( 0.0078125 0 0 ) ( 0 0.015625 0.015625 ) ) "textures/mcity/mchangar1" 0 0 0
( 0 1 0 -1 ) ( ( 0.0078125 0 0 ) ( 0 0.015625 0.015625 ) ) "textures/mcity/mchangar1" 0 0 0
( -1 0 0 -64 ) ( ( 0.0078125 0 0 ) ( 0 0.015625 0.015625 ) ) "textures/mcity/mchangar1" 0 0 0
}
}
// primitive 3
{
brushDef3
{
( 1 -0 0.0000001192 -64.0000076294 ) ( ( -0.0078125019 0.0000000021 -25.0000019073 ) ( -0.0000000042 -0.0156250037 -1.500005126 ) ) "textures/mcity/mchangar1" 0 0 0
( -1 0 -0.0000001192 -63.9999885559 ) ( ( 0.0078125019 0.0000000021 -25.0000019073 ) ( -0.0000000042 0.0156250056 1.5000082254 ) ) "textures/mcity/mchangar1" 0 0 0
( -0 1 0.0000002687 -1.0000338554 ) ( ( -0.0000000009 0.0078125028 0.7499989271 ) ( -0.0156250019 -0.0000000019 -1.4843752384 ) ) "textures/mcity/mchangar1" 0 0 0
( 0.0000001192 0.0000002687 -1 62.0000305176 ) ( ( -0.0078125019 0 -25.0000038147 ) ( 0 -0.0156250019 -1.4843752384 ) ) "textures/mcity/mchangar1" 0 0 0
( 0 -1 -0.0000002687 -0.9999661446 ) ( ( -0.0000000009 -0.0078125028 -0.7499989271 ) ( 0.0156250019 -0.0000000019 -1.4843752384 ) ) "textures/mcity/mchangar1" 0 0 0
( -0.0000001192 -0.0000002687 1 -64.0000228882 ) ( ( 0.0078125019 0 25.0000038147 ) ( 0 0.0156250019 -1.4843752384 ) ) "textures/mcity/mchangar1" 0 0 0
}
}
// primitive 4
{
brushDef3
{
( 0 0 -1 -64 ) ( ( 0.0078125 0 0 ) ( 0 0.015625 1.96875 ) ) "textures/mcity/mchangar1" 0 0 0
( 0 0 1 -64 ) ( ( 0.0078125 0 0 ) ( 0 0.015625 -1.96875 ) ) "textures/mcity/mchangar1" 0 0 0
( 0 -1 0 -1 ) ( ( 0.0078125 0 -0.984375 ) ( 0 0.015625 0.015625 ) ) "textures/mcity/mchangar1" 0 0 0
( 1 0 0 -64 ) ( ( 0.0078125 0 0 ) ( 0 0.015625 0.015625 ) ) "textures/mcity/mchangar1" 0 0 0
( 0 1 0 -1 ) ( ( 0.0078125 0 0.984375 ) ( 0 0.015625 0.015625 ) ) "textures/mcity/mchangar1" 0 0 0
( -1 0 0 62 ) ( ( 0.0078125 -0 -0 ) ( 0 0.015625 0.015625 ) ) "textures/mcity/mchangar1" 0 0 0
}
}
// primitive 5
{
brushDef3
{
( 1 0 0.0000001192 -63.9999885559 ) ( ( -0.0078125019 0.0000000021 -25.0000019073 ) ( -0.0000000042 -0.0156250037 0.4687449932 ) ) "textures/mcity/mchangar1" 0 0 0
( -1 0 -0.0000001192 -64.0000076294 ) ( ( 0.0078125019 0.0000000021 -25.0000019073 ) ( -0.0000000042 0.0156250056 -0.4687420428 ) ) "textures/mcity/mchangar1" 0 0 0
( 0 1 0.0000002687 -0.9999403358 ) ( ( -0.0000000009 0.0078125028 -0.2343761921 ) ( -0.0156250019 -0.0000000019 -1.4843752384 ) ) "textures/mcity/mchangar1" 0 0 0
( 0.0000001192 0.0000002687 -1 -63.9999732971 ) ( ( -0.0078125019 0 -25.0000038147 ) ( 0 -0.0156250019 -1.4843752384 ) ) "textures/mcity/mchangar1" 0 0 0
( 0 -1 -0.0000002687 -1.0000596046 ) ( ( -0.0000000009 -0.0078125028 0.2343761921 ) ( 0.0156250019 -0.0000000019 -1.4843752384 ) ) "textures/mcity/mchangar1" 0 0 0
( -0.0000001192 -0.0000002687 1 61.9999732971 ) ( ( 0.0078125019 0 25.0000038147 ) ( 0 0.0156250019 -1.4843752384 ) ) "textures/mcity/mchangar1" 0 0 0
}
}
}
// entity 3
{
"anim" "idle"
"classname" "monster_zombie_tshirt_bald"
"name" "monster_zombie_tshirt_bald_1"
"origin" "128 0 34"
}
// entity 4
{
"classname" "trigger_multiple"
"name" "trigger_multiple_1"
"model" "trigger_multiple_1"
"origin" "0 -588 96"
"call" "teleport_player"
// primitive 0
{
brushDef3
{
( 0 0 -1 -64 ) ( ( 0.0625 0 0 ) ( 0 0.0625 0 ) ) "textures/common/trigmulti" 0 0 0
( 0 0 1 -64 ) ( ( 0.0625 0 0 ) ( 0 0.0625 0 ) ) "textures/common/trigmulti" 0 0 0
( 0 -1 0 0 ) ( ( 0.0625 0 0 ) ( 0 0.0625 0 ) ) "textures/common/trigmulti" 0 0 0
( 1 0 0 -64 ) ( ( 0.0625 0 0 ) ( 0 0.0625 0 ) ) "textures/common/trigmulti" 0 0 0
( 0 1 0 -4 ) ( ( 0.0625 0 0 ) ( 0 0.0625 0 ) ) "textures/common/trigmulti" 0 0 0
( -1 0 0 -64 ) ( ( 0.0625 0 0 ) ( 0 0.0625 0 ) ) "textures/common/trigmulti" 0 0 0
}
}
}
// entity 5
{
"classname" "light"
"name" "light_1"
"origin" "0 -352 416"
"noshadows" "0"
"nospecular" "0"
"nodiffuse" "0"
"falloff" "0"
"_color" "1 1 1"
"light_radius" "800 800 800"
}
// entity 6
{
"classname" "info_player_start"
"name" "info_player_start_2"
"origin" "0 0 34"
"rotation" "1 0 0 0 1 0 0 0 1"
}
// entity 7
{
"classname" "light"
"name" "light_2"
"origin" "0 -1376 416"
"noshadows" "0"
"nospecular" "0"
"nodiffuse" "0"
"falloff" "0"
"_color" "1 1 1"
"light_radius" "800 800 800"
}
// entity 8
{
"classname" "target_setkeyval"
"name" "target_setkeyval_3"
"origin" "0 -1024 192"
"keyval" "scanFov;25"
"target" "func_securitycamera_1"
}
// entity 9
{
"classname" "func_securitycamera"
"name" "func_securitycamera_1"
"origin" "0 -1024 106"
"rotation" "-1.34359e-007 -1 0 1 -1.34359e-007 0 0 0 1"
"model" "models/mapobjects/camera/camera01.ase"
"sweepAngle" "0"
"sweepSpeed" "0"
"scanFov" "90"
}
// entity 10
{
"classname" "trigger_multiple"
"name" "trigger_multiple_2"
"model" "trigger_multiple_2"
"origin" "0 -396 96"
"call" "trigger_test"
"target" "target_setkeyval_3"
// primitive 0
{
brushDef3
{
( 0 0 -1 -64 ) ( ( 0.0625 0 -12 ) ( 0 0.0625 0 ) ) "textures/common/trigmulti" 0 0 0
( 0 0 1 -64 ) ( ( 0.0625 0 -12 ) ( 0 0.0625 0 ) ) "textures/common/trigmulti" 0 0 0
( 0 -1 0 0 ) ( ( 0.0625 0 0 ) ( 0 0.0625 0 ) ) "textures/common/trigmulti" 0 0 0
( 1 0 0 -64 ) ( ( 0.0625 0 -12 ) ( 0 0.0625 0 ) ) "textures/common/trigmulti" 0 0 0
( 0 1 0 -4 ) ( ( 0.0625 0 0 ) ( 0 0.0625 0 ) ) "textures/common/trigmulti" 0 0 0
( -1 0 0 -64 ) ( ( 0.0625 0 12 ) ( 0 0.0625 0 ) ) "textures/common/trigmulti" 0 0 0
}
}
}

_________________
Don't take the swine flu shot!


Top
 Profile E-mail  
 
 Post subject: appologies
PostPosted: Thu Sep 15, 2005 2:50 pm 
Offline
Captured the Flag

Joined: Mon Feb 21, 2005 6:07 pm
Posts: 1985
Location: usa/kansas
http://doom3.filefront.com/file/Advance ... ials;40577

This is the link to the file and in the readme is links to 1/2 my tutorials.

the tutorials arnt on the main page of tutorial listings but in the reply pages... pgs 2,3,4 etc...

I havnt touched doomed in a looooong time now Ive been working with sandbox for farcry instead but if memory serves

using set influence is a parm for field of vision cant remember it right now

i simply pluged it into the camera using setkeyval and it worked

also in the map is example on how to create the equivalent of satanics func_rotating door but using stock built in assets instead

IF you dont see the mechanisms look for a hidden room above where the triggers are hidden or out in the void using noflood 1 so they dont cause a leak....etc.. I had planned on doing some video tutorials for doom3 to show more obscure stuff like this but couldnt find good screen recording soft


the only decent one i found crashed the system after 2 min...

again if anyone knows of any such soft I would be willing to pull doom3 out of mothballs and do some tuts before the release of quake 4 (((wich is when i plan on returning to the engine...))


Top
 Profile E-mail  
 
 Post subject: tutorials
PostPosted: Thu Sep 15, 2005 2:57 pm 
Offline
Captured the Flag

Joined: Mon Feb 21, 2005 6:07 pm
Posts: 1985
Location: usa/kansas
I wipped the first reply out quick since I felt bad for not checking into that for you last night ((we had buyers looking at our house and I forgot))

If you want more of my tutorials click on the search link in this website


there are two fields a top one and a lower one

leave the top one empty in the lower one type my user name it will show a complete list of all my posts including tutorials..

the only parameter i could not feed an entity in game was to unbind objects that has to be done by script the guys from ID replied and said it isnt possible as such now.


but you can change color solid state position rotation just about anything on the fly

Dont recall the actual process but if you download the map simply open one and you will see how the parms are passed


if i recal its someting like

parm1

solid:1


note the :

thats what seperates the parm and the value you desire..


Top
 Profile E-mail  
 
 Post subject: tutorials
PostPosted: Thu Sep 15, 2005 2:58 pm 
Offline
Captured the Flag

Joined: Mon Feb 21, 2005 6:07 pm
Posts: 1985
Location: usa/kansas
I wipped the first reply out quick since I felt bad for not checking into that for you last night ((we had buyers looking at our house and I forgot))

If you want more of my tutorials click on the search link in this website


there are two fields a top one and a lower one

leave the top one empty in the lower one type my user name it will show a complete list of all my posts including tutorials..

the only parameter i could not feed an entity in game was to unbind objects that has to be done by script the guys from ID replied and said it isnt possible as such now.


but you can change color solid state position rotation just about anything on the fly

Dont recall the actual process but if you download the map simply open one and you will see how the parms are passed


if i recal its someting like

parm1

solid:1


note the :

thats what seperates the parm and the value you desire..


Top
 Profile E-mail  
 
 Post subject: how i would do it
PostPosted: Thu Sep 15, 2005 3:03 pm 
Offline
Captured the Flag

Joined: Mon Feb 21, 2005 6:07 pm
Posts: 1985
Location: usa/kansas
dont know how your doing it but on the fly the way I would do it is


one creat your room in the middle create a patch mesh

make it a func_static set solid 0

then simply use it as a camera display from the location you want the player to go to (hidden camera) then just use a func_teleport to take you there and in the other room do the reverse this way they can actually walk around the portal and only see it from the one side

in my very first mapping attempt (my map pack) i did something similar in the rooom with the exploding microwave (the pool table is inthere) by the pool table you see a video display but you can walk through it and its only one sided if i recall this is how I didi it..


Top
 Profile E-mail  
 
 Post subject: im no artist but here is a stab
PostPosted: Thu Sep 15, 2005 3:17 pm 
Offline
Captured the Flag

Joined: Mon Feb 21, 2005 6:07 pm
Posts: 1985
Location: usa/kansas
my problem is im no artist but here is a more detailed stab at what I would do

one first create a cylender

now cap it

select all the faces but 1 cap
delete the selected faces

you are left wit a round patch mesh..

filp it so its vertical set solid 0
create a second cylnder that encompases the first (outer ring)
thicken it)

no go into the sfx folder or particles folder and select some energy like lightning or red beam or something els (maybe running blood)

use that as the boundary of your portal and make it solid
create a func_rotate (tiny) place it in center of your portal so things rotate properly (note the func rotate needs parm solid 0)
i would then create a few target set keyvals
initially the rotate speed would be o (you would need a target setkeyval to return this value when the player is far enough away)

as they come closer fire the set keyvals acordingly

first speed 5

then speedd 25

finally something like 300

and the final trigger also starts some particle effect as well to make it look good no all you need is your cameras and your func_teleports in place and you have a portal with visual ques as well


target set keyval 1
speed:0
target set keyval 2
speed:5
target setkeyval 3
speed 50
target setkeyval 4
300

I createad a centrifuge in a practice map using this principle the only problem was the very outer part (it was huge ) looked slightly jerky with the speed shifts so you might want to set accel values as well)


Top
 Profile E-mail  
 
 Post subject:
PostPosted: Thu Sep 15, 2005 5:37 pm 
Offline
Captured the Flag

Joined: Mon Feb 21, 2005 6:07 pm
Posts: 1985
Location: usa/kansas
entities dont automatically update but a trigger updates them or some other event but yes set keyval works with everything but bind.....

I was just looking at your post and see that you are actually trying to do someting more complicated then I originally thought.

I dont know If my replies are any help

Im not even at home now Im at work...

but one thing I did discover that you could use for a neat effect was using target_set influence for changing fov and visual effects...

for instance as they get closer you could affect them with a tunnel view or another visuall effect

I used one fo the martian scrooling skies as a visuall mtr and it had an ausome effect on the players vision (pulsating red energy veins)

but you might be able to use target set influence to chang the players fov temporarily using setkeyval when they approach you just have to remember to reset their vision with a second setkeyval.....

I have several test maps where I played with such crazy concepts if you want to look at them and I did a wall portal using cameras and a func_teleport in one also (you would have to find it in editor mode) on one of the walls of a room if you approach certain spots i use set influence to do some freaky visual effects using various particle textures


Top
 Profile E-mail  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 13 posts ] 

All times are UTC [ DST ]


Who is online

Users browsing this forum: Exabot [Bot] and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group