DivaScript
DivaScript (commonly referred to as DSC) is the file format used by all the Project DIVA games for storing various commands related to Music Videos/PVs and Rhythm Game Charts.
The data inside .dsc files is stored in a binary format. This means that they can not be edited with a text editor and instead require specialized programs that can decode them such as DSC Studio or ScriptEditor. Additionally, .dsc files from Project DIVA F2nd and Project DIVA X are encrypted using DIVAFILE encryption. They need to be decrypted before editing.
DSC Formats
Every Project DIVA game uses a specific DivaScript format. The exact format of a .dsc file is determined by the first 4 bytes of the file.
List of DSC Commands (Incomplete)
AGEAGE_CTRL
Controls the effect for the hair of the module "AgeAge Again".
AFT: AGEAGE_CTRL(chara, side, unk1, scale, unk2, unk3, -1, -1);
| Parameter | Description | Required | Type |
|---|---|---|---|
| chara | Character Slot | True | int |
| side | Side to control | True | enum:
0: both 1: left 2: right |
| unk1 | Unknown | True | int |
| scale | Effect Scale | True | int |
| unk2 | Unknown | False | int |
| unk3 | Unknown | True | int |
BAR_TIME_SET
Sets the length of a measure.
BAR_TIME_SET(bpm, beats);
| Parameter | Description | Required | Type |
|---|---|---|---|
| bpm | Beats per minute | True | int |
| beats | Number of quarter note beats minus 1. eg.: 3 for 4/4.
|
True | int |
BLOOM
Sets data from bloom pv_param.
AFT, F2, X: BLOOM(id, unk);
| Parameter | Description | Required | Type |
|---|---|---|---|
| id | ID matching the data in pv_param. | True | int |
| unk | Unknown | True | int |
CHANGE_FIELD
Changes the field defined in pv_field/pv_db.
CHANGE_FIELD(id);
| Parameter | Description | Required | Type |
|---|---|---|---|
| id | ID matching the field number in pv_field or pv_db.
|
True | int |
F2, X: CHANGE_FIELD(id, unk);
