Hatsune Miku: Project DIVA F 2nd: Difference between revisions

From DivaDocs
m Reformatted tables
m Reordered documentation
Line 2: Line 2:


== Documentation ==
== Documentation ==
=== Binary Format ===
Starting with Project DIVA F 2nd (and subsequent games), most of the formats in the game have been updated to use a binary format. It usually follows a common format, with the header container being 64 bytes (32 if modded), file data container, and an End of File (EOFC) container.
To further optimize the files for PS3, they use Big Endian instead of the Little Endian used in the PSVita release. Some files may also have ENRS and POF1 data, which makes the file compatible with either PS3 (Big Endian) or PSVita (Little Endian).
==== Header ====
An example using ''pv_732_hard.dsc'' ('s hard chart) DivaScript file (PVSC/.dsc):
      0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
0000 50 56 53 43  70 7A 00 00  40 00 00 00  00 00 00 18
0010 00 00 00 00  70 7A 00 00  00 00 00 00  00 00 00 00
0020 7C 09 37 D4  00 00 00 00  00 00 00 00  00 00 00 00
0030 20 04 12 13  00 00 00 00  00 00 00 00  00 00 00 00
0040 13 12 04 20  .....................................
0x00->0x03: File signature ('P' 'V' 'S' 'C' in ASCII in this example)
0x04->0x07: Container size (UInt32, 31344 bytes in this example)
0x08->0x0B: Data offset (UInt32, Actual script starts at 0x40 in this case)
0x0C->0x0F: Endianness (0x0F is set to 18 for Big Endian PS3 files, otherwise it is set to 10 for Little Endian Vita files.)
0x10->0x13: Container depth
0x14->0x17: Data size (It only differs with container size when ENRS or POF is present.)
Usually those are enough for F 2nd to recognize it as a valid file. 0x20->0x3F may be removed (commonly files from modding tools).
0x40: Actual start of DivaScript file contents.
==== Endian Reverse Table ====
(ENRS) Lorem Ipsum
==== Pointer Offset Table ====
(POF1) Lorem Ipsum


=== Files ===
=== Files ===
Line 324: Line 289:
|unlock_list.bin
|unlock_list.bin
|}
|}
=== Binary Format ===
Starting with Project DIVA F 2nd (and subsequent games), most of the formats in the game have been updated to use a binary format. It usually follows a common format, with the header container being 64 bytes (32 if modded), file data container, and an End of File (EOFC) container.
To further optimize the files for PS3, they use Big Endian instead of the Little Endian used in the PSVita release. Some files may also have ENRS and POF1 data, which makes the file compatible with either PS3 (Big Endian) or PSVita (Little Endian).
==== Header ====
An example using ''pv_732_hard.dsc'' ('s hard chart) DivaScript file (PVSC/.dsc):
      0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
0000 50 56 53 43  70 7A 00 00  40 00 00 00  00 00 00 18
0010 00 00 00 00  70 7A 00 00  00 00 00 00  00 00 00 00
0020 7C 09 37 D4  00 00 00 00  00 00 00 00  00 00 00 00
0030 20 04 12 13  00 00 00 00  00 00 00 00  00 00 00 00
0040 13 12 04 20  .....................................
0x00->0x03: File signature ('P' 'V' 'S' 'C' in ASCII in this example)
0x04->0x07: Container size (UInt32, 31344 bytes in this example)
0x08->0x0B: Data offset (UInt32, Actual script starts at 0x40 in this case)
0x0C->0x0F: Endianness (0x0F is set to 18 for Big Endian PS3 files, otherwise it is set to 10 for Little Endian Vita files.)
0x10->0x13: Container depth
0x14->0x17: Data size (It only differs with container size when ENRS or POF is present.)
Usually those are enough for F 2nd to recognize it as a valid file. 0x20->0x3F may be removed (commonly files from modding tools).
0x40: Actual start of DivaScript file contents.
==== Endian Reverse Table ====
(ENRS) Lorem Ipsum
==== Pointer Offset Table ====
(POF1) Lorem Ipsum


== Tools ==
== Tools ==

Revision as of 12:39, 23 September 2025

Hatsune Miku: Project DIVA F 2nd (初音ミク -Project DIVA- F 2nd) is a 2014 rhythm game created by Sega and Crypton Future Media for the PlayStation Vita and PlayStation 3, and is the direct sequel to Hatsune Miku: Project DIVA F. In the context of modding, this game is notoriously harder to mod than other games (including Project DIVA X/XHD/VRFL) as it uses more binary formats instead of the usual text based formats used from Project DIVA Arcade/Dreamy Theater to Project DIVA F.

Documentation

Files

A table of the files used in F 2nd is listed here.

Extension File Signature Contained In / Usual Filename Notes Classic File Format
.farc FARC File Archive
.a3da A3DC/A3DA File archives starting with a3d_ (e.g. a3d_itmpv###.farc)

campv###.farc

Auth 3D Animation
.vag button.farc

pv###_effect.farc

VAG sound used for sounds (buttons/chance time effs) .diva
.osd MOSD Object file archives (e.g. mikitm001.farc) Modern Object Set Data
.osi MOSI Modern Object Set Information obj_db.bin
.txd MTXD Modern Texture Set Data
.txi MTXI Modern Texture Set Information tex_db.bin
.aec AETC File archives starting with aet_ (e.g. aet_gam_pv###.farc) After Effects Composition
.aei AEDB After Effects Composition Information aet_db.bin
.bon BONE bone_data.bin Bone Data bone_data.bin
.itmt ITMT chritm_prop_rs.farc Item Table xxxitm_tbl.txt
.stg STGC pv.stg / cmn.stg / ns.stg / dr.stg Stage Data Container stage_data.bin
.rmrs RMRS diva_room_db.rmrs
.rmfs RMRS diva_room_fset.rmfs
.str STRA str_array.str / str_array_en.str String Array str_array.bin
.fog FOGC stg###.fog Fog Data fog_pv###.txt
.lit LITC pv###_chara.lit

pv###_stage.lit

Light Data light_pv###.txt
.blt BLMT pv###.blt Bloom Table
.cct CCRT pv###.cct Color Correct Table
.dft DOFT pv###.dft Depth Of Field Table
.dex EXPC exp_pv###.dex Face Expression Data exp_pv###.bin
.dsc PVSC pv_###_[difficulty].dsc

pv_###_common.farc

PV Script Data pv_###_[difficulty].bin
.edp EDPV edit_pvdb.edp
.edt EDDB edit_db.edt
.opd OPDC (.+)_divskn.farc Osage Play Data Container
.mot MOTC File archives starting with mot_ (e.g. mot_pv###.farc)

PV###_???_P#_##.mot

Motion Set Container mot_pv###.bin
.spr SPRC File archives starting with spr_ (e.g. spr_gam_pv###.farc) Sprite Set Container
.spi SPDB Sprite Set Information spr_db.bin
.osp SKPC ext_skp_(.+).osp Osage Skin Properties ext_skp_(.+).txt
.pfl PVFL pv_field_###.pfl PV Field (just a normal txt file with a binary header and EOFC) pv_field.txt
.ppr n/a pv_db.ppr PV Database (just a normal txt file with no header and EOFC) pv_db.txt
.ptl PTLC player_title_list.ptl Player Title List Container
.rmdt RMDT room_data.rmdt
.rmmc RMMC room_onegai_mc.rmmc
.rmmf RMMF room_onegai_mf.rmmf
.rmmp RMMP room_onegai_mn.rmmp
.rmmn RMMN room_path_node.rmpn
.rmsc evt###.rmsc Room Script
.rsl RSLC rob_sleeve.rsl Sleeve data rob_sleeve_data.bin
.sht SHMT pv###.sht Shimmer Table (used for toon enabled PVs like Suki Kirai)
.tet TETT pv###.tet Toon Edge Table (used for toon enabled PVs like Suki Kirai)
.txt n/a hand_item_data.txt Hand Item Data
rom_flist_2d.txt 2D file list (contains aet_ and spr_ filenames)
rom_flist_objset.txt Object Set file list (contains objsets like mikitm###.farc)
stage_effect_param.txt Stage Effect Parameter
.thm defthum.thm Default thumbnail (?)
.ull ULLC unlock_list.ull Unlock List Container unlock_list.bin

Binary Format

Starting with Project DIVA F 2nd (and subsequent games), most of the formats in the game have been updated to use a binary format. It usually follows a common format, with the header container being 64 bytes (32 if modded), file data container, and an End of File (EOFC) container.

To further optimize the files for PS3, they use Big Endian instead of the Little Endian used in the PSVita release. Some files may also have ENRS and POF1 data, which makes the file compatible with either PS3 (Big Endian) or PSVita (Little Endian).

An example using pv_732_hard.dsc ('s hard chart) DivaScript file (PVSC/.dsc):

     0  1  2  3   4  5  6  7   8  9  A  B   C  D  E  F
0000 50 56 53 43  70 7A 00 00  40 00 00 00  00 00 00 18
0010 00 00 00 00  70 7A 00 00  00 00 00 00  00 00 00 00
0020 7C 09 37 D4  00 00 00 00  00 00 00 00  00 00 00 00
0030 20 04 12 13  00 00 00 00  00 00 00 00  00 00 00 00
0040 13 12 04 20  .....................................

0x00->0x03: File signature ('P' 'V' 'S' 'C' in ASCII in this example)

0x04->0x07: Container size (UInt32, 31344 bytes in this example)

0x08->0x0B: Data offset (UInt32, Actual script starts at 0x40 in this case)

0x0C->0x0F: Endianness (0x0F is set to 18 for Big Endian PS3 files, otherwise it is set to 10 for Little Endian Vita files.)

0x10->0x13: Container depth

0x14->0x17: Data size (It only differs with container size when ENRS or POF is present.)

Usually those are enough for F 2nd to recognize it as a valid file. 0x20->0x3F may be removed (commonly files from modding tools).

0x40: Actual start of DivaScript file contents.

Endian Reverse Table

(ENRS) Lorem Ipsum

Pointer Offset Table

(POF1) Lorem Ipsum

Tools

A table of tools with their corresponding files

Tool File Extensions Link
MikuMikuModel .osd https://github.com/blueskythlikesclouds/MikuMikuLibrary
.osi
.txd
.txi
.aec
.aei
.bon
.itmt
.fog
.lit
.blt
.cct
.dft
.mot
.spr
.osp
.sht
.tet
.farc
Database Converter .osi https://github.com/blueskythlikesclouds/MikuMikuLibrary
.txi
.aei
.stg
.str
.spi
.farc
PD_Tool .dex https://github.com/korenkonder/PD_Tool
DSC Studio .dsc https://keikei14.github.io/dsceditor/ - Fork that supports F2nd/X/XHD/VRFL read/write

https://nastys.github.io/dsceditor/ - Official site

Tutorials

Lorem Ipsum

Mods

Some mods have been made for F 2nd (surprisingly). Here are some of those:

Project DIVA FX 2nd

A modpack that adds songs and modules from Project DIVA X into F 2nd PS3.

Last Update: May 12, 2021

Download

Project DIVA F 2nd - F Collection -

This modpack adds 31 songs from DIVA F into F2nd.

Last Update: May 30, 2022

Download