Archive for September, 2008

All Hacking Complete

16 years ago by Mato , 552 Comments »

(unless crazy bugs decide to show up in the next few weeks, that is, though it’s unlikely)

After some enlightenment, I managed to fix and finish the sprite hacking routine earlier today. It now runs at a fast speed, has no weird graphical lag or distortion, and is rock-solid and 100% professional-looking. So that means we can cross the final hack off the to-do list.

Right after I fixed the sprite text, we noticed that the game would freeze during the ending. It was a pesky bug, but we finally fixed it, it was something that crept in late last night. While I was at it, I also betterfied the fix for this old bug, which is nice.

There’ve been so many pics and videos that there’s not too much more to show now, but I recorded one thing real quick showing a bunch of different systems that had to be hacked over the past year. You can see them all working in harmony together and looking nice and professional. Nothing spoilery, don’t worry.

Now that the hacking’s pretty much done (some miniscule things remain which may not be worth bothering with), that just leaves the testing phase. It’ll probably start sometime this weekend, and before people start asking, we don’t need help testing. The testing will be done internally for several weeks.

It’s also important to clarify that testing doesn’t mean “play through and have fun”, it means playing stuff over and over, trying to break things, analyzing every little detail, stuff like that. It’s NOT fun. But this way the game will be less likely to freeze/crash/act stupid when the patch is released to the public. Some last-minute polish will be going on during the testing phase too.

I don’t know how updates will be during the testing, it may just be a weekly thing saying we’re alive and well, but if we find stuff and fix it, I’ll mention that quickly.

More info and details and blah blah at a later time. For now, just know that the translation’s entered its final stage. Very very close now!

Finishing Sprite Text

16 years ago by Mato , 137 Comments »

This is more of a mini-update than anything really.

Anyway, I’ve been working on the sprite text problem this week. Good news is that I figured out what the cause of the ugly flashing/morphing was and I’ve fixed it. But I still need to tinker with things, because in certain rare cases text at the end of a string or right before a newline will sometimes (not always, which is the kicker) not display and instead use old graphical data. The fix won’t be hard exactly, just very very annoying to figure out. I swear, this sprite text stuff = (insert swear word adjective) (insert noun) (insert body part)

Here are current pics to demonstrate what needs to be fixed before hacking is done.


Once I fix this, we *should* be able to cross this final hack off the to-do list and move to the final testing stage.

Progress on the Last Hack

16 years ago by Mato , 233 Comments »

Didn’t get as much free time last week as I had hoped, so only a few things were accomplished these past few days.

Thanks to help from sblur, we ran the main script through a spell-checker. I had already done major spelling and grammar checking a few weeks ago, but I decided to run it through a program too. Out of hundreds of pages, it only turned up maybe 20 actual misspellings, so that’s pretty good. Any outstanding spelling/grammar issues will likely be caught during testing.

I also fixed up a couple little bugs and did some other mundane stuff. I also started working on the sprite text morphing problem. The sprite text routine is so incredibly ugly and complicated though. Regular visitors may remember the month or more we spent on that. Ugh. The start of the sprite text nightmare began around here for those who care to see how difficult this text routine turned out to be.

I’m still hoping that I’ll be able to finish this last hack by the end of the month, at which time we’ll move to the final testing and polishing, which should take a few weeks (4-ish is my guess) if all goes well.

Incidentally, another prominent fan translation will be out very soon: Persona 2 Innocent Sin. I also hear the Policenauts fan translation has suddenly burst back to life. Awesome.

Lingering Bug Fixed

16 years ago by Mato , 357 Comments »

Very short update, but wanted to mention that I did indeed kill that bug I discovered yesterday. It was actually pretty simple, but it was again related to the fact that for some reason there are 9890710.3 different routines that all do the exact same thing. So annoying. Anywhere, here is before and after.


Meanwhile, I also started to run the scrubbed script through a grammar/spell checker just because there’s a chance there might be lines we’ll miss during testing. Out of the first 25% of the script, it only picked up 2 real typos, not bad.

Anyway, I’ll do a tiny bit more of that and also get started on fixing the sprite text morphing. This week doesn’t look like it will be too too busy, so I might find some time to make good progress. I’m hoping we can finish all the hacking this month.

Block 0 Bugs Fixed

16 years ago by Mato , 183 Comments »

After some intense work and lots of momentum (and a buttload of text formatting), I fixed what I believe is the last of the Block 0 text bugs. There were three key items that display text on the outside screen when used. The programmers coded this stuff separate from all the other stuff in the game, so lots of hacking and untangling was needed. But, it looks like we finally finished that horrible nightmare hack.

I tested it all fairly quickly, but everything seems to work okay with these new hacks in place, so…. let’s cross that sucker off the to-do list!

Here are some pics (trying to keep spoilers out) of stuff in action.


(more…)

Fixing Block 0 Bugs, Part 3

16 years ago by Mato , 75 Comments »

Lots more code-tracing to fix some Block 0 problems. The first and probably most important fix was the Block 0 cut scene stuff, especially one during the final battle. Rabid readers may remember that we discovered Block 0 would crash the game during the final battle during a big playthrough test a few weeks ago.

Anyway, it was annoying as hell, but I managed to fix it, allow for more text, and allowed the centering routine to work with the longer text. Then I finalized this scene’s text, formatted it, and tested it a lot.

As expected, fixing this broke something else Block 0-related: the scrolling text that appears throughout the game. The text would act strangely after 11 lines and repeat some of its previous lines. It was very strange, but after some random swearing for a few hours, I got that fixed. Tested a bunch (not all) the scrolling text in the game and it all works, and the various Block 0 cut scene text also works properly.

(more…)

Fixing Block 0 Bugs, Part 2

16 years ago by Mato , 81 Comments »

Found a tiny bit of time, so I continued my work from earlier, this time I solved one piece of the Block 0 problem. A few more things need to be untangled and modified, but this part was a display routine that got broken during my fix a few months back to allow infinite letters per screen (for the main text) rather than 42. Anyway, extra good news is that this also fixes the special menus in the debug room and elsewhere. Fans who’ve played through the Japanese game already are in love with the game’s debug stuff, so it’s cool that this stuff’s working again in the translation. I’m sure it’ll add tons of extra stuff to do after diehard fans play the normal game.

Incidentally while I was messing with the debug stuff, I went to see if I could increase the # of letters per menu option from 20 to something bigger. But it was going to lead to crazy insanity, and 20 is decent enough, so I left it as is. Didn’t want to get too sidetracked and it was already acceptable enough. BTW, since I know people will ask, info on accessing the debug room is here.

Anyway, I’ll forego pics of the debug stuff working, but since a good chunk of this Block 0 problem is now out of the way, I’ll update the to-do list entry with the percentage of approx. 25% done. Good news is that I have a bit of time this weekend to keep working on this. Most of the rest involves reorganizing memory and moving things around. Not necessarily difficult, mostly just very annoying because of how the game works.

Fixing Block 0 Bugs, Part 1

16 years ago by Mato , 156 Comments »

The last few days, I managed to get some time in to do lots of code tracing and documenting as we try to finish these last few bugs. The hardest part of this project is actually finding time now, the hacking is almost a kind of “it’s just a matter of time” thing at this point.

Anyways, I did get a lot of stuff figured out, but still have some more work to do before I start writing fixes. I’ll put the Block 0 thing (info on Block 0 here) to 15% for now though, it seems about right. I might have some time around the weekend, hopefully I can use that to get a lot done.

For those wondering what these bugs are and why they need to be fixed, here’s a quick explanation. There are certain special (Block 0 is all the special text in the game) lines of text in the game, some used in cut scenes, some used when you use items outside of battle, etc. These special lines use special programming, which needs to be fixed to work right. Otherwise, they’ll crash the game, corrupt memory like crazy, and just cause madness. One example I’ve given in the past is this video from a while back.

If the game doesn’t crash right away when this happens, it’ll corrupt memory a LOT, even corrupting graphics on screen, player data, and stuff like that. Here’s Flint using a deadly Block 0 item.


  • Graphic glitch

  • No name, and no HP and PP???

  • WTF? Flint is actually a numb Lucas
    with an IQ of 6 and bizarro equipment
    and stats?

  • Nut Bread is not for the head

(more…)

Battle Bug Fixed

16 years ago by Mato , 311 Comments »

After spending all yesterday tearing hair out, I decided on an easier (almost cheating) way to fix the battle custom control code bug. The fix is very easy, only like three lines of new code that work together with our existing code. In an ideal situation, I would’ve liked to fix this a better way, but this should fix 99% of all instances of the bug. If we had the source code to the game, it might be easier to do a better fix, but ah well. If, by some chance, the bug does still happen, it will only mean something like a missing “the” or an extra “the” where there shouldn’t be one. I wish I had the time to do an airtight fix, but it would take many weeks and I simply don’t have the time or energy left for it.

Anyway, as for what the bug was, there were many different little instances of it, but like I mentioned before, it’s easiest to show this way:


  • Before

  • After

It wasn’t as simple as taking out the word “The” in the battle script, as enemy and player actions often share text. And again, the above is just a simple example that people have already seen in the videos, it’s not the only thing fixed.

I’m pretty sure I fixed most (if not all) of the battle text now, but there are like 1500+ different actions that can happen in battle, so during the testing phase we’ll be on the lookout for any battle text that might still need tweaking. Anyway, all that aside, we can cross off another thing on the to-do list.

I think I’m going to tackle the Block 0 stuff next, but it’s not going to be easy and consists of several different parts. This/these problems are also the last remaining things that will crash the game, so they’re a big deal. So don’t fret if updates are slim for a while 😛

Still Alive, Dagnabbit

16 years ago by Mato , 89 Comments »

Still alive, never fear! Last week turned out to be a hectic one, with broken AC, storms, power outages, and lots of real life work that was also affected by such things. I did manage to get a few hours of hacking time in, though. I’ve been working on a bug related to control codes in battle, and have made some decent progress. But, as expected, the game doesn’t want to give up without a fight. I forgot that today was a holiday here in the States though, so I’m gladly taking it off to get lots of hacking time in. I’ll continue to make mini-updates in the comments.

I’m too tired to go into detail about the bugs, but if you’ve watched any of the latest preview videos, you’ve likely seen one of them in action. An example being the thing at about 6:40 into this video here (“The Flint”). This is more of a final polish fix, but the other remaining hacks are more complicated and I haven’t hacked in 2+ months, so I want to do this easier stuff first to get back into the groove.

Jeff’s been busy moving, but I asked if he could turn the script into something that can be checked by a spell/grammar-checker. That might help shave off a tiny bit of testing time later on.

Anyway, Happy September!