Quake3 1.32e

Test releases and related discussion.

Quake3 1.32e

Postby Cyrax » 2010-12-16 20:44:14

This is improved client (based on early source dump of ioquake3, r1160) for playing Quake 3 Arena mods, introduces many fixes and improvements comparing to last official ID's 1.32c version

Can be downloaded from http://www.edawn-mod.org/binaries/quake ... 190217.zip
Permanent link to latest binary: http://www.edawn-mod.org/binaries/quake3-1.32e.zip
Sources now located in public Quake3e github repository

Current multiview patch
Multiview binaries will be not built in near future due to incoming server code changes

If you have any questions - join https://discordapp.com/invite/X3Exs4C

List of major changes/features:
* 64-bit support
* many security, performance and bug fixes
* much improved autocompletion (map, demo, exec and other commands)
* unlagged raw(win32) mouse input
* \in_minimize - hotkey for minimize/restore main window (direct replacement for Q3Minimizer)
* reduced CPU usage due to highly optimized and secure QVM (Quake Virtual Machine)
* reduced hunk memory usage for dedicated servers
* reduced zone memory usage, improved memory management
* per-pixel dynamic lights
* fast and high-quality bloom with reflections
* fast client downloads (native + http/ftp redirection)
* ALSA support


* Do not allow listing/loading autoexec.cfg/q3config.cfg from pk3 files
* Fixed weird bug with non-working mousewheel under some conditions
* Fixed non-working virtual resolution (for capture)
* Misc. renderer fixes

* Added novlcollapse shader key - to bypass \r_vertexLight 1 setting
* Now using more explicit control over vertex lighting approximation to provide more predictable renderer output:
- always disable it for UI elements (this includes console shader)
- enable it only for CGame module
* Improved memory management during image loading, removed practical MAX_DRAWIMAGES/MAX_QPATH limits (conditions left only for forward compatibility)
* Implemented CTRL+Left and CTRL+Right hotkeys for in-game console to seek through words in command line
* Tab-complete cvar values and bind values
* Declare single-char bind keys for better tab-completion
* Increased MAX_EDIT_LINE to 512
* Bypass K_MWHEELUP/K_MWHEELDOWN with opened console in linux
* Removed unused K_WORLD_* keys and unused K_AUX9..K_AUX16 key definitions, reduced set of K_JOY* keys
* Removed unused \r_inGameVideo cvar from renderer modules
* Removed unused \r_uiFullScreen cvar
* Improved FreeBSD compatibility

* Fixed configstring race condition caused by previously loaded map
* Fixed redundant map downloads with \cl_mapAutoDownload 1
* Fixed non-working +button15/-button15

* Added vendor-specific exported symbols to win32 executables in hope that it will select most powerful GPU for our process in multi-GPU configurations
* Really fixed fog shader for q3dm19
* Fixed broken rendering with multiple views and opened console with FBO and MSAA enabled
* Fixed crash in renderer caused by corrupted fog data, found on `geminicastle` map
* Fixed memory leak in CL_CloseAVI()
* Reworked \status command output to draw variable-sized name and address fields
* Implemented userinfo filtering system (see docs/filter.txt):
- any userinfo key can be validated
- practically unlimited number of conditions and nested levels
- special "date" key for temporary bans
* Reverted SHADER_MAX_VERTEXES back to 1000, to enforce forward compatibility with other engines
* Renamed \sv_maxconcurrent to \sv_maxclientsPerIP and changed default from 4 to 3
* Try to use least-used client slots for new connection to preserve client ids between connections
* QVM speed improvements

* Fixed zero ping time causes empty server list
* Fixed wrong fog shader on q3dm19
* Implemented \minimize console command
* Improved OSP mod compatibility

* Accept negative \r_mapGreyScale values to apply old (lightmap-only) grey scale
* Implemented loading/saving of pk3 index data, speeds up initial filesystem startup in 10x-100x times
* Slightly reduced filesystem memory usage
* Improved zone memory manager
* Unified behavior of MWheelUp with PgUp and MWheelDown with PgDown for console scrolling
* Reworked ALSA initialization and improved compatibility with jack2 + zita-ajbridge
* Fixed error message during monitor detection via xrandr
* Fixed time wrapping causing very long reconnect delay

* Renamed \r_mapGrayScale to \r_mapGreyScale, also now it is more strong
* Fixed engine crash caused by mods passing erroneous data to render
* Fixed non-working rconPassword2 on linux

* Fixed Defrag demo UI (works on linux now)
* Improved filesystem compatibility

* Fixed regression in filesystem code
* Fixed 'floating' console color
* Fixed OSP demo UI

* Fixed resolving optional FBO functions
* Fixed Escape key causing full client restart during cinematics
* Fixed excessive filesystem lookup with empty \fs_steampath
* Reduced memory fragmentation at filesystem startup
* Avoided bug in defrag mod (whose demo UI can't handle properly sorted directories)
* Improved file extension filtering so now defrag demo UI works (partially) on linux too

* Fixed pak reference & checksum calculation for cached pk3 files

* Implemented more correct online switching between mods
* Added \fs_restart command - to manually restart the filesystem
* Significally reduced filesystem restart time in case of thousands of pk3s installed

* Fixed client/botlib memory corruption

* Added \r_ext_supersample - SuperSample Anti-Aliasing, most resource-heavy antialiasing method, can be enabled in pair with \r_ext_multisample
* Fixed chat input position counting notify lines
* Fixed clipboard text length truncation on linux
* Corrected screenMap texture generation
* Linux console improvements
* Netcode improvements

* Fixed resource leak in botlib code
* Fixed OSP game patch
* Fixed command history buffer size
* Fixed ctrl+n and ctrl+p hotkeys with \in_forceCharset > 0
* Game configuration now saved much less frequently
* Reset console command history on game change
* Use own console command history for dedicated servers

* Fixed server crash induced by permanent rcon functionality
* ioq3: Fix client kicked as unpure when missing the latest cgame/ui pk3s

* Improved mod compatibility
* Now using \r_renderScale 0 to disable custom render resolution mode
* Allow only printable ASCII chars for cvar names
* Fixed \r_speeds 1 with enabled VBO
* Fixed black lines on dlighted surfaces with \r_showTris 1 and \r_dlightMode > 0

* ioq3: Fix uninitialized bot_goal_t fields
* ioq3: Fix possible bot goal state NULL pointer dereference
* Misc. renderer & netcode improvements
* Print up to 32 file sources in \which output
* Print developer messages with cyan color
* Increased win32' console width & height

* ioq3: Fix q3history buffer not cleared between mods and OOB-access
* ioq3: Fix the behavior of CVAR_LATCH|CVAR_CHEAT cvars
* Netcode & QVM improvements

* Fixed invalid files referenced on pure clients
* Fixed a few netcode exploits
* Fixed \sv_reconnectlimit is not always working
* Try to use persistent slot for each client after disconnect
* Print information about delay at reconnect
* Linux console imrovements

* Fixed a few bugs in client connection code

* Fixed remote server crash via rcon
* Send quoted rcon passwords when needed and parse them correctly on server-side
* Now rcon is always available on dedicated servers - so it is possible to start a map, retrieve status or recover from non-fatal error, for example
* Added rconPassword2 - hidden master rcon password that can be set only from command line, can be used to change/revoke compromised rconPassword
* Various bugfixes

* Added \cl_autoNudge - automatic time nudge that uses your average ping as the time nudge value, suggested by @iradicus, values:
0 - use fixed \cl_timeNudge
(0..1] - factor of median average ping to use as timenudge
* Added \sv_maxconcurrent - to limit number of simultaneous connections from the same IP address, default is 4
* Added \fs_locked cvar to control pk3 file handle usage policy:
0 - release after use (default from now), no pk3 file count limits
1 - keep it locked (vq3 behavior), more consistent but pk3 file count is limited to ~1-4k
* Various bugfixes and optimizations

* Win32: added \r_noborder 1 - to draw game window without border, hold CTRL to drag & drop it with opened console
* Win32: Fixed window handling
* Changed \r_neatsky to 0 by default
* Accept protocol headers (e.g. http://) in command lines and save them properly in cvars
* Try to prevent gamestate overflow on pure servers
* Various bugfixes and optimizations

* Fixed regression added with recent optimizations
* Improved DoS protection

* Slightly speedup collision detection for win64-msvc builds
* Added \r_defaultImage cvar - to replace the default (missing texture) images, can either point on external filename or specify solid color texture in (hex) formats: "#rgb" or "#rrggbb"
* Removed obsolete \com_maxfpsMinimized
* Synced \snaps with \sv_fps for localhost client
* Properly reflected \sv_fps changes for connected clients
* Reduced memory & CPU usage
* Fixed adjacent texels leaking in merged lightmaps
* ioq3: Make 'globalservers 0' fetch all masters
* Marked \sv_master[1..3] as CVAR_INIT to prevent overriding them by spoiled configuration files
* Fixed root of 14-years-old q3msgboom bug
* Misc. improvements and bugfixes

* New server-side client connection code (no more "getchallenge" flooding, reduced CPU usage)
* Removed \sv_minPing and \sv_maxPing cvars
* Changed \r_dlightScale to 0.5 by default to match VQ3'dlights radius/intensity
* Fixed grid collision geometry to be more equal in 32-bit and 64-bit modes
* Fixed non-working \reconnect in some cases
* Misc. fixes and improvements

* Added unified lightmaps, enabled by default, can be disabled by \r_mergeLightmaps 0
* Changed default \com_hunkMegs from 96 to 128 for client and from 56 to 64 for server
* Reverted condump changes
* Drop error to local client on gamestate overflow
* ioq3: Fix exploit to bypass filename restrictions on Windows

* Improved QVM memory isolation
* Improved QVM interpreter performance
* Improved cvar security
* Reduced GPU usage when minimized
* Fixed MSAA on Intel HD 530
* Fixed non-working console scrolling in windowed mode with raw input and opened console
* Fixed crash caused by \timescale 0
* Condumps now will be saved in upper level directory, not mod directory

* Added experimental "screenMap" texture support for shader stages, can be used for real-time on-hand weapon reflections
* Fixed viewport/scissor with \r_fastSky 1
* Fixed depth range for inserted dynamic lights
* Fixed wrong ping times at high uptime

* Added range checks for \sv_timeout and \sv_zombietime cvars to avoid using values that may break server functionality
* Improved server-side flood protection (\sv_floodProtect 1), might be considered as really usable now
* Removed unused \sv_showloss cvar
* Misc. bugfixes

* Faster map loading
* Do not take (blank) screenshots and print warning when minimized and FBO is not active
* Always save CPU when minimized
* Slightly optimized VBO rendering and fixed \r_showtris colors with VBO

full changelog >>//www
Posts: 105
Joined: 2010-12-13 19:03:22

Re: Quake3 1.32e

Postby LeopolD » 2011-02-17 15:17:35

As mentioned in the ESR thread http://www.esreality.com/?a=post&id=2036991#pid2036991,
./quake3e +connect xxx.xxx.xxx.xxx:xxxxxx
puts quake3e in an infinite loop while loading the map, like constantly doing a vid_restart.
Tested on 2 OSP servers.

System is OpenSuSE 11.3, i386 with ATI drivers (fglrx)

Oh, and don't forget to release the source before the GPL-zealots get mad at you:P
Posts: 44
Joined: 2011-02-17 15:13:00

Re: Quake3 1.32e

Postby Cyrax » 2011-02-18 09:17:54

Thanks for report ;) Its OSP-specific behavior, however fix is ready, updated zip will be posted a bit later with other small fixes.
Source file named quake3-1.32e-src.7z and located in the same directory
Posts: 105
Joined: 2010-12-13 19:03:22

Re: Quake3 1.32e

Postby LeopolD » 2011-02-18 13:37:07

Cool, thx. Stupid me ofc did not check against other mods, shame on me:)
Posts: 44
Joined: 2011-02-17 15:13:00

Re: Quake3 1.32e

Postby Cyrax » 2011-02-18 19:53:04

Archive updated, needs your feedback :)
Posts: 105
Joined: 2010-12-13 19:03:22

Re: Quake3 1.32e

Postby LeopolD » 2011-02-18 21:14:06

Hmm, link still seems to point to the old one (md5sum is the same). Source, however, is there.
But maybe I'm too tired, will try again tomorrow:)
Posts: 44
Joined: 2011-02-17 15:13:00

Re: Quake3 1.32e

Postby LeopolD » 2011-02-18 21:22:52

Compiled it, seems to be fixed, thx:D
Posts: 44
Joined: 2011-02-17 15:13:00

Re: Quake3 1.32e

Postby LeopolD » 2011-02-22 20:12:10

I think I found another one. When started with:
./quake3e +set fs_game cpma
(latest release of CPMA) and then going to the demo browser via menu, only the pk3-ed demos are shown (four.dm_68 (baseq3), apheleon_cpm15.dm_68 (cpma)) and a few others.
So it seems to not look at baseq3/demos on the filesystem. ioquake3 works.
Again Linux x86 32bit as above.
Posts: 44
Joined: 2011-02-17 15:13:00

Re: Quake3 1.32e

Postby Cyrax » 2011-02-23 19:07:06

LeopolD wrote:So it seems to not look at baseq3/demos on the filesystem.
Thanks for feedback, fixed :) Also added \r_mode -2 - sets current desktop mode (just like in QL)
Posts: 105
Joined: 2010-12-13 19:03:22

Re: Quake3 1.32e

Postby LeopolD » 2011-02-24 20:23:40

Cyrax wrote:Thanks for report ;) Its OSP-specific behavior, however fix is ready, updated zip will be posted a bit later with other small fixes.
Source file named quake3-1.32e-src.7z and located in the same directory

Arrgh, didn't test proberly. Now the vid_restart (at least not looping:) happens after warmup count down is finished.
Posts: 44
Joined: 2011-02-17 15:13:00


Return to Releases

Who is online

Users browsing this forum: No registered users and 1 guest