( Quake 2 EGL Engine mod)------------ (Working Q2+EGL from Dday mod) (Working Q2+EGL from all mods... )
--------------------
Mods:
Moddb:DDay Normandy(Q2)
Moddb:Dday:Normandy Old
Quake 2 All mods
--------------------
EGL v2.4b
A Quake2 source based and compatible client and server. EGL aims to "modernize" the engine and all of it's components (audio, renderer, etc) as much as possible, without breaking Quake2 compatibility. This is merely a learning experience and a cure for boredom really.
--------------------
EGL v3.1
Changes to this version:
--------------------
General:
* Added a memcheck console command to force a global memory integrity check.
* Increased the console window's maximum error message length from 90 to 128, since more could fit.
* Moved .loc (location reporting) to CGame.
* Added mfx_restart which just reloads the file.
* Renamed addmfx to mfx_addorg.
* New map effects for q2dm1-q2dm8!
* Cleaner MD3 > MD2 deprecation.
* Made the railgun trail last a little bit longer.
* Not showing the rocket trail corona if the 'rocket' is not moving.
* Doubled the default surface subdivision size for warp surfaces since SOME mappers like to make MASSIVE warp entity brushes.
* Split render times off into their own cvar (r_times).
* Loading screen prints inline models loading and removes the # prefix for weapon models.
* Percentage bar increases with each image/clientinfo precached (rather than stopping until all are done).
* Added @t which prints the location of where you're looking at.
* No longer attempting to make grenade trail bubbles/smoke if it's not moving.
* Doubled the command buffer size.
* Machinegun, Chaingun, Shotgun, Super Shotgun muzzles flashes now throw off brass (models thanks to pollokallo). cg_brassTime to control.
* Fixed a potentional decal memory leak.
* cl_downloadToBase which will force downloads to the baseq2 directory.
* Added ch_xOffset and ch_yOffset to offset the crosshair position for those yucky off-center crosshairs.
* Allowing the console to drop during demo playback.
* Server throttles the amount of userinfo changes in a single packet.
* Server warns about packet commands that come in the wrong order.
* MUCH better (still a hack) explosion (bfg and regular) decal placement lookup.
* X11 (Unix) now supports m_side, m_forward, autosensitivity, +/-mlook, lookspring and lookstrafe like Win32 does.
* Smoother mouse movement due to improved precision.
* No longer pausing demo playback while in the console.
* Forcing gl_maxTexSize to a minimum of 256 (instead of the 128 before), since some internal textures are 256x256 and there may be "errors".
* Allocating cinematic spaces just before use to save stack/heap space.
* Amplifying the center of dynamic lights a little bit, since the smooth falloff makes them appear darker.
* listHandles console command added, purely for developers. Just lists the active (opened) files.
* Explosion effect will send a plume of smoke away from the surface if a decal is made.
* Increased distance between smoke particles spawned in rocket trails to make them less dense.
--------------------
Speed-ups:
* Storing a list of unique texinfo names for Q2BSP maps so that if a texture is missing it doesn't attempt to download it for every surface that used it. Silly Quake2.
* Allocating exact sizes needed for the majority Q2BSP collision model items to save memory usage (ESPECIALLY on small maps, up to a 5MB savings).
* Not passing parameters around on the stack as much for Q2BSP cmodel traces (using the variables already on the heap).
* Optimized MapFX culling to cull out particles behind view before tracing.
* Faster BModel lookup.
* Model lookup is now officially hash-list optimized, which meens faster map loading times.
* Cache-friendlier mesh batching.
* Fixed deformVertexes autosprite, autosprite2, and autoparticle doing too much copying.
* Cache-friendlier exactVertex coloring and texture-matrix-less (old hardware) path.
* Cache-friendlier WAL loading and image uploading.
* Deprecated the old PNG loading code for the new stuff, which is a little faster to load.
* More work to make loading cache-friendlier by eliminating memset/memcpy as much as possible.
* Halved the amount of glow marks needed for the blaster decal and optimized the images to be 24bit instead of 32bit.
* Made model precaching slightly quicker.
* Optimized network reads and writes by only passing the destination buffer when it changes.
* Faster command buffer text insertion.
* Filling the cl_svcStrings array with "SVC_BAD" just so I can skip a bounds-checking if every time it's used.
* Optimized netchan.
* Added a small optimization for RF_FULLBRIGHT entities in Q2BSP lighting.
* Only attempting to parse 'print' strings as status strings if the print string contains '\'.
* More floatVal to intVal speedups.
* Only generating a timestamp for cl_timestamp when a print message is hit (what a concept).
* Saving the client from attempting protocol 35 (before failing back to 34) when connecting to a local server.
* Much better enhanced server protocol lookup, no longer attempting 35 then falling back to 34. The client should know before then.
* Cleaned some memcpys/sets out of the collision model/client prediction for cache-ability.
* Optimized image/model loading to use less string functions (eg. just replace the extension rather than re-filling the array with the whole name over and over).
* Faster (cache-friendlier) image and model freeing, and q2bsp surface creation.
* Lessened the amount of goto jumps in model lookup/loading.
* A lot fewer jumps in image/cubemap loading.
* Optimized light marking path for bmodels and world surfaces (only world surfaces use vis culling).
* Updating lightmaps differently to reduce superfluous attempts.
* Fixed some superfluous model touch calls (which touches shaders, which then touches images, yikes).
* Optimized sprite (sp2) rendering to use less copying.
* Orientation (player and entity) uses half the memory it used to.
* Added another "side" to the view frustum (for culling), so that it checks if the item is behind the camera before checking left/right/up/down (thanks Berserk).
* Closing files is a bit faster
--------------------
Fixes:
* Fixed a stupid memory integrity error bug.
* Fixed the server attempting to release CModel memory if it's shutting down because of a crash (which may be the result of an error in CModel).
* Fixed MapEffects not loading.
* Some modifications transmit invalid attenuation values, but since Quake2 didn't complain before it's probably not a good idea to drop a user due to them. Made the messages warnings and simply clamp the values now.
* Fixed console/chat message cursor blinking at a seizure-inducing rate.
* Fixed the addmfx console command only working one time until map change.
* Fixed mfx not properly detecting if a map is loaded or not.
* Added mfx_addtr console command which is identical to addmfx except it traces forward until it hits a surface and places one there a unit off the wall.
* Fixed the modellist console command reporting an invalid number due to random blank model list slots.
* Some Q2BSP surfaces have no surface data, crazy... Properly handling those now hopefully.
* Fixed a font system crash with NULL strings.
* Fixed a stupid bug with the Gloom class display.
* Fixed dynamic light bounds in Q2BSP.
* Brought back the powerscreen hack.
* Fixed a crash with using the exactVertex shader option on alias models.
* Fixed a visframe count error on first map load, would incorrectly cull nodes until you moved visibility sets.
* Fixed a small over-allocation for WAL loading.
* Better detecting local servers so that server messages will print if sent before the connection is successfully made (like for a connection refused message).
* Properly checking for bogus faces before attempting to build them from edges.
* Fixed r_debugBatching not working without r_speeds.
* Fixed the loading bar technically being innaccurate by 20% when not running Gloom or forced Gloom caching is off.
* Fixed gammaramp scaling possibly rolling over.
* Only allowing holding down a key to repeat the key if in a message mode or the console, where I should have done it originally.
- This fixes problems with +/- aliases bound to letter keys.
* 'exec' console command safe from people trying to exec files that exceed the command buffer max size.
* Memory system will not allow allocations over 1,073,741,824 bytes (or 1GB) for obvious reasons.
* Only force a packetFrame update if connected, and don't mark userinfo as modified unless connected.
* Fixed the menu popping up when you disconnect and connect to another server in the same command.
* Forcibly stopping all sounds when the client connects.
* Fixed consequitive calls to disconnect doing pointless stuff.
* Fixed a stupid bug with single player and the ending cinematic/victory screen.
* Not checking 'upward' for the weapon model if the first light trace fails, for "compatibility".
* R_LightPoint in Q2BSP gets the same treatment as vertex lighting when it's considered 'out of the world' (scan upward instead for lighting).
* Fixed a bug in the collision model with loading maps that have no visibility compiled.
* Preventing manually calling the 'changing' command causing a game crash.
* Fixed the refresh attempting to release already released image slots.
* "Download" console command disabled when not connected.
* Not allowing a download attempt while already downloading with UDP.
* Fixed area portals not working efficiently in Q2BSP due to reversing the recursion order so that transparent surfaces are sorted right.
* Fixed the colormap being parsed in RGBA order instead of BGRA order on type 1 and 9 TGA images.
* Spitting out an error if an invalid TGA image type is called to load.
* Model system is better at handling errors thrown during model load.
* Fixed the reported amount of images touched during registration being wrong.
* Fixed notify lines showing during cinematic playback.
* Cinematic loading normalizes the path (to avoid any possible exploits) and looks up the pcx/cin 'cleaner'.
* Fixed CGame not getting the 'end of message' command when a bad data server packet is received (which only happens if there's an R1Q2 protocol version mismatch).
* Fixed the file system keeping a file handle in use if you attempt to exec a config file that does not exist
Average
102 votes submitted.