]> git.rm.cloudns.org Git - xonotic/darkplaces.git/commit
UNMERGE! ODE stuff:
authorvortex <vortex@d7cf8633-e32d-0410-b094-e92efae38249>
Sat, 31 Dec 2011 09:53:16 +0000 (09:53 +0000)
committerRudolf Polzer <divverent@alientrap.org>
Tue, 3 Jan 2012 23:58:28 +0000 (00:58 +0100)
commitf684da5ffb1463edca00cc6ed847510a41631a79
tree33f5dffb9861087c4d41744057061c5e350942f0
parent57b2687485a5aaf32f371c3c0a7c6adeb8a37e99
UNMERGE! ODE stuff:
1) Cleaned up capsule/cylinder setup code. New geomtypes - axis-oriented cylinder (x, y, z) and capsule, the only difference from original cylinder/capsule is that leading axis is fixed for these types, allowing to set cylinder with length lesser than diameter. Axis oriented
capsule is not that useful (as there is no capsule which height is lesser than radius, so it's going to fix radius to match), but could be useful is some cases.
2) GEOMTYPE_TRIMESH now supports .scale and .modelscale_vec (q3map2's per-axis scale).
3) New cvar physics_ode_contact_maxpoints (default 16, can be up to 32) to control default maximum number of contact points between two objects, and new .maxcontacts entity field to control maximum number of contacts it could have with other entities, setting it to low value (5 or 10) gains speed with large stacks of GEOMTYPE_TRIMESH, but makes collision more grude, use it on debris and such stuff.
4) At engine startup, print configuration (extensions string) ODE was built with.
5) physics_ode_constantstep is rewritten to do what actually it should do - it tries to run physics with constant time step, making more ODE iterations to match frametime. So it allows to run physics at 50 FPS, 100 fps no matter what rendering fps are, with some restrictions. physics_ode_iterationsperframe has no effect when using constantstep.
6) New GEOMTYPE_NONE that makes object to be entirely ignored by ODE. Also SOLID_NOT and SOLID_TRIGGER defaults to GEOMTYPE_NONE (if geomtype is 0).
7) Added basic forces in same manner as joints (entities with .forcetype), physics_addforce() and physics_addtorgue() is now deprecated as they cant work with multiple ODE iterations per frame.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@11626 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::unmerge=9b11444784a52e3d91b41bda74aa0bfa5cdb6127
dpdefs/dpextensions.qc
matrixlib.c
matrixlib.h
progs.h
prvm_cmds.c
prvm_offsets.h
world.c
world.h