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

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

  1. leecherboy

    leecherboy Member

    Newcomer
    3
    Nov 1, 2015
    You know, I've gone through the battle strings, and besides the fact that many characters are repeated a few times, they have a lot more battle cries than apparently shown. For example, you can see there all the attacks names that they cry out, but you can't ever see that text appearing. I guess there was one time during development when you could see those?
     
  2. Zander1995

    Zander1995 GBAtemp Regular

    Member
    4
    Nov 11, 2015
    United States
    Is it possible that those might actually be labels or something of the like so that the programmers would know which voice file to call in any given situation? Also how difficult do you think it would be to actually code a way for that text to show up when those voice clips play?
     
  3. flame1234

    flame1234 GBAtemp Advanced Fan

    Member
    6
    May 17, 2009
    United States
    I don't have a lot of experience with expanded EBOOT. Did anyone try a test build on actual hardware? Basically you need to make sure it will boot... because it might not even boot. If it boots, it'll probably work fine.
    EDIT: Confirmed not working on a real PSP, not sure how to debug.
    I tried base patch v3 on a real PSP and you get a crash when you open the battle menu.

    Eboot metadata: http://pastebin.com/eteuJA3C
    I'm having a lot of trouble here.
    I loaded up the original game.
    The memory space is 0x8800000 to 0xA000000. There's a whole 32MB more memory on most PSP models. But I don't know how to access it.
    I noticed that the memory area 0x9E40000 to 0xA000000 is unused so I thought to move the string expansion table there.
    If I put a huge virtual address for the new block, (I tried 0x9E40000) the PSP will think the EBOOT is enormous and allocate all that space for it (0x8800000 to 0xA000000). Such an EBOOT will work in PPSSPP but not on a real PSP.

    One thing to try is to reduce the size of the expansion. I think there's still enough space to fit everything.
    Another thing to try is to put instructions to copy the string expansion table somewhere else when the game starts. That way the memory will still be allocated properly. The pseudocode for memcpy goes:
    a0: Target
    a1: Source
    a2: Amount to copy
    memset needs to then be called to zero out the source.
    a0: Target
    a1: The value to set (zero)
    a2: Amount to set
    --------------
    So apparently that's not the problem. Base patch v2 doesn't work either.
    --------------
    Base patch v1 doesn't work either.
    EBOOT insert program isn't working either. EDIT: EBOOT insert tool seems to be working. I didn't realize you changed the pointers column.
    As for why they don't work on a real PSP: I think it has something to do with the VWF EBOOT hacks.
    ---------------
    I needed to make everything independent because I was finding it difficult to keep everything straight

    eboot - library I wrote for handling EBOOTs (doesn't do anything by itself)
    mod.asm - used w armips to modify the EBOOT code
    shared_bin_tool - unpack / repack shared.bin
    qb_battle_dumper_inserter - inserts the battle text (17.bin)
    qb_script_insert_(bulk_inserter)_v3 - inserts the script (10.bin)
    qb_string_insert_v2 - inserts misc strings (skills, etc.) (03.bin)
    build - builds shared.bin (using shared_bin_tool) and builds the EBOOT
    1) Expand the EBOOT (using eboot)
    2) Insert the EBOOT strings
    3) Build shared.bin (using shared_bin_tool) and update TOC
    4) Add code using armips
    ---------------------
    The process is long, unfortunately. Everything is now based on original game data except for filelist. Since that is just metadata, I've included it here.

    I still don't know if everything will work with a real PSP because I'm on vacation at my parents' house and don't have my real PSP with me. I have a way to try Stormyu's idea of attaching the extra data to a random file, so I'll give it a try if it ends up not working.

    1. Get ULJS00190.BIN, the decrypted EBOOT, from the original game
    Go to \ppsspp\memstick\PSP\SYSTEM\DUMP ad delete ULJS00190.BIN
    Go to PPSSPP developer options and enable dump decrypted EBOOT to file
    Load the original game
    Go get ULJS00190.BIN from \ppsspp\memstick\PSP\SYSTEM\DUMP and put in tools folder
    2. Get ready
    Tools pack: (see attached) unpack into tools folder
    Get shared.bin from the original game and put into tools folder, rename to shared.orig
    Export tsv files from:
    QB EBOOT: https://docs.google.com/spreadsheets/d/1T8NUcVqtriPO-DY3v9Rk26hOZi1ICcwKcxMuAaIslco/edit#gid=0
    Main Script: https://docs.google.com/spreadsheet...LYiGIT4D4Bb3Ewbhz7W2VQVFY/edit#gid=1048817622
    Battle Script: https://docs.google.com/spreadsheet...q2AMQ68Sq5voEqth663D1k3ig/edit#gid=1969211918
    3. Unpack shared.bin by running shared_bin_tool
    Run it in IDLE
    Then type unpack() at the prompt
    4. Run the scripts to pack up 03.bin (strings), 10.bin (script), 17.bin (battle script) - you can do any or all of these you want, or none
    5. Using xdelta, apply 02.xdelta to 02.orig, getting 02.bin (this modifies the font so each character is at the left side of its box)
    6. Run build
    7. Build the iso
    Open in UMDgen
    delete entire contents of SYSDIR\UPDATE
    Replace EBOOT.BIN and shared.bin
    Import filelist.txt (from tools pack)
    Save as uncompressed
    8. Run and test
     

    Attached Files:

    Last edited by flame1234, Jun 25, 2016
  4. leecherboy

    leecherboy Member

    Newcomer
    3
    Nov 1, 2015
    Great, thanks!

    It took me more time than I expected, because apparently you have to use the emulator's latest version for it, but I got it going.

    battle quote.

    If you start the story from the beginning, it all shows ok, but one disadvantage I noticed from this new method is that loading savefiles from the previous method apparently won't load the script, not sure if that might be something easy to solve.

    However, there's one problem that has kept me stumped for the last month (before this recent change), it's about the points screen (when you level up in a stage and can assign 3 points to attributes). It sort of looks like this:

    points screen.

    But in the bottom of the screen should say something like "For every level you can assign 3 points." That comes from line 781 of the EBOOT, which is followed by 782 that has a (invisible) special character, where I think is the problem. No matter how I change 781, I can only get it the screen to show up without it like above, or the game crashes when it gets to that point.

    It can easily be tested by using the save below for stage 24, where you only have to beat Irma in the lower right corner to win. If you also use the cheat attached, you won't even need to wait for the CPU's turns, as you can move continuously (maybe you need to push Square in the last emulator version to act again?).
     

    Attached Files:

    Last edited by leecherboy, Jul 3, 2016
    Abcdfv likes this.
  5. flame1234

    flame1234 GBAtemp Advanced Fan

    Member
    6
    May 17, 2009
    United States
    The script problem is caused by: You just have to insert more of the scripts. You need to adjust lines 131-133 of the script inserter. You could try inserting them all if you're feeling bold.
    -------------------
    I *think* I solved the LVup problem.
    1. Line 782 was addr 0x15ae10. This is off by 0x20 from the real address, the real EBOOT file addr is 0x15adf0.
    2. Notice anything wrong with this picture? That's right, the pointer for line 781 is... 0x15adf0.
    That obviously can't be right. Line 782 real starting address is 0x15adf4 (+4). I changed it such that it should work now.
    ----------------
    I de-duplicated the battle script files, for use with the current tools, FYI.
    ----------------
    The latest version thing worries me. I wonder what's going on. It should run the same as the original version. If it's not, then...
    I gotta put together a test build on my home machine.
     
    Last edited by flame1234, Jul 3, 2016
    leecherboy and Abcdfv like this.
  6. leecherboy

    leecherboy Member

    Newcomer
    3
    Nov 1, 2015
    Ah right, the script thingie is like you said.

    But hm, the level up problem still stands, it keeps on not showing the bottom line from 781...

    Oh, as for the emulator version thing, it's really weird: v0.9.6.2 won't run the game, v0.9.9.1 can run the game but crashes if the cheat I attached is on, and v1.2.2dev will run it even with the cheat.
     
  7. flame1234

    flame1234 GBAtemp Advanced Fan

    Member
    6
    May 17, 2009
    United States
    The pointer for line 782 was messed up as well, I fixed it.
    ULJS00190_00019.

    Noticed this error while testing:
    ULJS00190_00020.

    That's caused by an error in build.py (was not taking into account the ascii flags {} ), here is a new build.py.
    Fixed:
    ULJS00190_00018.

    Let's have deep thoughts about the centering bug.
    If you were programming a game (or whatever) and you had a fixed width font and you needed centered text, what would you do...? Here's what I'd do. I am amateur and I came up with this solution, so I'm sure it's right.

    Text starting position = center of screen position - (character width) * len(s) // 2

    You can see this works. So if you have a string of 2 characters, you want it to start one character left of center in order for the whole string to be perfectly centered. Make sense? So I should go into assembly and look for that. And then when I find it, I will change the character width to be smaller. Text won't be perfectly centered, but it should be better. The bug makes sense for this setup too. If the character width is set higher than the actual character width, you expect the string to appear off-center to the left.
     

    Attached Files:

    Last edited by flame1234, Jul 21, 2016
    leecherboy and Abcdfv like this.
  8. corn2222

    corn2222 Newbie

    Newcomer
    1
    Dec 28, 2015
    do you plan to translate the ingame videos?
     
  9. Brahms

    Brahms Newbie

    Newcomer
    1
    Aug 7, 2016
    Cote d'Ivoire
    yo' guys is this for real? did you really translated this game? or is still in progress? awesome!
     
  10. corn2222

    corn2222 Newbie

    Newcomer
    1
    Dec 28, 2015
    currently, it is possible to assemble a playable version
     
  11. Brahms

    Brahms Newbie

    Newcomer
    1
    Aug 7, 2016
    Cote d'Ivoire
    you mean that the team working on this can do a playable a translated game? or everyone can do it with the things in previous pages? I'm sorry idk nothing about hacking or patching games, i just want to play so many japanese games that were not translated yet, this game included
     
  12. dawnbomb

    dawnbomb GBAtemp Regular

    Member
    4
    Nov 23, 2014
    Canada
    i came across this thanks to people online linking to here from various patch download pages saying this has progress and ive read it all through. any way you can get the will to actually make a playable build? i wouldn't mind posting any/all errors i find along the way. currently playing my way through srw 2nd OGS JP and am quite familiar with the SRW formula, and i can record it as well. (not for youtube, simply for having records, i dont do youtube uploads)

    im actually damn interested.

    hopefully get an actual reply.
     
  13. Seryuu
    OP

    Seryuu Member

    Newcomer
    1
    Mar 11, 2015
    Yes.

    We will make a playable build once its ready as there are some things we want to fix before doing that.
     
  14. flame1234

    flame1234 GBAtemp Advanced Fan

    Member
    6
    May 17, 2009
    United States
    The team does builds of the game using the public tools. You can too, instructions are somewhere in this thread.
    The latest version of the tools are easier to use too.

    For the release, the project leader will put out something you can apply using a generic tool like xdelta.
    In the meantime you or anyone else should feel free to build the game yourself using the tools.
    I am asking you not to distribute pre-compiled versions but this is the internet after all. Do what you want.
     
  15. terumiVGC

    terumiVGC Newbie

    Newcomer
    1
    Sep 5, 2016
    Mexico
    is the game still in progress? awesome!! i finish the 2 games just skipping the story but i actually like, and i relly want to read the story
     
  16. dawnbomb

    dawnbomb GBAtemp Regular

    Member
    4
    Nov 23, 2014
    Canada
    yes it is. im working through some other games ATM, but they said they have everything here to put a build together for play. i was putting it off because backlog, but if you'd like i can put together a build to use. no promise on quality, i imagine the game isn't entirely complete, but they seem to have menus, all kinds of misc stuff, and even battle quotes translated and implemented. interested in a build?
     
  17. terumiVGC

    terumiVGC Newbie

    Newcomer
    1
    Sep 5, 2016
    Mexico
    sure and, thank you!!
     
  18. -_jeff_-

    -_jeff_- Newbie

    Newcomer
    1
    Sep 10, 2016
    Im looking forward for this game and hoping for other srw series on psp to be translated :)
     
  19. dawnbomb

    dawnbomb GBAtemp Regular

    Member
    4
    Nov 23, 2014
    Canada
    out of nowhere, we can now hack the vita and run vita backups of games, its super easy to do to!
    i'll...maybe take awhile to making a build for this now <_>

    i promise ill get around to it tho, keep checking back.
     
    terumiVGC likes this.
  20. terumiVGC

    terumiVGC Newbie

    Newcomer
    1
    Sep 5, 2016
    Mexico
    ok, i'll wait.
     
Loading...