Post

 Resources 

Console

Home | Profile | Active Topics | Members | Search | FAQ
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 VBGamer
 VBGamer
 DirectX 9.0c Damit they did it again!
 New Topic  Reply to Topic
 Printer Friendly
Previous Page
Author Previous Topic Topic Next Topic
Page: of 2

Lachlan87
Moderator

USA
160 Posts

Posted - Nov 15 2004 :  7:18:58 PM  Show Profile  Reply with Quote
That’s what pisses me off too. After you finally get MDX working, it's lots of fun to program with, but it's dang hard to get things set up right. Since you can pretty much guarantee that your end-users are lazy, stupid, and evil, that is unacceptable. People want to be fed pureed stuff with a spoon, and MDX requires way too much chewing.


Edited by - Lachlan87 on Nov 15 2004 7:19:50 PM
Go to Top of Page

cbx
Swordmaster

Canada
296 Posts

Posted - Nov 15 2004 :  8:04:27 PM  Show Profile  Visit cbx's Homepage  Send cbx an ICQ Message  Click to see cbx's MSN Messenger address  Send cbx a Yahoo! Message  Reply with Quote
quote:
Originally posted by Lachlan87

That’s what pisses me off too. After you finally get MDX working, it's lots of fun to program with, but it's dang hard to get things set up right. Since you can pretty much guarantee that your end-users are lazy, stupid, and evil, that is unacceptable. People want to be fed pureed stuff with a spoon, and MDX requires way too much chewing.



I think someones got the munchies!

Created by: X
http://www.createdbyx.com/
Go to Top of Page

Knight Chat X
Squire

USA
24 Posts

Posted - Nov 17 2004 :  3:57:02 PM  Show Profile  Visit Knight Chat X's Homepage  Reply with Quote
It's worse than that, this problem of library/runtime file versions also affecting the .Net Framework itself, upon attempting to install Visual Studio 2003, Visual Basic 2005, and DirectX 9.0c October SDK, and Visual Web Developer noticed each app I tried to install failed to install properly and refused installation, and the reason was?

Each and every release has a totally different version of the runtime files, you must install a paticular version, usually the one that comes on the applications CD in order to install it, but get this as it's even worse, since they change the runtime files like this, it means it would affect all languages under the framework, and what sucks more is that users that use your applications more than likely are forced to not just download the runtime files once, but anytime there is a change in versions on your machine which your software relies on, this would explain why if you create a software title using .Net, and a user needs to download .Net to run your app, if the user download's it today and the framework is 2.0 and your software is in 1.9, they don't match, version 2 is incompatible, thus problems occur, I can easily see this as leading to inquires and numerous online technical support requests.

As for pre-authored game engines, here's another game engine, this seems to be the onlyone I could get to work with with DirectX 9.0c, however, I don't recommend using a pre-authored game engine's because where's the fun and control in having your own, I know I know, there are plenty of up's to it as well, mainly getting game out faster:
http://www.truevision3d.com

For now, CBX's advice works well to get existing app's to go, another thing to remember is Visual Studio will automatically link references to the newest installed version of files, in order to run the 9.0b or previous samples simply remove all DirectX references in the IDE, and re-add each one, but this time navigate to the DirectX Version 9.00.0900 files and the app's should now work, even with DirectX 9.0c installed.

Another tip is something I learned from the big language changes of VB6 to VB.net, when creating your own library, it's best to keep things as light weight and as simple as possible yet functional, because if there's a change somewhere and you've got this massive library that is so deep it takes a day to re-learn something you wrote previously, it probably branches too much will create a big learning curve for others to follow. An example would be let's say you wanted to remove a tree from the ground, if the tree is small and there aren't as many branches, thus, it is easier to remove and you are ready to move to other things you gotta do quickly, now, let's say you try and remove a very huge tree that has many roots and is many years old, it's taller, has many branches, that tree would be a nightmare to remove.

Well, due to all the changes in programming syntax, technologies, security updates which hinder or remove features altogether and force developers to change programming methods, I got one thing left to say, I've spent more time re-writing programs and converting languages because of all these required changes, lack of adequate documentation, simple straight forward examples, it's caused so much time loss and nothing but headaches.

I like Microsoft, and I ain't got a problem with Bill Gates, but these version conflicts are messed up!!!

The net is getting bigger and bigger.
Go to Top of Page

Matt_Giuca
Neophyte

Australia
3 Posts

Posted - Jan 10 2005 :  04:03:35 AM  Show Profile  Visit Matt_Giuca's Homepage  Click to see Matt_Giuca's MSN Messenger address  Reply with Quote
I agree, this version stuff is completely craxy. I don't know how you can expect the enduser to keep up. The best you can do is install the old versions yourself.

I found out that old versions of MDX are actually able to coexist. However I also noticed a very wierd thing - when I reopened my projects in VS.NET they automatically upgraded the version of the DLLs. I havent really tried this out much, but wouldn't that corrupt the code (since some functions have changed)? Anyone know about the auto-upgrading?

Also I found out that each version of MDX has a couple of different version numbers. This is the dumbest thing of all. Heres what I wrote in my analysis document:
All versions are installed by mdxredist.exe.
Each has 3 different versions.
In Windows\Assembly, it displays a version there. (assembly folder version)
If you right click the assembly, and go properties you see another version. (properties version)
In Windows\Microsoft .NET\DirectX Managed you see a different version (.net managed version)
In .NET when you go to the properties of the assembly you see yet another version. (runtime version)

December 2004
Included in: directx_9c_Dec04sdk_redist.exe
mdxredist.msi: 3,877,888 bytes
Installs and uninstalls managed.

assembly folder version: 1.0.2902.0
properties version: 5.4.0.2904
.net managed version: v9.03.91
runtime version: v1.1.4322

SDK Summmer 2003
mdxredist.msi: 5,180,928 bytes
Installs managed, no uninstall, also silent
Install header: "1126"

assembly folder version: 1.0.1901.0
properties version: 5.3.1.1126
.net managed version: v9.00.1126
runtime version: v1.0.3705


Unknown source???
assembly folder version: 1.0.900.0
properties version: 5.3.0.900
.net managed version: v9.00.0900
runtime version: v1.0.3705 (same as above)

---- End of doc ---

By the way the latest version can be found inside directx_9c_Dec04sdk_redist.exe (search msdn) if you extract the files and look for mdxredist.msi.
Also I found the following things in my program had to be changed:
Light.Commit() has become Light.Update()
why?

Another thing which is a very good thing, but annoying to have to change, is that CustomVertex.GetNormal()/GetPosition() and CustomVertex.SetNormal(Vector3)/SetPosition(Vector3) have been replaced with properties CustomVertex.Normal/Position

Anyway this is unacceptable, especially for Microsoft, but I suppose it will straighten out. Hope that document helped someone.
Go to Top of Page

ceefour
Neophyte

Indonesia
2 Posts

Posted - Mar 10 2005 :  06:58:21 AM  Show Profile  Visit ceefour's Homepage  Send ceefour a Yahoo! Message  Reply with Quote
This versioning problem actually also exists in .NET Framework itself. VS.NET 2003 by default targets v1.1 only, so your apps won't run on version 1.0 of the framework. I'm not sure if it can run on newer .NET Framework versions.
However you can change your project properties so your app will run under v1.0 but you need to design your app carefully so it won't use v1.1 features.

I believe the same thing can be done with Managed DX apps. You only need to loose up your assembly dependency so it will use any version of Managed DX available on the system. The same restrictions apply though, and it won't work if the Managed DX API between versions change (as it seems to) and you use the changing API.

About my first MDX app, it's a overlay rotator app. It's like a very simple wallpaper rotator, but it doesn't use your wallpaper but instead uses an overlay to overlay that picture desktop using the white color key. It's great... :-) And I haven't found any other app that provides the same functionality... And the download is only 8 KB. :-P

If you're interested just go to http://dev.gauldong.net/shiningwallpaper/. The source is available but currently not downloadable. It uses C# though... I hate VB :-P

GaulDong Developer Center - http://dev.gauldong.net/
Go to Top of Page

Bill_Shtinkwater
Neophyte

1 Posts

Posted - Mar 11 2005 :  1:51:03 PM  Show Profile  Reply with Quote
I want to rant too! ;) I am also amongst the many affected by the changes to the latest MDX - even once I get my game to compile (which wasn't that hard, just changing the one call to lights().commit or whatever) but now it seems 1. my bullets no longer get drawn for some reason, and 2. whenever I quit the game I get: "An unhandled exception of type 'System.NullReferenceException' occurred in microsoft.directx.direct3dx.dll

Additional information: Object reference not set to an instance of an object."

Great, thanks M$! Thankfully my project is fairly simple, but how can anyone consider making a commercial game with things like this happening? However I notice that in the release notes for the update it says:

"Starting with this SDK release, D3DX is released as a dynamic-link library (DLL). Updates to D3DX in the future will continue to ship as uniquely named DLLs that exist side-by-side on the system. This allows for continued improvements to the library without imposing regression risk. D3DX9.lib is provided as the import library for the DLL, which your application can statically link against. See documentation for details."'

If I read that right (which is a big "if" ;)) that means that it is now safe to make function calls to the d3dx library because any future changes to those calls will only affect new versions of the d3dx dlls, which can all happily coexist with each other. So, new versions don't break stuff that uses old versions. That would seem like a step in the right direction. :)

Still the thing that kills me is how difficult it is to even get a system properly configured with mdx. As somebody said earlier in the thread, you can count on your end users to be lazy and stupid. That's totally correct - as an end user myself I know all about it. ;) Command line flag required for installation? You gotta be kidding.

So anyway, does anybody know of a place (a forum or mail address) at Microsoft where all this bitching can be directed? Without an MSDN membership, that is. I mean, obviously they have some clue about all the problems but I'd really love to hear an explanation for why MDX could ever be considered a viable platform for real game development. Because as nice as it is for me to work with, I have all but given up hope to ever write something I can feel comfortable distributing, especially commercially.

OK, I think I'm done ranting. At least until the next time MS breaks my game, heheh.


VB is dead! Long live VB!
Go to Top of Page

ceefour
Neophyte

Indonesia
2 Posts

Posted - Mar 11 2005 :  4:27:58 PM  Show Profile  Visit ceefour's Homepage  Send ceefour a Yahoo! Message  Reply with Quote
quote:
Originally posted by Bill_Shtinkwater
So anyway, does anybody know of a place (a forum or mail address) at Microsoft where all this bitching can be directed? Without an MSDN membership, that is. I mean, obviously they have some clue about all the problems but I'd really love to hear an explanation for why MDX could ever be considered a viable platform for real game development. Because as nice as it is for me to work with, I have all but given up hope to ever write something I can feel comfortable distributing, especially commercially.


Here's Tom Miller's blog: http://blogs.msdn.com/tmiller/
If you have no idea, he's MDX's architect. Good luck trying to get a reply from him, though.

GaulDong Developer Center - http://dev.gauldong.net/
Go to Top of Page

hotrodx
Squire

43 Posts

Posted - Mar 27 2005 :  9:38:50 PM  Show Profile  Reply with Quote
Let's hear Microsoft doing an old Britney number...

Oops, I did it again
That DirectDraw part
I'm tossing out again

Ooh baby, baby...
Oops... No more DLL Hell
Deprecation is swell...
I'm not that innocent.
Go to Top of Page

VBBR
Moderator

Brazil
617 Posts

Posted - Mar 28 2005 :  11:14:37 AM  Show Profile  Reply with Quote
One must not have anything else to do to come up with this. But that was funny anyway

Whatever. Who knows...
Go to Top of Page
Page: of 2 Previous Topic Topic Next Topic  
Previous Page
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
VBGamer © Go To Top Of Page
This page was generated in 0.14 seconds. Snitz Forums 2000

Copyright © 2002 - 2004 Eric Coleman, Peter Kuchnio , et. al.