-- INTERNAL
-- definitions of BUILD and game types for the Lunatic Interpreter

local ffi = require("ffi")
local ffiC = ffi.C

--== First, load the definitions common to the game's and editor's Lua interface.
decl = ffi.cdef
local defs_c = require("defs_common")
ffi.metatype("spritetype", defs_c.spritetype_mt)

defs_c.create_globals(_G)


--== Mapster32-specific initialization

ffi.cdef "char *listsearchpath(int32_t initp);"

-- Add the search path directories to the Lua load path.
local initp = 1
while (true) do
    local sp_c = ffiC.listsearchpath(initp)

    if (sp_c == nil) then
        break
    end

    local sp = ffi.string(sp_c)
    assert(sp:sub(-1)=='/')
    package.path = sp..'?.lua;'..package.path

    initp = 0
end

--print('Lua load path: '..package.path)