Author Topic: Borde - About your background update project  (Read 4428 times)

khelben

  • Guest
Borde - About your background update project
« on: 2007-10-27 10:12:24 »
If you are still interested in continuing, I'd like to help out. I'm pretty savvy with dll injection and asm, so perhaps i could handle some of the debugging and what not as my weakness would be graphics where you seem to excel.

Your old (locked) topic is here: http://forums.qhimm.com/index.php?topic=5633.0


Side note: Notiification is enabled on all threads I author, feel free to resurrect them at any time as I will always be emailed.

Borde

  • *
  • Posts: 891
    • View Profile
Re: Borde - About your background update project
« Reply #1 on: 2007-10-27 16:01:24 »
Hello khelben.
I'm gald to see someone got interested in that old experiment. Anyway, I'm just too bussy right now to work on anything besides my end of degree project. It should be finished by february so, If you are still interested by then we can talk about it. If you are bored meanwhile I can send you the work I did so you can take a look at it. As I said the last time, the problem is that limited buffer. If you know how to enlarge it, that could solve the problem.

khelben

  • Guest
Re: Borde - About your background update project
« Reply #2 on: 2007-10-28 07:47:48 »
I'd be glad to take a look at it.

If you want to open it up you can post it here, otherwise I can PM you with my MSN contact name or something.

Cyberman

  • *
  • Posts: 1572
    • View Profile
Re: Borde - About your background update project
« Reply #3 on: 2007-10-29 01:04:24 »
Hello khelben.
I'm gald to see someone got interested in that old experiment. Anyway, I'm just too bussy right now to work on anything besides my end of degree project. It should be finished by february so, If you are still interested by then we can talk about it. If you are bored meanwhile I can send you the work I did so you can take a look at it. As I said the last time, the problem is that limited buffer. If you know how to enlarge it, that could solve the problem.
Changing the buffer would require changing some of the game code no? If someone has bits of the background code demangled tone might be able to find where this goes on. My guess is they allocate a indexed texture for the background buffers, I don't know if they allocated in VRAM or in memory but judging from some of the issues people have had it's likely VRAM.  To adjust the size of this buffer might be a bit tricky because you would also have to deal with whatever DirectX version it was written for on the PC.

Have fun with code!

Cyb

khelben

  • Guest
Re: Borde - About your background update project
« Reply #4 on: 2007-10-29 06:23:01 »
couldn't we write our own background render routine in a dll, then inject that dll function into ff7.exe where the 'normal' background render takes place? Just overwrite the code in memory to call our function instead of the retail one? Just thinking out loud.

Izban

  • *
  • Posts: 432
    • View Profile
Re: Borde - About your background update project
« Reply #5 on: 2007-10-29 23:52:06 »
im not so good at coding but that sounds like a lot of work and you would have to have a fair grasp of hex editing for something like that

Cyberman

  • *
  • Posts: 1572
    • View Profile
Re: Borde - About your background update project
« Reply #6 on: 2007-10-30 01:54:53 »
couldn't we write our own background render routine in a dll, then inject that dll function into ff7.exe where the 'normal' background render takes place? Just overwrite the code in memory to call our function instead of the retail one? Just thinking out loud.
There have been numerous hacks to the FF7 exe (some good some horrible).
One of them was the hirez project (which was a nice idea).
However as I said doing this might be a bit more complicated than just loading a DLL and linking to functions within it.
FF7 is built in layers so several things are going on.  The EXE in the PC version doesn't work too well.
The place function redirection will need to go is a bit difficult to decipher because of this. (The original design and the fact the PC version is a bit of a kludge).
Fortunately they left the debugging information IN the FF7 executable this helps.
So basically before you can try enhancing there software you have to know what it did to begin with in terms of graphics.
There is plenty of information in the Q-gears source to give hints of what to look for in the PC executable I suspect.

Cyb

Borde

  • *
  • Posts: 891
    • View Profile
Re: Borde - About your background update project
« Reply #7 on: 2007-10-31 16:15:58 »
Cyberman, currently I think that the buffer we are talking about is a vertex array or a vertex buffer. I don't think it's allocated into the VRAM. I don't think much code should be changed in order to enlarge a buffer. If it's initialized with a malloc or new it would be enough to change the number of element allocated in the arguments of the call (finding it can be a problem, though...). If it's statically allocated... well, I don't have the slightest clue about how to change that.
As for scrapping the original engine and adding a new one from a DLL, I don't think it's an easy task. Correct me if I'm wrong, but  think it hasn't even been uncovered completly what does FF7 do exactly to render the backgrounds. Baseides, who konws if the game is doing something else while rendering the backgrounds.
Sorry for not posting my notes yet, but I'm having some problems to find my old stuff.