From 4a5f4b4f05f4cf99a1c0483b487f15e2d0f06af6 Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Fri, 18 Jul 2014 19:37:08 -0400 Subject: [PATCH] import lrfurn mod --- lrfurn/README.txt | 85 +++++++ lrfurn/armchairs.lua | 94 ++++++++ lrfurn/coffeetable.lua | 123 ++++++++++ lrfurn/depends.txt | 2 + lrfurn/endtable.lua | 60 +++++ lrfurn/init.lua | 5 + lrfurn/longsofas.lua | 218 ++++++++++++++++++ lrfurn/sofas.lua | 162 +++++++++++++ .../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 lrfurn/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 lrfurn/textures/lrfurn_armchair_top_black.png | Bin 0 -> 423 bytes lrfurn/textures/lrfurn_armchair_top_blue.png | Bin 0 -> 536 bytes lrfurn/textures/lrfurn_armchair_top_green.png | Bin 0 -> 526 bytes lrfurn/textures/lrfurn_armchair_top_grey.png | Bin 0 -> 480 bytes .../textures/lrfurn_armchair_top_orange.png | Bin 0 -> 570 bytes lrfurn/textures/lrfurn_armchair_top_red.png | Bin 0 -> 532 bytes .../textures/lrfurn_armchair_top_violet.png | Bin 0 -> 571 bytes lrfurn/textures/lrfurn_armchair_top_white.png | Bin 0 -> 463 bytes .../textures/lrfurn_armchair_top_yellow.png | Bin 0 -> 422 bytes lrfurn/textures/lrfurn_coffeetable_back.png | Bin 0 -> 709 bytes lrfurn/textures/lrfurn_coffeetable_front.png | Bin 0 -> 699 bytes .../lrfurn_longsofa_middle_front_black.png | Bin 0 -> 527 bytes .../lrfurn_longsofa_middle_front_blue.png | Bin 0 -> 563 bytes .../lrfurn_longsofa_middle_front_green.png | Bin 0 -> 550 bytes .../lrfurn_longsofa_middle_front_grey.png | Bin 0 -> 524 bytes .../lrfurn_longsofa_middle_front_orange.png | Bin 0 -> 573 bytes .../lrfurn_longsofa_middle_front_red.png | Bin 0 -> 562 bytes .../lrfurn_longsofa_middle_front_violet.png | Bin 0 -> 587 bytes .../lrfurn_longsofa_middle_front_white.png | Bin 0 -> 530 bytes .../lrfurn_longsofa_middle_front_yellow.png | Bin 0 -> 505 bytes .../lrfurn_longsofa_middle_top_black.png | Bin 0 -> 387 bytes .../lrfurn_longsofa_middle_top_blue.png | Bin 0 -> 422 bytes .../lrfurn_longsofa_middle_top_green.png | Bin 0 -> 421 bytes .../lrfurn_longsofa_middle_top_grey.png | Bin 0 -> 378 bytes .../lrfurn_longsofa_middle_top_orange.png | Bin 0 -> 445 bytes .../lrfurn_longsofa_middle_top_red.png | Bin 0 -> 431 bytes .../lrfurn_longsofa_middle_top_violet.png | Bin 0 -> 465 bytes .../lrfurn_longsofa_middle_top_white.png | Bin 0 -> 382 bytes .../lrfurn_longsofa_middle_top_yellow.png | Bin 0 -> 361 bytes lrfurn/textures/lrfurn_sofa_back_black.png | Bin 0 -> 403 bytes lrfurn/textures/lrfurn_sofa_back_blue.png | Bin 0 -> 405 bytes lrfurn/textures/lrfurn_sofa_back_green.png | Bin 0 -> 403 bytes lrfurn/textures/lrfurn_sofa_back_grey.png | Bin 0 -> 403 bytes lrfurn/textures/lrfurn_sofa_back_orange.png | Bin 0 -> 401 bytes lrfurn/textures/lrfurn_sofa_back_red.png | Bin 0 -> 405 bytes lrfurn/textures/lrfurn_sofa_back_violet.png | Bin 0 -> 406 bytes lrfurn/textures/lrfurn_sofa_back_white.png | Bin 0 -> 404 bytes lrfurn/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 .../lrfurn_sofa_left_front_orange.png | Bin 0 -> 592 bytes .../textures/lrfurn_sofa_left_front_red.png | Bin 0 -> 586 bytes .../lrfurn_sofa_left_front_violet.png | Bin 0 -> 614 bytes .../textures/lrfurn_sofa_left_front_white.png | Bin 0 -> 552 bytes .../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 lrfurn/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 lrfurn/textures/lrfurn_sofa_left_top_blue.png | Bin 0 -> 480 bytes .../textures/lrfurn_sofa_left_top_green.png | Bin 0 -> 489 bytes lrfurn/textures/lrfurn_sofa_left_top_grey.png | Bin 0 -> 424 bytes .../textures/lrfurn_sofa_left_top_orange.png | Bin 0 -> 524 bytes lrfurn/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 .../lrfurn_sofa_right_front_black.png | Bin 0 -> 562 bytes .../textures/lrfurn_sofa_right_front_blue.png | Bin 0 -> 596 bytes .../lrfurn_sofa_right_front_green.png | Bin 0 -> 582 bytes .../textures/lrfurn_sofa_right_front_grey.png | Bin 0 -> 556 bytes .../lrfurn_sofa_right_front_orange.png | Bin 0 -> 597 bytes .../textures/lrfurn_sofa_right_front_red.png | Bin 0 -> 588 bytes .../lrfurn_sofa_right_front_violet.png | Bin 0 -> 622 bytes .../lrfurn_sofa_right_front_white.png | Bin 0 -> 565 bytes .../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 .../lrfurn_sofa_right_side_orange.png | Bin 0 -> 586 bytes .../textures/lrfurn_sofa_right_side_red.png | Bin 0 -> 568 bytes .../lrfurn_sofa_right_side_violet.png | Bin 0 -> 590 bytes .../textures/lrfurn_sofa_right_side_white.png | Bin 0 -> 561 bytes .../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 lrfurn/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 109 files changed, 749 insertions(+) create mode 100644 lrfurn/README.txt create mode 100644 lrfurn/armchairs.lua create mode 100644 lrfurn/coffeetable.lua create mode 100644 lrfurn/depends.txt create mode 100644 lrfurn/endtable.lua create mode 100644 lrfurn/init.lua create mode 100644 lrfurn/longsofas.lua create mode 100644 lrfurn/sofas.lua create mode 100644 lrfurn/textures/lrfurn_armchair_front_black.png create mode 100644 lrfurn/textures/lrfurn_armchair_front_blue.png create mode 100644 lrfurn/textures/lrfurn_armchair_front_green.png create mode 100644 lrfurn/textures/lrfurn_armchair_front_grey.png create mode 100644 lrfurn/textures/lrfurn_armchair_front_orange.png create mode 100644 lrfurn/textures/lrfurn_armchair_front_red.png create mode 100644 lrfurn/textures/lrfurn_armchair_front_violet.png create mode 100644 lrfurn/textures/lrfurn_armchair_front_white.png create mode 100644 lrfurn/textures/lrfurn_armchair_front_yellow.png create mode 100644 lrfurn/textures/lrfurn_armchair_top_black.png create mode 100644 lrfurn/textures/lrfurn_armchair_top_blue.png create mode 100644 lrfurn/textures/lrfurn_armchair_top_green.png create mode 100644 lrfurn/textures/lrfurn_armchair_top_grey.png create mode 100644 lrfurn/textures/lrfurn_armchair_top_orange.png create mode 100644 lrfurn/textures/lrfurn_armchair_top_red.png create mode 100644 lrfurn/textures/lrfurn_armchair_top_violet.png create mode 100644 lrfurn/textures/lrfurn_armchair_top_white.png create mode 100644 lrfurn/textures/lrfurn_armchair_top_yellow.png create mode 100644 lrfurn/textures/lrfurn_coffeetable_back.png create mode 100644 lrfurn/textures/lrfurn_coffeetable_front.png create mode 100644 lrfurn/textures/lrfurn_longsofa_middle_front_black.png create mode 100644 lrfurn/textures/lrfurn_longsofa_middle_front_blue.png create mode 100644 lrfurn/textures/lrfurn_longsofa_middle_front_green.png create mode 100644 lrfurn/textures/lrfurn_longsofa_middle_front_grey.png create mode 100644 lrfurn/textures/lrfurn_longsofa_middle_front_orange.png create mode 100644 lrfurn/textures/lrfurn_longsofa_middle_front_red.png create mode 100644 lrfurn/textures/lrfurn_longsofa_middle_front_violet.png create mode 100644 lrfurn/textures/lrfurn_longsofa_middle_front_white.png create mode 100644 lrfurn/textures/lrfurn_longsofa_middle_front_yellow.png create mode 100644 lrfurn/textures/lrfurn_longsofa_middle_top_black.png create mode 100644 lrfurn/textures/lrfurn_longsofa_middle_top_blue.png create mode 100644 lrfurn/textures/lrfurn_longsofa_middle_top_green.png create mode 100644 lrfurn/textures/lrfurn_longsofa_middle_top_grey.png create mode 100644 lrfurn/textures/lrfurn_longsofa_middle_top_orange.png create mode 100644 lrfurn/textures/lrfurn_longsofa_middle_top_red.png create mode 100644 lrfurn/textures/lrfurn_longsofa_middle_top_violet.png create mode 100644 lrfurn/textures/lrfurn_longsofa_middle_top_white.png create mode 100644 lrfurn/textures/lrfurn_longsofa_middle_top_yellow.png create mode 100644 lrfurn/textures/lrfurn_sofa_back_black.png create mode 100644 lrfurn/textures/lrfurn_sofa_back_blue.png create mode 100644 lrfurn/textures/lrfurn_sofa_back_green.png create mode 100644 lrfurn/textures/lrfurn_sofa_back_grey.png create mode 100644 lrfurn/textures/lrfurn_sofa_back_orange.png create mode 100644 lrfurn/textures/lrfurn_sofa_back_red.png create mode 100644 lrfurn/textures/lrfurn_sofa_back_violet.png create mode 100644 lrfurn/textures/lrfurn_sofa_back_white.png create mode 100644 lrfurn/textures/lrfurn_sofa_back_yellow.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_front_black.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_front_blue.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_front_green.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_front_grey.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_front_orange.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_front_red.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_front_violet.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_front_white.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_front_yellow.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_side_black.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_side_blue.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_side_green.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_side_grey.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_side_orange.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_side_red.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_side_violet.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_side_white.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_side_yellow.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_top_black.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_top_blue.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_top_green.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_top_grey.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_top_orange.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_top_red.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_top_violet.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_top_white.png create mode 100644 lrfurn/textures/lrfurn_sofa_left_top_yellow.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_front_black.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_front_blue.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_front_green.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_front_grey.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_front_orange.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_front_red.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_front_violet.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_front_white.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_front_yellow.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_side_black.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_side_blue.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_side_green.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_side_grey.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_side_orange.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_side_red.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_side_violet.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_side_white.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_side_yellow.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_top_black.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_top_blue.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_top_green.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_top_grey.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_top_orange.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_top_red.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_top_violet.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_top_white.png create mode 100644 lrfurn/textures/lrfurn_sofa_right_top_yellow.png diff --git a/lrfurn/README.txt b/lrfurn/README.txt new file mode 100644 index 00000000..de8ee8d3 --- /dev/null +++ b/lrfurn/README.txt @@ -0,0 +1,85 @@ +Living Room Furniture (lrfurn) mod for Minetest + + +by thefamilygrog66 + +Description: +Coloured Long Sofas (3 blocks wide), Sofas (2 blocks wide), 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 long sofa, 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: + + Long Sofa + + +---------------+---------------+---------------+ + | coloured wool | coloured wool | coloured wool | + +---------------+---------------+---------------+ + | wood slab | wood slab | wood slab | + +---------------+---------------+---------------+ + | stick | stick | stick | + +---------------+---------------+---------------+ + + Sofa + + +---------------+---------------+-------+ + | coloured wool | coloured wool | | + +---------------+---------------+-------+ + | wood slab | wood slab | | + +---------------+---------------+-------+ + | stick | stick | | + +---------------+---------------+-------+ + + Armchair + + +---------------+-------+-------+ + | coloured wool | | | + +---------------+-------+-------+ + | wood slab | | | + +---------------+-------+-------+ + | 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/lrfurn/armchairs.lua b/lrfurn/armchairs.lua new file mode 100644 index 00000000..d69d255a --- /dev/null +++ b/lrfurn/armchairs.lua @@ -0,0 +1,94 @@ +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, "", "", }, + {"stairs:slab_wood", "", "", }, + {"default:stick", "", "", } + } + }) + + minetest.register_craft({ + output = "lrfurn:armchair_"..colour, + recipe = { + {"wool:"..colour, "", "", }, + {"moreblocks:slab_wood", "", "", }, + {"default:stick", "", "", } + } + }) + + minetest.register_craft({ + output = "lrfurn:armchair_"..colour, + recipe = { + {"wool:"..colour, "", "", }, + {"group:wood_slab", "", "", }, + {"default:stick", "", "", } + } + }) + +end + +if minetest.setting_get("log_mods") then + minetest.log("action", "armchairs loaded") +end diff --git a/lrfurn/coffeetable.lua b/lrfurn/coffeetable.lua new file mode 100644 index 00000000..57e78078 --- /dev/null +++ b/lrfurn/coffeetable.lua @@ -0,0 +1,123 @@ +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", } + } +}) + +minetest.register_craft({ + output = "lrfurn:coffeetable", + recipe = { + {"", "", "", }, + {"moreblocks:slab_wood", "moreblocks:slab_wood", "moreblocks:slab_wood", }, + {"default:stick", "", "default:stick", } + } +}) + +minetest.register_craft({ + output = "lrfurn:coffeetable", + recipe = { + {"", "", "", }, + {"group:wood_slab", "group:wood_slab", "group:wood_slab", }, + {"default:stick", "", "default:stick", } + } +}) + +if minetest.setting_get("log_mods") then + minetest.log("action", "coffeetable loaded") +end diff --git a/lrfurn/depends.txt b/lrfurn/depends.txt new file mode 100644 index 00000000..470ec30b --- /dev/null +++ b/lrfurn/depends.txt @@ -0,0 +1,2 @@ +default +wool diff --git a/lrfurn/endtable.lua b/lrfurn/endtable.lua new file mode 100644 index 00000000..45b49aec --- /dev/null +++ b/lrfurn/endtable.lua @@ -0,0 +1,60 @@ +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", "", } + } +}) + +minetest.register_craft({ + output = "lrfurn:endtable", + recipe = { + {"", "", "", }, + {"moreblocks:slab_wood", "moreblocks:slab_wood", "", }, + {"default:stick", "default:stick", "", } + } +}) + +minetest.register_craft({ + output = "lrfurn:endtable", + recipe = { + {"", "", "", }, + {"group:wood_slab", "group:wood_slab", "", }, + {"default:stick", "default:stick", "", } + } +}) + +if minetest.setting_get("log_mods") then + minetest.log("action", "endtable loaded") +end diff --git a/lrfurn/init.lua b/lrfurn/init.lua new file mode 100644 index 00000000..a54b9233 --- /dev/null +++ b/lrfurn/init.lua @@ -0,0 +1,5 @@ +dofile(minetest.get_modpath("lrfurn").."/longsofas.lua") +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/lrfurn/longsofas.lua b/lrfurn/longsofas.lua new file mode 100644 index 00000000..23edfdde --- /dev/null +++ b/lrfurn/longsofas.lua @@ -0,0 +1,218 @@ +local longsofas_list = { + { "Red Long Sofa", "red"}, + { "Orange Long Sofa", "orange"}, + { "Yellow Long Sofa", "yellow"}, + { "Green Long Sofa", "green"}, + { "Blue Long Sofa", "blue"}, + { "Violet Long Sofa", "violet"}, + { "Black Long Sofa", "black"}, + { "Grey Long Sofa", "grey"}, + { "White Long Sofa", "white"}, +} + +for i in ipairs(longsofas_list) do + local longsofadesc = longsofas_list[i][1] + local colour = longsofas_list[i][2] + + minetest.register_node("lrfurn:longsofa_right_"..colour, { + description = longsofadesc, + 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, 2.5}, + } + }, + + on_construct = function(pos) + local node = minetest.env:get_node(pos) + local param2 = node.param2 + node.name = "lrfurn:longsofa_middle_"..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) + node.name = "lrfurn:longsofa_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 + 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:longsofa_middle_"..colour ) then + if( minetest.env:get_node({x=pos.x, y=pos.y, z=pos.z}).param2 == param2 ) then + minetest.env:remove_node(pos) + 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:longsofa_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 + 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:longsofa_middle_"..colour, { + drawtype = "nodebox", + tiles = {"lrfurn_longsofa_middle_top_"..colour..".png", "lrfurn_coffeetable_back.png", "lrfurn_longsofa_middle_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.03125, -0.375, -0.375, 0.03125}, + {0.375, -0.5, -0.03125, 0.4375, -0.375, 0.03125}, + + --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}, + } + }, + selection_box = { + type = "fixed", + fixed = { + {0, 0, 0, 0, 0, 0}, + } + }, + }) + + minetest.register_node("lrfurn:longsofa_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:longsofa_"..colour, "lrfurn:longsofa_right_"..colour) + + minetest.register_craft({ + output = "lrfurn:longsofa_"..colour, + recipe = { + {"wool:"..colour, "wool:"..colour, "wool:"..colour, }, + {"stairs:slab_wood", "stairs:slab_wood", "stairs:slab_wood", }, + {"default:stick", "default:stick", "default:stick", } + } + }) + + minetest.register_craft({ + output = "lrfurn:longsofa_"..colour, + recipe = { + {"wool:"..colour, "wool:"..colour, "wool:"..colour, }, + {"moreblocks:slab_wood", "moreblocks:slab_wood", "moreblocks:slab_wood", }, + {"default:stick", "default:stick", "default:stick", } + } + }) + + minetest.register_craft({ + output = "lrfurn:longsofa_"..colour, + recipe = { + {"wool:"..colour, "wool:"..colour, "wool:"..colour, }, + {"group:wood_slab", "group:wood_slab", "group:wood_slab", }, + {"default:stick", "default:stick", "default:stick", } + } + }) + +end + +if minetest.setting_get("log_mods") then + minetest.log("action", "long sofas loaded") +end diff --git a/lrfurn/sofas.lua b/lrfurn/sofas.lua new file mode 100644 index 00000000..a7edd308 --- /dev/null +++ b/lrfurn/sofas.lua @@ -0,0 +1,162 @@ +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, "", }, + {"stairs:slab_wood", "stairs:slab_wood", "", }, + {"default:stick", "default:stick", "", } + } + }) + + minetest.register_craft({ + output = "lrfurn:sofa_"..colour, + recipe = { + {"wool:"..colour, "wool:"..colour, "", }, + {"moreblocks:slab_wood", "moreblocks:slab_wood", "", }, + {"default:stick", "default:stick", "", } + } + }) + + minetest.register_craft({ + output = "lrfurn:sofa_"..colour, + recipe = { + {"wool:"..colour, "wool:"..colour, "", }, + {"group:wood_slab", "group:wood_slab", "", }, + {"default:stick", "default:stick", "", } + } + }) + +end + +if minetest.setting_get("log_mods") then + minetest.log("action", "sofas loaded") +end diff --git a/lrfurn/textures/lrfurn_armchair_front_black.png b/lrfurn/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/lrfurn/textures/lrfurn_armchair_front_green.png b/lrfurn/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/lrfurn/textures/lrfurn_armchair_front_grey.png b/lrfurn/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/lrfurn/textures/lrfurn_armchair_front_red.png b/lrfurn/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/lrfurn/textures/lrfurn_armchair_front_white.png b/lrfurn/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/lrfurn/textures/lrfurn_armchair_top_black.png b/lrfurn/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/lrfurn/textures/lrfurn_armchair_top_blue.png b/lrfurn/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/lrfurn/textures/lrfurn_armchair_top_orange.png b/lrfurn/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/lrfurn/textures/lrfurn_armchair_top_red.png b/lrfurn/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/lrfurn/textures/lrfurn_armchair_top_white.png b/lrfurn/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/lrfurn/textures/lrfurn_longsofa_middle_front_black.png b/lrfurn/textures/lrfurn_longsofa_middle_front_black.png new file mode 100644 index 0000000000000000000000000000000000000000..242cc33887cfae26128224520e776f69c02de0dc GIT binary patch literal 527 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)i!6hRp2W_CT|gn(%#er@=ltB<)VvZPmw~~#C^fMp zHASI3vm`^o-P1Q9MK6_|fq}8u)5S5w;&kt%vwgyb0xkBpZFe}|IO|dH;7}|3V&?&H-daLC^Cj%@kzt;bA!89cl?=NRw4+m|SjH*3KZrVTy<$tp`*Iuw+SNURt7 zas|{_ z?AFP7y5{xmG=&z2o{vS`noGNN{`4lWuFt<|w9fvH(ZQQX&dPexuoCA z-9xwOVP;wyI^)VUG2!RRCVzuiCVRxqCQ P2gQr0tDnm{r-UW|+`HRz literal 0 HcmV?d00001 diff --git a/lrfurn/textures/lrfurn_longsofa_middle_front_blue.png b/lrfurn/textures/lrfurn_longsofa_middle_front_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..a53b1f7fcbcd9bb6744d44ea8212a91173e3d73f GIT binary patch literal 563 zcmV-30?hr1P)WFU8GbZ8()Nlj2>E@cM*00EatL_t(I%Z-vvauY!e zg+Fy`(lW;JELgB%0q5fY9E___Z~zt|D-#FYGyNkLGfpZC2W!(+Ej>x^JxNMmd>E7% zl@J0V!fWB~^xkQ$Qc6XKK{4Bq(hV^xB7sXi+`)YTPty#X&={4J5}S=N39=GA}{XY40iVwEbAX=@0Hd-61j6Y-oZSr91MHA`XcdX5&*c z+i#YfY{~90O>k2gMbP&jK4CnPeFf)CPH6%3-yDu7^08oj01M>Dho$WF2Qx>1eE)`t zU|WOa*l-K^9&C@0@?kEP)WFU8GbZ8()Nlj2>E@cM*00D|gL_t(I%Z-w|a#KMJ zhQHm_W@U`yGXn(;4Nt`r@KHG1!iK9Ii+Ii$l)5>7k4ccj+E zkX9Qp-KJ>tLF;WXvD_7sEGDLuh%ug{3}KPu?&kOPu9jX{W9~4|aMzeZ zKt6o@gz}8}aoG$jWmy=H?Dj9%zM><8M(p`%8GHGSsw3aOeMLh+*9yhad=K^ubc^bi o>HR$%1WH+?mJSEO)`HcUKiR|ZO>dx5g#Z8m07*qoM6N<$g7OsNRR910 literal 0 HcmV?d00001 diff --git a/lrfurn/textures/lrfurn_longsofa_middle_front_grey.png b/lrfurn/textures/lrfurn_longsofa_middle_front_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..64ecd9af0029145b3cd0892ef63f0dd730953448 GIT binary patch literal 524 zcmV+n0`vWeP)WFU8GbZ8()Nlj2>E@cM*00D4GL_t(I%axJ4a@#-* zMbGYnTquex7B1Yl$>*lg*Lji;Na3VXEN28R_mP4klS!drFtf7-fQyR*cRHO~-}i_J z-g}&L+>6#4wN`S@q?C}p?@?7$74JRX`?~_QR%)%782}<8s4BbN4iVYpAm$*keu@hB!sY8z|3X_DWw(2|DJK0CPY;UA<%W* zA22teMQj1L*sitWoWpyMEc8PN>syll-v96Et+g3qDFp!M+*+{3LC%>{3iAB&8ODio zGMKLDK^YDMs=C5mV{8!J`~%kBkYV@$fLg@tFej{XzPv&jZ{!sHIOnhi;{?&LsUff5 zzJu;j@#u1a=ujP2F+J|)oZDlq!8k&n8Jt6&ob@?P)WFU8GbZ8()Nlj2>E@cM*00E&%L_t(I%cYXRZj><$ zgugic8!t=SmEgdI3s1?5R^V1hbUC2vD zL`Wo_svvN8MjLFsp=Y{aJHtvrG$WE8C7Hv4_d#7(cmT~y#!A6h5?S^wvov{23B@>v$iyJ388+ZYuy=+sN|t zQseYt-Bv~$=++y2hu-?s4^Mgk(}&*sjL}LV=aY$&$s#04kbcJ*1Vj)X40nbPQc8#j zDp|;y(X3?6WSO_{Hv;z{`5^T~L=Xh(!x>D*h#+7&TyRP%5qtR+2w9xX-|!Sb%nFeAtm(9+jkiE)Hn^-N-bp$_*ZU^57cABd;t^c{oQPP z_=Z`aAFi*kl(4-)32eE5`WfsJvr7)IFJMzBWlAjrHl^;B+E#u5x}fwWe@a|^00000 LNkvXXu0mjfjNj~q literal 0 HcmV?d00001 diff --git a/lrfurn/textures/lrfurn_longsofa_middle_front_red.png b/lrfurn/textures/lrfurn_longsofa_middle_front_red.png new file mode 100644 index 0000000000000000000000000000000000000000..eb74abc42fb8b7ae20cc662cf957eca9d2073f0e GIT binary patch literal 562 zcmV-20?qx2P)WFU8GbZ8()Nlj2>E@cM*00EXsL_t(I%cYV%auhKT zg+EC>RxgXaQw0GD35Vb~oP&!}Z~y}1Xz?0W8vQhZX12^!{m6Zd(PWyC z5b)mPoa5S<8NGLEYt&K@nI?9s+{8FYoP(E0%;;v+)>v}p42Xn4j1k@Kn5JnET$yf0 zDFp|VQV{PwAp|B7L}b`_Nj_k`gBfMD?D@};-aD-|O0D4B>nzktYmMGJvIPQAmId#x zi`pJsa;CP1)Kd5hEVU9=@U;v8TJO|aM~z#3B0|`LS*zUsgqd9`+!T1{@ZKZh{WF3P z0&dG<%VPzb8LhQJypl@o9a;nDF2C$G3TkWA-jUB=-a#%Lmjva6-YWC$jH;4SdLBYH zh;E!fvPWc|-vFQ~lG5#1q|Whl4@+JxDEfBnNCvq;Or&DS{m);ZdsIBSd5#X%`9h|L z-PpN3$qaIao677Q^5NqrlqZs{;FL%)4nY6S@pLAg3fd=7PkMSB*Uo=XHRQ+lZ>V$V zULhJf-9dT)J)nAEet!pxK#ap`Y_JGvFQk(B2k#^GDN;LD+yDRo07*qoM6N<$g4_t} A3IG5A literal 0 HcmV?d00001 diff --git a/lrfurn/textures/lrfurn_longsofa_middle_front_violet.png b/lrfurn/textures/lrfurn_longsofa_middle_front_violet.png new file mode 100644 index 0000000000000000000000000000000000000000..87fc5b6f285ce45acf2b1e556b1750d7f3402b22 GIT binary patch literal 587 zcmV-R0<`^!P)WFU8GbZ8()Nlj2>E@cM*00FN_L_t(I%cYY|ZWJ*P zg}<_E#x)s|^nwK&7H~e!z@3n|3W5W$2&_U95_j9>V$mH4Qi3A!7PjQ)_gsIL_vJ(E zcRMsIDP<549!G4;7*6-j(i*zo?Ks#8`?5!K21$rKZV?d>gYM2UFTgFTSt(`D;c!5A z3L>N@Vi*KO&|61<))q9SOv;(8imD;G3pi5hpimL>D_6qp;ihxuLaEag%Md> zDSuQE!H8fC$K4U>q$Frgias#NIg=!TK-vsOYy%Vn_iawLGxgEI0oh&|@vI2CcYJi@ z^qYP`s(#tj2mif;##Sttb*}_ z%j-Mpb;HIEEKzT+)@ye^F$?s|=TDdjb~Gq~?arWn2Rp~?oayBmEDEKpsTPMtsYj)@ ZnO|ha?~b$kY0m%v002ovPDHLkV1i{S^N|1m literal 0 HcmV?d00001 diff --git a/lrfurn/textures/lrfurn_longsofa_middle_front_white.png b/lrfurn/textures/lrfurn_longsofa_middle_front_white.png new file mode 100644 index 0000000000000000000000000000000000000000..52844fd2ea5fd8d0da2e0d52242a22e9f580387d GIT binary patch literal 530 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)i!7ry+v>1=JAgv6nIRD+&iT2ysd*(pE(3#eQEFmI zYKlU6W=V#EyQgnJie4%^0|R53r;B5V#p&KjXN!al1zPMql}(OW++%K!DQbBB_+y1g z@CODNCUxQVO=Vw=Wz1$rg*R^0)4J-jeOdJ_Sw8k|Lm{UF)&0eN*~ibk*n2r@@sy?` z5`m#XUM&Iz=l)JUa>l?oD!b<~M?;H%hvvqcIUR=gOdK^?6XqSL_UB*}baeS}FJAS< z-sH6Plh&8tFGw+5a;+-#f0WbOsn?|TmZ#*NF!43_j4)Vh3X=I1|6$gWYgV&&tnqiz z+q7ZY<~8|q8K2AC`+ZusML=)U2lFP@J$q8m?)X!1nx(t*-RI@}$098JBu`1+)jXW% z5PH%wzDu5W((HVN+rmaX`HUCloTxMxFM3{4)sk6rbMB(|&!lc9=u9x$De>vYU-lPb zqWyZ39(-3HPWAadd*`!lDaI1+6~U5ooZrdYEwY*XmUWJ??uKh0OQ)%^a&TFQ4ynmk{WFU8GbZ8()Nlj2>E@cM*00CV|L_t(I%Z-!Ga@#Nr zgg;793CDG;Ll3$1(7bWpEuFUa9@3oLI2l8tMCJf9BhR$9Im6KpuuJR$43CeLu7kFP zrhyPRyGntaVV)r+kgfw&h|x(x_&-T0zULW+!T(9yI(W5$uDh;+l>9vusgy6X+U1;0WS@;)01=nv`GS(BWso=xJUk~44NbE*~bU-&szv)p`% z0#;s-zP|xLEn>FufMs_3Cm4_IDT;pf7*=3N5DiNOdHVeabd5@b)|z8Lwf`W~?aE_e zjg{g({4~*rfZTn(M|s7{5p0IV=z#o}-Tr{>6Pi2F277(+w8I;!1^M~oI~oGIR)_`d vZo!^Gx2SIEzudwoe&Ya*GmL_*1xo|(;=06AI0a$s00000NkvXXu0mjfiv-oj literal 0 HcmV?d00001 diff --git a/lrfurn/textures/lrfurn_longsofa_middle_top_black.png b/lrfurn/textures/lrfurn_longsofa_middle_top_black.png new file mode 100644 index 0000000000000000000000000000000000000000..45c8561f9df865f4edb45adf41d4e32a8bb56cb0 GIT binary patch literal 387 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)i!37}+Y#HM2|yv)%#er@=ltB<)VvZPmw~~#C^fMp zHASI3vm`^o-P1Q9MK6^dDE{2j#WBR<^xnyLyN)RExcMjDx>Wx1_x{j)ZnJ-HTnh_w z(-S3bG<2LQ|C6*R=XTiLxsNSwe3uneY-w1vXjM;O_R=X%=OoLIyRZl{9ynuQJT3L$ znSiU;BZaR=owO8A-edAMz$GB`S!G&m__NBo*9Y!0zT=ZRa%RS|mus0DKHG3A{wcfQ zCTz#(rTJxg*8YqIayO2@5PLB1N&83Jge_kT7wpZN{olTIxtnD6zbovy+X^>d-L?KF z#|zVMDt?-Of6lx!caE{;^VP!AOQsyEoY%qe&X40ETZX;iu?ogtHo;!{pKcseR$1Dz a`!lnz&#pgjI2jj!!ot(l&t;ucLK6VpcARVg literal 0 HcmV?d00001 diff --git a/lrfurn/textures/lrfurn_longsofa_middle_top_blue.png b/lrfurn/textures/lrfurn_longsofa_middle_top_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..69c88d2ec94b6920fb8c0ba171640fdaa8c7c823 GIT binary patch literal 422 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)i!2j2!`1JNWk4a>%#er@=ltB<)VvZPmw~~#C^fMp zHASI3vm`^o-P1Q9MK6_|fq{|B)5S5w;`GwV(Rs{<9IpHl<&%z0(ur9wUUaVGg)kd$IXg@Fe1_PNsZ)f~eu_Vk zWNxVaE>~Ult*qpW{a0IuY@P?_{2u;WoYur)^Y7u!Yg-q%2Yl$#$nQFLbKhBoN3Lwf zA5$4Pl#;d-GJKtBuXk~;JX3cD^Mea(w=S&Q_r40(B4zycM zH-6PU$;5=Qt}d_W=kAp3-rH}FeXUx0t!w7OWgLeBC#l#Jlt*QYIEEdM(q4YKGjo=K zvCC6=k4Y&i@6P?LV_&eKp`jxo&FAuwpEb*-b-j>go4Dm30~>RZ@hZ(UH_g^4_J$LE zj(ltko6jCD&lh0{bPR2``=aRCByqsMY*$oj;A3SaeP0nXw{G9?u9M-5{%GvF@=ch* za@G&g142J^xoyvtGoCslenG`jO{e?uD&@|Og`L~Gx9nm3z;o(O-;(e9^sX)sEi1n> zchbJpyYeSzV~~lwW`rIp(tthOVRFcKX~6@ Jvd$@?2>^&cqm2Ln literal 0 HcmV?d00001 diff --git a/lrfurn/textures/lrfurn_longsofa_middle_top_grey.png b/lrfurn/textures/lrfurn_longsofa_middle_top_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..c3bd4d5923f754cf7658223be0bfb4b247098b24 GIT binary patch literal 378 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)i!7t1X-?7lTA+|@W=KSdbAE1aYF-JD%fR4Vl$uzQ znxasiS(2gP?&%wlqL<1J6u;-`;uvCadTnqt-w_24nF$ir|95}!+3O&jEck8l#nRik zmuf#KGs;RNX3R?u4_))RD>YIexuv6FrlX6+tlfvtELf$n)FG;=Lm=73i&In8z<9<_ zmV`6|<0o?%8H~aN1(!@Q@D+A>vWYpAm0`uJ&CCpYS9O#$2p+k+Ti)r$`#wjdS9je1 zpV=*zc0cKxvpx4Pv!?&idakEi Q9Y8_g>FVdQ&MBb@04e{HVE_OC literal 0 HcmV?d00001 diff --git a/lrfurn/textures/lrfurn_longsofa_middle_top_orange.png b/lrfurn/textures/lrfurn_longsofa_middle_top_orange.png new file mode 100644 index 0000000000000000000000000000000000000000..854285fb94c4d87671dbfcaf8567630dfea32d6e GIT binary patch literal 445 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)i!7tDda8=qexQ(SW=KSdbAE1aYF-JD%fR4Vl$uzQ znxasiS(2gP?&%wlqL<3fz`&^J>Eak-aeC=w@2bNJJT3K{E9M^la%ykfZElr~f$PTKt5XCW1(<%EX#Htm z>@Pe^cvTVerEcc!$0{Qqut+j6I(n!Y`U`)4=%C3uQJqI=#a5<(wRsG)S8B}?-kDOQ z+2Q5B|Jeh^15x3VmhmcB**XS@hKK|@zI!IX@}T334TEfZ^V_8ka&0$icfMgQS{{&v#mT^F*HcUw0f%@XZPxOyS5 j<~Ae4yS|wlqn`5Lay;?a@lI?%C=@+i{an^LB{Ts5ECZ}h literal 0 HcmV?d00001 diff --git a/lrfurn/textures/lrfurn_longsofa_middle_top_red.png b/lrfurn/textures/lrfurn_longsofa_middle_top_red.png new file mode 100644 index 0000000000000000000000000000000000000000..217a15d40328365de8a1230bab05d6b6483af8d8 GIT binary patch literal 431 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)i!76XRO8~!(||&Fdv#XL~YdRoKW~Nn9|kX_b=F9A)E9j#<`cd$g1;@Lx-OP`CS| zVW0NNh1V{+sGXggI`1c&Rs(~QlWuFF%+9;-c@A$7nxkZ7Xv|_@{Ay$Ksvxh#61y2gKD;q>RBo`ytu6M>-C(PKOz1L+`gCP*}eb$BEK$miG{?fNjuLiV7@Dx&C8dz zbJM2XkKbL9eY3BA(%Dt3eobFs9{FtMGrzMPu~o*&Ow+Du$ktrh;Cn*w literal 0 HcmV?d00001 diff --git a/lrfurn/textures/lrfurn_longsofa_middle_top_violet.png b/lrfurn/textures/lrfurn_longsofa_middle_top_violet.png new file mode 100644 index 0000000000000000000000000000000000000000..d8946bc1f1eec69068ea78277f1b380a54858ac3 GIT binary patch literal 465 zcmV;?0WSWDP)WFU8GbZ8()Nlj2>E@cM*00A{gL_t(I%cYY+a@;Ts z1REf=Th3qdY`@8mu+QFF5y1FBYOTbT%LWHk31l^9ppm`)e$yDi?eoU_$2(@wTgSa& zZW!OC^{7fBgMAD-2DWbX-spYfdcCssj(NlE8zBi)L?-)v2R`XwfPsN~<8s;f_42}Y z*)Vtfq@fT<#0U%+W2c|Q;pQ}NwBG4kr}^TaJd_H6ws*X>37For#5m@LTf_b2@3>Pw zdp7su#|SYSW=z?~%eib>#U8uy)qA>}|13YO9gBQYffnQmfHY@IPb-)NsTSx6%){HC zpK+ZZ1G`j6t06#zN|X{S1JlnSX(mz=zynY!vXYD-+(@r~MmaO6%tJw;DyouwAGqBZ zBkOV7R00000NkvXX Hu0mjfr4_=y literal 0 HcmV?d00001 diff --git a/lrfurn/textures/lrfurn_longsofa_middle_top_white.png b/lrfurn/textures/lrfurn_longsofa_middle_top_white.png new file mode 100644 index 0000000000000000000000000000000000000000..3fa091530fed0286fab9144acdf5b288fedddb54 GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)i!7tA+OZ_dZ$Kg0%#er@=ltB<)VvZPmw~~#C^fMp zHASI3vm`^o-P1Q9MK6^dDE`RP#WBR<^wPYl7wllu2d0yITch&X&oc;HH_s?A4 zASn{QaOTCR>OJhAL(PoOypev8RIjpB#HG%^a-Fg9qT6%jJ+t2i+BipLUy1t3bmj4F U>5E(HR6)Vu>FVdQ&MBb@0CtU*!2kdN literal 0 HcmV?d00001 diff --git a/lrfurn/textures/lrfurn_longsofa_middle_top_yellow.png b/lrfurn/textures/lrfurn_longsofa_middle_top_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..33384cc05a874009cc7177e9a0615181d2096c86 GIT binary patch literal 361 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP)i!2ih-`49J_5p=tGeaUuobz*YQ}arITm}Z`qSVBa z)D(sC%#sWRcTeAd6une-p!iu&7sn8b(`P69^0gRnxXEvI+xuU0Z$szbjhhn!E)|NM z%kuEi{;<~}Q&lzU+=ko@>kRq~cm$X_J|wO^Sm>~Jg0ag)?LwKvd5N<`9wn>g`5yhf zZeNC@ps25~PWPdGp%XU0JI{5-DZryg{J}b=hAH=UKHH$>vhLsS;tl_7Eq*L;v^g{T z``m`zcJm_|>KT4quH`X!c)p>ItM2W>d+FI*Zbn`BfBQ^z1N+gq2<<6F_56QA*M;uC y(fxMfk|pLF&F6<}yTtFaofP!$s9aFjv;7SH(UZz&9sF|w9vUFY4FIwOsv?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/lrfurn/textures/lrfurn_sofa_back_blue.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_back_green.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_back_grey.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_back_orange.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_back_white.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_left_front_black.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_left_front_blue.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_left_front_green.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_left_front_grey.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_left_front_orange.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_left_front_white.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_left_side_black.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_left_side_white.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_left_side_yellow.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_left_top_green.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_left_top_grey.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_left_top_orange.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_left_top_violet.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_left_top_white.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_left_top_yellow.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_right_front_black.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_right_front_white.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_right_side_blue.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_right_side_red.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_right_side_white.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_right_side_yellow.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_right_top_black.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_right_top_orange.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_right_top_red.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_right_top_violet.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_right_top_white.png b/lrfurn/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/lrfurn/textures/lrfurn_sofa_right_top_yellow.png b/lrfurn/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(#?