RIP to BT Garner of MindRec.com... He passed away early 2023 from health problems. BT was one of the top PCE homebrew developers and founder of the OG Turbo List, then PCECP.com. Condolences to family and friends.
IMG
IMG
Main Menu

Anearth Fantasy Stories - Translation Development Blog

Started by elmer, 07/05/2017, 12:20 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

elmer

IMG

A long, long time ago, in a galaxy really quite close ...

Quote from: SamIAm on 01/22/2013, 04:38 AMI'm going to go ahead and give Anearth a green light for translation, as long as Esperknight is in (and I'm 99% sure he is). I can start as soon as the script gets a proper dump.

I am undeniably having fun playing this, but the clincher is that I don't think translation projects on this system will ever come any easier. The script is stored in a simple way, the dialogue is not particularly dense or complex, the game is short, and maybe best of all, it won't need a dub or custom subtitling.
Quote from: SamIAm on 01/27/2013, 10:24 AMI just reached the end of my first playthrough of AFS.
...
Basically it was good, and if the script gets extracted easily, I'm all for doing it. It gives me something to do while Esperknight gets the Xanadu II translation into the playable-beta stage.
Well, moving on a few years, and with a change of programmer, it looks like this is on-the-move again!  8)

esteban

Well, damn. That's an unexpected, and awesome, update.

:)

FOR FOLKS WHO ARE CURIOUS: tg-16.com/anearth/intro.html

IMG
IMGIMG IMG  |  IMG  |  IMG IMG

elmer

Quote from: dejan07 on 05/22/2017, 07:57 PMImagine if Elmer and Sam secretly work on Anearth Fantasy Stories and release all 3 games simultaneously?
It's a nice idea, and you're partially right!  :wink:

I've done some work on this while dealing with the administrative side of the LoX auditions, and that work will continue as SamIAm deals with the LoX recordings.

The idea is to make sure that he's got something to do and won't be bored while I'm dealing with fixing the LoX lip-sync in the cutscenes.

But there is absolutely no way that these different projects are going to be released anywhere near each other!  [-(

There's just too much work involved in one of these translations.  :-({|=


But, it is a good time to start talking about AFS, and about how it differs from the LoX games in terms of how it was put together, and how it needs to be hacked in order for a translation to work.

Again, like the LoX Blog, this thread will concentrate on the technical side of what it takes to get a translation done, and why having a programmer involved is sometimes needed.

NecroPhile

Ultimate Forum Bully/Thief/Saboteur/Clone Warrior! BURN IN HELL NECROPHUCK!!!

elmer

So where do things stand right now ...
  • The basic program architecture and runtime memory layout is known.
  • The CD layout and the location of the code/graphics/script data is known.
  • The decompression code has been disassembled and anaylzed.
  • The compression code has been created to produce compatible data.
  • The scripting language has been disassembled and anaylzed.
  • The RPG script data (including code and Japanese text) are all extracted.
  • The extracted scripts can be recompiled and give identical script data.
  • The font drawing system has been disassembled and anaylzed.
  • The font code has been converted into source code so that it can be changed.
  • The script language core has been converted into source code so that it can be changed.
  • The game's original Debug Menu has been hacked and fixed so that it can be used again.

What needs to be done ...
  • Lots!  ](*,)

LentFilms

This is really awesome news! Anearth Fantasy Story is at the top of my list of awesome looking RPGs on the PCE-CD that I've always wanted to play in English. Based off some of the off-handed comments you had been making on the Xanadu threads I was guessing that maybe this was going to be Sam and your's next project. I barely understand most of the technical posts in the Xanadu Development thread but I look forward to reading about your progress on Anearth!

dshadoff

This is fantastic news !

As we are talking about the technical side of these patches, I was wondering whether you could describe your development setup (and workflow if possible).

1) What IDE/language are you using ?  Eclipse ?  Microsoft's IDE ?  JAVA ?  C ?
2) What emulator are you using ?  Is it one where you execute the TOC, or do you use a CD emulator like Daemon Tools ?
3) For the SJIS, are you displaying in a different codepage ?  Or are you converting to Unicode and back ?

I'm pretty sure that I'm not the only one who's interested.

Dave

jtucci31

Let us plebs who just want more of these to happen know what we can do. This is awesome news! This was always one of those lofty RPGs to one day be translated, and now we are inching closer!

ParanoiaDragon

As for dubbing for this game, I assume there cinemas that use redbook audio.  If so, how feasible is it to dub, & find replacement sounds & tunes for the BG?
IMG

Michirin9801

I've only heard of this game in passing, but after looking it up on YouTube I gotta say, it looks pretty sweet! I'll be looking forward to more news on this project as well ^^

Quote from: dshadoff on 07/05/2017, 06:46 PMI'm pretty sure that I'm not the only one who's interested.
You're definitely not!

elmer

Quote from: Michirin9801 on 07/06/2017, 02:40 AMI've only heard of this game in passing, but after looking it up on YouTube I gotta say, it looks pretty sweet! I'll be looking forward to more news on this project as well ^^
There's a great review on Brothers Duomazov ...
http://www.thebrothersduomazov.com/2013/01/seiya-monogatari-anearth-fantasy-stories.html

Black Tiger posted a bunch of screenshots in the old translation thread ...
https://www.pcengine-fx.com/forums/index.php?topic=14331.msg341951#msg341951


Quote from: LentFilms on 07/05/2017, 03:05 PMI barely understand most of the technical posts in the Xanadu Development thread but I look forward to reading about your progress on Anearth!
I'll try to be a little less boring this time around!  :wink:

This time, there definitely shouldn't be any need for posts full of long lists of dull numbers, written while I try to improve my compression code!  [-o<


Quote from: ParanoiaDragon on 07/06/2017, 01:30 AMAs for dubbing for this game, I assume there cinemas that use redbook audio.  If so, how feasible is it to dub, & find replacement sounds & tunes for the BG?
Every scene that is voiced also has a message box with the text of the speech inside it.

We're not planning on doing a dub, it just doesn't seem necessary ... we can change the text instead.


Now, if someone really wanted to do a dub, it *might* be possible.  :-k

25 out of the 29 CD-Audio tracks are pure music ... no voice or sound effects.

Only 4 of the tracks contain voice, and (I believe) those are for the 4 different character-class choices right at the start of the game.

It sounds like the BGM for those particular tracks is already available in one of the other CD tracks.

I have no idea about the rest of the game's VO tracks, but they're obviously in ADPCM somewhere in the data portion. I can see where VO is triggered in the script data, so I can probably find all of the ADPCM ... it's just not been necessary.

As far as mixing new ADPCM tracks for a dub, I suspect, but don't know for sure, that the BGM for the existing ADPCM VO might actually be in the list of CD Audio tracks.

I think that there's a decent chance that Hudson/MediaWorks recycled those, unlike Falcom and the LoX games, where you can only find the pure CD Audio tracks in the separate LoX CD Audio releases.

elmer

Quote from: dshadoff on 07/05/2017, 06:46 PMAs we are talking about the technical side of these patches, I was wondering whether you could describe your development setup (and workflow if possible).
Sure!

I'm a bit old-fashioned, so development is being done on a Windows 7 x64 PC.


Quote1) What IDE/language are you using ?  Eclipse ?  Microsoft's IDE ?  JAVA ?  C ?
The custom toolset is comprised of a PCE-VDC-data-to-PNG converter, and PNG-to-PCE-VDC-data converter, and the script-extractor-compiler-inserter. These are all command-line programs so that they can easily be used in batch files.

They're written in C/C++, because I'm so familiar with it, and it's easy to knock up quick programs.

They could be written in C#, Python, or anything else that can memory-map and modify existing binary files.

I'm using Visual Studio 2010 Professional, because the debugger is excellent, and it's the last version before Microsoft screwed-up the IDE.

Although I actually prefer to edit the source code in a separate and more-powerful text editor. That's just personal preference.

But most of my time is either spent at a command-line in TCC/LE, or MSYS2 if I need some Unix tool like hexdump/grep/diff.

I tend to prefer using batch files for building and testing things (unless I'm debugging the extraction/insertion tools).

I'm using grafx2 to make all of the graphics changes, because it's quick and simple, and I don't need all of the extra features that something like ProMotion brings to the table.


Quote2) What emulator are you using ?  Is it one where you execute the TOC, or do you use a CD emulator like Daemon Tools ?
I use my customized version of Mednafen that I posted here ages ago.

Since I posted that version, Mednafen has finally added some better font choices, but the overall debugger layout still hasn't incorporated the UI layout changes that I made in order to make it prettier to look at and usable.

Because I spend so many hours looking at things in Mednafen's debugger, those changes that I made are really important to my overall comfort in using it.

And without Mednafen's excellent debugger, I wouldn't have done any of this translation work, it would just have been too painful.

When you're at the command line all of the time anyway, it's trivial to launch Mednafen from a batch file or build script, with no need to mess around with a slow GUI.


Quote3) For the SJIS, are you displaying in a different codepage ?  Or are you converting to Unicode and back ?
Well, Windows is just in the standard US-English mode.

The scripts are extracted as SJIS, and not Unicode, because it's easier to compile them in SJIS format in order to verify that they produce identical data to the original script chunks.

That's the only way that I can be sure that I understand the complete structure of the script language, and will be able to change the scripts without breaking the game.

It's easy to edit the script files in any text editor that supports SJIS ... like Notepad++

Here's an example of one of the AFS script files ...

.script003:
  _call( .chunk01, .script005 )
  _call( .chunk00, .script111 )
  {買い物なら}*
  {カウンターごしに}*
  {話しかけてね}
  _end()

.script004:
  _call( .chunk01, .script005 )
  _call( .chunk00, .script111 )
  {お買いものですか}*
  {何になさいます?}
  _wait_for_keypress_then_clr()
  _code253A( $00, $00 )

.script122:
  _call( .chunk00, .script016 )
  _choose( .chunk00, .script006, $00, $10,  0,  2,
           22, 10,   6,  2,      22, 12,   6,  2,      22, 14,   6,  2 )
  _chosen( .chunk00, .script121, .chunk00, .script124, .chunk00, .script050, $FF )

.script059:
.script124:
  _code250E()
  _call( .chunk01, .script005 )
  _call( .chunk00, .script111 )
  {持ち物を買い取れって?これだから田舎者は}*
  {困るのよね}
  _wait_for_keypress_then_clr()
  _jump( .chunk00, .script127 )



You can notice a couple of things from that example ...
  • For a complex script language, it's important to write custom extraction/compilation tools, or else you won't be able to follow the flow of the langauge.
  • You don't need to understand exactly what all of the script commands do in order to work with the scripts.
  • This particular language is a bit of a mess, with scripts calling scripts in different script chunks all over the place.

It's the last aspect that probably killed EsperKnight's ability to make any real headway with the script extraction, because until you understand that, you're just looking at fragments of Japanese text that make little sense.

Pretty much the same with the LoX games.

Unless you know that you're looking at a full embedded programming-language inside the game, you really can't understand what's going on, and you'll never be able to successfully modify things (i.e. translate the text) without breaking everything.

Not every game is this complicated, but embedded interpreted application-specific scripting languages were really popular in some genres as an alternative to simple text control-codes within strings.

But ... I'd be surprised if you'd encounter them much on the PCE outside of RPG games, so I hope that people reading this won't be put off trying to do a translation of any of the many other games on our favorite machine!  :wink:

dshadoff

Quote from: elmer on 07/06/2017, 02:40 PM
Quote1) What IDE/language are you using ?  Eclipse ?  Microsoft's IDE ?  JAVA ?  C ?
The custom toolset is comprised of a PCE-VDC-data-to-PNG converter, and PNG-to-PCE-VDC-data converter, and the script-extractor-compiler-inserter. These are all command-line programs so that they can easily be used in batch files.

They're written in C/C++, because I'm so familiar with it, and it's easy to knock up quick programs.

They could be written in C#, Python, or anything else that can memory-map and modify existing binary files.

I'm using Visual Studio 2010 Professional, because the debugger is excellent, and it's the last version before Microsoft screwed-up the IDE.

Although I actually prefer to edit the source code in a separate and more-powerful text editor. That's just personal preference.

But most of my time is either spent at a command-line in TCC/LE, or MSYS2 if I need some Unix tool like hexdump/grep/diff.

I tend to prefer using batch files for building and testing things (unless I'm debugging the extraction/insertion tools).

I'm using grafx2 to make all of the graphics changes, because it's quick and simple, and I don't need all of the extra features that something like ProMotion brings to the table.
This is really similar to what I use, actually - although I'm a bit more UNIXy (Eclipse IDE for C/C++, bash or ksh instead of BAT, gvim for editing, etc.).  I also write in C, because it's easy to write things quickly.

Would you be interested in sharing your PCE-VDC-data-to PNG converters ?

I wrote something similar to create ASCII art files for a Bazaru de Gozaru project - where almost all of the text is stored in graphics - but I'd like to pass along all of my work for somebody else to continue on, and nobody wants to touch ASCII art.  Sounds like your way would be easier for normal humans than my way.

(I'd be happy to convert all my extraction/insertion scripts to aid whoever wants to take it on - it would be mostly adjusting graphics...)


Quote
Quote3) For the SJIS, are you displaying in a different codepage ?  Or are you converting to Unicode and back ?
Well, Windows is just in the standard US-English mode.

The scripts are extracted as SJIS, and not Unicode, because it's easier to compile them in SJIS format in order to verify that they produce identical data to the original script chunks.

That's the only way that I can be sure that I understand the complete structure of the script language, and will be able to change the scripts without breaking the game.

It's easy to edit the script files in any text editor that supports SJIS ... like Notepad++
Thanks for that... I've generally seen the following format, in non-compressed data:
[array of pointers to blocks]

block1:
[array of pointers to text strings]

text string1:
A bunch of text, with a few interesting control codes to pause, wait for keypress, change color, switch character set, and so on - but intermingled with the text itself...followed by a terminator, which is usually a 0x00 or sometimes 0xFF.

Occasionally, you'll find that "block1" is not an array of pointers, but rather the start of the first string, and the strings are read sequentially.

Finding a way to express the meaning of those interspersed codes - while still making it intelligible to the translator/editor, and keeping it parseable for reinsertion - was always challenging.

QuoteIt's the last aspect that probably killed EsperKnight's ability to make any real headway with the script extraction, because until you understand that, you're just looking at fragments of Japanese text that make little sense.
I got the same feeling, looking at his work on Tengai Makyo - Ziria.  He was able to find text quickly, but had more difficulty trying to figure out a larger organizational structure of those blocks.[/quote]

ParanoiaDragon

That's right, I seem to remember the mention of not doing dubbing on Anearth.  I always prefer dubbing, but of coarse, on a homebrew translation project, it's an added bonus.  It's nice that there's subtitles, that helps!
IMG

elmer

Quote from: dshadoff on 07/06/2017, 09:14 PMWould you be interested in sharing your PCE-VDC-data-to PNG converters ?
I can give you 32-bit Windows command-line binaries immediately, but I'm not quite ready to share the source code quite yet, if that's OK.

I want to do so ... I've just got a whole lot of cleanup to do on the source.

The pce2png utility has only been hacked-together for my own use, and it's not very friendly or robust.

I'll PM you.

seieienbu

This is seriously good news.  I had never played Anearth Fantasy Stories until after reading about the translation attempt a few years back and thought it sounded like a great game.  I picked it up and played it a bit but decided that I'd wait for the translation.

I'm eagerly looking forward to reading the techno jargon of this project as much as I did the Xanadu.  God speed!
Current want list:  Bomberman 93

NecroPhile

Quote from: ParanoiaDragon on 07/07/2017, 01:58 AMThat's right, I seem to remember the mention of not doing dubbing on Anearth.  I always prefer dubbing, but of coarse, on a homebrew translation project, it's an added bonus.  It's nice that there's subtitles, that helps!
Same here.  Without a dub it feels incomplete.
Ultimate Forum Bully/Thief/Saboteur/Clone Warrior! BURN IN HELL NECROPHUCK!!!

Michirin9801

Quote from: guest on 07/07/2017, 06:11 PM
Quote from: ParanoiaDragon on 07/07/2017, 01:58 AMThat's right, I seem to remember the mention of not doing dubbing on Anearth.  I always prefer dubbing, but of coarse, on a homebrew translation project, it's an added bonus.  It's nice that there's subtitles, that helps!
Same here.  Without a dub it feels incomplete.
Eh, I could go either way so long as I get to play the game...

LentFilms

Quote from: guest on 07/07/2017, 06:11 PM
Quote from: ParanoiaDragon on 07/07/2017, 01:58 AMThat's right, I seem to remember the mention of not doing dubbing on Anearth.  I always prefer dubbing, but of coarse, on a homebrew translation project, it's an added bonus.  It's nice that there's subtitles, that helps!
Same here.  Without a dub it feels incomplete.
I would love a dub too but I also know what an insane undertaking it is to create a fan dub, let along one of any quality. Organizing all those volunteers and having the whole audition period is a monumental task, all the more reason the Xanadu dub is an awesome feat. If the game has speech bubbles for all the voiced lines then I am totally fine with just having a text translation, which is already going to be a huge project for Sam and Elmer.

spenoza

I tend to prefer subtitles/captioning unless the dub is just stellar.

elmer

Quote from: LentFilms on 07/07/2017, 09:07 PMI would love a dub too but I also know what an insane undertaking it is to create a fan dub, let alone one of any quality.
Quote from: guest on 07/08/2017, 10:13 PMI tend to prefer subtitles/captioning unless the dub is just stellar.
I believe that the aim of a translation from my POV, and maybe SamIAm's too, is to make the game fully-understandable to an English audience.

For games where it's not possible to hack in subtitles, or use the existing text display mechanisms, then a dub is the only way to do that (or lifting the audio from another version like with Dracula X).

We still have to prove that we can do a "stellar"job on one dub.

It's far too early to contemplate another dub, especially for a game that doesn't actually need one.


Now, maybe we'll reevaluate things later on, but it would be nice to just get this translation finished in a decent timeline rather than deal with the whole issue of dubbing.

Speaking of which ... aligning the text display to the Japanese VO is going to be tough-enough. Aligning it to an English dub would be a huge extra level of pain!  ](*,)

elmer

For anyone that's interested, here (for the next few days until I need the space on dropbox) is all of Anearth's ADPCM speech, extracted and converted in WAV files ...

http://www.dropbox.com/s/gc0j9gphncjp19a/anearth-adpcm-speech.rar?dl=1

That's 374 files, totaling approx 100 minutes of audio.


Now ... the surprising thing, is that it's not really "acted" radio-play-style scenes, it's just a bunch of separate single-person lines, and there is no background music or effects in any of the speech tracks (that I tested).

Really, you couldn't ask for an easier a dubbing job than that!  :shock:

But ... it's still 100 minutes of speech that needs to be transcribed, polished, re-recorded, processed, balanced, etc, etc, etc.

ParanoiaDragon

Quote from: elmer on 07/09/2017, 08:43 PMReally, you couldn't ask for an easier a dubbing job than that!  :shock:
Heh, well, you have your answer right there on if there'll be a dub! :D
IMG

elmer

Quote from: ParanoiaDragon on 07/11/2017, 02:02 AMHeh, well, you have your answer right there on if there'll be a dub! :D
Sure, if someone would like to organize one, after the translation is finished and released, a bit like Ys IV.

But, being "possible" doesn't make it either necessary, or something that I would personally like to see delay the release of a translation!  :wink:

nectarsis

 :dance: :dance: :dance: :dance: :dance: :dance: :dance: :dance: :dance:

Between Legend of Xanadu 1&2, and now this I can die and go to OBEY heaven   :mrgreen:
My Blogger profile with all my blogs of wonderment:
blogger.com/profile/08066967226239965436

elmer

As a developer ... one of my pet-peeves is sloppy UI work.

Now, I can totally understand Japanese developers not making their Engrishy menus look pretty for us Gaijin, because ... those menus just weren't meant for us.

AFAIK, they were there to be just-about-understandable to Japanese players, follow gaming conventions, fit in small screen spaces that wouldn't allow for Katakana or Kanji, and maybe even be a little "exotic".


But to me, large strings of capital letters, with almost no spacing between the letters or the lines, just looks like some horrible alphabet-soup on some very early 8-bit home-computer.


So, here are a couple of initial thoughts of where to take the Anearth menu font.

The Japanese version contains an almost-full set of half-width Katakana (81 tiles), so there's plenty of space to add lower-case latin characters, and make things a little prettier, and maybe even enough to make some strings into VFW bitmaps.


Here's the Japanese original, followed by a small-caps version, and a lower-case version.

And "yes", there's the obligatory drop-shadow, too, just to help lift the text off the background a little bit.

IMG

esteban

IMGIMG IMG  |  IMG  |  IMG IMG

Michirin9801

The lower-case version looks just about perfect I'd say... Go with that one!

SavagePencil

Bleh the full lower-case looks like a 1991 DOS reject.  I like the small caps.

CrackTiger

I like the small caps and it's the easiest for me to read.
Justin the Not-So-Cheery Black/Hack/CrackTiger helped Joshua Jackass, Andrew/Arkhan Dildovich and the DildoPhiles destroy 2 PC Engine groups: one by Aaron Lambert on Facebook, then the other by Aaron Nanto!!! Him and PCE Aarons don't have a good track record together! Both times he blamed the Aarons and their staff in a "Look-what-you-made-us-do?!" manner, never himself nor his deranged/destructive/doxxing toxic turbo troll gang which he covers up for under the "community" euphemism!

NightWolve

#30
!!?!?!!?!?!!?!?!!!!!

You answered the call [again], bless you, my fellow PCE turbro (and SamIAmAndOhYesICan!!!!)! :)

You are the One we were waiting for! Hope and change has finally arrived! The dry spell, the neglect, etc. of talent dedicated to PC Engine CD fan translation projects is ending! We may see Xanadus, Anearth and Emerald Dragon in English in our lifetimes. :)

Congrats man, you have my full support and appreciation! I don't game as much as I used to, I live it through others, but this was one I really wanted to see happen when I got started over a decade ago but wasn't talented enough! I hope you can keep your motivation/drive for years to come!

Vimtoman


elmer

Quote from: NightWolve on 07/24/2017, 01:29 AMWe may see Xanadus, Anearth and Emerald Dragon in English in our lifetimes. :)
Well ... ED is up to you, but I definitely hope so!  :wink:

When you decide to get back to it, we can see if I can hack in a bi-width font into ED so that you can make the text look a bit nicer, if that's something that would interest you.

It looks like ED has enough memory between $5e3a-$5fff ... depending upon where you're loading your English font, and how much of that Dave used up for the 8x12 font hack.


Quote from: SavagePencil on 07/23/2017, 11:45 PMBleh the full lower-case looks like a 1991 DOS reject.
Hahaha! I hear what you're saying. There's not a lot that you can do with an 8x8 fixed-width font, and most of them look a bit old-fashioned.

The lower case version looks a lot better if I remove some of the serifs, and make it a VWF ...

IMG

But that kind of hack would introduce a lot of problems, even if it were possible.

A game really needs to be designed with that in mind, and this game wasn't.

So, back to reality.


Quote from: esteban on 07/23/2017, 07:32 PMVOTED FOR: Lower-case w/ DAT DROP SHADOW.
That looks like 2 votes for the Lower Case, 2 votes for the Small Caps, and Vimtoman has mixed his wording and could be going either way!  :lol:

Here's a better test, on a more substantial screen from the game.

IMG


Hmmm ... looking at that, I've got to say that the lower case may be nominally prettier (or not, depending upon taste), but it really just doesn't fit in well, and marks a huge departure from Falcom's original font.

It is especially-ugly in the "Status" title.


The Small Caps font, IMHO, looks like a nice improvement over the original without totally messing up the look of Falcom's game.

esteban

Small caps are screaming at me (in a *slightly* subdued tone)

Lower case is much civilized and sophisticated.

/two cents

:)

I know I am in minority. So be it.
IMGIMG IMG  |  IMG  |  IMG IMG

OldMan

I like the lower case font.

Did they really typo intelligence?

NecroPhile

Ultimate Forum Bully/Thief/Saboteur/Clone Warrior! BURN IN HELL NECROPHUCK!!!

Michirin9801

My vote remains for the lower case but honestly, I'm fine with whichever one, they both look pretty good!

ParanoiaDragon

IMG

elmer

Quote from: TheOldMan on 07/24/2017, 05:50 PMDid they really typo intelligence?
Yep! I wonder if they fixed that in the Saturn version a couple of years later on.


Quote from: esteban on 07/24/2017, 05:23 PMSmall caps are screaming at me (in a *slightly* subdued tone)

Lower case is much civilized and sophisticated.
Yeah, I suspect that you'll just have to put up with all of the noise!  :wink:


Seriously ... 8x8 fixed-width with lower case just looks too much like an 8-bit home computer font for my taste.

I find that my eyes are drawn to the gaps in the "i" and "l" too much.

I'd like the lower case if we could go full VWF, but otherwise, if it's got to be fixed-width, then the  small-caps has a certain amount of elegance (IMHO), and looks like deliberate-choice.

It also allows for the use of lower-case small-caps sometimes to help create that extra line of space when you need it.


Quote from: elmer on 07/23/2017, 06:56 PMAs a developer ... one of my pet-peeves is sloppy UI work.
Now, this is pretty-much my definition of that ...

IMG


They couldn't be bothered to removed the old menus when making a choice and then backing-up a level.

That's horrible!  :shock:

Seriously, that's the kind of thing that gives me a poor impression of the game, that it then has to work overtime to dispel.  [-X

BigusSchmuck

Seriously take my money if it'll help make this a reality. :)

JoshTurboTrollX

Quote from: elmer on 07/24/2017, 05:15 PMIMG
I really love the look of the lower case (3rd option).  Man, this is so very impressive what you guys are able to do!!  So much TURBO Karma and OBEYLUV for you gents!!  :D
Jossshhhhh...Legendary TurboTrollX-16: He revenge-bans PCE Developers/Ys IV Localizers from PCE Facebook groups and destroyed 2 PC Engine groups: one by Aaron Lambert on Facebook, then the other by Aaron Nanto!!! Josh and PCE Aarons don't have a good track record together! Both times he blamed the Aarons and their staff in a "Look-what-you-made-us-do?!" manner (extortion!), never himself nor his deranged, destructive, toxic turbo troll gang!

spenoza

You know what, I think I actually prefer the look of just straight all caps. I just wish it was a different font. I think the heaviness of the letters hurts it. I think if the font were just a tiny bit thinner it would actually look fine and not need small caps. Think something more like a monospaced Ariel or Helvetica instead of what right now looks more like a monospaced Chicago.

elmer

Quote from: JoshTurboTrollX-16 on 07/26/2017, 04:30 PMMan, this is so very impressive what you guys are able to do!!  So much TURBO Karma and OBEYLUV for you gents!!  :D
If I haven't been clear ... those screens are just mockups in grafx2, they're not actually running in the game.  :wink:

Removing the katakana tiles and adding small-caps or lower-case tiles would break things right now, and I'm not ready to do that quite yet.  8-[

I'm still investigating the messy menu system and identifying where the menu strings and fight/item strings are for the Battle program.

It's organized a bit differently from the Game program and doesn't seem to use "scripts" as such.

And this gets back to that "why do you need a programmer?" question.


Well ... it's because you're going to have one heck of a time finding out where stuff is in a complex game if you just look at the contents of the CD.


You really need to see the code running, and figure out how the different programs load their data off the CD in order to understand the overall structure of what's going on, and perhaps even why.

Then you can write quick-and-dirty tools to scan through the data on the CD data, and find out more stuff that you didn't know.

Which then leads you onto the figuring out what the next round of tests should be.

It's like peeling an onion, one layer at a time.


For instance ... there are 79 battles in the Anearth, with 39 different sets of background locations.

That could only be determined after figuring out how the the Battle program loads its data, and then writing some code to scan the CD at those locations and figure out where the last one was.

Same for the Game program. There are 44 different "level" loads, containing 276 script chunks (files).

Hudson actually ran out of space for their (rather bloated) scripts in the Game, and ended up loading them from 2 totally-different places, even though the scripts all refer to each other.

It's what I'd call a very old-school traditional arcade/console architecture, rather than the much cleaner and more elegant file-based computer-like architecture that Falcom used in the LoX games.

It's all a bit messy, and they've got hard-coded offsets everywhere to bank locations inside the levels, so I can't just move things around easily ... which means that there's going to be a limited amount of space to play with for the English translation.

SamIAm won't get the complete freedom for his translations that he had in the LoX games. I don't think that it'll be a serious problem, because I can change the encoding of Hudson's scripting language to get some memory back ... but it'll be a huge PITA.


Anyway, despite that, it looks like there's enough free space in the Game program to insert the data for a nice 12-high VFW English font.

The Battle program, OTOH, is using all of its memory, and so I need to figure out if there's some free space for the font in each of the 79 different sets of Battle data.


Which gets back to figuring out the loading, and where it gets its text strings from.


Which leads to more investigations, and then this ...

Battle 0x14F1 ( 0) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1529 ( 1) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1561 ( 2) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1599 ( 3) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x15D1 ( 4) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1609 ( 5) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1641 ( 6) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1679 ( 7) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x16B1 ( 8) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x16E9 ( 9) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1721 (10) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1759 (11) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1791 (12) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x17C9 (13) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1801 (14) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1839 (15) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70 empty
Battle 0x1871 (16) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x18A9 (17) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x18E1 (18) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70  used
Battle 0x1919 (19) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70  used
Battle 0x1951 (20) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70 empty
Battle 0x1989 (21) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x19C1 (22) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x19F9 (23) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1A31 (24) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70  used
Battle 0x1A69 (25) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70  used
Battle 0x1AA1 (26) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1AD9 (27) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1B11 (28) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70  used
Battle 0x1B49 (29) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70  used
Battle 0x1B81 (30) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70  used
Battle 0x1BB9 (31) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1BF1 (32) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1C29 (33) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1C61 (34) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1C99 (35) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1CD1 (36) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70  used
Battle 0x1D09 (37) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70 empty
Battle 0x1D41 (38) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1D79 (39) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1DB1 (40) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1DE9 (41) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1E21 (42) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70  used
Battle 0x1E59 (43) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70  used
Battle 0x1E91 (44) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70  used
Battle 0x1EC9 (45) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1F01 (46) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1F39 (47) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70 empty
Battle 0x1F71 (48) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1FA9 (49) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x1FE1 (50) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x2019 (51) : text crc $5f4da114 : $D17A,$C010,$D201,$D2CC,$D37B,$D77B,$D991,$D2F9,$0000 : Bank $73 free from $DD29 : Bank $74 free from $D437 : Bank $6F  used : Bank $70 empty
Battle 0x2051 (52) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x2089 (53) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70  used
Battle 0x20C1 (54) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70  used
Battle 0x20F9 (55) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70  used
Battle 0x2131 (56) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70  used
Battle 0x2169 (57) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x21A1 (58) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70  used
Battle 0x21D9 (59) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x2211 (60) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x2249 (61) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x2281 (62) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x22B9 (63) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70 empty
Battle 0x22F1 (64) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70  used
Battle 0x2329 (65) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x2361 (66) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x2399 (67) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70  used
Battle 0x23D1 (68) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70  used
Battle 0x2409 (69) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x2441 (70) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70  used
Battle 0x2479 (71) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F  used : Bank $70  used
Battle 0x24B1 (72) : text crc $af624041 : $D18F,$C010,$D216,$D2E1,$D390,$D790,$D9A6,$D30E,$0000 : Bank $73 free from $DD3E : Bank $74 free from $D437 : Bank $6F  used : Bank $70 empty
Battle 0x24E9 (73) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x2521 (74) : text crc $1c12a205 : $D22B,$C010,$D2B2,$D37D,$D42C,$D82C,$DA42,$D3AA,$0000 : Bank $73 free from $DDDA : Bank $74 free from $D437 : Bank $6F  used : Bank $70  used
Battle 0x2559 (75) : text crc $48754f0e : $D24E,$C010,$D2D5,$D3A0,$D44F,$D84F,$DA65,$D3CD,$0000 : Bank $73 free from $DDFD : Bank $74 free from $D437 : Bank $6F  used : Bank $70 empty
Battle 0x2591 (76) : text crc $27f26288 : $D2CB,$C010,$D352,$D41D,$D4CC,$D8CC,$DAE2,$D44A,$0000 : Bank $73 free from $DE7A : Bank $74 free from $D437 : Bank $6F empty : Bank $70 empty
Battle 0x25C9 (77) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $E000 : Bank $6F empty : Bank $70 empty
Battle 0x2601 (78) : text crc $04bf5678 : $CFB8,$C010,$D03F,$D10A,$D1B9,$D5B9,$D7CF,$D137,$0000 : Bank $73 free from $DB67 : Bank $74 free from $DFFE : Bank $6F empty : Bank $70 empty

elmer

So what does that huge block of garbage tell us?  :-k

Well it's actually good news!  :D


Battle 0x14F1 ( 0) text crc $04bf5678 : Bank $73 free from $DB67

Battle 0x2019 (51) text crc $5f4da114 : Bank $73 free from $DD29
Battle 0x24B1 (72) text crc $af624041 : Bank $73 free from $DD3E
Battle 0x2521 (74) text crc $1c12a205 : Bank $73 free from $DDDA
Battle 0x2559 (75) text crc $48754f0e : Bank $73 free from $DDFD
Battle 0x2591 (76) text crc $27f26288 : Bank $73 free from $DE7A


Each set of Battle data may have its own set of text strings, but they're actually identical in most of the battles (they have the same CRC32 values).

There are only 5 battles that contain different string data, and when I run those particular battles in Anearth's Debug Mode, it's easy to see that those are the battles with "special" opponents who actually speak to you before the battle and move the story forward.

I imagine (but don't yet know for sure), that those "unique" string tables contain all of the same strings as the other levels, but with some added extras for the story.

That should make SamIAm's translation job a little easier!


It also shows that while there is no single location in the data that I can use to put a English VWF font ... there is a location that I can use for 77 out of the 79 battles, and an alternate location that I can use for the 2 remaining "troublesome" battles.

That makes my job a little easier!

elmer

Quote from: elmer on 07/26/2017, 06:12 PMI imagine (but don't yet know for sure), that those "unique" string tables contain all of the same strings as the other levels, but with some added extras for the story.
OK, that's confirmed now!  :D

Every battle contains exactly the same set of strings, it's just that those 5 battles with "special" opponents contain an extra 14 strings each for that opponent's custom responses.

All of the dictionaries (contiguous blocks of null-terminated strings that are accessed by skipping through the block) for the Battle overlay have now been identified and dumped.

There are some unused strings that can be removed to make a bit more space for the English translation ... so I'm fairly hopeful that we won't hit any major problems (in the Battle overlay) from limited space.

SmokeMonster

Incredible work, Elmer. This is extremely exciting to see unfolding.

Gypsy

This is awesome, I hope it's still happening.

Sarumaru

This makes my nipplz SO erect, I can't even...

cccmar

Nice! It's looking really good thus far. As to dubbing vs. subs - I personally am not a huge fan of dubbing, but it's of course up to you. You can always decide to do two versions of the patch, with and without dubbing. Still, it's all up to you. Either way, wish you luck with this project. =D>

Purple1308

This looks very interesting hopes it goes well