server/src/eressea/lua/eressea.cpp

68 lines
1 KiB
C++
Raw Normal View History

2003-12-14 11:02:29 +01:00
#include <config.h>
#include <cstring>
#include <eressea.h>
// kernel includes
#include <gamecode/laws.h>
#include <kernel/save.h>
2003-12-14 11:02:29 +01:00
#include <kernel/unit.h>
#include <kernel/reports.h>
2003-12-14 11:02:29 +01:00
#include <util/language.h>
// lua includes
#include <lua.hpp>
#include <luabind/luabind.hpp>
#include <luabind/iterator_policy.hpp>
using namespace luabind;
static int
get_turn(void)
2003-12-14 11:02:29 +01:00
{
return turn;
2003-12-14 11:02:29 +01:00
}
static int
read_game(void)
2003-12-14 11:02:29 +01:00
{
return readgame(false);
2003-12-14 11:02:29 +01:00
}
static int
write_game(void)
2003-12-14 11:02:29 +01:00
{
char ztext[64];
free_units();
remove_empty_factions(true);
sprintf(ztext, "%s/%d", datapath(), turn);
writegame(ztext, 0);
return 0;
2003-12-14 11:02:29 +01:00
}
extern int writepasswd(void);
static int
write_reports()
{
reports();
return 0;
}
extern int process_orders(void);
2003-12-14 11:02:29 +01:00
void
bind_eressea(lua_State * L)
2003-12-14 11:02:29 +01:00
{
module(L)[
def("read_game", &read_game),
def("write_game", &write_game),
def("write_passwords", &writepasswd),
def("write_reports", &write_reports),
def("read_orders", &readorders),
def("process_orders", &process_orders),
def("get_turn", &get_turn)
2003-12-14 11:02:29 +01:00
];
}