summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2013-04-15Use NPOT textures on OpenGL 3.0 and higher.Andrey Nazarov
2013-04-14Fix vwep model replacements.Andrey Nazarov
Never try ‘male’ replacements for models other than ‘cyborg’. Custom models depend on this original Quake 2 client behavior.
2013-04-14Convert HQx and scrap to 32-bit color.Andrey Nazarov
Allow putting small 32-bit pics onto the scrap and upscaling them. Also limit upscaling level based on maximum GL rexture size.
2013-04-12Allow fixed linking to LIBGL/LIBAL.Andrey Nazarov
Also check that all core functions are present when doing dynamic linking to improve robustness.
2013-04-12Don't project smoke model shadow.Andrey Nazarov
2013-04-11Seed PRNG before executing configs.Andrey Nazarov
2013-04-07Don't set instant packet flag when not connected.Andrey Nazarov
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.
2013-04-06Fix MSVC compilation issue.Andrey Nazarov
2013-04-06Improve FS_ListFiles when operating on pack files.Andrey Nazarov
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.
2013-04-06Fix possible use of uninitalized variables.Andrey Nazarov
2013-04-06Fix endianness issue, optimize HQx for 64-bit.Andrey Nazarov
No reason to have a separate 32-bit implementation, compiler emulated 64-bit arithmetic is fast enough.
2013-04-05Clean up and fix demo browser menu.Andrey Nazarov
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.
2013-04-05Fix handling of empty menu lists.Andrey Nazarov
2013-04-01Adjust LOD for upscaled, non power-of-two textures.Andrey Nazarov
Also put back checks for OpenGL version and restore OpenGL 1.1 requirement.
2013-03-31Pre-register model specific sounds.Andrey Nazarov
2013-03-31Add mouse support for menu slider control.Andrey Nazarov
2013-03-30Allow upscaling of PCX images using HQ4x filter.Andrey Nazarov
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.
2013-03-28Clean up and improve GL image uploading code.Andrey Nazarov
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.
2013-03-27Allow upscaling of PCX images using HQ2x filter.Andrey Nazarov
Add ‘gl_upscale_pcx’ console variable.
2013-03-27Make GL_Upload8 internal buffer dynamic.Andrey Nazarov
Use stack buffer for images up to 256 KiB, allocate heap buffer for larger images. Return alpha flag in global variable.
2013-03-22Add ‘modeltest’ command.Andrey Nazarov
2013-03-22Clean up and fix MD2 model loading code.Andrey Nazarov
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.
2013-03-20Clean up and fix MD3 model loading code.Andrey Nazarov
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.
2013-03-20Clip and project rotating skies.Andrey Nazarov
2013-03-20Fix radius of dynamic lights in GL mode.Andrey Nazarov
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.
2013-03-20Fix weapon shell scale in software mode.Andrey Nazarov
2013-03-20Use span tables for depth and view buffer access.Andrey Nazarov
2013-03-20Move some variables into r_refdef structure.Andrey Nazarov
2013-03-20Make software alias model lighting colored.Andrey Nazarov
2013-03-20Simplify, move math functions.Andrey Nazarov
2013-03-20Improve software lighting.Andrey Nazarov
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.
2013-03-20Center rendering area if resolution is too high.Andrey Nazarov
2013-03-20Use image upload width/height for polygons.Andrey Nazarov
2013-03-20Clean up and sanitize alias model drawing.Andrey Nazarov
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.
2013-03-20More software renderer code cleanup.Andrey Nazarov
2013-03-20Don't clear refdef background in software mode.Andrey Nazarov
2013-03-20Use TURB_SIZE constant where appropriate.Andrey Nazarov
Also force resampling of all turbulent textures to 64x64.
2013-03-20Add more sanity checks to software renderer.Andrey Nazarov
2013-03-20Clean up and fix alias edge scanning.Andrey Nazarov
Scan both left edges with a generalized function. Set d_sfrac/d_tfrac variables identically to prevent visual artifacts.
2013-03-19Replace ‘upload_texinfo’ with IF_TURBULENT flag.Andrey Nazarov
2013-03-19Make more variables and functions static.Andrey Nazarov
2013-03-19Remove ‘r_dspeeds’ variable.Andrey Nazarov
2013-03-19Remove x86 assembly code.Andrey Nazarov
2013-03-19Suck up to MAX_EDICTS entities per server frame.Andrey Nazarov
Work around bugged servers that don't cap at MAX_PACKET_ENTITIES properly.
2013-03-14Clean up R_SetClipRect.Andrey Nazarov
2013-03-14Improve OpenGL renderer.Andrey Nazarov
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.
2013-03-13Transform skybox vertices directly.Andrey Nazarov
Don't bother changing modelview matrix.
2013-03-13Don't ERR_DROP from R_AddSkySurface.Andrey Nazarov
Simply ignore oversize surfaces, printing a developer warning.
2013-03-13Make ‘gl_log 1’ more verbose.Andrey Nazarov
Resolve some enums in output.
2013-03-12Make player setup menu fit lower resolutions.Andrey Nazarov