Hi! This is an ongoing report for my Portuguese (Portugal) translation of Mega Man 7 for the SNES. I picked this up as a challenge and as a way to improve my romhacking and translation skills between other projects (in fact, there's no gamer demand for a portuguese translation, I'm just doing this for fun and learning).
So! After previous attempts toward the end of 2011 got show down when my hard drive committed digital seppuku, I kind of went on doing other things until the itch came back. At the time, I was hard at work translating Light Crusader, U.N. Squadron
and Link's Awakening DX
but lost all my work. I intend to go back to those games again (Link's Awakening in particular, which is gaining speed as far as text dumping and translation is concerned), but for now here's some stuff about the Blue Bomber's seventh outing.
Before I begin, I want to point out I am basing my translation off of SCD and rainponcho's Restoration hack
, which brings back the random dialogues with Auto and Roll everytime Megs gets a new weapon.
What's done so far?
•Dialogue: ~98% of dialogue has been translated, including the one from Auto's shop, and the random Auto & Roll bits. I *think* the Megs/Wily dialogue at the end still needs to be rewritten.
•Graphics: There are two places where there are "Danger" signs, Slash and Turbo Man's stage. These have been edited to read "Perigo". Also, the "EXIT" capsule, and various menu bits ("NEXT", "Bolts", etc.) have been redone as well.
•Boss Pre-Text: In the JP version, every Robot Master has a small text intro, like "Don't Slip!" for Freeze Man, "Champ of the Roads" for Turbo Man, etc. This was what took me the longest to do, but it's done now!
•Intro: The main text is translated. However, the "IN THE YEAR 20XXAD..." bits are not completed yet, but are in progress (offsets and bytes are already mapped out). Like most text in U.N. Squadron, for instance, here Capcom uses two bytes - one for the lower part, and another for the upper part of a single "letter" (I'm sure other games do the same, but I'm speaking from hands-on experience only).
•Graphics: The font/sprites used for the Boss Pre-text have no "G" or "V"; I'll insert these in place of "Y" and "W", which I'm not using. Also, the apostrophe will be converted into the shape of an accute accent "´" - this will allow me to use it on top of I and E letters, and it'll double as the Ç extension
All hail Y pos.!
Also, I only recently realized that if I'm going all the way, I should change the "READY" message at the start of a level, too. Working on that...
•A final, thorough revision: On a recent playtest, I've noticed a couple of formatting issues but am fixing those. One issue I'm having is with the "Got the Protoshield!!!" line, because there's not enough room for it in Portuguese, though I'll think of something.
I also noticed that the game has a problem with weapon names if there is a space between words. I noticed this with Junk Man's Junk Shield, which I translated as "Muro de Lixo" - the game prints out a dialogue arrow and doesn't budge until the player presses a button. I'm thinking of trading the space with some unused character in the tileset; hopefully the issue is fixed that way.
•Around two months after I started this, I only remembered the Password Screen *today*. I'l have to figure out to handle the "Error" printout...
Some notes, for those interested:
•Thanks to DarkSamus993
, I understand now that the game uses a 4 byte sequence for X pos., Y pos., tile index and tile properties (with an additional byte at the start of these strings to determine the number of sprites) for the Pre-Texts.
For some reason, Capcom decided to write these backwards and also chose to mess up their order. As an example, Spring Man's stage intro is "BOYOYON PARADISE", but it's actually spelled out "BOYOOYN PRAADIES" - and in reverse to boot, with the X pos. determing the correct order (why it made sense to them this way, I have no idea). This sequence is loooong. Not sure of the exact number of bytes now, but here's a table:
TEXT (SPRITES) | OFFSET | POINTER | POINTER OFFSET | # OF SPRITES PER INTRO |
CLOUD MAN NAME | 9E5FC / 9E63C | FCE5 | 75F47 | |
CLOUD MAN TEXT | 9E63D / 9E671 | 3DE6 | 75F4A | 0D (13) |
JUNK MAN NAME | 9E672 / 9E6AA | 72E6 | 75F4D | |
JUNK MAN TEXT | 9E6AB / 9E6EB | ABE6 | 75F50 | 10 (16) |
SHADE MAN NAME | 9E6EC / 9E72C | ECE6 | 75F53 | |
SHADE MAN TEXT | 9E72D / 9E771 | 2DE7 | 75F56 | 11 (17) |
SLASH MAN NAME | 9E772 / 9E7B2 | 72E7 | 75F59 | |
SLASH MAN TEXT | 9E7B3 / 9E7EB | B3E7 | 75F5C | 0E (14) |
BURST MAN NAME | 9E7EC / 9E82C | ECE7 | 75F5F | |
BURST MAN TEXT | 9E82D / 9E871 | 2DE8 | 75F62 | 11 (17) |
TURBO MAN NAME | 9E872 / 9E8B2 | 72E8 | 75F65 | |
TURBO MAN TEXT | 9E8B3 / 9E8EF | B3E8 | 75F68 | 0F (15) |
SPRING MAN NAME | 9E8F0 / 9E938 | F0E8 | 75F6B | |
SPRING MAN TEXT | 9E939 / 9E975 | 39E9 | 75F6E | 0F (15) |
FREEZE MAN NAME | 9E976 / 9E9BE | 76E9 | 75F71 | |
FREEZE MAN TEXT | 9E9BF / 9E9E7 | BFE9 | 75F74 | 0A (10) |
For a while, it was a daily crawl of making sure it was taking up the correct space and that the pointers were all right, alt-tabing between 6 notepads with notes/tables/tile values, firing up an emulator, loading the game, inserting a password so I can skip the intro or have access to the 2nd Robot Master tier, choose a stage, watch an intro, die inside, save a screenshot, open it with an image editing program, count the distances in pixels so I could adjust the X pos. accordingly, edit the hell out of the hex, rinse and repeat.
I'll post the offsets for the Weapon Names in the menu and the Intro text at a later time. For now, here are some screens.
And some of the Pre-Texts:
You'll note I'm using the all caps font, but I intend to use smaller caps due to size constraints. After translating Mega Man II, I took it a bit hard on myself for crunching down the letters and want to avoid that from now on.
More updates as soon as possible!
May 09, 2019, 05:34:28 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
No news just yet, but since I said I'd share the Menu Weapon Names and Intro offsets...
My notes are too messy and largely written around what I need to know so my apologies if anyone tries to hack or translate the game, and chances upon something not covered here.
To sum it up, Weapon names in the menu start at Offset 9790 and end at 9AD4. The first part of the sequences is always comprised of 18 bytes that determine the position of the weapon graphics; the remaining bytes vary in length and indicate the weapon names. As an example, here's the Mega Buster at 9790:
| M . B U S T E R
86 00 5D 34 5D 74 01 00 C6 00 5D B4 5D F4 01 00 0E 01 | 88 2C 2A 2C 38 2C 4E 2C 4C 2C 4D 2C 3B 2C 4B 2C 00 00
Every sequence ends in 2C 00 00.
The weapon name Offsets, on the other hand, start at 9750 and run until 976D (there are a handful of pointers afterwards, but I'm not sure what for; possibly for the second page of the menu?), and of course use 2 bytes:
90 97 B4 97 D8 97 F8 97 1C 98 3E 98 5E 98 80 98 A0 98 C0 98 E4 98 08 99 26 99 46 99 62 99
The order of the weapon names is (as expected now of this game!) slightly different from the order they appear on the menu:
Anyone interested in changing the weapon names can use this small table:
Please note that some tiles are composites. By this I mean that, if you look at the picture below, you'll notice things like some letters shifted 1px to the left. This is because Capcom grouped some tiles this way to save space and to make the distance between certain characters seem more well rounded ("I" being an example, as it used in stuff like "SHIELD"). The tiny lines next to all "I" characters are actually the first pixel column of the next letter that's missing a pixel column, so you get the idea:
Also note, I found no G, K, Q, V, X or Y characters for this alphabet.
As for the Intro, it uses two bytes (upper and lower part of a letter) and much like Boss Pre-Texts, it's written backwards! Quelle surprise!
From A4E35 to A4DC9 = IN THE YEAR 20XXAD
From A4E5A to A4E3A = BUT...
From A4F47 to A4E5F = BEGIN SEARCHING FOR THEIR MASTER...
Values are as follows:
Top byte: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 20 21 22 23
Letter: A B C D E F G H I J K L M N O P R S T U
Lower byte: 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 30 31 32 33
I know there are two "X", which I didn't list. The value is 40 but it seems to repeat the letter, so there may be some instruction to do it. I'll have to test that one out eventually.