12008-04-04 Various contributors
2	+ Solaris fixes
3	+ Replace vsprintf function in bg_lib.c with vsnprintf implementation started by Patrick Powell
4	+ Compile bg_* files separately for each game module, as originally intended
5	+ Write q3config_server.cfg for the server, to avoid reseting client variables
6		after running a dedicated server
7	+ Split image decoders into their own files
8	+ OS X build updates for most compatibility
9	+ Slackbuild
10	+ Detect available resolutions and offer them in the in game menus
11	+ A few botlib fixes
12	+ Fix poppy captured audio when recording videos
13	+ Extend console logging on crash errors
14	+ Merge *BSD platform definitions in q_platform.h
15	+ IRIX support
16	+ Remove all the old bat/sh QVM building scripts
17	+ Make master server used client configurable (cl_master)
18	+ Fix to QVM compilation on big endian architectures
19	+ OpenBSD support
20	+ Autocomplete key names
21	+ Don't build client command completion on the dedicated server
22	+ Don't apply colour escape chars on input fields
23	+ Rewrite of the win32 dedicated console
24	+ Improved Makefile startup time
25	+ Build dedicated server binary on Windows
26	+ Bump Q3_VERSION to 1.35
27	+ Replacement of platform specific backends with a generic SDL one
28	+ Merge win_net.c and unix_net.c to net_ip.c
29	+ Demote input related console information to developer only so that it doesn't
30		spam the console every time input settings are changed
31	+ PNG texture support
32	+ Cleanup of tabulation in R_LoadImage
33	+ Fixes to console scrolling
34	+ New x86_64 vm that doesn't use gas
35	+ Early out AABB collision optimisation
36	+ Generate QVM dependicies in a better way
37	+ Build process is quieter
38	+ Replace horrendously long list of Makefile build rules with set of inference rules
39	+ Allow CC to be overridden externally to the Makefile
40	+ Move storage of console history from a cvar to a file in order to alleviate
41		security concerns
42	+ Fix bug where transparent surfaces wouldn't draw over skyboxes
43	+ Add input sanitising to various sound playing functions called from mods
44	+ Explicitly set OpenAL distance attenuation model
45	+ Increased the number of registers used for the opStack in the PPC vm from
46		12 to 16
47	+ Fix endian issue in MDR loading
48	+ Add cURL support for HTTP/FTP downloading
49	+ Disable video command when not playing back a demo
50	+ Print the SVN version string in Com_Init()
51	+ OpenAL device enumeration support
52	+ Fix 100% CPU usage on idle dedicated servers
53	+ Windows home directory support
54	+ Improve correctness of AVI files created by video command
55	+ Better SDL joystick support
56	+ sv_minRate
57	+ [cl|sv]_packetdelay
58	+ Various security fixes
59	+ Fix JIT compiler code execution on NX-protected win32 OS
60	+ Fix r_overBrightBits variable getting ignored on Linux
61	+ cl_guid for semi-reliable server authentication
62	+ Anisotropic texture filtering
63	+ Video export doesn't crap out with sv_pure 1 anymore
64	+ Video export doesn't crap out when writing > 2Gb files anymore
65	+ Fix to a bug where servers with long uptimes (~27 days) would consume 100%
66		CPU if the running game did not set the nextmap cvar
67	+ Some OSes no longer requires a vid_restart when changing r_fullscreen
68
692006-01-24 Various contributors
70	+ Persistent console history
71	+ Added code to sleep a bit when q3 has no focus and sleep a lot when it's
72		minimised (SDL only)
73	+ Cull excess speaker entities when using OpenAL
74	+ Fix the operation of the delete key in *nix
75	+ Only check the checksum on baseq3 pak0.pk3
76	+ Overhaul of console autocompletion
77		- No longer does weird stuff like move the cursor inappropriately
78		- Autocomplete works with compound commands
79		- Special autocomplete on some commands e.g. \map, \demo
80		- Removed various hacks used to counter the original autocomplete code
81	+ Fixed the ability to disable Ogg Vorbis
82	+ s/i686/i586/ - see bug #2578
83	+ Some sloppily coded mods call the Q3 sound API with NaNs -- sanitise this
84	+ Removed advertising clause from BSD license as per mailing list discussion
85	+ "make distclean" now does what you'd expect
86	+ "make clean toolsclean" now does what "make distclean" did before
87	+ GPL MD4 implementation
88
892006-01-16 Various contributors
90	+ Move code/unix/Makefile to ./Makefile
91	+ x86 OS X support
92	+ "quake3" shell script as shipped with 1.32 (on linux) no longer needed
93	+ Ogg codec support from Joerg Dietrich
94	+ Fix to the gcc4/-O0 x86 JIT compiler bug
95	+ Up the defaults for zone and hunk memory since some mods (UT) have large
96		memory requirements that will have increased versus 1.32b due to some of the
97		alignment fixes
98	+ Dependency generation for the .asm files
99	+ Remove FS_SetRestrictions
100	+ Add FS_CheckPak0 for better error messages where dumb users are involved
101	+ Added cl_autoRecordDemo, which when enabled automatically records a new demo
102		on each map change
103	+ Only display the g_synchronousClients warning when it's appropriate
104	+ Remove custom memcpy/memset code
105	+ AVI video output
106		- Uses motion jpeg codec by default
107		- Use cl_aviFrameRate to set a framerate
108		- \video [filename] to start capture
109		- \stopvideo to stop capture
110		- Audio capture is a bit ropey
111	+ General Makefile improvements
112	+ Support for MinGW cross compilation
113	+ NetBSD support from optical
114	+ x86_64 JIT bytecode compiler no longer disabled by default
115	+ msvc project files updated and moved to win32/msvc
116	+ Various alignment fixes
117	+ Solaris (x86 and sparc) support from Vincent S. Cojot
118	+ Fixed Altivec-based mesh rendering
119	+ Ditch Mac OS 9 support
120	+ Added a Makefile option USE_LOCAL_HEADERS which can be disabled to use system
121		headers if desired
122	+ Detection of Altivec on Mac OS X
123	+ SMP support with sdl_glimp.c on Mac OS X.
124	+ Add "very high quality" option (patch from Pascal de Bruijn)
125	+ Support for RIFF files with zero length data chunks (yes they exist, and yes,
126		they're legal)
127	+ Support for ccache. If you want it, add USE_CCACHE=1 to Makefile.local
128	+ Mac OS X now uses SDL backend, all Objective C removed
129	+ Partial implementation of FS_Seek for files in pk3s
130	+ Implementation of r_dlightBacks from Shane Isley
131	+ OpenAL support, from BlackAura aka Stuart Dalton
132	+ An abstract codec system, simplifying support for new formats
133	+ Ignore in_dgamouse setting if dga isn't available
134	+ Removed hard coded mouse acceleration in *nix input code
135	+ Basically rewrote the lcc Makefile to be more sane
136	+ Removed various bits of lcc that weren't built/needed
137	+ General portability improvements
138	+ Various variables added that aid packaging, from vapier
139	+ Centralise architecture defines in q_platform.h
140	+ Replaced a bunch of inline and __inline with ID_INLINE
141	+ Replaced a bunch of __i386__ with id386
142	+ General tidy up of asm preprocessor decisions
143	+ Removed C_ONLY from the dedicated server build
144	+ Removed rule to build C++ (for splines) from the Makefile
145	+ General decrufting
146	+ Split USE_SDL into USE_SDL_VIDEO and USE_SDL_AUDIO
147	+ Various assorted bug fixes
148
1492005-10-29 Various contributors
150	+ nasm syntax asm ported to gas
151	+ Disabled-by-default MD4 support
152	+ cons build system removed
153	+ Better FreeBSD support
154	+ Makefile generates dependencies
155	+ Some SDL sound tweaks
156	+ qvm build tools and qvms are now built with the rest of the binaries
157	+ q3asm-turbo from Phaethon
158	+ Moved various displaced c and h files into more appropriate places
159	+ A shitload (can I say shit?) of bug fixes -- see the svn log for details
160
1612005-09-22 Tim Angus <tim@ngus.net>
162	+ MinGW port
163
1642005-09-??
165	+ SDL Stuff (icculus)
166	+ x86_64 (ludwig von angstenheimer)
167	+ patches from a cast of thousands
168
1692004-05-22 Timothee Besset <ttimo@idsoftware.com>
170	+ updated the xcode project from Apple's version
171		now with the latest vm_ppc code
172
1732004-05-21 Timothee Besset <ttimo@idsoftware.com>
174	+ fixed the Linux build to compile again on sid (glext.h and gcc3 warnings)
175	+ 2 weeks ago, hacked up the source to compile on panther / xcode 1.1
176		several cleanups were needed, and VM support seems broke (hangs or crashes)
177	+ got altivec optimisations from Apple (Kenneth Dyke)
178		merged back in
179	+ looks like with the new code merge the VM support is back in and working
180
1812003-09-15 Timothee Besset <ttimo@idsoftware.com>
182	+ import Q3 java master code, cleanups on monster
183
1842003-08-31 Timothee Besset <ttimo@idsoftware.com>
185	+ loki_setup hell
186		https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=626
187		http://zerowing.idsoftware.com/linux/q3a/index.html#glibc
188		text mode installer in loki_setup image built on Mandrake 7.2 crashes on
189		some glibc 2.3 systems such as RH9 etc.  need to move to a different
190		version of the installer, and update old installers to keep them still
191		'installing' moving to build the setup binaries on Debian Woody systems
192		(glibc 2.2, text mode installer will no longer work on 2.1 systems) hacked
193		together a new setup, using setup tree from RTCW. would need a complete
194		revamp if a new full setup with new binaries is needed
195
1962003-07-17 Timothee Besset <ttimo@idsoftware.com>
197	+ new cvsreport, testing per-module config
198
1992003-01-19 Timothee Besset <ttimo@idsoftware.com>
200	+ building on both gcc 2.x and 3.x
201		added conf modules to check gcc version
202		ccache support
203
2042003-01-13 Timothee Besset <ttimo@idsoftware.com>
205	+ tweaking around for gcc 3.x build
206		edit Conscript to change the compiler
207
2082002-12-16 Timothee Besset <ttimo@idsoftware.com>
209	+ added pbEmit class to auth code, emit CD keys to local PB master
210
2112002-11-14 Timothee Besset <ttimo@idsoftware.com>
212  + up to latest makeself.sh
213	+ add both quake3.x86 and quake3-smp.x86 to setup
214	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=573
215	  console setup crash / glibc 2.3 (Debian Sid)
216		investigated, put together a workaround
217
2182002-11-5 Timothee Besset <ttimo@idsoftware.com>
219	+ Linux building both smp and non-smp again. Will have to put both in setup
220	+ added in_subframe to toggle X subframe event handling
221	+ reworked the timing code to be more reliable
222	+ cleaned up dgamouse/in_mouse code, removed unnecessary dgamouse var
223	+ made the mouse grabbing an in_nograb cvar, no longer a compile time option
224	  in_nograb 1 force in_dgamouse 0 and r_fullscreen 0 (any of those two will b0rk)
225	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=565
226	  mouse issues on Suze 8.1 - related to subframe event timing
227		added code chunk to detect broken X timing and disable subframe
228	+ tweaked the subframe/X bug workaround to be less paranoid
229
2302002-10-28 Timothee Besset <ttimo@idsoftware.com>
231	+ no longer blocking demo recording if g_synchronous clients != 0
232		only sending out a warning (everyone does g_sync 1 ; record ; g_sync 0)
233
2342002-10-21 Timothee Besset <ttimo@idsoftware.com>
235	+ building final mod sdk setups (added lcc bins, added link to q3asm-turbo in readme)
236
2372002-10-8 Timothee Besset <ttimo@idsoftware.com>
238	+ quickfix cl_maxpackets > 125 brings back to 100
239
2401.32 release ---
241
2422002-10-7 Timothee Besset <ttimo@idsoftware.com>
243	+ made the 'demo' command case-insensitive on extension match (it was confused by demo FOUR.DM_68)
244	+ mouse wheel scrolling with in_mouse 1 + window mode was not working, fixed (DI didn't catch)
245	+ removing on-the-fly pk3 build from Linux setup, using the finalized ones now
246		added 'pk3' option to cons for toggle of pk3 building
247
2482002-10-5 Timothee Besset <ttimo@idsoftware.com>
249  + updated win32 mod sdk (in win32/mod-sdk-setup)
250    added q3asm and lcc source
251    updated the .bat to build VMs
252
2532002-10-3 Timothee Besset <ttimo@idsoftware.com>
254	+ linux mod sdk, wrote the bulk of the scripts
255
2562002-9-30 Timothee Besset <ttimo@idsoftware.com>
257	+ ATVI Quake 3 1.32 Patch #9
258		rolling back to the way it was before, leaving 1v1 force vote exploit, the fix was worse than the bug
259		from comment on bug #9 in tracker:
260
261		actually the fix is worse than the original bug
262
263     after the fix, voting when you are alone on the server was no longer working
264     it was kinda intended in the fix, that you would have to be at least two to pass a vote .. but
265     it is an oversight.
266
267     calling a vote in a 1v1 game against a bot fails immediately
268     (calling a vote in any situation where there's only 1 live player fails)
269
270     Say a server's running some lame custom map that you have but a friend doesn't. You can't go
271     on the server and change it to the map you want to play, so he ends up having to auto-dl it at
272     8K a second just so you can switch from it.
273
274     This particular 2 clients, vote / quit exploit would involve too many changes to fix properly.
275     I am reverting back to the old version, and leaving as WNF
276
2772002-9-29 Timothee Besset <ttimo@idsoftware.com>
278	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=50
279		added Wheel support to the DirectInput code IN_DIMouse (in_mouse 1)
280		tweaked the Wheel mouse reading for in_mouse -1 (old win32 input code)
281			handle correctly when zDelta is > 120
282			provide a in_logitechbug cvar to handle buggy Logitech MouseWare driver sending wheel events twice
283
2842002-9-26 Timothee Besset <ttimo@idsoftware.com>
285	+ ATVI Quake 3 1.32 Patch #38
286		adding trap_SetPbClStatus, reliably checks for PB presence before enabling PB in UI
287
2882002-9-25 Timothee Besset <ttimo@idsoftware.com>
289	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=551
290		SVF_CLIENTMASK, fixed a typo
291	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=555
292		pushed cl_maxpackets upper limit to 125 (from 100) per CPMA Arqon's request
293
2942002-9-24 Timothee Besset <ttimo@idsoftware.com>
295	+ ATVI Quake 3 1.32 Patch #33
296		PB reporting sv_paused cvar hacked, fixed SV_CheckPaused to use a Cvar_Set
297	+ ATVI Quake 3 1.32 Patch #24
298		added [skipnotify] from RTCW, use to display in the console only, but not on client screen
299		(also fixes pb_msgprefix and pb_sv_msgprefix)
300	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=553
301		using correct error message if listen server starting as cl_punkbuster 0 sv_punkbuster 1
302	+ ATVI Quake 3 1.32 Patch #35
303		text auto wrap in UI code was eating the last word if it was wrapping
304		fixed in Q3 and TA UI (this bug could have affected the server print message also)
305	+ some updates to the win32 cons post-build process
306
3072002-9-21 Timothee Besset <ttimo@idsoftware.com>
308	+ adding bspc cons build script
309
3102002-9-19 Timothee Besset <ttimo@idsoftware.com>
311	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=552
312		disconnect reason is transmitted in the disconnect command and processed into com_errorMessage
313		(similar to RTCW behaviour)
314		added UI for com_errorMessage cvar in baseq3/, if client is kicked/dropped/disconnected for whatever reason
315		(this is already functional in TA)
316	+ ATVI Quake 3 1.32 Patch #9
317		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)
318	+ ATVI Quake 3 1.32 Patch #5
319		removed the userInfoChanged message (was a debugging leftover)
320	+ ATVI Quake 3 1.32 Patch #18
321		rcon was not properly fixed yet, this only showed up for PB commands
322		changed the rcon parsing again to be more reliable
323
3242002-9-18 Timothee Besset <ttimo@idsoftware.com>
325	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=549
326		the demo command has a list of compatible protocols, it will loop through 66 67 68
327		you can do '/demo four' and it will try four.dm_66 four.dm_67 four.dm_68
328		or you can explicitely give a '/demo demoname.dm_??'
329	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=551
330		added SVF_CLIENTMASK (0x00000002), works only with <= 32 players
331		set bitmask of players to which send entity
332
3332002-9-17 Timothee Besset <ttimo@idsoftware.com>
334	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=550
335		rcon bug fix
336	+ some scons updates for win32 (post build)
337	+ 1.32rc2
338
3392002-9-06 Timothee Besset <ttimo@idsoftware.com>
340	+ updated completely the setup system:
341		fixed cons stuff to build setup with cons -- release setup
342		working from new setup codebase with some custom patches:
343			https://bugzilla.icculus.org/show_bug.cgi?id=52
344			https://bugzilla.icculus.org/show_bug.cgi?id=53
345			checked that BSD support was still in (brandelfing and symlinks) .. will have to get tester feedback
346		bumped version to 1.32rc1
347		TODO: update the windows .VCT (standalone setup and auto-update)
348
3492002-9-04 Timothee Besset <ttimo@idsoftware.com>
350	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=543
351		backport from RTCW 1.4 code
352		rcon commands where sent after being tokenized and rebuilt
353		that was breaking any quoting, for instance 'rcon g_motd "hooka pooka"'
354		added Cmd_Cmd() to retrieve the un-tokenized command and transmit as is on both ends
355	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=542
356		b0rked text wrapping in connect screen
357		was a missing sizeScale in q3_ui/, and a bad param in ui/
358	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=540
359		backport fix to pk3 reordering, happens when clearing the references, bad order from connection may break stuff
360	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=527
361		TA ui/, quickfix to netSource (mod stuff, doesn't affect TA)
362	+ cleaned up broken old DO_WIN32 stuff in cons scripts
363	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=526
364		typo in models2.shader
365	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=443
366		Linux client: sub-frame timing of key/mouse events
367	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=453
368		added mousewheel support: wheel to scroll, ctrl+wheel to scroll faster, shift+wheel to scroll history
369	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=545
370		bumped server count to 4096
371	+ keep around: __asm__ __volatile__ ("int $0x03");
372	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=516
373		moved screenshots to backend with a new RC_SCREENSHOT render command
374		fixes the r_smp 1 garbled screenshots
375
3762002-8-29 Timothee Besset <ttimo@idsoftware.com>
377	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=539
378		new VM code from Raven's Sof2
379	+ cons / qvmtools build system fixes
380	+ had to get a new qe3.ico again (resource compiler error)
381		http://vasin.hypermart.net/eei.htm
382	+ updated, basic testing on win32, merging back in trunk
383	+ merged bug-539 branch back into trunk, officialize the new VM code
384
3852002-8-26 Timothee Besset <ttimo@idsoftware.com>
386	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=472
387		linux client: handle ctrl+space situations (could leave space locked on + space not working with ctrl on)
388	+ update the build system, build q3lcc and q3asm etc. on demand
389	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=62
390		fixed invisible players/entities
391
3922002-8-23 Timothee Besset <ttimo@idsoftware.com>
393	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=536
394		fixing donedl being ignored after autodl if map_restart'ed (propagate from RTCW)
395		ignoring multiple map_restart (propagated from RTCW)
396	+ reworked the server 'client text ignored' message to only trigger	when there's actually a message that doesn't get to the game VM
397
3982002-8-18 Timothee Besset <ttimo@idsoftware.com>
399	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=528
400		ydnar: reorg bits in the drawsurf sort index, push MAX_SHADERS to 2^12
401	+ commented out some debug stuff in java auth server
402	+ added FAQ item with Linux & BSD patch to handle broadcast on multiple interfaces
403
4042002-8-15 Timothee Besset <ttimo@idsoftware.com>
405	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=534
406		fixing rcon being broken on NT/XP with > 23 days uptime (or so)
407	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=525
408		changed the rcon buffer size to avoid overflows and dropping part of the message
409
4102002-8-14 Timothee Besset <ttimo@idsoftware.com>
411	+ hacked in some experimental win32 stuff to the cons files
412		(win32 recognition and pk3 installs .. very very experimental but I needed it for win32 dev)
413	+	https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=521
414		ui/ and q3_ui/ : added text auto wrapping in the connection screen drawing (server message)
415	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=531
416		removed the MPlayer stuff from the server browsers
417	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=505
418		enabled back the ignore if protocol is != (fixes Wolf servers showing in browser)
419
4202002-8-10 Timothee Besset <ttimo@idsoftware.com>
421  + https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=500
422    propagated IP banning fix from RTCW
423
4242002-8-08 Timothee Besset <ttimo@idsoftware.com>
425	+ propagate additional sv_lanForceRate fix from RTCW
426
4272002-8-07 Timothee Besset <ttimo@idsoftware.com>
428	+ added trap_FS_Seek
429
4302002-8-05 Timothee Besset <ttimo@idsoftware.com>
431  + https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=50
432    fixed the DI mouse init procedure
433
4342002-8-05 Timothee Besset <ttimo@idsoftware.com>
435	+ removed sv_allowanonymous, was dummy and polluting the serverinfo
436		(sv_allowanonymous was designed to flag wether server was public or not, but that's replaced by g_needpass)
437	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=514
438		sv_strictAuth (default 1): server variable to control wether strict CDKEY auth should be performed
439			this is required if you want reliable cl_guid on the server
440		extended the getIpAuthorize (server->auth message) syntax
441		sending the fs_game at all times (default 'baseq3'), dummy sv_allowAnonymous 0, strict auth flag
442		NOTE: 1.31 server on baseq3 sends a getIpAuthorize packet like:
443			processing packet: getIpAuthorize -1230824753 217.128.77.195  0
444			the auth server will mistakenly read fs_game as '0'
445	+ TAGGED the master / auth source as pre-1_32
446		will need to go back to this to comment out all my debugging crap
447
4482002-8-04 Timothee Besset <ttimo@idsoftware.com>
449	+ cleaned master server stuff, client was prompting master.quake3arena.com,
450		server was sending heartbeats to master3.idsoftware.com
451		both point to 192.246.40.56, unified to master.quake3arena.com
452		the MPlayer master, master.quake3world.com doesn't exist anymore, switched it to master.quake3arena.com
453
4542002-8-02 Timothee Besset <ttimo@idsoftware.com>
455	+ added auth server source, reorganized
456	+ auth server name / master key optionally set on command line for master and auth servers
457	+ auth and master config in build system
458	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=524
459		changed default GL driver from libGL.so to libGL.so.1
460		see LSB 1.2 spec: http://www.linuxbase.org/spec/refspecs/LSB_1.2.0/gLSB/libgl.html
461	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=480
462		applying the 'no cp command' experimental fix for beta phase
463	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=462
464		backported from RTCW, fix to packet fragmenting emission
465		FIXME: there is some verbose code that we have to take out in the final version (grep for #462)
466	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=475
467		backported from RTCW, don't get dropped if the server changes map while connecting (ignore outdated cp)
468	+ PROTOCOL BUMPED TO 68
469
4702002-8-01 Timothee Besset <ttimo@idsoftware.com>
471	+ Linux: dedicated build was not setting up signal handler like the full client does
472	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=522
473		SplashDamage bugfix, now clearing client gentity before GAME_INIT call (instead of after)
474	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=498
475		fixed NET_AdrToString to print the port as unsigned int (for ports > 1^^15, was showing negative)
476	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=501
477		maintain IP in userinfo sent to game
478	+ checking in master server source
479
4802002-7-31 Timothee Besset <ttimo@idsoftware.com>
481	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=513
482		https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=506
483		porting fix from RTCW codebase. client re-orders its pk3s to scan in the same order than the server
484		this eliminates several 'Invalid .PK3 file referenced' situations (caused by client not referencing the same thing as server)
485	+ fixed border remnants in ta ui
486	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=517
487		ERR_DROP if PB client off / server on conflict when starting local server
488	+ quickfix to q3 ui / punkbuster detect in server browser
489	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=458
490		code fix, no more taunt spam
491	+ cons install of PB .so files
492	+ correct MOD_KAMIKAZE and MOD_JUICED in TA games.log
493
4942002-7-29 Timothee Besset <ttimo@idsoftware.com>
495	+ q3 ui: completed confirmation prompts and messages (added UI_ConfirmMenu_Style & UI_Message)
496	+ ta ui: backported 'conditionalopen' from RTCW (conditionalopen <cvar> <menu1> <menu2>)
497	+ ta ui: confirmation prompt for punkbuster enable/disable etc.
498	+ added the win32 DLLs to pb/win32/
499
5002002-7-28 Timothee Besset <ttimo@idsoftware.com>
501	+ ta ui: sv_punkbuster in StartServer menu
502	+ ta ui: added cl_punkbuster in server browser
503	+ view filters are in a modal dialog
504	+ new files: filter.menu menus.txt (pak3.pk3 updated)
505	+ fix broken link in Linux FAQ
506
5072002-7-27 Timothee Besset <ttimo@idsoftware.com>
508	+ ta ui: PB display in the browser, in its additional tab, with sorting
509
5102002-7-26 Timothee Besset <ttimo@idsoftware.com>
511	+ PB UI: for baseq3/ AND missionpack/
512		q3_ui: Punkbuster: Enable/Disable in server broswer (cl_punkbuster)
513		q3_ui: PB logo, PB Yes/No in browser (TODO: validate this to be working)
514		q3_ui: added sv_punkbuster toggle in start server menu
515	+ automated building of the new PK3s, unix/Conscript-pk3
516
5172002-7-25 Timothee Besset <ttimo@idsoftware.com>
518	+ added PB build scripts on Linux, fixed the Linux build
519
5202002-7-12 Timothee Besset <ttimo@idsoftware.com>
521  + https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=511
522    fixing re.SetColor crash for widescreen displays (q3dm11)
523    was calling to the renderer while not registered
524
5252002-6-19 Timothee Besset <ttimo@idsoftware.com>
526  + r_roundImagesDown 0 + map q3dm16 -> tr_image.c ResampleTexture crash
527	  buffer overflow because of resample to 2048x..
528		xian_q3dm12_leftwall4fin.jpg 1152x384
529		bumped one buffer byte p1[1024] -> byte p1[2048], added a safe check
530
5312002-6-14 Timothee Besset <ttimo@idsoftware.com>
532  + https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=493
533	  propagate a renderer fix from RTCW. fixes a one-frame visual glitch when mod code
534		registers a shader after drawsurfaces are generated but before the frame is rendered
535
5362002-6-12 Timothee Besset <ttimo@idsoftware.com>
537  + added cons and pcons to unix/, updated the build script
538
5392002-5-24 Timothee Besset <ttimo@idsoftware.com>
540	towards a new Q3 release?
541		some bug fixes require protocol change, or mod code/mod interface change to be fixed properly
542		this is a biz decision, dunno yet if we are going to want a new protocol (probably not)
543	-> have to create a branch for the 1.31b, i.e. backwards compatible with 1.31 'Stable-1_31'
544	  and put the 1.32 specific / protocol changes on trunk
545	no telling what will go in SOS in the end .. probably 1.32
546
5472002-5-5 Timothee Besset <ttimo@idsoftware.com>
548  + https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=491
549	  adding a sv_lanForceRate (defaults to 1) to turn on/off server forcing rate of LAN clients
550		(only affects LAN dedicated clients - dedicated 1, default behaviour forces LAN clients to 99999 rate)
551	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=470
552	  fixing potential overflows with cl_cdkey (propagated from RTCW)
553	+ cons-based build system (imported from Wolf, was partly written for mod tools release already)
554	  building with SMP on by default
555	+ better #ifdef SMP handling ('disabled at compile time' message)
556	+ https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=494
557		Q_vsnprintf for vsprintf calls in the core
558		not putting this in game code as we'd need a vsnprintf implementation in bg_lib.c
559
5602002-4-5 Timothee Besset <ttimo@idsoftware.com>
561  + https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=462
562    taking out the fix which was found broken and incomplete
563
5642002-8-4  Timothee Besset <ttimo@idsoftware.com>
565  + adding NO_MOUSEGRAB define (select in the Makefile)
566
5672002-2-4  Timothee Besset <ttimo@idsoftware.com>
568  + applying Gareth's SMP patch
569  + count number of CPUs (Sys_ProcessorCount in unix_shared.c), default r_smp appropriately
570  + bumping version to 1.32
571  + if XInitThreads fails, set r_smp to zero
572
5732002-28-2  Timothee Besset <ttimo@idsoftware.com>
574  + https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=462
575    send potential remaining fragmented packets before sending a gamestate
576
5772002-26-2  Timothee Besset <ttimo@idsoftware.com>
578  + https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=455
579  removed old libMesaVoodooGL.so loading code
580  Voodoo cards should use XF4/DRI, that load code was outdated and confusing people with broken OpenGL
581
5822002-16-1  Timothee Besset <ttimo@idsoftware.com>
583  + https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=441
584  adding brandelf calls to the setup building process so that our binaries run on BSD
585
5862002-1-1  Timothee Besset <ttimo@idsoftware.com>
587  + updated FAQ with BSD info (bug #441)
588  + FAQ update on CLIENT_UNKNOWN_TO_AUTH
589  + FAQ update for proper strace usage
590
5912001-12-12  Timothee Besset <ttimo@idsoftware.com>
592  + Q3 1.31 point release
593    updating build_setup.sh to new pk3 files
594    (baseq3/pak7.pk3 missionpack/pak2.pk3)
595  + https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=395
596    adding quake3.xpm icon, and modified the setup accordingly to put symlinks
597  + https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=390
598    ignoring SIGTTIN SIGTTOU
599
6002001-06-12  Timothee Besset <ttimo@idsoftware.com>
601  + https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=402
602    bug with full scene
603
6042001-04-12  Timothee Besset <ttimo@idsoftware.com>
605  + https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=398
606    cg_bobup cheat protect
607  + https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=399
608    fixed Setup > System > Driver info crash
609  + checked in code/spank.sh script, perform checksuming
610
6112001-18-09  Timothee Besset <ttimo@idsoftware.com>
612  + https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=371
613    propagating sound code fixes from Wolf to Q3
614
6152001-11-08  Timothee Besset <ttimo@idsoftware.com>
616  + setup script was still broken, damn shell expansion
617    the exit code for Q3 was always zero instead of $?
618    propagating the fix to Wolf
619
6202001-11-04  Timothee Besset <ttimo@idsoftware.com>
621  + https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=382
622    modified challenge code for motd to be truly random
623
6242001-10-31  Timothee Besset <ttimo@idsoftware.com>
625  Moved updated q3asm and lcc source at the toplevel, MissionPack/q3asm
626  and MissionPack/lcc
627
6282001-10-29  Timothee Besset <ttimo@idsoftware.com>
629  + https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=381
630    build system is now functional
631
6322001-10-21  Timothee Besset <ttimo@idsoftware.com>
633  + updated Sys_LoadDll code on linux to search in the following order:
634    #1 current directory
635    #2 fs_homepath
636    #3 fs_basepath
637    this was needed to make mod developement easier
638
6392001-10-09  Timothee Besset <ttimo@idsoftware.com>
640  + https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=51
641    the code to buffer the redirection was in there but disabled? (Com_Printf)
642    enabled it back
643  + https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=52
644    connection issues / userinfo
645    client side fix, instead of sending 'connect <userinfo>' packet
646    we now send 'connect "<userinfo>"'
647
6482001-10-08  Timothee Besset <ttimo@idsoftware.com>
649  + https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=371
650    added a PROT_READ to the mmap call
651    this was needed to go around a bug in glibc i586 i686, memset doing read access
652    since the audio_fd is opened O_RDWD this is harmless to Q3
653
6542001-10-07  Timothee Besset <ttimo@idsoftware.com>
655  + updating from SOS
656    S_WriteLinearBlastStereo16 C/asm is back in snd_mix.c (Graeme)
657    r_showtris r_shownormal cheat protections
658  + Sys_LoadDll changes:
659    removing -debug search when loading native dlls
660    changing the fatal aborts when not finding native from release only to debug only (was a misfeature)
661    used to search in cd_path which is bogus, now searching in pwd if basepath fails
662  + https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=275
663    fixed r_fullbright not being cheat protected / was a CVAR_LATCHED|CVAR_CHEAT issue
664
6652001-09-06  Timothee Besset <ttimo@idsoftware.com>
666  + updated from SOS, some changes to qcommon/unzip.c (statics)
667
6682001-08-27  Timothee Besset <ttimo@idsoftware.com>
669  + https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=3
670  Added some code in CL_InitDownloads to use FS_ComparePaks and print out information about server-referenced paks that are missing on the client. It is a first step, allows to get precise information about what can cause a connection to fail (typically when the user is sent back to the main screen).
671
6722001-08-22  Timothee Besset <ttimo@idsoftware.com>
673  + https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=86
674  fixed sound bug (with Graeme hints)
675
6762001-08-20  Timothee Besset <ttimo@idsoftware.com>
677  + made sure Sys_Printf doesn't get into an endless loop if logfile is on
678    fixed qconsole.log issues, +set logfile 1 +set fs_debug 1 was crashing (any OS)
679    fixed logfile 1 / ttycon 1 issue, didn't exit properly (same endless looping)
680    also fixes an issue reported by q3f team
681  + changed rcon commands from Com_DPrintf to Com_Printf so that they show up in the console
682  (with IP information)
683
6842001-08-19  Timothee Besset <ttimo@idsoftware.com>
685  + fixed https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=91
686  (autodownload toggle in q3 ui)
687  + fixed https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=76
688  g_password issue
689  + fixed https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=93
690  cheat protecting r_lodCurveError
691  + wontfix https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=92
692
6932001-08-18  Timothee Besset <ttimo@idsoftware.com>
694  + more fixes to the 7-button mouse code (linux only)
695  + updated faq about gamma slider
696  + added "servers don't show up in ingame browser" to faq
697  + added Alt+Enter toggle for fullscreen/windowed (linux)
698
6992001-08-16  Timothee Besset <ttimo@idsoftware.com>
700  reconfiguring CVS repository to give access to Gareth
701  + testin gareth's access
702
7032001-08-03  Timothee Besset <ttimo@idsoftware.com>
704  * https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=85
705  fixes in the setup code for older bash versions
706
7072001-08-02  Timothee Besset <ttimo@idsoftware.com>
708  * commented out assembly implementation of S_WriteLinearBlastStereo16, using modified C implementation from Zaphod
709    need to check performance: https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=88
710  * finished const declarations in CG_Trace calls, was needed in pmove_t declaration and some other functions
711    cgame/cg_local.h : CG_trace trap_CM_BoxTrace
712    game/bg_public.h : using const in pmove_t trace functions prototypes
713    (fixes gcc warnings: assignment from incompatible pointer type)
714
7152001-07-26  Timothee Besset <ttimo@idsoftware.com>
716  * https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=78
717  mapped K_MOUSE4 K_MOUSE5
718
7192001-07-23  Timothee Besset <ttimo@idsoftware.com>
720  * https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=5
721  more fixes, handling meta characters and various kinds of backspace
722
7232001-07-22  Timothee Besset <ttimo@idsoftware.com>
724  * https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=5
725  after testing feedback, fixed more stuff:
726    better backspace, works with putty and potentially more terminals
727  * https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=51
728  band aid fix to rcon status, incresed MAX_PUSHED_EVENTS from 256 to 1024
729  (adds 28kb of mem requirements)
730
7312001-07-21  Timothee Besset <ttimo@idsoftware.com>
732  * https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=2
733  using XF86 Gamma extension to set the gamma in game from the menus
734  (previous behaviour was to set /r_gamma and restart, renderer relying on s_gammatable)
735  restoring initial gamma on GLimp_ShutDown
736
7372001-07-19  Timothee Besset <ttimo@idsoftware.com>
738  * https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=5
739  first usable version of dedicated console
740  added history and completion functionality
741  ready for some testing
742  still some TODOs and FIXMEs:
743    keep the currently edited line when going back from history exploration
744    edit the current line with cursor, insert mode etc.
745
7462001-07-18  Timothee Besset <ttimo@idsoftware.com>
747  * starting TAB completion and history for the dedicated server (tty console)
748  removed Sys_ConsoleOutput (unused)
749  removing bogus nostdout variable
750  cleanup of a big chunk of code that Bernd commented out and scheduled for deletion
751  moved completion code from client/cl_keys.c stuff into qcommon/common.c, Field_CompleteCommand(field_t*)
752
7532001-07-13  Timothee Besset <ttimo@idsoftware.com>
754  * fixed https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=8
755  screenshots overwrites
756  * fixed https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=31
757  DOUBLE SIGNAL FAULT
758
7592001-07-11  Timothee Besset <ttimo@idsoftware.com>
760  * fix for french keybards / console toggle / bound to XK_twosuperior
761
7622001-07-10  Timothee Besset <ttimo@idsoftware.com>
763  * https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=19
764  cleanup of the keyboard code, adding com_developer message in case XLookupString would fail
765
7662001-07-10  Timothee Besset <ttimo@idsoftware.com>
767  * https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=33
768  using our custom handlers for X errors, should make things more robust
769  (X docs say some X errors are not fatal, but the default X handler exits the app anyway)
770
7712001-07-08  Timothee Besset <ttimo@idsoftware.com>
772	* https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=19
773	keyboard state issues, fixed the sticking with ctrl key (thks relnev)
774
7752001-07-07  Timothee Besset <ttimo@idsoftware.com>
776	* closing https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=13
777	the fixes to bug #9 solved this one too
778	* checking in to SOS
779
7802001-07-05  Timothee Besset <ttimo@idsoftware.com>
781	* work on https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=9
782	filesystem code changes:
783	updated the documentation in files.c to the current system
784	added correct fs_homepath fs_basepath fs_cdpath scanning to FS_SV_FOpenFileRead
785	  (fixes description.txt not found, and probably a few other linux issues)
786
7872001-06-29  Timothee Besset <ttimo@idsoftware.com>
788	* fixed setup issues (graphical/console)
789	https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=6
790
7912001-06-26  Timothee Besset <ttimo@idsoftware.com>
792	* bug tracker is online at https://zerowing.idsoftware.com/bugzilla
793	  authentication, use login: bugs password: b00gies
794	  for now, using it as the linux bug tracker, possible use for more OSes and programs if anyone is interested.
795	* tweaked the graphical setup to send to bugs@idsoftware.com on errors instead of support@lokigames.com
796
7972001-06-19  Timothee Besset <ttimo@idsoftware.com>
798        * fixed generated launch script /usr/local/bin/quake3, exit $* should be exit
799
8002001-06-18  Timothee Besset <ttimo@idsoftware.com>
801        * rebuilt 1.29f setups, released as 1.29f-beta1 'Q3 1.29f linux-i386 Jun 19 2001'
802
8032001-06-10  Timothee Besset <ttimo@idsoftware.com>
804	* rebuilt against PR source, packaged 1.29b setups
805
8062001-05-25  Timothee Besset <ttimo@idsoftware.com>
807	* graphical setup, based on Loki's setup tool (GPL)
808
8092001-05-22  Timothee Besset <ttimo@idsoftware.com>
810	* changed fs_basepath to fs_homepath, according to Graeme's changes (probably missed this change?)
811	  this fixes the q3key prompting at each game startup
812
8132001-05-20  Timothee Besset <ttimo@idsoftware.com>
814	* rebuilding 1.28b, various fixes on linux build:
815	  - SetProgramPath was renamed to Sys_SetDefaultCDPath in unix_shared.c
816	    updated unix_main.c accordingly
817	  - some prototypes in qgl.h are guarded by #ifndef GL_VERSION_1_2 (ARB extentions)
818	    those prototypes are needed by linux_glimp for importing functions and casting, added a #ifdef __linux__
819	    (not a clean solution)
820	  - game/q_shared.h
821	    little endian / big endian functions have been added
822	    gcc generates warnings about functions being unused .. inlined them
823	   - cgame/cg_marks.c
824	     // TTimo
825	     // gcc warning: might be used uninitialized
826	     float sInc = 0.0;
827             float s = 0.0;
828
8292001-05-15  Timothee Besset <ttimo@idsoftware.com>
830	* fixes to linux Makefile for bspc 2.1h
831	* various updates to 1.28b on linux
832
8332001-05-09  Timothee Besset <ttimo@idsoftware.com>
834
835	* R. Duffy reverted game/bg_pmove.c PM_CheckDuck, was a merging screup on my side
836	* updated setup to 1.27z, removed the .so from the setup distribution (they were in 1.27g because of issues)
837	  FIXME: gotta get pk3's first
838
8392001-05-04  Timothee Besset <ttimo@idsoftware.com>
840
841	* fixes to gcc, building RC for 1.27s
842
8432001-05-01  Timothee Besset <ttimo@idsoftware.com>
844
845	* added qcommon/huffman.c to the Makefile
846	* gcc -Wall:
847	commenting out
848	  CL_Netchan_Encode CL_Netchan_Decode (cl_net_chan.c)
849	  Netchan_ScramblePacket Netchan_UnScramblePacket (net_chan.c)
850	  SV_Netchan_Encode SV_Netchan_Decode (sv_net_chan.c)
851
8522001-04-26  Timothee Besset <ttimo@idsoftware.com>
853
854	* fixed dedicated server crash when entering the VM_COMPILED qagame on a mod (some statics lacked initialization)
855
8562001-04-25  Timothee Besset <ttimo@idsoftware.com>
857
858	* added $(Q3POBJ) to clean target (cleanup of platform-dependent objects)
859	* more make clean improvements
860
8612001-04-23  Timothee Besset <ttimo@idsoftware.com>
862
863	* cleanup the mod selection code, remove duplicates
864	* some issues with release builds, my main developement box doesn't build stable binaries with release settings
865	  removing -fomit-frame-pointer seems to fix (there's probably a performance hit)
866	  see OMIT-FRAME-POINTER.txt
867
8682001-04-13  Timothee Besset <ttimo@idsoftware.com>
869
870	* checked in a first set of merged files
871
8722001-04-06  Timothee Besset <ttimo@idsoftware.com>
873
874	* merged back the core linux parts to make 1.27g linux build from the Source Safe tree again
875
8762001-02-27  Bernd Kreimeier  <bk@lokigames.com>
877
878	* CVS: tag with changes as of today
879	  cvs tag id1-27j-loki01027
880
881	* code/qcommon/msg.c: numFields loop (SOS).
882	* code/qcommon/files.c: ue Q_stricmp (SOS uses stricmp, was strcmp).
883	* code/game/q_shared.h (Q3_VERSION): 1.27j. Also
884	MAX_STRING_TOKENS upped from 256 to 1024 (SOS).
885
886	* code/server/sv_snapshot.c (SV_AddEntitiesVisibleFromPoint): see below.
887	* code/game/g_public.h (SVF_NOTSINGLECLIENT): added (SOS).
888
889	* code/server/sv_ccmds.c: see below.
890	* code/game/g_main.c: g_gametype cvar now userinfo (SOS).
891
892	* code/game/g_active.c (SendPendingPredictableEvents): new (SOS).
893	* code/game/bg_misc.c: new SOS (sos010227)
894
895	* SOS: new update sos010227.
896
8972001-02-22  Bernd Kreimeier  <bk@lokigames.com>
898
899	* CVS: now in sync with last SOS and cleanup up
900 	  cvs tag id1-27i-loki01022
901
902	* code/ui/ui_shared.c: below.
903	* code/ui/ui_main.c: leftover code!
904	* code/server/sv_world.c: below.
905	* code/server/sv_snapshot.c: below.
906	* code/server/sv_init.c: below.
907	* code/server/sv_game.c: below.
908	* code/server/sv_client.c: below.
909	* code/server/sv_ccmds.c: below.
910	* code/server/sv_bot.c: below.
911	* code/server/server.h: below.
912	* code/renderer/tr_surface.c: below.
913	* code/renderer/tr_shader.c: changed assert to early return.
914	* code/renderer/tr_shade_calc.c: below.
915	* code/renderer/tr_shade.c: below.
916	* code/renderer/tr_scene.c: below.
917	* code/renderer/tr_mesh.c: below.
918	* code/renderer/tr_local.h: below.
919	* code/qcommon/vm_x86.c: cleanup.
920	* code/qcommon/vm.c: below.
921	* code/qcommon/unzip.c: below.
922	* code/qcommon/qcommon.h: below.
923	* code/qcommon/files.c: below.
924	* code/qcommon/cvar.c: cleanup.
925
9262001-02-21  Bernd Kreimeier  <bk@lokigames.com>
927
928	* code/qcommon/common.c: cleanup.
929	* code/qcommon/cm_trace.c: cleanup.
930	* code/qcommon/cm_patch.c: cleanup.
931	* code/qcommon/cm_public.h: cleanup.
932	* code/game/q_shared.h: cleanup.
933	* code/game/q_shared.c: cleanup.
934	* code/game/q_math.c: cleanup.
935	* code/game/g_syscalls.asm: changed (once more) floor,ceil etc.
936	* code/game/g_spawn.c: cleanup.
937	* code/game/g_session.c: cleanup.
938	* code/game/g_cmds.c: cleanup.
939	* code/game/g_client.c: cleanup.
940	* code/game/g_arenas.c: cleanup.
941	* code/game/bg_slidemove.c: cleanup.
942	* code/game/bg_pmove.c (PM_CheckDuck): old call to trace?
943	* code/game/bg_misc.c: cleanup.
944	* code/game/be_aas.h: dead code.
945	* code/game/ai_dmq3.c: cleanup. One clear/copy switched?
946	* code/game/ai_dmnet.c: more //*/. Why oh why not DEBUG....
947
948	* code/client/snd_mix.c: below.
949	* code/client/snd_dma.c: below.
950	* code/client/keys.h: cleanup.
951	TODO: #error in q3_ui/keycodes.h ?
952
953	* code/client/client.h: cleanup.
954	* code/client/cl_main.c: misplaced bracket. Cleanup.
955	* code/client/cl_keys.c: below.
956	* code/client/cl_cin.c: below.
957	* code/client/cl_cgame.c: cleanup.
958	TODO: define assert for Win32 or guard my assertions.
959
960	* code/cgame/cg_syscalls.c: below.
961	* code/cgame/cg_servercmds.c: below.
962	* code/cgame/cg_players.c: cleanup.
963
964	* code/cgame/cg_newdraw.c: remember to diff against cg_newDraw.c
965	in SOS (mixed case).
966	TODO: get id to use cg_newdraw.c, and to remove cg_newDraw.c/cpp.
967
968	* code/cgame/cg_main.c: below.
969	* code/cgame/cg_local.h: below.
970	* code/cgame/cg_event.c: below.
971	* code/cgame/cg_drawtools.c: below.
972	* code/cgame/cg_draw.c: cleanup.
973	* code/cgame/cg_consolecmds.c: dead code.
974	* code/bspc/qbsp.h: below.
975	* code/bspc/l_poly.c: below.
976	* code/bspc/l_math.c: cleanup.
977	* code/bspc/bspc.c: cleanup.
978	* code/bspc/be_aas_bspc.c: cleanup.
979	* code/bspc/aas_map.c: kept comments - merge loss at their end?
980	* code/bspc/aas_file.c: cleanup.
981
982	* code/botlib/be_interface.c: this file is plain impossible. There
983	are layers of code made dead with /* */ and the resurrected by
984	//* or // /* or variations of this. I reverted to exact mirror
985	image of SOS to be sure - short of removing it's too easy to mistake
986	live code for dead one.
987	Later: have to change 5 occurences to avoid gcc complaints about
988	nested comment tokens.
989	TODO: somebody please get rid of the cruft in here.
990
991	* code/botlib/be_ai_move.c: redundant typedef.
992	* code/botlib/be_ai_chat.c: assertions on signed string index.
993	Note: this is not in my ChangeLog - ouch.
994	TODO: use  gcc -fsigned-char on all platsforms to enforce Win32
995	TODO  behavior (PPC has a default unsigned char, Intel has not).
996	* code/botlib/be_aas_sample.c (AAS_TraceClientBBox): one code block
997	was placed in different location, and one FPE hack not used. I would
998	expect that divide by zero will still occur here.
999
1000	* code/botlib/be_aas_reach.c: below.
1001	* code/botlib/be_aas_cluster.c: cleanup.
1002	* CVS: the last tag (below) marks the version with a lot of history
1003	and additional comments. I am now bringing the codebase in sync with
1004	SOS as of yesterday, cleaning out comments, dead code and other
1005	differences to minimize a diff - in a valiant if futile attempt to
1006	roll back changes into the id codebase.
1007	Note: I ignore the $SOS$ - these are unfortunate but will change
1008	in the same awkward way at their end.
1009	Note: I stick to #if 0 instead of C comments around dead code id
1010	kept (nested comments issue). The commentary is changed to sosYYMMDD
1011	and includes the token DEAD.
1012
10132001-02-20  Bernd Kreimeier  <bk@lokigames.com>
1014
1015	* CVS: update, then tag current version as
1016	 cvs tag id1-27i-loki010219
1017
1018	* SOS: patched up to sos010219.
1019
1020	* code/qcommon/cm_trace.c (CM_Trace): fabs on sphere offsets (SOS).
1021	* code/game/bg_slidemove.c (PM_StepSlideMove): stepSize vs. STEPSIZE (SOS).
1022	* code/game/bg_pmove.c (PM_CheckDuck): fix in stand up check (SOS).
1023	* code/bspc/bspc.c (main): -capsule (SOS).
1024	* code/bspc/qbsp.h: below (SOS).
1025	* code/bspc/be_aas_bspc.c (capsule_collision): added (SOS).
1026	* code/bspc/aas_map.c (CapsuleOriginDistanceFromPlane): added and used (SOS).
1027	* code/bspc/aas_file.c (AAS_WriteAASFile): removed diagnostics recently
1028	added. No matter how long you wait, they'll always get you ;-).
1029	* code/botlib/be_aas_cluster.c: enabled LogWrites, different flood (SOS).
1030
1031	* SOS: patching up to snapshot sos010219.
1032	Note: For brevity, I use as marker sosYYMMDD now instead of bkYYMMDD, to
1033	distinguish from changes not in SOS.
1034
1035	*  CVS: tagged current version before patching up with SOS.
1036         cvs tag id1-27i-loki010216-bsd
1037
10382001-02-16  Bernd Kreimeier  <bk@lokigames.com>
1039
1040	* code/server/sv_init.c: DLL_ONLY sets sv_pure to 0 and ROM.
1041	TODO: determine good sv_pure policy for DLL-only servers.
1042
1043	* code/renderer/tr_shade_calc.c: my_ftol implementation (BSD).
1044
1045	* code/unix/Makefile: FreeBSD sections.
1046	TODO: include target-specific Make-freebsd etc.,
1047	include a Make-local not in CVS for build preferences,
1048	and generally clean up this mess.
1049	* code/unix/unix_glw.h: guard #error
1050	* code/unix/linux_snd.c: soundcard.h location (BSD).
1051	* code/unix/linux_glimp.c: guard system headers.
1052	Later: added Joystick stubs.
1053	Note: linux_ etc. prefixes start to loose meaning as we
1054	re-use most of this on UNIXes anyway. I didn't use Raf's
1055	freebsd_joystick.c but instead put generic stubs here.
1056	TODO: introduce generic -DNO_JOYSTICK flag.
1057	* code/renderer/tr_local.h: my_ftol guard.
1058	* code/renderer/qgl.h: FreeBSD guards.
1059	* code/qcommon/vm_x86.c: sys/types include on FreeBSD.
1060	* code/qcommon/md4.c: Win32 pragma guard.
1061	* code/qcommon/common.c: Com_Memcpy/Memset external.
1062	* code/game/q_shared.h: added FreeBSD defines.
1063	* code/game/q_math.c (BoxOnPlaneSide): FreeBSD conditional.
1064	TODO: check whether we have/need the assembly version anyway.
1065	* code/client/snd_mix.c: use C fallback on FreeBSD.
1066	Note: all of the above changes from the original port by Rafael Barrero.
1067
1068	* CVS: tagged current version before merging FreeBSD related changes.
1069         cvs tag id1-27i-loki010215-ppc
1070
10712001-02-15  Bernd Kreimeier  <bk@lokigames.com>
1072
1073	* code/unix/Makefile: BSD related changes.
1074	* code/cgame/cg_draw.c: hacked phone jack rendering check for Debug.
1075	TODO: finish Debug, fix CG_DrawDisconnect !!!
1076
1077	* code/unix/vm_x86.c: error on compile attempts. Fight redundancy!
1078	* code/qcommon/vm_x86.c (VM_CallCompiled): dummy for linkage on PPC.
1079	Note: DLL_ONLY is the global Makefile option for DLL-only builts.
1080	Currently only executed on Linux.
1081	* code/unix/unix_main.c: *ppc postfix for DLLs. Ignored the changes
1082	to redundant code (have to remove the unused Un/LoadDll/API calls).
1083	* code/server/sv_game.c (VMA): changed macro (see below). PPC.
1084	* code/qcommon/vm.c (VM_DllSyscall): see lengthy commentary by Ryan.
1085	The existing VM code makes certain assumptions about the layout of
1086	varargs on the stack, which fall apart with call conventions that
1087	don't even put all parameters on the stack (gcc on PPC, register-rich).
1088	Using a dedicated memory area as our own stack. This should actually
1089	be the default behavior.
1090	Later: make vm_* cvars INIT/ROM for DLL_ONLY target.
1091
1092	* code/qcommon/common.c: PPC change (from Ryan Gordon).
1093
10942001-02-07  Bernd Kreimeier  <bk@lokigames.com>
1095
1096	* code/unix/unix_main.c: disabled FPE for debug for the time
1097	being (that is, until I can figure out
1098          Program received signal SIGFPE, Arithmetic exception.
1099          RB_BeginSurface (shader=0x449572e0, fogNum=0) at ..//renderer/tr_shade.c:307
1100          307 tess.shaderTime = backEnd.refdef.floatTime - tess.shader->timeOffset;
1101        without any NaN's involved.
1102	TODO: unmask other FPE's selectively (see Mike's Tribes2, no getenv though).
1103
11042001-02-06  Bernd Kreimeier  <bk@lokigames.com>
1105
1106	* SOS: up to date with todays snapshot.
1107	Note: got the date wrong, comment used was bk010205. Duh.
1108
1109	* code/server/sv_snapshot.c (SV_UpdateServerCommandsToClient): below.
1110	* code/server/sv_main.c (SV_ReplacePendingServerCommands): new (SOS).
1111	* code/server/server.h: reliableSent (SOS).
1112
1113	* code/renderer/tr_shade.c (ProjectDlightTexture): see below.
1114	* code/renderer/tr_scene.c: see below.
1115	* code/renderer/tr_public.h: see below (SOS).
1116	* code/renderer/tr_local.h: additive light support (SOS).
1117
1118	* code/qcommon/cm_trace.c (CM_Trace): new tw.sphere.use branch (SOS).
1119
1120	* code/game/g_spawn.c: notta, notq3a entities (SOS).
1121	* code/game/ai_dmq3.c: MAX_ACTIVATEAREAS search (SOS).
1122
1123	* code/client/cl_cgame.c: see below.
1124	* code/cgame/cg_syscalls.c (trap_R_AddAdditiveLightToScene): below.
1125	* code/cgame/cg_syscalls.asm: see below (trap_R_AddAdditiveLightToScene).
1126	* code/cgame/cg_public.h: CG_R_ADDADDITIVELIGHTTOSCENE (SOS).
1127
1128	* code/bspc/l_math.c: new VectorLengthSquared, removed rotate/matrix (SOS).
1129	* code/bspc/bspc.c (BSPC_VERSION): was 2.1e, now?
1130	* code/bspc/be_aas_bspc.c (BotImport_Trace): CM_BoxTrace sig. (SOS).
1131	* code/bspc/aas_file.c (AAS_WriteAASFile): SOS.
1132	* code/botlib/be_aas_sample.c (AAS_DeAllocAASLink): SOS.
1133
1134	* code/unix/unix_main.c (Sys_LoadDll): do not load from installdir
1135	in NDEBUG (confusing relic from old Makefile). Postfix -debug.so
1136	for debug binaries to let both builds coexist.
1137
1138	* code/unix/Makefile: updated install targets and VERSION.
1139
1140	* Win32: build from SOS snapshot.
1141	Note: Unix CR/LF in *.dsw/*.dsp fucks up MSVC++.
1142
11432001-02-02  Bernd Kreimeier  <bk@lokigames.com>
1144
1145	* SOS: all changes up to today.
1146
1147	* code/server/sv_init.c (SV_TouchCGame): added. Also memset
1148	on reallocated client data (SOS).
1149	* code/qcommon/qcommon.h: see below.
1150	* code/qcommon/cvar.c (Cvar_SetLatched): new (SOS).
1151	* code/qcommon/cm_trace.c: more sphere test fixes (SOS).
1152	Note: SOS encryption key expired and updated by MrElusive.
1153
1154	* code/qcommon/cm_patch.c (CM_TraceThroughPatchCollide):
1155	fix from MrElusive, fall through curved corner floors (q3dm17).
1156	Later: also in SOS (so is shadow FPE fix).
1157
1158	* Win32: can't get an unadulterated SOS snapshot to build.
1159	First, fix CR/LF back again (Linux client converts all).
1160	 find . -name '*.ds*' -print
1161	 alias dos2unix='recode ibmpc..lat1'
1162	 alias unix2dos='recode lat1..ibmpc'
1163        Next, find a *.dws that works? Nope, no cigar.
1164
11652001-02-01  Bernd Kreimeier  <bk@lokigames.com>
1166
1167	* Win32: have to update dsp/dsw/etc. files in CVS, too.
1168
1169	* CVS: tag previous version before update
1170         cvs tag id1-27h-loki010131-beta3
1171
1172	* code/game/q_math.c (Q_rsqrt): guard, #ifndef __linux__
1173	for assert (for Win32 build).
1174	TODO: assert replacement for Win32?
1175	* code/q3_ui/ui_qmenu.c: see below.
1176	* code/q3_ui/ui_players.c: see below.
1177	* code/q3_ui/ui_controls2.c: float const with f postfix
1178	Note: Win32 C4305 warning. Somebody at id has been doing
1179	a lot of these recently as well...
1180
1181	* code/cgame/cg_players.c (CG_PlayerShadow): applied fix by
1182	MrElusive, removed FPE hack (player shadows on zero mormals).
1183	Prolly in this evenings' CVS.
1184
1185	* code/server/sv_game.c: new signatures (capsule again).
1186	* code/server/server.h: new signatures (SV_Trace,ClipToEntity).
1187	* code/server/sv_bot.c: new signatures (above).
1188	* code/qcommon/cm_trace.c: a truckload of changes. Math
1189	code added before moved upwards. Capsule traces added all
1190	over the place, old box traces moved in conditional
1191	branches, functions renamed and wrapped. Eliminated some
1192	of the previous' versions deadcode to keep diffs smaller.
1193	TODO: once a point release is out and reasonably bug
1194	TODO  free, remove // bkYYMMDD annotations where SOS related.
1195
1196	* code/qcommon/cm_public.h: new signatures in prototypes.
1197	* code/qcommon/cm_patch.c: dead code re-enabled, new
1198	sections (conditional branches for spheres) added to
1199	several trace functions.
1200	* code/qcommon/cm_local.h (CAPSULE_MODEL_HANDLE): added.
1201	* code/qcommon/cm_load.c (CM_TempBoxModel): capsules.
1202
1203	* code/game/q_shared.h (Q3_VERSION): 1.27i now (new QVM traps).
1204
1205	* code/game/g_syscalls.asm: see below.
1206	* code/game/g_public.h (SVF_CAPSULE): added (SOS). Also
1207	G_ entry poiints for capsule traces.
1208
1209	* code/client/cl_cgame.c: see below.
1210	* code/cgame/cg_syscalls.c: see below.
1211	* code/cgame/cg_syscalls.asm: see below.
1212	* code/cgame/cg_public.h: new capsule trace code (SOS).
1213
12142001-01-31  Bernd Kreimeier  <bk@lokigames.com>
1215
1216	* Win32: test compile (WinCVS, MSVC++). Have to guard isnan.
1217	Note: too much shit going on....
1218
12192001-01-30  Bernd Kreimeier  <bk@lokigames.com>
1220
1221	* CVS: update for patching up (pre-1.27i).
1222
1223	* SOS: new changes (new collision detection primitives).
1224	Now Version 1.27i.
1225	TODO: start testing using DLL's (QVM code is out of sync).
1226
12272001-01-25  Bernd Kreimeier  <bk@lokigames.com>
1228
1229	* SOS: caught up till today (below).
1230	* code/qcommon/cm_trace.c: new functions added: RotatePoint,
1231	TransposeMatrix, CreateRotationMatrix (SOS).
1232	(CM_TransformedBoxTrace): new rotation code used here.
1233
1234	* code/q3_ui/ui_demo2.c: sizeof(extension). SOS.
1235	* code/game/g_cmds.c (G_SayTo): CON_CONNECTED.
1236	* code/game/ai_main.c: HOOK added (SOS).
1237	* code/botlib/be_aas_move.c (AAS_HorizontalVelocityForJump):
1238	correct fix for FPE occuring (SOS).
1239	* code/game/ai_dmq3.c: initmove.viewoffset (SOS).
1240
1241	* code/game/q_math.c: guard asser/isnan with Q3_VM (q3asm).
1242	TODO: define Com_Error based assert macro? NDEBUG?
1243
12442001-01-24  Bernd Kreimeier  <bk@lokigames.com>
1245
1246	* code/server/sv_ccmds.c (SV_MapRestart_f): some debug.
1247	TODO: map_restart 0 disconnects external client in 1.27h?
1248
1249	* code/renderer/tr_image.c (LoadTGA): added some commentary
1250	and dead code based on fixes from GtkRadiant (Leonardo found
1251	flipped TGA's).
1252
12532001-01-23  Bernd Kreimeier  <bk@lokigames.com>
1254
1255	* BETA3: finished testing, ready to upload to id FTP.
1256	Later: neither the FreeBSD beta not the Linux Beta3
1257	uloaded. Beta2 not yet released, and clients get
1258	disconnected with Beta2 and Beta3 on SV_MapRestart_f.
1259
12602001-01-22  Bernd Kreimeier  <bk@lokigames.com>
1261
1262	* code/client/cl_main.c (CL_InitDownloads): undid yesterday (SOS).
1263	* code/botlib/be_aas_sample.c (AAS_DeAllocAASLink): guard print (SOS).
1264	* code/server/sv_client.c (SV_DirectConnect): VM_Call disconnect (SOS).
1265	* code/qcommon/files.c (FS_ListFilteredFiles): trailing slashes (SOS).
1266	* code/game/g_cmds.c (SetTeam): print change (SOS).
1267	Note: the above plus VectorClear(v1) (below) are todays SOS changes.
1268
1269	* code/cgame/cg_players.c (CG_PlayerShadow): ignore bogus
1270	(all zero) planes. This caused FPE in ProjectPointOnPlane.
1271	TODO: why does trace return zero normal planes?
1272	Note: gdb seems totally at loss with vec3_t arrays....
1273
1274	* code/botlib/be_aas_sample.c (AAS_TraceAreas): FPE.
1275	NaN in uninitialized v1 that wasn't supposed to be referred
1276	to in this branch.
1277
1278	* code/botlib/be_aas_move.c (AAS_HorizontalVelocityForJump):
1279	FPE divide by zero (zero zvel, zero t) for jump estimates.
1280
1281	* code/client/cl_main.c (CL_Frame):1856. uivm==NULL on
1282	client after server crashed.
1283	TODO: check that uivm always non-NULL for client.
1284	TODO: do setenv(FX_NO_SIGNALS) to avoid exit errors...
1285
1286	* code/unix/linux_glimp.c (GLW_SetMode): added "Indirect"
1287	Mesa token to software rendering detection. Reworded error
1288	output and added drivername.
1289	TODO: measure framerate instead?
1290
12912001-01-21  Bernd Kreimeier  <bk@lokigames.com>
1292
1293	* SOS: caught up with changes up until today.
1294
1295	* code/server/sv_init.c (SV_SetConfigstring): gentity != NULL
1296
1297	* code/server/sv_client.c: connect to "{all bots" server.
1298	* code/renderer/tr_init.c: JPEG extension on  screenshots
1299	* code/qcommon/files.c: modes based on mods, fs_basegame
1300
1301	* code/q3_ui/ui_demo2.c: dm3 extension (demo names, protocol).
1302
1303	* code/game/g_client.c: savedEvents[] removed.
1304	* code/game/bg_misc.c: event sequence fixes.
1305	* code/client/snd_dma.c (S_StopBackgroundTrack): different use.
1306	* code/client/cl_main.c: demo file handling changed (names).
1307	Also CL_InitDownloads: always next download.
1308
1309	* code/cgame/cg_servercmds.c: cg_thirdPerson.
1310	* code/cgame/cg_weapons.c: see below.
1311	Also CG_ShotgunPattern: different call (seed parameter).
1312
1313	* code/cgame/cg_main.c: see below.
1314	* code/cgame/cg_local.h: new cg_noProjectileTrail Cvar.
1315	* code/cgame/cg_effects.c (CG_BubbleTrail): early out (above).
1316
1317	* code/bspc/l_poly.c (BOGUS_RANGE): increased.
1318	* code/bspc/bspc.c: applied patch up to "2.1e"
1319
13202001-01-18  Bernd Kreimeier  <bk@lokigames.com>
1321
1322	* code/ui/ui_main.c: below.
1323	* code/q3_ui/ui_main.c: UI_HASUNIQUECDKEY comment.
1324	Note: mods have to return qfalse. See Bug #2890 in Fenris.
1325
13262001-01-17  Bernd Kreimeier  <bk@lokigames.com>
1327
1328	* BETA2: finished testing, uploaded to id's FTP for release.
1329
13302001-01-16  Bernd Kreimeier  <bk@lokigames.com>
1331
1332	* CVS: checking in preparation for Beta2.
1333         cvs tag id1-27h-loki010116-beta2
1334
1335	* SOS: new bspc "2.1e". No change on 1.27h.
1336
1337	* TEST: patch-up seems to work fine. No new files have been added
1338	to the linkage (i.e. the ft2/ files now added), so we might not be
1339	feature complete.
1340
1341	* code/game/g_active.c (ClientThink_real): id MISSIONPACK
1342	conditional in addition to the ones I added earlier.
1343	* code/qcommon/files.c: REJECT. Linux hack for userdir threw it off.
1344	* code/qcommon/unzip.c: REJECT. CRC-32 section removed.
1345	Later: unused tempB
1346
1347	* code/q3_ui/ui_syscalls.asm: REJECT. Start/StopBackgroundTrack.
1348	* code/ui/ui_syscalls.asm: REJECT. syscalls ids from 1.27h
1349	as of SOS (floor/ceil - will this ever get straightened out)
1350	* code/win32/win_input.c: REJECT. g_pMouse edit.
1351	* ui/menus.txt: REJECT. Replaced with 1.27h version.
1352        Note: some more due to $SOS$.
1353
1354	* ui/: new scripts.
1355	cinematicmenu.menu, demo_quit.menu, ingame.txt, serverinfo_old.menu
1356        vid_restart.menu
1357
1358	* code/ft2/ttconfig.h: below.
1359	* code/ft2/sfconfig.h: below.
1360	* code/ft2/pstables.h: below.
1361	* code/ft2/psnames.c: below.
1362	* code/ft2/psdriver.h/c: below.
1363	* code/ft2/keys.h: below.
1364	* code/ft2/ftbbox.c: new in 1.27h
1365
1366	* code/cgame/cg_newdraw.c: beware: cg_newDraw.c gets lost in diff easily.
1367
1368	* code/cgame/cg_rankings.c: file removed from SOS.
1369
13702001-01-15  Bernd Kreimeier  <bk@lokigames.com>
1371
1372	* Patch-up: patching up from RC4 to 1.27h current.
1373	No changes since 010112 snapshot.
1374	ln -s sos010112/ work
1375 	diff -urbB sos001204-rc4/ work > work.diff
1376 	ln -s cvs-1.27g/ work
1377 	patch -p0 < work.diff  > work.patch
1378 	find cvs1.27g/ -name '*.rej' -print
1379
1380	* SOS: adding the remaining SOS snapshots to CVS.
1381         cvs import Quake3_sos sos001211 pr1-27g-win32-001211
1382	Note: at this point id warned about repository corruption.
1383	Watch out for the syscall stuff in particular.
1384	 cvs import Quake3_sos sos010104 pr1-27g-win32-010104
1385	 cvs import Quake3_sos sos010108 pr1-27h-win32-010108
1386         cvs import Quake3_sos sos010110 pr1-27h-win32-010110
1387	 cvs import Quake3_sos sos010112 pr1-27h-win32-010112
1388	Note: the first 1.27h might be the public (server only)
1389	beta released, the second one was post release. Beware
1390	of source files added and removed (botlib headers, FT2).
1391	Note: why so late? Don't ask...
1392
13932001-01-08  Bernd Kreimeier  <bk@lokigames.com>
1394
1395	* SOS: id's working up to 1.27h (server side fix for
1396	Guard exploit seems to force earlier release). Updating
1397	CVS (most of the changes are debug code put in and
1398	then disabled, plus some fixes as below). Next patching
1399	up to current SOS.
1400
14012001-01-07  Bernd Kreimeier  <bk@lokigames.com>
1402
1403	* Makefile: need to rework this for multiple platforms.
1404	We also need null/null_vm.c for platforms where we don't
1405	have JIT (assembly emit).
1406
14072001-01-04  Bernd Kreimeier  <bk@lokigames.com>
1408
1409	* code/q3_ui/ui_connect.c (UI_DisplayDownloadInfo): time
1410	information for current (vs. start of download) is wrong,
1411	thus negative 1 "estimated time", as well as transfer
1412	rate just negative downloadSize. Not fixed.
1413
1414	* code/unix/unix_main.c (Sys_ParseArgs): added.
1415	Note: for support/us, to identify builts. This is only
1416	a skeleton right now - if I ever feel the need to support
1417	more than "-v" and "--version" I'll have to flesh this out.
1418
1419	* code/unix/linux_glimp.c (signal_handler): see below.
1420	* code/unix/unix_main.c (Sys_Exit): added an abstraction
1421	layer for exit/_exit/assert/raise issues.
1422	Note: need both a better debug/backtrace handling, and
1423	have to find a way to determine why/where the alleged
1424	startup/exit errors happen...
1425
14262001-01-03  Bernd Kreimeier  <bk@lokigames.com>
1427
1428	* code/game/g_mem.c (G_Alloc): ERR_DROP initiated by
1429	addbot commands for large sv_maxclients, allegedly
1430	caused segfaults in 1.17. Not reproducible.
1431	TODO: recover more gracefully from failure to add bot?
1432
1433	* code/renderer/tr_light.c (R_LightForPoint): Tim Angus
1434	reports a crashbug with nolight maps. Also assertion in
1435	R_SetupEntityLightingGrid, might want conditional there.
1436	DONE: fixed crash on LightForPoint for nolight maps.
1437
1438	* code/qcommon/qcommon.h: NUM_SERVER_PORTS. A feature
1439	request to increase this, or make it more flexible
1440	otherwise (Fenris).
1441	TODO: id decision on more flexible NUM_SERVER_PORTS.
1442
14432001-01-02  Bernd Kreimeier  <bk@lokigames.com>
1444
1445	* code/unix/snapvector.nasm: fixed FPU bit (the current
1446	one had reserved bits off, behavior should not change).
1447	* code/qcommon/vm_x86.c: fixed symbols (below).
1448	* code/unix/ftol.nasm: FPU bits weren't correct (duh).
1449	DONE: shoot-though floor (q3dm5)
1450	DONE: cursor-in-rect off  (TA/Player model selection)
1451	Note: in gdb, "disassemble <funcname>" is your friend.
1452
1453	* code/cgame/cg_public.h:  CG_MEMSET is set to 100. In
1454	cg_syscalls.asm it's 101. If I change it I get Bad trap 100
1455	from the cgame VM code, so the 1.27g "official" VM code
1456	uses it.
1457
1458	* code/unix/linux_common.c: have to fall back to C, the
1459	current assembly is buggy...
1460	* code/unix/Makefile (linux_common.o): added.
1461	Later: also for dedicated. Less portable this way.
1462	TODO: C_ONLY for dedicated on non-i386 only?
1463
1464	* code/qcommon/common.c: do not use memcpy/memset under Linux.
1465	* code/unix/linux_common.c: added Andrew's assembly port.
1466	TODO: C_ONLY for Com_Memset/Memcpy? Conditionals are fubared.
1467
1468	* code/qcommon/vm.c (VM_Init): use Win32 defaults (do not
1469	use DLL's by default). This exposes DLL rounding errors
1470	(damage through floors), and we don't want DLL's used by
1471	default anyway.
1472	TODO: why vm_ui default of 1?
1473
1474	* code/botlib/l_precomp.c (SourceWarning): removed assert.
1475
1476	* code/game/bg_lib.c (acos): defined, but we don't actually
1477	use it except where the cg_syscalls.asm trap is used.
1478
1479	* code/game/g_public.h: missing lots of trap tokens.
1480	* code/game/g_syscalls.c: missing lots of traps.
1481	* code/game/g_syscalls.asm: more inconsistent hooks, were:
1482	 equ floor					-111
1483         equ ceil					-112
1484	 equ testPrintInt			        -113
1485         equ testPrintFloat			        -114
1486	now changed to match cg_syscalls.
1487	Note: fixed this in UI earlier, how did this slip through
1488	the diffs against SOS?
1489
1490	* code/game/g_syscalls.c: no acos hook.
1491	* code/cgame/cg_syscalls.c: no acos hook.
1492	* code/cgame/cg_syscalls.asm: has acos hook as -112
1493	Note: report from Tim Angus. The acos function is in bg_lib.c
1494	which is linked only into ui (not q3_ui). That means we are
1495	using libc acos right now?
1496	Note: QVM traps are negative?
1497
1498	* BSD/Irix: tagged current CVS (not all of the below) as
1499	 cvs tag id1-27g-loki010102-bsd1
1500	for BSD work (Rafael Barrero). Also be used for Irix update.
1501
15022001-01-01  Bernd Kreimeier  <bk@lokigames.com>
1503
1504	* SOS: adding the remaining SOS snapshots to CVS.
1505         cvs import Quake3_sos sos001201-rc3 pr1-27f-win32-001201-rc3
1506         cvs import Quake3_sos sos001202 pr1-27f-win32-001202
1507         cvs import Quake3_sos sos001204 pr1-27g-win32-001204-rc4
1508	This is the codebase to which the Linux branch has been patched
1509	up. I can't verify whether this is identical to the RC4 codebase
1510	as the tag doesn't work (but can check against the ZIP file..)
1511	 cvs import Quake3_sos sos001211 pr1-27g-win32-001211
1512	The above snapshot contains a (post-release?) fix to ui_syscalls
1513	in ui/ and q3_ui/. This change has been used in Linux (Beta1 and
1514	above). At this point, id discouraged further use of SOS due to
1515	repository corruption on their end. No further snapshots were
1516	taken since.
1517
1518	* Fenris: since the release of the Beta1 bugs have been
1519	maintained at http://fenris.lokigames.com/. I am going to
1520	list issues here as they get fixed.
1521
15222000-12-21  Bernd Kreimeier  <bk@lokigames.com>
1523
1524	* code/renderer/tr_font.c: graceful silence with old mods?
1525	* code/botlib/l_precomp.c (SourceWarning): graceful exit if old mod?
1526
15272000-12-20  Bernd Kreimeier  <bk@lokigames.com>
1528
1529	* code/server/sv_ccmds.c (SV_MapRestart_f): see below.
1530	* code/qcommon/vm.c: currentVM is 0x0 in VM_ArgPtr.
1531	In VM_Call, oldVM was NULL - made conditional the
1532	reset of currentVM to oldVM.
1533
15342000-12-18  Bernd Kreimeier  <bk@lokigames.com>
1535
1536	* BETA1: closed Linux beta release. Stripped debug
1537	and release binaries, DLL's, and pak4.pk3. CVS checkin,
1538	will be tagged as
1539            cvs tag id1-27g-loki001218-beta1
1540	Later: id added a pak5.pk3 to the Win32 point release,
1541	added this to the BETA1 best.
1542
1543	* code/qcommon/vm_x86.c: C37F.
1544	* code/unix/snapvector.nasm: C37F.
1545	Note: short of any real evidence, I gamble and use max.
1546	precision (as well as default Linux precision, but NOT
1547	Win32 precision). It seems that precision change is not
1548	really an issue (despite Graeme's claim that the cursor
1549	in the menu was/is off). I also pick the roundiung behavior
1550	that is seemingly used by ANSI and gcc (but possibly not
1551	Win32 _ftol depending on build).
1552
15532000-12-15  Bernd Kreimeier  <bk@lokigames.com>
1554
1555	* code/unix/Makefile: added snapvector.o
1556	* code/unix/unix_shared.c: #if 0'ed the old snapvector code.
1557	* code/unix/snapvector.nasm (Sys_SnapVectorCW): two new
1558	assembly functions from AndrewH that explicitely set the
1559	FPU control word to convert vec3_t, to ensure cross-platform
1560	behavior for both DLL and QVM.
1561
1562	* code/unix/ftol.nasm (Q_ftolC37F): for globals.
1563
1564	* code/unix/unix_main.c: took out global FPU manipulation.
1565	For clarity this should be VM only.
1566	* code/qcommon/vm_x86.c: added prototypes for the ftol
1567	library. To select a specific behavior for the entire VM,
1568	set ftolPtr accordingly.
1569	Later: the GCC ftol function of course affect the stack
1570	(there is no "declspec naked"). The problem seems to be
1571	that the VM never handles the stack in a way compatible
1572	to regular gcc C functions. For some odd reason _ftol seems
1573	to do the right thing under Win32. All 4 control words
1574	implemented at the moment work just fine with the menus.
1575
1576	* code/unix/ftol.nasm: added a small library of "safe" qftol
1577	variations that explicitely set the control word to the
1578	relevant (4) possibilities.
1579
15802000-12-13  Bernd Kreimeier  <bk@lokigames.com>
1581
1582	* code/qcommon/vm_x86.c: an entire day spent trying to nail
1583	the ftol issues. It breaks down like this: id used to use
1584	an unsafe (no setting FPU control word) fistp. That seemingly
1585	caused subtle physics bugs which nobody cared about in 1.17.
1586	They then changed the UI code, and ran into the UI bugs:
1587	menu entries shifted to the right, fonts vanishing. Then
1588	they switched to using _ftol. Then they had to reproduce
1589	the old behavior for the physics code due to public outrage.
1590	My original port used a simple (long)float cast, which gcc
1591	seemingly compiles to code that does OR 0C00 on whatever
1592	current control word (precision unchanged). This breaks the
1593	menus. If I use the unprotected fistp instead, which should
1594	(Linux 037F default) use "nearest/even", then my menus are
1595	correct. That would mean Win32 _ftol in id's compile does
1596	the same, only that would require /qifist or some equivalent
1597	compile flag, which I can't find. Two disassemblies of _ftol
1598	I got from others showed OR 0C00 as part of the default (ANSI)
1599	behavior.
1600
16012000-12-13  Bernd Kreimeier  <bk@lokigames.com>
1602
1603	* code/game/bg_pmove.c (PmoveSingle): trap_SnapVector.
1604	The one true and single call to snap velocity.
1605	Note: bspc/map.c:void SnapVector(vec3_t normal)
1606        qcommon/cm_patch.c:void CM_SnapVector(vec3_t normal)
1607	game/q_shared.h: #define SnapVector(v) {v[0]=((int)(v[0]));...
1608
1609	* code/client/cl_cgame.c: CG_SNAPVECTOR.
1610	* code/server/sv_game.c:  G_SNAPVECTOR.
1611	Note: these go through trap_SnapVector in syscalls.
1612
1613	* code/unix/unix_shared.c (Sys_SnapVector): sticking to
1614	old Linux version for now...
1615	* code/win32/win_shared.c (Sys_SnapVector): changed.
1616	Note: Graeme points out this was changed to fix ftol
1617	artifacts?
1618	TODO: calculate errors for various ftol variants...
1619
1620	* code/qcommon/vm_x86.c: both the old fistp code (1.17)
1621	and the new qftol function apparatently work. Using the
1622	ftol.nasm code for now.
1623
1624	* code/unix/Makefile: DO_NASM and ftol.o.
1625
1626	* code/unix/ftol.nasm (qftol): created from Mike's SoF
1627	replacements, with Andrew's help to satify the VM
1628	stack/call requirements.
1629	TODO: use Q_ftol herein to replace myftol elsewhere.
1630
1631	* code/unix/unix_main.c (Sys_ConfigureFPU): SIGFPE.
1632	TODO: divide by zero in botlib. Disable this for now.
1633	Note: we can't introduce calculation differences between
1634	versions, so fixing these will have to wait.
1635
1636	* code/qcommon/vm_x86.c: two new lines in Win32 branch
1637	missing from Linux assembly in AsmCall:
1638	 mov eax, dword ptr [edi]
1639	 and eax, [callMask]
1640        Added, doesn't seem to affect UI etc. bugs.
1641	Later: no FTOL_PTR, use fistp non-IEEE assembly as in old
1642	version. This seems to work for Q3 and TA, while qftol
1643	(simple cast) does not - for Win32 Graeme says the reverse
1644	is true.
1645
1646	* code/qcommon/vm_x86_old.c: used the old cvs-1.17 version.
1647	Two fixes (Hunk_Alloc, Com_Memcpy), and it works:
1648	  +set vm_game 2 +set vm_ui 2 +set vm_cgame 2
1649        UI, cgame and game w/o apparent problems.
1650
16512000-12-12  Bernd Kreimeier  <bk@lokigames.com>
1652
1653	* code/unix/Makefile: cleanup of redundant flags.
1654	Removed bogus MALLOC_CHECK (note to self: export MALLOC_CHECK_=2).
1655	Also DO_SHLIB_CC on all UI DLL's.
1656	Added and removed DEBUG_VM flag.
1657	TODO: figure out whether Zoid did UI this way intentionally.
1658	Note: this seemingly fixed the botimport problem, although
1659	most of the changes were just redundant CFLAGS removed. Given
1660	our wanker toolchain, should have been more paranoid. All
1661	DLL's can now be used w/o apparent problems.
1662
1663	* code/server/sv_main.c: gvm init.
1664	* code/server/sv_game.c: gvm assertions.
1665	* code/unix/unix_main.c (Sys_LoadDll): print vmMain
1666	Note: top no avail. There is some odd ld/gdb problem here
1667	that prevents examining globals and obfuscates part of
1668	the stack between VM_Call and lower level code, through
1669	G_InitGame. This is not just DLL's being loaded and unloaded.
1670	Wromg flags during build? The vmCvar for "bot_developer"
1671	ends up overlapping global botimport in memory, which
1672	thus zero-fills part of the function pointer table.
1673
1674	* code/server/sv_bot.c (SV_BotInitBotLib): this (by way of
1675	GetBotLibAPI) is responsible for setting botimport, which,
1676	if using the game DLL, is not properly set up. Called in
1677	SV_Init().
1678
1679	* code/game/q_shared.c: Q_strncpyz does zero padding (duh).
1680	Note: calls strncpy, which does a zero fill up to destsize.
1681	If destsize exceeds memory size, zero padding will overwrite
1682	adjacent memory. Suspicion was this happend to botimport.
1683
1684	* code/qcommon/cvar.c: possible problem in Q_strncpyz call.
1685
1686	* code/botlib/be_ai_weap.c (weaponinfo_fields): made this static.
1687	Note: it seems that the "number" string got replaced by
1688	 p def.fields[0]
1689         {name = 0x40000000 "\177ELF\001\001\001", offset = 2, type = 50, ..
1690        Memory corruption?
1691
1692	* code/game/inv.h (WEAPONINDEX_GAUNTLET): defined here.
1693	* botfiles/weapons.c (Gauntlet): the baseq3/qagamei386.so parser
1694	breaks here:
1695	 number				WEAPONINDEX_GAUNTLET
1696	* code/botlib/l_precomp.c (SourceWarning): added assertion to
1697	trap botlib parsing problem..
1698
1699	* RC1: for beta test. Using my own vm/ui.qvm files in this case.
1700	TODO: Setup with nouninstall.
1701	TODO: fix game DLL/ botlib setup problem (so all DLL's work)
1702	TODO: SIGFPE
1703	TODO: profile?
1704
1705	* code/unix/Makefile (ai_vcmd.o): added to game DLL linkage.
1706	How the fuck did this happen?
1707	DONE: "qagamei386.so: undefined symbol: BotVoiceChat_Defend"
1708
1709	* TEST:  +set vm_ui 2 (vm_x86, not interpreter). Breaks!
1710	Further: qagame had undefined, but seemingly gets reloaded
1711	second try (I hate the Linux linker).
1712	* TODO: never reload fail DLL, abort engine
1713
1714
17152000-12-11  Bernd Kreimeier  <bk@lokigames.com>
1716
1717	* TEST: recompile QVM/DLL and executable to test new UI code.
1718	The UI QVMs from the paks still do not work.
1719
1720	* SOS: changes in UI code!
1721	* code/q3_ui/ui_public.h: this file is deprecated
1722	Note: e.g. it does not contain the background track calls.
1723	* code/ui/ui_public.h: the uiImport_t enum here determines
1724	the values.
1725	* code/ui/ui_syscalls.asm: same as q3_ui now, were:
1726         equ floor					-111
1727	 equ ceil					-112
1728	* code/q3_ui/ui_syscalls.asm: these are now switched, were:
1729	 equ trap_S_StartBackgroundTrack			-63
1730         equ trap_S_StopBackgroundTrack				-64
1731	The new values match the ui/ equivalent. Also, floor (-108)
1732	and ceil (-109) are different in ui/.
1733
1734	* CVS: going to check in this snapshot and tag it as
1735	    cvs tag id1-27g-loki001209-rc4
1736	Presumed equivalent to SOS tag "1.27g RC4" (master). As I can't
1737	obtain the tagged code using SOS (neither Win32 nor Linux client)
1738	I can only guess.
1739
1740	* TEST: use my own VM code, ion baseq3/vm/*.qvm and missionpack/vm/.
1741	This works - in other words, the menu bug seems in the UI code, and
1742	is fixed in my codebase.
1743
1744	* TEST: make release.
1745	Note: I can postpone DLL specific problems. Bad performance is not
1746	as important as outright bugs. Thus the UI QVM issue is the only
1747	one that stops me from creating an RC.
1748	TODO: Q3 UI QVM code from pak file does not work (neither does TA).
1749	TODO: sound with video playback still awful. Threaded sound, I guess.
1750	TODO: ERROR: couldn't open demos/DEMO002.dm3.dm_48 (same demo001.dm3.dm_48)
1751
1752	TODO: do not show Q3 demos in TA menu?
1753	TODO: new demos for Q3? Or at least error message?
1754
1755	* code/game/bg_lib.c: itrinsics excluded by Q3_VM (another -O
1756	compile). Uninitialized variable.
1757	* code/unix/Makefile: -O for uninit on patched code. Also shortcuts.
1758	TODO: DC_ONLY seems an obsolete flag, used in Makefiles, not source.
1759
1760	* TEST: +set sv_pure 0 +set vm_game 1 +set vm_cgame 1 +set vm_ui 0
1761	Turns out that the pak0.pk3 UI QVM code is seemingly broken in TA
1762	and Q3, but my UI DLL is not. In reverse, the QVM game/cgame for
1763	Q3 seems to work quite well (including bots). The TA game/cgame
1764	also works, including botlib init.
1765	TODO: BotLib Init using game DLL gives:
1766	TODO:  Error: file weapons.c, line 38: unknown structure field number
1767        TODO:  Fatal: couldn't load the weapon config
1768        TODO:  Error: BotLoadMap: bot library used before being setup
1769
1770	* TEST: checked the rc4winstlr.zip CD tree against
1771	my test install. baseq3/pak4.pl3 and missionpack/pak0.pk3
1772	are identical, but I finally recognized that there was
1773	a missionpack/pak1.pk3 not in the final install - left over
1774	from an earlier update from id. Doesn't seem to affect the
1775	DLL based runs at all.
1776	Note: I still do not have the final CD snapshot Robert
1777	promised me mid last week, they haven't even fixed the
1778	FTP account they took down. Communication with id is as
1779	abyssmal as ever.
1780
17812000-12-08  Bernd Kreimeier  <bk@lokigames.com>
1782
1783	* TEST: running with RC4 data files.
1784	TODO: "bot library used before setup" (Q3+TA)
1785	TODO: Q3 old mods wreak havoc (graceful bounce)
1786	TODO: supress "FreeType code not available" in renderer
1787	TODO: can't move in Q3
1788	TODO: items flicker in Q3
1789	TODO: no decals in Q3
1790	TODO: VM UI code still broken (Q3+TA)
1791	TODO: sound code is awful
1792	TODO: video playback inferior to earlier builds
1793
1794	* code/q3_ui/ui_local.h: prototype trap_VerifyCDKey(..)
1795	* code/game/g_active.c ( StuckInOtherClient): TA only.
1796	* code/cgame/cg_draw.c: 4x unbalanced `#endif' - from patch?
1797	* code/null/null_client.c (CL_CDKeyValidate): dummy added.
1798	* code/qcommon/common.c: Q_acos missing, changed conditionals
1799
1800	* code/qcommon/vm_x86.c: unreacheable _asm instruction that
1801	gcc doesn't quite like... #if 0'ed for now
1802 	TODO: understand _asm { mov eax,[ebx] }, fix it for gcc
1803
1804	* TEST: compile...
1805
1806	* code/ui/ui_main.c: full REJECT. Manual merge.
1807	Note: preserved debug_protocol lines, who knows what it's good for.
1808
1809	* code/qcommon/files.c: REJECT. SafeMode, demo server FS_Restart.
1810
1811	* code/client/snd_mem.c: REJECT: $SOS$.
1812	* code/client/snd_dma.c: REJECT: $SOS$.
1813	* code/client/cl_cin.c: REJECT. com_timescale, $SOS$.
1814
1815	* code/cgame/cg_draw.c: REJECT. Lots, but virtually all either
1816	float postfix (on some, not all places), or #ifndef MISSIONPACK
1817	that I had already put in during -Werror (conditional unused).
1818
1819	* code/cgame/cg_consolecmds.c: REJECT. id commented unused code
1820	that I had #if 0'ed earlier.
1821
1822	* code/game/: three REJECT for $SOS$.
1823	* code/botlib/: lots REJECT for $SOS$.
1824
1825	* Patch: patching up from demo source.
1826	ln -s sos001204-rc4 work
1827 	diff -urbB sos001122-demo/ work > work.diff
1828 	ln -s cvs-1.27b/ work
1829 	patch -p0 < work.diff  > work.patch
1830 	find cvs1.27b/ -name '*.rej' -print
1831
1832	* CVS: going to check in this snapshot and tag it as
1833	    cvs tag id1-27b-loki001208-demo
1834	Then patching up to RC4, as of sos001204-rc4 (no changes since,
1835	should be equivalent to SOS tag "1.27g RC4" (raduffy), i.e. master.
1836
1837	* TEST: installed demota/ from Win32 distribution. Binary
1838	fails claiming "Corrupted pak0.pk3". Abandoned.
1839	Note: a Linux demo for Q3TA has no priority. Most important is
1840	the Q3A point release in time for Q3TA hitting shelves, followed
1841	by testing for Q3TA. The source is in CVS and tagged (see above)
1842	in case a demo matching the released files has to be provided
1843	later.
1844
1845
18462000-12-07  Bernd Kreimeier  <bk@lokigames.com>
1847
1848	* TEST: compile and link - succeeds.
1849
1850	* code/ui/ui_main.c: UI_StopServerRefresh now uaws.
1851	New unused variables.
1852
1853	* code/unix/unix_main.c: added  Sys_LowPhysicalMemory() stub.
1854	TODO: write Linux equivalent to GlobalMemoryStatus.
1855
1856	* code/qcommon/common.c: Com_Memset/Com_Memcpy. Neither assembly
1857	nor C versions included if not on Win32 i386.
1858	TODO: using/porting assembly?
1859
1860	* code/qcommon/files.c: unused variable.
1861	TODO: fs_scrambledProductId unused if 0 for now.
1862	Note: -DFS_MISSING for id's pak cleanup, not used.
1863
1864	* TEST: compile and link - fails.
1865
1866	* code/macosx/Client/Makefile.postamble: empty ORIG.
1867	* code/macosx/Client/Makefile.preamble: ORIG. $(BOTLIB_OBJS) added.
1868
1869	* code/server/sv_client.c: ORIG. Com_Memset.
1870	* code/renderer/tr_shader.c: ORIG. Com_Memset, CIN_Shader.
1871	* code/qcommon/vm_x86.c:  ORIG. Com_Memcpy.
1872	* code/qcommon/unzip.c: REJECT. Com_Memcpy, $SOS$.
1873	* code/qcommon/qcommon.h: ORIG. PROTOCOL 47, plus Sys_LowPhysicalMemory.
1874	* code/qcommon/md4.c: Com_Memset,Com_Memcpy (ORIG).
1875	* code/qcommon/files.c (Sys_ConcatenateFileList): REJECT.
1876	Our additons threw it off, plus $SOS$.
1877	* code/qcommon/common.c: they fixed same unused variables (REJECT).
1878
1879	* code/ui/ui_shared.c: additions (ORIG).
1880	* code/ui/ui_gameinfo.c: COM_Compress added (ORIG).
1881	* code/ui/ui_atoms.c: print statements removed (ORIG).
1882	* code/ui/ui_main.c (UI_DoServerRefresh): REJECT on comment edit...
1883
1884	* code/game/g_cmds.c (Cmd_VoiceTaunt_f): logic changed heavily. ORIG.
1885	* code/game/q_shared.h: Q3_VERSION "Q3 Team Arena Demo 1.27b"
1886	plus Com_Memset, Com_Memcpy, CIN_shader, COM_Compress.
1887	* code/game/g_main.c: Cvar change only
1888	* code/game/ai_dmq3.c: $SOS$.
1889
1890	* code/client/snd_mix.c: Com_Memset
1891	* code/client/client.h: additions (ORIG).
1892	* code/client/snd_mem.c: see below.
1893	* code/client/snd_dma.c: $SOS$ (CVS keyword).
1894
1895	* code/client/cl_cin.c: they removed unused (REJECT).
1896	* code/cgame/cg_servercmds.c: ORIG. compress, noTaunt etc.
1897	* code/cgame/cg_main.c: ORIG. Conditonal branch, COM_Compress.
1898	* code/cgame/cg_consolecmds.c: ORIG. Cvar values changed.
1899	* code/cgame/cg_draw.c (CG_DrawTeamBackground): ORIG.
1900	no reject but *.orig file created. I just mark spots were
1901	code changed after verifying the patch succeeded.
1902
1903	* code/cgame/cg_event.c: fixed reject (REJECT).
1904	* code/botlib/: all *.rej here due to SOS/CVS $Keyword$.
1905	TODO: preserve SOS comments/rev history somehow.
1906
1907	* Patch: patching up to demo source.
1908	ln -s sos001122-demo work
1909 	diff -urbB sos001119/ work > work.diff
1910 	ln -s cvs-1.26/ work
1911 	patch -p0 < work.diff  > work.patch
1912 	find cvs1.26/ -name '*.rej' -print
1913
1914	* CVS: going to check in this snapshot and tag it as
1915	  cvs tag id1-26w-loki001207
1916	to prepare for upgrading to RC4. I have already made
1917	many more changes than I wanted to w/o getting any
1918	closer to pinpointing the problem, I might as well
1919	patch up to id's more current sources.
1920
1921	* code/botlib/be_interface.c: initialize by memset. Turns
1922	out that this fails in Export_BotLibSetup on BotSetupWeaponAI
1923	loading "weapons.c" (from the pak, presumably) with an unknown
1924	structure field number. Mismatch of datafiles vs. source again.
1925
1926	TODO: id replaced memsets in later source.
1927	TODO: have memsets on all exports and imports.
1928
1929	* SOS: RC4 source should be tagged "1.27g RC4" (raduffy).
1930	Unfortunately the Linux client doesn't care a bit. Show
1931	History does work if from/to date differ by at least a
1932	day, and it shows the tag on code/ (only that subtree),
1933	but recursive get aborts halfway.
1934	Manual: http://www.sourcegear.com/SOS/Doc/
1935
19362000-12-06  Bernd Kreimeier  <bk@lokigames.com>
1937
1938	* TEST: accepting missing shaders now. No bots, but I can
1939	actually enter the game and play (more than can be said for
1940	classic Q3 right now).
1941	TODO: Error: BotStartFrame: bot library used before being setup
1942
1943	* code/renderer/tr_shader.c: took out assertion for now...
1944	* TEST: now missiopack/cgame loads
1945	TODO: tr_shader.c:2275: R_FindShaderByName: failed
1946	TODO: searches ui/assets/3_cursor2.TGA, has ui/assets/3_cursor3.tga
1947
1948	* code/unix/Makefile (MPCGOBJ): ui_shared.o (duh).
1949	DONE: /cgamei386.so: undefined symbol: PC_Float_Parse
1950
1951	* code/botlib/be_ai_goal.c: initialize campspots etc. This
1952	might or might not fix this one (didn't get back to gdb due
1953	to mouse-only navigation).
1954	DONE: 0x80d1d5b in BotFreeInfoEntities () at be_ai_goal.c:447
1955
1956	* TEST: this time with missionpack/cgame loading... noy
1957	TODO: TA menu blocked after end of intro movie
1958	TODO: console in_mouse 1 doesn't grap pointer even on vid_start?
1959
1960	* code/cgame/cg_newdraw.c: -Werror.
1961	* code/unix/Makefile (MPCGOBJ): cg_newdraw.o was missing (duh).
1962	DONE: missionpack/cgamei386.so: undefined symbol: CG_OwnerDrawVisible"
1963
1964	* code/ui/ui_shared.c:1309 assign after bail on NULL.
1965	DONE: segfault in Item_SetFocus (item=0x0, x=0, y=0)
1966
1967	* TEST: new set of DLL's (this time hopefully correct).
1968	All baseq3/ DLL's load, as does the missionpack/ UI DLL.
1969	The menus now work in both (TA seems mouse-only on everything
1970	but "Quit"). Segfault on delayed TA "Quit" (stack fubared):
1971	#5  0x809fc28 in VM_Call (vm=0x88408a0, callnum=3) at ..//qcommon/vm.c:617
1972	#6  0x805aafc in CL_KeyEvent (key=9, down=qtrue, time=128644) cl_keys.c:1194
1973	TODO: TA menu's w/o mouse?
1974	TODO: Win32 goes submenus but does not unfold
1975	TODO: Linux does not go submenus
1976
1977	* code/ui/ui_main.c: see below.
1978	TODO: LCC gets fits -  operands of = have illegal types
1979	TODO: 'pointer to const unsigned char' and 'pointer to const char'
1980	* code/ui/ui_shared.c: see below.
1981	* code/ui/ui_gameinfo.c: see below.
1982	* code/ui/ui_atoms.c: see below.
1983	* code/game/g_bot.c: more cruft.
1984	* code/cgame/cg_draw.c: loads of functions modified for
1985	MISSIONPACK that aren't used at all for MISSIONPACK anymore.
1986	Development relics.
1987
1988	* code/cgame/cg_consolecmds.c: -Werror.
1989	Note: due to Makefile error never ever compiled...
1990
1991	* code/unix/Makefile: fixed various dependency errors
1992	for game and ui library.
1993	TODO: create a new Makefile with patsubst and rules.
1994	TODO: why C_ONLY in the i386 dedicated server?
1995
1996	* code/unix/unix_main.c: use dlerror() excessively.
1997	Littered more unused DLL related functions with assert(0).
1998	TODO: clean up Sys_Load/UnloadDll (a real mess)
1999	TODO: remove Zoid code cruft (unused per-DLL functions)
2000
2001	* code/game/bg_misc.c: changed G_Printf for Com_Printf.
2002	This was undefined in baseq3/uii386.so preventing loading.
2003
2004	* TEST: +set sv_pure 0 +set vm_game 0 +set vm_cgame 0 +set vm_ui 0
2005	Note: so far I used only the game DLL..  duh.
2006	UI DLL fails to load: missing G_Printf.
2007
2008	* code/unix/Makefile:  -DMALLOC_CHECK in addition to
2009	the -DZONE_DEBUG I have used since switching to calloc.
2010	Using MALLOC_CHECK=1 for now, might use 2 if something
2011	comes up.
2012
2013	* code/renderer/tr_init.c (GL_SetDefaultState): it does get
2014	called, but does not show up in the log.
2015
2016	* TEST: tried executing a script - get bounced.
2017	TODO: is there any way to jump into a map?
2018	TODO: cl_cinematics 0 (supress all fullscreen RoQ)
2019	Next: used r_logfile 200 in Win32 (RC4) and Linux.
2020	There is a buckload of setup code seemingly not done
2021	at all in Linux? Either that, or logging is enabled
2022	with a delay in Linux.
2023
2024	* code/unix/linux_glimp.c: fixed autorepeat (H2/Fakk2 way).
2025
20262000-12-05  Bernd Kreimeier  <bk@lokigames.com>
2027
2028	* code/renderer/tr_mesh.c: added assert there.
2029	* TEST: menus and in-game drawing are just as they were with
2030	the initial SOS001119 port. In addition:
2031	  R_AddMD3Surfaces: no such frame 0 to -2147483477
2032	     for 'models/players/xaero/upper.md3'
2033          R_AddMD3Surfaces: no such frame -2147483477 to 171
2034	  R_AddMD3Surfaces: no such frame 171 to -2147483498
2035        ad nauseam (used as my player model).
2036	Triggered: haveing a trRefEntity_t *) 0x41dbbd00 with
2037	frame = -2147483477. Might be a red herring (PRINT_DEVELOPER),
2038	ignore for now.
2039
2040	* code/ui/ui_main.c: missing return.
2041	* code/ui/ui_shared.c: excess byte in initializer (which gcc
2042	did not caught, but LCC did). Also LCC complains about
2043	missing returns, but gcc doesn't (neither says unreacheable
2044	code though). If necessary (MsVC?) guard with Q3_VM.
2045
2046	* code/q3_ui/ui_ingame.c: see below.
2047	* code/q3_ui/ui_atoms.c: voidfunc_f. LCC warns about conversion
2048	from `pointer to void' to `pointer to void function(void)'
2049	being compiler dependent. Casting NULL. Guess what, doesn't fix
2050	it either.
2051	TODO: do not use these cursed scripts to generate VM code,
2052	we do not have proper rules for LCC/q3asm, thus the files never
2053	get updated.
2054
2055	* code/unix/Makefile: for paranoia's sake recreated the 1.17
2056	compile for the UI DLL (where only q_shared/math were actually
2057	compiled as DO_SHLIB_CC.
2058	Later: switched to different gcc.
2059
2060	* STATIC: remaining problems are vmMain (same entry point for all
2061	DLL's), could use cgMain, uiMain and gMain here for HARD_LINKED.
2062	Note: I don't think id has used this in ages.
2063	Plus all the collisions in *_syscalls.c, which simply can't be
2064	fixed cheaply. None is the superset of 2 others, neither seems
2065	w/o overlap to others. Full stop.
2066
2067	* code/botlib/be_aas_move.c: see below.
2068	* code/game/ai_dmq3.c: VEC_UP/DOWN, MOVEDIR_UP/DOWN now static.
2069	See also game/g_utils.c for existing static duplicates.
2070
2071	* code/game/q_shared.h: #define stricmp strcasecmp
2072	* code/unix/Makefile:  no mo'  -Dstricmp=strcasecmp, see q_shared.h
2073	Also: no mo'  -I/usr/include/glide, no FX
2074	TODO: are we building against system GL headers? ../Mesa/?
2075
2076	* code/q3_ui/ui_atoms.c: comment on duplication
2077	* code/cgame/cg_drawtools.c: use UI/CGAME_HARD_LINKED on UI duplicates
2078	TODO: does this UI_ code in cg_drawtools/ui_atoms belong into ui_shared?
2079
2080	* code/unix/Makefile: use -DQ3_STATIC
2081	* code/game/q_shared.h (*_HARD_LINKED): trigger on Q3_STATIC
2082	Later: collision between UI and CGAME is still there. This fixed
2083	the Com_Error, Com_Printf issues though
2084
2085	* code/unix/Makefile ($(B)/q3static/ai_vcmd.o): this file was
2086	missing, hence undefined symbol.
2087	($(B)/baseq3/game/ai_vcmd.o): same here.
2088	($(B)/missionpack/game/ai_vcmd.o): same here.
2089
2090	* STATIC: cg_syscalls.c, g_syscalls.c and ui_syscalls.c alias.
2091	Multiply defined symbols:
2092	 Com_Error, Com_Printf
2093         VEC_UP, VEC_DOWN
2094	 MOVEDIR_UP, MOVEDIR_DOWN
2095	 vmMain
2096	 dllEntry
2097	 PASSFLOAT
2098	 trap_Error
2099	 trap_Milliseconds
2100	 trap_Argc
2101	 trap_Argv
2102         trap_FS_FOpenFile
2103	 trap_FS_Read
2104	 trap_FS_Write
2105         trap_FS_FCloseFile
2106         trap_FS_GetFileList
2107	 trap_R_RegisterModel
2108	 trap_R_RegisterSkin
2109	 trap_R_RegisterFont
2110	 trap_R_RegisterShaderNoMip
2111	 trap_R_ClearScene
2112	 trap_R_AddRefEntityToScene
2113	 trap_R_AddPolyToScene
2114         trap_R_AddLightToScene
2115	 trap_R_RenderScene
2116	 trap_R_SetColor
2117         trap_R_DrawStretchPic
2118	 trap_R_ModelBounds
2119	 trap_UpdateScree
2120         trap_S_StartLocalSound
2121	 trap_S_RegisterSound
2122	 trap_Key_IsDown
2123	 trap_Key_GetCatcher
2124	 trap_Key_SetCatcher
2125	 trap_GetGlconfig
2126         trap_PC_AddGlobalDefine
2127	 trap_PC_LoadSource
2128	 trap_PC_FreeSource
2129	 trap_PC_FreeSource
2130	 trap_PC_ReadToken
2131	 trap_PC_SourceFileAndLine
2132	 trap_S_StopBackgroundTrack
2133	 trap_S_StartBackgroundTrack
2134	 trap_RealTime
2135	 trap_CIN_PlayCinematic
2136	 trap_CIN_StopCinematic
2137	 trap_CIN_RunCinematic
2138	 trap_CIN_DrawCinematic
2139         trap_CIN_SetExtents
2140	 trap_MemoryRemaining
2141         trap_SendConsoleCommand
2142	 trap_Cvar_Register
2143	 trap_Cvar_Update
2144         trap_Cvar_Set
2145  	 trap_Cvar_VariableValue
2146         trap_Cvar_VariableStringBuffer
2147	 trap_RealTime
2148	 trap_SnapVector  // used in game/bg_*.c, needs conditional
2149	More aliasing between ui_atoms.c and cg_drawtools.c:
2150         UI_DrawBannerString
2151         UI_ProportionalStringWidth
2152	 UI_ProportionalSizeScale
2153        Undefined symbol: ai_team.o: In function `FindHumanTeamLeader':
2154         ai_team.c:1899: undefined reference to `BotVoiceChat_Defend'
2155	Note:
2156
2157	* code/game/g_main.c: unused.
2158	* code/game/g_arenas.c: unused.
2159	* code/game/ai_team.c: init.
2160	* code/game/ai_dmnet.c: /* in comment (odd).
2161	Note: why do these come up now but not earlier?
2162	TODO: the make dependencies might target wrong files.
2163
2164	* code/unix/Makefile (TARGETS): added q3static.
2165	Note: this is baseq3/
2166
2167	* TEST: +set r_logfile 100. It seems that the addition of
2168	code (add an assertion etc.) changes the behavio of the binary.
2169	The intro cinematics code seems to suffer first - didn't play,
2170	then played, then (another assert added) doesn't play. Watch
2171	out for (missionpack):
2172	  UI_CIN_PlayCinematic
2173          SCR_PlayCinematic( mpintro.roq )
2174          trFMV::play(), playing mpintro.roq
2175	Also fails to exit cleanly: break gives
2176	 #0  0x401919ee in __select ()
2177         #1  0x400bbcb8 in __DTOR_END__ ()
2178         #2  0x4004baa1 in _XSend ()
2179         #3  0x452b009f in GLXRenderFlush ()
2180         #4  0x804ce0c in _XRead ()
2181         #5  0x40680813 in ?? ()
2182	Stack is corrupted.
2183        Note: ~/.q3a/gl.log
2184	TODO: write per-frame files (see Heretic2)
2185	TODO: add Heretic2 QGL (more detail)
2186
2187	* code/unix/linux_qgl.c (QGL_EnableLogging): fixed countdown
2188	(i.e. propagated changes from win32/, see Fakk2).
2189
2190	* code/unix/linux_glimp.c: fixed QGL_EnableLogging argument
2191	to avoid cast error (always qfalse).
2192
2193	* code/unix/Makefile (DEBUG_CFLAGS): use ZONE_DEBUG.
2194
2195	* code/qcommon/common.c: replaced malloc with calloc calls.
2196
2197	* code/q3_ui/ui_local.h: have to use ui/ui_public.h
2198	* code/cgame/cg_servercmds.c: requires ../ui/menudef.h
2199
2200	* code/cgame/cg_consolecmds.c: ui/ui_shared.h is unique.
2201	* code/q3_ui/ui_public.h: make sure this won't be compiled.
2202	* code/client/client.h: we have to include ui/ui_public.h.
2203	Note: id is obviously maintaing only the ui/ headers, so the
2204	headers in q3_ui/ are deprecated.
2205
2206	* code/renderer/tr_shader.c: added assertions (see Ryan's Fakk2
2207	problems with missing shaders).
2208
2209	* code/game/g_cmds.c: below.
2210	* code/game/ai_vcmd.c: below.
2211	* code/game/ai_team.c: below.
2212	* code/game/ai_dmnet.c: below.
2213	* code/game/ai_dmq3.c: below.
2214	* code/game/ai_chat.c: below.
2215	* code/game/ai_cmd.c: ../../ui/menudef.h (new Q3TA script directory).
2216
2217	* code/cgame/cg_newdraw.c: make sure it won't compile w/o MISSIONPACK.
2218
2219	* code/cgame/cg_servercmds.c: below.
2220	* code/cgame/cg_event.c: below.
2221	* code/cgame/cg_consolecmds.c: below.
2222	* code/client/keys.h: below.
2223	* code/client/client.h: below.
2224	* code/q3_ui/ui_local.h: include from ../q3_ui/ not ../ui/.
2225	Note: id seems to intentionally use the header from the new ui/.
2226
2227	* Makefile: checked -I$(UIDIR), there is no such. That means all
2228	files include directly, which means all (including Q3) are using
2229	the new ui/ headers.
2230
22312000-12-04  Bernd Kreimeier  <bk@lokigames.com>
2232
2233	* RC4: released as 362101115 Dec  4 11:40 TA_Q3A_RC4.zip
2234
2235	* TEST: the corrupted menu problem is back :-(. Looks like I am in
2236	for a static link next.
2237
2238	* code/unix/Makefile (clean2): fixed (not all new OBJ covered).
2239	* code/q3_ui/ui_teamorders.c: -Werror.
2240	* code/q3_ui/ui_team.c: -Werror.
2241	* code/q3_ui/ui_qmenu.c (Bitmap_Draw): -Werror.
2242	* code/q3_ui/ui_mods.c (UI_Mods_LoadModsFromFile): unused. -Werror.
2243	* code/q3_ui/ui_controls2.c: -Werror.
2244	* code/q3_ui/ui_atoms.c: -Werror
2245	* code/null/null_client.c: -Werror.
2246	* code/unix/linux_joystick.c: -Werror.
2247	* code/unix/linux_glimp.c: -Werror.
2248	* code/unix/linux_qgl.c: -Werror.
2249	* code/unix/unix_shared.c: -Werror.
2250	* code/unix/unix_net.c: -Werror.
2251	* code/unix/linux_local.h: added missing prototypes.
2252	* code/unix/unix_main.c: -Werror. Includes linux_local.h
2253	* code/jpeg-6/jdmainct.c: see below.
2254	* code/jpeg-6/jcmainct.c: variables called "main" (*moan*)
2255	* code/jpeg-6/jcdctmgr.c (forward_DCT): -Werror.
2256	* code/botlib/l_script.c (PS_ReadLiteral): -Werror
2257	* code/botlib/l_precomp.c (PC_AddBuiltinDefines): -Werror.
2258	* code/botlib/be_interface.c: -Werror.
2259	* code/botlib/be_aas_reach.c: -Werror
2260	* code/botlib/be_aas_cluster.c: -Werror
2261	* code/game/be_aas.h: -Werror.
2262	Note: MrElusive accumulates a lot of code history in nested comments,
2263	which gcc doesn't like at all. #if 0'ed to avoid.
2264	* code/qcommon/vm_interpreted.c: -Werror.
2265	* code/qcommon/unzip.c: -Werror.
2266	* code/cgame/cg_servercmds.c: -Werror.
2267	* code/cgame/cg_main.c: -Werror.
2268	* code/cgame/cg_drawtools.c: -Werror.
2269	* code/game/bg_misc.c: -Werror.
2270	* code/game/be_ai_move.h (bot_avoidspot_s): added.
2271	* code/botlib/be_ai_move.c: removed typedef struct bot_avoidspot_s
2272	* code/client/snd_mix.c: -Werror.
2273	* code/qcommon/md4.c: -Werror.
2274	* code/qcommon/common.c: -Werror.
2275	* code/client/cl_keys.c: -Werror.
2276	* code/client/cl_cin.c: -Werror, init local variables.
2277	* code/unix/Makefile: -Werror. need -O for -Wall for uninitialized
2278	Note: the above is the list of files that got touched during a pass
2279	with -g -O -Werror -Wall flags (in the hope of finding uninitialized
2280	memory and ambiguous statements). Most of the above are simply
2281	unused variables (or even code).
2282
2283	TEST: RC3 data files, but DLL's.
2284	TODO: TA gets stuck in initial sound, doesn't play cinematics (sometimes)
2285	TODO: Q3 intro movie looses sound after Sarge gets teleported
2286	TODO: Q3 ingame renders world, weapon, muzzleflash, hud, can shoot,
2287	TODO:  but no movement, hud background is fubared.
2288
2289	* code/cgame/cg_main.c: cg_singlePlayerActive
2290
2291	* code/q3_ui/ui_login.c: doesn't seem to be used?
2292	* code/game/g_rankings.c (G_RankRunFrame): doesn't seem to be used.
2293	* code/q3_ui/ui.sh: disabled this.
2294	* code/q3_ui/q3_ui.sh: changed include path to ../q3_ui/ (duh).
2295
2296	* code/game/game.sh: changed include path to ../q3_ui/ which
2297	is not in the Win32 batch file.
2298	* code/cgame/cg_rankings.c: this does not seem to be included.
2299	* code/cgame/cgame_ta.sh: added -DCGAME. Also added cg_syscalls.c
2300	to build (also missing in Win32).
2301
2302	* code/cgame/cgame.sh: added -DCGAME (see cgame.bat). Also
2303	changed include path to ../q3_ui/ which is not in the Win32
2304	batch file.  Also added cg_syscalls.c to build (missing in
2305	Win32).
2306
23072000-12-01  Bernd Kreimeier  <bk@lokigames.com>
2308
2309	* RC3: released as of sos001201 / Q3 1.27f
2310
2311	* code/unix/Makefile: more fixes with clean build. The
2312	changes made fix the menu rendering for Q3 but not TA.
2313	Ingame graphics still broken.
2314
2315	* code/game/game_ta.sh: created. Use game_ta.q3asm here.
2316	* code/game/game.sh: no -DMISSIONPACK
2317	* code/game/game_ta.q3asm: CR/LF, /.
2318
2319	* code/cgame/cgame_ta.sh: created. Use cgame_ta.q3asm here.
2320	* code/cgame/cgame.sh:  no -DMISSIONPACK. No cg_newdraw, ui_shared.
2321	* code/cgame/cgame.q3asm:  No cg_newdraw, ui_shared.
2322	CR/LF, /, cg_newDraw, and the output path/name.
2323
2324	* code/q3_ui/q3_ui.q3asm: output to ui not q3_ui...
2325
2326	* code/cgame/cg_event.c: cg_singlePlayerActive used here.
2327	TODO: guard by MISSIONPACK
2328	* code/cgame/cg_local.h: named q3print_t enum. Cvar
2329	cg_singlePlayerActive for both Q3 and TA.
2330
2331
2332	* code/unix/Makefile: cleanly separate B/baseq3/ and
2333	B/missionpack/ subtrees during build. While new and old
2334	UI are in separate directories, the cgame/ and game/
2335	are shared, with conditional -DMISSIONPACK compile
2336	and different files includeds (cd_draw, cg_newdraw).
2337	That means twice the number of targets (3 DLL's, 3 QVM's,
2338	times two), and different build rules.
2339	TODO: carefully check Win32 build for (other) conditionals
2340	TODO: carefully check Win32 build for link lists
2341
2342	* CVS:  ui/, code/ui, botfiles/ and subdirectories are added.
2343	The code/macosx/ directory turned out to be a real pain that
2344	had to be edited manually, throwing out CVS/ directories in
2345	the tree that had been created by SOS as they are in id's
2346	repository:
2347	  code/macosx/Client/CVS
2348	  code/macosx/Client/PBUserInfo/CVS
2349	  code/macosx/Client/Quake3.nib/CVS
2350	  code/macosx/Common/CVS
2351	  code/macosx/DedicatedServer/CVS
2352	  code/macosx/DedicatedServer/PBUserInfo/CVS
2353	Now tagged
2354	  cvs tag id1-26y-loki001119
2355	TODO: there are several new files not yet linked?
2356
2357	* ChangeLog: merged the Changelog from the bk00119 working
2358	branch (initial Q3TA port) based on sos001119 snapshot. Also
2359	merged the source tree with cvs-1.17.
2360	In the ChangeLog below  *** MISSIONPACK *** indicates work
2361	that was done on the branch (code-sos/ prefix in files).
2362	The cvs update of this will be tagged with
2363	 cvs tag id1-26y-loki001119
2364	Use this tag to hunt for possible Linux fixes that got lost
2365	(i.e. got dropped by id since id000516 and were thus not in
2366	sos001119, but did not show in diff id000516 cvs1-17).
2367	New directories in CVS: botfiles/, ui/.
2368	Missing from SOS/Missionpack: SDK directories.
2369	 common, lcc, libs, q3asm, q3data, q3map, q3radiant.
2370
2371
2372	* ssreport.txt: below.
2373        Note: watch for files called "ssreport.txt", that's id ChangeLog.
2374	* ui/ui_syscalls.asm: below.
2375	* q3_ui/ui_syscalls.asm: below.
2376	* game/g_syscalls.asm: below.
2377	* cgame/cg_syscalls.asm: below.
2378	* bspc/linux-i386.mak: below.
2379	* bspc/lcc.mak: below.
2380	* botlib/linux-i386.mak: below.
2381	* botlib/lcc.mak: below.
2382	* A3D/a3d_console_variables.txt: CR/LF issue (minimize diffs).
2383
2384	* CVS: the checked bk001119 work copy of the sos001119 initial
2385	checkout (completed with everything in the SOS "Missionpack"
2386	tree, i.e. botfiles/ and botfiles.* added), copied over the
2387	cvs-1.17 checkout.
2388	Note: in these cases, BEWARE ui -> q3_ui/ links, and different
2389	ChangeLogs. Also "make clean" helps.
2390
2391	* unix/unix_net.c: below.
2392	* unix/unix_main.c: below.
2393	* unix/matha.s: below.
2394	* unix/linux_qgl.c: below.
2395	* unix/linux_glimp.c: see also linux_joystick.c.
2396	* server/sv_client.c: below.
2397	* renderer/tr_surface.c: below.
2398	* renderer/qgl.h: below.
2399	* qcommon/qcommon.h: below.
2400	* qcommon/files.c: below.
2401	* qcommon/common.c: below.
2402	* q3_ui/ui_demo2.c: below.
2403	* mac/mac_net.c: below.
2404	* mac/mac_glimp2.c: below.
2405	* game/surfaceflags.h: below.
2406	* game/bg_lib.c: checked against id00516/cvs-1.17a diff.
2407	* bspc/bspc.c: TH_AASToTetrahedrons call removed since id000516.
2408	Note: our final compare of id000516 against cvs-1.17a, making sure
2409	that all these differences are in bk001119 (initial Q3TA port).
2410	If id branched the Q3TA base off before id000516 we might be screwed.
2411	Note: I do not diff against bk000520, which had some minor changes
2412	against id000516 (check VectorArrayNormalize, OTConfiguration), which
2413	seem consistent with me taking a pre-id000516 source snapshot for that
2414	working branch.
2415
24162000-11-30  Bernd Kreimeier  <bk@lokigames.com>
2417
2418	* TEST: compiled using the symbolic link ui/ -> q3_ui/.
2419	Had to undo one CVS change, regarding
2420	 code/cgame/cg_syscalls.asm
2421	 code/game/g_syscalls.asm
2422	 code/q3_ui/ui_syscalls.asm
2423	These files are neither generated by Win32 cgame.bat
2424	nor cgame.sh (etc.), thus seemingly maintained by hand.
2425	 cvs tag pr1-17-loki001130b
2426	should be used if somebody needs this 1.17 snapshot
2427	(which, remember, is post-release, with additional fixes).
2428	Later:
2429	 cvs tag pr1-17-loki001130c
2430        includes the full ChangeLog (duh).
2431
2432	* CVS: up until cvs-1.17-001130, code/ui/ contained the
2433	Q3 code for the UI QVM/DLL. In Q3TA, this code has been
2434	moved to code/q3_ui/, while at the same time the new
2435	(scripting driven) UI code for Q3TA was maintained in
2436	code/ui/. To preserve the history of code/ui/, it has been
2437	renamed to q3/ui/ in the CVSROOT.
2438	Note: this will BREAK all cvs-1.17 and before checkouts.
2439	To compile earlier versions, move or link q3_ui/ to ui/.
2440	The code has been tagged
2441	  cvs tag pr1-17-loki001130
2442        after the change.
2443	DONE: remove code/*/vm/*.asm from CVSROOT
2444	Note: this includes code/*/*.asm files (from *_syscalls.c).
2445	These were originally tracked in CVS, but if we need
2446	comparison of q3asm output or QVM files we can rely
2447	on the Win32 and Linux SDK now. These files have been
2448	physically removed from CVS now, followed by
2449	  cvs tag pr1-17-loki001130a
2450
24512000-11-30  Bernd Kreimeier  <bk@lokigames.com>      *** MISSIONPACK ***
2452
2453	* RC2: new ZIP file (another 360M for convenience).
2454
2455	* SOS: new CVS module, Quake3_sos. This will be used to track
2456	the unchanged SOS checkouts from id. As their repository
2457	is read-only, and there is no estimate on when changes might
2458	be backpropagated there, I will track their changes in a
2459	separate module, and update our local Quake3 module
2460	accordingly. This is effectively "tracking 3rd party"
2461	w/o import and half-automated, forced mergers - in other
2462	words, we now branch starting with our post-1.17 changes,
2463	for the benefit of moving at all.
2464	Baseline is a slightly changed PR-1.17 id000516 source dump
2465	(essentially ui/ moved to q3_ui for continuity, and CR/LF etc.).
2466	 cvs import Quake3_sos id000516 pr1-17-win32
2467	 cvs import Quake3_sos sos001119 pr1-26-win32
2468	 cvs import Quake3_sos sos001120 pr1-26-win32-001120
2469         cvs import Quake3_sos sos001121 pr1-26-win32-001121
2470         cvs import Quake3_sos sos001122 pr1-26-win32-001122
2471         cvs import Quake3_sos sos001122-demo pr1-26-win32-demo
2472        This is about the 1.26w Team Arena Win32 demo release, give or
2473	take a couple of lines. Has Q3_VERSION "Q3 Team Arena Demo 1.27b".
2474	 cvs import Quake3_sos sos001123 pr1-26-win32-001123
2475         cvs import Quake3_sos sos001126 pr1-26-win32-001126
2476        Now track id versions (see code/game/q_shared.h:Q3_VERSION)
2477	 cvs import Quake3_sos sos001128 pr1-27c-win32-001128
2478	With 1.27d they switched from Demo to full version (RC1).
2479	 cvs import Quake3_sos sos001129 pr1-27d-win32-001129
2480         cvs import Quake3_sos sos001130a pr1-27d-win32-001130a
2481        Now switched to 1.27e. This import is done from the SOS
2482	working directory.
2483	 cvs import Quake3_sos sos001130b pr1-27e-win32-001130b
2484	Note: SoS created rwx attributes which are luckily fixed
2485	automagically during import. It is also seemingly incapable
2486	to compare files, and leave files that have not changed the
2487	hell alone. I can't do cvs update due to the $..$ tags in
2488	the original files (which CVS can't be told to ignore),
2489	so I have to do import (creating a load of vendor tagged
2490	branches), but at least cvsweb and cvs get the revisions
2491	right.
2492
2493	* code-sos/unix/Makefile: added linux_joystick
2494	* code-sos/unix/linux_local.h: match mac/ and win32/, for prototypes.
2495
2496	* code-sos/unix/linux_joystick.c: new file, code from linux_glimp.c
2497	Note: decided to separate this, as (a) we might edit/extend
2498	a lot, (b), it's not in the id tree, (c) it's not GL, (d)
2499	there might be even more oddball devices. Anything that
2500	cuts down on diffs.
2501
2502	* code-sos/unix/linux_glimp.c (Q_stristr): const return (cvs1.17).
2503	Also (XLateKey): added more keyboard mappings (ASCII on
2504	upper row digits) (cvs1.17). Added in the minimal joystick
2505	hooks (cvars, function calls). Fixed joystick cvar naming
2506	to match win32 (kept joystick_threshold).
2507	TODO: joystick stubs for dedicated?
2508
2509	* CVS: I have to move up to 1.27d (data, Win32 networking).
2510	With exception of linux_glimp.c (mostly joystick code),
2511	all cvs1.17 changes should now be in the work snapshot
2512	based on the first sos001119 we got from id. There are
2513	also some additional changes in there already, thus I'll
2514	move the (buggy) 1.26 snapshot into CVS before adding even
2515	more differences.
2516
2517
25182000-11-29  Bernd Kreimeier  <bk@lokigames.com>     *** MISSIONPACK ***
2519
2520	* RC1: TeamArena_Q3A_RC1.zip. Source has moved from
2521	Q3VERSION "Q3 Team Arena Demo 1.27c" to "Q3 1.27d" now.
2522
2523	* code-sos/qcommon/common.c: added Com_InitPushEvent(). Also
2524	increased MAX_PUSHED_EVENTS to 256.
2525	Note: this is another case of buffer memory not zero'ed.
2526	Com_EventLoop, fixed evTime to evType in debug print.
2527
2528	* TEST: baseq3/
2529	 +set sv_pure 0 +set vm_game 0 +set in_mouse 0 +set developer 2
2530        TODO: Team Arena in menu leads to RE_Shutdown(1) and locks
2531	TODO: can't play game
2532	TODO: shaders can't load *.tga, *.jpg files are there
2533	TODO: DO_CC linking for DLL's, DO_SHLIB_CC only for export?
2534	TODO: ERROR: Bad player movement angle
2535        TODO: Warning: cvar "..." given initial values: "..." and "..."
2536 	TODO: TA demo ERROR: CL_ParseServerMessage: Illegible server message
2537        TODO: WARNING: Com_PushEvent overflow
2538
2539	* code-sos/qcommon/files.c: add NULL filter for our Sys_ListFiles calls.
2540	* unix/unix_shared.c (Sys_ListFiles): signature has changed,
2541	additional Sys_ListFiles argument now.
2542
2543	* code-sos/unix/unix_net.c (Sys_GetPacket): see below (readcount=0).
2544	* code-sos/unix/unix_main.c: see below (Mike's and my changes to DLL
2545	loading, my event buffer clear fixes).
2546	* code-sos/unix/linux_qgl.c (QGL_Init): see below (__FX__ guards).
2547	TODO: abstract WGL/GLX and end unfortunate QGL duplication.
2548	TODO: spice up QGL with Linux H2 full version.
2549	* code-sos/q3_ui/ui_demo2.c: fix on demo names  - no Q_strupr(demoname).
2550	Note: in CVS this fix is in ui/ui_demo2.c. CVS is screwed by
2551	id choosing the old name for new directory...
2552	TODO: manual intervention on "ui goes q3_ui"  in CVSROOT?
2553	* renderer/qgl.h: see below (__FX__ guards).
2554	* qcommon/files.c: migrated in the 1.17cvs changes against the
2555	id000516 code dump, i.e. the (not marked - boo hiss) mkv changes.
2556	Note: all the above is based on a diff of the last id code dump
2557	pre-1.17 against our CVS, with those fixes now migrated into the
2558	sos1.26 snapshot.
2559	TODO: move in joystick code.
2560	TODO: replace XAutoRepeatOn/Off with filter (focus).
2561	TODO: DGA 2.0 and such.
2562
2563	* code-sos/game/q_shared.c: valid compare for NULL strings
2564	* code-sos/unix/unix_main.c: QRTLD, and now using RTLD_NOW.
2565	Note: it is a bad idea to load game DLL's that are missing symbols.
2566
2567	* code-sos/ui/ui_main.c: see below.
2568	* code-sos/game/g_main.c: see below.
2569	* code-sos/q3_ui/ui_main.c: see below.
2570	* code-sos/cgame/cg_main.c: made cvarTable and cvarTableSize static. This resolved
2571	a segfault related to traversing the UI table during Init.
2572	Note: there is a segfault related to this variable being out of bounds.
2573	Different struct size in global variables possible aliasing between the
2574	DLL's.
2575
2576	* code-sos/unix/unix_main.c (Sys_Error): assert(0), no exit in debug.
2577	* code-sos/game/q_shared.c: now aborts on NULL destination. Also DPrintf's
2578	on bogus excess copies.
2579	TODO: make all those string functions safe, at least assert.
2580	* code-sos/server/sv_init.c: comment in SV_Init
2581	// init the botlib here because we need the pre-compiler in the UI
2582	Called in qcommon/common.c:Com_Init, were CL_Init is called afterwards...
2583	* code-sos/server/sv_bot.c: the botlib_import is filled here.
2584	* code-sos/unix/unix_main.c (Sys_GetBotLibAPI): RTLD_NOW. Which is for naught,
2585	as this code is not used and has never been used. assert(0)
2586
2587	* code-sos/botlib/be_interface.c: botimport supposed to be set here.
2588	* code-sos/botlib/l_memory.c: segfault with q3_ui/ DLL.
2589        #1  0x80e23ec in GetMemory (size=35) at ..//botlib/l_memory.c:331
2590        331             ptr = botimport.GetMemory(size + sizeof(unsigned long int));
2591	as botimport is completely NULL'ed.
2592
2593	* code-sos/q3_ui/q3_ui.sh: created from ui/ui.sh 1.17
2594
2595	* code-sos/q3_ui/q3_ui.q3asm: unfubared (CR/LF, / path).
2596
2597	* code-sos/unix/Makefile: added q3_ui/ make targets (basically
2598	ui/ targets from CVS 1.17 Makefile for starters).
2599
2600	* code-sos/q3_ui/: this is the old UI code, which does not use
2601	../ui/menus.txt (see ui/ui_main.c). In other words,
2602	the code in ui/ now has to be compiled or qvm'ed
2603	for missionpack/, but to create the necessary DLL or
2604	QVM modules for baseq3/ we need to use q3_ui/.
2605
2606
26072000-11-27  Bernd Kreimeier  <bk@lokigames.com>     *** MISSIONPACK ***
2608
2609	* code-sos/game/bg_lib.c: ld problem with a custom "tan(..)"
2610	TODO: loooking forward to SIGFPE on this code base.
2611
2612	* code-sos/ui/ui_util.c: this file is empty.
2613
2614	* code-sos/ui/ui.sh: new files:
2615	  ui_shared.c
2616	  ui_util.c
2617	Replaced by the /ui/*.menu files:
2618	 q3lcc: can't find `../ui_cdkey.c'
2619	 q3lcc: can't find `../ui_ingame.c'
2620	etc.
2621
2622	* code-sos/cgame/cgame.q3asm: added cg_newdraw entry.
2623	Also added ui_shared entry.
2624	* cgame/cgame.sh: added cg_newdraw.c entry.
2625	Also added ../ui/ui_shared.c entry.
2626
2627	* code-sos/cgame/cg_newdraw.c: renamed (was cg_newDraw.c mixed case).
2628	Note: the infidels have taken over.
2629
2630	* cgame/cgame.sh: added  -DMISSIONPACK.
2631	Note: w/o, q3lcc complains
2632	../cg_event.c:204: undeclared identifier `cg_singlePlayerActive'
2633        ../cg_event.c:204: left operand of . has incompatible type `int'
2634        which indicates that this source does not compile w/o MISSIONPACK
2635	anymore. The baseq3/pak4.pk3 file in the Q3TA snapshot archives
2636	are dated
2637	     284464  11-10-00 14:02   vm/cgame.qvm
2638             463940  11-14-00 14:47   vm/qagame.qvm
2639             271596  11-14-00 14:48   vm/ui.qvm
2640	the code dump is from 11-19.
2641	Note: Make does not abort on q3lcc complains
2642
2643	* code-sos/game/game.sh: also added ai_vcmd.c entry.
2644
2645	* code-sos/ui/ui.q3asm: fubared (below). In addition, this is
2646	the only one to have a
2647	 -o "/tmp/quake3/missionpack/vm/ui"
2648	line in it. Given that the other 2 QVM modules are
2649	also dependend on -DMISSIONPACK, this seems a real mess.
2650	For now using the same path as the other 3.
2651	* code-sos/cgame/cgame.q3asm: below.
2652	* code-sos/game/game.q3asm: fubared. Fixed CR/LF and \ in paths
2653	again (read by q3asm called by game.sh called by make).
2654	* unix/Makefile: updated fpor DLL/QVM.
2655	Note: also shell scripts to use q3lcc not lcc.
2656
2657
26582000-11-27  Bernd Kreimeier  <bk@lokigames.com>
2659
2660	* code/unix/Makefile: now expects a run/ directory
2661	relative (between this, the Loki standards, and the
2662	utility code in the same repository, it's ever so
2663	slightly less dorky).
2664	TODO: fix broken copyfiles target etc.pp.
2665
2666	* code/game/bg_lib.c: turns out the changes I
2667	undid 001120 were affecting original Zoid
2668	Linux port related defines, which break VM
2669	compile. Mike fixed those (which I unfixed
2670	when referring to the latest id code that does
2671	not contain these patches). However, they
2672	duplicate ANSI libc symbols, so the guards might
2673	be wrong. The symbols are missing when compiling
2674	for VM, so I now use the existing lcc -DQ3_VM
2675	flag:
2676	  //#if !defined ( _MSC_VER ) && ! defined ( __linux__ )
2677          #if defined ( Q3_VM )
2678	This will break DLL compile on non-ANSI platforms,
2679	which will have to be added to the conditional then.
2680
2681	* code/ui/ui.sh: below.
2682	* code/game/game.sh: below.
2683	* code/cgame/cgame.sh: Linux SDK installs q3lcc to
2684	avoid collisions with regular lcc pre-installs. The
2685	scripts fail with "lcc not found", but do not abort
2686	the Makefile.
2687	Note: now that VM code gets actually built, there
2688	are errors:
2689	g_main:648 ERROR: symbol vsprintf undefined
2690        bg_pmove:1221 ERROR: symbol abs undefined
2691        q_math:4309 ERROR: symbol fabs undefined
2692        q_shared:2801 ERROR: symbol tolower undefined
2693        q_shared:2862 ERROR: symbol toupper undefined
2694        ai_dmq3:208 ERROR: symbol atoi undefined
2695        ai_cmd:4951 ERROR: symbol sscanf undefined
2696
2697
26982000-11-20  Bernd Kreimeier  <bk@lokigames.com>
2699
2700	* TEST: test compile of pr-1.17+cvs fixes segfaults due
2701	to new baseq3/pak4.pk3
2702	Note: to self ... 1.17 is not compatible with new files.
2703	Checking into CVS next.
2704
2705	* code/: changes applied by us that are not in id's code base
2706	affect q_shared.c (NULL in Q_stricmp), files.c (FIXME fs_cdpath,
2707	Sys_ConcatenateFileList, ui_demo2.c (demo no tolower on linux).
2708	In unix/ linux_glimp.c (joystick code), qgl.h, linux_qgl.c (__FX__),
2709        unix_main.c (dlopen bug and event buffers), unix_net.c (readcount),
2710	matha.s (assembly warning).
2711
2712	* code/server/sv_client.c (SV_WriteDownloadToClient):
2713	No effective change  on FS_SV_FOpenFileRead call, they reworked
2714	autodownload some more seemingly.
2715
2716	* code/renderer/tr_surface.c: VectorArrayNormalize
2717
2718	* code/qcommon/qcommon.h: see below.
2719	* code/qcommon/files.c: Com_ReadConfigs removed.
2720	* code/qcommon/common.c: removed Com_ReadConfigs,
2721	textual replacement of body in Com_Init.
2722
2723	* code/mac/mac_net.c: not applied (undone by id)
2724	OTConfiguration *config <> OTConfigurationRef  config
2725
2726	* code/mac/mac_glimp2.c: r_colorbits->integer > 16
2727	* code/game/surfaceflags.h (CONTENTS_BOTCLIP): added.
2728
2729	* code/game/q_shared.h: not applied (undone by id)
2730	#if defined(ppc) || defined(__ppc) || defined(__ppc__)
2731        #define idppc 1
2732	#else
2733        #define idppc 0
2734        #endif
2735
2736	* code/game/q_math.c: added another CPP line to guard
2737	BoxOnPlaneSide, removed WIN32 guard.
2738	TODO: this could be broken code guarded in all current
2739	compiles...
2740
2741	* code/game/bg_lib.c: left Q#_VM guard for typedef cmp_t
2742	Added !defined( __linux__ ) for tolower and atoi.
2743	Note: the changes above relate to the very last code update
2744	from id prior to the 6 month blackout, which were not in
2745	CVS when Michael made his updates. Needed to establish the
2746	baseline for the new patch. Source dump 1.17.00520, against
2747	SOS 1.26w-001119 version.
2748
27492000-11-20  Bernd Kreimeier  <bk@lokigames.com>       *** MISSIONPACK ***
2750
2751	* TEST: running against the data up to TeamArena_Q3A_001109.zip
2752	Hunk_Clear: reset the hunk ok
2753        Program received signal SIGBUS, Bus error.
2754        "q3dm2", killBots==qtrue
2755	#0  CM_ClearMap () at ..//qcommon/cm_load.c:644
2756        #1  0x80884a7 in SV_Map_f () at ..//server/sv_ccmds.c:159
2757        #2  0x8072579 in Cmd_ExecuteString (text=0xbffff4b0 "spmap q3dm2") at ..//qcommon/cmd.c:591
2758        #3  0x8071dfe in Cbuf_Execute () at ..//qcommon/cmd.c:190
2759        #4  0x80763f7 in Com_Frame () at ..//qcommon/common.c:2547
2760        #5  0x8130d6b in main (argc=13, argv=0xbffff984) at ..//unix/unix_main.c:953
2761        #6  0x40100cb3 in __libc_start_main (main=0x8130bc4 <main>
2762	Not reproducible (screen stayed black).
2763
2764	* TEST: +set developer 1, same for Win32 and Linux:
2765	Can't find gfx/misc/flare.tga
2766        Can't find gfx/misc/sun.tga
2767        Can't find gfx/misc/console02.tga
2768	Can't find vm/ui.map
2769	Can't find textures/sfx/logo512.tga
2770        Can't find gfx/colors/black.tga
2771        Can't find models/mapobjects/banner/banner5_2.md3
2772        Can't find models/mapobjects/banner/banner5_1.md3
2773        Can't find textures/sfx/firegorre2.tga
2774        Can't find textures/sfx/bolts.tga
2775	Can't find menu/art/unknownmap.tga
2776
2777	* Q3TA: after nearly 6 months, a code update from id. SOS access
2778	even. Got it to compile, link and start, but it's currently broken
2779	(menu doesn't render in full, can't get into game etc.). Need
2780	a baseline 1.17 to diff against. Last code dump was May 16, with
2781	bspc code updated May 19. Checking working directory of bk000520
2782	against CVS next (Mike's fixes never made it into id's codebase
2783	or a post 1.17 release, neither did my fixes as released in the
2784	point release version 1.17).
2785
27862000-11-19  Bernd Kreimeier  <bk@lokigames.com>       *** MISSIONPACK ***
2787
2788	* TEST: Win32 install as tested with 1.26w. quake3.x86 (Q3A game)
2789	Warning: cvar "r_uifullscreen" given initial values: "1" and "0"
2790        Warning: cvar "r_inGameVideo" given initial values: "1" and "0"
2791        ^3WARNING: sound/feedback/hit.wav is a 8 bit wav file
2792	(on windows, sound/weapons/weapon_hover.wav is missing...)
2793	Menu only partially displayed in TA and baseq3 play, menu itself
2794	seems to work. Freetype?
2795	WARNING: Com_PushEvent overflow
2796
2797	* code-sos/game/game.sh: not in SOS, moved in from CVS snapshot.
2798
2799	* code-sos/qcommon/common.c: conditional DEDICATED to get rid off
2800	CL_ShutdownCGame/CL_ShutdownUI/CIN_CloseAllVideos.
2801	Same for UI_usesUniqueCDKey: dedicated server does not
2802	write CD key file.
2803	TODO: check whether there is an unneeded "read CD key"
2804	for dedicated server.
2805
2806	* code-sos/null/null_client.c (CL_ShutdownAll): added dummy.
2807
2808	* code-sos/unix/Makefile:  server/sv_net_chan.o for dedicated server.
2809
2810	* code-sos/null/null_snddma.c: fixed  S_RegisterSound signature.
2811
2812	* code-sos/client/snd_mix.c: snd_p, snd_linear_count, snd_out
2813	can't be static, as used by unix/snd_mixa.s.
2814
2815	* code-sos/unix/Makefile: added to the executable target:
2816	   renderer/tr_font.c
2817	   client/cl_net_chan.c
2818	   server/sv_net_chan.c
2819	Also added a lot of jc*.c files to build, to fix unresolved
2820	symbol errors.
2821	TODO: is there unused jpeg-6/jd*.o code linked in now?
2822
2823	* code-sos/ft2/smooth.c: includes ftgrays.c, ftsmooth.c
2824
2825	* code-sos/ft2/truetype.c: ttdriver.c, ttpload.c, ttgload.c, ttobjs.c.
2826        Also (see ftoption.h) TT_CONFIG_OPTION_BYTECODE_INTERPRETER ttinterp.c
2827
2828	* code-sos/ft2/sfnt.c: includes ttload.c, ttcmap.c, sfobjs.c,
2829	sfdriver.c. lso (see ftoption.h)
2830        TT_CONFIG_OPTION_EMBEDDED_BITMAPS     ttsbit.c
2831        TT_CONFIG_OPTION_POSTSCRIPT_NAMES     ttpost.c
2832
2833	* code-sos/ft2/ftbase.c: includes ftcalc.c, ftobjs.c, ftstream.c,
2834	ftlist.c, ftoutln.c, ftextend.c, ftnames.c.
2835
2836	* code-sos/ft2/autohint.c: includes ahangles.c, ahglyph.c, ahglobal.c,
2837	ahhint.c, ahmodule.c.
2838
2839	* code-sos/unix/Makefile: added ft2/ to client objects, took out
2840	ftraster.c/ftrend1.c (see below), added -DFT_FLAT_COMPILE.
2841	* ft2/ftsmooth.c: -DFT_FLAT_COMPILE required.
2842	* ft2/raster1.c: -DFT_FLAT_COMPILE required.
2843	Note: this includes ftraster.c/ftrend1.c.
2844
2845	* code-sos/qcommon/vm_x86.c: _ftol is missing, ftolPtr only defined
2846	for Win32, but used in generic code. Workaround for now.
2847	TODO: find good Linux ftol, or use old solution.
2848
2849	* SoS checkout. chown -R a+w *  recode ibmpc:lat1 */*.h */*.c
2850
28512000-06-30  Michael Vance <briraeos@lokigames.com>
2852
2853	* misc: Spoke with Leonardo about qvm mess.
2854
2855	* ui/ui.sh: Created to build much like the ui.bat script.
2856
2857	* ui/ui.q3asm: Use linux style paths.
2858
2859	* game/game.sh: Created to build much like the game.bat script.
2860
2861	* game/game.q3asm: Use linux style paths.
2862
2863	* cgame/cgame.sh: Created to build much like the cgame.bat script.
2864
2865	* cgame/cgame.q3asm: Use linux systel paths.
2866
2867	* unix/Makefile: Use the new .sh scripts to build the QVM files.
2868
2869	* lcc/etc/linux.c: Build .asm files instead of .s files.
2870
2871	* misc: QVMs now load properly, with minor glitches that should
2872	hopefully be solvable. The new build scripts conflict with the
2873	.asm files already in CVS, as the generated byte code is slightly
2874	different in some cases.
2875
28762000-06-29  Michael Vance <briareos@lokigames.com>
2877
2878	* lcc/makefile: Tweaked to automatically include the system
2879	compiler's header location. Added an install directory.
2880
2881	* lcc/custom.mk: Added a build directory.
2882
2883	* lcc/etc/linux.c: Numerous small tweaks to make compiling the VM
2884	code a much simpler task.
2885
2886	* q3asm/Makefile: Created.
2887
2888	* q3asm/q3asm.c: Fixed uninitialized variable in
2889	HashString(). Fixed off by one in argument parsing.
2890
2891	* misc: Had Brian remove the Xmd.h include from glx.h so that we can
2892	build Quake3 on XFree86 4.0 systems.
2893
2894	* wine: Attempted to build with lcc.exe and q3asm.exe using wine,
2895	also did not work. This is in contrast to MikeP's .qvms, which
2896	seem to work.
2897
28982000-06-28  Michael Vance <briareos@lokigames.com>
2899
2900	* common/files.c: Fixed Mods menu behaviour.
2901
2902	* unix/linux_qgl.c: Guarded references to fxMesa.
2903
2904	* renderer/qgl.h: Guarded references to fxMesa.
2905
2906	* ui/ui_demo2.c: Don't convert filename to uppercase.
2907
29082000-05-07  Bernd Kreimeier  <bk@lokigames.com>
2909
2910	* common/cmdlib.c: windowism, not guarded. Added WIN32 around "ATOM a".
2911
2912	* q3map/Makefile: Linux Makefile.
2913
2914	* q3map/Makefile.irix: "makefile" in original code, Irix-only Makefile.
2915	Just fixed some redundant TAB that GNU make despises about as much as I
2916	despise GNU Make, and changed to a relative path.
2917
29182000-05-01  Bernd Kreimeier  <bk@lokigames.com>
2919
2920	* q3radiant/: updated with Q3Radiant198b3-src.zip.
2921	Tagged (globally) as q3radiant-198b3.
2922	Kept the old files
2923	  3DFXCamWnd.h
2924	  3DFXCamWnd.cpp
2925          MainFrm2.cpp
2926        New files
2927          Shaders.h
2928          misc/      (contributed special TGA resources, don't relly belong)
2929        Removed:
2930	  pName
2931        Changed filenames to previous case:
2932         UNNAMED.MAP           -> unnamed.map
2933         RES/BMP0002.BMP       -> RES/bmp00002.bmp
2934	Changed:
2935         changelog.txt         -> ChangeLog
2936
29372000-04-28  Bernd Kreimeier  <bk@lokigames.com>
2938
2939	* CVS: bk000425 modified sources. This replaces the unix/ directory
2940	which is not yet in id's SourceSafe. Two check-ins, due to minor
2941	changes in an attempt to nail the Voodoo3 related crashes (driver
2942	problems, not a Q3 issue). Undid some of the QFL changes for PI
2943	and the log bug fix - put back in (TODO). Also includes:
2944	* Quake3/code/botlib/be_aas_sample.c: single file update from Robert.
2945
2946	* CVS: id000423 code dumps (two of them). Applying Loki patches.
2947	Tagged for the final version (all patches).
2948
2949	* CVS: id000422 code dump. This did not include the 1.16n fixes
2950	used for Linux, and was the first dump for the 1.17 security fix
2951	release.
2952	Note: forgot to check in the ft2/ headers themselves, but they
2953	are not used in the current codebase anyway. Are added in next
2954	dump. Also there is use of CVS/CVS-like $Keyword$ patterns in
2955	some files, and between their revisions and ours we fuck this up.
2956	Also, id ZIP files create write protected sources, have to do
2957	chmod -R a+w Quake3/ to work and overwrite files.
2958
2959	* CVS: bk000315 modified source. This version was the 1.16n release.
2960	Note: the changes applied here are not in the subsequent code dumps
2961	of id. If you want to compile the Linux version as released you
2962	have to use bk-tagged versions until the patches are merged in by
2963	Robert Duffy.
2964
2965	* CVS: id000314 engine code dump, same procedure as below, tag.
2966	Note: this version added vm/ sudirectories with assembly files
2967	for cgame, game, ui. CVS tag id000314.
2968
2969	* CVS: id000304 engine code dump. Now there is a problem, as CVS
2970	was used in the Mac sources. Do
2971	  find . -name 'CVS' -exec rm -r {} \;
2972        before cvs update, then tagged:
2973	 cvs -d /loki/cvsroot/ tag id000304 Quake3/
2974
2975	* CVS: checked in a source snapshot of the id00303 engine code
2976	and the id0003029 tools code. The tool sources are not fully in
2977	sync, and we have only partial source from earlier engine revisions.
2978        The engine source marks where Loki took over from Dave Kirsch.
2979        This snapshot (with all temporary and bogus files) is imported
2980        and tagged using:
2981          cvs -d /loki/cvsroot import Quake3 id000303 initial
2982
2983        Modules:
2984          code:      the Q3 engine code, including a jpeg-6/ copy
2985          common:    code shared by tools
2986          libs:      code shared by tools, inlcuding a jpeg6/ copy
2987          q3asm:     VM bytecode assembly
2988          q3data:    misc. Q3 data conversions
2989          q3map:     BSP builder
2990          q3radiant: Win32 editor, as is
2991          lcc:       C compiler for q3asm
2992
2993        The sources have not been cleaned up, and binary files have not been
2994	removed. The Q3Radiant code base might exhibit mixed case asmbiguities
2995	in the future, and future source dumps might come from SourceForge
2996	instead.
2997
29982000-04-25  Bernd Kreimeier  <bk@lokigames.com>
2999
3000	* q3code.id000425/unix/Makefile: relative path, relocatable.
3001	Note: first code merge with id, finally :-).
3002
30032000-04-24  Bernd Kreimeier  <bk@lokigames.com>
3004
3005	* q3code.bk000422/unix/matha.s: in C(BoxOnPlaneSide)
3006	the following line triggers assembler warning:
3007	"missing prefix `*' in absolute indirect address, maybe misassembled!"
3008	  jmp Ljmptab(,%eax,4)
3009
3010
3011	* q3code.bk000422/unix/Makefile (MOUNT_DIR): rember to change.
3012	TODO: fix this bloody Makefile to be relocatable, damnit.
3013
3014	* q3code.bk000422/cgame/cg_event.c: applied JCash fix again
3015	(see EV_EVENT_BITS below). Send e-mail to verify.
3016
3017	* q3code.bk000422/renderer/tr_image.c: "../jpeg-6/jpeglib.h" again.
3018
3019	* q3code.bk000422/: created from the id dump of today, lacking
3020	all but one of my changes (sigh). Swapped unix/ competely, takes
3021	care of 90%. Submitted all changes again to Robert...
3022
30232000-04-19  Bernd Kreimeier  <bk@lokigames.com>
3024
3025	* q3code.bk000315/unix/linux_glimp.c (GLimp_EndFrame):
3026	QGL_EnableLogging( r_logFile->value ) doesn't work?
3027
3028	* q3code.bk000315/unix/linux_qgl.c:  GLimp_LogNewFrame() is
3029	obsolete. QGL_EnableLogging was out of sync with Win32 and
3030	did not support the new framecounter decrement logic.
3031
30322000-04-03  Bernd Kreimeier  <bk@lokigames.com>
3033
3034	* q3code.bk000315/server/sv_snapshot.c: svs.nextSnapshotEntities
3035	is a signed integer unconditionally incremented, which gets
3036	negative and causes a segfaulting indexing an array. Added reset
3037	to counter. Might fail if snapshot numbers are supposed to
3038	monotonically increase.
3039
30402000-04-02  Bernd Kreimeier  <bk@lokigames.com>
3041
3042	* q3code.bk000315/client/cl_parse.c (CL_ParseServerMessage):
3043	assert(0) on Illegible message (remember to +set in_mouse 0).
3044	TODO: have to add a dump message function, it's unreadable.
3045
3046	* botlib/be_ai_goal.c (InitLevelItemHeap): loop counter -2
3047	left -2 with uninitialized next, and -1 disconnected. Removed
3048	redundant memset. There is an item alloc leak I suspect, as
3049	max_levelitems 1024 merely delayed the overflow error.
3050
30512000-04-01  Bernd Kreimeier  <bk@lokigames.com>
3052
3053	* botlib/be_ai_goal.c (InitLevelItemHeap): still segfaults.
3054	Not memsetting the entire item heap. As items are cleared
3055	on return, that leaves only memory corruption?
3056	Later: upped max_levelitems from 256 to 1024
3057	Later: client dies on connect:
3058	  Error: CL_ParseServerMessage: Illegible server message 255
3059
3060
30612000-03-31  Bernd Kreimeier  <bk@lokigames.com>
3062
3063	* botlib/be_ai_goal.c: initializing global vars.
3064	Segfault in AllocLevelItem ()
3065	  at /home/bk/Games/Quake3/q3code/botlib/be_ai_goal.c:364
3066        I suspect that the initial freelevelitems setting is at
3067	the end of the list and eventually exposed.
3068
3069	* cgame/cg_event.c: according to Johmn Cash:
3070	 itemNum = (es->event & ~EV_EVENT_BITS) - EV_USE_ITEM0
3071        Quote: "This causes itemNum to be invalid about half the time,
3072	preventing any client side effect tied to the item from occurring."
3073
30742000-03-06  Bernd Kreimeier  <bk@lokigames.com>
3075
3076	* qcommon/common.c: set pushEvent buffer and indices
3077	to zero in Com_Init().
3078
3079	* q3code/qcommon/qcommon.h: made SE_NONE (and for paranoia
3080	also NA_BOT) explicitely set to zero.
3081
30822000-02-27  Bernd Kreimeier  <bk@lokigames.com>
3083
3084	* unix/Makefile: added dmalloc in an attempt to get on
3085	the Z_Free bug. Futile. Despite stripping dmalloc debug
3086	token down to essentials, I get a (seemingly bogus or
3087	unrelated):
3088	  debug-malloc library: dumping program, fatal error
3089          Error: possibly bad .c filename pointer (err 24)
3090
3091
30922000-02-26  Bernd Kreimeier  <bk@lokigames.com>
3093
3094	* qcommon/common.c: various debug builts to isolate the
3095	Z_Free bug. It reproducibly happens on some machines
3096	with SE_PACKET, but the packets themselves look
3097	thoroughly corrupted.
3098
30992000-02-21  Bernd Kreimeier  <bk@lokigames.com>
3100
3101	* qcommon/common.c (Com_EventLoop): possible problem
3102	here, pointer does not get cleared.
3103
3104	* unix/linux_glimp.c (InitSig): no signal handler.
3105	* common/common.c: dump in Com_Error for debug.
3106
31072000-02-17  Bernd Kreimeier  <bk@lokigames.com>
3108
3109	* q3code: new dump from Zoid. Repeat tr_image.c fix.
3110
3111	* unix/Makefile: added client/snd_adpcm.c (linkage errors).
3112	Later: added entire JPDIR and rules, for tr_image.c.
3113	Later: had to fix fules for game/ai_*.c files.
3114	Later: removed ui/ui_quit.o (n/a)
3115	Later: took out -mpentiumpro -march=pentiumpro
3116
3117	* renderer/tr_image.c: windowism in #include path (see below).
3118         #include "..\jpeg-6\jpeglib.h"
3119
31201999-12-27  Bernd Kreimeier  <bk@lokigames.com>
3121
3122	* Alpha: tried a dedicated server compile. Segfaults in
3123	../qcommon/files.c:1682, a paksort function doing pointer
3124	fiddling.
3125
3126	* Makefile.alpha: created.
3127	Note: want to take the SDL/Setup autoconf ASAP.
3128
3129	* unix/unix_main.c: fixed __axp__ to __alpha__, guarded
3130	_FPU_SETCW.
3131
3132	* qcommon/vm_alpha.c: dummy, created.
3133	* qcommon/vm_null.c: dummy, created.
3134
31351999-12-04  Bernd Kreimeier  <bk@lokigames.com>
3136
3137	* renderer/tr_image.c: windowism in #include path.
3138         #include "..\jpeg-6\jpeglib.h"
3139
3140	* Revision 1.11: from Zoid by e-mail.
3141	Note: threw away my playground copy, starting with the
3142	ZIP file. Zoid's using CVS now, but we can't remote
3143	access it. Thus did the
3144	 "find . -name 'CVS' -exec rm -rf {} \;"
3145	and then track it as 3rd party source by
3146
3147
3148	* ChangeLog: created. Now starting to track Q3A source.
3149
3150--------- q3code log ---------------------------------------------
3151