Преглед изворни кода

Add default image support. Custom images are not rendered - alex or steve are

Jake пре 10 година
родитељ
комит
b151e03035
4 измењених фајлова са 21 додато и 7 уклоњено
  1. 5 0
      modules/helpers.js
  2. 3 0
      modules/renders.js
  3. 11 6
      routes/renders.js
  4. 2 1
      views/index.jade

+ 5 - 0
modules/helpers.js

@@ -181,7 +181,12 @@ exp.get_skin = function(uuid, callback) {
 exp.get_render = function(uuid, scale, helm, body, callback) {
   logging.log(uuid + " render request");
   exp.get_skin(uuid, function(err, hash, img) {
+    if (!img) {
+      callback(err, 0, hash, null);
+      return;
+    }
     renders.draw_model(uuid, img, scale, helm, body, function(err, img) {
+      console.log("thing" + img);
       if (err) {
         callback(err, -1, hash, null);
       } else if (!img) {

+ 3 - 0
modules/renders.js

@@ -108,6 +108,9 @@ exp.draw_model = function(uuid, img, scale, helm, body, callback) {
     }
 
     model_canvas.toBuffer(function(err, buf){
+      if (err) {
+        logging.log("error creating buffer: " + err);
+      }
       callback(err, buf);
     });
   };

+ 11 - 6
routes/renders.js

@@ -30,7 +30,7 @@ router.get('/:type/:uuid.:ext?', function(req, res) {
 
   var body = raw_type == "head" ? false : true
   var uuid = req.params.uuid;
-  var def = req.params.def;
+  var def = req.query.default;
   var scale = parseInt(req.query.scale) || config.default_scale;
   var helm = req.query.hasOwnProperty('helm');
   var start = new Date();
@@ -67,6 +67,7 @@ router.get('/:type/:uuid.:ext?', function(req, res) {
         logging.log("status: " + http_status);
         sendimage(http_status, status, image);
       } else {
+        logging.log("image not found, using default.")
         handle_default(404, status);
       }
     });
@@ -88,11 +89,15 @@ router.get('/:type/:uuid.:ext?', function(req, res) {
       res.end();
     } else {
       def = def || skins.default_skin(uuid);
-      fs.readFile("public/images/" + def + ".png", function (err, buf) {
-        if (err) throw err;
-        console.log(buf);
-        renders.draw_model(uuid, buf, scale, helm, body, function(err, status, image) {
-          sendimage(http_status, img_status, image);
+      fs.readFile("public/images/" + def + "_skin.png", function (err, buf) {
+        if (err) {
+          logging.error("error rendering default image: " + err);
+        }
+        renders.draw_model(uuid, buf, scale, helm, body, function(err, def_img) {
+          if (err) {
+            logging.log("error while rendering default image: " + err);
+          }
+          sendimage(http_status, img_status, def_img);
         });
       });
     }

+ 2 - 1
views/index.jade

@@ -83,7 +83,8 @@ block content
         .code
           | #{domain}/renders/body/
           mark.green id
-        | The <b>default</b> parameter can also be used here. The scale factor will not be applied.
+        | The <b>default</b> parameter can also be used here. Using alex or steve will create a
+        | render with the same parameters. A custom image will not be rendered.
         | Using the <b>helm</b> parameter is also allowed, which will be overlayed onto the head.
         | The <b>head</b> render type will return only a render of the skin's head, while the
         | <b>body</b> render will return a render of the entire skin.