VNDS .scr file format: for any clarification on the usage of these, look at a .scr from another VN bgload: usage: bgload file [fadetime] looks in background/ for the image and draws it as the background control length of fade in frames with fadetime (default 16) setimg: usage: setimg file x y looks in foreground/ for the image and draws it at the point (x,y) sound: usage: sound file times looks in sound/ for the file, loads it into memory(don`t do this with anything over a meg in size) and plays it X times. -1 for infinite looping. sound is expected to be in 22050Hz 1 channel raw imadpcm format. if file is ~, it stops any currently playing sound. music: usage: music file looks in sound/ for the file, music is expected to be in mp3 format if file is ~, it stops the music. text: usage: text string displays text to the screen. Prepending string with @ makes it not require clicking to advance if string is ~, it`ll make a blank line if string is !, it`ll make a blank line and require clicking to advance choice: usage: choice option1|option2|etc... displays choices on the screen when a choice is clicked, selected is set to the value of what was selected, starting at 1. use if selected == 1, etc to go off what was selected. setvar/gsetvar: usage: setvar modifier value sets a variable modifier: =, +. - setvar puts values into local save memory, to be kept in normal save files for things like character flags and such gsetvar sets variables in global.sav for things like cleared path flags prefix a variable with $ to use it in other commands: `text var is $var` if/fi: usage: if x == 1 commands fi conditional jump if true, it keeps reading. if false, it skips till it encounters a fi Note: left operand must be a variable, right may be either This is due to either redoing every script to put $ in front of the variables, or just making left not default to string if the variable doesnt exist. jump: usage: jump file.scr [label] looks in script/ for the .scr and starts reading off that. if label is specified, jumps to that label in the script delay: usage: delay X X being number of frames to hold, DS runs at 60 frames per second. random: usage: random var low high set var to a number between low and high (inclusive) label/goto: usage: label name goto name a goto command will search the current script for a label with the same name and start the script from that part Notes: titlescreen: icon: 32x32 .png thumbnail 100x75 .png To place a variable in a command, prefix the variable name with $ and it will directly replace it. Strings only Conversion: Images: Sprites should be in png format and backgrounds as jpg or png. Alpha transparency is supported for sprites. To avoid color banding, decrease the color depth of the images to 5bits/pixel and use dithering (png doesn't support 5bits/pixel, so store them in 8bits/pixel instead). For background images you should also make sure that they're 256x192 in size. Sound: Sound effects should be encoded in aac. use sound conversion tool included with vnds