mirror of
https://github.com/azures04/crafatar.git
synced 2026-05-06 11:00:39 +02:00
actually store the skin in store_skin, fixes #108; pipe skins & capes through lwip before saving, fixes #121
This commit is contained in:
@@ -32,6 +32,7 @@ function store_skin(rid, userId, profile, cache_details, callback) {
|
||||
logging.log(rid, "new skin hash:", skin_hash);
|
||||
var facepath = path.join(__dirname, "..", config.faces_dir, skin_hash + ".png");
|
||||
var helmpath = path.join(__dirname, "..", config.helms_dir, skin_hash + ".png");
|
||||
var skinpath = path.join(__dirname, "..", config.skins_dir, skin_hash + ".png");
|
||||
fs.exists(facepath, function(exists) {
|
||||
if (exists) {
|
||||
logging.log(rid, "skin already exists, not downloading");
|
||||
@@ -41,16 +42,23 @@ function store_skin(rid, userId, profile, cache_details, callback) {
|
||||
if (err1 || !img) {
|
||||
callback(err1, null);
|
||||
} else {
|
||||
skins.extract_face(img, facepath, function(err2) {
|
||||
if (err2) {
|
||||
logging.error(rid, err2.stack);
|
||||
callback(err2, null);
|
||||
skins.save_image(img, skinpath, function(skin_err) {
|
||||
if (skin_err) {
|
||||
logging.error(rid, skin_err);
|
||||
callback(skin_err, null);
|
||||
} else {
|
||||
logging.debug(rid, "face extracted");
|
||||
skins.extract_helm(rid, facepath, img, helmpath, function(err3) {
|
||||
logging.debug(rid, "helm extracted");
|
||||
logging.debug(rid, helmpath);
|
||||
callback(err3, skin_hash);
|
||||
skins.extract_face(img, facepath, function(err2) {
|
||||
if (err2) {
|
||||
logging.error(rid, err2.stack);
|
||||
callback(err2, null);
|
||||
} else {
|
||||
logging.debug(rid, "face extracted");
|
||||
skins.extract_helm(rid, facepath, img, helmpath, function(err3) {
|
||||
logging.debug(rid, "helm extracted");
|
||||
logging.debug(rid, helmpath);
|
||||
callback(err3, skin_hash);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -2,7 +2,7 @@ var http_code = require("http").STATUS_CODES;
|
||||
var logging = require("./logging");
|
||||
var request = require("request");
|
||||
var config = require("./config");
|
||||
var fs = require("fs");
|
||||
var skins = require("./skins");
|
||||
|
||||
var session_url = "https://sessionserver.mojang.com/session/minecraft/profile/";
|
||||
var skins_url = "https://skins.minecraft.net/MinecraftSkins/";
|
||||
@@ -176,11 +176,8 @@ exp.save_texture = function(rid, tex_hash, outpath, callback) {
|
||||
logging.error(rid, "error while downloading texture");
|
||||
callback(err, response, null);
|
||||
} else {
|
||||
fs.writeFile(outpath, img, "binary", function(fs_err) {
|
||||
if (fs_err) {
|
||||
logging.error(rid, "error:", fs_err.stack);
|
||||
}
|
||||
callback(fs_err, response, img);
|
||||
skins.save_image(img, outpath, function(img_err) {
|
||||
callback(img_err, response, img);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user