November 24, 1997 (early AM)There is a lot more there, so I encourage you to check it out...
* NULL alias skin problem found and worked around in ref_soft
* tweaked credits
* tweaked multiplayer setup menu, including fixing more bugs
* made gl_lightmap work with multitexture
* tweaked savegame and loadgame menu cursors
* added \n to "server restarted" message
* fixed bug with our multitexture code's handling of styled lights
* merged me, Xian's, and John's code (FileMerge rules)
November 23, 1997 (part 3)
While I'm waiting for all my source to rebuild, here's my worklog from yesterday and today:
* changed turbsin to r_turbsin and rolled in a factor by half scale
* wrote a faster FTOL that we can use whenever _ftol shows up too high in a profile
* found PCX2 bug
* worked with Xian on bugs with the game code
* changed "same level" to "same map"
* spent an hour or two trying to figure out how to trap Alt-Tab under Win95
* added DF_NOARMOR flag and support for this option in the menu system
* fixed start server menu where dm flags weren't being set
* fixed CD audio again
* sifted through bug reports from Activision
* updated credits screen
* multiplayer setup menu bug fixed
* attempted to install debugger on a test machine to no avail, "BCPXDLL not found" or something like that
In both a private msg to me and a post on the #quake2 channel on undernet today he said:Well, that kind of leaves me with a suspician that the game will be finished up soon (i.e. They are all going out of town for Thanksgiving once the game is finished...)
The private msg to me
tokay: there is no demo coming out until AFTER the game is in the stores
Bastich: may i ask why?
tokay: because we are busy trying to finish the game. once the game is finished we are all going out of town for thanksgiving.
tokay: just came on to say that there will not be a demo release until AFTER the game is out
tokay: that means that it's going to be a while before you see another q2 demo
RMD Software is looking to hire 1 possibly 2 new mappers. We're looking for people with the talent, experience, and determination to be able to produce the highest quality maps possible. All applicants should be very good with one of these editors- Worldcraft, BSP, QuArK, and or Qoole. Applicants should also have at least one or more examples of past mapping work with the quake engine, please simply provide the URL to your past work, do NOT send me any maps through email.The Mighty Land of .Plan
If interested just email me with your qualifications, URL to your previous work/s, and from there we can discuss pay, RMD future projects, how much work is involved etc. Send all applications to email@example.com.
--- Nov.23.1997 (7:25am) ---I'm willing to bet that working on Quake2 is almost as tiring as an all-night disco marathon... almost. <G>
Well, here comes that flaming ball of fire in the sky called the sun again.
Coffee and Coke (tm) are my friends.
/me stumbles to the coffee pot
You gotta love those tweety birds that inform me with interesting rumours, well i was just being informed that Quake 2 demo is tomorrow and Wing Commander Prophecy demo later today, yeah there's a 99% chance i may be wrong, for the heck of it :)Heh, man, I seriously hope they're right. <G>
November 23, 1997 (early AM)Good luck on that, dude.
Wow, disabling Alt-Tab in Windows is a mess. Under NT I can just use
RegisterHotKey and it seems to work fine. Under Win95 RegisterHotKey doesn't
seem to do the right thing. I also tried installing my own keyboard book
via SetWindowsHookEx (MH_KEYBOARD) and I don't even SEE Alt-Tab in my
proc function, it looks like it's getting preempted by something upstream.
I've also tried trapping WM_SYSCOMMAND messages and returning 0 for
SC_NEXTWINDOW, etc. and that doesn't work either.
Grrr...this is NOT something I wanted to deal with this close to shipping,
and as a matter of fact, I'm NOT going to deal with it. It works under
WinNT right now, and I'll figure it out under Win95 when I get a chance.
I saw another way documented that would probably work, but it would also
disable Ctrl-Alt-Del, which is NOT something I find acceptable.
--- Nov.22.1997 (7:24am) ---Shouldn't that be more like "* played Thresh (w00!)" ?
Work log for today:
* did stuff
* got frustrated when stuff was giving me tude
* played Q2 deathmatch with the Ritual guys, Vik Long, and Thresh
(sCary's kung-fu is better than my kung-fu)
* killed Thresh a few times (w00!)
* went back to cursing why stuff was giving me tude
* got Brian to look over stuff
* did the happy dance of joy when Brian found source of tude
* proceeded to do more stuff
* decided to go home and sleep when I saw the sun peering through my
/me goes to bed
November 22, 1997 (early AM)
If someone knows of a convenient (i.e. domestic) source for Eurographics
Proceedings, please send me an e-mail. Thanks!
November 22, 1997 (early AM, part 2)
Work log for today:
* code merge broke some code in the multiplayer setup menu where I tried to
get a little too clever, so I unclevered my code and made it work again.
* fixed bug where you couldn't switch back to 3Dfx correctly in the video
* bought the "Thresh approved 3M mouse pad" from CompUSA.
* made Draw_Char ignore out of range
* ordered HiProf from TracePoint. This thing has some bugs, but it looks like
a real good profiler when it works.
* messed with HiProf profiler
* fixed another multiplayer setup menu bug
* fixed swapinterval bug where I broken gl_swapinterval when I implemented
* fixed more DEC Alpha related stuff
* walked dog
* had Boston Market for dinner...it was a change, that's for sure.
* fixed bug where I was checking an uninitialized Cvar in the dedicated server
* fixed bug where I wasn't handling improperly formatted skin cvar strings
* implemented force_respawn in menus
* found C vs. asm bug when doing the DEC Alpha build
* fixed bug another bug with skin cvar string parsing
* finished DEC Alpha test build, looks good! Unfortunately, we're taking a performance hit for enabling exceptions. We'll have to look into this some time.
* ref_soft was calling VirtualProtect once per frame, causing all kinds of weirdness with our self-modifying code. Fixed it.
* set "deathmatch" cvar appropriately for deathmatch vs. singleplayer
* added PRINT_ALERT to VID_Printf
* switched VirtualProtect to using PAGE_WRITECOPY instead of PAGE_READWRITE, then switched back when we found out PAGE_WRITECOPY fails under Win95
* found the "underwater ref_soft water surface" bug...I had a really weird epiphany about the bug, and if I hadn't had that, I'd still be looking for that bug right now. Thank the gods for epiphanies...
* played tested the jail unit...damn, it looks really really good.
* walked dog
* ate at Outback
* called immigration attorney
* did bench press and some curls today
Damn productive day.
*fixed dead hovers getting stuck and never reaching the ground and not blowing upPaul Steed .plan update
*regrabbed a ton of graphics for the artists
*there was one soldier death sequence that was never getting used
*fixed two cases where the bubble trials for bullets/pellets were not showing up
*if you fire the railgun while ducked in depth 1 water you weren't seeing the rail trail
*fixed pushable barrels; they weren't pushable anymore
*used linkccount to reduce execution time needed for dormant monsters
*player sound entities now call linkentity so their areas will be
*fixed some FP epsilon problems by changing FindTarget stuff to use framenum instead
Crunch days are like wind-sprints, hit-its and 30 second drills all rolled into one (football, football, wrestling). You tell yourself just one more and you'll make it: stick a fuck ...er...fork in it and proclaim it's doneness. Fat fucking chance. 10+ consecutive days of 4 hours 'o sleep ain't funny no more.Good luck Paul! Oh, and in a word: coffee.
I have to basically complete ALL the female player character's animations in less than 15 hours. 10 hours into it I have to say that this is a bitch (she's a bitch). But she is mine (even though she's curiously flipping me off right now). Ah well. I only hope you people REALLY appreciate this goddamn game. Adrian's about to slit his wrists, Kevin's about to go postal and I am about to put my head through my monitor with a smile on my face.
So at least for the first week of release or so don't e-mail me any bad reviews. I really wouldn't take it too well.
All right. C'mere you little mynx...
Today's worklog so far:And some of John Cash's life:
* installed new Intergraph drivers to see if these would solve some of the weird stereo crap I had to deal with
* downloaded latest drivers from 3DLabs
* fixed cinematics when stereo graphics was enabled
* moved stereo offset stuff out of ref_gl and into the client code
* fixed bug where changing brightness under OpenGL only worked the first time you changed it
* added new "force respawn" DM flags to the menu (thanks to the Ritual guys for suggesting this)
* hung out with Ritual guys (Jim, Mark, and Gary) for a couple of hours talking tech and stuff, showed them the beauty of FileMerge, argued about C++, etc.
* talked to NEC on the phone
* hunted down and reproduced a weird bug with multiplayer setup where things exploded if you were playing the game over a network drive, stopped for a bit, had the network drive disconnected, then attempted to open a specific menu. Yes, this actually happened, and I'm glad it did, since it was easy to fix since I knew what it was. If someone reported this from the field, I would have shot myself.
* did another DEC Alpha sanity check port. GL works, but ref_soft stopped working for some reason (crashes). I can't figure out how to disable floating point exceptions under the DEC Alpha with MSVC -- I've tried /QApdst and the other FP flags, but divide-by-zero still happens. I had to write several chunks of code that didn't exist in the C version.
* removed nightmare mode from the game menu
* sent more mail to Activision about Start Menu stuff
* if our "maps.lst" file didn't exist a hard error was generated instead of a soft error, fixed it
* made name field in player setup start with cursor at end
* made skin and model fields in player setup parse the "skin" cvar
* went home, walked dog
* showed John the "Miracle That is Fry's". Only to find out that Fry's isn't as miraculous as I thought it was: no copies of "Boot" or "Unix Review" to be had. Grrrr.
* grabbed Wendy's food and ate it back at the office
* and, of course, sifted through lots of e-mail
* copied up code to have it merged
And, unfortunately, I did not get around to the "underwater water surface" bug in ref_soft, but I fought a lot of fires, which is what I expected to do. Still, only 1/3 of my dedicated tasks for today were completed. So tomorrow I will:
- finish adding support for force_respawn in the DM flags
- hunt down and quash underwater water surface ref_soft bug
- profile code/order HiProf
WORK LOGBarrett Alexander updated his .plan with some info about the new pipe they got installed, and here was an interesting piece of news that may interest some folks:
*fixed shootable team doors only opened if the master was shot
*made doors honor the "silent" switch
*fixed a case in SZ_Print that would "never" happen that allowed a negative array index
*p_view had wrong color for power shield
*fixed view kick to handle negative knockback
*got brain's melee attacks working again
*added standing frames to brain
*made brain's ducking functional
*put in new "knocked into the air" pain frames for gladiator
*changed gib_health for soldiers; they were popping too easily
*added check for special power_cube flags being used on other items
*fixed turret drivers; they were impervious to grenades
*furthered the linkccount work, the groundentity check it is now set whenever groundentity is changed and before each entity is run this is used to validate the groundentity - much cleaner now
*got a clean grab of all the boss3 frames
THEN, if you deathmatch fans out there switch over to UniDial as your internet service provider, you'll be like three hops from us and you'll be all set for some unbeatable Quake II deathmatch!!BloodShot
We are doing one, and another company is doing another one.Misc. posts
The idea is that Brian and I will not be doing any work on the mission pack, so we can be doing the tools for trinity.
As it stands right now, sources have indicated that there will be at least five new chipsets all based around a reference piece of second generation PowerVR technology. The original names of Highlander and PMX only referred to one such chipset: the one slated for base use in PCs. This leaves a host of other chips which will be used for everything from Dural (which also is said to have a new as-yet-unknown name) to arcade applications.Lots of .plans
****** November 19, 1997 *******************************John Cash 11/19/1997 15:21:33 (Central Standard Time)
I worked "programmer shift" yesterday, in addition to coming in at my regular time. I had some serious vis bugs in two of my city levels and I worked at isolating them so John Carmack could analyze them and find out why his code was handling them improperly. Turns out they were caused by funky content that I put in some of the brushes in the affected regions.
Had a lot of positive comment on "designer work logs." I don't want to try and maintain a "real" one. Even at an overview level, it would be near impossible to track the tweaks and changes we make in a day (without spending the whole day documenting changes instead of making them ... hmmmmm, maybe all the designers need "administrative assistants" to handle that function).
* Eliminated a major vis bug in City3 by rebuilding it. In retrospect, the problem was probably one that was solved in the wee hours of Thursday morning by John Carmack. Oh well, the player has a bit more floor space to move around in now.
* Modified an elevator shaft in City3 to improve single player play variety and add a new path for DM play. (started over when I realized I was modifying the wrong version of my map ... arrrrrgh!!!)
* Removed a few entities here, so I could add a few entities there in city3.
*oooh'd and ahhhh'd over the multiplayer skin selection interface and Adrian's multiplayer skins!!! If you make or use custom player skins, you're gonna love this feature.
* Isolated vis bugs into region maps of city1 and city3
* Set up a monster reinforcement situation for between map movement to make solving a puzzle a bit more exciting. Gahhhh!!! Where'd those berserks come from?!!
* Adjusted lighting in several maps.
* Watched Ben play part of city2 over and over in order to analyze why problems were occuring. Changed the timing of triggers and spawns that form a multi-action trap to reduce the amount of things happening at the same time.
* Watched Todd play another one of my levels in order to analyze why another bug was occuring.
* Used eyedrops frequently.
* Probably did other stuff, but am too bleary to remember.
WORK LOGBrian Hook 11/19/1997 16:36:47 (Central Standard Time)
11/18 *soldiers were targeting origin instead of origin+viewheight
*added the point of impact of the death blow to the death callback
*put in the new soldier animations and updated the code to make them work
*fixed a crash where monsters would end up with a NULL pointer to their enemy
*removed some dead code from boss1 *fixed boss2 to play correct death sound
*fixed bounding box for dead tank was 8 too low
*fixed bad pain sound numbers for parasite and medic
*fix boss2 to play correct death sound
*fixed infantry to play hit/miss sound as appropriate when using melee attack
*synced idle sounds for gunner
*replaced and synced melee sounds for gladiator
*fixed audio portion of FindTarget to honor areaportals
November 19, 1997 (early AM)Blitz
I was going to write a big philosophical rant about opinions, but ended up running out of time. Oh darn. * weapon model was having colored lighting applied even in monolightmap. Went in and fixed it.
* stereo support added. Vik from H3D was down here and we get basic stereo support working under OpenGL using the Intergraph Realizm. We're working with other IHVs to get stereo support happening in their OpenGL drivers. Stereo support was pretty straightforward, but it's still not 100% complete, there is still some tweaking to do.
* worked with Activision on installer and start menu setup
* removed player setup menu item from single player "Game" menu to avoid confusion * sent mail to Intergraph with comments and bug reports with their latest drivers
* tweaked credits screen some more, including altering the spacing
* add "go to console" menu item for people without the tilde (~) key
* fixed fuckage with skin cvar * sort player model directory names in the order "male", "female", then alphabetically.
* talked to John about Trinity...I'm really excited about Trinity and can't wait to get started on it.
* ate at Red Lobster*shudder*
* ate at Denny's *shudder*
* looked for weird "black world" bug that happens on 3Dfx multitexture occasionally, but now seems to be gone. Spooky.
* went home and walked dog
All in all, a pretty productive day, but the amazing thing is that two big things I meant to accomplish I didn't have time to get around to -- looking at the difference between GL and soft when rendering the water surface from underwater, and messing around with the profilers I have to see if we're doing anything really stupid.
I really really like this job.
Tomorrow my biggest priorities are:
- finish cleaning up the stereo code - find underwater surface bug in ref_soft - profile code and look for obviously gross bottlenecks
My new time management philosophy has become this: have a fixed list of things I want to accomplish in a given day, and allocate half the day to getting that accomplished. Allocate the other half of the day to fighting fires that crop up. Out of the work log above only TWO items were on my todo list for the day!
I hope that tomorrow I accomplish the first two tasks before dinner, and then fight fires, profile code, optimize, etc. after dinner.
Once you realize that you're not as productive as you should be you can often start making improvements right away -- "knowing is half the battle", as they like to say. You are then attuned to screwing off and being unproductive.
Keeping phone calls to under one hour a day helps, and so does just planting my butt in my chair for several hours in a row. Doing plan updates right before I go home also helps, since that only takes away from my sleep time, not my work time.
There is an article over at next-gen discussing creative's plans with the voodoo2 and how they plan to use it.Check out those URL's!
I thought this was interesting to...
according to this article, it seems as if voice recognition is possible in games. if this is true, then i would love to say "kill thresh without getting hurt" and see it happen :)
h3d, who produces very cool eye-wear for games ( i tried it with vquake at the frag ) has signed a deal with EA to distribute their products.
November 17, 1997There's a bunch more, and I'd consider this another good one to read. Here's the worklog:
NOT QUAKE RELATED:
Reading Cash's .plan update made me think about this:
Why is it that the government makes it more difficult to get a driver's
license than procreate? I mean, if I want to drive, I need to read a book
with all kinds of rules, then I need to actually learn how to drive a
physical car, then I need to prove it to someone.
November 17, 1997 (part 2)GameSPY Contest
Short day, but I got a lot of stuff done. I'm going to spend the remainder of my day playtesting, thus the early update.
* implemented paste-from-Windows-clipboard, using a snippet of code that was provided by the QuakeWorld dudes
* player setup now shows an icon representing the skin you're looking at
* player setup seems to completely work now, including full scanning for models and skins through the search paths and setting the appropriate cvars
* playtested one of American's units
* installed a Monster3D in one of our playtest machines that had previously only had a Permedia2
* worked out (light weight) today, did pretty poorly...only managed to bench 155lbsx23 reps on my first set, blech. We may be spacing the time between sets a little more tighter now, which is probably a good thing. I'm going to try and be disciplined about doing stuff OTHER than benchpress, e.g. military press, flies, etc.
11-17-97Xian updated his .plan with a bug-fix notice to NT users:
I just saw a web banner ad for "Computainment" at
Quake2.com that says they know when Quake II is
coming to stores. I clicked through to their
website hoping they had some information about when
we would be finished with the game so I could laugh
at it. The only thing they have is that QII will be
in stores in early December. That's sort of like
saying that it will be out in time for Christmas, huh?
Please proceed to my .plan file update on 11/13 ;)
--- Nov.17.1997 (12:43am) ---John Cash put aside his worklog for today and instead gave his opinion on a news article he read this morning:
Zoid just demonstrated to me the Teardrop (IP Fragment overlap) exploit
by crashing my NT box =) Symptoms of this exploit are a completely locked machine
(You need to power down to restart).
Thankfully, Microsoft has released a patch for NT users. You must have Service
Pack 3 installed first.
This is a totally non-QuakeII related update.I'd suggest reading it. He makes a lot of points that would probably solve a lot of problems on the road if people paid them heed.
The work log will return tomorrow. I was reading
the news online and saw something that has brought
Voodoo 2 AnnouncementsNigel
Two companies have announced products based on the Voodoo 2 chipset today at Comdex. Creative Labs is developing the 3D Blaster Voodoo 2 and Jazz Multimedia has the Renegade 3D. Details such as game bundles and retail availability will be announced at a later date although it is expected that Voodoo 2 based card will begin showing up in the first quarter of 1998 starting under $300.
The Voodoo 2 chipset, developed by 3Dfx Interactive, includes many advanced 3D features such as gouraud and flat shading, Z-buffering, transparency, alpha-blending, fog/haze effects, anti-aliasing, perspective correction, MIP mapping, plus bilinear and trilinear filtering. Basically, this means your games are going to look pretty darn good on a Voodoo 2 card and will run about three times faster than on current Voodoo Graphics cards.
Today's Worklog:Here is Paul Jaquays update. I'll let you read it yourself, kind of funny, well, yeah, just read it:
* talked to John Tynefield at 3Dfx, and he implemented a new environment variable for 3DFXGL.DLL that prevents the pass-through from kicking in when the focus is list from the application. This greatly assists debugging.
* last night my code dump didn't get fully copied up, so I had to re-merge the new source base with old source base before I could get any work done.
* credits were not being properly centered because of a stupid bug, fixed it.
* messed around with Visual Quantify for quite a bit. The features and UI look like they may not suck, but right now I'm not getting output I consider valid, mostly because I don't know how to use, which is a by product of their really really bad documentation. I'm going to see if Rational won't hold my hand on this one.
* went to dinner at Steak and Ale
* read old Microprocessor Report article on the Hitachi SH-4. Man, that chip just sounds like it's gonna ROCK!
* player config menu was radically redone, again. I had to rewrite our file scanning code to support "musthave" and "canthave" attributes, then I also had to put support for directory scanning into the menus. I spent the vast majority of today working on the player config menu and support routines related to it. It's not completed, I still need to put in the skin icons and also filter out the skin icon PCX files, but other than that, it's looking pretty groovy, baby.
November 17, 1997Oh, I wouldn't say they aren't a bit exciting. I like to fool around with levels a bit myself, so I can relate to a little of what he is saying. ;)
I like reading programmer work logs. It helps me see how feature development is progressing. And since the programmers tend to work different hours than I do (call me the "day shift"), I know what has changed and what I can work with that day.
Ever wonder why level designers don't do worklogs? It's because they would read like this:
* Placed new textures on tram car. Rebuilt tram car (twice) to accommodate textures.
* Changed transparent and translucent water to opaque water in City1 and Train. Noted the vis bugs that occurred.
* Tried to correct vis bug in sewer area of City1 ... ended up isolating areas for John Carmack to analyze.
* Compared Activision bug reports against current builds of my levels. Reported corrections and confusions to appropriate persons.
* Adjusted lighting.
* Found another double targeting of a combat point in City2 that I'd missed earlier
. * Adjusted lighting again.
* Moved several monsters in City1 so they didn't get stuck on spawn in or hang up during play.
* Fixed problem in City2 single player caused by a trigger always entity that should have been deathmatch only.
* Did I say that I adjusted lighting again?
* Provided Brandon James with extra cannon fodder in deathmatch (just call me "Big_Target").
These are not exciting things. :-)
* found the 3Dfx bug for player models. John Tynefield at 3Dfx looked at a debug dump and realized that I was not setting the GL_DEPTH_BUFFER_BIT when calling glClear, so I was getting no output on 3Dfx. The _weird_ thing about it is that this same (incorrect) code works just super-duper on Microsoft's software renderer and on the Realizm, indicating a potential bug on their stuff.John Cash also updated with his:
* fixed weird weapon model bug. This was the result of having two different near clip planes in ref_gl and ref_soft. In ref_gl the clip plane was at 4, but in ref_soft it was at 5. Changing ref_soft's fixed it.
* worked out -- woo-hoo, did 7 reps of 225 for the first time! Unfortunately, I did pretty tremendously poorly on military press.
* bought TV stand at circuit city
* ate at Tia's
* walked dog
* looked into sorting entities on the list, decided that it's not worth it. I can sort the entities relative to each other, but the biggest sorting problems are generally entities vs. the world (e.g. seeing a translucent object through glass or something).
*fixed a crash when a nextframe override had been set but the current move was changed afterwards
*changed a sound name for American
*fixed soldiers in melee attack mode continued to fire after enemy was dead
*made flies work again
-worked on some other stuff that didn't get completed today
*fixed problem where one of the insane guy's spawnflags was getting cleared improperly
*fixed tank's pain skin not being used in some situations
*tightened up shot pattern for the shotgun
*changed bullet/shotgun code to allow for skill level adjustments
-thought I felt better, but I got worse again so I went home
Activision would like to invite you to an exclusive preview of two of the world's most anticipated games:Updated Matrox M3D drivers
Quake 2 and Heavy Gear
Production team members from both Activision and id software will be flown in from the US to give Australian audiences an insight into the development and thought behind the game, as well as demonstration of the final retail versions of both Quake 2 and Heavy Gear.
Afterwards, we are giving the audience an opportunity to win exclusive passes to the VIP party with developers which includes playing Heavy Gear and Quake 2 deathmatch over LAN.
The Sydney event :
Date: December 2, 1997
Venue: Sydney University
Level 4, Wenthworth Building
(Entrance cnr of Butlin and Maze crescent, just off city road)
Tickets are limited so to reserve seats, please RSVP via email to either:
( Please ensure that you email one of the above only)
Don't forget to leave your name and address and how many tickets you would like.
Activisions licence agreement for the Hexen II utilitys is quite simple, and nothing to be afrad of. Activision has requested the right to own all addons made for Hexen II to protect themselfs and the USERS, not to make a quick buck. Activision won't just scoop up your levels and throw them onto a CD and sell them. That is totally wrong. Acivision is a great company, and they would be the last ones in the world to do that. By owning the rights to all the modified levels hc patches, etc... Activision is protecting YOU, the mod author, from being ripped off by companys that really are looking for a quick buck, such as what happened to quake a few times. I hope this can clear up and confusion people may have about the licence agreement. Go out, and have fun with the new tools :)Thanks Bakshra, and sorry for the lack of thought in the original post.
Recently a person that goes by the name of QlowN gave you a message about the Quake2 verification project being done by OpenQuake. This was not an official statement, he sorta jumped the gun. There was nothing on the page when he told you guys this. The info is out now though. We worked like mad and got a small page together. We feel really bad about the people that went and checked out our site, only to find nothing there. We would like to apologize to these people and inform them that we have placed some info at:11/13 John Cash worklog
This will be updated with more info. We hope to keep the project alive for all of the quake2 users out there.
*grabbed new soldier animationsBrian Hook .plan updates
*updated code to match new soldier animations
*grabbed new mutant animations
*updated code to match new mutant animations
*fixed resurrected monsters were dropping items again when killed again
*fixed medics were resurrecting good guys again
*updated insane to match new headers
*updated boss2 to match new headers
*worked with Paul to get new Mutant in and working properly
*fixed bug with target_spawners gibbing monsters as they spawned
*fixed an error in the tank grab script
* looked into weird FOV differences between ref_soft and ref_gl with no resolution to the differencesSlipgate
* talked with a major IHV on the phone about Talisman and why it sucks
* got my haircut, flat-top style
* talked with another IHV on the phone supporting stereo in OpenGL
* talked with another IHV on the phone about potential bugs in their driver
* Terje Mathisen sent me an e-mail suggesting that I look into using timeBeginPeriod/timeEndPeriod to increase the resolution of timeGetTime under WinNT and, sure enough, it worked. Thanks Terje!
* unbroke some code that was making multitexture lightmaps fail, along with gl_dynamic=0 situations
* bought a ton of boxer shorts at Structure
* tested using our own "fabs" vs. the inline fabs() generated by MSVC, and there was no appreciable difference, so I removed our #define for Q_Fabs()
* tested the difference between "maximize speed" and "default optimizations" under the optimization tab for MSVC. In overall game time it didn't make a huge difference, maybe 10% tops, but in certain cases, like our Huffman decompression routine, it sped things up nearly two-fold. It may be fast enough that I don't need to do any hand optimization.
* removed spurious "win95" element from a data structure
Okay, stayed a bit longer to test the E&S board, and it's pretty nice. There didn't seem to be a hit for enabling trilinear, and it's a full 32-bit RGB framebuffer board (no 16-bit modes), unfortunately it looks like it's taking textures and quantizing them to 16-bits. The Z-buffer is apparently 24-bits, and the max res is 1280x1024.
Performance is good, but not quite up to that of the Realizm within the editor. The ICD seems robust and runs the game pretty well, however there were some visual glitches here and there, but nothing fatal.
I'm tentatively going to say that the E&S board is probably the best OpenGL accelerator you can get for general development work outside of the Realizm. With time it may actually be as good as the Realizm.
.............. Here's my work log for today and yesterday (yesterday was a very short day):
* PaulJ had a problem where selecting default OpenGL called the machine to slow to a crawl. This is because the default OpenGL on his system was running in software emulation, which is REAL SLOW. So I got the info necessary to determine if an OpenGL implementation is being accelerated by the MCD or not and implemented that. If Quake2 starts up with OpenGL support and doesn't detect hardware acceleration it will punt back to software. This can be overridden by setting the "gl_allow_software" cvar to "1".
* went through Activision bug report list...these bug reports consume a lot of time while you try and reproduce them and understand what's going on.
* removed "cd_volume" cvar and replaced it with "nocdaudio". This is a classic case of something that was, in theory, a five minute job, but ended up taking almost an hour because the two were NOT doing the same thing, but were complementary, even though they logically did the same thing.
* fixed FOV in player setup menu: the fov for the player model FOV was 90 degrees, which was causing some serious fish-eye artifacts. Tweaked the FOV and model position so that it fills up the viewport better.
* talked to 3Dfx about a bug in their stuff and how to fix it
* sent CDs to IHVs for testing with their various OpenGLs: Tim had to help me burn CDs, but for some reason I'm jinxed I think, since when Tim showed me the CD burner stopped working, and I ended up taking up way more of Tim's time than I was comfortable with (sorry Tim, and thanks again for your patience), and now I can't burn CDs until I buy a dedicated CD burner.
* fixed problem with default OpenGL
* went to Fry's (Cash bought a 100MBit hub, and I'm on it -- 100MBit ROCKS).
* credits: got the final list of credits from Kevin and incorporated that into the program.
* looked at more bug reports from activision (today)
* installed an E&S 3DPro based RealIMAGE board in one of our test systems. Haven't had time to really mess with it.
* x86 timestamp routines: Having cycle-accurate timestamp routines is pretty handy, and so I wrote a short suite of functions that will start a timer, stop it, and store the result in a histogram. I could use QueryPerformanceCounter, but in my experience doing the RDTSC yourself gives more consistent output. Unfortunately the inline asm in MSVC doesn't know what RDTSC is, so you have to do:
__asm _emit 0fh
__asm _emit 31h
...instead. Livable. Anyway, the routines take that data and store it in a histogram that you can examine later to see if optimizations are actually making things faster. This is only really relevant when handcoding asm for some core routines. Right now I'm probably looking at handcoding the huffman decompression stuff, but that ended up taking so long (the routine) that cycle count is necessary, what's more necessary is a full millisecond timer, which means using QueryPerformanceCounter/QueryPerformanceFrequency or timeGetTime. Unfortunately, timeGetTime under WinNT isn't particularly accurate (compared to Win95, where it's truly millisecond accurate), so that hoses that.
* messed with Visual Quantify: this looks like it might be neat, but I'm still not getting really intelligible output from it, but I'll experiment with it a bit more to see if I can't make it burp up something interesting. The latest problem is that I get a fault with the instrumented version of Quake2, but I don't get a fault with the non-instrumented version of Quake2.
* messed with HiProf: my demo copy expired, so I need to order the full version pretty soon if I want to try and see if this works. The problem I had earlier with it ("no relocation data" or something like that) can be fixed if you use the "/fixed:no" parameter in your linker options. This lets both HiProf and Visual Quantify have the data they need to run.
* found a divide-by-zero occurrence that was legit
Quake 2 mission pack(s) and trinity info at my site.You must go and see what he has to say!
Sean Martin - firstname.lastname@example.org
|Redwood's News - http://redwood.stomped.com
|Clan Stomped - http://www.stomped.com/clan.stomped
|Dark Requiem - http://dr.stomped.com