- -- Export binary file 
- -- Thanks to Jerzy Kut for the num_to_char function 
-   
- function num_to_char ( number ) 
-  return ( string.char ( math.mod ( math.mod ( number, 256 ) + 256, 256 ) ) ) 
- end 
-   
- function writeIntLSB ( file, number ) 
-  file:write ( num_to_char( number )) -- x>>0 
- end 
-   
- function main () 
- -- if mappy.msgBox ("Export binary file", "This example script will export the current layer as a binary file (CDXMap format) (anims are replaced with block 0)\nThis is the same as the default .map format when you save a .map file\n\nRun the script (you will be prompted for a filename to save as)?", mappy.MMB_OKCANCEL, mappy.MMB_ICONQUESTION) == mappy.MMB_OK then 
-   
-   local w = mappy.getValue(mappy.MAPWIDTH) 
-   local h = mappy.getValue(mappy.MAPHEIGHT) 
-   
-   if (w == 0) then 
-    mappy.msgBox ("Export binary file", "You need to load or create a map first", mappy.MMB_OK, mappy.MMB_ICONINFO) 
-   else 
-   
-    local isok,asname = mappy.fileRequester (".", "Map files (*.map)", "*.map", mappy.MMB_SAVE) 
-    if isok == mappy.MMB_OK then 
-   
-     if (not (string.sub (string.lower (asname), -4) == ".map")) then 
-      asname = asname .. ".map" 
-     end 
-   
-     --local isok,adjust = mappy.doDialogue ("Export binary file", "Adjust exported values by:", "0", mappy.MMB_DIALOGUE1) 
-     if isok == mappy.MMB_OK then 
-      L0 = 0 
-      L1 = 1 
-   
-      adjust = tonumber (adjust) 
- -- open file as binary 
-      outas = io.open (asname, "wb") 
-      --writeIntLSB (outas, w) 
-      --writeIntLSB (outas, h) 
-      local y = h-1 
-      while y >= 0 do 
-       local x = w-1 
-       while x >= 0 do 
-        local mapval = mappy.getBlockValue (mappy.getBlock (x, y,L0), mappy.BLKBG) 
-        --mapval = mapval + adjust 
-        if mapval < 0 then 
-         mapval = 0 
-        end 
-        writeIntLSB (outas, mapval) 
-        x = x - 1 
-       end 
-       y = y - 1 
-      end 
-      outas:close () 
-   
-      asname = string.sub (asname, 0,string.len(asname)-4) .. ".enm" 
- -- open file as binary 
-      outas = io.open (asname, "wb") 
-      --writeIntLSB (outas, w) 
-      --writeIntLSB (outas, h) 
-      y = h-1 
-      while y >= 0 do 
-       local x = w-1 
-       while x >= 0 do 
-        local mapval = mappy.getBlockValue (mappy.getBlock (x, y,L1), mappy.BLKBG) 
-        --mapval = mapval + adjust 
-        if mapval < 0 then 
-         mapval = 0 
-        end 
-        --writeIntLSB (outas, mapval) 
-        if mapval == 0 then 
-        else 
-          writeIntLSB (outas, mapval) 
-          writeIntLSB (outas, x) 
-          writeIntLSB (outas, y) 
-        end 
-        x = x - 1 
-       end 
-       y = y - 1 
-      end 
-      outas:close () 
-   
-     end 
-    end 
-   end 
-  end 
- --end 
-   
- test, errormsg = pcall( main ) 
- if not test then 
-     mappy.msgBox("Error ...", errormsg, mappy.MMB_OK, mappy.MMB_ICONEXCLAMATION) 
- end 
-