This page contains notes for the game Proto:Deltarune/Chapter 1 & 2 Demo (2021).
|
|
To do: |
Hacking the Game#
|
|
To do: |
While datamining the game you may occasionally need to edit the game in order to restore stuff, so here's some notes. I assume you're editing data.win with UndertaleModTool in this section.
Code#
Usually what you need to edit is the code. There are 3 tabs in the editor for a code entry:
- Decompiled - GML code that UMT's decompiler converted from the opcodes. The GM manual has a GML reference that can help you read the code. You can edit the code in the editor, and click the space outside of the editor or press Ctrl+K to compile it.
- Disassembly - VM assembly that UMT's disassembler converted from the opcodes. This reference by Space Core may help while reading this. You can also edit it.
Note that editing code from the Decompiled tab may be unstable; always back your data.win up.
Flag Explanations#
Jacky720 (Space Core on the UM server) has documented every ch1&2 flag in his Flowey's Time Machine fork.
Chapter 2 Cutscene System Stuff#
Chapter 2 added a new cutscene system.
Cutscene Commands#
Here's a basic documentation of the cutscene commands for this system.
|
|
To do: |
Based on the order in scr_cutscene_commands:
delaycmd#
Wait for arg1 frames, then execute command arg2 with parameter arg3. If instant mode is enabled, the command is run immediately.
walk#
Makes an actor walk to direction arg1 with speed arg2 for arg3 frames. If instant mode is enabled, move the actor to the point the actor will end up in immediately.
walkdirect#
|
|
This needs some investigation. |
Makes an actor walk to point arg1, arg2 (if both parameters are 0, the actor will move to itself) at speed arg3. If instant mode is enabled, move the actor to point arg1, arg2 immediately.
msgset, msgnext#
Calls script msgset or msgnext with the parameters the commands received.
talk#
If not in instant mode, spawns a obj_dialoguer with the side and zurasu settings previously set with msgside.
msgface, msgfacenext#
Calls scr_anyface or scr_anyface_next with the parameters the commands received.
msgside#
Sets side or zurasu variables for later use. Possible arg1 values include:
- any - Makes dialoguers decide where it should appear at
- top - Makes dialoguer show up at the top of the screen
- bottom - Makes dialoguer show up at the bottom of the screen
- zurasuon - Turns on zurasu (which means "move" or "shift" in Japanese), makes the writer objects attached to dialoguers move with the dialoguer
(Source: colinator27)
- zurasuoff - Turns off zurasu
emote#
If not in instant mode, changes the emote of an actor by calling scr_emote on it with the parameters the command received (arg3 is ignored if it is 0).
speaker#
Calls scr_speaker with arg1.
fe#
Sets global.fe to arg1, also sets global.fc to arg2 if arg2 is not -2.
msc#
Sets global.msc (message code) to arg1, then initializes the message by calling scr_text.
instancecreate#
Creates a object (arg3) at arg1, arg2, and sets cutscene_instance in the master object to it.
|
|
This needs some investigation. |