lay the foundation for interpreted scripts

This commit is contained in:
2025-09-22 16:24:58 -05:00
parent 32571c656e
commit 218ee05167
8 changed files with 361 additions and 194 deletions

View File

@@ -1,6 +1,6 @@
# @install: lix --silent download "git:https://k7izh9.gitea.cloud/kiss-lang/hollywoo#cc261b3a72b6b4d3512486bc3be6aaf4f0683562" into hollywoo/0.0.0/git/cc261b3a72b6b4d3512486bc3be6aaf4f0683562
# @run: haxelib run-dir hollywoo "${HAXE_LIBCACHE}/hollywoo/0.0.0/git/cc261b3a72b6b4d3512486bc3be6aaf4f0683562"
# @install: lix --silent download "git:https://k7izh9.gitea.cloud/kiss-lang/hollywoo#4916a6d24ec836f3e9c766b0771099aa278048d5" into hollywoo/0.0.0/git/4916a6d24ec836f3e9c766b0771099aa278048d5
# @run: haxelib run-dir hollywoo "${HAXE_LIBCACHE}/hollywoo/0.0.0/git/4916a6d24ec836f3e9c766b0771099aa278048d5"
-lib kiss
-lib kiss-tools
-cp ${HAXE_LIBCACHE}/hollywoo/0.0.0/git/cc261b3a72b6b4d3512486bc3be6aaf4f0683562/src/
-cp ${HAXE_LIBCACHE}/hollywoo/0.0.0/git/4916a6d24ec836f3e9c766b0771099aa278048d5/src/
-D hollywoo=0.0.0

View File

@@ -1,4 +1,4 @@
# @install: lix --silent download "git:https://k7izh9.gitea.cloud/kiss-lang/kiss-flixel#454f39781eb3afcc71181aa2088a017660fcee4f" into kiss-flixel/0.0.0/git/454f39781eb3afcc71181aa2088a017660fcee4f
# @install: lix --silent download "git:https://k7izh9.gitea.cloud/kiss-lang/kiss-flixel#81dd066ebe275c5a6aab49d0aef8ac63068322a7" into kiss-flixel/0.0.0/git/81dd066ebe275c5a6aab49d0aef8ac63068322a7
-lib flixel
-lib flixel-addons
-lib flixel-ui
@@ -6,6 +6,6 @@
-lib kiss-tools
-lib lime
-lib openfl
-cp ${HAXE_LIBCACHE}/kiss-flixel/0.0.0/git/454f39781eb3afcc71181aa2088a017660fcee4f/src/
-cp ${HAXE_LIBCACHE}/kiss-flixel/0.0.0/git/81dd066ebe275c5a6aab49d0aef8ac63068322a7/src/
-D kiss-flixel=0.0.0
--macro kiss_flixel.ShaderFrontend.use()

View File

@@ -1,4 +1,4 @@
# @install: lix --silent download "git:https://k7izh9.gitea.cloud/kiss-lang/kiss-tools#5a19e61489e61cdc721af4b44584b642b25b6ad2" into kiss-tools/0.0.0/git/5a19e61489e61cdc721af4b44584b642b25b6ad2
# @install: lix --silent download "git:https://k7izh9.gitea.cloud/kiss-lang/kiss-tools#e1323fb0b64ef3532bce137d128aa2fb62e26329" into kiss-tools/0.0.0/git/e1323fb0b64ef3532bce137d128aa2fb62e26329
-lib kiss
-cp ${HAXE_LIBCACHE}/kiss-tools/0.0.0/git/5a19e61489e61cdc721af4b44584b642b25b6ad2/src/
-cp ${HAXE_LIBCACHE}/kiss-tools/0.0.0/git/e1323fb0b64ef3532bce137d128aa2fb62e26329/src/
-D kiss-tools=0.0.0

View File

@@ -1,12 +1,12 @@
# @install: lix --silent download "git:https://k7izh9.gitea.cloud/kiss-lang/kiss#84b09821f2f2e4b055038af3609170fbdf71cbd9" into kiss/0.0.1/git/84b09821f2f2e4b055038af3609170fbdf71cbd9
# @run: haxelib run-dir kiss "${HAXE_LIBCACHE}/kiss/0.0.1/git/84b09821f2f2e4b055038af3609170fbdf71cbd9"
# @install: lix --silent download "git:https://k7izh9.gitea.cloud/kiss-lang/kiss#5da754d5ab24b69afefee18cf3b464bd80896d2c" into kiss/0.0.1/git/5da754d5ab24b69afefee18cf3b464bd80896d2c
# @run: haxelib run-dir kiss "${HAXE_LIBCACHE}/kiss/0.0.1/git/5da754d5ab24b69afefee18cf3b464bd80896d2c"
-lib haxe-strings
-lib hscript
-lib tink_json
-lib tink_macro
-lib tink_syntaxhub
-lib uuid
-cp ${HAXE_LIBCACHE}/kiss/0.0.1/git/84b09821f2f2e4b055038af3609170fbdf71cbd9/src
-cp ${HAXE_LIBCACHE}/kiss/0.0.1/git/5da754d5ab24b69afefee18cf3b464bd80896d2c/src
-D kiss=0.0.1
-w -WUnusedPattern
--macro kiss.KissFrontend.use()

View File

@@ -70,14 +70,14 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
public static var lastSceneLabels(get,set):Map<String,String>;
public static function get_lastSceneLabels():Map<String,String> return {
if (Prelude.truthy({
final _6W7oc3M6xwrzSHgtjRALx:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
final _9hKvHu2hUrbv3SBdbUpF5v:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
{
if (Prelude.truthy(_6W7oc3M6xwrzSHgtjRALx)) {
final _paW4tq9PLe9Wnrm8TQejiF:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
if (Prelude.truthy(_9hKvHu2hUrbv3SBdbUpF5v)) {
final _riVPNGq5L9ms51ZA9jEmZS:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
{
_paW4tq9PLe9Wnrm8TQejiF;
_riVPNGq5L9ms51ZA9jEmZS;
};
} else _6W7oc3M6xwrzSHgtjRALx;
} else _9hKvHu2hUrbv3SBdbUpF5v;
};
})) {
final content = sys.io.File.getContent(".FlxDirector.json"); final json:haxe.DynamicAccess<String> = haxe.Json.parse(content);
@@ -93,14 +93,14 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
}
public static function set_lastSceneLabels(v:Map<String,String>):Map<String,String> return {
if (Prelude.truthy({
final _jPTpPcp7jmu7tzTUYWrQQc:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
final _kCpwNaA1sswtR4d9pnGo2w:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
{
if (Prelude.truthy(_jPTpPcp7jmu7tzTUYWrQQc)) {
final _nPhEdyFWZ4rZ8d6RyFKc4a:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
if (Prelude.truthy(_kCpwNaA1sswtR4d9pnGo2w)) {
final _qx4G79pPJYE1sSZBKwb4dn:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
{
_nPhEdyFWZ4rZ8d6RyFKc4a;
_qx4G79pPJYE1sSZBKwb4dn;
};
} else _jPTpPcp7jmu7tzTUYWrQQc;
} else _kCpwNaA1sswtR4d9pnGo2w;
};
})) {
final content = sys.io.File.getContent(".FlxDirector.json"); final json:haxe.DynamicAccess<String> = haxe.Json.parse(content);
@@ -125,23 +125,23 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
final clazz = Type.getClass(m); final className = Type.getClassName(clazz); final currentValue = lastSceneLabels[className];
{
if (Prelude.truthy(setValue)) {
var _SX9opsn5u2RiebhKMwn4Q = null;
var _LwE7WQ8xCSjTZX9eL89X3 = null;
{
final _bzq1GRmrvxLtdK6qNgovzc = lastSceneLabels;
final _aBFqSx82qmFZyq6f2AsxNB = lastSceneLabels;
{
{
final lastSceneLabels = _bzq1GRmrvxLtdK6qNgovzc;
final lastSceneLabels = _aBFqSx82qmFZyq6f2AsxNB;
{
_SX9opsn5u2RiebhKMwn4Q = {
_LwE7WQ8xCSjTZX9eL89X3 = {
lastSceneLabels[className] = setValue;
setValue;
};
};
};
lastSceneLabels = _bzq1GRmrvxLtdK6qNgovzc;
lastSceneLabels = _aBFqSx82qmFZyq6f2AsxNB;
};
};
_SX9opsn5u2RiebhKMwn4Q;
_LwE7WQ8xCSjTZX9eL89X3;
} else currentValue;
};
};
@@ -151,7 +151,7 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
if (Prelude.truthy(movie.labelRunners().exists(lastSceneForMovie(movie)))) {
_chooseString((Prelude.add("Resume from \'", Std.string(lastSceneForMovie(movie)), "\'?") : String), new kiss.List(["", "Resume", "Scene Selection", "Start From Beginning"]), function(choice) return {
switch choice {
case _617WXvvCkdW32Xvuq2qj3V if (Prelude.truthy(Prelude.isNull(_617WXvvCkdW32Xvuq2qj3V))):{
case _5R46aB6C3MGce2FEJQK3yM if (Prelude.truthy(Prelude.isNull(_5R46aB6C3MGce2FEJQK3yM))):{
{
throw kiss.Prelude.runtimeInsertAssertionMessage("case should never match pattern otherwise", "/Users/nat/repos/hollywoo-flixel/src/hollywoo_flixel/FlxDirector.kiss:37:37: Assertion failed: \nFrom:[(never otherwise)]", 4);
};
@@ -188,8 +188,8 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
continueAction = new FlxActionDigital("Continue", onContinue);
fastForwardAction = new FlxActionDigital("Fast Forward");
{
for (_eUF74RxfWgTRE11hKzounJ in (Prelude.zipThrow(new kiss.List([continueAction, fastForwardAction]), new kiss.List([JUST_PRESSED, PRESSED])) : Array<Array<Dynamic>>)) {
final _aVq547xCteR7EUauCrhrPz = _eUF74RxfWgTRE11hKzounJ; final action:FlxActionDigital = _aVq547xCteR7EUauCrhrPz[0]; final trigger:FlxInputState = _aVq547xCteR7EUauCrhrPz[1];
for (_aLebU1T9ZaYCGtrgqRhDFT in (Prelude.zipThrow(new kiss.List([continueAction, fastForwardAction]), new kiss.List([JUST_PRESSED, PRESSED])) : Array<Array<Dynamic>>)) {
final _nNGXZHmcEHW9KAkt1GHnLW = _aLebU1T9ZaYCGtrgqRhDFT; final action:FlxActionDigital = _nNGXZHmcEHW9KAkt1GHnLW[0]; final trigger:FlxInputState = _nNGXZHmcEHW9KAkt1GHnLW[1];
{
action.addKey(SPACE, trigger);
action.addKey(ENTER, trigger);
@@ -230,13 +230,13 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
flixel.FlxG.inputs.remove(actionManager);
flixel.FlxG.state.forEach(function(child) {
{
final _o1XPzXbMUi7vUHJopcrWWr:Dynamic = child;
final _jEfb9Jpe2zo6aExCFmUBvs:Dynamic = child;
{
switch [_o1XPzXbMUi7vUHJopcrWWr] {
switch [_jEfb9Jpe2zo6aExCFmUBvs] {
case [typeText] if (Prelude.truthy({
final _rtENsGZMybv2tJywnB77qW:Dynamic = Std.isOfType(typeText, FlxTypeText);
final _erZ8KNLDwPn25LyzhaKu4L:Dynamic = Std.isOfType(typeText, FlxTypeText);
{
_rtENsGZMybv2tJywnB77qW;
_erZ8KNLDwPn25LyzhaKu4L;
};
})):{
{
@@ -257,9 +257,9 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
};
};
case [sprite] if (Prelude.truthy({
final _ifSszrSzTTetFuNMcTSNWe:Dynamic = Std.isOfType(sprite, flixel.FlxSprite);
final _p4hQ3FrJtVvnMMe9i6z7LD:Dynamic = Std.isOfType(sprite, flixel.FlxSprite);
{
_ifSszrSzTTetFuNMcTSNWe;
_p4hQ3FrJtVvnMMe9i6z7LD;
};
})):{
{
@@ -294,7 +294,7 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
{
for (sound in sounds) {
{
final _iJBDB1tSirJjnGNwYFGyBh = currentSoundVolumes[sound]; final original = _iJBDB1tSirJjnGNwYFGyBh[0]; final mod = _iJBDB1tSirJjnGNwYFGyBh[1];
final _oH1PjucqwQM3RVdEEqMLoR = currentSoundVolumes[sound]; final original = _oH1PjucqwQM3RVdEEqMLoR[0]; final mod = _oH1PjucqwQM3RVdEEqMLoR[1];
{
sound.volume = Prelude.multiply(original, mod, newVolume);
sound.resume();
@@ -311,13 +311,13 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
flixel.FlxG.inputs.add(actionManager);
flixel.FlxG.state.forEach(function(child) {
{
final _j72KdftHEEEPpoA3n11iN9:Dynamic = child;
final _391XZeeFVEjTpfm4tTR8tZ:Dynamic = child;
{
switch [_j72KdftHEEEPpoA3n11iN9] {
switch [_391XZeeFVEjTpfm4tTR8tZ] {
case [typeText] if (Prelude.truthy({
final _9Yyfs3NYkM4fLC1FY5J9mE:Dynamic = Std.isOfType(typeText, FlxTypeText);
final _ckkEcyoFdq7dHA66GakX1F:Dynamic = Std.isOfType(typeText, FlxTypeText);
{
_9Yyfs3NYkM4fLC1FY5J9mE;
_ckkEcyoFdq7dHA66GakX1F;
};
})):{
{
@@ -338,9 +338,9 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
};
};
case [sprite] if (Prelude.truthy({
final _pLZABAG1W6om7BARxfKwFc:Dynamic = Std.isOfType(sprite, flixel.FlxSprite);
final _meotBEeSv7Nm7MSN45vToZ:Dynamic = Std.isOfType(sprite, flixel.FlxSprite);
{
_pLZABAG1W6om7BARxfKwFc;
_meotBEeSv7Nm7MSN45vToZ;
};
})):{
{
@@ -413,7 +413,7 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
{
chooseString("PAUSED", choices, function(choice) {
switch choice {
case _2Z6Vm3wGYSJbgVpy4A28AM if (Prelude.truthy(Prelude.isNull(_2Z6Vm3wGYSJbgVpy4A28AM))):{
case _9yHH9GDNaBYqGN1AT9hUc7 if (Prelude.truthy(Prelude.isNull(_9yHH9GDNaBYqGN1AT9hUc7))):{
{
throw kiss.Prelude.runtimeInsertAssertionMessage("case should never match pattern otherwise", "/Users/nat/repos/hollywoo-flixel/src/hollywoo_flixel/FlxDirector.kiss:214:25: Assertion failed: \nFrom:[(never otherwise)]", 4);
};
@@ -478,7 +478,7 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
}
public static function specialTypesSpeakerName(name:String, type:SpeechType<hollywoo_flixel.ActorFlxSprite>) return {
switch type {
case _eRMU5rHn3TJidmo7ih2sYC if (Prelude.truthy(Prelude.isNull(_eRMU5rHn3TJidmo7ih2sYC))):{
case _5qUDuLanjwQ5bE987hMqVG if (Prelude.truthy(Prelude.isNull(_5qUDuLanjwQ5bE987hMqVG))):{
{
name;
};
@@ -528,7 +528,7 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
{
for (element in history) {
switch element {
case _9pJLKSjq4M4pjhGb5scbG3 if (Prelude.truthy(Prelude.isNull(_9pJLKSjq4M4pjhGb5scbG3))):{
case _2LzuCzjpF7QnU92d19WqFp if (Prelude.truthy(Prelude.isNull(_2LzuCzjpF7QnU92d19WqFp))):{
{
throw kiss.Prelude.runtimeInsertAssertionMessage("case should never match pattern otherwise", "/Users/nat/repos/hollywoo-flixel/src/hollywoo_flixel/FlxDirector.kiss:265:17: Assertion failed: \nFrom:[(never otherwise)]", 4);
};
@@ -582,7 +582,7 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
null;
};
switch appearance {
case _jJAjmMFqPa5wDrrpneq6kS if (Prelude.truthy(Prelude.isNull(_jJAjmMFqPa5wDrrpneq6kS))):{
case _78XS4bENMcPVPhETc9UzHy if (Prelude.truthy(Prelude.isNull(_78XS4bENMcPVPhETc9UzHy))):{
{ };
};
case FirstAppearance:{
@@ -596,14 +596,14 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
default:{ };
};
{
final _m38YRZvcSKtBEYJtdzPU2 = skySprites[time];
final _gGEupUGcmkLAzJjC1HQwcF = skySprites[time];
{
if (Prelude.truthy(Prelude.isNotNull(_m38YRZvcSKtBEYJtdzPU2))) switch _m38YRZvcSKtBEYJtdzPU2 {
case _efqkK39jDQ2NDcM46YakHS if (Prelude.truthy(Prelude.isNull(_efqkK39jDQ2NDcM46YakHS))):{
if (Prelude.truthy(_gGEupUGcmkLAzJjC1HQwcF)) switch _gGEupUGcmkLAzJjC1HQwcF {
case _hr5LGZaHN1S6nV51PYdAft if (Prelude.truthy(Prelude.isNull(_hr5LGZaHN1S6nV51PYdAft))):{
{
{
final skyColor = switch time {
case _5ahuwW2JMWjKs8p2SDJn4u if (Prelude.truthy(Prelude.isNull(_5ahuwW2JMWjKs8p2SDJn4u))):{
case _kmokpom4MnxXKu7kXXTfsV if (Prelude.truthy(Prelude.isNull(_kmokpom4MnxXKu7kXXTfsV))):{
{
{
throw kiss.Prelude.runtimeInsertAssertionMessage("case should never match pattern null", "/Users/nat/repos/hollywoo-flixel/src/hollywoo_flixel/FlxDirector.kiss:310:29: Assertion failed: \nFrom:[(never null)]", 4);
@@ -653,7 +653,7 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
default:{
{
final skyColor = switch time {
case _5ahuwW2JMWjKs8p2SDJn4u if (Prelude.truthy(Prelude.isNull(_5ahuwW2JMWjKs8p2SDJn4u))):{
case _kmokpom4MnxXKu7kXXTfsV if (Prelude.truthy(Prelude.isNull(_kmokpom4MnxXKu7kXXTfsV))):{
{
throw kiss.Prelude.runtimeInsertAssertionMessage("case should never match pattern null", "/Users/nat/repos/hollywoo-flixel/src/hollywoo_flixel/FlxDirector.kiss:310:29: Assertion failed: \nFrom:[(never null)]", 4);
};
@@ -676,7 +676,7 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
};
} else {
final skyColor = switch time {
case _hEhdXznuetkpvxUVePW6WV if (Prelude.truthy(Prelude.isNull(_hEhdXznuetkpvxUVePW6WV))):{
case _u1QiQHnD31gEJs7wBSjTou if (Prelude.truthy(Prelude.isNull(_u1QiQHnD31gEJs7wBSjTou))):{
{
throw kiss.Prelude.runtimeInsertAssertionMessage("case should never match pattern null", "/Users/nat/repos/hollywoo-flixel/src/hollywoo_flixel/FlxDirector.kiss:310:29: Assertion failed: \nFrom:[(never null)]", 4);
};
@@ -776,14 +776,14 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
private static var _textColor(get,set):Int;
public static function get__textColor():Int return {
if (Prelude.truthy({
final _jDr6ZMgCi25NnpErbKzUpb:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
final _j2qeHvvTjmH83iEV9LNfiD:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
{
if (Prelude.truthy(_jDr6ZMgCi25NnpErbKzUpb)) {
final _n9nkDuzcfnmT8e7qm4xBsN:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
if (Prelude.truthy(_j2qeHvvTjmH83iEV9LNfiD)) {
final _wyDgrpBsjS9X1zT2gipWGt:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
{
_n9nkDuzcfnmT8e7qm4xBsN;
_wyDgrpBsjS9X1zT2gipWGt;
};
} else _jDr6ZMgCi25NnpErbKzUpb;
} else _j2qeHvvTjmH83iEV9LNfiD;
};
})) {
final content = sys.io.File.getContent(".FlxDirector.json"); final json:haxe.DynamicAccess<String> = haxe.Json.parse(content);
@@ -799,14 +799,14 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
}
public static function set__textColor(v:Int):Int return {
if (Prelude.truthy({
final _raUZwprrfYdfYmdSWKHcbf:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
final _5BcNGbQUGin2tJEXM3JUHP:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
{
if (Prelude.truthy(_raUZwprrfYdfYmdSWKHcbf)) {
final _qXAwGhnjrJZaNCn8vVnDtE:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
if (Prelude.truthy(_5BcNGbQUGin2tJEXM3JUHP)) {
final _8HN4HHfhZ4WkS4LmfdXvC6:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
{
_qXAwGhnjrJZaNCn8vVnDtE;
_8HN4HHfhZ4WkS4LmfdXvC6;
};
} else _raUZwprrfYdfYmdSWKHcbf;
} else _5BcNGbQUGin2tJEXM3JUHP;
};
})) {
final content = sys.io.File.getContent(".FlxDirector.json"); final json:haxe.DynamicAccess<String> = haxe.Json.parse(content);
@@ -833,14 +833,14 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
private static var _buttonColor(get,set):Int;
public static function get__buttonColor():Int return {
if (Prelude.truthy({
final _6xcsxyuCK4jbsVVuSjgchQ:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
final _aCCaTNgXwMY94mPYhtrwwV:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
{
if (Prelude.truthy(_6xcsxyuCK4jbsVVuSjgchQ)) {
final _hg1UAJNcpLLxk7wSFULDkU:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
if (Prelude.truthy(_aCCaTNgXwMY94mPYhtrwwV)) {
final _o1GxWNfF9jEinp7kkknHSF:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
{
_hg1UAJNcpLLxk7wSFULDkU;
_o1GxWNfF9jEinp7kkknHSF;
};
} else _6xcsxyuCK4jbsVVuSjgchQ;
} else _aCCaTNgXwMY94mPYhtrwwV;
};
})) {
final content = sys.io.File.getContent(".FlxDirector.json"); final json:haxe.DynamicAccess<String> = haxe.Json.parse(content);
@@ -856,14 +856,14 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
}
public static function set__buttonColor(v:Int):Int return {
if (Prelude.truthy({
final _oSmY69NbN9q7n7Kn2YA3g7:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
final _9Bhv41bQe32KGioPH6G4fe:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
{
if (Prelude.truthy(_oSmY69NbN9q7n7Kn2YA3g7)) {
final _rSz6cZJ42ySePRtrkwgFvm:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
if (Prelude.truthy(_9Bhv41bQe32KGioPH6G4fe)) {
final _ng74EyU7ZN4w45ifvHi1vv:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
{
_rSz6cZJ42ySePRtrkwgFvm;
_ng74EyU7ZN4w45ifvHi1vv;
};
} else _oSmY69NbN9q7n7Kn2YA3g7;
} else _9Bhv41bQe32KGioPH6G4fe;
};
})) {
final content = sys.io.File.getContent(".FlxDirector.json"); final json:haxe.DynamicAccess<String> = haxe.Json.parse(content);
@@ -890,14 +890,14 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
private static var _disabledButtonColor(get,set):Int;
public static function get__disabledButtonColor():Int return {
if (Prelude.truthy({
final _sRcg5n7eSMaKmiMrD3MSQP:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
final _jdkEqCEBhDfGTZAXwv4Za9:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
{
if (Prelude.truthy(_sRcg5n7eSMaKmiMrD3MSQP)) {
final _3a2aC4G3MnVmVusg3i1NKq:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
if (Prelude.truthy(_jdkEqCEBhDfGTZAXwv4Za9)) {
final _bQmuDU3EQsiMvrkUBBzGtk:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
{
_3a2aC4G3MnVmVusg3i1NKq;
_bQmuDU3EQsiMvrkUBBzGtk;
};
} else _sRcg5n7eSMaKmiMrD3MSQP;
} else _jdkEqCEBhDfGTZAXwv4Za9;
};
})) {
final content = sys.io.File.getContent(".FlxDirector.json"); final json:haxe.DynamicAccess<String> = haxe.Json.parse(content);
@@ -913,14 +913,14 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
}
public static function set__disabledButtonColor(v:Int):Int return {
if (Prelude.truthy({
final _cDv7bnnwE3shZUFTkVUGAB:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
final _qpgatGfFjLvDi2e9WfwdqZ:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
{
if (Prelude.truthy(_cDv7bnnwE3shZUFTkVUGAB)) {
final _4sGDGJsrd3G3bWGiw2JiP8:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
if (Prelude.truthy(_qpgatGfFjLvDi2e9WfwdqZ)) {
final _h8TzKN2i91QAcaxSbhKxno:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
{
_4sGDGJsrd3G3bWGiw2JiP8;
_h8TzKN2i91QAcaxSbhKxno;
};
} else _cDv7bnnwE3shZUFTkVUGAB;
} else _qpgatGfFjLvDi2e9WfwdqZ;
};
})) {
final content = sys.io.File.getContent(".FlxDirector.json"); final json:haxe.DynamicAccess<String> = haxe.Json.parse(content);
@@ -946,12 +946,12 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
}
private function _chooseString(prompt:String, choices:Array<String>, submit:(String)->Void, ?xButton:Bool, ?xKey:String):Void {
pauseMenu = kiss_flixel.SimpleWindow.promptForChoiceV2(prompt, choices, submit, { bgColor : flixel.util.FlxColor.BLACK, titleColor : textColor, choiceColor : buttonColor, percentWidth : 0.8, percentHeight : 0.8, xButton : Prelude.truthy(xButton), xKey : {
final _mnTZ1YNr7uyNWq9FyYbPpZ:Dynamic = xKey;
final _ee21z26qqKctMd9tRU1FVi:Dynamic = xKey;
{
if (Prelude.truthy(_mnTZ1YNr7uyNWq9FyYbPpZ)) _mnTZ1YNr7uyNWq9FyYbPpZ else {
final _gZcXRfQAt4K3PYbfGbuMB:Dynamic = "";
if (Prelude.truthy(_ee21z26qqKctMd9tRU1FVi)) _ee21z26qqKctMd9tRU1FVi else {
final _tzuzwTipiVeBY8qAm7hNmR:Dynamic = "";
{
_gZcXRfQAt4K3PYbfGbuMB;
_tzuzwTipiVeBY8qAm7hNmR;
};
};
};
@@ -1025,12 +1025,12 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
{
flixel.FlxG.state.remove(db, true);
submit(new StagePosition(point.x, point.y, {
final _UbZkAjDfTbkiejhXK44Gz:Dynamic = oldPos?.z;
final _vRFdiFMYZZphtvNu4wixwa:Dynamic = oldPos?.z;
{
if (Prelude.truthy(_UbZkAjDfTbkiejhXK44Gz)) _UbZkAjDfTbkiejhXK44Gz else {
final _fhU1rNbjdgVRrekQtEzSyA:Dynamic = 5.0;
if (Prelude.truthy(_vRFdiFMYZZphtvNu4wixwa)) _vRFdiFMYZZphtvNu4wixwa else {
final _xg1aT4uxGfi2GQVr3eLgMs:Dynamic = 5.0;
{
_fhU1rNbjdgVRrekQtEzSyA;
_xg1aT4uxGfi2GQVr3eLgMs;
};
};
};
@@ -1055,11 +1055,11 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
};
getNextPoint();
sh.registerItem("{enter} submit light source", {
var _oithV8EGnqtXJpLB6Ti4NL = false;
var _pgjXr4r4AM7jPYH3C5QuyY = false;
{
function(cc) return {
if (Prelude.truthy(!Prelude.truthy(_oithV8EGnqtXJpLB6Ti4NL))) {
_oithV8EGnqtXJpLB6Ti4NL = true;
if (Prelude.truthy(!Prelude.truthy(_pgjXr4r4AM7jPYH3C5QuyY))) {
_pgjXr4r4AM7jPYH3C5QuyY = true;
{
for (camera in flixel.FlxG.cameras.list) {
camera.zoom = 1;
@@ -1085,7 +1085,7 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
lightMask.makeGraphic(flixel.FlxG.width, flixel.FlxG.height, flixel.util.FlxColor.WHITE, true);
darkness = new flixel.FlxSprite();
darkColor = switch sceneTime {
case _sPojmCftDSYLvLVmPm6RXg if (Prelude.truthy(Prelude.isNull(_sPojmCftDSYLvLVmPm6RXg))):{
case _hudhayrnLchXyaufhXZkpi if (Prelude.truthy(Prelude.isNull(_hudhayrnLchXyaufhXZkpi))):{
{
flixel.util.FlxColor.TRANSPARENT;
};
@@ -1134,14 +1134,14 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
_hideDialog();
hideLighting();
if (Prelude.truthy({
final _8sNdXZfVQDyAiXKMvvn9ag:Dynamic = cast(movie, FlxMovie).sceneKey;
final _957kyaLWjho8LLaUzWYsjg:Dynamic = cast(movie, FlxMovie).sceneKey;
{
if (Prelude.truthy(_8sNdXZfVQDyAiXKMvvn9ag)) {
final _77AyGZuREndt4QskC2Cb9i:Dynamic = Prelude.lessThan(0, Lambda.count(cast(movie, FlxMovie).scenes));
if (Prelude.truthy(_957kyaLWjho8LLaUzWYsjg)) {
final _uiJvPEKUf8jjFS9xSwAG5b:Dynamic = Prelude.lessThan(0, Lambda.count(cast(movie, FlxMovie).scenes));
{
_77AyGZuREndt4QskC2Cb9i;
_uiJvPEKUf8jjFS9xSwAG5b;
};
} else _8sNdXZfVQDyAiXKMvvn9ag;
} else _957kyaLWjho8LLaUzWYsjg;
};
})) {
{
@@ -1178,10 +1178,10 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
restoreOriginalVolumes.clear();
while (true) {
{
final _seChw4YCNYyZ9cuShmcYB4 = currentSounds.pop();
final _hq5wwWYxMVGWpccw9bEFBM = currentSounds.pop();
{
if (Prelude.truthy(Prelude.isNotNull(_seChw4YCNYyZ9cuShmcYB4))) switch _seChw4YCNYyZ9cuShmcYB4 {
case _74jxHK5cJUpa4yWvMU8CYf if (Prelude.truthy(Prelude.isNull(_74jxHK5cJUpa4yWvMU8CYf))):{
if (Prelude.truthy(_hq5wwWYxMVGWpccw9bEFBM)) switch _hq5wwWYxMVGWpccw9bEFBM {
case _4PrKyRiSLQZApgNXgEcfqm if (Prelude.truthy(Prelude.isNull(_4PrKyRiSLQZApgNXgEcfqm))):{
{
break;
};
@@ -1201,10 +1201,10 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
currentSoundVolumes.clear();
while (true) {
{
final _xySDt6WjPQLj9Jpp8V9XWK = currentVoiceTracks.pop();
final _6nD4D2zokj228JT9ZuhV3w = currentVoiceTracks.pop();
{
if (Prelude.truthy(Prelude.isNotNull(_xySDt6WjPQLj9Jpp8V9XWK))) switch _xySDt6WjPQLj9Jpp8V9XWK {
case _cG53ZvUdA3JMwLnAFXLB39 if (Prelude.truthy(Prelude.isNull(_cG53ZvUdA3JMwLnAFXLB39))):{
if (Prelude.truthy(_6nD4D2zokj228JT9ZuhV3w)) switch _6nD4D2zokj228JT9ZuhV3w {
case _6Y2zRCYuV2C6sy8Mba15rt if (Prelude.truthy(Prelude.isNull(_6Y2zRCYuV2C6sy8Mba15rt))):{
{
break;
};
@@ -1238,10 +1238,10 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
}
public function showCharacter(character:Character<hollywoo_flixel.ActorFlxSprite>, appearance:Appearance, camera:flixel.FlxCamera, cc:Continuation):Void {
{
final _v6anR1vrz1C1LZ5eVXDUfB = appearance;
final _szeECTeeVUJJ1eTWuBX9Hg = appearance;
{
if (Prelude.truthy(Prelude.isNotNull(_v6anR1vrz1C1LZ5eVXDUfB))) switch _v6anR1vrz1C1LZ5eVXDUfB {
case _6Fum6NoxPirge3ox4L6yiT if (Prelude.truthy(Prelude.isNull(_6Fum6NoxPirge3ox4L6yiT))):{
if (Prelude.truthy(_szeECTeeVUJJ1eTWuBX9Hg)) switch _szeECTeeVUJJ1eTWuBX9Hg {
case _iqXe8LShYhpoJhVr9ET1ra if (Prelude.truthy(Prelude.isNull(_iqXe8LShYhpoJhVr9ET1ra))):{
{
null;
};
@@ -1299,10 +1299,10 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
public var nextCC:Null<Continuation>;
public function onContinue(continueAction:FlxActionDigital) return {
{
final _mc7ovV4JdbqCQPgGeC9WpE = nextCC;
final _ouyVJKoxnB21CUMwg3YFyL = nextCC;
{
if (Prelude.truthy(Prelude.isNotNull(_mc7ovV4JdbqCQPgGeC9WpE))) switch _mc7ovV4JdbqCQPgGeC9WpE {
case _hX61VXPeWaaDmDTuzCmCco if (Prelude.truthy(Prelude.isNull(_hX61VXPeWaaDmDTuzCmCco))):{
if (Prelude.truthy(_ouyVJKoxnB21CUMwg3YFyL)) switch _ouyVJKoxnB21CUMwg3YFyL {
case _hpts2oUxdcjYc12K9wyY8D if (Prelude.truthy(Prelude.isNull(_hpts2oUxdcjYc12K9wyY8D))):{
{
null;
};
@@ -1407,12 +1407,12 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
barProgress = 0;
lastIp = 0;
barMax = Prelude.add(_load.length, {
final _bdux7VghyXvg6onCLtQwe2:Dynamic = movie.skipTarget;
final _njRe8ogLBp2qQmeq4UuHwW:Dynamic = movie.skipTarget;
{
if (Prelude.truthy(_bdux7VghyXvg6onCLtQwe2)) _bdux7VghyXvg6onCLtQwe2 else {
final _wAfesbYY6BDmvhF8h3cLt9:Dynamic = 1;
if (Prelude.truthy(_njRe8ogLBp2qQmeq4UuHwW)) _njRe8ogLBp2qQmeq4UuHwW else {
final _cMzGoefCdcPCFomK3YUBUX:Dynamic = 1;
{
_wAfesbYY6BDmvhF8h3cLt9;
_cMzGoefCdcPCFomK3YUBUX;
};
};
};
@@ -1421,10 +1421,10 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
doneLoadingCC = done;
loop = new flixel.addons.util.FlxAsyncLoop(Prelude.add(1, _load.length), function() {
{
final _uYJHokAyhhjCPsQNPQkGB2 = _load.shift();
final _xwRZB1662BuN3KGjPc8sxy = _load.shift();
{
if (Prelude.truthy(Prelude.isNotNull(_uYJHokAyhhjCPsQNPQkGB2))) switch _uYJHokAyhhjCPsQNPQkGB2 {
case _ry3U3zUTiTa8iczcZ6bRU5 if (Prelude.truthy(Prelude.isNull(_ry3U3zUTiTa8iczcZ6bRU5))):{
if (Prelude.truthy(_xwRZB1662BuN3KGjPc8sxy)) switch _xwRZB1662BuN3KGjPc8sxy {
case _rfYxaz6AQiSbZ8WSpq27dP if (Prelude.truthy(Prelude.isNull(_rfYxaz6AQiSbZ8WSpq27dP))):{
{
{
if (Prelude.truthy(!Prelude.truthy(movie.skipTarget))) {
@@ -1506,7 +1506,7 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
public function _showDialog(speakerName:String, type:SpeechType<hollywoo_flixel.ActorFlxSprite>, wryly:String, text:String, cc:Continuation) return {
var speakerNameX:Float = -1;
switch type {
case _t2CcEJPbTcb3CJAMQTXSJD if (Prelude.truthy(Prelude.isNull(_t2CcEJPbTcb3CJAMQTXSJD))):{
case _doWeVZk9CXPTFa58xGgzY1 if (Prelude.truthy(Prelude.isNull(_doWeVZk9CXPTFa58xGgzY1))):{
{ };
};
case Super:{
@@ -1596,14 +1596,14 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
public static var soundVolume(get,set):Float;
public static function get_soundVolume():Float return {
if (Prelude.truthy({
final _nr5TCZ1TAEDyZBfvNtHHE5:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
final _rw4t8E2puWeDyY6h9gigQa:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
{
if (Prelude.truthy(_nr5TCZ1TAEDyZBfvNtHHE5)) {
final _wj5a6sdJT53c4nisccb3Vi:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
if (Prelude.truthy(_rw4t8E2puWeDyY6h9gigQa)) {
final _iEYfxkKg4CpnN5t1JU2wew:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
{
_wj5a6sdJT53c4nisccb3Vi;
_iEYfxkKg4CpnN5t1JU2wew;
};
} else _nr5TCZ1TAEDyZBfvNtHHE5;
} else _rw4t8E2puWeDyY6h9gigQa;
};
})) {
final content = sys.io.File.getContent(".FlxDirector.json"); final json:haxe.DynamicAccess<String> = haxe.Json.parse(content);
@@ -1619,14 +1619,14 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
}
public static function set_soundVolume(v:Float):Float return {
if (Prelude.truthy({
final _gmv53FrWGQHqjYjmuqmYdy:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
final _aL7N1NeKwjhv9Gq8dGpZae:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
{
if (Prelude.truthy(_gmv53FrWGQHqjYjmuqmYdy)) {
final _sFiQgzGuzptdsqzKmve7d9:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
if (Prelude.truthy(_aL7N1NeKwjhv9Gq8dGpZae)) {
final _is62H9bBGsvY9gKA1yoeN9:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
{
_sFiQgzGuzptdsqzKmve7d9;
_is62H9bBGsvY9gKA1yoeN9;
};
} else _gmv53FrWGQHqjYjmuqmYdy;
} else _aL7N1NeKwjhv9Gq8dGpZae;
};
})) {
final content = sys.io.File.getContent(".FlxDirector.json"); final json:haxe.DynamicAccess<String> = haxe.Json.parse(content);
@@ -1649,14 +1649,14 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
public static var masterVolume(get,set):Float;
public static function get_masterVolume():Float return {
if (Prelude.truthy({
final _hYk6sxVHpsBGKfnhL73eib:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
final _frViaRJhrUYzYYUB4ety4X:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
{
if (Prelude.truthy(_hYk6sxVHpsBGKfnhL73eib)) {
final _e6s5BQgkGbSRi4KVEsBeT2:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
if (Prelude.truthy(_frViaRJhrUYzYYUB4ety4X)) {
final _czSmbMEFyBJXikiWp7E8bB:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
{
_e6s5BQgkGbSRi4KVEsBeT2;
_czSmbMEFyBJXikiWp7E8bB;
};
} else _hYk6sxVHpsBGKfnhL73eib;
} else _frViaRJhrUYzYYUB4ety4X;
};
})) {
final content = sys.io.File.getContent(".FlxDirector.json"); final json:haxe.DynamicAccess<String> = haxe.Json.parse(content);
@@ -1672,14 +1672,14 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
}
public static function set_masterVolume(v:Float):Float return {
if (Prelude.truthy({
final _kvVcD8JhCywMT5ovpTLPxa:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
final _vjCAyKqz2ezxQbueXAmGzx:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
{
if (Prelude.truthy(_kvVcD8JhCywMT5ovpTLPxa)) {
final _fk5fdoZS2TZG78578USB6K:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
if (Prelude.truthy(_vjCAyKqz2ezxQbueXAmGzx)) {
final _r9H61f2SMNJAsdUsg7YZSs:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
{
_fk5fdoZS2TZG78578USB6K;
_r9H61f2SMNJAsdUsg7YZSs;
};
} else _kvVcD8JhCywMT5ovpTLPxa;
} else _vjCAyKqz2ezxQbueXAmGzx;
};
})) {
final content = sys.io.File.getContent(".FlxDirector.json"); final json:haxe.DynamicAccess<String> = haxe.Json.parse(content);
@@ -1746,7 +1746,7 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
} else null;
{
final firstNull = captions.getFirstNull(); final row = switch firstNull {
case _vMGWEY74DBryQLMfcmbVBR if (Prelude.truthy(Prelude.isNull(_vMGWEY74DBryQLMfcmbVBR))):{
case _cuKTNNAWztNmkAQ4xpvjhn if (Prelude.truthy(Prelude.isNull(_cuKTNNAWztNmkAQ4xpvjhn))):{
{
firstNull;
};
@@ -1788,9 +1788,9 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
final song = flixel.FlxG.sound.load(path);
{
{
final _sybJy4kcTRkygdjVkPTSab = !Prelude.truthy(Prelude.areEqual(0, song.length));
final _3ad616o2kmHDrqmBTrHKpQ = !Prelude.truthy(Prelude.areEqual(0, song.length));
{
if (Prelude.truthy(_sybJy4kcTRkygdjVkPTSab)) _sybJy4kcTRkygdjVkPTSab else throw kiss.Prelude.runtimeInsertAssertionMessage((Prelude.add("song from ", Std.string(path), " has 0 length! avoid mp3s for this reason") : String), "/Users/nat/repos/hollywoo-flixel/src/hollywoo_flixel/FlxDirector.kiss:869:9: Assertion failed: \nFrom:[(assert (not (= 0 song.length)) (the String (+ \"song from \" (Std.string path) \" has 0 length! avoid mp3s for this reason\")))]", 4);
if (Prelude.truthy(_3ad616o2kmHDrqmBTrHKpQ)) _3ad616o2kmHDrqmBTrHKpQ else throw kiss.Prelude.runtimeInsertAssertionMessage((Prelude.add("song from ", Std.string(path), " has 0 length! avoid mp3s for this reason") : String), "/Users/nat/repos/hollywoo-flixel/src/hollywoo_flixel/FlxDirector.kiss:869:9: Assertion failed: \nFrom:[(assert (not (= 0 song.length)) (the String (+ \"song from \" (Std.string path) \" has 0 length! avoid mp3s for this reason\")))]", 4);
};
};
song.persist = true;
@@ -1805,14 +1805,14 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
public static var voiceVolume(get,set):Float;
public static function get_voiceVolume():Float return {
if (Prelude.truthy({
final _aGWUKU5WUvMaC39UeP8xfW:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
final _7EY2dGbqNad7uFY9HJRWiU:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
{
if (Prelude.truthy(_aGWUKU5WUvMaC39UeP8xfW)) {
final _222mGhNFnZH9CZjSCJHqWx:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
if (Prelude.truthy(_7EY2dGbqNad7uFY9HJRWiU)) {
final _4FCRqbWK8z5YGu4gWUSqTF:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
{
_222mGhNFnZH9CZjSCJHqWx;
_4FCRqbWK8z5YGu4gWUSqTF;
};
} else _aGWUKU5WUvMaC39UeP8xfW;
} else _7EY2dGbqNad7uFY9HJRWiU;
};
})) {
final content = sys.io.File.getContent(".FlxDirector.json"); final json:haxe.DynamicAccess<String> = haxe.Json.parse(content);
@@ -1828,14 +1828,14 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
}
public static function set_voiceVolume(v:Float):Float return {
if (Prelude.truthy({
final _u2L5wDCeKtqTGEH7qKovXN:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
final _6q57eFNzTNuFg5VPxsDu6h:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
{
if (Prelude.truthy(_u2L5wDCeKtqTGEH7qKovXN)) {
final _bJYq6UgrooMw6pDBkiJVKU:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
if (Prelude.truthy(_6q57eFNzTNuFg5VPxsDu6h)) {
final _4yUHdT8gZB53DP3uWbCfEF:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
{
_bJYq6UgrooMw6pDBkiJVKU;
_4yUHdT8gZB53DP3uWbCfEF;
};
} else _u2L5wDCeKtqTGEH7qKovXN;
} else _6q57eFNzTNuFg5VPxsDu6h;
};
})) {
final content = sys.io.File.getContent(".FlxDirector.json"); final json:haxe.DynamicAccess<String> = haxe.Json.parse(content);
@@ -1905,14 +1905,14 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
public static var musicVolume(get,set):Float;
public static function get_musicVolume():Float return {
if (Prelude.truthy({
final _kh9Uqw9v6bcsnd1zCm6Aon:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
final _arBwWxw9GMx5cdUeapLbjf:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
{
if (Prelude.truthy(_kh9Uqw9v6bcsnd1zCm6Aon)) {
final _5stNDWD8ivaST9t4ZksGxQ:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
if (Prelude.truthy(_arBwWxw9GMx5cdUeapLbjf)) {
final _4cbUETM49UKNpyVQrDA28K:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
{
_5stNDWD8ivaST9t4ZksGxQ;
_4cbUETM49UKNpyVQrDA28K;
};
} else _kh9Uqw9v6bcsnd1zCm6Aon;
} else _arBwWxw9GMx5cdUeapLbjf;
};
})) {
final content = sys.io.File.getContent(".FlxDirector.json"); final json:haxe.DynamicAccess<String> = haxe.Json.parse(content);
@@ -1928,14 +1928,14 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
}
public static function set_musicVolume(v:Float):Float return {
if (Prelude.truthy({
final _czXKPLTbBmYLwP7NJHhSS2:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
final _45EdZPgtTYv1jBHc2xfCf:Dynamic = sys.FileSystem.exists(".FlxDirector.json");
{
if (Prelude.truthy(_czXKPLTbBmYLwP7NJHhSS2)) {
final _rdV1hSi8mQQAF4U2jyq77Z:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
if (Prelude.truthy(_45EdZPgtTYv1jBHc2xfCf)) {
final _m2t2TmQ8eDUPSEL5TwKUvF:Dynamic = !Prelude.truthy(sys.FileSystem.isDirectory(".FlxDirector.json"));
{
_rdV1hSi8mQQAF4U2jyq77Z;
_m2t2TmQ8eDUPSEL5TwKUvF;
};
} else _czXKPLTbBmYLwP7NJHhSS2;
} else _45EdZPgtTYv1jBHc2xfCf;
};
})) {
final content = sys.io.File.getContent(".FlxDirector.json"); final json:haxe.DynamicAccess<String> = haxe.Json.parse(content);
@@ -1997,7 +1997,7 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
}
public function changeSongVolume(volumeMod:Float, cc:Continuation):Void {
{
final _q4EpgkatpbooxmrpbqzfyM = currentSoundVolumes[music]; final fade = _q4EpgkatpbooxmrpbqzfyM[0]; final oldMod = _q4EpgkatpbooxmrpbqzfyM[1];
final _dcZLX1FAJefrYLJzmtHn6N = currentSoundVolumes[music]; final fade = _dcZLX1FAJefrYLJzmtHn6N[0]; final oldMod = _dcZLX1FAJefrYLJzmtHn6N[1];
{
music.volume = Prelude.multiply(fade, volumeMod, musicVolume);
currentSoundVolumes[music] = new kiss.List([fade, volumeMod]);
@@ -2068,21 +2068,21 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
final width = Prelude.min(Prelude.max(prop.width, PROP_MIN_WIDTH), PROP_MAX_WIDTH);
{
if (Prelude.truthy(!Prelude.truthy({
final _cNzS4dtigHJ6L7zz9Kc6Md:Dynamic = !Prelude.truthy(oldScaleBehavior);
final _tDRM5cR9R34vVpdwiGyinA:Dynamic = !Prelude.truthy(oldScaleBehavior);
{
if (Prelude.truthy(_cNzS4dtigHJ6L7zz9Kc6Md)) {
final _eHacT3PfULM9oNrRfmQxjW:Dynamic = cast(movie, FlxMovie).textProps.contains(prop);
if (Prelude.truthy(_tDRM5cR9R34vVpdwiGyinA)) {
final _hSwA3NxbqavG7Jwb772pJA:Dynamic = cast(movie, FlxMovie).textProps.contains(prop);
{
_eHacT3PfULM9oNrRfmQxjW;
_hSwA3NxbqavG7Jwb772pJA;
};
} else _cNzS4dtigHJ6L7zz9Kc6Md;
} else _tDRM5cR9R34vVpdwiGyinA;
};
}))) {
{
final _udXCTCSLXPgwbA3jugpntG = appearance;
final _sP28KvUqKbj21e1ciEgvkx = appearance;
{
if (Prelude.truthy(Prelude.isNotNull(_udXCTCSLXPgwbA3jugpntG))) switch _udXCTCSLXPgwbA3jugpntG {
case _wkdCqN6stGVCc5srR2p5iR if (Prelude.truthy(Prelude.isNull(_wkdCqN6stGVCc5srR2p5iR))):{
if (Prelude.truthy(_sP28KvUqKbj21e1ciEgvkx)) switch _sP28KvUqKbj21e1ciEgvkx {
case _5A67XWrq4WxxGuywhJ9EyY if (Prelude.truthy(Prelude.isNull(_5A67XWrq4WxxGuywhJ9EyY))):{
{
null;
};
@@ -2126,12 +2126,12 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
final layerNum = position.z;
{
{
final _fa19QjbEFX9ffbVXrkVTCw = layerNum; final _8WzGtTJ3r1k7ZVuGjoG6Uh = Std.int(layerNum);
final _gSGKq4CxsmVroDxqbvCXHY = layerNum; final _wqB91SvxahdEDinuYJagG9 = Std.int(layerNum);
{
{
final _8T38scFcNEcAMFhefjgmkw = Prelude.areEqual(_fa19QjbEFX9ffbVXrkVTCw, _8WzGtTJ3r1k7ZVuGjoG6Uh);
final _iRWkwek7bRk7rGTSFnMgbj = Prelude.areEqual(_gSGKq4CxsmVroDxqbvCXHY, _wqB91SvxahdEDinuYJagG9);
{
if (Prelude.truthy(_8T38scFcNEcAMFhefjgmkw)) _8T38scFcNEcAMFhefjgmkw else throw kiss.Prelude.runtimeInsertAssertionMessage(Prelude.add("expected ", _fa19QjbEFX9ffbVXrkVTCw, " but it was ", _8WzGtTJ3r1k7ZVuGjoG6Uh), "/Users/nat/repos/hollywoo-flixel/src/hollywoo_flixel/FlxDirector.kiss:1018:13: Assertion failed: \nFrom:[(assert (= _fa19QjbEFX9ffbVXrkVTCw _8WzGtTJ3r1k7ZVuGjoG6Uh) (+ \"expected \" _fa19QjbEFX9ffbVXrkVTCw \" but it was \" _8WzGtTJ3r1k7ZVuGjoG6Uh))]", 4);
if (Prelude.truthy(_iRWkwek7bRk7rGTSFnMgbj)) _iRWkwek7bRk7rGTSFnMgbj else throw kiss.Prelude.runtimeInsertAssertionMessage(Prelude.add("expected ", _gSGKq4CxsmVroDxqbvCXHY, " but it was ", _wqB91SvxahdEDinuYJagG9), "/Users/nat/repos/hollywoo-flixel/src/hollywoo_flixel/FlxDirector.kiss:1018:13: Assertion failed: \nFrom:[(assert (= _gSGKq4CxsmVroDxqbvCXHY _wqB91SvxahdEDinuYJagG9) (+ \"expected \" _gSGKq4CxsmVroDxqbvCXHY \" but it was \" _wqB91SvxahdEDinuYJagG9))]", 4);
};
};
};
@@ -2149,20 +2149,20 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
public static var anonProps = 0;
private static function _propKey(prop:flixel.FlxSprite) return {
{
final _vssZRUHdRGPinVfM8gLTa4 = _propKeys[prop];
final _7ZwMxep2J3i9qAie6Fv2sH = _propKeys[prop];
{
if (Prelude.truthy(Prelude.isNotNull(_vssZRUHdRGPinVfM8gLTa4))) switch _vssZRUHdRGPinVfM8gLTa4 {
case _8vPzzvpyZqCMq7gNxar7Ci if (Prelude.truthy(Prelude.isNull(_8vPzzvpyZqCMq7gNxar7Ci))):{
if (Prelude.truthy(_7ZwMxep2J3i9qAie6Fv2sH)) switch _7ZwMxep2J3i9qAie6Fv2sH {
case _sh9dRcfPURfZ1DhAeyEfXK if (Prelude.truthy(Prelude.isNull(_sh9dRcfPURfZ1DhAeyEfXK))):{
{
_propKeys[prop] = {
final _wZtXDdBCBuPym2i5gv7k2y:Dynamic = prop.graphic.assetsKey;
final _6S4jiHV31W3FNmmqSZcxcH:Dynamic = prop.graphic?.assetsKey;
{
if (Prelude.truthy(_wZtXDdBCBuPym2i5gv7k2y)) _wZtXDdBCBuPym2i5gv7k2y else {
final _7qAxZ5cQditLHb4Mm5sZJf:Dynamic = ((Prelude.add("anonProp#", Std.string({
if (Prelude.truthy(_6S4jiHV31W3FNmmqSZcxcH)) _6S4jiHV31W3FNmmqSZcxcH else {
final _eiTv9T6URi1ioPnd57MCVY:Dynamic = ((Prelude.add("anonProp#", Std.string({
anonProps++;
}), "") : String));
{
_7qAxZ5cQditLHb4Mm5sZJf;
_eiTv9T6URi1ioPnd57MCVY;
};
};
};
@@ -2174,28 +2174,28 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
};
default:{
_propKeys[prop] = {
final _wZtXDdBCBuPym2i5gv7k2y:Dynamic = prop.graphic.assetsKey;
final _6S4jiHV31W3FNmmqSZcxcH:Dynamic = prop.graphic?.assetsKey;
{
if (Prelude.truthy(_wZtXDdBCBuPym2i5gv7k2y)) _wZtXDdBCBuPym2i5gv7k2y else {
final _7qAxZ5cQditLHb4Mm5sZJf:Dynamic = (Prelude.add("anonProp#", Std.string({
if (Prelude.truthy(_6S4jiHV31W3FNmmqSZcxcH)) _6S4jiHV31W3FNmmqSZcxcH else {
final _eiTv9T6URi1ioPnd57MCVY:Dynamic = (Prelude.add("anonProp#", Std.string({
anonProps++;
}), "") : String);
{
_7qAxZ5cQditLHb4Mm5sZJf;
_eiTv9T6URi1ioPnd57MCVY;
};
};
};
};
};
} else _propKeys[prop] = {
final _fDG6J1nm6kMQCTw2tMp5Ev:Dynamic = prop.graphic.assetsKey;
final _Wy4R4s23DZPdM3gVzSjhp:Dynamic = prop.graphic?.assetsKey;
{
if (Prelude.truthy(_fDG6J1nm6kMQCTw2tMp5Ev)) _fDG6J1nm6kMQCTw2tMp5Ev else {
final _sS5Mvs2AcJNGeYxTLQZeWy:Dynamic = (Prelude.add("anonProp#", Std.string({
if (Prelude.truthy(_Wy4R4s23DZPdM3gVzSjhp)) _Wy4R4s23DZPdM3gVzSjhp else {
final _83BxHSsE3oLKY6vyfB3B76:Dynamic = (Prelude.add("anonProp#", Std.string({
anonProps++;
}), "") : String);
{
_sS5Mvs2AcJNGeYxTLQZeWy;
_83BxHSsE3oLKY6vyfB3B76;
};
};
};
@@ -2262,7 +2262,7 @@ class FlxDirector implements Director<FlxSprite, ActorFlxSprite, FlxSound, FlxSo
{
for (line in credits) {
switch line {
case _4Be4zzKoUmsPzAaE2ZUjQj if (Prelude.truthy(Prelude.isNull(_4Be4zzKoUmsPzAaE2ZUjQj))):{
case _vmwz9KfkLKTx1bEHS8FZdh if (Prelude.truthy(Prelude.isNull(_vmwz9KfkLKTx1bEHS8FZdh))):{
{ };
};
case Break:{

View File

@@ -1022,11 +1022,12 @@
(cc))
(var :Map<FlxSprite,String> _propKeys (new Map))
(var &mut anonProps 0)
(function _propKey [:FlxSprite prop]
(ifLet [key (dictGet _propKeys prop)]
key
(dictSet _propKeys prop (or prop.graphic.assetsKey "anonProp#${anonProps++}"))))
(dictSet _propKeys prop (or prop.graphic?.assetsKey "anonProp#${anonProps++}"))))
(method :Void hideProp [:FlxSprite prop :FlxCamera camera cc]
(FlxG.state.remove prop true)

View File

@@ -147,6 +147,7 @@
})))
// When skipping through, don't add the camera until skipping ends
(hollywooMethod addTempCamera [:Bool skipping :FlxCamera camera &opt :Bool defaultDrawTarget :Bool bg :Continuation cc]
(dictSet (if bg tempBgCameras tempCameras) camera ?defaultDrawTarget)
(let [order (if bg tempBgCamerasOrder tempCamerasOrder)]
@@ -242,15 +243,19 @@
exps [(read nextLineStream) (read nextLineStream) (read nextLineStream) (readOr nextLineStream `null) (readOr nextLineStream `null) (readOr nextLineStream `[])]]
`(_linearMotionTo ,withMacro ,await ,@exps)))
// TODO interp reader macro -- very difficult
(defReaderMacro "AWAITLINEARMOTIONACTORTO" [stream &builder b]
(awaitLMTReaderMacro stream `withActorCC true))
// TODO interp reader macro -- very difficult
(defReaderMacro "AWAITLINEARMOTIONPROPTO" [stream &builder b]
(awaitLMTReaderMacro stream `withPropCC true))
// TODO interp reader macro -- very difficult
(defReaderMacro "LINEARMOTIONACTORTO" [stream &builder b]
(awaitLMTReaderMacro stream `withActorCC false))
// TODO interp reader macro -- very difficult
(defReaderMacro "LINEARMOTIONPROPTO" [stream &builder b]
(awaitLMTReaderMacro stream `withPropCC false))
@@ -278,23 +283,29 @@
exps [(read nextLineStream) (read nextLineStream) (read nextLineStream) (read nextLineStream) (readOr nextLineStream `null) (readOr nextLineStream `null) (readOr nextLineStream `[])]]
`(_linearMotion ,withMacro ,await ,@exps)))
// TODO interp reader macro -- very difficult
(defReaderMacro "AWAITLINEARMOTIONACTOR" [stream &builder b]
(awaitLMReaderMacro stream `withActorCC true))
// TODO interp reader macro -- very difficult
(defReaderMacro "AWAITLINEARMOTIONPROP" [stream &builder b]
(awaitLMReaderMacro stream `withPropCC true))
// TODO interp reader macro -- very difficult
(defReaderMacro "LINEARMOTIONACTOR" [stream &builder b]
(awaitLMReaderMacro stream `withActorCC false))
// TODO interp reader macro -- very difficult
(defReaderMacro "LINEARMOTIONPROP" [stream &builder b]
(awaitLMReaderMacro stream `withPropCC false))
// TODO make this a hollywooMethod & interp reader macro
(defReaderMacro "ACTORPLAYANIMATION" [stream &builder b]
(let [actor (read stream)
anim (read stream)]
`(withActor ,actor a (a.playAnimation ,anim))))
// TODO make this a hollywooMethod & interp reader macro
(defReaderMacro "ASSERTLOGSPRITES" [stream &builder b]
`(#when debug
(when skipping
@@ -303,6 +314,7 @@
(when skipping
(FlxG.state.remove flxDirector.spriteLayers true))
(cc)))
// TODO make this a hollywooMethod & interp reader macro
(defReaderMacro "ASSERTLOGSPRITESCC" [stream &builder b]
`(#when debug
(when skipping
@@ -310,6 +322,7 @@
(kiss_flixel.SpriteTools.assertLogSprites ,(read stream))
(when skipping
(FlxG.state.remove flxDirector.spriteLayers true))))
// TODO make this a hollywooMethod & interp reader macro
(defReaderMacro "WARNLOGSPRITES" [stream &builder b]
`(#when debug
(when skipping
@@ -318,6 +331,7 @@
(when skipping
(FlxG.state.remove flxDirector.spriteLayers true))
(cc)))
// TODO make this a hollywooMethod & interp reader macro
(defReaderMacro "WARNLOGSPRITESCC" [stream &builder b]
`(#when debug
(when skipping
@@ -327,6 +341,7 @@
(FlxG.state.remove flxDirector.spriteLayers true))))
@:keep
// TODO make this a hollywooMethod & interp reader macro
(method :Void scaleTo [:Bool skipping :FlxSprite sprite :Float scale :Float duration &opt :Void->Void cc]
(when skipping
(sprite.scale.set scale scale)
@@ -336,6 +351,7 @@
// Reusable effect: Scan a slightly transparent line side-to-side across a FlxSprite like a scanner
@:keep
// TODO make this a hollywooMethod & interp reader macro
(method :Void scanLineEffect [:Bool skipping :FlxSprite sprite :FlxColor lineColor :Int lineThickness :Float alpha :Bool vertical :Float speed &opt :Bool repeat :Void->Void cc :String soundLoop :Float volumeMod]
(when skipping
(cc)
@@ -371,6 +387,7 @@
}
soundLoop volumeMod)))
// TODO make this a hollywooMethod & interp reader macro
(method :Void rotateTo [:Bool skipping :FlxSprite sprite :Float angle :Float duration &opt :Void->Void cc :String soundLoop :Float volumeMod]
(when skipping
(set sprite.angle angle)
@@ -482,6 +499,7 @@
(new StagePosition x y layer)))
(prop &mut :Array<FlxSprite> plates)
// TODO make this a hollywooMethod & interp reader macro
(method namePlates [:Bool skipping :Array<String> names :Dynamic delayLength :Bool delayWhileShown :Void->Void cc]
(when skipping
(cc)
@@ -677,6 +695,7 @@
(prop &mut :Int barProgress 0)
(prop &mut :Int barMax 0)
(prop &mut :Bool skippedBar false)
// TODO make this a hollywooMethod & interp reader macro
(method fakeLoadingBar [:Bool skipping :Dynamic position :Dynamic delayV :Int steps :Int width :Int height :FlxColor full :FlxColor empty :Void->Void cc]
(when skipping
(cc)
@@ -931,7 +950,30 @@
})
(method expandInstructions [scriptFile]
(let [stream (kiss.Stream.fromFile scriptFile)
(let [&mut idx (+ currentInstructionPointer 1)
stream (kiss.Stream.fromFile scriptFile)
interp (new hollywoo_flixel.HollywooInterp)]
(dictSet interp.globals "movie" this)
(doFor =>key position stagePositions
(dictSet interp.globals key position))
(dictSet interp.globals "FacingLeft" FacingLeft)
(dictSet interp.globals "FacingRight" FacingRight)
(dictSet interp.globals "Read" hollywoo.Movie.PlayMode.Read)
(dictSet interp.globals "Watch" hollywoo.Movie.PlayMode.Watch)
(until (stream.isEmpty)
(interp.evalCC stream ->v {}))))
(let [exp (interp.read stream)]
(case exp.def
((CallExp (object def (Symbol "label")) [(object def (StrExp label))])
(dictSet labels label idx))
(otherwise
// TODO add more automatic labels
(instructions.insert idx++ ->[self skipping cc] {
(dictSet interp.globals "skipping" skipping)
(dictSet interp.globals "cc" cc)
(print (kiss.Reader.toString exp.def))
(interp.evalCC exp ->_ {})
})))))))

View File

@@ -1,6 +1,130 @@
package hollywoo_flixel;
import kiss.Prelude;
import kiss.Stream;
import kiss.Reader;
using StringTools;
using hx.strings.Strings;
@:build(kiss.KissInterp2.build())
class HollywooInterp {}
class HollywooInterp {
function readString(stream:Stream) {
var strExp = read(stream);
switch(strExp.def) {
case StrExp(str): return str;
default: throw 'bad';
}
}
function new() {
globals["Assets"] = openfl.utils.Assets;
readTable["SETSCENE "] = (stream, self:HasReadTables) -> {
var name = readString(stream);
return read('(movie.setScene skipping "$name" cc)').def;
};
readTable["THEMEDROLLCREDITS "] = (stream, self:HasReadTables) -> {
var creditsTSV = read(stream);
var songKey = readString(stream);
return read('(movie.themedRollCredits skipping ${Reader.toString(creditsTSV.def)} "$songKey" cc)').def;
// TODO optional volumeMod after
};
function quickReaderMacro(form:String) {
var numToRead = form.countMatches("$$");
return (stream, self:HasReadTables) -> {
var transformed = form;
for(i in 0...numToRead) {
// Optional arguments
var exp = try {
read(stream);
} catch (e) {
null;
};
var code = if (exp != null) Reader.toString(exp.def) else "null";
transformed = transformed.replace("$$" + (i+1), code);
}
return read(transformed).def;
}
}
readTable["VAR "] = quickReaderMacro("{(var $$1 $$2) (cc)}");
readTable["PRINT "] = quickReaderMacro("{(print $$1) (cc)}");
readTable["SUPERTEXT "] = quickReaderMacro("(movie.superText skipping $$1 cc)");
readTable["TIMEDSUPERTEXT "] = quickReaderMacro("(movie.timedSuperText skipping $$1 $$2 cc)");
readTable["NORMALSPEECH "] = quickReaderMacro("(movie.normalSpeech skipping $$1 $$2 $$3 cc)");
readTable["INTERRUPTEDSPEECH "] = quickReaderMacro("(movie.interruptedSpeech skipping $$1 $$2 $$3 cc)");
readTable["OFFSCREENSPEECH "] = quickReaderMacro("(movie.offScreenSpeech skipping $$1 $$2 $$3 cc)");
readTable["VOICEOVER "] = quickReaderMacro("(movie.voiceOver skipping $$1 $$2 $$3 cc)");
readTable["ONPHONESPEECH "] = quickReaderMacro("(movie.onPhoneSpeech skipping $$1 $$2 $$3 cc)");
readTable["ADDPROP "] = quickReaderMacro("(movie.addProp $$1 $$2 cc)");
readTable["REMOVEPROP "] = quickReaderMacro("(movie.removeProp $$1 cc)");
readTable["CLEARPROPS\n"] = quickReaderMacro("(movie.clearProps cc)");
readTable["DELAY "] = quickReaderMacro("(movie.delay skipping $$1 cc $$2)");
readTable["ADDCHARACTER "] = quickReaderMacro("(movie.addCharacter $$1 $$2 $$3 cc)");
readTable["MOVECHARACTER "] = quickReaderMacro("(movie.moveCharacter $$1 $$2 $$3 cc)");
readTable["SWAPCHARACTERS "] = quickReaderMacro("(movie.swapCharacters $$1 $$2 cc)");
readTable["REMOVECHARACTER "] = quickReaderMacro("(movie.removeCharacter $$1 cc)");
readTable["CLEARCHARACTERS\n"] = quickReaderMacro("(movie.clearCharacters cc)");
readTable["RESTOREPLAYMODE\n"] = quickReaderMacro("(movie.restorePlayMode cc)");
readTable["OVERRIDEPLAYMODE "] = quickReaderMacro("(movie.overridePlayMode $$1 cc)");
readTable["HIDECUSTOMDIALOG\n"] = quickReaderMacro("(movie.hideCustomDialog cc)");
readTable["WATCHMODEDELAY "] = quickReaderMacro("(movie.watchModeDelay skipping $$1 cc)");
readTable["OVERRIDEDELAY "] = quickReaderMacro("(movie.overridePlayMode Watch
->(movie.delay skipping $$1
->(movie.restorePlayMode cc)))");
readTable["SETSCENESONG "] = quickReaderMacro("(movie.setSceneSong $$1 $$2 $$3 cc)");
readTable["SETCURRENTSCENESONG "] = quickReaderMacro("(movie.setCurrentSceneSong skipping $$1 cc $$2)");
readTable["MOVETOSCENE "] = quickReaderMacro("(movie.moveToScene skipping $$1 cc)");
readTable["PLAYSOUND "] = quickReaderMacro("(movie.playSound skipping $$1 cc $$2 $$3 $$4)");
readTable["AWAITPLAYSOUND "] = quickReaderMacro("(movie.awaitPlaySound skipping $$1 cc $$2)");
readTable["AWAITPLAYSOUNDS "] = quickReaderMacro("(movie.awaitPlaySounds skipping $$1 cc $$2)");
readTable["STOPSOUND "] = quickReaderMacro("(movie.stopSound skipping $$1 cc)");
readTable["LOOPSOUND "] = quickReaderMacro("(movie.loopSound skipping $$1 cc $$2 $$3)");
readTable["PLAYSONG "] = quickReaderMacro("(movie.playSong skipping $$1 cc $$2 $$3 $$4)");
readTable["CHANGESONGVOLUME "] = quickReaderMacro("(movie.changeSongVolume skipping $$1 cc)");
readTable["AWAITPLAYSONG "] = quickReaderMacro("(movie.awaitPlaySong skipping $$1 cc $$2)");
readTable["LOOPSONG "] = quickReaderMacro("(movie.loopSong skipping $$1 cc $$2)");
readTable["STOPSONG\n"] = quickReaderMacro("(movie.stopSong skipping cc)");
readTable["AUTOZPROCESS "] = quickReaderMacro("(movie.autoZProcess $$1 cc)");
readTable["STROBECHARACTER "] = quickReaderMacro("(movie.strobeCharacter skipping $$1 $$2 $$3 cc)");
readTable["STROBEPROP "] = quickReaderMacro("(movie.strobeProp skipping $$1 $$2 $$3 cc)");
readTable["AWAITSTROBECHARACTER "] = quickReaderMacro("(movie.awaitStrobeCharacter skipping $$1 $$2 $$3 cc)");
readTable["AWAITSTROBEPROP "] = quickReaderMacro("(movie.awaitStrobeProp skipping $$1 $$2 $$3 cc)");
// TODO implement KissInterp evaluating map literal
readTable["INTERCUT "] = quickReaderMacro("(movie.intercut $$1 cc)");
readTable["ENDINTERCUT\n"] = quickReaderMacro("(movie.endIntercut cc)");
readTable["SHOWTITLECARD "] = quickReaderMacro("(movie.showTitleCard $$1 cc)");
readTable["HIDETITLECARD\n"] = quickReaderMacro("(movie.hideTitleCard cc)");
readTable["CUSTOMSPEECH "] = quickReaderMacro("(movie.customSpeech skipping $$1 $$2 $$3 $$4 $$5 cc)");
readTable["TIMEDCUTTOBLACK "] = quickReaderMacro("(movie.timedCutToBlack skipping $$1 cc)");
readTable["CUTTOBLACK\n"] = quickReaderMacro("(movie.cutToBlack cc)");
readTable["ENDCUTTOBLACK\n"] = quickReaderMacro("(movie.endCutToBlack cc)");
readTable["ROLLCREDITS "] = quickReaderMacro("(movie.rollCredits skipping $$1 cc $$2)");
// HollywooFlixel-specific:
readTable["ADDTEMPCAMERA "] = quickReaderMacro("movie.addTempCamera skipping $$1 $$2 $$3 cc)");
readTable["REMOVETEMPCAMERA "] = quickReaderMacro("movie.removeTempCamera $$1 $$2 cc)");
}
}