Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Okku 3DS: Difference between revisions

From GameBrew
No edit summary
 
(7 intermediate revisions by the same user not shown)
Line 2: Line 2:
|title=Okku
|title=Okku
|image=Okku3ds2.png
|image=Okku3ds2.png
|description=Import custom TJA's to Taiko 3DS and possibly other Taiko games.
|description=Import custom TJA to Taiko 3DS and possibly other Taiko games.
|author=Team Papafox
|author=Team Papafox
|lastupdated=2020/09/20
|lastupdated=2020/09/20
Line 8: Line 8:
|version=1.0.4
|version=1.0.4
|license=Mixed
|license=Mixed
|download=https://dlhb.gamebrew.org/3dshomebrews/okku3ds.7z 1.0.4 & Guide
|download=https://dlhb.gamebrew.org/3dshomebrews/3dstaiko_v104_release.rar 1.0.4 & Guide
|website=https://www.teampapafox.org/projects/okku3ds.html
|website=https://www.teampapafox.org/projects/okku3ds.html
}}
}}
Line 41: Line 41:
** If Okku fails to launch, you may not have the VC Redistributable pack installed.  
** If Okku fails to launch, you may not have the VC Redistributable pack installed.  
** Double-click on the VC_redist.x86.exe file in the same directory and follow its installation instructions, then try again.
** Double-click on the VC_redist.x86.exe file in the same directory and follow its installation instructions, then try again.
* Open the TJA file you want to convert:
* Select the TJA file you want to convert:
** Okku will display the song name, its subtitle, and its list of difficulties.  
** Okku will display the song name, its subtitle, and its list of difficulties.  
** Verify that the information corresponds with the TJA you are trying to convert.
** Verify that the information corresponds with the TJA you are trying to convert.
Line 56: Line 56:
* Open 3ds_Folder_structure.7z and extract its contents to the root of your SD card.
* Open 3ds_Folder_structure.7z and extract its contents to the root of your SD card.
* Navigate to SD:/luma/titles/0004000000190E00/romfs/_data/sound/song/.
* Navigate to SD:/luma/titles/0004000000190E00/romfs/_data/sound/song/.
* This is the hard part - Rename your converted NAAC file to the name of an actual, existing song. The smaller file (!!audio_s.naac) is the song sample that plays in the song select screen, while the larger file (!!audio.naac) is the full song.
* This is the hard part - Rename your converted NAAC file to the name of an actual, existing song and place them into the song folder. The smaller file (!!audio_s.naac) is the song sample that plays in the song select screen, while the larger file (!!audio.naac) is the full song.
** For a list of base song IDs in Taiko 3DS3, see [[Okku_3DS#Taiko 3DS3 base song ID|base song ID section]].
** For a list of base song IDs in Taiko 3DS3, see [[Okku_3DS#Taiko 3DS3 base song ID|base song ID section]].
** For a list of song IDs by where they show up on the song select screen, see [[Okku_3DS#Taiko 3DS3 song ID order|song ID order section]].
** For a list of song IDs by where they show up on the song select screen, see [[Okku_3DS#Taiko 3DS3 song ID order|song ID order section]].
Line 66: Line 66:
'''Song replacement - Fumen chart files:'''
'''Song replacement - Fumen chart files:'''
* Navigate to SD:luma/titles/0004000000190E00/romfs/_data/fumen/<song ID of the song that you replaced>/solo/.  
* Navigate to SD:luma/titles/0004000000190E00/romfs/_data/fumen/<song ID of the song that you replaced>/solo/.  
* Rename your fumen file (!!fumen_.bin) to <SONG ID>_<e/n/h/m>.bin.
* Rename your fumen file (!!fumen_.bin) to <SONG ID>_<e/n/h/m>.bin, and place it into the solo folder.
** e = easy (かんたん)
** e = easy (かんたん)
** n = normal (ふつう)
** n = normal (ふつう)
Line 98: Line 98:
|1. nameko<br>2. honnou REMST<br>3. th7171 BRANCH<br>4. thchil [URA]<br>5. thmhrb
|1. nameko<br>2. honnou REMST<br>3. th7171 BRANCH<br>4. thchil [URA]<br>5. thmhrb
|-
|-
|}
!Namco Original
{| class="wikitable" style="width: 600px;"
!Game Music
!style="width: 50%;"|Namco Original
!Classical
!style="width: 50%;"|Game Music
|-
|-
|style="width: 300px;"|1. 3d3op<br>2. hoslin<br>3. dietft<br>4. w3at1x<br>5. alexan REMST2<br>6. ymyrp2 REMST<br>7. exgoth [URA]<br>8. siuryu [URA]<br>9. gunsln<br>10. adk<br>11. shoto9<br>12. yamata<br>13. 83noma REMST<br>14. mahojn<br>15. fltlnd [LOCK]<br>16. kagu27 [LOCK]<br>17. sora3x REMST [LOCK]<br>18. sora6x [LOCK]<br>19. akanos<br>20. souryu [URA]<br>21. hvride [LOCK]<br>22. rot4 [LOCK]<br>23. 3d3hex<br>24. 3d3b1x [LOCK]<br>25. 3d3b2x [LOCK]
|style="width: 300px;"|1. 3d3op<br>2. hoslin<br>3. dietft<br>4. w3at1x<br>5. alexan REMST2<br>6. ymyrp2 REMST<br>7. exgoth [URA]<br>8. siuryu [URA]<br>9. gunsln<br>10. adk<br>11. shoto9<br>12. yamata<br>13. 83noma REMST<br>14. mahojn<br>15. fltlnd [LOCK]<br>16. kagu27 [LOCK]<br>17. sora3x REMST [LOCK]<br>18. sora6x [LOCK]<br>19. akanos<br>20. souryu [URA]<br>21. hvride [LOCK]<br>22. rot4 [LOCK]<br>23. 3d3hex<br>24. 3d3b1x [LOCK]<br>25. 3d3b2x [LOCK]
|1. kirby<br>2. monhnx<br>3. gyak31<br>4. makaim<br>5. sphang<br>6. dariub<br>7. wblade<br>8. wangan<br>9. syclsn<br>10. mscl4 REMST<br>11. drsb REMST2<br>12. Soul Calibur III ??? [LOCK]<br>13. imedrv<br>14. namcot REMST [LOCK]<br>15. Classical<br>16. clsdnu REMST [URA]<br>17. clsw REMST2<br>18. valk REMST<br>19. clsmrs REMST<br>20. clsbut REMST2<br>21. clstic
|1. kirby<br>2. monhnx<br>3. gyak31<br>4. makaim<br>5. sphang<br>6. dariub<br>7. wblade<br>8. wangan<br>9. syclsn<br>10. mscl4 REMST<br>11. drsb REMST2<br>12. Soul Calibur III ??? [LOCK]<br>13. imedrv<br>14. namcot REMST [LOCK]
|1. clsdnu REMST [URA]<br>2. clsw REMST2<br>3. valk REMST<br>4. clsmrs REMST<br>5. clsbut REMST2<br>6. clstic
|-
|-
|}
|}


===Limitation===
===Limitations===
* Cannot parse TJA files with branching data.
* It cannot parse TJA files with branching data.
* Cannot replicate NAMCO's scoring algorithm.
* It cannot replicate NAMCO's scoring algorithm.
* Cannot handle TJA specific scrolling commands(like BM/HBSCROLL) due to FUMEN limitations.
* It cannot handle TJA specific scrolling commands(like BM/HBSCROLL) due to FUMEN limitations.
* Does not display the song title in-game. A song can be recognized in song select using song preview or by recalling which song you replaced.
* Does not display the song title in-game. A song can be recognized in song select using song preview or by recalling which song you replaced.
* Balloons will be shorter than expected if they happen to end at a different bar than they started from (fumen engine limitation).
* Balloons will be shorter than expected if they happen to end at a different bar than they started from (fumen engine limitation).
Line 127: Line 127:
* Reddit - https://www.reddit.com/r/3dshacks/comments/ivy95a/release_import_custom_tjas_to_taiko_3ds_and
* Reddit - https://www.reddit.com/r/3dshacks/comments/ivy95a/release_import_custom_tjas_to_taiko_3ds_and
* Reddit - https://www.reddit.com/r/taikonotatsujin/comments/ivwjtq/release_import_custom_tjas_to_taiko_3ds_and
* Reddit - https://www.reddit.com/r/taikonotatsujin/comments/ivwjtq/release_import_custom_tjas_to_taiko_3ds_and
[[Category:3DS homebrew rom hacks]]
[[Category:Homebrew hack utility for 3DS games]]

Latest revision as of 13:53, 6 July 2024

Okku
Okku3ds2.png
General
AuthorTeam Papafox
TypeHack Utilities
Version1.0.4
LicenseMixed
Last Updated2020/09/20
Links
1.0.4 & Guide Download
Website

Okku is a public TJA to FUMAN converter, which allows you to import TJA files to taiko 3DS, and possibly other games.

Features

  • Handle DELAY commands.
  • Handle SCROLL commands.
  • Handle BPMCHANGE commands.
  • Handle MEASURE commands.
  • Automatically reencode songs to NAAC format.
  • Convert TJA to FUMEN.

User guide

How to use

This process works by replacing existing songs in the game (not by adding them as DLC). As this is done via LayeredFS, the replacement can be removed at any time. Note that song names displayed in the game are not handled by this converter, since they are images.

Usage instruction can be found in the PDF guide. Below tutorial is based on this guide by lily.

Prerequisites:

  • A modded 3DS running a modern CFW environment (Luma3DS 7.0+ with LayeredFS support).
  • A digital or cartridge copy of Taiko 3DS3 (Taiko no Tatsujin: Dokodon! Mystery Adventure).
  • The TJA file that you would like to convert.
  • A computer or virtual machine running a modern version of Windows (tested on Windows 10 and 11).

Extract and convert TJA files:

  • Make sure you extract your TJA files with a computer set to Japanese locale, or else mojibake will be generated in its places.
  • Okku requires that TJA files be encoded as UTF-8.
    • You can do this in bulk with a tool like KanjiTranslator.
    • Or you can manually re-encode the file with Notepad (click Save as, change Save as type to UTF-8, then save).
  • After that, open Okku_converter.exe:
    • If Okku fails to launch, you may not have the VC Redistributable pack installed.
    • Double-click on the VC_redist.x86.exe file in the same directory and follow its installation instructions, then try again.
  • Select the TJA file you want to convert:
    • Okku will display the song name, its subtitle, and its list of difficulties.
    • Verify that the information corresponds with the TJA you are trying to convert.
    • Then select the difficulty that you want converted.
  • Okku will show a few boxes, then output Done! once it has succeded.
  • At this point, Okku can be closed and the converted files will be in the same directory as the original TJA and audio file.

Converting multiple difficulties:

  • If you're converting multiple difficulties for one song, keep in mind that Okku will constantly overwrite the last converted file.
  • Therefore, you should move the generated files elsewhere between each convert (ideally in a seperate folder so you don't mix them up).
  • Also there is no need to convert audio multiple times. Okku will warn you for further charts that the audio is missing, accept the warning and it'll convert the chart quickly as there is no audio to convert.

Song replacement - Song files:

  • Open 3ds_Folder_structure.7z and extract its contents to the root of your SD card.
  • Navigate to SD:/luma/titles/0004000000190E00/romfs/_data/sound/song/.
  • This is the hard part - Rename your converted NAAC file to the name of an actual, existing song and place them into the song folder. The smaller file (!!audio_s.naac) is the song sample that plays in the song select screen, while the larger file (!!audio.naac) is the full song.
    • For a list of base song IDs in Taiko 3DS3, see base song ID section.
    • For a list of song IDs by where they show up on the song select screen, see song ID order section.
    • For other cases, see the song ID list on wikihouse.
    • Using ハッピーシンセサイザ (Happy Synthesizer) as example, whose song ID is hapsyn.
    • So you will be renaming the converted NAAC files to hapsyn_3ds.naac and hapsyn_3ds_s.naac.
    • (Note: There are a number of songs require you to add _remst or _remst2 to the file name. For example, ymyrp2_remst.naac).

Song replacement - Fumen chart files:

  • Navigate to SD:luma/titles/0004000000190E00/romfs/_data/fumen/<song ID of the song that you replaced>/solo/.
  • Rename your fumen file (!!fumen_.bin) to <SONG ID>_<e/n/h/m>.bin, and place it into the solo folder.
    • e = easy (かんたん)
    • n = normal (ふつう)
    • h = hard (むずかしい)
    • m = master (おに)
    • if applicable, ex = extra (裏)
    • _remst/_remst2 logic does not apply for these file names (e.g. the master chart fumen for ymyrp2 would still be ymyrp2_m.bin).
  • Take out your SD card and put it into your 3DS.

Your song replacement should now appear for the song that you have replaced.

Remember to enable game patching in the Luma3DS configuration menu (hold Select on boot) so that LayeredFS can apply.

Taiko 3DS3 base song ID

okku3ds4.png

Taiko 3DS3 song ID order

Song indicators:

  • REMST indicates that you must append _remst to the audio file name (for example, himyak_remst.naac).
  • REMST2 indicates that you must append _remst2 to the audio file name (for example, lost1g_remst2.naac).
  • [URA] indicates that the song has an Ura (extra) chart, so you may want to reserve it for any of your charts that have an Ura.
  • [LOCK] indicates that the song is locked by default, so you may not want to use it unless you have a completed save file.
J-POP Vocaloid Variety
1. nedari
2. kimuso
3. geswat
4. kekka2
5. himyak REMST
6. dora36
7. koiama REMST
8. xjapa2 REMST [URA]
1. gumis2 [URA]
2. hapsyn
3. lost1g REMST2
4. rlngig REMST [URA]
5. iachil REMST
1. nameko
2. honnou REMST
3. th7171 BRANCH
4. thchil [URA]
5. thmhrb
Namco Original Game Music Classical
1. 3d3op
2. hoslin
3. dietft
4. w3at1x
5. alexan REMST2
6. ymyrp2 REMST
7. exgoth [URA]
8. siuryu [URA]
9. gunsln
10. adk
11. shoto9
12. yamata
13. 83noma REMST
14. mahojn
15. fltlnd [LOCK]
16. kagu27 [LOCK]
17. sora3x REMST [LOCK]
18. sora6x [LOCK]
19. akanos
20. souryu [URA]
21. hvride [LOCK]
22. rot4 [LOCK]
23. 3d3hex
24. 3d3b1x [LOCK]
25. 3d3b2x [LOCK]
1. kirby
2. monhnx
3. gyak31
4. makaim
5. sphang
6. dariub
7. wblade
8. wangan
9. syclsn
10. mscl4 REMST
11. drsb REMST2
12. Soul Calibur III ??? [LOCK]
13. imedrv
14. namcot REMST [LOCK]
1. clsdnu REMST [URA]
2. clsw REMST2
3. valk REMST
4. clsmrs REMST
5. clsbut REMST2
6. clstic

Limitations

  • It cannot parse TJA files with branching data.
  • It cannot replicate NAMCO's scoring algorithm.
  • It cannot handle TJA specific scrolling commands(like BM/HBSCROLL) due to FUMEN limitations.
  • Does not display the song title in-game. A song can be recognized in song select using song preview or by recalling which song you replaced.
  • Balloons will be shorter than expected if they happen to end at a different bar than they started from (fumen engine limitation).

Screenshots

okku3ds3.png

Known issues

  • Fumen with 300 bars or more will crash.
  • Fumen with more than 13000 notes may crash.
  • If the converter fails to parse a song file, try changing the name of the song file and changing WAVE in the tja to the song file.

External links

Advertising: