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();