From 44985eb6d126f3e30f2af277aabdbc0ce97ad47b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90=E1=BA=B7ng=20Minh=20Quang?= Date: Mon, 23 Feb 2026 19:05:48 +0700 Subject: [PATCH] initial commit --- .gitea/workflows/deploy.yml | 90 + SQ_Word_TextOnly-Teacher/appmanifest.json | 28 + SQ_Word_TextOnly-Teacher/c2runtime.js | 26594 ++++++++++++++++ SQ_Word_TextOnly-Teacher/data.js | 1 + SQ_Word_TextOnly-Teacher/icon-114.png | Bin 0 -> 25223 bytes SQ_Word_TextOnly-Teacher/icon-128.png | Bin 0 -> 33382 bytes SQ_Word_TextOnly-Teacher/icon-16.png | Bin 0 -> 1041 bytes SQ_Word_TextOnly-Teacher/icon-256.png | Bin 0 -> 98347 bytes SQ_Word_TextOnly-Teacher/icon-32.png | Bin 0 -> 2967 bytes .../images/answers-sheet0.png | Bin 0 -> 12383 bytes .../images/black-sheet0.png | Bin 0 -> 2935 bytes .../images/button-sheet0.png | Bin 0 -> 6124 bytes .../images/correct-sheet0.png | Bin 0 -> 31182 bytes .../images/khungtxt-sheet0.png | Bin 0 -> 70400 bytes .../images/newwords-sheet0.png | Bin 0 -> 32993 bytes .../images/slot-sheet0.png | Bin 0 -> 11183 bytes .../images/sprite-sheet0.png | Bin 0 -> 168 bytes .../images/submit-sheet0.png | Bin 0 -> 146996 bytes .../images/wrong-sheet0.png | Bin 0 -> 27271 bytes SQ_Word_TextOnly-Teacher/index.html | 140 + SQ_Word_TextOnly-Teacher/jquery-3.4.1.min.js | 2 + SQ_Word_TextOnly-Teacher/loading-logo.png | Bin 0 -> 385085 bytes .../media/alert-234711.ogg | Bin 0 -> 23907 bytes .../media/button-124476.ogg | Bin 0 -> 13157 bytes SQ_Word_TextOnly-Teacher/media/card_drag.ogg | Bin 0 -> 7213 bytes SQ_Word_TextOnly-Teacher/media/card_flips.ogg | Bin 0 -> 8015 bytes SQ_Word_TextOnly-Teacher/media/card_swipe.ogg | Bin 0 -> 9018 bytes .../media/click-234708.ogg | Bin 0 -> 6353 bytes SQ_Word_TextOnly-Teacher/media/click.m4a | Bin 0 -> 2444 bytes SQ_Word_TextOnly-Teacher/media/click.ogg | Bin 0 -> 5621 bytes .../media/error-010-206498.ogg | Bin 0 -> 11425 bytes SQ_Word_TextOnly-Teacher/media/pick-92276.ogg | Bin 0 -> 16164 bytes .../media/pop-reverb-423718.ogg | Bin 0 -> 23653 bytes SQ_Word_TextOnly-Teacher/offline.js | 37 + SQ_Word_TextOnly-Teacher/offlineClient.js | 53 + SQ_Word_TextOnly-Teacher/sena_sdk.js | 1907 ++ SQ_Word_TextOnly-Teacher/sw.js | 403 + readme.md | 4 + source/SQ_Word_TextOnly-Teacher.capx | Bin 0 -> 694062 bytes 39 files changed, 29259 insertions(+) create mode 100644 .gitea/workflows/deploy.yml create mode 100644 SQ_Word_TextOnly-Teacher/appmanifest.json create mode 100644 SQ_Word_TextOnly-Teacher/c2runtime.js create mode 100644 SQ_Word_TextOnly-Teacher/data.js create mode 100644 SQ_Word_TextOnly-Teacher/icon-114.png create mode 100644 SQ_Word_TextOnly-Teacher/icon-128.png create mode 100644 SQ_Word_TextOnly-Teacher/icon-16.png create mode 100644 SQ_Word_TextOnly-Teacher/icon-256.png create mode 100644 SQ_Word_TextOnly-Teacher/icon-32.png create mode 100644 SQ_Word_TextOnly-Teacher/images/answers-sheet0.png create mode 100644 SQ_Word_TextOnly-Teacher/images/black-sheet0.png create mode 100644 SQ_Word_TextOnly-Teacher/images/button-sheet0.png create mode 100644 SQ_Word_TextOnly-Teacher/images/correct-sheet0.png create mode 100644 SQ_Word_TextOnly-Teacher/images/khungtxt-sheet0.png create mode 100644 SQ_Word_TextOnly-Teacher/images/newwords-sheet0.png create mode 100644 SQ_Word_TextOnly-Teacher/images/slot-sheet0.png create mode 100644 SQ_Word_TextOnly-Teacher/images/sprite-sheet0.png create mode 100644 SQ_Word_TextOnly-Teacher/images/submit-sheet0.png create mode 100644 SQ_Word_TextOnly-Teacher/images/wrong-sheet0.png create mode 100644 SQ_Word_TextOnly-Teacher/index.html create mode 100644 SQ_Word_TextOnly-Teacher/jquery-3.4.1.min.js create mode 100644 SQ_Word_TextOnly-Teacher/loading-logo.png create mode 100644 SQ_Word_TextOnly-Teacher/media/alert-234711.ogg create mode 100644 SQ_Word_TextOnly-Teacher/media/button-124476.ogg create mode 100644 SQ_Word_TextOnly-Teacher/media/card_drag.ogg create mode 100644 SQ_Word_TextOnly-Teacher/media/card_flips.ogg create mode 100644 SQ_Word_TextOnly-Teacher/media/card_swipe.ogg create mode 100644 SQ_Word_TextOnly-Teacher/media/click-234708.ogg create mode 100644 SQ_Word_TextOnly-Teacher/media/click.m4a create mode 100644 SQ_Word_TextOnly-Teacher/media/click.ogg create mode 100644 SQ_Word_TextOnly-Teacher/media/error-010-206498.ogg create mode 100644 SQ_Word_TextOnly-Teacher/media/pick-92276.ogg create mode 100644 SQ_Word_TextOnly-Teacher/media/pop-reverb-423718.ogg create mode 100644 SQ_Word_TextOnly-Teacher/offline.js create mode 100644 SQ_Word_TextOnly-Teacher/offlineClient.js create mode 100644 SQ_Word_TextOnly-Teacher/sena_sdk.js create mode 100644 SQ_Word_TextOnly-Teacher/sw.js create mode 100644 readme.md create mode 100644 source/SQ_Word_TextOnly-Teacher.capx diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..4a2771a --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,90 @@ +name: Deploy to Production + +on: + push: + branches: + - main + - master + +jobs: + deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Deploy to server + run: | + echo "๐Ÿš€ Deploying to /var/www/html/games" + echo "๐Ÿ“ Current directory: $(pwd)" + echo "๐Ÿ“ GITHUB_WORKSPACE: $GITHUB_WORKSPACE" + + # Read game info from readme.md + if [ -f "$GITHUB_WORKSPACE/readme.md" ]; then + GAME_TITLE=$(sed -n '1p' "$GITHUB_WORKSPACE/readme.md") + GAME_DESC=$(sed -n '2p' "$GITHUB_WORKSPACE/readme.md") + GAME_TYPE=$(sed -n '3p' "$GITHUB_WORKSPACE/readme.md") + else + GAME_TITLE="Untitled Game" + GAME_DESC="No description" + GAME_TYPE="quiz" + fi + + # Create base directory + mkdir -p /var/www/html/games/ + + # Find and deploy all game folders (exclude source, .git, .gitea, etc.) + DEPLOYED_FOLDERS="" + DEPLOYED_URLS="" + for folder in $GITHUB_WORKSPACE/*/; do + folder_name=$(basename "$folder") + + # Skip excluded folders + if [[ "$folder_name" == "source" ]] || \ + [[ "$folder_name" == ".git" ]] || \ + [[ "$folder_name" == ".gitea" ]] || \ + [[ "$folder_name" == "node_modules" ]] || \ + [[ "$folder_name" == "logs" ]] || \ + [[ "$folder_name" == "uploads" ]]; then + echo "โญ๏ธ Skipping: $folder_name" + continue + fi + + # Deploy the folder + echo "๐Ÿ“ฆ Deploying: $folder_name" + rsync -av --delete "$folder" "/var/www/html/games/$folder_name/" + DEPLOYED_FOLDERS="$DEPLOYED_FOLDERS $folder_name" + GAME_URL="https://senaai.tech/games/$folder_name/" + DEPLOYED_URLS="$DEPLOYED_URLS\n ๐Ÿ”— $GAME_URL" + + # Get thumbnail (first image found or default) + THUMBNAIL=$(find "$folder" -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.jpeg" \) 2>/dev/null | head -n 1 || true) + if [ -z "$THUMBNAIL" ]; then + THUMBNAIL="https://senaai.tech/games/$folder_name/images/default.png" + else + THUMBNAIL="https://senaai.tech/games/$folder_name/$(basename "$THUMBNAIL")" + fi + + # Submit game info to API + echo "๐Ÿ“ค Submitting game info to API..." + curl --location 'http://senaai.tech:10000/api/games/save-with-check' \ + --header 'Content-Type: application/x-www-form-urlencoded' \ + --data-urlencode "title=$GAME_TITLE" \ + --data-urlencode "description=$GAME_DESC" \ + --data-urlencode "url=$GAME_URL" \ + --data-urlencode "thumbnail=$THUMBNAIL" \ + --data-urlencode "type=$GAME_TYPE" || true + echo "" + done + + # Show deployment summary + echo "" + echo "==========================================" + echo "๐ŸŽ‰ Deployment Completed Successfully!" + echo "==========================================" + echo "" + echo "๐Ÿ“ Deployed URLs:" + echo -e "$DEPLOYED_URLS" + echo "" + echo "==========================================" \ No newline at end of file diff --git a/SQ_Word_TextOnly-Teacher/appmanifest.json b/SQ_Word_TextOnly-Teacher/appmanifest.json new file mode 100644 index 0000000..a4e236a --- /dev/null +++ b/SQ_Word_TextOnly-Teacher/appmanifest.json @@ -0,0 +1,28 @@ +๏ปฟ{ + "name": "SQ_Word_TextOnly", + "short_name": "SQ_Word_TextOnly", + "start_url": "index.html", + "display": "fullscreen", + "orientation": "any", + "icons": [{ + "src": "icon-16.png", + "sizes": "16x16", + "type": "image/png" + }, { + "src": "icon-32.png", + "sizes": "32x32", + "type": "image/png" + }, { + "src": "icon-128.png", + "sizes": "128x128", + "type": "image/png" + }, { + "src": "icon-256.png", + "sizes": "144x144", + "type": "image/png" + }, { + "src": "icon-256.png", + "sizes": "256x256", + "type": "image/png" + }] +} diff --git a/SQ_Word_TextOnly-Teacher/c2runtime.js b/SQ_Word_TextOnly-Teacher/c2runtime.js new file mode 100644 index 0000000..2b5d06b --- /dev/null +++ b/SQ_Word_TextOnly-Teacher/c2runtime.js @@ -0,0 +1,26594 @@ +๏ปฟ// Generated by Construct 2, the HTML5 game and app creator :: https://www.construct.net +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 = ""; + savingJson = ""; + 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 = ""; + savingJson = ""; + 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 = ""; + savingJson = ""; + 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_"] = "0764F5122709682D4499715308638A3CE8A82A1F"; + 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.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 (self["cordova"] && self["cordova"]["InAppBrowser"]) + self["cordova"]["InAppBrowser"]["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 (self["cordova"] && self["cordova"]["InAppBrowser"]) + self["cordova"]["InAppBrowser"]["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_.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_.JSON = function(runtime) +{ + this.runtime = runtime; + this.references = {}; +}; +(function () +{ + /*! (C) WebReflection Mit Style License */ + var CircularJSON=function(e,t){function l(e,t,o){var u=[],f=[e],l=[e],c=[o?n:"[Circular]"],h=e,p=1,d;return function(e,v){return t&&(v=t.call(this,e,v)),e!==""&&(h!==this&&(d=p-a.call(f,this)-1,p-=d,f.splice(p,f.length),u.splice(p-1,u.length),h=this),typeof v=="object"&&v?(a.call(f,v)<0&&f.push(h=v),p=f.length,d=a.call(l,v),d<0?(d=l.push(v)-1,o?(u.push((""+e).replace(s,r)),c[d]=n+u.join(n)):c[d]=c[0]):v=c[d]):typeof v=="string"&&o&&(v=v.replace(r,i).replace(n,r))),v}}function c(e,t){for(var r=0,i=t.length;r 0) { + for (var i = 0; i < count; i += rowBreak) { + rows.push(Math.min(rowBreak, count - i)); + } + } else { + if (count <= 5) { + rows.push(count); + } else { + var top = Math.ceil((count + 1) / 2); + var bottom = count - top; + rows.push(top); + rows.push(bottom); + } + } + var baseY = 0; + if (type === "word") { + baseY = groupGap || (rowGap * rows.length); // word always below slot + } + var index = 0; + for (var r = 0; r < rows.length; r++) { + var itemsInRow = rows[r]; + var rowWidth = itemsInRow * objectWidth + (itemsInRow - 1) * margin; + var startX = (maxWidth - rowWidth) / 2; + for (var i = 0; i < itemsInRow; i++) { + this.calculatedPositions.push({ + x: startX + i * (objectWidth + margin) + objectWidth / 2, + y: baseY + r * rowGap + }); + index++; + } + } + console.log("Calculated positions (multi-row):", this.calculatedPositions); + }; + Acts.prototype.LoadLevelG5 = function (levelIndex) { + if (this.sdk && this.sdk.loadLevelG5) { + this.sdk.loadLevelG5(levelIndex); + } + }; + Acts.prototype.CheckPair = function (idx1, idx2) { + var self = this; + if (this.sdk && this.sdk.checkPair) { + this.sdk.checkPair(idx1, idx2, function (isMatch) { + if (isMatch) { + window["SenaTrigger"].runtime.trigger( + cr.plugins_.SenaPlugin.prototype.cnds.OnPairCorrect, + window["SenaTrigger"], + ); + } else { + window["SenaTrigger"].runtime.trigger( + cr.plugins_.SenaPlugin.prototype.cnds.OnPairWrong, + window["SenaTrigger"], + ); + } + }); + } + }; + Acts.prototype.SetData = function (data1, data2, data3, data4, data5) { + this.customData.data1 = data1 || ""; + this.customData.data2 = data2 || ""; + this.customData.data3 = data3 || ""; + this.customData.data4 = data4 || ""; + this.customData.data5 = data5 || ""; + console.log('Custom data set:', this.customData); + }; + Acts.prototype.PostMessage = function () { + if (this.sdk && this.sdk.sendMessageToParent) { + var dataToSend = { + data1: this.customData.data1, + data2: this.customData.data2, + data3: this.customData.data3, + data4: this.customData.data4, + data5: this.customData.data5 + }; + this.sdk.sendMessageToParent(dataToSend); + console.log('Posted message to parent:', dataToSend); + } else { + console.error('SDK not initialized or sendMessageToParent not available'); + } + }; + pluginProto.acts = new Acts(); + function Exps() {} + Exps.prototype.getQuestionValue = function (ret) { + if (this.sdk) { + ret.set_string(this.sdk.getQuestionValue() || ""); + } else { + ret.set_string(""); + } + }; + Exps.prototype.getQuestionType = function (ret) { + if (this.sdk) { + ret.set_string(this.sdk.getQuestionType() || "text"); + } else { + ret.set_string("text"); + } + }; + Exps.prototype.getRequestValue = function (ret) { + if (this.sdk) { + ret.set_string(this.sdk.getRequestValue() || ""); + } else { + ret.set_string(""); + } + }; + Exps.prototype.getRequestType = function (ret) { + if (this.sdk) { + ret.set_string(this.sdk.getRequestType() || "text"); + } else { + ret.set_string("text"); + } + }; + Exps.prototype.getOptionsCount = function (ret) { + if (this.sdk) { + ret.set_int(this.sdk.getOptionsCount() || 0); + } else { + ret.set_int(0); + } + }; + Exps.prototype.getOptionsType = function (ret) { + if (this.sdk) { + ret.set_string(this.sdk.getOptionsType() || "text"); + } else { + ret.set_string("text"); + } + }; + Exps.prototype.getOptionsValue = function (ret, index) { + if (this.sdk) { + var value = this.sdk.getOptionsValue(index); + if (value && typeof value === "object") { + ret.set_string(JSON.stringify(value)); + } else { + ret.set_string(value || ""); + } + } else { + ret.set_string(""); + } + }; + Exps.prototype.getHintType = function (ret) { + if (this.sdk) { + ret.set_string(this.sdk.getHintType() || ""); + } else { + ret.set_string(""); + } + }; + Exps.prototype.getHintCount = function (ret) { + if (this.sdk) { + ret.set_int(this.sdk.getHintCount() || 0); + } else { + ret.set_int(0); + } + }; + Exps.prototype.getHintValue = function (ret, index) { + if (this.sdk) { + var value = this.sdk.getHintValue(index); + if (value === null) { + ret.set_string(""); + } else if (typeof value === "object") { + ret.set_string(JSON.stringify(value)); + } else { + ret.set_string(value.toString()); + } + } else { + ret.set_string(""); + } + }; + Exps.prototype.getTimeLimit = function (ret) { + if (this.sdk) { + ret.set_int(this.sdk.timeLimit || 0); + } else { + ret.set_int(0); + } + }; + Exps.prototype.getShuffle = function (ret) { + if (this.sdk) { + ret.set_int(this.sdk.shuffle ? 1 : 0); + } else { + ret.set_int(1); + } + }; + Exps.prototype.getGameCode = function (ret) { + if (this.sdk) { + ret.set_string(this.sdk.gameCode || ""); + } else { + ret.set_string(""); + } + }; + Exps.prototype.getGuide = function (ret) { + if (this.sdk && this.sdk.guide) { + ret.set_string(this.sdk.guide() || ""); + } else { + ret.set_string(""); + } + }; + Exps.prototype.isVoicePlaying = function (ret) { + if (this.sdk && this.sdk.isSpeaking) { + ret.set_int(this.sdk.isSpeaking() ? 1 : 0); + } else { + ret.set_int(0); + } + }; + Exps.prototype.isMusicPlaying = function (ret) { + ret.set_int(this.bgMusicPlaying ? 1 : 0); + }; + Exps.prototype.isMusicPaused = function (ret) { + ret.set_int(this.bgMusicPaused ? 1 : 0); + }; + Exps.prototype.isGamePaused = function (ret) { + ret.set_int(this.isPaused ? 1 : 0); + }; + Exps.prototype.getElapsedTime = function (ret) { + if (this.sdk && this.sdk.startTime) { + var elapsed = + (Date.now() - this.sdk.startTime - this.totalPausedTime) / 1000; + if (this.isPaused) { + elapsed -= (Date.now() - this.pauseTime) / 1000; + } + ret.set_float(Math.max(0, elapsed)); + } else { + ret.set_float(0); + } + }; + Exps.prototype.getPosXbyIndex = function (ret, index) { + if (this.calculatedPositions[index]) { + ret.set_float(this.calculatedPositions[index].x); + } else { + ret.set_float(0); + } + }; + Exps.prototype.getPosYbyIndex = function (ret, index) { + if (this.calculatedPositions[index]) { + ret.set_float(this.calculatedPositions[index].y); + } else { + ret.set_float(0); + } + }; + Exps.prototype.getTargetName = function (ret) { + if (this.sdk && this.sdk.getTargetName) { + ret.set_string(this.sdk.getTargetName() || ""); + } else { + ret.set_string(""); + } + }; + Exps.prototype.getCardName = function (ret, index) { + if (this.sdk && this.sdk.getCardName) { + ret.set_string(this.sdk.getCardName(index) || ""); + } else { + ret.set_string(""); + } + }; + Exps.prototype.getCardImage = function (ret, index) { + if (this.sdk && this.sdk.getCardImage) { + ret.set_string(this.sdk.getCardImage(index) || ""); + } else { + ret.set_string(""); + } + }; + Exps.prototype.getCardAudio = function (ret, index) { + if (this.sdk && this.sdk.getCardAudio) { + ret.set_string(this.sdk.getCardAudio(index) || ""); + } else { + ret.set_string(""); + } + }; + Exps.prototype.getQuestionImage = function (ret) { + if (this.sdk && this.sdk.getQuestionImage) { + ret.set_string(this.sdk.getQuestionImage() || ""); + } else { + ret.set_string(""); + } + }; + Exps.prototype.getTimePerCard = function (ret) { + if (this.sdk && this.sdk.getTimePerCard) { + ret.set_int(this.sdk.getTimePerCard()); + } else { + ret.set_int(0); + } + }; + Exps.prototype.getTotalLevels = function (ret) { + if (this.sdk && this.sdk.getTotalLevels) { + ret.set_int(this.sdk.getTotalLevels()); + } else { + ret.set_int(1); + } + }; + Exps.prototype.getCurrentLevel = function (ret) { + if (this.sdk) { + ret.set_int(this.sdk.currentLevel || 1); + } else { + ret.set_int(1); + } + }; + Exps.prototype.GetCardType = function (ret, index) { + if (this.sdk && this.sdk.getCardType) { + ret.set_string(this.sdk.getCardType(index)); + } else { + ret.set_string(""); + } + }; + Exps.prototype.getCardID = function (ret, index) { + if (this.sdk && this.sdk.getCardID) { + ret.set_string(this.sdk.getCardID(index) || ""); + } else { + ret.set_string(""); + } + }; + Exps.prototype.getData = function (ret, dataIndex) { + var dataKey = "data" + dataIndex; + if (this.customData && this.customData[dataKey] !== undefined) { + ret.set_string(this.customData[dataKey]); + } else { + ret.set_string(""); + } + }; + Exps.prototype.getLastSenderUUID = function (ret) { + ret.set_string(this.lastSenderUUID || ""); + }; + Exps.prototype.getLastMessageJSON = function (ret) { + if (this.lastMessageData) { + ret.set_string(JSON.stringify(this.lastMessageData)); + } else { + ret.set_string("{}"); + } + }; + pluginProto.exps = new Exps(); +})(); +; +; +cr.plugins_.Sprite = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var pluginProto = cr.plugins_.Sprite.prototype; + pluginProto.Type = function(plugin) + { + this.plugin = plugin; + this.runtime = plugin.runtime; + }; + var typeProto = pluginProto.Type.prototype; + function frame_getDataUri() + { + if (this.datauri.length === 0) + { + var tmpcanvas = document.createElement("canvas"); + tmpcanvas.width = this.width; + tmpcanvas.height = this.height; + var tmpctx = tmpcanvas.getContext("2d"); + if (this.spritesheeted) + { + tmpctx.drawImage(this.texture_img, this.offx, this.offy, this.width, this.height, + 0, 0, this.width, this.height); + } + else + { + tmpctx.drawImage(this.texture_img, 0, 0, this.width, this.height); + } + this.datauri = tmpcanvas.toDataURL("image/png"); + } + return this.datauri; + }; + typeProto.onCreate = function() + { + if (this.is_family) + return; + var i, leni, j, lenj; + var anim, frame, animobj, frameobj, wt, uv; + this.all_frames = []; + this.has_loaded_textures = false; + for (i = 0, leni = this.animations.length; i < leni; i++) + { + anim = this.animations[i]; + animobj = {}; + animobj.name = anim[0]; + animobj.speed = anim[1]; + animobj.loop = anim[2]; + animobj.repeatcount = anim[3]; + animobj.repeatto = anim[4]; + animobj.pingpong = anim[5]; + animobj.sid = anim[6]; + animobj.frames = []; + for (j = 0, lenj = anim[7].length; j < lenj; j++) + { + frame = anim[7][j]; + frameobj = {}; + frameobj.texture_file = frame[0]; + frameobj.texture_filesize = frame[1]; + frameobj.offx = frame[2]; + frameobj.offy = frame[3]; + frameobj.width = frame[4]; + frameobj.height = frame[5]; + frameobj.duration = frame[6]; + frameobj.hotspotX = frame[7]; + frameobj.hotspotY = frame[8]; + frameobj.image_points = frame[9]; + frameobj.poly_pts = frame[10]; + frameobj.pixelformat = frame[11]; + frameobj.spritesheeted = (frameobj.width !== 0); + frameobj.datauri = ""; // generated on demand and cached + frameobj.getDataUri = frame_getDataUri; + console.log(frame); + uv = {}; + uv.left = 0; + uv.top = 0; + uv.right = 1; + uv.bottom = 1; + frameobj.sheetTex = uv; + frameobj.webGL_texture = null; + wt = this.runtime.findWaitingTexture(frame[0]); + if (wt) + { + frameobj.texture_img = wt; + } + else + { + frameobj.texture_img = new Image(); + frameobj.texture_img.cr_src = frame[0]; + frameobj.texture_img.cr_filesize = frame[1]; + frameobj.texture_img.c2webGL_texture = null; + this.runtime.waitForImageLoad(frameobj.texture_img, frame[0]); + } + cr.seal(frameobj); + animobj.frames.push(frameobj); + this.all_frames.push(frameobj); + } + cr.seal(animobj); + this.animations[i] = animobj; // swap array data for object + } + }; + typeProto.updateAllCurrentTexture = function () + { + var i, len, inst; + for (i = 0, len = this.instances.length; i < len; i++) + { + inst = this.instances[i]; + inst.curWebGLTexture = inst.curFrame.webGL_texture; + } + }; + typeProto.onLostWebGLContext = function () + { + if (this.is_family) + return; + var i, len, frame; + for (i = 0, len = this.all_frames.length; i < len; ++i) + { + frame = this.all_frames[i]; + frame.texture_img.c2webGL_texture = null; + frame.webGL_texture = null; + } + this.has_loaded_textures = false; + this.updateAllCurrentTexture(); + }; + typeProto.onRestoreWebGLContext = function () + { + if (this.is_family || !this.instances.length) + return; + var i, len, frame; + for (i = 0, len = this.all_frames.length; i < len; ++i) + { + frame = this.all_frames[i]; + frame.webGL_texture = this.runtime.glwrap.loadTexture(frame.texture_img, false, this.runtime.linearSampling, frame.pixelformat); + } + this.updateAllCurrentTexture(); + }; + typeProto.loadTextures = function () + { + if (this.is_family || this.has_loaded_textures || !this.runtime.glwrap) + return; + var i, len, frame; + for (i = 0, len = this.all_frames.length; i < len; ++i) + { + frame = this.all_frames[i]; + frame.webGL_texture = this.runtime.glwrap.loadTexture(frame.texture_img, false, this.runtime.linearSampling, frame.pixelformat); + } + this.has_loaded_textures = true; + }; + typeProto.unloadTextures = function () + { + if (this.is_family || this.instances.length || !this.has_loaded_textures) + return; + var i, len, frame; + for (i = 0, len = this.all_frames.length; i < len; ++i) + { + frame = this.all_frames[i]; + this.runtime.glwrap.deleteTexture(frame.webGL_texture); + frame.webGL_texture = null; + } + this.has_loaded_textures = false; + }; + var already_drawn_images = []; + typeProto.preloadCanvas2D = function (ctx) + { + var i, len, frameimg; + cr.clearArray(already_drawn_images); + for (i = 0, len = this.all_frames.length; i < len; ++i) + { + frameimg = this.all_frames[i].texture_img; + if (already_drawn_images.indexOf(frameimg) !== -1) + continue; + ctx.drawImage(frameimg, 0, 0); + already_drawn_images.push(frameimg); + } + }; + pluginProto.Instance = function(type) + { + this.type = type; + this.runtime = type.runtime; + var poly_pts = this.type.animations[0].frames[0].poly_pts; + if (this.recycled) + this.collision_poly.set_pts(poly_pts); + else + this.collision_poly = new cr.CollisionPoly(poly_pts); + }; + var instanceProto = pluginProto.Instance.prototype; + instanceProto.onCreate = function() + { + this.visible = (this.properties[0] === 0); // 0=visible, 1=invisible + this.isTicking = false; + this.inAnimTrigger = false; + this.collisionsEnabled = (this.properties[3] !== 0); + this.cur_animation = this.getAnimationByName(this.properties[1]) || this.type.animations[0]; + this.cur_frame = this.properties[2]; + 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; + 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(); +}()); +; +; +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.trigger_permission = 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); + }; + Cnds.prototype.OnPermissionGranted = function (type) + { + return this.trigger_permission === type; + }; + Cnds.prototype.OnPermissionDenied = function (type) + { + return this.trigger_permission === type; + }; + pluginProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.RequestPermission = function (type) + { + var self = this; + var promise = Promise.resolve(true); + if (type === 0) // orientation + { + if (window["DeviceOrientationEvent"] && window["DeviceOrientationEvent"]["requestPermission"]) + { + promise = window["DeviceOrientationEvent"]["requestPermission"]() + .then(function (state) + { + return state === "granted"; + }); + } + } + else // motion + { + if (window["DeviceMotionEvent"] && window["DeviceMotionEvent"]["requestPermission"]) + { + promise = window["DeviceMotionEvent"]["requestPermission"]() + .then(function (state) + { + return state === "granted"; + }); + } + } + promise.then(function (result) + { + self.trigger_permission = type; + if (result) + self.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnPermissionGranted, self); + else + self.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnPermissionDenied, self); + }); + }; + pluginProto.acts = new Acts(); + 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.behaviors.Anchor = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.Anchor.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.anch_left = this.properties[0]; // 0 = left, 1 = right, 2 = none + this.anch_top = this.properties[1]; // 0 = top, 1 = bottom, 2 = none + this.anch_right = this.properties[2]; // 0 = none, 1 = right + this.anch_bottom = this.properties[3]; // 0 = none, 1 = bottom + this.inst.update_bbox(); + this.xleft = this.inst.bbox.left; + this.ytop = this.inst.bbox.top; + this.xright = this.runtime.original_width - this.inst.bbox.left; + this.ybottom = this.runtime.original_height - this.inst.bbox.top; + this.rdiff = this.runtime.original_width - this.inst.bbox.right; + this.bdiff = this.runtime.original_height - this.inst.bbox.bottom; + this.enabled = (this.properties[4] !== 0); + }; + behinstProto.saveToJSON = function () + { + return { + "xleft": this.xleft, + "ytop": this.ytop, + "xright": this.xright, + "ybottom": this.ybottom, + "rdiff": this.rdiff, + "bdiff": this.bdiff, + "enabled": this.enabled + }; + }; + behinstProto.loadFromJSON = function (o) + { + this.xleft = o["xleft"]; + this.ytop = o["ytop"]; + this.xright = o["xright"]; + this.ybottom = o["ybottom"]; + this.rdiff = o["rdiff"]; + this.bdiff = o["bdiff"]; + this.enabled = o["enabled"]; + }; + behinstProto.tick = function () + { + if (!this.enabled) + return; + var n; + var layer = this.inst.layer; + var inst = this.inst; + var bbox = this.inst.bbox; + if (this.anch_left === 0) + { + inst.update_bbox(); + n = (layer.viewLeft + this.xleft) - bbox.left; + if (n !== 0) + { + inst.x += n; + inst.set_bbox_changed(); + } + } + else if (this.anch_left === 1) + { + inst.update_bbox(); + n = (layer.viewRight - this.xright) - bbox.left; + if (n !== 0) + { + inst.x += n; + inst.set_bbox_changed(); + } + } + if (this.anch_top === 0) + { + inst.update_bbox(); + n = (layer.viewTop + this.ytop) - bbox.top; + if (n !== 0) + { + inst.y += n; + inst.set_bbox_changed(); + } + } + else if (this.anch_top === 1) + { + inst.update_bbox(); + n = (layer.viewBottom - this.ybottom) - bbox.top; + if (n !== 0) + { + inst.y += n; + inst.set_bbox_changed(); + } + } + if (this.anch_right === 1) + { + inst.update_bbox(); + n = (layer.viewRight - this.rdiff) - bbox.right; + if (n !== 0) + { + inst.width += n; + if (inst.width < 0) + inst.width = 0; + inst.set_bbox_changed(); + } + } + if (this.anch_bottom === 1) + { + inst.update_bbox(); + n = (layer.viewBottom - this.bdiff) - bbox.bottom; + if (n !== 0) + { + inst.height += n; + if (inst.height < 0) + inst.height = 0; + inst.set_bbox_changed(); + } + } + }; + function Cnds() {}; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetEnabled = function (e) + { + if (this.enabled && e === 0) + this.enabled = false; + else if (!this.enabled && e !== 0) + { + this.inst.update_bbox(); + this.xleft = this.inst.bbox.left; + this.ytop = this.inst.bbox.top; + this.xright = this.runtime.original_width - this.inst.bbox.left; + this.ybottom = this.runtime.original_height - this.inst.bbox.top; + this.rdiff = this.runtime.original_width - this.inst.bbox.right; + this.bdiff = this.runtime.original_height - this.inst.bbox.bottom; + this.enabled = true; + } + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.DragnDrop = function(runtime) +{ + this.runtime = runtime; + 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); + } + ); + } + var elem = (this.runtime.fullscreen_mode > 0) ? document : this.runtime.canvas; + if (this.runtime.isDirectCanvas) + elem = window["Canvas"]; + else if (this.runtime.isCocoonJs) + elem = window; + if (typeof PointerEvent !== "undefined") + { + elem.addEventListener("pointerdown", + function(info) { + self.onPointerStart(info); + }, + false + ); + elem.addEventListener("pointermove", + function(info) { + self.onPointerMove(info); + }, + false + ); + elem.addEventListener("pointerup", + function(info) { + self.onPointerEnd(info); + }, + false + ); + elem.addEventListener("pointercancel", + function(info) { + self.onPointerEnd(info); + }, + false + ); + } + else if (window.navigator["msPointerEnabled"]) + { + elem.addEventListener("MSPointerDown", + function(info) { + self.onPointerStart(info); + }, + false + ); + elem.addEventListener("MSPointerMove", + function(info) { + self.onPointerMove(info); + }, + false + ); + elem.addEventListener("MSPointerUp", + function(info) { + self.onPointerEnd(info); + }, + false + ); + elem.addEventListener("MSPointerCancel", + function(info) { + self.onPointerEnd(info); + }, + false + ); + } + else + { + elem.addEventListener("touchstart", + function(info) { + self.onTouchStart(info); + }, + false + ); + elem.addEventListener("touchmove", + function(info) { + self.onTouchMove(info); + }, + false + ); + elem.addEventListener("touchend", + function(info) { + self.onTouchEnd(info); + }, + false + ); + elem.addEventListener("touchcancel", + function(info) { + self.onTouchEnd(info); + }, + false + ); + } +}; +(function () +{ + var behaviorProto = cr.behaviors.DragnDrop.prototype; + var dummyoffset = {left: 0, top: 0}; + function GetDragDropBehavior(inst) + { + var i, len; + for (i = 0, len = inst.behavior_insts.length; i < len; i++) + { + if (inst.behavior_insts[i] instanceof behaviorProto.Instance) + return inst.behavior_insts[i]; + } + return null; + }; + behaviorProto.onMouseDown = function (info) + { + if (info.which !== 1) + return; // not left mouse button + this.onInputDown("leftmouse", info.pageX, info.pageY); + }; + behaviorProto.onMouseMove = function (info) + { + if (info.which !== 1) + return; // not left mouse button + this.onInputMove("leftmouse", info.pageX, info.pageY); + }; + behaviorProto.onMouseUp = function (info) + { + if (info.which !== 1) + return; // not left mouse button + this.onInputUp("leftmouse"); + }; + behaviorProto.onTouchStart = function (info) + { + if (info.preventDefault && cr.isCanvasInputEvent(info)) + info.preventDefault(); + var i, len, t, id; + for (i = 0, len = info.changedTouches.length; i < len; i++) + { + t = info.changedTouches[i]; + id = t.identifier; + this.onInputDown(id ? id.toString() : "", t.pageX, t.pageY); + } + }; + behaviorProto.onTouchMove = function (info) + { + if (info.preventDefault) + info.preventDefault(); + var i, len, t, id; + for (i = 0, len = info.changedTouches.length; i < len; i++) + { + t = info.changedTouches[i]; + id = t.identifier; + this.onInputMove(id ? id.toString() : "", t.pageX, t.pageY); + } + }; + behaviorProto.onTouchEnd = function (info) + { + if (info.preventDefault && cr.isCanvasInputEvent(info)) + info.preventDefault(); + var i, len, t, id; + for (i = 0, len = info.changedTouches.length; i < len; i++) + { + t = info.changedTouches[i]; + id = t.identifier; + this.onInputUp(id ? id.toString() : ""); + } + }; + behaviorProto.onPointerStart = function (info) + { + if (info["pointerType"] === info["MSPOINTER_TYPE_MOUSE"] || info["pointerType"] === "mouse") + return; + if (info.preventDefault && cr.isCanvasInputEvent(info)) + info.preventDefault(); + this.onInputDown(info["pointerId"].toString(), info.pageX, info.pageY); + }; + behaviorProto.onPointerMove = function (info) + { + if (info["pointerType"] === info["MSPOINTER_TYPE_MOUSE"] || info["pointerType"] === "mouse") + return; + if (info.preventDefault) + info.preventDefault(); + this.onInputMove(info["pointerId"].toString(), info.pageX, info.pageY); + }; + behaviorProto.onPointerEnd = function (info) + { + if (info["pointerType"] === info["MSPOINTER_TYPE_MOUSE"] || info["pointerType"] === "mouse") + return; + if (info.preventDefault && cr.isCanvasInputEvent(info)) + info.preventDefault(); + this.onInputUp(info["pointerId"].toString()); + }; + behaviorProto.onInputDown = function (src, pageX, pageY) + { + var offset = this.runtime.isDomFree ? dummyoffset : jQuery(this.runtime.canvas).offset(); + var x = pageX - offset.left; + var y = pageY - offset.top; + var lx, ly, topx, topy; + var arr = this.my_instances.valuesRef(); + var i, len, b, inst, topmost = null; + for (i = 0, len = arr.length; i < len; i++) + { + inst = arr[i]; + b = GetDragDropBehavior(inst); + if (!b.enabled || b.dragging) + continue; // don't consider disabled or already-dragging instances + lx = inst.layer.canvasToLayer(x, y, true); + ly = inst.layer.canvasToLayer(x, y, false); + inst.update_bbox(); + if (!inst.contains_pt(lx, ly)) + continue; // don't consider instances not over this point + if (!topmost) + { + topmost = inst; + topx = lx; + topy = ly; + continue; + } + if (inst.layer.index > topmost.layer.index) + { + topmost = inst; + topx = lx; + topy = ly; + continue; + } + if (inst.layer.index === topmost.layer.index && inst.get_zindex() > topmost.get_zindex()) + { + topmost = inst; + topx = lx; + topy = ly; + continue; + } + } + if (topmost) + GetDragDropBehavior(topmost).onDown(src, topx, topy); + }; + behaviorProto.onInputMove = function (src, pageX, pageY) + { + var offset = this.runtime.isDomFree ? dummyoffset : jQuery(this.runtime.canvas).offset(); + var x = pageX - offset.left; + var y = pageY - offset.top; + var lx, ly; + var arr = this.my_instances.valuesRef(); + var i, len, b, inst; + for (i = 0, len = arr.length; i < len; i++) + { + inst = arr[i]; + b = GetDragDropBehavior(inst); + if (!b.enabled || !b.dragging || (b.dragging && b.dragsource !== src)) + continue; // don't consider disabled, not-dragging, or dragging by other sources + lx = inst.layer.canvasToLayer(x, y, true); + ly = inst.layer.canvasToLayer(x, y, false); + b.onMove(lx, ly); + } + }; + behaviorProto.onInputUp = function (src) + { + var arr = this.my_instances.valuesRef(); + var i, len, b, inst; + for (i = 0, len = arr.length; i < len; i++) + { + inst = arr[i]; + b = GetDragDropBehavior(inst); + if (b.dragging && b.dragsource === src) + b.onUp(); + } + }; + 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.dragging = false; + this.dx = 0; + this.dy = 0; + this.dragsource = ""; + this.axes = this.properties[0]; + this.enabled = (this.properties[1] !== 0); + }; + behinstProto.saveToJSON = function () + { + return { "enabled": this.enabled }; + }; + behinstProto.loadFromJSON = function (o) + { + this.enabled = o["enabled"]; + this.dragging = false; + }; + behinstProto.onDown = function(src, x, y) + { + this.dx = x - this.inst.x; + this.dy = y - this.inst.y; + this.dragging = true; + this.dragsource = src; + this.runtime.isInUserInputEvent = true; + this.runtime.trigger(cr.behaviors.DragnDrop.prototype.cnds.OnDragStart, this.inst); + this.runtime.isInUserInputEvent = false; + }; + behinstProto.onMove = function(x, y) + { + var newx = x - this.dx; + var newy = y - this.dy; + if (this.axes === 0) // both + { + if (this.inst.x !== newx || this.inst.y !== newy) + { + this.inst.x = newx; + this.inst.y = newy; + this.inst.set_bbox_changed(); + } + } + else if (this.axes === 1) // horizontal + { + if (this.inst.x !== newx) + { + this.inst.x = newx; + this.inst.set_bbox_changed(); + } + } + else if (this.axes === 2) // vertical + { + if (this.inst.y !== newy) + { + this.inst.y = newy; + this.inst.set_bbox_changed(); + } + } + }; + behinstProto.onUp = function() + { + this.dragging = false; + this.runtime.isInUserInputEvent = true; + this.runtime.trigger(cr.behaviors.DragnDrop.prototype.cnds.OnDrop, this.inst); + this.runtime.isInUserInputEvent = false; + }; + behinstProto.tick = function () + { + }; + function Cnds() {}; + Cnds.prototype.IsDragging = function () + { + return this.dragging; + }; + Cnds.prototype.OnDragStart = function () + { + return true; + }; + Cnds.prototype.OnDrop = function () + { + return true; + }; + Cnds.prototype.IsEnabled = function () + { + return !!this.enabled; + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.SetEnabled = function (s) + { + this.enabled = (s !== 0); + if (!this.enabled) + this.dragging = false; + }; + Acts.prototype.Drop = function () + { + if (this.dragging) + this.onUp(); + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.Fade = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.Fade.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.activeAtStart = this.properties[0] === 1; + this.setMaxOpacity = false; // used to retrieve maxOpacity once in first 'Start fade' action if initially inactive + this.fadeInTime = this.properties[1]; + this.waitTime = this.properties[2]; + this.fadeOutTime = this.properties[3]; + this.destroy = this.properties[4]; // 0 = no, 1 = after fade out + this.stage = this.activeAtStart ? 0 : 3; // 0 = fade in, 1 = wait, 2 = fade out, 3 = done + if (this.recycled) + this.stageTime.reset(); + else + this.stageTime = new cr.KahanAdder(); + this.maxOpacity = (this.inst.opacity ? this.inst.opacity : 1.0); + if (this.activeAtStart) + { + if (this.fadeInTime === 0) + { + this.stage = 1; + if (this.waitTime === 0) + this.stage = 2; + } + else + { + this.inst.opacity = 0; + this.runtime.redraw = true; + } + } + }; + behinstProto.saveToJSON = function () + { + return { + "fit": this.fadeInTime, + "wt": this.waitTime, + "fot": this.fadeOutTime, + "s": this.stage, + "st": this.stageTime.sum, + "mo": this.maxOpacity, + }; + }; + behinstProto.loadFromJSON = function (o) + { + this.fadeInTime = o["fit"]; + this.waitTime = o["wt"]; + this.fadeOutTime = o["fot"]; + this.stage = o["s"]; + this.stageTime.reset(); + this.stageTime.sum = o["st"]; + this.maxOpacity = o["mo"]; + }; + behinstProto.tick = function () + { + this.stageTime.add(this.runtime.getDt(this.inst)); + if (this.stage === 0) + { + this.inst.opacity = (this.stageTime.sum / this.fadeInTime) * this.maxOpacity; + this.runtime.redraw = true; + if (this.inst.opacity >= this.maxOpacity) + { + this.inst.opacity = this.maxOpacity; + this.stage = 1; // wait stage + this.stageTime.reset(); + this.runtime.trigger(cr.behaviors.Fade.prototype.cnds.OnFadeInEnd, this.inst); + } + } + if (this.stage === 1) + { + if (this.stageTime.sum >= this.waitTime) + { + this.stage = 2; // fade out stage + this.stageTime.reset(); + this.runtime.trigger(cr.behaviors.Fade.prototype.cnds.OnWaitEnd, this.inst); + } + } + if (this.stage === 2) + { + if (this.fadeOutTime !== 0) + { + this.inst.opacity = this.maxOpacity - ((this.stageTime.sum / this.fadeOutTime) * this.maxOpacity); + this.runtime.redraw = true; + if (this.inst.opacity < 0) + { + this.inst.opacity = 0; + this.stage = 3; // done + this.stageTime.reset(); + this.runtime.trigger(cr.behaviors.Fade.prototype.cnds.OnFadeOutEnd, this.inst); + if (this.destroy === 1) + this.runtime.DestroyInstance(this.inst); + } + } + } + }; + behinstProto.doStart = function () + { + this.stage = 0; + this.stageTime.reset(); + if (this.fadeInTime === 0) + { + this.stage = 1; + if (this.waitTime === 0) + this.stage = 2; + } + else + { + this.inst.opacity = 0; + this.runtime.redraw = true; + } + }; + function Cnds() {}; + Cnds.prototype.OnFadeOutEnd = function () + { + return true; + }; + Cnds.prototype.OnFadeInEnd = function () + { + return true; + }; + Cnds.prototype.OnWaitEnd = function () + { + return true; + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.StartFade = function () + { + if (!this.activeAtStart && !this.setMaxOpacity) + { + this.maxOpacity = (this.inst.opacity ? this.inst.opacity : 1.0); + this.setMaxOpacity = true; + } + if (this.stage === 3) + this.doStart(); + }; + Acts.prototype.RestartFade = function () + { + this.doStart(); + }; + Acts.prototype.SetFadeInTime = function (t) + { + if (t < 0) + t = 0; + this.fadeInTime = t; + }; + Acts.prototype.SetWaitTime = function (t) + { + if (t < 0) + t = 0; + this.waitTime = t; + }; + Acts.prototype.SetFadeOutTime = function (t) + { + if (t < 0) + t = 0; + this.fadeOutTime = t; + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + Exps.prototype.FadeInTime = function (ret) + { + ret.set_float(this.fadeInTime); + }; + Exps.prototype.WaitTime = function (ret) + { + ret.set_float(this.waitTime); + }; + Exps.prototype.FadeOutTime = function (ret) + { + ret.set_float(this.fadeOutTime); + }; + behaviorProto.exps = new Exps(); +}()); +; +; +cr.behaviors.Flash = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.Flash.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.ontime = 0; + this.offtime = 0; + this.stage = 0; // 0 = on, 1 = off + this.stagetimeleft = 0; + this.timeleft = 0; + }; + behinstProto.saveToJSON = function () + { + return { + "ontime": this.ontime, + "offtime": this.offtime, + "stage": this.stage, + "stagetimeleft": this.stagetimeleft, + "timeleft": this.timeleft + }; + }; + behinstProto.loadFromJSON = function (o) + { + this.ontime = o["ontime"]; + this.offtime = o["offtime"]; + this.stage = o["stage"]; + this.stagetimeleft = o["stagetimeleft"]; + this.timeleft = o["timeleft"]; + if (this.timeleft === null) + this.timeleft = Infinity; + }; + behinstProto.tick = function () + { + if (this.timeleft <= 0) + return; // not flashing + var dt = this.runtime.getDt(this.inst); + this.timeleft -= dt; + if (this.timeleft <= 0) + { + this.timeleft = 0; + this.inst.visible = true; + this.runtime.redraw = true; + this.runtime.trigger(cr.behaviors.Flash.prototype.cnds.OnFlashEnded, this.inst); + return; + } + this.stagetimeleft -= dt; + if (this.stagetimeleft <= 0) + { + if (this.stage === 0) + { + this.inst.visible = false; + this.stage = 1; + this.stagetimeleft += this.offtime; + } + else + { + this.inst.visible = true; + this.stage = 0; + this.stagetimeleft += this.ontime; + } + this.runtime.redraw = true; + } + }; + function Cnds() {}; + Cnds.prototype.IsFlashing = function () + { + return this.timeleft > 0; + }; + Cnds.prototype.OnFlashEnded = function () + { + return true; + }; + behaviorProto.cnds = new Cnds(); + function Acts() {}; + Acts.prototype.Flash = function (on_, off_, dur_) + { + this.ontime = on_; + this.offtime = off_; + this.stage = 1; // always start off + this.stagetimeleft = off_; + this.timeleft = dur_; + this.inst.visible = false; + this.runtime.redraw = true; + }; + Acts.prototype.StopFlashing = function () + { + this.timeleft = 0; + this.inst.visible = true; + this.runtime.redraw = true; + return; + }; + behaviorProto.acts = new Acts(); + function Exps() {}; + 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.Rex_MoveTo = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.Rex_MoveTo.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.enabled = (this.properties[0] == 1); + if (!this.recycled) + { + this.move = {"max":0, + "acc":0, + "dec":0}; + } + this.move["max"] = this.properties[1]; + this.move["acc"] = this.properties[2]; + this.move["dec"] = this.properties[3]; + if (!this.recycled) + { + this.target = {"x":0 , "y":0, "a":0}; + } + this.is_moving = false; + this.current_speed = 0; + this.remain_distance = 0; + this.is_hit_target = false; + if (!this.recycled) + { + this._pre_pos = {"x":0,"y":0}; + } + this._pre_pos["x"] = 0; + this._pre_pos["y"] = 0; + if (!this.recycled) + { + this._moving_angle_info = {"x":0,"y":0,"a":(-1)}; + } + this._moving_angle_info["x"] = 0; + this._moving_angle_info["y"] = 0; + this._moving_angle_info["a"] = -1; + this._last_tick = null; + this.is_my_call = false; + }; + behinstProto.tick = function () + { + if (this.is_hit_target) + { + if ((this.inst.x == this.target["x"]) && (this.inst.y == this.target["y"])) + { + this.is_my_call = true; + this.runtime.trigger(cr.behaviors.Rex_MoveTo.prototype.cnds.OnHitTarget, this.inst); + this.is_my_call = false; + } + this.is_hit_target = false; + } + if ( (!this.enabled) || (!this.is_moving) ) + { + return; + } + var dt = this.runtime.getDt(this.inst); + if (dt==0) // can not move if dt == 0 + return; + if ((this._pre_pos["x"] != this.inst.x) || (this._pre_pos["y"] != this.inst.y)) + this._reset_current_pos(); // reset this.remain_distance + var is_slow_down = false; + if (this.move["dec"] != 0) + { + var _speed = this.current_speed; + var _distance = (_speed*_speed)/(2*this.move["dec"]); // (v*v)/(2*a) + is_slow_down = (_distance >= this.remain_distance); + } + var acc = (is_slow_down)? (-this.move["dec"]):this.move["acc"]; + if (acc != 0) + { + this.SetCurrentSpeed( this.current_speed + (acc * dt) ); + } + var distance = this.current_speed * dt; + this.remain_distance -= distance; + if ( (this.remain_distance <= 0) || (this.current_speed <= 0) ) + { + this.is_moving = false; + this.inst.x = this.target["x"]; + this.inst.y = this.target["y"]; + this.SetCurrentSpeed(0); + this.moving_angle_get(); + this.is_hit_target = true; + } + else + { + var angle = this.target["a"]; + this.inst.x += (distance * Math.cos(angle)); + this.inst.y += (distance * Math.sin(angle)); + } + this.inst.set_bbox_changed(); + this._pre_pos["x"] = this.inst.x; + this._pre_pos["y"] = this.inst.y; + }; + behinstProto.tick2 = function () + { + this._moving_angle_info["x"] = this.inst.x; + this._moving_angle_info["y"] = this.inst.y; + }; + behinstProto.SetCurrentSpeed = function(speed) + { + if (speed != null) + { + this.current_speed = (speed > this.move["max"])? + this.move["max"]: speed; + } + else if (this.move["acc"]==0) + { + this.current_speed = this.move["max"]; + } + }; + behinstProto._reset_current_pos = function () + { + var dx = this.target["x"] - this.inst.x; + var dy = this.target["y"] - this.inst.y; + this.target["a"] = Math.atan2(dy, dx); + this.remain_distance = Math.sqrt( (dx*dx) + (dy*dy) ); + this._pre_pos["x"] = this.inst.x; + this._pre_pos["y"] = this.inst.y; + }; + behinstProto.SetTargetPos = function (_x, _y) + { + this.is_moving = true; + this.target["x"] = _x; + this.target["y"] = _y; + this._reset_current_pos(); + this.SetCurrentSpeed(null); + this._moving_angle_info["x"] = this.inst.x; + this._moving_angle_info["y"] = this.inst.y; + }; + behinstProto.KENSetTargetPos = function (_x, _y) + { + this.target["x"] = _x; + this.target["y"] = _y; + this._reset_current_pos(); + this.is_moving = false; + this.inst.x = this.target["x"]; + this.inst.y = this.target["y"]; + this.SetCurrentSpeed(0); + this.moving_angle_get(); + this.is_moving = true; + }; + behinstProto.is_tick_changed = function () + { + var cur_tick = this.runtime.tickcount; + var tick_changed = (this._last_tick != cur_tick); + this._last_tick = cur_tick; + return tick_changed; + }; + behinstProto.moving_angle_get = function (ret) + { + if (this.is_tick_changed()) + { + var dx = this.inst.x - this._moving_angle_info["x"]; + var dy = this.inst.y - this._moving_angle_info["y"]; + if ((dx!=0) || (dy!=0)) + this._moving_angle_info["a"] = cr.to_clamped_degrees(Math.atan2(dy,dx)); + } + return this._moving_angle_info["a"]; + }; + behinstProto.saveToJSON = function () + { + return { "en": this.enabled, + "v": this.move, + "t": this.target, + "is_m": this.is_moving, + "c_spd" : this.current_speed, + "rd" : this.remain_distance, + "is_ht" : this.is_hit_target, + "pp": this._pre_pos, + "ma": this._moving_angle_info, + "lt": this._last_tick, + }; + }; + behinstProto.loadFromJSON = function (o) + { + this.enabled = o["en"]; + this.move = o["v"]; + this.target = o["t"]; + this.is_moving = o["is_m"]; + this.current_speed = o["c_spd"]; + this.remain_distance = o["rd"]; + this.is_hit_target = o["is_ht"]; + this._pre_pos = o["pp"]; + this._moving_angle_info = o["ma"]; + this._last_tick = o["lt"]; + }; + function Cnds() {}; + behaviorProto.cnds = new Cnds(); + Cnds.prototype.OnHitTarget = function () + { + return (this.is_my_call); + }; + Cnds.prototype.CompareSpeed = function (cmp, s) + { + return cr.do_cmp(this.current_speed, cmp, s); + }; + Cnds.prototype.OnMoving = function () // deprecated + { + return false; + }; + Cnds.prototype.IsMoving = function () + { + return (this.enabled && this.is_moving); + }; + Cnds.prototype.CompareMovingAngle = function (cmp, s) + { + var angle = this.moving_angle_get(); + if (angle != (-1)) + return cr.do_cmp(this.moving_angle_get(), cmp, s); + else + return false; + }; + function Acts() {}; + behaviorProto.acts = new Acts(); + Acts.prototype.SetEnabled = function (en) + { + this.enabled = (en === 1); + }; + Acts.prototype.SetMaxSpeed = function (s) + { + this.move["max"] = s; + this.SetCurrentSpeed(null); + }; + Acts.prototype.SetAcceleration = function (a) + { + this.move["acc"] = a; + this.SetCurrentSpeed(null); + }; + Acts.prototype.SetDeceleration = function (a) + { + this.move["dec"] = a; + }; + Acts.prototype.SetTargetPos = function (_x, _y) + { + this.SetTargetPos(_x, _y) + }; + Acts.prototype.KENSetTargetPos = function (_x, _y) + { + this.KENSetTargetPos(_x, _y) + }; + Acts.prototype.SetCurrentSpeed = function (s) + { + this.SetCurrentSpeed(s); + }; + Acts.prototype.SetTargetPosOnObject = function (objtype) + { + if (!objtype) + return; + var inst = objtype.getFirstPicked(); + if (inst != null) + this.SetTargetPos(inst.x, inst.y); + }; + Acts.prototype.SetTargetPosByDeltaXY = function (dx, dy) + { + this.SetTargetPos(this.inst.x + dx, this.inst.y + dy); + }; + Acts.prototype.SetTargetPosByDistanceAngle = function (distance, angle) + { + var a = cr.to_clamped_radians(angle); + var dx = distance*Math.cos(a); + var dy = distance*Math.sin(a); + this.SetTargetPos(this.inst.x + dx, this.inst.y + dy); + }; + Acts.prototype.Stop = function () + { + this.is_moving = false; + }; + function Exps() {}; + behaviorProto.exps = new Exps(); + Exps.prototype.Activated = function (ret) + { + ret.set_int((this.enabled)? 1:0); + }; + Exps.prototype.Speed = function (ret) + { + ret.set_float(this.current_speed); + }; + Exps.prototype.MaxSpeed = function (ret) + { + ret.set_float(this.move["max"]); + }; + Exps.prototype.Acc = function (ret) + { + ret.set_float(this.move["acc"]); + }; + Exps.prototype.Dec = function (ret) + { + ret.set_float(this.move["dec"]); + }; + Exps.prototype.TargetX = function (ret) + { + ret.set_float(this.target["x"]); + }; + Exps.prototype.TargetY = function (ret) + { + ret.set_float(this.target["y"]); + }; + Exps.prototype.MovingAngle = function (ret) + { + ret.set_float(this.moving_angle_get()); + }; +}()); +; +; +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(); +}()); +; +; +function trim (str) { + return str.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); +} +cr.behaviors.lunarray_Tween = function(runtime) +{ + this.runtime = runtime; +}; +(function () +{ + var behaviorProto = cr.behaviors.lunarray_Tween.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.groupUpdateProgress = function(v) + { + if (v > 1) v = 1; + if (cr.lunarray_tweenProgress[this.group] = -1) cr.lunarray_tweenProgress[this.group] = v; + if (cr.lunarray_tweenProgress[this.group] >= v) cr.lunarray_tweenProgress[this.group] = v; + } + behinstProto.groupSync = function() + { + if (this.group != "") { + if (typeof cr.lunarray_tweenGroup === "undefined") { + cr.lunarray_tweenGroup = {}; + cr.lunarray_tweenProgress = {}; + } + if (typeof cr.lunarray_tweenGroup[this.group] === "undefined") { + cr.lunarray_tweenGroup[this.group] = []; + cr.lunarray_tweenProgress[this.group] = -1; + } + if (cr.lunarray_tweenGroup[this.group].indexOf(this) == -1) { + cr.lunarray_tweenGroup[this.group].push(this); + } + } + } + behinstProto.saveState = function() + { + this.tweenSaveWidth = this.inst.width; + this.tweenSaveHeight = this.inst.height; + this.tweenSaveAngle = this.inst.angle; + this.tweenSaveOpacity = this.inst.opacity; + this.tweenSaveX = this.inst.x; + this.tweenSaveY = this.inst.y; + this.tweenSaveValue = this.value; + } + behinstProto.onCreate = function() + { + this.active = (this.properties[0] === 1); + this.tweened = this.properties[1]; // 0=Position|1=Size|2=Width|3=Height|4=Angle|5=Opacity|6=Value only|7=Pixel Size + this.easing = this.properties[2]; + this.initial = this.properties[3]; + this.target = this.properties[4]; + this.duration = this.properties[5]; + this.wait = this.properties[6]; + this.playmode = this.properties[7]; //0=Play Once|1=Repeat|2=Ping Pong|3=Play once and destroy|4=Loop|5=Ping Pong Stop|6=Play and stop + this.value = this.properties[8]; + this.coord_mode = this.properties[9]; //0=Absolute|1=Relative + this.forceInit = (this.properties[10] === 1); + this.group = this.properties[11]; + this.targetObject = null; + this.pingpongCounter = 0; + if (this.playmode == 5) this.pingpongCounter = 1; + this.groupSync(); + this.isPaused = false; + this.initialX = this.inst.x; + this.initialY = this.inst.y; + this.targetX = parseFloat(this.target.split(",")[0]); + this.targetY = parseFloat(this.target.split(",")[1]); + this.saveState(); + this.tweenInitialX = 0; + this.tweenInitialY = 0; + this.tweenTargetX = 0; + this.tweenTargetY = 0; + this.tweenTargetAngle = 0; + this.ratio = this.inst.height / this.inst.width; + this.reverse = false; + this.rewindMode = false; + this.doTweenX = true; + this.doTweenY = true; + this.loop = false; + this.initiating = 0; + this.cooldown = 0; + this.lastPlayMode = this.playmode; + this.lastKnownValue = this.tweenInitialX; + this.lastKnownX = this.tweenInitialX; + this.lastKnownY = this.tweenInitialY; + if (this.forceInit) this.init(); + if (this.initial == "") this.initial = "current"; + this.onStarted = false; + this.onStartedDone = false; + this.onWaitEnd = false; + this.onWaitEndDone = false; + this.onEnd = false; + this.onEndDone = false; + this.onCooldown = false; + this.onCooldownDone = false; + if (this.active) { + this.init(); + } + }; + behinstProto.init = function () + { + this.onStarted = false; + if (this.initial === "") this.initial = "current"; + if (this.target === "") this.target = "current"; + var isCurrent = (this.initial === "current"); + var targetIsCurrent = (this.target === "current"); + var isTargettingObject = (this.target === "OBJ"); + if (this.target === "OBJ") { + if (this.targetObject != null) { + if (this.tweened == 0) { + if (this.coord_mode == 1) //relative mode + this.target = (this.targetObject.x-this.inst.x) + "," + (this.targetObject.y-this.inst.y); + else //absolute mode + this.target = (this.targetObject.x) + "," + (this.targetObject.y); + } else if ((this.tweened == 1) || (this.tweened == 2) || (this.tweened == 3) || (this.tweened == 7)) { + if (this.coord_mode == 1) { //relative mode + this.target = ((this.tweened==2)?1:(this.targetObject.width)) + "," + ((this.tweened==3)?1:(this.targetObject.height)); + } else { + this.target = ((this.tweened==2)?1:(this.targetObject.width/this.tweenSaveWidth)) + "," + ((this.tweened==3)?1:(this.targetObject.height/this.tweenSaveHeight)); + } + } else if (this.tweened == 4) { + if (this.coord_mode == 1) //relative mode + this.target = cr.to_degrees(this.targetObject.angle-this.inst.angle) + ""; + else //absolute mode + this.target = cr.to_degrees(this.targetObject.angle) + ""; + } else if (this.tweened == 5) { + if (this.coord_mode == 1) //relative mode + this.target = ((this.targetObject.opacity-this.inst.opacity)*100) + ""; + else //absolute mode + this.target = (this.targetObject.opacity*100) + ""; + } + } + } + if (this.tweened == 0) { + if (targetIsCurrent) this.target = this.inst.x + "," + this.inst.y; + if (!isCurrent) { + if (!this.reverse) { + if (this.playmode != 1) { + this.inst.x = parseFloat(this.initial.split(",")[0]); + this.inst.y = parseFloat(this.initial.split(",")[1]); + } + } + } else { + if (this.coord_mode == 1) { + this.initial = this.inst.x + "," + this.inst.y; + } else { + this.initial = this.tweenSaveX + "," + this.tweenSaveY; + } + } + if (this.coord_mode == 1) { + if (this.loop) { + this.inst.x = this.tweenSaveX; + this.inst.y = this.tweenSaveY; + } + this.initialX = this.inst.x; + this.initialY = this.inst.y; + if (!this.reverse) { + this.targetX = parseFloat(this.target.split(",")[0]); + this.targetY = parseFloat(this.target.split(",")[1]); + } else { + this.targetX = -parseFloat(this.target.split(",")[0]); + this.targetY = -parseFloat(this.target.split(",")[1]); + } + this.tweenInitialX = this.initialX; + this.tweenInitialY = this.initialY; + this.tweenTargetX = this.tweenInitialX + this.targetX; + this.tweenTargetY = this.tweenInitialY + this.targetY; + } else { + if (!this.reverse) { + this.inst.x = this.tweenSaveX; + this.inst.y = this.tweenSaveY; + this.targetX = parseFloat(this.target.split(",")[0]); + this.targetY = parseFloat(this.target.split(",")[1]); + } else { + this.inst.x = parseFloat(this.target.split(",")[0]); + this.inst.y = parseFloat(this.target.split(",")[1]); + this.targetX = this.tweenSaveX; + this.targetY = this.tweenSaveY; + } + this.initialX = this.inst.x; + this.initialY = this.inst.y; + this.tweenInitialX = this.initialX; + this.tweenInitialY = this.initialY; + this.tweenTargetX = this.targetX; + this.tweenTargetY = this.targetY; + if (this.playmode == -6) { + this.tweenTargetX = this.tweenSaveX; + this.tweenTargetY = this.tweenSaveY; + } + } + } else if ((this.tweened == 1) || (this.tweened == 2) || (this.tweened == 3)) { + if (targetIsCurrent) this.target = "1,1"; + if (this.initial == "current") this.initial = "1,1"; + this.initial = "" + this.initial; + this.target = "" + this.target; + if (this.tweened == 2) { + if (this.initial.indexOf(',') == -1) this.initial = parseFloat(this.initial) + ",1"; + if (this.target.indexOf(',') == -1) this.target = parseFloat(this.target) + ",1"; + } else if (this.tweened == 3) { + if (this.initial.indexOf(',') == -1) this.initial = "1," + parseFloat(this.initial); + if (this.target.indexOf(',') == -1) this.target = "1," + parseFloat(this.target); + } else { + if (this.initial.indexOf(',') == -1) this.initial = parseFloat(this.initial) + "," + parseFloat(this.initial); + if (this.target.indexOf(',') == -1) this.target = parseFloat(this.target) + "," + parseFloat(this.target); + } + var ix = parseFloat(this.initial.split(",")[0]); + var iy = parseFloat(this.initial.split(",")[1]); + this.doTweenX = true; + var tx = parseFloat(this.target.split(",")[0]); + if ((tx == 0) || (isNaN(tx))) this.doTweenX = false; + if (this.tweened == 3) this.doTweenX = false; + this.doTweenY = true; + var ty = parseFloat(this.target.split(",")[1]); + if ((ty == 0) || (isNaN(ty))) this.doTweenY = false; + if (this.tweened == 2) this.doTweenY = false; + if (this.coord_mode == 1) { + if (this.loop) { + this.inst.width = this.tweenSaveWidth; + this.inst.height = this.tweenSaveHeight; + } + if (!isCurrent) { + if (!this.reverse) { + this.inst.width = this.inst.width * ix; + this.inst.height = this.inst.height * iy; + } else { + this.inst.width = this.inst.width * tx; + this.inst.height = this.inst.height * ty; + } + } + this.initialX = this.inst.width; + this.initialY = this.inst.height; + this.tweenInitialX = this.initialX; + this.tweenInitialY = this.initialY; + if (!this.reverse) { + this.targetX = this.initialX * tx; + this.targetY = this.initialY * ty; + } else { + this.targetX = this.initialX * ix/tx; + this.targetY = this.initialY * iy/ty; + } + this.tweenTargetX = this.targetX; + this.tweenTargetY = this.targetY; + } else { + if (!isCurrent) { + if (!this.reverse) { + this.inst.width = this.tweenSaveWidth * ix; + this.inst.height = this.tweenSaveHeight * iy; + } else { + this.inst.width = this.tweenSaveWidth * tx; + this.inst.height = this.tweenSaveHeight * ty; + } + } + this.initialX = this.inst.width; + this.initialY = this.inst.height; + this.tweenInitialX = this.initialX; + this.tweenInitialY = this.initialY; + if (!this.reverse) { + this.targetX = this.tweenSaveWidth * tx; + this.targetY = this.tweenSaveHeight * ty; + } else { + this.targetX = this.tweenSaveWidth * ix; + this.targetY = this.tweenSaveHeight * iy; + } + this.tweenTargetX = this.targetX; + this.tweenTargetY = this.targetY; + } + if (this.playmode == -6) { + this.tweenTargetX = this.tweenSaveWidth * ix; + this.tweenTargetY = this.tweenSaveHeight * iy; + } + } else if (this.tweened == 4) { + if (targetIsCurrent) this.target = cr.to_degrees(this.inst.angle); + if (this.initial != "current") { + if (!this.reverse) { + if (this.playmode != 1) { //if repeat, don't initialize + this.inst.angle = cr.to_radians(parseFloat(this.initial.split(",")[0])); + } + } + } + if (this.coord_mode == 1) { + if (this.loop) { + this.inst.angle = this.tweenSaveAngle; + } + this.initialX = this.inst.angle; + if (this.reverse) { + this.targetX = this.inst.angle - cr.to_radians(parseFloat(this.target.split(",")[0])); + } else { + this.targetX = this.inst.angle + cr.to_radians(parseFloat(this.target.split(",")[0])); + } + this.tweenInitialX = this.initialX; + this.tweenTargetX = cr.to_degrees(this.targetX); + } else { + if (this.reverse) { + this.inst.angle = cr.to_radians(parseFloat(this.target.split(",")[0]));; + this.initialX = this.inst.angle; + this.targetX = this.tweenSaveAngle; + this.tweenInitialX = this.initialX; + this.tweenTargetX = cr.to_degrees(this.targetX); + } else { + this.inst.angle = this.tweenSaveAngle; + this.initialX = this.inst.angle; + this.targetX = cr.to_radians(parseFloat(this.target.split(",")[0])); + this.tweenInitialX = this.initialX; + this.tweenTargetX = cr.to_degrees(this.targetX); + } + } + if (this.playmode == -6) { + this.tweenTargetX = cr.to_degrees(this.tweenSaveAngle); + } + this.tweenTargetAngle = cr.to_radians(this.tweenTargetX); + } else if (this.tweened == 5) { + if (this.initial == "current") this.initial = this.inst.opacity; + if (targetIsCurrent) this.target = ""+this.inst.opacity; + if (!isCurrent) { + if (!this.reverse) { + if (this.playmode != 1) { //if repeat, don't initialize + this.inst.opacity = parseFloat(this.initial.split(",")[0]) / 100; + } + } + } + if (this.coord_mode == 1) { + if (this.loop) { + this.inst.opacity = this.tweenSaveOpacity; + } + this.initialX = this.inst.opacity; + this.tweenInitialX = this.initialX; + if (!this.reverse) { + this.targetX = parseFloat(this.target.split(",")[0]) / 100; + } else { + this.targetX = -parseFloat(this.target.split(",")[0]) / 100; + } + this.tweenTargetX = this.tweenInitialX + this.targetX; + } else { + this.initialX = this.inst.opacity; + if (!this.reverse) { + this.tweenInitialX = this.initialX; + this.targetX = parseFloat(this.target.split(",")[0]) / 100; + } else { + this.tweenInitialX = parseFloat(this.target.split(",")[0]) / 100; + this.targetX = parseFloat(this.initial.split(",")[0]) / 100; + } + this.tweenTargetX = this.targetX; + } + if (this.playmode == -6) { + this.tweenTargetX = this.tweenSaveOpacity; + } + } else if (this.tweened == 6) { + if (isNaN(this.value)) this.value = 0; + if (this.initial == "current") this.initial = ""+this.value; + if (targetIsCurrent) this.target = ""+this.value; + if (!isCurrent) { + if (!this.reverse) { + if (this.playmode != 1) { //if repeat, don't initialize + this.value = parseFloat(this.initial.split(",")[0]); + } + } + } + if (this.coord_mode == 1) { + if (this.loop) { + this.value = this.tweenSaveValue; + } + if (!isCurrent) { + if (!this.reverse) { + this.value = parseFloat(this.initial.split(",")[0]); + } else { + this.value = parseFloat(this.target.split(",")[0]); + } + } + this.initialX = this.value; + if (!this.reverse) { + this.targetX = this.initialX + parseFloat(this.target.split(",")[0]); + } else { + this.targetX = this.initialX - parseFloat(this.target.split(",")[0]); + } + this.tweenInitialX = this.initialX; + this.tweenTargetX = this.targetX; + } else { + if (!isCurrent) { + if (!this.reverse) { + this.value = parseFloat(this.initial.split(",")[0]); + } else { + this.value = parseFloat(this.target.split(",")[0]); + } + } + this.initialX = this.value; + if (!this.reverse) { + this.targetX = parseFloat(this.target.split(",")[0]); + } else { + this.targetX = parseFloat(this.initial.split(",")[0]); + } + this.tweenInitialX = this.initialX; + this.tweenTargetX = this.targetX; + } + if (this.playmode == -6) { + this.tweenTargetX = this.tweenSaveValue; + } + } else if (this.tweened == 7) { + if (targetIsCurrent) this.target = this.inst.width + "," + this.inst.height; + if (this.initial != "current") { + if (!this.reverse) { + if (this.playmode != 1) { //if repeat, don't initialize + this.inst.width = parseFloat(this.initial.split(",")[0]); + this.inst.height = parseFloat(this.initial.split(",")[1]); + } + } + } + this.doTweenX = true; + var tx = parseFloat(this.target.split(",")[0]); + if ((tx < 0) || (isNaN(tx))) this.doTweenX = false; + this.doTweenY = true; + var ty = parseFloat(this.target.split(",")[1]); + if ((ty < 0) || (isNaN(ty))) this.doTweenY = false; + if (this.coord_mode == 1) { + if (this.loop) { + this.inst.width = this.tweenSaveWidth; + this.inst.height = this.tweenSaveHeight; + } + this.initialX = this.inst.width; + this.initialY = this.inst.height; + if (!this.reverse) { + this.targetX = this.initialX + parseFloat(this.target.split(",")[0]); + this.targetY = this.initialY + parseFloat(this.target.split(",")[1]); + } else { + this.targetX = this.initialX - parseFloat(this.target.split(",")[0]); + this.targetY = this.initialY - parseFloat(this.target.split(",")[1]); + } + this.tweenInitialX = this.initialX; + this.tweenInitialY = this.initialY; + this.tweenTargetX = this.targetX; + this.tweenTargetY = this.targetY; + } else { + if (!isCurrent) { + if (!this.reverse) { + this.inst.width = this.tweenSaveWidth; + this.inst.height = this.tweenSaveHeight; + } else { + this.inst.width = parseFloat(this.target.split(",")[0]); + this.inst.height = parseFloat(this.target.split(",")[1]); + } + } + this.initialX = this.inst.width; + this.initialY = this.inst.height; + if (!this.reverse) { + this.targetX = parseFloat(this.target.split(",")[0]); + this.targetY = parseFloat(this.target.split(",")[1]); + } else { + this.targetX = this.tweenSaveWidth; + this.targetY = this.tweenSaveHeight; + } + this.tweenInitialX = this.initialX; + this.tweenInitialY = this.initialY; + this.tweenTargetX = this.targetX; + this.tweenTargetY = this.targetY; + } + if (this.playmode == -6) { + this.tweenTargetX = this.tweenSaveWidth; + this.tweenTargetY = this.tweenSaveHeight; + } + } else { +; + } + this.lastKnownValue = this.tweenInitialX; + this.lastKnownX = this.tweenInitialX; + this.lastKnownY = this.tweenInitialY; + this.initiating = parseFloat(this.wait.split(",")[0]); + this.cooldown = parseFloat(this.wait.split(",")[1]); + if ((this.initiating < 0) || (isNaN(this.initiating))) this.initiating = 0; + if ((this.cooldown < 0) || (isNaN(this.cooldown))) this.cooldown = 0; + if (isCurrent) this.initial = "current"; + if (targetIsCurrent) this.target = "current"; + if (isTargettingObject) this.target = "OBJ"; + }; + function easeOutBounce(t,b,c,d) { + if ((t/=d) < (1/2.75)) { + return c*(7.5625*t*t) + b; + } else if (t < (2/2.75)) { + return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; + } else if (t < (2.5/2.75)) { + return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; + } else { + return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; + } + } + behinstProto.easeFunc = function (t, b, c, d) + { + switch (this.easing) { + case 0: // linear + return c*t/d + b; + case 1: // easeInQuad + return c*(t/=d)*t + b; + case 2: // easeOutQuad + return -c *(t/=d)*(t-2) + b; + case 3: // easeInOutQuad + if ((t/=d/2) < 1) return c/2*t*t + b; + return -c/2 * ((--t)*(t-2) - 1) + b; + case 4: // easeInCubic + return c*(t/=d)*t*t + b; + case 5: // easeOutCubic + return c*((t=t/d-1)*t*t + 1) + b; + case 6: // easeInOutCubic + if ((t/=d/2) < 1) + return c/2*t*t*t + b; + return c/2*((t-=2)*t*t + 2) + b; + case 7: // easeInQuart + return c*(t/=d)*t*t*t + b; + case 8: // easeOutQuart + return -c * ((t=t/d-1)*t*t*t - 1) + b; + case 9: // easeInOutQuart + if ((t/=d/2) < 1) return c/2*t*t*t*t + b; + return -c/2 * ((t-=2)*t*t*t - 2) + b; + case 10: // easeInQuint + return c*(t/=d)*t*t*t*t + b; + case 11: // easeOutQuint + return c*((t=t/d-1)*t*t*t*t + 1) + b; + case 12: // easeInOutQuint + if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b; + return c/2*((t-=2)*t*t*t*t + 2) + b; + case 13: // easeInCircle + return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; + case 14: // easeOutCircle + return c * Math.sqrt(1 - (t=t/d-1)*t) + b; + case 15: // easeInOutCircle + if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b; + return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; + case 16: // easeInBack + var s = 0; + if (s==0) s = 1.70158; + return c*(t/=d)*t*((s+1)*t - s) + b; + case 17: // easeOutBack + var s = 0; + if (s==0) s = 1.70158; + return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; + case 18: // easeInOutBack + var s = 0; + if (s==0) s = 1.70158; + if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; + return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; + case 19: //easeInElastic + var a = 0; + var p = 0; + if (t==0) return b; if ((t/=d)==1) return 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); + return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; + case 20: //easeOutElastic + var a = 0; + var p = 0; + if (t==0) return b; if ((t/=d)==1) return 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); + return (a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b); + case 21: //easeInOutElastic + var a = 0; + var p = 0; + if (t==0) return b; + if ((t/=d/2)==2) return 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) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; + return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; + case 22: //easeInBounce + return c - easeOutBounce(d-t, 0, c, d) + b; + case 23: //easeOutBounce + return easeOutBounce(t,b,c,d); + case 24: //easeInOutBounce + if (t < d/2) return (c - easeOutBounce(d-(t*2), 0, c, d) + b) * 0.5 +b; + else return easeOutBounce(t*2-d, 0, c, d) * .5 + c*.5 + b; + case 25: //easeInSmoothstep + var mt = (t/d) / 2; + return (2*(mt * mt * (3 - 2*mt))); + case 26: //easeOutSmoothstep + var mt = ((t/d) + 1) / 2; + return ((2*(mt * mt * (3 - 2*mt))) - 1); + case 27: //easeInOutSmoothstep + var mt = (t / d); + return (mt * mt * (3 - 2*mt)); + }; + return 0; + }; + behinstProto.saveToJSON = function () + { + return { + "i": this.i, + "active": this.active, + "tweened": this.tweened, + "easing": this.easing, + "initial": this.initial, + "target": this.target, + "duration": this.duration, + "wait": this.wait, + "playmode": this.playmode, + "value": this.value, + "coord_mode": this.coord_mode, + "forceInit": this.forceInit, + "group": this.group, + "targetObject": this.targetObject, + "pingpongCounter": this.pingpongCounter, + "isPaused": this.isPaused, + "initialX": this.initialX, + "initialY": this.initialY, + "targetX": this.targetX, + "targetY": this.targetY, + "tweenSaveWidth": this.tweenSaveWidth, + "tweenSaveHeight": this.tweenSaveHeight, + "tweenSaveAngle": this.tweenSaveAngle, + "tweenSaveX": this.tweenSaveX, + "tweenSaveY": this.tweenSaveY, + "tweenSaveValue": this.tweenSaveValue, + "tweenInitialX": this.tweenInitialX, + "tweenInitialY": this.tweenInitialY, + "tweenTargetX": this.tweenTargetX, + "tweenTargetY": this.tweenTargetY, + "tweenTargetAngle": this.tweenTargetAngle, + "ratio": this.ratio, + "reverse": this.reverse, + "rewindMode": this.rewindMode, + "doTweenX": this.doTweenX, + "doTweenY": this.doTweenY, + "loop": this.loop, + "initiating": this.initiating, + "cooldown": this.cooldown, + "lastPlayMode": this.lastPlayMode, + "lastKnownValue": this.lastKnownValue, + "lastKnownX": this.lastKnownX, + "lastKnownY": this.lastKnownY, + "onStarted": this.onStarted, + "onStartedDone": this.onStartedDone, + "onWaitEnd": this.onWaitEnd, + "onWaitEndDone": this.onWaitEndDone, + "onEnd": this.onEnd, + "onEndDone": this.onEndDone, + "onCooldown": this.onCooldown, + "onCooldownDone": this.onCooldownDone + }; + }; + behinstProto.loadFromJSON = function (o) + { + this.i = o["i"]; + this.active = o["active"]; + this.tweened = o["tweened"]; + this.easing = o["easing"]; + this.initial = o["initial"]; + this.target = o["target"]; + this.duration = o["duration"]; + this.wait = o["wait"]; + this.playmode = o["playmode"]; + this.value = o["value"]; + this.coord_mode = o["coord_mode"]; + this.forceInit = o["forceInit"]; + this.group = o["group"]; + this.targetObject = o["targetObject"]; + this.pingpongCounter = o["pingpongCounter"]; + this.isPaused = o["isPaused"]; + this.initialX = o["initialX"]; + this.initialY = o["initialY"]; + this.targetX = o["targetX"]; + this.targetY = o["targetY"]; + this.tweenSaveWidth = o["tweenSaveWidth"]; + this.tweenSaveHeight = o["tweenSaveHeight"]; + this.tweenSaveAngle = o["tweenSaveAngle"]; + this.tweenSaveX = o["tweenSaveX"]; + this.tweenSaveY = o["tweenSaveY"]; + this.tweenSaveValue = o["tweenSaveValue"]; + this.tweenInitialX = o["tweenInitialX"]; + this.tweenInitialY = o["tweenInitialY"]; + this.tweenTargetX = o["tweenTargetX"]; + this.tweenTargetY = o["tweenTargetY"]; + this.tweenTargetAngle = o["tweenTargetAngle"]; + this.ratio = o["ratio"]; + this.reverse = o["reverse"]; + this.rewindMode = o["rewindMode"]; + this.doTweenX = o["doTweenX"]; + this.doTweenY = o["doTweenY"]; + this.loop = o["loop"]; + this.initiating = o["initiating"]; + this.cooldown = o["cooldown"]; + this.lastPlayMode = o["lastPlayMode"]; + this.lastKnownValue = o["lastKnownValue"]; + this.lastKnownX = o["lastKnownX"]; + this.lastKnownY = o["lastKnownY"]; + this.onStarted = o["onStarted"]; + this.onStartedDone = o["onStartedDone"]; + this.onWaitEnd = o["onWaitEnd"]; + this.onWaitEndDone = o["onWaitEndDone"] + this.onEnd = o["onEnd"]; + this.onEndDone = o["onEndDone"]; + this.onCooldown = o["onCooldown"]; + this.onCooldownDone = o["onCooldownDone"]; + this.groupSync(); + }; + behinstProto.tick = function () + { + var dt = this.runtime.getDt(this.inst); + var isForceStop = (this.i == -1); + if (!this.active || dt === 0) + return; + if (this.i == 0) { + if (!this.onStarted) { + this.onStarted = true; + this.onStartedDone = false; + this.onWaitEnd = false; + this.onWaitEndDone = false; + this.onEnd = false; + this.onEndDone = false; + this.onCooldown = false; + this.onCooldownDone = false; + this.runtime.trigger(cr.behaviors.lunarray_Tween.prototype.cnds.OnStart, this.inst); + this.onStartedDone = true; + } + } + if (this.i == -1) { + this.i = this.initiating + this.duration + this.cooldown; + } else { + this.i += dt; + } + if (this.i <= this.initiating) { + return; + } else { + if (this.onWaitEnd == false) { + this.onWaitEnd = true; + this.runtime.trigger(cr.behaviors.lunarray_Tween.prototype.cnds.OnWaitEnd, this.inst); + this.onWaitEndDone = true; + } + } + if (this.i <= (this.duration + this.initiating)) { + var factor = this.easeFunc(this.i-this.initiating, 0, 1, this.duration); + if (this.tweened == 0) { + if (this.coord_mode == 1) { + if (this.inst.x !== this.lastKnownX) { + this.tweenInitialX += (this.inst.x - this.lastKnownX); + this.tweenTargetX += (this.inst.x - this.lastKnownX); + } + if (this.inst.y !== this.lastKnownY) { + this.tweenInitialY += (this.inst.y - this.lastKnownY); + this.tweenTargetY += (this.inst.y - this.lastKnownY); + } + } else { + if (this.inst.x !== this.lastKnownX) + this.tweenInitialX += (this.inst.x - this.lastKnownX); + if (this.inst.y !== this.lastKnownY) + this.tweenInitialY += (this.inst.y - this.lastKnownY); + } + this.inst.x = this.tweenInitialX + (this.tweenTargetX - this.tweenInitialX) * factor; + this.inst.y = this.tweenInitialY + (this.tweenTargetY - this.tweenInitialY) * factor; + this.lastKnownX = this.inst.x; + this.lastKnownY = this.inst.y; + } else if ((this.tweened == 1) || (this.tweened == 2) || (this.tweened == 3)) { + if (this.inst.width !== this.lastKnownX) + this.tweenInitialX = this.inst.width; + if (this.inst.height !== this.lastKnownY) + this.tweenInitialY = this.inst.height; + if (this.doTweenX) { + this.inst.width = this.tweenInitialX + (this.tweenTargetX - this.tweenInitialX) * factor; + } + if (this.doTweenY) { + this.inst.height = this.tweenInitialY + (this.tweenTargetY - this.tweenInitialY) * factor; + } else { + if (this.tweened == 1) { + this.inst.height = this.inst.width * this.ratio; + } + } + this.lastKnownX = this.inst.width; + this.lastKnownY = this.inst.height; + } else if (this.tweened == 4) { + var tangle = this.tweenInitialX + (this.tweenTargetAngle - this.tweenInitialX) * factor; + if (this.i >= (this.duration + this.initiating)) + tangle = this.tweenTargetAngle; + this.inst.angle = cr.clamp_angle(tangle); + } else if (this.tweened == 5) { + if (this.coord_mode == 1) { + if (this.inst.opacity !== this.lastKnownX) + this.tweenInitialX = this.inst.opacity; + } + this.inst.opacity = this.tweenInitialX + (this.tweenTargetX - this.tweenInitialX) * factor; + this.lastKnownX = this.inst.opacity; + } else if (this.tweened == 6) { + this.value = this.tweenInitialX + (this.tweenTargetX - this.tweenInitialX) * factor; + } else if (this.tweened == 7) { + if (this.coord_mode == 1) { + if (this.inst.width !== this.lastKnownX) + this.tweenInitialX = this.inst.width; + if (this.inst.height !== this.lastKnownY) + this.tweenInitialY = this.inst.height; + } + if (this.doTweenX) this.inst.width = this.tweenInitialX + (this.tweenTargetX - this.tweenInitialX) * factor; + if (this.doTweenY) this.inst.height = this.tweenInitialY + (this.tweenTargetY - this.tweenInitialY) * factor; + this.lastKnownX = this.inst.width; + this.lastKnownY = this.inst.height; + } + this.inst.set_bbox_changed(); + } + if (this.i >= this.duration + this.initiating) { + this.doEndFrame(isForceStop); + this.inst.set_bbox_changed(); + if (this.onEnd == false) { + this.onEnd = true; + this.runtime.trigger(cr.behaviors.lunarray_Tween.prototype.cnds.OnEnd, this.inst); + this.onEndDone = true; + } + }; + }; + behinstProto.doEndFrame = function (isForceStop) + { + switch (this.tweened) { + case 0: // position + this.inst.x = this.tweenTargetX; + this.inst.y = this.tweenTargetY; + break; + case 1: // size + if (this.doTweenX) this.inst.width = this.tweenTargetX; + if (this.doTweenY) { + this.inst.height = this.tweenTargetY; + } else { + this.inst.height = this.inst.width * this.ratio; + } + break; + case 2: // width + this.inst.width = this.tweenTargetX; + break; + case 3: // height + this.inst.height = this.tweenTargetY; + break; + case 4: // angle + var tangle = this.tweenTargetAngle; + this.inst.angle = cr.clamp_angle(tangle); + this.lastKnownValue = this.inst.angle; + break; + case 5: // opacity + this.inst.opacity = this.tweenTargetX; + break; + case 6: // value + this.value = this.tweenTargetX; + break; + case 7: // size + if (this.doTweenX) this.inst.width = this.tweenTargetX; + if (this.doTweenY) this.inst.height = this.tweenTargetY; + break; + } + if (this.i >= this.duration + this.initiating + this.cooldown) { + if (this.playmode == 0) { + this.active = false; + this.reverse = false; + this.i = this.duration + this.initiating + this.cooldown; + } else if (this.playmode == 1) { + this.i = 0; + this.init(); + this.active = true; + } else if (this.playmode == 2) { + if (isForceStop) { + this.reverse = false; + this.init(); + } else { + this.reverse = !this.reverse; + this.i = 0; + this.init(); + this.active = true; + } + } else if (this.playmode == 3) { + this.runtime.DestroyInstance(this.inst); + } else if (this.playmode == 4) { + this.loop = true; + this.i = 0; + this.init(); + this.active = true; + } else if (this.playmode == 5) { + if (isForceStop) { + this.reverse = false; + this.init(); + } else { + if (this.pingpongCounter <= 0) { + this.i = this.duration + this.initiating + this.cooldown; + this.active = false; + } else { + if (!this.reverse) { + this.pingpongCounter -= 1; + this.reverse = true; + this.i = 0; + this.init(); + this.active = true; + } else { + this.pingpongCounter -= 1; + this.reverse = false; + this.i = 0; + this.init(); + this.active = true; + } + } + } + } else if (this.playmode == -6) { + this.playmode = this.lastPlayMode; + this.reverse = false; + this.i = 0; + this.active = false; + } else if (this.playmode == 6) { + this.reverse = false; + this.i = this.duration + this.initiating + this.cooldown; + this.active = false; + } + } + if (this.onCooldown == false) { + this.onCooldown = true; + this.runtime.trigger(cr.behaviors.lunarray_Tween.prototype.cnds.OnCooldownEnd, this.inst); + this.onCooldownDone = true; + } + } + behaviorProto.cnds = {}; + var cnds = behaviorProto.cnds; + cnds.IsActive = function () + { + return this.active; + }; + cnds.CompareGroupProgress = function (cmp, v) + { + var x = []; + cr.lunarray_tweenGroup[this.group].forEach(function (value) { + x.push((value.i / (value.duration + value.initiating + value.cooldown))); + } ); + return cr.do_cmp( Math.min.apply(null, x), cmp, v ); + } + cnds.CompareProgress = function (cmp, v) + { + return cr.do_cmp((this.i / (this.duration + this.initiating + this.cooldown)), cmp, v); + }; + cnds.OnStart = function () + { + if (this.onStartedDone === false) { + return this.onStarted; + } + }; + cnds.OnWaitEnd = function () + { + if (this.onWaitEndDone === false) { + return this.onWaitEnd; + } + }; + cnds.OnEnd = function (a, b, c) + { + if (this.onEndDone === false) { + return this.onEnd; + } + }; + cnds.OnCooldownEnd = function () + { + if (this.onCooldownDone === false) { + return this.onCooldown; + } + }; + behaviorProto.acts = {}; + var acts = behaviorProto.acts; + acts.SetActive = function (a) + { + this.active = (a === 1); + }; + acts.StartGroup = function (force, sgroup) + { + if (sgroup === "") sgroup = this.group; + var groupReady = (force === 1) || cr.lunarray_tweenGroup[sgroup].every(function(value2) { return !value2.active; } ); + if ( groupReady ) { + cr.lunarray_tweenGroup[sgroup].forEach( + function(value) { + if (force === 1) { + acts.Force.apply(value); + } else { + acts.Start.apply(value); + } + } + ); + } + } + acts.StopGroup = function (stopmode, sgroup) + { + if (sgroup === "") sgroup = this.group; + cr.lunarray_tweenGroup[sgroup].forEach( function(value) { + acts.Stop.apply(value, [stopmode]); + } ); + } + acts.ReverseGroup = function (force, rewindMode, sgroup) + { + if (sgroup === "") sgroup = this.group; + var groupReady = (force === 1) || cr.lunarray_tweenGroup[sgroup].every(function(value2) { return !value2.active; } ); + if ( groupReady ) { + cr.lunarray_tweenGroup[sgroup].forEach( + function(value) { + if (force === 1) { + acts.ForceReverse.apply(value, [rewindMode]); + } else { + acts.Reverse.apply(value, [rewindMode]); + } + } + ); + } + } + acts.Force = function () + { + this.loop = (this.playmode === 4); + if (this.playmode == 5) this.pingpongCounter = 1; + if ((this.playmode == 6) || (this.playmode == -6)) { + if (this.i < this.duration + this.cooldown + this.initiating) { + this.reverse = false; + this.init(); + this.active = true; + } + } else { + this.reverse = false; + this.i = 0; + this.init(); + this.active = true; + } + }; + acts.ForceReverse = function (rewindMode) + { + this.rewindMode = (rewindMode == 1); + this.loop = (this.playmode === 4); + if (this.playmode == 5) this.pingpongCounter = 1; + if ((this.playmode == 6) || (this.playmode == -6)) { + if (this.i < this.duration + this.cooldown + this.initiating) { + this.reverse = true; + this.init(); + this.active = true; + } + } else { + if (rewindMode) { + if (this.pingpongCounter == 1) { + if (this.i >= this.duration + this.cooldown + this.initiating) { + this.reverse = true; + this.i = 0; + this.pingpongCounter = 2; + this.init(); + this.active = true; + } + } + } else { + this.reverse = true; + this.i = 0; + this.init(); + this.active = true; + } + } + }; + acts.Start = function () + { + if (!this.active) { + this.loop = (this.playmode === 4); + if (this.playmode == 5) this.pingpongCounter = 1; + if ((this.playmode == 6) || (this.playmode == -6)) { + if (this.i < this.duration + this.cooldown + this.initiating) { + this.reverse = false; + this.init(); + this.active = true; + } + } else { + this.pingpongCounter = 1; + this.reverse = false; + this.i = 0; + this.init(); + this.active = true; + } + } + }; + acts.Stop = function (stopmode) + { + if (this.active) { + if ((this.playmode == 2) || (this.playmode == 4)) { + if (this.reverse) { + this.i = 0; + } else { + this.i = -1; + } + } else { + if (stopmode == 1) { + this.saveState(); + } else if (stopmode == 0) { + this.i = this.initiating + this.cooldown + this.duration; + } else { + this.i = 0; + } + } + this.tick(); + this.active = false; + } + }; + acts.Pause = function () { + if (this.active) { + this.isPaused = true; + this.active = false; + } + } + acts.Resume = function () { + if (this.isPaused) { + this.active = true; + this.isPaused = false; + } else { + if (!this.active) { + this.reverse = false; + this.i = 0; + this.init(); + this.active = true; + } + } + } + acts.Reverse = function (rewindMode) + { + this.rewindMode = (rewindMode == 1); + if (!this.active) { + this.loop = (this.playmode === 4); + if (this.playmode == 5) this.pingpongCounter = 1; + if ((this.playmode == 6) || (this.playmode == -6)) { + if (this.i < this.duration + this.cooldown + this.initiating) { + this.reverse = true; + this.init(); + this.active = true; + } + } else { + if (rewindMode) { + if (this.pingpongCounter == 1) { + if (this.i >= this.duration + this.cooldown + this.initiating) { + this.reverse = true; + this.i = 0; + this.pingpongCounter = 2; + this.init(); + this.active = true; + } + } + } else { + this.reverse = true; + this.i = 0; + this.init(); + this.active = true; + } + } + } + }; + acts.SetDuration = function (x) + { + this.duration = x; + }; + acts.SetWait = function (x) + { + this.wait = x; + this.initiating = parseFloat(this.wait.split(",")[0]); + this.cooldown = parseFloat(this.wait.split(",")[1]); + if ((this.initiating < 0) || (isNaN(this.initiating))) this.initiating = 0; + if ((this.cooldown < 0) || (isNaN(this.cooldown))) this.cooldown = 0; + }; + acts.SetTarget = function (x) + { + if (typeof(x) == "string") { + this.target = x; + this.targetX = parseFloat(x.split(",")[0]); + this.targetY = parseFloat(x.split(",")[1]); + } else { + this.target = x; + this.targetX = x; + } + if (!this.active) { + this.init(); + } else { + } + }; + acts.SetTargetObject = function (obj) + { + if (!obj) + return; + var otherinst = obj.getFirstPicked(); + if (!otherinst) + return; + this.targetObject = otherinst; + this.target = "OBJ"; + }; + acts.SetTargetX = function (x) + { + if ((this.tweened == 2) || (this.tweened == 3) || (this.tweened == 4) || (this.tweened == 5) || (this.tweened == 6)) { + if (typeof(x) == "string") { + this.target = parseFloat(x.split(",")[0]); + } else { + this.target = ""+x+","+this.targetY; + } + this.targetX = this.target; + } else { + var currY = this.target.split(",")[1]; + this.target = String(x) + "," + currY; + this.targetX = parseFloat(this.target.split(",")[0]); + this.targetY = parseFloat(this.target.split(",")[1]); + } + if (!this.active) { + this.saveState(); + this.init(); + } else { + } + }; + acts.SetTargetY = function (x) + { + if ((this.tweened == 2) || (this.tweened == 3) || (this.tweened == 4) || (this.tweened == 5) || (this.tweened == 6)) { + if (typeof(x) == "string") { + this.target = parseFloat(x)+""; + } else { + this.target = this.targetX+","+x; + } + this.targetX = this.target; + } else { + var currX = this.target.split(",")[0]; + this.target = currX + "," + String(x); + this.targetX = parseFloat(this.target.split(",")[0]); + this.targetY = parseFloat(this.target.split(",")[1]); + } + if (!this.active) { + this.saveState(); + this.init(); + } else { + } + }; + acts.SetInitial = function (x) + { + if (typeof(x) == "string") { + this.initial = x; + this.initialX = parseFloat(x.split(",")[0]); + this.initialY = parseFloat(x.split(",")[1]); + } else { + this.initial = ""+x; + this.initialX = x; + } + if (this.tweened == 6) { + this.value = this.initialX; + } + if (!this.active) { + this.saveState(); + this.init(); + } else { + } + }; + acts.SetInitialX = function (x) + { + if ((this.tweened == 2) || (this.tweened == 3) || (this.tweened == 4) || (this.tweened == 5) || (this.tweened == 6)) { + if (typeof(x) == "string") { + this.initial = parseFloat(x); + } else { + this.initial = ""+x+","+this.initialY; + } + this.initialX = this.initial; + } else { + if (this.initial == "") this.initial = "current"; + if (this.initial == "current") { + var currY = this.tweenSaveY; + } else { + var currY = this.initial.split(",")[1]; + } + this.initial = String(x) + "," + currY; + this.initialX = parseFloat(this.initial.split(",")[0]); + this.initialY = parseFloat(this.initial.split(",")[1]); + } + if (this.tweened == 6) { + this.value = this.initialX; + } + if (!this.active) { + this.saveState(); + this.init(); + } else { + } + }; + acts.SetInitialY = function (x) + { + if ((this.tweened == 2) || (this.tweened == 3) || (this.tweened == 4) || (this.tweened == 5) || (this.tweened == 6)) { + if (typeof(x) == "string") { + this.initial = parseFloat(x); + } else { + this.initial = ""+this.initialX+","+x; + } + this.initialX = this.initial; + } else { + if (this.initial == "") this.initial = "current"; + if (this.initial == "current") { + var currX = this.tweenSaveX; + } else { + var currX = this.initial.split(",")[0]; + } + this.initial = currX + "," + String(x); + this.initialX = parseFloat(this.initial.split(",")[0]); + this.initialY = parseFloat(this.initial.split(",")[1]); + } + if (!this.active) { + this.saveState(); + this.init(); + } else { + } + }; + acts.SetValue = function (x) + { + this.value = x; + }; + acts.SetTweenedProperty = function (m) + { + this.tweened = m; + }; + acts.SetEasing = function (w) + { + this.easing = w; + }; + acts.SetPlayback = function (x) + { + this.playmode = x; + }; + acts.SetParameter = function (tweened, playmode, easefunction, initial, target, duration, wait, cmode) + { + this.tweened = tweened; + this.playmode = playmode; + this.easing = easefunction; + acts.SetInitial.apply(this, [initial]); + acts.SetTarget.apply(this, [target]); + acts.SetDuration.apply(this, [duration]); + acts.SetWait.apply(this, [wait]); + this.coord_mode = cmode; + this.saveState(); + }; + behaviorProto.exps = {}; + var exps = behaviorProto.exps; + exps.Progress = function (ret) + { + ret.set_float(this.i / (this.duration + this.initiating + this.cooldown)); + }; + exps.ProgressTime = function (ret) + { + ret.set_float(this.i); + }; + exps.Duration = function (ret) + { + ret.set_float(this.duration); + }; + exps.Initiating = function (ret) + { + ret.set_float(this.initiating); + }; + exps.Cooldown = function (ret) + { + ret.set_float(this.cooldown); + }; + exps.Target = function (ret) + { + ret.set_string(this.target); + }; + exps.Value = function (ret) + { + ret.set_float(this.value); + }; + exps.isPaused = function (ret) + { + ret.set_int(this.isPaused ? 1: 0); + }; +}()); +cr.getObjectRefTable = function () { return [ + cr.plugins_.Audio, + cr.plugins_.Browser, + cr.plugins_.JSON, + cr.plugins_.Function, + cr.plugins_.SenaPlugin, + cr.plugins_.Sprite, + cr.plugins_.Touch, + cr.plugins_.Text, + cr.behaviors.Rex_MoveTo, + cr.behaviors.Fade, + cr.behaviors.DragnDrop, + cr.behaviors.lunarray_Tween, + cr.behaviors.Flash, + cr.behaviors.Sin, + cr.behaviors.Pin, + cr.behaviors.Anchor, + cr.system_object.prototype.cnds.OnLayoutStart, + cr.plugins_.SenaPlugin.prototype.acts.Load, + cr.system_object.prototype.acts.Wait, + cr.behaviors.DragnDrop.prototype.acts.SetEnabled, + cr.plugins_.SenaPlugin.prototype.cnds.OnLoad, + cr.plugins_.SenaPlugin.prototype.acts.Start, + cr.plugins_.Function.prototype.acts.CallFunction, + cr.system_object.prototype.acts.SetVar, + cr.plugins_.Browser.prototype.acts.ConsoleLog, + cr.plugins_.SenaPlugin.prototype.exps.getOptionsCount, + cr.plugins_.Text.prototype.acts.SetText, + cr.plugins_.SenaPlugin.prototype.exps.getQuestionValue, + cr.system_object.prototype.cnds.Compare, + cr.plugins_.Function.prototype.cnds.OnFunction, + cr.plugins_.SenaPlugin.prototype.exps.getHintValue, + cr.plugins_.Text.prototype.acts.Destroy, + cr.plugins_.Sprite.prototype.acts.Destroy, + cr.plugins_.SenaPlugin.prototype.acts.CalcObjectPositions, + cr.plugins_.SenaPlugin.prototype.exps.getHintCount, + cr.system_object.prototype.exps.layoutwidth, + cr.system_object.prototype.cnds.Repeat, + cr.system_object.prototype.exps.loopindex, + cr.system_object.prototype.acts.CreateObject, + cr.plugins_.Sprite.prototype.acts.SetX, + cr.plugins_.SenaPlugin.prototype.exps.getPosXbyIndex, + cr.plugins_.Sprite.prototype.acts.SetY, + cr.plugins_.Sprite.prototype.acts.SetAnimFrame, + cr.plugins_.Sprite.prototype.acts.SetInstanceVar, + cr.plugins_.Sprite.prototype.acts.SetScale, + cr.plugins_.Sprite.prototype.exps.X, + cr.plugins_.Sprite.prototype.exps.Y, + cr.plugins_.Text.prototype.acts.SetFontSize, + cr.behaviors.Pin.prototype.acts.Pin, + cr.plugins_.Sprite.prototype.exps.Width, + cr.plugins_.Sprite.prototype.exps.Height, + cr.plugins_.SenaPlugin.prototype.exps.getOptionsValue, + cr.system_object.prototype.acts.AddVar, + cr.system_object.prototype.cnds.Else, + cr.plugins_.Text.prototype.acts.MoveToTop, + cr.behaviors.DragnDrop.prototype.cnds.OnDragStart, + cr.behaviors.DragnDrop.prototype.cnds.IsEnabled, + cr.plugins_.Audio.prototype.acts.Play, + cr.plugins_.Sprite.prototype.acts.MoveToTop, + cr.behaviors.lunarray_Tween.prototype.acts.SetTarget, + cr.behaviors.lunarray_Tween.prototype.acts.Start, + cr.system_object.prototype.cnds.PickByComparison, + cr.plugins_.Sprite.prototype.cnds.CompareInstanceVar, + cr.plugins_.Sprite.prototype.cnds.IsOverlapping, + cr.behaviors.DragnDrop.prototype.cnds.OnDrop, + cr.plugins_.SenaPlugin.prototype.acts.SetData, + cr.system_object.prototype.exps.str, + cr.plugins_.SenaPlugin.prototype.acts.PostMessage, + cr.plugins_.Sprite.prototype.acts.SetPos, + cr.system_object.prototype.cnds.ForEach, + cr.system_object.prototype.cnds.CompareVar, + cr.plugins_.Sprite.prototype.exps.Count, + cr.plugins_.Sprite.prototype.acts.SetVisible, + cr.plugins_.Touch.prototype.cnds.OnTouchObject, + cr.plugins_.Sprite.prototype.cnds.IsVisible, + cr.plugins_.SenaPlugin.prototype.acts.PauseGame, + cr.behaviors.Flash.prototype.acts.Flash, + cr.system_object.prototype.cnds.TriggerOnce, + cr.system_object.prototype.exps.left, + cr.system_object.prototype.exps.len, + cr.plugins_.SenaPlugin.prototype.acts.Finish, + cr.plugins_.SenaPlugin.prototype.cnds.OnCorrect, + cr.plugins_.SenaPlugin.prototype.cnds.OnWrong, + cr.plugins_.SenaPlugin.prototype.cnds.OnMessage, + cr.plugins_.JSON.prototype.acts.LoadJSON, + cr.plugins_.SenaPlugin.prototype.exps.getLastMessageJSON, + cr.plugins_.JSON.prototype.exps.Value, + cr.system_object.prototype.exps["int"], + cr.behaviors.Rex_MoveTo.prototype.acts.SetTargetPos, + cr.plugins_.Sprite.prototype.acts.SetWidth, + cr.plugins_.Sprite.prototype.acts.SetHeight, + cr.behaviors.Rex_MoveTo.prototype.cnds.IsMoving, + cr.system_object.prototype.exps.mid, + cr.plugins_.Browser.prototype.acts.ExecJs +];}; diff --git a/SQ_Word_TextOnly-Teacher/data.js b/SQ_Word_TextOnly-Teacher/data.js new file mode 100644 index 0000000..e7a8684 --- /dev/null +++ b/SQ_Word_TextOnly-Teacher/data.js @@ -0,0 +1 @@ +๏ปฟ{"project": [null,"Game",[[0,true,false,false,false,false,false,false,false,false],[1,true,false,false,false,false,false,false,false,false],[2,false,false,false,false,false,false,false,false,false],[3,true,false,false,false,false,false,false,false,false],[4,true,false,false,false,false,false,false,false,false],[5,false,true,true,true,true,true,true,true,false],[6,true,false,false,false,false,false,false,false,false],[7,false,true,true,true,true,true,true,true,false]],[["t0",5,false,[864916470115508,671424700857603,742273295511675,915051182566084,438595278712365,792103718967953],5,0,null,[["Default",0,false,1,0,false,766361138730018,[["images/answers-sheet0.png",12383,0,0,199,85,1,0.5025125741958618,0.5058823823928833,[],[-0.3165825605392456,-0.3294113874435425,0.3316584229469299,-0.3411763906478882,0.336683452129364,0.247058629989624,-0.3115575909614563,0.247058629989624],0]]]],[["MoveTo",8,604855247345446],["Fade",9,172183085978858],["DragDrop",10,421888048208530],["EaseTween",11,428975865074928],["EaseTween2",11,153601376400345]],false,false,521274050538780,[],null],["t1",6,false,[],0,0,null,null,[],false,false,786570836240034,[],null,[1]],["t2",3,false,[],0,0,null,null,[],false,false,293329078829759,[],null,[]],["t3",1,false,[],0,0,null,null,[],false,false,309246988327533,[],null,[]],["t4",5,false,[808559794937329,997079567163161,567648729382427,954939568499611,936471805758704],1,0,null,[["Default",0,false,1,0,false,163248314795401,[["images/answers-sheet0.png",12383,0,0,199,85,1,0.5025125741958618,0.5058823823928833,[],[-0.38190957903862,-0.2941173911094666,0.376884400844574,-0.317647397518158,0.3718594312667847,0.2941176295280457,-0.38190957903862,0.2823526263237],0],["images/slot-sheet0.png",11183,0,0,199,82,1,0.5025125741958618,0.5,[],[-0.3366835713386536,-0.2317070066928864,0.3517584204673767,-0.2439019978046417,0.3567834496498108,0.3048779964447022,-0.346733570098877,0.2926830053329468],0]]]],[["Fade",9,900753873870093]],false,false,519636697009154,[],null],["t5",5,false,[],3,0,null,[["Default",0,false,1,0,false,157803278794484,[["images/submit-sheet0.png",146996,0,0,489,325,1,0.5010225176811218,0.5015384554862976,[],[],0]]]],[["Flash",12,745974027953346],["Sine",13,122174234324725],["Fade",9,470725043295066]],false,false,588453873694452,[],null],["t6",0,false,[],0,0,null,null,[],false,false,975221106550751,[],null,[0,0,0,1,1,600,600,10000,1]],["t7",5,false,[],0,0,null,[["Default",5,false,1,0,false,430849449557794,[["images/sprite-sheet0.png",168,0,0,250,250,1,0.5,0.5,[],[],0]]]],[],false,false,787263586433186,[],null],["t8",7,false,[],2,0,null,null,[["Pin",14,668111541658451],["Fade",9,143982287745535]],false,false,865512087815474,[],null],["t9",5,false,[],2,0,null,[["Default",5,false,1,0,false,325577231432987,[["images/wrong-sheet0.png",27271,0,0,140,140,1,0.5,0.5,[],[-0.08866998553276062,0.05115598440170288,0,-0.05821299552917481,0.08374398946762085,0.05821299552917481,0.07635402679443359,-0.001763999462127686,0.1009849905967712,-0.03351700305938721,0,0.1005499958992004,-0.105910986661911,-0.02645999193191528,-0.08374398946762085,-0.001763999462127686],0]]]],[["Fade",9,938090566638553],["Pin",14,922984705911085]],false,false,786659809200098,[],null],["t10",5,false,[],2,0,null,[["Default",5,false,1,0,false,199500828138837,[["images/correct-sheet0.png",31182,0,0,140,140,1,0.5,0.5071428418159485,[],[-0.03694498538970947,-0.01037183403968811,0,-0.05661284923553467,0.4187189936637878,-0.4319769442081451,0.08374398946762085,-0.004931867122650147,0,0.133790135383606,-0.280788004398346,0.2725121378898621,-0.03940901160240173,-0.004931867122650147],0]]]],[["Fade",9,351180598525433],["Pin",14,692899677986212]],false,false,185378619927884,[],null],["t11",7,false,[],2,0,null,null,[["Pin",14,456906837996025],["Fade",9,218728013988059]],false,false,438300487857361,[],null],["t12",5,false,[147049293532184],0,0,null,[["Default",5,false,1,0,false,805374628770208,[["images/black-sheet0.png",2935,0,0,300,300,1,0.5,0.5,[],[],0]]]],[],false,false,142600631683249,[],null],["t13",4,false,[],0,0,null,null,[],false,false,222049282078427,[],null,["G2300S1T30"]],["t14",5,false,[],1,0,null,[["Default",5,false,1,0,false,880118909230696,[["images/khungtxt-sheet0.png",70400,0,0,704,320,1,0.5,0.5,[],[],0]]]],[["Fade",9,267897299256146]],false,false,164138960799517,[],null],["t15",5,false,[],2,0,null,[["Default",5,false,1,0,false,285013808497840,[["images/newwords-sheet0.png",32993,0,0,272,153,1,0.5,0.5032680034637451,[],[-0.3404409885406494,-0.2207159996032715,0,-0.4466274082660675,0.1834560036659241,0.05727899074554443,0.1808819770812988,-0.003268003463745117,0.3154410123825073,0.1699090003967285,0,0.3782420158386231,-0.3683820068836212,0.2636590003967285,-0.25,-0.003268003463745117],0]]]],[["Anchor",15,676433811829205],["Fade",9,164079238693837]],false,false,419069027055324,[],null],["t16",2,false,[],0,0,null,null,[],true,false,586447408353978,[],null],["t17",5,false,[],0,0,null,[["Default",5,false,1,0,false,469808521557506,[["images/button-sheet0.png",6124,0,0,120,50,1,0.5,0.5,[],[-0.3533329963684082,-0.1480000019073486,0,-0.3579999804496765,0.3591669797897339,-0.1620000004768372,0.4116669893264771,0,0.4383329749107361,0.3519999980926514,0,0.4020000100135803,-0.3675000071525574,0.1819999814033508,-0.375,0],0]]]],[],false,false,299907041953755,[],null],["t18",7,false,[],1,0,null,null,[["Fade",9,806426543692261]],false,false,167381101051501,[],null],["t19",5,false,[],0,0,null,[["Default",5,false,1,0,false,182504384102113,[["images/button-sheet0.png",6124,0,0,120,50,1,0.5,0.5,[],[-0.3533329963684082,-0.1480000019073486,0,-0.3579999804496765,0.3591669797897339,-0.1620000004768372,0.4116669893264771,0,0.4383329749107361,0.3519999980926514,0,0.4020000100135803,-0.3675000071525574,0.1819999814033508,-0.375,0],0]]]],[],false,false,985960483074371,[],null]],[],[["Game",1200,1200,false,"Game",288730111597454,[["Layer 0",0,763235347287340,true,[255,255,255],true,0,0,1,false,false,0,0,0,[[[650,628,0,2957.1416015625,2770.996826171875,0,0,0.1000000014901161,0.5,0.5,0,0,[]],12,25,[[0]],[],[0,"Default",0,1]],[[-2207,830,0,199,85,0,0,1,0.5025125741958618,0.5058823823928833,0,0,[]],0,3,[[0],[0],[-1],[""],[0],[0]],[[1,3000,1500,1500],[1,1,0,0,0],[0,1],[0,7,17,"current","100, 100",0.3,"0,0",0,0,0,0,""],[0,7,5,"current","100, 100",0.3,"0,0",0,0,0,0,""]],[0,"Default",0,1]],[[-3213,680,0,199,82,0,0,1,0.5025125741958618,0.5,0,0,[]],4,9,[[-1],[0],[""],[0],[0]],[[1,1,0,0,0]],[0,"Default",1,1]],[[-3356,1133,0,168,74,0,0,1,0.5,0.5,0,0,[]],8,18,[],[[],[1,1,0,0,0]],["Answer",0,"bold 36pt Arial","rgb(255,255,255)",1,1,4,0,0]],[[-3089,1143,0,121,90,0,0,1,0.5,0.5,0,0,[]],11,1,[],[[],[1,1,0,0,0]],["Slot",0,"bold 36pt Arial","rgb(255,255,255)",1,1,4,0,0]],[[600,1000,0,300.8410034179688,199.9459991455078,0,0,1,0.5010225176811218,0.5015384554862976,0,0,[]],5,17,[],[[],[1,2,0,3,0,0,0,15,0],[1,1,0,0,0]],[1,"Default",0,1]],[[-3211,245,0,200.7819976806641,211.3489990234375,0,0,1,0.5,0.5,0,0,[]],9,23,[],[[1,0.5,0.5,0.5,1],[]],[0,"Default",0,1]],[[-2882,230,0,200.7819976806641,211.3489990234375,0,0,1,0.5,0.5071428418159485,0,0,[]],10,39,[],[[1,0.5,0.5,0.5,1],[]],[0,"Default",0,1]],[[600,300,0,752.7402954101563,342.1546630859375,0,0,1,0.5,0.5,0,0,[]],14,21,[],[[1,1,0,0,0]],[0,"Default",0,1]],[[134,78,0,263.8059997558594,148.9730072021484,0,0,1,0.5,0.5032680034637451,0,0,[]],15,24,[],[[0,0,0,0,1],[1,1,0,0,0]],[0,"Default",0,1]],[[600,300,0,665,245,0,0,1,0.5,0.5,0,0,[]],18,6,[],[[1,1,0,0,0]],["",0,"bold 72pt Comic Sans MS","rgb(0,0,0)",1,1,4,0,0]],[[1047,975,0,268.8689880371094,112.0289993286133,0,0,1,0.5,0.5,0,0,[]],19,8,[],[],[1,"Default",0,1]]],[]],["Layer 1",1,441325000409946,true,[255,255,255],true,1,1,1,false,false,1,0,0,[[[1046,1113,0,268.8689880371094,112.0289993286133,0,0,1,0.5,0.5,0,0,[]],17,4,[],[],[1,"Default",0,1]]],[]],["Layer 2",2,317623978877020,false,[255,255,255],true,0,0,1,false,false,1,0,0,[[[628,605,0,714.6690063476563,669.6823120117188,0,0,0.699999988079071,0.5,0.5,0,0,[]],12,32,[[2]],[],[0,"Default",0,1]]],[]]],[[null,16,2,[],[],[]]],[]]],[["Game",[[1,"gameState",1,"Playing",false,false,764165769984549,false],[1,"OptionIndex",0,0,false,false,701702298089281,false],[1,"FinalAnswer",1,"",false,false,342353772129151,false],[1,"FilledCount",0,0,false,false,377137633613480,false],[1,"tempScale",0,1,false,false,529411214032395,false],[0,null,false,null,549205817072564,[[-1,16,null,1,false,false,false,597870668036321,false]],[[13,17,null,202557125263620,false],[-1,18,null,952196818529068,false,[[0,[0,1]]]],[0,19,"DragDrop",702939057496858,false,[[3,1]]]]],[0,null,false,null,768327268818740,[[13,20,null,1,false,false,false,157854561629165,false]],[],[[0,null,false,null,939160499379423,[],[[13,21,null,112633710369332,false],[2,22,null,215312930941469,false,[[1,[2,"SetupUI"]],[13]]],[-1,23,null,989627856162908,false,[[11,"gameState"],[7,[2,"playing"]]]],[3,24,null,810649571245244,false,[[3,0],[7,[10,[2,"SenaAI Loaded & Started! Options count: "],[20,13,25,false,null]]]]],[18,26,null,386183475836261,false,[[7,[20,13,27,true,null]]]]],[[0,null,false,null,275281932743956,[[-1,28,null,0,false,false,false,966644000004331,false,[[7,[20,13,25,false,null]],[8,4],[7,[0,6]]]]],[[-1,23,null,167570100299072,false,[[11,"tempScale"],[7,[1,0.85]]]]]],[0,null,false,null,924626844575014,[[-1,28,null,0,false,false,false,434909502006706,false,[[7,[20,13,25,false,null]],[8,4],[7,[0,10]]]]],[[-1,23,null,570717869674839,false,[[11,"tempScale"],[7,[1,0.7]]]]]]]]]],[0,null,false,null,579497392478296,[[2,29,null,2,false,false,false,894377128803980,false,[[1,[2,"SetupUI"]]]]],[[3,24,null,241526851107963,false,[[3,0],[7,[10,[2,"Test Index 4: "],[20,13,30,false,null,[[0,4]]]]]]],[-1,23,null,130502662612493,false,[[11,"OptionIndex"],[7,[0,0]]]],[8,31,null,804363046879822,false],[11,31,null,908445118959135,false],[4,32,null,947783578724586,false],[0,32,null,597263169611080,false],[13,33,null,823188349173873,false,[[0,[20,13,34,false,null]],[0,[6,[0,140],[23,"tempScale"]]],[0,[6,[0,80],[23,"tempScale"]]],[0,[19,35]],[0,[0,0]],[0,[0,0]],[1,[2,""]],[0,[0,0]]]],[-1,18,null,578236747375036,false,[[0,[1,0.1]]]]],[[0,null,false,null,420951645933385,[[-1,36,null,0,true,false,false,703700136369336,false,[[0,[20,13,34,false,null]]]]],[],[[0,null,false,null,455370097314226,[[-1,28,null,0,false,false,false,413739513101283,false,[[7,[20,13,30,false,null,[[19,37]]]],[8,0],[7,[2,"_"]]]]],[[-1,38,null,410642989172264,false,[[4,4],[5,[0,0]],[0,[0,0]],[0,[0,0]]]],[4,39,null,140706566386258,false,[[0,[20,13,40,false,null,[[19,37]]]]]],[4,41,null,285477521472615,false,[[0,[0,600]]]],[4,42,null,208939150633609,false,[[0,[0,1]]]],[4,43,null,358294085606629,false,[[10,4],[7,[0,0]]]],[4,43,null,762745403333695,false,[[10,0],[7,[19,37]]]],[4,44,null,148760556597463,false,[[0,[23,"tempScale"]]]],[-1,38,null,406503163078354,false,[[4,11],[5,[0,0]],[0,[20,4,45,false,null]],[0,[20,4,46,false,null]]]],[11,26,null,240961907969018,false,[[7,[21,4,true,null,2]]]],[11,47,null,400710477532726,false,[[0,[6,[0,36],[23,"tempScale"]]]]],[11,48,"Pin",516397285690983,false,[[4,4],[3,0]]],[-1,38,null,998994917807971,false,[[4,0],[5,[0,0]],[0,[0,0]],[0,[0,0]]]],[0,39,null,247766170395109,false,[[0,[20,13,40,false,null,[[19,37]]]]]],[0,44,null,789539844378330,false,[[0,[23,"tempScale"]]]],[0,41,null,659120042275762,false,[[0,[0,900]]]],[0,43,null,825308187830477,false,[[10,0],[7,[20,0,45,false,null]]]],[0,43,null,118876830921160,false,[[10,1],[7,[20,0,46,false,null]]]],[0,43,null,919942935192296,false,[[10,5],[7,[20,0,49,false,null]]]],[0,43,null,376584768872877,false,[[10,4],[7,[20,0,50,false,null]]]],[0,43,null,120370806104811,false,[[10,3],[7,[20,13,51,true,null,[[23,"OptionIndex"]]]]]],[-1,38,null,122191354564609,false,[[4,8],[5,[0,0]],[0,[20,0,45,false,null]],[0,[20,0,46,false,null]]]],[8,26,null,848448916783921,false,[[7,[21,0,true,null,3]]]],[8,47,null,998311746796944,false,[[0,[6,[0,36],[23,"tempScale"]]]]],[8,48,"Pin",699493768428686,false,[[4,0],[3,0]]],[-1,52,null,182730619643428,false,[[11,"OptionIndex"],[7,[0,1]]]],[3,24,null,440482875462457,false,[[3,0],[7,[10,[10,[10,[10,[10,[2,"Loop: "],[19,37]],[2," | Hint: "]],[20,13,30,false,null,[[19,37]]]],[2," | PosX: "]],[20,13,40,false,null,[[19,37]]]]]]]]],[0,null,false,null,304626328262125,[[-1,53,null,0,false,false,false,961464069246915,false]],[[-1,38,null,341749072471234,false,[[4,4],[5,[0,0]],[0,[0,0]],[0,[0,0]]]],[4,39,null,950657190119533,false,[[0,[20,13,40,false,null,[[19,37]]]]]],[4,41,null,604924286586907,false,[[0,[0,600]]]],[4,42,null,757159077034853,false,[[0,[0,0]]]],[4,43,null,469578461961545,false,[[10,4],[7,[0,1]]]],[4,43,null,542370827313726,false,[[10,0],[7,[19,37]]]],[4,44,null,110787545618608,false,[[0,[23,"tempScale"]]]],[-1,38,null,647586354625940,false,[[4,11],[5,[0,0]],[0,[20,4,45,false,null]],[0,[20,4,46,false,null]]]],[11,54,null,923005143097237,false],[11,26,null,554000673571406,false,[[7,[20,13,30,false,null,[[19,37]]]]]],[11,47,null,559499469199642,false,[[0,[6,[0,36],[23,"tempScale"]]]]],[11,48,"Pin",826606792383653,false,[[4,4],[3,0]]]]]]]]],[0,null,false,null,885232395664091,[[0,55,"DragDrop",1,false,false,false,462077248880784,false],[0,56,"DragDrop",0,false,false,false,881833931574563,false]],[[6,57,null,765474901635440,false,[[2,["card_drag",false]],[3,0],[0,[0,0]],[1,[2,""]]]],[0,58,null,397403794429243,false],[0,59,"EaseTween",798607807460393,false,[[1,[10,[10,[6,[21,0,false,null,5],[1,1.25]],[2,","]],[6,[21,0,false,null,4],[1,1.25]]]]]],[0,60,"EaseTween",333043575480598,false]],[[0,null,false,null,715788682150145,[[-1,61,null,0,false,false,false,862124610346956,false,[[4,4],[7,[21,4,false,null,0]],[8,0],[7,[21,0,false,null,2]]]],[0,62,null,0,false,false,false,975555513158536,false,[[10,2],[8,1],[7,[0,-1]]]]],[[4,43,null,745135912100760,false,[[10,4],[7,[0,0]]]],[0,43,null,363961653226411,false,[[10,2],[7,[0,-1]]]],[2,22,null,741791155071768,false,[[1,[2,"CheckSubmitState"]],[13]]]]],[0,null,false,null,193892616913206,[[0,63,null,0,false,false,false,297897281213159,false,[[4,8]]]],[[8,54,null,812019026325329,false]]]]],[0,null,false,null,876456068332522,[[0,64,"DragDrop",1,false,false,false,792974910922911,false]],[[0,59,"EaseTween2",312326656063231,false,[[1,[10,[10,[21,0,false,null,5],[2,","]],[21,0,false,null,4]]]]],[0,60,"EaseTween2",997643361117365,false]],[[0,null,false,null,962248118287846,[[0,63,null,0,false,false,false,124677826324657,false,[[4,4]]],[4,62,null,0,false,false,false,852890087723952,false,[[10,4],[8,0],[7,[0,0]]]]],[[13,65,null,302892985427702,false,[[1,[21,0,true,null,3]],[1,[19,66,[[21,4,false,null,0]]]],[1,[2,""]],[1,[2,""]],[1,[2,""]]]],[13,67,null,675766676269844,false]]],[0,null,false,null,237085795779233,[[-1,53,null,0,false,false,false,461468372881317,false]],[[6,57,null,961784671294368,false,[[2,["card_swipe",false]],[3,0],[0,[0,0]],[1,[2,""]]]],[0,68,null,958673829895135,false,[[0,[21,0,false,null,0]],[0,[21,0,false,null,1]]]],[2,22,null,785187084030838,false,[[1,[2,"CheckSubmitState"]],[13]]]]]]],[0,null,false,null,903256601857551,[[2,29,null,2,false,false,false,553171385010499,false,[[1,[2,"CheckSubmitState"]]]]],[[-1,23,null,151584341392847,false,[[11,"FilledCount"],[7,[0,0]]]]],[[0,null,false,null,326454811928491,[[-1,69,null,0,true,false,false,900563057628926,false,[[4,0]]]],[],[[0,null,false,null,512468327333204,[[0,62,null,0,false,false,false,273625493381606,false,[[10,2],[8,1],[7,[0,-1]]]]],[[-1,52,null,427897992150255,false,[[11,"FilledCount"],[7,[0,1]]]]]]]],[0,null,false,null,197957600391126,[[-1,70,null,0,false,false,false,676094959731453,false,[[11,"FilledCount"],[8,0],[7,[20,0,71,false,null]]]]],[[5,72,null,871171250612987,false,[[3,1]]]]],[0,null,false,null,830039838453468,[[-1,53,null,0,false,false,false,540974332855602,false]],[[5,72,null,801779902196330,false,[[3,0]]]]]]],[0,null,false,null,956282998966849,[[1,73,null,1,false,false,false,460379891558451,false,[[4,5]]],[5,74,null,0,false,false,false,271469166922398,false],[-1,70,null,0,false,false,false,978842429876932,false,[[11,"gameState"],[8,1],[7,[2,"End"]]]]],[[-1,23,null,448932463631348,false,[[11,"gameState"],[7,[2,"End"]]]],[13,75,null,658653282719226,false],[-1,23,null,529456506010094,false,[[11,"FinalAnswer"],[7,[2,""]]]],[6,57,null,126336130318037,false,[[2,["button-124476",false]],[3,0],[0,[0,0]],[1,[2,""]]]],[5,76,"Flash",388147726390308,false,[[0,[1,0.1]],[0,[1,0.1]],[0,[1,0.4]]]],[-1,18,null,725241333542329,false,[[0,[1,0.5]]]]],[[0,null,false,null,667347878010134,[[-1,36,null,0,true,false,false,389186915205398,false,[[0,[20,13,34,false,null]]]]],[],[[0,null,false,null,631589558920999,[[-1,28,null,0,false,false,false,253358370212568,false,[[7,[20,13,30,false,null,[[19,37]]]],[8,0],[7,[2,"_"]]]]],[],[[0,null,false,null,403636493907996,[[0,62,null,0,false,false,false,526836686186341,false,[[10,2],[8,0],[7,[19,37]]]]],[[-1,23,null,245728951174934,false,[[11,"FinalAnswer"],[7,[10,[10,[23,"FinalAnswer"],[21,0,true,null,3]],[2,"|"]]]]]]]]],[0,null,false,null,998053537243308,[[-1,53,null,0,false,false,false,403067100774907,false]],[[-1,23,null,357495810182952,false,[[11,"FinalAnswer"],[7,[10,[10,[23,"FinalAnswer"],[20,13,30,false,null,[[19,37]]]],[2,"|"]]]]]]]]],[0,null,false,null,903901720494647,[[-1,70,null,0,false,false,false,745073279826626,false,[[11,"FinalAnswer"],[8,1],[7,[2,""]]]]],[],[[0,null,false,null,701148288919283,[[-1,77,null,0,false,false,false,153757867885465,false]],[[-1,23,null,634420875004029,false,[[11,"FinalAnswer"],[7,[19,78,[[23,"FinalAnswer"],[5,[19,79,[[23,"FinalAnswer"]]],[0,1]]]]]]],[13,80,null,277884853562735,false,[[7,[23,"FinalAnswer"]]]],[5,72,null,550754773274305,false,[[3,0]]]]]]]]],[0,null,false,null,961823775126713,[[13,81,null,1,false,false,false,119018979468992,false]],[[0,19,"DragDrop",205409471313749,false,[[3,0]]],[6,57,null,634975830871135,false,[[2,["alert-234711",false]],[3,0],[0,[0,0]],[1,[2,""]]]],[5,72,null,486294929517038,false,[[3,0]]],[-1,18,null,166118146748558,false,[[0,[1,0.1]]]],[-1,38,null,786114696442570,false,[[4,10],[5,[0,0]],[0,[20,5,45,false,null]],[0,[20,5,46,false,null]]]],[-1,18,null,609402064923823,false,[[0,[0,2]]]],[13,75,null,518261006133178,false]]],[0,null,false,null,433043078641250,[[13,82,null,1,false,false,false,889460128806113,false]],[[0,19,"DragDrop",146493902040842,false,[[3,0]]],[6,57,null,221256152272583,false,[[2,["error-010-206498",false]],[3,0],[0,[0,0]],[1,[2,""]]]],[5,72,null,523842542618557,false,[[3,0]]],[-1,18,null,773344591454861,false,[[0,[1,0.1]]]],[-1,38,null,165468245100549,false,[[4,9],[5,[0,0]],[0,[20,5,45,false,null]],[0,[20,5,46,false,null]]]],[-1,18,null,585683943374630,false,[[0,[0,2]]]],[13,75,null,192197113002945,false]]],[0,null,false,null,973278522345525,[[13,83,null,1,false,false,false,927818474668326,false]],[[16,84,null,845797294971628,false,[[1,[20,13,85,true,null]],[3,0],[13]]],[-1,18,null,467125418790238,false,[[0,[1,0.0001]]]]],[[1,"tempValue",1,"",false,false,952811333007216,false],[1,"tempSlotIndex",1,"",false,false,626841559287610,false],[0,null,false,null,271662213408515,[],[[-1,23,null,610834853664881,false,[[11,"tempValue"],[7,[19,66,[[20,16,86,false,null,[[0,0],[2,"data1"]]]]]]]],[-1,23,null,286183848442106,false,[[11,"tempSlotIndex"],[7,[19,66,[[20,16,86,false,null,[[0,0],[2,"data2"]]]]]]]]],[[0,null,false,null,493798375960486,[[-1,61,null,0,false,false,false,566153303704144,false,[[4,0],[7,[21,0,true,null,3]],[8,0],[7,[23,"tempValue"]]]]],[],[[0,null,false,null,658651696339391,[[-1,70,null,0,false,false,false,722215846484283,false,[[11,"tempSlotIndex"],[8,1],[7,[2,"-1"]]]]],[],[[0,null,false,null,676010396633740,[[-1,61,null,0,false,false,false,672991632942146,false,[[4,4],[7,[21,4,false,null,0]],[8,0],[7,[19,87,[[23,"tempSlotIndex"]]]]]]],[[0,88,"MoveTo",833689912773508,false,[[0,[20,4,45,false,null]],[0,[20,4,46,false,null]]]],[-1,18,null,610834693872898,false,[[0,[1,0.2]]]],[0,43,null,479518019700654,false,[[10,2],[7,[21,4,false,null,0]]]],[4,43,null,609568720254979,false,[[10,4],[7,[0,1]]]],[0,89,null,159458928427443,false,[[0,[20,4,49,false,null]]]],[4,90,null,697650462009221,false,[[0,[20,4,50,false,null]]]],[6,57,null,940575409722662,false,[[2,["pop-reverb-423718",false]],[3,0],[0,[0,-5]],[1,[2,""]]]],[2,22,null,419332277360484,false,[[1,[2,"CheckSubmitState"]],[13]]]],[[0,null,false,null,161327867537609,[[0,91,"MoveTo",0,false,false,false,561542683810078,false]],[[0,58,null,778613412902760,false],[8,54,null,826449388079077,false]]]]]]],[0,null,false,null,869805973892524,[[-1,53,null,0,false,false,false,156942922771260,false]],[[4,43,null,646162114085110,false,[[10,4],[7,[0,0]]]],[0,43,null,897848335414187,false,[[10,2],[7,[0,-1]]]],[6,57,null,979144817563596,false,[[2,["card_swipe",false]],[3,0],[0,[0,0]],[1,[2,""]]]],[0,88,"MoveTo",281049361269936,false,[[0,[21,0,false,null,0]],[0,[21,0,false,null,1]]]],[2,22,null,738097506450130,false,[[1,[2,"CheckSubmitState"]],[13]]]]]]]]]]],[1,"TouchCount",0,0,false,false,776634661230193,false],[1,"TouchCount2",0,0,false,false,355370443143760,false],[0,null,false,null,996560232195058,[[1,73,null,1,false,false,false,563214882677177,false,[[4,17]]],[17,74,null,0,false,false,false,326194285080640,false]],[[13,65,null,647120714082589,false,[[1,[19,92,[[2,"CAT"],[23,"TouchCount"],[0,1]]]],[1,[19,66,[[23,"TouchCount"]]]],[1,[2,""]],[1,[2,""]],[1,[2,""]]]],[13,67,null,283527205644589,false],[3,93,null,271400266935470,false,[[1,[10,[10,[10,[10,[2,"window.postMessage({ type: 'SEQUENCE_SYNC', uuid: 'dev-test-123', data: { data1: '"],[19,92,[[2,"CAT"],[23,"TouchCount"],[0,1]]]],[2,"', data2: '"]],[23,"TouchCount"]],[2,"' } }, '*');"]]]]],[-1,52,null,177399954106994,false,[[11,"TouchCount"],[7,[0,1]]]]]],[0,null,false,null,921403795771684,[[1,73,null,1,false,false,false,845040351644041,false,[[4,19]]],[19,74,null,0,false,false,false,901696179923689,false]],[[13,65,null,332337880399251,false,[[1,[19,92,[[2,"CAT"],[23,"TouchCount2"],[0,1]]]],[1,[2,"-1"]],[1,[2,""]],[1,[2,""]],[1,[2,""]]]],[13,67,null,808940209469153,false],[3,93,null,121293609144231,false,[[1,[10,[10,[2,"window.postMessage({ type: 'SEQUENCE_SYNC', uuid: 'dev-test-123', data: { data1: '"],[19,92,[[2,"CAT"],[23,"TouchCount2"],[0,1]]]],[2,"', data2: '-1' } }, '*');"]]]]],[-1,52,null,371390004137486,false,[[11,"TouchCount2"],[7,[0,1]]]]]]]]],[["click.m4a",2444],["click.ogg",5621],["alert-234711.ogg",23907],["click-234708.ogg",6353],["error-010-206498.ogg",11425],["pick-92276.ogg",16164],["pop-reverb-423718.ogg",23653],["card_drag.ogg",7213],["card_flips.ogg",8015],["card_swipe.ogg",9018],["button-124476.ogg",13157]],"media/",false,1200,1200,3,true,true,true,"1.0.0.0",true,false,3,0,40,false,true,1,true,"SQ_Word_TextOnly",0,[]]} \ No newline at end of file diff --git a/SQ_Word_TextOnly-Teacher/icon-114.png b/SQ_Word_TextOnly-Teacher/icon-114.png new file mode 100644 index 0000000000000000000000000000000000000000..bf56364da41841cdff16e406c4d5d818e03a102c GIT binary patch literal 25223 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%0A5%m_PO*V84?fv&&Duq6nw{Lpti^Twxo|kNT1Q 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 S2?iX6O(SjR}|-qqqr?Y=#6DQ9+SxzU+mS zft_f&Wt)Oy#jS6YZqB)OYkPOSUVG=$MT{|C^4uR!e&6r&d49j=i_tU&|NbZyom2i$ z(Tl~K*41Wbn>2mjI)~kp(=X{*O+FV-SQJHZqq4|9f{elawZCP*vH8fpG2h)0Wx_M6 zctURFy|&kuR_0I*Uv|GU+kWHm!I8ThrfTK({nHQ=X~Z0#LoIh+MAkMHY`P# z(1}S%Awfn=sVL|h_yK0-!Vrz|@YUr{m*MeNNy!4c%?5f_tq2Jbya5gbE^8I} zbbYm4WYvMmtcS=_9O9e^TOTfjva&U*$;r_2s7p%oanw!trl(t(o99st4{Dtj?%eTV zL~fqt((7*>+s+GVG|mL@$eq@**v698TcXiOVng9NTivee0|SFDL)D{?VWpc2uu1O> zc&Geu>HLKr^bE0M9iM*uW^wU)SVRO#Q3NR^1BphbrA0`m0A$d@??G4k#&8JRv7;Vu zefPNQ$7?_JAh>n{{U*XOeosx^Q+g?#h74*FQAm;qi;F1`5E&hdj{DM?HsGZ_ey09MZc&vRg2RfwmB z2=w*epyxs}XVAza_;MbobZ2yKw)D4&+cwKeYL=pDz%xP}0|9?fIn(i3RFW0cA09@= z16+Ss?=u3=doo(`eyE%dhp(}z(KL3`A2#NULP>D}Xc!$hdIy8fD~{TGKHujw!;)i8 zXA`2n`oC%XJK7d>{PT>#c<}*i{#7-jdj%!Wfc8~r;s34wOMn3Y*EgJK6ii?p00000 LNkvXXu0mjfnWFNZ literal 0 HcmV?d00001 diff --git a/SQ_Word_TextOnly-Teacher/icon-256.png b/SQ_Word_TextOnly-Teacher/icon-256.png new file mode 100644 index 0000000000000000000000000000000000000000..0916f5734ed4474cfe03f4a496836ac3cb11eb8f GIT binary patch literal 98347 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

d*qGs2OXG_z~}TNeSxWgAp# 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 N002ovPDHLkV1g8}tnB~* literal 0 HcmV?d00001 diff --git a/SQ_Word_TextOnly-Teacher/images/answers-sheet0.png b/SQ_Word_TextOnly-Teacher/images/answers-sheet0.png new file mode 100644 index 0000000000000000000000000000000000000000..c21085bfb5ffbffe621a86db37a6fbd8d4f64766 GIT binary patch literal 12383 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 R=+XcH002ovPDHLkV1iy@Xbk`W literal 0 HcmV?d00001 diff --git a/SQ_Word_TextOnly-Teacher/images/black-sheet0.png b/SQ_Word_TextOnly-Teacher/images/black-sheet0.png new file mode 100644 index 0000000000000000000000000000000000000000..707b0c379503e60e70f112725feb552ffd626011 GIT binary patch literal 2935 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 literal 0 HcmV?d00001 diff --git a/SQ_Word_TextOnly-Teacher/images/button-sheet0.png b/SQ_Word_TextOnly-Teacher/images/button-sheet0.png new file mode 100644 index 0000000000000000000000000000000000000000..fa32ccacf73d10f1081f64934a1ff0a68f92200f GIT binary patch literal 6124 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 literal 0 HcmV?d00001 diff --git a/SQ_Word_TextOnly-Teacher/images/correct-sheet0.png b/SQ_Word_TextOnly-Teacher/images/correct-sheet0.png new file mode 100644 index 0000000000000000000000000000000000000000..acfca94090490a773f23408196b515acde47fdd6 GIT binary patch literal 31182 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 EfQYEzrq)TTDIsZDKa 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 literal 0 HcmV?d00001 diff --git a/SQ_Word_TextOnly-Teacher/images/slot-sheet0.png b/SQ_Word_TextOnly-Teacher/images/slot-sheet0.png new file mode 100644 index 0000000000000000000000000000000000000000..2311d13579c903c0dc94395d58e3183f04499219 GIT binary patch literal 11183 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 N002ovPDHLkV1h@MZ`%L> literal 0 HcmV?d00001 diff --git a/SQ_Word_TextOnly-Teacher/images/sprite-sheet0.png b/SQ_Word_TextOnly-Teacher/images/sprite-sheet0.png new file mode 100644 index 0000000000000000000000000000000000000000..4f5f653ed9c399fa529300a29f51077417fbbad6 GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^zd)FS8A$FoTE!2fm;-!5Tp5`;zj*HH0&*Ekg8YJ4 zl|7v_0mupVba4!+hBdK<29)1LNOE41Yi-c)I$ztaD0e F0su9r9?Sp$ literal 0 HcmV?d00001 diff --git a/SQ_Word_TextOnly-Teacher/images/submit-sheet0.png b/SQ_Word_TextOnly-Teacher/images/submit-sheet0.png new file mode 100644 index 0000000000000000000000000000000000000000..be85371842f0fb9d3dadbcf4c5e438cbdc400fae GIT binary patch literal 146996 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

)=tq> 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

$&8X@6mt`vBmD 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 Hu0mjf2|=-N literal 0 HcmV?d00001 diff --git a/SQ_Word_TextOnly-Teacher/images/wrong-sheet0.png b/SQ_Word_TextOnly-Teacher/images/wrong-sheet0.png new file mode 100644 index 0000000000000000000000000000000000000000..b6a9daa97c740c4b824dce68ece7c2897d13c6be GIT binary patch literal 27271 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 + + + + + SQ_Word_TextOnly + + + + + + + + + + + + + + + + + + + + + + +

+
+ + +
+ + + +
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SQ_Word_TextOnly-Teacher/jquery-3.4.1.min.js b/SQ_Word_TextOnly-Teacher/jquery-3.4.1.min.js new file mode 100644 index 0000000..a1c07fd --- /dev/null +++ b/SQ_Word_TextOnly-Teacher/jquery-3.4.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0StO&>uS)ve<0AYj> z5AR{$W90N^4L=L-RlQUJ&DC0@ZjPh;=*jPLSYvv5M~MFBAl0-BNIsH15C~g000{K(ZT*WKal6< z?_01!^k@7iDG<<3=fuAC~28EsPoqkpK{9G%|Vj z005J}`Hw&=0RYXHq~ibpyyzHQsFW8>#s~laM4*8xut5h5!4#~(4xGUqyucR%VFpA% z3?#rj5JCpzfE)^;7?wd9RKPme1hudO8lVxH;SjXJF*pt9;1XPc>u?taU>Kgl7`%oF z1VP9M6Ja4bh!J9r*dopd7nzO(B4J20l7OTj>4+3jBE`sZqynizYLQ(?Bl0bB6giDt zK>Co|$RIL`{EECsF_eL_Q3KQhbwIhO9~z3rpmWi5G!I>XmZEFX8nhlgfVQHi(M#xc zbO3#dj$?q)F%D*o*1Pf{>6$SWH+$s3q(pv=X`qR|$iJF~TPzlc-O$C3+J1#CT#lv5;6stS0Uu9wDA3 zUMCI{Uz12A4#|?_P6{CkNG+sOq(0IRX`DyT~9-sA|ffUF>wk++Z! zkWZ5P$;0Hg6gtI-;!FvmBvPc55=u2?Kjj3apE5$3psG>Lsh-pbs)#zDT1jo7c2F-< zhp7`Zb($s3n-)XMq%EV>(3)vyY4>O^>2$gY-Gd%Qm(Z8eYv>2*=jns=cMJ`N4THx> zVkjAF8G9M07`GWOnM|ey)0dgZR4~^v8<}UA514ONSSt1^d=-((5|uiYR+WC0=c-gy zb5%dpd8!Lkt5pxHURHgkMpd&=fR^vEcAI*_=wwAG z2sV%zY%w@v@XU~7=xdm1xY6*0;iwVIXu6TaXrs|dqbIl~?uTdNHFy_3W~^@g_pF#!K2~{F^;XxcN!DEJEbDF7S8PxlSDOr*I-AS3sI8l= z#CDr)-xT5$k15hA^;2%zG3@;83hbKf2JJcaVfH2VZT8O{%p4LO);n}Nd~$Sk%yw*W zyz8XlG{dRHsl(}4XB%gsbDi@w7p6;)%MzD%mlsoQr;4X;pL)xc% z+^yMd)ZNTI#eJ*$O)i@o$z8)e??LqN_gLa_%;TM>o2SC_kmoO6c3xRt`@J4dvz#WL z)-Y|z+r(Soy~}%GIzByR`p)SCKE^%*pL(B%zNWq+-#xw~e%5}Oeh2)X`#bu}{g3#+ z;d$~F@lFL`0l@*~0lk45fwKc^10MvL1f>Tx1&sx}1}_Xg6+#RN4Ot&@lW)Km@*DYM zGu&q^n$Z=?2%QyL8~QNJCQKgI5srq>2;UHXZ>IT7>CCnWh~P(Th`1kV8JQRPeH1Aw zGO8}>QM6NZadh`A)~w`N`)9q5@sFvDxjWlxwsLl7tZHmhY-8-3xPZ8-xPf?w_(k!T z5_A(J3GIpG#Ms0=iQ{tu=WLoYoaCBRmULsT<=mpV7v|~C%bs^USv6UZd^m-e5|^?+ z<%1wXP%juy<)>~<9TW0|n}ttBzM_qyQL(qUN<5P0omQ3hINdvaL;7fjPeygdGYL;p zD|wL_lDQ-EO;$wK-mK5raoH_7l$?~Dqf!lNmb5F^Ft;eTPi8AClMUo~=55LwlZVRp z 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
=!yDab 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 z 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

}<-ac$ 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 literal 0 HcmV?d00001 diff --git a/SQ_Word_TextOnly-Teacher/media/button-124476.ogg b/SQ_Word_TextOnly-Teacher/media/button-124476.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2a75f5f871ac5eb11684b854f764a249843c16f6 GIT binary patch literal 13157 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 literal 0 HcmV?d00001 diff --git a/SQ_Word_TextOnly-Teacher/media/card_drag.ogg b/SQ_Word_TextOnly-Teacher/media/card_drag.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1290cc61ef17b4f04f0c71cef72da2d41a478097 GIT binary patch literal 7213 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 Kh6belkMduXNH`<_ literal 0 HcmV?d00001 diff --git a/SQ_Word_TextOnly-Teacher/media/card_flips.ogg b/SQ_Word_TextOnly-Teacher/media/card_flips.ogg new file mode 100644 index 0000000000000000000000000000000000000000..552d28342491c84c65898e2ebf536cd1a76d51ed GIT binary patch literal 8015 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 literal 0 HcmV?d00001 diff --git a/SQ_Word_TextOnly-Teacher/media/click-234708.ogg b/SQ_Word_TextOnly-Teacher/media/click-234708.ogg new file mode 100644 index 0000000000000000000000000000000000000000..59e494c74d6a8647dab5ee2d227dd152a7407127 GIT binary patch literal 6353 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 literal 0 HcmV?d00001 diff --git a/SQ_Word_TextOnly-Teacher/media/click.m4a b/SQ_Word_TextOnly-Teacher/media/click.m4a new file mode 100644 index 0000000000000000000000000000000000000000..8874ebe34e77a168c43051bc8a4f1b3e05cc7a5b GIT binary patch literal 2444 zcmaJ@3pkVeAAdK|EUkr+TrwKwQfn@yPGWPLOTtF1mSvmFhFwVgRg)6AoS93a(8?u| znwW4(Dn*el(mi#^(TQ|UNI0GMRp;ONpXWUP&$I8opWpZL`@FyJ`##V60sydtBips_xDw{7SS#{NpFzIA1ryT!tR(jY|c%)vMvq1}0B%OvcS%7vn%)(icAo#p`@;^F-?$>_5y<5{E#_6aL ztjo^4me3G;6W zaK&9rMndgoUlFn+#&60vV|(Vju;wwF!F}3h0wgMYLnSJj64dH4Gu%6c38}|henEPA zOt`0zZPUCr+}^{lsBA3oW#94o-AKT5dL5-K?meS{BKLe;zwAp_xuJ-HhE>eRa;Y?# z9)+C^VCn60W%<^GW1;UP5*wL?>Sf#Im@vAd z#?6OUlV6nD)#EpahA6nbyX5bDw)14t$O>;m@x^g>r=rp7efAMraa*aH6o0D>4JS9> z3wd$Jrw#%eXCu_r)4J#5$Zt$_cNb`G_6$!-xSa8vtNgj-$Lfcs9Hp)xw`uGccm9cS z=)}WVBz1j?qRRz|_S^C;|ZeAJb0DGOX*mm`~*FgY+ zGBH%AW8FqtD?fGj+%}dQuk6_SO#Ps#kF_}`g zWOa=}xna^$cRS*0QRB^ePqPBLsp-`KwKF8UYb#9&dCO~5V~cDR$pv1K9gHNM{T#~Z z=JnEhrR3byB=YRgiE$J-ls$({Ny&;HkD?Tt?d7z{&@`B;7t)N_ua47343`FA z?ve48QV-2nmFG?hl9J%c&M4mvgA&l@L=G)Le2&@K-vXg3` z@uSu**Kwzqwh5zC+=2Ax#m|RVsb?e$2CiElaL=4XQN;>Z%New}u1&UWVQR_~vuIb` zTN%rpj+KJ`7%J+L^RSN>W)2s2xr@+_iM3dp>q4)lg=9 z&qbmd5Kv~%LICqb)_I5eif%nIoNv;Qi&O5gI`tkcOt12^K3)*!+vW>5*XhBw?K}{W zoj*YoM))2nD@mVbM;CGJCKhcotgDDu)=v)0d7mc)mo_@kvxD!epWXT@$ov&MzwJ)E zqFMdp#7l=K{@W5Mj9|6gqjb!3(pZIYH^bu4F-yxk#GhoZJY8$#p_s~+QO7r>O4{sT zR(Lv-AM7LXV+4{Y=pfw4q7KfwXa$*Dtq8qB=Nz?Zv@2Wl5~aI7=-GKfS$NzdRJysW zf+$o)2GAew%I~zQSi0uIQ+%~+zdB9#&3oR)J+kW#iJ$hxh{RG|-HGN_SSmINvBVuV zc0qqFBd7&yX-i2BwBI`$ZG>GKI9qOTcaubl=RD-rdzW5d7j}}##$zz&GoByJyv;UE zMO01Qz&y*}`r&<8_O#n?HY?iYfya^T00paq8qR4t|ST5_`RK|1*y{pm(q zA_BG`+!iw#|Iq%H>w!wty0Y{Y-G}A1_VXIgJH0J0XN?|dRgcKgMslisQku=H!pSaJ z^3j?cWX)+E%QTz1*2(Ea*z!Vm$E>iUS5lyCwkt+63zU4RaFz(E0zmFae(x$pp7B=Cl6&T(oO*0yaBXJmFtbqL{eozc}Or z!8Oa18O`Fcp&FP0KQfvF610f_byKJa#B$cxxB*MZhVl@g%hiYz@{GUnevx=P59BP7 zSTr~2Z*eO4$pKv`gzra$1867!-2xBAoaSqA!fpx1WB087B0opYuNM&O!g zH5fF&B_gqSt{&vjo@!tR=l}yyI~*b)p!m1koVNyZyXP`r|G*xYHE1Z%FrZ;UGX%{9 zOlyn8;W6K8p*{RSbBkk%nV`4lv*$dN#{PY{;0^ijprIrLL?llHeLNvHgO9|YPOE>I literal 0 HcmV?d00001 diff --git a/SQ_Word_TextOnly-Teacher/media/click.ogg b/SQ_Word_TextOnly-Teacher/media/click.ogg new file mode 100644 index 0000000000000000000000000000000000000000..715aabf401eacadea9ae476f4078cc134a837ff5 GIT binary patch literal 5621 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 literal 0 HcmV?d00001 diff --git a/SQ_Word_TextOnly-Teacher/media/error-010-206498.ogg b/SQ_Word_TextOnly-Teacher/media/error-010-206498.ogg new file mode 100644 index 0000000000000000000000000000000000000000..9ebb79f79796b01c5a83d5eeaae30775b37ebb14 GIT binary patch literal 11425 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 Bly(3B literal 0 HcmV?d00001 diff --git a/SQ_Word_TextOnly-Teacher/offline.js b/SQ_Word_TextOnly-Teacher/offline.js new file mode 100644 index 0000000..6e1f580 --- /dev/null +++ b/SQ_Word_TextOnly-Teacher/offline.js @@ -0,0 +1,37 @@ +๏ปฟ{ + "version": 1771847544, + "fileList": [ + "data.js", + "c2runtime.js", + "jquery-3.4.1.min.js", + "offlineClient.js", + "images/answers-sheet0.png", + "images/slot-sheet0.png", + "images/submit-sheet0.png", + "images/sprite-sheet0.png", + "images/wrong-sheet0.png", + "images/correct-sheet0.png", + "images/black-sheet0.png", + "images/khungtxt-sheet0.png", + "images/newwords-sheet0.png", + "images/button-sheet0.png", + "media/click.m4a", + "media/click.ogg", + "media/alert-234711.ogg", + "media/click-234708.ogg", + "media/error-010-206498.ogg", + "media/pick-92276.ogg", + "media/pop-reverb-423718.ogg", + "media/card_drag.ogg", + "media/card_flips.ogg", + "media/card_swipe.ogg", + "media/button-124476.ogg", + "icon-16.png", + "icon-32.png", + "icon-114.png", + "icon-128.png", + "icon-256.png", + "loading-logo.png", + "sena_sdk.js" + ] +} \ No newline at end of file diff --git a/SQ_Word_TextOnly-Teacher/offlineClient.js b/SQ_Word_TextOnly-Teacher/offlineClient.js new file mode 100644 index 0000000..4e546a7 --- /dev/null +++ b/SQ_Word_TextOnly-Teacher/offlineClient.js @@ -0,0 +1,53 @@ +"use strict"; + +(function() { + + class OfflineClient + { + constructor() + { + // Create a BroadcastChannel, if supported. + this._broadcastChannel = (typeof BroadcastChannel === "undefined" ? null : new BroadcastChannel("offline")); + + // Queue of messages received before a message callback is set. + this._queuedMessages = []; + + // The message callback. + this._onMessageCallback = null; + + // If BroadcastChannel is supported, listen for messages. + if (this._broadcastChannel) + this._broadcastChannel.onmessage = (e => this._OnBroadcastChannelMessage(e)); + } + + _OnBroadcastChannelMessage(e) + { + // Have a message callback set: just forward the call. + if (this._onMessageCallback) + { + this._onMessageCallback(e); + return; + } + + // Otherwise the app hasn't loaded far enough to set a message callback. + // Buffer the incoming messages to replay when the app sets a callback. + this._queuedMessages.push(e); + } + + SetMessageCallback(f) + { + this._onMessageCallback = f; + + // Replay any queued messages through the handler, then clear the queue. + for (let e of this._queuedMessages) + this._onMessageCallback(e); + + this._queuedMessages.length = 0; + } + }; + + // Create the offline client ASAP so we receive and start queueing any messages the SW broadcasts. + window.OfflineClientInfo = new OfflineClient(); + +}()); + diff --git a/SQ_Word_TextOnly-Teacher/sena_sdk.js b/SQ_Word_TextOnly-Teacher/sena_sdk.js new file mode 100644 index 0000000..937dee6 --- /dev/null +++ b/SQ_Word_TextOnly-Teacher/sena_sdk.js @@ -0,0 +1,1907 @@ +/** + * Sena SDK Constructor + * @param {Object} config - Configuration object for the SDK + * @param {Object} config.data - Quiz data containing question, options, and answer + */ +function SenaSDK(gid = "G2510S1T30") { + // Initialize data + this.data = null; + this.correctAnswer = null; + this.gameCode = gid; + // Initialize properties + this.timeLimit = 0; + this.shuffle = true; + // tracking time in game + this.startTime = 0; + this.endTime = 0; + // Initialize Web Speech API + this.speechSynthesis = window.speechSynthesis; + this.currentUtterance = null; + this.voiceSettings = { + lang: "en-US", + rate: 1.0, // Speed (0.1 to 10) + pitch: 1.0, // Pitch (0 to 2) + volume: 1.0, // Volume (0 to 1) + }; + + // Multi-question support (from postMessage) + this.list = []; + this.currentQuestion = null; + this.level = 0; + this.totalQuestions = 0; + this.userResults = []; + this.gameID = null; + this.userId = null; + this.postMessageDataLoaded = false; + this.isMatchingGame = false; // true nแบฟu lร  game matching (G3xxx) + + // PostMessage listener tracking + this._postMessageListenerRegistered = false; + this._waitingForPostMessage = false; + this._postMessageTimeout = null; + this._loadCallback = null; + + // Game interaction tracking - ฤ‘แปƒ biแบฟt cรณ thแปƒ reload data khรดng + this._gameStartedByUser = false; // true khi user ฤ‘รฃ tฦฐฦกng tรกc (click, drag, etc.) + this._dataLoadedFromServer = false; // true nแบฟu data tแปซ server (khรดng phแบฃi postMessage) + + // ========== MODE SUPPORT ========== + // 'live' - Chแป vรด hแบกn cho postMessage tแปซ server (production) + // 'preview' - Timeout 5s rแป“i fallback sample (testing vแป›i data thแบญt) + // 'dev' - Load sample ngay lแบญp tแปฉc (development) + this.mode = "preview"; // Default mode +} + +/** + * Shuffle array using Fisher-Yates algorithm + * @param {Array} array - Array to shuffle + */ +SenaSDK.prototype.shuffleArray = function (array) { + for (let i = array.length - 1; i > 0; i--) { + const j = Math.floor(Math.random() * (i + 1)); + [array[i], array[j]] = [array[j], array[i]]; + } +}; + +/** + * Load data tแปซ postMessage (SERVER_PUSH_DATA) + * Game type ฤ‘ฦฐแปฃc xรกc ฤ‘แป‹nh tแปซ gameCode: + * - G1xxx = Quiz (trแบฏc nghiแป‡m) + * - G2xxx = Sort (sแบฏp xแบฟp) + * - G3xxx = Match (nแป‘i cแบทp) -> forward to tdv_sdk + * - G4xxx = Fill (ฤ‘iแปn tแปซ) + * - G5xxx = Custom + * + * Data format: + * { + * gameCode: "G1400S1T30", // Bแบฏt buแป™c - xรกc ฤ‘แป‹nh loแบกi game + * data: { request, question, options: [] }, + * answer: "..." + * } + */ +SenaSDK.prototype.loadFromPostMessage = function (inputJson, callback) { + let self = this; + + if (!inputJson) { + console.error("๐ŸŽฎ Sena SDK: No data in postMessage"); + if (callback) callback(false); + return false; + } + + console.log("๐Ÿ“ฆ Sena SDK: Loading from PostMessage:", inputJson); + + // ========== DETECT GAME TYPE Tแปช GAMECODE ========== + let gameCode = inputJson.gameCode || self.gameCode; + let gameCategory = gameCode.charAt(1); // G[category]xxx - 1=Quiz, 2=Sort, 3=Match, 4=Fill, 5=Custom + + console.log("๐ŸŽฎ Sena SDK: GameCode:", gameCode, "| Category:", gameCategory); + + // ========== MATCHING GAME (G3xxx) ========== + // Chuyแปƒn tiแบฟp cho tdv_sdk xแปญ lรฝ + if (gameCategory === "3") { + console.log( + "๐ŸŽฏ Sena SDK: Detected MATCHING GAME (G3xxx), forwarding to tdv_sdk...", + ); + + // Lฦฐu thรดng tin cฦก bแบฃn + self.gameCode = gameCode; + self.gameID = gameCode; + self.postMessageDataLoaded = true; + self.isMatchingGame = true; + self._dataLoadedFromServer = false; // Data tแปซ postMessage, khรดng phแบฃi server + + // Forward data cho tdv_sdk nแบฟu cรณ + if (window.tdv_sdk) { + window.tdv_sdk.loadFromPostMessage(inputJson, callback); + console.log("โœ… Sena SDK: Forwarded to tdv_sdk"); + } else { + console.warn("โš ๏ธ Sena SDK: tdv_sdk not found, storing data locally"); + self.data = inputJson.data; + self.correctAnswer = inputJson.answer; + if (callback) callback(true); + } + return true; + } + + // ========== QUIZ / SORT / FILL / CUSTOM (G1, G2, G4, G5) ========== + // Single question format: cรณ gameCode vร  data (khรดng phแบฃi array) + let isSingleQuestion = + inputJson.gameCode && inputJson.data && !Array.isArray(inputJson.data); + + if (isSingleQuestion) { + // ========== SINGLE QUESTION (SenaSDK format) ========== + console.log("๐ŸŽฏ Sena SDK: Detected SINGLE QUESTION format"); + + self.gameCode = inputJson.gameCode || self.gameCode; + self.gameID = inputJson.gameCode; + + // Parse game code ฤ‘แปƒ lแบฅy settings + self._parseGameCode(); + + // Set data trแปฑc tiแบฟp + self.data = { + question: inputJson.data.question || "", + request: inputJson.data.request || "", + options: inputJson.data.options || [], + image: inputJson.data.image || "", + audio: inputJson.data.audio || "", + hint: inputJson.data.hint || null, + }; + + // --- [UPDATE G5] KhแปŸi tแบกo Master List cho G5 --- + if (self.gameType === 5 && self.data && self.data.options) { + // Lฦฐu trแปฏ danh sรกch gแป‘c + self.masterList = [...self.data.options]; + // Tรญnh tแป•ng sแป‘ level + self.totalLevels = Math.ceil(self.masterList.length / self.itemCount); + self.currentLevel = 0; + + // Load Level 1 ngay lแบญp tแปฉc ฤ‘แปƒ self.data.options chแป‰ chแปฉa 6 card ฤ‘แบงu + self.loadLevelG5(1); + } + + self.correctAnswer = inputJson.answer; + + // Cลฉng set vร o list ฤ‘แปƒ hแป— trแปฃ multi-question API + self.list = [ + { + id: "Q1", + question: inputJson.data.question, + request: inputJson.data.request, + options: inputJson.data.options, + answer: inputJson.answer, + image: inputJson.data.image, + audio: inputJson.data.audio, + }, + ]; + self.totalQuestions = 1; + self.level = 0; + self.currentQuestion = self.list[0]; + self.userResults = []; + + // [UPDATE G4] Process G4 Data + if (self.gameType === 4) self._processG4Data(); + + console.log( + "โœ… Sena SDK: Single question loaded -", + inputJson.description || inputJson.data.question, + ); + } else { + // ========== MULTI-QUESTION (Exam mode) ========== + console.log("๐Ÿ“‹ Sena SDK: Detected MULTI-QUESTION format"); + + // Lฦฐu thรดng tin game + self.gameID = inputJson.game_id || "quiz_game"; + self.userId = inputJson.user_id || "guest"; + + // Lฦฐu danh sรกch cรขu hแปi + self.list = inputJson.data || inputJson.questions || []; + self.totalQuestions = self.list.length; + + // Xแปญ lรฝ thแปi gian + if (inputJson.total_time) { + self.timeLimit = parseInt(inputJson.total_time, 10); + } + + if (inputJson.end_time_iso) { + let endTimeDate = new Date(inputJson.end_time_iso); + let now = new Date(); + self.timeLimit = Math.max(0, Math.floor((endTimeDate - now) / 1000)); + } + + // Xแปญ lรฝ resume (cรขu hแปi ฤ‘รฃ hoร n thร nh) + let completedData = inputJson.completed_question_ids || []; + self.userResults = []; + let resumeLevel = 0; + + for (let i = 0; i < self.list.length; i++) { + let done = completedData.find( + (item) => (item.id || item) === self.list[i].id, + ); + if (done) { + self.userResults.push({ + id: self.list[i].id, + result: done.result !== undefined ? done.result : 0, + }); + resumeLevel = i + 1; + } else { + resumeLevel = i; + break; + } + } + + self.level = Math.min(resumeLevel, self.totalQuestions - 1); + + // Load cรขu hแปi ฤ‘แบงu tiรชn vร  convert sang ฤ‘แป‹nh dแบกng SenaSDK + self._loadCurrentQuestionToData(); + + console.log("โœ… Sena SDK: Loaded", self.totalQuestions, "questions"); + } + + self.postMessageDataLoaded = true; + + if (callback) callback(true); + return true; +}; + +/** + * [UPDATED] Parse game code ฤ‘แปƒ lแบฅy settings + * Cho phรฉp G1-G9 (thay vรฌ G1-G5) + */ +SenaSDK.prototype._parseGameCode = function () { + let self = this; + const gameCode = self.gameCode || "G4410S1T30"; // G4 mแบซu + + // Regex hแป— trแปฃ G1-G9 + const regex = /^G([1-9])(\d{1,2})([0-2])([0-2])(?:S([0-1]))?(?:T(\d+))?$/; + let match = gameCode.match(regex); + + if (match) { + self.gameType = parseInt(match[1], 10); + self.itemCount = parseInt(match[2], 10); + self.questionType = parseInt(match[3], 10); + self.optionType = parseInt(match[4], 10); + const shuffleFlag = match[5] !== undefined ? match[5] : "1"; + const timeStr = match[6] !== undefined ? match[6] : "0"; + self.shuffle = shuffleFlag === "1"; + // --- [UPDATE G5] Logic Time Per Card --- + if (self.gameType === 5) { + self.timePerCard = parseInt(timeStr, 10); // T5 = 5s mแป—i card + self.timeLimit = 0; // G5 khรดng giแป›i hแบกn tแป•ng thแปi gian + } else { + self.timeLimit = parseInt(timeStr, 10); + self.timePerCard = 0; + } + } +}; + +/** + * Load cรขu hแปi hiแป‡n tแบกi vร o this.data + */ +SenaSDK.prototype._loadCurrentQuestionToData = function () { + let self = this; + + if (self.list.length > 0 && self.level < self.list.length) { + self.currentQuestion = self.list[self.level]; + + // Convert sang ฤ‘แป‹nh dแบกng SenaSDK chuแบฉn + self.data = { + question: self.currentQuestion.question || "", + request: self.currentQuestion.request || "", + options: self.currentQuestion.options || [], + image: self.currentQuestion.image || "", + audio: self.currentQuestion.audio || "", + }; + self.correctAnswer = self.currentQuestion.answer; + } +}; + +/** + * Chuyแปƒn sang cรขu hแปi tiแบฟp theo (multi-question mode) + */ +SenaSDK.prototype.nextQuestion = function () { + let self = this; + + if (self.level < self.totalQuestions - 1) { + self.level++; + self._loadCurrentQuestionToData(); + console.log( + "๐ŸŽฎ Sena SDK: Next Question:", + self.level + 1, + "/", + self.totalQuestions, + ); + return true; + } + + console.log("๐ŸŽฎ Sena SDK: No more questions"); + return false; +}; + +/** + * Lแบฅy sแป‘ cรขu hแปi hiแป‡n tแบกi (1-indexed) + */ +SenaSDK.prototype.getCurrentNumber = function () { + return this.level + 1; +}; + +/** + * Lแบฅy tแป•ng sแป‘ cรขu hแปi + */ +SenaSDK.prototype.getTotalQuestions = function () { + return this.totalQuestions || 1; +}; + +// Settings cho postMessage waiting +SenaSDK.prototype.POSTMESSAGE_TIMEOUT_MS = 1000; // 5 giรขy (chแป‰ dรนng cho preview mode) + +SenaSDK.prototype.load = function (callback, template = "G2510S1T30") { + let self = this; + + // *** AUTO-REGISTER postMessage listener (chแป‰ 1 lแบงn) *** + if (!self._postMessageListenerRegistered) { + self.registerPostMessageListener(); + self._postMessageListenerRegistered = true; + } + + // Nแบฟu ฤ‘รฃ cรณ data tแปซ postMessage, khรดng cแบงn load lแบกi + if (self.postMessageDataLoaded && self.list.length > 0) { + console.log("๐ŸŽฎ Sena SDK: Data already loaded from postMessage"); + if (callback) callback(true); + return; + } + + // Nแบฟu ฤ‘รฃ cรณ data (tแปซ bแบฅt kแปณ nguแป“n nร o), khรดng cแบงn load lแบกi + if (self.data && self.data.options) { + console.log("๐ŸŽฎ Sena SDK: Data already available"); + if (callback) callback(true); + return; + } + + // ========== GET URL PARAMETERS ========== + const urlParams = new URLSearchParams(window.location.search); + + // Get LID (game code) from URL + const LID = urlParams.get("LID"); + if (LID) { + self.gameCode = LID; + } + + // Get MODE from URL: ?mode=live | ?mode=preview | ?mode=dev + const urlMode = urlParams.get("mode"); + if (urlMode && ["live", "preview", "dev"].includes(urlMode.toLowerCase())) { + self.mode = urlMode.toLowerCase(); + } + + console.log( + "๐ŸŽฎ Sena SDK: Mode =", + self.mode.toUpperCase(), + "| GameCode =", + self.gameCode, + ); + + // Lฦฐu callback ฤ‘แปƒ gแปi sau + self._loadCallback = callback; + + // ========== MODE-BASED LOADING ========== + switch (self.mode) { + case "live": + // LIVE MODE: Chแป vรด hแบกn cho postMessage tแปซ server + self._waitingForPostMessage = true; + console.log( + "โณ Sena SDK: [LIVE MODE] Waiting for server data via postMessage (no timeout)...", + ); + // Khรดng set timeout - chแป vรด hแบกn + // Gแปญi GAME_READY ฤ‘แปƒ server biแบฟt game sแบตn sร ng nhแบญn data + self._sendGameReady(); + break; + + case "dev": + // DEV MODE: Load sample data ngay lแบญp tแปฉc + console.log("๐Ÿ”ง Sena SDK: [DEV MODE] Loading sample data immediately..."); + self._waitingForPostMessage = false; + self._loadFromServer(callback, template); + break; + + case "preview": + default: + // PREVIEW MODE: Timeout 5s rแป“i fallback sample + self._waitingForPostMessage = true; + console.log( + "โณ Sena SDK: [PREVIEW MODE] Waiting for postMessage (" + + self.POSTMESSAGE_TIMEOUT_MS / 1000 + + "s timeout)...", + ); + + // Set timeout ฤ‘แปƒ fallback load tแปซ server + self._postMessageTimeout = setTimeout(function () { + if (self._waitingForPostMessage && !self.postMessageDataLoaded) { + console.warn( + "โš ๏ธ Sena SDK: No postMessage received, fallback to sample data...", + ); + self._loadFromServer(self._loadCallback, template); + } + }, self.POSTMESSAGE_TIMEOUT_MS); + break; + } +}; + +/** + * Gแปญi GAME_READY message cho parent window + * ฤแปƒ server biแบฟt game ฤ‘รฃ sแบตn sร ng nhแบญn data + */ +SenaSDK.prototype._sendGameReady = function () { + let self = this; + window.parent.postMessage( + { + type: "GAME_READY", + payload: { + game_id: self.gameID || self.gameCode, + game_code: self.gameCode, + mode: self.mode, + }, + }, + "*", + ); + console.log("๐Ÿ“ค Sena SDK: Sent GAME_READY to parent"); +}; + +/** + * Fallback: Load data tแปซ server khi khรดng cรณ postMessage + */ +SenaSDK.prototype._loadFromServer = function ( + callback, + template = "G2510S1T30", +) { + let self = this; + self._waitingForPostMessage = false; + + const validation = self.validateGameCode(self.gameCode); + if (!validation.valid) { + console.warn("๐ŸŽฎ Sena SDK: " + validation.error); + } + + console.log("๐Ÿ“ก Sena SDK: Fallback loading from server..."); + + fetch(`https://senaai.tech/sample/${self.gameCode}.json`) + .then((response) => response.json()) + .then((data) => { + self.data = data.data; + self.correctAnswer = data.answer || null; + const gameCode = self.gameCode || template; + + // FIX: Regex chแบฅp nhแบญn 2 chแปฏ sแป‘ cho Count + const strictRegex = + /^G([1-9])(\d{1,2})([0-2])([0-2])(?:S([0-1]))?(?:T(\d+))?$/; + let match = gameCode.match(strictRegex); + + if (match) { + self.gameType = parseInt(match[1], 10); + self.itemCount = parseInt(match[2], 10); + self.questionType = parseInt(match[3], 10); + self.optionType = parseInt(match[4], 10); + const shuffleFlag = match[5] !== undefined ? match[5] : "1"; + const timeStr = match[6] !== undefined ? match[6] : "0"; + self.shuffle = shuffleFlag === "1"; + self.timeLimit = parseInt(timeStr, 10); + + console.log("๐ŸŽฎ Sena SDK: โœ“ Valid game code parsed:", { + type: self.gameType, + count: self.itemCount, + time: self.timeLimit, + }); + } else { + console.error( + "๐ŸŽฎ Sena SDK: โœ— Cannot parse game code (Strict match failed):", + gameCode, + ); + // Fallback safe mode + self.shuffle = true; + // Nแบฟu load ฤ‘ฦฐแปฃc file json thรฌ ta cแปฉ tin tฦฐแปŸng lแบฅy time trong ฤ‘รณ nแบฟu cรณ, hoแบทc default 30s + self.timeLimit = 30; + } + // Mแปฅc ฤ‘รญch: Trรกo vแป‹ trรญ data ngay lแบญp tแปฉc sau khi load xong + if (self.shuffle && self.data && self.data.options) { + self.shuffleArray(self.data.options); + console.log("๐ŸŽฎ Sena SDK: Data shuffled immediately on load"); + } + + // --- [UPDATE G5] KhแปŸi tแบกo Master List cho G5 --- + if (self.gameType === 5 && self.data && self.data.options) { + // Lฦฐu trแปฏ danh sรกch gแป‘c + self.masterList = [...self.data.options]; + // Tรญnh tแป•ng sแป‘ level + self.totalLevels = Math.ceil(self.masterList.length / self.itemCount); + self.currentLevel = 0; + + // Load Level 1 ngay lแบญp tแปฉc ฤ‘แปƒ self.data.options chแป‰ chแปฉa 6 card ฤ‘แบงu + self.loadLevelG5(1); + } + + // [UPDATE G4] Process G4 Data + if (self.gameType === 4) self._processG4Data(); + + console.log("๐ŸŽฎ Sena SDK: Data loaded for", self.gameCode); + self._dataLoadedFromServer = true; + if (callback) callback(true); + }) + .catch((error) => { + console.error("๐ŸŽฎ Sena SDK: Error loading data:", error); + if (callback) callback(false); + }); +}; + +/** + * Validate game code format + * @param {string} code - Game code to validate + * @returns {Object} Validation result with valid flag and parsed values + */ +SenaSDK.prototype.validateGameCode = function (code) { + code = code || this.gameCode; + + // Format: G[type][count][qType][oType]S[shuffle]T[time] + // type: 1=Quiz, 2=Sort, 3=Match/Memory, 4=Fill, 5=Custom + // count: 2-9 + // qType/oType: 0=Text, 1=Image, 2=Audio + const regex = /^G([1-9])(\d{1,2})([0-2])([0-2])(?:S([0-1]))?(?:T(\d+))?$/; + const match = code.match(regex); + + if (!match) { + // Check what's wrong + let error = "Invalid game code format"; + const looseMatch = code.match(/^G([0-9])(\d{1,2})([0-9])([0-9])/); + + if (looseMatch) { + const issues = []; + // QUAN TRแปŒNG: Sแปญa '5' thร nh '9' แปŸ dรฒng dฦฐแป›i ฤ‘รขy + if (looseMatch[1] < "1" || looseMatch[1] > "9") + issues.push("type must be 1-9"); + if (looseMatch[2] < "2" || looseMatch[2] > "9") + issues.push("count must be 2-9"); + if (looseMatch[3] > "2") + issues.push("qType must be 0-2 (0=Text, 1=Image, 2=Audio)"); + if (looseMatch[4] > "2") + issues.push("oType must be 0-2 (0=Text, 1=Image, 2=Audio)"); + if (issues.length > 0) error = issues.join(", "); + } + + return { valid: false, error: error, code: code }; + } + + return { + valid: true, + code: code, + type: parseInt(match[1], 10), + count: parseInt(match[2], 10), + qType: parseInt(match[3], 10), + oType: parseInt(match[4], 10), + shuffle: match[5] !== "0", + time: match[6] ? parseInt(match[6], 10) : 0, + description: this.getGameCodeDescription(match), + }; +}; + +/** + * Get human-readable description of game code + */ +SenaSDK.prototype.getGameCodeDescription = function (match) { + if (!match) return ""; + + const types = { + 1: "Quiz", + 2: "Sort/Sequence", + 3: "Match/Memory", + 4: "Fill", + 5: "Custom", + }; + const contentTypes = ["Text", "Image", "Audio"]; + + const gameType = types[match[1]] || "Unknown"; + const qType = contentTypes[parseInt(match[3])] || "Unknown"; + const oType = contentTypes[parseInt(match[4])] || "Unknown"; + + return `${gameType}: ${match[2]} items, ${qType} โ†’ ${oType}`; +}; +/** + * Generate comprehensive developer guide based on game code + * @returns {string} Developer guide with implementation instructions + */ +SenaSDK.prototype.guide = function () { + let self = this; + const gameCode = self.gameCode || "G2510S1T30"; + const data = self.data || {}; + + /** + * Regex giแบฃi thรญch: + * ^G([1-5])([2-9])([0-2])([0-2]) : Bแบฏt buแป™c (Loแบกi, Sแป‘ lฦฐแปฃng, Q, O) + * (?:S([0-1]))? : Khรดng bแบฏt buแป™c, mแบทc ฤ‘แป‹nh S1 + * (?:T(\d+))? : Khรดng bแบฏt buแป™c, mแบทc ฤ‘แป‹nh T0 + */ + const regex = /^G([1-9])([2-9])([0-2])([0-2])(?:S([0-1]))?(?:T(\d+))?$/; + const match = gameCode.match(regex); + + if (!match) + return "Mรฃ game khรดng hแปฃp lแป‡! ฤแป‹nh dแบกng chuแบฉn: Gxxxx hoแบทc GxxxxSxTxx"; + + const category = match[1]; + const count = match[2]; + const qIdx = match[3]; + const oIdx = match[4]; + const shuffle = match[5] !== undefined ? match[5] : "1"; + const time = match[6] !== undefined ? match[6] : "0"; + + const types = { 0: "Text", 1: "Image", 2: "Audio" }; + let guide = ""; + + // Header + guide += `โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—\n`; + guide += `โ•‘ SENA SDK - DEVELOPER GUIDE: ${gameCode.padEnd(37)}โ•‘\n`; + guide += `โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•\n\n`; + + // Game Analysis + guide += `๐Ÿ“Š GAME ANALYSIS\n`; + guide += `โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\n`; + + let gameName = "", + instruction = "", + displayMode = ""; + + switch (category) { + case "1": + gameName = "Quiz (Trแบฏc nghiแป‡m)"; + instruction = `Ngฦฐแปi dรนng chแปn 1 ฤ‘รกp รกn ฤ‘รบng trong ${count} options`; + displayMode = `Question: ${types[qIdx]} โ†’ Options: ${types[oIdx]}`; + break; + case "2": + if (qIdx === "0" && oIdx === "0") { + gameName = "Sort Word (Sแบฏp xแบฟp tแปซ)"; + instruction = `Sแบฏp xแบฟp ${count} tแปซ/kรฝ tแปฑ thร nh chuแป—i hoร n chแป‰nh`; + } else { + gameName = "Sequences (Sแบฏp xแบฟp chuแป—i)"; + instruction = `Sแบฏp xแบฟp ${count} items theo ฤ‘รบng thแปฉ tแปฑ`; + } + displayMode = `Hint: ${types[qIdx]} โ†’ Items: ${types[oIdx]}`; + break; + case "3": + if (qIdx === oIdx) { + gameName = "Memory Card (Trรญ nhแป›)"; + instruction = `Lแบญt vร  ghรฉp ${count} cแบทp thแบป giแป‘ng nhau`; + } else { + gameName = "Matching (Nแป‘i cแบทp)"; + instruction = `Nแป‘i ${count} items tแปซ 2 nhรณm vแป›i nhau`; + } + displayMode = `Group A: ${types[qIdx]} โ†” Group B: ${types[oIdx]}`; + break; + } + + guide += `Game Type : ${gameName}\n`; + guide += `Objective : ${instruction}\n`; + guide += `Display Mode : ${displayMode}\n`; + guide += `Items Count : ${count}\n`; + guide += `Shuffle : ${shuffle === "1" ? "YES (call sdk.start() to shuffle)" : "NO (S0)"}\n`; + guide += `Time Limit : ${time === "0" ? "Unlimited" : time + " seconds"}\n`; + + if (data.hint && data.hint.type) { + guide += `Hint Type : ${data.hint.type}\n`; + guide += `Hint Count : ${Array.isArray(data.hint.value) ? data.hint.value.length : "1"}\n`; + } + + guide += `\n๐Ÿ”ง IMPLEMENTATION STEPS\n`; + guide += `โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\n\n`; + + // Step 1: Initialize + guide += `1๏ธโƒฃ INITIALIZE SDK\n`; + guide += ` var sdk = new SenaSDK('${gameCode}');\n`; + guide += ` sdk.load(function(success) {\n`; + guide += ` if (success) sdk.start();\n`; + guide += ` });\n\n`; + + // Step 2: Display based on game type + guide += `2๏ธโƒฃ DISPLAY UI\n`; + + if (category === "1") { + // Quiz + guide += ` // Display Question\n`; + if (qIdx === "0") { + guide += ` var questionText = sdk.getQuestionValue();\n`; + guide += ` displayText(questionText); // Show text\n`; + } else if (qIdx === "1") { + guide += ` var questionImg = sdk.getQuestionValue();\n`; + guide += ` displayImage(questionImg); // Show image URL\n`; + } else if (qIdx === "2") { + guide += ` sdk.playVoice('question'); // Auto play audio\n`; + } + + guide += `\n // Display Options\n`; + guide += ` var optionsCount = sdk.getOptionsCount(); // ${count} items\n`; + guide += ` for (var i = 0; i < optionsCount; i++) {\n`; + if (oIdx === "0") { + guide += ` var optionText = sdk.getOptionsValue(i).text;\n`; + guide += ` createButton(optionText, i); // Show text button\n`; + } else if (oIdx === "1") { + guide += ` var optionImg = sdk.getOptionsValue(i).image;\n`; + guide += ` createImageButton(optionImg, i); // Show image button\n`; + } else if (oIdx === "2") { + guide += ` createAudioButton(i); // Button to play audio\n`; + guide += ` // onClick: sdk.playVoice('option' + (i+1));\n`; + } + guide += ` }\n`; + } else if (category === "2") { + // Sort/Sequences + guide += ` // Display Hint (if exists)\n`; + if (qIdx === "0") { + guide += ` var hintText = sdk.getQuestionValue() || sdk.getRequestValue();\n`; + guide += ` if (hintText) displayHint(hintText);\n`; + } else if (qIdx === "1") { + guide += ` var hintImg = sdk.getQuestionValue();\n`; + guide += ` if (hintImg) displayHintImage(hintImg);\n`; + } + + guide += `\n // Display Draggable Items\n`; + guide += ` var itemsCount = sdk.getOptionsCount();\n`; + guide += ` for (var i = 0; i < itemsCount; i++) {\n`; + if (oIdx === "0") { + guide += ` var itemText = sdk.getOptionsValue(i).text;\n`; + guide += ` createDraggableText(itemText, i);\n`; + } else if (oIdx === "1") { + guide += ` var itemImg = sdk.getOptionsValue(i).image;\n`; + guide += ` createDraggableImage(itemImg, i);\n`; + } + guide += ` }\n`; + guide += ` // User drags to reorder items\n`; + } else if (category === "3") { + // Memory/Matching + guide += ` var itemsCount = sdk.getOptionsCount();\n`; + if (qIdx === oIdx) { + guide += ` // Memory Card - Create pairs\n`; + guide += ` var allCards = []; // Duplicate items for pairs\n`; + guide += ` for (var i = 0; i < itemsCount; i++) {\n`; + guide += ` allCards.push(sdk.getOptionsValue(i));\n`; + guide += ` allCards.push(sdk.getOptionsValue(i)); // Duplicate\n`; + guide += ` }\n`; + guide += ` shuffleArray(allCards);\n`; + guide += ` // Create face-down cards, flip on click\n`; + } else { + guide += ` // Matching - Create two groups\n`; + guide += ` for (var i = 0; i < itemsCount; i++) {\n`; + if (qIdx === "0") { + guide += ` var leftText = sdk.getOptionsValue(i).text;\n`; + guide += ` createLeftItem(leftText, i);\n`; + } else if (qIdx === "1") { + guide += ` var leftImg = sdk.getOptionsValue(i).image;\n`; + guide += ` createLeftItem(leftImg, i);\n`; + } + if (oIdx === "0") { + guide += ` var rightText = sdk.getOptionsValue(i).text; // Matching pair\n`; + guide += ` createRightItem(rightText, i);\n`; + } else if (oIdx === "1") { + guide += ` var rightImg = sdk.getOptionsValue(i).image;\n`; + guide += ` createRightItem(rightImg, i);\n`; + } + guide += ` }\n`; + guide += ` // User draws lines to match pairs\n`; + } + } + + // Step 3: Handle Hint + if (data.hint && data.hint.type) { + guide += `\n3๏ธโƒฃ HANDLE HINT (Optional)\n`; + guide += ` var hintType = sdk.getHintType(); // "${data.hint.type}"\n`; + if (data.hint.type === "display") { + guide += ` var hintCount = sdk.getHintCount();\n`; + guide += ` for (var i = 0; i < hintCount; i++) {\n`; + guide += ` var hintItem = sdk.getHintValue(i);\n`; + guide += ` displayHintItem(hintItem, i); // Show each hint\n`; + guide += ` }\n`; + } else if (data.hint.type === "audio") { + guide += ` var hintAudio = sdk.getHintValue();\n`; + guide += ` createHintButton(hintAudio); // Play audio hint\n`; + } else if (data.hint.type === "text") { + guide += ` var hintText = sdk.getHintValue();\n`; + guide += ` displayHintText(hintText);\n`; + } + } + + // Step 4: Check Answer + const stepNum = data.hint ? "4๏ธโƒฃ" : "3๏ธโƒฃ"; + guide += `\n${stepNum} CHECK ANSWER\n`; + + if (category === "1") { + guide += ` // User clicks an option\n`; + guide += ` function onOptionClick(selectedIndex) {\n`; + guide += ` var userAnswer = sdk.getOptionsValue(selectedIndex).text;\n`; + guide += ` var result = sdk.end(userAnswer, function(isCorrect) {\n`; + guide += ` if (isCorrect) showSuccess();\n`; + guide += ` else showError();\n`; + guide += ` });\n`; + guide += ` }\n`; + } else if (category === "2") { + guide += ` // User finishes sorting\n`; + guide += ` function onSubmitOrder(orderedArray) {\n`; + guide += ` var answerStr = orderedArray.map(item => item.text).join('|');\n`; + guide += ` sdk.end(answerStr, function(isCorrect) {\n`; + guide += ` if (isCorrect) showSuccess();\n`; + guide += ` else showCorrectOrder();\n`; + guide += ` });\n`; + guide += ` }\n`; + } else if (category === "3") { + guide += ` // User completes all matches/pairs\n`; + guide += ` function onAllMatched(matchedPairs) {\n`; + guide += ` var answerStr = matchedPairs.map(p => p.text).join('|');\n`; + guide += ` sdk.end(answerStr, function(isCorrect) {\n`; + guide += ` showResult(isCorrect);\n`; + guide += ` });\n`; + guide += ` }\n`; + } + + // Step 5: Timer + if (time !== "0") { + const nextStep = data.hint ? "5๏ธโƒฃ" : "4๏ธโƒฃ"; + guide += `\n${nextStep} TIMER COUNTDOWN\n`; + guide += ` var timeLimit = sdk.timeLimit; // ${time} seconds\n`; + guide += ` startCountdown(timeLimit);\n`; + guide += ` // If time runs out before sdk.end(), user fails\n`; + } + + // API Reference + guide += `\n\n๐Ÿ“š KEY API METHODS\n`; + guide += `โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\n`; + guide += `sdk.load(callback, template) - Load data from server\n`; + guide += `sdk.start() - Start game, shuffle if needed\n`; + guide += `sdk.getQuestionValue() - Get question text/image/audio\n`; + guide += `sdk.getQuestionType() - Get question type (text/image/audio)\n`; + guide += `sdk.getOptionsCount() - Get number of options\n`; + guide += `sdk.getOptionsValue(index) - Get option object at index\n`; + guide += `sdk.getOptionsType() - Get options type\n`; + guide += `sdk.getHintType() - Get hint type\n`; + guide += `sdk.getHintValue(index) - Get hint value/array item\n`; + guide += `sdk.getHintCount() - Get hint items count\n`; + guide += `sdk.playVoice(type) - Play TTS (question/option1/hint)\n`; + guide += `sdk.end(answer, callback) - Check answer & return result\n`; + guide += `sdk.timeLimit - Time limit in seconds\n`; + guide += `sdk.shuffle - Whether to shuffle options\n`; + + guide += `\n\n๐Ÿ’ก TIPS\n`; + guide += `โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”\n`; + if (shuffle === "1") { + guide += `โ€ข Options are shuffled after sdk.start() - display in new order\n`; + } + if (time !== "0") { + guide += `โ€ข Implement timer UI and auto-submit when time expires\n`; + } + guide += `โ€ข Use Web Speech API: sdk.playVoice() for TTS in English\n`; + guide += `โ€ข Multiple answers format: "answer1|answer2|answer3"\n`; + guide += `โ€ข sdk.end() returns: {isCorrect, duration, correctAnswer, userAnswer}\n`; + + guide += `\n${"โ•".repeat(76)}\n`; + + return guide; +}; +/** + * Get the question text + * @returns {string} Question or request text + */ +SenaSDK.prototype.getQuestionValue = function () { + var q = String(this.data.question || "").trim(); + if (q.toLowerCase().startsWith("http")) { + return ""; + } + return q; +}; +/** + * Get the question type + * @returns {string} Question type (text, image, audio) + */ +SenaSDK.prototype.getQuestionType = function () { + let self = this; + // based on game code, determine question type + const gameCode = self.gameCode || "G2510S1T30"; + const regex = /^G([1-9])([2-9])([0-2])([0-2])(?:S([0-1]))?(?:T(\d+))?$/; + const match = gameCode.match(regex); + if (match) { + const qIdx = match[3]; + const types = { 0: "text", 1: "image", 2: "audio" }; + return types[qIdx] || "text"; + } + return "text"; +}; + +/** + * [UPDATE] Get the question image URL + * Dรนng cho G4 khi cแบงn hiแปƒn thแป‹ song song cแบฃ Text (getQuestionValue) vร  Image + * @returns {string} Image URL + */ +SenaSDK.prototype.getQuestionImage = function () { + if (this.data && this.data.image) { + return String(this.data.image).trim(); + } + return ""; +}; + +/** + * Get the request value + * @returns {string} Request text + */ +SenaSDK.prototype.getRequestValue = function () { + if (this.data && this.data.request && this.data.request !== "") { + return this.data.request; + } else { + return ""; + } +}; + +/** + * Get the request type (same as question type) + * @returns {string} Request type (text, image, audio) + */ +SenaSDK.prototype.getRequestType = function () { + return this.getQuestionType(); +}; + +/** + * Get total number of options + * @returns {number} Number of options + */ +SenaSDK.prototype.getOptionsCount = function () { + if (this.data && this.data.options) { + return this.data.options.length; + } + return 0; +}; + +/** + * Get options type based on game code + * @returns {string} Options type (text, image, audio) + */ +SenaSDK.prototype.getOptionsType = function () { + let self = this; + // based on game code, determine options type + const gameCode = self.gameCode || "G2510S1T30"; + const regex = /^G([1-9])([2-9])([0-2])([0-2])(?:S([0-1]))?(?:T(\d+))?$/; + const match = gameCode.match(regex); + if (match) { + const oIdx = match[4]; + const types = { 0: "text", 1: "image", 2: "audio" }; + return types[oIdx] || "text"; + } + return "text"; +}; +/** + * Get option value by index based on options type from game code + * @param {number} index - Option index + * @returns {string} Option value (text, image URL, or audio URL based on game code) + */ +SenaSDK.prototype.getOptionsValue = function (index) { + return this.data.options[index]; +}; + +/** + * Get hint type + * @returns {string} Hint type (e.g., 'display', 'audio', 'text', or empty string if no hint) + */ +SenaSDK.prototype.getHintType = function () { + if (this.data && this.data.hint && this.data.hint.type) { + return this.data.hint.type; + } + return ""; +}; + +/** + * Get hint count (number of elements if hint is an array, particularly for display type) + * @returns {number} Number of elements in hint array, or 1 if not an array, or 0 if no hint + */ +SenaSDK.prototype.getHintCount = function () { + const hintValue = this.getHintValue(); + if (hintValue === null) { + return 0; + } + if (Array.isArray(hintValue)) { + return hintValue.length; + } + return 1; +}; + +/** + * Get hint value + * @param {number} index - Optional index for array hints (display type) + * @returns {*} Hint value (string, array element, or null if no hint) + */ +SenaSDK.prototype.getHintValue = function (index) { + if (this.data && this.data.hint && this.data.hint.value !== undefined) { + const hintValue = this.data.hint.value; + const hintType = this.getHintType(); + + // If hint type is display and value is array, return specific index + if (hintType === "display" && Array.isArray(hintValue)) { + if (index !== undefined && index >= 0 && index < hintValue.length) { + return hintValue[index]; + } + // If no index provided or invalid, return the whole array + return hintValue; + } + + // For audio or text type, return the value directly + return hintValue; + } + return null; +}; + +/** + * Start the quiz - resets index and shuffles options + */ +SenaSDK.prototype.start = function () { + let self = this; + + // Nแบฟu lร  matching game, forward sang tdv_sdk.start() + if (self.isMatchingGame) { + console.log("๐ŸŽฎ Sena SDK: Matching game - forwarding start() to tdv_sdk"); + if (window.tdv_sdk && typeof window.tdv_sdk.start === "function") { + window.tdv_sdk.start(); + } + return; + } + + // Quiz/Sort/Fill games + self.curIndex = 0; + if (self.shuffle && self.data && self.data.options) { + self.shuffleArray(self.data.options); + } + self.startTime = Date.now(); + // Additional logic for tracking can be added here if needed +}; + +/** + * ฤรกnh dแบฅu user ฤ‘รฃ tฦฐฦกng tรกc vแป›i game + * Gแปi hร m nร y tแปซ Construct khi user click/drag lแบงn ฤ‘แบงu + * Sau khi gแปi, postMessage muแป™n sแบฝ bแป‹ bแป qua + */ +SenaSDK.prototype.markUserInteraction = function () { + if (!this._gameStartedByUser) { + this._gameStartedByUser = true; + console.log( + "๐ŸŽฎ Sena SDK: User interaction detected - late postMessage will be ignored", + ); + + // Cลฉng ฤ‘รกnh dแบฅu cho tdv_sdk nแบฟu lร  matching game + if (this.isMatchingGame && window.tdv_sdk) { + window.tdv_sdk._gameStartedByUser = true; + } + } +}; + +/** + * Kiแปƒm tra xem cรณ thแปƒ reload data khรดng (user chฦฐa tฦฐฦกng tรกc) + */ +SenaSDK.prototype.canReloadData = function () { + return !this._gameStartedByUser; +}; + +/** + * End the game and check answer + * [UPDATE] Support Unordered Answers & Auto-cleanup empty strings + */ +SenaSDK.prototype.end = function (answer, callback) { + let self = this; + + // ========== MATCHING GAME: Forward to tdv_sdk ========== + if (self.isMatchingGame && window.tdv_sdk) { + console.log("๐ŸŽฎ Sena SDK: Matching game - forwarding end() to tdv_sdk"); + + // Lแบฅy kแบฟt quแบฃ tแปซ tdv_sdk + let isCorrect = window.tdv_sdk.isCorrect() === 1; + let duration = window.tdv_sdk.getTimeSpent(); + let correctCount = window.tdv_sdk.getCorrectCount(); + let totalPairs = window.tdv_sdk.pairCount; + + console.log(`Time spent in game: ${duration} seconds`); + console.log( + `Result: ${correctCount}/${totalPairs} correct - ${isCorrect ? "CORRECT" : "INCORRECT"}`, + ); + + if (callback) callback(isCorrect); + return { + isCorrect: isCorrect, + duration: duration, + correctCount: correctCount, + totalPairs: totalPairs, + }; + } + + // ========== QUIZ/SORT/FILL GAMES ========== + self.endTime = Date.now(); + const duration = (self.endTime - self.startTime) / 1000; + + // 1. CLEANUP INPUT: Tรกch chuแป—i, Xรณa khoแบฃng trแบฏng, Chuyแปƒn thฦฐแปng, LแปŒC BแปŽ Rแป–NG + // .filter(a => a) sแบฝ loแบกi bแป ngay cรกi ฤ‘uรดi "" do dแบฅu | thแปซa tแบกo ra + const userAnswers = answer.includes("|") + ? answer + .split("|") + .map((a) => a.trim().toLowerCase()) + .filter((a) => a) + : [answer.trim().toLowerCase()].filter((a) => a); + + // 2. GET CORRECT ANSWERS + let correctAnswers = []; + if (self.correctAnswer) { + if (Array.isArray(self.correctAnswer)) { + correctAnswers = self.correctAnswer.map((a) => + (typeof a === "object" ? a.text || "" : String(a)).trim().toLowerCase(), + ); + } else { + let str = + typeof self.correctAnswer === "object" + ? self.correctAnswer.text + : String(self.correctAnswer); + correctAnswers = str.includes("|") + ? str.split("|").map((a) => a.trim().toLowerCase()) + : [str.trim().toLowerCase()]; + } + } + + // 3. COMPARE + // Nแบฟu lร  Game Type 2 (Sort) thรฌ giแปฏ nguyรชn thแปฉ tแปฑ, nแบฟu khรดng thรฌ sort (unordered) + const isStrictOrder = self.gameType === 2; + const finalUser = isStrictOrder ? [...userAnswers] : [...userAnswers].sort(); + const finalCorrect = isStrictOrder + ? [...correctAnswers] + : [...correctAnswers].sort(); + + let isCorrect = false; + + // Helper check file name for URL matching + const getFileName = (url) => { + if (!url.startsWith("http")) return url; + try { + return url.split("/").pop().split("?")[0]; + } catch (e) { + return url; + } + }; + + if (finalUser.length === finalCorrect.length) { + isCorrect = finalUser.every((uVal, index) => { + let cVal = finalCorrect[index]; + if (uVal === cVal) return true; + // Fuzzy match cho URL (so sรกnh tรชn file แบฃnh) + if (uVal.startsWith("http") || cVal.startsWith("http")) { + return getFileName(uVal) === getFileName(cVal); + } + return false; + }); + } + + // ----------------------------------------------------------- + // [BฦฏแปšC 1] Kiแปƒm tra Time Limit TRฦฏแปšC (Sแปญa biแบฟn isCorrect) + // ----------------------------------------------------------- + if (self.timeLimit > 0 && duration > self.timeLimit) { + isCorrect = false; // CHแปˆ sแปญa biแบฟn boolean, KHร”NG gแปi result.isCorrect + console.log("๐ŸŽฎ Sena SDK: Time Limit Exceeded -> Result set to False"); + } + + // ----------------------------------------------------------- + // [BฦฏแปšC 2] Sau ฤ‘รณ mแป›i tแบกo biแบฟn result (Dรนng isCorrect ฤ‘รฃ chแป‘t) + // ----------------------------------------------------------- + const result = { + isCorrect: isCorrect, // Lรบc nร y isCorrect ฤ‘รฃ ฤ‘ฦฐแปฃc xแปญ lรฝ xong xuรดi + duration: duration, + correctAnswer: correctAnswers.join(" | "), + userAnswer: userAnswers.join(" | "), + }; + + // ----------------------------------------------------------- + // [BฦฏแปšC 3] Log vร  Return + // ----------------------------------------------------------- + console.log(`Time spent: ${duration}s`); + console.log( + `Result: ${isCorrect ? "CORRECT" : "INCORRECT"} (User: ${result.userAnswer} vs Correct: ${result.correctAnswer})`, + ); + + if (callback) callback(result.isCorrect); + return result; // Return full object for debug +}; + +SenaSDK.prototype.playVoice = function (type) { + let self = this; + // type: 'question', 'optionA', 'optionB', ... + // if type is options, get corresponding option text like option0 -> index 0 + let textToSpeak = ""; + if (type.startsWith("option")) { + const optionIndex = parseInt(type.slice(6)) - 1; + textToSpeak = self.getOptionsValue(optionIndex); + } else if (type === "question") { + textToSpeak = self.getQuestionValue(); + } else if (type === "request") { + textToSpeak = self.getRequestValue(); + } else if (type === "hint") { + const hintValue = self.getHintValue(); + if (typeof hintValue === "string") { + textToSpeak = hintValue; + } + } + if (textToSpeak == "") return; + if (window["audioPlayer"]) { + window["audioPlayer"].pause(); + window["audioPlayer"].src = textToSpeak; + window["audioPlayer"].play(); + } else { + window["audioPlayer"] = new Audio(textToSpeak); + window["audioPlayer"].play(); + } +}; + +SenaSDK.prototype.helper = {}; + +SenaSDK.prototype.helper.CalcObjectPositions = function ( + n, + objectWidth, + margin, + maxWidth, +) { + let self = this; + self.positions = []; + const totalWidth = n * objectWidth + (n - 1) * margin; + const startX = (maxWidth - totalWidth) / 2; + let positions = []; + for (let i = 0; i < n; i++) { + positions.push(startX + i * (objectWidth + margin)); + } + positions.map((pos) => pos + objectWidth / 2); // Adjusting to center the objects + self.positions = positions; +}; +SenaSDK.prototype.helper.getPosXbyIndex = function (index) { + let self = this; + if (index < 0 || index >= self.positions.length) { + return null; // Return null if index is out of bounds + } + return self.positions[index]; +}; + +/** + * ฤฤƒng kรฝ listener nhแบญn data qua postMessage + * Gแปi hร m nร y sau khi tแบกo instance SenaSDK + */ +SenaSDK.prototype.registerPostMessageListener = function () { + let self = this; + + window.addEventListener("message", function (event) { + if (!event.data || !event.data.type) return; + + switch (event.data.type) { + case "SERVER_PUSH_DATA": + console.log( + "๐Ÿ“ฅ Sena SDK: Received SERVER_PUSH_DATA", + event.data.jsonData, + ); + + // Hแปงy timeout fallback nแบฟu ฤ‘ang chแป + if (self._postMessageTimeout) { + clearTimeout(self._postMessageTimeout); + self._postMessageTimeout = null; + } + self._waitingForPostMessage = false; + + // ========== LATE ARRIVAL HANDLING ========== + // Nแบฟu ฤ‘รฃ load tแปซ server NHฦฏNG user chฦฐa tฦฐฦกng tรกc โ†’ cho phรฉp override + if (self._dataLoadedFromServer && !self._gameStartedByUser) { + console.log( + "๐Ÿ”„ Sena SDK: PostMessage arrived late but user hasn't started - RELOADING DATA", + ); + // Reset state trฦฐแป›c khi load mแป›i + self.postMessageDataLoaded = false; + self._dataLoadedFromServer = false; + } + + // Nแบฟu user ฤ‘รฃ tฦฐฦกng tรกc โ†’ bแป qua postMessage muแป™n + if (self._gameStartedByUser) { + console.log( + "โš ๏ธ Sena SDK: PostMessage arrived late but user already playing - IGNORED", + ); + return; + } + + // Load data tแปซ postMessage + self.loadFromPostMessage(event.data.jsonData); + + // Nแบฟu lร  matching game, cลฉng forward cho tdv_sdk listener + let gameCode = event.data.jsonData && event.data.jsonData.gameCode; + if (gameCode && gameCode.charAt(1) === "3" && window.tdv_sdk) { + // Hแปงy timeout cแปงa tdv_sdk nแบฟu cรณ + if (window.tdv_sdk._postMessageTimeout) { + clearTimeout(window.tdv_sdk._postMessageTimeout); + window.tdv_sdk._postMessageTimeout = null; + } + window.tdv_sdk._waitingForPostMessage = false; + + // Gแปi callback cแปงa tdv_sdk nแบฟu cรณ + if (window.tdv_sdk._loadCallback) { + window.tdv_sdk._loadCallback(true); + window.tdv_sdk._loadCallback = null; + } + } + + // Gแปi callback nแบฟu cรณ (tแปซ hร m load()) + if (self._loadCallback) { + self._loadCallback(true); + self._loadCallback = null; + } + break; + + case "SYNC_TIME": + if (event.data.end_time_iso) { + let endTimeDate = new Date(event.data.end_time_iso); + let now = new Date(); + self.timeLimit = Math.max(0, Math.floor((endTimeDate - now) / 1000)); + console.log( + "๐ŸŽฎ Sena SDK: Time synced, remaining:", + self.timeLimit, + "s", + ); + + // Sync cho tdv_sdk nแบฟu cรณ + if (window.tdv_sdk) { + window.tdv_sdk.timeLimit = self.timeLimit; + window.tdv_sdk.endTime = endTimeDate; + } + } + break; + + // ========== NEW MESSAGE TYPES (theo README protocol) ========== + + case "SDK_DATA_READY": + // Server gแปญi sanitized data cho game render (LIVE mode) + console.log("๐Ÿ“ฅ Sena SDK: Received SDK_DATA_READY", event.data.payload); + self._handleSdkDataReady(event.data.payload); + break; + + case "SDK_PUSH_DATA": + // Preview mode: Game push data ฤ‘แปƒ SDK sanitize + console.log("๐Ÿ“ฅ Sena SDK: Received SDK_PUSH_DATA", event.data.payload); + if (event.data.payload && event.data.payload.items) { + // Convert items to our format vร  load + self._handleSdkPushData(event.data.payload.items); + } + break; + + case "SDK_ANSWER_RESULT": + // Server trแบฃ vแป kแบฟt quแบฃ verify answer + console.log( + "๐Ÿ“ฅ Sena SDK: Received SDK_ANSWER_RESULT", + event.data.payload, + ); + self._lastAnswerResult = event.data.payload; + // Trigger callback nแบฟu cรณ + if (self._answerResultCallback) { + self._answerResultCallback(event.data.payload); + self._answerResultCallback = null; + } + break; + + case "SEQUENCE_SYNC": + console.log("๐Ÿ“ฅ Sena SDK: Received SEQUENCE_SYNC", event.data); + if (event.data.uuid === self.uuid) { + console.log("๐Ÿ”„ Sena SDK: Own message echoed back, processing..."); + } + + if (typeof self.onCustomMessage === "function") { + self.onCustomMessage(event.data.data, event.data.uuid); + } + break; + + case "SDK_ERROR": + // Server gแปญi error + console.error("โŒ Sena SDK: Received SDK_ERROR", event.data.payload); + break; + } + }); + + console.log("๐ŸŽฎ Sena SDK: PostMessage listener registered"); + console.log( + " Supported types: SERVER_PUSH_DATA, SDK_DATA_READY, SDK_PUSH_DATA, SYNC_TIME", + ); + + // ฤฤƒng kรฝ tdv_sdk listener nแบฟu cรณ (khรดng cแบงn gแปi registerPostMessageListener riรชng) + if (window.tdv_sdk && !window.tdv_sdk._postMessageListenerRegistered) { + window.tdv_sdk._postMessageListenerRegistered = true; + console.log("๐ŸŽฎ Sena SDK: tdv_sdk will receive forwarded data"); + } +}; + +/** + * Handle SDK_DATA_READY message (LIVE mode - server gแปญi sanitized data) + */ +SenaSDK.prototype._handleSdkDataReady = function (payload) { + let self = this; + + if (!payload || !payload.items) { + console.error("๐ŸŽฎ Sena SDK: SDK_DATA_READY missing items"); + return; + } + + // Hแปงy timeout nแบฟu cรณ + if (self._postMessageTimeout) { + clearTimeout(self._postMessageTimeout); + self._postMessageTimeout = null; + } + self._waitingForPostMessage = false; + + // Convert SDK format to SenaSDK format + let items = payload.items; + + if (items.length === 1) { + // Single question + let item = items[0]; + self.data = { + question: item.question || "", + request: item.question || "", + options: item.options + ? item.options.map((o) => o.text || o.audio || o) + : [], + }; + self.gameID = item.id; + } else { + // Multi-question + self.list = items.map((item, idx) => ({ + id: item.id || idx, + question: item.question || "", + request: item.question || "", + options: item.options + ? item.options.map((o) => o.text || o.audio || o) + : [], + answer: null, // Server keeps answer + })); + self.totalQuestions = items.length; + self.level = payload.completed_count || 0; + self._loadCurrentQuestionToData(); + } + + self.postMessageDataLoaded = true; + console.log("โœ… Sena SDK: SDK_DATA_READY processed -", items.length, "items"); + + // Gแปi callback + if (self._loadCallback) { + self._loadCallback(true); + self._loadCallback = null; + } +}; + +/** + * Handle SDK_PUSH_DATA message (PREVIEW mode - game push data vแป›i answer) + */ +SenaSDK.prototype._handleSdkPushData = function (items) { + let self = this; + + if (!items || items.length === 0) { + console.error("๐ŸŽฎ Sena SDK: SDK_PUSH_DATA missing items"); + return; + } + + // Hแปงy timeout nแบฟu cรณ + if (self._postMessageTimeout) { + clearTimeout(self._postMessageTimeout); + self._postMessageTimeout = null; + } + self._waitingForPostMessage = false; + + if (items.length === 1) { + // Single question + let item = items[0]; + self.data = { + question: item.question || "", + request: item.question || "", + options: item.options + ? item.options.map((o) => o.text || o.audio || o) + : [], + }; + self.correctAnswer = item.answer; + self.gameID = item.id; + } else { + // Multi-question vแป›i answer + self.list = items.map((item, idx) => ({ + id: item.id || idx, + question: item.question || "", + request: item.question || "", + options: item.options + ? item.options.map((o) => o.text || o.audio || o) + : [], + answer: item.answer, + })); + self.totalQuestions = items.length; + self.level = 0; + self._loadCurrentQuestionToData(); + } + + self.postMessageDataLoaded = true; + console.log("โœ… Sena SDK: SDK_PUSH_DATA processed -", items.length, "items"); + + // Gแปi callback + if (self._loadCallback) { + self._loadCallback(true); + self._loadCallback = null; + } +}; + +/** + * Gแปญi SDK_CHECK_ANSWER cho server verify (LIVE mode) + */ +SenaSDK.prototype.checkAnswerViaServer = function ( + questionId, + choice, + callback, +) { + let self = this; + + self._answerResultCallback = callback; + + window.parent.postMessage( + { + type: "SDK_CHECK_ANSWER", + payload: { + question_id: questionId, + choice: choice, + time_spent: self.getTimeSpent ? self.getTimeSpent() * 1000 : 0, + }, + }, + "*", + ); + + console.log("๐Ÿ“ค Sena SDK: Sent SDK_CHECK_ANSWER for", questionId); +}; + +/** + * Get time spent in seconds + */ +SenaSDK.prototype.getTimeSpent = function () { + if (!this.startTime) return 0; + return Math.floor((Date.now() - this.startTime) / 1000); +}; + +/** + * Submit ฤ‘รกp รกn cho multi-question mode + * @param {string} selectedText - ฤรกp รกn ngฦฐแปi dรนng chแปn + * @param {boolean} isTimeout - True nแบฟu hแบฟt giแป + * @returns {Object} Result object {isCorrect, result} + */ +SenaSDK.prototype.play = function (selectedText, isTimeout) { + let self = this; + + // Nแบฟu khรดng cรณ list (single question mode), dรนng end() + if (!self.currentQuestion && self.data) { + let result = { isCorrect: false, result: 0 }; + self.end(selectedText, function (isCorrect) { + result.isCorrect = isCorrect; + result.result = isCorrect ? 1 : 0; + }); + return result.result; + } + + if (!self.currentQuestion) return 0; + + let isActuallyTimeout = isTimeout === true || String(isTimeout) === "true"; + + // Kiแปƒm tra ฤ‘รฃ trแบฃ lแปi cรขu nร y chฦฐa + let alreadyAnswered = self.userResults.find( + (r) => r.id === self.currentQuestion.id, + ); + if (alreadyAnswered) { + return alreadyAnswered.result; + } + + let isCorrect = false; + let userChoice = null; + + if (isActuallyTimeout) { + isCorrect = false; + userChoice = null; + } else { + userChoice = String(selectedText).trim(); + let correctAnswer = String(self.currentQuestion.answer).trim(); + isCorrect = userChoice.toLowerCase() === correctAnswer.toLowerCase(); + } + + let resultValue = isCorrect ? 1 : 0; + + let report = { + question_id: self.currentQuestion.id, + result: resultValue, + choice: userChoice, + is_timeout: isActuallyTimeout, + }; + + self.userResults.push({ id: report.question_id, result: report.result }); + + console.log("๐ŸŽฎ Sena SDK: Answer Report:", report); + + // Gแปญi kแบฟt quแบฃ cho parent window + window.parent.postMessage({ type: "ANSWER_REPORT", data: report }, "*"); + + return resultValue; +}; + +/** + * Kแบฟt thรบc bร i thi vร  gแปญi kแบฟt quแบฃ (multi-question mode) + */ +SenaSDK.prototype.submitResults = function () { + let self = this; + + // Loแบกi bแป duplicate results + let uniqueResults = []; + let seenIds = {}; + for (let i = self.userResults.length - 1; i >= 0; i--) { + if (!seenIds[self.userResults[i].id]) { + uniqueResults.unshift(self.userResults[i]); + seenIds[self.userResults[i].id] = true; + } + } + + let correctCount = uniqueResults.filter((r) => r.result === 1).length; + let totalScore = + self.totalQuestions > 0 + ? Math.round((correctCount / self.totalQuestions) * 100) / 10 + : 0; + let timeSpent = Math.floor((Date.now() - self.startTime) / 1000); + + let finalData = { + game_id: self.gameID, + user_id: self.userId, + score: totalScore, + time_spent: timeSpent, + correct_count: correctCount, + total_questions: self.totalQuestions, + details: uniqueResults, + }; + + console.log( + "๐ŸŽฎ Sena SDK: Final Result - Score:", + totalScore, + "Time Spent:", + timeSpent, + "s", + ); + + // Gแปญi kแบฟt quแบฃ cho parent window + window.parent.postMessage({ type: "FINAL_RESULT", data: finalData }, "*"); + + return finalData; +}; + +// Export for different module systems +if (typeof module !== "undefined" && module.exports) { + module.exports = SenaSDK; +} else if (typeof define === "function" && define.amd) { + define([], function () { + return SenaSDK; + }); +} else { + window.SenaSDK = SenaSDK; +} +/** + * [NEW] Get Target Name for G9 (Memory Shuffle) + * Lแบฅy tรชn ฤ‘รกp รกn ฤ‘รบng (Vรญ dแปฅ: "cat") + */ +SenaSDK.prototype.getTargetName = function () { + // Vแป›i G9, correctAnswer sแบฝ lฦฐu target name + if (this.correctAnswer) { + // Nแบฟu correctAnswer lร  object (trฦฐแปng hแปฃp hiแบฟm), lแบฅy text + if (typeof this.correctAnswer === "object" && this.correctAnswer.text) { + return this.correctAnswer.text; + } + return String(this.correctAnswer); + } + return ""; +}; +/** + * [NEW] Helpers for Card Object (G9) + */ +SenaSDK.prototype.getCardName = function (index) { + if (this.data && this.data.options && this.data.options[index]) { + let opt = this.data.options[index]; + return opt.name || opt.text || ""; + } + return ""; +}; +SenaSDK.prototype.getCardImage = function (index) { + if (this.data && this.data.options && this.data.options[index]) { + let opt = this.data.options[index]; + return opt.image || ""; + } + return ""; +}; +SenaSDK.prototype.getCardAudio = function (index) { + if (this.data && this.data.options && this.data.options[index]) { + let opt = this.data.options[index]; + return opt.audio || ""; + } + return ""; +}; + +/** + * [UPDATE G5] Load data cho level cแปฅ thแปƒ (Phรขn trang tแปฑ nhiรชn) + * Logic mแป›i: Lแบฅy vแปซa ฤ‘แปง sแป‘ lฦฐแปฃng cรฒn lแบกi, khรดng lแบทp lแบกi (wrap-around) data cลฉ. + */ +SenaSDK.prototype.loadLevelG5 = function (levelIndex) { + let self = this; + if (self.gameType !== 5 || !self.masterList) return false; + + self.currentLevel = levelIndex; + let count = self.itemCount; // Sแป‘ card tแป‘i ฤ‘a mแป—i trang (VD: 6) + + window.Sena_TotalLevels = Math.ceil(self.masterList.length / count); + + let startIndex = (levelIndex - 1) * count; + + // --- LOGIC MแปšI: CแบฎT DATA (SLICING) --- + // Tรญnh ฤ‘iแปƒm kแบฟt thรบc: Nแบฟu vฦฐแปฃt quรก ฤ‘แป™ dร i list thรฌ lแบฅy ฤ‘แป™ dร i list (khรดng wrap) + let endIndex = Math.min(startIndex + count, self.masterList.length); + + // Cแบฏt danh sรกch card cho level hiแป‡n tแบกi + let levelOptions = self.masterList.slice(startIndex, endIndex); + + // Gรกn vร o data.options ฤ‘แปƒ C2 render + self.data.options = levelOptions; + + console.log( + `๐ŸŽฎ Sena SDK: Loaded Level ${levelIndex} (G5) with ${levelOptions.length} cards`, + ); + return true; +}; + +/** + * [NEW G5] Lแบฅy thรดng tin Level + */ +SenaSDK.prototype.getTotalLevels = function () { + return this.totalLevels || 1; +}; + +SenaSDK.prototype.getTimePerCard = function () { + if (this.timePerCard === undefined) { + this._parseGameCode(); + } + + if (this.timePerCard && this.timePerCard > 0) { + return this.timePerCard; + } + + return 5; +}; + +SenaSDK.prototype.getCardType = function (index) { + // ฦฏu tiรชn 1: Lแบฅy tแปซ data.options (G4, G1, G2 ฤ‘ang chแบกy trรชn grid hiแป‡n tแบกi) + if (this.data && this.data.options && this.data.options[index]) { + return this.data.options[index].type || "text"; + } + + // ฦฏu tiรชn 2: Fallback cho G5 (Master List) + if (this.masterList && this.masterList[index]) { + return this.masterList[index].type || "text"; + } + + // Mแบทc ฤ‘แป‹nh + return "text"; +}; + +// [UPDATE G4] Xแปญ lรฝ data ฤ‘แบทc thรน cho Memory Card: Fill blank vร  Xแปญ lรฝ thแบป lแบป (Orphan) +SenaSDK.prototype._processG4Data = function () { + let self = this; + if (!self.data.options) self.data.options = []; + + // BฦฏแปšC 1: Xแปญ lรฝ thแบป lแบป (Sanitize Data) ngay tแบกi nguแป“n + // ฤแบฟm sแป‘ lฦฐแปฃng xuแบฅt hiแป‡n cแปงa tแปซng cแบทp tรชn + let counts = {}; + self.data.options.forEach((item) => { + if (item.type !== "blank" && item.name) { + counts[item.name] = (counts[item.name] || 0) + 1; + } + }); + + // Duyแป‡t lแบกi vร  biแบฟn nhแปฏng thแบป cรณ sแป‘ lฦฐแปฃng < 2 thร nh blank + self.data.options.forEach((item) => { + if (item.type !== "blank" && item.name) { + if (counts[item.name] < 2) { + console.log("๐ŸŽฎ Sena SDK: Orphan card detected & removed:", item.name); + item.type = "blank"; + item.name = "blank"; // Xรณa tรชn ฤ‘แปƒ trรกnh logic game bแบฏt nhแบงm + item.image = ""; // Xรณa แบฃnh + item.id = "blank_sanitized"; + } + } + }); + + // BฦฏแปšC 2: Fill thรชm thแบป blank cho ฤ‘แปง 9 รด (Logic cลฉ) + while (self.data.options.length < 9) { + self.data.options.push({ + id: "blank_" + self.data.options.length, + type: "blank", + name: "blank", + value: -1, + image: "", + }); + } + + // BฦฏแปšC 3: Shuffle (Trแป™n bร i) + if (self.shuffle) { + self.shuffleArray(self.data.options); + } +}; + +// [UPDATE G4] Hร m lแบฅy ID +SenaSDK.prototype.getCardID = function (index) { + if (this.data && this.data.options && this.data.options[index]) { + return this.data.options[index].id || ""; + } + return ""; +}; + +// [UPDATE G4] Hร m Check Pair (Logic tแบกm thแปi แปŸ Client cho Mock) +SenaSDK.prototype.checkPair = function (idx1, idx2, callback) { + let self = this; + + // Validate index + let card1 = self.data.options[idx1]; + let card2 = self.data.options[idx2]; + + if (!card1 || !card2) { + if (callback) callback(false); + return; + } + + // Logic so sรกnh: Name giแป‘ng nhau Vร€ ID khรกc nhau (trรกnh click 2 lแบงn 1 thแบป) Vร€ khรดng phแบฃi blank + let isMatch = false; + + if (card1.type !== "blank" && card2.type !== "blank") { + if (card1.id !== card2.id) { + // Check ko phแบฃi chรญnh nรณ + // So sรกnh name (vรญ dแปฅ: "dog" == "dog") + if ( + card1.name && + card2.name && + card1.name.toLowerCase() === card2.name.toLowerCase() + ) { + isMatch = true; + } + } + } + + console.log( + `๐ŸŽฎ Sena SDK: Check Pair [${idx1}] vs [${idx2}] -> ${isMatch ? "MATCH" : "WRONG"}`, + ); + + // [TODO] Sau nร y sแบฝ thay ฤ‘oแบกn nร y bแบฑng postMessage lรชn Server verify + if (callback) callback(isMatch); +}; + +/** + * [NEW v2.2] Gแปญi Custom Data lรชn Parent Window + * @param {Object} data - Object chแปฉa 5 trฦฐแปng data1 -> data5 + */ +SenaSDK.prototype.sendMessageToParent = function (data) { + let self = this; + + // Tแปฑ ฤ‘แป™ng tแบกo UUID cho session nแบฟu chฦฐa cรณ + if (!self.uuid) { + self.uuid = + "session-" + Date.now() + "-" + Math.floor(Math.random() * 10000); + } + + // ฤรณng gรณi payload ฤ‘รบng chuแบฉn tร i liแป‡u v2.2 + let payload = { + type: "SEQUENCE_SYNC", + uuid: self.uuid, + data: data, + timestamp: Date.now(), + }; + + console.log("๐Ÿ“ค Sena SDK: Sending SEQUENCE_SYNC to parent:", payload); + + // Gแปญi lรชn Parent Window (Backend/Iframe parent) + window.parent.postMessage(payload, "*"); +}; + +if (typeof module !== "undefined" && module.exports) { + module.exports = SenaSDK; +} else if (typeof define === "function" && define.amd) { + define([], function () { + return SenaSDK; + }); +} else { + window.SenaSDK = SenaSDK; +} diff --git a/SQ_Word_TextOnly-Teacher/sw.js b/SQ_Word_TextOnly-Teacher/sw.js new file mode 100644 index 0000000..32ced4d --- /dev/null +++ b/SQ_Word_TextOnly-Teacher/sw.js @@ -0,0 +1,403 @@ +"use strict"; + +const OFFLINE_DATA_FILE = "offline.js"; +const CACHE_NAME_PREFIX = "c2offline"; +const BROADCASTCHANNEL_NAME = "offline"; +const CONSOLE_PREFIX = "[SW] "; +const LAZYLOAD_KEYNAME = ""; + +// Create a BroadcastChannel if supported. +const broadcastChannel = (typeof BroadcastChannel === "undefined" ? null : new BroadcastChannel(BROADCASTCHANNEL_NAME)); + +////////////////////////////////////// +// Utility methods +function PostBroadcastMessage(o) +{ + if (!broadcastChannel) + return; // not supported + + // Impose artificial (and arbitrary!) delay of 3 seconds to make sure client is listening by the time the message is sent. + // Note we could remove the delay on some messages, but then we create a race condition where sometimes messages can arrive + // in the wrong order (e.g. "update ready" arrives before "started downloading update"). So to keep the consistent ordering, + // delay all messages by the same amount. + setTimeout(() => broadcastChannel.postMessage(o), 3000); +}; + +function Broadcast(type) +{ + PostBroadcastMessage({ + "type": type + }); +}; + +function BroadcastDownloadingUpdate(version) +{ + PostBroadcastMessage({ + "type": "downloading-update", + "version": version + }); +} + +function BroadcastUpdateReady(version) +{ + PostBroadcastMessage({ + "type": "update-ready", + "version": version + }); +} + +function IsUrlInLazyLoadList(url, lazyLoadList) +{ + if (!lazyLoadList) + return false; // presumably lazy load list failed to load + + try { + for (const lazyLoadRegex of lazyLoadList) + { + if (new RegExp(lazyLoadRegex).test(url)) + return true; + } + } + catch (err) + { + console.error(CONSOLE_PREFIX + "Error matching in lazy-load list: ", err); + } + + return false; +}; + +function WriteLazyLoadListToStorage(lazyLoadList) +{ + if (typeof localforage === "undefined") + return Promise.resolve(); // bypass if localforage not imported + else + return localforage.setItem(LAZYLOAD_KEYNAME, lazyLoadList) +}; + +function ReadLazyLoadListFromStorage() +{ + if (typeof localforage === "undefined") + return Promise.resolve([]); // bypass if localforage not imported + else + return localforage.getItem(LAZYLOAD_KEYNAME); +}; + +function GetCacheBaseName() +{ + // Include the scope to avoid name collisions with any other SWs on the same origin. + // e.g. "c2offline-https://example.com/foo/" (won't collide with anything under bar/) + return CACHE_NAME_PREFIX + "-" + self.registration.scope; +}; + +function GetCacheVersionName(version) +{ + // Append the version number to the cache name. + // e.g. "c2offline-https://example.com/foo/-v2" + return GetCacheBaseName() + "-v" + version; +}; + +// Return caches.keys() filtered down to just caches we're interested in (with the right base name). +// This filters out caches from unrelated scopes. +async function GetAvailableCacheNames() +{ + const cacheNames = await caches.keys(); + const cacheBaseName = GetCacheBaseName(); + return cacheNames.filter(n => n.startsWith(cacheBaseName)); +}; + +// Identify if an update is pending, which is the case when we have 2 or more available caches. +// One must be an update that is waiting, since the next navigate that does an upgrade will +// delete all the old caches leaving just one currently-in-use cache. +async function IsUpdatePending() +{ + const availableCacheNames = await GetAvailableCacheNames(); + return (availableCacheNames.length >= 2); +}; + +// Automatically deduce the main page URL (e.g. index.html or main.aspx) from the available browser windows. +// This prevents having to hard-code an index page in the file list, implicitly caching it like AppCache did. +async function GetMainPageUrl() +{ + const allClients = await clients.matchAll({ + includeUncontrolled: true, + type: "window" + }); + + for (const c of allClients) + { + // Parse off the scope from the full client URL, e.g. https://example.com/index.html -> index.html + let url = c.url; + if (url.startsWith(self.registration.scope)) + url = url.substring(self.registration.scope.length); + + if (url && url !== "/") // ./ is also implicitly cached so don't bother returning that + { + // If the URL is solely a search string, prefix it with / to ensure it caches correctly. + // e.g. https://example.com/?foo=bar needs to cache as /?foo=bar, not just ?foo=bar. + if (url.startsWith("?")) + url = "/" + url; + + return url; + } + } + + return ""; // no main page URL could be identified +}; + +// Hack to fetch optionally bypassing HTTP cache until fetch cache options are supported in Chrome (crbug.com/453190) +function fetchWithBypass(request, bypassCache) +{ + if (typeof request === "string") + request = new Request(request); + + if (bypassCache) + { + // bypass enabled: add a random search parameter to avoid getting a stale HTTP cache result + const url = new URL(request.url); + url.search += Math.floor(Math.random() * 1000000); + + return fetch(url, { + headers: request.headers, + mode: request.mode, + credentials: request.credentials, + redirect: request.redirect, + cache: "no-store" + }); + } + else + { + // bypass disabled: perform normal fetch which is allowed to return from HTTP cache + return fetch(request); + } +}; + +// Effectively a cache.addAll() that only creates the cache on all requests being successful (as a weak attempt at making it atomic) +// and can optionally cache-bypass with fetchWithBypass in every request +async function CreateCacheFromFileList(cacheName, fileList, bypassCache) +{ + // Kick off all requests and wait for them all to complete + const responses = await Promise.all(fileList.map(url => fetchWithBypass(url, bypassCache))); + + // Check if any request failed. If so don't move on to opening the cache. + // This makes sure we only open a cache if all requests succeeded. + let allOk = true; + + for (const response of responses) + { + if (!response.ok) + { + allOk = false; + console.error(CONSOLE_PREFIX + "Error fetching '" + response.url + "' (" + response.status + " " + response.statusText + ")"); + } + } + + if (!allOk) + throw new Error("not all resources were fetched successfully"); + + // Can now assume all responses are OK. Open a cache and write all responses there. + // TODO: ideally we can do this transactionally to ensure a complete cache is written as one atomic operation. + // This needs either new transactional features in the spec, or at the very least a way to rename a cache + // (so we can write to a temporary name that won't be returned by GetAvailableCacheNames() and then rename it when ready). + const cache = await caches.open(cacheName); + + try { + return await Promise.all(responses.map( + (response, i) => cache.put(fileList[i], response) + )); + } + catch (err) + { + // Not sure why cache.put() would fail (maybe if storage quota exceeded?) but in case it does, + // clean up the cache to try to avoid leaving behind an incomplete cache. + console.error(CONSOLE_PREFIX + "Error writing cache entries: ", err); + caches.delete(cacheName); + throw err; + } +}; + +async function UpdateCheck(isFirst) +{ + try { + // Always bypass cache when requesting offline.js to make sure we find out about new versions. + const response = await fetchWithBypass(OFFLINE_DATA_FILE, true); + + if (!response.ok) + throw new Error(OFFLINE_DATA_FILE + " responded with " + response.status + " " + response.statusText); + + const data = await response.json(); + + const version = data.version; + const fileList = data.fileList; + const lazyLoadList = data.lazyLoad; + const currentCacheName = GetCacheVersionName(version); + + const cacheExists = await caches.has(currentCacheName); + + // Don't recache if there is already a cache that exists for this version. Assume it is complete. + if (cacheExists) + { + // Log whether we are up-to-date or pending an update. + const isUpdatePending = await IsUpdatePending(); + if (isUpdatePending) + { + console.log(CONSOLE_PREFIX + "Update pending"); + Broadcast("update-pending"); + } + else + { + console.log(CONSOLE_PREFIX + "Up to date"); + Broadcast("up-to-date"); + } + return; + } + + // Implicitly add the main page URL to the file list, e.g. "index.html", so we don't have to assume a specific name. + const mainPageUrl = await GetMainPageUrl(); + + // Prepend the main page URL to the file list if we found one and it is not already in the list. + // Also make sure we request the base / which should serve the main page. + fileList.unshift("./"); + + if (mainPageUrl && fileList.indexOf(mainPageUrl) === -1) + fileList.unshift(mainPageUrl); + + console.log(CONSOLE_PREFIX + "Caching " + fileList.length + " files for offline use"); + + if (isFirst) + Broadcast("downloading"); + else + BroadcastDownloadingUpdate(version); + + // Note we don't bypass the cache on the first update check. This is because SW installation and the following + // update check caching will race with the normal page load requests. For any normal loading fetches that have already + // completed or are in-flight, it is pointless and wasteful to cache-bust the request for offline caching, since that + // forces a second network request to be issued when a response from the browser HTTP cache would be fine. + if (lazyLoadList) + await WriteLazyLoadListToStorage(lazyLoadList); // dump lazy load list to local storage# + + await CreateCacheFromFileList(currentCacheName, fileList, !isFirst); + const isUpdatePending = await IsUpdatePending(); + + if (isUpdatePending) + { + console.log(CONSOLE_PREFIX + "All resources saved, update ready"); + BroadcastUpdateReady(version); + } + else + { + console.log(CONSOLE_PREFIX + "All resources saved, offline support ready"); + Broadcast("offline-ready"); + } + } + catch (err) + { + // Update check fetches fail when we're offline, but in case there's any other kind of problem with it, log a warning. + console.warn(CONSOLE_PREFIX + "Update check failed: ", err); + } +}; + +self.addEventListener("install", event => +{ + // On install kick off an update check to cache files on first use. + // If it fails we can still complete the install event and leave the SW running, we'll just + // retry on the next navigate. + event.waitUntil( + UpdateCheck(true) // first update + .catch(() => null) + ); +}); + +async function GetCacheNameToUse(availableCacheNames, doUpdateCheck) +{ + // Prefer the oldest cache available. This avoids mixed-version responses by ensuring that if a new cache + // is created and filled due to an update check while the page is running, we keep returning resources + // from the original (oldest) cache only. + if (availableCacheNames.length === 1 || !doUpdateCheck) + return availableCacheNames[0]; + + // We are making a navigate request with more than one cache available. Check if we can expire any old ones. + const allClients = await clients.matchAll(); + + // If there are other clients open, don't expire anything yet. We don't want to delete any caches they + // might be using, which could cause mixed-version responses. + if (allClients.length > 1) + return availableCacheNames[0]; + + // Identify newest cache to use. Delete all the others. + const latestCacheName = availableCacheNames[availableCacheNames.length - 1]; + console.log(CONSOLE_PREFIX + "Updating to new version"); + + await Promise.all( + availableCacheNames.slice(0, -1) + .map(c => caches.delete(c)) + ); + + return latestCacheName; +}; + +async function HandleFetch(event, doUpdateCheck) +{ + const availableCacheNames = await GetAvailableCacheNames(); + + // No caches available: go to network + if (!availableCacheNames.length) + return fetch(event.request); + + const useCacheName = await GetCacheNameToUse(availableCacheNames, doUpdateCheck); + const cache = await caches.open(useCacheName); + const cachedResponse = await cache.match(event.request); + + if (cachedResponse) + return cachedResponse; // use cached response + + // We need to check if this request is to be lazy-cached. Send the request and load the lazy-load list + // from storage simultaneously. + const result = await Promise.all([fetch(event.request), ReadLazyLoadListFromStorage()]); + const fetchResponse = result[0]; + const lazyLoadList = result[1]; + + if (IsUrlInLazyLoadList(event.request.url, lazyLoadList)) + { + // Handle failure writing to the cache. This can happen if the storage quota is exceeded, which is particularly + // likely in Safari 11.1, which appears to have very tight storage limits. Make sure even in the event of an error + // we continue to return the response from the fetch. + try { + // Note clone response since we also respond with it + await cache.put(event.request, fetchResponse.clone()); + } + catch (err) + { + console.warn(CONSOLE_PREFIX + "Error caching '" + event.request.url + "': ", err); + } + } + + return fetchResponse; +}; + +self.addEventListener("fetch", event => +{ + /** NOTE (iain) + * This check is to prevent a bug with XMLHttpRequest where if its + * proxied with "FetchEvent.prototype.respondWith" no upload progress + * events are triggered. By returning we allow the default action to + * occur instead. Currently all cross-origin requests fall back to default. + */ + if (new URL(event.request.url).origin !== location.origin) + return; + + // Check for an update on navigate requests + const doUpdateCheck = (event.request.mode === "navigate"); + + const responsePromise = HandleFetch(event, doUpdateCheck); + + if (doUpdateCheck) + { + // allow the main request to complete, then check for updates + event.waitUntil( + responsePromise + .then(() => UpdateCheck(false)) // not first check + ); + } + + event.respondWith(responsePromise); +}); \ No newline at end of file diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..08921b6 --- /dev/null +++ b/readme.md @@ -0,0 +1,4 @@ +Sequence Word TextOnly - Teacher +Mรด tแบฃ cแปงa trรฒ chฦกi +Sequence + diff --git a/source/SQ_Word_TextOnly-Teacher.capx b/source/SQ_Word_TextOnly-Teacher.capx new file mode 100644 index 0000000000000000000000000000000000000000..86fc71fa6ec928ad324d9a2ae8941e77b81262c0 GIT binary patch literal 694062 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 z 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 z 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

h7pVI6|dzWGK`89((*^fVi%-YRb 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%0Ddj4e|oxISz^$t4y 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 AwEzGB literal 0 HcmV?d00001

&~r*XV{KPw!;y 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 literal 0 HcmV?d00001 diff --git a/SQ_Word_TextOnly-Teacher/media/alert-234711.ogg b/SQ_Word_TextOnly-Teacher/media/alert-234711.ogg new file mode 100644 index 0000000000000000000000000000000000000000..c170daf0eb19110587f58602a04bb246ade5b5cc GIT binary patch literal 23907 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