[Add] Time bindings to mission lua.
This commit is contained in:
parent
7c1816aa2b
commit
b156c96662
@ -11,6 +11,7 @@
|
|||||||
#include "toolkit.h"
|
#include "toolkit.h"
|
||||||
#include "land.h"
|
#include "land.h"
|
||||||
#include "player.h"
|
#include "player.h"
|
||||||
|
#include "ltime.h"
|
||||||
#include "misn_lua.h"
|
#include "misn_lua.h"
|
||||||
|
|
||||||
#define MISN_DEBUG(str, args...) (fprintf(stdout, "Mission '%s': "str"\n", \
|
#define MISN_DEBUG(str, args...) (fprintf(stdout, "Mission '%s': "str"\n", \
|
||||||
@ -96,6 +97,17 @@ static const luaL_Reg space_methods[] = {
|
|||||||
{ 0, 0 }
|
{ 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Time.
|
||||||
|
static int time_get(lua_State* L);
|
||||||
|
static int time_str(lua_State* L);
|
||||||
|
static int time_units(lua_State* L);
|
||||||
|
static const luaL_reg time_methods[] = {
|
||||||
|
{ "get", time_get },
|
||||||
|
{ "str", time_str },
|
||||||
|
{ "units", time_units },
|
||||||
|
{0, 0}
|
||||||
|
};
|
||||||
|
|
||||||
// Player.
|
// Player.
|
||||||
static int player_freeSpace(lua_State* L);
|
static int player_freeSpace(lua_State* L);
|
||||||
static int player_addCargo(lua_State* L);
|
static int player_addCargo(lua_State* L);
|
||||||
@ -139,6 +151,7 @@ int misn_loadLibs(lua_State* L) {
|
|||||||
luaL_register(L, "misn", misn_methods);
|
luaL_register(L, "misn", misn_methods);
|
||||||
luaL_register(L, "var", var_methods);
|
luaL_register(L, "var", var_methods);
|
||||||
luaL_register(L, "space", space_methods);
|
luaL_register(L, "space", space_methods);
|
||||||
|
luaL_register(L, "time", time_methods);
|
||||||
luaL_register(L, "player", player_methods);
|
luaL_register(L, "player", player_methods);
|
||||||
luaL_register(L, "rnd", rnd_methods);
|
luaL_register(L, "rnd", rnd_methods);
|
||||||
luaL_register(L, "hook", hook_methods);
|
luaL_register(L, "hook", hook_methods);
|
||||||
@ -502,6 +515,31 @@ static int space_landName(lua_State* L) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -- Time. --
|
||||||
|
static int time_get(lua_State* L) {
|
||||||
|
lua_pushnumber(L, ltime_get());
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int time_str(lua_State* L) {
|
||||||
|
char* lt;
|
||||||
|
if((lua_gettop(L) > 0) && (lua_isnumber(L, -1)))
|
||||||
|
lt = ltime_pretty((unsigned int) lua_tonumber(L, -1));
|
||||||
|
else
|
||||||
|
lt = ltime_pretty(ltime_get());
|
||||||
|
lua_pushstring(L, lt);
|
||||||
|
free(lt);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int time_units(lua_State* L) {
|
||||||
|
if((lua_gettop(L) > 0) && (lua_isnumber(L, -1)))
|
||||||
|
lua_pushnumber(L, (unsigned int) lua_tonumber(L, -1) * LTIME_UNIT_LENGTH);
|
||||||
|
else
|
||||||
|
lua_pushnumber(L, LTIME_UNIT_LENGTH);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
// -- Player. --
|
// -- Player. --
|
||||||
static int player_freeSpace(lua_State* L) {
|
static int player_freeSpace(lua_State* L) {
|
||||||
lua_pushnumber(L, pilot_freeCargo(player));
|
lua_pushnumber(L, pilot_freeCargo(player));
|
||||||
|
Loading…
Reference in New Issue
Block a user