Note control
Note: unless explicitly mentioned, all of these keep notes’ visual and scoring positions in sync.
| Name | ID (hex) | Value hints | Description | Notes |
|---|---|---|---|---|
| Note rotation | noterot (0x18) | 0-360 | Controls the angle of notes on the playfield. | This does not apply to hold notes. |
| Draw distance | drawdist (0x3C) | Up to the screen height in pixels(?) | Controls how far up the playfield notes will appear. | This only applies to newly spawned notes; any already on the screen won’t be affected. |
| Note freeze | freeze (0x48) | 0/1 | Freezes the visuals for all notes in place. The notes will continue to move and score, but just won’t be visible. | When notes move off the screen, they will disappear due to the objects being destroyed. |
| Note scroll speed | scrollspeed (0x17) | Multiplied with the base speed | Controls the speed notes move down the playfield. | |
| Note velocity | velocity (0x19) | In my testing this acts the same as scroll speed. There may be differing behaviour I’m not aware of. | ||
| Wave movement | wave (0x1F) | Noticeable around >=10 | Applies a sine wave effect to notes’ motion in the Y axis. | |
| Judgement position | driven (0x1D) | In my testing, it goes off the screen >1.6 | This controls the position of the line where notes get scored. | Particle effects still appear at the normal position when notes are hit/missed. |
| Note Y offset | yoffset (0x23) | Pixels | This offsets the visual Y position of all notes. The scoring position is not affected. | |
| Beat jitter | beat (0x1E) | It’s not really noticeable until 10; I think 50 gives a nice effect. | This causes notes to jitter side to side on each beat of the song. The direction (left/right) alternates each beat. | |
| Note alpha | notealp (0x24) | 0-1 | Changes the transparency of notes. | |
| Boost distance | boost_distance (0x21) | Unclear | Unclear | |
| Boost time | boost_time (0x22) | Unclear | Unclear | |
| Per-lane scroll speed | scrollind0 (0x35), scrollind1 (0x36), scrollind2 (0x37), scrollind3 (0x38), scrollind4 (0x39), scrollind5 (0x3A), scrollind6 (0x3B) | Multiplier | This functions the same as scrollspeed, but is indexed per-lane. The number at the end is the lane index, where 0-3 are the main lanes and 4-6 are the bumper lanes. |
Particle control
| ID (hex) | Value hints | Description | Notes |
|---|---|---|---|
pburstleft (0x3D), pburstright (0x3E) | 0-N | Setting this to anything above 0 triggers N particle bursts on the corresponding side of the screen. | The value is immediately set back to 0 after the particles have been spawned. |
pburstspeed (0x47) | Multiplier | Controls the movement speed of particles spawned by the above two modifiers. | |
particlexpower (0x3F), particleypower (0x40) | Pixels per frame | Controls the movement of particles in the after being spawned. The value is added to the position of each particle each frame. |
VFX
Note: These modifiers affect all game and UI elements, except the text that displays your timing and current combo.
| Name | ID (hex) | Value hints | Description |
|---|---|---|---|
| Contrast | fx_contrast (0x42) | 0-2 | Controls the colour intensity of the game. A value of 0 removes all colour, 1 is normal, and anything above 1 increases the colour intensity. |
| Chroma distort | fx_chroma_distort (0x43) | Unclear | I can’t notice anything when changing this value, so I’m unsure as to its intended effect. |
| Film | fx_film (0x44) | 0/1 | Applies a shake and film grain effect. This has no intensity control, it’s just on or off. |
| Glow | fx_glow (0x45) | 0-1 | Applies a glow/bloom effect to everything on screen. |
| Particle glow | fx_particleglow (0x46) | 0-1 | This uses the same effect as fx_glow, but it only applies to the particles on screen. |
UI control
| Name | ID (hex) | Value hints | Description |
|---|---|---|---|
| UI Alpha | uialpha (0x41) | 0-1 | Controls the transparency of the UI elements not including lanes, scoring text or notes. |
| hom | hom (0x20) | Unclear | Unclear |
Proxied modifiers
These all require an assigned proxy object to function!
Transformations
| Name | ID (hex) | Description |
|---|---|---|
| X | prx (0x01), prxb (0x02), prxc (0x03), prxd (0x26) | X position offset. These values are all added together. |
| Y | pry (0x04), pryb (0x05), pryc (0x06), pryd (0x27) | Y position offset. These values are all added together. |
| Rotation | prrz (0x0F), prrzb (0x10) | Playfield angle in degrees. These values are added together. |
| Scale (both axes) | przm (0x09), przmb (0x0A), przmc (0x25) | Playfield scale. These values are multiplied together. prrx/prry are angles in degrees, and the cosine is taken of them before being multiplied. |
| Scale (X only) | przx (0x0B), prrx (0x0D) | As above |
| Scale (Y only) | przy (0x0C), prry (0x0E) | As above |
| Skew | prsx (0x07) | Playfield skew in the X axis. |
| Alpha | pra (0x08) | Playfield transparency |
| Unclear | prvib (0x2C) | This is only implemented for “dual” and “ram”. |
Clipping
| Group | Name | ID (hex) | Value hints | Description |
|---|---|---|---|---|
| Edges | Top, Bottom, Left, Right | shct (0x2D), shcb (0x30), shcl (0x32), shcr (0x34) | 0-1 | UV coordinates to clip the view region to. |
| Falloff | Top, Bottom, Left, Right | shft (0x2E), shfb (0x30), shfl (0x32), shfr (0x34) | 0-1 | Controls the fade out up to the clipping region |
Wave effect
| Name | ID (hex) | Description |
|---|---|---|
| Speed | shxs (0x11), shys (0x14) | The speed of the wave effect. |
| Period | shxp (0x12), shyp (0x15) | The period of the wave effect. |
| Amplitude | shxa (0x13), shya (0x16) | The amplitude of the wave effect. |
Unknown function
| ID (hex) | Notes |
|---|---|
unknown (0x00) | Presumably a fallback value. |
spinradius (0x1A) | This is only implemented in “00”, “ram” and “dual”, despite being a global modifier. |
spinx (0x1C) | This seems to be unused. |
spiny (0x1B) | This is only implemented in the gimmick object for “00”, despite being a global modifier. |