Detailed To-Do

16 years ago by Mato

I was pretty busy yesterday, so aside from this mini-update I didn’t get much done, but I’m almost done with the stuff I’ve been working on the past few days. Once I’m done with it, I’ll make a post or a mini-update about it, but this time I wanted to take some time real quick to show people just what’s left to do with the hacking. Stuff on the to-do list probably doesn’t make sense to most people.

First, the thing to really pay attention to is the hacking stuff on the list. The hacking is what’s the most difficult and the biggest factor in slowing things down. The other stuff is simply text editing/writing, stuff that’s not a big unknown. Once the majority of the hacking on the list is done, hopefully in a month or two, we’ll probably be able to give a good estimate for the final patch. A lot of people here are already doing guesses of their own, but it’s too hard to say until the hacking is done.

Also, if it means anything, here is the to-do list as it existed three months ago. Now, there’s only 11 and a half real things left to do hacking-wise, and most of them are already pretty far along. Progress 🙂

Anyway, let’s get to those 11.5 things.

Main Script Hacking #3
“Hack the tile struct layout (or relocate the structs) to allow for 100+ letter tiles per screen. Tough/annoying. This will fix some crashing/graphical garbage when there’s over 64 characters on the screen at once. (~10% done)”


This hack, when finished, will make it so the main script will always print correctly and not crash/freeze/screw up the game when there’s really long text. The problem is that like the battle text system, the programmer implemented a grid of “boxes”, meaning there can only be a fixed # of letters on screen at once. Go over, and bad things happen. Unfortunately, this number is way too small for our needs. There are a number of ways of fixing this, but most likely we’ll wind up doing a “text-welding” sort of hack to it. I’d anticipate this might take a week or two of migraine-inducing hacking. But this is obviously a hack that needs to be done, and done well, so I’m sure soon enough you’ll see me or Jeffman swearing at this part of the game.

Main Script Hacking #4
“Make sure all these hacks work with all text speeds.”

This is the thing I only consider half a list item. To be honest, I’m not even sure if it needs to be on the to-do list anymore, but I do know that the game does some weird stuff when printing or preparing to print each letter. I think on fast it fetches two letters to print at once, for example, and there’s a chance our fix to the above problem may need to take this into account. We shall see.

Main Script Hacking #5
“Try to make scrolly text not make sprites blink. Not essential, but would be very nice to have. “

There’s no good way to show this via screenshots, but you can sort of see it at the end of this old preview video. We’re assuming the problem is that our VWF and other code are causing the sprite OAM data stuff to update slightly later than it should because of the extra time it takes to do our code. If so, there’s probably nothing we can do about it except try to optimize our code, but I honestly don’t think that’ll help much. Instead, an idea I’ve had in my head for a month or two is to make it stop updating the sprite data during the whole thing, since the sprites aren’t moving or doing anything anyway I don’t think. Doing this should be as easy as turning off the DMA transfers the game does to OAM, meaning maybe just a few bytes to fix this, but this is getting into technical land so we’ll see. If nothing works, we can leave this as-is I guess, but you know me.

Main Script Hacking #6
“Add in new control codes for things like a, an, the, some, he, she, it, they, them, etc. EarthBound had some of this reprogramming done to it too, and it made things sound nicer and more professional.”


I might only do this with item name stuff, so we can have items that start with vowels and other similar things. I don’t know if the he/she/it etc. stuff comes into play during the main script ever. I’ve already sort of started on compiling the data for this to work in battles, so I can use that same data here. byuu’s code is also nice and open enough for us to add custom control codes I think, so this should be rather trivial I think. Shouldn’t take but a few hours if all goes well.

Menu Hacking #1
“Get the sprite text VWF to do what we call “sprite welding”. A semi-tough hack. (~20% done)”


What’s going on here is that sometimes, the programmers decided to use sprites to display text. Well, only the menu programmer, who I must say made everything very un-open and blahly. Anyway, sprites are linked to a console’s hardware. I think the NES was able to have 64 sprites at once, I think the SNES could do 128. The GBA also has 128 sprites it can do at once. That means you could theoretically have only 128 sprite-letters in MOTHER 3 at any one time, but you need to take into account that other sprites are being displayed too. So what happens when there isn’t enough sprite space for all your sprite text? It either gets cut off partway, or, if you programmed the game assuming you’d never go over that limit, but then someone like us goes over that limit, you get evil death crashing and screeching. Not only does this tie in with menu text, it’s also a key role in things like item descriptions, PSI descriptions, etc. outside of battle.

What “sprite welding” (a term we coined, but I don’t think anyone else calls it that) does is to not assume one letter per sprite, but use sprite space fully by fitting as much text into a sprite as possible. I don’t know how to explain it to make it sound easy-to-understand, but instead of one letter per sprite, you’d get 1 + parts of the next letter in a sprite. Maybe even more per sprite in lucky cases with really thin letters. In effect, this will allow us to display more text using fewer sprites. It sounds like using sprites for text isn’t too uncommon for game programmers, byuu told me that a lot of text in Bahamut Lagoon did things this way, and it was a pain getting it to work there too, I think.

Anyway, this will be a very useful hack, but also an annoying one to do. I estimate this might take a week, maybe more.

Menu Hacking #2
“Allow for item names that are at LEAST 18 letters long. We’re stuck at 8 or 9 letters right now and that’s absolutely unacceptable. This also affects PSI names and skill names, so this is pretty important overall anyway. (~65% done) “

This doesn’t need any explaining, though longtime visitors to this blog will know just how much of a pain this has been. But it’s been a few months, I have better tools and better knowledge, so I think I can get this working finally. I got so close a few months ago, I think I can get it working this time now. I also made some strides last week with this too, as you can see. But I’ll be a pessimist here and say a week or two though.

Menu Hacking #6
“Hack the naming screen menu to work and look and act nicely. (~70% done)”

Jeffman did some awesome work on the naming stuff last week. There are still a few little things that need fixing, like making the game not allow the “Don’t care” thing to be selected when doing the player name screens. He also came up with a better letter arrangement that he wants to use, so the graphics on that screen need to be rearranged. I don’t think it’ll take very long and will probably wind up being finished randomly out of the blue one day 😛

Menu Hacking #8
“Figure out how to re-order some of the things used in what we call “menus1?, so that “Nut XX DP Sell?” can be changed to something like, “Sell this Nut for XX DP?” The game hard-codes this arrangement and it’s lame in English. This will be surprisingly difficult. (~5% done)”

This. This will be hell. When I was doing some 8-bit hacks in this area a few weeks ago, I saw some very ugly stuff in here. The game uses a whole bunch of different code for different lines in menus1, even when the lines exist right next to each other. What’s more, the game assumes you can only have 41 letters used for some things, but for most other things, it assumes you can only use 16 or fewer letters. This causes stupidness, and in the case of item descriptions, going over the limit causes the game to die a screechy death. I don’t look forward to this stuff at all, but it’d probably take a week or two and some shots of hard liquor.

Battle Hacking #1
“Allow for more than 42 letters on the screen at once, and change the auto-wrap thing. This will be VERY hard. This is probably the biggest problem to overcome now. (~80% done)”


I’m honestly amazed I was able to make battle text work the way it does. It seemed almost impossible, but somehow sheer determination and a “screw you you stupid program” mentality took over my body for a week or two. All that’s left now is to make the “you got too many items, throw something away?” text be all VWFy too. It shouldn’t be hard, I looked at it and it seems to use the same basic concept as the main battle text. I’ll probably go and finish this after I finish the custom control code stuff, but I don’t look forward to it, only because I feel like I ran a marathon getting the main battle text to work 😛

Battle Hacking #4
“Add control codes for he, she, it, a, an, the, they, cohort, cohorts, etc. (~90% done)”

This is what I’m working on right now, and it’s nearly done. There might be a need to tweak stuff later on in the project, but the main hacking and data will be done very soon. Mostly I just need to make it do a/an/them/some for items now. Should take maybe an afternoon or so.

Actually, now that I think about it, we did this with Bahamut Lagoon too, as you can see here. Definite, indefinite, and whatever other articles there are can be a pain when it comes to games 😛

Battle Hacking #6
“Hack special text boxes and other important things that appear later in the game. This will be a real pain.”

Near the end of the game, some battles use a special 3-line text box and/or text that uses no box at all. These are completely separate from the main routine, and barely show up, but I anticipate these will be annoying. If we’re lucky, they’ll be very similar to the main battle routine. Maybe a week or two.

Misc. Hacking #1
“Replace two Japanese sound clips (hear them here if you’re interested) that play for about half a second or so each with English sound clips. Already done some work related to this, and it will probably be pretty straightforward. (~70% done)”

I’ve already done the hacking work on this, mostly I’m just waiting on reid and Meeellla to re-record the first clip, which plays during a key scene in the middle of the game. I believe I’ve already done the other clip and have it ready to go. Also, I need to do some slight work on the second clip so it’ll have a higher volume in-game. Nothing too fancy, mostly this’ll be just a few hours of messing with data and doing stuff in a good sound editor.

——————

And that’s all of the main hacking that’s left. Everything else on the hacking list is minor and can be done while we’re doing the various draft edits. It might seem like a big list, but again, compare it to what we had only a few months ago 🙂

Anyway, hopefully this helped explain what’s left to do, how we’re gonna do it, and how long it’ll take. The time estimates were admittedly pessimistic; we’ve all seen how things can suddenly get done one after the other, several times a week, so who knows, maybe some of this stuff will get done quicker. In any case, we’re finally starting to see the light at the end of the hacking tunnel 🙂

Posted on Friday, March 21st, 2008 at 4:05 pm 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.

64 Responses to “Detailed To-Do”

  1. fael said 16 years ago:

    still a lot to do, but keep up the good job!

  2. Mato said 16 years ago:

    How did you read that that fast? 😯

  3. Spitball Sparky said 16 years ago:

    How nice! I’m glad we have such technical talent in the Earthbound community. The finished product will be lovely!

  4. baxter said 16 years ago:

    nice update, this is the stuff we really want to know about 🙂 and I’m still reading.

  5. Hellonagol said 16 years ago:

    You should make a countdown like mother3.org did… that would get us excited.

  6. TheMuffinMan said 16 years ago:

    If I had a uterus I would bear your children

  7. Mato said 16 years ago:

    Hellonagol: No, there’s no point in a countdown if you yourself don’t even know when you’ll be done. What were they even doing a countdown for? They were years from being finished 😯

    TheMuffinMan: see here (yes I know it’s a hoax though)

  8. otherhand said 16 years ago:

    It’s great to hear something going in the right direction for this project, and I’m really looking forward to playing the game in English. Some of these things (the sprite welding and the shop wording thing) look really tough, but I trust you’ll pull thru just like the series’ heroes. Somebody beat me to the coffee thing a while back, so I won’t beat a dead horse there 😀

  9. Mesousa said 16 years ago:

    I was going to post this on the last blog entry, but this one happened right before I could post it, so it is a little off topic probably.

    “Snuck” is not a word. My spell check is even telling me so right now. The correct word is “sneaked” and I hope our Friend Tomato will change that before releasing this translation. I will be minutely disappointed in him if he leaves “snuck.” It won’t be the End of the World, or anything, it will just annoy me every time I see it.

  10. MentallyAbstract said 16 years ago:

    Hellonagol: Yeah, look how well that worked out.

  11. VGK said 16 years ago:

    You are gods.

  12. baxter said 16 years ago:

    so, four or five really tough hacks left? doesn’t sound too bad.

  13. Mato said 16 years ago:

    Ah yes, the infamous sneaked/snuck debate. Just curious, but where are you from/where do you live? It seems like people from certain areas are usually like argh that’s not a real word, while in other places it’s ordinary and sneaked sounds odd.

    In any case, yes the battle text will be getting revamped eventually too. I’m not even sure that verb will be used in the final version to be honest. So it probably won’t matter.

  14. MentallyAbstract said 16 years ago:

    Also, http://dictionary.reference.com/browse/snuck

  15. Mesousa said 16 years ago:

    I am from Missouri, and I hear “snuck” a lot, but it makes my teeth hurt every time I hear it.

  16. TheReaper said 16 years ago:

    Only 11 in a half things to do and some of those 11 and a half things to do are near complete,its amazing how much has been done in only 3 months of work.

  17. anonymous said 16 years ago:

    a kind of unrelated question: do you get to name characters other than lucas’s family and dog? like duster for example

  18. TheReaper said 16 years ago:

    Menu Hacking #8 lol about your statement saying I don’t look forward to this stuff at all, but it’d probably take a week or two and some shots of hard liquor.

  19. Mato said 16 years ago:

    anonymous: Yes.

  20. Ixoyz said 16 years ago:

    When I first saw this update, I noticed it it was posted one minute ago… A smile came across my face, and I laughed at how ridiculous my timing was. Just shows how much you’re working on this, IMO.

    Thanks for the details on the to-do list. I wasn’t too keen on what exactly you were talking about with the list, so I guess I needed this mini-update.

  21. Drew said 16 years ago:

    😀

  22. Janus said 16 years ago:

    If I wore a hat, I would take it off to you. The stuff you guys have accomplished, and in such a short time, is really impressive.

  23. ALX said 16 years ago:

    This project makes me think of why Nintendo constantly pushes their own projects back so much. Like you guys, they’re perfectionists and so much stuff can pop up and many of the issues offer no concrete time-line for telling people when it will be done. Unlike you guys though, Nintendo has an obligation to come up with a release date that often they have to go back on, to the disappointment of many fans. Being able to see everything step-by-step makes the whole process more bearable because it creates a community of people to cheer on the people working so hard to make their aspirations a reality.

    As an aside, keep going guys. Your so close, and we are all cheering you on.

  24. Struttn Evil Mushroom said 16 years ago:

    GO Mato Go Mato! Your Awesome!

  25. Godstriker8 said 16 years ago:

    I commend your guy’s work on this project. I look forward to the end product as it will be my first Mother game.

  26. Erickz Falchion said 16 years ago:

    I just finished playing Earthbound a few minutes ago. Watching this made me want to play it again.

  27. Dr. Meat said 16 years ago:

    I am from Washington (state) and can probably count on one hand the amount of times I’ve heard the word “sneaked” before. But they both mean the same thing so who cares which one you use.

  28. Unown said 16 years ago:

    I have three questions for you:

    1. How would you feel if when the translation was finished, Nintendo took your translation and released it, giving you no credit for it and claiming it as their own?

    2. How would you feel if Nintendo were to release this game JUST before you finished?

    3. What would be the Main difference between the Earthbound
    ROM and the Mother3 ROM?

  29. wtfitsed said 16 years ago:

    Just curious what are the voice clips youre translating… I mean what are they saying in english?

  30. airi said 16 years ago:

    Mato Make Good Progress With HIs Smoke of Methamphetamine..
    Very Talent Developer.. Mato ! For President !

  31. Forgotten Man said 16 years ago:

    That is alot of progress.

  32. GIANTSTEP said 16 years ago:

    Yay… *whew* Cant keep up! xD

  33. 7ucky said 16 years ago:

    Unown, the main difference between EB and Mother 3 roms are a) EB has an English rom and b) they’re two different games altogether 😀

    I’ve RARELY, if ever, heard the term “sneaked” – always “snuck”. I’m not saying it’s correct, but it’s commonly practiced jargon where I live (also WA state – hey Dr. Meat!)

    Mato, this is one of the best posts info-wise and exciting as hell! It made me wonder what percentage of hacks you’ve used from the DIY and other projects on this version not including what you used for documentation? It seems like so much of the old stuff has been thrown out and hacked by you and Jeffman personally. This is all the more impressive because of your hacking experience before this project.

    Anyway, I can’t thank you enough (as always). Keep up the great work M3 team!

  34. Unown said 16 years ago:

    Is the Earthbound Rom easier to Modify than the Mother3 Rom?
    Is it more organized?

  35. Dave said 16 years ago:

    airi: I don’t believe that you’re foreign

    but you always make me laugh with these meth jokes

  36. Rod. said 16 years ago:

    ayeee That’s a’ spiceyy meatabolll..

    Thanks for the detailed to-do

  37. Kumatroa said 16 years ago:

    I cant wait until it’s done! Nice work!

  38. rc5 said 16 years ago:

    I am infinitely impressed with how quickly you get stuff done! Yay! SO awesome!

  39. Mato said 16 years ago:

    For fun and no real reason, I decided to try putting item descriptions back in. Sadly, they still crash the main menu if they break certain limitations, but when they do work, it looks really nice.



    The descriptions work 100% OK in battle because the battle programmer was kind enough to dynamically allocate memory for text; the main menu programmer just said “meh, 42 letters is all we’ll ever need” and did things a smelly way.

    Anyway, there are two things holding item descriptions back, the 42-letter limit and the sprite text welding thing. Fixing the 42 letter limit will at least make them not crash I think, and it might not take long to do, so I might give that a try sometime. Having these descriptions working makes it look so much better 🙂

  40. Mato said 16 years ago:

    Unown: 1. That’d be fine with me, and everyone would know the truth anyway. It’s never going to happen though.

    2. I wouldn’t mind at all, at least we’d finally have the game, and an official release would reach an even wider audience, meaning more fans, and possibly more MOTHERy love in the future. I’d much prefer an official release, but we all know how well that’s worked out.

    3. One game is MOTHER 3, the other is EarthBound?

  41. Adam said 16 years ago:

    First, “snuck” IS a word, as MentallyAbstract already pointed out for me. I don’t care if word processors don’t register it as an actual word, because word processors do not possess the entire dictionary within the confines of their code. And it isn’t backwater slang or anything like that, mesousa, so you don’t need to feel like you’re hearing the unintelligible grunts of Neanderthals when others use it in conversation. As for the rest of what’s coming out of the mouths of your Missouri friends, I cannot comment.

    Second, Mato: if you need some shots of hard liquor for Menu Hacking #8, my bottle of Speyside Cragganmore Single-Malt Scotch should do the trick. Packs a whallop!

  42. Captain Bozo said 16 years ago:

    I don’t really like the Sprite Wielding idea myself, but if it’s the last thing you can do then do it.

    Could you have the game maybe display the sprite then remove the sprite from memory? Unless you clear the screen wouldn’t the sprite still be displayed, but still leave memory space?

    Something that I thought of on the spot. I have no idea how GBA video memory works, but a lot of things will keep the image of something displayed unless explicitly told to stop.

  43. Arsenis said 16 years ago:

    Are you going to put little secrets by your team into the game like you did with Bahamut Lagoon?
    http://tomato.fobby.net/bahamut/checklist.shtml

  44. Mato said 16 years ago:

    Captain Bozo: Sprite welding is a common practice in ROM hacks, there’s nothing wrong with it, it’s simply using resources more efficiently. I’m not quite sure you understand what sprites are/how they work though. Your ideas wouldn’t work, the instant you turn a sprite off, the contents of the sprite disappear.

    Arsenis: I’ll probably make a checklist of stuff to look for, but I don’t think we’ll have special messages like we did with BL.

  45. bungiefan said 16 years ago:

    “I can understand using “the” if his name were “Fiesty Mole Cricket”, because he’s the only one who even cares to get in your face. If you consider that there’s more than just a single Mole Cricket in the entire game, (including the friendlier ones) then “a” sounds good. Even if it’s something personal between that particular mole cricket and your party, “the” makes it sound as though he’s the only one you’ll ever meet.”

    Think of it like The Doctor in Doctor Who. The definitive article works there just perfectly, sometimes with great comedic effect when he’s introducing himself to humans. Yes, there are plenty of doctors around, but he is THE one everyone interacts with. Then again, it seems like Time Lords tend to use names like that, with The Master and The Rani being around.

  46. A Fan said 16 years ago:

    > All instances of Sendak being a little too friendly with Byuu

    No offense, but I was NOT looking for any more of those. Not even after knowing about Yoyo…

    Though I also wanted to smack Pap for telling me how my character allegedly smelled… Pity they wouldn’t let you kill him (I tried, I really did).

  47. Captain Bozo said 16 years ago:

    Ah ok Mato. Thanks for explaining that for me.

    Is there any way not to use sprites though? I dunno, it just seems kinda weird to me how it uses sprites for text or something. I don’t know if that’s common or not.

  48. Mato said 16 years ago:

    The menu programmer used sprites because it’s easier to erase the text — you just turn off the sprites. When you have windows on top of windows, this is the most logical and efficient way of doing it. Except most of the menus don’t need this functionality. What’s even weirder is that half of the menu text uses sprites, the other half doesn’t. It’s very weird.

    Making it print without sprites would be a pretty complicated to do even if we had the source code, so doing it in a hack might not be worth the trouble.

  49. J said 16 years ago:

    So, for sprite welding, do you have to create custom sprites for the game to load and store them permanently in the ROM, or will you be able to create a function that writes them to RAM in a pattern so that they can be displayed as unique sprites each time they’re called?

  50. bungiefan said 16 years ago:

    “How did you read that that fast?”

    Mato, some of us can read at 600 words per minute. It just takes practice, and maybe a course in speed reading.

  51. Mato said 16 years ago:

    The game would shift things around automatically. I remember seeing a good thread on RHDN about this for people wanting to know how it works, but I can’t seem to find it now. Anyway, the hack would handle it all on the fly.

  52. Adman said 16 years ago:

    I am going to name my children after you.

  53. Mato said 16 years ago:

    bungiefan: He posted in less than a minute after my update. I know it’s possible to read fast, I don’t think that was the case here though 😉

  54. BFM said 16 years ago:

    Wow. I knew it was far along, but… I really didn’t think it was this far along XD

    also, I has a uterus.
    Babies. Nao.

  55. Unsavory Maggot said 16 years ago:

    Yeah, I was going to post about how the other guy had the right idea by mixing associations with the/a Mole Cricket. Beginning as “a” and becoming “the” mid-battle wouldn’t be too bad. People do it all the time, proper or improper. “Ahhh! It’s a dung beetle!” “Is it alive?” “Nope. I smashed the dung beetle’s guts out!” Basically, once you establish that it’s a singular entity of an entire specie, it’s fine. Beginning the battle with “The Mole Cricket attacked!” works, for whatever reason. (I.E. picky audiences.) If he’s established as just one of many prior to the battle, or even after, that also works.

    Hell, I’m not complaining. I keep saying it’s not a big deal but everyone’s jumping on my back so I may as well clarify, retract my statement, and douse the flames. 😛

    Now if you really want to hear something funny about english teachers and majors, I actually had one tell me that “thusly” “ain’t” a word. Thusly is common in modern day literature. Of course, if we *always* (since the dawn of time) argued what is and “ain’t” a word, our modern day vocabulary would be quite limited. 😉 We’d only have come up with the necessities and be at even more a loss for words than we are now.

  56. Coconut of Enlightenment said 16 years ago:

    You know, I think it is the to-do list itself that caused all this progress to be made. After all, organization and goal setting are the keys to efficiency and success.
    Steven Covey would be so proud of you 🙂

  57. Mato said 16 years ago:

    Been toying around with item description text the past hour, almost got it working already 😯 Just need to make one final fix.

    Anyway, I just saw the description for this item and laughed.

  58. Nutsjesmoar said 16 years ago:

    tiny, yellow, fluffy, and chirpy.

    lol. Itoi is a genius.

  59. Exp HP said 16 years ago:

    Wow, how many boards are you on right now? I know you’re on here and the Mother 3 board on GameFAQs, making a post on each every half hour to an hour. What other 50 conversations are you holding up?

  60. Exp HP said 16 years ago:

    That was directed at Mato.

    Man, there’s always two people typing at once here.

  61. Mato said 16 years ago:

    Exp HP: I had Mu training.

    Actually, one thing I’ve picked up from real life work is the ability to shuffle tasks/conversations quickly.

    Anyway new stuff coming soon!

  62. A Fan said 16 years ago:

    That’s not one of those edible chicks, is it? Those are always so good at Easter. And months later, once they’ve gone stale 🙂

  63. neo said 16 years ago:

    I predict you will release the final patch on either May 12th, May 31st, or June 6th.

  64. Joe said 16 years ago:

    I’m sure you’ve heard it hundreds of times, but your work is greatly appreciated. You have sparked interest in a game that otherwise would be stuck in Japan, out of English speaking hands. Keep up the good work, happy hacking!