Fix some pathedinterior bugs and aesthetic gui shit

This commit is contained in:
RandomityGuy 2021-06-16 14:01:48 +05:30
parent e562b8be0b
commit 31a57fade7
5 changed files with 34 additions and 4 deletions

View file

@ -52,7 +52,7 @@ class Main extends hxd.App {
override function init() {
super.init();
var ltr = File.getContent("data/missions/advanced/acrobat.mis");
var ltr = File.getContent("data/missions/advanced/survival.mis");
var mfp = new MisParser(ltr);
var mis = mfp.parse();

View file

@ -198,6 +198,12 @@ class MarbleWorld extends Scheduler {
this.bonusTime = 0;
this.outOfBounds = false;
this.finishTime = null;
this.helpTextTimeState = Math.NEGATIVE_INFINITY;
this.alertTextTimeState = Math.NEGATIVE_INFINITY;
if (this.totalGems > 0) {
this.gemCount = 0;
this.playGui.formatGemCounter(this.gemCount, this.totalGems);
}
var startquat = this.getStartPositionAndOrientation();
@ -215,7 +221,7 @@ class MarbleWorld extends Scheduler {
var missionInfo:MissionElementScriptObject = cast this.mission.root.elements.filter((element) -> element._type == MissionElementType.ScriptObject
&& element._name == "MissionInfo")[0];
if (missionInfo.starthelptext != "")
if (missionInfo.starthelptext != null)
displayHelp(missionInfo.starthelptext); // Show the start help text
for (shape in dtsObjects)
@ -285,8 +291,10 @@ class MarbleWorld extends Scheduler {
// if (pathedInterior.hasCollision)
// this.physics.addInterior(pathedInterior);
for (trigger in pathedInterior.triggers)
for (trigger in pathedInterior.triggers) {
this.triggers.push(trigger);
this.collisionWorld.addEntity(trigger.collider);
}
return;
}

View file

@ -108,7 +108,10 @@ class PathedInterior extends InteriorObject {
marker.msToNext = MisParser.parseNumber(x.mstonext) / 1000;
marker.smoothingType = x.smoothingtype;
marker.position = MisParser.parseVector3(x.position);
marker.position.x = -marker.position.x;
marker.rotation = MisParser.parseRotation(x.rotation);
marker.rotation.x = -marker.rotation.x;
marker.rotation.w = -marker.rotation.w;
return marker;
});

View file

@ -32,6 +32,7 @@ class PlayGui {
var gemImageScene:h3d.scene.Scene;
var gemImageSceneTarget:Texture;
var gemImageObject:DtsObject;
var gemImageSceneTargetBitmap:Bitmap;
var powerupBox:Bitmap;
var powerupImageScene:h3d.scene.Scene;
@ -144,7 +145,7 @@ class PlayGui {
gemImageSceneTarget = new Texture(60, 60, [Target]);
gemImageSceneTarget.depthBuffer = new DepthBuffer(60, 60);
var gemImageSceneTargetBitmap = new Bitmap(Tile.fromTexture(gemImageSceneTarget), scene2d);
gemImageSceneTargetBitmap = new Bitmap(Tile.fromTexture(gemImageSceneTarget), scene2d);
gemImageSceneTargetBitmap.x = -8;
gemImageSceneTargetBitmap.y = -8;
@ -278,6 +279,20 @@ class PlayGui {
}
public function formatGemCounter(collected:Int, total:Int) {
if (total == 0) {
for (number in gemCountNumbers) {
number.visible = false;
}
gemCountSlash.visible = false;
gemImageSceneTargetBitmap.visible = false;
} else {
for (number in gemCountNumbers) {
number.visible = true;
}
gemCountSlash.visible = true;
gemImageSceneTargetBitmap.visible = true;
}
var totalTenths = Math.floor(total / 10);
var totalOnes = total % 10;

View file

@ -67,4 +67,8 @@ abstract class PowerUp extends DtsObject {
public abstract function pickUp():Bool;
public abstract function use(timeState:TimeState):Void;
public override function reset() {
this.lastPickUpTime = Math.NEGATIVE_INFINITY;
}
}