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