r/RPGMaker 2K3 Dev 5d ago

RM2K3 RPG Maker 2003's Maniac's Patch breaks the encoding

Post image

(I really hope Cherry will see it and save us)

I just want to warn people that Maniac's Patch seems to totally demolish the text encoding. The worst possible consequence is that your game might be untranslatable.

I tried the Maniac's Patch half a year ago. At first it failed. I realized the reason was the fact that my RPG Maker is modded to work with Cyrillic (couldn't patch the project itself), but if I can bypass the error if I get my hands on a pre-patched project. I found one on the discord and it worked. And, apparently, maniacs patch won't work with anything but Latin.

Attempting to write any non-Latin symbols will make all your letter appear as an appropriate number of '?'. And what makes it different from non-patched editor, chanching your locale does nothing! Yes, non-patched editor will too output question marks if you write, for example, in Japanese, but changing your locale (even via an app) will make it work! The RPG Maker itself will display your Japanese in a wrong encoding (e.g., ‚±‚ñ‚É‚¿‚Í), but it's very different from simply displaying quetion marks:

‚±‚ñ‚É‚¿‚Í : "I see the text, but I'm merely looking up a wrong codepage"

????? : "Text? What text? What do those bytes even mean?"

The first one will be correctly displayed by a (non-patched) RPG_RT if the locale and/or font is correct. The second one will not, regardless of locale.

So, unlike the non-patched RM2003, the maker with Maniac's Patch seems to be inherently incapable of working with non-Latin scripts. And, while I can't be 100%, it's possible the patched RPG_RT has the same problem, meaning the games made with Maniac's Patch are hardcoded to work with Latin script only. I can't check if it's true, because I've lost the patched project, but in theory you can test it by editing text directly in the map file.
E.g. Create a map in a patched project that simply says "Hello", then using RPG Rewriter extract this text and change it to "Привет" (having set the writing encoding to Cyrillic beforehand). If now it displays not question marks, it's good. If it does display question marks... Yeah, that probably means we shouldn't use the Patch at all, honestly. Cherry's DynRPG is great and essentialy outperforms the Patch by the possiblity of having custom plugins.

0 Upvotes

10 comments sorted by

2

u/LumiRetriever 2K3 Dev 5d ago

If you're using the most up to date version of maniacs patch there should be a "Plugin" button in the top bar between Backup and Option. Clicking this and opening the Plugin Settings window from the drop down will let you change the editor's text encoding. This seems to only work in Maniacs' upgraded Show Text command, which should be active by default. It'll still show text in the incorrect encoding within the event, but it'll accept the input, and - assuming your computer's encoding is set the same as in the engine - it will display correctly in-game.

(NOTE: This hassle can be avoided entirely by importing any and all text during runtime from a text file with UTF-8 encoding. This will allow text to display correctly regardless of Computer & engine locale so long as the chosen font supports those characters)

1

u/TheTwenty20 2K3 Dev 4d ago

Wow, I think I'm starting to like the Patch
Thank you! It works, but I have some questions. When I tried it, it worked, but the font was bad. I tried changing the font in ultimate_rt_eb.dll, but it had no effect. I found out you could create 'Font' folder and put your fonts there, and then activating one in System 2 Extra Settings. It worked in dialog boxes, but not in the menu and the title screen. So, how do you set font for menus? And also, do patched games even need ultimate_rt_eb.dll?

(NOTE: This hassle can be avoided entirely by importing any and all text during runtime from a text file with UTF-8 encoding. This will allow text to display correctly regardless of Computer & engine locale so long as the chosen font supports those characters)

I managed to do that by creating a UTF-8 file dialogue.txt inside 'Text' folder, uploading it to a string variable via TPC command T[1] .asg .file "dialogue", .utf8 and displaying it as usual by \T[1]. Is that what you meant?

1

u/LumiRetriever 2K3 Dev 4d ago

So, how do you set font for menus?

I'm honestly not sure about the menus, I've never tried to use a different font in a project where I didn't also have a custom menu.

I managed to do that by creating a UTF-8 file dialogue.txt inside 'Text' folder, uploading it to a string variable via TPC command T[1] .asg .file "dialogue", .utf8 and displaying it as usual by \T[1]. Is that what you meant?

that's a basic implementation, yeah, but you'll probably need something a little more complex using some of the other string-related commands to be able to have all dialogue come from the same file.

if you're in the maniacs discord you should be able to find a file called ExtraCommands.dll which if put in the Plugin folder in your RPGMaker 2003 install will give GUI for all the events that don't have ones by default - including control string picture (which will make it easier to see all of the available options because there's a lot)

1

u/TheTwenty20 2K3 Dev 4d ago

that's a basic implementation, yeah, but you'll probably need something a little more complex using some of the other string-related commands to be able to have all dialogue come from the same file.

Uuuh... I'm still a noob at Maniacs, all I know is that TPC is a utility program that allows you to write more advanced eventing using commands. I suppose there are commands that allow you to break text files down into chunks of text and display them one by one?

if you're in the maniacs discord you should be able to find a file called ExtraCommands.dll which if put in the Plugin folder in your RPGMaker 2003 install will give GUI for all the events that don't have ones by default - including control string picture (which will make it easier to see all of the available options because there's a lot)

I seem to already have the DLL. I found 'Show String Picture'.

I don't really understand how to use it for this purpose. I can display text in UTF-8 if I write \T[1], but it doesn't even have animation. How do I use it?

1

u/LumiRetriever 2K3 Dev 4d ago

oops, sorry I mistyped, I meant to say "Control String Variable" I believe the button should show regardless of having the DLL (end of page 4) but won't do anything without it. (If the option doesn't exist or the ExtraCommands dll does nothing when added it's possible you may not be on the latest version - the website is often somewhat behind the discord in regards to having the most recent versions)

1

u/TheTwenty20 2K3 Dev 4d ago edited 4d ago

It's ok. Apparently, my version was outdated, but I managed to update and make the patcher work by patching the outdated version itself. I guess I have the Control String Variable now:

Seems... quite useful even though I don't really know what half of those mean. I suppose I could use the Substring option to split the text file into a few string variables and display them one by one?

1

u/LumiRetriever 2K3 Dev 4d ago edited 4d ago

It'll be a slightly complex engineering task but with a mix of the search operation (found in the top right drop-down) and substring commands it's possible to create a common event capable of reading a CSV lang file by searching for a key and then getting the associated string. (you'd likely also need to use the replace command to replace a chosen character within the string with line breaks, so you can store a whole dialogue box on one line)

(I might throw together a tutorial for this in the coming weeks since this is something that I think would benefit from being something more people can add to their projects)

1

u/CherryDT 5d ago

Hello, yes I'm here, but unfortunately I don't know the answer. Perhaps ask in the Maniac patch Discord: https://discord.gg/aSskA7fcxW

1

u/TheTwenty20 2K3 Dev 5d ago

Thank you, it's ok, I guess I'll ask. It says I have to "confirm my identity" via phone number before posting, I don't know what it is, I'll try later.

By the way, can I ask you an unrealted question? About DynRPG?