Author Topic: FF7 Text System  (Read 4751 times)

bulk_4me

  • *
  • Posts: 129
    • View Profile
    • BWHacks
FF7 Text System
« on: 2005-07-02 06:46:09 »
All right I am posting this 'cause I hope someone has already reversed the text engine in FF7. I really need some pointers here, and some information on how it works, any help would be highly appreciated.

So far I was able to find the fxn, that parses & the one that line scrolls text, along with a "string table" that dynamically changes from time to time. So the question is this... Does anyone knows if there is a fxn that I could easily push the X, Y, WIDTH, HEIGHT, TEXT and will pop my msg to screen? Where is it!?!?... I just hate debugging this tangled code.

Qhimm

  • Founder
  • *
  • Posts: 1996
    • View Profile
    • Qhimm.com
FF7 Text System
« Reply #1 on: 2005-07-02 08:50:42 »
What you are referring to as 'the text engine' really consists of different systems depending on the module (battle, field, world map, menu). Most commonly all text output is handled by the field script engine, which precisely controls window creation, animation and text display as dictated by the field scripts. There is thus no simple function that outputs a message (except possibly in the other modules), since it is all embedded in the pseudo-threaded field scripting and display system, and each function only does a small part of the job.

bulk_4me

  • *
  • Posts: 129
    • View Profile
    • BWHacks
FF7 Text System
« Reply #2 on: 2005-07-02 16:52:04 »
Where is this 'script reader' fxn? Also do could you post how a simple 'pop window' event looks on the script?

Qhimm

  • Founder
  • *
  • Posts: 1996
    • View Profile
    • Qhimm.com
FF7 Text System
« Reply #3 on: 2005-07-02 17:30:35 »
I don't have the exact op-codes in my head (maybe they can be found in Gears if a copy is still floating around), and I don't remember the exact order of things. Unfortunately I also don't have my disassembly project on this computer so I can't tell you which functions are responsible. Generally though, in the script you have a WINDOW opcode, which initializes one of the four supported in-game windows to a specific size and location. You can then associate text with the window by using the LINE opcode IIRC, and then there's a third opcode that actually starts the animation (to display the window).

bulk_4me

  • *
  • Posts: 129
    • View Profile
    • BWHacks
FF7 Text System
« Reply #4 on: 2005-07-02 18:20:30 »
Gears? Anyway I'll try to find this 'Script Reader' thing.

L. Spiro

  • *
  • Posts: 797
    • View Profile
    • http://www.memoryhacking.com/index.php
FF7 Text System
« Reply #5 on: 2005-07-02 18:25:17 »
Are you unfamiliar with Gears?

http://l-spiro.0kuntz.ca/gears.doc

Once you have opened the document, search for “Opcode”.


L. Spiro

bulk_4me

  • *
  • Posts: 129
    • View Profile
    • BWHacks
FF7 Text System
« Reply #6 on: 2005-07-02 19:27:59 »
Wow, this is the first time I see this doc! :D