summaryrefslogtreecommitdiff
path: root/js/html5ks.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/html5ks.js')
-rw-r--r--js/html5ks.js161
1 files changed, 0 insertions, 161 deletions
diff --git a/js/html5ks.js b/js/html5ks.js
deleted file mode 100644
index 2377eba..0000000
--- a/js/html5ks.js
+++ /dev/null
@@ -1,161 +0,0 @@
-(function () {
-"use strict";
-window.html5ks = {
- STUB: function (fn) {
- return console.log("STUB: " + fn);
- },
- WARN: function (msg) {
- return console.log("WARN: " + msg);
- },
- persistent: {
- seen_scenes: {},
- attraction: {
- kenji: 0,
- sc: 0,
- hanako: 0
- },
- hdisabled: false
- },
- save: function () {
- localStorage.persistent = JSON.stringify(this.persistent);
- },
- load: function () {
- if (localStorage.persistent) this.persistent = JSON.parse(localStorage.persistent);
- },
- elements: {
- container: document.getElementById("container"),
- video: document.getElementById("video"),
- audio: {
- music: document.getElementById("music"),
- ambient: document.getElementById("ambient"),
- sound: document.getElementById("sound")
- },
- say: document.getElementById("say")
- },
- seen_scene: function (scene) {
- return !!this.persistent.seen_scenes[scene];
- },
- scene_register: function (scene) {
- this.persistent.seen_scenes.scene = true;
- },
- play: function (channel, name, fade) {
- if (fade) this.WARN("fade not implemented");
- var deferred = when.defer(),
- audio = this.elements.audio[channel];
- audio.src = "/dump/" + (channel === "music" ? "bgm/" + this.music[name] + ".ogg" : this.sfx[name]);
- audio.load();
- audio.play();
- if (channel !== "music") {
- audio.addEventListener("ended", function () {
- deferred.resolve(this);
- }, false);
- } else {
- audio.addEventListener("playing", function () {
- deferred.resolve(this);
- }, false);
- }
- audio.addEventListener("error", function () {
- deferred.reject(this.error);
- }, false);
- return deferred.promise;
- },
- play_video: function (vid_src) {
- var deferred = when.defer(),
- video = this.elements.video;
- video.src = "/dump/video/" + vid_src + ".webm";
- video.load();
- video.play();
- video.addEventListener("ended", function () {
- deferred.resolve(this);
- }, false);
- video.addEventListener("error", function () {
- deferred.reject(this.error);
- }, false);
- return deferred.promise;
- },
- act_op: function (this_video) {
- // strip off extension
- return this.play_video(this_video.slice(0,-4));
- },
- iscene: function (target, is_h, is_end) {
- this.scene_register(target);
- return window.script[target]();
- },
- window: function (action, transition) {
- var deferred = when.defer();
- setTimeout(function () {
- deferred.resolve(action);
- }, 100);
- return deferred.promise;
- },
- sceneTypes: {
- "ev": "event",
- "evh": "event",
- "ovl": "event",
- "bg": "bgs",
- "": "vfx"
- },
- // NOT iscene
- scene: function (type, name) {
- var deferred = when.defer();
- if (typeof name == "undefined") name = type;
- var bg = document.getElementById("bg");
- if (name == "black") {
- bg.src = "";
- bg.style.background = "black";
- deferred.resolve(this);
- return deferred.promise;
- }
- this.WARN("don't know extension, trying all");
- var img = "/dump/" + this.sceneTypes[type] + "/" + name;
- bg.onerror = function () {
- bg.onerror = function () {
- bg.onerror = function () {
- deferred.reject(this.error);
- };
- bg.src = img + ".jpg";
- };
- bg.src = img + ".png";
- };
- bg.onload = function () {
- deferred.resolve(this);
- };
- bg.src = img + ".webp";
- return deferred.promise;
- },
- scale: function () {
- var newScale = 1,
- height = document.documentElement.clientHeight,
- width = document.documentElement.clientWidth;
- if (height / width <= 0.75) { // widescreen
- newScale = height / 600;
- } else {
- newScale = width / 800;
- }
- this.elements.container.style.transform = "scale(" + newScale + ")";
- },
- loadChars: function () {
- for (var character in this.characters) {
- this[character] = function (text) {
- var deferred = when.defer();
- this.elements.say.textContent = text;
- setTimeout(function () {
- deferred.resolve(text);
- }, 1000);
- return deferred.promise;
- };
- };
- },
- onload: function () {
- this.load();
- this.scale();
- window.addEventListener("resize", function () {
- html5ks.scale();
- }, false);
- this.loadChars();
- }
-};
-document.addEventListener("DOMContentLoaded", function () {
- html5ks.onload();
-}, false);
-}());