@famibee/skynovel 1.48.4 → 1.48.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app.js +960 -948
- package/dist/app.js.map +1 -1
- package/dist/appMain.js +11 -11
- package/dist/appMain.js.map +1 -1
- package/dist/sn/EventMng.d.ts.map +1 -1
- package/dist/sn/ReadState.d.ts +0 -3
- package/dist/sn/ReadState.d.ts.map +1 -1
- package/dist/web.js +398 -386
- package/dist/web.js.map +1 -1
- package/package.json +1 -1
package/dist/web.js
CHANGED
|
@@ -17276,7 +17276,7 @@ extensions.add(
|
|
|
17276
17276
|
);
|
|
17277
17277
|
class EventListenerCtn {
|
|
17278
17278
|
// リソースリーク対策
|
|
17279
|
-
#
|
|
17279
|
+
#e = [];
|
|
17280
17280
|
add(t, e, r, N = {}) {
|
|
17281
17281
|
if (t instanceof BaseTexture) {
|
|
17282
17282
|
switch (e) {
|
|
@@ -17284,24 +17284,24 @@ class EventListenerCtn {
|
|
|
17284
17284
|
case "update":
|
|
17285
17285
|
case "error":
|
|
17286
17286
|
case "dispose":
|
|
17287
|
-
t.on(e, r, N), this.#
|
|
17287
|
+
t.on(e, r, N), this.#e.push(() => t.off(e, r, N));
|
|
17288
17288
|
break;
|
|
17289
17289
|
}
|
|
17290
17290
|
return;
|
|
17291
17291
|
}
|
|
17292
17292
|
if (t instanceof i$1) {
|
|
17293
|
-
t.on(e, r, N), this.#
|
|
17293
|
+
t.on(e, r, N), this.#e.push(() => t.off(e, r, N));
|
|
17294
17294
|
return;
|
|
17295
17295
|
}
|
|
17296
|
-
t.addEventListener(e, r, N), this.#
|
|
17296
|
+
t.addEventListener(e, r, N), this.#e.push(() => t.removeEventListener(e, r, { capture: N.capture ?? !1 }));
|
|
17297
17297
|
}
|
|
17298
17298
|
clear() {
|
|
17299
|
-
for (const t of this.#
|
|
17299
|
+
for (const t of this.#e)
|
|
17300
17300
|
t();
|
|
17301
|
-
this.#
|
|
17301
|
+
this.#e = [];
|
|
17302
17302
|
}
|
|
17303
17303
|
get isEmpty() {
|
|
17304
|
-
return this.#
|
|
17304
|
+
return this.#e.length === 0;
|
|
17305
17305
|
}
|
|
17306
17306
|
}
|
|
17307
17307
|
var SEARCH_PATH_ARG_EXT = /* @__PURE__ */ ((o) => (o.DEFAULT = "", o.SP_GSM = "png|jpg|jpeg|json|svg|webp|mp4|webm", o.SCRIPT = "sn|ssn", o.FONT = "woff2|woff|otf|ttf", o.SOUND = "mp3|m4a|ogg|aac|flac|wav", o.HTML = "htm|html", o.CSS = "css", o.SN = "sn", o.PSD = "psd", o.TST_PNGPNG_ = "png|png_", o.TST_HH = "hh", o.TST_EEE = "eee", o.TST_GGG = "ggg", o.TST_PNGXML = "png|xml", o))(SEARCH_PATH_ARG_EXT || {});
|
|
@@ -17365,11 +17365,11 @@ class ConfigBase {
|
|
|
17365
17365
|
// 4tst public
|
|
17366
17366
|
hPathFn2Exts = {};
|
|
17367
17367
|
async load(t) {
|
|
17368
|
-
if (this.oCfg.save_ns = t?.save_ns ?? this.oCfg.save_ns, this.oCfg.window.width = Number(t?.window?.width ?? this.oCfg.window.width), this.oCfg.window.height = Number(t?.window?.height ?? this.oCfg.window.height), this.oCfg.book = { ...this.oCfg.book, ...t.book }, this.oCfg.log.max_len = t.log?.max_len?.max_len ?? this.oCfg.log.max_len, this.oCfg.init = { ...this.oCfg.init, ...t.init }, this.oCfg.debug = { ...this.oCfg.debug, ...t.debug }, this.oCfg.debuger_token = t.debuger_token, await this.sys.loadPath(this.hPathFn2Exts, this), this.#
|
|
17368
|
+
if (this.oCfg.save_ns = t?.save_ns ?? this.oCfg.save_ns, this.oCfg.window.width = Number(t?.window?.width ?? this.oCfg.window.width), this.oCfg.window.height = Number(t?.window?.height ?? this.oCfg.window.height), this.oCfg.book = { ...this.oCfg.book, ...t.book }, this.oCfg.log.max_len = t.log?.max_len?.max_len ?? this.oCfg.log.max_len, this.oCfg.init = { ...this.oCfg.init, ...t.init }, this.oCfg.debug = { ...this.oCfg.debug, ...t.debug }, this.oCfg.debuger_token = t.debuger_token, await this.sys.loadPath(this.hPathFn2Exts, this), this.#e = this.matchPath(
|
|
17369
17369
|
"^breakline$",
|
|
17370
17370
|
"png|jpg|jpeg|json|svg|webp|mp4|webm"
|
|
17371
17371
|
/* SP_GSM */
|
|
17372
|
-
).length > 0, this.#
|
|
17372
|
+
).length > 0, this.#t = this.matchPath(
|
|
17373
17373
|
"^breakpage$",
|
|
17374
17374
|
"png|jpg|jpeg|json|svg|webp|mp4|webm"
|
|
17375
17375
|
/* SP_GSM */
|
|
@@ -17383,13 +17383,13 @@ class ConfigBase {
|
|
|
17383
17383
|
throw `ファイル改竄エラーです fn:${D}`;
|
|
17384
17384
|
}
|
|
17385
17385
|
}
|
|
17386
|
-
#
|
|
17386
|
+
#e = !1;
|
|
17387
17387
|
get existsBreakline() {
|
|
17388
|
-
return this.#
|
|
17388
|
+
return this.#e;
|
|
17389
17389
|
}
|
|
17390
|
-
#
|
|
17390
|
+
#t = !1;
|
|
17391
17391
|
get existsBreakpage() {
|
|
17392
|
-
return this.#
|
|
17392
|
+
return this.#t;
|
|
17393
17393
|
}
|
|
17394
17394
|
getNs() {
|
|
17395
17395
|
return `skynovel.${this.oCfg.save_ns} - `;
|
|
@@ -17515,16 +17515,16 @@ class Grammar {
|
|
|
17515
17515
|
constructor() {
|
|
17516
17516
|
this.setEscape("");
|
|
17517
17517
|
}
|
|
17518
|
-
#
|
|
17518
|
+
#e;
|
|
17519
17519
|
setEscape(t) {
|
|
17520
17520
|
if (this.#o && t in this.#o)
|
|
17521
17521
|
throw "[エスケープ文字] char【" + t + "】が登録済みの括弧マクロまたは一文字マクロです";
|
|
17522
|
-
this.#
|
|
17522
|
+
this.#e = new RegExp(
|
|
17523
17523
|
(t ? `\\${t}\\S|` : "") + // エスケープシーケンス
|
|
17524
17524
|
`\\n+|\\t+|\\[let_ml\\s+[^\\]]+\\].+?(?=\\[endlet_ml[\\]\\s])|\\[(?:(?=([^"'#;\\]]+))\\1|(["'#]).*?\\2|;[^\\n]*)*?]|;[^\\n]*|&[^&\\n]+&|&&?[^&;\\n\\t]+|^\\*[^\\s\\[&;\\\\]+|[^\\n\\t\\[;${t ? `\\${t}` : ""}]+`,
|
|
17525
17525
|
// 本文
|
|
17526
17526
|
"gs"
|
|
17527
|
-
), this.#
|
|
17527
|
+
), this.#t = new RegExp(`[\\w\\s;[\\]*=&|《》${t ? `\\${t}` : ""}]`), this.#h = new RegExp(`[\\n\\t;\\[*&${t ? `\\${t}` : ""}]`);
|
|
17528
17528
|
}
|
|
17529
17529
|
// 括弧マクロの定義
|
|
17530
17530
|
bracket2macro(t, e, r, N) {
|
|
@@ -17546,9 +17546,9 @@ class Grammar {
|
|
|
17546
17546
|
throw "[bracket2macro] text【" + B + "】が登録済みの括弧マクロまたは一文字マクロです";
|
|
17547
17547
|
if ($ in this.#o)
|
|
17548
17548
|
throw "[bracket2macro] text【" + $ + "】が登録済みの括弧マクロまたは一文字マクロです";
|
|
17549
|
-
if (this.#
|
|
17549
|
+
if (this.#t.test(B))
|
|
17550
17550
|
throw "[bracket2macro] text【" + B + "】は括弧マクロに使用できない文字です";
|
|
17551
|
-
if (this.#
|
|
17551
|
+
if (this.#t.test($))
|
|
17552
17552
|
throw "[bracket2macro] text【" + $ + "】は括弧マクロに使用できない文字です";
|
|
17553
17553
|
this.#o[$] = "0", this.#o[B] = `[${k} text=`, this.addC2M(`\\${B}[^\\${$}]*\\${$}`, `\\${B}\\${$}`), this.#l(r, N);
|
|
17554
17554
|
}
|
|
@@ -17559,7 +17559,7 @@ class Grammar {
|
|
|
17559
17559
|
throw "[char2macro] charは必須です";
|
|
17560
17560
|
if (this.#o ??= {}, k in this.#o)
|
|
17561
17561
|
throw "[char2macro] char【" + k + "】が登録済みの括弧マクロまたは一文字マクロです";
|
|
17562
|
-
if (this.#
|
|
17562
|
+
if (this.#t.test(k))
|
|
17563
17563
|
throw "[char2macro] char【" + k + "】は一文字マクロに使用できない文字です";
|
|
17564
17564
|
if (!D)
|
|
17565
17565
|
throw "[char2macro] nameは必須です";
|
|
@@ -17567,7 +17567,7 @@ class Grammar {
|
|
|
17567
17567
|
throw `[char2macro] 未定義のタグ又はマクロ[${D}]です`;
|
|
17568
17568
|
this.#o[k] = `[${D}]`, this.addC2M(`\\${k}`, `\\${k}`), this.#l(r, N);
|
|
17569
17569
|
}
|
|
17570
|
-
#
|
|
17570
|
+
#t;
|
|
17571
17571
|
#r = new RegExp("");
|
|
17572
17572
|
#i = "";
|
|
17573
17573
|
#n = "";
|
|
@@ -17579,7 +17579,7 @@ class Grammar {
|
|
|
17579
17579
|
}
|
|
17580
17580
|
resolveScript(t) {
|
|
17581
17581
|
const e = t.replaceAll(/(\r\n|\r)/g, `
|
|
17582
|
-
`).match(this.#
|
|
17582
|
+
`).match(this.#e)?.flatMap((N) => {
|
|
17583
17583
|
if (!this.testTagLetml(N))
|
|
17584
17584
|
return N;
|
|
17585
17585
|
const k = /^([^\]]+?])(.*)$/s.exec(N);
|
|
@@ -17597,7 +17597,7 @@ class Grammar {
|
|
|
17597
17597
|
return /^\[endlet_ml\s*]/.test(t);
|
|
17598
17598
|
}
|
|
17599
17599
|
analyzToken(t) {
|
|
17600
|
-
return this.#
|
|
17600
|
+
return this.#e.lastIndex = 0, this.#e.exec(t);
|
|
17601
17601
|
}
|
|
17602
17602
|
#o;
|
|
17603
17603
|
#h;
|
|
@@ -17641,11 +17641,11 @@ class AnalyzeTagArg {
|
|
|
17641
17641
|
| (["'#]) (?<def2>.*?) \6 ) )?
|
|
17642
17642
|
| (?<literal>[^\s;]+)
|
|
17643
17643
|
*/
|
|
17644
|
-
#
|
|
17644
|
+
#e = /;[^\n]*|(?<key>[^\s="'#|;]+)(?:\s|;[^\n]*\n)*=(?:\s|;[^\n]*\n)*(?:(?<val>[^\s"'#|;]+)|(["'#])(?<val2>.*?)\3)(?:\|(?:(?<def>[^\s"'#;]+)|(["'#])(?<def2>.*?)\6))?|(?<literal>[^\s;]+)/g;
|
|
17645
17645
|
// 【属性 = 値 | 省略値】の分析
|
|
17646
17646
|
parse(t) {
|
|
17647
17647
|
this.#r = {}, this.#i = !1;
|
|
17648
|
-
for (const { groups: e } of t.matchAll(this.#
|
|
17648
|
+
for (const { groups: e } of t.matchAll(this.#e)) {
|
|
17649
17649
|
const { key: r, val: N, val2: k, def: D, def2: B, literal: $ } = e;
|
|
17650
17650
|
r ? this.#r[r] = {
|
|
17651
17651
|
val: N ?? k,
|
|
@@ -17656,13 +17656,13 @@ class AnalyzeTagArg {
|
|
|
17656
17656
|
// 属性と値の位置をまとめて返す
|
|
17657
17657
|
parseinDetail(t, e, r, N) {
|
|
17658
17658
|
const k = {}, D = t.slice(1 + e, -1);
|
|
17659
|
-
for (const { groups: B, index: $, 0: U } of D.matchAll(this.#
|
|
17659
|
+
for (const { groups: B, index: $, 0: U } of D.matchAll(this.#e)) {
|
|
17660
17660
|
if ($ === void 0)
|
|
17661
17661
|
continue;
|
|
17662
17662
|
const { key: H, val: z, val2: V, literal: X } = B;
|
|
17663
17663
|
if (X) {
|
|
17664
17664
|
if (X.at(-1) === "=") {
|
|
17665
|
-
const Z = X.length - 1, { ch: J } = this.#
|
|
17665
|
+
const Z = X.length - 1, { ch: J } = this.#t(e, r, N, D, $ + Z);
|
|
17666
17666
|
k[X.slice(0, -1)] = {
|
|
17667
17667
|
k_ln: r,
|
|
17668
17668
|
k_ch: J - Z,
|
|
@@ -17676,12 +17676,12 @@ class AnalyzeTagArg {
|
|
|
17676
17676
|
}
|
|
17677
17677
|
if (!H)
|
|
17678
17678
|
continue;
|
|
17679
|
-
const { ln: q, ch: W } = this.#
|
|
17679
|
+
const { ln: q, ch: W } = this.#t(e, r, N, D, $), { ln: Y, ch: K } = this.#t(e, r, N, D, $ + U.lastIndexOf(z ?? V) - (z ? 0 : 1));
|
|
17680
17680
|
k[H] = { k_ln: q, k_ch: W, v_ln: Y, v_ch: K, v_len: z ? z.length : V.length + 2 };
|
|
17681
17681
|
}
|
|
17682
17682
|
return k;
|
|
17683
17683
|
}
|
|
17684
|
-
#
|
|
17684
|
+
#t(t, e, r, N, k) {
|
|
17685
17685
|
const B = N.slice(0, k).split(`
|
|
17686
17686
|
`), $ = B.length;
|
|
17687
17687
|
return {
|
|
@@ -18394,7 +18394,7 @@ class PropParser {
|
|
|
18394
18394
|
), tt = this.val.getVal(J);
|
|
18395
18395
|
return tt == null ? ["!str!", tt] : typeof tt == "boolean" ? ["!bool!", tt] : Object.prototype.toString.call(tt) === "[object String]" ? ["!str!", String(tt)] : ["!num!", Number(tt)];
|
|
18396
18396
|
}).desc("string"), W = parsimmon_umd_minExports.lazy(
|
|
18397
|
-
() => parsimmon_umd_minExports.string("(").then(this.#
|
|
18397
|
+
() => parsimmon_umd_minExports.string("(").then(this.#e).skip(parsimmon_umd_minExports.string(")")).or(U).or(H).or(z).or(V).or(q)
|
|
18398
18398
|
), K = [
|
|
18399
18399
|
// 演算子の優先順位 - JavaScript | MDN https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Operator_precedence
|
|
18400
18400
|
// 優先順位:18(メンバーへのアクセス、計算値によるメンバーへのアクセス)
|
|
@@ -18431,20 +18431,20 @@ class PropParser {
|
|
|
18431
18431
|
(Z, J) => J.type(J.ops, Z),
|
|
18432
18432
|
W
|
|
18433
18433
|
);
|
|
18434
|
-
this.#
|
|
18434
|
+
this.#e = K.trim(parsimmon_umd_minExports.optWhitespace);
|
|
18435
18435
|
}
|
|
18436
|
-
#
|
|
18436
|
+
#e = null;
|
|
18437
18437
|
parse(t) {
|
|
18438
|
-
const e = this.#
|
|
18438
|
+
const e = this.#e.parse(t);
|
|
18439
18439
|
if (!e.status)
|
|
18440
18440
|
throw Error("(PropParser)文法エラー【" + t + "】");
|
|
18441
18441
|
const r = e.value;
|
|
18442
|
-
return r[0] === "!str!" ? this.#o(r[1]) : this.#
|
|
18442
|
+
return r[0] === "!str!" ? this.#o(r[1]) : this.#t(r);
|
|
18443
18443
|
}
|
|
18444
|
-
#
|
|
18444
|
+
#t(t) {
|
|
18445
18445
|
const e = t.shift();
|
|
18446
18446
|
if (e instanceof Array)
|
|
18447
|
-
return this.#
|
|
18447
|
+
return this.#t(e);
|
|
18448
18448
|
const r = this.#r[e];
|
|
18449
18449
|
return r ? r(t) : Object(null);
|
|
18450
18450
|
}
|
|
@@ -18467,77 +18467,77 @@ class PropParser {
|
|
|
18467
18467
|
// 論理 NOT
|
|
18468
18468
|
"!": (t) => !this.#r.Boolean(t),
|
|
18469
18469
|
// チルダ演算子(ビット反転)
|
|
18470
|
-
"~": (t) => ~Number(this.#
|
|
18470
|
+
"~": (t) => ~Number(this.#t(t.shift())),
|
|
18471
18471
|
// UnaryNegate: a=> - Number(this.#calc(a.shift())),
|
|
18472
18472
|
UnaryNegate: (t) => -this.#r.Number(t),
|
|
18473
18473
|
// Unaryplus: a=> this.#hFnc['Number'](a),
|
|
18474
18474
|
// 乗算、除算、剰余
|
|
18475
|
-
"**": (t) => Number(this.#
|
|
18476
|
-
"*": (t) => Number(this.#
|
|
18477
|
-
"/": (t) => Number(this.#
|
|
18475
|
+
"**": (t) => Number(this.#t(t.shift())) ** Number(this.#t(t.shift())),
|
|
18476
|
+
"*": (t) => Number(this.#t(t.shift())) * Number(this.#t(t.shift())),
|
|
18477
|
+
"/": (t) => Number(this.#t(t.shift())) / Number(this.#t(t.shift())),
|
|
18478
18478
|
"¥": (t) => Math.floor(this.#r["/"](t)),
|
|
18479
|
-
"%": (t) => Number(this.#
|
|
18479
|
+
"%": (t) => Number(this.#t(t.shift())) % Number(this.#t(t.shift())),
|
|
18480
18480
|
// 加算、減算、文字列の連結
|
|
18481
18481
|
"+": (t) => {
|
|
18482
|
-
const e = this.#
|
|
18482
|
+
const e = this.#t(t.shift()), r = this.#t(t.shift());
|
|
18483
18483
|
return Object.prototype.toString.call(e) === "[object String]" || Object.prototype.toString.call(r) === "[object String]" ? String(e) + String(r) : Number(e) + Number(r);
|
|
18484
18484
|
},
|
|
18485
|
-
"-": (t) => Number(this.#
|
|
18485
|
+
"-": (t) => Number(this.#t(t.shift())) - Number(this.#t(t.shift())),
|
|
18486
18486
|
// 関数
|
|
18487
18487
|
int: (t) => int(this.#i(t.shift())),
|
|
18488
18488
|
parseInt: (t) => int(this.#r.Number(t)),
|
|
18489
18489
|
Number: (t) => {
|
|
18490
|
-
const e = this.#
|
|
18491
|
-
return Object.prototype.toString.call(e) === "[object String]" ? this.#i(this.#
|
|
18490
|
+
const e = this.#t(t.shift());
|
|
18491
|
+
return Object.prototype.toString.call(e) === "[object String]" ? this.#i(this.#e.parse(String(e)).value) : Number(e);
|
|
18492
18492
|
},
|
|
18493
18493
|
Boolean: (t) => {
|
|
18494
18494
|
const e = t.shift();
|
|
18495
|
-
return e[0] === "!bool!" ? !!e[1] : !!this.#
|
|
18495
|
+
return e[0] === "!bool!" ? !!e[1] : !!this.#t(e);
|
|
18496
18496
|
},
|
|
18497
18497
|
ceil: (t) => Math.ceil(this.#i(t.shift())),
|
|
18498
18498
|
floor: (t) => Math.floor(this.#i(t.shift())),
|
|
18499
18499
|
round: (t) => Math.round(this.#i(t.shift())),
|
|
18500
18500
|
isNaN: (t) => Number.isNaN(this.#i(t.shift())),
|
|
18501
18501
|
// ビットシフト
|
|
18502
|
-
"<<": (t) => Number(this.#
|
|
18503
|
-
">>": (t) => Number(this.#
|
|
18504
|
-
">>>": (t) => Number(this.#
|
|
18502
|
+
"<<": (t) => Number(this.#t(t.shift())) << Number(this.#t(t.shift())),
|
|
18503
|
+
">>": (t) => Number(this.#t(t.shift())) >> Number(this.#t(t.shift())),
|
|
18504
|
+
">>>": (t) => Number(this.#t(t.shift())) >>> Number(this.#t(t.shift())),
|
|
18505
18505
|
// 等値、非等値、厳密等価、厳密非等価
|
|
18506
|
-
"<": (t) => Number(this.#
|
|
18507
|
-
"<=": (t) => Number(this.#
|
|
18508
|
-
">": (t) => Number(this.#
|
|
18509
|
-
">=": (t) => Number(this.#
|
|
18506
|
+
"<": (t) => Number(this.#t(t.shift())) < Number(this.#t(t.shift())),
|
|
18507
|
+
"<=": (t) => Number(this.#t(t.shift())) <= Number(this.#t(t.shift())),
|
|
18508
|
+
">": (t) => Number(this.#t(t.shift())) > Number(this.#t(t.shift())),
|
|
18509
|
+
">=": (t) => Number(this.#t(t.shift())) >= Number(this.#t(t.shift())),
|
|
18510
18510
|
// 小なり、以下、大なり、以上
|
|
18511
18511
|
"==": (t) => {
|
|
18512
|
-
const e = this.#
|
|
18512
|
+
const e = this.#t(t.shift()), r = this.#t(t.shift());
|
|
18513
18513
|
return e == null && r == null && (!e || !r) ? e == r : String(e) === String(r);
|
|
18514
18514
|
},
|
|
18515
18515
|
"!=": (t) => !this.#r["=="](t),
|
|
18516
18516
|
"===": (t) => {
|
|
18517
|
-
const e = this.#
|
|
18517
|
+
const e = this.#t(t.shift()), r = this.#t(t.shift());
|
|
18518
18518
|
return Object.prototype.toString.call(e) != Object.prototype.toString.call(r) ? !1 : String(e) === String(r);
|
|
18519
18519
|
},
|
|
18520
18520
|
"!==": (t) => !this.#r["==="](t),
|
|
18521
18521
|
// ビット演算子
|
|
18522
|
-
"&": (t) => Number(this.#
|
|
18523
|
-
"^": (t) => Number(this.#
|
|
18524
|
-
"|": (t) => Number(this.#
|
|
18522
|
+
"&": (t) => Number(this.#t(t.shift())) & Number(this.#t(t.shift())),
|
|
18523
|
+
"^": (t) => Number(this.#t(t.shift())) ^ Number(this.#t(t.shift())),
|
|
18524
|
+
"|": (t) => Number(this.#t(t.shift())) | Number(this.#t(t.shift())),
|
|
18525
18525
|
// 論理 AND,OR
|
|
18526
|
-
"&&": (t) => String(this.#
|
|
18527
|
-
"||": (t) => String(this.#
|
|
18526
|
+
"&&": (t) => String(this.#t(t.shift())) === "true" && String(this.#t(t.shift())) === "true",
|
|
18527
|
+
"||": (t) => String(this.#t(t.shift())) === "true" || String(this.#t(t.shift())) === "true",
|
|
18528
18528
|
// 条件
|
|
18529
18529
|
"?": (t) => {
|
|
18530
18530
|
const e = this.#r.Boolean(t), r = t.shift();
|
|
18531
18531
|
if (r[0] !== ":")
|
|
18532
18532
|
throw Error("(PropParser)三項演算子の文法エラーです。: が見つかりません");
|
|
18533
|
-
return this.#
|
|
18533
|
+
return this.#t(r[e ? 1 : 2]);
|
|
18534
18534
|
},
|
|
18535
18535
|
":": () => {
|
|
18536
18536
|
throw Error("(PropParser)三項演算子の文法エラーです。? が見つかりません");
|
|
18537
18537
|
}
|
|
18538
18538
|
};
|
|
18539
18539
|
#i(t) {
|
|
18540
|
-
const e = this.#
|
|
18540
|
+
const e = this.#t(t);
|
|
18541
18541
|
if (Object.prototype.toString.call(e) !== "[object Number]")
|
|
18542
18542
|
throw Error("(PropParser)引数【" + e + "】が数値ではありません");
|
|
18543
18543
|
return Number(e);
|
|
@@ -18582,13 +18582,13 @@ class PropParser {
|
|
|
18582
18582
|
}
|
|
18583
18583
|
class DebugMng {
|
|
18584
18584
|
constructor(t, e, r) {
|
|
18585
|
-
this.sys = t, DebugMng.#
|
|
18585
|
+
this.sys = t, DebugMng.#e = r, DebugMng.#t = e, DebugMng.#r = e.title, DebugMng.myTrace = DebugMng.#l, e.log = (N) => this.#o(N), e.trace = (N) => this.#h(N), DebugMng.#i = document.createElement("span"), DebugMng.#i.hidden = !0, DebugMng.#i.textContent = "", DebugMng.#i.style.cssText = ` z-index: ${Number.MAX_SAFE_INTEGER};
|
|
18586
18586
|
position: absolute; left: 0; top: 0;
|
|
18587
18587
|
color: black;
|
|
18588
18588
|
background-color: rgba(255, 255, 255, 0.7);`, document.body.appendChild(DebugMng.#i);
|
|
18589
18589
|
}
|
|
18590
|
-
static #t;
|
|
18591
18590
|
static #e;
|
|
18591
|
+
static #t;
|
|
18592
18592
|
static #r;
|
|
18593
18593
|
static #i;
|
|
18594
18594
|
destroy() {
|
|
@@ -18601,7 +18601,7 @@ class DebugMng {
|
|
|
18601
18601
|
return this.#n && (this.#n = !1, e = `== ${platform.description} ==
|
|
18602
18602
|
`), this.sys.appendFile(
|
|
18603
18603
|
this.sys.path_downloads + "log.txt",
|
|
18604
|
-
`${e}--- ${getDateStr("-", "_", "")} [fn:${DebugMng.#
|
|
18604
|
+
`${e}--- ${getDateStr("-", "_", "")} [fn:${DebugMng.#e.scriptFn} line:${DebugMng.#e.lineNum}] prj:${this.sys.cur}
|
|
18605
18605
|
${t.text || `(text is ${t.text})`}
|
|
18606
18606
|
`,
|
|
18607
18607
|
(r) => {
|
|
@@ -18636,7 +18636,7 @@ ${t.text || `(text is ${t.text})`}
|
|
|
18636
18636
|
console.info("%c" + r, N);
|
|
18637
18637
|
}
|
|
18638
18638
|
static myTrace = DebugMng.trace_beforeNew;
|
|
18639
|
-
static strPos = () => DebugMng.#
|
|
18639
|
+
static strPos = () => DebugMng.#e && DebugMng.#e.lineNum > 0 ? `(fn:${DebugMng.#e.scriptFn} line:${DebugMng.#e.lineNum}) ` : "";
|
|
18640
18640
|
static #l(t, e = "E") {
|
|
18641
18641
|
let r = `{${e}} ` + DebugMng.strPos() + t;
|
|
18642
18642
|
DebugMng.#p(r, e);
|
|
@@ -18653,7 +18653,7 @@ ${t.text || `(text is ${t.text})`}
|
|
|
18653
18653
|
break;
|
|
18654
18654
|
case "ET":
|
|
18655
18655
|
case "E":
|
|
18656
|
-
if (DebugMng.#r({ text: t }), this.#
|
|
18656
|
+
if (DebugMng.#r({ text: t }), this.#t.dump_lay({}), this.#t.dump_val({}), DebugMng.#e.dumpErrForeLine(), this.#t.dump_stack({}), e === "ET")
|
|
18657
18657
|
throw r;
|
|
18658
18658
|
console.error("%c" + r, "color:#F30;");
|
|
18659
18659
|
return;
|
|
@@ -18736,7 +18736,7 @@ class Areas {
|
|
|
18736
18736
|
}
|
|
18737
18737
|
class Variable {
|
|
18738
18738
|
constructor(t, e) {
|
|
18739
|
-
if (this.cfg = t, e.let = (k) => this.#v(k), e.let_abs = (k) => this.#u(k), e.let_char_at = (k) => this.#b(k), e.let_index_of = (k) => this.#a(k), e.let_length = (k) => this.#m(k), e.let_replace = (k) => this.#y(k), e.let_round = (k) => this.#_(k), e.let_search = (k) => this.#T(k), e.let_substr = (k) => this.#I(k), e.clearsysvar = () => this.#S(), e.clearvar = () => this.#E(), e.dump_val = () => this.#O(), e.copybookmark = (k) => this.#f(k), e.erasebookmark = (k) => this.#d(k), this.#
|
|
18739
|
+
if (this.cfg = t, e.let = (k) => this.#v(k), e.let_abs = (k) => this.#u(k), e.let_char_at = (k) => this.#b(k), e.let_index_of = (k) => this.#a(k), e.let_length = (k) => this.#m(k), e.let_replace = (k) => this.#y(k), e.let_round = (k) => this.#_(k), e.let_search = (k) => this.#T(k), e.let_substr = (k) => this.#I(k), e.clearsysvar = () => this.#S(), e.clearvar = () => this.#E(), e.dump_val = () => this.#O(), e.copybookmark = (k) => this.#f(k), e.erasebookmark = (k) => this.#d(k), this.#t["sn.userFnTail"] = "", this.defTmp("const.sn.bookmark.json", () => {
|
|
18740
18740
|
const k = [];
|
|
18741
18741
|
for (const D of Object.keys(this.#n.mark).sort()) {
|
|
18742
18742
|
const B = { ...this.#n.mark[D].json };
|
|
@@ -18748,9 +18748,9 @@ class Variable {
|
|
|
18748
18748
|
const r = window, N = r.AudioContext ?? r.webkitAudioContext;
|
|
18749
18749
|
this.#r["const.sn.needClick2Play"] = () => new N().state === "suspended";
|
|
18750
18750
|
}
|
|
18751
|
-
#
|
|
18752
|
-
#
|
|
18753
|
-
#r = this.#
|
|
18751
|
+
#e = { sys: {}, save: {}, tmp: {}, mp: {} };
|
|
18752
|
+
#t = this.#e.save;
|
|
18753
|
+
#r = this.#e.tmp;
|
|
18754
18754
|
#i;
|
|
18755
18755
|
#n = { sys: {}, mark: {}, kidoku: {} };
|
|
18756
18756
|
#o;
|
|
@@ -18766,7 +18766,7 @@ class Variable {
|
|
|
18766
18766
|
k["sys:" + z] = V instanceof Function ? V() : V;
|
|
18767
18767
|
sessionStorage[r + "sys"] = JSON.stringify(k);
|
|
18768
18768
|
const D = {};
|
|
18769
|
-
for (const [z, V] of Object.entries(this.#
|
|
18769
|
+
for (const [z, V] of Object.entries(this.#t))
|
|
18770
18770
|
D["save:" + z] = V instanceof Function ? V() : V;
|
|
18771
18771
|
sessionStorage[r + "save"] = JSON.stringify(D);
|
|
18772
18772
|
const B = {};
|
|
@@ -18774,7 +18774,7 @@ class Variable {
|
|
|
18774
18774
|
B[z] = V instanceof Function ? V() : V;
|
|
18775
18775
|
sessionStorage[r + "tmp"] = JSON.stringify(B);
|
|
18776
18776
|
const $ = {};
|
|
18777
|
-
for (const [z, V] of Object.entries(this.#
|
|
18777
|
+
for (const [z, V] of Object.entries(this.#e.mp))
|
|
18778
18778
|
$[z] = V instanceof Function ? V() : V;
|
|
18779
18779
|
sessionStorage[r + "mp"] = JSON.stringify($);
|
|
18780
18780
|
const U = {};
|
|
@@ -18792,7 +18792,7 @@ class Variable {
|
|
|
18792
18792
|
}
|
|
18793
18793
|
#p = {
|
|
18794
18794
|
auth: (t, e) => this.#s(e.hBreakpoint.aData),
|
|
18795
|
-
var: (t, e) => this.#i.send2Dbg(e.ri, { v: this.#
|
|
18795
|
+
var: (t, e) => this.#i.send2Dbg(e.ri, { v: this.#e[e.scope] ?? {} }),
|
|
18796
18796
|
set_var: (t, e) => {
|
|
18797
18797
|
try {
|
|
18798
18798
|
this.#B(e.nm, e.val), this.#i.send2Dbg(e.ri, {});
|
|
@@ -18810,7 +18810,7 @@ class Variable {
|
|
|
18810
18810
|
Variable.#N[e.dataId] = 1;
|
|
18811
18811
|
}
|
|
18812
18812
|
updateData(t) {
|
|
18813
|
-
this.#n = t, this.#o = this.#
|
|
18813
|
+
this.#n = t, this.#o = this.#e.sys = this.#n.sys, this.#h = {};
|
|
18814
18814
|
for (const [e, r] of Object.entries(this.#n.kidoku)) {
|
|
18815
18815
|
const N = new Areas();
|
|
18816
18816
|
N.hAreas = { ...r }, this.#h[e] = N;
|
|
@@ -18831,20 +18831,20 @@ class Variable {
|
|
|
18831
18831
|
this.#r[t] = e;
|
|
18832
18832
|
}
|
|
18833
18833
|
cloneMp() {
|
|
18834
|
-
return { ...this.#
|
|
18834
|
+
return { ...this.#e.mp };
|
|
18835
18835
|
}
|
|
18836
18836
|
setMp(t) {
|
|
18837
|
-
this.#
|
|
18837
|
+
this.#e.mp = t;
|
|
18838
18838
|
}
|
|
18839
18839
|
setMark(t, e) {
|
|
18840
18840
|
this.#n.mark[t] = e, this.flush();
|
|
18841
18841
|
}
|
|
18842
18842
|
getMark = (t) => this.#n.mark[t];
|
|
18843
18843
|
cloneSave() {
|
|
18844
|
-
return { ...this.#
|
|
18844
|
+
return { ...this.#e.save };
|
|
18845
18845
|
}
|
|
18846
18846
|
mark2save(t) {
|
|
18847
|
-
this.#
|
|
18847
|
+
this.#t = this.#e.save = { ...t.hSave }, this.#x = this.#t["sn.doRecLog"] ?? !1;
|
|
18848
18848
|
}
|
|
18849
18849
|
// 既読系
|
|
18850
18850
|
loadScrWork(t) {
|
|
@@ -18953,16 +18953,16 @@ class Variable {
|
|
|
18953
18953
|
// // デバッグ・その他
|
|
18954
18954
|
// システム変数の全消去
|
|
18955
18955
|
#S() {
|
|
18956
|
-
const t = this.#o = this.#
|
|
18956
|
+
const t = this.#o = this.#e.sys = this.#n.sys = {};
|
|
18957
18957
|
typeof process < "u" || (this.setVal_Nochk("sys", "const.sn.window.x", 0), this.setVal_Nochk("sys", "const.sn.window.y", 0)), this.setVal_Nochk("sys", "sn.tagCh.doWait", !0), this.setVal_Nochk("sys", "sn.tagCh.doWait_Kidoku", !0), this.setVal_Nochk("sys", "sn.tagCh.msecWait", this.cfg.oCfg.init.tagch_msecwait), this.setVal_Nochk("sys", "sn.tagCh.msecWait_Kidoku", this.cfg.oCfg.init.tagch_msecwait), this.setVal_Nochk("sys", "sn.tagCh.canskip", !0), this.setVal_Nochk("sys", "sn.skip.mode", "s"), this.setVal_Nochk("sys", "sn.auto.msecPageWait", argChk_Num(t, "sn.auto.msecPageWait", this.cfg.oCfg.init.auto_msecpagewait ?? 3500)), this.setVal_Nochk("sys", "sn.auto.msecPageWait_Kidoku", argChk_Num(t, "sn.auto.msecPageWait", this.cfg.oCfg.init.auto_msecpagewait ?? 3500)), this.setVal_Nochk("sys", "sn.auto.msecLineWait", 500), this.setVal_Nochk("sys", "sn.auto.msecLineWait_Kidoku", 500), this.setVal_Nochk("sys", "const.sn.sound.BGM.volume", 1), this.setVal_Nochk("sys", "const.sn.sound.SE.volume", 1), this.setVal_Nochk("sys", "const.sn.sound.SYS.volume", 1);
|
|
18958
18958
|
for (const [r, N] of Object.entries(this.#n.kidoku))
|
|
18959
18959
|
N.hAreas = {}, this.#h[r].clear();
|
|
18960
|
-
return this.setVal_Nochk("sys", "TextLayer.Back.Alpha", 0.5), this.#
|
|
18960
|
+
return this.setVal_Nochk("sys", "TextLayer.Back.Alpha", 0.5), this.#e.mark = this.#n.mark = {}, this.setVal_Nochk("sys", "const.sn.save.place", 1), this.flush(), !1;
|
|
18961
18961
|
}
|
|
18962
18962
|
// ゲーム変数の全消去
|
|
18963
18963
|
#E() {
|
|
18964
|
-
const t = this.#
|
|
18965
|
-
return this.#
|
|
18964
|
+
const t = this.#t["const.sn.mesLayer"] ?? "", e = this.#t["sn.doRecLog"] ?? !1, r = this.#t["const.sn.sLog"] ?? "[]";
|
|
18965
|
+
return this.#t = this.#e.save = {}, this.setVal_Nochk("save", "const.sn.mesLayer", t), this.setVal_Nochk("save", "sn.doRecLog", e), this.setVal_Nochk("save", "const.sn.sLog", r), !1;
|
|
18966
18966
|
}
|
|
18967
18967
|
#B = (t, e, r = !0) => {
|
|
18968
18968
|
if (!t)
|
|
@@ -18972,7 +18972,7 @@ class Variable {
|
|
|
18972
18972
|
const N = PropParser.getValName(t);
|
|
18973
18973
|
if (N === null)
|
|
18974
18974
|
throw "[変数参照] name(" + t + ")が変数名として異常です";
|
|
18975
|
-
const k = this.#
|
|
18975
|
+
const k = this.#e[N.scope];
|
|
18976
18976
|
if (!k)
|
|
18977
18977
|
throw "[変数に値セット] scopeが異常【" + N.scope + "】です";
|
|
18978
18978
|
const D = N.name;
|
|
@@ -18981,7 +18981,7 @@ class Variable {
|
|
|
18981
18981
|
this.setVal_Nochk(N.scope, D, e, r);
|
|
18982
18982
|
};
|
|
18983
18983
|
setVal_Nochk(t, e, r, N = !1) {
|
|
18984
|
-
const k = this.#
|
|
18984
|
+
const k = this.#e[t];
|
|
18985
18985
|
N && (r = this.#P(r));
|
|
18986
18986
|
const D = t + ":" + e;
|
|
18987
18987
|
if (D in Variable.#N) {
|
|
@@ -19002,7 +19002,7 @@ class Variable {
|
|
|
19002
19002
|
const r = PropParser.getValName(t);
|
|
19003
19003
|
if (r === null)
|
|
19004
19004
|
throw "[変数参照] name(" + t + ")が変数名として異常です";
|
|
19005
|
-
const N = this.#
|
|
19005
|
+
const N = this.#e[r.scope];
|
|
19006
19006
|
if (!N)
|
|
19007
19007
|
throw "[変数参照] scopeが異常【" + r.scope + "】です";
|
|
19008
19008
|
const k = r.name;
|
|
@@ -19055,7 +19055,7 @@ class Variable {
|
|
|
19055
19055
|
#O = () => {
|
|
19056
19056
|
const t = { tmp: {}, sys: {}, save: {}, mp: {} };
|
|
19057
19057
|
for (let e in t) {
|
|
19058
|
-
const r = this.#
|
|
19058
|
+
const r = this.#e[e], N = t[e];
|
|
19059
19059
|
for (let [k, D] of Object.entries(r))
|
|
19060
19060
|
N[k] = Object.prototype.toString.call(D) === "[object Function]" ? D() : D;
|
|
19061
19061
|
}
|
|
@@ -19118,7 +19118,7 @@ class Variable {
|
|
|
19118
19118
|
argChk_Num(this.#o, t, 500);
|
|
19119
19119
|
}
|
|
19120
19120
|
#k(t) {
|
|
19121
|
-
return argChk_Boolean(this.#
|
|
19121
|
+
return argChk_Boolean(this.#t, t, !0);
|
|
19122
19122
|
}
|
|
19123
19123
|
}
|
|
19124
19124
|
var Easing = Object.freeze({
|
|
@@ -19509,12 +19509,12 @@ var removeAll = TWEEN.removeAll.bind(TWEEN);
|
|
|
19509
19509
|
TWEEN.add.bind(TWEEN);
|
|
19510
19510
|
var remove$6 = TWEEN.remove.bind(TWEEN), update = TWEEN.update.bind(TWEEN);
|
|
19511
19511
|
class CmnTween {
|
|
19512
|
-
static #
|
|
19513
|
-
static #
|
|
19512
|
+
static #e = {};
|
|
19513
|
+
static #t;
|
|
19514
19514
|
static #r;
|
|
19515
19515
|
static #i;
|
|
19516
19516
|
static init(t, e, r) {
|
|
19517
|
-
CmnTween.#
|
|
19517
|
+
CmnTween.#e = {}, CmnTween.#t = t, CmnTween.#r = e, CmnTween.#i = r, CmnTween.#i.ticker.add(CmnTween.#n);
|
|
19518
19518
|
}
|
|
19519
19519
|
static #n = () => update();
|
|
19520
19520
|
static destroy() {
|
|
@@ -19591,15 +19591,15 @@ class CmnTween {
|
|
|
19591
19591
|
}
|
|
19592
19592
|
// トゥイーン全停止
|
|
19593
19593
|
static stopAllTw() {
|
|
19594
|
-
CmnTween.#
|
|
19594
|
+
CmnTween.#e = {}, removeAll();
|
|
19595
19595
|
}
|
|
19596
19596
|
static tween(t, e, r, N, k, D, B) {
|
|
19597
19597
|
const $ = CmnTween.tweenA(t, e, r, N, k, D, B);
|
|
19598
19598
|
CmnTween.tweenB(e.chain, $);
|
|
19599
19599
|
}
|
|
19600
19600
|
static tweenA(t, e, r, N, k, D, B) {
|
|
19601
|
-
const $ = this.#
|
|
19602
|
-
CmnTween.setTwProp(U, e), CmnTween.#
|
|
19601
|
+
const $ = this.#t.isSkipping() ? 0 : argChk_Num(e, "time", NaN), U = new Tween(r).to(N, $).onUpdate(k);
|
|
19602
|
+
CmnTween.setTwProp(U, e), CmnTween.#e[t] = { tw: U, resume: !1, onEnd: B };
|
|
19603
19603
|
const { path: H } = e;
|
|
19604
19604
|
let z = U;
|
|
19605
19605
|
if (H) {
|
|
@@ -19624,13 +19624,13 @@ class CmnTween {
|
|
|
19624
19624
|
CmnLib.debugLog && console.groupEnd();
|
|
19625
19625
|
}
|
|
19626
19626
|
return z.onComplete(() => {
|
|
19627
|
-
const V = CmnTween.#
|
|
19628
|
-
V && (delete CmnTween.#
|
|
19627
|
+
const V = CmnTween.#e[t];
|
|
19628
|
+
V && (delete CmnTween.#e[t], V.tw = void 0, U.stop(), V.resume && CmnTween.#r.resume(), V.onEnd?.(), D());
|
|
19629
19629
|
}), U;
|
|
19630
19630
|
}
|
|
19631
19631
|
static tweenB(t, e) {
|
|
19632
19632
|
if (t) {
|
|
19633
|
-
const r = CmnTween.#
|
|
19633
|
+
const r = CmnTween.#e[t];
|
|
19634
19634
|
if (!r?.tw)
|
|
19635
19635
|
throw `${t}は存在しない・または終了したトゥイーンです`;
|
|
19636
19636
|
delete r.onEnd, r.tw.chain(e);
|
|
@@ -19657,17 +19657,17 @@ class CmnTween {
|
|
|
19657
19657
|
static #h = /\(\s*(?:(?<x>[-=\d\.]+)|(['"])(?<x2>.*?)\2)?(?:\s*,\s*(?:(?<y>[-=\d\.]+)|(['"])(?<y2>.*?)\5)?(?:\s*,\s*(?:(?<o>[-=\d\.]+)|(['"])(?<o2>.*?)\8))?)?|(?<json>\{[^{}]*})/g;
|
|
19658
19658
|
// トランス終了待ち
|
|
19659
19659
|
static wt(t) {
|
|
19660
|
-
const e = CmnTween.#
|
|
19661
|
-
return e?.tw ? e.resume = CmnTween.#
|
|
19660
|
+
const e = CmnTween.#e[CmnTween.TW_INT_TRANS];
|
|
19661
|
+
return e?.tw ? e.resume = CmnTween.#t.waitEvent(t, () => CmnTween.finish_trans()) : !1;
|
|
19662
19662
|
}
|
|
19663
19663
|
static TW_INT_TRANS = `trans
|
|
19664
19664
|
`;
|
|
19665
19665
|
static get isTrans() {
|
|
19666
|
-
return CmnTween.#
|
|
19666
|
+
return CmnTween.#e[CmnTween.TW_INT_TRANS]?.tw !== void 0;
|
|
19667
19667
|
}
|
|
19668
19668
|
// レイヤのトランジションの停止
|
|
19669
19669
|
static finish_trans() {
|
|
19670
|
-
return CmnTween.#
|
|
19670
|
+
return CmnTween.#e[CmnTween.TW_INT_TRANS]?.tw?.end(), !1;
|
|
19671
19671
|
}
|
|
19672
19672
|
// トゥイーン終了待ち
|
|
19673
19673
|
static wait_tsy(t) {
|
|
@@ -19675,8 +19675,8 @@ class CmnTween {
|
|
|
19675
19675
|
${r}` : N ?? e;
|
|
19676
19676
|
if (!k)
|
|
19677
19677
|
throw "トゥイーンが指定されていません";
|
|
19678
|
-
const D = CmnTween.#
|
|
19679
|
-
return D?.tw ? D.resume = CmnTween.#
|
|
19678
|
+
const D = CmnTween.#e[k];
|
|
19679
|
+
return D?.tw ? D.resume = CmnTween.#t.waitEvent(t, () => D.tw?.end()) : !1;
|
|
19680
19680
|
}
|
|
19681
19681
|
// トゥイーン中断
|
|
19682
19682
|
static stop_tsy(t) {
|
|
@@ -19684,7 +19684,7 @@ ${r}` : N ?? e;
|
|
|
19684
19684
|
${r}` : N ?? e;
|
|
19685
19685
|
if (!k)
|
|
19686
19686
|
throw "トゥイーンが指定されていません";
|
|
19687
|
-
return CmnTween.#
|
|
19687
|
+
return CmnTween.#e[k]?.tw?.end(), !1;
|
|
19688
19688
|
}
|
|
19689
19689
|
// 一時停止
|
|
19690
19690
|
static pause_tsy(t) {
|
|
@@ -19692,7 +19692,7 @@ ${r}` : N ?? e;
|
|
|
19692
19692
|
${r}` : N ?? e;
|
|
19693
19693
|
if (!k)
|
|
19694
19694
|
throw "トゥイーンが指定されていません";
|
|
19695
|
-
return CmnTween.#
|
|
19695
|
+
return CmnTween.#e[k]?.tw?.pause(), !1;
|
|
19696
19696
|
}
|
|
19697
19697
|
// 一時停止再開
|
|
19698
19698
|
static resume_tsy(t) {
|
|
@@ -19700,7 +19700,7 @@ ${r}` : N ?? e;
|
|
|
19700
19700
|
${r}` : N ?? e;
|
|
19701
19701
|
if (!k)
|
|
19702
19702
|
throw "トゥイーンが指定されていません";
|
|
19703
|
-
return CmnTween.#
|
|
19703
|
+
return CmnTween.#e[k]?.tw?.resume(), !1;
|
|
19704
19704
|
}
|
|
19705
19705
|
}
|
|
19706
19706
|
/*!
|
|
@@ -20675,17 +20675,17 @@ var y = p.filter(function(o) {
|
|
|
20675
20675
|
"extensions" in n ? extensions.add(m) : Loader.registerPlugin(m);
|
|
20676
20676
|
let cfg$1, val$1, main$3, sys, evtMng;
|
|
20677
20677
|
class SndBuf {
|
|
20678
|
-
static #
|
|
20678
|
+
static #e = {};
|
|
20679
20679
|
static init(t, e, r, N) {
|
|
20680
|
-
SndBuf.#
|
|
20680
|
+
SndBuf.#e = {}, cfg$1 = t, val$1 = e, main$3 = r, sys = N;
|
|
20681
20681
|
}
|
|
20682
20682
|
static setEvtMng(t) {
|
|
20683
20683
|
evtMng = t;
|
|
20684
20684
|
}
|
|
20685
20685
|
static delLoopPlay(t) {
|
|
20686
|
-
delete SndBuf.#
|
|
20686
|
+
delete SndBuf.#e[t];
|
|
20687
20687
|
const e = "const.sn.sound." + t + ".";
|
|
20688
|
-
val$1.setVal_Nochk("save", e + "fn", ""), val$1.setVal_Nochk("save", "const.sn.loopPlaying", JSON.stringify(SndBuf.#
|
|
20688
|
+
val$1.setVal_Nochk("save", e + "fn", ""), val$1.setVal_Nochk("save", "const.sn.loopPlaying", JSON.stringify(SndBuf.#e)), val$1.flush();
|
|
20689
20689
|
}
|
|
20690
20690
|
static getVol(t, e) {
|
|
20691
20691
|
const r = argChk_Num(t, "volume", e);
|
|
@@ -20696,9 +20696,9 @@ class SndBuf {
|
|
|
20696
20696
|
if (e === r)
|
|
20697
20697
|
return;
|
|
20698
20698
|
const N = "const.sn.sound." + e + ".", k = Number(val$1.getVal("save:" + N + "volume")), D = String(val$1.getVal("save:" + N + "fn")), B = "const.sn.sound." + r + ".", $ = Number(val$1.getVal("save:" + B + "volume")), U = String(val$1.getVal("save:" + B + "fn"));
|
|
20699
|
-
val$1.setVal_Nochk("save", N + "volume", $), val$1.setVal_Nochk("save", B + "volume", k), val$1.setVal_Nochk("save", N + "fn", U), val$1.setVal_Nochk("save", B + "fn", D), e in SndBuf.#
|
|
20699
|
+
val$1.setVal_Nochk("save", N + "volume", $), val$1.setVal_Nochk("save", B + "volume", k), val$1.setVal_Nochk("save", N + "fn", U), val$1.setVal_Nochk("save", B + "fn", D), e in SndBuf.#e != r in SndBuf.#e && (e in SndBuf.#e ? (delete SndBuf.#e[e], SndBuf.#e[r] = 0) : (delete SndBuf.#e[r], SndBuf.#e[e] = 0), val$1.setVal_Nochk("save", "const.sn.loopPlaying", JSON.stringify(SndBuf.#e))), val$1.flush();
|
|
20700
20700
|
}
|
|
20701
|
-
#
|
|
20701
|
+
#t;
|
|
20702
20702
|
static #r = 999e3;
|
|
20703
20703
|
init(t) {
|
|
20704
20704
|
const { buf: e = "SE", fn: r = "" } = t, N = argChk_Num(t, "start_ms", 0), k = argChk_Num(t, "end_ms", SndBuf.#r), D = argChk_Num(t, "ret_ms", 0), B = argChk_Num(t, "pan", 0), $ = argChk_Num(t, "speed", 1);
|
|
@@ -20717,9 +20717,9 @@ class SndBuf {
|
|
|
20717
20717
|
const H = SndBuf.getVol(t, 1);
|
|
20718
20718
|
val$1.setVal_Nochk("save", U + "volume", H);
|
|
20719
20719
|
const z = H * Number(val$1.getVal("sys:" + U + "volume", 1)), V = argChk_Boolean(t, "loop", !1);
|
|
20720
|
-
V ? (SndBuf.#
|
|
20720
|
+
V ? (SndBuf.#e[e] = 0, val$1.setVal_Nochk("save", "const.sn.loopPlaying", JSON.stringify(SndBuf.#e))) : SndBuf.delLoopPlay(e), val$1.setVal_Nochk("save", U + "start_ms", N), val$1.setVal_Nochk("save", U + "end_ms", k), val$1.setVal_Nochk("save", U + "ret_ms", D), val$1.setVal_Nochk("tmp", U + "playing", !0), val$1.flush();
|
|
20721
20721
|
const X = R.find(r);
|
|
20722
|
-
this.#
|
|
20722
|
+
this.#t = {
|
|
20723
20723
|
fn: r,
|
|
20724
20724
|
stt: X ? new SsPlaying() : new SsLoading(),
|
|
20725
20725
|
snd: X,
|
|
@@ -20738,7 +20738,7 @@ class SndBuf {
|
|
|
20738
20738
|
main$3.errScript(`Sound ロード失敗ですa fn:${r} ${K}`, !1);
|
|
20739
20739
|
return;
|
|
20740
20740
|
}
|
|
20741
|
-
Z && (this.#
|
|
20741
|
+
Z && (this.#t.snd = Z, this.#t.stt.onLoad(this.#t), B !== 0 && (Z.filters = [new T.StereoFilter(B)]));
|
|
20742
20742
|
}
|
|
20743
20743
|
};
|
|
20744
20744
|
let W = "";
|
|
@@ -20754,7 +20754,7 @@ class SndBuf {
|
|
|
20754
20754
|
Z(J, tt);
|
|
20755
20755
|
const et = tt, it = et.duration;
|
|
20756
20756
|
K.end < 0 && (K.end += it, et.removeSprites(W), et.addSprites(W, K)), K.end <= K.start && main$3.errScript(`[playse] end_ms:${k}(${K.end * 1e3}) >= start_ms:${N} は異常値です`), K.end * 1e3 <= D && main$3.errScript(`[playse] end_ms:${k}(${K.end * 1e3}) <= ret_ms:${D} は異常値です`), it <= K.start && main$3.errScript(`[playse] 音声ファイル再生時間:${it * 1e3} <= start_ms:${N} は異常値です`), k !== SndBuf.#r && it <= K.end && main$3.errScript(`[playse] 音声ファイル再生時間:${it * 1e3} <= end_ms:${k} は異常値です`), et.play(W, (st) => {
|
|
20757
|
-
q.complete?.(st), V || this.#
|
|
20757
|
+
q.complete?.(st), V || this.#t.stt.onPlayEnd();
|
|
20758
20758
|
});
|
|
20759
20759
|
};
|
|
20760
20760
|
} else
|
|
@@ -20777,13 +20777,13 @@ class SndBuf {
|
|
|
20777
20777
|
//- singleInstance?: boolean;
|
|
20778
20778
|
});
|
|
20779
20779
|
}) : q.complete = () => {
|
|
20780
|
-
stop2var(this.#
|
|
20780
|
+
stop2var(this.#t, e), this.#t.stt.onPlayEnd();
|
|
20781
20781
|
}, this.#i(), X) {
|
|
20782
20782
|
if (X.volume = z, W)
|
|
20783
20783
|
this.#n(r, q);
|
|
20784
20784
|
else if (X.isPlayable) {
|
|
20785
20785
|
const K = X.options.source;
|
|
20786
|
-
!(K instanceof ArrayBuffer) || K.byteLength === 0 ? X.play(q) : this.#
|
|
20786
|
+
!(K instanceof ArrayBuffer) || K.byteLength === 0 ? X.play(q) : this.#t.snd = E.from({
|
|
20787
20787
|
...q,
|
|
20788
20788
|
url: X.options.url,
|
|
20789
20789
|
source: K
|
|
@@ -20818,16 +20818,16 @@ class SndBuf {
|
|
|
20818
20818
|
e.source = k[t]?.data, E.from(e);
|
|
20819
20819
|
});
|
|
20820
20820
|
}
|
|
20821
|
-
ws = (t) => this.#
|
|
20821
|
+
ws = (t) => this.#t.stt.ws(this.#t, t);
|
|
20822
20822
|
stopse(t) {
|
|
20823
20823
|
const { buf: e = "SE" } = t;
|
|
20824
|
-
stop2var(this.#
|
|
20824
|
+
stop2var(this.#t, e), this.#t.stt.stopse(this.#t);
|
|
20825
20825
|
}
|
|
20826
20826
|
fade(t) {
|
|
20827
|
-
this.#
|
|
20827
|
+
this.#t.stt.fade(this.#t, t);
|
|
20828
20828
|
}
|
|
20829
|
-
wf = (t) => this.#
|
|
20830
|
-
stopfadese = (t) => this.#
|
|
20829
|
+
wf = (t) => this.#t.stt.wf(this.#t, t);
|
|
20830
|
+
stopfadese = (t) => this.#t.stt.stopfadese(this.#t, t);
|
|
20831
20831
|
}
|
|
20832
20832
|
function stop2var(o, t) {
|
|
20833
20833
|
if (o.loop)
|
|
@@ -21014,8 +21014,8 @@ class SoundMng {
|
|
|
21014
21014
|
constructor(t, e, r, N, k) {
|
|
21015
21015
|
this.val = r, e.volume = (D) => this.#i(D), e.fadebgm = (D) => this.#l(D), e.fadeoutbgm = (D) => this.#o(D), e.fadeoutse = (D) => this.#h(D), e.fadese = (D) => this.#p(D), e.playbgm = (D) => this.#s(D), e.playse = (D) => this.#c(D), e.stop_allse = () => this.#g(), e.stopbgm = (D) => this.#f(D), e.stopse = (D) => this.#d(D), e.wb = (D) => this.#v(D), e.wf = (D) => this.#u(D), e.stopfadese = (D) => this.#b(D), e.wl = (D) => this.#a(D), e.ws = (D) => this.#m(D), e.xchgbuf = (D) => this.#y(D), r.setVal_Nochk("save", "const.sn.loopPlaying", "{}"), r.setVal_Nochk("tmp", "const.sn.sound.codecs", JSON.stringify(I.supported)), SndBuf.init(t, r, N, k), R.disableAutoPause = !0;
|
|
21016
21016
|
}
|
|
21017
|
-
#t = {};
|
|
21018
21017
|
#e = {};
|
|
21018
|
+
#t = {};
|
|
21019
21019
|
#r;
|
|
21020
21020
|
setEvtMng(t) {
|
|
21021
21021
|
this.#r = t, SndBuf.setEvtMng(t);
|
|
@@ -21047,7 +21047,7 @@ class SoundMng {
|
|
|
21047
21047
|
// 効果音のフェード
|
|
21048
21048
|
#p(t) {
|
|
21049
21049
|
const { buf: e = "SE" } = t;
|
|
21050
|
-
return this.#b(t), this.#
|
|
21050
|
+
return this.#b(t), this.#e[e]?.fade(t), !1;
|
|
21051
21051
|
}
|
|
21052
21052
|
// BGM の演奏
|
|
21053
21053
|
#s(t) {
|
|
@@ -21058,16 +21058,16 @@ class SoundMng {
|
|
|
21058
21058
|
const { buf: e = "SE", fn: r } = t;
|
|
21059
21059
|
if (this.#d({ buf: e }), !r)
|
|
21060
21060
|
throw `[playse] fnは必須です buf:${e}`;
|
|
21061
|
-
return argChk_Boolean(t, "canskip", !0) && this.#r.isSkipping() ? !1 : (this.#
|
|
21061
|
+
return argChk_Boolean(t, "canskip", !0) && this.#r.isSkipping() ? !1 : (this.#e[e] = new SndBuf()).init(t);
|
|
21062
21062
|
}
|
|
21063
21063
|
clearCache() {
|
|
21064
21064
|
R.removeAll();
|
|
21065
21065
|
}
|
|
21066
21066
|
// 全効果音再生の停止
|
|
21067
21067
|
#g() {
|
|
21068
|
-
for (const t of Object.keys(this.#
|
|
21068
|
+
for (const t of Object.keys(this.#e))
|
|
21069
21069
|
this.#d({ buf: t });
|
|
21070
|
-
return this.#
|
|
21070
|
+
return this.#e = {}, R.stopAll(), !1;
|
|
21071
21071
|
}
|
|
21072
21072
|
// BGM 演奏の停止(loadから使うのでマクロ化禁止)
|
|
21073
21073
|
#f(t) {
|
|
@@ -21076,7 +21076,7 @@ class SoundMng {
|
|
|
21076
21076
|
// 効果音再生の停止
|
|
21077
21077
|
#d(t) {
|
|
21078
21078
|
const { buf: e = "SE" } = t;
|
|
21079
|
-
return this.#
|
|
21079
|
+
return this.#e[e]?.stopse(t), !1;
|
|
21080
21080
|
}
|
|
21081
21081
|
// BGM フェードの終了待ち
|
|
21082
21082
|
#v(t) {
|
|
@@ -21085,12 +21085,12 @@ class SoundMng {
|
|
|
21085
21085
|
// 効果音フェードの終了待ち
|
|
21086
21086
|
#u(t) {
|
|
21087
21087
|
const { buf: e = "SE" } = t;
|
|
21088
|
-
return this.#
|
|
21088
|
+
return this.#e[e]?.wf(t);
|
|
21089
21089
|
}
|
|
21090
21090
|
// 音声フェードの停止
|
|
21091
21091
|
#b(t) {
|
|
21092
21092
|
const { buf: e = "SE" } = t;
|
|
21093
|
-
return this.#
|
|
21093
|
+
return this.#e[e]?.stopfadese(t), !1;
|
|
21094
21094
|
}
|
|
21095
21095
|
// BGM 再生の終了待ち
|
|
21096
21096
|
#a(t) {
|
|
@@ -21099,12 +21099,12 @@ class SoundMng {
|
|
|
21099
21099
|
// 効果音再生の終了待ち
|
|
21100
21100
|
#m(t) {
|
|
21101
21101
|
const { buf: e = "SE" } = t;
|
|
21102
|
-
return this.#
|
|
21102
|
+
return this.#e[e]?.ws(t);
|
|
21103
21103
|
}
|
|
21104
21104
|
// 再生トラックの交換
|
|
21105
21105
|
#y(t) {
|
|
21106
21106
|
const { buf: e = "SE", buf2: r = "SE" } = t;
|
|
21107
|
-
return e === r || ([this.#
|
|
21107
|
+
return e === r || ([this.#e[e], this.#e[r]] = [this.#e[r], this.#e[e]], SndBuf.xchgbuf(t)), !1;
|
|
21108
21108
|
}
|
|
21109
21109
|
// しおりの読込(BGM状態復元)
|
|
21110
21110
|
playLoopFromSaveObj() {
|
|
@@ -21112,8 +21112,8 @@ class SoundMng {
|
|
|
21112
21112
|
const t = String(this.val.getVal("save:const.sn.loopPlaying", "{}"));
|
|
21113
21113
|
if (t === "{}")
|
|
21114
21114
|
return;
|
|
21115
|
-
this.#
|
|
21116
|
-
const e = Object.keys(this.#
|
|
21115
|
+
this.#t = JSON.parse(t);
|
|
21116
|
+
const e = Object.keys(this.#t).map((r) => () => {
|
|
21117
21117
|
const N = "save:const.sn.sound." + r + ".";
|
|
21118
21118
|
if (this.val.getVal(N + "start_ms") === void 0)
|
|
21119
21119
|
return;
|
|
@@ -21142,16 +21142,16 @@ class Pages {
|
|
|
21142
21142
|
const H = U(), z = U();
|
|
21143
21143
|
H.layname = z.layname = t;
|
|
21144
21144
|
const V = k[":id_tag"] = `layer:${t} cls:${e} page:`;
|
|
21145
|
-
H.spLay.name = H.name = V + "A", H.spLay.name = z.name = V + "B", r.addChild(H.spLay), N.addChild(z.spLay), argChk_Boolean(k, "visible", !0), argChk_Boolean(k, "visible", !0), $.isWait = H.lay(k) || z.lay(k), this.#
|
|
21145
|
+
H.spLay.name = H.name = V + "A", H.spLay.name = z.name = V + "B", r.addChild(H.spLay), N.addChild(z.spLay), argChk_Boolean(k, "visible", !0), argChk_Boolean(k, "visible", !0), $.isWait = H.lay(k) || z.lay(k), this.#e = { fore: H, back: z };
|
|
21146
21146
|
const X = `const.sn.lay.${t}`;
|
|
21147
|
-
B.setVal_Nochk("tmp", X, !0), B.defTmp(X + ".fore.alpha", () => this.#
|
|
21147
|
+
B.setVal_Nochk("tmp", X, !0), B.defTmp(X + ".fore.alpha", () => this.#e.fore.alpha), B.defTmp(X + ".back.alpha", () => this.#e.back.alpha), B.defTmp(X + ".fore.height", () => this.#e.fore.height), B.defTmp(X + ".back.height", () => this.#e.back.height), B.defTmp(X + ".fore.visible", () => this.#e.fore.spLay.visible), B.defTmp(X + ".back.visible", () => this.#e.back.spLay.visible), B.defTmp(X + ".fore.width", () => this.#e.fore.width), B.defTmp(X + ".back.width", () => this.#e.back.width), B.defTmp(X + ".fore.x", () => this.#e.fore.x), B.defTmp(X + ".back.x", () => this.#e.back.x), B.defTmp(X + ".fore.y", () => this.#e.fore.y), B.defTmp(X + ".back.y", () => this.#e.back.y);
|
|
21148
21148
|
}
|
|
21149
|
-
#
|
|
21149
|
+
#e;
|
|
21150
21150
|
destroy() {
|
|
21151
|
-
this.#
|
|
21151
|
+
this.#e.fore.destroy(), this.#e.back.destroy();
|
|
21152
21152
|
}
|
|
21153
21153
|
lay = (t) => this.getPage(t).lay(t);
|
|
21154
|
-
getPage = (t) => Pages.argChk_page(t, "fore") !== "back" ? this.#
|
|
21154
|
+
getPage = (t) => Pages.argChk_page(t, "fore") !== "back" ? this.#e.fore : this.#e.back;
|
|
21155
21155
|
static argChk_page(t, e) {
|
|
21156
21156
|
const r = t.page ?? e;
|
|
21157
21157
|
if (r === "fore" || r === "back")
|
|
@@ -21159,13 +21159,13 @@ class Pages {
|
|
|
21159
21159
|
throw Error("属性 page【" + r + "】が不正です");
|
|
21160
21160
|
}
|
|
21161
21161
|
get fore() {
|
|
21162
|
-
return this.#
|
|
21162
|
+
return this.#e.fore;
|
|
21163
21163
|
}
|
|
21164
21164
|
get back() {
|
|
21165
|
-
return this.#
|
|
21165
|
+
return this.#e.back;
|
|
21166
21166
|
}
|
|
21167
21167
|
transPage(t) {
|
|
21168
|
-
[this.#
|
|
21168
|
+
[this.#e.back, this.#e.fore] = [this.#e.fore, this.#e.back], this.#e.back.copy(this.#e.fore, t);
|
|
21169
21169
|
}
|
|
21170
21170
|
}
|
|
21171
21171
|
class Layer {
|
|
@@ -21257,12 +21257,12 @@ class Layer {
|
|
|
21257
21257
|
static getBlendmodeNum(t) {
|
|
21258
21258
|
if (!t)
|
|
21259
21259
|
return BLEND_MODES.NORMAL;
|
|
21260
|
-
const e = Layer.#
|
|
21260
|
+
const e = Layer.#e[t];
|
|
21261
21261
|
if (e !== void 0)
|
|
21262
21262
|
return e;
|
|
21263
21263
|
throw `${t} はサポートされない blendmode です`;
|
|
21264
21264
|
}
|
|
21265
|
-
static #
|
|
21265
|
+
static #e = {
|
|
21266
21266
|
normal: BLEND_MODES.NORMAL,
|
|
21267
21267
|
add: BLEND_MODES.ADD,
|
|
21268
21268
|
multiply: BLEND_MODES.MULTIPLY,
|
|
@@ -21300,9 +21300,9 @@ class Layer {
|
|
|
21300
21300
|
*/
|
|
21301
21301
|
};
|
|
21302
21302
|
static getNum2Blendmode(t) {
|
|
21303
|
-
return Layer.#
|
|
21303
|
+
return Layer.#t[t] ?? "normal";
|
|
21304
21304
|
}
|
|
21305
|
-
static #
|
|
21305
|
+
static #t = {
|
|
21306
21306
|
0: "normal",
|
|
21307
21307
|
1: "add",
|
|
21308
21308
|
2: "multiply",
|
|
@@ -21460,8 +21460,8 @@ class PicBtnDesignCast extends BtnDesignCast {
|
|
|
21460
21460
|
}
|
|
21461
21461
|
}
|
|
21462
21462
|
class GrpLayer extends Layer {
|
|
21463
|
-
static #
|
|
21464
|
-
static #
|
|
21463
|
+
static #e = new EventListenerCtn();
|
|
21464
|
+
static #t = {};
|
|
21465
21465
|
static #r;
|
|
21466
21466
|
static #i;
|
|
21467
21467
|
static #n;
|
|
@@ -21490,7 +21490,7 @@ class GrpLayer extends Layer {
|
|
|
21490
21490
|
GrpLayer.#s = t;
|
|
21491
21491
|
}
|
|
21492
21492
|
static destroy() {
|
|
21493
|
-
GrpLayer.#
|
|
21493
|
+
GrpLayer.#e.clear(), GrpLayer.#t = {}, GrpLayer.hFn2ResAniSpr = {}, GrpLayer.hFn2VElm = {};
|
|
21494
21494
|
}
|
|
21495
21495
|
#c = new GrpLayDesignCast(this.spLay, this);
|
|
21496
21496
|
constructor() {
|
|
@@ -21547,7 +21547,7 @@ class GrpLayer extends Layer {
|
|
|
21547
21547
|
t.split(",").forEach((U, H) => {
|
|
21548
21548
|
if (!U)
|
|
21549
21549
|
throw "face属性に空要素が含まれます";
|
|
21550
|
-
const { dx: z, dy: V, blendmode: X, fn: q } = GrpLayer.#
|
|
21550
|
+
const { dx: z, dy: V, blendmode: X, fn: q } = GrpLayer.#t[U] || {
|
|
21551
21551
|
fn: U,
|
|
21552
21552
|
dx: 0,
|
|
21553
21553
|
dy: 0,
|
|
@@ -21745,10 +21745,10 @@ class GrpLayer extends Layer {
|
|
|
21745
21745
|
const { name: e } = t;
|
|
21746
21746
|
if (!e)
|
|
21747
21747
|
throw "nameは必須です";
|
|
21748
|
-
if (e in GrpLayer.#
|
|
21748
|
+
if (e in GrpLayer.#t)
|
|
21749
21749
|
throw "一つのname(" + e + ")に対して同じ画像を複数割り当てられません";
|
|
21750
21750
|
const { fn: r = e } = t;
|
|
21751
|
-
return GrpLayer.#
|
|
21751
|
+
return GrpLayer.#t[e] = {
|
|
21752
21752
|
fn: r,
|
|
21753
21753
|
dx: argChk_Num(t, "dx", 0),
|
|
21754
21754
|
dy: argChk_Num(t, "dy", 0),
|
|
@@ -21756,7 +21756,7 @@ class GrpLayer extends Layer {
|
|
|
21756
21756
|
}, !1;
|
|
21757
21757
|
}
|
|
21758
21758
|
static clearFace2Name() {
|
|
21759
|
-
GrpLayer.#
|
|
21759
|
+
GrpLayer.#t = {};
|
|
21760
21760
|
}
|
|
21761
21761
|
// アニメ・動画を含むか
|
|
21762
21762
|
get containMovement() {
|
|
@@ -21807,12 +21807,12 @@ class GrpLayer extends Layer {
|
|
|
21807
21807
|
}
|
|
21808
21808
|
class TxtStage extends Container {
|
|
21809
21809
|
constructor(t, e, r) {
|
|
21810
|
-
super(), this.spLay = t, this.canFocus = e, this.sys = r, this.#i.classList.add("sn_tx"), this.#i.style.position = "absolute", TxtStage.#
|
|
21810
|
+
super(), this.spLay = t, this.canFocus = e, this.sys = r, this.#i.classList.add("sn_tx"), this.#i.style.position = "absolute", TxtStage.#t.view.parentElement.appendChild(this.#i), this.addChild(this.#n), this.addChild(this.#o), this.#o.name = "grpDbgMasume", this.#l = new TxtLayDesignCast(this.spLay, this), this.#l.adopt(this.#p);
|
|
21811
21811
|
}
|
|
21812
|
-
static #t;
|
|
21813
21812
|
static #e;
|
|
21813
|
+
static #t;
|
|
21814
21814
|
static init(t, e) {
|
|
21815
|
-
TxtStage.#
|
|
21815
|
+
TxtStage.#e = t, TxtStage.#t = e, TxtStage.#S = /[、。,.)]}〉」』】〕”〟ぁぃぅぇぉっゃゅょゎァィゥェォッャュョヮヵヶ!?!?‼⁉・ーゝゞヽヾ々]/, TxtStage.#E = /[[({〈「『【〔“〝]/, TxtStage.#B = /[─‥…]/;
|
|
21816
21816
|
}
|
|
21817
21817
|
static #r;
|
|
21818
21818
|
static setEvtMng(t) {
|
|
@@ -22106,7 +22106,7 @@ class TxtStage extends Container {
|
|
|
22106
22106
|
TxtStage.#$.visible = !1;
|
|
22107
22107
|
let r = this.#T.length, N = "";
|
|
22108
22108
|
if (r === 0) {
|
|
22109
|
-
if (TxtStage.#
|
|
22109
|
+
if (TxtStage.#e.oCfg.debug.masume && (CmnLib.debugLog && console.log(`🍌 masume ${this.name} v:${this.visible} l:${this.x} t:${this.y} a:${this.alpha} pl:${this.#s.pad_left} pr:${this.#s.pad_right} pt:${this.#s.pad_top} pb:${this.#s.pad_bottom} w:${this.#s.$width} h:${this.#s.$height}`), this.#o.clear().beginFill(3407616, 0.2).lineStyle(1, 3407616, 1).drawRect(-this.#s.pad_left, -this.#s.pad_top, this.#s.$width, this.#s.$height).endFill().beginFill(13311, 0.2).lineStyle(2, 13311, 1).drawRect(
|
|
22110
22110
|
0,
|
|
22111
22111
|
0,
|
|
22112
22112
|
this.#s.$width - this.#s.pad_left - this.#s.pad_right,
|
|
@@ -22196,7 +22196,7 @@ class TxtStage extends Container {
|
|
|
22196
22196
|
}
|
|
22197
22197
|
} while (H < 0);
|
|
22198
22198
|
const X = CmnLib.debugLog ? (Z, J) => console.log(`🍌 masume ch:${Z.ch} x:${J.x} y:${J.y} w:${J.width} h:${J.height}`) : () => {
|
|
22199
|
-
}, q = TxtStage.#
|
|
22199
|
+
}, q = TxtStage.#e.oCfg.debug.masume ? (Z, J) => {
|
|
22200
22200
|
X(Z, J), this.#o.beginFill(6737151, 0.5).lineStyle(2, 16724736, 1).drawRect(J.x, J.y, J.width, J.height).endFill();
|
|
22201
22201
|
} : () => {
|
|
22202
22202
|
}, W = CmnTween.ease(this.#R);
|
|
@@ -22469,20 +22469,20 @@ class TxtStage extends Container {
|
|
|
22469
22469
|
}
|
|
22470
22470
|
}
|
|
22471
22471
|
class RubySpliter {
|
|
22472
|
-
static #
|
|
22472
|
+
static #e = "ヽ";
|
|
22473
22473
|
static setting(t) {
|
|
22474
|
-
t.sesame && (RubySpliter.#
|
|
22474
|
+
t.sesame && (RubySpliter.#e = t.sesame);
|
|
22475
22475
|
}
|
|
22476
22476
|
static getSesame() {
|
|
22477
|
-
return RubySpliter.#
|
|
22477
|
+
return RubySpliter.#e;
|
|
22478
22478
|
}
|
|
22479
22479
|
static destroy() {
|
|
22480
|
-
RubySpliter.#
|
|
22480
|
+
RubySpliter.#e = "ヽ";
|
|
22481
22481
|
}
|
|
22482
|
-
#
|
|
22482
|
+
#t = () => {
|
|
22483
22483
|
};
|
|
22484
22484
|
init(t) {
|
|
22485
|
-
this.#
|
|
22485
|
+
this.#t = t;
|
|
22486
22486
|
}
|
|
22487
22487
|
/*
|
|
22488
22488
|
★Unicodeで「漢字」の正規表現 – ものかの http://tama-san.com/kanji-regex/
|
|
@@ -22526,32 +22526,32 @@ class RubySpliter {
|
|
|
22526
22526
|
continue;
|
|
22527
22527
|
}
|
|
22528
22528
|
if (D) {
|
|
22529
|
-
this.#
|
|
22529
|
+
this.#t(D.slice(1), "");
|
|
22530
22530
|
continue;
|
|
22531
22531
|
}
|
|
22532
22532
|
for (const U of Array.from(B))
|
|
22533
|
-
this.#
|
|
22533
|
+
this.#t(U, "");
|
|
22534
22534
|
}
|
|
22535
22535
|
}
|
|
22536
22536
|
putTxtRb(t, e) {
|
|
22537
22537
|
if (/^\w+|{"/.test(e)) {
|
|
22538
|
-
this.#
|
|
22538
|
+
this.#t(t, e);
|
|
22539
22539
|
return;
|
|
22540
22540
|
}
|
|
22541
22541
|
const r = Array.from(t), N = r.length;
|
|
22542
22542
|
if (/^\*.?$/.test(e)) {
|
|
22543
|
-
const $ = "center|" + (e === "*" ? RubySpliter.#
|
|
22543
|
+
const $ = "center|" + (e === "*" ? RubySpliter.#e : e.charAt(1));
|
|
22544
22544
|
for (let U = 0; U < N; ++U)
|
|
22545
|
-
this.#
|
|
22545
|
+
this.#t(r[U], $);
|
|
22546
22546
|
return;
|
|
22547
22547
|
}
|
|
22548
22548
|
if (N === 1 || e.indexOf(" ") === -1) {
|
|
22549
|
-
this.#
|
|
22549
|
+
this.#t(t, decodeURIComponent(e));
|
|
22550
22550
|
return;
|
|
22551
22551
|
}
|
|
22552
22552
|
const k = e.split(" "), D = k.length, B = D > N ? D : N;
|
|
22553
22553
|
for (let $ = 0; $ < B; ++$)
|
|
22554
|
-
this.#
|
|
22554
|
+
this.#t(
|
|
22555
22555
|
$ < N ? r[$] : "",
|
|
22556
22556
|
$ < D ? decodeURIComponent(k[$]) : ""
|
|
22557
22557
|
);
|
|
@@ -22621,7 +22621,7 @@ class Button extends Container {
|
|
|
22621
22621
|
(z) => {
|
|
22622
22622
|
Layer.setBlendmode(this, t), z && r();
|
|
22623
22623
|
}
|
|
22624
|
-
)), B.name = JSON.stringify(this.#n), this.addChild(B), this.#r.width = B.width, this.#r.height = B.height, t.b_pic || Layer.setBlendmode(this, t), Button.#
|
|
22624
|
+
)), B.name = JSON.stringify(this.#n), this.addChild(B), this.#r.width = B.width, this.#r.height = B.height, t.b_pic || Layer.setBlendmode(this, t), Button.#e(this, B), !this.#n.enabled) {
|
|
22625
22625
|
$ || r();
|
|
22626
22626
|
return;
|
|
22627
22627
|
}
|
|
@@ -22650,14 +22650,14 @@ class Button extends Container {
|
|
|
22650
22650
|
this.normal = () => B.style = D, this.#h = () => N() ? (B.style = U, !0) : !1, this.#l = () => B.style = H, $ || r();
|
|
22651
22651
|
}
|
|
22652
22652
|
static fontFamily = "'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック Medium', meiryo, sans-serif";
|
|
22653
|
-
static #
|
|
22653
|
+
static #e = (t, e) => {
|
|
22654
22654
|
};
|
|
22655
|
-
static #
|
|
22655
|
+
static #t = (t, e, r, N) => {
|
|
22656
22656
|
};
|
|
22657
22657
|
static init(t) {
|
|
22658
|
-
t.oCfg.debug.masume && (Button.#
|
|
22658
|
+
t.oCfg.debug.masume && (Button.#e = (e, r) => e.addChild(
|
|
22659
22659
|
new Graphics().beginFill(8926088, 0.2).lineStyle(1, 8926088, 1).drawRect(r.x, r.y, r.width, r.height).endFill()
|
|
22660
|
-
), Button.#
|
|
22660
|
+
), Button.#t = (e, r, N, k) => e.addChild(
|
|
22661
22661
|
new Graphics().beginFill(8926088, 0.2).lineStyle(1, 8926088, 1).drawRect(r.x, r.y, N, k).endFill()
|
|
22662
22662
|
));
|
|
22663
22663
|
}
|
|
@@ -22699,20 +22699,20 @@ class Button extends Container {
|
|
|
22699
22699
|
#p(t) {
|
|
22700
22700
|
this.#n.alpha = t.alpha = argChk_Num(this.hArg, "alpha", t.alpha), this.#i.setSp(t);
|
|
22701
22701
|
const e = t.width / 3, r = this.#n.enabled ? e : t.width, N = t.height, k = t.texture.baseTexture, D = new Texture(k, new Rectangle(0, 0, e, N)), B = new Texture(k, new Rectangle(e, 0, e, N)), $ = new Texture(k, new Rectangle(e * 2, 0, e, N)), U = () => t.texture = D;
|
|
22702
|
-
this.#n.enabled && U(), this.normal = U, this.#h = () => this.canFocus() ? (t.texture = $, !0) : !1, this.#l = () => t.texture = B, "width" in this.hArg ? (this.#n.width = uint(this.hArg.width), this.scale.x *= this.#n.width / r) : this.#n.width = r, "height" in this.hArg ? (this.#n.height = uint(this.hArg.height), this.scale.y *= this.#n.height / N) : this.#n.height = N, t.name = JSON.stringify(this.#n), Button.#
|
|
22702
|
+
this.#n.enabled && U(), this.normal = U, this.#h = () => this.canFocus() ? (t.texture = $, !0) : !1, this.#l = () => t.texture = B, "width" in this.hArg ? (this.#n.width = uint(this.hArg.width), this.scale.x *= this.#n.width / r) : this.#n.width = r, "height" in this.hArg ? (this.#n.height = uint(this.hArg.height), this.scale.y *= this.#n.height / N) : this.#n.height = N, t.name = JSON.stringify(this.#n), Button.#t(this, t, r, N);
|
|
22703
22703
|
}
|
|
22704
22704
|
}
|
|
22705
22705
|
class TxtLayer extends Layer {
|
|
22706
|
-
static #t;
|
|
22707
22706
|
static #e;
|
|
22707
|
+
static #t;
|
|
22708
22708
|
static #r;
|
|
22709
22709
|
static #i;
|
|
22710
22710
|
static init(t, e, r, N, k, D) {
|
|
22711
|
-
TxtLayer.#
|
|
22711
|
+
TxtLayer.#e = t, TxtStage.init(t, D), TxtLayer.#t = r, TxtLayer.#i = N, TxtLayer.#r = k, r.setDoRecProc(TxtLayer.chgDoRec), e.autowc = (B) => TxtLayer.#g(B), e.autowc({ enabled: !1, text: "", time: 0 }), e.ch_in_style = (B) => TxtLayer.#n(B), e.ch_out_style = (B) => TxtLayer.#o(B), TxtStage.initChStyle(), initStyle(), addStyle(
|
|
22712
22712
|
t.matchPath(".+", SEARCH_PATH_ARG_EXT.FONT).flatMap((B) => Object.values(B).map(($) => `
|
|
22713
22713
|
@font-face {
|
|
22714
22714
|
font-family: '${$}';
|
|
22715
|
-
src: url('${this.#
|
|
22715
|
+
src: url('${this.#e.searchPath($, SEARCH_PATH_ARG_EXT.FONT)}');
|
|
22716
22716
|
}
|
|
22717
22717
|
`)).join("") + `
|
|
22718
22718
|
.sn_tx {
|
|
@@ -22797,19 +22797,19 @@ class TxtLayer extends Layer {
|
|
|
22797
22797
|
static #s = !1;
|
|
22798
22798
|
static #c = {};
|
|
22799
22799
|
static #g(t) {
|
|
22800
|
-
TxtLayer.#s = argChk_Boolean(t, "enabled", TxtLayer.#s), TxtLayer.#
|
|
22800
|
+
TxtLayer.#s = argChk_Boolean(t, "enabled", TxtLayer.#s), TxtLayer.#t.setVal_Nochk("save", "const.sn.autowc.enabled", TxtLayer.#s);
|
|
22801
22801
|
const { text: e } = t;
|
|
22802
22802
|
if ("text" in t != "time" in t)
|
|
22803
22803
|
throw "[autowc] textとtimeは同時指定必須です";
|
|
22804
|
-
if (TxtLayer.#
|
|
22805
|
-
return TxtLayer.#
|
|
22804
|
+
if (TxtLayer.#t.setVal_Nochk("save", "const.sn.autowc.text", e), !e)
|
|
22805
|
+
return TxtLayer.#t.setVal_Nochk("save", "const.sn.autowc.time", ""), !1;
|
|
22806
22806
|
const r = e.length;
|
|
22807
22807
|
if (TxtLayer.#s && r === 0)
|
|
22808
22808
|
throw '[autowc] enabled === false かつ text === "" は許されません';
|
|
22809
22809
|
const N = String(t.time).split(",");
|
|
22810
22810
|
if (N.length !== r)
|
|
22811
22811
|
throw "[autowc] text文字数とtimeに記述された待ち時間(コンマ区切り)は同数にして下さい";
|
|
22812
|
-
return TxtLayer.#c = {}, N.forEach((k, D) => TxtLayer.#c[e[D]] = uint(k)), TxtLayer.#
|
|
22812
|
+
return TxtLayer.#c = {}, N.forEach((k, D) => TxtLayer.#c[e[D]] = uint(k)), TxtLayer.#t.setVal_Nochk("save", "const.sn.autowc.time", t.time), !1;
|
|
22813
22813
|
}
|
|
22814
22814
|
// バック
|
|
22815
22815
|
#f = 0;
|
|
@@ -22918,7 +22918,7 @@ class TxtLayer extends Layer {
|
|
|
22918
22918
|
if ("back_clear" in t)
|
|
22919
22919
|
return argChk_Boolean(t, "back_clear", !1) && (this.#f = 0, this.#d = 0, this.#v = !1, this.#b = ""), e(!1), !1;
|
|
22920
22920
|
this.#d = argChk_Num(t, "b_alpha", this.#d), this.#v = argChk_Boolean(t, "b_alpha_isfixed", this.#v);
|
|
22921
|
-
const r = (this.#v ? 1 : Number(TxtLayer.#
|
|
22921
|
+
const r = (this.#v ? 1 : Number(TxtLayer.#t.getVal("sys:TextLayer.Back.Alpha"))) * this.#d;
|
|
22922
22922
|
if (t.b_pic) {
|
|
22923
22923
|
if (this.#b !== t.b_pic)
|
|
22924
22924
|
return this.#b = t.b_pic, this.#u && (this.spLay.removeChild(this.#u), this.#u.destroy()), GrpLayer.csv2Sprites(this.#b, this.spLay, (N) => {
|
|
@@ -23018,7 +23018,7 @@ class TxtLayer extends Layer {
|
|
|
23018
23018
|
}
|
|
23019
23019
|
#k = !1;
|
|
23020
23020
|
#M = (t, e) => {
|
|
23021
|
-
TxtLayer.#
|
|
23021
|
+
TxtLayer.#e.oCfg.debug.putCh && console.log(`🖊 文字表示 text:\`${t}\` ruby:\`${e}\` name:\`${this.name_}\``);
|
|
23022
23022
|
const r = e.split("|");
|
|
23023
23023
|
let N = "";
|
|
23024
23024
|
const [k, ...D] = r, B = D.join("|");
|
|
@@ -23080,7 +23080,7 @@ class TxtLayer extends Layer {
|
|
|
23080
23080
|
this.#V = !1, this.#k = !0;
|
|
23081
23081
|
{
|
|
23082
23082
|
const { t: $, r: U = "", wait: H = null, style: z = "", r_style: V = "" } = JSON.parse(B);
|
|
23083
|
-
TxtLayer.#
|
|
23083
|
+
TxtLayer.#t.doRecLog() && (this.#H += t + (e ? `《${e}》` : ""), this.#K += $);
|
|
23084
23084
|
const X = CmnLib.isSafari ? U.replaceAll(/[A-Za-z0-9]/g, (K) => String.fromCharCode(K.charCodeAt(0) + 65248)) : U, { cl: q, sty: W, lnk: Y } = this.#D(!0, H);
|
|
23085
23085
|
N = `<span${q} style='${W}${this.#x($)} ${z}'><ruby><span${Y} style='${W} display: inline;
|
|
23086
23086
|
text-combine-upright: all;
|
|
@@ -23119,7 +23119,7 @@ text-combine-upright: all;
|
|
|
23119
23119
|
};
|
|
23120
23120
|
#q(t, e, r) {
|
|
23121
23121
|
const N = t === " " ? " " : t;
|
|
23122
|
-
TxtLayer.#
|
|
23122
|
+
TxtLayer.#t.doRecLog() && (this.#H += N + (e ? `《${e}》` : ""), t !== " " && (this.#K += t));
|
|
23123
23123
|
const { cl: k, sty: D, lnk: B } = this.#D(!0, null, t);
|
|
23124
23124
|
return e ? `<span${k} style='${D} ${this.#x(t)}'><ruby>${// 文字個別に出現させるため以下にも ${cl} が必要
|
|
23125
23125
|
Array.from(t).map(($, U) => `<span${k}${B} style='${U > 0 ? this.#D(!0, null, t).sty : D} display: inline;'>${$ === " " ? " " : $}</span>`).join("")}<rt${B}${this.mkStyle_r_align(
|
|
@@ -23253,15 +23253,15 @@ class FrameMng {
|
|
|
23253
23253
|
constructor(t, e, r, N, k, D) {
|
|
23254
23254
|
this.cfg = t, this.appPixi = r, this.val = N, this.main = k, this.sys = D, e.add_frame = (B) => this.#r(B), e.let_frame = (B) => this.#o(B), e.set_frame = (B) => this.#h(B), e.frame = (B) => this.#p(B), e.tsy_frame = (B) => this.#s(B);
|
|
23255
23255
|
}
|
|
23256
|
-
#
|
|
23256
|
+
#e;
|
|
23257
23257
|
setEvtMng(t) {
|
|
23258
|
-
this.#
|
|
23258
|
+
this.#e = t;
|
|
23259
23259
|
}
|
|
23260
|
-
#
|
|
23260
|
+
#t = /* @__PURE__ */ Object.create(null);
|
|
23261
23261
|
destroy() {
|
|
23262
|
-
for (const t of Object.values(this.#
|
|
23262
|
+
for (const t of Object.values(this.#t))
|
|
23263
23263
|
t.parentElement.removeChild(t);
|
|
23264
|
-
this.#
|
|
23264
|
+
this.#t = /* @__PURE__ */ Object.create(null);
|
|
23265
23265
|
}
|
|
23266
23266
|
// HTMLフレーム
|
|
23267
23267
|
// フレーム追加
|
|
@@ -23286,13 +23286,13 @@ class FrameMng {
|
|
|
23286
23286
|
W?.();
|
|
23287
23287
|
}), X.load((q, W) => {
|
|
23288
23288
|
const Y = document.getElementById(e);
|
|
23289
|
-
this.#
|
|
23289
|
+
this.#t[e] = Y, this.#i[e] = !1, Y.srcdoc = String(W[r]?.data).replace("sn_repRes();", "").replaceAll(
|
|
23290
23290
|
/\s(?:src|href)=(["'])(\S+)\1/g,
|
|
23291
23291
|
(K, Z, J) => J.slice(0, 3) === "../" ? this.sys.cur + J.slice(4) : K.replace(Z, Z + V.slice(0, V.lastIndexOf("/") + 1))
|
|
23292
23292
|
), Y.onload = () => {
|
|
23293
23293
|
this.val.setVal_Nochk("tmp", $, !0), this.val.setVal_Nochk("tmp", $ + ".alpha", N), this.val.setVal_Nochk("tmp", $ + ".x", z.x), this.val.setVal_Nochk("tmp", $ + ".y", z.y), this.val.setVal_Nochk("tmp", $ + ".scale_x", k), this.val.setVal_Nochk("tmp", $ + ".scale_y", D), this.val.setVal_Nochk("tmp", $ + ".rotate", B), this.val.setVal_Nochk("tmp", $ + ".width", z.width), this.val.setVal_Nochk("tmp", $ + ".height", z.height), this.val.setVal_Nochk("tmp", $ + ".visible", U);
|
|
23294
23294
|
const K = Y.contentWindow;
|
|
23295
|
-
this.#
|
|
23295
|
+
this.#e.resvFlameEvent(K), K.sn_repRes?.((Z) => GrpLayer.loadPic2Img(Z.dataset.src ?? "", Z)), this.main.resume();
|
|
23296
23296
|
};
|
|
23297
23297
|
}), !0;
|
|
23298
23298
|
}
|
|
@@ -23310,7 +23310,7 @@ class FrameMng {
|
|
|
23310
23310
|
);
|
|
23311
23311
|
}
|
|
23312
23312
|
cvsResize() {
|
|
23313
|
-
for (const [t, e] of Object.entries(this.#
|
|
23313
|
+
for (const [t, e] of Object.entries(this.#t)) {
|
|
23314
23314
|
const r = "const.sn.frm." + t, N = Number(this.val.getVal(r + ".x")), k = Number(this.val.getVal(r + ".y")), D = Number(this.val.getVal(r + ".width")), B = Number(this.val.getVal(r + ".height"));
|
|
23315
23315
|
e.style.left = `${this.sys.ofsLeft4elm + N * this.sys.cvsScale}px`, e.style.top = `${this.sys.ofsTop4elm + k * this.sys.cvsScale}px`, e.width = String(D * this.sys.cvsScale), e.height = String(B * this.sys.cvsScale);
|
|
23316
23316
|
}
|
|
@@ -23462,7 +23462,7 @@ class LayerMng {
|
|
|
23462
23462
|
this.#d("grp|" + Y);
|
|
23463
23463
|
}), this.#n = parseColor(String(t.oCfg.init.bg_color));
|
|
23464
23464
|
const V = new Graphics();
|
|
23465
|
-
V.beginFill(this.#n, 1).lineStyle(0, this.#n).drawRect(0, 0, CmnLib.stageW, CmnLib.stageH).endFill(), this.#
|
|
23465
|
+
V.beginFill(this.#n, 1).lineStyle(0, this.#n).drawRect(0, 0, CmnLib.stageW, CmnLib.stageH).endFill(), this.#t.addChild(V.clone()), this.#r.addChild(V), this.#r.visible = !1, this.#t.name = "page:A", this.#r.name = "page:B", this.#e = r.stage, this.#e.addChild(this.#r), this.#e.addChild(this.#t), this.#e.addChild(this.#z), this.#e.addChild(this.#x), this.#e.name = "stage";
|
|
23466
23466
|
const X = (W, Y) => {
|
|
23467
23467
|
this.#f(Number(Y));
|
|
23468
23468
|
};
|
|
@@ -23474,8 +23474,8 @@ class LayerMng {
|
|
|
23474
23474
|
this.#h[W]?.(W, Y) && delete this.#h[W];
|
|
23475
23475
|
}));
|
|
23476
23476
|
}
|
|
23477
|
-
#
|
|
23478
|
-
#
|
|
23477
|
+
#e;
|
|
23478
|
+
#t = new Container();
|
|
23479
23479
|
#r = new Container();
|
|
23480
23480
|
#i;
|
|
23481
23481
|
#n;
|
|
@@ -23506,7 +23506,7 @@ class LayerMng {
|
|
|
23506
23506
|
getFrmDisabled = (t) => this.#i.getFrmDisabled(t);
|
|
23507
23507
|
#c = void 0;
|
|
23508
23508
|
cover(t, e = 0) {
|
|
23509
|
-
this.#c && (this.#
|
|
23509
|
+
this.#c && (this.#e.removeChild(this.#c), this.#c.destroy(), this.#c = void 0), t && this.#e.addChild(
|
|
23510
23510
|
(this.#c = new Graphics()).beginFill(e).lineStyle(0, e).drawRect(0, 0, CmnLib.stageW, CmnLib.stageH).endFill()
|
|
23511
23511
|
);
|
|
23512
23512
|
}
|
|
@@ -23564,7 +23564,7 @@ class LayerMng {
|
|
|
23564
23564
|
this.#r.visible = !0;
|
|
23565
23565
|
for (const H of this.#L)
|
|
23566
23566
|
D.render(H, { clear: !1 });
|
|
23567
|
-
this.#r.visible = !1, this.#z.visible = !0, this.#
|
|
23567
|
+
this.#r.visible = !1, this.#z.visible = !0, this.#t.filters = this.#x.filters, this.#t.visible = !0, D.render(this.#t, { clear: !1 }), this.#t.visible = !1, this.#t.filters = [], U();
|
|
23568
23568
|
}));
|
|
23569
23569
|
else
|
|
23570
23570
|
for (const U of this.#C(t.layer))
|
|
@@ -23573,7 +23573,7 @@ class LayerMng {
|
|
|
23573
23573
|
);
|
|
23574
23574
|
return Promise.allSettled(B).then(async () => {
|
|
23575
23575
|
const U = RenderTexture.create({ width: D.width, height: D.height });
|
|
23576
|
-
if (D.render(this.#
|
|
23576
|
+
if (D.render(this.#e, { renderTexture: U }), await this.sys.savePic(
|
|
23577
23577
|
r,
|
|
23578
23578
|
D.plugins.extract.base64(Sprite.from(U))
|
|
23579
23579
|
), !CmnTween.isTrans)
|
|
@@ -23615,7 +23615,7 @@ class LayerMng {
|
|
|
23615
23615
|
if (!r)
|
|
23616
23616
|
throw "clsは必須です";
|
|
23617
23617
|
const N = { isWait: !1 };
|
|
23618
|
-
switch (this.#a[e] = new Pages(e, r, this.#
|
|
23618
|
+
switch (this.#a[e] = new Pages(e, r, this.#t, this.#r, t, this.sys, this.val, N), this.#m.push(e), r) {
|
|
23619
23619
|
case "txt":
|
|
23620
23620
|
this.#y || (this.#j = () => {
|
|
23621
23621
|
}, this.#D = this.#W, this.#V = this.#U, this.hTag.current({ layer: e }), this.goTxt = () => {
|
|
@@ -23647,9 +23647,9 @@ class LayerMng {
|
|
|
23647
23647
|
#T(t) {
|
|
23648
23648
|
const e = this.#Y(t), r = this.#a[e], N = r.back.spLay, k = r.fore.spLay;
|
|
23649
23649
|
if (argChk_Boolean(t, "float", !1))
|
|
23650
|
-
this.#r.setChildIndex(N, this.#r.children.length - 1), this.#
|
|
23650
|
+
this.#r.setChildIndex(N, this.#r.children.length - 1), this.#t.setChildIndex(k, this.#t.children.length - 1), this.#I();
|
|
23651
23651
|
else if (t.index)
|
|
23652
|
-
argChk_Num(t, "index", 0) && (this.#r.setChildIndex(N, t.index), this.#
|
|
23652
|
+
argChk_Num(t, "index", 0) && (this.#r.setChildIndex(N, t.index), this.#t.setChildIndex(k, t.index), this.#I());
|
|
23653
23653
|
else if (t.dive) {
|
|
23654
23654
|
const { dive: D } = t;
|
|
23655
23655
|
let B = 0;
|
|
@@ -23658,8 +23658,8 @@ class LayerMng {
|
|
|
23658
23658
|
const $ = this.#a[D];
|
|
23659
23659
|
if (!$)
|
|
23660
23660
|
throw "[lay] 属性 dive【" + D + "】が不正です。レイヤーがありません";
|
|
23661
|
-
const U = $.back, H = $.fore, z = this.#r.getChildIndex(U.spLay), V = this.#
|
|
23662
|
-
B = z < V ? z : V, B > this.#r.getChildIndex(N) && --B, this.#
|
|
23661
|
+
const U = $.back, H = $.fore, z = this.#r.getChildIndex(U.spLay), V = this.#t.getChildIndex(H.spLay);
|
|
23662
|
+
B = z < V ? z : V, B > this.#r.getChildIndex(N) && --B, this.#t.setChildIndex(k, B), this.#r.setChildIndex(N, B), this.#I();
|
|
23663
23663
|
}
|
|
23664
23664
|
return t[":id_tag"] = r.fore.name.slice(0, -7), this.scrItr.recodeDesign(t), r.lay(t);
|
|
23665
23665
|
}
|
|
@@ -23748,9 +23748,9 @@ void main(void) {
|
|
|
23748
23748
|
}, Y();
|
|
23749
23749
|
};
|
|
23750
23750
|
}
|
|
23751
|
-
this.#O.resize(CmnLib.stageW, CmnLib.stageH), this.appPixi.renderer.render(this.#
|
|
23751
|
+
this.#O.resize(CmnLib.stageW, CmnLib.stageH), this.appPixi.renderer.render(this.#t, { renderTexture: this.#O });
|
|
23752
23752
|
let B = () => {
|
|
23753
|
-
this.#
|
|
23753
|
+
this.#t.visible = !0, this.appPixi.renderer.render(this.#t, { renderTexture: this.#O }), this.#t.visible = !1;
|
|
23754
23754
|
};
|
|
23755
23755
|
if (!N.some((Y) => Y.containMovement)) {
|
|
23756
23756
|
let Y = B;
|
|
@@ -23764,17 +23764,17 @@ void main(void) {
|
|
|
23764
23764
|
};
|
|
23765
23765
|
this.#x.alpha = 1;
|
|
23766
23766
|
const U = () => {
|
|
23767
|
-
this.appPixi.ticker?.remove($), [this.#
|
|
23767
|
+
this.appPixi.ticker?.remove($), [this.#t, this.#r] = [this.#r, this.#t];
|
|
23768
23768
|
const Y = [];
|
|
23769
23769
|
for (const [K, Z] of Object.entries(this.#a)) {
|
|
23770
23770
|
if (r[K]) {
|
|
23771
23771
|
Z.transPage(Y);
|
|
23772
23772
|
continue;
|
|
23773
23773
|
}
|
|
23774
|
-
const { fore: { spLay: J }, back: { spLay: tt } } = Z, et = this.#
|
|
23775
|
-
this.#
|
|
23774
|
+
const { fore: { spLay: J }, back: { spLay: tt } } = Z, et = this.#t.getChildIndex(tt);
|
|
23775
|
+
this.#t.removeChild(tt), this.#r.removeChild(J), this.#t.addChildAt(J, et), this.#r.addChildAt(tt, et);
|
|
23776
23776
|
}
|
|
23777
|
-
Promise.allSettled(Y), this.#
|
|
23777
|
+
Promise.allSettled(Y), this.#t.visible = !0, this.#r.visible = !1, this.#z.visible = !1, this.#x.visible = !1;
|
|
23778
23778
|
};
|
|
23779
23779
|
if (argChk_Num(t, "time", 0) === 0 || this.#g.isSkipping())
|
|
23780
23780
|
return U(), !1;
|
|
@@ -23814,7 +23814,7 @@ void main(void) {
|
|
|
23814
23814
|
}
|
|
23815
23815
|
#R(t = "") {
|
|
23816
23816
|
return this.#C(t).sort((e, r) => {
|
|
23817
|
-
const N = this.#
|
|
23817
|
+
const N = this.#t.getChildIndex(this.#a[e].fore.spLay), k = this.#t.getChildIndex(this.#a[r].fore.spLay);
|
|
23818
23818
|
return N < k ? -1 : N > k ? 1 : 0;
|
|
23819
23819
|
});
|
|
23820
23820
|
}
|
|
@@ -23827,13 +23827,13 @@ void main(void) {
|
|
|
23827
23827
|
N.push(this.#a[H].fore.spLay);
|
|
23828
23828
|
this.#O.resize(CmnLib.stageW, CmnLib.stageH);
|
|
23829
23829
|
const k = () => {
|
|
23830
|
-
this.#
|
|
23830
|
+
this.#t.visible = !0;
|
|
23831
23831
|
for (const H of N)
|
|
23832
23832
|
this.appPixi.renderer.render(
|
|
23833
23833
|
H,
|
|
23834
23834
|
{ renderTexture: this.#O, clear: !1 }
|
|
23835
23835
|
);
|
|
23836
|
-
this.#
|
|
23836
|
+
this.#t.visible = !1;
|
|
23837
23837
|
};
|
|
23838
23838
|
this.#x.visible = !0, this.#x.alpha = 1;
|
|
23839
23839
|
const D = uint(argChk_Num(t, "hmax", 10)), B = uint(argChk_Num(t, "vmax", 10)), $ = D === 0 ? () => {
|
|
@@ -23842,7 +23842,7 @@ void main(void) {
|
|
|
23842
23842
|
return this.#x.filters = [], CmnTween.tween(CmnTween.TW_INT_TRANS, t, this.#x, { x: 0, y: 0 }, () => {
|
|
23843
23843
|
$(), U();
|
|
23844
23844
|
}, () => {
|
|
23845
|
-
this.appPixi.ticker?.remove(k), this.#
|
|
23845
|
+
this.appPixi.ticker?.remove(k), this.#t.visible = !0, this.#x.visible = !1, this.#x.x = 0, this.#x.y = 0;
|
|
23846
23846
|
}, () => {
|
|
23847
23847
|
}), this.appPixi.ticker.add(k), !1;
|
|
23848
23848
|
}
|
|
@@ -24057,50 +24057,50 @@ void main(void) {
|
|
|
24057
24057
|
const r = [], N = [];
|
|
24058
24058
|
for (const [D, { fore: B, fore: { idx: $ }, back: U, cls: H }] of Object.entries(t)) {
|
|
24059
24059
|
N.push({ layer: D, idx: $ });
|
|
24060
|
-
const z = this.#a[D] ??= new Pages(D, H, this.#
|
|
24060
|
+
const z = this.#a[D] ??= new Pages(D, H, this.#t, this.#r, {}, this.sys, this.val, { isWait: !1 });
|
|
24061
24061
|
z.fore.playback(B, r), z.back.playback(U, r);
|
|
24062
24062
|
}
|
|
24063
|
-
const k = this.#
|
|
24063
|
+
const k = this.#t.children.length;
|
|
24064
24064
|
Promise.allSettled(r).then(() => {
|
|
24065
24065
|
for (const { layer: D, idx: B } of N.sort(({ idx: $ }, { idx: U }) => $ === U ? 0 : $ < U ? -1 : 1)) {
|
|
24066
24066
|
const { fore: $, back: U } = this.#a[D];
|
|
24067
24067
|
if (!$)
|
|
24068
24068
|
return;
|
|
24069
24069
|
const H = k > B ? B : k - 1;
|
|
24070
|
-
this.#
|
|
24070
|
+
this.#t.setChildIndex($.spLay, H), this.#r.setChildIndex(U.spLay, H);
|
|
24071
24071
|
}
|
|
24072
24072
|
e();
|
|
24073
24073
|
}).catch((D) => console.error("fn:LayerMng.ts playback e:%o", D));
|
|
24074
24074
|
}
|
|
24075
24075
|
}
|
|
24076
24076
|
class FocusMng {
|
|
24077
|
-
#
|
|
24078
|
-
#
|
|
24077
|
+
#e = [];
|
|
24078
|
+
#t = -1;
|
|
24079
24079
|
#r = new EventListenerCtn();
|
|
24080
24080
|
destroy() {
|
|
24081
|
-
this.#
|
|
24081
|
+
this.#e = [], this.#t = -1, this.#r.clear();
|
|
24082
24082
|
}
|
|
24083
24083
|
add(t, e, r) {
|
|
24084
|
-
if (this.#
|
|
24084
|
+
if (this.#e.findIndex((B) => B.btn === t) >= 0)
|
|
24085
24085
|
return;
|
|
24086
24086
|
if (t instanceof Container) {
|
|
24087
24087
|
t.on("pointerdown", () => {
|
|
24088
|
-
for (let B = this.#
|
|
24089
|
-
if (this.#
|
|
24090
|
-
this.#
|
|
24088
|
+
for (let B = this.#e.length - 1; B >= 0; --B)
|
|
24089
|
+
if (this.#e[B].btn === t) {
|
|
24090
|
+
this.#t = B;
|
|
24091
24091
|
return;
|
|
24092
24092
|
}
|
|
24093
|
-
this.#
|
|
24094
|
-
}), this.#
|
|
24093
|
+
this.#t = -1;
|
|
24094
|
+
}), this.#e.push({ btn: t, on: e, off: r });
|
|
24095
24095
|
return;
|
|
24096
24096
|
}
|
|
24097
24097
|
this.#r.add(t, "focus", () => {
|
|
24098
|
-
for (let B = this.#
|
|
24099
|
-
if (this.#
|
|
24100
|
-
this.#
|
|
24098
|
+
for (let B = this.#e.length - 1; B >= 0; --B)
|
|
24099
|
+
if (this.#e[B].btn === t) {
|
|
24100
|
+
this.#t = B;
|
|
24101
24101
|
return;
|
|
24102
24102
|
}
|
|
24103
|
-
this.#
|
|
24103
|
+
this.#t = -1;
|
|
24104
24104
|
});
|
|
24105
24105
|
let N = (B) => {
|
|
24106
24106
|
}, k = t.localName === "button" || t.localName === "a" ? (B) => !B.isTrusted && B.key === "Enter" : (B) => B.key === "Enter";
|
|
@@ -24135,11 +24135,11 @@ class FocusMng {
|
|
|
24135
24135
|
}
|
|
24136
24136
|
N(B);
|
|
24137
24137
|
}
|
|
24138
|
-
}, { passive: !0 }), t.hasAttribute("tabindex") || (t.tabIndex = 0), this.#
|
|
24138
|
+
}, { passive: !0 }), t.hasAttribute("tabindex") || (t.tabIndex = 0), this.#e.push({ btn: t, on: e, off: r });
|
|
24139
24139
|
}
|
|
24140
24140
|
remove(t) {
|
|
24141
|
-
const e = this.#
|
|
24142
|
-
e < 0 || (this.#
|
|
24141
|
+
const e = this.#e.findIndex((r) => r.btn === t);
|
|
24142
|
+
e < 0 || (this.#e.splice(e, 1), this.#e.length === 0 ? this.#t = -1 : e <= this.#t && --this.#t);
|
|
24143
24143
|
}
|
|
24144
24144
|
#i(t, e) {
|
|
24145
24145
|
const r = t.querySelectorAll("input[type]"), N = r.length;
|
|
@@ -24150,61 +24150,80 @@ class FocusMng {
|
|
|
24150
24150
|
}
|
|
24151
24151
|
}
|
|
24152
24152
|
isFocus(t) {
|
|
24153
|
-
return this.#
|
|
24153
|
+
return this.#t < 0 ? !1 : this.#e[this.#t].btn === t;
|
|
24154
24154
|
}
|
|
24155
24155
|
prev() {
|
|
24156
24156
|
this.#o();
|
|
24157
|
-
const t = this.#
|
|
24157
|
+
const t = this.#e.length;
|
|
24158
24158
|
if (t !== 0) {
|
|
24159
|
-
--this.#
|
|
24159
|
+
--this.#t < 0 && (this.#t = t - 1);
|
|
24160
24160
|
for (let e = t; e >= 1; --e) {
|
|
24161
|
-
const r = (this.#
|
|
24162
|
-
if (this.#
|
|
24163
|
-
this.#
|
|
24161
|
+
const r = (this.#t + e) % t;
|
|
24162
|
+
if (this.#e[r].on()) {
|
|
24163
|
+
this.#t = r, this.#n(r);
|
|
24164
24164
|
return;
|
|
24165
24165
|
}
|
|
24166
24166
|
}
|
|
24167
|
-
this.#
|
|
24167
|
+
this.#t = -1;
|
|
24168
24168
|
}
|
|
24169
24169
|
}
|
|
24170
24170
|
next() {
|
|
24171
24171
|
this.#o();
|
|
24172
|
-
const t = this.#
|
|
24172
|
+
const t = this.#e.length;
|
|
24173
24173
|
if (t !== 0) {
|
|
24174
|
-
++this.#
|
|
24174
|
+
++this.#t >= t && (this.#t = 0);
|
|
24175
24175
|
for (let e = 0; e < t; ++e) {
|
|
24176
|
-
const r = (this.#
|
|
24177
|
-
if (this.#
|
|
24178
|
-
this.#
|
|
24176
|
+
const r = (this.#t + e) % t;
|
|
24177
|
+
if (this.#e[r].on()) {
|
|
24178
|
+
this.#t = r, this.#n(r);
|
|
24179
24179
|
return;
|
|
24180
24180
|
}
|
|
24181
24181
|
}
|
|
24182
|
-
this.#
|
|
24182
|
+
this.#t = -1;
|
|
24183
24183
|
}
|
|
24184
24184
|
}
|
|
24185
|
-
#n = CmnLib.debugLog ? (t) => console.log(`👾 <FocusMng idx:${t} btn:%o`, this.#
|
|
24185
|
+
#n = CmnLib.debugLog ? (t) => console.log(`👾 <FocusMng idx:${t} btn:%o`, this.#e[t].btn) : () => {
|
|
24186
24186
|
};
|
|
24187
24187
|
getFocus() {
|
|
24188
|
-
if (this.#
|
|
24188
|
+
if (this.#t < 0)
|
|
24189
24189
|
return null;
|
|
24190
|
-
this.#o(), this.#
|
|
24191
|
-
const t = this.#
|
|
24190
|
+
this.#o(), this.#t >= this.#e.length && (this.#t = 0);
|
|
24191
|
+
const t = this.#e[this.#t];
|
|
24192
24192
|
return t.on() ? t.btn : null;
|
|
24193
24193
|
}
|
|
24194
24194
|
blur() {
|
|
24195
|
-
this.#o(), this.#
|
|
24195
|
+
this.#o(), this.#t = -1, globalThis.focus();
|
|
24196
24196
|
}
|
|
24197
24197
|
#o() {
|
|
24198
|
-
for (let t = this.#
|
|
24199
|
-
const e = this.#
|
|
24200
|
-
!(e.btn instanceof Container) || e.btn.parent ? e.off() : this.#
|
|
24198
|
+
for (let t = this.#e.length - 1; t >= 0; --t) {
|
|
24199
|
+
const e = this.#e[t];
|
|
24200
|
+
!(e.btn instanceof Container) || e.btn.parent ? e.off() : this.#e.splice(t, 1);
|
|
24201
24201
|
}
|
|
24202
24202
|
}
|
|
24203
24203
|
}
|
|
24204
|
-
let chgSt, main$2, val, layMng, scrItr, sndMng, hTag, fcs, goTxt, procWheel4wle
|
|
24204
|
+
let chgSt, main$2, val, layMng, scrItr, sndMng, hTag, fcs, goTxt, procWheel4wle = () => {
|
|
24205
|
+
}, elmHint, cfg, tagL_enabled = !0, skip_all = !1, skip_enabled = !1, auto_enabled = !1, hLocalEvt2Fnc = {}, hGlobalEvt2Fnc = {};
|
|
24205
24206
|
function cancelAutoSkip() {
|
|
24206
24207
|
tagL_enabled || (tagL_enabled = !0, val.setVal_Nochk("tmp", "sn.tagL.enabled", !0)), skip_enabled && (skip_enabled = !1, val.setVal_Nochk("tmp", "sn.skip.enabled", !1)), auto_enabled && (auto_enabled = !1, val.setVal_Nochk("tmp", "sn.auto.enabled", !1));
|
|
24207
24208
|
}
|
|
24209
|
+
class WaitLimitedEventer {
|
|
24210
|
+
#e = new EventListenerCtn();
|
|
24211
|
+
#t = () => {
|
|
24212
|
+
};
|
|
24213
|
+
constructor(t, e) {
|
|
24214
|
+
this.#t = () => {
|
|
24215
|
+
this.destroy(), cancelAutoSkip(), e();
|
|
24216
|
+
}, skip_enabled && !skip_all && !scrItr.isNextKidoku && cancelAutoSkip(), argChk_Boolean(t, "canskip", !0) && (this.#e.add(window, "pointerdown", (r) => {
|
|
24217
|
+
r.stopPropagation(), this.#t();
|
|
24218
|
+
}), this.#e.add(window, "keydown", (r) => {
|
|
24219
|
+
r.isComposing || (r.stopPropagation(), this.#t());
|
|
24220
|
+
}), procWheel4wle(this.#e, this.#t));
|
|
24221
|
+
}
|
|
24222
|
+
destroy() {
|
|
24223
|
+
this.#t = () => {
|
|
24224
|
+
}, this.#e.clear();
|
|
24225
|
+
}
|
|
24226
|
+
}
|
|
24208
24227
|
class ReadState {
|
|
24209
24228
|
constructor(t) {
|
|
24210
24229
|
this.hArg = t, chgSt(this);
|
|
@@ -24244,12 +24263,12 @@ class ReadState {
|
|
|
24244
24263
|
return e ? hGlobalEvt2Fnc = {} : hLocalEvt2Fnc = {}, !1;
|
|
24245
24264
|
}
|
|
24246
24265
|
s(t) {
|
|
24247
|
-
return this.#
|
|
24266
|
+
return this.#i(), Rs_S.go(t);
|
|
24248
24267
|
}
|
|
24249
24268
|
wait = (t) => skip_enabled ? (!skip_all && !scrItr.isNextKidoku && cancelAutoSkip(), !1) : Rs_Wait.go(t);
|
|
24250
24269
|
waitclick = (t) => Rs_WaitClick.go(t);
|
|
24251
24270
|
waitTxtAndTimer(t, e) {
|
|
24252
|
-
return ReadState.
|
|
24271
|
+
return ReadState.#e.once(ReadState.#t, () => {
|
|
24253
24272
|
if (this.finishLimitedEvent(), t === 0) {
|
|
24254
24273
|
this.onFinish();
|
|
24255
24274
|
return;
|
|
@@ -24261,15 +24280,15 @@ class ReadState {
|
|
|
24261
24280
|
r.stop(), remove$6(r), this.onUserAct();
|
|
24262
24281
|
});
|
|
24263
24282
|
}), this.waitLimitedEvent(e, () => {
|
|
24264
|
-
ReadState.
|
|
24283
|
+
ReadState.#e.removeAllListeners(), this.onUserAct();
|
|
24265
24284
|
});
|
|
24266
24285
|
}
|
|
24267
24286
|
static noticeCompTxt() {
|
|
24268
|
-
ReadState.
|
|
24287
|
+
ReadState.#e.emit(ReadState.#t);
|
|
24269
24288
|
}
|
|
24270
|
-
static
|
|
24289
|
+
static #e = new i$1();
|
|
24271
24290
|
// static必須
|
|
24272
|
-
static
|
|
24291
|
+
static #t = "sn:notice_comp_txt";
|
|
24273
24292
|
static popLocalEvts() {
|
|
24274
24293
|
const t = hLocalEvt2Fnc;
|
|
24275
24294
|
return hLocalEvt2Fnc = {}, t;
|
|
@@ -24292,24 +24311,17 @@ class ReadState {
|
|
|
24292
24311
|
// 予約イベントの発生待ちしない waitRsvEvent()
|
|
24293
24312
|
// 使う場合、外部要因でキャンセルした際は finishLimitedEvent() で後始末を忘れないこと
|
|
24294
24313
|
waitLimitedEvent(t, e) {
|
|
24295
|
-
goTxt(), val.saveKidoku();
|
|
24296
|
-
const r = () => {
|
|
24297
|
-
this.#t.isEmpty || (this.#t.clear(), cancelAutoSkip(), e());
|
|
24298
|
-
};
|
|
24299
|
-
return skip_enabled && !skip_all && !scrItr.isNextKidoku && cancelAutoSkip(), argChk_Boolean(t, "canskip", !0) && (this.#t.add(window, "pointerdown", (N) => {
|
|
24300
|
-
N.stopPropagation(), r();
|
|
24301
|
-
}), this.#t.add(window, "keydown", (N) => {
|
|
24302
|
-
N.isComposing || (N.stopPropagation(), r());
|
|
24303
|
-
}), procWheel4wle(this.#t, r)), !0;
|
|
24314
|
+
return this.#r.destroy(), this.#r = new WaitLimitedEventer(t, e), goTxt(), val.saveKidoku(), !0;
|
|
24304
24315
|
}
|
|
24305
24316
|
finishLimitedEvent() {
|
|
24306
|
-
this.#
|
|
24317
|
+
this.#r.destroy();
|
|
24307
24318
|
}
|
|
24308
|
-
#
|
|
24319
|
+
#r = new WaitLimitedEventer({}, () => {
|
|
24320
|
+
});
|
|
24309
24321
|
l(t) {
|
|
24310
24322
|
if (!tagL_enabled)
|
|
24311
24323
|
return !1;
|
|
24312
|
-
if (this.#
|
|
24324
|
+
if (this.#i(!0), auto_enabled) {
|
|
24313
24325
|
const e = Number(val.getVal(`sys:sn.auto.msecLineWait${scrItr.isKidoku ? "_Kidoku" : ""}`));
|
|
24314
24326
|
return Rs_L_AutoSkip.go(e, t);
|
|
24315
24327
|
}
|
|
@@ -24322,7 +24334,7 @@ class ReadState {
|
|
|
24322
24334
|
return Rs_L.go(t);
|
|
24323
24335
|
}
|
|
24324
24336
|
p(t) {
|
|
24325
|
-
if (this.#
|
|
24337
|
+
if (this.#i(), auto_enabled) {
|
|
24326
24338
|
const e = Number(val.getVal(`sys:sn.auto.msecPageWait${scrItr.isKidoku ? "_Kidoku" : ""}`));
|
|
24327
24339
|
return Rs_P_AutoSkip.go(e, t);
|
|
24328
24340
|
}
|
|
@@ -24362,7 +24374,7 @@ class ReadState {
|
|
|
24362
24374
|
}
|
|
24363
24375
|
return RsPagination.go(t);
|
|
24364
24376
|
}
|
|
24365
|
-
#
|
|
24377
|
+
#i(t = !1) {
|
|
24366
24378
|
if (!val.getVal("save:sn.doRecLog"))
|
|
24367
24379
|
return;
|
|
24368
24380
|
const { fn: e, idx: r } = scrItr.nowScrIdx(), N = r - 1 + ":" + e;
|
|
@@ -24541,7 +24553,7 @@ class Rs_WaitAny_Wait extends Rs_S_base {
|
|
|
24541
24553
|
}
|
|
24542
24554
|
class RsPagination extends Rs_S {
|
|
24543
24555
|
get isSkipping() {
|
|
24544
|
-
return !ReadState.aPage[this.#
|
|
24556
|
+
return !ReadState.aPage[this.#e].week;
|
|
24545
24557
|
}
|
|
24546
24558
|
// return true で良いのだが、[l]でページ移動モードになったあと、[l]に戻ってモード終了してから、[p]に至る文字表示が瞬時表示になる対策
|
|
24547
24559
|
s = (t) => Rs_S.go(t);
|
|
@@ -24549,17 +24561,17 @@ class RsPagination extends Rs_S {
|
|
|
24549
24561
|
waitclick = () => !1;
|
|
24550
24562
|
waitTxtAndTimer = () => !1;
|
|
24551
24563
|
l(t) {
|
|
24552
|
-
if (!ReadState.aPage[this.#
|
|
24564
|
+
if (!ReadState.aPage[this.#e].week)
|
|
24553
24565
|
return !1;
|
|
24554
24566
|
const e = ReadState.aPage.length;
|
|
24555
|
-
return this.#
|
|
24567
|
+
return this.#e === e - 1 ? Rs_L_Wait.go(t) : (argChk_Boolean(t, "visible", !0) && (layMng.breakLine(t), goTxt()), this.waitRsvEvent(!1, !0), !0);
|
|
24556
24568
|
}
|
|
24557
24569
|
p(t) {
|
|
24558
24570
|
const e = ReadState.aPage.length;
|
|
24559
|
-
return this.#
|
|
24571
|
+
return this.#e === e - 1 ? Rs_P_Wait.go(t) : (argChk_Boolean(t, "visible", !0) && (layMng.breakPage(t), goTxt()), this.waitRsvEvent(!1, !0), !0);
|
|
24560
24572
|
}
|
|
24561
24573
|
static go = (t) => new RsPagination(t).page(t);
|
|
24562
|
-
#
|
|
24574
|
+
#e = ReadState.aPage.length - 1;
|
|
24563
24575
|
page(t) {
|
|
24564
24576
|
const { to: e } = t;
|
|
24565
24577
|
if (!e)
|
|
@@ -24567,23 +24579,23 @@ class RsPagination extends Rs_S {
|
|
|
24567
24579
|
const r = ReadState.aPage.length;
|
|
24568
24580
|
switch (e) {
|
|
24569
24581
|
case "prev":
|
|
24570
|
-
if (this.#
|
|
24582
|
+
if (this.#e === 0)
|
|
24571
24583
|
return !1;
|
|
24572
|
-
--this.#
|
|
24584
|
+
--this.#e;
|
|
24573
24585
|
break;
|
|
24574
24586
|
case "next":
|
|
24575
|
-
if (this.#
|
|
24587
|
+
if (this.#e === r - 1)
|
|
24576
24588
|
return !1;
|
|
24577
|
-
++this.#
|
|
24589
|
+
++this.#e;
|
|
24578
24590
|
break;
|
|
24579
24591
|
default:
|
|
24580
24592
|
throw `属性to「${e}」は異常です`;
|
|
24581
24593
|
}
|
|
24582
|
-
const { fn: N, index: k, mark: D } = ReadState.aPage[this.#
|
|
24594
|
+
const { fn: N, index: k, mark: D } = ReadState.aPage[this.#e];
|
|
24583
24595
|
return scrItr.loadFromMark({
|
|
24584
24596
|
fn: N,
|
|
24585
24597
|
index: k,
|
|
24586
|
-
style: this.#
|
|
24598
|
+
style: this.#e === r - 1 ? void 0 : ReadState.stylePage
|
|
24587
24599
|
//r_style までは不要か
|
|
24588
24600
|
}, D);
|
|
24589
24601
|
}
|
|
@@ -25553,7 +25565,7 @@ class EventMng {
|
|
|
25553
25565
|
<div class="sn_hint" role="tooltip">
|
|
25554
25566
|
<span>Dummy</span>
|
|
25555
25567
|
<div class="sn_hint_ar" data-popper-arrow></div>
|
|
25556
|
-
</div>`), this.#f = document.querySelector(".sn_hint"), this.#d = this.#f.querySelector("span"), this.#v = createPopper(this.#g, this.#f), this.#f.hidden = !0, r.stage.interactive = !0, CmnLib.isMobile ? r.stage.on("pointerdown", (Y) => this.fire("click", Y)) : this.#
|
|
25568
|
+
</div>`), this.#f = document.querySelector(".sn_hint"), this.#d = this.#f.querySelector("span"), this.#v = createPopper(this.#g, this.#f), this.#f.hidden = !0, r.stage.interactive = !0, CmnLib.isMobile ? r.stage.on("pointerdown", (Y) => this.fire("click", Y)) : this.#e.add(r.stage, "pointerdown", (Y) => {
|
|
25557
25569
|
switch (Y.data.button) {
|
|
25558
25570
|
case 0:
|
|
25559
25571
|
this.fire("click", Y);
|
|
@@ -25562,22 +25574,22 @@ class EventMng {
|
|
|
25562
25574
|
this.fire("middleclick", Y);
|
|
25563
25575
|
break;
|
|
25564
25576
|
}
|
|
25565
|
-
}), this.#
|
|
25577
|
+
}), this.#e.add(window, "keydown", (Y) => this.#o(Y)), this.#e.add(Main.cvs, "contextmenu", (Y) => this.#h(Y));
|
|
25566
25578
|
const H = () => D.setVal_Nochk("tmp", "const.sn.navigator.language", navigator.language);
|
|
25567
|
-
this.#
|
|
25579
|
+
this.#e.add(window, "languagechange", (Y) => {
|
|
25568
25580
|
H(), this.fire("sn:chgNavLang", Y), clearTextureCache();
|
|
25569
25581
|
}), H();
|
|
25570
25582
|
const z = (Y) => {
|
|
25571
25583
|
CmnLib.isDarkMode = Y.matches, D.setVal_Nochk("tmp", "const.sn.isDarkMode", CmnLib.isDarkMode);
|
|
25572
25584
|
}, V = globalThis.matchMedia("(prefers-color-scheme: dark)");
|
|
25573
|
-
z(V), this.#
|
|
25585
|
+
z(V), this.#e.add(V, "change", (Y) => {
|
|
25574
25586
|
z(Y), this.fire("sn:chgDarkMode", Y);
|
|
25575
25587
|
});
|
|
25576
25588
|
let X = (Y, K) => {
|
|
25577
25589
|
};
|
|
25578
|
-
"WheelEvent" in window && (this.#
|
|
25590
|
+
"WheelEvent" in window && (this.#e.add(Main.cvs, "wheel", (Y) => this.#l(Y), { passive: !0 }), this.#n = (Y) => this.#e.add(Y, "wheel", (K) => this.#l(K), { passive: !0 }), X = (Y, K) => Y.add(Main.cvs, "wheel", (Z) => {
|
|
25579
25591
|
Z.isComposing || Z.deltaY <= 0 || (Z.stopPropagation(), K());
|
|
25580
|
-
})), ReadState.init((Y) => this.#i = Y, N, D, k, $, B, e, this.#r, X, this.#f, t), CmnLib.debugLog && (this.#
|
|
25592
|
+
})), ReadState.init((Y) => this.#i = Y, N, D, k, $, B, e, this.#r, X, this.#f, t), CmnLib.debugLog && (this.#t.on("gamepad:connected", (Y) => console.log(`👺<'gamepad:connected' index:${Y.detail.index} id:${Y.detail.gamepad.id}`)), this.#t.on("gamepad:disconnected", (Y) => console.log(`👺<'gamepad:disconnected' index:${Y.detail.index} id:${Y.detail.gamepad.id}`)));
|
|
25581
25593
|
const q = [
|
|
25582
25594
|
"",
|
|
25583
25595
|
"ArrowUp",
|
|
@@ -25592,7 +25604,7 @@ class EventMng {
|
|
|
25592
25604
|
""
|
|
25593
25605
|
// '1', '2', '3',
|
|
25594
25606
|
], W = [0, 0];
|
|
25595
|
-
this.#
|
|
25607
|
+
this.#t.on("gamepad:axis", (Y) => {
|
|
25596
25608
|
if (!document.hasFocus() || Y.detail.stick !== 0)
|
|
25597
25609
|
return;
|
|
25598
25610
|
W[Y.detail.axis] = Y.detail.value;
|
|
@@ -25601,26 +25613,26 @@ class EventMng {
|
|
|
25601
25613
|
return;
|
|
25602
25614
|
const J = this.#r.getFocus();
|
|
25603
25615
|
(!J || J instanceof Container ? globalThis : J).dispatchEvent(new KeyboardEvent("keydown", { key: Z, bubbles: !0 })), !(!J || J instanceof Container) && J.getAttribute("type") === "range" && J.dispatchEvent(new InputEvent("input", { bubbles: !0 }));
|
|
25604
|
-
}), this.#
|
|
25616
|
+
}), this.#t.on("gamepad:button", (Y) => {
|
|
25605
25617
|
if (document.hasFocus())
|
|
25606
25618
|
if (Y.detail.button % 2 === 0) {
|
|
25607
25619
|
const K = this.#r.getFocus();
|
|
25608
25620
|
(!K || K instanceof Container ? globalThis : K).dispatchEvent(new KeyboardEvent("keydown", { key: "Enter", bubbles: !0 }));
|
|
25609
25621
|
} else
|
|
25610
25622
|
Main.cvs.dispatchEvent(new Event("contextmenu"));
|
|
25611
|
-
}), this.#
|
|
25623
|
+
}), this.#t.start(), this.#e.add(window, "keyup", (Y) => {
|
|
25612
25624
|
Y.isComposing || Y.key in this.#_ && (this.#_[Y.key] = 0);
|
|
25613
25625
|
}), D.defTmp("const.sn.key.alternate", () => this.#_.Alt > 0), D.defTmp("const.sn.key.command", () => this.#_.Meta > 0), D.defTmp("const.sn.key.control", () => this.#_.Control > 0), D.defTmp("const.sn.key.end", () => this.#_.End > 0), D.defTmp("const.sn.key.escape", () => this.#_.Escape > 0), D.defTmp("const.sn.key.back", () => this.#_.GoBack > 0);
|
|
25614
25626
|
}
|
|
25615
|
-
#
|
|
25616
|
-
#
|
|
25627
|
+
#e = new EventListenerCtn();
|
|
25628
|
+
#t = new GamepadListener({
|
|
25617
25629
|
analog: !1,
|
|
25618
25630
|
deadZone: 0.3
|
|
25619
25631
|
});
|
|
25620
25632
|
#r = new FocusMng();
|
|
25621
25633
|
#i;
|
|
25622
25634
|
resvFlameEvent(t) {
|
|
25623
|
-
this.#
|
|
25635
|
+
this.#e.add(t, "keydown", (e) => this.#o(e)), this.#e.add(t, "contextmenu", (e) => this.#h(e)), this.#n(t);
|
|
25624
25636
|
}
|
|
25625
25637
|
#n = (t) => {
|
|
25626
25638
|
};
|
|
@@ -25658,7 +25670,7 @@ class EventMng {
|
|
|
25658
25670
|
}, 250);
|
|
25659
25671
|
}
|
|
25660
25672
|
destroy() {
|
|
25661
|
-
this.#r.destroy(), this.#
|
|
25673
|
+
this.#r.destroy(), this.#e.clear();
|
|
25662
25674
|
}
|
|
25663
25675
|
fire(t, e) {
|
|
25664
25676
|
this.#i.fire(t, e);
|
|
@@ -25752,15 +25764,8 @@ class EventMng {
|
|
|
25752
25764
|
this.#f.hidden = !0;
|
|
25753
25765
|
}
|
|
25754
25766
|
cvsResize() {
|
|
25755
|
-
this
|
|
25767
|
+
this.hideHint();
|
|
25756
25768
|
}
|
|
25757
|
-
// 予約イベントの発生待ち
|
|
25758
|
-
waitEvent = (t, e) => this.#i.waitEvent(t, e);
|
|
25759
|
-
// 予約イベントの発生待ちしない waitEvent
|
|
25760
|
-
// waitLimitedEvent(hArg: HArg, onUserAct: ()=> void): boolean {
|
|
25761
|
-
// return this.#rs.waitLimitedEvent(hArg, onUserAct);
|
|
25762
|
-
// }
|
|
25763
|
-
// finishLimitedEvent() {this.#rs.finishLimitedEvent()}
|
|
25764
25769
|
#a(t) {
|
|
25765
25770
|
const e = t.key;
|
|
25766
25771
|
if (!e)
|
|
@@ -25794,7 +25799,7 @@ class EventMng {
|
|
|
25794
25799
|
break;
|
|
25795
25800
|
}
|
|
25796
25801
|
B.forEach((U, H) => D.el.forEach((z) => {
|
|
25797
|
-
this.#
|
|
25802
|
+
this.#e.add(z, U, (V) => {
|
|
25798
25803
|
if (!this.#i.isWait || this.layMng.getFrmDisabled(D.id) || U === "keydown" && V.key !== "Enter")
|
|
25799
25804
|
return;
|
|
25800
25805
|
const X = z.dataset;
|
|
@@ -25857,6 +25862,13 @@ class EventMng {
|
|
|
25857
25862
|
}
|
|
25858
25863
|
return !1;
|
|
25859
25864
|
}
|
|
25865
|
+
// 予約イベントの発生待ち
|
|
25866
|
+
waitEvent = (t, e) => this.#i.waitEvent(t, e);
|
|
25867
|
+
// 予約イベントの発生待ちしない waitEvent
|
|
25868
|
+
// waitLimitedEvent(hArg: HArg, onUserAct: ()=> void): boolean {
|
|
25869
|
+
// return this.#rs.waitLimitedEvent(hArg, onUserAct);
|
|
25870
|
+
// }
|
|
25871
|
+
// finishLimitedEvent() {this.#rs.finishLimitedEvent()}
|
|
25860
25872
|
noticeCompTxt() {
|
|
25861
25873
|
ReadState.noticeCompTxt();
|
|
25862
25874
|
}
|
|
@@ -25889,7 +25901,7 @@ class ScriptIterator {
|
|
|
25889
25901
|
constructor(t, e, r, N, k, D, B, $, U) {
|
|
25890
25902
|
this.cfg = t, this.hTag = e, this.main = r, this.val = N, this.alzTagArg = k, this.runAnalyze = D, this.prpPrs = B, this.sndMng = $, this.sys = U, e.let_ml = (z) => this.#B(z), e.endlet_ml = () => !1, e.dump_stack = () => this.#N(), e.dump_script = (z) => this.#z(z), e.else = // その他ifブロック開始
|
|
25891
25903
|
e.elsif = // 別条件のifブロック開始
|
|
25892
|
-
e.endif = () => this.#R(), e.if = (z) => this.#X(z), e.call = (z) => this.#k(z), e.jump = (z) => this.#q(z), e.pop_stack = (z) => this.#D(z), e.return = (z) => this.#W(z), e.bracket2macro = (z) => this.#lt(z), e.char2macro = (z) => this.#ut(z), e.endmacro = (z) => this.#W(z), e.macro = (z) => this.#pt(z), e.load = (z) => this.#vt(z), e.reload_script = (z) => this.#mt(z), e.record_place = () => this.#gt(), e.save = (z) => this.#yt(z), t.oCfg.debug.token && (this.#F = (z) => console.log(`🌱 トークン fn:${this.#
|
|
25904
|
+
e.endif = () => this.#R(), e.if = (z) => this.#X(z), e.call = (z) => this.#k(z), e.jump = (z) => this.#q(z), e.pop_stack = (z) => this.#D(z), e.return = (z) => this.#W(z), e.bracket2macro = (z) => this.#lt(z), e.char2macro = (z) => this.#ut(z), e.endmacro = (z) => this.#W(z), e.macro = (z) => this.#pt(z), e.load = (z) => this.#vt(z), e.reload_script = (z) => this.#mt(z), e.record_place = () => this.#gt(), e.save = (z) => this.#yt(z), t.oCfg.debug.token && (this.#F = (z) => console.log(`🌱 トークン fn:${this.#t} idx:${this.#r} ln:${this.#i} token【${z}】`)), N.defTmp("const.sn.aIfStk.length", () => this.#w.length), N.defTmp("const.sn.vctCallStk.length", () => this.#n.length);
|
|
25893
25905
|
const H = t.oCfg.init.escape;
|
|
25894
25906
|
if (this.#o.setEscape(H), RubySpliter.setEscape(H), CmnLib.isDbg) {
|
|
25895
25907
|
U.addHook((V, X) => this.#l[V]?.(X)), this.isBreak = this.#y;
|
|
@@ -25924,12 +25936,12 @@ class ScriptIterator {
|
|
|
25924
25936
|
} else
|
|
25925
25937
|
this.recodeDesign = () => {
|
|
25926
25938
|
};
|
|
25927
|
-
t.oCfg.debug.tag && (this.#I = (z) => console.log(`🌲 タグ解析 fn:${this.#
|
|
25939
|
+
t.oCfg.debug.tag && (this.#I = (z) => console.log(`🌲 タグ解析 fn:${this.#t} idx:${this.#r} ln:${this.#i} [${z} %o]`, this.alzTagArg.hPrm));
|
|
25928
25940
|
}
|
|
25929
|
-
#
|
|
25930
|
-
#
|
|
25941
|
+
#e = { aToken: [""], len: 1, aLNum: [1] };
|
|
25942
|
+
#t = "";
|
|
25931
25943
|
get scriptFn() {
|
|
25932
|
-
return this.#
|
|
25944
|
+
return this.#t;
|
|
25933
25945
|
}
|
|
25934
25946
|
#r = 0;
|
|
25935
25947
|
subIdxToken() {
|
|
@@ -25941,7 +25953,7 @@ class ScriptIterator {
|
|
|
25941
25953
|
}
|
|
25942
25954
|
addLineNum = (t) => this.#i += t;
|
|
25943
25955
|
jumpJustBefore() {
|
|
25944
|
-
this.#j(this.#
|
|
25956
|
+
this.#j(this.#t, "", --this.#r);
|
|
25945
25957
|
}
|
|
25946
25958
|
// 直前にジャンプ
|
|
25947
25959
|
#n = [];
|
|
@@ -25986,7 +25998,7 @@ class ScriptIterator {
|
|
|
25986
25998
|
stepin: () => {
|
|
25987
25999
|
if (this.#u())
|
|
25988
26000
|
return;
|
|
25989
|
-
const t = this.#
|
|
26001
|
+
const t = this.#e.aToken[this.#r - this.#v];
|
|
25990
26002
|
this.sys.callHook(`stopOnStep${this.#ct.test(t) ? "In" : ""}`, {}), this.#r -= this.#v, this.#m = this.#m === 1 ? 4 : 5, this.main.setLoop(!0), this.main.resume();
|
|
25991
26003
|
},
|
|
25992
26004
|
stepout: (t) => {
|
|
@@ -26002,12 +26014,12 @@ class ScriptIterator {
|
|
|
26002
26014
|
#p = (t) => this.cfg.searchPath(t, SEARCH_PATH_ARG_EXT.SCRIPT);
|
|
26003
26015
|
static #s = /(.+)\/crypto_prj\/([^\/]+)\/[^\.]+(\.\w+)/;
|
|
26004
26016
|
// https://regex101.com/r/Km54EK/1 141 steps (~0ms)
|
|
26005
|
-
#c = (t) => (this.sys.pathBaseCnvSnPath4Dbg + this.#p(t)).replace(ScriptIterator.#s, `$1/prj/$2/${this.#
|
|
26017
|
+
#c = (t) => (this.sys.pathBaseCnvSnPath4Dbg + this.#p(t)).replace(ScriptIterator.#s, `$1/prj/$2/${this.#t}$3`);
|
|
26006
26018
|
cnvPath4Dbg = (t) => this.sys.pathBaseCnvSnPath4Dbg + t.replace("/crypto_prj/", "/prj/");
|
|
26007
26019
|
#g(t) {
|
|
26008
26020
|
if (this.#u())
|
|
26009
26021
|
return;
|
|
26010
|
-
const e = this.#
|
|
26022
|
+
const e = this.#e.aToken[this.#r - this.#v];
|
|
26011
26023
|
this.#ct.test(e) ? this.#f(!1) : (this.sys.callHook("stopOnStep", {}), this.#l.stepin(t));
|
|
26012
26024
|
}
|
|
26013
26025
|
#f(t) {
|
|
@@ -26018,7 +26030,7 @@ class ScriptIterator {
|
|
|
26018
26030
|
return this.#m === 2 || this.#m === 4 ? 1 : 0;
|
|
26019
26031
|
}
|
|
26020
26032
|
#u() {
|
|
26021
|
-
return this.#r < this.#
|
|
26033
|
+
return this.#r < this.#e.len ? !1 : (this.sys.callHook("stopOnEntry", {}), this.main.setLoop(!1, "スクリプト終端です"), !0);
|
|
26022
26034
|
}
|
|
26023
26035
|
// reload 再生成 Main に受け渡すため static
|
|
26024
26036
|
static #b = {};
|
|
@@ -26047,7 +26059,7 @@ class ScriptIterator {
|
|
|
26047
26059
|
if (tagToken2Name(t) in ScriptIterator.#a)
|
|
26048
26060
|
return this.#m = 2, this.main.setLoop(!1, `関数 ${t} ブレーク`), this.sys.callHook("stopOnBreakpoint", {}), this.sys.send2Dbg("stopOnBreakpoint", {}), !0;
|
|
26049
26061
|
{
|
|
26050
|
-
const e = ScriptIterator.#b[this.#c(this.#
|
|
26062
|
+
const e = ScriptIterator.#b[this.#c(this.#t)];
|
|
26051
26063
|
if (!e)
|
|
26052
26064
|
break;
|
|
26053
26065
|
const r = e[this.#i];
|
|
@@ -26068,14 +26080,14 @@ class ScriptIterator {
|
|
|
26068
26080
|
return !1;
|
|
26069
26081
|
}
|
|
26070
26082
|
#_() {
|
|
26071
|
-
const t = ScriptIterator.#b[getFn(this.#
|
|
26083
|
+
const t = ScriptIterator.#b[getFn(this.#t)]?.[this.#i];
|
|
26072
26084
|
t?.hitCondition && --t.hitCondition;
|
|
26073
26085
|
}
|
|
26074
26086
|
#T() {
|
|
26075
|
-
const t = this.#m === 3 ? 1 : 0, e = this.#
|
|
26087
|
+
const t = this.#m === 3 ? 1 : 0, e = this.#e.aToken[this.#r - 1 + t], r = this.#c(this.#t), N = tagToken2Name(e), k = N ? `[${N}]` : e, D = this.val.getVal("mp:const.sn.macro") ?? "{}";
|
|
26076
26088
|
if (this.#r === 0)
|
|
26077
26089
|
return [{ fn: r, ln: 1, col: 1, nm: k, ma: D }];
|
|
26078
|
-
const B = this.#P(this.#
|
|
26090
|
+
const B = this.#P(this.#e, this.#r), $ = [{ fn: r, ln: B.ln, col: B.col_s + 1, nm: k, ma: D }], U = this.#n.length;
|
|
26079
26091
|
if (U === 0)
|
|
26080
26092
|
return $;
|
|
26081
26093
|
for (let H = U - 1; H >= 0; --H) {
|
|
@@ -26149,8 +26161,8 @@ class ScriptIterator {
|
|
|
26149
26161
|
if (!e)
|
|
26150
26162
|
throw "nameは必須です";
|
|
26151
26163
|
let r = "";
|
|
26152
|
-
const N = this.#
|
|
26153
|
-
for (; this.#r < N && (r = this.#
|
|
26164
|
+
const N = this.#e.len;
|
|
26165
|
+
for (; this.#r < N && (r = this.#e.aToken[this.#r], r === ""); ++this.#r)
|
|
26154
26166
|
;
|
|
26155
26167
|
return t.text = r, t.cast = "str", this.hTag.let(t), this.#r += 2, this.#i += (r.match(/\n/g) ?? []).length, !1;
|
|
26156
26168
|
}
|
|
@@ -26158,8 +26170,8 @@ class ScriptIterator {
|
|
|
26158
26170
|
// スタックのダンプ
|
|
26159
26171
|
#N() {
|
|
26160
26172
|
if (this.#r === 0)
|
|
26161
|
-
return console.group(`🥟 [dump_stack] スクリプト現在地 fn:${this.#
|
|
26162
|
-
const t = this.#P(this.#
|
|
26173
|
+
return console.group(`🥟 [dump_stack] スクリプト現在地 fn:${this.#t} line:1 col:0`), console.groupEnd(), !1;
|
|
26174
|
+
const t = this.#P(this.#e, this.#r), e = `スクリプト現在地 fn:${this.#t} line:${t.ln} col:${t.col_s + 1}`;
|
|
26163
26175
|
console.group(`🥟 [dump_stack] ${e}`);
|
|
26164
26176
|
const r = this.#n.length;
|
|
26165
26177
|
if (r > 0) {
|
|
@@ -26202,8 +26214,8 @@ class ScriptIterator {
|
|
|
26202
26214
|
}, !1;
|
|
26203
26215
|
}
|
|
26204
26216
|
if (this.noticeBreak = (N) => {
|
|
26205
|
-
this.#L !== this.#
|
|
26206
|
-
this.#$[this.#
|
|
26217
|
+
this.#L !== this.#t && (this.#L = this.#t, this.#O(
|
|
26218
|
+
this.#$[this.#t] ??= this.#e.aToken.join("")
|
|
26207
26219
|
)), this.#x(this.#i, N);
|
|
26208
26220
|
}, this.noticeBreak(!0), !r)
|
|
26209
26221
|
return !1;
|
|
@@ -26226,16 +26238,16 @@ class ScriptIterator {
|
|
|
26226
26238
|
#C = 5;
|
|
26227
26239
|
dumpErrForeLine() {
|
|
26228
26240
|
if (this.#r === 0) {
|
|
26229
|
-
console.group(`🥟 Error line (from 0 rows before) fn:${this.#
|
|
26241
|
+
console.group(`🥟 Error line (from 0 rows before) fn:${this.#t}`), console.groupEnd();
|
|
26230
26242
|
return;
|
|
26231
26243
|
}
|
|
26232
26244
|
let t = "";
|
|
26233
|
-
for (let D = this.#r - 1; D >= 0 && (t = this.#
|
|
26245
|
+
for (let D = this.#r - 1; D >= 0 && (t = this.#e.aToken[D] + t, !((t.match(/\n/g) ?? []).length >= this.#C)); --D)
|
|
26234
26246
|
;
|
|
26235
26247
|
const e = t.split(`
|
|
26236
26248
|
`).slice(-this.#C), r = e.length;
|
|
26237
|
-
console.group(`🥟 Error line (from ${r} rows before) fn:${this.#
|
|
26238
|
-
const N = String(this.#i).length, k = this.#P(this.#
|
|
26249
|
+
console.group(`🥟 Error line (from ${r} rows before) fn:${this.#t}`);
|
|
26250
|
+
const N = String(this.#i).length, k = this.#P(this.#e, this.#r);
|
|
26239
26251
|
for (let D = 0; D < r; ++D) {
|
|
26240
26252
|
const B = this.#i - r + D + 1, $ = `${String(B).padStart(N, " ")}: %c`, U = e[D], H = U.length > 75 ? U.slice(0, 75) + "…" : U;
|
|
26241
26253
|
D === r - 1 ? console.info(
|
|
@@ -26261,13 +26273,13 @@ class ScriptIterator {
|
|
|
26261
26273
|
if (e.at(0) === "&")
|
|
26262
26274
|
throw "属性expは「&」が不要です";
|
|
26263
26275
|
let r = 0, N = this.prpPrs.parse(e) ? this.#r : -1;
|
|
26264
|
-
const k = this.#
|
|
26276
|
+
const k = this.#e.aLNum[this.#r];
|
|
26265
26277
|
let D = this.#i - (k || 0);
|
|
26266
|
-
const B = this.#
|
|
26278
|
+
const B = this.#e.len;
|
|
26267
26279
|
for (; this.#r < B; ++this.#r) {
|
|
26268
|
-
const $ = this.#
|
|
26269
|
-
this.#
|
|
26270
|
-
const U = this.#
|
|
26280
|
+
const $ = this.#e.aLNum[this.#r];
|
|
26281
|
+
this.#e.aLNum[this.#r] = ($ || 0) + D;
|
|
26282
|
+
const U = this.#e.aToken[this.#r];
|
|
26271
26283
|
if (!U)
|
|
26272
26284
|
continue;
|
|
26273
26285
|
const H = U.charCodeAt(0);
|
|
@@ -26302,7 +26314,7 @@ class ScriptIterator {
|
|
|
26302
26314
|
--r;
|
|
26303
26315
|
break;
|
|
26304
26316
|
}
|
|
26305
|
-
return N === -1 ? (++this.#r, this.#
|
|
26317
|
+
return N === -1 ? (++this.#r, this.#e.aLNum[this.#r] += D) : (this.#w.unshift(this.#r + 1), this.#r = N, this.#i = this.#e.aLNum[this.#r]), !1;
|
|
26306
26318
|
}
|
|
26307
26319
|
}
|
|
26308
26320
|
throw "[endif]がないままスクリプト終端です";
|
|
@@ -26315,7 +26327,7 @@ class ScriptIterator {
|
|
|
26315
26327
|
return e && this.#p(e), this.#M({ ":hEvt1Time": this.#S.popLocalEvts(), ":hMp": this.val.cloneMp(), ":lenIfStk": this.#w.length }), argChk_Boolean(t, "clear_local_event", !1) && this.hTag.clear_event({}), this.#j(e, t.label), !0;
|
|
26316
26328
|
}
|
|
26317
26329
|
#M(t) {
|
|
26318
|
-
this.#
|
|
26330
|
+
this.#e.aLNum[this.#r] = this.#i, this.#V || (t[":resvToken"] = "", this.#U()), this.#n.push(new CallStack(this.#t, this.#r, t)), this.#w.unshift(-1);
|
|
26319
26331
|
}
|
|
26320
26332
|
// シナリオジャンプ
|
|
26321
26333
|
#q(t) {
|
|
@@ -26356,14 +26368,14 @@ class ScriptIterator {
|
|
|
26356
26368
|
if (t.includes("@"))
|
|
26357
26369
|
throw "[jump系] fn には文字「@」は禁止です";
|
|
26358
26370
|
const N = this.#p(t);
|
|
26359
|
-
if (t === this.#
|
|
26371
|
+
if (t === this.#t) {
|
|
26360
26372
|
this.analyzeInit();
|
|
26361
26373
|
return;
|
|
26362
26374
|
}
|
|
26363
|
-
this.#
|
|
26375
|
+
this.#t = t;
|
|
26364
26376
|
const k = this.#G[t];
|
|
26365
26377
|
if (k) {
|
|
26366
|
-
this.#
|
|
26378
|
+
this.#e = k, this.analyzeInit();
|
|
26367
26379
|
return;
|
|
26368
26380
|
}
|
|
26369
26381
|
const D = new Loader();
|
|
@@ -26394,7 +26406,7 @@ class ScriptIterator {
|
|
|
26394
26406
|
}), this.main.stop();
|
|
26395
26407
|
}
|
|
26396
26408
|
analyzeInit() {
|
|
26397
|
-
const t = this.#nt(this.#
|
|
26409
|
+
const t = this.#nt(this.#e, !!this.val.getVal("mp:const.sn.macro.name"), this.#i, this.#A, this.#r);
|
|
26398
26410
|
this.#r = t.idx, this.#i = t.ln, this.runAnalyze();
|
|
26399
26411
|
}
|
|
26400
26412
|
// シナリオ解析処理ループ・冒頭処理
|
|
@@ -26403,14 +26415,14 @@ class ScriptIterator {
|
|
|
26403
26415
|
#Y() {
|
|
26404
26416
|
if (this.#H())
|
|
26405
26417
|
return "";
|
|
26406
|
-
this.#ht(), this.#
|
|
26407
|
-
const t = this.#
|
|
26418
|
+
this.#ht(), this.#e.aLNum[this.#r] ||= this.#i;
|
|
26419
|
+
const t = this.#e.aToken[this.#r];
|
|
26408
26420
|
return this.#F(t), ++this.#r, t;
|
|
26409
26421
|
}
|
|
26410
26422
|
#F = (t) => {
|
|
26411
26423
|
};
|
|
26412
26424
|
#H() {
|
|
26413
|
-
return this.#r < this.#
|
|
26425
|
+
return this.#r < this.#e.len ? !1 : (this.main.errScript("スクリプト終端です"), !0);
|
|
26414
26426
|
}
|
|
26415
26427
|
#K = /(\*{2,})([^\|]*)/;
|
|
26416
26428
|
#it = /^\[macro\s/;
|
|
@@ -26484,16 +26496,16 @@ class ScriptIterator {
|
|
|
26484
26496
|
try {
|
|
26485
26497
|
e = "ScriptIterator.resolveScript";
|
|
26486
26498
|
const r = this.#o.resolveScript(t);
|
|
26487
|
-
e = "ScriptIterator.replaceScript_Wildcard", this.#ot(r), this.#G[this.#
|
|
26499
|
+
e = "ScriptIterator.replaceScript_Wildcard", this.#ot(r), this.#G[this.#t] = this.#e = r;
|
|
26488
26500
|
} catch (r) {
|
|
26489
26501
|
r instanceof Error ? e += `例外 mes=${r.message}(${r.name})` : e = r, this.main.errScript(e, !1);
|
|
26490
26502
|
}
|
|
26491
|
-
this.val.loadScrWork(this.#
|
|
26503
|
+
this.val.loadScrWork(this.#t);
|
|
26492
26504
|
}
|
|
26493
26505
|
#tt(t) {
|
|
26494
|
-
this.#
|
|
26495
|
-
const e = this.#G[this.#
|
|
26496
|
-
e && (this.#
|
|
26506
|
+
this.#t = t.fn, this.#r = t.idx;
|
|
26507
|
+
const e = this.#G[this.#t];
|
|
26508
|
+
e && (this.#e = e), this.#i = this.#e.aLNum[t.idx];
|
|
26497
26509
|
}
|
|
26498
26510
|
#et = /^\[(call|loadplugin)\s/;
|
|
26499
26511
|
#at = /\bfn\s*=\s*[^\s\]]+/;
|
|
@@ -26523,9 +26535,9 @@ class ScriptIterator {
|
|
|
26523
26535
|
t.len = t.aToken.length;
|
|
26524
26536
|
}
|
|
26525
26537
|
#ht() {
|
|
26526
|
-
const t = this.val.getAreaKidoku(this.#
|
|
26538
|
+
const t = this.val.getAreaKidoku(this.#t);
|
|
26527
26539
|
if (!t)
|
|
26528
|
-
throw `recordKidoku fn:'${this.#
|
|
26540
|
+
throw `recordKidoku fn:'${this.#t}' (areas === null)`;
|
|
26529
26541
|
if (this.#n.length > 0) {
|
|
26530
26542
|
t.record(this.#r);
|
|
26531
26543
|
return;
|
|
@@ -26537,10 +26549,10 @@ class ScriptIterator {
|
|
|
26537
26549
|
return this.#Z;
|
|
26538
26550
|
}
|
|
26539
26551
|
#rt() {
|
|
26540
|
-
this.val.getAreaKidoku(this.#
|
|
26552
|
+
this.val.getAreaKidoku(this.#t)?.erase(this.#r), this.#Z = !1;
|
|
26541
26553
|
}
|
|
26542
26554
|
get isNextKidoku() {
|
|
26543
|
-
let t = this.#
|
|
26555
|
+
let t = this.#t, e = this.#r, r = this.#e.len;
|
|
26544
26556
|
if (this.#n.length > 0) {
|
|
26545
26557
|
const k = this.#n[0];
|
|
26546
26558
|
t = k.fn, e = k.idx;
|
|
@@ -26556,11 +26568,11 @@ class ScriptIterator {
|
|
|
26556
26568
|
// // マクロ
|
|
26557
26569
|
// 括弧マクロの定義
|
|
26558
26570
|
#lt(t) {
|
|
26559
|
-
return this.#o.bracket2macro(t, this.hTag, this.#
|
|
26571
|
+
return this.#o.bracket2macro(t, this.hTag, this.#e, this.#r), !1;
|
|
26560
26572
|
}
|
|
26561
26573
|
// 一文字マクロの定義
|
|
26562
26574
|
#ut(t) {
|
|
26563
|
-
return this.#o.char2macro(t, this.hTag, this.#
|
|
26575
|
+
return this.#o.char2macro(t, this.hTag, this.#e, this.#r), !1;
|
|
26564
26576
|
}
|
|
26565
26577
|
// マクロ定義の開始
|
|
26566
26578
|
#dt = new RegExp(`["'#;\\] ]+`);
|
|
@@ -26572,12 +26584,12 @@ class ScriptIterator {
|
|
|
26572
26584
|
throw `[${e}]はタグかすでに定義済みのマクロです`;
|
|
26573
26585
|
if (this.#dt.test(e))
|
|
26574
26586
|
throw `[${e}]はマクロ名として異常です`;
|
|
26575
|
-
const r = this.#i, N = new CallStack(this.#
|
|
26587
|
+
const r = this.#i, N = new CallStack(this.#t, this.#r);
|
|
26576
26588
|
for (this.#ft += "|" + e, this.#ct = new RegExp(`\\[(${this.#ft})\\b`), this.hTag[e] = (k) => (k.design_unit = t.design_unit, this.#M({ ...k, ":hMp": this.val.cloneMp(), ":lenIfStk": this.#w.length }), this.val.setMp(k), this.val.setVal_Nochk("mp", "const.sn.macro", JSON.stringify({
|
|
26577
26589
|
name: t.name
|
|
26578
|
-
})), this.val.setVal_Nochk("mp", "const.sn.me_call_scriptFn", this.#
|
|
26579
|
-
this.#
|
|
26580
|
-
const k = this.#
|
|
26590
|
+
})), this.val.setVal_Nochk("mp", "const.sn.me_call_scriptFn", this.#t), this.#i = r, this.#tt(N), !1); this.#r < this.#e.len; ++this.#r) {
|
|
26591
|
+
this.#e.aLNum[this.#r] ||= this.#i;
|
|
26592
|
+
const k = this.#e.aToken[this.#r];
|
|
26581
26593
|
if (k.search(this.#Q) > -1)
|
|
26582
26594
|
return ++this.#r, !1;
|
|
26583
26595
|
const D = k.charCodeAt(0);
|
|
@@ -26620,7 +26632,7 @@ class ScriptIterator {
|
|
|
26620
26632
|
}), !0) : (delete this.#G[k], this.#E.playback(
|
|
26621
26633
|
this.#J.hPages,
|
|
26622
26634
|
"label" in t ? () => {
|
|
26623
|
-
this.#E.cover(!1), this.#
|
|
26635
|
+
this.#E.cover(!1), this.#t = k, this.#r = D, this.hTag.call({ fn: t.fn, label: t.label });
|
|
26624
26636
|
} : () => {
|
|
26625
26637
|
this.#E.cover(!1), this.#j(k, "", D);
|
|
26626
26638
|
}
|
|
@@ -26658,7 +26670,7 @@ class ScriptIterator {
|
|
|
26658
26670
|
nowScrIdx() {
|
|
26659
26671
|
if (this.#n.length === 0)
|
|
26660
26672
|
return {
|
|
26661
|
-
fn: this.#
|
|
26673
|
+
fn: this.#t,
|
|
26662
26674
|
idx: this.#r
|
|
26663
26675
|
};
|
|
26664
26676
|
const e = this.#n[0];
|
|
@@ -26686,7 +26698,7 @@ class ScriptIterator {
|
|
|
26686
26698
|
const B = this.#n[0];
|
|
26687
26699
|
e = B.fn, r = B.idx;
|
|
26688
26700
|
} else
|
|
26689
|
-
e = this.#
|
|
26701
|
+
e = this.#t, r = this.#r;
|
|
26690
26702
|
t[":path"] = this.#c(e);
|
|
26691
26703
|
const k = this.#P(this.#G[e], r);
|
|
26692
26704
|
t[":ln"] = k.ln, t[":col_s"] = k.col_s, t[":col_e"] = k.col_e;
|
|
@@ -26694,15 +26706,15 @@ class ScriptIterator {
|
|
|
26694
26706
|
t[":idx_tkn"] = D, t[":token"] = this.#G[e].aToken[D], this.sys.send2Dbg("_recodeDesign", t);
|
|
26695
26707
|
}
|
|
26696
26708
|
replace(t, e) {
|
|
26697
|
-
this.#
|
|
26709
|
+
this.#e.aToken[t] = e;
|
|
26698
26710
|
}
|
|
26699
26711
|
}
|
|
26700
26712
|
class Main {
|
|
26701
26713
|
constructor(t) {
|
|
26702
|
-
this.sys = t, skipHello(), Config.generate(t).then((e) => this.#
|
|
26714
|
+
this.sys = t, skipHello(), Config.generate(t).then((e) => this.#e = e).then(() => this.#v()).catch((e) => console.error("load err fn:prj.json e:%o", e));
|
|
26703
26715
|
}
|
|
26704
|
-
#t;
|
|
26705
26716
|
#e;
|
|
26717
|
+
#t;
|
|
26706
26718
|
static cvs;
|
|
26707
26719
|
#r = /* @__PURE__ */ Object.create(null);
|
|
26708
26720
|
// タグ処理辞書
|
|
@@ -26724,15 +26736,15 @@ class Main {
|
|
|
26724
26736
|
throw "argChk_Color err";
|
|
26725
26737
|
CmnLib.cc4ColorName = t;
|
|
26726
26738
|
const e = {
|
|
26727
|
-
width: this.#
|
|
26728
|
-
height: this.#
|
|
26729
|
-
backgroundColor: parseColor(String(this.#
|
|
26739
|
+
width: this.#e.oCfg.window.width,
|
|
26740
|
+
height: this.#e.oCfg.window.height,
|
|
26741
|
+
backgroundColor: parseColor(String(this.#e.oCfg.init.bg_color)),
|
|
26730
26742
|
// このString()は後方互換性のため必須
|
|
26731
26743
|
// resolution : sys.resolution,
|
|
26732
26744
|
resolution: globalThis.devicePixelRatio ?? 1
|
|
26733
26745
|
// 理想
|
|
26734
26746
|
}, r = document.getElementById(this.#d);
|
|
26735
|
-
r && (this.#_ = r.cloneNode(!0), this.#_.id = this.#d, e.view = r), this.#
|
|
26747
|
+
r && (this.#_ = r.cloneNode(!0), this.#_.id = this.#d, e.view = r), this.#t = new Application(e), Main.cvs = this.#t.view, r || (document.body.appendChild(Main.cvs), Main.cvs.id = this.#d), this.#i = new Variable(this.#e, this.#r), this.#n = new PropParser(this.#i, this.#e.oCfg.init.escape ?? "\\"), await Promise.allSettled(this.sys.init(this.#r, this.#t, this.#i, this)), this.#r.title({ text: this.#e.oCfg.book.title || "SKYNovel" }), this.#o = new SoundMng(this.#e, this.#r, this.#i, this, this.sys), this.#h = new ScriptIterator(this.#e, this.#r, this, this.#i, this.#g, () => this.#m(), this.#n, this.#o, this.sys), this.#l = new DebugMng(this.sys, this.#r, this.#h), this.#p = new LayerMng(this.#e, this.#r, this.#t, this.#i, this, this.#h, this.sys, this.#o, this.#g, this.#n), this.#s = new EventMng(this.#e, this.#r, this.#t, this, this.#p, this.#i, this.#o, this.#h, this.sys), this.#t.ticker.add(this.#u), this.resumeByJumpOrCall({ fn: "main" }), this.#f = !0;
|
|
26736
26748
|
}
|
|
26737
26749
|
#u = () => this.#c();
|
|
26738
26750
|
// thisの扱いによりメソッド代入はダメ
|
|
@@ -26829,7 +26841,7 @@ class Main {
|
|
|
26829
26841
|
this.#s.fire(t, e);
|
|
26830
26842
|
}
|
|
26831
26843
|
async destroy(t = 0) {
|
|
26832
|
-
this.#y || (this.#y = !0, this.#f && (this.stop(), this.#a = !1, this.#p.before_destroy(), t > 0 && await new Promise((e) => setTimeout(e, t)), this.#r = {}, this.#s.destroy(), this.#h.destroy(), this.#p.destroy(), this.#l.destroy(), this.#
|
|
26844
|
+
this.#y || (this.#y = !0, this.#f && (this.stop(), this.#a = !1, this.#p.before_destroy(), t > 0 && await new Promise((e) => setTimeout(e, t)), this.#r = {}, this.#s.destroy(), this.#h.destroy(), this.#p.destroy(), this.#l.destroy(), this.#t.ticker.remove(this.#u), this.#_ && this.#t && Main.cvs.parentNode.appendChild(this.#_), clearTextureCache(), this.#t.destroy(!0), this.sys.destroy()));
|
|
26833
26845
|
}
|
|
26834
26846
|
#y = !1;
|
|
26835
26847
|
isDestroyed = () => this.#y;
|
|
@@ -28963,16 +28975,16 @@ class SysBase {
|
|
|
28963
28975
|
initVal(t, e, r) {
|
|
28964
28976
|
}
|
|
28965
28977
|
flush() {
|
|
28966
|
-
if (this.#
|
|
28967
|
-
this.#
|
|
28978
|
+
if (this.#e) {
|
|
28979
|
+
this.#t = !0;
|
|
28968
28980
|
return;
|
|
28969
28981
|
}
|
|
28970
|
-
this.flushSub(), this.#
|
|
28971
|
-
this.#
|
|
28982
|
+
this.flushSub(), this.#e = setTimeout(() => {
|
|
28983
|
+
this.#e = void 0, this.#t && (this.#t = !1, this.flush());
|
|
28972
28984
|
}, 500);
|
|
28973
28985
|
}
|
|
28974
|
-
#
|
|
28975
|
-
#
|
|
28986
|
+
#e = void 0;
|
|
28987
|
+
#t = !1;
|
|
28976
28988
|
flushSub() {
|
|
28977
28989
|
}
|
|
28978
28990
|
async run() {
|
|
@@ -29826,11 +29838,11 @@ const devtools = {
|
|
|
29826
29838
|
main({ emitEvents: !1 });
|
|
29827
29839
|
setInterval(main, 500);
|
|
29828
29840
|
class SysWeb extends SysBase {
|
|
29829
|
-
#
|
|
29841
|
+
#e = "";
|
|
29830
29842
|
constructor(t = {}, e = { cur: "prj/", crypto: !1, dip: "" }) {
|
|
29831
29843
|
super(t, e);
|
|
29832
29844
|
const r = e.cur.split("/");
|
|
29833
|
-
this.#
|
|
29845
|
+
this.#e = r.length > 2 ? r.slice(0, -2).join("/") + "/" : "", globalThis.onload = async () => this.loaded(t, e);
|
|
29834
29846
|
}
|
|
29835
29847
|
async loaded(t, e) {
|
|
29836
29848
|
await super.loaded(t, e), document.querySelectorAll("[data-prj]").forEach((D) => {
|
|
@@ -29846,11 +29858,11 @@ class SysWeb extends SysBase {
|
|
|
29846
29858
|
return;
|
|
29847
29859
|
argChk_Boolean(CmnLib.hDip, "dbg", !1) && (CmnLib.isDbg = !0, this.fetch = (D) => fetch(D, { mode: "cors" })), this.extPort = argChk_Num(CmnLib.hDip, "port", this.extPort);
|
|
29848
29860
|
const k = r.get("cur");
|
|
29849
|
-
k && (e.cur = this.#
|
|
29861
|
+
k && (e.cur = this.#e + k + "/"), this.run();
|
|
29850
29862
|
}
|
|
29851
|
-
#
|
|
29863
|
+
#t = ":";
|
|
29852
29864
|
runSN(t) {
|
|
29853
|
-
this.arg.cur = this.#
|
|
29865
|
+
this.arg.cur = this.#e + t + "/", this.#t !== this.arg.cur && (this.#t = this.arg.cur, this.run());
|
|
29854
29866
|
}
|
|
29855
29867
|
run = async () => {
|
|
29856
29868
|
this.#r && (this.#r.destroy(10), await new Promise((e) => setTimeout(e, 10))), this.#r = new Main(this);
|