the ListBox seems to meet my needs for now.
Currently, I am succefully loading device options from a .qXML file (device type, resolutions, color depths) and displaying list boxes for them. Selecting from the list boxes changes the setting in ICE_Options::m_config[] and after you click 'okay' the state's destructor will recognize that you changed a setting, and will shut down the device and start it up with new options.
Furthermore, the ICE_Options class saves its data to file, so your preferences are stored for next time-- and the configuration screen does not show after you've set a configuration.
Currently, Im having a little run-time crash with adding items to the color depths list box for some reason, though it was working before.
Anyhow: ICE v2.0 is almost ready!! The device configuration is really cool!! Yay!! How many double exclaimations do you think I can fit in here!!?!! Be excited!!
ICE - IrrLicht Common Engine Framework
qXML looks good for your purposes although if anyone needs to do anything more complex (like get all the instance of a CREATE tag in a file rather than hit them individually top to bottom) they will have to go to something else - there is a small xml parser out there that is really cool - its called tinyXML and supports the full XML syntax in a tiny library that is easy to compile - so if you hit any roadblocks with qXML you might consider nabbing this lib - i use it in ping.net
http://www.grinninglizard.com/tinyxml/
and ICE looks great - as long as it stays simple - and hopefully it will be easy to integrate into an ongoing project - i will try to use it in ping.net once you release 2.0 and we'll see how it goes?
one question - when the device gets recreated what happens to all the textures that are under that device? or can the device only be changed at the beginning of the app running?
hmmm, i havent even tried yet to change the screensize on the fly - i hope that is possible because i would like to allow my players to go to full screen and windowed at will ...
http://www.grinninglizard.com/tinyxml/
and ICE looks great - as long as it stays simple - and hopefully it will be easy to integrate into an ongoing project - i will try to use it in ping.net once you release 2.0 and we'll see how it goes?
one question - when the device gets recreated what happens to all the textures that are under that device? or can the device only be changed at the beginning of the app running?
hmmm, i havent even tried yet to change the screensize on the fly - i hope that is possible because i would like to allow my players to go to full screen and windowed at will ...
I have trouble using ICE. The source compiles fine, but wont run correctly. It will either not run correctly ( meaning either the buttons don't work, or the menu won't load at all ) but if I download the precompiled source, it runs perfectly... does this have anything to do with the fact that I am running Windows98SE, and if so, is there anything short of an upgrade that I can do to make it compile and run correctly?
I have trouble using ICE. The source compiles fine, but wont run correctly. It will either not run correctly ( meaning either the buttons don't work, or the menu won't load at all ) but if I download the precompiled source, it runs perfectly... does this have anything to do with the fact that I am running Windows98SE, and if so, is there anything short of an upgrade that I can do to make it compile and run correctly?
Okay... so I found the problem, thanks to this post here by cmoibenlepro and afecelis
http://irrlicht.sourceforge.net/phpBB2/ ... hp?p=22202
For all the other newbies who couldn't get this to work... or don't understand it:
http://irrlicht.sourceforge.net/phpBB2/ ... hp?p=22202
For all the other newbies who couldn't get this to work... or don't understand it:
- Open game_engine.cpp
- Search for the line bool game_Engine::Init
Code: Select all
m_device = irr::createDevice(device_type, irr::core::dimension2d<irr::s32>(res_x, res_y), colordepth, fullscreen, stencilbuffer, m_pEventHandler);
- Change it to:
Code: Select all
m_device = irr::createDevice(device_type, irr::core::dimension2d<irr::s32>(res_x, res_y), colordepth, fullscreen, stencilbuffer, false, m_pEventHandler);