ROM Hack [Release] Kuriimu - A general purpose game translation toolkit for authors of fan translations.

IcySon55

Leader of Fan Translators International
OP
Member
Joined
Mar 18, 2008
Messages
439
Trophies
0
Age
36
XP
1,878
Country
Canada
Hey there gbatemp,

Notice: v1.0.15 is the final release of Kuriimu1. It is now deprecated and is being replaced by Kuriimu2.

Kuriimu is a suite of programs that I designed to be flexible tools for the purposes of fan translating games, apps, etc... and the flexibility is attained through plugins! (DLL files developed by programmers.)

Want to talk about it?
If you would like to reach out to me to discuss Kuriimu and/or writing plugins for it, I can be reached most easily on the Fan Translators Int. discord (which I run) here:


https://github.com/FanTranslatorsInternational/Kuriimu2/releases/
Hop into the #kuriimu channel and hit us up.

Kuriimu - A text editor.

https://github.com/FanTranslatorsInternational/Kuriimu2/releases/
Kukkii - An image converter.

https://github.com/FanTranslatorsInternational/Kuriimu2/releases/
Karameru - An archive manager.


All Releases

Current release:
https://github.com/FanTranslatorsInternational/Kuriimu2/releases/
Kuriimu v1.0.15 Final
Features
Plugins
  • Improved CIA archive plugin compatibility.
  • Improved TMX image plugin compatibility. (@LITTOMA)
  • Improved G1T image plugin compatibility. (More image formats supported. @kuronosuFear, @onepiecefreak3, @RocketRobz)
  • Improved GMD text plugin compatibility.
  • Improved MSBT text plugin compatibility. (NLI1 section support. @mariohackandglitch)
  • Improved GAR archive plugin compatibility. (Now compatible with GARs from Ever Oasis. @Xzonn)
  • Improved PSARC archive plugin compatibility. (Now supports null terminated manifests.)
  • The Rocket Slime 3DS game plugin now has a new preview: Battle Scene. (@ultramario1998)
  • Improved TEX image plugin compatibility. (Image dimensions can now be changed.)
  • Improved T2B text plugin compatibility.
  • Improved TTBIN text plugin compatibility.
  • Improved NCA archive plugin compatibility.
  • Added a new archive plugin for the G4PK format.
  • Improved L7C archive plugin compatibility.
  • Improved BCH image plugin compatibility. (Auto-generate mipmaps.)
  • Added a new image plugin for the IMGV format.
  • Improved GARC2 archive plugin compatibility.
  • Added a new image plugin for the G4TX format.
Reporting bugs and Requesting Plugins/Features:
Please submit an issue to our issue tracker and heed the warnings provided in the issue template.

Keep in Mind:
These tools are aimed at users with a basic understanding of romhacking.
Games use different engines with different file formats, just because one game is working doesn't mean another is.
We only add support for new file formats as people bring them to us. We are not actively seeking out new formats. If you are waiting for your game to be supported without ever talking to us, you'll be waiting a long time.
If you have questions, please be as specific as possible. We can't read your mind.


Development Team:
@IcySon55 - Creator, UI programming, design and direction, plugin author.
@onepiecefreak - Plugin author extraordinaire. Also compression, encryption, and more~
@Neobeo - Code cleanup, enhancements, performance improvements, design, compression, encryption, image formats and plugin authoring.

Contributors:
@CakeLancelot - Plugin author.
@Ryuzaki_MrL - Plugin author.
@PeterPaladin - Plugin author.
@Uwabami - Plugin author.
@DarkSynopsis - Plugin author.
@Sn0wCrack - Plugin author.

Special Thanks:
@xdaniel - Scarlet
@Gericom - EveryFileExplorer

Let the craziness begin/continue!
 
Last edited by IcySon55, , Reason: Fixing a mess.

DarkSynopsis

Well-Known Member
Member
Joined
Oct 15, 2014
Messages
482
Trophies
0
Age
31
Location
New Zealand
Website
ninjasfate.com
XP
1,753
Country
New Zealand
  • Extension Plugins - These are general purpose plugins that require a UI.
    • ext_fenceposts - Fenceposts is an extension plugin that manages dumping and injecting strings in executable files such as code.bin.

Awesome, curious to try out the above feature but program gives me an error after I try click on Editor/Extensions/Director :(

Cn5nrWu.png


Edit:
Sorted, seems each .dll was blocked had to unblock them.
 
Last edited by DarkSynopsis,

IcySon55

Leader of Fan Translators International
OP
Member
Joined
Mar 18, 2008
Messages
439
Trophies
0
Age
36
XP
1,878
Country
Canada
how do u save whats from the director
You take the <pointer address="" results and then using your favorite hex editor, jump to those addresses.
Then you eyeball where you think the pointer table starts and ends and add that to the Fenceposts Pointer Table list.

Sorted, seems each .dll was blocked had to unblock them.
Right, forgot to mention that Windows sometimes blocks the DLLs. I'll have to write a lot more error handling into the code. Guess it's on the todo list.
 
Last edited by IcySon55,
  • Like
Reactions: DarthDub

IcySon55

Leader of Fan Translators International
OP
Member
Joined
Mar 18, 2008
Messages
439
Trophies
0
Age
36
XP
1,878
Country
Canada
How do you unblock them?
Open the properties for each file and click Unblock. I'll have to see about getting this issue resolved. So that they don't get blocked all the time.

If you want to permanently stop Windows from blocking files from the internet, here are the steps:
  1. Windows key + R > gpedit.msc> OK
  2. User Configuration > Administrative Templates > Windows Components > Attachment Manager
  3. Enable: Do not preserve zone information in file attachments
WARNING: If you do this, Windows will not block ANY files you download from the net. In fact it will not write any zone information at all and will have no idea where any file originated. This can be a security risk if your computer is shared with people that are not all that tech savvy.
 
Last edited by IcySon55,

RandomKid150

Translator
Member
Joined
Nov 4, 2015
Messages
371
Trophies
0
Location
Texas
XP
442
Country
United States
Hey there gbatemp,

I've been working with the Dragon Quest Heroes: Rocket Slime 3DS team for the past few weeks. In that time, I put an early version of this tool together to get the team off the ground.

Kuriimu is a program that I designed to be a flexible tool for the purposes of fan translating games, apps, etc... and the flexibility is attained through plugins! (DLL files developed by programmers.)

@SonyUSA @Prans @MarcusD @FAST6191 @T-hug
Is this front page news worthy? :)

Wanna talk about it?
If you would like to reach out to me to discuss Kuriimu and/or writing plugins for it, I can be reached most easily on the Fan Translators Inc. discord (which I run) here: https://discord.gg/3nYQ9aG and hop into the #kuriimu channel.

preview.png

Releases (Beta download is on GitHub)

I'm releasing this beta in the hopes that it spurs interest in expanding the capabilities of the program through plugins developed by others.

Current Plugin Types
  • File Plugins - These allow the editor to open, edit, and save various file formats.
    • file_kup - Currently the only file plugin written by me for the native container format used by Kuriimu and Fenceposts for dumping, editing, and injecting strings from/to executable files.
  • Game Plugins - These allow the editor and Fenceposts to handle control codes and text previews when dealing with strings in a game. (See screenshot for Rocket Slime 3DS plugin selection.)
    • The preview functionality is used in the editor to display a preview of what the text will look like in-game. (Not implemented yet.)
    • game_rocket_slime_3ds - The first game plugin I wrote dedicated to the RS3DS game.
  • Extension Plugins - These are general purpose plugins that require a UI.
    • ext_fenceposts - Fenceposts is an extension plugin that manages dumping and injecting strings in executable files such as code.bin. It is currently limited to the Unicode Little-Endian character encoding but that will change soon.
Program Structure
  • Kuriimu.exe - The main executable that displays the three main buttons.
    • Editor - The general purpose text editor that makes use of File and Game plugins. It is built into the main executable and is not a plugin.
    • Extensions - Displays a list of extension plugins that can be launched.
    • Director - A simple (and incomplete) pointer finding utility. It is also built into the executable like the editor.
  • KuriimuContract.dll - This is the interface between Kuriimu and all of the plugins. It provides the three plugin interfaces (plus a few smaller supporting interfaces) and a few utilities that plugin authors can make use of:
    • BinaryReader/WriterX - Modified BinaryReader/Writer classes that can handle byte order and come with a few perk methods to make binary operations easier. Like PeekString() :)
    • PluginLoader - A static method for loading plugins. It is used by both the editor and the Fenceposts extension.
    • ListItem - A simple multi-purpose list item class used by pretty much everything.
  • plugins\*.dll
    • All the plugins go in the plugins directory.
    • Some plugins rely on others. ext_fenceposts relies on file_kup directly without loading it as a plugin because it dumps the text to the kup format directly.
P.S. You may remember me from the MSBT Editor Reloaded project, and it's quite possible to write an MSBT plugin for this editor, and couple that with a game plugin to make control codes read-able for games that store text in MSBT format.

Let the craziness begin!
How can I open some .bin files? I can't seem to figure it out. Maybe you could make a tutorial? I have some files on this page if you can try and open them. :)
 

IcySon55

Leader of Fan Translators International
OP
Member
Joined
Mar 18, 2008
Messages
439
Trophies
0
Age
36
XP
1,878
Country
Canada
How can I open some .bin files? I can't seem to figure it out. Maybe you could make a tutorial? I have some files on this page if you can try and open them. :)
I'll have some time tonight to look at these bin files. If the format is simple, then Fenceposts can probably deal with it. Otherwise you'd need to write a file plugin.
 

IcySon55

Leader of Fan Translators International
OP
Member
Joined
Mar 18, 2008
Messages
439
Trophies
0
Age
36
XP
1,878
Country
Canada
Hey there tempers!

I've been working away on this for the past week and I've now reached a new milestone! The game handler plugin for Rocket Slime 3DS can now generate previews!

preview02.png


Those of you with a keen eye may have noticed that the translation has removed the second half of the content on this entry. This is because the previewer is incomplete and is unable to render another entire dialog at the moment. So I left the second out on purpose to avoid text overflowing.
 
Last edited by IcySon55,

IcySon55

Leader of Fan Translators International
OP
Member
Joined
Mar 18, 2008
Messages
439
Trophies
0
Age
36
XP
1,878
Country
Canada
Hello again tempers!

I've been working away on Kuriimu since my last update and the following additions were made:
  • file_msbt - An MSBT plugin based on the same code from MSBT Editor Reloaded. Currently, none of the XMSBT or other tools have been ported as I'm still working out how to handle file plugin tools in Kuriimu.
  • file_gmml - A GMML plugin written from scratch for the text file format found in Maple Story 3DS. This plugin came a little late and the team on the project will only be using Kuriimu for any future updates to the translation.
  • It is now possible to select whether the entry list is sorted or displayed in file order with a simple toolbar button. The setting is remembered separately for each file plugin.
On the version 1.0.0 front, things are looking better, but changes are still being made to the KuriimuContract which breaks plugins if they're not updated.

Likely changes that will break plugin compatibility and need to be figured out before 1.0.0:
  1. File plugin tools like XMSBT, BG4, and UMSBT.
  2. File plugin property additions like telling the editor which new-line characters are used by the file. (Currently hard-coded.)
 
Last edited by IcySon55,

IcySon55

Leader of Fan Translators International
OP
Member
Joined
Mar 18, 2008
Messages
439
Trophies
0
Age
36
XP
1,878
Country
Canada
Hey there tempers!

Here's a small update on recent Kuriimu developments:
  • A game handler was started for Great Detective Pikachu as you can see:
preview03.png

  • file_jmsg - A JMSG plugin for the text file format used by One Piece: Super Grand Battle! X.
  • ext_director - A simple (and incomplete) pointer finding utility. Director used to be part of Kuriimu itself but has been moved to being an extension to segregate the code and make Kuriimu itself less complex.
  • runext.exe - This small executable allows users to launch an extension plugin by itself without having Kuriimu running at all.
    • Starting it as is will present users with an extension select menu.
    • Passing a DLL name to it on the command line will launch that extension immediately.
Other than many code clean-ups and improvements, that's about it for this update.
 
Last edited by IcySon55,

IcySon55

Leader of Fan Translators International
OP
Member
Joined
Mar 18, 2008
Messages
439
Trophies
0
Age
36
XP
1,878
Country
Canada
Nice. Will you add support of new file types in the future?
I might be adding support for new formats as they come up and as I have time. You are of course able to create new plugins yourself to add support for new formats!

One such format would be the BTXT format that I just added.
  • file_btxt - An incomplete BTXT plugin for the text file format used by Digimon Universe Appli Monsters. (Read-Only)
This plugin is available in the most recent build of the beta.
 
Last edited by IcySon55,

DarkSynopsis

Well-Known Member
Member
Joined
Oct 15, 2014
Messages
482
Trophies
0
Age
31
Location
New Zealand
Website
ninjasfate.com
XP
1,753
Country
New Zealand
Awesome to see new formats getting supported :) I really should try this on Tales of the Abyss code.bin files to see if I could get the text from the English version of the game ported to the Japanese version, might finally get a proper Undub where the skits are voiced, crazy they didn't dub the skits in the West.
 

super.bean

Well-Known Member
Member
Joined
Mar 13, 2011
Messages
155
Trophies
0
Age
29
Location
Mandaue City, Cebu
Website
Visit site
XP
289
Country
I tried editing One Piece Super Grand Battle X! but some .jmsg files upon opening said "None of the installed plugins were able to open this file" though it can open other .jmsg files just fine.
Any solutions?

Edit--

Now I can't open the same file i was editing a while ago, same .jmsg file
 
Last edited by super.bean,
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Veho @ Veho:
    Shame.
    Gift
  • Veho @ Veho:
    I heard it's more R.L. Stine than serious horror.
    Gift
  • kenenthk @ kenenthk:
    It's mostly trying to please new audience by saying we're okay with your sexual orientation and don't discriminate with a few murders here and there
    Gift
  • Veho @ Veho:
    They had that in the movies too.
    Gift
  • kenenthk @ kenenthk:
    Yeah but it's more in your force sort of
    Gift
  • Veho @ Veho:
    Chucky's son/daughter in Seed of Chucky.
    Gift
  • kenenthk @ kenenthk:
    It's not horrible just feels like they're trying to please crowds too hard
    Gift
  • kenenthk @ kenenthk:
    He did make a reference to his gender fluid son saying he doesn't have a problem with it which was a cool way to tie plots
    Gift
  • Veho @ Veho:
    "I don't know f I'm male or female or both or neither..:" "But do you like stabbing?" "Yes." "Then I love you."
    Gift
  • Veho @ Veho:
    "Let's go murder some people.
    Gift
  • kenenthk @ kenenthk:
    It just feels more cast heavy and not much focus on chucky imo
    Gift
  • katebeyond @ katebeyond:
    Monster Hunter Stories 2 Save
    Does anyone have a 100% complete storyline save?
    Nintendo Switch
    Gift
  • Psionic Roshambo @ Psionic Roshambo:
    Better than poop dog do double o OG poop machine
    Gift
  • kenenthk @ kenenthk:
    My monster just got done 100%
    Gift
  • Gift
  • katebeyond @ katebeyond:
    give me save
    Gift
  • Gift
  • katebeyond @ katebeyond:
    @kenenthk, I want to watch videos But not on YouTube
    Gift
  • Gift
  • kenenthk @ kenenthk:
    I'm friends with the monster that's under my bedGet along with the voices inside of my headYou're tryin' to save me, stop holding your breathAnd you think I'm crazy, yeah, you think I'm crazy
    Gift
  • Veho @ Veho:
    WELL THAT'S NOT BAD
    Gift
  • Maq47 @ Maq47:
    Pretty sure it's "Well that's nothing".
    Gift
  • Veho @ Veho:
    I don't really care :tpi:
    Gift
  • Gift
  • Veho @ Veho:
    Sammich.
    Gift
    Veho @ Veho: Sammich.