diff --git a/libsrc/debugswf/com/jpexs/decompiler/flash/debugger/DebugConnection.as b/libsrc/debugswf/com/jpexs/decompiler/flash/debugger/DebugConnection.as index b0787dda04..14c813e10e 100644 --- a/libsrc/debugswf/com/jpexs/decompiler/flash/debugger/DebugConnection.as +++ b/libsrc/debugswf/com/jpexs/decompiler/flash/debugger/DebugConnection.as @@ -13,11 +13,14 @@ private static var inited:Boolean = false; private static var name:String; public static const DEBUG_VERSION_MAJOR = 1; - public static const DEBUG_VERSION_MINOR = 1; + public static const DEBUG_VERSION_MINOR = 2; public static const MSG_STRING = 0; public static const MSG_LOADER_URL = 1; public static const MSG_LOADER_BYTES = 2; + public static const MSG_LONGSTRING = 3; + public static const MSG_LOADER_URL_GETBYTES = 4; + public static const MSG_LOADER_BYTES_GETBYTES = 5; @@ -38,12 +41,18 @@ private static function writeString(msg){ var b:ByteArray = new ByteArray(); - b.writeUTFBytes(msg); + b.writeUTFBytes(msg); s.writeByte((b.length>>8) & 0xff); s.writeByte(b.length & 0xff); s.writeBytes(b,0,b.length); } + private static function writeLongString(msg){ + var b:ByteArray = new ByteArray(); + b.writeUTFBytes(msg); + writeBytes(b); + } + private static function writeBytes(b:ByteArray){ s.writeByte((b.length>>24) & 0xff); s.writeByte((b.length>>16) & 0xff); @@ -52,6 +61,32 @@ s.writeBytes(b,0,b.length); } + private static function readBytes():ByteArray { + var b:ByteArray = new ByteArray(); + var a1 = s.readUnsignedByte(); + var a2 = s.readUnsignedByte(); + var a3 = s.readUnsignedByte(); + var a4 = s.readUnsignedByte(); + var len = (a1<<24)+(a2<<16)+(a3<<8)+a4; + + s.readBytes(b,0,len); + return b; + } + + private static function readString():String { + var b:ByteArray = new ByteArray(); + var a1 = s.readUnsignedByte(); + var a2 = s.readUnsignedByte(); + var len = (a1<<8)+a2; + + return s.readUTFBytes(len); + } + + private static function readLongString():String { + var b:ByteArray = readBytes(); + return b.readUTFBytes(b.length); + } + public static function initClient(sname){ if(inited){ return; @@ -102,6 +137,12 @@ case MSG_LOADER_BYTES: writeBytes(msg); break; + case MSG_LOADER_URL_GETBYTES: + writeString(msg); + break; + case MSG_LOADER_BYTES_GETBYTES: + writeBytes(msg); + break; } }else{ q.push({type:msgType,data:msg}); diff --git a/libsrc/debugswf/com/jpexs/decompiler/flash/debugger/DebugLoader.as b/libsrc/debugswf/com/jpexs/decompiler/flash/debugger/DebugLoader.as index cdcf3f3f42..503b11ae6a 100644 --- a/libsrc/debugswf/com/jpexs/decompiler/flash/debugger/DebugLoader.as +++ b/libsrc/debugswf/com/jpexs/decompiler/flash/debugger/DebugLoader.as @@ -17,6 +17,10 @@ DebugConnection.writeLoaderBytes(bytes); super.loadBytes(bytes,context); } + + public override function toString():String { + return "[object Loader]"; + } } }