[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/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 - [FTE] [SOLVED] Tracebox for collisions on meshes

[FTE] [SOLVED] Tracebox for collisions on meshes

Discuss CSQC related programming.

Moderator: InsideQC Admins

[FTE] [SOLVED] Tracebox for collisions on meshes

Postby toneddu2000 » Tue Nov 07, 2017 2:52 pm

Last edited by toneddu2000 on Tue Nov 07, 2017 4:02 pm, edited 1 time in total.
- my first commercial game, made with FTEQW game engine
toneddu2000
 
Posts: 1395
Joined: Tue Feb 24, 2009 4:39 pm
Location: Italy

Re: [FTE] Tracebox for collisions on meshes

Postby toneddu2000 » Tue Nov 07, 2017 3:25 pm

Little update: I notice that, even setting player solid to SOLID_NOT, and getting close to an entity with SOLID_BBOX, player won't go trough. Weird, I thought it'd happen only when 2 entities with solid ==SOLID_BBOX||SOLID_BSP||SOLID_SLIDEBOX would collide...

#EDIT: using instead solid = SOLID_TRIGGER and then tracebox with MOVE_TRIGGERS, wouldn't trace meshes at all...
- my first commercial game, made with FTEQW game engine
toneddu2000
 
Posts: 1395
Joined: Tue Feb 24, 2009 4:39 pm
Location: Italy

Re: [FTE] Tracebox for collisions on meshes

Postby toneddu2000 » Tue Nov 07, 2017 4:01 pm

My fault: I used 2 tracebox one inside another (one for trace collision and second for trace movements) and second one was set to MOVE_NORMAL! :mrgreen:
Ok, now it works, cool! So, basically it's solved but I'm still curious why MOVE_EVERYTHING doesn't work with SOLID_NOT meshes

Hurray now craFTEr has static meshes collisions!!yay :biggrin:
- my first commercial game, made with FTEQW game engine
toneddu2000
 
Posts: 1395
Joined: Tue Feb 24, 2009 4:39 pm
Location: Italy

Re: [FTE] Tracebox for collisions on meshes

Postby Spike » Tue Nov 07, 2017 4:13 pm

tracebox doesn't normally consider the solidity of the moving entity. if its non-solid then why the hell is it trying to collide...
triggers are non-solid (or rather, one-way). they're kinda evil. don't use them for anything but triggers.
instead of move_hitmodel on the mover's traces, you can use solid_bsp on the impactee. just make sure its movetype_none otherwise things get weird (tracebox traces a box[or possibly a capsule], not complex trisoup). for hitmodel/equivelent to work you must make sure the absbox of the trisoup covers the entire thing, otherwise it might not be noticed until its too late (this may be a problem without solid_bsp, especially when things are rotated).

make sure you use setorigin and NOT directly hacking .origin. Yes, there are cases where you can directly change the origin, but without a setorigin afterwards the engine's collision structures will not be updated. so make sure you do it before control returns to the engine or another (moving) ent.
note that the engine ignores collisions where one ent is the owner of the other (both ways. otherwise rockets would blow up in your face).
you can also ignore collisions using dimension_solid/hit.
there's also rules about solid_corpse which are kinda annoying to work with.
Additionally you can mess around with .hitcontentsmaski and fancy brushcontents flags (solid water? you got it!).

MOVE_TRIGGERS and MOVE_EVERYTHING are hacks. FL_FINDABLE_NONSOLID is required to allow MOVE_EVERYTHING to hit nonsolid/trigger entities. otherwise it simply bypasses the engine's collision structures (which makes it slow, so why bother?). this flag also applies to findradius. MOVE_TRIGGER is annoying whener there's a trigger_multiple etc in the way.
.
Spike
 
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Re: [FTE] [SOLVED] Tracebox for collisions on meshes

Postby toneddu2000 » Tue Nov 07, 2017 4:39 pm

- my first commercial game, made with FTEQW game engine
toneddu2000
 
Posts: 1395
Joined: Tue Feb 24, 2009 4:39 pm
Location: Italy


Return to CSQC Programming

Who is online

Users browsing this forum: No registered users and 1 guest