CHANGES 1.32

11/13/2002 - 1.32b

Update to the Linux client, fixing a number of issues:


- Text mode install broken on glibc 2.3 (Debian Sid)
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=165358
Current Debian Sid's glibc package break backwards compatibility
with binaries compiled on older glibc and statically linked.
This will cause the text mode setup to segfault.

For now you can either:
 - find a solution to run the graphical gtk-based setup
 - roll back to glibc 2.2
 - use an updated setup binary:
   run the linux setup once, with the --keep option
     (this will exand all the files to setup.tmp/)
   get this updated setup file:
     http://zerowing.idsoftware.com/linux/165358/setup
   replace setup.tmp/setup.data/bin/Linux/x86/setup by the new one
   cd to setup.tmp/ and run setup.sh 


- Current NVidia drivers don't officially support glibc 2.3 systems
This affects Debian Sid in particular, causing crashes during vid_restart
The issue is related to the SMP build depending upon libpthreads
1.32b has both SMP and non-SMP binary. Use quake3-smp to launch
the SMP version if you want to use it.


- SMP and non-SMP builds:
Default quake3 shortcut will spawn a non-SMP build. Use quake3-smp
for an SMP-enabled run. From the feedback we got after the 1.32 release, 
the SMP support as designed in the Quake III Arena technology isn't so
much relevant anymore. It was designed for much lower CPU frequencies
and lower AGP throughputs. Modern systems won't benefit from SMP. Since
it didn't make much sense to remove the SMP binary, we have both now.


- Fixing broken mouse on Suse:
Starting with XFree 4.2, the event timestamps returned by the X server 
are no longer matching gettimeofday. And there is currently no API in X 
to provide easy synchronisation. 1.32 introduced improved event timing 
by correcting event time with X server event timestamp (sub-frame timing).
This worked fine with XFree 4.1, and no longer does. 1.32b adds a safe
check to work again with XFree 4.2, but basically the input timing is
back to 1.31 quality.

Some new cvars related to the mouse control:
in_dgamouse - not new, but be sure to have it set to 1 on any recent system
in_subframe - completely disables sub-frame timing. If XFree 4.2
  in_subframe 1 won't hurt, but it won't do anything either.
in_nograb   - for mod developers. Set to 1 and run windowed, Q3 won't be
  grabbing your mouse pointer (useful for debug breaks)


8/26/2002

General:

- new network protocol, 68

- network code:
  improved fragmented messages handling
  map change while client loads map no longer causes an 'Invalid .PK3' error
  map_restart while client loads map no longer causes a reload
  fixing donedl being ignored after autodl if map_restart'ed
- the demo command has a list of compatible protocols, it will loop through 66 67 68
  you can do '/demo four' and it will try four.dm_66 four.dm_67 four.dm_68
  or you can explicitely give a '/demo demoname.dm_??'

- added mousewheel support in the console: 
  wheel to scroll, ctrl+wheel to scroll faster, shift+wheel to scroll history

- UI in baseq3/ and missionpack/ for PunkBuster configuration
  punkbuster server in server creation dialog (sv_punkbuster)
  punkbuster client in server browser (cl_punkbuster)
  added PB Yes/No to the browsers
- removed obsolete MPlayer UI stuff
- bumped server browser to handle up to 4096 servers

- IP maintained in userinfo
- cl_guid in userinfo (as part of PB integration)
- printing ports as unsigned ints, no longer printing negative port numbers
- cleaned up the legacy IP banning code
  use * for IP pattern matching now instead of 0 (fixes some confusion)
    ex: 192.246.12.*
  made it safe from overflowing and crashing
  NOTE: using PunkBuster's banning system is advised instead though
- rcon: some fixes to the buffering to avoid overflowing and dropping parts of the message 
- rcon: now supports quoting /rcon g_motd "foo bar"
- added SVF_CLIENTMASK (0x00000002), works only with <= 32 players
	set bitmask of players to which send entity
- pushed cl_maxpackets upper limit to 125
- added [skipnotify] from RTCW, use to display in the console only, but not on client screen
	(also fixes pb_msgprefix and pb_sv_msgprefix)

- new cvar sv_lanForceRate (defaults 1):
  forces LAN clients to the maximum rate instead of accepting client setting
  (1 is the default behaviour, backward compatible)

- new cvar sv_strictAuth (defaults 1):
  server side variable to control wether strict CDKEY auth should be performed with the auth server
  this is required if you want reliable cl_guid for the server (for users tracking)

- filesystem:
  client re-orders it's pk3s according to the order given by server
  (fixes some 'Invalid .PK3 files referenced' situations

- fixed invisible entities/players bug (thanks goes to Rick Johnson / Raven for this one!)
- update x86 VM code (better and safer optimisations) (Richk Johnson / Raven too)
- clearing client gentity before GAME_INIT call
- failing vote if there's only one voting client (fixes exploit on 2-player server where one player votes then disconnects, forcing vote to pass)

- added trap_FS_Seek

- renderer fix:
  if client game code registers a shader after drawsurfaces are generated but before frame is rendered
  had a one-frame visual glitch (shader indexes messed up)
- renderer fix:
  r_roundImagesDown 0 + map q3dm1 -> crash (buffer overflow fix)
- renderer fix:
  fixed a crash in widescreen displays (q3dm11)
- renderer fix:
  MAX_SHADERS up to 2^12  
- renderer fix:
  moved screenshot from frontend to backend, fixes broken r_smp 1 screenshots

- TA fixes:
  MOD_KAMIKAZE MOD_JUICED logging properly to games.log
  fixed bot taunt spamming
- fixed typo in scripts/models2.shader (shader error Ursula head)

Win32 specific:

- fixed the DirectInput mouse init procedure
- rcon:
  fixed rcon not working on NT/2000/XP workstations that have a long uptime

Linux specific:

- no longer trying to load libMesaVoodooGL.so
  obsolete code, was confusing when trying to setup correct OpenGL acceleration
- SMP support in the renderer. Detects CPU count, r_smp 1 default if available. (thanks to Gareth Hughes for contributing this)
- changed default GL driver from libGL.so to libGL.so.1
  see LSB 1.2 spec: http://www.linuxbase.org/spec/refspecs/LSB_1.2.0/gLSB/libgl.html
- Handle Ctrl and Space key together correctly (Ctrl was disabling Space)    
- sub-frame timing of input events (key/mouse) (input timing quality now equivalent to win32)
