Browse Source

flash9 compatibility

Nicolas Cannasse 19 years ago
parent
commit
4043a86f16
2 changed files with 27 additions and 6 deletions
  1. 12 2
      std/Math.hx
  2. 15 4
      std/Std.hx

+ 12 - 2
std/Math.hx

@@ -56,12 +56,20 @@ extern class Math
 	#if neko
 		Math = neko.NekoMath__;
 	#else true
+		#if flash9
+		NaN = __global__.Number.NaN;
+		NEGATIVE_INFINITY = __global__.Number.NEGATIVE_INFINITY;
+		POSITIVE_INFINITY = __global__.Number.POSITIVE_INFINITY;
+		#else true
 		NaN = Number["NaN"];
 		NEGATIVE_INFINITY = Number["NEGATIVE_INFINITY"];
 		POSITIVE_INFINITY = Number["POSITIVE_INFINITY"];
+		#end
 		isFinite = function(i) {
 			return
-			#if flash
+			#if flash9
+			__global__.isFinite(i);
+			#else flash
 			_global["isFinite"](i);
 			#else js
 			__js__("isFinite")(i);
@@ -70,7 +78,9 @@ extern class Math
 		};
 		isNaN = function(i) {
 			return
-			#if flash
+			#if flash9
+			__global__.isNaN(i);
+			#else flash
 			_global["isNaN"](i);
 			#else js
 			__js__("isNaN")(i);

+ 15 - 4
std/Std.hx

@@ -77,7 +77,12 @@ class Std {
 	**/
 	public static function parseInt( x : String ) : Int {
 		untyped {
-		#if flash
+		#if flash9
+		var v = __global__.parseInt(x);
+		if( Math.isNaN(v) )
+			return null;
+		return v;
+		#else flash
 		var v = _global["parseInt"](x);
 		if( Math.isNaN(v) )
 			return null;
@@ -106,7 +111,9 @@ class Std {
 	**/
 	public static function parseFloat( x : String ) : Float {
 		return untyped
-		#if flash
+		#if flash9
+		__global__.parseFloat(x);
+		#else flash
 		_global["parseFloat"](x);
 		#else neko
 		__dollar__float(x.__s);
@@ -166,7 +173,9 @@ class Std {
 	**/
 	public static function random( x : Int ) : Int {
 		return untyped
-		#if flash
+		#if flash9
+		Math.floor(Math.random()*x);
+		#else flash
 		__random__(x);
 		#else neko
 		Math._rand_int(Math.__rnd,x);
@@ -181,7 +190,9 @@ class Std {
 	**/
 	public static function resource( name : String ) : String {
 		return untyped
-		#if flash
+		#if flash9
+		null;
+		#else flash
 		flash.Boot.__res[name];
 		#else neko
 		__dollar__objget(neko.Boot.__res,__dollar__hash(name.__s));