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 it's 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 it's 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 its 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