Tuesday, November 3, 2009

More Panzer Dragoon ORTA stuff...






Yup, I'm still at it. This thing is getting way too addictive IMO, just can't stop working on Cxbx, especially when making significant progress such as this.
Just a few minor additions and discoveries. Here's the latest... Rewrote my implementation of IDirect3DDevice8_GetTexture2@4. Since it kept causing a crash in there and IDirect3DResource8_Release, I had to write a dirty (and yet sloppy) hack to fix it. What I did:
  • Get a copy of the currently active texture (without allocating any memory).
  • Return the copy without increasing the reference count.
  • Added a special flag in the X_D3DResource::Data field to represent that this texture is a clone.
  • When IDirect3DResource8_Release is called, don't release the texture if it's a clone.
The code is really ugly, but at least it works (for now) without leaking memory like crazy.

Now that I've taken a closer look, it looks as if that 3D does work! The textures look buggy when viewing Pandora's Box. You can't see it in game because there's a black quad covering the entire scene. The above fix allows you to stay in game a little longer, but there's yet another missing Direct3D API. This time, I have no leads on what it is.

One last issue. Microsoft must have had Cxbx in mind when they released XDK 4721. That stupid and totally useless piece of crap IDirectSoundBuffer8_Pause function is giving me trouble (it's another problem on Robotech: BattleCry). I'll need a break to my brain can rest after putting so much energy into this... good night.


Shogun.

2 comments:

  1. I remember reading about this back in 2004, its good to see that it hasn't been abandoned and that progress is being made. Maybe one day i'll get to play ORTA at high resolution and AA

    ReplyDelete
  2. Wow, amazing progress. I've been reading your messages in the emuforums for some time (a year or so), and what you're doing is incredible. I'm a huge fan of the Panzer Dragoon series, but I've never played Orta because I don't have a Xbox (and here, in Brasil, it's a very, VERY expensive console; it's kind of rare over here). I'll buy the original game when cxbx gets it to a playable stage; until then, I'll be reading your blog! Good luck on your great work, Blueshogun.

    ReplyDelete