Thread: Dxtrace_err

  1. #16
    Registered User
    Join Date
    Nov 2005
    Posts
    545
    I have found this problem around the internet, but never a solution that seems relevant ti me as I have basetsd.h, but I have heard stuff about incompatibilities in versions. Bubba you seem to have helped with exactly the same problem before, can you give me any guidance.

    Someone should add Bubba tags to this site so you can call on him.

  2. #17
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    ID3DXSprite::Draw() has been changed from DirectX 8.0

    When coding for DirectX your documentation, code, and books must all be using the same version or you will have problems. A book for DirectX 8 is not going to help much when you have DirectX 9.

    Make sure the versions line up and make sure your help file is the one that comes with the SDK you are using for programming.

  3. #18
    Registered User
    Join Date
    Nov 2005
    Posts
    545
    Yes but the book is Direct X 9.0b and that is the SDK I have. So is the five arguments actually from Direct X 8? And if so how do I change it to be compatible with Direct X 9? Also how do I get rid of the Alphblend problem?

  4. #19
    Yah. Morgul's Avatar
    Join Date
    Feb 2005
    Posts
    109
    I seem to remember that the alpha blend identifier you are using doesn't work in 9.0b, but it I could easily be wrong.

    Also, I believe that the Draw function had more than five arguments in 9.0b; you are using the 9.0c prototype. Consult the documentation for the 9.0b SDK on your computer (it comes with the SDK).

    I suggest switching to 9.0c, you wouldn't have too much trouble updating the code from the book to work for it, and if you did I'm sure some of the people on this board could help you. I know there are several books on 3D for 9.0c out there that include a chapter or two on 2D game design. You don't really need too much more than that as it's pretty easy to figure out; plus if you are using a lot of sprites you are going to want to write your own sprite manager anyway.
    Sic vis pacum para bellum. If you want peace, prepare for war.

  5. #20
    Registered User
    Join Date
    Nov 2005
    Posts
    545
    Well, I have downloaded the August 2006 version and now my code works perfectly, it shows the game example properly and works. I will try adding in the Direct Sound again sometime as it may work this time aswell with the new SDK. My stubbornness and worrying stopped the program from woreking becaseu I thought it wouldnt work with the newer SDK as it was written with an older one. OH well, all's well that ends well.

  6. #21
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    As for using ID3DXSprite beware. You will find quickly that you cannot access the vertex buffers and there are no methods to do so.

    So to do bounding box stuff you must use your own vertex buffer and transform it along with your object. This forces you to do two transforms per object.

    The correct way to do a bounding box is to transform the object and then re-create the bounding box from the transformed coords. If you simply transform the box, inaccuracies occur and eventually your bounding box becomes a mess.

  7. #22
    Registered User
    Join Date
    Nov 2005
    Posts
    545
    This is aqll 3D stuff isn't it? Which isn't what I'm into.

  8. #23
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Bounding boxes can be used for 2D as well for collision detection

  9. #24
    Registered User
    Join Date
    Nov 2005
    Posts
    545
    Ok, well I have started to get what I want my thing to do working, however when I send it to another PC it says the program is configured incorrectly. Could this be that I am sending a lack of files or something and need extra ones. Apart from the .exe and the images what else do I need? I am using MSVC++ express.

  10. #25
    Yah. Morgul's Avatar
    Join Date
    Feb 2005
    Posts
    109
    Programs created in MSVC++ only work on other computers with MSVC++ installed because they require specific dlls. I don't remember off hand which dlls they are, I'm sure someone else will know them. There is supposed to be a way to create an installer through MSVC++ which can put the dlls in with your exe in a windows installer file so you don't have to find them and include them yourself. However, I don't believe that functionality is in Express, at least not to my knowledge.
    Sic vis pacum para bellum. If you want peace, prepare for war.

  11. #26
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    If you are using any programs that were coded with MSVC 6 you should have MSVCRT.DLL which means anything coded in C++ using that runtime will work.

    .NET 05 is much different and takes a completely different approach to linking with runtime libraries. I believe you can create a setup and deployment project in Express and have it auto-install the new libraries on the user's computer.

  12. #27
    Registered User
    Join Date
    Nov 2005
    Posts
    545
    How stupid is that? Is there any way that I can get my programs to work on other PCs that is simple, I use Express. Or can someone show me hw to get it to work?

  13. #28
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    They dont have to have MSVS installed, just the correct DLLs to dynamically link to.

  14. #29
    Yah. Morgul's Avatar
    Join Date
    Feb 2005
    Posts
    109
    I've never been able to get Setup and Deployment to work in Express, I always need to include the DLLs. I've tried to follow the Microsoft instructions on it and it just isn't there. I don't remember the specifics as it has been a while, but something is missing which didn't show up when I tried reinstalling Express.
    Sic vis pacum para bellum. If you want peace, prepare for war.

  15. #30
    Registered User
    Join Date
    Nov 2005
    Posts
    545
    What DLLs do I need to link and how do I dynamically link them?

Popular pages Recent additions subscribe to a feed