Log in

No account? Create an account
13 October 2004 @ 02:36 pm

Spent a little bit of time hanging out with Kialyn on saturday, mostly giving her a ride to class and back since her other plans fell through.

Spent some time saturday and early sunday getting a simple WinApp program to work.Took a little bit of time since there were a few typos in the book i was using for reference, but it was pretty simple overall.

My brother-in-law (need to get used to saying that, depressing as it is) invited me over to their place Sunday afternoon/evening to watch The Abyss with them and a couple of their friends.

Spent monday afternoon with Morna having lunch and watching a movie. We rent to Hollywood Video since she had some cupons for there and got "In & Out" (whose title keeps making me hungry) which we watched and "Jersey Girl" which we'll probably watch sometime later this week.

Spent the rest of the afternoon and evening and part of tuesday trying to get a DirectX 9 program working.

This book is slightly annoying in that it explains the basic steps conceptually in pretty good detail, and then it provides code snipets on how to do most of the individual steps, but is somewhat lax in describing how to put them all together into a program you can actually compile. I finally gave up on trying to paste the snipits together in the right order and just downloaded the full code examples from the book's website.

The basic initializer program was pretty easy to get working. There was one linker problem that was pretty easy to find and fix, but then the program gave me a "CreateDevice - failed" error when i tried to run it. The website also had a suggestion to fix that which worked fine (they were assuming some settings that not all graphics cards support) and i had a program that creates a black window.

Then the real difficulties started. I tried to get the sample program that just draws a cube working. The first problem was that it had linker problems with things like "D3DXMatrixLookAtLH." It didn't take too long to figure out i needed to link d3dx9.dll to get that to work, but for some reason i didn't have that library. It took far longer than it should have to figure out that the DirectX 9 package i'd originally installed did not include the DirectX 9 development libraries. I had gotten fooled into thinking i had all i needed because the initialization program worked.

So i downloaded that and then _still_ didn't have d3dx9.dll, however a quick search showed i had d3dx9ab.lib and d3dx9d.dll. I still don't know what the ab dll is, but the d dll is apparnetly the debug library, so i used that. That got the program compiling, except when i tried to run it it crashed. I tried using the ab library instead, but that crashed too. It was getting pretty late at that point so i went to bed and figured i'd work it out in the morning.

So after getting done with political ranting this morning i loaded up the code again and saw that it was a really stupid problem. The new example was referencing the old utility file with the messed up graphics card probem. The first example gave a warning when it couldn't create the device, but for some reason the second example didn't. So i changed that easily enough and compiled and that worked. Then i tried to run it, expecting my problems to be solved.

Except now it won't run _period_. It says it can't find d3dx9d.dll! But it's right there! See how my hands touch it! (Well okay, not literally) I moved the files around last night when trying to figure out what the problem was, but i put them all back, so that _shouldn't_ be the problem. I checked that the directory is still included and it is, i used the package manager to verify the package and it says the package is fine. I finally just gave up, uninstalled the package, and am now downloading a new copy of the 2.8 meg install, which takes forever over modem.

I really with the automatic installer wouldn't throw away the install file when it was done with it!

Edit: Okay, that didn't work either! It _must_ have been able to find the library last night, since at that point it managed to get far enough to crash =P What the hell happened in the 12ish hours since then?
Current Mood: aggravatedaggravated
Kirinkirinn on October 14th, 2004 04:47 am (UTC)
Just to try the obvious, have you stuck a copy of d3dx9d.dll right next to the executable when you run it?