Jump to content
doppel222

Need help for a program to extract scripts Favorite/Saga Planets visual novels

Recommended Posts

On a tangent, does anyone know of any reinsertion tools for FAVORITE stuff? The Hoshimemo EH project still hasn't got any iirc, and staircase aren't really helping.

Not sure 100%, but I think Staircase never released any tools for free access. So if current TL team is working with some kind of scripts that they received from Staircase, most likely they are in some staircase-made format and only they can re-insert it even if some other tools for FAVORITE stuff exist. Unless TL team will solve this by re-inventing the wheel. Chances that Staircase used some pre-existing tools that can also be used by EH TL team are low. Chances that some other randomly created tools will be able to insert any kind of existing Staircase-made scripts are close to zero.

Share this post


Link to post
Share on other sites

I discovered this thread via websearch and thought you guys might be interested in an upgrade to SaintLouisX's decompiler, which is available here:

 

https://github.com/vn-tools/hcb_compiler

 

Although it's backwards-incompatible (meaning you'll need to pack with old tool and unpack with new tool), it should work much faster.

If you need tools for repacking the .bin archives as well, just let me know.

 

6Zf1ADP.png

Share this post


Link to post
Share on other sites

Update: added image converter and archive repacker as requested in an e-mail.

New repo address: https://github.com/vn-tools/fvp-tools

 

Below is a screenshot showing "Option" menu item rotated by 180 degrees - I don't have gimp ATM so that's all I managed to do from command line.

Not tested on RGB images (e.g. backgrounds) and character avatars, but I don't think changing these is needed. Let me know if there are any issues.

 

f3OZ2dS.jpg

Share this post


Link to post
Share on other sites

I've been thinking about picking up Irotoridori no Sekai for translation for quite a while now but lacked the tools necessary to extract/compile the scripts and all. However, now that rr- was nice enough to put together this set of tools, I've started working on my own translation (while also editing/re-translating some of the already existing partial patch). I hope to be able to work on this seriously over the coming months, so I've spent all afternoon messing around with this to make sure that there won't be any issues that pop up later on. 

 

Anyhow, while I am able to extract, translate, and compile the translated scripts and have the game display them, I've come across a major issue. Namely, after the first ~50 or so lines, when the MC's childhood friend first appears, as soon as her first line starts to load, this happens. Interestingly, if I simply hold down CTRL and skip a few lines later, she speaks and the game runs without a problem. However, if I continue on a bit longer, whenever she begins to speak again after being absent, it happens again (except apparently with a different voice file). Any ideas as to what could be causing this?

 

Here is the string file I'm working with. The only thing I've modified are the actual Japanese lines themselves (I changed the names back to the original Japanese for the time being in case I may have messed something up with that). Yes, my locale is set to Japanese. I'd love to be able to complete this eventually, but that won't be possible if I can't get the game to work 100%. I know promises from a newcomer don't mean much on the internet, but I'd be appreciative if anyone could figure out the issue so that I can keep working on this and release it for all to enjoy. 

Share this post


Link to post
Share on other sites

I've been thinking about picking up Irotoridori no Sekai for translation for quite a while now but lacked the tools necessary to extract/compile the scripts and all. However, now that rr- was nice enough to put together this set of tools, I've started working on my own translation (while also editing/re-translating some of the already existing partial patch). I hope to be able to work on this seriously over the coming months, so I've spent all afternoon messing around with this to make sure that there won't be any issues that pop up later on. 

 

Anyhow, while I am able to extract, translate, and compile the translated scripts and have the game display them, I've come across a major issue. Namely, after the first ~50 or so lines, when the MC's childhood friend first appears, as soon as her first line starts to load, this happens. Interestingly, if I simply hold down CTRL and skip a few lines later, she speaks and the game runs without a problem. However, if I continue on a bit longer, whenever she begins to speak again after being absent, it happens again (except apparently with a different voice file). Any ideas as to what could be causing this?

 

Here is the string file I'm working with. The only thing I've modified are the actual Japanese lines themselves (I changed the names back to the original Japanese for the time being in case I may have messed something up with that). Yes, my locale is set to Japanese. I'd love to be able to complete this eventually, but that won't be possible if I can't get the game to work 100%. I know promises from a newcomer don't mean much on the internet, but I'd be appreciative if anyone could figure out the issue so that I can keep working on this and release it for all to enjoy. 

 

I'm going to take a look and see if it crashes on my machine too. If it does, I'll do my best to fix this.

(Did you by any chance repack the archives with sounds?)

Share this post


Link to post
Share on other sites

(Did you by any chance repack the archives with sounds?)

No, the only thing I've edited at all is the World.hcb file (using your tools). 

 

EDIT: Interestingly, after installing the ver1.1 patch and copy/pasting my edits into the new World.hcb file, everything seems to be working fine now.  Never mind. Same issue as before except it starts happening about ~20 lines later. 

Share this post


Link to post
Share on other sites

Well, looks like this isn't my script's fault - if you try to run it on untouched World.hcb, you'll run into the same issue as well. Actually, it's a part of the game's protection. A workaround that worked for me (at least I progressed further than I have before I applied this fix) was to change not only default code page to Japanese, but also format and date time in regional settings.

 

I changed my time and date format too. I worked after that. I have no idea how this affect the game, but it works.
Thanks.

(source: http://www.hongfire.com/forum/showthread.php/401772-Hoshizora-no-Memoria-error)

 

If you want, I could work on creating a World.exe version that bypasses this crap.

Share this post


Link to post
Share on other sites

I've actually already had both my locale set to Japanese as well as my time and date format (since otherwise, I'd get the whole "graph can't be loaded" error). At one point, I pretty much had every possible setting on my computer set as such just in case. Alas, to no avail.  

 

If you want, I could work on creating a World.exe version that bypasses this crap.

I'm not sure how much work that would be for you, but if you would be up to the task, then it would pretty much allow me to begin seriously tackling this translation effort. 

Share this post


Link to post
Share on other sites

Are you saying that you still get the errors despite setting everything to Japanese? Damn... your strings.txt seemed to work for me...

Are you sure that you don't run into this issue on a vanilla installation, only after translating stuff with the script compiler?

(Sorry for asking dumb questions.)

Share this post


Link to post
Share on other sites

Are you saying that you still get the errors despite setting everything to Japanese? Damn... your strings.txt seemed to work for me...

Are you sure that you don't run into this issue on a vanilla installation, only after translating stuff with the script compiler?

(Sorry for asking dumb questions.)

Yep, even with everything set to Japanese it still does the same thing. 

 

And yes, I'm 100% certain that it doesn't happen with a vanilla installation. In fact, I just went through about ~600 lines of the game using the untouched World.hcb I sent you earlier and I didn't run into a single error, whereas I get one about ~100 lines in every time on my edited version. 

 

I'm using 64-bit Windows 7, in case that matters at all. 

Share this post


Link to post
Share on other sites

I played without any problems all the way to the OP on your strings.txt; the audio worked correctly as well.

Then I suspected the problems are caused by the differences in our games... so I took your .hcb, decompiled it, patched it manually with the English parts in strings.txt you supplied, and compiled it again. It worked again.

 

I'm not sure how I can help. I also analyzed the game a little in terms of playing on different regional settings: it doesn't look like it's a protection against us gaijins, it looks more like crappy coding. The gfx files can't be found because of some obscure exception happening in code that does... something. Not sure what yet. (It might be protection after all.)

 

Edit: the exception is thrown because the file list loaded into the RAM doesn't have this file. Things got suspicious again.

Share this post


Link to post
Share on other sites

This is a mysterious issue, indeed. 

 

I played without any problems all the way to the OP on your strings.txt; the audio worked correctly as well.

When you say that you played through, do you mean by holding down CTRL or by manually clicking through? Because when I hold down CTRL, the game will load fine without issues as far as I want it to. But when I'm clicking through (as one normally would on a first play-through), I get the aforementioned error around ~100 lines in. 

Share this post


Link to post
Share on other sites

I kept clicking at first until I discovered I can scroll with the mouse and still have characters speak.

I haven't used Ctrl because you warned not to do it.

Share this post


Link to post
Share on other sites

Ah, I thought that was probably the case but just wanted to be sure. Then how about this: 

 

The partial English patch done by the previous group works seemingly flawlessly and they appear to have mitigated this issue, so do you think you could somehow check out the patched World.exe and World.hcb to see what they did to it to work around this (since it seems they modified both the executable and the .hcb file). I tried opening the WorldEN.hcb patched version (so that I could just edit/translate from the already patched version) but keep getting "Unknown opcode" messages when trying to extract the scripts.

 

Here's a link to both just in case: 

WorldEN.exe

WorldEN.hcb

Share this post


Link to post
Share on other sites

The only difference between the .exes is that the WorldEN.exe looks for *EN.hcb instead of World.hcb.

Seeing unknown opcodes is actually very interesting and might shed some light.

 

I'm starting to think that this might be an OS issue - I compile scripts on Linux while you seem to use Windows. That's the only real difference I can think of.

 

EDIT: unknown opcodes are not interesting at all. They're, basically, leftovers. Imagine you have something like this in the compiled  script:

 

1. do something 1

2. do something 2

3. show string "this is an uninteresting string"

 

Imagine they changed instruction 2 to unconditional jump somewhere. The game, when sees such instruction, stops parsing anything beyond that and moves the instruction pointer (does a "jump") to the destination. So you now have something like this:

 

1. do something 1

2. jump to 0xf38582

3. --%@s is an uninteresting string" (rubbish, "unknown opcodes", but it's alright to keep it since game will never read it)

 

Frankly I don't want to parse anything like this.

Share this post


Link to post
Share on other sites

I see. That certainly makes sense then. Though regardless of the outcome, I appreciate your time and effort with this. I'll try a few more things to see if I can't figure out what's going on. 

 

I'm starting to think that this might be an OS issue - I compile scripts on Linux while you seem to use Windows. That's the only real difference I can think of.

I'll try compiling the script from a Linux Live CD I have and seeing if the results will differ. 

 

Edit: Based rr- has fixed everything and things are now good to go. You can expect more formal updates/a website(?) once the first edited/somewhat retranslated partial patch is ready (so that people can see that this is a legitimate project). There's also the possibility of joining another translator to tackle it together. 

 

Looks like this won't be necessary after all. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

×