Open Dinnerbone opened 4 years ago
Here is some content that requires setTimeout
/setInterval
along with updateAfterEvent
for the preloader: https://www.newgrounds.com/portal/view/558833
Currently gets stuck on the preloader because those functions aren't implemented. (Ironically this is code from some official Newgrounds preloaders I programmed eons ago... !)
@Dinnerbone Hello. Is this issue corresponds to the current state of affairs? We already have implemented parseFloat as I know.
This is the tracking issue for Top Level in AVM1. We will check off each item of progress as appropriate, and fill in any relevant or missing information as we continue development of Ruffle.
Legend
Each checkbox is independent of another. It's entirely possible for something to be tested but not exist yet, or for us to believe that it's completely functional but we haven't made enough tests to prove it.
"Property Exists"
This means the item exists, but may not necessarily be fully implemented.
"Has Test Coverage"
This means that we believe that we have a good test coverage of this item, regardless of if those tests pass. It's okay to have tests available but not implement the item yet.
"Completely Functional"
This means we believe that the item is completely implemented, and no more work needs to be done towards making it functional.
Top Level
Properties
_focusRect : Boolean
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
_global : Object
[x] Property Exists
[x] Has Test Coverage
[x] Completely Functional
_highquality : Number
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
_quality : String
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
_root : MovieClip
[x] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
_soundbuftime : Number
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
$version : Number
[x] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
Infinity : Number
[X] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
NaN : Number
[X] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
Accessibility
: Object
[X] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
Array
: Object
[X] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
AsBroadcaster
: Object
[x] Property Exists
[x] Has Test Coverage
[x] Completely Functional
Boolean
: Object
[X] Property Exists
[x] Has Test Coverage
[x] Completely Functional
Button
: Object
[x] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
Camera
: Object
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
Color
: Object
[x] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
ContextMenu
: Object
[x] Property Exists
[x] Has Test Coverage
[ ] Completely Functional
ContextMenuItem
: Object
[x] Property Exists
[x] Has Test Coverage
[ ] Completely Functional
CustomActions
: Object
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
Date
: Object
[x] Property Exists
[x] Has Test Coverage
[x] Completely Functional
Error
: Object
[x] Property Exists
[x] Has Test Coverage
[x] Completely Functional
Function
: Object
[X] Property Exists
[x] Has Test Coverage
[x] Completely Functional
FunctionArguments
: Object
[x] Property Exists
[x] Has Test Coverage
[ ] Completely Functional
Key
: Object
[X] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
LoadVars
: Object
[x] Property Exists
[x] Has Test Coverage
[ ] Completely Functional
LocalConnection
: Object
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
Math
: Object
[X] Property Exists
[x] Has Test Coverage
[x] Completely Functional
Microphone
: Object
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
Mouse
: Object
[X] Property Exists
[x] Has Test Coverage
[x] Completely Functional
MovieClip
: Object
[X] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
MovieClipLoader
: Object
[x] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
NetConnection
: Object
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
NetStream
: Object
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
Number
: Object
[X] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
Object
: Object
[X] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
PrintJob
: Object
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
Selection
: Object
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
SharedObject
: Object
[x] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
Sound
: Object
[x] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
Stage
: Object
[X] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
String
: Object
[x] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
System
: Object
[x] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
TextField
: Object
[X] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
TextFormat
: Object
[x] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
TextSnapshot
: Object
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
Video
: Object
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
XML
: Object
[x] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
XMLNode
: Object
[x] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
XMLSocket
: Object
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
flash.display.BitmapData
: Object
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
flash.external.ExternalInterface
: Object
[x] Property Exists
[x] Has Test Coverage
[x] Completely Functional
flash.filters.BevelFilter
: Object
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
flash.filters.BitmapFilter
: Object
[x] Property Exists
[x] Has Test Coverage
[x] Completely Functional
flash.filters.BlurFilter
: Object
[x] Property Exists
[x] Has Test Coverage
[x] Completely Functional
flash.filters.ColorMatrixFilter
: Object
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
flash.filters.ConvolutionFilter
: Object
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
flash.filters.DisplacementMapFilter
: Object
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
flash.filters.DropShadowFilter
: Object
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
flash.filters.GlowFilter
: Object
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
flash.filters.GradientBevelFilter
: Object
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
flash.filters.GradientGlowFilter
: Object
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
flash.geom.ColorTransform
: Object
[x] Property Exists
[x] Has Test Coverage
[x] Completely Functional
flash.geom.Matrix
: Object
[x] Property Exists
[x] Has Test Coverage
[ ] Completely Functional
flash.geom.Point
: Object
[x] Property Exists
[x] Has Test Coverage
[x] Completely Functional
flash.geom.Rectangle
: Object
[x] Property Exists
[x] Has Test Coverage
[ ] Completely Functional
flash.geom.Transform
: Object
[x] Property Exists
[x] Has Test Coverage
[x] Completely Functional
flash.net.FileReference
: Object
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
flash.net.FileReferenceList
: Object
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
flash.text.TextRenderer
: Object
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
Methods
ASSetPropFlags(object, properties, setFlags, clearFlags)
[X] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
clearInterval(id)
[x] Property Exists
[x] Has Test Coverage
[ ] Completely Functional
clearTimeout(id)
[x] Property Exists
[x] Has Test Coverage
[ ] Completely Functional
duplicateMovieClip(target, newName, depth)
(this compiles to
Action::CloneSprite
)
[x] Property Exists
[x] Has Test Coverage
[x] Completely Functional
escape(value)
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
getURL(url, window, method)
(this compiles to
Action::GetURL
orAction::GetURL2
)
[x] Property Exists
[x] Has Test Coverage
[x] Completely Functional
gotoAndPlay(sceneOrFrame, frame)
(this compiles to
Action::GotoFrame
orAction::GotoFrame2
)
[x] Property Exists
[x] Has Test Coverage
[x] Completely Functional
gotoAndStop()
(this compiles to
Action::GotoFrame
orAction::GotoFrame2
)
[x] Property Exists
[x] Has Test Coverage
[x] Completely Functional
isFinite(value)
[x] Property Exists
[x] Has Test Coverage
[x] Completely Functional
isNaN(value)
[X] Property Exists
[x] Has Test Coverage
[x] Completely Functional
loadMovie(url, target, method)
(this compiles to
Action::GetURL2
)
[x] Property Exists
[x] Has Test Coverage
[x] Completely Functional
loadVariables(url, target, method)
(this compiles to
Action::GetURL2
)
[x] Property Exists
[x] Has Test Coverage
[x] Completely Functional
nextFrame()
(this compiles to
Action::NextFrame
)
[x] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
parseFloat(value)
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
parseInt(value, radix)
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
play()
(this compiles to
Action::Play
)
[x] Property Exists
[x] Has Test Coverage
[x] Completely Functional
prevFrame()
(this compiles to
Action::PreviousFrame
)
[x] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
removeMovieClip(target)
(this compiles to
Action::RemoveSprite
)
[x] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
setInterval()
[x] Property Exists
[x] Has Test Coverage
[ ] Completely Functional
setTimeout(functionReference, delay, args)
[x] Property Exists
[x] Has Test Coverage
[ ] Completely Functional
showRedrawRegions(enable)
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
startDrag(target, lockCenter, left, top, right, bottom)
(this compiles to
Action::StartDrag
)
[x] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
stop()
(this compiles to
Action::Stop
)
[x] Property Exists
[x] Has Test Coverage
[x] Completely Functional
stopDrag()
(this compiles to
Action::EndDrag
)
[x] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
trace(value)
[x] Property Exists
[x] Has Test Coverage
[x] Completely Functional
unescape(value)
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
unloadMovie(target)
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
updateAfterEvent()
[x] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
MMExecute(expr)
[ ] Property Exists
[ ] Has Test Coverage
[ ] Completely Functional
is there a page where new developers can see the current status of this tracking and eventually get involved easily by clicking on a link going to each method/propery/function sources?
How to load xml file in Ruffle
There is also a print
function/method (and compiling to Action::GetURL2
) currently missing in the main post. See #6154 for an example.
There's also [printAsBitmap](https://open-flash.github.io/mirrors/as2-language-reference/global_functions.html#printAsBitmap()), [printAsBitmapNum](https://open-flash.github.io/mirrors/as2-language-reference/global_functions.html#printAsBitmapNum()), and [printNum](https://open-flash.github.io/mirrors/as2-language-reference/global_functions.html#printNum()).
Will you update this-
is anyone can review and update this tracking?
is anyone can review and update this tracking?
been waiting for an update fr
This project will be super if you complete successfully like original flash player. I'm following with excitement. If there is no performance problem in mobile, I think, that will pack a punch to 2D/UI game industry. I hope you will be more fast. good works.
@ErdincBARUT well, up to you and others to contribute to the project to go faster. The flash to rust conversion is huge and more we will be, faster it wil be...
@TurkPashaDede, it's astonishing how entitled you sound. You're using free software created by volunteers in their spare time, yet you have the audacity to demand instant service and berate them without an ounce of gratitude. It's about time someone called you out on your disrespectful behavior. Understand this clearly: your entitled attitude won't get you anywhere. These volunteers owe you nothing. If you want their help, start showing some basic decency and respect. Otherwise, be prepared to be ignored and left to your own devices. Respect is earned, and it's high time you learned that lesson.
@TurkPashaDede whey not learn rust code nd help the developers community? more we are more it will go fast.
@TurkPashaDede, please be patient! Adobe Flash is home to thousands of classes, methods, and APIs created over the years. Thus, it'll take some time before everything is implemented. For now, just enjoy Ruffle for what it is or learn the Rust programming language to help the community finish the project more quickly. You can also play your favorite Flash games using the standalone Adobe Flash Player (preferably with the Flashpoint Archive).
Can't you hurry up and finish it faster?
how you dare you ..., it is amazing project, which is made by people as "free time hobby", if you want to faster, you can sponzor them ...
btw I encourage the main developers to provide some rust coding easy example of how the implemented X function or else to help people coming here to achieve the last part of the roadmap... thanks
How much longer before Ruffle is ready?
Ready for what, exactly?
We're already compatible with more content than not.
Ready for what, exactly?
Ready for version 1.0, "normal" releases rather than nightlies, and around 100% compatibility, I assume...
Keep up the great work! 💪
more keep!
Excellent Job, just keep going :)
A nice project from an ex adobe RTMP RTMFP expert https://github.com/zenomt/rtwebsocket
This is the tracking issue for Top Level in AVM1. We will check off each item of progress as appropriate, and fill in any relevant or missing information as we continue development of Ruffle.
Legend
Each checkbox is independent of another. It's entirely possible for something to be tested but not exist yet, or for us to believe that it's completely functional but we haven't made enough tests to prove it.
"Property Exists"
This means the item exists, but may not necessarily be fully implemented.
"Has Test Coverage"
This means that we believe that we have a good test coverage of this item, regardless of if those tests pass. It's okay to have tests available but not implement the item yet.
"Completely Functional"
This means we believe that the item is completely implemented, and no more work needs to be done towards making it functional.
Top Level
Properties
_focusRect : Boolean
_global : Object
_highquality : Number
_quality : String
_root : MovieClip
_soundbuftime : Number
$version : Number
Infinity : Number
NaN : Number
Accessibility
: Object
Array
: Object
AsBroadcaster
: Object
Boolean
: Object
Button
: Object
Camera
: Object
Color
: Object
ContextMenu
: Object
ContextMenuItem
: Object
CustomActions
: Object
Date
: Object
Error
: Object
Function
: Object
FunctionArguments
: Object
Key
: Object
LoadVars
: Object
LocalConnection
: Object
Math
: Object
Microphone
: Object
Mouse
: Object
MovieClip
: Object
MovieClipLoader
: Object
NetConnection
: Object
NetStream
: Object
Number
: Object
Object
: Object
PrintJob
: Object
Selection
: Object
SharedObject
: Object
Sound
: Object
Stage
: Object
String
: Object
System
: Object
TextField
: Object
TextFormat
: Object
TextSnapshot
: Object
Video
: Object
XML
: Object
XMLNode
: Object
XMLSocket
: Object
flash.display.BitmapData
: Object
flash.external.ExternalInterface
: Object
flash.filters.BevelFilter
: Object
flash.filters.BitmapFilter
: Object
flash.filters.BlurFilter
: Object
flash.filters.ColorMatrixFilter
: Object
flash.filters.ConvolutionFilter
: Object
flash.filters.DisplacementMapFilter
: Object
flash.filters.DropShadowFilter
: Object
flash.filters.GlowFilter
: Object
flash.filters.GradientBevelFilter
: Object
flash.filters.GradientGlowFilter
: Object
flash.geom.ColorTransform
: Object
flash.geom.Matrix
: Object
flash.geom.Point
: Object
flash.geom.Rectangle
: Object
flash.geom.Transform
: Object
flash.net.FileReference
: Object
flash.net.FileReferenceList
: Object
flash.text.TextRenderer
: Object
Methods
ASSetPropFlags(object, properties, setFlags, clearFlags)
clearInterval(id)
clearTimeout(id)
duplicateMovieClip(target, newName, depth)
(this compiles to
Action::CloneSprite
)escape(value)
getURL(url, window, method)
(this compiles to
Action::GetURL
orAction::GetURL2
)gotoAndPlay(sceneOrFrame, frame)
(this compiles to
Action::GotoFrame
orAction::GotoFrame2
)gotoAndStop()
(this compiles to
Action::GotoFrame
orAction::GotoFrame2
)isFinite(value)
isNaN(value)
loadMovie(url, target, method)
(this compiles to
Action::GetURL2
)loadVariables(url, target, method)
(this compiles to
Action::GetURL2
)nextFrame()
(this compiles to
Action::NextFrame
)parseFloat(value)
parseInt(value, radix)
play()
(this compiles to
Action::Play
)prevFrame()
(this compiles to
Action::PreviousFrame
)removeMovieClip(target)
(this compiles to
Action::RemoveSprite
)setInterval()
setTimeout(functionReference, delay, args)
showRedrawRegions(enable)
startDrag(target, lockCenter, left, top, right, bottom)
(this compiles to
Action::StartDrag
)stop()
(this compiles to
Action::Stop
)stopDrag()
(this compiles to
Action::EndDrag
)trace(value)
unescape(value)
unloadMovie(target)
updateAfterEvent()
MMExecute(expr)