16 years ago by Mato
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.
16 years ago by Mato
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.
16 years ago by Mato
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.
16 years ago by Mato
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.
Read the rest of this entry »
16 years ago by Mato
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.
Read the rest of this entry »
16 years ago by Mato
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.
16 years ago by Mato
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
Read the rest of this entry »
16 years ago by Mato
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 😛
16 years ago by Mato
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!
16 years ago by Mato
Another small update, these will be the norm from now on probably.
Finally finished the sound hacking thing on the to-do list. Two tiny sound effects needed to be changed into English. One is when you use an item that tricks enemies into turning around. It says, “Look over there!” in a goofy, 0.4 second-long clip. The other is 1.2 seconds long and plays during an unusual version of rock-paper-scissors.
The game stores this sound data as 8-bit, signed, stereo raw PCM data at 8000-ish Hz with some extra info thrown in. In normal people terms, that means it’s low quality and sounds scratchy, as you can hear from the original Japanese clips here. I’ll refrain from posting the English clips, even though I’m happy with them, because for some reason people have a kneejerk reaction to stuff like this. Had there been actual, full-fledged voice acting in this game, like if this had been a Playstation RPG, I would have definitely found a way to subtitle it (hell, that IS what I do for a living 😛 ) but these are more like two quick sound effects that would otherwise make players go “wtf was that” and we’d have to translate it for them anyway. In fact, the people who did the Japanese voices didn’t even get credited for it (or if they did, they were just in Special Thanks).
Anyway, I wrote a quick program to automate the process of converting sound files to something usable by our hack, which is good, cause it was taking me forever to do it manually. It’ll also mean translations into other languages should be able to do this sound effect translation thing pretty easily too.
Meanwhile, Jeff and I have been fixing minor bugs we see, it would actually take more time to explain them than it took us to fix them. I’m also always constantly fixing any rare typos, etc. I find.
Anyway, all this means that another thing is off the to-do list. Next, I’ll go mess with the battle control codes and hopefully fix that sometime this week.