From 75bc6d4eac3a745fbccdd30aa0287cef0cf706b5 Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Tue, 24 Sep 2024 21:19:52 +0300 Subject: [PATCH] Doors update (#455) * sprites * mirrored + windowed wooden doors * cooking table sprite * craftable doors --- .../Entities/Structures/Doors/door_frames.yml | 53 +++++ .../Structures/Doors/wooden_doors.yml | 188 ++++-------------- .../Doors/wooden_doors_windowed.yml | 78 ++++++++ .../Structures/Furniture/workbenchs.yml | 13 +- .../Graphs/Furniture/wooden_door.yml | 121 +++++++++++ .../_CP14/Recipes/Construction/furniture.yml | 76 +++++++ .../Doors/wooden_door.rsi/closed.png | Bin 1498 -> 1599 bytes .../Doors/wooden_door.rsi/closed_mirrored.png | Bin 0 -> 1613 bytes .../Doors/wooden_door.rsi/meta.json | 10 +- .../Structures/Doors/wooden_door.rsi/open.png | Bin 1630 -> 1626 bytes .../Doors/wooden_door.rsi/open_mirrored.png | Bin 0 -> 1664 bytes .../Doors/wooden_frame.rsi/closed.png | Bin 0 -> 1821 bytes .../wooden_frame.rsi/closed_mirrored.png | Bin 0 -> 1852 bytes .../Doors/wooden_frame.rsi/meta.json | 19 ++ .../Doors/wooden_windowed_door.rsi/closed.png | Bin 0 -> 1872 bytes .../closed_mirrored.png | Bin 0 -> 1892 bytes .../Doors/wooden_windowed_door.rsi/meta.json | 27 +++ .../Doors/wooden_windowed_door.rsi/open.png | Bin 0 -> 1922 bytes .../open_mirrored.png | Bin 0 -> 1943 bytes .../Furniture/workbench.rsi/cooking_table.png | Bin 0 -> 1207 bytes .../Furniture/workbench.rsi/meta.json | 5 +- Resources/migration.yml | 44 ++-- 22 files changed, 463 insertions(+), 171 deletions(-) create mode 100644 Resources/Prototypes/_CP14/Entities/Structures/Doors/door_frames.yml create mode 100644 Resources/Prototypes/_CP14/Entities/Structures/Doors/wooden_doors_windowed.yml create mode 100644 Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/wooden_door.yml create mode 100644 Resources/Textures/_CP14/Structures/Doors/wooden_door.rsi/closed_mirrored.png create mode 100644 Resources/Textures/_CP14/Structures/Doors/wooden_door.rsi/open_mirrored.png create mode 100644 Resources/Textures/_CP14/Structures/Doors/wooden_frame.rsi/closed.png create mode 100644 Resources/Textures/_CP14/Structures/Doors/wooden_frame.rsi/closed_mirrored.png create mode 100644 Resources/Textures/_CP14/Structures/Doors/wooden_frame.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Structures/Doors/wooden_windowed_door.rsi/closed.png create mode 100644 Resources/Textures/_CP14/Structures/Doors/wooden_windowed_door.rsi/closed_mirrored.png create mode 100644 Resources/Textures/_CP14/Structures/Doors/wooden_windowed_door.rsi/meta.json create mode 100644 Resources/Textures/_CP14/Structures/Doors/wooden_windowed_door.rsi/open.png create mode 100644 Resources/Textures/_CP14/Structures/Doors/wooden_windowed_door.rsi/open_mirrored.png create mode 100644 Resources/Textures/_CP14/Structures/Furniture/workbench.rsi/cooking_table.png diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Doors/door_frames.yml b/Resources/Prototypes/_CP14/Entities/Structures/Doors/door_frames.yml new file mode 100644 index 0000000000..e028cc99c5 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Structures/Doors/door_frames.yml @@ -0,0 +1,53 @@ +- type: entity + parent: BaseStructure + id: CP14BaseDoorFrame + abstract: true + components: + - type: InteractionOutline + - type: Physics + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,0.49" + density: 100 + mask: + - FullTileMask + layer: + - AirlockLayer + +- type: entity + parent: CP14BaseDoorFrame + id: CP14WoodenDoorFrame + name: wooden door frame + description: An unfinished wooden door + components: + - type: Sprite + sprite: _CP14/Structures/Doors/wooden_frame.rsi + drawdepth: Mobs + state: closed + - type: Damageable + damageContainer: Inorganic + damageModifierSet: CP14WoodStructural + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - type: Construction + graph: CP14WoodenDoor + node: CP14WoodenDoorFrame + +- type: entity + parent: CP14WoodenDoorFrame + id: CP14WoodenDoorFrameMirrored + components: + - type: Sprite + state: closed_mirrored + - type: Construction + graph: CP14WoodenDoor + node: CP14WoodenDoorFrameMirrored \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Doors/wooden_doors.yml b/Resources/Prototypes/_CP14/Entities/Structures/Doors/wooden_doors.yml index e45776afc7..175d428d90 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Doors/wooden_doors.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Doors/wooden_doors.yml @@ -1,11 +1,11 @@ - type: entity + id: CP14WoodenDoor parent: - CP14BaseDoor - CP14BaseFlammableSpreading - id: CP14WoodenDoor name: wooden door description: Not the most solid construction, but it's better than nothing. - suffix: Without lock + suffix: Opened components: - type: Sprite sprite: _CP14/Structures/Doors/wooden_door.rsi @@ -30,35 +30,24 @@ acts: ["Destruction"] - type: Lock locked: false + - type: Construction + graph: CP14WoodenDoor + node: CP14WoodenDoor + +- type: entity + id: CP14WoodenDoorMirrored + parent: CP14WoodenDoor + suffix: Opened, Mirrored + components: + - type: Door + openSpriteState: open_mirrored + closedSpriteState: closed_mirrored + - type: Construction + graph: CP14WoodenDoor + node: CP14WoodenDoorMirrored # Tavern -- type: entity - parent: CP14WoodenDoor - id: CP14WoodenDoorTavernHall - suffix: Tavern Hall - components: - - type: ItemSlots - slots: - lock_slot: - name: cp-lock-slot-component-slot-name-default - startingItem: CP14LockTavernHall - disableEject: true - insertOnInteract: false - ejectOnBreak: true - whitelist: - components: - - CPLock - -- type: entity - parent: CP14WoodenDoorTavernHall - id: CP14WoodenDoorTavernHallLocked - suffix: Tavern Hall, Locked - components: - - type: Lock - locked: true - - - type: entity parent: CP14WoodenDoor id: CP14WoodenDoorTavernStaff @@ -75,20 +64,21 @@ whitelist: components: - CPLock - -- type: entity - parent: CP14WoodenDoorTavernStaff - id: CP14WoodenDoorTavernStaffLocked - suffix: Tavern Staff, Locked - components: - type: Lock locked: true +- type: entity + parent: + - CP14WoodenDoorTavernStaff + - CP14WoodenDoorMirrored + id: CP14WoodenDoorTavernStaffMirrored + suffix: Tavern Staff, Mirrored + - type: entity parent: CP14WoodenDoor - id: CP14WoodenDoorTavernDorms1 - suffix: Tavern Dorms 1 + id: CP14WoodenDoorTavernDorms + suffix: Tavern Dorms components: - type: ItemSlots slots: @@ -101,118 +91,15 @@ whitelist: components: - CPLock - -- type: entity - parent: CP14WoodenDoorTavernDorms1 - id: CP14WoodenDoorTavernDorms1Locked - suffix: Tavern Dorms 1, Locked - components: - type: Lock locked: true - - type: entity - parent: CP14WoodenDoor - id: CP14WoodenDoorTavernDorms2 - suffix: Tavern Dorms 2 - components: - - type: ItemSlots - slots: - lock_slot: - name: cp-lock-slot-component-slot-name-default - startingItem: CP14LockTavernDorms2 - disableEject: true - insertOnInteract: false - ejectOnBreak: true - whitelist: - components: - - CPLock - -- type: entity - parent: CP14WoodenDoorTavernDorms2 - id: CP14WoodenDoorTavernDorms2Locked - suffix: Tavern Dorms 2, Locked - components: - - type: Lock - locked: true - - -- type: entity - parent: CP14WoodenDoor - id: CP14WoodenDoorTavernDorms3 - suffix: Tavern Dorms 3 - components: - - type: ItemSlots - slots: - lock_slot: - name: cp-lock-slot-component-slot-name-default - startingItem: CP14LockTavernDorms3 - disableEject: true - insertOnInteract: false - ejectOnBreak: true - whitelist: - components: - - CPLock - -- type: entity - parent: CP14WoodenDoorTavernDorms3 - id: CP14WoodenDoorTavernDorms3Locked - suffix: Tavern Dorms 3, Locked - components: - - type: Lock - locked: true - - -- type: entity - parent: CP14WoodenDoor - id: CP14WoodenDoorTavernDorms4 - suffix: Tavern Dorms 4 - components: - - type: ItemSlots - slots: - lock_slot: - name: cp-lock-slot-component-slot-name-default - startingItem: CP14LockTavernDorms4 - disableEject: true - insertOnInteract: false - ejectOnBreak: true - whitelist: - components: - - CPLock - -- type: entity - parent: CP14WoodenDoorTavernDorms4 - id: CP14WoodenDoorTavernDorms4Locked - suffix: Tavern Dorms 4, Locked - components: - - type: Lock - locked: true - - -- type: entity - parent: CP14WoodenDoor - id: CP14WoodenDoorTavernDorms5 - suffix: Tavern Dorms 5 - components: - - type: ItemSlots - slots: - lock_slot: - name: cp-lock-slot-component-slot-name-default - startingItem: CP14LockTavernDorms5 - disableEject: true - insertOnInteract: false - ejectOnBreak: true - whitelist: - components: - - CPLock - -- type: entity - parent: CP14WoodenDoorTavernDorms5 - id: CP14WoodenDoorTavernDorms5Locked - suffix: Tavern Dorms 5, Locked - components: - - type: Lock - locked: true + parent: + - CP14WoodenDoorTavernDorms + - CP14WoodenDoorMirrored + id: CP14WoodenDoorTavernDormsMirrored + suffix: Tavern Dorms, Mirrored # Alchemy @@ -232,11 +119,12 @@ whitelist: components: - CPLock + - type: Lock + locked: true - type: entity - parent: CP14WoodenDoorTavernAlchemy - id: CP14WoodenDoorTavernAlchemyLocked - suffix: Alchemy, Locked - components: - - type: Lock - locked: true \ No newline at end of file + parent: + - CP14WoodenDoorTavernAlchemy + - CP14WoodenDoorMirrored + id: CP14WoodenDoorTavernAlchemyMirrored + suffix: Alchemy, Mirrored \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Doors/wooden_doors_windowed.yml b/Resources/Prototypes/_CP14/Entities/Structures/Doors/wooden_doors_windowed.yml new file mode 100644 index 0000000000..afffc8a018 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Structures/Doors/wooden_doors_windowed.yml @@ -0,0 +1,78 @@ +- type: entity + id: CP14WoodenDoorWindowed + parent: + - CP14BaseDoor + - CP14BaseFlammableSpreading + name: wooden windowed door + description: Not the most solid construction, but it's better than nothing. + suffix: Opened + components: + - type: Sprite + sprite: _CP14/Structures/Doors/wooden_windowed_door.rsi + layers: + - state: closed + map: ["enum.DoorVisualLayers.Base"] + - type: Occluder + enabled: false + - type: Door + occludes: false + openSound: + path: /Audio/Effects/door_open.ogg + closeSound: + path: /Audio/Effects/door_close.ogg + - type: Damageable + damageContainer: Inorganic + damageModifierSet: CP14WoodStructural + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 250 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - type: Lock + locked: false + - type: Construction + graph: CP14WoodenDoor + node: CP14WoodenDoorWindowed + +- type: entity + id: CP14WoodenDoorWindowedMirrored + parent: CP14WoodenDoorWindowed + suffix: Opened, Mirrored + components: + - type: Door + openSpriteState: open_mirrored + closedSpriteState: closed_mirrored + - type: Construction + graph: CP14WoodenDoor + node: CP14WoodenDoorWindowedMirrored + +# Tavern + +- type: entity + parent: CP14WoodenDoorWindowed + id: CP14WoodenDoorWindowedTavernHall + suffix: Tavern Hall + components: + - type: ItemSlots + slots: + lock_slot: + name: cp-lock-slot-component-slot-name-default + startingItem: CP14LockTavernHall + disableEject: true + insertOnInteract: false + ejectOnBreak: true + whitelist: + components: + - CPLock + - type: Lock + locked: true + +- type: entity + parent: + - CP14WoodenDoorWindowedTavernHall + - CP14WoodenDoorWindowedMirrored + id: CP14WoodenDoorTavernHallMirrored + suffix: Tavern Hall, Mirrored \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml index e91632f0e8..c8f26557e8 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml @@ -112,11 +112,16 @@ - CP14WorkbenchMeltingMolds - CP14BaseFlammable name: cooking table - description: Lets cook + description: A table to work with food. Time to cook! components: + - type: Sprite + snapCardinals: true + state: cooking_table + - type: Icon + state: cooking_table - type: CP14Workbench craftSound: - collection: CP14Sawing + collection: CP14Sawing #TODO recipes: - CP14FoodDoughLarge - CP14FoodDoughMediumFlat @@ -132,11 +137,11 @@ - CP14WorkbenchMeltingMolds - CP14BaseFlammable name: sewing table - description: Lets cook + description: A table with embroidery tools to create different clothing and materials. components: - type: CP14Workbench craftSound: - collection: CP14Sawing + collection: CP14Sawing #TODO recipes: - CP14ClothingShirtCottonBlue - CP14ClothingShirtCottonBlack diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/wooden_door.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/wooden_door.yml new file mode 100644 index 0000000000..4769b7ffd8 --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/wooden_door.yml @@ -0,0 +1,121 @@ +- type: constructionGraph + id: CP14WoodenDoor + start: start + graph: + - node: start + actions: + - !type:DestroyEntity {} + edges: + - to: CP14WoodenDoorFrame + steps: + - material: CP14WoodenPlanks + amount: 2 + doAfter: 2 + + - node: CP14WoodenDoorFrame + entity: CP14WoodenDoorFrame + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: CP14WoodenPlanks1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Screwing #TODO - new tool + doAfter: 1 + - to: CP14WoodenDoorFrameMirrored + steps: + - tool: CP14Hammering + doAfter: 1 + - to: CP14WoodenDoor + steps: + - material: CP14WoodenPlanks + amount: 2 + doAfter: 2 + - to: CP14WoodenDoorWindowed + steps: + - material: CP14Nail + amount: 1 + doAfter: 1 + - material: CP14WoodenPlanks + amount: 2 + doAfter: 2 + + - node: CP14WoodenDoorFrameMirrored + entity: CP14WoodenDoorFrameMirrored + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: CP14WoodenPlanks1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Screwing #TODO - new tool + doAfter: 1 + - to: CP14WoodenDoorFrame + steps: + - tool: CP14Hammering + doAfter: 1 + - to: CP14WoodenDoorMirrored + steps: + - material: CP14WoodenPlanks + amount: 2 + doAfter: 2 + - to: CP14WoodenDoorWindowedMirrored + steps: + - material: CP14Nail + amount: 1 + doAfter: 1 + - material: CP14WoodenPlanks + amount: 2 + doAfter: 2 + + - node: CP14WoodenDoor + entity: CP14WoodenDoor + edges: + - to: CP14WoodenDoorFrame + completed: + - !type:SpawnPrototype + prototype: CP14WoodenPlanks1 + amount: 2 + steps: + - tool: Screwing #TODO - new tool + doAfter: 1 + + - node: CP14WoodenDoorMirrored + entity: CP14WoodenDoorMirrored + edges: + - to: CP14WoodenDoorFrameMirrored + completed: + - !type:SpawnPrototype + prototype: CP14WoodenPlanks1 + amount: 2 + steps: + - tool: Screwing #TODO - new tool + doAfter: 1 + + - node: CP14WoodenDoorWindowed + entity: CP14WoodenDoorWindowed + edges: + - to: CP14WoodenDoorFrame + completed: + - !type:SpawnPrototype + prototype: CP14WoodenPlanks1 + amount: 2 + steps: + - tool: Screwing #TODO - new tool + doAfter: 1 + + - node: CP14WoodenDoorWindowedMirrored + entity: CP14WoodenDoorWindowedMirrored + edges: + - to: CP14WoodenDoorFrameMirrored + completed: + - !type:SpawnPrototype + prototype: CP14WoodenPlanks1 + amount: 2 + steps: + - tool: Screwing #TODO - new tool + doAfter: 1 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/furniture.yml b/Resources/Prototypes/_CP14/Recipes/Construction/furniture.yml index 59cf04c981..1befff96a7 100644 --- a/Resources/Prototypes/_CP14/Recipes/Construction/furniture.yml +++ b/Resources/Prototypes/_CP14/Recipes/Construction/furniture.yml @@ -126,3 +126,79 @@ canBuildInImpassable: false conditions: - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + id: CP14WoodenDoor + name: wooden door + description: Not the most solid construction, but it's better than nothing. + graph: CP14WoodenDoor + startNode: start + targetNode: CP14WoodenDoor + category: construction-category-furniture + icon: + sprite: _CP14/Structures/Doors/wooden_door.rsi + state: closed + objectType: Structure + placementMode: SnapgridCenter + canRotate: true + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + id: CP14WoodenDoorMirrored + name: wooden door (mirrored) + description: Not the most solid construction, but it's better than nothing. + graph: CP14WoodenDoor + startNode: start + targetNode: CP14WoodenDoorMirrored + category: construction-category-furniture + icon: + sprite: _CP14/Structures/Doors/wooden_door.rsi + state: closed_mirrored + objectType: Structure + placementMode: SnapgridCenter + canRotate: true + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + id: CP14WoodenDoorWindowed + name: wooden windowed door + description: Not the most solid construction, but it's better than nothing. + graph: CP14WoodenDoor + startNode: start + targetNode: CP14WoodenDoorWindowed + category: construction-category-furniture + icon: + sprite: _CP14/Structures/Doors/wooden_windowed_door.rsi + state: closed + objectType: Structure + placementMode: SnapgridCenter + canRotate: true + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + id: CP14WoodenDoorWindowedMirrored + name: wooden windowed door + description: Not the most solid construction, but it's better than nothing. + graph: CP14WoodenDoor + startNode: start + targetNode: CP14WoodenDoorWindowedMirrored + category: construction-category-furniture + icon: + sprite: _CP14/Structures/Doors/wooden_windowed_door.rsi + state: closed_mirrored + objectType: Structure + placementMode: SnapgridCenter + canRotate: true + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked diff --git a/Resources/Textures/_CP14/Structures/Doors/wooden_door.rsi/closed.png b/Resources/Textures/_CP14/Structures/Doors/wooden_door.rsi/closed.png index 341961f1a86f01d6a27be0792192493600cabed0..baedea16ad44f60d3a74bcc90c7f79da5ff273e6 100644 GIT binary patch delta 1507 zcmV<91swX?3%?AIF>U!tL_t(|obBDQYa3@A#_=ab!nTa4pdyBn#-(;4om^4~BpqBR z9X)mE=An=^gR>eBqO*pqoudDsc*)|SivuMYyc7>n2tp7F8U#WDAwfDQulnYEitOHd zx}SXC&*JmtBE9du&%O71CEJpd;R6$YET0=$H(=S_zq9>Lk}9R*LZ7!g7)g?zpT9~p zhJ_%l$+=3YsLkqX(8uf#$68-0Ot<5>5F|kW5^{ro*6Jo!(fT-k4i}6>cE9t>go;Xo&-Vu7fF%LR1@ zBUQ@?tYI|Gy z>HJlqwg#C2mbnT})A~vwcA))#!S#=kCc$vEk2}`CAgbkp-ki17INS}=#$ZKY7Oc$x zZoni>zq;-Ia6I=s&70!g;~X6~Rg=_wJ51c>U^T$9R>4-p-TM46MT2p4+zj%(p9Fc7 z_bR30bYLo_;JP_yynlCk|BlWK{%kQzbn5qoIuAjA10cmWG_InJ z9-s6W3)WW(`g!N39@S6P>5cWMeyZ=k`0Psme_kKwh32Xf2cWjMrS4$#K~WMN^k~PT z0~(j+%N%1(e>hhCq@{x&Z|ljy13fu-pg;cpCw5iS>5ZrRFB5Ec3+NBWY8>vWI~b|9 zx0SffiR1L;&Mh@|Zt3KIS@S|iqJ>agwd+oTJJwaoamOr!&FZS^CoSoub>ZJ!zh?C( zy1&zlUlyBM1-vD*0cnRsT``^3A_;-GF{fw9o$F zyKPgefLYaO+;YhOx6rR>S>XEQ541m{`Nz5aen_JGaMDNdjhv!Y-eti&E zDL>x7J6ZcayceRW3*`^26CGIT;*55gi^Jq9VBYk0nWc|!|K8^xRMg+z{4{tK9D+Z9 z?rM#@pU2(0;zHsd@9+1wL)``wpUv9dmX3~_Y8>vW_WNJc>HRWckY?W-T}A!m;DMw` ztx-Q|nOh3Z`gw$Z=jXGIPqQ^w7jzZib8qZK2iJd}KkoSG06(gqPPaF!t4p;aSO&pY z0dZBU+wSznbFbj&R2cV$2*L@v3UCAL?oZKmZ}eX2xc$+Y!LOia-7AqyDyx7v(SdV= zKCeP%z|$4<=K&;Ls9LX5`9>eh=?^bHj`bIV000000001!=mQv&@B<8gKgHmF#pFuu8K7^OA+j{xBopm!(XRV)R0)T7~fSe-$IY$6;jsWBw0mwN5kaGke z=LkT~5rCW{069kha*hChVn0m; zz&{yQu8cHT?5BwUAUh@kVC8B^o5g;b2mrD}0CJ81~n+>!*ntK(cc} z@+R{DG!A#Cg^^ntH4b;PZdPt&ehYYW*1j;{C(oK0wI+Wu55UoJQ?>Wo&9_5I($g1q z{)WzVmw5mrseaN%QnhTNDY=t*4G={!xLBqFVCD7kJjpx&ZWZ7UKC6Jm$^6F4Dj-{# z2Y^*TwlWWZGzmfUuV`OK7T*pw5dg`~2}xUC`U#Wa0~Z&<`4<{)LE7aE#rXgL002ov JPDHLkV1nl;{EYwr delta 1397 zcmV-*1&aE=4B88jF>91bL_t(|obBB`Ya2-z!0{(RLbilB!7VWyKKr=nAXoXwfx)@L z2dPtCah;2Uv@V?1xbO#1k#7)xgTqZ4wN4WkYK|0(|~ zjF|tg@oGI<%`@}t?958GM3XTD6@Rcc9;H3N!L#ZY5s^wUpT0Ir=njS=BJ$zW=hQKz zvF`EbvZzd@n3vsPBa1`D`e7ucLN4A;q8h=rb&fxE0;u2{tzPQNETg)$xzg90X5Hh@ zWCT#IZ`xTNZmM5@++NA+ENdO(Pn`hW!BC_#Iuri-{pVE2Qp4V~Ay4V_B7f=hA}1~Z z>mGk5BY>(%w`IRWY*^>`Gn)k3;KB$XvflA$HV0UBXV_}=Y1TFV$C(`EUZt3iD^@Ay z*m6sIuL`aIDi8Sr)lUk2xsk;@C=soOF88 zL>ZB@Gry0tkLT#|Xin15;vvyt?luFU>T z`k8Ace?N@oj$%Q1cH61roLx5MTtu38Vd^@kPJpw^X5#*&hR}aED^MRLjdXe&n(Z~M z-ItZgByiSbW!~_u&kxL`3CcNnbM$BRe(;tvC-*8V_B=e&z)4>Y>eaDRlL0$Y&e|&B7dVg*6J;hdTZi$deSE` z_p7!u_dC4`&?{?hcY4v>Y&S=Pq@|GS^g8Qju6Z&fF;_lG?dj|)Ky|QMrkNS9FW>Zz zR{PDy(eDYU@-D9)^g1Tp*U-zU{d$s^`;*G6vQDo8l9(N*I$hsy2A%Z0b&?cAQjF$( zjYVS4Y88;_=O_V0#w$PVLkqJyH>rF-oIH+8H-pUhyMv(w;qQ1n?XQ;5ib&b0mQ0NC3}S zOMp(#jajfQuEcNk7Tli)KZ(ewF?{>uP!Tucx0V2Uz&>`qEAd;q1nljUr8^i(cQBOd z)~0{0YFOh+{MJT*Myogav*`P6-?$RL)qfD70U7Q};sEYTjTmo(z?THSrzi-;8iubG}z}aO}&hNLIccF-g zy!+_y{|d6n+9a@6Z%I)0@3VleapKJ&CWA2cSWf_7-v@Ao)m4Dr`K$u$U=`pwRso)~ zHVr?!Y)<^QY@fLDcCgiTn2#N=^F4l(F$5PFu$cb<-;n~p;pWIs00000NkvXXu0mjf D5EsZS diff --git a/Resources/Textures/_CP14/Structures/Doors/wooden_door.rsi/closed_mirrored.png b/Resources/Textures/_CP14/Structures/Doors/wooden_door.rsi/closed_mirrored.png new file mode 100644 index 0000000000000000000000000000000000000000..351486375062d76569fa89a709caf19c049df36f GIT binary patch literal 1613 zcma)6X;jh)5dVXjsEcQ4+2PUZZd%#lN^YA_Vv3rin|X_xM;>6FM4FOrsg*}5<{7Pd zP_!+| zS*A%cegxSllRZIUl`;j2cD6YN)c0-U0Ki5CH0tQ7^Tj-77iMelw&zO`#-2tkwI0>v zA6@K93vI`}3^g=3kJMrV=Cd>Qn8>-S%gy&>O980@Oj+3~^`_w#D(X8m!(79gChk=3 zlVvmqsVkmd^0QiOYv)Ju$28^+^$6I}{TFow-3GGU|0L?%@d+q{UY@FqwMK=``j=v9 z!@5_~7&YB@ZKK^j4iy&Hkgqv6II0Ae$HdjbA;+^iLb9yXeNOh7#CpMMn>(d%n4cL51Mv|O)3~1AljQre&Rj&;dL>e-eX~T z-W^2slDCQNBD#9?wl7cfIH>Ib3LVbI#YIm%+78k6xY0~Btv@}5X0Q*c1EzHmc4r(m z9G^OpcX<+C?p)aEkP3TcelSlc$UoO=lCH`MCDopO?8JMh(hxs|jz+u}`+TYE6nqYN z5EW^*zjKG_ROglpUYfKMLKn-h&-J-VcLmIW*ERCQCXwxh6r?%DR206PHU^|!Ka9Xt zwR0_oH=e%h{uI~Y(drCZU%((36T(Z)?U!nCx(t4=Cku;N+5y~Hg6+qZR+g|;a<^U? zeMXHDS&e&ytVOKDaCK&7!@721XNWNmut7w)ga=I?5X7e-za*@ped-Z6ZY^K}B%Fug ze9C!K$eE5Z?#nUOXsf)VTWq-H^Sb1Pkz_8v1lMlXNC27NXW|I`5%H!I8;jVBPyJi+ z3=CH1qv>+K*tSKjdvHh)t1Gx;!0-0+O+K<7sn%saW6HnLoUz0cQVMAMX;MG!OPEl6 zwO>hd_l!!9^$1~z8<(%xg8itzMd2}P*SKW=b0+z5;)zGa{PC5I=`ydlX+&uUvm-HM;O9aB`{jU0VS zy*)v$X&dTgyW6*lMFcmOx)AN`SRXmxx08Q#wg*yzGbi;UvreED#e zhHzxsX&xs)hat`o#cMUy%}9lyk*%i}|G>VpUOb%yYQ=Rs-~QctQ*;u-V3GSGKgjpxJ_vW4e- zN*yY0s9+Yq`HBzw^TY7mASoY9>C7|}{%Q?`&b~W~44o}4oE?N`NKUB(H}20mp)iq~ zv~iMCPI5CDc`vl}f%FjEZu?3^ZXA3wEV(XYwz;T$PU{?#$KQ@|SWBgGq*a^2+1Vvy z>=*c{UFm6z_luDpy<7AFMUj}2B$c{iwj-h0dV6y4I|0Q5)_06H=;>Dg%>*zP9QB(w zvad-w{}`KwW;Y5%pSTT|yM~7`Fp%2dLA}UV_6X2_Pnv{~f)ojR!*v@24}6V4TRWoa IkNGD51)4wp+5i9m literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Structures/Doors/wooden_door.rsi/meta.json b/Resources/Textures/_CP14/Structures/Doors/wooden_door.rsi/meta.json index b62799b8a8..6855991191 100644 --- a/Resources/Textures/_CP14/Structures/Doors/wooden_door.rsi/meta.json +++ b/Resources/Textures/_CP14/Structures/Doors/wooden_door.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CLA", - "copyright": "By jaraten(discord)", + "copyright": "By jaraten(discord), mirrored by TheShuEd", "size": { "x": 64, "y": 96 @@ -14,6 +14,14 @@ { "name": "open", "directions": 4 + }, + { + "name": "open_mirrored", + "directions": 4 + }, + { + "name": "closed_mirrored", + "directions": 4 } ] } \ No newline at end of file diff --git a/Resources/Textures/_CP14/Structures/Doors/wooden_door.rsi/open.png b/Resources/Textures/_CP14/Structures/Doors/wooden_door.rsi/open.png index 817a16ee4077bde9ad0490b028434aaab82d1a21..b69b6def99fb6970d7c6d0afb8b3c3f73e8076a9 100644 GIT binary patch literal 1626 zcma)5c~sH~5dMLpD61lA9%-&=x~V0bS01SqM(U=m2`|#1T#tmzHdOKiEiKC<>WN2q zYv#R1nYL+kDQbo(C~DrKc`kXb7cTAov-?Ny?Yx=!X5Rbe&6_tfiKpDq3i6ur001aB zpFnv?kR~xUR7T?8`;$r}03v&!j{;R6w59++M#UL*#Pb?+ZlH#!ht_KTLXEo-g4h#h zLV+V-aZ>56BVZYVyzIQPM-f@Mt~|v-rvaX>tL;c|-I&kU zgsr4TGOc7vUEyu~5;?b*_1_LSIY2FDp{*~JMo4YkLH`|jN-IkT3(lh)%FZ>#4uTa| zhzHf({g64W;`?aJtQ&^dDh$$_iw@A_P4tgau@2x*o?<)C4ENAZ~lkk8p%6Sjh6u1tt@ z3eIu3g8AIa)E1^{%#kILt!(UbEfoPSgk!Zce&W_0l8JX?n?^s$RL(J_?o4Eh*FONg zt9PIqkDzJ&TC;Kw7*Cpen$DDxP658HuCJ^|N5haHjz%{gEIEL0$u`AqxvQ|SWJAZv zcZKOk;Gx_09u}r?<(4Y&`&{&lyn@K)iN$A)-s25%D{FDmY(4&3?d~-Orq4`9j?H-S zaw>ey)*)sibebziLrbozh-!t{Tv=S*^|Ux)%kNlYr%qETSHl3vDNRuip^TYP6qc*pDS)0#N(_&boOBD@zTcxZ#%2UoH# z>p240nGNMG7l!aLhZlp6Zfo-87pBKElMHIi3A_EpR4AL_t0C^OUUye~d9SNGZRutW zv$ksdW;4NeJsLbrw}+iVM^ZClcy~UfA_|?Eb=wyauH^%1Jpo+daxd9Bvc{0Qx%@|~ zveOOYSo{V;EJ_{p;xvmUMlv2@GX~T;Zids>HXsq|yfCt_dQu6?k|)L;eG47NG0H>y zn@in#p3R`eHrkhcq(zr{=?#}Y9zQ#2Fz1kEQu}5x0R+$j1N}M|_PSfAcQq-65uJ8K!nu`NT$N2Fv!B zxg-+fdGT}+sd5=88|$>O3DP0w7iuIFwQAHY=RtHMgtrGj`p3S0Jk2Olt^T?4w~%(N zPc14yL+9IBUpn9La(TiveoDQ+;=DBh!NAVlTVj1JWnqCVQzbw1L?OS0#gk9NK;$M| zu-Yup%Y%@-vql_K+0;oR_n7sGw)a$h*ZhJR%|rTaDgY+@>WWV=Hu`bJ0*X+c;}=n~ z(>BH6M;2{ACrV&Z@c2pJIeHjnBw!*d?0)?@3_GJg6Y}S?Zfi#mVau`dGxzXjFp=qL zz;kjh=26B*=^T-|j2X&#@{;%fMto6?bXyL3AYme73&3Bs?Y!N|CltxZ{9pCthm{{s4z;_T#xsycc;?k_@E@jL(k literal 1630 zcma)5eK^x=7=C|?lBO(ne5RUEqoSOoDamY9KHKK2Opa@zL|A6Wwx4uJ*$|@+p%1C~ zj*+6~P?HvFXI-bzmqJ)3)$)DjoWIU>^~ZUx`@Qe$df)qb{&?Q!N%Qg`YH1p30syq! zT=70Cg;htSu~@|t+R;*#K(Ri=J)pAF_#*&|_1*AJBu0U}&-17eQC~b>>hcFK{YLRV zM2WEYc4py0AM5QqZ)fIpJ4fx(jrrQrXt-($5!a48^V(_LOz%+Nz8FQxdoKf1wUXlG z-L7luGEH)_h_#$`zO^{Rf$2uS7snnZP0GUvxD1LK(7w^NE%MFxk1a%07NG)*!L&Zw zkH^o=D3lK)uQJd^T-yk8IN|PuBl43oEI(ofo`m@xXPTl=_Ptf-kjLuIZb>{|c3IiL zO5pS~$c*=fYy=7&NW=L5q2Mb>FRhWAd#|yCx^b*1afi8SPTOAa#p8&YVp%LK^5-mr zsrnFt2oU0&J{=cwFbZVodMCL62Oqq8F5g}h+=eZ-s<*5z=Ysnt91F~ZwU_bmiiL6o zoyv3k2Do+h4$@+)fd?%{@ji=d?!D5|ROB9ITa=T?)Z+L}pVE+xa|8GdP=;T=n&5H~ zI*D4&(%mnf4(|sCg9@z7;fSS-gcBkC^C>Hj&HNM{FZGOL3`WLFY2N3#i@NU&cZ?MU z#m`?nd!{`_LZemGCJeTE+j7vQt}voQCL69G&H**vf55nQ23OJB zrc9S>S|Q$Ksr-y(3Re``FCF~rR~Z&w40_Ohl7E_~>fa9`CbpPtcz4noQXtWOsyX~| zXd_K#M%%}w$r+f5C5}06EO91t$d0=5gV$9GpH_EN_+;ER$bq(N=3+ik{3NLEeYXmod{?tZAHV5o7dKi%y5Qq_MUh$9{@bd{P z`HXwlTEJ8NS9|o9?8oP_AK27Nl_#3oM{B926>)ECqEc5D$~syWXbo;myH}(waKl&IH!n!Js0? zya~PO&tmF4jki8=<w~7^y_+#l!s0&+C!s`Zg_`>5A!)<>2P}wnLC^mlwK&yjl^rqVZD@U%^Q9s* zh5%BZHyVYVEEtZPz0LkmH5{#D3OoDz);ET?I#^W1N;_A3X3G_C+yGb;LRuWTPpH|E z?WcasS*5kQaO6#jQ^FRPZppKKM53%trSi;Xhw$T9%USK3BHvt&9AWap*`aj#Ko4EmOtRh7U@KDLm`<3nN1 z4(G>hbA3y@Vl2HW=uH=J6ngpM-bYB$D-Rd8ePR>o@MozVwX!cd$mt4ud2a_27FgSJ zYVP0I@4FA&DEK5IG()Tefj+u6UtFkg*(l2=Sz@ZZ>s^G`M zb(-1pffeV!{Z57hFG60I@+fH`g{8c*37O|C#p9+$r{4W(S&n&wuv(Hyrfi9R$^*jsvGZFWu%pTD;(JbMe4e?g>8iH|~zd AWB>pF diff --git a/Resources/Textures/_CP14/Structures/Doors/wooden_door.rsi/open_mirrored.png b/Resources/Textures/_CP14/Structures/Doors/wooden_door.rsi/open_mirrored.png new file mode 100644 index 0000000000000000000000000000000000000000..a495a4a9dd5f54a3c904fed2d9495638f216e662 GIT binary patch literal 1664 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 nkB}8L zeXine2j(tcMleyYqVFPsZSzGyz&^qE= z(z~p+_VTqzYJ7iw_=X3$-^3ym2A9^89Y~vJ4=8mp3dck5Mlu#R|5?DHaUdQmz)M7Q z?O8C2A@-{NP&=f*EwS=4(w>zr&3srkbHU8*3!R z8Xuol6YkNOaPfY*!18k@!Q+Bfk)T0z3p0B_jtz}+NTD-5WkPPUrkn#zx7Eb8#Hua; zwubE9AO75g+tVELlBdGOH-fy^v7RoWnp1)?mRip*Da6T`FYjd<#X;@?6%`9hExtsH zWv+kY!vv;+d8V6UNK`=N)c~VTyr7!^|Dru)dQIYD}V;fi4X07fXBk<=%wvOdQVt(p3Jk{uI8-uFR@RdT>;1MxyrYoaa82RTuhoor&PH?^8(`Bg{@iRT>u4tnO{R1h~r|hM0 zy2#7Si9v!uya!s<9|R@o4Fe7Y?e9coacviZE-0ANJ&ZS~1!|U0<`vDF31dU)g=uCCo($;{}e}S<-#j!ua%j zOHadvZQ+SoEnU0oboyumRG#87Zh&boAL)EGo4vXa@Gn1F!RGm98TjK6HSVha8R`Cl zk57}c+{9xhA_fBeZ;JDYVBq0^(35k|1dQH=4SQi;;+mfeXzktLo<4t{_7(}k8>rWO zky1k`LY%00a)0Ylph$^FFN zzv9Pgt-r8|(oQW4;(4ysbc1($pXJuz%-8XYvlx`({qBWE2n3=LL+CZ1BBE+4Yft@` z)h*MNxCQ~ugl&k(deoA))n@Rk3(Jdu&e+uiV!Q_d$z}7<4#~}In1tvX0q0#FNENGg zwtTU-_t@TN6@pYMH!wf>5-|_}3gtNFgp~*TzB>Y}yFdWv0GG&0R_}qyq8o|uoN^za zSRJv+k^l|GA&%6DbH6`X%&C9^e#%nZc{$1{iQBZbG-zADUiW{fDxfLIFhY*Ju962P zN{s>jT*-#vTW20Z5)+RaIv4J_qk%Rh>0dj&$%dciCb|zS0xsWMs7||PEcpbZ`6g*y zyOmT$2D#g@+iCi82my-+GQ#`p(Q8^Rgv=<5n7Hf?QvEcv=6|^{(1*^()`h;ni<>iH z5!V)l!kfV)kP}kz!}zglGQs{kqus=U;&z>yK3S0xdQe8YWi?Y@&?n zu*Gz08K1MUh;6z#{KbJ4H*m4QR(q4OpDz7=v}Tgx+9uV+ yo>z*?;H<%gpvY!knA&g?Qck`Qu9S>JgHPysp8wQKOv4tXM2{NU*aDR^HK9>8S~E3vq192u zR?)_qsI5cPl1z(qFk%TpB&Z4%Nlp6SJ9Ex^@1Aq-J@=k_?)}cW_kKCo+#O|)D;);_ zKo;g??i{5i9AXBVzKtxEYg|80co ztZt(@`vJGs{m0jNDi1s6Li&GQ$olzXShfm@q`Q+~|AH+7DAM=ZF8#=?<(L3W{v?3UL)-<(#K%uAH z&eS+1uAy!GnJlFvkDe2L@`qMnjDd zHWR%>!z7@zf4<%%rj<2TOc-nBNd8H)u(rj zwL)V@%(_E85JVQ|^fha9&o~U6N6#T`xlr;kyGocchB}DCSVT^L{Mh)C*C6G{7Yt#+ z5osv5z@wELF)xhP*YDIdaK}ybxh=&Yhmih7 z19(1tvuVF~es(IB2fZ@A31hBJz5>4rDtFGRSPhH+a@wS`K$-oztC3lVPGUAdEp1XR z`9_x5;Bw|x?JFg6M{m7R+!`3rLeHCDYK!&<$xj}XVXGHc#tUVY4Wkl=bV%CLOZ==N zBIv&H6wy7AWzo^NDLgoF6xBHK356?RM8S4O$0|!08^g?J$epkaf8RF!LT)&;1ouAL{|7Gu#@|XRzY}u*Vn_N{>f#Nw|(`E*YIc(IZ*4eAlddXVI zotK*FB-R}&cO<4W+eeE0mz#&8dR~t{#}uk~&vy^)t>W0+W>L>u9TrLEHv_vGxJ8W( zRt-NVEO(b}UL?aw&*E#ey(2Z#!TQNekqRvxL;_n*)jEYlSkWh5@k7oX z5_aArL(`}i3M5@Nq2i|GdvLs20_y>uuUm_m`~ivLOhOhIZ`e-Lvj!>KiJcQn)*F`ji&$ z6*+{p62YYQBr$l$J#F^*H{m^I6y^v;HC;GJNazswB8YhM3WdM>Mvl|lLB%crII>Bk z^<#fh6&CCZ^;NTKZ#y~EgS)ZeLfS{>6-J{!$&J&NsjYNL`Kmhp3wMtdXSaQ`SQn*b zr4?tctKui{PifGB0v404GmWdHu^}46O{~R!)%{{!FEzCwBEI;T;@-s-&_o{}qM;XM zLO~Fd*{Ui}k7p{HaEPQ6|B{HN^gxlCK9)ua~ z@i>E+nQ^CzC}Dy&kSAg6^uj512*vT78%P_$+x&kiJ&yp zxJT|7JviC*k&;Fd+V0X5K?b){r!4_wLW-E1C{-i`7M;x0;g9OEU2Bu6)R_pVCAcefcNm4P&&(hlaoczn7Hp_5{BMij6R1;*^yX~~6JCA21=v-0`{v6**uMbt3zd8T literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Structures/Doors/wooden_windowed_door.rsi/closed_mirrored.png b/Resources/Textures/_CP14/Structures/Doors/wooden_windowed_door.rsi/closed_mirrored.png new file mode 100644 index 0000000000000000000000000000000000000000..f6bcc4bb79ca66845b7b4dfbe4470192315a54b2 GIT binary patch literal 1892 zcmah~c{JPE9{*{ZL0XKe(c0Turc9|6rKzB{5v{5vOl+AdDjIvmP)QVHI#o27sA@41 zsS+iX*q3O@*gLVlNXFVY)+k<;2$TN#=DhRXJ>Ppj=kq=HeDCLezjt})=ISH|Rs{n9 zAm{wOy}JYnlHMWnm1OJ>38zXxD%RcUDo{PBz6b!)n$GsNo(V;({MtyR(39+sTKTjb z`|^k=TN%}_WsiGaJx6(UA}tU8(k|nroitNEzX@_X>!jPlu|4VALIS$2lm z%5y8_O&^~IUsUX3{H0HxN|Yyv13;5G8t_UVT2kQk;=#ZMULM&RC+b?B8_8c3438?) z<`1^GU;I1+OdA6u5qj~nUn`v`B@y-k^1OM&yH-$Z27-D;ZqFONXJjr>Hr_X*yg~7Zf@cnk*XXGp<%PympIl7?x0dh{c7pn40(r7GDU|OUBUtXGjs!?yI9Pyfz zs-Hfd=$^3pPItO{tDxF=-pm?G36I^@ao%~1Sb}W`z%{!q--YCS+e2;Ly*h124A^lX|y-}TN%*S0cwE@rp>r>7H!;SMMtGvw>NI{DnJV%2eeS2`2!!>#_k?B#&dH&J8Zl zDp|C6Q@p>DKMM050^BRXMu=r(asUSr=3yMrGP1Nu91l4%8P6T`93z@aGJA_rtu`EV zGY)?v;#ziv4=o%Q-wS<&RU((8szy{xC%w^f1Lvz31^v4GqDJyl!?GrE)Z1O%)66MQ zOL%%wAGt1p%2!7ERP4x$fEtwt(9R$2LJJpeHdf_=XVT&NiGWYNqp&X2EFw00(E zn0tUEG5JU|KS~v9j(Q^!>NJ4YZ@8^Tm-1vx%~x6dZdGHg$px#JahoS2z<%#NDtH?+S{oQO zZA6oaA10v=2FRjGaZnbzGqoy&Ah~xi=*Ew}A1=oRds-V?=hij%j<4u9TwhNzT8t0D zCjHs%nybc4ri?Xe`Cdw`(j1UfXj0*lsbo4;4|%VH(U^qkJM;D!tZH30=mFV1{0=T2 zK6Mc1eW{$i_3tv}XLb`8RRXf#A6=#n_wZ~b>2rP*t}%5qKqcAL$hD z8hXc;KVwI_%8W z_oTbcz1gQ0*=%7~DtkF`J;7=%!hVnueOU?kMOrE+>WEFJA|UGo=&1icVyOt^BhRiG zZKXe&i#r4SEX@oon4h(!cXdTyRs{A_XRN;$s;RIS?E!7rAc$aCVS=vC9Bu?`@c*%Z zr3#QvR~wBU@jDf|f<4=>rt{kM#gqBLl-hyO=x$BGUDSNrKY@MM(@&kML?V1FOEo|& zORVtZz&rl)KN>7t^&uU--M?XN`X{MVPDWY74}m}ADXoWz8gOW?CMGtz$n^+e1fETV zcHQ*!Q==-G*>D;lJIAHoU)p@*@g-QETEJ-wYp61|p4WJ!Mfi;?T_jZ|o9)Cct8XIbsltgA5^Xs=OYNI3y%zuFNBUBCg4My{{nwC8wGz#ZFWlL| K)xP>F>cQWBwS;W| literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Structures/Doors/wooden_windowed_door.rsi/meta.json b/Resources/Textures/_CP14/Structures/Doors/wooden_windowed_door.rsi/meta.json new file mode 100644 index 0000000000..fa91c3332b --- /dev/null +++ b/Resources/Textures/_CP14/Structures/Doors/wooden_windowed_door.rsi/meta.json @@ -0,0 +1,27 @@ +{ + "version": 1, + "license": "CLA", + "copyright": "By jaraten(discord), add windows and mirrored by TheShuEd", + "size": { + "x": 64, + "y": 96 + }, + "states": [ + { + "name": "closed", + "directions": 4 + }, + { + "name": "open", + "directions": 4 + }, + { + "name": "open_mirrored", + "directions": 4 + }, + { + "name": "closed_mirrored", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Structures/Doors/wooden_windowed_door.rsi/open.png b/Resources/Textures/_CP14/Structures/Doors/wooden_windowed_door.rsi/open.png new file mode 100644 index 0000000000000000000000000000000000000000..fd011c01575b3c63476e3d7f52d2dd0a46d8ac66 GIT binary patch literal 1922 zcmaJ>c|6-&7XJyJrB&^Wri<8~weduemTJ+WH1^u1Eotq0UR9Bx>3FKOFI9$GDwYsS zEwMFHHDecyC4KfJ`goQgf+CiQnZM>UpZD(Pp8LI@d(P*3&bjydxo>Q&OvOYmivj>3 zhPY>J%R?N`+J%4Mtpi^EWjx>uu{AXWss|xU03dV=VSL9v{5@;N+F#Q2VmI3@A@Nwa zBp%<`V96S8PKCsef!0SD~3MuV5p-TaRNYA|9LcXSN(A(60)k_gzGAzxBPB4qi7;cg!-gMa>h? zjL-){n5_WQlzi5&x)4Y$80b+3wTB4c7KMSKb3nd4aLW`3PX;z1eDoXt?-;}Y@To^r zamKGID~017F+VpJq6%a`su4+9j-WyvZ1_baZq=i9XT%I>Px^`Gid^DH(>}RlS&I1o zrGK9ZpqR>^E2;dEq@54N(N|L;IWmqQStP?gn&R9dPzlSl4-VzchRq#vl2OMwRkikc z*5T3Ew--}A;{MvNuby{v&1Pt(%F}dTmM(c4r>fHy_z1g^Il930;Ho&O+gbwCWKz(4 zSPZ|N8>mrw{j@{)c68w6KRVLN`RO}tIco<^kGMoNL@PHHE9gn3T|TXv*PgW82vr1M z@Kj46Wzh^y7ineZopd1v=nM78_~UUtziEl~n1KD&FA0Vx-^VRhKAQ=iBZ_%e%F0wG z&HOigIP5m1Rt0Wam+k&|ALboU)20ACRp1dm1pNmZfE($Zlja~<(>iA?0{E85B4usy z{pqzQm(wA=%y|?@*4r5?!jr)tje|M%m~|WtR<)%NJLK}ba~cU-x>7T(JY2ikk@!wE z#4%+eAk5*t+AmWGlNq;E0NrCxsWPRMTwA*oBhW4qu@%tW%Z=RsvR6B&3_vQHbZv)& zMJRjBP5W+5>JdR{PI%{&dx4e(pyLHCqD1Mg?V0no`MbW9ocujgnHRGe#ct6@8mr|s zZl7kkAuHwiv}mz@{rz3e>>c;@o;s4bYTGVWkrBaH_D?3$MGclO1uZZL3G(?|T%ZR7 z(FHme`CTaoH|yO~Iuz*w4rYRnqL15VW3`6}ic5vHW$Fek(^_*f4obd+fTMwyj{z%p zjWTWJ#yPRRe2~_V!=mM?Qd{ z;PT}USBEAu6FA*4?p6$kF}86(C0h=Fv_{ojw|}l_>tQ*7^FC zeIU6LyU0#P*3UT9&x~{E4$Q_qWyDa76Td+ScZ!%U5p5X*=*TTt)Vvji4uU(rdSUJN z2&|eK3Qe=mChlxKt(nmgmB3_O*Z6Pa0zc+aB;?ww0ISig&DM&7Q_0E|K zN)}-^!llV09QyezAg+t%oZV>{dk`!&A!5<@B&|3zAq&g#9u)JaON3(AJL01Wvywd? zX=mzDBPZF*Cs*MvQ1-yP`v!3tY5SwMb2)tM5^DA0Wwc7@sk2lbL!RsLK(ZI%;3(xU zeLKaS_455ny-!|7{k2Mnz*>u)P!USfYm40bp5~&O-nDjt`ecGks>TrUH@~V|al_;k zS629va~ZZ*&fB-SN#4sf+_4qJx%hi2`So>1jOU7l#&n@x^=b53fX#UVn29?SDN9%% zKpq>V1r&j0G4&sOuAAL5@*GCH)a&h+-c=H&cNs_Fd=`3}PiNxm9uzV23`_)qNX^Sz}fZoTGqQ=(5X6&pylu^7U)H zB-oq<1&aJf@!Ha_wb@>Q*b?|f1@>m~A(fH{n$~snvazi*v@JC|uxo>lw(*WGO9Jel u-eHIt;d%uM_|8?Cp?Czw`j5V;d&i(aIIKz|&sN|h1aa5OxY`i)w|@go5tpd| literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CP14/Structures/Doors/wooden_windowed_door.rsi/open_mirrored.png b/Resources/Textures/_CP14/Structures/Doors/wooden_windowed_door.rsi/open_mirrored.png new file mode 100644 index 0000000000000000000000000000000000000000..67673f58a29bcbf1f824d830a7d0ad561a8aa2c0 GIT binary patch literal 1943 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 CrystallPunk migration zone end