Major flaw in D2X-XL communication with non D2X-XL versions!

D2X-XL - Descent II update for modern systems with many new features and enhanced graphics. Home Page

Moderators: Grendel, Aus-RED-5

Post Reply
User avatar
Diedel
D2X Master
D2X Master
Posts: 5278
Joined: Thu Nov 05, 1998 12:01 pm
Contact:

Major flaw in D2X-XL communication with non D2X-XL versions!

Post by Diedel » Mon Jan 15, 2007 9:16 am

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. :oops:

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.
Atixtasy
DBB Ace
DBB Ace
Posts: 55
Joined: Fri Oct 27, 2006 10:40 am
Contact:

Post by Atixtasy » Mon Jan 15, 2007 3:24 pm

ouch...good thing you found it though. :)
User avatar
Diedel
D2X Master
D2X Master
Posts: 5278
Joined: Thu Nov 05, 1998 12:01 pm
Contact:

Post by Diedel » Mon Jan 15, 2007 3:53 pm

Tankie had told me about this months and months ago, but I just didn't know what to make of it - until today. :)
Atixtasy
DBB Ace
DBB Ace
Posts: 55
Joined: Fri Oct 27, 2006 10:40 am
Contact:

Post by Atixtasy » Mon Jan 15, 2007 6:25 pm

Yea i know what you mean. Considering i'm a [novice] programmer myself. Direct3D 10 SDK, although powerful, is an extremely complex bunch of code and finding some little piece is near impossible.

This is why i respect you so much and all you have done thus far keep it up! :lol: 8)
User avatar
Diedel
D2X Master
D2X Master
Posts: 5278
Joined: Thu Nov 05, 1998 12:01 pm
Contact:

Post by Diedel » Tue Jan 16, 2007 5:51 am

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.
User avatar
The Lion
DBB Ace
DBB Ace
Posts: 197
Joined: Mon Apr 17, 2006 2:13 pm
Location: The Netherlands

Post by The Lion » Tue Jan 16, 2007 7:30 am

To debug DXX-Rebirth I just compile with -g and use gdb/valgrind on a `release' executable.
User avatar
Diedel
D2X Master
D2X Master
Posts: 5278
Joined: Thu Nov 05, 1998 12:01 pm
Contact:

Post by Diedel » Tue Jan 16, 2007 7:45 am

Talking about Windoze, Lion.

On Linux, I am using DDD.
User avatar
The Lion
DBB Ace
DBB Ace
Posts: 197
Joined: Mon Apr 17, 2006 2:13 pm
Location: The Netherlands

Post by The Lion » Tue Jan 16, 2007 5:26 pm

Hm, is there no suitable debugger for DXX on windows..?
User avatar
Tankie2
DBB Ace
DBB Ace
Posts: 87
Joined: Tue Jun 12, 2001 2:01 am

Post by Tankie2 » Tue Jan 16, 2007 5:47 pm

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.
User avatar
Diedel
D2X Master
D2X Master
Posts: 5278
Joined: Thu Nov 05, 1998 12:01 pm
Contact:

Re:

Post by Diedel » Tue Jan 16, 2007 6:08 pm

The Lion wrote:Hm, is there no suitable debugger for DXX on windows..?
The problem was the messed up MS Visual C project structure.
Tankie2 wrote:If it isn't Descent, it's just another interactive screen saver.
lolz
Tankie2 wrote:This is the best news I've seen all year!
Wasn't hard to achieve, given the year is barely three weeks old. :P

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 ...
Post Reply