Fix compatibility with older Haxe

This commit is contained in:
Josh Tynjala
2022-04-26 13:20:43 -07:00
parent 80f83f69c7
commit ee39b85a9e
8 changed files with 82 additions and 76 deletions

View File

@@ -10,17 +10,3 @@ typedef ApplicationData =
@:optional var swfVersion:Float; @:optional var swfVersion:Float;
@:optional var url:String; @:optional var url:String;
} }
@:dox(hide) class _ApplicationDataType
{
public static var fields:ApplicationData =
{
file: "",
init: "",
main: "",
path: "",
preloader: "",
swfVersion: 0.0,
url: ""
}
}

View File

@@ -0,0 +1,16 @@
package lime.tools;
@:dox(hide)
class ApplicationDataDefaults
{
public static var fields:ApplicationData =
{
file: "",
init: "",
main: "",
path: "",
preloader: "",
swfVersion: 0.0,
url: ""
}
}

View File

@@ -11,18 +11,3 @@ typedef MetaData =
@:optional var title:String; @:optional var title:String;
@:optional var version:String; @:optional var version:String;
} }
@:dox(hide) class _MetaDataType
{
public static var fields:MetaData =
{
buildNumber: "",
company: "",
companyId: "",
companyUrl: "",
description: "",
packageName: "",
title: "",
version: ""
}
}

View File

@@ -0,0 +1,17 @@
package lime.tools;
@:dox(hide)
class MetaDataDefaults
{
public static var fields:MetaData =
{
buildNumber: "",
company: "",
companyId: "",
companyUrl: "",
description: "",
packageName: "",
title: "",
version: ""
}
}

View File

@@ -439,11 +439,11 @@ class ProjectXMLParser extends HXProject
name = "packageName"; name = "packageName";
} }
if (Reflect.hasField(ApplicationData._ApplicationDataType.fields, name)) if (Reflect.hasField(ApplicationDataDefaults.fields, name))
{ {
Reflect.setField(app, name, value); Reflect.setField(app, name, value);
} }
else if (Reflect.hasField(MetaData._MetaDataType.fields, name)) else if (Reflect.hasField(MetaDataDefaults.fields, name))
{ {
Reflect.setField(meta, name, value); Reflect.setField(meta, name, value);
} }
@@ -856,7 +856,7 @@ class ProjectXMLParser extends HXProject
name = "packageName"; name = "packageName";
} }
if (Reflect.hasField(MetaData._MetaDataType.fields, name)) if (Reflect.hasField(MetaDataDefaults.fields, name))
{ {
Reflect.setField(meta, name, value); Reflect.setField(meta, name, value);
} }
@@ -2006,11 +2006,11 @@ class ProjectXMLParser extends HXProject
Reflect.setField(windows[id], "colorDepth", Std.parseInt(value)); Reflect.setField(windows[id], "colorDepth", Std.parseInt(value));
default: default:
if (Reflect.hasField(WindowData._WindowDataType.fields, name)) if (Reflect.hasField(WindowDataDefaults.fields, name))
{ {
Reflect.setField(windows[id], name, value == "true"); Reflect.setField(windows[id], name, value == "true");
} }
else if (Reflect.hasField(WindowData._WindowDataType.fields, formatAttributeName(name))) else if (Reflect.hasField(WindowDataDefaults.fields, formatAttributeName(name)))
{ {
Reflect.setField(windows[id], formatAttributeName(name), value == "true"); Reflect.setField(windows[id], formatAttributeName(name), value == "true");
} }

View File

@@ -32,39 +32,3 @@ typedef WindowData =
@:optional var maximized:Bool; @:optional var maximized:Bool;
@:optional var hidden:Bool; @:optional var hidden:Bool;
} }
@:dox(hide) class _WindowDataType
{
public static var fields:WindowData =
{
width: 0,
height: 0,
x: 0.0,
y: 0.0,
background: 0,
parameters: "",
fps: 0,
hardware: false,
display: 0,
resizable: false,
borderless: false,
vsync: false,
fullscreen: false,
allowHighDPI: false,
alwaysOnTop: false,
antialiasing: 0,
orientation: Orientation.AUTO,
allowShaders: false,
requireShaders: false,
depthBuffer: false,
stencilBuffer: false,
title: "",
#if (js && html5)
element: null,
#end
colorDepth: 0,
minimized: false,
maximized: false,
hidden: false
}
}

View File

@@ -0,0 +1,38 @@
package lime.tools;
@:dox(hide)
class WindowDataDefaults
{
public static var fields:WindowData =
{
width: 0,
height: 0,
x: 0.0,
y: 0.0,
background: 0,
parameters: "",
fps: 0,
hardware: false,
display: 0,
resizable: false,
borderless: false,
vsync: false,
fullscreen: false,
allowHighDPI: false,
alwaysOnTop: false,
antialiasing: 0,
orientation: Orientation.AUTO,
allowShaders: false,
requireShaders: false,
depthBuffer: false,
stencilBuffer: false,
title: "",
#if (js && html5)
element: null,
#end
colorDepth: 0,
minimized: false,
maximized: false,
hidden: false
}
}

View File

@@ -1860,9 +1860,9 @@ class CommandLineTools
var fieldValue = Reflect.field(project, field); var fieldValue = Reflect.field(project, field);
var typeValue:Dynamic = switch (field) var typeValue:Dynamic = switch (field)
{ {
case "app": ApplicationData._ApplicationDataType.fields; case "app": ApplicationDataDefaults.fields;
case "meta": MetaData._MetaDataType.fields; case "meta": MetaDataDefaults.fields;
case "window": WindowData._WindowDataType.fields; case "window": WindowDataDefaults.fields;
default: fieldValue; default: fieldValue;
}; };
@@ -2130,9 +2130,9 @@ class CommandLineTools
var fieldReference = Reflect.field(overrides, fieldName); var fieldReference = Reflect.field(overrides, fieldName);
var typeValue:Dynamic = switch (fieldName) var typeValue:Dynamic = switch (fieldName)
{ {
case "app": ApplicationData._ApplicationDataType.fields; case "app": ApplicationDataDefaults.fields;
case "meta": MetaData._MetaDataType.fields; case "meta": MetaDataDefaults.fields;
case "window": WindowData._WindowDataType.fields; case "window": WindowDataDefaults.fields;
default: fieldReference; default: fieldReference;
}; };