Unfortunately still isn't going to happen. Modern graphics cards can upload animations and geometry to VRAM, but for that to be *any* use whatsoever the card needs to support hardware T&L at an absolute minimum (and realistically, it needs to have other features too). When FF7 came out, they didn't, so it's not written to upload animations to video cards.
It's a fairly recent development, allowing you to do that, anyway. PC users haven't been able to explicitly upload vertex data to the card for that long, nevermind the actual animations ... all possible now, mind you. If you have a recent Radeon/Geforce, of course, and a game written to support it...!
Hmm.....I see. However.....
If I'm not mistaken, whatever animations that are about to be drawn on the screen are first transfered to the framebuffer, which should be in the VRAM, so technically the data would in one form or another pass thru the VRAM before going on screen. But, it just occured to me that the data might have already been processed into something other than its original form by that time, so maybe a VRAM dump might not work as I planned.
IIRC, when the case is that no HW TnL is available, then the CPU and system RAM must then caculate the Geometry Transformation instructions before passing it to the framebuffer in the VRAM....so doing a system RAM dump might still be an acceptible lead?
Of course, we'd have to do this on a system with the minimum RAM necessary to get the game to run, as the last thing we need is to go through 1/4 to 1/2 a gig of data looking for the animations.
Basically, I'm saying that since we haven't been able to locate where the animation data is stored, we let the game do it for us, and then we take a picture of what it grabbed from the LGP, and then we go back and cross-reference the data there with what's in the LGP.
There is another remaining point that we ought to remember. Thanks to
what halkun dug up regarding what FF7pc was compiled from, we know that FF7pc was written in C++. Therefore, we must think within the limitations of that language when trying to reconstruct how FF7 can access and decode battle operations, etc, and that includes file I/O, and memory storage.
That leaves us with commands like ".read"; ".get"; and ".getline" for loading the battle animation data into memory, if I'm not mistaken. And considering that the data is probably a series of values, it would have to be loaded into some sort of data array, which in turn means the entire data sequence for the animations would be occupying adjacent memory addresses, meaning a RAM dump just might happen to have the battle animation data all conveniently lumped together in one section of memory addresses, instead of being scattered all over the place. This would allow us to very quickly narrow down which sequence it is....I think.
Then again, I do have to admit I've only taken an introductory course in C++, so maybe I'm being too naive or something in regards to how the thing could be coded........
Thank you I've been busy with my job ... not a new job anymore, but still, first full time job. Warning: jobs eat your time.
Well, congrats on that. If all goes well, I also just might get a full time job in a computer store.....I'm just waiting for them to review my application/resume, and make a decision....
Nope. The only thing 'hard coded' is the point at which the table of contents *begins* (essentially the first piece of data in the file), not its length.
Well, in that case, the beginning of the table of contents isn't hard-coded as an offset either.
But how would they figure out where it ends?
.....oh, duh. There's probably a delimiter character in there. Man, do I feel stupid.
That said, the file format uses 16-bit integers for some of the data, so while the file size of an individual LGP could go up to at least 2GB, you'd be limited in practice to ~65,500 files inside it. Perhaps double that if you played some nasty tricks on the indexes.
Of course, that's fairly academic; even battle.lgp doesn't come anywhere near that number of files, so you've got plenty of room to add your own files.
Great. I had the right conclusion (there's a limit to how many files you can put in an LGP file), but got to it by a completely wrong line of reasoning....what are the chances of that?
But still....who in their right mind would need to have 65,500 files for a program?
IIRC the most files in an lgp is close to 11,000
Its is either the feil or battle LGP file....im going for the latter
11,000?! Ok, the programmers need to be taken into the backyard and shot one by one on behalf of the KISS principle.....