DivaScript: Difference between revisions
Created page with "''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 <code>.dsc</code> 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, <code>.dsc</code> files from ''Project..." |
(No difference)
|
Revision as of 18:18, 19 September 2025
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);
