@@ -21,6 +21,48 @@ class UpdateSubState extends FlxSubState
2121 var onDone : UpdateSubStateCallback ;
2222 var started : Bool = false ;
2323
24+ // --- Semantic version helpers ---
25+ static function versionToArray (ver : Dynamic ): Array <Int >
26+ {
27+ if (ver == null )
28+ return [0 ];
29+ var s = Std .string (ver ).replace (" _" , " ." );
30+ var parts = s .split (" ." );
31+ if (parts .length == 1 && s .indexOf (" _" ) != - 1 )
32+ parts = s .split (" _" );
33+ var arr = [];
34+ for (p in parts )
35+ {
36+ var n = Std .parseInt (p );
37+ arr .push ((n == null ) ? 0 : n );
38+ }
39+ return arr ;
40+ }
41+
42+ static function compareVersions (a : Array <Int >, b : Array <Int >): Int
43+ {
44+ var len : Int = Math .ceil (Math .max (a .length , b .length ));
45+ for (i in 0 ... len )
46+ {
47+ var ai = (i < a .length ) ? a [i ] : 0 ;
48+ var bi = (i < b .length ) ? b [i ] : 0 ;
49+ if (ai > bi )
50+ return 1 ;
51+ if (ai < bi )
52+ return - 1 ;
53+ }
54+ return 0 ;
55+ }
56+
57+ static function arrayToVersion (arr : Array <Int >): Int
58+ {
59+ // Return a comparable integer for legacy code (e.g., 1.1.0 => 10100)
60+ var v = 0 ;
61+ for (i in 0 ... arr .length )
62+ v = v * 100 + arr [i ];
63+ return v ;
64+ }
65+
2466 public function new (mode : UpdateMode , onDone : UpdateSubStateCallback )
2567 {
2668 super ();
@@ -178,42 +220,6 @@ class UpdateSubState extends FlxSubState
178220 runInstallerAndExit (tmp );
179221 onDone (true );
180222 }, onError );
181- // --- Semantic version helpers ---
182- static function versionToArray (ver : Dynamic ): Array <Int >
183- {
184- if (ver == null ) return [0 ];
185- var s = Std .string (ver ).replace (" _" , " ." );
186- var parts = s .split (/ [._ ]/ );
187- var arr = [];
188- for (p in parts )
189- {
190- var n = Std .parseInt (p );
191- arr .push ((n == null ) ? 0 : n );
192- }
193- return arr ;
194- }
195-
196- static function compareVersions (a : Array <Int >, b : Array <Int >): Int
197- {
198- var len = Math .max (a .length , b .length );
199- for (i in 0 ... len )
200- {
201- var ai = (i < a .length ) ? a [i ] : 0 ;
202- var bi = (i < b .length ) ? b [i ] : 0 ;
203- if (ai > bi ) return 1 ;
204- if (ai < bi ) return - 1 ;
205- }
206- return 0 ;
207- }
208-
209- static function arrayToVersion (arr : Array <Int >): Int
210- {
211- // Return a comparable integer for legacy code (e.g., 1.1.0 => 10100)
212- var v = 0 ;
213- for (i in 0 ... arr .length )
214- v = v * 100 + arr [i ];
215- return v ;
216- }
217223 }, onError );
218224 }
219225 catch (e : Dynamic )
@@ -359,18 +365,22 @@ static function arrayToVersion(arr:Array<Int>):Int
359365 var total = toDelete .length + toDownload .length ;
360366 var self = this ;
361367 var lastDraw = Sys .time ();
362- function pumpEvents () {
368+ function pumpEvents ()
369+ {
363370 #if !flash
364- try {
365- FlxG .update ();
366- FlxG .draw ();
367- } catch (_ : Dynamic ) {}
371+ try
372+ {
373+ update (Sys .time () - lastDraw );
374+ draw ();
375+ }
376+ catch (_ : Dynamic ) {}
368377 #end
369378 }
370379 function next ()
371380 {
372381 // Periodically pump events to keep UI responsive
373- if (Sys .time () - lastDraw > 0.2 ) {
382+ if (Sys .time () - lastDraw > 0.2 )
383+ {
374384 pumpEvents ();
375385 lastDraw = Sys .time ();
376386 }
0 commit comments