mirror of
https://github.com/RandomityGuy/MBHaxe.git
synced 2025-10-30 08:11:25 +00:00
exit LB replays on pmg
This commit is contained in:
parent
c12cdfc908
commit
efd4f50e4e
7 changed files with 17 additions and 20 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
|
@ -16,6 +16,10 @@ node_modules
|
||||||
fonts
|
fonts
|
||||||
package.json
|
package.json
|
||||||
package-lock.json
|
package-lock.json
|
||||||
|
leaderboards
|
||||||
|
out
|
||||||
|
server
|
||||||
|
mpcustom
|
||||||
|
|
||||||
macos-dist/MarbleBlast Platinum.app/
|
macos-dist/MarbleBlast Platinum.app/
|
||||||
macos-dist/data/
|
macos-dist/data/
|
||||||
|
|
|
||||||
|
|
@ -62,6 +62,8 @@ class MarbleGame {
|
||||||
|
|
||||||
var _mouseWheelDelta:Float;
|
var _mouseWheelDelta:Float;
|
||||||
|
|
||||||
|
var replayEndClass:Class<GuiControl>;
|
||||||
|
|
||||||
public function new(scene2d:h2d.Scene, scene:h3d.scene.Scene) {
|
public function new(scene2d:h2d.Scene, scene:h3d.scene.Scene) {
|
||||||
Console.log("Initializing the game...");
|
Console.log("Initializing the game...");
|
||||||
canvas = new Canvas(scene2d, cast this);
|
canvas = new Canvas(scene2d, cast this);
|
||||||
|
|
@ -369,12 +371,8 @@ class MarbleGame {
|
||||||
Analytics.trackLevelQuit(world.mission.title, world.mission.path, Std.int(world.timeState.timeSinceLoad * 1000), stats.oobs, stats.respawns,
|
Analytics.trackLevelQuit(world.mission.title, world.mission.path, Std.int(world.timeState.timeSinceLoad * 1000), stats.oobs, stats.respawns,
|
||||||
Settings.optionsSettings.rewindEnabled);
|
Settings.optionsSettings.rewindEnabled);
|
||||||
paused = false;
|
paused = false;
|
||||||
if (world.isWatching && !world.replay.isLBReplay) {
|
if (world.isWatching) {
|
||||||
#if !js
|
canvas.setContent(Type.createInstance(replayEndClass, []));
|
||||||
canvas.setContent(new ReplayCenterGui());
|
|
||||||
#else
|
|
||||||
canvas.setContent(new MainMenuGui());
|
|
||||||
#end
|
|
||||||
} else {
|
} else {
|
||||||
if (Net.isMP) {
|
if (Net.isMP) {
|
||||||
var lobby = new MPPlayMissionGui(Net.isHost);
|
var lobby = new MPPlayMissionGui(Net.isHost);
|
||||||
|
|
@ -405,8 +403,9 @@ class MarbleGame {
|
||||||
world.init();
|
world.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function watchMissionReplay(mission:Mission, replay:Replay) {
|
public function watchMissionReplay(mission:Mission, replay:Replay, replayEndGui:Class<GuiControl>) {
|
||||||
canvas.clearContent();
|
canvas.clearContent();
|
||||||
|
replayEndClass = replayEndGui;
|
||||||
Analytics.trackSingle("replay-watch");
|
Analytics.trackSingle("replay-watch");
|
||||||
world = new MarbleWorld(scene, scene2d, mission);
|
world = new MarbleWorld(scene, scene2d, mission);
|
||||||
world.replay = replay;
|
world.replay = replay;
|
||||||
|
|
|
||||||
|
|
@ -1818,11 +1818,8 @@ class MarbleWorld extends Scheduler {
|
||||||
}
|
}
|
||||||
this.setCursorLock(false);
|
this.setCursorLock(false);
|
||||||
this.dispose();
|
this.dispose();
|
||||||
#if !js
|
MarbleGame.canvas.setContent(Type.createInstance(@:privateAccess MarbleGame.instance.replayEndClass, []));
|
||||||
MarbleGame.canvas.setContent(new ReplayCenterGui());
|
|
||||||
#end
|
|
||||||
#if js
|
#if js
|
||||||
MarbleGame.canvas.setContent(new MainMenuGui());
|
|
||||||
var pointercontainer = js.Browser.document.querySelector("#pointercontainer");
|
var pointercontainer = js.Browser.document.querySelector("#pointercontainer");
|
||||||
pointercontainer.hidden = false;
|
pointercontainer.hidden = false;
|
||||||
#end
|
#end
|
||||||
|
|
|
||||||
|
|
@ -265,7 +265,6 @@ class Replay {
|
||||||
public var mission:String;
|
public var mission:String;
|
||||||
public var name:String;
|
public var name:String;
|
||||||
public var customId:Int;
|
public var customId:Int;
|
||||||
public var isLBReplay:Bool;
|
|
||||||
|
|
||||||
var frames:Array<ReplayFrame>;
|
var frames:Array<ReplayFrame>;
|
||||||
var initialState:ReplayInitialState;
|
var initialState:ReplayInitialState;
|
||||||
|
|
@ -283,7 +282,6 @@ class Replay {
|
||||||
this.mission = mission;
|
this.mission = mission;
|
||||||
this.customId = customId;
|
this.customId = customId;
|
||||||
this.initialState = new ReplayInitialState();
|
this.initialState = new ReplayInitialState();
|
||||||
this.isLBReplay = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function startFrame() {
|
public function startFrame() {
|
||||||
|
|
|
||||||
|
|
@ -144,11 +144,11 @@ class MainMenuGui extends GuiImage {
|
||||||
var mi = replay.customId == 0 ? MissionList.missions.get(repmis) : Marbleland.missions.get(replay.customId);
|
var mi = replay.customId == 0 ? MissionList.missions.get(repmis) : Marbleland.missions.get(replay.customId);
|
||||||
if (mi.isClaMission) {
|
if (mi.isClaMission) {
|
||||||
mi.download(() -> {
|
mi.download(() -> {
|
||||||
MarbleGame.instance.watchMissionReplay(mi, replay);
|
MarbleGame.instance.watchMissionReplay(mi, replay, MainMenuGui);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
if (mi != null) {
|
if (mi != null) {
|
||||||
cast(this.parent, Canvas).marbleGame.watchMissionReplay(mi, replay);
|
cast(this.parent, Canvas).marbleGame.watchMissionReplay(mi, replay, MainMenuGui);
|
||||||
} else {
|
} else {
|
||||||
cast(this.parent, Canvas).pushDialog(new MessageBoxOkDlg("Cannot load replay."));
|
cast(this.parent, Canvas).pushDialog(new MessageBoxOkDlg("Cannot load replay."));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -835,7 +835,6 @@ class PlayMissionGui extends GuiImage {
|
||||||
Leaderboards.watchTopReplay(lbPath, scoreView, (b) -> {
|
Leaderboards.watchTopReplay(lbPath, scoreView, (b) -> {
|
||||||
if (b != null) {
|
if (b != null) {
|
||||||
var replayF = new Replay("");
|
var replayF = new Replay("");
|
||||||
replayF.isLBReplay = true;
|
|
||||||
if (replayF.read(b)) {
|
if (replayF.read(b)) {
|
||||||
var repmis = replayF.mission;
|
var repmis = replayF.mission;
|
||||||
// Strip data/ from the mission name
|
// Strip data/ from the mission name
|
||||||
|
|
@ -854,10 +853,10 @@ class PlayMissionGui extends GuiImage {
|
||||||
|
|
||||||
if (mi.isClaMission) {
|
if (mi.isClaMission) {
|
||||||
mi.download(() -> {
|
mi.download(() -> {
|
||||||
MarbleGame.instance.watchMissionReplay(mi, replayF);
|
MarbleGame.instance.watchMissionReplay(mi, replayF, PlayMissionGui);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
MarbleGame.instance.watchMissionReplay(mi, replayF);
|
MarbleGame.instance.watchMissionReplay(mi, replayF, PlayMissionGui);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
MarbleGame.canvas.pushDialog(new MessageBoxOkDlg("Could not load replay for this level."));
|
MarbleGame.canvas.pushDialog(new MessageBoxOkDlg("Could not load replay for this level."));
|
||||||
|
|
|
||||||
|
|
@ -76,11 +76,11 @@ class ReplayCenterGui extends GuiImage {
|
||||||
var mi = repl.customId == 0 ? MissionList.missions.get(repmis) : Marbleland.missions.get(repl.customId);
|
var mi = repl.customId == 0 ? MissionList.missions.get(repmis) : Marbleland.missions.get(repl.customId);
|
||||||
if (mi.isClaMission) {
|
if (mi.isClaMission) {
|
||||||
mi.download(() -> {
|
mi.download(() -> {
|
||||||
MarbleGame.instance.watchMissionReplay(mi, repl);
|
MarbleGame.instance.watchMissionReplay(mi, repl, ReplayCenterGui);
|
||||||
});
|
});
|
||||||
playButton.disabled = true; // Don't let us play anything else
|
playButton.disabled = true; // Don't let us play anything else
|
||||||
} else {
|
} else {
|
||||||
MarbleGame.instance.watchMissionReplay(mi, repl);
|
MarbleGame.instance.watchMissionReplay(mi, repl, ReplayCenterGui);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue