Author Topic: Some thoughts on the PC Port.  (Read 7716 times)

halkun

  • Global moderator
  • *
  • Posts: 2097
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
Some thoughts on the PC Port.
« on: 2004-06-20 08:37:23 »
You know, I just installed the program for the first time in on old PC winning winodws 98. (Yes for the last 4 years I've just been poking at it with hex editors and never really *PLAYED* the PC port as I owned a PSX.

The install goes without a hitch... Reboot, and play the game....

The movies are updaide down and backwards.

Now think about this for a second.

I know this is a bug with the original game. I know that there is a patch for it, but honestly, I want you to take a step back for a bit.

It's a bug, it's something that wasn't cought because the demo didn't have any movies in it... It was an honest accident that bad code got into the release, they pached it..

An accident...

How on earth does something like that happen *ON ACCIDENT!*

I mean, I'm no whiz of a programmer myself, but if I was to write a movie subroutine, and I screwed it up somehow, I'm pretty sure my video would die a horrable death before anything was actually displayed. However UPSIDE DOWN and BACKWARDS? I coudn't code something like that *ON PURPOSE* much less on accident. It's silly! I mean, can you image the look on the prducer's face when he saw that? That's not only a bad bug. It's down right embarrasing.

I'm gonna grab the patch... Just wanted to know you guy's thoughts...

J*** H*******

  • Guest
Re: Some thoughts on the PC Port.
« Reply #1 on: 2004-06-20 09:04:32 »
Message

The SaiNt

  • *
  • Posts: 1300
    • View Profile
Some thoughts on the PC Port.
« Reply #2 on: 2004-06-20 15:24:29 »
Probably Msfts fault.
I think they bought Duck Trumotion sometime after the game got released and integrated it's technology into DirectX.
That probably messed things up.
The only reason it'd run right is if you were using DirectX5.1

Messiah99

  • *
  • Posts: 235
    • View Profile
Some thoughts on the PC Port.
« Reply #3 on: 2004-06-20 15:53:49 »
Yea, my understanding of it was that the problem was never one with FF7, but rather with the video decompression from other programs that it takes advantage of. But no matter what way you slice it, Im behind halkun on this, had that happened to me, I would probably have been to embarrased to show my face at work again, haha.

halkun

  • Global moderator
  • *
  • Posts: 2097
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
Some thoughts on the PC Port.
« Reply #4 on: 2004-06-20 20:23:37 »
Yea, they updated the duc codec. Now I lay blame fully on the deveolpers of the *VIDEO SOFTWARE*

At least square can say "Hey, were' an RPG company. Our core system works spiffy awesome! It was a compile-time link of some forgien code that messed us up!

Now what about Duck? You know, a company that *MAKES* codecs for video games. That's thier bread and butter. I mean what, where they pulling the scan line in the wrong direction? Was it a --x as oppsed to a ++x?

I don't see how it such a bad codec would even render correctly.

Than again, with all the bugs in FF7 with the movies crashing. I guess they are.

No wonder they used Bink on FF8....

Heh, go to http://www.duck.com. I guess they arn't exactly wanting *ANYONE* going to thier website...

Qhimm

  • Founder
  • *
  • Posts: 1996
    • View Profile
    • Qhimm.com
Some thoughts on the PC Port.
« Reply #5 on: 2004-06-20 20:37:24 »
Top-to-bottom bitmaps and bottom-to-top bitmaps (scanline order) are frequently mixed on the Windows platform. All you have to do is use a handle to a top-to-bottom image and feed it into a bottom-to-top blitter or vice-versa. The "fix" could be as simple as setting a bit in the flags sent to the blitter to indicate source scanline order.

J*** H*******

  • Guest
Some thoughts on the PC Port.
« Reply #6 on: 2004-06-20 20:53:39 »
Message

EmperorSteele

  • *
  • Posts: 933
    • View Profile
Some thoughts on the PC Port.
« Reply #7 on: 2004-06-20 22:41:43 »
I never had that error, at least not within ff7.  Sure, i hade it happen in winamp and stuff, but mweh.

Goku7

  • *
  • Posts: 1301
    • View Profile
Some thoughts on the PC Port.
« Reply #8 on: 2004-06-22 02:04:44 »
Quote from: The SaiNt
Probably Msfts fault.
I think they bought Duck Trumotion sometime after the game got released and integrated it's technology into DirectX.
That probably messed things up.
The only reason it'd run right is if you were using DirectX5.1


That would explain some things regarding the FF7 FMV problems I'm having on my system....and that's with using hardware & drivers that the game fully supports (read: 3dfx)!

I've never been able to consistently get past the eidos logo movie ever since I'd upgraded to DirectX 9.  All I'd get is a black screen and the audio, and then a total hard-lock.  I've tried all the movie patches; NONE of them work.  This could only be the case if the problem lies in how the codec is being called up by DirectX or FF7.

*inspiration strikes*

Ok, now I'm really hoping that what you said is the case.  I think I just came up with a way to fix it.

How?

A hook dll.

Let me explain:  FF7 probably accesses that old version of TrueMotion by calling up whatever dll that codec used (TM20.dll?).  I say that if we are able to replace that with a dll that instead receives FF7's DX5 era commands and translates their syntax in order to be acceptible to DX9-era versions of DirectShow and its codecs, and then immediately passes those syntax-corrected commands to the DX-codec version, there would be no conflict between the old Duck codec and the built-in DX version.

I guess this would basically be a syntax wrapper....so, what do you think?  Would this be feasible?

Caddberry

  • *
  • Posts: 1988
    • View Profile
    • http://animenfo.com/
Some thoughts on the PC Port.
« Reply #9 on: 2004-06-22 14:52:44 »
O_o Mine never did that.. Guess I was lucky..

I have developed this annoying habit of not capitalizing my i's. It's annoying me.

Edit.. Whoo! 1600!

Darkdevil

  • *
  • Posts: 728
    • View Profile
    • Http://darkdevil177.5u.com
Some thoughts on the PC Port.
« Reply #10 on: 2004-06-22 15:38:28 »
woo 271?

J*** H*******

  • Guest
Some thoughts on the PC Port.
« Reply #11 on: 2004-06-22 16:44:21 »
Message

Goku7

  • *
  • Posts: 1301
    • View Profile
Some thoughts on the PC Port.
« Reply #12 on: 2004-06-22 18:29:47 »
Quote from: Jari Huttunen

TM20dec.ax, apparently.

This is actually quite interesting, notice how the movie patch says that it's installing TM20 VFW (video for Windows, that is) codec?

AFAIK, it does almost exact opposite, and installs TM20dec.ax, which is a directshow filter, like the .ax extensions implies. At least that's what I found inside the installshield cabs, because I can't even get the bloody patch to install. :(


Yeah, I noticed that....speaking of codecs in the .cab files, have you ever checked to see if the codec is in the DirectMedia 6.0 package on the FF8 Install disc?  I wonder if it just happens to have one that'll work...

Quote from: Jari Huttunen
Syntax? In a compressed video file? Wouldn' t the thing be more like a decompressor - re-compressor? Which would take ages to do. Besides, the blasted codecs *should* be downwards compatible anyway. -_-


You're getting too far ahead of the chain.  Ignore what's in the FMV file, and go back to where FF7.exe should be using a call to tell the DirectShow5 API to use the Duck "VFW" (;)) codec.  If DS5 compatibility got borked in DX9, then it could be that the older DX5-era function call FF7 passed is either not specific enough to specify the old Duck codec, or just skips looking for that old codec and instead tries to use the one that may be built into DX, which may not be totally backward compatible with the DS5-era command syntax..... does that make sense?

I suppose it would be a bit like the whole 3Dfx OpenGL/Glide thing.  They ultimately use their openGL "ICD", 3dfxogl.dll, to wrap the commands to glide3x.dll in the correct syntax manner.

Only in this case, it would be tm20dec.ax that would instead re-translate the commands (play, pause, stop, etc.) to what that ffdshow thing that the later DX things have can process correctly, if I understood what Saint was talking about in the first place...

J*** H*******

  • Guest
Some thoughts on the PC Port.
« Reply #13 on: 2004-06-22 23:02:42 »
Message

Goku7

  • *
  • Posts: 1301
    • View Profile
Some thoughts on the PC Port.
« Reply #14 on: 2004-06-23 00:14:07 »
Quote from: Jari Huttunen

Just did. Yes, there's a tm20dec.ax in there. It's file version 1.0.0.0, and product version 2.10.8.97, while the one in the update is 1.0.0.1 and 2.98.3.16.


Hmm....so I suppose that means the one on the FF8 disc and the one on the FF7 disc are identical?  Rats.  I was hoping there was some sort of intermediate version in there that would work perfectly with both DX6-9 era directshow and FF7's DX5-era stuff, and not just one or the other.

Quote from: Jari Huttunen
I'm not sure. Normally Windoze picks a codec based on it's merit, if there are several that claim to be able to decode the fourcc in question. It can be overridden, of course. For example Zoom Player does that, when it's working in the "Customized Media Playback" mode.

At least in theory FF7 could go either way.


That could be a part of the problem right there.  It could be that both the old duck codec and the built-in DX codec both claim to handle that fourCC, and since the DX codec is newer, Windows picks that -- and it crashes because the command syntax involved is too old for that codec to have had backward compatibility programmed into it for.


Quote from: Jari Huttunen
ffdshow is an open source video processor/über codec, not part of DirectX (I wish that it was...). ;)


Oh....right.  In any case, do we have a name for the version of the Duck codec that M$ integrated into DX, or is it just the same name?

Quote from: Jari Huttunen
I truly have no idea if codec even cares about commands, such as play and stop. I suspect that it just decodes or encodes (most often just decodes, many of the consumer codecs are one way, like the tm20dec.ax) the video, and lets something else to take care of mundane things, like controlling playback.


I suppose its true that other things handle the playback.  Yet, there still comes a time when whatever controls the playback tells the codec, "start decoding NOW."

And what I'm getting at is that.  The game's saying "decode (*.avi) NOW, please"; whereas the codec is expecting the command to be phrased "Begin decode (*.avi)", and only understands half the command and now doesn't know what to do with it.

J*** H*******

  • Guest
Some thoughts on the PC Port.
« Reply #15 on: 2004-06-23 07:15:31 »
Message

Goku7

  • *
  • Posts: 1301
    • View Profile
Some thoughts on the PC Port.
« Reply #16 on: 2004-06-24 01:03:03 »
Quote from: Jari Huttunen
Sorry! Read that FF8 as FF7. :P Doesn't matter really, because there is no DirectMedia package on FF8's install disc (that I could find, anyway).

There's just the regular DirectX without media filters, and the Bink codec, which was used for FF8's videos.


I could have sworn there was a DirectMedia update on the disc.....I'm gonna check mine.

*2 minutes later*

Fiddlesticks.  It really doesn't have that DirectMedia update.  I think my brain has some failing RAM. :P

Quote from: Jari Huttunen
No idea, whatsoever. Later version do exist, though. You can even download them, if you are at least moderately good at searching stuff. :)


Figures.  What bugs me about my particular error, though, is that NONE of the codec patches work.


Quote from: Jari Huttunen
Ummm, AFAIK the codec itself doesn't have enough brains to do (even)that, it just decodes data that gets thrown to it.

For example; there's a bunch of other filters included when you play FF7 videos in a media player; there's a filter that reads the media file (there are even several of these - some can split as a bonus), splitter (if your reader can't split), there's the TrueMotion codec itself, audio renderer (this is normally used as the clock for playing stuff), and then there's the renderer. Like this, for example (that's a working filtergraph that can render FF7 videos). All these filters must be pin-compatible, bit like your processors. :P (no, some of them are not, then you'll have to insert more filters that can transfrom stuff).


Hmm....well, now this is JUST great.....since I'm getting audio w/ no video followed by a hard-lock (even the keyboard doesn't respond), that should mean something's screwy at the splitter level.  Of course that would immediately point to the video card drivers, since the audio's getting outputted but not the video, but that can't be it, as it'll do the same thing when FF7's using the Software Renderer.

Furthermore, since the videos play just fine in Windows, the problem must involve something between the whole directshow filter code and FF7.

Perhaps the solution would be to replace the DirectShow files that DX9 uses with the ones that DX5 or 6 use?  Of course, I'd have to do it in safe mode....but I'd need a list of those files.......oy..... -_-

J*** H*******

  • Guest
Some thoughts on the PC Port.
« Reply #17 on: 2004-06-24 21:05:11 »
Message

Goku7

  • *
  • Posts: 1301
    • View Profile
Some thoughts on the PC Port.
« Reply #18 on: 2004-06-24 23:36:52 »
Quote from: Jari Huttunen

Not the whole code, misbehaving renderer would be enough (for example).


I guess a chain really is only as strong as its weakest link. ;)

Quote from: Jari Huttunen
Are you still using Voodoo 3, or have you updated to something more recent? I'm asking because 3 can't even do an overlay (IIRC, at least bunch of video players keep telling that), and support for the newer VMR-renderers introduced in DX7 is probably even more lacking.


No, for the last 8-10 months I've been using a Voodoo5 5500 AGP -- Which IS a DX7 class card, unless you consider its lack of TnL to make it not compliant, but even then it can fake it via Geometry Assist pretty well :P.  In short, it's video playback capabilities should be just about on par with a GF2, if not a little better. ;)

The Voodoo3-overlay problem appears to only affect Win2k/XP (mostly likely only XP), but even if I was still using a V3, it wouldn't matter because I use Win9x, since Voodoo drivers are far more stable and compatible in this OS than in 2k or XP.  Furthermore, my V3 never really had a problem playing the movies back in-game to begin with....though I think I did start having trouble with FF7 once DX9 was installed.

Quote from: Jari Huttunen
Not so easy. There's more than replaced files, like 3 completely new renderers (the VMR ones, mentioned above, there's one for DX7 (sucks), one for DX8 (sucks) and one for DX9 (doesn't suck)).

Getting rid off them, and still having otherwise working DX9, might very well be impossible.

Can't you just uninstall DX9 (no, I haven't bothered to check if there's a working uninstaller for 9), and install 5 or 6?


It's times like these that I hate M$ -- They design DirectX to be nigh-uninstall-able.   -_-

I have heard rumours of a DirectX uninstaller floating around somewhere.  Too tell the truth, the idea of attempting to uninstall 9 and re-install 5 or 6 has been one that I've been kicking around, but I have other programs (like DirectMusic Producer) that might scream bloody murder when it finds that the DirectMusic Engine suddenly no longer exists, or is the far-outdated version that 6.0 had.

I'd have to do some research on whether or not the various Windows Updates I've installed over the years will operate with DX5 or 6, or if they're somehow dependent on some latent function that DX7+ provides.

DirectShow is but one part of the DirectX suite, and If I can figure out how I could replace it with the correct files, then I might be able to have it both ways....

-edit-

UPDATE!!

On a whim, I decided to downgrade to the WHQL drivers that were included on the 3Dfx Voodoo5 install CD.

They work.  FF7 ain't complaining about FSAA either. :P

Now, if only I can get that hi-res cloud mod to work....

The Skillster

  • *
  • Posts: 2284
  • Loving every Final Fantasy
    • View Profile
uh CORRECTION folks!
« Reply #19 on: 2004-06-28 23:01:39 »
Guys, The ORIGINAL 1st demo of FF7pc, was in 3DFX GLiDE.
and DID have movies.
It was a demo of the part when you go to barrets home town, the passing through the trainlines, to the town, check out a few things, then you got on the Car to go the golden saucer, and the demo ends there.

May I add, the movie was of the car taking off.
The ingame music was in WAVE files (lol, very close to PSX music (probably was!)!),
And its probably the best graphics you will see of FF7, at that time, without Anti Alaising and Ani filtering :)
any commments, ask .
I may have the demo tucked away on some cd-r....

J*** H*******

  • Guest
Re: uh CORRECTION folks!
« Reply #20 on: 2004-06-28 23:16:22 »
Message

halkun

  • Global moderator
  • *
  • Posts: 2097
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
Some thoughts on the PC Port.
« Reply #21 on: 2004-06-29 08:56:27 »
The demo I had didn' have any movies....

It took place before The gold saucer on the train tracks.

Wait... now that I think about it... It did have a movie, when cloud fell from the tracks....

It crashed there.  O_o

Darkdevil

  • *
  • Posts: 728
    • View Profile
    • Http://darkdevil177.5u.com
Some thoughts on the PC Port.
« Reply #22 on: 2004-06-29 08:57:12 »
Perhaps we may be able to find out whatever they used to get the game to run in Glide, and apply it to the normal game.

savage-xp

  • *
  • Posts: 158
    • View Profile
Some thoughts on the PC Port.
« Reply #23 on: 2004-06-29 20:40:23 »
Maybe the Demo got  the magic potion... :love:

Goku7

  • *
  • Posts: 1301
    • View Profile
Some thoughts on the PC Port.
« Reply #24 on: 2004-06-29 22:31:02 »
Quote from: Darkdevil
Perhaps we may be able to find out whatever they used to get the game to run in Glide, and apply it to the normal game.


But the question remains....why?

3Dfx cards can run the game in D3D at good speeds already, even with FSAA.  Not to mention, not many people these days still have Glide capable hardware.  I mean, sure, I'm running a Voodoo5, and also have 2 extra Voodoo3 cards sitting around the house (.....don't look at me like that.  I keep them because they're a little piece of Graphics card history....), but me and other people who are holding onto 3Dfx cards on purpose are the exception to the rule of what the general hardware configuration is.

Adding Glide support the full game would be mostly useless, methinks.