List of commits:
Subject Hash Author Date (UTC)
Add CSL comments 7a818e8b57cb38c9bfef922e66bd6f735b4962e4 mse 2021-09-12 09:26:07
Add Confectioner Scripting Language (CSL) & change array separator to ; 8d980bfac5d649574f749b7c04a19af766f71091 mse 2021-09-11 12:31:58
Fix console /set bug 7c45e27e7f40472bea317b0316e4367135b49704 mse 2021-09-11 01:32:11
Scriptable lines@, ids@, bugfix 9f606fd2a793fd76a9d1b9e186434d231b973085 mse 2021-09-10 14:43:50
Add array scripting (@ operator, ARRLEN <array>) 3f098b3e0a04922c2c7a981b232efd8d08a8d9a0 mse 2021-09-10 14:02:39
Optimize script runtime a298b01c9b77192b7ed8aba3832a8ab51c9d389a mse 2021-09-09 06:57:49
Scriptable bg$, fg$, caption$ 0ad08aa3887118d2376f4fa7f8b7c66e0f164c73 mse 2021-09-06 11:04:38
Animation command: ANIM <loop|play> <bg|fg> <fps> <directory> 6066e2cae1dc29043902d46549f443c7b683fd88 mse 2021-09-06 06:42:13
Switch to C++17 489987b1b2749f37e0ac76594308635affbd24f2 mse 2021-09-05 10:51:02
Fix stats synchronization bug 3b6195c3321a6f10af43839cc00d24f301eddb3e mse 2021-09-05 04:45:58
Add top-level command: STRLEN, scriptable player name$ ec7a623cdc98b9832f35f0beb3e45179e6094436 mse 2021-09-05 03:17:47
Start work on animation system d2aafd6f46c719342054e3f256f972f4917f2231 mse 2021-09-05 02:41:28
Add string scripting with $ operator 20034a2b658ee8ad4f2082c44301c231b0323fc7 mse 2021-09-03 10:20:55
Enhance console /set command to support operators 61032844fcb833f04e2f6d1e123f8f0f89333107 mse 2021-09-02 11:06:00
Add scriptable bribing & remove hard-coded karma increment 41b4d79da6331b4b1ffd96f36ae1b032a869b482 mse 2021-08-31 17:51:29
Add floor operator (_) 819304b561d474e962afa7397ef68ffae83e8649 mse 2021-08-31 13:49:57
Switch inventories and stats to floating-point c6e4142e664648ca8f4aa913b48526093c985987 mse 2021-08-31 13:35:20
Switch scripting to floating-point & code comments eb067496f4edb4420c05a09dc034ad0a25ad1e56 mse 2021-08-31 11:06:01
Add top-level command: GOSUB 62e9520aec0471fe023ead290595f735a30eb806 mse 2021-08-26 09:31:27
Add persistent VN stats 2d1ffc35afd8ae0f477cbd5aac0559fc02571600 mse 2021-08-23 10:44:16
Commit 7a818e8b57cb38c9bfef922e66bd6f735b4962e4 - Add CSL comments
Author: mse
Author date (UTC): 2021-09-12 09:26
Committer name: mse
Committer date (UTC): 2021-09-12 09:26
Parent(s): 8d980bfac5d649574f749b7c04a19af766f71091
Signing key:
Tree: f462477126ef98afcb86aceec8957fbbeee69b25
File Lines added Lines deleted
base/dialogue_en/init.csl 10 0
base/dialogue_en/init.json 1 2
include/dialogue.h 1 0
File base/dialogue_en/init.csl changed (mode: 100644) (index 632ef04..f925609)
1 #!/bin/confec could be a thing to put here.
2
3 # The [init] line is not required as the first ID defaults to init. It's only here for clarity.
1 4 [init] [init]
5 # bg$:black is a quirky special case to make the background black. There is no bg$:white or bg$:green, but you can do bg$:image.png
2 6 bg$:black bg$:black
7 # This "Game not found" message refers to the fact that the "game" folder overrides the "base" folder (and this file), and the "game" folder is where you can put proprietary media.
3 8 caption$:Game not found. caption$:Game not found.
9 # "Test Controller Rumble" lines up with "rumble", and "Quit" lines up with "quit", in terms of array indices. lines@ and ids@ form value-key pairs for dialogue menus.
4 10 lines@:Test Controller Rumble;Quit lines@:Test Controller Rumble;Quit
5 11 ids@:rumble;quit ids@:rumble;quit
6 12
13 # When we run the rumble ID, its bg$, fg$, caption$, lines@, and ids@ are first reset, in this case making a blank screen because they are all empty.
7 14 [rumble] [rumble]
15 # Make the first controller rumble at full power for 500 milliseconds.
8 16 :CALLBACK #RUMBLE 1.0 500 :CALLBACK #RUMBLE 1.0 500
17 # We need this GOSUB init part or the dialogue terminates, taking the game down with it.
9 18 :GOSUB init :GOSUB init
10 19
11 20 [quit] [quit]
21 # Graceful shutdown.
12 22 :CALLBACK QUIT :CALLBACK QUIT
File base/dialogue_en/init.json changed (mode: 100644) (index a6b197b..6d66583)
1 1 { {
2 2 // init.json is currently the main entry point. CSL must be bootstrapped. // init.json is currently the main entry point. CSL must be bootstrapped.
3 // When CSL supports comments and array indexing, init.csl can be loaded
4 // first instead.
3 // When CSL supports array indexing, init.csl can be loaded first instead.
5 4 "init": { "init": {
6 5 "exec": { "void": "GOSUB init.csl" } "exec": { "void": "GOSUB init.csl" }
7 6 } }
File include/dialogue.h changed (mode: 100755) (index 9486a26..ee7c2a7)
... ... int Talk::parseCSL( std::string &text ){
304 304 Screen *screen_ptr = GetScreenPointer( "init" ); Screen *screen_ptr = GetScreenPointer( "init" );
305 305
306 306 auto Lex = [&]( std::string line ){ auto Lex = [&]( std::string line ){
307 if( line.length() && line[0] == '#' ) return;
307 308 if( line.length() >= 2 && line[0] == '[' ){ if( line.length() >= 2 && line[0] == '[' ){
308 309 line.erase( 0, 1 ); line.erase( 0, 1 );
309 310 size_t bracket_at = line.find_last_of( ']' ); size_t bracket_at = line.find_last_of( ']' );
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/mse/ConfectionerEngine

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/mse/ConfectionerEngine

Clone this repository using git:
git clone git://git.rocketgit.com/user/mse/ConfectionerEngine

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main