1 /* 2 Ming, an SWF output library 3 Copyright (C) 2006 netSweng, LLC - http://www.netsweng.com/ 4 5 This library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 This library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with this library; if not, write to the Free Software 17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 */ 19 20 #ifndef SWF_ACTIONTYPES_H_INCLUDED 21 #define SWF_ACTIONTYPES_H_INCLUDED 22 23 #include "ming.h" 24 25 typedef enum 26 { 27 SWFACTION_END = 0x00, 28 29 /* v3 actions */ 30 SWFACTION_NEXTFRAME = 0x04, 31 SWFACTION_PREVFRAME = 0x05, 32 SWFACTION_PLAY = 0x06, 33 SWFACTION_STOP = 0x07, 34 SWFACTION_TOGGLEQUALITY = 0x08, 35 SWFACTION_STOPSOUNDS = 0x09, 36 SWFACTION_GOTOFRAME = 0x81, /* >= 0x80 means record has args */ 37 SWFACTION_GETURL = 0x83, 38 SWFACTION_WAITFORFRAME = 0x8A, 39 SWFACTION_SETTARGET = 0x8B, 40 SWFACTION_GOTOLABEL = 0x8C, 41 42 /* v4 actions */ 43 SWFACTION_ADD = 0x0A, 44 SWFACTION_SUBTRACT = 0x0B, 45 SWFACTION_MULTIPLY = 0x0C, 46 SWFACTION_DIVIDE = 0x0D, 47 SWFACTION_EQUAL = 0x0E, 48 SWFACTION_LESSTHAN = 0x0F, 49 SWFACTION_LOGICALAND = 0x10, 50 SWFACTION_LOGICALOR = 0x11, 51 SWFACTION_LOGICALNOT = 0x12, 52 SWFACTION_STRINGEQ = 0x13, 53 SWFACTION_STRINGLENGTH = 0x14, 54 SWFACTION_SUBSTRING = 0x15, 55 SWFACTION_POP = 0x17, 56 SWFACTION_INT = 0x18, 57 SWFACTION_GETVARIABLE = 0x1C, 58 SWFACTION_SETVARIABLE = 0x1D, 59 SWFACTION_SETTARGET2 = 0x20, 60 SWFACTION_STRINGCONCAT = 0x21, 61 SWFACTION_GETPROPERTY = 0x22, 62 SWFACTION_SETPROPERTY = 0x23, 63 SWFACTION_DUPLICATECLIP = 0x24, 64 SWFACTION_REMOVECLIP = 0x25, 65 SWFACTION_TRACE = 0x26, 66 SWFACTION_STARTDRAG = 0x27, 67 SWFACTION_ENDDRAG = 0x28, 68 SWFACTION_STRINGCOMPARE = 0x29, 69 SWFACTION_RANDOMNUMBER = 0x30, 70 SWFACTION_MBLENGTH = 0x31, 71 SWFACTION_ORD = 0x32, 72 SWFACTION_CHR = 0x33, 73 SWFACTION_GETTIME = 0x34, 74 SWFACTION_MBSUBSTRING = 0x35, 75 SWFACTION_MBORD = 0x36, 76 SWFACTION_MBCHR = 0x37, 77 78 SWFACTION_WAITFORFRAME2 = 0x8D, 79 SWFACTION_PUSH = 0x96, 80 SWFACTION_JUMP = 0x99, 81 SWFACTION_GETURL2 = 0x9A, 82 SWFACTION_IF = 0x9D, 83 SWFACTION_CALLFRAME = 0x9E, 84 SWFACTION_GOTOFRAME2 = 0x9F, 85 86 /* v5 actions */ 87 SWFACTION_DELETE = 0x3A, 88 SWFACTION_DELETE2 = 0x3B, 89 SWFACTION_DEFINELOCAL = 0x3C, 90 SWFACTION_CALLFUNCTION = 0x3D, 91 SWFACTION_RETURN = 0x3E, 92 SWFACTION_MODULO = 0x3F, 93 SWFACTION_NEWOBJECT = 0x40, 94 SWFACTION_NEWMETHOD = 0x53, 95 SWFACTION_DEFINELOCAL2 = 0x41, 96 SWFACTION_INITARRAY = 0x42, 97 SWFACTION_INITOBJECT = 0x43, 98 SWFACTION_TYPEOF = 0x44, 99 SWFACTION_TARGETPATH = 0x45, 100 SWFACTION_ENUMERATE = 0x46, 101 SWFACTION_ADD2 = 0x47, 102 SWFACTION_LESS2 = 0x48, 103 SWFACTION_EQUALS2 = 0x49, 104 SWFACTION_TONUMBER = 0x4A, 105 SWFACTION_TOSTRING = 0x4B, 106 SWFACTION_PUSHDUP = 0x4C, 107 SWFACTION_STACKSWAP = 0x4D, 108 SWFACTION_GETMEMBER = 0x4E, 109 SWFACTION_SETMEMBER = 0x4F, 110 SWFACTION_INCREMENT = 0x50, 111 SWFACTION_DECREMENT = 0x51, 112 SWFACTION_CALLMETHOD = 0x52, 113 SWFACTION_BITWISEAND = 0x60, 114 SWFACTION_BITWISEOR = 0x61, 115 SWFACTION_BITWISEXOR = 0x62, 116 SWFACTION_SHIFTLEFT = 0x63, 117 SWFACTION_SHIFTRIGHT = 0x64, 118 SWFACTION_SHIFTRIGHT2 = 0x65, 119 120 SWFACTION_STOREREGISTER = 0x87, 121 SWFACTION_CONSTANTPOOL = 0x88, 122 SWFACTION_WITH = 0x94, 123 SWFACTION_DEFINEFUNCTION = 0x9B, 124 125 /* v6 actions */ 126 SWFACTION_INSTANCEOF = 0x54, 127 SWFACTION_ENUMERATE2 = 0x55, 128 SWFACTION_STRICTEQUALS = 0x66, 129 SWFACTION_GREATER = 0x67, 130 SWFACTION_STRINGGREATER = 0x68, 131 132 /* v7 actions */ 133 SWFACTION_DEFINEFUNCTION2 = 0x8E, 134 SWFACTION_EXTENDS = 0x69, 135 SWFACTION_TRY = 0x8F, 136 SWFACTION_THROW = 0x2A, 137 SWFACTION_CASTOP = 0x2B, 138 SWFACTION_IMPLEMENTSOP = 0x2C, 139 SWFACTION_FSCOMMAND2 = 0x2D 140 141 } Action; 142 143 144 145 typedef enum 146 { 147 PROPERTY_X = 0x00, 148 PROPERTY_Y = 0x01, 149 PROPERTY_XSCALE = 0x02, 150 PROPERTY_YSCALE = 0x03, 151 PROPERTY_CURRENTFRAME = 0x04, 152 PROPERTY_TOTALFRAMES = 0x05, 153 PROPERTY_ALPHA = 0x06, 154 PROPERTY_VISIBLE = 0x07, 155 PROPERTY_WIDTH = 0x08, 156 PROPERTY_HEIGHT = 0x09, 157 PROPERTY_ROTATION = 0x0a, 158 PROPERTY_TARGET = 0x0b, 159 PROPERTY_FRAMESLOADED = 0x0c, 160 PROPERTY_NAME = 0x0d, 161 PROPERTY_DROPTARGET = 0x0e, 162 PROPERTY_URL = 0x0f, 163 PROPERTY_HIGHQUALITY = 0x10, 164 PROPERTY_FOCUSRECT = 0x11, 165 PROPERTY_SOUNDBUFTIME = 0x12, 166 PROPERTY_QUALITY = 0x13, 167 PROPERTY_XMOUSE = 0x14, 168 PROPERTY_YMOUSE = 0x15, 169 PROPERTY_WTHIT = 0x16 // not documented ??? 170 } Property; 171 172 #define SWF_SETPROPERTY_X 0x0000 173 #define SWF_SETPROPERTY_Y 0x3F80 174 #define SWF_SETPROPERTY_XSCALE 0x4000 175 #define SWF_SETPROPERTY_YSCALE 0x4040 176 #define SWF_SETPROPERTY_ALPHA 0x40C0 177 #define SWF_SETPROPERTY_VISIBILITY 0x40E0 178 #define SWF_SETPROPERTY_ROTATION 0x4120 179 #define SWF_SETPROPERTY_NAME 0x4140 180 #define SWF_SETPROPERTY_HIGHQUALITY 0x4180 181 #define SWF_SETPROPERTY_SHOWFOCUSRECT 0x4188 182 #define SWF_SETPROPERTY_SOUNDBUFFERTIME 0x4190 183 #define SWF_SETPROPERTY_WTHIT 0x4680 184 185 #define DUPCLIP_NUMBER 0x4000 186 187 #endif /* SWF_ACTIONTYPES_H_INCLUDED */ 188