-- Leo's gemini proxy

-- Connecting to git.thebackupbox.net:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

repo: janusweb
action: commit
revision:
path_from:
revision_from: dac1b832327dbcf5db5988cabdc23224b3816dd1:
path_to:
revision_to:

git.thebackupbox.net

janusweb

git://git.thebackupbox.net/janusweb

commit dac1b832327dbcf5db5988cabdc23224b3816dd1
Author: James Baicoianu <james_github@baicoianu.com>
Date:   Sat Jan 23 22:12:39 2016 -0800

    Combine multiple room definitions into one, use janustext objects for text

diff --git a/scripts/room.js b/scripts/room.js

index f357872f6fdaaacf09cfdcc2005b73d884067ee8..

index ..8eb82d3939f6bb64710c62719fd86c91e70afc40 100644

--- a/scripts/room.js
+++ b/scripts/room.js
@@ -1,13 +1,13 @@
 elation.require([
     'ui.textarea', 'ui.window',
-    'engine.things.generic', 'engine.things.sound', 'engine.things.label',
-    'janusweb.object', 'janusweb.portal', 'janusweb.image', 'janusweb.video'
+     'engine.external.xmldom', 'engine.things.generic', 'engine.things.sound', 'engine.things.label',
+    'janusweb.object', 'janusweb.portal', 'janusweb.image', 'janusweb.video', 'janusweb.text'
   ], function() {
   elation.component.add('engine.things.janusroom', function() {
     this.postinit = function() {
       this.defineProperties({
         'janus': { type: 'object' },
-        'url': { type: 'string', default: "http://www.dgp.toronto.edu/~mccrae/projects/firebox/home2/home.html" },
+        'url': { type: 'string', default: false },
         'skybox_left': { type: 'string', default: 'skyrender_left' },
         'skybox_right': { type: 'string', default: 'skyrender_right' },
         'skybox_up': { type: 'string', default: 'skyrender_up' },
@@ -177,9 +177,21 @@ console.log('no firebox room, load the translator');
       var root = this;

       var xml = elation.utils.parseXML(fireboxsrc, false, true);
+
       var rooms = this.getAsArray(elation.utils.arrayget(xml, 'fireboxroom._children.room', {}));
-      var room = rooms[0];
-console.log(xml, room);
+      var room = {_children: {}};
+      for (var i = 0; i < rooms.length; i++) {
+        var attrs = Object.keys(rooms[i]).filter(function(k) { return (k[0] != '_'); });
+        attrs.forEach(function(k) {
+          room[k] = rooms[i][k];
+        });
+        if (rooms[i]._children) {
+          Object.keys(rooms[i]._children).forEach(function(k) {
+            room._children[k] = rooms[i]._children[k];
+          });
+        }
+      }
+      console.log(xml, room);
       var assets = elation.utils.arrayget(xml, 'fireboxroom._children.assets', {});
       var objectassets = this.getAsArray(elation.utils.arrayget(assets, "_children.assetobject", []));
       var soundassets = this.getAsArray(elation.utils.arrayget(assets, "_children.assetsound", []));
@@ -296,12 +308,9 @@ console.log(xml, room);
           'orientation': orientation,
           'scale': scale,
           'text': n._content,
-          'size': .045,
-          'thickness': .01,
-          'align': 'center',
           'color': new THREE.Color().setRGB(col[0], col[1], col[2]),
         };
-        var label = root.spawn('label', n.id + '_' + Math.round(Math.random() * 10000), labelargs);
+        var label = root.spawn('janustext', n.id + '_' + Math.round(Math.random() * 10000), labelargs);

       }));
       var soundmap = {};
@@ -385,6 +394,7 @@ console.log('ALL JS OBJECTS:', this.jsobjects);
       var scale = new THREE.Vector3();
       //quat.setFromRotationMatrix(mat4);
       mat4.decompose(pos, quat, scale);
+      quat.normalize();
       //quat.normalize();
       return quat;
     }

-----END OF PAGE-----

-- Response ended

-- Page fetched on Sun Jun 2 14:58:18 2024