Author Topic: Need help starting out with ff7 programming  (Read 9684 times)

mikeee

  • *
  • Posts: 14
    • View Profile
Need help starting out with ff7 programming
« on: 2004-07-07 11:46:22 »
Hi,

I've decided that I want to learn how to edit ff7 for the learning experience. I've set myself what i believe to be a relatively easy challenge and I want to know what knowledge I will need to acquire in order to accomplish this. I've decided to make a programme that will edit out the #!#?! string when Barrett and Cid swear and replace it with the proper words. I've created this thread so I can  ask questions about how id do it without being spoon fed the answers. I can programme well in Pascal but not sure whether this language is powerfull enough to achieve this. Apart from pascal or a language like C++ what other knowledge would i need to do this?

Thanks

Darkdevil

  • *
  • Posts: 728
    • View Profile
    • Http://darkdevil177.5u.com
Need help starting out with ff7 programming
« Reply #1 on: 2004-07-07 12:03:10 »
Another one who wants abusive language in the game :Z

Either way, just use LGP tools and go through every peice of dialogue and replace as you see fit. Will take about 2 weeks though

mikeee

  • *
  • Posts: 14
    • View Profile
Need help starting out with ff7 programming
« Reply #2 on: 2004-07-07 14:16:33 »
I have no wish of having abusive language in the game. Im not programming it because i wish to have it, only to learn how to do it. The only reason why i selected that "abusive language" as my task as i thought it would be a good starting point for a beginner.

Thanks for the info.

fa_pa

  • *
  • Posts: 162
    • View Profile
Need help starting out with ff7 programming
« Reply #3 on: 2004-07-07 16:42:54 »
hm its not realy easy to create a program that will do thins. first you have to decompress then you must seek the files and replace thats much work and not realy a task to learn programming

Darkdevil

  • *
  • Posts: 728
    • View Profile
    • Http://darkdevil177.5u.com
Need help starting out with ff7 programming
« Reply #4 on: 2004-07-07 17:55:25 »
Also you can't do a simple Find X and relpace with Z as if you look, each expletive is displayed with a different formation of characters....

EDIT: had to re spell dome words....looks like im turing into halkun ;)

EmperorSteele

  • *
  • Posts: 933
    • View Profile
Need help starting out with ff7 programming
« Reply #5 on: 2004-07-07 21:19:14 »
Doesn't Ficy have a text-viewer/editor on his website?

Darkdevil

  • *
  • Posts: 728
    • View Profile
    • Http://darkdevil177.5u.com
Need help starting out with ff7 programming
« Reply #6 on: 2004-07-08 08:52:50 »
Yeah...It's does the job too.

mikeee

  • *
  • Posts: 14
    • View Profile
Need help starting out with ff7 programming
« Reply #7 on: 2004-07-08 12:16:03 »
Thanks for the replies. As i said i want to learn how to do it. So using someone elses program to do it is cheating because it dont want to go from the start to the end without learning anything. It is the knowledge that i am after and not the end task. I can already programme in Pascal to an intermediate level and i want to add to this knowledge by learning how to edit games to suit myself which is why i've set myself this challenge. So what else would i need to know in order to complete this? ASM? Hexeditint? In other words what are the steps would i need to take to do this? I also see the LGP tools as cheating because it has been programmed by someone else.

I know this seems like a hard task for a beginner, but this is why im trying to learn the individual tasks in order to accomplish this. I will then learn the tasks and hopefully someday i'll have achieved the goal and then move onto another. Everyone has to start somewhere :)

Thanks again for the replies :)

Mikeee

mirex

  • *
  • Posts: 1645
    • View Profile
    • http://mirex.mypage.sk
Need help starting out with ff7 programming
« Reply #8 on: 2004-07-08 13:07:02 »
mikeee: pascal is ok, hexediting would be nice ... i recommend looking through many documents that can be found here in the forums; then try to program tool that can view LGP files.
But anyhow why to reinvent wheel ?? because there are already 2 or more tools that can view LGP tools ... use LGP tools and try to do something with files inside LGP.

mikeee

  • *
  • Posts: 14
    • View Profile
Need help starting out with ff7 programming
« Reply #9 on: 2004-07-08 15:42:21 »
Thanks again for the reply. I will have to look into this LGP in more detail. I've thought about it a bit more and decided to change the outcome from the abusive language to editing the amount of gil i have. This is because i will only have to edit my ff7 save file( i think) rather than the actual game files which should be easier for a beginner like me :). I had the idea of converting the amount of gil i have to its hex equivilent and then opening my saved game file with hex workshop and searching for that hex value and changing it, however the hex value wasnt anywhere in the file :(. So im not really sure how id go about making these modifications. How would this be done?

As you said it does seem that i am reinventing the wheel but once ive done this then maybe i can learn to do it (completely by myself) for the ffVI save game file. As i said it isnt the outcome that I want (otherwise id simply use Jenova) but its the knowledge i want.

Thanks again for your help.

Btw what would i need to learn in order to edit the files that the LGP tool extracts. Thanks :)

Synergy Blades

  • Guest
Need help starting out with ff7 programming
« Reply #10 on: 2004-07-09 01:54:35 »
Unfortunately just changing the hex value for your current amount of Gil won't work. Just trying this in a hex editor, saving it, and then trying to load your save point in FF7 will result in the error "Data is ruined." popping up when you try to play it, and this is true for any value. Take a look in a save file and try editing a name (for example, look for "LOUD" which is the tail-end of Cloud's name in FF7 text format, and try changing the O to a P, say). This is because there's a checksum in there to make sure save data isn't damaged/tampered with/whatever, so if you want to edit the data in the save file you have to edit the checksum to match the data in the save file. Now I've no idea how Qhimm managed it but if you look at his source code (cheating, I know) he's got a function in there that recalculates the checksum based on the updated, edited values and writes it to the correct area in the save file so that there are no problems when it comes to loading the save file in the game. Or if you don't want to look at it, perhaps you could ask him how he figured that one out.

mikeee

  • *
  • Posts: 14
    • View Profile
Need help starting out with ff7 programming
« Reply #11 on: 2004-07-09 11:26:37 »
Ok thanks for the advice :) Im slowly starting to understand it all but still have a few newbie questions, i hope this isnt annoying anyone. How do you know which part of the saved file needs to be edited? I mean say if i wanted to give myself ultima then how would i go about editing the save file? More precisely how would i go about finding which part of the save file needs to be edited? As i said earlier i dont wish to be spoon fed, all i wish to know is what i need to learn in order to do this :). I'll worry about the check sum later. Infact i'll probably just use qhimms recalculate code at first to see if my editing works and then i'll worry about seeing how the checksum works. Thanks again for the advice :)

Mikeee

mirex

  • *
  • Posts: 1645
    • View Profile
    • http://mirex.mypage.sk
Need help starting out with ff7 programming
« Reply #12 on: 2004-07-09 12:00:57 »
Make one save file, and then make another savefile with some changes (for example change your current weapon) and see file differences of these two saves. Thats the way.
And its a long way, lots of tryings.

mikeee

  • *
  • Posts: 14
    • View Profile
Need help starting out with ff7 programming
« Reply #13 on: 2004-07-09 15:07:38 »
Damn that does sound long. I'll change the amount of gil i have and then see what changes happen in the file. Thanks for the advice. Is that how qhimm made his jenova editor or did he do it another way. I have PM'd qhimm about it but no reply. Thanks again :)

Cyberman

  • *
  • Posts: 1572
    • View Profile
Need help starting out with ff7 programming
« Reply #14 on: 2004-07-10 00:15:02 »
Quote from: mikeee
Damn that does sound long. I'll change the amount of gil i have and then see what changes happen in the file. Thanks for the advice. Is that how qhimm made his jenova editor or did he do it another way. I have PM'd qhimm about it but no reply. Thanks again :)

One thing you can do is, first find where the time is saved. Which is easy just save them wait 30 seconds and save again.  Wherever it's stored should be identical save the time has changed :)


Basically yes, after you change something you do need to recompute the CRC value that they use to prevent this kind of tampering :)

Qhimm's source I think MIGHT be available.  I have a PS1 editor version that works with PSXmemtool.

Cyb

halkun

  • Global moderator
  • *
  • Posts: 2097
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
Need help starting out with ff7 programming
« Reply #15 on: 2004-07-10 01:49:13 »
Quote from: Darkdevil

EDIT: had to re spell dome words....looks like im turing into halkun ;)


Hey! I rasemble that remark!

Darkdevil

  • *
  • Posts: 728
    • View Profile
    • Http://darkdevil177.5u.com
Need help starting out with ff7 programming
« Reply #16 on: 2004-07-10 08:20:43 »
You know...If i could understand what "Rasemble" means, I would probably be able to reply to that :P ^_^

Qhimm

  • Founder
  • *
  • Posts: 1996
    • View Profile
    • Qhimm.com
Need help starting out with ff7 programming
« Reply #17 on: 2004-07-10 12:21:43 »
But you didn't, yet you did.

Darkdevil

  • *
  • Posts: 728
    • View Profile
    • Http://darkdevil177.5u.com
Need help starting out with ff7 programming
« Reply #18 on: 2004-07-10 14:22:24 »
>_>
Technicalities.

mav

  • *
  • Posts: 270
  • The Sauce team
    • View Profile
Need help starting out with ff7 programming
« Reply #19 on: 2004-08-14 17:41:38 »
You want to write your own program so you can change dialogs in game ? Bad idea, I don't recommend it :). FF7 has very complex structure and to write program for this task you'll need days, maybe weeks if you know the structure. Ask yourself if it's worth this time. I wrote editor for this, it's named Sapphire. I recommend you using it instead of Cosmo, because Cosmo is messing up music in locations you change (not always, but it does). And it can't handle tin_1 file and some others :).

Link: Sapphire