Page 1 of 6

Quake3 1.32e

PostPosted: 2010-12-16 20:44:14
by Cyrax
This is improved client for playing Quake 3 Arena mods, introduces many fixes and improvements comparing to last official ID's 1.32c version and with just one little issue (no PB support)

Can be downloaded from ...
Permanent link to latest binary:
Sources now located in public Quake3e github repository

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

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 power usage (com_maxfps+com_yieldCPU, suitable for notebooks)
* reduced memory usage for dedicated servers
* fast client downloads (native + http/ftp/smb redirection)
* ALSA support


Add: new snapshot system with reduced CPU/Hunk memory usage on dedicated servers
Fix: don't count \sv_timeout multiple times - so now its really works as expected

Chg: fs_game default back to "baseq3"
Fix: clearing win32 dedicated console
Fix: do not build bot snapshots every client frame on listen servers
Fix: do not crash but just discard using corrupted JTRGSEG in QVM
Fix: CVE-2017-6903, affects mostly linux builds:
- deny manipulations with ".exe", ".qvm" and ".so.[0-9]" extensions too
- Sys_LoadLibrary() now can load only known library extensions
- force dll extension during loading \r_glDriver under windows
- deny using referenced pak names that is too long
- increase some filesystem buffers to avoid possible filename truncations

Fix: QVM memory leak
Fix: UrbanTerror-4.3.2 compatibility

Fix: black screenshots at \r_fastSky 1
+ Rework screenshot code so we can take two screenshots (tga+jpg) per frame, each with different name
+ Avoid situation with multiple screenshots (of the same type) being taken during one frame - which doesn't have any sense
+ Now screenshot code doesn't use render command buffer so it will always success in case of overflow etc.
Chg: default screenshot naming scheme from shotNNNN to shot-YYYYMMDD-HHmmSS

Add: multiview protorol and server-side multiview demo recording, see docs/quake3e-mv.txt for details

Win32: non-blocking window movements/scrolling, faster dedicated console text output

Fix: CPMA hacks

Fix: do not handle "disconnect" command when downloading with cURL

Add: allow recording demo during demo playback
Fix: filehandle leak after reading zero-sized servercache.dat
Fix: do not add newlines to the end of cs/bcs* server commands
Fix: missing client name in debug output "Going to CS_ZOMBIE for [name]"
Chg: servercache.dat now per mod and not global for all
Misc: QVM improvements
ioq3: Don't have clients use private slots when sv_privatePassword is unset

Add: overwhelming CPMA hack
Fix: OSP game module crash - it will continue corrupting its own memory but not crash
Fix: gcc and clang warnings
Fix: vmprofile

Fix: \r_dlightMode 2 with \cg_shadows 2
Fix: dynamic lights on decals on q3wcp18 and other maps
Fix: use dedicated dlight set for each view so old light counting code is not buggy anymore
Fix: use explicit litsurf count check since we can't correctly handle overflows because of ".next" pointers
Fix: round up \r_ext_multisample values in win32 to match linux behavior
Fix: use dedicated dll syscall wrappers for each game module
Chg: default number of dlights - 64
Add: allow using '?' in extensions for trap_FS_GetFileList()

Fix: list all available demos that matching valid protocols (66-71)
Fix: indicate actually opened demo file instead of command line argument
Fix: color blending on some old Intel GMA's
Fix: missing dlights on q3dm4 and maybe other maps too
Fix: dlights on q3wcp17
Fix: portals now correctly works with \r_fastky 1
Chg: raize MAX_POLYS and MAX_POLYVERTS defaults to 8k and 32k respectively
Chg: \r_noportals 1 - disable only portals, 2 - mirrors + portals
Chg: scissor viewport by portal model bounds
Chg: print extension for tab-completed demos
Cgh: rename \r_dlightSpecExp to \r_dlightSpecPower and set default to 8.0
Add: \r_dlightIntensity - decreases dlight intensity but not radius
Add: \r_dlightSpecColor - color base for specular component
<= 0 - use current texture and modulate by abs(r_dlightSpecColor)
> 0 - use constant color with RGB components set to \r_dlightSpecColor
default is -0.25

Fix: anaglyph/stereo rendering with new dlights
Chg: Use 12 bits for refentites - fixes missing frames in stereo rendering and allows more game items to be drawed
Add: \r_dlightMode 2 - now illuminates md3 models i.e. almost everything on the map
Add: CPMA hacks
Add: sin,cos,rand to \varfunc

Fix: skybox overbright with picmip and r_intencity > 1
Add: \varfunc <add|sub|mul|div|mod> <cvar> <value> [- or low limit] [- or high limit]
Remove: \inc and \dec

Add: \r_dlightMode 1 - improved dlights backported from cnq3
+ \r_dlightScale - for adjusting new dlights intensity in old mods
+ \r_dlightSpexExp - control over specular component
Add: multi sampling support via \r_ext_multisample
Add: \r_neatsky to force nopicmip for skyboxes
Add: \inc and \dec commands for increasing and decreasing cvar values

Chg: undefine UNICODE for win64 build

Fix: non-working \reconnect
Chg: r_modeFullscreen defaults to "-2"
Add: extra r_mode entries
Chg: undefine FORCE_DM68_EXT

* Bring back dynamic OpenGL dll loading
* Upstream ioq3 fixes

* Add \r_modeFullscreen - dedicated fullscreen mode, leave empty for old behavior, set to -2 to use desktop resolution etc.
* Add \com_affinityMask - bind application to specified CPU core(s)
* Fix win32 console update
* Fix WM_CLOSE message handling to avoid unneeded renderer errors at shutdown
* Fix \cl_shownet may print invalid entity number
* ioq3: Avoid generating client commands with zero frame_msec
* ioq3: preserve all \connect arguments for further \reconnect

* Range check values of \com_yieldCPU
* Fix startup flags for \vm_rtChecks
* Linux: support gamma ramps larger than 256 entries

* Never send snapshots often than client' \snaps specifies
* Raize some client network rate limits
* Win32: set gamma only for used monitor
* Win32: track and change gamma when moving game window
* Win32: Implement \in_nograb - so now it is possible to move game window without opened console
* Fix non-working \r_ignorehwgamma in linux
* Don't forget to release vidmodes on linux

* Render CPMA/CNQ3 color codes (8,9,a-z) in console
* Fix "Restarting server due to numSnapshotEntities wrapping"
* bugfixes

* backport UDP spoofing protection from ioq3
* bugfixes

* Fix win32 clipboard copy function
* Fix dlight #32 not being rendered

* Backport fast legacy (udp) downloads from ioq3
* Sync with redrerergl1 from ioq3
* Netcode & renderer bugfixes

full changelog >>//www

Re: Quake3 1.32e

PostPosted: 2011-02-17 15:17:35
by LeopolD
As mentioned in the ESR thread,
./quake3e +connect
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

Re: Quake3 1.32e

PostPosted: 2011-02-18 09:17:54
by Cyrax
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

Re: Quake3 1.32e

PostPosted: 2011-02-18 13:37:07
by LeopolD
Cool, thx. Stupid me ofc did not check against other mods, shame on me:)

Re: Quake3 1.32e

PostPosted: 2011-02-18 19:53:04
by Cyrax
Archive updated, needs your feedback :)

Re: Quake3 1.32e

PostPosted: 2011-02-18 21:14:06
by LeopolD
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:)

Re: Quake3 1.32e

PostPosted: 2011-02-18 21:22:52
by LeopolD
Compiled it, seems to be fixed, thx:D

Re: Quake3 1.32e

PostPosted: 2011-02-22 20:12:10
by LeopolD
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.

Re: Quake3 1.32e

PostPosted: 2011-02-23 19:07:06
by Cyrax
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)

Re: Quake3 1.32e

PostPosted: 2011-02-24 20:23:40
by LeopolD
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.