From c85c4f3cdae6d4e2eb86e591e087e849f9e3e032 Mon Sep 17 00:00:00 2001 From: Bluscrn <114532380+Bluscrn99@users.noreply.github.com> Date: Sat, 11 Oct 2025 02:23:57 -0400 Subject: [PATCH 1/2] Add knife hit --- games/knifehit/c2runtime.js | 28105 ++++++++++++++++ games/knifehit/data.js | 1 + games/knifehit/icon-256.png | Bin 0 -> 40947 bytes games/knifehit/images/apple-sheet0.png | Bin 0 -> 3637 bytes games/knifehit/images/apple2-sheet0.png | Bin 0 -> 5334 bytes games/knifehit/images/background-sheet0.png | Bin 0 -> 191062 bytes games/knifehit/images/broken-sheet0.png | Bin 0 -> 62242 bytes games/knifehit/images/btncleardata-sheet0.png | Bin 0 -> 29850 bytes games/knifehit/images/btnclose-sheet0.png | Bin 0 -> 5976 bytes games/knifehit/images/btnequip-sheet0.png | Bin 0 -> 19287 bytes games/knifehit/images/btnequip2-sheet0.png | Bin 0 -> 5563 bytes games/knifehit/images/btnfb-sheet0.png | Bin 0 -> 2047 bytes games/knifehit/images/btnfbgift-sheet0.png | Bin 0 -> 17255 bytes games/knifehit/images/btngift-sheet0.png | Bin 0 -> 4571 bytes games/knifehit/images/btnhome-sheet0.png | Bin 0 -> 4128 bytes games/knifehit/images/btninstagift-sheet0.png | Bin 0 -> 21617 bytes games/knifehit/images/btnknife-sheet0.png | Bin 0 -> 12183 bytes games/knifehit/images/btnplay-sheet0.png | Bin 0 -> 34588 bytes games/knifehit/images/btnrestart-sheet0.png | Bin 0 -> 31426 bytes games/knifehit/images/btnsetting-sheet0.png | Bin 0 -> 9605 bytes games/knifehit/images/btnsettings-sheet0.png | Bin 0 -> 1494 bytes games/knifehit/images/btnsound-sheet0.png | Bin 0 -> 9420 bytes games/knifehit/images/btnstar-sheet0.png | Bin 0 -> 4923 bytes games/knifehit/images/circle-sheet0.png | Bin 0 -> 351351 bytes games/knifehit/images/circle-sheet1.png | Bin 0 -> 978924 bytes games/knifehit/images/circle-sheet2.png | Bin 0 -> 9615 bytes games/knifehit/images/detector-sheet0.png | Bin 0 -> 94 bytes games/knifehit/images/dot-sheet0.png | Bin 0 -> 481 bytes games/knifehit/images/dot-sheet1.png | Bin 0 -> 484 bytes games/knifehit/images/equipbox-sheet0.png | Bin 0 -> 2110 bytes games/knifehit/images/knife-sheet0.png | Bin 0 -> 70499 bytes games/knifehit/images/knife-sheet1.png | Bin 0 -> 91966 bytes games/knifehit/images/knife-sheet2.png | Bin 0 -> 93014 bytes games/knifehit/images/knifeback-sheet0.png | Bin 0 -> 394 bytes games/knifehit/images/knifeborder-sheet0.png | Bin 0 -> 157 bytes games/knifehit/images/knifeborder-sheet1.png | Bin 0 -> 157 bytes games/knifehit/images/leaderboard-sheet0.png | Bin 0 -> 938 bytes games/knifehit/images/leaderboard2-sheet0.png | Bin 0 -> 519 bytes games/knifehit/images/loading_font.png | Bin 0 -> 9589 bytes .../images/loadinggamelogo-sheet0.png | Bin 0 -> 83624 bytes games/knifehit/images/localsavebtn-sheet0.png | Bin 0 -> 28316 bytes games/knifehit/images/menuapple-sheet0.png | Bin 0 -> 3976 bytes games/knifehit/images/menuknife-sheet0.png | Bin 0 -> 5743 bytes games/knifehit/images/miniknife-sheet0.png | Bin 0 -> 1132 bytes games/knifehit/images/miniknife-sheet1.png | Bin 0 -> 1061 bytes games/knifehit/images/newbest-sheet0.png | Bin 0 -> 34001 bytes games/knifehit/images/obj_y8logo-sheet0.png | Bin 0 -> 509 bytes games/knifehit/images/online-sheet0.png | Bin 0 -> 27206 bytes games/knifehit/images/online-sheet1.png | Bin 0 -> 23263 bytes games/knifehit/images/online2-sheet0.png | Bin 0 -> 22408 bytes games/knifehit/images/onlinebtn-sheet0.png | Bin 0 -> 30312 bytes games/knifehit/images/onlinebtn-sheet1.png | Bin 0 -> 33756 bytes games/knifehit/images/particle-sheet0.png | Bin 0 -> 290 bytes games/knifehit/images/scoreback-sheet0.png | Bin 0 -> 69619 bytes games/knifehit/images/shine-sheet0.png | Bin 0 -> 4906 bytes games/knifehit/images/sprite-sheet0.png | Bin 0 -> 93 bytes games/knifehit/images/square-sheet0.png | Bin 0 -> 94 bytes games/knifehit/images/title1-sheet0.png | Bin 0 -> 38781 bytes games/knifehit/images/title2-sheet0.png | Bin 0 -> 13597 bytes games/knifehit/images/title3-sheet0.png | Bin 0 -> 9085 bytes games/knifehit/images/twoknives-sheet0.png | Bin 0 -> 1469 bytes games/knifehit/images/txtorange.png | Bin 0 -> 36109 bytes games/knifehit/images/txtwhite.png | Bin 0 -> 30833 bytes games/knifehit/images/txtyellow.png | Bin 0 -> 30833 bytes games/knifehit/images/welcomefont.png | Bin 0 -> 13629 bytes games/knifehit/images/y8_message-sheet0.png | Bin 0 -> 8362 bytes games/knifehit/images/y8_message-sheet1.png | Bin 0 -> 3440 bytes games/knifehit/index.html | 150 + games/knifehit/jquery-2.1.1.min.js | 4 + games/knifehit/media/block.ogg | Bin 0 -> 17719 bytes games/knifehit/media/break.ogg | Bin 0 -> 16559 bytes games/knifehit/media/hit.ogg | Bin 0 -> 12030 bytes games/knifehit/media/new.ogg | Bin 0 -> 7653 bytes games/knifehit/offlineClient.js | 53 + games/knifehit/y8/android.mp4 | Bin 0 -> 2351 bytes games/knifehit/y8/android.webm | Bin 0 -> 1956 bytes games/knifehit/y8/gamebreaker.js | 326 + games/knifehit/y8/global.js | 22 + games/knifehit/y8/main.css | 33 + 79 files changed, 28694 insertions(+) create mode 100644 games/knifehit/c2runtime.js create mode 100644 games/knifehit/data.js create mode 100644 games/knifehit/icon-256.png create mode 100644 games/knifehit/images/apple-sheet0.png create mode 100644 games/knifehit/images/apple2-sheet0.png create mode 100644 games/knifehit/images/background-sheet0.png create mode 100644 games/knifehit/images/broken-sheet0.png create mode 100644 games/knifehit/images/btncleardata-sheet0.png create mode 100644 games/knifehit/images/btnclose-sheet0.png create mode 100644 games/knifehit/images/btnequip-sheet0.png create mode 100644 games/knifehit/images/btnequip2-sheet0.png create mode 100644 games/knifehit/images/btnfb-sheet0.png create mode 100644 games/knifehit/images/btnfbgift-sheet0.png create mode 100644 games/knifehit/images/btngift-sheet0.png create mode 100644 games/knifehit/images/btnhome-sheet0.png create mode 100644 games/knifehit/images/btninstagift-sheet0.png create mode 100644 games/knifehit/images/btnknife-sheet0.png create mode 100644 games/knifehit/images/btnplay-sheet0.png create mode 100644 games/knifehit/images/btnrestart-sheet0.png create mode 100644 games/knifehit/images/btnsetting-sheet0.png create mode 100644 games/knifehit/images/btnsettings-sheet0.png create mode 100644 games/knifehit/images/btnsound-sheet0.png create mode 100644 games/knifehit/images/btnstar-sheet0.png create mode 100644 games/knifehit/images/circle-sheet0.png create mode 100644 games/knifehit/images/circle-sheet1.png create mode 100644 games/knifehit/images/circle-sheet2.png create mode 100644 games/knifehit/images/detector-sheet0.png create mode 100644 games/knifehit/images/dot-sheet0.png create mode 100644 games/knifehit/images/dot-sheet1.png create mode 100644 games/knifehit/images/equipbox-sheet0.png create mode 100644 games/knifehit/images/knife-sheet0.png create mode 100644 games/knifehit/images/knife-sheet1.png create mode 100644 games/knifehit/images/knife-sheet2.png create mode 100644 games/knifehit/images/knifeback-sheet0.png create mode 100644 games/knifehit/images/knifeborder-sheet0.png create mode 100644 games/knifehit/images/knifeborder-sheet1.png create mode 100644 games/knifehit/images/leaderboard-sheet0.png create mode 100644 games/knifehit/images/leaderboard2-sheet0.png create mode 100644 games/knifehit/images/loading_font.png create mode 100644 games/knifehit/images/loadinggamelogo-sheet0.png create mode 100644 games/knifehit/images/localsavebtn-sheet0.png create mode 100644 games/knifehit/images/menuapple-sheet0.png create mode 100644 games/knifehit/images/menuknife-sheet0.png create mode 100644 games/knifehit/images/miniknife-sheet0.png create mode 100644 games/knifehit/images/miniknife-sheet1.png create mode 100644 games/knifehit/images/newbest-sheet0.png create mode 100644 games/knifehit/images/obj_y8logo-sheet0.png create mode 100644 games/knifehit/images/online-sheet0.png create mode 100644 games/knifehit/images/online-sheet1.png create mode 100644 games/knifehit/images/online2-sheet0.png create mode 100644 games/knifehit/images/onlinebtn-sheet0.png create mode 100644 games/knifehit/images/onlinebtn-sheet1.png create mode 100644 games/knifehit/images/particle-sheet0.png create mode 100644 games/knifehit/images/scoreback-sheet0.png create mode 100644 games/knifehit/images/shine-sheet0.png create mode 100644 games/knifehit/images/sprite-sheet0.png create mode 100644 games/knifehit/images/square-sheet0.png create mode 100644 games/knifehit/images/title1-sheet0.png create mode 100644 games/knifehit/images/title2-sheet0.png create mode 100644 games/knifehit/images/title3-sheet0.png create mode 100644 games/knifehit/images/twoknives-sheet0.png create mode 100644 games/knifehit/images/txtorange.png create mode 100644 games/knifehit/images/txtwhite.png create mode 100644 games/knifehit/images/txtyellow.png create mode 100644 games/knifehit/images/welcomefont.png create mode 100644 games/knifehit/images/y8_message-sheet0.png create mode 100644 games/knifehit/images/y8_message-sheet1.png create mode 100644 games/knifehit/index.html create mode 100644 games/knifehit/jquery-2.1.1.min.js create mode 100644 games/knifehit/media/block.ogg create mode 100644 games/knifehit/media/break.ogg create mode 100644 games/knifehit/media/hit.ogg create mode 100644 games/knifehit/media/new.ogg create mode 100644 games/knifehit/offlineClient.js create mode 100644 games/knifehit/y8/android.mp4 create mode 100644 games/knifehit/y8/android.webm create mode 100644 games/knifehit/y8/gamebreaker.js create mode 100644 games/knifehit/y8/global.js create mode 100644 games/knifehit/y8/main.css diff --git a/games/knifehit/c2runtime.js b/games/knifehit/c2runtime.js new file mode 100644 index 00000000..f9e0c9d4 --- /dev/null +++ b/games/knifehit/c2runtime.js @@ -0,0 +1,28105 @@ +// Generated by Construct 2, the HTML5 game and app creator :: http://www.scirra.com +var cr = {}; +cr.plugins_ = {}; +cr.behaviors = {}; +if (typeof Object.getPrototypeOf !== "function") +{ + if (typeof "test".__proto__ === "object") + { + Object.getPrototypeOf = function(object) { + return object.__proto__; + }; + } + else + { + Object.getPrototypeOf = function(object) { + return object.constructor.prototype; + }; + } +} +(function(){ + cr.logexport = function (msg) + { + if (window.console && window.console.log) + window.console.log(msg); + }; + cr.logerror = function (msg) + { + if (window.console && window.console.error) + window.console.error(msg); + }; + cr.seal = function(x) + { + return x; + }; + cr.freeze = function(x) + { + return x; + }; + cr.is_undefined = function (x) + { + return typeof x === "undefined"; + }; + cr.is_number = function (x) + { + return typeof x === "number"; + }; + cr.is_string = function (x) + { + return typeof x === "string"; + }; + cr.isPOT = function (x) + { + return x > 0 && ((x - 1) & x) === 0; + }; + cr.nextHighestPowerOfTwo = function(x) { + --x; + for (var i = 1; i < 32; i <<= 1) { + x = x | x >> i; + } + return x + 1; + } + cr.abs = function (x) + { + return (x < 0 ? -x : x); + }; + cr.max = function (a, b) + { + return (a > b ? a : b); + }; + cr.min = function (a, b) + { + return (a < b ? a : b); + }; + cr.PI = Math.PI; + cr.round = function (x) + { + return (x + 0.5) | 0; + }; + cr.floor = function (x) + { + if (x >= 0) + return x | 0; + else + return (x | 0) - 1; // correctly round down when negative + }; + cr.ceil = function (x) + { + var f = x | 0; + return (f === x ? f : f + 1); + }; + function Vector2(x, y) + { + this.x = x; + this.y = y; + cr.seal(this); + }; + Vector2.prototype.offset = function (px, py) + { + this.x += px; + this.y += py; + return this; + }; + Vector2.prototype.mul = function (px, py) + { + this.x *= px; + this.y *= py; + return this; + }; + cr.vector2 = Vector2; + cr.segments_intersect = function(a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y) + { + var max_ax, min_ax, max_ay, min_ay, max_bx, min_bx, max_by, min_by; + if (a1x < a2x) + { + min_ax = a1x; + max_ax = a2x; + } + else + { + min_ax = a2x; + max_ax = a1x; + } + if (b1x < b2x) + { + min_bx = b1x; + max_bx = b2x; + } + else + { + min_bx = b2x; + max_bx = b1x; + } + if (max_ax < min_bx || min_ax > max_bx) + return false; + if (a1y < a2y) + { + min_ay = a1y; + max_ay = a2y; + } + else + { + min_ay = a2y; + max_ay = a1y; + } + if (b1y < b2y) + { + min_by = b1y; + max_by = b2y; + } + else + { + min_by = b2y; + max_by = b1y; + } + if (max_ay < min_by || min_ay > max_by) + return false; + var dpx = b1x - a1x + b2x - a2x; + var dpy = b1y - a1y + b2y - a2y; + var qax = a2x - a1x; + var qay = a2y - a1y; + var qbx = b2x - b1x; + var qby = b2y - b1y; + var d = cr.abs(qay * qbx - qby * qax); + var la = qbx * dpy - qby * dpx; + if (cr.abs(la) > d) + return false; + var lb = qax * dpy - qay * dpx; + return cr.abs(lb) <= d; + }; + function Rect(left, top, right, bottom) + { + this.set(left, top, right, bottom); + cr.seal(this); + }; + Rect.prototype.set = function (left, top, right, bottom) + { + this.left = left; + this.top = top; + this.right = right; + this.bottom = bottom; + }; + Rect.prototype.copy = function (r) + { + this.left = r.left; + this.top = r.top; + this.right = r.right; + this.bottom = r.bottom; + }; + Rect.prototype.width = function () + { + return this.right - this.left; + }; + Rect.prototype.height = function () + { + return this.bottom - this.top; + }; + Rect.prototype.offset = function (px, py) + { + this.left += px; + this.top += py; + this.right += px; + this.bottom += py; + return this; + }; + Rect.prototype.normalize = function () + { + var temp = 0; + if (this.left > this.right) + { + temp = this.left; + this.left = this.right; + this.right = temp; + } + if (this.top > this.bottom) + { + temp = this.top; + this.top = this.bottom; + this.bottom = temp; + } + }; + Rect.prototype.intersects_rect = function (rc) + { + return !(rc.right < this.left || rc.bottom < this.top || rc.left > this.right || rc.top > this.bottom); + }; + Rect.prototype.intersects_rect_off = function (rc, ox, oy) + { + return !(rc.right + ox < this.left || rc.bottom + oy < this.top || rc.left + ox > this.right || rc.top + oy > this.bottom); + }; + Rect.prototype.contains_pt = function (x, y) + { + return (x >= this.left && x <= this.right) && (y >= this.top && y <= this.bottom); + }; + Rect.prototype.equals = function (r) + { + return this.left === r.left && this.top === r.top && this.right === r.right && this.bottom === r.bottom; + }; + cr.rect = Rect; + function Quad() + { + this.tlx = 0; + this.tly = 0; + this.trx = 0; + this.try_ = 0; // is a keyword otherwise! + this.brx = 0; + this.bry = 0; + this.blx = 0; + this.bly = 0; + cr.seal(this); + }; + Quad.prototype.set_from_rect = function (rc) + { + this.tlx = rc.left; + this.tly = rc.top; + this.trx = rc.right; + this.try_ = rc.top; + this.brx = rc.right; + this.bry = rc.bottom; + this.blx = rc.left; + this.bly = rc.bottom; + }; + Quad.prototype.set_from_rotated_rect = function (rc, a) + { + if (a === 0) + { + this.set_from_rect(rc); + } + else + { + var sin_a = Math.sin(a); + var cos_a = Math.cos(a); + var left_sin_a = rc.left * sin_a; + var top_sin_a = rc.top * sin_a; + var right_sin_a = rc.right * sin_a; + var bottom_sin_a = rc.bottom * sin_a; + var left_cos_a = rc.left * cos_a; + var top_cos_a = rc.top * cos_a; + var right_cos_a = rc.right * cos_a; + var bottom_cos_a = rc.bottom * cos_a; + this.tlx = left_cos_a - top_sin_a; + this.tly = top_cos_a + left_sin_a; + this.trx = right_cos_a - top_sin_a; + this.try_ = top_cos_a + right_sin_a; + this.brx = right_cos_a - bottom_sin_a; + this.bry = bottom_cos_a + right_sin_a; + this.blx = left_cos_a - bottom_sin_a; + this.bly = bottom_cos_a + left_sin_a; + } + }; + Quad.prototype.offset = function (px, py) + { + this.tlx += px; + this.tly += py; + this.trx += px; + this.try_ += py; + this.brx += px; + this.bry += py; + this.blx += px; + this.bly += py; + return this; + }; + var minresult = 0; + var maxresult = 0; + function minmax4(a, b, c, d) + { + if (a < b) + { + if (c < d) + { + if (a < c) + minresult = a; + else + minresult = c; + if (b > d) + maxresult = b; + else + maxresult = d; + } + else + { + if (a < d) + minresult = a; + else + minresult = d; + if (b > c) + maxresult = b; + else + maxresult = c; + } + } + else + { + if (c < d) + { + if (b < c) + minresult = b; + else + minresult = c; + if (a > d) + maxresult = a; + else + maxresult = d; + } + else + { + if (b < d) + minresult = b; + else + minresult = d; + if (a > c) + maxresult = a; + else + maxresult = c; + } + } + }; + Quad.prototype.bounding_box = function (rc) + { + minmax4(this.tlx, this.trx, this.brx, this.blx); + rc.left = minresult; + rc.right = maxresult; + minmax4(this.tly, this.try_, this.bry, this.bly); + rc.top = minresult; + rc.bottom = maxresult; + }; + Quad.prototype.contains_pt = function (x, y) + { + var tlx = this.tlx; + var tly = this.tly; + var v0x = this.trx - tlx; + var v0y = this.try_ - tly; + var v1x = this.brx - tlx; + var v1y = this.bry - tly; + var v2x = x - tlx; + var v2y = y - tly; + var dot00 = v0x * v0x + v0y * v0y + var dot01 = v0x * v1x + v0y * v1y + var dot02 = v0x * v2x + v0y * v2y + var dot11 = v1x * v1x + v1y * v1y + var dot12 = v1x * v2x + v1y * v2y + var invDenom = 1.0 / (dot00 * dot11 - dot01 * dot01); + var u = (dot11 * dot02 - dot01 * dot12) * invDenom; + var v = (dot00 * dot12 - dot01 * dot02) * invDenom; + if ((u >= 0.0) && (v > 0.0) && (u + v < 1)) + return true; + v0x = this.blx - tlx; + v0y = this.bly - tly; + var dot00 = v0x * v0x + v0y * v0y + var dot01 = v0x * v1x + v0y * v1y + var dot02 = v0x * v2x + v0y * v2y + invDenom = 1.0 / (dot00 * dot11 - dot01 * dot01); + u = (dot11 * dot02 - dot01 * dot12) * invDenom; + v = (dot00 * dot12 - dot01 * dot02) * invDenom; + return (u >= 0.0) && (v > 0.0) && (u + v < 1); + }; + Quad.prototype.at = function (i, xory) + { + if (xory) + { + switch (i) + { + case 0: return this.tlx; + case 1: return this.trx; + case 2: return this.brx; + case 3: return this.blx; + case 4: return this.tlx; + default: return this.tlx; + } + } + else + { + switch (i) + { + case 0: return this.tly; + case 1: return this.try_; + case 2: return this.bry; + case 3: return this.bly; + case 4: return this.tly; + default: return this.tly; + } + } + }; + Quad.prototype.midX = function () + { + return (this.tlx + this.trx + this.brx + this.blx) / 4; + }; + Quad.prototype.midY = function () + { + return (this.tly + this.try_ + this.bry + this.bly) / 4; + }; + Quad.prototype.intersects_segment = function (x1, y1, x2, y2) + { + if (this.contains_pt(x1, y1) || this.contains_pt(x2, y2)) + return true; + var a1x, a1y, a2x, a2y; + var i; + for (i = 0; i < 4; i++) + { + a1x = this.at(i, true); + a1y = this.at(i, false); + a2x = this.at(i + 1, true); + a2y = this.at(i + 1, false); + if (cr.segments_intersect(x1, y1, x2, y2, a1x, a1y, a2x, a2y)) + return true; + } + return false; + }; + Quad.prototype.intersects_quad = function (rhs) + { + var midx = rhs.midX(); + var midy = rhs.midY(); + if (this.contains_pt(midx, midy)) + return true; + midx = this.midX(); + midy = this.midY(); + if (rhs.contains_pt(midx, midy)) + return true; + var a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y; + var i, j; + for (i = 0; i < 4; i++) + { + for (j = 0; j < 4; j++) + { + a1x = this.at(i, true); + a1y = this.at(i, false); + a2x = this.at(i + 1, true); + a2y = this.at(i + 1, false); + b1x = rhs.at(j, true); + b1y = rhs.at(j, false); + b2x = rhs.at(j + 1, true); + b2y = rhs.at(j + 1, false); + if (cr.segments_intersect(a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y)) + return true; + } + } + return false; + }; + cr.quad = Quad; + cr.RGB = function (red, green, blue) + { + return Math.max(Math.min(red, 255), 0) + | (Math.max(Math.min(green, 255), 0) << 8) + | (Math.max(Math.min(blue, 255), 0) << 16); + }; + cr.GetRValue = function (rgb) + { + return rgb & 0xFF; + }; + cr.GetGValue = function (rgb) + { + return (rgb & 0xFF00) >> 8; + }; + cr.GetBValue = function (rgb) + { + return (rgb & 0xFF0000) >> 16; + }; + cr.shallowCopy = function (a, b, allowOverwrite) + { + var attr; + for (attr in b) + { + if (b.hasOwnProperty(attr)) + { +; + a[attr] = b[attr]; + } + } + return a; + }; + cr.arrayRemove = function (arr, index) + { + var i, len; + index = cr.floor(index); + if (index < 0 || index >= arr.length) + return; // index out of bounds + for (i = index, len = arr.length - 1; i < len; i++) + arr[i] = arr[i + 1]; + cr.truncateArray(arr, len); + }; + cr.truncateArray = function (arr, index) + { + arr.length = index; + }; + cr.clearArray = function (arr) + { + cr.truncateArray(arr, 0); + }; + cr.shallowAssignArray = function (dest, src) + { + cr.clearArray(dest); + var i, len; + for (i = 0, len = src.length; i < len; ++i) + dest[i] = src[i]; + }; + cr.appendArray = function (a, b) + { + a.push.apply(a, b); + }; + cr.fastIndexOf = function (arr, item) + { + var i, len; + for (i = 0, len = arr.length; i < len; ++i) + { + if (arr[i] === item) + return i; + } + return -1; + }; + cr.arrayFindRemove = function (arr, item) + { + var index = cr.fastIndexOf(arr, item); + if (index !== -1) + cr.arrayRemove(arr, index); + }; + cr.clamp = function(x, a, b) + { + if (x < a) + return a; + else if (x > b) + return b; + else + return x; + }; + cr.to_radians = function(x) + { + return x / (180.0 / cr.PI); + }; + cr.to_degrees = function(x) + { + return x * (180.0 / cr.PI); + }; + cr.clamp_angle_degrees = function (a) + { + a %= 360; // now in (-360, 360) range + if (a < 0) + a += 360; // now in [0, 360) range + return a; + }; + cr.clamp_angle = function (a) + { + a %= 2 * cr.PI; // now in (-2pi, 2pi) range + if (a < 0) + a += 2 * cr.PI; // now in [0, 2pi) range + return a; + }; + cr.to_clamped_degrees = function (x) + { + return cr.clamp_angle_degrees(cr.to_degrees(x)); + }; + cr.to_clamped_radians = function (x) + { + return cr.clamp_angle(cr.to_radians(x)); + }; + cr.angleTo = function(x1, y1, x2, y2) + { + var dx = x2 - x1; + var dy = y2 - y1; + return Math.atan2(dy, dx); + }; + cr.angleDiff = function (a1, a2) + { + if (a1 === a2) + return 0; + var s1 = Math.sin(a1); + var c1 = Math.cos(a1); + var s2 = Math.sin(a2); + var c2 = Math.cos(a2); + var n = s1 * s2 + c1 * c2; + if (n >= 1) + return 0; + if (n <= -1) + return cr.PI; + return Math.acos(n); + }; + cr.angleRotate = function (start, end, step) + { + var ss = Math.sin(start); + var cs = Math.cos(start); + var se = Math.sin(end); + var ce = Math.cos(end); + if (Math.acos(ss * se + cs * ce) > step) + { + if (cs * se - ss * ce > 0) + return cr.clamp_angle(start + step); + else + return cr.clamp_angle(start - step); + } + else + return cr.clamp_angle(end); + }; + cr.angleClockwise = function (a1, a2) + { + var s1 = Math.sin(a1); + var c1 = Math.cos(a1); + var s2 = Math.sin(a2); + var c2 = Math.cos(a2); + return c1 * s2 - s1 * c2 <= 0; + }; + cr.rotatePtAround = function (px, py, a, ox, oy, getx) + { + if (a === 0) + return getx ? px : py; + var sin_a = Math.sin(a); + var cos_a = Math.cos(a); + px -= ox; + py -= oy; + var left_sin_a = px * sin_a; + var top_sin_a = py * sin_a; + var left_cos_a = px * cos_a; + var top_cos_a = py * cos_a; + px = left_cos_a - top_sin_a; + py = top_cos_a + left_sin_a; + px += ox; + py += oy; + return getx ? px : py; + } + cr.distanceTo = function(x1, y1, x2, y2) + { + var dx = x2 - x1; + var dy = y2 - y1; + return Math.sqrt(dx*dx + dy*dy); + }; + cr.xor = function (x, y) + { + return !x !== !y; + }; + cr.lerp = function (a, b, x) + { + return a + (b - a) * x; + }; + cr.unlerp = function (a, b, c) + { + if (a === b) + return 0; // avoid divide by 0 + return (c - a) / (b - a); + }; + cr.anglelerp = function (a, b, x) + { + var diff = cr.angleDiff(a, b); + if (cr.angleClockwise(b, a)) + { + return a + diff * x; + } + else + { + return a - diff * x; + } + }; + cr.qarp = function (a, b, c, x) + { + return cr.lerp(cr.lerp(a, b, x), cr.lerp(b, c, x), x); + }; + cr.cubic = function (a, b, c, d, x) + { + return cr.lerp(cr.qarp(a, b, c, x), cr.qarp(b, c, d, x), x); + }; + cr.cosp = function (a, b, x) + { + return (a + b + (a - b) * Math.cos(x * Math.PI)) / 2; + }; + cr.hasAnyOwnProperty = function (o) + { + var p; + for (p in o) + { + if (o.hasOwnProperty(p)) + return true; + } + return false; + }; + cr.wipe = function (obj) + { + var p; + for (p in obj) + { + if (obj.hasOwnProperty(p)) + delete obj[p]; + } + }; + var startup_time = +(new Date()); + cr.performance_now = function() + { + if (typeof window["performance"] !== "undefined") + { + var winperf = window["performance"]; + if (typeof winperf.now !== "undefined") + return winperf.now(); + else if (typeof winperf["webkitNow"] !== "undefined") + return winperf["webkitNow"](); + else if (typeof winperf["mozNow"] !== "undefined") + return winperf["mozNow"](); + else if (typeof winperf["msNow"] !== "undefined") + return winperf["msNow"](); + } + return Date.now() - startup_time; + }; + var isChrome = false; + var isSafari = false; + var isiOS = false; + var isEjecta = false; + if (typeof window !== "undefined") // not c2 editor + { + isChrome = /chrome/i.test(navigator.userAgent) || /chromium/i.test(navigator.userAgent); + isSafari = !isChrome && /safari/i.test(navigator.userAgent); + isiOS = /(iphone|ipod|ipad)/i.test(navigator.userAgent); + isEjecta = window["c2ejecta"]; + } + var supports_set = ((!isSafari && !isEjecta && !isiOS) && (typeof Set !== "undefined" && typeof Set.prototype["forEach"] !== "undefined")); + function ObjectSet_() + { + this.s = null; + this.items = null; // lazy allocated (hopefully results in better GC performance) + this.item_count = 0; + if (supports_set) + { + this.s = new Set(); + } + this.values_cache = []; + this.cache_valid = true; + cr.seal(this); + }; + ObjectSet_.prototype.contains = function (x) + { + if (this.isEmpty()) + return false; + if (supports_set) + return this.s["has"](x); + else + return (this.items && this.items.hasOwnProperty(x)); + }; + ObjectSet_.prototype.add = function (x) + { + if (supports_set) + { + if (!this.s["has"](x)) + { + this.s["add"](x); + this.cache_valid = false; + } + } + else + { + var str = x.toString(); + var items = this.items; + if (!items) + { + this.items = {}; + this.items[str] = x; + this.item_count = 1; + this.cache_valid = false; + } + else if (!items.hasOwnProperty(str)) + { + items[str] = x; + this.item_count++; + this.cache_valid = false; + } + } + }; + ObjectSet_.prototype.remove = function (x) + { + if (this.isEmpty()) + return; + if (supports_set) + { + if (this.s["has"](x)) + { + this.s["delete"](x); + this.cache_valid = false; + } + } + else if (this.items) + { + var str = x.toString(); + var items = this.items; + if (items.hasOwnProperty(str)) + { + delete items[str]; + this.item_count--; + this.cache_valid = false; + } + } + }; + ObjectSet_.prototype.clear = function (/*wipe_*/) + { + if (this.isEmpty()) + return; + if (supports_set) + { + this.s["clear"](); // best! + } + else + { + this.items = null; // creates garbage; will lazy allocate on next add() + this.item_count = 0; + } + cr.clearArray(this.values_cache); + this.cache_valid = true; + }; + ObjectSet_.prototype.isEmpty = function () + { + return this.count() === 0; + }; + ObjectSet_.prototype.count = function () + { + if (supports_set) + return this.s["size"]; + else + return this.item_count; + }; + var current_arr = null; + var current_index = 0; + function set_append_to_arr(x) + { + current_arr[current_index++] = x; + }; + ObjectSet_.prototype.update_cache = function () + { + if (this.cache_valid) + return; + if (supports_set) + { + cr.clearArray(this.values_cache); + current_arr = this.values_cache; + current_index = 0; + this.s["forEach"](set_append_to_arr); +; + current_arr = null; + current_index = 0; + } + else + { + var values_cache = this.values_cache; + cr.clearArray(values_cache); + var p, n = 0, items = this.items; + if (items) + { + for (p in items) + { + if (items.hasOwnProperty(p)) + values_cache[n++] = items[p]; + } + } +; + } + this.cache_valid = true; + }; + ObjectSet_.prototype.valuesRef = function () + { + this.update_cache(); + return this.values_cache; + }; + cr.ObjectSet = ObjectSet_; + var tmpSet = new cr.ObjectSet(); + cr.removeArrayDuplicates = function (arr) + { + var i, len; + for (i = 0, len = arr.length; i < len; ++i) + { + tmpSet.add(arr[i]); + } + cr.shallowAssignArray(arr, tmpSet.valuesRef()); + tmpSet.clear(); + }; + cr.arrayRemoveAllFromObjectSet = function (arr, remset) + { + if (supports_set) + cr.arrayRemoveAll_set(arr, remset.s); + else + cr.arrayRemoveAll_arr(arr, remset.valuesRef()); + }; + cr.arrayRemoveAll_set = function (arr, s) + { + var i, j, len, item; + for (i = 0, j = 0, len = arr.length; i < len; ++i) + { + item = arr[i]; + if (!s["has"](item)) // not an item to remove + arr[j++] = item; // keep it + } + cr.truncateArray(arr, j); + }; + cr.arrayRemoveAll_arr = function (arr, rem) + { + var i, j, len, item; + for (i = 0, j = 0, len = arr.length; i < len; ++i) + { + item = arr[i]; + if (cr.fastIndexOf(rem, item) === -1) // not an item to remove + arr[j++] = item; // keep it + } + cr.truncateArray(arr, j); + }; + function KahanAdder_() + { + this.c = 0; + this.y = 0; + this.t = 0; + this.sum = 0; + cr.seal(this); + }; + KahanAdder_.prototype.add = function (v) + { + this.y = v - this.c; + this.t = this.sum + this.y; + this.c = (this.t - this.sum) - this.y; + this.sum = this.t; + }; + KahanAdder_.prototype.reset = function () + { + this.c = 0; + this.y = 0; + this.t = 0; + this.sum = 0; + }; + cr.KahanAdder = KahanAdder_; + cr.regexp_escape = function(text) + { + return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + }; + function CollisionPoly_(pts_array_) + { + this.pts_cache = []; + this.bboxLeft = 0; + this.bboxTop = 0; + this.bboxRight = 0; + this.bboxBottom = 0; + this.convexpolys = null; // for physics behavior to cache separated polys + this.set_pts(pts_array_); + cr.seal(this); + }; + CollisionPoly_.prototype.set_pts = function(pts_array_) + { + this.pts_array = pts_array_; + this.pts_count = pts_array_.length / 2; // x, y, x, y... in array + this.pts_cache.length = pts_array_.length; + this.cache_width = -1; + this.cache_height = -1; + this.cache_angle = 0; + }; + CollisionPoly_.prototype.is_empty = function() + { + return !this.pts_array.length; + }; + CollisionPoly_.prototype.update_bbox = function () + { + var myptscache = this.pts_cache; + var bboxLeft_ = myptscache[0]; + var bboxRight_ = bboxLeft_; + var bboxTop_ = myptscache[1]; + var bboxBottom_ = bboxTop_; + var x, y, i = 1, i2, len = this.pts_count; + for ( ; i < len; ++i) + { + i2 = i*2; + x = myptscache[i2]; + y = myptscache[i2+1]; + if (x < bboxLeft_) + bboxLeft_ = x; + if (x > bboxRight_) + bboxRight_ = x; + if (y < bboxTop_) + bboxTop_ = y; + if (y > bboxBottom_) + bboxBottom_ = y; + } + this.bboxLeft = bboxLeft_; + this.bboxRight = bboxRight_; + this.bboxTop = bboxTop_; + this.bboxBottom = bboxBottom_; + }; + CollisionPoly_.prototype.set_from_rect = function(rc, offx, offy) + { + this.pts_cache.length = 8; + this.pts_count = 4; + var myptscache = this.pts_cache; + myptscache[0] = rc.left - offx; + myptscache[1] = rc.top - offy; + myptscache[2] = rc.right - offx; + myptscache[3] = rc.top - offy; + myptscache[4] = rc.right - offx; + myptscache[5] = rc.bottom - offy; + myptscache[6] = rc.left - offx; + myptscache[7] = rc.bottom - offy; + this.cache_width = rc.right - rc.left; + this.cache_height = rc.bottom - rc.top; + this.update_bbox(); + }; + CollisionPoly_.prototype.set_from_quad = function(q, offx, offy, w, h) + { + this.pts_cache.length = 8; + this.pts_count = 4; + var myptscache = this.pts_cache; + myptscache[0] = q.tlx - offx; + myptscache[1] = q.tly - offy; + myptscache[2] = q.trx - offx; + myptscache[3] = q.try_ - offy; + myptscache[4] = q.brx - offx; + myptscache[5] = q.bry - offy; + myptscache[6] = q.blx - offx; + myptscache[7] = q.bly - offy; + this.cache_width = w; + this.cache_height = h; + this.update_bbox(); + }; + CollisionPoly_.prototype.set_from_poly = function (r) + { + this.pts_count = r.pts_count; + cr.shallowAssignArray(this.pts_cache, r.pts_cache); + this.bboxLeft = r.bboxLeft; + this.bboxTop - r.bboxTop; + this.bboxRight = r.bboxRight; + this.bboxBottom = r.bboxBottom; + }; + CollisionPoly_.prototype.cache_poly = function(w, h, a) + { + if (this.cache_width === w && this.cache_height === h && this.cache_angle === a) + return; // cache up-to-date + this.cache_width = w; + this.cache_height = h; + this.cache_angle = a; + var i, i2, i21, len, x, y; + var sina = 0; + var cosa = 1; + var myptsarray = this.pts_array; + var myptscache = this.pts_cache; + if (a !== 0) + { + sina = Math.sin(a); + cosa = Math.cos(a); + } + for (i = 0, len = this.pts_count; i < len; i++) + { + i2 = i*2; + i21 = i2+1; + x = myptsarray[i2] * w; + y = myptsarray[i21] * h; + myptscache[i2] = (x * cosa) - (y * sina); + myptscache[i21] = (y * cosa) + (x * sina); + } + this.update_bbox(); + }; + CollisionPoly_.prototype.contains_pt = function (a2x, a2y) + { + var myptscache = this.pts_cache; + if (a2x === myptscache[0] && a2y === myptscache[1]) + return true; + var i, i2, imod, len = this.pts_count; + var a1x = this.bboxLeft - 110; + var a1y = this.bboxTop - 101; + var a3x = this.bboxRight + 131 + var a3y = this.bboxBottom + 120; + var b1x, b1y, b2x, b2y; + var count1 = 0, count2 = 0; + for (i = 0; i < len; i++) + { + i2 = i*2; + imod = ((i+1)%len)*2; + b1x = myptscache[i2]; + b1y = myptscache[i2+1]; + b2x = myptscache[imod]; + b2y = myptscache[imod+1]; + if (cr.segments_intersect(a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y)) + count1++; + if (cr.segments_intersect(a3x, a3y, a2x, a2y, b1x, b1y, b2x, b2y)) + count2++; + } + return (count1 % 2 === 1) || (count2 % 2 === 1); + }; + CollisionPoly_.prototype.intersects_poly = function (rhs, offx, offy) + { + var rhspts = rhs.pts_cache; + var mypts = this.pts_cache; + if (this.contains_pt(rhspts[0] + offx, rhspts[1] + offy)) + return true; + if (rhs.contains_pt(mypts[0] - offx, mypts[1] - offy)) + return true; + var i, i2, imod, leni, j, j2, jmod, lenj; + var a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y; + for (i = 0, leni = this.pts_count; i < leni; i++) + { + i2 = i*2; + imod = ((i+1)%leni)*2; + a1x = mypts[i2]; + a1y = mypts[i2+1]; + a2x = mypts[imod]; + a2y = mypts[imod+1]; + for (j = 0, lenj = rhs.pts_count; j < lenj; j++) + { + j2 = j*2; + jmod = ((j+1)%lenj)*2; + b1x = rhspts[j2] + offx; + b1y = rhspts[j2+1] + offy; + b2x = rhspts[jmod] + offx; + b2y = rhspts[jmod+1] + offy; + if (cr.segments_intersect(a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y)) + return true; + } + } + return false; + }; + CollisionPoly_.prototype.intersects_segment = function (offx, offy, x1, y1, x2, y2) + { + var mypts = this.pts_cache; + if (this.contains_pt(x1 - offx, y1 - offy)) + return true; + var i, leni, i2, imod; + var a1x, a1y, a2x, a2y; + for (i = 0, leni = this.pts_count; i < leni; i++) + { + i2 = i*2; + imod = ((i+1)%leni)*2; + a1x = mypts[i2] + offx; + a1y = mypts[i2+1] + offy; + a2x = mypts[imod] + offx; + a2y = mypts[imod+1] + offy; + if (cr.segments_intersect(x1, y1, x2, y2, a1x, a1y, a2x, a2y)) + return true; + } + return false; + }; + CollisionPoly_.prototype.mirror = function (px) + { + var i, leni, i2; + for (i = 0, leni = this.pts_count; i < leni; ++i) + { + i2 = i*2; + this.pts_cache[i2] = px * 2 - this.pts_cache[i2]; + } + }; + CollisionPoly_.prototype.flip = function (py) + { + var i, leni, i21; + for (i = 0, leni = this.pts_count; i < leni; ++i) + { + i21 = i*2+1; + this.pts_cache[i21] = py * 2 - this.pts_cache[i21]; + } + }; + CollisionPoly_.prototype.diag = function () + { + var i, leni, i2, i21, temp; + for (i = 0, leni = this.pts_count; i < leni; ++i) + { + i2 = i*2; + i21 = i2+1; + temp = this.pts_cache[i2]; + this.pts_cache[i2] = this.pts_cache[i21]; + this.pts_cache[i21] = temp; + } + }; + cr.CollisionPoly = CollisionPoly_; + function SparseGrid_(cellwidth_, cellheight_) + { + this.cellwidth = cellwidth_; + this.cellheight = cellheight_; + this.cells = {}; + }; + SparseGrid_.prototype.totalCellCount = 0; + SparseGrid_.prototype.getCell = function (x_, y_, create_if_missing) + { + var ret; + var col = this.cells[x_]; + if (!col) + { + if (create_if_missing) + { + ret = allocGridCell(this, x_, y_); + this.cells[x_] = {}; + this.cells[x_][y_] = ret; + return ret; + } + else + return null; + } + ret = col[y_]; + if (ret) + return ret; + else if (create_if_missing) + { + ret = allocGridCell(this, x_, y_); + this.cells[x_][y_] = ret; + return ret; + } + else + return null; + }; + SparseGrid_.prototype.XToCell = function (x_) + { + return cr.floor(x_ / this.cellwidth); + }; + SparseGrid_.prototype.YToCell = function (y_) + { + return cr.floor(y_ / this.cellheight); + }; + SparseGrid_.prototype.update = function (inst, oldrange, newrange) + { + var x, lenx, y, leny, cell; + if (oldrange) + { + for (x = oldrange.left, lenx = oldrange.right; x <= lenx; ++x) + { + for (y = oldrange.top, leny = oldrange.bottom; y <= leny; ++y) + { + if (newrange && newrange.contains_pt(x, y)) + continue; // is still in this cell + cell = this.getCell(x, y, false); // don't create if missing + if (!cell) + continue; // cell does not exist yet + cell.remove(inst); + if (cell.isEmpty()) + { + freeGridCell(cell); + this.cells[x][y] = null; + } + } + } + } + if (newrange) + { + for (x = newrange.left, lenx = newrange.right; x <= lenx; ++x) + { + for (y = newrange.top, leny = newrange.bottom; y <= leny; ++y) + { + if (oldrange && oldrange.contains_pt(x, y)) + continue; // is still in this cell + this.getCell(x, y, true).insert(inst); + } + } + } + }; + SparseGrid_.prototype.queryRange = function (rc, result) + { + var x, lenx, ystart, y, leny, cell; + x = this.XToCell(rc.left); + ystart = this.YToCell(rc.top); + lenx = this.XToCell(rc.right); + leny = this.YToCell(rc.bottom); + for ( ; x <= lenx; ++x) + { + for (y = ystart; y <= leny; ++y) + { + cell = this.getCell(x, y, false); + if (!cell) + continue; + cell.dump(result); + } + } + }; + cr.SparseGrid = SparseGrid_; + function RenderGrid_(cellwidth_, cellheight_) + { + this.cellwidth = cellwidth_; + this.cellheight = cellheight_; + this.cells = {}; + }; + RenderGrid_.prototype.totalCellCount = 0; + RenderGrid_.prototype.getCell = function (x_, y_, create_if_missing) + { + var ret; + var col = this.cells[x_]; + if (!col) + { + if (create_if_missing) + { + ret = allocRenderCell(this, x_, y_); + this.cells[x_] = {}; + this.cells[x_][y_] = ret; + return ret; + } + else + return null; + } + ret = col[y_]; + if (ret) + return ret; + else if (create_if_missing) + { + ret = allocRenderCell(this, x_, y_); + this.cells[x_][y_] = ret; + return ret; + } + else + return null; + }; + RenderGrid_.prototype.XToCell = function (x_) + { + return cr.floor(x_ / this.cellwidth); + }; + RenderGrid_.prototype.YToCell = function (y_) + { + return cr.floor(y_ / this.cellheight); + }; + RenderGrid_.prototype.update = function (inst, oldrange, newrange) + { + var x, lenx, y, leny, cell; + if (oldrange) + { + for (x = oldrange.left, lenx = oldrange.right; x <= lenx; ++x) + { + for (y = oldrange.top, leny = oldrange.bottom; y <= leny; ++y) + { + if (newrange && newrange.contains_pt(x, y)) + continue; // is still in this cell + cell = this.getCell(x, y, false); // don't create if missing + if (!cell) + continue; // cell does not exist yet + cell.remove(inst); + if (cell.isEmpty()) + { + freeRenderCell(cell); + this.cells[x][y] = null; + } + } + } + } + if (newrange) + { + for (x = newrange.left, lenx = newrange.right; x <= lenx; ++x) + { + for (y = newrange.top, leny = newrange.bottom; y <= leny; ++y) + { + if (oldrange && oldrange.contains_pt(x, y)) + continue; // is still in this cell + this.getCell(x, y, true).insert(inst); + } + } + } + }; + RenderGrid_.prototype.queryRange = function (left, top, right, bottom, result) + { + var x, lenx, ystart, y, leny, cell; + x = this.XToCell(left); + ystart = this.YToCell(top); + lenx = this.XToCell(right); + leny = this.YToCell(bottom); + for ( ; x <= lenx; ++x) + { + for (y = ystart; y <= leny; ++y) + { + cell = this.getCell(x, y, false); + if (!cell) + continue; + cell.dump(result); + } + } + }; + RenderGrid_.prototype.markRangeChanged = function (rc) + { + var x, lenx, ystart, y, leny, cell; + x = rc.left; + ystart = rc.top; + lenx = rc.right; + leny = rc.bottom; + for ( ; x <= lenx; ++x) + { + for (y = ystart; y <= leny; ++y) + { + cell = this.getCell(x, y, false); + if (!cell) + continue; + cell.is_sorted = false; + } + } + }; + cr.RenderGrid = RenderGrid_; + var gridcellcache = []; + function allocGridCell(grid_, x_, y_) + { + var ret; + SparseGrid_.prototype.totalCellCount++; + if (gridcellcache.length) + { + ret = gridcellcache.pop(); + ret.grid = grid_; + ret.x = x_; + ret.y = y_; + return ret; + } + else + return new cr.GridCell(grid_, x_, y_); + }; + function freeGridCell(c) + { + SparseGrid_.prototype.totalCellCount--; + c.objects.clear(); + if (gridcellcache.length < 1000) + gridcellcache.push(c); + }; + function GridCell_(grid_, x_, y_) + { + this.grid = grid_; + this.x = x_; + this.y = y_; + this.objects = new cr.ObjectSet(); + }; + GridCell_.prototype.isEmpty = function () + { + return this.objects.isEmpty(); + }; + GridCell_.prototype.insert = function (inst) + { + this.objects.add(inst); + }; + GridCell_.prototype.remove = function (inst) + { + this.objects.remove(inst); + }; + GridCell_.prototype.dump = function (result) + { + cr.appendArray(result, this.objects.valuesRef()); + }; + cr.GridCell = GridCell_; + var rendercellcache = []; + function allocRenderCell(grid_, x_, y_) + { + var ret; + RenderGrid_.prototype.totalCellCount++; + if (rendercellcache.length) + { + ret = rendercellcache.pop(); + ret.grid = grid_; + ret.x = x_; + ret.y = y_; + return ret; + } + else + return new cr.RenderCell(grid_, x_, y_); + }; + function freeRenderCell(c) + { + RenderGrid_.prototype.totalCellCount--; + c.reset(); + if (rendercellcache.length < 1000) + rendercellcache.push(c); + }; + function RenderCell_(grid_, x_, y_) + { + this.grid = grid_; + this.x = x_; + this.y = y_; + this.objects = []; // array which needs to be sorted by Z order + this.is_sorted = true; // whether array is in correct sort order or not + this.pending_removal = new cr.ObjectSet(); + this.any_pending_removal = false; + }; + RenderCell_.prototype.isEmpty = function () + { + if (!this.objects.length) + { +; +; + return true; + } + if (this.objects.length > this.pending_removal.count()) + return false; +; + this.flush_pending(); // takes fast path and just resets state + return true; + }; + RenderCell_.prototype.insert = function (inst) + { + if (this.pending_removal.contains(inst)) + { + this.pending_removal.remove(inst); + if (this.pending_removal.isEmpty()) + this.any_pending_removal = false; + return; + } + if (this.objects.length) + { + var top = this.objects[this.objects.length - 1]; + if (top.get_zindex() > inst.get_zindex()) + this.is_sorted = false; // 'inst' should be somewhere beneath 'top' + this.objects.push(inst); + } + else + { + this.objects.push(inst); + this.is_sorted = true; + } +; + }; + RenderCell_.prototype.remove = function (inst) + { + this.pending_removal.add(inst); + this.any_pending_removal = true; + if (this.pending_removal.count() >= 30) + this.flush_pending(); + }; + RenderCell_.prototype.flush_pending = function () + { +; + if (!this.any_pending_removal) + return; // not changed + if (this.pending_removal.count() === this.objects.length) + { + this.reset(); + return; + } + cr.arrayRemoveAllFromObjectSet(this.objects, this.pending_removal); + this.pending_removal.clear(); + this.any_pending_removal = false; + }; + function sortByInstanceZIndex(a, b) + { + return a.zindex - b.zindex; + }; + RenderCell_.prototype.ensure_sorted = function () + { + if (this.is_sorted) + return; // already sorted + this.objects.sort(sortByInstanceZIndex); + this.is_sorted = true; + }; + RenderCell_.prototype.reset = function () + { + cr.clearArray(this.objects); + this.is_sorted = true; + this.pending_removal.clear(); + this.any_pending_removal = false; + }; + RenderCell_.prototype.dump = function (result) + { + this.flush_pending(); + this.ensure_sorted(); + if (this.objects.length) + result.push(this.objects); + }; + cr.RenderCell = RenderCell_; + var fxNames = [ "lighter", + "xor", + "copy", + "destination-over", + "source-in", + "destination-in", + "source-out", + "destination-out", + "source-atop", + "destination-atop"]; + cr.effectToCompositeOp = function(effect) + { + if (effect <= 0 || effect >= 11) + return "source-over"; + return fxNames[effect - 1]; // not including "none" so offset by 1 + }; + cr.setGLBlend = function(this_, effect, gl) + { + if (!gl) + return; + this_.srcBlend = gl.ONE; + this_.destBlend = gl.ONE_MINUS_SRC_ALPHA; + switch (effect) { + case 1: // lighter (additive) + this_.srcBlend = gl.ONE; + this_.destBlend = gl.ONE; + break; + case 2: // xor + break; // todo + case 3: // copy + this_.srcBlend = gl.ONE; + this_.destBlend = gl.ZERO; + break; + case 4: // destination-over + this_.srcBlend = gl.ONE_MINUS_DST_ALPHA; + this_.destBlend = gl.ONE; + break; + case 5: // source-in + this_.srcBlend = gl.DST_ALPHA; + this_.destBlend = gl.ZERO; + break; + case 6: // destination-in + this_.srcBlend = gl.ZERO; + this_.destBlend = gl.SRC_ALPHA; + break; + case 7: // source-out + this_.srcBlend = gl.ONE_MINUS_DST_ALPHA; + this_.destBlend = gl.ZERO; + break; + case 8: // destination-out + this_.srcBlend = gl.ZERO; + this_.destBlend = gl.ONE_MINUS_SRC_ALPHA; + break; + case 9: // source-atop + this_.srcBlend = gl.DST_ALPHA; + this_.destBlend = gl.ONE_MINUS_SRC_ALPHA; + break; + case 10: // destination-atop + this_.srcBlend = gl.ONE_MINUS_DST_ALPHA; + this_.destBlend = gl.SRC_ALPHA; + break; + } + }; + cr.round6dp = function (x) + { + return Math.round(x * 1000000) / 1000000; + }; + /* + var localeCompare_options = { + "usage": "search", + "sensitivity": "accent" + }; + var has_localeCompare = !!"a".localeCompare; + var localeCompare_works1 = (has_localeCompare && "a".localeCompare("A", undefined, localeCompare_options) === 0); + var localeCompare_works2 = (has_localeCompare && "a".localeCompare("รก", undefined, localeCompare_options) !== 0); + var supports_localeCompare = (has_localeCompare && localeCompare_works1 && localeCompare_works2); + */ + cr.equals_nocase = function (a, b) + { + if (typeof a !== "string" || typeof b !== "string") + return false; + if (a.length !== b.length) + return false; + if (a === b) + return true; + /* + if (supports_localeCompare) + { + return (a.localeCompare(b, undefined, localeCompare_options) === 0); + } + else + { + */ + return a.toLowerCase() === b.toLowerCase(); + }; + cr.isCanvasInputEvent = function (e) + { + var target = e.target; + if (!target) + return true; + if (target === document || target === window) + return true; + if (document && document.body && target === document.body) + return true; + if (cr.equals_nocase(target.tagName, "canvas")) + return true; + return false; + }; +}()); +var MatrixArray=typeof Float32Array!=="undefined"?Float32Array:Array,glMatrixArrayType=MatrixArray,vec3={},mat3={},mat4={},quat4={};vec3.create=function(a){var b=new MatrixArray(3);a&&(b[0]=a[0],b[1]=a[1],b[2]=a[2]);return b};vec3.set=function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];return b};vec3.add=function(a,b,c){if(!c||a===c)return a[0]+=b[0],a[1]+=b[1],a[2]+=b[2],a;c[0]=a[0]+b[0];c[1]=a[1]+b[1];c[2]=a[2]+b[2];return c}; +vec3.subtract=function(a,b,c){if(!c||a===c)return a[0]-=b[0],a[1]-=b[1],a[2]-=b[2],a;c[0]=a[0]-b[0];c[1]=a[1]-b[1];c[2]=a[2]-b[2];return c};vec3.negate=function(a,b){b||(b=a);b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];return b};vec3.scale=function(a,b,c){if(!c||a===c)return a[0]*=b,a[1]*=b,a[2]*=b,a;c[0]=a[0]*b;c[1]=a[1]*b;c[2]=a[2]*b;return c}; +vec3.normalize=function(a,b){b||(b=a);var c=a[0],d=a[1],e=a[2],g=Math.sqrt(c*c+d*d+e*e);if(g){if(g===1)return b[0]=c,b[1]=d,b[2]=e,b}else return b[0]=0,b[1]=0,b[2]=0,b;g=1/g;b[0]=c*g;b[1]=d*g;b[2]=e*g;return b};vec3.cross=function(a,b,c){c||(c=a);var d=a[0],e=a[1],a=a[2],g=b[0],f=b[1],b=b[2];c[0]=e*b-a*f;c[1]=a*g-d*b;c[2]=d*f-e*g;return c};vec3.length=function(a){var b=a[0],c=a[1],a=a[2];return Math.sqrt(b*b+c*c+a*a)};vec3.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]}; +vec3.direction=function(a,b,c){c||(c=a);var d=a[0]-b[0],e=a[1]-b[1],a=a[2]-b[2],b=Math.sqrt(d*d+e*e+a*a);if(!b)return c[0]=0,c[1]=0,c[2]=0,c;b=1/b;c[0]=d*b;c[1]=e*b;c[2]=a*b;return c};vec3.lerp=function(a,b,c,d){d||(d=a);d[0]=a[0]+c*(b[0]-a[0]);d[1]=a[1]+c*(b[1]-a[1]);d[2]=a[2]+c*(b[2]-a[2]);return d};vec3.str=function(a){return"["+a[0]+", "+a[1]+", "+a[2]+"]"}; +mat3.create=function(a){var b=new MatrixArray(9);a&&(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3],b[4]=a[4],b[5]=a[5],b[6]=a[6],b[7]=a[7],b[8]=a[8]);return b};mat3.set=function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];return b};mat3.identity=function(a){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=1;a[5]=0;a[6]=0;a[7]=0;a[8]=1;return a}; +mat3.transpose=function(a,b){if(!b||a===b){var c=a[1],d=a[2],e=a[5];a[1]=a[3];a[2]=a[6];a[3]=c;a[5]=a[7];a[6]=d;a[7]=e;return a}b[0]=a[0];b[1]=a[3];b[2]=a[6];b[3]=a[1];b[4]=a[4];b[5]=a[7];b[6]=a[2];b[7]=a[5];b[8]=a[8];return b};mat3.toMat4=function(a,b){b||(b=mat4.create());b[15]=1;b[14]=0;b[13]=0;b[12]=0;b[11]=0;b[10]=a[8];b[9]=a[7];b[8]=a[6];b[7]=0;b[6]=a[5];b[5]=a[4];b[4]=a[3];b[3]=0;b[2]=a[2];b[1]=a[1];b[0]=a[0];return b}; +mat3.str=function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+"]"};mat4.create=function(a){var b=new MatrixArray(16);a&&(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3],b[4]=a[4],b[5]=a[5],b[6]=a[6],b[7]=a[7],b[8]=a[8],b[9]=a[9],b[10]=a[10],b[11]=a[11],b[12]=a[12],b[13]=a[13],b[14]=a[14],b[15]=a[15]);return b}; +mat4.set=function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15];return b};mat4.identity=function(a){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a}; +mat4.transpose=function(a,b){if(!b||a===b){var c=a[1],d=a[2],e=a[3],g=a[6],f=a[7],h=a[11];a[1]=a[4];a[2]=a[8];a[3]=a[12];a[4]=c;a[6]=a[9];a[7]=a[13];a[8]=d;a[9]=g;a[11]=a[14];a[12]=e;a[13]=f;a[14]=h;return a}b[0]=a[0];b[1]=a[4];b[2]=a[8];b[3]=a[12];b[4]=a[1];b[5]=a[5];b[6]=a[9];b[7]=a[13];b[8]=a[2];b[9]=a[6];b[10]=a[10];b[11]=a[14];b[12]=a[3];b[13]=a[7];b[14]=a[11];b[15]=a[15];return b}; +mat4.determinant=function(a){var b=a[0],c=a[1],d=a[2],e=a[3],g=a[4],f=a[5],h=a[6],i=a[7],j=a[8],k=a[9],l=a[10],n=a[11],o=a[12],m=a[13],p=a[14],a=a[15];return o*k*h*e-j*m*h*e-o*f*l*e+g*m*l*e+j*f*p*e-g*k*p*e-o*k*d*i+j*m*d*i+o*c*l*i-b*m*l*i-j*c*p*i+b*k*p*i+o*f*d*n-g*m*d*n-o*c*h*n+b*m*h*n+g*c*p*n-b*f*p*n-j*f*d*a+g*k*d*a+j*c*h*a-b*k*h*a-g*c*l*a+b*f*l*a}; +mat4.inverse=function(a,b){b||(b=a);var c=a[0],d=a[1],e=a[2],g=a[3],f=a[4],h=a[5],i=a[6],j=a[7],k=a[8],l=a[9],n=a[10],o=a[11],m=a[12],p=a[13],r=a[14],s=a[15],A=c*h-d*f,B=c*i-e*f,t=c*j-g*f,u=d*i-e*h,v=d*j-g*h,w=e*j-g*i,x=k*p-l*m,y=k*r-n*m,z=k*s-o*m,C=l*r-n*p,D=l*s-o*p,E=n*s-o*r,q=1/(A*E-B*D+t*C+u*z-v*y+w*x);b[0]=(h*E-i*D+j*C)*q;b[1]=(-d*E+e*D-g*C)*q;b[2]=(p*w-r*v+s*u)*q;b[3]=(-l*w+n*v-o*u)*q;b[4]=(-f*E+i*z-j*y)*q;b[5]=(c*E-e*z+g*y)*q;b[6]=(-m*w+r*t-s*B)*q;b[7]=(k*w-n*t+o*B)*q;b[8]=(f*D-h*z+j*x)*q; +b[9]=(-c*D+d*z-g*x)*q;b[10]=(m*v-p*t+s*A)*q;b[11]=(-k*v+l*t-o*A)*q;b[12]=(-f*C+h*y-i*x)*q;b[13]=(c*C-d*y+e*x)*q;b[14]=(-m*u+p*B-r*A)*q;b[15]=(k*u-l*B+n*A)*q;return b};mat4.toRotationMat=function(a,b){b||(b=mat4.create());b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=0;b[13]=0;b[14]=0;b[15]=1;return b}; +mat4.toMat3=function(a,b){b||(b=mat3.create());b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[4];b[4]=a[5];b[5]=a[6];b[6]=a[8];b[7]=a[9];b[8]=a[10];return b};mat4.toInverseMat3=function(a,b){var c=a[0],d=a[1],e=a[2],g=a[4],f=a[5],h=a[6],i=a[8],j=a[9],k=a[10],l=k*f-h*j,n=-k*g+h*i,o=j*g-f*i,m=c*l+d*n+e*o;if(!m)return null;m=1/m;b||(b=mat3.create());b[0]=l*m;b[1]=(-k*d+e*j)*m;b[2]=(h*d-e*f)*m;b[3]=n*m;b[4]=(k*c-e*i)*m;b[5]=(-h*c+e*g)*m;b[6]=o*m;b[7]=(-j*c+d*i)*m;b[8]=(f*c-d*g)*m;return b}; +mat4.multiply=function(a,b,c){c||(c=a);var d=a[0],e=a[1],g=a[2],f=a[3],h=a[4],i=a[5],j=a[6],k=a[7],l=a[8],n=a[9],o=a[10],m=a[11],p=a[12],r=a[13],s=a[14],a=a[15],A=b[0],B=b[1],t=b[2],u=b[3],v=b[4],w=b[5],x=b[6],y=b[7],z=b[8],C=b[9],D=b[10],E=b[11],q=b[12],F=b[13],G=b[14],b=b[15];c[0]=A*d+B*h+t*l+u*p;c[1]=A*e+B*i+t*n+u*r;c[2]=A*g+B*j+t*o+u*s;c[3]=A*f+B*k+t*m+u*a;c[4]=v*d+w*h+x*l+y*p;c[5]=v*e+w*i+x*n+y*r;c[6]=v*g+w*j+x*o+y*s;c[7]=v*f+w*k+x*m+y*a;c[8]=z*d+C*h+D*l+E*p;c[9]=z*e+C*i+D*n+E*r;c[10]=z*g+C* +j+D*o+E*s;c[11]=z*f+C*k+D*m+E*a;c[12]=q*d+F*h+G*l+b*p;c[13]=q*e+F*i+G*n+b*r;c[14]=q*g+F*j+G*o+b*s;c[15]=q*f+F*k+G*m+b*a;return c};mat4.multiplyVec3=function(a,b,c){c||(c=b);var d=b[0],e=b[1],b=b[2];c[0]=a[0]*d+a[4]*e+a[8]*b+a[12];c[1]=a[1]*d+a[5]*e+a[9]*b+a[13];c[2]=a[2]*d+a[6]*e+a[10]*b+a[14];return c}; +mat4.multiplyVec4=function(a,b,c){c||(c=b);var d=b[0],e=b[1],g=b[2],b=b[3];c[0]=a[0]*d+a[4]*e+a[8]*g+a[12]*b;c[1]=a[1]*d+a[5]*e+a[9]*g+a[13]*b;c[2]=a[2]*d+a[6]*e+a[10]*g+a[14]*b;c[3]=a[3]*d+a[7]*e+a[11]*g+a[15]*b;return c}; +mat4.translate=function(a,b,c){var d=b[0],e=b[1],b=b[2],g,f,h,i,j,k,l,n,o,m,p,r;if(!c||a===c)return a[12]=a[0]*d+a[4]*e+a[8]*b+a[12],a[13]=a[1]*d+a[5]*e+a[9]*b+a[13],a[14]=a[2]*d+a[6]*e+a[10]*b+a[14],a[15]=a[3]*d+a[7]*e+a[11]*b+a[15],a;g=a[0];f=a[1];h=a[2];i=a[3];j=a[4];k=a[5];l=a[6];n=a[7];o=a[8];m=a[9];p=a[10];r=a[11];c[0]=g;c[1]=f;c[2]=h;c[3]=i;c[4]=j;c[5]=k;c[6]=l;c[7]=n;c[8]=o;c[9]=m;c[10]=p;c[11]=r;c[12]=g*d+j*e+o*b+a[12];c[13]=f*d+k*e+m*b+a[13];c[14]=h*d+l*e+p*b+a[14];c[15]=i*d+n*e+r*b+a[15]; +return c};mat4.scale=function(a,b,c){var d=b[0],e=b[1],b=b[2];if(!c||a===c)return a[0]*=d,a[1]*=d,a[2]*=d,a[3]*=d,a[4]*=e,a[5]*=e,a[6]*=e,a[7]*=e,a[8]*=b,a[9]*=b,a[10]*=b,a[11]*=b,a;c[0]=a[0]*d;c[1]=a[1]*d;c[2]=a[2]*d;c[3]=a[3]*d;c[4]=a[4]*e;c[5]=a[5]*e;c[6]=a[6]*e;c[7]=a[7]*e;c[8]=a[8]*b;c[9]=a[9]*b;c[10]=a[10]*b;c[11]=a[11]*b;c[12]=a[12];c[13]=a[13];c[14]=a[14];c[15]=a[15];return c}; +mat4.rotate=function(a,b,c,d){var e=c[0],g=c[1],c=c[2],f=Math.sqrt(e*e+g*g+c*c),h,i,j,k,l,n,o,m,p,r,s,A,B,t,u,v,w,x,y,z;if(!f)return null;f!==1&&(f=1/f,e*=f,g*=f,c*=f);h=Math.sin(b);i=Math.cos(b);j=1-i;b=a[0];f=a[1];k=a[2];l=a[3];n=a[4];o=a[5];m=a[6];p=a[7];r=a[8];s=a[9];A=a[10];B=a[11];t=e*e*j+i;u=g*e*j+c*h;v=c*e*j-g*h;w=e*g*j-c*h;x=g*g*j+i;y=c*g*j+e*h;z=e*c*j+g*h;e=g*c*j-e*h;g=c*c*j+i;d?a!==d&&(d[12]=a[12],d[13]=a[13],d[14]=a[14],d[15]=a[15]):d=a;d[0]=b*t+n*u+r*v;d[1]=f*t+o*u+s*v;d[2]=k*t+m*u+A* +v;d[3]=l*t+p*u+B*v;d[4]=b*w+n*x+r*y;d[5]=f*w+o*x+s*y;d[6]=k*w+m*x+A*y;d[7]=l*w+p*x+B*y;d[8]=b*z+n*e+r*g;d[9]=f*z+o*e+s*g;d[10]=k*z+m*e+A*g;d[11]=l*z+p*e+B*g;return d};mat4.rotateX=function(a,b,c){var d=Math.sin(b),b=Math.cos(b),e=a[4],g=a[5],f=a[6],h=a[7],i=a[8],j=a[9],k=a[10],l=a[11];c?a!==c&&(c[0]=a[0],c[1]=a[1],c[2]=a[2],c[3]=a[3],c[12]=a[12],c[13]=a[13],c[14]=a[14],c[15]=a[15]):c=a;c[4]=e*b+i*d;c[5]=g*b+j*d;c[6]=f*b+k*d;c[7]=h*b+l*d;c[8]=e*-d+i*b;c[9]=g*-d+j*b;c[10]=f*-d+k*b;c[11]=h*-d+l*b;return c}; +mat4.rotateY=function(a,b,c){var d=Math.sin(b),b=Math.cos(b),e=a[0],g=a[1],f=a[2],h=a[3],i=a[8],j=a[9],k=a[10],l=a[11];c?a!==c&&(c[4]=a[4],c[5]=a[5],c[6]=a[6],c[7]=a[7],c[12]=a[12],c[13]=a[13],c[14]=a[14],c[15]=a[15]):c=a;c[0]=e*b+i*-d;c[1]=g*b+j*-d;c[2]=f*b+k*-d;c[3]=h*b+l*-d;c[8]=e*d+i*b;c[9]=g*d+j*b;c[10]=f*d+k*b;c[11]=h*d+l*b;return c}; +mat4.rotateZ=function(a,b,c){var d=Math.sin(b),b=Math.cos(b),e=a[0],g=a[1],f=a[2],h=a[3],i=a[4],j=a[5],k=a[6],l=a[7];c?a!==c&&(c[8]=a[8],c[9]=a[9],c[10]=a[10],c[11]=a[11],c[12]=a[12],c[13]=a[13],c[14]=a[14],c[15]=a[15]):c=a;c[0]=e*b+i*d;c[1]=g*b+j*d;c[2]=f*b+k*d;c[3]=h*b+l*d;c[4]=e*-d+i*b;c[5]=g*-d+j*b;c[6]=f*-d+k*b;c[7]=h*-d+l*b;return c}; +mat4.frustum=function(a,b,c,d,e,g,f){f||(f=mat4.create());var h=b-a,i=d-c,j=g-e;f[0]=e*2/h;f[1]=0;f[2]=0;f[3]=0;f[4]=0;f[5]=e*2/i;f[6]=0;f[7]=0;f[8]=(b+a)/h;f[9]=(d+c)/i;f[10]=-(g+e)/j;f[11]=-1;f[12]=0;f[13]=0;f[14]=-(g*e*2)/j;f[15]=0;return f};mat4.perspective=function(a,b,c,d,e){a=c*Math.tan(a*Math.PI/360);b*=a;return mat4.frustum(-b,b,-a,a,c,d,e)}; +mat4.ortho=function(a,b,c,d,e,g,f){f||(f=mat4.create());var h=b-a,i=d-c,j=g-e;f[0]=2/h;f[1]=0;f[2]=0;f[3]=0;f[4]=0;f[5]=2/i;f[6]=0;f[7]=0;f[8]=0;f[9]=0;f[10]=-2/j;f[11]=0;f[12]=-(a+b)/h;f[13]=-(d+c)/i;f[14]=-(g+e)/j;f[15]=1;return f}; +mat4.lookAt=function(a,b,c,d){d||(d=mat4.create());var e,g,f,h,i,j,k,l,n=a[0],o=a[1],a=a[2];g=c[0];f=c[1];e=c[2];c=b[1];j=b[2];if(n===b[0]&&o===c&&a===j)return mat4.identity(d);c=n-b[0];j=o-b[1];k=a-b[2];l=1/Math.sqrt(c*c+j*j+k*k);c*=l;j*=l;k*=l;b=f*k-e*j;e=e*c-g*k;g=g*j-f*c;(l=Math.sqrt(b*b+e*e+g*g))?(l=1/l,b*=l,e*=l,g*=l):g=e=b=0;f=j*g-k*e;h=k*b-c*g;i=c*e-j*b;(l=Math.sqrt(f*f+h*h+i*i))?(l=1/l,f*=l,h*=l,i*=l):i=h=f=0;d[0]=b;d[1]=f;d[2]=c;d[3]=0;d[4]=e;d[5]=h;d[6]=j;d[7]=0;d[8]=g;d[9]=i;d[10]=k;d[11]= +0;d[12]=-(b*n+e*o+g*a);d[13]=-(f*n+h*o+i*a);d[14]=-(c*n+j*o+k*a);d[15]=1;return d};mat4.fromRotationTranslation=function(a,b,c){c||(c=mat4.create());var d=a[0],e=a[1],g=a[2],f=a[3],h=d+d,i=e+e,j=g+g,a=d*h,k=d*i;d*=j;var l=e*i;e*=j;g*=j;h*=f;i*=f;f*=j;c[0]=1-(l+g);c[1]=k+f;c[2]=d-i;c[3]=0;c[4]=k-f;c[5]=1-(a+g);c[6]=e+h;c[7]=0;c[8]=d+i;c[9]=e-h;c[10]=1-(a+l);c[11]=0;c[12]=b[0];c[13]=b[1];c[14]=b[2];c[15]=1;return c}; +mat4.str=function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+", "+a[9]+", "+a[10]+", "+a[11]+", "+a[12]+", "+a[13]+", "+a[14]+", "+a[15]+"]"};quat4.create=function(a){var b=new MatrixArray(4);a&&(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3]);return b};quat4.set=function(a,b){b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];return b}; +quat4.calculateW=function(a,b){var c=a[0],d=a[1],e=a[2];if(!b||a===b)return a[3]=-Math.sqrt(Math.abs(1-c*c-d*d-e*e)),a;b[0]=c;b[1]=d;b[2]=e;b[3]=-Math.sqrt(Math.abs(1-c*c-d*d-e*e));return b};quat4.inverse=function(a,b){if(!b||a===b)return a[0]*=-1,a[1]*=-1,a[2]*=-1,a;b[0]=-a[0];b[1]=-a[1];b[2]=-a[2];b[3]=a[3];return b};quat4.length=function(a){var b=a[0],c=a[1],d=a[2],a=a[3];return Math.sqrt(b*b+c*c+d*d+a*a)}; +quat4.normalize=function(a,b){b||(b=a);var c=a[0],d=a[1],e=a[2],g=a[3],f=Math.sqrt(c*c+d*d+e*e+g*g);if(f===0)return b[0]=0,b[1]=0,b[2]=0,b[3]=0,b;f=1/f;b[0]=c*f;b[1]=d*f;b[2]=e*f;b[3]=g*f;return b};quat4.multiply=function(a,b,c){c||(c=a);var d=a[0],e=a[1],g=a[2],a=a[3],f=b[0],h=b[1],i=b[2],b=b[3];c[0]=d*b+a*f+e*i-g*h;c[1]=e*b+a*h+g*f-d*i;c[2]=g*b+a*i+d*h-e*f;c[3]=a*b-d*f-e*h-g*i;return c}; +quat4.multiplyVec3=function(a,b,c){c||(c=b);var d=b[0],e=b[1],g=b[2],b=a[0],f=a[1],h=a[2],a=a[3],i=a*d+f*g-h*e,j=a*e+h*d-b*g,k=a*g+b*e-f*d,d=-b*d-f*e-h*g;c[0]=i*a+d*-b+j*-h-k*-f;c[1]=j*a+d*-f+k*-b-i*-h;c[2]=k*a+d*-h+i*-f-j*-b;return c};quat4.toMat3=function(a,b){b||(b=mat3.create());var c=a[0],d=a[1],e=a[2],g=a[3],f=c+c,h=d+d,i=e+e,j=c*f,k=c*h;c*=i;var l=d*h;d*=i;e*=i;f*=g;h*=g;g*=i;b[0]=1-(l+e);b[1]=k+g;b[2]=c-h;b[3]=k-g;b[4]=1-(j+e);b[5]=d+f;b[6]=c+h;b[7]=d-f;b[8]=1-(j+l);return b}; +quat4.toMat4=function(a,b){b||(b=mat4.create());var c=a[0],d=a[1],e=a[2],g=a[3],f=c+c,h=d+d,i=e+e,j=c*f,k=c*h;c*=i;var l=d*h;d*=i;e*=i;f*=g;h*=g;g*=i;b[0]=1-(l+e);b[1]=k+g;b[2]=c-h;b[3]=0;b[4]=k-g;b[5]=1-(j+e);b[6]=d+f;b[7]=0;b[8]=c+h;b[9]=d-f;b[10]=1-(j+l);b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=1;return b}; +quat4.slerp=function(a,b,c,d){d||(d=a);var e=a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3],g,f;if(Math.abs(e)>=1)return d!==a&&(d[0]=a[0],d[1]=a[1],d[2]=a[2],d[3]=a[3]),d;g=Math.acos(e);f=Math.sqrt(1-e*e);if(Math.abs(f)<0.001)return d[0]=a[0]*0.5+b[0]*0.5,d[1]=a[1]*0.5+b[1]*0.5,d[2]=a[2]*0.5+b[2]*0.5,d[3]=a[3]*0.5+b[3]*0.5,d;e=Math.sin((1-c)*g)/f;c=Math.sin(c*g)/f;d[0]=a[0]*e+b[0]*c;d[1]=a[1]*e+b[1]*c;d[2]=a[2]*e+b[2]*c;d[3]=a[3]*e+b[3]*c;return d}; +quat4.str=function(a){return"["+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+"]"}; +(function() +{ + var MAX_VERTICES = 8000; // equates to 2500 objects being drawn + var MAX_INDICES = (MAX_VERTICES / 2) * 3; // 6 indices for every 4 vertices + var MAX_POINTS = 8000; + var MULTI_BUFFERS = 4; // cycle 4 buffers to try and avoid blocking + var BATCH_NULL = 0; + var BATCH_QUAD = 1; + var BATCH_SETTEXTURE = 2; + var BATCH_SETOPACITY = 3; + var BATCH_SETBLEND = 4; + var BATCH_UPDATEMODELVIEW = 5; + var BATCH_RENDERTOTEXTURE = 6; + var BATCH_CLEAR = 7; + var BATCH_POINTS = 8; + var BATCH_SETPROGRAM = 9; + var BATCH_SETPROGRAMPARAMETERS = 10; + var BATCH_SETTEXTURE1 = 11; + var BATCH_SETCOLOR = 12; + var BATCH_SETDEPTHTEST = 13; + var BATCH_SETEARLYZMODE = 14; + /* + var lose_ext = null; + window.lose_context = function () + { + if (!lose_ext) + { + console.log("WEBGL_lose_context not supported"); + return; + } + lose_ext.loseContext(); + }; + window.restore_context = function () + { + if (!lose_ext) + { + console.log("WEBGL_lose_context not supported"); + return; + } + lose_ext.restoreContext(); + }; + */ + var tempMat4 = mat4.create(); + function GLWrap_(gl, isMobile, enableFrontToBack) + { + this.isIE = /msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent); + this.width = 0; // not yet known, wait for call to setSize() + this.height = 0; + this.enableFrontToBack = !!enableFrontToBack; + this.isEarlyZPass = false; + this.isBatchInEarlyZPass = false; + this.currentZ = 0; + this.zNear = 1; + this.zFar = 1000; + this.zIncrement = ((this.zFar - this.zNear) / 32768); + this.zA = this.zFar / (this.zFar - this.zNear); + this.zB = this.zFar * this.zNear / (this.zNear - this.zFar); + this.kzA = 65536 * this.zA; + this.kzB = 65536 * this.zB; + this.cam = vec3.create([0, 0, 100]); // camera position + this.look = vec3.create([0, 0, 0]); // lookat position + this.up = vec3.create([0, 1, 0]); // up vector + this.worldScale = vec3.create([1, 1, 1]); // world scaling factor + this.enable_mipmaps = true; + this.matP = mat4.create(); // perspective matrix + this.matMV = mat4.create(); // model view matrix + this.lastMV = mat4.create(); + this.currentMV = mat4.create(); + this.gl = gl; + this.version = (this.gl.getParameter(this.gl.VERSION).indexOf("WebGL 2") === 0 ? 2 : 1); + this.initState(); + }; + GLWrap_.prototype.initState = function () + { + var gl = this.gl; + var i, len; + this.lastOpacity = 1; + this.lastTexture0 = null; // last bound to TEXTURE0 + this.lastTexture1 = null; // last bound to TEXTURE1 + this.currentOpacity = 1; + gl.clearColor(0, 0, 0, 0); + gl.clear(gl.COLOR_BUFFER_BIT); + gl.enable(gl.BLEND); + gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA); + gl.disable(gl.CULL_FACE); + gl.disable(gl.STENCIL_TEST); + gl.disable(gl.DITHER); + if (this.enableFrontToBack) + { + gl.enable(gl.DEPTH_TEST); + gl.depthFunc(gl.LEQUAL); + } + else + { + gl.disable(gl.DEPTH_TEST); + } + this.maxTextureSize = gl.getParameter(gl.MAX_TEXTURE_SIZE); + this.lastSrcBlend = gl.ONE; + this.lastDestBlend = gl.ONE_MINUS_SRC_ALPHA; + this.vertexData = new Float32Array(MAX_VERTICES * (this.enableFrontToBack ? 3 : 2)); + this.texcoordData = new Float32Array(MAX_VERTICES * 2); + this.pointData = new Float32Array(MAX_POINTS * 4); + this.pointBuffer = gl.createBuffer(); + gl.bindBuffer(gl.ARRAY_BUFFER, this.pointBuffer); + gl.bufferData(gl.ARRAY_BUFFER, this.pointData.byteLength, gl.DYNAMIC_DRAW); + this.vertexBuffers = new Array(MULTI_BUFFERS); + this.texcoordBuffers = new Array(MULTI_BUFFERS); + for (i = 0; i < MULTI_BUFFERS; i++) + { + this.vertexBuffers[i] = gl.createBuffer(); + gl.bindBuffer(gl.ARRAY_BUFFER, this.vertexBuffers[i]); + gl.bufferData(gl.ARRAY_BUFFER, this.vertexData.byteLength, gl.DYNAMIC_DRAW); + this.texcoordBuffers[i] = gl.createBuffer(); + gl.bindBuffer(gl.ARRAY_BUFFER, this.texcoordBuffers[i]); + gl.bufferData(gl.ARRAY_BUFFER, this.texcoordData.byteLength, gl.DYNAMIC_DRAW); + } + this.curBuffer = 0; + this.indexBuffer = gl.createBuffer(); + gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this.indexBuffer); + var indexData = new Uint16Array(MAX_INDICES); + i = 0, len = MAX_INDICES; + var fv = 0; + while (i < len) + { + indexData[i++] = fv; // top left + indexData[i++] = fv + 1; // top right + indexData[i++] = fv + 2; // bottom right (first tri) + indexData[i++] = fv; // top left + indexData[i++] = fv + 2; // bottom right + indexData[i++] = fv + 3; // bottom left + fv += 4; + } + gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, indexData, gl.STATIC_DRAW); + this.vertexPtr = 0; + this.texPtr = 0; + this.pointPtr = 0; + var fsSource, vsSource; + this.shaderPrograms = []; + fsSource = [ + "varying mediump vec2 vTex;", + "uniform lowp float opacity;", + "uniform lowp sampler2D samplerFront;", + "void main(void) {", + " gl_FragColor = texture2D(samplerFront, vTex);", + " gl_FragColor *= opacity;", + "}" + ].join("\n"); + if (this.enableFrontToBack) + { + vsSource = [ + "attribute highp vec3 aPos;", + "attribute mediump vec2 aTex;", + "varying mediump vec2 vTex;", + "uniform highp mat4 matP;", + "uniform highp mat4 matMV;", + "void main(void) {", + " gl_Position = matP * matMV * vec4(aPos.x, aPos.y, aPos.z, 1.0);", + " vTex = aTex;", + "}" + ].join("\n"); + } + else + { + vsSource = [ + "attribute highp vec2 aPos;", + "attribute mediump vec2 aTex;", + "varying mediump vec2 vTex;", + "uniform highp mat4 matP;", + "uniform highp mat4 matMV;", + "void main(void) {", + " gl_Position = matP * matMV * vec4(aPos.x, aPos.y, 0.0, 1.0);", + " vTex = aTex;", + "}" + ].join("\n"); + } + var shaderProg = this.createShaderProgram({src: fsSource}, vsSource, ""); +; + this.shaderPrograms.push(shaderProg); // Default shader is always shader 0 + fsSource = [ + "uniform mediump sampler2D samplerFront;", + "varying lowp float opacity;", + "void main(void) {", + " gl_FragColor = texture2D(samplerFront, gl_PointCoord);", + " gl_FragColor *= opacity;", + "}" + ].join("\n"); + var pointVsSource = [ + "attribute vec4 aPos;", + "varying float opacity;", + "uniform mat4 matP;", + "uniform mat4 matMV;", + "void main(void) {", + " gl_Position = matP * matMV * vec4(aPos.x, aPos.y, 0.0, 1.0);", + " gl_PointSize = aPos.z;", + " opacity = aPos.w;", + "}" + ].join("\n"); + shaderProg = this.createShaderProgram({src: fsSource}, pointVsSource, ""); +; + this.shaderPrograms.push(shaderProg); // Point shader is always shader 1 + fsSource = [ + "varying mediump vec2 vTex;", + "uniform lowp sampler2D samplerFront;", + "void main(void) {", + " if (texture2D(samplerFront, vTex).a < 1.0)", + " discard;", // discarding non-opaque fragments + "}" + ].join("\n"); + var shaderProg = this.createShaderProgram({src: fsSource}, vsSource, ""); +; + this.shaderPrograms.push(shaderProg); // Early-Z shader is always shader 2 + fsSource = [ + "uniform lowp vec4 colorFill;", + "void main(void) {", + " gl_FragColor = colorFill;", + "}" + ].join("\n"); + var shaderProg = this.createShaderProgram({src: fsSource}, vsSource, ""); +; + this.shaderPrograms.push(shaderProg); // Fill-color shader is always shader 3 + for (var shader_name in cr.shaders) + { + if (cr.shaders.hasOwnProperty(shader_name)) + this.shaderPrograms.push(this.createShaderProgram(cr.shaders[shader_name], vsSource, shader_name)); + } + gl.activeTexture(gl.TEXTURE0); + gl.bindTexture(gl.TEXTURE_2D, null); + this.batch = []; + this.batchPtr = 0; + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + this.lastProgram = -1; // start -1 so first switchProgram can do work + this.currentProgram = -1; // current program during batch execution + this.currentShader = null; + this.fbo = gl.createFramebuffer(); + this.renderToTex = null; + this.depthBuffer = null; + this.attachedDepthBuffer = false; // wait until first size call to attach, otherwise it has no storage + if (this.enableFrontToBack) + { + this.depthBuffer = gl.createRenderbuffer(); + } + this.tmpVec3 = vec3.create([0, 0, 0]); +; + var pointsizes = gl.getParameter(gl.ALIASED_POINT_SIZE_RANGE); + this.minPointSize = pointsizes[0]; + this.maxPointSize = pointsizes[1]; + if (this.maxPointSize > 2048) + this.maxPointSize = 2048; +; + this.switchProgram(0); + cr.seal(this); + }; + function GLShaderProgram(gl, shaderProgram, name) + { + this.gl = gl; + this.shaderProgram = shaderProgram; + this.name = name; + this.locAPos = gl.getAttribLocation(shaderProgram, "aPos"); + this.locATex = gl.getAttribLocation(shaderProgram, "aTex"); + this.locMatP = gl.getUniformLocation(shaderProgram, "matP"); + this.locMatMV = gl.getUniformLocation(shaderProgram, "matMV"); + this.locOpacity = gl.getUniformLocation(shaderProgram, "opacity"); + this.locColorFill = gl.getUniformLocation(shaderProgram, "colorFill"); + this.locSamplerFront = gl.getUniformLocation(shaderProgram, "samplerFront"); + this.locSamplerBack = gl.getUniformLocation(shaderProgram, "samplerBack"); + this.locDestStart = gl.getUniformLocation(shaderProgram, "destStart"); + this.locDestEnd = gl.getUniformLocation(shaderProgram, "destEnd"); + this.locSeconds = gl.getUniformLocation(shaderProgram, "seconds"); + this.locPixelWidth = gl.getUniformLocation(shaderProgram, "pixelWidth"); + this.locPixelHeight = gl.getUniformLocation(shaderProgram, "pixelHeight"); + this.locLayerScale = gl.getUniformLocation(shaderProgram, "layerScale"); + this.locLayerAngle = gl.getUniformLocation(shaderProgram, "layerAngle"); + this.locViewOrigin = gl.getUniformLocation(shaderProgram, "viewOrigin"); + this.locScrollPos = gl.getUniformLocation(shaderProgram, "scrollPos"); + this.hasAnyOptionalUniforms = !!(this.locPixelWidth || this.locPixelHeight || this.locSeconds || this.locSamplerBack || this.locDestStart || this.locDestEnd || this.locLayerScale || this.locLayerAngle || this.locViewOrigin || this.locScrollPos); + this.lpPixelWidth = -999; // set to something unlikely so never counts as cached on first set + this.lpPixelHeight = -999; + this.lpOpacity = 1; + this.lpDestStartX = 0.0; + this.lpDestStartY = 0.0; + this.lpDestEndX = 1.0; + this.lpDestEndY = 1.0; + this.lpLayerScale = 1.0; + this.lpLayerAngle = 0.0; + this.lpViewOriginX = 0.0; + this.lpViewOriginY = 0.0; + this.lpScrollPosX = 0.0; + this.lpScrollPosY = 0.0; + this.lpSeconds = 0.0; + this.lastCustomParams = []; + this.lpMatMV = mat4.create(); + if (this.locOpacity) + gl.uniform1f(this.locOpacity, 1); + if (this.locColorFill) + gl.uniform4f(this.locColorFill, 1.0, 1.0, 1.0, 1.0); + if (this.locSamplerFront) + gl.uniform1i(this.locSamplerFront, 0); + if (this.locSamplerBack) + gl.uniform1i(this.locSamplerBack, 1); + if (this.locDestStart) + gl.uniform2f(this.locDestStart, 0.0, 0.0); + if (this.locDestEnd) + gl.uniform2f(this.locDestEnd, 1.0, 1.0); + if (this.locLayerScale) + gl.uniform1f(this.locLayerScale, 1.0); + if (this.locLayerAngle) + gl.uniform1f(this.locLayerAngle, 0.0); + if (this.locViewOrigin) + gl.uniform2f(this.locViewOrigin, 0.0, 0.0); + if (this.locScrollPos) + gl.uniform2f(this.locScrollPos, 0.0, 0.0); + if (this.locSeconds) + gl.uniform1f(this.locSeconds, 0.0); + this.hasCurrentMatMV = false; // matMV needs updating + }; + function areMat4sEqual(a, b) + { + return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]&&a[3]===b[3]&& + a[4]===b[4]&&a[5]===b[5]&&a[6]===b[6]&&a[7]===b[7]&& + a[8]===b[8]&&a[9]===b[9]&&a[10]===b[10]&&a[11]===b[11]&& + a[12]===b[12]&&a[13]===b[13]&&a[14]===b[14]&&a[15]===b[15]; + }; + GLShaderProgram.prototype.updateMatMV = function (mv) + { + if (areMat4sEqual(this.lpMatMV, mv)) + return; // no change, save the expensive GL call + mat4.set(mv, this.lpMatMV); + this.gl.uniformMatrix4fv(this.locMatMV, false, mv); + }; + GLWrap_.prototype.createShaderProgram = function(shaderEntry, vsSource, name) + { + var gl = this.gl; + var fragmentShader = gl.createShader(gl.FRAGMENT_SHADER); + gl.shaderSource(fragmentShader, shaderEntry.src); + gl.compileShader(fragmentShader); + if (!gl.getShaderParameter(fragmentShader, gl.COMPILE_STATUS)) + { + var compilationlog = gl.getShaderInfoLog(fragmentShader); + gl.deleteShader(fragmentShader); + throw new Error("error compiling fragment shader: " + compilationlog); + } + var vertexShader = gl.createShader(gl.VERTEX_SHADER); + gl.shaderSource(vertexShader, vsSource); + gl.compileShader(vertexShader); + if (!gl.getShaderParameter(vertexShader, gl.COMPILE_STATUS)) + { + var compilationlog = gl.getShaderInfoLog(vertexShader); + gl.deleteShader(fragmentShader); + gl.deleteShader(vertexShader); + throw new Error("error compiling vertex shader: " + compilationlog); + } + var shaderProgram = gl.createProgram(); + gl.attachShader(shaderProgram, fragmentShader); + gl.attachShader(shaderProgram, vertexShader); + gl.linkProgram(shaderProgram); + if (!gl.getProgramParameter(shaderProgram, gl.LINK_STATUS)) + { + var compilationlog = gl.getProgramInfoLog(shaderProgram); + gl.deleteShader(fragmentShader); + gl.deleteShader(vertexShader); + gl.deleteProgram(shaderProgram); + throw new Error("error linking shader program: " + compilationlog); + } + gl.useProgram(shaderProgram); + gl.deleteShader(fragmentShader); + gl.deleteShader(vertexShader); + var ret = new GLShaderProgram(gl, shaderProgram, name); + ret.extendBoxHorizontal = shaderEntry.extendBoxHorizontal || 0; + ret.extendBoxVertical = shaderEntry.extendBoxVertical || 0; + ret.crossSampling = !!shaderEntry.crossSampling; + ret.preservesOpaqueness = !!shaderEntry.preservesOpaqueness; + ret.animated = !!shaderEntry.animated; + ret.parameters = shaderEntry.parameters || []; + var i, len; + for (i = 0, len = ret.parameters.length; i < len; i++) + { + ret.parameters[i][1] = gl.getUniformLocation(shaderProgram, ret.parameters[i][0]); + ret.lastCustomParams.push(0); + gl.uniform1f(ret.parameters[i][1], 0); + } + cr.seal(ret); + return ret; + }; + GLWrap_.prototype.getShaderIndex = function(name_) + { + var i, len; + for (i = 0, len = this.shaderPrograms.length; i < len; i++) + { + if (this.shaderPrograms[i].name === name_) + return i; + } + return -1; + }; + GLWrap_.prototype.project = function (x, y, out) + { + var mv = this.matMV; + var proj = this.matP; + var fTempo = [0, 0, 0, 0, 0, 0, 0, 0]; + fTempo[0] = mv[0]*x+mv[4]*y+mv[12]; + fTempo[1] = mv[1]*x+mv[5]*y+mv[13]; + fTempo[2] = mv[2]*x+mv[6]*y+mv[14]; + fTempo[3] = mv[3]*x+mv[7]*y+mv[15]; + fTempo[4] = proj[0]*fTempo[0]+proj[4]*fTempo[1]+proj[8]*fTempo[2]+proj[12]*fTempo[3]; + fTempo[5] = proj[1]*fTempo[0]+proj[5]*fTempo[1]+proj[9]*fTempo[2]+proj[13]*fTempo[3]; + fTempo[6] = proj[2]*fTempo[0]+proj[6]*fTempo[1]+proj[10]*fTempo[2]+proj[14]*fTempo[3]; + fTempo[7] = -fTempo[2]; + if(fTempo[7]===0.0) //The w value + return; + fTempo[7]=1.0/fTempo[7]; + fTempo[4]*=fTempo[7]; + fTempo[5]*=fTempo[7]; + fTempo[6]*=fTempo[7]; + out[0]=(fTempo[4]*0.5+0.5)*this.width; + out[1]=(fTempo[5]*0.5+0.5)*this.height; + }; + GLWrap_.prototype.setSize = function(w, h, force) + { + if (this.width === w && this.height === h && !force) + return; + this.endBatch(); + var gl = this.gl; + this.width = w; + this.height = h; + gl.viewport(0, 0, w, h); + mat4.lookAt(this.cam, this.look, this.up, this.matMV); + if (this.enableFrontToBack) + { + mat4.ortho(-w/2, w/2, h/2, -h/2, this.zNear, this.zFar, this.matP); + this.worldScale[0] = 1; + this.worldScale[1] = 1; + } + else + { + mat4.perspective(45, w / h, this.zNear, this.zFar, this.matP); + var tl = [0, 0]; + var br = [0, 0]; + this.project(0, 0, tl); + this.project(1, 1, br); + this.worldScale[0] = 1 / (br[0] - tl[0]); + this.worldScale[1] = -1 / (br[1] - tl[1]); + } + var i, len, s; + for (i = 0, len = this.shaderPrograms.length; i < len; i++) + { + s = this.shaderPrograms[i]; + s.hasCurrentMatMV = false; + if (s.locMatP) + { + gl.useProgram(s.shaderProgram); + gl.uniformMatrix4fv(s.locMatP, false, this.matP); + } + } + gl.useProgram(this.shaderPrograms[this.lastProgram].shaderProgram); + gl.bindTexture(gl.TEXTURE_2D, null); + gl.activeTexture(gl.TEXTURE1); + gl.bindTexture(gl.TEXTURE_2D, null); + gl.activeTexture(gl.TEXTURE0); + this.lastTexture0 = null; + this.lastTexture1 = null; + if (this.depthBuffer) + { + gl.bindFramebuffer(gl.FRAMEBUFFER, this.fbo); + gl.bindRenderbuffer(gl.RENDERBUFFER, this.depthBuffer); + gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_COMPONENT16, this.width, this.height); + if (!this.attachedDepthBuffer) + { + gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.RENDERBUFFER, this.depthBuffer); + this.attachedDepthBuffer = true; + } + gl.bindRenderbuffer(gl.RENDERBUFFER, null); + gl.bindFramebuffer(gl.FRAMEBUFFER, null); + this.renderToTex = null; + } + }; + GLWrap_.prototype.resetModelView = function () + { + mat4.lookAt(this.cam, this.look, this.up, this.matMV); + mat4.scale(this.matMV, this.worldScale); + }; + GLWrap_.prototype.translate = function (x, y) + { + if (x === 0 && y === 0) + return; + this.tmpVec3[0] = x;// * this.worldScale[0]; + this.tmpVec3[1] = y;// * this.worldScale[1]; + this.tmpVec3[2] = 0; + mat4.translate(this.matMV, this.tmpVec3); + }; + GLWrap_.prototype.scale = function (x, y) + { + if (x === 1 && y === 1) + return; + this.tmpVec3[0] = x; + this.tmpVec3[1] = y; + this.tmpVec3[2] = 1; + mat4.scale(this.matMV, this.tmpVec3); + }; + GLWrap_.prototype.rotateZ = function (a) + { + if (a === 0) + return; + mat4.rotateZ(this.matMV, a); + }; + GLWrap_.prototype.updateModelView = function() + { + if (areMat4sEqual(this.lastMV, this.matMV)) + return; + var b = this.pushBatch(); + b.type = BATCH_UPDATEMODELVIEW; + if (b.mat4param) + mat4.set(this.matMV, b.mat4param); + else + b.mat4param = mat4.create(this.matMV); + mat4.set(this.matMV, this.lastMV); + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + }; + /* + var debugBatch = false; + jQuery(document).mousedown( + function(info) { + if (info.which === 2) + debugBatch = true; + } + ); + */ + GLWrap_.prototype.setEarlyZIndex = function (i) + { + if (!this.enableFrontToBack) + return; + if (i > 32760) + i = 32760; + this.currentZ = this.cam[2] - this.zNear - i * this.zIncrement; + }; + function GLBatchJob(type_, glwrap_) + { + this.type = type_; + this.glwrap = glwrap_; + this.gl = glwrap_.gl; + this.opacityParam = 0; // for setOpacity() + this.startIndex = 0; // for quad() + this.indexCount = 0; // " + this.texParam = null; // for setTexture() + this.mat4param = null; // for updateModelView() + this.shaderParams = []; // for user parameters + cr.seal(this); + }; + GLBatchJob.prototype.doSetEarlyZPass = function () + { + var gl = this.gl; + var glwrap = this.glwrap; + if (this.startIndex !== 0) // enable + { + gl.depthMask(true); // enable depth writes + gl.colorMask(false, false, false, false); // disable color writes + gl.disable(gl.BLEND); // no color writes so disable blend + gl.bindFramebuffer(gl.FRAMEBUFFER, glwrap.fbo); + gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, null, 0); + gl.clear(gl.DEPTH_BUFFER_BIT); // auto-clear depth buffer + gl.bindFramebuffer(gl.FRAMEBUFFER, null); + glwrap.isBatchInEarlyZPass = true; + } + else + { + gl.depthMask(false); // disable depth writes, only test existing depth values + gl.colorMask(true, true, true, true); // enable color writes + gl.enable(gl.BLEND); // turn blending back on + glwrap.isBatchInEarlyZPass = false; + } + }; + GLBatchJob.prototype.doSetTexture = function () + { + this.gl.bindTexture(this.gl.TEXTURE_2D, this.texParam); + }; + GLBatchJob.prototype.doSetTexture1 = function () + { + var gl = this.gl; + gl.activeTexture(gl.TEXTURE1); + gl.bindTexture(gl.TEXTURE_2D, this.texParam); + gl.activeTexture(gl.TEXTURE0); + }; + GLBatchJob.prototype.doSetOpacity = function () + { + var o = this.opacityParam; + var glwrap = this.glwrap; + glwrap.currentOpacity = o; + var curProg = glwrap.currentShader; + if (curProg.locOpacity && curProg.lpOpacity !== o) + { + curProg.lpOpacity = o; + this.gl.uniform1f(curProg.locOpacity, o); + } + }; + GLBatchJob.prototype.doQuad = function () + { + this.gl.drawElements(this.gl.TRIANGLES, this.indexCount, this.gl.UNSIGNED_SHORT, this.startIndex); + }; + GLBatchJob.prototype.doSetBlend = function () + { + this.gl.blendFunc(this.startIndex, this.indexCount); + }; + GLBatchJob.prototype.doUpdateModelView = function () + { + var i, len, s, shaderPrograms = this.glwrap.shaderPrograms, currentProgram = this.glwrap.currentProgram; + for (i = 0, len = shaderPrograms.length; i < len; i++) + { + s = shaderPrograms[i]; + if (i === currentProgram && s.locMatMV) + { + s.updateMatMV(this.mat4param); + s.hasCurrentMatMV = true; + } + else + s.hasCurrentMatMV = false; + } + mat4.set(this.mat4param, this.glwrap.currentMV); + }; + GLBatchJob.prototype.doRenderToTexture = function () + { + var gl = this.gl; + var glwrap = this.glwrap; + if (this.texParam) + { + if (glwrap.lastTexture1 === this.texParam) + { + gl.activeTexture(gl.TEXTURE1); + gl.bindTexture(gl.TEXTURE_2D, null); + glwrap.lastTexture1 = null; + gl.activeTexture(gl.TEXTURE0); + } + gl.bindFramebuffer(gl.FRAMEBUFFER, glwrap.fbo); + if (!glwrap.isBatchInEarlyZPass) + { + gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, this.texParam, 0); + } + } + else + { + if (!glwrap.enableFrontToBack) + { + gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, null, 0); + } + gl.bindFramebuffer(gl.FRAMEBUFFER, null); + } + }; + GLBatchJob.prototype.doClear = function () + { + var gl = this.gl; + var mode = this.startIndex; + if (mode === 0) // clear whole surface + { + gl.clearColor(this.mat4param[0], this.mat4param[1], this.mat4param[2], this.mat4param[3]); + gl.clear(gl.COLOR_BUFFER_BIT); + } + else if (mode === 1) // clear rectangle + { + gl.enable(gl.SCISSOR_TEST); + gl.scissor(this.mat4param[0], this.mat4param[1], this.mat4param[2], this.mat4param[3]); + gl.clearColor(0, 0, 0, 0); + gl.clear(gl.COLOR_BUFFER_BIT); + gl.disable(gl.SCISSOR_TEST); + } + else // clear depth + { + gl.clear(gl.DEPTH_BUFFER_BIT); + } + }; + GLBatchJob.prototype.doSetDepthTestEnabled = function () + { + var gl = this.gl; + var enable = this.startIndex; + if (enable !== 0) + { + gl.enable(gl.DEPTH_TEST); + } + else + { + gl.disable(gl.DEPTH_TEST); + } + }; + GLBatchJob.prototype.doPoints = function () + { + var gl = this.gl; + var glwrap = this.glwrap; + if (glwrap.enableFrontToBack) + gl.disable(gl.DEPTH_TEST); + var s = glwrap.shaderPrograms[1]; + gl.useProgram(s.shaderProgram); + if (!s.hasCurrentMatMV && s.locMatMV) + { + s.updateMatMV(glwrap.currentMV); + s.hasCurrentMatMV = true; + } + gl.enableVertexAttribArray(s.locAPos); + gl.bindBuffer(gl.ARRAY_BUFFER, glwrap.pointBuffer); + gl.vertexAttribPointer(s.locAPos, 4, gl.FLOAT, false, 0, 0); + gl.drawArrays(gl.POINTS, this.startIndex / 4, this.indexCount); + s = glwrap.currentShader; + gl.useProgram(s.shaderProgram); + if (s.locAPos >= 0) + { + gl.enableVertexAttribArray(s.locAPos); + gl.bindBuffer(gl.ARRAY_BUFFER, glwrap.vertexBuffers[glwrap.curBuffer]); + gl.vertexAttribPointer(s.locAPos, glwrap.enableFrontToBack ? 3 : 2, gl.FLOAT, false, 0, 0); + } + if (s.locATex >= 0) + { + gl.enableVertexAttribArray(s.locATex); + gl.bindBuffer(gl.ARRAY_BUFFER, glwrap.texcoordBuffers[glwrap.curBuffer]); + gl.vertexAttribPointer(s.locATex, 2, gl.FLOAT, false, 0, 0); + } + if (glwrap.enableFrontToBack) + gl.enable(gl.DEPTH_TEST); + }; + GLBatchJob.prototype.doSetProgram = function () + { + var gl = this.gl; + var glwrap = this.glwrap; + var s = glwrap.shaderPrograms[this.startIndex]; // recycled param to save memory + glwrap.currentProgram = this.startIndex; // current batch program + glwrap.currentShader = s; + gl.useProgram(s.shaderProgram); // switch to + if (!s.hasCurrentMatMV && s.locMatMV) + { + s.updateMatMV(glwrap.currentMV); + s.hasCurrentMatMV = true; + } + if (s.locOpacity && s.lpOpacity !== glwrap.currentOpacity) + { + s.lpOpacity = glwrap.currentOpacity; + gl.uniform1f(s.locOpacity, glwrap.currentOpacity); + } + if (s.locAPos >= 0) + { + gl.enableVertexAttribArray(s.locAPos); + gl.bindBuffer(gl.ARRAY_BUFFER, glwrap.vertexBuffers[glwrap.curBuffer]); + gl.vertexAttribPointer(s.locAPos, glwrap.enableFrontToBack ? 3 : 2, gl.FLOAT, false, 0, 0); + } + if (s.locATex >= 0) + { + gl.enableVertexAttribArray(s.locATex); + gl.bindBuffer(gl.ARRAY_BUFFER, glwrap.texcoordBuffers[glwrap.curBuffer]); + gl.vertexAttribPointer(s.locATex, 2, gl.FLOAT, false, 0, 0); + } + } + GLBatchJob.prototype.doSetColor = function () + { + var s = this.glwrap.currentShader; + var mat4param = this.mat4param; + this.gl.uniform4f(s.locColorFill, mat4param[0], mat4param[1], mat4param[2], mat4param[3]); + }; + GLBatchJob.prototype.doSetProgramParameters = function () + { + var i, len, s = this.glwrap.currentShader; + var gl = this.gl; + var mat4param = this.mat4param; + if (s.locSamplerBack && this.glwrap.lastTexture1 !== this.texParam) + { + gl.activeTexture(gl.TEXTURE1); + gl.bindTexture(gl.TEXTURE_2D, this.texParam); + this.glwrap.lastTexture1 = this.texParam; + gl.activeTexture(gl.TEXTURE0); + } + var v = mat4param[0]; + var v2; + if (s.locPixelWidth && v !== s.lpPixelWidth) + { + s.lpPixelWidth = v; + gl.uniform1f(s.locPixelWidth, v); + } + v = mat4param[1]; + if (s.locPixelHeight && v !== s.lpPixelHeight) + { + s.lpPixelHeight = v; + gl.uniform1f(s.locPixelHeight, v); + } + v = mat4param[2]; + v2 = mat4param[3]; + if (s.locDestStart && (v !== s.lpDestStartX || v2 !== s.lpDestStartY)) + { + s.lpDestStartX = v; + s.lpDestStartY = v2; + gl.uniform2f(s.locDestStart, v, v2); + } + v = mat4param[4]; + v2 = mat4param[5]; + if (s.locDestEnd && (v !== s.lpDestEndX || v2 !== s.lpDestEndY)) + { + s.lpDestEndX = v; + s.lpDestEndY = v2; + gl.uniform2f(s.locDestEnd, v, v2); + } + v = mat4param[6]; + if (s.locLayerScale && v !== s.lpLayerScale) + { + s.lpLayerScale = v; + gl.uniform1f(s.locLayerScale, v); + } + v = mat4param[7]; + if (s.locLayerAngle && v !== s.lpLayerAngle) + { + s.lpLayerAngle = v; + gl.uniform1f(s.locLayerAngle, v); + } + v = mat4param[8]; + v2 = mat4param[9]; + if (s.locViewOrigin && (v !== s.lpViewOriginX || v2 !== s.lpViewOriginY)) + { + s.lpViewOriginX = v; + s.lpViewOriginY = v2; + gl.uniform2f(s.locViewOrigin, v, v2); + } + v = mat4param[10]; + v2 = mat4param[11]; + if (s.locScrollPos && (v !== s.lpScrollPosX || v2 !== s.lpScrollPosY)) + { + s.lpScrollPosX = v; + s.lpScrollPosY = v2; + gl.uniform2f(s.locScrollPos, v, v2); + } + v = mat4param[12]; + if (s.locSeconds && v !== s.lpSeconds) + { + s.lpSeconds = v; + gl.uniform1f(s.locSeconds, v); + } + if (s.parameters.length) + { + for (i = 0, len = s.parameters.length; i < len; i++) + { + v = this.shaderParams[i]; + if (v !== s.lastCustomParams[i]) + { + s.lastCustomParams[i] = v; + gl.uniform1f(s.parameters[i][1], v); + } + } + } + }; + GLWrap_.prototype.pushBatch = function () + { + if (this.batchPtr === this.batch.length) + this.batch.push(new GLBatchJob(BATCH_NULL, this)); + return this.batch[this.batchPtr++]; + }; + GLWrap_.prototype.endBatch = function () + { + if (this.batchPtr === 0) + return; + if (this.gl.isContextLost()) + return; + var gl = this.gl; + if (this.pointPtr > 0) + { + gl.bindBuffer(gl.ARRAY_BUFFER, this.pointBuffer); + gl.bufferSubData(gl.ARRAY_BUFFER, 0, this.pointData.subarray(0, this.pointPtr)); + if (s && s.locAPos >= 0 && s.name === "") + gl.vertexAttribPointer(s.locAPos, 4, gl.FLOAT, false, 0, 0); + } + if (this.vertexPtr > 0) + { + var s = this.currentShader; + gl.bindBuffer(gl.ARRAY_BUFFER, this.vertexBuffers[this.curBuffer]); + gl.bufferSubData(gl.ARRAY_BUFFER, 0, this.vertexData.subarray(0, this.vertexPtr)); + if (s && s.locAPos >= 0 && s.name !== "") + gl.vertexAttribPointer(s.locAPos, this.enableFrontToBack ? 3 : 2, gl.FLOAT, false, 0, 0); + gl.bindBuffer(gl.ARRAY_BUFFER, this.texcoordBuffers[this.curBuffer]); + gl.bufferSubData(gl.ARRAY_BUFFER, 0, this.texcoordData.subarray(0, this.texPtr)); + if (s && s.locATex >= 0 && s.name !== "") + gl.vertexAttribPointer(s.locATex, 2, gl.FLOAT, false, 0, 0); + } + var i, len, b; + for (i = 0, len = this.batchPtr; i < len; i++) + { + b = this.batch[i]; + switch (b.type) { + case 1: + b.doQuad(); + break; + case 2: + b.doSetTexture(); + break; + case 3: + b.doSetOpacity(); + break; + case 4: + b.doSetBlend(); + break; + case 5: + b.doUpdateModelView(); + break; + case 6: + b.doRenderToTexture(); + break; + case 7: + b.doClear(); + break; + case 8: + b.doPoints(); + break; + case 9: + b.doSetProgram(); + break; + case 10: + b.doSetProgramParameters(); + break; + case 11: + b.doSetTexture1(); + break; + case 12: + b.doSetColor(); + break; + case 13: + b.doSetDepthTestEnabled(); + break; + case 14: + b.doSetEarlyZPass(); + break; + } + } + this.batchPtr = 0; + this.vertexPtr = 0; + this.texPtr = 0; + this.pointPtr = 0; + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + this.isBatchInEarlyZPass = false; + this.curBuffer++; + if (this.curBuffer >= MULTI_BUFFERS) + this.curBuffer = 0; + }; + GLWrap_.prototype.setOpacity = function (op) + { + if (op === this.lastOpacity) + return; + if (this.isEarlyZPass) + return; // ignore + var b = this.pushBatch(); + b.type = BATCH_SETOPACITY; + b.opacityParam = op; + this.lastOpacity = op; + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + }; + GLWrap_.prototype.setTexture = function (tex) + { + if (tex === this.lastTexture0) + return; +; + var b = this.pushBatch(); + b.type = BATCH_SETTEXTURE; + b.texParam = tex; + this.lastTexture0 = tex; + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + }; + GLWrap_.prototype.setBlend = function (s, d) + { + if (s === this.lastSrcBlend && d === this.lastDestBlend) + return; + if (this.isEarlyZPass) + return; // ignore + var b = this.pushBatch(); + b.type = BATCH_SETBLEND; + b.startIndex = s; // recycle params to save memory + b.indexCount = d; + this.lastSrcBlend = s; + this.lastDestBlend = d; + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + }; + GLWrap_.prototype.isPremultipliedAlphaBlend = function () + { + return (this.lastSrcBlend === this.gl.ONE && this.lastDestBlend === this.gl.ONE_MINUS_SRC_ALPHA); + }; + GLWrap_.prototype.setAlphaBlend = function () + { + this.setBlend(this.gl.ONE, this.gl.ONE_MINUS_SRC_ALPHA); + }; + GLWrap_.prototype.setNoPremultiplyAlphaBlend = function () + { + this.setBlend(this.gl.SRC_ALPHA, this.gl.ONE_MINUS_SRC_ALPHA); + }; + var LAST_VERTEX = MAX_VERTICES * 2 - 8; + GLWrap_.prototype.quad = function(tlx, tly, trx, try_, brx, bry, blx, bly) + { + if (this.vertexPtr >= LAST_VERTEX) + this.endBatch(); + var v = this.vertexPtr; // vertex cursor + var t = this.texPtr; + var vd = this.vertexData; // vertex data array + var td = this.texcoordData; // texture coord data array + var currentZ = this.currentZ; + if (this.hasQuadBatchTop) + { + this.batch[this.batchPtr - 1].indexCount += 6; + } + else + { + var b = this.pushBatch(); + b.type = BATCH_QUAD; + b.startIndex = this.enableFrontToBack ? v : (v / 2) * 3; + b.indexCount = 6; + this.hasQuadBatchTop = true; + this.hasPointBatchTop = false; + } + if (this.enableFrontToBack) + { + vd[v++] = tlx; + vd[v++] = tly; + vd[v++] = currentZ; + vd[v++] = trx; + vd[v++] = try_; + vd[v++] = currentZ; + vd[v++] = brx; + vd[v++] = bry; + vd[v++] = currentZ; + vd[v++] = blx; + vd[v++] = bly; + vd[v++] = currentZ; + } + else + { + vd[v++] = tlx; + vd[v++] = tly; + vd[v++] = trx; + vd[v++] = try_; + vd[v++] = brx; + vd[v++] = bry; + vd[v++] = blx; + vd[v++] = bly; + } + td[t++] = 0; + td[t++] = 0; + td[t++] = 1; + td[t++] = 0; + td[t++] = 1; + td[t++] = 1; + td[t++] = 0; + td[t++] = 1; + this.vertexPtr = v; + this.texPtr = t; + }; + GLWrap_.prototype.quadTex = function(tlx, tly, trx, try_, brx, bry, blx, bly, rcTex) + { + if (this.vertexPtr >= LAST_VERTEX) + this.endBatch(); + var v = this.vertexPtr; // vertex cursor + var t = this.texPtr; + var vd = this.vertexData; // vertex data array + var td = this.texcoordData; // texture coord data array + var currentZ = this.currentZ; + if (this.hasQuadBatchTop) + { + this.batch[this.batchPtr - 1].indexCount += 6; + } + else + { + var b = this.pushBatch(); + b.type = BATCH_QUAD; + b.startIndex = this.enableFrontToBack ? v : (v / 2) * 3; + b.indexCount = 6; + this.hasQuadBatchTop = true; + this.hasPointBatchTop = false; + } + var rc_left = rcTex.left; + var rc_top = rcTex.top; + var rc_right = rcTex.right; + var rc_bottom = rcTex.bottom; + if (this.enableFrontToBack) + { + vd[v++] = tlx; + vd[v++] = tly; + vd[v++] = currentZ; + vd[v++] = trx; + vd[v++] = try_; + vd[v++] = currentZ; + vd[v++] = brx; + vd[v++] = bry; + vd[v++] = currentZ; + vd[v++] = blx; + vd[v++] = bly; + vd[v++] = currentZ; + } + else + { + vd[v++] = tlx; + vd[v++] = tly; + vd[v++] = trx; + vd[v++] = try_; + vd[v++] = brx; + vd[v++] = bry; + vd[v++] = blx; + vd[v++] = bly; + } + td[t++] = rc_left; + td[t++] = rc_top; + td[t++] = rc_right; + td[t++] = rc_top; + td[t++] = rc_right; + td[t++] = rc_bottom; + td[t++] = rc_left; + td[t++] = rc_bottom; + this.vertexPtr = v; + this.texPtr = t; + }; + GLWrap_.prototype.quadTexUV = function(tlx, tly, trx, try_, brx, bry, blx, bly, tlu, tlv, tru, trv, bru, brv, blu, blv) + { + if (this.vertexPtr >= LAST_VERTEX) + this.endBatch(); + var v = this.vertexPtr; // vertex cursor + var t = this.texPtr; + var vd = this.vertexData; // vertex data array + var td = this.texcoordData; // texture coord data array + var currentZ = this.currentZ; + if (this.hasQuadBatchTop) + { + this.batch[this.batchPtr - 1].indexCount += 6; + } + else + { + var b = this.pushBatch(); + b.type = BATCH_QUAD; + b.startIndex = this.enableFrontToBack ? v : (v / 2) * 3; + b.indexCount = 6; + this.hasQuadBatchTop = true; + this.hasPointBatchTop = false; + } + if (this.enableFrontToBack) + { + vd[v++] = tlx; + vd[v++] = tly; + vd[v++] = currentZ; + vd[v++] = trx; + vd[v++] = try_; + vd[v++] = currentZ; + vd[v++] = brx; + vd[v++] = bry; + vd[v++] = currentZ; + vd[v++] = blx; + vd[v++] = bly; + vd[v++] = currentZ; + } + else + { + vd[v++] = tlx; + vd[v++] = tly; + vd[v++] = trx; + vd[v++] = try_; + vd[v++] = brx; + vd[v++] = bry; + vd[v++] = blx; + vd[v++] = bly; + } + td[t++] = tlu; + td[t++] = tlv; + td[t++] = tru; + td[t++] = trv; + td[t++] = bru; + td[t++] = brv; + td[t++] = blu; + td[t++] = blv; + this.vertexPtr = v; + this.texPtr = t; + }; + GLWrap_.prototype.convexPoly = function(pts) + { + var pts_count = pts.length / 2; +; + var tris = pts_count - 2; // 3 points = 1 tri, 4 points = 2 tris, 5 points = 3 tris etc. + var last_tri = tris - 1; + var p0x = pts[0]; + var p0y = pts[1]; + var i, i2, p1x, p1y, p2x, p2y, p3x, p3y; + for (i = 0; i < tris; i += 2) // draw 2 triangles at a time + { + i2 = i * 2; + p1x = pts[i2 + 2]; + p1y = pts[i2 + 3]; + p2x = pts[i2 + 4]; + p2y = pts[i2 + 5]; + if (i === last_tri) + { + this.quad(p0x, p0y, p1x, p1y, p2x, p2y, p2x, p2y); + } + else + { + p3x = pts[i2 + 6]; + p3y = pts[i2 + 7]; + this.quad(p0x, p0y, p1x, p1y, p2x, p2y, p3x, p3y); + } + } + }; + var LAST_POINT = MAX_POINTS - 4; + GLWrap_.prototype.point = function(x_, y_, size_, opacity_) + { + if (this.pointPtr >= LAST_POINT) + this.endBatch(); + var p = this.pointPtr; // point cursor + var pd = this.pointData; // point data array + if (this.hasPointBatchTop) + { + this.batch[this.batchPtr - 1].indexCount++; + } + else + { + var b = this.pushBatch(); + b.type = BATCH_POINTS; + b.startIndex = p; + b.indexCount = 1; + this.hasPointBatchTop = true; + this.hasQuadBatchTop = false; + } + pd[p++] = x_; + pd[p++] = y_; + pd[p++] = size_; + pd[p++] = opacity_; + this.pointPtr = p; + }; + GLWrap_.prototype.switchProgram = function (progIndex) + { + if (this.lastProgram === progIndex) + return; // no change + var shaderProg = this.shaderPrograms[progIndex]; + if (!shaderProg) + { + if (this.lastProgram === 0) + return; // already on default shader + progIndex = 0; + shaderProg = this.shaderPrograms[0]; + } + var b = this.pushBatch(); + b.type = BATCH_SETPROGRAM; + b.startIndex = progIndex; + this.lastProgram = progIndex; + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + }; + GLWrap_.prototype.programUsesDest = function (progIndex) + { + var s = this.shaderPrograms[progIndex]; + return !!(s.locDestStart || s.locDestEnd); + }; + GLWrap_.prototype.programUsesCrossSampling = function (progIndex) + { + var s = this.shaderPrograms[progIndex]; + return !!(s.locDestStart || s.locDestEnd || s.crossSampling); + }; + GLWrap_.prototype.programPreservesOpaqueness = function (progIndex) + { + return this.shaderPrograms[progIndex].preservesOpaqueness; + }; + GLWrap_.prototype.programExtendsBox = function (progIndex) + { + var s = this.shaderPrograms[progIndex]; + return s.extendBoxHorizontal !== 0 || s.extendBoxVertical !== 0; + }; + GLWrap_.prototype.getProgramBoxExtendHorizontal = function (progIndex) + { + return this.shaderPrograms[progIndex].extendBoxHorizontal; + }; + GLWrap_.prototype.getProgramBoxExtendVertical = function (progIndex) + { + return this.shaderPrograms[progIndex].extendBoxVertical; + }; + GLWrap_.prototype.getProgramParameterType = function (progIndex, paramIndex) + { + return this.shaderPrograms[progIndex].parameters[paramIndex][2]; + }; + GLWrap_.prototype.programIsAnimated = function (progIndex) + { + return this.shaderPrograms[progIndex].animated; + }; + GLWrap_.prototype.setProgramParameters = function (backTex, pixelWidth, pixelHeight, destStartX, destStartY, destEndX, destEndY, layerScale, layerAngle, viewOriginLeft, viewOriginTop, scrollPosX, scrollPosY, seconds, params) + { + var i, len; + var s = this.shaderPrograms[this.lastProgram]; + var b, mat4param, shaderParams; + if (s.hasAnyOptionalUniforms || params.length) + { + b = this.pushBatch(); + b.type = BATCH_SETPROGRAMPARAMETERS; + if (b.mat4param) + mat4.set(this.matMV, b.mat4param); + else + b.mat4param = mat4.create(); + mat4param = b.mat4param; + mat4param[0] = pixelWidth; + mat4param[1] = pixelHeight; + mat4param[2] = destStartX; + mat4param[3] = destStartY; + mat4param[4] = destEndX; + mat4param[5] = destEndY; + mat4param[6] = layerScale; + mat4param[7] = layerAngle; + mat4param[8] = viewOriginLeft; + mat4param[9] = viewOriginTop; + mat4param[10] = scrollPosX; + mat4param[11] = scrollPosY; + mat4param[12] = seconds; + if (s.locSamplerBack) + { +; + b.texParam = backTex; + } + else + b.texParam = null; + if (params.length) + { + shaderParams = b.shaderParams; + shaderParams.length = params.length; + for (i = 0, len = params.length; i < len; i++) + shaderParams[i] = params[i]; + } + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + } + }; + GLWrap_.prototype.clear = function (r, g, b_, a) + { + var b = this.pushBatch(); + b.type = BATCH_CLEAR; + b.startIndex = 0; // clear all mode + if (!b.mat4param) + b.mat4param = mat4.create(); + b.mat4param[0] = r; + b.mat4param[1] = g; + b.mat4param[2] = b_; + b.mat4param[3] = a; + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + }; + GLWrap_.prototype.clearRect = function (x, y, w, h) + { + if (w < 0 || h < 0) + return; // invalid clear area + var b = this.pushBatch(); + b.type = BATCH_CLEAR; + b.startIndex = 1; // clear rect mode + if (!b.mat4param) + b.mat4param = mat4.create(); + b.mat4param[0] = x; + b.mat4param[1] = y; + b.mat4param[2] = w; + b.mat4param[3] = h; + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + }; + GLWrap_.prototype.clearDepth = function () + { + var b = this.pushBatch(); + b.type = BATCH_CLEAR; + b.startIndex = 2; // clear depth mode + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + }; + GLWrap_.prototype.setEarlyZPass = function (e) + { + if (!this.enableFrontToBack) + return; // no depth buffer in use + e = !!e; + if (this.isEarlyZPass === e) + return; // no change + var b = this.pushBatch(); + b.type = BATCH_SETEARLYZMODE; + b.startIndex = (e ? 1 : 0); + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + this.isEarlyZPass = e; + this.renderToTex = null; + if (this.isEarlyZPass) + { + this.switchProgram(2); // early Z program + } + else + { + this.switchProgram(0); // normal rendering + } + }; + GLWrap_.prototype.setDepthTestEnabled = function (e) + { + if (!this.enableFrontToBack) + return; // no depth buffer in use + var b = this.pushBatch(); + b.type = BATCH_SETDEPTHTEST; + b.startIndex = (e ? 1 : 0); + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + }; + GLWrap_.prototype.fullscreenQuad = function () + { + mat4.set(this.lastMV, tempMat4); + this.resetModelView(); + this.updateModelView(); + var halfw = this.width / 2; + var halfh = this.height / 2; + this.quad(-halfw, halfh, halfw, halfh, halfw, -halfh, -halfw, -halfh); + mat4.set(tempMat4, this.matMV); + this.updateModelView(); + }; + GLWrap_.prototype.setColorFillMode = function (r_, g_, b_, a_) + { + this.switchProgram(3); + var b = this.pushBatch(); + b.type = BATCH_SETCOLOR; + if (!b.mat4param) + b.mat4param = mat4.create(); + b.mat4param[0] = r_; + b.mat4param[1] = g_; + b.mat4param[2] = b_; + b.mat4param[3] = a_; + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + }; + GLWrap_.prototype.setTextureFillMode = function () + { +; + this.switchProgram(0); + }; + GLWrap_.prototype.restoreEarlyZMode = function () + { +; + this.switchProgram(2); + }; + GLWrap_.prototype.present = function () + { + this.endBatch(); + this.gl.flush(); + /* + if (debugBatch) + { +; + debugBatch = false; + } + */ + }; + function nextHighestPowerOfTwo(x) { + --x; + for (var i = 1; i < 32; i <<= 1) { + x = x | x >> i; + } + return x + 1; + } + var all_textures = []; + var textures_by_src = {}; + GLWrap_.prototype.contextLost = function () + { + cr.clearArray(all_textures); + textures_by_src = {}; + }; + var BF_RGBA8 = 0; + var BF_RGB8 = 1; + var BF_RGBA4 = 2; + var BF_RGB5_A1 = 3; + var BF_RGB565 = 4; + GLWrap_.prototype.loadTexture = function (img, tiling, linearsampling, pixelformat, tiletype, nomip) + { + tiling = !!tiling; + linearsampling = !!linearsampling; + var tex_key = img.src + "," + tiling + "," + linearsampling + (tiling ? ("," + tiletype) : ""); + var webGL_texture = null; + if (typeof img.src !== "undefined" && textures_by_src.hasOwnProperty(tex_key)) + { + webGL_texture = textures_by_src[tex_key]; + webGL_texture.c2refcount++; + return webGL_texture; + } + this.endBatch(); +; + var gl = this.gl; + var isPOT = (cr.isPOT(img.width) && cr.isPOT(img.height)); + webGL_texture = gl.createTexture(); + gl.bindTexture(gl.TEXTURE_2D, webGL_texture); + gl.pixelStorei(gl["UNPACK_PREMULTIPLY_ALPHA_WEBGL"], true); + var internalformat = gl.RGBA; + var format = gl.RGBA; + var type = gl.UNSIGNED_BYTE; + if (pixelformat && !this.isIE) + { + switch (pixelformat) { + case BF_RGB8: + internalformat = gl.RGB; + format = gl.RGB; + break; + case BF_RGBA4: + type = gl.UNSIGNED_SHORT_4_4_4_4; + break; + case BF_RGB5_A1: + type = gl.UNSIGNED_SHORT_5_5_5_1; + break; + case BF_RGB565: + internalformat = gl.RGB; + format = gl.RGB; + type = gl.UNSIGNED_SHORT_5_6_5; + break; + } + } + if (this.version === 1 && !isPOT && tiling) + { + var canvas = document.createElement("canvas"); + canvas.width = cr.nextHighestPowerOfTwo(img.width); + canvas.height = cr.nextHighestPowerOfTwo(img.height); + var ctx = canvas.getContext("2d"); + if (typeof ctx["imageSmoothingEnabled"] !== "undefined") + { + ctx["imageSmoothingEnabled"] = linearsampling; + } + else + { + ctx["webkitImageSmoothingEnabled"] = linearsampling; + ctx["mozImageSmoothingEnabled"] = linearsampling; + ctx["msImageSmoothingEnabled"] = linearsampling; + } + ctx.drawImage(img, + 0, 0, img.width, img.height, + 0, 0, canvas.width, canvas.height); + gl.texImage2D(gl.TEXTURE_2D, 0, internalformat, format, type, canvas); + } + else + gl.texImage2D(gl.TEXTURE_2D, 0, internalformat, format, type, img); + if (tiling) + { + if (tiletype === "repeat-x") + { + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.REPEAT); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); + } + else if (tiletype === "repeat-y") + { + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.REPEAT); + } + else + { + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.REPEAT); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.REPEAT); + } + } + else + { + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); + } + if (linearsampling) + { + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR); + if ((isPOT || this.version >= 2) && this.enable_mipmaps && !nomip) + { + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_LINEAR); + gl.generateMipmap(gl.TEXTURE_2D); + } + else + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR); + } + else + { + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST); + } + gl.bindTexture(gl.TEXTURE_2D, null); + this.lastTexture0 = null; + webGL_texture.c2width = img.width; + webGL_texture.c2height = img.height; + webGL_texture.c2refcount = 1; + webGL_texture.c2texkey = tex_key; + all_textures.push(webGL_texture); + textures_by_src[tex_key] = webGL_texture; + return webGL_texture; + }; + GLWrap_.prototype.createEmptyTexture = function (w, h, linearsampling, _16bit, tiling) + { + this.endBatch(); + var gl = this.gl; + if (this.isIE) + _16bit = false; + var webGL_texture = gl.createTexture(); + gl.bindTexture(gl.TEXTURE_2D, webGL_texture); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, w, h, 0, gl.RGBA, _16bit ? gl.UNSIGNED_SHORT_4_4_4_4 : gl.UNSIGNED_BYTE, null); + if (tiling) + { + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.REPEAT); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.REPEAT); + } + else + { + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); + } + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, linearsampling ? gl.LINEAR : gl.NEAREST); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, linearsampling ? gl.LINEAR : gl.NEAREST); + gl.bindTexture(gl.TEXTURE_2D, null); + this.lastTexture0 = null; + webGL_texture.c2width = w; + webGL_texture.c2height = h; + all_textures.push(webGL_texture); + return webGL_texture; + }; + GLWrap_.prototype.videoToTexture = function (video_, texture_, _16bit) + { + this.endBatch(); + var gl = this.gl; + if (this.isIE) + _16bit = false; + gl.bindTexture(gl.TEXTURE_2D, texture_); + gl.pixelStorei(gl["UNPACK_PREMULTIPLY_ALPHA_WEBGL"], true); + try { + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, _16bit ? gl.UNSIGNED_SHORT_4_4_4_4 : gl.UNSIGNED_BYTE, video_); + } + catch (e) + { + if (console && console.error) + console.error("Error updating WebGL texture: ", e); + } + gl.bindTexture(gl.TEXTURE_2D, null); + this.lastTexture0 = null; + }; + GLWrap_.prototype.deleteTexture = function (tex) + { + if (!tex) + return; + if (typeof tex.c2refcount !== "undefined" && tex.c2refcount > 1) + { + tex.c2refcount--; + return; + } + this.endBatch(); + if (tex === this.lastTexture0) + { + this.gl.bindTexture(this.gl.TEXTURE_2D, null); + this.lastTexture0 = null; + } + if (tex === this.lastTexture1) + { + this.gl.activeTexture(this.gl.TEXTURE1); + this.gl.bindTexture(this.gl.TEXTURE_2D, null); + this.gl.activeTexture(this.gl.TEXTURE0); + this.lastTexture1 = null; + } + cr.arrayFindRemove(all_textures, tex); + if (typeof tex.c2texkey !== "undefined") + delete textures_by_src[tex.c2texkey]; + this.gl.deleteTexture(tex); + }; + GLWrap_.prototype.estimateVRAM = function () + { + var total = this.width * this.height * 4 * 2; + var i, len, t; + for (i = 0, len = all_textures.length; i < len; i++) + { + t = all_textures[i]; + total += (t.c2width * t.c2height * 4); + } + return total; + }; + GLWrap_.prototype.textureCount = function () + { + return all_textures.length; + }; + GLWrap_.prototype.setRenderingToTexture = function (tex) + { + if (tex === this.renderToTex) + return; +; + var b = this.pushBatch(); + b.type = BATCH_RENDERTOTEXTURE; + b.texParam = tex; + this.renderToTex = tex; + this.hasQuadBatchTop = false; + this.hasPointBatchTop = false; + }; + cr.GLWrap = GLWrap_; +}()); +; +(function() +{ + var raf = window["requestAnimationFrame"] || + window["mozRequestAnimationFrame"] || + window["webkitRequestAnimationFrame"] || + window["msRequestAnimationFrame"] || + window["oRequestAnimationFrame"]; + function Runtime(canvas) + { + if (!canvas || (!canvas.getContext && !canvas["dc"])) + return; + if (canvas["c2runtime"]) + return; + else + canvas["c2runtime"] = this; + var self = this; + this.isCrosswalk = /crosswalk/i.test(navigator.userAgent) || /xwalk/i.test(navigator.userAgent) || !!(typeof window["c2isCrosswalk"] !== "undefined" && window["c2isCrosswalk"]); + this.isCordova = this.isCrosswalk || (typeof window["device"] !== "undefined" && (typeof window["device"]["cordova"] !== "undefined" || typeof window["device"]["phonegap"] !== "undefined")) || (typeof window["c2iscordova"] !== "undefined" && window["c2iscordova"]); + this.isPhoneGap = this.isCordova; + this.isDirectCanvas = !!canvas["dc"]; + this.isAppMobi = (typeof window["AppMobi"] !== "undefined" || this.isDirectCanvas); + this.isCocoonJs = !!window["c2cocoonjs"]; + this.isEjecta = !!window["c2ejecta"]; + if (this.isCocoonJs) + { + CocoonJS["App"]["onSuspended"].addEventListener(function() { + self["setSuspended"](true); + }); + CocoonJS["App"]["onActivated"].addEventListener(function () { + self["setSuspended"](false); + }); + } + if (this.isEjecta) + { + document.addEventListener("pagehide", function() { + self["setSuspended"](true); + }); + document.addEventListener("pageshow", function() { + self["setSuspended"](false); + }); + document.addEventListener("resize", function () { + self["setSize"](window.innerWidth, window.innerHeight); + }); + } + this.isDomFree = (this.isDirectCanvas || this.isCocoonJs || this.isEjecta); + this.isMicrosoftEdge = /edge\//i.test(navigator.userAgent); + this.isIE = (/msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent) || /iemobile/i.test(navigator.userAgent)) && !this.isMicrosoftEdge; + this.isTizen = /tizen/i.test(navigator.userAgent); + this.isAndroid = /android/i.test(navigator.userAgent) && !this.isTizen && !this.isIE && !this.isMicrosoftEdge; // IE mobile and Tizen masquerade as Android + this.isiPhone = (/iphone/i.test(navigator.userAgent) || /ipod/i.test(navigator.userAgent)) && !this.isIE && !this.isMicrosoftEdge; // treat ipod as an iphone; IE mobile masquerades as iPhone + this.isiPad = /ipad/i.test(navigator.userAgent); + this.isiOS = this.isiPhone || this.isiPad || this.isEjecta; + this.isiPhoneiOS6 = (this.isiPhone && /os\s6/i.test(navigator.userAgent)); + this.isChrome = (/chrome/i.test(navigator.userAgent) || /chromium/i.test(navigator.userAgent)) && !this.isIE && !this.isMicrosoftEdge; // note true on Chromium-based webview on Android 4.4+; IE 'Edge' mode also pretends to be Chrome + this.isAmazonWebApp = /amazonwebappplatform/i.test(navigator.userAgent); + this.isFirefox = /firefox/i.test(navigator.userAgent); + this.isSafari = /safari/i.test(navigator.userAgent) && !this.isChrome && !this.isIE && !this.isMicrosoftEdge; // Chrome and IE Mobile masquerade as Safari + this.isWindows = /windows/i.test(navigator.userAgent); + this.isNWjs = (typeof window["c2nodewebkit"] !== "undefined" || typeof window["c2nwjs"] !== "undefined" || /nodewebkit/i.test(navigator.userAgent) || /nwjs/i.test(navigator.userAgent)); + this.isNodeWebkit = this.isNWjs; // old name for backwards compat + this.isArcade = (typeof window["is_scirra_arcade"] !== "undefined"); + this.isWindows8App = !!(typeof window["c2isWindows8"] !== "undefined" && window["c2isWindows8"]); + this.isWindows8Capable = !!(typeof window["c2isWindows8Capable"] !== "undefined" && window["c2isWindows8Capable"]); + this.isWindowsPhone8 = !!(typeof window["c2isWindowsPhone8"] !== "undefined" && window["c2isWindowsPhone8"]); + this.isWindowsPhone81 = !!(typeof window["c2isWindowsPhone81"] !== "undefined" && window["c2isWindowsPhone81"]); + this.isWindows10 = !!window["cr_windows10"]; + this.isWinJS = (this.isWindows8App || this.isWindows8Capable || this.isWindowsPhone81 || this.isWindows10); // note not WP8.0 + this.isBlackberry10 = !!(typeof window["c2isBlackberry10"] !== "undefined" && window["c2isBlackberry10"]); + this.isAndroidStockBrowser = (this.isAndroid && !this.isChrome && !this.isCrosswalk && !this.isFirefox && !this.isAmazonWebApp && !this.isDomFree); + this.devicePixelRatio = 1; + this.isMobile = (this.isCordova || this.isCrosswalk || this.isAppMobi || this.isCocoonJs || this.isAndroid || this.isiOS || this.isWindowsPhone8 || this.isWindowsPhone81 || this.isBlackberry10 || this.isTizen || this.isEjecta); + if (!this.isMobile) + { + this.isMobile = /(blackberry|bb10|playbook|palm|symbian|nokia|windows\s+ce|phone|mobile|tablet|kindle|silk)/i.test(navigator.userAgent); + } + this.isWKWebView = !!(this.isiOS && this.isCordova && window["webkit"]); + if (typeof cr_is_preview !== "undefined" && !this.isNWjs && (window.location.search === "?nw" || /nodewebkit/i.test(navigator.userAgent) || /nwjs/i.test(navigator.userAgent))) + { + this.isNWjs = true; + } + this.isDebug = (typeof cr_is_preview !== "undefined" && window.location.search.indexOf("debug") > -1); + this.canvas = canvas; + this.canvasdiv = document.getElementById("c2canvasdiv"); + this.gl = null; + this.glwrap = null; + this.glUnmaskedRenderer = "(unavailable)"; + this.enableFrontToBack = false; + this.earlyz_index = 0; + this.ctx = null; + this.firstInFullscreen = false; + this.oldWidth = 0; // for restoring non-fullscreen canvas after fullscreen + this.oldHeight = 0; + this.canvas.oncontextmenu = function (e) { if (e.preventDefault) e.preventDefault(); return false; }; + this.canvas.onselectstart = function (e) { if (e.preventDefault) e.preventDefault(); return false; }; + this.canvas.ontouchstart = function (e) { if(e.preventDefault) e.preventDefault(); return false; }; + if (this.isDirectCanvas) + window["c2runtime"] = this; + if (this.isNWjs) + { + window["ondragover"] = function(e) { e.preventDefault(); return false; }; + window["ondrop"] = function(e) { e.preventDefault(); return false; }; + if (window["nwgui"] && window["nwgui"]["App"]["clearCache"]) + window["nwgui"]["App"]["clearCache"](); + } + if (this.isAndroidStockBrowser && typeof jQuery !== "undefined") + { + jQuery("canvas").parents("*").css("overflow", "visible"); + } + this.width = canvas.width; + this.height = canvas.height; + this.draw_width = this.width; + this.draw_height = this.height; + this.cssWidth = this.width; + this.cssHeight = this.height; + this.lastWindowWidth = window.innerWidth; + this.lastWindowHeight = window.innerHeight; + this.forceCanvasAlpha = false; // note: now unused, left for backwards compat since plugins could modify it + this.redraw = true; + this.isSuspended = false; + if (!Date.now) { + Date.now = function now() { + return +new Date(); + }; + } + this.plugins = []; + this.types = {}; + this.types_by_index = []; + this.behaviors = []; + this.layouts = {}; + this.layouts_by_index = []; + this.eventsheets = {}; + this.eventsheets_by_index = []; + this.wait_for_textures = []; // for blocking until textures loaded + this.triggers_to_postinit = []; + this.all_global_vars = []; + this.all_local_vars = []; + this.solidBehavior = null; + this.jumpthruBehavior = null; + this.shadowcasterBehavior = null; + this.deathRow = {}; + this.hasPendingInstances = false; // true if anything exists in create row or death row + this.isInClearDeathRow = false; + this.isInOnDestroy = 0; // needs to support recursion so increments and decrements and is true if > 0 + this.isRunningEvents = false; + this.isEndingLayout = false; + this.createRow = []; + this.isLoadingState = false; + this.saveToSlot = ""; + this.loadFromSlot = ""; + this.loadFromJson = null; // set to string when there is something to try to load + this.lastSaveJson = ""; + this.signalledContinuousPreview = false; + this.suspendDrawing = false; // for hiding display until continuous preview loads + this.fireOnCreateAfterLoad = []; // for delaying "On create" triggers until loading complete + this.dt = 0; + this.dt1 = 0; + this.minimumFramerate = 30; + this.logictime = 0; // used to calculate CPUUtilisation + this.cpuutilisation = 0; + this.timescale = 1.0; + this.kahanTime = new cr.KahanAdder(); + this.wallTime = new cr.KahanAdder(); + this.last_tick_time = 0; + this.fps = 0; + this.last_fps_time = 0; + this.tickcount = 0; + this.tickcount_nosave = 0; // same as tickcount but never saved/loaded + this.execcount = 0; + this.framecount = 0; // for fps + this.objectcount = 0; + this.changelayout = null; + this.destroycallbacks = []; + this.event_stack = []; + this.event_stack_index = -1; + this.localvar_stack = [[]]; + this.localvar_stack_index = 0; + this.trigger_depth = 0; // recursion depth for triggers + this.pushEventStack(null); + this.loop_stack = []; + this.loop_stack_index = -1; + this.next_uid = 0; + this.next_puid = 0; // permanent unique ids + this.layout_first_tick = true; + this.family_count = 0; + this.suspend_events = []; + this.raf_id = -1; + this.timeout_id = -1; + this.isloading = true; + this.loadingprogress = 0; + this.isNodeFullscreen = false; + this.stackLocalCount = 0; // number of stack-based local vars for recursion + this.audioInstance = null; + this.had_a_click = false; + this.isInUserInputEvent = false; + this.objects_to_pretick = new cr.ObjectSet(); + this.objects_to_tick = new cr.ObjectSet(); + this.objects_to_tick2 = new cr.ObjectSet(); + this.registered_collisions = []; + this.temp_poly = new cr.CollisionPoly([]); + this.temp_poly2 = new cr.CollisionPoly([]); + this.allGroups = []; // array of all event groups + this.groups_by_name = {}; + this.cndsBySid = {}; + this.actsBySid = {}; + this.varsBySid = {}; + this.blocksBySid = {}; + this.running_layout = null; // currently running layout + this.layer_canvas = null; // for layers "render-to-texture" + this.layer_ctx = null; + this.layer_tex = null; + this.layout_tex = null; + this.layout_canvas = null; + this.layout_ctx = null; + this.is_WebGL_context_lost = false; + this.uses_background_blending = false; // if any shader uses background blending, so entire layout renders to texture + this.fx_tex = [null, null]; + this.fullscreen_scaling = 0; + this.files_subfolder = ""; // path with project files + this.objectsByUid = {}; // maps every in-use UID (as a string) to its instance + this.loaderlogos = null; + this.snapshotCanvas = null; + this.snapshotData = ""; + this.objectRefTable = []; + this.requestProjectData(); + }; + Runtime.prototype.requestProjectData = function () + { + var self = this; + if (this.isWKWebView) + { + this.fetchLocalFileViaCordovaAsText("data.js", function (str) + { + self.loadProject(JSON.parse(str)); + }, function (err) + { + alert("Error fetching data.js"); + }); + return; + } + var xhr; + if (this.isWindowsPhone8) + xhr = new ActiveXObject("Microsoft.XMLHTTP"); + else + xhr = new XMLHttpRequest(); + var datajs_filename = "data.js"; + if (this.isWindows8App || this.isWindowsPhone8 || this.isWindowsPhone81 || this.isWindows10) + datajs_filename = "data.json"; + xhr.open("GET", datajs_filename, true); + var supportsJsonResponse = false; + if (!this.isDomFree && ("response" in xhr) && ("responseType" in xhr)) + { + try { + xhr["responseType"] = "json"; + supportsJsonResponse = (xhr["responseType"] === "json"); + } + catch (e) { + supportsJsonResponse = false; + } + } + if (!supportsJsonResponse && ("responseType" in xhr)) + { + try { + xhr["responseType"] = "text"; + } + catch (e) {} + } + if ("overrideMimeType" in xhr) + { + try { + xhr["overrideMimeType"]("application/json; charset=utf-8"); + } + catch (e) {} + } + if (this.isWindowsPhone8) + { + xhr.onreadystatechange = function () + { + if (xhr.readyState !== 4) + return; + self.loadProject(JSON.parse(xhr["responseText"])); + }; + } + else + { + xhr.onload = function () + { + if (supportsJsonResponse) + { + self.loadProject(xhr["response"]); // already parsed by browser + } + else + { + if (self.isEjecta) + { + var str = xhr["responseText"]; + str = str.substr(str.indexOf("{")); // trim any BOM + self.loadProject(JSON.parse(str)); + } + else + { + self.loadProject(JSON.parse(xhr["responseText"])); // forced to sync parse JSON + } + } + }; + xhr.onerror = function (e) + { + cr.logerror("Error requesting " + datajs_filename + ":"); + cr.logerror(e); + }; + } + xhr.send(); + }; + Runtime.prototype.initRendererAndLoader = function () + { + var self = this; + var i, len, j, lenj, k, lenk, t, s, l, y; + this.isRetina = ((!this.isDomFree || this.isEjecta || this.isCordova) && this.useHighDpi && !this.isAndroidStockBrowser); + if (this.fullscreen_mode === 0 && this.isiOS) + this.isRetina = false; + this.devicePixelRatio = (this.isRetina ? (window["devicePixelRatio"] || window["webkitDevicePixelRatio"] || window["mozDevicePixelRatio"] || window["msDevicePixelRatio"] || 1) : 1); + if (typeof window["StatusBar"] === "object") + window["StatusBar"]["hide"](); + this.ClearDeathRow(); + var attribs; + if (this.fullscreen_mode > 0) + this["setSize"](window.innerWidth, window.innerHeight, true); + this.canvas.addEventListener("webglcontextlost", function (ev) { + ev.preventDefault(); + self.onContextLost(); + cr.logexport("[Construct 2] WebGL context lost"); + window["cr_setSuspended"](true); // stop rendering + }, false); + this.canvas.addEventListener("webglcontextrestored", function (ev) { + self.glwrap.initState(); + self.glwrap.setSize(self.glwrap.width, self.glwrap.height, true); + self.layer_tex = null; + self.layout_tex = null; + self.fx_tex[0] = null; + self.fx_tex[1] = null; + self.onContextRestored(); + self.redraw = true; + cr.logexport("[Construct 2] WebGL context restored"); + window["cr_setSuspended"](false); // resume rendering + }, false); + try { + if (this.enableWebGL && (this.isCocoonJs || this.isEjecta || !this.isDomFree)) + { + attribs = { + "alpha": true, + "depth": false, + "antialias": false, + "powerPreference": "high-performance", + "failIfMajorPerformanceCaveat": true + }; + if (!this.isAndroid) + this.gl = this.canvas.getContext("webgl2", attribs); + if (!this.gl) + { + this.gl = (this.canvas.getContext("webgl", attribs) || + this.canvas.getContext("experimental-webgl", attribs)); + } + } + } + catch (e) { + } + if (this.gl) + { + var isWebGL2 = (this.gl.getParameter(this.gl.VERSION).indexOf("WebGL 2") === 0); + var debug_ext = this.gl.getExtension("WEBGL_debug_renderer_info"); + if (debug_ext) + { + var unmasked_vendor = this.gl.getParameter(debug_ext.UNMASKED_VENDOR_WEBGL); + var unmasked_renderer = this.gl.getParameter(debug_ext.UNMASKED_RENDERER_WEBGL); + this.glUnmaskedRenderer = unmasked_renderer + " [" + unmasked_vendor + "]"; + } + if (this.enableFrontToBack) + this.glUnmaskedRenderer += " [front-to-back enabled]"; +; + if (!this.isDomFree) + { + this.overlay_canvas = document.createElement("canvas"); + jQuery(this.overlay_canvas).appendTo(this.canvas.parentNode); + this.overlay_canvas.oncontextmenu = function (e) { return false; }; + this.overlay_canvas.onselectstart = function (e) { return false; }; + this.overlay_canvas.width = Math.round(this.cssWidth * this.devicePixelRatio); + this.overlay_canvas.height = Math.round(this.cssHeight * this.devicePixelRatio); + jQuery(this.overlay_canvas).css({"width": this.cssWidth + "px", + "height": this.cssHeight + "px"}); + this.positionOverlayCanvas(); + this.overlay_ctx = this.overlay_canvas.getContext("2d"); + } + this.glwrap = new cr.GLWrap(this.gl, this.isMobile, this.enableFrontToBack); + this.glwrap.setSize(this.canvas.width, this.canvas.height); + this.glwrap.enable_mipmaps = (this.downscalingQuality !== 0); + this.ctx = null; + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + t = this.types_by_index[i]; + for (j = 0, lenj = t.effect_types.length; j < lenj; j++) + { + s = t.effect_types[j]; + s.shaderindex = this.glwrap.getShaderIndex(s.id); + s.preservesOpaqueness = this.glwrap.programPreservesOpaqueness(s.shaderindex); + this.uses_background_blending = this.uses_background_blending || this.glwrap.programUsesDest(s.shaderindex); + } + } + for (i = 0, len = this.layouts_by_index.length; i < len; i++) + { + l = this.layouts_by_index[i]; + for (j = 0, lenj = l.effect_types.length; j < lenj; j++) + { + s = l.effect_types[j]; + s.shaderindex = this.glwrap.getShaderIndex(s.id); + s.preservesOpaqueness = this.glwrap.programPreservesOpaqueness(s.shaderindex); + } + l.updateActiveEffects(); // update preserves opaqueness flag + for (j = 0, lenj = l.layers.length; j < lenj; j++) + { + y = l.layers[j]; + for (k = 0, lenk = y.effect_types.length; k < lenk; k++) + { + s = y.effect_types[k]; + s.shaderindex = this.glwrap.getShaderIndex(s.id); + s.preservesOpaqueness = this.glwrap.programPreservesOpaqueness(s.shaderindex); + this.uses_background_blending = this.uses_background_blending || this.glwrap.programUsesDest(s.shaderindex); + } + y.updateActiveEffects(); // update preserves opaqueness flag + } + } + } + else + { + if (this.fullscreen_mode > 0 && this.isDirectCanvas) + { +; + this.canvas = null; + document.oncontextmenu = function (e) { return false; }; + document.onselectstart = function (e) { return false; }; + this.ctx = AppMobi["canvas"]["getContext"]("2d"); + try { + this.ctx["samplingMode"] = this.linearSampling ? "smooth" : "sharp"; + this.ctx["globalScale"] = 1; + this.ctx["HTML5CompatibilityMode"] = true; + this.ctx["imageSmoothingEnabled"] = this.linearSampling; + } catch(e){} + if (this.width !== 0 && this.height !== 0) + { + this.ctx.width = this.width; + this.ctx.height = this.height; + } + } + if (!this.ctx) + { +; + if (this.isCocoonJs) + { + attribs = { + "antialias": !!this.linearSampling, + "alpha": true + }; + this.ctx = this.canvas.getContext("2d", attribs); + } + else + { + attribs = { + "alpha": true + }; + this.ctx = this.canvas.getContext("2d", attribs); + } + this.setCtxImageSmoothingEnabled(this.ctx, this.linearSampling); + } + this.overlay_canvas = null; + this.overlay_ctx = null; + } + this.tickFunc = function (timestamp) { self.tick(false, timestamp); }; + if (window != window.top && !this.isDomFree && !this.isWinJS && !this.isWindowsPhone8) + { + document.addEventListener("mousedown", function () { + window.focus(); + }, true); + document.addEventListener("touchstart", function () { + window.focus(); + }, true); + } + if (typeof cr_is_preview !== "undefined") + { + if (this.isCocoonJs) + console.log("[Construct 2] In preview-over-wifi via CocoonJS mode"); + if (window.location.search.indexOf("continuous") > -1) + { + cr.logexport("Reloading for continuous preview"); + this.loadFromSlot = "__c2_continuouspreview"; + this.suspendDrawing = true; + } + if (this.pauseOnBlur && !this.isMobile) + { + jQuery(window).focus(function () + { + self["setSuspended"](false); + }); + jQuery(window).blur(function () + { + var parent = window.parent; + if (!parent || !parent.document.hasFocus()) + self["setSuspended"](true); + }); + } + } + window.addEventListener("blur", function () { + self.onWindowBlur(); + }); + if (!this.isDomFree) + { + var unfocusFormControlFunc = function (e) { + if (cr.isCanvasInputEvent(e) && document["activeElement"] && document["activeElement"] !== document.getElementsByTagName("body")[0] && document["activeElement"].blur) + { + try { + document["activeElement"].blur(); + } + catch (e) {} + } + } + if (typeof PointerEvent !== "undefined") + { + document.addEventListener("pointerdown", unfocusFormControlFunc); + } + else if (window.navigator["msPointerEnabled"]) + { + document.addEventListener("MSPointerDown", unfocusFormControlFunc); + } + else + { + document.addEventListener("touchstart", unfocusFormControlFunc); + } + document.addEventListener("mousedown", unfocusFormControlFunc); + } + if (this.fullscreen_mode === 0 && this.isRetina && this.devicePixelRatio > 1) + { + this["setSize"](this.original_width, this.original_height, true); + } + this.tryLockOrientation(); + this.getready(); // determine things to preload + this.go(); // run loading screen + this.extra = {}; + cr.seal(this); + }; + var webkitRepaintFlag = false; + Runtime.prototype["setSize"] = function (w, h, force) + { + var offx = 0, offy = 0; + var neww = 0, newh = 0, intscale = 0; + if (this.lastWindowWidth === w && this.lastWindowHeight === h && !force) + return; + this.lastWindowWidth = w; + this.lastWindowHeight = h; + var mode = this.fullscreen_mode; + var orig_aspect, cur_aspect; + var isfullscreen = (document["mozFullScreen"] || document["webkitIsFullScreen"] || !!document["msFullscreenElement"] || document["fullScreen"] || this.isNodeFullscreen) && !this.isCordova; + if (!isfullscreen && this.fullscreen_mode === 0 && !force) + return; // ignore size events when not fullscreen and not using a fullscreen-in-browser mode + if (isfullscreen) + mode = this.fullscreen_scaling; + var dpr = this.devicePixelRatio; + if (mode >= 4) + { + if (mode === 5 && dpr !== 1) // integer scaling + { + w += 1; + h += 1; + } + orig_aspect = this.original_width / this.original_height; + cur_aspect = w / h; + if (cur_aspect > orig_aspect) + { + neww = h * orig_aspect; + if (mode === 5) // integer scaling + { + intscale = (neww * dpr) / this.original_width; + if (intscale > 1) + intscale = Math.floor(intscale); + else if (intscale < 1) + intscale = 1 / Math.ceil(1 / intscale); + neww = this.original_width * intscale / dpr; + newh = this.original_height * intscale / dpr; + offx = (w - neww) / 2; + offy = (h - newh) / 2; + w = neww; + h = newh; + } + else + { + offx = (w - neww) / 2; + w = neww; + } + } + else + { + newh = w / orig_aspect; + if (mode === 5) // integer scaling + { + intscale = (newh * dpr) / this.original_height; + if (intscale > 1) + intscale = Math.floor(intscale); + else if (intscale < 1) + intscale = 1 / Math.ceil(1 / intscale); + neww = this.original_width * intscale / dpr; + newh = this.original_height * intscale / dpr; + offx = (w - neww) / 2; + offy = (h - newh) / 2; + w = neww; + h = newh; + } + else + { + offy = (h - newh) / 2; + h = newh; + } + } + } + else if (isfullscreen && mode === 0) + { + offx = Math.floor((w - this.original_width) / 2); + offy = Math.floor((h - this.original_height) / 2); + w = this.original_width; + h = this.original_height; + } + if (mode < 2) + this.aspect_scale = dpr; + this.cssWidth = Math.round(w); + this.cssHeight = Math.round(h); + this.width = Math.round(w * dpr); + this.height = Math.round(h * dpr); + this.redraw = true; + if (this.wantFullscreenScalingQuality) + { + this.draw_width = this.width; + this.draw_height = this.height; + this.fullscreenScalingQuality = true; + } + else + { + if ((this.width < this.original_width && this.height < this.original_height) || mode === 1) + { + this.draw_width = this.width; + this.draw_height = this.height; + this.fullscreenScalingQuality = true; + } + else + { + this.draw_width = this.original_width; + this.draw_height = this.original_height; + this.fullscreenScalingQuality = false; + /*var orig_aspect = this.original_width / this.original_height; + var cur_aspect = this.width / this.height; + if ((this.fullscreen_mode !== 2 && cur_aspect > orig_aspect) || (this.fullscreen_mode === 2 && cur_aspect < orig_aspect)) + this.aspect_scale = this.height / this.original_height; + else + this.aspect_scale = this.width / this.original_width;*/ + if (mode === 2) // scale inner + { + orig_aspect = this.original_width / this.original_height; + cur_aspect = this.lastWindowWidth / this.lastWindowHeight; + if (cur_aspect < orig_aspect) + this.draw_width = this.draw_height * cur_aspect; + else if (cur_aspect > orig_aspect) + this.draw_height = this.draw_width / cur_aspect; + } + else if (mode === 3) + { + orig_aspect = this.original_width / this.original_height; + cur_aspect = this.lastWindowWidth / this.lastWindowHeight; + if (cur_aspect > orig_aspect) + this.draw_width = this.draw_height * cur_aspect; + else if (cur_aspect < orig_aspect) + this.draw_height = this.draw_width / cur_aspect; + } + } + } + if (this.canvasdiv && !this.isDomFree) + { + jQuery(this.canvasdiv).css({"width": Math.round(w) + "px", + "height": Math.round(h) + "px", + "margin-left": Math.floor(offx) + "px", + "margin-top": Math.floor(offy) + "px"}); + if (typeof cr_is_preview !== "undefined") + { + jQuery("#borderwrap").css({"width": Math.round(w) + "px", + "height": Math.round(h) + "px"}); + } + } + if (this.canvas) + { + this.canvas.width = Math.round(w * dpr); + this.canvas.height = Math.round(h * dpr); + if (this.isEjecta) + { + this.canvas.style.left = Math.floor(offx) + "px"; + this.canvas.style.top = Math.floor(offy) + "px"; + this.canvas.style.width = Math.round(w) + "px"; + this.canvas.style.height = Math.round(h) + "px"; + } + else if (this.isRetina && !this.isDomFree) + { + this.canvas.style.width = Math.round(w) + "px"; + this.canvas.style.height = Math.round(h) + "px"; + } + } + if (this.overlay_canvas) + { + this.overlay_canvas.width = Math.round(w * dpr); + this.overlay_canvas.height = Math.round(h * dpr); + this.overlay_canvas.style.width = this.cssWidth + "px"; + this.overlay_canvas.style.height = this.cssHeight + "px"; + } + if (this.glwrap) + { + this.glwrap.setSize(Math.round(w * dpr), Math.round(h * dpr)); + } + if (this.isDirectCanvas && this.ctx) + { + this.ctx.width = Math.round(w); + this.ctx.height = Math.round(h); + } + if (this.ctx) + { + this.setCtxImageSmoothingEnabled(this.ctx, this.linearSampling); + } + this.tryLockOrientation(); + if (this.isiPhone && !this.isCordova) + { + window.scrollTo(0, 0); + } + }; + Runtime.prototype.tryLockOrientation = function () + { + if (!this.autoLockOrientation || this.orientations === 0) + return; + var orientation = "portrait"; + if (this.orientations === 2) + orientation = "landscape"; + try { + if (screen["orientation"] && screen["orientation"]["lock"]) + screen["orientation"]["lock"](orientation).catch(function(){}); + else if (screen["lockOrientation"]) + screen["lockOrientation"](orientation); + else if (screen["webkitLockOrientation"]) + screen["webkitLockOrientation"](orientation); + else if (screen["mozLockOrientation"]) + screen["mozLockOrientation"](orientation); + else if (screen["msLockOrientation"]) + screen["msLockOrientation"](orientation); + } + catch (e) + { + if (console && console.warn) + console.warn("Failed to lock orientation: ", e); + } + }; + Runtime.prototype.onContextLost = function () + { + this.glwrap.contextLost(); + this.is_WebGL_context_lost = true; + var i, len, t; + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + t = this.types_by_index[i]; + if (t.onLostWebGLContext) + t.onLostWebGLContext(); + } + }; + Runtime.prototype.onContextRestored = function () + { + this.is_WebGL_context_lost = false; + var i, len, t; + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + t = this.types_by_index[i]; + if (t.onRestoreWebGLContext) + t.onRestoreWebGLContext(); + } + }; + Runtime.prototype.positionOverlayCanvas = function() + { + if (this.isDomFree) + return; + var isfullscreen = (document["mozFullScreen"] || document["webkitIsFullScreen"] || document["fullScreen"] || !!document["msFullscreenElement"] || this.isNodeFullscreen) && !this.isCordova; + var overlay_position = isfullscreen ? jQuery(this.canvas).offset() : jQuery(this.canvas).position(); + overlay_position.position = "absolute"; + jQuery(this.overlay_canvas).css(overlay_position); + }; + var caf = window["cancelAnimationFrame"] || + window["mozCancelAnimationFrame"] || + window["webkitCancelAnimationFrame"] || + window["msCancelAnimationFrame"] || + window["oCancelAnimationFrame"]; + Runtime.prototype["setSuspended"] = function (s) + { + var i, len; + var self = this; + if (s && !this.isSuspended) + { + cr.logexport("[Construct 2] Suspending"); + this.isSuspended = true; // next tick will be last + if (this.raf_id !== -1 && caf) // note: CocoonJS does not implement cancelAnimationFrame + caf(this.raf_id); + if (this.timeout_id !== -1) + clearTimeout(this.timeout_id); + for (i = 0, len = this.suspend_events.length; i < len; i++) + this.suspend_events[i](true); + } + else if (!s && this.isSuspended) + { + cr.logexport("[Construct 2] Resuming"); + this.isSuspended = false; + this.last_tick_time = cr.performance_now(); // ensure first tick is a zero-dt one + this.last_fps_time = cr.performance_now(); // reset FPS counter + this.framecount = 0; + this.logictime = 0; + for (i = 0, len = this.suspend_events.length; i < len; i++) + this.suspend_events[i](false); + this.tick(false); // kick off runtime again + } + }; + Runtime.prototype.addSuspendCallback = function (f) + { + this.suspend_events.push(f); + }; + Runtime.prototype.GetObjectReference = function (i) + { +; + return this.objectRefTable[i]; + }; + Runtime.prototype.loadProject = function (data_response) + { +; + if (!data_response || !data_response["project"]) + cr.logerror("Project model unavailable"); + var pm = data_response["project"]; + this.name = pm[0]; + this.first_layout = pm[1]; + this.fullscreen_mode = pm[12]; // 0 = off, 1 = crop, 2 = scale inner, 3 = scale outer, 4 = letterbox scale, 5 = integer letterbox scale + this.fullscreen_mode_set = pm[12]; + this.original_width = pm[10]; + this.original_height = pm[11]; + this.parallax_x_origin = this.original_width / 2; + this.parallax_y_origin = this.original_height / 2; + if (this.isDomFree && !this.isEjecta && (pm[12] >= 4 || pm[12] === 0)) + { + cr.logexport("[Construct 2] Letterbox scale fullscreen modes are not supported on this platform - falling back to 'Scale outer'"); + this.fullscreen_mode = 3; + this.fullscreen_mode_set = 3; + } + this.uses_loader_layout = pm[18]; + this.loaderstyle = pm[19]; + if (this.loaderstyle === 0) + { + var loaderImage = new Image(); + loaderImage.crossOrigin = "anonymous"; + this.setImageSrc(loaderImage, "loading-logo.png"); + this.loaderlogos = { + logo: loaderImage + }; + } + else if (this.loaderstyle === 4) // c2 splash + { + var loaderC2logo_1024 = new Image(); + loaderC2logo_1024.src = ""; + var loaderC2logo_512 = new Image(); + loaderC2logo_512.src = ""; + var loaderC2logo_256 = new Image(); + loaderC2logo_256.src = ""; + var loaderC2logo_128 = new Image(); + loaderC2logo_128.src = ""; + var loaderPowered_1024 = new Image(); + loaderPowered_1024.src = ""; + var loaderPowered_512 = new Image(); + loaderPowered_512.src = ""; + var loaderPowered_256 = new Image(); + loaderPowered_256.src = ""; + var loaderPowered_128 = new Image(); + loaderPowered_128.src = ""; + var loaderWebsite_1024 = new Image(); + loaderWebsite_1024.src = ""; + var loaderWebsite_512 = new Image(); + loaderWebsite_512.src = ""; + var loaderWebsite_256 = new Image(); + loaderWebsite_256.src = ""; + var loaderWebsite_128 = new Image(); + loaderWebsite_128.src = ""; + this.loaderlogos = { + logo: [loaderC2logo_1024, loaderC2logo_512, loaderC2logo_256, loaderC2logo_128], + powered: [loaderPowered_1024, loaderPowered_512, loaderPowered_256, loaderPowered_128], + website: [loaderWebsite_1024, loaderWebsite_512, loaderWebsite_256, loaderWebsite_128] + }; + } + this.next_uid = pm[21]; + this.objectRefTable = cr.getObjectRefTable(); + this.system = new cr.system_object(this); + var i, len, j, lenj, k, lenk, idstr, m, b, t, f, p; + var plugin, plugin_ctor; + for (i = 0, len = pm[2].length; i < len; i++) + { + m = pm[2][i]; + p = this.GetObjectReference(m[0]); +; + cr.add_common_aces(m, p.prototype); + plugin = new p(this); + plugin.singleglobal = m[1]; + plugin.is_world = m[2]; + plugin.is_rotatable = m[5]; + plugin.must_predraw = m[9]; + if (plugin.onCreate) + plugin.onCreate(); // opportunity to override default ACEs + cr.seal(plugin); + this.plugins.push(plugin); + } + this.objectRefTable = cr.getObjectRefTable(); + for (i = 0, len = pm[3].length; i < len; i++) + { + m = pm[3][i]; + plugin_ctor = this.GetObjectReference(m[1]); +; + plugin = null; + for (j = 0, lenj = this.plugins.length; j < lenj; j++) + { + if (this.plugins[j] instanceof plugin_ctor) + { + plugin = this.plugins[j]; + break; + } + } +; +; + var type_inst = new plugin.Type(plugin); +; + type_inst.name = m[0]; + type_inst.is_family = m[2]; + type_inst.instvar_sids = m[3].slice(0); + type_inst.vars_count = m[3].length; + type_inst.behs_count = m[4]; + type_inst.fx_count = m[5]; + type_inst.sid = m[11]; + if (type_inst.is_family) + { + type_inst.members = []; // types in this family + type_inst.family_index = this.family_count++; + type_inst.families = null; + } + else + { + type_inst.members = null; + type_inst.family_index = -1; + type_inst.families = []; // families this type belongs to + } + type_inst.family_var_map = null; + type_inst.family_beh_map = null; + type_inst.family_fx_map = null; + type_inst.is_contained = false; + type_inst.container = null; + if (m[6]) + { + type_inst.texture_file = m[6][0]; + type_inst.texture_filesize = m[6][1]; + type_inst.texture_pixelformat = m[6][2]; + } + else + { + type_inst.texture_file = null; + type_inst.texture_filesize = 0; + type_inst.texture_pixelformat = 0; // rgba8 + } + if (m[7]) + { + type_inst.animations = m[7]; + } + else + { + type_inst.animations = null; + } + type_inst.index = i; // save index in to types array in type + type_inst.instances = []; // all instances of this type + type_inst.deadCache = []; // destroyed instances to recycle next create + type_inst.solstack = [new cr.selection(type_inst)]; // initialise SOL stack with one empty SOL + type_inst.cur_sol = 0; + type_inst.default_instance = null; + type_inst.default_layerindex = 0; + type_inst.stale_iids = true; + type_inst.updateIIDs = cr.type_updateIIDs; + type_inst.getFirstPicked = cr.type_getFirstPicked; + type_inst.getPairedInstance = cr.type_getPairedInstance; + type_inst.getCurrentSol = cr.type_getCurrentSol; + type_inst.pushCleanSol = cr.type_pushCleanSol; + type_inst.pushCopySol = cr.type_pushCopySol; + type_inst.popSol = cr.type_popSol; + type_inst.getBehaviorByName = cr.type_getBehaviorByName; + type_inst.getBehaviorIndexByName = cr.type_getBehaviorIndexByName; + type_inst.getEffectIndexByName = cr.type_getEffectIndexByName; + type_inst.applySolToContainer = cr.type_applySolToContainer; + type_inst.getInstanceByIID = cr.type_getInstanceByIID; + type_inst.collision_grid = new cr.SparseGrid(this.original_width, this.original_height); + type_inst.any_cell_changed = true; + type_inst.any_instance_parallaxed = false; + type_inst.extra = {}; + type_inst.toString = cr.type_toString; + type_inst.behaviors = []; + for (j = 0, lenj = m[8].length; j < lenj; j++) + { + b = m[8][j]; + var behavior_ctor = this.GetObjectReference(b[1]); + var behavior_plugin = null; + for (k = 0, lenk = this.behaviors.length; k < lenk; k++) + { + if (this.behaviors[k] instanceof behavior_ctor) + { + behavior_plugin = this.behaviors[k]; + break; + } + } + if (!behavior_plugin) + { + behavior_plugin = new behavior_ctor(this); + behavior_plugin.my_types = []; // types using this behavior + behavior_plugin.my_instances = new cr.ObjectSet(); // instances of this behavior + if (behavior_plugin.onCreate) + behavior_plugin.onCreate(); + cr.seal(behavior_plugin); + this.behaviors.push(behavior_plugin); + if (cr.behaviors.solid && behavior_plugin instanceof cr.behaviors.solid) + this.solidBehavior = behavior_plugin; + if (cr.behaviors.jumpthru && behavior_plugin instanceof cr.behaviors.jumpthru) + this.jumpthruBehavior = behavior_plugin; + if (cr.behaviors.shadowcaster && behavior_plugin instanceof cr.behaviors.shadowcaster) + this.shadowcasterBehavior = behavior_plugin; + } + if (behavior_plugin.my_types.indexOf(type_inst) === -1) + behavior_plugin.my_types.push(type_inst); + var behavior_type = new behavior_plugin.Type(behavior_plugin, type_inst); + behavior_type.name = b[0]; + behavior_type.sid = b[2]; + behavior_type.onCreate(); + cr.seal(behavior_type); + type_inst.behaviors.push(behavior_type); + } + type_inst.global = m[9]; + type_inst.isOnLoaderLayout = m[10]; + type_inst.effect_types = []; + for (j = 0, lenj = m[12].length; j < lenj; j++) + { + type_inst.effect_types.push({ + id: m[12][j][0], + name: m[12][j][1], + shaderindex: -1, + preservesOpaqueness: false, + active: true, + index: j + }); + } + type_inst.tile_poly_data = m[13]; + if (!this.uses_loader_layout || type_inst.is_family || type_inst.isOnLoaderLayout || !plugin.is_world) + { + type_inst.onCreate(); + cr.seal(type_inst); + } + if (type_inst.name) + this.types[type_inst.name] = type_inst; + this.types_by_index.push(type_inst); + if (plugin.singleglobal) + { + var instance = new plugin.Instance(type_inst); + instance.uid = this.next_uid++; + instance.puid = this.next_puid++; + instance.iid = 0; + instance.get_iid = cr.inst_get_iid; + instance.toString = cr.inst_toString; + instance.properties = m[14]; + instance.onCreate(); + cr.seal(instance); + type_inst.instances.push(instance); + this.objectsByUid[instance.uid.toString()] = instance; + } + } + for (i = 0, len = pm[4].length; i < len; i++) + { + var familydata = pm[4][i]; + var familytype = this.types_by_index[familydata[0]]; + var familymember; + for (j = 1, lenj = familydata.length; j < lenj; j++) + { + familymember = this.types_by_index[familydata[j]]; + familymember.families.push(familytype); + familytype.members.push(familymember); + } + } + for (i = 0, len = pm[28].length; i < len; i++) + { + var containerdata = pm[28][i]; + var containertypes = []; + for (j = 0, lenj = containerdata.length; j < lenj; j++) + containertypes.push(this.types_by_index[containerdata[j]]); + for (j = 0, lenj = containertypes.length; j < lenj; j++) + { + containertypes[j].is_contained = true; + containertypes[j].container = containertypes; + } + } + if (this.family_count > 0) + { + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + t = this.types_by_index[i]; + if (t.is_family || !t.families.length) + continue; + t.family_var_map = new Array(this.family_count); + t.family_beh_map = new Array(this.family_count); + t.family_fx_map = new Array(this.family_count); + var all_fx = []; + var varsum = 0; + var behsum = 0; + var fxsum = 0; + for (j = 0, lenj = t.families.length; j < lenj; j++) + { + f = t.families[j]; + t.family_var_map[f.family_index] = varsum; + varsum += f.vars_count; + t.family_beh_map[f.family_index] = behsum; + behsum += f.behs_count; + t.family_fx_map[f.family_index] = fxsum; + fxsum += f.fx_count; + for (k = 0, lenk = f.effect_types.length; k < lenk; k++) + all_fx.push(cr.shallowCopy({}, f.effect_types[k])); + } + t.effect_types = all_fx.concat(t.effect_types); + for (j = 0, lenj = t.effect_types.length; j < lenj; j++) + t.effect_types[j].index = j; + } + } + for (i = 0, len = pm[5].length; i < len; i++) + { + m = pm[5][i]; + var layout = new cr.layout(this, m); + cr.seal(layout); + this.layouts[layout.name] = layout; + this.layouts_by_index.push(layout); + } + for (i = 0, len = pm[6].length; i < len; i++) + { + m = pm[6][i]; + var sheet = new cr.eventsheet(this, m); + cr.seal(sheet); + this.eventsheets[sheet.name] = sheet; + this.eventsheets_by_index.push(sheet); + } + for (i = 0, len = this.eventsheets_by_index.length; i < len; i++) + this.eventsheets_by_index[i].postInit(); + for (i = 0, len = this.eventsheets_by_index.length; i < len; i++) + this.eventsheets_by_index[i].updateDeepIncludes(); + for (i = 0, len = this.triggers_to_postinit.length; i < len; i++) + this.triggers_to_postinit[i].postInit(); + cr.clearArray(this.triggers_to_postinit) + this.audio_to_preload = pm[7]; + this.files_subfolder = pm[8]; + this.pixel_rounding = pm[9]; + this.aspect_scale = 1.0; + this.enableWebGL = pm[13]; + this.linearSampling = pm[14]; + this.clearBackground = pm[15]; + this.versionstr = pm[16]; + this.useHighDpi = pm[17]; + this.orientations = pm[20]; // 0 = any, 1 = portrait, 2 = landscape + this.autoLockOrientation = (this.orientations > 0); + this.pauseOnBlur = pm[22]; + this.wantFullscreenScalingQuality = pm[23]; // false = low quality, true = high quality + this.fullscreenScalingQuality = this.wantFullscreenScalingQuality; + this.downscalingQuality = pm[24]; // 0 = low (mips off), 1 = medium (mips on, dense spritesheet), 2 = high (mips on, sparse spritesheet) + this.preloadSounds = pm[25]; // 0 = no, 1 = yes + this.projectName = pm[26]; + this.enableFrontToBack = pm[27] && !this.isIE; // front-to-back renderer disabled in IE (but not Edge) + this.start_time = Date.now(); + cr.clearArray(this.objectRefTable); + this.initRendererAndLoader(); + }; + var anyImageHadError = false; + var MAX_PARALLEL_IMAGE_LOADS = 100; + var currentlyActiveImageLoads = 0; + var imageLoadQueue = []; // array of [img, srcToSet] + Runtime.prototype.queueImageLoad = function (img_, src_) + { + var self = this; + var doneFunc = function () + { + currentlyActiveImageLoads--; + self.maybeLoadNextImages(); + }; + img_.addEventListener("load", doneFunc); + img_.addEventListener("error", doneFunc); + imageLoadQueue.push([img_, src_]); + this.maybeLoadNextImages(); + }; + Runtime.prototype.maybeLoadNextImages = function () + { + var next; + while (imageLoadQueue.length && currentlyActiveImageLoads < MAX_PARALLEL_IMAGE_LOADS) + { + currentlyActiveImageLoads++; + next = imageLoadQueue.shift(); + this.setImageSrc(next[0], next[1]); + } + }; + Runtime.prototype.waitForImageLoad = function (img_, src_) + { + img_["cocoonLazyLoad"] = true; + img_.onerror = function (e) + { + img_.c2error = true; + anyImageHadError = true; + if (console && console.error) + console.error("Error loading image '" + img_.src + "': ", e); + }; + if (this.isEjecta) + { + img_.src = src_; + } + else if (!img_.src) + { + if (typeof XAPKReader !== "undefined") + { + XAPKReader.get(src_, function (expanded_url) + { + img_.src = expanded_url; + }, function (e) + { + img_.c2error = true; + anyImageHadError = true; + if (console && console.error) + console.error("Error extracting image '" + src_ + "' from expansion file: ", e); + }); + } + else + { + img_.crossOrigin = "anonymous"; // required for Arcade sandbox compatibility + this.queueImageLoad(img_, src_); // use a queue to avoid requesting all images simultaneously + } + } + this.wait_for_textures.push(img_); + }; + Runtime.prototype.findWaitingTexture = function (src_) + { + var i, len; + for (i = 0, len = this.wait_for_textures.length; i < len; i++) + { + if (this.wait_for_textures[i].cr_src === src_) + return this.wait_for_textures[i]; + } + return null; + }; + var audio_preload_totalsize = 0; + var audio_preload_started = false; + Runtime.prototype.getready = function () + { + if (!this.audioInstance) + return; + audio_preload_totalsize = this.audioInstance.setPreloadList(this.audio_to_preload); + }; + Runtime.prototype.areAllTexturesAndSoundsLoaded = function () + { + var totalsize = audio_preload_totalsize; + var completedsize = 0; + var audiocompletedsize = 0; + var ret = true; + var i, len, img; + for (i = 0, len = this.wait_for_textures.length; i < len; i++) + { + img = this.wait_for_textures[i]; + var filesize = img.cr_filesize; + if (!filesize || filesize <= 0) + filesize = 50000; + totalsize += filesize; + if (!!img.src && (img.complete || img["loaded"]) && !img.c2error) + completedsize += filesize; + else + ret = false; // not all textures loaded + } + if (ret && this.preloadSounds && this.audioInstance) + { + if (!audio_preload_started) + { + this.audioInstance.startPreloads(); + audio_preload_started = true; + } + audiocompletedsize = this.audioInstance.getPreloadedSize(); + completedsize += audiocompletedsize; + if (audiocompletedsize < audio_preload_totalsize) + ret = false; // not done yet + } + if (totalsize == 0) + this.progress = 1; // indicate to C2 splash loader that it can finish now + else + this.progress = (completedsize / totalsize); + return ret; + }; + var isC2SplashDone = false; + Runtime.prototype.go = function () + { + if (!this.ctx && !this.glwrap) + return; + var ctx = this.ctx || this.overlay_ctx; + if (this.overlay_canvas) + this.positionOverlayCanvas(); + var curwidth = window.innerWidth; + var curheight = window.innerHeight; + if (this.lastWindowWidth !== curwidth || this.lastWindowHeight !== curheight) + { + this["setSize"](curwidth, curheight); + } + this.progress = 0; + this.last_progress = -1; + var self = this; + if (this.areAllTexturesAndSoundsLoaded() && (this.loaderstyle !== 4 || isC2SplashDone)) + { + this.go_loading_finished(); + } + else + { + var ms_elapsed = Date.now() - this.start_time; + if (ctx) + { + var overlay_width = this.width; + var overlay_height = this.height; + var dpr = this.devicePixelRatio; + if (this.loaderstyle < 3 && (this.isCocoonJs || (ms_elapsed >= 500 && this.last_progress != this.progress))) + { + ctx.clearRect(0, 0, overlay_width, overlay_height); + var mx = overlay_width / 2; + var my = overlay_height / 2; + var haslogo = (this.loaderstyle === 0 && this.loaderlogos.logo.complete); + var hlw = 40 * dpr; + var hlh = 0; + var logowidth = 80 * dpr; + var logoheight; + if (haslogo) + { + var loaderLogoImage = this.loaderlogos.logo; + logowidth = loaderLogoImage.width * dpr; + logoheight = loaderLogoImage.height * dpr; + hlw = logowidth / 2; + hlh = logoheight / 2; + ctx.drawImage(loaderLogoImage, cr.floor(mx - hlw), cr.floor(my - hlh), logowidth, logoheight); + } + if (this.loaderstyle <= 1) + { + my += hlh + (haslogo ? 12 * dpr : 0); + mx -= hlw; + mx = cr.floor(mx) + 0.5; + my = cr.floor(my) + 0.5; + ctx.fillStyle = anyImageHadError ? "red" : "DodgerBlue"; + ctx.fillRect(mx, my, Math.floor(logowidth * this.progress), 6 * dpr); + ctx.strokeStyle = "black"; + ctx.strokeRect(mx, my, logowidth, 6 * dpr); + ctx.strokeStyle = "white"; + ctx.strokeRect(mx - 1 * dpr, my - 1 * dpr, logowidth + 2 * dpr, 8 * dpr); + } + else if (this.loaderstyle === 2) + { + ctx.font = (this.isEjecta ? "12pt ArialMT" : "12pt Arial"); + ctx.fillStyle = anyImageHadError ? "#f00" : "#999"; + ctx.textBaseLine = "middle"; + var percent_text = Math.round(this.progress * 100) + "%"; + var text_dim = ctx.measureText ? ctx.measureText(percent_text) : null; + var text_width = text_dim ? text_dim.width : 0; + ctx.fillText(percent_text, mx - (text_width / 2), my); + } + this.last_progress = this.progress; + } + else if (this.loaderstyle === 4) + { + this.draw_c2_splash_loader(ctx); + if (raf) + raf(function() { self.go(); }); + else + setTimeout(function() { self.go(); }, 16); + return; + } + } + setTimeout(function() { self.go(); }, (this.isCocoonJs ? 10 : 100)); + } + }; + var splashStartTime = -1; + var splashFadeInDuration = 300; + var splashFadeOutDuration = 300; + var splashAfterFadeOutWait = (typeof cr_is_preview === "undefined" ? 200 : 0); + var splashIsFadeIn = true; + var splashIsFadeOut = false; + var splashFadeInFinish = 0; + var splashFadeOutStart = 0; + var splashMinDisplayTime = (typeof cr_is_preview === "undefined" ? 3000 : 0); + var renderViaCanvas = null; + var renderViaCtx = null; + var splashFrameNumber = 0; + function maybeCreateRenderViaCanvas(w, h) + { + if (!renderViaCanvas || renderViaCanvas.width !== w || renderViaCanvas.height !== h) + { + renderViaCanvas = document.createElement("canvas"); + renderViaCanvas.width = w; + renderViaCanvas.height = h; + renderViaCtx = renderViaCanvas.getContext("2d"); + } + }; + function mipImage(arr, size) + { + if (size <= 128) + return arr[3]; + else if (size <= 256) + return arr[2]; + else if (size <= 512) + return arr[1]; + else + return arr[0]; + }; + Runtime.prototype.draw_c2_splash_loader = function(ctx) + { + if (isC2SplashDone) + return; + var w = Math.ceil(this.width); + var h = Math.ceil(this.height); + var dpr = this.devicePixelRatio; + var logoimages = this.loaderlogos.logo; + var poweredimages = this.loaderlogos.powered; + var websiteimages = this.loaderlogos.website; + for (var i = 0; i < 4; ++i) + { + if (!logoimages[i].complete || !poweredimages[i].complete || !websiteimages[i].complete) + return; + } + if (splashFrameNumber === 0) + splashStartTime = Date.now(); + var nowTime = Date.now(); + var isRenderingVia = false; + var renderToCtx = ctx; + var drawW, drawH; + if (splashIsFadeIn || splashIsFadeOut) + { + ctx.clearRect(0, 0, w, h); + maybeCreateRenderViaCanvas(w, h); + renderToCtx = renderViaCtx; + isRenderingVia = true; + if (splashIsFadeIn && splashFrameNumber === 1) + splashStartTime = Date.now(); + } + else + { + ctx.globalAlpha = 1; + } + renderToCtx.fillStyle = "#333333"; + renderToCtx.fillRect(0, 0, w, h); + if (this.cssHeight > 256) + { + drawW = cr.clamp(h * 0.22, 105, w * 0.6); + drawH = drawW * 0.25; + renderToCtx.drawImage(mipImage(poweredimages, drawW), w * 0.5 - drawW/2, h * 0.2 - drawH/2, drawW, drawH); + drawW = Math.min(h * 0.395, w * 0.95); + drawH = drawW; + renderToCtx.drawImage(mipImage(logoimages, drawW), w * 0.5 - drawW/2, h * 0.485 - drawH/2, drawW, drawH); + drawW = cr.clamp(h * 0.22, 105, w * 0.6); + drawH = drawW * 0.25; + renderToCtx.drawImage(mipImage(websiteimages, drawW), w * 0.5 - drawW/2, h * 0.868 - drawH/2, drawW, drawH); + renderToCtx.fillStyle = "#3C3C3C"; + drawW = w; + drawH = Math.max(h * 0.005, 2); + renderToCtx.fillRect(0, h * 0.8 - drawH/2, drawW, drawH); + renderToCtx.fillStyle = anyImageHadError ? "red" : "#E0FF65"; + drawW = w * this.progress; + renderToCtx.fillRect(w * 0.5 - drawW/2, h * 0.8 - drawH/2, drawW, drawH); + } + else + { + drawW = h * 0.55; + drawH = drawW; + renderToCtx.drawImage(mipImage(logoimages, drawW), w * 0.5 - drawW/2, h * 0.45 - drawH/2, drawW, drawH); + renderToCtx.fillStyle = "#3C3C3C"; + drawW = w; + drawH = Math.max(h * 0.005, 2); + renderToCtx.fillRect(0, h * 0.85 - drawH/2, drawW, drawH); + renderToCtx.fillStyle = anyImageHadError ? "red" : "#E0FF65"; + drawW = w * this.progress; + renderToCtx.fillRect(w * 0.5 - drawW/2, h * 0.85 - drawH/2, drawW, drawH); + } + if (isRenderingVia) + { + if (splashIsFadeIn) + { + if (splashFrameNumber === 0) + ctx.globalAlpha = 0; + else + ctx.globalAlpha = Math.min((nowTime - splashStartTime) / splashFadeInDuration, 1); + } + else if (splashIsFadeOut) + { + ctx.globalAlpha = Math.max(1 - (nowTime - splashFadeOutStart) / splashFadeOutDuration, 0); + } + ctx.drawImage(renderViaCanvas, 0, 0, w, h); + } + if (splashIsFadeIn && nowTime - splashStartTime >= splashFadeInDuration && splashFrameNumber >= 2) + { + splashIsFadeIn = false; + splashFadeInFinish = nowTime; + } + if (!splashIsFadeIn && nowTime - splashFadeInFinish >= splashMinDisplayTime && !splashIsFadeOut && this.progress >= 1) + { + splashIsFadeOut = true; + splashFadeOutStart = nowTime; + } + if ((splashIsFadeOut && nowTime - splashFadeOutStart >= splashFadeOutDuration + splashAfterFadeOutWait) || + (typeof cr_is_preview !== "undefined" && this.progress >= 1 && Date.now() - splashStartTime < 500)) + { + isC2SplashDone = true; + splashIsFadeIn = false; + splashIsFadeOut = false; + renderViaCanvas = null; + renderViaCtx = null; + this.loaderlogos = null; + } + ++splashFrameNumber; + }; + Runtime.prototype.go_loading_finished = function () + { + if (this.overlay_canvas) + { + this.canvas.parentNode.removeChild(this.overlay_canvas); + this.overlay_ctx = null; + this.overlay_canvas = null; + } + this.start_time = Date.now(); + this.last_fps_time = cr.performance_now(); // for counting framerate + var i, len, t; + if (this.uses_loader_layout) + { + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + t = this.types_by_index[i]; + if (!t.is_family && !t.isOnLoaderLayout && t.plugin.is_world) + { + t.onCreate(); + cr.seal(t); + } + } + } + else + this.isloading = false; + for (i = 0, len = this.layouts_by_index.length; i < len; i++) + { + this.layouts_by_index[i].createGlobalNonWorlds(); + } + if (this.fullscreen_mode >= 2) + { + var orig_aspect = this.original_width / this.original_height; + var cur_aspect = this.width / this.height; + if ((this.fullscreen_mode !== 2 && cur_aspect > orig_aspect) || (this.fullscreen_mode === 2 && cur_aspect < orig_aspect)) + this.aspect_scale = this.height / this.original_height; + else + this.aspect_scale = this.width / this.original_width; + } + if (this.first_layout) + this.layouts[this.first_layout].startRunning(); + else + this.layouts_by_index[0].startRunning(); +; + if (!this.uses_loader_layout) + { + this.loadingprogress = 1; + this.trigger(cr.system_object.prototype.cnds.OnLoadFinished, null); + if (window["C2_RegisterSW"]) // note not all platforms use SW + window["C2_RegisterSW"](); + } + if (navigator["splashscreen"] && navigator["splashscreen"]["hide"]) + navigator["splashscreen"]["hide"](); + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + t = this.types_by_index[i]; + if (t.onAppBegin) + t.onAppBegin(); + } + if (document["hidden"] || document["webkitHidden"] || document["mozHidden"] || document["msHidden"]) + { + window["cr_setSuspended"](true); // stop rendering + } + else + { + this.tick(false); + } + if (this.isDirectCanvas) + AppMobi["webview"]["execute"]("onGameReady();"); + }; + Runtime.prototype.tick = function (background_wake, timestamp, debug_step) + { + if (!this.running_layout) + return; + var nowtime = cr.performance_now(); + var logic_start = nowtime; + if (!debug_step && this.isSuspended && !background_wake) + return; + if (!background_wake) + { + if (raf) + this.raf_id = raf(this.tickFunc); + else + { + this.timeout_id = setTimeout(this.tickFunc, this.isMobile ? 1 : 16); + } + } + var raf_time = timestamp || nowtime; + var fsmode = this.fullscreen_mode; + var isfullscreen = (document["mozFullScreen"] || document["webkitIsFullScreen"] || document["fullScreen"] || !!document["msFullscreenElement"]) && !this.isCordova; + if ((isfullscreen || this.isNodeFullscreen) && this.fullscreen_scaling > 0) + fsmode = this.fullscreen_scaling; + if (fsmode > 0) // r222: experimentally enabling this workaround for all platforms + { + var curwidth = window.innerWidth; + var curheight = window.innerHeight; + if (this.lastWindowWidth !== curwidth || this.lastWindowHeight !== curheight) + { + this["setSize"](curwidth, curheight); + } + } + if (!this.isDomFree) + { + if (isfullscreen) + { + if (!this.firstInFullscreen) + this.firstInFullscreen = true; + } + else + { + if (this.firstInFullscreen) + { + this.firstInFullscreen = false; + if (this.fullscreen_mode === 0) + { + this["setSize"](Math.round(this.oldWidth / this.devicePixelRatio), Math.round(this.oldHeight / this.devicePixelRatio), true); + } + } + else + { + this.oldWidth = this.width; + this.oldHeight = this.height; + } + } + } + if (this.isloading) + { + var done = this.areAllTexturesAndSoundsLoaded(); // updates this.progress + this.loadingprogress = this.progress; + if (done) + { + this.isloading = false; + this.progress = 1; + this.trigger(cr.system_object.prototype.cnds.OnLoadFinished, null); + if (window["C2_RegisterSW"]) + window["C2_RegisterSW"](); + } + } + this.logic(raf_time); + if ((this.redraw || this.isCocoonJs) && !this.is_WebGL_context_lost && !this.suspendDrawing && !background_wake) + { + this.redraw = false; + if (this.glwrap) + this.drawGL(); + else + this.draw(); + if (this.snapshotCanvas) + { + if (this.canvas && this.canvas.toDataURL) + { + this.snapshotData = this.canvas.toDataURL(this.snapshotCanvas[0], this.snapshotCanvas[1]); + if (window["cr_onSnapshot"]) + window["cr_onSnapshot"](this.snapshotData); + this.trigger(cr.system_object.prototype.cnds.OnCanvasSnapshot, null); + } + this.snapshotCanvas = null; + } + } + if (!this.hit_breakpoint) + { + this.tickcount++; + this.tickcount_nosave++; + this.execcount++; + this.framecount++; + } + this.logictime += cr.performance_now() - logic_start; + }; + Runtime.prototype.logic = function (cur_time) + { + var i, leni, j, lenj, k, lenk, type, inst, binst; + if (cur_time - this.last_fps_time >= 1000) // every 1 second + { + this.last_fps_time += 1000; + if (cur_time - this.last_fps_time >= 1000) + this.last_fps_time = cur_time; + this.fps = this.framecount; + this.framecount = 0; + this.cpuutilisation = this.logictime; + this.logictime = 0; + } + var wallDt = 0; + if (this.last_tick_time !== 0) + { + var ms_diff = cur_time - this.last_tick_time; + if (ms_diff < 0) + ms_diff = 0; + wallDt = ms_diff / 1000.0; // dt measured in seconds + this.dt1 = wallDt; + if (this.dt1 > 0.5) + this.dt1 = 0; + else if (this.dt1 > 1 / this.minimumFramerate) + this.dt1 = 1 / this.minimumFramerate; + } + this.last_tick_time = cur_time; + this.dt = this.dt1 * this.timescale; + this.kahanTime.add(this.dt); + this.wallTime.add(wallDt); // prevent min/max framerate affecting wall clock + var isfullscreen = (document["mozFullScreen"] || document["webkitIsFullScreen"] || document["fullScreen"] || !!document["msFullscreenElement"] || this.isNodeFullscreen) && !this.isCordova; + if (this.fullscreen_mode >= 2 /* scale */ || (isfullscreen && this.fullscreen_scaling > 0)) + { + var orig_aspect = this.original_width / this.original_height; + var cur_aspect = this.width / this.height; + var mode = this.fullscreen_mode; + if (isfullscreen && this.fullscreen_scaling > 0) + mode = this.fullscreen_scaling; + if ((mode !== 2 && cur_aspect > orig_aspect) || (mode === 2 && cur_aspect < orig_aspect)) + { + this.aspect_scale = this.height / this.original_height; + } + else + { + this.aspect_scale = this.width / this.original_width; + } + if (this.running_layout) + { + this.running_layout.scrollToX(this.running_layout.scrollX); + this.running_layout.scrollToY(this.running_layout.scrollY); + } + } + else + this.aspect_scale = (this.isRetina ? this.devicePixelRatio : 1); + this.ClearDeathRow(); + this.isInOnDestroy++; + this.system.runWaits(); // prevent instance list changing + this.isInOnDestroy--; + this.ClearDeathRow(); // allow instance list changing + this.isInOnDestroy++; + var tickarr = this.objects_to_pretick.valuesRef(); + for (i = 0, leni = tickarr.length; i < leni; i++) + tickarr[i].pretick(); + for (i = 0, leni = this.types_by_index.length; i < leni; i++) + { + type = this.types_by_index[i]; + if (type.is_family || (!type.behaviors.length && !type.families.length)) + continue; + for (j = 0, lenj = type.instances.length; j < lenj; j++) + { + inst = type.instances[j]; + for (k = 0, lenk = inst.behavior_insts.length; k < lenk; k++) + { + inst.behavior_insts[k].tick(); + } + } + } + for (i = 0, leni = this.types_by_index.length; i < leni; i++) + { + type = this.types_by_index[i]; + if (type.is_family || (!type.behaviors.length && !type.families.length)) + continue; // type doesn't have any behaviors + for (j = 0, lenj = type.instances.length; j < lenj; j++) + { + inst = type.instances[j]; + for (k = 0, lenk = inst.behavior_insts.length; k < lenk; k++) + { + binst = inst.behavior_insts[k]; + if (binst.posttick) + binst.posttick(); + } + } + } + tickarr = this.objects_to_tick.valuesRef(); + for (i = 0, leni = tickarr.length; i < leni; i++) + tickarr[i].tick(); + this.isInOnDestroy--; // end preventing instance lists from being changed + this.handleSaveLoad(); // save/load now if queued + i = 0; + while (this.changelayout && i++ < 10) + { + this.doChangeLayout(this.changelayout); + } + for (i = 0, leni = this.eventsheets_by_index.length; i < leni; i++) + this.eventsheets_by_index[i].hasRun = false; + if (this.running_layout.event_sheet) + this.running_layout.event_sheet.run(); + cr.clearArray(this.registered_collisions); + this.layout_first_tick = false; + this.isInOnDestroy++; // prevent instance lists from being changed + for (i = 0, leni = this.types_by_index.length; i < leni; i++) + { + type = this.types_by_index[i]; + if (type.is_family || (!type.behaviors.length && !type.families.length)) + continue; // type doesn't have any behaviors + for (j = 0, lenj = type.instances.length; j < lenj; j++) + { + var inst = type.instances[j]; + for (k = 0, lenk = inst.behavior_insts.length; k < lenk; k++) + { + binst = inst.behavior_insts[k]; + if (binst.tick2) + binst.tick2(); + } + } + } + tickarr = this.objects_to_tick2.valuesRef(); + for (i = 0, leni = tickarr.length; i < leni; i++) + tickarr[i].tick2(); + this.isInOnDestroy--; // end preventing instance lists from being changed + }; + Runtime.prototype.onWindowBlur = function () + { + var i, leni, j, lenj, k, lenk, type, inst, binst; + for (i = 0, leni = this.types_by_index.length; i < leni; i++) + { + type = this.types_by_index[i]; + if (type.is_family) + continue; + for (j = 0, lenj = type.instances.length; j < lenj; j++) + { + inst = type.instances[j]; + if (inst.onWindowBlur) + inst.onWindowBlur(); + if (!inst.behavior_insts) + continue; // single-globals don't have behavior_insts + for (k = 0, lenk = inst.behavior_insts.length; k < lenk; k++) + { + binst = inst.behavior_insts[k]; + if (binst.onWindowBlur) + binst.onWindowBlur(); + } + } + } + }; + Runtime.prototype.doChangeLayout = function (changeToLayout) + { + var prev_layout = this.running_layout; + this.running_layout.stopRunning(); + var i, len, j, lenj, k, lenk, type, inst, binst; + if (this.glwrap) + { + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + type = this.types_by_index[i]; + if (type.is_family) + continue; + if (type.unloadTextures && (!type.global || type.instances.length === 0) && changeToLayout.initial_types.indexOf(type) === -1) + { + type.unloadTextures(); + } + } + } + if (prev_layout == changeToLayout) + cr.clearArray(this.system.waits); + cr.clearArray(this.registered_collisions); + this.runLayoutChangeMethods(true); + changeToLayout.startRunning(); + this.runLayoutChangeMethods(false); + this.redraw = true; + this.layout_first_tick = true; + this.ClearDeathRow(); + }; + Runtime.prototype.runLayoutChangeMethods = function (isBeforeChange) + { + var i, len, beh, type, j, lenj, inst, k, lenk, binst; + for (i = 0, len = this.behaviors.length; i < len; i++) + { + beh = this.behaviors[i]; + if (isBeforeChange) + { + if (beh.onBeforeLayoutChange) + beh.onBeforeLayoutChange(); + } + else + { + if (beh.onLayoutChange) + beh.onLayoutChange(); + } + } + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + type = this.types_by_index[i]; + if (!type.global && !type.plugin.singleglobal) + continue; + for (j = 0, lenj = type.instances.length; j < lenj; j++) + { + inst = type.instances[j]; + if (isBeforeChange) + { + if (inst.onBeforeLayoutChange) + inst.onBeforeLayoutChange(); + } + else + { + if (inst.onLayoutChange) + inst.onLayoutChange(); + } + if (inst.behavior_insts) + { + for (k = 0, lenk = inst.behavior_insts.length; k < lenk; k++) + { + binst = inst.behavior_insts[k]; + if (isBeforeChange) + { + if (binst.onBeforeLayoutChange) + binst.onBeforeLayoutChange(); + } + else + { + if (binst.onLayoutChange) + binst.onLayoutChange(); + } + } + } + } + } + }; + Runtime.prototype.pretickMe = function (inst) + { + this.objects_to_pretick.add(inst); + }; + Runtime.prototype.unpretickMe = function (inst) + { + this.objects_to_pretick.remove(inst); + }; + Runtime.prototype.tickMe = function (inst) + { + this.objects_to_tick.add(inst); + }; + Runtime.prototype.untickMe = function (inst) + { + this.objects_to_tick.remove(inst); + }; + Runtime.prototype.tick2Me = function (inst) + { + this.objects_to_tick2.add(inst); + }; + Runtime.prototype.untick2Me = function (inst) + { + this.objects_to_tick2.remove(inst); + }; + Runtime.prototype.getDt = function (inst) + { + if (!inst || inst.my_timescale === -1.0) + return this.dt; + return this.dt1 * inst.my_timescale; + }; + Runtime.prototype.draw = function () + { + this.running_layout.draw(this.ctx); + if (this.isDirectCanvas) + this.ctx["present"](); + }; + Runtime.prototype.drawGL = function () + { + if (this.enableFrontToBack) + { + this.earlyz_index = 1; // start from front, 1-based to avoid exactly equalling near plane Z value + this.running_layout.drawGL_earlyZPass(this.glwrap); + } + this.running_layout.drawGL(this.glwrap); + this.glwrap.present(); + }; + Runtime.prototype.addDestroyCallback = function (f) + { + if (f) + this.destroycallbacks.push(f); + }; + Runtime.prototype.removeDestroyCallback = function (f) + { + cr.arrayFindRemove(this.destroycallbacks, f); + }; + Runtime.prototype.getObjectByUID = function (uid_) + { +; + var uidstr = uid_.toString(); + if (this.objectsByUid.hasOwnProperty(uidstr)) + return this.objectsByUid[uidstr]; + else + return null; + }; + var objectset_cache = []; + function alloc_objectset() + { + if (objectset_cache.length) + return objectset_cache.pop(); + else + return new cr.ObjectSet(); + }; + function free_objectset(s) + { + s.clear(); + objectset_cache.push(s); + }; + Runtime.prototype.DestroyInstance = function (inst) + { + var i, len; + var type = inst.type; + var typename = type.name; + var has_typename = this.deathRow.hasOwnProperty(typename); + var obj_set = null; + if (has_typename) + { + obj_set = this.deathRow[typename]; + if (obj_set.contains(inst)) + return; // already had DestroyInstance called + } + else + { + obj_set = alloc_objectset(); + this.deathRow[typename] = obj_set; + } + obj_set.add(inst); + this.hasPendingInstances = true; + if (inst.is_contained) + { + for (i = 0, len = inst.siblings.length; i < len; i++) + { + this.DestroyInstance(inst.siblings[i]); + } + } + if (this.isInClearDeathRow) + obj_set.values_cache.push(inst); + if (!this.isEndingLayout) + { + this.isInOnDestroy++; // support recursion + this.trigger(Object.getPrototypeOf(inst.type.plugin).cnds.OnDestroyed, inst); + this.isInOnDestroy--; + } + }; + Runtime.prototype.ClearDeathRow = function () + { + if (!this.hasPendingInstances) + return; + var inst, type, instances; + var i, j, leni, lenj, obj_set; + this.isInClearDeathRow = true; + for (i = 0, leni = this.createRow.length; i < leni; ++i) + { + inst = this.createRow[i]; + type = inst.type; + type.instances.push(inst); + for (j = 0, lenj = type.families.length; j < lenj; ++j) + { + type.families[j].instances.push(inst); + type.families[j].stale_iids = true; + } + } + cr.clearArray(this.createRow); + this.IterateDeathRow(); // moved to separate function so for-in performance doesn't hobble entire function + cr.wipe(this.deathRow); // all objectsets have already been recycled + this.isInClearDeathRow = false; + this.hasPendingInstances = false; + }; + Runtime.prototype.IterateDeathRow = function () + { + for (var p in this.deathRow) + { + if (this.deathRow.hasOwnProperty(p)) + { + this.ClearDeathRowForType(this.deathRow[p]); + } + } + }; + Runtime.prototype.ClearDeathRowForType = function (obj_set) + { + var arr = obj_set.valuesRef(); // get array of items from set +; + var type = arr[0].type; +; +; + var i, len, j, lenj, w, f, layer_instances, inst; + cr.arrayRemoveAllFromObjectSet(type.instances, obj_set); + type.stale_iids = true; + if (type.instances.length === 0) + type.any_instance_parallaxed = false; + for (i = 0, len = type.families.length; i < len; ++i) + { + f = type.families[i]; + cr.arrayRemoveAllFromObjectSet(f.instances, obj_set); + f.stale_iids = true; + } + for (i = 0, len = this.system.waits.length; i < len; ++i) + { + w = this.system.waits[i]; + if (w.sols.hasOwnProperty(type.index)) + cr.arrayRemoveAllFromObjectSet(w.sols[type.index].insts, obj_set); + if (!type.is_family) + { + for (j = 0, lenj = type.families.length; j < lenj; ++j) + { + f = type.families[j]; + if (w.sols.hasOwnProperty(f.index)) + cr.arrayRemoveAllFromObjectSet(w.sols[f.index].insts, obj_set); + } + } + } + var first_layer = arr[0].layer; + if (first_layer) + { + if (first_layer.useRenderCells) + { + layer_instances = first_layer.instances; + for (i = 0, len = layer_instances.length; i < len; ++i) + { + inst = layer_instances[i]; + if (!obj_set.contains(inst)) + continue; // not destroying this instance + inst.update_bbox(); + first_layer.render_grid.update(inst, inst.rendercells, null); + inst.rendercells.set(0, 0, -1, -1); + } + } + cr.arrayRemoveAllFromObjectSet(first_layer.instances, obj_set); + first_layer.setZIndicesStaleFrom(0); + } + for (i = 0; i < arr.length; ++i) // check array length every time in case it changes + { + this.ClearDeathRowForSingleInstance(arr[i], type); + } + free_objectset(obj_set); + this.redraw = true; + }; + Runtime.prototype.ClearDeathRowForSingleInstance = function (inst, type) + { + var i, len, binst; + for (i = 0, len = this.destroycallbacks.length; i < len; ++i) + this.destroycallbacks[i](inst); + if (inst.collcells) + { + type.collision_grid.update(inst, inst.collcells, null); + } + var layer = inst.layer; + if (layer) + { + layer.removeFromInstanceList(inst, true); // remove from both instance list and render grid + } + if (inst.behavior_insts) + { + for (i = 0, len = inst.behavior_insts.length; i < len; ++i) + { + binst = inst.behavior_insts[i]; + if (binst.onDestroy) + binst.onDestroy(); + binst.behavior.my_instances.remove(inst); + } + } + this.objects_to_pretick.remove(inst); + this.objects_to_tick.remove(inst); + this.objects_to_tick2.remove(inst); + if (inst.onDestroy) + inst.onDestroy(); + if (this.objectsByUid.hasOwnProperty(inst.uid.toString())) + delete this.objectsByUid[inst.uid.toString()]; + this.objectcount--; + if (type.deadCache.length < 100) + type.deadCache.push(inst); + }; + Runtime.prototype.createInstance = function (type, layer, sx, sy) + { + if (type.is_family) + { + var i = cr.floor(Math.random() * type.members.length); + return this.createInstance(type.members[i], layer, sx, sy); + } + if (!type.default_instance) + { + return null; + } + return this.createInstanceFromInit(type.default_instance, layer, false, sx, sy, false); + }; + var all_behaviors = []; + Runtime.prototype.createInstanceFromInit = function (initial_inst, layer, is_startup_instance, sx, sy, skip_siblings) + { + var i, len, j, lenj, p, effect_fallback, x, y; + if (!initial_inst) + return null; + var type = this.types_by_index[initial_inst[1]]; +; +; + var is_world = type.plugin.is_world; +; + if (this.isloading && is_world && !type.isOnLoaderLayout) + return null; + if (is_world && !this.glwrap && initial_inst[0][11] === 11) + return null; + var original_layer = layer; + if (!is_world) + layer = null; + var inst; + if (type.deadCache.length) + { + inst = type.deadCache.pop(); + inst.recycled = true; + type.plugin.Instance.call(inst, type); + } + else + { + inst = new type.plugin.Instance(type); + inst.recycled = false; + } + if (is_startup_instance && !skip_siblings && !this.objectsByUid.hasOwnProperty(initial_inst[2].toString())) + inst.uid = initial_inst[2]; + else + inst.uid = this.next_uid++; + this.objectsByUid[inst.uid.toString()] = inst; + inst.puid = this.next_puid++; + inst.iid = type.instances.length; + for (i = 0, len = this.createRow.length; i < len; ++i) + { + if (this.createRow[i].type === type) + inst.iid++; + } + inst.get_iid = cr.inst_get_iid; + inst.toString = cr.inst_toString; + var initial_vars = initial_inst[3]; + if (inst.recycled) + { + cr.wipe(inst.extra); + } + else + { + inst.extra = {}; + if (typeof cr_is_preview !== "undefined") + { + inst.instance_var_names = []; + inst.instance_var_names.length = initial_vars.length; + for (i = 0, len = initial_vars.length; i < len; i++) + inst.instance_var_names[i] = initial_vars[i][1]; + } + inst.instance_vars = []; + inst.instance_vars.length = initial_vars.length; + } + for (i = 0, len = initial_vars.length; i < len; i++) + inst.instance_vars[i] = initial_vars[i][0]; + if (is_world) + { + var wm = initial_inst[0]; +; + inst.x = cr.is_undefined(sx) ? wm[0] : sx; + inst.y = cr.is_undefined(sy) ? wm[1] : sy; + inst.z = wm[2]; + inst.width = wm[3]; + inst.height = wm[4]; + inst.depth = wm[5]; + inst.angle = wm[6]; + inst.opacity = wm[7]; + inst.hotspotX = wm[8]; + inst.hotspotY = wm[9]; + inst.blend_mode = wm[10]; + effect_fallback = wm[11]; + if (!this.glwrap && type.effect_types.length) // no WebGL renderer and shaders used + inst.blend_mode = effect_fallback; // use fallback blend mode - destroy mode was handled above + inst.compositeOp = cr.effectToCompositeOp(inst.blend_mode); + if (this.gl) + cr.setGLBlend(inst, inst.blend_mode, this.gl); + if (inst.recycled) + { + for (i = 0, len = wm[12].length; i < len; i++) + { + for (j = 0, lenj = wm[12][i].length; j < lenj; j++) + inst.effect_params[i][j] = wm[12][i][j]; + } + inst.bbox.set(0, 0, 0, 0); + inst.collcells.set(0, 0, -1, -1); + inst.rendercells.set(0, 0, -1, -1); + inst.bquad.set_from_rect(inst.bbox); + cr.clearArray(inst.bbox_changed_callbacks); + } + else + { + inst.effect_params = wm[12].slice(0); + for (i = 0, len = inst.effect_params.length; i < len; i++) + inst.effect_params[i] = wm[12][i].slice(0); + inst.active_effect_types = []; + inst.active_effect_flags = []; + inst.active_effect_flags.length = type.effect_types.length; + inst.bbox = new cr.rect(0, 0, 0, 0); + inst.collcells = new cr.rect(0, 0, -1, -1); + inst.rendercells = new cr.rect(0, 0, -1, -1); + inst.bquad = new cr.quad(); + inst.bbox_changed_callbacks = []; + inst.set_bbox_changed = cr.set_bbox_changed; + inst.add_bbox_changed_callback = cr.add_bbox_changed_callback; + inst.contains_pt = cr.inst_contains_pt; + inst.update_bbox = cr.update_bbox; + inst.update_render_cell = cr.update_render_cell; + inst.update_collision_cell = cr.update_collision_cell; + inst.get_zindex = cr.inst_get_zindex; + } + inst.tilemap_exists = false; + inst.tilemap_width = 0; + inst.tilemap_height = 0; + inst.tilemap_data = null; + if (wm.length === 14) + { + inst.tilemap_exists = true; + inst.tilemap_width = wm[13][0]; + inst.tilemap_height = wm[13][1]; + inst.tilemap_data = wm[13][2]; + } + for (i = 0, len = type.effect_types.length; i < len; i++) + inst.active_effect_flags[i] = true; + inst.shaders_preserve_opaqueness = true; + inst.updateActiveEffects = cr.inst_updateActiveEffects; + inst.updateActiveEffects(); + inst.uses_shaders = !!inst.active_effect_types.length; + inst.bbox_changed = true; + inst.cell_changed = true; + type.any_cell_changed = true; + inst.visible = true; + inst.my_timescale = -1.0; + inst.layer = layer; + inst.zindex = layer.instances.length; // will be placed at top of current layer + inst.earlyz_index = 0; + if (typeof inst.collision_poly === "undefined") + inst.collision_poly = null; + inst.collisionsEnabled = true; + this.redraw = true; + } + var initial_props, binst; + cr.clearArray(all_behaviors); + for (i = 0, len = type.families.length; i < len; i++) + { + all_behaviors.push.apply(all_behaviors, type.families[i].behaviors); + } + all_behaviors.push.apply(all_behaviors, type.behaviors); + if (inst.recycled) + { + for (i = 0, len = all_behaviors.length; i < len; i++) + { + var btype = all_behaviors[i]; + binst = inst.behavior_insts[i]; + binst.recycled = true; + btype.behavior.Instance.call(binst, btype, inst); + initial_props = initial_inst[4][i]; + for (j = 0, lenj = initial_props.length; j < lenj; j++) + binst.properties[j] = initial_props[j]; + binst.onCreate(); + btype.behavior.my_instances.add(inst); + } + } + else + { + inst.behavior_insts = []; + for (i = 0, len = all_behaviors.length; i < len; i++) + { + var btype = all_behaviors[i]; + var binst = new btype.behavior.Instance(btype, inst); + binst.recycled = false; + binst.properties = initial_inst[4][i].slice(0); + binst.onCreate(); + cr.seal(binst); + inst.behavior_insts.push(binst); + btype.behavior.my_instances.add(inst); + } + } + initial_props = initial_inst[5]; + if (inst.recycled) + { + for (i = 0, len = initial_props.length; i < len; i++) + inst.properties[i] = initial_props[i]; + } + else + inst.properties = initial_props.slice(0); + this.createRow.push(inst); + this.hasPendingInstances = true; + if (layer) + { +; + layer.appendToInstanceList(inst, true); + if (layer.parallaxX !== 1 || layer.parallaxY !== 1) + type.any_instance_parallaxed = true; + } + this.objectcount++; + if (type.is_contained) + { + inst.is_contained = true; + if (inst.recycled) + cr.clearArray(inst.siblings); + else + inst.siblings = []; // note: should not include self in siblings + if (!is_startup_instance && !skip_siblings) // layout links initial instances + { + for (i = 0, len = type.container.length; i < len; i++) + { + if (type.container[i] === type) + continue; + if (!type.container[i].default_instance) + { + return null; + } + inst.siblings.push(this.createInstanceFromInit(type.container[i].default_instance, original_layer, false, is_world ? inst.x : sx, is_world ? inst.y : sy, true)); + } + for (i = 0, len = inst.siblings.length; i < len; i++) + { + inst.siblings[i].siblings.push(inst); + for (j = 0; j < len; j++) + { + if (i !== j) + inst.siblings[i].siblings.push(inst.siblings[j]); + } + } + } + } + else + { + inst.is_contained = false; + inst.siblings = null; + } + inst.onCreate(); + if (!inst.recycled) + cr.seal(inst); + for (i = 0, len = inst.behavior_insts.length; i < len; i++) + { + if (inst.behavior_insts[i].postCreate) + inst.behavior_insts[i].postCreate(); + } + return inst; + }; + Runtime.prototype.getLayerByName = function (layer_name) + { + var i, len; + for (i = 0, len = this.running_layout.layers.length; i < len; i++) + { + var layer = this.running_layout.layers[i]; + if (cr.equals_nocase(layer.name, layer_name)) + return layer; + } + return null; + }; + Runtime.prototype.getLayerByNumber = function (index) + { + index = cr.floor(index); + if (index < 0) + index = 0; + if (index >= this.running_layout.layers.length) + index = this.running_layout.layers.length - 1; + return this.running_layout.layers[index]; + }; + Runtime.prototype.getLayer = function (l) + { + if (cr.is_number(l)) + return this.getLayerByNumber(l); + else + return this.getLayerByName(l.toString()); + }; + Runtime.prototype.clearSol = function (solModifiers) + { + var i, len; + for (i = 0, len = solModifiers.length; i < len; i++) + { + solModifiers[i].getCurrentSol().select_all = true; + } + }; + Runtime.prototype.pushCleanSol = function (solModifiers) + { + var i, len; + for (i = 0, len = solModifiers.length; i < len; i++) + { + solModifiers[i].pushCleanSol(); + } + }; + Runtime.prototype.pushCopySol = function (solModifiers) + { + var i, len; + for (i = 0, len = solModifiers.length; i < len; i++) + { + solModifiers[i].pushCopySol(); + } + }; + Runtime.prototype.popSol = function (solModifiers) + { + var i, len; + for (i = 0, len = solModifiers.length; i < len; i++) + { + solModifiers[i].popSol(); + } + }; + Runtime.prototype.updateAllCells = function (type) + { + if (!type.any_cell_changed) + return; // all instances must already be up-to-date + var i, len, instances = type.instances; + for (i = 0, len = instances.length; i < len; ++i) + { + instances[i].update_collision_cell(); + } + var createRow = this.createRow; + for (i = 0, len = createRow.length; i < len; ++i) + { + if (createRow[i].type === type) + createRow[i].update_collision_cell(); + } + type.any_cell_changed = false; + }; + Runtime.prototype.getCollisionCandidates = function (layer, rtype, bbox, candidates) + { + var i, len, t; + var is_parallaxed = (layer ? (layer.parallaxX !== 1 || layer.parallaxY !== 1) : false); + if (rtype.is_family) + { + for (i = 0, len = rtype.members.length; i < len; ++i) + { + t = rtype.members[i]; + if (is_parallaxed || t.any_instance_parallaxed) + { + cr.appendArray(candidates, t.instances); + } + else + { + this.updateAllCells(t); + t.collision_grid.queryRange(bbox, candidates); + } + } + } + else + { + if (is_parallaxed || rtype.any_instance_parallaxed) + { + cr.appendArray(candidates, rtype.instances); + } + else + { + this.updateAllCells(rtype); + rtype.collision_grid.queryRange(bbox, candidates); + } + } + }; + Runtime.prototype.getTypesCollisionCandidates = function (layer, types, bbox, candidates) + { + var i, len; + for (i = 0, len = types.length; i < len; ++i) + { + this.getCollisionCandidates(layer, types[i], bbox, candidates); + } + }; + Runtime.prototype.getSolidCollisionCandidates = function (layer, bbox, candidates) + { + var solid = this.getSolidBehavior(); + if (!solid) + return null; + this.getTypesCollisionCandidates(layer, solid.my_types, bbox, candidates); + }; + Runtime.prototype.getJumpthruCollisionCandidates = function (layer, bbox, candidates) + { + var jumpthru = this.getJumpthruBehavior(); + if (!jumpthru) + return null; + this.getTypesCollisionCandidates(layer, jumpthru.my_types, bbox, candidates); + }; + Runtime.prototype.testAndSelectCanvasPointOverlap = function (type, ptx, pty, inverted) + { + var sol = type.getCurrentSol(); + var i, j, inst, len; + var orblock = this.getCurrentEventStack().current_event.orblock; + var lx, ly, arr; + if (sol.select_all) + { + if (!inverted) + { + sol.select_all = false; + cr.clearArray(sol.instances); // clear contents + } + for (i = 0, len = type.instances.length; i < len; i++) + { + inst = type.instances[i]; + inst.update_bbox(); + lx = inst.layer.canvasToLayer(ptx, pty, true); + ly = inst.layer.canvasToLayer(ptx, pty, false); + if (inst.contains_pt(lx, ly)) + { + if (inverted) + return false; + else + sol.instances.push(inst); + } + else if (orblock) + sol.else_instances.push(inst); + } + } + else + { + j = 0; + arr = (orblock ? sol.else_instances : sol.instances); + for (i = 0, len = arr.length; i < len; i++) + { + inst = arr[i]; + inst.update_bbox(); + lx = inst.layer.canvasToLayer(ptx, pty, true); + ly = inst.layer.canvasToLayer(ptx, pty, false); + if (inst.contains_pt(lx, ly)) + { + if (inverted) + return false; + else if (orblock) + sol.instances.push(inst); + else + { + sol.instances[j] = sol.instances[i]; + j++; + } + } + } + if (!inverted) + arr.length = j; + } + type.applySolToContainer(); + if (inverted) + return true; // did not find anything overlapping + else + return sol.hasObjects(); + }; + Runtime.prototype.testOverlap = function (a, b) + { + if (!a || !b || a === b || !a.collisionsEnabled || !b.collisionsEnabled) + return false; + a.update_bbox(); + b.update_bbox(); + var layera = a.layer; + var layerb = b.layer; + var different_layers = (layera !== layerb && (layera.parallaxX !== layerb.parallaxX || layerb.parallaxY !== layerb.parallaxY || layera.scale !== layerb.scale || layera.angle !== layerb.angle || layera.zoomRate !== layerb.zoomRate)); + var i, len, i2, i21, x, y, haspolya, haspolyb, polya, polyb; + if (!different_layers) // same layers: easy check + { + if (!a.bbox.intersects_rect(b.bbox)) + return false; + if (!a.bquad.intersects_quad(b.bquad)) + return false; + if (a.tilemap_exists && b.tilemap_exists) + return false; + if (a.tilemap_exists) + return this.testTilemapOverlap(a, b); + if (b.tilemap_exists) + return this.testTilemapOverlap(b, a); + haspolya = (a.collision_poly && !a.collision_poly.is_empty()); + haspolyb = (b.collision_poly && !b.collision_poly.is_empty()); + if (!haspolya && !haspolyb) + return true; + if (haspolya) + { + a.collision_poly.cache_poly(a.width, a.height, a.angle); + polya = a.collision_poly; + } + else + { + this.temp_poly.set_from_quad(a.bquad, a.x, a.y, a.width, a.height); + polya = this.temp_poly; + } + if (haspolyb) + { + b.collision_poly.cache_poly(b.width, b.height, b.angle); + polyb = b.collision_poly; + } + else + { + this.temp_poly.set_from_quad(b.bquad, b.x, b.y, b.width, b.height); + polyb = this.temp_poly; + } + return polya.intersects_poly(polyb, b.x - a.x, b.y - a.y); + } + else // different layers: need to do full translated check + { + haspolya = (a.collision_poly && !a.collision_poly.is_empty()); + haspolyb = (b.collision_poly && !b.collision_poly.is_empty()); + if (haspolya) + { + a.collision_poly.cache_poly(a.width, a.height, a.angle); + this.temp_poly.set_from_poly(a.collision_poly); + } + else + { + this.temp_poly.set_from_quad(a.bquad, a.x, a.y, a.width, a.height); + } + polya = this.temp_poly; + if (haspolyb) + { + b.collision_poly.cache_poly(b.width, b.height, b.angle); + this.temp_poly2.set_from_poly(b.collision_poly); + } + else + { + this.temp_poly2.set_from_quad(b.bquad, b.x, b.y, b.width, b.height); + } + polyb = this.temp_poly2; + for (i = 0, len = polya.pts_count; i < len; i++) + { + i2 = i * 2; + i21 = i2 + 1; + x = polya.pts_cache[i2]; + y = polya.pts_cache[i21]; + polya.pts_cache[i2] = layera.layerToCanvas(x + a.x, y + a.y, true); + polya.pts_cache[i21] = layera.layerToCanvas(x + a.x, y + a.y, false); + } + polya.update_bbox(); + for (i = 0, len = polyb.pts_count; i < len; i++) + { + i2 = i * 2; + i21 = i2 + 1; + x = polyb.pts_cache[i2]; + y = polyb.pts_cache[i21]; + polyb.pts_cache[i2] = layerb.layerToCanvas(x + b.x, y + b.y, true); + polyb.pts_cache[i21] = layerb.layerToCanvas(x + b.x, y + b.y, false); + } + polyb.update_bbox(); + return polya.intersects_poly(polyb, 0, 0); + } + }; + var tmpQuad = new cr.quad(); + var tmpRect = new cr.rect(0, 0, 0, 0); + var collrect_candidates = []; + Runtime.prototype.testTilemapOverlap = function (tm, a) + { + var i, len, c, rc; + var bbox = a.bbox; + var tmx = tm.x; + var tmy = tm.y; + tm.getCollisionRectCandidates(bbox, collrect_candidates); + var collrects = collrect_candidates; + var haspolya = (a.collision_poly && !a.collision_poly.is_empty()); + for (i = 0, len = collrects.length; i < len; ++i) + { + c = collrects[i]; + rc = c.rc; + if (bbox.intersects_rect_off(rc, tmx, tmy)) + { + tmpQuad.set_from_rect(rc); + tmpQuad.offset(tmx, tmy); + if (tmpQuad.intersects_quad(a.bquad)) + { + if (haspolya) + { + a.collision_poly.cache_poly(a.width, a.height, a.angle); + if (c.poly) + { + if (c.poly.intersects_poly(a.collision_poly, a.x - (tmx + rc.left), a.y - (tmy + rc.top))) + { + cr.clearArray(collrect_candidates); + return true; + } + } + else + { + this.temp_poly.set_from_quad(tmpQuad, 0, 0, rc.right - rc.left, rc.bottom - rc.top); + if (this.temp_poly.intersects_poly(a.collision_poly, a.x, a.y)) + { + cr.clearArray(collrect_candidates); + return true; + } + } + } + else + { + if (c.poly) + { + this.temp_poly.set_from_quad(a.bquad, 0, 0, a.width, a.height); + if (c.poly.intersects_poly(this.temp_poly, -(tmx + rc.left), -(tmy + rc.top))) + { + cr.clearArray(collrect_candidates); + return true; + } + } + else + { + cr.clearArray(collrect_candidates); + return true; + } + } + } + } + } + cr.clearArray(collrect_candidates); + return false; + }; + Runtime.prototype.testRectOverlap = function (r, b) + { + if (!b || !b.collisionsEnabled) + return false; + b.update_bbox(); + var layerb = b.layer; + var haspolyb, polyb; + if (!b.bbox.intersects_rect(r)) + return false; + if (b.tilemap_exists) + { + b.getCollisionRectCandidates(r, collrect_candidates); + var collrects = collrect_candidates; + var i, len, c, tilerc; + var tmx = b.x; + var tmy = b.y; + for (i = 0, len = collrects.length; i < len; ++i) + { + c = collrects[i]; + tilerc = c.rc; + if (r.intersects_rect_off(tilerc, tmx, tmy)) + { + if (c.poly) + { + this.temp_poly.set_from_rect(r, 0, 0); + if (c.poly.intersects_poly(this.temp_poly, -(tmx + tilerc.left), -(tmy + tilerc.top))) + { + cr.clearArray(collrect_candidates); + return true; + } + } + else + { + cr.clearArray(collrect_candidates); + return true; + } + } + } + cr.clearArray(collrect_candidates); + return false; + } + else + { + tmpQuad.set_from_rect(r); + if (!b.bquad.intersects_quad(tmpQuad)) + return false; + haspolyb = (b.collision_poly && !b.collision_poly.is_empty()); + if (!haspolyb) + return true; + b.collision_poly.cache_poly(b.width, b.height, b.angle); + tmpQuad.offset(-r.left, -r.top); + this.temp_poly.set_from_quad(tmpQuad, 0, 0, 1, 1); + return b.collision_poly.intersects_poly(this.temp_poly, r.left - b.x, r.top - b.y); + } + }; + Runtime.prototype.testSegmentOverlap = function (x1, y1, x2, y2, b) + { + if (!b || !b.collisionsEnabled) + return false; + b.update_bbox(); + var layerb = b.layer; + var haspolyb, polyb; + tmpRect.set(cr.min(x1, x2), cr.min(y1, y2), cr.max(x1, x2), cr.max(y1, y2)); + if (!b.bbox.intersects_rect(tmpRect)) + return false; + if (b.tilemap_exists) + { + b.getCollisionRectCandidates(tmpRect, collrect_candidates); + var collrects = collrect_candidates; + var i, len, c, tilerc; + var tmx = b.x; + var tmy = b.y; + for (i = 0, len = collrects.length; i < len; ++i) + { + c = collrects[i]; + tilerc = c.rc; + if (tmpRect.intersects_rect_off(tilerc, tmx, tmy)) + { + tmpQuad.set_from_rect(tilerc); + tmpQuad.offset(tmx, tmy); + if (tmpQuad.intersects_segment(x1, y1, x2, y2)) + { + if (c.poly) + { + if (c.poly.intersects_segment(tmx + tilerc.left, tmy + tilerc.top, x1, y1, x2, y2)) + { + cr.clearArray(collrect_candidates); + return true; + } + } + else + { + cr.clearArray(collrect_candidates); + return true; + } + } + } + } + cr.clearArray(collrect_candidates); + return false; + } + else + { + if (!b.bquad.intersects_segment(x1, y1, x2, y2)) + return false; + haspolyb = (b.collision_poly && !b.collision_poly.is_empty()); + if (!haspolyb) + return true; + b.collision_poly.cache_poly(b.width, b.height, b.angle); + return b.collision_poly.intersects_segment(b.x, b.y, x1, y1, x2, y2); + } + }; + Runtime.prototype.typeHasBehavior = function (t, b) + { + if (!b) + return false; + var i, len, j, lenj, f; + for (i = 0, len = t.behaviors.length; i < len; i++) + { + if (t.behaviors[i].behavior instanceof b) + return true; + } + if (!t.is_family) + { + for (i = 0, len = t.families.length; i < len; i++) + { + f = t.families[i]; + for (j = 0, lenj = f.behaviors.length; j < lenj; j++) + { + if (f.behaviors[j].behavior instanceof b) + return true; + } + } + } + return false; + }; + Runtime.prototype.typeHasNoSaveBehavior = function (t) + { + return this.typeHasBehavior(t, cr.behaviors.NoSave); + }; + Runtime.prototype.typeHasPersistBehavior = function (t) + { + return this.typeHasBehavior(t, cr.behaviors.Persist); + }; + Runtime.prototype.getSolidBehavior = function () + { + return this.solidBehavior; + }; + Runtime.prototype.getJumpthruBehavior = function () + { + return this.jumpthruBehavior; + }; + var candidates = []; + Runtime.prototype.testOverlapSolid = function (inst) + { + var i, len, s; + inst.update_bbox(); + this.getSolidCollisionCandidates(inst.layer, inst.bbox, candidates); + for (i = 0, len = candidates.length; i < len; ++i) + { + s = candidates[i]; + if (!s.extra["solidEnabled"]) + continue; + if (this.testOverlap(inst, s)) + { + cr.clearArray(candidates); + return s; + } + } + cr.clearArray(candidates); + return null; + }; + Runtime.prototype.testRectOverlapSolid = function (r) + { + var i, len, s; + this.getSolidCollisionCandidates(null, r, candidates); + for (i = 0, len = candidates.length; i < len; ++i) + { + s = candidates[i]; + if (!s.extra["solidEnabled"]) + continue; + if (this.testRectOverlap(r, s)) + { + cr.clearArray(candidates); + return s; + } + } + cr.clearArray(candidates); + return null; + }; + var jumpthru_array_ret = []; + Runtime.prototype.testOverlapJumpThru = function (inst, all) + { + var ret = null; + if (all) + { + ret = jumpthru_array_ret; + cr.clearArray(ret); + } + inst.update_bbox(); + this.getJumpthruCollisionCandidates(inst.layer, inst.bbox, candidates); + var i, len, j; + for (i = 0, len = candidates.length; i < len; ++i) + { + j = candidates[i]; + if (!j.extra["jumpthruEnabled"]) + continue; + if (this.testOverlap(inst, j)) + { + if (all) + ret.push(j); + else + { + cr.clearArray(candidates); + return j; + } + } + } + cr.clearArray(candidates); + return ret; + }; + Runtime.prototype.pushOutSolid = function (inst, xdir, ydir, dist, include_jumpthrus, specific_jumpthru) + { + var push_dist = dist || 50; + var oldx = inst.x + var oldy = inst.y; + var i; + var last_overlapped = null, secondlast_overlapped = null; + for (i = 0; i < push_dist; i++) + { + inst.x = (oldx + (xdir * i)); + inst.y = (oldy + (ydir * i)); + inst.set_bbox_changed(); + if (!this.testOverlap(inst, last_overlapped)) + { + last_overlapped = this.testOverlapSolid(inst); + if (last_overlapped) + secondlast_overlapped = last_overlapped; + if (!last_overlapped) + { + if (include_jumpthrus) + { + if (specific_jumpthru) + last_overlapped = (this.testOverlap(inst, specific_jumpthru) ? specific_jumpthru : null); + else + last_overlapped = this.testOverlapJumpThru(inst); + if (last_overlapped) + secondlast_overlapped = last_overlapped; + } + if (!last_overlapped) + { + if (secondlast_overlapped) + this.pushInFractional(inst, xdir, ydir, secondlast_overlapped, 16); + return true; + } + } + } + } + inst.x = oldx; + inst.y = oldy; + inst.set_bbox_changed(); + return false; + }; + Runtime.prototype.pushOutSolidAxis = function(inst, xdir, ydir, dist) + { + dist = dist || 50; + var oldX = inst.x; + var oldY = inst.y; + var lastOverlapped = null; + var secondLastOverlapped = null; + var i, which, sign; + for (i = 0; i < dist; ++i) + { + for (which = 0; which < 2; ++which) + { + sign = which * 2 - 1; // -1 or 1 + inst.x = oldX + (xdir * i * sign); + inst.y = oldY + (ydir * i * sign); + inst.set_bbox_changed(); + if (!this.testOverlap(inst, lastOverlapped)) + { + lastOverlapped = this.testOverlapSolid(inst); + if (lastOverlapped) + { + secondLastOverlapped = lastOverlapped; + } + else + { + if (secondLastOverlapped) + this.pushInFractional(inst, xdir * sign, ydir * sign, secondLastOverlapped, 16); + return true; + } + } + } + } + inst.x = oldX; + inst.y = oldY; + inst.set_bbox_changed(); + return false; + }; + Runtime.prototype.pushOut = function (inst, xdir, ydir, dist, otherinst) + { + var push_dist = dist || 50; + var oldx = inst.x + var oldy = inst.y; + var i; + for (i = 0; i < push_dist; i++) + { + inst.x = (oldx + (xdir * i)); + inst.y = (oldy + (ydir * i)); + inst.set_bbox_changed(); + if (!this.testOverlap(inst, otherinst)) + return true; + } + inst.x = oldx; + inst.y = oldy; + inst.set_bbox_changed(); + return false; + }; + Runtime.prototype.pushInFractional = function (inst, xdir, ydir, obj, limit) + { + var divisor = 2; + var frac; + var forward = false; + var overlapping = false; + var bestx = inst.x; + var besty = inst.y; + while (divisor <= limit) + { + frac = 1 / divisor; + divisor *= 2; + inst.x += xdir * frac * (forward ? 1 : -1); + inst.y += ydir * frac * (forward ? 1 : -1); + inst.set_bbox_changed(); + if (this.testOverlap(inst, obj)) + { + forward = true; + overlapping = true; + } + else + { + forward = false; + overlapping = false; + bestx = inst.x; + besty = inst.y; + } + } + if (overlapping) + { + inst.x = bestx; + inst.y = besty; + inst.set_bbox_changed(); + } + }; + Runtime.prototype.pushOutSolidNearest = function (inst, max_dist_) + { + var max_dist = (cr.is_undefined(max_dist_) ? 100 : max_dist_); + var dist = 0; + var oldx = inst.x + var oldy = inst.y; + var dir = 0; + var dx = 0, dy = 0; + var last_overlapped = this.testOverlapSolid(inst); + if (!last_overlapped) + return true; // already clear of solids + while (dist <= max_dist) + { + switch (dir) { + case 0: dx = 0; dy = -1; dist++; break; + case 1: dx = 1; dy = -1; break; + case 2: dx = 1; dy = 0; break; + case 3: dx = 1; dy = 1; break; + case 4: dx = 0; dy = 1; break; + case 5: dx = -1; dy = 1; break; + case 6: dx = -1; dy = 0; break; + case 7: dx = -1; dy = -1; break; + } + dir = (dir + 1) % 8; + inst.x = cr.floor(oldx + (dx * dist)); + inst.y = cr.floor(oldy + (dy * dist)); + inst.set_bbox_changed(); + if (!this.testOverlap(inst, last_overlapped)) + { + last_overlapped = this.testOverlapSolid(inst); + if (!last_overlapped) + return true; + } + } + inst.x = oldx; + inst.y = oldy; + inst.set_bbox_changed(); + return false; + }; + Runtime.prototype.registerCollision = function (a, b) + { + if (!a.collisionsEnabled || !b.collisionsEnabled) + return; + this.registered_collisions.push([a, b]); + }; + Runtime.prototype.addRegisteredCollisionCandidates = function (inst, otherType, arr) + { + var i, len, r, otherInst; + for (i = 0, len = this.registered_collisions.length; i < len; ++i) + { + r = this.registered_collisions[i]; + if (r[0] === inst) + otherInst = r[1]; + else if (r[1] === inst) + otherInst = r[0]; + else + continue; + if (otherType.is_family) + { + if (otherType.members.indexOf(otherType) === -1) + continue; + } + else + { + if (otherInst.type !== otherType) + continue; + } + if (arr.indexOf(otherInst) === -1) + arr.push(otherInst); + } + }; + Runtime.prototype.checkRegisteredCollision = function (a, b) + { + var i, len, x; + for (i = 0, len = this.registered_collisions.length; i < len; i++) + { + x = this.registered_collisions[i]; + if ((x[0] === a && x[1] === b) || (x[0] === b && x[1] === a)) + return true; + } + return false; + }; + Runtime.prototype.calculateSolidBounceAngle = function(inst, startx, starty, obj) + { + var objx = inst.x; + var objy = inst.y; + var radius = cr.max(10, cr.distanceTo(startx, starty, objx, objy)); + var startangle = cr.angleTo(startx, starty, objx, objy); + var firstsolid = obj || this.testOverlapSolid(inst); + if (!firstsolid) + return cr.clamp_angle(startangle + cr.PI); + var cursolid = firstsolid; + var i, curangle, anticlockwise_free_angle, clockwise_free_angle; + var increment = cr.to_radians(5); // 5 degree increments + for (i = 1; i < 36; i++) + { + curangle = startangle - i * increment; + inst.x = startx + Math.cos(curangle) * radius; + inst.y = starty + Math.sin(curangle) * radius; + inst.set_bbox_changed(); + if (!this.testOverlap(inst, cursolid)) + { + cursolid = obj ? null : this.testOverlapSolid(inst); + if (!cursolid) + { + anticlockwise_free_angle = curangle; + break; + } + } + } + if (i === 36) + anticlockwise_free_angle = cr.clamp_angle(startangle + cr.PI); + var cursolid = firstsolid; + for (i = 1; i < 36; i++) + { + curangle = startangle + i * increment; + inst.x = startx + Math.cos(curangle) * radius; + inst.y = starty + Math.sin(curangle) * radius; + inst.set_bbox_changed(); + if (!this.testOverlap(inst, cursolid)) + { + cursolid = obj ? null : this.testOverlapSolid(inst); + if (!cursolid) + { + clockwise_free_angle = curangle; + break; + } + } + } + if (i === 36) + clockwise_free_angle = cr.clamp_angle(startangle + cr.PI); + inst.x = objx; + inst.y = objy; + inst.set_bbox_changed(); + if (clockwise_free_angle === anticlockwise_free_angle) + return clockwise_free_angle; + var half_diff = cr.angleDiff(clockwise_free_angle, anticlockwise_free_angle) / 2; + var normal; + if (cr.angleClockwise(clockwise_free_angle, anticlockwise_free_angle)) + { + normal = cr.clamp_angle(anticlockwise_free_angle + half_diff + cr.PI); + } + else + { + normal = cr.clamp_angle(clockwise_free_angle + half_diff); + } +; + var vx = Math.cos(startangle); + var vy = Math.sin(startangle); + var nx = Math.cos(normal); + var ny = Math.sin(normal); + var v_dot_n = vx * nx + vy * ny; + var rx = vx - 2 * v_dot_n * nx; + var ry = vy - 2 * v_dot_n * ny; + return cr.angleTo(0, 0, rx, ry); + }; + var triggerSheetIndex = -1; + Runtime.prototype.trigger = function (method, inst, value /* for fast triggers */) + { +; + if (!this.running_layout) + return false; + var sheet = this.running_layout.event_sheet; + if (!sheet) + return false; // no event sheet active; nothing to trigger + var ret = false; + var r, i, len; + triggerSheetIndex++; + var deep_includes = sheet.deep_includes; + for (i = 0, len = deep_includes.length; i < len; ++i) + { + r = this.triggerOnSheet(method, inst, deep_includes[i], value); + ret = ret || r; + } + r = this.triggerOnSheet(method, inst, sheet, value); + ret = ret || r; + triggerSheetIndex--; + return ret; + }; + Runtime.prototype.triggerOnSheet = function (method, inst, sheet, value) + { + var ret = false; + var i, leni, r, families; + if (!inst) + { + r = this.triggerOnSheetForTypeName(method, inst, "system", sheet, value); + ret = ret || r; + } + else + { + r = this.triggerOnSheetForTypeName(method, inst, inst.type.name, sheet, value); + ret = ret || r; + families = inst.type.families; + for (i = 0, leni = families.length; i < leni; ++i) + { + r = this.triggerOnSheetForTypeName(method, inst, families[i].name, sheet, value); + ret = ret || r; + } + } + return ret; // true if anything got triggered + }; + Runtime.prototype.triggerOnSheetForTypeName = function (method, inst, type_name, sheet, value) + { + var i, leni; + var ret = false, ret2 = false; + var trig, index; + var fasttrigger = (typeof value !== "undefined"); + var triggers = (fasttrigger ? sheet.fasttriggers : sheet.triggers); + var obj_entry = triggers[type_name]; + if (!obj_entry) + return ret; + var triggers_list = null; + for (i = 0, leni = obj_entry.length; i < leni; ++i) + { + if (obj_entry[i].method == method) + { + triggers_list = obj_entry[i].evs; + break; + } + } + if (!triggers_list) + return ret; + var triggers_to_fire; + if (fasttrigger) + { + triggers_to_fire = triggers_list[value]; + } + else + { + triggers_to_fire = triggers_list; + } + if (!triggers_to_fire) + return null; + for (i = 0, leni = triggers_to_fire.length; i < leni; i++) + { + trig = triggers_to_fire[i][0]; + index = triggers_to_fire[i][1]; + ret2 = this.executeSingleTrigger(inst, type_name, trig, index); + ret = ret || ret2; + } + return ret; + }; + Runtime.prototype.executeSingleTrigger = function (inst, type_name, trig, index) + { + var i, leni; + var ret = false; + this.trigger_depth++; + var current_event = this.getCurrentEventStack().current_event; + if (current_event) + this.pushCleanSol(current_event.solModifiersIncludingParents); + var isrecursive = (this.trigger_depth > 1); // calling trigger from inside another trigger + this.pushCleanSol(trig.solModifiersIncludingParents); + if (isrecursive) + this.pushLocalVarStack(); + var event_stack = this.pushEventStack(trig); + event_stack.current_event = trig; + if (inst) + { + var sol = this.types[type_name].getCurrentSol(); + sol.select_all = false; + cr.clearArray(sol.instances); + sol.instances[0] = inst; + this.types[type_name].applySolToContainer(); + } + var ok_to_run = true; + if (trig.parent) + { + var temp_parents_arr = event_stack.temp_parents_arr; + var cur_parent = trig.parent; + while (cur_parent) + { + temp_parents_arr.push(cur_parent); + cur_parent = cur_parent.parent; + } + temp_parents_arr.reverse(); + for (i = 0, leni = temp_parents_arr.length; i < leni; i++) + { + if (!temp_parents_arr[i].run_pretrigger()) // parent event failed + { + ok_to_run = false; + break; + } + } + } + if (ok_to_run) + { + this.execcount++; + if (trig.orblock) + trig.run_orblocktrigger(index); + else + trig.run(); + ret = ret || event_stack.last_event_true; + } + this.popEventStack(); + if (isrecursive) + this.popLocalVarStack(); + this.popSol(trig.solModifiersIncludingParents); + if (current_event) + this.popSol(current_event.solModifiersIncludingParents); + if (this.hasPendingInstances && this.isInOnDestroy === 0 && triggerSheetIndex === 0 && !this.isRunningEvents) + { + this.ClearDeathRow(); + } + this.trigger_depth--; + return ret; + }; + Runtime.prototype.getCurrentCondition = function () + { + var evinfo = this.getCurrentEventStack(); + return evinfo.current_event.conditions[evinfo.cndindex]; + }; + Runtime.prototype.getCurrentConditionObjectType = function () + { + var cnd = this.getCurrentCondition(); + return cnd.type; + }; + Runtime.prototype.isCurrentConditionFirst = function () + { + var evinfo = this.getCurrentEventStack(); + return evinfo.cndindex === 0; + }; + Runtime.prototype.getCurrentAction = function () + { + var evinfo = this.getCurrentEventStack(); + return evinfo.current_event.actions[evinfo.actindex]; + }; + Runtime.prototype.pushLocalVarStack = function () + { + this.localvar_stack_index++; + if (this.localvar_stack_index >= this.localvar_stack.length) + this.localvar_stack.push([]); + }; + Runtime.prototype.popLocalVarStack = function () + { +; + this.localvar_stack_index--; + }; + Runtime.prototype.getCurrentLocalVarStack = function () + { + return this.localvar_stack[this.localvar_stack_index]; + }; + Runtime.prototype.pushEventStack = function (cur_event) + { + this.event_stack_index++; + if (this.event_stack_index >= this.event_stack.length) + this.event_stack.push(new cr.eventStackFrame()); + var ret = this.getCurrentEventStack(); + ret.reset(cur_event); + return ret; + }; + Runtime.prototype.popEventStack = function () + { +; + this.event_stack_index--; + }; + Runtime.prototype.getCurrentEventStack = function () + { + return this.event_stack[this.event_stack_index]; + }; + Runtime.prototype.pushLoopStack = function (name_) + { + this.loop_stack_index++; + if (this.loop_stack_index >= this.loop_stack.length) + { + this.loop_stack.push(cr.seal({ name: name_, index: 0, stopped: false })); + } + var ret = this.getCurrentLoop(); + ret.name = name_; + ret.index = 0; + ret.stopped = false; + return ret; + }; + Runtime.prototype.popLoopStack = function () + { +; + this.loop_stack_index--; + }; + Runtime.prototype.getCurrentLoop = function () + { + return this.loop_stack[this.loop_stack_index]; + }; + Runtime.prototype.getEventVariableByName = function (name, scope) + { + var i, leni, j, lenj, sheet, e; + while (scope) + { + for (i = 0, leni = scope.subevents.length; i < leni; i++) + { + e = scope.subevents[i]; + if (e instanceof cr.eventvariable && cr.equals_nocase(name, e.name)) + return e; + } + scope = scope.parent; + } + for (i = 0, leni = this.eventsheets_by_index.length; i < leni; i++) + { + sheet = this.eventsheets_by_index[i]; + for (j = 0, lenj = sheet.events.length; j < lenj; j++) + { + e = sheet.events[j]; + if (e instanceof cr.eventvariable && cr.equals_nocase(name, e.name)) + return e; + } + } + return null; + }; + Runtime.prototype.getLayoutBySid = function (sid_) + { + var i, len; + for (i = 0, len = this.layouts_by_index.length; i < len; i++) + { + if (this.layouts_by_index[i].sid === sid_) + return this.layouts_by_index[i]; + } + return null; + }; + Runtime.prototype.getObjectTypeBySid = function (sid_) + { + var i, len; + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + if (this.types_by_index[i].sid === sid_) + return this.types_by_index[i]; + } + return null; + }; + Runtime.prototype.getGroupBySid = function (sid_) + { + var i, len; + for (i = 0, len = this.allGroups.length; i < len; i++) + { + if (this.allGroups[i].sid === sid_) + return this.allGroups[i]; + } + return null; + }; + Runtime.prototype.doCanvasSnapshot = function (format_, quality_) + { + this.snapshotCanvas = [format_, quality_]; + this.redraw = true; // force redraw so snapshot is always taken + }; + function IsIndexedDBAvailable() + { + try { + return !!window.indexedDB; + } + catch (e) + { + return false; + } + }; + function makeSaveDb(e) + { + var db = e.target.result; + db.createObjectStore("saves", { keyPath: "slot" }); + }; + function IndexedDB_WriteSlot(slot_, data_, oncomplete_, onerror_) + { + try { + var request = indexedDB.open("_C2SaveStates"); + request.onupgradeneeded = makeSaveDb; + request.onerror = onerror_; + request.onsuccess = function (e) + { + var db = e.target.result; + db.onerror = onerror_; + var transaction = db.transaction(["saves"], "readwrite"); + var objectStore = transaction.objectStore("saves"); + var putReq = objectStore.put({"slot": slot_, "data": data_ }); + putReq.onsuccess = oncomplete_; + }; + } + catch (err) + { + onerror_(err); + } + }; + function IndexedDB_ReadSlot(slot_, oncomplete_, onerror_) + { + try { + var request = indexedDB.open("_C2SaveStates"); + request.onupgradeneeded = makeSaveDb; + request.onerror = onerror_; + request.onsuccess = function (e) + { + var db = e.target.result; + db.onerror = onerror_; + var transaction = db.transaction(["saves"]); + var objectStore = transaction.objectStore("saves"); + var readReq = objectStore.get(slot_); + readReq.onsuccess = function (e) + { + if (readReq.result) + oncomplete_(readReq.result["data"]); + else + oncomplete_(null); + }; + }; + } + catch (err) + { + onerror_(err); + } + }; + Runtime.prototype.signalContinuousPreview = function () + { + this.signalledContinuousPreview = true; + }; + function doContinuousPreviewReload() + { + cr.logexport("Reloading for continuous preview"); + if (!!window["c2cocoonjs"]) + { + CocoonJS["App"]["reload"](); + } + else + { + if (window.location.search.indexOf("continuous") > -1) + window.location.reload(true); + else + window.location = window.location + "?continuous"; + } + }; + Runtime.prototype.handleSaveLoad = function () + { + var self = this; + var savingToSlot = this.saveToSlot; + var savingJson = this.lastSaveJson; + var loadingFromSlot = this.loadFromSlot; + var continuous = false; + if (this.signalledContinuousPreview) + { + continuous = true; + savingToSlot = "__c2_continuouspreview"; + this.signalledContinuousPreview = false; + } + if (savingToSlot.length) + { + this.ClearDeathRow(); + savingJson = this.saveToJSONString(); + if (IsIndexedDBAvailable() && !this.isCocoonJs) + { + IndexedDB_WriteSlot(savingToSlot, savingJson, function () + { + cr.logexport("Saved state to IndexedDB storage (" + savingJson.length + " bytes)"); + self.lastSaveJson = savingJson; + self.trigger(cr.system_object.prototype.cnds.OnSaveComplete, null); + self.lastSaveJson = ""; + if (continuous) + doContinuousPreviewReload(); + }, function (e) + { + try { + localStorage.setItem("__c2save_" + savingToSlot, savingJson); + cr.logexport("Saved state to WebStorage (" + savingJson.length + " bytes)"); + self.lastSaveJson = savingJson; + self.trigger(cr.system_object.prototype.cnds.OnSaveComplete, null); + self.lastSaveJson = ""; + if (continuous) + doContinuousPreviewReload(); + } + catch (f) + { + cr.logexport("Failed to save game state: " + e + "; " + f); + self.trigger(cr.system_object.prototype.cnds.OnSaveFailed, null); + } + }); + } + else + { + try { + localStorage.setItem("__c2save_" + savingToSlot, savingJson); + cr.logexport("Saved state to WebStorage (" + savingJson.length + " bytes)"); + self.lastSaveJson = savingJson; + this.trigger(cr.system_object.prototype.cnds.OnSaveComplete, null); + self.lastSaveJson = ""; + if (continuous) + doContinuousPreviewReload(); + } + catch (e) + { + cr.logexport("Error saving to WebStorage: " + e); + self.trigger(cr.system_object.prototype.cnds.OnSaveFailed, null); + } + } + this.saveToSlot = ""; + this.loadFromSlot = ""; + this.loadFromJson = null; + } + if (loadingFromSlot.length) + { + if (IsIndexedDBAvailable() && !this.isCocoonJs) + { + IndexedDB_ReadSlot(loadingFromSlot, function (result_) + { + if (result_) + { + self.loadFromJson = result_; + cr.logexport("Loaded state from IndexedDB storage (" + self.loadFromJson.length + " bytes)"); + } + else + { + self.loadFromJson = localStorage.getItem("__c2save_" + loadingFromSlot) || ""; + cr.logexport("Loaded state from WebStorage (" + self.loadFromJson.length + " bytes)"); + } + self.suspendDrawing = false; + if (!self.loadFromJson) + { + self.loadFromJson = null; + self.trigger(cr.system_object.prototype.cnds.OnLoadFailed, null); + } + }, function (e) + { + self.loadFromJson = localStorage.getItem("__c2save_" + loadingFromSlot) || ""; + cr.logexport("Loaded state from WebStorage (" + self.loadFromJson.length + " bytes)"); + self.suspendDrawing = false; + if (!self.loadFromJson) + { + self.loadFromJson = null; + self.trigger(cr.system_object.prototype.cnds.OnLoadFailed, null); + } + }); + } + else + { + try { + this.loadFromJson = localStorage.getItem("__c2save_" + loadingFromSlot) || ""; + cr.logexport("Loaded state from WebStorage (" + this.loadFromJson.length + " bytes)"); + } + catch (e) + { + this.loadFromJson = null; + } + this.suspendDrawing = false; + if (!self.loadFromJson) + { + self.loadFromJson = null; + self.trigger(cr.system_object.prototype.cnds.OnLoadFailed, null); + } + } + this.loadFromSlot = ""; + this.saveToSlot = ""; + } + if (this.loadFromJson !== null) + { + this.ClearDeathRow(); + var ok = this.loadFromJSONString(this.loadFromJson); + if (ok) + { + this.lastSaveJson = this.loadFromJson; + this.trigger(cr.system_object.prototype.cnds.OnLoadComplete, null); + this.lastSaveJson = ""; + } + else + { + self.trigger(cr.system_object.prototype.cnds.OnLoadFailed, null); + } + this.loadFromJson = null; + } + }; + function CopyExtraObject(extra) + { + var p, ret = {}; + for (p in extra) + { + if (extra.hasOwnProperty(p)) + { + if (extra[p] instanceof cr.ObjectSet) + continue; + if (extra[p] && typeof extra[p].c2userdata !== "undefined") + continue; + if (p === "spriteCreatedDestroyCallback") + continue; + ret[p] = extra[p]; + } + } + return ret; + }; + Runtime.prototype.saveToJSONString = function() + { + var i, len, j, lenj, type, layout, typeobj, g, c, a, v, p; + var o = { + "c2save": true, + "version": 1, + "rt": { + "time": this.kahanTime.sum, + "walltime": this.wallTime.sum, + "timescale": this.timescale, + "tickcount": this.tickcount, + "execcount": this.execcount, + "next_uid": this.next_uid, + "running_layout": this.running_layout.sid, + "start_time_offset": (Date.now() - this.start_time) + }, + "types": {}, + "layouts": {}, + "events": { + "groups": {}, + "cnds": {}, + "acts": {}, + "vars": {} + } + }; + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + type = this.types_by_index[i]; + if (type.is_family || this.typeHasNoSaveBehavior(type)) + continue; + typeobj = { + "instances": [] + }; + if (cr.hasAnyOwnProperty(type.extra)) + typeobj["ex"] = CopyExtraObject(type.extra); + for (j = 0, lenj = type.instances.length; j < lenj; j++) + { + typeobj["instances"].push(this.saveInstanceToJSON(type.instances[j])); + } + o["types"][type.sid.toString()] = typeobj; + } + for (i = 0, len = this.layouts_by_index.length; i < len; i++) + { + layout = this.layouts_by_index[i]; + o["layouts"][layout.sid.toString()] = layout.saveToJSON(); + } + var ogroups = o["events"]["groups"]; + for (i = 0, len = this.allGroups.length; i < len; i++) + { + g = this.allGroups[i]; + ogroups[g.sid.toString()] = this.groups_by_name[g.group_name].group_active; + } + var ocnds = o["events"]["cnds"]; + for (p in this.cndsBySid) + { + if (this.cndsBySid.hasOwnProperty(p)) + { + c = this.cndsBySid[p]; + if (cr.hasAnyOwnProperty(c.extra)) + ocnds[p] = { "ex": CopyExtraObject(c.extra) }; + } + } + var oacts = o["events"]["acts"]; + for (p in this.actsBySid) + { + if (this.actsBySid.hasOwnProperty(p)) + { + a = this.actsBySid[p]; + if (cr.hasAnyOwnProperty(a.extra)) + oacts[p] = { "ex": CopyExtraObject(a.extra) }; + } + } + var ovars = o["events"]["vars"]; + for (p in this.varsBySid) + { + if (this.varsBySid.hasOwnProperty(p)) + { + v = this.varsBySid[p]; + if (!v.is_constant && (!v.parent || v.is_static)) + ovars[p] = v.data; + } + } + o["system"] = this.system.saveToJSON(); + return JSON.stringify(o); + }; + Runtime.prototype.refreshUidMap = function () + { + var i, len, type, j, lenj, inst; + this.objectsByUid = {}; + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + type = this.types_by_index[i]; + if (type.is_family) + continue; + for (j = 0, lenj = type.instances.length; j < lenj; j++) + { + inst = type.instances[j]; + this.objectsByUid[inst.uid.toString()] = inst; + } + } + }; + Runtime.prototype.loadFromJSONString = function (str) + { + var o; + try { + o = JSON.parse(str); + } + catch (e) { + return false; + } + if (!o["c2save"]) + return false; // probably not a c2 save state + if (o["version"] > 1) + return false; // from future version of c2; assume not compatible + this.isLoadingState = true; + var rt = o["rt"]; + this.kahanTime.reset(); + this.kahanTime.sum = rt["time"]; + this.wallTime.reset(); + this.wallTime.sum = rt["walltime"] || 0; + this.timescale = rt["timescale"]; + this.tickcount = rt["tickcount"]; + this.execcount = rt["execcount"]; + this.start_time = Date.now() - rt["start_time_offset"]; + var layout_sid = rt["running_layout"]; + if (layout_sid !== this.running_layout.sid) + { + var changeToLayout = this.getLayoutBySid(layout_sid); + if (changeToLayout) + this.doChangeLayout(changeToLayout); + else + return; // layout that was saved on has gone missing (deleted?) + } + var i, len, j, lenj, k, lenk, p, type, existing_insts, load_insts, inst, binst, layout, layer, g, iid, t; + var otypes = o["types"]; + for (p in otypes) + { + if (otypes.hasOwnProperty(p)) + { + type = this.getObjectTypeBySid(parseInt(p, 10)); + if (!type || type.is_family || this.typeHasNoSaveBehavior(type)) + continue; + if (otypes[p]["ex"]) + type.extra = otypes[p]["ex"]; + else + cr.wipe(type.extra); + existing_insts = type.instances; + load_insts = otypes[p]["instances"]; + for (i = 0, len = cr.min(existing_insts.length, load_insts.length); i < len; i++) + { + this.loadInstanceFromJSON(existing_insts[i], load_insts[i]); + } + for (i = load_insts.length, len = existing_insts.length; i < len; i++) + this.DestroyInstance(existing_insts[i]); + for (i = existing_insts.length, len = load_insts.length; i < len; i++) + { + layer = null; + if (type.plugin.is_world) + { + layer = this.running_layout.getLayerBySid(load_insts[i]["w"]["l"]); + if (!layer) + continue; + } + inst = this.createInstanceFromInit(type.default_instance, layer, false, 0, 0, true); + this.loadInstanceFromJSON(inst, load_insts[i]); + } + type.stale_iids = true; + } + } + this.ClearDeathRow(); + this.refreshUidMap(); + var olayouts = o["layouts"]; + for (p in olayouts) + { + if (olayouts.hasOwnProperty(p)) + { + layout = this.getLayoutBySid(parseInt(p, 10)); + if (!layout) + continue; // must've gone missing + layout.loadFromJSON(olayouts[p]); + } + } + var ogroups = o["events"]["groups"]; + for (p in ogroups) + { + if (ogroups.hasOwnProperty(p)) + { + g = this.getGroupBySid(parseInt(p, 10)); + if (g && this.groups_by_name[g.group_name]) + this.groups_by_name[g.group_name].setGroupActive(ogroups[p]); + } + } + var ocnds = o["events"]["cnds"]; + for (p in this.cndsBySid) + { + if (this.cndsBySid.hasOwnProperty(p)) + { + if (ocnds.hasOwnProperty(p)) + { + this.cndsBySid[p].extra = ocnds[p]["ex"]; + } + else + { + this.cndsBySid[p].extra = {}; + } + } + } + var oacts = o["events"]["acts"]; + for (p in this.actsBySid) + { + if (this.actsBySid.hasOwnProperty(p)) + { + if (oacts.hasOwnProperty(p)) + { + this.actsBySid[p].extra = oacts[p]["ex"]; + } + else + { + this.actsBySid[p].extra = {}; + } + } + } + var ovars = o["events"]["vars"]; + for (p in ovars) + { + if (ovars.hasOwnProperty(p) && this.varsBySid.hasOwnProperty(p)) + { + this.varsBySid[p].data = ovars[p]; + } + } + this.next_uid = rt["next_uid"]; + this.isLoadingState = false; + for (i = 0, len = this.fireOnCreateAfterLoad.length; i < len; ++i) + { + inst = this.fireOnCreateAfterLoad[i]; + this.trigger(Object.getPrototypeOf(inst.type.plugin).cnds.OnCreated, inst); + } + cr.clearArray(this.fireOnCreateAfterLoad); + this.system.loadFromJSON(o["system"]); + for (i = 0, len = this.types_by_index.length; i < len; i++) + { + type = this.types_by_index[i]; + if (type.is_family || this.typeHasNoSaveBehavior(type)) + continue; + for (j = 0, lenj = type.instances.length; j < lenj; j++) + { + inst = type.instances[j]; + if (type.is_contained) + { + iid = inst.get_iid(); + cr.clearArray(inst.siblings); + for (k = 0, lenk = type.container.length; k < lenk; k++) + { + t = type.container[k]; + if (type === t) + continue; +; + inst.siblings.push(t.instances[iid]); + } + } + if (inst.afterLoad) + inst.afterLoad(); + if (inst.behavior_insts) + { + for (k = 0, lenk = inst.behavior_insts.length; k < lenk; k++) + { + binst = inst.behavior_insts[k]; + if (binst.afterLoad) + binst.afterLoad(); + } + } + } + } + this.redraw = true; + return true; + }; + Runtime.prototype.saveInstanceToJSON = function(inst, state_only) + { + var i, len, world, behinst, et; + var type = inst.type; + var plugin = type.plugin; + var o = {}; + if (state_only) + o["c2"] = true; // mark as known json data from Construct 2 + else + o["uid"] = inst.uid; + if (cr.hasAnyOwnProperty(inst.extra)) + o["ex"] = CopyExtraObject(inst.extra); + if (inst.instance_vars && inst.instance_vars.length) + { + o["ivs"] = {}; + for (i = 0, len = inst.instance_vars.length; i < len; i++) + { + o["ivs"][inst.type.instvar_sids[i].toString()] = inst.instance_vars[i]; + } + } + if (plugin.is_world) + { + world = { + "x": inst.x, + "y": inst.y, + "w": inst.width, + "h": inst.height, + "l": inst.layer.sid, + "zi": inst.get_zindex() + }; + if (inst.angle !== 0) + world["a"] = inst.angle; + if (inst.opacity !== 1) + world["o"] = inst.opacity; + if (inst.hotspotX !== 0.5) + world["hX"] = inst.hotspotX; + if (inst.hotspotY !== 0.5) + world["hY"] = inst.hotspotY; + if (inst.blend_mode !== 0) + world["bm"] = inst.blend_mode; + if (!inst.visible) + world["v"] = inst.visible; + if (!inst.collisionsEnabled) + world["ce"] = inst.collisionsEnabled; + if (inst.my_timescale !== -1) + world["mts"] = inst.my_timescale; + if (type.effect_types.length) + { + world["fx"] = []; + for (i = 0, len = type.effect_types.length; i < len; i++) + { + et = type.effect_types[i]; + world["fx"].push({"name": et.name, + "active": inst.active_effect_flags[et.index], + "params": inst.effect_params[et.index] }); + } + } + o["w"] = world; + } + if (inst.behavior_insts && inst.behavior_insts.length) + { + o["behs"] = {}; + for (i = 0, len = inst.behavior_insts.length; i < len; i++) + { + behinst = inst.behavior_insts[i]; + if (behinst.saveToJSON) + o["behs"][behinst.type.sid.toString()] = behinst.saveToJSON(); + } + } + if (inst.saveToJSON) + o["data"] = inst.saveToJSON(); + return o; + }; + Runtime.prototype.getInstanceVarIndexBySid = function (type, sid_) + { + var i, len; + for (i = 0, len = type.instvar_sids.length; i < len; i++) + { + if (type.instvar_sids[i] === sid_) + return i; + } + return -1; + }; + Runtime.prototype.getBehaviorIndexBySid = function (inst, sid_) + { + var i, len; + for (i = 0, len = inst.behavior_insts.length; i < len; i++) + { + if (inst.behavior_insts[i].type.sid === sid_) + return i; + } + return -1; + }; + Runtime.prototype.loadInstanceFromJSON = function(inst, o, state_only) + { + var p, i, len, iv, oivs, world, fxindex, obehs, behindex, value; + var oldlayer; + var type = inst.type; + var plugin = type.plugin; + if (state_only) + { + if (!o["c2"]) + return; + } + else + inst.uid = o["uid"]; + if (o["ex"]) + inst.extra = o["ex"]; + else + cr.wipe(inst.extra); + oivs = o["ivs"]; + if (oivs) + { + for (p in oivs) + { + if (oivs.hasOwnProperty(p)) + { + iv = this.getInstanceVarIndexBySid(type, parseInt(p, 10)); + if (iv < 0 || iv >= inst.instance_vars.length) + continue; // must've gone missing + value = oivs[p]; + if (value === null) + value = NaN; + inst.instance_vars[iv] = value; + } + } + } + if (plugin.is_world) + { + world = o["w"]; + if (inst.layer.sid !== world["l"]) + { + oldlayer = inst.layer; + inst.layer = this.running_layout.getLayerBySid(world["l"]); + if (inst.layer) + { + oldlayer.removeFromInstanceList(inst, true); + inst.layer.appendToInstanceList(inst, true); + inst.set_bbox_changed(); + inst.layer.setZIndicesStaleFrom(0); + } + else + { + inst.layer = oldlayer; + if (!state_only) + this.DestroyInstance(inst); + } + } + inst.x = world["x"]; + inst.y = world["y"]; + inst.width = world["w"]; + inst.height = world["h"]; + inst.zindex = world["zi"]; + inst.angle = world.hasOwnProperty("a") ? world["a"] : 0; + inst.opacity = world.hasOwnProperty("o") ? world["o"] : 1; + inst.hotspotX = world.hasOwnProperty("hX") ? world["hX"] : 0.5; + inst.hotspotY = world.hasOwnProperty("hY") ? world["hY"] : 0.5; + inst.visible = world.hasOwnProperty("v") ? world["v"] : true; + inst.collisionsEnabled = world.hasOwnProperty("ce") ? world["ce"] : true; + inst.my_timescale = world.hasOwnProperty("mts") ? world["mts"] : -1; + inst.blend_mode = world.hasOwnProperty("bm") ? world["bm"] : 0;; + inst.compositeOp = cr.effectToCompositeOp(inst.blend_mode); + if (this.gl) + cr.setGLBlend(inst, inst.blend_mode, this.gl); + inst.set_bbox_changed(); + if (world.hasOwnProperty("fx")) + { + for (i = 0, len = world["fx"].length; i < len; i++) + { + fxindex = type.getEffectIndexByName(world["fx"][i]["name"]); + if (fxindex < 0) + continue; // must've gone missing + inst.active_effect_flags[fxindex] = world["fx"][i]["active"]; + inst.effect_params[fxindex] = world["fx"][i]["params"]; + } + } + inst.updateActiveEffects(); + } + obehs = o["behs"]; + if (obehs) + { + for (p in obehs) + { + if (obehs.hasOwnProperty(p)) + { + behindex = this.getBehaviorIndexBySid(inst, parseInt(p, 10)); + if (behindex < 0) + continue; // must've gone missing + inst.behavior_insts[behindex].loadFromJSON(obehs[p]); + } + } + } + if (o["data"]) + inst.loadFromJSON(o["data"]); + }; + Runtime.prototype.fetchLocalFileViaCordova = function (filename, successCallback, errorCallback) + { + var path = cordova["file"]["applicationDirectory"] + "www/" + filename; + window["resolveLocalFileSystemURL"](path, function (entry) + { + entry.file(successCallback, errorCallback); + }, errorCallback); + }; + Runtime.prototype.fetchLocalFileViaCordovaAsText = function (filename, successCallback, errorCallback) + { + this.fetchLocalFileViaCordova(filename, function (file) + { + var reader = new FileReader(); + reader.onload = function (e) + { + successCallback(e.target.result); + }; + reader.onerror = errorCallback; + reader.readAsText(file); + }, errorCallback); + }; + var queuedArrayBufferReads = []; + var activeArrayBufferReads = 0; + var MAX_ARRAYBUFFER_READS = 8; + Runtime.prototype.maybeStartNextArrayBufferRead = function() + { + if (!queuedArrayBufferReads.length) + return; // none left + if (activeArrayBufferReads >= MAX_ARRAYBUFFER_READS) + return; // already got maximum number in-flight + activeArrayBufferReads++; + var job = queuedArrayBufferReads.shift(); + this.doFetchLocalFileViaCordovaAsArrayBuffer(job.filename, job.successCallback, job.errorCallback); + }; + Runtime.prototype.fetchLocalFileViaCordovaAsArrayBuffer = function (filename, successCallback_, errorCallback_) + { + var self = this; + queuedArrayBufferReads.push({ + filename: filename, + successCallback: function (result) + { + activeArrayBufferReads--; + self.maybeStartNextArrayBufferRead(); + successCallback_(result); + }, + errorCallback: function (err) + { + activeArrayBufferReads--; + self.maybeStartNextArrayBufferRead(); + errorCallback_(err); + } + }); + this.maybeStartNextArrayBufferRead(); + }; + Runtime.prototype.doFetchLocalFileViaCordovaAsArrayBuffer = function (filename, successCallback, errorCallback) + { + this.fetchLocalFileViaCordova(filename, function (file) + { + var reader = new FileReader(); + reader.onload = function (e) + { + successCallback(e.target.result); + }; + reader.readAsArrayBuffer(file); + }, errorCallback); + }; + Runtime.prototype.fetchLocalFileViaCordovaAsURL = function (filename, successCallback, errorCallback) + { + var blobType = ""; + var lowername = filename.toLowerCase(); + var ext3 = lowername.substr(lowername.length - 4); + var ext4 = lowername.substr(lowername.length - 5); + if (ext3 === ".mp4") + blobType = "video/mp4"; + else if (ext4 === ".webm") + blobType = "video/webm"; // use video type but hopefully works with audio too + else if (ext3 === ".m4a") + blobType = "audio/mp4"; + else if (ext3 === ".mp3") + blobType = "audio/mpeg"; + this.fetchLocalFileViaCordovaAsArrayBuffer(filename, function (arrayBuffer) + { + var blob = new Blob([arrayBuffer], { type: blobType }); + var url = URL.createObjectURL(blob); + successCallback(url); + }, errorCallback); + }; + Runtime.prototype.isAbsoluteUrl = function (url) + { + return /^(?:[a-z]+:)?\/\//.test(url) || url.substr(0, 5) === "data:" || url.substr(0, 5) === "blob:"; + }; + Runtime.prototype.setImageSrc = function (img, src) + { + if (this.isWKWebView && !this.isAbsoluteUrl(src)) + { + this.fetchLocalFileViaCordovaAsURL(src, function (url) + { + img.src = url; + }, function (err) + { + alert("Failed to load image: " + err); + }); + } + else + { + img.src = src; + } + }; + Runtime.prototype.setCtxImageSmoothingEnabled = function (ctx, e) + { + if (typeof ctx["imageSmoothingEnabled"] !== "undefined") + { + ctx["imageSmoothingEnabled"] = e; + } + else + { + ctx["webkitImageSmoothingEnabled"] = e; + ctx["mozImageSmoothingEnabled"] = e; + ctx["msImageSmoothingEnabled"] = e; + } + }; + cr.runtime = Runtime; + cr.createRuntime = function (canvasid) + { + return new Runtime(document.getElementById(canvasid)); + }; + cr.createDCRuntime = function (w, h) + { + return new Runtime({ "dc": true, "width": w, "height": h }); + }; + window["cr_createRuntime"] = cr.createRuntime; + window["cr_createDCRuntime"] = cr.createDCRuntime; + window["createCocoonJSRuntime"] = function () + { + window["c2cocoonjs"] = true; + var canvas = document.createElement("screencanvas") || document.createElement("canvas"); + canvas.screencanvas = true; + document.body.appendChild(canvas); + var rt = new Runtime(canvas); + window["c2runtime"] = rt; + window.addEventListener("orientationchange", function () { + window["c2runtime"]["setSize"](window.innerWidth, window.innerHeight); + }); + window["c2runtime"]["setSize"](window.innerWidth, window.innerHeight); + return rt; + }; + window["createEjectaRuntime"] = function () + { + var canvas = document.getElementById("canvas"); + var rt = new Runtime(canvas); + window["c2runtime"] = rt; + window["c2runtime"]["setSize"](window.innerWidth, window.innerHeight); + return rt; + }; +}()); +window["cr_getC2Runtime"] = function() +{ + var canvas = document.getElementById("c2canvas"); + if (canvas) + return canvas["c2runtime"]; + else if (window["c2runtime"]) + return window["c2runtime"]; + else + return null; +} +window["cr_getSnapshot"] = function (format_, quality_) +{ + var runtime = window["cr_getC2Runtime"](); + if (runtime) + runtime.doCanvasSnapshot(format_, quality_); +} +window["cr_sizeCanvas"] = function(w, h) +{ + if (w === 0 || h === 0) + return; + var runtime = window["cr_getC2Runtime"](); + if (runtime) + runtime["setSize"](w, h); +} +window["cr_setSuspended"] = function(s) +{ + var runtime = window["cr_getC2Runtime"](); + if (runtime) + runtime["setSuspended"](s); +} +; +(function() +{ + function Layout(runtime, m) + { + this.runtime = runtime; + this.event_sheet = null; + this.scrollX = (this.runtime.original_width / 2); + this.scrollY = (this.runtime.original_height / 2); + this.scale = 1.0; + this.angle = 0; + this.first_visit = true; + this.name = m[0]; + this.originalWidth = m[1]; + this.originalHeight = m[2]; + this.width = m[1]; + this.height = m[2]; + this.unbounded_scrolling = m[3]; + this.sheetname = m[4]; + this.sid = m[5]; + var lm = m[6]; + var i, len; + this.layers = []; + this.initial_types = []; + for (i = 0, len = lm.length; i < len; i++) + { + var layer = new cr.layer(this, lm[i]); + layer.number = i; + cr.seal(layer); + this.layers.push(layer); + } + var im = m[7]; + this.initial_nonworld = []; + for (i = 0, len = im.length; i < len; i++) + { + var inst = im[i]; + var type = this.runtime.types_by_index[inst[1]]; +; + if (!type.default_instance) + type.default_instance = inst; + this.initial_nonworld.push(inst); + if (this.initial_types.indexOf(type) === -1) + this.initial_types.push(type); + } + this.effect_types = []; + this.active_effect_types = []; + this.shaders_preserve_opaqueness = true; + this.effect_params = []; + for (i = 0, len = m[8].length; i < len; i++) + { + this.effect_types.push({ + id: m[8][i][0], + name: m[8][i][1], + shaderindex: -1, + preservesOpaqueness: false, + active: true, + index: i + }); + this.effect_params.push(m[8][i][2].slice(0)); + } + this.updateActiveEffects(); + this.rcTex = new cr.rect(0, 0, 1, 1); + this.rcTex2 = new cr.rect(0, 0, 1, 1); + this.persist_data = {}; + }; + Layout.prototype.saveObjectToPersist = function (inst) + { + var sidStr = inst.type.sid.toString(); + if (!this.persist_data.hasOwnProperty(sidStr)) + this.persist_data[sidStr] = []; + var type_persist = this.persist_data[sidStr]; + type_persist.push(this.runtime.saveInstanceToJSON(inst)); + }; + Layout.prototype.hasOpaqueBottomLayer = function () + { + var layer = this.layers[0]; + return !layer.transparent && layer.opacity === 1.0 && !layer.forceOwnTexture && layer.visible; + }; + Layout.prototype.updateActiveEffects = function () + { + cr.clearArray(this.active_effect_types); + this.shaders_preserve_opaqueness = true; + var i, len, et; + for (i = 0, len = this.effect_types.length; i < len; i++) + { + et = this.effect_types[i]; + if (et.active) + { + this.active_effect_types.push(et); + if (!et.preservesOpaqueness) + this.shaders_preserve_opaqueness = false; + } + } + }; + Layout.prototype.getEffectByName = function (name_) + { + var i, len, et; + for (i = 0, len = this.effect_types.length; i < len; i++) + { + et = this.effect_types[i]; + if (et.name === name_) + return et; + } + return null; + }; + var created_instances = []; + function sort_by_zindex(a, b) + { + return a.zindex - b.zindex; + }; + var first_layout = true; + Layout.prototype.startRunning = function () + { + if (this.sheetname) + { + this.event_sheet = this.runtime.eventsheets[this.sheetname]; +; + this.event_sheet.updateDeepIncludes(); + } + this.runtime.running_layout = this; + this.width = this.originalWidth; + this.height = this.originalHeight; + this.scrollX = (this.runtime.original_width / 2); + this.scrollY = (this.runtime.original_height / 2); + var i, k, len, lenk, type, type_instances, initial_inst, inst, iid, t, s, p, q, type_data, layer; + for (i = 0, len = this.runtime.types_by_index.length; i < len; i++) + { + type = this.runtime.types_by_index[i]; + if (type.is_family) + continue; // instances are only transferred for their real type + type_instances = type.instances; + for (k = 0, lenk = type_instances.length; k < lenk; k++) + { + inst = type_instances[k]; + if (inst.layer) + { + var num = inst.layer.number; + if (num >= this.layers.length) + num = this.layers.length - 1; + inst.layer = this.layers[num]; + if (inst.layer.instances.indexOf(inst) === -1) + inst.layer.instances.push(inst); + inst.layer.zindices_stale = true; + } + } + } + if (!first_layout) + { + for (i = 0, len = this.layers.length; i < len; ++i) + { + this.layers[i].instances.sort(sort_by_zindex); + } + } + var layer; + cr.clearArray(created_instances); + this.boundScrolling(); + for (i = 0, len = this.layers.length; i < len; i++) + { + layer = this.layers[i]; + layer.createInitialInstances(); // fills created_instances + layer.updateViewport(null); + } + var uids_changed = false; + if (!this.first_visit) + { + for (p in this.persist_data) + { + if (this.persist_data.hasOwnProperty(p)) + { + type = this.runtime.getObjectTypeBySid(parseInt(p, 10)); + if (!type || type.is_family || !this.runtime.typeHasPersistBehavior(type)) + continue; + type_data = this.persist_data[p]; + for (i = 0, len = type_data.length; i < len; i++) + { + layer = null; + if (type.plugin.is_world) + { + layer = this.getLayerBySid(type_data[i]["w"]["l"]); + if (!layer) + continue; + } + inst = this.runtime.createInstanceFromInit(type.default_instance, layer, false, 0, 0, true); + this.runtime.loadInstanceFromJSON(inst, type_data[i]); + uids_changed = true; + created_instances.push(inst); + } + cr.clearArray(type_data); + } + } + for (i = 0, len = this.layers.length; i < len; i++) + { + this.layers[i].instances.sort(sort_by_zindex); + this.layers[i].zindices_stale = true; // in case of duplicates/holes + } + } + if (uids_changed) + { + this.runtime.ClearDeathRow(); + this.runtime.refreshUidMap(); + } + for (i = 0; i < created_instances.length; i++) + { + inst = created_instances[i]; + if (!inst.type.is_contained) + continue; + iid = inst.get_iid(); + for (k = 0, lenk = inst.type.container.length; k < lenk; k++) + { + t = inst.type.container[k]; + if (inst.type === t) + continue; + if (t.instances.length > iid) + inst.siblings.push(t.instances[iid]); + else + { + if (!t.default_instance) + { + } + else + { + s = this.runtime.createInstanceFromInit(t.default_instance, inst.layer, true, inst.x, inst.y, true); + this.runtime.ClearDeathRow(); + t.updateIIDs(); + inst.siblings.push(s); + created_instances.push(s); // come back around and link up its own instances too + } + } + } + } + for (i = 0, len = this.initial_nonworld.length; i < len; i++) + { + initial_inst = this.initial_nonworld[i]; + type = this.runtime.types_by_index[initial_inst[1]]; + if (!type.is_contained) + { + inst = this.runtime.createInstanceFromInit(this.initial_nonworld[i], null, true); + } +; + } + this.runtime.changelayout = null; + this.runtime.ClearDeathRow(); + if (this.runtime.ctx && !this.runtime.isDomFree) + { + for (i = 0, len = this.runtime.types_by_index.length; i < len; i++) + { + t = this.runtime.types_by_index[i]; + if (t.is_family || !t.instances.length || !t.preloadCanvas2D) + continue; + t.preloadCanvas2D(this.runtime.ctx); + } + } + /* + if (this.runtime.glwrap) + { + console.log("Estimated VRAM at layout start: " + this.runtime.glwrap.textureCount() + " textures, approx. " + Math.round(this.runtime.glwrap.estimateVRAM() / 1024) + " kb"); + } + */ + if (this.runtime.isLoadingState) + { + cr.shallowAssignArray(this.runtime.fireOnCreateAfterLoad, created_instances); + } + else + { + for (i = 0, len = created_instances.length; i < len; i++) + { + inst = created_instances[i]; + this.runtime.trigger(Object.getPrototypeOf(inst.type.plugin).cnds.OnCreated, inst); + } + } + cr.clearArray(created_instances); + if (!this.runtime.isLoadingState) + { + this.runtime.trigger(cr.system_object.prototype.cnds.OnLayoutStart, null); + } + this.first_visit = false; + }; + Layout.prototype.createGlobalNonWorlds = function () + { + var i, k, len, initial_inst, inst, type; + for (i = 0, k = 0, len = this.initial_nonworld.length; i < len; i++) + { + initial_inst = this.initial_nonworld[i]; + type = this.runtime.types_by_index[initial_inst[1]]; + if (type.global) + { + if (!type.is_contained) + { + inst = this.runtime.createInstanceFromInit(initial_inst, null, true); + } + } + else + { + this.initial_nonworld[k] = initial_inst; + k++; + } + } + cr.truncateArray(this.initial_nonworld, k); + }; + Layout.prototype.stopRunning = function () + { +; + /* + if (this.runtime.glwrap) + { + console.log("Estimated VRAM at layout end: " + this.runtime.glwrap.textureCount() + " textures, approx. " + Math.round(this.runtime.glwrap.estimateVRAM() / 1024) + " kb"); + } + */ + if (!this.runtime.isLoadingState) + { + this.runtime.trigger(cr.system_object.prototype.cnds.OnLayoutEnd, null); + } + this.runtime.isEndingLayout = true; + cr.clearArray(this.runtime.system.waits); + var i, leni, j, lenj; + var layer_instances, inst, type; + if (!this.first_visit) + { + for (i = 0, leni = this.layers.length; i < leni; i++) + { + this.layers[i].updateZIndices(); + layer_instances = this.layers[i].instances; + for (j = 0, lenj = layer_instances.length; j < lenj; j++) + { + inst = layer_instances[j]; + if (!inst.type.global) + { + if (this.runtime.typeHasPersistBehavior(inst.type)) + this.saveObjectToPersist(inst); + } + } + } + } + for (i = 0, leni = this.layers.length; i < leni; i++) + { + layer_instances = this.layers[i].instances; + for (j = 0, lenj = layer_instances.length; j < lenj; j++) + { + inst = layer_instances[j]; + if (!inst.type.global) + { + this.runtime.DestroyInstance(inst); + } + } + this.runtime.ClearDeathRow(); + cr.clearArray(layer_instances); + this.layers[i].zindices_stale = true; + } + for (i = 0, leni = this.runtime.types_by_index.length; i < leni; i++) + { + type = this.runtime.types_by_index[i]; + if (type.global || type.plugin.is_world || type.plugin.singleglobal || type.is_family) + continue; + for (j = 0, lenj = type.instances.length; j < lenj; j++) + this.runtime.DestroyInstance(type.instances[j]); + this.runtime.ClearDeathRow(); + } + first_layout = false; + this.runtime.isEndingLayout = false; + }; + var temp_rect = new cr.rect(0, 0, 0, 0); + Layout.prototype.recreateInitialObjects = function (type, x1, y1, x2, y2) + { + temp_rect.set(x1, y1, x2, y2); + var i, len; + for (i = 0, len = this.layers.length; i < len; i++) + { + this.layers[i].recreateInitialObjects(type, temp_rect); + } + }; + Layout.prototype.draw = function (ctx) + { + var layout_canvas; + var layout_ctx = ctx; + var ctx_changed = false; + var render_offscreen = !this.runtime.fullscreenScalingQuality; + if (render_offscreen) + { + if (!this.runtime.layout_canvas) + { + this.runtime.layout_canvas = document.createElement("canvas"); + layout_canvas = this.runtime.layout_canvas; + layout_canvas.width = this.runtime.draw_width; + layout_canvas.height = this.runtime.draw_height; + this.runtime.layout_ctx = layout_canvas.getContext("2d"); + ctx_changed = true; + } + layout_canvas = this.runtime.layout_canvas; + layout_ctx = this.runtime.layout_ctx; + if (layout_canvas.width !== this.runtime.draw_width) + { + layout_canvas.width = this.runtime.draw_width; + ctx_changed = true; + } + if (layout_canvas.height !== this.runtime.draw_height) + { + layout_canvas.height = this.runtime.draw_height; + ctx_changed = true; + } + if (ctx_changed) + { + this.runtime.setCtxImageSmoothingEnabled(layout_ctx, this.runtime.linearSampling); + } + } + layout_ctx.globalAlpha = 1; + layout_ctx.globalCompositeOperation = "source-over"; + if (this.runtime.clearBackground && !this.hasOpaqueBottomLayer()) + layout_ctx.clearRect(0, 0, this.runtime.draw_width, this.runtime.draw_height); + var i, len, l; + for (i = 0, len = this.layers.length; i < len; i++) + { + l = this.layers[i]; + if (l.visible && l.opacity > 0 && l.blend_mode !== 11 && (l.instances.length || !l.transparent)) + l.draw(layout_ctx); + else + l.updateViewport(null); // even if not drawing, keep viewport up to date + } + if (render_offscreen) + { + ctx.drawImage(layout_canvas, 0, 0, this.runtime.width, this.runtime.height); + } + }; + Layout.prototype.drawGL_earlyZPass = function (glw) + { + glw.setEarlyZPass(true); + if (!this.runtime.layout_tex) + { + this.runtime.layout_tex = glw.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling); + } + if (this.runtime.layout_tex.c2width !== this.runtime.draw_width || this.runtime.layout_tex.c2height !== this.runtime.draw_height) + { + glw.deleteTexture(this.runtime.layout_tex); + this.runtime.layout_tex = glw.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling); + } + glw.setRenderingToTexture(this.runtime.layout_tex); + if (!this.runtime.fullscreenScalingQuality) + { + glw.setSize(this.runtime.draw_width, this.runtime.draw_height); + } + var i, l; + for (i = this.layers.length - 1; i >= 0; --i) + { + l = this.layers[i]; + if (l.visible && l.opacity === 1 && l.shaders_preserve_opaqueness && + l.blend_mode === 0 && (l.instances.length || !l.transparent)) + { + l.drawGL_earlyZPass(glw); + } + else + { + l.updateViewport(null); // even if not drawing, keep viewport up to date + } + } + glw.setEarlyZPass(false); + }; + Layout.prototype.drawGL = function (glw) + { + var render_to_texture = (this.active_effect_types.length > 0 || + this.runtime.uses_background_blending || + !this.runtime.fullscreenScalingQuality || + this.runtime.enableFrontToBack); + if (render_to_texture) + { + if (!this.runtime.layout_tex) + { + this.runtime.layout_tex = glw.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling); + } + if (this.runtime.layout_tex.c2width !== this.runtime.draw_width || this.runtime.layout_tex.c2height !== this.runtime.draw_height) + { + glw.deleteTexture(this.runtime.layout_tex); + this.runtime.layout_tex = glw.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling); + } + glw.setRenderingToTexture(this.runtime.layout_tex); + if (!this.runtime.fullscreenScalingQuality) + { + glw.setSize(this.runtime.draw_width, this.runtime.draw_height); + } + } + else + { + if (this.runtime.layout_tex) + { + glw.setRenderingToTexture(null); + glw.deleteTexture(this.runtime.layout_tex); + this.runtime.layout_tex = null; + } + } + if (this.runtime.clearBackground && !this.hasOpaqueBottomLayer()) + glw.clear(0, 0, 0, 0); + var i, len, l; + for (i = 0, len = this.layers.length; i < len; i++) + { + l = this.layers[i]; + if (l.visible && l.opacity > 0 && (l.instances.length || !l.transparent)) + l.drawGL(glw); + else + l.updateViewport(null); // even if not drawing, keep viewport up to date + } + if (render_to_texture) + { + if (this.active_effect_types.length === 0 || + (this.active_effect_types.length === 1 && this.runtime.fullscreenScalingQuality)) + { + if (this.active_effect_types.length === 1) + { + var etindex = this.active_effect_types[0].index; + glw.switchProgram(this.active_effect_types[0].shaderindex); + glw.setProgramParameters(null, // backTex + 1.0 / this.runtime.draw_width, // pixelWidth + 1.0 / this.runtime.draw_height, // pixelHeight + 0.0, 0.0, // destStart + 1.0, 1.0, // destEnd + this.scale, // layerScale + this.angle, // layerAngle + 0.0, 0.0, // viewOrigin + this.runtime.draw_width / 2, this.runtime.draw_height / 2, // scrollPos + this.runtime.kahanTime.sum, // seconds + this.effect_params[etindex]); // fx parameters + if (glw.programIsAnimated(this.active_effect_types[0].shaderindex)) + this.runtime.redraw = true; + } + else + glw.switchProgram(0); + if (!this.runtime.fullscreenScalingQuality) + { + glw.setSize(this.runtime.width, this.runtime.height); + } + glw.setRenderingToTexture(null); // to backbuffer + glw.setDepthTestEnabled(false); // ignore depth buffer, copy full texture + glw.setOpacity(1); + glw.setTexture(this.runtime.layout_tex); + glw.setAlphaBlend(); + glw.resetModelView(); + glw.updateModelView(); + var halfw = this.runtime.width / 2; + var halfh = this.runtime.height / 2; + glw.quad(-halfw, halfh, halfw, halfh, halfw, -halfh, -halfw, -halfh); + glw.setTexture(null); + glw.setDepthTestEnabled(true); // turn depth test back on + } + else + { + this.renderEffectChain(glw, null, null, null); + } + } + }; + Layout.prototype.getRenderTarget = function() + { + if (this.active_effect_types.length > 0 || + this.runtime.uses_background_blending || + !this.runtime.fullscreenScalingQuality || + this.runtime.enableFrontToBack) + { + return this.runtime.layout_tex; + } + else + { + return null; + } + }; + Layout.prototype.getMinLayerScale = function () + { + var m = this.layers[0].getScale(); + var i, len, l; + for (i = 1, len = this.layers.length; i < len; i++) + { + l = this.layers[i]; + if (l.parallaxX === 0 && l.parallaxY === 0) + continue; + if (l.getScale() < m) + m = l.getScale(); + } + return m; + }; + Layout.prototype.scrollToX = function (x) + { + if (!this.unbounded_scrolling) + { + var widthBoundary = (this.runtime.draw_width * (1 / this.getMinLayerScale()) / 2); + if (x > this.width - widthBoundary) + x = this.width - widthBoundary; + if (x < widthBoundary) + x = widthBoundary; + } + if (this.scrollX !== x) + { + this.scrollX = x; + this.runtime.redraw = true; + } + }; + Layout.prototype.scrollToY = function (y) + { + if (!this.unbounded_scrolling) + { + var heightBoundary = (this.runtime.draw_height * (1 / this.getMinLayerScale()) / 2); + if (y > this.height - heightBoundary) + y = this.height - heightBoundary; + if (y < heightBoundary) + y = heightBoundary; + } + if (this.scrollY !== y) + { + this.scrollY = y; + this.runtime.redraw = true; + } + }; + Layout.prototype.boundScrolling = function () + { + this.scrollToX(this.scrollX); + this.scrollToY(this.scrollY); + }; + Layout.prototype.renderEffectChain = function (glw, layer, inst, rendertarget) + { + var active_effect_types = inst ? + inst.active_effect_types : + layer ? + layer.active_effect_types : + this.active_effect_types; + var layerScale = 1, layerAngle = 0, viewOriginLeft = 0, viewOriginTop = 0, viewOriginRight = this.runtime.draw_width, viewOriginBottom = this.runtime.draw_height; + if (inst) + { + layerScale = inst.layer.getScale(); + layerAngle = inst.layer.getAngle(); + viewOriginLeft = inst.layer.viewLeft; + viewOriginTop = inst.layer.viewTop; + viewOriginRight = inst.layer.viewRight; + viewOriginBottom = inst.layer.viewBottom; + } + else if (layer) + { + layerScale = layer.getScale(); + layerAngle = layer.getAngle(); + viewOriginLeft = layer.viewLeft; + viewOriginTop = layer.viewTop; + viewOriginRight = layer.viewRight; + viewOriginBottom = layer.viewBottom; + } + var fx_tex = this.runtime.fx_tex; + var i, len, last, temp, fx_index = 0, other_fx_index = 1; + var y, h; + var windowWidth = this.runtime.draw_width; + var windowHeight = this.runtime.draw_height; + var halfw = windowWidth / 2; + var halfh = windowHeight / 2; + var rcTex = layer ? layer.rcTex : this.rcTex; + var rcTex2 = layer ? layer.rcTex2 : this.rcTex2; + var screenleft = 0, clearleft = 0; + var screentop = 0, cleartop = 0; + var screenright = windowWidth, clearright = windowWidth; + var screenbottom = windowHeight, clearbottom = windowHeight; + var boxExtendHorizontal = 0; + var boxExtendVertical = 0; + var inst_layer_angle = inst ? inst.layer.getAngle() : 0; + if (inst) + { + for (i = 0, len = active_effect_types.length; i < len; i++) + { + boxExtendHorizontal += glw.getProgramBoxExtendHorizontal(active_effect_types[i].shaderindex); + boxExtendVertical += glw.getProgramBoxExtendVertical(active_effect_types[i].shaderindex); + } + var bbox = inst.bbox; + screenleft = layer.layerToCanvas(bbox.left, bbox.top, true, true); + screentop = layer.layerToCanvas(bbox.left, bbox.top, false, true); + screenright = layer.layerToCanvas(bbox.right, bbox.bottom, true, true); + screenbottom = layer.layerToCanvas(bbox.right, bbox.bottom, false, true); + if (inst_layer_angle !== 0) + { + var screentrx = layer.layerToCanvas(bbox.right, bbox.top, true, true); + var screentry = layer.layerToCanvas(bbox.right, bbox.top, false, true); + var screenblx = layer.layerToCanvas(bbox.left, bbox.bottom, true, true); + var screenbly = layer.layerToCanvas(bbox.left, bbox.bottom, false, true); + temp = Math.min(screenleft, screenright, screentrx, screenblx); + screenright = Math.max(screenleft, screenright, screentrx, screenblx); + screenleft = temp; + temp = Math.min(screentop, screenbottom, screentry, screenbly); + screenbottom = Math.max(screentop, screenbottom, screentry, screenbly); + screentop = temp; + } + screenleft -= boxExtendHorizontal; + screentop -= boxExtendVertical; + screenright += boxExtendHorizontal; + screenbottom += boxExtendVertical; + rcTex2.left = screenleft / windowWidth; + rcTex2.top = 1 - screentop / windowHeight; + rcTex2.right = screenright / windowWidth; + rcTex2.bottom = 1 - screenbottom / windowHeight; + clearleft = screenleft = cr.floor(screenleft); + cleartop = screentop = cr.floor(screentop); + clearright = screenright = cr.ceil(screenright); + clearbottom = screenbottom = cr.ceil(screenbottom); + clearleft -= boxExtendHorizontal; + cleartop -= boxExtendVertical; + clearright += boxExtendHorizontal; + clearbottom += boxExtendVertical; + if (screenleft < 0) screenleft = 0; + if (screentop < 0) screentop = 0; + if (screenright > windowWidth) screenright = windowWidth; + if (screenbottom > windowHeight) screenbottom = windowHeight; + if (clearleft < 0) clearleft = 0; + if (cleartop < 0) cleartop = 0; + if (clearright > windowWidth) clearright = windowWidth; + if (clearbottom > windowHeight) clearbottom = windowHeight; + rcTex.left = screenleft / windowWidth; + rcTex.top = 1 - screentop / windowHeight; + rcTex.right = screenright / windowWidth; + rcTex.bottom = 1 - screenbottom / windowHeight; + } + else + { + rcTex.left = rcTex2.left = 0; + rcTex.top = rcTex2.top = 0; + rcTex.right = rcTex2.right = 1; + rcTex.bottom = rcTex2.bottom = 1; + } + var pre_draw = (inst && (glw.programUsesDest(active_effect_types[0].shaderindex) || boxExtendHorizontal !== 0 || boxExtendVertical !== 0 || inst.opacity !== 1 || inst.type.plugin.must_predraw)) || (layer && !inst && layer.opacity !== 1); + glw.setAlphaBlend(); + if (pre_draw) + { + if (!fx_tex[fx_index]) + { + fx_tex[fx_index] = glw.createEmptyTexture(windowWidth, windowHeight, this.runtime.linearSampling); + } + if (fx_tex[fx_index].c2width !== windowWidth || fx_tex[fx_index].c2height !== windowHeight) + { + glw.deleteTexture(fx_tex[fx_index]); + fx_tex[fx_index] = glw.createEmptyTexture(windowWidth, windowHeight, this.runtime.linearSampling); + } + glw.switchProgram(0); + glw.setRenderingToTexture(fx_tex[fx_index]); + h = clearbottom - cleartop; + y = (windowHeight - cleartop) - h; + glw.clearRect(clearleft, y, clearright - clearleft, h); + if (inst) + { + inst.drawGL(glw); + } + else + { + glw.setTexture(this.runtime.layer_tex); + glw.setOpacity(layer.opacity); + glw.resetModelView(); + glw.translate(-halfw, -halfh); + glw.updateModelView(); + glw.quadTex(screenleft, screenbottom, screenright, screenbottom, screenright, screentop, screenleft, screentop, rcTex); + } + rcTex2.left = rcTex2.top = 0; + rcTex2.right = rcTex2.bottom = 1; + if (inst) + { + temp = rcTex.top; + rcTex.top = rcTex.bottom; + rcTex.bottom = temp; + } + fx_index = 1; + other_fx_index = 0; + } + glw.setOpacity(1); + var last = active_effect_types.length - 1; + var post_draw = glw.programUsesCrossSampling(active_effect_types[last].shaderindex) || + (!layer && !inst && !this.runtime.fullscreenScalingQuality); + var etindex = 0; + for (i = 0, len = active_effect_types.length; i < len; i++) + { + if (!fx_tex[fx_index]) + { + fx_tex[fx_index] = glw.createEmptyTexture(windowWidth, windowHeight, this.runtime.linearSampling); + } + if (fx_tex[fx_index].c2width !== windowWidth || fx_tex[fx_index].c2height !== windowHeight) + { + glw.deleteTexture(fx_tex[fx_index]); + fx_tex[fx_index] = glw.createEmptyTexture(windowWidth, windowHeight, this.runtime.linearSampling); + } + glw.switchProgram(active_effect_types[i].shaderindex); + etindex = active_effect_types[i].index; + if (glw.programIsAnimated(active_effect_types[i].shaderindex)) + this.runtime.redraw = true; + if (i == 0 && !pre_draw) + { + glw.setRenderingToTexture(fx_tex[fx_index]); + h = clearbottom - cleartop; + y = (windowHeight - cleartop) - h; + glw.clearRect(clearleft, y, clearright - clearleft, h); + if (inst) + { + var pixelWidth; + var pixelHeight; + if (inst.curFrame && inst.curFrame.texture_img) + { + var img = inst.curFrame.texture_img; + pixelWidth = 1.0 / img.width; + pixelHeight = 1.0 / img.height; + } + else + { + pixelWidth = 1.0 / inst.width; + pixelHeight = 1.0 / inst.height; + } + glw.setProgramParameters(rendertarget, // backTex + pixelWidth, + pixelHeight, + rcTex2.left, rcTex2.top, // destStart + rcTex2.right, rcTex2.bottom, // destEnd + layerScale, + layerAngle, + viewOriginLeft, viewOriginTop, + (viewOriginLeft + viewOriginRight) / 2, (viewOriginTop + viewOriginBottom) / 2, + this.runtime.kahanTime.sum, + inst.effect_params[etindex]); // fx params + inst.drawGL(glw); + } + else + { + glw.setProgramParameters(rendertarget, // backTex + 1.0 / windowWidth, // pixelWidth + 1.0 / windowHeight, // pixelHeight + 0.0, 0.0, // destStart + 1.0, 1.0, // destEnd + layerScale, + layerAngle, + viewOriginLeft, viewOriginTop, + (viewOriginLeft + viewOriginRight) / 2, (viewOriginTop + viewOriginBottom) / 2, + this.runtime.kahanTime.sum, + layer ? // fx params + layer.effect_params[etindex] : + this.effect_params[etindex]); + glw.setTexture(layer ? this.runtime.layer_tex : this.runtime.layout_tex); + glw.resetModelView(); + glw.translate(-halfw, -halfh); + glw.updateModelView(); + glw.quadTex(screenleft, screenbottom, screenright, screenbottom, screenright, screentop, screenleft, screentop, rcTex); + } + rcTex2.left = rcTex2.top = 0; + rcTex2.right = rcTex2.bottom = 1; + if (inst && !post_draw) + { + temp = screenbottom; + screenbottom = screentop; + screentop = temp; + } + } + else + { + glw.setProgramParameters(rendertarget, // backTex + 1.0 / windowWidth, // pixelWidth + 1.0 / windowHeight, // pixelHeight + rcTex2.left, rcTex2.top, // destStart + rcTex2.right, rcTex2.bottom, // destEnd + layerScale, + layerAngle, + viewOriginLeft, viewOriginTop, + (viewOriginLeft + viewOriginRight) / 2, (viewOriginTop + viewOriginBottom) / 2, + this.runtime.kahanTime.sum, + inst ? // fx params + inst.effect_params[etindex] : + layer ? + layer.effect_params[etindex] : + this.effect_params[etindex]); + glw.setTexture(null); + if (i === last && !post_draw) + { + if (inst) + glw.setBlend(inst.srcBlend, inst.destBlend); + else if (layer) + glw.setBlend(layer.srcBlend, layer.destBlend); + glw.setRenderingToTexture(rendertarget); + } + else + { + glw.setRenderingToTexture(fx_tex[fx_index]); + h = clearbottom - cleartop; + y = (windowHeight - cleartop) - h; + glw.clearRect(clearleft, y, clearright - clearleft, h); + } + glw.setTexture(fx_tex[other_fx_index]); + glw.resetModelView(); + glw.translate(-halfw, -halfh); + glw.updateModelView(); + glw.quadTex(screenleft, screenbottom, screenright, screenbottom, screenright, screentop, screenleft, screentop, rcTex); + if (i === last && !post_draw) + glw.setTexture(null); + } + fx_index = (fx_index === 0 ? 1 : 0); + other_fx_index = (fx_index === 0 ? 1 : 0); // will be opposite to fx_index since it was just assigned + } + if (post_draw) + { + glw.switchProgram(0); + if (inst) + glw.setBlend(inst.srcBlend, inst.destBlend); + else if (layer) + glw.setBlend(layer.srcBlend, layer.destBlend); + else + { + if (!this.runtime.fullscreenScalingQuality) + { + glw.setSize(this.runtime.width, this.runtime.height); + halfw = this.runtime.width / 2; + halfh = this.runtime.height / 2; + screenleft = 0; + screentop = 0; + screenright = this.runtime.width; + screenbottom = this.runtime.height; + } + } + glw.setRenderingToTexture(rendertarget); + glw.setTexture(fx_tex[other_fx_index]); + glw.resetModelView(); + glw.translate(-halfw, -halfh); + glw.updateModelView(); + if (inst && active_effect_types.length === 1 && !pre_draw) + glw.quadTex(screenleft, screentop, screenright, screentop, screenright, screenbottom, screenleft, screenbottom, rcTex); + else + glw.quadTex(screenleft, screenbottom, screenright, screenbottom, screenright, screentop, screenleft, screentop, rcTex); + glw.setTexture(null); + } + }; + Layout.prototype.getLayerBySid = function (sid_) + { + var i, len; + for (i = 0, len = this.layers.length; i < len; i++) + { + if (this.layers[i].sid === sid_) + return this.layers[i]; + } + return null; + }; + Layout.prototype.saveToJSON = function () + { + var i, len, layer, et; + var o = { + "sx": this.scrollX, + "sy": this.scrollY, + "s": this.scale, + "a": this.angle, + "w": this.width, + "h": this.height, + "fv": this.first_visit, // added r127 + "persist": this.persist_data, + "fx": [], + "layers": {} + }; + for (i = 0, len = this.effect_types.length; i < len; i++) + { + et = this.effect_types[i]; + o["fx"].push({"name": et.name, "active": et.active, "params": this.effect_params[et.index] }); + } + for (i = 0, len = this.layers.length; i < len; i++) + { + layer = this.layers[i]; + o["layers"][layer.sid.toString()] = layer.saveToJSON(); + } + return o; + }; + Layout.prototype.loadFromJSON = function (o) + { + var i, j, len, fx, p, layer; + this.scrollX = o["sx"]; + this.scrollY = o["sy"]; + this.scale = o["s"]; + this.angle = o["a"]; + this.width = o["w"]; + this.height = o["h"]; + this.persist_data = o["persist"]; + if (typeof o["fv"] !== "undefined") + this.first_visit = o["fv"]; + var ofx = o["fx"]; + for (i = 0, len = ofx.length; i < len; i++) + { + fx = this.getEffectByName(ofx[i]["name"]); + if (!fx) + continue; // must've gone missing + fx.active = ofx[i]["active"]; + this.effect_params[fx.index] = ofx[i]["params"]; + } + this.updateActiveEffects(); + var olayers = o["layers"]; + for (p in olayers) + { + if (olayers.hasOwnProperty(p)) + { + layer = this.getLayerBySid(parseInt(p, 10)); + if (!layer) + continue; // must've gone missing + layer.loadFromJSON(olayers[p]); + } + } + }; + cr.layout = Layout; + function Layer(layout, m) + { + this.layout = layout; + this.runtime = layout.runtime; + this.instances = []; // running instances + this.scale = 1.0; + this.angle = 0; + this.disableAngle = false; + this.tmprect = new cr.rect(0, 0, 0, 0); + this.tmpquad = new cr.quad(); + this.viewLeft = 0; + this.viewRight = 0; + this.viewTop = 0; + this.viewBottom = 0; + this.zindices_stale = false; + this.zindices_stale_from = -1; // first index that has changed, or -1 if no bound + this.clear_earlyz_index = 0; + this.name = m[0]; + this.index = m[1]; + this.sid = m[2]; + this.visible = m[3]; // initially visible + this.background_color = m[4]; + this.transparent = m[5]; + this.parallaxX = m[6]; + this.parallaxY = m[7]; + this.opacity = m[8]; + this.forceOwnTexture = m[9]; + this.useRenderCells = m[10]; + this.zoomRate = m[11]; + this.blend_mode = m[12]; + this.effect_fallback = m[13]; + this.compositeOp = "source-over"; + this.srcBlend = 0; + this.destBlend = 0; + this.render_grid = null; + this.last_render_list = alloc_arr(); + this.render_list_stale = true; + this.last_render_cells = new cr.rect(0, 0, -1, -1); + this.cur_render_cells = new cr.rect(0, 0, -1, -1); + if (this.useRenderCells) + { + this.render_grid = new cr.RenderGrid(this.runtime.original_width, this.runtime.original_height); + } + this.render_offscreen = false; + var im = m[14]; + var i, len; + this.startup_initial_instances = []; // for restoring initial_instances after load + this.initial_instances = []; + this.created_globals = []; // global object UIDs already created - for save/load to avoid recreating + for (i = 0, len = im.length; i < len; i++) + { + var inst = im[i]; + var type = this.runtime.types_by_index[inst[1]]; +; + if (!type.default_instance) + { + type.default_instance = inst; + type.default_layerindex = this.index; + } + this.initial_instances.push(inst); + if (this.layout.initial_types.indexOf(type) === -1) + this.layout.initial_types.push(type); + } + cr.shallowAssignArray(this.startup_initial_instances, this.initial_instances); + this.effect_types = []; + this.active_effect_types = []; + this.shaders_preserve_opaqueness = true; + this.effect_params = []; + for (i = 0, len = m[15].length; i < len; i++) + { + this.effect_types.push({ + id: m[15][i][0], + name: m[15][i][1], + shaderindex: -1, + preservesOpaqueness: false, + active: true, + index: i + }); + this.effect_params.push(m[15][i][2].slice(0)); + } + this.updateActiveEffects(); + this.rcTex = new cr.rect(0, 0, 1, 1); + this.rcTex2 = new cr.rect(0, 0, 1, 1); + }; + Layer.prototype.updateActiveEffects = function () + { + cr.clearArray(this.active_effect_types); + this.shaders_preserve_opaqueness = true; + var i, len, et; + for (i = 0, len = this.effect_types.length; i < len; i++) + { + et = this.effect_types[i]; + if (et.active) + { + this.active_effect_types.push(et); + if (!et.preservesOpaqueness) + this.shaders_preserve_opaqueness = false; + } + } + }; + Layer.prototype.getEffectByName = function (name_) + { + var i, len, et; + for (i = 0, len = this.effect_types.length; i < len; i++) + { + et = this.effect_types[i]; + if (et.name === name_) + return et; + } + return null; + }; + Layer.prototype.createInitialInstances = function () + { + var i, k, len, inst, initial_inst, type, keep, hasPersistBehavior; + for (i = 0, k = 0, len = this.initial_instances.length; i < len; i++) + { + initial_inst = this.initial_instances[i]; + type = this.runtime.types_by_index[initial_inst[1]]; +; + hasPersistBehavior = this.runtime.typeHasPersistBehavior(type); + keep = true; + if (!hasPersistBehavior || this.layout.first_visit) + { + inst = this.runtime.createInstanceFromInit(initial_inst, this, true); + if (!inst) + continue; // may have skipped creation due to fallback effect "destroy" + created_instances.push(inst); + if (inst.type.global) + { + keep = false; + this.created_globals.push(inst.uid); + } + } + if (keep) + { + this.initial_instances[k] = this.initial_instances[i]; + k++; + } + } + this.initial_instances.length = k; + this.runtime.ClearDeathRow(); // flushes creation row so IIDs will be correct + if (!this.runtime.glwrap && this.effect_types.length) // no WebGL renderer and shaders used + this.blend_mode = this.effect_fallback; // use fallback blend mode + this.compositeOp = cr.effectToCompositeOp(this.blend_mode); + if (this.runtime.gl) + cr.setGLBlend(this, this.blend_mode, this.runtime.gl); + this.render_list_stale = true; + }; + Layer.prototype.recreateInitialObjects = function (only_type, rc) + { + var i, len, initial_inst, type, wm, x, y, inst, j, lenj, s; + var types_by_index = this.runtime.types_by_index; + var only_type_is_family = only_type.is_family; + var only_type_members = only_type.members; + for (i = 0, len = this.initial_instances.length; i < len; ++i) + { + initial_inst = this.initial_instances[i]; + wm = initial_inst[0]; + x = wm[0]; + y = wm[1]; + if (!rc.contains_pt(x, y)) + continue; // not in the given area + type = types_by_index[initial_inst[1]]; + if (type !== only_type) + { + if (only_type_is_family) + { + if (only_type_members.indexOf(type) < 0) + continue; + } + else + continue; // only_type is not a family, and the initial inst type does not match + } + inst = this.runtime.createInstanceFromInit(initial_inst, this, false); + this.runtime.isInOnDestroy++; + this.runtime.trigger(Object.getPrototypeOf(type.plugin).cnds.OnCreated, inst); + if (inst.is_contained) + { + for (j = 0, lenj = inst.siblings.length; j < lenj; j++) + { + s = inst.siblings[i]; + this.runtime.trigger(Object.getPrototypeOf(s.type.plugin).cnds.OnCreated, s); + } + } + this.runtime.isInOnDestroy--; + } + }; + Layer.prototype.removeFromInstanceList = function (inst, remove_from_grid) + { + var index = cr.fastIndexOf(this.instances, inst); + if (index < 0) + return; // not found + if (remove_from_grid && this.useRenderCells && inst.rendercells && inst.rendercells.right >= inst.rendercells.left) + { + inst.update_bbox(); // make sure actually in its current rendercells + this.render_grid.update(inst, inst.rendercells, null); // no new range provided - remove only + inst.rendercells.set(0, 0, -1, -1); // set to invalid state to indicate not inserted + } + if (index === this.instances.length - 1) + this.instances.pop(); + else + { + cr.arrayRemove(this.instances, index); + this.setZIndicesStaleFrom(index); + } + this.render_list_stale = true; + }; + Layer.prototype.appendToInstanceList = function (inst, add_to_grid) + { +; + inst.zindex = this.instances.length; + this.instances.push(inst); + if (add_to_grid && this.useRenderCells && inst.rendercells) + { + inst.set_bbox_changed(); // will cause immediate update and new insertion to grid + } + this.render_list_stale = true; + }; + Layer.prototype.prependToInstanceList = function (inst, add_to_grid) + { +; + this.instances.unshift(inst); + this.setZIndicesStaleFrom(0); + if (add_to_grid && this.useRenderCells && inst.rendercells) + { + inst.set_bbox_changed(); // will cause immediate update and new insertion to grid + } + }; + Layer.prototype.moveInstanceAdjacent = function (inst, other, isafter) + { +; + var myZ = inst.get_zindex(); + var insertZ = other.get_zindex(); + cr.arrayRemove(this.instances, myZ); + if (myZ < insertZ) + insertZ--; + if (isafter) + insertZ++; + if (insertZ === this.instances.length) + this.instances.push(inst); + else + this.instances.splice(insertZ, 0, inst); + this.setZIndicesStaleFrom(myZ < insertZ ? myZ : insertZ); + }; + Layer.prototype.setZIndicesStaleFrom = function (index) + { + if (this.zindices_stale_from === -1) // not yet set + this.zindices_stale_from = index; + else if (index < this.zindices_stale_from) // determine minimum z index affected + this.zindices_stale_from = index; + this.zindices_stale = true; + this.render_list_stale = true; + }; + Layer.prototype.updateZIndices = function () + { + if (!this.zindices_stale) + return; + if (this.zindices_stale_from === -1) + this.zindices_stale_from = 0; + var i, len, inst; + if (this.useRenderCells) + { + for (i = this.zindices_stale_from, len = this.instances.length; i < len; ++i) + { + inst = this.instances[i]; + inst.zindex = i; + this.render_grid.markRangeChanged(inst.rendercells); + } + } + else + { + for (i = this.zindices_stale_from, len = this.instances.length; i < len; ++i) + { + this.instances[i].zindex = i; + } + } + this.zindices_stale = false; + this.zindices_stale_from = -1; + }; + Layer.prototype.getScale = function (include_aspect) + { + return this.getNormalScale() * (this.runtime.fullscreenScalingQuality || include_aspect ? this.runtime.aspect_scale : 1); + }; + Layer.prototype.getNormalScale = function () + { + return ((this.scale * this.layout.scale) - 1) * this.zoomRate + 1; + }; + Layer.prototype.getAngle = function () + { + if (this.disableAngle) + return 0; + return cr.clamp_angle(this.layout.angle + this.angle); + }; + var arr_cache = []; + function alloc_arr() + { + if (arr_cache.length) + return arr_cache.pop(); + else + return []; + } + function free_arr(a) + { + cr.clearArray(a); + arr_cache.push(a); + }; + function mergeSortedZArrays(a, b, out) + { + var i = 0, j = 0, k = 0, lena = a.length, lenb = b.length, ai, bj; + out.length = lena + lenb; + for ( ; i < lena && j < lenb; ++k) + { + ai = a[i]; + bj = b[j]; + if (ai.zindex < bj.zindex) + { + out[k] = ai; + ++i; + } + else + { + out[k] = bj; + ++j; + } + } + for ( ; i < lena; ++i, ++k) + out[k] = a[i]; + for ( ; j < lenb; ++j, ++k) + out[k] = b[j]; + }; + var next_arr = []; + function mergeAllSortedZArrays_pass(arr, first_pass) + { + var i, len, arr1, arr2, out; + for (i = 0, len = arr.length; i < len - 1; i += 2) + { + arr1 = arr[i]; + arr2 = arr[i+1]; + out = alloc_arr(); + mergeSortedZArrays(arr1, arr2, out); + if (!first_pass) + { + free_arr(arr1); + free_arr(arr2); + } + next_arr.push(out); + } + if (len % 2 === 1) + { + if (first_pass) + { + arr1 = alloc_arr(); + cr.shallowAssignArray(arr1, arr[len - 1]); + next_arr.push(arr1); + } + else + { + next_arr.push(arr[len - 1]); + } + } + cr.shallowAssignArray(arr, next_arr); + cr.clearArray(next_arr); + }; + function mergeAllSortedZArrays(arr) + { + var first_pass = true; + while (arr.length > 1) + { + mergeAllSortedZArrays_pass(arr, first_pass); + first_pass = false; + } + return arr[0]; + }; + var render_arr = []; + Layer.prototype.getRenderCellInstancesToDraw = function () + { +; + this.updateZIndices(); + this.render_grid.queryRange(this.viewLeft, this.viewTop, this.viewRight, this.viewBottom, render_arr); + if (!render_arr.length) + return alloc_arr(); + if (render_arr.length === 1) + { + var a = alloc_arr(); + cr.shallowAssignArray(a, render_arr[0]); + cr.clearArray(render_arr); + return a; + } + var draw_list = mergeAllSortedZArrays(render_arr); + cr.clearArray(render_arr); + return draw_list; + }; + Layer.prototype.draw = function (ctx) + { + this.render_offscreen = (this.forceOwnTexture || this.opacity !== 1.0 || this.blend_mode !== 0); + var layer_canvas = this.runtime.canvas; + var layer_ctx = ctx; + var ctx_changed = false; + if (this.render_offscreen) + { + if (!this.runtime.layer_canvas) + { + this.runtime.layer_canvas = document.createElement("canvas"); +; + layer_canvas = this.runtime.layer_canvas; + layer_canvas.width = this.runtime.draw_width; + layer_canvas.height = this.runtime.draw_height; + this.runtime.layer_ctx = layer_canvas.getContext("2d"); +; + ctx_changed = true; + } + layer_canvas = this.runtime.layer_canvas; + layer_ctx = this.runtime.layer_ctx; + if (layer_canvas.width !== this.runtime.draw_width) + { + layer_canvas.width = this.runtime.draw_width; + ctx_changed = true; + } + if (layer_canvas.height !== this.runtime.draw_height) + { + layer_canvas.height = this.runtime.draw_height; + ctx_changed = true; + } + if (ctx_changed) + { + this.runtime.setCtxImageSmoothingEnabled(layer_ctx, this.runtime.linearSampling); + } + if (this.transparent) + layer_ctx.clearRect(0, 0, this.runtime.draw_width, this.runtime.draw_height); + } + layer_ctx.globalAlpha = 1; + layer_ctx.globalCompositeOperation = "source-over"; + if (!this.transparent) + { + layer_ctx.fillStyle = "rgb(" + this.background_color[0] + "," + this.background_color[1] + "," + this.background_color[2] + ")"; + layer_ctx.fillRect(0, 0, this.runtime.draw_width, this.runtime.draw_height); + } + layer_ctx.save(); + this.disableAngle = true; + var px = this.canvasToLayer(0, 0, true, true); + var py = this.canvasToLayer(0, 0, false, true); + this.disableAngle = false; + if (this.runtime.pixel_rounding) + { + px = Math.round(px); + py = Math.round(py); + } + this.rotateViewport(px, py, layer_ctx); + var myscale = this.getScale(); + layer_ctx.scale(myscale, myscale); + layer_ctx.translate(-px, -py); + var instances_to_draw; + if (this.useRenderCells) + { + this.cur_render_cells.left = this.render_grid.XToCell(this.viewLeft); + this.cur_render_cells.top = this.render_grid.YToCell(this.viewTop); + this.cur_render_cells.right = this.render_grid.XToCell(this.viewRight); + this.cur_render_cells.bottom = this.render_grid.YToCell(this.viewBottom); + if (this.render_list_stale || !this.cur_render_cells.equals(this.last_render_cells)) + { + free_arr(this.last_render_list); + instances_to_draw = this.getRenderCellInstancesToDraw(); + this.render_list_stale = false; + this.last_render_cells.copy(this.cur_render_cells); + } + else + instances_to_draw = this.last_render_list; + } + else + instances_to_draw = this.instances; + var i, len, inst, last_inst = null; + for (i = 0, len = instances_to_draw.length; i < len; ++i) + { + inst = instances_to_draw[i]; + if (inst === last_inst) + continue; + this.drawInstance(inst, layer_ctx); + last_inst = inst; + } + if (this.useRenderCells) + this.last_render_list = instances_to_draw; + layer_ctx.restore(); + if (this.render_offscreen) + { + ctx.globalCompositeOperation = this.compositeOp; + ctx.globalAlpha = this.opacity; + ctx.drawImage(layer_canvas, 0, 0); + } + }; + Layer.prototype.drawInstance = function(inst, layer_ctx) + { + if (!inst.visible || inst.width === 0 || inst.height === 0) + return; + inst.update_bbox(); + var bbox = inst.bbox; + if (bbox.right < this.viewLeft || bbox.bottom < this.viewTop || bbox.left > this.viewRight || bbox.top > this.viewBottom) + return; + layer_ctx.globalCompositeOperation = inst.compositeOp; + inst.draw(layer_ctx); + }; + Layer.prototype.updateViewport = function (ctx) + { + this.disableAngle = true; + var px = this.canvasToLayer(0, 0, true, true); + var py = this.canvasToLayer(0, 0, false, true); + this.disableAngle = false; + if (this.runtime.pixel_rounding) + { + px = Math.round(px); + py = Math.round(py); + } + this.rotateViewport(px, py, ctx); + }; + Layer.prototype.rotateViewport = function (px, py, ctx) + { + var myscale = this.getScale(); + this.viewLeft = px; + this.viewTop = py; + this.viewRight = px + (this.runtime.draw_width * (1 / myscale)); + this.viewBottom = py + (this.runtime.draw_height * (1 / myscale)); + var temp; + if (this.viewLeft > this.viewRight) + { + temp = this.viewLeft; + this.viewLeft = this.viewRight; + this.viewRight = temp; + } + if (this.viewTop > this.viewBottom) + { + temp = this.viewTop; + this.viewTop = this.viewBottom; + this.viewBottom = temp; + } + var myAngle = this.getAngle(); + if (myAngle !== 0) + { + if (ctx) + { + ctx.translate(this.runtime.draw_width / 2, this.runtime.draw_height / 2); + ctx.rotate(-myAngle); + ctx.translate(this.runtime.draw_width / -2, this.runtime.draw_height / -2); + } + this.tmprect.set(this.viewLeft, this.viewTop, this.viewRight, this.viewBottom); + this.tmprect.offset((this.viewLeft + this.viewRight) / -2, (this.viewTop + this.viewBottom) / -2); + this.tmpquad.set_from_rotated_rect(this.tmprect, myAngle); + this.tmpquad.bounding_box(this.tmprect); + this.tmprect.offset((this.viewLeft + this.viewRight) / 2, (this.viewTop + this.viewBottom) / 2); + this.viewLeft = this.tmprect.left; + this.viewTop = this.tmprect.top; + this.viewRight = this.tmprect.right; + this.viewBottom = this.tmprect.bottom; + } + } + Layer.prototype.drawGL_earlyZPass = function (glw) + { + var windowWidth = this.runtime.draw_width; + var windowHeight = this.runtime.draw_height; + var shaderindex = 0; + var etindex = 0; + this.render_offscreen = this.forceOwnTexture; + if (this.render_offscreen) + { + if (!this.runtime.layer_tex) + { + this.runtime.layer_tex = glw.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling); + } + if (this.runtime.layer_tex.c2width !== this.runtime.draw_width || this.runtime.layer_tex.c2height !== this.runtime.draw_height) + { + glw.deleteTexture(this.runtime.layer_tex); + this.runtime.layer_tex = glw.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling); + } + glw.setRenderingToTexture(this.runtime.layer_tex); + } + this.disableAngle = true; + var px = this.canvasToLayer(0, 0, true, true); + var py = this.canvasToLayer(0, 0, false, true); + this.disableAngle = false; + if (this.runtime.pixel_rounding) + { + px = Math.round(px); + py = Math.round(py); + } + this.rotateViewport(px, py, null); + var myscale = this.getScale(); + glw.resetModelView(); + glw.scale(myscale, myscale); + glw.rotateZ(-this.getAngle()); + glw.translate((this.viewLeft + this.viewRight) / -2, (this.viewTop + this.viewBottom) / -2); + glw.updateModelView(); + var instances_to_draw; + if (this.useRenderCells) + { + this.cur_render_cells.left = this.render_grid.XToCell(this.viewLeft); + this.cur_render_cells.top = this.render_grid.YToCell(this.viewTop); + this.cur_render_cells.right = this.render_grid.XToCell(this.viewRight); + this.cur_render_cells.bottom = this.render_grid.YToCell(this.viewBottom); + if (this.render_list_stale || !this.cur_render_cells.equals(this.last_render_cells)) + { + free_arr(this.last_render_list); + instances_to_draw = this.getRenderCellInstancesToDraw(); + this.render_list_stale = false; + this.last_render_cells.copy(this.cur_render_cells); + } + else + instances_to_draw = this.last_render_list; + } + else + instances_to_draw = this.instances; + var i, inst, last_inst = null; + for (i = instances_to_draw.length - 1; i >= 0; --i) + { + inst = instances_to_draw[i]; + if (inst === last_inst) + continue; + this.drawInstanceGL_earlyZPass(instances_to_draw[i], glw); + last_inst = inst; + } + if (this.useRenderCells) + this.last_render_list = instances_to_draw; + if (!this.transparent) + { + this.clear_earlyz_index = this.runtime.earlyz_index++; + glw.setEarlyZIndex(this.clear_earlyz_index); + glw.setColorFillMode(1, 1, 1, 1); + glw.fullscreenQuad(); // fill remaining space in depth buffer with current Z value + glw.restoreEarlyZMode(); + } + }; + Layer.prototype.drawGL = function (glw) + { + var windowWidth = this.runtime.draw_width; + var windowHeight = this.runtime.draw_height; + var shaderindex = 0; + var etindex = 0; + this.render_offscreen = (this.forceOwnTexture || this.opacity !== 1.0 || this.active_effect_types.length > 0 || this.blend_mode !== 0); + if (this.render_offscreen) + { + if (!this.runtime.layer_tex) + { + this.runtime.layer_tex = glw.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling); + } + if (this.runtime.layer_tex.c2width !== this.runtime.draw_width || this.runtime.layer_tex.c2height !== this.runtime.draw_height) + { + glw.deleteTexture(this.runtime.layer_tex); + this.runtime.layer_tex = glw.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling); + } + glw.setRenderingToTexture(this.runtime.layer_tex); + if (this.transparent) + glw.clear(0, 0, 0, 0); + } + if (!this.transparent) + { + if (this.runtime.enableFrontToBack) + { + glw.setEarlyZIndex(this.clear_earlyz_index); + glw.setColorFillMode(this.background_color[0] / 255, this.background_color[1] / 255, this.background_color[2] / 255, 1); + glw.fullscreenQuad(); + glw.setTextureFillMode(); + } + else + { + glw.clear(this.background_color[0] / 255, this.background_color[1] / 255, this.background_color[2] / 255, 1); + } + } + this.disableAngle = true; + var px = this.canvasToLayer(0, 0, true, true); + var py = this.canvasToLayer(0, 0, false, true); + this.disableAngle = false; + if (this.runtime.pixel_rounding) + { + px = Math.round(px); + py = Math.round(py); + } + this.rotateViewport(px, py, null); + var myscale = this.getScale(); + glw.resetModelView(); + glw.scale(myscale, myscale); + glw.rotateZ(-this.getAngle()); + glw.translate((this.viewLeft + this.viewRight) / -2, (this.viewTop + this.viewBottom) / -2); + glw.updateModelView(); + var instances_to_draw; + if (this.useRenderCells) + { + this.cur_render_cells.left = this.render_grid.XToCell(this.viewLeft); + this.cur_render_cells.top = this.render_grid.YToCell(this.viewTop); + this.cur_render_cells.right = this.render_grid.XToCell(this.viewRight); + this.cur_render_cells.bottom = this.render_grid.YToCell(this.viewBottom); + if (this.render_list_stale || !this.cur_render_cells.equals(this.last_render_cells)) + { + free_arr(this.last_render_list); + instances_to_draw = this.getRenderCellInstancesToDraw(); + this.render_list_stale = false; + this.last_render_cells.copy(this.cur_render_cells); + } + else + instances_to_draw = this.last_render_list; + } + else + instances_to_draw = this.instances; + var i, len, inst, last_inst = null; + for (i = 0, len = instances_to_draw.length; i < len; ++i) + { + inst = instances_to_draw[i]; + if (inst === last_inst) + continue; + this.drawInstanceGL(instances_to_draw[i], glw); + last_inst = inst; + } + if (this.useRenderCells) + this.last_render_list = instances_to_draw; + if (this.render_offscreen) + { + shaderindex = this.active_effect_types.length ? this.active_effect_types[0].shaderindex : 0; + etindex = this.active_effect_types.length ? this.active_effect_types[0].index : 0; + if (this.active_effect_types.length === 0 || (this.active_effect_types.length === 1 && + !glw.programUsesCrossSampling(shaderindex) && this.opacity === 1)) + { + if (this.active_effect_types.length === 1) + { + glw.switchProgram(shaderindex); + glw.setProgramParameters(this.layout.getRenderTarget(), // backTex + 1.0 / this.runtime.draw_width, // pixelWidth + 1.0 / this.runtime.draw_height, // pixelHeight + 0.0, 0.0, // destStart + 1.0, 1.0, // destEnd + myscale, // layerScale + this.getAngle(), + this.viewLeft, this.viewTop, + (this.viewLeft + this.viewRight) / 2, (this.viewTop + this.viewBottom) / 2, + this.runtime.kahanTime.sum, + this.effect_params[etindex]); // fx parameters + if (glw.programIsAnimated(shaderindex)) + this.runtime.redraw = true; + } + else + glw.switchProgram(0); + glw.setRenderingToTexture(this.layout.getRenderTarget()); + glw.setOpacity(this.opacity); + glw.setTexture(this.runtime.layer_tex); + glw.setBlend(this.srcBlend, this.destBlend); + glw.resetModelView(); + glw.updateModelView(); + var halfw = this.runtime.draw_width / 2; + var halfh = this.runtime.draw_height / 2; + glw.quad(-halfw, halfh, halfw, halfh, halfw, -halfh, -halfw, -halfh); + glw.setTexture(null); + } + else + { + this.layout.renderEffectChain(glw, this, null, this.layout.getRenderTarget()); + } + } + }; + Layer.prototype.drawInstanceGL = function (inst, glw) + { +; + if (!inst.visible || inst.width === 0 || inst.height === 0) + return; + inst.update_bbox(); + var bbox = inst.bbox; + if (bbox.right < this.viewLeft || bbox.bottom < this.viewTop || bbox.left > this.viewRight || bbox.top > this.viewBottom) + return; + glw.setEarlyZIndex(inst.earlyz_index); + if (inst.uses_shaders) + { + this.drawInstanceWithShadersGL(inst, glw); + } + else + { + glw.switchProgram(0); // un-set any previously set shader + glw.setBlend(inst.srcBlend, inst.destBlend); + inst.drawGL(glw); + } + }; + Layer.prototype.drawInstanceGL_earlyZPass = function (inst, glw) + { +; + if (!inst.visible || inst.width === 0 || inst.height === 0) + return; + inst.update_bbox(); + var bbox = inst.bbox; + if (bbox.right < this.viewLeft || bbox.bottom < this.viewTop || bbox.left > this.viewRight || bbox.top > this.viewBottom) + return; + inst.earlyz_index = this.runtime.earlyz_index++; + if (inst.blend_mode !== 0 || inst.opacity !== 1 || !inst.shaders_preserve_opaqueness || !inst.drawGL_earlyZPass) + return; + glw.setEarlyZIndex(inst.earlyz_index); + inst.drawGL_earlyZPass(glw); + }; + Layer.prototype.drawInstanceWithShadersGL = function (inst, glw) + { + var shaderindex = inst.active_effect_types[0].shaderindex; + var etindex = inst.active_effect_types[0].index; + var myscale = this.getScale(); + if (inst.active_effect_types.length === 1 && !glw.programUsesCrossSampling(shaderindex) && + !glw.programExtendsBox(shaderindex) && ((!inst.angle && !inst.layer.getAngle()) || !glw.programUsesDest(shaderindex)) && + inst.opacity === 1 && !inst.type.plugin.must_predraw) + { + glw.switchProgram(shaderindex); + glw.setBlend(inst.srcBlend, inst.destBlend); + if (glw.programIsAnimated(shaderindex)) + this.runtime.redraw = true; + var destStartX = 0, destStartY = 0, destEndX = 0, destEndY = 0; + if (glw.programUsesDest(shaderindex)) + { + var bbox = inst.bbox; + var screenleft = this.layerToCanvas(bbox.left, bbox.top, true, true); + var screentop = this.layerToCanvas(bbox.left, bbox.top, false, true); + var screenright = this.layerToCanvas(bbox.right, bbox.bottom, true, true); + var screenbottom = this.layerToCanvas(bbox.right, bbox.bottom, false, true); + destStartX = screenleft / windowWidth; + destStartY = 1 - screentop / windowHeight; + destEndX = screenright / windowWidth; + destEndY = 1 - screenbottom / windowHeight; + } + var pixelWidth; + var pixelHeight; + if (inst.curFrame && inst.curFrame.texture_img) + { + var img = inst.curFrame.texture_img; + pixelWidth = 1.0 / img.width; + pixelHeight = 1.0 / img.height; + } + else + { + pixelWidth = 1.0 / inst.width; + pixelHeight = 1.0 / inst.height; + } + glw.setProgramParameters(this.render_offscreen ? this.runtime.layer_tex : this.layout.getRenderTarget(), // backTex + pixelWidth, + pixelHeight, + destStartX, destStartY, + destEndX, destEndY, + myscale, + this.getAngle(), + this.viewLeft, this.viewTop, + (this.viewLeft + this.viewRight) / 2, (this.viewTop + this.viewBottom) / 2, + this.runtime.kahanTime.sum, + inst.effect_params[etindex]); + inst.drawGL(glw); + } + else + { + this.layout.renderEffectChain(glw, this, inst, this.render_offscreen ? this.runtime.layer_tex : this.layout.getRenderTarget()); + glw.resetModelView(); + glw.scale(myscale, myscale); + glw.rotateZ(-this.getAngle()); + glw.translate((this.viewLeft + this.viewRight) / -2, (this.viewTop + this.viewBottom) / -2); + glw.updateModelView(); + } + }; + Layer.prototype.canvasToLayer = function (ptx, pty, getx, using_draw_area) + { + var multiplier = this.runtime.devicePixelRatio; + if (this.runtime.isRetina) + { + ptx *= multiplier; + pty *= multiplier; + } + var ox = this.runtime.parallax_x_origin; + var oy = this.runtime.parallax_y_origin; + var par_x = ((this.layout.scrollX - ox) * this.parallaxX) + ox; + var par_y = ((this.layout.scrollY - oy) * this.parallaxY) + oy; + var x = par_x; + var y = par_y; + var invScale = 1 / this.getScale(!using_draw_area); + if (using_draw_area) + { + x -= (this.runtime.draw_width * invScale) / 2; + y -= (this.runtime.draw_height * invScale) / 2; + } + else + { + x -= (this.runtime.width * invScale) / 2; + y -= (this.runtime.height * invScale) / 2; + } + x += ptx * invScale; + y += pty * invScale; + var a = this.getAngle(); + if (a !== 0) + { + x -= par_x; + y -= par_y; + var cosa = Math.cos(a); + var sina = Math.sin(a); + var x_temp = (x * cosa) - (y * sina); + y = (y * cosa) + (x * sina); + x = x_temp; + x += par_x; + y += par_y; + } + return getx ? x : y; + }; + Layer.prototype.layerToCanvas = function (ptx, pty, getx, using_draw_area) + { + var ox = this.runtime.parallax_x_origin; + var oy = this.runtime.parallax_y_origin; + var par_x = ((this.layout.scrollX - ox) * this.parallaxX) + ox; + var par_y = ((this.layout.scrollY - oy) * this.parallaxY) + oy; + var x = par_x; + var y = par_y; + var a = this.getAngle(); + if (a !== 0) + { + ptx -= par_x; + pty -= par_y; + var cosa = Math.cos(-a); + var sina = Math.sin(-a); + var x_temp = (ptx * cosa) - (pty * sina); + pty = (pty * cosa) + (ptx * sina); + ptx = x_temp; + ptx += par_x; + pty += par_y; + } + var invScale = 1 / this.getScale(!using_draw_area); + if (using_draw_area) + { + x -= (this.runtime.draw_width * invScale) / 2; + y -= (this.runtime.draw_height * invScale) / 2; + } + else + { + x -= (this.runtime.width * invScale) / 2; + y -= (this.runtime.height * invScale) / 2; + } + x = (ptx - x) / invScale; + y = (pty - y) / invScale; + var multiplier = this.runtime.devicePixelRatio; + if (this.runtime.isRetina && !using_draw_area) + { + x /= multiplier; + y /= multiplier; + } + return getx ? x : y; + }; + Layer.prototype.rotatePt = function (x_, y_, getx) + { + if (this.getAngle() === 0) + return getx ? x_ : y_; + var nx = this.layerToCanvas(x_, y_, true); + var ny = this.layerToCanvas(x_, y_, false); + this.disableAngle = true; + var px = this.canvasToLayer(nx, ny, true); + var py = this.canvasToLayer(nx, ny, true); + this.disableAngle = false; + return getx ? px : py; + }; + Layer.prototype.saveToJSON = function () + { + var i, len, et; + var o = { + "s": this.scale, + "a": this.angle, + "vl": this.viewLeft, + "vt": this.viewTop, + "vr": this.viewRight, + "vb": this.viewBottom, + "v": this.visible, + "bc": this.background_color, + "t": this.transparent, + "px": this.parallaxX, + "py": this.parallaxY, + "o": this.opacity, + "zr": this.zoomRate, + "fx": [], + "cg": this.created_globals, // added r197; list of global UIDs already created + "instances": [] + }; + for (i = 0, len = this.effect_types.length; i < len; i++) + { + et = this.effect_types[i]; + o["fx"].push({"name": et.name, "active": et.active, "params": this.effect_params[et.index] }); + } + return o; + }; + Layer.prototype.loadFromJSON = function (o) + { + var i, j, len, p, inst, fx; + this.scale = o["s"]; + this.angle = o["a"]; + this.viewLeft = o["vl"]; + this.viewTop = o["vt"]; + this.viewRight = o["vr"]; + this.viewBottom = o["vb"]; + this.visible = o["v"]; + this.background_color = o["bc"]; + this.transparent = o["t"]; + this.parallaxX = o["px"]; + this.parallaxY = o["py"]; + this.opacity = o["o"]; + this.zoomRate = o["zr"]; + this.created_globals = o["cg"] || []; // added r197 + cr.shallowAssignArray(this.initial_instances, this.startup_initial_instances); + var temp_set = new cr.ObjectSet(); + for (i = 0, len = this.created_globals.length; i < len; ++i) + temp_set.add(this.created_globals[i]); + for (i = 0, j = 0, len = this.initial_instances.length; i < len; ++i) + { + if (!temp_set.contains(this.initial_instances[i][2])) // UID in element 2 + { + this.initial_instances[j] = this.initial_instances[i]; + ++j; + } + } + cr.truncateArray(this.initial_instances, j); + var ofx = o["fx"]; + for (i = 0, len = ofx.length; i < len; i++) + { + fx = this.getEffectByName(ofx[i]["name"]); + if (!fx) + continue; // must've gone missing + fx.active = ofx[i]["active"]; + this.effect_params[fx.index] = ofx[i]["params"]; + } + this.updateActiveEffects(); + this.instances.sort(sort_by_zindex); + this.zindices_stale = true; + }; + cr.layer = Layer; +}()); +; +(function() +{ + var allUniqueSolModifiers = []; + function testSolsMatch(arr1, arr2) + { + var i, len = arr1.length; + switch (len) { + case 0: + return true; + case 1: + return arr1[0] === arr2[0]; + case 2: + return arr1[0] === arr2[0] && arr1[1] === arr2[1]; + default: + for (i = 0; i < len; i++) + { + if (arr1[i] !== arr2[i]) + return false; + } + return true; + } + }; + function solArraySorter(t1, t2) + { + return t1.index - t2.index; + }; + function findMatchingSolModifier(arr) + { + var i, len, u, temp, subarr; + if (arr.length === 2) + { + if (arr[0].index > arr[1].index) + { + temp = arr[0]; + arr[0] = arr[1]; + arr[1] = temp; + } + } + else if (arr.length > 2) + arr.sort(solArraySorter); // so testSolsMatch compares in same order + if (arr.length >= allUniqueSolModifiers.length) + allUniqueSolModifiers.length = arr.length + 1; + if (!allUniqueSolModifiers[arr.length]) + allUniqueSolModifiers[arr.length] = []; + subarr = allUniqueSolModifiers[arr.length]; + for (i = 0, len = subarr.length; i < len; i++) + { + u = subarr[i]; + if (testSolsMatch(arr, u)) + return u; + } + subarr.push(arr); + return arr; + }; + function EventSheet(runtime, m) + { + this.runtime = runtime; + this.triggers = {}; + this.fasttriggers = {}; + this.hasRun = false; + this.includes = new cr.ObjectSet(); // all event sheets included by this sheet, at first-level indirection only + this.deep_includes = []; // all includes from this sheet recursively, in trigger order + this.already_included_sheets = []; // used while building deep_includes + this.name = m[0]; + var em = m[1]; // events model + this.events = []; // triggers won't make it to this array + var i, len; + for (i = 0, len = em.length; i < len; i++) + this.init_event(em[i], null, this.events); + }; + EventSheet.prototype.toString = function () + { + return this.name; + }; + EventSheet.prototype.init_event = function (m, parent, nontriggers) + { + switch (m[0]) { + case 0: // event block + { + var block = new cr.eventblock(this, parent, m); + cr.seal(block); + if (block.orblock) + { + nontriggers.push(block); + var i, len; + for (i = 0, len = block.conditions.length; i < len; i++) + { + if (block.conditions[i].trigger) + this.init_trigger(block, i); + } + } + else + { + if (block.is_trigger()) + this.init_trigger(block, 0); + else + nontriggers.push(block); + } + break; + } + case 1: // variable + { + var v = new cr.eventvariable(this, parent, m); + cr.seal(v); + nontriggers.push(v); + break; + } + case 2: // include + { + var inc = new cr.eventinclude(this, parent, m); + cr.seal(inc); + nontriggers.push(inc); + break; + } + default: +; + } + }; + EventSheet.prototype.postInit = function () + { + var i, len; + for (i = 0, len = this.events.length; i < len; i++) + { + this.events[i].postInit(i < len - 1 && this.events[i + 1].is_else_block); + } + }; + EventSheet.prototype.updateDeepIncludes = function () + { + cr.clearArray(this.deep_includes); + cr.clearArray(this.already_included_sheets); + this.addDeepIncludes(this); + cr.clearArray(this.already_included_sheets); + }; + EventSheet.prototype.addDeepIncludes = function (root_sheet) + { + var i, len, inc, sheet; + var deep_includes = root_sheet.deep_includes; + var already_included_sheets = root_sheet.already_included_sheets; + var arr = this.includes.valuesRef(); + for (i = 0, len = arr.length; i < len; ++i) + { + inc = arr[i]; + sheet = inc.include_sheet; + if (!inc.isActive() || root_sheet === sheet || already_included_sheets.indexOf(sheet) > -1) + continue; + already_included_sheets.push(sheet); + sheet.addDeepIncludes(root_sheet); + deep_includes.push(sheet); + } + }; + EventSheet.prototype.run = function (from_include) + { + if (!this.runtime.resuming_breakpoint) + { + this.hasRun = true; + if (!from_include) + this.runtime.isRunningEvents = true; + } + var i, len; + for (i = 0, len = this.events.length; i < len; i++) + { + var ev = this.events[i]; + ev.run(); + this.runtime.clearSol(ev.solModifiers); + if (this.runtime.hasPendingInstances) + this.runtime.ClearDeathRow(); + } + if (!from_include) + this.runtime.isRunningEvents = false; + }; + function isPerformanceSensitiveTrigger(method) + { + if (cr.plugins_.Sprite && method === cr.plugins_.Sprite.prototype.cnds.OnFrameChanged) + { + return true; + } + return false; + }; + EventSheet.prototype.init_trigger = function (trig, index) + { + if (!trig.orblock) + this.runtime.triggers_to_postinit.push(trig); // needs to be postInit'd later + var i, len; + var cnd = trig.conditions[index]; + var type_name; + if (cnd.type) + type_name = cnd.type.name; + else + type_name = "system"; + var fasttrigger = cnd.fasttrigger; + var triggers = (fasttrigger ? this.fasttriggers : this.triggers); + if (!triggers[type_name]) + triggers[type_name] = []; + var obj_entry = triggers[type_name]; + var method = cnd.func; + if (fasttrigger) + { + if (!cnd.parameters.length) // no parameters + return; + var firstparam = cnd.parameters[0]; + if (firstparam.type !== 1 || // not a string param + firstparam.expression.type !== 2) // not a string literal node + { + return; + } + var fastevs; + var firstvalue = firstparam.expression.value.toLowerCase(); + var i, len; + for (i = 0, len = obj_entry.length; i < len; i++) + { + if (obj_entry[i].method == method) + { + fastevs = obj_entry[i].evs; + if (!fastevs[firstvalue]) + fastevs[firstvalue] = [[trig, index]]; + else + fastevs[firstvalue].push([trig, index]); + return; + } + } + fastevs = {}; + fastevs[firstvalue] = [[trig, index]]; + obj_entry.push({ method: method, evs: fastevs }); + } + else + { + for (i = 0, len = obj_entry.length; i < len; i++) + { + if (obj_entry[i].method == method) + { + obj_entry[i].evs.push([trig, index]); + return; + } + } + if (isPerformanceSensitiveTrigger(method)) + obj_entry.unshift({ method: method, evs: [[trig, index]]}); + else + obj_entry.push({ method: method, evs: [[trig, index]]}); + } + }; + cr.eventsheet = EventSheet; + function Selection(type) + { + this.type = type; + this.instances = []; // subset of picked instances + this.else_instances = []; // subset of unpicked instances + this.select_all = true; + }; + Selection.prototype.hasObjects = function () + { + if (this.select_all) + return this.type.instances.length; + else + return this.instances.length; + }; + Selection.prototype.getObjects = function () + { + if (this.select_all) + return this.type.instances; + else + return this.instances; + }; + /* + Selection.prototype.ensure_picked = function (inst, skip_siblings) + { + var i, len; + var orblock = inst.runtime.getCurrentEventStack().current_event.orblock; + if (this.select_all) + { + this.select_all = false; + if (orblock) + { + cr.shallowAssignArray(this.else_instances, inst.type.instances); + cr.arrayFindRemove(this.else_instances, inst); + } + this.instances.length = 1; + this.instances[0] = inst; + } + else + { + if (orblock) + { + i = this.else_instances.indexOf(inst); + if (i !== -1) + { + this.instances.push(this.else_instances[i]); + this.else_instances.splice(i, 1); + } + } + else + { + if (this.instances.indexOf(inst) === -1) + this.instances.push(inst); + } + } + if (!skip_siblings) + { + } + }; + */ + Selection.prototype.pick_one = function (inst) + { + if (!inst) + return; + if (inst.runtime.getCurrentEventStack().current_event.orblock) + { + if (this.select_all) + { + cr.clearArray(this.instances); + cr.shallowAssignArray(this.else_instances, inst.type.instances); + this.select_all = false; + } + var i = this.else_instances.indexOf(inst); + if (i !== -1) + { + this.instances.push(this.else_instances[i]); + this.else_instances.splice(i, 1); + } + } + else + { + this.select_all = false; + cr.clearArray(this.instances); + this.instances[0] = inst; + } + }; + cr.selection = Selection; + function EventBlock(sheet, parent, m) + { + this.sheet = sheet; + this.parent = parent; + this.runtime = sheet.runtime; + this.solModifiers = []; + this.solModifiersIncludingParents = []; + this.solWriterAfterCnds = false; // block does not change SOL after running its conditions + this.group = false; // is group of events + this.initially_activated = false; // if a group, is active on startup + this.toplevelevent = false; // is an event block parented only by a top-level group + this.toplevelgroup = false; // is parented only by other groups or is top-level (i.e. not in a subevent) + this.has_else_block = false; // is followed by else +; + this.conditions = []; + this.actions = []; + this.subevents = []; + this.group_name = ""; + this.group = false; + this.initially_activated = false; + this.group_active = false; + this.contained_includes = null; + if (m[1]) + { + this.group_name = m[1][1].toLowerCase(); + this.group = true; + this.initially_activated = !!m[1][0]; + this.contained_includes = []; + this.group_active = this.initially_activated; + this.runtime.allGroups.push(this); + this.runtime.groups_by_name[this.group_name] = this; + } + this.orblock = m[2]; + this.sid = m[4]; + if (!this.group) + this.runtime.blocksBySid[this.sid.toString()] = this; + var i, len; + var cm = m[5]; + for (i = 0, len = cm.length; i < len; i++) + { + var cnd = new cr.condition(this, cm[i]); + cnd.index = i; + cr.seal(cnd); + this.conditions.push(cnd); + /* + if (cnd.is_logical()) + this.is_logical = true; + if (cnd.type && !cnd.type.plugin.singleglobal && this.cndReferences.indexOf(cnd.type) === -1) + this.cndReferences.push(cnd.type); + */ + this.addSolModifier(cnd.type); + } + var am = m[6]; + for (i = 0, len = am.length; i < len; i++) + { + var act = new cr.action(this, am[i]); + act.index = i; + cr.seal(act); + this.actions.push(act); + } + if (m.length === 8) + { + var em = m[7]; + for (i = 0, len = em.length; i < len; i++) + this.sheet.init_event(em[i], this, this.subevents); + } + this.is_else_block = false; + if (this.conditions.length) + { + this.is_else_block = (this.conditions[0].type == null && this.conditions[0].func == cr.system_object.prototype.cnds.Else); + } + }; + window["_c2hh_"] = "8D9E0ABFC8F968E2FEDC80FC6ED0ECA1496C6F1E"; + EventBlock.prototype.postInit = function (hasElse/*, prevBlock_*/) + { + var i, len; + var p = this.parent; + if (this.group) + { + this.toplevelgroup = true; + while (p) + { + if (!p.group) + { + this.toplevelgroup = false; + break; + } + p = p.parent; + } + } + this.toplevelevent = !this.is_trigger() && (!this.parent || (this.parent.group && this.parent.toplevelgroup)); + this.has_else_block = !!hasElse; + this.solModifiersIncludingParents = this.solModifiers.slice(0); + p = this.parent; + while (p) + { + for (i = 0, len = p.solModifiers.length; i < len; i++) + this.addParentSolModifier(p.solModifiers[i]); + p = p.parent; + } + this.solModifiers = findMatchingSolModifier(this.solModifiers); + this.solModifiersIncludingParents = findMatchingSolModifier(this.solModifiersIncludingParents); + var i, len/*, s*/; + for (i = 0, len = this.conditions.length; i < len; i++) + this.conditions[i].postInit(); + for (i = 0, len = this.actions.length; i < len; i++) + this.actions[i].postInit(); + for (i = 0, len = this.subevents.length; i < len; i++) + { + this.subevents[i].postInit(i < len - 1 && this.subevents[i + 1].is_else_block); + } + /* + if (this.is_else_block && this.prev_block) + { + for (i = 0, len = this.prev_block.solModifiers.length; i < len; i++) + { + s = this.prev_block.solModifiers[i]; + if (this.solModifiers.indexOf(s) === -1) + this.solModifiers.push(s); + } + } + */ + }; + EventBlock.prototype.setGroupActive = function (a) + { + if (this.group_active === !!a) + return; // same state + this.group_active = !!a; + var i, len; + for (i = 0, len = this.contained_includes.length; i < len; ++i) + { + this.contained_includes[i].updateActive(); + } + if (len > 0 && this.runtime.running_layout.event_sheet) + this.runtime.running_layout.event_sheet.updateDeepIncludes(); + }; + function addSolModifierToList(type, arr) + { + var i, len, t; + if (!type) + return; + if (arr.indexOf(type) === -1) + arr.push(type); + if (type.is_contained) + { + for (i = 0, len = type.container.length; i < len; i++) + { + t = type.container[i]; + if (type === t) + continue; // already handled + if (arr.indexOf(t) === -1) + arr.push(t); + } + } + }; + EventBlock.prototype.addSolModifier = function (type) + { + addSolModifierToList(type, this.solModifiers); + }; + EventBlock.prototype.addParentSolModifier = function (type) + { + addSolModifierToList(type, this.solModifiersIncludingParents); + }; + EventBlock.prototype.setSolWriterAfterCnds = function () + { + this.solWriterAfterCnds = true; + if (this.parent) + this.parent.setSolWriterAfterCnds(); + }; + EventBlock.prototype.is_trigger = function () + { + if (!this.conditions.length) // no conditions + return false; + else + return this.conditions[0].trigger; + }; + EventBlock.prototype.run = function () + { + var i, len, c, any_true = false, cnd_result; + var runtime = this.runtime; + var evinfo = this.runtime.getCurrentEventStack(); + evinfo.current_event = this; + var conditions = this.conditions; + if (!this.is_else_block) + evinfo.else_branch_ran = false; + if (this.orblock) + { + if (conditions.length === 0) + any_true = true; // be sure to run if empty block + evinfo.cndindex = 0 + for (len = conditions.length; evinfo.cndindex < len; evinfo.cndindex++) + { + c = conditions[evinfo.cndindex]; + if (c.trigger) // skip triggers when running OR block + continue; + cnd_result = c.run(); + if (cnd_result) // make sure all conditions run and run if any were true + any_true = true; + } + evinfo.last_event_true = any_true; + if (any_true) + this.run_actions_and_subevents(); + } + else + { + evinfo.cndindex = 0 + for (len = conditions.length; evinfo.cndindex < len; evinfo.cndindex++) + { + cnd_result = conditions[evinfo.cndindex].run(); + if (!cnd_result) // condition failed + { + evinfo.last_event_true = false; + if (this.toplevelevent && runtime.hasPendingInstances) + runtime.ClearDeathRow(); + return; // bail out now + } + } + evinfo.last_event_true = true; + this.run_actions_and_subevents(); + } + this.end_run(evinfo); + }; + EventBlock.prototype.end_run = function (evinfo) + { + if (evinfo.last_event_true && this.has_else_block) + evinfo.else_branch_ran = true; + if (this.toplevelevent && this.runtime.hasPendingInstances) + this.runtime.ClearDeathRow(); + }; + EventBlock.prototype.run_orblocktrigger = function (index) + { + var evinfo = this.runtime.getCurrentEventStack(); + evinfo.current_event = this; + if (this.conditions[index].run()) + { + this.run_actions_and_subevents(); + this.runtime.getCurrentEventStack().last_event_true = true; + } + }; + EventBlock.prototype.run_actions_and_subevents = function () + { + var evinfo = this.runtime.getCurrentEventStack(); + var len; + for (evinfo.actindex = 0, len = this.actions.length; evinfo.actindex < len; evinfo.actindex++) + { + if (this.actions[evinfo.actindex].run()) + return; + } + this.run_subevents(); + }; + EventBlock.prototype.resume_actions_and_subevents = function () + { + var evinfo = this.runtime.getCurrentEventStack(); + var len; + for (len = this.actions.length; evinfo.actindex < len; evinfo.actindex++) + { + if (this.actions[evinfo.actindex].run()) + return; + } + this.run_subevents(); + }; + EventBlock.prototype.run_subevents = function () + { + if (!this.subevents.length) + return; + var i, len, subev, pushpop/*, skipped_pop = false, pop_modifiers = null*/; + var last = this.subevents.length - 1; + this.runtime.pushEventStack(this); + if (this.solWriterAfterCnds) + { + for (i = 0, len = this.subevents.length; i < len; i++) + { + subev = this.subevents[i]; + pushpop = (!this.toplevelgroup || (!this.group && i < last)); + if (pushpop) + this.runtime.pushCopySol(subev.solModifiers); + subev.run(); + if (pushpop) + this.runtime.popSol(subev.solModifiers); + else + this.runtime.clearSol(subev.solModifiers); + } + } + else + { + for (i = 0, len = this.subevents.length; i < len; i++) + { + this.subevents[i].run(); + } + } + this.runtime.popEventStack(); + }; + EventBlock.prototype.run_pretrigger = function () + { + var evinfo = this.runtime.getCurrentEventStack(); + evinfo.current_event = this; + var any_true = false; + var i, len; + for (evinfo.cndindex = 0, len = this.conditions.length; evinfo.cndindex < len; evinfo.cndindex++) + { +; + if (this.conditions[evinfo.cndindex].run()) + any_true = true; + else if (!this.orblock) // condition failed (let OR blocks run all conditions anyway) + return false; // bail out + } + return this.orblock ? any_true : true; + }; + EventBlock.prototype.retrigger = function () + { + this.runtime.execcount++; + var prevcndindex = this.runtime.getCurrentEventStack().cndindex; + var len; + var evinfo = this.runtime.pushEventStack(this); + if (!this.orblock) + { + for (evinfo.cndindex = prevcndindex + 1, len = this.conditions.length; evinfo.cndindex < len; evinfo.cndindex++) + { + if (!this.conditions[evinfo.cndindex].run()) // condition failed + { + this.runtime.popEventStack(); // moving up level of recursion + return false; // bail out + } + } + } + this.run_actions_and_subevents(); + this.runtime.popEventStack(); + return true; // ran an iteration + }; + EventBlock.prototype.isFirstConditionOfType = function (cnd) + { + var cndindex = cnd.index; + if (cndindex === 0) + return true; + --cndindex; + for ( ; cndindex >= 0; --cndindex) + { + if (this.conditions[cndindex].type === cnd.type) + return false; + } + return true; + }; + cr.eventblock = EventBlock; + function Condition(block, m) + { + this.block = block; + this.sheet = block.sheet; + this.runtime = block.runtime; + this.parameters = []; + this.results = []; + this.extra = {}; // for plugins to stow away some custom info + this.index = -1; + this.anyParamVariesPerInstance = false; + this.func = this.runtime.GetObjectReference(m[1]); +; + this.trigger = (m[3] > 0); + this.fasttrigger = (m[3] === 2); + this.looping = m[4]; + this.inverted = m[5]; + this.isstatic = m[6]; + this.sid = m[7]; + this.runtime.cndsBySid[this.sid.toString()] = this; + if (m[0] === -1) // system object + { + this.type = null; + this.run = this.run_system; + this.behaviortype = null; + this.beh_index = -1; + } + else + { + this.type = this.runtime.types_by_index[m[0]]; +; + if (this.isstatic) + this.run = this.run_static; + else + this.run = this.run_object; + if (m[2]) + { + this.behaviortype = this.type.getBehaviorByName(m[2]); +; + this.beh_index = this.type.getBehaviorIndexByName(m[2]); +; + } + else + { + this.behaviortype = null; + this.beh_index = -1; + } + if (this.block.parent) + this.block.parent.setSolWriterAfterCnds(); + } + if (this.fasttrigger) + this.run = this.run_true; + if (m.length === 10) + { + var i, len; + var em = m[9]; + for (i = 0, len = em.length; i < len; i++) + { + var param = new cr.parameter(this, em[i]); + cr.seal(param); + this.parameters.push(param); + } + this.results.length = em.length; + } + }; + Condition.prototype.postInit = function () + { + var i, len, p; + for (i = 0, len = this.parameters.length; i < len; i++) + { + p = this.parameters[i]; + p.postInit(); + if (p.variesPerInstance) + this.anyParamVariesPerInstance = true; + } + }; + /* + Condition.prototype.is_logical = function () + { + return !this.type || this.type.plugin.singleglobal; + }; + */ + Condition.prototype.run_true = function () + { + return true; + }; + Condition.prototype.run_system = function () + { + var i, len; + for (i = 0, len = this.parameters.length; i < len; i++) + this.results[i] = this.parameters[i].get(); + return cr.xor(this.func.apply(this.runtime.system, this.results), this.inverted); + }; + Condition.prototype.run_static = function () + { + var i, len; + for (i = 0, len = this.parameters.length; i < len; i++) + this.results[i] = this.parameters[i].get(); + var ret = this.func.apply(this.behaviortype ? this.behaviortype : this.type, this.results); + this.type.applySolToContainer(); + return ret; + }; + Condition.prototype.run_object = function () + { + var i, j, k, leni, lenj, p, ret, met, inst, s, sol2; + var type = this.type; + var sol = type.getCurrentSol(); + var is_orblock = this.block.orblock && !this.trigger; // triggers in OR blocks need to work normally + var offset = 0; + var is_contained = type.is_contained; + var is_family = type.is_family; + var family_index = type.family_index; + var beh_index = this.beh_index; + var is_beh = (beh_index > -1); + var params_vary = this.anyParamVariesPerInstance; + var parameters = this.parameters; + var results = this.results; + var inverted = this.inverted; + var func = this.func; + var arr, container; + if (params_vary) + { + for (j = 0, lenj = parameters.length; j < lenj; ++j) + { + p = parameters[j]; + if (!p.variesPerInstance) + results[j] = p.get(0); + } + } + else + { + for (j = 0, lenj = parameters.length; j < lenj; ++j) + results[j] = parameters[j].get(0); + } + if (sol.select_all) { + cr.clearArray(sol.instances); // clear contents + cr.clearArray(sol.else_instances); + arr = type.instances; + for (i = 0, leni = arr.length; i < leni; ++i) + { + inst = arr[i]; +; + if (params_vary) + { + for (j = 0, lenj = parameters.length; j < lenj; ++j) + { + p = parameters[j]; + if (p.variesPerInstance) + results[j] = p.get(i); // default SOL index is current object + } + } + if (is_beh) + { + offset = 0; + if (is_family) + { + offset = inst.type.family_beh_map[family_index]; + } + ret = func.apply(inst.behavior_insts[beh_index + offset], results); + } + else + ret = func.apply(inst, results); + met = cr.xor(ret, inverted); + if (met) + sol.instances.push(inst); + else if (is_orblock) // in OR blocks, keep the instances not meeting the condition for subsequent testing + sol.else_instances.push(inst); + } + if (type.finish) + type.finish(true); + sol.select_all = false; + type.applySolToContainer(); + return sol.hasObjects(); + } + else { + k = 0; + var using_else_instances = (is_orblock && !this.block.isFirstConditionOfType(this)); + arr = (using_else_instances ? sol.else_instances : sol.instances); + var any_true = false; + for (i = 0, leni = arr.length; i < leni; ++i) + { + inst = arr[i]; +; + if (params_vary) + { + for (j = 0, lenj = parameters.length; j < lenj; ++j) + { + p = parameters[j]; + if (p.variesPerInstance) + results[j] = p.get(i); // default SOL index is current object + } + } + if (is_beh) + { + offset = 0; + if (is_family) + { + offset = inst.type.family_beh_map[family_index]; + } + ret = func.apply(inst.behavior_insts[beh_index + offset], results); + } + else + ret = func.apply(inst, results); + if (cr.xor(ret, inverted)) + { + any_true = true; + if (using_else_instances) + { + sol.instances.push(inst); + if (is_contained) + { + for (j = 0, lenj = inst.siblings.length; j < lenj; j++) + { + s = inst.siblings[j]; + s.type.getCurrentSol().instances.push(s); + } + } + } + else + { + arr[k] = inst; + if (is_contained) + { + for (j = 0, lenj = inst.siblings.length; j < lenj; j++) + { + s = inst.siblings[j]; + s.type.getCurrentSol().instances[k] = s; + } + } + k++; + } + } + else + { + if (using_else_instances) + { + arr[k] = inst; + if (is_contained) + { + for (j = 0, lenj = inst.siblings.length; j < lenj; j++) + { + s = inst.siblings[j]; + s.type.getCurrentSol().else_instances[k] = s; + } + } + k++; + } + else if (is_orblock) + { + sol.else_instances.push(inst); + if (is_contained) + { + for (j = 0, lenj = inst.siblings.length; j < lenj; j++) + { + s = inst.siblings[j]; + s.type.getCurrentSol().else_instances.push(s); + } + } + } + } + } + cr.truncateArray(arr, k); + if (is_contained) + { + container = type.container; + for (i = 0, leni = container.length; i < leni; i++) + { + sol2 = container[i].getCurrentSol(); + if (using_else_instances) + cr.truncateArray(sol2.else_instances, k); + else + cr.truncateArray(sol2.instances, k); + } + } + var pick_in_finish = any_true; // don't pick in finish() if we're only doing the logic test below + if (using_else_instances && !any_true) + { + for (i = 0, leni = sol.instances.length; i < leni; i++) + { + inst = sol.instances[i]; + if (params_vary) + { + for (j = 0, lenj = parameters.length; j < lenj; j++) + { + p = parameters[j]; + if (p.variesPerInstance) + results[j] = p.get(i); + } + } + if (is_beh) + ret = func.apply(inst.behavior_insts[beh_index], results); + else + ret = func.apply(inst, results); + if (cr.xor(ret, inverted)) + { + any_true = true; + break; // got our flag, don't need to test any more + } + } + } + if (type.finish) + type.finish(pick_in_finish || is_orblock); + return is_orblock ? any_true : sol.hasObjects(); + } + }; + cr.condition = Condition; + function Action(block, m) + { + this.block = block; + this.sheet = block.sheet; + this.runtime = block.runtime; + this.parameters = []; + this.results = []; + this.extra = {}; // for plugins to stow away some custom info + this.index = -1; + this.anyParamVariesPerInstance = false; + this.func = this.runtime.GetObjectReference(m[1]); +; + if (m[0] === -1) // system + { + this.type = null; + this.run = this.run_system; + this.behaviortype = null; + this.beh_index = -1; + } + else + { + this.type = this.runtime.types_by_index[m[0]]; +; + this.run = this.run_object; + if (m[2]) + { + this.behaviortype = this.type.getBehaviorByName(m[2]); +; + this.beh_index = this.type.getBehaviorIndexByName(m[2]); +; + } + else + { + this.behaviortype = null; + this.beh_index = -1; + } + } + this.sid = m[3]; + this.runtime.actsBySid[this.sid.toString()] = this; + if (m.length === 6) + { + var i, len; + var em = m[5]; + for (i = 0, len = em.length; i < len; i++) + { + var param = new cr.parameter(this, em[i]); + cr.seal(param); + this.parameters.push(param); + } + this.results.length = em.length; + } + }; + Action.prototype.postInit = function () + { + var i, len, p; + for (i = 0, len = this.parameters.length; i < len; i++) + { + p = this.parameters[i]; + p.postInit(); + if (p.variesPerInstance) + this.anyParamVariesPerInstance = true; + } + }; + Action.prototype.run_system = function () + { + var runtime = this.runtime; + var i, len; + var parameters = this.parameters; + var results = this.results; + for (i = 0, len = parameters.length; i < len; ++i) + results[i] = parameters[i].get(); + return this.func.apply(runtime.system, results); + }; + Action.prototype.run_object = function () + { + var type = this.type; + var beh_index = this.beh_index; + var family_index = type.family_index; + var params_vary = this.anyParamVariesPerInstance; + var parameters = this.parameters; + var results = this.results; + var func = this.func; + var instances = type.getCurrentSol().getObjects(); + var is_family = type.is_family; + var is_beh = (beh_index > -1); + var i, j, leni, lenj, p, inst, offset; + if (params_vary) + { + for (j = 0, lenj = parameters.length; j < lenj; ++j) + { + p = parameters[j]; + if (!p.variesPerInstance) + results[j] = p.get(0); + } + } + else + { + for (j = 0, lenj = parameters.length; j < lenj; ++j) + results[j] = parameters[j].get(0); + } + for (i = 0, leni = instances.length; i < leni; ++i) + { + inst = instances[i]; + if (params_vary) + { + for (j = 0, lenj = parameters.length; j < lenj; ++j) + { + p = parameters[j]; + if (p.variesPerInstance) + results[j] = p.get(i); // pass i to use as default SOL index + } + } + if (is_beh) + { + offset = 0; + if (is_family) + { + offset = inst.type.family_beh_map[family_index]; + } + func.apply(inst.behavior_insts[beh_index + offset], results); + } + else + func.apply(inst, results); + } + return false; + }; + cr.action = Action; + var tempValues = []; + var tempValuesPtr = -1; + function pushTempValue() + { + tempValuesPtr++; + if (tempValues.length === tempValuesPtr) + tempValues.push(new cr.expvalue()); + return tempValues[tempValuesPtr]; + }; + function popTempValue() + { + tempValuesPtr--; + }; + function Parameter(owner, m) + { + this.owner = owner; + this.block = owner.block; + this.sheet = owner.sheet; + this.runtime = owner.runtime; + this.type = m[0]; + this.expression = null; + this.solindex = 0; + this.get = null; + this.combosel = 0; + this.layout = null; + this.key = 0; + this.object = null; + this.index = 0; + this.varname = null; + this.eventvar = null; + this.fileinfo = null; + this.subparams = null; + this.variadicret = null; + this.subparams = null; + this.variadicret = null; + this.variesPerInstance = false; + var i, len, param; + switch (m[0]) + { + case 0: // number + case 7: // any + this.expression = new cr.expNode(this, m[1]); + this.solindex = 0; + this.get = this.get_exp; + break; + case 1: // string + this.expression = new cr.expNode(this, m[1]); + this.solindex = 0; + this.get = this.get_exp_str; + break; + case 5: // layer + this.expression = new cr.expNode(this, m[1]); + this.solindex = 0; + this.get = this.get_layer; + break; + case 3: // combo + case 8: // cmp + this.combosel = m[1]; + this.get = this.get_combosel; + break; + case 6: // layout + this.layout = this.runtime.layouts[m[1]]; +; + this.get = this.get_layout; + break; + case 9: // keyb + this.key = m[1]; + this.get = this.get_key; + break; + case 4: // object + this.object = this.runtime.types_by_index[m[1]]; +; + this.get = this.get_object; + this.block.addSolModifier(this.object); + if (this.owner instanceof cr.action) + this.block.setSolWriterAfterCnds(); + else if (this.block.parent) + this.block.parent.setSolWriterAfterCnds(); + break; + case 10: // instvar + this.index = m[1]; + if (owner.type && owner.type.is_family) + { + this.get = this.get_familyvar; + this.variesPerInstance = true; + } + else + this.get = this.get_instvar; + break; + case 11: // eventvar + this.varname = m[1]; + this.eventvar = null; + this.get = this.get_eventvar; + break; + case 2: // audiofile ["name", ismusic] + case 12: // fileinfo "name" + this.fileinfo = m[1]; + this.get = this.get_audiofile; + break; + case 13: // variadic + this.get = this.get_variadic; + this.subparams = []; + this.variadicret = []; + for (i = 1, len = m.length; i < len; i++) + { + param = new cr.parameter(this.owner, m[i]); + cr.seal(param); + this.subparams.push(param); + this.variadicret.push(0); + } + break; + default: +; + } + }; + Parameter.prototype.postInit = function () + { + var i, len; + if (this.type === 11) // eventvar + { + this.eventvar = this.runtime.getEventVariableByName(this.varname, this.block.parent); +; + } + else if (this.type === 13) // variadic, postInit all sub-params + { + for (i = 0, len = this.subparams.length; i < len; i++) + this.subparams[i].postInit(); + } + if (this.expression) + this.expression.postInit(); + }; + Parameter.prototype.maybeVaryForType = function (t) + { + if (this.variesPerInstance) + return; // already varies per instance, no need to check again + if (!t) + return; // never vary for system type + if (!t.plugin.singleglobal) + { + this.variesPerInstance = true; + return; + } + }; + Parameter.prototype.setVaries = function () + { + this.variesPerInstance = true; + }; + Parameter.prototype.get_exp = function (solindex) + { + this.solindex = solindex || 0; // default SOL index to use + var temp = pushTempValue(); + this.expression.get(temp); + popTempValue(); + return temp.data; // return actual JS value, not expvalue + }; + Parameter.prototype.get_exp_str = function (solindex) + { + this.solindex = solindex || 0; // default SOL index to use + var temp = pushTempValue(); + this.expression.get(temp); + popTempValue(); + if (cr.is_string(temp.data)) + return temp.data; + else + return ""; + }; + Parameter.prototype.get_object = function () + { + return this.object; + }; + Parameter.prototype.get_combosel = function () + { + return this.combosel; + }; + Parameter.prototype.get_layer = function (solindex) + { + this.solindex = solindex || 0; // default SOL index to use + var temp = pushTempValue(); + this.expression.get(temp); + popTempValue(); + if (temp.is_number()) + return this.runtime.getLayerByNumber(temp.data); + else + return this.runtime.getLayerByName(temp.data); + } + Parameter.prototype.get_layout = function () + { + return this.layout; + }; + Parameter.prototype.get_key = function () + { + return this.key; + }; + Parameter.prototype.get_instvar = function () + { + return this.index; + }; + Parameter.prototype.get_familyvar = function (solindex_) + { + var solindex = solindex_ || 0; + var familytype = this.owner.type; + var realtype = null; + var sol = familytype.getCurrentSol(); + var objs = sol.getObjects(); + if (objs.length) + realtype = objs[solindex % objs.length].type; + else if (sol.else_instances.length) + realtype = sol.else_instances[solindex % sol.else_instances.length].type; + else if (familytype.instances.length) + realtype = familytype.instances[solindex % familytype.instances.length].type; + else + return 0; + return this.index + realtype.family_var_map[familytype.family_index]; + }; + Parameter.prototype.get_eventvar = function () + { + return this.eventvar; + }; + Parameter.prototype.get_audiofile = function () + { + return this.fileinfo; + }; + Parameter.prototype.get_variadic = function () + { + var i, len; + for (i = 0, len = this.subparams.length; i < len; i++) + { + this.variadicret[i] = this.subparams[i].get(); + } + return this.variadicret; + }; + cr.parameter = Parameter; + function EventVariable(sheet, parent, m) + { + this.sheet = sheet; + this.parent = parent; + this.runtime = sheet.runtime; + this.solModifiers = []; + this.name = m[1]; + this.vartype = m[2]; + this.initial = m[3]; + this.is_static = !!m[4]; + this.is_constant = !!m[5]; + this.sid = m[6]; + this.runtime.varsBySid[this.sid.toString()] = this; + this.data = this.initial; // note: also stored in event stack frame for local nonstatic nonconst vars + if (this.parent) // local var + { + if (this.is_static || this.is_constant) + this.localIndex = -1; + else + this.localIndex = this.runtime.stackLocalCount++; + this.runtime.all_local_vars.push(this); + } + else // global var + { + this.localIndex = -1; + this.runtime.all_global_vars.push(this); + } + }; + EventVariable.prototype.postInit = function () + { + this.solModifiers = findMatchingSolModifier(this.solModifiers); + }; + EventVariable.prototype.setValue = function (x) + { +; + var lvs = this.runtime.getCurrentLocalVarStack(); + if (!this.parent || this.is_static || !lvs) + this.data = x; + else // local nonstatic variable: use event stack to keep value at this level of recursion + { + if (this.localIndex >= lvs.length) + lvs.length = this.localIndex + 1; + lvs[this.localIndex] = x; + } + }; + EventVariable.prototype.getValue = function () + { + var lvs = this.runtime.getCurrentLocalVarStack(); + if (!this.parent || this.is_static || !lvs || this.is_constant) + return this.data; + else // local nonstatic variable + { + if (this.localIndex >= lvs.length) + { + return this.initial; + } + if (typeof lvs[this.localIndex] === "undefined") + { + return this.initial; + } + return lvs[this.localIndex]; + } + }; + EventVariable.prototype.run = function () + { + if (this.parent && !this.is_static && !this.is_constant) + this.setValue(this.initial); + }; + cr.eventvariable = EventVariable; + function EventInclude(sheet, parent, m) + { + this.sheet = sheet; + this.parent = parent; + this.runtime = sheet.runtime; + this.solModifiers = []; + this.include_sheet = null; // determined in postInit + this.include_sheet_name = m[1]; + this.active = true; + }; + EventInclude.prototype.toString = function () + { + return "include:" + this.include_sheet.toString(); + }; + EventInclude.prototype.postInit = function () + { + this.include_sheet = this.runtime.eventsheets[this.include_sheet_name]; +; +; + this.sheet.includes.add(this); + this.solModifiers = findMatchingSolModifier(this.solModifiers); + var p = this.parent; + while (p) + { + if (p.group) + p.contained_includes.push(this); + p = p.parent; + } + this.updateActive(); + }; + EventInclude.prototype.run = function () + { + if (this.parent) + this.runtime.pushCleanSol(this.runtime.types_by_index); + if (!this.include_sheet.hasRun) + this.include_sheet.run(true); // from include + if (this.parent) + this.runtime.popSol(this.runtime.types_by_index); + }; + EventInclude.prototype.updateActive = function () + { + var p = this.parent; + while (p) + { + if (p.group && !p.group_active) + { + this.active = false; + return; + } + p = p.parent; + } + this.active = true; + }; + EventInclude.prototype.isActive = function () + { + return this.active; + }; + cr.eventinclude = EventInclude; + function EventStackFrame() + { + this.temp_parents_arr = []; + this.reset(null); + cr.seal(this); + }; + EventStackFrame.prototype.reset = function (cur_event) + { + this.current_event = cur_event; + this.cndindex = 0; + this.actindex = 0; + cr.clearArray(this.temp_parents_arr); + this.last_event_true = false; + this.else_branch_ran = false; + this.any_true_state = false; + }; + EventStackFrame.prototype.isModifierAfterCnds = function () + { + if (this.current_event.solWriterAfterCnds) + return true; + if (this.cndindex < this.current_event.conditions.length - 1) + return !!this.current_event.solModifiers.length; + return false; + }; + cr.eventStackFrame = EventStackFrame; +}()); +(function() +{ + function ExpNode(owner_, m) + { + this.owner = owner_; + this.runtime = owner_.runtime; + this.type = m[0]; +; + this.get = [this.eval_int, + this.eval_float, + this.eval_string, + this.eval_unaryminus, + this.eval_add, + this.eval_subtract, + this.eval_multiply, + this.eval_divide, + this.eval_mod, + this.eval_power, + this.eval_and, + this.eval_or, + this.eval_equal, + this.eval_notequal, + this.eval_less, + this.eval_lessequal, + this.eval_greater, + this.eval_greaterequal, + this.eval_conditional, + this.eval_system_exp, + this.eval_object_exp, + this.eval_instvar_exp, + this.eval_behavior_exp, + this.eval_eventvar_exp][this.type]; + var paramsModel = null; + this.value = null; + this.first = null; + this.second = null; + this.third = null; + this.func = null; + this.results = null; + this.parameters = null; + this.object_type = null; + this.beh_index = -1; + this.instance_expr = null; + this.varindex = -1; + this.behavior_type = null; + this.varname = null; + this.eventvar = null; + this.return_string = false; + switch (this.type) { + case 0: // int + case 1: // float + case 2: // string + this.value = m[1]; + break; + case 3: // unaryminus + this.first = new cr.expNode(owner_, m[1]); + break; + case 18: // conditional + this.first = new cr.expNode(owner_, m[1]); + this.second = new cr.expNode(owner_, m[2]); + this.third = new cr.expNode(owner_, m[3]); + break; + case 19: // system_exp + this.func = this.runtime.GetObjectReference(m[1]); +; + if (this.func === cr.system_object.prototype.exps.random + || this.func === cr.system_object.prototype.exps.choose) + { + this.owner.setVaries(); + } + this.results = []; + this.parameters = []; + if (m.length === 3) + { + paramsModel = m[2]; + this.results.length = paramsModel.length + 1; // must also fit 'ret' + } + else + this.results.length = 1; // to fit 'ret' + break; + case 20: // object_exp + this.object_type = this.runtime.types_by_index[m[1]]; +; + this.beh_index = -1; + this.func = this.runtime.GetObjectReference(m[2]); + this.return_string = m[3]; + if (cr.plugins_.Function && this.func === cr.plugins_.Function.prototype.exps.Call) + { + this.owner.setVaries(); + } + if (m[4]) + this.instance_expr = new cr.expNode(owner_, m[4]); + else + this.instance_expr = null; + this.results = []; + this.parameters = []; + if (m.length === 6) + { + paramsModel = m[5]; + this.results.length = paramsModel.length + 1; + } + else + this.results.length = 1; // to fit 'ret' + break; + case 21: // instvar_exp + this.object_type = this.runtime.types_by_index[m[1]]; +; + this.return_string = m[2]; + if (m[3]) + this.instance_expr = new cr.expNode(owner_, m[3]); + else + this.instance_expr = null; + this.varindex = m[4]; + break; + case 22: // behavior_exp + this.object_type = this.runtime.types_by_index[m[1]]; +; + this.behavior_type = this.object_type.getBehaviorByName(m[2]); +; + this.beh_index = this.object_type.getBehaviorIndexByName(m[2]); + this.func = this.runtime.GetObjectReference(m[3]); + this.return_string = m[4]; + if (m[5]) + this.instance_expr = new cr.expNode(owner_, m[5]); + else + this.instance_expr = null; + this.results = []; + this.parameters = []; + if (m.length === 7) + { + paramsModel = m[6]; + this.results.length = paramsModel.length + 1; + } + else + this.results.length = 1; // to fit 'ret' + break; + case 23: // eventvar_exp + this.varname = m[1]; + this.eventvar = null; // assigned in postInit + break; + } + this.owner.maybeVaryForType(this.object_type); + if (this.type >= 4 && this.type <= 17) + { + this.first = new cr.expNode(owner_, m[1]); + this.second = new cr.expNode(owner_, m[2]); + } + if (paramsModel) + { + var i, len; + for (i = 0, len = paramsModel.length; i < len; i++) + this.parameters.push(new cr.expNode(owner_, paramsModel[i])); + } + cr.seal(this); + }; + ExpNode.prototype.postInit = function () + { + if (this.type === 23) // eventvar_exp + { + this.eventvar = this.owner.runtime.getEventVariableByName(this.varname, this.owner.block.parent); +; + } + if (this.first) + this.first.postInit(); + if (this.second) + this.second.postInit(); + if (this.third) + this.third.postInit(); + if (this.instance_expr) + this.instance_expr.postInit(); + if (this.parameters) + { + var i, len; + for (i = 0, len = this.parameters.length; i < len; i++) + this.parameters[i].postInit(); + } + }; + var tempValues = []; + var tempValuesPtr = -1; + function pushTempValue() + { + ++tempValuesPtr; + if (tempValues.length === tempValuesPtr) + tempValues.push(new cr.expvalue()); + return tempValues[tempValuesPtr]; + }; + function popTempValue() + { + --tempValuesPtr; + }; + function eval_params(parameters, results, temp) + { + var i, len; + for (i = 0, len = parameters.length; i < len; ++i) + { + parameters[i].get(temp); + results[i + 1] = temp.data; // passing actual javascript value as argument instead of expvalue + } + } + ExpNode.prototype.eval_system_exp = function (ret) + { + var parameters = this.parameters; + var results = this.results; + results[0] = ret; + var temp = pushTempValue(); + eval_params(parameters, results, temp); + popTempValue(); + this.func.apply(this.runtime.system, results); + }; + ExpNode.prototype.eval_object_exp = function (ret) + { + var object_type = this.object_type; + var results = this.results; + var parameters = this.parameters; + var instance_expr = this.instance_expr; + var func = this.func; + var index = this.owner.solindex; // default to parameter's intended SOL index + var sol = object_type.getCurrentSol(); + var instances = sol.getObjects(); + if (!instances.length) + { + if (sol.else_instances.length) + instances = sol.else_instances; + else + { + if (this.return_string) + ret.set_string(""); + else + ret.set_int(0); + return; + } + } + results[0] = ret; + ret.object_class = object_type; // so expression can access family type if need be + var temp = pushTempValue(); + eval_params(parameters, results, temp); + if (instance_expr) { + instance_expr.get(temp); + if (temp.is_number()) { + index = temp.data; + instances = object_type.instances; // pick from all instances, not SOL + } + } + popTempValue(); + var len = instances.length; + if (index >= len || index <= -len) + index %= len; // wraparound + if (index < 0) + index += len; + var returned_val = func.apply(instances[index], results); +; + }; + ExpNode.prototype.eval_behavior_exp = function (ret) + { + var object_type = this.object_type; + var results = this.results; + var parameters = this.parameters; + var instance_expr = this.instance_expr; + var beh_index = this.beh_index; + var func = this.func; + var index = this.owner.solindex; // default to parameter's intended SOL index + var sol = object_type.getCurrentSol(); + var instances = sol.getObjects(); + if (!instances.length) + { + if (sol.else_instances.length) + instances = sol.else_instances; + else + { + if (this.return_string) + ret.set_string(""); + else + ret.set_int(0); + return; + } + } + results[0] = ret; + ret.object_class = object_type; // so expression can access family type if need be + var temp = pushTempValue(); + eval_params(parameters, results, temp); + if (instance_expr) { + instance_expr.get(temp); + if (temp.is_number()) { + index = temp.data; + instances = object_type.instances; // pick from all instances, not SOL + } + } + popTempValue(); + var len = instances.length; + if (index >= len || index <= -len) + index %= len; // wraparound + if (index < 0) + index += len; + var inst = instances[index]; + var offset = 0; + if (object_type.is_family) + { + offset = inst.type.family_beh_map[object_type.family_index]; + } + var returned_val = func.apply(inst.behavior_insts[beh_index + offset], results); +; + }; + ExpNode.prototype.eval_instvar_exp = function (ret) + { + var instance_expr = this.instance_expr; + var object_type = this.object_type; + var varindex = this.varindex; + var index = this.owner.solindex; // default to parameter's intended SOL index + var sol = object_type.getCurrentSol(); + var instances = sol.getObjects(); + var inst; + if (!instances.length) + { + if (sol.else_instances.length) + instances = sol.else_instances; + else + { + if (this.return_string) + ret.set_string(""); + else + ret.set_int(0); + return; + } + } + if (instance_expr) + { + var temp = pushTempValue(); + instance_expr.get(temp); + if (temp.is_number()) + { + index = temp.data; + var type_instances = object_type.instances; + if (type_instances.length !== 0) // avoid NaN result with % + { + index %= type_instances.length; // wraparound + if (index < 0) // offset + index += type_instances.length; + } + inst = object_type.getInstanceByIID(index); + var to_ret = inst.instance_vars[varindex]; + if (cr.is_string(to_ret)) + ret.set_string(to_ret); + else + ret.set_float(to_ret); + popTempValue(); + return; // done + } + popTempValue(); + } + var len = instances.length; + if (index >= len || index <= -len) + index %= len; // wraparound + if (index < 0) + index += len; + inst = instances[index]; + var offset = 0; + if (object_type.is_family) + { + offset = inst.type.family_var_map[object_type.family_index]; + } + var to_ret = inst.instance_vars[varindex + offset]; + if (cr.is_string(to_ret)) + ret.set_string(to_ret); + else + ret.set_float(to_ret); + }; + ExpNode.prototype.eval_int = function (ret) + { + ret.type = cr.exptype.Integer; + ret.data = this.value; + }; + ExpNode.prototype.eval_float = function (ret) + { + ret.type = cr.exptype.Float; + ret.data = this.value; + }; + ExpNode.prototype.eval_string = function (ret) + { + ret.type = cr.exptype.String; + ret.data = this.value; + }; + ExpNode.prototype.eval_unaryminus = function (ret) + { + this.first.get(ret); // retrieve operand + if (ret.is_number()) + ret.data = -ret.data; + }; + ExpNode.prototype.eval_add = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + if (ret.is_number() && temp.is_number()) + { + ret.data += temp.data; // both operands numbers: add + if (temp.is_float()) + ret.make_float(); + } + popTempValue(); + }; + ExpNode.prototype.eval_subtract = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + if (ret.is_number() && temp.is_number()) + { + ret.data -= temp.data; // both operands numbers: subtract + if (temp.is_float()) + ret.make_float(); + } + popTempValue(); + }; + ExpNode.prototype.eval_multiply = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + if (ret.is_number() && temp.is_number()) + { + ret.data *= temp.data; // both operands numbers: multiply + if (temp.is_float()) + ret.make_float(); + } + popTempValue(); + }; + ExpNode.prototype.eval_divide = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + if (ret.is_number() && temp.is_number()) + { + ret.data /= temp.data; // both operands numbers: divide + ret.make_float(); + } + popTempValue(); + }; + ExpNode.prototype.eval_mod = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + if (ret.is_number() && temp.is_number()) + { + ret.data %= temp.data; // both operands numbers: modulo + if (temp.is_float()) + ret.make_float(); + } + popTempValue(); + }; + ExpNode.prototype.eval_power = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + if (ret.is_number() && temp.is_number()) + { + ret.data = Math.pow(ret.data, temp.data); // both operands numbers: raise to power + if (temp.is_float()) + ret.make_float(); + } + popTempValue(); + }; + ExpNode.prototype.eval_and = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + if (temp.is_string() || ret.is_string()) + this.eval_and_stringconcat(ret, temp); + else + this.eval_and_logical(ret, temp); + popTempValue(); + }; + ExpNode.prototype.eval_and_stringconcat = function (ret, temp) + { + if (ret.is_string() && temp.is_string()) + this.eval_and_stringconcat_str_str(ret, temp); + else + this.eval_and_stringconcat_num(ret, temp); + }; + ExpNode.prototype.eval_and_stringconcat_str_str = function (ret, temp) + { + ret.data += temp.data; + }; + ExpNode.prototype.eval_and_stringconcat_num = function (ret, temp) + { + if (ret.is_string()) + { + ret.data += (Math.round(temp.data * 1e10) / 1e10).toString(); + } + else + { + ret.set_string(ret.data.toString() + temp.data); + } + }; + ExpNode.prototype.eval_and_logical = function (ret, temp) + { + ret.set_int(ret.data && temp.data ? 1 : 0); + }; + ExpNode.prototype.eval_or = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + if (ret.is_number() && temp.is_number()) + { + if (ret.data || temp.data) + ret.set_int(1); + else + ret.set_int(0); + } + popTempValue(); + }; + ExpNode.prototype.eval_conditional = function (ret) + { + this.first.get(ret); // condition operand + if (ret.data) // is true + this.second.get(ret); // evaluate second operand to ret + else + this.third.get(ret); // evaluate third operand to ret + }; + ExpNode.prototype.eval_equal = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + ret.set_int(ret.data === temp.data ? 1 : 0); + popTempValue(); + }; + ExpNode.prototype.eval_notequal = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + ret.set_int(ret.data !== temp.data ? 1 : 0); + popTempValue(); + }; + ExpNode.prototype.eval_less = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + ret.set_int(ret.data < temp.data ? 1 : 0); + popTempValue(); + }; + ExpNode.prototype.eval_lessequal = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + ret.set_int(ret.data <= temp.data ? 1 : 0); + popTempValue(); + }; + ExpNode.prototype.eval_greater = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + ret.set_int(ret.data > temp.data ? 1 : 0); + popTempValue(); + }; + ExpNode.prototype.eval_greaterequal = function (ret) + { + this.first.get(ret); // left operand + var temp = pushTempValue(); + this.second.get(temp); // right operand + ret.set_int(ret.data >= temp.data ? 1 : 0); + popTempValue(); + }; + ExpNode.prototype.eval_eventvar_exp = function (ret) + { + var val = this.eventvar.getValue(); + if (cr.is_number(val)) + ret.set_float(val); + else + ret.set_string(val); + }; + cr.expNode = ExpNode; + function ExpValue(type, data) + { + this.type = type || cr.exptype.Integer; + this.data = data || 0; + this.object_class = null; +; +; +; + if (this.type == cr.exptype.Integer) + this.data = Math.floor(this.data); + cr.seal(this); + }; + ExpValue.prototype.is_int = function () + { + return this.type === cr.exptype.Integer; + }; + ExpValue.prototype.is_float = function () + { + return this.type === cr.exptype.Float; + }; + ExpValue.prototype.is_number = function () + { + return this.type === cr.exptype.Integer || this.type === cr.exptype.Float; + }; + ExpValue.prototype.is_string = function () + { + return this.type === cr.exptype.String; + }; + ExpValue.prototype.make_int = function () + { + if (!this.is_int()) + { + if (this.is_float()) + this.data = Math.floor(this.data); // truncate float + else if (this.is_string()) + this.data = parseInt(this.data, 10); + this.type = cr.exptype.Integer; + } + }; + ExpValue.prototype.make_float = function () + { + if (!this.is_float()) + { + if (this.is_string()) + this.data = parseFloat(this.data); + this.type = cr.exptype.Float; + } + }; + ExpValue.prototype.make_string = function () + { + if (!this.is_string()) + { + this.data = this.data.toString(); + this.type = cr.exptype.String; + } + }; + ExpValue.prototype.set_int = function (val) + { +; + this.type = cr.exptype.Integer; + this.data = Math.floor(val); + }; + ExpValue.prototype.set_float = function (val) + { +; + this.type = cr.exptype.Float; + this.data = val; + }; + ExpValue.prototype.set_string = function (val) + { +; + this.type = cr.exptype.String; + this.data = val; + }; + ExpValue.prototype.set_any = function (val) + { + if (cr.is_number(val)) + { + this.type = cr.exptype.Float; + this.data = val; + } + else if (cr.is_string(val)) + { + this.type = cr.exptype.String; + this.data = val.toString(); + } + else + { + this.type = cr.exptype.Integer; + this.data = 0; + } + }; + cr.expvalue = ExpValue; + cr.exptype = { + Integer: 0, // emulated; no native integer support in javascript + Float: 1, + String: 2 + }; +}()); +; +cr.system_object = function (runtime) +{ + this.runtime = runtime; + this.waits = []; +}; +cr.system_object.prototype.saveToJSON = function () +{ + var o = {}; + var i, len, j, lenj, p, w, t, sobj; + o["waits"] = []; + var owaits = o["waits"]; + var waitobj; + for (i = 0, len = this.waits.length; i < len; i++) + { + w = this.waits[i]; + waitobj = { + "t": w.time, + "st": w.signaltag, + "s": w.signalled, + "ev": w.ev.sid, + "sm": [], + "sols": {} + }; + if (w.ev.actions[w.actindex]) + waitobj["act"] = w.ev.actions[w.actindex].sid; + for (j = 0, lenj = w.solModifiers.length; j < lenj; j++) + waitobj["sm"].push(w.solModifiers[j].sid); + for (p in w.sols) + { + if (w.sols.hasOwnProperty(p)) + { + t = this.runtime.types_by_index[parseInt(p, 10)]; +; + sobj = { + "sa": w.sols[p].sa, + "insts": [] + }; + for (j = 0, lenj = w.sols[p].insts.length; j < lenj; j++) + sobj["insts"].push(w.sols[p].insts[j].uid); + waitobj["sols"][t.sid.toString()] = sobj; + } + } + owaits.push(waitobj); + } + return o; +}; +cr.system_object.prototype.loadFromJSON = function (o) +{ + var owaits = o["waits"]; + var i, len, j, lenj, p, w, addWait, e, aindex, t, savedsol, nusol, inst; + cr.clearArray(this.waits); + for (i = 0, len = owaits.length; i < len; i++) + { + w = owaits[i]; + e = this.runtime.blocksBySid[w["ev"].toString()]; + if (!e) + continue; // event must've gone missing + aindex = -1; + for (j = 0, lenj = e.actions.length; j < lenj; j++) + { + if (e.actions[j].sid === w["act"]) + { + aindex = j; + break; + } + } + if (aindex === -1) + continue; // action must've gone missing + addWait = {}; + addWait.sols = {}; + addWait.solModifiers = []; + addWait.deleteme = false; + addWait.time = w["t"]; + addWait.signaltag = w["st"] || ""; + addWait.signalled = !!w["s"]; + addWait.ev = e; + addWait.actindex = aindex; + for (j = 0, lenj = w["sm"].length; j < lenj; j++) + { + t = this.runtime.getObjectTypeBySid(w["sm"][j]); + if (t) + addWait.solModifiers.push(t); + } + for (p in w["sols"]) + { + if (w["sols"].hasOwnProperty(p)) + { + t = this.runtime.getObjectTypeBySid(parseInt(p, 10)); + if (!t) + continue; // type must've been deleted + savedsol = w["sols"][p]; + nusol = { + sa: savedsol["sa"], + insts: [] + }; + for (j = 0, lenj = savedsol["insts"].length; j < lenj; j++) + { + inst = this.runtime.getObjectByUID(savedsol["insts"][j]); + if (inst) + nusol.insts.push(inst); + } + addWait.sols[t.index.toString()] = nusol; + } + } + this.waits.push(addWait); + } +}; +(function () +{ + var sysProto = cr.system_object.prototype; + function SysCnds() {}; + SysCnds.prototype.EveryTick = function() + { + return true; + }; + SysCnds.prototype.OnLayoutStart = function() + { + return true; + }; + SysCnds.prototype.OnLayoutEnd = function() + { + return true; + }; + SysCnds.prototype.Compare = function(x, cmp, y) + { + return cr.do_cmp(x, cmp, y); + }; + SysCnds.prototype.CompareTime = function (cmp, t) + { + var elapsed = this.runtime.kahanTime.sum; + if (cmp === 0) + { + var cnd = this.runtime.getCurrentCondition(); + if (!cnd.extra["CompareTime_executed"]) + { + if (elapsed >= t) + { + cnd.extra["CompareTime_executed"] = true; + return true; + } + } + return false; + } + return cr.do_cmp(elapsed, cmp, t); + }; + SysCnds.prototype.LayerVisible = function (layer) + { + if (!layer) + return false; + else + return layer.visible; + }; + SysCnds.prototype.LayerEmpty = function (layer) + { + if (!layer) + return false; + else + return !layer.instances.length; + }; + SysCnds.prototype.LayerCmpOpacity = function (layer, cmp, opacity_) + { + if (!layer) + return false; + return cr.do_cmp(layer.opacity * 100, cmp, opacity_); + }; + SysCnds.prototype.Repeat = function (count) + { + var current_frame = this.runtime.getCurrentEventStack(); + var current_event = current_frame.current_event; + var solModifierAfterCnds = current_frame.isModifierAfterCnds(); + var current_loop = this.runtime.pushLoopStack(); + var i; + if (solModifierAfterCnds) + { + for (i = 0; i < count && !current_loop.stopped; i++) + { + this.runtime.pushCopySol(current_event.solModifiers); + current_loop.index = i; + current_event.retrigger(); + this.runtime.popSol(current_event.solModifiers); + } + } + else + { + for (i = 0; i < count && !current_loop.stopped; i++) + { + current_loop.index = i; + current_event.retrigger(); + } + } + this.runtime.popLoopStack(); + return false; + }; + SysCnds.prototype.While = function (count) + { + var current_frame = this.runtime.getCurrentEventStack(); + var current_event = current_frame.current_event; + var solModifierAfterCnds = current_frame.isModifierAfterCnds(); + var current_loop = this.runtime.pushLoopStack(); + var i; + if (solModifierAfterCnds) + { + for (i = 0; !current_loop.stopped; i++) + { + this.runtime.pushCopySol(current_event.solModifiers); + current_loop.index = i; + if (!current_event.retrigger()) // one of the other conditions returned false + current_loop.stopped = true; // break + this.runtime.popSol(current_event.solModifiers); + } + } + else + { + for (i = 0; !current_loop.stopped; i++) + { + current_loop.index = i; + if (!current_event.retrigger()) + current_loop.stopped = true; + } + } + this.runtime.popLoopStack(); + return false; + }; + SysCnds.prototype.For = function (name, start, end) + { + var current_frame = this.runtime.getCurrentEventStack(); + var current_event = current_frame.current_event; + var solModifierAfterCnds = current_frame.isModifierAfterCnds(); + var current_loop = this.runtime.pushLoopStack(name); + var i; + if (end < start) + { + if (solModifierAfterCnds) + { + for (i = start; i >= end && !current_loop.stopped; --i) // inclusive to end + { + this.runtime.pushCopySol(current_event.solModifiers); + current_loop.index = i; + current_event.retrigger(); + this.runtime.popSol(current_event.solModifiers); + } + } + else + { + for (i = start; i >= end && !current_loop.stopped; --i) // inclusive to end + { + current_loop.index = i; + current_event.retrigger(); + } + } + } + else + { + if (solModifierAfterCnds) + { + for (i = start; i <= end && !current_loop.stopped; ++i) // inclusive to end + { + this.runtime.pushCopySol(current_event.solModifiers); + current_loop.index = i; + current_event.retrigger(); + this.runtime.popSol(current_event.solModifiers); + } + } + else + { + for (i = start; i <= end && !current_loop.stopped; ++i) // inclusive to end + { + current_loop.index = i; + current_event.retrigger(); + } + } + } + this.runtime.popLoopStack(); + return false; + }; + var foreach_instancestack = []; + var foreach_instanceptr = -1; + SysCnds.prototype.ForEach = function (obj) + { + var sol = obj.getCurrentSol(); + foreach_instanceptr++; + if (foreach_instancestack.length === foreach_instanceptr) + foreach_instancestack.push([]); + var instances = foreach_instancestack[foreach_instanceptr]; + cr.shallowAssignArray(instances, sol.getObjects()); + var current_frame = this.runtime.getCurrentEventStack(); + var current_event = current_frame.current_event; + var solModifierAfterCnds = current_frame.isModifierAfterCnds(); + var current_loop = this.runtime.pushLoopStack(); + var i, len, j, lenj, inst, s, sol2; + var is_contained = obj.is_contained; + if (solModifierAfterCnds) + { + for (i = 0, len = instances.length; i < len && !current_loop.stopped; i++) + { + this.runtime.pushCopySol(current_event.solModifiers); + inst = instances[i]; + sol = obj.getCurrentSol(); + sol.select_all = false; + cr.clearArray(sol.instances); + sol.instances[0] = inst; + if (is_contained) + { + for (j = 0, lenj = inst.siblings.length; j < lenj; j++) + { + s = inst.siblings[j]; + sol2 = s.type.getCurrentSol(); + sol2.select_all = false; + cr.clearArray(sol2.instances); + sol2.instances[0] = s; + } + } + current_loop.index = i; + current_event.retrigger(); + this.runtime.popSol(current_event.solModifiers); + } + } + else + { + sol.select_all = false; + cr.clearArray(sol.instances); + for (i = 0, len = instances.length; i < len && !current_loop.stopped; i++) + { + inst = instances[i]; + sol.instances[0] = inst; + if (is_contained) + { + for (j = 0, lenj = inst.siblings.length; j < lenj; j++) + { + s = inst.siblings[j]; + sol2 = s.type.getCurrentSol(); + sol2.select_all = false; + cr.clearArray(sol2.instances); + sol2.instances[0] = s; + } + } + current_loop.index = i; + current_event.retrigger(); + } + } + cr.clearArray(instances); + this.runtime.popLoopStack(); + foreach_instanceptr--; + return false; + }; + function foreach_sortinstances(a, b) + { + var va = a.extra["c2_feo_val"]; + var vb = b.extra["c2_feo_val"]; + if (cr.is_number(va) && cr.is_number(vb)) + return va - vb; + else + { + va = "" + va; + vb = "" + vb; + if (va < vb) + return -1; + else if (va > vb) + return 1; + else + return 0; + } + }; + SysCnds.prototype.ForEachOrdered = function (obj, exp, order) + { + var sol = obj.getCurrentSol(); + foreach_instanceptr++; + if (foreach_instancestack.length === foreach_instanceptr) + foreach_instancestack.push([]); + var instances = foreach_instancestack[foreach_instanceptr]; + cr.shallowAssignArray(instances, sol.getObjects()); + var current_frame = this.runtime.getCurrentEventStack(); + var current_event = current_frame.current_event; + var current_condition = this.runtime.getCurrentCondition(); + var solModifierAfterCnds = current_frame.isModifierAfterCnds(); + var current_loop = this.runtime.pushLoopStack(); + var i, len, j, lenj, inst, s, sol2; + for (i = 0, len = instances.length; i < len; i++) + { + instances[i].extra["c2_feo_val"] = current_condition.parameters[1].get(i); + } + instances.sort(foreach_sortinstances); + if (order === 1) + instances.reverse(); + var is_contained = obj.is_contained; + if (solModifierAfterCnds) + { + for (i = 0, len = instances.length; i < len && !current_loop.stopped; i++) + { + this.runtime.pushCopySol(current_event.solModifiers); + inst = instances[i]; + sol = obj.getCurrentSol(); + sol.select_all = false; + cr.clearArray(sol.instances); + sol.instances[0] = inst; + if (is_contained) + { + for (j = 0, lenj = inst.siblings.length; j < lenj; j++) + { + s = inst.siblings[j]; + sol2 = s.type.getCurrentSol(); + sol2.select_all = false; + cr.clearArray(sol2.instances); + sol2.instances[0] = s; + } + } + current_loop.index = i; + current_event.retrigger(); + this.runtime.popSol(current_event.solModifiers); + } + } + else + { + sol.select_all = false; + cr.clearArray(sol.instances); + for (i = 0, len = instances.length; i < len && !current_loop.stopped; i++) + { + inst = instances[i]; + sol.instances[0] = inst; + if (is_contained) + { + for (j = 0, lenj = inst.siblings.length; j < lenj; j++) + { + s = inst.siblings[j]; + sol2 = s.type.getCurrentSol(); + sol2.select_all = false; + cr.clearArray(sol2.instances); + sol2.instances[0] = s; + } + } + current_loop.index = i; + current_event.retrigger(); + } + } + cr.clearArray(instances); + this.runtime.popLoopStack(); + foreach_instanceptr--; + return false; + }; + SysCnds.prototype.PickByComparison = function (obj_, exp_, cmp_, val_) + { + var i, len, k, inst; + if (!obj_) + return; + foreach_instanceptr++; + if (foreach_instancestack.length === foreach_instanceptr) + foreach_instancestack.push([]); + var tmp_instances = foreach_instancestack[foreach_instanceptr]; + var sol = obj_.getCurrentSol(); + cr.shallowAssignArray(tmp_instances, sol.getObjects()); + if (sol.select_all) + cr.clearArray(sol.else_instances); + var current_condition = this.runtime.getCurrentCondition(); + for (i = 0, k = 0, len = tmp_instances.length; i < len; i++) + { + inst = tmp_instances[i]; + tmp_instances[k] = inst; + exp_ = current_condition.parameters[1].get(i); + val_ = current_condition.parameters[3].get(i); + if (cr.do_cmp(exp_, cmp_, val_)) + { + k++; + } + else + { + sol.else_instances.push(inst); + } + } + cr.truncateArray(tmp_instances, k); + sol.select_all = false; + cr.shallowAssignArray(sol.instances, tmp_instances); + cr.clearArray(tmp_instances); + foreach_instanceptr--; + obj_.applySolToContainer(); + return !!sol.instances.length; + }; + SysCnds.prototype.PickByEvaluate = function (obj_, exp_) + { + var i, len, k, inst; + if (!obj_) + return; + foreach_instanceptr++; + if (foreach_instancestack.length === foreach_instanceptr) + foreach_instancestack.push([]); + var tmp_instances = foreach_instancestack[foreach_instanceptr]; + var sol = obj_.getCurrentSol(); + cr.shallowAssignArray(tmp_instances, sol.getObjects()); + if (sol.select_all) + cr.clearArray(sol.else_instances); + var current_condition = this.runtime.getCurrentCondition(); + for (i = 0, k = 0, len = tmp_instances.length; i < len; i++) + { + inst = tmp_instances[i]; + tmp_instances[k] = inst; + exp_ = current_condition.parameters[1].get(i); + if (exp_) + { + k++; + } + else + { + sol.else_instances.push(inst); + } + } + cr.truncateArray(tmp_instances, k); + sol.select_all = false; + cr.shallowAssignArray(sol.instances, tmp_instances); + cr.clearArray(tmp_instances); + foreach_instanceptr--; + obj_.applySolToContainer(); + return !!sol.instances.length; + }; + SysCnds.prototype.TriggerOnce = function () + { + var cndextra = this.runtime.getCurrentCondition().extra; + if (typeof cndextra["TriggerOnce_lastTick"] === "undefined") + cndextra["TriggerOnce_lastTick"] = -1; + var last_tick = cndextra["TriggerOnce_lastTick"]; + var cur_tick = this.runtime.tickcount; + cndextra["TriggerOnce_lastTick"] = cur_tick; + return this.runtime.layout_first_tick || last_tick !== cur_tick - 1; + }; + SysCnds.prototype.Every = function (seconds) + { + var cnd = this.runtime.getCurrentCondition(); + var last_time = cnd.extra["Every_lastTime"] || 0; + var cur_time = this.runtime.kahanTime.sum; + if (typeof cnd.extra["Every_seconds"] === "undefined") + cnd.extra["Every_seconds"] = seconds; + var this_seconds = cnd.extra["Every_seconds"]; + if (cur_time >= last_time + this_seconds) + { + cnd.extra["Every_lastTime"] = last_time + this_seconds; + if (cur_time >= cnd.extra["Every_lastTime"] + 0.04) + { + cnd.extra["Every_lastTime"] = cur_time; + } + cnd.extra["Every_seconds"] = seconds; + return true; + } + else if (cur_time < last_time - 0.1) + { + cnd.extra["Every_lastTime"] = cur_time; + } + return false; + }; + SysCnds.prototype.PickNth = function (obj, index) + { + if (!obj) + return false; + var sol = obj.getCurrentSol(); + var instances = sol.getObjects(); + index = cr.floor(index); + if (index < 0 || index >= instances.length) + return false; + var inst = instances[index]; + sol.pick_one(inst); + obj.applySolToContainer(); + return true; + }; + SysCnds.prototype.PickRandom = function (obj) + { + if (!obj) + return false; + var sol = obj.getCurrentSol(); + var instances = sol.getObjects(); + var index = cr.floor(Math.random() * instances.length); + if (index >= instances.length) + return false; + var inst = instances[index]; + sol.pick_one(inst); + obj.applySolToContainer(); + return true; + }; + SysCnds.prototype.CompareVar = function (v, cmp, val) + { + return cr.do_cmp(v.getValue(), cmp, val); + }; + SysCnds.prototype.IsGroupActive = function (group) + { + var g = this.runtime.groups_by_name[group.toLowerCase()]; + return g && g.group_active; + }; + SysCnds.prototype.IsPreview = function () + { + return typeof cr_is_preview !== "undefined"; + }; + SysCnds.prototype.PickAll = function (obj) + { + if (!obj) + return false; + if (!obj.instances.length) + return false; + var sol = obj.getCurrentSol(); + sol.select_all = true; + obj.applySolToContainer(); + return true; + }; + SysCnds.prototype.IsMobile = function () + { + return this.runtime.isMobile; + }; + SysCnds.prototype.CompareBetween = function (x, a, b) + { + return x >= a && x <= b; + }; + SysCnds.prototype.Else = function () + { + var current_frame = this.runtime.getCurrentEventStack(); + if (current_frame.else_branch_ran) + return false; // another event in this else-if chain has run + else + return !current_frame.last_event_true; + /* + var current_frame = this.runtime.getCurrentEventStack(); + var current_event = current_frame.current_event; + var prev_event = current_event.prev_block; + if (!prev_event) + return false; + if (prev_event.is_logical) + return !this.runtime.last_event_true; + var i, len, j, lenj, s, sol, temp, inst, any_picked = false; + for (i = 0, len = prev_event.cndReferences.length; i < len; i++) + { + s = prev_event.cndReferences[i]; + sol = s.getCurrentSol(); + if (sol.select_all || sol.instances.length === s.instances.length) + { + sol.select_all = false; + sol.instances.length = 0; + } + else + { + if (sol.instances.length === 1 && sol.else_instances.length === 0 && s.instances.length >= 2) + { + inst = sol.instances[0]; + sol.instances.length = 0; + for (j = 0, lenj = s.instances.length; j < lenj; j++) + { + if (s.instances[j] != inst) + sol.instances.push(s.instances[j]); + } + any_picked = true; + } + else + { + temp = sol.instances; + sol.instances = sol.else_instances; + sol.else_instances = temp; + any_picked = true; + } + } + } + return any_picked; + */ + }; + SysCnds.prototype.OnLoadFinished = function () + { + return true; + }; + SysCnds.prototype.OnCanvasSnapshot = function () + { + return true; + }; + SysCnds.prototype.EffectsSupported = function () + { + return !!this.runtime.glwrap; + }; + SysCnds.prototype.OnSaveComplete = function () + { + return true; + }; + SysCnds.prototype.OnSaveFailed = function () + { + return true; + }; + SysCnds.prototype.OnLoadComplete = function () + { + return true; + }; + SysCnds.prototype.OnLoadFailed = function () + { + return true; + }; + SysCnds.prototype.ObjectUIDExists = function (u) + { + return !!this.runtime.getObjectByUID(u); + }; + SysCnds.prototype.IsOnPlatform = function (p) + { + var rt = this.runtime; + switch (p) { + case 0: // HTML5 website + return !rt.isDomFree && !rt.isNodeWebkit && !rt.isCordova && !rt.isWinJS && !rt.isWindowsPhone8 && !rt.isBlackberry10 && !rt.isAmazonWebApp; + case 1: // iOS + return rt.isiOS; + case 2: // Android + return rt.isAndroid; + case 3: // Windows 8 + return rt.isWindows8App; + case 4: // Windows Phone 8 + return rt.isWindowsPhone8; + case 5: // Blackberry 10 + return rt.isBlackberry10; + case 6: // Tizen + return rt.isTizen; + case 7: // CocoonJS + return rt.isCocoonJs; + case 8: // Cordova + return rt.isCordova; + case 9: // Scirra Arcade + return rt.isArcade; + case 10: // node-webkit + return rt.isNodeWebkit; + case 11: // crosswalk + return rt.isCrosswalk; + case 12: // amazon webapp + return rt.isAmazonWebApp; + case 13: // windows 10 app + return rt.isWindows10; + default: // should not be possible + return false; + } + }; + var cacheRegex = null; + var lastRegex = ""; + var lastFlags = ""; + function getRegex(regex_, flags_) + { + if (!cacheRegex || regex_ !== lastRegex || flags_ !== lastFlags) + { + cacheRegex = new RegExp(regex_, flags_); + lastRegex = regex_; + lastFlags = flags_; + } + cacheRegex.lastIndex = 0; // reset + return cacheRegex; + }; + SysCnds.prototype.RegexTest = function (str_, regex_, flags_) + { + var regex = getRegex(regex_, flags_); + return regex.test(str_); + }; + var tmp_arr = []; + SysCnds.prototype.PickOverlappingPoint = function (obj_, x_, y_) + { + if (!obj_) + return false; + var sol = obj_.getCurrentSol(); + var instances = sol.getObjects(); + var current_event = this.runtime.getCurrentEventStack().current_event; + var orblock = current_event.orblock; + var cnd = this.runtime.getCurrentCondition(); + var i, len, inst, pick; + if (sol.select_all) + { + cr.shallowAssignArray(tmp_arr, instances); + cr.clearArray(sol.else_instances); + sol.select_all = false; + cr.clearArray(sol.instances); + } + else + { + if (orblock) + { + cr.shallowAssignArray(tmp_arr, sol.else_instances); + cr.clearArray(sol.else_instances); + } + else + { + cr.shallowAssignArray(tmp_arr, instances); + cr.clearArray(sol.instances); + } + } + for (i = 0, len = tmp_arr.length; i < len; ++i) + { + inst = tmp_arr[i]; + inst.update_bbox(); + pick = cr.xor(inst.contains_pt(x_, y_), cnd.inverted); + if (pick) + sol.instances.push(inst); + else + sol.else_instances.push(inst); + } + obj_.applySolToContainer(); + return cr.xor(!!sol.instances.length, cnd.inverted); + }; + SysCnds.prototype.IsNaN = function (n) + { + return !!isNaN(n); + }; + SysCnds.prototype.AngleWithin = function (a1, within, a2) + { + return cr.angleDiff(cr.to_radians(a1), cr.to_radians(a2)) <= cr.to_radians(within); + }; + SysCnds.prototype.IsClockwiseFrom = function (a1, a2) + { + return cr.angleClockwise(cr.to_radians(a1), cr.to_radians(a2)); + }; + SysCnds.prototype.IsBetweenAngles = function (a, la, ua) + { + var angle = cr.to_clamped_radians(a); + var lower = cr.to_clamped_radians(la); + var upper = cr.to_clamped_radians(ua); + var obtuse = (!cr.angleClockwise(upper, lower)); + if (obtuse) + return !(!cr.angleClockwise(angle, lower) && cr.angleClockwise(angle, upper)); + else + return cr.angleClockwise(angle, lower) && !cr.angleClockwise(angle, upper); + }; + SysCnds.prototype.IsValueType = function (x, t) + { + if (typeof x === "number") + return t === 0; + else // string + return t === 1; + }; + sysProto.cnds = new SysCnds(); + function SysActs() {}; + SysActs.prototype.GoToLayout = function (to) + { + if (this.runtime.isloading) + return; // cannot change layout while loading on loader layout + if (this.runtime.changelayout) + return; // already changing to a different layout +; + this.runtime.changelayout = to; + }; + SysActs.prototype.NextPrevLayout = function (prev) + { + if (this.runtime.isloading) + return; // cannot change layout while loading on loader layout + if (this.runtime.changelayout) + return; // already changing to a different layout + var index = this.runtime.layouts_by_index.indexOf(this.runtime.running_layout); + if (prev && index === 0) + return; // cannot go to previous layout from first layout + if (!prev && index === this.runtime.layouts_by_index.length - 1) + return; // cannot go to next layout from last layout + var to = this.runtime.layouts_by_index[index + (prev ? -1 : 1)]; +; + this.runtime.changelayout = to; + }; + SysActs.prototype.CreateObject = function (obj, layer, x, y) + { + if (!layer || !obj) + return; + var inst = this.runtime.createInstance(obj, layer, x, y); + if (!inst) + return; + this.runtime.isInOnDestroy++; + var i, len, s; + this.runtime.trigger(Object.getPrototypeOf(obj.plugin).cnds.OnCreated, inst); + if (inst.is_contained) + { + for (i = 0, len = inst.siblings.length; i < len; i++) + { + s = inst.siblings[i]; + this.runtime.trigger(Object.getPrototypeOf(s.type.plugin).cnds.OnCreated, s); + } + } + this.runtime.isInOnDestroy--; + var sol = obj.getCurrentSol(); + sol.select_all = false; + cr.clearArray(sol.instances); + sol.instances[0] = inst; + if (inst.is_contained) + { + for (i = 0, len = inst.siblings.length; i < len; i++) + { + s = inst.siblings[i]; + sol = s.type.getCurrentSol(); + sol.select_all = false; + cr.clearArray(sol.instances); + sol.instances[0] = s; + } + } + }; + SysActs.prototype.SetLayerVisible = function (layer, visible_) + { + if (!layer) + return; + if (layer.visible !== visible_) + { + layer.visible = visible_; + this.runtime.redraw = true; + } + }; + SysActs.prototype.SetLayerOpacity = function (layer, opacity_) + { + if (!layer) + return; + opacity_ = cr.clamp(opacity_ / 100, 0, 1); + if (layer.opacity !== opacity_) + { + layer.opacity = opacity_; + this.runtime.redraw = true; + } + }; + SysActs.prototype.SetLayerScaleRate = function (layer, sr) + { + if (!layer) + return; + if (layer.zoomRate !== sr) + { + layer.zoomRate = sr; + this.runtime.redraw = true; + } + }; + SysActs.prototype.SetLayerForceOwnTexture = function (layer, f) + { + if (!layer) + return; + f = !!f; + if (layer.forceOwnTexture !== f) + { + layer.forceOwnTexture = f; + this.runtime.redraw = true; + } + }; + SysActs.prototype.SetLayoutScale = function (s) + { + if (!this.runtime.running_layout) + return; + if (this.runtime.running_layout.scale !== s) + { + this.runtime.running_layout.scale = s; + this.runtime.running_layout.boundScrolling(); + this.runtime.redraw = true; + } + }; + SysActs.prototype.ScrollX = function(x) + { + this.runtime.running_layout.scrollToX(x); + }; + SysActs.prototype.ScrollY = function(y) + { + this.runtime.running_layout.scrollToY(y); + }; + SysActs.prototype.Scroll = function(x, y) + { + this.runtime.running_layout.scrollToX(x); + this.runtime.running_layout.scrollToY(y); + }; + SysActs.prototype.ScrollToObject = function(obj) + { + var inst = obj.getFirstPicked(); + if (inst) + { + this.runtime.running_layout.scrollToX(inst.x); + this.runtime.running_layout.scrollToY(inst.y); + } + }; + SysActs.prototype.SetVar = function(v, x) + { +; + if (v.vartype === 0) + { + if (cr.is_number(x)) + v.setValue(x); + else + v.setValue(parseFloat(x)); + } + else if (v.vartype === 1) + v.setValue(x.toString()); + }; + SysActs.prototype.AddVar = function(v, x) + { +; + if (v.vartype === 0) + { + if (cr.is_number(x)) + v.setValue(v.getValue() + x); + else + v.setValue(v.getValue() + parseFloat(x)); + } + else if (v.vartype === 1) + v.setValue(v.getValue() + x.toString()); + }; + SysActs.prototype.SubVar = function(v, x) + { +; + if (v.vartype === 0) + { + if (cr.is_number(x)) + v.setValue(v.getValue() - x); + else + v.setValue(v.getValue() - parseFloat(x)); + } + }; + SysActs.prototype.SetGroupActive = function (group, active) + { + var g = this.runtime.groups_by_name[group.toLowerCase()]; + if (!g) + return; + switch (active) { + case 0: + g.setGroupActive(false); + break; + case 1: + g.setGroupActive(true); + break; + case 2: + g.setGroupActive(!g.group_active); + break; + } + }; + SysActs.prototype.SetTimescale = function (ts_) + { + var ts = ts_; + if (ts < 0) + ts = 0; + this.runtime.timescale = ts; + }; + SysActs.prototype.SetObjectTimescale = function (obj, ts_) + { + var ts = ts_; + if (ts < 0) + ts = 0; + if (!obj) + return; + var sol = obj.getCurrentSol(); + var instances = sol.getObjects(); + var i, len; + for (i = 0, len = instances.length; i < len; i++) + { + instances[i].my_timescale = ts; + } + }; + SysActs.prototype.RestoreObjectTimescale = function (obj) + { + if (!obj) + return false; + var sol = obj.getCurrentSol(); + var instances = sol.getObjects(); + var i, len; + for (i = 0, len = instances.length; i < len; i++) + { + instances[i].my_timescale = -1.0; + } + }; + var waitobjrecycle = []; + function allocWaitObject() + { + var w; + if (waitobjrecycle.length) + w = waitobjrecycle.pop(); + else + { + w = {}; + w.sols = {}; + w.solModifiers = []; + } + w.deleteme = false; + return w; + }; + function freeWaitObject(w) + { + cr.wipe(w.sols); + cr.clearArray(w.solModifiers); + waitobjrecycle.push(w); + }; + var solstateobjects = []; + function allocSolStateObject() + { + var s; + if (solstateobjects.length) + s = solstateobjects.pop(); + else + { + s = {}; + s.insts = []; + } + s.sa = false; + return s; + }; + function freeSolStateObject(s) + { + cr.clearArray(s.insts); + solstateobjects.push(s); + }; + SysActs.prototype.Wait = function (seconds) + { + if (seconds < 0) + return; + var i, len, s, t, ss; + var evinfo = this.runtime.getCurrentEventStack(); + var waitobj = allocWaitObject(); + waitobj.time = this.runtime.kahanTime.sum + seconds; + waitobj.signaltag = ""; + waitobj.signalled = false; + waitobj.ev = evinfo.current_event; + waitobj.actindex = evinfo.actindex + 1; // pointing at next action + for (i = 0, len = this.runtime.types_by_index.length; i < len; i++) + { + t = this.runtime.types_by_index[i]; + s = t.getCurrentSol(); + if (s.select_all && evinfo.current_event.solModifiers.indexOf(t) === -1) + continue; + waitobj.solModifiers.push(t); + ss = allocSolStateObject(); + ss.sa = s.select_all; + cr.shallowAssignArray(ss.insts, s.instances); + waitobj.sols[i.toString()] = ss; + } + this.waits.push(waitobj); + return true; + }; + SysActs.prototype.WaitForSignal = function (tag) + { + var i, len, s, t, ss; + var evinfo = this.runtime.getCurrentEventStack(); + var waitobj = allocWaitObject(); + waitobj.time = -1; + waitobj.signaltag = tag.toLowerCase(); + waitobj.signalled = false; + waitobj.ev = evinfo.current_event; + waitobj.actindex = evinfo.actindex + 1; // pointing at next action + for (i = 0, len = this.runtime.types_by_index.length; i < len; i++) + { + t = this.runtime.types_by_index[i]; + s = t.getCurrentSol(); + if (s.select_all && evinfo.current_event.solModifiers.indexOf(t) === -1) + continue; + waitobj.solModifiers.push(t); + ss = allocSolStateObject(); + ss.sa = s.select_all; + cr.shallowAssignArray(ss.insts, s.instances); + waitobj.sols[i.toString()] = ss; + } + this.waits.push(waitobj); + return true; + }; + SysActs.prototype.Signal = function (tag) + { + var lowertag = tag.toLowerCase(); + var i, len, w; + for (i = 0, len = this.waits.length; i < len; ++i) + { + w = this.waits[i]; + if (w.time !== -1) + continue; // timer wait, ignore + if (w.signaltag === lowertag) // waiting for this signal + w.signalled = true; // will run on next check + } + }; + SysActs.prototype.SetLayerScale = function (layer, scale) + { + if (!layer) + return; + if (layer.scale === scale) + return; + layer.scale = scale; + this.runtime.redraw = true; + }; + SysActs.prototype.ResetGlobals = function () + { + var i, len, g; + for (i = 0, len = this.runtime.all_global_vars.length; i < len; i++) + { + g = this.runtime.all_global_vars[i]; + g.data = g.initial; + } + }; + SysActs.prototype.SetLayoutAngle = function (a) + { + a = cr.to_radians(a); + a = cr.clamp_angle(a); + if (this.runtime.running_layout) + { + if (this.runtime.running_layout.angle !== a) + { + this.runtime.running_layout.angle = a; + this.runtime.redraw = true; + } + } + }; + SysActs.prototype.SetLayerAngle = function (layer, a) + { + if (!layer) + return; + a = cr.to_radians(a); + a = cr.clamp_angle(a); + if (layer.angle === a) + return; + layer.angle = a; + this.runtime.redraw = true; + }; + SysActs.prototype.SetLayerParallax = function (layer, px, py) + { + if (!layer) + return; + if (layer.parallaxX === px / 100 && layer.parallaxY === py / 100) + return; + layer.parallaxX = px / 100; + layer.parallaxY = py / 100; + if (layer.parallaxX !== 1 || layer.parallaxY !== 1) + { + var i, len, instances = layer.instances; + for (i = 0, len = instances.length; i < len; ++i) + { + instances[i].type.any_instance_parallaxed = true; + } + } + this.runtime.redraw = true; + }; + SysActs.prototype.SetLayerBackground = function (layer, c) + { + if (!layer) + return; + var r = cr.GetRValue(c); + var g = cr.GetGValue(c); + var b = cr.GetBValue(c); + if (layer.background_color[0] === r && layer.background_color[1] === g && layer.background_color[2] === b) + return; + layer.background_color[0] = r; + layer.background_color[1] = g; + layer.background_color[2] = b; + this.runtime.redraw = true; + }; + SysActs.prototype.SetLayerTransparent = function (layer, t) + { + if (!layer) + return; + if (!!t === !!layer.transparent) + return; + layer.transparent = !!t; + this.runtime.redraw = true; + }; + SysActs.prototype.SetLayerBlendMode = function (layer, bm) + { + if (!layer) + return; + if (layer.blend_mode === bm) + return; + layer.blend_mode = bm; + layer.compositeOp = cr.effectToCompositeOp(layer.blend_mode); + if (this.runtime.gl) + cr.setGLBlend(layer, layer.blend_mode, this.runtime.gl); + this.runtime.redraw = true; + }; + SysActs.prototype.StopLoop = function () + { + if (this.runtime.loop_stack_index < 0) + return; // no loop currently running + this.runtime.getCurrentLoop().stopped = true; + }; + SysActs.prototype.GoToLayoutByName = function (layoutname) + { + if (this.runtime.isloading) + return; // cannot change layout while loading on loader layout + if (this.runtime.changelayout) + return; // already changing to different layout +; + var l; + for (l in this.runtime.layouts) + { + if (this.runtime.layouts.hasOwnProperty(l) && cr.equals_nocase(l, layoutname)) + { + this.runtime.changelayout = this.runtime.layouts[l]; + return; + } + } + }; + SysActs.prototype.RestartLayout = function (layoutname) + { + if (this.runtime.isloading) + return; // cannot restart loader layouts + if (this.runtime.changelayout) + return; // already changing to a different layout +; + if (!this.runtime.running_layout) + return; + this.runtime.changelayout = this.runtime.running_layout; + var i, len, g; + for (i = 0, len = this.runtime.allGroups.length; i < len; i++) + { + g = this.runtime.allGroups[i]; + g.setGroupActive(g.initially_activated); + } + }; + SysActs.prototype.SnapshotCanvas = function (format_, quality_) + { + this.runtime.doCanvasSnapshot(format_ === 0 ? "image/png" : "image/jpeg", quality_ / 100); + }; + SysActs.prototype.SetCanvasSize = function (w, h) + { + if (w <= 0 || h <= 0) + return; + var mode = this.runtime.fullscreen_mode; + var isfullscreen = (document["mozFullScreen"] || document["webkitIsFullScreen"] || !!document["msFullscreenElement"] || document["fullScreen"] || this.runtime.isNodeFullscreen); + if (isfullscreen && this.runtime.fullscreen_scaling > 0) + mode = this.runtime.fullscreen_scaling; + if (mode === 0) + { + this.runtime["setSize"](w, h, true); + } + else + { + this.runtime.original_width = w; + this.runtime.original_height = h; + this.runtime["setSize"](this.runtime.lastWindowWidth, this.runtime.lastWindowHeight, true); + } + }; + SysActs.prototype.SetLayoutEffectEnabled = function (enable_, effectname_) + { + if (!this.runtime.running_layout || !this.runtime.glwrap) + return; + var et = this.runtime.running_layout.getEffectByName(effectname_); + if (!et) + return; // effect name not found + var enable = (enable_ === 1); + if (et.active == enable) + return; // no change + et.active = enable; + this.runtime.running_layout.updateActiveEffects(); + this.runtime.redraw = true; + }; + SysActs.prototype.SetLayerEffectEnabled = function (layer, enable_, effectname_) + { + if (!layer || !this.runtime.glwrap) + return; + var et = layer.getEffectByName(effectname_); + if (!et) + return; // effect name not found + var enable = (enable_ === 1); + if (et.active == enable) + return; // no change + et.active = enable; + layer.updateActiveEffects(); + this.runtime.redraw = true; + }; + SysActs.prototype.SetLayoutEffectParam = function (effectname_, index_, value_) + { + if (!this.runtime.running_layout || !this.runtime.glwrap) + return; + var et = this.runtime.running_layout.getEffectByName(effectname_); + if (!et) + return; // effect name not found + var params = this.runtime.running_layout.effect_params[et.index]; + index_ = Math.floor(index_); + if (index_ < 0 || index_ >= params.length) + return; // effect index out of bounds + if (this.runtime.glwrap.getProgramParameterType(et.shaderindex, index_) === 1) + value_ /= 100.0; + if (params[index_] === value_) + return; // no change + params[index_] = value_; + if (et.active) + this.runtime.redraw = true; + }; + SysActs.prototype.SetLayerEffectParam = function (layer, effectname_, index_, value_) + { + if (!layer || !this.runtime.glwrap) + return; + var et = layer.getEffectByName(effectname_); + if (!et) + return; // effect name not found + var params = layer.effect_params[et.index]; + index_ = Math.floor(index_); + if (index_ < 0 || index_ >= params.length) + return; // effect index out of bounds + if (this.runtime.glwrap.getProgramParameterType(et.shaderindex, index_) === 1) + value_ /= 100.0; + if (params[index_] === value_) + return; // no change + params[index_] = value_; + if (et.active) + this.runtime.redraw = true; + }; + SysActs.prototype.SaveState = function (slot_) + { + this.runtime.saveToSlot = slot_; + }; + SysActs.prototype.LoadState = function (slot_) + { + this.runtime.loadFromSlot = slot_; + }; + SysActs.prototype.LoadStateJSON = function (jsonstr_) + { + this.runtime.loadFromJson = jsonstr_; + }; + SysActs.prototype.SetHalfFramerateMode = function (set_) + { + this.runtime.halfFramerateMode = (set_ !== 0); + }; + SysActs.prototype.SetFullscreenQuality = function (q) + { + var isfullscreen = (document["mozFullScreen"] || document["webkitIsFullScreen"] || !!document["msFullscreenElement"] || document["fullScreen"] || this.isNodeFullscreen); + if (!isfullscreen && this.runtime.fullscreen_mode === 0) + return; + this.runtime.wantFullscreenScalingQuality = (q !== 0); + this.runtime["setSize"](this.runtime.lastWindowWidth, this.runtime.lastWindowHeight, true); + }; + SysActs.prototype.ResetPersisted = function () + { + var i, len; + for (i = 0, len = this.runtime.layouts_by_index.length; i < len; ++i) + { + this.runtime.layouts_by_index[i].persist_data = {}; + this.runtime.layouts_by_index[i].first_visit = true; + } + }; + SysActs.prototype.RecreateInitialObjects = function (obj, x1, y1, x2, y2) + { + if (!obj) + return; + this.runtime.running_layout.recreateInitialObjects(obj, x1, y1, x2, y2); + }; + SysActs.prototype.SetPixelRounding = function (m) + { + this.runtime.pixel_rounding = (m !== 0); + this.runtime.redraw = true; + }; + SysActs.prototype.SetMinimumFramerate = function (f) + { + if (f < 1) + f = 1; + if (f > 120) + f = 120; + this.runtime.minimumFramerate = f; + }; + function SortZOrderList(a, b) + { + var layerA = a[0]; + var layerB = b[0]; + var diff = layerA - layerB; + if (diff !== 0) + return diff; + var indexA = a[1]; + var indexB = b[1]; + return indexA - indexB; + }; + function SortInstancesByValue(a, b) + { + return a[1] - b[1]; + }; + SysActs.prototype.SortZOrderByInstVar = function (obj, iv) + { + if (!obj) + return; + var i, len, inst, value, r, layer, toZ; + var sol = obj.getCurrentSol(); + var pickedInstances = sol.getObjects(); + var zOrderList = []; + var instValues = []; + var layout = this.runtime.running_layout; + var isFamily = obj.is_family; + var familyIndex = obj.family_index; + for (i = 0, len = pickedInstances.length; i < len; ++i) + { + inst = pickedInstances[i]; + if (!inst.layer) + continue; // not a world instance + if (isFamily) + value = inst.instance_vars[iv + inst.type.family_var_map[familyIndex]]; + else + value = inst.instance_vars[iv]; + zOrderList.push([ + inst.layer.index, + inst.get_zindex() + ]); + instValues.push([ + inst, + value + ]); + } + if (!zOrderList.length) + return; // no instances were world instances + zOrderList.sort(SortZOrderList); + instValues.sort(SortInstancesByValue); + for (i = 0, len = zOrderList.length; i < len; ++i) + { + inst = instValues[i][0]; // instance in the order we want + layer = layout.layers[zOrderList[i][0]]; // layer to put it on + toZ = zOrderList[i][1]; // Z index on that layer to put it + if (layer.instances[toZ] !== inst) // not already got this instance there + { + layer.instances[toZ] = inst; // update instance + inst.layer = layer; // update instance's layer reference (could have changed) + layer.setZIndicesStaleFrom(toZ); // mark Z indices stale from this point since they have changed + } + } + }; + sysProto.acts = new SysActs(); + function SysExps() {}; + SysExps.prototype["int"] = function(ret, x) + { + if (cr.is_string(x)) + { + ret.set_int(parseInt(x, 10)); + if (isNaN(ret.data)) + ret.data = 0; + } + else + ret.set_int(x); + }; + SysExps.prototype["float"] = function(ret, x) + { + if (cr.is_string(x)) + { + ret.set_float(parseFloat(x)); + if (isNaN(ret.data)) + ret.data = 0; + } + else + ret.set_float(x); + }; + SysExps.prototype.str = function(ret, x) + { + if (cr.is_string(x)) + ret.set_string(x); + else + ret.set_string(x.toString()); + }; + SysExps.prototype.len = function(ret, x) + { + ret.set_int(x.length || 0); + }; + SysExps.prototype.random = function (ret, a, b) + { + if (b === undefined) + { + ret.set_float(Math.random() * a); + } + else + { + ret.set_float(Math.random() * (b - a) + a); + } + }; + SysExps.prototype.sqrt = function(ret, x) + { + ret.set_float(Math.sqrt(x)); + }; + SysExps.prototype.abs = function(ret, x) + { + ret.set_float(Math.abs(x)); + }; + SysExps.prototype.round = function(ret, x) + { + ret.set_int(Math.round(x)); + }; + SysExps.prototype.floor = function(ret, x) + { + ret.set_int(Math.floor(x)); + }; + SysExps.prototype.ceil = function(ret, x) + { + ret.set_int(Math.ceil(x)); + }; + SysExps.prototype.sin = function(ret, x) + { + ret.set_float(Math.sin(cr.to_radians(x))); + }; + SysExps.prototype.cos = function(ret, x) + { + ret.set_float(Math.cos(cr.to_radians(x))); + }; + SysExps.prototype.tan = function(ret, x) + { + ret.set_float(Math.tan(cr.to_radians(x))); + }; + SysExps.prototype.asin = function(ret, x) + { + ret.set_float(cr.to_degrees(Math.asin(x))); + }; + SysExps.prototype.acos = function(ret, x) + { + ret.set_float(cr.to_degrees(Math.acos(x))); + }; + SysExps.prototype.atan = function(ret, x) + { + ret.set_float(cr.to_degrees(Math.atan(x))); + }; + SysExps.prototype.exp = function(ret, x) + { + ret.set_float(Math.exp(x)); + }; + SysExps.prototype.ln = function(ret, x) + { + ret.set_float(Math.log(x)); + }; + SysExps.prototype.log10 = function(ret, x) + { + ret.set_float(Math.log(x) / Math.LN10); + }; + SysExps.prototype.max = function(ret) + { + var max_ = arguments[1]; + if (typeof max_ !== "number") + max_ = 0; + var i, len, a; + for (i = 2, len = arguments.length; i < len; i++) + { + a = arguments[i]; + if (typeof a !== "number") + continue; // ignore non-numeric types + if (max_ < a) + max_ = a; + } + ret.set_float(max_); + }; + SysExps.prototype.min = function(ret) + { + var min_ = arguments[1]; + if (typeof min_ !== "number") + min_ = 0; + var i, len, a; + for (i = 2, len = arguments.length; i < len; i++) + { + a = arguments[i]; + if (typeof a !== "number") + continue; // ignore non-numeric types + if (min_ > a) + min_ = a; + } + ret.set_float(min_); + }; + SysExps.prototype.dt = function(ret) + { + ret.set_float(this.runtime.dt); + }; + SysExps.prototype.timescale = function(ret) + { + ret.set_float(this.runtime.timescale); + }; + SysExps.prototype.wallclocktime = function(ret) + { + ret.set_float((Date.now() - this.runtime.start_time) / 1000.0); + }; + SysExps.prototype.time = function(ret) + { + ret.set_float(this.runtime.kahanTime.sum); + }; + SysExps.prototype.tickcount = function(ret) + { + ret.set_int(this.runtime.tickcount); + }; + SysExps.prototype.objectcount = function(ret) + { + ret.set_int(this.runtime.objectcount); + }; + SysExps.prototype.fps = function(ret) + { + ret.set_int(this.runtime.fps); + }; + SysExps.prototype.loopindex = function(ret, name_) + { + var loop, i, len; + if (!this.runtime.loop_stack.length) + { + ret.set_int(0); + return; + } + if (name_) + { + for (i = this.runtime.loop_stack_index; i >= 0; --i) + { + loop = this.runtime.loop_stack[i]; + if (loop.name === name_) + { + ret.set_int(loop.index); + return; + } + } + ret.set_int(0); + } + else + { + loop = this.runtime.getCurrentLoop(); + ret.set_int(loop ? loop.index : -1); + } + }; + SysExps.prototype.distance = function(ret, x1, y1, x2, y2) + { + ret.set_float(cr.distanceTo(x1, y1, x2, y2)); + }; + SysExps.prototype.angle = function(ret, x1, y1, x2, y2) + { + ret.set_float(cr.to_degrees(cr.angleTo(x1, y1, x2, y2))); + }; + SysExps.prototype.scrollx = function(ret) + { + ret.set_float(this.runtime.running_layout.scrollX); + }; + SysExps.prototype.scrolly = function(ret) + { + ret.set_float(this.runtime.running_layout.scrollY); + }; + SysExps.prototype.newline = function(ret) + { + ret.set_string("\n"); + }; + SysExps.prototype.lerp = function(ret, a, b, x) + { + ret.set_float(cr.lerp(a, b, x)); + }; + SysExps.prototype.qarp = function(ret, a, b, c, x) + { + ret.set_float(cr.qarp(a, b, c, x)); + }; + SysExps.prototype.cubic = function(ret, a, b, c, d, x) + { + ret.set_float(cr.cubic(a, b, c, d, x)); + }; + SysExps.prototype.cosp = function(ret, a, b, x) + { + ret.set_float(cr.cosp(a, b, x)); + }; + SysExps.prototype.windowwidth = function(ret) + { + ret.set_int(this.runtime.width); + }; + SysExps.prototype.windowheight = function(ret) + { + ret.set_int(this.runtime.height); + }; + SysExps.prototype.uppercase = function(ret, str) + { + ret.set_string(cr.is_string(str) ? str.toUpperCase() : ""); + }; + SysExps.prototype.lowercase = function(ret, str) + { + ret.set_string(cr.is_string(str) ? str.toLowerCase() : ""); + }; + SysExps.prototype.clamp = function(ret, x, l, u) + { + if (x < l) + ret.set_float(l); + else if (x > u) + ret.set_float(u); + else + ret.set_float(x); + }; + SysExps.prototype.layerscale = function (ret, layerparam) + { + var layer = this.runtime.getLayer(layerparam); + if (!layer) + ret.set_float(0); + else + ret.set_float(layer.scale); + }; + SysExps.prototype.layeropacity = function (ret, layerparam) + { + var layer = this.runtime.getLayer(layerparam); + if (!layer) + ret.set_float(0); + else + ret.set_float(layer.opacity * 100); + }; + SysExps.prototype.layerscalerate = function (ret, layerparam) + { + var layer = this.runtime.getLayer(layerparam); + if (!layer) + ret.set_float(0); + else + ret.set_float(layer.zoomRate); + }; + SysExps.prototype.layerparallaxx = function (ret, layerparam) + { + var layer = this.runtime.getLayer(layerparam); + if (!layer) + ret.set_float(0); + else + ret.set_float(layer.parallaxX * 100); + }; + SysExps.prototype.layerparallaxy = function (ret, layerparam) + { + var layer = this.runtime.getLayer(layerparam); + if (!layer) + ret.set_float(0); + else + ret.set_float(layer.parallaxY * 100); + }; + SysExps.prototype.layerindex = function (ret, layerparam) + { + var layer = this.runtime.getLayer(layerparam); + if (!layer) + ret.set_int(-1); + else + ret.set_int(layer.index); + }; + SysExps.prototype.layoutscale = function (ret) + { + if (this.runtime.running_layout) + ret.set_float(this.runtime.running_layout.scale); + else + ret.set_float(0); + }; + SysExps.prototype.layoutangle = function (ret) + { + ret.set_float(cr.to_degrees(this.runtime.running_layout.angle)); + }; + SysExps.prototype.layerangle = function (ret, layerparam) + { + var layer = this.runtime.getLayer(layerparam); + if (!layer) + ret.set_float(0); + else + ret.set_float(cr.to_degrees(layer.angle)); + }; + SysExps.prototype.layoutwidth = function (ret) + { + ret.set_int(this.runtime.running_layout.width); + }; + SysExps.prototype.layoutheight = function (ret) + { + ret.set_int(this.runtime.running_layout.height); + }; + SysExps.prototype.find = function (ret, text, searchstr) + { + if (cr.is_string(text) && cr.is_string(searchstr)) + ret.set_int(text.search(new RegExp(cr.regexp_escape(searchstr), "i"))); + else + ret.set_int(-1); + }; + SysExps.prototype.findcase = function (ret, text, searchstr) + { + if (cr.is_string(text) && cr.is_string(searchstr)) + ret.set_int(text.search(new RegExp(cr.regexp_escape(searchstr), ""))); + else + ret.set_int(-1); + }; + SysExps.prototype.left = function (ret, text, n) + { + ret.set_string(cr.is_string(text) ? text.substr(0, n) : ""); + }; + SysExps.prototype.right = function (ret, text, n) + { + ret.set_string(cr.is_string(text) ? text.substr(text.length - n) : ""); + }; + SysExps.prototype.mid = function (ret, text, index_, length_) + { + ret.set_string(cr.is_string(text) ? text.substr(index_, length_) : ""); + }; + SysExps.prototype.tokenat = function (ret, text, index_, sep) + { + if (cr.is_string(text) && cr.is_string(sep)) + { + var arr = text.split(sep); + var i = cr.floor(index_); + if (i < 0 || i >= arr.length) + ret.set_string(""); + else + ret.set_string(arr[i]); + } + else + ret.set_string(""); + }; + SysExps.prototype.tokencount = function (ret, text, sep) + { + if (cr.is_string(text) && text.length) + ret.set_int(text.split(sep).length); + else + ret.set_int(0); + }; + SysExps.prototype.replace = function (ret, text, find_, replace_) + { + if (cr.is_string(text) && cr.is_string(find_) && cr.is_string(replace_)) + ret.set_string(text.replace(new RegExp(cr.regexp_escape(find_), "gi"), replace_)); + else + ret.set_string(cr.is_string(text) ? text : ""); + }; + SysExps.prototype.trim = function (ret, text) + { + ret.set_string(cr.is_string(text) ? text.trim() : ""); + }; + SysExps.prototype.pi = function (ret) + { + ret.set_float(cr.PI); + }; + SysExps.prototype.layoutname = function (ret) + { + if (this.runtime.running_layout) + ret.set_string(this.runtime.running_layout.name); + else + ret.set_string(""); + }; + SysExps.prototype.renderer = function (ret) + { + ret.set_string(this.runtime.gl ? "webgl" : "canvas2d"); + }; + SysExps.prototype.rendererdetail = function (ret) + { + ret.set_string(this.runtime.glUnmaskedRenderer); + }; + SysExps.prototype.anglediff = function (ret, a, b) + { + ret.set_float(cr.to_degrees(cr.angleDiff(cr.to_radians(a), cr.to_radians(b)))); + }; + SysExps.prototype.choose = function (ret) + { + var index = cr.floor(Math.random() * (arguments.length - 1)); + ret.set_any(arguments[index + 1]); + }; + SysExps.prototype.rgb = function (ret, r, g, b) + { + ret.set_int(cr.RGB(r, g, b)); + }; + SysExps.prototype.projectversion = function (ret) + { + ret.set_string(this.runtime.versionstr); + }; + SysExps.prototype.projectname = function (ret) + { + ret.set_string(this.runtime.projectName); + }; + SysExps.prototype.anglelerp = function (ret, a, b, x) + { + a = cr.to_radians(a); + b = cr.to_radians(b); + var diff = cr.angleDiff(a, b); + if (cr.angleClockwise(b, a)) + { + ret.set_float(cr.to_clamped_degrees(a + diff * x)); + } + else + { + ret.set_float(cr.to_clamped_degrees(a - diff * x)); + } + }; + SysExps.prototype.anglerotate = function (ret, a, b, c) + { + a = cr.to_radians(a); + b = cr.to_radians(b); + c = cr.to_radians(c); + ret.set_float(cr.to_clamped_degrees(cr.angleRotate(a, b, c))); + }; + SysExps.prototype.zeropad = function (ret, n, d) + { + var s = (n < 0 ? "-" : ""); + if (n < 0) n = -n; + var zeroes = d - n.toString().length; + for (var i = 0; i < zeroes; i++) + s += "0"; + ret.set_string(s + n.toString()); + }; + SysExps.prototype.cpuutilisation = function (ret) + { + ret.set_float(this.runtime.cpuutilisation / 1000); + }; + SysExps.prototype.viewportleft = function (ret, layerparam) + { + var layer = this.runtime.getLayer(layerparam); + ret.set_float(layer ? layer.viewLeft : 0); + }; + SysExps.prototype.viewporttop = function (ret, layerparam) + { + var layer = this.runtime.getLayer(layerparam); + ret.set_float(layer ? layer.viewTop : 0); + }; + SysExps.prototype.viewportright = function (ret, layerparam) + { + var layer = this.runtime.getLayer(layerparam); + ret.set_float(layer ? layer.viewRight : 0); + }; + SysExps.prototype.viewportbottom = function (ret, layerparam) + { + var layer = this.runtime.getLayer(layerparam); + ret.set_float(layer ? layer.viewBottom : 0); + }; + SysExps.prototype.loadingprogress = function (ret) + { + ret.set_float(this.runtime.loadingprogress); + }; + SysExps.prototype.unlerp = function(ret, a, b, y) + { + ret.set_float(cr.unlerp(a, b, y)); + }; + SysExps.prototype.canvassnapshot = function (ret) + { + ret.set_string(this.runtime.snapshotData); + }; + SysExps.prototype.urlencode = function (ret, s) + { + ret.set_string(encodeURIComponent(s)); + }; + SysExps.prototype.urldecode = function (ret, s) + { + ret.set_string(decodeURIComponent(s)); + }; + SysExps.prototype.canvastolayerx = function (ret, layerparam, x, y) + { + var layer = this.runtime.getLayer(layerparam); + ret.set_float(layer ? layer.canvasToLayer(x, y, true) : 0); + }; + SysExps.prototype.canvastolayery = function (ret, layerparam, x, y) + { + var layer = this.runtime.getLayer(layerparam); + ret.set_float(layer ? layer.canvasToLayer(x, y, false) : 0); + }; + SysExps.prototype.layertocanvasx = function (ret, layerparam, x, y) + { + var layer = this.runtime.getLayer(layerparam); + ret.set_float(layer ? layer.layerToCanvas(x, y, true) : 0); + }; + SysExps.prototype.layertocanvasy = function (ret, layerparam, x, y) + { + var layer = this.runtime.getLayer(layerparam); + ret.set_float(layer ? layer.layerToCanvas(x, y, false) : 0); + }; + SysExps.prototype.savestatejson = function (ret) + { + ret.set_string(this.runtime.lastSaveJson); + }; + SysExps.prototype.imagememoryusage = function (ret) + { + if (this.runtime.glwrap) + ret.set_float(Math.round(100 * this.runtime.glwrap.estimateVRAM() / (1024 * 1024)) / 100); + else + ret.set_float(0); + }; + SysExps.prototype.regexsearch = function (ret, str_, regex_, flags_) + { + var regex = getRegex(regex_, flags_); + ret.set_int(str_ ? str_.search(regex) : -1); + }; + SysExps.prototype.regexreplace = function (ret, str_, regex_, flags_, replace_) + { + var regex = getRegex(regex_, flags_); + ret.set_string(str_ ? str_.replace(regex, replace_) : ""); + }; + var regexMatches = []; + var lastMatchesStr = ""; + var lastMatchesRegex = ""; + var lastMatchesFlags = ""; + function updateRegexMatches(str_, regex_, flags_) + { + if (str_ === lastMatchesStr && regex_ === lastMatchesRegex && flags_ === lastMatchesFlags) + return; + var regex = getRegex(regex_, flags_); + regexMatches = str_.match(regex); + lastMatchesStr = str_; + lastMatchesRegex = regex_; + lastMatchesFlags = flags_; + }; + SysExps.prototype.regexmatchcount = function (ret, str_, regex_, flags_) + { + var regex = getRegex(regex_, flags_); + updateRegexMatches(str_.toString(), regex_, flags_); + ret.set_int(regexMatches ? regexMatches.length : 0); + }; + SysExps.prototype.regexmatchat = function (ret, str_, regex_, flags_, index_) + { + index_ = Math.floor(index_); + var regex = getRegex(regex_, flags_); + updateRegexMatches(str_.toString(), regex_, flags_); + if (!regexMatches || index_ < 0 || index_ >= regexMatches.length) + ret.set_string(""); + else + ret.set_string(regexMatches[index_]); + }; + SysExps.prototype.infinity = function (ret) + { + ret.set_float(Infinity); + }; + SysExps.prototype.setbit = function (ret, n, b, v) + { + n = n | 0; + b = b | 0; + v = (v !== 0 ? 1 : 0); + ret.set_int((n & ~(1 << b)) | (v << b)); + }; + SysExps.prototype.togglebit = function (ret, n, b) + { + n = n | 0; + b = b | 0; + ret.set_int(n ^ (1 << b)); + }; + SysExps.prototype.getbit = function (ret, n, b) + { + n = n | 0; + b = b | 0; + ret.set_int((n & (1 << b)) ? 1 : 0); + }; + SysExps.prototype.originalwindowwidth = function (ret) + { + ret.set_int(this.runtime.original_width); + }; + SysExps.prototype.originalwindowheight = function (ret) + { + ret.set_int(this.runtime.original_height); + }; + sysProto.exps = new SysExps(); + sysProto.runWaits = function () + { + var i, j, len, w, k, s, ss; + var evinfo = this.runtime.getCurrentEventStack(); + for (i = 0, len = this.waits.length; i < len; i++) + { + w = this.waits[i]; + if (w.time === -1) // signalled wait + { + if (!w.signalled) + continue; // not yet signalled + } + else // timer wait + { + if (w.time > this.runtime.kahanTime.sum) + continue; // timer not yet expired + } + evinfo.current_event = w.ev; + evinfo.actindex = w.actindex; + evinfo.cndindex = 0; + for (k in w.sols) + { + if (w.sols.hasOwnProperty(k)) + { + s = this.runtime.types_by_index[parseInt(k, 10)].getCurrentSol(); + ss = w.sols[k]; + s.select_all = ss.sa; + cr.shallowAssignArray(s.instances, ss.insts); + freeSolStateObject(ss); + } + } + w.ev.resume_actions_and_subevents(); + this.runtime.clearSol(w.solModifiers); + w.deleteme = true; + } + for (i = 0, j = 0, len = this.waits.length; i < len; i++) + { + w = this.waits[i]; + this.waits[j] = w; + if (w.deleteme) + freeWaitObject(w); + else + j++; + } + cr.truncateArray(this.waits, j); + }; +}()); +; +(function () { + cr.add_common_aces = function (m, pluginProto) + { + var singleglobal_ = m[1]; + var position_aces = m[3]; + var size_aces = m[4]; + var angle_aces = m[5]; + var appearance_aces = m[6]; + var zorder_aces = m[7]; + var effects_aces = m[8]; + if (!pluginProto.cnds) + pluginProto.cnds = {}; + if (!pluginProto.acts) + pluginProto.acts = {}; + if (!pluginProto.exps) + pluginProto.exps = {}; + var cnds = pluginProto.cnds; + var acts = pluginProto.acts; + var exps = pluginProto.exps; + if (position_aces) + { + cnds.CompareX = function (cmp, x) + { + return cr.do_cmp(this.x, cmp, x); + }; + cnds.CompareY = function (cmp, y) + { + return cr.do_cmp(this.y, cmp, y); + }; + cnds.IsOnScreen = function () + { + var layer = this.layer; + this.update_bbox(); + var bbox = this.bbox; + return !(bbox.right < layer.viewLeft || bbox.bottom < layer.viewTop || bbox.left > layer.viewRight || bbox.top > layer.viewBottom); + }; + cnds.IsOutsideLayout = function () + { + this.update_bbox(); + var bbox = this.bbox; + var layout = this.runtime.running_layout; + return (bbox.right < 0 || bbox.bottom < 0 || bbox.left > layout.width || bbox.top > layout.height); + }; + cnds.PickDistance = function (which, x, y) + { + var sol = this.getCurrentSol(); + var instances = sol.getObjects(); + if (!instances.length) + return false; + var inst = instances[0]; + var pickme = inst; + var dist = cr.distanceTo(inst.x, inst.y, x, y); + var i, len, d; + for (i = 1, len = instances.length; i < len; i++) + { + inst = instances[i]; + d = cr.distanceTo(inst.x, inst.y, x, y); + if ((which === 0 && d < dist) || (which === 1 && d > dist)) + { + dist = d; + pickme = inst; + } + } + sol.pick_one(pickme); + return true; + }; + acts.SetX = function (x) + { + if (this.x !== x) + { + this.x = x; + this.set_bbox_changed(); + } + }; + acts.SetY = function (y) + { + if (this.y !== y) + { + this.y = y; + this.set_bbox_changed(); + } + }; + acts.SetPos = function (x, y) + { + if (this.x !== x || this.y !== y) + { + this.x = x; + this.y = y; + this.set_bbox_changed(); + } + }; + acts.SetPosToObject = function (obj, imgpt) + { + var inst = obj.getPairedInstance(this); + if (!inst) + return; + var newx, newy; + if (inst.getImagePoint) + { + newx = inst.getImagePoint(imgpt, true); + newy = inst.getImagePoint(imgpt, false); + } + else + { + newx = inst.x; + newy = inst.y; + } + if (this.x !== newx || this.y !== newy) + { + this.x = newx; + this.y = newy; + this.set_bbox_changed(); + } + }; + acts.MoveForward = function (dist) + { + if (dist !== 0) + { + this.x += Math.cos(this.angle) * dist; + this.y += Math.sin(this.angle) * dist; + this.set_bbox_changed(); + } + }; + acts.MoveAtAngle = function (a, dist) + { + if (dist !== 0) + { + this.x += Math.cos(cr.to_radians(a)) * dist; + this.y += Math.sin(cr.to_radians(a)) * dist; + this.set_bbox_changed(); + } + }; + exps.X = function (ret) + { + ret.set_float(this.x); + }; + exps.Y = function (ret) + { + ret.set_float(this.y); + }; + exps.dt = function (ret) + { + ret.set_float(this.runtime.getDt(this)); + }; + } + if (size_aces) + { + cnds.CompareWidth = function (cmp, w) + { + return cr.do_cmp(this.width, cmp, w); + }; + cnds.CompareHeight = function (cmp, h) + { + return cr.do_cmp(this.height, cmp, h); + }; + acts.SetWidth = function (w) + { + if (this.width !== w) + { + this.width = w; + this.set_bbox_changed(); + } + }; + acts.SetHeight = function (h) + { + if (this.height !== h) + { + this.height = h; + this.set_bbox_changed(); + } + }; + acts.SetSize = function (w, h) + { + if (this.width !== w || this.height !== h) + { + this.width = w; + this.height = h; + this.set_bbox_changed(); + } + }; + exps.Width = function (ret) + { + ret.set_float(this.width); + }; + exps.Height = function (ret) + { + ret.set_float(this.height); + }; + exps.BBoxLeft = function (ret) + { + this.update_bbox(); + ret.set_float(this.bbox.left); + }; + exps.BBoxTop = function (ret) + { + this.update_bbox(); + ret.set_float(this.bbox.top); + }; + exps.BBoxRight = function (ret) + { + this.update_bbox(); + ret.set_float(this.bbox.right); + }; + exps.BBoxBottom = function (ret) + { + this.update_bbox(); + ret.set_float(this.bbox.bottom); + }; + } + if (angle_aces) + { + cnds.AngleWithin = function (within, a) + { + return cr.angleDiff(this.angle, cr.to_radians(a)) <= cr.to_radians(within); + }; + cnds.IsClockwiseFrom = function (a) + { + return cr.angleClockwise(this.angle, cr.to_radians(a)); + }; + cnds.IsBetweenAngles = function (a, b) + { + var lower = cr.to_clamped_radians(a); + var upper = cr.to_clamped_radians(b); + var angle = cr.clamp_angle(this.angle); + var obtuse = (!cr.angleClockwise(upper, lower)); + if (obtuse) + return !(!cr.angleClockwise(angle, lower) && cr.angleClockwise(angle, upper)); + else + return cr.angleClockwise(angle, lower) && !cr.angleClockwise(angle, upper); + }; + acts.SetAngle = function (a) + { + var newangle = cr.to_radians(cr.clamp_angle_degrees(a)); + if (isNaN(newangle)) + return; + if (this.angle !== newangle) + { + this.angle = newangle; + this.set_bbox_changed(); + } + }; + acts.RotateClockwise = function (a) + { + if (a !== 0 && !isNaN(a)) + { + this.angle += cr.to_radians(a); + this.angle = cr.clamp_angle(this.angle); + this.set_bbox_changed(); + } + }; + acts.RotateCounterclockwise = function (a) + { + if (a !== 0 && !isNaN(a)) + { + this.angle -= cr.to_radians(a); + this.angle = cr.clamp_angle(this.angle); + this.set_bbox_changed(); + } + }; + acts.RotateTowardAngle = function (amt, target) + { + var newangle = cr.angleRotate(this.angle, cr.to_radians(target), cr.to_radians(amt)); + if (isNaN(newangle)) + return; + if (this.angle !== newangle) + { + this.angle = newangle; + this.set_bbox_changed(); + } + }; + acts.RotateTowardPosition = function (amt, x, y) + { + var dx = x - this.x; + var dy = y - this.y; + var target = Math.atan2(dy, dx); + var newangle = cr.angleRotate(this.angle, target, cr.to_radians(amt)); + if (isNaN(newangle)) + return; + if (this.angle !== newangle) + { + this.angle = newangle; + this.set_bbox_changed(); + } + }; + acts.SetTowardPosition = function (x, y) + { + var dx = x - this.x; + var dy = y - this.y; + var newangle = Math.atan2(dy, dx); + if (isNaN(newangle)) + return; + if (this.angle !== newangle) + { + this.angle = newangle; + this.set_bbox_changed(); + } + }; + exps.Angle = function (ret) + { + ret.set_float(cr.to_clamped_degrees(this.angle)); + }; + } + if (!singleglobal_) + { + cnds.CompareInstanceVar = function (iv, cmp, val) + { + return cr.do_cmp(this.instance_vars[iv], cmp, val); + }; + cnds.IsBoolInstanceVarSet = function (iv) + { + return this.instance_vars[iv]; + }; + cnds.PickInstVarHiLow = function (which, iv) + { + var sol = this.getCurrentSol(); + var instances = sol.getObjects(); + if (!instances.length) + return false; + var inst = instances[0]; + var pickme = inst; + var val = inst.instance_vars[iv]; + var i, len, v; + for (i = 1, len = instances.length; i < len; i++) + { + inst = instances[i]; + v = inst.instance_vars[iv]; + if ((which === 0 && v < val) || (which === 1 && v > val)) + { + val = v; + pickme = inst; + } + } + sol.pick_one(pickme); + return true; + }; + cnds.PickByUID = function (u) + { + var i, len, j, inst, families, instances, sol; + var cnd = this.runtime.getCurrentCondition(); + if (cnd.inverted) + { + sol = this.getCurrentSol(); + if (sol.select_all) + { + sol.select_all = false; + cr.clearArray(sol.instances); + cr.clearArray(sol.else_instances); + instances = this.instances; + for (i = 0, len = instances.length; i < len; i++) + { + inst = instances[i]; + if (inst.uid === u) + sol.else_instances.push(inst); + else + sol.instances.push(inst); + } + this.applySolToContainer(); + return !!sol.instances.length; + } + else + { + for (i = 0, j = 0, len = sol.instances.length; i < len; i++) + { + inst = sol.instances[i]; + sol.instances[j] = inst; + if (inst.uid === u) + { + sol.else_instances.push(inst); + } + else + j++; + } + cr.truncateArray(sol.instances, j); + this.applySolToContainer(); + return !!sol.instances.length; + } + } + else + { + inst = this.runtime.getObjectByUID(u); + if (!inst) + return false; + sol = this.getCurrentSol(); + if (!sol.select_all && sol.instances.indexOf(inst) === -1) + return false; // not picked + if (this.is_family) + { + families = inst.type.families; + for (i = 0, len = families.length; i < len; i++) + { + if (families[i] === this) + { + sol.pick_one(inst); + this.applySolToContainer(); + return true; + } + } + } + else if (inst.type === this) + { + sol.pick_one(inst); + this.applySolToContainer(); + return true; + } + return false; + } + }; + cnds.OnCreated = function () + { + return true; + }; + cnds.OnDestroyed = function () + { + return true; + }; + acts.SetInstanceVar = function (iv, val) + { + var myinstvars = this.instance_vars; + if (cr.is_number(myinstvars[iv])) + { + if (cr.is_number(val)) + myinstvars[iv] = val; + else + myinstvars[iv] = parseFloat(val); + } + else if (cr.is_string(myinstvars[iv])) + { + if (cr.is_string(val)) + myinstvars[iv] = val; + else + myinstvars[iv] = val.toString(); + } + else +; + }; + acts.AddInstanceVar = function (iv, val) + { + var myinstvars = this.instance_vars; + if (cr.is_number(myinstvars[iv])) + { + if (cr.is_number(val)) + myinstvars[iv] += val; + else + myinstvars[iv] += parseFloat(val); + } + else if (cr.is_string(myinstvars[iv])) + { + if (cr.is_string(val)) + myinstvars[iv] += val; + else + myinstvars[iv] += val.toString(); + } + else +; + }; + acts.SubInstanceVar = function (iv, val) + { + var myinstvars = this.instance_vars; + if (cr.is_number(myinstvars[iv])) + { + if (cr.is_number(val)) + myinstvars[iv] -= val; + else + myinstvars[iv] -= parseFloat(val); + } + else +; + }; + acts.SetBoolInstanceVar = function (iv, val) + { + this.instance_vars[iv] = val ? 1 : 0; + }; + acts.ToggleBoolInstanceVar = function (iv) + { + this.instance_vars[iv] = 1 - this.instance_vars[iv]; + }; + acts.Destroy = function () + { + this.runtime.DestroyInstance(this); + }; + if (!acts.LoadFromJsonString) + { + acts.LoadFromJsonString = function (str_) + { + var o, i, len, binst; + try { + o = JSON.parse(str_); + } + catch (e) { + return; + } + this.runtime.loadInstanceFromJSON(this, o, true); + if (this.afterLoad) + this.afterLoad(); + if (this.behavior_insts) + { + for (i = 0, len = this.behavior_insts.length; i < len; ++i) + { + binst = this.behavior_insts[i]; + if (binst.afterLoad) + binst.afterLoad(); + } + } + }; + } + exps.Count = function (ret) + { + var count = ret.object_class.instances.length; + var i, len, inst; + for (i = 0, len = this.runtime.createRow.length; i < len; i++) + { + inst = this.runtime.createRow[i]; + if (ret.object_class.is_family) + { + if (inst.type.families.indexOf(ret.object_class) >= 0) + count++; + } + else + { + if (inst.type === ret.object_class) + count++; + } + } + ret.set_int(count); + }; + exps.PickedCount = function (ret) + { + ret.set_int(ret.object_class.getCurrentSol().getObjects().length); + }; + exps.UID = function (ret) + { + ret.set_int(this.uid); + }; + exps.IID = function (ret) + { + ret.set_int(this.get_iid()); + }; + if (!exps.AsJSON) + { + exps.AsJSON = function (ret) + { + ret.set_string(JSON.stringify(this.runtime.saveInstanceToJSON(this, true))); + }; + } + } + if (appearance_aces) + { + cnds.IsVisible = function () + { + return this.visible; + }; + acts.SetVisible = function (v) + { + if (!v !== !this.visible) + { + this.visible = !!v; + this.runtime.redraw = true; + } + }; + cnds.CompareOpacity = function (cmp, x) + { + return cr.do_cmp(cr.round6dp(this.opacity * 100), cmp, x); + }; + acts.SetOpacity = function (x) + { + var new_opacity = x / 100.0; + if (new_opacity < 0) + new_opacity = 0; + else if (new_opacity > 1) + new_opacity = 1; + if (new_opacity !== this.opacity) + { + this.opacity = new_opacity; + this.runtime.redraw = true; + } + }; + exps.Opacity = function (ret) + { + ret.set_float(cr.round6dp(this.opacity * 100.0)); + }; + } + if (zorder_aces) + { + cnds.IsOnLayer = function (layer_) + { + if (!layer_) + return false; + return this.layer === layer_; + }; + cnds.PickTopBottom = function (which_) + { + var sol = this.getCurrentSol(); + var instances = sol.getObjects(); + if (!instances.length) + return false; + var inst = instances[0]; + var pickme = inst; + var i, len; + for (i = 1, len = instances.length; i < len; i++) + { + inst = instances[i]; + if (which_ === 0) + { + if (inst.layer.index > pickme.layer.index || (inst.layer.index === pickme.layer.index && inst.get_zindex() > pickme.get_zindex())) + { + pickme = inst; + } + } + else + { + if (inst.layer.index < pickme.layer.index || (inst.layer.index === pickme.layer.index && inst.get_zindex() < pickme.get_zindex())) + { + pickme = inst; + } + } + } + sol.pick_one(pickme); + return true; + }; + acts.MoveToTop = function () + { + var layer = this.layer; + var layer_instances = layer.instances; + if (layer_instances.length && layer_instances[layer_instances.length - 1] === this) + return; // is already at top + layer.removeFromInstanceList(this, false); + layer.appendToInstanceList(this, false); + this.runtime.redraw = true; + }; + acts.MoveToBottom = function () + { + var layer = this.layer; + var layer_instances = layer.instances; + if (layer_instances.length && layer_instances[0] === this) + return; // is already at bottom + layer.removeFromInstanceList(this, false); + layer.prependToInstanceList(this, false); + this.runtime.redraw = true; + }; + acts.MoveToLayer = function (layerMove) + { + if (!layerMove || layerMove == this.layer) + return; + this.layer.removeFromInstanceList(this, true); + this.layer = layerMove; + layerMove.appendToInstanceList(this, true); + this.runtime.redraw = true; + }; + acts.ZMoveToObject = function (where_, obj_) + { + var isafter = (where_ === 0); + if (!obj_) + return; + var other = obj_.getFirstPicked(this); + if (!other || other.uid === this.uid) + return; + if (this.layer.index !== other.layer.index) + { + this.layer.removeFromInstanceList(this, true); + this.layer = other.layer; + other.layer.appendToInstanceList(this, true); + } + this.layer.moveInstanceAdjacent(this, other, isafter); + this.runtime.redraw = true; + }; + exps.LayerNumber = function (ret) + { + ret.set_int(this.layer.number); + }; + exps.LayerName = function (ret) + { + ret.set_string(this.layer.name); + }; + exps.ZIndex = function (ret) + { + ret.set_int(this.get_zindex()); + }; + } + if (effects_aces) + { + acts.SetEffectEnabled = function (enable_, effectname_) + { + if (!this.runtime.glwrap) + return; + var i = this.type.getEffectIndexByName(effectname_); + if (i < 0) + return; // effect name not found + var enable = (enable_ === 1); + if (this.active_effect_flags[i] === enable) + return; // no change + this.active_effect_flags[i] = enable; + this.updateActiveEffects(); + this.runtime.redraw = true; + }; + acts.SetEffectParam = function (effectname_, index_, value_) + { + if (!this.runtime.glwrap) + return; + var i = this.type.getEffectIndexByName(effectname_); + if (i < 0) + return; // effect name not found + var et = this.type.effect_types[i]; + var params = this.effect_params[i]; + index_ = Math.floor(index_); + if (index_ < 0 || index_ >= params.length) + return; // effect index out of bounds + if (this.runtime.glwrap.getProgramParameterType(et.shaderindex, index_) === 1) + value_ /= 100.0; + if (params[index_] === value_) + return; // no change + params[index_] = value_; + if (et.active) + this.runtime.redraw = true; + }; + } + }; + cr.set_bbox_changed = function () + { + this.bbox_changed = true; // will recreate next time box requested + this.cell_changed = true; + this.type.any_cell_changed = true; // avoid unnecessary updateAllBBox() calls + this.runtime.redraw = true; // assume runtime needs to redraw + var i, len, callbacks = this.bbox_changed_callbacks; + for (i = 0, len = callbacks.length; i < len; ++i) + { + callbacks[i](this); + } + if (this.layer.useRenderCells) + this.update_bbox(); + }; + cr.add_bbox_changed_callback = function (f) + { + if (f) + { + this.bbox_changed_callbacks.push(f); + } + }; + cr.update_bbox = function () + { + if (!this.bbox_changed) + return; // bounding box not changed + var bbox = this.bbox; + var bquad = this.bquad; + bbox.set(this.x, this.y, this.x + this.width, this.y + this.height); + bbox.offset(-this.hotspotX * this.width, -this.hotspotY * this.height); + if (!this.angle) + { + bquad.set_from_rect(bbox); // make bounding quad from box + } + else + { + bbox.offset(-this.x, -this.y); // translate to origin + bquad.set_from_rotated_rect(bbox, this.angle); // rotate around origin + bquad.offset(this.x, this.y); // translate back to original position + bquad.bounding_box(bbox); + } + bbox.normalize(); + this.bbox_changed = false; // bounding box up to date + this.update_render_cell(); + }; + var tmprc = new cr.rect(0, 0, 0, 0); + cr.update_render_cell = function () + { + if (!this.layer.useRenderCells) + return; + var mygrid = this.layer.render_grid; + var bbox = this.bbox; + tmprc.set(mygrid.XToCell(bbox.left), mygrid.YToCell(bbox.top), mygrid.XToCell(bbox.right), mygrid.YToCell(bbox.bottom)); + if (this.rendercells.equals(tmprc)) + return; + if (this.rendercells.right < this.rendercells.left) + mygrid.update(this, null, tmprc); // first insertion with invalid rect: don't provide old range + else + mygrid.update(this, this.rendercells, tmprc); + this.rendercells.copy(tmprc); + this.layer.render_list_stale = true; + }; + cr.update_collision_cell = function () + { + if (!this.cell_changed || !this.collisionsEnabled) + return; + this.update_bbox(); + var mygrid = this.type.collision_grid; + var bbox = this.bbox; + tmprc.set(mygrid.XToCell(bbox.left), mygrid.YToCell(bbox.top), mygrid.XToCell(bbox.right), mygrid.YToCell(bbox.bottom)); + if (this.collcells.equals(tmprc)) + return; + if (this.collcells.right < this.collcells.left) + mygrid.update(this, null, tmprc); // first insertion with invalid rect: don't provide old range + else + mygrid.update(this, this.collcells, tmprc); + this.collcells.copy(tmprc); + this.cell_changed = false; + }; + cr.inst_contains_pt = function (x, y) + { + if (!this.bbox.contains_pt(x, y)) + return false; + if (!this.bquad.contains_pt(x, y)) + return false; + if (this.tilemap_exists) + return this.testPointOverlapTile(x, y); + if (this.collision_poly && !this.collision_poly.is_empty()) + { + this.collision_poly.cache_poly(this.width, this.height, this.angle); + return this.collision_poly.contains_pt(x - this.x, y - this.y); + } + else + return true; + }; + cr.inst_get_iid = function () + { + this.type.updateIIDs(); + return this.iid; + }; + cr.inst_get_zindex = function () + { + this.layer.updateZIndices(); + return this.zindex; + }; + cr.inst_updateActiveEffects = function () + { + cr.clearArray(this.active_effect_types); + var i, len, et; + var preserves_opaqueness = true; + for (i = 0, len = this.active_effect_flags.length; i < len; i++) + { + if (this.active_effect_flags[i]) + { + et = this.type.effect_types[i]; + this.active_effect_types.push(et); + if (!et.preservesOpaqueness) + preserves_opaqueness = false; + } + } + this.uses_shaders = !!this.active_effect_types.length; + this.shaders_preserve_opaqueness = preserves_opaqueness; + }; + cr.inst_toString = function () + { + return "Inst" + this.puid; + }; + cr.type_getFirstPicked = function (frominst) + { + if (frominst && frominst.is_contained && frominst.type != this) + { + var i, len, s; + for (i = 0, len = frominst.siblings.length; i < len; i++) + { + s = frominst.siblings[i]; + if (s.type == this) + return s; + } + } + var instances = this.getCurrentSol().getObjects(); + if (instances.length) + return instances[0]; + else + return null; + }; + cr.type_getPairedInstance = function (inst) + { + var instances = this.getCurrentSol().getObjects(); + if (instances.length) + return instances[inst.get_iid() % instances.length]; + else + return null; + }; + cr.type_updateIIDs = function () + { + if (!this.stale_iids || this.is_family) + return; // up to date or is family - don't want family to overwrite IIDs + var i, len; + for (i = 0, len = this.instances.length; i < len; i++) + this.instances[i].iid = i; + var next_iid = i; + var createRow = this.runtime.createRow; + for (i = 0, len = createRow.length; i < len; ++i) + { + if (createRow[i].type === this) + createRow[i].iid = next_iid++; + } + this.stale_iids = false; + }; + cr.type_getInstanceByIID = function (i) + { + if (i < this.instances.length) + return this.instances[i]; + i -= this.instances.length; + var createRow = this.runtime.createRow; + var j, lenj; + for (j = 0, lenj = createRow.length; j < lenj; ++j) + { + if (createRow[j].type === this) + { + if (i === 0) + return createRow[j]; + --i; + } + } +; + return null; + }; + cr.type_getCurrentSol = function () + { + return this.solstack[this.cur_sol]; + }; + cr.type_pushCleanSol = function () + { + this.cur_sol++; + if (this.cur_sol === this.solstack.length) + { + this.solstack.push(new cr.selection(this)); + } + else + { + this.solstack[this.cur_sol].select_all = true; // else clear next SOL + cr.clearArray(this.solstack[this.cur_sol].else_instances); + } + }; + cr.type_pushCopySol = function () + { + this.cur_sol++; + if (this.cur_sol === this.solstack.length) + this.solstack.push(new cr.selection(this)); + var clonesol = this.solstack[this.cur_sol]; + var prevsol = this.solstack[this.cur_sol - 1]; + if (prevsol.select_all) + { + clonesol.select_all = true; + } + else + { + clonesol.select_all = false; + cr.shallowAssignArray(clonesol.instances, prevsol.instances); + } + cr.clearArray(clonesol.else_instances); + }; + cr.type_popSol = function () + { +; + this.cur_sol--; + }; + cr.type_getBehaviorByName = function (behname) + { + var i, len, j, lenj, f, index = 0; + if (!this.is_family) + { + for (i = 0, len = this.families.length; i < len; i++) + { + f = this.families[i]; + for (j = 0, lenj = f.behaviors.length; j < lenj; j++) + { + if (behname === f.behaviors[j].name) + { + this.extra["lastBehIndex"] = index; + return f.behaviors[j]; + } + index++; + } + } + } + for (i = 0, len = this.behaviors.length; i < len; i++) { + if (behname === this.behaviors[i].name) + { + this.extra["lastBehIndex"] = index; + return this.behaviors[i]; + } + index++; + } + return null; + }; + cr.type_getBehaviorIndexByName = function (behname) + { + var b = this.getBehaviorByName(behname); + if (b) + return this.extra["lastBehIndex"]; + else + return -1; + }; + cr.type_getEffectIndexByName = function (name_) + { + var i, len; + for (i = 0, len = this.effect_types.length; i < len; i++) + { + if (this.effect_types[i].name === name_) + return i; + } + return -1; + }; + cr.type_applySolToContainer = function () + { + if (!this.is_contained || this.is_family) + return; + var i, len, j, lenj, t, sol, sol2; + this.updateIIDs(); + sol = this.getCurrentSol(); + var select_all = sol.select_all; + var es = this.runtime.getCurrentEventStack(); + var orblock = es && es.current_event && es.current_event.orblock; + for (i = 0, len = this.container.length; i < len; i++) + { + t = this.container[i]; + if (t === this) + continue; + t.updateIIDs(); + sol2 = t.getCurrentSol(); + sol2.select_all = select_all; + if (!select_all) + { + cr.clearArray(sol2.instances); + for (j = 0, lenj = sol.instances.length; j < lenj; ++j) + sol2.instances[j] = t.getInstanceByIID(sol.instances[j].iid); + if (orblock) + { + cr.clearArray(sol2.else_instances); + for (j = 0, lenj = sol.else_instances.length; j < lenj; ++j) + sol2.else_instances[j] = t.getInstanceByIID(sol.else_instances[j].iid); + } + } + } + }; + cr.type_toString = function () + { + return "Type" + this.sid; + }; + cr.do_cmp = function (x, cmp, y) + { + if (typeof x === "undefined" || typeof y === "undefined") + return false; + switch (cmp) + { + case 0: // equal + return x === y; + case 1: // not equal + return x !== y; + case 2: // less + return x < y; + case 3: // less/equal + return x <= y; + case 4: // greater + return x > y; + case 5: // greater/equal + return x >= y; + default: +; + return false; + } + }; +})(); +cr.shaders = {}; +cr.shaders["blacknwhite"] = {src: ["varying mediump vec2 vTex;", +"uniform lowp sampler2D samplerFront;", +"uniform lowp float threshold;", +"void main(void)", +"{", +"lowp vec4 front = texture2D(samplerFront, vTex);", +"lowp float gray = front.r * 0.299 + front.g * 0.587 + front.b * 0.114;", +"if (gray < threshold)", +"gl_FragColor = vec4(0.0, 0.0, 0.0, front.a);", +"else", +"gl_FragColor = vec4(front.a, front.a, front.a, front.a);", +"}" +].join("\n"), + extendBoxHorizontal: 0, + extendBoxVertical: 0, + crossSampling: false, + preservesOpaqueness: true, + animated: false, + parameters: [["threshold", 0, 1]] } +cr.shaders["setcolor"] = {src: ["varying mediump vec2 vTex;", +"uniform lowp sampler2D samplerFront;", +"uniform lowp float red;", +"uniform lowp float green;", +"uniform lowp float blue;", +"void main(void)", +"{", +"lowp float a = texture2D(samplerFront, vTex).a;", +"gl_FragColor = vec4(red * a, green * a, blue * a, a);", +"}" +].join("\n"), + extendBoxHorizontal: 0, + extendBoxVertical: 0, + crossSampling: false, + preservesOpaqueness: true, + animated: false, + parameters: [["red", 0, 1], ["green", 0, 1], ["blue", 0, 1]] } +; +; +cr.plugins_.Arr = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.Arr.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + var arrCache = []; + function allocArray() + { + if (arrCache.length) + return arrCache.pop(); + else + return []; + }; + if (!Array.isArray) + { + Array.isArray = function (vArg) { + return Object.prototype.toString.call(vArg) === "[object Array]"; + }; + } + function freeArray(a) + { + var i, len; + for (i = 0, len = a.length; i < len; i++) + { + if (Array.isArray(a[i])) + freeArray(a[i]); + } + cr.clearArray(a); + arrCache.push(a); + }; + instanceProto.onCreate = function() + { + this.cx = this.properties[0]; + this.cy = this.properties[1]; + this.cz = this.properties[2]; + if (!this.recycled) + this.arr = allocArray(); + var a = this.arr; + a.length = this.cx; + var x, y, z; + for (x = 0; x < this.cx; x++) + { + if (!a[x]) + a[x] = allocArray(); + a[x].length = this.cy; + for (y = 0; y < this.cy; y++) + { + if (!a[x][y]) + a[x][y] = allocArray(); + a[x][y].length = this.cz; + for (z = 0; z < this.cz; z++) + a[x][y][z] = 0; + } + } + this.forX = []; + this.forY = []; + this.forZ = []; + this.forDepth = -1; + }; + instanceProto.onDestroy = function () + { + var x; + for (x = 0; x < this.cx; x++) + freeArray(this.arr[x]); // will recurse down and recycle other arrays + cr.clearArray(this.arr); + }; + instanceProto.at = function (x, y, z) + { + x = Math.floor(x); + y = Math.floor(y); + z = Math.floor(z); + if (isNaN(x) || x < 0 || x > this.cx - 1) + return 0; + if (isNaN(y) || y < 0 || y > this.cy - 1) + return 0; + if (isNaN(z) || z < 0 || z > this.cz - 1) + return 0; + return this.arr[x][y][z]; + }; + instanceProto.set = function (x, y, z, val) + { + x = Math.floor(x); + y = Math.floor(y); + z = Math.floor(z); + if (isNaN(x) || x < 0 || x > this.cx - 1) + return; + if (isNaN(y) || y < 0 || y > this.cy - 1) + return; + if (isNaN(z) || z < 0 || z > this.cz - 1) + return; + this.arr[x][y][z] = val; + }; + instanceProto.getAsJSON = function () + { + return JSON.stringify({ + "c2array": true, + "size": [this.cx, this.cy, this.cz], + "data": this.arr + }); + }; + instanceProto.saveToJSON = function () + { + return { + "size": [this.cx, this.cy, this.cz], + "data": this.arr + }; + }; + instanceProto.loadFromJSON = function (o) + { + var sz = o["size"]; + this.cx = sz[0]; + this.cy = sz[1]; + this.cz = sz[2]; + this.arr = o["data"]; + }; + instanceProto.setSize = function (w, h, d) + { + if (w < 0) w = 0; + if (h < 0) h = 0; + if (d < 0) d = 0; + if (this.cx === w && this.cy === h && this.cz === d) + return; // no change + this.cx = w; + this.cy = h; + this.cz = d; + var x, y, z; + var a = this.arr; + a.length = w; + for (x = 0; x < this.cx; x++) + { + if (cr.is_undefined(a[x])) + a[x] = allocArray(); + a[x].length = h; + for (y = 0; y < this.cy; y++) + { + if (cr.is_undefined(a[x][y])) + a[x][y] = allocArray(); + a[x][y].length = d; + for (z = 0; z < this.cz; z++) + { + if (cr.is_undefined(a[x][y][z])) + a[x][y][z] = 0; + } + } + } + }; + instanceProto.getForX = function () + { + if (this.forDepth >= 0 && this.forDepth < this.forX.length) + return this.forX[this.forDepth]; + else + return 0; + }; + instanceProto.getForY = function () + { + if (this.forDepth >= 0 && this.forDepth < this.forY.length) + return this.forY[this.forDepth]; + else + return 0; + }; + instanceProto.getForZ = function () + { + if (this.forDepth >= 0 && this.forDepth < this.forZ.length) + return this.forZ[this.forDepth]; + else + return 0; + }; + function Cnds() {}; + Cnds.prototype.CompareX = function (x, cmp, val) + { + return cr.do_cmp(this.at(x, 0, 0), cmp, val); + }; + Cnds.prototype.CompareXY = function (x, y, cmp, val) + { + return cr.do_cmp(this.at(x, y, 0), cmp, val); + }; + Cnds.prototype.CompareXYZ = function (x, y, z, cmp, val) + { + return cr.do_cmp(this.at(x, y, z), cmp, val); + }; + instanceProto.doForEachTrigger = function (current_event) + { + this.runtime.pushCopySol(current_event.solModifiers); + current_event.retrigger(); + this.runtime.popSol(current_event.solModifiers); + }; + Cnds.prototype.ArrForEach = function (dims) + { + var current_event = this.runtime.getCurrentEventStack().current_event; + this.forDepth++; + var forDepth = this.forDepth; + if (forDepth === this.forX.length) + { + this.forX.push(0); + this.forY.push(0); + this.forZ.push(0); + } + else + { + this.forX[forDepth] = 0; + this.forY[forDepth] = 0; + this.forZ[forDepth] = 0; + } + switch (dims) { + case 0: + for (this.forX[forDepth] = 0; this.forX[forDepth] < this.cx; this.forX[forDepth]++) + { + for (this.forY[forDepth] = 0; this.forY[forDepth] < this.cy; this.forY[forDepth]++) + { + for (this.forZ[forDepth] = 0; this.forZ[forDepth] < this.cz; this.forZ[forDepth]++) + { + this.doForEachTrigger(current_event); + } + } + } + break; + case 1: + for (this.forX[forDepth] = 0; this.forX[forDepth] < this.cx; this.forX[forDepth]++) + { + for (this.forY[forDepth] = 0; this.forY[forDepth] < this.cy; this.forY[forDepth]++) + { + this.doForEachTrigger(current_event); + } + } + break; + case 2: + for (this.forX[forDepth] = 0; this.forX[forDepth] < this.cx; this.forX[forDepth]++) + { + this.doForEachTrigger(current_event); + } + break; + } + this.forDepth--; + return false; + }; + Cnds.prototype.CompareCurrent = function (cmp, val) + { + return cr.do_cmp(this.at(this.getForX(), this.getForY(), this.getForZ()), cmp, val); + }; + Cnds.prototype.Contains = function(val) + { + var x, y, z; + for (x = 0; x < this.cx; x++) + { + for (y = 0; y < this.cy; y++) + { + for (z = 0; z < this.cz; z++) + { + if (this.arr[x][y][z] === val) + return true; + } + } + } + return false; + }; + Cnds.prototype.IsEmpty = function () + { + return this.cx === 0 || this.cy === 0 || this.cz === 0; + }; + Cnds.prototype.CompareSize = function (axis, cmp, value) + { + var s = 0; + switch (axis) { + case 0: + s = this.cx; + break; + case 1: + s = this.cy; + break; + case 2: + s = this.cz; + break; + } + return cr.do_cmp(s, cmp, value); + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.Clear = function () + { + var x, y, z; + for (x = 0; x < this.cx; x++) + for (y = 0; y < this.cy; y++) + for (z = 0; z < this.cz; z++) + this.arr[x][y][z] = 0; + }; + Acts.prototype.SetSize = function (w, h, d) + { + this.setSize(w, h, d); + }; + Acts.prototype.SetX = function (x, val) + { + this.set(x, 0, 0, val); + }; + Acts.prototype.SetXY = function (x, y, val) + { + this.set(x, y, 0, val); + }; + Acts.prototype.SetXYZ = function (x, y, z, val) + { + this.set(x, y, z, val); + }; + Acts.prototype.Push = function (where, value, axis) + { + var x = 0, y = 0, z = 0; + var a = this.arr; + switch (axis) { + case 0: // X axis + if (where === 0) // back + { + x = a.length; + a.push(allocArray()); + } + else // front + { + x = 0; + a.unshift(allocArray()); + } + a[x].length = this.cy; + for ( ; y < this.cy; y++) + { + a[x][y] = allocArray(); + a[x][y].length = this.cz; + for (z = 0; z < this.cz; z++) + a[x][y][z] = value; + } + this.cx++; + break; + case 1: // Y axis + for ( ; x < this.cx; x++) + { + if (where === 0) // back + { + y = a[x].length; + a[x].push(allocArray()); + } + else // front + { + y = 0; + a[x].unshift(allocArray()); + } + a[x][y].length = this.cz; + for (z = 0; z < this.cz; z++) + a[x][y][z] = value; + } + this.cy++; + break; + case 2: // Z axis + for ( ; x < this.cx; x++) + { + for (y = 0; y < this.cy; y++) + { + if (where === 0) // back + { + a[x][y].push(value); + } + else // front + { + a[x][y].unshift(value); + } + } + } + this.cz++; + break; + } + }; + Acts.prototype.Pop = function (where, axis) + { + var x = 0, y = 0, z = 0; + var a = this.arr; + switch (axis) { + case 0: // X axis + if (this.cx === 0) + break; + if (where === 0) // back + { + freeArray(a.pop()); + } + else // front + { + freeArray(a.shift()); + } + this.cx--; + break; + case 1: // Y axis + if (this.cy === 0) + break; + for ( ; x < this.cx; x++) + { + if (where === 0) // back + { + freeArray(a[x].pop()); + } + else // front + { + freeArray(a[x].shift()); + } + } + this.cy--; + break; + case 2: // Z axis + if (this.cz === 0) + break; + for ( ; x < this.cx; x++) + { + for (y = 0; y < this.cy; y++) + { + if (where === 0) // back + { + a[x][y].pop(); + } + else // front + { + a[x][y].shift(); + } + } + } + this.cz--; + break; + } + }; + Acts.prototype.Reverse = function (axis) + { + var x = 0, y = 0, z = 0; + var a = this.arr; + if (this.cx === 0 || this.cy === 0 || this.cz === 0) + return; // no point reversing empty array + switch (axis) { + case 0: // X axis + a.reverse(); + break; + case 1: // Y axis + for ( ; x < this.cx; x++) + a[x].reverse(); + break; + case 2: // Z axis + for ( ; x < this.cx; x++) + for (y = 0; y < this.cy; y++) + a[x][y].reverse(); + break; + } + }; + function compareValues(va, vb) + { + if (cr.is_number(va) && cr.is_number(vb)) + return va - vb; + else + { + var sa = "" + va; + var sb = "" + vb; + if (sa < sb) + return -1; + else if (sa > sb) + return 1; + else + return 0; + } + } + Acts.prototype.Sort = function (axis) + { + var x = 0, y = 0, z = 0; + var a = this.arr; + if (this.cx === 0 || this.cy === 0 || this.cz === 0) + return; // no point sorting empty array + switch (axis) { + case 0: // X axis + a.sort(function (a, b) { + return compareValues(a[0][0], b[0][0]); + }); + break; + case 1: // Y axis + for ( ; x < this.cx; x++) + { + a[x].sort(function (a, b) { + return compareValues(a[0], b[0]); + }); + } + break; + case 2: // Z axis + for ( ; x < this.cx; x++) + { + for (y = 0; y < this.cy; y++) + { + a[x][y].sort(compareValues); + } + } + break; + } + }; + Acts.prototype.Delete = function (index, axis) + { + var x = 0, y = 0, z = 0; + index = Math.floor(index); + var a = this.arr; + if (index < 0) + return; + switch (axis) { + case 0: // X axis + if (index >= this.cx) + break; + freeArray(a[index]); + a.splice(index, 1); + this.cx--; + break; + case 1: // Y axis + if (index >= this.cy) + break; + for ( ; x < this.cx; x++) + { + freeArray(a[x][index]); + a[x].splice(index, 1); + } + this.cy--; + break; + case 2: // Z axis + if (index >= this.cz) + break; + for ( ; x < this.cx; x++) + { + for (y = 0; y < this.cy; y++) + { + a[x][y].splice(index, 1); + } + } + this.cz--; + break; + } + }; + Acts.prototype.Insert = function (value, index, axis) + { + var x = 0, y = 0, z = 0; + index = Math.floor(index); + var a = this.arr; + if (index < 0) + return; + switch (axis) { + case 0: // X axis + if (index > this.cx) + return; + x = index; + a.splice(x, 0, allocArray()); + a[x].length = this.cy; + for ( ; y < this.cy; y++) + { + a[x][y] = allocArray(); + a[x][y].length = this.cz; + for (z = 0; z < this.cz; z++) + a[x][y][z] = value; + } + this.cx++; + break; + case 1: // Y axis + if (index > this.cy) + return; + for ( ; x < this.cx; x++) + { + y = index; + a[x].splice(y, 0, allocArray()); + a[x][y].length = this.cz; + for (z = 0; z < this.cz; z++) + a[x][y][z] = value; + } + this.cy++; + break; + case 2: // Z axis + if (index > this.cz) + return; + for ( ; x < this.cx; x++) + { + for (y = 0; y < this.cy; y++) + { + a[x][y].splice(index, 0, value); + } + } + this.cz++; + break; + } + }; + Acts.prototype.JSONLoad = function (json_) + { + var o; + try { + o = JSON.parse(json_); + } + catch(e) { return; } + if (!o["c2array"]) // presumably not a c2array object + return; + var sz = o["size"]; + this.cx = sz[0]; + this.cy = sz[1]; + this.cz = sz[2]; + this.arr = o["data"]; + }; + Acts.prototype.JSONDownload = function (filename) + { + var a = document.createElement("a"); + if (typeof a.download === "undefined") + { + var str = 'data:text/html,' + encodeURIComponent("

Download link

"); + window.open(str); + } + else + { + var body = document.getElementsByTagName("body")[0]; + a.textContent = filename; + a.href = "data:application/json," + encodeURIComponent(this.getAsJSON()); + a.download = filename; + body.appendChild(a); + var clickEvent = document.createEvent("MouseEvent"); + clickEvent.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); + a.dispatchEvent(clickEvent); + body.removeChild(a); + } + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.At = function (ret, x, y_, z_) + { + var y = y_ || 0; + var z = z_ || 0; + ret.set_any(this.at(x, y, z)); + }; + Exps.prototype.Width = function (ret) + { + ret.set_int(this.cx); + }; + Exps.prototype.Height = function (ret) + { + ret.set_int(this.cy); + }; + Exps.prototype.Depth = function (ret) + { + ret.set_int(this.cz); + }; + Exps.prototype.CurX = function (ret) + { + ret.set_int(this.getForX()); + }; + Exps.prototype.CurY = function (ret) + { + ret.set_int(this.getForY()); + }; + Exps.prototype.CurZ = function (ret) + { + ret.set_int(this.getForZ()); + }; + Exps.prototype.CurValue = function (ret) + { + ret.set_any(this.at(this.getForX(), this.getForY(), this.getForZ())); + }; + Exps.prototype.Front = function (ret) + { + ret.set_any(this.at(0, 0, 0)); + }; + Exps.prototype.Back = function (ret) + { + ret.set_any(this.at(this.cx - 1, 0, 0)); + }; + Exps.prototype.IndexOf = function (ret, v) + { + for (var i = 0; i < this.cx; i++) + { + if (this.arr[i][0][0] === v) + { + ret.set_int(i); + return; + } + } + ret.set_int(-1); + }; + Exps.prototype.LastIndexOf = function (ret, v) + { + for (var i = this.cx - 1; i >= 0; i--) + { + if (this.arr[i][0][0] === v) + { + ret.set_int(i); + return; + } + } + ret.set_int(-1); + }; + Exps.prototype.AsJSON = function (ret) + { + ret.set_string(this.getAsJSON()); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.Audio = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.Audio.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + var audRuntime = null; + var audInst = null; + var audTag = ""; + var appPath = ""; // for Cordova only + var API_HTML5 = 0; + var API_WEBAUDIO = 1; + var API_CORDOVA = 2; + var API_APPMOBI = 3; + var api = API_HTML5; + var context = null; + var audioBuffers = []; // cache of buffers + var audioInstances = []; // cache of instances + var lastAudio = null; + var useOgg = false; // determined at create time + var timescale_mode = 0; + var silent = false; + var masterVolume = 1; + var listenerX = 0; + var listenerY = 0; + var isContextSuspended = false; + var panningModel = 1; // HRTF + var distanceModel = 1; // Inverse + var refDistance = 10; + var maxDistance = 10000; + var rolloffFactor = 1; + var micSource = null; + var micTag = ""; + var useNextTouchWorkaround = false; // heuristic in case play() does not return a promise and we have to guess if the play was blocked + var playOnNextInput = []; // C2AudioInstances with HTMLAudioElements to play on next input event + var playMusicAsSoundWorkaround = false; // play music tracks with Web Audio API + var hasPlayedDummyBuffer = false; // dummy buffer played to unblock AudioContext on some platforms + function addAudioToPlayOnNextInput(a) + { + var i = playOnNextInput.indexOf(a); + if (i === -1) + playOnNextInput.push(a); + }; + function tryPlayAudioElement(a) + { + var audioElem = a.instanceObject; + var playRet; + try { + playRet = audioElem.play(); + } + catch (err) { + addAudioToPlayOnNextInput(a); + return; + } + if (playRet) // promise was returned + { + playRet.catch(function (err) + { + addAudioToPlayOnNextInput(a); + }); + } + else if (useNextTouchWorkaround && !audRuntime.isInUserInputEvent) + { + addAudioToPlayOnNextInput(a); + } + }; + function playQueuedAudio() + { + var i, len, m, playRet; + if (!hasPlayedDummyBuffer && !isContextSuspended && context) + { + playDummyBuffer(); + if (context["state"] === "running") + hasPlayedDummyBuffer = true; + } + var tryPlay = playOnNextInput.slice(0); + cr.clearArray(playOnNextInput); + if (!silent) + { + for (i = 0, len = tryPlay.length; i < len; ++i) + { + m = tryPlay[i]; + if (!m.stopped && !m.is_paused) + { + playRet = m.instanceObject.play(); + if (playRet) + { + playRet.catch(function (err) + { + addAudioToPlayOnNextInput(m); + }); + } + } + } + } + }; + function playDummyBuffer() + { + if (context["state"] === "suspended" && context["resume"]) + context["resume"](); + if (!context["createBuffer"]) + return; + var buffer = context["createBuffer"](1, 220, 22050); + var source = context["createBufferSource"](); + source["buffer"] = buffer; + source["connect"](context["destination"]); + startSource(source); + }; + document.addEventListener("pointerup", playQueuedAudio, true); + document.addEventListener("touchend", playQueuedAudio, true); + document.addEventListener("click", playQueuedAudio, true); + document.addEventListener("keydown", playQueuedAudio, true); + document.addEventListener("gamepadconnected", playQueuedAudio, true); + function dbToLinear(x) + { + var v = dbToLinear_nocap(x); + if (!isFinite(v)) // accidentally passing a string can result in NaN; set volume to 0 if so + v = 0; + if (v < 0) + v = 0; + if (v > 1) + v = 1; + return v; + }; + function linearToDb(x) + { + if (x < 0) + x = 0; + if (x > 1) + x = 1; + return linearToDb_nocap(x); + }; + function dbToLinear_nocap(x) + { + return Math.pow(10, x / 20); + }; + function linearToDb_nocap(x) + { + return (Math.log(x) / Math.log(10)) * 20; + }; + var effects = {}; + function getDestinationForTag(tag) + { + tag = tag.toLowerCase(); + if (effects.hasOwnProperty(tag)) + { + if (effects[tag].length) + return effects[tag][0].getInputNode(); + } + return context["destination"]; + }; + function createGain() + { + if (context["createGain"]) + return context["createGain"](); + else + return context["createGainNode"](); + }; + function createDelay(d) + { + if (context["createDelay"]) + return context["createDelay"](d); + else + return context["createDelayNode"](d); + }; + function startSource(s, scheduledTime) + { + if (s["start"]) + s["start"](scheduledTime || 0); + else + s["noteOn"](scheduledTime || 0); + }; + function startSourceAt(s, x, d, scheduledTime) + { + if (s["start"]) + s["start"](scheduledTime || 0, x); + else + s["noteGrainOn"](scheduledTime || 0, x, d - x); + }; + function stopSource(s) + { + try { + if (s["stop"]) + s["stop"](0); + else + s["noteOff"](0); + } + catch (e) {} + }; + function setAudioParam(ap, value, ramp, time) + { + if (!ap) + return; // iOS is missing some parameters + ap["cancelScheduledValues"](0); + if (time === 0) + { + ap["value"] = value; + return; + } + var curTime = context["currentTime"]; + time += curTime; + switch (ramp) { + case 0: // step + ap["setValueAtTime"](value, time); + break; + case 1: // linear + ap["setValueAtTime"](ap["value"], curTime); // to set what to ramp from + ap["linearRampToValueAtTime"](value, time); + break; + case 2: // exponential + ap["setValueAtTime"](ap["value"], curTime); // to set what to ramp from + ap["exponentialRampToValueAtTime"](value, time); + break; + } + }; + var filterTypes = ["lowpass", "highpass", "bandpass", "lowshelf", "highshelf", "peaking", "notch", "allpass"]; + function FilterEffect(type, freq, detune, q, gain, mix) + { + this.type = "filter"; + this.params = [type, freq, detune, q, gain, mix]; + this.inputNode = createGain(); + this.wetNode = createGain(); + this.wetNode["gain"]["value"] = mix; + this.dryNode = createGain(); + this.dryNode["gain"]["value"] = 1 - mix; + this.filterNode = context["createBiquadFilter"](); + if (typeof this.filterNode["type"] === "number") + this.filterNode["type"] = type; + else + this.filterNode["type"] = filterTypes[type]; + this.filterNode["frequency"]["value"] = freq; + if (this.filterNode["detune"]) // iOS 6 doesn't have detune yet + this.filterNode["detune"]["value"] = detune; + this.filterNode["Q"]["value"] = q; + this.filterNode["gain"]["value"] = gain; + this.inputNode["connect"](this.filterNode); + this.inputNode["connect"](this.dryNode); + this.filterNode["connect"](this.wetNode); + }; + FilterEffect.prototype.connectTo = function (node) + { + this.wetNode["disconnect"](); + this.wetNode["connect"](node); + this.dryNode["disconnect"](); + this.dryNode["connect"](node); + }; + FilterEffect.prototype.remove = function () + { + this.inputNode["disconnect"](); + this.filterNode["disconnect"](); + this.wetNode["disconnect"](); + this.dryNode["disconnect"](); + }; + FilterEffect.prototype.getInputNode = function () + { + return this.inputNode; + }; + FilterEffect.prototype.setParam = function(param, value, ramp, time) + { + switch (param) { + case 0: // mix + value = value / 100; + if (value < 0) value = 0; + if (value > 1) value = 1; + this.params[5] = value; + setAudioParam(this.wetNode["gain"], value, ramp, time); + setAudioParam(this.dryNode["gain"], 1 - value, ramp, time); + break; + case 1: // filter frequency + this.params[1] = value; + setAudioParam(this.filterNode["frequency"], value, ramp, time); + break; + case 2: // filter detune + this.params[2] = value; + setAudioParam(this.filterNode["detune"], value, ramp, time); + break; + case 3: // filter Q + this.params[3] = value; + setAudioParam(this.filterNode["Q"], value, ramp, time); + break; + case 4: // filter/delay gain (note value is in dB here) + this.params[4] = value; + setAudioParam(this.filterNode["gain"], value, ramp, time); + break; + } + }; + function DelayEffect(delayTime, delayGain, mix) + { + this.type = "delay"; + this.params = [delayTime, delayGain, mix]; + this.inputNode = createGain(); + this.wetNode = createGain(); + this.wetNode["gain"]["value"] = mix; + this.dryNode = createGain(); + this.dryNode["gain"]["value"] = 1 - mix; + this.mainNode = createGain(); + this.delayNode = createDelay(delayTime); + this.delayNode["delayTime"]["value"] = delayTime; + this.delayGainNode = createGain(); + this.delayGainNode["gain"]["value"] = delayGain; + this.inputNode["connect"](this.mainNode); + this.inputNode["connect"](this.dryNode); + this.mainNode["connect"](this.wetNode); + this.mainNode["connect"](this.delayNode); + this.delayNode["connect"](this.delayGainNode); + this.delayGainNode["connect"](this.mainNode); + }; + DelayEffect.prototype.connectTo = function (node) + { + this.wetNode["disconnect"](); + this.wetNode["connect"](node); + this.dryNode["disconnect"](); + this.dryNode["connect"](node); + }; + DelayEffect.prototype.remove = function () + { + this.inputNode["disconnect"](); + this.mainNode["disconnect"](); + this.delayNode["disconnect"](); + this.delayGainNode["disconnect"](); + this.wetNode["disconnect"](); + this.dryNode["disconnect"](); + }; + DelayEffect.prototype.getInputNode = function () + { + return this.inputNode; + }; + DelayEffect.prototype.setParam = function(param, value, ramp, time) + { + switch (param) { + case 0: // mix + value = value / 100; + if (value < 0) value = 0; + if (value > 1) value = 1; + this.params[2] = value; + setAudioParam(this.wetNode["gain"], value, ramp, time); + setAudioParam(this.dryNode["gain"], 1 - value, ramp, time); + break; + case 4: // filter/delay gain (note value is passed in dB but needs to be linear here) + this.params[1] = dbToLinear(value); + setAudioParam(this.delayGainNode["gain"], dbToLinear(value), ramp, time); + break; + case 5: // delay time + this.params[0] = value; + setAudioParam(this.delayNode["delayTime"], value, ramp, time); + break; + } + }; + function ConvolveEffect(buffer, normalize, mix, src) + { + this.type = "convolve"; + this.params = [normalize, mix, src]; + this.inputNode = createGain(); + this.wetNode = createGain(); + this.wetNode["gain"]["value"] = mix; + this.dryNode = createGain(); + this.dryNode["gain"]["value"] = 1 - mix; + this.convolveNode = context["createConvolver"](); + if (buffer) + { + this.convolveNode["normalize"] = normalize; + this.convolveNode["buffer"] = buffer; + } + this.inputNode["connect"](this.convolveNode); + this.inputNode["connect"](this.dryNode); + this.convolveNode["connect"](this.wetNode); + }; + ConvolveEffect.prototype.connectTo = function (node) + { + this.wetNode["disconnect"](); + this.wetNode["connect"](node); + this.dryNode["disconnect"](); + this.dryNode["connect"](node); + }; + ConvolveEffect.prototype.remove = function () + { + this.inputNode["disconnect"](); + this.convolveNode["disconnect"](); + this.wetNode["disconnect"](); + this.dryNode["disconnect"](); + }; + ConvolveEffect.prototype.getInputNode = function () + { + return this.inputNode; + }; + ConvolveEffect.prototype.setParam = function(param, value, ramp, time) + { + switch (param) { + case 0: // mix + value = value / 100; + if (value < 0) value = 0; + if (value > 1) value = 1; + this.params[1] = value; + setAudioParam(this.wetNode["gain"], value, ramp, time); + setAudioParam(this.dryNode["gain"], 1 - value, ramp, time); + break; + } + }; + function FlangerEffect(delay, modulation, freq, feedback, mix) + { + this.type = "flanger"; + this.params = [delay, modulation, freq, feedback, mix]; + this.inputNode = createGain(); + this.dryNode = createGain(); + this.dryNode["gain"]["value"] = 1 - (mix / 2); + this.wetNode = createGain(); + this.wetNode["gain"]["value"] = mix / 2; + this.feedbackNode = createGain(); + this.feedbackNode["gain"]["value"] = feedback; + this.delayNode = createDelay(delay + modulation); + this.delayNode["delayTime"]["value"] = delay; + this.oscNode = context["createOscillator"](); + this.oscNode["frequency"]["value"] = freq; + this.oscGainNode = createGain(); + this.oscGainNode["gain"]["value"] = modulation; + this.inputNode["connect"](this.delayNode); + this.inputNode["connect"](this.dryNode); + this.delayNode["connect"](this.wetNode); + this.delayNode["connect"](this.feedbackNode); + this.feedbackNode["connect"](this.delayNode); + this.oscNode["connect"](this.oscGainNode); + this.oscGainNode["connect"](this.delayNode["delayTime"]); + startSource(this.oscNode); + }; + FlangerEffect.prototype.connectTo = function (node) + { + this.dryNode["disconnect"](); + this.dryNode["connect"](node); + this.wetNode["disconnect"](); + this.wetNode["connect"](node); + }; + FlangerEffect.prototype.remove = function () + { + this.inputNode["disconnect"](); + this.delayNode["disconnect"](); + this.oscNode["disconnect"](); + this.oscGainNode["disconnect"](); + this.dryNode["disconnect"](); + this.wetNode["disconnect"](); + this.feedbackNode["disconnect"](); + }; + FlangerEffect.prototype.getInputNode = function () + { + return this.inputNode; + }; + FlangerEffect.prototype.setParam = function(param, value, ramp, time) + { + switch (param) { + case 0: // mix + value = value / 100; + if (value < 0) value = 0; + if (value > 1) value = 1; + this.params[4] = value; + setAudioParam(this.wetNode["gain"], value / 2, ramp, time); + setAudioParam(this.dryNode["gain"], 1 - (value / 2), ramp, time); + break; + case 6: // modulation + this.params[1] = value / 1000; + setAudioParam(this.oscGainNode["gain"], value / 1000, ramp, time); + break; + case 7: // modulation frequency + this.params[2] = value; + setAudioParam(this.oscNode["frequency"], value, ramp, time); + break; + case 8: // feedback + this.params[3] = value / 100; + setAudioParam(this.feedbackNode["gain"], value / 100, ramp, time); + break; + } + }; + function PhaserEffect(freq, detune, q, modulation, modfreq, mix) + { + this.type = "phaser"; + this.params = [freq, detune, q, modulation, modfreq, mix]; + this.inputNode = createGain(); + this.dryNode = createGain(); + this.dryNode["gain"]["value"] = 1 - (mix / 2); + this.wetNode = createGain(); + this.wetNode["gain"]["value"] = mix / 2; + this.filterNode = context["createBiquadFilter"](); + if (typeof this.filterNode["type"] === "number") + this.filterNode["type"] = 7; // all-pass + else + this.filterNode["type"] = "allpass"; + this.filterNode["frequency"]["value"] = freq; + if (this.filterNode["detune"]) // iOS 6 doesn't have detune yet + this.filterNode["detune"]["value"] = detune; + this.filterNode["Q"]["value"] = q; + this.oscNode = context["createOscillator"](); + this.oscNode["frequency"]["value"] = modfreq; + this.oscGainNode = createGain(); + this.oscGainNode["gain"]["value"] = modulation; + this.inputNode["connect"](this.filterNode); + this.inputNode["connect"](this.dryNode); + this.filterNode["connect"](this.wetNode); + this.oscNode["connect"](this.oscGainNode); + this.oscGainNode["connect"](this.filterNode["frequency"]); + startSource(this.oscNode); + }; + PhaserEffect.prototype.connectTo = function (node) + { + this.dryNode["disconnect"](); + this.dryNode["connect"](node); + this.wetNode["disconnect"](); + this.wetNode["connect"](node); + }; + PhaserEffect.prototype.remove = function () + { + this.inputNode["disconnect"](); + this.filterNode["disconnect"](); + this.oscNode["disconnect"](); + this.oscGainNode["disconnect"](); + this.dryNode["disconnect"](); + this.wetNode["disconnect"](); + }; + PhaserEffect.prototype.getInputNode = function () + { + return this.inputNode; + }; + PhaserEffect.prototype.setParam = function(param, value, ramp, time) + { + switch (param) { + case 0: // mix + value = value / 100; + if (value < 0) value = 0; + if (value > 1) value = 1; + this.params[5] = value; + setAudioParam(this.wetNode["gain"], value / 2, ramp, time); + setAudioParam(this.dryNode["gain"], 1 - (value / 2), ramp, time); + break; + case 1: // filter frequency + this.params[0] = value; + setAudioParam(this.filterNode["frequency"], value, ramp, time); + break; + case 2: // filter detune + this.params[1] = value; + setAudioParam(this.filterNode["detune"], value, ramp, time); + break; + case 3: // filter Q + this.params[2] = value; + setAudioParam(this.filterNode["Q"], value, ramp, time); + break; + case 6: // modulation + this.params[3] = value; + setAudioParam(this.oscGainNode["gain"], value, ramp, time); + break; + case 7: // modulation frequency + this.params[4] = value; + setAudioParam(this.oscNode["frequency"], value, ramp, time); + break; + } + }; + function GainEffect(g) + { + this.type = "gain"; + this.params = [g]; + this.node = createGain(); + this.node["gain"]["value"] = g; + }; + GainEffect.prototype.connectTo = function (node_) + { + this.node["disconnect"](); + this.node["connect"](node_); + }; + GainEffect.prototype.remove = function () + { + this.node["disconnect"](); + }; + GainEffect.prototype.getInputNode = function () + { + return this.node; + }; + GainEffect.prototype.setParam = function(param, value, ramp, time) + { + switch (param) { + case 4: // gain + this.params[0] = dbToLinear(value); + setAudioParam(this.node["gain"], dbToLinear(value), ramp, time); + break; + } + }; + function TremoloEffect(freq, mix) + { + this.type = "tremolo"; + this.params = [freq, mix]; + this.node = createGain(); + this.node["gain"]["value"] = 1 - (mix / 2); + this.oscNode = context["createOscillator"](); + this.oscNode["frequency"]["value"] = freq; + this.oscGainNode = createGain(); + this.oscGainNode["gain"]["value"] = mix / 2; + this.oscNode["connect"](this.oscGainNode); + this.oscGainNode["connect"](this.node["gain"]); + startSource(this.oscNode); + }; + TremoloEffect.prototype.connectTo = function (node_) + { + this.node["disconnect"](); + this.node["connect"](node_); + }; + TremoloEffect.prototype.remove = function () + { + this.oscNode["disconnect"](); + this.oscGainNode["disconnect"](); + this.node["disconnect"](); + }; + TremoloEffect.prototype.getInputNode = function () + { + return this.node; + }; + TremoloEffect.prototype.setParam = function(param, value, ramp, time) + { + switch (param) { + case 0: // mix + value = value / 100; + if (value < 0) value = 0; + if (value > 1) value = 1; + this.params[1] = value; + setAudioParam(this.node["gain"]["value"], 1 - (value / 2), ramp, time); + setAudioParam(this.oscGainNode["gain"]["value"], value / 2, ramp, time); + break; + case 7: // modulation frequency + this.params[0] = value; + setAudioParam(this.oscNode["frequency"], value, ramp, time); + break; + } + }; + function RingModulatorEffect(freq, mix) + { + this.type = "ringmod"; + this.params = [freq, mix]; + this.inputNode = createGain(); + this.wetNode = createGain(); + this.wetNode["gain"]["value"] = mix; + this.dryNode = createGain(); + this.dryNode["gain"]["value"] = 1 - mix; + this.ringNode = createGain(); + this.ringNode["gain"]["value"] = 0; + this.oscNode = context["createOscillator"](); + this.oscNode["frequency"]["value"] = freq; + this.oscNode["connect"](this.ringNode["gain"]); + startSource(this.oscNode); + this.inputNode["connect"](this.ringNode); + this.inputNode["connect"](this.dryNode); + this.ringNode["connect"](this.wetNode); + }; + RingModulatorEffect.prototype.connectTo = function (node_) + { + this.wetNode["disconnect"](); + this.wetNode["connect"](node_); + this.dryNode["disconnect"](); + this.dryNode["connect"](node_); + }; + RingModulatorEffect.prototype.remove = function () + { + this.oscNode["disconnect"](); + this.ringNode["disconnect"](); + this.inputNode["disconnect"](); + this.wetNode["disconnect"](); + this.dryNode["disconnect"](); + }; + RingModulatorEffect.prototype.getInputNode = function () + { + return this.inputNode; + }; + RingModulatorEffect.prototype.setParam = function(param, value, ramp, time) + { + switch (param) { + case 0: // mix + value = value / 100; + if (value < 0) value = 0; + if (value > 1) value = 1; + this.params[1] = value; + setAudioParam(this.wetNode["gain"], value, ramp, time); + setAudioParam(this.dryNode["gain"], 1 - value, ramp, time); + break; + case 7: // modulation frequency + this.params[0] = value; + setAudioParam(this.oscNode["frequency"], value, ramp, time); + break; + } + }; + function DistortionEffect(threshold, headroom, drive, makeupgain, mix) + { + this.type = "distortion"; + this.params = [threshold, headroom, drive, makeupgain, mix]; + this.inputNode = createGain(); + this.preGain = createGain(); + this.postGain = createGain(); + this.setDrive(drive, dbToLinear_nocap(makeupgain)); + this.wetNode = createGain(); + this.wetNode["gain"]["value"] = mix; + this.dryNode = createGain(); + this.dryNode["gain"]["value"] = 1 - mix; + this.waveShaper = context["createWaveShaper"](); + this.curve = new Float32Array(65536); + this.generateColortouchCurve(threshold, headroom); + this.waveShaper.curve = this.curve; + this.inputNode["connect"](this.preGain); + this.inputNode["connect"](this.dryNode); + this.preGain["connect"](this.waveShaper); + this.waveShaper["connect"](this.postGain); + this.postGain["connect"](this.wetNode); + }; + DistortionEffect.prototype.setDrive = function (drive, makeupgain) + { + if (drive < 0.01) + drive = 0.01; + this.preGain["gain"]["value"] = drive; + this.postGain["gain"]["value"] = Math.pow(1 / drive, 0.6) * makeupgain; + }; + function e4(x, k) + { + return 1.0 - Math.exp(-k * x); + } + DistortionEffect.prototype.shape = function (x, linearThreshold, linearHeadroom) + { + var maximum = 1.05 * linearHeadroom * linearThreshold; + var kk = (maximum - linearThreshold); + var sign = x < 0 ? -1 : +1; + var absx = x < 0 ? -x : x; + var shapedInput = absx < linearThreshold ? absx : linearThreshold + kk * e4(absx - linearThreshold, 1.0 / kk); + shapedInput *= sign; + return shapedInput; + }; + DistortionEffect.prototype.generateColortouchCurve = function (threshold, headroom) + { + var linearThreshold = dbToLinear_nocap(threshold); + var linearHeadroom = dbToLinear_nocap(headroom); + var n = 65536; + var n2 = n / 2; + var x = 0; + for (var i = 0; i < n2; ++i) { + x = i / n2; + x = this.shape(x, linearThreshold, linearHeadroom); + this.curve[n2 + i] = x; + this.curve[n2 - i - 1] = -x; + } + }; + DistortionEffect.prototype.connectTo = function (node) + { + this.wetNode["disconnect"](); + this.wetNode["connect"](node); + this.dryNode["disconnect"](); + this.dryNode["connect"](node); + }; + DistortionEffect.prototype.remove = function () + { + this.inputNode["disconnect"](); + this.preGain["disconnect"](); + this.waveShaper["disconnect"](); + this.postGain["disconnect"](); + this.wetNode["disconnect"](); + this.dryNode["disconnect"](); + }; + DistortionEffect.prototype.getInputNode = function () + { + return this.inputNode; + }; + DistortionEffect.prototype.setParam = function(param, value, ramp, time) + { + switch (param) { + case 0: // mix + value = value / 100; + if (value < 0) value = 0; + if (value > 1) value = 1; + this.params[4] = value; + setAudioParam(this.wetNode["gain"], value, ramp, time); + setAudioParam(this.dryNode["gain"], 1 - value, ramp, time); + break; + } + }; + function CompressorEffect(threshold, knee, ratio, attack, release) + { + this.type = "compressor"; + this.params = [threshold, knee, ratio, attack, release]; + this.node = context["createDynamicsCompressor"](); + try { + this.node["threshold"]["value"] = threshold; + this.node["knee"]["value"] = knee; + this.node["ratio"]["value"] = ratio; + this.node["attack"]["value"] = attack; + this.node["release"]["value"] = release; + } + catch (e) {} + }; + CompressorEffect.prototype.connectTo = function (node_) + { + this.node["disconnect"](); + this.node["connect"](node_); + }; + CompressorEffect.prototype.remove = function () + { + this.node["disconnect"](); + }; + CompressorEffect.prototype.getInputNode = function () + { + return this.node; + }; + CompressorEffect.prototype.setParam = function(param, value, ramp, time) + { + }; + function AnalyserEffect(fftSize, smoothing) + { + this.type = "analyser"; + this.params = [fftSize, smoothing]; + this.node = context["createAnalyser"](); + this.node["fftSize"] = fftSize; + this.node["smoothingTimeConstant"] = smoothing; + this.freqBins = new Float32Array(this.node["frequencyBinCount"]); + this.signal = new Uint8Array(fftSize); + this.peak = 0; + this.rms = 0; + }; + AnalyserEffect.prototype.tick = function () + { + this.node["getFloatFrequencyData"](this.freqBins); + this.node["getByteTimeDomainData"](this.signal); + var fftSize = this.node["fftSize"]; + var i = 0; + this.peak = 0; + var rmsSquaredSum = 0; + var s = 0; + for ( ; i < fftSize; i++) + { + s = (this.signal[i] - 128) / 128; + if (s < 0) + s = -s; + if (this.peak < s) + this.peak = s; + rmsSquaredSum += s * s; + } + this.peak = linearToDb(this.peak); + this.rms = linearToDb(Math.sqrt(rmsSquaredSum / fftSize)); + }; + AnalyserEffect.prototype.connectTo = function (node_) + { + this.node["disconnect"](); + this.node["connect"](node_); + }; + AnalyserEffect.prototype.remove = function () + { + this.node["disconnect"](); + }; + AnalyserEffect.prototype.getInputNode = function () + { + return this.node; + }; + AnalyserEffect.prototype.setParam = function(param, value, ramp, time) + { + }; + function ObjectTracker() + { + this.obj = null; + this.loadUid = 0; + }; + ObjectTracker.prototype.setObject = function (obj_) + { + this.obj = obj_; + }; + ObjectTracker.prototype.hasObject = function () + { + return !!this.obj; + }; + ObjectTracker.prototype.tick = function (dt) + { + }; + function C2AudioBuffer(src_, is_music) + { + this.src = src_; + this.myapi = api; + this.is_music = is_music; + this.added_end_listener = false; + var self = this; + this.outNode = null; + this.mediaSourceNode = null; + this.panWhenReady = []; // for web audio API positioned sounds + this.seekWhenReady = 0; + this.pauseWhenReady = false; + this.supportWebAudioAPI = false; + this.failedToLoad = false; + this.wasEverReady = false; // if a buffer is ever marked as ready, it's permanently considered ready after then. + if (api === API_WEBAUDIO && is_music && !playMusicAsSoundWorkaround) + { + this.myapi = API_HTML5; + this.outNode = createGain(); + } + this.bufferObject = null; // actual audio object + this.audioData = null; // web audio api: ajax request result (compressed audio that needs decoding) + var request; + switch (this.myapi) { + case API_HTML5: + this.bufferObject = new Audio(); + this.bufferObject.crossOrigin = "anonymous"; + this.bufferObject.addEventListener("canplaythrough", function () { + self.wasEverReady = true; // update loaded state so preload is considered complete + }); + if (api === API_WEBAUDIO && context["createMediaElementSource"] && !/wiiu/i.test(navigator.userAgent)) + { + this.supportWebAudioAPI = true; // can be routed through web audio api + this.bufferObject.addEventListener("canplay", function () + { + if (!self.mediaSourceNode && self.bufferObject) + { + self.mediaSourceNode = context["createMediaElementSource"](self.bufferObject); + self.mediaSourceNode["connect"](self.outNode); + } + }); + } + this.bufferObject.autoplay = false; // this is only a source buffer, not an instance + this.bufferObject.preload = "auto"; + this.bufferObject.src = src_; + break; + case API_WEBAUDIO: + if (audRuntime.isWKWebView) + { + audRuntime.fetchLocalFileViaCordovaAsArrayBuffer(src_, function (arrayBuffer) + { + self.audioData = arrayBuffer; + self.decodeAudioBuffer(); + }, function (err) + { + self.failedToLoad = true; + }); + } + else + { + request = new XMLHttpRequest(); + request.open("GET", src_, true); + request.responseType = "arraybuffer"; + request.onload = function () { + self.audioData = request.response; + self.decodeAudioBuffer(); + }; + request.onerror = function () { + self.failedToLoad = true; + }; + request.send(); + } + break; + case API_CORDOVA: + this.bufferObject = true; + break; + case API_APPMOBI: + this.bufferObject = true; + break; + } + }; + C2AudioBuffer.prototype.release = function () + { + var i, len, j, a; + for (i = 0, j = 0, len = audioInstances.length; i < len; ++i) + { + a = audioInstances[i]; + audioInstances[j] = a; + if (a.buffer === this) + a.stop(); + else + ++j; // keep + } + audioInstances.length = j; + if (this.mediaSourceNode) + { + this.mediaSourceNode["disconnect"](); + this.mediaSourceNode = null; + } + if (this.outNode) + { + this.outNode["disconnect"](); + this.outNode = null; + } + this.bufferObject = null; + this.audioData = null; + }; + C2AudioBuffer.prototype.decodeAudioBuffer = function () + { + if (this.bufferObject || !this.audioData) + return; // audio already decoded or AJAX request not yet complete + var self = this; + if (context["decodeAudioData"]) + { + context["decodeAudioData"](this.audioData, function (buffer) { + self.bufferObject = buffer; + self.audioData = null; // clear AJAX response to allow GC and save memory, only need the bufferObject now + var p, i, len, a; + if (!cr.is_undefined(self.playTagWhenReady) && !silent) + { + if (self.panWhenReady.length) + { + for (i = 0, len = self.panWhenReady.length; i < len; i++) + { + p = self.panWhenReady[i]; + a = new C2AudioInstance(self, p.thistag); + a.setPannerEnabled(true); + if (typeof p.objUid !== "undefined") + { + p.obj = audRuntime.getObjectByUID(p.objUid); + if (!p.obj) + continue; + } + if (p.obj) + { + var px = cr.rotatePtAround(p.obj.x, p.obj.y, -p.obj.layer.getAngle(), listenerX, listenerY, true); + var py = cr.rotatePtAround(p.obj.x, p.obj.y, -p.obj.layer.getAngle(), listenerX, listenerY, false); + a.setPan(px, py, cr.to_degrees(p.obj.angle - p.obj.layer.getAngle()), p.ia, p.oa, p.og); + a.setObject(p.obj); + } + else + { + a.setPan(p.x, p.y, p.a, p.ia, p.oa, p.og); + } + a.play(self.loopWhenReady, self.volumeWhenReady, self.seekWhenReady); + if (self.pauseWhenReady) + a.pause(); + audioInstances.push(a); + } + cr.clearArray(self.panWhenReady); + } + else + { + a = new C2AudioInstance(self, self.playTagWhenReady || ""); // sometimes playTagWhenReady is not set - TODO: why? + a.play(self.loopWhenReady, self.volumeWhenReady, self.seekWhenReady); + if (self.pauseWhenReady) + a.pause(); + audioInstances.push(a); + } + } + else if (!cr.is_undefined(self.convolveWhenReady)) + { + var convolveNode = self.convolveWhenReady.convolveNode; + convolveNode["normalize"] = self.normalizeWhenReady; + convolveNode["buffer"] = buffer; + } + }, function (e) { + self.failedToLoad = true; + }); + } + else + { + this.bufferObject = context["createBuffer"](this.audioData, false); + this.audioData = null; // clear AJAX response to allow GC and save memory, only need the bufferObject now + if (!cr.is_undefined(this.playTagWhenReady) && !silent) + { + var a = new C2AudioInstance(this, this.playTagWhenReady); + a.play(this.loopWhenReady, this.volumeWhenReady, this.seekWhenReady); + if (this.pauseWhenReady) + a.pause(); + audioInstances.push(a); + } + else if (!cr.is_undefined(this.convolveWhenReady)) + { + var convolveNode = this.convolveWhenReady.convolveNode; + convolveNode["normalize"] = this.normalizeWhenReady; + convolveNode["buffer"] = this.bufferObject; + } + } + }; + C2AudioBuffer.prototype.isLoaded = function () + { + switch (this.myapi) { + case API_HTML5: + var ret = this.bufferObject["readyState"] >= 4; // HAVE_ENOUGH_DATA + if (ret) + this.wasEverReady = true; + return ret || this.wasEverReady; + case API_WEBAUDIO: + return !!this.audioData || !!this.bufferObject; + case API_CORDOVA: + return true; + case API_APPMOBI: + return true; + } + return false; + }; + C2AudioBuffer.prototype.isLoadedAndDecoded = function () + { + switch (this.myapi) { + case API_HTML5: + return this.isLoaded(); // no distinction between loaded and decoded in HTML5 audio, just rely on ready state + case API_WEBAUDIO: + return !!this.bufferObject; + case API_CORDOVA: + return true; + case API_APPMOBI: + return true; + } + return false; + }; + C2AudioBuffer.prototype.hasFailedToLoad = function () + { + switch (this.myapi) { + case API_HTML5: + return !!this.bufferObject["error"]; + case API_WEBAUDIO: + return this.failedToLoad; + } + return false; + }; + function C2AudioInstance(buffer_, tag_) + { + var self = this; + this.tag = tag_; + this.fresh = true; + this.stopped = true; + this.src = buffer_.src; + this.buffer = buffer_; + this.myapi = api; + this.is_music = buffer_.is_music; + this.playbackRate = 1; + this.hasPlaybackEnded = true; // ended flag + this.resume_me = false; // make sure resumes when leaving suspend + this.is_paused = false; + this.resume_position = 0; // for web audio api to resume from correct playback position + this.looping = false; + this.is_muted = false; + this.is_silent = false; + this.volume = 1; + this.onended_handler = function (e) + { + if (self.is_paused || self.resume_me) + return; + var bufferThatEnded = this; + if (!bufferThatEnded) + bufferThatEnded = e.target; + if (bufferThatEnded !== self.active_buffer) + return; + self.hasPlaybackEnded = true; + self.stopped = true; + audTag = self.tag; + audRuntime.trigger(cr.plugins_.Audio.prototype.cnds.OnEnded, audInst); + }; + this.active_buffer = null; + this.isTimescaled = ((timescale_mode === 1 && !this.is_music) || timescale_mode === 2); + this.mutevol = 1; + this.startTime = (this.isTimescaled ? audRuntime.kahanTime.sum : audRuntime.wallTime.sum); + this.gainNode = null; + this.pannerNode = null; + this.pannerEnabled = false; + this.objectTracker = null; + this.panX = 0; + this.panY = 0; + this.panAngle = 0; + this.panConeInner = 0; + this.panConeOuter = 0; + this.panConeOuterGain = 0; + this.instanceObject = null; + var add_end_listener = false; + if (this.myapi === API_WEBAUDIO && this.buffer.myapi === API_HTML5 && !this.buffer.supportWebAudioAPI) + this.myapi = API_HTML5; + switch (this.myapi) { + case API_HTML5: + if (this.is_music) + { + this.instanceObject = buffer_.bufferObject; + add_end_listener = !buffer_.added_end_listener; + buffer_.added_end_listener = true; + } + else + { + this.instanceObject = new Audio(); + this.instanceObject.crossOrigin = "anonymous"; + this.instanceObject.autoplay = false; + this.instanceObject.src = buffer_.bufferObject.src; + add_end_listener = true; + } + if (add_end_listener) + { + this.instanceObject.addEventListener('ended', function () { + audTag = self.tag; + self.stopped = true; + audRuntime.trigger(cr.plugins_.Audio.prototype.cnds.OnEnded, audInst); + }); + } + break; + case API_WEBAUDIO: + this.gainNode = createGain(); + this.gainNode["connect"](getDestinationForTag(tag_)); + if (this.buffer.myapi === API_WEBAUDIO) + { + if (buffer_.bufferObject) + { + this.instanceObject = context["createBufferSource"](); + this.instanceObject["buffer"] = buffer_.bufferObject; + this.instanceObject["connect"](this.gainNode); + } + } + else + { + this.instanceObject = this.buffer.bufferObject; // reference the audio element + this.buffer.outNode["connect"](this.gainNode); + if (!this.buffer.added_end_listener) + { + this.buffer.added_end_listener = true; + this.buffer.bufferObject.addEventListener('ended', function () { + audTag = self.tag; + self.stopped = true; + audRuntime.trigger(cr.plugins_.Audio.prototype.cnds.OnEnded, audInst); + }); + } + } + break; + case API_CORDOVA: + this.instanceObject = new window["Media"](appPath + this.src, null, null, function (status) { + if (status === window["Media"]["MEDIA_STOPPED"]) + { + self.hasPlaybackEnded = true; + self.stopped = true; + audTag = self.tag; + audRuntime.trigger(cr.plugins_.Audio.prototype.cnds.OnEnded, audInst); + } + }); + break; + case API_APPMOBI: + this.instanceObject = true; + break; + } + }; + C2AudioInstance.prototype.hasEnded = function () + { + var time; + switch (this.myapi) { + case API_HTML5: + return this.instanceObject.ended; + case API_WEBAUDIO: + if (this.buffer.myapi === API_WEBAUDIO) + { + if (!this.fresh && !this.stopped && this.instanceObject["loop"]) + return false; + if (this.is_paused) + return false; + return this.hasPlaybackEnded; + } + else + return this.instanceObject.ended; + case API_CORDOVA: + return this.hasPlaybackEnded; + case API_APPMOBI: + true; // recycling an AppMobi sound does not matter because it will just do another throwaway playSound + } + return true; + }; + C2AudioInstance.prototype.canBeRecycled = function () + { + if (this.fresh || this.stopped) + return true; // not yet used or is not playing + return this.hasEnded(); + }; + C2AudioInstance.prototype.setPannerEnabled = function (enable_) + { + if (api !== API_WEBAUDIO) + return; + if (!this.pannerEnabled && enable_) + { + if (!this.gainNode) + return; + if (!this.pannerNode) + { + this.pannerNode = context["createPanner"](); + if (typeof this.pannerNode["panningModel"] === "number") + this.pannerNode["panningModel"] = panningModel; + else + this.pannerNode["panningModel"] = ["equalpower", "HRTF", "soundfield"][panningModel]; + if (typeof this.pannerNode["distanceModel"] === "number") + this.pannerNode["distanceModel"] = distanceModel; + else + this.pannerNode["distanceModel"] = ["linear", "inverse", "exponential"][distanceModel]; + this.pannerNode["refDistance"] = refDistance; + this.pannerNode["maxDistance"] = maxDistance; + this.pannerNode["rolloffFactor"] = rolloffFactor; + } + this.gainNode["disconnect"](); + this.gainNode["connect"](this.pannerNode); + this.pannerNode["connect"](getDestinationForTag(this.tag)); + this.pannerEnabled = true; + } + else if (this.pannerEnabled && !enable_) + { + if (!this.gainNode) + return; + this.pannerNode["disconnect"](); + this.gainNode["disconnect"](); + this.gainNode["connect"](getDestinationForTag(this.tag)); + this.pannerEnabled = false; + } + }; + C2AudioInstance.prototype.setPan = function (x, y, angle, innerangle, outerangle, outergain) + { + if (!this.pannerEnabled || api !== API_WEBAUDIO) + return; + this.pannerNode["setPosition"](x, y, 0); + this.pannerNode["setOrientation"](Math.cos(cr.to_radians(angle)), Math.sin(cr.to_radians(angle)), 0); + this.pannerNode["coneInnerAngle"] = innerangle; + this.pannerNode["coneOuterAngle"] = outerangle; + this.pannerNode["coneOuterGain"] = outergain; + this.panX = x; + this.panY = y; + this.panAngle = angle; + this.panConeInner = innerangle; + this.panConeOuter = outerangle; + this.panConeOuterGain = outergain; + }; + C2AudioInstance.prototype.setObject = function (o) + { + if (!this.pannerEnabled || api !== API_WEBAUDIO) + return; + if (!this.objectTracker) + this.objectTracker = new ObjectTracker(); + this.objectTracker.setObject(o); + }; + C2AudioInstance.prototype.tick = function (dt) + { + if (!this.pannerEnabled || api !== API_WEBAUDIO || !this.objectTracker || !this.objectTracker.hasObject() || !this.isPlaying()) + { + return; + } + this.objectTracker.tick(dt); + var inst = this.objectTracker.obj; + var px = cr.rotatePtAround(inst.x, inst.y, -inst.layer.getAngle(), listenerX, listenerY, true); + var py = cr.rotatePtAround(inst.x, inst.y, -inst.layer.getAngle(), listenerX, listenerY, false); + this.pannerNode["setPosition"](px, py, 0); + var a = 0; + if (typeof this.objectTracker.obj.angle !== "undefined") + { + a = inst.angle - inst.layer.getAngle(); + this.pannerNode["setOrientation"](Math.cos(a), Math.sin(a), 0); + } + }; + C2AudioInstance.prototype.play = function (looping, vol, fromPosition, scheduledTime) + { + var instobj = this.instanceObject; + this.looping = looping; + this.volume = vol; + var seekPos = fromPosition || 0; + scheduledTime = scheduledTime || 0; + switch (this.myapi) { + case API_HTML5: + if (instobj.playbackRate !== 1.0) + instobj.playbackRate = 1.0; + if (instobj.volume !== vol * masterVolume) + instobj.volume = vol * masterVolume; + if (instobj.loop !== looping) + instobj.loop = looping; + if (instobj.muted) + instobj.muted = false; + if (instobj.currentTime !== seekPos) + { + try { + instobj.currentTime = seekPos; + } + catch (err) + { +; + } + } + tryPlayAudioElement(this); + break; + case API_WEBAUDIO: + this.muted = false; + this.mutevol = 1; + if (this.buffer.myapi === API_WEBAUDIO) + { + this.gainNode["gain"]["value"] = vol * masterVolume; + if (!this.fresh) + { + this.instanceObject = context["createBufferSource"](); + this.instanceObject["buffer"] = this.buffer.bufferObject; + this.instanceObject["connect"](this.gainNode); + } + this.instanceObject["onended"] = this.onended_handler; + this.active_buffer = this.instanceObject; + this.instanceObject.loop = looping; + this.hasPlaybackEnded = false; + if (seekPos === 0) + startSource(this.instanceObject, scheduledTime); + else + startSourceAt(this.instanceObject, seekPos, this.getDuration(), scheduledTime); + } + else + { + if (instobj.playbackRate !== 1.0) + instobj.playbackRate = 1.0; + if (instobj.loop !== looping) + instobj.loop = looping; + instobj.volume = vol * masterVolume; + if (instobj.currentTime !== seekPos) + { + try { + instobj.currentTime = seekPos; + } + catch (err) + { +; + } + } + tryPlayAudioElement(this); + } + break; + case API_CORDOVA: + if ((!this.fresh && this.stopped) || seekPos !== 0) + instobj["seekTo"](seekPos); + instobj["play"](); + this.hasPlaybackEnded = false; + break; + case API_APPMOBI: + if (audRuntime.isDirectCanvas) + AppMobi["context"]["playSound"](this.src, looping); + else + AppMobi["player"]["playSound"](this.src, looping); + break; + } + this.playbackRate = 1; + this.startTime = (this.isTimescaled ? audRuntime.kahanTime.sum : audRuntime.wallTime.sum) - seekPos; + this.fresh = false; + this.stopped = false; + this.is_paused = false; + }; + C2AudioInstance.prototype.stop = function () + { + switch (this.myapi) { + case API_HTML5: + if (!this.instanceObject.paused) + this.instanceObject.pause(); + break; + case API_WEBAUDIO: + if (this.buffer.myapi === API_WEBAUDIO) + stopSource(this.instanceObject); + else + { + if (!this.instanceObject.paused) + this.instanceObject.pause(); + } + break; + case API_CORDOVA: + this.instanceObject["stop"](); + break; + case API_APPMOBI: + if (audRuntime.isDirectCanvas) + AppMobi["context"]["stopSound"](this.src); + break; + } + this.stopped = true; + this.is_paused = false; + }; + C2AudioInstance.prototype.pause = function () + { + if (this.fresh || this.stopped || this.hasEnded() || this.is_paused) + return; + switch (this.myapi) { + case API_HTML5: + if (!this.instanceObject.paused) + this.instanceObject.pause(); + break; + case API_WEBAUDIO: + if (this.buffer.myapi === API_WEBAUDIO) + { + this.resume_position = this.getPlaybackTime(true); + if (this.looping) + this.resume_position = this.resume_position % this.getDuration(); + this.is_paused = true; + stopSource(this.instanceObject); + } + else + { + if (!this.instanceObject.paused) + this.instanceObject.pause(); + } + break; + case API_CORDOVA: + this.instanceObject["pause"](); + break; + case API_APPMOBI: + if (audRuntime.isDirectCanvas) + AppMobi["context"]["stopSound"](this.src); + break; + } + this.is_paused = true; + }; + C2AudioInstance.prototype.resume = function () + { + if (this.fresh || this.stopped || this.hasEnded() || !this.is_paused) + return; + switch (this.myapi) { + case API_HTML5: + tryPlayAudioElement(this); + break; + case API_WEBAUDIO: + if (this.buffer.myapi === API_WEBAUDIO) + { + this.instanceObject = context["createBufferSource"](); + this.instanceObject["buffer"] = this.buffer.bufferObject; + this.instanceObject["connect"](this.gainNode); + this.instanceObject["onended"] = this.onended_handler; + this.active_buffer = this.instanceObject; + this.instanceObject.loop = this.looping; + this.gainNode["gain"]["value"] = masterVolume * this.volume * this.mutevol; + this.updatePlaybackRate(); + this.startTime = (this.isTimescaled ? audRuntime.kahanTime.sum : audRuntime.wallTime.sum) - (this.resume_position / (this.playbackRate || 0.001)); + startSourceAt(this.instanceObject, this.resume_position, this.getDuration()); + } + else + { + tryPlayAudioElement(this); + } + break; + case API_CORDOVA: + this.instanceObject["play"](); + break; + case API_APPMOBI: + if (audRuntime.isDirectCanvas) + AppMobi["context"]["resumeSound"](this.src); + break; + } + this.is_paused = false; + }; + C2AudioInstance.prototype.seek = function (pos) + { + if (this.fresh || this.stopped || this.hasEnded()) + return; + switch (this.myapi) { + case API_HTML5: + try { + this.instanceObject.currentTime = pos; + } + catch (e) {} + break; + case API_WEBAUDIO: + if (this.buffer.myapi === API_WEBAUDIO) + { + if (this.is_paused) + this.resume_position = pos; + else + { + this.pause(); + this.resume_position = pos; + this.resume(); + } + } + else + { + try { + this.instanceObject.currentTime = pos; + } + catch (e) {} + } + break; + case API_CORDOVA: + break; + case API_APPMOBI: + if (audRuntime.isDirectCanvas) + AppMobi["context"]["seekSound"](this.src, pos); + break; + } + }; + C2AudioInstance.prototype.reconnect = function (toNode) + { + if (this.myapi !== API_WEBAUDIO) + return; + if (this.pannerEnabled) + { + this.pannerNode["disconnect"](); + this.pannerNode["connect"](toNode); + } + else + { + this.gainNode["disconnect"](); + this.gainNode["connect"](toNode); + } + }; + C2AudioInstance.prototype.getDuration = function (applyPlaybackRate) + { + var ret = 0; + switch (this.myapi) { + case API_HTML5: + if (typeof this.instanceObject.duration !== "undefined") + ret = this.instanceObject.duration; + break; + case API_WEBAUDIO: + ret = this.buffer.bufferObject["duration"]; + break; + case API_CORDOVA: + ret = this.instanceObject["getDuration"](); + break; + case API_APPMOBI: + if (audRuntime.isDirectCanvas) + ret = AppMobi["context"]["getDurationSound"](this.src); + break; + } + if (applyPlaybackRate) + ret /= (this.playbackRate || 0.001); // avoid divide-by-zero + return ret; + }; + C2AudioInstance.prototype.getPlaybackTime = function (applyPlaybackRate) + { + var duration = this.getDuration(); + var ret = 0; + switch (this.myapi) { + case API_HTML5: + if (typeof this.instanceObject.currentTime !== "undefined") + ret = this.instanceObject.currentTime; + break; + case API_WEBAUDIO: + if (this.buffer.myapi === API_WEBAUDIO) + { + if (this.is_paused) + return this.resume_position; + else + ret = (this.isTimescaled ? audRuntime.kahanTime.sum : audRuntime.wallTime.sum) - this.startTime; + } + else if (typeof this.instanceObject.currentTime !== "undefined") + ret = this.instanceObject.currentTime; + break; + case API_CORDOVA: + break; + case API_APPMOBI: + if (audRuntime.isDirectCanvas) + ret = AppMobi["context"]["getPlaybackTimeSound"](this.src); + break; + } + if (applyPlaybackRate) + ret *= this.playbackRate; + if (!this.looping && ret > duration) + ret = duration; + return ret; + }; + C2AudioInstance.prototype.isPlaying = function () + { + return !this.is_paused && !this.fresh && !this.stopped && !this.hasEnded(); + }; + C2AudioInstance.prototype.shouldSave = function () + { + return !this.fresh && !this.stopped && !this.hasEnded(); + }; + C2AudioInstance.prototype.setVolume = function (v) + { + this.volume = v; + this.updateVolume(); + }; + C2AudioInstance.prototype.updateVolume = function () + { + var volToSet = this.volume * masterVolume; + if (!isFinite(volToSet)) + volToSet = 0; // HTMLMediaElement throws if setting non-finite volume + switch (this.myapi) { + case API_HTML5: + if (typeof this.instanceObject.volume !== "undefined" && this.instanceObject.volume !== volToSet) + this.instanceObject.volume = volToSet; + break; + case API_WEBAUDIO: + if (this.buffer.myapi === API_WEBAUDIO) + { + this.gainNode["gain"]["value"] = volToSet * this.mutevol; + } + else + { + if (typeof this.instanceObject.volume !== "undefined" && this.instanceObject.volume !== volToSet) + this.instanceObject.volume = volToSet; + } + break; + case API_CORDOVA: + break; + case API_APPMOBI: + break; + } + }; + C2AudioInstance.prototype.getVolume = function () + { + return this.volume; + }; + C2AudioInstance.prototype.doSetMuted = function (m) + { + switch (this.myapi) { + case API_HTML5: + if (this.instanceObject.muted !== !!m) + this.instanceObject.muted = !!m; + break; + case API_WEBAUDIO: + if (this.buffer.myapi === API_WEBAUDIO) + { + this.mutevol = (m ? 0 : 1); + this.gainNode["gain"]["value"] = masterVolume * this.volume * this.mutevol; + } + else + { + if (this.instanceObject.muted !== !!m) + this.instanceObject.muted = !!m; + } + break; + case API_CORDOVA: + break; + case API_APPMOBI: + break; + } + }; + C2AudioInstance.prototype.setMuted = function (m) + { + this.is_muted = !!m; + this.doSetMuted(this.is_muted || this.is_silent); + }; + C2AudioInstance.prototype.setSilent = function (m) + { + this.is_silent = !!m; + this.doSetMuted(this.is_muted || this.is_silent); + }; + C2AudioInstance.prototype.setLooping = function (l) + { + this.looping = l; + switch (this.myapi) { + case API_HTML5: + if (this.instanceObject.loop !== !!l) + this.instanceObject.loop = !!l; + break; + case API_WEBAUDIO: + if (this.instanceObject.loop !== !!l) + this.instanceObject.loop = !!l; + break; + case API_CORDOVA: + break; + case API_APPMOBI: + if (audRuntime.isDirectCanvas) + AppMobi["context"]["setLoopingSound"](this.src, l); + break; + } + }; + C2AudioInstance.prototype.setPlaybackRate = function (r) + { + this.playbackRate = r; + this.updatePlaybackRate(); + }; + C2AudioInstance.prototype.updatePlaybackRate = function () + { + var r = this.playbackRate; + if (this.isTimescaled) + r *= audRuntime.timescale; + switch (this.myapi) { + case API_HTML5: + if (this.instanceObject.playbackRate !== r) + this.instanceObject.playbackRate = r; + break; + case API_WEBAUDIO: + if (this.buffer.myapi === API_WEBAUDIO) + { + if (this.instanceObject["playbackRate"]["value"] !== r) + this.instanceObject["playbackRate"]["value"] = r; + } + else + { + if (this.instanceObject.playbackRate !== r) + this.instanceObject.playbackRate = r; + } + break; + case API_CORDOVA: + break; + case API_APPMOBI: + break; + } + }; + C2AudioInstance.prototype.setSuspended = function (s) + { + switch (this.myapi) { + case API_HTML5: + if (s) + { + if (this.isPlaying()) + { + this.resume_me = true; + this.instanceObject["pause"](); + } + else + this.resume_me = false; + } + else + { + if (this.resume_me) + { + this.instanceObject["play"](); + this.resume_me = false; + } + } + break; + case API_WEBAUDIO: + if (s) + { + if (this.isPlaying()) + { + this.resume_me = true; + if (this.buffer.myapi === API_WEBAUDIO) + { + this.resume_position = this.getPlaybackTime(true); + if (this.looping) + this.resume_position = this.resume_position % this.getDuration(); + stopSource(this.instanceObject); + } + else + this.instanceObject["pause"](); + } + else + this.resume_me = false; + } + else + { + if (this.resume_me) + { + if (this.buffer.myapi === API_WEBAUDIO) + { + this.instanceObject = context["createBufferSource"](); + this.instanceObject["buffer"] = this.buffer.bufferObject; + this.instanceObject["connect"](this.gainNode); + this.instanceObject["onended"] = this.onended_handler; + this.active_buffer = this.instanceObject; + this.instanceObject.loop = this.looping; + this.gainNode["gain"]["value"] = masterVolume * this.volume * this.mutevol; + this.updatePlaybackRate(); + this.startTime = (this.isTimescaled ? audRuntime.kahanTime.sum : audRuntime.wallTime.sum) - (this.resume_position / (this.playbackRate || 0.001)); + startSourceAt(this.instanceObject, this.resume_position, this.getDuration()); + } + else + { + this.instanceObject["play"](); + } + this.resume_me = false; + } + } + break; + case API_CORDOVA: + if (s) + { + if (this.isPlaying()) + { + this.instanceObject["pause"](); + this.resume_me = true; + } + else + this.resume_me = false; + } + else + { + if (this.resume_me) + { + this.resume_me = false; + this.instanceObject["play"](); + } + } + break; + case API_APPMOBI: + break; + } + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + audRuntime = this.runtime; + audInst = this; + this.listenerTracker = null; + this.listenerZ = -600; + if (this.runtime.isWKWebView) + playMusicAsSoundWorkaround = true; + if ((this.runtime.isiOS || (this.runtime.isAndroid && (this.runtime.isChrome || this.runtime.isAndroidStockBrowser))) && !this.runtime.isCrosswalk && !this.runtime.isDomFree && !this.runtime.isAmazonWebApp && !playMusicAsSoundWorkaround) + { + useNextTouchWorkaround = true; + } + context = null; + if (typeof AudioContext !== "undefined") + { + api = API_WEBAUDIO; + context = new AudioContext(); + } + else if (typeof webkitAudioContext !== "undefined") + { + api = API_WEBAUDIO; + context = new webkitAudioContext(); + } + if (this.runtime.isiOS && context) + { + if (context.close) + context.close(); + if (typeof AudioContext !== "undefined") + context = new AudioContext(); + else if (typeof webkitAudioContext !== "undefined") + context = new webkitAudioContext(); + } + if (api !== API_WEBAUDIO) + { + if (this.runtime.isCordova && typeof window["Media"] !== "undefined") + api = API_CORDOVA; + else if (this.runtime.isAppMobi) + api = API_APPMOBI; + } + if (api === API_CORDOVA) + { + appPath = location.href; + var i = appPath.lastIndexOf("/"); + if (i > -1) + appPath = appPath.substr(0, i + 1); + appPath = appPath.replace("file://", ""); + } + if (this.runtime.isSafari && this.runtime.isWindows && typeof Audio === "undefined") + { + alert("It looks like you're using Safari for Windows without Quicktime. Audio cannot be played until Quicktime is installed."); + this.runtime.DestroyInstance(this); + } + else + { + if (this.runtime.isDirectCanvas) + useOgg = this.runtime.isAndroid; // AAC on iOS, OGG on Android + else + { + try { + useOgg = !!(new Audio().canPlayType('audio/ogg; codecs="vorbis"')) && + !this.runtime.isWindows10; + } + catch (e) + { + useOgg = false; + } + } + switch (api) { + case API_HTML5: +; + break; + case API_WEBAUDIO: +; + break; + case API_CORDOVA: +; + break; + case API_APPMOBI: +; + break; + default: +; + } + this.runtime.tickMe(this); + } + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function () + { + this.runtime.audioInstance = this; + timescale_mode = this.properties[0]; // 0 = off, 1 = sounds only, 2 = all + this.saveload = this.properties[1]; // 0 = all, 1 = sounds only, 2 = music only, 3 = none + this.playinbackground = (this.properties[2] !== 0); + this.nextPlayTime = 0; + panningModel = this.properties[3]; // 0 = equalpower, 1 = hrtf, 3 = soundfield + distanceModel = this.properties[4]; // 0 = linear, 1 = inverse, 2 = exponential + this.listenerZ = -this.properties[5]; + refDistance = this.properties[6]; + maxDistance = this.properties[7]; + rolloffFactor = this.properties[8]; + this.listenerTracker = new ObjectTracker(); + var draw_width = (this.runtime.draw_width || this.runtime.width); + var draw_height = (this.runtime.draw_height || this.runtime.height); + if (api === API_WEBAUDIO) + { + context["listener"]["setPosition"](draw_width / 2, draw_height / 2, this.listenerZ); + context["listener"]["setOrientation"](0, 0, 1, 0, -1, 0); + window["c2OnAudioMicStream"] = function (localMediaStream, tag) + { + if (micSource) + micSource["disconnect"](); + micTag = tag.toLowerCase(); + micSource = context["createMediaStreamSource"](localMediaStream); + micSource["connect"](getDestinationForTag(micTag)); + }; + } + this.runtime.addSuspendCallback(function(s) + { + audInst.onSuspend(s); + }); + var self = this; + this.runtime.addDestroyCallback(function (inst) + { + self.onInstanceDestroyed(inst); + }); + }; + instanceProto.onInstanceDestroyed = function (inst) + { + var i, len, a; + for (i = 0, len = audioInstances.length; i < len; i++) + { + a = audioInstances[i]; + if (a.objectTracker) + { + if (a.objectTracker.obj === inst) + { + a.objectTracker.obj = null; + if (a.pannerEnabled && a.isPlaying() && a.looping) + a.stop(); + } + } + } + if (this.listenerTracker.obj === inst) + this.listenerTracker.obj = null; + }; + instanceProto.saveToJSON = function () + { + var o = { + "silent": silent, + "masterVolume": masterVolume, + "listenerZ": this.listenerZ, + "listenerUid": this.listenerTracker.hasObject() ? this.listenerTracker.obj.uid : -1, + "playing": [], + "effects": {} + }; + var playingarr = o["playing"]; + var i, len, a, d, p, panobj, playbackTime; + for (i = 0, len = audioInstances.length; i < len; i++) + { + a = audioInstances[i]; + if (!a.shouldSave()) + continue; // no need to save stopped sounds + if (this.saveload === 3) // not saving/loading any sounds/music + continue; + if (a.is_music && this.saveload === 1) // not saving/loading music + continue; + if (!a.is_music && this.saveload === 2) // not saving/loading sound + continue; + playbackTime = a.getPlaybackTime(); + if (a.looping) + playbackTime = playbackTime % a.getDuration(); + d = { + "tag": a.tag, + "buffersrc": a.buffer.src, + "is_music": a.is_music, + "playbackTime": playbackTime, + "volume": a.volume, + "looping": a.looping, + "muted": a.is_muted, + "playbackRate": a.playbackRate, + "paused": a.is_paused, + "resume_position": a.resume_position + }; + if (a.pannerEnabled) + { + d["pan"] = {}; + panobj = d["pan"]; + if (a.objectTracker && a.objectTracker.hasObject()) + { + panobj["objUid"] = a.objectTracker.obj.uid; + } + else + { + panobj["x"] = a.panX; + panobj["y"] = a.panY; + panobj["a"] = a.panAngle; + } + panobj["ia"] = a.panConeInner; + panobj["oa"] = a.panConeOuter; + panobj["og"] = a.panConeOuterGain; + } + playingarr.push(d); + } + var fxobj = o["effects"]; + var fxarr; + for (p in effects) + { + if (effects.hasOwnProperty(p)) + { + fxarr = []; + for (i = 0, len = effects[p].length; i < len; i++) + { + fxarr.push({ "type": effects[p][i].type, "params": effects[p][i].params }); + } + fxobj[p] = fxarr; + } + } + return o; + }; + var objectTrackerUidsToLoad = []; + instanceProto.loadFromJSON = function (o) + { + var setSilent = o["silent"]; + masterVolume = o["masterVolume"]; + this.listenerZ = o["listenerZ"]; + this.listenerTracker.setObject(null); + var listenerUid = o["listenerUid"]; + if (listenerUid !== -1) + { + this.listenerTracker.loadUid = listenerUid; + objectTrackerUidsToLoad.push(this.listenerTracker); + } + var playingarr = o["playing"]; + var i, len, d, src, is_music, tag, playbackTime, looping, vol, b, a, p, pan, panObjUid; + if (this.saveload !== 3) + { + for (i = 0, len = audioInstances.length; i < len; i++) + { + a = audioInstances[i]; + if (a.is_music && this.saveload === 1) + continue; // only saving/loading sound: leave music playing + if (!a.is_music && this.saveload === 2) + continue; // only saving/loading music: leave sound playing + a.stop(); + } + } + var fxarr, fxtype, fxparams, fx; + for (p in effects) + { + if (effects.hasOwnProperty(p)) + { + for (i = 0, len = effects[p].length; i < len; i++) + effects[p][i].remove(); + } + } + cr.wipe(effects); + for (p in o["effects"]) + { + if (o["effects"].hasOwnProperty(p)) + { + fxarr = o["effects"][p]; + for (i = 0, len = fxarr.length; i < len; i++) + { + fxtype = fxarr[i]["type"]; + fxparams = fxarr[i]["params"]; + switch (fxtype) { + case "filter": + addEffectForTag(p, new FilterEffect(fxparams[0], fxparams[1], fxparams[2], fxparams[3], fxparams[4], fxparams[5])); + break; + case "delay": + addEffectForTag(p, new DelayEffect(fxparams[0], fxparams[1], fxparams[2])); + break; + case "convolve": + src = fxparams[2]; + b = this.getAudioBuffer(src, false); + if (b.bufferObject) + { + fx = new ConvolveEffect(b.bufferObject, fxparams[0], fxparams[1], src); + } + else + { + fx = new ConvolveEffect(null, fxparams[0], fxparams[1], src); + b.normalizeWhenReady = fxparams[0]; + b.convolveWhenReady = fx; + } + addEffectForTag(p, fx); + break; + case "flanger": + addEffectForTag(p, new FlangerEffect(fxparams[0], fxparams[1], fxparams[2], fxparams[3], fxparams[4])); + break; + case "phaser": + addEffectForTag(p, new PhaserEffect(fxparams[0], fxparams[1], fxparams[2], fxparams[3], fxparams[4], fxparams[5])); + break; + case "gain": + addEffectForTag(p, new GainEffect(fxparams[0])); + break; + case "tremolo": + addEffectForTag(p, new TremoloEffect(fxparams[0], fxparams[1])); + break; + case "ringmod": + addEffectForTag(p, new RingModulatorEffect(fxparams[0], fxparams[1])); + break; + case "distortion": + addEffectForTag(p, new DistortionEffect(fxparams[0], fxparams[1], fxparams[2], fxparams[3], fxparams[4])); + break; + case "compressor": + addEffectForTag(p, new CompressorEffect(fxparams[0], fxparams[1], fxparams[2], fxparams[3], fxparams[4])); + break; + case "analyser": + addEffectForTag(p, new AnalyserEffect(fxparams[0], fxparams[1])); + break; + } + } + } + } + for (i = 0, len = playingarr.length; i < len; i++) + { + if (this.saveload === 3) // not saving/loading any sounds/music + continue; + d = playingarr[i]; + src = d["buffersrc"]; + is_music = d["is_music"]; + tag = d["tag"]; + playbackTime = d["playbackTime"]; + looping = d["looping"]; + vol = d["volume"]; + pan = d["pan"]; + panObjUid = (pan && pan.hasOwnProperty("objUid")) ? pan["objUid"] : -1; + if (is_music && this.saveload === 1) // not saving/loading music + continue; + if (!is_music && this.saveload === 2) // not saving/loading sound + continue; + a = this.getAudioInstance(src, tag, is_music, looping, vol); + if (!a) + { + b = this.getAudioBuffer(src, is_music); + b.seekWhenReady = playbackTime; + b.pauseWhenReady = d["paused"]; + if (pan) + { + if (panObjUid !== -1) + { + b.panWhenReady.push({ objUid: panObjUid, ia: pan["ia"], oa: pan["oa"], og: pan["og"], thistag: tag }); + } + else + { + b.panWhenReady.push({ x: pan["x"], y: pan["y"], a: pan["a"], ia: pan["ia"], oa: pan["oa"], og: pan["og"], thistag: tag }); + } + } + continue; + } + a.resume_position = d["resume_position"]; + a.setPannerEnabled(!!pan); + a.play(looping, vol, playbackTime); + a.updatePlaybackRate(); + a.updateVolume(); + a.doSetMuted(a.is_muted || a.is_silent); + if (d["paused"]) + a.pause(); + if (d["muted"]) + a.setMuted(true); + a.doSetMuted(a.is_muted || a.is_silent); + if (pan) + { + if (panObjUid !== -1) + { + a.objectTracker = a.objectTracker || new ObjectTracker(); + a.objectTracker.loadUid = panObjUid; + objectTrackerUidsToLoad.push(a.objectTracker); + } + else + { + a.setPan(pan["x"], pan["y"], pan["a"], pan["ia"], pan["oa"], pan["og"]); + } + } + } + if (setSilent && !silent) // setting silent + { + for (i = 0, len = audioInstances.length; i < len; i++) + audioInstances[i].setSilent(true); + silent = true; + } + else if (!setSilent && silent) // setting not silent + { + for (i = 0, len = audioInstances.length; i < len; i++) + audioInstances[i].setSilent(false); + silent = false; + } + }; + instanceProto.afterLoad = function () + { + var i, len, ot, inst; + for (i = 0, len = objectTrackerUidsToLoad.length; i < len; i++) + { + ot = objectTrackerUidsToLoad[i]; + inst = this.runtime.getObjectByUID(ot.loadUid); + ot.setObject(inst); + ot.loadUid = -1; + if (inst) + { + listenerX = inst.x; + listenerY = inst.y; + } + } + cr.clearArray(objectTrackerUidsToLoad); + }; + instanceProto.onSuspend = function (s) + { + if (this.playinbackground) + return; + if (!s && context && context["resume"]) + { + context["resume"](); + isContextSuspended = false; + } + var i, len; + for (i = 0, len = audioInstances.length; i < len; i++) + audioInstances[i].setSuspended(s); + if (s && context && context["suspend"]) + { + context["suspend"](); + isContextSuspended = true; + } + }; + instanceProto.tick = function () + { + var dt = this.runtime.dt; + var i, len, a; + for (i = 0, len = audioInstances.length; i < len; i++) + { + a = audioInstances[i]; + a.tick(dt); + if (timescale_mode !== 0) + a.updatePlaybackRate(); + } + var p, arr, f; + for (p in effects) + { + if (effects.hasOwnProperty(p)) + { + arr = effects[p]; + for (i = 0, len = arr.length; i < len; i++) + { + f = arr[i]; + if (f.tick) + f.tick(); + } + } + } + if (api === API_WEBAUDIO && this.listenerTracker.hasObject()) + { + this.listenerTracker.tick(dt); + listenerX = this.listenerTracker.obj.x; + listenerY = this.listenerTracker.obj.y; + context["listener"]["setPosition"](this.listenerTracker.obj.x, this.listenerTracker.obj.y, this.listenerZ); + } + }; + var preload_list = []; + instanceProto.setPreloadList = function (arr) + { + var i, len, p, filename, size, isOgg; + var total_size = 0; + for (i = 0, len = arr.length; i < len; ++i) + { + p = arr[i]; + filename = p[0]; + size = p[1] * 2; + isOgg = (filename.length > 4 && filename.substr(filename.length - 4) === ".ogg"); + if ((isOgg && useOgg) || (!isOgg && !useOgg)) + { + preload_list.push({ + filename: filename, + size: size, + obj: null + }); + total_size += size; + } + } + return total_size; + }; + instanceProto.startPreloads = function () + { + var i, len, p, src; + for (i = 0, len = preload_list.length; i < len; ++i) + { + p = preload_list[i]; + src = this.runtime.files_subfolder + p.filename; + p.obj = this.getAudioBuffer(src, false); + } + }; + instanceProto.getPreloadedSize = function () + { + var completed = 0; + var i, len, p; + for (i = 0, len = preload_list.length; i < len; ++i) + { + p = preload_list[i]; + if (p.obj.isLoadedAndDecoded() || p.obj.hasFailedToLoad() || this.runtime.isDomFree || this.runtime.isAndroidStockBrowser) + { + completed += p.size; + } + else if (p.obj.isLoaded()) // downloaded but not decoded: only happens in Web Audio API, count as half-way progress + { + completed += Math.floor(p.size / 2); + } + }; + return completed; + }; + instanceProto.releaseAllMusicBuffers = function () + { + var i, len, j, b; + for (i = 0, j = 0, len = audioBuffers.length; i < len; ++i) + { + b = audioBuffers[i]; + audioBuffers[j] = b; + if (b.is_music) + b.release(); + else + ++j; // keep + } + audioBuffers.length = j; + }; + instanceProto.getAudioBuffer = function (src_, is_music, dont_create) + { + var i, len, a, ret = null, j, k, lenj, ai; + for (i = 0, len = audioBuffers.length; i < len; i++) + { + a = audioBuffers[i]; + if (a.src === src_) + { + ret = a; + break; + } + } + if (!ret && !dont_create) + { + if (playMusicAsSoundWorkaround && is_music) + this.releaseAllMusicBuffers(); + ret = new C2AudioBuffer(src_, is_music); + audioBuffers.push(ret); + } + return ret; + }; + instanceProto.getAudioInstance = function (src_, tag, is_music, looping, vol) + { + var i, len, a; + for (i = 0, len = audioInstances.length; i < len; i++) + { + a = audioInstances[i]; + if (a.src === src_ && (a.canBeRecycled() || is_music)) + { + a.tag = tag; + return a; + } + } + var b = this.getAudioBuffer(src_, is_music); + if (!b.bufferObject) + { + if (tag !== "") + { + b.playTagWhenReady = tag; + b.loopWhenReady = looping; + b.volumeWhenReady = vol; + } + return null; + } + a = new C2AudioInstance(b, tag); + audioInstances.push(a); + return a; + }; + var taggedAudio = []; + function SortByIsPlaying(a, b) + { + var an = a.isPlaying() ? 1 : 0; + var bn = b.isPlaying() ? 1 : 0; + if (an === bn) + return 0; + else if (an < bn) + return 1; + else + return -1; + }; + function getAudioByTag(tag, sort_by_playing) + { + cr.clearArray(taggedAudio); + if (!tag.length) + { + if (!lastAudio || lastAudio.hasEnded()) + return; + else + { + cr.clearArray(taggedAudio); + taggedAudio[0] = lastAudio; + return; + } + } + var i, len, a; + for (i = 0, len = audioInstances.length; i < len; i++) + { + a = audioInstances[i]; + if (cr.equals_nocase(tag, a.tag)) + taggedAudio.push(a); + } + if (sort_by_playing) + taggedAudio.sort(SortByIsPlaying); + }; + function reconnectEffects(tag) + { + var i, len, arr, n, toNode = context["destination"]; + if (effects.hasOwnProperty(tag)) + { + arr = effects[tag]; + if (arr.length) + { + toNode = arr[0].getInputNode(); + for (i = 0, len = arr.length; i < len; i++) + { + n = arr[i]; + if (i + 1 === len) + n.connectTo(context["destination"]); + else + n.connectTo(arr[i + 1].getInputNode()); + } + } + } + getAudioByTag(tag); + for (i = 0, len = taggedAudio.length; i < len; i++) + taggedAudio[i].reconnect(toNode); + if (micSource && micTag === tag) + { + micSource["disconnect"](); + micSource["connect"](toNode); + } + }; + function addEffectForTag(tag, fx) + { + if (!effects.hasOwnProperty(tag)) + effects[tag] = [fx]; + else + effects[tag].push(fx); + reconnectEffects(tag); + }; + function Cnds() {}; + Cnds.prototype.OnEnded = function (t) + { + return cr.equals_nocase(audTag, t); + }; + Cnds.prototype.PreloadsComplete = function () + { + var i, len; + for (i = 0, len = audioBuffers.length; i < len; i++) + { + if (!audioBuffers[i].isLoadedAndDecoded() && !audioBuffers[i].hasFailedToLoad()) + return false; + } + return true; + }; + Cnds.prototype.AdvancedAudioSupported = function () + { + return api === API_WEBAUDIO; + }; + Cnds.prototype.IsSilent = function () + { + return silent; + }; + Cnds.prototype.IsAnyPlaying = function () + { + var i, len; + for (i = 0, len = audioInstances.length; i < len; i++) + { + if (audioInstances[i].isPlaying()) + return true; + } + return false; + }; + Cnds.prototype.IsTagPlaying = function (tag) + { + getAudioByTag(tag); + var i, len; + for (i = 0, len = taggedAudio.length; i < len; i++) + { + if (taggedAudio[i].isPlaying()) + return true; + } + return false; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.Play = function (file, looping, vol, tag) + { + if (silent) + return; + var v = dbToLinear(vol); + var is_music = file[1]; + var src = this.runtime.files_subfolder + file[0] + (useOgg ? ".ogg" : ".m4a"); + lastAudio = this.getAudioInstance(src, tag, is_music, looping!==0, v); + if (!lastAudio) + return; + lastAudio.setPannerEnabled(false); + lastAudio.play(looping!==0, v, 0, this.nextPlayTime); + this.nextPlayTime = 0; + }; + Acts.prototype.PlayAtPosition = function (file, looping, vol, x_, y_, angle_, innerangle_, outerangle_, outergain_, tag) + { + if (silent) + return; + var v = dbToLinear(vol); + var is_music = file[1]; + var src = this.runtime.files_subfolder + file[0] + (useOgg ? ".ogg" : ".m4a"); + lastAudio = this.getAudioInstance(src, tag, is_music, looping!==0, v); + if (!lastAudio) + { + var b = this.getAudioBuffer(src, is_music); + b.panWhenReady.push({ x: x_, y: y_, a: angle_, ia: innerangle_, oa: outerangle_, og: dbToLinear(outergain_), thistag: tag }); + return; + } + lastAudio.setPannerEnabled(true); + lastAudio.setPan(x_, y_, angle_, innerangle_, outerangle_, dbToLinear(outergain_)); + lastAudio.play(looping!==0, v, 0, this.nextPlayTime); + this.nextPlayTime = 0; + }; + Acts.prototype.PlayAtObject = function (file, looping, vol, obj, innerangle, outerangle, outergain, tag) + { + if (silent || !obj) + return; + var inst = obj.getFirstPicked(); + if (!inst) + return; + var v = dbToLinear(vol); + var is_music = file[1]; + var src = this.runtime.files_subfolder + file[0] + (useOgg ? ".ogg" : ".m4a"); + lastAudio = this.getAudioInstance(src, tag, is_music, looping!==0, v); + if (!lastAudio) + { + var b = this.getAudioBuffer(src, is_music); + b.panWhenReady.push({ obj: inst, ia: innerangle, oa: outerangle, og: dbToLinear(outergain), thistag: tag }); + return; + } + lastAudio.setPannerEnabled(true); + var px = cr.rotatePtAround(inst.x, inst.y, -inst.layer.getAngle(), listenerX, listenerY, true); + var py = cr.rotatePtAround(inst.x, inst.y, -inst.layer.getAngle(), listenerX, listenerY, false); + lastAudio.setPan(px, py, cr.to_degrees(inst.angle - inst.layer.getAngle()), innerangle, outerangle, dbToLinear(outergain)); + lastAudio.setObject(inst); + lastAudio.play(looping!==0, v, 0, this.nextPlayTime); + this.nextPlayTime = 0; + }; + Acts.prototype.PlayByName = function (folder, filename, looping, vol, tag) + { + if (silent) + return; + var v = dbToLinear(vol); + var is_music = (folder === 1); + var src = this.runtime.files_subfolder + filename.toLowerCase() + (useOgg ? ".ogg" : ".m4a"); + lastAudio = this.getAudioInstance(src, tag, is_music, looping!==0, v); + if (!lastAudio) + return; + lastAudio.setPannerEnabled(false); + lastAudio.play(looping!==0, v, 0, this.nextPlayTime); + this.nextPlayTime = 0; + }; + Acts.prototype.PlayAtPositionByName = function (folder, filename, looping, vol, x_, y_, angle_, innerangle_, outerangle_, outergain_, tag) + { + if (silent) + return; + var v = dbToLinear(vol); + var is_music = (folder === 1); + var src = this.runtime.files_subfolder + filename.toLowerCase() + (useOgg ? ".ogg" : ".m4a"); + lastAudio = this.getAudioInstance(src, tag, is_music, looping!==0, v); + if (!lastAudio) + { + var b = this.getAudioBuffer(src, is_music); + b.panWhenReady.push({ x: x_, y: y_, a: angle_, ia: innerangle_, oa: outerangle_, og: dbToLinear(outergain_), thistag: tag }); + return; + } + lastAudio.setPannerEnabled(true); + lastAudio.setPan(x_, y_, angle_, innerangle_, outerangle_, dbToLinear(outergain_)); + lastAudio.play(looping!==0, v, 0, this.nextPlayTime); + this.nextPlayTime = 0; + }; + Acts.prototype.PlayAtObjectByName = function (folder, filename, looping, vol, obj, innerangle, outerangle, outergain, tag) + { + if (silent || !obj) + return; + var inst = obj.getFirstPicked(); + if (!inst) + return; + var v = dbToLinear(vol); + var is_music = (folder === 1); + var src = this.runtime.files_subfolder + filename.toLowerCase() + (useOgg ? ".ogg" : ".m4a"); + lastAudio = this.getAudioInstance(src, tag, is_music, looping!==0, v); + if (!lastAudio) + { + var b = this.getAudioBuffer(src, is_music); + b.panWhenReady.push({ obj: inst, ia: innerangle, oa: outerangle, og: dbToLinear(outergain), thistag: tag }); + return; + } + lastAudio.setPannerEnabled(true); + var px = cr.rotatePtAround(inst.x, inst.y, -inst.layer.getAngle(), listenerX, listenerY, true); + var py = cr.rotatePtAround(inst.x, inst.y, -inst.layer.getAngle(), listenerX, listenerY, false); + lastAudio.setPan(px, py, cr.to_degrees(inst.angle - inst.layer.getAngle()), innerangle, outerangle, dbToLinear(outergain)); + lastAudio.setObject(inst); + lastAudio.play(looping!==0, v, 0, this.nextPlayTime); + this.nextPlayTime = 0; + }; + Acts.prototype.SetLooping = function (tag, looping) + { + getAudioByTag(tag); + var i, len; + for (i = 0, len = taggedAudio.length; i < len; i++) + taggedAudio[i].setLooping(looping === 0); + }; + Acts.prototype.SetMuted = function (tag, muted) + { + getAudioByTag(tag); + var i, len; + for (i = 0, len = taggedAudio.length; i < len; i++) + taggedAudio[i].setMuted(muted === 0); + }; + Acts.prototype.SetVolume = function (tag, vol) + { + getAudioByTag(tag); + var v = dbToLinear(vol); + var i, len; + for (i = 0, len = taggedAudio.length; i < len; i++) + taggedAudio[i].setVolume(v); + }; + Acts.prototype.Preload = function (file) + { + if (silent) + return; + var is_music = file[1]; + var src = this.runtime.files_subfolder + file[0] + (useOgg ? ".ogg" : ".m4a"); + if (api === API_APPMOBI) + { + if (this.runtime.isDirectCanvas) + AppMobi["context"]["loadSound"](src); + else + AppMobi["player"]["loadSound"](src); + return; + } + else if (api === API_CORDOVA) + { + return; + } + this.getAudioInstance(src, "", is_music, false); + }; + Acts.prototype.PreloadByName = function (folder, filename) + { + if (silent) + return; + var is_music = (folder === 1); + var src = this.runtime.files_subfolder + filename.toLowerCase() + (useOgg ? ".ogg" : ".m4a"); + if (api === API_APPMOBI) + { + if (this.runtime.isDirectCanvas) + AppMobi["context"]["loadSound"](src); + else + AppMobi["player"]["loadSound"](src); + return; + } + else if (api === API_CORDOVA) + { + return; + } + this.getAudioInstance(src, "", is_music, false); + }; + Acts.prototype.SetPlaybackRate = function (tag, rate) + { + getAudioByTag(tag); + if (rate < 0.0) + rate = 0; + var i, len; + for (i = 0, len = taggedAudio.length; i < len; i++) + taggedAudio[i].setPlaybackRate(rate); + }; + Acts.prototype.Stop = function (tag) + { + getAudioByTag(tag); + var i, len; + for (i = 0, len = taggedAudio.length; i < len; i++) + taggedAudio[i].stop(); + }; + Acts.prototype.StopAll = function () + { + var i, len; + for (i = 0, len = audioInstances.length; i < len; i++) + audioInstances[i].stop(); + }; + Acts.prototype.SetPaused = function (tag, state) + { + getAudioByTag(tag); + var i, len; + for (i = 0, len = taggedAudio.length; i < len; i++) + { + if (state === 0) + taggedAudio[i].pause(); + else + taggedAudio[i].resume(); + } + }; + Acts.prototype.Seek = function (tag, pos) + { + getAudioByTag(tag); + var i, len; + for (i = 0, len = taggedAudio.length; i < len; i++) + { + taggedAudio[i].seek(pos); + } + }; + Acts.prototype.SetSilent = function (s) + { + var i, len; + if (s === 2) // toggling + s = (silent ? 1 : 0); // choose opposite state + if (s === 0 && !silent) // setting silent + { + for (i = 0, len = audioInstances.length; i < len; i++) + audioInstances[i].setSilent(true); + silent = true; + } + else if (s === 1 && silent) // setting not silent + { + for (i = 0, len = audioInstances.length; i < len; i++) + audioInstances[i].setSilent(false); + silent = false; + } + }; + Acts.prototype.SetMasterVolume = function (vol) + { + masterVolume = dbToLinear(vol); + var i, len; + for (i = 0, len = audioInstances.length; i < len; i++) + audioInstances[i].updateVolume(); + }; + Acts.prototype.AddFilterEffect = function (tag, type, freq, detune, q, gain, mix) + { + if (api !== API_WEBAUDIO || type < 0 || type >= filterTypes.length || !context["createBiquadFilter"]) + return; + tag = tag.toLowerCase(); + mix = mix / 100; + if (mix < 0) mix = 0; + if (mix > 1) mix = 1; + addEffectForTag(tag, new FilterEffect(type, freq, detune, q, gain, mix)); + }; + Acts.prototype.AddDelayEffect = function (tag, delay, gain, mix) + { + if (api !== API_WEBAUDIO) + return; + tag = tag.toLowerCase(); + mix = mix / 100; + if (mix < 0) mix = 0; + if (mix > 1) mix = 1; + addEffectForTag(tag, new DelayEffect(delay, dbToLinear(gain), mix)); + }; + Acts.prototype.AddFlangerEffect = function (tag, delay, modulation, freq, feedback, mix) + { + if (api !== API_WEBAUDIO || !context["createOscillator"]) + return; + tag = tag.toLowerCase(); + mix = mix / 100; + if (mix < 0) mix = 0; + if (mix > 1) mix = 1; + addEffectForTag(tag, new FlangerEffect(delay / 1000, modulation / 1000, freq, feedback / 100, mix)); + }; + Acts.prototype.AddPhaserEffect = function (tag, freq, detune, q, mod, modfreq, mix) + { + if (api !== API_WEBAUDIO || !context["createOscillator"]) + return; + tag = tag.toLowerCase(); + mix = mix / 100; + if (mix < 0) mix = 0; + if (mix > 1) mix = 1; + addEffectForTag(tag, new PhaserEffect(freq, detune, q, mod, modfreq, mix)); + }; + Acts.prototype.AddConvolutionEffect = function (tag, file, norm, mix) + { + if (api !== API_WEBAUDIO || !context["createConvolver"]) + return; + var doNormalize = (norm === 0); + var src = this.runtime.files_subfolder + file[0] + (useOgg ? ".ogg" : ".m4a"); + var b = this.getAudioBuffer(src, false); + tag = tag.toLowerCase(); + mix = mix / 100; + if (mix < 0) mix = 0; + if (mix > 1) mix = 1; + var fx; + if (b.bufferObject) + { + fx = new ConvolveEffect(b.bufferObject, doNormalize, mix, src); + } + else + { + fx = new ConvolveEffect(null, doNormalize, mix, src); + b.normalizeWhenReady = doNormalize; + b.convolveWhenReady = fx; + } + addEffectForTag(tag, fx); + }; + Acts.prototype.AddGainEffect = function (tag, g) + { + if (api !== API_WEBAUDIO) + return; + tag = tag.toLowerCase(); + addEffectForTag(tag, new GainEffect(dbToLinear(g))); + }; + Acts.prototype.AddMuteEffect = function (tag) + { + if (api !== API_WEBAUDIO) + return; + tag = tag.toLowerCase(); + addEffectForTag(tag, new GainEffect(0)); // re-use gain effect with 0 gain + }; + Acts.prototype.AddTremoloEffect = function (tag, freq, mix) + { + if (api !== API_WEBAUDIO || !context["createOscillator"]) + return; + tag = tag.toLowerCase(); + mix = mix / 100; + if (mix < 0) mix = 0; + if (mix > 1) mix = 1; + addEffectForTag(tag, new TremoloEffect(freq, mix)); + }; + Acts.prototype.AddRingModEffect = function (tag, freq, mix) + { + if (api !== API_WEBAUDIO || !context["createOscillator"]) + return; + tag = tag.toLowerCase(); + mix = mix / 100; + if (mix < 0) mix = 0; + if (mix > 1) mix = 1; + addEffectForTag(tag, new RingModulatorEffect(freq, mix)); + }; + Acts.prototype.AddDistortionEffect = function (tag, threshold, headroom, drive, makeupgain, mix) + { + if (api !== API_WEBAUDIO || !context["createWaveShaper"]) + return; + tag = tag.toLowerCase(); + mix = mix / 100; + if (mix < 0) mix = 0; + if (mix > 1) mix = 1; + addEffectForTag(tag, new DistortionEffect(threshold, headroom, drive, makeupgain, mix)); + }; + Acts.prototype.AddCompressorEffect = function (tag, threshold, knee, ratio, attack, release) + { + if (api !== API_WEBAUDIO || !context["createDynamicsCompressor"]) + return; + tag = tag.toLowerCase(); + addEffectForTag(tag, new CompressorEffect(threshold, knee, ratio, attack / 1000, release / 1000)); + }; + Acts.prototype.AddAnalyserEffect = function (tag, fftSize, smoothing) + { + if (api !== API_WEBAUDIO) + return; + tag = tag.toLowerCase(); + addEffectForTag(tag, new AnalyserEffect(fftSize, smoothing)); + }; + Acts.prototype.RemoveEffects = function (tag) + { + if (api !== API_WEBAUDIO) + return; + tag = tag.toLowerCase(); + var i, len, arr; + if (effects.hasOwnProperty(tag)) + { + arr = effects[tag]; + if (arr.length) + { + for (i = 0, len = arr.length; i < len; i++) + arr[i].remove(); + cr.clearArray(arr); + reconnectEffects(tag); + } + } + }; + Acts.prototype.SetEffectParameter = function (tag, index, param, value, ramp, time) + { + if (api !== API_WEBAUDIO) + return; + tag = tag.toLowerCase(); + index = Math.floor(index); + var arr; + if (!effects.hasOwnProperty(tag)) + return; + arr = effects[tag]; + if (index < 0 || index >= arr.length) + return; + arr[index].setParam(param, value, ramp, time); + }; + Acts.prototype.SetListenerObject = function (obj_) + { + if (!obj_ || api !== API_WEBAUDIO) + return; + var inst = obj_.getFirstPicked(); + if (!inst) + return; + this.listenerTracker.setObject(inst); + listenerX = inst.x; + listenerY = inst.y; + }; + Acts.prototype.SetListenerZ = function (z) + { + this.listenerZ = z; + }; + Acts.prototype.ScheduleNextPlay = function (t) + { + if (!context) + return; // needs Web Audio API + this.nextPlayTime = t; + }; + Acts.prototype.UnloadAudio = function (file) + { + var is_music = file[1]; + var src = this.runtime.files_subfolder + file[0] + (useOgg ? ".ogg" : ".m4a"); + var b = this.getAudioBuffer(src, is_music, true /* don't create if missing */); + if (!b) + return; // not loaded + b.release(); + cr.arrayFindRemove(audioBuffers, b); + }; + Acts.prototype.UnloadAudioByName = function (folder, filename) + { + var is_music = (folder === 1); + var src = this.runtime.files_subfolder + filename.toLowerCase() + (useOgg ? ".ogg" : ".m4a"); + var b = this.getAudioBuffer(src, is_music, true /* don't create if missing */); + if (!b) + return; // not loaded + b.release(); + cr.arrayFindRemove(audioBuffers, b); + }; + Acts.prototype.UnloadAll = function () + { + var i, len; + for (i = 0, len = audioBuffers.length; i < len; ++i) + { + audioBuffers[i].release(); + }; + cr.clearArray(audioBuffers); + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.Duration = function (ret, tag) + { + getAudioByTag(tag, true); + if (taggedAudio.length) + ret.set_float(taggedAudio[0].getDuration()); + else + ret.set_float(0); + }; + Exps.prototype.PlaybackTime = function (ret, tag) + { + getAudioByTag(tag, true); + if (taggedAudio.length) + ret.set_float(taggedAudio[0].getPlaybackTime(true)); + else + ret.set_float(0); + }; + Exps.prototype.Volume = function (ret, tag) + { + getAudioByTag(tag, true); + if (taggedAudio.length) + { + var v = taggedAudio[0].getVolume(); + ret.set_float(linearToDb(v)); + } + else + ret.set_float(0); + }; + Exps.prototype.MasterVolume = function (ret) + { + ret.set_float(linearToDb(masterVolume)); + }; + Exps.prototype.EffectCount = function (ret, tag) + { + tag = tag.toLowerCase(); + var arr = null; + if (effects.hasOwnProperty(tag)) + arr = effects[tag]; + ret.set_int(arr ? arr.length : 0); + }; + function getAnalyser(tag, index) + { + var arr = null; + if (effects.hasOwnProperty(tag)) + arr = effects[tag]; + if (arr && index >= 0 && index < arr.length && arr[index].freqBins) + return arr[index]; + else + return null; + }; + Exps.prototype.AnalyserFreqBinCount = function (ret, tag, index) + { + tag = tag.toLowerCase(); + index = Math.floor(index); + var analyser = getAnalyser(tag, index); + ret.set_int(analyser ? analyser.node["frequencyBinCount"] : 0); + }; + Exps.prototype.AnalyserFreqBinAt = function (ret, tag, index, bin) + { + tag = tag.toLowerCase(); + index = Math.floor(index); + bin = Math.floor(bin); + var analyser = getAnalyser(tag, index); + if (!analyser) + ret.set_float(0); + else if (bin < 0 || bin >= analyser.node["frequencyBinCount"]) + ret.set_float(0); + else + ret.set_float(analyser.freqBins[bin]); + }; + Exps.prototype.AnalyserPeakLevel = function (ret, tag, index) + { + tag = tag.toLowerCase(); + index = Math.floor(index); + var analyser = getAnalyser(tag, index); + if (analyser) + ret.set_float(analyser.peak); + else + ret.set_float(0); + }; + Exps.prototype.AnalyserRMSLevel = function (ret, tag, index) + { + tag = tag.toLowerCase(); + index = Math.floor(index); + var analyser = getAnalyser(tag, index); + if (analyser) + ret.set_float(analyser.rms); + else + ret.set_float(0); + }; + Exps.prototype.SampleRate = function (ret) + { + ret.set_int(context ? context.sampleRate : 0); + }; + Exps.prototype.CurrentTime = function (ret) + { + ret.set_float(context ? context.currentTime : cr.performance_now()); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.Browser = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.Browser.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + var offlineScriptReady = false; + var browserPluginReady = false; + document.addEventListener("DOMContentLoaded", function () + { + if (window["C2_RegisterSW"] && navigator["serviceWorker"]) + { + var offlineClientScript = document.createElement("script"); + offlineClientScript.onload = function () + { + offlineScriptReady = true; + checkReady() + }; + offlineClientScript.src = "offlineClient.js"; + document.head.appendChild(offlineClientScript); + } + }); + var browserInstance = null; + typeProto.onAppBegin = function () + { + browserPluginReady = true; + checkReady(); + }; + function checkReady() + { + if (offlineScriptReady && browserPluginReady && window["OfflineClientInfo"]) + { + window["OfflineClientInfo"]["SetMessageCallback"](function (e) + { + browserInstance.onSWMessage(e); + }); + } + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + var self = this; + window.addEventListener("resize", function () { + self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnResize, self); + }); + browserInstance = this; + if (typeof navigator.onLine !== "undefined") + { + window.addEventListener("online", function() { + self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnOnline, self); + }); + window.addEventListener("offline", function() { + self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnOffline, self); + }); + } + if (!this.runtime.isDirectCanvas) + { + document.addEventListener("appMobi.device.update.available", function() { + self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnUpdateReady, self); + }); + document.addEventListener("backbutton", function() { + self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnBackButton, self); + }); + document.addEventListener("menubutton", function() { + self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnMenuButton, self); + }); + document.addEventListener("searchbutton", function() { + self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnSearchButton, self); + }); + document.addEventListener("tizenhwkey", function (e) { + var ret; + switch (e["keyName"]) { + case "back": + ret = self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnBackButton, self); + if (!ret) + { + if (window["tizen"]) + window["tizen"]["application"]["getCurrentApplication"]()["exit"](); + } + break; + case "menu": + ret = self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnMenuButton, self); + if (!ret) + e.preventDefault(); + break; + } + }); + } + if (this.runtime.isWindows10 && typeof Windows !== "undefined") + { + Windows["UI"]["Core"]["SystemNavigationManager"]["getForCurrentView"]().addEventListener("backrequested", function (e) + { + var ret = self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnBackButton, self); + if (ret) + e["handled"] = true; + }); + } + else if (this.runtime.isWinJS && WinJS["Application"]) + { + WinJS["Application"]["onbackclick"] = function (e) + { + return !!self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnBackButton, self); + }; + } + this.runtime.addSuspendCallback(function(s) { + if (s) + { + self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnPageHidden, self); + } + else + { + self.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnPageVisible, self); + } + }); + this.is_arcade = (typeof window["is_scirra_arcade"] !== "undefined"); + }; + instanceProto.onSWMessage = function (e) + { + var messageType = e["data"]["type"]; + if (messageType === "downloading-update") + this.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnUpdateFound, this); + else if (messageType === "update-ready" || messageType === "update-pending") + this.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnUpdateReady, this); + else if (messageType === "offline-ready") + this.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnOfflineReady, this); + }; + var batteryManager = null; + var loadedBatteryManager = false; + function maybeLoadBatteryManager() + { + if (loadedBatteryManager) + return; + if (!navigator["getBattery"]) + return; + var promise = navigator["getBattery"](); + loadedBatteryManager = true; + if (promise) + { + promise.then(function (manager) { + batteryManager = manager; + }); + } + }; + function Cnds() {}; + Cnds.prototype.CookiesEnabled = function() + { + return navigator ? navigator.cookieEnabled : false; + }; + Cnds.prototype.IsOnline = function() + { + return navigator ? navigator.onLine : false; + }; + Cnds.prototype.HasJava = function() + { + return navigator ? navigator.javaEnabled() : false; + }; + Cnds.prototype.OnOnline = function() + { + return true; + }; + Cnds.prototype.OnOffline = function() + { + return true; + }; + Cnds.prototype.IsDownloadingUpdate = function () + { + return false; // deprecated + }; + Cnds.prototype.OnUpdateReady = function () + { + return true; + }; + Cnds.prototype.PageVisible = function () + { + return !this.runtime.isSuspended; + }; + Cnds.prototype.OnPageVisible = function () + { + return true; + }; + Cnds.prototype.OnPageHidden = function () + { + return true; + }; + Cnds.prototype.OnResize = function () + { + return true; + }; + Cnds.prototype.IsFullscreen = function () + { + return !!(document["mozFullScreen"] || document["webkitIsFullScreen"] || document["fullScreen"] || this.runtime.isNodeFullscreen); + }; + Cnds.prototype.OnBackButton = function () + { + return true; + }; + Cnds.prototype.OnMenuButton = function () + { + return true; + }; + Cnds.prototype.OnSearchButton = function () + { + return true; + }; + Cnds.prototype.IsMetered = function () + { + var connection = navigator["connection"] || navigator["mozConnection"] || navigator["webkitConnection"]; + if (!connection) + return false; + return !!connection["metered"]; + }; + Cnds.prototype.IsCharging = function () + { + var battery = navigator["battery"] || navigator["mozBattery"] || navigator["webkitBattery"]; + if (battery) + { + return !!battery["charging"] + } + else + { + maybeLoadBatteryManager(); + if (batteryManager) + { + return !!batteryManager["charging"]; + } + else + { + return true; // if unknown, default to charging (powered) + } + } + }; + Cnds.prototype.IsPortraitLandscape = function (p) + { + var current = (window.innerWidth <= window.innerHeight ? 0 : 1); + return current === p; + }; + Cnds.prototype.SupportsFullscreen = function () + { + if (this.runtime.isNodeWebkit) + return true; + var elem = this.runtime.canvasdiv || this.runtime.canvas; + return !!(elem["requestFullscreen"] || elem["mozRequestFullScreen"] || elem["msRequestFullscreen"] || elem["webkitRequestFullScreen"]); + }; + Cnds.prototype.OnUpdateFound = function () + { + return true; + }; + Cnds.prototype.OnUpdateReady = function () + { + return true; + }; + Cnds.prototype.OnOfflineReady = function () + { + return true; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.Alert = function (msg) + { + if (!this.runtime.isDomFree) + alert(msg.toString()); + }; + Acts.prototype.Close = function () + { + if (this.runtime.isCocoonJs) + CocoonJS["App"]["forceToFinish"](); + else if (window["tizen"]) + window["tizen"]["application"]["getCurrentApplication"]()["exit"](); + else if (navigator["app"] && navigator["app"]["exitApp"]) + navigator["app"]["exitApp"](); + else if (navigator["device"] && navigator["device"]["exitApp"]) + navigator["device"]["exitApp"](); + else if (!this.is_arcade && !this.runtime.isDomFree) + window.close(); + }; + Acts.prototype.Focus = function () + { + if (this.runtime.isNodeWebkit) + { + var win = window["nwgui"]["Window"]["get"](); + win["focus"](); + } + else if (!this.is_arcade && !this.runtime.isDomFree) + window.focus(); + }; + Acts.prototype.Blur = function () + { + if (this.runtime.isNodeWebkit) + { + var win = window["nwgui"]["Window"]["get"](); + win["blur"](); + } + else if (!this.is_arcade && !this.runtime.isDomFree) + window.blur(); + }; + Acts.prototype.GoBack = function () + { + if (navigator["app"] && navigator["app"]["backHistory"]) + navigator["app"]["backHistory"](); + else if (!this.is_arcade && !this.runtime.isDomFree && window.back) + window.back(); + }; + Acts.prototype.GoForward = function () + { + if (!this.is_arcade && !this.runtime.isDomFree && window.forward) + window.forward(); + }; + Acts.prototype.GoHome = function () + { + if (!this.is_arcade && !this.runtime.isDomFree && window.home) + window.home(); + }; + Acts.prototype.GoToURL = function (url, target) + { + if (this.runtime.isCocoonJs) + CocoonJS["App"]["openURL"](url); + else if (this.runtime.isEjecta) + ejecta["openURL"](url); + else if (this.runtime.isWinJS) + Windows["System"]["Launcher"]["launchUriAsync"](new Windows["Foundation"]["Uri"](url)); + else if (navigator["app"] && navigator["app"]["loadUrl"]) + navigator["app"]["loadUrl"](url, { "openExternal": true }); + else if (this.runtime.isCordova) + window.open(url, "_system"); + else if (!this.is_arcade && !this.runtime.isDomFree) + { + if (target === 2 && !this.is_arcade) // top + window.top.location = url; + else if (target === 1 && !this.is_arcade) // parent + window.parent.location = url; + else // self + window.location = url; + } + }; + Acts.prototype.GoToURLWindow = function (url, tag) + { + if (this.runtime.isCocoonJs) + CocoonJS["App"]["openURL"](url); + else if (this.runtime.isEjecta) + ejecta["openURL"](url); + else if (this.runtime.isWinJS) + Windows["System"]["Launcher"]["launchUriAsync"](new Windows["Foundation"]["Uri"](url)); + else if (navigator["app"] && navigator["app"]["loadUrl"]) + navigator["app"]["loadUrl"](url, { "openExternal": true }); + else if (this.runtime.isCordova) + window.open(url, "_system"); + else if (!this.is_arcade && !this.runtime.isDomFree) + window.open(url, tag); + }; + Acts.prototype.Reload = function () + { + if (!this.is_arcade && !this.runtime.isDomFree) + window.location.reload(); + }; + var firstRequestFullscreen = true; + var crruntime = null; + function onFullscreenError(e) + { + if (console && console.warn) + console.warn("Fullscreen request failed: ", e); + crruntime["setSize"](window.innerWidth, window.innerHeight); + }; + Acts.prototype.RequestFullScreen = function (stretchmode) + { + if (this.runtime.isDomFree) + { + cr.logexport("[Construct 2] Requesting fullscreen is not supported on this platform - the request has been ignored"); + return; + } + if (stretchmode >= 2) + stretchmode += 1; + if (stretchmode === 6) + stretchmode = 2; + if (this.runtime.isNodeWebkit) + { + if (this.runtime.isDebug) + { + debuggerFullscreen(true); + } + else if (!this.runtime.isNodeFullscreen && window["nwgui"]) + { + window["nwgui"]["Window"]["get"]()["enterFullscreen"](); + this.runtime.isNodeFullscreen = true; + this.runtime.fullscreen_scaling = (stretchmode >= 2 ? stretchmode : 0); + } + } + else + { + if (document["mozFullScreen"] || document["webkitIsFullScreen"] || !!document["msFullscreenElement"] || document["fullScreen"] || document["fullScreenElement"]) + { + return; + } + this.runtime.fullscreen_scaling = (stretchmode >= 2 ? stretchmode : 0); + var elem = document.documentElement; + if (firstRequestFullscreen) + { + firstRequestFullscreen = false; + crruntime = this.runtime; + elem.addEventListener("mozfullscreenerror", onFullscreenError); + elem.addEventListener("webkitfullscreenerror", onFullscreenError); + elem.addEventListener("MSFullscreenError", onFullscreenError); + elem.addEventListener("fullscreenerror", onFullscreenError); + } + if (elem["requestFullscreen"]) + elem["requestFullscreen"](); + else if (elem["mozRequestFullScreen"]) + elem["mozRequestFullScreen"](); + else if (elem["msRequestFullscreen"]) + elem["msRequestFullscreen"](); + else if (elem["webkitRequestFullScreen"]) + { + if (typeof Element !== "undefined" && typeof Element["ALLOW_KEYBOARD_INPUT"] !== "undefined") + elem["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]); + else + elem["webkitRequestFullScreen"](); + } + } + }; + Acts.prototype.CancelFullScreen = function () + { + if (this.runtime.isDomFree) + { + cr.logexport("[Construct 2] Exiting fullscreen is not supported on this platform - the request has been ignored"); + return; + } + if (this.runtime.isNodeWebkit) + { + if (this.runtime.isDebug) + { + debuggerFullscreen(false); + } + else if (this.runtime.isNodeFullscreen && window["nwgui"]) + { + window["nwgui"]["Window"]["get"]()["leaveFullscreen"](); + this.runtime.isNodeFullscreen = false; + } + } + else + { + if (document["exitFullscreen"]) + document["exitFullscreen"](); + else if (document["mozCancelFullScreen"]) + document["mozCancelFullScreen"](); + else if (document["msExitFullscreen"]) + document["msExitFullscreen"](); + else if (document["webkitCancelFullScreen"]) + document["webkitCancelFullScreen"](); + } + }; + Acts.prototype.Vibrate = function (pattern_) + { + try { + var arr = pattern_.split(","); + var i, len; + for (i = 0, len = arr.length; i < len; i++) + { + arr[i] = parseInt(arr[i], 10); + } + if (navigator["vibrate"]) + navigator["vibrate"](arr); + else if (navigator["mozVibrate"]) + navigator["mozVibrate"](arr); + else if (navigator["webkitVibrate"]) + navigator["webkitVibrate"](arr); + else if (navigator["msVibrate"]) + navigator["msVibrate"](arr); + } + catch (e) {} + }; + Acts.prototype.InvokeDownload = function (url_, filename_) + { + var a = document.createElement("a"); + if (typeof a["download"] === "undefined") + { + window.open(url_); + } + else + { + var body = document.getElementsByTagName("body")[0]; + a.textContent = filename_; + a.href = url_; + a["download"] = filename_; + body.appendChild(a); + var clickEvent = new MouseEvent("click"); + a.dispatchEvent(clickEvent); + body.removeChild(a); + } + }; + Acts.prototype.InvokeDownloadString = function (str_, mimetype_, filename_) + { + var datauri = "data:" + mimetype_ + "," + encodeURIComponent(str_); + var a = document.createElement("a"); + if (typeof a["download"] === "undefined") + { + window.open(datauri); + } + else + { + var body = document.getElementsByTagName("body")[0]; + a.textContent = filename_; + a.href = datauri; + a["download"] = filename_; + body.appendChild(a); + var clickEvent = new MouseEvent("click"); + a.dispatchEvent(clickEvent); + body.removeChild(a); + } + }; + Acts.prototype.ConsoleLog = function (type_, msg_) + { + if (typeof console === "undefined") + return; + if (type_ === 0 && console.log) + console.log(msg_.toString()); + if (type_ === 1 && console.warn) + console.warn(msg_.toString()); + if (type_ === 2 && console.error) + console.error(msg_.toString()); + }; + Acts.prototype.ConsoleGroup = function (name_) + { + if (console && console.group) + console.group(name_); + }; + Acts.prototype.ConsoleGroupEnd = function () + { + if (console && console.groupEnd) + console.groupEnd(); + }; + Acts.prototype.ExecJs = function (js_) + { + try { + if (eval) + eval(js_); + } + catch (e) + { + if (console && console.error) + console.error("Error executing Javascript: ", e); + } + }; + var orientations = [ + "portrait", + "landscape", + "portrait-primary", + "portrait-secondary", + "landscape-primary", + "landscape-secondary" + ]; + Acts.prototype.LockOrientation = function (o) + { + o = Math.floor(o); + if (o < 0 || o >= orientations.length) + return; + this.runtime.autoLockOrientation = false; + var orientation = orientations[o]; + if (screen["orientation"] && screen["orientation"]["lock"]) + screen["orientation"]["lock"](orientation); + else if (screen["lockOrientation"]) + screen["lockOrientation"](orientation); + else if (screen["webkitLockOrientation"]) + screen["webkitLockOrientation"](orientation); + else if (screen["mozLockOrientation"]) + screen["mozLockOrientation"](orientation); + else if (screen["msLockOrientation"]) + screen["msLockOrientation"](orientation); + }; + Acts.prototype.UnlockOrientation = function () + { + this.runtime.autoLockOrientation = false; + if (screen["orientation"] && screen["orientation"]["unlock"]) + screen["orientation"]["unlock"](); + else if (screen["unlockOrientation"]) + screen["unlockOrientation"](); + else if (screen["webkitUnlockOrientation"]) + screen["webkitUnlockOrientation"](); + else if (screen["mozUnlockOrientation"]) + screen["mozUnlockOrientation"](); + else if (screen["msUnlockOrientation"]) + screen["msUnlockOrientation"](); + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.URL = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : window.location.toString()); + }; + Exps.prototype.Protocol = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : window.location.protocol); + }; + Exps.prototype.Domain = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : window.location.hostname); + }; + Exps.prototype.PathName = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : window.location.pathname); + }; + Exps.prototype.Hash = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : window.location.hash); + }; + Exps.prototype.Referrer = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : document.referrer); + }; + Exps.prototype.Title = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : document.title); + }; + Exps.prototype.Name = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : navigator.appName); + }; + Exps.prototype.Version = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : navigator.appVersion); + }; + Exps.prototype.Language = function (ret) + { + if (navigator && navigator.language) + ret.set_string(navigator.language); + else + ret.set_string(""); + }; + Exps.prototype.Platform = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : navigator.platform); + }; + Exps.prototype.Product = function (ret) + { + if (navigator && navigator.product) + ret.set_string(navigator.product); + else + ret.set_string(""); + }; + Exps.prototype.Vendor = function (ret) + { + if (navigator && navigator.vendor) + ret.set_string(navigator.vendor); + else + ret.set_string(""); + }; + Exps.prototype.UserAgent = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : navigator.userAgent); + }; + Exps.prototype.QueryString = function (ret) + { + ret.set_string(this.runtime.isDomFree ? "" : window.location.search); + }; + Exps.prototype.QueryParam = function (ret, paramname) + { + if (this.runtime.isDomFree) + { + ret.set_string(""); + return; + } + var match = RegExp('[?&]' + paramname + '=([^&]*)').exec(window.location.search); + if (match) + ret.set_string(decodeURIComponent(match[1].replace(/\+/g, ' '))); + else + ret.set_string(""); + }; + Exps.prototype.Bandwidth = function (ret) + { + var connection = navigator["connection"] || navigator["mozConnection"] || navigator["webkitConnection"]; + if (!connection) + ret.set_float(Number.POSITIVE_INFINITY); + else + { + if (typeof connection["bandwidth"] !== "undefined") + ret.set_float(connection["bandwidth"]); + else if (typeof connection["downlinkMax"] !== "undefined") + ret.set_float(connection["downlinkMax"]); + else + ret.set_float(Number.POSITIVE_INFINITY); + } + }; + Exps.prototype.ConnectionType = function (ret) + { + var connection = navigator["connection"] || navigator["mozConnection"] || navigator["webkitConnection"]; + if (!connection) + ret.set_string("unknown"); + else + { + ret.set_string(connection["type"] || "unknown"); + } + }; + Exps.prototype.BatteryLevel = function (ret) + { + var battery = navigator["battery"] || navigator["mozBattery"] || navigator["webkitBattery"]; + if (battery) + { + ret.set_float(battery["level"]); + } + else + { + maybeLoadBatteryManager(); + if (batteryManager) + { + ret.set_float(batteryManager["level"]); + } + else + { + ret.set_float(1); // not supported/unknown: assume charged + } + } + }; + Exps.prototype.BatteryTimeLeft = function (ret) + { + var battery = navigator["battery"] || navigator["mozBattery"] || navigator["webkitBattery"]; + if (battery) + { + ret.set_float(battery["dischargingTime"]); + } + else + { + maybeLoadBatteryManager(); + if (batteryManager) + { + ret.set_float(batteryManager["dischargingTime"]); + } + else + { + ret.set_float(Number.POSITIVE_INFINITY); // not supported/unknown: assume infinite time left + } + } + }; + Exps.prototype.ExecJS = function (ret, js_) + { + if (!eval) + { + ret.set_any(0); + return; + } + var result = 0; + try { + result = eval(js_); + } + catch (e) + { + if (console && console.error) + console.error("Error executing Javascript: ", e); + } + if (typeof result === "number") + ret.set_any(result); + else if (typeof result === "string") + ret.set_any(result); + else if (typeof result === "boolean") + ret.set_any(result ? 1 : 0); + else + ret.set_any(0); + }; + Exps.prototype.ScreenWidth = function (ret) + { + ret.set_int(screen.width); + }; + Exps.prototype.ScreenHeight = function (ret) + { + ret.set_int(screen.height); + }; + Exps.prototype.DevicePixelRatio = function (ret) + { + ret.set_float(this.runtime.devicePixelRatio); + }; + Exps.prototype.WindowInnerWidth = function (ret) + { + ret.set_int(window.innerWidth); + }; + Exps.prototype.WindowInnerHeight = function (ret) + { + ret.set_int(window.innerHeight); + }; + Exps.prototype.WindowOuterWidth = function (ret) + { + ret.set_int(window.outerWidth); + }; + Exps.prototype.WindowOuterHeight = function (ret) + { + ret.set_int(window.outerHeight); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.Dictionary = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.Dictionary.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + this.dictionary = {}; + this.cur_key = ""; // current key in for-each loop + this.key_count = 0; + }; + instanceProto.saveToJSON = function () + { + return this.dictionary; + }; + instanceProto.loadFromJSON = function (o) + { + this.dictionary = o; + this.key_count = 0; + for (var p in this.dictionary) + { + if (this.dictionary.hasOwnProperty(p)) + this.key_count++; + } + }; + function Cnds() {}; + Cnds.prototype.CompareValue = function (key_, cmp_, value_) + { + return cr.do_cmp(this.dictionary[key_], cmp_, value_); + }; + Cnds.prototype.ForEachKey = function () + { + var current_event = this.runtime.getCurrentEventStack().current_event; + for (var p in this.dictionary) + { + if (this.dictionary.hasOwnProperty(p)) + { + this.cur_key = p; + this.runtime.pushCopySol(current_event.solModifiers); + current_event.retrigger(); + this.runtime.popSol(current_event.solModifiers); + } + } + this.cur_key = ""; + return false; + }; + Cnds.prototype.CompareCurrentValue = function (cmp_, value_) + { + return cr.do_cmp(this.dictionary[this.cur_key], cmp_, value_); + }; + Cnds.prototype.HasKey = function (key_) + { + return this.dictionary.hasOwnProperty(key_); + }; + Cnds.prototype.IsEmpty = function () + { + return this.key_count === 0; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.AddKey = function (key_, value_) + { + if (!this.dictionary.hasOwnProperty(key_)) + this.key_count++; + this.dictionary[key_] = value_; + }; + Acts.prototype.SetKey = function (key_, value_) + { + if (this.dictionary.hasOwnProperty(key_)) + this.dictionary[key_] = value_; + }; + Acts.prototype.DeleteKey = function (key_) + { + if (this.dictionary.hasOwnProperty(key_)) + { + delete this.dictionary[key_]; + this.key_count--; + } + }; + Acts.prototype.Clear = function () + { + cr.wipe(this.dictionary); // avoid garbaging + this.key_count = 0; + }; + Acts.prototype.JSONLoad = function (json_) + { + var o; + try { + o = JSON.parse(json_); + } + catch(e) { return; } + if (!o["c2dictionary"]) // presumably not a c2dictionary object + return; + this.dictionary = o["data"]; + this.key_count = 0; + for (var p in this.dictionary) + { + if (this.dictionary.hasOwnProperty(p)) + this.key_count++; + } + }; + Acts.prototype.JSONDownload = function (filename) + { + var a = document.createElement("a"); + if (typeof a.download === "undefined") + { + var str = 'data:text/html,' + encodeURIComponent("

Download link

"); + window.open(str); + } + else + { + var body = document.getElementsByTagName("body")[0]; + a.textContent = filename; + a.href = "data:application/json," + encodeURIComponent(JSON.stringify({ + "c2dictionary": true, + "data": this.dictionary + })); + a.download = filename; + body.appendChild(a); + var clickEvent = document.createEvent("MouseEvent"); + clickEvent.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); + a.dispatchEvent(clickEvent); + body.removeChild(a); + } + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.Get = function (ret, key_) + { + if (this.dictionary.hasOwnProperty(key_)) + ret.set_any(this.dictionary[key_]); + else + ret.set_int(0); + }; + Exps.prototype.KeyCount = function (ret) + { + ret.set_int(this.key_count); + }; + Exps.prototype.CurrentKey = function (ret) + { + ret.set_string(this.cur_key); + }; + Exps.prototype.CurrentValue = function (ret) + { + if (this.dictionary.hasOwnProperty(this.cur_key)) + ret.set_any(this.dictionary[this.cur_key]); + else + ret.set_int(0); + }; + Exps.prototype.AsJSON = function (ret) + { + ret.set_string(JSON.stringify({ + "c2dictionary": true, + "data": this.dictionary + })); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.Function = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.Function.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + var funcStack = []; + var funcStackPtr = -1; + var isInPreview = false; // set in onCreate + function FuncStackEntry() + { + this.name = ""; + this.retVal = 0; + this.params = []; + }; + function pushFuncStack() + { + funcStackPtr++; + if (funcStackPtr === funcStack.length) + funcStack.push(new FuncStackEntry()); + return funcStack[funcStackPtr]; + }; + function getCurrentFuncStack() + { + if (funcStackPtr < 0) + return null; + return funcStack[funcStackPtr]; + }; + function getOneAboveFuncStack() + { + if (!funcStack.length) + return null; + var i = funcStackPtr + 1; + if (i >= funcStack.length) + i = funcStack.length - 1; + return funcStack[i]; + }; + function popFuncStack() + { +; + funcStackPtr--; + }; + instanceProto.onCreate = function() + { + isInPreview = (typeof cr_is_preview !== "undefined"); + var self = this; + window["c2_callFunction"] = function (name_, params_) + { + var i, len, v; + var fs = pushFuncStack(); + fs.name = name_.toLowerCase(); + fs.retVal = 0; + if (params_) + { + fs.params.length = params_.length; + for (i = 0, len = params_.length; i < len; ++i) + { + v = params_[i]; + if (typeof v === "number" || typeof v === "string") + fs.params[i] = v; + else if (typeof v === "boolean") + fs.params[i] = (v ? 1 : 0); + else + fs.params[i] = 0; + } + } + else + { + cr.clearArray(fs.params); + } + self.runtime.trigger(cr.plugins_.Function.prototype.cnds.OnFunction, self, fs.name); + popFuncStack(); + return fs.retVal; + }; + }; + function Cnds() {}; + Cnds.prototype.OnFunction = function (name_) + { + var fs = getCurrentFuncStack(); + if (!fs) + return false; + return cr.equals_nocase(name_, fs.name); + }; + Cnds.prototype.CompareParam = function (index_, cmp_, value_) + { + var fs = getCurrentFuncStack(); + if (!fs) + return false; + index_ = cr.floor(index_); + if (index_ < 0 || index_ >= fs.params.length) + return false; + return cr.do_cmp(fs.params[index_], cmp_, value_); + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.CallFunction = function (name_, params_) + { + var fs = pushFuncStack(); + fs.name = name_.toLowerCase(); + fs.retVal = 0; + cr.shallowAssignArray(fs.params, params_); + var ran = this.runtime.trigger(cr.plugins_.Function.prototype.cnds.OnFunction, this, fs.name); + if (isInPreview && !ran) + { +; + } + popFuncStack(); + }; + Acts.prototype.SetReturnValue = function (value_) + { + var fs = getCurrentFuncStack(); + if (fs) + fs.retVal = value_; + else +; + }; + Acts.prototype.CallExpression = function (unused) + { + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.ReturnValue = function (ret) + { + var fs = getOneAboveFuncStack(); + if (fs) + ret.set_any(fs.retVal); + else + ret.set_int(0); + }; + Exps.prototype.ParamCount = function (ret) + { + var fs = getCurrentFuncStack(); + if (fs) + ret.set_int(fs.params.length); + else + { +; + ret.set_int(0); + } + }; + Exps.prototype.Param = function (ret, index_) + { + index_ = cr.floor(index_); + var fs = getCurrentFuncStack(); + if (fs) + { + if (index_ >= 0 && index_ < fs.params.length) + { + ret.set_any(fs.params[index_]); + } + else + { +; + ret.set_int(0); + } + } + else + { +; + ret.set_int(0); + } + }; + Exps.prototype.Call = function (ret, name_) + { + var fs = pushFuncStack(); + fs.name = name_.toLowerCase(); + fs.retVal = 0; + cr.clearArray(fs.params); + var i, len; + for (i = 2, len = arguments.length; i < len; i++) + fs.params.push(arguments[i]); + var ran = this.runtime.trigger(cr.plugins_.Function.prototype.cnds.OnFunction, this, fs.name); + if (isInPreview && !ran) + { +; + } + popFuncStack(); + ret.set_any(fs.retVal); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.IDNet = function(runtime) { + this.runtime = runtime; +}; +(function() { + var pluginProto = cr.plugins_.IDNet.prototype; + pluginProto.Type = function(plugin) { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + var _document = null; + var _unsafeWindow = null; + var idNetRuntime = null; + var idNetInst = null; + var idnetUserName = "Guest"; + var authorized = false; + var userAuthorized = false; + var idnetSessionKey = ""; + var onlineSavesData = ""; + var isBlacklisted = 0; + var isSponsor = 0; + var gotSaveData = 0; + var gameBreakVisible = 1; + typeProto.onCreate = function() { + }; + pluginProto.Instance = function(type) { + this.type = type; + this.runtime = type.runtime; + idNetRuntime = this.runtime; + idNetInst = this; + this._document = window.document; + this._unsafeWindow = this._document.defaultView; + }; + function ShowLeaderBoardCallback(response) { + } + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + }; + instanceProto.onDestroy = function () + { + }; + instanceProto.draw = function(ctx) + { + }; + instanceProto.drawGL = function (glw) + { + }; + function Cnds() {}; + Cnds.prototype.isAuthorized = function () { + return idNetInst.authorized; + }; + Cnds.prototype.isNotAuthorized = function () { + return !idNetInst.authorized; + }; + Cnds.prototype.UserIsAuthorized = function () { + return idNetInst.userAuthorized; + }; + Cnds.prototype.UserIsNotAuthorized = function () { + return !idNetInst.userAuthorized; + }; + Cnds.prototype.blacklisted = function () { + return idNetInst.isBlacklisted; + }; + Cnds.prototype.sponsored = function () { + return idNetInst.isSponsor; + }; + Cnds.prototype.dataReady = function () { + if (idNetInst.gotSaveData === 1) { + idNetInst.gotSaveData = 0; + return 1; + } + }; + Cnds.prototype.menuVisible = function() { + if (window.ID && ID.isVisible()) { + return 1; + } + }; + Cnds.prototype.gameBreakVisible = function() { + return idNetInst.gameBreakVisible; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.Inititalize = function(appid_) { + console.log('init with appid ' + appid_); + (function(d, s, id){ + var js, fjs = d.getElementsByTagName(s)[0]; + if (d.getElementById(id)) {return;} + js = d.createElement(s); js.id = id; + js.src = document.location.protocol == 'https:' ? "https://cdn.y8.com/api/sdk.js" : "http://cdn.y8.com/api/sdk.js"; + fjs.parentNode.insertBefore(js, fjs); + }(document, 'script', 'id-jssdk')); + window.idAsyncInit = function() { + ID.Event.subscribe("id.init",function() { + window.idnet_autologin = function(response) { + if (response != null && response.user != null) { + console.log("Y8 autologin"); + idNetInst.idnetUserName = response.user.nickname; + idNetInst.userAuthorized = true; + ID.getLoginStatus(function(data) { + if (data.status == 'not_linked') { + ID.login(); + } + }); + } + } + var fjs = document.head.getElementsByTagName('meta')[0]; + if (document.getElementById('id-autologin')) { + var js_auto = document.getElementById('id-autologin'); + } else { + var js_auto = document.createElement('script'); + js_auto.id = 'id-autologin'; + js_auto.src = "https://account.y8.com/api/user_data/autologin?app_id=" + appid_ + "&callback=window.idnet_autologin"; + fjs.parentNode.insertBefore(js_auto, fjs); + } + console.log("Y8 initialized"); + ID.Protection.isBlacklisted(function(blacklisted) { + idNetInst.isBlacklisted = blacklisted; + }); + ID.Protection.isSponsor(function(sponsor) { + idNetInst.isSponsor = sponsor; + }); + }); + ID.init({ + appId : appid_ + }); + idNetInst.authorized = true; + } + }; + Acts.prototype.RegisterPopup = function() { + console.log("open registration menu"); + if (idNetInst.authorized) + ID.register(function (response) { + if(response == null) { + } else { + console.log("Registration complete"); + idNetInst.idnetUserName = response.authResponse.details.nickname; + idNetInst.userAuthorized = true; + } + }); + }; + Acts.prototype.LoginPopup = function() { + console.log("open login menu"); + if (idNetInst.authorized){ + ID.login(function (response) { + if(response == null) { + } else { + console.log("Login complete"); + idNetInst.idnetUserName = response.authResponse.details.nickname; + idNetInst.userAuthorized = true; + } + }); + } + }; + Acts.prototype.ShowLeaderBoard = function(table, mode, highest, allowduplicates) { + if (idNetInst.authorized) { + console.log('oi') + var options = { table: table, mode: mode, highest: !!highest, allowduplicates: !!allowduplicates }; + ID.GameAPI.Leaderboards.list(options); + } + }; + Acts.prototype.SubmitScore = function(score, table, allowduplicates, highest, playername) { + if (idNetInst.authorized) { + var score = { + table: table, + points: score, + allowduplicates: !!allowduplicates, + highest: !!highest, + playername: playername || idNetInst.idnetUserName + }; + ID.GameAPI.Leaderboards.save(score, function(response) { + console.log("score submitted", response); + }); + } + }; + Acts.prototype.SubmitProfileImage = function(image_) { + if (idNetInst.authorized) + ID.submit_image(image_, function(response){ + console.log("screenshot submitted", response); + }); + }; + Acts.prototype.AchievementSave = function(achievementTitle_, achievementKey_, overwrite_, allowduplicates_) { + if (idNetInst.authorized) { + var achievementData = { + achievement: achievementTitle_, + achievementkey: achievementKey_, + overwrite: overwrite_, + allowduplicates: allowduplicates_ + }; + ID.GameAPI.Achievements.save(achievementData, function(response) { + console.log("achievement saved", response); + }); + } + }; + Acts.prototype.ShowAchievements = function() { + if (idNetInst.authorized) { + ID.GameAPI.Achievements.list(); + } + }; + Acts.prototype.OnlineSavesSave = function(key_, value_) { + if (idNetInst.authorized) { + ID.api('user_data/submit', 'POST', {key: key_, value: value_}, function(response) { + console.log("save submitted", response); + }); + } + }; + Acts.prototype.OnlineSavesRemove = function(key_) { + if (idNetInst.authorized) { + ID.api('user_data/remove', 'POST', {key: key_}, function(response) { + console.log("save deleted", response); + }); + } + }; + Acts.prototype.OnlineSavesLoad = function(key_) { + if (idNetInst.authorized) { + ID.api('user_data/retrieve', 'POST', {key: key_}, function(response) { + if(response) { + idNetInst.onlineSavesData = response.jsondata; + idNetInst.gotSaveData = 1; + console.log("save loaded", response); + } + }); + } + }; + Acts.prototype.CheckIsBlacklisted = function () { + ID.Protection.isBlacklisted(function(blacklisted){ + console.log("check blacklist called", blacklisted); + idNetInst.isBlacklisted = blacklisted; + }); + }; + Acts.prototype.CheckIsSponsor = function () { + ID.Protection.isSponsor(function(sponsor){ + console.log("check sponser called", sponser); + idNetInst.isSponsor = sponsor; + }); + }; + Acts.prototype.openProfile = function () { + ID.openProfile(); + }; + Acts.prototype.gameBreak = function () { + idNetInst.gameBreakVisible = 1; + ID.gameBreak(function() { + idNetInst.gameBreakVisible = 0; + }); + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.UserName = function(ret) { + if(idNetInst.idnetUserName != undefined) { + ret.set_string(idNetInst.idnetUserName); + } + }; + Exps.prototype.SessionKey = function(ret) { + if(idnetSessionKey != undefined) { + ret.set_string(idnetSessionKey); + } + }; + Exps.prototype.GateOnlineSavesData = function (ret) { + ret.set_string(String(idNetInst.onlineSavesData)); + }; + Exps.prototype.GetIsBlacklisted = function(ret) { + if(idNetInst.isBlacklisted) { + ret.set_int(1); + } else { + ret.set_int(0); + } + }; + Exps.prototype.GetIsSponsor = function(ret) { + if(idNetInst.isSponsor) { + ret.set_int(1); + } else { + ret.set_int(0); + } + }; + pluginProto.exps = new Exps(); +}()); +; +; +var localForageInitFailed = false; +try { +/*! + localForage -- Offline Storage, Improved + Version 1.4.0 + https://mozilla.github.io/localForage + (c) 2013-2015 Mozilla, Apache License 2.0 +*/ +!function(){var a,b,c,d;!function(){var e={},f={};a=function(a,b,c){e[a]={deps:b,callback:c}},d=c=b=function(a){function c(b){if("."!==b.charAt(0))return b;for(var c=b.split("/"),d=a.split("/").slice(0,-1),e=0,f=c.length;f>e;e++){var g=c[e];if(".."===g)d.pop();else{if("."===g)continue;d.push(g)}}return d.join("/")}if(d._eak_seen=e,f[a])return f[a];if(f[a]={},!e[a])throw new Error("Could not find module "+a);for(var g,h=e[a],i=h.deps,j=h.callback,k=[],l=0,m=i.length;m>l;l++)"exports"===i[l]?k.push(g={}):k.push(b(c(i[l])));var n=j.apply(this,k);return f[a]=g||n}}(),a("promise/all",["./utils","exports"],function(a,b){"use strict";function c(a){var b=this;if(!d(a))throw new TypeError("You must pass an array to all.");return new b(function(b,c){function d(a){return function(b){f(a,b)}}function f(a,c){h[a]=c,0===--i&&b(h)}var g,h=[],i=a.length;0===i&&b([]);for(var j=0;jc;c++){var e=a[c];this.supports(e)&&b.push(e)}return b},a.prototype._wrapLibraryMethodsWithReady=function(){for(var a=0;ae;e++)d[e]=a.charCodeAt(e);return c}function d(a){return new Promise(function(b,c){var d=new XMLHttpRequest;d.open("GET",a),d.withCredentials=!0,d.responseType="arraybuffer",d.onreadystatechange=function(){return 4===d.readyState?200===d.status?b({response:d.response,type:d.getResponseHeader("Content-Type")}):void c({status:d.status,response:d.response}):void 0},d.send()})}function e(a){return new Promise(function(c,e){var f=b([""],{type:"image/png"}),g=a.transaction([D],"readwrite");g.objectStore(D).put(f,"key"),g.oncomplete=function(){var b=a.transaction([D],"readwrite"),f=b.objectStore(D).get("key");f.onerror=e,f.onsuccess=function(a){var b=a.target.result,e=URL.createObjectURL(b);d(e).then(function(a){c(!(!a||"image/png"!==a.type))},function(){c(!1)}).then(function(){URL.revokeObjectURL(e)})}},g.onerror=g.onabort=e})["catch"](function(){return!1})}function f(a){return"boolean"==typeof B?Promise.resolve(B):e(a).then(function(a){return B=a})}function g(a){return new Promise(function(b,c){var d=new FileReader;d.onerror=c,d.onloadend=function(c){var d=btoa(c.target.result||"");b({__local_forage_encoded_blob:!0,data:d,type:a.type})},d.readAsBinaryString(a)})}function h(a){var d=c(atob(a.data));return b([d],{type:a.type})}function i(a){return a&&a.__local_forage_encoded_blob}function j(a){var b=this,c=b._initReady().then(function(){var a=C[b._dbInfo.name];return a&&a.dbReady?a.dbReady:void 0});return c.then(a,a),c}function k(a){var b=C[a.name],c={};c.promise=new Promise(function(a){c.resolve=a}),b.deferredOperations.push(c),b.dbReady?b.dbReady=b.dbReady.then(function(){return c.promise}):b.dbReady=c.promise}function l(a){var b=C[a.name],c=b.deferredOperations.pop();c&&c.resolve()}function m(a){function b(){return Promise.resolve()}var c=this,d={db:null};if(a)for(var e in a)d[e]=a[e];C||(C={});var f=C[d.name];f||(f={forages:[],db:null,dbReady:null,deferredOperations:[]},C[d.name]=f),f.forages.push(c),c._initReady||(c._initReady=c.ready,c.ready=j);for(var g=[],h=0;hb.db.version;if(e&&(b.version!==c&&a.console.warn('The database "'+b.name+"\" can't be downgraded from version "+b.db.version+" to version "+b.version+"."),b.version=b.db.version),f||d){if(d){var g=b.db.version+1;g>b.version&&(b.version=g)}return!0}return!1}function r(b,c){var d=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var e=new Promise(function(a,c){d.ready().then(function(){var e=d._dbInfo,f=e.db.transaction(e.storeName,"readonly").objectStore(e.storeName),g=f.get(b);g.onsuccess=function(){var b=g.result;void 0===b&&(b=null),i(b)&&(b=h(b)),a(b)},g.onerror=function(){c(g.error)}})["catch"](c)});return z(e,c),e}function s(a,b){var c=this,d=new Promise(function(b,d){c.ready().then(function(){var e=c._dbInfo,f=e.db.transaction(e.storeName,"readonly").objectStore(e.storeName),g=f.openCursor(),j=1;g.onsuccess=function(){var c=g.result;if(c){var d=c.value;i(d)&&(d=h(d));var e=a(d,c.key,j++);void 0!==e?b(e):c["continue"]()}else b()},g.onerror=function(){d(g.error)}})["catch"](d)});return z(d,b),d}function t(b,c,d){var e=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var h=new Promise(function(a,d){var h;e.ready().then(function(){return h=e._dbInfo,c instanceof Blob?f(h.db).then(function(a){return a?c:g(c)}):c}).then(function(c){var e=h.db.transaction(h.storeName,"readwrite"),f=e.objectStore(h.storeName);null===c&&(c=void 0),e.oncomplete=function(){void 0===c&&(c=null),a(c)},e.onabort=e.onerror=function(){var a=g.error?g.error:g.transaction.error;d(a)};var g=f.put(c,b)})["catch"](d)});return z(h,d),h}function u(b,c){var d=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var e=new Promise(function(a,c){d.ready().then(function(){var e=d._dbInfo,f=e.db.transaction(e.storeName,"readwrite"),g=f.objectStore(e.storeName),h=g["delete"](b);f.oncomplete=function(){a()},f.onerror=function(){c(h.error)},f.onabort=function(){var a=h.error?h.error:h.transaction.error;c(a)}})["catch"](c)});return z(e,c),e}function v(a){var b=this,c=new Promise(function(a,c){b.ready().then(function(){var d=b._dbInfo,e=d.db.transaction(d.storeName,"readwrite"),f=e.objectStore(d.storeName),g=f.clear();e.oncomplete=function(){a()},e.onabort=e.onerror=function(){var a=g.error?g.error:g.transaction.error;c(a)}})["catch"](c)});return z(c,a),c}function w(a){var b=this,c=new Promise(function(a,c){b.ready().then(function(){var d=b._dbInfo,e=d.db.transaction(d.storeName,"readonly").objectStore(d.storeName),f=e.count();f.onsuccess=function(){a(f.result)},f.onerror=function(){c(f.error)}})["catch"](c)});return z(c,a),c}function x(a,b){var c=this,d=new Promise(function(b,d){return 0>a?void b(null):void c.ready().then(function(){var e=c._dbInfo,f=e.db.transaction(e.storeName,"readonly").objectStore(e.storeName),g=!1,h=f.openCursor();h.onsuccess=function(){var c=h.result;return c?void(0===a?b(c.key):g?b(c.key):(g=!0,c.advance(a))):void b(null)},h.onerror=function(){d(h.error)}})["catch"](d)});return z(d,b),d}function y(a){var b=this,c=new Promise(function(a,c){b.ready().then(function(){var d=b._dbInfo,e=d.db.transaction(d.storeName,"readonly").objectStore(d.storeName),f=e.openCursor(),g=[];f.onsuccess=function(){var b=f.result;return b?(g.push(b.key),void b["continue"]()):void a(g)},f.onerror=function(){c(f.error)}})["catch"](c)});return z(c,a),c}function z(a,b){b&&a.then(function(a){b(null,a)},function(a){b(a)})}var A=A||a.indexedDB||a.webkitIndexedDB||a.mozIndexedDB||a.OIndexedDB||a.msIndexedDB;if(A){var B,C,D="local-forage-detect-blob-support",E={_driver:"asyncStorage",_initStorage:m,iterate:s,getItem:r,setItem:t,removeItem:u,clear:v,length:w,key:x,keys:y};return E}}("undefined"!=typeof window?window:self);b["default"]=c,a.exports=b["default"]},function(a,b,c){"use strict";b.__esModule=!0;var d=function(a){function b(a){var b=this,d={};if(a)for(var e in a)d[e]=a[e];return d.keyPrefix=d.name+"/",d.storeName!==b._defaultConfig.storeName&&(d.keyPrefix+=d.storeName+"/"),b._dbInfo=d,new Promise(function(a,b){a(c(3))}).then(function(a){return d.serializer=a,Promise.resolve()})}function d(a){var b=this,c=b.ready().then(function(){for(var a=b._dbInfo.keyPrefix,c=m.length-1;c>=0;c--){var d=m.key(c);0===d.indexOf(a)&&m.removeItem(d)}});return l(c,a),c}function e(b,c){var d=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var e=d.ready().then(function(){var a=d._dbInfo,c=m.getItem(a.keyPrefix+b);return c&&(c=a.serializer.deserialize(c)),c});return l(e,c),e}function f(a,b){var c=this,d=c.ready().then(function(){for(var b=c._dbInfo,d=b.keyPrefix,e=d.length,f=m.length,g=1,h=0;f>h;h++){var i=m.key(h);if(0===i.indexOf(d)){var j=m.getItem(i);if(j&&(j=b.serializer.deserialize(j)),j=a(j,i.substring(e),g++),void 0!==j)return j}}});return l(d,b),d}function g(a,b){var c=this,d=c.ready().then(function(){var b,d=c._dbInfo;try{b=m.key(a)}catch(e){b=null}return b&&(b=b.substring(d.keyPrefix.length)),b});return l(d,b),d}function h(a){var b=this,c=b.ready().then(function(){for(var a=b._dbInfo,c=m.length,d=[],e=0;c>e;e++)0===m.key(e).indexOf(a.keyPrefix)&&d.push(m.key(e).substring(a.keyPrefix.length));return d});return l(c,a),c}function i(a){var b=this,c=b.keys().then(function(a){return a.length});return l(c,a),c}function j(b,c){var d=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var e=d.ready().then(function(){var a=d._dbInfo;m.removeItem(a.keyPrefix+b)});return l(e,c),e}function k(b,c,d){var e=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var f=e.ready().then(function(){void 0===c&&(c=null);var a=c;return new Promise(function(d,f){var g=e._dbInfo;g.serializer.serialize(c,function(c,e){if(e)f(e);else try{m.setItem(g.keyPrefix+b,c),d(a)}catch(h){("QuotaExceededError"===h.name||"NS_ERROR_DOM_QUOTA_REACHED"===h.name)&&f(h),f(h)}})})});return l(f,d),f}function l(a,b){b&&a.then(function(a){b(null,a)},function(a){b(a)})}var m=null;try{if(!(a.localStorage&&"setItem"in a.localStorage))return;m=a.localStorage}catch(n){return}var o={_driver:"localStorageWrapper",_initStorage:b,iterate:f,getItem:e,setItem:k,removeItem:j,clear:d,length:i,key:g,keys:h};return o}("undefined"!=typeof window?window:self);b["default"]=d,a.exports=b["default"]},function(a,b){"use strict";b.__esModule=!0;var c=function(a){function b(b,c){b=b||[],c=c||{};try{return new Blob(b,c)}catch(d){if("TypeError"!==d.name)throw d;for(var e=a.BlobBuilder||a.MSBlobBuilder||a.MozBlobBuilder||a.WebKitBlobBuilder,f=new e,g=0;gb;b+=4)c=g.indexOf(a[b]),d=g.indexOf(a[b+1]),e=g.indexOf(a[b+2]),f=g.indexOf(a[b+3]),l[j++]=c<<2|d>>4,l[j++]=(15&d)<<4|e>>2,l[j++]=(3&e)<<6|63&f;return k}function f(a){var b,c=new Uint8Array(a),d="";for(b=0;b>2],d+=g[(3&c[b])<<4|c[b+1]>>4],d+=g[(15&c[b+1])<<2|c[b+2]>>6],d+=g[63&c[b+2]];return c.length%3===2?d=d.substring(0,d.length-1)+"=":c.length%3===1&&(d=d.substring(0,d.length-2)+"=="),d}var g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h="~~local_forage_type~",i=/^~~local_forage_type~([^~]+)~/,j="__lfsc__:",k=j.length,l="arbf",m="blob",n="si08",o="ui08",p="uic8",q="si16",r="si32",s="ur16",t="ui32",u="fl32",v="fl64",w=k+l.length,x={serialize:c,deserialize:d,stringToBuffer:e,bufferToString:f};return x}("undefined"!=typeof window?window:self);b["default"]=c,a.exports=b["default"]},function(a,b,c){"use strict";b.__esModule=!0;var d=function(a){function b(a){var b=this,d={db:null};if(a)for(var e in a)d[e]="string"!=typeof a[e]?a[e].toString():a[e];var f=new Promise(function(a,c){try{d.db=m(d.name,String(d.version),d.description,d.size)}catch(e){return c(e)}d.db.transaction(function(e){e.executeSql("CREATE TABLE IF NOT EXISTS "+d.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],function(){b._dbInfo=d,a()},function(a,b){c(b)})})});return new Promise(function(a,b){a(c(3))}).then(function(a){return d.serializer=a,f})}function d(b,c){var d=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var e=new Promise(function(a,c){d.ready().then(function(){var e=d._dbInfo;e.db.transaction(function(d){d.executeSql("SELECT * FROM "+e.storeName+" WHERE key = ? LIMIT 1",[b],function(b,c){var d=c.rows.length?c.rows.item(0).value:null;d&&(d=e.serializer.deserialize(d)),a(d)},function(a,b){c(b)})})})["catch"](c)});return l(e,c),e}function e(a,b){var c=this,d=new Promise(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql("SELECT * FROM "+e.storeName,[],function(c,d){for(var f=d.rows,g=f.length,h=0;g>h;h++){var i=f.item(h),j=i.value;if(j&&(j=e.serializer.deserialize(j)),j=a(j,i.key,h+1),void 0!==j)return void b(j)}b()},function(a,b){d(b)})})})["catch"](d)});return l(d,b),d}function f(b,c,d){var e=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var f=new Promise(function(a,d){e.ready().then(function(){void 0===c&&(c=null);var f=c,g=e._dbInfo;g.serializer.serialize(c,function(c,e){e?d(e):g.db.transaction(function(e){e.executeSql("INSERT OR REPLACE INTO "+g.storeName+" (key, value) VALUES (?, ?)",[b,c],function(){a(f)},function(a,b){d(b)})},function(a){a.code===a.QUOTA_ERR&&d(a)})})})["catch"](d)});return l(f,d),f}function g(b,c){var d=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var e=new Promise(function(a,c){d.ready().then(function(){var e=d._dbInfo;e.db.transaction(function(d){d.executeSql("DELETE FROM "+e.storeName+" WHERE key = ?",[b],function(){a()},function(a,b){c(b)})})})["catch"](c)});return l(e,c),e}function h(a){var b=this,c=new Promise(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql("DELETE FROM "+d.storeName,[],function(){a()},function(a,b){c(b)})})})["catch"](c)});return l(c,a),c}function i(a){var b=this,c=new Promise(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql("SELECT COUNT(key) as c FROM "+d.storeName,[],function(b,c){var d=c.rows.item(0).c;a(d)},function(a,b){c(b)})})})["catch"](c)});return l(c,a),c}function j(a,b){var c=this,d=new Promise(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql("SELECT key FROM "+e.storeName+" WHERE id = ? LIMIT 1",[a+1],function(a,c){var d=c.rows.length?c.rows.item(0).key:null;b(d)},function(a,b){d(b)})})})["catch"](d)});return l(d,b),d}function k(a){var b=this,c=new Promise(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql("SELECT key FROM "+d.storeName,[],function(b,c){for(var d=[],e=0;e 0; + }; + Cnds.prototype.IsProcessingGets = function () + { + return this.pendingGets > 0; + }; + Cnds.prototype.OnAllSetsComplete = function () + { + return true; + }; + Cnds.prototype.OnAllGetsComplete = function () + { + return true; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetItem = function (keyNoPrefix, value) + { + if (localForageInitFailed) + { + TriggerStorageError(this, "storage failed to initialise - may be disabled in browser settings"); + return; + } + var keyPrefix = prefix + keyNoPrefix; + this.pendingSets++; + var self = this; + localforage["setItem"](keyPrefix, value, function (err, valueSet) + { + debugDataChanged = true; + self.pendingSets--; + if (err) + { + errorMessage = getErrorString(err); + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnError, self); + } + else + { + currentKey = keyNoPrefix; + lastValue = valueSet; + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnAnyItemSet, self); + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnItemSet, self); + currentKey = ""; + lastValue = ""; + } + if (self.pendingSets === 0) + { + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnAllSetsComplete, self); + } + }); + }; + Acts.prototype.GetItem = function (keyNoPrefix) + { + if (localForageInitFailed) + { + TriggerStorageError(this, "storage failed to initialise - may be disabled in browser settings"); + return; + } + var keyPrefix = prefix + keyNoPrefix; + this.pendingGets++; + var self = this; + localforage["getItem"](keyPrefix, function (err, value) + { + self.pendingGets--; + if (err) + { + errorMessage = getErrorString(err); + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnError, self); + } + else + { + currentKey = keyNoPrefix; + lastValue = value; + if (typeof lastValue === "undefined" || lastValue === null) + lastValue = ""; + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnAnyItemGet, self); + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnItemGet, self); + currentKey = ""; + lastValue = ""; + } + if (self.pendingGets === 0) + { + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnAllGetsComplete, self); + } + }); + }; + Acts.prototype.CheckItemExists = function (keyNoPrefix) + { + if (localForageInitFailed) + { + TriggerStorageError(this, "storage failed to initialise - may be disabled in browser settings"); + return; + } + var keyPrefix = prefix + keyNoPrefix; + var self = this; + localforage["getItem"](keyPrefix, function (err, value) + { + if (err) + { + errorMessage = getErrorString(err); + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnError, self); + } + else + { + currentKey = keyNoPrefix; + if (value === null) // null value indicates key missing + { + lastValue = ""; // prevent ItemValue meaning anything + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnItemMissing, self); + } + else + { + lastValue = value; // make available to ItemValue expression + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnItemExists, self); + } + currentKey = ""; + lastValue = ""; + } + }); + }; + Acts.prototype.RemoveItem = function (keyNoPrefix) + { + if (localForageInitFailed) + { + TriggerStorageError(this, "storage failed to initialise - may be disabled in browser settings"); + return; + } + var keyPrefix = prefix + keyNoPrefix; + var self = this; + localforage["removeItem"](keyPrefix, function (err) + { + debugDataChanged = true; + if (err) + { + errorMessage = getErrorString(err); + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnError, self); + } + else + { + currentKey = keyNoPrefix; + lastValue = ""; + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnAnyItemRemoved, self); + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnItemRemoved, self); + currentKey = ""; + } + }); + }; + Acts.prototype.ClearStorage = function () + { + if (localForageInitFailed) + { + TriggerStorageError(this, "storage failed to initialise - may be disabled in browser settings"); + return; + } + if (is_arcade) + return; + var self = this; + localforage["clear"](function (err) + { + debugDataChanged = true; + if (err) + { + errorMessage = getErrorString(err); + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnError, self); + } + else + { + currentKey = ""; + lastValue = ""; + cr.clearArray(keyNamesList); + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnCleared, self); + } + }); + }; + Acts.prototype.GetAllKeyNames = function () + { + if (localForageInitFailed) + { + TriggerStorageError(this, "storage failed to initialise - may be disabled in browser settings"); + return; + } + var self = this; + localforage["keys"](function (err, keyList) + { + var i, len, k; + if (err) + { + errorMessage = getErrorString(err); + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnError, self); + } + else + { + cr.clearArray(keyNamesList); + for (i = 0, len = keyList.length; i < len; ++i) + { + k = keyList[i]; + if (!hasRequiredPrefix(k)) + continue; + keyNamesList.push(removePrefix(k)); + } + self.runtime.trigger(cr.plugins_.LocalStorage.prototype.cnds.OnAllKeyNamesLoaded, self); + } + }); + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.ItemValue = function (ret) + { + ret.set_any(lastValue); + }; + Exps.prototype.Key = function (ret) + { + ret.set_string(currentKey); + }; + Exps.prototype.KeyCount = function (ret) + { + ret.set_int(keyNamesList.length); + }; + Exps.prototype.KeyAt = function (ret, i) + { + i = Math.floor(i); + if (i < 0 || i >= keyNamesList.length) + { + ret.set_string(""); + return; + } + ret.set_string(keyNamesList[i]); + }; + Exps.prototype.ErrorMessage = function (ret) + { + ret.set_string(errorMessage); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.Mouse = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.Mouse.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + this.buttonMap = new Array(4); // mouse down states + this.mouseXcanvas = 0; // mouse position relative to canvas + this.mouseYcanvas = 0; + this.triggerButton = 0; + this.triggerType = 0; + this.triggerDir = 0; + this.handled = false; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + var self = this; + if (!this.runtime.isDomFree) + { + jQuery(document).mousemove( + function(info) { + self.onMouseMove(info); + } + ); + jQuery(document).mousedown( + function(info) { + self.onMouseDown(info); + } + ); + jQuery(document).mouseup( + function(info) { + self.onMouseUp(info); + } + ); + jQuery(document).dblclick( + function(info) { + self.onDoubleClick(info); + } + ); + var wheelevent = function(info) { + self.onWheel(info); + }; + document.addEventListener("mousewheel", wheelevent, false); + document.addEventListener("DOMMouseScroll", wheelevent, false); + } + }; + var dummyoffset = {left: 0, top: 0}; + instanceProto.onMouseMove = function(info) + { + var offset = this.runtime.isDomFree ? dummyoffset : jQuery(this.runtime.canvas).offset(); + this.mouseXcanvas = info.pageX - offset.left; + this.mouseYcanvas = info.pageY - offset.top; + }; + instanceProto.mouseInGame = function () + { + if (this.runtime.fullscreen_mode > 0) + return true; + return this.mouseXcanvas >= 0 && this.mouseYcanvas >= 0 + && this.mouseXcanvas < this.runtime.width && this.mouseYcanvas < this.runtime.height; + }; + instanceProto.onMouseDown = function(info) + { + if (!this.mouseInGame()) + return; + this.buttonMap[info.which] = true; + this.runtime.isInUserInputEvent = true; + this.runtime.trigger(cr.plugins_.Mouse.prototype.cnds.OnAnyClick, this); + this.triggerButton = info.which - 1; // 1-based + this.triggerType = 0; // single click + this.runtime.trigger(cr.plugins_.Mouse.prototype.cnds.OnClick, this); + this.runtime.trigger(cr.plugins_.Mouse.prototype.cnds.OnObjectClicked, this); + this.runtime.isInUserInputEvent = false; + }; + instanceProto.onMouseUp = function(info) + { + if (!this.buttonMap[info.which]) + return; + if (this.runtime.had_a_click && !this.runtime.isMobile) + info.preventDefault(); + this.runtime.had_a_click = true; + this.buttonMap[info.which] = false; + this.runtime.isInUserInputEvent = true; + this.triggerButton = info.which - 1; // 1-based + this.runtime.trigger(cr.plugins_.Mouse.prototype.cnds.OnRelease, this); + this.runtime.isInUserInputEvent = false; + }; + instanceProto.onDoubleClick = function(info) + { + if (!this.mouseInGame()) + return; + info.preventDefault(); + this.runtime.isInUserInputEvent = true; + this.triggerButton = info.which - 1; // 1-based + this.triggerType = 1; // double click + this.runtime.trigger(cr.plugins_.Mouse.prototype.cnds.OnClick, this); + this.runtime.trigger(cr.plugins_.Mouse.prototype.cnds.OnObjectClicked, this); + this.runtime.isInUserInputEvent = false; + }; + instanceProto.onWheel = function (info) + { + var delta = info.wheelDelta ? info.wheelDelta : info.detail ? -info.detail : 0; + this.triggerDir = (delta < 0 ? 0 : 1); + this.handled = false; + this.runtime.isInUserInputEvent = true; + this.runtime.trigger(cr.plugins_.Mouse.prototype.cnds.OnWheel, this); + this.runtime.isInUserInputEvent = false; + if (this.handled && cr.isCanvasInputEvent(info)) + info.preventDefault(); + }; + instanceProto.onWindowBlur = function () + { + var i, len; + for (i = 0, len = this.buttonMap.length; i < len; ++i) + { + if (!this.buttonMap[i]) + continue; + this.buttonMap[i] = false; + this.triggerButton = i - 1; + this.runtime.trigger(cr.plugins_.Mouse.prototype.cnds.OnRelease, this); + } + }; + function Cnds() {}; + Cnds.prototype.OnClick = function (button, type) + { + return button === this.triggerButton && type === this.triggerType; + }; + Cnds.prototype.OnAnyClick = function () + { + return true; + }; + Cnds.prototype.IsButtonDown = function (button) + { + return this.buttonMap[button + 1]; // jQuery uses 1-based buttons for some reason + }; + Cnds.prototype.OnRelease = function (button) + { + return button === this.triggerButton; + }; + Cnds.prototype.IsOverObject = function (obj) + { + var cnd = this.runtime.getCurrentCondition(); + var mx = this.mouseXcanvas; + var my = this.mouseYcanvas; + return cr.xor(this.runtime.testAndSelectCanvasPointOverlap(obj, mx, my, cnd.inverted), cnd.inverted); + }; + Cnds.prototype.OnObjectClicked = function (button, type, obj) + { + if (button !== this.triggerButton || type !== this.triggerType) + return false; // wrong click type + return this.runtime.testAndSelectCanvasPointOverlap(obj, this.mouseXcanvas, this.mouseYcanvas, false); + }; + Cnds.prototype.OnWheel = function (dir) + { + this.handled = true; + return dir === this.triggerDir; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + var lastSetCursor = null; + Acts.prototype.SetCursor = function (c) + { + if (this.runtime.isDomFree) + return; + var cursor_style = ["auto", "pointer", "text", "crosshair", "move", "help", "wait", "none"][c]; + if (lastSetCursor === cursor_style) + return; // redundant + lastSetCursor = cursor_style; + document.body.style.cursor = cursor_style; + }; + Acts.prototype.SetCursorSprite = function (obj) + { + if (this.runtime.isDomFree || this.runtime.isMobile || !obj) + return; + var inst = obj.getFirstPicked(); + if (!inst || !inst.curFrame) + return; + var frame = inst.curFrame; + if (lastSetCursor === frame) + return; // already set this frame + lastSetCursor = frame; + var datauri = frame.getDataUri(); + var cursor_style = "url(" + datauri + ") " + Math.round(frame.hotspotX * frame.width) + " " + Math.round(frame.hotspotY * frame.height) + ", auto"; + document.body.style.cursor = ""; + document.body.style.cursor = cursor_style; + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.X = function (ret, layerparam) + { + var layer, oldScale, oldZoomRate, oldParallaxX, oldAngle; + if (cr.is_undefined(layerparam)) + { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxX = layer.parallaxX; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxX = 1.0; + layer.angle = 0; + ret.set_float(layer.canvasToLayer(this.mouseXcanvas, this.mouseYcanvas, true)); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxX = oldParallaxX; + layer.angle = oldAngle; + } + else + { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else + layer = this.runtime.getLayerByName(layerparam); + if (layer) + ret.set_float(layer.canvasToLayer(this.mouseXcanvas, this.mouseYcanvas, true)); + else + ret.set_float(0); + } + }; + Exps.prototype.Y = function (ret, layerparam) + { + var layer, oldScale, oldZoomRate, oldParallaxY, oldAngle; + if (cr.is_undefined(layerparam)) + { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxY = layer.parallaxY; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxY = 1.0; + layer.angle = 0; + ret.set_float(layer.canvasToLayer(this.mouseXcanvas, this.mouseYcanvas, false)); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxY = oldParallaxY; + layer.angle = oldAngle; + } + else + { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else + layer = this.runtime.getLayerByName(layerparam); + if (layer) + ret.set_float(layer.canvasToLayer(this.mouseXcanvas, this.mouseYcanvas, false)); + else + ret.set_float(0); + } + }; + Exps.prototype.AbsoluteX = function (ret) + { + ret.set_float(this.mouseXcanvas); + }; + Exps.prototype.AbsoluteY = function (ret) + { + ret.set_float(this.mouseYcanvas); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.Rex_Date = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.Rex_Date.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + this._timers = {}; + }; + instanceProto.saveToJSON = function () + { + return { "tims": this._timers, + }; + }; + instanceProto.loadFromJSON = function (o) + { + this._timers = o["tims"]; + }; + function Cnds() {}; + pluginProto.cnds = new Cnds(); + function Acts() {}; + pluginProto.acts = new Acts(); + Acts.prototype.StartTimer = function (name) + { + var timer = new Date(); + this._timers[name] = timer.getTime(); + }; + function Exps() {}; + pluginProto.exps = new Exps(); + Exps.prototype.Year = function (ret, timestamp) + { + var today = (timestamp != null)? new Date(timestamp): new Date(); + ret.set_int(today.getFullYear()); + }; + Exps.prototype.Month = function (ret, timestamp) + { + var today = (timestamp != null)? new Date(timestamp): new Date(); + ret.set_int(today.getMonth()+1); + }; + Exps.prototype.Date = function (ret, timestamp) + { + var today = (timestamp != null)? new Date(timestamp): new Date(); + ret.set_int(today.getDate()); + }; + Exps.prototype.Day = function (ret, timestamp) + { + var today = (timestamp != null)? new Date(timestamp): new Date(); + ret.set_int(today.getDay()); + }; + Exps.prototype.Hours = function (ret, timestamp) + { + var today = (timestamp != null)? new Date(timestamp): new Date(); + ret.set_int(today.getHours()); + }; + Exps.prototype.Minutes = function (ret, timestamp) + { + var today = (timestamp != null)? new Date(timestamp): new Date(); + ret.set_int(today.getMinutes()); + }; + Exps.prototype.Seconds = function (ret, timestamp) + { + var today = (timestamp != null)? new Date(timestamp): new Date(); + ret.set_int(today.getSeconds()); + }; + Exps.prototype.Milliseconds = function (ret, timestamp) + { + var today = (timestamp != null)? new Date(timestamp): new Date(); + ret.set_int(today.getMilliseconds()); + }; + Exps.prototype.Timer = function (ret, name) + { + var delta = 0; + var start_tick = this._timers[name]; + if (start_tick != null) { + var timer = new Date(); + delta = timer.getTime() - start_tick; + } + ret.set_float(delta/1000); + }; + Exps.prototype.CurTicks = function (ret) + { + var today = new Date(); + ret.set_int(today.getTime()); + }; + Exps.prototype.UnixTimestamp = function (ret) + { + var today = new Date(); + ret.set_float(today.getTime()); + }; + Exps.prototype.Date2UnixTimestamp = function (ret, year, month, day, hours, minutes, seconds, milliseconds) + { + year = year || 2000; + month = month || 1; + day = day || 1; + hours = hours || 0; + minutes = minutes || 0; + seconds = seconds || 0; + milliseconds = milliseconds || 0; + var timestamp = new Date(year, month-1, day, hours, minutes, seconds, milliseconds); // build Date object + ret.set_float(timestamp.getTime()); + }; +}()); +; +; +var localForageInitFailed = false; +try { +/*! + localForage -- Offline Storage, Improved + Version 1.4.0 + https://mozilla.github.io/localForage + (c) 2013-2015 Mozilla, Apache License 2.0 +*/ +!function(){var a,b,c,d;!function(){var e={},f={};a=function(a,b,c){e[a]={deps:b,callback:c}},d=c=b=function(a){function c(b){if("."!==b.charAt(0))return b;for(var c=b.split("/"),d=a.split("/").slice(0,-1),e=0,f=c.length;f>e;e++){var g=c[e];if(".."===g)d.pop();else{if("."===g)continue;d.push(g)}}return d.join("/")}if(d._eak_seen=e,f[a])return f[a];if(f[a]={},!e[a])throw new Error("Could not find module "+a);for(var g,h=e[a],i=h.deps,j=h.callback,k=[],l=0,m=i.length;m>l;l++)"exports"===i[l]?k.push(g={}):k.push(b(c(i[l])));var n=j.apply(this,k);return f[a]=g||n}}(),a("promise/all",["./utils","exports"],function(a,b){"use strict";function c(a){var b=this;if(!d(a))throw new TypeError("You must pass an array to all.");return new b(function(b,c){function d(a){return function(b){f(a,b)}}function f(a,c){h[a]=c,0===--i&&b(h)}var g,h=[],i=a.length;0===i&&b([]);for(var j=0;jc;c++){var e=a[c];this.supports(e)&&b.push(e)}return b},a.prototype._wrapLibraryMethodsWithReady=function(){for(var a=0;ae;e++)d[e]=a.charCodeAt(e);return c}function d(a){return new Promise(function(b,c){var d=new XMLHttpRequest;d.open("GET",a),d.withCredentials=!0,d.responseType="arraybuffer",d.onreadystatechange=function(){return 4===d.readyState?200===d.status?b({response:d.response,type:d.getResponseHeader("Content-Type")}):void c({status:d.status,response:d.response}):void 0},d.send()})}function e(a){return new Promise(function(c,e){var f=b([""],{type:"image/png"}),g=a.transaction([D],"readwrite");g.objectStore(D).put(f,"key"),g.oncomplete=function(){var b=a.transaction([D],"readwrite"),f=b.objectStore(D).get("key");f.onerror=e,f.onsuccess=function(a){var b=a.target.result,e=URL.createObjectURL(b);d(e).then(function(a){c(!(!a||"image/png"!==a.type))},function(){c(!1)}).then(function(){URL.revokeObjectURL(e)})}},g.onerror=g.onabort=e})["catch"](function(){return!1})}function f(a){return"boolean"==typeof B?Promise.resolve(B):e(a).then(function(a){return B=a})}function g(a){return new Promise(function(b,c){var d=new FileReader;d.onerror=c,d.onloadend=function(c){var d=btoa(c.target.result||"");b({__local_forage_encoded_blob:!0,data:d,type:a.type})},d.readAsBinaryString(a)})}function h(a){var d=c(atob(a.data));return b([d],{type:a.type})}function i(a){return a&&a.__local_forage_encoded_blob}function j(a){var b=this,c=b._initReady().then(function(){var a=C[b._dbInfo.name];return a&&a.dbReady?a.dbReady:void 0});return c.then(a,a),c}function k(a){var b=C[a.name],c={};c.promise=new Promise(function(a){c.resolve=a}),b.deferredOperations.push(c),b.dbReady?b.dbReady=b.dbReady.then(function(){return c.promise}):b.dbReady=c.promise}function l(a){var b=C[a.name],c=b.deferredOperations.pop();c&&c.resolve()}function m(a){function b(){return Promise.resolve()}var c=this,d={db:null};if(a)for(var e in a)d[e]=a[e];C||(C={});var f=C[d.name];f||(f={forages:[],db:null,dbReady:null,deferredOperations:[]},C[d.name]=f),f.forages.push(c),c._initReady||(c._initReady=c.ready,c.ready=j);for(var g=[],h=0;hb.db.version;if(e&&(b.version!==c&&a.console.warn('The database "'+b.name+"\" can't be downgraded from version "+b.db.version+" to version "+b.version+"."),b.version=b.db.version),f||d){if(d){var g=b.db.version+1;g>b.version&&(b.version=g)}return!0}return!1}function r(b,c){var d=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var e=new Promise(function(a,c){d.ready().then(function(){var e=d._dbInfo,f=e.db.transaction(e.storeName,"readonly").objectStore(e.storeName),g=f.get(b);g.onsuccess=function(){var b=g.result;void 0===b&&(b=null),i(b)&&(b=h(b)),a(b)},g.onerror=function(){c(g.error)}})["catch"](c)});return z(e,c),e}function s(a,b){var c=this,d=new Promise(function(b,d){c.ready().then(function(){var e=c._dbInfo,f=e.db.transaction(e.storeName,"readonly").objectStore(e.storeName),g=f.openCursor(),j=1;g.onsuccess=function(){var c=g.result;if(c){var d=c.value;i(d)&&(d=h(d));var e=a(d,c.key,j++);void 0!==e?b(e):c["continue"]()}else b()},g.onerror=function(){d(g.error)}})["catch"](d)});return z(d,b),d}function t(b,c,d){var e=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var h=new Promise(function(a,d){var h;e.ready().then(function(){return h=e._dbInfo,c instanceof Blob?f(h.db).then(function(a){return a?c:g(c)}):c}).then(function(c){var e=h.db.transaction(h.storeName,"readwrite"),f=e.objectStore(h.storeName);null===c&&(c=void 0),e.oncomplete=function(){void 0===c&&(c=null),a(c)},e.onabort=e.onerror=function(){var a=g.error?g.error:g.transaction.error;d(a)};var g=f.put(c,b)})["catch"](d)});return z(h,d),h}function u(b,c){var d=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var e=new Promise(function(a,c){d.ready().then(function(){var e=d._dbInfo,f=e.db.transaction(e.storeName,"readwrite"),g=f.objectStore(e.storeName),h=g["delete"](b);f.oncomplete=function(){a()},f.onerror=function(){c(h.error)},f.onabort=function(){var a=h.error?h.error:h.transaction.error;c(a)}})["catch"](c)});return z(e,c),e}function v(a){var b=this,c=new Promise(function(a,c){b.ready().then(function(){var d=b._dbInfo,e=d.db.transaction(d.storeName,"readwrite"),f=e.objectStore(d.storeName),g=f.clear();e.oncomplete=function(){a()},e.onabort=e.onerror=function(){var a=g.error?g.error:g.transaction.error;c(a)}})["catch"](c)});return z(c,a),c}function w(a){var b=this,c=new Promise(function(a,c){b.ready().then(function(){var d=b._dbInfo,e=d.db.transaction(d.storeName,"readonly").objectStore(d.storeName),f=e.count();f.onsuccess=function(){a(f.result)},f.onerror=function(){c(f.error)}})["catch"](c)});return z(c,a),c}function x(a,b){var c=this,d=new Promise(function(b,d){return 0>a?void b(null):void c.ready().then(function(){var e=c._dbInfo,f=e.db.transaction(e.storeName,"readonly").objectStore(e.storeName),g=!1,h=f.openCursor();h.onsuccess=function(){var c=h.result;return c?void(0===a?b(c.key):g?b(c.key):(g=!0,c.advance(a))):void b(null)},h.onerror=function(){d(h.error)}})["catch"](d)});return z(d,b),d}function y(a){var b=this,c=new Promise(function(a,c){b.ready().then(function(){var d=b._dbInfo,e=d.db.transaction(d.storeName,"readonly").objectStore(d.storeName),f=e.openCursor(),g=[];f.onsuccess=function(){var b=f.result;return b?(g.push(b.key),void b["continue"]()):void a(g)},f.onerror=function(){c(f.error)}})["catch"](c)});return z(c,a),c}function z(a,b){b&&a.then(function(a){b(null,a)},function(a){b(a)})}var A=A||a.indexedDB||a.webkitIndexedDB||a.mozIndexedDB||a.OIndexedDB||a.msIndexedDB;if(A){var B,C,D="local-forage-detect-blob-support",E={_driver:"asyncStorage",_initStorage:m,iterate:s,getItem:r,setItem:t,removeItem:u,clear:v,length:w,key:x,keys:y};return E}}("undefined"!=typeof window?window:self);b["default"]=c,a.exports=b["default"]},function(a,b,c){"use strict";b.__esModule=!0;var d=function(a){function b(a){var b=this,d={};if(a)for(var e in a)d[e]=a[e];return d.keyPrefix=d.name+"/",d.storeName!==b._defaultConfig.storeName&&(d.keyPrefix+=d.storeName+"/"),b._dbInfo=d,new Promise(function(a,b){a(c(3))}).then(function(a){return d.serializer=a,Promise.resolve()})}function d(a){var b=this,c=b.ready().then(function(){for(var a=b._dbInfo.keyPrefix,c=m.length-1;c>=0;c--){var d=m.key(c);0===d.indexOf(a)&&m.removeItem(d)}});return l(c,a),c}function e(b,c){var d=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var e=d.ready().then(function(){var a=d._dbInfo,c=m.getItem(a.keyPrefix+b);return c&&(c=a.serializer.deserialize(c)),c});return l(e,c),e}function f(a,b){var c=this,d=c.ready().then(function(){for(var b=c._dbInfo,d=b.keyPrefix,e=d.length,f=m.length,g=1,h=0;f>h;h++){var i=m.key(h);if(0===i.indexOf(d)){var j=m.getItem(i);if(j&&(j=b.serializer.deserialize(j)),j=a(j,i.substring(e),g++),void 0!==j)return j}}});return l(d,b),d}function g(a,b){var c=this,d=c.ready().then(function(){var b,d=c._dbInfo;try{b=m.key(a)}catch(e){b=null}return b&&(b=b.substring(d.keyPrefix.length)),b});return l(d,b),d}function h(a){var b=this,c=b.ready().then(function(){for(var a=b._dbInfo,c=m.length,d=[],e=0;c>e;e++)0===m.key(e).indexOf(a.keyPrefix)&&d.push(m.key(e).substring(a.keyPrefix.length));return d});return l(c,a),c}function i(a){var b=this,c=b.keys().then(function(a){return a.length});return l(c,a),c}function j(b,c){var d=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var e=d.ready().then(function(){var a=d._dbInfo;m.removeItem(a.keyPrefix+b)});return l(e,c),e}function k(b,c,d){var e=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var f=e.ready().then(function(){void 0===c&&(c=null);var a=c;return new Promise(function(d,f){var g=e._dbInfo;g.serializer.serialize(c,function(c,e){if(e)f(e);else try{m.setItem(g.keyPrefix+b,c),d(a)}catch(h){("QuotaExceededError"===h.name||"NS_ERROR_DOM_QUOTA_REACHED"===h.name)&&f(h),f(h)}})})});return l(f,d),f}function l(a,b){b&&a.then(function(a){b(null,a)},function(a){b(a)})}var m=null;try{if(!(a.localStorage&&"setItem"in a.localStorage))return;m=a.localStorage}catch(n){return}var o={_driver:"localStorageWrapper",_initStorage:b,iterate:f,getItem:e,setItem:k,removeItem:j,clear:d,length:i,key:g,keys:h};return o}("undefined"!=typeof window?window:self);b["default"]=d,a.exports=b["default"]},function(a,b){"use strict";b.__esModule=!0;var c=function(a){function b(b,c){b=b||[],c=c||{};try{return new Blob(b,c)}catch(d){if("TypeError"!==d.name)throw d;for(var e=a.BlobBuilder||a.MSBlobBuilder||a.MozBlobBuilder||a.WebKitBlobBuilder,f=new e,g=0;gb;b+=4)c=g.indexOf(a[b]),d=g.indexOf(a[b+1]),e=g.indexOf(a[b+2]),f=g.indexOf(a[b+3]),l[j++]=c<<2|d>>4,l[j++]=(15&d)<<4|e>>2,l[j++]=(3&e)<<6|63&f;return k}function f(a){var b,c=new Uint8Array(a),d="";for(b=0;b>2],d+=g[(3&c[b])<<4|c[b+1]>>4],d+=g[(15&c[b+1])<<2|c[b+2]>>6],d+=g[63&c[b+2]];return c.length%3===2?d=d.substring(0,d.length-1)+"=":c.length%3===1&&(d=d.substring(0,d.length-2)+"=="),d}var g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h="~~local_forage_type~",i=/^~~local_forage_type~([^~]+)~/,j="__lfsc__:",k=j.length,l="arbf",m="blob",n="si08",o="ui08",p="uic8",q="si16",r="si32",s="ur16",t="ui32",u="fl32",v="fl64",w=k+l.length,x={serialize:c,deserialize:d,stringToBuffer:e,bufferToString:f};return x}("undefined"!=typeof window?window:self);b["default"]=c,a.exports=b["default"]},function(a,b,c){"use strict";b.__esModule=!0;var d=function(a){function b(a){var b=this,d={db:null};if(a)for(var e in a)d[e]="string"!=typeof a[e]?a[e].toString():a[e];var f=new Promise(function(a,c){try{d.db=m(d.name,String(d.version),d.description,d.size)}catch(e){return c(e)}d.db.transaction(function(e){e.executeSql("CREATE TABLE IF NOT EXISTS "+d.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],function(){b._dbInfo=d,a()},function(a,b){c(b)})})});return new Promise(function(a,b){a(c(3))}).then(function(a){return d.serializer=a,f})}function d(b,c){var d=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var e=new Promise(function(a,c){d.ready().then(function(){var e=d._dbInfo;e.db.transaction(function(d){d.executeSql("SELECT * FROM "+e.storeName+" WHERE key = ? LIMIT 1",[b],function(b,c){var d=c.rows.length?c.rows.item(0).value:null;d&&(d=e.serializer.deserialize(d)),a(d)},function(a,b){c(b)})})})["catch"](c)});return l(e,c),e}function e(a,b){var c=this,d=new Promise(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql("SELECT * FROM "+e.storeName,[],function(c,d){for(var f=d.rows,g=f.length,h=0;g>h;h++){var i=f.item(h),j=i.value;if(j&&(j=e.serializer.deserialize(j)),j=a(j,i.key,h+1),void 0!==j)return void b(j)}b()},function(a,b){d(b)})})})["catch"](d)});return l(d,b),d}function f(b,c,d){var e=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var f=new Promise(function(a,d){e.ready().then(function(){void 0===c&&(c=null);var f=c,g=e._dbInfo;g.serializer.serialize(c,function(c,e){e?d(e):g.db.transaction(function(e){e.executeSql("INSERT OR REPLACE INTO "+g.storeName+" (key, value) VALUES (?, ?)",[b,c],function(){a(f)},function(a,b){d(b)})},function(a){a.code===a.QUOTA_ERR&&d(a)})})})["catch"](d)});return l(f,d),f}function g(b,c){var d=this;"string"!=typeof b&&(a.console.warn(b+" used as a key, but it is not a string."),b=String(b));var e=new Promise(function(a,c){d.ready().then(function(){var e=d._dbInfo;e.db.transaction(function(d){d.executeSql("DELETE FROM "+e.storeName+" WHERE key = ?",[b],function(){a()},function(a,b){c(b)})})})["catch"](c)});return l(e,c),e}function h(a){var b=this,c=new Promise(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql("DELETE FROM "+d.storeName,[],function(){a()},function(a,b){c(b)})})})["catch"](c)});return l(c,a),c}function i(a){var b=this,c=new Promise(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql("SELECT COUNT(key) as c FROM "+d.storeName,[],function(b,c){var d=c.rows.item(0).c;a(d)},function(a,b){c(b)})})})["catch"](c)});return l(c,a),c}function j(a,b){var c=this,d=new Promise(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql("SELECT key FROM "+e.storeName+" WHERE id = ? LIMIT 1",[a+1],function(a,c){var d=c.rows.length?c.rows.item(0).key:null;b(d)},function(a,b){d(b)})})})["catch"](d)});return l(d,b),d}function k(a){var b=this,c=new Promise(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql("SELECT key FROM "+d.storeName,[],function(b,c){for(var d=[],e=0;e= this.cur_animation.frames.length) + this.cur_frame = this.cur_animation.frames.length - 1; + var curanimframe = this.cur_animation.frames[this.cur_frame]; + this.collision_poly.set_pts(curanimframe.poly_pts); + this.hotspotX = curanimframe.hotspotX; + this.hotspotY = curanimframe.hotspotY; + this.cur_anim_speed = this.cur_animation.speed; + this.cur_anim_repeatto = this.cur_animation.repeatto; + if (!(this.type.animations.length === 1 && this.type.animations[0].frames.length === 1) && this.cur_anim_speed !== 0) + { + this.runtime.tickMe(this); + this.isTicking = true; + } + if (this.recycled) + this.animTimer.reset(); + else + this.animTimer = new cr.KahanAdder(); + this.frameStart = this.getNowTime(); + this.animPlaying = true; + this.animRepeats = 0; + this.animForwards = true; + this.animTriggerName = ""; + this.changeAnimName = ""; + this.changeAnimFrom = 0; + this.changeAnimFrame = -1; + this.type.loadTextures(); + var i, leni, j, lenj; + var anim, frame, uv, maintex; + for (i = 0, leni = this.type.animations.length; i < leni; i++) + { + anim = this.type.animations[i]; + for (j = 0, lenj = anim.frames.length; j < lenj; j++) + { + frame = anim.frames[j]; + if (frame.width === 0) + { + frame.width = frame.texture_img.width; + frame.height = frame.texture_img.height; + } + if (frame.spritesheeted) + { + maintex = frame.texture_img; + uv = frame.sheetTex; + uv.left = frame.offx / maintex.width; + uv.top = frame.offy / maintex.height; + uv.right = (frame.offx + frame.width) / maintex.width; + uv.bottom = (frame.offy + frame.height) / maintex.height; + if (frame.offx === 0 && frame.offy === 0 && frame.width === maintex.width && frame.height === maintex.height) + { + frame.spritesheeted = false; + } + } + } + } + this.curFrame = this.cur_animation.frames[this.cur_frame]; + this.curWebGLTexture = this.curFrame.webGL_texture; + }; + instanceProto.saveToJSON = function () + { + var o = { + "a": this.cur_animation.sid, + "f": this.cur_frame, + "cas": this.cur_anim_speed, + "fs": this.frameStart, + "ar": this.animRepeats, + "at": this.animTimer.sum, + "rt": this.cur_anim_repeatto + }; + if (!this.animPlaying) + o["ap"] = this.animPlaying; + if (!this.animForwards) + o["af"] = this.animForwards; + return o; + }; + instanceProto.loadFromJSON = function (o) + { + var anim = this.getAnimationBySid(o["a"]); + if (anim) + this.cur_animation = anim; + this.cur_frame = o["f"]; + if (this.cur_frame < 0) + this.cur_frame = 0; + if (this.cur_frame >= this.cur_animation.frames.length) + this.cur_frame = this.cur_animation.frames.length - 1; + this.cur_anim_speed = o["cas"]; + this.frameStart = o["fs"]; + this.animRepeats = o["ar"]; + this.animTimer.reset(); + this.animTimer.sum = o["at"]; + this.animPlaying = o.hasOwnProperty("ap") ? o["ap"] : true; + this.animForwards = o.hasOwnProperty("af") ? o["af"] : true; + if (o.hasOwnProperty("rt")) + this.cur_anim_repeatto = o["rt"]; + else + this.cur_anim_repeatto = this.cur_animation.repeatto; + this.curFrame = this.cur_animation.frames[this.cur_frame]; + this.curWebGLTexture = this.curFrame.webGL_texture; + this.collision_poly.set_pts(this.curFrame.poly_pts); + this.hotspotX = this.curFrame.hotspotX; + this.hotspotY = this.curFrame.hotspotY; + }; + instanceProto.animationFinish = function (reverse) + { + this.cur_frame = reverse ? 0 : this.cur_animation.frames.length - 1; + this.animPlaying = false; + this.animTriggerName = this.cur_animation.name; + this.inAnimTrigger = true; + this.runtime.trigger(cr.plugins_.Sprite.prototype.cnds.OnAnyAnimFinished, this); + this.runtime.trigger(cr.plugins_.Sprite.prototype.cnds.OnAnimFinished, this); + this.inAnimTrigger = false; + this.animRepeats = 0; + }; + instanceProto.getNowTime = function() + { + return this.animTimer.sum; + }; + instanceProto.tick = function() + { + this.animTimer.add(this.runtime.getDt(this)); + if (this.changeAnimName.length) + this.doChangeAnim(); + if (this.changeAnimFrame >= 0) + this.doChangeAnimFrame(); + var now = this.getNowTime(); + var cur_animation = this.cur_animation; + var prev_frame = cur_animation.frames[this.cur_frame]; + var next_frame; + var cur_frame_time = prev_frame.duration / this.cur_anim_speed; + if (this.animPlaying && now >= this.frameStart + cur_frame_time) + { + if (this.animForwards) + { + this.cur_frame++; + } + else + { + this.cur_frame--; + } + this.frameStart += cur_frame_time; + if (this.cur_frame >= cur_animation.frames.length) + { + if (cur_animation.pingpong) + { + this.animForwards = false; + this.cur_frame = cur_animation.frames.length - 2; + } + else if (cur_animation.loop) + { + this.cur_frame = this.cur_anim_repeatto; + } + else + { + this.animRepeats++; + if (this.animRepeats >= cur_animation.repeatcount) + { + this.animationFinish(false); + } + else + { + this.cur_frame = this.cur_anim_repeatto; + } + } + } + if (this.cur_frame < 0) + { + if (cur_animation.pingpong) + { + this.cur_frame = 1; + this.animForwards = true; + if (!cur_animation.loop) + { + this.animRepeats++; + if (this.animRepeats >= cur_animation.repeatcount) + { + this.animationFinish(true); + } + } + } + else + { + if (cur_animation.loop) + { + this.cur_frame = this.cur_anim_repeatto; + } + else + { + this.animRepeats++; + if (this.animRepeats >= cur_animation.repeatcount) + { + this.animationFinish(true); + } + else + { + this.cur_frame = this.cur_anim_repeatto; + } + } + } + } + if (this.cur_frame < 0) + this.cur_frame = 0; + else if (this.cur_frame >= cur_animation.frames.length) + this.cur_frame = cur_animation.frames.length - 1; + if (now > this.frameStart + (cur_animation.frames[this.cur_frame].duration / this.cur_anim_speed)) + { + this.frameStart = now; + } + next_frame = cur_animation.frames[this.cur_frame]; + this.OnFrameChanged(prev_frame, next_frame); + this.runtime.redraw = true; + } + }; + instanceProto.getAnimationByName = function (name_) + { + var i, len, a; + for (i = 0, len = this.type.animations.length; i < len; i++) + { + a = this.type.animations[i]; + if (cr.equals_nocase(a.name, name_)) + return a; + } + return null; + }; + instanceProto.getAnimationBySid = function (sid_) + { + var i, len, a; + for (i = 0, len = this.type.animations.length; i < len; i++) + { + a = this.type.animations[i]; + if (a.sid === sid_) + return a; + } + return null; + }; + instanceProto.doChangeAnim = function () + { + var prev_frame = this.cur_animation.frames[this.cur_frame]; + var anim = this.getAnimationByName(this.changeAnimName); + this.changeAnimName = ""; + if (!anim) + return; + if (cr.equals_nocase(anim.name, this.cur_animation.name) && this.animPlaying) + return; + this.cur_animation = anim; + this.cur_anim_speed = anim.speed; + this.cur_anim_repeatto = anim.repeatto; + if (this.cur_frame < 0) + this.cur_frame = 0; + if (this.cur_frame >= this.cur_animation.frames.length) + this.cur_frame = this.cur_animation.frames.length - 1; + if (this.changeAnimFrom === 1) + this.cur_frame = 0; + this.animPlaying = true; + this.frameStart = this.getNowTime(); + this.animForwards = true; + this.OnFrameChanged(prev_frame, this.cur_animation.frames[this.cur_frame]); + this.runtime.redraw = true; + }; + instanceProto.doChangeAnimFrame = function () + { + var prev_frame = this.cur_animation.frames[this.cur_frame]; + var prev_frame_number = this.cur_frame; + this.cur_frame = cr.floor(this.changeAnimFrame); + if (this.cur_frame < 0) + this.cur_frame = 0; + if (this.cur_frame >= this.cur_animation.frames.length) + this.cur_frame = this.cur_animation.frames.length - 1; + if (prev_frame_number !== this.cur_frame) + { + this.OnFrameChanged(prev_frame, this.cur_animation.frames[this.cur_frame]); + this.frameStart = this.getNowTime(); + this.runtime.redraw = true; + } + this.changeAnimFrame = -1; + }; + instanceProto.OnFrameChanged = function (prev_frame, next_frame) + { + var oldw = prev_frame.width; + var oldh = prev_frame.height; + var neww = next_frame.width; + var newh = next_frame.height; + if (oldw != neww) + this.width *= (neww / oldw); + if (oldh != newh) + this.height *= (newh / oldh); + this.hotspotX = next_frame.hotspotX; + this.hotspotY = next_frame.hotspotY; + this.collision_poly.set_pts(next_frame.poly_pts); + this.set_bbox_changed(); + this.curFrame = next_frame; + this.curWebGLTexture = next_frame.webGL_texture; + var i, len, b; + for (i = 0, len = this.behavior_insts.length; i < len; i++) + { + b = this.behavior_insts[i]; + if (b.onSpriteFrameChanged) + b.onSpriteFrameChanged(prev_frame, next_frame); + } + this.runtime.trigger(cr.plugins_.Sprite.prototype.cnds.OnFrameChanged, this); + }; + instanceProto.draw = function(ctx) + { + ctx.globalAlpha = this.opacity; + var cur_frame = this.curFrame; + var spritesheeted = cur_frame.spritesheeted; + var cur_image = cur_frame.texture_img; + var myx = this.x; + var myy = this.y; + var w = this.width; + var h = this.height; + if (this.angle === 0 && w >= 0 && h >= 0) + { + myx -= this.hotspotX * w; + myy -= this.hotspotY * h; + if (this.runtime.pixel_rounding) + { + myx = Math.round(myx); + myy = Math.round(myy); + } + if (spritesheeted) + { + ctx.drawImage(cur_image, cur_frame.offx, cur_frame.offy, cur_frame.width, cur_frame.height, + myx, myy, w, h); + } + else + { + ctx.drawImage(cur_image, myx, myy, w, h); + } + } + else + { + if (this.runtime.pixel_rounding) + { + myx = Math.round(myx); + myy = Math.round(myy); + } + ctx.save(); + var widthfactor = w > 0 ? 1 : -1; + var heightfactor = h > 0 ? 1 : -1; + ctx.translate(myx, myy); + if (widthfactor !== 1 || heightfactor !== 1) + ctx.scale(widthfactor, heightfactor); + ctx.rotate(this.angle * widthfactor * heightfactor); + var drawx = 0 - (this.hotspotX * cr.abs(w)) + var drawy = 0 - (this.hotspotY * cr.abs(h)); + if (spritesheeted) + { + ctx.drawImage(cur_image, cur_frame.offx, cur_frame.offy, cur_frame.width, cur_frame.height, + drawx, drawy, cr.abs(w), cr.abs(h)); + } + else + { + ctx.drawImage(cur_image, drawx, drawy, cr.abs(w), cr.abs(h)); + } + ctx.restore(); + } + /* + ctx.strokeStyle = "#f00"; + ctx.lineWidth = 3; + ctx.beginPath(); + this.collision_poly.cache_poly(this.width, this.height, this.angle); + var i, len, ax, ay, bx, by; + for (i = 0, len = this.collision_poly.pts_count; i < len; i++) + { + ax = this.collision_poly.pts_cache[i*2] + this.x; + ay = this.collision_poly.pts_cache[i*2+1] + this.y; + bx = this.collision_poly.pts_cache[((i+1)%len)*2] + this.x; + by = this.collision_poly.pts_cache[((i+1)%len)*2+1] + this.y; + ctx.moveTo(ax, ay); + ctx.lineTo(bx, by); + } + ctx.stroke(); + ctx.closePath(); + */ + /* + if (this.behavior_insts.length >= 1 && this.behavior_insts[0].draw) + { + this.behavior_insts[0].draw(ctx); + } + */ + }; + instanceProto.drawGL_earlyZPass = function(glw) + { + this.drawGL(glw); + }; + instanceProto.drawGL = function(glw) + { + glw.setTexture(this.curWebGLTexture); + glw.setOpacity(this.opacity); + var cur_frame = this.curFrame; + var q = this.bquad; + if (this.runtime.pixel_rounding) + { + var ox = Math.round(this.x) - this.x; + var oy = Math.round(this.y) - this.y; + if (cur_frame.spritesheeted) + glw.quadTex(q.tlx + ox, q.tly + oy, q.trx + ox, q.try_ + oy, q.brx + ox, q.bry + oy, q.blx + ox, q.bly + oy, cur_frame.sheetTex); + else + glw.quad(q.tlx + ox, q.tly + oy, q.trx + ox, q.try_ + oy, q.brx + ox, q.bry + oy, q.blx + ox, q.bly + oy); + } + else + { + if (cur_frame.spritesheeted) + glw.quadTex(q.tlx, q.tly, q.trx, q.try_, q.brx, q.bry, q.blx, q.bly, cur_frame.sheetTex); + else + glw.quad(q.tlx, q.tly, q.trx, q.try_, q.brx, q.bry, q.blx, q.bly); + } + }; + instanceProto.getImagePointIndexByName = function(name_) + { + var cur_frame = this.curFrame; + var i, len; + for (i = 0, len = cur_frame.image_points.length; i < len; i++) + { + if (cr.equals_nocase(name_, cur_frame.image_points[i][0])) + return i; + } + return -1; + }; + instanceProto.getImagePoint = function(imgpt, getX) + { + var cur_frame = this.curFrame; + var image_points = cur_frame.image_points; + var index; + if (cr.is_string(imgpt)) + index = this.getImagePointIndexByName(imgpt); + else + index = imgpt - 1; // 0 is origin + index = cr.floor(index); + if (index < 0 || index >= image_points.length) + return getX ? this.x : this.y; // return origin + var x = (image_points[index][1] - cur_frame.hotspotX) * this.width; + var y = image_points[index][2]; + y = (y - cur_frame.hotspotY) * this.height; + var cosa = Math.cos(this.angle); + var sina = Math.sin(this.angle); + var x_temp = (x * cosa) - (y * sina); + y = (y * cosa) + (x * sina); + x = x_temp; + x += this.x; + y += this.y; + return getX ? x : y; + }; + function Cnds() {}; + var arrCache = []; + function allocArr() + { + if (arrCache.length) + return arrCache.pop(); + else + return [0, 0, 0]; + }; + function freeArr(a) + { + a[0] = 0; + a[1] = 0; + a[2] = 0; + arrCache.push(a); + }; + function makeCollKey(a, b) + { + if (a < b) + return "" + a + "," + b; + else + return "" + b + "," + a; + }; + function collmemory_add(collmemory, a, b, tickcount) + { + var a_uid = a.uid; + var b_uid = b.uid; + var key = makeCollKey(a_uid, b_uid); + if (collmemory.hasOwnProperty(key)) + { + collmemory[key][2] = tickcount; + return; + } + var arr = allocArr(); + arr[0] = a_uid; + arr[1] = b_uid; + arr[2] = tickcount; + collmemory[key] = arr; + }; + function collmemory_remove(collmemory, a, b) + { + var key = makeCollKey(a.uid, b.uid); + if (collmemory.hasOwnProperty(key)) + { + freeArr(collmemory[key]); + delete collmemory[key]; + } + }; + function collmemory_removeInstance(collmemory, inst) + { + var uid = inst.uid; + var p, entry; + for (p in collmemory) + { + if (collmemory.hasOwnProperty(p)) + { + entry = collmemory[p]; + if (entry[0] === uid || entry[1] === uid) + { + freeArr(collmemory[p]); + delete collmemory[p]; + } + } + } + }; + var last_coll_tickcount = -2; + function collmemory_has(collmemory, a, b) + { + var key = makeCollKey(a.uid, b.uid); + if (collmemory.hasOwnProperty(key)) + { + last_coll_tickcount = collmemory[key][2]; + return true; + } + else + { + last_coll_tickcount = -2; + return false; + } + }; + var candidates1 = []; + Cnds.prototype.OnCollision = function (rtype) + { + if (!rtype) + return false; + var runtime = this.runtime; + var cnd = runtime.getCurrentCondition(); + var ltype = cnd.type; + var collmemory = null; + if (cnd.extra["collmemory"]) + { + collmemory = cnd.extra["collmemory"]; + } + else + { + collmemory = {}; + cnd.extra["collmemory"] = collmemory; + } + if (!cnd.extra["spriteCreatedDestroyCallback"]) + { + cnd.extra["spriteCreatedDestroyCallback"] = true; + runtime.addDestroyCallback(function(inst) { + collmemory_removeInstance(cnd.extra["collmemory"], inst); + }); + } + var lsol = ltype.getCurrentSol(); + var rsol = rtype.getCurrentSol(); + var linstances = lsol.getObjects(); + var rinstances; + var registeredInstances; + var l, linst, r, rinst; + var curlsol, currsol; + var tickcount = this.runtime.tickcount; + var lasttickcount = tickcount - 1; + var exists, run; + var current_event = runtime.getCurrentEventStack().current_event; + var orblock = current_event.orblock; + for (l = 0; l < linstances.length; l++) + { + linst = linstances[l]; + if (rsol.select_all) + { + linst.update_bbox(); + this.runtime.getCollisionCandidates(linst.layer, rtype, linst.bbox, candidates1); + rinstances = candidates1; + this.runtime.addRegisteredCollisionCandidates(linst, rtype, rinstances); + } + else + { + rinstances = rsol.getObjects(); + } + for (r = 0; r < rinstances.length; r++) + { + rinst = rinstances[r]; + if (runtime.testOverlap(linst, rinst) || runtime.checkRegisteredCollision(linst, rinst)) + { + exists = collmemory_has(collmemory, linst, rinst); + run = (!exists || (last_coll_tickcount < lasttickcount)); + collmemory_add(collmemory, linst, rinst, tickcount); + if (run) + { + runtime.pushCopySol(current_event.solModifiers); + curlsol = ltype.getCurrentSol(); + currsol = rtype.getCurrentSol(); + curlsol.select_all = false; + currsol.select_all = false; + if (ltype === rtype) + { + curlsol.instances.length = 2; // just use lsol, is same reference as rsol + curlsol.instances[0] = linst; + curlsol.instances[1] = rinst; + ltype.applySolToContainer(); + } + else + { + curlsol.instances.length = 1; + currsol.instances.length = 1; + curlsol.instances[0] = linst; + currsol.instances[0] = rinst; + ltype.applySolToContainer(); + rtype.applySolToContainer(); + } + current_event.retrigger(); + runtime.popSol(current_event.solModifiers); + } + } + else + { + collmemory_remove(collmemory, linst, rinst); + } + } + cr.clearArray(candidates1); + } + return false; + }; + var rpicktype = null; + var rtopick = new cr.ObjectSet(); + var needscollisionfinish = false; + var candidates2 = []; + var temp_bbox = new cr.rect(0, 0, 0, 0); + function DoOverlapCondition(rtype, offx, offy) + { + if (!rtype) + return false; + var do_offset = (offx !== 0 || offy !== 0); + var oldx, oldy, ret = false, r, lenr, rinst; + var cnd = this.runtime.getCurrentCondition(); + var ltype = cnd.type; + var inverted = cnd.inverted; + var rsol = rtype.getCurrentSol(); + var orblock = this.runtime.getCurrentEventStack().current_event.orblock; + var rinstances; + if (rsol.select_all) + { + this.update_bbox(); + temp_bbox.copy(this.bbox); + temp_bbox.offset(offx, offy); + this.runtime.getCollisionCandidates(this.layer, rtype, temp_bbox, candidates2); + rinstances = candidates2; + } + else if (orblock) + { + if (this.runtime.isCurrentConditionFirst() && !rsol.else_instances.length && rsol.instances.length) + rinstances = rsol.instances; + else + rinstances = rsol.else_instances; + } + else + { + rinstances = rsol.instances; + } + rpicktype = rtype; + needscollisionfinish = (ltype !== rtype && !inverted); + if (do_offset) + { + oldx = this.x; + oldy = this.y; + this.x += offx; + this.y += offy; + this.set_bbox_changed(); + } + for (r = 0, lenr = rinstances.length; r < lenr; r++) + { + rinst = rinstances[r]; + if (this.runtime.testOverlap(this, rinst)) + { + ret = true; + if (inverted) + break; + if (ltype !== rtype) + rtopick.add(rinst); + } + } + if (do_offset) + { + this.x = oldx; + this.y = oldy; + this.set_bbox_changed(); + } + cr.clearArray(candidates2); + return ret; + }; + typeProto.finish = function (do_pick) + { + if (!needscollisionfinish) + return; + if (do_pick) + { + var orblock = this.runtime.getCurrentEventStack().current_event.orblock; + var sol = rpicktype.getCurrentSol(); + var topick = rtopick.valuesRef(); + var i, len, inst; + if (sol.select_all) + { + sol.select_all = false; + cr.clearArray(sol.instances); + for (i = 0, len = topick.length; i < len; ++i) + { + sol.instances[i] = topick[i]; + } + if (orblock) + { + cr.clearArray(sol.else_instances); + for (i = 0, len = rpicktype.instances.length; i < len; ++i) + { + inst = rpicktype.instances[i]; + if (!rtopick.contains(inst)) + sol.else_instances.push(inst); + } + } + } + else + { + if (orblock) + { + var initsize = sol.instances.length; + for (i = 0, len = topick.length; i < len; ++i) + { + sol.instances[initsize + i] = topick[i]; + cr.arrayFindRemove(sol.else_instances, topick[i]); + } + } + else + { + cr.shallowAssignArray(sol.instances, topick); + } + } + rpicktype.applySolToContainer(); + } + rtopick.clear(); + needscollisionfinish = false; + }; + Cnds.prototype.IsOverlapping = function (rtype) + { + return DoOverlapCondition.call(this, rtype, 0, 0); + }; + Cnds.prototype.IsOverlappingOffset = function (rtype, offx, offy) + { + return DoOverlapCondition.call(this, rtype, offx, offy); + }; + Cnds.prototype.IsAnimPlaying = function (animname) + { + if (this.changeAnimName.length) + return cr.equals_nocase(this.changeAnimName, animname); + else + return cr.equals_nocase(this.cur_animation.name, animname); + }; + Cnds.prototype.CompareFrame = function (cmp, framenum) + { + return cr.do_cmp(this.cur_frame, cmp, framenum); + }; + Cnds.prototype.CompareAnimSpeed = function (cmp, x) + { + var s = (this.animForwards ? this.cur_anim_speed : -this.cur_anim_speed); + return cr.do_cmp(s, cmp, x); + }; + Cnds.prototype.OnAnimFinished = function (animname) + { + return cr.equals_nocase(this.animTriggerName, animname); + }; + Cnds.prototype.OnAnyAnimFinished = function () + { + return true; + }; + Cnds.prototype.OnFrameChanged = function () + { + return true; + }; + Cnds.prototype.IsMirrored = function () + { + return this.width < 0; + }; + Cnds.prototype.IsFlipped = function () + { + return this.height < 0; + }; + Cnds.prototype.OnURLLoaded = function () + { + return true; + }; + Cnds.prototype.IsCollisionEnabled = function () + { + return this.collisionsEnabled; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.Spawn = function (obj, layer, imgpt) + { + if (!obj || !layer) + return; + var inst = this.runtime.createInstance(obj, layer, this.getImagePoint(imgpt, true), this.getImagePoint(imgpt, false)); + if (!inst) + return; + if (typeof inst.angle !== "undefined") + { + inst.angle = this.angle; + inst.set_bbox_changed(); + } + this.runtime.isInOnDestroy++; + var i, len, s; + this.runtime.trigger(Object.getPrototypeOf(obj.plugin).cnds.OnCreated, inst); + if (inst.is_contained) + { + for (i = 0, len = inst.siblings.length; i < len; i++) + { + s = inst.siblings[i]; + this.runtime.trigger(Object.getPrototypeOf(s.type.plugin).cnds.OnCreated, s); + } + } + this.runtime.isInOnDestroy--; + var cur_act = this.runtime.getCurrentAction(); + var reset_sol = false; + if (cr.is_undefined(cur_act.extra["Spawn_LastExec"]) || cur_act.extra["Spawn_LastExec"] < this.runtime.execcount) + { + reset_sol = true; + cur_act.extra["Spawn_LastExec"] = this.runtime.execcount; + } + var sol; + if (obj != this.type) + { + sol = obj.getCurrentSol(); + sol.select_all = false; + if (reset_sol) + { + cr.clearArray(sol.instances); + sol.instances[0] = inst; + } + else + sol.instances.push(inst); + if (inst.is_contained) + { + for (i = 0, len = inst.siblings.length; i < len; i++) + { + s = inst.siblings[i]; + sol = s.type.getCurrentSol(); + sol.select_all = false; + if (reset_sol) + { + cr.clearArray(sol.instances); + sol.instances[0] = s; + } + else + sol.instances.push(s); + } + } + } + }; + Acts.prototype.SetEffect = function (effect) + { + this.blend_mode = effect; + this.compositeOp = cr.effectToCompositeOp(effect); + cr.setGLBlend(this, effect, this.runtime.gl); + this.runtime.redraw = true; + }; + Acts.prototype.StopAnim = function () + { + this.animPlaying = false; + }; + Acts.prototype.StartAnim = function (from) + { + this.animPlaying = true; + this.frameStart = this.getNowTime(); + if (from === 1 && this.cur_frame !== 0) + { + this.changeAnimFrame = 0; + if (!this.inAnimTrigger) + this.doChangeAnimFrame(); + } + if (!this.isTicking) + { + this.runtime.tickMe(this); + this.isTicking = true; + } + }; + Acts.prototype.SetAnim = function (animname, from) + { + this.changeAnimName = animname; + this.changeAnimFrom = from; + if (!this.isTicking) + { + this.runtime.tickMe(this); + this.isTicking = true; + } + if (!this.inAnimTrigger) + this.doChangeAnim(); + }; + Acts.prototype.SetAnimFrame = function (framenumber) + { + this.changeAnimFrame = framenumber; + if (!this.isTicking) + { + this.runtime.tickMe(this); + this.isTicking = true; + } + if (!this.inAnimTrigger) + this.doChangeAnimFrame(); + }; + Acts.prototype.SetAnimSpeed = function (s) + { + this.cur_anim_speed = cr.abs(s); + this.animForwards = (s >= 0); + if (!this.isTicking) + { + this.runtime.tickMe(this); + this.isTicking = true; + } + }; + Acts.prototype.SetAnimRepeatToFrame = function (s) + { + s = Math.floor(s); + if (s < 0) + s = 0; + if (s >= this.cur_animation.frames.length) + s = this.cur_animation.frames.length - 1; + this.cur_anim_repeatto = s; + }; + Acts.prototype.SetMirrored = function (m) + { + var neww = cr.abs(this.width) * (m === 0 ? -1 : 1); + if (this.width === neww) + return; + this.width = neww; + this.set_bbox_changed(); + }; + Acts.prototype.SetFlipped = function (f) + { + var newh = cr.abs(this.height) * (f === 0 ? -1 : 1); + if (this.height === newh) + return; + this.height = newh; + this.set_bbox_changed(); + }; + Acts.prototype.SetScale = function (s) + { + var cur_frame = this.curFrame; + var mirror_factor = (this.width < 0 ? -1 : 1); + var flip_factor = (this.height < 0 ? -1 : 1); + var new_width = cur_frame.width * s * mirror_factor; + var new_height = cur_frame.height * s * flip_factor; + if (this.width !== new_width || this.height !== new_height) + { + this.width = new_width; + this.height = new_height; + this.set_bbox_changed(); + } + }; + Acts.prototype.LoadURL = function (url_, resize_, crossOrigin_) + { + var img = new Image(); + var self = this; + var curFrame_ = this.curFrame; + img.onload = function () + { + if (curFrame_.texture_img.src === img.src) + { + if (self.runtime.glwrap && self.curFrame === curFrame_) + self.curWebGLTexture = curFrame_.webGL_texture; + if (resize_ === 0) // resize to image size + { + self.width = img.width; + self.height = img.height; + self.set_bbox_changed(); + } + self.runtime.redraw = true; + self.runtime.trigger(cr.plugins_.Sprite.prototype.cnds.OnURLLoaded, self); + return; + } + curFrame_.texture_img = img; + curFrame_.offx = 0; + curFrame_.offy = 0; + curFrame_.width = img.width; + curFrame_.height = img.height; + curFrame_.spritesheeted = false; + curFrame_.datauri = ""; + curFrame_.pixelformat = 0; // reset to RGBA, since we don't know what type of image will have come in + if (self.runtime.glwrap) + { + if (curFrame_.webGL_texture) + self.runtime.glwrap.deleteTexture(curFrame_.webGL_texture); + curFrame_.webGL_texture = self.runtime.glwrap.loadTexture(img, false, self.runtime.linearSampling); + if (self.curFrame === curFrame_) + self.curWebGLTexture = curFrame_.webGL_texture; + self.type.updateAllCurrentTexture(); + } + if (resize_ === 0) // resize to image size + { + self.width = img.width; + self.height = img.height; + self.set_bbox_changed(); + } + self.runtime.redraw = true; + self.runtime.trigger(cr.plugins_.Sprite.prototype.cnds.OnURLLoaded, self); + }; + if (url_.substr(0, 5) !== "data:" && crossOrigin_ === 0) + img["crossOrigin"] = "anonymous"; + this.runtime.setImageSrc(img, url_); + }; + Acts.prototype.SetCollisions = function (set_) + { + if (this.collisionsEnabled === (set_ !== 0)) + return; // no change + this.collisionsEnabled = (set_ !== 0); + if (this.collisionsEnabled) + this.set_bbox_changed(); // needs to be added back to cells + else + { + if (this.collcells.right >= this.collcells.left) + this.type.collision_grid.update(this, this.collcells, null); + this.collcells.set(0, 0, -1, -1); + } + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.AnimationFrame = function (ret) + { + ret.set_int(this.cur_frame); + }; + Exps.prototype.AnimationFrameCount = function (ret) + { + ret.set_int(this.cur_animation.frames.length); + }; + Exps.prototype.AnimationName = function (ret) + { + ret.set_string(this.cur_animation.name); + }; + Exps.prototype.AnimationSpeed = function (ret) + { + ret.set_float(this.animForwards ? this.cur_anim_speed : -this.cur_anim_speed); + }; + Exps.prototype.ImagePointX = function (ret, imgpt) + { + ret.set_float(this.getImagePoint(imgpt, true)); + }; + Exps.prototype.ImagePointY = function (ret, imgpt) + { + ret.set_float(this.getImagePoint(imgpt, false)); + }; + Exps.prototype.ImagePointCount = function (ret) + { + ret.set_int(this.curFrame.image_points.length); + }; + Exps.prototype.ImageWidth = function (ret) + { + ret.set_float(this.curFrame.width); + }; + Exps.prototype.ImageHeight = function (ret) + { + ret.set_float(this.curFrame.height); + }; + pluginProto.exps = new Exps(); +}()); +/* global cr,log,assert2 */ +/* jshint globalstrict: true */ +/* jshint strict: true */ +; +; +var jText = ''; +cr.plugins_.SpriteFontPlus = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.SpriteFontPlus.prototype; + pluginProto.onCreate = function () + { + }; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + if (this.is_family) + return; + this.texture_img = new Image(); + this.texture_img["idtkLoadDisposed"] = true; + this.texture_img.src = this.texture_file; + this.runtime.wait_for_textures.push(this.texture_img); + this.webGL_texture = null; + }; + typeProto.onLostWebGLContext = function () + { + if (this.is_family) + return; + this.webGL_texture = null; + }; + typeProto.onRestoreWebGLContext = function () + { + if (this.is_family || !this.instances.length) + return; + if (!this.webGL_texture) + { + this.webGL_texture = this.runtime.glwrap.loadTexture(this.texture_img, false, this.runtime.linearSampling, this.texture_pixelformat); + } + var i, len; + for (i = 0, len = this.instances.length; i < len; i++) + this.instances[i].webGL_texture = this.webGL_texture; + }; + typeProto.unloadTextures = function () + { + if (this.is_family || this.instances.length || !this.webGL_texture) + return; + this.runtime.glwrap.deleteTexture(this.webGL_texture); + this.webGL_texture = null; + }; + typeProto.preloadCanvas2D = function (ctx) + { + ctx.drawImage(this.texture_img, 0, 0); + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onDestroy = function() + { + freeAllLines (this.lines); + freeAllClip (this.clipList); + freeAllClipUV(this.clipUV); + cr.wipe(this.characterWidthList); + }; + instanceProto.onCreate = function() + { + this.texture_img = this.type.texture_img; + this.characterWidth = this.properties[0]; + this.characterHeight = this.properties[1]; + this.characterSet = this.properties[2]; + this.text = this.properties[3]; + this.characterScale = this.properties[4]; + this.visible = (this.properties[5] === 0); // 0=visible, 1=invisible + this.halign = this.properties[6]/2.0; // 0=left, 1=center, 2=right + this.valign = this.properties[7]/2.0; // 0=top, 1=center, 2=bottom + this.wrapbyword = (this.properties[9] === 0); // 0=word, 1=character + this.characterSpacing = this.properties[10]; + this.lineHeight = this.properties[11]; + this.textWidth = 0; + this.textHeight = 0; + this.charWidthJSON = this.properties[12]; + this.spaceWidth = this.properties[13]; + console.log(this.charWidthJSON); + jText = this.charWidthJSON; + if (this.recycled) + { + this.lines.length = 0; + cr.wipe(this.clipList); + cr.wipe(this.clipUV); + cr.wipe(this.characterWidthList); + } + else + { + this.lines = []; + this.clipList = {}; + this.clipUV = {}; + this.characterWidthList = {}; + } + try{ + if(this.charWidthJSON){ + if(this.charWidthJSON.indexOf('""c2array""') !== -1) { + var jStr = jQuery.parseJSON(this.charWidthJSON.replace(/""/g,'"')); + var l = jStr.size[1]; + for(var s = 0; s < l; s++) { + var cs = jStr.data[1][s][0]; + var w = jStr.data[0][s][0]; + for(var c = 0; c < cs.length; c++) { + this.characterWidthList[cs.charAt(c)] = w + } + } + } else { + var jStr = jQuery.parseJSON(this.charWidthJSON); + var l = jStr.length; + for(var s = 0; s < l; s++) { + var cs = jStr[s][1]; + var w = jStr[s][0]; + for(var c = 0; c < cs.length; c++) { + this.characterWidthList[cs.charAt(c)] = w + } + } + } + } + if(this.spaceWidth !== -1) { + this.characterWidthList[' '] = this.spaceWidth; + } + } + catch(e){ + if(window.console && window.console.log) { + window.console.log('SpriteFont+ Failure: ' + e); + } + } + this.text_changed = true; + this.lastwrapwidth = this.width; + if (this.runtime.glwrap) + { + if (!this.type.webGL_texture) + { + this.type.webGL_texture = this.runtime.glwrap.loadTexture(this.type.texture_img, false, this.runtime.linearSampling, this.type.texture_pixelformat); + } + this.webGL_texture = this.type.webGL_texture; + } + this.SplitSheet(); + }; + instanceProto.saveToJSON = function () + { + var save = { + "t": this.text, + "csc": this.characterScale, + "csp": this.characterSpacing, + "lh": this.lineHeight, + "tw": this.textWidth, + "th": this.textHeight, + "lrt": this.last_render_tick, + "cw": {} + }; + for (var ch in this.characterWidthList) + save["cw"][ch] = this.characterWidthList[ch]; + return save; + }; + instanceProto.loadFromJSON = function (o) + { + this.text = o["t"]; + this.characterScale = o["csc"]; + this.characterSpacing = o["csp"]; + this.lineHeight = o["lh"]; + this.textWidth = o["tw"]; + this.textHeight = o["th"]; + this.last_render_tick = o["lrt"]; + for(var ch in o["cw"]) + this.characterWidthList[ch] = o["cw"][ch]; + this.text_changed = true; + this.lastwrapwidth = this.width; + }; + function trimRight(text) + { + return text.replace(/\s\s*$/, ''); + } + var MAX_CACHE_SIZE = 1000; + function alloc(cache,Constructor) + { + if (cache.length) + return cache.pop(); + else + return new Constructor(); + } + function free(cache,data) + { + if (cache.length < MAX_CACHE_SIZE) + { + cache.push(data); + } + } + function freeAll(cache,dataList,isArray) + { + if (isArray) { + var i, len; + for (i = 0, len = dataList.length; i < len; i++) + { + free(cache,dataList[i]); + } + dataList.length = 0; + } else { + var prop; + for(prop in dataList) { + if(Object.prototype.hasOwnProperty.call(dataList,prop)) { + free(cache,dataList[prop]); + delete dataList[prop]; + } + } + } + } + function addLine(inst,lineIndex,cur_line) { + var lines = inst.lines; + var line; + cur_line = trimRight(cur_line); + if (lineIndex >= lines.length) + lines.push(allocLine()); + line = lines[lineIndex]; + line.text = cur_line; + line.width = inst.measureWidth(cur_line); + inst.textWidth = cr.max(inst.textWidth,line.width); + } + var linesCache = []; + function allocLine() { return alloc(linesCache,Object); } + function freeLine(l) { free(linesCache,l); } + function freeAllLines(arr) { freeAll(linesCache,arr,true); } + function addClip(obj,property,x,y,w,h) { + if (obj[property] === undefined) { + obj[property] = alloc(clipCache,Object); + } + obj[property].x = x; + obj[property].y = y; + obj[property].w = w; + obj[property].h = h; + } + var clipCache = []; + function allocClip() { return alloc(clipCache,Object); } + function freeAllClip(obj) { freeAll(clipCache,obj,false);} + function addClipUV(obj,property,left,top,right,bottom) { + if (obj[property] === undefined) { + obj[property] = alloc(clipUVCache,cr.rect); + } + obj[property].left = left; + obj[property].top = top; + obj[property].right = right; + obj[property].bottom = bottom; + } + var clipUVCache = []; + function allocClipUV() { return alloc(clipUVCache,cr.rect);} + function freeAllClipUV(obj) { freeAll(clipUVCache,obj,false);} + instanceProto.SplitSheet = function() { + var texture = this.texture_img; + var texWidth = texture.width; + var texHeight = texture.height; + var charWidth = this.characterWidth; + var charHeight = this.characterHeight; + var charU = charWidth /texWidth; + var charV = charHeight/texHeight; + var charSet = this.characterSet ; + var cols = Math.floor(texWidth/charWidth); + var rows = Math.floor(texHeight/charHeight); + for ( var c = 0; c < charSet.length; c++) { + if (c >= cols * rows) break; + var x = c%cols; + var y = Math.floor(c/cols); + var letter = charSet.charAt(c); + if (this.runtime.glwrap) { + addClipUV( + this.clipUV, letter, + x * charU , + y * charV , + (x+1) * charU , + (y+1) * charV + ); + } else { + addClip( + this.clipList, letter, + x * charWidth, + y * charHeight, + charWidth, + charHeight + ); + } + } + }; + /* + * Word-Wrapping + */ + var wordsCache = []; + pluginProto.TokeniseWords = function (text) + { + wordsCache.length = 0; + var cur_word = ""; + var ch; + var i = 0; + while (i < text.length) + { + ch = text.charAt(i); + if (ch === "\n") + { + if (cur_word.length) + { + wordsCache.push(cur_word); + cur_word = ""; + } + wordsCache.push("\n"); + ++i; + } + else if (ch === " " || ch === "\t" || ch === "-") + { + do { + cur_word += text.charAt(i); + i++; + } + while (i < text.length && (text.charAt(i) === " " || text.charAt(i) === "\t")); + wordsCache.push(cur_word); + cur_word = ""; + } + else if (i < text.length) + { + cur_word += ch; + i++; + } + } + if (cur_word.length) + wordsCache.push(cur_word); + }; + pluginProto.WordWrap = function (inst) + { + var text = inst.text; + var lines = inst.lines; + if (!text || !text.length) + { + freeAllLines(lines); + return; + } + var width = inst.width; + if (width <= 2.0) + { + freeAllLines(lines); + return; + } + var charWidth = inst.characterWidth; + var charScale = inst.characterScale; + var charSpacing = inst.characterSpacing; + if ( (text.length * (charWidth * charScale + charSpacing) - charSpacing) <= width && text.indexOf("\n") === -1) + { + var all_width = inst.measureWidth(text); + if (all_width <= width) + { + freeAllLines(lines); + lines.push(allocLine()); + lines[0].text = text; + lines[0].width = all_width; + inst.textWidth = all_width; + inst.textHeight = inst.characterHeight * charScale + inst.lineHeight; + return; + } + } + var wrapbyword = inst.wrapbyword; + this.WrapText(inst); + inst.textHeight = lines.length * (inst.characterHeight * charScale + inst.lineHeight); + }; + pluginProto.WrapText = function (inst) + { + var wrapbyword = inst.wrapbyword; + var text = inst.text; + var lines = inst.lines; + var width = inst.width; + var wordArray; + if (wrapbyword) { + this.TokeniseWords(text); // writes to wordsCache + wordArray = wordsCache; + } else { + wordArray = text; + } + var cur_line = ""; + var prev_line; + var line_width; + var i; + var lineIndex = 0; + var line; + var ignore_newline = false; + for (i = 0; i < wordArray.length; i++) + { + if (wordArray[i] === "\n") + { + if (ignore_newline === true) { + ignore_newline = false; + } else { + addLine(inst,lineIndex,cur_line); + lineIndex++; + } + cur_line = ""; + continue; + } + ignore_newline = false; + prev_line = cur_line; + cur_line += wordArray[i]; + line_width = inst.measureWidth(trimRight(cur_line)); + if (line_width > width) + { + if (prev_line === "") { + addLine(inst,lineIndex,cur_line); + cur_line = ""; + ignore_newline = true; + } else { + addLine(inst,lineIndex,prev_line); + cur_line = wordArray[i]; + } + lineIndex++; + if (!wrapbyword && cur_line === " ") + cur_line = ""; + } + } + if (trimRight(cur_line).length) + { + addLine(inst,lineIndex,cur_line); + lineIndex++; + } + for (i = lineIndex; i < lines.length; i++) + freeLine(lines[i]); + lines.length = lineIndex; + }; + instanceProto.measureWidth = function(text) { + var spacing = this.characterSpacing; + var len = text.length; + var width = 0; + for (var i = 0; i < len; i++) { + width += this.getCharacterWidth(text.charAt(i)) * this.characterScale + spacing; + } + width -= (width > 0) ? spacing : 0; + return width; + }; + /***/ + instanceProto.getCharacterWidth = function(character) { + var widthList = this.characterWidthList; + if (widthList[character] !== undefined) { + return widthList[character]; + } else { + return this.characterWidth; + } + }; + instanceProto.rebuildText = function() { + if (this.text_changed || this.width !== this.lastwrapwidth) { + this.textWidth = 0; + this.textHeight = 0; + this.type.plugin.WordWrap(this); + this.text_changed = false; + this.lastwrapwidth = this.width; + } + }; + var EPSILON = 0.00001; + instanceProto.draw = function(ctx, glmode) + { + var texture = this.texture_img; + if (this.text !== "" && texture != null) { + this.rebuildText(); + if (this.height < this.characterHeight*this.characterScale + this.lineHeight) { + return; + } + ctx.globalAlpha = this.opacity; + var myx = this.x; + var myy = this.y; + if (this.runtime.pixel_rounding) + { + myx = (myx + 0.5) | 0; + myy = (myy + 0.5) | 0; + } + ctx.save(); + ctx.translate(myx, myy); + ctx.rotate(this.angle); + var ha = this.halign; + var va = this.valign; + var scale = this.characterScale; + var charHeight = this.characterHeight * scale; + var lineHeight = this.lineHeight; + var charSpace = this.characterSpacing; + var lines = this.lines; + var textHeight = this.textHeight; + var halign; + var valign = va * cr.max(0,(this.height - textHeight)); + var offx = -(this.hotspotX * this.width); + var offy = -(this.hotspotY * this.height); + offy += valign; + var drawX ; + var drawY = offy; + for(var i = 0; i < lines.length; i++) { + var line = lines[i].text; + var len = lines[i].width; + halign = ha * cr.max(0,this.width - len); + drawX = offx + halign; + drawY += lineHeight; + for(var j = 0; j < line.length; j++) { + var letter = line.charAt(j); + var clip = this.clipList[letter]; + if ( drawX + this.getCharacterWidth(letter) * scale > this.width + EPSILON ) { + break; + } + if (clip !== undefined) { + ctx.drawImage( this.texture_img, + clip.x, clip.y, clip.w, clip.h, + Math.round(drawX),Math.round(drawY),clip.w*scale,clip.h*scale); + } + drawX += this.getCharacterWidth(letter) * scale + charSpace; + } + drawY += charHeight; + if ( drawY + charHeight + lineHeight > this.height) { + break; + } + } + ctx.restore(); + } + }; + var dQuad = new cr.quad(); + function rotateQuad(quad,cosa,sina) { + var x_temp; + x_temp = (quad.tlx * cosa) - (quad.tly * sina); + quad.tly = (quad.tly * cosa) + (quad.tlx * sina); + quad.tlx = x_temp; + x_temp = (quad.trx * cosa) - (quad.try_ * sina); + quad.try_ = (quad.try_ * cosa) + (quad.trx * sina); + quad.trx = x_temp; + x_temp = (quad.blx * cosa) - (quad.bly * sina); + quad.bly = (quad.bly * cosa) + (quad.blx * sina); + quad.blx = x_temp; + x_temp = (quad.brx * cosa) - (quad.bry * sina); + quad.bry = (quad.bry * cosa) + (quad.brx * sina); + quad.brx = x_temp; + } + instanceProto.drawGL = function(glw) + { + glw.setTexture(this.webGL_texture); + glw.setOpacity(this.opacity); + if (this.text !== "") { + this.rebuildText(); + if (this.height < this.characterHeight*this.characterScale + this.lineHeight) { + return; + } + this.update_bbox(); + var q = this.bquad; + var ox = 0; + var oy = 0; + if (this.runtime.pixel_rounding) + { + ox = ((this.x + 0.5) | 0) - this.x; + oy = ((this.y + 0.5) | 0) - this.y; + } + var angle = this.angle; + var ha = this.halign; + var va = this.valign; + var scale = this.characterScale; + var charHeight = this.characterHeight * scale; // to precalculate in onCreate or on change + var lineHeight = this.lineHeight; + var charSpace = this.characterSpacing; + var lines = this.lines; + var textHeight = this.textHeight; + var cosa,sina; + if (angle !== 0) + { + cosa = Math.cos(angle); + sina = Math.sin(angle); + } + var halign; + var valign = va * cr.max(0,(this.height - textHeight)); + var offx = q.tlx + ox; + var offy = q.tly + oy; + var drawX ; + var drawY = valign; + for(var i = 0; i < lines.length; i++) { + var line = lines[i].text; + var lineWidth = lines[i].width; + halign = ha * cr.max(0,this.width - lineWidth); + drawX = halign; + drawY += lineHeight; + for(var j = 0; j < line.length; j++) { + var letter = line.charAt(j); + var clipUV = this.clipUV[letter]; + if ( drawX + this.getCharacterWidth(letter) * scale > this.width + EPSILON) { + break; + } + if (clipUV !== undefined) { + var clipWidth = this.characterWidth*scale; + var clipHeight = this.characterHeight*scale; + dQuad.tlx = drawX; + dQuad.tly = drawY; + dQuad.trx = drawX + clipWidth; + dQuad.try_ = drawY ; + dQuad.blx = drawX; + dQuad.bly = drawY + clipHeight; + dQuad.brx = drawX + clipWidth; + dQuad.bry = drawY + clipHeight; + if(angle !== 0) + { + rotateQuad(dQuad,cosa,sina); + } + dQuad.offset(offx,offy); + glw.quadTex( + dQuad.tlx, dQuad.tly, + dQuad.trx, dQuad.try_, + dQuad.brx, dQuad.bry, + dQuad.blx, dQuad.bly, + clipUV + ); + } + drawX += this.getCharacterWidth(letter) * scale + charSpace; + } + drawY += charHeight; + if ( drawY + charHeight + lineHeight > this.height) { + break; + } + } + } + }; + function Cnds() {} + Cnds.prototype.CompareText = function(text_to_compare, case_sensitive) + { + if (case_sensitive) + return this.text == text_to_compare; + else + return cr.equals_nocase(this.text, text_to_compare); + }; + pluginProto.cnds = new Cnds(); + function Acts() {} + Acts.prototype.SetText = function(param) + { + if (cr.is_number(param) && param < 1e9) + param = Math.round(param * 1e10) / 1e10; // round to nearest ten billionth - hides floating point errors + var text_to_set = param.toString(); + if (this.text !== text_to_set) + { + this.text = text_to_set; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + Acts.prototype.AppendText = function(param) + { + if (cr.is_number(param)) + param = Math.round(param * 1e10) / 1e10; // round to nearest ten billionth - hides floating point errors + var text_to_append = param.toString(); + if (text_to_append) // not empty + { + this.text += text_to_append; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + Acts.prototype.SetScale = function(param) + { + if (param !== this.characterScale) { + this.characterScale = param; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + Acts.prototype.SetCharacterSpacing = function(param) + { + if (param !== this.CharacterSpacing) { + this.characterSpacing = param; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + Acts.prototype.SetLineHeight = function(param) + { + if (param !== this.lineHeight) { + this.lineHeight = param; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + instanceProto.SetCharWidth = function(character,width) { + var w = parseInt(width,10); + if (this.characterWidthList[character] !== w) { + this.characterWidthList[character] = w; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + Acts.prototype.SetCharacterWidth = function(characterSet,width) + { + if (characterSet !== "") { + for(var c = 0; c < characterSet.length; c++) { + this.SetCharWidth(characterSet.charAt(c),width); + } + } + }; + Acts.prototype.SetEffect = function (effect) + { + this.compositeOp = cr.effectToCompositeOp(effect); + cr.setGLBlend(this, effect, this.runtime.gl); + this.runtime.redraw = true; + }; + pluginProto.acts = new Acts(); + function Exps() {} + Exps.prototype.CharacterWidth = function(ret,character) + { + ret.set_int(this.getCharacterWidth(character)); + }; + Exps.prototype.CharacterHeight = function(ret) + { + ret.set_int(this.characterHeight); + }; + Exps.prototype.CharacterScale = function(ret) + { + ret.set_float(this.characterScale); + }; + Exps.prototype.CharacterSpacing = function(ret) + { + ret.set_int(this.characterSpacing); + }; + Exps.prototype.LineHeight = function(ret) + { + ret.set_int(this.lineHeight); + }; + Exps.prototype.Text = function(ret) + { + ret.set_string(this.text); + }; + Exps.prototype.TextWidth = function (ret) + { + this.rebuildText(); + ret.set_float(this.textWidth); + }; + Exps.prototype.TextHeight = function (ret) + { + this.rebuildText(); + ret.set_float(this.textHeight); + }; + pluginProto.exps = new Exps(); +}()); +/* global cr,log,assert2 */ +/* jshint globalstrict: true */ +/* jshint strict: true */ +; +; +cr.plugins_.Spritefont2 = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.Spritefont2.prototype; + pluginProto.onCreate = function () + { + }; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + if (this.is_family) + return; + this.texture_img = new Image(); + this.runtime.waitForImageLoad(this.texture_img, this.texture_file); + this.webGL_texture = null; + }; + typeProto.onLostWebGLContext = function () + { + if (this.is_family) + return; + this.webGL_texture = null; + }; + typeProto.onRestoreWebGLContext = function () + { + if (this.is_family || !this.instances.length) + return; + if (!this.webGL_texture) + { + this.webGL_texture = this.runtime.glwrap.loadTexture(this.texture_img, false, this.runtime.linearSampling, this.texture_pixelformat); + } + var i, len; + for (i = 0, len = this.instances.length; i < len; i++) + this.instances[i].webGL_texture = this.webGL_texture; + }; + typeProto.unloadTextures = function () + { + if (this.is_family || this.instances.length || !this.webGL_texture) + return; + this.runtime.glwrap.deleteTexture(this.webGL_texture); + this.webGL_texture = null; + }; + typeProto.preloadCanvas2D = function (ctx) + { + ctx.drawImage(this.texture_img, 0, 0); + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onDestroy = function() + { + freeAllLines (this.lines); + freeAllClip (this.clipList); + freeAllClipUV(this.clipUV); + cr.wipe(this.characterWidthList); + }; + instanceProto.onCreate = function() + { + this.texture_img = this.type.texture_img; + this.characterWidth = this.properties[0]; + this.characterHeight = this.properties[1]; + this.characterSet = this.properties[2]; + this.text = this.properties[3]; + this.characterScale = this.properties[4]; + this.visible = (this.properties[5] === 0); // 0=visible, 1=invisible + this.halign = this.properties[6]/2.0; // 0=left, 1=center, 2=right + this.valign = this.properties[7]/2.0; // 0=top, 1=center, 2=bottom + this.wrapbyword = (this.properties[9] === 0); // 0=word, 1=character + this.characterSpacing = this.properties[10]; + this.lineHeight = this.properties[11]; + this.textWidth = 0; + this.textHeight = 0; + if (this.recycled) + { + cr.clearArray(this.lines); + cr.wipe(this.clipList); + cr.wipe(this.clipUV); + cr.wipe(this.characterWidthList); + } + else + { + this.lines = []; + this.clipList = {}; + this.clipUV = {}; + this.characterWidthList = {}; + } + this.text_changed = true; + this.lastwrapwidth = this.width; + if (this.runtime.glwrap) + { + if (!this.type.webGL_texture) + { + this.type.webGL_texture = this.runtime.glwrap.loadTexture(this.type.texture_img, false, this.runtime.linearSampling, this.type.texture_pixelformat); + } + this.webGL_texture = this.type.webGL_texture; + } + this.SplitSheet(); + }; + instanceProto.saveToJSON = function () + { + var save = { + "t": this.text, + "csc": this.characterScale, + "csp": this.characterSpacing, + "lh": this.lineHeight, + "tw": this.textWidth, + "th": this.textHeight, + "lrt": this.last_render_tick, + "ha": this.halign, + "va": this.valign, + "cw": {} + }; + for (var ch in this.characterWidthList) + save["cw"][ch] = this.characterWidthList[ch]; + return save; + }; + instanceProto.loadFromJSON = function (o) + { + this.text = o["t"]; + this.characterScale = o["csc"]; + this.characterSpacing = o["csp"]; + this.lineHeight = o["lh"]; + this.textWidth = o["tw"]; + this.textHeight = o["th"]; + this.last_render_tick = o["lrt"]; + if (o.hasOwnProperty("ha")) + this.halign = o["ha"]; + if (o.hasOwnProperty("va")) + this.valign = o["va"]; + for(var ch in o["cw"]) + this.characterWidthList[ch] = o["cw"][ch]; + this.text_changed = true; + this.lastwrapwidth = this.width; + }; + function trimRight(text) + { + return text.replace(/\s\s*$/, ''); + } + var MAX_CACHE_SIZE = 1000; + function alloc(cache,Constructor) + { + if (cache.length) + return cache.pop(); + else + return new Constructor(); + } + function free(cache,data) + { + if (cache.length < MAX_CACHE_SIZE) + { + cache.push(data); + } + } + function freeAll(cache,dataList,isArray) + { + if (isArray) { + var i, len; + for (i = 0, len = dataList.length; i < len; i++) + { + free(cache,dataList[i]); + } + cr.clearArray(dataList); + } else { + var prop; + for(prop in dataList) { + if(Object.prototype.hasOwnProperty.call(dataList,prop)) { + free(cache,dataList[prop]); + delete dataList[prop]; + } + } + } + } + function addLine(inst,lineIndex,cur_line) { + var lines = inst.lines; + var line; + cur_line = trimRight(cur_line); + if (lineIndex >= lines.length) + lines.push(allocLine()); + line = lines[lineIndex]; + line.text = cur_line; + line.width = inst.measureWidth(cur_line); + inst.textWidth = cr.max(inst.textWidth,line.width); + } + var linesCache = []; + function allocLine() { return alloc(linesCache,Object); } + function freeLine(l) { free(linesCache,l); } + function freeAllLines(arr) { freeAll(linesCache,arr,true); } + function addClip(obj,property,x,y,w,h) { + if (obj[property] === undefined) { + obj[property] = alloc(clipCache,Object); + } + obj[property].x = x; + obj[property].y = y; + obj[property].w = w; + obj[property].h = h; + } + var clipCache = []; + function allocClip() { return alloc(clipCache,Object); } + function freeAllClip(obj) { freeAll(clipCache,obj,false);} + function addClipUV(obj,property,left,top,right,bottom) { + if (obj[property] === undefined) { + obj[property] = alloc(clipUVCache,cr.rect); + } + obj[property].left = left; + obj[property].top = top; + obj[property].right = right; + obj[property].bottom = bottom; + } + var clipUVCache = []; + function allocClipUV() { return alloc(clipUVCache,cr.rect);} + function freeAllClipUV(obj) { freeAll(clipUVCache,obj,false);} + instanceProto.SplitSheet = function() { + var texture = this.texture_img; + var texWidth = texture.width; + var texHeight = texture.height; + var charWidth = this.characterWidth; + var charHeight = this.characterHeight; + var charU = charWidth /texWidth; + var charV = charHeight/texHeight; + var charSet = this.characterSet ; + var cols = Math.floor(texWidth/charWidth); + var rows = Math.floor(texHeight/charHeight); + for ( var c = 0; c < charSet.length; c++) { + if (c >= cols * rows) break; + var x = c%cols; + var y = Math.floor(c/cols); + var letter = charSet.charAt(c); + if (this.runtime.glwrap) { + addClipUV( + this.clipUV, letter, + x * charU , + y * charV , + (x+1) * charU , + (y+1) * charV + ); + } else { + addClip( + this.clipList, letter, + x * charWidth, + y * charHeight, + charWidth, + charHeight + ); + } + } + }; + /* + * Word-Wrapping + */ + var wordsCache = []; + pluginProto.TokeniseWords = function (text) + { + cr.clearArray(wordsCache); + var cur_word = ""; + var ch; + var i = 0; + while (i < text.length) + { + ch = text.charAt(i); + if (ch === "\n") + { + if (cur_word.length) + { + wordsCache.push(cur_word); + cur_word = ""; + } + wordsCache.push("\n"); + ++i; + } + else if (ch === " " || ch === "\t" || ch === "-") + { + do { + cur_word += text.charAt(i); + i++; + } + while (i < text.length && (text.charAt(i) === " " || text.charAt(i) === "\t")); + wordsCache.push(cur_word); + cur_word = ""; + } + else if (i < text.length) + { + cur_word += ch; + i++; + } + } + if (cur_word.length) + wordsCache.push(cur_word); + }; + pluginProto.WordWrap = function (inst) + { + var text = inst.text; + var lines = inst.lines; + if (!text || !text.length) + { + freeAllLines(lines); + return; + } + var width = inst.width; + if (width <= 2.0) + { + freeAllLines(lines); + return; + } + var charWidth = inst.characterWidth; + var charScale = inst.characterScale; + var charSpacing = inst.characterSpacing; + if ( (text.length * (charWidth * charScale + charSpacing) - charSpacing) <= width && text.indexOf("\n") === -1) + { + var all_width = inst.measureWidth(text); + if (all_width <= width) + { + freeAllLines(lines); + lines.push(allocLine()); + lines[0].text = text; + lines[0].width = all_width; + inst.textWidth = all_width; + inst.textHeight = inst.characterHeight * charScale + inst.lineHeight; + return; + } + } + var wrapbyword = inst.wrapbyword; + this.WrapText(inst); + inst.textHeight = lines.length * (inst.characterHeight * charScale + inst.lineHeight); + }; + pluginProto.WrapText = function (inst) + { + var wrapbyword = inst.wrapbyword; + var text = inst.text; + var lines = inst.lines; + var width = inst.width; + var wordArray; + if (wrapbyword) { + this.TokeniseWords(text); // writes to wordsCache + wordArray = wordsCache; + } else { + wordArray = text; + } + var cur_line = ""; + var prev_line; + var line_width; + var i; + var lineIndex = 0; + var line; + var ignore_newline = false; + for (i = 0; i < wordArray.length; i++) + { + if (wordArray[i] === "\n") + { + if (ignore_newline === true) { + ignore_newline = false; + } else { + addLine(inst,lineIndex,cur_line); + lineIndex++; + } + cur_line = ""; + continue; + } + ignore_newline = false; + prev_line = cur_line; + cur_line += wordArray[i]; + line_width = inst.measureWidth(trimRight(cur_line)); + if (line_width > width) + { + if (prev_line === "") { + addLine(inst,lineIndex,cur_line); + cur_line = ""; + ignore_newline = true; + } else { + addLine(inst,lineIndex,prev_line); + cur_line = wordArray[i]; + } + lineIndex++; + if (!wrapbyword && cur_line === " ") + cur_line = ""; + } + } + if (trimRight(cur_line).length) + { + addLine(inst,lineIndex,cur_line); + lineIndex++; + } + for (i = lineIndex; i < lines.length; i++) + freeLine(lines[i]); + lines.length = lineIndex; + }; + instanceProto.measureWidth = function(text) { + var spacing = this.characterSpacing; + var len = text.length; + var width = 0; + for (var i = 0; i < len; i++) { + width += this.getCharacterWidth(text.charAt(i)) * this.characterScale + spacing; + } + width -= (width > 0) ? spacing : 0; + return width; + }; + /***/ + instanceProto.getCharacterWidth = function(character) { + var widthList = this.characterWidthList; + if (widthList[character] !== undefined) { + return widthList[character]; + } else { + return this.characterWidth; + } + }; + instanceProto.rebuildText = function() { + if (this.text_changed || this.width !== this.lastwrapwidth) { + this.textWidth = 0; + this.textHeight = 0; + this.type.plugin.WordWrap(this); + this.text_changed = false; + this.lastwrapwidth = this.width; + } + }; + var EPSILON = 0.00001; + instanceProto.draw = function(ctx, glmode) + { + var texture = this.texture_img; + if (this.text !== "" && texture != null) { + this.rebuildText(); + if (this.height < this.characterHeight*this.characterScale + this.lineHeight) { + return; + } + ctx.globalAlpha = this.opacity; + var myx = this.x; + var myy = this.y; + if (this.runtime.pixel_rounding) + { + myx = Math.round(myx); + myy = Math.round(myy); + } + var viewLeft = this.layer.viewLeft; + var viewTop = this.layer.viewTop; + var viewRight = this.layer.viewRight; + var viewBottom = this.layer.viewBottom; + ctx.save(); + ctx.translate(myx, myy); + ctx.rotate(this.angle); + var angle = this.angle; + var ha = this.halign; + var va = this.valign; + var scale = this.characterScale; + var charHeight = this.characterHeight * scale; + var lineHeight = this.lineHeight; + var charSpace = this.characterSpacing; + var lines = this.lines; + var textHeight = this.textHeight; + var letterWidth; + var halign; + var valign = va * cr.max(0,(this.height - textHeight)); + var offx = -(this.hotspotX * this.width); + var offy = -(this.hotspotY * this.height); + offy += valign; + var drawX ; + var drawY = offy; + var roundX, roundY; + for(var i = 0; i < lines.length; i++) { + var line = lines[i].text; + var len = lines[i].width; + halign = ha * cr.max(0,this.width - len); + drawX = offx + halign; + drawY += lineHeight; + if (angle === 0 && myy + drawY + charHeight < viewTop) + { + drawY += charHeight; + continue; + } + for(var j = 0; j < line.length; j++) { + var letter = line.charAt(j); + letterWidth = this.getCharacterWidth(letter); + var clip = this.clipList[letter]; + if (angle === 0 && myx + drawX + letterWidth * scale + charSpace < viewLeft) + { + drawX += letterWidth * scale + charSpace; + continue; + } + if ( drawX + letterWidth * scale > this.width + EPSILON ) { + break; + } + if (clip !== undefined) { + roundX = drawX; + roundY = drawY; + if (angle === 0 && scale === 1) + { + roundX = Math.round(roundX); + roundY = Math.round(roundY); + } + ctx.drawImage( this.texture_img, + clip.x, clip.y, clip.w, clip.h, + roundX,roundY,clip.w*scale,clip.h*scale); + } + drawX += letterWidth * scale + charSpace; + if (angle === 0 && myx + drawX > viewRight) + break; + } + drawY += charHeight; + if (angle === 0 && (drawY + charHeight + lineHeight > this.height || myy + drawY > viewBottom)) + { + break; + } + } + ctx.restore(); + } + }; + var dQuad = new cr.quad(); + function rotateQuad(quad,cosa,sina) { + var x_temp; + x_temp = (quad.tlx * cosa) - (quad.tly * sina); + quad.tly = (quad.tly * cosa) + (quad.tlx * sina); + quad.tlx = x_temp; + x_temp = (quad.trx * cosa) - (quad.try_ * sina); + quad.try_ = (quad.try_ * cosa) + (quad.trx * sina); + quad.trx = x_temp; + x_temp = (quad.blx * cosa) - (quad.bly * sina); + quad.bly = (quad.bly * cosa) + (quad.blx * sina); + quad.blx = x_temp; + x_temp = (quad.brx * cosa) - (quad.bry * sina); + quad.bry = (quad.bry * cosa) + (quad.brx * sina); + quad.brx = x_temp; + } + instanceProto.drawGL = function(glw) + { + glw.setTexture(this.webGL_texture); + glw.setOpacity(this.opacity); + if (!this.text) + return; + this.rebuildText(); + if (this.height < this.characterHeight*this.characterScale + this.lineHeight) { + return; + } + this.update_bbox(); + var q = this.bquad; + var ox = 0; + var oy = 0; + if (this.runtime.pixel_rounding) + { + ox = Math.round(this.x) - this.x; + oy = Math.round(this.y) - this.y; + } + var viewLeft = this.layer.viewLeft; + var viewTop = this.layer.viewTop; + var viewRight = this.layer.viewRight; + var viewBottom = this.layer.viewBottom; + var angle = this.angle; + var ha = this.halign; + var va = this.valign; + var scale = this.characterScale; + var charHeight = this.characterHeight * scale; // to precalculate in onCreate or on change + var lineHeight = this.lineHeight; + var charSpace = this.characterSpacing; + var lines = this.lines; + var textHeight = this.textHeight; + var letterWidth; + var cosa,sina; + if (angle !== 0) + { + cosa = Math.cos(angle); + sina = Math.sin(angle); + } + var halign; + var valign = va * cr.max(0,(this.height - textHeight)); + var offx = q.tlx + ox; + var offy = q.tly + oy; + var drawX ; + var drawY = valign; + var roundX, roundY; + for(var i = 0; i < lines.length; i++) { + var line = lines[i].text; + var lineWidth = lines[i].width; + halign = ha * cr.max(0,this.width - lineWidth); + drawX = halign; + drawY += lineHeight; + if (angle === 0 && offy + drawY + charHeight < viewTop) + { + drawY += charHeight; + continue; + } + for(var j = 0; j < line.length; j++) { + var letter = line.charAt(j); + letterWidth = this.getCharacterWidth(letter); + var clipUV = this.clipUV[letter]; + if (angle === 0 && offx + drawX + letterWidth * scale + charSpace < viewLeft) + { + drawX += letterWidth * scale + charSpace; + continue; + } + if (drawX + letterWidth * scale > this.width + EPSILON) + { + break; + } + if (clipUV !== undefined) { + var clipWidth = this.characterWidth*scale; + var clipHeight = this.characterHeight*scale; + roundX = drawX; + roundY = drawY; + if (angle === 0 && scale === 1) + { + roundX = Math.round(roundX); + roundY = Math.round(roundY); + } + dQuad.tlx = roundX; + dQuad.tly = roundY; + dQuad.trx = roundX + clipWidth; + dQuad.try_ = roundY ; + dQuad.blx = roundX; + dQuad.bly = roundY + clipHeight; + dQuad.brx = roundX + clipWidth; + dQuad.bry = roundY + clipHeight; + if(angle !== 0) + { + rotateQuad(dQuad,cosa,sina); + } + dQuad.offset(offx,offy); + glw.quadTex( + dQuad.tlx, dQuad.tly, + dQuad.trx, dQuad.try_, + dQuad.brx, dQuad.bry, + dQuad.blx, dQuad.bly, + clipUV + ); + } + drawX += letterWidth * scale + charSpace; + if (angle === 0 && offx + drawX > viewRight) + break; + } + drawY += charHeight; + if (angle === 0 && (drawY + charHeight + lineHeight > this.height || offy + drawY > viewBottom)) + { + break; + } + } + }; + function Cnds() {} + Cnds.prototype.CompareText = function(text_to_compare, case_sensitive) + { + if (case_sensitive) + return this.text == text_to_compare; + else + return cr.equals_nocase(this.text, text_to_compare); + }; + pluginProto.cnds = new Cnds(); + function Acts() {} + Acts.prototype.SetText = function(param) + { + if (cr.is_number(param) && param < 1e9) + param = Math.round(param * 1e10) / 1e10; // round to nearest ten billionth - hides floating point errors + var text_to_set = param.toString(); + if (this.text !== text_to_set) + { + this.text = text_to_set; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + Acts.prototype.AppendText = function(param) + { + if (cr.is_number(param)) + param = Math.round(param * 1e10) / 1e10; // round to nearest ten billionth - hides floating point errors + var text_to_append = param.toString(); + if (text_to_append) // not empty + { + this.text += text_to_append; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + Acts.prototype.SetScale = function(param) + { + if (param !== this.characterScale) { + this.characterScale = param; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + Acts.prototype.SetCharacterSpacing = function(param) + { + if (param !== this.CharacterSpacing) { + this.characterSpacing = param; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + Acts.prototype.SetLineHeight = function(param) + { + if (param !== this.lineHeight) { + this.lineHeight = param; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + instanceProto.SetCharWidth = function(character,width) { + var w = parseInt(width,10); + if (this.characterWidthList[character] !== w) { + this.characterWidthList[character] = w; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + Acts.prototype.SetCharacterWidth = function(characterSet,width) + { + if (characterSet !== "") { + for(var c = 0; c < characterSet.length; c++) { + this.SetCharWidth(characterSet.charAt(c),width); + } + } + }; + Acts.prototype.SetEffect = function (effect) + { + this.blend_mode = effect; + this.compositeOp = cr.effectToCompositeOp(effect); + cr.setGLBlend(this, effect, this.runtime.gl); + this.runtime.redraw = true; + }; + Acts.prototype.SetHAlign = function (a) + { + this.halign = a / 2.0; + this.text_changed = true; + this.runtime.redraw = true; + }; + Acts.prototype.SetVAlign = function (a) + { + this.valign = a / 2.0; + this.text_changed = true; + this.runtime.redraw = true; + }; + pluginProto.acts = new Acts(); + function Exps() {} + Exps.prototype.CharacterWidth = function(ret,character) + { + ret.set_int(this.getCharacterWidth(character)); + }; + Exps.prototype.CharacterHeight = function(ret) + { + ret.set_int(this.characterHeight); + }; + Exps.prototype.CharacterScale = function(ret) + { + ret.set_float(this.characterScale); + }; + Exps.prototype.CharacterSpacing = function(ret) + { + ret.set_int(this.characterSpacing); + }; + Exps.prototype.LineHeight = function(ret) + { + ret.set_int(this.lineHeight); + }; + Exps.prototype.Text = function(ret) + { + ret.set_string(this.text); + }; + Exps.prototype.TextWidth = function (ret) + { + this.rebuildText(); + ret.set_float(this.textWidth); + }; + Exps.prototype.TextHeight = function (ret) + { + this.rebuildText(); + ret.set_float(this.textHeight); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.Text = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.Text.prototype; + pluginProto.onCreate = function () + { + pluginProto.acts.SetWidth = function (w) + { + if (this.width !== w) + { + this.width = w; + this.text_changed = true; // also recalculate text wrapping + this.set_bbox_changed(); + } + }; + }; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + typeProto.onLostWebGLContext = function () + { + if (this.is_family) + return; + var i, len, inst; + for (i = 0, len = this.instances.length; i < len; i++) + { + inst = this.instances[i]; + inst.mycanvas = null; + inst.myctx = null; + inst.mytex = null; + } + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + if (this.recycled) + cr.clearArray(this.lines); + else + this.lines = []; // for word wrapping + this.text_changed = true; + }; + var instanceProto = pluginProto.Instance.prototype; + var requestedWebFonts = {}; // already requested web fonts have an entry here + instanceProto.onCreate = function() + { + this.text = this.properties[0]; + this.visible = (this.properties[1] === 0); // 0=visible, 1=invisible + this.font = this.properties[2]; + this.color = this.properties[3]; + this.halign = this.properties[4]; // 0=left, 1=center, 2=right + this.valign = this.properties[5]; // 0=top, 1=center, 2=bottom + this.wrapbyword = (this.properties[7] === 0); // 0=word, 1=character + this.lastwidth = this.width; + this.lastwrapwidth = this.width; + this.lastheight = this.height; + this.line_height_offset = this.properties[8]; + this.facename = ""; + this.fontstyle = ""; + this.ptSize = 0; + this.textWidth = 0; + this.textHeight = 0; + this.parseFont(); + this.mycanvas = null; + this.myctx = null; + this.mytex = null; + this.need_text_redraw = false; + this.last_render_tick = this.runtime.tickcount; + if (this.recycled) + this.rcTex.set(0, 0, 1, 1); + else + this.rcTex = new cr.rect(0, 0, 1, 1); + if (this.runtime.glwrap) + this.runtime.tickMe(this); +; + }; + instanceProto.parseFont = function () + { + var arr = this.font.split(" "); + var i; + for (i = 0; i < arr.length; i++) + { + if (arr[i].substr(arr[i].length - 2, 2) === "pt") + { + this.ptSize = parseInt(arr[i].substr(0, arr[i].length - 2)); + this.pxHeight = Math.ceil((this.ptSize / 72.0) * 96.0) + 4; // assume 96dpi... + if (i > 0) + this.fontstyle = arr[i - 1]; + this.facename = arr[i + 1]; + for (i = i + 2; i < arr.length; i++) + this.facename += " " + arr[i]; + break; + } + } + }; + instanceProto.saveToJSON = function () + { + return { + "t": this.text, + "f": this.font, + "c": this.color, + "ha": this.halign, + "va": this.valign, + "wr": this.wrapbyword, + "lho": this.line_height_offset, + "fn": this.facename, + "fs": this.fontstyle, + "ps": this.ptSize, + "pxh": this.pxHeight, + "tw": this.textWidth, + "th": this.textHeight, + "lrt": this.last_render_tick + }; + }; + instanceProto.loadFromJSON = function (o) + { + this.text = o["t"]; + this.font = o["f"]; + this.color = o["c"]; + this.halign = o["ha"]; + this.valign = o["va"]; + this.wrapbyword = o["wr"]; + this.line_height_offset = o["lho"]; + this.facename = o["fn"]; + this.fontstyle = o["fs"]; + this.ptSize = o["ps"]; + this.pxHeight = o["pxh"]; + this.textWidth = o["tw"]; + this.textHeight = o["th"]; + this.last_render_tick = o["lrt"]; + this.text_changed = true; + this.lastwidth = this.width; + this.lastwrapwidth = this.width; + this.lastheight = this.height; + }; + instanceProto.tick = function () + { + if (this.runtime.glwrap && this.mytex && (this.runtime.tickcount - this.last_render_tick >= 300)) + { + var layer = this.layer; + this.update_bbox(); + var bbox = this.bbox; + if (bbox.right < layer.viewLeft || bbox.bottom < layer.viewTop || bbox.left > layer.viewRight || bbox.top > layer.viewBottom) + { + this.runtime.glwrap.deleteTexture(this.mytex); + this.mytex = null; + this.myctx = null; + this.mycanvas = null; + } + } + }; + instanceProto.onDestroy = function () + { + this.myctx = null; + this.mycanvas = null; + if (this.runtime.glwrap && this.mytex) + this.runtime.glwrap.deleteTexture(this.mytex); + this.mytex = null; + }; + instanceProto.updateFont = function () + { + this.font = this.fontstyle + " " + this.ptSize.toString() + "pt " + this.facename; + this.text_changed = true; + this.runtime.redraw = true; + }; + instanceProto.draw = function(ctx, glmode) + { + ctx.font = this.font; + ctx.textBaseline = "top"; + ctx.fillStyle = this.color; + ctx.globalAlpha = glmode ? 1 : this.opacity; + var myscale = 1; + if (glmode) + { + myscale = Math.abs(this.layer.getScale()); + ctx.save(); + ctx.scale(myscale, myscale); + } + if (this.text_changed || this.width !== this.lastwrapwidth) + { + this.type.plugin.WordWrap(this.text, this.lines, ctx, this.width, this.wrapbyword); + this.text_changed = false; + this.lastwrapwidth = this.width; + } + this.update_bbox(); + var penX = glmode ? 0 : this.bquad.tlx; + var penY = glmode ? 0 : this.bquad.tly; + if (this.runtime.pixel_rounding) + { + penX = (penX + 0.5) | 0; + penY = (penY + 0.5) | 0; + } + if (this.angle !== 0 && !glmode) + { + ctx.save(); + ctx.translate(penX, penY); + ctx.rotate(this.angle); + penX = 0; + penY = 0; + } + var endY = penY + this.height; + var line_height = this.pxHeight; + line_height += this.line_height_offset; + var drawX; + var i; + if (this.valign === 1) // center + penY += Math.max(this.height / 2 - (this.lines.length * line_height) / 2, 0); + else if (this.valign === 2) // bottom + penY += Math.max(this.height - (this.lines.length * line_height) - 2, 0); + for (i = 0; i < this.lines.length; i++) + { + drawX = penX; + if (this.halign === 1) // center + drawX = penX + (this.width - this.lines[i].width) / 2; + else if (this.halign === 2) // right + drawX = penX + (this.width - this.lines[i].width); + ctx.fillText(this.lines[i].text, drawX, penY); + penY += line_height; + if (penY >= endY - line_height) + break; + } + if (this.angle !== 0 || glmode) + ctx.restore(); + this.last_render_tick = this.runtime.tickcount; + }; + instanceProto.drawGL = function(glw) + { + if (this.width < 1 || this.height < 1) + return; + var need_redraw = this.text_changed || this.need_text_redraw; + this.need_text_redraw = false; + var layer_scale = this.layer.getScale(); + var layer_angle = this.layer.getAngle(); + var rcTex = this.rcTex; + var floatscaledwidth = layer_scale * this.width; + var floatscaledheight = layer_scale * this.height; + var scaledwidth = Math.ceil(floatscaledwidth); + var scaledheight = Math.ceil(floatscaledheight); + var absscaledwidth = Math.abs(scaledwidth); + var absscaledheight = Math.abs(scaledheight); + var halfw = this.runtime.draw_width / 2; + var halfh = this.runtime.draw_height / 2; + if (!this.myctx) + { + this.mycanvas = document.createElement("canvas"); + this.mycanvas.width = absscaledwidth; + this.mycanvas.height = absscaledheight; + this.lastwidth = absscaledwidth; + this.lastheight = absscaledheight; + need_redraw = true; + this.myctx = this.mycanvas.getContext("2d"); + } + if (absscaledwidth !== this.lastwidth || absscaledheight !== this.lastheight) + { + this.mycanvas.width = absscaledwidth; + this.mycanvas.height = absscaledheight; + if (this.mytex) + { + glw.deleteTexture(this.mytex); + this.mytex = null; + } + need_redraw = true; + } + if (need_redraw) + { + this.myctx.clearRect(0, 0, absscaledwidth, absscaledheight); + this.draw(this.myctx, true); + if (!this.mytex) + this.mytex = glw.createEmptyTexture(absscaledwidth, absscaledheight, this.runtime.linearSampling, this.runtime.isMobile); + glw.videoToTexture(this.mycanvas, this.mytex, this.runtime.isMobile); + } + this.lastwidth = absscaledwidth; + this.lastheight = absscaledheight; + glw.setTexture(this.mytex); + glw.setOpacity(this.opacity); + glw.resetModelView(); + glw.translate(-halfw, -halfh); + glw.updateModelView(); + var q = this.bquad; + var tlx = this.layer.layerToCanvas(q.tlx, q.tly, true, true); + var tly = this.layer.layerToCanvas(q.tlx, q.tly, false, true); + var trx = this.layer.layerToCanvas(q.trx, q.try_, true, true); + var try_ = this.layer.layerToCanvas(q.trx, q.try_, false, true); + var brx = this.layer.layerToCanvas(q.brx, q.bry, true, true); + var bry = this.layer.layerToCanvas(q.brx, q.bry, false, true); + var blx = this.layer.layerToCanvas(q.blx, q.bly, true, true); + var bly = this.layer.layerToCanvas(q.blx, q.bly, false, true); + if (this.runtime.pixel_rounding || (this.angle === 0 && layer_angle === 0)) + { + var ox = ((tlx + 0.5) | 0) - tlx; + var oy = ((tly + 0.5) | 0) - tly + tlx += ox; + tly += oy; + trx += ox; + try_ += oy; + brx += ox; + bry += oy; + blx += ox; + bly += oy; + } + if (this.angle === 0 && layer_angle === 0) + { + trx = tlx + scaledwidth; + try_ = tly; + brx = trx; + bry = tly + scaledheight; + blx = tlx; + bly = bry; + rcTex.right = 1; + rcTex.bottom = 1; + } + else + { + rcTex.right = floatscaledwidth / scaledwidth; + rcTex.bottom = floatscaledheight / scaledheight; + } + glw.quadTex(tlx, tly, trx, try_, brx, bry, blx, bly, rcTex); + glw.resetModelView(); + glw.scale(layer_scale, layer_scale); + glw.rotateZ(-this.layer.getAngle()); + glw.translate((this.layer.viewLeft + this.layer.viewRight) / -2, (this.layer.viewTop + this.layer.viewBottom) / -2); + glw.updateModelView(); + this.last_render_tick = this.runtime.tickcount; + }; + var wordsCache = []; + pluginProto.TokeniseWords = function (text) + { + cr.clearArray(wordsCache); + var cur_word = ""; + var ch; + var i = 0; + while (i < text.length) + { + ch = text.charAt(i); + if (ch === "\n") + { + if (cur_word.length) + { + wordsCache.push(cur_word); + cur_word = ""; + } + wordsCache.push("\n"); + ++i; + } + else if (ch === " " || ch === "\t" || ch === "-") + { + do { + cur_word += text.charAt(i); + i++; + } + while (i < text.length && (text.charAt(i) === " " || text.charAt(i) === "\t")); + wordsCache.push(cur_word); + cur_word = ""; + } + else if (i < text.length) + { + cur_word += ch; + i++; + } + } + if (cur_word.length) + wordsCache.push(cur_word); + }; + var linesCache = []; + function allocLine() + { + if (linesCache.length) + return linesCache.pop(); + else + return {}; + }; + function freeLine(l) + { + linesCache.push(l); + }; + function freeAllLines(arr) + { + var i, len; + for (i = 0, len = arr.length; i < len; i++) + { + freeLine(arr[i]); + } + cr.clearArray(arr); + }; + pluginProto.WordWrap = function (text, lines, ctx, width, wrapbyword) + { + if (!text || !text.length) + { + freeAllLines(lines); + return; + } + if (width <= 2.0) + { + freeAllLines(lines); + return; + } + if (text.length <= 100 && text.indexOf("\n") === -1) + { + var all_width = ctx.measureText(text).width; + if (all_width <= width) + { + freeAllLines(lines); + lines.push(allocLine()); + lines[0].text = text; + lines[0].width = all_width; + return; + } + } + this.WrapText(text, lines, ctx, width, wrapbyword); + }; + function trimSingleSpaceRight(str) + { + if (!str.length || str.charAt(str.length - 1) !== " ") + return str; + return str.substring(0, str.length - 1); + }; + pluginProto.WrapText = function (text, lines, ctx, width, wrapbyword) + { + var wordArray; + if (wrapbyword) + { + this.TokeniseWords(text); // writes to wordsCache + wordArray = wordsCache; + } + else + wordArray = text; + var cur_line = ""; + var prev_line; + var line_width; + var i; + var lineIndex = 0; + var line; + for (i = 0; i < wordArray.length; i++) + { + if (wordArray[i] === "\n") + { + if (lineIndex >= lines.length) + lines.push(allocLine()); + cur_line = trimSingleSpaceRight(cur_line); // for correct center/right alignment + line = lines[lineIndex]; + line.text = cur_line; + line.width = ctx.measureText(cur_line).width; + lineIndex++; + cur_line = ""; + continue; + } + prev_line = cur_line; + cur_line += wordArray[i]; + line_width = ctx.measureText(cur_line).width; + if (line_width >= width) + { + if (lineIndex >= lines.length) + lines.push(allocLine()); + prev_line = trimSingleSpaceRight(prev_line); + line = lines[lineIndex]; + line.text = prev_line; + line.width = ctx.measureText(prev_line).width; + lineIndex++; + cur_line = wordArray[i]; + if (!wrapbyword && cur_line === " ") + cur_line = ""; + } + } + if (cur_line.length) + { + if (lineIndex >= lines.length) + lines.push(allocLine()); + cur_line = trimSingleSpaceRight(cur_line); + line = lines[lineIndex]; + line.text = cur_line; + line.width = ctx.measureText(cur_line).width; + lineIndex++; + } + for (i = lineIndex; i < lines.length; i++) + freeLine(lines[i]); + lines.length = lineIndex; + }; + function Cnds() {}; + Cnds.prototype.CompareText = function(text_to_compare, case_sensitive) + { + if (case_sensitive) + return this.text == text_to_compare; + else + return cr.equals_nocase(this.text, text_to_compare); + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetText = function(param) + { + if (cr.is_number(param) && param < 1e9) + param = Math.round(param * 1e10) / 1e10; // round to nearest ten billionth - hides floating point errors + var text_to_set = param.toString(); + if (this.text !== text_to_set) + { + this.text = text_to_set; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + Acts.prototype.AppendText = function(param) + { + if (cr.is_number(param)) + param = Math.round(param * 1e10) / 1e10; // round to nearest ten billionth - hides floating point errors + var text_to_append = param.toString(); + if (text_to_append) // not empty + { + this.text += text_to_append; + this.text_changed = true; + this.runtime.redraw = true; + } + }; + Acts.prototype.SetFontFace = function (face_, style_) + { + var newstyle = ""; + switch (style_) { + case 1: newstyle = "bold"; break; + case 2: newstyle = "italic"; break; + case 3: newstyle = "bold italic"; break; + } + if (face_ === this.facename && newstyle === this.fontstyle) + return; // no change + this.facename = face_; + this.fontstyle = newstyle; + this.updateFont(); + }; + Acts.prototype.SetFontSize = function (size_) + { + if (this.ptSize === size_) + return; + this.ptSize = size_; + this.pxHeight = Math.ceil((this.ptSize / 72.0) * 96.0) + 4; // assume 96dpi... + this.updateFont(); + }; + Acts.prototype.SetFontColor = function (rgb) + { + var newcolor = "rgb(" + cr.GetRValue(rgb).toString() + "," + cr.GetGValue(rgb).toString() + "," + cr.GetBValue(rgb).toString() + ")"; + if (newcolor === this.color) + return; + this.color = newcolor; + this.need_text_redraw = true; + this.runtime.redraw = true; + }; + Acts.prototype.SetWebFont = function (familyname_, cssurl_) + { + if (this.runtime.isDomFree) + { + cr.logexport("[Construct 2] Text plugin: 'Set web font' not supported on this platform - the action has been ignored"); + return; // DC todo + } + var self = this; + var refreshFunc = (function () { + self.runtime.redraw = true; + self.text_changed = true; + }); + if (requestedWebFonts.hasOwnProperty(cssurl_)) + { + var newfacename = "'" + familyname_ + "'"; + if (this.facename === newfacename) + return; // no change + this.facename = newfacename; + this.updateFont(); + for (var i = 1; i < 10; i++) + { + setTimeout(refreshFunc, i * 100); + setTimeout(refreshFunc, i * 1000); + } + return; + } + var wf = document.createElement("link"); + wf.href = cssurl_; + wf.rel = "stylesheet"; + wf.type = "text/css"; + wf.onload = refreshFunc; + document.getElementsByTagName('head')[0].appendChild(wf); + requestedWebFonts[cssurl_] = true; + this.facename = "'" + familyname_ + "'"; + this.updateFont(); + for (var i = 1; i < 10; i++) + { + setTimeout(refreshFunc, i * 100); + setTimeout(refreshFunc, i * 1000); + } +; + }; + Acts.prototype.SetEffect = function (effect) + { + this.blend_mode = effect; + this.compositeOp = cr.effectToCompositeOp(effect); + cr.setGLBlend(this, effect, this.runtime.gl); + this.runtime.redraw = true; + }; + pluginProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.Text = function(ret) + { + ret.set_string(this.text); + }; + Exps.prototype.FaceName = function (ret) + { + ret.set_string(this.facename); + }; + Exps.prototype.FaceSize = function (ret) + { + ret.set_int(this.ptSize); + }; + Exps.prototype.TextWidth = function (ret) + { + var w = 0; + var i, len, x; + for (i = 0, len = this.lines.length; i < len; i++) + { + x = this.lines[i].width; + if (w < x) + w = x; + } + ret.set_int(w); + }; + Exps.prototype.TextHeight = function (ret) + { + ret.set_int(this.lines.length * (this.pxHeight + this.line_height_offset) - this.line_height_offset); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.Touch = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.Touch.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + this.touches = []; + this.mouseDown = false; + }; + var instanceProto = pluginProto.Instance.prototype; + var dummyoffset = {left: 0, top: 0}; + instanceProto.findTouch = function (id) + { + var i, len; + for (i = 0, len = this.touches.length; i < len; i++) + { + if (this.touches[i]["id"] === id) + return i; + } + return -1; + }; + var appmobi_accx = 0; + var appmobi_accy = 0; + var appmobi_accz = 0; + function AppMobiGetAcceleration(evt) + { + appmobi_accx = evt.x; + appmobi_accy = evt.y; + appmobi_accz = evt.z; + }; + var pg_accx = 0; + var pg_accy = 0; + var pg_accz = 0; + function PhoneGapGetAcceleration(evt) + { + pg_accx = evt.x; + pg_accy = evt.y; + pg_accz = evt.z; + }; + var theInstance = null; + var touchinfo_cache = []; + function AllocTouchInfo(x, y, id, index) + { + var ret; + if (touchinfo_cache.length) + ret = touchinfo_cache.pop(); + else + ret = new TouchInfo(); + ret.init(x, y, id, index); + return ret; + }; + function ReleaseTouchInfo(ti) + { + if (touchinfo_cache.length < 100) + touchinfo_cache.push(ti); + }; + var GESTURE_HOLD_THRESHOLD = 15; // max px motion for hold gesture to register + var GESTURE_HOLD_TIMEOUT = 500; // time for hold gesture to register + var GESTURE_TAP_TIMEOUT = 333; // time for tap gesture to register + var GESTURE_DOUBLETAP_THRESHOLD = 25; // max distance apart for taps to be + function TouchInfo() + { + this.starttime = 0; + this.time = 0; + this.lasttime = 0; + this.startx = 0; + this.starty = 0; + this.x = 0; + this.y = 0; + this.lastx = 0; + this.lasty = 0; + this["id"] = 0; + this.startindex = 0; + this.triggeredHold = false; + this.tooFarForHold = false; + }; + TouchInfo.prototype.init = function (x, y, id, index) + { + var nowtime = cr.performance_now(); + this.time = nowtime; + this.lasttime = nowtime; + this.starttime = nowtime; + this.startx = x; + this.starty = y; + this.x = x; + this.y = y; + this.lastx = x; + this.lasty = y; + this.width = 0; + this.height = 0; + this.pressure = 0; + this["id"] = id; + this.startindex = index; + this.triggeredHold = false; + this.tooFarForHold = false; + }; + TouchInfo.prototype.update = function (nowtime, x, y, width, height, pressure) + { + this.lasttime = this.time; + this.time = nowtime; + this.lastx = this.x; + this.lasty = this.y; + this.x = x; + this.y = y; + this.width = width; + this.height = height; + this.pressure = pressure; + if (!this.tooFarForHold && cr.distanceTo(this.startx, this.starty, this.x, this.y) >= GESTURE_HOLD_THRESHOLD) + { + this.tooFarForHold = true; + } + }; + TouchInfo.prototype.maybeTriggerHold = function (inst, index) + { + if (this.triggeredHold) + return; // already triggered this gesture + var nowtime = cr.performance_now(); + if (nowtime - this.starttime >= GESTURE_HOLD_TIMEOUT && !this.tooFarForHold && cr.distanceTo(this.startx, this.starty, this.x, this.y) < GESTURE_HOLD_THRESHOLD) + { + this.triggeredHold = true; + inst.trigger_index = this.startindex; + inst.trigger_id = this["id"]; + inst.getTouchIndex = index; + inst.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnHoldGesture, inst); + inst.curTouchX = this.x; + inst.curTouchY = this.y; + inst.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnHoldGestureObject, inst); + inst.getTouchIndex = 0; + } + }; + var lastTapX = -1000; + var lastTapY = -1000; + var lastTapTime = -10000; + TouchInfo.prototype.maybeTriggerTap = function (inst, index) + { + if (this.triggeredHold) + return; + var nowtime = cr.performance_now(); + if (nowtime - this.starttime <= GESTURE_TAP_TIMEOUT && !this.tooFarForHold && cr.distanceTo(this.startx, this.starty, this.x, this.y) < GESTURE_HOLD_THRESHOLD) + { + inst.trigger_index = this.startindex; + inst.trigger_id = this["id"]; + inst.getTouchIndex = index; + if ((nowtime - lastTapTime <= GESTURE_TAP_TIMEOUT * 2) && cr.distanceTo(lastTapX, lastTapY, this.x, this.y) < GESTURE_DOUBLETAP_THRESHOLD) + { + inst.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnDoubleTapGesture, inst); + inst.curTouchX = this.x; + inst.curTouchY = this.y; + inst.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnDoubleTapGestureObject, inst); + lastTapX = -1000; + lastTapY = -1000; + lastTapTime = -10000; + } + else + { + inst.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTapGesture, inst); + inst.curTouchX = this.x; + inst.curTouchY = this.y; + inst.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTapGestureObject, inst); + lastTapX = this.x; + lastTapY = this.y; + lastTapTime = nowtime; + } + inst.getTouchIndex = 0; + } + }; + instanceProto.onCreate = function() + { + theInstance = this; + this.isWindows8 = !!(typeof window["c2isWindows8"] !== "undefined" && window["c2isWindows8"]); + this.orient_alpha = 0; + this.orient_beta = 0; + this.orient_gamma = 0; + this.acc_g_x = 0; + this.acc_g_y = 0; + this.acc_g_z = 0; + this.acc_x = 0; + this.acc_y = 0; + this.acc_z = 0; + this.curTouchX = 0; + this.curTouchY = 0; + this.trigger_index = 0; + this.trigger_id = 0; + this.getTouchIndex = 0; + this.useMouseInput = (this.properties[0] !== 0); + var elem = (this.runtime.fullscreen_mode > 0) ? document : this.runtime.canvas; + var elem2 = document; + if (this.runtime.isDirectCanvas) + elem2 = elem = window["Canvas"]; + else if (this.runtime.isCocoonJs) + elem2 = elem = window; + var self = this; + if (typeof PointerEvent !== "undefined") + { + elem.addEventListener("pointerdown", + function(info) { + self.onPointerStart(info); + }, + false + ); + elem.addEventListener("pointermove", + function(info) { + self.onPointerMove(info); + }, + false + ); + elem2.addEventListener("pointerup", + function(info) { + self.onPointerEnd(info, false); + }, + false + ); + elem2.addEventListener("pointercancel", + function(info) { + self.onPointerEnd(info, true); + }, + false + ); + if (this.runtime.canvas) + { + this.runtime.canvas.addEventListener("MSGestureHold", function(e) { + e.preventDefault(); + }, false); + document.addEventListener("MSGestureHold", function(e) { + e.preventDefault(); + }, false); + this.runtime.canvas.addEventListener("gesturehold", function(e) { + e.preventDefault(); + }, false); + document.addEventListener("gesturehold", function(e) { + e.preventDefault(); + }, false); + } + } + else if (window.navigator["msPointerEnabled"]) + { + elem.addEventListener("MSPointerDown", + function(info) { + self.onPointerStart(info); + }, + false + ); + elem.addEventListener("MSPointerMove", + function(info) { + self.onPointerMove(info); + }, + false + ); + elem2.addEventListener("MSPointerUp", + function(info) { + self.onPointerEnd(info, false); + }, + false + ); + elem2.addEventListener("MSPointerCancel", + function(info) { + self.onPointerEnd(info, true); + }, + false + ); + if (this.runtime.canvas) + { + this.runtime.canvas.addEventListener("MSGestureHold", function(e) { + e.preventDefault(); + }, false); + document.addEventListener("MSGestureHold", function(e) { + e.preventDefault(); + }, false); + } + } + else + { + elem.addEventListener("touchstart", + function(info) { + self.onTouchStart(info); + }, + false + ); + elem.addEventListener("touchmove", + function(info) { + self.onTouchMove(info); + }, + false + ); + elem2.addEventListener("touchend", + function(info) { + self.onTouchEnd(info, false); + }, + false + ); + elem2.addEventListener("touchcancel", + function(info) { + self.onTouchEnd(info, true); + }, + false + ); + } + if (this.isWindows8) + { + var win8accelerometerFn = function(e) { + var reading = e["reading"]; + self.acc_x = reading["accelerationX"]; + self.acc_y = reading["accelerationY"]; + self.acc_z = reading["accelerationZ"]; + }; + var win8inclinometerFn = function(e) { + var reading = e["reading"]; + self.orient_alpha = reading["yawDegrees"]; + self.orient_beta = reading["pitchDegrees"]; + self.orient_gamma = reading["rollDegrees"]; + }; + var accelerometer = Windows["Devices"]["Sensors"]["Accelerometer"]["getDefault"](); + if (accelerometer) + { + accelerometer["reportInterval"] = Math.max(accelerometer["minimumReportInterval"], 16); + accelerometer.addEventListener("readingchanged", win8accelerometerFn); + } + var inclinometer = Windows["Devices"]["Sensors"]["Inclinometer"]["getDefault"](); + if (inclinometer) + { + inclinometer["reportInterval"] = Math.max(inclinometer["minimumReportInterval"], 16); + inclinometer.addEventListener("readingchanged", win8inclinometerFn); + } + document.addEventListener("visibilitychange", function(e) { + if (document["hidden"] || document["msHidden"]) + { + if (accelerometer) + accelerometer.removeEventListener("readingchanged", win8accelerometerFn); + if (inclinometer) + inclinometer.removeEventListener("readingchanged", win8inclinometerFn); + } + else + { + if (accelerometer) + accelerometer.addEventListener("readingchanged", win8accelerometerFn); + if (inclinometer) + inclinometer.addEventListener("readingchanged", win8inclinometerFn); + } + }, false); + } + else + { + window.addEventListener("deviceorientation", function (eventData) { + self.orient_alpha = eventData["alpha"] || 0; + self.orient_beta = eventData["beta"] || 0; + self.orient_gamma = eventData["gamma"] || 0; + }, false); + window.addEventListener("devicemotion", function (eventData) { + if (eventData["accelerationIncludingGravity"]) + { + self.acc_g_x = eventData["accelerationIncludingGravity"]["x"] || 0; + self.acc_g_y = eventData["accelerationIncludingGravity"]["y"] || 0; + self.acc_g_z = eventData["accelerationIncludingGravity"]["z"] || 0; + } + if (eventData["acceleration"]) + { + self.acc_x = eventData["acceleration"]["x"] || 0; + self.acc_y = eventData["acceleration"]["y"] || 0; + self.acc_z = eventData["acceleration"]["z"] || 0; + } + }, false); + } + if (this.useMouseInput && !this.runtime.isDomFree) + { + jQuery(document).mousemove( + function(info) { + self.onMouseMove(info); + } + ); + jQuery(document).mousedown( + function(info) { + self.onMouseDown(info); + } + ); + jQuery(document).mouseup( + function(info) { + self.onMouseUp(info); + } + ); + } + if (!this.runtime.isiOS && this.runtime.isCordova && navigator["accelerometer"] && navigator["accelerometer"]["watchAcceleration"]) + { + navigator["accelerometer"]["watchAcceleration"](PhoneGapGetAcceleration, null, { "frequency": 40 }); + } + this.runtime.tick2Me(this); + }; + instanceProto.onPointerMove = function (info) + { + if (info["pointerType"] === info["MSPOINTER_TYPE_MOUSE"] || info["pointerType"] === "mouse") + return; + if (info.preventDefault) + info.preventDefault(); + var i = this.findTouch(info["pointerId"]); + var nowtime = cr.performance_now(); + if (i >= 0) + { + var offset = this.runtime.isDomFree ? dummyoffset : jQuery(this.runtime.canvas).offset(); + var t = this.touches[i]; + if (nowtime - t.time < 2) + return; + t.update(nowtime, info.pageX - offset.left, info.pageY - offset.top, info.width || 0, info.height || 0, info.pressure || 0); + } + }; + instanceProto.onPointerStart = function (info) + { + if (info["pointerType"] === info["MSPOINTER_TYPE_MOUSE"] || info["pointerType"] === "mouse") + return; + if (info.preventDefault && cr.isCanvasInputEvent(info)) + info.preventDefault(); + var offset = this.runtime.isDomFree ? dummyoffset : jQuery(this.runtime.canvas).offset(); + var touchx = info.pageX - offset.left; + var touchy = info.pageY - offset.top; + var nowtime = cr.performance_now(); + this.trigger_index = this.touches.length; + this.trigger_id = info["pointerId"]; + this.touches.push(AllocTouchInfo(touchx, touchy, info["pointerId"], this.trigger_index)); + this.runtime.isInUserInputEvent = true; + this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnNthTouchStart, this); + this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchStart, this); + this.curTouchX = touchx; + this.curTouchY = touchy; + this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchObject, this); + this.runtime.isInUserInputEvent = false; + }; + instanceProto.onPointerEnd = function (info, isCancel) + { + if (info["pointerType"] === info["MSPOINTER_TYPE_MOUSE"] || info["pointerType"] === "mouse") + return; + if (info.preventDefault && cr.isCanvasInputEvent(info)) + info.preventDefault(); + var i = this.findTouch(info["pointerId"]); + this.trigger_index = (i >= 0 ? this.touches[i].startindex : -1); + this.trigger_id = (i >= 0 ? this.touches[i]["id"] : -1); + this.runtime.isInUserInputEvent = true; + this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnNthTouchEnd, this); + this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchEnd, this); + if (i >= 0) + { + if (!isCancel) + this.touches[i].maybeTriggerTap(this, i); + ReleaseTouchInfo(this.touches[i]); + this.touches.splice(i, 1); + } + this.runtime.isInUserInputEvent = false; + }; + instanceProto.onTouchMove = function (info) + { + if (info.preventDefault) + info.preventDefault(); + var nowtime = cr.performance_now(); + var i, len, t, u; + for (i = 0, len = info.changedTouches.length; i < len; i++) + { + t = info.changedTouches[i]; + var j = this.findTouch(t["identifier"]); + if (j >= 0) + { + var offset = this.runtime.isDomFree ? dummyoffset : jQuery(this.runtime.canvas).offset(); + u = this.touches[j]; + if (nowtime - u.time < 2) + continue; + var touchWidth = (t.radiusX || t.webkitRadiusX || t.mozRadiusX || t.msRadiusX || 0) * 2; + var touchHeight = (t.radiusY || t.webkitRadiusY || t.mozRadiusY || t.msRadiusY || 0) * 2; + var touchForce = t.force || t.webkitForce || t.mozForce || t.msForce || 0; + u.update(nowtime, t.pageX - offset.left, t.pageY - offset.top, touchWidth, touchHeight, touchForce); + } + } + }; + instanceProto.onTouchStart = function (info) + { + if (info.preventDefault && cr.isCanvasInputEvent(info)) + info.preventDefault(); + var offset = this.runtime.isDomFree ? dummyoffset : jQuery(this.runtime.canvas).offset(); + var nowtime = cr.performance_now(); + this.runtime.isInUserInputEvent = true; + var i, len, t, j; + for (i = 0, len = info.changedTouches.length; i < len; i++) + { + t = info.changedTouches[i]; + j = this.findTouch(t["identifier"]); + if (j !== -1) + continue; + var touchx = t.pageX - offset.left; + var touchy = t.pageY - offset.top; + this.trigger_index = this.touches.length; + this.trigger_id = t["identifier"]; + this.touches.push(AllocTouchInfo(touchx, touchy, t["identifier"], this.trigger_index)); + this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnNthTouchStart, this); + this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchStart, this); + this.curTouchX = touchx; + this.curTouchY = touchy; + this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchObject, this); + } + this.runtime.isInUserInputEvent = false; + }; + instanceProto.onTouchEnd = function (info, isCancel) + { + if (info.preventDefault && cr.isCanvasInputEvent(info)) + info.preventDefault(); + this.runtime.isInUserInputEvent = true; + var i, len, t, j; + for (i = 0, len = info.changedTouches.length; i < len; i++) + { + t = info.changedTouches[i]; + j = this.findTouch(t["identifier"]); + if (j >= 0) + { + this.trigger_index = this.touches[j].startindex; + this.trigger_id = this.touches[j]["id"]; + this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnNthTouchEnd, this); + this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchEnd, this); + if (!isCancel) + this.touches[j].maybeTriggerTap(this, j); + ReleaseTouchInfo(this.touches[j]); + this.touches.splice(j, 1); + } + } + this.runtime.isInUserInputEvent = false; + }; + instanceProto.getAlpha = function () + { + if (this.runtime.isCordova && this.orient_alpha === 0 && pg_accz !== 0) + return pg_accz * 90; + else + return this.orient_alpha; + }; + instanceProto.getBeta = function () + { + if (this.runtime.isCordova && this.orient_beta === 0 && pg_accy !== 0) + return pg_accy * 90; + else + return this.orient_beta; + }; + instanceProto.getGamma = function () + { + if (this.runtime.isCordova && this.orient_gamma === 0 && pg_accx !== 0) + return pg_accx * 90; + else + return this.orient_gamma; + }; + var noop_func = function(){}; + function isCompatibilityMouseEvent(e) + { + return (e["sourceCapabilities"] && e["sourceCapabilities"]["firesTouchEvents"]) || + (e.originalEvent && e.originalEvent["sourceCapabilities"] && e.originalEvent["sourceCapabilities"]["firesTouchEvents"]); + }; + instanceProto.onMouseDown = function(info) + { + if (isCompatibilityMouseEvent(info)) + return; + var t = { pageX: info.pageX, pageY: info.pageY, "identifier": 0 }; + var fakeinfo = { changedTouches: [t] }; + this.onTouchStart(fakeinfo); + this.mouseDown = true; + }; + instanceProto.onMouseMove = function(info) + { + if (!this.mouseDown) + return; + if (isCompatibilityMouseEvent(info)) + return; + var t = { pageX: info.pageX, pageY: info.pageY, "identifier": 0 }; + var fakeinfo = { changedTouches: [t] }; + this.onTouchMove(fakeinfo); + }; + instanceProto.onMouseUp = function(info) + { + if (info.preventDefault && this.runtime.had_a_click && !this.runtime.isMobile) + info.preventDefault(); + this.runtime.had_a_click = true; + if (isCompatibilityMouseEvent(info)) + return; + var t = { pageX: info.pageX, pageY: info.pageY, "identifier": 0 }; + var fakeinfo = { changedTouches: [t] }; + this.onTouchEnd(fakeinfo); + this.mouseDown = false; + }; + instanceProto.tick2 = function() + { + var i, len, t; + var nowtime = cr.performance_now(); + for (i = 0, len = this.touches.length; i < len; ++i) + { + t = this.touches[i]; + if (t.time <= nowtime - 50) + t.lasttime = nowtime; + t.maybeTriggerHold(this, i); + } + }; + function Cnds() {}; + Cnds.prototype.OnTouchStart = function () + { + return true; + }; + Cnds.prototype.OnTouchEnd = function () + { + return true; + }; + Cnds.prototype.IsInTouch = function () + { + return this.touches.length; + }; + Cnds.prototype.OnTouchObject = function (type) + { + if (!type) + return false; + return this.runtime.testAndSelectCanvasPointOverlap(type, this.curTouchX, this.curTouchY, false); + }; + var touching = []; + Cnds.prototype.IsTouchingObject = function (type) + { + if (!type) + return false; + var sol = type.getCurrentSol(); + var instances = sol.getObjects(); + var px, py; + var i, leni, j, lenj; + for (i = 0, leni = instances.length; i < leni; i++) + { + var inst = instances[i]; + inst.update_bbox(); + for (j = 0, lenj = this.touches.length; j < lenj; j++) + { + var touch = this.touches[j]; + px = inst.layer.canvasToLayer(touch.x, touch.y, true); + py = inst.layer.canvasToLayer(touch.x, touch.y, false); + if (inst.contains_pt(px, py)) + { + touching.push(inst); + break; + } + } + } + if (touching.length) + { + sol.select_all = false; + cr.shallowAssignArray(sol.instances, touching); + type.applySolToContainer(); + cr.clearArray(touching); + return true; + } + else + return false; + }; + Cnds.prototype.CompareTouchSpeed = function (index, cmp, s) + { + index = Math.floor(index); + if (index < 0 || index >= this.touches.length) + return false; + var t = this.touches[index]; + var dist = cr.distanceTo(t.x, t.y, t.lastx, t.lasty); + var timediff = (t.time - t.lasttime) / 1000; + var speed = 0; + if (timediff > 0) + speed = dist / timediff; + return cr.do_cmp(speed, cmp, s); + }; + Cnds.prototype.OrientationSupported = function () + { + return typeof window["DeviceOrientationEvent"] !== "undefined"; + }; + Cnds.prototype.MotionSupported = function () + { + return typeof window["DeviceMotionEvent"] !== "undefined"; + }; + Cnds.prototype.CompareOrientation = function (orientation_, cmp_, angle_) + { + var v = 0; + if (orientation_ === 0) + v = this.getAlpha(); + else if (orientation_ === 1) + v = this.getBeta(); + else + v = this.getGamma(); + return cr.do_cmp(v, cmp_, angle_); + }; + Cnds.prototype.CompareAcceleration = function (acceleration_, cmp_, angle_) + { + var v = 0; + if (acceleration_ === 0) + v = this.acc_g_x; + else if (acceleration_ === 1) + v = this.acc_g_y; + else if (acceleration_ === 2) + v = this.acc_g_z; + else if (acceleration_ === 3) + v = this.acc_x; + else if (acceleration_ === 4) + v = this.acc_y; + else if (acceleration_ === 5) + v = this.acc_z; + return cr.do_cmp(v, cmp_, angle_); + }; + Cnds.prototype.OnNthTouchStart = function (touch_) + { + touch_ = Math.floor(touch_); + return touch_ === this.trigger_index; + }; + Cnds.prototype.OnNthTouchEnd = function (touch_) + { + touch_ = Math.floor(touch_); + return touch_ === this.trigger_index; + }; + Cnds.prototype.HasNthTouch = function (touch_) + { + touch_ = Math.floor(touch_); + return this.touches.length >= touch_ + 1; + }; + Cnds.prototype.OnHoldGesture = function () + { + return true; + }; + Cnds.prototype.OnTapGesture = function () + { + return true; + }; + Cnds.prototype.OnDoubleTapGesture = function () + { + return true; + }; + Cnds.prototype.OnHoldGestureObject = function (type) + { + if (!type) + return false; + return this.runtime.testAndSelectCanvasPointOverlap(type, this.curTouchX, this.curTouchY, false); + }; + Cnds.prototype.OnTapGestureObject = function (type) + { + if (!type) + return false; + return this.runtime.testAndSelectCanvasPointOverlap(type, this.curTouchX, this.curTouchY, false); + }; + Cnds.prototype.OnDoubleTapGestureObject = function (type) + { + if (!type) + return false; + return this.runtime.testAndSelectCanvasPointOverlap(type, this.curTouchX, this.curTouchY, false); + }; + pluginProto.cnds = new Cnds(); + function Exps() {}; + Exps.prototype.TouchCount = function (ret) + { + ret.set_int(this.touches.length); + }; + Exps.prototype.X = function (ret, layerparam) + { + var index = this.getTouchIndex; + if (index < 0 || index >= this.touches.length) + { + ret.set_float(0); + return; + } + var layer, oldScale, oldZoomRate, oldParallaxX, oldAngle; + if (cr.is_undefined(layerparam)) + { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxX = layer.parallaxX; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxX = 1.0; + layer.angle = 0; + ret.set_float(layer.canvasToLayer(this.touches[index].x, this.touches[index].y, true)); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxX = oldParallaxX; + layer.angle = oldAngle; + } + else + { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else + layer = this.runtime.getLayerByName(layerparam); + if (layer) + ret.set_float(layer.canvasToLayer(this.touches[index].x, this.touches[index].y, true)); + else + ret.set_float(0); + } + }; + Exps.prototype.XAt = function (ret, index, layerparam) + { + index = Math.floor(index); + if (index < 0 || index >= this.touches.length) + { + ret.set_float(0); + return; + } + var layer, oldScale, oldZoomRate, oldParallaxX, oldAngle; + if (cr.is_undefined(layerparam)) + { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxX = layer.parallaxX; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxX = 1.0; + layer.angle = 0; + ret.set_float(layer.canvasToLayer(this.touches[index].x, this.touches[index].y, true)); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxX = oldParallaxX; + layer.angle = oldAngle; + } + else + { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else + layer = this.runtime.getLayerByName(layerparam); + if (layer) + ret.set_float(layer.canvasToLayer(this.touches[index].x, this.touches[index].y, true)); + else + ret.set_float(0); + } + }; + Exps.prototype.XForID = function (ret, id, layerparam) + { + var index = this.findTouch(id); + if (index < 0) + { + ret.set_float(0); + return; + } + var touch = this.touches[index]; + var layer, oldScale, oldZoomRate, oldParallaxX, oldAngle; + if (cr.is_undefined(layerparam)) + { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxX = layer.parallaxX; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxX = 1.0; + layer.angle = 0; + ret.set_float(layer.canvasToLayer(touch.x, touch.y, true)); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxX = oldParallaxX; + layer.angle = oldAngle; + } + else + { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else + layer = this.runtime.getLayerByName(layerparam); + if (layer) + ret.set_float(layer.canvasToLayer(touch.x, touch.y, true)); + else + ret.set_float(0); + } + }; + Exps.prototype.Y = function (ret, layerparam) + { + var index = this.getTouchIndex; + if (index < 0 || index >= this.touches.length) + { + ret.set_float(0); + return; + } + var layer, oldScale, oldZoomRate, oldParallaxY, oldAngle; + if (cr.is_undefined(layerparam)) + { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxY = layer.parallaxY; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxY = 1.0; + layer.angle = 0; + ret.set_float(layer.canvasToLayer(this.touches[index].x, this.touches[index].y, false)); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxY = oldParallaxY; + layer.angle = oldAngle; + } + else + { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else + layer = this.runtime.getLayerByName(layerparam); + if (layer) + ret.set_float(layer.canvasToLayer(this.touches[index].x, this.touches[index].y, false)); + else + ret.set_float(0); + } + }; + Exps.prototype.YAt = function (ret, index, layerparam) + { + index = Math.floor(index); + if (index < 0 || index >= this.touches.length) + { + ret.set_float(0); + return; + } + var layer, oldScale, oldZoomRate, oldParallaxY, oldAngle; + if (cr.is_undefined(layerparam)) + { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxY = layer.parallaxY; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxY = 1.0; + layer.angle = 0; + ret.set_float(layer.canvasToLayer(this.touches[index].x, this.touches[index].y, false)); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxY = oldParallaxY; + layer.angle = oldAngle; + } + else + { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else + layer = this.runtime.getLayerByName(layerparam); + if (layer) + ret.set_float(layer.canvasToLayer(this.touches[index].x, this.touches[index].y, false)); + else + ret.set_float(0); + } + }; + Exps.prototype.YForID = function (ret, id, layerparam) + { + var index = this.findTouch(id); + if (index < 0) + { + ret.set_float(0); + return; + } + var touch = this.touches[index]; + var layer, oldScale, oldZoomRate, oldParallaxY, oldAngle; + if (cr.is_undefined(layerparam)) + { + layer = this.runtime.getLayerByNumber(0); + oldScale = layer.scale; + oldZoomRate = layer.zoomRate; + oldParallaxY = layer.parallaxY; + oldAngle = layer.angle; + layer.scale = 1; + layer.zoomRate = 1.0; + layer.parallaxY = 1.0; + layer.angle = 0; + ret.set_float(layer.canvasToLayer(touch.x, touch.y, false)); + layer.scale = oldScale; + layer.zoomRate = oldZoomRate; + layer.parallaxY = oldParallaxY; + layer.angle = oldAngle; + } + else + { + if (cr.is_number(layerparam)) + layer = this.runtime.getLayerByNumber(layerparam); + else + layer = this.runtime.getLayerByName(layerparam); + if (layer) + ret.set_float(layer.canvasToLayer(touch.x, touch.y, false)); + else + ret.set_float(0); + } + }; + Exps.prototype.AbsoluteX = function (ret) + { + if (this.touches.length) + ret.set_float(this.touches[0].x); + else + ret.set_float(0); + }; + Exps.prototype.AbsoluteXAt = function (ret, index) + { + index = Math.floor(index); + if (index < 0 || index >= this.touches.length) + { + ret.set_float(0); + return; + } + ret.set_float(this.touches[index].x); + }; + Exps.prototype.AbsoluteXForID = function (ret, id) + { + var index = this.findTouch(id); + if (index < 0) + { + ret.set_float(0); + return; + } + var touch = this.touches[index]; + ret.set_float(touch.x); + }; + Exps.prototype.AbsoluteY = function (ret) + { + if (this.touches.length) + ret.set_float(this.touches[0].y); + else + ret.set_float(0); + }; + Exps.prototype.AbsoluteYAt = function (ret, index) + { + index = Math.floor(index); + if (index < 0 || index >= this.touches.length) + { + ret.set_float(0); + return; + } + ret.set_float(this.touches[index].y); + }; + Exps.prototype.AbsoluteYForID = function (ret, id) + { + var index = this.findTouch(id); + if (index < 0) + { + ret.set_float(0); + return; + } + var touch = this.touches[index]; + ret.set_float(touch.y); + }; + Exps.prototype.SpeedAt = function (ret, index) + { + index = Math.floor(index); + if (index < 0 || index >= this.touches.length) + { + ret.set_float(0); + return; + } + var t = this.touches[index]; + var dist = cr.distanceTo(t.x, t.y, t.lastx, t.lasty); + var timediff = (t.time - t.lasttime) / 1000; + if (timediff <= 0) + ret.set_float(0); + else + ret.set_float(dist / timediff); + }; + Exps.prototype.SpeedForID = function (ret, id) + { + var index = this.findTouch(id); + if (index < 0) + { + ret.set_float(0); + return; + } + var touch = this.touches[index]; + var dist = cr.distanceTo(touch.x, touch.y, touch.lastx, touch.lasty); + var timediff = (touch.time - touch.lasttime) / 1000; + if (timediff <= 0) + ret.set_float(0); + else + ret.set_float(dist / timediff); + }; + Exps.prototype.AngleAt = function (ret, index) + { + index = Math.floor(index); + if (index < 0 || index >= this.touches.length) + { + ret.set_float(0); + return; + } + var t = this.touches[index]; + ret.set_float(cr.to_degrees(cr.angleTo(t.lastx, t.lasty, t.x, t.y))); + }; + Exps.prototype.AngleForID = function (ret, id) + { + var index = this.findTouch(id); + if (index < 0) + { + ret.set_float(0); + return; + } + var touch = this.touches[index]; + ret.set_float(cr.to_degrees(cr.angleTo(touch.lastx, touch.lasty, touch.x, touch.y))); + }; + Exps.prototype.Alpha = function (ret) + { + ret.set_float(this.getAlpha()); + }; + Exps.prototype.Beta = function (ret) + { + ret.set_float(this.getBeta()); + }; + Exps.prototype.Gamma = function (ret) + { + ret.set_float(this.getGamma()); + }; + Exps.prototype.AccelerationXWithG = function (ret) + { + ret.set_float(this.acc_g_x); + }; + Exps.prototype.AccelerationYWithG = function (ret) + { + ret.set_float(this.acc_g_y); + }; + Exps.prototype.AccelerationZWithG = function (ret) + { + ret.set_float(this.acc_g_z); + }; + Exps.prototype.AccelerationX = function (ret) + { + ret.set_float(this.acc_x); + }; + Exps.prototype.AccelerationY = function (ret) + { + ret.set_float(this.acc_y); + }; + Exps.prototype.AccelerationZ = function (ret) + { + ret.set_float(this.acc_z); + }; + Exps.prototype.TouchIndex = function (ret) + { + ret.set_int(this.trigger_index); + }; + Exps.prototype.TouchID = function (ret) + { + ret.set_float(this.trigger_id); + }; + Exps.prototype.WidthForID = function (ret, id) + { + var index = this.findTouch(id); + if (index < 0) + { + ret.set_float(0); + return; + } + var touch = this.touches[index]; + ret.set_float(touch.width); + }; + Exps.prototype.HeightForID = function (ret, id) + { + var index = this.findTouch(id); + if (index < 0) + { + ret.set_float(0); + return; + } + var touch = this.touches[index]; + ret.set_float(touch.height); + }; + Exps.prototype.PressureForID = function (ret, id) + { + var index = this.findTouch(id); + if (index < 0) + { + ret.set_float(0); + return; + } + var touch = this.touches[index]; + ret.set_float(touch.pressure); + }; + pluginProto.exps = new Exps(); +}()); +; +; +cr.plugins_.cjs = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.cjs.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + typeProto.onCreate = function() + { + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + this.nameOfExternalScript = this.properties[0]; + this.returnValue= ""; + var myScriptTag=document.createElement('script'); + myScriptTag.setAttribute("type","text/javascript"); + myScriptTag.setAttribute("src", this.nameOfExternalScript); + if (typeof myScriptTag != "undefined") + document.getElementsByTagName("head")[0].appendChild(myScriptTag); + }; + instanceProto.draw = function(ctx) + { + }; + pluginProto.cnds = {}; + var cnds = pluginProto.cnds; + pluginProto.acts = {}; + var acts = pluginProto.acts; + acts.ExecuteJS = function (myparam) + { + this.returnValue= ""; + try + { + this.returnValue= eval(myparam); + } catch(err) + { + this.returnValue= err; + } + }; + pluginProto.exps = {}; + var exps = pluginProto.exps; + exps.ReadExecutionReturn = function (ret) + { + ret.set_string(this.returnValue); + }; +}()); +; +; +cr.behaviors.Bullet = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.Bullet.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; // associated object instance to modify + this.runtime = type.runtime; + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + var speed = this.properties[0]; + this.acc = this.properties[1]; + this.g = this.properties[2]; + this.bounceOffSolid = (this.properties[3] !== 0); + this.setAngle = (this.properties[4] !== 0); + this.dx = Math.cos(this.inst.angle) * speed; + this.dy = Math.sin(this.inst.angle) * speed; + this.lastx = this.inst.x; + this.lasty = this.inst.y; + this.lastKnownAngle = this.inst.angle; + this.travelled = 0; + this.enabled = (this.properties[5] !== 0); + }; + behinstProto.saveToJSON = function () + { + return { + "acc": this.acc, + "g": this.g, + "dx": this.dx, + "dy": this.dy, + "lx": this.lastx, + "ly": this.lasty, + "lka": this.lastKnownAngle, + "t": this.travelled, + "e": this.enabled + }; + }; + behinstProto.loadFromJSON = function (o) + { + this.acc = o["acc"]; + this.g = o["g"]; + this.dx = o["dx"]; + this.dy = o["dy"]; + this.lastx = o["lx"]; + this.lasty = o["ly"]; + this.lastKnownAngle = o["lka"]; + this.travelled = o["t"]; + this.enabled = o["e"]; + }; + behinstProto.tick = function () + { + if (!this.enabled) + return; + var dt = this.runtime.getDt(this.inst); + var s, a; + var bounceSolid, bounceAngle; + if (this.inst.angle !== this.lastKnownAngle) + { + if (this.setAngle) + { + s = cr.distanceTo(0, 0, this.dx, this.dy); + this.dx = Math.cos(this.inst.angle) * s; + this.dy = Math.sin(this.inst.angle) * s; + } + this.lastKnownAngle = this.inst.angle; + } + if (this.acc !== 0) + { + s = cr.distanceTo(0, 0, this.dx, this.dy); + if (this.dx === 0 && this.dy === 0) + a = this.inst.angle; + else + a = cr.angleTo(0, 0, this.dx, this.dy); + s += this.acc * dt; + if (s < 0) + s = 0; + this.dx = Math.cos(a) * s; + this.dy = Math.sin(a) * s; + } + if (this.g !== 0) + this.dy += this.g * dt; + this.lastx = this.inst.x; + this.lasty = this.inst.y; + if (this.dx !== 0 || this.dy !== 0) + { + this.inst.x += this.dx * dt; + this.inst.y += this.dy * dt; + this.travelled += cr.distanceTo(0, 0, this.dx * dt, this.dy * dt) + if (this.setAngle) + { + this.inst.angle = cr.angleTo(0, 0, this.dx, this.dy); + this.inst.set_bbox_changed(); + this.lastKnownAngle = this.inst.angle; + } + this.inst.set_bbox_changed(); + if (this.bounceOffSolid) + { + bounceSolid = this.runtime.testOverlapSolid(this.inst); + if (bounceSolid) + { + this.runtime.registerCollision(this.inst, bounceSolid); + s = cr.distanceTo(0, 0, this.dx, this.dy); + bounceAngle = this.runtime.calculateSolidBounceAngle(this.inst, this.lastx, this.lasty); + this.dx = Math.cos(bounceAngle) * s; + this.dy = Math.sin(bounceAngle) * s; + this.inst.x += this.dx * dt; // move out for one tick since the object can't have spent a tick in the solid + this.inst.y += this.dy * dt; + this.inst.set_bbox_changed(); + if (this.setAngle) + { + this.inst.angle = bounceAngle; + this.lastKnownAngle = bounceAngle; + this.inst.set_bbox_changed(); + } + if (!this.runtime.pushOutSolid(this.inst, this.dx / s, this.dy / s, Math.max(s * 2.5 * dt, 30))) + this.runtime.pushOutSolidNearest(this.inst, 100); + } + } + } + }; + function Cnds() {}; + Cnds.prototype.CompareSpeed = function (cmp, s) + { + return cr.do_cmp(cr.distanceTo(0, 0, this.dx, this.dy), cmp, s); + }; + Cnds.prototype.CompareTravelled = function (cmp, d) + { + return cr.do_cmp(this.travelled, cmp, d); + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetSpeed = function (s) + { + var a = cr.angleTo(0, 0, this.dx, this.dy); + this.dx = Math.cos(a) * s; + this.dy = Math.sin(a) * s; + }; + Acts.prototype.SetAcceleration = function (a) + { + this.acc = a; + }; + Acts.prototype.SetGravity = function (g) + { + this.g = g; + }; + Acts.prototype.SetAngleOfMotion = function (a) + { + a = cr.to_radians(a); + var s = cr.distanceTo(0, 0, this.dx, this.dy) + this.dx = Math.cos(a) * s; + this.dy = Math.sin(a) * s; + }; + Acts.prototype.Bounce = function (objtype) + { + if (!objtype) + return; + var otherinst = objtype.getFirstPicked(this.inst); + if (!otherinst) + return; + var dt = this.runtime.getDt(this.inst); + var s = cr.distanceTo(0, 0, this.dx, this.dy); + var bounceAngle = this.runtime.calculateSolidBounceAngle(this.inst, this.lastx, this.lasty, otherinst); + this.dx = Math.cos(bounceAngle) * s; + this.dy = Math.sin(bounceAngle) * s; + this.inst.x += this.dx * dt; // move out for one tick since the object can't have spent a tick in the solid + this.inst.y += this.dy * dt; + this.inst.set_bbox_changed(); + if (this.setAngle) + { + this.inst.angle = bounceAngle; + this.lastKnownAngle = bounceAngle; + this.inst.set_bbox_changed(); + } + if (s !== 0) // prevent divide-by-zero + { + if (this.bounceOffSolid) + { + if (!this.runtime.pushOutSolid(this.inst, this.dx / s, this.dy / s, Math.max(s * 2.5 * dt, 30))) + this.runtime.pushOutSolidNearest(this.inst, 100); + } + else + { + this.runtime.pushOut(this.inst, this.dx / s, this.dy / s, Math.max(s * 2.5 * dt, 30), otherinst) + } + } + }; + Acts.prototype.SetDistanceTravelled = function (d) + { + this.travelled = d; + }; + Acts.prototype.SetEnabled = function (en) + { + this.enabled = (en === 1); + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.Speed = function (ret) + { + var s = cr.distanceTo(0, 0, this.dx, this.dy); + s = cr.round6dp(s); + ret.set_float(s); + }; + Exps.prototype.Acceleration = function (ret) + { + ret.set_float(this.acc); + }; + Exps.prototype.AngleOfMotion = function (ret) + { + ret.set_float(cr.to_degrees(cr.angleTo(0, 0, this.dx, this.dy))); + }; + Exps.prototype.DistanceTravelled = function (ret) + { + ret.set_float(this.travelled); + }; + Exps.prototype.Gravity = function (ret) + { + ret.set_float(this.g); + }; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.Pin = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.Pin.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; // associated object instance to modify + this.runtime = type.runtime; + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.pinObject = null; + this.pinObjectUid = -1; // for loading + this.pinAngle = 0; + this.pinDist = 0; + this.myStartAngle = 0; + this.theirStartAngle = 0; + this.lastKnownAngle = 0; + this.mode = 0; // 0 = position & angle; 1 = position; 2 = angle; 3 = rope; 4 = bar + var self = this; + if (!this.recycled) + { + this.myDestroyCallback = (function(inst) { + self.onInstanceDestroyed(inst); + }); + } + this.runtime.addDestroyCallback(this.myDestroyCallback); + }; + behinstProto.saveToJSON = function () + { + return { + "uid": this.pinObject ? this.pinObject.uid : -1, + "pa": this.pinAngle, + "pd": this.pinDist, + "msa": this.myStartAngle, + "tsa": this.theirStartAngle, + "lka": this.lastKnownAngle, + "m": this.mode + }; + }; + behinstProto.loadFromJSON = function (o) + { + this.pinObjectUid = o["uid"]; // wait until afterLoad to look up + this.pinAngle = o["pa"]; + this.pinDist = o["pd"]; + this.myStartAngle = o["msa"]; + this.theirStartAngle = o["tsa"]; + this.lastKnownAngle = o["lka"]; + this.mode = o["m"]; + }; + behinstProto.afterLoad = function () + { + if (this.pinObjectUid === -1) + this.pinObject = null; + else + { + this.pinObject = this.runtime.getObjectByUID(this.pinObjectUid); +; + } + this.pinObjectUid = -1; + }; + behinstProto.onInstanceDestroyed = function (inst) + { + if (this.pinObject == inst) + this.pinObject = null; + }; + behinstProto.onDestroy = function() + { + this.pinObject = null; + this.runtime.removeDestroyCallback(this.myDestroyCallback); + }; + behinstProto.tick = function () + { + }; + behinstProto.tick2 = function () + { + if (!this.pinObject) + return; + if (this.lastKnownAngle !== this.inst.angle) + this.myStartAngle = cr.clamp_angle(this.myStartAngle + (this.inst.angle - this.lastKnownAngle)); + var newx = this.inst.x; + var newy = this.inst.y; + if (this.mode === 3 || this.mode === 4) // rope mode or bar mode + { + var dist = cr.distanceTo(this.inst.x, this.inst.y, this.pinObject.x, this.pinObject.y); + if ((dist > this.pinDist) || (this.mode === 4 && dist < this.pinDist)) + { + var a = cr.angleTo(this.pinObject.x, this.pinObject.y, this.inst.x, this.inst.y); + newx = this.pinObject.x + Math.cos(a) * this.pinDist; + newy = this.pinObject.y + Math.sin(a) * this.pinDist; + } + } + else + { + newx = this.pinObject.x + Math.cos(this.pinObject.angle + this.pinAngle) * this.pinDist; + newy = this.pinObject.y + Math.sin(this.pinObject.angle + this.pinAngle) * this.pinDist; + } + var newangle = cr.clamp_angle(this.myStartAngle + (this.pinObject.angle - this.theirStartAngle)); + this.lastKnownAngle = newangle; + if ((this.mode === 0 || this.mode === 1 || this.mode === 3 || this.mode === 4) + && (this.inst.x !== newx || this.inst.y !== newy)) + { + this.inst.x = newx; + this.inst.y = newy; + this.inst.set_bbox_changed(); + } + if ((this.mode === 0 || this.mode === 2) && (this.inst.angle !== newangle)) + { + this.inst.angle = newangle; + this.inst.set_bbox_changed(); + } + }; + function Cnds() {}; + Cnds.prototype.IsPinned = function () + { + return !!this.pinObject; + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.Pin = function (obj, mode_) + { + if (!obj) + return; + var otherinst = obj.getFirstPicked(this.inst); + if (!otherinst) + return; + this.pinObject = otherinst; + this.pinAngle = cr.angleTo(otherinst.x, otherinst.y, this.inst.x, this.inst.y) - otherinst.angle; + this.pinDist = cr.distanceTo(otherinst.x, otherinst.y, this.inst.x, this.inst.y); + this.myStartAngle = this.inst.angle; + this.lastKnownAngle = this.inst.angle; + this.theirStartAngle = otherinst.angle; + this.mode = mode_; + }; + Acts.prototype.Unpin = function () + { + this.pinObject = null; + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.PinnedUID = function (ret) + { + ret.set_int(this.pinObject ? this.pinObject.uid : -1); + }; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.Sin = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.Sin.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; // associated object instance to modify + this.runtime = type.runtime; + this.i = 0; // period offset (radians) + }; + var behinstProto = behaviorProto.Instance.prototype; + var _2pi = 2 * Math.PI; + var _pi_2 = Math.PI / 2; + var _3pi_2 = (3 * Math.PI) / 2; + behinstProto.onCreate = function() + { + this.active = (this.properties[0] === 1); + this.movement = this.properties[1]; // 0=Horizontal|1=Vertical|2=Size|3=Width|4=Height|5=Angle|6=Opacity|7=Value only + this.wave = this.properties[2]; // 0=Sine|1=Triangle|2=Sawtooth|3=Reverse sawtooth|4=Square + this.period = this.properties[3]; + this.period += Math.random() * this.properties[4]; // period random + if (this.period === 0) + this.i = 0; + else + { + this.i = (this.properties[5] / this.period) * _2pi; // period offset + this.i += ((Math.random() * this.properties[6]) / this.period) * _2pi; // period offset random + } + this.mag = this.properties[7]; // magnitude + this.mag += Math.random() * this.properties[8]; // magnitude random + this.initialValue = 0; + this.initialValue2 = 0; + this.ratio = 0; + if (this.movement === 5) // angle + this.mag = cr.to_radians(this.mag); + this.init(); + }; + behinstProto.saveToJSON = function () + { + return { + "i": this.i, + "a": this.active, + "mv": this.movement, + "w": this.wave, + "p": this.period, + "mag": this.mag, + "iv": this.initialValue, + "iv2": this.initialValue2, + "r": this.ratio, + "lkv": this.lastKnownValue, + "lkv2": this.lastKnownValue2 + }; + }; + behinstProto.loadFromJSON = function (o) + { + this.i = o["i"]; + this.active = o["a"]; + this.movement = o["mv"]; + this.wave = o["w"]; + this.period = o["p"]; + this.mag = o["mag"]; + this.initialValue = o["iv"]; + this.initialValue2 = o["iv2"] || 0; + this.ratio = o["r"]; + this.lastKnownValue = o["lkv"]; + this.lastKnownValue2 = o["lkv2"] || 0; + }; + behinstProto.init = function () + { + switch (this.movement) { + case 0: // horizontal + this.initialValue = this.inst.x; + break; + case 1: // vertical + this.initialValue = this.inst.y; + break; + case 2: // size + this.initialValue = this.inst.width; + this.ratio = this.inst.height / this.inst.width; + break; + case 3: // width + this.initialValue = this.inst.width; + break; + case 4: // height + this.initialValue = this.inst.height; + break; + case 5: // angle + this.initialValue = this.inst.angle; + break; + case 6: // opacity + this.initialValue = this.inst.opacity; + break; + case 7: + this.initialValue = 0; + break; + case 8: // forwards/backwards + this.initialValue = this.inst.x; + this.initialValue2 = this.inst.y; + break; + default: +; + } + this.lastKnownValue = this.initialValue; + this.lastKnownValue2 = this.initialValue2; + }; + behinstProto.waveFunc = function (x) + { + x = x % _2pi; + switch (this.wave) { + case 0: // sine + return Math.sin(x); + case 1: // triangle + if (x <= _pi_2) + return x / _pi_2; + else if (x <= _3pi_2) + return 1 - (2 * (x - _pi_2) / Math.PI); + else + return (x - _3pi_2) / _pi_2 - 1; + case 2: // sawtooth + return 2 * x / _2pi - 1; + case 3: // reverse sawtooth + return -2 * x / _2pi + 1; + case 4: // square + return x < Math.PI ? -1 : 1; + }; + return 0; + }; + behinstProto.tick = function () + { + var dt = this.runtime.getDt(this.inst); + if (!this.active || dt === 0) + return; + if (this.period === 0) + this.i = 0; + else + { + this.i += (dt / this.period) * _2pi; + this.i = this.i % _2pi; + } + this.updateFromPhase(); + }; + behinstProto.updateFromPhase = function () + { + switch (this.movement) { + case 0: // horizontal + if (this.inst.x !== this.lastKnownValue) + this.initialValue += this.inst.x - this.lastKnownValue; + this.inst.x = this.initialValue + this.waveFunc(this.i) * this.mag; + this.lastKnownValue = this.inst.x; + break; + case 1: // vertical + if (this.inst.y !== this.lastKnownValue) + this.initialValue += this.inst.y - this.lastKnownValue; + this.inst.y = this.initialValue + this.waveFunc(this.i) * this.mag; + this.lastKnownValue = this.inst.y; + break; + case 2: // size + this.inst.width = this.initialValue + this.waveFunc(this.i) * this.mag; + this.inst.height = this.inst.width * this.ratio; + break; + case 3: // width + this.inst.width = this.initialValue + this.waveFunc(this.i) * this.mag; + break; + case 4: // height + this.inst.height = this.initialValue + this.waveFunc(this.i) * this.mag; + break; + case 5: // angle + if (this.inst.angle !== this.lastKnownValue) + this.initialValue = cr.clamp_angle(this.initialValue + (this.inst.angle - this.lastKnownValue)); + this.inst.angle = cr.clamp_angle(this.initialValue + this.waveFunc(this.i) * this.mag); + this.lastKnownValue = this.inst.angle; + break; + case 6: // opacity + this.inst.opacity = this.initialValue + (this.waveFunc(this.i) * this.mag) / 100; + if (this.inst.opacity < 0) + this.inst.opacity = 0; + else if (this.inst.opacity > 1) + this.inst.opacity = 1; + break; + case 8: // forwards/backwards + if (this.inst.x !== this.lastKnownValue) + this.initialValue += this.inst.x - this.lastKnownValue; + if (this.inst.y !== this.lastKnownValue2) + this.initialValue2 += this.inst.y - this.lastKnownValue2; + this.inst.x = this.initialValue + Math.cos(this.inst.angle) * this.waveFunc(this.i) * this.mag; + this.inst.y = this.initialValue2 + Math.sin(this.inst.angle) * this.waveFunc(this.i) * this.mag; + this.lastKnownValue = this.inst.x; + this.lastKnownValue2 = this.inst.y; + break; + } + this.inst.set_bbox_changed(); + }; + behinstProto.onSpriteFrameChanged = function (prev_frame, next_frame) + { + switch (this.movement) { + case 2: // size + this.initialValue *= (next_frame.width / prev_frame.width); + this.ratio = next_frame.height / next_frame.width; + break; + case 3: // width + this.initialValue *= (next_frame.width / prev_frame.width); + break; + case 4: // height + this.initialValue *= (next_frame.height / prev_frame.height); + break; + } + }; + function Cnds() {}; + Cnds.prototype.IsActive = function () + { + return this.active; + }; + Cnds.prototype.CompareMovement = function (m) + { + return this.movement === m; + }; + Cnds.prototype.ComparePeriod = function (cmp, v) + { + return cr.do_cmp(this.period, cmp, v); + }; + Cnds.prototype.CompareMagnitude = function (cmp, v) + { + if (this.movement === 5) + return cr.do_cmp(this.mag, cmp, cr.to_radians(v)); + else + return cr.do_cmp(this.mag, cmp, v); + }; + Cnds.prototype.CompareWave = function (w) + { + return this.wave === w; + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetActive = function (a) + { + this.active = (a === 1); + }; + Acts.prototype.SetPeriod = function (x) + { + this.period = x; + }; + Acts.prototype.SetMagnitude = function (x) + { + this.mag = x; + if (this.movement === 5) // angle + this.mag = cr.to_radians(this.mag); + }; + Acts.prototype.SetMovement = function (m) + { + if (this.movement === 5 && m !== 5) + this.mag = cr.to_degrees(this.mag); + this.movement = m; + this.init(); + }; + Acts.prototype.SetWave = function (w) + { + this.wave = w; + }; + Acts.prototype.SetPhase = function (x) + { + this.i = (x * _2pi) % _2pi; + this.updateFromPhase(); + }; + Acts.prototype.UpdateInitialState = function () + { + this.init(); + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.CyclePosition = function (ret) + { + ret.set_float(this.i / _2pi); + }; + Exps.prototype.Period = function (ret) + { + ret.set_float(this.period); + }; + Exps.prototype.Magnitude = function (ret) + { + if (this.movement === 5) // angle + ret.set_float(cr.to_degrees(this.mag)); + else + ret.set_float(this.mag); + }; + Exps.prototype.Value = function (ret) + { + ret.set_float(this.waveFunc(this.i) * this.mag); + }; + behaviorProto.exps = new Exps(); +}()); +var easeOutBounceArray = []; +var easeInElasticArray = []; +var easeOutElasticArray = []; +var easeInOutElasticArray = []; +var easeInCircle = []; +var easeOutCircle = []; +var easeInOutCircle = []; +var easeInBack = []; +var easeOutBack = []; +var easeInOutBack = []; +var litetween_precision = 10000; +var updateLimit = 0; //0.0165; +function easeOutBouncefunc(t) { + var b=0.0; + var c=1.0; + var d=1.0; + if ((t/=d) < (1/2.75)) { + result = c*(7.5625*t*t) + b; + } else if (t < (2/2.75)) { + result = c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; + } else if (t < (2.5/2.75)) { + result = c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; + } else { + result = c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; + } + return result; +} +function integerize(t, d) +{ + return Math.round(t/d*litetween_precision); +} +function easeFunc(easing, t, b, c, d, flip, param) +{ + var ret_ease = 0; + switch (easing) { + case 0: // linear + ret_ease = c*t/d + b; + break; + case 1: // easeInQuad + ret_ease = c*(t/=d)*t + b; + break; + case 2: // easeOutQuad + ret_ease = -c *(t/=d)*(t-2) + b; + break; + case 3: // easeInOutQuad + if ((t/=d/2) < 1) + ret_ease = c/2*t*t + b + else + ret_ease = -c/2 * ((--t)*(t-2) - 1) + b; + break; + case 4: // easeInCubic + ret_ease = c*(t/=d)*t*t + b; + break; + case 5: // easeOutCubic + ret_ease = c*((t=t/d-1)*t*t + 1) + b; + break; + case 6: // easeInOutCubic + if ((t/=d/2) < 1) + ret_ease = c/2*t*t*t + b + else + ret_ease = c/2*((t-=2)*t*t + 2) + b; + break; + case 7: // easeInQuart + ret_ease = c*(t/=d)*t*t*t + b; + break; + case 8: // easeOutQuart + ret_ease = -c * ((t=t/d-1)*t*t*t - 1) + b; + break; + case 9: // easeInOutQuart + if ((t/=d/2) < 1) + ret_ease = c/2*t*t*t*t + b + else + ret_ease = -c/2 * ((t-=2)*t*t*t - 2) + b; + break; + case 10: // easeInQuint + ret_ease = c*(t/=d)*t*t*t*t + b; + break; + case 11: // easeOutQuint + ret_ease = c*((t=t/d-1)*t*t*t*t + 1) + b; + break; + case 12: // easeInOutQuint + if ((t/=d/2) < 1) + ret_ease = c/2*t*t*t*t*t + b + else + ret_ease = c/2*((t-=2)*t*t*t*t + 2) + b; + break; + case 13: // easeInCircle + if (param.optimized) { + ret_ease = easeInCircle[integerize(t,d)]; + } else { + ret_ease = -(Math.sqrt(1-t*t) - 1); + } + break; + case 14: // easeOutCircle + if (param.optimized) { + ret_ease = easeOutCircle[integerize(t,d)]; + } else { + ret_ease = Math.sqrt(1 - ((t-1)*(t-1))); + } + break; + case 15: // easeInOutCircle + if (param.optimized) { + ret_ease = easeInOutCircle[integerize(t,d)]; + } else { + if ((t/=d/2) < 1) ret_ease = -c/2 * (Math.sqrt(1 - t*t) - 1) + b + else ret_ease = c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; + } + break; + case 16: // easeInBack + if (param.optimized) { + ret_ease = easeOutBack[integerize(t,d)]; + } else { + var s = param.s; + ret_ease = c*(t/=d)*t*((s+1)*t - s) + b; + } + break; + case 17: // easeOutBack + if (param.optimized) { + ret_ease = easeOutBack[integerize(t,d)]; + } else { + var s = param.s; + ret_ease = c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; + } + break; + case 18: // easeInOutBack + if (param.optimized) { + ret_ease = easeInOutBack[integerize(t,d)]; + } else { + var s = param.s + if ((t/=d/2) < 1) + ret_ease = c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b + else + ret_ease = c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; + } + break; + case 19: //easeInElastic + if (param.optimized) { + ret_ease = easeInElasticArray[integerize(t, d)]; + } else { + var a = param.a; + var p = param.p; + var s = 0; + if (t==0) ret_ease = b; if ((t/=d)==1) ret_ease = b+c; + if (p==0) p=d*.3; if (a==0 || a < Math.abs(c)) { a=c; s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + ret_ease = -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; + } + break; + case 20: //easeOutElastic + if (param.optimized) { + ret_ease = easeOutElasticArray[integerize(t,d)]; + } else { + var a = param.a; + var p = param.p; + var s = 0; + if (t==0) ret_ease= b; if ((t/=d)==1) ret_ease= b+c; if (p == 0) p=d*.3; + if (a==0 || a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + ret_ease= (a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b); + } + break; + case 21: //easeInOutElastic + if (param.optimized) { + ret_ease = easeInOutElasticArray[integerize(t,d)]; + } else { + var a = param.a; + var p = param.p; + var s = 0; + if (t==0) ret_ease = b; + if ((t/=d/2)==2) ret_ease = b+c; + if (p==0) p=d*(.3*1.5); + if (a==0 || a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + if (t < 1) + ret_ease = -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b + else + ret_ease = a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; + } + break; + case 22: //easeInBounce + if (param.optimized) { + ret_ease = c - easeOutBounceArray[integerize(d-t, d)] + b; + } else { + ret_ease = c - easeOutBouncefunc(d-t/d) + b; + } + break; + case 23: //easeOutBounce + if (param.optimized) { + ret_ease = easeOutBounceArray[integerize(t, d)]; + } else { + ret_ease = easeOutBouncefunc(t/d); + } + break; + case 24: //easeInOutBounce + if (param.optimized) { + if (t < d/2) + ret_ease = (c - easeOutBounceArray[integerize(d-(t*2), d)] + b) * 0.5 +b; + else + ret_ease = easeOutBounceArray[integerize(t*2-d, d)] * .5 + c*.5 + b; + } else { + if (t < d/2) + ret_ease = (c - easeOutBouncefunc(d-(t*2)) + b) * 0.5 +b; + else + ret_ease = easeOutBouncefunc((t*2-d)/d) * .5 + c *.5 + b; + } + break; + case 25: //easeInSmoothstep + var mt = (t/d) / 2; + ret_ease = (2*(mt * mt * (3 - 2*mt))); + break; + case 26: //easeOutSmoothstep + var mt = ((t/d) + 1) / 2; + ret_ease = ((2*(mt * mt * (3 - 2*mt))) - 1); + break; + case 27: //easeInOutSmoothstep + var mt = (t / d); + ret_ease = (mt * mt * (3 - 2*mt)); + break; + }; + if (flip) + return (c - b) - ret_ease + else + return ret_ease; +}; +(function preCalculateArray() { + var d = 1.0; + var b = 0.0; + var c = 1.0; + var result = 0.0; + var a = 0.0; + var p = 0.0; + var t = 0.0; + var s = 0.0; + for (var ti = 0; ti <= litetween_precision; ti++) { + t = ti/litetween_precision; + if ((t/=d) < (1/2.75)) { + result = c*(7.5625*t*t) + b; + } else if (t < (2/2.75)) { + result = c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; + } else if (t < (2.5/2.75)) { + result = c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; + } else { + result = c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; + } + easeOutBounceArray[ti] = result; + t = ti/litetween_precision; a = 0; p = 0; + if (t==0) result = b; if ((t/=d)==1) result = b+c; + if (p==0) p=d*.3; if (a==0 || a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + result = -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; + easeInElasticArray[ti] = result; + t = ti/litetween_precision; a = 0; p = 0; + if (t==0) result= b; if ((t/=d)==1) result= b+c; if (p == 0) p=d*.3; + if (a==0 || a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + result= (a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b); + easeOutElasticArray[ti] = result; + t = ti/litetween_precision; a = 0; p = 0; + if (t==0) result = b; + if ((t/=d/2)==2) result = b+c; + if (p==0) p=d*(.3*1.5); + if (a==0 || a < Math.abs(c)) { a=c; var s=p/4; } + else var s = p/(2*Math.PI) * Math.asin (c/a); + if (t < 1) + result = -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b + else + result = a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; + easeInOutElasticArray[ti] = result; + t = ti/litetween_precision; easeInCircle[ti] = -(Math.sqrt(1-t*t) - 1); + t = ti/litetween_precision; easeOutCircle[ti] = Math.sqrt(1 - ((t-1)*(t-1))); + t = ti/litetween_precision; + if ((t/=d/2) < 1) result = -c/2 * (Math.sqrt(1 - t*t) - 1) + b + else result = c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; + easeInOutCircle[ti] = result; + t = ti/litetween_precision; s = 0; + if (s==0) s = 1.70158; + result = c*(t/=d)*t*((s+1)*t - s) + b; + easeInBack[ti] = result; + t = ti/litetween_precision; s = 0; + if (s==0) s = 1.70158; + result = c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; + easeOutBack[ti] = result; + t = ti/litetween_precision; s = 0; if (s==0) s = 1.70158; + if ((t/=d/2) < 1) + result = c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b + else + result = c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; + easeInOutBack[ti] = result; + } +}()); +var TweenObject = function() +{ + var constructor = function (tname, tweened, easefunc, initial, target, duration, enforce) + { + this.name = tname; + this.value = 0; + this.setInitial(initial); + this.setTarget(target); + this.easefunc = easefunc; + this.tweened = tweened; + this.duration = duration; + this.progress = 0; + this.state = 0; + this.onStart = false; + this.onEnd = false; + this.onReverseStart = false; + this.onReverseEnd = false; + this.lastKnownValue = 0; + this.lastKnownValue2 = 0; + this.enforce = enforce; + this.pingpong = 1.0; + this.flipEase = false; + this.easingparam = []; + for (var i=0; i<28; i++) { + this.easingparam[i] = {}; + this.easingparam[i].a = 0.0; + this.easingparam[i].p = 0.0; + this.easingparam[i].t = 0.0; + this.easingparam[i].s = 0.0; + this.easingparam[i].optimized = true; + } + } + return constructor; +}(); +(function () { + TweenObject.prototype = { + }; + TweenObject.prototype.flipTarget = function () + { + var x1 = this.initialparam1; + var x2 = this.initialparam2; + this.initialparam1 = this.targetparam1; + this.initialparam2 = this.targetparam2; + this.targetparam1 = x1; + this.targetparam2 = x2; + this.lastKnownValue = 0; + this.lastKnownValue2 = 0; + } + TweenObject.prototype.setInitial = function (initial) + { + this.initialparam1 = parseFloat(initial.split(",")[0]); + this.initialparam2 = parseFloat(initial.split(",")[1]); + this.lastKnownValue = 0; + this.lastKnownValue2 = 0; + } + TweenObject.prototype.setTarget = function (target) + { + this.targetparam1 = parseFloat(target.split(",")[0]); + this.targetparam2 = parseFloat(target.split(",")[1]); + if (isNaN(this.targetparam2)) this.targetparam2 = this.targetparam1; + } + TweenObject.prototype.OnTick = function(dt) + { + if (this.state === 0) return -1.0; + if (this.state === 1) + this.progress += dt; + if (this.state === 2) + this.progress -= dt; + if (this.state === 3) { + this.state = 0; + } + if ((this.state === 4) || (this.state === 6)) { + this.progress += dt * this.pingpong; + } + if (this.state === 5) { + this.progress += dt * this.pingpong; + } + if (this.progress < 0) { + this.progress = 0; + if (this.state === 4) { + this.pingpong = 1; + } else if (this.state === 6) { + this.pingpong = 1; + this.flipEase = false; + } else { + this.state = 0; + } + this.onReverseEnd = true; + return 0.0; + } else if (this.progress > this.duration) { + this.progress = this.duration; + if (this.state === 4) { + this.pingpong = -1; + } else if (this.state === 6) { + this.pingpong = -1; + this.flipEase = true; + } else if (this.state === 5) { + this.progress = 0.0; + } else { + this.state = 0; + } + this.onEnd = true; + return 1.0; + } else { + if (this.flipEase) { + var factor = easeFunc(this.easefunc, this.duration - this.progress, 0, 1, this.duration, this.flipEase, this.easingparam[this.easefunc]); + } else { + var factor = easeFunc(this.easefunc, this.progress, 0, 1, this.duration, this.flipEase, this.easingparam[this.easefunc]); + } + return factor; + } + }; +}()); +; +; +function trim (str) { + return str.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); +} +cr.behaviors.lunarray_LiteTween = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.lunarray_LiteTween.prototype; + behaviorProto.Type = function(behavior, objtype) + { + this.behavior = behavior; + this.objtype = objtype; + this.runtime = behavior.runtime; + }; + var behtypeProto = behaviorProto.Type.prototype; + behtypeProto.onCreate = function() + { + }; + behaviorProto.Instance = function(type, inst) + { + this.type = type; + this.behavior = type.behavior; + this.inst = inst; // associated object instance to modify + this.runtime = type.runtime; + this.i = 0; // progress + }; + var behinstProto = behaviorProto.Instance.prototype; + behinstProto.onCreate = function() + { + this.playmode = this.properties[0]; + this.active = (this.playmode == 1) || (this.playmode == 2) || (this.playmode == 3) || (this.playmode == 4); + this.tweened = this.properties[1]; // 0=Position|1=Size|2=Width|3=Height|4=Angle|5=Opacity|6=Value only|7=Horizontal|8=Vertical|9=Scale + this.easing = this.properties[2]; + this.target = this.properties[3]; + this.targetmode = this.properties[4]; + this.useCurrent = false; + if (this.targetmode === 1) this.target = "relative("+this.target+")"; + this.duration = this.properties[5]; + this.enforce = (this.properties[6] === 1); + this.value = 0; + this.tween_list = {}; + this.addToTweenList("default", this.tweened, this.easing, "current", this.target, this.duration, this.enforce); + if (this.properties[0] === 1) this.startTween(0) + if (this.properties[0] === 2) this.startTween(2) + if (this.properties[0] === 3) this.startTween(3) + if (this.properties[0] === 4) this.startTween(4) + }; + behinstProto.parseCurrent = function(tweened, parseText) + { + if (parseText === undefined) parseText = "current"; + var parsed = trim(parseText); + parseText = trim(parseText); + var value = this.value; + if (parseText === "current") { + switch (tweened) { + case 0: parsed = this.inst.x + "," + this.inst.y; break; + case 1: parsed = this.inst.width + "," + this.inst.height; break; + case 2: parsed = this.inst.width + "," + this.inst.height; break; + case 3: parsed = this.inst.width + "," + this.inst.height; break; + case 4: parsed = cr.to_degrees(this.inst.angle) + "," + cr.to_degrees(this.inst.angle); break; + case 5: parsed = (this.inst.opacity*100) + "," + (this.inst.opacity*100); break; + case 6: parsed = value + "," + value; break; + case 7: parsed = this.inst.x + "," + this.inst.y; break; + case 8: parsed = this.inst.x + "," + this.inst.y; break; + case 9: + if (this.inst.curFrame !== undefined) + parsed = (this.inst.width/this.inst.curFrame.width) + "," +(this.inst.height/this.inst.curFrame.height) + else + parsed = "1,1"; + break; + default: break; + } + } + if (parseText.substring(0,8) === "relative") { + var param1 = parseText.match(/\((.*?)\)/); + if (param1) { + var relativex = parseFloat(param1[1].split(",")[0]); + var relativey = parseFloat(param1[1].split(",")[1]); + } + if (isNaN(relativex)) relativex = 0; + if (isNaN(relativey)) relativey = 0; + switch (tweened) { + case 0: parsed = (this.inst.x+relativex) + "," + (this.inst.y+relativey); break; + case 1: parsed = (this.inst.width+relativex) + "," + (this.inst.height+relativey); break; + case 2: parsed = (this.inst.width+relativex) + "," + (this.inst.height+relativey); break; + case 3: parsed = (this.inst.width+relativex) + "," + (this.inst.height+relativey); break; + case 4: parsed = (cr.to_degrees(this.inst.angle)+relativex) + "," + (cr.to_degrees(this.inst.angle)+relativey); break; + case 5: parsed = (this.inst.opacity*100+relativex) + "," + (this.inst.opacity*100+relativey); break; + case 6: parsed = value+relativex + "," + value+relativex; break; + case 7: parsed = (this.inst.x+relativex) + "," + (this.inst.y); break; + case 8: parsed = (this.inst.x) + "," + (this.inst.y+relativex); break; + case 9: parsed = (relativex) + "," + (relativey); break; + default: break; + } + } + return parsed; + }; + behinstProto.addToTweenList = function(tname, tweened, easing, init, targ, duration, enforce) + { + init = this.parseCurrent(tweened, init); + targ = this.parseCurrent(tweened, targ); + if (this.tween_list[tname] !== undefined) { + delete this.tween_list[tname] + } + this.tween_list[tname] = new TweenObject(tname, tweened, easing, init, targ, duration, enforce); + this.tween_list[tname].dt = 0; + }; + behinstProto.saveToJSON = function () + { + var v = JSON.stringify(this.tween_list["default"]); + return { + "playmode": this.playmode, + "active": this.active, + "tweened": this.tweened, + "easing": this.easing, + "target": this.target, + "targetmode": this.targetmode, + "useCurrent": this.useCurrent, + "duration": this.duration, + "enforce": this.enforce, + "value": this.value, + "tweenlist": JSON.stringify(this.tween_list["default"]) + }; + }; + TweenObject.Load = function(rawObj, tname, tweened, easing, init, targ, duration, enforce) + { + var obj = new TweenObject(tname, tweened, easing, init, targ, duration, enforce); + for(var i in rawObj) + obj[i] = rawObj[i]; + return obj; + }; + behinstProto.loadFromJSON = function (o) + { + var x = JSON.parse(o["tweenlist"]); + var tempObj = TweenObject.Load(x, x.name, x.tweened, x.easefunc, x.initialparam1+","+x.initialparam2, x.targetparam1+","+x.targetparam2, x.duration, x.enforce); + console.log(tempObj); + this.tween_list["default"] = tempObj; + this.playmode = o["playmode"]; + this.active = o["active"]; + this.movement = o["tweened"]; + this.easing = o["easing"]; + this.target = o["target"]; + this.targetmode = o["targetmode"]; + this.useCurrent = o["useCurrent"]; + this.duration = o["duration"]; + this.enforce = o["enforce"]; + this.value = o["value"]; + }; + behinstProto.setProgressTo = function (mark) + { + if (mark > 1.0) mark = 1.0; + if (mark < 0.0) mark = 0.0; + for (var i in this.tween_list) { + var inst = this.tween_list[i]; + inst.lastKnownValue = 0; + inst.lastKnownValue2 = 0; + inst.state = 3; + inst.progress = mark * inst.duration; + var factor = inst.OnTick(0); + this.updateTween(inst, factor); + } + } + behinstProto.startTween = function (startMode) + { + for (var i in this.tween_list) { + var inst = this.tween_list[i]; + if (this.useCurrent) { + var init = this.parseCurrent(inst.tweened, "current"); + var target = this.parseCurrent(inst.tweened, this.target); + inst.setInitial(init); + inst.setTarget(target); + } + if (startMode === 0) { + inst.progress = 0.000001; + inst.lastKnownValue = 0; + inst.lastKnownValue2 = 0; + inst.onStart = true; + inst.state = 1; + } + if (startMode === 1) { + inst.state = 1; + } + if ((startMode === 2) || (startMode === 4)) { + inst.progress = 0.000001; + inst.lastKnownValue = 0; + inst.lastKnownValue2 = 0; + inst.onStart = true; + if (startMode == 2) inst.state = 4; //state ping pong + if (startMode == 4) inst.state = 6; //state flip flop + } + if (startMode === 3) { + inst.progress = 0.000001; + inst.lastKnownValue = 0; + inst.lastKnownValue2 = 0; + inst.onStart = true; + inst.state = 5; + } + } + } + behinstProto.stopTween = function (stopMode) + { + for (var i in this.tween_list) { + var inst = this.tween_list[i]; + if (stopMode === 1) inst.progress = 0.0; + if (stopMode === 2) inst.progress = inst.duration; + inst.state = 3; + var factor = inst.OnTick(0); + this.updateTween(inst, factor); + } + } + behinstProto.reverseTween = function(reverseMode) + { + for (var i in this.tween_list) { + var inst = this.tween_list[i]; + if (reverseMode === 1) { + inst.progress = inst.duration; + inst.lastKnownValue = 0; + inst.lastKnownValue2 = 0; + inst.onReverseStart = true; + } + inst.state = 2; + } + } + behinstProto.updateTween = function (inst, factor) + { + var isMirrored = 1; + var isFlipped = 1; + if (this.inst.width < 0) isMirrored = -1; + if (this.inst.height < 0) isFlipped = -1; + if (inst.tweened === 0) { + if (inst.enforce) { + this.inst.x = inst.initialparam1 + (inst.targetparam1 - inst.initialparam1) * factor; + this.inst.y = inst.initialparam2 + (inst.targetparam2 - inst.initialparam2) * factor; + } else { + this.inst.x += ((inst.targetparam1 - inst.initialparam1) * factor) - inst.lastKnownValue; + this.inst.y += ((inst.targetparam2 - inst.initialparam2) * factor) - inst.lastKnownValue2; + inst.lastKnownValue = ((inst.targetparam1 - inst.initialparam1) * factor); + inst.lastKnownValue2 = ((inst.targetparam2 - inst.initialparam2) * factor); + } + } else if (inst.tweened === 1) { + if (inst.enforce) { + this.inst.width = (isMirrored * inst.initialparam1 + ((inst.targetparam1 - inst.initialparam1) * (factor * isMirrored))); + this.inst.height = (isFlipped * inst.initialparam2 + ((inst.targetparam2 - inst.initialparam2) * (factor * isFlipped))); + } else { + this.inst.width += (isMirrored *(inst.targetparam1 - inst.initialparam1) * factor) - inst.lastKnownValue; + this.inst.height += (isFlipped *(inst.targetparam2 - inst.initialparam2) * factor) - inst.lastKnownValue2; + inst.lastKnownValue = (isMirrored *(inst.targetparam1 - inst.initialparam1) * factor); + inst.lastKnownValue2 = (isFlipped *(inst.targetparam2 - inst.initialparam2) * factor); + } + } else if (inst.tweened === 2) { + if (inst.enforce) { + this.inst.width = (isMirrored * inst.initialparam1 + ((inst.targetparam1 - inst.initialparam1) * (factor * isMirrored))); + } else { + this.inst.width += (isMirrored *(inst.targetparam1 - inst.initialparam1) * factor) - inst.lastKnownValue; + inst.lastKnownValue = (isMirrored *(inst.targetparam1 - inst.initialparam1) * factor); + } + } else if (inst.tweened === 3) { + if (inst.enforce) { + this.inst.height = (isFlipped * inst.initialparam2 + ((inst.targetparam2 - inst.initialparam2) * (factor * isFlipped))); + } else { + this.inst.height += (isFlipped * (inst.targetparam2 - inst.initialparam2) * factor) - inst.lastKnownValue2; + inst.lastKnownValue2 = (isFlipped * (inst.targetparam2 - inst.initialparam2) * factor); + } + } else if (inst.tweened === 4) { + if (inst.enforce) { + var tangle = inst.initialparam1 + (inst.targetparam1 - inst.initialparam1) * factor; + this.inst.angle = cr.clamp_angle(cr.to_radians(tangle)); + } else { + var tangle = ((inst.targetparam1 - inst.initialparam1) * factor) - inst.lastKnownValue; + this.inst.angle = cr.clamp_angle(this.inst.angle + cr.to_radians(tangle)); + inst.lastKnownValue = (inst.targetparam1 - inst.initialparam1) * factor; + } + } else if (inst.tweened === 5) { + if (inst.enforce) { + this.inst.opacity = (inst.initialparam1 + (inst.targetparam1 - inst.initialparam1) * factor) / 100; + } else { + this.inst.opacity += (((inst.targetparam1 - inst.initialparam1) * factor) - inst.lastKnownValue) / 100; + inst.lastKnownValue = ((inst.targetparam1 - inst.initialparam1) * factor); + } + } else if (inst.tweened === 6) { + if (inst.enforce) { + this.value = (inst.initialparam1 + (inst.targetparam1 - inst.initialparam1) * factor); + } else { + this.value += (((inst.targetparam1 - inst.initialparam1) * factor) - inst.lastKnownValue); + inst.lastKnownValue = ((inst.targetparam1 - inst.initialparam1) * factor); + } + } else if (inst.tweened === 7) { + if (inst.enforce) { + this.inst.x = inst.initialparam1 + (inst.targetparam1 - inst.initialparam1) * factor; + } else { + this.inst.x += ((inst.targetparam1 - inst.initialparam1) * factor) - inst.lastKnownValue; + inst.lastKnownValue = ((inst.targetparam1 - inst.initialparam1) * factor); + } + } else if (inst.tweened === 8) { + if (inst.enforce) { + this.inst.y = inst.initialparam2 + (inst.targetparam2 - inst.initialparam2) * factor; + } else { + this.inst.y += ((inst.targetparam2 - inst.initialparam2) * factor) - inst.lastKnownValue2; + inst.lastKnownValue2 = ((inst.targetparam2 - inst.initialparam2) * factor); + } + } else if (inst.tweened === 9) { + var scalex = inst.initialparam1 + (inst.targetparam1 - inst.initialparam1) * factor; + var scaley = inst.initialparam2 + (inst.targetparam2 - inst.initialparam2) * factor; + if (this.inst.width < 0) scalex = inst.initialparam1 + (inst.targetparam1 + inst.initialparam1) * -factor; + if (this.inst.height < 0) scaley = inst.initialparam2 + (inst.targetparam2 + inst.initialparam2) * -factor; + if (inst.enforce) { + this.inst.width = this.inst.curFrame.width * scalex; + this.inst.height = this.inst.curFrame.height * scaley; + } else { + if (this.inst.width < 0) { + this.inst.width = scalex * (this.inst.width / (-1+inst.lastKnownValue)); + inst.lastKnownValue = scalex + 1 + } else { + this.inst.width = scalex * (this.inst.width / (1+inst.lastKnownValue)); + inst.lastKnownValue = scalex - 1; + } + if (this.inst.height < 0) { + this.inst.height = scaley * (this.inst.height / (-1+inst.lastKnownValue2)); + inst.lastKnownValue2 = scaley + 1 + } else { + this.inst.height = scaley * (this.inst.height / (1+inst.lastKnownValue2)); + inst.lastKnownValue2 = scaley - 1; + } + } + } + this.inst.set_bbox_changed(); + } + behinstProto.tick = function () + { + var dt = this.runtime.getDt(this.inst); + var inst = this.tween_list["default"]; + if (inst.state !== 0) { + if (inst.onStart) { + this.runtime.trigger(cr.behaviors.lunarray_LiteTween.prototype.cnds.OnStart, this.inst); + inst.onStart = false; + } + if (inst.onReverseStart) { + this.runtime.trigger(cr.behaviors.lunarray_LiteTween.prototype.cnds.OnReverseStart, this.inst); + inst.onReverseStart = false; + } + this.active = (inst.state == 1) || (inst.state == 2) || (inst.state == 4) || (inst.state == 5) || (inst.state == 6); + var factor = inst.OnTick(dt); + this.updateTween(inst, factor); + if (inst.onEnd) { + this.runtime.trigger(cr.behaviors.lunarray_LiteTween.prototype.cnds.OnEnd, this.inst); + inst.onEnd = false; + } + if (inst.onReverseEnd) { + this.runtime.trigger(cr.behaviors.lunarray_LiteTween.prototype.cnds.OnReverseEnd, this.inst); + inst.onReverseEnd = false; + } + } + }; + behaviorProto.cnds = {}; + var cnds = behaviorProto.cnds; + cnds.IsActive = function () + { + return (this.tween_list["default"].state !== 0); + }; + cnds.IsReversing = function () + { + return (this.tween_list["default"].state == 2); + }; + cnds.CompareProgress = function (cmp, v) + { + var inst = this.tween_list["default"]; + return cr.do_cmp((inst.progress / inst.duration), cmp, v); + }; + cnds.OnThreshold = function (cmp, v) + { + var inst = this.tween_list["default"]; + this.threshold = (cr.do_cmp((inst.progress / inst.duration), cmp, v)); + var ret = (this.oldthreshold != this.threshold) && (this.threshold); + if (ret) { + this.oldthreshold = this.threshold; + } + return ret; + }; + cnds.OnStart = function () + { + if (this.tween_list["default"] === undefined) + return false; + return this.tween_list["default"].onStart; + }; + cnds.OnReverseStart = function () + { + if (this.tween_list["default"] === undefined) + return false; + return this.tween_list["default"].onReverseStart; + }; + cnds.OnEnd = function () + { + if (this.tween_list["default"] === undefined) + return false; + return this.tween_list["default"].onEnd; + }; + cnds.OnReverseEnd = function () + { + if (this.tween_list["default"] === undefined) + return false; + return this.tween_list["default"].onReverseEnd; + }; + behaviorProto.acts = {}; + var acts = behaviorProto.acts; + acts.Start = function (startmode, current) + { + this.threshold = false; + this.oldthreshold = false; + this.useCurrent = (current == 1); + this.startTween(startmode); + }; + acts.Stop = function (stopmode) + { + this.stopTween(stopmode); + }; + acts.Reverse = function (revMode) + { + this.threshold = false; + this.oldthreshold = false; + this.reverseTween(revMode); + }; + acts.ProgressTo = function (progress) + { + this.setProgressTo(progress); + }; + acts.SetDuration = function (x) + { + if (isNaN(x)) return; + if (x < 0) return; + if (this.tween_list["default"] === undefined) return; + this.tween_list["default"].duration = x; + }; + acts.SetEnforce = function (x) + { + if (this.tween_list["default"] === undefined) return; + this.tween_list["default"].enforce = (x===1); + }; + acts.SetInitial = function (x) + { + if (this.tween_list["default"] === undefined) return; + var init = this.parseCurrent(this.tween_list["default"].tweened, x); + this.tween_list["default"].setInitial(init); + }; + acts.SetTarget = function (targettype, absrel, x) + { + if (this.tween_list["default"] === undefined) return; + if (isNaN(x)) return; + var inst = this.tween_list["default"]; + var parsed = x + ""; + this.targetmode = absrel; + var x1 = ""; + var x2 = ""; + if (absrel === 1) { + this.target = "relative(" + parsed + ")"; + switch (targettype) { + case 0: x1 = (this.inst.x + x); x2 = inst.targetparam2; break; + case 1: x1 = inst.targetparam1; x2 = (this.inst.y + x); break; + case 2: x1 = "" + cr.to_degrees(this.inst.angle + cr.to_radians(x)); x2 = x1; break; //angle + case 3: x1 = "" + (this.inst.opacity*100) + x; x2 = x1; break; //opacity + case 4: x1 = (this.inst.width + x); x2 = inst.targetparam2; break; //width + case 5: x1 = inst.targetparam1; x2 = (this.inst.height + x); break; //height + case 6: x1 = x; x2 = x; break; //value + default: break; + } + parsed = x1 + "," + x2; + } else { + switch (targettype) { + case 0: x1 = x; x2 = inst.targetparam2; break; + case 1: x1 = inst.targetparam1; x2 = x; break; + case 2: x1 = x; x2 = x; break; //angle + case 3: x1 = x; x2 = x; break; //opacity + case 4: x1 = x; x2 = inst.targetparam2; break; //width + case 5: x1 = inst.targetparam1; x2 = x; break; //height + case 6: x1 = x; x2 = x; break; //value + default: break; + } + parsed = x1 + "," + x2; + this.target = parsed; + } + var init = this.parseCurrent(this.tween_list["default"].tweened, "current"); + var targ = this.parseCurrent(this.tween_list["default"].tweened, parsed); + inst.setInitial(init); + inst.setTarget(targ); + }; + acts.SetTweenedProperty = function (x) + { + if (this.tween_list["default"] === undefined) return; + this.tween_list["default"].tweened = x; + }; + acts.SetEasing = function (x) + { + if (this.tween_list["default"] === undefined) return; + this.tween_list["default"].easefunc = x; + }; + acts.SetEasingParam = function (x, a, p, t, s) + { + if (this.tween_list["default"] === undefined) return; + this.tween_list["default"].easingparam[x].optimized = false; + this.tween_list["default"].easingparam[x].a = a; + this.tween_list["default"].easingparam[x].p = p; + this.tween_list["default"].easingparam[x].t = t; + this.tween_list["default"].easingparam[x].s = s; + }; + acts.ResetEasingParam = function () + { + if (this.tween_list["default"] === undefined) return; + this.tween_list["default"].optimized = true; + }; + acts.SetValue = function (x) + { + var inst = this.tween_list["default"]; + this.value = x; + if (inst.tweened === 6) + inst.setInitial( this.parseCurrent(inst.tweened, "current") ); + }; + acts.SetParameter = function (tweened, easefunction, target, duration, enforce) + { + if (this.tween_list["default"] === undefined) { + this.addToTweenList("default", tweened, easefunction, initial, target, duration, enforce, 0); + } else { + var inst = this.tween_list["default"]; + inst.tweened = tweened; + inst.easefunc = easefunction; + inst.setInitial( this.parseCurrent(tweened, "current") ); + inst.setTarget( this.parseCurrent(tweened, target) ); + inst.duration = duration; + inst.enforce = (enforce === 1); + } + }; + behaviorProto.exps = {}; + var exps = behaviorProto.exps; + exps.State = function (ret) + { + var parsed = "N/A"; + switch (this.tween_list["default"].state) { + case 0: parsed = "paused"; break; + case 1: parsed = "playing"; break; + case 2: parsed = "reversing"; break; + case 3: parsed = "seeking"; break; + default: break; + } + ret.set_string(parsed); + }; + exps.Progress = function (ret) + { + var progress = this.tween_list["default"].progress/this.tween_list["default"].duration; + ret.set_float(progress); + }; + exps.Duration = function (ret) + { + ret.set_float(this.tween_list["default"].duration); + }; + exps.Target = function (ret) + { + var inst = this.tween_list["default"]; + var parsed = "N/A"; + switch (inst.tweened) { + case 0: parsed = inst.targetparam1; break; + case 1: parsed = inst.targetparam2; break; + case 2: parsed = inst.targetparam1; break; + case 3: parsed = inst.targetparam1; break; + case 4: parsed = inst.targetparam1; break; + case 5: parsed = inst.targetparam2; break; + case 6: parsed = inst.targetparam1; break; + default: break; + } + ret.set_float(parsed); + }; + exps.Value = function (ret) + { + var tval = this.value; + ret.set_float(tval); + }; + exps.Tween = function (ret, a_, b_, x_, easefunc_) + { + var currX = (x_>1.0?1.0:x_); + var factor = easeFunc(easefunc_, currX<0.0?0.0:currX, 0.0, 1.0, 1.0, false, false); + ret.set_float(a_ + factor * (b_-a_)); + }; +}()); +cr.getObjectRefTable = function () { return [ + cr.plugins_.IDNet, + cr.plugins_.LocalStorage, + cr.plugins_.Mouse, + cr.plugins_.Rex_Date, + cr.plugins_.Arr, + cr.plugins_.Browser, + cr.plugins_.Audio, + cr.plugins_.cjs, + cr.plugins_.Dictionary, + cr.plugins_.Function, + cr.plugins_.Rex_TimeAwayL, + cr.plugins_.Sprite, + cr.plugins_.SpriteFontPlus, + cr.plugins_.Spritefont2, + cr.plugins_.Text, + cr.plugins_.Touch, + cr.behaviors.lunarray_LiteTween, + cr.behaviors.Sin, + cr.behaviors.Bullet, + cr.behaviors.Pin, + cr.system_object.prototype.cnds.IsGroupActive, + cr.system_object.prototype.cnds.OnLayoutStart, + cr.plugins_.Arr.prototype.acts.JSONLoad, + cr.system_object.prototype.cnds.For, + cr.plugins_.Arr.prototype.exps.Height, + cr.plugins_.Spritefont2.prototype.acts.SetCharacterWidth, + cr.plugins_.Arr.prototype.exps.At, + cr.system_object.prototype.exps.loopindex, + cr.plugins_.Spritefont2.prototype.cnds.CompareInstanceVar, + cr.plugins_.Spritefont2.prototype.acts.SetPos, + cr.plugins_.Sprite.prototype.exps.X, + cr.plugins_.Sprite.prototype.exps.Y, + cr.plugins_.Spritefont2.prototype.acts.SetText, + cr.plugins_.Sprite.prototype.cnds.OnCreated, + cr.system_object.prototype.acts.Wait, + cr.behaviors.lunarray_LiteTween.prototype.acts.Start, + cr.plugins_.Function.prototype.cnds.OnFunction, + cr.plugins_.Browser.prototype.acts.ConsoleLog, + cr.system_object.prototype.acts.ResetGlobals, + cr.system_object.prototype.acts.RestartLayout, + cr.system_object.prototype.acts.SetVar, + cr.plugins_.Function.prototype.exps.Param, + cr.plugins_.Touch.prototype.cnds.IsTouchingObject, + cr.plugins_.Sprite.prototype.acts.SetScale, + cr.plugins_.Touch.prototype.cnds.OnTouchEnd, + cr.system_object.prototype.cnds.LayerVisible, + cr.system_object.prototype.acts.GoToLayout, + cr.system_object.prototype.acts.SetLayerVisible, + cr.system_object.prototype.cnds.Compare, + cr.system_object.prototype.exps.tokencount, + cr.system_object.prototype.acts.AddVar, + cr.plugins_.Sprite.prototype.cnds.CompareInstanceVar, + cr.plugins_.Sprite.prototype.cnds.PickTopBottom, + cr.plugins_.Sprite.prototype.exps.AnimationFrame, + cr.plugins_.Dictionary.prototype.acts.AddKey, + cr.plugins_.Function.prototype.acts.CallFunction, + cr.system_object.prototype.cnds.CompareVar, + cr.plugins_.Sprite.prototype.cnds.IsVisible, + cr.system_object.prototype.acts.SubVar, + cr.system_object.prototype.exps.str, + cr.plugins_.Sprite.prototype.acts.SetInstanceVar, + cr.plugins_.Sprite.prototype.acts.SetOpacity, + cr.plugins_.Sprite.prototype.acts.MoveToBottom, + cr.plugins_.Dictionary.prototype.cnds.HasKey, + cr.plugins_.Dictionary.prototype.exps.Get, + cr.system_object.prototype.cnds.LayerCmpOpacity, + cr.system_object.prototype.exps.layoutname, + cr.plugins_.Rex_TimeAwayL.prototype.acts.StartTimer, + cr.plugins_.Sprite.prototype.cnds.IsOnLayer, + cr.plugins_.Browser.prototype.acts.GoToURLWindow, + cr.plugins_.LocalStorage.prototype.acts.CheckItemExists, + cr.system_object.prototype.acts.CreateObject, + cr.system_object.prototype.exps.layoutwidth, + cr.behaviors.lunarray_LiteTween.prototype.acts.Stop, + cr.plugins_.Sprite.prototype.acts.SetAngle, + cr.plugins_.Sprite.prototype.acts.SetVisible, + cr.plugins_.Sprite.prototype.acts.SetMirrored, + cr.plugins_.Sprite.prototype.acts.SetAnimFrame, + cr.plugins_.Sprite.prototype.cnds.CompareOpacity, + cr.system_object.prototype.cnds.TriggerOnce, + cr.system_object.prototype.cnds.ForEach, + cr.system_object.prototype.exps.find, + cr.plugins_.Sprite.prototype.acts.MoveToTop, + cr.plugins_.Sprite.prototype.exps.Angle, + cr.plugins_.Sprite.prototype.acts.SetPos, + cr.plugins_.Sprite.prototype.exps.ImagePointX, + cr.plugins_.Sprite.prototype.exps.ImagePointY, + cr.plugins_.Sprite.prototype.cnds.IsOverlapping, + cr.plugins_.Sprite.prototype.acts.MoveToLayer, + cr.plugins_.Spritefont2.prototype.acts.MoveToLayer, + cr.system_object.prototype.exps.uppercase, + cr.system_object.prototype.exps.tokenat, + cr.system_object.prototype.exps["int"], + cr.system_object.prototype.cnds.Else, + cr.system_object.prototype.cnds.EveryTick, + cr.system_object.prototype.exps.zeropad, + cr.plugins_.Rex_TimeAwayL.prototype.acts.GetTimer, + cr.system_object.prototype.exps.floor, + cr.plugins_.Rex_TimeAwayL.prototype.exps.ElapsedTime, + cr.plugins_.Rex_TimeAwayL.prototype.cnds.OnGetTimer, + cr.plugins_.Rex_TimeAwayL.prototype.cnds.IsValid, + cr.plugins_.Sprite.prototype.acts.Destroy, + cr.system_object.prototype.exps.random, + cr.system_object.prototype.exps.layoutheight, + cr.plugins_.Spritefont2.prototype.acts.SetOpacity, + cr.plugins_.Sprite.prototype.cnds.OnDestroyed, + cr.system_object.prototype.acts.SetLayerOpacity, + cr.system_object.prototype.exps.layeropacity, + cr.plugins_.Sprite.prototype.cnds.CompareFrame, + cr.plugins_.Function.prototype.cnds.CompareParam, + cr.plugins_.Audio.prototype.acts.Play, + cr.plugins_.Touch.prototype.cnds.OnTouchObject, + cr.plugins_.IDNet.prototype.cnds.menuVisible, + cr.plugins_.IDNet.prototype.acts.ShowLeaderBoard, + cr.plugins_.Sprite.prototype.acts.SetPosToObject, + cr.plugins_.Sprite.prototype.exps.Opacity, + cr.system_object.prototype.exps.choose, + cr.plugins_.Sprite.prototype.acts.SetSize, + cr.behaviors.lunarray_LiteTween.prototype.acts.SetTarget, + cr.behaviors.Pin.prototype.acts.Pin, + cr.plugins_.Sprite.prototype.acts.SetAnim, + cr.plugins_.Spritefont2.prototype.acts.SetEffectParam, + cr.plugins_.Sprite.prototype.acts.SetEffectParam, + cr.behaviors.lunarray_LiteTween.prototype.cnds.CompareProgress, + cr.behaviors.lunarray_LiteTween.prototype.acts.SetDuration, + cr.behaviors.Sin.prototype.cnds.IsActive, + cr.behaviors.Sin.prototype.acts.SetActive, + cr.behaviors.Sin.prototype.acts.SetMagnitude, + cr.system_object.prototype.exps.max, + cr.behaviors.Sin.prototype.acts.SetPeriod, + cr.plugins_.Sprite.prototype.exps.UID, + cr.plugins_.Sprite.prototype.cnds.IsOnScreen, + cr.plugins_.Sprite.prototype.cnds.PickByUID, + cr.behaviors.Bullet.prototype.acts.SetEnabled, + cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, + cr.plugins_.Sprite.prototype.cnds.OnCollision, + cr.behaviors.Pin.prototype.acts.Unpin, + cr.plugins_.Sprite.prototype.acts.MoveAtAngle, + cr.behaviors.Bullet.prototype.acts.SetSpeed, + cr.plugins_.Sprite.prototype.cnds.IsOutsideLayout, + cr.behaviors.Bullet.prototype.acts.SetGravity, + cr.plugins_.Sprite.prototype.cnds.IsAnimPlaying, + cr.behaviors.Pin.prototype.cnds.IsPinned, + cr.plugins_.SpriteFontPlus.prototype.acts.SetText, + cr.system_object.prototype.exps.round, + cr.system_object.prototype.exps.loadingprogress, + cr.system_object.prototype.cnds.OnLoadFinished, + cr.plugins_.Touch.prototype.cnds.OnTouchStart, + cr.plugins_.IDNet.prototype.cnds.blacklisted, + cr.plugins_.Text.prototype.acts.SetText, + cr.plugins_.Mouse.prototype.cnds.OnClick, + cr.plugins_.Arr.prototype.cnds.CompareX, + cr.plugins_.cjs.prototype.acts.ExecuteJS, + cr.plugins_.Arr.prototype.acts.SetX, + cr.plugins_.Audio.prototype.acts.SetSilent, + cr.system_object.prototype.cnds.Every, + cr.plugins_.Browser.prototype.exps.ExecJS, + cr.plugins_.Audio.prototype.cnds.IsSilent, + cr.plugins_.Sprite.prototype.acts.StopAnim, + cr.plugins_.IDNet.prototype.cnds.isNotAuthorized, + cr.plugins_.IDNet.prototype.acts.Inititalize, + cr.plugins_.Touch.prototype.cnds.OnTapGestureObject, + cr.plugins_.IDNet.prototype.cnds.sponsored, + cr.plugins_.Browser.prototype.acts.CancelFullScreen, + cr.plugins_.Browser.prototype.exps.Domain, + cr.plugins_.Mouse.prototype.cnds.IsOverObject, + cr.plugins_.Mouse.prototype.acts.SetCursor, + cr.plugins_.SpriteFontPlus.prototype.acts.SetVisible, + cr.plugins_.IDNet.prototype.cnds.UserIsNotAuthorized, + cr.plugins_.IDNet.prototype.cnds.UserIsAuthorized, + cr.plugins_.IDNet.prototype.cnds.isAuthorized, + cr.plugins_.IDNet.prototype.exps.UserName, + cr.plugins_.IDNet.prototype.acts.OnlineSavesLoad, + cr.plugins_.IDNet.prototype.exps.GateOnlineSavesData, + cr.plugins_.IDNet.prototype.acts.LoginPopup, + cr.plugins_.IDNet.prototype.cnds.dataReady, + cr.plugins_.Dictionary.prototype.acts.JSONLoad, + cr.plugins_.LocalStorage.prototype.cnds.OnItemExists, + cr.plugins_.LocalStorage.prototype.exps.ItemValue, + cr.plugins_.LocalStorage.prototype.cnds.OnItemMissing, + cr.plugins_.LocalStorage.prototype.acts.SetItem, + cr.plugins_.Dictionary.prototype.exps.AsJSON, + cr.plugins_.IDNet.prototype.acts.OnlineSavesSave, + cr.plugins_.LocalStorage.prototype.acts.ClearStorage, + cr.plugins_.IDNet.prototype.acts.OnlineSavesRemove, + cr.plugins_.Dictionary.prototype.acts.Clear, + cr.plugins_.IDNet.prototype.acts.SubmitScore +];}; diff --git a/games/knifehit/data.js b/games/knifehit/data.js new file mode 100644 index 00000000..c91343f9 --- /dev/null +++ b/games/knifehit/data.js @@ -0,0 +1 @@ +{"project": [null,"Loading",[[0,true,false,false,false,false,false,false,false,false],[1,true,false,false,false,false,false,false,false,false],[2,true,false,false,false,false,false,false,false,false],[3,false,false,false,false,false,false,false,false,false],[4,false,false,false,false,false,false,false,false,false],[5,true,false,false,false,false,false,false,false,false],[6,true,false,false,false,false,false,false,false,false],[7,false,false,false,false,false,false,false,false,false],[8,false,false,false,false,false,false,false,false,false],[9,true,false,false,false,false,false,false,false,false],[10,true,false,false,false,false,false,false,false,false],[11,false,true,true,true,true,true,true,true,false],[12,false,true,true,true,true,true,true,true,true],[13,false,true,true,true,true,true,true,true,true],[14,false,true,true,true,true,true,true,true,false],[15,true,false,false,false,false,false,false,false,false]],[["t0",11,false,[431166139140275],0,0,null,[["Default",5,false,1,0,false,836377869511150,[["images/btnfb-sheet0.png",2047,0,0,120,112,1,0.5,0.5089285969734192,[],[],0]]]],[],false,false,209202126811869,[],null],["t1",11,false,[431166139140275],0,0,null,[["Default",5,false,1,0,false,667691559251160,[["images/btngift-sheet0.png",4571,0,0,114,107,1,0.5,0.5046728849411011,[],[],0]]]],[],false,false,692104268120020,[],null],["t2",11,false,[431166139140275],0,0,null,[["Default",5,false,1,0,false,403559938352157,[["images/btnknife-sheet0.png",12183,0,0,148,132,1,0.5067567825317383,0.5075757503509522,[],[],0]]]],[],false,false,153621551187557,[],null],["t3",11,false,[431166139140275],0,0,null,[["Default",5,false,1,0,false,228812989295725,[["images/btnstar-sheet0.png",4923,0,0,117,114,1,0.504273533821106,0.5087719559669495,[],[],0]]]],[],false,false,417192575762115,[],null],["t4",11,false,[431166139140275],0,0,null,[["Default",5,false,1,0,false,440638335021415,[["images/btnplay-sheet0.png",34588,0,0,372,161,1,0.5,0.5031055808067322,[],[],0]]]],[],false,false,120531639497017,[],null],["t5",11,false,[431166139140275],0,0,null,[["Default",5,false,1,0,false,873319324548741,[["images/btnsettings-sheet0.png",1494,0,0,67,67,1,0.5074626803398132,0.5074626803398132,[],[-0.3582086861133575,-0.3582086861133575,-0.01492568850517273,-0.5074626803398132,0.3432832956314087,-0.3582086861133575,0.4925373196601868,-0.01492568850517273,0.3432832956314087,0.3432832956314087,-0.01492568850517273,0.4925373196601868,-0.3582086861133575,0.3432832956314087,-0.5074626803398132,-0.01492568850517273],0]]]],[],false,false,275837703593430,[],null],["t6",11,false,[431166139140275],0,0,null,[["Default",5,false,1,0,false,594965123351672,[["images/btnsetting-sheet0.png",9605,0,0,125,125,1,0.5040000081062317,0.5040000081062317,[],[-0.3373330235481262,-0.3373330235481262,-0.00400000810623169,-0.4895071983337402,0.3365799784660339,-0.3445799946784973,0.4742609858512878,-0.00400000810623169,0.3293330073356628,0.3293330073356628,-0.00400000810623169,0.4525219798088074,-0.3300870060920715,0.3220869898796082,-0.4822609126567841,-0.00400000810623169],0]]]],[],false,false,922101910873832,[],null],["t7",11,false,[],0,0,null,[["Default",5,false,1,0,false,607933404394498,[["images/btnclose-sheet0.png",5976,0,0,101,103,1,0.5049505233764648,0.5048543810844421,[],[],0]]]],[],false,false,917019699575654,[],null],["t8",11,false,[],0,0,null,[["Default",5,false,1,0,false,860741475846068,[["images/btnequip-sheet0.png",19287,0,0,243,105,1,0.5020576119422913,0.5047619342803955,[],[],0]]]],[],false,false,500528901373335,[],null],["t9",11,false,[],0,0,null,[["Default",5,false,1,0,false,218100361907682,[["images/btnrestart-sheet0.png",31426,0,0,313,135,1,0.5015974640846252,0.5037037134170532,[],[],0]]]],[],false,false,698184626980486,[],null],["t10",11,false,[],0,0,null,[["Default",5,false,1,0,false,126370376002175,[["images/btnhome-sheet0.png",4128,0,0,160,36,1,0.5,0.5,[],[],0]]]],[],false,false,818112420051085,[],null],["t11",11,false,[736012786201548,616038726640090],0,0,null,[["Default",5,false,1,0,false,616022793801297,[["images/btnequip2-sheet0.png",5563,0,0,112,48,1,0.5,0.5,[],[],0]]]],[],false,false,839996753166983,[],null],["t12",11,false,[431166139140275],0,0,null,[["Default",5,false,1,0,false,557017980936240,[["images/title1-sheet0.png",38781,0,0,214,611,1,0.5,0.5008183121681213,[],[0.196262001991272,-0.394435316324234,0.3271030187606812,0.438625693321228,0,0.456628680229187,-0.33644899725914,0.4418987035751343,-0.33644899725914,-0.4435352087020874,0,-0.4762684106826782],0]]]],[],false,false,590936227142283,[],null],["t13",11,false,[431166139140275],0,0,null,[["Default",5,false,1,0,false,441789490855397,[["images/title2-sheet0.png",13597,0,0,184,384,1,0.5,0.5,[],[0.1959599852561951,-0.3928529918193817,0.3266000151634216,0.4385910034179688,0,0.4565590023994446,-0.3359310030937195,0.4418579936027527,-0.3359310030937195,-0.4418573975563049,0,-0.4745270907878876],0]]]],[],false,false,986301449517699,[],null],["t14",11,false,[431166139140275],0,0,null,[["Default",0,false,1,0,false,731617339970907,[["images/title3-sheet0.png",9085,0,0,80,571,1,0.5,0.5008756518363953,[],[0.1931599974632263,-0.3944026529788971,0.3219339847564697,0.4384673237800598,0,0.4564653635025024,-0.3311319947242737,0.4417393207550049,-0.3311319947242737,-0.4434906542301178,0,-0.4762163460254669],0]]]],[],false,false,936630381795904,[],null],["t15",11,false,[431166139140275],0,0,null,[["Default",5,false,1,0,false,400855678350603,[["images/menuapple-sheet0.png",3976,0,0,55,69,1,0.5090909004211426,0.5072463750839233,[],[-0.09090891480445862,-0.1739133894443512,-0.01818189024925232,-0.3188403844833374,0.2545450925827026,-0.3188403844833374,0.4545450806617737,-0.01449236273765564,0.3090910911560059,0.3478256464004517,-0.01818189024925232,0.4347826242446899,-0.327272891998291,0.3478256464004517,-0.4909090995788574,-0.01449236273765564],0]]]],[],false,false,753486293987813,[],null],["t16",11,false,[431166139140275],0,0,null,[["Default",5,false,1,0,false,751850628797448,[["images/menuknife-sheet0.png",5743,0,0,47,219,1,0.5106382966041565,0.5022830963134766,[],[-0.1276592910289764,-0.4200913012027741,-0.02127629518508911,-0.456620991230011,0.2127656936645508,-0.4429223835468292,0.3191487193107605,-0.004566103219985962,0.1914896965026856,0.4337899088859558,-0.02127629518508911,0.4977169036865234,-0.1914893090724945,0.429223895072937,-0.3191493153572083,-0.004566103219985962],0]]]],[],false,false,223486249496583,[],null],["t17",11,false,[431166139140275],0,0,null,[["Default",5,false,1,0,false,639856725663192,[["images/square-sheet0.png",94,0,0,50,50,1,0.5,0.5,[],[],4]]]],[],false,false,975027421661722,[],null],["t18",11,false,[],0,0,null,[["Default",5,false,1,0,false,189372914711360,[["images/background-sheet0.png",191062,0,0,900,1350,1,0.5,0.5,[],[],1]]]],[],false,true,136932058168353,[],null],["t19",11,false,[431166139140275],0,0,null,[["Default",5,false,1,0,false,168548034301566,[["images/sprite-sheet0.png",93,0,0,20,20,1,0.5,0.5,[],[],1]]]],[],false,false,831286221768599,[],null],["t20",11,false,[],1,1,null,[["Default",5,false,1,0,false,366227422757136,[["images/twoknives-sheet0.png",1469,0,0,200,200,1,0.5049999952316284,0.5049999952316284,[],[-0.5,-0.449999988079071,0.4950000047683716,-0.449999988079071,0.4950000047683716,0.4449999928474426,-0.5,0.4449999928474426],0]]]],[["LiteTween",16,499654839447603]],false,false,239859068064907,[["setcolor","SetColor"]],null],["t21",11,false,[],0,0,null,[["Default",5,false,1,0,false,132324482506313,[["images/equipbox-sheet0.png",2110,0,0,583,681,1,0.5008576512336731,0.5007342100143433,[],[-0.1743566393852234,0.01132076978683472,-0.0008576512336730957,-0.2688172161579132,0.2443843483924866,-0.1011932194232941,0.2443843483924866,0.09972476959228516,-0.0008576512336730957,0.4992657899856567,-0.1743566393852234,-0.01278921961784363],0]]]],[],false,false,683006986418961,[],null],["t22",11,false,[821709175745471,623385623978381,992460837666681,913624580085849,479242593911568],0,0,null,[["Default",0,false,1,0,false,214578494200268,[["images/knifeback-sheet0.png",394,1,1,100,100,1,0.5,0.5,[],[],0],["images/knifeback-sheet0.png",394,103,1,100,100,1,0.5,0.5,[],[],0]]],["simple",0,false,1,0,false,322922527588873,[["images/knifeback-sheet0.png",394,1,103,100,100,1,0.5,0.5,[],[],0],["images/knifeback-sheet0.png",394,103,103,100,100,1,0.5,0.5,[],[],0]]]],[],false,false,127000747198960,[],null],["t23",11,false,[],0,0,null,[["Default",5,false,1,0,false,268584135787345,[["images/newbest-sheet0.png",34001,0,0,426,199,1,0.5,0.5025125741958618,[],[-0.3873240053653717,-0.2613065838813782,0.4929580092430115,-0.4874371886253357,0.4483569860458374,-0.005025565624237061,0.3990610241889954,0.2814074158668518,0,0.3819094300270081,-0.4906103312969208,0.4773873686790466,-0.4413146078586578,-0.005025565624237061],0]]]],[],false,false,663890693567701,[],null],["t24",11,false,[],0,0,null,[["Default",5,false,1,0,false,990848316555220,[["images/scoreback-sheet0.png",69619,0,0,619,363,1,0.5008077621459961,0.5013774037361145,[],[-0.4426494538784027,-0.4022037982940674,0.4555732607841492,-0.4269972145557404,0.4329562187194824,0.3856745958328247,-0.4474959671497345,0.4077135920524597],0]]]],[],false,false,541072800967072,[],null],["t25",11,false,[873965433483800,779858400756190],0,0,null,[["Default",5,false,1,0,false,244945681566693,[["images/shine-sheet0.png",4906,0,0,186,253,1,0,0.7114624381065369,[],[0.5968189835548401,-0.4761984348297119,0.656682014465332,-0.5096404552459717,0.618369996547699,0.0970955491065979],0]]]],[],false,false,982988734059503,[],null],["t26",11,false,[746631543757030,634735678705796],0,0,null,[["Default",0,false,1,0,false,141899677372220,[["images/knifeborder-sheet0.png",157,0,0,100,100,1,0.5,0.5,[],[],0],["images/knifeborder-sheet1.png",157,0,0,100,100,1,0.5,0.5,[],[],0]]]],[],false,false,288323040335334,[],null],["t27",13,false,[426656415837208],0,0,["images/txtwhite.png",30833,0],null,[],false,false,776183023478076,[],null],["t28",13,false,[191704805214722],0,1,["images/txtorange.png",36109,0],null,[],false,false,112695626368738,[["setcolor","SetColor"]],null],["t29",4,false,[],0,0,null,null,[],true,false,694543781884856,[],null],["t30",4,false,[],0,0,null,null,[],true,false,148330866279437,[],null],["t31",13,false,[967362685564206],0,0,["images/txtyellow.png",30833,0],null,[],false,false,239232006531755,[],null],["t32",15,false,[],0,0,null,null,[],false,false,621548439010877,[],null,[1]],["t33",9,false,[],0,0,null,null,[],false,false,908569386742827,[],null,[]],["t34",1,false,[],0,0,null,null,[],false,false,182366735889023,[],null,[]],["t35",6,false,[],0,0,null,null,[],false,false,826576673464381,[],null,[0,0,0,1,1,600,600,10000,1]],["t36",3,false,[],0,0,null,null,[],true,false,587812338852861,[],null],["t37",10,false,[],0,0,null,null,[],false,false,922719032656167,[],null,[]],["t38",5,false,[],0,0,null,null,[],false,false,981084438285371,[],null,[]],["t39",11,false,[588206941839877,491960460608869,191831116064887],3,0,null,[["Default",5,false,1,0,false,634966353649747,[["images/circle-sheet2.png",9615,0,0,446,445,1,0.5,0.5011236071586609,[],[-0.3520179986953735,-0.3528085947036743,0,-0.4966292381286621,0.3520179986953735,-0.3528085947036743,0.4955160021781921,-0.002247601747512817,0.3520179986953735,0.3505613803863525,0,0.4966294169425964,-0.3520179986953735,0.3505613803863525,-0.4955157041549683,-0.002247601747512817],0]]],["Boss",0,false,1,0,false,222890915517905,[["images/circle-sheet1.png",978924,1,603,450,450,1,0.5,0.5,[],[-0.3466669917106628,-0.3388859927654266,0,-0.4844444096088409,0.3466669917106628,-0.3388859927654266,0.4822220206260681,2.497434616088867e-005,0.3444439768791199,0.3367639780044556,0,0.4844939708709717,-0.3444440066814423,0.3367639780044556,-0.4822221994400024,2.497434616088867e-005],0],["images/circle-sheet1.png",978924,453,603,450,450,1,0.5022222399711609,0.5,[],[-0.3469822406768799,-0.3373299837112427,-0.001111268997192383,-0.4822221994400024,0.3447607755661011,-0.3373299837112427,0.4800047874450684,2.998113632202148e-005,0.3425437808036804,0.3352270126342773,-0.001111268997192383,0.4822819828987122,-0.3447652459144592,0.3352270126342773,-0.4822273254394531,2.998113632202148e-005],0],["images/circle-sheet1.png",978924,905,603,450,450,1,0.5,0.5,[],[-0.3466669917106628,-0.3389289975166321,0,-0.4844940006732941,0.3466669917106628,-0.3389289975166321,0.4822220206260681,0,0.3444439768791199,0.3367559909820557,0,0.4844939708709717,-0.3444440066814423,0.3367559909820557,-0.4822221994400024,0],0],["images/circle-sheet1.png",978924,1357,603,450,450,1,0.5,0.5,[],[-0.3466669917106628,-0.3373299837112427,0,-0.4822221994400024,0.3466669917106628,-0.3373299837112427,0.4822220206260681,2.998113632202148e-005,0.3444439768791199,0.3352270126342773,0,0.4822819828987122,-0.3444440066814423,0.3352270126342773,-0.4822221994400024,2.998113632202148e-005],0],["images/circle-sheet1.png",978924,1,1055,450,450,1,0.5,0.5022222399711609,[],[-0.3466669917106628,-0.3392272591590881,0,-0.4844444394111633,0.3466669917106628,-0.3392272591590881,0.4822220206260681,-0.001111268997192383,0.3444439768791199,0.3348377346992493,0,0.482221782207489,-0.3444440066814423,0.3348377346992493,-0.4822221994400024,-0.001111268997192383],0],["images/circle-sheet1.png",978924,453,1055,450,450,1,0.5022222399711609,0.5022222399711609,[],[-0.3466662466526032,-0.336222231388092,-2.384185791015625e-007,-0.4801481366157532,0.3466667532920837,-0.336222231388092,0.482221782207489,-0.001111268997192383,0.344444751739502,0.3318517804145813,-2.384185791015625e-007,0.4779257774353027,-0.3444442451000214,0.3318517804145813,-0.4822222292423248,-0.001111268997192383],0],["images/circle-sheet1.png",978924,905,1055,450,450,1,0.5,0.504444420337677,[],[-0.3438130021095276,-0.3511114120483398,-0.001085996627807617,-0.4866666197776794,0.3416410088539124,-0.3511114120483398,0.4756569862365723,-0.004444420337677002,0.3394439816474915,0.3399995565414429,-0.001085996627807617,0.4799996018409729,-0.3416160047054291,0.3399995565414429,-0.4778282940387726,-0.004444420337677002],0],["images/circle-sheet1.png",978924,1357,1055,450,450,1,0.4622222185134888,0.5,[],[-0.3088892102241516,-0.3466669917106628,0.03777778148651123,-0.4955555498600006,0.3844447731971741,-0.3466669917106628,0.5199998021125794,0,0.3822217583656311,0.3444439768791199,0.03777778148651123,0.4955559968948364,-0.306666225194931,0.3444439768791199,-0.4444444179534912,0],0],["images/circle-sheet1.png",978924,1,1507,450,450,1,0.5,0.5022222399711609,[],[-0.3387809991836548,-0.3312592506408691,2.497434616088867e-005,-0.4735308289527893,0.3388310074806213,-0.3312592506408691,0.4713129997253418,-2.384185791015625e-007,0.3366590142250061,0.3291357755661011,2.497434616088867e-005,0.4735307693481445,-0.3366090059280396,0.3291357755661011,-0.4712623059749603,-2.384185791015625e-007],0],["images/circle-sheet1.png",978924,453,1507,450,450,1,0.5222222208976746,0.5133333206176758,[],[-0.3666662275791168,-0.3600003123283386,-0.02000021934509277,-0.5088889002799988,0.3266667723655701,-0.3600003123283386,0.4577777981758118,-0.01333332061767578,0.3244447708129883,0.3311106562614441,-0.02000021934509277,0.4822226762771606,-0.364444226026535,0.3311106562614441,-0.5,-0.01333332061767578],0],["images/circle-sheet1.png",978924,905,1507,450,450,1,0.5,0.5,[],[-0.3466669917106628,-0.3358809947967529,0,-0.4801383018493652,0.3466669917106628,-0.3358809947967529,0.4822220206260681,0,0.3444439768791199,0.333728015422821,0,0.4801380038261414,-0.3444440066814423,0.333728015422821,-0.4822221994400024,0],0],["images/circle-sheet1.png",978924,1357,1507,450,450,1,0.5,0.5,[],[-0.3466669917106628,-0.3466669917106628,0,-0.4955555498600006,0.3466669917106628,-0.3466669917106628,0.4822220206260681,0,0.3444439768791199,0.3444439768791199,0,0.4955559968948364,-0.3444440066814423,0.3444439768791199,-0.4822221994400024,0],0]]],["BossA",0,false,1,0,false,109844833715266,[["images/circle-sheet0.png",351351,1300,1215,600,600,1,0.5,0.5,[],[-0.4833332896232605,0.4983329772949219,0.4833329916000366,0.4983329772949219,0.4833329916000366,0.4983329772949219,0.4833329916000366,0.4983329772949219,0.4833329916000366,0.4983329772949219,0.4833329916000366,0.4983329772949219,-0.4833332896232605,0.4983329772949219,-0.4833332896232605,0.4983329772949219],0],["images/circle-sheet0.png",351351,1355,1,605,605,1,0.5008264183998108,0.5008264183998108,[],[-0.4743801057338715,0.1074385643005371,0.4859505891799927,-0.484297513961792,0.4859505891799927,0.4958676099777222,0.4859505891799927,0.4958676099777222,0.4859505891799927,0.4958676099777222,0.4859505891799927,0.4958676099777222,-0.4876033067703247,0.4958676099777222,-0.4876033067703247,0.4958676099777222],0],["images/circle-sheet0.png",351351,608,1270,600,600,1,6.316666603088379,1.763333320617676,[],[-6.296666622161865,-1.15833330154419,-5.699999809265137,-1.754999995231628,-5.334999561309815,-0.7666662931442261,-5.334999561309815,-0.7666662931442261,-5.334999561309815,-0.7666662931442261,-5.699999809265137,-0.7666662931442261,-6.296666622161865,-0.7666662931442261,-6.296666622161865,-0.7666662931442261],0],["images/circle-sheet0.png",351351,1,1300,600,600,1,0.5,0.5,[],[-0.4833332896232605,0.1949999928474426,-0.4833332896232605,-0.4016667008399963,0.1449999809265137,0.4966670274734497,0.3666669726371765,0.4966670274734497,-0.1066670119762421,0.4966670274734497,-0.4833332896232605,0.4966670274734497,-0.4833332896232605,0.4966670274734497,-0.4833332896232605,0.4966670274734497],0],["images/circle-sheet0.png",351351,1355,608,605,605,1,0.5008264183998108,0.5008264183998108,[],[-0.3719004392623901,-0.4975206255912781,0.4842975735664368,-0.4975206255912781,0.4842975735664368,-0.4975206255912781,0.4842975735664368,0.03966957330703735,0.4842975735664368,0.370248556137085,0.4842975735664368,0.4942145943641663,-0.4677686095237732,0.4942145943641663,-0.4809917211532593,0.03966957330703735],0],["images/circle-sheet1.png",978924,1,1,600,600,1,0.5,0.5,[],[-0.4799999892711639,-0.4950000047683716,0.1549999713897705,-0.4950000047683716,0.4816669821739197,-0.4950000047683716,0.4816669821739197,0.04666697978973389,0.4816669821739197,0.3799999952316284,0.1549999713897705,0.4950000047683716,-0.4799999892711639,0.4950000047683716,-0.4799999892711639,0.04666697978973389],0],["images/circle-sheet1.png",978924,603,1,600,600,1,0.5,0.5,[],[-0.4833332896232605,-0.4950000047683716,-0.4833332896232605,-0.4950000047683716,0.2366669774055481,-0.425000011920929,0.4583330154418945,0.1600000262260437,-0.01499998569488525,0.4933339953422546,-0.4833332896232605,0.4966670274734497,-0.4833332896232605,0.4966670274734497,-0.4833332896232605,0.1600000262260437],0],["images/circle-sheet1.png",978924,1205,1,600,600,1,0.5,0.5,[],[-0.3766669929027557,-0.4816667139530182,0.488332986831665,-0.4816667139530182,0.488332986831665,-0.4816667139530182,0.488332986831665,-0.4816667139530182,0.488332986831665,-0.4816667139530182,0.488332986831665,0.4833329916000366,-0.4733332991600037,0.04666697978973389,-0.4866667091846466,-0.4816667139530182],0],["images/circle-sheet0.png",351351,693,663,605,605,1,0.5008264183998108,0.5008264183998108,[],[-0.484297513961792,-0.4991735219955444,0.2099176049232483,-0.4991735219955444,0.4809916019439697,-0.4991735219955444,0.4809916019439697,-0.4991735219955444,0.4809916019439697,-0.4991735219955444,0.2099176049232483,0.4975205659866333,-0.484297513961792,0.06611555814743042,-0.484297513961792,-0.4991735219955444],0],["images/circle-sheet0.png",351351,693,1,660,660,1,0.4621212184429169,0.5,[],[-0.4454545080661774,-0.4939393997192383,-0.4454545080661774,-0.4939393997192383,0.2121208012104034,-0.4939393997192383,0.4136367738246918,-0.4939393997192383,-0.0166662335395813,-0.4939393997192383,-0.4454545080661774,0.4954550266265869,-0.4454545080661774,0.02424198389053345,-0.4454545080661774,-0.4939393997192383],0],["images/circle-sheet0.png",351351,1,693,605,605,1,0.5206611752510071,0.5123966932296753,[],[-0.3851241767406464,-0.5074380040168762,0.4561988115310669,-0.5074380040168762,0.4561988115310669,-0.5074380040168762,0.4561988115310669,-0.5074380040168762,0.4561988115310669,-0.5074380040168762,0.4561988115310669,0.4545453190803528,-0.4809917807579041,-0.5074380040168762,-0.4942148625850678,-0.5074380040168762],0],["images/circle-sheet0.png",351351,1,1,690,690,1,0.5,0.5,[],[-0.4855071902275085,-0.4985507130622864,0.1681159734725952,-0.4985507130622864,0.4855070114135742,-0.4985507130622864,0.4855070114135742,-0.4985507130622864,0.4855070114135742,-0.4985507130622864,0.1681159734725952,0.4739130139350891,-0.4855071902275085,-0.4985507130622864,-0.4855071902275085,-0.4985507130622864],0]]]],[["LiteTween",16,931985477072403],["Sine",17,294080738461626],["L_Create",16,681735708507858]],false,false,806619963876556,[],null],["t40",11,false,[133865536363336,657396939119698,592724106414494,872627611653037,260101219720865],0,0,null,[["Default",0,false,1,0,false,915082415254570,[["images/knife-sheet1.png",91966,693,1,131,617,1,0.5038167834281921,0,[["Imagepoint 1",0.5038167834281921,0.5008103847503662]],[-0.2824427783489227,0.1880059987306595,-0.06488579511642456,0.07293359935283661,0.2061071991920471,0.006482980214059353,0.2977102398872376,1,-0.3206107616424561,1],0],["images/knife-sheet2.png",93014,1,1,127,613,1,0.5039370059967041,0,[["Imagepoint 1",0.5039370059967041,0.5008156895637512]],[-0.3837230205535889,0.3197390139102936,-0.02572602033615112,0.009787970222532749,0.3997119665145874,0.3539969921112061,0.1716060042381287,1,-0.2419910132884979,1],0],["images/knife-sheet1.png",91966,826,1,127,621,1,0.5039370059967041,0,[["Imagepoint 1",0.5039370059967041,0.500805139541626]],[-0.320730984210968,0,0.3128569722175598,0,0.2975900173187256,1,-0.320730984210968,1],0],["images/knife-sheet2.png",93014,757,1,83,622,1,0.5060241222381592,0,[["Imagepoint 1",0.5060241222381592,0.5]],[-0.3228181004524231,0,0.3107698559761047,0,0.2955029010772705,1,-0.3228181004524231,1],0],["images/knife-sheet2.png",93014,669,1,86,608,1,0.5,0,[["Imagepoint 1",0.5,0.5]],[-0.3167939782142639,0,0.3167939782142639,0,0.3015270233154297,1,-0.3167939782142639,1],0],["images/knife-sheet1.png",91966,1,1,137,672,1,0.5036496520042419,0,[["Imagepoint 1",0.5036496520042419,0.5]],[-0.3204436302185059,0,0.313144326210022,0,0.2978773713111877,1,-0.3204436302185059,1],0],["images/knife-sheet2.png",93014,487,1,92,618,1,0.5,0,[["Imagepoint 1",0.5,0.5]],[-0.3167939782142639,0,0.3167939782142639,0,0.3015270233154297,1,-0.3167939782142639,1],0],["images/knife-sheet0.png",70499,1,1,210,659,1,0.5,0,[["Imagepoint 1",0.5,0.500758707523346]],[-0.3167939782142639,0,0.3167939782142639,0,0.3015270233154297,1,-0.3167939782142639,1],0],["images/knife-sheet1.png",91966,277,1,145,622,1,0.5034482479095459,0,[["Imagepoint 1",0.5034482479095459,0.5]],[-0.3202422261238098,0,0.313345730304718,0,0.2980787754058838,1,-0.3202422261238098,1],0],["images/knife-sheet0.png",70499,416,1,181,649,1,0.5027624368667603,0,[["Imagepoint 1",0.5027624368667603,0.5007703900337219]],[-0.153810441493988,0.1063169986009598,-0.01933643221855164,0.01848999969661236,0.1261865496635437,0.09861329942941666,0.1993165612220764,1,-0.2201094329357147,1],0],["images/knife-sheet1.png",91966,140,1,135,668,1,0.5037037134170532,0,[["Imagepoint 1",0.5037037134170532,0.5]],[-0.2316087186336517,0.164671003818512,-0.003703713417053223,0.008982020430266857,0.1945722699165344,0.1766469925642014,0.2978233098983765,1,-0.3204976916313171,1],0],["images/knife-sheet0.png",70499,213,1,201,660,1,0.5024875402450562,0,[["Imagepoint 1",0.5024875402450562,0.5]],[-0.3192815184593201,0,0.3143064379692078,0,0.2990394830703735,1,-0.3192815184593201,1],0],["images/knife-sheet2.png",93014,581,1,86,609,1,0.5,0,[["Imagepoint 1",0.5,0.5008209943771362]],[-0.3167939782142639,0,0.3167939782142639,0,0.3015270233154297,1,-0.3167939782142639,1],0],["images/knife-sheet1.png",91966,424,1,138,625,1,0.5,0,[["Imagepoint 1",0.5,0.5008000135421753]],[-0.3167939782142639,0,0.3167939782142639,0,0.3015270233154297,1,-0.3167939782142639,1],0],["images/knife-sheet0.png",70499,599,1,166,593,1,0.5,0,[["Imagepoint 1",0.5,0.5008431673049927]],[-0.3167939782142639,0,0.3167939782142639,0,0.3015270233154297,1,-0.3167939782142639,1],0],["images/knife-sheet2.png",93014,130,1,124,620,1,0.5,0,[["Imagepoint 1",0.5,0.5]],[-0.3167939782142639,0,0.3167939782142639,0,0.3015270233154297,1,-0.3167939782142639,1],0],["images/knife-sheet0.png",70499,917,1,90,632,1,0.3888888955116272,0,[["Imagepoint 1",0.5,0.5]],[-0.2056828886270523,0,0.4279050827026367,0,0.4126381278038025,1,-0.2056828886270523,1],0],["images/knife-sheet2.png",93014,256,1,114,630,1,0.5,0,[["Imagepoint 1",0.5,0.5]],[-0.3167939782142639,0,0.3167939782142639,0,0.3015270233154297,1,-0.3167939782142639,1],0],["images/knife-sheet0.png",70499,767,1,148,643,1,0.5,0,[["Imagepoint 1",0.5,0.5007776021957398]],[-0.3167939782142639,0,0.3167939782142639,0,0.3015270233154297,1,-0.3167939782142639,1],0],["images/knife-sheet1.png",91966,564,1,127,642,1,0.5039370059967041,0,[["Imagepoint 1",0.5039370059967041,0.5]],[-0.320730984210968,0,0.3128569722175598,0,0.2975900173187256,1,-0.320730984210968,1],0],["images/knife-sheet2.png",93014,372,1,113,604,1,0.5044247508049011,0,[["Imagepoint 1",0.5044247508049011,0.5]],[-0.321218729019165,0,0.3123692274093628,0,0.2971022725105286,1,-0.321218729019165,1],0]]],["m",0,false,1,0,false,919045808725694,[["images/knife-sheet1.png",91966,693,1,131,617,1,0.5038167834281921,-0.5024310946464539,[],[-0.3206107616424561,0.5024310946464539,0.3129771947860718,0.5024310946464539,0.2977102398872376,1.502431154251099,-0.3206107616424561,1.502431154251099],0],["images/knife-sheet2.png",93014,1,1,127,613,1,0.5039370059967041,-0.5024470090866089,[],[-0.320730984210968,0.5024470090866089,0.3128569722175598,0.5024470090866089,0.2975900173187256,1.502447009086609,-0.320730984210968,1.502447009086609],0],["images/knife-sheet1.png",91966,826,1,127,621,1,0.5039370059967041,-0.5024154782295227,[],[-0.320730984210968,0.5024154782295227,0.3128569722175598,0.5024154782295227,0.2975900173187256,1.502415418624878,-0.320730984210968,1.502415418624878],0],["images/knife-sheet2.png",93014,757,1,83,622,1,0.5060241222381592,-0.5032154321670532,[],[-0.3228181004524231,0.5032154321670532,0.3107698559761047,0.5032154321670532,0.2955029010772705,1.503215432167053,-0.3228181004524231,1.503215432167053],0],["images/knife-sheet2.png",93014,669,1,86,608,1,0.5,-0.5016447305679321,[],[-0.3167939782142639,0.5016447305679321,0.3167939782142639,0.5016447305679321,0.3015270233154297,1.501644730567932,-0.3167939782142639,1.501644730567932],0],["images/knife-sheet1.png",91966,1,1,137,672,1,0.5036496520042419,-0.5029761791229248,[],[-0.3204436302185059,0.5029761791229248,0.313144326210022,0.5029761791229248,0.2978773713111877,1.502976179122925,-0.3204436302185059,1.502976179122925],0],["images/knife-sheet2.png",93014,487,1,92,618,1,0.5,-0.5032362341880798,[],[-0.3167939782142639,0.5032362341880798,0.3167939782142639,0.5032362341880798,0.3015270233154297,1.503236293792725,-0.3167939782142639,1.503236293792725],0],["images/knife-sheet0.png",70499,1,1,210,659,1,0.5047619342803955,-0.5022761821746826,[],[-0.3215559124946594,0.5022761821746826,0.3120320439338684,0.5022761821746826,0.2967650890350342,1.502276182174683,-0.3215559124946594,1.502276182174683],0],["images/knife-sheet1.png",91966,277,1,145,622,1,0.5034482479095459,-0.5032154321670532,[],[-0.3202422261238098,0.5032154321670532,0.313345730304718,0.5032154321670532,0.2980787754058838,1.503215432167053,-0.3202422261238098,1.503215432167053],0],["images/knife-sheet0.png",70499,416,1,181,649,1,0.5027624368667603,-0.5023112297058106,[],[-0.2201094329357147,0.5023112297058106,0.1814345717430115,0.5023112297058106,0.1993165612220764,1.502311229705811,-0.2422084510326386,1.502311229705811],0],["images/knife-sheet1.png",91966,140,1,135,668,1,0.5037037134170532,-0.5029940009117127,[],[-0.3204976916313171,0.5029940009117127,0.3130902647972107,0.5029940009117127,0.2978233098983765,1.502994060516357,-0.3204976916313171,1.502994060516357],0],["images/knife-sheet0.png",70499,213,1,201,660,1,0.5024875402450562,-0.5030303001403809,[],[-0.3192815184593201,0.5030303001403809,0.3143064379692078,0.5030303001403809,0.2990394830703735,1.503030300140381,-0.3192815184593201,1.503030300140381],0],["images/knife-sheet2.png",93014,581,1,86,609,1,0.5,-0.5024630427360535,[],[-0.3167939782142639,0.5024630427360535,0.3167939782142639,0.5024630427360535,0.3015270233154297,1.502463102340698,-0.3167939782142639,1.502463102340698],0],["images/knife-sheet1.png",91966,424,1,138,625,1,0.5072463750839233,-0.5023999810218811,[],[-0.3240403532981873,0.5023999810218811,0.3095476031303406,0.5023999810218811,0.2942806482315064,1.502399921417236,-0.3240403532981873,1.502399921417236],0],["images/knife-sheet0.png",70499,599,1,166,593,1,0.5060241222381592,-0.502529501914978,[],[-0.3228181004524231,0.502529501914978,0.3107698559761047,0.502529501914978,0.2955029010772705,1.502529501914978,-0.3228181004524231,1.502529501914978],0],["images/knife-sheet2.png",93014,130,1,124,620,1,0.5,-0.5032258033752441,[],[-0.3167939782142639,0.5032258033752441,0.3167939782142639,0.5032258033752441,0.3015270233154297,1.503225803375244,-0.3167939782142639,1.503225803375244],0],["images/knife-sheet0.png",70499,917,1,90,632,1,0.5,-0.503164529800415,[],[-0.3167939782142639,0.503164529800415,0.3167939782142639,0.503164529800415,0.3015270233154297,1.503164529800415,-0.3167939782142639,1.503164529800415],0],["images/knife-sheet2.png",93014,256,1,114,630,1,0.5,-0.5031746029853821,[],[-0.3167939782142639,0.5031746029853821,0.3167939782142639,0.5031746029853821,0.3015270233154297,1.503174543380737,-0.3167939782142639,1.503174543380737],0],["images/knife-sheet0.png",70499,767,1,148,643,1,0.5067567825317383,-0.5023328065872192,[],[-0.3235507607460022,0.5023328065872192,0.3100371956825256,0.5023328065872192,0.2947702407836914,1.502332806587219,-0.3235507607460022,1.502332806587219],0],["images/knife-sheet1.png",91966,564,1,127,642,1,0.5039370059967041,-0.5031152367591858,[],[-0.320730984210968,0.5031152367591858,0.3128569722175598,0.5031152367591858,0.2975900173187256,1.503115177154541,-0.320730984210968,1.503115177154541],0],["images/knife-sheet2.png",93014,372,1,113,604,1,0.5044247508049011,-0.5132450461387634,[],[-0.321218729019165,0.5132450461387634,0.3123692274093628,0.5132450461387634,0.2971022725105286,1.513245105743408,-0.321218729019165,1.513245105743408],0]]]],[],false,false,789284035161425,[],null],["t41",11,false,[197554051057864],1,0,null,[["Default",0,false,1,0,false,452144292701505,[["images/dot-sheet0.png",481,0,0,80,80,1,0.5,0.5,[],[-0.4625000059604645,-0.4625000059604645,0.4625000357627869,-0.4625000059604645,0.4625000357627869,0.4625000357627869,-0.4625000059604645,0.4625000357627869],0],["images/dot-sheet1.png",484,0,0,80,80,1,0.512499988079071,0.512499988079071,[],[-0.4749999940395355,-0.4749999940395355,0.4625000357627869,-0.4749999940395355,0.4625000357627869,0.4625000357627869,-0.4749999940395355,0.4625000357627869],0]]]],[["LiteTween",16,779504217411942]],false,false,873014188064089,[],null],["t42",11,false,[752346264610943],0,0,null,[["Default",0,false,1,0,false,447208510161196,[["images/miniknife-sheet0.png",1132,0,0,200,200,1,0.5049999952316284,0.5,[],[-0.3949999809265137,-0.4900000095367432,0.3899999856948853,-0.4900000095367432,0.3899999856948853,0.4900000095367432,-0.3949999809265137,0.4900000095367432],0],["images/miniknife-sheet1.png",1061,0,0,157,196,1,0.5031847357749939,0.5,[],[],0]]]],[],false,false,871799435363966,[],null],["t43",11,false,[947710613371733,780224871836678,145196446034341],1,1,null,[["Default",5,false,1,0,false,893042989295943,[["images/circle-sheet2.png",9615,0,0,446,445,1,0.5,0.5011236071586609,[],[-0.3520179986953735,-0.3528085947036743,0,-0.4966292381286621,0.3520179986953735,-0.3528085947036743,0.4955160021781921,-0.002247601747512817,0.3520179986953735,0.3505613803863525,0,0.4966294169425964,-0.3520179986953735,0.3505613803863525,-0.4955157041549683,-0.002247601747512817],0]]]],[["LiteTween",16,122655824363539]],false,false,537343339328693,[["blacknwhite","BlackWhite"]],null],["t44",11,false,[526667105741233],1,0,null,[["a1",0,false,1,0,false,382320852391931,[["images/broken-sheet0.png",62242,1,1,428,418,1,0.4883177578449249,0.559808611869812,[],[],0],["images/broken-sheet0.png",62242,431,1,421,356,1,0.4679335057735443,0.5477527976036072,[],[],0]]],["a2",0,false,1,0,false,107732322700763,[["images/broken-sheet0.png",62242,1,421,192,251,1,0.6458333134651184,0.02390438318252564,[],[-0.6458333134651184,0.1115536093711853,-0.6458333134651184,-0.02390438318252564,0.3541666865348816,-0.02390438318252564,0.3541666865348816,-0.02390438318252564,0.3541666865348816,0.9760956168174744,-0.6458333134651184,0.9760956168174744,0.3541666865348816,-0.02390438318252564,0.3541666865348816,-0.02390438318252564],0],["images/broken-sheet0.png",62242,195,421,194,230,1,0.9226804375648499,0.04782608523964882,[],[],0]]],["a3",0,false,1,0,false,884510781195415,[["images/broken-sheet0.png",62242,431,359,262,351,1,0.9122137427330017,0.692307710647583,[],[-0.8015267252922058,-0.5527067184448242,-0.5458017587661743,-0.6695157289505005,0.08778625726699829,-0.692307710647583,0.08778625726699829,-0.692307710647583,0.08778625726699829,0.307692289352417,-0.5458017587661743,0.307692289352417,0.08778625726699829,-0.692307710647583,0.08778625726699829,-0.692307710647583],0],["images/broken-sheet0.png",62242,695,359,274,276,1,0.9963503479957581,0.3659420311450958,[],[],0]]]],[["Bullet",18,262959893982654]],false,false,326622741172867,[],null],["t45",11,false,[],0,0,null,[["Default",5,false,1,0,false,742639057634525,[["images/detector-sheet0.png",94,0,0,50,50,1,0.5,0.5,[],[],1]]]],[],false,false,274113443132685,[],null],["t46",11,false,[],0,0,null,[["Default",5,false,1,0,false,160925286898027,[["images/particle-sheet0.png",290,0,0,20,20,1,0.5,0.5,[],[],0]]]],[],false,false,704248586762862,[],null],["t47",11,false,[419463444039958],0,0,null,[["Default",0,false,1,0,false,446221904053682,[["images/apple-sheet0.png",3637,0,0,78,90,1,0.5,0.5,[],[0.1576579809188843,-0.461240291595459,0.01351398229598999,-0.282945990562439,0.3108109831809998,0.4069769978523254,0.01351398229598999,0.492247998714447,-0.3243240118026733,0.4069769978523254],0]]]],[],false,false,314239839821024,[],null],["t48",11,false,[670260775719259],0,0,null,[["Default",5,false,1,0,false,623995643155518,[["images/btninstagift-sheet0.png",21617,0,0,226,334,1,0.5,0.5,[],[-0.4159291982650757,-0.4431138038635254,0,-0.4850299060344696,0.4159290194511414,-0.4431138038635254,0.4823009967803955,0,0.429203987121582,0.4520959854125977,0,0.5,-0.4292035102844238,0.4520959854125977,-0.4867256879806519,0],0]]]],[],false,false,129998254356847,[],null],["t49",11,false,[937262195767091],0,0,null,[["Default",5,false,1,0,false,431523549452043,[["images/btnfbgift-sheet0.png",17255,0,0,226,334,1,0.5,0.5,[],[-0.4159291982650757,-0.4431138038635254,0,-0.4850299060344696,0.4159290194511414,-0.4431138038635254,0.4823009967803955,0,0.429203987121582,0.4520959854125977,0,0.5,-0.4292035102844238,0.4520959854125977,-0.4867256879806519,0],0]]]],[],false,false,429009586952403,[],null],["t50",11,false,[],0,0,null,[["Default",0,false,1,0,false,706375960098425,[["images/btnsound-sheet0.png",9420,1,1,192,72,1,0.5,0.5,[],[],0],["images/btnsound-sheet0.png",9420,1,75,192,72,1,0.5,0.5,[],[],0]]]],[],false,false,583179196177197,[],null],["t51",11,false,[858388299868229],0,0,null,[["Default",5,false,1,0,false,760504271534361,[["images/btncleardata-sheet0.png",29850,0,0,332,148,1,0.5,0.5,[],[-0.4608433842658997,-0.412162184715271,0,-0.4662162065505981,0.460843026638031,-0.412162184715271,0.4849399924278259,0,0.4518070220947266,0.3918920159339905,0,0.4256759881973267,-0.4518072009086609,0.3918920159339905,-0.4849398136138916,0],0]]]],[],false,false,227776476511465,[],null],["t52",11,false,[],3,0,null,[["Default",0,false,1,0,false,903963768154928,[["images/apple-sheet0.png",3637,0,0,78,90,1,0.5,3.222222328186035,[],[-0.4833677113056183,-2.697351455688477,-0.2653760015964508,-2.931815385818481,0.003898024559020996,-2.89128041267395,0.2660260200500488,-2.910207271575928,0.4679489731788635,-2.774661302566528,0.5,-2.536337375640869,0.3108109831809998,-2.315245389938355,0.01351398229598999,-2.229974269866943,-0.3243240118026733,-2.315245389938355,-0.4775637984275818,-2.461853265762329],0],["images/apple2-sheet0.png",5334,0,0,78,90,1,0.5,0.5,[],[-0.06410300731658936,-0.1222220063209534,0,-0.2888889908790588,0.294871985912323,-0.3222219944000244,0.4871789813041687,0,0.3717949986457825,0.3888890147209168,0,0.5,-0.3717949986457825,0.3888890147209168,-0.4871794879436493,0],0]]]],[["Pin",19,495917335294658],["Bullet",18,169417070662490],["LiteTween",16,913647190473539]],false,false,152259483316789,[],null],["t53",11,false,[192900747792022],2,0,null,[["Default",5,false,1,0,false,340973268441255,[["images/obj_y8logo-sheet0.png",509,0,0,252,142,1,0.5,0.5070422291755676,[],[],0]]]],[["Pin",19,943690716085647],["LiteTween",16,802860828841500]],false,true,988914227407986,[],null],["t54",12,false,[],0,0,["images/loading_font.png",9589,0],null,[],false,true,682371767716210,[],null],["t55",14,false,[],0,0,null,null,[],false,false,435073790759042,[],null],["t56",14,false,[],0,0,null,null,[],false,false,771887482446327,[],null],["t57",11,false,[],0,0,null,[["Default",5,false,1,0,false,896225588153449,[["images/y8_message-sheet0.png",8362,0,0,481,370,1,0.5010395050048828,0.5,[],[-0.4948025047779083,-0.4918918907642365,0.4948024749755859,-0.4945946037769318,0.4948024749755859,0.4945949912071228,-0.4948025047779083,0.4918919801712036],0],["images/y8_message-sheet1.png",3440,0,0,481,370,1,0.5010395050048828,0.5,[],[-0.4948025047779083,-0.4918918907642365,0.4948024749755859,-0.4945946037769318,0.4948024749755859,0.4945949912071228,-0.4948025047779083,0.4918919801712036],0]]]],[],false,false,940343888352124,[],null],["t58",4,false,[],0,0,null,null,[],true,false,521052617994089,[],null],["t59",7,false,[],0,0,null,null,[],true,false,383943272068910,[],null],["t60",0,false,[],0,0,null,null,[],false,false,161118233713298,[],null,[]],["t61",2,false,[],0,0,null,null,[],false,false,454630466599741,[],null,[]],["t62",11,false,[],0,0,null,[["Default",5,false,1,0,false,167345411639629,[["images/online-sheet0.png",27206,0,0,466,366,1,0.5,0.5027322173118591,[],[],0],["images/online-sheet1.png",23263,0,0,466,366,1,0.5021459460258484,0.5,[],[],0]]]],[],false,false,995630103927724,[],null],["t63",11,false,[],0,0,null,[["Default",5,false,1,0,false,813602645136015,[["images/online2-sheet0.png",22408,0,0,466,366,1,0.5021459460258484,0.5,[],[],0]]]],[],false,false,212720545375282,[],null],["t64",11,false,[],0,0,null,[["Login",5,false,1,0,false,909588517869507,[["images/onlinebtn-sheet0.png",30312,1,1,230,110,1,0.5,0.5,[],[],0],["images/onlinebtn-sheet0.png",30312,1,113,230,110,1,0.5,0.5,[],[],0]]],["Play",5,false,1,0,false,671838822627215,[["images/onlinebtn-sheet1.png",33756,1,1,230,110,1,0.5,0.5,[],[],0],["images/onlinebtn-sheet1.png",33756,1,113,230,110,1,0.5,0.5,[],[],0]]]],[],false,false,900621258036474,[],null],["t65",11,false,[],0,0,null,[["Default",5,false,1,0,false,493222881310339,[["images/localsavebtn-sheet0.png",28316,1,1,230,110,1,0.5,0.5,[],[],0],["images/localsavebtn-sheet0.png",28316,1,113,230,110,1,0.5,0.5,[],[],0]]]],[],false,false,568218693296735,[],null],["t66",12,false,[],0,0,["images/welcomefont.png",13629,0],null,[],false,false,544392491653678,[],null],["t67",8,false,[],0,0,null,null,[],true,false,832942722453207,[],null],["t68",11,false,[431166139140275,523579355515598,384411206219614],1,0,null,[["leaderboard",5,false,1,0,false,195019036597110,[["images/leaderboard-sheet0.png",938,0,0,125,125,1,0.5040000081062317,0.5120000243186951,[],[],0]]]],[["Pin",19,271636730686237]],false,false,210599895114262,[],null],["t69",11,false,[431166139140275,854435207828700,376592436028849],1,0,null,[["leaderboard",5,false,1,0,false,692893052785681,[["images/leaderboard2-sheet0.png",519,0,0,67,67,1,0.5074626803398132,0.5074626803398132,[],[],0]]]],[["Pin",19,377641018586040]],false,false,135106811607357,[],null],["t70",11,false,[],0,0,null,[["Default",5,false,1,0,false,697550648798642,[["images/loadinggamelogo-sheet0.png",83624,0,0,512,512,1,0.5,0.5,[],[-0.4375,-0.4375,0,-0.494140625,0.4374999403953552,-0.4375,0.4941409826278687,0,0.4374999403953552,0.4374999403953552,0,0.4941409826278687,-0.4375,0.4374999403953552,-0.494140625,0],0]]]],[],false,true,687739365229223,[],null],["t71",11,true,[],2,0,null,null,[["Sine",17,317706253126372],["Sine2",17,824118417564251]],false,false,127975151544955,[],null],["t72",11,true,[431166139140275],1,0,null,null,[["LiteTween",16,138972566227287]],false,false,631576229787235,[],null],["t73",11,true,[],0,0,null,null,[],false,false,146485233894511,[],null],["t74",11,true,[133865536363336,657396939119698,592724106414494,872627611653037,260101219720865],4,0,null,null,[["LPos",16,368460822413081],["LOpac",16,709099522652428],["Bullet",18,783715225430065],["Pin",19,765196412521417]],false,false,693128470479198,[],null],["t75",11,true,[],3,0,null,null,[["L_Scale",16,332434586342323],["L_Opac",16,752118652623346],["Bullet",18,819960883216592]],false,false,669571067756202,[],null],["t76",11,true,[419463444039958],2,0,null,null,[["L_Scale",16,182069523765381],["L_Opac",16,590758177037630]],false,false,443762798327858,[],null]],[[71,12,13,14],[72,0,1,2,4,6,5,3,68,69,15,16,19,17,12,13,14],[73,51,7,8,11,0,49,1,10,48,2,4,9,6,5,50,3,68,69],[74,40],[75,46],[76,47]],[["Menu",720,1280,true,"MenuSheet",401328667076244,[["Back",0,347259700441806,true,[4,64,73],false,1,1,1,false,false,1,0,0,[[[360,640,0,900,1350,0,0,1,0.5,0.5,0,0,[]],18,0,[],[],[0,"Default",0,1]]],[]],["Menu",1,431890533903228,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[383,-241,0,214,611,0,-1.570796370506287,1,0.5,0.5008183121681213,0,0,[]],12,1,[[0.3]],[[1,5,0,6,0,0,0,3,0],[1,0,0,6,0,0,0,15,0],[0,0,17,"377, 195",0,1,1]],[0,"Default",0,1]],[[373,-386,0,184,384,0,-1.570796370506287,1,0.5,0.5,0,0,[]],13,2,[[0.5]],[[1,5,0,-6,0,0,0,3,0],[1,0,0,-6,0,0,0,15,0],[0,0,17,"365, 437",0,1,1]],[0,"Default",0,1]],[[340,-354,0,80,571,0,-1.570796370506287,1,0.5,0.5008756518363953,0,0,[]],14,3,[[0.4]],[[1,5,0,6,0,0,0,3,0],[1,0,0,6,0,0,0,15,0],[0,0,17,"369, 323",0,1,1]],[0,"Default",0,1]],[[374,1663,0,372,161,0,0,1,0.5,0.5031055808067322,0,0,[]],4,4,[[0.2]],[[0,0,14,"360, 992",0,1,1]],[0,"Default",0,1]],[[636,1351,0,114,107,0,0,1,0.5,0.5046728849411011,0,0,[]],1,5,[[0.5]],[[0,0,17,"636, 1190",0,1,1]],[0,"Default",0,1]],[[66,1367,0,148,132,0,0,1,0.5067567825317383,0.5075757503509522,0,0,[]],2,7,[[0.6]],[[0,0,17,"66, 1190",0,1,1]],[0,"Default",0,1]],[[-55,-36,0,67,67,0,0,1,0.5074626803398132,0.5074626803398132,0,0,[]],5,9,[[0.6]],[[0,0,17,"47, 47",0,1,1]],[0,"Default",0,1]],[[360.5,1462,0,47,219,0,0,1,0.5106382966041565,0.5022830963134766,0,0,[]],16,10,[[0]],[[1,0,8,"360,770",0,1,1]],[0,"Default",0,1]],[[763,-33,0,55,69,0,0,1,0.5090909004211426,0.5072463750839233,0,0,[]],15,11,[[0.5]],[[0,0,17,"683, 47",0,1,1]],[0,"Default",0,1]],[[-89,520,0,413,73,0,0,1,1,0.5,0,0,[]],27,12,[["stage"]],[],[96,96,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@ยฐ+=*$ยฃโ‚ฌ<>","STAGE 21",0.5,0,2,1,5,0,0,0]],[[357,-122,0,36,36,0,0.7853981852531433,1,0.5,0.5,0,0,[]],17,13,[[0.5]],[[0,0,14,"360, 615",0,0.3,1]],[0,"Default",0,1]],[[-480,627,0,413,73,0,0,1,0,0.5,0,0,[]],27,15,[["score"]],[],[96,96,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@ยฐ+=*$ยฃโ‚ฌ<>","STAGE 21",0.5,0,0,1,3,0,0,0]],[[-252,433,0,186,56,0,0,1,1,0.5,0,0,[[0.94,0.69,0.28]]],28,16,[["apple"]],[],[74,107,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@ยฐ+=*$ยฃโ‚ฌ<>","Text",0.5,0,2,1,5,0,0,0]],[[596,1501,0,162,73,0,0,1,0.5,0.5,0,0,[]],27,64,[["time"]],[],[96,96,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@ยฐ+=*$ยฃโ‚ฌ<>","STAGE 21",0.3,0,1,1,4,0,0,0]],[[360,1210,0,242.3424224853516,131.2688140869141,0,0,1,0.5,0.5070422291755676,0,0,[]],53,73,[[""]],[[],[0,0,23,"100,100",0,2.5,1]],[0,"Default",0,1]],[[141,-53,0,67,67,0,0,1,0.5074626803398132,0.5074626803398132,0,0,[]],69,45,[[0.3],[0],[1]],[[0,0,17,"141, 47",0,1,1],[]],[0,"Default",1,1]]],[]],["KnivesList",2,692482106887821,true,[2,30,36],false,1,1,1,false,false,1,0,0,[[[103,45,0,160,36,0,0,1,0.5,0.5,0,0,[]],10,54,[],[],[0,"Default",0,1]],[[-12,-411,0,150,150,0,0,1,0.5,0.5,0,0,[]],22,55,[[0],[""],[""],[0],[0]],[],[0,"Default",0,1]],[[1067,247.5409240722656,0,213.4592590332031,290.3504943847656,0,0,0.5,0,0.7114624381065369,0,0,[]],25,56,[[1],[1]],[],[0,"Default",0,1]],[[1074,242.5409240722656,0,213.4592590332031,290.3504943847656,0,3.141592741012573,0.5,0,0.7114624381065369,0,0,[]],25,57,[[1],[1]],[],[0,"Default",0,1]],[[1055,245.5409240722656,0,213.4592590332031,290.3504943847656,0,0.7853981852531433,0.5,0,0.7114624381065369,0,0,[]],25,58,[[-1],[0.5]],[],[0,"Default",0,1]],[[1062,206.4441223144531,0,163.7592163085938,222.7477569580078,0,-2.181661605834961,1,0,0.7114624381065369,0,0,[]],25,59,[[-1],[0.5]],[],[0,"Default",0,1]],[[1057,254.5409240722656,0,213.4592590332031,290.3504943847656,0,2.179790735244751,0.5,0,0.7114624381065369,0,0,[]],25,60,[[-1],[0.4]],[],[0,"Default",0,1]],[[1064,252.5409393310547,0,213.4592590332031,290.3504943847656,0,-1.069159150123596,0.699999988079071,0,0.7114624381065369,0,0,[]],25,61,[[-1],[0.6]],[],[0,"Default",0,1]],[[1055,248.5409545898438,0,213.4592590332031,290.3504943847656,0,1.246886014938355,0.699999988079071,0,0.7114624381065369,0,0,[]],25,62,[[-1],[0.6]],[],[0,"Default",0,1]],[[1062,257.5409240722656,0,213.4592590332031,290.3504943847656,0,-1.720173716545105,0.5,0,0.7114624381065369,0,0,[]],25,63,[[-1],[0.6]],[],[0,"Default",0,1]],[[360,373,0,678,100,0,0,1,0.5,0.5,0,0,[[0.94,0.69,0.28]]],28,69,[["price"]],[],[74,107,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@ยฐ+=*$ยฃโ‚ฌ<>","",0.4,0,1,1,4,0,0,0]],[[-730,274,0,150,150,0,0,1,0.5,0.5,0,0,[]],26,70,[[0],[0]],[],[0,"Default",0,1]],[[1015,597,0,51.62139892578125,21.94285774230957,0,0,1,0.5,0.5,0,0,[]],11,71,[[0],[0]],[],[0,"Default",0,1]]],[]],["Black",3,479885003243201,true,[0,0,0],false,1,1,0.8999999761581421,false,false,1,0,0,[],[]],["Apples",4,966910383521965,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[953.0369262695313,701.6327514648438,0,78,90,0,0,1,0.5,0.5,0,0,[]],47,67,[[0]],[[0,9,18,"0",0,0.5,1],[0,5,16,"0",0,0.7,1]],[0,"Default",0,1]],[[-438,154,0,408,193,0,0,1,0.5,0.5,0,0,[[0.94,0.69,0.28]]],28,68,[["applesnum"]],[],[74,107,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@ยฐ+=*$ยฃโ‚ฌ<>","Text",1,0,1,1,4,0,0,0]]],[]],["Settings",5,459126986653063,false,[1,23,28],false,1,1,1,false,false,1,0,0,[[[360,631,0,568,73,0,0,1,0.5,0.5,0,0,[]],27,72,[["settings"]],[],[96,96,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@ยฐ+=*$ยฃโ‚ฌ<>","Sounds",0.6,0,0,1,4,0,0,0]],[[360,460.5,0,494,130,0,0,1,0.5,0.5,0,0,[]],27,75,[["settings"]],[],[96,96,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@ยฐ+=*$ยฃโ‚ฌ<>","Settings",0.75,0,1,1,4,0,0,0]],[[517,632,0,192,72,0,0,1,0.5,0.5,0,0,[]],50,76,[],[],[0,"Default",0,1]],[[103,42,0,160,36,0,0,1,0.5,0.5,0,0,[]],10,78,[],[],[0,"Default",0,1]],[[360,877,0,332,148,0,0,1,0.5,0.5,0,0,[]],51,79,[[1]],[],[0,"Default",0,1]]],[]],["GoogleAdsBG",6,589311447166352,true,[255,255,255],true,1,1,1,false,false,1,0,0,[],[]]],[[null,29,14,[],[],[10,1,1]],[null,30,17,[],[],[10,1,1]],[null,36,65,[],[],[]],[null,58,91,[],[],[10,1,1]],[null,59,92,[],[],["myScripts.js"]],[null,67,102,[],[],[]]],[]],["Loading",720,1280,true,"Loading",280130386058988,[["Back",0,584284764115993,true,[4,64,73],false,1,1,1,false,false,1,0,0,[[[390,623,0,900,1350,0,0,1,0.5,0.5,0,0,[]],18,81,[],[],[0,"Default",0,1]],[[366,1133,0,300.3751220703125,162.7032012939453,0,0,1,0.5,0.5070422291755676,0,0,[]],53,83,[[""]],[[],[0,0,23,"100,100",0,2.5,1]],[0,"Default",0,1]],[[-30,874,0,780,64,0,0,1,0,0,0,0,[]],54,84,[],[],[29,30,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@ยฐ+=*$ยฃโ‚ฌ<>%","Loading 0%",2,0,1,1,0,0,0,0,"{\"\"c2array\"\":true,\"\"size\"\":[2,21,1],\"\"data\"\":[[[6],[5],[6],[7],[8],[9],[10],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[25],[27]],[[\"\" \"\"],[\"\"|\"\"],[\"\"I.,:!'\"\"],[\"\"il;\"\"],[\"\"`\"\"],[\"\"()\\\\/\"\"],[\"\"j-[]ยฐ\"\"],[\"\"rt1\\\"\"\"\"],[\"\"f*\"\"],[\"\"ks\"\"],[\"\"Jacdeghnquvxyz023568?+=$โ‚ฌ<>\"\"],[\"\"EFLPbop79_~#\"\"],[\"\"BNRSUX4ยฃ\"\"],[\"\"DHKTYZ\"\"],[\"\"CV\"\"],[\"\"AGO&\"\"],[\"\"MQ\"\"],[\"\"mw\"\"],[\"\"%\"\"],[\"\"W\"\"],[\"\"@\"\"]]]}",-1]],[[360,479,0,512,512,0,0,1,0.5,0.5,0,0,[]],70,74,[],[],[0,"Default",0,1]]],[]]],[],[]],["saveWindows",720,1280,true,"saveWindows",709890415688010,[["Back",0,872051023495074,true,[4,64,73],false,1,1,1,false,false,1,0,0,[[[360,640,0,900,1350,0,0,1,0.5,0.5,0,0,[]],18,95,[],[],[0,"Default",0,1]],[[-30,874,0,780,64,0,0,1,0,0,0,0,[]],54,97,[],[],[29,30,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@ยฐ+=*$ยฃโ‚ฌ<>%","Loading Please Wait",2,0,1,1,0,0,0,0,"{\"\"c2array\"\":true,\"\"size\"\":[2,21,1],\"\"data\"\":[[[6],[5],[6],[7],[8],[9],[10],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[25],[27]],[[\"\" \"\"],[\"\"|\"\"],[\"\"I.,:!'\"\"],[\"\"il;\"\"],[\"\"`\"\"],[\"\"()\\\\/\"\"],[\"\"j-[]ยฐ\"\"],[\"\"rt1\\\"\"\"\"],[\"\"f*\"\"],[\"\"ks\"\"],[\"\"Jacdeghnquvxyz023568?+=$โ‚ฌ<>\"\"],[\"\"EFLPbop79_~#\"\"],[\"\"BNRSUX4ยฃ\"\"],[\"\"DHKTYZ\"\"],[\"\"CV\"\"],[\"\"AGO&\"\"],[\"\"MQ\"\"],[\"\"mw\"\"],[\"\"%\"\"],[\"\"W\"\"],[\"\"@\"\"]]]}",-1]]],[]],["saveWindows",1,252983606005122,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[361,927,0,675.75,506.1749877929688,0,0,1,0.5021459460258484,0.5,0,0,[]],63,96,[],[],[0,"Default",0,1]],[[366,343,0,675.75,506.1749877929688,0,0,1,0.5021459460258484,0.5,0,0,[]],62,98,[],[],[0,"Default",1,1]],[[366,582,0,334.0499877929688,159.375,0,0,1,0.5,0.5,0,0,[]],64,99,[],[],[0,"Default",1,1]],[[361,1158,0,334.0499877929688,159.375,0,0,1,0.5,0.5,0,0,[]],65,100,[],[],[0,"Default",1,1]],[[-24,298,0,776,60,0,0,1,0,0,0,0,[]],66,101,[],[],[39,48,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@ยฐ+=*$ยฃโ‚ฌ<>%","WELCOME",0.95,0,1,1,0,0,0,0,"{\"\"c2array\"\":true,\"\"size\"\":[2,21,1],\"\"data\"\":[[[8],[8],[9],[10],[11],[12],[14],[15],[16],[17],[18],[20],[22],[23],[24],[25],[27],[28],[29],[30],[37]],[[\"\" \"\"],[\"\"|\"\"],[\"\"'\"\"],[\"\"Ii.,!\"\"],[\"\";:\"\"],[\"\"()[]\"\"],[\"\"ยฐ\"\"],[\"\"1-`>\"\"],[\"\"<\"\"],[\"\"\\\\/\"\"],[\"\"Ll\\\"\"*\"\"],[\"\"Jj\"\"],[\"\"CGScgs+=\"\"],[\"\"EFKPTXefkptx4~ยฃโ‚ฌ\"\"],[\"\"BDHNRUYZbdhnruyz369?$\"\"],[\"\"02578\"\"],[\"\"Vv\"\"],[\"\"Aa#&@%\"\"],[\"\"Mm\"\"],[\"\"OQoq_\"\"],[\"\"Ww\"\"]]]}",-1]]],[]],["GoogleAdsBG",2,431540425950462,true,[255,255,255],true,1,1,1,false,false,1,0,0,[],[]]],[],[]],["Blacklist",720,1280,true,"Blacklist",299791103981716,[["Back",0,900408169857815,true,[4,64,73],false,1,1,1,false,false,1,0,0,[[[360,640,0,900,1350,0,0,1,0.5,0.5,0,0,[]],18,85,[],[],[0,"Default",0,1]],[[365,617,0,202.9020233154297,109.9052658081055,0,0,1,0.5,0.5070422291755676,0,0,[]],53,86,[[""]],[[],[0,0,23,"100,100",0,2.5,1]],[0,"Default",0,1]],[[21,721,0,681,52,0,0,1,0,0,0,0,[]],55,87,[],[],["This website is blacklisted, please go to ",0,"24pt Arial","rgb(255,255,255)",1,0,0,0,0]],[[15,806,0,691,197,0,0,1,0,0,0,0,[]],55,88,[],[],["to play this game. If you are a website owner please unblock games link and request y8.com to remove your website from blacklisted list",0,"24pt Arial Narrow","rgb(255,255,255)",1,0,0,0,0]],[[14,763,0,687,60,0,0,1,0,0,0,0,[]],56,89,[],[],["http://www.y8.com/games/dd_connection",0,"bold 24pt Arial","rgb(255,255,0)",1,0,0,0,0]],[[-472,805,0,672.3265380859375,517.17431640625,0,0,1,0.5010395050048828,0.5,0,0,[]],57,90,[],[],[0,"Default",0,1]]],[]]],[],[]],["Game",720,1280,true,"GameSheet",829363245822988,[["Back",0,609539407129118,true,[4,57,67],false,1,1,1,false,false,1,0,0,[[[360,640,0,900,1350,0,0,1,0.5,0.5,0,0,[]],18,19,[],[],[0,"Default",0,1]]],[]],["Game",1,760025876971140,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[763,-33,0,55,69,0,0,1,0.5090909004211426,0.5072463750839233,0,0,[]],15,30,[[0]],[[0,0,17,"683, 47",0,0.3,1]],[0,"Default",0,1]],[[506,-160,0,186,56,0,0,1,1,0.5,0,0,[[0.94,0.69,0.28]]],28,34,[["apple"]],[],[74,107,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@ยฐ+=*$ยฃโ‚ฌ<>","Text",0.5,0,2,1,5,0,0,0]],[[360,504,0,51.96152496337891,51.96152496337891,0,0,1,0.5,0.5011236071586609,0,0,[]],39,20,[[3],[3],[1]],[[0,4,5,"0",0,2,1],[0,5,0,4,0,0,0,50,0],[1,1,17,"411, 411",0,0.5,1]],[0,"Default",0,1]],[[-85,-66,0,229,80,0,0,1,0,0.5,0,0,[[0.94,0.69,0.28]]],28,21,[["score"]],[],[74,107,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@ยฐ+=*$ยฃโ‚ฌ<>","Text",0.7,0,0,1,3,0,0,0]],[[360,116,0,510,114,0,0,1,0.5,0.5,0,0,[[1,1,1]]],28,22,[["stage"]],[],[74,107,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@ยฐ+=*$ยฃโ‚ฌ<>","Text",0.8,0,1,1,4,0,0,0]],[[-45,-13,0,20,20,0,0,1,0.5,0.5,0,0,[]],19,23,[[0]],[[0,0,17,"10, 36",0,0.3,1]],[1,"Default",0,1]],[[348.53125,41.70821380615234,0,25,25,0,0,1,0.5,0.5,0,0,[]],41,25,[[3]],[[0,5,8,"0",0,0.5,1]],[0,"Default",0,1]],[[244.53125,41.70821380615234,0,25,25,0,0,1,0.5,0.5,0,0,[]],41,26,[[1]],[[0,5,8,"0",0,0.5,1]],[0,"Default",0,1]],[[296.53125,41.70821380615234,0,25,25,0,0,1,0.5,0.5,0,0,[]],41,27,[[2]],[[0,5,8,"0",0,0.5,1]],[0,"Default",0,1]],[[401.53125,41.70821380615234,0,25,25,0,0,1,0.5,0.5,0,0,[]],41,28,[[4]],[[0,5,8,"0",0,0.5,1]],[0,"Default",0,1]],[[-280,662,0,56.44478225708008,56.44477844238281,0,-0.08726692199707031,0.800000011920929,0.5049999952316284,0.5,0,0,[]],42,29,[[0]],[],[0,"Default",0,1]],[[357,1208,0,44.36901473999023,208.9746704101563,0,0,1,0.5038167834281921,0,0,0,[]],40,32,[[0],[0],[0],[0],[0]],[[1,0,8,"360,1030",0,0.1,1],[1,5,8,"100",0,0.3,1],[5000,0,0,0,0,0],[]],[0,"Default",0,1]],[[360,1136,0,560,128,0,0,0.300000011920929,0.5,0.5,0,0,[]],45,31,[],[],[1,"Default",0,1]],[[-544,477,0,411,411,0,0,1,0.5,0.5011236071586609,0,0,[[0]]],43,33,[[3],[3],[1]],[[0,6,11,"100,100",0,2,1]],[0,"Default",0,1]],[[0,0,0,20,20,0,0,1,0.5,0.5,0,0,[]],46,37,[],[[1,1,5,"0,0",0,0.7,1],[0,5,17,"0",0,0.5,1],[1000,0,1000,0,1,1]],[0,"Default",0,1]],[[-687,1007,0,428,418,0,0,1,0.4883177578449249,0.559808611869812,0,0,[]],44,39,[[0]],[[1000,0,5000,0,0,1]],[0,"Default",0,1]],[[463,40,0,50,50,0,0,1,0.5049999952316284,0.5049999952316284,0,0,[[1,1,1]]],20,24,[],[[0,0,8,"360, 40",0,1,1]],[0,"Default",0,1]],[[954,271,0,78,90,0,0,1,0.5,3.222222328186035,0,0,[]],52,82,[],[[],[1000,0,5000,0,1,0],[0,1,8,"100,100",0,0.3,1]],[0,"Default",0,1]]],[]],["Lose",2,819242897961088,true,[34,34,34],false,1,1,1,false,false,1,0,0,[[[360.4618530273438,502.8104248046875,0,571.769775390625,335.3027954101563,0,0,1,0.5008077621459961,0.5013774037361145,0,0,[]],24,40,[],[],[0,"Default",0,1]],[[360.5,883.6266479492188,0,313,135,0,0,1,0.5015974640846252,0.5037037134170532,0,0,[]],9,41,[],[],[0,"Default",0,1]],[[360,570,0,413,73,0,0,1,0.5,0.5,0,0,[]],31,43,[["stage"]],[],[96,96,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@ยฐ+=*$ยฃโ‚ฌ<>","STAGE 21",0.6,0,1,1,4,0,0,0]],[[360,480,0,486,109,0,0,1,0.5,0.5,0,0,[]],27,42,[["bigscore"]],[],[96,96,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@ยฐ+=*$ยฃโ‚ฌ<>","12",1,0,1,1,4,0,0,0]],[[468,645,0,274.8864440917969,128.4093933105469,0,0,1,0.5,0.5025125741958618,0,0,[]],23,35,[],[],[0,"Default",0,1]],[[99,48,0,160,36,0,0,1,0.5,0.5,0,0,[]],10,44,[],[],[0,"Default",0,1]],[[148,1149,0,148,132,0,0,1,0.5067567825317383,0.5075757503509522,0,0,[]],2,46,[[0.6]],[[0,0,17,"148, 1149",0,1,1]],[0,"Default",0,1]],[[584,1147,0,125,125,0,0,1,0.5040000081062317,0.5040000081062317,0,0,[]],6,47,[[0.5]],[[0,0,17,"584, 1147",0,1,1]],[0,"Default",0,1]],[[360,214,0,242.3424224853516,131.2688140869141,0,0,1,0.5,0.5070422291755676,0,0,[]],53,6,[[""]],[[],[0,0,23,"100,100",0,2.5,1]],[0,"Default",0,1]],[[360,1147,0,125,125,0,0,1,0.5040000081062317,0.5120000243186951,0,0,[]],68,8,[[0.3],[0],[1]],[[0,0,17,"360, 1147",0,1,1],[]],[0,"Default",1,1]]],[]],["EquipBack",3,195603651828203,true,[0,0,0],false,1,1,0.699999988079071,false,false,1,0,0,[],[]],["Equip",4,619191869168598,true,[0,0,0],true,1,1,1,false,false,1,0,0,[[[360.5,640.5,0,583,681,0,0,1,0.5008576512336731,0.5007342100143433,0,0,[]],21,48,[],[],[0,"Default",0,1]],[[635,314,0,101,103,0,0,1,0.5049505233764648,0.5048543810844421,0,0,[]],7,49,[],[],[0,"Default",0,1]],[[360.5,883,0,243,105,0,0,1,0.5020576119422913,0.5047619342803955,0,0,[]],8,50,[],[],[0,"Default",0,1]],[[360,451,0,567,273,0,0,1,0.5,0.5,0,0,[]],27,51,[["defeat"]],[],[96,96,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@ยฐ+=*$ยฃโ‚ฌ<>","STAGE 21",0.8,0,1,0,4,0,0,0]],[[360,778,0,599,88,0,0,1,0.5,0.5,0,0,[]],31,52,[["defeat"]],[],[96,96,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#\"'&()[]|`\\/@ยฐ+=*$ยฃโ‚ฌ<>","BOSS KNIFE UNLOCKE",0.55,0,1,1,4,0,0,0]],[[289,505,0,56.50891494750977,266.1526794433594,0,-0.6435660123825073,1,0.5038167834281921,0,0,0,[]],40,53,[[2],[0],[1],[0],[0]],[[0,0,8,"360,1030",0,0.1,1],[0,5,8,"100",0,0.3,1],[0,0,0,0,0,0],[]],[0,"Default",0,1]]],[]],["GoogleAdsBG",5,410200510997436,true,[255,255,255],true,1,1,1,false,false,1,0,0,[],[]]],[],[]]],[["MenuSheet",[[2,"y8Logo",false],[2,"Blacklist",false],[2,"Adsense",false],[2,"saveData",false],[1,"Flg",0,0,false,false,196253729035175,false],[1,"TimeFlg",0,0,false,false,273227903639865,false],[1,"GoKnivesPage",0,0,false,false,519301831994894,false],[1,"GoSettingsPage",0,0,false,false,593846567963965,false],[1,"ShowNum",0,1,false,false,106316383611608,false],[1,"SelectedKnife",0,0,false,false,802104418619396,false],[1,"UnlockedKnives",1,"",false,false,941254910958818,false],[1,"Stage",0,0,false,false,321561174957908,false],[1,"Score",0,0,false,false,725896990228554,false],[1,"Apples",0,0,false,false,363905107469061,false],[1,"BestScore",0,0,false,false,249539270997596,false],[1,"BestStage",0,0,false,false,198316280449279,false],[1,"Start",0,0,false,false,816326725601659,false],[1,"InKnivePage",0,0,false,false,501013451629344,false],[1,"InSettingsPage",0,0,false,false,900202050468646,false],[1,"GiftReady",0,1,false,false,324033898701440,false],[1,"S",0,0,false,false,132094318059957,false],[1,"H",0,0,false,false,620947376026031,false],[1,"M",0,0,false,false,121066783613645,false],[1,"D",0,0,false,false,498294391246245,false],[1,"BlackFade",0,0,false,false,398907278151151,false],[1,"Sound",0,1,false,false,906753126183405,false],[1,"SocialGift",1,"11",false,false,177381005158070,false],[0,[true,"SpriteFont"],false,null,746347296213907,[[-1,20,null,0,false,false,false,746347296213907,false,[[1,[2,"SpriteFont"]]]]],[],[[0,[true,"Setting Char Width"],false,null,267466132755845,[[-1,20,null,0,false,false,false,267466132755845,false,[[1,[2,"Setting Char Width"]]]]],[],[[0,null,false,null,160220809939084,[[-1,21,null,1,false,false,false,834804932724079,false]],[[29,22,null,560929322288526,false,[[1,[2,"{\"c2array\":true,\"size\":[2,45,1],\"data\":[[[14],[18],[20],[21],[22],[23],[25],[28],[29],[30],[31],[33],[35],[36],[38],[39],[40],[41],[42],[44],[45],[46],[47],[49],[50],[51],[52],[53],[54],[56],[57],[58],[59],[62],[64],[65],[66],[67],[68],[72],[76],[77],[81],[82],[94]],[[\"|\"],[\"'\"],[\"Il\"],[\"i\"],[\".:!\"],[\",;\"],[\"[]\"],[\"-\"],[\"(\"],[\")\"],[\"j\"],[\"`\"],[\"J\"],[\"ยฐ\"],[\"r\"],[\"t\\\"\"],[\"Ff\"],[\"E1\"],[\"s\\\\/\"],[\"z \"],[\"L\"],[\"c?\"],[\"S5~+=*<>\"],[\"P03678_$\"],[\"abp29ยฃ\"],[\"Tdehnq\"],[\"Buโ‚ฌ\"],[\"Zo4\"],[\"Cg\"],[\"k\"],[\"DHRvy\"],[\"KU\"],[\"Gx#\"],[\"Y\"],[\"N\"],[\"V\"],[\"O\"],[\"QX\"],[\"A\"],[\"&\"],[\"M\"],[\"@\"],[\"m\"],[\"w\"],[\"W\"]]]}"]]]],[30,22,null,207897162653603,false,[[1,[2,"{\"c2array\":true,\"size\":[2,33,1],\"data\":[[[12],[14],[15],[25],[27],[30],[31],[33],[34],[35],[37],[38],[40],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52],[53],[56],[57],[58],[59],[60],[66],[67],[72]],[[\"Il'|\"],[\"i.:!\"],[\",;\"],[\"jยฐ\"],[\"1()`\"],[\"r \"],[\"\\\"\\\\/\"],[\"f\"],[\"J[\"],[\"t]<>\"],[\"L\"],[\"~*\"],[\"sz7$\"],[\"ku?\"],[\"chnv-+=\"],[\"F\"],[\"EZx5\"],[\"Se269\"],[\"BHKPRTUay8\"],[\"bg34\"],[\"Nopq\"],[\"DVd0\"],[\"CXY\"],[\"Gยฃ\"],[\"A\"],[\"_&\"],[\"#\"],[\"O\"],[\"Q@โ‚ฌ\"],[\"w\"],[\"M\"],[\"W\"],[\"m\"]]]}"]]]]],[[0,null,false,null,872025034069363,[[-1,23,null,0,true,false,false,691119733807342,false,[[1,[2,""]],[0,[0,0]],[0,[5,[20,29,24,false,null],[0,1]]]]]],[[27,25,null,119772218515716,false,[[1,[20,29,26,false,null,[[0,1],[19,27]]]],[0,[20,29,26,false,null,[[0,0],[19,27]]]]]]]],[0,null,false,null,655204003984582,[[-1,23,null,0,true,false,false,879712321741352,false,[[1,[2,""]],[0,[0,0]],[0,[5,[20,29,24,false,null],[0,1]]]]]],[[31,25,null,189931895636044,false,[[1,[20,29,26,false,null,[[0,1],[19,27]]]],[0,[20,29,26,false,null,[[0,0],[19,27]]]]]]]],[0,null,false,null,966228662492870,[[-1,23,null,0,true,false,false,970881554072344,false,[[1,[2,""]],[0,[0,0]],[0,[5,[20,30,24,false,null],[0,1]]]]]],[[28,25,null,671430474586898,false,[[1,[20,30,26,false,null,[[0,1],[19,27]]]],[0,[20,30,26,false,null,[[0,0],[19,27]]]]]]]]]]]],[0,[true,"SpriteFont Position + Text"],false,null,464914386618484,[[-1,20,null,0,false,false,false,464914386618484,false,[[1,[2,"SpriteFont Position + Text"]]]]],[],[[0,null,false,null,974411097631301,[[27,28,null,0,false,false,false,139158320608732,false,[[10,0],[8,0],[7,[2,"stage"]]]]],[[27,29,null,502462702685133,false,[[0,[5,[20,17,30,false,null],[0,50]]],[0,[20,17,31,false,null]]]],[27,32,null,695528542771368,false,[[7,[10,[2,"STAGE "],[23,"BestStage"]]]]]]],[0,null,false,null,580244079897309,[[27,28,null,0,false,false,false,594966889462298,false,[[10,0],[8,0],[7,[2,"score"]]]]],[[27,29,null,665703190719807,false,[[0,[4,[20,17,30,false,null],[0,50]]],[0,[20,17,31,false,null]]]],[27,32,null,989893931574706,false,[[7,[10,[2,"SCORE "],[23,"BestScore"]]]]]]],[0,null,false,null,897793261035848,[[27,28,null,0,false,false,false,595750943136733,false,[[10,0],[8,0],[7,[2,"bigscore"]]]]],[[27,32,null,568548439105982,false,[[7,[23,"Score"]]]]]],[0,null,false,null,858476356385195,[[28,28,null,0,false,false,false,586160652580615,false,[[10,0],[8,0],[7,[2,"apple"]]]]],[[28,29,null,627642613750622,false,[[0,[5,[20,15,30,false,null],[0,40]]],[0,[4,[20,15,31,false,null],[0,7]]]]],[28,32,null,765665437085563,false,[[7,[23,"Apples"]]]]]],[0,null,false,null,431070170225980,[[28,28,null,0,false,false,false,863232814742920,false,[[10,0],[8,0],[7,[2,"stage"]]]]],[[28,32,null,835552349294259,false,[[7,[10,[2,"STAGE "],[23,"Stage"]]]]]]],[0,null,false,null,286233488081091,[[28,28,null,0,false,false,false,564957672137694,false,[[10,0],[8,0],[7,[2,"score"]]]]],[[28,29,null,420978524768010,false,[[0,[4,[20,19,30,false,null],[0,40]]],[0,[4,[20,15,31,false,null],[0,7]]]]],[28,32,null,814025564324197,false,[[7,[23,"Score"]]]]]],[0,null,false,null,242878811324630,[[28,28,null,0,false,false,false,622108456083246,false,[[10,0],[8,0],[7,[2,"stage"]]]]],[[31,32,null,377102472846197,false,[[7,[10,[2,"STAGE "],[23,"Stage"]]]]]]],[0,null,false,null,166154248757703,[[31,28,null,0,false,false,false,371190534995001,false,[[10,0],[8,0],[7,[2,"defeat"]]]]],[[31,32,null,230041958896189,false,[[7,[2,"BOSS KNIFE UNLOCKED!"]]]]]]]]]],[0,[true,"Menu Start"],false,null,467235709727395,[[-1,20,null,0,false,false,false,467235709727395,false,[[1,[2,"Menu Start"]]]]],[],[[0,null,false,null,677495886582690,[[72,33,null,1,false,false,false,900999309725847,false]],[[-1,34,null,387764677941096,false,[[0,[21,72,false,null,0]]]],[72,35,"LiteTween",202138056685832,false,[[3,0],[3,0]]]]],[0,null,false,null,102990084291626,[],[]]]],[0,[true,"Buttons"],false,null,124418858928883,[[-1,20,null,0,false,false,false,124418858928883,false,[[1,[2,"Buttons"]]]]],[],[[0,null,false,null,567095353927930,[[33,36,null,2,false,false,false,535223138992917,false,[[1,[2,"Reset"]]]]],[[38,37,null,312322204137214,false,[[3,0],[7,[2,"Reset"]]]],[-1,38,null,746754108094333,false],[-1,39,null,990812907852845,false],[-1,40,null,226032477273061,false,[[11,"Stage"],[7,[20,33,41,false,null,[[0,0]]]]]],[-1,40,null,240978961892628,false,[[11,"UnlockedKnives"],[7,[20,33,41,false,null,[[0,1]]]]]],[-1,40,null,747963965884642,false,[[11,"SelectedKnife"],[7,[20,33,41,false,null,[[0,2]]]]]]]],[0,null,false,null,235283630358046,[[32,42,null,0,false,false,false,380157101543199,false,[[4,73]]]],[[73,43,null,576452187461879,false,[[0,[1,0.9]]]]]],[0,null,false,null,298202606228065,[[32,42,null,0,false,true,false,655891561622953,false,[[4,73]]]],[[73,43,null,117074398517329,false,[[0,[0,1]]]]]],[0,null,false,null,186007184108173,[[32,44,null,1,false,false,false,408589059761379,false]],[],[[0,null,false,null,775926361970201,[[32,42,null,0,false,false,false,703215504042706,false,[[4,4]]],[-1,45,null,0,false,true,false,767464641844019,false,[[5,[2,"KnivesList"]]]],[-1,45,null,0,false,true,false,839124397777085,false,[[5,[2,"Settings"]]]],[-1,45,null,0,false,true,false,846714454347327,false,[[5,[2,"Apples"]]]]],[[-1,46,null,723842840159199,false,[[6,"Game"]]],[-1,40,null,238184734262848,false,[[11,"Stage"],[7,[0,1]]]],[-1,34,null,832028970322917,false,[[0,[1,0.1]]]],[-1,40,null,316737782901082,false,[[11,"Start"],[7,[0,1]]]]]],[0,null,false,null,681208692420395,[[32,42,null,0,false,false,false,135951581800407,false,[[4,7]]],[-1,45,null,0,false,false,false,872003594375053,false,[[5,[2,"Equip"]]]]],[[-1,47,null,797814848366423,false,[[5,[2,"Equip"]],[3,0]]]]],[0,null,false,null,419703091150990,[[32,42,null,0,false,false,false,475071879852544,false,[[4,8]]],[-1,45,null,0,false,false,false,139353947185580,false,[[5,[2,"Equip"]]]]],[],[[0,null,false,null,676147034269936,[[-1,48,null,0,false,true,false,892768461165212,false,[[7,[5,[19,49,[[23,"CollectedKnives"],[2,","]]],[0,1]]],[8,0],[7,[23,"CurBoss"]]]]],[[-1,50,null,192249917680301,false,[[11,"CurBoss"],[7,[0,1]]]]]],[0,null,false,null,131581364059264,[[-1,48,null,0,false,false,false,591289443416859,false,[[7,[5,[19,49,[[23,"CollectedKnives"],[2,","]]],[0,1]]],[8,0],[7,[23,"CurBoss"]]]]],[[-1,47,null,731682297073992,false,[[5,[2,"Equip"]],[3,0]]],[-1,47,null,182715207235675,false,[[5,[2,"EquipBack"]],[3,0]]],[-1,34,null,554242329071720,false,[[0,[1,0.1]]]],[-1,40,null,952951180430319,false,[[11,"Start"],[7,[0,1]]]]]],[0,null,false,null,546288704180699,[[40,51,null,0,false,false,false,731055386029111,false,[[10,2],[8,0],[7,[0,1]]]],[40,52,null,0,false,false,true,189327098633449,false,[[3,1]]]],[[-1,40,null,903887859914990,false,[[11,"SelectedKnife"],[7,[20,40,53,false,null]]]],[67,54,null,119092424236049,false,[[1,[2,"KnifeHit-SelectedKnife"]],[7,[20,40,53,false,null]]]],[33,55,null,870813751095346,false,[[1,[2,"saveData"]],[13]]]]]]],[0,null,false,null,698176797180306,[[32,42,null,0,false,false,false,367779568119964,false,[[4,11]]],[-1,56,null,0,false,false,false,994278766883044,false,[[11,"Apples"],[8,4],[7,[21,11,false,null,0]]]],[11,57,null,0,false,false,false,613373430140816,false]],[[-1,58,null,530389511189095,false,[[11,"Apples"],[7,[21,11,false,null,0]]]],[67,54,null,518890888352041,false,[[1,[2,"KnifeHit-Apples"]],[7,[23,"Apples"]]]]],[[0,null,false,null,802431970247310,[[22,51,null,0,false,false,false,998782183281431,false,[[10,0],[8,0],[7,[21,11,false,null,1]]]]],[[-1,40,null,897217950191836,false,[[11,"UnlockedKnives"],[7,[10,[10,[23,"UnlockedKnives"],[19,59,[[21,22,false,null,0]]]],[2,","]]]]],[67,54,null,754698681097993,false,[[1,[2,"KnifeHit-UnlockedKnives"]],[7,[10,[10,[23,"UnlockedKnives"],[19,59,[[21,22,false,null,0]]]],[2,","]]]]],[-1,40,null,529302009651612,false,[[11,"SelectedKnife"],[7,[21,22,false,null,0]]]],[67,54,null,638023198364807,false,[[1,[2,"KnifeHit-SelectedKnife"]],[7,[21,22,false,null,0]]]],[22,60,null,998941718412692,false,[[10,4],[7,[0,1]]]],[22,61,null,327867159301811,false,[[0,[0,100]]]],[22,62,null,278231080293520,false],[26,62,null,925731224371721,false]],[[0,null,false,null,938219242346008,[[67,63,null,0,false,false,false,616980742676781,false,[[1,[2,"KnifeHit-SelectedKnife"]]]]],[[-1,40,null,200653690014976,false,[[11,"SelectedKnife"],[7,[20,67,64,false,null,[[2,"KnifeHit-SelectedKnife"]]]]]]]],[0,null,false,null,115495377150670,[[67,63,null,0,false,true,false,377303970789839,false,[[1,[2,"KnifeHit-SelectedKnife"]]]]],[[-1,40,null,373891646522460,false,[[11,"SelectedKnife"],[7,[0,0]]]]]],[0,null,false,null,431483865449597,[[67,63,null,0,false,false,false,849857348649085,false,[[1,[2,"KnifeHit-UnlockedKnives"]]]]],[[-1,40,null,546361147136007,false,[[11,"UnlockedKnives"],[7,[20,67,64,false,null,[[2,"KnifeHit-UnlockedKnives"]]]]]]]],[0,null,false,null,638756590332031,[[67,63,null,0,false,true,false,393244804838456,false,[[1,[2,"KnifeHit-UnlockedKnives"]]]]],[[-1,40,null,262028536376852,false,[[11,"UnlockedKnives"],[7,[2,""]]]]]],[0,null,false,null,640185450523312,[],[[33,55,null,676809363711203,false,[[1,[2,"saveData"]],[13]]]]]]]]],[0,null,false,null,510898965614962,[[-1,45,null,0,false,false,false,411065483530823,false,[[5,[2,"Lose"]]]],[-1,65,null,0,false,false,false,582146737023133,false,[[5,[2,"Lose"]],[8,4],[0,[0,80]]]],[32,42,null,0,false,false,false,560128286073284,false,[[4,10]]]],[[-1,38,null,301424280143656,false],[-1,46,null,237215153695786,false,[[6,"Menu"]]]]],[0,null,false,null,491357899446589,[[32,42,null,0,false,false,false,312131966909694,false,[[4,10]]],[-1,45,null,0,false,false,false,977436781786849,false,[[5,[2,"KnivesList"]]]]],[[-1,47,null,877721908984258,false,[[5,[2,"KnivesList"]],[3,0]]]]],[0,null,false,null,738863823138861,[[32,42,null,0,false,false,false,103467382726942,false,[[4,2]]],[-1,45,null,0,false,true,false,723293842609129,false,[[5,[2,"Apples"]]]],[-1,45,null,0,false,true,false,230045778679183,false,[[5,[2,"Settings"]]]]],[],[[0,null,false,null,230195204541607,[[-1,45,null,0,false,true,false,996038784336102,false,[[5,[2,"KnivesList"]]]]],[[-1,47,null,294375194988619,false,[[5,[2,"KnivesList"]],[3,1]]]]],[0,null,false,null,815483089223338,[[-1,48,null,0,false,false,false,465375126035140,false,[[7,[19,66]],[8,0],[7,[2,"Game"]]]]],[[-1,38,null,461158803100829,false],[-1,46,null,660055673778256,false,[[6,"Menu"]]],[-1,40,null,209188311721239,false,[[11,"GoKnivesPage"],[7,[0,1]]]]]]]],[0,null,false,null,519020814172251,[[32,42,null,0,false,false,false,945484064295790,false,[[4,6]]]],[[-1,38,null,282313901313928,false],[-1,46,null,777129759896878,false,[[6,"Menu"]]],[-1,40,null,550386649609034,false,[[11,"GoSettingsPage"],[7,[0,1]]]]]],[0,null,false,null,982139585445869,[[32,42,null,0,false,false,false,794558733125814,false,[[4,1]]],[-1,45,null,0,false,true,false,972864490776754,false,[[5,[2,"KnivesList"]]]],[-1,56,null,0,false,false,false,262727193238458,false,[[11,"GiftReady"],[8,0],[7,[0,1]]]],[-1,45,null,0,false,true,false,954385324228086,false,[[5,[2,"Settings"]]]]],[[37,67,null,488927650230580,false,[[1,[2,"TheTimer"]]]],[-1,47,null,472663740865943,false,[[5,[2,"Apples"]],[3,1]]],[-1,47,null,132356583451598,false,[[5,[2,"Black"]],[3,1]]],[38,37,null,203728480495561,false,[[3,0],[7,[2,"G"]]]]]],[0,null,false,null,197483457567539,[[-1,45,null,0,false,false,false,344974771018708,false,[[5,[2,"Lose"]]]],[-1,65,null,0,false,false,false,280854348245618,false,[[5,[2,"Lose"]],[8,4],[0,[0,80]]]],[32,42,null,0,false,false,false,561526235515001,false,[[4,9]]]],[[33,55,null,713245755996095,false,[[1,[2,"Reset"]],[13,[7,[23,"Stage"]],[7,[23,"UnlockedKnives"]],[7,[23,"SelectedKnife"]]]]]]],[0,null,false,null,862427328059381,[[-1,45,null,0,false,true,false,857814348472852,false,[[5,[2,"KnivesList"]]]],[-1,45,null,0,false,true,false,112006497955772,false,[[5,[2,"Apples"]]]],[-1,56,null,0,false,false,false,988588939240085,false,[[11,"InKnivePage"],[8,0],[7,[0,0]]]],[32,42,null,0,false,false,false,392034179473141,false,[[4,5]]]],[[-1,47,null,323113907285730,false,[[5,[2,"Settings"]],[3,1]]],[-1,34,null,883396902896262,false,[[0,[1,0.001]]]],[-1,40,null,613327039455581,false,[[11,"InSettingsPage"],[7,[0,1]]]]]],[0,null,false,null,995832679620066,[[32,42,null,0,false,false,false,250885150134206,false,[[4,10]]],[10,68,null,0,false,false,false,618886078012219,false,[[5,[2,"Settings"]]]],[-1,56,null,0,false,false,false,709976540517843,false,[[11,"InSettingsPage"],[8,0],[7,[0,1]]]]],[[-1,47,null,389578317997046,false,[[5,[2,"Settings"]],[3,0]]],[-1,34,null,445609570378026,false,[[0,[1,0.001]]]],[-1,40,null,455951075831052,false,[[11,"InSettingsPage"],[7,[0,0]]]]]],[0,null,false,null,670757362169848,[[32,42,null,0,false,false,false,832618059907286,false,[[4,51]]],[-1,45,null,0,false,false,false,461718597147770,false,[[5,[2,"Settings"]]]]],[[33,55,null,382520549528352,false,[[1,[2,"clearData"]],[13]]],[33,55,null,232901308529730,false,[[1,[2,"reset1"]],[13,[7,[23,"Sound"]],[7,[0,1]]]]]]],[0,null,false,null,543190210178661,[[32,42,null,0,false,false,false,134116094352726,false,[[4,0]]],[-1,45,null,0,false,true,false,331117867326151,false,[[5,[2,"Settings"]]]],[-1,45,null,0,false,true,false,319753621579420,false,[[5,[2,"Apples"]]]],[-1,45,null,0,false,true,false,157649860397159,false,[[5,[2,"KnivesList"]]]]],[[38,69,null,712108494084298,false,[[1,[2,"http://FB.com/YourPage"]],[1,[2,"NewWindow"]]]]]],[0,null,false,null,864067069091325,[[32,42,null,0,false,false,false,109781742194686,false,[[4,3]]],[-1,45,null,0,false,true,false,141135261087451,false,[[5,[2,"Settings"]]]],[-1,45,null,0,false,true,false,561570136535173,false,[[5,[2,"Apples"]]]],[-1,45,null,0,false,true,false,312871372865994,false,[[5,[2,"KnivesList"]]]]],[[38,69,null,347931319245735,false,[[1,[2,"http://ItemPage.com/"]],[1,[2,"NewWindow"]]]]]]]],[0,null,false,null,386552055822271,[[33,36,null,2,false,false,false,160054261101490,false,[[1,[2,"reset1"]]]]],[[-1,38,null,692404264056799,false],[-1,39,null,893063715935744,false],[-1,40,null,842345283329775,false,[[11,"Sound"],[7,[20,33,41,false,null,[[0,0]]]]]],[-1,40,null,189235869574604,false,[[11,"GoSettingsPage"],[7,[20,33,41,false,null,[[0,1]]]]]]]],[0,null,false,null,717611566586024,[[48,51,null,0,false,false,false,390146100409915,false,[[10,0],[8,0],[7,[0,0]]]]],[[48,61,null,514218767340875,false,[[0,[0,20]]]]]],[0,null,false,null,985271310422522,[[49,51,null,0,false,false,false,426278859471777,false,[[10,0],[8,0],[7,[0,0]]]]],[[49,61,null,238552122824098,false,[[0,[0,20]]]]]],[0,null,false,null,986773729387539,[[-1,56,null,0,false,false,false,239794630220176,false,[[11,"GoKnivesPage"],[8,0],[7,[0,1]]]]],[[-1,47,null,471436938544308,false,[[5,[2,"KnivesList"]],[3,1]]],[-1,40,null,555433312481626,false,[[11,"GoKnivesPage"],[7,[0,0]]]]]],[0,null,false,null,441890946394440,[[-1,56,null,0,false,false,false,272005102096266,false,[[11,"GoSettingsPage"],[8,0],[7,[0,1]]]]],[[-1,47,null,620699361115232,false,[[5,[2,"Settings"]],[3,1]]],[-1,40,null,195760543969624,false,[[11,"InSettingsPage"],[7,[0,1]]]],[-1,40,null,313653752483977,false,[[11,"GoSettingsPage"],[7,[0,0]]]]]]]],[0,[true,"Local Storage"],false,null,974349351504788,[[-1,20,null,0,false,false,false,974349351504788,false,[[1,[2,"Local Storage"]]]]],[],[[0,null,false,null,966812459853744,[[-1,21,null,1,false,false,false,418800532022188,false]],[[34,70,null,674680151011302,false,[[1,[2,"KnifeHit-BestScore"]]]],[34,70,null,147313439513522,false,[[1,[2,"KnifeHit-BestStage"]]]],[34,70,null,484804939437633,false,[[1,[2,"KnifeHit-Apples"]]]],[34,70,null,616051927398357,false,[[1,[2,"KnifeHit-SelectedKnife"]]]],[34,70,null,192206593453200,false,[[1,[2,"KnifeHit-UnlockedKnives"]]]],[34,70,null,961448265491660,false,[[1,[2,"KnifeHit-Time"]]]],[34,70,null,565925884741520,false,[[1,[2,"KnifeHit-TheTimer"]]]],[34,70,null,843833201960597,false,[[1,[2,"KnifeHit-SocialGift"]]]]]],[0,null,false,null,404752951586876,[],[]],[0,null,false,null,115393605365970,[],[]],[0,null,false,null,408688043608913,[],[]],[0,null,false,null,869954672971619,[],[]],[0,null,false,null,749271609635784,[],[]],[0,null,false,null,734483928144585,[],[],[[0,null,false,null,723824377790480,[],[]]]]]],[0,[true,"Knives List"],false,null,826754320729158,[[-1,20,null,0,false,false,false,826754320729158,false,[[1,[2,"Knives List"]]]]],[],[[0,null,false,null,659858683050751,[[-1,21,null,1,false,false,false,911946127746729,false],[-1,48,null,0,false,false,false,653374756725704,false,[[7,[19,66]],[8,0],[7,[2,"Menu"]]]]],[[-1,47,null,185823511268942,false,[[5,[2,"KnivesList"]],[3,0]]],[-1,71,null,805732462031524,false,[[4,40],[5,[2,"KnivesList"]],[0,[4,[7,[19,72],[0,2]],[0,120]]],[0,[0,100]]]],[40,60,null,123578392244805,false,[[10,4],[7,[0,1]]]],[40,73,"LPos",150644173327946,false,[[3,0]]],[40,43,null,115089707939872,false,[[0,[1,0.5]]]],[40,74,null,798872936152341,false,[[0,[0,50]]]],[11,75,null,787605153628772,false,[[3,0]]],[26,75,null,543681922940474,false,[[3,0]]]],[[0,null,false,null,966186997176240,[[-1,23,null,0,true,false,false,321427499259793,false,[[1,[2,"j"]],[0,[0,0]],[0,[0,4]]]],[-1,23,null,0,true,false,false,752191311230650,false,[[1,[2,"i"]],[0,[0,0]],[0,[0,3]]]]],[[-1,71,null,720498802030297,false,[[4,22],[5,[2,"KnivesList"]],[0,[4,[4,[0,50],[6,[19,27,[[2,"i"]]],[1,171.4285714285714]]],[0,50]]],[0,[4,[4,[0,450],[6,[19,27,[[2,"j"]]],[1,171.4285714285714]]],[0,40]]]]],[22,60,null,248302924534255,false,[[10,0],[7,[23,"ShowNum"]]]],[-1,71,null,536531161821442,false,[[4,40],[5,[2,"KnivesList"]],[0,[4,[4,[0,60],[6,[19,27,[[2,"i"]]],[1,171.4285714285714]]],[0,100]]],[0,[5,[4,[0,450],[6,[19,27,[[2,"j"]]],[1,171.4285714285714]]],[0,20]]]]],[40,60,null,966923911822539,false,[[10,2],[7,[0,1]]]],[40,73,"LPos",612215954815780,false,[[3,0]]],[40,74,null,603866029582571,false,[[0,[0,45]]]],[40,76,null,120173300484557,false,[[3,0]]],[40,43,null,769914840218575,false,[[0,[1,0.25]]]],[40,77,null,982014817845268,false,[[0,[23,"ShowNum"]]]],[-1,50,null,775812224638118,false,[[11,"ShowNum"],[7,[0,1]]]]]]]],[0,null,false,null,548723077232541,[[22,51,null,0,false,false,false,596023791439682,false,[[10,0],[8,0],[7,[23,"SelectedKnife"]]]],[22,78,null,0,false,false,false,661442580402440,false,[[8,0],[0,[0,100]]]]],[[22,77,null,514293766228049,false,[[0,[0,1]]]]]],[0,null,false,null,745231944432589,[[22,51,null,0,false,true,false,707235939938603,false,[[10,0],[8,0],[7,[23,"SelectedKnife"]]]]],[[22,77,null,846049827114945,false,[[0,[0,0]]]]]],[0,null,false,null,960917381910256,[[-1,56,null,0,false,true,false,558680439889443,false,[[11,"UnlockedKnives"],[8,0],[7,[2,""]]]],[-1,79,null,0,false,false,false,639822316015581,false]],[],[[0,null,false,null,404987642904549,[[-1,80,null,0,true,false,false,603162482445537,false,[[4,22]]]],[],[[0,null,false,null,550475215216782,[[-1,48,null,0,false,false,false,966398892474382,false,[[7,[19,81,[[23,"UnlockedKnives"],[10,[21,22,false,null,0],[2,","]]]]],[8,0],[7,[0,-1]]]]],[[22,61,null,525833173337694,false,[[0,[0,20]]]],[22,82,null,224344987237608,false]]],[0,null,false,null,911942932141313,[[-1,48,null,0,false,true,false,597028292914746,false,[[7,[19,81,[[23,"UnlockedKnives"],[10,[21,22,false,null,0],[2,","]]]]],[8,0],[7,[0,-1]]]]],[[22,61,null,299964912074454,false,[[0,[0,100]]]]]]]]]],[0,null,false,null,441740249027066,[[-1,56,null,0,false,false,false,957381763792996,false,[[11,"UnlockedKnives"],[8,0],[7,[2,""]]]],[-1,79,null,0,false,false,false,480385899965105,false]],[[22,61,null,726926974474956,false,[[0,[0,20]]]]]],[0,null,false,null,959673783553398,[[40,51,null,0,false,false,false,415019292378494,false,[[10,4],[8,0],[7,[0,1]]]]],[[40,77,null,556941671635705,false,[[0,[23,"SelectedKnife"]]]],[25,74,null,763876803255161,false,[[0,[4,[20,25,83,false,null],[6,[21,25,false,null,0],[21,25,false,null,1]]]]]],[25,62,null,496005020165401,false],[25,84,null,758752678099488,false,[[0,[20,40,85,false,null,[[0,1]]]],[0,[20,40,86,false,null,[[0,1]]]]]]]],[0,null,false,null,934750672347368,[[-1,80,null,0,true,false,false,364159527885469,false,[[4,22]]],[74,87,null,0,false,false,false,199873189396081,false,[[4,22]]]],[],[[0,null,false,null,911828034566646,[[22,78,null,0,false,false,false,980918935785480,false,[[8,0],[0,[0,20]]]]],[[74,61,null,299902618798129,false,[[0,[0,20]]]]]],[0,null,false,null,203550790767911,[[22,78,null,0,false,false,false,676108800123304,false,[[8,0],[0,[0,100]]]]],[[74,61,null,998822996436691,false,[[0,[0,100]]]]]]]],[0,null,false,null,850208857398019,[[-1,45,null,0,false,false,false,549339721902973,false,[[5,[2,"KnivesList"]]]]],[[-1,34,null,609840668723462,false,[[0,[1,0.1]]]],[-1,40,null,613068283801886,false,[[11,"InKnivePage"],[7,[0,1]]]]],[[0,null,false,null,440905721575388,[[28,28,null,0,false,false,false,925627102665654,false,[[10,0],[8,0],[7,[2,"apple"]]]]],[[15,88,null,209399023058611,false,[[5,[2,"KnivesList"]]]],[28,89,null,465096709119952,false,[[5,[2,"KnivesList"]]]]]]]],[0,null,false,null,747609249828755,[[-1,45,null,0,false,true,false,921140226970926,false,[[5,[2,"KnivesList"]]]]],[[-1,40,null,466062866228202,false,[[11,"InKnivePage"],[7,[0,0]]]]],[[0,null,false,null,565146738312512,[[28,28,null,0,false,false,false,550782717104535,false,[[10,0],[8,0],[7,[2,"apple"]]]]],[[15,88,null,252405019571464,false,[[5,[2,"Menu"]]]],[28,89,null,866702101698632,false,[[5,[2,"Menu"]]]]]]]],[0,null,false,null,955665254073678,[[32,44,null,1,false,false,false,464310984426783,false]],[],[[0,null,false,null,156971792152087,[[32,42,null,0,false,false,false,101526646041147,false,[[4,22]]],[22,78,null,0,false,false,false,400714157005882,false,[[8,0],[0,[0,100]]]],[-1,56,null,0,false,false,false,880329020626705,false,[[11,"InKnivePage"],[8,0],[7,[0,1]]]]],[[67,54,null,749376414005011,false,[[1,[2,"KnifeHit-SelectedKnife"]],[7,[21,22,false,null,0]]]],[-1,40,null,170777114658053,false,[[11,"SelectedKnife"],[7,[21,22,false,null,0]]]]],[[0,null,false,null,706798647158689,[[67,63,null,0,false,false,false,356133114775083,false,[[1,[2,"KnifeHit-SelectedKnife"]]]]],[[-1,40,null,697961800353322,false,[[11,"SelectedKnife"],[7,[20,67,64,false,null,[[2,"KnifeHit-SelectedKnife"]]]]]]]],[0,null,false,null,353648938214691,[[67,63,null,0,false,true,false,417945002421315,false,[[1,[2,"KnifeHit-SelectedKnife"]]]]],[[-1,40,null,900664194451154,false,[[11,"SelectedKnife"],[7,[0,0]]]]]]]],[0,null,false,null,799536361264798,[[32,42,null,0,false,false,false,118824543415864,false,[[4,22]]],[28,28,null,0,false,false,false,943453156101011,false,[[10,0],[8,0],[7,[2,"price"]]]],[-1,56,null,0,false,false,false,533297549658617,false,[[11,"InKnivePage"],[8,0],[7,[0,1]]]]],[[26,84,null,946832115408652,false,[[0,[20,22,30,false,null]],[0,[20,22,31,false,null]]]],[26,75,null,472248639080107,false,[[3,1]]]],[[0,null,false,null,693214708764022,[[22,51,null,0,false,false,false,108435937504338,false,[[10,0],[8,3],[7,[0,8]]]],[22,51,null,0,false,false,false,791468548252832,false,[[10,4],[8,0],[7,[0,0]]]]],[[28,32,null,421570623923744,false,[[7,[10,[21,22,false,null,3],[2," Apples"]]]]],[11,84,null,323845734506462,false,[[0,[4,[20,26,30,false,null],[0,50]]],[0,[4,[20,26,31,false,null],[0,55]]]]]],[[0,null,false,null,952855149549778,[[-1,56,null,0,false,false,false,531845066709868,false,[[11,"Apples"],[8,5],[7,[21,22,false,null,3]]]]],[[11,75,null,991301973297882,false,[[3,1]]],[11,60,null,168520209809444,false,[[10,0],[7,[21,22,false,null,3]]]],[11,60,null,260854252467515,false,[[10,1],[7,[21,22,false,null,0]]]]]]]],[0,null,false,null,110747665109518,[[22,51,null,0,false,false,false,924097742106921,false,[[10,0],[8,4],[7,[0,8]]]]],[[11,75,null,766837318776438,false,[[3,0]]],[11,60,null,438508080566978,false,[[10,0],[7,[0,0]]]]],[[0,null,false,null,631235126145767,[[22,78,null,0,false,false,false,921697264221058,false,[[8,0],[0,[0,100]]]]],[[28,32,null,706345941627705,false,[[7,[10,[19,90,[[2,"Boss Defeated: "]]],[19,91,[[23,"BossList"],[5,[21,22,false,null,0],[0,8]],[2,"/"]]]]]]]]]]],[0,null,false,null,122099902425622,[[22,78,null,0,false,false,false,263611892883069,false,[[8,0],[0,[0,100]]]],[22,51,null,0,false,false,false,809772255467352,false,[[10,0],[8,3],[7,[0,8]]]]],[[28,32,null,137061016786672,false,[[7,[2,"Bought"]]]],[22,60,null,458067602532540,false,[[10,4],[7,[0,1]]]],[11,75,null,266401064699968,false,[[3,0]]]]],[0,null,false,null,646384698808518,[[-1,56,null,0,false,false,false,147235608750777,false,[[11,"Apples"],[8,2],[7,[21,22,false,null,3]]]],[22,51,null,0,false,false,false,816953329164235,false,[[10,0],[8,3],[7,[0,8]]]]],[[11,75,null,397291568241543,false,[[3,0]]]]],[0,null,false,null,707751275237383,[[22,51,null,0,false,false,false,277618061169303,false,[[10,0],[8,4],[7,[0,8]]]],[22,78,null,0,false,true,false,749865176266561,false,[[8,0],[0,[0,100]]]]],[[28,32,null,439591862857105,false,[[7,[10,[19,90,[[2,"Boss Defeat: "]]],[19,91,[[23,"BossList"],[5,[21,22,false,null,0],[0,8]],[2,"/"]]]]]]]]],[0,null,false,null,594162212584533,[[-1,56,null,0,false,false,false,704191891598872,false,[[11,"Apples"],[8,4],[7,[19,92,[[21,22,false,null,3]]]]]]],[[26,77,null,836858307231124,false,[[0,[0,1]]]]]],[0,null,false,null,891831516862246,[[-1,93,null,0,false,false,false,398740274825359,false]],[[26,77,null,637252265259410,false,[[0,[0,0]]]]]]]]]],[0,null,false,null,612816982908530,[[22,51,null,0,false,false,false,308849764815176,false,[[10,0],[8,4],[7,[0,8]]]]],[[22,60,null,694955959129029,false,[[10,3],[7,[0,999999]]]]]],[0,null,false,null,602046608137201,[[22,51,null,0,false,false,false,156358397084894,false,[[10,0],[8,3],[7,[0,8]]]]],[[22,60,null,616211592425878,false,[[10,3],[7,[0,250]]]]]],[0,null,false,null,638605325988108,[],[[34,70,null,668530447427308,false,[[1,[2,"KnifeHit-UnlockedKnives"]]]]],[[0,null,false,null,680273322738977,[[67,63,null,0,false,false,false,723958011596396,false,[[1,[2,"KnifeHit-UnlockedKnives"]]]]],[[-1,40,null,358935162257800,false,[[11,"UnlockedKnives"],[7,[20,67,64,false,null,[[2,"KnifeHit-UnlockedKnives"]]]]]]]],[0,null,false,null,579801066111765,[[67,63,null,0,false,true,false,863510994919309,false,[[1,[2,"KnifeHit-UnlockedKnives"]]]]],[[-1,40,null,780748332563255,false,[[11,"UnlockedKnives"],[7,[2,""]]]]]]]]]],[0,[true,"TheTimer"],false,null,737614201870414,[[-1,20,null,0,false,false,false,737614201870414,false,[[1,[2,"TheTimer"]]]]],[],[[0,null,false,null,214802932801062,[[-1,94,null,0,false,false,false,599328043279220,false]],[],[[0,null,false,null,219582142718328,[[27,28,null,0,false,false,false,982646794581366,false,[[10,0],[8,0],[7,[2,"time"]]]]],[[27,29,null,233754050227033,false,[[0,[20,1,30,false,null]],[0,[4,[20,1,31,false,null],[0,70]]]]]],[[0,null,false,null,965156302283513,[[-1,56,null,0,false,false,false,130776827559263,false,[[11,"GiftReady"],[8,0],[7,[0,0]]]]],[[27,32,null,546146192398314,false,[[7,[10,[10,[10,[10,[19,95,[[23,"H"],[0,2]]],[2,":"]],[19,95,[[23,"M"],[0,2]]]],[2,":"]],[19,95,[[23,"S"],[0,2]]]]]]]]],[0,null,false,null,716307160937698,[[-1,56,null,0,false,false,false,227086978441809,false,[[11,"GiftReady"],[8,0],[7,[0,1]]]]],[[27,32,null,551644295840242,false,[[7,[2,"READY!"]]]]]]]]]],[0,null,false,null,552861347917051,[[-1,21,null,1,false,false,false,993173865464831,false]],[[37,96,null,100311797054776,false,[[1,[2,"TheTimer"]]]]]],[0,null,false,null,834576272828773,[[-1,94,null,0,false,false,false,666411526379911,false]],[[-1,40,null,802528515898209,false,[[11,"H"],[7,[19,97,[[8,[7,[5,[0,28800],[19,92,[[20,37,98,false,null,[[2,"TheTimer"]]]]]],[0,3600]],[0,24]]]]]]],[-1,40,null,313415575763736,false,[[11,"M"],[7,[19,97,[[8,[7,[5,[0,28800],[19,92,[[20,37,98,false,null,[[2,"TheTimer"]]]]]],[0,60]],[0,60]]]]]]],[-1,40,null,521513247894183,false,[[11,"S"],[7,[19,97,[[8,[5,[0,28800],[19,92,[[20,37,98,false,null,[[2,"TheTimer"]]]]]],[0,60]]]]]]]],[[0,null,false,null,549606660308080,[[-1,56,null,0,false,false,false,369589618094298,false,[[11,"H"],[8,5],[7,[0,8]]]]],[[-1,40,null,126056359179603,false,[[11,"H"],[7,[0,7]]]]]],[0,null,false,null,218595954968795,[[-1,56,null,0,false,false,false,388350632514744,false,[[11,"H"],[8,3],[7,[0,0]]]]],[[-1,40,null,426289727314037,false,[[11,"H"],[7,[0,0]]]]]],[0,null,false,null,249828657293442,[[-1,56,null,0,false,false,false,171395120389402,false,[[11,"M"],[8,3],[7,[0,0]]]]],[[-1,40,null,757209677716912,false,[[11,"M"],[7,[0,0]]]]]],[0,null,false,null,341282195607786,[[-1,56,null,0,false,false,false,868568978985368,false,[[11,"S"],[8,3],[7,[0,0]]]]],[[-1,40,null,317260436561569,false,[[11,"S"],[7,[0,0]]]]]]]],[0,null,false,null,275581211779444,[[-1,56,null,0,false,false,false,551899244226232,false,[[11,"H"],[8,3],[7,[0,0]]]],[-1,56,null,0,false,false,false,561442581649075,false,[[11,"M"],[8,3],[7,[0,0]]]],[-1,56,null,0,false,false,false,915889628628393,false,[[11,"S"],[8,3],[7,[0,0]]]]],[[-1,40,null,611686611612874,false,[[11,"GiftReady"],[7,[0,1]]]]]],[0,null,false,null,967344900543039,[[-1,93,null,0,false,false,false,316657111040117,false]],[[-1,40,null,241100338548705,false,[[11,"GiftReady"],[7,[0,0]]]]]],[0,null,false,null,637396618049848,[[37,99,null,1,false,false,false,962505147345041,false,[[1,[2,"TheTimer"]]]],[37,100,null,0,false,true,false,848583160449611,false,[[1,[2,"TheTimer"]]]]],[[37,67,null,641757845244391,false,[[1,[2,"TheTimer"]]]]]]]],[1,"ShowApplesNum",0,0,false,false,480872264040777,false],[1,"showAppNum",0,0,false,false,183966188804385,false],[0,[true,"Apples Layer"],false,null,496948341885171,[[-1,20,null,0,false,false,false,496948341885171,false,[[1,[2,"Apples Layer"]]]]],[],[[1,"ApplesNum",0,0,false,false,802729106319253,false],[0,null,false,null,130710050918770,[[-1,21,null,1,false,false,false,604855820666229,false]],[[-1,47,null,348605622619510,false,[[5,[2,"Apples"]],[3,0]]],[-1,47,null,574205094660066,false,[[5,[2,"Black"]],[3,0]]],[47,101,null,663068854867202,false]]],[0,null,false,null,889502126924518,[[-1,45,null,0,false,false,false,880517262383164,false,[[5,[2,"Apples"]]]]],[],[[0,null,false,null,542477577888134,[[-1,79,null,0,false,false,false,891152930444906,false]],[[-1,40,null,505167528873115,false,[[11,"ApplesNum"],[7,[19,92,[[19,102,[[0,100],[0,150]]]]]]]],[-1,40,null,955395746888236,false,[[11,"showAppNum"],[7,[23,"ApplesNum"]]]]],[[0,null,false,null,759900779384177,[[-1,23,null,0,true,false,false,798635882181235,false,[[1,[2,""]],[0,[0,1]],[0,[23,"ApplesNum"]]]]],[[-1,71,null,514451230617534,false,[[4,47],[5,[2,"Apples"]],[0,[19,102,[[0,80],[5,[19,72],[0,80]]]]],[0,[19,102,[[0,80],[5,[19,103],[0,80]]]]]]],[47,60,null,191533492879941,false,[[10,0],[7,[19,102,[[1,0.5],[1,1.5]]]]]],[-1,34,null,430843305772867,false,[[0,[21,47,false,null,0]]]],[47,35,"L_Scale",261535807635801,false,[[3,0],[3,0]]],[47,35,"L_Opac",727003119140495,false,[[3,0],[3,0]]],[-1,34,null,451222926743872,false,[[0,[1,0.5]]]],[47,101,null,411995067704115,false]]]]],[0,null,false,null,514896632919414,[[28,28,null,0,false,false,false,236670315749166,false,[[10,0],[8,0],[7,[2,"applesnum"]]]]],[[28,32,null,382933352770501,false,[[7,[10,[2,"+"],[23,"ShowApplesNum"]]]]],[28,29,null,925055999680093,false,[[0,[7,[19,72],[0,2]]],[0,[7,[19,103],[0,2]]]]],[28,104,null,294347665779140,false,[[0,[7,[6,[23,"ShowApplesNum"],[0,100]],[23,"ApplesNum"]]]]]]],[0,null,false,null,666823051199556,[[47,105,null,1,false,false,false,670697357337419,false]],[[-1,50,null,159230899438755,false,[[11,"ShowApplesNum"],[7,[0,1]]]],[-1,50,null,823172731331598,false,[[11,"Apples"],[7,[0,1]]]],[38,37,null,699688243044749,false,[[3,0],[7,[10,[2,"Apples Num"],[23,"ApplesNum"]]]]]],[[0,null,false,null,307012588886966,[[-1,56,null,0,false,false,false,667476721150521,false,[[11,"showAppNum"],[8,0],[7,[23,"ShowApplesNum"]]]]],[[-1,40,null,400327761650032,false,[[11,"BlackFade"],[7,[0,1]]]],[67,54,null,818388526859837,false,[[1,[2,"KnifeHit-Apples"]],[7,[23,"Apples"]]]],[33,55,null,128762389509736,false,[[1,[2,"saveData"]],[13]]]]]]]]],[0,null,false,null,531309941573922,[[-1,56,null,0,false,false,false,849014116682044,false,[[11,"BlackFade"],[8,0],[7,[0,1]]]]],[[-1,106,null,924645855819396,false,[[5,[2,"Black"]],[0,[5,[19,107,[[2,"Black"]]],[0,5]]]]],[-1,106,null,325663138124679,false,[[5,[2,"Apples"]],[0,[19,107,[[2,"Black"]]]]]],[-1,34,null,463293008903124,false,[[0,[0,1]]]],[-1,40,null,232257719966334,false,[[11,"BlackFade"],[7,[0,2]]]],[-1,47,null,578092798533914,false,[[5,[2,"Apples"]],[3,0]]],[-1,47,null,718764314765115,false,[[5,[2,"Black"]],[3,0]]]]]]],[0,[true,"Sounds"],false,null,659585428066218,[[-1,20,null,0,false,false,false,659585428066218,false,[[1,[2,"Sounds"]]]]],[],[[0,null,false,null,262831422878063,[[32,44,null,1,false,false,false,450886632504425,false]],[],[[0,null,false,null,290300198147848,[[32,42,null,0,false,false,false,974549919093408,false,[[4,50]]]],[],[[0,null,false,null,820518260876672,[[50,108,null,0,false,false,false,488568700044455,false,[[8,0],[0,[0,0]]]]],[[-1,40,null,318132923476920,false,[[11,"Sound"],[7,[0,0]]]]]],[0,null,false,null,587184980648844,[[50,108,null,0,false,false,false,378454705352231,false,[[8,0],[0,[0,1]]]]],[[-1,40,null,792644146228561,false,[[11,"Sound"],[7,[0,1]]]]]]]]]],[0,null,false,null,332837807328100,[[-1,56,null,0,false,false,false,831605758379216,false,[[11,"Sound"],[8,0],[7,[0,1]]]]],[[50,77,null,881687297615425,false,[[0,[0,0]]]]]],[0,null,false,null,843850900710017,[[-1,56,null,0,false,false,false,882430624518359,false,[[11,"Sound"],[8,0],[7,[0,0]]]]],[[50,77,null,692277838798136,false,[[0,[0,1]]]]]],[0,null,false,null,803885662235909,[[33,36,null,2,false,false,false,109241613945429,false,[[1,[2,"PlaySound"]]]],[-1,56,null,0,false,false,false,891975121740762,false,[[11,"Sound"],[8,0],[7,[0,1]]]]],[],[[0,null,false,null,628437056371375,[[33,109,null,0,false,false,false,658025519866844,false,[[0,[0,0]],[8,0],[7,[2,"hit"]]]]],[[35,110,null,558415237327324,false,[[2,["hit",false]],[3,0],[0,[0,0]],[1,[2,""]]]]]],[0,null,false,null,124167593174086,[[33,109,null,0,false,false,false,733313676626736,false,[[0,[0,0]],[8,0],[7,[2,"block"]]]]],[[35,110,null,188172575311825,false,[[2,["block",false]],[3,0],[0,[0,0]],[1,[2,""]]]]]],[0,null,false,null,566693459649937,[[33,109,null,0,false,false,false,482919160092324,false,[[0,[0,0]],[8,0],[7,[2,"break"]]]]],[[35,110,null,330110584716365,false,[[2,["break",false]],[3,0],[0,[0,0]],[1,[2,""]]]]]],[0,null,false,null,119830994076151,[[33,109,null,0,false,false,false,131740360408319,false,[[0,[0,0]],[8,0],[7,[2,"new"]]]]],[[35,110,null,878471776384092,false,[[2,["new",false]],[3,0],[0,[0,0]],[1,[2,""]]]]]]]]]],[0,null,false,null,919533846933421,[[-1,94,null,0,false,false,false,574648113499178,false]],[[11,82,null,428980126002548,false]]],[0,null,false,null,505294083225735,[[32,111,null,1,false,false,false,464325577332586,false,[[4,69]]],[60,112,null,0,false,true,false,124428897487699,false],[-1,56,null,0,false,false,false,693296998663998,false,[[11,"isPaused"],[8,0],[7,[0,0]]]],[69,57,null,0,false,false,false,382655619834437,false],[-1,45,null,0,false,false,false,921426696304618,false,[[5,[2,"Menu"]]]],[-1,45,null,0,false,true,false,940072013748091,false,[[5,[2,"KnivesList"]]]],[-1,45,null,0,false,true,false,909331796945133,false,[[5,[2,"Settings"]]]],[-1,45,null,0,false,true,false,614070100593091,false,[[5,[2,"Apples"]]]]],[],[[0,null,false,null,561960215837812,[],[[-1,34,null,739848930451416,false,[[0,[1,0.2]]]],[60,113,null,877319741343730,false,[[1,[23,"LEADERBOARD_NAME"]],[1,[2,"alltime"]],[0,[0,1]]]]]]]],[0,null,false,null,193441561871939,[[-1,21,null,1,false,false,false,411244759355502,false]],[[53,60,null,389801811193952,false,[[10,0],[7,[23,"Menu_LOGO"]]]],[33,55,null,534646096816146,false,[[1,[2,"loadFunc"]],[13]]]]]]],["GameSheet",[[2,"saveData",false],[2,"y8Logo",false],[2,"Blacklist",false],[2,"Adsense",false],[1,"isSaved",0,0,false,false,922688170630914,false],[2,"MenuSheet",false],[1,"Lose",0,0,false,false,406602779950227,false],[1,"New",0,-1,false,false,372141194302406,false],[1,"Knives",0,10,false,false,649525196294365,false],[1,"AngleList",1,"",false,false,320949326904366,false],[1,"SpeedList",1,"",false,false,290480938274495,false],[1,"Step",0,0,false,false,475144082269633,false],[1,"Last",0,0,false,false,755404532127229,false],[1,"KnifeDone",0,0,false,false,322650881003110,false],[1,"BossList",1,"/CHEESE/TOMATO/LEMON/SUSHI ROLL/FORTUNE WHEEL/THE DONUT/THE TIRE/VIKING SHIELD/THE VINYL/THE GEAR/THE COMPASS/THE DOLL/BAT BADGE/THE MOON/POKER CHIP/THE DIAMOND/",false,false,255748896561766,false],[1,"CollectedKnives",1,",",false,false,906255173384037,false],[1,"CurBoss",0,0,false,false,983754421457604,false],[1,"CurBossFolo",0,0,false,false,537906255249906,false],[1,"LatestBoss",0,0,false,false,238646683990358,false],[1,"ApplesCountRnd",0,0,false,false,382080548228212,false],[1,"CreateApplesRnd",0,0,false,false,924750751967055,false],[0,[true,"General"],false,null,318816922852073,[[-1,20,null,0,false,false,false,318816922852073,false,[[1,[2,"General"]]]]],[],[[0,null,false,null,256705158166968,[[-1,21,null,1,false,false,false,574430953260822,false]],[[52,101,null,654450692516433,false],[46,101,null,281460923146593,false],[-1,40,null,348270215250714,false,[[11,"Stage"],[7,[0,1]]]],[33,55,null,815069992085270,false,[[1,[2,"GetCircle"]],[13,[7,[23,"Stage"]]]]]]],[0,null,false,null,369364736079041,[[-1,94,null,0,false,false,false,725022776728726,false]],[[39,82,null,702417495590419,false],[43,82,null,510524777956620,false],[43,114,null,345598668733330,false,[[4,39],[7,[0,0]]]]],[[0,null,false,null,860207746759467,[[43,78,null,0,false,false,false,908894561899564,false,[[8,4],[0,[0,0]]]]],[[43,61,null,947249720336127,false,[[0,[5,[20,43,115,false,null],[0,20]]]]]]]]]]],[0,[true,"Stages"],false,null,532950947231795,[[-1,20,null,0,false,false,false,532950947231795,false,[[1,[2,"Stages"]]]]],[],[[0,null,false,null,599090608784567,[[39,33,null,1,false,false,false,611428702019306,false]],[[-1,40,null,604574163102523,false,[[11,"CreateApplesRnd"],[7,[19,116,[[0,0],[0,1],[0,1]]]]]],[-1,40,null,160406078409277,false,[[11,"ApplesCountRnd"],[7,[19,92,[[19,102,[[0,1],[0,5]]]]]]]]],[[0,null,false,null,456594431086415,[[-1,56,null,0,false,false,false,825154336775688,false,[[11,"CreateApplesRnd"],[8,0],[7,[0,1]]]],[-1,23,null,0,true,false,false,932538221700169,false,[[1,[2,""]],[0,[0,1]],[0,[23,"ApplesCountRnd"]]]]],[[-1,71,null,467870106609601,false,[[4,52],[5,[2,"Game"]],[0,[20,39,30,false,null]],[0,[20,39,31,false,null]]]],[52,117,null,705664281748010,false,[[0,[0,0]],[0,[0,0]]]],[52,74,null,363916898404616,false,[[0,[7,[0,360],[19,27]]]]],[-1,34,null,491997123999419,false,[[0,[1,0.2]]]],[52,118,"LiteTween",258725120183270,false,[[3,4],[3,0],[0,[0,78]]]],[52,118,"LiteTween",779104817474817,false,[[3,5],[3,0],[0,[0,90]]]],[52,35,"LiteTween",491083563418456,false,[[3,0],[3,0]]],[52,119,"Pin",155280121432423,false,[[4,39],[3,2]]]]]]],[0,null,false,null,328545038790018,[[-1,56,null,0,false,true,false,428903811384599,false,[[11,"Stage"],[8,0],[7,[0,0]]]],[-1,79,null,0,false,false,false,366592904691779,false]],[[-1,40,null,384559354462409,false,[[11,"Step"],[7,[0,0]]]]]],[0,null,false,null,242285772497455,[],[[38,37,null,466959193990021,false,[[3,0],[7,[10,[2,"stage "],[23,"Stage"]]]]]],[[0,null,false,null,180296232041197,[[-1,56,null,0,false,false,false,972417521426553,false,[[11,"Stage"],[8,0],[7,[0,1]]]]],[[33,55,null,206129138669750,false,[[1,[2,"Rotate"]],[13,[7,[2,"simple"]],[7,[0,2]]]]]],[[0,null,false,null,781977378702800,[[-1,79,null,0,false,false,false,317392572701442,false]],[[-1,40,null,602107774215658,false,[[11,"Knives"],[7,[0,5]]]],[33,55,null,520943337411337,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,498643211491886,[[-1,56,null,0,false,false,false,320525505720368,false,[[11,"Stage"],[8,0],[7,[0,2]]]]],[[33,55,null,873962049205370,false,[[1,[2,"Rotate"]],[13,[7,[2,"simple"]],[7,[0,3]]]]]],[[0,null,false,null,550249926749438,[[-1,79,null,0,false,false,false,143775471533252,false]],[[-1,40,null,816318538440718,false,[[11,"Knives"],[7,[0,7]]]],[33,55,null,938971538370155,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,340512981428839,[[-1,56,null,0,false,false,false,620322560070023,false,[[11,"Stage"],[8,0],[7,[0,3]]]]],[[33,55,null,630456852249899,false,[[1,[2,"Rotate"]],[13,[7,[2,"sine"]],[7,[2,"0,359"]],[7,[0,7]]]]]],[[0,null,false,null,315649759333963,[[-1,79,null,0,false,false,false,885768409656796,false]],[[-1,40,null,290018893005726,false,[[11,"Knives"],[7,[0,8]]]],[33,55,null,486830464071518,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,650327081479746,[[-1,56,null,0,false,false,false,612061479301551,false,[[11,"Stage"],[8,0],[7,[0,4]]]]],[[33,55,null,472126330344038,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,359"]],[7,[2,"70"]]]]]],[[0,null,false,null,164385342893433,[[-1,79,null,0,false,false,false,562626331208499,false]],[[-1,40,null,751120252766952,false,[[11,"Knives"],[7,[0,8]]]],[33,55,null,691874379064023,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,702543542487739,[[-1,56,null,0,false,false,false,691826820418366,false,[[11,"Stage"],[8,0],[7,[0,5]]]]],[[33,55,null,558273894602645,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,180,359"]],[7,[2,"75"]]]]]],[[0,null,false,null,373629333816762,[[-1,79,null,0,false,false,false,748328248167859,false]],[[-1,40,null,361684440716230,false,[[11,"Knives"],[7,[0,10]]]],[33,55,null,792447094973740,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,941632137146113,[[-1,56,null,0,false,false,false,692308473989028,false,[[11,"Stage"],[8,0],[7,[0,6]]]]],[[33,55,null,685712333957232,false,[[1,[2,"Rotate"]],[13,[7,[2,"sine"]],[7,[2,"0,359"]],[7,[0,5]]]]]],[[0,null,false,null,668748782388354,[[-1,79,null,0,false,false,false,957815200592524,false]],[[-1,40,null,640959890492683,false,[[11,"Knives"],[7,[0,10]]]],[33,55,null,347558200081627,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,433006134342547,[[-1,56,null,0,false,false,false,475472057269319,false,[[11,"Stage"],[8,0],[7,[0,7]]]]],[[33,55,null,203912747603743,false,[[1,[2,"Rotate"]],[13,[7,[2,"simple"]],[7,[0,4]]]]]],[[0,null,false,null,736879945442954,[[-1,79,null,0,false,false,false,775243595373280,false]],[[-1,40,null,326200438242180,false,[[11,"Knives"],[7,[0,12]]]],[33,55,null,611801413824563,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,751137865092045,[[-1,56,null,0,false,false,false,526390484187332,false,[[11,"Stage"],[8,0],[7,[0,8]]]]],[[33,55,null,514735359749726,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,270"]],[7,[2,"60"]]]]]],[[0,null,false,null,339075220462649,[[-1,79,null,0,false,false,false,263507079507687,false]],[[-1,40,null,755891677108172,false,[[11,"Knives"],[7,[0,10]]]],[33,55,null,529128279133464,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,381681862838448,[[-1,56,null,0,false,false,false,290117369998946,false,[[11,"Stage"],[8,0],[7,[0,9]]]]],[[33,55,null,190756743554214,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"30,350"]],[7,[2,"80"]]]]]],[[0,null,false,null,156007446170539,[[-1,79,null,0,false,false,false,410207508071949,false]],[[-1,40,null,859851380168626,false,[[11,"Knives"],[7,[0,10]]]],[33,55,null,501872440839236,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,421994591050763,[[-1,56,null,0,false,false,false,613487362367772,false,[[11,"Stage"],[8,0],[7,[0,10]]]]],[[33,55,null,488641515473276,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"170,359"]],[7,[2,"90"]]]]]],[[0,null,false,null,452110935890880,[[-1,79,null,0,false,false,false,531345400713913,false]],[[-1,40,null,707614951423210,false,[[11,"Knives"],[7,[0,10]]]],[33,55,null,480614910402842,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,939271946359160,[[-1,56,null,0,false,false,false,102739777833472,false,[[11,"Stage"],[8,0],[7,[0,11]]]]],[[33,55,null,939814071322349,false,[[1,[2,"Rotate"]],[13,[7,[2,"sine"]],[7,[2,"30,280"]],[7,[0,4]]]]]],[[0,null,false,null,548479419872167,[[-1,79,null,0,false,false,false,530278111727771,false]],[[-1,40,null,967153386262633,false,[[11,"Knives"],[7,[0,10]]]],[33,55,null,503082755084176,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,283029114958964,[[-1,56,null,0,false,false,false,515458759901719,false,[[11,"Stage"],[8,0],[7,[0,12]]]]],[[33,55,null,335326976308265,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"170,359,10"]],[7,[2,"70"]]]]]],[[0,null,false,null,658242865837749,[[-1,79,null,0,false,false,false,527356184840505,false]],[[-1,40,null,441622454594470,false,[[11,"Knives"],[7,[0,10]]]],[33,55,null,588842549055813,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,235527684023432,[[-1,56,null,0,false,false,false,579860266722390,false,[[11,"Stage"],[8,0],[7,[0,13]]]]],[[33,55,null,518142505313553,false,[[1,[2,"Rotate"]],[13,[7,[2,"simple"]],[7,[1,-4.3]]]]]],[[0,null,false,null,436819770391469,[[-1,79,null,0,false,false,false,901735187740097,false]],[[-1,40,null,148944398221359,false,[[11,"Knives"],[7,[0,8]]]],[33,55,null,533632515061125,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,764362314969886,[[-1,56,null,0,false,false,false,398318566646331,false,[[11,"Stage"],[8,0],[7,[0,14]]]]],[[33,55,null,394788383193559,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"20,180,10"]],[7,[2,"80"]]]]]],[[0,null,false,null,170515721514006,[[-1,79,null,0,false,false,false,170890625807576,false]],[[-1,40,null,731291623964279,false,[[11,"Knives"],[7,[0,11]]]],[33,55,null,455416337321307,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,286326217582749,[[-1,56,null,0,false,false,false,590118103941289,false,[[11,"Stage"],[8,0],[7,[0,15]]]]],[[33,55,null,345394443013904,false,[[1,[2,"Rotate"]],[13,[7,[2,"sine"]],[7,[2,"1,250"]],[7,[0,3]]]]]],[[0,null,false,null,259560273905387,[[-1,79,null,0,false,false,false,170526505778076,false]],[[-1,40,null,812525742972633,false,[[11,"Knives"],[7,[0,10]]]],[33,55,null,335884863639555,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,688909629126842,[[-1,56,null,0,false,false,false,608808280779869,false,[[11,"Stage"],[8,0],[7,[0,16]]]]],[[33,55,null,331175532566621,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,70,50,200"]],[7,[2,"70"]]]]]],[[0,null,false,null,155176387617515,[[-1,79,null,0,false,false,false,213731365137151,false]],[[-1,40,null,317212219754297,false,[[11,"Knives"],[7,[0,6]]]],[33,55,null,712016164202275,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,661561088826874,[[-1,56,null,0,false,false,false,828079187374780,false,[[11,"Stage"],[8,0],[7,[0,17]]]]],[[33,55,null,834935581648117,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,20,359,200"]],[7,[2,"70"]]]]]],[[0,null,false,null,507866851818997,[[-1,79,null,0,false,false,false,767468537810358,false]],[[-1,40,null,208156599649257,false,[[11,"Knives"],[7,[0,6]]]],[33,55,null,261384027353018,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,207017300370995,[[-1,56,null,0,false,false,false,219875123979388,false,[[11,"Stage"],[8,0],[7,[0,18]]]]],[[33,55,null,772569008727877,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,20,359,100,350"]],[7,[2,"85"]]]]]],[[0,null,false,null,890032223108014,[[-1,79,null,0,false,false,false,858587997662225,false]],[[-1,40,null,282075758475159,false,[[11,"Knives"],[7,[0,13]]]],[33,55,null,120957555031490,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,491797932664059,[[-1,56,null,0,false,false,false,973657535709749,false,[[11,"Stage"],[8,0],[7,[0,19]]]]],[[33,55,null,629586438317312,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,20,359,100,350"]],[7,[2,"100"]]]]]],[[0,null,false,null,699345020713521,[[-1,79,null,0,false,false,false,258501631637034,false]],[[-1,40,null,129733971751974,false,[[11,"Knives"],[7,[0,13]]]],[33,55,null,651464133957699,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,230539990536747,[[-1,56,null,0,false,false,false,303867041073479,false,[[11,"Stage"],[8,0],[7,[0,20]]]]],[[33,55,null,138549038406281,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,20,359,200"]],[7,[2,"80"]]]]]],[[0,null,false,null,502204167218385,[[-1,79,null,0,false,false,false,609135603273165,false]],[[-1,40,null,471226637726348,false,[[11,"Knives"],[7,[0,7]]]],[33,55,null,824185242449979,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,781220515551106,[[-1,56,null,0,false,false,false,848353740830211,false,[[11,"Stage"],[8,0],[7,[0,21]]]]],[[33,55,null,329941502200187,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,70,50,200"]],[7,[2,"70"]]]]]],[[0,null,false,null,661855144619999,[[-1,79,null,0,false,false,false,204794970923309,false]],[[-1,40,null,378128739197469,false,[[11,"Knives"],[7,[0,7]]]],[33,55,null,713072947605203,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,871650357912393,[[-1,56,null,0,false,false,false,647349999300189,false,[[11,"Stage"],[8,0],[7,[0,22]]]]],[[33,55,null,626787693757691,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,70,50,200,350"]],[7,[2,"110"]]]]]],[[0,null,false,null,658362684816556,[[-1,79,null,0,false,false,false,850366836960590,false]],[[-1,40,null,225598838327088,false,[[11,"Knives"],[7,[0,7]]]],[33,55,null,564610208772007,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,102173407694973,[[-1,56,null,0,false,false,false,696697936772505,false,[[11,"Stage"],[8,0],[7,[0,23]]]]],[[33,55,null,705767357540513,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,70,50,210"]],[7,[2,"70"]]]]]],[[0,null,false,null,818942515025168,[[-1,79,null,0,false,false,false,451598811947236,false]],[[-1,40,null,567754936586097,false,[[11,"Knives"],[7,[0,7]]]],[33,55,null,378213973773643,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,211094087918284,[[-1,56,null,0,false,false,false,712909414251877,false,[[11,"Stage"],[8,0],[7,[0,24]]]]],[[33,55,null,969049436313709,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,20,50,200"]],[7,[2,"70"]]]]]],[[0,null,false,null,512739130227174,[[-1,79,null,0,false,false,false,506988886771834,false]],[[-1,40,null,994778083417585,false,[[11,"Knives"],[7,[0,8]]]],[33,55,null,836372825063285,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,289225707409162,[[-1,56,null,0,false,false,false,738852965852869,false,[[11,"Stage"],[8,0],[7,[0,25]]]]],[[33,55,null,425641743027019,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,20,50,200"]],[7,[2,"70"]]]]]],[[0,null,false,null,555463451376412,[[-1,79,null,0,false,false,false,284347215576328,false]],[[-1,40,null,461301691214412,false,[[11,"Knives"],[7,[0,9]]]],[33,55,null,609604655044610,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,270439750997573,[[-1,56,null,0,false,false,false,330182882716774,false,[[11,"Stage"],[8,0],[7,[0,26]]]]],[[33,55,null,391905772835999,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,20,50,200"]],[7,[2,"75"]]]]]],[[0,null,false,null,310324085119021,[[-1,79,null,0,false,false,false,150072015916591,false]],[[-1,40,null,780978446275525,false,[[11,"Knives"],[7,[0,8]]]],[33,55,null,749111437633829,false,[[1,[2,"CreateMiniKnives"]],[13]]]],[[0,null,false,null,450530998884885,[],[]]]]]],[0,null,false,null,103190592506729,[[-1,56,null,0,false,false,false,855408094516917,false,[[11,"Stage"],[8,0],[7,[0,27]]]]],[[33,55,null,111124010270751,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,70,50,200"]],[7,[2,"70"]]]]]],[[0,null,false,null,380506167080581,[[-1,79,null,0,false,false,false,458359161041368,false]],[[-1,40,null,198197030665392,false,[[11,"Knives"],[7,[0,7]]]],[33,55,null,719093417468848,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,562894029248973,[[-1,56,null,0,false,false,false,331451814100252,false,[[11,"Stage"],[8,0],[7,[0,28]]]]],[[33,55,null,733146221119578,false,[[1,[2,"Rotate"]],[13,[7,[2,"sine"]],[7,[2,"0,359"]],[7,[0,4]]]]]],[[0,null,false,null,876343934235836,[[-1,79,null,0,false,false,false,255913968728798,false]],[[-1,40,null,804995358738125,false,[[11,"Knives"],[7,[0,8]]]],[33,55,null,789524241313766,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,857257667601599,[[-1,56,null,0,false,false,false,984551714874360,false,[[11,"Stage"],[8,0],[7,[0,29]]]]],[[33,55,null,186457172240309,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,359"]],[7,[2,"120"]]]]]],[[0,null,false,null,123316582511454,[[-1,79,null,0,false,false,false,955542998190621,false]],[[-1,40,null,794723776076832,false,[[11,"Knives"],[7,[0,11]]]],[33,55,null,514059161159458,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,631440536972913,[[-1,56,null,0,false,false,false,406711561964546,false,[[11,"Stage"],[8,0],[7,[0,30]]]]],[[33,55,null,600403086913217,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,180,359"]],[7,[2,"100"]]]]]],[[0,null,false,null,410749211241725,[[-1,79,null,0,false,false,false,954089439233181,false]],[[-1,40,null,590660572675716,false,[[11,"Knives"],[7,[0,10]]]],[33,55,null,718736501210254,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,950404608053402,[[-1,56,null,0,false,false,false,897496712647139,false,[[11,"Stage"],[8,0],[7,[0,31]]]]],[[33,55,null,727546009914892,false,[[1,[2,"Rotate"]],[13,[7,[2,"sine"]],[7,[2,"0,359"]],[7,[0,5]]]]]],[[0,null,false,null,452187770327013,[[-1,79,null,0,false,false,false,412496975373652,false]],[[-1,40,null,544760748123054,false,[[11,"Knives"],[7,[0,10]]]],[33,55,null,410403756859875,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,138165717406262,[[-1,56,null,0,false,false,false,979496159297885,false,[[11,"Stage"],[8,0],[7,[0,32]]]]],[[33,55,null,209442062367924,false,[[1,[2,"Rotate"]],[13,[7,[2,"simple"]],[7,[0,4]]]]]],[[0,null,false,null,559711601211997,[[-1,79,null,0,false,false,false,910451723697465,false]],[[-1,40,null,316525913224384,false,[[11,"Knives"],[7,[0,12]]]],[33,55,null,207047639825118,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,597111099441020,[[-1,56,null,0,false,false,false,787175499889268,false,[[11,"Stage"],[8,0],[7,[0,33]]]]],[[33,55,null,934540279096894,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,270"]],[7,[2,"60"]]]]]],[[0,null,false,null,524903095891213,[[-1,79,null,0,false,false,false,439196024075653,false]],[[-1,40,null,209323006264340,false,[[11,"Knives"],[7,[0,10]]]],[33,55,null,254787048303579,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,661087081835422,[[-1,56,null,0,false,false,false,231751193811655,false,[[11,"Stage"],[8,0],[7,[0,34]]]]],[[33,55,null,348310965400762,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"30,350"]],[7,[2,"80"]]]]]],[[0,null,false,null,813280706948578,[[-1,79,null,0,false,false,false,598699428742553,false]],[[-1,40,null,352798383666285,false,[[11,"Knives"],[7,[0,10]]]],[33,55,null,606583963617206,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,742223010635671,[[-1,56,null,0,false,false,false,398687215211619,false,[[11,"Stage"],[8,0],[7,[0,35]]]]],[[33,55,null,185253486460261,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"170,359"]],[7,[2,"90"]]]]]],[[0,null,false,null,755277921825499,[[-1,79,null,0,false,false,false,702750152110405,false]],[[-1,40,null,805638649030919,false,[[11,"Knives"],[7,[0,10]]]],[33,55,null,207730072348318,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,720094727475755,[[-1,56,null,0,false,false,false,301345539822145,false,[[11,"Stage"],[8,0],[7,[0,36]]]]],[[33,55,null,580994133716796,false,[[1,[2,"Rotate"]],[13,[7,[2,"sine"]],[7,[2,"30,280"]],[7,[0,4]]]]]],[[0,null,false,null,230991977984966,[[-1,79,null,0,false,false,false,488861288810320,false]],[[-1,40,null,196931528339347,false,[[11,"Knives"],[7,[0,10]]]],[33,55,null,836549230694640,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,964967286872842,[[-1,56,null,0,false,false,false,910740544139697,false,[[11,"Stage"],[8,0],[7,[0,37]]]]],[[33,55,null,461046029394347,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"170,359,10"]],[7,[2,"70"]]]]]],[[0,null,false,null,405316287100629,[[-1,79,null,0,false,false,false,849317457123345,false]],[[-1,40,null,987087628911536,false,[[11,"Knives"],[7,[0,10]]]],[33,55,null,679067623848300,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,202315576917555,[[-1,56,null,0,false,false,false,972458442919792,false,[[11,"Stage"],[8,0],[7,[0,38]]]]],[[33,55,null,573283658465970,false,[[1,[2,"Rotate"]],[13,[7,[2,"simple"]],[7,[1,-4.3]]]]]],[[0,null,false,null,573675099778732,[[-1,79,null,0,false,false,false,489103647885188,false]],[[-1,40,null,259484563407597,false,[[11,"Knives"],[7,[0,8]]]],[33,55,null,820717658508101,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,855620102363485,[[-1,56,null,0,false,false,false,332583879935787,false,[[11,"Stage"],[8,0],[7,[0,39]]]]],[[33,55,null,977615082625245,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"20,180,10"]],[7,[2,"80"]]]]]],[[0,null,false,null,165642334954442,[[-1,79,null,0,false,false,false,571536152952622,false]],[[-1,40,null,320522169624639,false,[[11,"Knives"],[7,[0,11]]]],[33,55,null,486921478547112,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,962742731516082,[[-1,56,null,0,false,false,false,942300119678998,false,[[11,"Stage"],[8,0],[7,[0,40]]]]],[[33,55,null,502440476099119,false,[[1,[2,"Rotate"]],[13,[7,[2,"sine"]],[7,[2,"1,250"]],[7,[0,3]]]]]],[[0,null,false,null,696173903475250,[[-1,79,null,0,false,false,false,822385901855579,false]],[[-1,40,null,779025240326237,false,[[11,"Knives"],[7,[0,10]]]],[33,55,null,230517760216227,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,143548770938033,[[-1,56,null,0,false,false,false,613791307055251,false,[[11,"Stage"],[8,0],[7,[0,41]]]]],[[33,55,null,775590756429004,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,70,50,200"]],[7,[2,"70"]]]]]],[[0,null,false,null,799339323228465,[[-1,79,null,0,false,false,false,300832514185475,false]],[[-1,40,null,327725817290972,false,[[11,"Knives"],[7,[0,6]]]],[33,55,null,788833779405947,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,970796508810781,[[-1,56,null,0,false,false,false,842994616530496,false,[[11,"Stage"],[8,0],[7,[0,42]]]]],[[33,55,null,804104810527404,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,20,359,200"]],[7,[2,"70"]]]]]],[[0,null,false,null,589209660309295,[[-1,79,null,0,false,false,false,236904789415418,false]],[[-1,40,null,148483343603536,false,[[11,"Knives"],[7,[0,6]]]],[33,55,null,609404589563021,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,400623358824584,[[-1,56,null,0,false,false,false,625382244483135,false,[[11,"Stage"],[8,0],[7,[0,43]]]]],[[33,55,null,146371730205441,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,20,359,100,350"]],[7,[2,"85"]]]]]],[[0,null,false,null,868375312782551,[[-1,79,null,0,false,false,false,764002644890161,false]],[[-1,40,null,364432718777342,false,[[11,"Knives"],[7,[0,13]]]],[33,55,null,124778744813025,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,987703600196020,[[-1,56,null,0,false,false,false,253065007877255,false,[[11,"Stage"],[8,0],[7,[0,44]]]]],[[33,55,null,350763400520853,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,20,359,100,350"]],[7,[2,"100"]]]]]],[[0,null,false,null,916580147562495,[[-1,79,null,0,false,false,false,153402027874585,false]],[[-1,40,null,556601710160019,false,[[11,"Knives"],[7,[0,13]]]],[33,55,null,731960040497452,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,488939888247545,[[-1,56,null,0,false,false,false,794997251647400,false,[[11,"Stage"],[8,0],[7,[0,45]]]]],[[33,55,null,689448645471029,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,20,359,200"]],[7,[2,"80"]]]]]],[[0,null,false,null,185665007488690,[[-1,79,null,0,false,false,false,291726606594122,false]],[[-1,40,null,205734277767148,false,[[11,"Knives"],[7,[0,7]]]],[33,55,null,462192949341277,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,953980375308824,[[-1,56,null,0,false,false,false,739281213502235,false,[[11,"Stage"],[8,0],[7,[0,46]]]]],[[33,55,null,430565846173968,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,70,50,200"]],[7,[2,"70"]]]]]],[[0,null,false,null,485441337128277,[[-1,79,null,0,false,false,false,111657269525730,false]],[[-1,40,null,199450698364878,false,[[11,"Knives"],[7,[0,13]]]],[33,55,null,107382414919491,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,566744769421044,[[-1,56,null,0,false,false,false,857303198101936,false,[[11,"Stage"],[8,0],[7,[0,47]]]]],[[33,55,null,205846407528085,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,70,50,200,350"]],[7,[2,"110"]]]]]],[[0,null,false,null,346152300601541,[[-1,79,null,0,false,false,false,547450847982516,false]],[[-1,40,null,605020641136519,false,[[11,"Knives"],[7,[0,7]]]],[33,55,null,116039583846462,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,944984053678769,[[-1,56,null,0,false,false,false,273655627458589,false,[[11,"Stage"],[8,0],[7,[0,48]]]]],[[33,55,null,722280150574653,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,70,50,210"]],[7,[2,"110"]]]]]],[[0,null,false,null,947696483330811,[[-1,79,null,0,false,false,false,360848642752034,false]],[[-1,40,null,381768412700018,false,[[11,"Knives"],[7,[0,7]]]],[33,55,null,103892258688982,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,240742005592949,[[-1,56,null,0,false,false,false,103688998719946,false,[[11,"Stage"],[8,0],[7,[0,49]]]]],[[33,55,null,538896904313609,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,20,50,200"]],[7,[2,"70"]]]]]],[[0,null,false,null,208216760818339,[[-1,79,null,0,false,false,false,780254068069003,false]],[[-1,40,null,419819190489545,false,[[11,"Knives"],[7,[0,15]]]],[33,55,null,328655206171062,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,754074705191502,[[-1,56,null,0,false,false,false,176286456953715,false,[[11,"Stage"],[8,0],[7,[0,50]]]]],[[33,55,null,120996359485033,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,20,50,200"]],[7,[2,"95"]]]]]],[[0,null,false,null,254613886613752,[[-1,79,null,0,false,false,false,242337705690954,false]],[[-1,40,null,281075350461160,false,[[11,"Knives"],[7,[0,14]]]],[33,55,null,161512966659296,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,216157940009158,[[-1,56,null,0,false,false,false,725225924673507,false,[[11,"Stage"],[8,0],[7,[0,51]]]]],[[33,55,null,270253012741998,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,20,50,200"]],[7,[2,"75"]]]]]],[[0,null,false,null,495878946073183,[[-1,79,null,0,false,false,false,571474019220809,false]],[[-1,40,null,901498548220622,false,[[11,"Knives"],[7,[0,15]]]],[33,55,null,292013965839926,false,[[1,[2,"CreateMiniKnives"]],[13]]]],[[0,null,false,null,938992814998292,[],[]]]]]],[0,null,false,null,570070588097540,[[-1,56,null,0,false,false,false,879833981029054,false,[[11,"Stage"],[8,0],[7,[0,52]]]]],[[33,55,null,341077366992317,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,70,50,200"]],[7,[2,"100"]]]]]],[[0,null,false,null,369839481093755,[[-1,79,null,0,false,false,false,517598214416366,false]],[[-1,40,null,766954934212824,false,[[11,"Knives"],[7,[0,7]]]],[33,55,null,109456281151288,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,152362284648357,[[-1,56,null,0,false,false,false,651816863800947,false,[[11,"Stage"],[8,0],[7,[0,53]]]]],[[33,55,null,635186291114559,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,359"]],[7,[2,"120"]]]]]],[[0,null,false,null,201290247438561,[[-1,79,null,0,false,false,false,179723638041477,false]],[[-1,40,null,224905278838484,false,[[11,"Knives"],[7,[0,11]]]],[33,55,null,799223327582456,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,205319733218344,[[-1,56,null,0,false,false,false,118921154676245,false,[[11,"Stage"],[8,0],[7,[0,54]]]]],[[33,55,null,594193815525472,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,180,359"]],[7,[2,"100"]]]]]],[[0,null,false,null,512258007628216,[[-1,79,null,0,false,false,false,250554329897467,false]],[[-1,40,null,417901455920914,false,[[11,"Knives"],[7,[0,10]]]],[33,55,null,383021663759749,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,216972878930685,[[-1,56,null,0,false,false,false,438406636847447,false,[[11,"Stage"],[8,0],[7,[0,55]]]]],[[33,55,null,557227011015445,false,[[1,[2,"Rotate"]],[13,[7,[2,"sine"]],[7,[2,"0,300"]],[7,[0,4]]]]]],[[0,null,false,null,420377189569792,[[-1,79,null,0,false,false,false,750376913923490,false]],[[-1,40,null,204841469870521,false,[[11,"Knives"],[7,[0,13]]]],[33,55,null,521664960455869,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,915921705774014,[[-1,56,null,0,false,false,false,220658738435805,false,[[11,"Stage"],[8,0],[7,[0,56]]]]],[[33,55,null,487276766253764,false,[[1,[2,"Rotate"]],[13,[7,[2,"simple"]],[7,[0,4]]]]]],[[0,null,false,null,166257393705393,[[-1,79,null,0,false,false,false,776065297399321,false]],[[-1,40,null,497814160126067,false,[[11,"Knives"],[7,[0,12]]]],[33,55,null,699481020291935,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,570151549849349,[[-1,56,null,0,false,false,false,694303664651648,false,[[11,"Stage"],[8,0],[7,[0,57]]]]],[[33,55,null,300828383019255,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"1,270"]],[7,[2,"60"]]]]]],[[0,null,false,null,120481003885646,[[-1,79,null,0,false,false,false,579491444371142,false]],[[-1,40,null,709235123100395,false,[[11,"Knives"],[7,[0,10]]]],[33,55,null,591054946468677,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,845414503243798,[[-1,56,null,0,false,false,false,271444294809849,false,[[11,"Stage"],[8,0],[7,[0,58]]]]],[[33,55,null,436934173766811,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"30,350"]],[7,[2,"80"]]]]]],[[0,null,false,null,669007803707116,[[-1,79,null,0,false,false,false,188157154915148,false]],[[-1,40,null,362287146127735,false,[[11,"Knives"],[7,[0,15]]]],[33,55,null,819242422160467,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,377212500419986,[[-1,56,null,0,false,false,false,158260118705542,false,[[11,"Stage"],[8,0],[7,[0,59]]]]],[[33,55,null,876494495395684,false,[[1,[2,"Rotate"]],[13,[7,[2,"complex"]],[7,[2,"170,359"]],[7,[2,"100"]]]]]],[[0,null,false,null,483674357642589,[[-1,79,null,0,false,false,false,560486900825150,false]],[[-1,40,null,114628502726727,false,[[11,"Knives"],[7,[0,14]]]],[33,55,null,419051730408608,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]],[0,null,false,null,196404718870524,[[-1,56,null,0,false,false,false,943278009732767,false,[[11,"Stage"],[8,0],[7,[0,60]]]]],[[33,55,null,252360119467793,false,[[1,[2,"Rotate"]],[13,[7,[2,"sine"]],[7,[2,"30,280"]],[7,[0,4]]]]]],[[0,null,false,null,906670804594722,[[-1,79,null,0,false,false,false,544949766980174,false]],[[-1,40,null,962633106689488,false,[[11,"Knives"],[7,[0,16]]]],[33,55,null,740096132640662,false,[[1,[2,"CreateMiniKnives"]],[13]]]]]]]]],[0,null,false,null,788110747798596,[[33,36,null,2,false,false,false,117750790279542,false,[[1,[2,"GetCircle"]]]]],[[-1,71,null,750412402226103,false,[[4,39],[5,[2,"Game"]],[0,[0,360]],[0,[0,504]]]],[33,55,null,592303559205463,false,[[1,[2,"PlaySound"]],[13,[7,[2,"new"]]]]]]],[0,null,false,null,328696209433090,[[-1,48,null,0,false,false,false,357646179481021,false,[[7,[8,[23,"Stage"],[0,5]]],[8,0],[7,[0,0]]]]],[[39,120,null,446720271645468,false,[[1,[2,"Boss"]],[3,1]]],[39,77,null,475732710932685,false,[[0,[5,[7,[23,"Stage"],[0,5]],[0,1]]]]],[-1,40,null,706080764616083,false,[[11,"LatestBoss"],[7,[7,[23,"Stage"],[0,5]]]]]],[[0,null,false,null,418976289503596,[[-1,79,null,0,false,false,false,835948889032983,false]],[[41,35,"LiteTween",120708840666030,false,[[3,0],[3,0]]],[20,35,"LiteTween",900424613226728,false,[[3,0],[3,0]]]]],[0,null,false,null,562774575474572,[[28,28,null,0,false,false,false,184433025643267,false,[[10,0],[8,0],[7,[2,"stage"]]]]],[[28,32,null,985993973051784,false,[[7,[10,[2,"BOSS: "],[19,91,[[23,"BossList"],[7,[23,"Stage"],[0,5]],[2,"/"]]]]]]],[28,121,null,196690196525176,false,[[1,[2,"SetColor"]],[0,[0,0]],[0,[0,94]]]],[28,121,null,980764894723898,false,[[1,[2,"SetColor"]],[0,[0,1]],[0,[0,42]]]],[28,121,null,987869080089779,false,[[1,[2,"SetColor"]],[0,[0,2]],[0,[0,28]]]]]],[0,null,false,null,762648301853565,[],[[20,122,null,999066591495139,false,[[1,[2,"SetColor"]],[0,[0,0]],[0,[0,94]]]],[20,122,null,651590940573230,false,[[1,[2,"SetColor"]],[0,[0,1]],[0,[0,70]]]],[20,122,null,396258694716264,false,[[1,[2,"SetColor"]],[0,[0,2]],[0,[0,28]]]]]]]],[0,null,false,null,313962681837030,[[-1,48,null,0,false,true,false,834587525430487,false,[[7,[8,[23,"Stage"],[0,5]]],[8,0],[7,[0,0]]]]],[],[[0,null,false,null,676905265978918,[[20,123,"LiteTween",0,false,false,false,662212180060724,false,[[8,0],[0,[0,1]]]],[-1,79,null,0,false,false,false,308343409269968,false]],[[41,118,"LiteTween",469215715053400,false,[[3,3],[3,0],[0,[0,100]]]],[41,35,"LiteTween",348761858206100,false,[[3,0],[3,0]]],[20,124,"LiteTween",809801990434377,false,[[0,[1,0.3]]]],[20,118,"LiteTween",348462087764495,false,[[3,0],[3,0],[0,[0,463]]]],[20,118,"LiteTween",185231988215671,false,[[3,1],[3,0],[0,[20,20,31,false,null]]]],[20,35,"LiteTween",184729805256376,false,[[3,0],[3,0]]]]],[0,null,false,null,722462974436936,[[28,28,null,0,false,false,false,541240359989656,false,[[10,0],[8,0],[7,[2,"stage"]]]]],[[28,121,null,708379501494321,false,[[1,[2,"SetColor"]],[0,[0,0]],[0,[0,100]]]],[28,121,null,394136199508463,false,[[1,[2,"SetColor"]],[0,[0,1]],[0,[0,100]]]],[28,121,null,785640200005824,false,[[1,[2,"SetColor"]],[0,[0,2]],[0,[0,100]]]]]],[0,null,false,null,357076745428536,[],[[20,122,null,738490905517985,false,[[1,[2,"SetColor"]],[0,[0,0]],[0,[0,100]]]],[20,122,null,393446988923386,false,[[1,[2,"SetColor"]],[0,[0,1]],[0,[0,100]]]],[20,122,null,199554522191156,false,[[1,[2,"SetColor"]],[0,[0,2]],[0,[0,100]]]]]]]]]],[0,[true,"Circles"],false,null,466221489825265,[[-1,20,null,0,false,false,false,466221489825265,false,[[1,[2,"Circles"]]]]],[],[[0,null,false,null,928663786641326,[[33,36,null,2,false,false,false,835202723326805,false,[[1,[2,"Rotate"]]]]],[],[[0,null,false,null,415226698950466,[[33,109,null,0,false,false,false,953709389102901,false,[[0,[0,0]],[8,0],[7,[2,"simple"]]]]],[[39,74,null,991691168584045,false,[[0,[4,[20,39,83,false,null],[20,33,41,false,null,[[0,1]]]]]]]]],[0,null,false,null,131911251808020,[[33,109,null,0,false,false,false,918219860009071,false,[[0,[0,0]],[8,0],[7,[2,"complex"]]]]],[[-1,40,null,238921230026596,false,[[11,"AngleList"],[7,[20,33,41,false,null,[[0,1]]]]]],[-1,40,null,966214956647331,false,[[11,"SpeedList"],[7,[20,33,41,false,null,[[0,2]]]]]]],[[0,null,false,null,568700020039031,[[-1,23,null,0,true,false,false,555791416257656,false,[[1,[2,""]],[0,[0,0]],[0,[19,49,[[23,"AngleList"],[2,","]]]]]]],[],[[0,null,false,null,131795916598459,[[-1,48,null,0,false,false,false,506815012048969,false,[[7,[20,39,83,false,null]],[8,0],[7,[19,92,[[19,91,[[23,"AngleList"],[5,[19,27],[0,1]],[2,","]]]]]]]]],[],[[0,null,false,null,109361855598640,[[-1,48,null,0,false,false,false,775807989628393,false,[[7,[19,81,[[20,33,41,false,null,[[0,2]]],[2,","]]]],[8,0],[7,[0,-1]]]]],[[39,124,"LiteTween",656298299905775,false,[[0,[7,[5,[19,92,[[19,91,[[23,"AngleList"],[19,27],[2,","]]]]],[19,92,[[19,91,[[23,"AngleList"],[5,[19,27],[0,1]],[2,","]]]]]],[19,92,[[23,"SpeedList"]]]]]]]]],[0,null,false,null,804896963011440,[[-1,48,null,0,false,true,false,984523179388566,false,[[7,[19,81,[[20,33,41,false,null,[[0,2]]],[2,","]]]],[8,0],[7,[0,-1]]]]],[[39,124,"LiteTween",682446398109750,false,[[0,[7,[5,[19,92,[[19,91,[[23,"AngleList"],[19,27],[2,","]]]]],[19,92,[[19,91,[[23,"AngleList"],[5,[19,27],[0,1]],[2,","]]]]]],[19,92,[[19,91,[[23,"SpeedList"],[5,[19,27],[0,1]],[2,","]]]]]]]]]]],[0,null,false,null,193992797364724,[],[[39,118,"LiteTween",307680310386037,false,[[3,2],[3,0],[0,[19,92,[[19,91,[[23,"AngleList"],[23,"Step"],[2,","]]]]]]]],[39,35,"LiteTween",625865657127765,false,[[3,0],[3,0]]],[-1,50,null,551926675102800,false,[[11,"Step"],[7,[0,1]]]]]]]]]],[0,null,false,null,199511994224992,[[-1,56,null,0,false,false,false,190757237313593,false,[[11,"Step"],[8,0],[7,[4,[19,49,[[23,"AngleList"],[2,","]]],[0,1]]]]]],[[-1,40,null,153492716015015,false,[[11,"Step"],[7,[0,0]]]]]]]],[0,null,false,null,809481618361810,[[33,109,null,0,false,false,false,654183170901287,false,[[0,[0,0]],[8,0],[7,[2,"sine"]]]]],[],[[0,null,false,null,267561576293543,[[39,125,"Sine",0,false,true,false,229200394899860,false]],[[39,74,null,542229569202478,false,[[0,[7,[4,[19,92,[[19,91,[[20,33,41,false,null,[[0,1]]],[0,0],[2,","]]]]],[19,92,[[19,91,[[20,33,41,false,null,[[0,1]]],[0,1],[2,","]]]]]],[0,2]]]]],[39,126,"Sine",800853002848524,false,[[3,1]]]]],[0,null,false,null,194764095677534,[],[[39,127,"Sine",514087052063335,false,[[0,[5,[19,128,[[19,92,[[19,91,[[20,33,41,false,null,[[0,1]]],[0,0],[2,","]]]]],[19,92,[[19,91,[[20,33,41,false,null,[[0,1]]],[0,1],[2,","]]]]]]],[7,[4,[19,92,[[19,91,[[20,33,41,false,null,[[0,1]]],[0,0],[2,","]]]]],[19,92,[[19,91,[[20,33,41,false,null,[[0,1]]],[0,1],[2,","]]]]]],[0,2]]]]]],[39,129,"Sine",775869267253071,false,[[0,[20,33,41,false,null,[[0,2]]]]]]]]]]]]]],[0,[true,"Mini Knives"],false,null,724084101731343,[[-1,20,null,0,false,false,false,724084101731343,false,[[1,[2,"Mini Knives"]]]]],[],[[0,null,false,null,300651560627016,[[33,36,null,2,false,false,false,938003038059340,false,[[1,[2,"CreateMiniKnives"]]]]],[[42,101,null,168549517783861,false]],[[0,null,false,null,689403609850388,[[-1,56,null,0,false,false,false,156103598918661,false,[[11,"Knives"],[8,4],[7,[0,0]]]],[-1,23,null,0,true,false,false,373197120912101,false,[[1,[2,""]],[0,[0,0]],[0,[5,[23,"Knives"],[0,1]]]]]],[[-1,71,null,895135075995154,false,[[4,42],[5,[2,"Game"]],[0,[0,50]],[0,[5,[0,1220],[6,[19,27],[0,50]]]]]],[42,60,null,990149745048737,false,[[10,0],[7,[4,[19,27],[0,1]]]]]]]]],[0,null,false,null,988313222877442,[[42,51,null,0,false,false,false,455189077403846,false,[[10,0],[8,4],[7,[23,"Knives"]]]]],[[42,77,null,996167120170695,false,[[0,[0,1]]]]]]]],[0,[true,"Knives"],false,null,103393353461197,[[-1,20,null,0,false,false,false,103393353461197,false,[[1,[2,"Knives"]]]]],[],[[0,[true,"Creating Knives"],false,null,265625135652593,[[-1,20,null,0,false,false,false,265625135652593,false,[[1,[2,"Creating Knives"]]]]],[],[[0,null,false,null,994486998228689,[[-1,21,null,1,false,false,false,446661551368248,false],[40,51,null,0,false,false,false,869593679193612,false,[[10,2],[8,0],[7,[0,0]]]]],[[40,101,null,865204854453781,false],[40,77,null,619056936165771,false,[[0,[23,"SelectedKnife"]]]]]],[0,null,false,null,623220881573003,[[-1,56,null,0,false,false,false,697707490924345,false,[[11,"New"],[8,0],[7,[0,-1]]]],[-1,56,null,0,false,false,false,175122022686052,false,[[11,"Knives"],[8,4],[7,[0,0]]]]],[[-1,71,null,104787311095935,false,[[4,40],[5,[2,"Game"]],[0,[0,360]],[0,[0,1208]]]],[40,61,null,770315189321112,false,[[0,[0,0]]]],[-1,40,null,804727789237730,false,[[11,"New"],[7,[20,40,130,false,null]]]],[-1,40,null,911810697540606,false,[[11,"Last"],[7,[20,74,130,false,null]]]]]],[0,null,false,null,601995067538662,[[74,51,null,0,false,false,false,362692194220924,false,[[10,3],[8,0],[7,[0,0]]]]],[[74,77,null,671597654909457,false,[[0,[23,"SelectedKnife"]]]]]]]],[0,[true,"Throwing Knives"],false,null,322173826801090,[[-1,20,null,0,false,false,false,322173826801090,false,[[1,[2,"Throwing Knives"]]]]],[],[[0,null,false,null,302196772994205,[[32,44,null,1,false,false,false,705871403026443,false],[-1,56,null,0,false,false,false,489658061124709,false,[[11,"KnifeDone"],[8,0],[7,[0,0]]]],[-1,45,null,0,false,true,false,398209691407024,false,[[5,[2,"Equip"]]]],[-1,56,null,0,false,false,false,332298309074102,false,[[11,"Start"],[8,0],[7,[0,1]]]],[40,51,null,0,false,false,false,175871649960409,false,[[10,2],[8,0],[7,[0,0]]]],[39,131,null,0,false,false,false,165203498281665,false],[-1,56,null,0,false,false,false,555055536473599,false,[[11,"isPaused"],[8,0],[7,[0,0]]]]],[[-1,50,null,696991647864992,false,[[11,"Score"],[7,[0,1]]]]],[[0,null,false,null,292779170920954,[[40,132,null,0,false,false,true,651034392193134,false,[[0,[23,"New"]]]]],[[74,133,"Bullet",305567579487490,false,[[3,1]]],[74,134,"Bullet",246648668977571,false,[[0,[0,270]]]],[-1,40,null,754091662054202,false,[[11,"New"],[7,[0,-1]]]],[-1,58,null,553797346288116,false,[[11,"Knives"],[7,[0,1]]]],[33,55,null,135210672809905,false,[[1,[2,"PlaySound"]],[13,[7,[2,"hit"]]]]]]]]],[0,null,false,null,558215413011423,[[40,135,null,0,false,false,true,229738584269629,false,[[4,74]]],[40,87,null,0,false,false,false,982891400418573,false,[[4,39]]],[-1,56,null,0,false,false,false,366687724801753,false,[[11,"KnifeDone"],[8,0],[7,[0,0]]]],[40,51,null,0,false,false,false,933309494105294,false,[[10,2],[8,0],[7,[0,0]]]],[74,51,null,0,false,false,false,422090546103421,false,[[10,2],[8,0],[7,[0,0]]]]],[[33,55,null,475848073561426,false,[[1,[2,"PlaySound"]],[13,[7,[2,"block"]]]]],[74,136,"Pin",991594254004873,false],[74,137,null,610796100170892,false,[[0,[0,90]],[0,[0,100]]]],[-1,58,null,342015501430529,false,[[11,"Score"],[7,[0,1]]]],[33,55,null,609050618900309,false,[[1,[2,"ShakeCircle"]],[13]]],[74,60,null,289704024412789,false,[[10,0],[7,[0,1]]]],[-1,40,null,743762624192727,false,[[11,"KnifeDone"],[7,[0,1]]]],[-1,34,null,237309708330982,false,[[0,[1,0.6]]]],[-1,40,null,812660119061300,false,[[11,"Lose"],[7,[0,1]]]]]],[0,null,false,null,945124300604617,[[40,135,null,0,false,false,true,343188816831905,false,[[4,39]]],[40,51,null,0,false,false,false,860673392059139,false,[[10,2],[8,0],[7,[0,0]]]]],[[33,55,null,225868568191473,false,[[1,[2,"CreateParticles"]],[13,[7,[20,40,130,false,null]]]]],[33,55,null,521337816773215,false,[[1,[2,"ShakeCircle"]],[13]]],[40,138,"Bullet",310346419603561,false,[[0,[0,0]]]],[40,120,null,876432783373583,false,[[1,[2,"m"]],[3,0]]],[40,84,null,338487414357901,false,[[0,[20,39,30,false,null]],[0,[20,39,31,false,null]]]],[40,119,"Pin",339104328033602,false,[[4,39],[3,0]]],[43,61,null,988846551684377,false,[[0,[0,70]]]]]],[0,null,false,null,370091645180510,[[74,139,null,0,false,false,false,285706445521110,false],[74,51,null,0,false,false,false,167326751156085,false,[[10,0],[8,0],[7,[0,1]]]],[74,51,null,0,false,false,false,148026932043035,false,[[10,2],[8,0],[7,[0,0]]]]],[[74,101,null,635745596246094,false]]],[0,null,false,null,557973625986704,[[33,36,null,2,false,false,false,553911421881482,false,[[1,[2,"CreateParticles"]]]]],[],[[0,null,false,null,201296149838350,[[40,132,null,0,false,false,true,102933707073642,false,[[0,[20,33,41,false,null,[[0,0]]]]]],[-1,23,null,0,true,false,false,634592493621205,false,[[1,[2,""]],[0,[0,0]],[0,[19,116,[[0,2],[0,3],[0,4],[0,5]]]]]]],[[-1,71,null,807174137299912,false,[[4,46],[5,[2,"Game"]],[0,[20,40,30,false,null]],[0,[20,40,31,false,null]]]],[46,43,null,871315121750222,false,[[0,[19,102,[[1,0.5],[0,1]]]]]],[46,134,"Bullet",254612172814438,false,[[0,[19,102,[[0,180]]]]]],[46,138,"Bullet",536387374234849,false,[[0,[19,102,[[0,500],[0,1000]]]]]]]]]],[0,null,false,null,920321986934747,[[33,36,null,2,false,false,false,347409391741297,false,[[1,[2,"ShakeCircle"]]]]],[[39,137,null,805851427978081,false,[[0,[19,102,[[0,360]]]],[0,[0,5]]]],[-1,34,null,505428531319302,false,[[0,[1,0.05]]]],[39,84,null,875808942072790,false,[[0,[0,360]],[0,[0,504]]]]]]]],[0,[true,"Blocked"],false,null,476918183482511,[[-1,20,null,0,false,false,false,476918183482511,false,[[1,[2,"Blocked"]]]]],[],[[0,null,false,null,588622423167995,[[74,51,null,0,false,false,false,927168719376465,false,[[10,0],[8,0],[7,[0,1]]]],[74,51,null,0,false,false,false,814107556037959,false,[[10,2],[8,0],[7,[0,0]]]]],[[74,74,null,845681755789411,false,[[0,[4,[20,74,83,false,null],[6,[21,74,false,null,1],[0,8]]]]]],[74,140,"Bullet",718339731392062,false,[[0,[0,3000]]]],[74,138,"Bullet",761619909262804,false,[[0,[0,2000]]]],[74,134,"Bullet",311166913884225,false,[[0,[4,[0,90],[19,102,[[0,-20],[0,20]]]]]]],[74,137,null,256246783607053,false,[[0,[4,[0,90],[19,102,[[0,30],[0,-30]]]]],[0,[0,10]]]]]],[0,null,false,null,715268948398621,[[74,33,null,1,false,false,false,994935357392507,false]],[[74,60,null,658643398957468,false,[[10,1],[7,[19,116,[[0,-1],[0,1]]]]]]]]]]]],[0,[true,"Broken Circle"],false,null,585184516690692,[[-1,20,null,0,false,false,false,585184516690692,false,[[1,[2,"Broken Circle"]]]]],[],[[0,null,false,null,413942975601639,[[-1,21,null,1,false,false,false,245805989853101,false]],[[44,101,null,384947443208961,false]]],[0,null,false,null,507553407000351,[[44,131,null,0,false,false,false,689288978151720,false]],[[44,74,null,464289727826317,false,[[0,[4,[20,44,83,false,null],[6,[0,5],[21,44,false,null,0]]]]]]]],[0,null,false,null,585111214564222,[[-1,56,null,0,false,false,false,132831295469365,false,[[11,"Knives"],[8,0],[7,[0,0]]]],[-1,79,null,0,false,false,false,582459849602154,false]],[[-1,34,null,636738857720083,false,[[0,[1,0.1]]]],[33,55,null,169094432683017,false,[[1,[2,"MakeBroken"]],[13]]],[38,37,null,570295702068056,false,[[3,0],[7,[2,"Broke"]]]]]],[0,null,false,null,173387164115581,[[33,36,null,2,false,false,false,433755000077592,false,[[1,[2,"MakeBroken"]]]],[-1,56,null,0,false,false,false,977268348066464,false,[[11,"KnifeDone"],[8,0],[7,[0,0]]]],[74,51,null,0,false,false,false,309539899253396,false,[[10,2],[8,0],[7,[0,0]]]]],[[39,101,null,897787649520083,false],[74,136,"Pin",139866396890451,false],[74,140,"Bullet",931332055169616,false,[[0,[0,3000]]]],[74,134,"Bullet",407378250479214,false,[[0,[19,102,[[0,360]]]]]],[74,60,null,965980998590145,false,[[10,0],[7,[0,1]]]],[74,138,"Bullet",241319109118447,false,[[0,[0,500]]]],[33,55,null,550935451314010,false,[[1,[2,"PlaySound"]],[13,[7,[2,"break"]]]]]],[[0,null,false,null,213777303133778,[[39,141,null,0,false,false,false,891939120850961,false,[[1,[2,"Default"]]]],[-1,23,null,0,true,false,false,508239450105741,false,[[1,[2,""]],[0,[0,1]],[0,[0,3]]]]],[[-1,71,null,350365262791874,false,[[4,44],[5,[2,"Game"]],[0,[20,39,30,false,null]],[0,[20,39,31,false,null]]]],[44,120,null,723811568270350,false,[[1,[10,[2,"a"],[19,27]]],[3,1]]],[44,60,null,175586227335106,false,[[10,0],[7,[19,116,[[0,-1],[0,1]]]]]],[44,134,"Bullet",704400639982378,false,[[0,[4,[19,102,[[0,200],[0,300]]],[0,0]]]]]]],[0,null,false,null,911789091244560,[],[[52,101,null,862683238071203,false],[-1,50,null,349446586533757,false,[[11,"Stage"],[7,[0,1]]]],[-1,34,null,324135134353262,false,[[0,[0,1]]]],[33,55,null,571076548070090,false,[[1,[2,"GetCircle"]],[13,[7,[23,"Stage"]]]]],[33,55,null,808304631336917,false,[[1,[2,"showAds"]],[13]]]]]]]]],[0,[true,"Lose"],false,null,953696138713101,[[-1,20,null,0,false,false,false,953696138713101,false,[[1,[2,"Lose"]]]]],[],[[0,null,false,null,965865871584857,[[-1,21,null,1,false,false,false,469588269760539,false]],[[-1,47,null,681349302210666,false,[[5,[2,"Lose"]],[3,0]]],[-1,106,null,867337032978957,false,[[5,[2,"Lose"]],[0,[0,0]]]]]],[0,null,false,null,385757596304033,[[-1,56,null,0,false,false,false,521475481189845,false,[[11,"Lose"],[8,0],[7,[0,1]]]]],[],[[0,null,false,null,530022547336298,[[-1,45,null,0,false,true,false,448095944160382,false,[[5,[2,"Equip"]]]]],[[-1,47,null,572541031342729,false,[[5,[2,"Lose"]],[3,1]]],[-1,106,null,897601816431604,false,[[5,[2,"Lose"]],[0,[4,[19,107,[[2,"Lose"]]],[0,5]]]]],[-1,106,null,234165037870558,false,[[5,[2,"EquipBack"]],[0,[5,[19,107,[[2,"EquipBack"]]],[0,2]]]]]]],[0,null,false,null,298319092954372,[[-1,56,null,0,false,false,false,831323056079878,false,[[11,"Score"],[8,5],[7,[23,"BestScore"]]]],[-1,79,null,0,false,false,false,662928629511694,false]],[[67,54,null,122496490642229,false,[[1,[2,"KnifeHit-BestScore"]],[7,[23,"Score"]]]],[34,70,null,523601803229090,false,[[1,[2,"KnifeHit-BestScore"]]]],[23,75,null,285308783375290,false,[[3,1]]]]],[0,null,false,null,427024913115104,[[-1,56,null,0,false,true,false,773248047661567,false,[[11,"Score"],[8,5],[7,[23,"BestScore"]]]]],[[23,75,null,511782039738208,false,[[3,0]]]]],[0,null,false,null,107986496502731,[[-1,56,null,0,false,false,false,880838502934850,false,[[11,"Stage"],[8,4],[7,[23,"BestStage"]]]]],[[67,54,null,374034258826266,false,[[1,[2,"KnifeHit-BestStage"]],[7,[23,"Stage"]]]]]],[0,null,false,null,261859660552498,[[28,28,null,0,false,false,false,485523422969964,false,[[10,0],[8,0],[7,[2,"apple"]]]]],[[15,88,null,414503853576988,false,[[5,[2,"Lose"]]]],[28,89,null,465493516925594,false,[[5,[2,"Lose"]]]]]],[0,null,false,null,285378874135169,[[-1,56,null,0,false,false,false,276937321136849,false,[[11,"isSaved"],[8,0],[7,[0,0]]]]],[[38,37,null,514885578122710,false,[[3,0],[7,[2,"Loser"]]]],[33,55,null,561071003782865,false,[[1,[2,"saveData"]],[13]]],[-1,40,null,654410017305233,false,[[11,"isSaved"],[7,[0,1]]]]]]]],[0,null,false,null,946180244888782,[[-1,56,null,0,false,false,false,111090232785107,false,[[11,"Lose"],[8,0],[7,[0,0]]]],[-1,65,null,0,false,false,false,814269843632757,false,[[5,[2,"Lose"]],[8,4],[0,[0,0]]]]],[[-1,47,null,418306090693958,false,[[5,[2,"Lose"]],[3,1]]],[-1,106,null,455704481635044,false,[[5,[2,"Lose"]],[0,[5,[19,107,[[2,"Lose"]]],[0,5]]]]]]]]],[0,[true,"Dots"],false,null,808652839507927,[[-1,20,null,0,false,false,false,808652839507927,false,[[1,[2,"Dots"]]]]],[],[[0,null,false,null,307811658486058,[[-1,56,null,0,false,false,false,626260247149286,false,[[11,"Stage"],[8,3],[7,[0,5]]]],[41,51,null,0,false,false,false,543529390965742,false,[[10,0],[8,0],[7,[23,"Stage"]]]]],[[41,77,null,707045983777608,false,[[0,[0,1]]]]]],[0,null,false,null,298627998256671,[[-1,56,null,0,false,false,false,504236838863577,false,[[11,"Stage"],[8,4],[7,[0,5]]]],[41,51,null,0,false,false,false,992806530821003,false,[[10,0],[8,0],[7,[8,[23,"Stage"],[0,5]]]]]],[[41,77,null,520919893484781,false,[[0,[0,1]]]]]]]],[0,[true,"Equip Box"],false,null,517715650641230,[[-1,20,null,0,false,false,false,517715650641230,false,[[1,[2,"Equip Box"]]]]],[],[[0,null,false,null,716777670796920,[[-1,21,null,1,false,false,false,989221181973902,false]],[[-1,47,null,831445826386528,false,[[5,[2,"Equip"]],[3,0]]],[-1,47,null,115103579657211,false,[[5,[2,"EquipBack"]],[3,0]]],[-1,106,null,513099707644087,false,[[5,[2,"EquipBack"]],[0,[0,75]]]],[-1,40,null,134614083133961,false,[[11,"Start"],[7,[0,1]]]]]],[0,null,false,null,374753444557219,[[-1,48,null,0,false,false,false,723292864160989,false,[[7,[19,81,[[23,"UnlockedKnives"],[10,[19,59,[[4,[19,92,[[7,[23,"Stage"],[0,5]]]],[0,8]]]],[2,","]]]]],[8,0],[7,[0,-1]]]],[-1,56,null,0,false,false,false,282612846890519,false,[[11,"Lose"],[8,0],[7,[0,1]]]],[-1,56,null,0,false,false,false,646422340395050,false,[[11,"Stage"],[8,4],[7,[0,5]]]],[-1,79,null,0,false,false,false,499451136578679,false]],[[-1,40,null,381931153731453,false,[[11,"Start"],[7,[0,0]]]],[-1,47,null,578922739882003,false,[[5,[2,"Equip"]],[3,1]]],[-1,47,null,835814138425438,false,[[5,[2,"EquipBack"]],[3,1]]],[-1,50,null,517033883562169,false,[[11,"CollectedKnives"],[7,[10,[19,59,[[19,92,[[7,[23,"Stage"],[0,5]]]]]],[2,","]]]]],[67,54,null,840213177807251,false,[[1,[2,"KnifeHit-UnlockedKnives"]],[7,[10,[10,[23,"UnlockedKnives"],[19,59,[[4,[19,92,[[7,[23,"Stage"],[0,5]]]],[0,8]]]]],[2,","]]]]],[-1,40,null,917552977089435,false,[[11,"UnlockedKnives"],[7,[10,[10,[23,"UnlockedKnives"],[19,59,[[4,[19,92,[[7,[23,"Stage"],[0,5]]]],[0,8]]]]],[2,","]]]]]]],[0,null,false,null,458347253831300,[[-1,56,null,0,false,true,false,416655882080235,false,[[11,"CurBossFolo"],[8,0],[7,[23,"CurBoss"]]]]],[[-1,40,null,170167121062296,false,[[11,"CurBossFolo"],[7,[23,"CurBoss"]]]]],[[0,null,false,null,133247398821068,[[27,28,null,0,false,false,false,288202478618554,false,[[10,0],[8,0],[7,[2,"defeat"]]]]],[[27,32,null,615837600138933,false,[[7,[10,[19,91,[[23,"BossList"],[23,"CurBoss"],[2,"/"]]],[2," DEFEATED!"]]]]]]]]],[0,null,false,null,798024038988766,[[-1,56,null,0,false,false,false,701713613478290,false,[[11,"CurBoss"],[8,0],[7,[0,0]]]]],[[-1,40,null,286453726102590,false,[[11,"CurBoss"],[7,[19,92,[[19,91,[[23,"CollectedKnives"],[0,1],[2,","]]]]]]]]]],[0,null,false,null,320785560544984,[[40,51,null,0,false,false,false,427148349061188,false,[[10,2],[8,0],[7,[0,1]]]]],[[40,77,null,927348013298254,false,[[0,[4,[0,8],[23,"LatestBoss"]]]]],[40,61,null,643937583590373,false,[[0,[0,100]]]]]]]],[0,[true,"Game Apples"],false,null,988221998160927,[[-1,20,null,0,false,false,false,988221998160927,false,[[1,[2,"Game Apples"]]]]],[],[[0,null,false,null,389501788444120,[[74,68,null,0,false,false,false,953132710203706,false,[[5,[2,"Game"]]]],[74,142,"Pin",0,false,false,false,565525201468845,false]],[],[[0,null,false,null,394064342944639,[[52,135,null,0,false,false,true,123834135241443,false,[[4,74]]],[52,108,null,0,false,false,false,860238045424584,false,[[8,0],[0,[0,0]]]]],[[-1,50,null,379131392446018,false,[[11,"Apples"],[7,[0,1]]]],[67,54,null,559235099777694,false,[[1,[2,"KnifeHit-Apples"]],[7,[23,"Apples"]]]],[34,70,null,595769603624759,false,[[1,[2,"KnifeHit-Apples"]]]],[52,101,null,413138441682319,false],[-1,71,null,237938440750123,false,[[4,52],[5,[2,"Game"]],[0,[20,52,30,false,null]],[0,[20,52,31,false,null]]]],[52,77,null,793569430462705,false,[[0,[0,1]]]],[52,134,"Bullet",939740030012462,false,[[0,[4,[0,270],[6,[0,-1],[19,102,[[0,30]]]]]]]],[52,138,"Bullet",885651185468619,false,[[0,[19,102,[[0,800],[0,1500]]]]]],[52,133,"Bullet",249257617166241,false,[[3,1]]],[-1,71,null,889504226565222,false,[[4,52],[5,[2,"Game"]],[0,[20,52,30,false,null]],[0,[20,52,31,false,null]]]],[52,77,null,334816839033216,false,[[0,[0,1]]]],[52,134,"Bullet",962341998599797,false,[[0,[4,[0,270],[6,[0,1],[19,102,[[0,30]]]]]]]],[52,138,"Bullet",906259904781552,false,[[0,[19,102,[[0,800],[0,1500]]]]]],[52,133,"Bullet",254488308592578,false,[[3,1]]]]]]],[0,null,false,null,931377088469170,[[52,108,null,0,false,false,false,781983577207974,false,[[8,0],[0,[0,1]]]]],[[52,82,null,801073078509009,false]],[[0,null,false,null,172363361842457,[[52,139,null,0,false,false,false,756103985176300,false]],[[52,101,null,804901394570935,false]]]]]]],[0,null,false,null,104184589596097,[[-1,21,null,1,false,false,false,530638669782741,false]],[[-1,40,null,358168741353162,false,[[11,"isSaved"],[7,[0,0]]]],[53,60,null,328310928607030,false,[[10,0],[7,[23,"Menu_LOGO"]]]]]],[0,null,false,null,666153290278275,[[32,111,null,1,false,false,false,888367622100744,false,[[4,68]]],[60,112,null,0,false,true,false,455888688109603,false],[-1,56,null,0,false,false,false,271457037371053,false,[[11,"isPaused"],[8,0],[7,[0,0]]]],[68,57,null,0,false,false,false,692599481106386,false],[-1,45,null,0,false,false,false,553971716956565,false,[[5,[2,"Lose"]]]]],[],[[0,null,false,null,569880951779421,[],[[-1,34,null,880875501821772,false,[[0,[1,0.2]]]],[60,113,null,499767321252393,false,[[1,[23,"LEADERBOARD_NAME"]],[1,[2,"alltime"]],[0,[0,1]]]]]]]]]],["Loading",[[1,"isLoaded",0,0,false,false,838500970530333,false],[2,"Adsense",false],[2,"y8Api",false],[2,"y8Logo",false],[2,"Blacklist",false],[0,null,false,null,661342745689388,[[-1,21,null,1,false,false,false,256665012946556,false]],[[53,60,null,643308332171141,false,[[10,0],[7,[23,"PreLoader_LOGO"]]]]]],[0,null,false,null,413939393037736,[[-1,94,null,0,false,false,false,822585020162812,false],[-1,56,null,0,false,false,false,976582747535896,false,[[11,"isLoaded"],[8,0],[7,[0,0]]]]],[[54,143,null,143172646478308,false,[[7,[10,[10,[2,"Loading "],[19,144,[[6,[19,145],[0,100]]]]],[2," %"]]]]]]],[0,null,false,null,679273519795618,[[-1,146,null,1,false,false,false,584524937636841,false]],[[-1,40,null,271752563963199,false,[[11,"isLoaded"],[7,[0,1]]]],[53,60,null,708845483714207,false,[[10,0],[7,[23,"Menu_LOGO"]]]],[54,143,null,672656142824513,false,[[7,[2,"Tap to start"]]]]]],[0,null,false,null,869520103327452,[[32,147,null,1,false,false,false,122385294625776,false],[-1,56,null,0,false,false,false,205337320891201,false,[[11,"isLoaded"],[8,0],[7,[0,1]]]],[32,42,null,0,false,true,false,615919433384542,false,[[4,53]]]],[[-1,46,null,827538149891647,false,[[6,"saveWindows"]]]]]]],["Blacklist",[[0,null,false,null,324122741631151,[[-1,94,null,0,false,false,false,334072277477056,false],[60,148,null,0,false,false,false,231856887463431,false]],[[-1,46,null,836791728927069,false,[[6,"Blacklist"]]],[56,149,null,325159233246914,false,[[7,[10,[2,"http://www.y8.com/games/"],[23,"game_name"]]]]]],[[0,null,false,null,909401254543457,[[61,150,null,1,false,false,false,794088829439109,false,[[3,0],[3,0]]]],[[38,69,null,666193202065036,false,[[1,[10,[2,"http://www.y8.com/games/"],[23,"game_name"]]],[1,[2,"NewWindow"]]]]]]]]]],["Adsense",[[1,"totalSecs",0,120,false,false,371209135271073,false],[1,"adsTimer",0,120,false,false,522338149854120,false],[1,"isPaused",0,0,false,false,135636863706551,false],[1,"isShowAd",0,0,false,false,262255686411950,false],[1,"isAdfinished",0,0,false,false,249412046970854,false],[1,"isShowingBlockMessage",0,0,false,false,212104729848413,false],[1,"bool",0,0,false,false,770857704004567,false],[1,"mesBox_x",0,366,false,false,901304600104894,false],[1,"mesBox_y",0,661,false,false,344384881262936,false],[0,null,false,null,666295448574399,[[33,36,null,2,false,false,false,590903093727229,false,[[1,[2,"showAds"]]]]],[[38,37,null,751628603163654,false,[[3,0],[7,[10,[10,[10,[2,"showAds "],[23,"adsTimer"]],[2," Array "]],[20,58,26,false,null,[[0,5]]]]]]]],[[0,null,false,null,225914740551850,[[58,151,null,0,false,false,false,126138611343163,false,[[0,[0,7]],[8,3],[7,[0,0]]]],[-1,56,null,0,false,false,false,818633204430355,false,[[11,"isShowAd"],[8,0],[7,[0,0]]]]],[[59,152,null,733562526846023,false,[[1,[2,"showNextAd()"]]]],[58,153,null,252999057098602,false,[[0,[0,8]],[7,[0,1]]]],[-1,40,null,940531636942712,false,[[11,"isShowAd"],[7,[0,1]]]]]]]],[0,null,false,null,364373561485482,[[33,36,null,2,false,false,false,105873124942603,false,[[1,[2,"hideAds"]]]]],[],[[0,null,false,null,396861710893932,[[58,151,null,0,false,false,false,953114943245438,false,[[0,[0,8]],[8,0],[7,[0,1]]]]],[[58,153,null,625710831689866,false,[[0,[0,8]],[7,[0,0]]]],[58,153,null,747860066858098,false,[[0,[0,7]],[7,[23,"adsTimer"]]]]]],[0,null,false,null,216035757210469,[[58,151,null,0,false,false,false,927217332525019,false,[[0,[0,5]],[8,0],[7,[0,1]]]]],[[35,154,null,466968517489843,false,[[3,1]]],[58,153,null,110120862948523,false,[[0,[0,5]],[7,[0,0]]]]]]]],[0,null,false,null,147304712018435,[[-1,155,null,0,false,false,false,285903234818435,false,[[0,[1,1]]]]],[[58,153,null,433677720816861,false,[[0,[0,7]],[7,[5,[20,58,26,false,null,[[0,7]]],[0,1]]]]]]],[0,null,false,null,584624002410191,[[-1,94,null,0,false,false,false,672715648728816,false],[-1,56,null,0,false,false,false,132313998427471,false,[[11,"isShowAd"],[8,0],[7,[0,1]]]]],[[-1,40,null,796519120504743,false,[[11,"isAdfinished"],[7,[20,38,156,false,null,[[2,"getVal()"]]]]]]],[[0,null,false,null,909640628513969,[[-1,56,null,0,false,false,false,243118790211288,false,[[11,"isAdfinished"],[8,0],[7,[0,0]]]]],[[-1,40,null,853579127316479,false,[[11,"isShowingBlockMessage"],[7,[0,0]]]]]],[0,null,false,null,940737684647617,[[-1,56,null,0,false,false,false,753613155246106,false,[[11,"isAdfinished"],[8,0],[7,[0,4]]]],[-1,56,null,0,false,false,false,799244814523169,false,[[11,"bool"],[8,0],[7,[0,0]]]]],[[-1,40,null,852949776473368,false,[[11,"isPaused"],[7,[0,1]]]],[-1,71,null,787645439174390,false,[[4,57],[5,[2,"GoogleAdsBG"]],[0,[23,"mesBox_x"]],[0,[23,"mesBox_y"]]]],[57,77,null,692782695398496,false,[[0,[0,1]]]],[-1,40,null,668987520406478,false,[[11,"bool"],[7,[0,1]]]]]],[0,null,false,null,972259037393034,[[-1,56,null,0,false,false,false,291002980080955,false,[[11,"isAdfinished"],[8,0],[7,[0,2]]]]],[[-1,40,null,641754294175019,false,[[11,"isPaused"],[7,[0,0]]]],[-1,40,null,137864800823299,false,[[11,"isShowingBlockMessage"],[7,[0,0]]]],[57,101,null,868259520302139,false],[33,55,null,109401231279499,false,[[1,[2,"hideAds"]],[13]]],[-1,40,null,742175128670697,false,[[11,"isShowAd"],[7,[0,0]]]]]],[0,null,false,null,231147774631800,[[-1,56,null,0,false,false,false,894476363447470,false,[[11,"isAdfinished"],[8,0],[7,[0,1]]]]],[[-1,40,null,724815316610193,false,[[11,"isPaused"],[7,[0,1]]]],[-1,40,null,632671499188566,false,[[11,"isShowingBlockMessage"],[7,[0,0]]]],[57,101,null,205620470181336,false],[-1,40,null,157200618419522,false,[[11,"bool"],[7,[0,0]]]]],[[0,null,false,null,658596498074916,[[35,157,null,0,false,true,false,332924286390355,false]],[[35,154,null,299493874054865,false,[[3,0]]],[58,153,null,102351621219339,false,[[0,[0,5]],[7,[0,1]]]]]]]],[0,null,false,null,919411742404038,[[-1,56,null,0,false,false,false,248743677533835,false,[[11,"isAdfinished"],[8,0],[7,[0,3]]]],[-1,56,null,0,false,false,false,171610813961715,false,[[11,"isShowingBlockMessage"],[8,0],[7,[0,0]]]]],[[-1,40,null,773276204318813,false,[[11,"isPaused"],[7,[0,0]]]],[-1,40,null,303082738639388,false,[[11,"isShowAd"],[7,[0,0]]]],[33,55,null,706101494027694,false,[[1,[2,"showBlock"]],[13]]]]]]],[0,null,false,null,442463770560938,[[33,36,null,2,false,false,false,825972322678926,false,[[1,[2,"showBlock"]]]]],[[57,101,null,155475433571092,false],[38,37,null,978671424324135,false,[[3,0],[7,[2,"showMessage"]]]],[-1,40,null,745187392589213,false,[[11,"isShowingBlockMessage"],[7,[0,1]]]],[-1,71,null,639535046763135,false,[[4,57],[5,[2,"GoogleAdsBG"]],[0,[23,"mesBox_x"]],[0,[23,"mesBox_y"]]]],[57,77,null,590424936344825,false,[[0,[0,0]]]],[57,158,null,251401696223265,false]]],[0,null,false,null,644392164011848,[[32,111,null,1,false,false,false,955322478906081,false,[[4,57]]]],[[57,101,null,178389695672624,false]]]]],["y8Api",[[1,"score2",0,0,false,false,926902030206850,false],[1,"game_name",1,"knife_hit_y8",false,false,476248922224195,false],[1,"LayName",1,"",false,false,556140539145853,false],[1,"ID_APP",1,"5cdfa11de694aab3514b6c7d",false,true,944041642044061,false],[1,"LEADERBOARD_NAME",1,"Leaderboard",false,true,332612279514213,false],[1,"ISTUTORIAL",0,0,false,false,159860316420633,false],[1,"isScoreSaved",0,0,false,false,647330206442677,false],[1,"isStarting",0,0,false,false,752824403829860,false],[1,"isLocal",0,0,false,false,878149743608235,false],[1,"isOnline",0,0,false,false,447605702652791,false],[1,"isNotLogin",0,0,false,false,465801861538036,false],[1,"oneTIme",0,0,false,false,768708512032157,false],[1,"isOneTime",0,0,false,false,510511050559818,false],[0,null,false,null,370628323263851,[[-1,21,null,1,false,false,false,351052905679395,false]],[],[[0,null,false,null,963251616433883,[[60,159,null,0,false,false,false,341115124799461,false]],[[60,160,null,864088018625924,false,[[1,[23,"ID_APP"]]]]]]]]]],["y8Logo",[[1,"Menu_LOGO",1,"g_menulogo",false,false,241966381042886,false],[1,"PreLoader_LOGO",1,"g_prelogo",false,false,971255208553164,false],[0,null,false,null,548199630972857,[[32,161,null,1,false,false,false,780088152893537,false,[[4,53]]],[60,162,null,0,false,true,false,188833443213927,false],[53,57,null,0,false,false,false,581230381093641,false],[-1,45,null,0,false,true,false,911706752894147,false,[[5,[2,"KnivesList"]]]],[-1,45,null,0,false,true,false,655869310417531,false,[[5,[2,"Settings"]]]],[-1,45,null,0,false,true,false,375544404596917,false,[[5,[2,"Apples"]]]]],[[38,163,null,871505501420322,false],[38,69,null,272841651056855,false,[[1,[10,[10,[10,[10,[10,[2,"http://www.y8.com/?utm_source="],[20,38,164,true,null]],[2,"&utm_medium="]],[21,53,true,null,0]],[2,"&utm_campaign="]],[23,"game_name"]]],[1,[2,"NewWindow"]]]]]],[0,null,false,null,683197258241175,[[61,165,null,0,false,false,false,593517950398341,false,[[4,53]]],[60,162,null,0,false,true,false,152862642262047,false],[53,57,null,0,false,false,false,881530803771211,false],[-1,45,null,0,false,true,false,145284128570728,false,[[5,[2,"KnivesList"]]]],[-1,45,null,0,false,true,false,579080292892211,false,[[5,[2,"Settings"]]]],[-1,45,null,0,false,true,false,605886093193594,false,[[5,[2,"Apples"]]]]],[[61,166,null,992534612514009,false,[[3,1]]]]],[0,null,false,null,836290021915953,[[61,165,null,0,false,true,false,198448896423324,false,[[4,53]]],[53,57,null,0,false,false,false,216735979332902,false],[-1,45,null,0,false,true,false,762409176827793,false,[[5,[2,"KnivesList"]]]],[-1,45,null,0,false,true,false,529058520571033,false,[[5,[2,"Settings"]]]],[-1,45,null,0,false,true,false,352698637846452,false,[[5,[2,"Apples"]]]]],[[61,166,null,465442148422726,false,[[3,0]]]]]]],["saveWindows",[[2,"saveData",false],[1,"isOnlineGameLoading",0,0,false,false,109820940476671,false],[0,[true,"y8Menu"],false,null,107493086078861,[[-1,20,null,0,false,false,false,107493086078861,false,[[1,[2,"y8Menu"]]]]],[],[[2,"y8Logo",false],[2,"Blacklist",false],[2,"Adsense",false],[0,null,false,null,163446838572629,[[-1,21,null,1,false,false,false,737874673839258,false]],[[53,60,null,641149583234006,false,[[10,0],[7,[23,"Menu_LOGO"]]]],[54,167,null,583384791171634,false,[[3,0]]],[-1,47,null,396871198931171,false,[[5,[2,"Menu"]],[3,1]]],[-1,47,null,786071878412682,false,[[5,[2,"Layer 1"]],[3,1]]],[-1,40,null,779039229945065,false,[[11,"isOnlineGameLoading"],[7,[0,0]]]],[-1,40,null,352085759279384,false,[[11,"isOneTime"],[7,[0,0]]]],[33,55,null,496673047739130,false,[[1,[2,"showAds"]],[13]]]]],[0,null,false,null,611378029389697,[[60,162,null,0,false,false,false,599911306013368,false]],[]],[0,null,false,null,741666243932209,[[60,168,null,0,false,false,false,229218775820571,false]],[[62,77,null,626567151273583,false,[[0,[0,0]]]],[66,143,null,836480351095101,false,[[7,[2,""]]]],[64,120,null,623025513643461,false,[[1,[2,"Login"]],[3,1]]],[64,77,null,968504628873964,false,[[0,[0,1]]]]]],[0,null,false,null,618815725280368,[[60,169,null,0,false,false,false,200895824055022,false],[60,170,null,0,false,false,false,247707975798448,false]],[[64,120,null,262665406464504,false,[[1,[2,"Play"]],[3,1]]],[64,77,null,223414764797105,false,[[0,[0,1]]]],[62,77,null,100696806780982,false,[[0,[0,1]]]],[66,143,null,122028038114304,false,[[7,[20,60,171,true,null]]]]]],[0,null,false,null,840651452971329,[[32,111,null,1,false,false,false,446487235543371,false,[[4,65]]],[-1,45,null,0,false,false,false,513626961043783,false,[[5,[2,"saveWindows"]]]],[-1,56,null,0,false,false,false,668384391582342,false,[[11,"isPaused"],[8,0],[7,[0,0]]]]],[[-1,40,null,724981231649794,false,[[11,"isLocal"],[7,[0,1]]]],[-1,40,null,873639330618275,false,[[11,"isOnline"],[7,[0,0]]]],[58,153,null,546194563500716,false,[[0,[0,0]],[7,[23,"isLocal"]]]],[58,153,null,763547568872150,false,[[0,[0,1]],[7,[23,"isOnline"]]]],[-1,47,null,945741468983172,false,[[5,[2,"saveWindows"]],[3,0]]],[34,70,null,245533701637899,false,[[1,[2,"saveGame"]]]]]],[0,null,false,null,765579466183839,[[32,111,null,1,false,false,false,605521731729335,false,[[4,64]]],[-1,45,null,0,false,false,false,309610699593131,false,[[5,[2,"saveWindows"]]]],[-1,56,null,0,false,false,false,931296276120292,false,[[11,"isPaused"],[8,0],[7,[0,0]]]]],[],[[0,null,false,null,319106092009913,[[60,169,null,0,false,false,false,166189934579406,false]],[[-1,40,null,776940142568676,false,[[11,"isOnlineGameLoading"],[7,[0,1]]]],[-1,47,null,887805839201008,false,[[5,[2,"saveWindows"]],[3,0]]],[54,167,null,530352564583202,false,[[3,1]]],[-1,34,null,309387020463799,false,[[0,[0,2]]]],[60,172,null,191838542779779,false,[[1,[2,"saveGame"]]]],[38,37,null,498467431385457,false,[[3,0],[7,[20,60,173,true,null]]]]]],[0,null,false,null,752079231295782,[[60,168,null,0,false,false,false,773966802486678,false]],[[60,174,null,451595412296165,false]]]]]]],[0,null,false,null,797401693147414,[[60,175,null,0,false,false,false,673717926078286,false]],[[54,167,null,254563744424804,false,[[3,0]]],[67,176,null,420693493453030,false,[[1,[20,60,173,true,null]]]],[33,55,null,451594275075149,false,[[1,[2,"loadFunc"]],[13]]],[-1,40,null,587722165184753,false,[[11,"isLocal"],[7,[0,0]]]],[-1,40,null,332390918987737,false,[[11,"isOnline"],[7,[0,1]]]],[58,153,null,403067307167069,false,[[0,[0,0]],[7,[23,"isLocal"]]]],[58,153,null,815229435941020,false,[[0,[0,1]],[7,[23,"isOnline"]]]],[-1,46,null,604545883726887,false,[[6,"Menu"]]]]],[0,null,false,null,801836351852563,[[32,111,null,1,false,false,false,465567809437646,false,[[4,68]]],[60,112,null,0,false,true,false,734870294942538,false],[-1,56,null,0,false,false,false,176908022670248,false,[[11,"isPaused"],[8,0],[7,[0,0]]]],[68,57,null,0,false,false,false,988216990183736,false]],[],[[0,null,false,null,893855562157249,[],[[-1,34,null,434796737682181,false,[[0,[1,0.2]]]],[60,113,null,448237160427089,false,[[1,[23,"LEADERBOARD_NAME"]],[1,[2,"alltime"]],[0,[0,1]]]]]]]],[0,null,false,null,627219465529795,[[34,177,null,1,false,false,false,720252015661056,false,[[1,[2,"saveGame"]]]]],[[38,37,null,890918643927963,false,[[3,0],[7,[2,"saveGame Exists"]]]],[67,176,null,323920251215637,false,[[1,[20,34,178,false,null]]]],[33,55,null,555576526146139,false,[[1,[2,"loadFunc"]],[13]]],[-1,40,null,475972279992676,false,[[11,"isOneTime"],[7,[0,0]]]],[54,167,null,218861368067018,false,[[3,1]]],[-1,34,null,964050359031852,false,[[0,[1,0.5]]]],[-1,46,null,555691379259724,false,[[6,"Menu"]]]]],[0,null,false,null,565877785512063,[[34,179,null,1,false,false,false,314240469095895,false,[[1,[2,"saveGame"]]]]],[[38,37,null,687521373291196,false,[[3,0],[7,[2,"saveGame Missing"]]]],[-1,40,null,348664830912630,false,[[11,"isOneTime"],[7,[0,0]]]],[33,55,null,663841440662169,false,[[1,[2,"loadFunc"]],[13]]],[54,167,null,239631726086081,false,[[3,1]]],[-1,34,null,978025935922994,false,[[0,[1,0.5]]]],[-1,46,null,197720377189346,false,[[6,"Menu"]]]]],[0,null,false,null,702688505301960,[[61,165,null,0,false,false,false,837259327599680,false,[[4,65]]]],[[65,77,null,526313172768789,false,[[0,[0,0]]]]]],[0,null,false,null,855986587589436,[[61,165,null,0,false,true,false,748767446762335,false,[[4,65]]]],[[65,77,null,338611913678597,false,[[0,[0,1]]]]]],[0,null,false,null,146412172281829,[[61,165,null,0,false,false,false,662832572263187,false,[[4,64]]]],[[64,77,null,562835105663806,false,[[0,[0,0]]]]]],[0,null,false,null,559791144575072,[[61,165,null,0,false,true,false,405239912632995,false,[[4,64]]]],[[64,77,null,515979555863897,false,[[0,[0,1]]]]]]]],["saveData",[[2,"Adsense",false],[0,null,false,null,305956564595251,[[33,36,null,2,false,false,false,645164878612397,false,[[1,[2,"saveData"]]]]],[[38,37,null,787481693043415,false,[[3,0],[7,[2,"Save User Data"]]]],[33,55,null,350709654421861,false,[[1,[2,"showAds"]],[13]]],[-1,40,null,250197222254666,false,[[11,"isLocal"],[7,[20,58,26,false,null,[[0,0]]]]]],[-1,40,null,835590107369593,false,[[11,"isOnline"],[7,[20,58,26,false,null,[[0,1]]]]]]],[[0,null,false,null,786720684878680,[[-1,56,null,0,false,false,false,697096350359475,false,[[11,"isLocal"],[8,0],[7,[0,1]]]]],[[38,37,null,628939445363281,false,[[3,0],[7,[10,[2,"Dict"],[20,67,64,false,null,[[2,"gemFlight"]]]]]]],[34,180,null,207241470239120,false,[[1,[2,"saveGame"]],[7,[20,67,181,true,null]]]]]],[0,null,false,null,456977349120526,[[-1,56,null,0,false,false,false,923038611553831,false,[[11,"isOnline"],[8,0],[7,[0,1]]]]],[[60,182,null,144833156001386,false,[[1,[2,"saveGame"]],[1,[20,67,181,true,null]]]],[33,55,null,809989603244460,false,[[1,[2,"submitScore"]],[13]]]]]]],[0,null,false,null,998876807480116,[[33,36,null,2,false,false,false,307489547997450,false,[[1,[2,"clearData"]]]]],[[-1,40,null,523317312145520,false,[[11,"isLocal"],[7,[20,58,26,false,null,[[0,0]]]]]],[-1,40,null,624079654256247,false,[[11,"isOnline"],[7,[20,58,26,false,null,[[0,1]]]]]]],[[0,null,false,null,284745072219947,[[-1,56,null,0,false,false,false,406141269957250,false,[[11,"isLocal"],[8,0],[7,[0,1]]]]],[[34,183,null,707741820435234,false]]],[0,null,false,null,859431086395494,[[-1,56,null,0,false,false,false,691350133648380,false,[[11,"isOnline"],[8,0],[7,[0,1]]]]],[[60,184,null,587938279192563,false,[[1,[2,"saveGame"]]]]]],[0,null,false,null,734054255642847,[],[[67,185,null,891785828921695,false],[-1,40,null,865512354127424,false,[[11,"BestScore"],[7,[0,0]]]],[-1,40,null,864721355578623,false,[[11,"BestStage"],[7,[0,0]]]],[-1,40,null,141450557575393,false,[[11,"Apples"],[7,[0,0]]]],[-1,40,null,582562392391993,false,[[11,"SelectedKnife"],[7,[0,0]]]],[-1,40,null,313732446828053,false,[[11,"UnlockedKnives"],[7,[2,""]]]]]]]],[0,null,false,null,562442803175326,[[33,36,null,2,false,false,false,352666434373554,false,[[1,[2,"submitScore"]]]]],[[60,186,null,750402646160423,false,[[0,[23,"Score"]],[1,[2,"Leaderboard"]],[0,[0,0]],[0,[0,1]],[1,[2,""]]]]]],[0,null,false,null,658178315210288,[[33,36,null,2,false,false,false,732135420421088,false,[[1,[2,"loadFunc"]]]]],[[38,37,null,165644311996735,false,[[3,0],[7,[2,"LoadFunc"]]]]],[[0,null,false,null,335258159742685,[[67,63,null,0,false,false,false,859455687345021,false,[[1,[2,"KnifeHit-BestScore"]]]]],[[-1,40,null,582243727422730,false,[[11,"BestScore"],[7,[20,67,64,false,null,[[2,"KnifeHit-BestScore"]]]]]]]],[0,null,false,null,467208395426334,[[67,63,null,0,false,true,false,472599873310711,false,[[1,[2,"KnifeHit-BestScore"]]]]],[[-1,40,null,809487446331036,false,[[11,"BestScore"],[7,[0,0]]]]]],[0,null,false,null,432670655800060,[[67,63,null,0,false,false,false,247183618761484,false,[[1,[2,"KnifeHit-BestStage"]]]]],[[-1,40,null,449121569887412,false,[[11,"BestStage"],[7,[20,67,64,false,null,[[2,"KnifeHit-BestStage"]]]]]]]],[0,null,false,null,523114409260175,[[67,63,null,0,false,true,false,149877580127972,false,[[1,[2,"KnifeHit-BestStage"]]]]],[[-1,40,null,179910557858306,false,[[11,"BestStage"],[7,[0,0]]]]]],[0,null,false,null,248750393669027,[[67,63,null,0,false,false,false,352006993160456,false,[[1,[2,"KnifeHit-Apples"]]]]],[[-1,40,null,714433093409171,false,[[11,"Apples"],[7,[20,67,64,false,null,[[2,"KnifeHit-Apples"]]]]]]]],[0,null,false,null,111724636083565,[[67,63,null,0,false,true,false,516869127175911,false,[[1,[2,"KnifeHit-Apples"]]]]],[[-1,40,null,257963525715481,false,[[11,"Apples"],[7,[0,0]]]]]],[0,null,false,null,249127963580788,[[67,63,null,0,false,false,false,376369280815767,false,[[1,[2,"KnifeHit-SelectedKnife"]]]]],[[-1,40,null,779175056468676,false,[[11,"SelectedKnife"],[7,[20,67,64,false,null,[[2,"KnifeHit-SelectedKnife"]]]]]]]],[0,null,false,null,127683281109315,[[67,63,null,0,false,true,false,413337519173552,false,[[1,[2,"KnifeHit-SelectedKnife"]]]]],[[-1,40,null,924758527172542,false,[[11,"SelectedKnife"],[7,[0,0]]]]]],[0,null,false,null,401132123237674,[[67,63,null,0,false,false,false,411532927685664,false,[[1,[2,"KnifeHit-UnlockedKnives"]]]]],[[-1,40,null,838043670309376,false,[[11,"UnlockedKnives"],[7,[20,67,64,false,null,[[2,"KnifeHit-UnlockedKnives"]]]]]]]],[0,null,false,null,714014882470277,[[67,63,null,0,false,true,false,813744692070564,false,[[1,[2,"KnifeHit-UnlockedKnives"]]]]],[[-1,40,null,722781360667899,false,[[11,"UnlockedKnives"],[7,[2,""]]]]]]]]]]],[["block.m4a",19645],["block.ogg",17719],["break.m4a",15445],["break.ogg",16559],["hit.m4a",12851],["hit.ogg",12030],["new.m4a",11601],["new.ogg",7653]],"media/",false,720,1280,3,true,true,true,"1.0.1",true,true,3,1,104,false,true,1,true,"DD Knife Hit",0,[]]} \ No newline at end of file diff --git a/games/knifehit/icon-256.png b/games/knifehit/icon-256.png new file mode 100644 index 0000000000000000000000000000000000000000..ff4fcb8f39dda41432df61a45421df1b98ea9425 GIT binary patch literal 40947 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 z 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

w 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 Rq&@%u002ovPDHLkV1iF&^9BF_ literal 0 HcmV?d00001 diff --git a/games/knifehit/images/btnclose-sheet0.png b/games/knifehit/images/btnclose-sheet0.png new file mode 100644 index 0000000000000000000000000000000000000000..06fca8ddd640d16e771e232f0a60678c6b9dc3d2 GIT binary patch literal 5976 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%0DeuN9scFs@8H?{52NLN4DEa#g`c#OtxbO@ z(Aq3!3Q|X;pwh&t;3Pnn_MZX_X;z&S4}lcVA^JTTD7XdgHLO(&FJz}sQru}W$PLyr zl3s_oZY|7c0LVyYDric391Ad{n217C&}xEhm9-FsNe^>W1EF{k)O0-3=gd>SBcDm~ za{(y!i^{bQ1UV<5H~brX3^ zO%tYLNaO*G1_8nEJW{Yr%TKFaP((`0Gtetai(GqnEeD(!d=l3@@K${0wu6R6?lmRY z@(SwCf@Kr{`uMG9|1VhXz6ZJ6H5TYPmezWH0d`DHY+x&_Bi~N*s2YS>TZ1;yQH^_9 zzn5tWK|P+7b8$mxq1@LrT*CaGf^(q(5SvDSWNQAo7I*WMYjH#BhPCVPq&kbqzAxFd z9?%t+CqY2bM!YJDhb@F1aS?`};rSuxELywOnFF?p&)}{H-+~WcZwYcA&4X;lDEFLV zq5F8}g|El1_Ir@K74!;VSOk528EP4xWmzO)-1?amCZ~i+QMyZ#RTPhb*bXJN=5`tv zSgT1UOz)^-Dgn*2Xuxus6ydbv*$_H33A8BakMKD0JGJ?tAtp=Wvs2JS5sw^jJ;*$Sa=?%Os}MAmb&TO3NP7m zv&}cj%488Ve9pf@H+vn1-hry& zd*h>ox^&GPh4EcFO%UX{8iYDLM!hqiUc<7mnfBC$z-8jx+IpOpsuR}QRnr@sWm$dm z8*>c;K0|+c7_TjLr(Lrq@s`_ZTtnU5t~|y;v^ZAQ<(oW+@OsWzOG6hpCWfX~QX8wI|H?;m+LF1`6)E&Zffe!4l{GU%F=W*{YQ7R`9d=hT{OtZ^ehp&-@N9IX~sN#?SnW_c!aY z594F)pZ~vnw#DAxZrYI50rTw)*R5{g?zL@{+>h`xv@G&Ygt%5;gpC<5=$QaJoef}R8&h--lltZ)t0000< KMNUMnLSTX@M!{GB literal 0 HcmV?d00001 diff --git a/games/knifehit/images/btnequip2-sheet0.png b/games/knifehit/images/btnequip2-sheet0.png new file mode 100644 index 0000000000000000000000000000000000000000..976282176eda17799826613577fa87d07a4c39ba GIT binary patch literal 5563 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 R67w&QbYyr;SVsu4>@S$VQY!!e literal 0 HcmV?d00001 diff --git a/games/knifehit/images/btnfbgift-sheet0.png b/games/knifehit/images/btnfbgift-sheet0.png new file mode 100644 index 0000000000000000000000000000000000000000..0142498aaef5eaf02b747e7c7a6e5a2cd0cad024 GIT binary patch literal 17255 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 literal 0 HcmV?d00001 diff --git a/games/knifehit/images/btnknife-sheet0.png b/games/knifehit/images/btnknife-sheet0.png new file mode 100644 index 0000000000000000000000000000000000000000..cb41c3294b21702d4f4dc977b445d219d652aa8a GIT binary patch literal 12183 zcmV;IFKEz-P)Px#32;bRa{vGi!Twrn%ZG?0AF*QRay zwQ15cZPRAvPJVT|)3Q7uexK)kyyVmA?sxz3`!5!&fBChN z6m9Ipa@&No>bA_J%2VsoDo=`2t6FQ4D_gCiiniyIDs8`uD{uXcKxKQ0r?UPWHb-Ip z1$^Zyt><`Zb3I>aD&VMF777)oQdr{l(Eh9XLtS?JfLKY>T)xa8<;wJCwp8E2kv9LH zFE_lyR~SDQC{15-mBw!bDvLe7+-6U#XtAeMwc69F+U%*=PSCX2`PkoJ^Hi3*e3|KO zuEJKqR<~v(i_JqkzPDIBaGFjxxc??RNGmLCMA)cF3&JMM%pEj*d{#)DD09&8(euM5 z&B_bUUA{76<>oC>n~xO598wzD1(hA#l7>I=rN;k|Ac75`0&pc&0=UeM-z$vY^OaT| zSKcz6>8;0!#i1$cQ_JGj)`J3tG0iIg`&XY|$=IIe&yE-|W?t&XeLKb!S2m5-82=zD zH-CK?)t%o?|O-B_Ps+wrgO#hFN4a&90BM5auue(aTP5k{SxZ|R(almH8*#5SxwbK^My}FYER<8 z0D~UXV49}&mT*_WD!TU`lDlFRPig!Qs7iP(sz$jA;~N~c?b-g@b^l1J5Nr=7z79lw z4###Rwz=3&z;>Fiz#6k^^Xj=3=Cjjv=UnWoB$@Heh(#;-*lU1Vn1cRK^g%_vKxxJe zd+;KKYOC{qF;L#+%1r0Lc<;Yu57q*(MPWO|7hp|4CM}-Pc<$dMFmRCUD=i^_9D%+z zM3g#*U)Jy*=_#VLgn$H=-0%)Z-Lky@HawVXAOWu7o(V3L9#alb}k& z8TnRwTzTi;I8yze_zK(PUjM{=wKmTi26`3PTWI?Pv^^Z9bqQJ%uGnJ;V2 zh?Sk;_X8~86-Fnm!X`}1jozoIk6gZfBLO_p*mu4rYRRhAv2x=z6i~4kz(`QRS0GPG zX~mT^zZIh}P3)CV$y2qB%6%sx@BxTGz;%~IPSZqQ0Y3h9eJBkEV3c;?&5|S*YtofZ7wPjMzv3O$h5U$F) zjwd(0EuaCB`!;uel^H+es$18L&}zf_@e$DSL^Gfn2Tq9=xoqvT*meI8^}YazNSg|_ z2(zm|1q#*J-!VzWRke)n88FFB2EI=~a@_)A|P78sLmpwoEVvQL5fc>_FyyR`#9BMp|-If8$ncmorbxa zlp6NT-hF(f@ecI?Cv&qLhRSUK;6hK z9aQF~R9e1Hu558iA9!Qb?F7V6tZ%nx8ZOy0jhF0G8qT`>J&p)irV=1b0rpm9yDr>U zJhLAg0j~ixk_la7Nl--}kThc6_gxfFKq-(9HyxHRuqM)5|#AB;@iKR_1 zrd4&SHY%7#X;0Y~wLC}J&*NXmA^APqwr(9)Vfu=y z_TtLjL6wGpDhc~tV!8E};D~BzaL#D+;VmhemhVv@pf(Xmtwpx0_8k5BH#3xt`k6&) z*^EM!G(%Ra&C#9tJ%DOtbsMeCg{#bpmYe*w+n?;e_uaAvp=ys;T>l!K+C$9{CQv0P z^?&Cbl#lANMG9?kgMbhX-PY5K?+-mF9r1^P|QVqqp8FLoStu&sR($MZ^Q^B!P zsvO6S%~$JzBkjNc-Rl)b?JlXJsy!4?4p6n=wl3;aB@>QTqO|G7!~+%Kfu0C3+tYZZ zjlUt03vYx}#Jn28^W5T(u;E;qg^pm>IGg5>dpCH4O^I3}jY7+SvC zJcXySKE_p8m%;ZBIG`d?PKqZp-K5%4q}n5;6bUL+E0Gxs@dX-XpeGWI14^p9)@i)8 zAkk`wcpL6TZYwBZdCBLAT)X!GS8n_oWojK>gbjZ}IMU|7hNmxB!g8c>bRUq!?Gaq1 zwVJ0ie$H1IzrbAS8}L0(ZfO%J+IlzX3}T?|?Ss1E$OFmyFlhAnEKW(&A5rQDwWFw@ zN+OJO5>&WGQJX&#ZY_K|kP}I80Lu6!%3HVqN^ZO!zF_GJZ-5GYIAbxptl>TKgODd3 zhgWr2>^!Od!(oe7tRh_D?%~i>hDdgq&IBnNbkqhxGUI3Hg(t-!l=dX5t+%3AY}!bi>~NZ6;OP_*xyx6?tIgK{@#H4e zCxD74(Y+r&_tE9Val(QPCU#Mcg%&`>liBInwAvF2D{EQepNI4?mjniL1sKfiJ*Cye zgBi@_%t9EpX8SI#+;Uss1EA=PblAhO??v*a--ITl`4#Mk+?Z)>Nz=R3NHt1s#urq# z5+_T?B@M>Cy?jl*QwI|sg9rgvtfc;BM9K{f+GW&g!`LTktvrOpL+t`|J6vQ;`YO!- z8=19ib`Jt76n}7wYk!SP{S&pnAg)7but5tueD0#y`+s7NVA-p3J`EtMiSycwE2YK*TZFbUVW`(*XhNHtk1 z?Z~CUjC6(m3+(0{Wot|#Jc|JHRv=Fq1LGn18^r(6n@J5IpdIm;4U^i%TbzdQ7=3x0v)`R z5SjpKiXo+2e%_WA`d5tisplSI(k=ptv zQMs)pUSsVlOFhKFm`BcxIZ|$>0*cPlqmxp}E}+5$ip=<0XncxKxl;}=Ej((5sJQn0 zD6MP!4o-qDNK8$v6Cx?6Byez}9-;VAsUegZukj_ifNdDe0QVbA@H$}p$Jd;?!CSR? z3u4a&J!fm!`W=&^3$=~hlBTz*DJ9f|M6TTQHLtAko#>+4lMx&CX9Oh-6B6=p3^)KD z$W3oj3RQi{nwD?*KRS5WmunSAURdseWsj#foc?%5^LhJ->XRNM74=5h+@ugmXi`OJ zG8x_0;1TXmL`q|(|6r=KkQc~TFu~`642c}`<(uPn795~(Xu%FzkANHMuw_!`;LP=Y zX+x}3{}(uC0ew(c}xa6X-A7n z>wg|PV%#{NDSOxxcNOf*vt9WH+xBTq=UhshQA6F`b82;=2+-&@9UJQeScT=&RJAe3 zSDPuOOlJ`I38qmsr|j95EB0Jd$Bn6biw>~7C#`kao1@#QD>ts4*L>kdwxz>9M}O`k z(c{lN<$)*;6y#1%FLM3f1JD315I|9-6mCmbTJNye?A+q*dbxELnR-}~pKI>8v6x6v zft)8n0O`P}h$Yn@X;(R<6hWTKO`i!AI**`&v}9nwd47UvGzO+zD}d?Jjj8*J57OMY zV25JDJVg`c*PZ_5V%t^wf||CUdWk%A8Bh^VZ`r{|VtTPY0*cO-B6oaI^+{F~f4EPs zCb}o@JhnT}c;TOmTCO^CpR&xC?Nb}i;WsIbVq7vAz;N?piOmQ~%tIXZ^p-VD#&Mij zH^{Di=BADB1`p3;>z}E`m6{yumAg~LRn;C|*HyzDzn>ASckD!S zqx=OFos>#en?H=4o41rut=>a0E+YD|)lbf?GGAI~x%xE$yRA{}?A*jsVJ=LGDRPk!eV)QAVbAVvF@X6FY1$%lJOsJ$HuPb~eyqF*~eZi9GoyE$~X>%VT&Sf+~ z@&+>lA&Qhxq{EvBUcR|a)gt@tkvm4I5vbg1nJzamnHDiI;lj_^;d6*56tH1RAn6=y1vlz;R zgyptjY>-R=7~nXV43|D-P;)&2CfY;;(w!$gKw=BK;k}}qHk85<^!J4_@D$^7N~uch z=W_Gs5V!T!&I=_2#)0hE^z20-tpHRDFmDD7dXN}U*f7U<30IBT#`Aw0y?XOA496JY zu$gLG{pFbeOgUhHn=k!)(ypU)l4)WufvJ?trXbzEn#nfd~l=pNAS%yM8ugAL9>c{8f+x&kOt?U5UP=4>q}>S}O3jL`X9 zWb=q8VjzpAbUI=FBahCjGMyQ>ao0wgn>~g+8BU?LQK$qkSptzvUryecznkXx6Z#OC z&8! zZFr5y*y#2G-r-)rG};L!aih|q<}7|w19|2vUojZqPRYbom=AH4ruR9j)&oBfFyXdZ z`0Tu;JemG)4(ZextS5m)2C2!os8H=0RA`AE8T^k`SguDoY6N;DNs$RuPBq6X)v5V@ zf{7$8^Ng3jUJRtkpg4eArmqmFOm~HTf@z`cs>1-^Rj`jiGT~t2 zo~T=g21fBjGll71j8xwYJlBH`DE7935>!<=^U%;=W_w5Y?I+Uo?A#m+gX zYJyz4p0rgt*iIt8vPNj1595?JYXnNuU58|{`2{8qfnKL%Vv8Feft+oo&<|JAbS6&I z#(O{k6$VT^@37i}swoms=yibdIJ}TSY5vaFLIx64WR5<+u;wx};b#T2=)`AnrPYRU z3$(QWCLsYPYBr~5FkSeB!JC`pluVN51$?RTLjlrFk2cGpwBaSb+A{nB1XL8<;Mmf} zUz47h2n7Ig4cH|Ouj5rXNJgnIY7e!?uV6-sZk_U=d3aHetyu#GvxsU$Q(8}R zi>rUaEvUMHwh!Z~ds&|{Lx0Vb1O=qH%StN{keZopm*ZdLt8!ZOqg*!CRWk(29(UBMWxA=?!^*R$pt@?d<=Mm zT#0_ieGaIhLuY0^60f#gOZEX!QCp9Rqc$BX;3`bF`~#G&(__RuMfN^fJ*#_)Jt*!S z1}1@@l8MY30B;WRth|L&qP7(7aFisO?cPd;=&CtH1gIRvpXP6Q68(w$cybe;x9xag zQib&nni;@U@EWo4V1CrdpF1S)E2SLcu&hqU8}8&2P6P5VP3og_(P{v2&XDMG7@(8_7K{)_P3U6nZ>vq4vLt`w$oOPsJz!T9+u*ommu{7I>11OLVpVx z(BrXB)c%aP2Pwh%G?=}?Ep4vs^yX}S#^x@6!62DjY$l%EqTne_pYRkG6-nYz|7Y0f z$ypgSwwEA(eN64?fI#KSRbdyu%*|azyt*a9+Kk*lYosrS}EttP2Up#f0tKQ z|KB`0-l-&l`oB@rGZ)R!w!Az`f5A?UuctQNa`yn4K?PzRGh9E3R#^JvK}f3uAT41e7G>6xQ!?#GA}6-AlMK!(TaymgTJIXg2j25%V8eHbvX|=Cr1>__=s$ z1n;RKJW7Cal;*EEGUKK`hNmIIZTb0Wm95{Txk)E?bw^}f+=*Jf8-IwSw;nG=0p+WQ zhmM|Q7uUYXVs4k|D+4Yb7=OI7IIXhfF6pMC;SH}~GG6?b2XD?<3BuW5wvR6}-ej85 z$5k4>;mSQOqV|PKw3J%B$6AJCaEo-knS%ETy*5AO9L;t z{)6cKlEdW1a;iVfH5RFCU(l&OPyM@@xhew0MfI&*)uqT@lTPENj7yR=|1pj7K$FHe z9bJG2h4+?e$!imHNN#k!kA4CQk{0vJ&vixR;Sp`z-IO_+<$K%EH7<{kOujJSLb>%Z zk<$DDwUrDBu4KwhcKv|n?_-Wu8U}T?J9ISPTEG7=2D)2xU>EoSDwI|L^}#M}>VQ6@ zy@99Ly`^$!P@h)S%Gjri`Z@VB^UbiO8=VzMoP5WuVxfGf6f23BnxJYep(ur46_bS{w7SU$` z+FMhllQ%%Q!~~V*@1pmXXuCoiI6L0)w;w$=wegHSz4<)e?GDI9V7)=TJ*+#AOC<-G zE`H`AYhVy1{bFL&>YckGaf|N8qgAjT1HJe>UE{ULEv_?aqV`BMbirg#ZnG~SX3Lu2 z70L`fRjw5tUs%mr&S29BSv+Ve~upLuE9y@Zss)PT_klpwlHJ{C5^OuRI6<|gREqJN@Rd8Z6UR&lEROFg3-oSxm zBfx}7r)=Z-{~fn^-xeRi#9~nzbc{VDE19i7_uV8fu{ru1-Qv8EFrJN5+W3d)m7Se` zqmOCYd}-y#RQW;ARY4_*utf zr1dkq_QWdnH>kx2zB1$hD7I904H>r*aBHG8DoDm}+P^tdV{BVc+x9}1*7oB}Ws@=O z(G|-X0=-PBqVd$%r^{;VA=U?NfjonXUIlj6q2bA3*ZF(I8mB>etm-O1AW7wot1{f- zNSpU}1D*y5j%u{f+dLU*uY)EMx*5&R>;ls*@XXO`%iSxhiZ8d`rK`8|$smX0o~VB% zY{Il$;+O#k(g(Ac1~JAZWkklu&t~{LUDg1)2C^u;H#uXt{P{oXyFmFL! z>xG%=eGjbXK?yfWT&)0NPGDGmm;?TfhGMWtaAAI{+w z*ZsuPXf%K3qqsT-Kr86Z^VRLKU17wrJsBEcL~cD^8n4Ej6`D{Ion#tccgCJtT6>yu zKaykC?b?&5GTum{Obzn{C>m9IH+t<}v>iZDiWG(sfbrBKIgoVPNb0dtm#$i|KzH_S zNKJto=Z*2EHXWtLy72Zi6_z^*$2F$t>?fWSmNoqIrp8>>&PC*V1-*+`>-A%2I-mvr898<@~8HS5)7t_;RUFtv_H0K)o{%(S# z>6gNN(((kE@$Ce)^j{bYNb9nE@b$Q0V~@ z9Gd3N*Pr`h_~wJuY>wn1DP!g(D)fJFPZe(Q!+vrk=}|_CbW0xoKvr-YP`P=OkUzE1 zeCY;UG%7K;AArP`}C5U3d;Y$oR%ow#{CCUG%dHNslxu*PZoRh0a+tr z==W?XdKZ^lYoO`Jq=mVb=k83`opaOezA)a&OcOsVTkj@USike80=#v5^Tbtg75aa3 z<%Vbcyap+BpqeGFR4*hz<=ocG_hze`jWn-kv%q#NRLqDXq}n2j~;q6+n6CsvtSgbemIZ+#5g~^&vV?EwWtx z&Iu+>vn`y%NoTpwvrBabKC3&4?)}i|*=V}ZAl7}j#!@e4M!BwKq3w!& zk`I+GOwtN9PLnHL$I5oCFQsR$3ZD8HiJ>R}P)(&?hfGC7<3iK9YqRC`O$?L`m?6m` zam@v4GM>m!?+(whD5$yseLTC{e(LTuh{{nx#C%?@?FC;rDyAw}lqv26QcIT`oiZis zktsIl?To?gSK7cL=d(IYv!^Y3OFFX9)> zm#oa5+`iQSHohV(x1|OVR4F8_6JMfjqo!*o`yicYGd_=K+K4uYLFb=(bGfnfBc9%} zCdY8@gW39vxSH`NHrE$Gg{PRvjBm5c{c3|9$?`HoCia-7FcmK*>6&!HL63QN5i6eE zOas~nV!02F+;@C`uJy`In43)PDcM&+Mdhk^^5%c|Nq{=Xrx9NrLE85AL5bqVovE7E zTTCN;{gqB^al`K@WaePj1Ge0V&zUFGGH{=vCQsmp=hw5q^40{c`5H%IelmdMN9W>f z&QFY&G{2KX8KUS5kx4(H)ohR6c0xwE-UC<<;BskS9TE~UeU`MY#=%jY^@~pEX=&vt zuZjzWrBeOwK&3Y{Z)F$O{FG0rO!5UxbW{OXuK#Q3Y@iiIj+7-X7Us* zk8)(TO)$wbz(c?VpG3{0nx}1f4&qz>a#XzmD#pT6rRh7i)KKR~UX?RV8(JRvW6r{?`cp3hN99W%Rc{;X zj9e9DN1kXr$5ysS`$zygDyJV?=Q2^k+h?YePIxBhQI&ymZToEO4*&4%vWC}z;2W}N z#i}m4qHdmF^5SKWXE(RM<7*yOU+@6w3QKVnSlaMk0-0Xulgfjk*$-zd#xoo!b&hnO znLY??v5VBke@15HEARXOg5% zadEoKfu_#7Mdo4nBXoPo^f8aBFLG7n&E}QqUX4{+$NKVM4H`arKButumnfi^J};eg z!ZQ)_)jAf#*~ahSz99c=+_FBTB0`sZ2)`Bw)WAUT*ozuqiWhS+1k$ z`rJx^hN0Yo$_v~R^)GW}hEJVOpThVJN8I#B=;$%jkyzgq_2-sH_0XY`BalA?>9fA( zQS~LRsoEegL;R~FlPeO$m%xxIHmcOkhr9bK5aWO#h#{Am|vORe8C=*x$rR-U8Z5z))?wB z=i+%(SN+bT>TOVwY`4P$w0#q^dixF*eH$I8VIH2j_;DyGp!T7aGbn!jmX?3a08NwFK0*(susG!|YU!@c1Mzkg( zy~m?AA3W|sisObk%mwC(>tCiT6Qh1^I6g!dCY9A#DEFXGkAibc=Vd>#@+rZpZCgUz z)!n!t=21lkz?oHFT4}ExWp4Qjv@U5ytH69@^Z_g66HR&Bv*g_FH9U&Ujh}H_y--AakBHU z+T=kUIjd#Z`%0@lgUM!pSa;4o&v5qB;cK?6W5}zzFP4Y_P~DXl;g&}=7Q2Ai`g4EJ zFkH9~I4W1p2qFxS2F)Ty@G=?Z!=62O(AheYM$OIApSS0juiSa)n6jAVJ}3IVT5JYD zb!Qf!8}T`L=ds;+mMdSR_hF8T4p4ZpB{cq^m*!57dg#)%>v>ZB=WgDd_N0BT>5@IK z<;vaJvW9vBoV1C0_tP5P3nJEy_?%WyUXp9Mf^$@{eUPI<^WDiX3Ae22jj*Zdi#()~ zq>v#PZfVmSC<6|k(@_+9<$Gux2aXEmnxwMs;}uRAkv*B8?8Z^eD%Dmlv|RnZuX0pW zK=B};p1YjP0vN!k;xVwq6l#AAgy=M)?S$T{oIShY z^eYU#Pw)FWyWsN?3ey^n+;o+D#NcaG+^ru~%*e5G7wFEtmSw(Z9~EG&U-tvb3Oxqy zMQu4;=z%M88s@@P+kcd!JM;V5vRXRh`+=-t>G}!_OM}r}9J%FoME0^L{dn5kII6f= z^Ye0a=iUV`sIPETZh%r*?MR>Sp&q^3NKX0?QR*BPa~)s5WTLX+P~yWaX?#I8++?w6W(u-g8)*#dhmQNg zqwBn*8VlLkL?AVMICK`?a>m~{R4VntKYXaH0GfM20cme?R8%es?-gEL`yxSZ3OzU; zOe$_*KXmBVAefdQl zp-2YxL&ei-Zy&^0n`5K)NcQj~jc<~Z69mK!#=d^TJFKw998gSz`N)1A-K}Rj6p+rZ zv0Qd=RA>C|ZQdP*IZtZ*Pvr9T8(9xfCzKvtFzXoV(|AhDVobd?@Ra61$11J26B)YE zL04aa!g`IbFm+(B-5alJ8I4!e_(psJN9B@7#T`9<{(_pepW?NCHK%$URBmZ3m`5AA ze*Xd11KPZz+ZMmBJtDcHWqER?tvRK<_3gB(w!3MRj=rv)eLH`4d0nOLI`;Rg$rZMO zI8ED_Ksc(jB~L$*(|rCdCQ$JaDH&{lx#vY$>`|MK7P0Qr=Bd55B8wVFa>Vr~Ia2+< z_)60qzK1atUboEnB}CsbRk_PYN##Z-j9Is9LyqD62V~<|YWpBhBQ#K;`3p8Wax-S< z2^A|i>C!)#l}gSO37b4)Vbqpm#lqv-juf@!{WOj37Jd5}q+n5FyO*Lde;Qxb^ePN) z#%+#BPC9ENPb`k~?j zCBQ_?K`X>*hfDM4R+-PvXgK>N%4UNkfC*Mvji>%FtE5UbX6?51A(V+s0fZgg@~EKJ zFW1^}+jaP)97A3^uc!U0D0Gkd!g=SpD%h-&t^Pn=@nf!YSHQpN_3Pg{vKqPGgERT9)r4 z*!=0n=GHSE`X@}@oxdBVJiq|T`L(v^7c`#vO}6p;-=Iw+9k8ey=m^MJg26vv?1Pso z@C8uf#@`}?5C`-_#&@H5I3pl1bv9b6du~GgY5N3B#f;OQ{F49Frj0&=$=@d%4Egci zjvFCL%Y@0M<2UZz^w5D5hcaZf+IiKM^Uz`_*KqE=h2~42`2sYs&oYgd@N7$vyi|$C zmg@czJ|}NkKNsb{q#{)yM9@c2Z(#h+qT-2|WSRsM+SP{FDeaF@@I(+7en1zVXt!EF zpEhPZbH_iFCCXj41f<%OT?PBn#Tw`ZG$W^+ za^$9e4_o{+nYkI#50$`IC<__?HFRp`qLCH055NeHJEB5c_zfrcq+qK9+W9MiZWytf zG(YdrQ7hIx4OtFgo6RZLS?6i39obE1f49(Z;UipqwqA7tE6dzrPpW9ON3Y+1xS!k% zwvB~Jq=eGi7t$(QZ$>WPh^o8pOwj;PjR_X0s2gI4k?~2h1=BKelNUen`1s9xH%&V# zIhG-lM< zs0MjS@hqA&m|$-h7|tC%d4B98Pd*Vgb_(gu4(*3S5UGVw%s9noxpmr4z3EC1BqUe_ zK{_UPH^}Px#32;bRa{vGi!T6dTw8F#=*iL?igd7883fd1FsBiHRvD!Pt#0(Km@Ec8!%- zq7*f@pa{Y+6a}OWGb1xhpXa&O_s8AN*=Ox@T~EO`-}lY!4`=2n_kERf?X&kU%Rbd{ki<`?C=+6 zC%@dE{q@{Me@W(huCsGJ=inZV59rr$-2c;FolZaffkis`*+o45U&m{90SnGQYPZz` z)hzD9Bry$g%d$OFU-;<#zrOwdRRR5p>rQ??fcN&$o3^=pjCK7!lP_?A?*;uHbN+ox z{sds0|M?n+Z&f+J&d17b?_-O!VvP0sa+|Kc4(mc51Q+js*zq&DnD5#4Gqwotk^Y=5 z!m(DaJ?CBs-{{t3T#R5odY{Dz)Qj-2&+|cOe-pYl>~isM zqhM~)+a=#1MRKx`0Q>7o->m%uJFg|`U*IAfpDpxSSo_Anxh{>-8s)3^tlMzbpK|fz z@1noqnU|jYViNB)V4B1Ft#eSPcrMiyvvB**Ci+|=6y?+5NiwEXMWcHeqA<^F3HfM?O2OlO)MnwYYiOpJkQ0g zFbRUgUozlTKl#~-ZySH%e_}vC-4&ii!=`W;{}&h@$B0-rs9 z|K__6Z4tA4cF*$XaJ-}Je3azE0GsOl{u6$7(%WvU^k%^@3t{guU^>N64K~@6=89TG z7kjZVT5EZFY`(|J1;Qo63WPqe|C%6^dEFaKs;9+1?zvpI)}Ui3ad!15<_^chy-k;c zC%Z<3+jgVj9M7``M|Aoua}~ovG4$jFM(b}u73Umzj!t_shk@O)$GmCqw$I<^+*kjP z3Fv2Ddh&}2yvu;;{9OqS%l&3CA8zaLv~>wU*5QuWe2zC+TsGgplx|#$5FD-J>a)dK zF?87dJnvDbb)epeb9|%VK;|0g=DZ0k0_oP}7}@b+v*Weu@_wx(ZE)}AP2P5V4|Z7# z{umdw5e^dD-tdtaUBk(D*zm3YexGw+^M5^{pSkYjmymepAeeIk7jO{98xXUcnUorf z7SwNx?0k-pNn4g^^F2Na*ku9P^Ehkf0^Xx*hVFlki@*A8p($pRxi4a7yqFpKVyII_ z_kW@4l=06kpsL^kuRA*~ipAI{yDZdBkEo$V z7LP6{pbs$f-n++{dA9iu!ujF`^F@*bqC>!$bKsgMY=a8q(iK+fn&sNBNw(Mpa`MQ> zf>v!8sAV1(Z9c)gYlb`5AZwUE#4(pZ{Of{Tx-2MmJs$y~%`2Gui)`~apDsbYHwfTz z6XM_f>Lz>rxu={vGoP3|?>3S%FFomn!(hHdVMTKe=A8nDEpG4`2hEByV!m0nE#P-Y zzib^(q!YZvMY>*dg<3jDOXmW$S(k&G%Ntg96~o*%8+JLyG%2xe_jaz5`skas7znE+ zr!Y@JLa{#Ps6(%Q-xg8qVvDZUA_y}Z-qxPFHV<940xNF!q{F^>^*>)d=S+QGDwi`Z zIr;e@-X()MiG~ekIXevIb8ISNmw>S-Xi-ZAfNrE{?X4E_eWQ?8E&%>n=(V>F$6RDb zwzzNxyJS{##fB;;H&-Q`b-6z7IxS+;N*#*e;yoh^O{VB~J|P#j`J89RXSefaz1Z4Y z13}Dk7R}&q`WOtaKHw1i&6D}$IVaq64(MlIdeU_^38*>iEHt)x{erR?ZMVMhwC&5N1;k_PSz2}m-Hy_REh|j$Aq~{X$ zzA!UKl9>-P%xgC-8^*N?SvVi8yZRim{=TL%@}%LzXHwQtp@DY+ZDOibj+Pdzk7s zxcx!9hmV_~Z@q*l6}PCtTfZ;|^-Je~e#XyEe4d&8eVmz(g8A$?Fn)L4LD;fmswMcL z45TIkuL(%P2a9T;7QdIaUz^3BV-c>I2F~P8n>c1mgD&d)C;E9ozY=fW= zh6x-qx<7Q)2Sot)-Y87pUyy}#LAz+yOUT;r7@2`IJ)nC^JT|-51`*8j=bY`+;!~^zzoKOC>257U}ze??eq6O_cgHgx}#G% zf99npzZkvVd)tF~Gkz$(bLm0YvVCguKw2d;D}odgtc@b+V+$^umj1O2zKtjnpJOQw zSVX`{s%EaVuC6G*ak=;GOjcU_KG9MLHyGB*uko)@WT~l+*Cv_I=$@EBJc#acHWPuH z%o|mz5={ZMSPha$ArfncqDGKYwMwwqLWsW`R*Erlj)w2hAe`lK>F1v08uD*HM z@JE^fq(mw)!4doDlR{%vP=6U3eTw-NS^IY|94-`p<{#PA;<{^>8r0vjx6Q4M9YUN?MT6Wn6F@jQ`oT^0tC= zQtV~^cgdc)dlk2QVX~JzBQMQi>vCZhZMkrO# zAXP{lsS^zgZWP5jA9>374KU5NEyAx=l|u1MTOP1!$-QEW6NAlRBedYYSzf6c^f^n2 zx90alfi@(SifM>&w&~%r>sR8Mo0knwht;4C0KLAw;*51C|6LoVUS(0wyyWDUlX$0@ zO%+g)3g!U5v+f|=x@#)tofL7DWr-{on)$3t!5T?sU=iER{ChG(gMRNKQ)U@_q$dS+ zCSXxkp2j!^#~NhRGHEbD9Wg_TUl+?ARTt%EoCNZU5K=_v`(*) zO)@@K7jBRoq=AbfTedu_1Y(kp<~9wHA<{hq49E$ifNCQ0LJ$!|0MDdrN>#KX2>T?- z)J7j<#1`-e7RY_apJk5g5Ln;nYZO(o`4Ye?)gNQ{1qL?2=50$b-6sxMJ~PS2N0LTS z2^w(1jT;U-@X#k8_Kir=*sBHe9_(Fa*6);=1NhFm)!4dYI>($m`QdM%#7k2a-OJ!C z5A0FaW)<=y+LbLxMMhA;C_5tqs3wILd_YrW9Loham*y(Aka^KJDDXeJYN0qb5tJnc z&Kzd(8y^{$-UZ}famC~xBC_0g8F4orUuR56`n6*!_^3?X#Ai_l8@(9Ir4nuOmaZKW z)r7@xmQ_A0-PmLTVUvm=t4i2T5@!2p5F?6blMe25)h+1~x6!kzlCJ<_vb55Nu3D@F z2IL9K@HF}2?5ttkFIVE4jmyRXJVxxe?44KFaW_f0Ay zCN|DGn1B0{)sxITBikZ^Fvu>cGFys_mwBcs$;AlYR11dj*A(VkoKxW6q8@@Q&{1dI zfF^ZAQnvQ~i0?&~rL&UNvR(~@n=^w9S&+mvvbEYF>;q-+euS2vr`fb3^o%8m2Lwc; z$S#4&Bp^$&VyY}Sfg#K)kd5DnE$2O`GI^CC(H)P=dgb}KYrvi$Ju75yrc8lWmZ*fo z1c8c(oCLgQN>20!-!pMd$4Ms3W09G-39I6s;N1qlJJlzSyu&u!<=~xTB2*Hk=|0xr zowK{Pz2Qp_{_h>t41L$nZg|QpXWr9rc4(|MO#fL4=9jL;yUO_QNCUB1ih(q#=Hfa>u`K@O1uD@`&u`g5{8yP$xeYI4Zp zenh1;b!KV;!!9yw57+o?n6BB%m)so(FJ#%F3DS`|V=dCk8hIK>>%#0CB zXoj+YKQaf=FvOc?W(}8JzcL|8TQYS3u;%xacbWehe1SNF3b|Dy=Z zp2#slF!^httV2^*J63S#G^O#MnYt}gkpBKhxOO50${l7Av-2P zeHK8I4D%cu)66Il2e3VbTzVKv7)`dpsDjSNX=plXy4>uJ&fX21G40FzoVFB zM&*~20uqR|>C{-W#K=rSndO6L;sIrxH5Hm)3n~|LB%bNu?YsZ{hM|H0O=oD~^J!v} zL3zE}EC>)tGf~?J+@`=<0I&dWcTfat%~KV*n%uAH?x6^lmXg*C-h&ABe$rnrk6bfnN_NES3NczIZj)Jzo<=7L7r zfoE#5n~sl}B#v6mqnbu6y|<>}GDXPxYo2X_X=iYXy;C>LSd>UGfW0avW7%fwvT$`@ zWVfMJ8gndYlwoC~rN)5e@w05QQQ0#p*=7wAEnphNNgTyGQ=jcSXw4;oe%V-CBF9pm zOR@HgN|$w0yJ!x;GT=5Teo58aq z0t+nHDlOP1NJUqYd1Z}vMl3#)mBUrto)%6@x3lvPQ>Ym7%W z4rADC)5E%7uEMo9FKtV!mpPbu(nLe<#h`3I6@J91jIL!NqMY;(s?1a)ygF*G z5hcA<)|OR}0eSP8LsUg(qGXRO$>3;Kr*x{TWLQP^!dQPRbhLnKh=HR>WR|Ux$D2? z<)A?`Sj1tFW#-z|FFrDC3)OB`Az!JJLm8vZ@fZja(zYr~*==-G)+CA8Yy+(O~o>BH?9VL2JUN}{rJ3=AW>RJ$J+(ReJ)c_BR@MV9q8Dx!g zk}Z$PMN&h54b4?3ux@3oC+#Rc*VJ`J>{nDHqKaz7vLbe4V}3JPR} z^iw2fgxN+WYW}krR}!YOUyBLQ+Mw|0c`Yg%l<=LeTqzVT1-Ysk2(1M^sHoytJ5iAU zD0rzb3uByonw6D!WP9TYPG#?bz_hE@={$TEXB)%%YgdhJ0-{%lo&R#K}yewBt_V8=?u zE0Z<2adpnG$M+HxGE0A+D3v%~vMb-yM1M>ROslF20@@ruAkm#|!)#-??Anz8F}4Zl zoS|QH^Kxw4(GTE*G;mQY$S$+wA~{r)H3pbnZMp~$4`k>%#MvlpSyRcBi7eS=fim!? zxF*Y>SZMhbIqCyd0ONE~un<9DQ<+`G^MzJcH(7@4VIH>dXCjNO4v4VQqCo9o#qMd9 z&kt-4TB{3a!z&;dR8qnGi;AtL$nxqTx?Tp9!&yS=F!RlTN0b zVx2cIQ8}Oj>r!n17C3s)RZ9$JIt0NvB&HDzt4gVRXCKu4@Frsr-3ts8ca;Gsw6nI^-)U- zsbs`fCPNf(u$M`yWKBtktFbSV$WCO}vyI`V%}cun^j?o~khKmNsu3Y8W{LnpKwz4F z5Zi`V6gX8ICI_vkq4UQ^kR8^X{t*1UYE>`FWQ&P2sW_-C1Pe+#iRjQ}P*F!^v>Cd| zHEpVm@cHaGgjni((QZ7I1$`6z2}%V=Z4kAI#+GmlDa&j#%PQG^!HNPSYWb&tmns{J zInF`3aZ>S1)CPH8n?LRw5Ts>Rb&1i2HBa;c<7Wkvw>So+=fXgNWy$?hkX|8a6qOUz zeF%glF1hRX=Rk_~!iUGSCvd3Q49ZAp5>>6c69Ub|n6?_JnwH|!g@!p&C(A5YZ{i90 z9M_>4$q8%OMd1ZaNa<6I9oSK%J0>&YNcJn}*L6xEg8!x+LZB{Ba zLU&BW3X4`xbHv@rK07wk{zBetuC1qmEZ@^=pRKZU2FXnXe_CvX%`Vz=HT;AQ>a1`e zg{v!b$VTxjbkCltO}o-CQF?8Q2dLcv8@05=qE^ff35@w1CyQkYVo6y&7xg-_Ol+SIJ$CK^f)D}g&w;+gQv zQ5yn+``?<(I2g7|wb~lcC80wHDV=jM{)hA2|?8`MV}U1+4>)0jcV#lAptd6@#Yz5%l$9>GAwqb z%vRjnF@-Fsj1_UKyQNo;_^`H}1dCW7I18Xgb zPtC1VZZ685ksTVDOb5Tvt42VmQG6;mw*c~OZTA<|8?9cUn~FL5vns^6xK&^ZM&ss!`H9|`i56#PRRb)M!OHe$c2htU zO-e#y7U|9lJUIw@zHvxd-9{Np(FrRcDLJQ>DEz+FJu=^2NK~yI{6?uZNQvP`q#rbS zSzJTL&m(IcxPo&rBJ75gxGgFYPO&cAI;$fdi|UyXaVD4@6Hd!A)5V?SW-QK({VZ2s z*#;vL>Z%{MB$#O7dfGSdUMuTlE&o=K1X;KEG}GC9L2d~1`=V*b3HN;|ZK@PbGnQbN zWXpv#q54SM$0NlKgG?5|rc}UH>T}Hztzns^QG?W-k_cvCqJ1Nh)sIz5S;m`9ZAd`D zjieGW~fg zZsED)F|z`BikYzy94yVh7$gG9&p&w|<>zC;Gfj)O=GVmL1Z2g;-^$SD2HTm>DRtzS>}mD8q+R;ub{kra%WC`qf^1O^_!j&GqGpsX98IMWDGGFjCfou%*jhHx z3V9rD@U_jP;IV4ZtXD-bmJFK3&r>Mfb5YMXO_7y^kAatb1bdi!ZX-TPBzoE52jc}* zW-ljNGET_m70`>D!3rq?p>V1BkTdX%t_==$yRd59AcMfqmKA9w2CE*#nm>eWdJT1o)1*LXcI8$0ApCqacK{Z(=O}HHT43p*i)jaVF zQ#{i!S3$^|hDm^+ViG>-X0ar?W_w{ZKP%H?M*YU92>nV#@3jW-+D!}NWNj9w!27&& zqc1C{GF~gEqPJzr2u6RYQq_V164`7|L9&@(xFf<+Z8WN)V9P=;f|tNeBhL`3?AL@o zxRNN+f=THJyxF^Af>zoP0I?mff4EKI)+pQM%|useBzsI!|0LZBvLG+*Ii58K_1COcdh&;_tO#J3wV3QOgKIqB|*CSdj!- zI9TB=C?GcL^chse4naXO7PP&~$?LUa2+m76;`z}oQR?2Khy zk>fY!bSO*|%q1leSOQ46%ohn2Z-JwrFWv!k}F1alapHf1#=*3<^# z+O(}U+}2;{fEc1Hb4+D~qKQC`4-v4 zMrMiZ%R0=eG^a-DV*3CJOS{+T@q$7Pu#Q7ARhN5FS zno~f_D-yYxQkR?7vOx_0zGd$Y?4I3&=il`ac+OoOr4y8>x>9StnEM&v;^`(XKg06R zs*ct}JkF9)rDY|G;436A&xV43x(0N=(^)NZQJIA5;$%C%s1`kfT@8qx|752Y&S^jEVE|mP}susg<=CgvWodslkCu4R;=3eYrMNAjl%wTT`GN%ldkm&)cUhm4C3;>dbc+Rzf=uxeJ|3Q59SptpziACk>8){+#K z&xN6fn|5yjV0hELo{Hy2s`}P|UYp*nhA6ONqlth$M+>oHCKh|TNw6~C(S&26xymBw3^2rITag}IW$1-G zt;+)_yk_VvM%DEJ#8BeBT3^|2x|t1}k;rcB-H9yN8Sv4E^?0MQT@ z#uc6gb_8KrE!0l5GCPkt6pJ7n4Xbt@^u7x6JWdU+vjUR|EF;?HyvduCz0GuQYW(|e zyw{WQg2PVL8=pDlm01jZFn~geFjPrA3l)w^Vxm45D?cMF#G>g;!L*Zksa$GZWn;WC z(%QCpp*#7KwU7#+Hv3WmBO};ajzgK|6;dziOvGGvP?%_0pdqb|`Vz-Pm$K4OAEQ^{ z35x7nl(y1JpcdRjFieN`M)PH(hujp7=+4`$qkRP8OcyBCIJL~jKj3oC{PQor{Lis|>(}a=Z2`HNo}!ek4Yrq;)ft%rqD#K{h$Tnj zc?UmjLHFeOH@{uL6>daa6|bKh*U2l7#gh*{eNLbM)lKK(w5$IpsB(knL&iK7&Yo{Q z^qF|o-Jd(R4=cu#`a81QBWaUOs)*W9#pQnyWH# z%E}X*myVkA89)sz9Wnp-rVn8I?2cre=oOLv)|y=oPn3${q$fO6a;J=H4#Pp7$7?~EvVSj z&QX8T7U1_a&ZuV4<)w^W6k%vnxnzsfTTTWV+^n-L!bz=cssPGPItw29)QpLh4ao;N zIZM)IJW**!fM$s+>*VLivPWR_GaPP6mi|0!_#GQwMkecO@Xjlymf^{FdMy6)xDVp& zBmaC5*!?GDyL+t^O&;BGuqKT8Q4PNe8+P`Q7!E!TU^eCP?k5#l+qgnjpeqvuJ*Jauo;yT&&0#@ymO%L~#wLG=%B(Qos>au} zQ7RA<8frgHNf0`W;4>Al#Ks$DUXyP;ZRrU(czW${AIn>@=>pwYGCaKYHD8n zsX$zXh+20jfLY+In?8!|GuxBoKG|Z18z|klxYO32j8pbILUSjz?n2q1H#peey~7iR zhnxpV=4r_Anh@J(cH&R2{17mks;S&FOST72W1MtV($qH`^;>w}-A-+Xw;(DfwoT;{ zxVajX!6>L&M=3TmR7WNKVzs)SALLS-wWoq^Gz6j;n2ezF6D8$K(Ws!tO-XWzf^hS@ zYd|vk^Gv=sh*hpcrO1r3eQpx)Nd^oyMc4WWd4q(yEa0mQ z)f(x>mlaJQmcJe8!~k^4q6y5BW#6O!ADiAWu%5`>@5VXPFk5=e?M}qE@AVc1v?UL; zg;S0O8^!Q}GH?mkmpqT@sxa@LH!MxZP&+_*D;2HllQsWx|Ir$tmc1Ze>@=%F-ipg-|MkBQ-HP{Lv$(5607Oe|mzJ zCJ>+{L3~^pG`MN!CcO5S|2(+|y$a_MC2%!gmo{H@aS^9%3V(Fe6Y;{kp9=Fja7JCn z0j$ef(C<(^M)z2W7Q9nsIH=7u$6(!v(Qf8kD$6PcN+^;}?P9(?KgcN5gJVI~=bi6p zm62J>1yHromv~$rsFN(66Bxx@mPJsLj!AaL;$xX%o8xkvd3Ex~_jr*r#R?W2%bGML zVd)^2NidA2A4QqB1wlNTx)fR03hYr9AS?{seq+_K#WcdvRUTZ+!S8IJ*^xOJjIZ_h z862#kgO{wuOIJKb;I5_`X4gb!W;`Z9zXF@8kO*tY68YW5*l#Tt=HnGo7dr|o7Ur^ zjq7mHrgiw~=JmL6<7K#L(`C47>$Qc{sTl_y%Y$pO!>2*#;QdzP4QrpM%WWbYjYj4& zQzq_kOu90O%AAX;e@~Zcui{qMW^W*;4jKMv|0iR4e_2j9(`}f;6Z+uw|2D+gnc?cN zVbD*m{o__WTxUvFgOIG82|Ir3dU)?GU&TdR*G(!sIvhU}Z4KV*F>6o4!}mL)>|Rww zvBS=vdi&EeDqiW#(^z%U=5=`Qrmq8i3w4k~67ON#Sqo{~+MT^fMiI z6AeP4>A_u71RBE!um2?8wf`FhN5`T+VD!gp4}AvCx%!P7GN9&Mypx1N39ImT6=s{?dKTdfQ_p-spJ-5!6DaBN;kJldg1Wel$-gepN9d2$y zBhIoTR3b8wWwfs@#f7w*X@85a3o9Z71fvBzW$2Nd$3rQSc(ih|O(y5D`p#YW0Y~_2 z#fDYNDXj$tayvY|xlx+&vB+wg@!ykXk%)jv4&%+&eGZTN>7U_uzVkY4*tyARfzu|W zNf|%M(uot+JfOl+6i;lT!pT=_UTKWp-zpG@^Os+dlb0&#`Q5nZW}LHU9e#N0g-+MvyEg~de?@;e-mw3ZI%a(iLyaE0zTtgazKXAH zIJdax>8IyQoH%vuNqG2vhYJW&@3}`z53=+8UGq=Ms{-P?8~z*b+x(3|Fz@+Ob6vo4 zs6?$=pO8y?X7}R#zc?E|_|@g}4C#Xpdc_f^jG%1K;haEPg zus|y(B|GRe1HEB&(znT68Iwx!3Pp^3Ygaox{8kXqZl`~e&H5caIGgofE5ih;)eYoJ3 zs}>a0fA8?q@aiLev%>WuHVh*J(o@AB->9S-Fs+)mOyVJ9zA_rE(1LIFsvC*ImOSA@ zE4wtkH2?#qIBVD@6rEsWtUMEgDbspRA5e#iY6+j4ZFAEc^AAJ-`jlI0)o2X z6-Sj6 zeNnaO2T$||Pv9%Be*4%GV7z{!dC+61XSB#t-j-HMl7_yL^1>5_S4>V)BcA8{I9anx@n z>X}+FPZdFt(ux76XBuiMMsT)N3pIYQ>p=O|fUas~-z7*jZ3QmViN=sY&Z!7J5sI3` z${2klmC$5*rd~yOXDz$b+R@jpL&MNXE))>Emvpq$n?)NQyXPi zN31w(0^%!MgEXtOk;dAU_)Jthr08Tdmyuf?t1G&4l}0^3CT;J)fYhG+{rRgNKj9V< zS!jw2j}H67TQA8p;pc7pVWLZCQi11I0VHtT@}tW{M$MySphzfGV*~i@@@6AGaov{^ z?jjAe&KGl-ESRrAhfl4+Q*Qs*ab`YQ?hZXqtkXYv&6jcc%%(y0P?@4w z4MeUHt{gQWIwyx5+onBR@v5JG80T*M*}^jQBTmQ5k9aI>6yCy~2?qrcqAAjXZf-$} zd!C@U4yMQdh2dAvW|;d-Q3QluS}Iu(py)~}+2tunS4QMgr8F;sfSYO~r+=#(6I2@% z`0?<+X7q5R9xT?32}?x*lq6yD{=H$QK4tjP=8Go*g?TV9$y_@AC$eN1{A`oDBT%^x z4*uSx|IR#40(i`yqtc2OKJEsPV8*^&9DjIUGLcx1#0`#%te_tsWYC97kd<~W2AM%@G6w&CO0zIVs?UN^-QJLaS& zfma>+J0+hryvDCO_$dS3d9q=rjaCgOa3PJ@HnRh7z5bJfHE1s5E)2-rFmzv$d1y>c zO&Wf0zy5UgxZkw<7QFVNf5Q12FPV2x@0sD1NBt&Va`mYlwv}K=( zS4wdT?rtbDIeCckY&`McW7-UY$`mQnrM}QNj7o4~vVquG6OVXEI2o@Q3AqW&cFSvO(EgT zUBTl>CBp#TxSSjD$s4|$nYXbZNOL~r(FdQ1llMz(m6PoJ$+tf}g8?)D9>aLuj&}Bc zyy_FUeD9_t8KQpXW2sRoy|W-Q9e(?1cRUeqxzBTO=Vb?Hm+Qvex8QXb|1-Y3Y2Cbo z`jqwXnxh_%7vJ+S9iUpokW5ioT6=UYO?t}Tk5qphP@?%^=&iek1t&p0gICtSw?NITb@45z; zH#bknsG*YMySH9232yM2SbDFCllDKp(zQnc`?cVoHpz%za{aq;)6lrfZMWHbHA$QP ztH)XTl9k!zx^Cwtyz-|X!uL0?pEssH)$8LA@BKu)=$@ycm_3}j zFv^ZjR*bL=bvbRtxG?rSM%}r#%O=znaw!I;3VdBEOUyCDRt~VJwUEo7OBv(@d-a3L zL!%UzO|Vuim!kh%3g>73p!io_g+!!lek1pvUXcsTh@vAkw6>N0$|hlz)Rf8Dah2y~ zZlf@YNl@ilmyimb!Bmt*c)u2w#&9RCIzBVsqBAT`>ydMA`Q88@PIbO!_{_F*^3dNn zo+8O`@3!>LIC=UAw=NxD!AjYzQg*X34D_+zX3@(DQWZ`|9174Cg+mzU(^t(b!eKYeDCqMI~Hf%=UF&ldN}~YLslPw_aE~T z9K7EF*{|HN>lVE1Cm+BMHeazI_~no8`$W9t@Y7<2o0?=~2$Xt^{d{O8Vh|;zaI;Ax ztEolF&{b)oCK5%vm+!iyXtYrcB~~e46?<%ocMBu}bjMCHI?50#H_D)wkZ_6mfDxfg ziqUJ#k9YXr;rk!vEO#j~oqxBVb#$Ddd?U(SvAuPr~C9J2X9j%<^A z%KoRukfc>6N7b^pAxZoCoBjzKc5if*VCh?*9^Wf(|McR4wHUa)#nadL+GT$IQi3&_zO;!plcolKVAQ4;eOi@%? zQvD#$nk-Rf$&BF^6S%pLEEav8Y8P@ivhoQDTC~%Fz|I+xsocpD4R@Lq7JkRd!Z0VE z?zv<&?t9?jMP`^6Cd>%YU+&rv2j0xEiJ7oq^7EXO+*xMwX+%a^P!ijL=Pw-(s_K^6GZT~eM@=2xb+*jc} zgNtst3?JP5t)becSD(ZLpzbhOvqUgF>GluBS@(W+iy7A-sK52T&&EAh9-4jRhFx3m zil2N4=ia<9N#m>Tbvj;muQM^#>$_yj;$*`osgVvn;>(Z-AWXo}%3RPVfgO8`dY#}F zMQl+hMienZt4w{Tkg%!py3*xYRsGbAy8=!i*nAqxy~&yWE|Wkq`Z=piMNt9HfETVl z8Be^^qw|3o4(A5S2lX?*`gVy|OSO(=>W#E}a%`oVx)i2*da6o|0Z~pTdkdg7v-;#C zn&w1?aLd8dtKD(uaKhNh5X8m1)(bh=q?|r)&pP~k=QWAVF2e~VCnrHK6Kq@CZShMNMhpd2>_2;^H4nL(9_&BDr8wYGJhc8b?e?SR@r2-RQY_T zfkrs3rq7q-QJ!{(6Y=JIJrm3NOF9MK<5nMzzrN2iaQMpGXY1m|UAN$MKm8YcbHhdR z4(bH(@}o}0>+XF9mh`6T6;>2ud?S*ClTjwBWQ&1bgoIef8LV9gT*x8MEOGOYU5xxy zL{{y|H|6G+AuEAhrN_*T6)#w;^EinMU6Z1dEJ;!%jV$pEC?`I>`3_IRUmW#vM?N=M z>;ELcOfdUj+801jwoJVn+a^cUT>_=I8qO$_mSuV#* zxsNBTI%T|cn(>~~luq;{wl_O*)-9hIu6D7QdV?T(?k(TXe!t1G+Geuxk$Bkt56)qS zY_I`>={$-l_MRw%rk)Sp`VIWouYT-2^GiZJ?I>Q>Uz%vvhaj3YB|OXq-?-u1IB(~b zgAV1ML3aQf;&}(|xz9F%N#OeJJDiL^J@V;T+MAwJCVl+sd*W~I^SikF@s1_9Vfa2a<xt$idW0y`ppPj_^nVoq1wf{C$)(B{Y z0t0Sa$gmABXryp5xrv8G% zPr)DG_qW85joNHFme{r_7}<2inQr)2@%>M2F^Xq9#$KlCa0SKWjIj8M($|nw$94thcmfYh}IKFh(6_eDZs9GkO>3MtC zYp4%8}f9(Dz;vaT=1JcSl-8ht$YuZ@mv)taG75Tiqm*eXj z&ch=QIWapQ6Uox({xzdv-@|p1TO<#z&!?_E8|Ur1ay&h$3eM7m??_sWSkVc5#L7G3 zk!z2}?;mysmd`7gPaf(A9&|T+@If!dA7A`$6Guh^ZrXJVUip&`;}4JeEu3-3W3hbB zgE9<+;d%Ew1xx$;;d9q~AK${FzsTV8!MRPrmm~(X!+`RPdz^u1SY>T^<`pKDjG7N*9iiEpdmQ5IEr zlW!is;{I7EPq)2M7HY{R`hT{3c`~t{5dIrO)3hFO{+1u&i3dL>%cAKBtI@qUVbueH z8-q-o2>LTbGNXhQ{lVV-_Urx?C#-%DmQO9q&zCHoA*S`ZPJ~+~?lu(RkV&AJ%P+bU=mgyZ@c=XZL<8p77l_XY1fsd$!{b zF8l~iSaSppTXD#|-kkuRezy~F$K?m%`x`G8n-+iUDx5J~L996BDfsyEfw;*MG(-H=^^%??XYI@7nLUIh=5fdem`~PfgU?+1 zAGmU6bKcbARUMhLps1b!SRt_ehcsY`F~(fGmBg!U@FMDv&y`XoLZE&=Qt_o3eoJOPXLGI^hMqFr zbb+%V5^6g%TPy~ISFq)by`EKAAug=)vuYFdi#>HC#Kc!+9B4hpnGvbpnTo}zMMppFC+Aa<#g1>lvY>=g2$xZmo4QEf(H;%YYJq! zum%HVhTnwMu!ULznA^>M=-RL0Z!iBG_B6ZEV0O-#`cJl8jaOgzAzZ%g`fLraU3viC zeDpK$xZ6KyL7DkSt~wWQ`spVz)6Al(&MSDez{@4-fCoy&iszHOc~{o)?X3dl8qgyr zLZ9VUMc_3fr$C38X7xqKBZSUfRRb39l#*z0H^{^ScAnbf0TIsc15CT}l8o1!U!J+a zVg`&A#dOL9n>2~+nAw5%T=r4?$#ox_jIZlK>tG2v?1N4fk#0iT&jsYdl%{5|VYcRh3uQQz?W?H3ldSYu~RAh8t~ z{M55oJ=TdM=*bD8azS2U7MQ+eYKV8<^r@jGKn{hK-a->@cWzdtGqL&+&$fKY~kdy)OHhHB0u#U*7lW zIQ`HEE-0A))0N-Cn=k$>cF*n=&yNKdcd$9r#XM^RyQ5(srsGo=UbSNuF>mBVjVp_?yWCMN*-0f*#{-frS(Cy1WZ)khtXKMG}Fsuix4_=KaEA%DnnrQQo3o5 ztPODb?E8jiuRINK4K-dwI+AuaAkN+TgQ3n^Wun6Ua`?T!yXAA(F}o9fqGuyM4Im!0 z;=VeQtxa9B3U`oJKSS8%%4Rb@as5{cGMKKzcYIBp56s{H;$Md?{u3jxZd{br2{{%I zbg@1@eC;>z=j%Sz8GiZ6mY?JG7yk<`-ujE|@*Fs|5`TO2GZqxg0mDCD@eTaV#h=BF zncZb|qBhmy9_o>QISg!-;LBiLP|T|puCbL{Hx+-LGuP@NKUir14>7IUmy*z;tAK!wcs5grjUpDMQ_}$aBGZ#ZGEYDyKI=~}e zPY+stzrYJ}crBUpEGHgt9L`&H-=yFRY#$Pb!GR>v5vH`(vEOyPb3oma@~JoZ!?28-Rr4X(p!RFkW2n_%P;Wii~b3hZ@VtLR|ib5 zz&nn4E*^2n{T4*9zVGs{;;f(jJ7(Dgl2Rv8QbW!&*wN6Ek%)V5dhm}o=Q1xgh-MSE z1#}6&I76eFWRRt@A`8L-p315Ki(#z%f<`)Y(-}FbrG381qj1e@CRvZAouH{=o0Czj z<7dE}Mea}%2phgV#{qV*NlY%}%{zaE|G4gay!)4*ov0FkL1x|`{zvMC1`$MQxjM&f zVj~qgEoa%N(g6l*z$|D0t9aU2m-R+CMJ;Og-^KrcX@RtrRD<{XmSOoC) zUwmY^ZlJ9eh``UBE&P@R0Z5^F|o~8Y)j5n+Jde8&?0TI(Wv4(+*neR4qm4Rw?E`#!Kp9D<2GO`aoV~G!|O`n7>X=1dwhx zqt^T$@YaoAz#ks|lH}XNHI+2m{CX2`huK~8>VkOgzk?0lmOfKv~Tgx6372qG(I!lYyJP&{nav10{` z4W*!#tc7MAznMWu96o^K3dEh}=(%giFqmbHJb`%Yu1oKThfUuT-`;yg4kfX&Sw%2s znoOkfz&?PcH|9HRJgzX`9Oxmj5rMAME9O)+MF62r$_(``$V?`hXPuwC;d~Gc{`9D) zV%5}AT)5?0JpaeivdPm#@m~ z;fZe1fTiGE65&L%EC$UtL-)togTu7VWk3{}b%oGWkW4D)p_THo0;5MeCQoP#SC#t( zgRjWMp&G>zx8}bO;Juf90w3OZevsJ;vUUU;^+w+xl6n1vIqyYW1j|Yz(l;j=1gT18 zSLHCM+`xcnX89gPPl3fayubb=eq;Kcxa)p*%r>RLujd0821*ojs7f>LmZY-u&Crju zjeg+Yl3wV^@*lmIWeLXrTJ;Egd-E0EY+eMq)D|I_IjMH!;Tp&th5VA{(1XS%Za^af zJ<{M)WbQS-p$USDc_KJ|5I=Rpcd)9z91mG@1m1G_=dfY-*6cjjOs~XS?)NM_;^6sX z<_(E=T=u0wFo#Qo2tCX?^-z&xEm^{9X2Ols+af?im*F=RHa*`AT_spON<~14*_!rY zDN6K88Ezf)IjRE@EHV2|P!h_F#d)E_CPdumflkev#yB()1SjOPEYo92vu?vsE1VNz zIZj>!K*ffYl=GvB@)p{IGE>7u(&G}g62o*Y@W_uW5tNIj0l&5K5fk-I#ub(D3CCV0 z>C&4J!j=wU_WW`7K9j&+c*QgEyGc&*F$bOqZ2F+vWT{Q&SbJz8tZX5zgiAs@zmK88 zqwHc8H-aWAY^#q}V`Ms&lZ+p}_Urh>_2*;zNNqBFty!`PXWjQ%c+?@s%sZG9#5>o2 z8Sfkib1|$u8pYrt5>F(D_`3;#MF3|R;}LhBGpzb$l~hXwLx*S)4&*mQ23%=jjk3PX zSHjr}C?$;dUaoEs77U~o5ChBXooS1_o2EVq^@&xf5ttg1ms7pL-_w8hZSu8VZ}>C4 zfiKGl?;K}VqRy3*o!m7GJ%*x@c5qTSF-i}BoMc47Juo2tS=qRSGWIbCo>a*5SlG=o zKR2Qr=FO&%`lZijKD4CC^)!SKbmsn>Yo`yw8A~5nLXg!eEf{N-RlLkLf4aG{MFX0< zujN=m1~v@Bj=|KuMM)0&g(eLeOUP#X?Cxw$uU@heXWjQ%c=Q5-IRLzS{n>ceWna#Q zWM_*f3#>s5i)7Olpc93?wA<{wY&S|a+h*;~IiSmgO+A%ej0TkQLCxBuka7tx2@0uO z_F1Eh+R7)^YBB=m!&;edE-VH@r?NKZi9W(Dr)&_Qr-px@!Z4T*p_G0v|FZ`-*HMv< zQDc_H89Gbf^1`NfJfwpVIjo+{!vMze^Ir>(E$S*s;Ie1z_aLm9K1h0P=SpnL!>q+q zrScA6-w5Wz_2j`vmf@}Ud+vgR`FpSUD&BF~7YEWrS_yr0@i%A1LN|q1Vw zt9o7uIjwEc0(t?lbcp^+>R5~U^6pb)*DjL|p_*Vah@Tjuyox0}Zp!CFWtVxG!fZKksG=HHjBMOGHa+-V-ZBQbgxctXicO({MP*_*aC!yad(4aR z$b*kw0L)_ez?EOa-(K=L%ruSTEErD~GU(y)5oB8+7{aMCL|fcY^awGCa%R@E_DVpH zPRx@6){@oNoEAlS!8nk1@iIUfNTYJ5z|a`a5A@j?%gihtZ~;=dkp@B%>Uuauj8+N z_UYj!?J#IFZ`vu2sR9`@ATw2S5d|ERHA7MxwVA4jR6;!00T*Zsn9h5Hk$OR3(uL&E z#9(RBR$Gt+rsY(O@K_5f2_)K6Kaj!l*pp^E$PL3L&+f#7y39!Fx=-C~M*qO8K^{cz z;OFmyN%kvWfHvuPEhh)1K@*i7w1Sn$#p#H`sw{HwdiL^@v3AL7aEN`EW$uLaZ)^~{ z-hcf^arK@XH0kH>Z?S%~Ozp*o{xu0ZcIp2%Kq-n$uZ+Vs&n zw5L=FtZ@>+2`e9fyDYmCQs+%wB@g~}-2TS^8?0h8A^0O$sSc77LodH%^0?aAQo_J| zZ<6J|wN%*_k5D7(n>?dRe)9L}-V|PR*r_;q?ZR~CAGq>s_^V4kox@3fD2F=MOtxz% z2i2>MfMN}awPUQ6GLwuTZ!Ir3$W&&@cG$bujSy7~xX5%hpc>rsgk&)jcwEgP&sv(3 zD116t0#gidU7(QL(QR~Nn^xv(2!^^-a}O)p&Bx42R-C^11cJ8^UrWnjdguYksJRrP zZJ94nfkReut0+}h4 zZ*v#Pnjwb(Bhs6>$NCcM?NWAOvv+?FjKU1l`6>eR5?g+@ap%JX83NUr! zy-*|bWibuWnuFomtk&mFin1hF3dUO4*II~izd&yzYbz*vKHS&RHas4NzQwB>ib&lO0o$Zx}E*QxLti)2G zq-{QPQKYcp6)PWy<-KLdTrIsf{3v4|9`_HnUpxrT(-^9YdK0D5v;j*--vcn+8~%GJ z6&?TE{ns~qVb=wNp%>n7pH9x2T+IhBzh7V!R~cAfN-k#wvF}wbOvqmd576+l89>Gc zO?*<6xwRr(_8Uw#mIf#^=v`kkoW;8?|1#dT{@*7}UaB!GgHA2R^sPe$4~20@8?~@b zZnKjvI5mUxrNUex7uj!6o#b4W=;m=-m3*^3s1_d;P1N?8hm||C%4$=RLOM21aIDnp zBf~F~sg}As6?$m0JP+msPBtZ6z!%whd7A{2&`>^G)N(R+e0&4R*I(V^m3T8=nI|mF z;l;9ePrVI?el~(m__s}8z-u>uNS4VDUVgu1S}5HLW3d#r&+f!Kw|;&Qn0orZgXK_>{4`D zPR<>%X!~~w8-*!Up-Q3_F3?({dfM%1P;RANGxN8v|03Rd#eXE04RCVfjQnyNP-UL0 z-?Y3h3sFKeQcPjNXH=Ab^w&sb`k2QEI`tsX#Fj1~4o~(-GoNH)cp+h8$rgtXA@T+2 zvDIu5rn{zE8G8x$z1x>i87PbrKd-ip&N0x{y}*70S`&;cA_Xrk0qJzbjkM1k_k@b z=)ke9Li(R2Yp{o0f|h=**TWCD{WK?LU0^3B129HE@w=-Y<%lu5#unv8L|5UI2@RR| zv-+m0@fBmz4_vs30_9{eU)o3AjDhAH9gMyZG|J5(n7?KHzvDfZpFPx>2USBngk7bzED8Z$jGP#)?p|U8 zs%cGKc}-fPbxwH-H*6pyRxQRX2`RhJAqy9%jczkkI9=^=$lbFi`^CV9l@p7>@wm0I z);?2e(N&!Tr$eT}fw{IjmDP=HX;sjo;dfV@>O=Xsf@n;W)BnBgXUUvQK+dEs5)`p` zRlkK1@7(ewjHHbt=gidn%X8%b@xbNxDT!;(r^p3p0cq}@@X-(zzae9=UJ1rCcNyUL z9=`Cgz{3nGphhG)+k$`l>u)dnEdKtAvl9zzN4B>?saYiq=cb5!NDl&hn~33LtKe8g zC#nU~;}kWBV9B`z^iG?m(07_(jl)1|vH26l#qlk>%7ES?+)v;jelmU0{pfevrX-2d zi9ba`?6RMz^DHaftWNx<1Tx#kx+#J+*K#v^o6(HUCJ)$_as$X`INBst>8GP%F(bACYpvM4eOctV}Y5T-uGw`Re$I^*`KMSb2CW!j@H;)=f^8Q&f;xwQ z;2<{|@sb12)S7%&GE}PSH1(=?_l`N-lEOAjD>|@}DML@TCn5VJC?u$n)H1v0=7LtY z4E=8}`yAeP#o2D73Lp)OI0KZZffp;#2|A*tK&qC0w!qd1R4pcmS&CTJZqn6m&gF6M zVlhT161a^OzU2Y5!b-qaSSDQQ6}gmIOX^0gjZV#vQok~0uqYF?0US>0l|kkfhcL@m zz7EDZMi-gpCsMMB$R<%ljGvQ%{VJg>&qoM(!rj`W8cC=8WW3baCnn+D=n3n=pTD!> zQ5hfMAG$$f50k;oz_+*lXact=65Ut8W~EoRRjQuh?fJ&`A3A%1ywaI?%}+k}p(`H{ zZxX)kJ|(kju%rt#W1sl($J*rBJjCEJblLfvmikd+R6zVmp@V4{+1M#Vf7|6>#NS`> zl}bh(b(mY8I4N?oreH~-E(Ym43u{k(ExZEHDpf+71kUkQfm|xso~8cE)FYg{cA9PF z70Y203=|5+I;LbQa9jLfs8Y=0t&jrFEK~>C!x8z$w#b;+MM+>$ggRT`D#zmd#NzldQ-8 z+H)1I*>Rn_70GDAEZH6WcarOTMJ z9E|zjEtpJ(HvY*IsHKdyEkS?B%<*FS3pGt9|D{(eRtetzdKBt zo(yhSv$+b$uyOCN@Lw}mqAG#y(mbQCyN^qK;5%D?1UI~HQaNNfvyFwWXYT)Sp~!MF zQbTFHrHts(4Rq8QI@(Z1+ISBIglj4w?JUStD9Znk^bIoq+BJ4-?44J98E?Ph3uO?M zK0>ukS`1>b1WKfWQz}paErzKW5ZmysniOz!jn!o*x}l?euChw4?9!e!W`xPRw8s3! zw-#umHv7=(<&->?IBl~O21tTd&N)rwbTt@Jk}q8>3bJxgc*SR3m_d2YkpdzKM@%?@ zOq9taI3dT#t?We^>7Ff9648;d44!?%nX69DrT0meI3}7c(Z7)R-qs7W;s>b0C*|DB zK)IEc%00vR+kfnY5T)HPF&TaW0FOH0p+UtIFpFsgEL0~c#5bvyCQw;gJrU4JL%}6b zR}HBWBqEmClD%g$M}2-#{(QqhFn{M2UvO@bO1x0J$BtkuuzcZ@#3+c1%1PNuSG!B$ z;8z5mI4ISCW}WDUZk?h?9!wKAC$b2LBt?-9&Kk~KS9vceO4mo^c&r5>7)Q)UXNrV%wm`L7iJu2mno({Jv`-7rYX=!rDqp(`I) zY$e5~kXiQsm0Q0J^r@R(!b$Yvi>i?$n}jv^{4eeNF*femEG&le<4mvQ+UbMv`2FtR z5fk;J`%r=C*rBMSO9G&^*fn{FcM7Zu9#DZf{UCFlnZNzYFXEk7d=WEjI*g9AI__#N z5c?IYrtgL1qm@4PRPb%!kyMzLAiIYJm|9LOw>8PbI?2JSu&~0Usn?iZkZD!a_o2b-(7$Br2O+e8JHgP==wl(!WNT@ z(vH?z#!WGAGaw)$#Yymb%lgmbJy(56jI#?KL62PSRm)g+{PR^KyN68nDmhAiItL%rK!EOI3EVF zS;9>c}Lgvcfwz4#MF#HB+f-s7jI|QcfQJhNoQBNM#8ZuGkHU7ejZevfJkGejg zd@opm>r8M$6(T-`1XJ}=*zxN{`)S$il{c(l{ES^ly%lbVFI&tlnTHCTQy?qVbnTh5 z$}^7%T(p-nXIH5ashn1PM-XY(NPOG1z2%z$jGJ zRtN&B%~PE-^frPnj4c#qUFvJ%;Vv?6pJlPk{OPwQw#bqoykV$^vzQGW6?=ka?)j}T znXn$=--X`P0!*KpSjrYCO9npkbP*5bCa3DVo^3p1c zEOeDct;@*hM)fghK{pYwYe_&6I)pWK+S^lH^C3)Xw!na1>y$!Zky#Kh-ebI_Cs++y zwHDH)(9$XmXL_^ghD9W0rj%%n>{T695{R zBX__;38B15tkgRf1kZ2>9Qma%3C>dy{@R0Vr0S(mlW?7ky6aVAhq7iU?oVR38$kjE z{E@1>DllM?sECs=0R8@eH&B^8d+r$8s!QgTqO7pQ=1f5-W^1VemkeJAOs~N5{(kt# zwddx+90I0E`xP=%F}j8w-!kuq_-uRLaCum+^%uk`}X#AO`m-_xu<>##*j_onIQGbR~xTBce+8v9^tbQ6$* zhONT-INg+cB5)0lqo>;KE6ra;_FI7!dul!R9BwRvy~4e#__m48SS#Tvh4rJ�r?Q z9=>wZ1^Ca67rLyJ8fHto(+g#gn-Wy0Qd;0zsXj3QJyFlXRph$=IUlgSsz`}Tlx%T+ z6N~)A?aGp(q9Zvkd!m0&J2Mag7p z94%A%_(8;?(lD{$q71gpmnWN4M`e%EIF!_{AP1IQW6 zBuxw}FS<~Zds!n^%_jqHq@|w&V8OywliJKmOO#aWnyxhl0U@*U?(TcjYsFiLINPyc z@n?gYTe?FTWl@#s=UHYhHV?VWFc@>^0<@{29YRc>N-R~Iwq*ZR6IC$8Hzf2>A^og! ztb)ih)|*c(dKg2ledMxFXduuMF3+WT^6h zR)--Z?pT@nML>TAv?9p%*0E+CI^6t>R@R_Il+|=?t(&-S%5%m9uU1QGl?o*j5eOr^ z$o5z@XQ;#~GGa^t?!fN*Mt~a-Fckp-{S51-pXww&=uYd$S?$1jov#!2qH#*0WL~(AkUYfR?~o ztWRsH)GTxQwL&mN$O%i)MinJw5szf8>~R@9>8mO0Hn+koPKJ~X0V4=aIg+|KAic&RI68Ew zl%wB+whX6(>{QommTV@FjIkwoolihVlr>p!(dY)EvO*f7qE|LO&PiGK7J~k$!>*E1 zdc*&;xxy@%WD@Da1%7DJXt6YKo5n9AFKZc~L>X;j3VAWnNpTpKU)RBQ}q3 z7hd_M7j@zL68KC@9>QFSEP}6z%$uTv&=^0=^i_m=5GkfQdFac6=Ytj7Uxl4pho@a~ zV}dwUWNCz1tIftw6jKYBH4h|KjyLEb2<@<;Z8i#i(8nH&l`s|zV>iZop~}cDz~jvi zEU<0`80IqIqHrD)&`9>sR$Rq=&@$o3ridNYk>#5iG7k)tnNY#N(`BeahF2{wUAA2# zy;P~l6PE)1_fn9O-!qewl13RYa35F|&pF-WSQyGsF~IALW?Fi6j3lp3a$CPp2GOSAN&_IA1+Vv@s8<`d9sCQ)*>s3I*a zSO6keBakLaf-=RLD6$&H4Mjz#o>hp~fY4FeZK4v)oP%CupQ`*|(o9p5A|{BTmTH25 zX?_uWBROR>lFJY7P;rN4`OhGGf(l~Lssfb>b)LHAKFnH@nCbG8PXN zm+qZyrh=xME#+DZ)<*{ex?X!(7J|&d#j&_t^_f`3ajotb4XxX>D5I|2M00bs%*x=y z$~lBKzD~DXm04Pu>G_)J85#>#q8RVVA2HX}|$z?(MTfG){O-%JoF z6s&_EEDo6|lr|ksu|Tb=iOi&wTBm?e z0*@FdVn&sB&K1f~4xR{u8RAJU?1b-4sx)IA6P1wBT!s~gz^A~Kts-X)HV+dOVn%!` zXpoiaH>f0xWo2CTH)4<#x*ib|J~tuJ$#VLOiL4uj>g?BIod-cJv!rMt4vQv7rM^*W zua@Vo2G2!vTqzP%1c@u0O~(Apxh$4QtD8~t_YG-pXWz*nlcMr+39=DMnEBbD7UN!Y zc)Zt6`a!-mpZILJN3fgwT{vsbKn2bc+=XU|+c^3jaQvEEc@oLpB9bwsi^b;MC z#x`6S!2`+`tBLd>fqPJtoJ>rTDddHo>{G^a)ZLrLptO##cYlr!4pqcytJ$GwvzIrl zRs{=RASF1ENm5s&fD-Yo<_3jb2b^VqO2#bTglnCj9NL08jL^Doa~U&P60klqQtG#;A*nC`W9j{`HcMGe z2#eehQ&L$rO9D`B(hRP%gr7`Qw$Ys3irc0!=B)};(mKEo29Iv2zbs^ZCdx7aGa=GW3pr(57ED3wE7+>FTiHF3CX$Ds z@1^jcVJGq@chZZxcd0f{>Lf(MhZdXH71NSxgH74OZzz13h?|!Tb$McNedXq4 z9AsO=Xf0#Ts-{}?RjJ_o*g6GArt3qt=hv#*=p1UzRM0a?mHajxKp#D?#ULB+u&6eU zK(cFA3HV}j_v)N1)>INPfBBkkWP!rg#%52b9+WQKE zmBkofkx`S4A$Pu%8-d$+Exh2?wtk? z^?mw*z|{UC5eX%W8*51xO+!lR)TIQUuDbG&inp=#l3+2+Svi8%L_sDh9tPD}rj|0- zGzozYbf}=wMYdQ#7_2zs1#&*N5FIAO^@Y+xm6%qUa<9m;04ibE3C1Y zk)65-Op>fJn-=9$-{ya#q?)Wi5Y;5WI{5Ib#7b>S(D%R}V{4ngwa&zrxU`o=n&~9a zysdG7HW)rhHw<*tAcQHUifRGxGor ziKKLADYtvWzds#C-YHK#4+LV0N7w}A~1zyQaRfChY+#kO)DKC9v zJ>8_}zAWZ-GSJt1&Wt70L(|ooGK;g81SINu_760jw3A}W5l#C~)nvMGRgbCaCFOo9 za@;vI6U_~Bk?yH2jTJJn7KEK53g`zZr;DPZPC#IQ#UN-E@}kP-)7JUerYjx8R1uym zN?7kD<1elW%rxB29ZpI(d0nNNFZ@tEHd)!BmC{IMRTgANU2ULMKS2%qEv5&xc+pc> zMW_wcJZToy>b3D!Y|qH5u9RKI?)lBt0?m2?J49Wvw7B9fg0sb&NC%V1Se6)Y7pgQE zLrtbDVgBD6oTw~=m9db@=G=qND05OygDpFL#u+FtmI|E0E?8bv;)n=E>Z-v{ za<4TO6{VygTm6Ul(l*V~&;kcoZH}bXrET;X5IbhqB3M#!92U59S_}6R?P+37MKDU} z6l@yb&oWk(9is-A2ODk>I1yNcWO6~4CU-S2pvZL4q6*TD?_;pfN6FNJyj-Ztx=NQ7 zm4AqsDH@gc7A)k{Xr2Q5jyk8(K%%&2M1raB?-6gB3k= zI#f8ycoCH9m8vPsE?I{`yoZfhWdp7Sc?7|YmR9fl-Uz2!HJc%4=3p@2z6)7$Cg1R<|-%aGRlhibyFM^0-WDiN&+FqGuG^l z)w(CN*L=DrXc}gZl7}!&*RQFv8nxc|jb;hVG=uk>?g3LanX<0DKvE*33NNc!ltGDT z?!mOE>B2fu|U%YNmK`nrW~Q-)Znj~ z^R$TOA({w$euUrXeR?WkHB_58(uYJAY=Qu^igLgx?2X0RV6BrgZEUKH<^$YFH8osV zWTEuW0dqpP=XneGg2w8yFJ7zwee`o@zFWPg(M_2{luV#+E+s$;q@D`(4;G*lA z>tcqaTCs&{XF4jHp&Ui zk*Zmp>N#x`^Z^mz{a|PT$udYF3nZdf4uO`V8--U?R9X|j?pa{h%pe|{0n>e8ss}Ec z1!tNAS_As-O*5A^+x7z6`asi6KD23)n>95E>T>5YotZ@_KiMv03Ka;Ep;SjQ!B0ae z8Vp1x?M>(-!bp}+Y@esdC@WUky4nZ@#9|g?zwX-6fL_pWk!>QuakMg6!TJr&)Y>|I z9i&w}sBEbc+-BFQ0mx^@(M^bgT8&H#DlXY7&s_G(8m1ggu=f><;0Z>*+CYzTgMcm= zQ~}1InyT36W}KMl4lXwGO2*8nsztx#Lv!!QoJ3kIi?0 zBBg_!Bhgaq-~2U0;QZKP!JzQcqLj5N@gz9}xuG|4O1P8ahqRpI)^9#(ol1Z1R$T~p@+-7RYY4AV9@)hcVq zf_@gc-cf;yU3I>D7T7U6_;a>Q`j*+Ab8zvd*KGXuE!&b$-&+Lqtv}wn=hjQMeG5k) zav=J>2Nwj359;c{HI|ursG?vXb24EUfShD8(~Ns)^ksn@$;+73@q3)qTCjD~{v;+! zZJ5xm)&_Mb7CvfFs$G-H@0e9KBa3BSt(zH3KNS!C6ctKfq3h4hT9il%63W(^@}GAB z+-iDg3+|7Y%oUkir9qsg_&|iL8TUSWeO}hj*=BFOdM0T zK~(NZI9NTfNRD>fD9g{Dn+~p-5Ik8L%y-TJduD;zrhJcCev9jFeEv=Ex$-8rg35pn z0NApdxayW~;pl@`q2D{U@JSd2_8x#srco3UPh%1Ys&ebY_lZ=((S&49G^?=KH0HWey+cmZd!RpIhs|2m! zJ``U19c%<-bYvx4Q;lj?w=}KIIE^yp;&?1>HY~hX{G7`!(nZq=4gyU%#q)xi078uD zV{mQN=BPFSzvv3=zr_lpsF*~*i(2>o9$IP}5yA-ZwJEA6=X*5@=DTJGFt@*^v-}n= zx#>l-AGvIUz}3b9eHvcExMg>P3vc}!mMHY-}Ze*L5=i{KCoV3-!K6$Aml z&88rOD+D3UV4?W0n<}%^;aYvTgy#a(tb=Ib%Gn53ny>lIfEHx%LJ4HG1~-u*?VcS3 z@?A4S%-yZYhUegtn_h&EU3z2irsII#Qv@k??IO;(`kOfEF8ib3J1$!gWIpS16x55d zyaS#q=P*`&ubRQJR0t^Cx9z>NV|h+935AXYShVDEgD&G}gE148s3Y?b1f^`)x)%uei9Z(1 z1r-^8dJd)<#wezHp)$IyC9sDMp~3G&LsMkmkOj||$h6IA(u++7!5BJoMr{HTB?I^r zEpUvQ+=Q63AqRncoS6%Jr)kc^&o;cE63k}-%=D8lOotzS&eh+nB$0wVN-rv=0-<9krRd#n(^R$2Q2FH^uTD0>Pd zRMr-lgNmDN2~F}bBWdEUnbQ8+0LzzM2C5-tb_bh9fl$r_b_1Hp%R^vcY*s3jg3t<#1VI~G8Qrj3pX-C{bVp|3CwWw^f zSe;~y)k^7k?4AL3&Q5~4SLe*|oA~Js&&Q|M-Hdv^zY`e|Ita`CYEZxM)^l*|+7+1U zAD>AU$w5FL-H4PZRT;L*z)Y0NHQ$vm;M6efXcGyPHsR*rf`$bUfjP|7M4PgyAZ&G* z!59SYNY-fDAj{A$ag?f@8kFW$EDRtoYv)g@Re$7N?k2n=IhIO?1L47@_87R>7j%@c3xR1*qj+Ih4@4V{57hk6h^D8nBf&$0Tfkmr4i<>n)L!lQ+j@+7i>hTo6_n8ZEegQd=eNC zq7+qDq$Bs^3c~^R;{F#Y4hM-NaQ} z&ciVWFGt^wFK)o>@F5*HABl3t7!S8CH0muGa;-zsF9d6YBw9@J&EeQ#KxN$_HJmYt z7@n{QzCbLS^Gz&8&w$1K0kVNeS>Ohxt657>WgP6RhAG!J@d_Lv3G%KkifDmAY6yn~ zj*k}b0N%DBlIWQjfe6uDQwfq1w>CkxqQsXepp-%>QsFL4c*U!k3ksLFh={D*v&`1P zy3a?osOiY^4s$bwE0;+Kn?z^cBs%ltHPd_*7vA`ij+yyP`o(_mgR{f$^@5<@;HoX> z;pjt_VXA+8frpL`(vpr+sgF)|v((vdn^K|%G01=yz$m6577HMwTCfNjcmOfPIwCVs z!bTKik(v)05y;lXgbS{FwPiE%YLy5|3ePnlk4-ozsWs3;i9MUhrfWSaVfi3_mw`;s z0&*C^W^FZ`NvKh*k~LQsW+hvdRf5H^Mr|Ii5B5=#P-OCmiAQU>_h$8qC*3%$a_&Sd zPqYq=W~gNNUg<{;g80rEV7Cb724HsfKXB=dFT*D;-#FJ`9tHI7LH)v8&%uM%EJNQO zGQrG;3vwp8@FVq0p%rI3UwVv3>qHaq0a{)^RwE3u$Wa%|4Hc~fSL4Jlho|ZrmHg!M@4MBU; z5Us*FScgenwNZIq%WT5d)~Q*ng~W^q*R}>BI6T;dv`=k}bel=$Flk~PI=}bAS4Jpa zP$OFb**CzpN;3JKG^_7)-&{oi8^9{No5Y)?Dc@tJ`5G?T{4#vJl>n8&yp4Ssd- zfq(FN?>wgO-?xd79BU`Y??_gnyDCA$&jbfi7DfG7(mj5hcZGHj%?V@=H^DY5> z^jh8;)ZcXCUtzlUdt;L@q5skYt}xm7CgP1rRj5)lZ6CvnT?gR%BC5d7X?hlz?Yt) z0-$s2WEacimh;Wb=+X{g0(*HbF52`weBx&t781VN*Qzs8cOmt_z0>=09* zX+-c1h|D6Gn8=(_3EV*jUCZ38g$RvSxS@ONd;0smx&98~jDLI_6b^AgCfo)`p#vWf zUT+4NW3ah)fqKL5N1pr@$R!%`!C){!mobboOJz)oW|^MpK+Q_lk4h#j11~F8L&e}r z4gQcb1soLQRUY980F^mclq|KXA(AInHe&FL=sR+DmgnQb8=pB> zHB0pBcMRz5l12cy@S1PpxH}(!sot^U8`v~MjXH8tPpMDlvgNe3;?~N1Yq7Vq4xeEb z!w{iz#Ra=IyI{$A1%n$PW|&szr?zd1(9V(GmY^_C>vG?e=6?>UMz%2rel}T_?gFC) z#8?-b0F^sfkUfW{QE7m&IOEMS%nA$x#2)kV{nPts9UiX0vpWjrkr^3+?A|I?zv%e< zSDSch)lh}+u(p6r#IBhTe)+>cMtoy~^Kroq&zg^#WuXCm^u~2b<4yoSx%HbkZtY4; z^^P0p(mB`)YHoZ{mK_oJRoq<>tqzwhFy6qHvlFCYLGZJ72*iY{L1q5ZURDH%EU>X` zzUgXnn~~QQILOc;gYOb6tiv@&2S>)hg1FF!2e3PZc3m!*5KDI#!-L}l{|8XK)Q`nYf5f*YQL zPp{v&SiyX*0liyL-?fXlYRfq|`j8bcJ3ez|%x)O#4^0>OpTV!9@d^Jp&&dQz)He z8Kfy}NelH$#h0Q2k=BC%%0{BD8LwJ=YLihzfi0>G+JbuUGi}Fe0=np;kfKNqd=m-h zf~OUsmH2emBy6Ht7+WF@c%;$ok&mB{L#NC$T!H1j<@BkS0V!p3lqd$Ev zuRbs_a3B4>!~69YaCOE60$Ps0nfsPoJOAG7{EoRl*K@dZ)DT9=w^Xt4iDSxT&{c1t&KTc zr|7twbj@{Kyp0jye&}HjezEoI_{6#!7CV?PB%qI8%Q643x9_#@wePj>wePh^!F(Y( z=;*Z<1ERFI?>_8%?R)Ke?R)*-3+9Uv(Dw!PeXo75eXo75{{g{#u>v~KW)raQwePj> zwePj>b(;qB#SG}}-Y@%J`(FEA`(FEAw^=Y>%z&N-^?LKszSq9jzSq9jzSp7$^TiJ6 zqXTT8e6;Vi@3rr>@3k+OFKRHyZ5(ua`vUvE*S^=j*S=Trn!)_L9QM8Tz4pEKz4pES c|M2>M07d&wcc0;fUjP6A07*qoM6N<$f;>k4G5`Po literal 0 HcmV?d00001 diff --git a/games/knifehit/images/btnrestart-sheet0.png b/games/knifehit/images/btnrestart-sheet0.png new file mode 100644 index 0000000000000000000000000000000000000000..f47c1fcb51730e387d6bd2532faa4dbe0c09bb51 GIT binary patch literal 31426 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 h*Z=Px#32;bRa{vGi!Tr7k48uK=>8vVQl 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 literal 0 HcmV?d00001 diff --git a/games/knifehit/images/btnsound-sheet0.png b/games/knifehit/images/btnsound-sheet0.png new file mode 100644 index 0000000000000000000000000000000000000000..35d3cc55e1bf91f6a6f51ad90d04d5edc203ba7b GIT binary patch literal 9420 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 literal 0 HcmV?d00001 diff --git a/games/knifehit/images/btnstar-sheet0.png b/games/knifehit/images/btnstar-sheet0.png new file mode 100644 index 0000000000000000000000000000000000000000..bd84f6d95aeabbbf869c9bb77e6470a263bbf712 GIT binary patch literal 4923 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 literal 0 HcmV?d00001 diff --git a/games/knifehit/images/circle-sheet0.png b/games/knifehit/images/circle-sheet0.png new file mode 100644 index 0000000000000000000000000000000000000000..8535a5b7256dbfa999617501245b1c5f139d2380 GIT binary patch literal 351351 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

6fN7s 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¥D9DrAY8zpCcxrT&fqs{jHNoY^v2mcL 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 d#|+d_;5YHZQP0*2^NAOhg81Rw%D;7eux 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

L*q18I8pj_IP1#w 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

SbADDp>^{MD zk$DgRz~cn~p;GQv-kG(XmxemBR6nNyklIeF_uLb#VPzQ&4fXqVt`-6~$fvwo!?mT? zFPTEWoS1N{Trs{U-cgZAWFeS5nKj*%^E1n3&hWw#xp>f!qLsyeSC77hSJr|1H^HZW zRJnf>3`{?HFkh5e>;H3af|q^{)^9yL5x_nN4*Pu{fT9)w6e@I8D1yw20kod-m#Z^C zR*L}w(DpiGMZZyse08!k*LEg5H(aruc*qioL>7eh@0@;;iab}Wd6`S)VyCj1MDTf_ zD3vgGi*;B7UoT6)oUvhd7R?DYcrwsH#4 zwt;T#46r+?9y11=vCuJlMH)Safy3-aTEDb0LY4y7kavpG!1v3*f0Q9yH848!ee>3b zqN7eEaukk27rb%Znd02@!M{w@UT!iO6pytSx}S(iA!i@ z12nQGt!$9BE7!Ae)$y!ev5pO^j%UNzajYB~W9`a~tX;Y8aY6mVW$Vs|`18;GKL7Id zzauYl5|=)nbV!&&Zbps2+Qn|3#5=?kN}ZmY4k;&pP`GT8)8ye(sT-5Altg zzrr_fxte<)y^HPR+nDK0)9%iYmpRT_oJnxb;cS9Puh4_c3NTc4pZ6#AS@r%UA^Oc; zA%G_!cSz1v3ZHR#`0jWA=8>IoNQy)vk;U7RMIuXQNp%&Ct{M9iYt2tN!Ib`Reu>W6 z^4DEmdQonvPoe}7TSoz^pnetLw}>ROfqvP)0HVmgw~p+e;;<06Yn@7=P@RtS4!6SI z#hmUH2dIWxFc8oXs{ffOZCGKh9GJ%;Y zHu8hubRp9@K zvi%h(Yu7caRnUJRAS()FMTr?MVaOvbUs?J)-76IE@pxmotRb+q?LT#U=LVfIRoQ?& z4joU>Jr3=dz5T(|?R^AYOMomf7$<1yDFgS1Qm+=m=O?DQcJ-Ba#C>BVaujgM&uq9* zOL;NYyj;XzDv3?ivn*`>dr3vAim$EvgL-`McwZ7!$&!qfL!%70R;j~q?$xL^Kyy(IH{U?8i3pYRGDX#0IJhbBhcI?^4-COVCzO8ri;Eo5F znBK$W%mkA&dzflZ;e*E-gNVf%Gb;|+w@(?Yu{i56#*)|sV@#baHV@a!R6+nzD1*OO z3jL-J@@e(*tsDRELl4IhDiVoA7Iy0ui7Y9?H;-#}itfjonf$PN#XqG0K=;k$pBv;C zK-bc2tf7^wm;Fgy7;%SJk_l|$N6CP@1YL)#L6&T%X=TlGEI%ClZS2+XhaOk9~+yS~~Z<&C@bOz|T0;GvxZMFB$ z%do?0xW=pgdw1G@WB9l4x-B+LB(nUt=q>9nM&;!u)gJ=6K%7g}E1_JvQUAHw;zgNL z`hub?0mT@HHHOrsj18~hxYZ}JX2m*=U%QEu)}GAzv5l-6S;uf|nBjqy^B(MfA|BcK zAXi=gMcPFhcN7W$swNV4Pwry6Jvk@1e_%R!n~9lmR23tJZqZ@q#C8PXCtvh7e(0I6 zJ*1ZpAuv9@oAK%0?3volV|%vp=+1|EXvh6*-Sr3))4SO@v4h8UZDrH?Q#tFT^U0F5 zcE1bkncBnFoe!|(kvo{2nIJE7j2N0}t12s?^WzF20wyt_P

j2w&Gi{yD>Z=|4Xj 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

7q)0F0zD-z;LqAl3*uV1PVG;S-jOn@Kzz_r}CU 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 ><`&VCJ)q1?*4xpqQ7Y;ypMlH24EaJC{IAYX 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�x_)A3~8Sr2&B>x); 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̀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