From d7407f19f2340eaa85ff5447d0a95e7fc769e657 Mon Sep 17 00:00:00 2001 From: RandomityGuy <31925790+RandomityGuy@users.noreply.github.com> Date: Mon, 20 Feb 2023 14:11:52 +0530 Subject: [PATCH] fix backport pt2 --- src/ResourceLoader.hx | 17 +++++++++++++++++ src/collision/CollisionEntity.hx | 25 ++++++++++++------------- src/dts/TSDrawPrimitive.hx | 12 ++++++++++++ 3 files changed, 41 insertions(+), 13 deletions(-) create mode 100644 src/dts/TSDrawPrimitive.hx diff --git a/src/ResourceLoader.hx b/src/ResourceLoader.hx index 108642b4..a25417a4 100644 --- a/src/ResourceLoader.hx +++ b/src/ResourceLoader.hx @@ -357,4 +357,21 @@ class ResourceLoader { } return names; } + + public static function getProperFilepath(rawElementPath:String) { + var fname = rawElementPath.substring(rawElementPath.lastIndexOf('/') + 1); + rawElementPath = rawElementPath.toLowerCase(); + var path = StringTools.replace(rawElementPath.substring(rawElementPath.indexOf('data/')), "\"", ""); + if (StringTools.contains(path, 'interiors_mbg/')) + path = StringTools.replace(path, 'interiors_mbg/', 'interiors/'); + var dirpath = path.substring(0, path.lastIndexOf('/') + 1); + #if (js || android) + path = StringTools.replace(path, "data/", ""); + #end + if (fileSystem.exists(path)) + return path; + if (fileSystem.exists(dirpath + fname)) + return dirpath + fname; + return ""; + } } diff --git a/src/collision/CollisionEntity.hx b/src/collision/CollisionEntity.hx index ff3daa2c..860a2e67 100644 --- a/src/collision/CollisionEntity.hx +++ b/src/collision/CollisionEntity.hx @@ -14,7 +14,6 @@ import h3d.Matrix; import h3d.col.Bounds; import src.PathedInterior; import src.Util; -import src.Debug; import src.MarbleGame; class CollisionEntity implements IOctreeObject implements IBVHObject { @@ -104,18 +103,18 @@ class CollisionEntity implements IOctreeObject implements IBVHObject { boundingBox.add(tform); } this.boundingBox = boundingBox; - if (Debug.drawBounds) { - if (_dbgEntity == null) { - _dbgEntity = cast this.boundingBox.makeDebugObj(); - _dbgEntity.getMaterials()[0].mainPass.wireframe = true; - MarbleGame.instance.scene.addChild(_dbgEntity); - } else { - _dbgEntity.remove(); - _dbgEntity = cast this.boundingBox.makeDebugObj(); - _dbgEntity.getMaterials()[0].mainPass.wireframe = true; - MarbleGame.instance.scene.addChild(_dbgEntity); - } - } + // if (Debug.drawBounds) { + // if (_dbgEntity == null) { + // _dbgEntity = cast this.boundingBox.makeDebugObj(); + // _dbgEntity.getMaterials()[0].mainPass.wireframe = true; + // MarbleGame.instance.scene.addChild(_dbgEntity); + // } else { + // _dbgEntity.remove(); + // _dbgEntity = cast this.boundingBox.makeDebugObj(); + // _dbgEntity.getMaterials()[0].mainPass.wireframe = true; + // MarbleGame.instance.scene.addChild(_dbgEntity); + // } + // } } public function rayCast(rayOrigin:Vector, rayDirection:Vector):Array { diff --git a/src/dts/TSDrawPrimitive.hx b/src/dts/TSDrawPrimitive.hx new file mode 100644 index 00000000..45ce0d69 --- /dev/null +++ b/src/dts/TSDrawPrimitive.hx @@ -0,0 +1,12 @@ +package dts; + +@:publicFields +class TSDrawPrimitive { + static var Triangles = 0 << 30; + static var Strip = 1 << 30; + static var Fan = 2 << 30; + static var Indexed = 1 << 29; + static var NoMaterial = 1 << 28; + static var MaterialMask = ~(1 << 30 | 2 << 30 | 0 << 30 | 1 << 29 | 1 << 28); + static var TypeMask = (1 << 30 | 2 << 30 | 0 << 30); +}