1855 lines
60 KiB
JavaScript
1855 lines
60 KiB
JavaScript
/* Generated by the Nim Compiler v1.0.2 */
|
|
/* (c) 2019 Andreas Rumpf */
|
|
|
|
var framePtr = null;
|
|
var excHandler = 0;
|
|
var lastJSError = null;
|
|
if (typeof Int8Array === 'undefined') Int8Array = Array;
|
|
if (typeof Int16Array === 'undefined') Int16Array = Array;
|
|
if (typeof Int32Array === 'undefined') Int32Array = Array;
|
|
if (typeof Uint8Array === 'undefined') Uint8Array = Array;
|
|
if (typeof Uint16Array === 'undefined') Uint16Array = Array;
|
|
if (typeof Uint32Array === 'undefined') Uint32Array = Array;
|
|
if (typeof Float32Array === 'undefined') Float32Array = Array;
|
|
if (typeof Float64Array === 'undefined') Float64Array = Array;
|
|
var NTI100432 = {size: 0,kind: 31,base: null,node: null,finalizer: null};
|
|
var NTI103247 = {size: 0, kind: 18, base: null, node: null, finalizer: null};
|
|
var NTI3630 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
|
|
var NTI3652 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
|
|
var NTI3644 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
|
|
var NTI124 = {size: 0,kind: 36,base: null,node: null,finalizer: null};
|
|
var NTI202309 = {size: 0, kind: 18, base: null, node: null, finalizer: null};
|
|
var NTI214055 = {size: 0,kind: 16,base: null,node: null,finalizer: null};
|
|
var NTI214054 = {size: 0,kind: 16,base: null,node: null,finalizer: null};
|
|
var NTI214225 = {size: 0,kind: 16,base: null,node: null,finalizer: null};
|
|
var NTI214224 = {size: 0,kind: 16,base: null,node: null,finalizer: null};
|
|
var NTI214021 = {size: 0, kind: 14, base: null, node: null, finalizer: null};
|
|
var NTI214233 = {size: 0,kind: 16,base: null,node: null,finalizer: null};
|
|
var NTI214232 = {size: 0,kind: 16,base: null,node: null,finalizer: null};
|
|
var NTI3642 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
|
|
var NTI3646 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
|
|
var NTI3658 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
|
|
var NTI3662 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
|
|
var NTI104 = {size: 0,kind: 31,base: null,node: null,finalizer: null};
|
|
var NTI21156 = {size: 0, kind: 18, base: null, node: null, finalizer: null};
|
|
var NTI3608 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
|
|
var NTI3714 = {size: 0,kind: 22,base: null,node: null,finalizer: null};
|
|
var NTI114 = {size: 0,kind: 40,base: null,node: null,finalizer: null};
|
|
var NTI138 = {size: 0,kind: 28,base: null,node: null,finalizer: null};
|
|
var NTI140 = {size: 0,kind: 29,base: null,node: null,finalizer: null};
|
|
var NTI3708 = {size: 0,kind: 22,base: null,node: null,finalizer: null};
|
|
var NTI3626 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
|
|
var NTI3628 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
|
|
var NTI3650 = {size: 0, kind: 17, base: null, node: null, finalizer: null};
|
|
var NNI3650 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
|
|
NTI3650.node = NNI3650;
|
|
var NNI3628 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
|
|
NTI3628.node = NNI3628;
|
|
NTI3708.base = NTI3626;
|
|
NTI3714.base = NTI3626;
|
|
var NNI3626 = {kind: 2, len: 6, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "parent", len: 0, typ: NTI3708, name: "parent", sons: null},
|
|
{kind: 1, offset: "name", len: 0, typ: NTI140, name: "name", sons: null},
|
|
{kind: 1, offset: "message", len: 0, typ: NTI138, name: "msg", sons: null},
|
|
{kind: 1, offset: "trace", len: 0, typ: NTI138, name: "trace", sons: null},
|
|
{kind: 1, offset: "raiseId", len: 0, typ: NTI114, name: "raiseId", sons: null},
|
|
{kind: 1, offset: "up", len: 0, typ: NTI3714, name: "up", sons: null}]};
|
|
NTI3626.node = NNI3626;
|
|
var NNI3608 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
|
|
NTI3608.node = NNI3608;
|
|
NTI3626.base = NTI3608;
|
|
NTI3628.base = NTI3626;
|
|
NTI3650.base = NTI3628;
|
|
var NNI21156 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI140, name: "Field0", sons: null},
|
|
{kind: 1, offset: "Field1", len: 0, typ: NTI104, name: "Field1", sons: null}]};
|
|
NTI21156.node = NNI21156;
|
|
var NNI3662 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
|
|
NTI3662.node = NNI3662;
|
|
NTI3662.base = NTI3628;
|
|
var NNI3658 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
|
|
NTI3658.node = NNI3658;
|
|
NTI3658.base = NTI3628;
|
|
var NNI3646 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
|
|
NTI3646.node = NNI3646;
|
|
var NNI3642 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
|
|
NTI3642.node = NNI3642;
|
|
NTI3642.base = NTI3628;
|
|
NTI3646.base = NTI3642;
|
|
var NNI214021 = {kind: 2, offset: 0, typ: null, name: null, len: 4, sons: {"0": {kind: 1, offset: 0, typ: NTI214021, name: "mPlayer1", len: 0, sons: null},
|
|
"1": {kind: 1, offset: 1, typ: NTI214021, name: "mPlayer2", len: 0, sons: null},
|
|
"2": {kind: 1, offset: 2, typ: NTI214021, name: "mFree", len: 0, sons: null},
|
|
"3": {kind: 1, offset: 3, typ: NTI214021, name: "mDraw", len: 0, sons: null}}};
|
|
NTI214021.node = NNI214021;
|
|
NTI214233.base = NTI214021;
|
|
NTI214232.base = NTI214233;
|
|
NTI214055.base = NTI214021;
|
|
NTI214054.base = NTI214055;
|
|
NTI214225.base = NTI214054;
|
|
NTI214224.base = NTI214225;
|
|
var NNI202309 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "x", len: 0, typ: NTI124, name: "x", sons: null},
|
|
{kind: 1, offset: "y", len: 0, typ: NTI124, name: "y", sons: null}]};
|
|
NTI202309.node = NNI202309;
|
|
var NNI3644 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
|
|
NTI3644.node = NNI3644;
|
|
NTI3644.base = NTI3642;
|
|
var NNI3652 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
|
|
NTI3652.node = NNI3652;
|
|
var NNI3630 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []};
|
|
NTI3630.node = NNI3630;
|
|
NTI3630.base = NTI3626;
|
|
NTI3652.base = NTI3630;
|
|
var NNI103247 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "a", len: 0, typ: NTI100432, name: "a", sons: null},
|
|
{kind: 1, offset: "b", len: 0, typ: NTI104, name: "b", sons: null}]};
|
|
NTI103247.node = NNI103247;
|
|
|
|
function makeNimstrLit(c_23270) {
|
|
var ln = c_23270.length;
|
|
var result = new Array(ln);
|
|
for (var i = 0; i < ln; ++i) {
|
|
result[i] = c_23270.charCodeAt(i);
|
|
}
|
|
return result;
|
|
|
|
|
|
|
|
}
|
|
|
|
function toJSStr(s_23304) {
|
|
var Tmp5;
|
|
var Tmp7;
|
|
|
|
var result_23305 = null;
|
|
|
|
var res_23363 = new_seq_23336((s_23304 != null ? s_23304.length : 0));
|
|
var i_23365 = 0;
|
|
var j_23367 = 0;
|
|
L1: do {
|
|
L2: while (true) {
|
|
if (!(i_23365 < (s_23304 != null ? s_23304.length : 0))) break L2;
|
|
var c_23368 = s_23304[i_23365];
|
|
if ((c_23368 < 128)) {
|
|
res_23363[j_23367] = String.fromCharCode(c_23368);
|
|
i_23365 += 1;
|
|
}
|
|
else {
|
|
var helper_23391 = new_seq_23336(0);
|
|
L3: do {
|
|
L4: while (true) {
|
|
if (!true) break L4;
|
|
var code_23392 = c_23368.toString(16);
|
|
if (((code_23392 != null ? code_23392.length : 0) == 1)) {
|
|
if (helper_23391 != null) { helper_23391.push("%0"); } else { helper_23391 = ["%0"]; };
|
|
}
|
|
else {
|
|
if (helper_23391 != null) { helper_23391.push("%"); } else { helper_23391 = ["%"]; };
|
|
}
|
|
|
|
if (helper_23391 != null) { helper_23391.push(code_23392); } else { helper_23391 = [code_23392]; };
|
|
i_23365 += 1;
|
|
if (((s_23304 != null ? s_23304.length : 0) <= i_23365)) Tmp5 = true; else { Tmp5 = (s_23304[i_23365] < 128); } if (Tmp5) {
|
|
break L3;
|
|
}
|
|
|
|
c_23368 = s_23304[i_23365];
|
|
}
|
|
} while(false);
|
|
++excHandler;
|
|
Tmp7 = framePtr;
|
|
try {
|
|
res_23363[j_23367] = decodeURIComponent(helper_23391.join(""));
|
|
--excHandler;
|
|
} catch (EXC) {
|
|
var prevJSError = lastJSError;
|
|
lastJSError = EXC;
|
|
--excHandler;
|
|
framePtr = Tmp7;
|
|
res_23363[j_23367] = helper_23391.join("");
|
|
lastJSError = prevJSError;
|
|
} finally {
|
|
framePtr = Tmp7;
|
|
}
|
|
}
|
|
|
|
j_23367 += 1;
|
|
}
|
|
} while(false);
|
|
if (res_23363 === null) res_23363 = [];
|
|
if (res_23363.length < j_23367) { for (var i=res_23363.length;i<j_23367;++i) res_23363.push(null); }
|
|
else { res_23363.length = j_23367; };
|
|
result_23305 = res_23363.join("");
|
|
|
|
return result_23305;
|
|
|
|
}
|
|
|
|
function cstrToNimstr(c_23287) {
|
|
var ln = c_23287.length;
|
|
var result = new Array(ln);
|
|
var r = 0;
|
|
for (var i = 0; i < ln; ++i) {
|
|
var ch = c_23287.charCodeAt(i);
|
|
|
|
if (ch < 128) {
|
|
result[r] = ch;
|
|
}
|
|
else {
|
|
if (ch < 2048) {
|
|
result[r] = (ch >> 6) | 192;
|
|
}
|
|
else {
|
|
if (ch < 55296 || ch >= 57344) {
|
|
result[r] = (ch >> 12) | 224;
|
|
}
|
|
else {
|
|
++i;
|
|
ch = 65536 + (((ch & 1023) << 10) | (c_23287.charCodeAt(i) & 1023));
|
|
result[r] = (ch >> 18) | 240;
|
|
++r;
|
|
result[r] = ((ch >> 12) & 63) | 128;
|
|
}
|
|
++r;
|
|
result[r] = ((ch >> 6) & 63) | 128;
|
|
}
|
|
++r;
|
|
result[r] = (ch & 63) | 128;
|
|
}
|
|
++r;
|
|
}
|
|
return result;
|
|
|
|
|
|
|
|
}
|
|
|
|
function setConstr() {
|
|
var result = {};
|
|
for (var i = 0; i < arguments.length; ++i) {
|
|
var x = arguments[i];
|
|
if (typeof(x) == "object") {
|
|
for (var j = x[0]; j <= x[1]; ++j) {
|
|
result[j] = true;
|
|
}
|
|
} else {
|
|
result[x] = true;
|
|
}
|
|
}
|
|
return result;
|
|
|
|
|
|
|
|
}
|
|
var ConstSet1 = setConstr(17, 16, 4, 18, 27, 19, 23, 22, 21);
|
|
|
|
function nimCopy(dest_24827, src_24828, ti_24829) {
|
|
var result_25019 = null;
|
|
|
|
switch (ti_24829.kind) {
|
|
case 21:
|
|
case 22:
|
|
case 23:
|
|
case 5:
|
|
if (!(is_fat_pointer_24801(ti_24829))) {
|
|
result_25019 = src_24828;
|
|
}
|
|
else {
|
|
result_25019 = [src_24828[0], src_24828[1]];
|
|
}
|
|
|
|
break;
|
|
case 19:
|
|
if (dest_24827 === null || dest_24827 === undefined) {
|
|
dest_24827 = {};
|
|
}
|
|
else {
|
|
for (var key in dest_24827) { delete dest_24827[key]; }
|
|
}
|
|
for (var key in src_24828) { dest_24827[key] = src_24828[key]; }
|
|
result_25019 = dest_24827;
|
|
|
|
break;
|
|
case 18:
|
|
case 17:
|
|
if (!((ti_24829.base == null))) {
|
|
result_25019 = nimCopy(dest_24827, src_24828, ti_24829.base);
|
|
}
|
|
else {
|
|
if ((ti_24829.kind == 17)) {
|
|
result_25019 = (dest_24827 === null || dest_24827 === undefined) ? {m_type: ti_24829} : dest_24827;
|
|
}
|
|
else {
|
|
result_25019 = (dest_24827 === null || dest_24827 === undefined) ? {} : dest_24827;
|
|
}
|
|
}
|
|
nimCopyAux(result_25019, src_24828, ti_24829.node);
|
|
break;
|
|
case 24:
|
|
case 4:
|
|
case 27:
|
|
case 16:
|
|
if (src_24828 === null) {
|
|
result_25019 = null;
|
|
}
|
|
else {
|
|
if (dest_24827 === null || dest_24827 === undefined) {
|
|
dest_24827 = new Array(src_24828.length);
|
|
}
|
|
else {
|
|
dest_24827.length = src_24828.length;
|
|
}
|
|
result_25019 = dest_24827;
|
|
for (var i = 0; i < src_24828.length; ++i) {
|
|
result_25019[i] = nimCopy(result_25019[i], src_24828[i], ti_24829.base);
|
|
}
|
|
}
|
|
|
|
break;
|
|
case 28:
|
|
if (src_24828 !== null) {
|
|
result_25019 = src_24828.slice(0);
|
|
}
|
|
|
|
break;
|
|
default:
|
|
result_25019 = src_24828;
|
|
break;
|
|
}
|
|
|
|
return result_25019;
|
|
|
|
}
|
|
|
|
function arrayConstr(len_25086, value_25087, typ_25088) {
|
|
var result = new Array(len_25086);
|
|
for (var i = 0; i < len_25086; ++i) result[i] = nimCopy(null, value_25087, typ_25088);
|
|
return result;
|
|
|
|
|
|
|
|
}
|
|
|
|
function raiseException(e_21618, ename_21619) {
|
|
e_21618.name = ename_21619;
|
|
if ((excHandler == 0)) {
|
|
unhandledException(e_21618);
|
|
}
|
|
|
|
e_21618.trace = nimCopy(null, raw_write_stack_trace_21468(), NTI138);
|
|
throw e_21618;
|
|
|
|
|
|
}
|
|
|
|
function chckRange(i_25124, a_25125, b_25126) {
|
|
var Tmp1;
|
|
|
|
var result_25127 = 0;
|
|
|
|
BeforeRet: do {
|
|
if (!(a_25125 <= i_25124)) Tmp1 = false; else { Tmp1 = (i_25124 <= b_25126); } if (Tmp1) {
|
|
result_25127 = i_25124;
|
|
break BeforeRet;
|
|
}
|
|
else {
|
|
raiseRangeError();
|
|
}
|
|
|
|
} while (false);
|
|
|
|
return result_25127;
|
|
|
|
}
|
|
|
|
function chckIndx(i_25105, a_25106, b_25107) {
|
|
var Tmp1;
|
|
|
|
var result_25108 = 0;
|
|
|
|
BeforeRet: do {
|
|
if (!(a_25106 <= i_25105)) Tmp1 = false; else { Tmp1 = (i_25105 <= b_25107); } if (Tmp1) {
|
|
result_25108 = i_25105;
|
|
break BeforeRet;
|
|
}
|
|
else {
|
|
raiseIndexError(i_25105, a_25106, b_25107);
|
|
}
|
|
|
|
} while (false);
|
|
|
|
return result_25108;
|
|
|
|
}
|
|
|
|
function addInt(a_23803, b_23804) {
|
|
var result = a_23803 + b_23804;
|
|
if (result > 2147483647 || result < -2147483648) raiseOverflow();
|
|
return result;
|
|
|
|
|
|
|
|
}
|
|
|
|
function mnewString(len_23463) {
|
|
return new Array(len_23463);
|
|
|
|
|
|
|
|
}
|
|
var ConstSet2 = setConstr(60, 62, 94);
|
|
var ConstSet3 = setConstr(60, 62, 94);
|
|
var ConstSet4 = setConstr(45, 43, 32);
|
|
var ConstSet5 = setConstr([48, 57]);
|
|
var ConstSet6 = setConstr([48, 57]);
|
|
var ConstSet7 = setConstr([48, 57]);
|
|
|
|
function subInt(a_23821, b_23822) {
|
|
var result = a_23821 - b_23822;
|
|
if (result > 2147483647 || result < -2147483648) raiseOverflow();
|
|
return result;
|
|
|
|
|
|
|
|
}
|
|
|
|
function divInt(a_23857, b_23858) {
|
|
if (b_23858 == 0) raiseDivByZero();
|
|
if (b_23858 == -1 && a_23857 == 2147483647) raiseOverflow();
|
|
return Math.trunc(a_23857 / b_23858);
|
|
|
|
|
|
|
|
}
|
|
|
|
function mulInt(a_23839, b_23840) {
|
|
var result = a_23839 * b_23840;
|
|
if (result > 2147483647 || result < -2147483648) raiseOverflow();
|
|
return result;
|
|
|
|
|
|
|
|
}
|
|
var ConstSet8 = setConstr([65, 90], [97, 122]);
|
|
|
|
function modInt(a_23875, b_23876) {
|
|
if (b_23876 == 0) raiseDivByZero();
|
|
if (b_23876 == -1 && a_23875 == 2147483647) raiseOverflow();
|
|
return Math.trunc(a_23875 % b_23876);
|
|
|
|
|
|
|
|
}
|
|
|
|
function nimCharToStr(x_21062) {
|
|
var result_21063 = null;
|
|
|
|
result_21063 = nimCopy(null, mnewString(1), NTI138);
|
|
result_21063[0] = x_21062;
|
|
|
|
return result_21063;
|
|
|
|
}
|
|
|
|
function addChar(x_25311, c_25312) {
|
|
x_25311.push(c_25312);
|
|
|
|
|
|
}
|
|
var nim_program_result = 0;
|
|
var global_raise_hook_18618 = [null];
|
|
var local_raise_hook_18623 = [null];
|
|
var out_of_mem_hook_18626 = [null];
|
|
if (!Math.trunc) {
|
|
Math.trunc = function(v) {
|
|
v = +v;
|
|
if (!isFinite(v)) return v;
|
|
|
|
return (v - v % 1) || (v < 0 ? -0 : v === 0 ? v : 0);
|
|
};
|
|
}
|
|
var lc_54221 = [{}];
|
|
var object_id_166237 = [0];
|
|
var env_computed_186610 = [false];
|
|
var environment_186612 = [null];
|
|
var render_width_221049 = [0];
|
|
var render_height_221050 = [0];
|
|
|
|
function new_seq_23336(len_23339) {
|
|
var result_23341 = null;
|
|
|
|
var F={procname:"newSeq.newSeq",prev:framePtr,filename:"system.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 996;
|
|
result_23341 = new Array(len_23339); for (var i=0;i<len_23339;++i) {result_23341[i]=null;} framePtr = F.prev;
|
|
|
|
return result_23341;
|
|
|
|
}
|
|
|
|
function get_pixel_ratio_200097() {
|
|
var result_200099 = 0.0;
|
|
|
|
var F={procname:"canvasjs.getPixelRatio",prev:framePtr,filename:"canvasjs.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 37;
|
|
var ctx = document.createElement("canvas").getContext("2d"),
|
|
dpr = window.devicePixelRatio || 1,
|
|
bsr = ctx.webkitBackingStorePixelRatio ||
|
|
ctx.mozBackingStorePixelRatio ||
|
|
ctx.msBackingStorePixelRatio ||
|
|
ctx.oBackingStorePixelRatio ||
|
|
ctx.backingStorePixelRatio || 1;
|
|
|
|
result_200099 = dpr / bsr;
|
|
|
|
framePtr = F.prev;
|
|
|
|
return result_200099;
|
|
|
|
}
|
|
|
|
function get_width_204323(preferred_width_204325) {
|
|
var Tmp1;
|
|
|
|
var result_204326 = 0;
|
|
|
|
var F={procname:"graphics.getWidth",prev:framePtr,filename:"graphics.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 104;
|
|
if ((preferred_width_204325 == -1)) {
|
|
Tmp1 = window.innerWidth;
|
|
}
|
|
else {
|
|
Tmp1 = preferred_width_204325;
|
|
}
|
|
|
|
result_204326 = Tmp1;
|
|
framePtr = F.prev;
|
|
|
|
return result_204326;
|
|
|
|
}
|
|
|
|
function get_height_204341(preferred_height_204343) {
|
|
var Tmp1;
|
|
|
|
var result_204344 = 0;
|
|
|
|
var F={procname:"graphics.getHeight",prev:framePtr,filename:"graphics.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 110;
|
|
if ((preferred_height_204343 == -1)) {
|
|
Tmp1 = window.innerHeight;
|
|
}
|
|
else {
|
|
Tmp1 = preferred_height_204343;
|
|
}
|
|
|
|
result_204344 = Tmp1;
|
|
framePtr = F.prev;
|
|
|
|
return result_204344;
|
|
|
|
}
|
|
|
|
function is_power_of_two_59062(x_59064) {
|
|
var Tmp1;
|
|
|
|
var result_59065 = false;
|
|
|
|
BeforeRet: do {
|
|
if (!(0 < x_59064)) Tmp1 = false; else { Tmp1 = ((x_59064 & (x_59064 - 1)) == 0); } result_59065 = Tmp1;
|
|
break BeforeRet;
|
|
} while (false);
|
|
|
|
return result_59065;
|
|
|
|
}
|
|
|
|
function is_fat_pointer_24801(ti_24803) {
|
|
var result_24804 = false;
|
|
|
|
BeforeRet: do {
|
|
result_24804 = !((ConstSet1[ti_24803.base.kind] != undefined));
|
|
break BeforeRet;
|
|
} while (false);
|
|
|
|
return result_24804;
|
|
|
|
}
|
|
|
|
function nimCopyAux(dest_24832, src_24833, n_24835) {
|
|
switch (n_24835.kind) {
|
|
case 0:
|
|
break;
|
|
case 1:
|
|
dest_24832[n_24835.offset] = nimCopy(dest_24832[n_24835.offset], src_24833[n_24835.offset], n_24835.typ);
|
|
|
|
break;
|
|
case 2:
|
|
for (var i = 0; i < n_24835.sons.length; i++) {
|
|
nimCopyAux(dest_24832, src_24833, n_24835.sons[i]);
|
|
}
|
|
|
|
break;
|
|
case 3:
|
|
dest_24832[n_24835.offset] = nimCopy(dest_24832[n_24835.offset], src_24833[n_24835.offset], n_24835.typ);
|
|
for (var i = 0; i < n_24835.sons.length; ++i) {
|
|
nimCopyAux(dest_24832, src_24833, n_24835.sons[i][1]);
|
|
}
|
|
|
|
break;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
function add_18638(x_18641, x_18641_Idx, y_18642) {
|
|
if (x_18641[x_18641_Idx] === null) { x_18641[x_18641_Idx] = []; }
|
|
var off = x_18641[x_18641_Idx].length;
|
|
x_18641[x_18641_Idx].length += y_18642.length;
|
|
for (var i = 0; i < y_18642.length; ++i) {
|
|
x_18641[x_18641_Idx][off+i] = y_18642.charCodeAt(i);
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
function aux_write_stack_trace_21151(f_21153) {
|
|
var Tmp3;
|
|
|
|
var result_21154 = [null];
|
|
|
|
var it_21162 = f_21153;
|
|
var i_21164 = 0;
|
|
var total_21166 = 0;
|
|
var temp_frames_21173 = arrayConstr(64, {Field0: null, Field1: 0}, NTI21156);
|
|
L1: do {
|
|
L2: while (true) {
|
|
if (!!((it_21162 == null))) Tmp3 = false; else { Tmp3 = (i_21164 <= 63); } if (!Tmp3) break L2;
|
|
temp_frames_21173[i_21164].Field0 = it_21162.procname;
|
|
temp_frames_21173[i_21164].Field1 = it_21162.line;
|
|
i_21164 += 1;
|
|
total_21166 += 1;
|
|
it_21162 = it_21162.prev;
|
|
}
|
|
} while(false);
|
|
L4: do {
|
|
L5: while (true) {
|
|
if (!!((it_21162 == null))) break L5;
|
|
total_21166 += 1;
|
|
it_21162 = it_21162.prev;
|
|
}
|
|
} while(false);
|
|
result_21154[0] = nimCopy(null, [], NTI138);
|
|
if (!((total_21166 == i_21164))) {
|
|
if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(makeNimstrLit("(")); } else { result_21154[0] = makeNimstrLit("("); };
|
|
if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(cstrToNimstr(((total_21166 - i_21164))+"")); } else { result_21154[0] = cstrToNimstr(((total_21166 - i_21164))+"").slice(); };
|
|
if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(makeNimstrLit(" calls omitted) ...\x0A")); } else { result_21154[0] = makeNimstrLit(" calls omitted) ...\x0A"); };
|
|
}
|
|
|
|
L6: do {
|
|
var j_21421 = 0;
|
|
var colontmp__222097 = 0;
|
|
colontmp__222097 = (i_21164 - 1);
|
|
var res_222102 = colontmp__222097;
|
|
L7: do {
|
|
L8: while (true) {
|
|
if (!(0 <= res_222102)) break L8;
|
|
j_21421 = res_222102;
|
|
add_18638(result_21154, 0, temp_frames_21173[j_21421].Field0);
|
|
if ((0 < temp_frames_21173[j_21421].Field1)) {
|
|
if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(makeNimstrLit(", line: ")); } else { result_21154[0] = makeNimstrLit(", line: "); };
|
|
if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(cstrToNimstr((temp_frames_21173[j_21421].Field1)+"")); } else { result_21154[0] = cstrToNimstr((temp_frames_21173[j_21421].Field1)+"").slice(); };
|
|
}
|
|
|
|
if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(makeNimstrLit("\x0A")); } else { result_21154[0] = makeNimstrLit("\x0A"); };
|
|
res_222102 -= 1;
|
|
}
|
|
} while(false);
|
|
} while(false);
|
|
|
|
return result_21154[0];
|
|
|
|
}
|
|
|
|
function raw_write_stack_trace_21468() {
|
|
var result_21470 = null;
|
|
|
|
if (!((framePtr == null))) {
|
|
result_21470 = nimCopy(null, (makeNimstrLit("Traceback (most recent call last)\x0A") || []).concat(aux_write_stack_trace_21151(framePtr) || []), NTI138);
|
|
}
|
|
else {
|
|
result_21470 = nimCopy(null, makeNimstrLit("No stack traceback available\x0A"), NTI138);
|
|
}
|
|
|
|
|
|
return result_21470;
|
|
|
|
}
|
|
|
|
function unhandledException(e_21529) {
|
|
var buf_21530 = [[]];
|
|
if (!(((e_21529.message != null ? e_21529.message.length : 0) == 0))) {
|
|
if (buf_21530[0] != null) { buf_21530[0] = (buf_21530[0]).concat(makeNimstrLit("Error: unhandled exception: ")); } else { buf_21530[0] = makeNimstrLit("Error: unhandled exception: "); };
|
|
if (buf_21530[0] != null) { buf_21530[0] = (buf_21530[0]).concat(e_21529.message); } else { buf_21530[0] = e_21529.message.slice(); };
|
|
}
|
|
else {
|
|
if (buf_21530[0] != null) { buf_21530[0] = (buf_21530[0]).concat(makeNimstrLit("Error: unhandled exception")); } else { buf_21530[0] = makeNimstrLit("Error: unhandled exception"); };
|
|
}
|
|
|
|
if (buf_21530[0] != null) { buf_21530[0] = (buf_21530[0]).concat(makeNimstrLit(" [")); } else { buf_21530[0] = makeNimstrLit(" ["); };
|
|
add_18638(buf_21530, 0, e_21529.name);
|
|
if (buf_21530[0] != null) { buf_21530[0] = (buf_21530[0]).concat(makeNimstrLit("]\x0A")); } else { buf_21530[0] = makeNimstrLit("]\x0A"); };
|
|
if (buf_21530[0] != null) { buf_21530[0] = (buf_21530[0]).concat(raw_write_stack_trace_21468()); } else { buf_21530[0] = raw_write_stack_trace_21468().slice(); };
|
|
var cbuf_21601 = toJSStr(buf_21530[0]);
|
|
framePtr = null;
|
|
if (typeof(Error) !== "undefined") {
|
|
throw new Error(cbuf_21601);
|
|
}
|
|
else {
|
|
throw cbuf_21601;
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
function sys_fatal_15062(message_15066) {
|
|
var F={procname:"sysFatal.sysFatal",prev:framePtr,filename:"fatal.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 34;
|
|
var e_15203 = null;
|
|
F.line = 37;
|
|
e_15203 = {m_type: NTI3650, parent: null, name: null, message: null, trace: null, raiseId: 0, up: null};
|
|
F.line = 38;
|
|
e_15203.message = nimCopy(null, message_15066, NTI138);
|
|
F.line = 39;
|
|
raiseException(e_15203, "AssertionError");
|
|
framePtr = F.prev;
|
|
|
|
|
|
}
|
|
|
|
function raise_assert_15058(msg_15060) {
|
|
var F={procname:"assertions.raiseAssert",prev:framePtr,filename:"assertions.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 20;
|
|
sys_fatal_15062(msg_15060);
|
|
framePtr = F.prev;
|
|
|
|
|
|
}
|
|
|
|
function failed_assert_impl_15266(msg_15268) {
|
|
var F={procname:"assertions.failedAssertImpl",prev:framePtr,filename:"assertions.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 27;
|
|
raise_assert_15058(msg_15268);
|
|
framePtr = F.prev;
|
|
|
|
|
|
}
|
|
|
|
function raiseRangeError() {
|
|
var eHEX60gensym22457_22603 = null;
|
|
eHEX60gensym22457_22603 = {m_type: NTI3662, parent: null, name: null, message: null, trace: null, raiseId: 0, up: null};
|
|
eHEX60gensym22457_22603.message = nimCopy(null, makeNimstrLit("value out of range"), NTI138);
|
|
eHEX60gensym22457_22603.parent = null;
|
|
raiseException(eHEX60gensym22457_22603, "RangeError");
|
|
|
|
|
|
}
|
|
|
|
function init_table_204724(initial_size_204728) {
|
|
var result_204730 = {data: null, counter: 0};
|
|
|
|
var F={procname:"initTable.initTable",prev:framePtr,filename:"tables.nim",line:0};
|
|
framePtr = F;
|
|
if (!(is_power_of_two_59062(initial_size_204728))) {
|
|
F.line = 118;
|
|
failed_assert_impl_15266(makeNimstrLit("/home/luxick/.choosenim/toolchains/nim-1.0.2/lib/pure/collections/tableimpl.nim(118, 10) `isPowerOfTwo(initialSize)` "));
|
|
}
|
|
|
|
F.line = 119;
|
|
result_204730.counter = 0;
|
|
F.line = 120;
|
|
result_204730.data = new Array(chckRange(initial_size_204728, 0, 2147483647)); for (var i=0;i<chckRange(initial_size_204728, 0, 2147483647);++i) {result_204730.data[i]={Field0: 0, Field1: null, Field2: null};} framePtr = F.prev;
|
|
|
|
return result_204730;
|
|
|
|
}
|
|
|
|
function to_float_10657(i_10659) {
|
|
var result_10660 = 0.0;
|
|
|
|
var F={procname:"system.toFloat",prev:framePtr,filename:"system.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 2287;
|
|
result_10660 = i_10659;
|
|
framePtr = F.prev;
|
|
|
|
return result_10660;
|
|
|
|
}
|
|
|
|
function HEX2F_26817(x_26819, y_26820) {
|
|
var result_26821 = 0.0;
|
|
|
|
var F={procname:"system./",prev:framePtr,filename:"system.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 3896;
|
|
result_26821 = (to_float_10657(x_26819) / to_float_10657(y_26820));
|
|
framePtr = F.prev;
|
|
|
|
return result_26821;
|
|
|
|
}
|
|
|
|
function min_12701(x_12703, y_12704) {
|
|
var Tmp1;
|
|
var Tmp2;
|
|
|
|
var result_12705 = 0.0;
|
|
|
|
if ((x_12703 <= y_12704)) Tmp2 = true; else { Tmp2 = !((y_12704 == y_12704)); } if (Tmp2) {
|
|
Tmp1 = x_12703;
|
|
}
|
|
else {
|
|
Tmp1 = y_12704;
|
|
}
|
|
|
|
result_12705 = Tmp1;
|
|
|
|
return result_12705;
|
|
|
|
}
|
|
|
|
function raiseIndexError(i_22655, a_22656, b_22657) {
|
|
var Tmp1;
|
|
|
|
var eHEX60gensym22802_23003 = null;
|
|
eHEX60gensym22802_23003 = {m_type: NTI3658, parent: null, name: null, message: null, trace: null, raiseId: 0, up: null};
|
|
if ((b_22657 < a_22656)) {
|
|
Tmp1 = makeNimstrLit("index out of bounds, the container is empty");
|
|
}
|
|
else {
|
|
Tmp1 = (makeNimstrLit("index ") || []).concat(cstrToNimstr((i_22655)+"") || [],makeNimstrLit(" not in ") || [],cstrToNimstr((a_22656)+"") || [],makeNimstrLit(" .. ") || [],cstrToNimstr((b_22657)+"") || []);
|
|
}
|
|
|
|
eHEX60gensym22802_23003.message = nimCopy(null, Tmp1, NTI138);
|
|
eHEX60gensym22802_23003.parent = null;
|
|
raiseException(eHEX60gensym22802_23003, "IndexError");
|
|
|
|
|
|
}
|
|
|
|
function raiseOverflow() {
|
|
var eHEX60gensym22058_22203 = null;
|
|
eHEX60gensym22058_22203 = {m_type: NTI3646, parent: null, name: null, message: null, trace: null, raiseId: 0, up: null};
|
|
eHEX60gensym22058_22203.message = nimCopy(null, makeNimstrLit("over- or underflow"), NTI138);
|
|
eHEX60gensym22058_22203.parent = null;
|
|
raiseException(eHEX60gensym22058_22203, "OverflowError");
|
|
|
|
|
|
}
|
|
|
|
function resize_canvas_204415(renderer_204417) {
|
|
var F={procname:"graphics.resizeCanvas",prev:framePtr,filename:"graphics.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 149;
|
|
renderer_204417.canvas.width = get_width_204323(renderer_204417.preferredWidth);
|
|
F.line = 151;
|
|
renderer_204417.canvas.height = get_height_204341(renderer_204417.preferredHeight);
|
|
if (renderer_204417.scaleToScreen) {
|
|
F.line = 154;
|
|
console.log("Scaling to screen");
|
|
F.line = 116;
|
|
var screen_width_204434 = window.innerWidth;
|
|
F.line = 117;
|
|
var screen_height_204435 = window.innerHeight;
|
|
F.line = 118;
|
|
var ratio_xHEX60gensym204431_204436 = HEX2F_26817(screen_width_204434, renderer_204417.canvas.width);
|
|
F.line = 119;
|
|
var ratio_yHEX60gensym204432_204437 = HEX2F_26817(screen_height_204435, renderer_204417.canvas.height);
|
|
F.line = 125;
|
|
var zoom_ratioHEX60gensym204433_204438 = HEX2F_26817(document.body.clientWidth, window.innerWidth);
|
|
F.line = 127;
|
|
var min_ratio_204439 = min_12701(ratio_xHEX60gensym204431_204436, ratio_yHEX60gensym204432_204437);
|
|
F.line = 128;
|
|
var scaled_width_204440 = (renderer_204417.canvas.width * min_ratio_204439);
|
|
F.line = 129;
|
|
var scaled_height_204441 = (renderer_204417.canvas.height * min_ratio_204439);
|
|
F.line = 131;
|
|
var left_204443 = ((screen_width_204434 - scaled_width_204440) / 2.0000000000000000e+00);
|
|
F.line = 132;
|
|
var top_204445 = ((screen_height_204435 - scaled_height_204441) / 2.0000000000000000e+00);
|
|
F.line = 157;
|
|
renderer_204417.canvas.style.width = toJSStr((cstrToNimstr((scaled_width_204440)+"") || []).concat(makeNimstrLit("px") || []));
|
|
F.line = 158;
|
|
renderer_204417.canvas.style.height = toJSStr((cstrToNimstr((scaled_height_204441)+"") || []).concat(makeNimstrLit("px") || []));
|
|
F.line = 159;
|
|
renderer_204417.canvas.style.marginLeft = toJSStr((cstrToNimstr((left_204443)+"") || []).concat(makeNimstrLit("px") || []));
|
|
F.line = 160;
|
|
renderer_204417.canvas.style.marginTop = toJSStr((cstrToNimstr((top_204445)+"") || []).concat(makeNimstrLit("px") || []));
|
|
F.line = 163;
|
|
renderer_204417.canvas.parentNode.style.position = "absolute";
|
|
F.line = 164;
|
|
renderer_204417.canvas.parentNode.style.left = "0";
|
|
F.line = 165;
|
|
renderer_204417.canvas.parentNode.style.top = "0";
|
|
F.line = 166;
|
|
renderer_204417.canvas.parentNode.style.width = toJSStr((cstrToNimstr((screen_width_204434)+"") || []).concat(makeNimstrLit("px") || []));
|
|
F.line = 167;
|
|
renderer_204417.canvas.parentNode.style.height = toJSStr((cstrToNimstr((screen_height_204435)+"") || []).concat(makeNimstrLit("px") || []));
|
|
F.line = 168;
|
|
renderer_204417.canvas.parentNode.classList.add("fullscreen");
|
|
L1: do {
|
|
F.line = 171;
|
|
var item_204614 = null;
|
|
F.line = 182;
|
|
var colontmp__222113 = null;
|
|
F.line = 171;
|
|
colontmp__222113 = renderer_204417.positionedElements;
|
|
F.line = 184;
|
|
var i_222115 = 0;
|
|
F.line = 185;
|
|
var l_222116 = (colontmp__222113 != null ? colontmp__222113.length : 0);
|
|
L2: do {
|
|
F.line = 186;
|
|
L3: while (true) {
|
|
if (!(i_222115 < l_222116)) break L3;
|
|
F.line = 171;
|
|
item_204614 = colontmp__222113[chckIndx(i_222115, 0, colontmp__222113.length+0-1)-0];
|
|
F.line = 172;
|
|
var element_204615 = item_204614.element;
|
|
F.line = 174;
|
|
element_204615.style.marginLeft = toJSStr((cstrToNimstr((((item_204614.originalLeft * min_ratio_204439) + left_204443))+"") || []).concat(makeNimstrLit("px") || []));
|
|
F.line = 176;
|
|
element_204615.style.marginTop = toJSStr((cstrToNimstr((((item_204614.originalTop * min_ratio_204439) + top_204445))+"") || []).concat(makeNimstrLit("px") || []));
|
|
if ((0.0 < item_204614.originalFontSize)) {
|
|
F.line = 179;
|
|
element_204615.style.fontSize = toJSStr((cstrToNimstr(((item_204614.originalFontSize * min_ratio_204439))+"") || []).concat(makeNimstrLit("px") || []));
|
|
}
|
|
|
|
if ((0.0 < item_204614.originalWidth)) {
|
|
F.line = 181;
|
|
element_204615.style.width = toJSStr((cstrToNimstr(((item_204614.originalWidth * min_ratio_204439))+"") || []).concat(makeNimstrLit("px") || []));
|
|
}
|
|
|
|
if ((0.0 < item_204614.originalHeight)) {
|
|
F.line = 183;
|
|
element_204615.style.height = toJSStr((cstrToNimstr(((item_204614.originalHeight * min_ratio_204439))+"") || []).concat(makeNimstrLit("px") || []));
|
|
}
|
|
|
|
F.line = 188;
|
|
i_222115 = addInt(i_222115, 1);
|
|
if (!(((colontmp__222113 != null ? colontmp__222113.length : 0) == l_222116))) {
|
|
F.line = 189;
|
|
failed_assert_impl_15266(makeNimstrLit("/home/luxick/.choosenim/toolchains/nim-1.0.2/lib/system/iterators.nim(189, 11) `len(a) == L` the length of the seq changed while iterating over it"));
|
|
}
|
|
|
|
}
|
|
} while(false);
|
|
} while(false);
|
|
F.line = 185;
|
|
window.scrollTo(0, 0);
|
|
}
|
|
|
|
framePtr = F.prev;
|
|
|
|
|
|
}
|
|
|
|
function new_renderer2d_204674(id_204676, width_204678, height_204681, hidpi_204683) {
|
|
|
|
function HEX3Aanonymous_205051(ev_205053) {
|
|
var F={procname:"newRenderer2D.:anonymous",prev:framePtr,filename:"graphics.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 220;
|
|
resize_canvas_204415(captured_result_205029);
|
|
framePtr = F.prev;
|
|
|
|
|
|
}
|
|
|
|
var result_204684 = null;
|
|
|
|
var F={procname:"graphics.newRenderer2D",prev:framePtr,filename:"graphics.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 198;
|
|
var canvas_204685 = document.getElementById(toJSStr(id_204676));
|
|
F.line = 199;
|
|
var context_204686 = canvas_204685.getContext("2d", {alpha: false});
|
|
if (hidpi_204683) {
|
|
F.line = 201;
|
|
var ratio_204687 = get_pixel_ratio_200097();
|
|
F.line = 202;
|
|
canvas_204685.width = (((get_width_204323(width_204678) * ratio_204687))|0);
|
|
F.line = 203;
|
|
canvas_204685.height = (((get_height_204341(height_204681) * ratio_204687))|0);
|
|
F.line = 204;
|
|
canvas_204685.style.width = toJSStr((cstrToNimstr((get_width_204323(width_204678))+"") || []).concat(makeNimstrLit("px") || []));
|
|
F.line = 205;
|
|
canvas_204685.style.height = toJSStr((cstrToNimstr((get_height_204341(height_204681))+"") || []).concat(makeNimstrLit("px") || []));
|
|
F.line = 206;
|
|
context_204686.setTransform(ratio_204687, 0, 0, ratio_204687, 0, 0);
|
|
}
|
|
|
|
F.line = 208;
|
|
result_204684 = {canvas: canvas_204685, context: context_204686, preferredWidth: width_204678, preferredHeight: height_204681, scaleToScreen: false, positionedElements: [], images: init_table_204724(64), lastFrameUpdate: 0.0, rotation: 0.0};
|
|
F.line = 218;
|
|
var captured_result_205029 = result_204684;
|
|
F.line = 219;
|
|
window.addEventListener("resize", HEX3Aanonymous_205051, false);
|
|
F.line = 222;
|
|
resize_canvas_204415(result_204684);
|
|
framePtr = F.prev;
|
|
|
|
return result_204684;
|
|
|
|
}
|
|
|
|
function new_board_214226(initial_214229) {
|
|
var result_214231 = [[0, 0, 0], [0, 0, 0], [0, 0, 0]];
|
|
|
|
var F={procname:"newBoard.newBoard",prev:framePtr,filename:"libmttt.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 48;
|
|
nimCopy(result_214231, [[initial_214229, initial_214229, initial_214229], [initial_214229, initial_214229, initial_214229], [initial_214229, initial_214229, initial_214229]], NTI214232);
|
|
framePtr = F.prev;
|
|
|
|
return result_214231;
|
|
|
|
}
|
|
|
|
function new_meta_board_214214(val_214217) {
|
|
var result_214223 = [[[[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]]], [[[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]]], [[[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]]]];
|
|
|
|
var F={procname:"newMetaBoard.newMetaBoard",prev:framePtr,filename:"libmttt.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 55;
|
|
nimCopy(result_214223, [[new_board_214226(val_214217), new_board_214226(val_214217), new_board_214226(val_214217)], [new_board_214226(val_214217), new_board_214226(val_214217), new_board_214226(val_214217)], [new_board_214226(val_214217), new_board_214226(val_214217), new_board_214226(val_214217)]], NTI214224);
|
|
framePtr = F.prev;
|
|
|
|
return result_214223;
|
|
|
|
}
|
|
|
|
function new_game_214207(player1_214210, player1_214210_Idx, player2_214212, player2_214212_Idx) {
|
|
var result_214213 = null;
|
|
|
|
var F={procname:"libmttt.newGame",prev:framePtr,filename:"libmttt.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 63;
|
|
F.line = 64;
|
|
player1_214210[player1_214210_Idx].mark = 0;
|
|
F.line = 65;
|
|
player2_214212[player2_214212_Idx].mark = 1;
|
|
result_214213 = {players: [player1_214210[player1_214210_Idx], player2_214212[player2_214212_Idx]], currentPlayer: player1_214210[player1_214210_Idx], result: 2, board: new_meta_board_214214(2), currentBoard: {val: {Field0: 0, Field1: 0}, has: false}, turn: 0};
|
|
framePtr = F.prev;
|
|
|
|
return result_214213;
|
|
|
|
}
|
|
|
|
function set_properties_221541(renderer_221544, element_221545, pos_221546, width_221547, height_221548, font_size_221549) {
|
|
var F={procname:"setProperties.setProperties",prev:framePtr,filename:"graphics.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 313;
|
|
element_221545.style.position = "absolute";
|
|
F.line = 314;
|
|
element_221545.style.margin = "0";
|
|
F.line = 315;
|
|
element_221545.style.marginLeft = toJSStr((cstrToNimstr((pos_221546.x)+"") || []).concat(makeNimstrLit("px") || []));
|
|
F.line = 316;
|
|
element_221545.style.marginTop = toJSStr((cstrToNimstr((pos_221546.y)+"") || []).concat(makeNimstrLit("px") || []));
|
|
F.line = 317;
|
|
element_221545.style.fontSize = toJSStr((cstrToNimstr((font_size_221549)+"") || []).concat(makeNimstrLit("px") || []));
|
|
if ((0.0 <= width_221547)) {
|
|
F.line = 319;
|
|
element_221545.style.width = toJSStr((cstrToNimstr((width_221547)+"") || []).concat(makeNimstrLit("px") || []));
|
|
}
|
|
|
|
if ((0.0 <= height_221548)) {
|
|
F.line = 322;
|
|
element_221545.style.height = toJSStr((cstrToNimstr((height_221548)+"") || []).concat(makeNimstrLit("px") || []));
|
|
}
|
|
|
|
F.line = 324;
|
|
element_221545.classList.add("gamelight-graphics-element");
|
|
F.line = 325;
|
|
if (renderer_221544.positionedElements != null) { renderer_221544.positionedElements.push({originalLeft: pos_221546.x, originalTop: pos_221546.y, element: element_221545, originalFontSize: font_size_221549, originalWidth: width_221547, originalHeight: height_221548}); } else { renderer_221544.positionedElements = [{originalLeft: pos_221546.x, originalTop: pos_221546.y, element: element_221545, originalFontSize: font_size_221549, originalWidth: width_221547, originalHeight: height_221548}]; };
|
|
F.line = 333;
|
|
resize_canvas_204415(renderer_221544);
|
|
framePtr = F.prev;
|
|
|
|
|
|
}
|
|
|
|
function create_text_element_221529(renderer_221532, text_221533, pos_221534, style_221535, font_size_221536, font_family_221537, width_221538) {
|
|
var result_221539 = null;
|
|
|
|
var F={procname:"createTextElement.createTextElement",prev:framePtr,filename:"graphics.nim",line:0};
|
|
framePtr = F;
|
|
BeforeRet: do {
|
|
F.line = 346;
|
|
var p_221540 = document.createElement("p");
|
|
F.line = 347;
|
|
p_221540.innerHTML = toJSStr(text_221533);
|
|
F.line = 348;
|
|
set_properties_221541(renderer_221532, p_221540, pos_221534, width_221538, 0.0, font_size_221536);
|
|
F.line = 350;
|
|
p_221540.style.fontFamily = toJSStr(font_family_221537);
|
|
F.line = 351;
|
|
p_221540.style.color = toJSStr(style_221535);
|
|
F.line = 353;
|
|
renderer_221532.canvas.parentNode.insertBefore(p_221540, renderer_221532.canvas);
|
|
F.line = 354;
|
|
result_221539 = p_221540;
|
|
break BeforeRet;
|
|
} while (false);
|
|
framePtr = F.prev;
|
|
|
|
return result_221539;
|
|
|
|
}
|
|
|
|
function to_point_202299(point_202302) {
|
|
var result_202312 = {x: 0.0, y: 0.0};
|
|
|
|
var F={procname:"vec.toPoint",prev:framePtr,filename:"vec.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 14;
|
|
nimCopy(result_202312, {x: point_202302["Field0"], y: point_202302["Field1"]}, NTI202309);
|
|
framePtr = F.prev;
|
|
|
|
return result_202312;
|
|
|
|
}
|
|
|
|
function switch_scene_221504(game_221506, scene_221507) {
|
|
var F={procname:"game.switchScene",prev:framePtr,filename:"game.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 35;
|
|
switch (scene_221507) {
|
|
case 0:
|
|
break;
|
|
case 1:
|
|
F.line = 39;
|
|
var elements_221526 = [];
|
|
F.line = 41;
|
|
var time_text_pos_221528 = {Field0: to_float_10657(10), Field1: to_float_10657(10)};
|
|
F.line = 42;
|
|
if (elements_221526 != null) { elements_221526.push(create_text_element_221529(game_221506.renderer, makeNimstrLit("Time"), to_point_202299(time_text_pos_221528), makeNimstrLit("#000000"), 2.6000000000000000e+01, makeNimstrLit("Helvetica, monospace"), -1.0000000000000000e+00)); } else { elements_221526 = [create_text_element_221529(game_221506.renderer, makeNimstrLit("Time"), to_point_202299(time_text_pos_221528), makeNimstrLit("#000000"), 2.6000000000000000e+01, makeNimstrLit("Helvetica, monospace"), -1.0000000000000000e+00)]; };
|
|
F.line = 44;
|
|
var time_pos_221591 = {Field0: to_float_10657(10), Field1: (to_float_10657(10) + 3.5000000000000000e+01)};
|
|
F.line = 45;
|
|
game_221506.timeElement = create_text_element_221529(game_221506.renderer, makeNimstrLit("0"), to_point_202299(time_pos_221591), makeNimstrLit("#000000"), 1.4000000000000000e+01, makeNimstrLit("Helvetica, monospace"), -1.0000000000000000e+00);
|
|
break;
|
|
}
|
|
framePtr = F.prev;
|
|
|
|
|
|
}
|
|
|
|
function new_game_221645(canvas_id_221647, width_221648, height_221649) {
|
|
var result_221650 = null;
|
|
|
|
var F={procname:"game.newGame",prev:framePtr,filename:"game.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 50;
|
|
var player1_221651 = [{name: makeNimstrLit("Player 1"), mark: 0}];
|
|
F.line = 51;
|
|
var player2_221652 = [{name: makeNimstrLit("Player 2"), mark: 0}];
|
|
F.line = 53;
|
|
render_width_221049[0] = width_221648;
|
|
F.line = 54;
|
|
render_height_221050[0] = height_221649;
|
|
F.line = 56;
|
|
result_221650 = {renderer: new_renderer2d_204674(canvas_id_221647, width_221648, height_221649, false), scene: 1, state: new_game_214207(player1_221651, 0, player2_221652, 0), paused: false, lastUpdate: 0.0, totalTime: 0.0, timeElement: null, onGameStart: null};
|
|
F.line = 62;
|
|
switch_scene_221504(result_221650, 1);
|
|
framePtr = F.prev;
|
|
|
|
return result_221650;
|
|
|
|
}
|
|
|
|
function HEX2BHEX3D_160861(x_160865, x_160865_Idx, y_160866) {
|
|
var F={procname:"+=.+=",prev:framePtr,filename:"system.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 4125;
|
|
x_160865[x_160865_Idx] = (x_160865[x_160865_Idx] + y_160866);
|
|
framePtr = F.prev;
|
|
|
|
|
|
}
|
|
|
|
function update_221685(game_221687, time_221688) {
|
|
var Tmp1;
|
|
|
|
var F={procname:"game.update",prev:framePtr,filename:"game.nim",line:0};
|
|
framePtr = F;
|
|
BeforeRet: do {
|
|
if (game_221687.paused) Tmp1 = true; else { Tmp1 = !((game_221687.scene == 1)); } if (Tmp1) {
|
|
F.line = 67;
|
|
break BeforeRet;
|
|
}
|
|
|
|
F.line = 69;
|
|
HEX2BHEX3D_160861(game_221687, "totalTime", time_221688);
|
|
} while (false);
|
|
framePtr = F.prev;
|
|
|
|
|
|
}
|
|
|
|
function fill_rect_221750(renderer_221755, x_221756, y_221757, width_221758, height_221759, style_221760) {
|
|
var F={procname:"fillRect.fillRect",prev:framePtr,filename:"graphics.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 266;
|
|
renderer_221755.context.fillStyle = toJSStr(style_221760);
|
|
F.line = 267;
|
|
renderer_221755.context.fillRect(x_221756, y_221757, width_221758, height_221759);
|
|
framePtr = F.prev;
|
|
|
|
|
|
}
|
|
|
|
function draw_main_menu_221715(game_221717) {
|
|
var F={procname:"game.drawMainMenu",prev:framePtr,filename:"game.nim",line:0};
|
|
framePtr = F;
|
|
framePtr = F.prev;
|
|
|
|
|
|
}
|
|
|
|
function to_int_10691(f_10693) {
|
|
var Tmp1;
|
|
|
|
var result_10694 = 0;
|
|
|
|
var F={procname:"system.toInt",prev:framePtr,filename:"system.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 2305;
|
|
if ((0.0 <= f_10693)) {
|
|
Tmp1 = (((f_10693 + 5.0000000000000000e-01))|0);
|
|
}
|
|
else {
|
|
Tmp1 = (((f_10693 - 5.0000000000000000e-01))|0);
|
|
}
|
|
|
|
result_10694 = Tmp1;
|
|
framePtr = F.prev;
|
|
|
|
return result_10694;
|
|
|
|
}
|
|
|
|
function raiseDivByZero() {
|
|
var eHEX60gensym22257_22403 = null;
|
|
eHEX60gensym22257_22403 = {m_type: NTI3644, parent: null, name: null, message: null, trace: null, raiseId: 0, up: null};
|
|
eHEX60gensym22257_22403.message = nimCopy(null, makeNimstrLit("division by zero"), NTI138);
|
|
eHEX60gensym22257_22403.parent = null;
|
|
raiseException(eHEX60gensym22257_22403, "DivByZeroError");
|
|
|
|
|
|
}
|
|
|
|
function parse_saturated_natural_65231(s_65233, b_65235, b_65235_Idx, start_65236) {
|
|
var Tmp1;
|
|
var Tmp4;
|
|
|
|
var result_65238 = 0;
|
|
|
|
var F={procname:"parseutils.parseSaturatedNatural",prev:framePtr,filename:"parseutils.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 480;
|
|
var i_65239 = start_65236;
|
|
if (((i_65239 < (s_65233 != null ? s_65233.length : 0)) && (s_65233[chckIndx(i_65239, 0, s_65233.length+0-1)-0] == 43))) {
|
|
F.line = 481;
|
|
i_65239 = addInt(i_65239, 1);
|
|
}
|
|
|
|
if (!(i_65239 < (s_65233 != null ? s_65233.length : 0))) Tmp1 = false; else { Tmp1 = (ConstSet6[s_65233[chckIndx(i_65239, 0, s_65233.length+0-1)-0]] != undefined); } if (Tmp1) {
|
|
F.line = 483;
|
|
b_65235[b_65235_Idx] = 0;
|
|
L2: do {
|
|
F.line = 484;
|
|
L3: while (true) {
|
|
if (!(i_65239 < (s_65233 != null ? s_65233.length : 0))) Tmp4 = false; else { Tmp4 = (ConstSet7[s_65233[chckIndx(i_65239, 0, s_65233.length+0-1)-0]] != undefined); } if (!Tmp4) break L3;
|
|
F.line = 485;
|
|
var c_65268 = subInt(s_65233[chckIndx(i_65239, 0, s_65233.length+0-1)-0], 48);
|
|
if ((b_65235[b_65235_Idx] <= divInt(subInt(2147483647, c_65268), 10))) {
|
|
F.line = 487;
|
|
b_65235[b_65235_Idx] = addInt(mulInt(b_65235[b_65235_Idx], 10), c_65268);
|
|
}
|
|
else {
|
|
F.line = 489;
|
|
b_65235[b_65235_Idx] = 2147483647;
|
|
}
|
|
|
|
F.line = 490;
|
|
i_65239 = addInt(i_65239, 1);
|
|
L5: do {
|
|
F.line = 491;
|
|
L6: while (true) {
|
|
if (!((i_65239 < (s_65233 != null ? s_65233.length : 0)) && (s_65233[chckIndx(i_65239, 0, s_65233.length+0-1)-0] == 95))) break L6;
|
|
F.line = 491;
|
|
i_65239 = addInt(i_65239, 1);
|
|
}
|
|
} while(false);
|
|
}
|
|
} while(false);
|
|
F.line = 492;
|
|
result_65238 = subInt(i_65239, start_65236);
|
|
}
|
|
|
|
framePtr = F.prev;
|
|
|
|
return result_65238;
|
|
|
|
}
|
|
|
|
function HEX5BHEX5D_103304(s_103308, x_103310) {
|
|
var result_103311 = null;
|
|
|
|
var F={procname:"[].[]",prev:framePtr,filename:"system.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 3956;
|
|
var a_103401 = x_103310.a;
|
|
F.line = 3957;
|
|
var l_103601 = addInt(subInt(subInt((s_103308 != null ? s_103308.length : 0), x_103310.b), a_103401), 1);
|
|
F.line = 3958;
|
|
result_103311 = nimCopy(null, mnewString(chckRange(l_103601, 0, 2147483647)), NTI138);
|
|
L1: do {
|
|
F.line = 3959;
|
|
var i_103609 = 0;
|
|
F.line = 2738;
|
|
var i_222143 = 0;
|
|
L2: do {
|
|
F.line = 2739;
|
|
L3: while (true) {
|
|
if (!(i_222143 < l_103601)) break L3;
|
|
F.line = 3959;
|
|
i_103609 = i_222143;
|
|
F.line = 3959;
|
|
result_103311[chckIndx(i_103609, 0, result_103311.length+0-1)-0] = s_103308[chckIndx(addInt(i_103609, a_103401), 0, s_103308.length+0-1)-0];
|
|
F.line = 2741;
|
|
i_222143 = addInt(i_222143, 1);
|
|
}
|
|
} while(false);
|
|
} while(false);
|
|
framePtr = F.prev;
|
|
|
|
return result_103311;
|
|
|
|
}
|
|
|
|
function HEX2EHEX2E_103239(a_103243, b_103244) {
|
|
var result_103250 = {a: 0, b: 0};
|
|
|
|
var F={procname:".....",prev:framePtr,filename:"system.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 502;
|
|
nimCopy(result_103250, {a: a_103243, b: b_103244}, NTI103247);
|
|
framePtr = F.prev;
|
|
|
|
return result_103250;
|
|
|
|
}
|
|
|
|
function parse_standard_format_specifier_163324(s_163326, start_163327, ignore_unknown_suffix_163329) {
|
|
var Tmp1;
|
|
var Tmp2;
|
|
var Tmp3;
|
|
|
|
var result_163330 = {fill: 0, align: 0, sign: 0, alternateForm: false, padWithZero: false, minimumWidth: 0, precision: 0, typ: 0, endPosition: 0};
|
|
|
|
var F={procname:"strformat.parseStandardFormatSpecifier",prev:framePtr,filename:"strformat.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 379;
|
|
result_163330.fill = 32;
|
|
F.line = 380;
|
|
result_163330.align = 0;
|
|
F.line = 381;
|
|
result_163330.sign = 45;
|
|
F.line = 382;
|
|
var i_163333 = start_163327;
|
|
if (((addInt(i_163333, 1) < (s_163326 != null ? s_163326.length : 0)) && (ConstSet2[s_163326[chckIndx(addInt(i_163333, 1), 0, s_163326.length+0-1)-0]] != undefined))) {
|
|
F.line = 384;
|
|
result_163330.fill = s_163326[chckIndx(i_163333, 0, s_163326.length+0-1)-0];
|
|
F.line = 385;
|
|
result_163330.align = s_163326[chckIndx(addInt(i_163333, 1), 0, s_163326.length+0-1)-0];
|
|
F.line = 386;
|
|
i_163333 = addInt(i_163333, 2);
|
|
}
|
|
else {
|
|
if (((i_163333 < (s_163326 != null ? s_163326.length : 0)) && (ConstSet3[s_163326[chckIndx(i_163333, 0, s_163326.length+0-1)-0]] != undefined))) {
|
|
F.line = 388;
|
|
result_163330.align = s_163326[chckIndx(i_163333, 0, s_163326.length+0-1)-0];
|
|
F.line = 389;
|
|
i_163333 = addInt(i_163333, 1);
|
|
}
|
|
}
|
|
if (((i_163333 < (s_163326 != null ? s_163326.length : 0)) && (ConstSet4[s_163326[chckIndx(i_163333, 0, s_163326.length+0-1)-0]] != undefined))) {
|
|
F.line = 392;
|
|
result_163330.sign = s_163326[chckIndx(i_163333, 0, s_163326.length+0-1)-0];
|
|
F.line = 393;
|
|
i_163333 = addInt(i_163333, 1);
|
|
}
|
|
|
|
if (((i_163333 < (s_163326 != null ? s_163326.length : 0)) && (s_163326[chckIndx(i_163333, 0, s_163326.length+0-1)-0] == 35))) {
|
|
F.line = 396;
|
|
result_163330.alternateForm = true;
|
|
F.line = 397;
|
|
i_163333 = addInt(i_163333, 1);
|
|
}
|
|
|
|
if (!((addInt(i_163333, 1) < (s_163326 != null ? s_163326.length : 0)) && (s_163326[chckIndx(i_163333, 0, s_163326.length+0-1)-0] == 48))) Tmp1 = false; else { Tmp1 = (ConstSet5[s_163326[chckIndx(addInt(i_163333, 1), 0, s_163326.length+0-1)-0]] != undefined); } if (Tmp1) {
|
|
F.line = 400;
|
|
result_163330.padWithZero = true;
|
|
F.line = 401;
|
|
i_163333 = addInt(i_163333, 1);
|
|
}
|
|
|
|
F.line = 403;
|
|
var parsed_length_163391 = parse_saturated_natural_65231(s_163326, result_163330, "minimumWidth", i_163333);
|
|
F.line = 404;
|
|
i_163333 = addInt(i_163333, parsed_length_163391);
|
|
if (((i_163333 < (s_163326 != null ? s_163326.length : 0)) && (s_163326[chckIndx(i_163333, 0, s_163326.length+0-1)-0] == 46))) {
|
|
F.line = 406;
|
|
i_163333 = addInt(i_163333, 1);
|
|
F.line = 407;
|
|
var parsed_length_b_163405 = parse_saturated_natural_65231(s_163326, result_163330, "precision", i_163333);
|
|
F.line = 408;
|
|
i_163333 = addInt(i_163333, parsed_length_b_163405);
|
|
}
|
|
else {
|
|
F.line = 410;
|
|
result_163330.precision = -1;
|
|
}
|
|
|
|
if (!(i_163333 < (s_163326 != null ? s_163326.length : 0))) Tmp2 = false; else { Tmp2 = (ConstSet8[s_163326[chckIndx(i_163333, 0, s_163326.length+0-1)-0]] != undefined); } if (Tmp2) {
|
|
F.line = 413;
|
|
result_163330.typ = s_163326[chckIndx(i_163333, 0, s_163326.length+0-1)-0];
|
|
F.line = 414;
|
|
i_163333 = addInt(i_163333, 1);
|
|
}
|
|
|
|
F.line = 415;
|
|
result_163330.endPosition = i_163333;
|
|
if (!!((i_163333 == (s_163326 != null ? s_163326.length : 0)))) Tmp3 = false; else { Tmp3 = !(ignore_unknown_suffix_163329); } if (Tmp3) {
|
|
F.line = 3463;
|
|
var eHEX60gensym163460_163603 = null;
|
|
F.line = 3466;
|
|
eHEX60gensym163460_163603 = {m_type: NTI3652, parent: null, name: null, message: null, trace: null, raiseId: 0, up: null};
|
|
F.line = 418;
|
|
eHEX60gensym163460_163603.message = nimCopy(null, (makeNimstrLit("invalid format string, cannot parse: ") || []).concat(HEX5BHEX5D_103304(s_163326, HEX2EHEX2E_103239(i_163333, 1)) || []), NTI138);
|
|
F.line = 3459;
|
|
eHEX60gensym163460_163603.parent = null;
|
|
F.line = 417;
|
|
raiseException(eHEX60gensym163460_163603, "ValueError");
|
|
}
|
|
|
|
framePtr = F.prev;
|
|
|
|
return result_163330;
|
|
|
|
}
|
|
|
|
function mk_digit_163014(v_163016, typ_163017) {
|
|
var Tmp1;
|
|
|
|
var result_163018 = null;
|
|
|
|
var F={procname:"strformat.mkDigit",prev:framePtr,filename:"strformat.nim",line:0};
|
|
framePtr = F;
|
|
if (!((v_163016 < 26))) {
|
|
F.line = 270;
|
|
failed_assert_impl_15266(makeNimstrLit("/home/luxick/.choosenim/toolchains/nim-1.0.2/lib/pure/strformat.nim(270, 9) `v < 26` "));
|
|
}
|
|
|
|
if ((v_163016 < 10)) {
|
|
F.line = 272;
|
|
result_163018 = nimCopy(null, nimCharToStr(chckRange(addInt(48, v_163016), 0, 255)), NTI138);
|
|
}
|
|
else {
|
|
F.line = 274;
|
|
if ((typ_163017 == 120)) {
|
|
Tmp1 = 97;
|
|
}
|
|
else {
|
|
Tmp1 = 65;
|
|
}
|
|
|
|
result_163018 = nimCopy(null, nimCharToStr(chckRange(subInt(addInt(Tmp1, v_163016), 10), 0, 255)), NTI138);
|
|
}
|
|
|
|
framePtr = F.prev;
|
|
|
|
return result_163018;
|
|
|
|
}
|
|
|
|
function nsuRepeatChar(c_156656, count_156657) {
|
|
var result_156658 = null;
|
|
|
|
var F={procname:"strutils.repeat",prev:framePtr,filename:"strutils.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 1294;
|
|
result_156658 = nimCopy(null, mnewString(count_156657), NTI138);
|
|
L1: do {
|
|
F.line = 1295;
|
|
var i_156667 = 0;
|
|
F.line = 2698;
|
|
var colontmp__222163 = 0;
|
|
F.line = 1295;
|
|
colontmp__222163 = subInt(count_156657, 1);
|
|
F.line = 2709;
|
|
var res_222164 = 0;
|
|
L2: do {
|
|
F.line = 2710;
|
|
L3: while (true) {
|
|
if (!(res_222164 <= colontmp__222163)) break L3;
|
|
F.line = 1295;
|
|
i_156667 = res_222164;
|
|
F.line = 1295;
|
|
result_156658[chckIndx(i_156667, 0, result_156658.length+0-1)-0] = c_156656;
|
|
F.line = 2712;
|
|
res_222164 = addInt(res_222164, 1);
|
|
}
|
|
} while(false);
|
|
} while(false);
|
|
framePtr = F.prev;
|
|
|
|
return result_156658;
|
|
|
|
}
|
|
|
|
function format_int_221210(n_221213, radix_221214, spec_221215) {
|
|
var Tmp7;
|
|
|
|
var result_221216 = null;
|
|
|
|
var F={procname:"formatInt.formatInt",prev:framePtr,filename:"strformat.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 318;
|
|
var v_221401 = n_221213;
|
|
F.line = 319;
|
|
var negative_221402 = (v_221401 < 0);
|
|
if (negative_221402) {
|
|
F.line = 322;
|
|
v_221401 = mulInt(v_221401, -1);
|
|
}
|
|
|
|
F.line = 324;
|
|
var xx_221404 = [];
|
|
if (spec_221215.alternateForm) {
|
|
F.line = 326;
|
|
switch (spec_221215.typ) {
|
|
case 88:
|
|
F.line = 327;
|
|
xx_221404 = nimCopy(null, makeNimstrLit("0x"), NTI138);
|
|
break;
|
|
case 120:
|
|
F.line = 328;
|
|
xx_221404 = nimCopy(null, makeNimstrLit("0x"), NTI138);
|
|
break;
|
|
case 98:
|
|
F.line = 329;
|
|
xx_221404 = nimCopy(null, makeNimstrLit("0b"), NTI138);
|
|
break;
|
|
case 111:
|
|
F.line = 330;
|
|
xx_221404 = nimCopy(null, makeNimstrLit("0o"), NTI138);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
if ((v_221401 == 0)) {
|
|
F.line = 334;
|
|
result_221216 = nimCopy(null, makeNimstrLit("0"), NTI138);
|
|
}
|
|
else {
|
|
F.line = 336;
|
|
result_221216 = nimCopy(null, [], NTI138);
|
|
L1: do {
|
|
F.line = 337;
|
|
L2: while (true) {
|
|
if (!(0 < v_221401)) break L2;
|
|
F.line = 338;
|
|
var d_221407 = modInt(v_221401, radix_221214);
|
|
F.line = 339;
|
|
v_221401 = divInt(v_221401, radix_221214);
|
|
F.line = 340;
|
|
if (result_221216 != null) { result_221216 = (result_221216).concat(mk_digit_163014(chckRange(d_221407, -2147483648, 2147483647), spec_221215.typ)); } else { result_221216 = mk_digit_163014(chckRange(d_221407, -2147483648, 2147483647), spec_221215.typ).slice(); };
|
|
}
|
|
} while(false);
|
|
L3: do {
|
|
F.line = 341;
|
|
var idx_221416 = 0;
|
|
F.line = 2736;
|
|
var colontmp__222152 = 0;
|
|
F.line = 341;
|
|
colontmp__222152 = divInt((result_221216 != null ? result_221216.length : 0), 2);
|
|
F.line = 2738;
|
|
var i_222153 = 0;
|
|
L4: do {
|
|
F.line = 2739;
|
|
L5: while (true) {
|
|
if (!(i_222153 < colontmp__222152)) break L5;
|
|
F.line = 341;
|
|
idx_221416 = i_222153;
|
|
F.line = 342;
|
|
var Tmp6 = result_221216[chckIndx(idx_221416, 0, result_221216.length+0-1)-0]; result_221216[chckIndx(idx_221416, 0, result_221216.length+0-1)-0] = result_221216[chckIndx(subInt(subInt((result_221216 != null ? result_221216.length : 0), idx_221416), 1), 0, result_221216.length+0-1)-0]; result_221216[chckIndx(subInt(subInt((result_221216 != null ? result_221216.length : 0), idx_221416), 1), 0, result_221216.length+0-1)-0] = Tmp6; F.line = 2741;
|
|
i_222153 = addInt(i_222153, 1);
|
|
}
|
|
} while(false);
|
|
} while(false);
|
|
}
|
|
|
|
if (spec_221215.padWithZero) {
|
|
F.line = 344;
|
|
if (negative_221402) Tmp7 = true; else { Tmp7 = !((spec_221215.sign == 45)); } var sign_221432 = Tmp7;
|
|
F.line = 345;
|
|
var to_fill_221437 = subInt(subInt(subInt(spec_221215.minimumWidth, (result_221216 != null ? result_221216.length : 0)), (xx_221404 != null ? xx_221404.length : 0)), (sign_221432 ? 1:0));
|
|
if ((0 < to_fill_221437)) {
|
|
F.line = 347;
|
|
result_221216 = nimCopy(null, (nsuRepeatChar(48, chckRange(to_fill_221437, 0, 2147483647)) || []).concat(result_221216 || []), NTI138);
|
|
}
|
|
|
|
}
|
|
|
|
if (negative_221402) {
|
|
F.line = 350;
|
|
result_221216 = nimCopy(null, (makeNimstrLit("-") || []).concat(xx_221404 || [],result_221216 || []), NTI138);
|
|
}
|
|
else {
|
|
if (!((spec_221215.sign == 45))) {
|
|
F.line = 352;
|
|
result_221216 = nimCopy(null, [spec_221215.sign].concat(xx_221404 || [],result_221216 || []), NTI138);
|
|
}
|
|
else {
|
|
F.line = 354;
|
|
result_221216 = nimCopy(null, (xx_221404 || []).concat(result_221216 || []), NTI138);
|
|
}
|
|
}
|
|
if ((spec_221215.align == 60)) {
|
|
L8: do {
|
|
F.line = 357;
|
|
var i_221445 = 0;
|
|
F.line = 2736;
|
|
var colontmp__222157 = 0;
|
|
F.line = 2736;
|
|
var colontmp__222158 = 0;
|
|
F.line = 357;
|
|
colontmp__222157 = (result_221216 != null ? result_221216.length : 0);
|
|
F.line = 357;
|
|
colontmp__222158 = spec_221215.minimumWidth;
|
|
F.line = 2738;
|
|
var i_222159 = colontmp__222157;
|
|
L9: do {
|
|
F.line = 2739;
|
|
L10: while (true) {
|
|
if (!(i_222159 < colontmp__222158)) break L10;
|
|
F.line = 357;
|
|
i_221445 = i_222159;
|
|
F.line = 358;
|
|
if (result_221216 != null) { addChar(result_221216, spec_221215.fill); } else { result_221216 = [spec_221215.fill]; };
|
|
F.line = 2741;
|
|
i_222159 = addInt(i_222159, 1);
|
|
}
|
|
} while(false);
|
|
} while(false);
|
|
}
|
|
else {
|
|
F.line = 360;
|
|
var to_fill_221446 = subInt(spec_221215.minimumWidth, (result_221216 != null ? result_221216.length : 0));
|
|
if ((spec_221215.align == 94)) {
|
|
F.line = 362;
|
|
var half_221447 = divInt(to_fill_221446, 2);
|
|
F.line = 363;
|
|
result_221216 = nimCopy(null, (nsuRepeatChar(spec_221215.fill, chckRange(half_221447, 0, 2147483647)) || []).concat(result_221216 || [],nsuRepeatChar(spec_221215.fill, chckRange(subInt(to_fill_221446, half_221447), 0, 2147483647)) || []), NTI138);
|
|
}
|
|
else {
|
|
if ((0 < to_fill_221446)) {
|
|
F.line = 366;
|
|
result_221216 = nimCopy(null, (nsuRepeatChar(spec_221215.fill, chckRange(to_fill_221446, 0, 2147483647)) || []).concat(result_221216 || []), NTI138);
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
framePtr = F.prev;
|
|
|
|
return result_221216;
|
|
|
|
}
|
|
|
|
function format_value_221081(result_221084, result_221084_Idx, value_221085, specifier_221086) {
|
|
var F={procname:"formatValue.formatValue",prev:framePtr,filename:"strformat.nim",line:0};
|
|
framePtr = F;
|
|
BeforeRet: do {
|
|
if (((specifier_221086 != null ? specifier_221086.length : 0) == 0)) {
|
|
F.line = 426;
|
|
if (result_221084[result_221084_Idx] != null) { result_221084[result_221084_Idx] = (result_221084[result_221084_Idx]).concat(cstrToNimstr((value_221085)+"")); } else { result_221084[result_221084_Idx] = cstrToNimstr((value_221085)+"").slice(); };
|
|
F.line = 427;
|
|
break BeforeRet;
|
|
}
|
|
|
|
F.line = 428;
|
|
var spec_221087 = parse_standard_format_specifier_163324(specifier_221086, 0, false);
|
|
F.line = 429;
|
|
var radix_221089 = 10;
|
|
F.line = 430;
|
|
switch (spec_221087.typ) {
|
|
case 120:
|
|
case 88:
|
|
F.line = 431;
|
|
radix_221089 = 16;
|
|
break;
|
|
case 100:
|
|
case 0:
|
|
break;
|
|
case 98:
|
|
F.line = 433;
|
|
radix_221089 = 2;
|
|
break;
|
|
case 111:
|
|
F.line = 434;
|
|
radix_221089 = 8;
|
|
break;
|
|
default:
|
|
F.line = 3463;
|
|
var eHEX60gensym221091_221203 = null;
|
|
F.line = 3466;
|
|
eHEX60gensym221091_221203 = {m_type: NTI3652, parent: null, name: null, message: null, trace: null, raiseId: 0, up: null};
|
|
F.line = 438;
|
|
eHEX60gensym221091_221203.message = nimCopy(null, (makeNimstrLit("invalid type in format string for number, expected one of \'x\', \'X\', \'b\', \'d\', \'o\' but got: ") || []).concat([spec_221087.typ]), NTI138);
|
|
F.line = 3459;
|
|
eHEX60gensym221091_221203.parent = null;
|
|
F.line = 436;
|
|
raiseException(eHEX60gensym221091_221203, "ValueError");
|
|
break;
|
|
}
|
|
F.line = 439;
|
|
if (result_221084[result_221084_Idx] != null) { result_221084[result_221084_Idx] = (result_221084[result_221084_Idx]).concat(format_int_221210(value_221085, radix_221089, spec_221087)); } else { result_221084[result_221084_Idx] = format_int_221210(value_221085, radix_221089, spec_221087).slice(); };
|
|
} while (false);
|
|
framePtr = F.prev;
|
|
|
|
|
|
}
|
|
|
|
function to_time_string_221064(milliseconds_221066) {
|
|
var result_221067 = null;
|
|
|
|
var F={procname:"game.toTimeString",prev:framePtr,filename:"game.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 29;
|
|
var seconds_221069 = to_int_10691((milliseconds_221066 / 1.0000000000000000e+03) % 6.0000000000000000e+01);
|
|
F.line = 30;
|
|
var minutes_221073 = to_int_10691((milliseconds_221066 / 6.0000000000000000e+04) % 6.0000000000000000e+01);
|
|
F.line = 31;
|
|
var hours_221079 = to_int_10691((milliseconds_221066 / 3.6000000000000000e+06) % 2.4000000000000000e+01);
|
|
F.line = 32;
|
|
F.line = 32;
|
|
var fmt_res_221080 = [mnewString(0)];
|
|
F.line = 32;
|
|
format_value_221081(fmt_res_221080, 0, hours_221079, []);
|
|
F.line = 32;
|
|
if (fmt_res_221080[0] != null) { fmt_res_221080[0] = (fmt_res_221080[0]).concat(makeNimstrLit(":")); } else { fmt_res_221080[0] = makeNimstrLit(":"); };
|
|
F.line = 32;
|
|
format_value_221081(fmt_res_221080, 0, minutes_221073, []);
|
|
F.line = 32;
|
|
if (fmt_res_221080[0] != null) { fmt_res_221080[0] = (fmt_res_221080[0]).concat(makeNimstrLit(":")); } else { fmt_res_221080[0] = makeNimstrLit(":"); };
|
|
F.line = 32;
|
|
format_value_221081(fmt_res_221080, 0, seconds_221069, []);
|
|
result_221067 = nimCopy(null, fmt_res_221080[0], NTI138);
|
|
framePtr = F.prev;
|
|
|
|
return result_221067;
|
|
|
|
}
|
|
|
|
function draw_game_221731(game_221733) {
|
|
var F={procname:"game.drawGame",prev:framePtr,filename:"game.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 76;
|
|
game_221733.timeElement.innerHTML = toJSStr(to_time_string_221064(game_221733.totalTime));
|
|
framePtr = F.prev;
|
|
|
|
|
|
}
|
|
|
|
function draw_221747(game_221749) {
|
|
var F={procname:"game.draw",prev:framePtr,filename:"game.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 81;
|
|
fill_rect_221750(game_221749.renderer, 0.0, 0.0, render_width_221049[0], render_height_221050[0], makeNimstrLit("#e6e6e6"));
|
|
F.line = 82;
|
|
switch (game_221749.scene) {
|
|
case 0:
|
|
F.line = 84;
|
|
draw_main_menu_221715(game_221749);
|
|
break;
|
|
case 1:
|
|
F.line = 86;
|
|
draw_game_221731(game_221749);
|
|
break;
|
|
}
|
|
framePtr = F.prev;
|
|
|
|
|
|
}
|
|
|
|
function next_frame_221800(game_221802, frame_time_221803) {
|
|
var F={procname:"game.nextFrame",prev:framePtr,filename:"game.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 90;
|
|
update_221685(game_221802, frame_time_221803);
|
|
F.line = 91;
|
|
draw_221747(game_221802);
|
|
framePtr = F.prev;
|
|
|
|
|
|
}
|
|
|
|
function on_tick_222028(game_222030, time_222031) {
|
|
|
|
function HEX3Aanonymous_222032(time_222034) {
|
|
var F={procname:"onTick.:anonymous",prev:framePtr,filename:"mttt.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 9;
|
|
on_tick_222028(game_222030, time_222034);
|
|
framePtr = F.prev;
|
|
|
|
|
|
}
|
|
|
|
var F={procname:"mttt.onTick",prev:framePtr,filename:"mttt.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 9;
|
|
window.requestAnimationFrame(HEX3Aanonymous_222032);
|
|
F.line = 10;
|
|
next_frame_221800(game_222030, time_222031);
|
|
framePtr = F.prev;
|
|
|
|
|
|
}
|
|
|
|
function onLoad(event_222066) {
|
|
var F={procname:"mttt.onLoad",prev:framePtr,filename:"mttt.nim",line:0};
|
|
framePtr = F;
|
|
F.line = 13;
|
|
var game_222067 = new_game_221645(makeNimstrLit("game_canvas"), window.innerWidth, window.innerHeight);
|
|
F.line = 14;
|
|
on_tick_222028(game_222067, 6.0000000000000000e+01);
|
|
framePtr = F.prev;
|
|
|
|
|
|
}
|
|
window.onload = onLoad;
|