1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Add Lua function get_video_modes() for main menu

Also updates and uses porting::getSupportedVideoModes()
This commit is contained in:
Craig Robbins 2015-03-28 11:05:39 +10:00
parent 3ef0b4e637
commit 2430b2e998
4 changed files with 34 additions and 2 deletions

View file

@ -1056,6 +1056,28 @@ int ModApiMainMenu::l_get_video_drivers(lua_State *L)
return 1;
}
/******************************************************************************/
int ModApiMainMenu::l_get_video_modes(lua_State *L)
{
std::vector<core::vector3d<u32> > videomodes
= porting::getSupportedVideoModes();
lua_newtable(L);
for (u32 i = 0; i != videomodes.size(); i++) {
lua_newtable(L);
lua_pushnumber(L, videomodes[i].X);
lua_setfield(L, -2, "w");
lua_pushnumber(L, videomodes[i].Y);
lua_setfield(L, -2, "h");
lua_pushnumber(L, videomodes[i].Z);
lua_setfield(L, -2, "depth");
lua_rawseti(L, -2, i + 1);
}
return 1;
}
/******************************************************************************/
int ModApiMainMenu::l_gettext(lua_State *L)
{
@ -1164,6 +1186,7 @@ void ModApiMainMenu::Initialize(lua_State *L, int top)
API_FCT(sound_stop);
API_FCT(gettext);
API_FCT(get_video_drivers);
API_FCT(get_video_modes);
API_FCT(get_screen_info);
API_FCT(get_min_supp_proto);
API_FCT(get_max_supp_proto);

View file

@ -137,6 +137,8 @@ private:
static int l_get_video_drivers(lua_State *L);
static int l_get_video_modes(lua_State *L);
//version compatibility
static int l_get_min_supp_proto(lua_State *L);