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