Hacking Queen's Blade: Spiral Chaos Translation Project ( Hackers needed )

killerinsidee

New Member
Newbie
Joined
Nov 20, 2015
Messages
1
Trophies
0
XP
51
Country
Croatia
163 scripts actually don't sound so bad if you consider that 70 of them are relatively short freetalks we've already been translating independently in video form (example), so we got a pretty good translation of them going already, and 42 of the others are carbon copies freetalks with #GB instead of #GA and so on. That means it's the 50 or so stages which we'll need to focus on.
Yeah, it's not so bad. After that there's items, skills, char. bios and the short anime video subbing.
 

Seryuu

Member
OP
Newcomer
Joined
Mar 11, 2015
Messages
13
Trophies
0
XP
117
Country
By the way, I figured you might wanna check this out Flame.

It seems to be the UI stuff for the game, profiles, item descriptions, skill names, that kind of thing. All seems to be here as far as I know. But where 'here' is is where I get a little lost.

Someone dumped this for us during another attempt at trying to get to the files but didn't really elaborate on what he did to find it so we could recreate the dump. It's been sitting around for a while, but I'm hoping it could be sort of useful.
That should be in the EBOOT.BIN .
 

flame1234

Well-Known Member
Member
Joined
May 17, 2009
Messages
734
Trophies
0
XP
957
Country
United States
Still working on the basics.

Need to add:
Quotation marks ( " ) - There are actually two quotation marks in the font, open quotation and close quotation, which is a very Japanese way of doing things. I'll make things work somehow. It will be alternating open and close quotation marks, starting with open, of course. That will work in most cases. If you need a specific one, you have to type UTF-8 quotation marks for the whole line.
Open and close parentheses ()
Ampersand ( & )
Greater Than ( > )

Need to adjust numbers spacing.
Need to fix cut-off "6" (moved too far left)

Do you guys need:
Brackets ( [ ] )
Solid or Outline star ( ★ ☆ )
Heart ( ❤ )
Note ( ♪ )
???

For star, heart, note, you have to type in UTF-8 if you want them because ASCII doesn't have these characters.
 

flame1234

Well-Known Member
Member
Joined
May 17, 2009
Messages
734
Trophies
0
XP
957
Country
United States

Finally got everything! It will be up to the translators to fix typos and wording and everything.

Next is making the insert tool.
I have two tools I haven't released yet: One that makes a new script file (that has LOGO as its first 4 bytes). And another that takes a script file and inserts it into shared.bin, expanding shared.bin if necessary.
I need to modify both tools so that they work with arbitrary script files. They currently only work with the 1st file.
I have to integrate these tools together into one to make them easier to use. Because you would never run one and not the other.
-----------------------------
After that is investigating the EBOOT to see what can be done there.
And after that is investigating the graphics to see what can be done there.
Still not there just yet.
 
Last edited by flame1234,

Final_Agent

Member
Newcomer
Joined
Oct 15, 2015
Messages
12
Trophies
0
Age
36
XP
49
Country
Canada

Finally got everything! It will be up to the translators to fix typos and wording and everything.

Next is making the insert tool.
I have two tools I haven't released yet: One that makes a new script file (that has LOGO as its first 4 bytes). And another that takes a script file and inserts it into shared.bin, expanding shared.bin if necessary.
I need to modify both tools so that they work with arbitrary script files. They currently only work with the 1st file.
I have to integrate these tools together into one to make them easier to use. Because you would never run one and not the other.
-----------------------------
After that is investigating the EBOOT to see what can be done there.
And after that is investigating the graphics to see what can be done there.
Still not there just yet.


Looking pretty damn good! The special characters show up and everything! This just hypes me up all the more! This had better be my best damn script ever!

For the graphics thing, would that include seeing if we can adjust the fonts? You mentioned earlier how it might be possible, but the main problematic is the BMP with transparency thing? I was wondering if maybe the game was reading the font file by using the 0,0 position pixel in the sheet as a transparency guide to tell it what colors to shave off when displaying. If that's the case, you wouldn't need a program to display the transparency at all in terms of editing.
 

flame1234

Well-Known Member
Member
Joined
May 17, 2009
Messages
734
Trophies
0
XP
957
Country
United States
One transparent color: No big deal.
Semi-transparent colors are a big deal. I haven't seen a program yet that can edit them, or show you what you're editing. Except for COLGA, and that program sucks even worse than GIMP.
Since the font is all white, I could give you a false color BMP (according to transparency) that you could then edit.
Or, we could just throw out partial transparency and go with all pixels either opaque or transparent, and see how it looks.

And yes, it's absolutely clear that whoever designed the font never put the letters next to each other as I have done.

Editors don't like GIMP, but it has an option for "do not write color space information" that I need for importing back. Photoshop doesn't have a "do not write color space" option. It might work anyway if I replace the color table with the one photoshop generates. But then again, I don't think photoshop supports 4bpp BMP export. And the color table photoshop generates probably won't have transparency information. It might not need it. We'll have to see.
There are some really weird image formats in romhacking.
 
  • Like
Reactions: Final_Agent

Final_Agent

Member
Newcomer
Joined
Oct 15, 2015
Messages
12
Trophies
0
Age
36
XP
49
Country
Canada
I can give GIMP a go, if this is a process we'll need repeating for future photo editing as far as the chapter titles go as well as other stuff, then I may as well start getting used to the program I guess.
We'll have to see what works as far as reinserting later though, if we can get photoshop somehow in the process, then I'd be able to do a lot of stuff.
 

zero_g_monkey

Well-Known Member
Member
Joined
Aug 9, 2013
Messages
332
Trophies
0
Age
44
XP
321
Country
United States
Editing BMP with Transparency

Here is a little bit of information talking about editing files that use transparency. Flame, SkyWeise and myself put it together. It may prove useful in your editing of images. If you can't see it, you may have to register for the forum. If you do register, send me a message with your username and I can get you approved for access.
 
  • Like
Reactions: Final_Agent

flame1234

Well-Known Member
Member
Joined
May 17, 2009
Messages
734
Trophies
0
XP
957
Country
United States
Anyone have ideas on the font?
Kinds of ideas needed:
1) What is a good font to use? For example, Times New Roman. Just as a test, we're going to scrap everything that's already there and start fresh.
Arial
Antiqua
Courier (fixed width)

Georgia
Tahoma
Times New Roman
Trebuchet MS
Verdana (GBAtemp default font)
Are the fonts available at GBAtemp. Of course there are 1000s out there.


Maybe Comic Sans because of the seriousness of the storyline. :) https://en.wikipedia.org/wiki/Comic_Sans
Arial is a plain one.
Times New Roman makes you feel like you're at the office.

Trying different ones will be a lot of manual work because the spacing has to be manually adjusted.

2) How can I convert a font file into a tiled bmp file programmatically?
Is it even possible? If I can do this, I think I can insert a new font of your choice. Since we have VWF code already, a variable-width font would be nice.
The font tiles are 16x16, I think?
So do I just type a b c d e f g... with 12-point font onto a document with white background and screenshot it (and then split it up programmatically) to get the bit maps for a given font? Or just adjust the font size until the tallest minus the lowest equals 16 pixels?

The pseudocode for splitting up the letters:
http://pastebin.com/7wEfv5Fv

Is there a way to automatically choose alpha values for softening font edges? I'll need to post the false color original font to show what I'm talking about.
 
  • Like
Reactions: Final_Agent

nickseitler

New Member
Newbie
Joined
Nov 25, 2015
Messages
3
Trophies
0
Age
35
XP
56
Country
United States
Anyone have ideas on the font?
Kinds of ideas needed:
1) What is a good font to use? For example, Times New Roman. Just as a test, we're going to scrap everything that's already there and start fresh.
Arial
Antiqua
Courier (fixed width)

Georgia
Tahoma
Times New Roman
Trebuchet MS
Verdana (GBAtemp default font)
Are the fonts available at GBAtemp. Of course there are 1000s out there.

Maybe Comic Sans because of the seriousness of the storyline. :) https://en.wikipedia.org/wiki/Comic_Sans
Arial is a plain one.
Times New Roman makes you feel like you're at the office.

Trying different ones will be a lot of manual work because the spacing has to be manually adjusted.

2) How can I convert a font file into a tiled bmp file programmatically?
Is it even possible? If I can do this, I think I can insert a new font of your choice. Since we have VWF code already, a variable-width font would be nice.
The font tiles are 16x16, I think?
So do I just type a b c d e f g... with 12-point font onto a document with white background and screenshot it (and then split it up programmatically) to get the bit maps for a given font? Or just adjust the font size until the tallest minus the lowest equals 16 pixels?

The pseudocode for splitting up the letters:
http://pastebin.com/7wEfv5Fv

Is there a way to automatically choose alpha values for softening font edges? I'll need to post the false color original font to show what I'm talking about.


Guys I want to show my kudos and tell you that you are doing an amazing job.... might I suggest that once this project is complete... could you in ANY way please translate Queen's Gate? Please? I'm literally begging as is just about every other US fan out there. You guys are STELLAR, thanks SO much! If I can help or donate please let me know!

Nick
 

leecherboy

Well-Known Member
Newcomer
Joined
Nov 1, 2015
Messages
52
Trophies
0
XP
499
Country
Guys I want to show my kudos and tell you that you are doing an amazing job.... might I suggest that once this project is complete... could you in ANY way please translate Queen's Gate? Please? I'm literally begging as is just about every other US fan out there. You guys are STELLAR, thanks SO much! If I can help or donate please let me know!

Nick

Well, one thing at a time, we have just started this project and have plenty, plenty of work to do yet, as you'd guess ^^U

If it'll help you tide you over in the meantime, we'll soon finish the QGSC freetalk videos in the same channel I mentioned last page, plus we somehow managed to get one volume translated from the QG novel.

As for helping, maybe we could use some competent proofreaders given the huge amount of text to revise, but that's something my partner Final Agent has the last word in anyways.
 
Last edited by leecherboy,

Final_Agent

Member
Newcomer
Joined
Oct 15, 2015
Messages
12
Trophies
0
Age
36
XP
49
Country
Canada
Editing BMP with Transparency

Here is a little bit of information talking about editing files that use transparency. Flame, SkyWeise and myself put it together. It may prove useful in your editing of images. If you can't see it, you may have to register for the forum. If you do register, send me a message with your username and I can get you approved for access.

I can see it just fine without the access, so looking good on that part. Wow am I not looking forward to the learning curve on that stuff, but damn if I'm not gonna try this when we get to the chapter titles and other similar texts that are just pictures.

Anyone have ideas on the font?
Kinds of ideas needed:
1) What is a good font to use? For example, Times New Roman. Just as a test, we're going to scrap everything that's already there and start fresh.
Arial
Antiqua
Courier (fixed width)

Georgia
Tahoma
Times New Roman
Trebuchet MS
Verdana (GBAtemp default font)
Are the fonts available at GBAtemp. Of course there are 1000s out there.

Maybe Comic Sans because of the seriousness of the storyline. :) https://en.wikipedia.org/wiki/Comic_Sans
Arial is a plain one.
Times New Roman makes you feel like you're at the office.

Trying different ones will be a lot of manual work because the spacing has to be manually adjusted.

2) How can I convert a font file into a tiled bmp file programmatically?
Is it even possible? If I can do this, I think I can insert a new font of your choice. Since we have VWF code already, a variable-width font would be nice.
The font tiles are 16x16, I think?
So do I just type a b c d e f g... with 12-point font onto a document with white background and screenshot it (and then split it up programmatically) to get the bit maps for a given font? Or just adjust the font size until the tallest minus the lowest equals 16 pixels?

The pseudocode for splitting up the letters:
http://pastebin.com/7wEfv5Fv

Is there a way to automatically choose alpha values for softening font edges? I'll need to post the false color original font to show what I'm talking about.

I'm a big fan of Verdana myself. I'll definitely need a font that gives me a minimum of 55 characters per line though and yet, still stay pretty legible when shrunk down though. Verdana's great for readability so it looks pretty promising to me. Plus, no one likes serif fonts anyhow.

Oh god, don't even joke about Comic Sans!
 

zero_g_monkey

Well-Known Member
Member
Joined
Aug 9, 2013
Messages
332
Trophies
0
Age
44
XP
321
Country
United States
Flame will be of more help than I will in some respects to editing the files. I basically just figured out the table stuff and why it wasn't showing stuff. He took my little bit of information and ran with it. SkyWeise is also another great source of information. He's been editing images files for a few years now. But anything else, I'll try to answer any more questions you have.
 
  • Like
Reactions: Final_Agent

flame1234

Well-Known Member
Member
Joined
May 17, 2009
Messages
734
Trophies
0
XP
957
Country
United States
322 pixels to work with (per line, horizontally).
To get 55 char per line, you need 5.8 pixels on average per letter.
I tested 8-pt Verdana with one copy of each lowercase letter and one period. And I got 5.9 pixels on average per character (horizonal). So it looks like 8-pt Verdana is the right size. It's going to leave a lot of vertical space on the table though. Are there special fonts that look good when squashed horizontally? The tallest letter ( j ) is only 11 pixels top-to-bottom. For HobbyJapan, their tallest letter ( j ) is 16 pixels top-to-bottom.

Found this page: https://www.microsoft.com/typography/links/news.aspx?NID=1470
It will tell you about the Verdana, Tahoma and Nina fonts (all designed by Microsoft). If you clickthrough to the next page, it will show you these three side-by-side.
TLDR- Verdana is the widest, Tahoma is narrower and Nina is the narrowest, specifically designed for handheld devices (running Windows CE). Would you consider Tahoma or Nina fonts?
 

Final_Agent

Member
Newcomer
Joined
Oct 15, 2015
Messages
12
Trophies
0
Age
36
XP
49
Country
Canada
Tahoma looks pretty decent to me, it's none too squished up. Nina seems a bit too much on the narrow side but that's just an opinion based on a glance.

I'll have to try creating a mock up screen to see what could look good though, if we want to try being adventurous with other fonts instead of the Verdana bunch that is. As long as the letters aren't too cramped together though, they should work fine enough as far as reading goes anyhow.
 

flame1234

Well-Known Member
Member
Joined
May 17, 2009
Messages
734
Trophies
0
XP
957
Country
United States
These steps can't be executed by just anyone. You need edit access to our script spreadsheet in order to do it. See below for instructions.

Anyway, Bulk Script Inserter: http://pastebin.com/QJWvtRFC
Yay! That was pretty tough for me. I'm probably doing it wrong, but whatever.

It's pretty hard to use, but you're welcome to give it a try.
1. Download this patch and apply to your ISO: http://www.mediafire.com/download/4bmhyspycx47hlh/QB_base_v1.xdelta
You need to do this only once.
This patch has EBOOT modifications for:
1a. VWF (EBOOT and shared.bin)
1b. Extra space for shared.bin (EBOOT)

2. Get ready to use the tool. All these steps you do only once (do not need to do if running the tool again).
2a. Open new base ISO in UMDgen and extract shared.bin
2b. In UMDgen, save the file list.
2c. Download the Bulk Inserter program via pastebin link above.

3. Download your script files.
3a. Go to Google Sheet (doesn't matter which page): https://docs.google.com/spreadsheet...4Bb3Ewbhz7W2VQVFY/edit#gid=1048817622&vpid=A1
3b. Select TSV->Export All Sheets to TSV
3c. Give permission for my custom export code to access your Google Drive. Access is needed in order for my program to save files onto your Google Drive. You need to do this step only once.

4. Open the program in Python.
5. Tell the program how to insert by modifying the code. Modify the code as needed.
Look at lines 137, 138 and 139. The example is telling it to insert files 0, 1 and 2 using column F and files 3 through 8 using column D (and no files using column E).
It will assume files you don't list should be copied from the original scripts without change.
6. Run program; it will make a new shared.bin for you.
7. Build the ISO
7a. Open base patched ISO in UMDgen
7b. Drag new shared.bin over; say you want to overwrite
7c. Import file list
7d. Save as uncompressed .iso

Good luck!
--------------------------------------
BONUS: For those not on the project team.
You can't execute these steps because you don't have edit access to our Google Sheet. Here's what to do to execute step 3.
1) Go to Google Sheet
2) File->Make Copy
3) Tools->Script Editor
4) Copy and paste in the code from this link and save the project (project name is not important): http://pastebin.com/Aw4r0bkW
5) Reload copied sheet
6) Continue with steps above

Pseudocode:
1) Make TL table (converts between ASCII and fullwidth SHIFT-JIS)
2) Load archive index
3) For each file to insert, update script w/ translations (complicated->subroutine) and update archive index
4) Write shared.bin up to the script archive
5) Write file ID signature, number of files and archive index
6) Compress each script file and write it
7) Write the rest of shared.bin

Script insert pseudocode
1) Load input; rebuild opcodes
2) Load pointers
3) Replace each string, updating pointer targets as needed
4) Update archive index with new compressed and decompressed sizes
 
  • Like
Reactions: leecherboy

leecherboy

Well-Known Member
Newcomer
Joined
Nov 1, 2015
Messages
52
Trophies
0
XP
499
Country


Thanks, that worked just fine! I chose stage 3 here because that's the stage we've checked the most somehow, should be pretty close to the best we can manage.

I guess I'll make a GUI of sorts to edit that python file easily, I'm not bad with C# myself.
 

flame1234

Well-Known Member
Member
Joined
May 17, 2009
Messages
734
Trophies
0
XP
957
Country
United States
I'm no genius. That took me many hours to create (but less than 20, I think). Fixing the last bug took awhile. I was double-compressing the data which obviously won't work.
I really want to work on Blaze Union (PSP) but I can't figure anything out for that game. It is a CRIWARE game which are harder to work on.

I didn't test the feature where it inserts data from shared.orig. Hopefully that will work.

Now that you've gotten that far, it is actually quite straightforward to run again as needed - all you need are new or changed .tsv files with your translations.
You can use the "Export Current Sheet to TSV" command from the TSV menu to "re-run" a certain script file more quickly.

I have no idea how to cheat like you did for testing purposes...
And that's quite the cool stage if you ask me.

Starting work on the EBOOT.
I6ZTb61.png

Having trouble with this LI instruction.
You can see the code for it, it's 9608023C 20E54224
The immediates are 9608 and 20E5.
With LUI 0896, you get 08960000
Then with ORI E520, you get 0896E520
So why do those two instructions add up to 0895E520?

Instruction 1: Just to make sure:
3C02 = 0011 1100 0000 0010
First 6 bits = LUI (001111)
Next 5 bits zero
Next 5 bits target register. 00010 = 2 = V0
(the rest of the bits are the immediate)

Instruction 2: Just to make sure:
2442 = 0010 0100 0100 0010
First 6 bits = ADDIU (001001)
Next 5 bits RS = 00010 = V0
Next 5 bits RT = 00010 = V0
(the rest of the bits are the immediate)

Can someone explain this to me?
It's ADDIU and the operand is E520. The first bit is 1, so that's a negative number? But it's ADDIU (unsigned) so that shouldn't matter, right? And subtracting E520 from 8960000 doesn't give the right result either. Confused.
---------------------------------------------------------
EDIT: The answer is that instruction ADDIU is misnamed and it's really doing signed addition.
1) Compute the twos complement of the immediate
2) Add the result to rs
3) Store the result in rt
That's what the ADDIU instruction does.
 
Last edited by flame1234, , Reason: added answer to problem (found at another site)
  • Like
Reactions: Final_Agent

Final_Agent

Member
Newcomer
Joined
Oct 15, 2015
Messages
12
Trophies
0
Age
36
XP
49
Country
Canada
I'll be posting some recruitment threads elsewhere, but I figure I should ask one of you here. Anyone know where I could find another editor for the project? While I am doing the job, I'm doing it pretty slow, it'd be nice to have some extra support from someone with more experience dealing with making translated texts look good.

We were planning on trying to recruit at http://forums.fuwanovel.net/ or at one of reddit's VN subreddits otherwise.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Maximumbeans @ Maximumbeans: butte