ROM Hack [Request] Dragon Quest IV text fix patch (if possible)

TheRaven81

Active Member
OP
Newcomer
Joined
Mar 24, 2018
Messages
40
Trophies
0
Age
42
XP
217
Country
United States
So I was getting ready to play DQ4 on NDS, and the text in the first cutscene of the fist chapter is written out like they tried to literally spell out some words the way they sound spoken in this different region. It's neat, but it's hard to comprehend sometimes. Is it possible at all to get the text that's written like this(examples at bottom of post) re-written to...normal English (I guess) via a patch?

I don't know how else to describe what it is I want without sounding like an idiot, or like I'm prejudiced against it or anything like that. Because I'm not - I get that people in different regions have accents and their own words for things, etc. But I don't have much, if any, experience with these "regions of the world" that speak in this manner. As nice as it is that the devs/writers/translators/whoever did this, tried to be multi-cultural, this just doesn't seem like it's the best way to go about it.

 
Last edited by TheRaven81,

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,348
Country
United Kingdom
Phonetic Scottish accent eh.


Have you tried much yet?

Step one could well be http://www.romhacking.net/utilities/513/ or some other relative search too. Drop in a word or two from that and see what it returns.
There are plenty of things that can get in the way (compression being the big one, and relatively easily solved in most cases https://www.romhacking.net/utilities/826/ ) but well worth having a go with that sort of thing to see if it gets something.

You will probably end up having to pull it apart as I don't know if it is going to be reasonable to edit that all in place (aboot becomes about well enough and you can probably lose several apostrophes quite happily but cannae and hae represent something that will probably see you messing with pointers) but if someone can come in and not have to do those first few steps then that helps.
 

TheRaven81

Active Member
OP
Newcomer
Joined
Mar 24, 2018
Messages
40
Trophies
0
Age
42
XP
217
Country
United States
Phonetic Scottish accent eh.


Have you tried much yet?
I haven't tried anything yet. To be honest I don't know anything about hacking ROMs for translation, so I didn't even know where to start. I will check out the links you gave me, but using those tools might well be over my head depending on how complex they are. If they aren't very noob-user-friendly, and are aimed at pro users, then I doubt I will get very far without some significant help or a LOT of trial and error.
 
Last edited by TheRaven81,

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,348
Country
United Kingdom
Relative search is tell it to use this ROM, type in the relevant box and watch it go -- games don't use letters and don't necessarily use the boring and basic text encodings (if you ever did a code like 01=A 02=B 03=C.... then computers do a marginally more complicated version of that) that most PCs and everything else in computing uses. For English language/European languages though then they will often do the encoding one after the other -- CAB might be 03 01 02 or it might be 99 97 98 or it might be something else entirely but the difference in values will be the same "0,-2,+1" if it is a relative encoding/font (Japanese has no set order so relative search is harder there). Indeed I quite often get 90% of the way there by typing " the ", though searching for something actually in the text is usually a better plan.

The compression tools are command line so maybe not as nice as some others. It is however what people will tend to try when they encounter compression. If you need tools to pull DS games apart into the files that make them up (it was the first Nintendo handheld to do that, most things in the PC world or that came on optical disc had been doing it for years). https://gbatemp.net/threads/how-can-you-extract-and-rebuild-ds-games.586120/ . If you can extract a single file from a zip file you can use these.
Such things can also tell you a lot -- big folder called msg or script might well be something to look at.
Anyway if the files are compressed (they might have extensions like LZ or _, and there are other tells, indeed that crystlatile2 program mentioned in the previous link will possibly have an icon indicating it) then you can decompress them and try the relative search on those now decompressed files.

Pointers I mentioned above. Games don't know where text is and how it is all formatted and it is hard for them to do it in real time as the game is happening. To that end they have little values that tell it where text is. I usually liken it to the contents page of a book -- rip out a bunch of pages and if you dutifully count say 200 pages like the contents page said then you will end up ahead of where you want to be, add in a bunch of pages and behind. If every line then gets added to or subtracted from you get to redo the pointers. That we can leave for later though.
 

TheRaven81

Active Member
OP
Newcomer
Joined
Mar 24, 2018
Messages
40
Trophies
0
Age
42
XP
217
Country
United States
Ok - progress, kind of. I used Tinke: http://www.romhacking.net/utilities/817/
and got this...


I found the files containing the script, and using Tinke's Hex editor on one of them, I was able to make the above change to the script, save it, and see it work. But I think it only worked because the changes I made only required to change a single letter, and not change the length of the word. I had tried changing the whole sentence to "His Majesty is about to make an announcement to you all." - but doing this changed the length of the string, and caused that line, as well as all lines after it, to error out with "ERROR <X>" (where X is a script line number, I guess?) and X would just continue to increase if you continued to progress the text. So I don't know how to prevent that.

Side note though - I've never played this game much past this point here in my screenshots. That's kind of why I was more wondering if this type of thing was already done, or if someone could do it for me. Since, I think if I do it - going through the whole script and changing it to not be Phonetic like this - I'd end up spoiling the game plot for myself. And I don't really want to do that.
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,348
Country
United Kingdom
Yeah ever the bane of the translator, modder and hacker set. By the time you spent the time making the game how you want you might find it spoiled or generally are just sick of it.

Changing the length of text is where the pointers thing I covered earlier comes in -- games have little numbers in there (often at the start of the text files you were likely looking at for that) that detail where things are, adding more data in then changes where everything is found and makes life complicated for it.
In a pinch if you can make the whole text line shorter than the original you can pad it out with spaces at the end to make it back to the original length.
Rare to see error messages though -- normally blank, utter gibberish or straight up crashing is what you get with that one.

As far as someone coming before and doing it. Not so many people care for Dragon Quest and normally when hackers tackle games that have questionable choices for speech patterns it is rather egregious l33t speak or really crushed down text. I can well get behind this being a questionable stylistic choice though.


Others playing along. It appears to be uncompressed reasonably plain (for ROM hacking purposes anyway) ASCII using all sorts of fun Scottish phrasing and word choices.
data/MESS/en/ and various mpt files being the case. b0000000.mpt in the case of the stuff above.

Doing a search for various phrases (cannae being a reasonable start, short for can not or can't and bairn which is a word used for baby) makes it seem like there are a few instances in the game if you did want to get rid of all of them. If you wanted to go further then I see what looks like some English gangster or light cockney in there are well but that is toned down compared to something like the video at the end. For instance in b0070000.mpt
"How's a bloke supposed to get his 'ands on the treasure!?"
'ands in this case is short for hands. Context gives it away but still not that clear.

Grabbing a smaller file ( b0070000.mpt ) to try to see about pointers.
File starts with a magic stamp of 4d505430 (MPT0 in ASCII) and is immediately followed up by what looks like a file size.
Each line appears to have 40614062 just before the text (though there is other stuff) and there are 13 of them in this file. Some have other things before them so I don't know if this is some kind of formatting, what character portrait to display or whatever else. Likely not a length indicator though as some things match despite very different line lengths.
Speaking of line lengths though there might be some of those in there.

Grabbed a bunch of locations immediately after @a@b
Code:
74
a0
11c
194
1e4
228
28c
2e0
344
3a8
408
474
4c8

528 being end of file

Nothing like that in the opening part that I can see.
However subtracting the previous number in the series
gives us
2C
7C
78
50
44
64
54
64
64
60
6C
54
From the file, see the second to last column (though strictly speaking after you do the byte flip to account for endianness then it is going to be the last column and the 00 part there will be part of it)
Code:
00 00 00 00 29 00 
00 00 04 00 7C 00 
0B 00 07 00 78 00 
2A 00 08 00 50 00 
48 00 09 00 42 00 
5C 00 F4 01 63 00 
6D 00 F5 01 52 00 
86 00 F6 01 61 00 
9B 00 F8 01 63 00 
B4 00 F9 01 5F 00 
CD 00 FA 01 6A 00 
E5 00 FB 01 54 00 
00 01 FF 01 63 00
Not an exact match but given the differences in things before the @a@b part then that is way too much of a coincidence to dismiss here.
I would still want to figure out what the rest of that means (though 6 bytes for maybe a line name (them counting up by one each time for a few there is fairly normal for that), possibly like the error mentioned above, and some formatting and the length thing discussed is not unreasonable.
It might also mean that you only need to alter the line length and maybe total file length value (the part right after MPT0 right at the start of the file) rather than every pointer following the edited part like you normally have to do which is a pretty nice perk for a first hack.

A better thing to search for in these text files to see line locations might be "@c" as that seems to be part of each end of line (sometimes @c2@ and sometimes c0 and sometimes c3, no c1 in the small test but in another, no c4 in that so could be worth seeing what that means here)

So yeah looks like a lot of text across the game and even without that it is nearing 2am here so I am going to call it quits for now. Been a while since I had a nice little text format like this so thanks for that.


Anyway video at the end time if we are taking about Cockney. One of my favourite scenes from Lock Stock and Two Smoking Barrels here
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Veho
  • BakerMan
    I rather enjoy a life of taking it easy. I haven't reached that life yet though.
    Veho @ Veho: https://youtube.com/watch?v=Y23PPkftXIY