Major flaw in D2X-XL communication with non D2X-XL versions!
Moderators: Grendel, Aus-RED-5
Major flaw in D2X-XL communication with non D2X-XL versions!
I found a major flaw in D2X-XLs IPX communication with non D2X-XL participants today.
D2X-XL has all these nice extra mp features, like 'TYPING' messages and stuff, right?
Now Descent doesn't send a tiny data package for every event in the game, but collects them until it has a few hundred bytes. Each mp message has its own tag. The receiver knows by the tags in the big data package how many data bytes follow. So it will nicely decode message by message.
Now Descent stops processing such a big data packet if it finds an unknown tag. That means if D2X-XL mixes legacy and D2X-XL messages, each legacy messages coming after the first D2X-XL message in the big packet will be ignored by non D2X-XL versions. D'uh!
I have to admit that Tankie was right with their observation that D2X-XL causes problems for non D2X-XL users.
Ofc there is a solution to this. D2X-XL will now separate D2X-XL and legacy messages. That will result in non D2X-XL versions simply discarding any D2X-XL messages, which actually is a desired effect.
Geez, this was really hard to find.
D2X-XL has all these nice extra mp features, like 'TYPING' messages and stuff, right?
Now Descent doesn't send a tiny data package for every event in the game, but collects them until it has a few hundred bytes. Each mp message has its own tag. The receiver knows by the tags in the big data package how many data bytes follow. So it will nicely decode message by message.
Now Descent stops processing such a big data packet if it finds an unknown tag. That means if D2X-XL mixes legacy and D2X-XL messages, each legacy messages coming after the first D2X-XL message in the big packet will be ignored by non D2X-XL versions. D'uh!
I have to admit that Tankie was right with their observation that D2X-XL causes problems for non D2X-XL users.
Ofc there is a solution to this. D2X-XL will now separate D2X-XL and legacy messages. That will result in non D2X-XL versions simply discarding any D2X-XL messages, which actually is a desired effect.
Geez, this was really hard to find.
If I was you, I'd dig into OpenGL, OpenAL and OPL (Open Physics Layer) instead.
Screw Vista and DX10.
Fixing that KALI bug was ... difficult.
First I had to setup D2X-Rebirth for debugging on my system. That was a nightmare. The projects are a complete mess. I took me like two hours to finally get a debug executable.
Just as I had figured the bug causing the problems, my second test machine's harddrive broke. I managed to get another computer, but it had no sound drivers, the gfx driver was outdated and I could not access the inet with it to get all drivers I needed.
Took me another hour to get around that.
Then D2X-XL froze that machine repeatedly.
I finally installed D2X-R (non debug) on it and ran D2X-XL on my main development machine to see if everything worked now. Fortunately it did. I finished this in the very last minute I had for it.
Screw Vista and DX10.
Fixing that KALI bug was ... difficult.
First I had to setup D2X-Rebirth for debugging on my system. That was a nightmare. The projects are a complete mess. I took me like two hours to finally get a debug executable.
Just as I had figured the bug causing the problems, my second test machine's harddrive broke. I managed to get another computer, but it had no sound drivers, the gfx driver was outdated and I could not access the inet with it to get all drivers I needed.
Took me another hour to get around that.
Then D2X-XL froze that machine repeatedly.
I finally installed D2X-R (non debug) on it and ran D2X-XL on my main development machine to see if everything worked now. Fortunately it did. I finished this in the very last minute I had for it.
This is the best news I've seen all year! I'm glad you stuck with it, Diedel, and congratulations and thank you for your dedication to the project.
I am eager to play a few games with the new fix. There are a lot of good and dedicated players using XL and now I'll have the opportunity to get some QUALITY playtime with them.
You're going down, fellas!
Luv yas.
Tankie2
If it isn't Descent, it's just another interactive screen saver.
I am eager to play a few games with the new fix. There are a lot of good and dedicated players using XL and now I'll have the opportunity to get some QUALITY playtime with them.
You're going down, fellas!
Luv yas.
Tankie2
If it isn't Descent, it's just another interactive screen saver.
Re:
The problem was the messed up MS Visual C project structure.The Lion wrote:Hm, is there no suitable debugger for DXX on windows..?
lolzTankie2 wrote:If it isn't Descent, it's just another interactive screen saver.
Wasn't hard to achieve, given the year is barely three weeks old.Tankie2 wrote:This is the best news I've seen all year!
You should get a computer that can run D2X-XL and try it. There are a few neat features in it. You should see the smoke ...