fix some more missions being improper

This commit is contained in:
RandomityGuy 2022-11-12 22:32:42 +05:30
parent 3cb5d47e5b
commit 48c38aaa3a
2 changed files with 13 additions and 3 deletions

View file

@ -540,7 +540,7 @@ class MarbleWorld extends Scheduler {
interiorRotation.x = -interiorRotation.x;
interiorRotation.w = -interiorRotation.w;
var interiorScale = MisParser.parseVector3(element.scale);
// var hasCollision = interiorScale.x != = 0 && interiorScale.y != = 0 && interiorScale.z != = 0; // Don't want to add buggy geometry
var hasCollision = interiorScale.x * interiorScale.y * interiorScale.z != 0; // Don't want to add buggy geometry
// Fix zero-volume interiors so they receive correct lighting
if (interiorScale.x == 0)
@ -556,6 +556,7 @@ class MarbleWorld extends Scheduler {
mat.setPosition(interiorPosition);
interior.setTransform(mat);
interior.isCollideable = hasCollision;
onFinish();
});
@ -758,12 +759,20 @@ class MarbleWorld extends Scheduler {
// !! WARNING - UNTESTED !!
var shapeName = element.shapename;
var index = shapeName.indexOf('data/');
if (index == -1)
if (index == -1) {
onFinish();
return;
}
var dtsPath = 'data/' + shapeName.substring(index + 'data/'.length);
if (ResourceLoader.getProperFilepath(dtsPath) == "") {
onFinish();
return;
}
var tsShape = new DtsObject();
tsShape.useInstancing = true;
tsShape.dtsPath = 'data/' + shapeName.substring(index + 'data/'.length);
tsShape.dtsPath = dtsPath;
tsShape.identifier = shapeName;
var shapePosition = MisParser.parseVector3(element.position);

View file

@ -11,6 +11,7 @@ import mis.MissionElement.MissionElementSimGroup;
import src.ResourceLoader;
import hxd.res.Image;
import src.Resource;
import src.Util;
class Mission {
public var root:MissionElementSimGroup;