diff --git a/source/css/moonshot-reveal.css b/source/css/moonshot-reveal.css index f61aa98..2f6b817 100644 --- a/source/css/moonshot-reveal.css +++ b/source/css/moonshot-reveal.css @@ -5,14 +5,19 @@ * CUBE TRANSITION *********************************************/ -.reveal.cube .slides section { +.reveal.linear .slides section { padding: 30px; - height: 1080px; + /*height: 1080px;*/ + height: 95%%; + width: 95%; background: rgba(0, 0, 0, 0.8); border-radius: 50px; text-align: left; } +.reveal.linear .slides>section.stack { + background: none; +} .reveal img, .reveal video, diff --git a/source/fonts/armata-regular-webfont.eot b/source/fonts/armata-regular-webfont.eot new file mode 100644 index 0000000..26b039a Binary files /dev/null and b/source/fonts/armata-regular-webfont.eot differ diff --git a/source/fonts/armata-regular-webfont.svg b/source/fonts/armata-regular-webfont.svg index 5f46596..8d7942f 100644 --- a/source/fonts/armata-regular-webfont.svg +++ b/source/fonts/armata-regular-webfont.svg @@ -1,13 +1,12 @@ - + - - + @@ -145,6 +144,7 @@ + @@ -254,7 +254,7 @@ - + diff --git a/source/fonts/armata-regular-webfont.woff b/source/fonts/armata-regular-webfont.woff new file mode 100644 index 0000000..07287d2 Binary files /dev/null and b/source/fonts/armata-regular-webfont.woff differ diff --git a/source/fonts/bitter-regular-webfont.eot b/source/fonts/bitter-regular-webfont.eot new file mode 100644 index 0000000..d23dc64 Binary files /dev/null and b/source/fonts/bitter-regular-webfont.eot differ diff --git a/source/fonts/bitter-regular-webfont.svg b/source/fonts/bitter-regular-webfont.svg index 0939e82..035b29c 100644 --- a/source/fonts/bitter-regular-webfont.svg +++ b/source/fonts/bitter-regular-webfont.svg @@ -1,13 +1,12 @@ - + - - + @@ -126,6 +125,7 @@ + @@ -235,8 +235,40 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/source/fonts/bitter-regular-webfont.woff b/source/fonts/bitter-regular-webfont.woff new file mode 100644 index 0000000..7ab0934 Binary files /dev/null and b/source/fonts/bitter-regular-webfont.woff differ diff --git a/source/fonts/raleway-regular-webfont.eot b/source/fonts/raleway-regular-webfont.eot new file mode 100644 index 0000000..f65150b Binary files /dev/null and b/source/fonts/raleway-regular-webfont.eot differ diff --git a/source/fonts/raleway-regular-webfont.svg b/source/fonts/raleway-regular-webfont.svg index 5041bb5..6c7e124 100644 --- a/source/fonts/raleway-regular-webfont.svg +++ b/source/fonts/raleway-regular-webfont.svg @@ -1,6 +1,6 @@ - + @@ -10,8 +10,7 @@ - - + @@ -239,6 +238,1842 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/source/fonts/raleway-regular-webfont.woff b/source/fonts/raleway-regular-webfont.woff new file mode 100644 index 0000000..0d40bb8 Binary files /dev/null and b/source/fonts/raleway-regular-webfont.woff differ diff --git a/source/fonts/sharetechmono-regular-webfont.eot b/source/fonts/sharetechmono-regular-webfont.eot new file mode 100644 index 0000000..971e997 Binary files /dev/null and b/source/fonts/sharetechmono-regular-webfont.eot differ diff --git a/source/fonts/sharetechmono-regular-webfont.svg b/source/fonts/sharetechmono-regular-webfont.svg index 2252372..891884d 100644 --- a/source/fonts/sharetechmono-regular-webfont.svg +++ b/source/fonts/sharetechmono-regular-webfont.svg @@ -1,6 +1,6 @@ - + @@ -238,6 +238,6 @@ - + \ No newline at end of file diff --git a/source/fonts/sharetechmono-regular-webfont.woff b/source/fonts/sharetechmono-regular-webfont.woff new file mode 100644 index 0000000..6c8f1b7 Binary files /dev/null and b/source/fonts/sharetechmono-regular-webfont.woff differ diff --git a/source/fonts/stylesheet.css b/source/fonts/stylesheet.css index 0098bd6..2d455eb 100644 --- a/source/fonts/stylesheet.css +++ b/source/fonts/stylesheet.css @@ -1,13 +1,14 @@ -/* Generated by Font Squirrel (http://www.fontsquirrel.com) on July 28, 2013 */ +/* Generated by Font Squirrel (http://www.fontsquirrel.com) on January 14, 2015 */ @font-face { font-family: 'armataregular'; - src: /*url('armata-regular-webfont.eot'); - src: url('armata-regular-webfont.eot?#iefix') format('embedded-opentype'), + src: url('armata-regular-webfont.eot'); + src: /*url('armata-regular-webfont.eot?#iefix') format('embedded-opentype'), + url('armata-regular-webfont.woff2') format('woff2'),*/ url('armata-regular-webfont.woff') format('woff'), - url('armata-regular-webfont.ttf') format('truetype'),*/ + /*url('armata-regular-webfont.ttf') format('truetype'),*/ url('armata-regular-webfont.svg#armataregular') format('svg'); font-weight: normal; font-style: normal; @@ -17,29 +18,15 @@ -@font-face { - font-family: 'averia_serif_libreregular'; - src: /*url('averiaseriflibre-regular-webfont.eot'); - src: url('averiaseriflibre-regular-webfont.eot?#iefix') format('embedded-opentype'), - url('averiaseriflibre-regular-webfont.woff') format('woff'), - url('averiaseriflibre-regular-webfont.ttf') format('truetype'),*/ - url('averiaseriflibre-regular-webfont.svg#averia_serif_libreregular') format('svg'); - font-weight: normal; - font-style: normal; - -} - - - - @font-face { font-family: 'bitterregular'; - src: url('bitter-regular-webfont.svg') format('svg'); -/* src: url('bitter-regular-webfont.eot?#iefix') format('embedded-opentype'), + src: url('bitter-regular-webfont.eot'); + src: /*url('bitter-regular-webfont.eot?#iefix') format('embedded-opentype'), + url('bitter-regular-webfont.woff2') format('woff2'),*/ url('bitter-regular-webfont.woff') format('woff'), - url('bitter-regular-webfont.ttf') format('truetype'), + /*url('bitter-regular-webfont.ttf') format('truetype'),*/ url('bitter-regular-webfont.svg#bitterregular') format('svg'); -*/ font-weight: normal; + font-weight: normal; font-style: normal; } @@ -49,10 +36,11 @@ @font-face { font-family: 'ralewayregular'; - src: /*url('raleway-regular-webfont.eot'); - src: url('raleway-regular-webfont.eot?#iefix') format('embedded-opentype'), + src: url('raleway-regular-webfont.eot'); + src: /*url('raleway-regular-webfont.eot?#iefix') format('embedded-opentype'), + url('raleway-regular-webfont.woff2') format('woff2'),*/ url('raleway-regular-webfont.woff') format('woff'), - url('raleway-regular-webfont.ttf') format('truetype'),*/ + /*url('raleway-regular-webfont.ttf') format('truetype'),*/ url('raleway-regular-webfont.svg#ralewayregular') format('svg'); font-weight: normal; font-style: normal; @@ -64,10 +52,11 @@ @font-face { font-family: 'share_tech_monoregular'; - src: /*url('sharetechmono-regular-webfont.eot'); - src: url('sharetechmono-regular-webfont.eot?#iefix') format('embedded-opentype'), + src: url('sharetechmono-regular-webfont.eot'); + src: /*url('sharetechmono-regular-webfont.eot?#iefix') format('embedded-opentype'), + url('sharetechmono-regular-webfont.woff2') format('woff2'),*/ url('sharetechmono-regular-webfont.woff') format('woff'), - url('sharetechmono-regular-webfont.ttf') format('truetype'),*/ + /*url('sharetechmono-regular-webfont.ttf') format('truetype'),*/ url('sharetechmono-regular-webfont.svg#share_tech_monoregular') format('svg'); font-weight: normal; font-style: normal; @@ -79,12 +68,13 @@ @font-face { font-family: 'vigaregular'; - src: /*url('viga-regular-webfont.eot'); - src: url('viga-regular-webfont.eot?#iefix') format('embedded-opentype'), + src: url('viga-regular-webfont.eot'); + src: /*url('viga-regular-webfont.eot?#iefix') format('embedded-opentype'), + url('viga-regular-webfont.woff2') format('woff2'),*/ url('viga-regular-webfont.woff') format('woff'), - url('viga-regular-webfont.ttf') format('truetype'),*/ + /*url('viga-regular-webfont.ttf') format('truetype'),*/ url('viga-regular-webfont.svg#vigaregular') format('svg'); font-weight: normal; font-style: normal; -} +} \ No newline at end of file diff --git a/source/fonts/viga-regular-webfont.eot b/source/fonts/viga-regular-webfont.eot new file mode 100644 index 0000000..cc3c9cf Binary files /dev/null and b/source/fonts/viga-regular-webfont.eot differ diff --git a/source/fonts/viga-regular-webfont.svg b/source/fonts/viga-regular-webfont.svg index 614d3ae..61c99c3 100644 --- a/source/fonts/viga-regular-webfont.svg +++ b/source/fonts/viga-regular-webfont.svg @@ -1,13 +1,12 @@ - + - - + @@ -93,7 +92,7 @@ - + @@ -126,6 +125,7 @@ + @@ -235,7 +235,7 @@ - + diff --git a/source/fonts/viga-regular-webfont.woff b/source/fonts/viga-regular-webfont.woff new file mode 100644 index 0000000..9591c25 Binary files /dev/null and b/source/fonts/viga-regular-webfont.woff differ diff --git a/source/index.html b/source/index.html index 1a38b46..2d48993 100644 --- a/source/index.html +++ b/source/index.html @@ -185,18 +185,47 @@

- + + + diff --git a/source/lib/moonshot.js b/source/lib/moonshot.js index 22c7dda..0e5ae30 100644 --- a/source/lib/moonshot.js +++ b/source/lib/moonshot.js @@ -4,12 +4,18 @@ var _ = require('./vendor/underscore-min.js'), $ = require('./vendor/jquery-2.0.3.min.js'), fs = require('fs'), - path = require('path'); + path = require('path'), + util = require('util'), + EventEmitter = require('events').EventEmitter; var gui = window.require('nw.gui'); var win = gui.Window.get(); - var Moonshot = function Moonshot(){ + util.inherits(Moonshot, EventEmitter); + + function Moonshot(){ + EventEmitter.call(this); + _.templateSettings.variable = 'rc'; var games = {}; @@ -20,7 +26,7 @@ var isDirectory = function(file) { return fs.statSync(path.join(games_path, file)).isDirectory(); - } + }; fs.readdirSync(games_path) .filter(isDirectory) @@ -49,10 +55,10 @@ ); $('.slides script').remove(); this.games = games; - }; + } - Moonshot.prototype = { + _.extend(Moonshot.prototype, { _fonts: [ 'bitterregular' ,'armataregular' @@ -72,13 +78,14 @@ this._gallery = Reveal; this._cashSound = window.document.createElement('audio'); this._cashSound.setAttribute('src', 'audio/coin2.ogg'); + Reveal.initialize({ width: window.innerWidth ,height: window.innerHeight ,margin: 0.25 ,loop: true ,keyboard: false - ,transition: 'cube' + ,transition: 'linear' ,autoSlide: 0 }); @@ -132,7 +139,7 @@ }, airTime*0.75); setTimeout(function() { self.state = 'running'; - }, airTime) + }, airTime); } }); break; @@ -154,6 +161,8 @@ this.setupInputs(); this._setFont(); this.animate.call(this); + this.emit('moonshot:start'); + this.setAttractMode(false, false); } ,animate: function() { window.moonshot._entities.forEach(function(entity) { @@ -163,50 +172,61 @@ } ,setAttractMode: function(enable, permanent) { var self = this; - if(!enable) { - window.clearTimeout(this._attractTimer); - if(permanent !== true) { - this._attractTimer = window.setTimeout( - function() {self.setAttractMode(true);} - , 30000); - } + if (enable && !this._attractMode) { + this.emit('attract:start'); + } else if (!enable && this._attractMode) { + this.emit('attract:end'); } + // if we want to enable or if (enable || this._attractMode) { $('[class*="autoslide"]').each(function(i, slide) { var delay = enable ? slide.className.match(/autoslide-(\d+)/)[1] : 0; slide.setAttribute('data-autoslide', delay); }); - this._attractMode = !this._attractMode ? 1 : 0; + this._attractMode = !this._attractMode; this._gallery.configure({ autoSlide: this._attractMode }); } + if(!enable) { + window.clearTimeout(this._attractTimer); + if(!permanent) { + this._attractTimer = window.setTimeout( + function() {self.setAttractMode(true);} + , 30000); + } + } } ,setupInputs: function() { var input = this._input; - input.on('button_down', _.bind(function(button, padnum) { + input.on('button_down', function(button, padnum) { this.setAttractMode(false); + var slug = $(this._gallery.getCurrentSlide()).parent().data('slug'); switch(button) { case 'action': - var slug = $(this._gallery.getCurrentSlide()).parent().data('slug'); if(this.games.hasOwnProperty(slug)) { this.startGame(slug); } break; case 'coin': + this.emit('input:coin', slug); this._cashSound.currentTime = 0; this._cashSound.play(); break; case 'left': + this.emit('input:nav', 'left'); this._gallery.left(); break; case 'right': + this.emit('input:nav', 'right'); this._gallery.right(); break; case 'up': + this.emit('input:nav', 'up'); this._gallery.up(); break; case 'down': + this.emit('input:nav', 'down'); this._gallery.down(); break; case 'button5': @@ -225,7 +245,7 @@ gui.App.quit(); break; } - }, this)); + }.bind(this)); } ,endGame: function() { this.setupInputs(); @@ -238,21 +258,30 @@ , args = this.games[gameSlug].args || "" , options = this.games[gameSlug].cwd ? {cwd: this.games[gameSlug].cwd} : {}; + // No executable? Don't start anything. + if (!exec) return; + this._input.teardown(); this.setAttractMode(false, true); this._gallery.togglePause(); this._gamePid = this._cp.exec(exec+" "+args, options, _.bind(function(error, stdout, stderr){ + this.emit('game:end', gameSlug, Date.now() - this._gameStartedAt); if (error) { console.log(error.stack); console.log('Error code: '+error.code); console.log('Signal received: '+error.signal); + this.emit('game:error', gameSlug, JSON.stringify(error)); } console.log('Child Process STDOUT: '+stdout); console.log('Child Process STDERR: '+stderr); this.endGame(); }, this)).pid; + + this._gameStartedAt = Date.now(); + this.emit('game:start', gameSlug); }, 5000, {trailing: false}) + ,_nextFont: function() { // TODO: not working. this._fontIndex--; @@ -275,7 +304,7 @@ ,_clamp: function(num, min, max) { return Math.min(Math.max(min, num), max); } - }; + }); exports.Moonshot = Moonshot; diff --git a/source/lib/sqlite.js b/source/lib/sqlite.js new file mode 100644 index 0000000..961a030 --- /dev/null +++ b/source/lib/sqlite.js @@ -0,0 +1,63 @@ +(function(exports) { + /* jshint node:true */ + 'use strict'; + + var fs = require('fs'); + var path = require('path'); + var stream = require('stream'); + var cp = require('child_process'); + var _ = require('./vendor/underscore-min.js'); + + var SQLITE_EXE = 'sqlite3'; + ['sqlite3', 'sqlite3.exe'].forEach(function(sqliteExe) { + var sqlitePath = path.join(path.dirname(process.execPath), sqliteExe); + SQLITE_EXE = fs.existsSync(sqlitePath) ? sqlitePath : SQLITE_EXE; + }); + + exports.Sqlite = Sqlite; + + function Sqlite(file) { + this._file = file; + } + + var $class = Sqlite.prototype; + + $class.run = function(stmt) { + this.exec(stmt, function(){}); + }; + + $class.runSync = function(stmt) { + this.execSync(stmt); + }; + + $class.exec = function(stmt, done) { + var sqlite = cp.spawn(SQLITE_EXE, [this._file], {stdio: 'pipe'}); + var output = ''; + sqlite.stdout.on('data', function(data) { + output += data.toString(); + }); + sqlite.on('close', function(code) { + output = _buildOutput(output); + done(code || null, output); + }); + sqlite.stdin.write(stmt); + sqlite.stdin.end(); + }; + + $class.execSync = function(stmt) { + var sqlite = cp.spawnSync(SQLITE_EXE, [this._file], {input: stmt}); + var output = _buildOutput(sqlite.stdout); + return output; + }; + + function _buildOutput(stdout) { + var output = stdout.toString().split('\n'); + output = output.reduce(function(sum, line) { + if (line) sum.push(line); + return sum; + }, []); + output = output.map(function(line) { return line.split('|'); }); + return output; + } + +})(((typeof(module) !== 'undefined') && module.exports) || window); diff --git a/source/lib/stats.js b/source/lib/stats.js new file mode 100644 index 0000000..29e1308 --- /dev/null +++ b/source/lib/stats.js @@ -0,0 +1,108 @@ +(function(exports) { + /* jshint node:true */ + 'use strict'; + + var _ = require('./vendor/underscore-min.js'); + + var SHUTDOWN_UPDATE_INTERVAL_MS = 5000; + + exports.Stats = Stats; + + function Stats(db, moonshot) { + this._db = db; + + _.bindAll(this, + 'onMoonshotStart', + 'onGameStart', + 'onGameEnd', + 'onGameError', + 'onAttractStart', + 'onAttractEnd', + 'onCoin' + ); + + moonshot.on('moonshot:start', this.onMoonshotStart); + moonshot.on('game:start', this.onGameStart); + moonshot.on('game:end', this.onGameEnd); + moonshot.on('game:error', this.onGameError); + moonshot.on('attract:start', this.onAttractStart); + moonshot.on('attract:end', this.onAttractEnd); + moonshot.on('input:coin', this.onCoin); + + this._onBoot(); + } + + var $class = Stats.prototype; + + $class._onBoot = function() { + this._recordSync({event: 'boot'}); + this._startShutdownMarkerLoop(); + }; + + $class.onMoonshotStart = function() { + this._record({event: 'moonshot_start'}); + }; + + $class.onGameStart = function(gameSlug) { + this._record({event: 'game_start', game: gameSlug}); + }; + + $class.onGameEnd = function(gameSlug, duration) { + this._record({ + game: gameSlug, + event: 'game_end', + notes: (duration / 60000).toFixed(2) + 'm' + }); + }; + + $class.onGameError = function(gameSlug, err) { + this._record({event: 'game_error', game: gameSlug, notes: err.toString()}); + }; + + $class.onAttractStart = function() { + this._record({event: 'attract_start'}); + }; + + $class.onAttractEnd = function() { + this._record({event: 'attract_end'}); + }; + + $class.onCoin = function(gameSlug) { + this._record({event: 'coin', game: gameSlug}); + }; + + // Not sure we can reliably detect shutdown, so create a shutdown marker at + // boot and keep advancing its timestamp as long as we're alive. + $class._startShutdownMarkerLoop = function() { + var self = this; + var insertMarkerStmt = 'INSERT INTO stats' + + " (event) VALUES ('shutdown'); SELECT last_insert_rowid();"; + var updateMarkerStmt = 'UPDATE stats' + + ' SET event_at = CURRENT_TIMESTAMP WHERE id = '; + + var data = this._db.execSync(insertMarkerStmt); + var markerID = data[0][0]; + setInterval(function() { + self._db.run(updateMarkerStmt + markerID + ';', function(){}); + }, SHUTDOWN_UPDATE_INTERVAL_MS); + }; + + $class._record = function(data) { + this._db.run('INSERT INTO stats (game, event, notes) VALUES (' + + '"' + (data.game || '') + '",' + + '"' + (data.event || '') + '",' + + '"' + (data.notes || '') + '"' + + ');', function(){}); + }; + + $class._recordSync = function(data) { + this._db.runSync('INSERT INTO stats (game, event, notes) VALUES (' + + '"' + (data.game || '') + '",' + + '"' + (data.event || '') + '",' + + '"' + (data.notes || '') + '"' + + ');'); + }; + + + +})(((typeof(module) !== 'undefined') && module.exports) || window); diff --git a/source/package.json b/source/package.json index 143e174..e56635a 100644 --- a/source/package.json +++ b/source/package.json @@ -2,25 +2,27 @@ "name": "moonshot", "main": "index.html", "description": "Game launcher for the Lexitron arcade machine.", - "version": "0.1.0", - "keywords": [ "lexitron", "indie", "games", "launcher", "frontend" ], + "version": "1.0.0", + "keywords": [ + "lexitron", + "indie", + "games", + "launcher", + "frontend" + ], "window": { - // For production, use kiosk mode. - //"kiosk": true, "fullscreen": true, "frame": false, - //"icon": "link.png", - //"toolbar": true, "toolbar": false, "width": 1920, "height": 1080, "position": "mouse", "min_width": 400, - "min_height": 200 - // "max_width": 800, - // "max_height": 600 + "min_height": 200, + "//": "For production, use kiosk mode.", + "kiosk": false, + "icon": "", + "max_width": 8000, + "max_height": 6000 } - // "webkit": { - // "plugin": true - // } }