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