[minetest-mod-character-creator] 01/02: New upstream version 1.0

Julien Puydt julien.puydt at laposte.net
Thu Aug 17 17:35:10 UTC 2017


This is an automated email from the git hooks/post-receive script.

jpuydt-guest pushed a commit to branch master
in repository minetest-mod-character-creator.

commit 4b1aeedfc52d78ff9db47f350db5e16833e05e82
Author: Julien Puydt <julien.puydt at laposte.net>
Date:   Thu Aug 17 17:47:06 2017 +0200

    New upstream version 1.0
---
 depends.txt                                   |   4 +
 description.txt                               |   1 +
 init.lua                                      | 357 ++++++++++++++++++++++++++
 license.txt                                   |  52 ++++
 mod.conf                                      |   1 +
 readme.md                                     |   5 +
 skins.lua                                     | 270 +++++++++++++++++++
 textures/cc_eyes_black.png                    | Bin 0 -> 131 bytes
 textures/cc_eyes_blue.png                     | Bin 0 -> 135 bytes
 textures/cc_eyes_brown.png                    | Bin 0 -> 136 bytes
 textures/cc_eyes_green.png                    | Bin 0 -> 135 bytes
 textures/cc_eyes_orange.png                   | Bin 0 -> 136 bytes
 textures/cc_eyes_purple.png                   | Bin 0 -> 135 bytes
 textures/cc_eyes_red.png                      | Bin 0 -> 135 bytes
 textures/cc_eyes_white.png                    | Bin 0 -> 134 bytes
 textures/cc_eyes_yellow.png                   | Bin 0 -> 129 bytes
 textures/cc_face_alien_black_F.png            | Bin 0 -> 336 bytes
 textures/cc_face_alien_black_M.png            | Bin 0 -> 328 bytes
 textures/cc_face_alien_dark_F.png             | Bin 0 -> 336 bytes
 textures/cc_face_alien_dark_M.png             | Bin 0 -> 328 bytes
 textures/cc_face_alien_fair_F.png             | Bin 0 -> 1053 bytes
 textures/cc_face_alien_fair_M.png             | Bin 0 -> 1029 bytes
 textures/cc_face_alien_green_F.png            | Bin 0 -> 414 bytes
 textures/cc_face_alien_green_M.png            | Bin 0 -> 405 bytes
 textures/cc_face_alien_red_F.png              | Bin 0 -> 458 bytes
 textures/cc_face_alien_red_M.png              | Bin 0 -> 452 bytes
 textures/cc_face_alien_tanned_F.png           | Bin 0 -> 398 bytes
 textures/cc_face_alien_tanned_M.png           | Bin 0 -> 390 bytes
 textures/cc_face_alien_white_F.png            | Bin 0 -> 395 bytes
 textures/cc_face_alien_white_M.png            | Bin 0 -> 388 bytes
 textures/cc_face_dwarven_black_F.png          | Bin 0 -> 379 bytes
 textures/cc_face_dwarven_black_M.png          | Bin 0 -> 581 bytes
 textures/cc_face_dwarven_dark_F.png           | Bin 0 -> 378 bytes
 textures/cc_face_dwarven_dark_M.png           | Bin 0 -> 653 bytes
 textures/cc_face_dwarven_fair_F.png           | Bin 0 -> 1053 bytes
 textures/cc_face_dwarven_fair_M.png           | Bin 0 -> 1174 bytes
 textures/cc_face_dwarven_green_F.png          | Bin 0 -> 455 bytes
 textures/cc_face_dwarven_green_M.png          | Bin 0 -> 785 bytes
 textures/cc_face_dwarven_red_F.png            | Bin 0 -> 499 bytes
 textures/cc_face_dwarven_red_M.png            | Bin 0 -> 811 bytes
 textures/cc_face_dwarven_tanned_F.png         | Bin 0 -> 436 bytes
 textures/cc_face_dwarven_tanned_M.png         | Bin 0 -> 767 bytes
 textures/cc_face_dwarven_white_F.png          | Bin 0 -> 438 bytes
 textures/cc_face_dwarven_white_M.png          | Bin 0 -> 788 bytes
 textures/cc_face_elven_black_F.png            | Bin 0 -> 335 bytes
 textures/cc_face_elven_black_M.png            | Bin 0 -> 551 bytes
 textures/cc_face_elven_dark_F.png             | Bin 0 -> 335 bytes
 textures/cc_face_elven_dark_M.png             | Bin 0 -> 614 bytes
 textures/cc_face_elven_fair_F.png             | Bin 0 -> 1090 bytes
 textures/cc_face_elven_fair_M.png             | Bin 0 -> 1206 bytes
 textures/cc_face_elven_green_F.png            | Bin 0 -> 418 bytes
 textures/cc_face_elven_green_M.png            | Bin 0 -> 760 bytes
 textures/cc_face_elven_red_F.png              | Bin 0 -> 466 bytes
 textures/cc_face_elven_red_M.png              | Bin 0 -> 789 bytes
 textures/cc_face_elven_tanned_F.png           | Bin 0 -> 399 bytes
 textures/cc_face_elven_tanned_M.png           | Bin 0 -> 738 bytes
 textures/cc_face_elven_white_F.png            | Bin 0 -> 534 bytes
 textures/cc_face_elven_white_M.png            | Bin 0 -> 762 bytes
 textures/cc_face_human_black_F.png            | Bin 0 -> 317 bytes
 textures/cc_face_human_black_M.png            | Bin 0 -> 531 bytes
 textures/cc_face_human_dark_F.png             | Bin 0 -> 317 bytes
 textures/cc_face_human_dark_M.png             | Bin 0 -> 594 bytes
 textures/cc_face_human_fair_F.png             | Bin 0 -> 1022 bytes
 textures/cc_face_human_fair_M.png             | Bin 0 -> 1152 bytes
 textures/cc_face_human_green_F.png            | Bin 0 -> 398 bytes
 textures/cc_face_human_green_M.png            | Bin 0 -> 737 bytes
 textures/cc_face_human_red_F.png              | Bin 0 -> 443 bytes
 textures/cc_face_human_red_M.png              | Bin 0 -> 765 bytes
 textures/cc_face_human_tanned_F.png           | Bin 0 -> 379 bytes
 textures/cc_face_human_tanned_M.png           | Bin 0 -> 717 bytes
 textures/cc_face_human_white_F.png            | Bin 0 -> 381 bytes
 textures/cc_face_human_white_M.png            | Bin 0 -> 742 bytes
 textures/cc_hair_long_black_F.png             | Bin 0 -> 476 bytes
 textures/cc_hair_long_black_M.png             | Bin 0 -> 450 bytes
 textures/cc_hair_long_blonde_F.png            | Bin 0 -> 476 bytes
 textures/cc_hair_long_blonde_M.png            | Bin 0 -> 450 bytes
 textures/cc_hair_long_blue_F.png              | Bin 0 -> 509 bytes
 textures/cc_hair_long_blue_M.png              | Bin 0 -> 488 bytes
 textures/cc_hair_long_brown_F.png             | Bin 0 -> 1048 bytes
 textures/cc_hair_long_brown_M.png             | Bin 0 -> 1033 bytes
 textures/cc_hair_long_green_F.png             | Bin 0 -> 531 bytes
 textures/cc_hair_long_green_M.png             | Bin 0 -> 504 bytes
 textures/cc_hair_long_orange_F.png            | Bin 0 -> 476 bytes
 textures/cc_hair_long_orange_M.png            | Bin 0 -> 450 bytes
 textures/cc_hair_long_purple_F.png            | Bin 0 -> 493 bytes
 textures/cc_hair_long_purple_M.png            | Bin 0 -> 477 bytes
 textures/cc_hair_long_red_F.png               | Bin 0 -> 509 bytes
 textures/cc_hair_long_red_M.png               | Bin 0 -> 488 bytes
 textures/cc_hair_long_white_F.png             | Bin 0 -> 403 bytes
 textures/cc_hair_long_white_M.png             | Bin 0 -> 369 bytes
 textures/cc_hair_medium_black_F.png           | Bin 0 -> 457 bytes
 textures/cc_hair_medium_black_M.png           | Bin 0 -> 433 bytes
 textures/cc_hair_medium_blonde_F.png          | Bin 0 -> 457 bytes
 textures/cc_hair_medium_blonde_M.png          | Bin 0 -> 433 bytes
 textures/cc_hair_medium_blue_F.png            | Bin 0 -> 495 bytes
 textures/cc_hair_medium_blue_M.png            | Bin 0 -> 470 bytes
 textures/cc_hair_medium_brown_F.png           | Bin 0 -> 1039 bytes
 textures/cc_hair_medium_brown_M.png           | Bin 0 -> 987 bytes
 textures/cc_hair_medium_green_F.png           | Bin 0 -> 511 bytes
 textures/cc_hair_medium_green_M.png           | Bin 0 -> 487 bytes
 textures/cc_hair_medium_orange_F.png          | Bin 0 -> 457 bytes
 textures/cc_hair_medium_orange_M.png          | Bin 0 -> 433 bytes
 textures/cc_hair_medium_purple_F.png          | Bin 0 -> 482 bytes
 textures/cc_hair_medium_purple_M.png          | Bin 0 -> 456 bytes
 textures/cc_hair_medium_red_F.png             | Bin 0 -> 495 bytes
 textures/cc_hair_medium_red_M.png             | Bin 0 -> 470 bytes
 textures/cc_hair_medium_white_F.png           | Bin 0 -> 375 bytes
 textures/cc_hair_medium_white_M.png           | Bin 0 -> 352 bytes
 textures/cc_hair_short_black_F.png            | Bin 0 -> 416 bytes
 textures/cc_hair_short_black_M.png            | Bin 0 -> 381 bytes
 textures/cc_hair_short_blonde_F.png           | Bin 0 -> 416 bytes
 textures/cc_hair_short_blonde_M.png           | Bin 0 -> 381 bytes
 textures/cc_hair_short_blue_F.png             | Bin 0 -> 453 bytes
 textures/cc_hair_short_blue_M.png             | Bin 0 -> 408 bytes
 textures/cc_hair_short_brown_F.png            | Bin 0 -> 988 bytes
 textures/cc_hair_short_brown_M.png            | Bin 0 -> 991 bytes
 textures/cc_hair_short_green_F.png            | Bin 0 -> 469 bytes
 textures/cc_hair_short_green_M.png            | Bin 0 -> 424 bytes
 textures/cc_hair_short_orange_F.png           | Bin 0 -> 416 bytes
 textures/cc_hair_short_orange_M.png           | Bin 0 -> 381 bytes
 textures/cc_hair_short_purple_F.png           | Bin 0 -> 437 bytes
 textures/cc_hair_short_purple_M.png           | Bin 0 -> 393 bytes
 textures/cc_hair_short_red_F.png              | Bin 0 -> 453 bytes
 textures/cc_hair_short_red_M.png              | Bin 0 -> 408 bytes
 textures/cc_hair_short_white_F.png            | Bin 0 -> 351 bytes
 textures/cc_hair_short_white_M.png            | Bin 0 -> 330 bytes
 textures/cc_hair_special_black_F.png          | Bin 0 -> 998 bytes
 textures/cc_hair_special_black_M.png          | Bin 0 -> 243 bytes
 textures/cc_hair_special_blonde_F.png         | Bin 0 -> 1314 bytes
 textures/cc_hair_special_blonde_M.png         | Bin 0 -> 243 bytes
 textures/cc_hair_special_blue_F.png           | Bin 0 -> 1334 bytes
 textures/cc_hair_special_blue_M.png           | Bin 0 -> 259 bytes
 textures/cc_hair_special_brown_F.png          | Bin 0 -> 1241 bytes
 textures/cc_hair_special_brown_M.png          | Bin 0 -> 991 bytes
 textures/cc_hair_special_green_F.png          | Bin 0 -> 1254 bytes
 textures/cc_hair_special_green_M.png          | Bin 0 -> 270 bytes
 textures/cc_hair_special_orange_F.png         | Bin 0 -> 1455 bytes
 textures/cc_hair_special_orange_M.png         | Bin 0 -> 243 bytes
 textures/cc_hair_special_purple_F.png         | Bin 0 -> 1330 bytes
 textures/cc_hair_special_purple_M.png         | Bin 0 -> 254 bytes
 textures/cc_hair_special_red_F.png            | Bin 0 -> 1438 bytes
 textures/cc_hair_special_red_M.png            | Bin 0 -> 259 bytes
 textures/cc_hair_special_white_F.png          | Bin 0 -> 1021 bytes
 textures/cc_hair_special_white_M.png          | Bin 0 -> 222 bytes
 textures/cc_pants_black.png                   | Bin 0 -> 273 bytes
 textures/cc_pants_blue.png                    | Bin 0 -> 282 bytes
 textures/cc_pants_green.png                   | Bin 0 -> 273 bytes
 textures/cc_pants_orange.png                  | Bin 0 -> 282 bytes
 textures/cc_pants_purple.png                  | Bin 0 -> 282 bytes
 textures/cc_pants_red.png                     | Bin 0 -> 273 bytes
 textures/cc_pants_white.png                   | Bin 0 -> 273 bytes
 textures/cc_pants_yellow.png                  | Bin 0 -> 273 bytes
 textures/cc_shoes_canvas.png                  | Bin 0 -> 240 bytes
 textures/cc_shoes_fur.png                     | Bin 0 -> 435 bytes
 textures/cc_shoes_leather.png                 | Bin 0 -> 211 bytes
 textures/cc_skin_black.png                    | Bin 0 -> 571 bytes
 textures/cc_skin_dark.png                     | Bin 0 -> 571 bytes
 textures/cc_skin_fair.png                     | Bin 0 -> 2611 bytes
 textures/cc_skin_green.png                    | Bin 0 -> 763 bytes
 textures/cc_skin_red.png                      | Bin 0 -> 799 bytes
 textures/cc_skin_tanned.png                   | Bin 0 -> 721 bytes
 textures/cc_skin_white.png                    | Bin 0 -> 785 bytes
 textures/cc_tshirt_black.png                  | Bin 0 -> 378 bytes
 textures/cc_tshirt_blue.png                   | Bin 0 -> 418 bytes
 textures/cc_tshirt_green.png                  | Bin 0 -> 418 bytes
 textures/cc_tshirt_orange.png                 | Bin 0 -> 431 bytes
 textures/cc_tshirt_purple.png                 | Bin 0 -> 789 bytes
 textures/cc_tshirt_red.png                    | Bin 0 -> 431 bytes
 textures/cc_tshirt_white.png                  | Bin 0 -> 378 bytes
 textures/cc_tshirt_yellow.png                 | Bin 0 -> 409 bytes
 textures/inventory_plus_character_creator.png | Bin 0 -> 303 bytes
 171 files changed, 690 insertions(+)

diff --git a/depends.txt b/depends.txt
new file mode 100644
index 0000000..39bf229
--- /dev/null
+++ b/depends.txt
@@ -0,0 +1,4 @@
+3d_armor?
+multiskin?
+inventory_plus?
+unified_inventory?
\ No newline at end of file
diff --git a/description.txt b/description.txt
new file mode 100644
index 0000000..8697957
--- /dev/null
+++ b/description.txt
@@ -0,0 +1 @@
+Allows the creation of customized character skins inside the game.
\ No newline at end of file
diff --git a/init.lua b/init.lua
new file mode 100644
index 0000000..6353a5a
--- /dev/null
+++ b/init.lua
@@ -0,0 +1,357 @@
+character_creator = {}
+character_creator.skins = dofile(minetest.get_modpath("character_creator") .. "/skins.lua")
+
+local skin_default = {
+	gender     = "Male",
+	height     = 1,
+	width      = 1,
+
+	skin       = "Fair Skin",
+	face       = "Human Face",
+	hair       = "Brown Hair",
+	hair_style = "Medium Hair",
+	eyes       = "Blue Eyes",
+	tshirt     = "Green T-Shirt",
+	pants      = "Blue Pants",
+	shoes      = "Leather Shoes"
+}
+
+local skins = character_creator.skins
+local skins_array = {}
+
+minetest.after(0, function()
+	local function associative_to_array(associative)
+		local array = {}
+		for key in pairs(associative) do
+			table.insert(array, key)
+		end
+		return array
+	end
+
+	skins_array = {
+		skin       = associative_to_array(skins.skin),
+		face       = associative_to_array(skins.face),
+		hair       = associative_to_array(skins.hair),
+		hair_style = associative_to_array(skins.hair_style),
+		eyes       = associative_to_array(skins.eyes),
+		tshirt     = associative_to_array(skins.tshirt),
+		pants      = associative_to_array(skins.pants),
+		shoes      = associative_to_array(skins.shoes)
+	}
+end)
+
+-- Saved skins_array indexes in this
+local skin_indexes = {}
+
+local function show_formspec(player)
+	local indexes = skin_indexes[player]
+
+	local formspec = "size[15,9.5]"
+		.. "bgcolor[#00000000]"
+		-- Gender
+		.. "button[10,;2.5,.5;male;Male]"
+		.. "button[12.5,;2.5,.5;female;Female]"
+		-- Height
+		.. "button[10,1.1;2.5,.5;taller;Taller]"
+		.. "button[10,2;2.5,.5;shorter;Shorter]"
+		-- Width
+		.. "button[12.5,1.1;2.5,.5;wider;Wider]"
+		.. "button[12.5,2;2.5,.5;thinner;Thinner]"
+		-- Skin
+		.. "button[10,2.75;5,1;skin;" .. skins_array.skin[indexes.skin] .. "]"
+		.. "button[10,2.75;1,1;skin_back;<<]"
+		.. "button[14,2.75;1,1;skin_next;>>]"
+		-- Face
+		.. "button[10,3.5;5,1;face;" .. skins_array.face[indexes.face] .. "]"
+		.. "button[10,3.5;1,1;face_back;<<]"
+		.. "button[14,3.5;1,1;face_next;>>]"
+		-- Hair
+		.. "button[10,4.25;5,1;hair;" .. skins_array.hair[indexes.hair] .. "]"
+		.. "button[10,4.25;1,1;hair_back;<<]"
+		.. "button[14,4.25;1,1;hair_next;>>]"
+		-- Hair Style
+		.. "button[10,5;5,1;hair_style;" .. skins_array.hair_style[indexes.hair_style] .. "]"
+		.. "button[10,5;1,1;hair_style_back;<<]"
+		.. "button[14,5;1,1;hair_style_next;>>]"
+		-- Eyes
+		.. "button[10,5.75;5,1;eyes;" .. skins_array.eyes[indexes.eyes] .. "]"
+		.. "button[10,5.75;1,1;eyes_back;<<]"
+		.. "button[14,5.75;1,1;eyes_next;>>]"
+		-- T-Shirt
+		.. "button[10,6.5;5,1;tshirt;" .. skins_array.tshirt[indexes.tshirt] .. "]"
+		.. "button[10,6.5;1,1;tshirt_back;<<]"
+		.. "button[14,6.5;1,1;tshirt_next;>>]"
+		-- Pants
+		.. "button[10,7.25;5,1;pants;" .. skins_array.pants[indexes.pants] .. "]"
+		.. "button[10,7.25;1,1;pants_back;<<]"
+		.. "button[14,7.25;1,1;pants_next;>>]"
+		-- Shoes
+		.. "button[10,8;5,1;shoes;" .. skins_array.shoes[indexes.shoes] .. "]"
+		.. "button[10,8;1,1;shoes_back;<<]"
+		.. "button[14,8;1,1;shoes_next;>>]"
+		-- Done
+		.. "button_exit[10,9;2.5,.5;done;Done]"
+		.. "button_exit[12.5,9;2.5,.5;cancel;Cancel]"
+
+	minetest.show_formspec(player:get_player_name(), "character_creator", formspec)
+end
+
+local function load_skin(player)
+	skin_indexes[player] = {}
+
+	if not player:get_attribute("character_creator:gender") then
+		player:set_attribute("character_creator:gender", skin_default.gender)
+	end
+
+	if not player:get_attribute("character_creator:width") then
+		player:set_attribute("character_creator:width", skin_default.width)
+	end
+
+	if not player:get_attribute("character_creator:height") then
+		player:set_attribute("character_creator:height", skin_default.height)
+	end
+
+	local function load_data(data_name)
+		local key   = player:get_attribute("character_creator:" .. data_name)
+		local index = table.indexof(skins_array[data_name], key)
+		if index == -1 then
+			index = table.indexof(skins_array[data_name], skin_default[data_name])
+		end
+
+		local indexes = skin_indexes[player]
+		indexes[data_name] = index
+	end
+
+	load_data("skin")
+	load_data("face")
+	load_data("eyes")
+	load_data("hair_style")
+	load_data("hair")
+	load_data("tshirt")
+	load_data("pants")
+	load_data("shoes")
+end
+
+local function save_skin(player)
+	local function save_data(data_name)
+		local indexes = skin_indexes[player]
+		local index   = indexes[data_name]
+		local key     = skins_array[data_name][index]
+		player:set_attribute("character_creator:" .. data_name, key)
+	end
+
+	save_data("skin")
+	save_data("face")
+	save_data("eyes")
+	save_data("hair_style")
+	save_data("hair")
+	save_data("tshirt")
+	save_data("pants")
+	save_data("shoes")
+end
+
+local function change_skin(player)
+	local indexes = skin_indexes[player]
+
+	local texture = (function()
+		local texture = ""
+		local gender = player:get_attribute("character_creator:gender")
+
+		local skin_key = skins_array.skin[indexes.skin]
+		local skin = skins.skin[skin_key]
+		texture = texture .. skin
+
+		local face_key = skins_array.face[indexes.face]
+		local face = skins.face[face_key][gender][skin_key]
+		texture = texture .. "^" .. face
+
+		local eyes_key = skins_array.eyes[indexes.eyes]
+		local eyes = skins.eyes[eyes_key]
+		texture = texture .. "^" .. eyes
+
+		local hair_style = skins_array.hair_style[indexes.hair_style]
+		local hair_key = skins_array.hair[indexes.hair]
+		local hair = skins.hair[hair_key][gender][hair_style]
+		texture = texture .. "^" .. hair
+
+		local tshirt_key = skins_array.tshirt[indexes.tshirt]
+		local tshirt = skins.tshirt[tshirt_key]
+		texture = texture .. "^" .. tshirt
+
+		local pants_key = skins_array.pants[indexes.pants]
+		local pants = skins.pants[pants_key]
+		texture = texture .. "^" .. pants
+
+		local shoes_key = skins_array.shoes[indexes.shoes]
+		local shoes = skins.shoes[shoes_key]
+		texture = texture .. "^" .. shoes
+
+		return texture
+	end)()
+
+	local width  = tonumber(player:get_attribute("character_creator:width"))
+	local height = tonumber(player:get_attribute("character_creator:height"))
+
+	player:set_properties({
+		visual_size = {
+			x = width,
+			y = height
+		}
+	})
+
+	local name = player:get_player_name()
+
+	if minetest.get_modpath("multiskin") then
+		multiskin.layers[name].skin = texture
+		armor:set_player_armor(player)
+		multiskin:set_player_textures(player, {textures = {texture}})
+	elseif minetest.get_modpath("3d_armor") then
+		armor.textures[name].skin = texture
+		armor:set_player_armor(player)
+	else
+		player:set_properties({textures = {texture}})
+	end
+
+	save_skin(player)
+end
+
+minetest.register_on_joinplayer(function(player)
+	load_skin(player)
+	minetest.after(0, change_skin, player)
+end)
+
+local skin_temp = {}
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+	if formname ~= "character_creator" then
+		return
+	end
+
+	local indexes = skin_indexes[player]
+	if not skin_temp[player] then
+		skin_temp[player] = {
+			gender = player:get_attribute("character_creator:gender"),
+			width = player:get_attribute("character_creator:width"),
+			height = player:get_attribute("character_creator:height"),
+			indexes = table.copy(indexes)
+		}
+	end
+
+	-- Gender
+	do
+		if fields.male then
+			player:set_attribute("character_creator:gender", "Male")
+			player:set_attribute("character_creator:width", 1)
+			player:set_attribute("character_creator:height", 1)
+		end
+
+		if fields.female then
+			player:set_attribute("character_creator:gender", "Female")
+			player:set_attribute("character_creator:width", 0.95)
+			player:set_attribute("character_creator:height", 1)
+		end
+	end
+
+	-- Height
+	do
+		local height = tonumber(player:get_attribute("character_creator:height"))
+
+		if fields.taller and height < 1.25 then
+			player:set_attribute("character_creator:height", height + 0.05)
+		end
+
+		if fields.shorter and height > 0.75 then
+			player:set_attribute("character_creator:height", height - 0.05)
+		end
+	end
+
+	-- Width
+	do
+		local width = tonumber(player:get_attribute("character_creator:width"))
+
+		if fields.wider and width < 1.25 then
+			player:set_attribute("character_creator:width", width + 0.05)
+		end
+
+		if fields.thinner and width > 0.75 then
+			player:set_attribute("character_creator:width", width - 0.05)
+		end
+	end
+
+	-- Switch skin
+	do
+		local function switch_skin(data_name, next_index)
+			local index = indexes[data_name] + next_index
+			local max = #skins_array[data_name]
+
+			if index == 0 then
+				index = max
+			elseif index == (max + 1) then
+				index = 1
+			end
+
+			indexes[data_name] = index
+		end
+
+		for field in pairs(fields) do
+			if field:find("_back$") then
+				local data_name = field:match("(.+)_back$")
+				switch_skin(data_name, -1)
+			elseif field:find("_next$") then
+				local data_name = field:match("(.+)_next$")
+				switch_skin(data_name, 1)
+			end
+		end
+	end
+
+	-- Close or update
+	do
+		local quit = false
+
+		if fields.cancel then
+			local temp = skin_temp[player]
+			player:set_attribute("character_creator:gender", temp.gender)
+			player:set_attribute("character_creator:width", temp.width)
+			player:set_attribute("character_creator:height", temp.height)
+			skin_indexes[player] = table.copy(temp.indexes)
+			skin_temp[player] = nil
+			quit = true
+		elseif fields.quit then
+			skin_temp[player] = nil
+			quit = true
+		end
+
+		if not quit then
+			show_formspec(player)
+		end
+	end
+
+	change_skin(player)
+end)
+
+minetest.register_chatcommand("character_creator", {
+	func = function(name)
+		minetest.after(0.5, function()
+			local player = minetest.get_player_by_name(name)
+			if player then
+				show_formspec(player)
+			end
+		end)
+	end
+})
+
+if minetest.global_exists("unified_inventory") then
+	unified_inventory.register_button("character_creator", {
+		type   = "image",
+		image  = "inventory_plus_character_creator.png",
+		action = show_formspec
+	})
+elseif minetest.global_exists("inventory_plus") then
+	minetest.register_on_joinplayer(function(player)
+		inventory_plus.register_button(player, "character_creator", "Character Creator")
+	end)
+	minetest.register_on_player_receive_fields(function(player, _, fields)
+		if fields.character_creator then
+			show_formspec(player)
+		end
+	end)
+end
\ No newline at end of file
diff --git a/license.txt b/license.txt
new file mode 100644
index 0000000..3fe225c
--- /dev/null
+++ b/license.txt
@@ -0,0 +1,52 @@
+License of source code
+----------------------
+
+MIT License
+
+Copyright (c) 2017 Rui
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+
+License of textures
+--------------------------------------
+
+Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
+
+Copyright (C) 2017 Voxelands http://www.voxelands.com/
+Copyright (C) 2017 darkrose
+Copyright (C) 2017 sdzen
+
+You are free to:
+Share - copy and redistribute the material in any medium or format
+Adapt - remix, transform, and build upon the material
+for any purpose, even commercially.
+The licensor cannot revoke these freedoms as long as you follow the license terms.
+
+Under the following terms:
+Attribution - You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
+ShareAlike - If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.
+No additional restrictions - You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
+
+Notices:
+You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation.
+No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material.
+
+For more details:
+http://creativecommons.org/licenses/by-sa/3.0/
\ No newline at end of file
diff --git a/mod.conf b/mod.conf
new file mode 100644
index 0000000..a01ea61
--- /dev/null
+++ b/mod.conf
@@ -0,0 +1 @@
+name = character_creator
\ No newline at end of file
diff --git a/readme.md b/readme.md
new file mode 100644
index 0000000..20b73b0
--- /dev/null
+++ b/readme.md
@@ -0,0 +1,5 @@
+This mod is attributed to the Voxelands project.
+
+Voxelands creators:
+sdzen
+darkrose
\ No newline at end of file
diff --git a/skins.lua b/skins.lua
new file mode 100644
index 0000000..ec422c2
--- /dev/null
+++ b/skins.lua
@@ -0,0 +1,270 @@
+return {
+	skin = {
+		["Fair Skin"] = "cc_skin_fair.png",
+		["Green Skin"] = "cc_skin_green.png",
+		["Red Skin"] = "cc_skin_red.png",
+		["Tanned Skin"] = "cc_skin_tanned.png",
+		["White Skin"] = "cc_skin_white.png",
+		["Black Skin"] = "cc_skin_black.png",
+		["Dark Skin"] = "cc_skin_dark.png",
+	},
+
+	face = {
+		["Human Face"] = {
+			["Male"] = {
+				["Fair Skin"] = "cc_face_human_fair_M.png",
+				["Green Skin"] = "cc_face_human_green_M.png",
+				["Red Skin"] = "cc_face_human_red_M.png",
+				["Tanned Skin"] = "cc_face_human_tanned_M.png",
+				["White Skin"] = "cc_face_human_white_M.png",
+				["Black Skin"] = "cc_face_human_black_M.png",
+				["Dark Skin"] = "cc_face_human_dark_M.png",
+			},
+			["Female"] = {
+				["Fair Skin"] = "cc_face_human_fair_F.png",
+				["Green Skin"] = "cc_face_human_green_F.png",
+				["Red Skin"] = "cc_face_human_red_F.png",
+				["Tanned Skin"] = "cc_face_human_tanned_F.png",
+				["White Skin"] = "cc_face_human_white_F.png",
+				["Black Skin"] = "cc_face_human_black_F.png",
+				["Dark Skin"] = "cc_face_human_dark_F.png",
+			}
+		},
+		["Alien Face"] = {
+			["Male"] = {
+				["Fair Skin"] = "cc_face_alien_fair_M.png",
+				["Green Skin"] = "cc_face_alien_green_M.png",
+				["Red Skin"] = "cc_face_alien_red_M.png",
+				["Tanned Skin"] = "cc_face_alien_tanned_M.png",
+				["White Skin"] = "cc_face_alien_white_M.png",
+				["Black Skin"] = "cc_face_alien_black_M.png",
+				["Dark Skin"] = "cc_face_alien_dark_M.png",
+			},
+			["Female"] = {
+				["Fair Skin"] = "cc_face_alien_fair_F.png",
+				["Green Skin"] = "cc_face_alien_green_F.png",
+				["Red Skin"] = "cc_face_alien_red_F.png",
+				["Tanned Skin"] = "cc_face_alien_tanned_F.png",
+				["White Skin"] = "cc_face_alien_white_F.png",
+				["Black Skin"] = "cc_face_alien_black_F.png",
+				["Dark Skin"] = "cc_face_alien_dark_F.png",
+			}
+		},
+		["Dwarven Face"] = {
+			["Male"] = {
+				["Fair Skin"] = "cc_face_dwarven_fair_M.png",
+				["Green Skin"] = "cc_face_dwarven_green_M.png",
+				["Red Skin"] = "cc_face_dwarven_red_M.png",
+				["Tanned Skin"] = "cc_face_dwarven_tanned_M.png",
+				["White Skin"] = "cc_face_dwarven_white_M.png",
+				["Black Skin"] = "cc_face_dwarven_black_M.png",
+				["Dark Skin"] = "cc_face_dwarven_dark_M.png",
+			},
+			["Female"] = {
+				["Fair Skin"] = "cc_face_dwarven_fair_F.png",
+				["Green Skin"] = "cc_face_dwarven_green_F.png",
+				["Red Skin"] = "cc_face_dwarven_red_F.png",
+				["Tanned Skin"] = "cc_face_dwarven_tanned_F.png",
+				["White Skin"] = "cc_face_dwarven_white_F.png",
+				["Black Skin"] = "cc_face_dwarven_black_F.png",
+				["Dark Skin"] = "cc_face_dwarven_dark_F.png",
+			}
+		},
+		["Elven Face"] = {
+			["Male"] = {
+				["Fair Skin"] = "cc_face_elven_fair_M.png",
+				["Green Skin"] = "cc_face_elven_green_M.png",
+				["Red Skin"] = "cc_face_elven_red_M.png",
+				["Tanned Skin"] = "cc_face_elven_tanned_M.png",
+				["White Skin"] = "cc_face_elven_white_M.png",
+				["Black Skin"] = "cc_face_elven_black_M.png",
+				["Dark Skin"] = "cc_face_elven_dark_M.png",
+			},
+			["Female"] = {
+				["Fair Skin"] = "cc_face_elven_fair_F.png",
+				["Green Skin"] = "cc_face_elven_green_F.png",
+				["Red Skin"] = "cc_face_elven_red_F.png",
+				["Tanned Skin"] = "cc_face_elven_tanned_F.png",
+				["White Skin"] = "cc_face_elven_white_F.png",
+				["Black Skin"] = "cc_face_elven_black_F.png",
+				["Dark Skin"] = "cc_face_elven_dark_F.png",
+			}
+		}
+	},
+
+	hair = {
+		["Brown Hair"] = {
+			["Male"] = {
+				["Medium Hair"] = "cc_hair_medium_brown_M.png",
+				["Short Hair"] = "cc_hair_short_brown_M.png",
+				["Styled Hair"] = "cc_hair_special_brown_M.png",
+				["Long Hair"] = "cc_hair_long_brown_M.png",
+			},
+			["Female"] = {
+				["Medium Hair"] = "cc_hair_medium_brown_F.png",
+				["Short Hair"] = "cc_hair_short_brown_F.png",
+				["Styled Hair"] = "cc_hair_special_brown_F.png",
+				["Long Hair"] = "cc_hair_long_brown_F.png",
+			}
+		},
+		["Green Hair"] = {
+			["Male"] = {
+				["Medium Hair"] = "cc_hair_medium_green_M.png",
+				["Short Hair"] = "cc_hair_short_green_M.png",
+				["Styled Hair"] = "cc_hair_special_green_M.png",
+				["Long Hair"] = "cc_hair_long_green_M.png",
+			},
+			["Female"] = {
+				["Medium Hair"] = "cc_hair_medium_green_F.png",
+				["Short Hair"] = "cc_hair_short_green_F.png",
+				["Styled Hair"] = "cc_hair_special_green_F.png",
+				["Long Hair"] = "cc_hair_long_green_F.png",
+			}
+		},
+		["Orange Hair"] = {
+			["Male"] = {
+				["Medium Hair"] = "cc_hair_medium_orange_M.png",
+				["Short Hair"] = "cc_hair_short_orange_M.png",
+				["Styled Hair"] = "cc_hair_special_orange_M.png",
+				["Long Hair"] = "cc_hair_long_orange_M.png",
+			},
+			["Female"] = {
+				["Medium Hair"] = "cc_hair_medium_orange_F.png",
+				["Short Hair"] = "cc_hair_short_orange_F.png",
+				["Styled Hair"] = "cc_hair_special_orange_F.png",
+				["Long Hair"] = "cc_hair_long_orange_F.png",
+			}
+		},
+		["Purple Hair"] = {
+			["Male"] = {
+				["Medium Hair"] = "cc_hair_medium_purple_M.png",
+				["Short Hair"] = "cc_hair_short_purple_M.png",
+				["Styled Hair"] = "cc_hair_special_purple_M.png",
+				["Long Hair"] = "cc_hair_long_purple_M.png",
+			},
+			["Female"] = {
+				["Medium Hair"] = "cc_hair_medium_purple_F.png",
+				["Short Hair"] = "cc_hair_short_purple_F.png",
+				["Styled Hair"] = "cc_hair_special_purple_F.png",
+				["Long Hair"] = "cc_hair_long_purple_F.png",
+			}
+		},
+		["Red Hair"] = {
+			["Male"] = {
+				["Medium Hair"] = "cc_hair_medium_red_M.png",
+				["Short Hair"] = "cc_hair_short_red_M.png",
+				["Styled Hair"] = "cc_hair_special_red_M.png",
+				["Long Hair"] = "cc_hair_long_red_M.png",
+			},
+			["Female"] = {
+				["Medium Hair"] = "cc_hair_medium_red_F.png",
+				["Short Hair"] = "cc_hair_short_red_F.png",
+				["Styled Hair"] = "cc_hair_special_red_F.png",
+				["Long Hair"] = "cc_hair_long_red_F.png",
+			}
+		},
+		["White Hair"] = {
+			["Male"] = {
+				["Medium Hair"] = "cc_hair_medium_white_M.png",
+				["Short Hair"] = "cc_hair_short_white_M.png",
+				["Styled Hair"] = "cc_hair_special_white_M.png",
+				["Long Hair"] = "cc_hair_long_white_M.png",
+			},
+			["Female"] = {
+				["Medium Hair"] = "cc_hair_medium_white_F.png",
+				["Short Hair"] = "cc_hair_short_white_F.png",
+				["Styled Hair"] = "cc_hair_special_white_F.png",
+				["Long Hair"] = "cc_hair_long_white_F.png",
+			}
+		},
+		["Black Hair"] = {
+			["Male"] = {
+				["Medium Hair"] = "cc_hair_medium_black_M.png",
+				["Short Hair"] = "cc_hair_short_black_M.png",
+				["Styled Hair"] = "cc_hair_special_black_M.png",
+				["Long Hair"] = "cc_hair_long_black_M.png",
+			},
+			["Female"] = {
+				["Medium Hair"] = "cc_hair_medium_black_F.png",
+				["Short Hair"] = "cc_hair_short_black_F.png",
+				["Styled Hair"] = "cc_hair_special_black_F.png",
+				["Long Hair"] = "cc_hair_long_black_F.png",
+			}
+		},
+		["Blonde Hair"] = {
+			["Male"] = {
+				["Medium Hair"] = "cc_hair_medium_blonde_M.png",
+				["Short Hair"] = "cc_hair_short_blonde_M.png",
+				["Styled Hair"] = "cc_hair_special_blonde_M.png",
+				["Long Hair"] = "cc_hair_long_blonde_M.png",
+			},
+			["Female"] = {
+				["Medium Hair"] = "cc_hair_medium_blonde_F.png",
+				["Short Hair"] = "cc_hair_short_blonde_F.png",
+				["Styled Hair"] = "cc_hair_special_blonde_F.png",
+				["Long Hair"] = "cc_hair_long_blonde_F.png",
+			}
+		},
+		["Blue Hair"] = {
+			["Male"] = {
+				["Medium Hair"] = "cc_hair_medium_blue_M.png",
+				["Short Hair"] = "cc_hair_short_blue_M.png",
+				["Styled Hair"] = "cc_hair_special_blue_M.png",
+				["Long Hair"] = "cc_hair_long_blue_M.png",
+			},
+			["Female"] = {
+				["Medium Hair"] = "cc_hair_medium_blue_F.png",
+				["Short Hair"] = "cc_hair_short_blue_F.png",
+				["Styled Hair"] = "cc_hair_special_blue_F.png",
+				["Long Hair"] = "cc_hair_long_blue_F.png",
+			}
+		}
+	},
+
+	hair_style = {
+		["Medium Hair"] = "medium",
+		["Short Hair"] = "short",
+		["Styled Hair"] = "styled",
+		["Long Hair"] = "long",
+	},
+
+	eyes = {
+		["Blue Eyes"] = "cc_eyes_blue.png",
+		["Brown Eyes"] = "cc_eyes_brown.png",
+		["Green Eyes"] = "cc_eyes_green.png",
+		["Orange Eyes"] = "cc_eyes_orange.png",
+		["Purple Eyes"] = "cc_eyes_purple.png",
+		["Red Eyes"] = "cc_eyes_red.png",
+		["White Eyes"] = "cc_eyes_white.png",
+		["Yellow Eyes"] = "cc_eyes_yellow.png",
+		["Black Eyes"] = "cc_eyes_black.png",
+	},
+
+	tshirt = {
+		["Green T-Shirt"] = "cc_tshirt_green.png",
+		["Orange T-Shirt"] = "cc_tshirt_orange.png",
+		["Purple T-Shirt"] = "cc_tshirt_purple.png",
+		["Red T-Shirt"] = "cc_tshirt_red.png",
+		["White T-Shirt"] = "cc_tshirt_white.png",
+		["Yellow T-Shirt"] = "cc_tshirt_yellow.png",
+		["Black T-Shirt"] = "cc_tshirt_black.png",
+		["Blue T-Shirt"] = "cc_tshirt_blue.png",
+	},
+
+	pants = {
+		["Blue Pants"] = "cc_pants_blue.png",
+		["Green Pants"] = "cc_pants_green.png",
+		["Orange Pants"] = "cc_pants_orange.png",
+		["Purple Pants"] = "cc_pants_purple.png",
+		["Red Pants"] = "cc_pants_red.png",
+		["White Pants"] = "cc_pants_white.png",
+		["Yellow Pants"] = "cc_pants_yellow.png",
+		["Black Pants"] = "cc_pants_black.png",
+	},
+
+	shoes = {
+		["Leather Shoes"] = "cc_shoes_leather.png",
+		["Canvas Shoes"] = "cc_shoes_canvas.png",
+		["Fur Shoes"] = "cc_shoes_fur.png",
+	}
+}
diff --git a/textures/cc_eyes_black.png b/textures/cc_eyes_black.png
new file mode 100644
index 0000000..8f2fdc7
Binary files /dev/null and b/textures/cc_eyes_black.png differ
diff --git a/textures/cc_eyes_blue.png b/textures/cc_eyes_blue.png
new file mode 100644
index 0000000..d2115ce
Binary files /dev/null and b/textures/cc_eyes_blue.png differ
diff --git a/textures/cc_eyes_brown.png b/textures/cc_eyes_brown.png
new file mode 100644
index 0000000..dae9025
Binary files /dev/null and b/textures/cc_eyes_brown.png differ
diff --git a/textures/cc_eyes_green.png b/textures/cc_eyes_green.png
new file mode 100644
index 0000000..eb3d3c1
Binary files /dev/null and b/textures/cc_eyes_green.png differ
diff --git a/textures/cc_eyes_orange.png b/textures/cc_eyes_orange.png
new file mode 100644
index 0000000..b7fe3ff
Binary files /dev/null and b/textures/cc_eyes_orange.png differ
diff --git a/textures/cc_eyes_purple.png b/textures/cc_eyes_purple.png
new file mode 100644
index 0000000..2bb5ca9
Binary files /dev/null and b/textures/cc_eyes_purple.png differ
diff --git a/textures/cc_eyes_red.png b/textures/cc_eyes_red.png
new file mode 100644
index 0000000..199d4ac
Binary files /dev/null and b/textures/cc_eyes_red.png differ
diff --git a/textures/cc_eyes_white.png b/textures/cc_eyes_white.png
new file mode 100644
index 0000000..6b027ee
Binary files /dev/null and b/textures/cc_eyes_white.png differ
diff --git a/textures/cc_eyes_yellow.png b/textures/cc_eyes_yellow.png
new file mode 100644
index 0000000..6d6107b
Binary files /dev/null and b/textures/cc_eyes_yellow.png differ
diff --git a/textures/cc_face_alien_black_F.png b/textures/cc_face_alien_black_F.png
new file mode 100644
index 0000000..a56e28e
Binary files /dev/null and b/textures/cc_face_alien_black_F.png differ
diff --git a/textures/cc_face_alien_black_M.png b/textures/cc_face_alien_black_M.png
new file mode 100644
index 0000000..c0b6c07
Binary files /dev/null and b/textures/cc_face_alien_black_M.png differ
diff --git a/textures/cc_face_alien_dark_F.png b/textures/cc_face_alien_dark_F.png
new file mode 100644
index 0000000..5dc1604
Binary files /dev/null and b/textures/cc_face_alien_dark_F.png differ
diff --git a/textures/cc_face_alien_dark_M.png b/textures/cc_face_alien_dark_M.png
new file mode 100644
index 0000000..3ebe176
Binary files /dev/null and b/textures/cc_face_alien_dark_M.png differ
diff --git a/textures/cc_face_alien_fair_F.png b/textures/cc_face_alien_fair_F.png
new file mode 100644
index 0000000..1dcb8ad
Binary files /dev/null and b/textures/cc_face_alien_fair_F.png differ
diff --git a/textures/cc_face_alien_fair_M.png b/textures/cc_face_alien_fair_M.png
new file mode 100644
index 0000000..0deb145
Binary files /dev/null and b/textures/cc_face_alien_fair_M.png differ
diff --git a/textures/cc_face_alien_green_F.png b/textures/cc_face_alien_green_F.png
new file mode 100644
index 0000000..8dc31ef
Binary files /dev/null and b/textures/cc_face_alien_green_F.png differ
diff --git a/textures/cc_face_alien_green_M.png b/textures/cc_face_alien_green_M.png
new file mode 100644
index 0000000..2de5b11
Binary files /dev/null and b/textures/cc_face_alien_green_M.png differ
diff --git a/textures/cc_face_alien_red_F.png b/textures/cc_face_alien_red_F.png
new file mode 100644
index 0000000..8743372
Binary files /dev/null and b/textures/cc_face_alien_red_F.png differ
diff --git a/textures/cc_face_alien_red_M.png b/textures/cc_face_alien_red_M.png
new file mode 100644
index 0000000..1e49ca4
Binary files /dev/null and b/textures/cc_face_alien_red_M.png differ
diff --git a/textures/cc_face_alien_tanned_F.png b/textures/cc_face_alien_tanned_F.png
new file mode 100644
index 0000000..eadd54e
Binary files /dev/null and b/textures/cc_face_alien_tanned_F.png differ
diff --git a/textures/cc_face_alien_tanned_M.png b/textures/cc_face_alien_tanned_M.png
new file mode 100644
index 0000000..ffa3fc0
Binary files /dev/null and b/textures/cc_face_alien_tanned_M.png differ
diff --git a/textures/cc_face_alien_white_F.png b/textures/cc_face_alien_white_F.png
new file mode 100644
index 0000000..59eac79
Binary files /dev/null and b/textures/cc_face_alien_white_F.png differ
diff --git a/textures/cc_face_alien_white_M.png b/textures/cc_face_alien_white_M.png
new file mode 100644
index 0000000..ed8753a
Binary files /dev/null and b/textures/cc_face_alien_white_M.png differ
diff --git a/textures/cc_face_dwarven_black_F.png b/textures/cc_face_dwarven_black_F.png
new file mode 100644
index 0000000..1f2c4a5
Binary files /dev/null and b/textures/cc_face_dwarven_black_F.png differ
diff --git a/textures/cc_face_dwarven_black_M.png b/textures/cc_face_dwarven_black_M.png
new file mode 100644
index 0000000..57b0f76
Binary files /dev/null and b/textures/cc_face_dwarven_black_M.png differ
diff --git a/textures/cc_face_dwarven_dark_F.png b/textures/cc_face_dwarven_dark_F.png
new file mode 100644
index 0000000..da83bec
Binary files /dev/null and b/textures/cc_face_dwarven_dark_F.png differ
diff --git a/textures/cc_face_dwarven_dark_M.png b/textures/cc_face_dwarven_dark_M.png
new file mode 100644
index 0000000..296fa5f
Binary files /dev/null and b/textures/cc_face_dwarven_dark_M.png differ
diff --git a/textures/cc_face_dwarven_fair_F.png b/textures/cc_face_dwarven_fair_F.png
new file mode 100644
index 0000000..dd82acc
Binary files /dev/null and b/textures/cc_face_dwarven_fair_F.png differ
diff --git a/textures/cc_face_dwarven_fair_M.png b/textures/cc_face_dwarven_fair_M.png
new file mode 100644
index 0000000..70fed00
Binary files /dev/null and b/textures/cc_face_dwarven_fair_M.png differ
diff --git a/textures/cc_face_dwarven_green_F.png b/textures/cc_face_dwarven_green_F.png
new file mode 100644
index 0000000..7409558
Binary files /dev/null and b/textures/cc_face_dwarven_green_F.png differ
diff --git a/textures/cc_face_dwarven_green_M.png b/textures/cc_face_dwarven_green_M.png
new file mode 100644
index 0000000..9a7a394
Binary files /dev/null and b/textures/cc_face_dwarven_green_M.png differ
diff --git a/textures/cc_face_dwarven_red_F.png b/textures/cc_face_dwarven_red_F.png
new file mode 100644
index 0000000..4d4b392
Binary files /dev/null and b/textures/cc_face_dwarven_red_F.png differ
diff --git a/textures/cc_face_dwarven_red_M.png b/textures/cc_face_dwarven_red_M.png
new file mode 100644
index 0000000..ee5e9b3
Binary files /dev/null and b/textures/cc_face_dwarven_red_M.png differ
diff --git a/textures/cc_face_dwarven_tanned_F.png b/textures/cc_face_dwarven_tanned_F.png
new file mode 100644
index 0000000..7210dc0
Binary files /dev/null and b/textures/cc_face_dwarven_tanned_F.png differ
diff --git a/textures/cc_face_dwarven_tanned_M.png b/textures/cc_face_dwarven_tanned_M.png
new file mode 100644
index 0000000..42482b9
Binary files /dev/null and b/textures/cc_face_dwarven_tanned_M.png differ
diff --git a/textures/cc_face_dwarven_white_F.png b/textures/cc_face_dwarven_white_F.png
new file mode 100644
index 0000000..ffe0503
Binary files /dev/null and b/textures/cc_face_dwarven_white_F.png differ
diff --git a/textures/cc_face_dwarven_white_M.png b/textures/cc_face_dwarven_white_M.png
new file mode 100644
index 0000000..97909a5
Binary files /dev/null and b/textures/cc_face_dwarven_white_M.png differ
diff --git a/textures/cc_face_elven_black_F.png b/textures/cc_face_elven_black_F.png
new file mode 100644
index 0000000..c356291
Binary files /dev/null and b/textures/cc_face_elven_black_F.png differ
diff --git a/textures/cc_face_elven_black_M.png b/textures/cc_face_elven_black_M.png
new file mode 100644
index 0000000..7f6f7ee
Binary files /dev/null and b/textures/cc_face_elven_black_M.png differ
diff --git a/textures/cc_face_elven_dark_F.png b/textures/cc_face_elven_dark_F.png
new file mode 100644
index 0000000..7536c75
Binary files /dev/null and b/textures/cc_face_elven_dark_F.png differ
diff --git a/textures/cc_face_elven_dark_M.png b/textures/cc_face_elven_dark_M.png
new file mode 100644
index 0000000..db5c5fc
Binary files /dev/null and b/textures/cc_face_elven_dark_M.png differ
diff --git a/textures/cc_face_elven_fair_F.png b/textures/cc_face_elven_fair_F.png
new file mode 100644
index 0000000..5f0c04c
Binary files /dev/null and b/textures/cc_face_elven_fair_F.png differ
diff --git a/textures/cc_face_elven_fair_M.png b/textures/cc_face_elven_fair_M.png
new file mode 100644
index 0000000..d94cc7f
Binary files /dev/null and b/textures/cc_face_elven_fair_M.png differ
diff --git a/textures/cc_face_elven_green_F.png b/textures/cc_face_elven_green_F.png
new file mode 100644
index 0000000..0292f88
Binary files /dev/null and b/textures/cc_face_elven_green_F.png differ
diff --git a/textures/cc_face_elven_green_M.png b/textures/cc_face_elven_green_M.png
new file mode 100644
index 0000000..d1becad
Binary files /dev/null and b/textures/cc_face_elven_green_M.png differ
diff --git a/textures/cc_face_elven_red_F.png b/textures/cc_face_elven_red_F.png
new file mode 100644
index 0000000..83fe3d5
Binary files /dev/null and b/textures/cc_face_elven_red_F.png differ
diff --git a/textures/cc_face_elven_red_M.png b/textures/cc_face_elven_red_M.png
new file mode 100644
index 0000000..86f7210
Binary files /dev/null and b/textures/cc_face_elven_red_M.png differ
diff --git a/textures/cc_face_elven_tanned_F.png b/textures/cc_face_elven_tanned_F.png
new file mode 100644
index 0000000..c78bff8
Binary files /dev/null and b/textures/cc_face_elven_tanned_F.png differ
diff --git a/textures/cc_face_elven_tanned_M.png b/textures/cc_face_elven_tanned_M.png
new file mode 100644
index 0000000..50b9ffe
Binary files /dev/null and b/textures/cc_face_elven_tanned_M.png differ
diff --git a/textures/cc_face_elven_white_F.png b/textures/cc_face_elven_white_F.png
new file mode 100644
index 0000000..db5c2d2
Binary files /dev/null and b/textures/cc_face_elven_white_F.png differ
diff --git a/textures/cc_face_elven_white_M.png b/textures/cc_face_elven_white_M.png
new file mode 100644
index 0000000..f7e3c31
Binary files /dev/null and b/textures/cc_face_elven_white_M.png differ
diff --git a/textures/cc_face_human_black_F.png b/textures/cc_face_human_black_F.png
new file mode 100644
index 0000000..ad5dea8
Binary files /dev/null and b/textures/cc_face_human_black_F.png differ
diff --git a/textures/cc_face_human_black_M.png b/textures/cc_face_human_black_M.png
new file mode 100644
index 0000000..0dbbcb7
Binary files /dev/null and b/textures/cc_face_human_black_M.png differ
diff --git a/textures/cc_face_human_dark_F.png b/textures/cc_face_human_dark_F.png
new file mode 100644
index 0000000..031e73c
Binary files /dev/null and b/textures/cc_face_human_dark_F.png differ
diff --git a/textures/cc_face_human_dark_M.png b/textures/cc_face_human_dark_M.png
new file mode 100644
index 0000000..f690c75
Binary files /dev/null and b/textures/cc_face_human_dark_M.png differ
diff --git a/textures/cc_face_human_fair_F.png b/textures/cc_face_human_fair_F.png
new file mode 100644
index 0000000..130b071
Binary files /dev/null and b/textures/cc_face_human_fair_F.png differ
diff --git a/textures/cc_face_human_fair_M.png b/textures/cc_face_human_fair_M.png
new file mode 100644
index 0000000..5d0ec52
Binary files /dev/null and b/textures/cc_face_human_fair_M.png differ
diff --git a/textures/cc_face_human_green_F.png b/textures/cc_face_human_green_F.png
new file mode 100644
index 0000000..8875540
Binary files /dev/null and b/textures/cc_face_human_green_F.png differ
diff --git a/textures/cc_face_human_green_M.png b/textures/cc_face_human_green_M.png
new file mode 100644
index 0000000..35ed7e2
Binary files /dev/null and b/textures/cc_face_human_green_M.png differ
diff --git a/textures/cc_face_human_red_F.png b/textures/cc_face_human_red_F.png
new file mode 100644
index 0000000..040ab09
Binary files /dev/null and b/textures/cc_face_human_red_F.png differ
diff --git a/textures/cc_face_human_red_M.png b/textures/cc_face_human_red_M.png
new file mode 100644
index 0000000..8fa605e
Binary files /dev/null and b/textures/cc_face_human_red_M.png differ
diff --git a/textures/cc_face_human_tanned_F.png b/textures/cc_face_human_tanned_F.png
new file mode 100644
index 0000000..98d2605
Binary files /dev/null and b/textures/cc_face_human_tanned_F.png differ
diff --git a/textures/cc_face_human_tanned_M.png b/textures/cc_face_human_tanned_M.png
new file mode 100644
index 0000000..389931e
Binary files /dev/null and b/textures/cc_face_human_tanned_M.png differ
diff --git a/textures/cc_face_human_white_F.png b/textures/cc_face_human_white_F.png
new file mode 100644
index 0000000..9c3be3e
Binary files /dev/null and b/textures/cc_face_human_white_F.png differ
diff --git a/textures/cc_face_human_white_M.png b/textures/cc_face_human_white_M.png
new file mode 100644
index 0000000..187dd09
Binary files /dev/null and b/textures/cc_face_human_white_M.png differ
diff --git a/textures/cc_hair_long_black_F.png b/textures/cc_hair_long_black_F.png
new file mode 100644
index 0000000..a1f265d
Binary files /dev/null and b/textures/cc_hair_long_black_F.png differ
diff --git a/textures/cc_hair_long_black_M.png b/textures/cc_hair_long_black_M.png
new file mode 100644
index 0000000..aca9a97
Binary files /dev/null and b/textures/cc_hair_long_black_M.png differ
diff --git a/textures/cc_hair_long_blonde_F.png b/textures/cc_hair_long_blonde_F.png
new file mode 100644
index 0000000..f165cad
Binary files /dev/null and b/textures/cc_hair_long_blonde_F.png differ
diff --git a/textures/cc_hair_long_blonde_M.png b/textures/cc_hair_long_blonde_M.png
new file mode 100644
index 0000000..36b2a43
Binary files /dev/null and b/textures/cc_hair_long_blonde_M.png differ
diff --git a/textures/cc_hair_long_blue_F.png b/textures/cc_hair_long_blue_F.png
new file mode 100644
index 0000000..3c32224
Binary files /dev/null and b/textures/cc_hair_long_blue_F.png differ
diff --git a/textures/cc_hair_long_blue_M.png b/textures/cc_hair_long_blue_M.png
new file mode 100644
index 0000000..2205f75
Binary files /dev/null and b/textures/cc_hair_long_blue_M.png differ
diff --git a/textures/cc_hair_long_brown_F.png b/textures/cc_hair_long_brown_F.png
new file mode 100644
index 0000000..7e54d3f
Binary files /dev/null and b/textures/cc_hair_long_brown_F.png differ
diff --git a/textures/cc_hair_long_brown_M.png b/textures/cc_hair_long_brown_M.png
new file mode 100644
index 0000000..87b108f
Binary files /dev/null and b/textures/cc_hair_long_brown_M.png differ
diff --git a/textures/cc_hair_long_green_F.png b/textures/cc_hair_long_green_F.png
new file mode 100644
index 0000000..3a9a079
Binary files /dev/null and b/textures/cc_hair_long_green_F.png differ
diff --git a/textures/cc_hair_long_green_M.png b/textures/cc_hair_long_green_M.png
new file mode 100644
index 0000000..11b37ce
Binary files /dev/null and b/textures/cc_hair_long_green_M.png differ
diff --git a/textures/cc_hair_long_orange_F.png b/textures/cc_hair_long_orange_F.png
new file mode 100644
index 0000000..e35da82
Binary files /dev/null and b/textures/cc_hair_long_orange_F.png differ
diff --git a/textures/cc_hair_long_orange_M.png b/textures/cc_hair_long_orange_M.png
new file mode 100644
index 0000000..efdec01
Binary files /dev/null and b/textures/cc_hair_long_orange_M.png differ
diff --git a/textures/cc_hair_long_purple_F.png b/textures/cc_hair_long_purple_F.png
new file mode 100644
index 0000000..17db13a
Binary files /dev/null and b/textures/cc_hair_long_purple_F.png differ
diff --git a/textures/cc_hair_long_purple_M.png b/textures/cc_hair_long_purple_M.png
new file mode 100644
index 0000000..3a36bbc
Binary files /dev/null and b/textures/cc_hair_long_purple_M.png differ
diff --git a/textures/cc_hair_long_red_F.png b/textures/cc_hair_long_red_F.png
new file mode 100644
index 0000000..0a473c6
Binary files /dev/null and b/textures/cc_hair_long_red_F.png differ
diff --git a/textures/cc_hair_long_red_M.png b/textures/cc_hair_long_red_M.png
new file mode 100644
index 0000000..8b21be8
Binary files /dev/null and b/textures/cc_hair_long_red_M.png differ
diff --git a/textures/cc_hair_long_white_F.png b/textures/cc_hair_long_white_F.png
new file mode 100644
index 0000000..116080a
Binary files /dev/null and b/textures/cc_hair_long_white_F.png differ
diff --git a/textures/cc_hair_long_white_M.png b/textures/cc_hair_long_white_M.png
new file mode 100644
index 0000000..568507d
Binary files /dev/null and b/textures/cc_hair_long_white_M.png differ
diff --git a/textures/cc_hair_medium_black_F.png b/textures/cc_hair_medium_black_F.png
new file mode 100644
index 0000000..db5a083
Binary files /dev/null and b/textures/cc_hair_medium_black_F.png differ
diff --git a/textures/cc_hair_medium_black_M.png b/textures/cc_hair_medium_black_M.png
new file mode 100644
index 0000000..5a4e074
Binary files /dev/null and b/textures/cc_hair_medium_black_M.png differ
diff --git a/textures/cc_hair_medium_blonde_F.png b/textures/cc_hair_medium_blonde_F.png
new file mode 100644
index 0000000..bc013b3
Binary files /dev/null and b/textures/cc_hair_medium_blonde_F.png differ
diff --git a/textures/cc_hair_medium_blonde_M.png b/textures/cc_hair_medium_blonde_M.png
new file mode 100644
index 0000000..fbae27c
Binary files /dev/null and b/textures/cc_hair_medium_blonde_M.png differ
diff --git a/textures/cc_hair_medium_blue_F.png b/textures/cc_hair_medium_blue_F.png
new file mode 100644
index 0000000..c7f9517
Binary files /dev/null and b/textures/cc_hair_medium_blue_F.png differ
diff --git a/textures/cc_hair_medium_blue_M.png b/textures/cc_hair_medium_blue_M.png
new file mode 100644
index 0000000..f92fd1a
Binary files /dev/null and b/textures/cc_hair_medium_blue_M.png differ
diff --git a/textures/cc_hair_medium_brown_F.png b/textures/cc_hair_medium_brown_F.png
new file mode 100644
index 0000000..8ce10ca
Binary files /dev/null and b/textures/cc_hair_medium_brown_F.png differ
diff --git a/textures/cc_hair_medium_brown_M.png b/textures/cc_hair_medium_brown_M.png
new file mode 100644
index 0000000..19c5f80
Binary files /dev/null and b/textures/cc_hair_medium_brown_M.png differ
diff --git a/textures/cc_hair_medium_green_F.png b/textures/cc_hair_medium_green_F.png
new file mode 100644
index 0000000..f56e36f
Binary files /dev/null and b/textures/cc_hair_medium_green_F.png differ
diff --git a/textures/cc_hair_medium_green_M.png b/textures/cc_hair_medium_green_M.png
new file mode 100644
index 0000000..290271a
Binary files /dev/null and b/textures/cc_hair_medium_green_M.png differ
diff --git a/textures/cc_hair_medium_orange_F.png b/textures/cc_hair_medium_orange_F.png
new file mode 100644
index 0000000..afecab6
Binary files /dev/null and b/textures/cc_hair_medium_orange_F.png differ
diff --git a/textures/cc_hair_medium_orange_M.png b/textures/cc_hair_medium_orange_M.png
new file mode 100644
index 0000000..3abbabb
Binary files /dev/null and b/textures/cc_hair_medium_orange_M.png differ
diff --git a/textures/cc_hair_medium_purple_F.png b/textures/cc_hair_medium_purple_F.png
new file mode 100644
index 0000000..d00c00b
Binary files /dev/null and b/textures/cc_hair_medium_purple_F.png differ
diff --git a/textures/cc_hair_medium_purple_M.png b/textures/cc_hair_medium_purple_M.png
new file mode 100644
index 0000000..690adb0
Binary files /dev/null and b/textures/cc_hair_medium_purple_M.png differ
diff --git a/textures/cc_hair_medium_red_F.png b/textures/cc_hair_medium_red_F.png
new file mode 100644
index 0000000..5b663ad
Binary files /dev/null and b/textures/cc_hair_medium_red_F.png differ
diff --git a/textures/cc_hair_medium_red_M.png b/textures/cc_hair_medium_red_M.png
new file mode 100644
index 0000000..4cd4447
Binary files /dev/null and b/textures/cc_hair_medium_red_M.png differ
diff --git a/textures/cc_hair_medium_white_F.png b/textures/cc_hair_medium_white_F.png
new file mode 100644
index 0000000..cb01940
Binary files /dev/null and b/textures/cc_hair_medium_white_F.png differ
diff --git a/textures/cc_hair_medium_white_M.png b/textures/cc_hair_medium_white_M.png
new file mode 100644
index 0000000..9b85fb9
Binary files /dev/null and b/textures/cc_hair_medium_white_M.png differ
diff --git a/textures/cc_hair_short_black_F.png b/textures/cc_hair_short_black_F.png
new file mode 100644
index 0000000..6a89664
Binary files /dev/null and b/textures/cc_hair_short_black_F.png differ
diff --git a/textures/cc_hair_short_black_M.png b/textures/cc_hair_short_black_M.png
new file mode 100644
index 0000000..e0fffc9
Binary files /dev/null and b/textures/cc_hair_short_black_M.png differ
diff --git a/textures/cc_hair_short_blonde_F.png b/textures/cc_hair_short_blonde_F.png
new file mode 100644
index 0000000..30068ea
Binary files /dev/null and b/textures/cc_hair_short_blonde_F.png differ
diff --git a/textures/cc_hair_short_blonde_M.png b/textures/cc_hair_short_blonde_M.png
new file mode 100644
index 0000000..ac85e44
Binary files /dev/null and b/textures/cc_hair_short_blonde_M.png differ
diff --git a/textures/cc_hair_short_blue_F.png b/textures/cc_hair_short_blue_F.png
new file mode 100644
index 0000000..1f5e009
Binary files /dev/null and b/textures/cc_hair_short_blue_F.png differ
diff --git a/textures/cc_hair_short_blue_M.png b/textures/cc_hair_short_blue_M.png
new file mode 100644
index 0000000..43396c9
Binary files /dev/null and b/textures/cc_hair_short_blue_M.png differ
diff --git a/textures/cc_hair_short_brown_F.png b/textures/cc_hair_short_brown_F.png
new file mode 100644
index 0000000..cf88021
Binary files /dev/null and b/textures/cc_hair_short_brown_F.png differ
diff --git a/textures/cc_hair_short_brown_M.png b/textures/cc_hair_short_brown_M.png
new file mode 100644
index 0000000..dff7cd6
Binary files /dev/null and b/textures/cc_hair_short_brown_M.png differ
diff --git a/textures/cc_hair_short_green_F.png b/textures/cc_hair_short_green_F.png
new file mode 100644
index 0000000..a1397ae
Binary files /dev/null and b/textures/cc_hair_short_green_F.png differ
diff --git a/textures/cc_hair_short_green_M.png b/textures/cc_hair_short_green_M.png
new file mode 100644
index 0000000..a19bbcd
Binary files /dev/null and b/textures/cc_hair_short_green_M.png differ
diff --git a/textures/cc_hair_short_orange_F.png b/textures/cc_hair_short_orange_F.png
new file mode 100644
index 0000000..1f77e9d
Binary files /dev/null and b/textures/cc_hair_short_orange_F.png differ
diff --git a/textures/cc_hair_short_orange_M.png b/textures/cc_hair_short_orange_M.png
new file mode 100644
index 0000000..0a2a81b
Binary files /dev/null and b/textures/cc_hair_short_orange_M.png differ
diff --git a/textures/cc_hair_short_purple_F.png b/textures/cc_hair_short_purple_F.png
new file mode 100644
index 0000000..6f55a6e
Binary files /dev/null and b/textures/cc_hair_short_purple_F.png differ
diff --git a/textures/cc_hair_short_purple_M.png b/textures/cc_hair_short_purple_M.png
new file mode 100644
index 0000000..afc6efe
Binary files /dev/null and b/textures/cc_hair_short_purple_M.png differ
diff --git a/textures/cc_hair_short_red_F.png b/textures/cc_hair_short_red_F.png
new file mode 100644
index 0000000..5602b96
Binary files /dev/null and b/textures/cc_hair_short_red_F.png differ
diff --git a/textures/cc_hair_short_red_M.png b/textures/cc_hair_short_red_M.png
new file mode 100644
index 0000000..263ea35
Binary files /dev/null and b/textures/cc_hair_short_red_M.png differ
diff --git a/textures/cc_hair_short_white_F.png b/textures/cc_hair_short_white_F.png
new file mode 100644
index 0000000..7a5ad6c
Binary files /dev/null and b/textures/cc_hair_short_white_F.png differ
diff --git a/textures/cc_hair_short_white_M.png b/textures/cc_hair_short_white_M.png
new file mode 100644
index 0000000..3ea6a41
Binary files /dev/null and b/textures/cc_hair_short_white_M.png differ
diff --git a/textures/cc_hair_special_black_F.png b/textures/cc_hair_special_black_F.png
new file mode 100644
index 0000000..da0226e
Binary files /dev/null and b/textures/cc_hair_special_black_F.png differ
diff --git a/textures/cc_hair_special_black_M.png b/textures/cc_hair_special_black_M.png
new file mode 100644
index 0000000..3a3d2c4
Binary files /dev/null and b/textures/cc_hair_special_black_M.png differ
diff --git a/textures/cc_hair_special_blonde_F.png b/textures/cc_hair_special_blonde_F.png
new file mode 100644
index 0000000..f68367c
Binary files /dev/null and b/textures/cc_hair_special_blonde_F.png differ
diff --git a/textures/cc_hair_special_blonde_M.png b/textures/cc_hair_special_blonde_M.png
new file mode 100644
index 0000000..1235228
Binary files /dev/null and b/textures/cc_hair_special_blonde_M.png differ
diff --git a/textures/cc_hair_special_blue_F.png b/textures/cc_hair_special_blue_F.png
new file mode 100644
index 0000000..932a13f
Binary files /dev/null and b/textures/cc_hair_special_blue_F.png differ
diff --git a/textures/cc_hair_special_blue_M.png b/textures/cc_hair_special_blue_M.png
new file mode 100644
index 0000000..e78e032
Binary files /dev/null and b/textures/cc_hair_special_blue_M.png differ
diff --git a/textures/cc_hair_special_brown_F.png b/textures/cc_hair_special_brown_F.png
new file mode 100644
index 0000000..8a6074f
Binary files /dev/null and b/textures/cc_hair_special_brown_F.png differ
diff --git a/textures/cc_hair_special_brown_M.png b/textures/cc_hair_special_brown_M.png
new file mode 100644
index 0000000..ff0139d
Binary files /dev/null and b/textures/cc_hair_special_brown_M.png differ
diff --git a/textures/cc_hair_special_green_F.png b/textures/cc_hair_special_green_F.png
new file mode 100644
index 0000000..2d1c50e
Binary files /dev/null and b/textures/cc_hair_special_green_F.png differ
diff --git a/textures/cc_hair_special_green_M.png b/textures/cc_hair_special_green_M.png
new file mode 100644
index 0000000..8085c88
Binary files /dev/null and b/textures/cc_hair_special_green_M.png differ
diff --git a/textures/cc_hair_special_orange_F.png b/textures/cc_hair_special_orange_F.png
new file mode 100644
index 0000000..71c6dd4
Binary files /dev/null and b/textures/cc_hair_special_orange_F.png differ
diff --git a/textures/cc_hair_special_orange_M.png b/textures/cc_hair_special_orange_M.png
new file mode 100644
index 0000000..17460a1
Binary files /dev/null and b/textures/cc_hair_special_orange_M.png differ
diff --git a/textures/cc_hair_special_purple_F.png b/textures/cc_hair_special_purple_F.png
new file mode 100644
index 0000000..c81f69e
Binary files /dev/null and b/textures/cc_hair_special_purple_F.png differ
diff --git a/textures/cc_hair_special_purple_M.png b/textures/cc_hair_special_purple_M.png
new file mode 100644
index 0000000..b31d73f
Binary files /dev/null and b/textures/cc_hair_special_purple_M.png differ
diff --git a/textures/cc_hair_special_red_F.png b/textures/cc_hair_special_red_F.png
new file mode 100644
index 0000000..6128536
Binary files /dev/null and b/textures/cc_hair_special_red_F.png differ
diff --git a/textures/cc_hair_special_red_M.png b/textures/cc_hair_special_red_M.png
new file mode 100644
index 0000000..19f8df8
Binary files /dev/null and b/textures/cc_hair_special_red_M.png differ
diff --git a/textures/cc_hair_special_white_F.png b/textures/cc_hair_special_white_F.png
new file mode 100644
index 0000000..9fbe2dd
Binary files /dev/null and b/textures/cc_hair_special_white_F.png differ
diff --git a/textures/cc_hair_special_white_M.png b/textures/cc_hair_special_white_M.png
new file mode 100644
index 0000000..910dc80
Binary files /dev/null and b/textures/cc_hair_special_white_M.png differ
diff --git a/textures/cc_pants_black.png b/textures/cc_pants_black.png
new file mode 100644
index 0000000..297a728
Binary files /dev/null and b/textures/cc_pants_black.png differ
diff --git a/textures/cc_pants_blue.png b/textures/cc_pants_blue.png
new file mode 100644
index 0000000..f391e2a
Binary files /dev/null and b/textures/cc_pants_blue.png differ
diff --git a/textures/cc_pants_green.png b/textures/cc_pants_green.png
new file mode 100644
index 0000000..0198bd7
Binary files /dev/null and b/textures/cc_pants_green.png differ
diff --git a/textures/cc_pants_orange.png b/textures/cc_pants_orange.png
new file mode 100644
index 0000000..c95d151
Binary files /dev/null and b/textures/cc_pants_orange.png differ
diff --git a/textures/cc_pants_purple.png b/textures/cc_pants_purple.png
new file mode 100644
index 0000000..fe490b3
Binary files /dev/null and b/textures/cc_pants_purple.png differ
diff --git a/textures/cc_pants_red.png b/textures/cc_pants_red.png
new file mode 100644
index 0000000..6fda201
Binary files /dev/null and b/textures/cc_pants_red.png differ
diff --git a/textures/cc_pants_white.png b/textures/cc_pants_white.png
new file mode 100644
index 0000000..7f1b132
Binary files /dev/null and b/textures/cc_pants_white.png differ
diff --git a/textures/cc_pants_yellow.png b/textures/cc_pants_yellow.png
new file mode 100644
index 0000000..14a0fdf
Binary files /dev/null and b/textures/cc_pants_yellow.png differ
diff --git a/textures/cc_shoes_canvas.png b/textures/cc_shoes_canvas.png
new file mode 100644
index 0000000..6bc2f95
Binary files /dev/null and b/textures/cc_shoes_canvas.png differ
diff --git a/textures/cc_shoes_fur.png b/textures/cc_shoes_fur.png
new file mode 100644
index 0000000..458be7a
Binary files /dev/null and b/textures/cc_shoes_fur.png differ
diff --git a/textures/cc_shoes_leather.png b/textures/cc_shoes_leather.png
new file mode 100644
index 0000000..051d5cc
Binary files /dev/null and b/textures/cc_shoes_leather.png differ
diff --git a/textures/cc_skin_black.png b/textures/cc_skin_black.png
new file mode 100644
index 0000000..aec8e2d
Binary files /dev/null and b/textures/cc_skin_black.png differ
diff --git a/textures/cc_skin_dark.png b/textures/cc_skin_dark.png
new file mode 100644
index 0000000..72c6aa2
Binary files /dev/null and b/textures/cc_skin_dark.png differ
diff --git a/textures/cc_skin_fair.png b/textures/cc_skin_fair.png
new file mode 100644
index 0000000..bd207d3
Binary files /dev/null and b/textures/cc_skin_fair.png differ
diff --git a/textures/cc_skin_green.png b/textures/cc_skin_green.png
new file mode 100644
index 0000000..decabf6
Binary files /dev/null and b/textures/cc_skin_green.png differ
diff --git a/textures/cc_skin_red.png b/textures/cc_skin_red.png
new file mode 100644
index 0000000..beb9103
Binary files /dev/null and b/textures/cc_skin_red.png differ
diff --git a/textures/cc_skin_tanned.png b/textures/cc_skin_tanned.png
new file mode 100644
index 0000000..11d113f
Binary files /dev/null and b/textures/cc_skin_tanned.png differ
diff --git a/textures/cc_skin_white.png b/textures/cc_skin_white.png
new file mode 100644
index 0000000..0400471
Binary files /dev/null and b/textures/cc_skin_white.png differ
diff --git a/textures/cc_tshirt_black.png b/textures/cc_tshirt_black.png
new file mode 100644
index 0000000..8d2eb6c
Binary files /dev/null and b/textures/cc_tshirt_black.png differ
diff --git a/textures/cc_tshirt_blue.png b/textures/cc_tshirt_blue.png
new file mode 100644
index 0000000..1deae3d
Binary files /dev/null and b/textures/cc_tshirt_blue.png differ
diff --git a/textures/cc_tshirt_green.png b/textures/cc_tshirt_green.png
new file mode 100644
index 0000000..a86fe76
Binary files /dev/null and b/textures/cc_tshirt_green.png differ
diff --git a/textures/cc_tshirt_orange.png b/textures/cc_tshirt_orange.png
new file mode 100644
index 0000000..a2bb451
Binary files /dev/null and b/textures/cc_tshirt_orange.png differ
diff --git a/textures/cc_tshirt_purple.png b/textures/cc_tshirt_purple.png
new file mode 100644
index 0000000..872a548
Binary files /dev/null and b/textures/cc_tshirt_purple.png differ
diff --git a/textures/cc_tshirt_red.png b/textures/cc_tshirt_red.png
new file mode 100644
index 0000000..91d696e
Binary files /dev/null and b/textures/cc_tshirt_red.png differ
diff --git a/textures/cc_tshirt_white.png b/textures/cc_tshirt_white.png
new file mode 100644
index 0000000..cf0a754
Binary files /dev/null and b/textures/cc_tshirt_white.png differ
diff --git a/textures/cc_tshirt_yellow.png b/textures/cc_tshirt_yellow.png
new file mode 100644
index 0000000..dcea017
Binary files /dev/null and b/textures/cc_tshirt_yellow.png differ
diff --git a/textures/inventory_plus_character_creator.png b/textures/inventory_plus_character_creator.png
new file mode 100644
index 0000000..6416bb0
Binary files /dev/null and b/textures/inventory_plus_character_creator.png differ

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/minetest-mod-character-creator.git



More information about the Pkg-games-commits mailing list