Author Topic: [PSX] FFVII International all-in-one translation package (BETA 2)  (Read 57312 times)

Unknown Master

  • *
  • Posts: 10
    • View Profile
Seems like I don't have enough time to keep on developing this set of tools for the moment. For those who are still interested and would like to take a look at my work, here you can find an archive with the not-very-well-organized sources, which include assemblies (subtitle code is in there, check for SLPS/mdec), C++ source for dumper and inserter, and my personal data manipulation library (glib.rar, requires zlib and libpng). I haven't added any notes on which files to extract and where to place them for extraction (I was going to create a program just for that, but again time didn't allow me), so it's up to you figuring out what to do from the sources.

Good luck!

Gemini,

Thank you very much to release your sources, man. It helped me to understand many, many things!

Like, m35 wrote before, I can say too:

Thanks for your contributions and sharing your work thus far!

You're amazing, Gemini! :D



Gemini

  • *
  • Posts: 260
  • Not learner's Guru
    • View Profile
    • Devil Hackers
Time for another update:
  • Fully hacked code for the following menus: shop, save, limit, item. These can now be easily translated like the rest of them from simple assembly script. Sample of the shop menu here;
  • Updated kernel insertion for rebuilding name sort tables inside the item menu module;
  • Updated dialog insertion: unused string pointers are completely removed to save room, also fixed a bug that inserted a string more than once per entry;
  • Implemented complete FIELD directory regeneration with optimization for removing dummy maps. My last test saved over 1115 sectors (2,18 MB);
  • Added rudimentary code for loading and converting battle models (3ds->p);
  • Optional hack for restoring the original Supernova spell in Sepher Sephiroth's battle;
  • Minor changes and bugfixes here and there (mostly related to memory leaks).


For those wondering what's wrong in the second screen, try and remember how the Buy/Sell/Cancel and Item/Materia options were placed. If you can't remember, here goes shiny picture. I've changed it to make it easier to translate, so that you don't need to do a mess with spacing and crap. I've also changed the Print12 routine to use 0xE7 as line carry even in menus, since all it previously did with such code was printing a useless blank character.

I haven't updated the source package link yet. I'll probably do that when more stuff is done. Stay tuned for the moment.

[EDIT]
Need some feedback for this one:


I have rewritten the code for printing attack/defense effects related to statuses, as you can see from the picture. There's a big difference, tho, as I've removed many statuses that really don't make much sense in there. This revision of the menu removes: Near dead (it never shows anywhere), Haste, Regene, Barrier, M-Barrier, Reflect, Ref-absorb (dummy status, no idea what it does), Shield, and Peerless. Statuses kept are: Death, Sleep, Poison, Sad, Fury, Confusion, Silence, Slow, Stop, Toad, Minumum, Pietrify, Gradual Petrify, Death Sentence, Berserk, Paralysis, Darkness.

Any suggestions on what should be reimplemented or definitively removed? Consider that many of the statuses I removed cannot be inflicted by attacking, nor can be nullified because there is no equipment or Materia to do so; there are also special cases that are triggered only by particular spells, like Peerless.

Anyone?
« Last Edit: 2010-06-04 15:44:03 by Gemini »

ff7rules

  • *
  • Posts: 423
    • View Profile
Maybe remove all the ones that are ineffective after battle and keep the ones that are still active even on the field? Just a suggestion.

Gemini

  • *
  • Posts: 260
  • Not learner's Guru
    • View Profile
    • Devil Hackers
Are you sure you didn't mean the opposite? :p That screen is mainly used to see your immunities in battle.

ff7rules

  • *
  • Posts: 423
    • View Profile
Are you sure you didn't mean the opposite? :p That screen is mainly used to see your immunities in battle.

Yeah I mean the opposite lol. Looking forward to seeing more of this tool.

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
I recommend not, because FF7 (unless your translation deals with this) tends to do a bad job of explaining which statuses are blocked by a piece of equipment. Also, elemental defense isn't active out of battle - the point is to gain a quick overview of how elems and statuses will perform *in* a fight.

Removals? Well, there are some statuses you can't attack *with*, such as Sadness and Fury. You can't attack with Darkness either (and even if you could, it wouldn't make any difference, as darkness only hits player commands). But, this would mean a lack of symmetry.

The only suggestions might be to space out the status glyphs more. I can't disagree with your choices on status. The element listing is smart and intuitive, so it stays. I don't know about the element icons, though. Demi and holy aren't immediately apparent. VIII used a cross for holy, but I've always wondered if that strays near to offensiveness for whatever reason.

Something like IX's slow icon may work for gravity, come to think of it.

See here for a rip of VIII's status icons, too. I don't know your feeling about using icons instead of text : many symbols can be rather ambiguous, which defeats the whole point of an all-in-one status screen for quick views on config.

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
The difference is Bosola, that you can light up all the "elementals" but with some of those status' they have absolutely no attack or defend...even in battle. In fact in battle those status' like Near Death and Shield don't show up, it is all internal.

Outside of battle I think it is right to get rid of anything that cannot light up, whilst keeping it all symmetrical.

Actually, I would say going further and removing the attack status' that aren't used, these are:

Sadness, Fury, Gradual Petrification, Death Sentence, Paralysis, Darkness?

That correct?
« Last Edit: 2010-06-08 04:55:20 by seif »

Gemini

  • *
  • Posts: 260
  • Not learner's Guru
    • View Profile
    • Devil Hackers
Removals? Well, there are some statuses you can't attack *with*, such as Sadness and Fury.
Nice catch. I might implement this one, even though that might make the assembly script a little more complicate to edit for other languages.

Quote
You can't attack with Darkness either (and even if you could, it wouldn't make any difference, as darkness only hits player commands).
Are you sure about this one? There's an item ("イカスミ", no idea what's that called in English) that causes Blind/Darkness to enemies, which means that status can really affect foes as well. Still, I cannot remember a piece of equipment or Materia to cause similar effects with an attack. Anybody can confirm?

Quote
Demi and holy aren't immediately apparent.
Gravity and Holy icons come directly from FF6, as well as the rest of them. :p But I've already changed Fire, Ice and Lightning to look a little better. Next on my list of edits is Earth, and that one's a bitch. :/

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Ink (in the english) > イカスミ > Cuttlefish Ink

http://ja.wikipedia.org/wiki/%E3%82%A4%E3%82%AB

And I did some checking, I could find no way to create darkness attack in the menu, as well as the others listed above.

Sadness, Fury, Gradual Petrification, Death Sentence, Paralysis, Darkness (although obviously Curse Slash will do paralysis, but this isn't an attack status in the menu)
« Last Edit: 2010-06-08 13:11:09 by seif »

Gemini

  • *
  • Posts: 260
  • Not learner's Guru
    • View Profile
    • Devil Hackers
Bumping the new split topic with downloads to the lastest build of the package:

Follow the instructions in the package for correct usage. If you have no programming knowledge AT ALL, skip this and carry on.
« Last Edit: 2010-06-09 14:42:12 by Gemini »

Gemini

  • *
  • Posts: 260
  • Not learner's Guru
    • View Profile
    • Devil Hackers
More feedback requested (:D):

(Please ignore the fact that it's in Italian)

So, this is the latest program I've added to the translation package. In a few words, it's an all-purpose patcher that can be used both for translations and mods. It works with a custom format of patch, called f7i, which makes translations a lot smaller than they would be with xdelta or ppf (the latter was pretty obvious). f7i patches can be generated with a separate program that takes as input two ISOs of disc three (original and translated, of course). This format not only results in smaller output, but can be applied to all three discs and still produce working results.

I haven't decided yet whether to add this and the patch generator to the public package or not. This because the patcher is a bit tricky to configure and uses MFC for the interface (i.e. cannot be compiled with VS2005 Express). I probably will release both along with the rest of the sources if there's enough request for there. Of course, I'd also make J-SYNTHESIS use macros for switching language as necessary if that were to happen.

Gemini

  • *
  • Posts: 260
  • Not learner's Guru
    • View Profile
    • Devil Hackers
Seems like nobody gave a crap about the patcher. I guess it wasn't that needed after all, but I'll keep it in the package just in case. ??? Well anyway, it's time for yet another update.

Menu


  • Updated Materia and Equipment menu with full regeneration and expansion for all the strings in there;
  • Updated Magic menu with a slightly different layout (check screenshot 3). Still need to test all the special effect combinations;
  • PHS menu was finally added, and completed;
  • Tutorial insertion implemented (even though this is part of the FIELD module).

Field
“Oh wait, it's six!”

  • ASK commands are fully regenerated, as you can see from the picture. Now you will no more need to keep exactly the same heading line(s) if they look ugly;
  • Implemented an experimental algorithm to add WINDOW commands to those messages with shared boxes. A few particular cases are still generated incorrectly (x/y placement can be off in sub-event calls), but now all windows will have proper size.

In other news, I've been able to make deflate use better compression by toying around with the deflateInit2 parameters, so now gzipped overlays like Chocobo Race will produce better results, and, more importantly, can be finally altered and translated. I'm also working on a new BETA 3 release of the package, with a much more expanded readme.

Stay tuned. :-o
« Last Edit: 2010-07-06 21:01:17 by Gemini »

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
More feedback requested (:D):

(Please ignore the fact that it's in Italian)

So, this is the latest program I've added to the translation package. In a few words, it's an all-purpose patcher that can be used both for translations and mods. It works with a custom format of patch, called f7i, which makes translations a lot smaller than they would be with xdelta or ppf (the latter was pretty obvious). f7i patches can be generated with a separate program that takes as input two ISOs of disc three (original and translated, of course). This format not only results in smaller output, but can be applied to all three discs and still produce working results.

I haven't decided yet whether to add this and the patch generator to the public package or not. This because the patcher is a bit tricky to configure and uses MFC for the interface (i.e. cannot be compiled with VS2005 Express). I probably will release both along with the rest of the sources if there's enough request for there. Of course, I'd also make J-SYNTHESIS use macros for switching language as necessary if that were to happen.

...The problem is that we have enough issues getting the newbs up and running with PPF. At least with a 'scene' standard, they can look to forum posts and threads already written (i.e. not by me). Including f7i for, say, Rebirth would open up a whole can of worms, as attractive as it would be technically speaking.

Mind you, I guess having a 'bespoke' FF7 patching tool would be simpler for many of my users (who'll likely never patch a PSOne game again). My issue is the use of Visual C, though, which I doubt many newbies will handle.
« Last Edit: 2011-01-21 18:09:55 by Bosola »

Gemini

  • *
  • Posts: 260
  • Not learner's Guru
    • View Profile
    • Devil Hackers
...The problem is that we have enough issues getting the newbs up and running with PPF.
Newbies are condemned to death even in my readme, thus I don't care much about them. :P The feedback request referred to including the patcher or not in the package since it needs MFC to be compiled, ergo VS2005 Express cannot do that.

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
i will be trying this out soon :)  It is great work!

Gemini

  • *
  • Posts: 260
  • Not learner's Guru
    • View Profile
    • Devil Hackers

Notice the part where it says "femmina"? That's the Chocobo gender, and I'm finally able to edit it after two straight days of work on a goddamn text parser. :'( It's achieved by compiling a dump of the events from FRCYO. For those who'd like to see the format used for such dumps, here's a sample. And yes, those fancy labels are regenerated automatically so that you don't need to adjust the jumps every damn time.
« Last Edit: 2010-07-10 09:02:59 by Gemini »

ttp

  • Guest
Just dropping in to say thanks! I had a little trouble getting things set up (seems to be a few missing window TIM files for font generation?) but with some clever commenting out of code I managed to get around that.

I'm looking forward to playing around with BETA 3 ;) Best of luck, Gemini, this is some awesome work!


kogami

  • Guest
Hello, I would have liked to have news of the beta 3 version of your tools?

I plan to use them later to make me a french version of Final Fantasy VII International.

I'll do some tests with the beta 2 package, I have no programming knowledge, but I tried with the explanation you gave.


Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
Quote
This package can be adapted to work on other versions of the game. For example, it can be configured to extract text from PAL or US builds by altering just one reference to the encoding.

A little warning for newbies who think they will find their all-hacking-cure here: this is not for the common newbie, even if it’s really simple to use. You’re gonna need at least some grasps of programming in order to alter things to your needing. If you have no idea what the previous sentence means, the content of this package isn’t for you and there’s no way you can make  it work correctly, not  in a million years. So please stop reading the  rest of this document and go do something else now.

Haha, brilliant.

Reminds me of some documentation I once read, roughly along the lines of:

Quote
Q. Halp! Something isn't working!

A. Read the source and fix it yourself. If you don't know how, it was probably your screw up, anyway. Either way, leave me alone.

Anyway, I should have a version of VS2005 up and running fairly soon. Looking forward to giving the tools a spin.
« Last Edit: 2011-01-21 18:20:17 by Bosola »

learner

  • *
  • Posts: 14
    • View Profile
Newbies are condemned to death even in my readme, thus I don't care much about them. :P The feedback request referred to including the patcher or not in the package since it needs MFC to be compiled, ergo VS2005 Express cannot do that.

well if i were you playstation guru i think it is more better to teach us newbies how to do stuffs.
like for what program we need to read or look at? like was it c++ or something. like me a 12 year old who wanted to know how to make a .ppf file for mdef bug fixed in the international version. :-D 8-)

just like on what you did in ntsc u/c and pal version of ffvii.  ;D

please i'm begging you. you said you condemn us newbies, was it a crime to look up to you and want to be your pupil?

Bosola

  • Fire hazard!
  • *
  • Posts: 1752
    • View Profile
    • My YouTube Channel
It's not contempt, it's pragmatics. If you have to ask a question like

what program we need to read or look at? like was it c++ or something.

It's going to take a long time to get you up to speed. That's quite an investment for potentially no return. Doing the research yourself proves your motivation, and thus the likely return on teaching you. If you don't enjoy doing the background reading, you won't enjoy modding, and assisting you won't be a valuable use of time.

This isn't being unpleasant, it's just realistic.
« Last Edit: 2011-03-04 18:18:53 by Bosola »

Gemini

  • *
  • Posts: 260
  • Not learner's Guru
    • View Profile
    • Devil Hackers
I told you how to do it, gave you the exact assembly script to compile. If you can't even download and execute a simple command line program you're hopeless and I don't intend breastfeeding you. Seriously dude, you're getting on my nerves now. Enough already.

learner

  • *
  • Posts: 14
    • View Profile
never thought a playstation guru would say something like that... anyways you're the one who made the first 2 .ppf file i had 3 versions of final fantasy vii here... and only my international version doesn't have been fixed and so if you don't wanna do it, fine with me... if i were in your shoes i just make the .ppf file. the only reason it is impossible for me to do it cause i don't know how to make a .ppf file. that's all.

hotdog963al

  • *
  • Posts: 236
  • Horse
    • View Profile
    • Horse HQ
the only reason it is impossible for me to do it cause i don't know how to make a .ppf file. that's all.
I did the hard work for you.

learner

  • *
  • Posts: 14
    • View Profile
all right i already did that before i became a member here at qhimm.com. and all i found is those rubbish links? anyways thanks for the hard work which i already did in the past