diff --git a/.gitignore b/.gitignore index e43b0f98..4befed30 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .DS_Store +.idea diff --git a/bkcore/Audio.js b/bkcore/Audio.js index 95f0ac27..0a27ce02 100644 --- a/bkcore/Audio.js +++ b/bkcore/Audio.js @@ -1,4 +1,4 @@ -var bkcore = bkcore || {}; +const bkcore = bkcore || {}; bkcore.Audio = {}; bkcore.Audio.sounds = {}; @@ -19,18 +19,18 @@ bkcore.Audio.init = function(){ bkcore.Audio.init(); bkcore.Audio.addSound = function(src, id, loop, callback, usePanner){ - var ctx = bkcore.Audio._ctx; + const ctx = bkcore.Audio._ctx; var audio = new Audio(); if(ctx){ var audio = { src: null, gainNode: null, bufferNode: null, loop: loop }; - var xhr = new XMLHttpRequest(); + const xhr = new XMLHttpRequest(); xhr.responseType = 'arraybuffer'; xhr.onload = function(){ ctx.decodeAudioData(xhr.response, function(b){ // Create Gain Node - var gainNode = ctx.createGain(); + const gainNode = ctx.createGain(); if(usePanner === true){ gainNode.connect(bkcore.Audio._panner); @@ -72,10 +72,10 @@ bkcore.Audio.addSound = function(src, id, loop, callback, usePanner){ }; bkcore.Audio.play = function(id){ - var ctx = bkcore.Audio._ctx; + const ctx = bkcore.Audio._ctx; if(ctx){ - var sound = ctx.createBufferSource(); + const sound = ctx.createBufferSource(); sound.connect(bkcore.Audio.sounds[id].gainNode); sound.buffer = bkcore.Audio.sounds[id].src; @@ -97,7 +97,7 @@ bkcore.Audio.play = function(id){ }; bkcore.Audio.stop = function(id){ - var ctx = bkcore.Audio._ctx; + const ctx = bkcore.Audio._ctx; if(ctx){ if(bkcore.Audio.sounds[id].bufferNode !== null){ @@ -112,7 +112,7 @@ bkcore.Audio.stop = function(id){ }; bkcore.Audio.volume = function(id, volume){ - var ctx = bkcore.Audio._ctx; + const ctx = bkcore.Audio._ctx; if(ctx){ bkcore.Audio.sounds[id].gainNode.gain.value = volume; @@ -124,8 +124,8 @@ bkcore.Audio.volume = function(id, volume){ bkcore.Audio.setListenerPos = function(vec){ if(bkcore.Audio._ctx){ - var panner = bkcore.Audio._panner; - var vec2 = vec.normalize(); + const panner = bkcore.Audio._panner; + const vec2 = vec.normalize(); panner.setPosition( vec2.x * bkcore.Audio.posMultipler, vec2.y * bkcore.Audio.posMultipler, @@ -136,7 +136,7 @@ bkcore.Audio.setListenerPos = function(vec){ bkcore.Audio.setListenerVelocity = function(vec){ if(bkcore.Audio._ctx){ - var panner = bkcore.Audio._panner; + const panner = bkcore.Audio._panner; panner.setVelocity(vec.x, vec.y, vec.z); } }; \ No newline at end of file diff --git a/bkcore/hexgl/CameraChase.js b/bkcore/hexgl/CameraChase.js index 69a55c74..b2d330d4 100644 --- a/bkcore/hexgl/CameraChase.js +++ b/bkcore/hexgl/CameraChase.js @@ -5,7 +5,7 @@ * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/3.0/. */ -var bkcore = bkcore || {}; +const bkcore = bkcore || {}; bkcore.hexgl = bkcore.hexgl || {}; bkcore.hexgl.CameraChase = function(opts) diff --git a/bkcore/hexgl/Gameplay.js b/bkcore/hexgl/Gameplay.js index 9827deef..dad01d8e 100644 --- a/bkcore/hexgl/Gameplay.js +++ b/bkcore/hexgl/Gameplay.js @@ -5,12 +5,12 @@ * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/3.0/. */ -var bkcore = bkcore || {}; +const bkcore = bkcore || {}; bkcore.hexgl = bkcore.hexgl || {}; bkcore.hexgl.Gameplay = function(opts) { - var self = this; + const self = this; this.startDelay = opts.hud == null ? 0 : 1000; this.countDownDelay = opts.hud == null ? 1000 : 1500; @@ -58,12 +58,12 @@ bkcore.hexgl.Gameplay = function(opts) self.raceData.tick(this.timer.time.elapsed); self.hud != null && self.hud.updateTime(self.timer.getElapsedTime()); - var cp = self.checkPoint(); + const cp = self.checkPoint(); if(cp == self.track.checkpoints.start && self.previousCheckPoint == self.track.checkpoints.last) { self.previousCheckPoint = cp; - var t = self.timer.time.elapsed; + const t = self.timer.time.elapsed; self.lapTimes.push(t - self.lapTimeElapsed); self.lapTimeElapsed = t; @@ -131,7 +131,7 @@ bkcore.hexgl.Gameplay.prototype.start = function(opts) if(this.hud != null) this.hud.messageOnly = true; try { - var d = localStorage['race-'+this.track.name+'-replay']; + const d = localStorage['race-'+this.track.name+'-replay']; if(d == undefined) { console.error('No replay data for '+'race-'+this.track.name+'-replay'+'.'); @@ -219,10 +219,10 @@ bkcore.hexgl.Gameplay.prototype.update = function() bkcore.hexgl.Gameplay.prototype.checkPoint = function() { - var x = Math.round(this.analyser.pixels.width/2 + this.shipControls.dummy.position.x * this.pixelRatio); - var z = Math.round(this.analyser.pixels.height/2 + this.shipControls.dummy.position.z * this.pixelRatio); + const x = Math.round(this.analyser.pixels.width/2 + this.shipControls.dummy.position.x * this.pixelRatio); + const z = Math.round(this.analyser.pixels.height/2 + this.shipControls.dummy.position.z * this.pixelRatio); - var color = this.analyser.getPixel(x, z); + const color = this.analyser.getPixel(x, z); if(color.r == 255 && color.g == 255 && color.b < 250) return color.b; diff --git a/bkcore/hexgl/HUD.js b/bkcore/hexgl/HUD.js index 068e123d..d96d6fa4 100644 --- a/bkcore/hexgl/HUD.js +++ b/bkcore/hexgl/HUD.js @@ -5,12 +5,12 @@ * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/3.0/. */ -var bkcore = bkcore || {}; +const bkcore = bkcore || {}; bkcore.hexgl = bkcore.hexgl || {}; bkcore.hexgl.HUD = function(opts) { - var self = this; + const self = this; this.visible = true; this.messageOnly = false; @@ -121,11 +121,11 @@ bkcore.hexgl.HUD.prototype.resetTime = function() bkcore.hexgl.HUD.prototype.update = function(speed, speedRatio, shield, shieldRatio) { - var SCREEN_WIDTH = this.width; - var SCREEN_HEIGHT = this.height; + const SCREEN_WIDTH = this.width; + const SCREEN_HEIGHT = this.height; - var SCREEN_HW = SCREEN_WIDTH / 2; - var SCREEN_HH = SCREEN_HEIGHT / 2; + const SCREEN_HW = SCREEN_WIDTH / 2; + const SCREEN_HH = SCREEN_HEIGHT / 2; if(!this.visible) { @@ -133,22 +133,22 @@ bkcore.hexgl.HUD.prototype.update = function(speed, speedRatio, shield, shieldRa return; } - var w = this.bg.width; - var h = this.bg.height; - var r = h/w; - var nw = SCREEN_WIDTH; - var nh = nw*r; - var oh = SCREEN_HEIGHT - nh; - var o = 0; + const w = this.bg.width; + const h = this.bg.height; + const r = h/w; + const nw = SCREEN_WIDTH; + const nh = nw*r; + const oh = SCREEN_HEIGHT - nh; + const o = 0; //speedbar - var ba = nh; - var bl = SCREEN_WIDTH/this.speedBarRatio; - var bw = bl * speedRatio; + const ba = nh; + const bl = SCREEN_WIDTH/this.speedBarRatio; + const bw = bl * speedRatio; //shieldbar - var sw = SCREEN_WIDTH/this.shieldBarWRatio; - var sho = SCREEN_WIDTH/this.shieldBarHRatio; - var sh = sho*shieldRatio; - var sy = (SCREEN_WIDTH/this.shieldBarYRatio)+sho-sh; + const sw = SCREEN_WIDTH/this.shieldBarWRatio; + const sho = SCREEN_WIDTH/this.shieldBarHRatio; + const sh = sho*shieldRatio; + const sy = (SCREEN_WIDTH/this.shieldBarYRatio)+sho-sh; if(this.step == 0) @@ -213,7 +213,7 @@ bkcore.hexgl.HUD.prototype.update = function(speed, speedRatio, shield, shieldRa } // MESSAGE - var my = SCREEN_HH-SCREEN_WIDTH/this.messageYRatio; + const my = SCREEN_HH-SCREEN_WIDTH/this.messageYRatio; if(this.messageTiming > this.messageDuration+2000) { diff --git a/bkcore/hexgl/HexGL.js b/bkcore/hexgl/HexGL.js index 4da8e46e..d4959350 100644 --- a/bkcore/hexgl/HexGL.js +++ b/bkcore/hexgl/HexGL.js @@ -8,12 +8,12 @@ 'use strict'; 'v1.0.1'; -var bkcore = bkcore || {}; +const bkcore = bkcore || {}; bkcore.hexgl = bkcore.hexgl || {}; bkcore.hexgl.HexGL = function(opts) { - var self = this; + const self = this; this.document = opts.document || document; @@ -94,7 +94,7 @@ bkcore.hexgl.HexGL.prototype.start = function() this.manager.setCurrent("game"); - var self = this; + const self = this; function raf() { @@ -155,7 +155,7 @@ bkcore.hexgl.HexGL.prototype.load = function(opts) bkcore.hexgl.HexGL.prototype.initGameplay = function() { - var self = this; + const self = this; this.gameplay = new bkcore.hexgl.Gameplay({ mode: this.mode, @@ -182,8 +182,8 @@ bkcore.hexgl.HexGL.prototype.displayScore = function(f, l) { this.active = false; - var tf = bkcore.Timer.msToTimeString(f); - var tl = [ + const tf = bkcore.Timer.msToTimeString(f); + const tl = [ bkcore.Timer.msToTimeString(l[0]), bkcore.Timer.msToTimeString(l[1]), bkcore.Timer.msToTimeString(l[2]) @@ -197,21 +197,21 @@ bkcore.hexgl.HexGL.prototype.displayScore = function(f, l) return; } - var t = this.track; - var dc = this.document.getElementById("finish"); - var ds = this.document.getElementById("finish-state"); - var dh = this.document.getElementById("finish-hallmsg"); - var dr = this.document.getElementById("finish-msg"); - var dt = this.document.getElementById("finish-result"); - var dl1 = this.document.getElementById("finish-lap1"); - var dl2 = this.document.getElementById("finish-lap2"); - var dl3 = this.document.getElementById("finish-lap3"); - var dd = this.document.getElementById("finish-diff") - var st = this.document.getElementById("finish-twitter"); - var sf = this.document.getElementById("finish-fb"); - var sl = this.document.getElementById("lowfps-msg"); - var d = this.difficulty == 0 ? 'casual' : 'hard'; - var ts = this.hud.timeSeparators; + const t = this.track; + const dc = this.document.getElementById("finish"); + const ds = this.document.getElementById("finish-state"); + const dh = this.document.getElementById("finish-hallmsg"); + const dr = this.document.getElementById("finish-msg"); + const dt = this.document.getElementById("finish-result"); + const dl1 = this.document.getElementById("finish-lap1"); + const dl2 = this.document.getElementById("finish-lap2"); + const dl3 = this.document.getElementById("finish-lap3"); + const dd = this.document.getElementById("finish-diff"); + const st = this.document.getElementById("finish-twitter"); + const sf = this.document.getElementById("finish-fb"); + const sl = this.document.getElementById("lowfps-msg"); + const d = this.difficulty == 0 ? 'casual' : 'hard'; + const ts = this.hud.timeSeparators; if(this.gameplay.result == this.gameplay.results.FINISH) { @@ -233,7 +233,7 @@ bkcore.hexgl.HexGL.prototype.displayScore = function(f, l) } } // ladder record - var p = bkcore.hexgl.Ladder.global[t][d][bkcore.hexgl.Ladder.global[t][d].length-2]; + const p = bkcore.hexgl.Ladder.global[t][d][bkcore.hexgl.Ladder.global[t][d].length-2]; if(p != undefined && p['score'] > f) { dh != undefined && (dh.innerHTML = "You made it to the HOF!"); @@ -282,7 +282,7 @@ bkcore.hexgl.HexGL.prototype.displayScore = function(f, l) bkcore.hexgl.HexGL.prototype.initRenderer = function() { - var renderer = new THREE.WebGLRenderer({ + const renderer = new THREE.WebGLRenderer({ antialias: false, clearColor: 0x000000 }); @@ -324,22 +324,22 @@ bkcore.hexgl.HexGL.prototype.initHUD = function() bkcore.hexgl.HexGL.prototype.initGameComposer = function() { - var renderTargetParameters = { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter, format: THREE.RGBFormat, stencilBuffer: false }; - var renderTarget = new THREE.WebGLRenderTarget( this.width, this.height, renderTargetParameters ); + const renderTargetParameters = { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter, format: THREE.RGBFormat, stencilBuffer: false }; + const renderTarget = new THREE.WebGLRenderTarget( this.width, this.height, renderTargetParameters ); // GAME COMPOSER - var renderSky = new THREE.RenderPass( this.manager.get("sky").scene, this.manager.get("sky").camera ); + const renderSky = new THREE.RenderPass( this.manager.get("sky").scene, this.manager.get("sky").camera ); - var renderModel = new THREE.RenderPass( this.manager.get("game").scene, this.manager.get("game").camera ); + const renderModel = new THREE.RenderPass( this.manager.get("game").scene, this.manager.get("game").camera ); renderModel.clear = false; this.composers.game = new THREE.EffectComposer( this.renderer, renderTarget ); - var effectScreen = new THREE.ShaderPass( THREE.ShaderExtras[ "screen" ] ); + const effectScreen = new THREE.ShaderPass( THREE.ShaderExtras[ "screen" ] ); effectScreen.renderToScreen = true; - var effectVignette = new THREE.ShaderPass( THREE.ShaderExtras[ "vignette" ] ); + const effectVignette = new THREE.ShaderPass( THREE.ShaderExtras[ "vignette" ] ); - var effectHex = new THREE.ShaderPass( bkcore.threejs.Shaders[ "hexvignette" ] ); + const effectHex = new THREE.ShaderPass( bkcore.threejs.Shaders[ "hexvignette" ] ); effectHex.uniforms[ 'size' ].value = 512.0 * (this.width/1633); effectHex.uniforms[ 'rx' ].value = this.width; effectHex.uniforms[ 'ry' ].value = this.height; @@ -365,7 +365,7 @@ bkcore.hexgl.HexGL.prototype.initGameComposer = function() // desktop + quality mid or high if(this.quality > 2) { - var effectBloom = new THREE.BloomPass( 0.8, 25, 4 , 256); + const effectBloom = new THREE.BloomPass( 0.8, 25, 4 , 256); this.composers.game.addPass( effectBloom ); @@ -385,7 +385,7 @@ bkcore.hexgl.HexGL.prototype.createMesh = function(parent, geometry, x, y, z, ma { geometry.computeTangents(); - var mesh = new THREE.Mesh( geometry, mat ); + const mesh = new THREE.Mesh( geometry, mat ); mesh.position.set( x, y, z ); parent.add(mesh); @@ -401,7 +401,7 @@ bkcore.hexgl.HexGL.prototype.createMesh = function(parent, geometry, x, y, z, ma bkcore.hexgl.HexGL.prototype.tweakShipControls = function() { - var c = this.components.shipControls; + const c = this.components.shipControls; if(this.difficulty == 1) { c.airResist = 0.035; diff --git a/bkcore/hexgl/Ladder.js b/bkcore/hexgl/Ladder.js index 8dbfd8fd..1f3f0e2f 100644 --- a/bkcore/hexgl/Ladder.js +++ b/bkcore/hexgl/Ladder.js @@ -5,7 +5,7 @@ * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/3.0/. */ -var bkcore = bkcore || {}; +const bkcore = bkcore || {}; bkcore.hexgl = bkcore.hexgl || {}; bkcore.hexgl.Ladder = {}; @@ -13,7 +13,7 @@ bkcore.hexgl.Ladder.global = {}; bkcore.hexgl.Ladder.load = function(callback) { - var s = encodeURIComponent(window.location.href); + const s = encodeURIComponent(window.location.href); bkcore.Utils.request("nothing", false, function(req) { try { @@ -32,19 +32,19 @@ bkcore.hexgl.Ladder.load = function(callback) bkcore.hexgl.Ladder.displayLadder = function(id, track, mode, num) { - var d = document.getElementById(id); + const d = document.getElementById(id); if(d == undefined || bkcore.Ladder.global[track] == undefined || !bkcore.Ladder.global[track][mode] == undefined) { console.warn('Undefined ladder.'); return; } - var l = bkcore.Ladder.global[track][mode]; - var h = ''; - var m = Math.min((num == undefined ? 10 : num), l.length-1); - for(var i = 0; i < l.length-1; i++) + const l = bkcore.Ladder.global[track][mode]; + let h = ''; + const m = Math.min((num == undefined ? 10 : num), l.length-1); + for(let i = 0; i < l.length-1; i++) { - var t = bkcore.Timer.msToTime(l[i]['score']); + const t = bkcore.Timer.msToTime(l[i]['score']); h += ''+(i+1)+'. '+l[i]['name']+''+t.m+'\''+t.s+'\'\''+t.ms+''; } diff --git a/bkcore/hexgl/RaceData.js b/bkcore/hexgl/RaceData.js index 9d983c01..118f79aa 100644 --- a/bkcore/hexgl/RaceData.js +++ b/bkcore/hexgl/RaceData.js @@ -5,7 +5,7 @@ * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/3.0/. */ -var bkcore = bkcore || {}; +const bkcore = bkcore || {}; bkcore.hexgl = bkcore.hexgl || {}; bkcore.hexgl.RaceData = function(track, mode, shipControls) @@ -33,8 +33,8 @@ bkcore.hexgl.RaceData.prototype.tick = function(time) { if(this.rateState == 1) { - var p = this.shipControls.getPosition(); - var q = this.shipControls.getQuaternion(); + const p = this.shipControls.getPosition(); + const q = this.shipControls.getQuaternion(); this.data.push([ time, p.x, p.y, p.z, @@ -55,7 +55,7 @@ bkcore.hexgl.RaceData.prototype.applyInterpolated = function(time) while(this.seek < this.last && this.data[this.seek+1][0] < time) ++this.seek; - var prev = this.data[this.seek]; + const prev = this.data[this.seek]; this._pp.set(prev[1], prev[2], prev[3]); this._pq.set(prev[4], prev[5], prev[6], prev[7]); @@ -70,11 +70,11 @@ bkcore.hexgl.RaceData.prototype.applyInterpolated = function(time) this.shipControls.teleport(this._pp, this._pq); // interpolation - var next = this.data[this.seek+1]; + const next = this.data[this.seek+1]; this._np.set(next[1], next[2], next[3]); this._nq.set(next[4], next[5], next[6], next[7]); - var t = (time-prev[0]) / (next[0]-prev[0]); + const t = (time-prev[0]) / (next[0]-prev[0]); this._p.copy(this._pp).lerpSelf(this._np, t); this._q.copy(this._pq).slerpSelf(this._nq, t); diff --git a/bkcore/hexgl/ShipControls.js b/bkcore/hexgl/ShipControls.js index 68547518..8b1a38bc 100644 --- a/bkcore/hexgl/ShipControls.js +++ b/bkcore/hexgl/ShipControls.js @@ -5,13 +5,13 @@ * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/3.0/. */ -var bkcore = bkcore || {}; +const bkcore = bkcore || {}; bkcore.hexgl = bkcore.hexgl || {}; bkcore.hexgl.ShipControls = function(ctx) { - var self = this; - var domElement = ctx.document; + const self = this; + const domElement = ctx.document; this.active = true; this.destroyed = false; @@ -174,9 +174,9 @@ bkcore.hexgl.ShipControls = function(ctx) if(Leap == null) throw new Error("Unable to reach LeapJS!"); - var leapInfo = this.leapInfo = document.getElementById('leapinfo'); + const leapInfo = this.leapInfo = document.getElementById('leapinfo'); isServerConnected = false; - var lb = this.leapBridge = { + const lb = this.leapBridge = { isConnected: true, hasHands: false, palmNormal: [0, 0, 0] @@ -206,7 +206,7 @@ bkcore.hexgl.ShipControls = function(ctx) } updateInfo(); - var lc = this.leapController = new Leap.Controller({enableGestures: false}); + const lc = this.leapController = new Leap.Controller({enableGestures: false}); lc.on('connect', function() { isServerConnected = true; @@ -375,9 +375,9 @@ bkcore.hexgl.ShipControls.prototype.update = function(dt) this.drift += (0.0 - this.drift) * this.driftLerp; this.angular += (0.0 - this.angular) * this.angularLerp * 0.5; - var rollAmount = 0.0; - var angularAmount = 0.0; - var yawLeap = 0.0; + let rollAmount = 0.0; + let angularAmount = 0.0; + let yawLeap = 0.0; if(this.leapBridge != null && this.leapBridge.hasHands) { @@ -507,7 +507,7 @@ bkcore.hexgl.ShipControls.prototype.update = function(dt) this.mesh.matrix.identity(); // Gradient (Mesh only, no dummy physics impact) - var gradientDelta = (this.gradientTarget - (yawLeap + this.gradient)) * this.gradientLerp; + const gradientDelta = (this.gradientTarget - (yawLeap + this.gradient)) * this.gradientLerp; if(Math.abs(gradientDelta) > this.epsilon) this.gradient += gradientDelta; if(Math.abs(this.gradient) > this.epsilon) { @@ -516,7 +516,7 @@ bkcore.hexgl.ShipControls.prototype.update = function(dt) } // Tilting (Idem) - var tiltDelta = (this.tiltTarget - this.tilt) * this.tiltLerp; + const tiltDelta = (this.tiltTarget - this.tilt) * this.tiltLerp; if(Math.abs(tiltDelta) > this.epsilon) this.tilt += tiltDelta; if(Math.abs(this.tilt) > this.epsilon) { @@ -525,7 +525,7 @@ bkcore.hexgl.ShipControls.prototype.update = function(dt) } // Rolling (Idem) - var rollDelta = (rollAmount - this.roll) * this.rollLerp; + const rollDelta = (rollAmount - this.roll) * this.rollLerp; if(Math.abs(rollDelta) > this.epsilon) this.roll += rollDelta; if(Math.abs(this.roll) > this.epsilon) { @@ -559,7 +559,7 @@ bkcore.hexgl.ShipControls.prototype.teleport = function(pos, quat) this.mesh.matrix.identity(); // Gradient (Mesh only, no dummy physics impact) - var gradientDelta = (this.gradientTarget - this.gradient) * this.gradientLerp; + const gradientDelta = (this.gradientTarget - this.gradient) * this.gradientLerp; if(Math.abs(gradientDelta) > this.epsilon) this.gradient += gradientDelta; if(Math.abs(this.gradient) > this.epsilon) { @@ -568,7 +568,7 @@ bkcore.hexgl.ShipControls.prototype.teleport = function(pos, quat) } // Tilting (Idem) - var tiltDelta = (this.tiltTarget - this.tilt) * this.tiltLerp; + const tiltDelta = (this.tiltTarget - this.tilt) * this.tiltLerp; if(Math.abs(tiltDelta) > this.epsilon) this.tilt += tiltDelta; if(Math.abs(this.tilt) > this.epsilon) { @@ -592,11 +592,11 @@ bkcore.hexgl.ShipControls.prototype.boosterCheck = function(dt) bkcore.Audio.stop('boost'); } - var x = Math.round(this.collisionMap.pixels.width/2 + this.dummy.position.x * this.collisionPixelRatio); - var z = Math.round(this.collisionMap.pixels.height/2 + this.dummy.position.z * this.collisionPixelRatio); - var pos = new THREE.Vector3(x, 0, z); + const x = Math.round(this.collisionMap.pixels.width/2 + this.dummy.position.x * this.collisionPixelRatio); + const z = Math.round(this.collisionMap.pixels.height/2 + this.dummy.position.z * this.collisionPixelRatio); + const pos = new THREE.Vector3(x, 0, z); - var color = this.collisionMap.getPixel(x, z); + const color = this.collisionMap.getPixel(x, z); if(color.r == 255 && color.g < 127 && color.b < 127) { bkcore.Audio.play('boost'); @@ -618,9 +618,9 @@ bkcore.hexgl.ShipControls.prototype.collisionCheck = function(dt) this.collision.right = false; this.collision.front = false; - var x = Math.round(this.collisionMap.pixels.width/2 + this.dummy.position.x * this.collisionPixelRatio); - var z = Math.round(this.collisionMap.pixels.height/2 + this.dummy.position.z * this.collisionPixelRatio); - var pos = new THREE.Vector3(x, 0, z); + const x = Math.round(this.collisionMap.pixels.width/2 + this.dummy.position.x * this.collisionPixelRatio); + const z = Math.round(this.collisionMap.pixels.height/2 + this.dummy.position.z * this.collisionPixelRatio); + const pos = new THREE.Vector3(x, 0, z); //console.log({c: this.collisionMap.getPixel(414, 670), d: this.dummy.position, x: x, y: y, p: this.collisionMap.getPixel(x, y)}) @@ -631,7 +631,7 @@ bkcore.hexgl.ShipControls.prototype.collisionCheck = function(dt) bkcore.Audio.play('crash'); // Shield - var sr = (this.getRealSpeed() / this.maxSpeed); + const sr = (this.getRealSpeed() / this.maxSpeed); this.shield -= sr * sr * 0.8 * this.shieldDamage; // Repulsion @@ -642,10 +642,10 @@ bkcore.hexgl.ShipControls.prototype.collisionCheck = function(dt) this.repulsionVLeft.multiplyScalar(this.repulsionVScale); this.repulsionVRight.multiplyScalar(this.repulsionVScale); - var lPos = this.repulsionVLeft.addSelf(pos); - var rPos = this.repulsionVRight.addSelf(pos); - var lCol = this.collisionMap.getPixel(Math.round(lPos.x), Math.round(lPos.z)).r; - var rCol = this.collisionMap.getPixel(Math.round(rPos.x), Math.round(rPos.z)).r; + const lPos = this.repulsionVLeft.addSelf(pos); + const rPos = this.repulsionVRight.addSelf(pos); + const lCol = this.collisionMap.getPixel(Math.round(lPos.x), Math.round(lPos.z)).r; + const rCol = this.collisionMap.getPixel(Math.round(rPos.x), Math.round(rPos.z)).r; this.repulsionAmount = Math.max(0.8, Math.min(this.repulsionCap, @@ -674,7 +674,7 @@ bkcore.hexgl.ShipControls.prototype.collisionCheck = function(dt) // DIRTY GAMEOVER if(rCol < 128 && lCol < 128) { - var fCol = this.collisionMap.getPixel(Math.round(pos.x+2), Math.round(pos.z+2)).r; + const fCol = this.collisionMap.getPixel(Math.round(pos.x+2), Math.round(pos.z+2)).r; if(fCol < 128) { console.log('GAMEOVER'); @@ -699,15 +699,15 @@ bkcore.hexgl.ShipControls.prototype.heightCheck = function(dt) if(!this.heightMap || !this.heightMap.loaded) return false; - var x = this.heightMap.pixels.width/2 + this.dummy.position.x * this.heightPixelRatio; - var z = this.heightMap.pixels.height/2 + this.dummy.position.z * this.heightPixelRatio; + let x = this.heightMap.pixels.width/2 + this.dummy.position.x * this.heightPixelRatio; + let z = this.heightMap.pixels.height/2 + this.dummy.position.z * this.heightPixelRatio; var height = this.heightMap.getPixelFBilinear(x, z) / this.heightScale + this.heightBias; - var color = this.heightMap.getPixel(x, z); + const color = this.heightMap.getPixel(x, z); if(height < 16777) { - var delta = (height - this.dummy.position.y); + const delta = (height - this.dummy.position.y); if(delta > 0) { @@ -727,7 +727,7 @@ bkcore.hexgl.ShipControls.prototype.heightCheck = function(dt) x = this.heightMap.pixels.width/2 + this.gradientVector.x * this.heightPixelRatio; z = this.heightMap.pixels.height/2 + this.gradientVector.z * this.heightPixelRatio; - var nheight = this.heightMap.getPixelFBilinear(x, z) / this.heightScale + this.heightBias; + let nheight = this.heightMap.getPixelFBilinear(x, z) / this.heightScale + this.heightBias; if(nheight < 16777) this.gradientTarget = -Math.atan2(nheight-height, 5.0)*this.gradientScale; diff --git a/bkcore/hexgl/ShipEffects.js b/bkcore/hexgl/ShipEffects.js index 1be29205..7843d070 100644 --- a/bkcore/hexgl/ShipEffects.js +++ b/bkcore/hexgl/ShipEffects.js @@ -5,7 +5,7 @@ * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/3.0/. */ -var bkcore = bkcore || {}; +const bkcore = bkcore || {}; bkcore.hexgl = bkcore.hexgl || {}; bkcore.hexgl.ShipEffects = function(opts) @@ -105,7 +105,7 @@ bkcore.hexgl.ShipEffects = function(opts) bkcore.hexgl.ShipEffects.prototype.update = function(dt) { - var boostRatio, opacity, scale, intensity, random; + let boostRatio, opacity, scale, intensity, random; if(this.shipControls.destroyed) { diff --git a/bkcore/hexgl/tracks/Cityscape.js b/bkcore/hexgl/tracks/Cityscape.js index 585ca4b1..6eb410fc 100644 --- a/bkcore/hexgl/tracks/Cityscape.js +++ b/bkcore/hexgl/tracks/Cityscape.js @@ -5,7 +5,7 @@ * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/3.0/. */ -var bkcore = bkcore || {}; +const bkcore = bkcore || {}; bkcore.hexgl = bkcore.hexgl || {}; bkcore.hexgl.tracks = bkcore.hexgl.tracks || {}; @@ -337,15 +337,15 @@ bkcore.hexgl.tracks.Cityscape = { this.analyser = this.lib.get("analysers", "track.cityscape.collision"); // SKYBOX - var sceneCube = new THREE.Scene(); + const sceneCube = new THREE.Scene(); - var cameraCube = new THREE.PerspectiveCamera( 70, ctx.width / ctx.height, 1, 6000 ); + const cameraCube = new THREE.PerspectiveCamera( 70, ctx.width / ctx.height, 1, 6000 ); sceneCube.add( cameraCube ); - var skyshader = THREE.ShaderUtils.lib[ "cube" ]; + const skyshader = THREE.ShaderUtils.lib[ "cube" ]; skyshader.uniforms[ "tCube" ].texture = this.lib.get("texturesCube", "skybox.dawnclouds"); - var skymaterial = new THREE.ShaderMaterial( + const skymaterial = new THREE.ShaderMaterial( { fragmentShader: skyshader.fragmentShader, vertexShader: skyshader.vertexShader, @@ -353,24 +353,24 @@ bkcore.hexgl.tracks.Cityscape = { depthWrite: false }); - var mesh = new THREE.Mesh( new THREE.CubeGeometry( 100, 100, 100 ), skymaterial ); + const mesh = new THREE.Mesh( new THREE.CubeGeometry( 100, 100, 100 ), skymaterial ); mesh.flipSided = true; sceneCube.add(mesh); ctx.manager.add("sky", sceneCube, cameraCube); - var ambient = 0xbbbbbb, diffuse = 0xffffff, specular = 0xffffff, shininess = 42, scale = 23; + const ambient = 0xbbbbbb, diffuse = 0xffffff, specular = 0xffffff, shininess = 42, scale = 23; // MAIN SCENE - var camera = new THREE.PerspectiveCamera( 70, ctx.width / ctx.height, 1, 60000 ); + const camera = new THREE.PerspectiveCamera( 70, ctx.width / ctx.height, 1, 60000 ); - var scene = new THREE.Scene(); + const scene = new THREE.Scene(); scene.add( camera ); scene.add( new THREE.AmbientLight( ambient ) ); // SUN - var sun = new THREE.DirectionalLight( diffuse, 1.5, 30000 ); + const sun = new THREE.DirectionalLight( diffuse, 1.5, 30000 ); sun.position.set( -4000, 1200, 1800 ); sun.lookAt(new THREE.Vector3()); @@ -393,12 +393,12 @@ bkcore.hexgl.tracks.Cityscape = { scene.add( sun ); // SHIP - var ship = ctx.createMesh(scene, this.lib.get("geometries", "ship.feisar"), -1134*2, 10, -443*2, this.materials.ship); + const ship = ctx.createMesh(scene, this.lib.get("geometries", "ship.feisar"), -1134*2, 10, -443*2, this.materials.ship); - var booster = ctx.createMesh(ship, this.lib.get("geometries", "booster"), 0, 0.665, -3.8, this.materials.booster); + const booster = ctx.createMesh(ship, this.lib.get("geometries", "booster"), 0, 0.665, -3.8, this.materials.booster); booster.depthWrite = false; - var boosterSprite = new THREE.Sprite({ + const boosterSprite = new THREE.Sprite({ map: this.lib.get("textures", "booster.sprite"), blending: THREE.AdditiveBlending, useScreenCoordinates: false, @@ -408,7 +408,7 @@ bkcore.hexgl.tracks.Cityscape = { boosterSprite.mergeWith3D = false; booster.add(boosterSprite); - var boosterLight = new THREE.PointLight(0x00a2ff, 4.0, 60); + const boosterLight = new THREE.PointLight(0x00a2ff, 4.0, 60); boosterLight.position.set(0, 0.665, -4); // desktop + quality low, mid or high @@ -422,7 +422,7 @@ bkcore.hexgl.tracks.Cityscape = { ship.add(boosterLight); // SHIP CONTROLS - var shipControls = new bkcore.hexgl.ShipControls(ctx); + const shipControls = new bkcore.hexgl.ShipControls(ctx); shipControls.collisionMap = this.lib.get("analysers", "track.cityscape.collision"); shipControls.collisionPixelRatio = 2048.0 / 6000.0; shipControls.collisionDetection = true; @@ -435,7 +435,7 @@ bkcore.hexgl.tracks.Cityscape = { ctx.tweakShipControls(); // SHIP EFFECTS AND PARTICLES - var fxParams = { + const fxParams = { scene: scene, shipControls: shipControls, booster: booster, @@ -454,14 +454,14 @@ bkcore.hexgl.tracks.Cityscape = { ctx.components.shipEffects = new bkcore.hexgl.ShipEffects(fxParams); // TRACK - var track = ctx.createMesh(scene, this.lib.get("geometries", "track.cityscape"), 0, -5, 0, this.materials.track); - var bonusBase = ctx.createMesh(scene, this.lib.get("geometries", "bonus.base"), 0, -5, 0, this.materials.bonusBase); - var bonusSpeed = ctx.createMesh(scene, this.lib.get("geometries", "track.cityscape.bonus.speed"), 0, -5, 0, this.materials.bonusSpeed); + const track = ctx.createMesh(scene, this.lib.get("geometries", "track.cityscape"), 0, -5, 0, this.materials.track); + const bonusBase = ctx.createMesh(scene, this.lib.get("geometries", "bonus.base"), 0, -5, 0, this.materials.bonusBase); + const bonusSpeed = ctx.createMesh(scene, this.lib.get("geometries", "track.cityscape.bonus.speed"), 0, -5, 0, this.materials.bonusSpeed); bonusSpeed.receiveShadow = false; - var scrapers1 = ctx.createMesh(scene, this.lib.get("geometries", "track.cityscape.scrapers1"), 0, 0, 0, this.materials.scrapers1); - var scrapers2 = ctx.createMesh(scene, this.lib.get("geometries", "track.cityscape.scrapers2"), 0, 0, 0, this.materials.scrapers2); - var start = ctx.createMesh(scene, this.lib.get("geometries", "track.cityscape.start"), 0, -5, 0, this.materials.start); - var startbanner = ctx.createMesh(scene, this.lib.get("geometries", "track.cityscape.start.banner"), 0, -5, 0, this.materials.startBanner); + const scrapers1 = ctx.createMesh(scene, this.lib.get("geometries", "track.cityscape.scrapers1"), 0, 0, 0, this.materials.scrapers1); + const scrapers2 = ctx.createMesh(scene, this.lib.get("geometries", "track.cityscape.scrapers2"), 0, 0, 0, this.materials.scrapers2); + const start = ctx.createMesh(scene, this.lib.get("geometries", "track.cityscape.start"), 0, -5, 0, this.materials.start); + const startbanner = ctx.createMesh(scene, this.lib.get("geometries", "track.cityscape.start.banner"), 0, -5, 0, this.materials.startBanner); startbanner.doubleSided = true; // CAMERA @@ -479,7 +479,7 @@ bkcore.hexgl.tracks.Cityscape = { { if(delta > 25 && this.objects.lowFPS < 1000) this.objects.lowFPS++; - var dt = delta/16.6; + const dt = delta/16.6; this.objects.components.shipControls.update(dt); diff --git a/bkcore/threejs/Loader.js b/bkcore/threejs/Loader.js index 9744d66e..f1ad0091 100644 --- a/bkcore/threejs/Loader.js +++ b/bkcore/threejs/Loader.js @@ -10,7 +10,7 @@ /*! * @package bkcore.threejs */ -var bkcore = bkcore || {}; +const bkcore = bkcore || {}; bkcore.threejs = bkcore.threejs || {}; bkcore.NONE = undefined; @@ -21,7 +21,7 @@ bkcore.NONE = undefined; */ bkcore.threejs.Loader = function(opts) { - var self = this; + const self = this; this.jsonLoader = new THREE.JSONLoader(); @@ -41,7 +41,7 @@ bkcore.threejs.Loader = function(opts) this.states = {}; this.data = {}; - for(var t in this.types) + for(const t in this.types) { this.data[t] = {}; this.states[t] = {}; @@ -61,36 +61,36 @@ bkcore.threejs.Loader = function(opts) */ bkcore.threejs.Loader.prototype.load = function(data) { - var self = this; + const self = this; - for(var k in this.types) + for(const k in this.types) { if(k in data) { - var size = 0; - for(var j in data[k]) + let size = 0; + for(const j in data[k]) size++; this.progress.total += size; this.progress.remaining += size; } } - for(var t in data.textures) + for(const t in data.textures) this.loadTexture(t, data.textures[t]); - for(var c in data.texturesCube) + for(const c in data.texturesCube) this.loadTextureCube(c, data.texturesCube[c]); - for(var g in data.geometries) + for(const g in data.geometries) this.loadGeometry(g, data.geometries[g]); - for(var a in data.analysers) + for(const a in data.analysers) this.loadAnalyser(a, data.analysers[a]); - for(var i in data.images) + for(const i in data.images) this.loadImage(i, data.images[i]); - for(var s in data.sounds) + for(const s in data.sounds) this.loadSound(data.sounds[s].src, s, data.sounds[s].loop, data.sounds[s].usePanner); this.progressCallback.call(this, this.progress); @@ -160,7 +160,7 @@ bkcore.threejs.Loader.prototype.loaded = function(type, name) bkcore.threejs.Loader.prototype.loadTexture = function(name, url) { - var self = this; + const self = this; this.updateState("textures", name, false); this.data.textures[name] = THREE.ImageUtils.loadTexture( url, @@ -176,9 +176,9 @@ bkcore.threejs.Loader.prototype.loadTexture = function(name, url) bkcore.threejs.Loader.prototype.loadTextureCube = function(name, url) { - var self = this; + const self = this; - var urls = [ + const urls = [ url.replace("%1", "px"), url.replace("%1", "nx"), url.replace("%1", "py"), url.replace("%1", "ny"), url.replace("%1", "pz"), url.replace("%1", "nz") @@ -196,7 +196,7 @@ bkcore.threejs.Loader.prototype.loadTextureCube = function(name, url) bkcore.threejs.Loader.prototype.loadGeometry = function(name, url) { - var self = this; + const self = this; this.data.geometries[name] = null; this.updateState("geometries", name, false); this.jsonLoader.load( @@ -210,7 +210,7 @@ bkcore.threejs.Loader.prototype.loadGeometry = function(name, url) bkcore.threejs.Loader.prototype.loadAnalyser = function(name, url) { - var self = this; + const self = this; this.updateState("analysers", name, false); this.data.analysers[name] = new bkcore.ImageData( url, @@ -222,9 +222,9 @@ bkcore.threejs.Loader.prototype.loadAnalyser = function(name, url) bkcore.threejs.Loader.prototype.loadImage = function(name, url) { - var self = this; + const self = this; this.updateState("images", name, false); - var e = new Image(); + const e = new Image(); e.onload = function() { self.updateState("images", name, true) ; }; @@ -234,7 +234,7 @@ bkcore.threejs.Loader.prototype.loadImage = function(name, url) } bkcore.threejs.Loader.prototype.loadSound = function(src, name, loop){ - var self = this; + const self = this; this.updateState("sounds", name, false); bkcore.Audio.addSound( diff --git a/bkcore/threejs/Particles.js b/bkcore/threejs/Particles.js index afb7bd4f..5b1179d0 100644 --- a/bkcore/threejs/Particles.js +++ b/bkcore/threejs/Particles.js @@ -9,7 +9,7 @@ /*! * @package bkcore.threejs */ -var bkcore = bkcore || {}; +const bkcore = bkcore || {}; bkcore.threejs = bkcore.threejs || {}; /** @@ -67,9 +67,9 @@ bkcore.threejs.Particles.prototype.build = function() this.pool = []; this.buffer = []; - for(var i = 0; i < this.max; ++i) + for(let i = 0; i < this.max; ++i) { - var p = new bkcore.threejs.Particle(); + const p = new bkcore.threejs.Particle(); this.pool.push(p); this.buffer.push(p); this.geometry.vertices.push(p.position); @@ -88,10 +88,10 @@ bkcore.threejs.Particles.prototype.build = function() */ bkcore.threejs.Particles.prototype.emit = function(count) { - var emitable = Math.min(count, this.pool.length); - for(var i = 0; i < emitable; ++i) + const emitable = Math.min(count, this.pool.length); + for(let i = 0; i < emitable; ++i) { - var p = this.pool.pop(); + const p = this.pool.pop(); p.available = false; p.position.copy(this.spawn) .addSelf( @@ -125,10 +125,10 @@ bkcore.threejs.Particles.prototype.randomVector = function() */ bkcore.threejs.Particles.prototype.update = function(dt) { - var p, l; - var df = new THREE.Vector3(); - var dv = new THREE.Vector3(); - for(var i = 0; i < this.buffer.length; ++i) + let p, l; + const df = new THREE.Vector3(); + const dv = new THREE.Vector3(); + for(let i = 0; i < this.buffer.length; ++i) { p = this.buffer[i]; diff --git a/bkcore/threejs/Preloader.js b/bkcore/threejs/Preloader.js index 68b37622..3a837e4d 100644 --- a/bkcore/threejs/Preloader.js +++ b/bkcore/threejs/Preloader.js @@ -9,7 +9,7 @@ /*! * @package bkcore.threejs */ -var bkcore = bkcore || {}; +const bkcore = bkcore || {}; bkcore.threejs = bkcore.threejs || {}; /** @@ -81,7 +81,7 @@ bkcore.threejs.Preloader = function(opts) } ) ); this.stage.add(this.outercube); - var self = this; + const self = this; function raf() { @@ -111,7 +111,7 @@ bkcore.threejs.Preloader.prototype.render = function() this.ctx.clearRect(0 , 0 , this.width , this.height); - var s = (this.ratio - this.cube.scale.x) * 0.3; + const s = (this.ratio - this.cube.scale.x) * 0.3; this.cube.scale.addScalar(s); this.cube.rotation.y = this.time; @@ -130,7 +130,7 @@ bkcore.threejs.Preloader.prototype.render = function() bkcore.threejs.Preloader.prototype.mouseMove = function(event) { - var h2 = this.height/2; + const h2 = this.height/2; this.y = -(event.clientY - h2)/h2+0.3; } diff --git a/bkcore/threejs/RenderManager.js b/bkcore/threejs/RenderManager.js index f847896f..b6c104c1 100644 --- a/bkcore/threejs/RenderManager.js +++ b/bkcore/threejs/RenderManager.js @@ -40,13 +40,13 @@ * }); */ -var bkcore = bkcore || {}; +const bkcore = bkcore || {}; bkcore.threejs = bkcore.threejs || {}; (function(w){ - var perfNow; - var perfNowNames = ['now', 'webkitNow', 'msNow', 'mozNow']; - if(!!w['performance']) for(var i = 0; i < perfNowNames.length; ++i) + let perfNow; + const perfNowNames = ['now', 'webkitNow', 'msNow', 'mozNow']; + if(!!w['performance']) for(let i = 0; i < perfNowNames.length; ++i) { var n = perfNowNames[i]; if(!!w['performance'][n]) @@ -113,8 +113,8 @@ bkcore.threejs.RenderManager.prototype.renderCurrent = function() { if(this.current && this.current.render) { - var now = window.perfNow(); - var delta = now - this.time; + const now = window.perfNow(); + const delta = now - this.time; this.time = now; this.current.render.call(this.current, delta, this.renderer); diff --git a/bkcore/threejs/Shaders.js b/bkcore/threejs/Shaders.js index 4fe93fbd..3901cd21 100644 --- a/bkcore/threejs/Shaders.js +++ b/bkcore/threejs/Shaders.js @@ -3,7 +3,7 @@ * @author alteredq / http://alteredqualia.com/ * @author mr.doob / http://mrdoob.com/ */ -var bkcore = bkcore || {}; +const bkcore = bkcore || {}; bkcore.threejs = bkcore.threejs || {}; bkcore.threejs.Shaders =