NDS game "Wizardry: Asterisk" -- I can easily do this game 100% english; edits disappear on launch!

Discussion in 'NDS - ROM Hacking and Translations' started by Julio Sotomayor, Oct 25, 2016.

  1. Julio Sotomayor
    OP

    Julio Sotomayor Member

    Newcomer
    37
    6
    Jan 31, 2016
    As the topic says I am keenly interested in 100%'ing Wizardry: Asterisk (i'm a huge Starfish Studios fanboy), and I have to say first of all that I know how to "hack" NDS games; I have a roughly 30-40% translation into English work done on the NDS edition of ELMINAGE 2 "Remix", for example, currently awaiting time for serious translation of that game's heavier kanji use / dialog, etc, before finshing.

    But my problem right now is I want to do the NDS game Wizardry: Asterisk and on the surface it presents zero obstacles TINKE takes care of the slightest problem I might have, it extracts all of the relevant .CSV files that Starfish Studios loves to use with ALL of their RPG games, and then I simply edit them (i.e. I translate them into English) and then re-insert the relevant files back into the game.

    That is about 80% of how I did / am doing Elminage 2 (NDS version); and, as I was saying, the Wiz: Asterisk game also does not demonstrate clues/evidence of text compression or the like, either. It's totally open!

    ...except no matter WHAT I EDIT, or HOW MUCH I EDIT, or if I edit the game's .BIN files or if I edit the freaking game .ROM _directly_-- as soon as the game is launched it will 90% of the time simply output the default japanese as if no edits were ever made.

    if the editing was especially aggressive I started notiicng that then the game simply spits out a blank dialog box. Could some of you AWESOME forum members at least point me in a direction?

    Is this a case of .ROM encryption? something to do with the interplay between arm9 and arm7 bins? Please excuse my ignorace!
     
    RikuKH likes this.
  2. migles

    migles Mei the sexiest bae

    Member
    GBAtemp Patron
    migles is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    6,811
    4,569
    Sep 19, 2013
    Saint Kitts and Nevis
    my dad works for nintendo.
    i will point out this member who usually got plenty of knowledge to share, not sure if he will be able to help you but good luck:
    @FAST6191
    (protip wait for him to answer)
     
    Julio Sotomayor likes this.
  3. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,360
    9,152
    Nov 21, 2005
    I do usually pay attention to this section, and this thread has a good title to boot.

    I assume you are not using a savestate; if the game has already loaded the text file into memory by the time you made your savestate then it would continue to display the Japanese.

    If you are getting blank text then it is usually an error, a lot of games will crash but not all. What the error might be varies. Good places to start are memory issues (especially if it happens after extensive editing, do note it could be both lack of system memory as the files have to be moved into memory first or lack of screen memory/space if you have too much for the screen to handle), font issues (a game might use shiftJIS for the Japanese side but surprisingly few do the 8 bit or 00?? unicode type range like you would see if you used a basic spreadsheet editor, fortunately most have the Roman set that appears in the Japanese side of things so bust out your chosen Japanese editor and write in that (njstar or jwpce should both have it as an option) and pointers (if it is a simple CSV then maybe not, most games will have an indexing system where each line or some other point in the text section is listed so the game fetches things based on those numbers, as you are probably not matching length with the Japanese then the would be hacker gets to find and sort this indexing system out).

    Barring the savestate stuff above then if you are editing and nothing is happening* it is more likely that you are not editing the text -- self correcting code like that is certainly possible but I have never seen it in a game and no sensible game coder would do that, much less for the DS. More likely is the developer left their text "database" in a directory (we see loads of this, one of the princess maker games even had source code) when they put the game together. Encryption tends to mean the text is not readable and I have not seen it on the DS, PC it happens plenty and some have seen weak encryption on the PSP as well.

    *be sure nothing is happening and the game is not trying to decode your English text as Japanese -- if you understand Japanese then you might have heard the term mojibake for when you decode a shiftJIS doc as EUCJP or something, same idea here if the game's font/text decoding does not handle it.

    Hope you get it done. Would not mind playing one of these some day.
     
    Julio Sotomayor likes this.
  4. Julio Sotomayor
    OP

    Julio Sotomayor Member

    Newcomer
    37
    6
    Jan 31, 2016
    Everything you said was like the feeling of writer's block lifting and suddenly I started able to think for myself again, thanks to you.

    - First things first: I believe you are absolutely correct in your ascertation that there are "text repositories" (are those called code caves, btw? or totally different thing?); and in fact while reading your post and talking about this, being human so "of course" just then I rememebered a friend mentioning the following statement: "lol man maybe you're not finding the text you think are". Truly words to live by.

    - As far as the blank boxes, once again, thanks to you I was easily able to leap to an assumption (heh, sounds so weak) but I am certain it is correct: Yes, it is almost definite that the game "goes crazy" if corsed to output english-ascii characters, and I experienced an almost identical experience when I was translating Wizardry Empire 3 for the PSP hand-held.

    Wizardry Empire 3 on PSP would automatically default to either blank "Spaces" or output full white circles (obviously ascii stuff being show in-game), diamods, etc, If I forgot myself and accidentally went and slipped in a "normal" english comma (2E) instead of using a double-width japanese one! Oh lord I made that mistake a lot when learning the ins and outs of that .ISO.

    The reason I stopped translating Empire 3 for the PSP is because, again dovetailing to one of your talking points: after spending around 5 straight weeks for all intents and purposes, for ALLLLL intents and purposes, making an absolutely fantastic english-language "menu patch" for Empire 3 on PSP (i.e. I mean 5 weeks spent translating everything perfectly into english... EXCEPT for the NPC conversations, which are exponentially more complicated in their text makeup and since no longer dealing with simple kanji or simple hiragana it required me to either seek out a fluent speaker to help or do a dictionarry-translation.

    I utilize the one you mentioned, btw, JWPce, and it is INVALUABLE. I use religiously and it has helped me little by little memorize what stuff is what and what it means. But my point here is that I therefore went "looking" inside the game's .BIN files and finally found the NPC/story/event texts inisde a so-called UMDDATA.bin and guess what? It looked like this:

    upload_2016-10-25_6-29-52.png xxxYYYYaa upload_2016-10-25_6-30-25.png upload_2016-10-25_6-30-26.png upload_2016-10-25_6-30-26.png xxxyy
    ,,,,,,,,,,,,22eE upload_2016-10-25_6-30-55.png upload_2016-10-25_6-30-55.png uu upload_2016-10-25_6-30-57.png uu /n upload_2016-10-25_6-31-16.png

    Yeah... it was heartbreaking man. Truly. First time I ever ran into that. I actually do not know if that is 1) encryption of the file's contents, or, 2) if that is COMPRESSION of the text that is inside the container archive .BIN?

    It's an interesting subject for sure but I'm no codebreaker. In the self went the Wiz-Empire 3 disc.

    So what I'm gonna do now for Wiz: Asterisk is first off do testing to prove definitively that the jap devs simply didn't bother to include certain freakin international character codification standards and the game wigs out if you use "normal words", or whatever, and if it does then WHY and if it doesn't then it's something RELATED--

    INTERJECTION: I wanted to make it clear that in this specific instance, in the case of Wiz: Asterisk, all fo the editing I've done on the game has been "freestyle" especially because when I began using TINKE to extract all of its parts, including the .CSV files Starfish loves to use, I thought it might be a "thing", specifically because the software to read .CSV I use is freeware (Libre) and it is always fucking up constantly and I thought then: ok, i'll table this approach for now and I just want to concentrate SOLELY on veryfing whether not "freestyle" edits done on a virgin .ROM of the game will show or not; etc.

    P. damn sure the game doesn't support the proper character codification, sigh, just like Empire 3, although Empire 3 did something curious: it would take all single-width "normal english letters" (i.e. latin-asccii) and the game would without missing a beat output what you wrote into the game in english, sure enough, but int the same DOUBLE WIDTH, and M O N O S P A C E D font/glyph/etc output the game utilizes for its japanese text.

    ~Asterisk probably just ain't quite as smart as all that and just brain-farts.

    --the only other thing I'll do then Is make sure I find where the real text I want to edit is at which means I need to begin reading the docs online for the DESMUME debugger. I am familiar with the PPSSPP one but never used the DESMUME one, and I don't really know ASM at all soooo.... but I can find shit in memory on the PPSSPP debugger so I know I can learn to do it on DESM"UME too.

    Worst-case scenario might whip out good ole Cheat Engine just to use its memory features.
     
    Last edited by Julio Sotomayor, Oct 25, 2016
    RikuKH likes this.
  5. Auryn

    Auryn GBAtemp Advanced Fan

    Member
    537
    347
    Jul 21, 2011
    Swaziland
    It's just me or your posts are a bit confusing??
    Anyway, i took a very quick look at the NDS game.
    There are 2 fonts ( a 16x16 and a 8x8), both fonts have fixed width (at least it seems so because i didn't find anything near the fonts that suggest a VWF) but both have english characters on them and in upper and lower case. If you search for "FIGHTER" you will find out that the game supports single byte characters and they are just ASCII standart (x41=A x61=a). It's possible that you have to "enable" single byte encoding with some special hex numbers before you can use it (i did not test anything so take everything with a grain of salt).
    There is a bunch of text in the arm9 in shift-jis format.
    Apart that, you are wrong about compressions, it seems that all .chc or chr are LZ compressed so Tinge should not have problems with it.
    Good luck with your work.
     
    Julio Sotomayor likes this.