Inheritance: StackChange
Esempio n. 1
0
 /// <summary>
 /// is similar to ActionEquals2, but the two arguments must be of the same 
 /// type in order to be considered equal. Implements the ‘===’ operator 
 /// from the ActionScript language.
 /// </summary>
 public ActionStrictEquals()
 {
     _StackOps = new StackChange[ 3 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_ANY );
     _StackOps[ 1 ] = new StackPop( AVM1DataTypes.AVM_ANY );
     _StackOps[ 2 ] = new StackPush( AVM1DataTypes.AVM_boolean );
 }
Esempio n. 2
0
 /// <summary>
 /// Clones a sprite.
 /// </summary>
 public ActionCloneSprite()
 {
     _StackOps = new StackChange[ 3 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_String ); // depth
     _StackOps[ 1 ] = new StackPop( AVM1DataTypes.AVM_String ); // target
     _StackOps[ 2 ] = new StackPop( AVM1DataTypes.AVM_String );  // source
 }
Esempio n. 3
0
 /// <summary>
 /// Tests two strings for equality
 /// </summary>
 public ActionStringEquals()
 {
     _StackOps = new StackChange[ 3 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_String );
     _StackOps[ 1 ] = new StackPop( AVM1DataTypes.AVM_String );
     _StackOps[ 2 ] = new StackPush( AVM1DataTypes.AVM_String );
 }
Esempio n. 4
0
 /// <summary>
 /// Performs a bitwise OR operation.
 /// </summary>
 public ActionBitOr()
 {
     _StackOps = new StackChange[ 3 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_integer );
     _StackOps[ 1 ] = new StackPop( AVM1DataTypes.AVM_integer );
     _StackOps[ 2 ] = new StackPush( AVM1DataTypes.AVM_integer );
 }
Esempio n. 5
0
 /// <summary>
 /// Implements the ActionScript cast operator, which allows the casting from 
 /// one data type to another. ActionCastOp pops an object off the stack and 
 /// attempts to convert the object to an instance of the class or to the 
 /// interface represented by the constructor function.
 /// </summary>
 public ActionCastOp()
 {
     _StackOps = new StackChange[ 3 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_Object );
     _StackOps[ 1 ] = new StackPop( AVM1DataTypes.AVM_Function );
     _StackOps[ 2 ] = new StackPush( AVM1DataTypes.AVM_Object );
 }
Esempio n. 6
0
 /// <summary>
 /// Sets a file property
 /// </summary>
 public ActionSetProperty()
 {
     _StackOps = new StackChange[ 3 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_ANY ); // value
     _StackOps[ 1 ] = new StackPop( AVM1DataTypes.AVM_String ); // index
     _StackOps[ 2 ] = new StackPop( AVM1DataTypes.AVM_String ); // target
 }
Esempio n. 7
0
 /// <summary>
 /// Performs a bitwise left shift
 /// </summary>
 public ActionBitLShift()
 {
     _StackOps = new StackChange[ 3 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_integer ); // arg
     _StackOps[ 1 ] = new StackPop( AVM1DataTypes.AVM_integer ); // shift value
     _StackOps[ 2 ] = new StackPush( AVM1DataTypes.AVM_integer );
 }
Esempio n. 8
0
 /// <summary>
 /// retrieves a named property from an object, and 
 /// pushes the value of the property onto the stack
 /// </summary>
 public ActionGetMember()
 {
     _StackOps = new StackChange[ 3 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_String ); // name
     _StackOps[ 1 ] = new StackPop( AVM1DataTypes.AVM_Object ); // object
     _StackOps[ 2 ] = new StackPush( AVM1DataTypes.AVM_ANY );
 }
Esempio n. 9
0
 /// <summary>
 /// Divides two numbers and pushes the result back to the stack.
 /// </summary>
 public ActionDivide()
 {
     _StackOps = new StackChange[ 3 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_float );
     _StackOps[ 1 ] = new StackPop( AVM1DataTypes.AVM_float );
     _StackOps[ 2 ] = new StackPush( AVM1DataTypes.AVM_float );
 }
Esempio n. 10
0
 /// <summary>
 /// Compares if arg2 > arg1
 /// </summary>
 public ActionGreater()
 {
     _StackOps = new StackChange[ 3 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_ANY );
     _StackOps[ 1 ] = new StackPop( AVM1DataTypes.AVM_ANY );
     _StackOps[ 2 ] = new StackPush( AVM1DataTypes.AVM_boolean );
 }
Esempio n. 11
0
 /// <summary>
 /// Performs a logical NOT of a number
 /// </summary>
 public ActionNot()
 {
     _StackOps = new StackChange[ 2 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_String );
     // default to version >=5
     _StackOps[ 1 ] = new StackPush( AVM1DataTypes.AVM_boolean );
 }
Esempio n. 12
0
 /// <summary>
 /// Is similar to ActionAdd, but performs the addition differently, 
 /// according to the data types of the arguments. The addition 
 /// operator algorithm in ECMA-262 Section 11.6.1 is used. 
 /// If string concatenation is applied, the concatenated string 
 /// is arg2 followed by arg1
 /// </summary>
 public ActionAdd2()
 {
     _StackOps = new StackChange[ 3 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_ANY );
     _StackOps[ 1 ] = new StackPop( AVM1DataTypes.AVM_ANY );
     _StackOps[ 2 ] = new StackPush( AVM1DataTypes.AVM_ANY );
 }
Esempio n. 13
0
 /// <summary>
 /// Converts a value to an integer
 /// </summary>
 public ActionToInteger()
 {
     _StackOps = new StackChange[ 2 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_ANY );
     // default version >= 5
     _StackOps[ 1 ] = new StackPush( AVM1DataTypes.AVM_integer );
 }
Esempio n. 14
0
        /// <summary>
        /// Waits for a frame to be loaded and is stack based
        /// </summary>
        public ActionWaitForFrame2()
        {
            this._skipCount = 0;

            _StackOps = new StackChange[ 1 ];
            _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_String ); // frame
        }
Esempio n. 15
0
 /// <summary>
 /// Gets a file property
 /// </summary>
 public ActionGetProperty()
 {
     _StackOps = new StackChange[ 3 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_String ); // index (as string)
     _StackOps[ 1 ] = new StackPop( AVM1DataTypes.AVM_String ); // target
     _StackOps[ 2 ] = new StackPush( AVM1DataTypes.AVM_ANY );
 }
Esempio n. 16
0
 /// <summary>
 /// Performs a logical AND
 /// </summary>
 public ActionAnd()
 {
     _StackOps = new StackChange[ 3 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_String );
     _StackOps[ 1 ] = new StackPop( AVM1DataTypes.AVM_String );
     // default to Version 5 and higher
     _StackOps[ 2 ] = new StackPush( AVM1DataTypes.AVM_boolean );
 }
Esempio n. 17
0
 /// <summary>
 /// Extracts a substring from a string
 /// </summary>
 public ActionStringExtract()
 {
     _StackOps = new StackChange[ 4 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_String ); // count
     _StackOps[ 1 ] = new StackPop( AVM1DataTypes.AVM_String ); // index
     _StackOps[ 2 ] = new StackPop( AVM1DataTypes.AVM_String ); // the string
     _StackOps[ 3 ] = new StackPush( AVM1DataTypes.AVM_String ); // the substring (result)
 }
Esempio n. 18
0
 /// <summary>
 /// Tests two numbers for equality
 /// </summary>
 public ActionEquals()
 {
     _StackOps = new StackChange[ 3 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_String );
     _StackOps[ 1 ] = new StackPop( AVM1DataTypes.AVM_String );
     // defaults to version 5 or higher
     _StackOps[ 2 ] = new StackPush( AVM1DataTypes.AVM_boolean );
 }
Esempio n. 19
0
 /// <summary>
 /// Tests to see if a string is less than another string
 /// </summary>
 public ActionStringLess()
 {
     _StackOps = new StackChange[ 3 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_String );
     _StackOps[ 1 ] = new StackPop( AVM1DataTypes.AVM_String );
     // default version >= 5
     _StackOps[ 2 ] = new StackPush( AVM1DataTypes.AVM_boolean );
 }
Esempio n. 20
0
 /// <summary>
 /// Swaps the top two ScriptAtoms on the stack
 /// </summary>
 public ActionStackSwap()
 {
     _StackOps = new StackChange[ 4 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_ANY ); // a
     _StackOps[ 1 ] = new StackPop( AVM1DataTypes.AVM_ANY ); // b
     _StackOps[ 2 ] = new StackPush( AVM1DataTypes.AVM_ANY ); // a
     _StackOps[ 3 ] = new StackPush( AVM1DataTypes.AVM_ANY ); // b
 }
Esempio n. 21
0
        /// <summary>
        /// Goes to a frame and is stack based
        /// </summary>
        public ActionGotoFrame2()
        {
            this._sceneBias = false;
            this._play = false;
            this._sceneBiasAmount = 0;

            _StackOps = new StackChange[ 1 ];
            _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_String ); // frame number of string
        }
Esempio n. 22
0
        /// <summary>
        /// 
        /// </summary>
        public ActionGetURL2()
        {
            this._sendVarsMethod = SendVarsMethods.Method_GET;
            this._loadTargetFlag = false;
            this._loadVariablesFlag = false;

            _StackOps = new StackChange[ 2 ];
            _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_String ); // target
            _StackOps[ 1 ] = new StackPop( AVM1DataTypes.AVM_String ); // URL
        }
Esempio n. 23
0
 /// <summary>
 /// Pops a value from the stack and discards it
 /// </summary>
 public ActionPop()
 {
     _StackOps = new StackChange[ 1 ];
     _StackOps[ 0 ] = new StackPop();
 }
Esempio n. 24
0
 /// <summary>
 /// Sets the current context and is stack based
 /// </summary>
 public ActionSetTarget2()
 {
     _StackOps = new StackChange[ 1 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_String );
 }
Esempio n. 25
0
 /// <summary>
 /// Converts character code to ASCII and is multi-byte aware
 /// </summary>
 public ActionMBCharToAscii()
 {
     _StackOps = new StackChange[ 2 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_String );
     _StackOps[ 1 ] = new StackPush( AVM1DataTypes.AVM_String );
 }
Esempio n. 26
0
 /// <summary>
 /// Pops a value from the stack, converts it to number type, decrements it by 1, and pushes it back to the stack
 /// </summary>
 public ActionDecrement()
 {
     _StackOps = new StackChange[ 2 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_integer );
     _StackOps[ 1 ] = new StackPush( AVM1DataTypes.AVM_integer );
 }
Esempio n. 27
0
 /// <summary>
 /// Defines a local variable and sets its value. If the variable 
 /// already exists, the value is set to the newly specified value.
 /// </summary>
 public ActionDefineLocal()
 {
     _StackOps = new StackChange[ 2 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_ANY ); // value
     _StackOps[ 1 ] = new StackPop( AVM1DataTypes.AVM_String ); // name
 }
Esempio n. 28
0
 /// <summary>
 /// Creates a conditional test and branch.
 /// </summary>
 public ActionIf()
 {
     _StackOps = new StackChange[ 1 ];
     // default to version > 4
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_boolean );
 }
Esempio n. 29
0
 /// <summary>
 /// If the object in the stack is of type MovieClip, the object’s 
 /// target path is pushed on the stack in dot notation. If the object 
 /// is not a MovieClip, the result is undefined rather than the movie 
 /// clip target path.
 /// </summary>
 public ActionTargetPath()
 {
     _StackOps = new StackChange[ 2 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_Object ); // must be movie-clip
     _StackOps[ 1 ] = new StackPush( AVM1DataTypes.AVM_String ); // target path
 }
Esempio n. 30
0
 /// <summary>
 /// implements the ActionScript extends keyword. ActionExtends 
 /// creates an inheritance relationship between two classes, 
 /// called the subclass and the superclass.
 /// </summary>
 public ActionExtends()
 {
     _StackOps = new StackChange[ 2 ];
     _StackOps[ 0 ] = new StackPop( AVM1DataTypes.AVM_Function );
     _StackOps[ 1 ] = new StackPop( AVM1DataTypes.AVM_Function );
 }