From 6ab93ee1463d7719a7862a7909d0502631890330 Mon Sep 17 00:00:00 2001 From: duckietm Date: Mon, 4 May 2026 12:01:45 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=86=99=20Fixed=20the=20Door=20not=20visab?= =?UTF-8?q?le=20when=20window=20is=20on=20wall?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 10 ++++----- .../messages/ObjectRoomMaskUpdateMessage.ts | 2 +- .../object/visualization/room/RoomPlane.ts | 22 +++++++++++++++++++ 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 6e74d57..ff1499d 100644 --- a/package.json +++ b/package.json @@ -12,13 +12,13 @@ }, "repository": { "type": "git", - "url": "https://github.com/billsonnn/nitro-renderer.git" + "url": "https://github.com/duckietm/Nitro_Render_V3.git" }, "license": "GPL-3.0", "bugs": { - "url": "https://github.com/billsonnn/nitro-renderer/issues" + "url": "https://github.com/duckietm/Nitro_Render_V3/issues" }, - "homepage": "https://github.com/billsonnn/nitro-renderer", + "homepage": "https://github.com/duckietm/Nitro_Render_V3", "scripts": { "build": "vite build", "compile": "tsc --project ./tsconfig.json --noEmit false", @@ -49,7 +49,7 @@ "tslib": "^2.6.3", "typescript": "~5.8.2", "typescript-eslint": "^8.26.1", - "vite": "^5.4.9", - "vitest": "^4.0.18" + "vite": "^8.0.10", + "vitest": "^4.1.5" } } diff --git a/packages/room/src/messages/ObjectRoomMaskUpdateMessage.ts b/packages/room/src/messages/ObjectRoomMaskUpdateMessage.ts index 9ad096f..4032840 100644 --- a/packages/room/src/messages/ObjectRoomMaskUpdateMessage.ts +++ b/packages/room/src/messages/ObjectRoomMaskUpdateMessage.ts @@ -5,7 +5,7 @@ import { RoomObjectUpdateMessage } from './RoomObjectUpdateMessage'; export class ObjectRoomMaskUpdateMessage extends RoomObjectUpdateMessage { public static ADD_MASK: string = 'RORMUM_ADD_MASK'; - public static REMOVE_MASK: string = 'RORMUM_ADD_MASK'; + public static REMOVE_MASK: string = 'RORMUM_REMOVE_MASK'; public static DOOR: string = 'door'; public static WINDOW: string = 'window'; public static HOLE: string = 'hole'; diff --git a/packages/room/src/object/visualization/room/RoomPlane.ts b/packages/room/src/object/visualization/room/RoomPlane.ts index 93570e9..257503d 100644 --- a/packages/room/src/object/visualization/room/RoomPlane.ts +++ b/packages/room/src/object/visualization/room/RoomPlane.ts @@ -812,6 +812,24 @@ export class RoomPlane implements IRoomPlane layerContainer.destroy({ children: true }); } + private applyPlaneSpriteMasksTo(container: Container): void + { + if(!this._planeSprite || !this._planeSprite.children) return; + + for(const child of this._planeSprite.children) + { + if(child instanceof Sprite) + { + const maskClone = new Sprite(child.texture); + maskClone.position.copyFrom(child.position); + maskClone.scale.copyFrom(child.scale); + container.addChild(maskClone); + } + } + + if(this._maskFilter && (container.children.length > 1)) container.filters = [this._maskFilter]; + } + private renderBackgroundColor(): void { if(!this._planeTexture || this._landscapeBackgroundColor === null) return; @@ -828,6 +846,8 @@ export class RoomPlane implements IRoomPlane const colorContainer = new Container(); colorContainer.addChild(colorGraphics); + this.applyPlaneSpriteMasksTo(colorContainer); + const transform = this.getMatrixForDimensions(canvasWidth, canvasHeight); GetRenderer().render({ @@ -869,6 +889,8 @@ export class RoomPlane implements IRoomPlane const colorContainer = new Container(); colorContainer.addChild(colorGraphics); + this.applyPlaneSpriteMasksTo(colorContainer); + const transform = this.getMatrixForDimensions(canvasWidth, canvasHeight); GetRenderer().render({