Help?

Posts 1–5 of 5 · Page 1 of 1
Help?
So, as you know, that the Map Editor in the modded clients have the functionality to create maps as JSON Map (*.jm) files. While I can gather most of the other data just by parsing the file, the "data" part of the file seems to be compressed and converted to Base64. Now, I've Parsed the String to a Byte Array, but I cannot find (partly due to the lack of proper internet / mostly because I suck balls at AS3), what method of compression was used for the Byte Array.

If you've made a breakthrough in this matter, post the code below.

I, for most part will leave here, the code which helps read the file(from the game client).
Code:
 trait method QName(PrivateNamespace("*", "_-Dd:_-0KV#0"), "_-Ef")
   method
    refid "_-Dd:_-0KV/_-Ef"
    param QName(PackageNamespace("flash.events"), "Event")
    returns QName(PackageNamespace(""), "void")
    body
     maxstack 8
     localcount 21
     initscopedepth 10
     maxscopedepth 11
     code
      pushfalse
      pushtrue
      swap
      jump                L10

      setlocal            6

      bitor
      divide
      greaterequals
      setlocal            11

      kill                16
L10:
      setlocal            19

      setlocal            20

      getlocal0
      pushscope

      pushbyte            0
      setlocal            9

      pushbyte            0
      setlocal            11

      pushnull
      coerce              QName(PackageNamespace(""), "Object")
      setlocal            12

      pushnull
      coerce              QName(PackageNamespace(""), "Array")
      setlocal            13

      pushnull
      coerce              QName(PackageNamespace(""), "Array")
      setlocal            14

      pushnull
      coerce              QName(PackageNamespace(""), "Object")
      setlocal            15

      pushnull
      coerce              QName(PackageNamespace(""), "Object")
      setlocal            16

      getlocal1
      getproperty         QName(PackageNamespace(""), "target")
      getlex              QName(PackageNamespace("flash.net"), "FileReference")
      astypelate
      coerce              QName(PackageNamespace("flash.net"), "FileReference")
      setlocal2

      getlocal            19
      iftrue              L45

      getlocal0
      getlocal2
      getproperty         QName(PackageNamespace(""), "name")
      initproperty        QName(PackageNamespace(""), "filename_")

L45:
      getlex              QName(PrivateNamespace("*", "_-Dd:_-0KV#0"), "_-NG")
      getlocal2
      getproperty         QName(PackageNamespace(""), "data")
      callproperty        QName(PackageNamespace(""), "toString"), 0
      callproperty        QName(Namespace("_-0Ld"), "parse"), 1
      coerce              QName(PackageNamespace(""), "Object")
      setlocal3

      getlocal3
      pushstring          "width"
      getproperty         MultinameL([PrivateNamespace("*", "_-Dd:_-0KV#0"), PackageInternalNs("_-Dd"), PackageNamespace(""), PackageNamespace("_-Dd"), PrivateNamespace("*", "_-Dd:_-0KV#1"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-054"), StaticProtectedNs("_-054"), StaticProtectedNs("_-05B"), StaticProtectedNs("flash.display:Sprite"), StaticProtectedNs("flash.display:DisplayObjectContainer"), StaticProtectedNs("flash.display:InteractiveObject"), StaticProtectedNs("flash.display:DisplayObject"), StaticProtectedNs("flash.events:EventDispatcher")])
      convert_i
      setlocal            4

      getlocal3
      pushstring          "height"
      getproperty         MultinameL([PrivateNamespace("*", "_-Dd:_-0KV#0"), PackageInternalNs("_-Dd"), PackageNamespace(""), PackageNamespace("_-Dd"), PrivateNamespace("*", "_-Dd:_-0KV#1"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-054"), StaticProtectedNs("_-054"), StaticProtectedNs("_-05B"), StaticProtectedNs("flash.display:Sprite"), StaticProtectedNs("flash.display:DisplayObjectContainer"), StaticProtectedNs("flash.display:InteractiveObject"), StaticProtectedNs("flash.display:DisplayObject"), StaticProtectedNs("flash.events:EventDispatcher")])
      convert_i
      setlocal            5

      findpropstrict      QName(PackageNamespace("flash.geom"), "Rectangle")
      findpropstrict      QName(PackageNamespace(""), "int")
      getlex              QName(PackageInternalNs("_-Dd"), "_-Ng")
      getproperty         QName(PackageNamespace(""), "_-kM")
      pushbyte            2
      divide
      getlocal            4
      pushbyte            2
      divide
      subtract
      callproperty        QName(PackageNamespace(""), "int"), 1
      findpropstrict      QName(PackageNamespace(""), "int")
      getlex              QName(PackageInternalNs("_-Dd"), "_-Ng")
      getproperty         QName(PackageNamespace(""), "_-kM")
      pushbyte            2
      divide
      getlocal            5
      pushbyte            2
      divide
      subtract
      callproperty        QName(PackageNamespace(""), "int"), 1
      getlocal            4
      getlocal            5
      constructprop       QName(PackageNamespace("flash.geom"), "Rectangle"), 4
      coerce              QName(PackageNamespace("flash.geom"), "Rectangle")
      setlocal            6

      getlocal            19
      dup
      iffalse             L94

      pop
      getlocal3
      convert_b
L94:
      iftrue              L105

      getlocal0
      getproperty         QName(PackageNamespace(""), "_-09l")
      callpropvoid        QName(PackageNamespace(""), "clear"), 0

      getlocal            20
      dup
      iftrue              L104

      pop
      getlocal1
      convert_b
L104:
      iffalse             L108

L105:
      getlocal0
      getproperty         QName(PrivateNamespace("*", "_-Dd:_-0KV#0"), "_-GT")
      callpropvoid        QName(PackageNamespace(""), "clear"), 0

L108:
      getlocal3
      pushstring          "dict"
      getproperty         MultinameL([PrivateNamespace("*", "_-Dd:_-0KV#0"), PackageInternalNs("_-Dd"), PackageNamespace(""), PackageNamespace("_-Dd"), PrivateNamespace("*", "_-Dd:_-0KV#1"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-054"), StaticProtectedNs("_-054"), StaticProtectedNs("_-05B"), StaticProtectedNs("flash.display:Sprite"), StaticProtectedNs("flash.display:DisplayObjectContainer"), StaticProtectedNs("flash.display:InteractiveObject"), StaticProtectedNs("flash.display:DisplayObject"), StaticProtectedNs("flash.events:EventDispatcher")])
      coerce              QName(PackageNamespace(""), "Array")
      setlocal            7

      getlex              QName(PackageNamespace("com.hurlant.util"), "Base64")
      getlocal3
      pushstring          "data"
      getproperty         MultinameL([PrivateNamespace("*", "_-Dd:_-0KV#0"), PackageInternalNs("_-Dd"), PackageNamespace(""), PackageNamespace("_-Dd"), PrivateNamespace("*", "_-Dd:_-0KV#1"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-054"), StaticProtectedNs("_-054"), StaticProtectedNs("_-05B"), StaticProtectedNs("flash.display:Sprite"), StaticProtectedNs("flash.display:DisplayObjectContainer"), StaticProtectedNs("flash.display:InteractiveObject"), StaticProtectedNs("flash.display:DisplayObject"), StaticProtectedNs("flash.events:EventDispatcher")])
      callproperty        QName(PackageNamespace(""), "decodeToByteArray"), 1
      coerce              QName(PackageNamespace("flash.utils"), "ByteArray")
      dup
      setlocal            8

      callpropvoid        QName(PackageNamespace(""), "uncompress"), 0

      getlocal            6
      getproperty         QName(PackageNamespace(""), "y")
      convert_i
      setlocal            10

      jump                L374

L127:
      label
      getlocal            6
      getproperty         QName(PackageNamespace(""), "x")
      convert_i
      getlocal            19
      dup
      iffalse             L137

      pop
      getlocal0
      convert_b
L137:
      iftrue              L375

      setlocal            11

      getlocal            20
      iffalse             L388

      jump                L346

L142:
      label
      getlocal            7
      getlocal            8
      callproperty        QName(PackageNamespace(""), "readShort"), 0
      getproperty         MultinameL([PrivateNamespace("*", "_-Dd:_-0KV#0"), PackageInternalNs("_-Dd"), PackageNamespace(""), PackageNamespace("_-Dd"), PrivateNamespace("*", "_-Dd:_-0KV#1"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-054"), StaticProtectedNs("_-054"), StaticProtectedNs("_-05B"), StaticProtectedNs("flash.display:Sprite"), StaticProtectedNs("flash.display:DisplayObjectContainer"), StaticProtectedNs("flash.display:InteractiveObject"), StaticProtectedNs("flash.display:DisplayObject"), StaticProtectedNs("flash.events:EventDispatcher")])
      coerce              QName(PackageNamespace(""), "Object")
      dup
      setlocal            12

      pushstring          "ground"
      callproperty        QName(Namespace("http://adobe.com/AS3/2006/builtin"), "hasOwnProperty"), 1
      iffalse             L173

      getlocal            20
      iffalse             L173

      getlex              QName(PackageNamespace("com.company.assembleegameclient.map"), "_-pf")
      getproperty         QName(PackageNamespace(""), "_-pb")
      getlocal            12
      pushstring          "ground"
      getproperty         MultinameL([PrivateNamespace("*", "_-Dd:_-0KV#0"), PackageInternalNs("_-Dd"), PackageNamespace(""), PackageNamespace("_-Dd"), PrivateNamespace("*", "_-Dd:_-0KV#1"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-054"), StaticProtectedNs("_-054"), StaticProtectedNs("_-05B"), StaticProtectedNs("flash.display:Sprite"), StaticProtectedNs("flash.display:DisplayObjectContainer"), StaticProtectedNs("flash.display:InteractiveObject"), StaticProtectedNs("flash.display:DisplayObject"), StaticProtectedNs("flash.events:EventDispatcher")])
      getproperty         MultinameL([PrivateNamespace("*", "_-Dd:_-0KV#0"), PackageInternalNs("_-Dd"), PackageNamespace(""), PackageNamespace("_-Dd"), PrivateNamespace("*", "_-Dd:_-0KV#1"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-054"), StaticProtectedNs("_-054"), StaticProtectedNs("_-05B"), StaticProtectedNs("flash.display:Sprite"), StaticProtectedNs("flash.display:DisplayObjectContainer"), StaticProtectedNs("flash.display:InteractiveObject"), StaticProtectedNs("flash.display:DisplayObject"), StaticProtectedNs("flash.events:EventDispatcher")])
      convert_i
      setlocal            9

      getlocal            20
      iffalse             L173

      getlocal0
      getproperty         QName(PackageNamespace(""), "_-09l")
      getlocal            11
      getlocal            10
      getlex              QName(PackageNamespace("_-Dd"), "_-Mu")
      getproperty         QName(PackageNamespace(""), "_-6h")
      getlocal            9
      callpropvoid        QName(PackageNamespace(""), "_-2F"), 4

L173:
      getlocal            12
      pushstring          "objs"
      getproperty         MultinameL([PrivateNamespace("*", "_-Dd:_-0KV#0"), PackageInternalNs("_-Dd"), PackageNamespace(""), PackageNamespace("_-Dd"), PrivateNamespace("*", "_-Dd:_-0KV#1"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-054"), StaticProtectedNs("_-054"), StaticProtectedNs("_-05B"), StaticProtectedNs("flash.display:Sprite"), StaticProtectedNs("flash.display:DisplayObjectContainer"), StaticProtectedNs("flash.display:InteractiveObject"), StaticProtectedNs("flash.display:DisplayObject"), StaticProtectedNs("flash.events:EventDispatcher")])
      coerce              QName(PackageNamespace(""), "Array")
      dup
      setlocal            13

      pushnull
      ifeq                L285

      getlocal            20
      dup
      iftrue              L194

      jump                L191

      greaterthan
      getlocal            7
      kill                10
      coerce_s
      lshift
      getlocal            12
L191:
      pop
      getlocal1
      convert_b
L194:
      iffalse             L285

      pushbyte            0
      setlocal            17

      getlocal            20
      iffalse             L284

      getlocal            13
      coerce_a
      setlocal            18

      jump                L281

L203:
      label
      getlocal            18
      getlocal            17
      nextvalue
      coerce              QName(PackageNamespace(""), "Object")
      setlocal            15

      getlocal            20
      iffalse             L225

      getlex              QName(PackageNamespace("com.company.assembleegameclient.objects"), "ObjectLibrary")
      getproperty         QName(PackageNamespace(""), "_-pb")
      getlocal            15
      pushstring          "id"
      getproperty         MultinameL([PrivateNamespace("*", "_-Dd:_-0KV#0"), PackageInternalNs("_-Dd"), PackageNamespace(""), PackageNamespace("_-Dd"), PrivateNamespace("*", "_-Dd:_-0KV#1"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-054"), StaticProtectedNs("_-054"), StaticProtectedNs("_-05B"), StaticProtectedNs("flash.display:Sprite"), StaticProtectedNs("flash.display:DisplayObjectContainer"), StaticProtectedNs("flash.display:InteractiveObject"), StaticProtectedNs("flash.display:DisplayObject"), StaticProtectedNs("flash.events:EventDispatcher")])
      callproperty        QName(Namespace("http://adobe.com/AS3/2006/builtin"), "hasOwnProperty"), 1
      iftrue              L226

      getlocal            20
      dup
      iftrue              L224

      pop
      getlocal3
      convert_b
L224:
      iffalse             L241

L225:
      jump                L281

L226:
      getlex              QName(PackageNamespace("com.company.assembleegameclient.objects"), "ObjectLibrary")
      getproperty         QName(PackageNamespace(""), "_-pb")
      getlocal            15
      pushstring          "id"
      getproperty         MultinameL([PrivateNamespace("*", "_-Dd:_-0KV#0"), PackageInternalNs("_-Dd"), PackageNamespace(""), PackageNamespace("_-Dd"), PrivateNamespace("*", "_-Dd:_-0KV#1"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-054"), StaticProtectedNs("_-054"), StaticProtectedNs("_-05B"), StaticProtectedNs("flash.display:Sprite"), StaticProtectedNs("flash.display:DisplayObjectContainer"), StaticProtectedNs("flash.display:InteractiveObject"), StaticProtectedNs("flash.display:DisplayObject"), StaticProtectedNs("flash.events:EventDispatcher")])
      getproperty         MultinameL([PrivateNamespace("*", "_-Dd:_-0KV#0"), PackageInternalNs("_-Dd"), PackageNamespace(""), PackageNamespace("_-Dd"), PrivateNamespace("*", "_-Dd:_-0KV#1"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-054"), StaticProtectedNs("_-054"), StaticProtectedNs("_-05B"), StaticProtectedNs("flash.display:Sprite"), StaticProtectedNs("flash.display:DisplayObjectContainer"), StaticProtectedNs("flash.display:InteractiveObject"), StaticProtectedNs("flash.display:DisplayObject"), StaticProtectedNs("flash.events:EventDispatcher")])
      convert_i
      setlocal            9

      getlocal            19
      dup
      iffalse             L240

      pop
      getlocal1
      convert_b
L240:
      iftrue              L273

L241:
      getlocal0
      getproperty         QName(PackageNamespace(""), "_-09l")
      getlocal            19
      iftrue              L275

      getlocal            11
      getlocal            20
      dup
      iftrue              L252

      pop
      getlocal0
      convert_b
L252:
      iffalse             L276

      getlocal            10
      getlocal            19
      dup
      iffalse             L260

      pop
      getlocal0
      convert_b
L260:
      iftrue              L277

      getlex              QName(PackageNamespace("_-Dd"), "_-Mu")
      getproperty         QName(PackageNamespace(""), "_-SE")
      getlocal            9
      callpropvoid        QName(PackageNamespace(""), "_-2F"), 4

      getlocal            19
      iftrue              L273

      getlocal            15
      pushstring          "name"
      callproperty        QName(Namespace("http://adobe.com/AS3/2006/builtin"), "hasOwnProperty"), 1
      iffalse             L281

      getlocal            20
      iffalse             L281

L273:
      getlocal0
      getproperty         QName(PackageNamespace(""), "_-09l")
L275:
      getlocal            11
L276:
      getlocal            10
L277:
      getlocal            15
      pushstring          "name"
      getproperty         MultinameL([PrivateNamespace("*", "_-Dd:_-0KV#0"), PackageInternalNs("_-Dd"), PackageNamespace(""), PackageNamespace("_-Dd"), PrivateNamespace("*", "_-Dd:_-0KV#1"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-054"), StaticProtectedNs("_-054"), StaticProtectedNs("_-05B"), StaticProtectedNs("flash.display:Sprite"), StaticProtectedNs("flash.display:DisplayObjectContainer"), StaticProtectedNs("flash.display:InteractiveObject"), StaticProtectedNs("flash.display:DisplayObject"), StaticProtectedNs("flash.events:EventDispatcher")])
      callpropvoid        QName(PackageNamespace(""), "_-NF"), 3

L281:
      hasnext2            18, 17
      iftrue              L203

      kill                18
L284:
      kill                17
L285:
      getlocal            12
      pushstring          "regions"
      getproperty         MultinameL([PrivateNamespace("*", "_-Dd:_-0KV#0"), PackageInternalNs("_-Dd"), PackageNamespace(""), PackageNamespace("_-Dd"), PrivateNamespace("*", "_-Dd:_-0KV#1"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-054"), StaticProtectedNs("_-054"), StaticProtectedNs("_-05B"), StaticProtectedNs("flash.display:Sprite"), StaticProtectedNs("flash.display:DisplayObjectContainer"), StaticProtectedNs("flash.display:InteractiveObject"), StaticProtectedNs("flash.display:DisplayObject"), StaticProtectedNs("flash.events:EventDispatcher")])
      coerce              QName(PackageNamespace(""), "Array")
      dup
      setlocal            14

      pushnull
      ifeq                L345

      getlocal            19
      dup
      iffalse             L299

      pop
      getlocal2
      convert_b
L299:
      iftrue              L346

      pushbyte            0
      setlocal            17

      getlocal            19
      iftrue              L342

      getlocal            14
      coerce_a
      setlocal            18

      jump                L339

L308:
      label
      getlocal            18
      getlocal            17
      nextvalue
      coerce              QName(PackageNamespace(""), "Object")
      setlocal            16

      getlocal            20
      iffalse             L339

      getlex              QName(PackageNamespace("com.company.assembleegameclient.map"), "_-sn")
      getproperty         QName(PackageNamespace(""), "_-pb")
      getlocal            16
      pushstring          "id"
      getproperty         MultinameL([PrivateNamespace("*", "_-Dd:_-0KV#0"), PackageInternalNs("_-Dd"), PackageNamespace(""), PackageNamespace("_-Dd"), PrivateNamespace("*", "_-Dd:_-0KV#1"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-054"), StaticProtectedNs("_-054"), StaticProtectedNs("_-05B"), StaticProtectedNs("flash.display:Sprite"), StaticProtectedNs("flash.display:DisplayObjectContainer"), StaticProtectedNs("flash.display:InteractiveObject"), StaticProtectedNs("flash.display:DisplayObject"), StaticProtectedNs("flash.events:EventDispatcher")])
      getproperty         MultinameL([PrivateNamespace("*", "_-Dd:_-0KV#0"), PackageInternalNs("_-Dd"), PackageNamespace(""), PackageNamespace("_-Dd"), PrivateNamespace("*", "_-Dd:_-0KV#1"), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace("_-054"), StaticProtectedNs("_-054"), StaticProtectedNs("_-05B"), StaticProtectedNs("flash.display:Sprite"), StaticProtectedNs("flash.display:DisplayObjectContainer"), StaticProtectedNs("flash.display:InteractiveObject"), StaticProtectedNs("flash.display:DisplayObject"), StaticProtectedNs("flash.events:EventDispatcher")])
      convert_i
      setlocal            9

      getlocal            20
      dup
      iftrue              L330

      pop
      getlocal1
      convert_b
L330:
      iffalse             L339

      getlocal0
      getproperty         QName(PackageNamespace(""), "_-09l")
      getlocal            11
      getlocal            10
      getlex              QName(PackageNamespace("_-Dd"), "_-Mu")
      getproperty         QName(PackageNamespace(""), "_-0Gm")
      getlocal            9
      callpropvoid        QName(PackageNamespace(""), "_-2F"), 4

L339:
      hasnext2            18, 17
      iftrue              L308

      kill                18
L342:
      kill                17
      getlocal            20
      iffalse             L346

L345:
      inclocal_i          11
L346:
      getlocal            11
      getlocal            19
      iftrue              L375

      getlocal            6
      getproperty         QName(PackageNamespace(""), "right")
      iflt                L142

      getlocal            19
      dup
      iffalse             L365

      pop
      getlocal3
      convert_b
      jump                L365

      bitxor
      declocal            5
      inclocal            17
      declocal_i          15
      declocal            6
      declocal            15
L365:
      iftrue              L374

      inclocal_i          10
      getlocal            20
      dup
      iftrue              L373

      pop
      getlocal0
      convert_b
L373:
      iffalse             L388

L374:
      getlocal            10
L375:
      getlocal            6
      getproperty         QName(PackageNamespace(""), "bottom")
      iflt                L127

      getlocal            20
      dup
      iftrue              L384

      pop
      getlocal1
      convert_b
L384:
      iffalse             L388

      getlocal0
      getproperty         QName(PackageNamespace(""), "_-09l")
      callpropvoid        QName(PackageNamespace(""), "draw"), 0

L388:
      returnvoid
     end ; code
    end ; body
   end ; method
  end ; trait
It's compressed with zlib I think.
More info about zlib: http://www.ietf.org/rfc/rfc1950.txt
(it has zlib metadata + the deflated ByteArray)

I'm sure any library that supports zlib can uncompress it.
Wrong section, you'r suppose to go the rotmg help section.
Quote Originally Posted by Xiolest View Post
Wrong section, you'r suppose to go the rotmg help section.
Its to discuss about the map format.

I am actually also figuring it out.
Nano gave me some code from his pserver which is in C#

Also yes it is compressed in zlib. @UltraN00b get to IRC.
Quote Originally Posted by runekri3 View Post
Its to discuss about the map format.

I am actually also figuring it out.
Nano gave me some code from his pserver which is in C#

Also yes it is compressed in zlib. @UltraN00b get to IRC.
Oh okay, my bad. Sorry
Posts 1–5 of 5 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?