]> 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>
Sat, 31 Dec 2011 16:40:32 +0000 (17:40 +0100)
commitb9fcf35106517ec3c2741d087ac2bfe0bfe3b378
tree12fdb311001aaf3fc805f957f381f3f7c50a3ebe
parent41c580cd5476bc95130c372fd6b0297fe543b7e2
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