D2X-XL Bug Reports - MS Windows
Moderators: Grendel, Aus-RED-5
Before I spend countless hours on digging through D1X code, or trying to make D2X use all D1X data, I will port D2X to Linux. Imo the new D2X features are far more exciting than playing some old-style D1X single/multiplayer.
If the userbase of D2X was big enough, I'd build in some enhancements that would render it incompatible with standard D2 (how about 16 players in online games - the networking data structures are so crappy it would be a hell of a task to allow for 16 players and yet stay comptabible with D2 network code)?
If the userbase of D2X was big enough, I'd build in some enhancements that would render it incompatible with standard D2 (how about 16 players in online games - the networking data structures are so crappy it would be a hell of a task to allow for 16 players and yet stay comptabible with D2 network code)?
D2x 1.3.35
was playing Keg tonight and notcied that the missle view window would loose textures. It would be white with shading.
Also, when I respawned, it's like being shot out of a gun! o_0 I would slide a good 20 to 40 units before stopping, unless something was in my way.
Anyone else having this trouble?
was playing Keg tonight and notcied that the missle view window would loose textures. It would be white with shading.
Also, when I respawned, it's like being shot out of a gun! o_0 I would slide a good 20 to 40 units before stopping, unless something was in my way.
Anyone else having this trouble?
- BUBBALOU
- DBB Benefactor
- Posts: 4198
- Joined: Tue Aug 24, 1999 2:01 am
- Location: Dallas Texas USA
- Contact:
1.3.36 i have a screen shot of the issue but this shows up in the rearview window, no issues until after 1.3.34 did not check missle view but it might be related to all windows. this problem changes with movement. can be from just limited distance and sometimes will fill the whole window
rearview window here
my specs
rearview window here
my specs
My system:Lehm wrote:What kind of graphics card do you have?Duper wrote:was playing Keg tonight and notcied that the missle view window would loose textures. It would be white with shading
mobo: Shuttle AK32A (VIA KT266A, VT8366A/VT8233)
CPU: Athlon 1800+
VID: XFX Nvidia 6600GT (drvrs:7.1.8.9){current}
Mem: 512meg Mushkin DDR 2100 cas 2.5
Sound: SB Live! 5.1 (sb0100)
OS: XP PRO
HD: Maxtor 7200 60 Gig (Quantum drive)
IE 6
Dx 9.0c
Transparent Explosions
I was wondering if you could implement transparent explosions like in the 3dfx version.
For some reason it really has this great feel to it imho.
btw, another bug...when midi is at minimum volume, then back at a not zero volume, playback is restarted instead of resumed.
This probably causes the menu music to continue when I go back in the game.(when midi volume was changed ingame, that is)
Oh I noticed moving dynamic lights such as lasers look good now but are a bit jerky (as usual, nothing new) Any way to smoothen/interpolate the movement of thse lights? (by using more accurate fractional parts or writing interpolation code)
Transparent explosions I would like to see...the interpolation thing is something i care less about, allthough it would be nice.
I noticed the soundeffects sounded a bit distorted in the latest version...could be my piece of crap soundcard, though...I haven't really looked into that.
Thank you for d2x-w32!
For some reason it really has this great feel to it imho.
btw, another bug...when midi is at minimum volume, then back at a not zero volume, playback is restarted instead of resumed.
This probably causes the menu music to continue when I go back in the game.(when midi volume was changed ingame, that is)
Oh I noticed moving dynamic lights such as lasers look good now but are a bit jerky (as usual, nothing new) Any way to smoothen/interpolate the movement of thse lights? (by using more accurate fractional parts or writing interpolation code)
Transparent explosions I would like to see...the interpolation thing is something i care less about, allthough it would be nice.
I noticed the soundeffects sounded a bit distorted in the latest version...could be my piece of crap soundcard, though...I haven't really looked into that.
Thank you for d2x-w32!
-
- Defender of the Night
- Posts: 13477
- Joined: Thu Nov 05, 1998 12:01 pm
- Location: Olathe, KS
- Contact:
I also noticed a bug introduced by 1.3.35 (haven't checked 1.3.36 yet) with the laser cannon. Sometimes d2x-w32 will fail to render the laser blasts up close, but will render the bolts a couple cubes away. However, anything in the patch, whether up close or far away, will still get hit and take damage like normal.
AMD XP 2800+
Leadtek K7ncr18-D Pro (nforce2 mobo, ultra 400 chipset using onboard SoundStorm codec for audio via spidif)
PNY Geforce 4 Ti4600 128MB DDR
512MB PC2700 DDR
All drivers are current.
AMD XP 2800+
Leadtek K7ncr18-D Pro (nforce2 mobo, ultra 400 chipset using onboard SoundStorm codec for audio via spidif)
PNY Geforce 4 Ti4600 128MB DDR
512MB PC2700 DDR
All drivers are current.
x2MD-2389 wrote:I also noticed a bug introduced by 1.3.35 (haven't checked 1.3.36 yet) with the laser cannon. Sometimes d2x-w32 will fail to render the laser blasts up close, but will render the bolts a couple cubes away. However, anything in the patch, whether up close or far away, will still get hit and take damage like normal.
AMD XP 2800+
Leadtek K7ncr18-D Pro (nforce2 mobo, ultra 400 chipset using onboard SoundStorm codec for audio via spidif)
PNY Geforce 4 Ti4600 128MB DDR
512MB PC2700 DDR
All drivers are current.
Lehm has rewritten the rendering code as a step towards using lightmaps. I will turn the new rendering code off until this issue is resolved.
I will also look into the explosion rendering and maybe succeed in having them rendered transparently.
I will also look into the key pick up issue in coop games mentioned in another thread here (although I do not currently believe there is a bug in that).
I haven't changed sound code, but on some occasions (lava) I have pretty much static in my sound, too. I absolutely cannot tell why and how to fix that though, unfortunately.
The midi bug is a 'feature', as turning midi sound to zero actually turns midi playback off, and turning sound back on will therefore start with (some) song's beginning.
I will also look into the explosion rendering and maybe succeed in having them rendered transparently.
I will also look into the key pick up issue in coop games mentioned in another thread here (although I do not currently believe there is a bug in that).
I haven't changed sound code, but on some occasions (lava) I have pretty much static in my sound, too. I absolutely cannot tell why and how to fix that though, unfortunately.
The midi bug is a 'feature', as turning midi sound to zero actually turns midi playback off, and turning sound back on will therefore start with (some) song's beginning.
Re: Transparent Explosions
Disable the 22K sound in the .ini file like so > ;-sound22k3803 wrote:I noticed the soundeffects sounded a bit distorted in the latest version...
That got rid of the sound thing with me.
Yep, I had allready noticed.
Midi is ok now. Works like a charm...even robot movies work!
Robot movie position only ok at 640*480 but really, I can live with that for now; I'll just play at 640*480 with anti-aliasing on.
Again, one step closer to the original D2 gameplay, thanks a lot
Just a question...In the dos version of D2 you had this "real" cockpit, while in D2X, I can only get the rectangular HUD bar. Does D2X-W32 support the original cockpit?
Midi is ok now. Works like a charm...even robot movies work!
Robot movie position only ok at 640*480 but really, I can live with that for now; I'll just play at 640*480 with anti-aliasing on.
Again, one step closer to the original D2 gameplay, thanks a lot
Just a question...In the dos version of D2 you had this "real" cockpit, while in D2X, I can only get the rectangular HUD bar. Does D2X-W32 support the original cockpit?
- TigerRaptor
- DBB Fleet Admiral
- Posts: 2694
- Joined: Tue Feb 01, 2000 6:00 am
Duper,Duper wrote:hrm 22K sound still fubar.
oh, and why is the game still skipping the intro movie without the -nomovie tag?
some basics of polite human interaction right for you. How about this:
How does that sound?Dear Diedel,
22K sound still doesn't sound good on my machine. Could you take a look into that?
The intro movie gets skipped for me although there is no -nomovie tag set. Maybe you want to fix that, too.
Greetz
Duper
_________________________________________
3803,
ok then. Btw, the 'real' cockpit is not available in D2X-W32. Maybe I will put it back in one day, maybe not.
- TigerRaptor
- DBB Fleet Admiral
- Posts: 2694
- Joined: Tue Feb 01, 2000 6:00 am
Nope. A toaster!Diedel wrote:You are running D2X-W32 on a computer?
Any way Iâ??ve gotten that Invalid Polygon message a lot when trying to play the D2 Vertigo series as well with Counter Strike. But it wasnâ??t nearly has bad with Counter Strike except when it came to the final boss or Alien boss 2, and a few other levels.
Now as for that choppy frame rate with singleplayer. If I run D2X-W32 640x by 480x the game will run smooth. If I go 800x by 600x or higher the frame rate will get really choppy, and at some points freeze then start up again. Iâ??ve gotten both of these problems with Windows 98se and Windows XP on the same machine.
The out dated peace of junk is a 1 gig Tbirg running on a SIS motherboard, 512 megs of SD ram, 20 gig Maxtor and Western Digital 60gig HD, ATI Radeon 9200, with Windows 98se and XP.
Because I'm not writing a business letter. I'm on a forum where we all know each other and I was taking a casual stance. *shrug* Nothing was ment by it.Diedel wrote:Duper,Duper wrote:hrm 22K sound still fubar.
oh, and why is the game still skipping the intro movie without the -nomovie tag?
some basics of polite human interaction right for you. How about this:How does that sound?Dear Diedel,
22K sound still doesn't sound good on my machine. Could you take a look into that?
The intro movie gets skipped for me although there is no -nomovie tag set. Maybe you want to fix that, too.
Greetz
Duper
_________________________________________
3803,
ok then. Btw, the 'real' cockpit is not available in D2X-W32. Maybe I will put it back in one day, maybe not.
Bubbalou,
- that might have been the crucial hint, very good! Actually, I once had the same problem until I noticed that for some reason fps had been set to 1 - lol.
- anyway, no reason to sound impolite. Btw, if I omit the -nomovies switch, I get the intro movie played when launching D2X-W32. Check both your d2x.ini and command line switches.
- I have actually managed to enable the full cockpit in 640x480. It's not completely done yet, a few elements are missing, but cockpit and rear view as well as fuel and AB gauges work already. Lehm, the D2X-W32 3D expert, has done a nice job in polishing up the transparent explosions, btw.
Okay... I've gotten rid of the crappy onboard audio that I had before (SOOO much better now), and D2XW32 no longer has any audio problems for me. But...
The audio in the intro movie lags significantly, I'd put it in the ballpark of 500ms. And whenever there's a hard cut (basically whenever the palette changes), the palette from the previous frame is used instead of what should be the current one, making it look all weird for one frame. Robot briefings show a box or something and a blue version of one frame in the upper left corner of where the movie gets played on the screen for one frame before playing. Also, the movies look like they're filtered nearest-pixel, which isn't very pretty. I realize that enabling filtering would make it look blurry, but it'd look enough better to warrant it. Maybe add a -moviefilter <x> sort of option?
Sprites aren't depth sorted in D2, so leaving depth buffering on when drawing them creates some ugly artifacts. I recommend disabling depth buffering on sprites altogether, as it looked just fine in the original D1/D2 that way, and it would stop them from clipping on walls (shot any mega missiles lately?). Perhaps also disable depth buffering and blending for polygonal weapons? I realize that not depth clipping these things could introduce artifacts where incorrect clipping necessitated depth buffering, but it would fix more than it would break.
The explosions would look a lot better if each pixel's base alpha value was decided by the intensity of the pixel. I believe this is how D2_3Dfx did it. I hacked something similar to this into D1X at some point and the results looked quite good, but it was difficult to figure out which textures it needed to be done to from within the depalettization routine I stuck it in (it doesn't get the texture's name). I settled on checking for particular texture sizes. I imagine that with your intimate knowledge of the engine, you could come up with something much better Stick with the GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA blending mode for sure.
I like the idea of varying explosion transparency based on time, but instead of fading them in and out, have them simply fade out, starting at maybe 1/3rd or 2/3rds of the way into it. The beginning of the explosion is when it is giving off the most energy, so fading it in seems rather inappropriate to me.
What are the odds of frame tweening for explosions? Dunno if it'll look good, but it might be worthwhile. Shouldn't be too hard to implement, just draw the sprite twice. Another good reason to disable depth buffering on sprites
Great work Diedel and Lehm ^^ Can't wait for the lightmapping! Hey, can we have realtime radiosity?
hmm, lightmaps built into D2 levels... Imagine how much better things would look, like with grates and the like. D3Edit has the (slow) radiosity routines used for D3, might be worth taking a look at down the road. Something to dream about, hehe
The audio in the intro movie lags significantly, I'd put it in the ballpark of 500ms. And whenever there's a hard cut (basically whenever the palette changes), the palette from the previous frame is used instead of what should be the current one, making it look all weird for one frame. Robot briefings show a box or something and a blue version of one frame in the upper left corner of where the movie gets played on the screen for one frame before playing. Also, the movies look like they're filtered nearest-pixel, which isn't very pretty. I realize that enabling filtering would make it look blurry, but it'd look enough better to warrant it. Maybe add a -moviefilter <x> sort of option?
Sprites aren't depth sorted in D2, so leaving depth buffering on when drawing them creates some ugly artifacts. I recommend disabling depth buffering on sprites altogether, as it looked just fine in the original D1/D2 that way, and it would stop them from clipping on walls (shot any mega missiles lately?). Perhaps also disable depth buffering and blending for polygonal weapons? I realize that not depth clipping these things could introduce artifacts where incorrect clipping necessitated depth buffering, but it would fix more than it would break.
The explosions would look a lot better if each pixel's base alpha value was decided by the intensity of the pixel. I believe this is how D2_3Dfx did it. I hacked something similar to this into D1X at some point and the results looked quite good, but it was difficult to figure out which textures it needed to be done to from within the depalettization routine I stuck it in (it doesn't get the texture's name). I settled on checking for particular texture sizes. I imagine that with your intimate knowledge of the engine, you could come up with something much better Stick with the GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA blending mode for sure.
I like the idea of varying explosion transparency based on time, but instead of fading them in and out, have them simply fade out, starting at maybe 1/3rd or 2/3rds of the way into it. The beginning of the explosion is when it is giving off the most energy, so fading it in seems rather inappropriate to me.
What are the odds of frame tweening for explosions? Dunno if it'll look good, but it might be worthwhile. Shouldn't be too hard to implement, just draw the sprite twice. Another good reason to disable depth buffering on sprites
Great work Diedel and Lehm ^^ Can't wait for the lightmapping! Hey, can we have realtime radiosity?
hmm, lightmaps built into D2 levels... Imagine how much better things would look, like with grates and the like. D3Edit has the (slow) radiosity routines used for D3, might be worth taking a look at down the road. Something to dream about, hehe
I have changed explosion transparency gradient and bitmap clipping as you have proposed, but what about the movie filtering? What OpenGL filter do I need to enable here (I am not an OpenGL expert)? I might try to fix the movie palette problem, but it doesn't have a high priority. It's a bloody work to find and fix this crappy palette stuff in D2X.
Edit: Briefing robot movie palette problem fixed.
Edit: Briefing robot movie palette problem fixed.
- TigerRaptor
- DBB Fleet Admiral
- Posts: 2694
- Joined: Tue Feb 01, 2000 6:00 am
Raptor,
I was asking for your 'puter cause it would've been helpful to know your hardware. Although D2 is an old game, the OpenGL stuff still demands something from your hardware. I run it on an Athlon 64 3500+ and GF 5200 at work and cannot run it with more than 640x480 w/o it getting sloppy at certain areas.
So it might simply be your hardware. Actually, from the symptoms it looks like some driver is not set up properly, or some other software is interfering with D2X-W32. If you are running folding@home together with D2X-W32, exit f@h - it can cause problems for D2X-W32. Same goes for RivaTuner.
If haven't done so, you should shut down all background tasks you don't need to play, update all drivers (motherboard chipset drivers!), and generally look for a clean, well maintained operating system. Win98 tends to gather a lot of crap over the time to the point it won't work properly any more.
Are you using Catalyst drivers? Which version?
I was asking for your 'puter cause it would've been helpful to know your hardware. Although D2 is an old game, the OpenGL stuff still demands something from your hardware. I run it on an Athlon 64 3500+ and GF 5200 at work and cannot run it with more than 640x480 w/o it getting sloppy at certain areas.
So it might simply be your hardware. Actually, from the symptoms it looks like some driver is not set up properly, or some other software is interfering with D2X-W32. If you are running folding@home together with D2X-W32, exit f@h - it can cause problems for D2X-W32. Same goes for RivaTuner.
If haven't done so, you should shut down all background tasks you don't need to play, update all drivers (motherboard chipset drivers!), and generally look for a clean, well maintained operating system. Win98 tends to gather a lot of crap over the time to the point it won't work properly any more.
Are you using Catalyst drivers? Which version?
I think he means that all of the vertices for each face are sent to the graphics card, as opposed to using something such as a triangle strip, where the previous two verts are used for the next triangle (this saves gobs of memory bandwidth in talking to the hardware through the gfx driver). And yes, it would probably require a rewrite to get D2 to do that in an effective manner. But even so, an FX5200 should be getting quite reasonable performance at 800x600 (as in sitting on the default framecap most of the time). The 9250 I put into my sister's computer played it fine at 1024x768 (well, an older version; this was some time ago). D2 is far from demanding...
Yes, realtime radiosity, that's nothing at all I'd still love to see it, though. Accurate, natural-looking lighting is what I like most about a game's graphics. Yes, I realize the computational expense; I hoped you might laugh when you first read that rather sarcastic request
To get filtering in movies, change line 1833 in ./arch/ogl/ogl.c, ogl_ubitblt_i() from
tex.wantmip=0;
to..guess..
tex.wantmip=1;
Thing is, though, it looks like that function is also used for font rendering, maybe the cockpit, and some other things. Worst that can happen is you get blurry fonts, so give it a try I suppose If it does screw up something, probably the easiest way to fix it would be to add a wantmip parameter to ogl_ubitblt_i(), which is only called by ogl_ubitblt(), show_fullscr() in ./2d/bitblt.c, and the MVE playing routines.
Yes, realtime radiosity, that's nothing at all I'd still love to see it, though. Accurate, natural-looking lighting is what I like most about a game's graphics. Yes, I realize the computational expense; I hoped you might laugh when you first read that rather sarcastic request
To get filtering in movies, change line 1833 in ./arch/ogl/ogl.c, ogl_ubitblt_i() from
tex.wantmip=0;
to..guess..
tex.wantmip=1;
Thing is, though, it looks like that function is also used for font rendering, maybe the cockpit, and some other things. Worst that can happen is you get blurry fonts, so give it a try I suppose If it does screw up something, probably the easiest way to fix it would be to add a wantmip parameter to ogl_ubitblt_i(), which is only called by ogl_ubitblt(), show_fullscr() in ./2d/bitblt.c, and the MVE playing routines.
Just tested the latest version.
The palette problem is gone from the intro movie now too. ^^ But robot briefings still do this weird thing for the first frame displayed, which I managed to catch in a screenshot:
The bar in the upper right is from BB4Win (a very nice shell replacement, btw), so ignore it. Note that there's a "missing" highlight on the bolt just under it though (I guess this is also a palette problem of some sort). Also, briefing text doesn't display in this version. oops?
ARGH! Invisible menus are back; while playing and after playing, I can see no UI items. It might be some kind of swapping problem, since you can see an appropriately-sized black box for a moment after closing the quit game menu in-game (hitting escape twice).
hmm, the new explosions aren't really what I had in mind; they're way too transparent. I love the fading effect though, it looks very nice. The 3Dfx explosions had a transparency value that was dependent upon the explosion's visual intensity at each pixel, such that a brighter part of it would be more opaque. If I had a compiler working I'd hack it so you could see what I mean. In psuedocode, it would look something like this:
Of course, if you wanted to be real fancy about it, you could use the accepted chromatic intensities (I think green is weighted highest at around .5, red around .3, and blue around .2). Dunno how three float multiplies would compare speed-wise to three integer sums and a divide though. Not that it matters, since it'd only be done once per texture load anyway.
The palette problem is gone from the intro movie now too. ^^ But robot briefings still do this weird thing for the first frame displayed, which I managed to catch in a screenshot:
The bar in the upper right is from BB4Win (a very nice shell replacement, btw), so ignore it. Note that there's a "missing" highlight on the bolt just under it though (I guess this is also a palette problem of some sort). Also, briefing text doesn't display in this version. oops?
ARGH! Invisible menus are back; while playing and after playing, I can see no UI items. It might be some kind of swapping problem, since you can see an appropriately-sized black box for a moment after closing the quit game menu in-game (hitting escape twice).
hmm, the new explosions aren't really what I had in mind; they're way too transparent. I love the fading effect though, it looks very nice. The 3Dfx explosions had a transparency value that was dependent upon the explosion's visual intensity at each pixel, such that a brighter part of it would be more opaque. If I had a compiler working I'd hack it so you could see what I mean. In psuedocode, it would look something like this:
Code: Select all
//Do this for each texel in an explosion texture
for(int x=0, x<w; x++) {
for(int y=0, y<h; y++) {
pixels[x][y].alpha = (pixels[x][y].red + pixels[x][y].green + pixels[x][y].blue) / 3;
}
}