From 77614ea608545f4c5da26e62e21c10af76eb837e Mon Sep 17 00:00:00 2001 From: thefamilygrog Date: Fri, 5 Apr 2013 20:40:43 -0400 Subject: [PATCH] initial upload to github --- .gitattributes | 22 +++ .gitignore | 163 ++++++++++++++++++++ README.txt | 73 +++++++++ armchairs.lua | 76 +++++++++ coffeetable.lua | 106 +++++++++++++ depends.txt | 2 + endtable.lua | 42 +++++ init.lua | 4 + sofas.lua | 144 +++++++++++++++++ textures/lrfurn_armchair_front_black.png | Bin 0 -> 579 bytes textures/lrfurn_armchair_front_blue.png | Bin 0 -> 609 bytes textures/lrfurn_armchair_front_green.png | Bin 0 -> 603 bytes textures/lrfurn_armchair_front_grey.png | Bin 0 -> 571 bytes textures/lrfurn_armchair_front_orange.png | Bin 0 -> 619 bytes textures/lrfurn_armchair_front_red.png | Bin 0 -> 610 bytes textures/lrfurn_armchair_front_violet.png | Bin 0 -> 631 bytes textures/lrfurn_armchair_front_white.png | Bin 0 -> 583 bytes textures/lrfurn_armchair_front_yellow.png | Bin 0 -> 542 bytes textures/lrfurn_armchair_top_black.png | Bin 0 -> 423 bytes textures/lrfurn_armchair_top_blue.png | Bin 0 -> 536 bytes textures/lrfurn_armchair_top_green.png | Bin 0 -> 526 bytes textures/lrfurn_armchair_top_grey.png | Bin 0 -> 480 bytes textures/lrfurn_armchair_top_orange.png | Bin 0 -> 570 bytes textures/lrfurn_armchair_top_red.png | Bin 0 -> 532 bytes textures/lrfurn_armchair_top_violet.png | Bin 0 -> 571 bytes textures/lrfurn_armchair_top_white.png | Bin 0 -> 463 bytes textures/lrfurn_armchair_top_yellow.png | Bin 0 -> 422 bytes textures/lrfurn_coffeetable_back.png | Bin 0 -> 709 bytes textures/lrfurn_coffeetable_front.png | Bin 0 -> 699 bytes textures/lrfurn_sofa_back_black.png | Bin 0 -> 403 bytes textures/lrfurn_sofa_back_blue.png | Bin 0 -> 405 bytes textures/lrfurn_sofa_back_green.png | Bin 0 -> 403 bytes textures/lrfurn_sofa_back_grey.png | Bin 0 -> 403 bytes textures/lrfurn_sofa_back_orange.png | Bin 0 -> 401 bytes textures/lrfurn_sofa_back_red.png | Bin 0 -> 405 bytes textures/lrfurn_sofa_back_violet.png | Bin 0 -> 406 bytes textures/lrfurn_sofa_back_white.png | Bin 0 -> 404 bytes textures/lrfurn_sofa_back_yellow.png | Bin 0 -> 393 bytes textures/lrfurn_sofa_left_front_black.png | Bin 0 -> 549 bytes textures/lrfurn_sofa_left_front_blue.png | Bin 0 -> 586 bytes textures/lrfurn_sofa_left_front_green.png | Bin 0 -> 574 bytes textures/lrfurn_sofa_left_front_grey.png | Bin 0 -> 546 bytes textures/lrfurn_sofa_left_front_orange.png | Bin 0 -> 592 bytes textures/lrfurn_sofa_left_front_red.png | Bin 0 -> 586 bytes textures/lrfurn_sofa_left_front_violet.png | Bin 0 -> 614 bytes textures/lrfurn_sofa_left_front_white.png | Bin 0 -> 552 bytes textures/lrfurn_sofa_left_front_yellow.png | Bin 0 -> 523 bytes textures/lrfurn_sofa_left_side_black.png | Bin 0 -> 534 bytes textures/lrfurn_sofa_left_side_blue.png | Bin 0 -> 560 bytes textures/lrfurn_sofa_left_side_green.png | Bin 0 -> 561 bytes textures/lrfurn_sofa_left_side_grey.png | Bin 0 -> 534 bytes textures/lrfurn_sofa_left_side_orange.png | Bin 0 -> 574 bytes textures/lrfurn_sofa_left_side_red.png | Bin 0 -> 565 bytes textures/lrfurn_sofa_left_side_violet.png | Bin 0 -> 575 bytes textures/lrfurn_sofa_left_side_white.png | Bin 0 -> 533 bytes textures/lrfurn_sofa_left_side_yellow.png | Bin 0 -> 504 bytes textures/lrfurn_sofa_left_top_black.png | Bin 0 -> 437 bytes textures/lrfurn_sofa_left_top_blue.png | Bin 0 -> 480 bytes textures/lrfurn_sofa_left_top_green.png | Bin 0 -> 489 bytes textures/lrfurn_sofa_left_top_grey.png | Bin 0 -> 424 bytes textures/lrfurn_sofa_left_top_orange.png | Bin 0 -> 524 bytes textures/lrfurn_sofa_left_top_red.png | Bin 0 -> 419 bytes textures/lrfurn_sofa_left_top_violet.png | Bin 0 -> 520 bytes textures/lrfurn_sofa_left_top_white.png | Bin 0 -> 428 bytes textures/lrfurn_sofa_left_top_yellow.png | Bin 0 -> 405 bytes textures/lrfurn_sofa_right_front_black.png | Bin 0 -> 562 bytes textures/lrfurn_sofa_right_front_blue.png | Bin 0 -> 596 bytes textures/lrfurn_sofa_right_front_green.png | Bin 0 -> 582 bytes textures/lrfurn_sofa_right_front_grey.png | Bin 0 -> 556 bytes textures/lrfurn_sofa_right_front_orange.png | Bin 0 -> 597 bytes textures/lrfurn_sofa_right_front_red.png | Bin 0 -> 588 bytes textures/lrfurn_sofa_right_front_violet.png | Bin 0 -> 622 bytes textures/lrfurn_sofa_right_front_white.png | Bin 0 -> 565 bytes textures/lrfurn_sofa_right_front_yellow.png | Bin 0 -> 528 bytes textures/lrfurn_sofa_right_side_black.png | Bin 0 -> 558 bytes textures/lrfurn_sofa_right_side_blue.png | Bin 0 -> 578 bytes textures/lrfurn_sofa_right_side_green.png | Bin 0 -> 574 bytes textures/lrfurn_sofa_right_side_grey.png | Bin 0 -> 556 bytes textures/lrfurn_sofa_right_side_orange.png | Bin 0 -> 586 bytes textures/lrfurn_sofa_right_side_red.png | Bin 0 -> 568 bytes textures/lrfurn_sofa_right_side_violet.png | Bin 0 -> 590 bytes textures/lrfurn_sofa_right_side_white.png | Bin 0 -> 561 bytes textures/lrfurn_sofa_right_side_yellow.png | Bin 0 -> 519 bytes textures/lrfurn_sofa_right_top_black.png | Bin 0 -> 436 bytes textures/lrfurn_sofa_right_top_blue.png | Bin 0 -> 484 bytes textures/lrfurn_sofa_right_top_green.png | Bin 0 -> 483 bytes textures/lrfurn_sofa_right_top_grey.png | Bin 0 -> 424 bytes textures/lrfurn_sofa_right_top_orange.png | Bin 0 -> 521 bytes textures/lrfurn_sofa_right_top_red.png | Bin 0 -> 424 bytes textures/lrfurn_sofa_right_top_violet.png | Bin 0 -> 527 bytes textures/lrfurn_sofa_right_top_white.png | Bin 0 -> 430 bytes textures/lrfurn_sofa_right_top_yellow.png | Bin 0 -> 403 bytes textures/solid square.png | Bin 0 -> 172 bytes 93 files changed, 632 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 README.txt create mode 100644 armchairs.lua create mode 100644 coffeetable.lua create mode 100644 depends.txt create mode 100644 endtable.lua create mode 100644 init.lua create mode 100644 sofas.lua create mode 100644 textures/lrfurn_armchair_front_black.png create mode 100644 textures/lrfurn_armchair_front_blue.png create mode 100644 textures/lrfurn_armchair_front_green.png create mode 100644 textures/lrfurn_armchair_front_grey.png create mode 100644 textures/lrfurn_armchair_front_orange.png create mode 100644 textures/lrfurn_armchair_front_red.png create mode 100644 textures/lrfurn_armchair_front_violet.png create mode 100644 textures/lrfurn_armchair_front_white.png create mode 100644 textures/lrfurn_armchair_front_yellow.png create mode 100644 textures/lrfurn_armchair_top_black.png create mode 100644 textures/lrfurn_armchair_top_blue.png create mode 100644 textures/lrfurn_armchair_top_green.png create mode 100644 textures/lrfurn_armchair_top_grey.png create mode 100644 textures/lrfurn_armchair_top_orange.png create mode 100644 textures/lrfurn_armchair_top_red.png create mode 100644 textures/lrfurn_armchair_top_violet.png create mode 100644 textures/lrfurn_armchair_top_white.png create mode 100644 textures/lrfurn_armchair_top_yellow.png create mode 100644 textures/lrfurn_coffeetable_back.png create mode 100644 textures/lrfurn_coffeetable_front.png create mode 100644 textures/lrfurn_sofa_back_black.png create mode 100644 textures/lrfurn_sofa_back_blue.png create mode 100644 textures/lrfurn_sofa_back_green.png create mode 100644 textures/lrfurn_sofa_back_grey.png create mode 100644 textures/lrfurn_sofa_back_orange.png create mode 100644 textures/lrfurn_sofa_back_red.png create mode 100644 textures/lrfurn_sofa_back_violet.png create mode 100644 textures/lrfurn_sofa_back_white.png create mode 100644 textures/lrfurn_sofa_back_yellow.png create mode 100644 textures/lrfurn_sofa_left_front_black.png create mode 100644 textures/lrfurn_sofa_left_front_blue.png create mode 100644 textures/lrfurn_sofa_left_front_green.png create mode 100644 textures/lrfurn_sofa_left_front_grey.png create mode 100644 textures/lrfurn_sofa_left_front_orange.png create mode 100644 textures/lrfurn_sofa_left_front_red.png create mode 100644 textures/lrfurn_sofa_left_front_violet.png create mode 100644 textures/lrfurn_sofa_left_front_white.png create mode 100644 textures/lrfurn_sofa_left_front_yellow.png create mode 100644 textures/lrfurn_sofa_left_side_black.png create mode 100644 textures/lrfurn_sofa_left_side_blue.png create mode 100644 textures/lrfurn_sofa_left_side_green.png create mode 100644 textures/lrfurn_sofa_left_side_grey.png create mode 100644 textures/lrfurn_sofa_left_side_orange.png create mode 100644 textures/lrfurn_sofa_left_side_red.png create mode 100644 textures/lrfurn_sofa_left_side_violet.png create mode 100644 textures/lrfurn_sofa_left_side_white.png create mode 100644 textures/lrfurn_sofa_left_side_yellow.png create mode 100644 textures/lrfurn_sofa_left_top_black.png create mode 100644 textures/lrfurn_sofa_left_top_blue.png create mode 100644 textures/lrfurn_sofa_left_top_green.png create mode 100644 textures/lrfurn_sofa_left_top_grey.png create mode 100644 textures/lrfurn_sofa_left_top_orange.png create mode 100644 textures/lrfurn_sofa_left_top_red.png create mode 100644 textures/lrfurn_sofa_left_top_violet.png create mode 100644 textures/lrfurn_sofa_left_top_white.png create mode 100644 textures/lrfurn_sofa_left_top_yellow.png create mode 100644 textures/lrfurn_sofa_right_front_black.png create mode 100644 textures/lrfurn_sofa_right_front_blue.png create mode 100644 textures/lrfurn_sofa_right_front_green.png create mode 100644 textures/lrfurn_sofa_right_front_grey.png create mode 100644 textures/lrfurn_sofa_right_front_orange.png create mode 100644 textures/lrfurn_sofa_right_front_red.png create mode 100644 textures/lrfurn_sofa_right_front_violet.png create mode 100644 textures/lrfurn_sofa_right_front_white.png create mode 100644 textures/lrfurn_sofa_right_front_yellow.png create mode 100644 textures/lrfurn_sofa_right_side_black.png create mode 100644 textures/lrfurn_sofa_right_side_blue.png create mode 100644 textures/lrfurn_sofa_right_side_green.png create mode 100644 textures/lrfurn_sofa_right_side_grey.png create mode 100644 textures/lrfurn_sofa_right_side_orange.png create mode 100644 textures/lrfurn_sofa_right_side_red.png create mode 100644 textures/lrfurn_sofa_right_side_violet.png create mode 100644 textures/lrfurn_sofa_right_side_white.png create mode 100644 textures/lrfurn_sofa_right_side_yellow.png create mode 100644 textures/lrfurn_sofa_right_top_black.png create mode 100644 textures/lrfurn_sofa_right_top_blue.png create mode 100644 textures/lrfurn_sofa_right_top_green.png create mode 100644 textures/lrfurn_sofa_right_top_grey.png create mode 100644 textures/lrfurn_sofa_right_top_orange.png create mode 100644 textures/lrfurn_sofa_right_top_red.png create mode 100644 textures/lrfurn_sofa_right_top_violet.png create mode 100644 textures/lrfurn_sofa_right_top_white.png create mode 100644 textures/lrfurn_sofa_right_top_yellow.png create mode 100644 textures/solid square.png diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..412eeda --- /dev/null +++ b/.gitattributes @@ -0,0 +1,22 @@ +# Auto detect text files and perform LF normalization +* text=auto + +# Custom for Visual Studio +*.cs diff=csharp +*.sln merge=union +*.csproj merge=union +*.vbproj merge=union +*.fsproj merge=union +*.dbproj merge=union + +# Standard to msysgit +*.doc diff=astextplain +*.DOC diff=astextplain +*.docx diff=astextplain +*.DOCX diff=astextplain +*.dot diff=astextplain +*.DOT diff=astextplain +*.pdf diff=astextplain +*.PDF diff=astextplain +*.rtf diff=astextplain +*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5ebd21a --- /dev/null +++ b/.gitignore @@ -0,0 +1,163 @@ +################# +## Eclipse +################# + +*.pydevproject +.project +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.classpath +.settings/ +.loadpath + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# CDT-specific +.cproject + +# PDT-specific +.buildpath + + +################# +## Visual Studio +################# + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results +[Dd]ebug/ +[Rr]elease/ +*_i.c +*_p.c +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.vspscc +.builds +*.dotCover + +## TODO: If you have NuGet Package Restore enabled, uncomment this +#packages/ + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf + +# Visual Studio profiler +*.psess +*.vsp + +# ReSharper is a .NET coding add-in +_ReSharper* + +# Installshield output folder +[Ee]xpress + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish + +# Others +[Bb]in +[Oo]bj +sql +TestResults +*.Cache +ClientBin +stylecop.* +~$* +*.dbmdl +Generated_Code #added for RIA/Silverlight projects + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML + + + +############ +## Windows +############ + +# Windows image file caches +Thumbs.db + +# Folder config file +Desktop.ini + + +############# +## Python +############# + +*.py[co] + +# Packages +*.egg +*.egg-info +dist +build +eggs +parts +bin +var +sdist +develop-eggs +.installed.cfg + +# Installer logs +pip-log.txt + +# Unit test / coverage reports +.coverage +.tox + +#Translations +*.mo + +#Mr Developer +.mr.developer.cfg + +# Mac crap +.DS_Store diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..29293df --- /dev/null +++ b/README.txt @@ -0,0 +1,73 @@ +Living Room Furniture (lrfurn) mod for Minetest + + +by thefamilygrog66 + +Description: +Coloured Sofas, Armchairs, Coffee Tables and End Tables, loosely based on PilzAdam's beds mod. There are 9 colours in all: red, orange, yellow, green, blue, violet, black, grey and white. + +When you right-click on a sofa or armchair, it transports you onto it, and replenishes your HP. Good if you've just escaped nasty mobs, didn't fare so well in battle, or just had a bad fall. The coffee table - which isn't coloured, just wooden - is pretty much just for decoration. It stands half a block high and nearly 2 blocks long. The end table is similar to the coffee table, though roughly half the length (i.e. only one block) and square. + +Recipes: +Sofa + ++---------------+---------------+---------------+ +| coloured wool | coloured wool | coloured wool | ++---------------+---------------+---------------+ +| wood slab | wood slab | wood slab | ++---------------+---------------+---------------+ +| stick | | stick | ++---------------+---------------+---------------+ + +Armchair + ++---------------+---------------+-------+ +| coloured wool | coloured wool | | ++---------------+---------------+-------+ +| wood slab | wood slab | | ++---------------+---------------+-------+ +| stick | stick | | ++---------------+---------------+-------+ + +Coffee Table (only wood texture) + ++-----------+-----------+-----------+ +| | | | ++-----------+-----------+-----------+ +| wood slab | wood slab | wood slab | ++-----------+-----------+-----------+ +| stick | | stick | ++-----------+-----------+-----------+ + +End Table (only wood texture) + ++-----------+-----------+-----------+ +| | | | ++-----------+-----------+-----------+ +| wood slab | wood slab | | ++-----------+-----------+-----------+ +| stick | stick | | ++-----------+-----------+-----------+ + +Mod dependencies: default, wool + +License: +Sourcecode: WTFPL (see below) +Graphics: WTFPL (see below) + +See also: +http://minetest.net/ + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2004 Sam Hocevar + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/armchairs.lua b/armchairs.lua new file mode 100644 index 0000000..1650ae3 --- /dev/null +++ b/armchairs.lua @@ -0,0 +1,76 @@ +local armchairs_list = { + { "Red Armchair", "red"}, + { "Orange Armchair", "orange"}, + { "Yellow Armchair", "yellow"}, + { "Green Armchair", "green"}, + { "Blue Armchair", "blue"}, + { "Violet Armchair", "violet"}, + { "Black Armchair", "black"}, + { "Grey Armchair", "grey"}, + { "White Armchair", "white"}, +} + +for i in ipairs(armchairs_list) do + local armchairdesc = armchairs_list[i][1] + local colour = armchairs_list[i][2] + + minetest.register_node("lrfurn:armchair_"..colour, { + description = armchairdesc, + drawtype = "nodebox", + tiles = {"lrfurn_armchair_top_"..colour..".png", "lrfurn_coffeetable_back.png", "lrfurn_sofa_left_side_"..colour..".png", "lrfurn_sofa_right_side_"..colour..".png", "lrfurn_sofa_back_"..colour..".png", "lrfurn_armchair_front_"..colour..".png"}, + paramtype = "light", + paramtype2 = "facedir", + stack_max = 1, + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + sounds = default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = { + --legs + {-0.4375, -0.5, -0.4375, -0.375, -0.375, -0.375}, + {0.375, -0.5, -0.4375, 0.4375, -0.375, -0.375}, + {-0.4375, -0.5, 0.375, -0.375, -0.375, 0.4375}, + {0.375, -0.5, 0.375, 0.4375, -0.375, 0.4375}, + + --base/cushion + {-0.5, -0.375, -0.5, 0.5, 0, 0.5}, + + --back + {-0.5, 0, 0.3125, 0.5, 0.5, 0.5}, + + --arms + {-0.5, 0, -0.5, -0.3125, 0.25, 0.3125}, + {0.3125, 0, -0.5, 0.5, 0.25, 0.3125}, + } + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + } + }, + + on_rightclick = function(pos, node, clicker) + if not clicker:is_player() then + return + end + pos.y = pos.y-0.5 + clicker:setpos(pos) + clicker:set_hp(20) + end + }) + + minetest.register_craft({ + output = "lrfurn:armchair_"..colour, + recipe = { + {"wool:"..colour, "wool:"..colour, "", }, + {"stairs:slab_wood", "stairs:slab_wood", "", }, + {"default:stick", "default:stick", "", } + } + }) + +end + +if minetest.setting_get("log_mods") then + minetest.log("action", "armchairs loaded") +end diff --git a/coffeetable.lua b/coffeetable.lua new file mode 100644 index 0000000..f1f4678 --- /dev/null +++ b/coffeetable.lua @@ -0,0 +1,106 @@ +minetest.register_node("lrfurn:coffeetable_back", { + description = "Coffee Table", + drawtype = "nodebox", + tiles = {"lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png"}, + paramtype = "light", + paramtype2 = "facedir", + stack_max = 1, + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + sounds = default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = { + --legs + {-0.375, -0.5, -0.375, -0.3125, -0.0625, -0.3125}, + {0.3125, -0.5, -0.375, 0.375, -0.0625, -0.3125}, + + --tabletop + {-0.4375, -0.0625, -0.4375, 0.4375, 0, 0.5}, + } + }, + selection_box = { + type = "fixed", + fixed = { + {-0.4375, -0.5, -0.4375, 0.4375, 0.0, 1.4375}, + } + }, + + on_construct = function(pos) + local node = minetest.env:get_node(pos) + local param2 = node.param2 + node.name = "lrfurn:coffeetable_front" + if param2 == 0 then + pos.z = pos.z+1 + elseif param2 == 1 then + pos.x = pos.x+1 + elseif param2 == 2 then + pos.z = pos.z-1 + elseif param2 == 3 then + pos.x = pos.x-1 + end + if( minetest.env:get_node({x=pos.x, y=pos.y, z=pos.z}).name == "air" ) then + minetest.env:set_node(pos, node) + end + end, + + on_destruct = function(pos) + local node = minetest.env:get_node(pos) + local param2 = node.param2 + if param2 == 0 then + pos.z = pos.z+1 + elseif param2 == 1 then + pos.x = pos.x+1 + elseif param2 == 2 then + pos.z = pos.z-1 + elseif param2 == 3 then + pos.x = pos.x-1 + end + if( minetest.env:get_node({x=pos.x, y=pos.y, z=pos.z}).name == "lrfurn:coffeetable_front" ) then + if( minetest.env:get_node({x=pos.x, y=pos.y, z=pos.z}).param2 == param2 ) then + minetest.env:remove_node(pos) + end + end + end, +}) + +minetest.register_node("lrfurn:coffeetable_front", { + drawtype = "nodebox", + tiles = {"lrfurn_coffeetable_front.png", "lrfurn_coffeetable_front.png", "lrfurn_coffeetable_front.png", "lrfurn_coffeetable_front.png", "lrfurn_coffeetable_front.png", "lrfurn_coffeetable_front.png"}, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + sounds = default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = { + --legs + {-0.375, -0.5, 0.3125, -0.3125, -0.0625, 0.375}, + {0.3125, -0.5, 0.3125, 0.375, -0.0625, 0.375}, + + --tabletop + {-0.4375, -0.0625, -0.5, 0.4375, 0, 0.4375}, + } + }, + selection_box = { + type = "fixed", + fixed = { + {0, 0, 0, 0, 0, 0}, + } + }, +}) + +minetest.register_alias("lrfurn:coffeetable", "lrfurn:coffeetable_back") + +minetest.register_craft({ + output = "lrfurn:coffeetable", + recipe = { + {"", "", "", }, + {"stairs:slab_wood", "stairs:slab_wood", "stairs:slab_wood", }, + {"default:stick", "", "default:stick", } + } +}) + + +if minetest.setting_get("log_mods") then + minetest.log("action", "coffeetable loaded") +end diff --git a/depends.txt b/depends.txt new file mode 100644 index 0000000..470ec30 --- /dev/null +++ b/depends.txt @@ -0,0 +1,2 @@ +default +wool diff --git a/endtable.lua b/endtable.lua new file mode 100644 index 0000000..a77c8c7 --- /dev/null +++ b/endtable.lua @@ -0,0 +1,42 @@ +minetest.register_node("lrfurn:endtable", { + description = "End Table", + drawtype = "nodebox", + tiles = {"lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png", "lrfurn_coffeetable_back.png"}, + paramtype = "light", + paramtype2 = "facedir", + stack_max = 1, + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + sounds = default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = { + --legs + {-0.375, -0.5, -0.375, -0.3125, -0.0625, -0.3125}, + {0.3125, -0.5, -0.375, 0.375, -0.0625, -0.3125}, + {-0.375, -0.5, 0.3125, -0.3125, -0.0625, 0.375}, + {0.3125, -0.5, 0.3125, 0.375, -0.0625, 0.375}, + + --tabletop + {-0.4375, -0.0625, -0.4375, 0.4375, 0, 0.4375}, + } + }, + selection_box = { + type = "fixed", + fixed = { + {-0.4375, -0.5, -0.4375, 0.4375, 0.0, 0.4375}, + } + }, +}) + +minetest.register_craft({ + output = "lrfurn:endtable", + recipe = { + {"", "", "", }, + {"stairs:slab_wood", "stairs:slab_wood", "", }, + {"default:stick", "default:stick", "", } + } +}) + +if minetest.setting_get("log_mods") then + minetest.log("action", "endtable loaded") +end diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..00877de --- /dev/null +++ b/init.lua @@ -0,0 +1,4 @@ +dofile(minetest.get_modpath("lrfurn").."/sofas.lua") +dofile(minetest.get_modpath("lrfurn").."/armchairs.lua") +dofile(minetest.get_modpath("lrfurn").."/coffeetable.lua") +dofile(minetest.get_modpath("lrfurn").."/endtable.lua") diff --git a/sofas.lua b/sofas.lua new file mode 100644 index 0000000..da6554f --- /dev/null +++ b/sofas.lua @@ -0,0 +1,144 @@ +local sofas_list = { + { "Red Sofa", "red"}, + { "Orange Sofa", "orange"}, + { "Yellow Sofa", "yellow"}, + { "Green Sofa", "green"}, + { "Blue Sofa", "blue"}, + { "Violet Sofa", "violet"}, + { "Black Sofa", "black"}, + { "Grey Sofa", "grey"}, + { "White Sofa", "white"}, +} + +for i in ipairs(sofas_list) do + local sofadesc = sofas_list[i][1] + local colour = sofas_list[i][2] + + minetest.register_node("lrfurn:sofa_right_"..colour, { + description = sofadesc, + drawtype = "nodebox", + tiles = {"lrfurn_sofa_right_top_"..colour..".png", "lrfurn_coffeetable_back.png", "lrfurn_sofa_right_front_"..colour..".png", "lrfurn_sofa_back_"..colour..".png", "lrfurn_sofa_left_side_"..colour..".png", "lrfurn_sofa_right_side_"..colour..".png"}, + paramtype = "light", + paramtype2 = "facedir", + stack_max = 1, + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + sounds = default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = { + --legs + {-0.4375, -0.5, -0.4375, -0.375, -0.375, -0.375}, + {0.375, -0.5, -0.4375, 0.4375, -0.375, -0.375}, + + --base/cushion + {-0.5, -0.375, -0.5, 0.5, 0, 0.5}, + + --back + {-0.5, 0, -0.5, -0.3125, 0.5, 0.5}, + + --arm + {-0.3125, 0, -0.5, 0.5, 0.25, -0.3125}, + } + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0.5, 1.5}, + } + }, + + on_construct = function(pos) + local node = minetest.env:get_node(pos) + local param2 = node.param2 + node.name = "lrfurn:sofa_left_"..colour + if param2 == 0 then + pos.z = pos.z+1 + elseif param2 == 1 then + pos.x = pos.x+1 + elseif param2 == 2 then + pos.z = pos.z-1 + elseif param2 == 3 then + pos.x = pos.x-1 + end + if( minetest.env:get_node({x=pos.x, y=pos.y, z=pos.z}).name == "air" ) then + minetest.env:set_node(pos, node) + end + end, + + on_destruct = function(pos) + local node = minetest.env:get_node(pos) + local param2 = node.param2 + if param2 == 0 then + pos.z = pos.z+1 + elseif param2 == 1 then + pos.x = pos.x+1 + elseif param2 == 2 then + pos.z = pos.z-1 + elseif param2 == 3 then + pos.x = pos.x-1 + end + if( minetest.env:get_node({x=pos.x, y=pos.y, z=pos.z}).name == "lrfurn:sofa_left_"..colour ) then + if( minetest.env:get_node({x=pos.x, y=pos.y, z=pos.z}).param2 == param2 ) then + minetest.env:remove_node(pos) + end + end + end, + + on_rightclick = function(pos, node, clicker) + if not clicker:is_player() then + return + end + pos.y = pos.y-0.5 + clicker:setpos(pos) + clicker:set_hp(20) + end + }) + + minetest.register_node("lrfurn:sofa_left_"..colour, { + drawtype = "nodebox", + tiles = {"lrfurn_sofa_left_top_"..colour..".png", "lrfurn_coffeetable_back.png", "lrfurn_sofa_left_front_"..colour..".png", "lrfurn_sofa_back_"..colour..".png", "lrfurn_sofa_left_side_"..colour..".png", "lrfurn_sofa_right_side_"..colour..".png"}, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, + sounds = default.node_sound_wood_defaults(), + node_box = { + type = "fixed", + fixed = { + --legs + {-0.4375, -0.5, 0.375, -0.375, -0.375, 0.4375}, + {0.375, -0.5, 0.375, 0.4375, -0.375, 0.4375}, + + --base/cushion + {-0.5, -0.375, -0.5, 0.5, 0, 0.5}, + + --back + {-0.5, 0, -0.5, -0.3125, 0.5, 0.5}, + + --arm + {-0.3125, 0, 0.3125, 0.5, 0.25, 0.5}, + } + }, + selection_box = { + type = "fixed", + fixed = { + {0, 0, 0, 0, 0, 0}, + } + }, + }) + + minetest.register_alias("lrfurn:sofa_"..colour, "lrfurn:sofa_right_"..colour) + + minetest.register_craft({ + output = "lrfurn:sofa_"..colour, + recipe = { + {"wool:"..colour, "wool:"..colour, "wool:"..colour, }, + {"stairs:slab_wood", "stairs:slab_wood", "stairs:slab_wood", }, + {"default:stick", "", "default:stick", } + } + }) + +end + +if minetest.setting_get("log_mods") then + minetest.log("action", "sofas loaded") +end diff --git a/textures/lrfurn_armchair_front_black.png b/textures/lrfurn_armchair_front_black.png new file mode 100644 index 0000000000000000000000000000000000000000..e2be0384b0f91adaf0d64a0a99e81971ab224528 GIT binary patch literal 579 zcmV-J0=)f+P)WFU8GbZ8()Nlj2>E@cM*00E~-L_t(I%Z-xBZWJ*P zhCgrZnw~6k;J}3oFU8~WR0tjbX#%G#(}~?}S8?b}D+m!yT`ak_e<_!9wv-Yf1ibe+ z=Xfv73{|D~&ay1TloBFB&Y2Jb&bj{%F*D4J-aEBc0AdJ%oHM)Kj+D|x2$p35SP^*d z2_X<;B*uvM{@nqpikWSceT|G2)N!-w@}Jy+Af3-9Y&ba*N0|86+QqVWWFU8GbZ8()Nlj2>E@cM*00G5GL_t(I%Z-yuZc{N7 zhCkcK@yQKo?|=al2CzOBz{1!Hf(0O@Fe+_sV_&}*IE_@HK#ycu@_Fe0KiejR&)s{$ zIl)?sF@}Fd@152fwH9(Ni1&i(mJl{LCm3V7HlugweKe=E0w=^dA%wtot9b7*#{Ne^ zBj*ela?Xgg7Uvuy9+6=KuG#3c*6AIb%UEl%BEqsP91aIw8;8SzWmymrWSS;wt)#S4 zN_mxq%_f|gIYd<{rO;YqS)R@ou19MP?*}&#L7cO+X0g_CJRZ+w*BJmz)5KtBky;zA zjkT_c%_cD3g}bO3_uj~PWnB}hdO4FA6SWpfDOf8*mUu*74lt(Dd!v*}DTS00rBvkU zX`!`t=1?fbVT_^o_LqX^nv|f{I$rLVPairdbH7H&Cv>mO`x#Xw#`qFJ>JZG>f!H6A zd7c2!7>IE{60vdrcn51bvs3iV$PqiF3?UM8NA7<71l^%x(dSPP465^GnBHzj&g_W2 zLrSnI%*G(^-hV_n68pJ1Mq&t~q5bCm@kD&gX!D?!czhUTrv=rHeE;?pH3r=&gpT?f vh`&H@QN3k;djqRL2*YZqunKV}#GLp8uJi>#u{0@*00000NkvXXu0mjf`d$6i literal 0 HcmV?d00001 diff --git a/textures/lrfurn_armchair_front_green.png b/textures/lrfurn_armchair_front_green.png new file mode 100644 index 0000000000000000000000000000000000000000..5f4de8a673964861f37c3675f185aeffbbb09f18 GIT binary patch literal 603 zcmV-h0;K(kP){2n7Ok?7sj203B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00F;AL_t(I%Z-vvjuSBu zMxX6+yV40vkXW!`!>PC(r$TT5qztTvnIvO(+hrDxf24mMyFqqy#(QOK5;l4xHS%k1E=!|34+Y?JeYi;uJtB_DNUql z+)PxJS}WF#)A@80LX44=(!dTOU}kvdIUbKUAF~yl4CMZZ?DsPOniDy{ z8ii~;Jl(@mF5W4+8#Qu=vO>z_wIlc6zJqR2@u<7}Kys+=ugmmqGiq*2?j1^jsj_zt zdH4PU%8}eJ!#R^v8Uyx|ho@)q(~4RI_2lE@XnQ`P+L5ncKBLZ|TZPoo_!{yL&^uJ` p*uQ-Zi$F>PH8og-ycP0V_yy&N{+;ZpxTF98002ovPDHLkV1i(91jYaW literal 0 HcmV?d00001 diff --git a/textures/lrfurn_armchair_front_grey.png b/textures/lrfurn_armchair_front_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..2a5995ad0f26b90007703ce487db4b5bac8e0c06 GIT binary patch literal 571 zcmV-B0>u4^P)}Gd6;fw*LSC03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00Ey#L_t(I%Z-x3Zq+al zMUUM{JR!6%3y|2b;Zym6ei=&yAAs}pJ%2WWV2g&pgjp5sc$_V8qO*wPI$h>q-b=WB$j`-T6KHVHl{j;+#WLO4M4( zIUi|sU3YBQvv`GHghw<|M%V$WL%Nij+qqoX* zJE5w_Z#ybA2yT0U*dCE-dINyQK#aFrBN~_a0oL^5oT6{H9U5ClY1n#hB(?@AL0_1hLq2@`gz`jeFW?x7A#4Eq&1HTj&Kb21)Dxc`x3T9x zs5a#Lx38#k=%^4H+TB6?1$sjD#PseCR)G+WFU8GbZ8()Nlj2>E@cM*00GZQL_t(I%Z-w~auY!i zguk7g)y_#aRzN^P!c+2?BrbRWundv0bn@QqAHfQ$D9Xl@Y%twj-M!;(KgPb%fDaxK z!QpsmI-S-UHCNV>(TxUdGAu?!JtFQ|kwNaXQc24KPoO?{EJkda2qECye;o8q&KZDQ zGAbg7dNe3r6%pat6dhV?bUKnpWKmV-dFF6;;I(tOJ21~Ps)}x>EwxovS*WGZUJ)V2 z4VxJ8;!&H7QVP8_=JSjfc~PLYMhJlz<8a``)1=`#+uars84hZzqnOrM z*Okp?LkI!&9(QrmTcgxUUNh^uGEFvap;a`cM6H#Q3*v>KN>Ii7%a1Uccg{iUlv*gc zu*gCw1wEh7wALuO&}t)>0^;bs|LdR(Oj;I7tB45t>Dv`7nTIt&F4(nWe|?3Sky84* zgQY`s;{{TGMECnG0G1*tU5`a-JRI*~T`uJrb~SdS4oilZNV%i;U%!LxFcs|g4Md08 z{*Rd5Ok?MEq~2j!U{lyThrWCN0pmpK7jjCZ7zd&K4I%cc|Fd>~D2kdFatfOB( z-(t>TJA>G<@CMQkup7*7*uQ-Pt3r$;YOJs-X{V&T@C$-|1Co{LaWen_002ovPDHLk FV1hNt1f&1} literal 0 HcmV?d00001 diff --git a/textures/lrfurn_armchair_front_red.png b/textures/lrfurn_armchair_front_red.png new file mode 100644 index 0000000000000000000000000000000000000000..8a80c64add556eea96d5eb1685b40d74024fa283 GIT binary patch literal 610 zcmV-o0-gPdP)WFU8GbZ8()Nlj2>E@cM*00G8HL_t(I%Z-vvZWJ*P zg+JTnc1=%yX2F6D8xFvAxC$3VZ~&wUS%qXevD<$v+!G0;j8Yp*epS!!J(u|wLKp85 z=djjdjNwxC-f68-YNh0ii1+MNnL-#O#=u)7z0-Q9)XJI?FMx=1gb>i(4)6USxKOQk za?Tha=Zsiuan9jI5RqZyE%`ui4SFYUmaT}eEDOiuk@wc|cw|`?L}0VV5Pqfh_<03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00G-cL_t(I%Z-ywauYES zg+H}=Ms1tKUa(-p0?x-7xD!=eg@OZ6PGA+{*w&1s7KTnai411noIrV))1f)K*vBYN-9o!T1nGy^A8qmt6dYPCWK zg%FS@I5-`8r+)yT?7di)J|)SQfB6PW@Rhf9dC~2obl$AS`ZPUDuWJ0 zjmTvkcPE5^cSmYnYA2!Aik?oV1-%yBomML)1bXlPFlZO8@|5w`7Rx`rd()W;cXNhv z#;%Or)ebWw=lr(-Q->6m8_4}0-R;%@SWe`8wIs50cesUlx+rJZizP?yFcnCdTsnID z^&8j*Q^9`yffO*?{T^o9)shPva_=xrFjjUUps!xP#dsk1OLNZTl$Hkn!QJ6ZJ`~Ic zFd;wOFJXPw literal 0 HcmV?d00001 diff --git a/textures/lrfurn_armchair_front_white.png b/textures/lrfurn_armchair_front_white.png new file mode 100644 index 0000000000000000000000000000000000000000..36b101a966d290760de0962db60b2051d91fc97f GIT binary patch literal 583 zcmV-N0=WH&P)}8WWFU8GbZ8()Nlj2>E@cM*00FB>L_t(I%Z-vtZqz^! zhQEHfYdj?51q(JT;Cvj9qXfYLkS1Xjl5x_uyQ^3@V+A3isZC2=um4f*=H|vyN`w&b z-s7C(tuQlGmDU=|vJg{BhzL1nLI^nL{yW6XFf&?fOw$BF3?YznX1CjsQo0DivMc~A z0`EN`1Y(TD81de}IY3o0vyHNkF*1%L$K#Pp<9IwWj^nzt@B58Yt@R=bUDs`zMG>La zimEb><3$uwO5~hZ1R(@e74JQ#)9E4#ec!Wb*IGkWQB~%7rt3Oh-^F?B+4ps~dL zmQrY~QESC}zq#?+5mm)GhnZ1prPjJ>7N4G;P}NO`vyf)?4}x>eG)=VD*313+<&!Zj z+|LD;XXHv4t_DPeQp(@tCxh(P7bx~X9EKhMDVb8P)M30_3Kp<&vrzy503B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00DwYL_t(I%Z-vjZ`&{o zg+Ix3%s5Nq!w$Xlu>IWqyrIMP0|unqDQl93wrpt!#!H7`g#`$fMZPD#M~25oN?k)$ zL5vUrZ>~}xXP72P38bz;6`ICLLij&PDZZx(`rhxPsvNvtLtQVcASFMi1QMgaEaE%H zw+V7~l38*Tf%6&mdls+#-Z3H|ZF|!+j>{yhRyWT?)qy!X>k9kBj z+j@RgflQMVI4t-);T0m~eY zPcU5PwJ7?|V_1PcL1S1d$kX>9pc_;oIuAh;Q0@MZ>2B?@u)#`k4XcqZ1mynVBgzRY zSFjn@G!DqWI2Bzjo9hg(=KOJ3-ayj7c>NPqtFzzz61LSxLtkdH?_b literal 0 HcmV?d00001 diff --git a/textures/lrfurn_armchair_top_black.png b/textures/lrfurn_armchair_top_black.png new file mode 100644 index 0000000000000000000000000000000000000000..405443b7a90b604fc85a18aed929f3bee19337ca GIT binary patch literal 423 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)3kwS)XMM!h|3D$x%#er@=ltB<)VvZPmw~~#C^fMp zHASI3vm`^o-P1Q9MK6_|fq{|R)5S4F<9uzP;iMx59KvQ6g%khpH+t7lx6q|KX^z4nhT!@Od*mQ_L*E9V_A{Bke*z}@%1*%XwLd6XVmF5jL0 z+oI1h{T*+@``k2!Yf;HPPaYYz&0L!IKGwx$iAaY>Xms|OnDi6|&&b`=m}-^N?ZVeL zUooBcedV0wwH6xwX z;j(7y9b3lEhrjnJE4?-`jjgwO`z~$T`!%Z=&gksCyzkcWyQeRw{A3nAEfNtHAhi<| NUY@RgF6*2UngCTkswMyc literal 0 HcmV?d00001 diff --git a/textures/lrfurn_armchair_top_blue.png b/textures/lrfurn_armchair_top_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..483575f93c645b59cb4337289b1bf86d275d6e8a GIT binary patch literal 536 zcmV+z0_XjSP)|76&?g3>5$X03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00DeSL_t(I%Z-!EjvXNk zM2`(Lx3imH&POL{@FNT8o*QKrgM=&@R~g%7`S|#m$IgF`5vrN*EQwiAiXyVI%l<-UlF3dI zxEp4MnNvl;-MOv{Go!UiDRr0dNwBgTa~ic)YORPsJ28SYN+o%4J>0XM;%6A)=d)u#kOSQK)lDZUSMA#+@B4S&fDcpB8bzuPN7?TLcES`lio4Zl} z>cHLid+el1y{^+!_p@>ZC7z2<;=kN=&fol1uaqE}&E*Ntv ako*M+2u1GZcJoC50000{1Ps?58y5fo03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00DAIL_t(I%Z-yslI0)_ zM4v#|-@U6V_WdsaXy^qt<-cnp941hb8Zwcezdv~#2j_Wm90yGswN^?gND%-sl8C_F znKl_?Fvg(wj*9$(+#L}iGAL4@uvS21Y?6#5GZ7Kg%oaf==0>d*DS{wu@=TK4N!%SX z!^~C%?oJ;an?`GQ3$-BJ1SH{i3v;4P(W(50-GUr4PKA#WgdG1Qy?e*RP)~s4X zilEo$!rcLIch2+Vx-OcwFM??kfH^0vwVgzd{{}p>BDi81h{m**eDO=;r|0a0f(TG^i zBDdym(6j%F-KL6&h0!IzEa!fPL$ zjND#$+&1cEak-ak_SL;QBWT94+>Ot9SqZpIM(7dgb?p2f6;| zZsVLyYkg)b>RJS2pn%ml`*QBOI4hAdRIts^veQS27jIuxl>OZkc0Te2!OV>4&Pl0ax3ZjF}Id@z9)D z{LeojExNU1!76^HehFnIC$G*ams-0GnJ!eTw`@rNzFqtCoaeQ7rIJ(D9zDO~_k-m^ z41zmF{<8iO`!4nI-Tsw7fb>_h#-yj+Z}?)b{hF%z zS8EN9-FW?N{`#%gjxXJL`_8KG&erEYf7-9L_xtPE?7Mu~Yu|p~9{pnP;#JjK>KAmF U2Q>11-wO(8Pgg&ebxsLQ0FrFYhyVZp literal 0 HcmV?d00001 diff --git a/textures/lrfurn_armchair_top_orange.png b/textures/lrfurn_armchair_top_orange.png new file mode 100644 index 0000000000000000000000000000000000000000..c1ba8caff72e3eec9cde3ae2dcd4d7fa7cf9570c GIT binary patch literal 570 zcmV-A0>%A_P)WFU8GbZ8()Nlj2>E@cM*00Ev!L_t(I%Z-vv+SD)% zgI_yNJ7ve2xhSWAN#Y+C?R4g21Ia3nWkt3mKYx6$ZQI!Qovm;5-cfC6Qv?B^C^C}F zV6DYmlQ|}14(tYH5gAAbT8XA|m7pLi$xI@H%AzO)!8{x$kVS;Ev>_^p$QK1wMP-p0 zga^wV4?h(|1Y-=AJDYV{Z>at?LME|->5FcLnVkxbZwFPynhQaA91kA*j#@+YB*-k% zgXb9V8@7F;ZygcAj>kb{01z2G_MOLZ(EAAh&JWfCVELkNoqgYF+OTckaCg#!sft>| zx?#N|`d%==T$84a-i+QmW`?z9XYsO4RZ!7$k*b#siHO`INmI;>)(lnEbK{p>xxJJ7 zzWfvfgd4A_=e0wegFUf literal 0 HcmV?d00001 diff --git a/textures/lrfurn_armchair_top_red.png b/textures/lrfurn_armchair_top_red.png new file mode 100644 index 0000000000000000000000000000000000000000..5de6125900f39600962fb6668579bb705ea40c3e GIT binary patch literal 532 zcmV+v0_**WP)WFU8GbZ8()Nlj2>E@cM*00DSOL_t(I%cYaelH)K4 zgg^9S#m9N&dE>n#kq|Hk%T6|P+jW%-TWT6Xx8(clE84cPwMN}GYOUm)NhyH{07T&K zm>H^yj=>m%-aAD^2*4uwHs>l5_?)DiNg^PEtP@1U zaf%4sjA_Q46PuHA0>&8pc|0h!QdSG^1nzz$s$vI4358n=C?*7_HLsv>}@(pr1vwAPT-Z%T=rGqsdo1OPe) zIcG{KZ*Q$vpCUq9L}xr0{P=f$&0000u4^P)|H7#FnvZ4S003B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00Ey#L_t(I%Z-yuk{uxo z1XDuLuf6lNeI}o4A{zAZ0%rVXH$<=^DoaQu`Sbg4jd5{ZgE0oy4Q+-hhzI~xMJ8l8 zzMMHH&z#KX!4RP+vI>s?5i|=`0X6`N%px=K2(pT*LPRik|8fZrR$Hj(cK@&6RaBCZ zcsTC+nu-t+%;#bHV)TwRL$!SaWCkA2T#I3yW`>Gj_kEL9thGSke*I!x18WUL4`7!* zp9y?0#zpUa177z{MgWizT-V^fZ>$@fCQ^kjM}V~^y?0*Mg|>!`F>ntof~Aet8qI7^ zL)r#c0??*ykr~zpW(_klib7Slp(vt)N;{JPQg<~X2%xGo(+yG;R1`hsiU`V?z~>jF zP~+Ku}0dDB?t3CICd6-mK6v>@5(+f6;1tewR4Br^{+ zsVuSr@@)!L+Zo7A(i6wAIVYJ(c#s)H1mS-E7~gUb;bg>)ye}dHo6n@Ga9?;h&ojSf zE~+PpNu0O62Me8hUu@1T_{=$cuzaH0-dADof(L6Y%nVr@{twQmI>@u~d=UTu002ov JPDHLkV1k*G;uHV? literal 0 HcmV?d00001 diff --git a/textures/lrfurn_armchair_top_white.png b/textures/lrfurn_armchair_top_white.png new file mode 100644 index 0000000000000000000000000000000000000000..21f5a52adace376c51e2eb43615912b2e7141534 GIT binary patch literal 463 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)3#+({QddaSd!UePW=KSdbAE1aYF-JD%fR4Vl$uzQ znxasiS(2gP?&%wlqL<3fz`$ti>Eak-ak_VM^t#syJg(C@8`J)Mer;p0%~F1+LecI1 zC?^Gbv$~wqzyHcD70FsVCCK9Zm(6SZdu7WUW6S5(&98S! zBwwg@cd6JLcO@!Zt-5lpX~WgktPkEX?6BS%w(fNlpYVe3d=BsDezv);zH>^`%!lum zOvy_eq(<+N#WJX1S*9eXgSP=;DzmBUuG@idG!lYA1WAbvrS>@U|=YaX|PUUJHy%I_)>Po%@aL-?|3Fm|IJk- zBO z`#o1Lc`3tFt4;A?-!vm>jH03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00JpVL_t(I%T7NWSR$PW|X9kV39PJq$2bOJn{s8ZU(!H!`-g?`1kwF zypk5dI$=8_?jmM}Bz`$_hTuvClu!5=ZvZd_q+J1YA@v7X<|537Z3~7n%qs+;HRBKe zeg$hWzrmadB@{vtT%Jh%g!&b`RA3u4 zoC<9kG0XVR|9rxn!&-xov1$+c2G(KL5%2b}cnG148h*m!QR~q<;~(DtRW4nNRU=wJ z+Pr*5D1*5fr5l&$|KQ%x(0tA-yt0l zkkT{e9LgtPhuH?JXK;pv8u$q_m}{Z>K@5gJOh+^%BuCrX)!MujY)j|r4WcEQE1uZafUG@j8k66?P3LPcyG_HK`lxAA43TWFU8GbZ8()Nlj2>E@cM*00JLLL_t(I%T?3Oj^s2H z#qpohspQsIPlleR(TD{v#~bnxtYMk_2 zJ5e7f->bWqhVpT--F&ySZ#ZCK&{Z9~qpqn$Q?QXRR!nc|YzQapSlzhhV)3%Pk3W9< zl}#tMYh8qBjx?W34X z>L{pRsW$@IoMn60HE`9BgQzNMqTPsk5>ew(&a*nMZ>(z(%SP1LHazZi>yWP(ndAG1 hnUMPH19=iF{sGSJ4e5G_SY7}C002ovPDHLkV1kQ3L*W1b literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_back_black.png b/textures/lrfurn_sofa_back_black.png new file mode 100644 index 0000000000000000000000000000000000000000..82571e1eafba19200dce8bdf1fde1698e61d0171 GIT binary patch literal 403 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)3yYwU$;oYhU4cTfnIRD+&iT2ysd*(pE(3#eQEFmI zYKlU6W=V#EyQgnJie4%^Q2e{6i(`nz>9vUFY4FIwOsv?X2Yf>RRT~6Xqv&8i~jR{W)q9Gxbbq#5n`s3w1(s z58uCcSJ^M(pXTgD#VLo166*IP9GBG94rrcx>fD=8jZ;4ApZ7mud4;Db6Mw<&;$U=3!H-h literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_back_blue.png b/textures/lrfurn_sofa_back_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..c31b8778d83fbf9bcdcc08838cbd40e7e97a33d1 GIT binary patch literal 405 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)3#+IFpVtHCBS0b9%#er@=ltB<)VvZPmw~~#C^fMp zHASI3vm`^o-P1Q9MK6^dDE`ya#WBR<^x8{?euoVtj(*&)yuHrEWUCgN7@LLs_6J@u ztOpq-yp~Uz@~xQ3uvt)O^T$UI_kN$Ob2E24|IDt(yVot|idY*~dZ1|M3g%hMRx-W1 z_Mh=b<-FGog>zmtTz(nC{^f4~>yG2UZ~M%$=wZ7oxz;ttT_rKC{{6? z`%hs#b4_)_%)=X+4W}lG?b4B)rsylcGux={`!BYviTM+Xmx{;){W-d2r^d|ejdK)L zBkF|a9*)0%N3k#BpXBUB#VH5>oJ+JwKHTz*b;ZHH+Ld$dCm8*E`jgYLJ<9P!#>K|B tj?znbKdx%N=*;nS literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_back_green.png b/textures/lrfurn_sofa_back_green.png new file mode 100644 index 0000000000000000000000000000000000000000..1589b2aaad2d2ef3314e4557e170c92f6e11dbdd GIT binary patch literal 403 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)3#*8ZT!rOv|#ovxzX$oGgaoJ2~qZ#@c+K+op1?yVLMgP(Jx*=cb06 z+gP?0SiDp8T{@$6omX4xj5Ln6vy%JkD_KiVn4j2bBq9^^=cvgV?`Kvz=`++a>^sjr z%+Gr-psw?O%GnJ9UWt{@3-%-&m(}LAh11DxwcHzC69wKQ pujMAS3!Dl*EUwaDDmPnwALBE-q=F+;`)7l~#?#f$Wt~$(69D#8nAQLQ literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_back_grey.png b/textures/lrfurn_sofa_back_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..f0758c4a96486de6bda7d7adf293676af1b1ab4e GIT binary patch literal 403 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)3#+(>;no8$jsb;aGeaUuobz*YQ}arITm}Z`qSVBa z)D(sC%#sWRcTeAd6une-p!j!B7sn8b(`zqn^gC=IapdEEWp;VqOk0DJ#D}q!-F70} zP3#F8K1(%UPM1hx3->s4tegG*Uls4?WxHdSJ^Hcl{Ys{=)uFN%w&luRF!2=)xc-m- zfd1(q_9atZH5AIcZb+1P)$sN)vrp&YoC)Vvh;QuoICSRUvgJGnr%G?AIdVK=ng;ib zsgbjFW!h}d1Z$=(oPGLs8b9A*Nok>|sDS3VeX3>uTu%L%{#^Zu%qtef#bvzT_--lW qc5Kg{VcQb0PikM{w}|H(O+GR+^Q08We_ve#3L8&XKbLh*2~7YXik^x9 literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_back_orange.png b/textures/lrfurn_sofa_back_orange.png new file mode 100644 index 0000000000000000000000000000000000000000..f646c84c5a161cd0ec0402712ea248bbbe8cc5f3 GIT binary patch literal 401 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)3yYAPk@TY8cA$`KW=KSdbAE1aYF-JD%fR4Vl$uzQ znxasiS(2gP?&%wlqL<1J6#we!;uvCadhMm%en$*MS{~k?Xg*IhCrOb@N-A!uy9-B@ zN>^)E{)ERVotixpR`g1X7eAX^lk&Z&e(Fk#I*F=P4PSpP;`@*r&2Hiw%z9<(f94OT zH(g&wNn&)UcA5=UV?{j!p%DTfvZBrK53eP=! z|IR%{zleXDvlA7k9NLs#F0=7*&ot2$2mMmh&FU0V|9rlzT*Oz}G~wbZ_G)%s59W`% n+D|%jJYD&aTdluTZnp4!_8Tb$)3&(!fkMX9)z4*}Q$iB}ts9vqA#4L5UMHC(NVWjFB+X1%iY zKl6vvo31c^Ho3~U{PIdZ3I2Ag2k-W^n;84BeU{91z2l~mm{z|$xb49y-Uzz~$vXCd zVg|RT9T00P9yw#{f-!jv^=~&adX{n#m-iZ42=ghcUoRw zDB@vZUl6fk(@DL`zUea#adh6=QF-)C&7`x3p9U{_aC6&hO{Q6QxAAP4y^CkXs#P2s z(f`>Ku9xaEpYzsX_M2ZUY0%rQbin4`eKn_)2$4rUTblB1m6}%l%WY>l_k=q`YU924 z3<9Mqwpm`7nt1E5&?f`VqKU>PjvWs~dO3I3SF>jdL@OS9GRe5(N4(Fk+;cw7%UBc- zJnJ!MtFA3>FL1ehK0>rqkN+C;VUxwdF4v@%IQ1v5JFD&@^zG|YNkg_wmKdj3d|#NC txGy;#U%DZpK(GF4?ZKpr#}*lW;8jRVIi}1xVLd2#JYD@<);T3K0RRPio+SVP literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_back_white.png b/textures/lrfurn_sofa_back_white.png new file mode 100644 index 0000000000000000000000000000000000000000..7e54360d9b9e8d39836793debee34077cf653863 GIT binary patch literal 404 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)3#&Lk+w~p)*8qiNGeaUuobz*YQ}arITm}Z`qSVBa z)D(sC%#sWRcTeAd6une-p!g3@7sn8b(@Q5A1|2crah+ejCqlri(9zME@%iJ5nAS!; z-lI-iQ>OR65$Ha|V|*oS@uUC$-7cNzeVk!3<^At{s{ON{@62S{zAjt(z?oSL(o(A> zA9!o#Hq0rOeo$k#opD)aR`rtQ$E%ffWi}l$Qnprnr=--h>R-8f^Mfq*D{3`8;S3#Y zA?2YL4n5q_J}2t}%g%LDSrf!Ky7b!a@88>8(s5tmTxf7X#}WG(JkvvqWwY2c4<0qY zX!+;uUFJiaTkmhsl5*mm;?H+n(pJyoW>e0E;Jq`?#dk>j`}$O}knbf+lj3c;FU%

IYW1wbL$%#er@=ltB<)VvZPmw~~#C^fMp zHASI3vm`^o-P1Q9MK6^dDE`*d#WBR<^wJ3%gP09@T;?0|#aR>;IyyQt{y+UZb%D3D z;0h<9qEE7xfin`@ZrxsSeRl|S+n4)FJEKD{|_w|iT|R_ z4hOAj{W;ekHkS<@G=maX#N{E+)(=X!l<5vErxCogVd|IM&=;Va5k6ys{Ty1lkG=%K_TMl>gTe~DWM4f^PHDz literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_left_front_black.png b/textures/lrfurn_sofa_left_front_black.png new file mode 100644 index 0000000000000000000000000000000000000000..c57e5b328fe6730b532b790fdbbe0ffe142e50bb GIT binary patch literal 549 zcmV+=0^0qFP)WFU8GbZ8()Nlj2>E@cM*00D_fL_t(I%bk+Xa?>yn z#(%P;Xp@k}2ZrIog*W5zcpwHIfSHt@LeoxHmaOIA+8AaUI_$-V)wllsxs;N{81dfI zbsf$*u8o<|T4NkXN-2aGBO*dd3GY45xfhR^8D_>fj^vyH2;O^AN^G}VVvMh1P)Y%q z7<65S_nr^}Aq2XvyLzCthM6sr1OG9n(`or(m<_45Ue&*ru-R-D&%)Y}VHjQ|A;w5b zX<{%NQfvJuc%I#E$I81vjFG>);GA1xYpqdhrIbP`1rb@gu%s|2vF^e;_gVk!SI(JQ z>u(ch`mMDW8Pr;7t&wwHFyZs3caRI`L7_Y%2cbXohzP3sr}%7;-1G(1?g@Rr13)yP zdYBg4IA3mI$j{jc@@Cqh2Dv~|v>4&``wx&k5;|n=Kyrxm%P~1_r=8oQW{@*%D!p@r z_a8nYJfQXrRz*{q0PQE|%M*GjNQ)pH`fxuzdwN8~2;aVbL7YSO0?Ckg19}H?MC3^S n_6CLkDNRz-2tz>k0WFzdwO8+%eK$T&00000NkvXXu0mjf$?N5~ literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_left_front_blue.png b/textures/lrfurn_sofa_left_front_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..55ef6fc317d5e02112b9274bbb712f6591499e33 GIT binary patch literal 586 zcmV-Q0=4~#P)|7z{Hk_!9sC03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00FK^L_t(I%bk-=juSBu zMxX6+yONMeFIcc)0q5fY9E__VH~>-xR$(#_yZy()JsGhGAWE{ls4AVXqkBG=P14yNmj4}L^glP&ZGlx6_ zfn~|7gxk?t!~4NaM39^d@RL#&taWSIZ3Y0_?UupLB16lB_Z|_4wQiO2WE-?rskM@G zW?2?gb=`$FTo7?rD9+jIE3kucGuk|;B|bikvda%tJM#I{N7NW}rw}^o?;w5yJ)nAEet8FrKnO!>sIUleC&Zli Y1qw;*CmlsDb^rhX07*qoM6N<$f*LaKmH+?% literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_left_front_green.png b/textures/lrfurn_sofa_left_front_green.png new file mode 100644 index 0000000000000000000000000000000000000000..8e2a273713aa467d212fbffcf9cb3dc5ff98da52 GIT binary patch literal 574 zcmV-E0>S->P){2Q9E!Sc(7u03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00E*&L_t(I%bk+VZj&(( zMUU-qJV{9Vfe>QDhNt2cc_0K2fYidOv_-W){|pPK0TwM0v$5pyT-|%dE`3NAVFwS zOb0%ALI{Wm5(V%5vjSrb3_C>@{-dt0u8=555aba^YYm4xE5asiNSnz_{sgjy^{fan zMp8;McC8ags|_FgSrK--9o|2(3lm<95eXBbb90r3VP=f+d+%#m(XF2D#0NiN9EE}p zQ@}aQra&M4WZwr*tBv9ct+ffU^>%_c{CLtq@14;Hr4;(;c;}IiFW*3^+~f@P7Ck7- zVL?^NIsYBL7`$@x1hU;C%d!JNb0X)%Y~;bs-8HP`xI0B(%pTdGR7jaz4Y~gM4Rnu+ zN8RxcB!}v964T4=?72PJ3`&7bV{s07`|dr;J=u=KIg?YG1LFrbcMs&dijD~C$@jPO z*~3p%4f*o<6Y3ngS4f7&3&`I=FHyZ@d3^z^KuR-e>aYrVFXUSI1;fAO$Zf`!G5`Po M07*qoM6N<$f){S=-~a#s literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_left_front_grey.png b/textures/lrfurn_sofa_left_front_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..68db4af793800178d694d332a1c107279334712c GIT binary patch literal 546 zcmV+-0^R+IP)}F*CrWFU8GbZ8()Nlj2>E@cM*00D+cL_t(I%bk)hnBr!t(j?E6j;Y43KX4gEAc^RCOEfW^)5?mKO-^1(~LI0BG=pa99GN za=AW1oZm1MeZRyA4dw(s5K=>)e*6R-QL*TX?hUHbCZ@+>iJ6hm8q72FnaLRBTZosNfsgJwSK{J)(MK`tSfz k!26|DUmyx$6hfN$14%vH{SAaYwg3PC07*qoM6N<$f(?D;=Kufz literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_left_front_orange.png b/textures/lrfurn_sofa_left_front_orange.png new file mode 100644 index 0000000000000000000000000000000000000000..0f3ebd2d38adeea78929b20a79f4324bac831a0a GIT binary patch literal 592 zcmV-W0WFU8GbZ8()Nlj2>E@cM*00Fc~L_t(I%bk+FZWS>Q zg+GtS>$$lk*#aRN8lI9DjX>0h0M#W4#Jje~6b?uTB_O78F+NA~J8ZL~$xKJW0^qNhy(Yo(lF>;XAb2rhj-c1Aw#R86q+jBvo`#mXwH5iBTZTDhC6`pm)c6 zXRnog-#Hv?-h%hpg2ow0R7GR_gCIz!2Z-*72(30Y*=ViJ5L<6Z3ycB7{ZR$Icif$_ zZ8Yz*#`mWeuvJcbfqH|T8|(RsnNdplJ%epP4)X=dxIx$T3;-*cQqJe1IH%iB@X!v! zuxE2e8L(Bzg;EFl>BDERBc_7=yn!4rTYr(+WFU8GbZ8()Nlj2>E@cM*00FK^L_t(I%bk)vk`ply zg+EEHQQKzM6HpWh38&yX+=7czZ~&@yAu`^D)r@|cKw}Dmby0Mpp!J^KkKBipOkzYr zz(kM2dsB6qimLi|CqbGJ7jxMdhfK>D7Auf|70Oe6H`ir5RgkC z0A*eA-d`u^9f^^Y(oj%K;U}=xO4z{HG62}`_jvE|As`~cBtndlATmfURhoer?P9YO z)^$Zy>Alli+gi8;B7*<(FKoU0)^MAA?>)6vmSv&Ux`kLP)j13Zy+5mM0L_VsWLl}0Ts=Kll%Yx03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00GKLL_t(I%bk-;Zd5T4 zMUTtn=jv{f^nd{q2CzQXz@CuU3W5b72#i7!62Iq9F>r%GN)Vz3_Mlu>_frn9^BZ4M zLZc!QAwb~a^3yR!r}f5GE4rk_&h{*ML1TmRaB!#9MgVHvP?3nlNK{2t2_l3?03651z#Sw;L?X(6)Ths%STqqeqGNPM@ATFP zfq#;a7sGN!qM)re)^!6QZd1bF%Ew?yX_~HzZnXk;)V3iKAC2($DEIpVA~G2yRgx}f zN~lJn2qDN^1_$>+AA{aIwN|!mWoJ9a7>qt<3Q?7GN+HI%OcG%D1d-ke1bjGM8nsnq z6 zieID0;~oGjnNrSXqYSQYE@4|w&KdS(_9zZ(gV0`21=ALp>v5~-pa(g|W-G9f-(GTz6VIg1# zgX~y3hw>Hd0<#N_PtRdf$azZ59X6#Llu}oI006J+?y!T8SO5S307*qoM6N<$f?Kcu A+5i9m literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_left_front_white.png b/textures/lrfurn_sofa_left_front_white.png new file mode 100644 index 0000000000000000000000000000000000000000..c09b65232e25dd03e227c0ec5acfb6e16642717e GIT binary patch literal 552 zcmV+@0@wYCP)}7%6$`Mq>Z~03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00E3iL_t(I%bk+DauY!i zMbEr6EeTm05Rj1YH~b%;CJF*Vs$__SWlHlNg7GeLVBw;Zt=gXMx%b>rhr^*e=P<^g zwMHq$t?IqgTBFuV&Kc{RLqzc2V~jy5_2QD=JH2;mt;84su*Mj?_pH}zoO7>IkaGqY z3bfW3W3bj@twn2nb3tp3-uq(N@*j0P9+wO445XBD)Bm-F)oQgcv)4dUO0TluoWpxR z6wE+MDgPXvYqQyK#cp_U&MgpUD|2kuxu=v6k>#J&TK@%N?X$OVo%<|bYfUMI7$c>W z0dWR6A9_hat(DdqF-B^wBgSu^K0?f#QhZp&^Vp%A;qWc1bH)hgbp!-4}{#Y_uqejY!R!G`3-o5$h0hz{d)A&me4!I2&=-R z6!zWw4+xKh{xlo{!TT}LesMZq2!>X^4EMaR2Ir0aTT<@)HV6qVa0000_2ov%xC0qai03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00D1FL_t(I%bk)jZyPZT zg+IxZMcZ|JLx(IK+TYxtmZBXx7D(F3jT4x6@|`-+sxL#_pacXFBKgSosBm{jO$inY zh!H~Is?`e91mg&$fTRSfkh6n?@H$AXe#Q~{-rr=g@Z!}9QhM72rMO=TNQ~ZD#7~UZ z0j9}88fD=>?Ee1JP?{j8({=uH3d`k1GnorA3~!^5k^_ioDT?okShfgR^SUne;VL5xj^qc+Rh#d+#CD4dH zJ$l;l8P$q>`}ze90o^F%il!T|U!XfwcXaP>U=aT~faVbf!8U@GopFz5gP N002ovPDHLkV1hDh-9Z2V literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_left_side_black.png b/textures/lrfurn_sofa_left_side_black.png new file mode 100644 index 0000000000000000000000000000000000000000..1fe8df3ceffa3375830ef613456bcb527e060f38 GIT binary patch literal 534 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 N002ovPDHLkV1nQ!>#P6( literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_left_side_white.png b/textures/lrfurn_sofa_left_side_white.png new file mode 100644 index 0000000000000000000000000000000000000000..e3af8c70c051111d79fe9f9aceb41c7ebdc665c7 GIT binary patch literal 533 zcmV+w0_y#VP)}9t9m}jRpV!03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00DVPL_t(I%bk(UZWJ*P zgunLBxMA7s95`^{!u#-kJlG;QMI1N;PD?gud&V)oe z>p5ot(lr1nC34P$5UvO4y6$>_7$YgAWgU-4&p8ugB!qy7{59b2wAPsCnOZ9$1Y(Q} zP|g`urIbR95fOO;;_kRR^E@*Q!*;*+r5Gb!*P*JLG0&s5My(ZK%PVkN>8zSwVh}>u zatL9QBO;{rFijI8@=pfSG|^hy_O(`8YovLe8OIS3q1O6e4^|^L4^~anG`;xxa~5m= zCgIzsk1$kDqd~o(d!^s^s48am6lHKIvSh&gp49iR0Z=QL?U#ZzPUkxqAHU5NeY4as zhoM3-tUBrL`w!3^ngY6NFM?{nf$8DZQj;C#4#NQ5L@z>m_x=OQ1LlvzW>_i9K>Nk% ze8J8YZ5cFR5BE#k?h~})dT(88yFLmvPdm6j0xK%tPcDE XaE040vaApQ00000NkvXXu0mjfIjGp{ literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_left_side_yellow.png b/textures/lrfurn_sofa_left_side_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..8501590abf6c4407ee944eca608ae9bf32572166 GIT binary patch literal 504 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)3#+iOaJ2NhV?ZI<%#er@=ltB<)VvZPmw~~#C^fMp zHASI3vm`^o-P1Q9MK6_|fq^l`)5S5w;`Gu01H83A?SY2VeK&dHB9f~;yqV9V|UA4 ztu)L(Z}Ri3!EL5#Mt&DdGMiS-$_+hRSguWMEnc=#tx@PWORw9{Hz#VZUlEcaD9^m=t>m)V{PVcIb<*RHB`x4( z-1+y9=u^ql%hQZ?-12A4yCK_mLvdj+b5!E_YJKZ{3uaB6Z@+J`;sWp185h%dzj5qx rEOoBl+!psIoYkc70{1o%ozg#yd*7{hHIe*k1d0GpS3j3^P6yW%RfI{=a`~;{@9|4tK82 zHsM{FwbZIFch0=?=^Y$<%R{C{X>Sedd+ZP@C>Z4B!jjBW^?rur_0q(&6|3|Z99$l} z`*M%bLv!taLC5!V4UZjqT_}@%;f#SX!=2jP`<%cjroD^|@E=dh%?J<@w1`+Dk=(yzDv3O4pi(xO8v?d3C#l ziXZedDrPX)EN=GP$7K(z+5YF%>JrI&1W(&ptk2!Q@9&+5Px3Cu_x(wia44(1{QUcY zcTO?BcWU3}-e&&ow?X)2tY?~X{p-fvkKgIDUOsfs!1(u#=FZ~p<*e0*?OLtZ?zCQO ax{u)l*Z)f$Ud*~nIRD+&iT2ysd*(pE(3#eQEFmI zYKlU6W=V#EyQgnJie4%^0|TRrr;B5V#p$J!US}yA^0@Wuy;Hf6e((6b2^;l(C#OyF zob8mz>y!}fK40(C&!5Xfr=DR*=;1#mu|s-Q8%Kx3_q0&YG^6J!vEg^_3J5y9WGg>> zx3K(-h@dTFmk(>pDyPtohHMHYhv#Suc6u=QUOmrcGYb?A)5;hiz-bWXFU{hRQg$LtanALRQnufAPH@Zg+-_LKKK UoNQ^d))ExZp00i_>zopr03i6qUjP6A literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_left_top_green.png b/textures/lrfurn_sofa_left_top_green.png new file mode 100644 index 0000000000000000000000000000000000000000..43c0ba650d17f2145eb83ca4f85c22af3e68d19a GIT binary patch literal 489 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)3#%w2@7>({M}R`InIRD+&iT2ysd*(pE(3#eQEFmI zYKlU6W=V#EyQgnJie4%^0|TS4r;B5V#p$_|bFACaF&RLJnN`J1q`2Ac*Q`j=<4B=G%P4rH{NIvm3=4Ad|U3}GXhh&muP5pcO={|XSj2glQTrrIQh2OyYJR# zZ{Iw%v`OdJ3x+TE3QJoVm6~p~?66+z+i=2})l{3o;?0bm%iJP;PYSrCzAI&#AMH`p zw10K5sH^Mw>DO9K{~i~3qU!Iz`9${qdd}F|fA$Yv76sZf|GpQWvS!zlpRYn){N@@L z*PV|TA$N2yN literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_left_top_grey.png b/textures/lrfurn_sofa_left_top_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..2f3c26b8b84f71228f3f63b67f9d9096daea84aa GIT binary patch literal 424 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)3#+&_Q}+K8PCy~q%#er@=ltB<)VvZPmw~~#C^fMp zHASI3vm`^o-P1Q9MK6_|fq{|7)5S5w;`H3f5A#?QIa=%|-mQ2)zxsNw(wF1YdhhPe zo;69L_rZalfO+TBJ2;B{7{1k}-!{uydnHP9=>##sGnO-pjgBq&-j{d#Sk~6C5YbRq z7lDbVpTFziSSoVoZ%-^^)%!D+hQ>;du5%TwTov~sna4}h<;c{Rd4i3*lhb+({TgaE zytiI!8kMd8biK))xsNRv{2HDtTeam{g^k>bSI4=|@GuxVXRl=lKgQzKu$yi54W*{8 z6a1yc@#o9`z5L%-dH(CXznABxEGt*2H~jhj@N}+wEBAJNd+9eh*lfb?_(shef5k7! z3%<|_F!TKPIltE6`H{Q+4Ll~BS08>?Trj`=vBf#JsJVN;bH7->`2(w|^LdH$$4<=# O1(>I+pUXO@geCwf_^_4$ literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_left_top_orange.png b/textures/lrfurn_sofa_left_top_orange.png new file mode 100644 index 0000000000000000000000000000000000000000..b8e3317c590ba5384e47a329c550f8d58372a3dc GIT binary patch literal 524 zcmV+n0`vWeP)WFU8GbZ8()Nlj2>E@cM*00D4GL_t(I%cYZRZrm^o zgg;W0*A9B-UbOdUVu_Fb&_0sQ7AQ~x1`L}s9CAqc_47xmD&c{dal9QI`@weEXw6Vn zM1-m$Gl_7<7>x7eJO^gY5EUo@s45}@cLyL-?gUkZyOWVr6$se2^*eBm$rxh+Js53O z7ldLFR3tMT_w`t}PEkZAzx{nBXEAjyNx~zpDl-#zXUvJUZe%8=jm~0ib52a#s-h~WDrybuhV{ON`_x0_ z>SN47(}uOys47$xK^BoHqJrr9_6ZIoA}endRz+3eD)#}9FW|?&Pk90=*UGQ@{g+S? zxytn;|N-N4A&u=K#E|8*|6JxC8C z1G`UHAZGA!o_C*B<(rL}wKnlQi5b{u`-V?=hv{>jF)tKwJ?j|^pZo#y&+Q2wVP3re O0000n6{$ z7uX$A7QN#T5M1$!g&{?4v1tuY8wY2^k%w&W{9JMxe3Y8jr#^gKbnr|-=snk)%dSUh zrU?rOzL1y_^dm+rYi;q@<_@2#_re)z90{vtNN$~C{XjP5H+RFnb;1*7F6io7!2e#b zp(E1x^_OcU*%q_@&HBx1A*i+LGW&8yr8ic*4lTuR7chN)_SRwCwN^(KGHn$R($ z{9bO&gXUO&hVte8hUY)?tMB@4ykM(a9^dcNormXcHLYV1NnT;odp-I*D6BkP{an^L HB{Ts5*iNAM literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_left_top_violet.png b/textures/lrfurn_sofa_left_top_violet.png new file mode 100644 index 0000000000000000000000000000000000000000..6adbccf92dbeaceefb6691eb6c0f3499638632ee GIT binary patch literal 520 zcmV+j0{8uiP)|I~xvG3bgWFU8GbZ8()Nlj2>E@cM*00C@CL_t(I%cYY|Zd)-7 zgufvvyDoa{-l;cB;U|&oLeGfbrPOh|0nCQOc*;7J1AP_}y#0?bU9>0PTHw8iJcoO^-sF>hv$q)%r3OWEV_e*kRS zdWveheQJKL-ujcd&-$CZ0G6}GU z#jIT1@5g)2GJDb7RpdFha%~1W<2&XA-k9sa%=w$GeKK8Zf9XG4jo({ZTV-Vc0000< KMNUMnLSTaI8`&@b literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_left_top_white.png b/textures/lrfurn_sofa_left_top_white.png new file mode 100644 index 0000000000000000000000000000000000000000..9eeffeb24ea7fea086077e1152d4ab862fb74176 GIT binary patch literal 428 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)3#+)i{{0iB6M;gqnIRD+&iT2ysd*(pE(3#eQEFmI zYKlU6W=V#EyQgnJie4%^0|TRgr;B5V#p$J!E_NMJ;BoCYTxk6Nf9Ypc=iXzr8q>B| zGjmI8c=`63f1GyxwW({1Asa(l+suWlIyjb!cxj%ooLMX+*kf2w9+kafRgf2B!nw{> z^WxWj6;Fs25$xc|N=x6k`*O8?qu|HTgA&ah77VW+{H>dRQgVv2bJcryZb8SjqQ;Lu zR&2<aF_o15Njv)N#+ z&}^c8g75dWYo88o+WhSBn+?~bPAgkpQ~kY9zTuC~>BPO?`;SUqsy=@ACu7U^&lC0; RN)>?u&C}J-Wt~$(6972{tG@sM literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_left_top_yellow.png b/textures/lrfurn_sofa_left_top_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..ca9ab4d93c0d25ac4b8ee7ed8f74a2dd89651659 GIT binary patch literal 405 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)3#+iWPNyK-f1r?TW=KSdbAE1aYF-JD%fR4Vl$uzQ znxasiS(2gP?&%wlqL<1J6#wbz;uvCadhO)Mq9X`@^}_>{)Xe>^(Ru>>59_^d-CYpNmU6 zx0%H}Wa;I~pd(Z2&MgRAmpzw3{Ip^k_lDC93&M^w&d~BMNM=9!e(yhyuu!R0>wF%4 zJ}P+Lj$wDye=Cz^|MVHeHMzD4f7~tn{+wQj$Q!;6g>Jz;3->73ziz(woL?feS2pZa r)y&ulbJP{$s@k`1EAN|dE#p6HsmijsECrjrK%wL5>gTe~DWM4fh%%bc literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_right_front_black.png b/textures/lrfurn_sofa_right_front_black.png new file mode 100644 index 0000000000000000000000000000000000000000..e8baf6cf4d3ee9f3eca6af06affbec9e50331afa GIT binary patch literal 562 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 IM6N<$g2@s9uK)l5 literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_right_front_white.png b/textures/lrfurn_sofa_right_front_white.png new file mode 100644 index 0000000000000000000000000000000000000000..9b16972307e23dd96fba0918b579f4c902cd037c GIT binary patch literal 565 zcmV-50?Pe~P)}7dm>(8*%^u03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00EgvL_t(I%bk)zauhKP zMW5X=*36JhFIcc)0q5g*93>PSfT|>{LNcAm)3(f_(^F)T)D+&R%ChA5zZ9;nu6jy| zVHk)p5<=ju(|gC=X{|BOGm=t5RmnLs3Allhqm%-G48uUqnayTHO6e?u zd7c3lf*2#iFd!m`2r zUpnNlM8NtzGLBmS)G}rlOTwJHhZ{JS=h-Rxe#v1S$_&}Cxg$5fZb5gbM0DMO98euk z&2+z6a$$${4yC}m$`}Ij@zWQS1J<95&9I!80{_F^!xQ!}qn_2qV<=74QH603B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00DGKL_t(I%bk@;Nt)Ss*XA&FOAoCgERDRH+3%Zg{y1D;(^7)P z0%C*^c=NOdwZc3@DIh6qbLP5k!t zGmM4Z*`S=zjWTQoR24IOS^U@_2fqPp_sB4;08q=AZ9HI=-ToHNkNesbeeW@>!B`+0 zRvL2q>kf2{N<_Q%98eve$aK5(SXg7NdAHw93?U#NKYc+tVC@lXhUM&l`iI^AgzXDj z6KKQ^_x{`Ih-yQA{`iiDfUXsCL(>)5Z_q8OTZRu;a29`YfaV#_f~^HBBYy#b#M8D; S86Qso0000WFU8GbZ8()Nlj2>E@cM*00ELoL_t(I%bk%;auYES zg+EC>qXy$-7Ld2U=i3ji9=a4lDb(;Y&W*z`psM7YNh$HGb~3v=y?5q$UI|W@04XKLaYR)ahJhI469O}%*2?MU zr1wtm9Wx`wNJpyqUd;dA0wRXR7Y;UddI0Q;5r+FIQRKmY&$07*qoM6N<$f;lnl*Z=?k literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_right_side_blue.png b/textures/lrfurn_sofa_right_side_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..d35bd7ce869c90c77a3c62bd7fea79d9368c1087 GIT binary patch literal 578 zcmV-I0=@l-P)|4->nmac}?t03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00E{+L_t(I%bk%uauq=g zguj{5?#Mizy#eJSA%OF703u=z#8oIbfCEEf<7aATcV;Alef}$oqOcMLt(Lmg;r#rQ zgHvne>gr?QKTC2RFavkzIVIzmF*D5ivlhg091#&xO3zb}Qp7zHVJPZzlpn5{iBPj_R_LvOr8+ln)U`E{S{(&h8<2a&v!Y~ZP7=Xtr z9J4JkfLbfkyV1L0X2cjtDIp?=Bti&JY`8ly`mt{|WnEW#@3hvB-a4%{LI{6V&|1T+ zVP?oY&$v6auJqnm*Od@9dH?!B@9kkhYn@sfFw7 zpw8%Cnf4Q^N-5=OhKoZETL+5YAk*{$04%%3i%ki+HFE@5C8BqRb3k>vU#4d#8y0pHcUTq}8&e3#>o@OEZYh2wmqN*TBiK)_4>RRZQ5!%b z<@RP9n}4C|$hWUw&=Am_LUwdGh4KUR4AnEHSEsNFS->P)`HVI3`(cS<603B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00E*&L_t(I%bk%;ZWKWb zg}-uDPdOQq=>>||u;El3fm5;JOb8CZBCttF0#n^pwpnx(DM}C`-gxosr}vXCK3oI= zy?3rYUM2o>N}VbmPDJpMDLdWa=D7O{38oz*4RX#eBgi=u5r_!&eT`|F$T=ffNIZ=s z2;3YqqxVipDLouc(}b#0YbEDQlJtlq2*Lw1V_B9>K|~O20p^_9)g5}GOl3kuo+xm4 z`sl#cT(M!88SajVkR?;3P;z-zfg~Y3kSvG@W$i0w#ux*4$J`h`NS2UzUcvD3&|EpT zBjG{s9W!HHRuYMx`#&=2!vrbL|Zz(9_C% zHlwPv)*gQ@0X1zKXmLZC=TiW*Ra!gSfaYA^Uc$QEYghEuhS36+4zDZ z&~)#&CRFDKGCiDZSlZJfU|C={m{X#>dHW9Kju!XNt6Z}I3oWFU8GbZ8()Nlj2>E@cM*00EFmL_t(I%bk%;ZWKWb zMqgFeR2hcJ^nwLKV#DEb6|Rv>%teq89Dv1y)sTdYyZ+3g(=DNZfbqr)+s~gryPKOE zGc!slTwh;1{xd?15i{e`2r))_@3ht~0{9psAq0kDxCr15hl7<;IG@iPk4F}u_a5h- zTViJP-l?^cb0#?F*5()^B7%tEy~lh14A6V0_l~O09xOyNV;BZfN~Dz7Y&JOOeoB|JVp0#HgJ=e*wbFJCC75Z-?L08`R;t_Alm|+oEPL zO%N-ibA&hV-XlDq_B5=DrZf-q@0{+>=zT%@2E?NecXQkM2O>uJ^7#|u9I_QihHS1t uzk%!#*)zVrf*c^F`P9@P2Xq_IGVv4lmIkj%1geh!0000WFU8GbZ8()Nlj2>E@cM*00FK^L_t(I%bk(IZWS>M zMUOq1iOZwyED&OYg!oEUtocAH_yAOuZYXW(WG0EtVhX4#5~AK@Vc+ZH8#({*G6>je z<<0wV!hcqprc8w61W&0n-M9!@IDf_qSFrPt27ZU{oH^`9B^+DUhJ3lTxrId&KYe1I$1xj3#=J^=_Rx+g=?~USI-CV%7-fuSS`QD=h ztQB&h)F54a`3iQxl48FS&w|HD(dgtJiNaZYgmuE`^fwF7WSM z-7J)wiunkpl-uilZ25s%kUoDp!$h!yK@My@fpQ6UirFdiixb!q literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_right_side_red.png b/textures/lrfurn_sofa_right_side_red.png new file mode 100644 index 0000000000000000000000000000000000000000..78479473b73cdb714cf8c26aa58f18ef7be4d497 GIT binary patch literal 568 zcmV-80>}M{P)WFU8GbZ8()Nlj2>E@cM*00EpyL_t(I%bk)zjuSBu zMW5Z(?FvaIy#R>~8&1J-I0g%rToJ(mSj?~rlc2b}Y!{18NJa=DrlgV=-~U(rZ-L@1>^PoV2MLai_UcYGs}#POu30)eplkuu`S(dqRxd?%;s8 zhM56iW=Ly|OUD?wWYUQcLU>}s-SHT4cjRnaYORD2sI}5sqt;3(Wg-7%gHj6RJXFl= zO01Q6o*@Lx?4KEwT9Ij|Hx}GdIRpRz03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00FW|L_t(I%bk)va#S%8 zgujvWo@TumZ$MEb1aKCPLr%sOI15#rfICod00KjTvCXcYer5>XVxSB~;R&Rm)jiYG zl2;GkIykj8UVM2b{AZ;(&$t=p&Rr_yIWuf9%j8@07{F|~p~YX9CrADy&6>~V+Q8?`lHPwSNsB7gdp&M}2P zXssb{o{nv>2yegfU1DWE_6W=&Q65%=??C=d$Cw+MT4i!PS3fa-=K9tX(XQ-aBdvG6Wf}B^Yc|c8+ cZKAY=?_#F>{hk@R{{R3007*qoM6N<$f+aii0ssI2 literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_right_side_white.png b/textures/lrfurn_sofa_right_side_white.png new file mode 100644 index 0000000000000000000000000000000000000000..38b47e268a18b28872353f8ba20a2fb9962b189a GIT binary patch literal 561 zcmV-10?z%3P)}9Vl~}g0KJp03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00EUrL_t(I%bk(Ek`ply zgg^c4YQXrs0RagCem)+LSD_#`!I{XM4_n%iMg)5{KX(+xO)^#L>7MS9+wFE8Kvmgp zw~qg;m{P*b=)LotisLw9W|-Nt1pGLT#25)7JWIfpQhKeG)9J*1zh@W*LI`;8aqjU+ zdheJStu<7Y=$yL_4#R+mkWwOqz^~Ya+zq_x{?w_r!UgX{}Lfy=JSm;+*@dgUhU$5zpr{y?0cV z)*ACXor@g^~vpjx=>ZzhxhL~MLEnF^o*>9X+0q#ux}iWXYx@I8$dky{%#pNe@CPfKY#j&IESnR zQb&dx$X`J=h-{c%-@qIpr6p==Fh}w#lC|&yzM}$Z)g#uf00000NkvXXu0mjf_XqKP literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_right_side_yellow.png b/textures/lrfurn_sofa_right_side_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..f53d690d2c0d70f28c7c88e8fe52bc2e6d72067c GIT binary patch literal 519 zcmV+i0{H!jP)_5+W1c-@O0;03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00C=BL_t(I%bk+Da@#Nv zMGvSYv56v!MG7}Aq7TmB< z;6F=Zgi@eZt}5v|2b6Lhpy@ggfz|3dKp01A&hY#U`#rR+!m1Uy?&5Wo;x{iZC-dyYQe3cFc_t#49W>4PY#NYh zazM`K-Ewx}-yAHnrGN~B6H{{WG`TpXe`heyF9128cgy+m?XO*=1oHXg2N)BF$si5r zM(H;_s*0KYsT?cB;3r`95$XH40H{UGHr}wp;rIa4>8+}w@4Saq7!yRpQbiuV?LpV5 zH0ZK$45;?MVY+?ey|Bh=^#Hm|9|CfFw?lct>Pc*d#pr_agTryajtMO-XoEdH`q=Oj z)rx%m@(B$AT`REGYLB>sB>8fTaUTML#(egThW$o(^Ynj-)J002ov JPDHLkV1k8S+xq|j literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_right_top_black.png b/textures/lrfurn_sofa_right_top_black.png new file mode 100644 index 0000000000000000000000000000000000000000..5f3e97cb380f7ee48f72413ef55135496186c6b1 GIT binary patch literal 436 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)3$v&gQ?8YyJWxnBGbEzKIX^cyHLnE7WngeFN=+Lygzhype170eLYhEmELYK?s`na8V;FwkVREriPFz)Wdye9&U!F-OGjDo5 z*p@3WQB+0g*C+STgJ|5h^g_#-{)P03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00BrzL_t(I%cYZBZW}QS zMGq+|WA7$Q?(Vz;7asA^4~^`plYA5j z3_uuTU{%G;qEJ;@Ynb&X;JXX}_I=E|6EIyw5YeOlwf+srX``p!J>E#WO9kKy3R0Lu&}B##LT+{Yo<&vOtF zLUnfx)>bHL)Z$ zMWH;iBtya7(>EYRFO{8vfzjR5#WBR<^wLR=eUA-zSh|<+sPCVt|1SG;GsDIs&*Vg` z=bd@7A%dxiZwc4hwA8q%PawI=ivz zS)zGCc*0!`(Y5`3i5VRH^Czfl*r*+N6H%(wzrMmE_e4(ASL&I-tOT`PKq zC#{aTpnQk*w_5fFJ^{hM?krow&V1$(+?l#y6$3+Ptx-ouV5ke*0ZA2ZMhDHM^L^7@ z8amwGKmWV+e~+-B#oX(qYwMmrzCY>zCbs7POdn&5T=ww1J*WQ8uC4grJod7^tv&86 zN6xr$XI7q{UoxR`(JK868e zUPMZ%F|*)T$t~B|9MqOhS;$q)}R3M MboFyt=akR{0Q+L1LjV8( literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_right_top_orange.png b/textures/lrfurn_sofa_right_top_orange.png new file mode 100644 index 0000000000000000000000000000000000000000..7672213db08195feed1c8a6bcf4136618aa99d49 GIT binary patch literal 521 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)3yYA5*j>NIJ3t}X%#er@=ltB<)VvZPmw~~#C^fMp zHASI3vm`^o-P1Q9MK6_|fq^mC)5S5w;`G$Xk&|v4@VLl31Z>Kmto^*eGtXd~tIp2_ zPf~46L!0$ib>x{!`F7sle`8H*1_5U|UEdScJN{M6sY7L{w5(l3#FMd_GG2(fN zU13!C6{%I9oQw{-Ru$~M`+%uzzfQ(pps3$-}hO&$Q!_d`&eT zzcVvKgZ8ZYA?TPkX{OEk&xVD2QyJ#{;?hxCp;Ht->A2+>^a@(&JQWd38t$S|{W z_xbGxHOGvUUZj25x><*NujD0>i8I@igGEnrEU#P~d3al{f>w%3+ObVKYhHW3mo=Wv zq9oH;Tz;#dEwAIm7YFao4(kP(htFi3eYW`?r_pD-rX3Ck>s_wOeP0kf`3NXRJYD@< J);T3K0RR*y)#CsF literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_right_top_red.png b/textures/lrfurn_sofa_right_top_red.png new file mode 100644 index 0000000000000000000000000000000000000000..7660cb20d73bf03ff2ed4ff60e48a00de69c920b GIT binary patch literal 424 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)3k$2VUX7AYGf+r2GbEzKIX^cyHLnE7WngeFN=+XuLRUCP4z*JDnl z>Eg1kmOqSkF$UB6KU<#dS)ci+cvgk9dzR)3j*brrGhNiq&P|=S^7_U?nM(V)5^agB zG7%|BX&iT$yfk^X#xeMdFx=R5hbe?5^zM0O2Ept;j#&=h680B_{IyeSN>fXTQ>ZsN z>$7V=TgQUc6`TTsE=TNc{%5p$GIP=HJ+I!Su;fgT75iAizbm|4UFieI5!vkA+IjIg zi*^T}%~|TU;mqfKiL0u3Iu87fH!xza2bmN|unH>|p(bd786MHi0+UmX7}SaANG^m*YgN1ZpGmIVcv Mr>mdKI;Vst0H5Qb5dZ)H literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_right_top_violet.png b/textures/lrfurn_sofa_right_top_violet.png new file mode 100644 index 0000000000000000000000000000000000000000..6cf390c44448b98e41886e65f2e8a824351f68de GIT binary patch literal 527 zcmV+q0`UEbP)|I{<_;!&v|T03B&m zSad^gZEa<4bN~PV002XBWnpw>WFU8GbZ8()Nlj2>E@cM*00DDJL_t(I%cYY+l2b7Z zM4x2+gm4;e&7IgY+#p51B{d8GBr_Fe1Fo{GY|E`yw`||P{m|TZuGinZ{rbsi+lUdk z4=^yEL&wrxWF`BYgtRUsaoRR6U%qlWpNKKQ9J42cBv6x8?6)1b63`F)7{U2`;&QnV zTYwq0=e`&q0pLCuV=y9!EpQtzHMCa3u?Ic|fy5oej78fGw}HFCyAqI~ zeVv(MfJ>`39Wi#NZG3#pu{Ut+p^Z!8KL2HScl|Gb=zao7I@ErO`#}ROH}3J#)wBxr zUCc%;S_M78^yxxdt`Zt953 zN+PpBqN~{F1g^~7aUa-UL=(qf$YRb(%sBz5YPJZrI1$@M#9+8%=Bp`iGRR7*i$6FsEPk?C Rbawy%002ovPDHLkV1j*{*>wN_ literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_right_top_white.png b/textures/lrfurn_sofa_right_top_white.png new file mode 100644 index 0000000000000000000000000000000000000000..4a3e73b54f09717774a9648894bd4e6e7b100f2a GIT binary patch literal 430 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)3#+)i`1ez1`GG>RnIRD+&iT2ysd*(pE(3#eQEFmI zYKlU6W=V#EyQgnJie4%^0|TRwr;B5V#p$J!@AkDS@U$#n>Qei^{R^)TOWV6v&2G8# zN7Hs*{PKM9Tpp)O-kKJD%)j?3Kku0$6e6nB^t`bA%RNV-tzk2E_q&{ve7!3vQf$c- z1ts&2-G}cw3O%o6V#ryxe98tL?rpiw=YGCs*&4?1W3IxofY2pV64IDIm@zU;30ilH zW7qGDj=%G*j{Gx@NY`qZSaI)PPc1{*iTJ*6_x|&9c)a;3^2Ybb52=%iej-QeIli%+ zQQ!_g%a^@&Z(`?;$zbzC zCu3lPMr1qGX@tDnm{r-UW|e*vii literal 0 HcmV?d00001 diff --git a/textures/lrfurn_sofa_right_top_yellow.png b/textures/lrfurn_sofa_right_top_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..d1c8df88477a2af44c633c5813848a8b1afcdbe3 GIT binary patch literal 403 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)3#+gMgH2%BWuTC3W=KSdbAE1aYF-JD%fR4Vl$uzQ znxasiS(2gP?&%wlqL<1J6#wq&;uvCadhX;{p+g27Ez|#m?ESB}x6xSb!Vib*7oy~+ zNG{XljBm_4!n4@)!AFL7%sUu!x7+0)+TGfZB&;o2W_ zIo)~2%wF$<=Y`C8Raw-sBF`&j(#?