Menu

[r11]: / trunk / SWFInvestigator / src / decompiler / swfdump / ActionConstants.as  Maximize  Restore  History

Download this file

186 lines (172 with data), 12.6 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
////////////////////////////////////////////////////////////////////////////////
//
// ADOBE SYSTEMS INCORPORATED
// Copyright 2002-2006 Adobe Systems Incorporated
// All Rights Reserved.
//
// NOTICE: Adobe permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
////////////////////////////////////////////////////////////////////////////////
//Copied from http://opensource.adobe.com/svn/opensource/flex/sdk/trunk/modules/swfutils/src/java/flash/swf/ActionConstants.java
package decompiler.swfdump
{
public class ActionConstants {
// Flash 1 and 2 actions
public static const sactionHasLength:int = 0x80;
public static const sactionNone:int = 0x00;
public static const sactionGotoFrame:int = 0x81; // frame num (int)
public static const sactionGetURL:int = 0x83; // url (STR), window (STR)
public static const sactionNextFrame:int = 0x04;
public static const sactionPrevFrame:int = 0x05;
public static const sactionPlay:int = 0x06;
public static const sactionStop:int = 0x07;
public static const sactionToggleQuality:int = 0x08;
public static const sactionStopSounds:int = 0x09;
public static const sactionWaitForFrame:int = 0x8A; // frame needed (int), actions to skip (BYTE)
// Flash 3 Actions
public static const sactionSetTarget:int = 0x8B; // name (STR)
public static const sactionGotoLabel:int = 0x8C; // name (STR)
// Flash 4 Actions
public static const sactionAdd:int = 0x0A; // Stack IN: number, number, OUT: number
public static const sactionSubtract:int = 0x0B; // Stack IN: number, number, OUT: number
public static const sactionMultiply:int = 0x0C; // Stack IN: number, number, OUT: number
public static const sactionDivide:int = 0x0D; // Stack IN: dividend, divisor, OUT: number
public static const sactionEquals:int = 0x0E; // Stack IN: number, number, OUT: bool
public static const sactionLess:int = 0x0F; // Stack IN: number, number, OUT: bool
public static const sactionAnd:int = 0x10; // Stack IN: bool, bool, OUT: bool
public static const sactionOr:int = 0x11; // Stack IN: bool, bool, OUT: bool
public static const sactionNot:int = 0x12; // Stack IN: bool, OUT: bool
public static const sactionStringEquals:int = 0x13; // Stack IN: string, string, OUT: bool
public static const sactionStringLength:int = 0x14; // Stack IN: string, OUT: number
public static const sactionStringAdd:int = 0x21; // Stack IN: string, strng, OUT: string
public static const sactionStringExtract:int = 0x15; // Stack IN: string, index, count, OUT: substring
public static const sactionPush:int = 0x96; // type (BYTE), value (STRING or FLOAT)
public static const sactionPop:int = 0x17; // no arguments
public static const sactionToInteger:int = 0x18; // Stack IN: number, OUT: integer
public static const sactionJump:int = 0x99; // offset (int)
public static const sactionIf:int = 0x9D; // offset (int) Stack IN: bool
public static const sactionCall:int = 0x9E; // Stack IN: name
public static const sactionGetVariable:int = 0x1C; // Stack IN: name, OUT: value
public static const sactionSetVariable:int = 0x1D; // Stack IN: name, value
public static const sactionGetURL2:int = 0x9A; // method (BYTE) Stack IN: url, window
public static const sactionGotoFrame2:int = 0x9F; // flags (BYTE) Stack IN: frame
public static const sactionSetTarget2:int = 0x20; // Stack IN: target
public static const sactionGetProperty:int = 0x22; // Stack IN: target, property, OUT: value
public static const sactionSetProperty:int = 0x23; // Stack IN: target, property, value
public static const sactionCloneSprite:int = 0x24; // Stack IN: source, target, depth
public static const sactionRemoveSprite:int = 0x25; // Stack IN: target
public static const sactionTrace:int = 0x26; // Stack IN: message
public static const sactionStartDrag:int = 0x27; // Stack IN: no constraint: 0, center, target
// constraint: x1, y1, x2, y2, 1, center, target
public static const sactionEndDrag:int = 0x28; // no arguments
public static const sactionStringLess:int = 0x29; // Stack IN: string, string, OUT: bool
public static const sactionWaitForFrame2:int = 0x8D; // skipCount (BYTE) Stack IN: frame
public static const sactionRandomNumber:int = 0x30; // Stack IN: maximum, OUT: result
public static const sactionMBStringLength:int = 0x31; // Stack IN: string, OUT: length
public static const sactionCharToAscii:int = 0x32; // Stack IN: character, OUT: ASCII code
public static const sactionAsciiToChar:int = 0x33; // Stack IN: ASCII code, OUT: character
public static const sactionGetTime:int = 0x34; // Stack OUT: milliseconds since Player start
public static const sactionMBStringExtract:int = 0x35;// Stack IN: string, index, count, OUT: substring
public static const sactionMBCharToAscii:int = 0x36;// Stack IN: character, OUT: ASCII code
public static const sactionMBAsciiToChar:int = 0x37;// Stack IN: ASCII code, OUT: character
// Flash 5 actions
//unused OK to reuse --> public static final public static const sactionGetLastKeyCode= 0x38; // Stack OUT: code for last key pressed
public static const sactionDelete:int = 0x3A; // Stack IN: name of object to delete
public static const sactionDefineFunction:int = 0x9B; // name (STRING), body (BYTES)
public static const sactionDelete2:int = 0x3B; // Stack IN: name
public static const sactionDefineLocal:int = 0x3C; // Stack IN: name, value
public static const sactionCallFunction:int = 0x3D; // Stack IN: function, numargs, arg1, arg2, ... argn
public static const sactionReturn:int = 0x3E; // Stack IN: value to return
public static const sactionModulo:int = 0x3F; // Stack IN: x, y Stack OUT: x % y
public static const sactionNewObject:int = 0x40; // like CallFunction but constructs object
public static const sactionDefineLocal2:int = 0x41; // Stack IN: name
public static const sactionInitArray:int = 0x42; // Stack IN: //# of elems, arg1, arg2, ... argn
public static const sactionInitObject:int = 0x43; // Stack IN: //# of elems, arg1, name1, ...
public static const sactionTypeOf:int = 0x44; // Stack IN: object, Stack OUT: type of object
public static const sactionTargetPath:int = 0x45; // Stack IN: object, Stack OUT: target path
public static const sactionEnumerate:int = 0x46; // Stack IN: name, Stack OUT: children ended by null
public static const sactionStoreRegister:int = 0x87; // register number (BYTE, 0-31)
public static const sactionAdd2:int = 0x47; // Like sactionAdd, but knows about types
public static const sactionLess2:int = 0x48; // Like sactionLess, but knows about types
public static const sactionEquals2:int = 0x49; // Like sactionEquals, but knows about types
public static const sactionToNumber:int = 0x4A; // Stack IN: object Stack OUT: number
public static const sactionToString:int = 0x4B; // Stack IN: object Stack OUT: string
public static const sactionPushDuplicate:int = 0x4C; // pushes duplicate of top of stack
public static const sactionStackSwap:int = 0x4D; // swaps top two items on stack
public static const sactionGetMember:int = 0x4E; // Stack IN: object, name, Stack OUT: value
public static const sactionSetMember:int = 0x4F; // Stack IN: object, name, value
public static const sactionIncrement:int = 0x50; // Stack IN: value, Stack OUT: value+1
public static const sactionDecrement:int = 0x51; // Stack IN: value, Stack OUT: value-1
public static const sactionCallMethod:int = 0x52; // Stack IN: object, name, numargs, arg1, arg2, ... argn
public static const sactionNewMethod:int = 0x53; // Like sactionCallMethod but constructs object
public static const sactionWith:int = 0x94; // body length: int, Stack IN: object
public static const sactionConstantPool:int = 0x88; // Attaches constant pool
public static const sactionStrictMode:int = 0x89; // Activate/deactivate strict mode
public static const sactionBitAnd:int = 0x60; // Stack IN: number, number, OUT: number
public static const sactionBitOr:int = 0x61; // Stack IN: number, number, OUT: number
public static const sactionBitXor:int = 0x62; // Stack IN: number, number, OUT: number
public static const sactionBitLShift:int = 0x63; // Stack IN: number, number, OUT: number
public static const sactionBitRShift:int = 0x64; // Stack IN: number, number, OUT: number
public static const sactionBitURShift:int = 0x65; // Stack IN: number, number, OUT: number
// Flash 6 actions
public static const sactionInstanceOf:int = 0x54; // Stack IN: object, class OUT: boolean
public static const sactionEnumerate2:int = 0x55; // Stack IN: object, Stack OUT: children ended by null
public static const sactionStrictEquals:int = 0x66; // Stack IN: something, something, OUT: bool
public static const sactionGreater:int = 0x67; // Stack IN: something, something, OUT: bool
public static const sactionStringGreater:int = 0x68; // Stack IN: something, something, OUT: bool
// Flash 7 actions
public static const sactionDefineFunction2:int = 0x8E; // name (STRING), numParams (WORD), registerCount (BYTE)
public static const sactionTry:int = 0x8F;
public static const sactionThrow:int = 0x2A;
public static const sactionCastOp:int = 0x2B;
public static const sactionImplementsOp:int = 0x2C;
public static const sactionExtends:int = 0x69; // stack in: baseclass, classname, constructor
public static const sactionNop:int = 0x77; // nop
public static const sactionHalt:int = 0x5F; // halt script execution
// Reserved for Quicktime
public static const sactionQuickTime:int = 0xAA; // I think this is what they are using...
public static const kPushStringType:int = 0;
public static const kPushFloatType:int = 1;
public static const kPushNullType:int = 2;
public static const kPushUndefinedType:int = 3;
public static const kPushRegisterType:int = 4;
public static const kPushBooleanType:int = 5;
public static const kPushDoubleType:int = 6;
public static const kPushIntegerType:int = 7;
public static const kPushConstant8Type:int = 8;
public static const kPushConstant16Type:int = 9;
// GetURL2 methods
public static const kHttpDontSend:int = 0x0000;
public static const kHttpSendUseGet:int = 0x0001;
public static const kHttpSendUsePost:int = 0x0002;
public static const kHttpMethodMask:int = 0x0003;
public static const kHttpLoadTarget:int = 0x0040;
public static const kHttpLoadVariables:int = 0x0080;
// //#ifdef FAP
// public static const kHttpIsFAP = 0x0200;
//#endif
public static const kClipEventLoad:int = 0x0001;
public static const kClipEventEnterFrame:int = 0x0002;
public static const kClipEventUnload:int = 0x0004;
public static const kClipEventMouseMove:int = 0x0008;
public static const kClipEventMouseDown:int = 0x0010;
public static const kClipEventMouseUp:int = 0x0020;
public static const kClipEventKeyDown:int = 0x0040;
public static const kClipEventKeyUp:int = 0x0080;
public static const kClipEventData:int = 0x0100;
public static const kClipEventInitialize:int = 0x00200;
public static const kClipEventPress:int = 0x00400;
public static const kClipEventRelease:int = 0x00800;
public static const kClipEventReleaseOutside:int = 0x01000;
public static const kClipEventRollOver:int = 0x02000;
public static const kClipEventRollOut:int = 0x04000;
public static const kClipEventDragOver:int = 0x08000;
public static const kClipEventDragOut:int = 0x10000;
public static const kClipEventKeyPress:int = 0x20000;
public static const kClipEventConstruct:int = 0x40000;
public static const kTryHasCatchFlag:int = 1;
public static const kTryHasFinallyFlag:int = 2;
public static const kTryCatchRegisterFlag:int = 4;
}
}
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.