Menu Mania!

16 years ago by Mato

Whoa, an update one day later.

This time around, I wound up getting so much done that I wanted to get all the pics, etc. I took out of the way. I probably only spent about 4 hours on all this so far, so as you can see, sometimes hacking can be reaaaaally slow, and sometimes it can be reaaaaally fast. Gotta love that feeling of progress, though 😀

After deciding to set the item length-extending hack aside for the time being, I next decided to work on the other aspects of the menus.

At first, I was thinking I should write some 16 bit->8 bit hacks; this would solve pretty much all text size constraints, and would make it 8-bit just like what we’ve done with everything else in the game.

After looking at the game’s coding for a while though, I realized it was probably WAY more work than necessary. Most of this menu text is only a few thousand bytes total, and a lot of free space can be had by blanking out weird programmer stuff that nobody will use. What’s more, this would instantly fix about 10 other problems that were waiting down the line, many of which were going to be HORRIBLE to hack. So by opting to keep the menu text stuff in 16-bit, we’ve probably taken a few months off the total amount of work needed. I’m sure that’s a good thing to hear. But there’s still so much more to do, of course 🙁

The only problem this leaves is that it takes more space to say something in English than in Japanese, which means you need more room to store that text. In my pro translation experience, I’ve found that on average, 1 Japanese character is 2 to 2.5 English letters. So we’re still in dire need of text space for some menus. My plan is to try to move these text blocks into unused parts of the game (like font stuff for the thousands and thousands of kanji that we’ll never use now), but after trying to follow code some more, it looks like that might not be possible 🙁 So for now, I’m gonna ignore the problem and just try to shave text to within their respective blocks. Hopefully I’ll eventually be able to repoint the blocks, and that’d give us almost unlimited freedom to be wordy and not use crappy abbreviations for lots of menu text.

Ok ok, enough blabbing, here are pics. Remember, these are just very early pics, but compare them to the pics I took just a few days ago. Since we’re using the original 16-bit format for this stuff, no code-hacking was required, which is how so much got done so quick 😯

First up are the equip and status screens.


(btw, here’s how they looked a few days ago: 1, 2)

Pretty spiffy. Some of the stuff needs to be VWF-ified, I’m hoping they all share the same routine, meaning they’ll all be affected by one hack. Let’s hope.

BTW, weirdly enough, the stuff on the left, like Offense, Defense, etc. all needs to be stored in 8-bit, while the other stuff needs to be in 16-bit. This is really surprising and I’m not even sure what to think about it. But I modified my insertor to account for this, wasn’t too hard at all. And to avoid the string-length-counting issue, I cheated and added a bunch of spaces to the end of the 8-bit strings, making them twice as longer. This is a cheap trick, but it took 1 minute to do and it’s the original programmers’ fault for having multiple loading routines for the same text block, in the same menu. Oh well, anyways, things are looking good, which I guess is all that matters in the end 🙂

(Yes, I know all the text is shifted down 3 or 4 pixels, please don’t remind me 😛 )

Other things besides menus share this text block, particularly all the naming screen stuff. By getting the above stuff to work, I instantly got the naming screen stuff to work.


The problem with this text block is that there is SO little room to begin with that trying to fit translations in is nearly impossible. Even after chopping up stuff with a lawnmower, I’m still way over the limit. This overwrites other stuff in the ROM, so I NEED to figure out how to repoint this block. But as always, it’s never as easy as one would hope. I was hoping for a 32-bit address sitting out in the open. Nope. More crazy math. Will look at it later.

After having done the above stuff, I inserted some other stuff in 16-bit format and did some quick tinkering. A lot of menus share text blocks, so doing this fixed many other menus as well. They still need VWFs, but otherwise, awesome.


At a shop

Outside menu title box things working now! And with a bonus VWF, thank god for shared routines!


That’s not all, file menu stuff is no longer scary garbage text!


Don’t mind the garbage in the background, I still haven’t inserted that stuff.

Also, this “not everything needs to be 8-bit” approach has instantly fixed a few things that I was not looking forward to hacking later down the road. This includes some stuff related to battles and the main dialog. So that’s another cool bonus.

Now to do some VWFs — might be hard, might not. Also gotta do some formatting and more inserting. And then eventually I’ll get started on pulling all the text up that 3 or 4 pixels.

Posted on Tuesday, December 4th, 2007 at 1:39 am by Mato, filed under Uncategorized. You can follow any responses to this entry through the RSS 2.0 feed. Comments and pings are currently closed.

57 Responses to “Menu Mania!”

  1. UnknownVariable said 16 years ago:

    First! (Sorry, I had to.)

    One day I’ll get around to doing some ASM stuff. One day. Most likely when I get my butt into college. I’m still a little top-level-language dev with my PHP and Lua and what have you. ~o~

    Though I do have to say, I wonder how bad the actual C/C++/Whatever looks for the source of M3 if the routines are that badly managed.

    Anyhow, good luck Mato & company. You make the Mother community proud. 🙂

  2. bwhah said 16 years ago:

    First!! keep up the good work MATO!!

  3. bwhah said 16 years ago:

    nevermind…. i am just a retard he thought he was first…

  4. wow said 16 years ago:

    holy shit

  5. wow said 16 years ago:

    you’re the best

  6. X_Sheep said 16 years ago:

    You could just as well write “Msg. speed” 😛

  7. TheReaper said 16 years ago:

    Well Mato great update in only a day you got so much done,the menus look amazing compared to just 2 days ago.Things are looking way better and thanks for posting all those pics.

  8. tibbs said 16 years ago:

    The way you manage all this is just amazing.
    Not only the hacking and translation of M3, but you use that blog both as a personal diary to keep track of your work AND as a way to keep us updated… That’s just great.

    I have just one question: I tried Mother 3 on my flashcart with the menu patch and it worked very well (well, I just played one hour because I want to enjoy the game fully with the completed translation), but do you think it would be possible, for some reason, that the rom would not work with the completed patch? (on a flashcart). I don’t know, I’m just scared… 🙁

  9. Steve said 16 years ago:

    tibbs: I’ll give you the answer Mato has given before. They aren’t 100% sure that it’ll work with flash carts since they are primarily using emulators to test their work. However, some members of the team have flash carts and, in my opinion (not Mato’s), they will likely play the game on them before releasing it. Of course, all flash carts aren’t created equal…

    Also, since it’s been brought up a few times before, the ROM cannot be expanded from its current size so if the original ROM fits on your flash cart, then the translated one will too.

    Don’t be scared! I bought a flash cart solely to play this game, but I’m fully prepared to play it on an emulator if need be.

  10. Steve said 16 years ago:

    Oh and Mato, rock on, you are truly hardcore!

  11. Nick said 16 years ago:

    Not only are you working on the thing that I am most looking forward to, you’re rekindling my interest in programming! Keep up the good work!

  12. tibbs said 16 years ago:

    Steve: Thanks for reassuring me! 🙂
    Oh and, me too, I actually bought my flash cart just for this game!

  13. Gemini said 16 years ago:

    Great stuff there. 😀 As for the 8×8 font, if you could wait a few days (something around 25th of December), I’ll help you with the missing vwf in the name entry menu and the bestiary.

  14. Brian said 16 years ago:

    awesome, lots of progress! keep up the great work guys!

  15. Dave said 16 years ago:

    I’ve been quietly checking this site every day pretty much since it opened… It’s truly amazing how dedicated Mato and others are…

    I can’t wait to play this game.. I loved EB 1 and 2. This one must be really great too if you’re putting this much time into translating it..and considering it was 8 years in the making or something. The screenshots all seem to have that loony earthbound humour that I loved so much in the last games.. really great, professional job you’ve all been doing.

    Keep up the great work!!

  16. fael said 16 years ago:

    (To)mato [?], you truly are my hero.
    keep up the good work and hooray for the daily updates!

  17. Z. Mortimer said 16 years ago:

    I’m glad you stuck with 16 bit text so as not to give yourself nightmares! Remember, this is a volunteer project, don’t break your back over it. 🙂 Thank you so much for doing this, and I know you’re still devoting all your time to it 8bit text or not. 🙂 🙂

  18. T said 16 years ago:

    Hey, hey! Pretty good! You’ll have this done in no time with the sweet progress you’ve been doing! I’m behind you all the way!

  19. Jeeves said 16 years ago:

    I’ve really been enjoying these rapid-fire updates lately. It makes the progress seem much more palpable.

    Would you say menu stuff takes up the bulk of the work to be done, or can you even say for sure? I’m not expecting percentages or ETAs or anything, just wondering.

  20. kellerdoor said 16 years ago:

    Looking better everyday. Excellent progress.

  21. nullset said 16 years ago:

    You surely are getting sick already of the “doo-doo-dum-dum-dum” tune of the menu screen, huh mato? 😀

    Haha just kidding. Mato, you sure are doing a great job with all this hacking mambo-cambo. It kind of makes me sad, though, that as soon as the fan translation is out, there will come the jerks that will distribute parched roms, or, what’s worse, charge for it, as it always happens. But you keep as awesome as ever mato-san. Because… well, you’re awesome, of course…

    Even when you are frankly and probably getting kind of sick of reading “w00t yeah keep the good job yeah”.

  22. cant wait to play-_- said 16 years ago:

    awesome

  23. Ixis said 16 years ago:

    Have you thought about doing what the Pokemon guys did and creating new truncated letters for commonly used adjectives? Like whenever the word pokemon came up it would be truncated with two new characters PK and MN. Since you have a lot of extra block space from unused kanji, that space could be used to the long adjectives and stuff (as well as the usual hearts, stars and horseshoes.)

  24. brandon said 16 years ago:

    i almost fell and played the game with a walkthrough about 5 minutes ago but i talked myself out of it…. we need this translation…
    i wish i could hack and shit… cause i would help too lol
    i’ll donate money

  25. A Fan said 16 years ago:

    It’s good that these parts are going smoothly, at least. I think you made a smart choice in hacking some easy stuff and leaving the harder stuff for later. Hopefully, that’ll give time for your brain to figure out the hard stuff in the background, so that you can come back to it and suddenly have it make sense for you 🙂

    As for the cursor… I don’t suppose there’s some free memory somewhere? I mean, normal programs just keep a copy of wherever the cursor was and restore that when it moves and it might be possible, if painful, to make M3 behave normally in that respect. Granted, on the whole M3 is decidedly abnormal, but I think we already knew that 🙂

  26. Black Coffee said 16 years ago:

    Mato, you are the wind beneath my wings.

  27. cant wait to play-_- said 16 years ago:

    video games bringing the world together oh yah and the internet

  28. Moulinoski said 16 years ago:

    THREE PIXELS!!! *hides*

    Enough joking. Its good to know you’re making fast progress! 😀

  29. King Erik Clusters said 16 years ago:

    Hey Mato, just curious. The character naming screens have only 6 spaces. So you can’t fit the Kumatora’s entire name. Which is why most use just “Kuma” or “Tora”. Is there a way to have more than 6 character spaces?

  30. Mato said 16 years ago:

    I actually did some testing with that today. 8 characters DOES work, but the little boxy windows aren’t meant for that many. I don’t think they were even made for 7 characters, though they still work fine with 7. I’m gonna look into it some more and report my findings later, since cutting her name down was going to be another side-effect of doing 16-bit, but then it turns out 8 letters works.


  31. Chris said 16 years ago:

    Been checkin this site ever since it updated. Your updates are amazing and work you guys do rules. Can’t wait for the release and good luck with everything =)

  32. Gemini said 16 years ago:

    A vwf+thin font there would make everything fit perfectly. Most 8×8 characters shouldn’t take more than 5 pixels each, so you have enough space there for 8 letter names.

  33. butt said 16 years ago:

    I do not know about gba stuff but perhaps some of this stuff can be found in the offical SDK library

  34. MigueL_D said 16 years ago:

    On the status screen, the text going off of the panel could be fixed by somehow moving up the name a few pixels, right? The same goes for the Accesseries and stuff… I guess. Since I don’t know anything about coding or anything, I can’t offer anything that could be of use. Sorry. ):

  35. cant wait to play-_- said 16 years ago:

    theres something insignificant writen here oh yah my comment. I know you hear it alot but…keep up the good work mato

  36. cant wait to play-_- said 16 years ago:

    for some reason i cant post my comment and got this-Duplicate comment detected; it looks as though you’ve already said that!
    but i didnt

  37. David said 16 years ago:

    will these mean that we will be able to fit kumatora’s whole name?

  38. Chaoticgamer said 16 years ago:

    Amazing keep up the good work.:)

  39. EliotAndrews said 16 years ago:

    As always, I found your update enlightening and amusing. Keep up the good work!

  40. Triple10X said 16 years ago:

    Mato – what do you see as the big hacking hurdles that you mentioned at the end of your update? Obviously, the item screen is one, but what are the other major headaches you see?

  41. Roan said 16 years ago:

    Wow! I found a major spoiler on the snorlax picture in the new brawl update, if you want to know what it is, look on the right.
    IT’S HUGE(but shown very small)!!!!

  42. fatty said 16 years ago:

    doug tips the scales

  43. Roan said 16 years ago:

    I wonder what would happen if munch-lax encountered a mr saturn in brawl? would it eat it?

  44. Brian said 16 years ago:

    Earthbound is my favorite game of all time. Mato, you are so awesome for doing this. You’ll bring happiness to so many people.

  45. Raj said 16 years ago:

    Menus seem like one tough cookie to crack. But then, wouldn’t the text (I remember when you guys used a different font, Arial was it?) be used in the menu and the dialogue spaces? Or on the menus, it seems an entirely different approach?

    Anyways, thanks for the updates.

  46. Boundearth said 16 years ago:

    Awesome! Keep up the good work. Cant wait to play the final version.

  47. rafael the brazilian said 16 years ago:

    man my english is getting better just like your hacking!

    let’s keep it up!

    and let’s pray for play it real soon! go! go! mato sama!

  48. SoreThumb said 16 years ago:

    So wait.

    Are you basically saying:

    A: Item names won’t be as long as you originally wanted,
    B: Menus will have the 16 bit text stretching off into oblivion,
    C: etc?

  49. Nathaniel said 16 years ago:

    Wow, Mato – you’ve done an amazing job of taking up a lot of work upon yourself and getting a ton done. You are amazing. I have gotten to a point in my life where I can’t sit down and enjoy games like I used to, but when this thing is ready I can’t wait to indulge myself in it.

    You’re doing an awesome job, I think everything can be accomplished if you just keep at it. Best wishes.

  50. Stephen said 16 years ago:

    W00t! nice job there 😀

    keep up the good work

  51. butt said 16 years ago:

    this has been brought up before but there is room for quite a bit of custom text if you replace the konji and kona, correct? (may be wrong terms language is complex) would be not be possiple to have 2,3 or perhaps more letters in one space in a 16 byte tile. so would it be a bad idea to use this to spell out as meny hole words as you can. maybe even just useing the custom one for just one message at the time and moveing on to the next name with new tiles. this seems like it may be effective if there onley a few very long names

  52. Beck said 16 years ago:

    You could change “Message Speed” to “Text Speed”.

  53. Mato said 16 years ago:

    tibbs: I think it’ll work, but it’s too hard to guarantee anything, since not all flash carts are the same, and this is some pretty complicated stuff all around. I think it’ll work though. People have played (and finished the game with) the menu patch fine so far on real systems at least.

    Gemini: That’d be awesome 🙂 Though, at the rate I’m going, I may get to that before the 25th. But if you’re still interested, email me or PM me at romhacking.net or something and I’ll give you some more details. Truth be told, we could use more help than just those VWFs, but I’m not gonna turn down such a good offer 😀

    Jeeves: Too hard to say. I think it takes up a significant part, at least. And after yesterday’s progress, it looks like we could be done with the menus before too long. But there are still major problems, like item name lengths, item descriptions causing freezes/crashes, etc. Then there’s the big script problems which are just evil.

    nullset: Strangely, I haven’t gotten sick of the song yet. I spend most of my time staring at code and following it line by line anyway, so I don’t hear it too much, except for when testing out my hacks.

    Ixis: I wanna avoid “cheating” like that, so that it’ll be really easy for people to translate it into other languages, and so that people can hack the game easily down the road. And just for the satisfaction of knowing we did a proper, complete hack.

    MigueL_D: Yeah, pulling up all the text that 3 or 4 pixels should fix that. Hopefully. Right now, I’m not sure how to do this though.

    Triple10X: Item name lengths, hacking the other item-like menus, and everything that’s in that “MOTHER 3 Bugs in Action” video.

    Raj: I’m not sure what you’re trying to say, but the game doesn’t use fonts the same way personal computers do. It’s complicated.

    SoreThumb: At the moment, we’re using only 9 letters per name, which is what the original game allows. I’d like 20 letters per name, but it’s proving difficult. I don’t know what you mean by “16-bit stretching off into oblivion”, though.

    butt: It’s true that we’re not going to need the thousands upon thousands of kanji that are stored in the game, but this is mainly because other parts of the game now use 8-bit encoding, effectively shutting out access to this stuff. Again, I’d prefer not to use a roundabout method like that, but I’m leaving the option on the table if all else fails. What a pain that’ll be to get work though 😐

    Whew!

  54. Bones said 16 years ago:

    Whoa, I’m really blown away on how much you did. You have my support all the way!

  55. Tony said 16 years ago:

    Tomato, you’re absolutely awesome. Fantastic job man, simply amazing. You deserve so much for your dedication.

  56. Ragingdemon37 said 16 years ago:

    keep up the great work guys! it’s coming together now.

  57. Vanessah said 16 years ago:

    I agree with Beck, “Text Speed” would probably work better and sound better then “Message Speed”.