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

Discussion in 'PSP - Hacking & Homebrew' started by Seryuu, Mar 11, 2015.

  1. killerinsidee

    killerinsidee Newbie

    Newcomer
    1
    Nov 20, 2015
    Croatia
    Yeah, it's not so bad. After that there's items, skills, char. bios and the short anime video subbing.
     
  2. Seryuu
    OP

    Seryuu Member

    Newcomer
    1
    Mar 11, 2015
    That should be in the EBOOT.BIN .
     
  3. flame1234

    flame1234 GBAtemp Advanced Fan

    Member
    6
    May 17, 2009
    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.
     
  4. shadue

    shadue Member

    Newcomer
    1
    Nov 21, 2015
    United States
    Right on guys keep it up!
     
  5. flame1234

    flame1234 GBAtemp Advanced Fan

    Member
    6
    May 17, 2009
    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, Nov 22, 2015
    Abcdfv, leecherboy and Final_Agent like this.
  6. Final_Agent

    Final_Agent Member

    Newcomer
    1
    Oct 15, 2015
    Canada
    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.
     
  7. flame1234

    flame1234 GBAtemp Advanced Fan

    Member
    6
    May 17, 2009
    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.
     
    Final_Agent likes this.
  8. Final_Agent

    Final_Agent Member

    Newcomer
    1
    Oct 15, 2015
    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.
     
  9. zero_g_monkey

    zero_g_monkey GBAtemp Fan

    Member
    3
    Aug 9, 2013
    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.
     
    Final_Agent likes this.
  10. flame1234

    flame1234 GBAtemp Advanced Fan

    Member
    6
    May 17, 2009
    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.
     
    Final_Agent likes this.
  11. nickseitler

    nickseitler Newbie

    Newcomer
    1
    Nov 25, 2015
    United States

    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
     
  12. leecherboy

    leecherboy Member

    Newcomer
    2
    Nov 1, 2015
    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, Nov 25, 2015
    Final_Agent and reinzhart like this.
  13. Final_Agent

    Final_Agent Member

    Newcomer
    1
    Oct 15, 2015
    Canada
    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.

    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!
     
  14. zero_g_monkey

    zero_g_monkey GBAtemp Fan

    Member
    3
    Aug 9, 2013
    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.
     
    Final_Agent likes this.
  15. flame1234

    flame1234 GBAtemp Advanced Fan

    Member
    6
    May 17, 2009
    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?
     
  16. Final_Agent

    Final_Agent Member

    Newcomer
    1
    Oct 15, 2015
    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.
     
  17. flame1234

    flame1234 GBAtemp Advanced Fan

    Member
    6
    May 17, 2009
    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
     
    leecherboy likes this.
  18. leecherboy

    leecherboy Member

    Newcomer
    2
    Nov 1, 2015


    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.
     
  19. flame1234

    flame1234 GBAtemp Advanced Fan

    Member
    6
    May 17, 2009
    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.
    [​IMG]
    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, Dec 7, 2015 - Reason: added answer to problem (found at another site)
    Final_Agent likes this.
  20. Final_Agent

    Final_Agent Member

    Newcomer
    1
    Oct 15, 2015
    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.
     
Loading...