[haxe] Apply fixes to target hl (HashLink).

This commit is contained in:
Davide Tantillo 2025-11-27 15:05:28 +01:00
parent 67d38adebf
commit 264ac86456
2 changed files with 105 additions and 101 deletions

View File

@ -29,20 +29,19 @@
package;
import openfl.events.Event;
import starling.events.Event as StarlingEvent;
import flixelExamples.FlixelState;
import starlingExamples.BasicExample;
import starlingExamples.Scene.SceneManager;
import starling.core.Starling;
import flixel.FlxG;
import flixel.FlxGame;
import openfl.display.Sprite;
import openfl.text.TextField;
import openfl.text.TextFormat;
import openfl.events.MouseEvent;
import openfl.geom.Rectangle;
import starling.events.Event;
class Main extends Sprite {
private var background:Sprite;
@ -157,17 +156,19 @@ class Main extends Sprite {
}
private var starlingSingleton:Starling;
private function onStarlingClick(e:MouseEvent):Void {
trace("Launching Starling game");
starlingSingleton = new Starling(starling.display.Sprite, stage, new Rectangle(0, 0, 800, 600));
starlingSingleton.supportHighResolutions = true;
starlingSingleton.addEventListener(Event.ROOT_CREATED, onStarlingRootCreated);
starlingSingleton.addEventListener(StarlingEvent.ROOT_CREATED, onStarlingRootCreated);
}
private function onStarlingRootCreated(event:Event):Void {
private function onStarlingRootCreated(event:StarlingEvent):Void {
destroyUI();
starlingSingleton.removeEventListener(Event.ROOT_CREATED, onStarlingRootCreated);
starlingSingleton.removeEventListener(StarlingEvent.ROOT_CREATED, onStarlingRootCreated);
starlingSingleton.start();
Starling.current.stage.stageWidth = 800;
Starling.current.stage.stageHeight = 600;
Starling.current.stage.color = 0x000000;
SceneManager.getInstance().switchScene(new BasicExample());

View File

@ -29,6 +29,7 @@
package spine;
import haxe.DynamicAccess;
import Reflect;
import haxe.Json;
import spine.animation.AlphaTimeline;
@ -134,8 +135,7 @@ class SkeletonJson {
boneData.scaleY = getFloat(boneMap, "scaleY", 1);
boneData.shearX = getFloat(boneMap, "shearX");
boneData.shearY = getFloat(boneMap, "shearY");
boneData.inherit = Reflect.hasField(boneMap,
"inherit") ? Inherit.fromName(Reflect.getProperty(boneMap, "inherit")) : Inherit.normal;
boneData.inherit = Reflect.hasField(boneMap, "inherit") ? Inherit.fromName(Reflect.getProperty(boneMap, "inherit")) : Inherit.normal;
boneData.skinRequired = Reflect.hasField(boneMap, "skin") ? cast(Reflect.getProperty(boneMap, "skin"), Bool) : false;
var color:String = Reflect.getProperty(boneMap, "color");
@ -312,12 +312,17 @@ class SkeletonJson {
physicsData.wind = getFloat(constraintMap, "wind");
physicsData.gravity = getFloat(constraintMap, "gravity");
physicsData.mix = getValue(constraintMap, "mix", 1);
physicsData.inertiaGlobal = Reflect.hasField(constraintMap, "inertiaGlobal") ? cast(Reflect.getProperty(constraintMap, "inertiaGlobal"), Bool) : false;
physicsData.strengthGlobal = Reflect.hasField(constraintMap, "strengthGlobal") ? cast(Reflect.getProperty(constraintMap, "strengthGlobal"), Bool) : false;
physicsData.dampingGlobal = Reflect.hasField(constraintMap, "dampingGlobal") ? cast(Reflect.getProperty(constraintMap, "dampingGlobal"), Bool) : false;
physicsData.dampingGlobal = Reflect.hasField(constraintMap, "dampingGlobal") ? cast(Reflect.getProperty(constraintMap, "dampingGlobal"), Bool) : false;
physicsData.inertiaGlobal = Reflect.hasField(constraintMap,
"inertiaGlobal") ? cast(Reflect.getProperty(constraintMap, "inertiaGlobal"), Bool) : false;
physicsData.strengthGlobal = Reflect.hasField(constraintMap,
"strengthGlobal") ? cast(Reflect.getProperty(constraintMap, "strengthGlobal"), Bool) : false;
physicsData.dampingGlobal = Reflect.hasField(constraintMap,
"dampingGlobal") ? cast(Reflect.getProperty(constraintMap, "dampingGlobal"), Bool) : false;
physicsData.dampingGlobal = Reflect.hasField(constraintMap,
"dampingGlobal") ? cast(Reflect.getProperty(constraintMap, "dampingGlobal"), Bool) : false;
physicsData.windGlobal = Reflect.hasField(constraintMap, "windGlobal") ? cast(Reflect.getProperty(constraintMap, "windGlobal"), Bool) : false;
physicsData.gravityGlobal = Reflect.hasField(constraintMap, "gravityGlobal") ? cast(Reflect.getProperty(constraintMap, "gravityGlobal"), Bool) : false;
physicsData.gravityGlobal = Reflect.hasField(constraintMap,
"gravityGlobal") ? cast(Reflect.getProperty(constraintMap, "gravityGlobal"), Bool) : false;
physicsData.mixGlobal = Reflect.hasField(constraintMap, "mixGlobal") ? cast(Reflect.getProperty(constraintMap, "mixGlobal"), Bool) : false;
skeletonData.physicsConstraints.push(physicsData);
@ -419,7 +424,7 @@ class SkeletonJson {
// Events.
var events:Dynamic = Reflect.getProperty(root, "events");
for (eventName in Reflect.fields(events)) {
var eventMap:Map<String, Dynamic> = Reflect.field(events, eventName);
var eventMap:DynamicAccess<Dynamic> = Reflect.field(events, eventName);
var eventData:EventData = new EventData(eventName);
eventData.intValue = getInt(eventMap, "int");
eventData.floatValue = getFloat(eventMap, "float");
@ -517,7 +522,7 @@ class SkeletonJson {
var box:BoundingBoxAttachment = attachmentLoader.newBoundingBoxAttachment(skin, name);
if (box == null)
return null;
readVertices(map, box, Std.parseInt(Reflect.field(map, "vertexCount")) << 1);
readVertices(map, box, getInt(map, "vertexCount", 0) << 1);
return box;
case AttachmentType.path:
var path:PathAttachment = attachmentLoader.newPathAttachment(skin, name);
@ -525,11 +530,10 @@ class SkeletonJson {
return null;
path.closed = Reflect.hasField(map, "closed") ? cast(Reflect.field(map, "closed"), Bool) : false;
path.constantSpeed = Reflect.hasField(map, "constantSpeed") ? cast(Reflect.field(map, "constantSpeed"), Bool) : true;
var vertexCount:Int = Std.parseInt(Reflect.field(map, "vertexCount"));
readVertices(map, path, vertexCount << 1);
readVertices(map, path, getInt(map, "vertexCount", 0) << 1);
var lengths:Array<Float> = new Array<Float>();
for (curves in cast(Reflect.field(map, "lengths"), Array<Dynamic>)) {
lengths.push(Std.parseFloat(curves) * scale);
lengths.push(curves * scale);
}
path.lengths = lengths;
return path;
@ -556,8 +560,7 @@ class SkeletonJson {
throw new SpineException("Clipping end slot not found: " + end);
clip.endSlot = slot;
}
var vertexCount:Int = getInt(map, "vertexCount", 0);
readVertices(map, clip, vertexCount << 1);
readVertices(map, clip, getInt(map, "vertexCount", 0) << 1);
color = Reflect.getProperty(map, "color");
if (color != null) {
clip.color.setFromString(color);