ROM Hack [Project] [Hatsune Miku - Project Mirai 2] Translation Project

Gadorach

Electronics Engineering Technologist
OP
Member
Joined
Jan 22, 2014
Messages
970
Trophies
0
Location
Canada
XP
956
Country
Canada
I'm currently in the middle of researching and compiling everything I can about this game and how it works. I expect this to be a somewhat long-term project. I'll update this thread as new data is found and the methods for using said data. Here's the current data I've compiled for it:

File Tree: http://pastebin.com/bgJgBH5f

Ignore output.txt, it was simply accounted for during the tree-building, as I forgot to specify another folder for it to go into.


Types of files:

.txt - Plaintext data - mostly used for databases and game settings, easy to edit.
.bin - bin files - holds packed data for stages, models, textures, some code, etc.
.icn - icon data - for the 3DS's data management app, I believe.
.raw - picture data - only seen used for in-game wireless icon data
.moflex - video+sound data - only used for the game's opening sequences
.dsc - stage data - likely stands for "Diva Stage Config", or something along those lines. Holds all song stage data.
.bcsdr - shader config data - multiple shaders for stage and text rendering are included
.shbin - used by shader config probably, holds any additional data, unknown exact contents
.bcasd - unknown, something to do with sound setup probably.
.bcsar - CTR Sound Archive [ http://3dbrew.org/wiki/BCSAR ] - sound data
.bcstm - audio stream - holds all main sounds files, including character sounds, sound effects, songs, etc. Can be played back with fubar2000 with the vgstream plugin.


Plaintext-available content, and their known limitations:
------------
pv_db.txt
------------
Found in <pv> folder.

This is the database that stores the PV data. This includes the song names loaded by the PV player, and the lyrics displayed on a per-line basis, and linked to a timing file that is likely stored in the stage data for the song in question.

Known Limitations:

UTF-8 encoding support only

PV player can only display 49 characters total per line. It will cut off additional text from each end, and will continue to attempt to render the line up until about 75 characters before locking up, through centering the text displayed. At 60+ characters, if the last line was this long or longer, the game will lock up the console when attempting to either clear or display the next line. As I have no debugger at this point, I cannot find out which it is. Sometimes, instead of locking up, the script will simply fail to load that line at all, and move forward with no content until the next line is called.

You cannot add lines to the song that aren't registered in the ".dsc" file for that song, as it won't know where/when to display them.

Known Possible Uses:

Can change character and stage data for in-game rendered songs.
Can change Song names and Lyrics data for the PV Player.
[note: this does not affect the song list menu at all, just the PV Player]
Add and remove song data from the game [untested], will need stage data and stream data for the song to add a new one, unknown what triggers used to add or remove a song to/from the game song-list menu.

Secrets:

Found part of Leia's data in here, turns out it was meant to be packaged with the game, but got scrapped at some point.

---------------
game_db.txt
---------------

Found in root directory.

This is the database that stores the main game setup data. This includes initial save data settings, judge timings, BPM fine-tuning, Banner order for the game list [modifications untested], Retail/Trial flags, and a game engine test.

Known Limitations:

UTF-8 encoding support only

Known Possible Uses:

Modify the initial unlocked songs to allow for quick ROM testing, or general cheating.
Modify the initial awarded Mirai Points for easier testing.
Modify the initial unlocked/applied character and costume, for easier texture-modding testing.
Modify the header for the save data. Appears to just be a date, in this case: [0x20130920]
Modify the banner order for the songs, perhaps their unlock order as well [untested]
Run game engine tests, if desired. [untested]
Make a demo with locked songs for people to try the game with. [untested]

------------------
rob_act_db.txt
------------------

Found in the root directory.

Contains data pertaining to the character's actions on screen, and their animation sequences.

Known Limitations:

UTF-8 encoding support only

Known Possible Uses:

Add custom actions, or modify actions in the game to your liking with custom skeleton animation paths and preset animations. [untested]

Example:
Code:
#Skeleton Movement Data
actXXX.motion=MRM2_M2_XXX
 
#Actions
actXXX.YYYY.ZZZZ=AAA
 
XXX = Action number
YYYY = milliseconds to perform preset animation in
ZZZZ = Preset animation name
AAA = Version of preset animation to use
 
EX:
 
act079.motion=MRM2_M2_080
act079.0110.eye=0

---------------
score_db.txt
---------------



Known Limitations:

Known Possible Uses:

Secrets:


--------------
boss_db.txt
--------------



Known Limitations:

Known Possible Uses:

Secrets:

Might just be part of AN NSA SPY PROGRAM! O_O

Code:
#NSA download URL
setting.url=https://npdl.cdn.nintendowifi.net/p01/nsa/YqwaX4YDDsNecFub/miku_01/miku_boss


---------------
pv_field.txt
---------------



Known Limitations:

Known Possible Uses:

Secrets:


---------------
cardinfo.txt
---------------



Known Limitations:

Known Possible Uses:

Secrets:


---------------
poseinfo.txt
---------------



Known Limitations:

Known Possible Uses:

Secrets:


[TO BE UPDATED WHEN I HAVE MORE TIME]


Feel free to help with the research for this game. The more hands helping the unpacking and research process, the faster it can be done.

Example of Edited PV-Mode song-names:

df48a4c63c.jpg
 

Gadorach

Electronics Engineering Technologist
OP
Member
Joined
Jan 22, 2014
Messages
970
Trophies
0
Location
Canada
XP
956
Country
Canada
[RESERVED]

Edit: You guys do realize that I wasn't trying to start a meme or trend, right?

If you're seriously reserving space for a legitimate reason, then cool, but it's just silly if you aren't. I'll update this thread with relevant data as possible, so there's no real need to reserve any space in the thread. My reservations are to more easily split sections of the process as they are reached.
 
  • Like
Reactions: tjexp

planetarian

Well-Known Member
Member
Joined
Aug 5, 2014
Messages
143
Trophies
0
Age
37
XP
384
Country
United States
Hello fellow PM2 enthusiast!
This project definitely has my attention, but more for auxillary purposes, since there's an official localization getting released next year.

I'm greatly interested in learning more about the other formats, e.g. PVs and tracks and such. I'd love to build a PV viewer, or even an editor of some kind, if we could get to that point.

I can't contribute much to this project at the moment as I've been quite busy already developing a CGFX viewer/exporter, but as it's nearing completion I'll definitely be keeping an eye on any developments here. If our goals overlap to a significant degree I'll look forward to collaborating =)

I've actually been using PM2 models to test my (very much WIP) CGFX lib:
1e4ce0f7d7a05ca1a8a7e11b18b5124.png
 

XStationCube

Member
Newcomer
Joined
Jan 15, 2011
Messages
6
Trophies
0
XP
78
Country
United States

Gadorach

Electronics Engineering Technologist
OP
Member
Joined
Jan 22, 2014
Messages
970
Trophies
0
Location
Canada
XP
956
Country
Canada
Hello fellow PM2 enthusiast!
This project definitely has my attention, but more for auxillary purposes, since there's an official localization getting released next year.

I'm greatly interested in learning more about the other formats, e.g. PVs and tracks and such. I'd love to build a PV viewer, or even an editor of some kind, if we could get to that point.

I can't contribute much to this project at the moment as I've been quite busy already developing a CGFX viewer/exporter, but as it's nearing completion I'll definitely be keeping an eye on any developments here. If our goals overlap to a significant degree I'll look forward to collaborating =)

I've actually been using PM2 models to test my (very much WIP) CGFX lib:
That's awesome, and part of my plan here was to just be able to access and modify everything in the core game as I desired. I want to be able to make new songs, translation was more of a secondary initiative that I figured the community would get behind. I can't wait for your CGFXlib to be done, that's wonderful, and a PV Viewer is definitely something I could get behind. Whether an official translation is going to come out next year or not, the data we can pull here in doing is going to be useful for everything both of us wants to do. I really hope we can get to a point where we can make an "OpenMiku3DS", or something like that too.
 

Gadorach

Electronics Engineering Technologist
OP
Member
Joined
Jan 22, 2014
Messages
970
Trophies
0
Location
Canada
XP
956
Country
Canada
this just in: aside from being closer to having models sorted out, I have discovered the nightmare fuel that is PM2 models when all their expressions are visible at once. >_>
I'll admit, I didn't know there were so many different eyebrow positions. That's pretty wonderful. But yeah, definitely nightmare fuel right there.
 

netnerd

Well-Known Member
Newcomer
Joined
Sep 13, 2013
Messages
53
Trophies
0
Location
Melbourne
XP
124
Country
Hey there, just thought I'd let you know about my own limited experimentation with Project Mirai 2.
I've mainly done a few tests in relation to Leia, which is also in Mirai 1 and other than the lack of audio looks to be playable, although I'm not at that stage quite yet because I need to figure out how to not load another song's note path data so I can see the notes (loading up the dsc with Yume Yume resulted in notes following the Yume Yume path but with no panning - I'll have to try adding lines to see if it can run with no actual PV)
game_db does seem to have some level of effect on unlocks, but I haven't tested very much - just that screwing with the order can change the initially unlocked songs.
.dsc seems to hold the note chart, some PV events (loading of some resources and timed events I believe) and lyric timing. The format is similar to in Mirai 1, and older files may load with minimal modification (Leia is identical except for version bytes between the two games IIRC, probably because it doesn't use SP or anything special).
pv_field is a cool file too. I had a glance at it and it seems to define layers for the renderer. Probably not too useful until we want to make custom PVs, but it could be fun to screw around with.

Anyway, those are my observations so far. They're nothing special, but definitely something.
Also, if anyone wants to help me out, makerom doesn't seem to be building romfs from extracted files past about 700MB (the rest is all zeros) which makes it hard to make changes. Is this a known issue or am I doing something wrong?
 

Tomy Sakazaki

Well-Known Member
Member
Joined
Oct 23, 2006
Messages
880
Trophies
0
Website
Visit site
XP
812
Country
Brazil
Sega of America didn't confirm what will be on Project Mirai Remix for the best it could have all songs from Mirai 1, 2 and some more, all charts and gameplay modes of songs that were present on Mirai 1 and 2, for the worst some songs from Mirai 1 and 2 may be removed, there could be only one gameplay style or a new one. I say that it's better to start on fan translation as a B plan.
 

planetarian

Well-Known Member
Member
Joined
Aug 5, 2014
Messages
143
Trophies
0
Age
37
XP
384
Country
United States
Well, SEGA's announcement was pretty clear-cut for the most part; everything they discussed was identical to Mirai2's setup, with the only real mystery being what extra content would be present.
 

planetarian

Well-Known Member
Member
Joined
Aug 5, 2014
Messages
143
Trophies
0
Age
37
XP
384
Country
United States
Out of curiosity, has anyone ever messed with the Project Diva files and figured out the note sequence format? I've always preferred the Mirai2 system over the Diva one, so I think it'd be kinda awesome to port some Diva songs over to Mirai2.
 

Gadorach

Electronics Engineering Technologist
OP
Member
Joined
Jan 22, 2014
Messages
970
Trophies
0
Location
Canada
XP
956
Country
Canada
Out of curiosity, has anyone ever messed with the Project Diva files and figured out the note sequence format? I've always preferred the Mirai2 system over the Diva one, so I think it'd be kinda awesome to port some Diva songs over to Mirai2.
I'd like to as well, and if I figure it out, I'll post it here of course. I'm fairly familiar with the stepmania format, so I get the jist of how those types of files usually work. It's still not going to be anytime soon out of me though, but I'll definitely be looking into it if no one else does before I'm able.
 

planetarian

Well-Known Member
Member
Joined
Aug 5, 2014
Messages
143
Trophies
0
Age
37
XP
384
Country
United States
Actually, that's a pretty interesting thing to note in and of itself -- stepmania/DDR songs should be compatible with Mirai2 by nature, so one would simply have to write a converter. Not entirely sure there'd be much of a point to it, but it'd be kinda fun to do later just for kicks.
 
  • Like
Reactions: Margen67

Gadorach

Electronics Engineering Technologist
OP
Member
Joined
Jan 22, 2014
Messages
970
Trophies
0
Location
Canada
XP
956
Country
Canada
Actually, that's a pretty interesting thing to note in and of itself -- stepmania/DDR songs should be compatible with Mirai2 by nature, so one would simply have to write a converter. Not entirely sure there'd be much of a point to it, but it'd be kinda fun to do later just for kicks.
True, but it would only be 4-key songs, and even then they would have to be down-stepped to accommodate for the lack of additional inputs. It would need special handling for things like hands and trips, and jacks would likely have to be limited to make it playable on the console. All in all, making new step-files would be the better road to travel, which wouldn't be too difficult, as I'm friends with a few renowned steppers, though mostly through other friends. If we can figure it out, getting them made will be a cinch.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: @salazarcosplay, Good.