havoc [Mon, 27 Feb 2012 18:31:30 +0000 (18:31 +0000)]
fix for .alpha and other effects on sprites that use the same frame,
they were all reusing the same alpha value, probably also broke
interpolation at the same time
vortex [Sat, 18 Feb 2012 19:30:20 +0000 (19:30 +0000)]
ODE: rewrite scale support to scale collision mesh. Now mass center and object bounds is derived from real collision mesh box, not model/entity box. Added experimental code for Convex Hull geometry (off by default). Also autodisabling was fixed to exclude collisions between disabled objects which gives a huge speedup on dCollide* phase. Increased defaults for damping and autodisable.
Matrixlib: removed Matrix4x4_OriginScale3 which was added for ODE offsetmatrix scale, since it's not used by it anymore, its removed.
vortex [Sat, 18 Feb 2012 10:23:32 +0000 (10:23 +0000)]
Add an optional DRAW_NOGAMMA flag for R_DrawQSuperPic (disable glslgamma for that pic).
r_texture_dds_load_logfailure: 1 only prints required diffuse textures, 2 keeps old behavior - prints all missing textures (including normalmap, gloss, pants, shirt, mask.
havoc [Thu, 26 Jan 2012 16:35:07 +0000 (16:35 +0000)]
change mdl texcoord loading to not have a .5 pixel offset, this now
matches winquake (complete top row and left column are used, bottom row
and right column are not because the texcoords would be off the skin)
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
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.