From b151e03035bbefd0a3c6938e917d64d5a668ef9e Mon Sep 17 00:00:00 2001 From: Jake Date: Fri, 5 Dec 2014 23:16:14 -0600 Subject: [PATCH] Add default image support. Custom images are not rendered - alex or steve are --- modules/helpers.js | 5 +++++ modules/renders.js | 3 +++ routes/renders.js | 17 +++++++++++------ views/index.jade | 3 ++- 4 files changed, 21 insertions(+), 7 deletions(-) diff --git a/modules/helpers.js b/modules/helpers.js index f74c1ae..c7f6dc9 100644 --- a/modules/helpers.js +++ b/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) { diff --git a/modules/renders.js b/modules/renders.js index 1e11fac..ffa9e35 100644 --- a/modules/renders.js +++ b/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); }); }; diff --git a/routes/renders.js b/routes/renders.js index 38ea48d..7efdef3 100644 --- a/routes/renders.js +++ b/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); }); }); } diff --git a/views/index.jade b/views/index.jade index 05f00ab..bf7aa9f 100644 --- a/views/index.jade +++ b/views/index.jade @@ -83,7 +83,8 @@ block content .code | #{domain}/renders/body/ mark.green id - | The default parameter can also be used here. The scale factor will not be applied. + | The default 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 helm parameter is also allowed, which will be overlayed onto the head. | The head render type will return only a render of the skin's head, while the | body render will return a render of the entire skin.