diff --git a/src/CameraController.hx b/src/CameraController.hx
index 19a2f6c0..5659cfcb 100644
--- a/src/CameraController.hx
+++ b/src/CameraController.hx
@@ -65,8 +65,6 @@ class CameraController extends Object {
public var oob:Bool = false;
public var finish:Bool = false;
- var originCube:Mesh;
-
public function new(marble:Marble) {
super();
this.marble = marble;
@@ -74,11 +72,6 @@ class CameraController extends Object {
public function init(level:MarbleWorld) {
this.level = level;
- var cub = Cube.defaultUnitCube();
- cub.addUVs();
- cub.scale(0.2);
- cub.addNormals();
- originCube = new Mesh(cub, Material.create(), level.scene);
Window.getInstance().addEventTarget(onEvent);
// level.scene.addEventListener(onEvent);
// Sdl.setRelativeMouseMode(true);
diff --git a/src/gui/EndGameGui.hx b/src/gui/EndGameGui.hx
index c69ca008..c5fe382e 100644
--- a/src/gui/EndGameGui.hx
+++ b/src/gui/EndGameGui.hx
@@ -73,6 +73,8 @@ class EndGameGui extends GuiControl {
return domcasual32.toFont();
case "Arial14":
return arial14.toFont();
+ case "Expo32":
+ return expo32.toFont();
default:
return null;
}
@@ -86,13 +88,22 @@ class EndGameGui extends GuiControl {
congrats.extent = new Vector(408, 50);
pg.addChild(congrats);
- var finishMessage = new GuiText(expo32);
+ var finishMessage = new GuiMLText(expo32, mlFontLoader);
finishMessage.text.textColor = 0x00ff00;
- finishMessage.text.text = "You've qualified!";
+ var qualified = mission.qualifyTime > timeState.gameplayClock;
+ if (qualified)
+ finishMessage.text.text = timeState.gameplayClock < mission.goldTime ? 'You beat the GOLD time!' : "You've qualified!";
+ else
+ finishMessage.text.text = 'You failed to qualify!';
finishMessage.text.filter = new DropShadow(1, 0.785, 0, 1, 0, 0.4, 1, true);
- finishMessage.justify = Center;
+ // finishMessage.justify = Center;
finishMessage.position = new Vector(155, 65);
- finishMessage.extent = new Vector(200, 100);
+ if (timeState.gameplayClock < mission.goldTime) {
+ finishMessage.position.x = 110;
+ }
+ if (!qualified)
+ finishMessage.position.x = 125;
+ finishMessage.extent = new Vector(400, 100);
pg.addChild(finishMessage);
var scoreData:Array = Settings.getScores(mission.path);
diff --git a/src/gui/PlayMissionGui.hx b/src/gui/PlayMissionGui.hx
index 5928a992..569bb500 100644
--- a/src/gui/PlayMissionGui.hx
+++ b/src/gui/PlayMissionGui.hx
@@ -223,8 +223,6 @@ class PlayMissionGui extends GuiImage {
currentList = MissionList.beginnerMissions;
- // TODO actual tab buttons
-
setCategoryFunc = function(category:String) {
localContainer.removeChild(tabBeginner);
localContainer.removeChild(tabIntermediate);
@@ -279,6 +277,10 @@ class PlayMissionGui extends GuiImage {
return splits.join('\n');
}
+ var goldBadge = ResourceLoader.getImage("data/ui/play/goldscore.png").toTile();
+ goldBadge.dy = 2.5;
+ goldBadge.dx = 8;
+
setSelectedFunc = function setSelected(index:Int) {
if (index > currentList.length - 1) {
index = currentList.length - 1;
@@ -307,6 +309,9 @@ class PlayMissionGui extends GuiImage {
var descText = '${currentMission.title}
'
+ splitTextWithPadding(pmDescription.text, Util.unescape(currentMission.description));
+ if (currentMission.qualifyTime != Math.POSITIVE_INFINITY) {
+ descText += '
Time To Qualify: ${Util.formatTime(currentMission.qualifyTime)}';
+ }
descText += '
Best Times:
';
for (i in 0...3) {
descText += '
ÂÂ${i + 1}. ${scoreData[i].name}';
@@ -315,11 +320,19 @@ class PlayMissionGui extends GuiImage {
var descText2 = '
'
+ '${splitTextWithPadding(pmDescriptionOther.text, Util.unescape(currentMission.description))}';
- descText2 += '
';
+ descText2 += '
';
+ if (currentMission.qualifyTime != Math.POSITIVE_INFINITY) {
+ descText2 += '
Time To Qualify: ${Util.formatTime(currentMission.qualifyTime)}';
+ }
+ descText2 += '
';
for (i in 0...3) {
descText2 += '
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ${Util.formatTime(scoreData[i].time)}';
+ if (scoreData[i].time < currentMission.goldTime) {
+ descText2 += '
';
+ }
}
pmDescriptionOther.text.text = descText2;
+ pmDescriptionOther.text.loadImage = (name) -> goldBadge;
pmPreview.bmp.tile = currentMission.getPreviewImage();