Subject | Hash | Author | Date (UTC) |
---|---|---|---|
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 |
Bribes increase karma | 643f0fc6da65316aa799bbe00cea2030e2c1ccd6 | mse | 2021-08-17 08:16:36 |
Add command: #RUMBLE <intensity> <milliseconds> | 02964b2ecc57a48192522ef369e33c4912d2f0d2 | mse | 2021-08-16 07:17:40 |
Reset position in non-mouse menu selection | c21eb6a9d238fa1909dbbbc49907ad09bfca52c8 | mse | 2021-08-16 03:30:49 |
File | Lines added | Lines deleted |
---|---|---|
confec.cpp | 10 | 3 |
include/dialogue.h | 14 | 3 |
File confec.cpp changed (mode: 100644) (index c4db620..60af132) | |||
... | ... | int main( int argc, char* argv[] ){ | |
1308 | 1308 | DeleteAllUserFiles(); | DeleteAllUserFiles(); |
1309 | 1309 | convo.numbers.clear(); | convo.numbers.clear(); |
1310 | 1310 | convo.strings.clear(); | convo.strings.clear(); |
1311 | convo.arrays.clear(); | ||
1311 | 1312 | InitSettings(); | InitSettings(); |
1312 | 1313 | recipes = {}; | recipes = {}; |
1313 | 1314 | return 0.0; | return 0.0; |
... | ... | void Render(){ | |
4857 | 4858 | } | } |
4858 | 4859 | }else if( key.back() == '@' ){ | }else if( key.back() == '@' ){ |
4859 | 4860 | key.resize( key.length() - 1 ); | key.resize( key.length() - 1 ); |
4860 | auto it = convo.arrays.find( key ); | ||
4861 | if( it != convo.arrays.end() ) | ||
4862 | result = convo.stringifyArray( it->second ); | ||
4861 | if( key == "lines" ){ | ||
4862 | result = convo.stringifyArray( convo.screen.lines ); | ||
4863 | }else if( key == "ids" ){ | ||
4864 | result = convo.stringifyArray( convo.screen.ids ); | ||
4865 | }else{ | ||
4866 | auto it = convo.arrays.find( key ); | ||
4867 | if( it != convo.arrays.end() ) | ||
4868 | result = convo.stringifyArray( it->second ); | ||
4869 | } | ||
4863 | 4870 | }else{ | }else{ |
4864 | 4871 | result = convo.stringifyNumber( convo.getVariable( key ) ); | result = convo.stringifyNumber( convo.getVariable( key ) ); |
4865 | 4872 | } | } |
File include/dialogue.h changed (mode: 100755) (index 2e70e69..61525e2) | |||
... | ... | void Talk::operate( Operation o ){ | |
360 | 360 | off = 0; | off = 0; |
361 | 361 | } | } |
362 | 362 | it->second.push_back( o.valueKey.substr( start ) ); | it->second.push_back( o.valueKey.substr( start ) ); |
363 | if( o.key == "lines" ){ | ||
364 | screen.lines = it->second; | ||
365 | }else if( o.key == "ids" ){ | ||
366 | screen.ids = it->second; | ||
367 | } | ||
363 | 368 | return; | return; |
364 | 369 | } | } |
365 | 370 | // Numerical operations. | // Numerical operations. |
... | ... | void Talk::transformString( std::string &str ){ | |
421 | 426 | } | } |
422 | 427 | }else if( key.back() == '@' ){ | }else if( key.back() == '@' ){ |
423 | 428 | key.resize( key.length() - 1 ); | key.resize( key.length() - 1 ); |
424 | auto it = arrays.find( key ); | ||
425 | if( it != arrays.end() ) | ||
426 | outStr += stringifyArray( it->second ); | ||
429 | if( key == "lines" ){ | ||
430 | outStr += stringifyArray( screen.lines ); | ||
431 | }else if( key == "ids" ){ | ||
432 | outStr += stringifyArray( screen.ids ); | ||
433 | }else{ | ||
434 | auto it = arrays.find( key ); | ||
435 | if( it != arrays.end() ) | ||
436 | outStr += stringifyArray( it->second ); | ||
437 | } | ||
427 | 438 | }else{ | }else{ |
428 | 439 | outStr += stringifyNumber( getVariable( key ) ); | outStr += stringifyNumber( getVariable( key ) ); |
429 | 440 | } | } |