mirror of
https://github.com/RandomityGuy/MBHaxe.git
synced 2025-10-30 08:11:25 +00:00
cla shit
This commit is contained in:
parent
4281833793
commit
c9355d0eba
5 changed files with 50 additions and 11 deletions
1
data/cla_list.json
Normal file
1
data/cla_list.json
Normal file
File diff suppressed because one or more lines are too long
BIN
marblegame.hl
BIN
marblegame.hl
Binary file not shown.
|
|
@ -1,5 +1,7 @@
|
||||||
package src;
|
package src;
|
||||||
|
|
||||||
|
import haxe.io.BytesBuffer;
|
||||||
|
import haxe.Http;
|
||||||
import h2d.Tile;
|
import h2d.Tile;
|
||||||
import hxd.BitmapData;
|
import hxd.BitmapData;
|
||||||
import mis.MisParser;
|
import mis.MisParser;
|
||||||
|
|
@ -21,6 +23,8 @@ class Mission {
|
||||||
public var missionInfo:MissionElementScriptObject;
|
public var missionInfo:MissionElementScriptObject;
|
||||||
public var index:Int;
|
public var index:Int;
|
||||||
public var difficultyIndex:Int;
|
public var difficultyIndex:Int;
|
||||||
|
public var id:Int;
|
||||||
|
public var isClaMission:Bool;
|
||||||
|
|
||||||
public function new() {}
|
public function new() {}
|
||||||
|
|
||||||
|
|
@ -51,16 +55,28 @@ class Mission {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getPreviewImage() {
|
public function getPreviewImage() {
|
||||||
var basename = haxe.io.Path.withoutExtension(this.path);
|
if (!this.isClaMission) {
|
||||||
if (ResourceLoader.fileSystem.exists(basename + ".png")) {
|
var basename = haxe.io.Path.withoutExtension(this.path);
|
||||||
return ResourceLoader.getImage(basename + ".png").toTile();
|
if (ResourceLoader.fileSystem.exists(basename + ".png")) {
|
||||||
|
return ResourceLoader.getImage(basename + ".png").toTile();
|
||||||
|
}
|
||||||
|
if (ResourceLoader.fileSystem.exists(basename + ".jpg")) {
|
||||||
|
return ResourceLoader.getImage(basename + ".jpg").toTile();
|
||||||
|
}
|
||||||
|
var img = new BitmapData(1, 1);
|
||||||
|
img.setPixel(0, 0, 0);
|
||||||
|
return Tile.fromBitmap(img);
|
||||||
|
} else {
|
||||||
|
var outputString = Http.requestUrl('https://marbleblast.vani.ga/api/custom/${this.id}.jpg');
|
||||||
|
#if hl
|
||||||
|
sys.FileSystem.createDirectory("data/previewcache");
|
||||||
|
sys.io.File.write('data/previewcache/${this.id}.jpg', true).writeString(outputString);
|
||||||
|
var imgData = ResourceLoader.getFileEntry('data/previewcache/${this.id}.jpg');
|
||||||
|
var img = new BitmapData(1, 1);
|
||||||
|
img.setPixel(0, 0, 0);
|
||||||
|
return Tile.fromBitmap(img);
|
||||||
|
#end
|
||||||
}
|
}
|
||||||
if (ResourceLoader.fileSystem.exists(basename + ".jpg")) {
|
|
||||||
return ResourceLoader.getImage(basename + ".jpg").toTile();
|
|
||||||
}
|
|
||||||
var img = new BitmapData(1, 1);
|
|
||||||
img.setPixel(0, 0, 0);
|
|
||||||
return Tile.fromBitmap(img);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getDifPath(rawElementPath:String) {
|
public function getDifPath(rawElementPath:String) {
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
import haxe.Json;
|
||||||
import mis.MisParser;
|
import mis.MisParser;
|
||||||
import src.ResourceLoader;
|
import src.ResourceLoader;
|
||||||
import src.Mission;
|
import src.Mission;
|
||||||
|
|
@ -41,6 +42,26 @@ class MissionList {
|
||||||
advancedMissions = parseDifficulty("advanced");
|
advancedMissions = parseDifficulty("advanced");
|
||||||
customMissions = parseDifficulty("custom");
|
customMissions = parseDifficulty("custom");
|
||||||
|
|
||||||
|
// parseCLAList();
|
||||||
|
|
||||||
_build = true;
|
_build = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static function parseCLAList() {
|
||||||
|
var claJson:Array<Dynamic> = Json.parse(ResourceLoader.fileSystem.get("data/cla_list.json").getText());
|
||||||
|
|
||||||
|
for (missionData in claJson) {
|
||||||
|
var mission = new Mission();
|
||||||
|
mission.id = missionData.id;
|
||||||
|
mission.artist = missionData.artist;
|
||||||
|
mission.title = missionData.name;
|
||||||
|
mission.description = missionData.desc;
|
||||||
|
mission.qualifyTime = missionData.time;
|
||||||
|
mission.goldTime = missionData.goldTime;
|
||||||
|
mission.path = missionData.baseName;
|
||||||
|
mission.isClaMission = true;
|
||||||
|
|
||||||
|
customMissions.push(mission);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -437,7 +437,7 @@ class PlayMissionGui extends GuiImage {
|
||||||
}
|
}
|
||||||
|
|
||||||
var descText = '<font face="DomCasual24" color="#000000">${currentMission.title}</font><br/><br/>'
|
var descText = '<font face="DomCasual24" color="#000000">${currentMission.title}</font><br/><br/>'
|
||||||
+ splitTextWithPadding(pmDescription.text, Util.unescape(currentMission.description));
|
+ splitTextWithPadding(pmDescription.text, StringTools.htmlEscape(Util.unescape(currentMission.description)));
|
||||||
if (currentMission.qualifyTime != Math.POSITIVE_INFINITY) {
|
if (currentMission.qualifyTime != Math.POSITIVE_INFINITY) {
|
||||||
descText += '<font face="DomCasual24"><br/>Time To Qualify: ${Util.formatTime(currentMission.qualifyTime)}</font>';
|
descText += '<font face="DomCasual24"><br/>Time To Qualify: ${Util.formatTime(currentMission.qualifyTime)}</font>';
|
||||||
}
|
}
|
||||||
|
|
@ -448,7 +448,8 @@ class PlayMissionGui extends GuiImage {
|
||||||
pmDescription.text.text = descText;
|
pmDescription.text.text = descText;
|
||||||
|
|
||||||
var descText2 = '<br/><br/>'
|
var descText2 = '<br/><br/>'
|
||||||
+ '<font opacity="0">${splitTextWithPadding(pmDescriptionOther.text, Util.unescape(currentMission.description))}</font>';
|
+
|
||||||
|
'<font opacity="0">${splitTextWithPadding(pmDescriptionOther.text, StringTools.htmlEscape(Util.unescape(currentMission.description)))}</font>';
|
||||||
descText2 += '<br/><br/>';
|
descText2 += '<br/><br/>';
|
||||||
if (currentMission.qualifyTime != Math.POSITIVE_INFINITY) {
|
if (currentMission.qualifyTime != Math.POSITIVE_INFINITY) {
|
||||||
descText2 += '<font face="DomCasual24" opacity="0"><br/>Time To Qualify: ${Util.formatTime(currentMission.qualifyTime)}</font>';
|
descText2 += '<font face="DomCasual24" opacity="0"><br/>Time To Qualify: ${Util.formatTime(currentMission.qualifyTime)}</font>';
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue