@ 0.1 / This is a comment. All lines start with / are comments and will be ignored. / A line that does not start with a valid symbol will also be ignored. / A valid symbol is consisted with a single ASCII character followed by a ACSII space. / A special symbol will be ${...} which is the place holder. It will be replaced during the parse phase. Use \${...} to escape. / !(exclamation mark) is a initialization which create a JSON object for the Stage. Adjacent rows with ! will be combined. / ! should be unique for each tsl file ! { ! "box": { ! "size": [500, 100], ! "position": [0, 0, 1], ! "color": [255, 255, 255, 128], ! "border": "fancy_border" ! }, ! "speaker": "${character_1_name} & ${character_2_name}", ! "text": { ! "font": "kosugi_maru-regular-normal", ! "size": 12, ! "color": [255, 0, 0, 0], ! "speed": 5 ! }, ! "bgm": { ! "file": "tense", ! "loop": true ! }, ! "bgs": { ! "file": "splash", ! "loop": true ! }, ! "voice": { ! "file": "1-1" ! }, ! "stand": [ ! { "id": 1, "variation": "neutral", "size": [10, 100], "position": [50, 0, 1] }, ! { "id": 2, "variation": "angry", "size": [10, 100], "position": [100, 0, 1] } ! ], ! "cg": { ! "file": "try_me", ! "size": [${window_width}, ${window_height}], ! "position": [0, 0, 10] ! } ! } / <(less than) is an operator to modify Stage. < box["size"]= [600, 200] < stand[0]["variation"] = "sad" < cg = null / >(greater than) is an operator to output a section of a line. > I will never surrender, ${character_2_name}! You can never get the orb with your evil mind! / *(asterisk) is an operator to delay the script. * 15 / #(hash) is an operator to end a line. #