Lua VFS: Difference between revisions
Updated description of VFS.MapArchive |
|||
| Line 39: | Line 39: | ||
( string "filename/modname of archive", [string checksum of archive] ) | ( string "filename/modname of archive", [string checksum of archive] ) | ||
-> bool | -> bool | ||
<span class=note>Permanently loads an archive into the VFS (to load zipped music collections etc.).<br>If checksum is given it checks if the to be loaded file is correct,<br>if not then it won't load it and return false.</span> | <span class=note>Permanently loads an archive into the VFS (to load zipped music collections etc.). <br> Does nothing if the archive is already loaded in the VFS (won't reload even if there are <br> changes made to the archive). If checksum is given it checks if the to be loaded file is correct,<br>if not then it won't load it and return false.</span> | ||
'''VFS.CompressFolder''' <span class=warning>unsynced only!</span> | '''VFS.CompressFolder''' <span class=warning>unsynced only!</span> | ||
Revision as of 16:03, 15 May 2014
Development < Lua Scripting < Lua VFS
Modes
VFS.RAW
VFS.MOD (unimplemented, acts like VFS.ZIP)
VFS.MAP (unimplemented, acts like VFS.ZIP)
VFS.BASE (unimplemented, acts like VFS.ZIP)
VFS.ZIP
VFS.RAW_FIRST
VFS.ZIP_FIRST
VFS.RAW_ONLY (same as VFS.RAW)
VFS.ZIP_ONLY (same as VFS.ZIP)
Files
VFS.Include (if enviroment=nil then use current one)
( string "filename" [, table enviroment = nil [, number mode ] ] ) ->
VFS.LoadFile
( string "filename" [, number mode ] ) -> nil | string data
VFS.FileExists
( string "filename" [, number mode ] ) -> boolean
example usage: mapexits = VFS.FileExists("maps\\Castles.sdz")
(Also seems to work with maps downloaded by pool downloaders)
VFS.DirList
( string "directory" [, string "pattern" = "*" [, number mode ] ] )
-> { [1] = string filename, ... }
VFS.SubDirs
( string "directory", [, string "pattern" = "*" [, number mode ] ] )
-> { [1] = string subdir1, ... }
VFS.UseArchive unsynced only!
( string "filename" [, number mode ], lua_function [, arg1 [,arg2 ]] )
-> result1,result2,... of the given lua_function
Loads an archive temporarely in the VFS and then runs the given lua_function,
which can make usage of the files in the archive.
VFS.MapArchive unsynced only!
( string "filename/modname of archive", [string checksum of archive] )
-> bool
Permanently loads an archive into the VFS (to load zipped music collections etc.).
Does nothing if the archive is already loaded in the VFS (won't reload even if there are
changes made to the archive). If checksum is given it checks if the to be loaded file is correct,
if not then it won't load it and return false.
VFS.CompressFolder unsynced only!
( string "folderPath" [, string "archiveType" ] [, string "compressedFilePath" ]
[, bool includeFolder ] [, number mode ] ) -> nil
Compresses the specified folder.
archiveType defines the compression type which can currently be only "zip"
includeFolder specifies whether the archive should have the specified folder as root (defaults to false)
Packing
The Pack- and Unpack-functions are used to convert numbers->strings and strings->numbers. So you can read a binary file and then convert the received strings back to numbers and the other way around. Also you can use it in combination with the SendLuaXYZMsg-functions.
VFS.PackU8
VFS.PackU16
VFS.PackU32
VFS.PackS8
VFS.PackS16
VFS.PackS32
VFS.PackF32
arguments are:
VFS.PackX( number arg1, number arg2, number arg3, ... ) -> string
VFS.PackX( {[1]=number,[2]=number,..} ) -> string
VFS.UnpackU8
VFS.UnpackU16
VFS.UnpackU32
VFS.UnpackS8
VFS.UnpackS16
VFS.UnpackS32
VFS.UnpackF32
arguments are:
VFS.UnpackX( string "binary" [, number position = 1] [, number count] )
-> number | table { [1]=number,[2]=number,.. }
Zlib
VFS.ZlibCompress unsynced only!
( string "uncompressedStr" ) -> nil | string "compressedStr"
VFS.ZlibDecompress available in synced, too!
( string "compressedStr" [, number uncompressed size = 65500] ) -> nil | string "uncompressedStr"