From: Robert Kaiser Date: Mon, 18 Aug 2014 00:22:30 +0000 (+0200) Subject: Merge branch 'master' of github.com:KaiRo-at/lantea X-Git-Tag: producution~27 X-Git-Url: https://git-public.kairo.at/?p=lantea.git;a=commitdiff_plain;h=0ff45a551df5cc4624119ec7203f461f3e680cf8;hp=-c Merge branch 'master' of github.com:KaiRo-at/lantea --- 0ff45a551df5cc4624119ec7203f461f3e680cf8 diff --combined js/map.js index ff5112a,cd9eddd..b3ddc11 --- a/js/map.js +++ b/js/map.js @@@ -129,19 -129,15 +129,19 @@@ function loadPrefs(aEvent) document.getElementById("body").addEventListener("keydown", mapEvHandler, false); + console.log("Events added."); document.getElementById("copyright").innerHTML = gMapStyles[gMap.activeMap].copyright; + console.log("Init loading tile..."); gLoadingTile = new Image(); - gLoadingTile.src = "style/loading.png"; gLoadingTile.onload = function() { + console.log("Loading tile loaded."); var throwEv = new CustomEvent("prefload-done"); gAction.dispatchEvent(throwEv); }; + console.log("Set loading tile..."); + gLoadingTile.src = "style/loading.png"; } } else { @@@ -256,14 -252,12 +256,14 @@@ var gMap = initGL: function() { // When called from the event listener, the "this" reference doesn't work, so use the object name. + console.log("Initializing WebGL..."); if (gMap.gl) { gMap.gl.viewport(0, 0, gMap.gl.drawingBufferWidth, gMap.gl.drawingBufferHeight); gMap.gl.clearColor(0.0, 0.0, 0.0, 0.5); // Set clear color to black, fully opaque. gMap.gl.clear(gMap.gl.COLOR_BUFFER_BIT|gMap.gl.DEPTH_BUFFER_BIT); // Clear the color. // Create and initialize the shaders. + console.log("Create and compile shaders..."); var vertShader = gMap.gl.createShader(gMap.gl.VERTEX_SHADER); var fragShader = gMap.gl.createShader(gMap.gl.FRAGMENT_SHADER); gMap.gl.shaderSource(vertShader, gMap.getVertShaderSource()); @@@ -283,7 -277,6 +283,7 @@@ return null; } + console.log("Create and link shader program..."); gMap.glShaderProgram = gMap.gl.createProgram(); gMap.gl.attachShader(gMap.glShaderProgram, vertShader); gMap.gl.attachShader(gMap.glShaderProgram, fragShader); @@@ -298,7 -291,6 +298,7 @@@ gMap.glTextureCoordAttr = gMap.gl.getAttribLocation(gMap.glShaderProgram, "aTextureCoord"); gMap.glResolutionAttr = gMap.gl.getUniformLocation(gMap.glShaderProgram, "uResolution"); + console.log("Set up vertex buffer..."); var tileVerticesBuffer = gMap.gl.createBuffer(); gMap.gl.bindBuffer(gMap.gl.ARRAY_BUFFER, tileVerticesBuffer); // The vertices are the coordinates of the corner points of the square. @@@ -319,7 -311,6 +319,7 @@@ gMap.gl.uniform2f(gMap.glResolutionAttr, gGLMapCanvas.width, gGLMapCanvas.height); // Create a buffer for the position of the rectangle corners. + console.log("Set up coord buffer..."); var mapVerticesTextureCoordBuffer = gMap.gl.createBuffer(); gMap.gl.bindBuffer(gMap.gl.ARRAY_BUFFER, mapVerticesTextureCoordBuffer); gMap.gl.enableVertexAttribArray(gMap.glVertexPositionAttr); @@@ -491,8 -482,8 +491,8 @@@ y: Math.ceil((gMap.pos.y + gMap.baseDim.ht / 2) / gMap.baseDim.tsize) + 1, z: gMap.pos.z}); console.log("In range: " + tMin.x + "," + tMin.y + "," + tMin.z + " - " + tMax.x + "," + tMax.y + "," + tMax.z); - for (aTileKey in gMap.glTextures) { - var keyMatches = aTileKey.match(/([^:]+)::(\d+),(\d+),(\d+)/); + for (var tileKey in gMap.glTextures) { + var keyMatches = tileKey.match(/([^:]+)::(\d+),(\d+),(\d+)/); if (keyMatches && keyMatches[1] != "loading") { var txData = { style: keyMatches[1], @@@ -519,8 -510,8 +519,8 @@@ } if (delTx) { // Delete texture from GL and from the array we are holding. - gMap.gl.deleteTexture(gMap.glTextures[aTileKey]); - delete gMap.glTextures[aTileKey]; + gMap.gl.deleteTexture(gMap.glTextures[tileKey]); + delete gMap.glTextures[tileKey]; } } } @@@ -1103,8 -1094,8 +1103,8 @@@ var gTileService = .replace("{x}", norm.x) .replace("{y}", norm.y) .replace("{z}", norm.z) - .replace("[a-c]", String.fromCharCode(97 + Math.floor(Math.random() * 2))) - .replace("[1-4]", 1 + Math.floor(Math.random() * 3)), + .replace("[a-c]", String.fromCharCode(97 + Math.floor(Math.random() * 3))) + .replace("[1-4]", 1 + Math.floor(Math.random() * 4)), true); XHR.responseType = "blob"; XHR.addEventListener("load", function () {