Coder Social home page Coder Social logo

icyson55 / kuriimu Goto Github PK

View Code? Open in Web Editor NEW
324.0 22.0 50.0 24.61 MB

A general purpose game translation toolkit for authors of fan translations.

License: GNU General Public License v3.0

C# 99.96% PowerShell 0.04%
fan-translation text-editor plugins image-converter archive-manager

kuriimu's People

Contributors

adibsurani avatar cakelancelot avatar cuyler36 avatar darksynopsis avatar getov avatar icyson55 avatar kuronosufear avatar littoma avatar mariohackandglitch avatar megaflan avatar mirusu400 avatar onepiecefreak3 avatar piratesephiroth avatar rocketrobz avatar ryuzaki-mrl avatar sn0wcrack avatar squimmy avatar ultramario1998 avatar wabberz avatar xzonn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kuriimu's Issues

[Karameru Plugin Request] Super Robot Wars UX

Console: 3DS
Format extension(s): .bin
Original game name: Super Robot Wars (Taisen) UX

First 8 byte of file(s):
Even though all files are .bin the 8 bytes in each file is different

More details?:
Unsure what each .bin file contains, "arcBtlMsgDat.bin" might just be text where as "arcBtlGrpDat.bin" seems to contain darc files.

Most I've found out is http://zenhax.com/viewtopic.php?f=9&t=3630

Sample files (if possible):
https://mega.nz/#!VtoXTZ5A!Cly0FUjwH6H9jQHDXOwXS2PCUhLXH20qfIhMC-B7PMM

[Kukkii] DQ8 .bch mipmap issue

Console: 3DS
Format extension(s): .bch
Original game name: Dragon Quest VIII: Journey of the Cursed King

First 8 byte of file(s):
.bch - [42 43 48 00 22 23 44 AD] - [BCH."#D.]

More details?:
.bch files from DQ8 don't seem to be loading mipmaps correctly, in the example files most of them have a face and body texture, the body texture should have 4 mipmaps, most of the files load the highest res mipmap then the second is a mess and then it doesn't load the other 2 mipmaps and the face texture which I believe only has 1 mipmap.

In the example files "c004_5" loads 3 of the body textures fine but is missing another mip and the face.

Also with no changes hitting Save on these files throws up an error, imagine its because they aren't loading correctly in the first place?

Sample files (if possible):
Included are 4 .bch files.
[File Removed]

[Kuriimu Plugin Request] Yo-kai Watch 2

Console: 3DS
Format extension(s): .cfg.bin
Original game name: Yo-kai Watch 2: Bony Spirits / Fleshy Souls

First 8 byte of file(s):
(ev) .cfg.bin - [0A 00 00 00 F0 00 00 00] - [........]

More details?:
Game appears to use different types of .cfg.bin, event files "ev" seem to be the above bytes and text related to menus is a different of .cfg.bin, didn't post the first 8 bytes since different in each file

Sample files (if possible):
Included 10 .cfg.bin files, 6 related to menu text and 4 related to event text.
https://mega.nz/#!EhhmABgR!lI05VjxoyfS9JB2ZfqXtdJQoImuCXzzOdjc_Ttt69Q4

Implement KUP Import/Export across all formats.

Allow the Kuriimu UI to export any format to a .KUP file and then import it again.

This change will make Kuriimu directly dependent on the file_kup plugin DLL which is not ideal but necessary.

Add BMG support

Console: Game Boy Advance, GameCube, Nintendo DS(i), Wii
Format extension(s): bmg, none (for 2 Games in One! - Dr. Mario + Puzzle League)
Original game name: 2 Games in One! - Dr. Mario + Puzzle League (may not be the first - extended list)

First 8 byte of file(s):
bmg, none - 4D 45 53 47 62 6D 67 31 - MESGbmg1

More details?:

  • WPFTextEditor and TheWindWaker_Text_Editor have support for editing the bmg files used in The Legend of Zelda: The Wind Waker
  • Tinke has very partial support of the bmg files used in 2 Games in One! - Dr. Mario + Puzzle League
  • Editor Arquivo BMG, MKDS Course Modifier and Tinke have partial support of the ones used in New Super Mario Bros. and other DS/i games such as Mario Kart DS and WarioWare D.I.Y..
  • BMGView has partial support for the bmg and associated files used in Super Mario Galaxy.
  • CTools and Wiimms ISO Tools has (partial?) support of bmg files used in Mario Kart Wii and other Wii games such as New Super Mario Bros. Wii
  • SM64DSe has support for the SM64DS BMG(?) format
  • Various documentations can be found for the various bmg formats

Sample files (if possible):

[Kukkii] Yo-kai Watch 2 .xi Graphical Error

Console: 3DS
Format extension(s): .xi
Original game name: Yo-kai Watch 2: Bony Spirits / Fleshy Souls

First 8 byte of file(s):
.xi - [49 4D 47 43 30 30 00 00] - [IMGC00..]

More details?:
Now with ARC0 Save Support added I decided to take a look into the game some more, some .xi files open fine and others are just a mess when opened.

Sample files (if possible):
Included 18 .xi files that are broke, let me know if some of the working ones are needed.
[File Removed]

[Bug] Ie.b not work in Karameru V.1.6

Console: 3ds
Format extension(s): .fa
Original game name: Inazuma Eleven Go (Shadow/Light), Inazuma Eleven Go ChronoStone (Thunderflash/Wildfire) and Inazuma eleven Go Galaxy (BigBang/Supernova)

First 8 byte of file(s):
Extension - 41 52 43 30 48 - ARC0H

More details ?:
Hey hi i have a problem when i open .FA files (ARC0) everything works fine except V.1.6
Can not open files ie.b, ie.a not works in .b
Thank you for solving the problem

Sample files (if possible):
https://mega.nz/#!Jh0gVQJa!opas_UEy8T1pcIRV5hMjEJlzRVXi_7qzHAMDNfQDLiQ

[Kuriimu Plugin Request] Professor Layton vs Ace Attorney

Console: 3DS
Format extension(s): .xs
Original game name: Professor Layton vs Ace Attorney

First 8 byte of file(s):
Extension - A2 20 63 36 01 37 38 FF - ¢ c6.78ÿL

More details?:
Opening up the vs1.fa file in Karameru (using the recently added XFSA plugin) rendered most if not all of the files encrypted.

Sample files (if possible):
XS file: https://my.mixtape.moe/olcsgu.7z
vs1.fa file: https://drive.google.com/file/d/0B_S0wgZdscAiMFBvQ0lHSjNpdlU/view?usp=sharing

Shin Megami Tensei IV

Console: N3DS
Format extension(s): ".bam"
Original game name: Shin Megami Tensei IV

First 8 byte of file(s):
BAM - [41 54 42 43 80 5D 1E 00] - [ATBC€]..]

More details:
Compressed CGFX file, if you remove the first 180 bytes until you have the CGFX header, the file acts like a CGFX, but you can't save the file.

Sample files (if possible):
https://mega.nz/#!tuJWlAQT!nQTQ7po7WkDxFpkPwJy9A1h9l4FHdvfEBJz8aOoCRj4 (BAM file)
https://mega.nz/#!l7BCSZJa!Dsm9ZhVXbDitCyCOmlQw7EQr8EKMIt9R7HlSDkR2H0M (CGFX file [BAM modified])

Karameru enhancments

  1. Directory extraction
  2. Complete archive extraction directories and all
  3. Complete archive import with options (add, replace only, delete not in source)
  4. Directory import with the same options. Maybe I make it all just one function and UI and the user performs the directory extract from the currently invisible root node (show the node as the filename perhaps)

Tingle's Balloon Trip of Love

Console: NDS
Format extension(s): Archive has no extension, INF/VIW

Original Game Name: Ripened Tingle's Balloon Trip of Love (Irodzuki Tingle no Koi no Balloon Trip)

First 8 bytes of files:
Archive - varies, there is no header, it's just all the LZ77 compressed files one after another.
INF - varies, there is also no header. The pointers and lengths start right at $0x00
VIW - varies, no header. I think you get the idea 😄

More details:

  • The INF files contain the pointers and lengths of each file in the archive, and the VIW contains the names of the files in the archive. The archives contain various LZ77 compressed graphic files. The only relevant ones to translation are resLibAnm#, resLibBG#, and resLib3D# (with # being any number 1-11).
  • It should probably be noted that Freshly-Picked Tingle's Rosy Rupeeland (NDS) and Too Much Tingle Pack (DSi) also use these formats.

Sample files:
https://drive.google.com/open?id=0Bzi52yTfVXCQOGJYYkNacHVtcG8

MetalMax 3 texts Plugin

Console: NDS
Format extension(s): >.NAM/.ARR ; .SET ; .MSG
Original game name: Metal Max 3

First 8 byte of file(s):

.SET - [5345545547060000] - [SETUG�]
.MSG - [4C41424CA0010000] - [LABL �]
.NAM - [No header starts directly with text] - []
.ARR - [No header starts with 0000000000000000] - []

More details?:
The .NAM / .ARR files are a couple. (Supposedly the pointers for .NAM files that have .ARR partners are inside the last ones. For the others they are inside ARM9.bin.) (All the informaton about this format pointers is updated in the MEGA folder)
For the .MSG format: All the Information about the format can be seen in the comments of DarthNemesis https://gbatemp.net/threads/interested-in-translating-metal-max-3.404823/page-2
the .SET format has 2 sections the first with the pointers and the second with the text and I think i found the pointers.
SETUMEI_ITEM.SET POINTERS
First group Begins in offset 0C ends at 59B
Second group Begins in offset A48 ends at B37

SETUMEI_SUBABILITY.SET POINTERS
Begins in offset 08 ends at 7B3

SETUMEI_TOKUGI.SET POINTERS
Begins in offset 08 ends at 13B

Sample files (if possible):
https://mega.nz/#F!A1gCRIqb!fgnKLOhlPDcs_9mOULxjUA

Implement translation tracking in Kuriimu

Creating project files, in which the entry ID and a bool flag decide which entry is already translated and not.
The project file also contains a value of total files and already translated files. The completion rate could then be easily calculated by dividing those 2 values.

Kuriimu GUI would have 2 separate options, to open projects and single files simultaneously.

MetalMax 3 graphics plugin

Console: NDS
Format extension(s): .Tex
Original game name: Metalmax 3

First 8 byte of file(s):
.tex - [43484E4B00000000] - [CHNK]

More details?:
Note: some are compressed with LZ11 or RLE.
There are two types of .tex files:
.tex with 2 chunks (graphics + palette)> They can be seen in their entirety in kukii but it is still pending implement the option to save the changes.

.tex with 3 chunks (has a TX4I chunk) (graphics + palette indexes(4x4textel) + palette) >Not fully implemented visualization. Is still pending implement the option to save the changes.

Issues:
Since version 1.08 of Kuriimu there are some .Texs that previously opened that do not in this version also some do not show up well.
Error Screen
captura de pantalla 183

Sample files (if possible):
https://mega.nz/#F!A1gCRIqb!fgnKLOhlPDcs_9mOULxjUA

[Karameru Plugin] Dragon Ball Heroes Ultimate Mission X

I request support for this file type.
Onepiecefreak has sample files already. Should be enough to analyze and extract / repack it's contents.

Thx.
Console: 3DS
Format extension(s): .AMB
Original game name: Dragon Ball Heroes Ultimate Mission X

First 8 byte of file(s): 23 41 4D 42 00 00 00 20
Extension - [23 41 4D 42 00 00 00 20] - [AMB]

More details?:
It is a container which contains several files.

Sample files (if possible):
http://s000.tinyupload.com/index.php?file_id=07265303521870282230

Flip through Preview lines with out mouse

While translating long paragraphs of text, you always have to insert newlines so that text doesn't run off the screen..
Well, I found that every time you push Return to go to next line, you have to take hand off keyboard to reach over for mouse and move cursor to preview arrows to show the next line in previewer..

Doing this several times for each data entry that you are supposed to translate gets a bit tedious after a while.. I was thinking it might be totally awesome in every possible aspect if there were a way to mess with a paragraph as much as need be with out having to reach over to mouse every time you need to change a line in the previewer (to make sure none of your lines are too long in the game).. Doesn't seem like a big problem until you are translating tons of stuff..

I was thinking there might be 2 ways to solve this: one way that would work very intuitively but might be slightly harder to implement, and yet a second way that would not be quite as sleek (or on fleek) but would be better than nothing..

Alright, so first way I am thinking of is like, every time text-cursor moves in the Text box, it triggers a code line that gets the current line that the text-cursor is on, and automatically sets the Preview line to that same line number.. With games that show multiple lines at a time like zelda or some thing, it could just set the first preview line to the same that cursor is on, so like if text-cursor is on line 3, zelda would show line 3, 4, and 5..
(By the way, might want to change "Text" label to some thing like "Translated Text" so it is slightly less ambiguous..)

The other way is to just assign some previous/next short-cut keys to flip back and forth through previewer lines.. Would still have to manually flip your self, but at least you could do it with keyboard and don't have to reach back and forth for mouse like 5 or 6 times for every paragraph..

Actually I was thinking even if you were to implement first method, might still be good to have some keyboard short-cuts to flip through all the lines one more time after you are done translating the paragraph just to double-check one more time to see if any line is too long or not..

And besides, what if some day I want to use kuriimu on one of those ancient punch-card computers that don't have a mouse??.. You gotta consider these types of things when you're making kuriimu you know!..

Rhythm Heaven Megamix [ENG] Spaceball Graphics Error

Console: Nintendo 3DS
Format extension: *.ctpk
Original game name: Rhythm Heaven Megamix [English Ver.]
File Location: APP:\romfs\agbBatter_long.zlib\arc\batter_XX.ctpk
First 8 byte of file (batter_00.ctpk): 43 54 50 4B 01 00 01 00
.ctpk - [150070] - [Unknown, presumably same]
More details:
The minigame, Spaceball, uses an image file of different scales saved in one .ctpk, to allow for smoother scaling in-game due to the extreme camera zooms. Each size of an object's image is displayed at a given distance from the camera; when an object appears closer, it gradually fades out the smaller scale image and fades in the larger scale image.
With this system in mind, the file presumably consists of the header, one palette for textures, and an unknown amount of sprite sheets, the largest ending at 100080. Because the largest image ends at 100080, Kukkii appears to only read the file up to that point, and the last 50000 bytes are erased from the file when saving, regardless of whether the image is replaced or not.
Playing the game with the shorter 1.00 MB asset causes the game to only have the largest-scale image, and load other sheets from memory, where there are none, causing other game sheets or trash data to become drawn instead. However, saving the file (shortening it to 100080) and then manually re-adding the last 50000 bytes (using HxD) from the original untouched file fully restores the missing sheets, and the game plays entirely normal, and appears normal.
I've tried to get Kukkii to read the smaller files within the package by manually replacing the image data in the 1.00 MB file with all of the data after 100080 in the original file, but then the file fails to fetch the colors from the texture, which leads me to believe that the colors are presented once and used for all sheets.
What I am asking for is support for this unusual .ctpk, so that I may edit it in its entirety without losing the smaller images. Thank you for your time.

Find & Replace

[REQUEST] Put a Find & Replace function to make translations a lot faster

[Kuriimu Plugin Request] Tingle's Balloon Trip of Love

Console: NDS
Format extension(s): .bin
Original game name: Ripened Tingle's Balloon Trip of Love (Irodzuki Tingle no Koi no Balloon Trip)

First 8 byte of file(s):
lang.bin – [06 00 F3 32 00 00 00 00] – [..ó2....]

More details:

  • The entire script is located in lang.bin.
  • The source code for the current script dumper/inserter is included in the link below.

Sample files:
https://drive.google.com/open?id=0Bzi52yTfVXCQM1dpZ1I5LWg4YXM
(includes lang.bin, as well as the current script editor and it’s source code)

Angelique Retour

Console: PSP
Format extension(s): .psarc, (.arc, .bin?)
Original game name: Angelique Retour

First 8 byte of file(s):
psarc - [5053415200010004] - [PSAR....]
arc - [4D49472E30302E31] - [MIG.00.1] -> bin contains filename strings and file meta
bin - [5041410000000000] - [PAA.....]

More details?:
This is for the text plugin. The archive plugin has already been completed.

Sample files (if possible):
The .psarc and .arc files are about a gig each, so they're too large to really have a link for.
The .bin file is here: https://mega.nz/#!4CwQXTqR!7EPIiQpzRnceEAHqyQTEBYqlbzVy9aG88NZuWEavBFA

Professor Layton XS

Console: 3DS
Format extension: .xs

Original Game Name: Professor Layton 5

More details:
xs consists of 4 parts. A header (size 0x14), 2 tables (unknown purpose for now) and if file consists actual text to display the text itself.
Everything beside the header is compressed with the Level5 standard
Header structure is as follows:

Magic "XSCR"
short unk1
short table1offset (bitshift left 2 for actual offset)
int unk2
int table2offset (bitshift left 2 for actual offset)
int unk3

I thought the unknowns were the sizes but they doesn't correlate in any way with the compressed or uncompressed size.
The text isn't pointed at. If you read both tables and you have data left to read, you can assume text is available.

First 8 bytes of files:
.xs - [58 53 43 52 06 00 05 00] - [XSCR ]

Sample files:
Aren't needed for myself!

Multi-Image support for Kukkii

Having a preview slideshow at the bottom of the Kukkii GUI.
The user should decide if the slideshow is shown if the List.Count > 1.
Every plugin has to be rewritten to have a List bmp instead of Bitmap bmp.

Danball Senki - LBX W: Chou Custom [3DS]

Console: 3DS
Format extensions: .rif .seek
Game Company: Level 5

First 8 byte of file(s):
RIF - [4D 52 4F 4E 33 2E 30 30]
SEEK - [53 65 65 6B 46 69 6C 65]
AIF - [20 46 49 41 80 00 00 00]

Details?:
They seem like encrypted. Need help to find text and texture files and edit them

Sample files
LBX.zip

Tingle's Balloon Trip of Love

Console: NDS
Format extensions: VCG/VCL/VCE
Original Game Name: Ripened Tingle's Balloon Trip of Love (Irodzuki Tingle no Koi no Balloon Trip)

First 8 bytes of files: *
VCG - [20 47 43 56 00 00 00 00] - [ GCV....]
VCL - [20 4C 43 56 10 00 01 00] - [ LCV....]
VCE - [20 45 43 56 0E 00 00 00] - [ ECV....]

More details:

  • *Files are LZ77 compressed, these are the first 8 bytes of the files after decompression.
  • It should probably be noted that Freshly-Picked Tingle's Rosy Rupeeland (NDS) and Too Much Tingle Pack (DSi) also use these formats.
  • VCG is the graphic, VCL is the palette data, and VCE is in charge of arranging the tiles in the correct order on the screen.

Sample files:
https://drive.google.com/open?id=0Bzi52yTfVXCQVUFoSDQwTjUweEU

Add Save function to RAW Image viewer

We need a save function in the raw image viewer for the image formats that are meant to be opened through the raw image viewer. For example Raw CTPK's.

Taiko no Tatsujin: Chibi Dragon to Fushigi na Orb

Console: 3DS
Format extension(s): .lmt
Original game name: Taiko no Tatsujin: Chibi Dragon to Fushigi na Orb (太鼓の達人 ちびドラゴンと不思議なオーブ)

First 8 byte of file(s):
LMT - [5A 00 00 00 00 00 00 00] - [Z.......]

More details?:
LMT files appear to be some sort of PNG but if I trim to the PNG section I end up with a broken image.

Sample files (if possible):
Included 11 .lmt files along with the .lm files that go with them but I believe the .lm files are related to animating the images and such so don't think they are needed.
https://mega.nz/#!ct4ADS6Z!FQAbHy5-bEphe_onUuXy3sJbfqjOcTa1tZNMNcvYEw0

Danball Senki - LBX W: Chou Custom [3DS]

Console: 3DS
Format extensions: .bin
Game Company: Level 5

First 8 byte of file:
BIN - [80 00 02 AC 03 12 04 02]
_vgmt_awb_ext_BGM_streamfiles.zip

I need some more help if possible. There is also a file format with name like streamfiles.awb. I thought that was only audio files but it is an archive type of file. I extracted them with vgmtoolbox and the smaller of them have header "43 57 41 56 CWAV" so they are really audio files (i think) the big one maybe a text archive because it starts in a way that looks like a font. Can you take a look one more time? Thanks

!.".#.$.%.&.'.(.
).*.+.,.-.../.0.
1.2.3.4.5.6.7.8.
9.:.;.<.=.>.?.@.
A.B.C.D.E.F.G.H.
I.J.K.L.M.N.O.P.
Q.R.S.T.U.V.W.X.
Y.Z.[..].^._.`.
a.b.c.d.r..

Here are some extracted files from the big archive
_vgmt_awb_ext_BGM_streamfiles.zip

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.