It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
EDIT: Latest binary release: http://iki.fi/sol/zip/tie_ddwrapper_20141102.zip - use at your own risk.

---- Original post follows..

Anyhoo, here's some notes I quickly put together..

Step one:

dumpbin /imports TIE95.EXE | grep dll
DDRAW.dll
DINPUT.dll
DSOUND.dll
WINMM.dll
KERNEL32.dll
USER32.dll
VERSION.dll
So yes, it's using ddraw.dll.

Scanning the TIE95.EXE for ".dll", I found references to PVRHAL32.DLL, so the binary probably can support 3d acceleration through some PoverVR's ancient interface. There were some strings talking about "Direct3D version 2.0" too. Other 3d-related stuffs include "Matrox M3D" and VSGL.VXD.

I hit the game with my logger ddraw.dll, Started the game, hit escape and quit the game. Up to that point, these interfaces were called:

IDDraw1::CreatePalette
IDDraw1::CreateSurface
IDDraw1::FlipToGDISurface
IDDraw1::GetCaps
IDDraw1::GetMonitorFrequency
IDDraw1::GetVerticalBlankStatus
IDDraw1::Release
IDDraw1::RestoreDisplayMode
IDDraw1::SetCooperativeLevel
IDDraw1::SetDisplayMode
IDDrawPalette::Release
IDDrawPalette::SetEntries
IDDrawSurface1::Blt
IDDrawSurface1::Flip
IDDrawSurface1::GetAttachedSurface
IDDrawSurface1::GetSurfaceDesc
IDDrawSurface1::Lock
IDDrawSurface1::Release
IDDrawSurface1::SetPalette
IDDrawSurface1::Unlock
..which looks like a relatively short list. My wrapper for wing commanders did not work as is though (those use "higher" interfaces than '1' though, so that may be the reason..)

It's likely that other interfaces are used when we get into the game proper, but that's a start, at least.

To be (possibly) continued..
Post edited November 02, 2014 by Sol_HSA
avatar
Sol_HSA: ..which looks like a relatively short list. My wrapper for wing commanders did not work as is though (those use "higher" interfaces than '1' though, so that may be the reason..)
Nice to see that someone's on it. On a different note: for which games have you written wrappers so far exactly and where can one get those? I presume you're talking about wrappers for the Kilrathi Saga, eh?
avatar
Sol_HSA: ..which looks like a relatively short list. My wrapper for wing commanders did not work as is though (those use "higher" interfaces than '1' though, so that may be the reason..)
avatar
F4LL0UT: Nice to see that someone's on it. On a different note: for which games have you written wrappers so far exactly and where can one get those? I presume you're talking about wrappers for the Kilrathi Saga, eh?
The wc wrapper (and story behind it) can be found at http://sol.gfxile.net/ddhack/ - I don't plan on updating that one though, but the sources are available if someone wants to keep fixing it. I've started the tie fighter wrapper more or less from scratch, we'll see if I manage to make anything useful before something more interesting comes along.. =)
avatar
Sol_HSA: The wc wrapper (and story behind it) can be found at http://sol.gfxile.net/ddhack/ - I don't plan on updating that one though, but the sources are available if someone wants to keep fixing it. I've started the tie fighter wrapper more or less from scratch, we'll see if I manage to make anything useful before something more interesting comes along.. =)
Cool, thanks, will gladly read up on that, will probably be an interesting lecture. Still dreaming that one day I might take on projects like that myself - got a long road ahead of me, though. :p
avatar
F4LL0UT: Nice to see that someone's on it. On a different note: for which games have you written wrappers so far exactly and where can one get those? I presume you're talking about wrappers for the Kilrathi Saga, eh?
avatar
Sol_HSA: The wc wrapper (and story behind it) can be found at http://sol.gfxile.net/ddhack/ - I don't plan on updating that one though, but the sources are available if someone wants to keep fixing it. I've started the tie fighter wrapper more or less from scratch, we'll see if I manage to make anything useful before something more interesting comes along.. =)
You rock - I've never had the patience to dig that deep into library and/or hook hacks - keep it up! :)
Here we go.. https://dl.dropboxusercontent.com/u/75238938/tie1.png - first screens.

Unfortunately, the game's menus seem to be in GDI, so that'll take a bit more work to get to. Fortunately, I had to do that work with wing commander 4, so it shouldn't be impossible. Unfortunately, tie fighter appears to use the system mouse cursor instead of a rendered one, so that'll require additional work.
Hm, implemented blt and menus started to work after all, so maybe the whole gdi stuff can be skipped for now. Can access all the "menu" stuff, including the ship viewer - https://dl.dropboxusercontent.com/u/75238938/tie2.png The white triangle near left bottom is my simulated mouse cursor.

Still getting a crash when entering the "ingame" though, so I'm not quite done..

I also tried to figure out how the game blocks alt-f4 and alt-tab, with little success so far.
Great stuff! Unfortunately your progress won't help enabling 3D Hardware acceleration for TIE and X-Wing 95 I guess? Because that should be D3D calls instead of DDraw calls and that's a whole other can of worms..

Edit: Apparently it is possible, but I haven't gotten into the juicy technical bits of this yet - http://www.xwaupgrade.com/phpBB3008/viewtopic.php?f=10&t=11167&start=75
Post edited November 01, 2014 by PatTheMav
avatar
PatTheMav: Great stuff! Unfortunately your progress won't help enabling 3D Hardware acceleration for TIE and X-Wing 95 I guess? Because that should be D3D calls instead of DDraw calls and that's a whole other can of worms..
We'll see. So far I haven't seen any d3d calls being made. It's possible that they only support matrox m3d somehow (based on the strings I've mentioned on the first post).

Step one is to get the thing running at all..
avatar
PatTheMav: Great stuff! Unfortunately your progress won't help enabling 3D Hardware acceleration for TIE and X-Wing 95 I guess? Because that should be D3D calls instead of DDraw calls and that's a whole other can of worms..
avatar
Sol_HSA: We'll see. So far I haven't seen any d3d calls being made. It's possible that they only support matrox m3d somehow (based on the strings I've mentioned on the first post).

Step one is to get the thing running at all..
Thing is, you need to activate 3D acceleration in the escape menu while not (!) in flight, then choose 3D hardware. The current versions will keep the setting, but once you initiate flight, it gets reset to 640x480 16bit (the default setting and maybe set by the GOG launcher itself), which is why there might not've been D3D calls in there yet.

But yeah.. all in due time.
As a little update, I got the ingame working - but only in 640x480x8; switching to some other mode causes issues (even 320x200x8, oddly enough)..

On positive news, trying to use the 3d acceleration mode does throw a interface query so there may be something in there..
[ +5ms] Interface Query: {3BBA0080-2421-11CF-A31A-00AA00B93356}
[ +5ms] myIDirect3D ctor
..the above naturally promptly crashes because I haven't implemented those bits yet. =)
Post edited November 02, 2014 by Sol_HSA
Here's the first binary for the adventurous: http://iki.fi/sol/zip/tie_ddwrapper_20141102.zip

Check the readme for some details, but basically just drop the ddraw.dll into the same directory as tie95.exe and run tie95.exe to play the game. Trying to use 3d acceleration will crash the game, but otherwise it should(tm) work.

There's still a bunch of things I'd like to fix (like being able to alt-tab out of the game..), but we'll see how far this goes.

I'll be posting the sources on github soon.
Sources are now at https://github.com/jarikomppa/tiefighter-ddwrapper
what does this wrapper do/provide exactly?
avatar
Eduardo911: what does this wrapper do/provide exactly?
For now, it's an alternate way to fix the "funky colors" issue.