divverent [Tue, 24 Jan 2012 21:47:07 +0000 (21:47 +0000)]
Revert "don't compare texflags in Draw_CachePic_Flags simply because usage of pics doesn't have a way to specify the flags you want, so "anything matches" is a good strategy here" because I just noticed it was a bad idea (R_BeginPolygon vs line drawing).
divverent [Tue, 24 Jan 2012 21:45:05 +0000 (21:45 +0000)]
don't compare texflags in Draw_CachePic_Flags simply because usage of pics doesn't have a way to specify the flags you want, so "anything matches" is a good strategy here
eihrul [Mon, 16 Jan 2012 21:33:09 +0000 (21:33 +0000)]
UNMERGE! flip dpsoftrast's texture memory layout so it matches the framebuffer orientation (allows r_viewfbo and r_bloom to work)
however, r_viewfbo and r_bloom in combination are still broken on GPUs/dpsoftrast without non-power-of-2 textures due to not matching the position DP's bloom expects them to be located at
divverent [Sun, 22 Jan 2012 21:01:16 +0000 (21:01 +0000)]
WORKAROUND: turn off vid.support.ext_framebuffer_object if nonpoweroftwo is not supported because FBO rendering with non-npot is currently massively broken
eihrul [Mon, 16 Jan 2012 21:33:09 +0000 (21:33 +0000)]
flip dpsoftrast's texture memory layout so it matches the framebuffer orientation (allows r_viewfbo and r_bloom to work)
however, r_viewfbo and r_bloom in combination are still broken on GPUs/dpsoftrast without non-power-of-2 textures due to not matching the position DP's bloom expects them to be located at
divverent [Thu, 19 Jan 2012 22:51:21 +0000 (22:51 +0000)]
Revert "note that in some cases, crypto_aeslevel changes need crypto_reload to apply (namely, for the server info string)" because I am stupid, this is already solved by code editing the first character
vortex [Sat, 31 Dec 2011 09:53:16 +0000 (09:53 +0000)]
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.
havoc [Wed, 4 Jan 2012 04:36:21 +0000 (04:36 +0000)]
if vertex texture blending is used with a _glow texture, make sure both
layers have a valid _glow texture to render with (otherwise substitute
black in their place)
vortex [Sat, 31 Dec 2011 09:53:16 +0000 (09:53 +0000)]
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.
vortex [Sat, 31 Dec 2011 09:53:16 +0000 (09:53 +0000)]
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.
vortex [Sat, 31 Dec 2011 09:53:16 +0000 (09:53 +0000)]
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.
vortex [Wed, 21 Dec 2011 15:20:10 +0000 (15:20 +0000)]
Cumulative patch:
Fix RF_MODELLIGHT (was broken and dont work same way engine does it).
Fix bug in physics_ode_constantstep 1 (integer division, huh).
Added new geomtype field for ODE physics - sets collision shape, SOLID_PHYSICS_ are not deprecated (but keeped for compatibility reasons), as geomtype is a more correct way to set collision shape (allows to set both SOLID_CORPSE and trimesh collisions for instance).
Fixed support of custinfoparms.txt as some recent change in shader code seemed to broke it.
vortex [Sat, 31 Dec 2011 09:53:16 +0000 (09:53 +0000)]
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.
vortex [Wed, 21 Dec 2011 15:20:10 +0000 (15:20 +0000)]
Cumulative patch:
Fix RF_MODELLIGHT (was broken and dont work same way engine does it).
Fix bug in physics_ode_constantstep 1 (integer division, huh).
Added new geomtype field for ODE physics - sets collision shape, SOLID_PHYSICS_ are not deprecated (but keeped for compatibility reasons), as geomtype is a more correct way to set collision shape (allows to set both SOLID_CORPSE and trimesh collisions for instance).
Fixed support of custinfoparms.txt as some recent change in shader code seemed to broke it.
vortex [Thu, 8 Dec 2011 23:22:00 +0000 (23:22 +0000)]
ODE: experimental 'erp' field for per-entity control of Error Restitution (was only controlled globally by cvar). For more sharp collisions it helps to set high ERP for small objects and low or 0 on big ones (as high ERP on large and high-mass objects tends to explode pretty badly).
vortex [Thu, 8 Dec 2011 23:22:00 +0000 (23:22 +0000)]
ODE: experimental 'erp' field for per-entity control of Error Restitution (was only controlled globally by cvar). For more sharp collisions it helps to set high ERP for small objects and low or 0 on big ones (as high ERP on large and high-mass objects tends to explode pretty badly).