Age | Commit message (Collapse) | Author |
|
|
|
Never try ‘male’ replacements for models other than ‘cyborg’. Custom
models depend on this original Quake 2 client behavior.
|
|
Allow putting small 32-bit pics onto the scrap and upscaling them.
Also limit upscaling level based on maximum GL rexture size.
|
|
Also check that all core functions are present when doing dynamic
linking to improve robustness.
|
|
|
|
|
|
Otherwise pressing ‘+attack’ or ‘+use’ during demo playback caused
the instant packet flag to be set and never cleared, resulting in
sub-millisecond client frames.
Also clear instant packet flag when paused.
|
|
|
|
Fix searching in the root directory of pack files: NULL path finds all
files, empty path excludes subdirectories. Add basic support for listing
directories inside pack files.
|
|
|
|
No reason to have a separate 32-bit implementation, compiler emulated
64-bit arithmetic is fast enough.
|
|
Don't list ‘..’ entry in the root directory. Fix crash when there are no
demo entries in list. Check that initial browsing directory actually
exists before opening menu.
|
|
|
|
Also put back checks for OpenGL version and restore OpenGL 1.1
requirement.
|
|
|
|
|
|
Upscale 4x when ‘gl_upscale_pcx’ is set to 2.
Remove unused rules from HQ2x blending routine, reorder existing rules
for compatibility with HQ4x. Rename rules to make their weights obvious.
Optimize HQx initialization routine, skip entirely when ‘gl_upscale_pcx’
is set to 0.
Add ‘hqx_y’, ‘hqx_cb’ and ‘hqx_cr’ console variables for fine-tuning the
HQx algorithm.
Avoid performance bottleneck when scrap texture is uploaded several
times in a row. Delay scrap uploading until the next drawing call.
|
|
Upload original and scaled versions of image at different mipmap levels
when ‘gl_upscale_pcx’ is enabled. Enable mipmapping for upscaled images.
Bump minimum required OpenGL version to 1.2 and remove some feature
checks.
Get rid of small is_foo() functions and ‘upload_image’ hack, simply pass
image type and flags as arguments to GL_Upload*. Set all texture object
parameters in a separate function.
|
|
Add ‘gl_upscale_pcx’ console variable.
|
|
Use stack buffer for images up to 256 KiB, allocate heap buffer for
larger images. Return alpha flag in global variable.
|
|
|
|
Bump maximum number of vertices MD2 model can have to 4096 from original
limit of 2048. Some semi-broken models exist that have triangles with
indices set to -1. Simply skip such bad triangles and make GL renderer
load the model anyway. Correctly cap total number of vertices after
remapping. Ignore invalid light normal indices instead of exiting with
error.
|
|
Split mesh loading code into separate function. Properly protect against
integer overflow when validating source data bounds. Properly account
for size of index type when allocating memory.
|
|
|
|
Fall off from the same highest intensity on plane no matter what value
‘gl_dlight_falloff’ is set to. Subtract DLIGHT_CUTOFF from entity
lighting intensity.
|
|
|
|
|
|
|
|
|
|
|
|
Apply ‘sw_modulate’ to world lightmaps. Treat negative dynamic lights
the same way as OpenGL renderer does. Properly transform dynamic lights
for moving entities. Bilinear filter lightmap samples for entity
lighting. Fix ‘r_fullbight’ and surfaces without lightmaps to be really
full bright.
|
|
|
|
|
|
Validate texture coordinates. Validate vertex normal indices. Check that
skin upload width/height matches model. Draw alias models in solid white
color when skin is missing or found to be invalid.
|
|
|
|
|
|
Also force resampling of all turbulent textures to 64x64.
|
|
|
|
Scan both left edges with a generalized function. Set d_sfrac/d_tfrac
variables identically to prevent visual artifacts.
|
|
|
|
|
|
|
|
|
|
Work around bugged servers that don't cap at MAX_PACKET_ENTITIES
properly.
|
|
|
|
Support GL_UNSIGNED_INT and GL_UNSIGNED_SHORT indices for
glDrawElements as compile time option.
Explicitly generate texture object names for future compatibility with
Core profile.
Get rid of most GL matrix manipulation functions. Setup our own
matrices.
Further minimize number of GL state changes. Implement lightmap, flow
and warp state bits. Implement client side array state bits.
Lazily rebind textures on different TMUs. Lazily toggle multitexturing.
Prevent ‘gl_nobind 1’ from interfering with texture uploads.
Add support for vertex lighting, activated with ‘gl_vertexlight 1’.
Remove dependency on GL_ARB_multitexture extension, renderer should now
run on pure OpenGL 1.1 with vertex lighting.
Preserve front-to-back ordering of world surfaces when hashing.
Optimize drawing path with hashing disabled. Don't hash inline model
surfaces. Add support for alpha test surfaces.
Don't count meshes when displaying triangles per batch ratio.
|
|
Don't bother changing modelview matrix.
|
|
Simply ignore oversize surfaces, printing a developer warning.
|
|
Resolve some enums in output.
|
|
|