We are in Current Year, 2020, the Year of our Lord Jesus Christ

Started by RaidouJFlo, January 27, 2020, 11:50:42 AM

Previous topic - Next topic

VicVergil

As much as I loath to say this, it has been brought to my attention even this topic was noticed again by a certain external party. They did it three times the last few days, followed by "attacks"... this makes it the fourth time now. I urge everyone here to please exercise extreme caution with any identifying personal information or other online presence. Any translators touching this specific series can never be too careful these days.

Quote from: MrFwibbles on January 27, 2020, 08:21:46 PM
I would like to edit the font, and was going to ask for help doing so later on (when I've finished inserting English dialogue). Weissvulf provided me with the font.bmp that I'm using, and I don't understand how to edit it properly. It seems that no matter what I use, the file size of the bitmap doubles when I save it and then the reinsertion of the font doesn't work right. I remember he said something about using his "2 bit tool" but Windows 10 insists that it's a virus and refuses to play nicely with it. I've had the tool working, but the file size STILL doubled, so I don't know what he did to make it work and he hasn't been online to ask in like a year.

Another problem is that there's just no way I can edit the images (title screen, Impact's dashboard, signs etc.) because Konami used a proprietary format and that's way beyond my skill level. I can extract them with Weissvulf's Raw to TIM tool, but I have no idea how to extract the palette or how I'm supposed to reinsert the images without the colours being completely wrong. A programmer told me that it would require its own tool to be made.

Found this to work for the font: Using Crystaltile2 on the executable (SPLS_002.17), you can get the font to show. Settings are included.
https://imgur.com/a/KL5n30m

For the graphics, I tried quickly with the title screen. GMN_TIT.BIN is the graphical data proper, and GMN_TITX.BIN has the palette (colors) and some layout data format. Maybe a tool will be useful for that.
You could select hex data (i used h0-h200) in Crystaltile2 in GMN_TITX, right-click, DATA>PALETTE conversion, then in the palette tab on the right export your newly created palette. Then you open GMN_TIT, use the correct settings, and then import the palette from earlier. PS1 and GBA share similar graphical format conventions, so the palette colors are slightly off granted but not too badly.
This may allow you to display some graphics in close to correct colors, then you can change them to your liking. It's a start.


RaidouJFlo

Quote from: acediez on January 27, 2020, 10:32:19 PM
Does this happen when modifying text directly in RAM, or in the disc image? If it%u2019s the latter, have you tried rebuilding EDC/ECC sectors after modifying the BIN?

https://www.romhacking.net/utilities/1264/

Sadly that didn't help.
I am doing a very simple change, such as:

At 0x2337E3FC (disk image/bin), this is the beginning of one of ebisu's strings. He says: %u306B%u3087%u307B%u307B%u307B%u3001(82C9,82E5,82D9,82D9,82D9,8141).

Changing it to %u307B%u307B%u307B%u307B%u307B, (82D9,82D9,82D9,82D9,82D9,8141) causes the black screen. The same type of modification causes a black screen when just changing other strings as well.

I am not sure but it is almost like the game is expecting the string to be what it is currently.

At 0x2337E1F0, we have 82CD,82AE,82EA,92AC,82CD (this is literally the first string in the beginning cutscene).

If I change these to any other Japanese characters, I get the black screen.

But if I change the two 82CDs to the below, it loads the cutscene and the modified characters:

82CE,82AE,82EA,92AC,82CC

The first was changed to 82CE (+1) and the last was changed to 82CC (-1).

If I changed the first 82CD to 82CE but didn't change the last 82CD to 82CC, Id get a black screen. Vice versa, if I changed the last to 82CC but kept the first as 82CD, I get a black screen. I didn't try it yet, but if I changed the first 82CD to 82CF (+2) and last 82CD to 82CB (-2), I bet it would load. Note: I ended up trying this and it loaded.

I thought that maybe some kind of anti-piracy was blocking changes but that's not the case. There's probably something weird going on in with what it expects the strings to be. Maybe the bytes that precede the string (or after it).

Edit:==========================

The first string looks like this:

73 0D 69 00 00 00
81 40 81 40 81 40 81 40 81 40 82 CF 82 AE 82 EA 92 AC 82 CB 66 00

81 40 is an indent (or space).
66 00 at the end is a line break I believe.

Maybe the 73 0D 69 00 has something to do what the string can be defined as.

The next string (just after the 66 00 above) starts with a similar looking group of bytes (bolded):

76 01 08 00
81 40 81 40 8B F3 91 4F 82 CC 83 8A 83 54 83 43 83 4E 83 8B 83 75 81 5B 83 80.....etc

sorry if this is messy by the way. tbh im just pouring my thoughts out into this post


VicVergil

Quote from: MrFwibbles on January 28, 2020, 03:13:15 PM
Thank you. I'll try this out.
My advice was missing something... you should also manually replace the very first color in the palette with something else. (A double click on the palette tab colors) A solid green for example. Otherwise when you import back, the crushed blacks will cause every black pixel to appear transparent, which is... very far from ideal.

Even if you use a 6x11 font (effectively doubling how much text you can have), you'll still need to do an assembly edit for when the next character shows. Someone here on the forums posted a tutorial for Vagrant Story with the graphical debugger in psX1.13, that might be useful.

peixemacaco

Super Monaco GP... It garnered an at-the-time unprecedented 10–10–9–9 rating from Electronic Gaming Monthly's Review and wasn`t a F Indy title.

illuminerdi

Quote from: VicVergil on January 28, 2020, 02:15:52 AM
As much as I loath to say this, it has been brought to my attention even this topic was noticed again by a certain external party. They did it three times the last few days, followed by "attacks"... this makes it the fourth time now. I urge everyone here to please exercise extreme caution with any identifying personal information or other online presence. Any translators touching this specific series can never be too careful these days.

Wait...what?!? Someone is attacking people (online, I assume) because...they're translating Goemon games?!?

NM, pretty sure I figured it out. I have mixed feelings about translation accuracy vs using terms that have retroactively been deemed offensive. That said, attacking people is never a solution and I'm staying the hell away from this, I'm just here for the hacks...

RaidouJFlo

Finally got it to stop showing a goddamn black screen. Step one is complete.


acediez

Quote from: RaidouJFlo on January 28, 2020, 06:59:03 PM
Finally got it to stop showing a goddamn black screen. Step one is complete.
Nice! I was about to boot it to see if I could figure the problem out. What was the cause?

RaidouJFlo

Quote from: acediez on January 28, 2020, 07:02:11 PM
Nice! I was about to boot it to see if I could figure the problem out. What was the cause?
It was a joke. I modified the RAM at runtime.
God bless you if you can figure it out but I'm STUMPED. There are zero debuggers that work with this game btw.
I tried EPSXE from this site, no cash and psxfin. All crash or produce a black screen. EPSXE vanilla and Bizhawk run this game fine. Bizhawk RAM watch/debugger causes exceptions so only the RAM viewer works.

acediez

I'm currently using no$psx on Shin Sedai. It didn't boot normally either, but I got around it. I just tried Oedo Daikaiten and managed to get in-game with the same method. It's the same exact issue.

Run the game, go to RAM $8002C1E4, NOP the instruction (jne r2,r3,8002C214h), and continue the game. It should boot, but with a sped up framerate. After that, go back to that address and restore the instruction to what it was. It should now run normally. Save a savestate, and use it whenever you boot the game, so you don't have to go through the process again.

Not sure if it's some sort of copy protection no$psx isn't capable of working out, or just an emulation bug. Whatever it is, this workaround is enough to get around it. Now you can debug it and see why your text changes are hanging the game.

---

As for Shin Sedai, I finished figuring out the text formatting and worked out a table to extract/insert text using tools I'm already familiar with (the ones I used on Mega Man X6 Tweaks). So far so good, but I still need to work on my script to rebuild the modified files back into the ALLDATA.X pack. No issue preventing me from doing it (atm), I just haven't had much time to work on this.

RaidouJFlo

Quote from: acediez on February 03, 2020, 09:02:08 PM
I'm currently using no$psx on Shin Sedai. It didn't boot normally either, but I got around it. I just tried Oedo Daikaiten and managed to get in-game with the same method. It's the same exact issue.

Run the game, go to RAM $8002C1E4, NOP the instruction (jne r2,r3,8002C214h), and continue the game. It should boot, but with a sped up framerate. After that, go back to that address and restore the instruction to what it was. It should now run normally. Save a savestate, and use it whenever you boot the game, so you don't have to go through the process again.

Not sure if it's some sort of copy protection no$psx isn't capable of working out, or just an emulation bug. Whatever it is, this workaround is enough to get around it. Now you can debug it and see why your text changes are hanging the game.

---

As for Shin Sedai, I finished figuring out the text formatting and worked out a table to extract/insert text using tools I'm already familiar with (the ones I used on Mega Man X6 Tweaks). So far so good, but I still need to work on my script to rebuild the modified files back into the ALLDATA.X pack. No issue preventing me from doing it (atm), I just haven't had much time to work on this.

Well shit - yeah. That worked for me. NOP'd it, took a snappy snap then restored the instruction.
Thanks dude.

acediez

Small Shin Sedai update.

I haven't been able to work on this heavily, but it's happening steadily. I've made progress on the tools I'm writing to handle game files, text tables, and more groundwork. I'm pretty much done with the process of accessing text files, being able to edit them, and repacking the main data file.

I'm currently figuring out problems related to handling Mode2/Form2 data files. The tools and methods I've used before to either replace the file on a BIN or rebuild the whole disc don't support this kind of files. I'm also not sure if I'm supposed to generate the sector's header data myself and replace raw data, or if there's an existing tool that handles it.

I haven't yet tried everything at my disposal. If I can't figure it out myself, I'll start asking people around.

As I said before, I plan to finish a file editing workflow first, replacing the font and spacing second, and only then I'll start looking for a translator. (I'd love if Tom changed his mind and came back, but I haven't been in touch with him, so I can only go by his decision of leaving the scene)

Video editing to replace subtitles, and various graphics replacement, are all things that will come after the main text is taken care of.

MrFwibbles, Raidou, since this will probably take awhile, and this thread will probably be buried and forgotten in between updates... If either of you is interested in keeping in touch directly PM me your Discord ids. Would be cool to have a group chat for these.

RaidouJFlo

Quote from: acediez on February 24, 2020, 08:33:45 AM
Small Shin Sedai update.

I haven't been able to work on this heavily, but it's happening steadily. I've made progress on the tools I'm writing to handle game files, text tables, and more groundwork. I'm pretty much done with the process of accessing text files, being able to edit them, and repacking the main data file.

I'm currently figuring out problems related to handling Mode2/Form2 data files. The tools and methods I've used before to either replace the file on a BIN or rebuild the whole disc don't support this kind of files. I'm also not sure if I'm supposed to generate the sector's header data myself and replace raw data, or if there's an existing tool that handles it.

I haven't yet tried everything at my disposal. If I can't figure it out myself, I'll start asking people around.

As I said before, I plan to finish a file editing workflow first, replacing the font and spacing second, and only then I'll start looking for a translator. (I'd love if Tom changed his mind and came back, but I haven't been in touch with him, so I can only go by his decision of leaving the scene)

Video editing to replace subtitles, and various graphics replacement, are all things that will come after the main text is taken care of.

MrFwibbles, Raidou, since this will probably take awhile, and this thread will probably be buried and forgotten in between updates... If either of you is interested in keeping in touch directly PM me your Discord ids. Would be cool to have a group chat for these.

Noted. We will keep in touch. I know this sounds cliche as well, but my progress has been slow simply due to "personal" reasons. It occurred to me that I let myself go and became vastly overweight. I've been working on losing weight ever since. Probably going to continue that exclusively before going back to any of this.

gamecaptor

This is awesome! I started looking up the rest of the Goemon series now that that all of the SNES games have been translated. Thank you to all of the people that take on these projects so that the rest of us can all enjoy these great games!

kikujade

Quote from: RaidouJFlo on January 27, 2020, 03:56:00 PM
Thanks but I care more about getting different projects out there rather than having redundancies. All of this is a learning experience for me so it means nothing for me to drop a project if a better one is out there. You're doing the right thing by making your progress public knowledge.

Tom said he'll help anyone who needs help with Goemon translations. DDS said he'll help with hacking, though he has no experience with PS1 games.

Anime_World

Send a mail to Denim (from brazilian RH scene), maybe he can help you with hacking.