From 2430b2e9981a56a4c407dc835ee74e7862e785f3 Mon Sep 17 00:00:00 2001 From: Craig Robbins Date: Sat, 28 Mar 2015 11:05:39 +1000 Subject: Add Lua function get_video_modes() for main menu Also updates and uses porting::getSupportedVideoModes() --- src/porting.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/porting.cpp') diff --git a/src/porting.cpp b/src/porting.cpp index 5b0de1305..797a2cf39 100644 --- a/src/porting.cpp +++ b/src/porting.cpp @@ -570,16 +570,20 @@ void setXorgClassHint(const video::SExposedVideoData &video_data, } #ifndef SERVER + v2u32 getWindowSize() { return device->getVideoDriver()->getScreenSize(); } -std::vector > getVideoModes() +std::vector > getSupportedVideoModes() { + IrrlichtDevice *nulldevice = createDevice(video::EDT_NULL); + sanity_check(nulldevice != NULL); + std::vector > mlist; - video::IVideoModeList *modelist = device->getVideoModeList(); + video::IVideoModeList *modelist = nulldevice->getVideoModeList(); u32 num_modes = modelist->getVideoModeCount(); for (u32 i = 0; i != num_modes; i++) { @@ -588,6 +592,8 @@ std::vector > getVideoModes() mlist.push_back(core::vector3d(mode_res.Width, mode_res.Height, mode_depth)); } + nulldevice->drop(); + return mlist; } -- cgit v1.2.3