1 #include "lua/internal.hpp"
2 #include "core/settings.hpp"
6 function_ptr_luafun
ss(LS
, "settings.set", [](lua_state
& L
, const std::string
& fname
) -> int {
7 std::string name
= L
.get_string(1, fname
.c_str());
8 std::string value
= L
.get_string(2, fname
.c_str());
10 lsnes_set
.set(name
, value
);
11 } catch(std::exception
& e
) {
13 L
.pushstring(e
.what());
20 function_ptr_luafun
sg(LS
, "settings.get", [](lua_state
& L
, const std::string
& fname
) -> int {
21 std::string name
= L
.get_string(1, fname
.c_str());
23 if(!lsnes_set
.is_set(name
))
26 std::string value
= lsnes_set
.get(name
);
27 L
.pushlstring(value
.c_str(), value
.length());
30 } catch(std::exception
& e
) {
32 L
.pushstring(e
.what());
37 function_ptr_luafun
sb(LS
, "settings.blank", [](lua_state
& L
, const std::string
& fname
) -> int {
38 std::string name
= L
.get_string(1, fname
.c_str());
40 lsnes_set
.blank(name
);
43 } catch(std::exception
& e
) {
45 L
.pushstring(e
.what());
50 function_ptr_luafun
si(LS
, "settings.is_set", [](lua_state
& L
, const std::string
& fname
) -> int {
51 std::string name
= L
.get_string(1, fname
.c_str());
53 bool x
= lsnes_set
.is_set(name
);
54 L
.pushboolean(x
? 1 : 0);
56 } catch(std::exception
& e
) {
58 L
.pushstring(e
.what());