This is a fairly significant relase. virtual functions to detect when a state loses or gains focus on the Gamestate stack due to newer states have been added. XInput support has been added, along with new virtual mouse support. Gamestate_II handles input across state transitions more cleanly. Additionally, errors are reported more directly in the form of message boxes, on all platforms.
Big Changes
Game::on_cover() and Game::on_uncover() added, along the lines of Game::on_push() and Game::on_pop()
XInput support added
Xbox_360_Axis and Xbox_360_Button enums list available axes and buttons, assuming use of Xbox 360 Controllers
Game::joy_mouse added, allowing basic control of all menus from joysticks when activated
Game now tracks the states of joystick buttons
Gamestate_II now corrects the states of buttons once pushed/uncovered, with an option to fire corresponding events as well
Added Zeni::message_box(...) (MessageBox/xmessage/NSRunAlertPanel support) for Error reporting
.gitignore added to zenilib/
Bugfixes
Quitting keystroke logic simplified: Ctrl+Q should work on all platforms
Alt+Backquote console pull-up now works as expected on non-Windows platforms when in Debug
Resize events handled correctly in Linux and Mac OS X
Joysticks now turned off when zenilib loses focus (default behavior)
Render-to-Texture fix for Direct3D9
SDL_net dependency properly limited to zeni_net
Code::Blocks support partially restored
Python cleaner scripts now function with Python 3.x
Code Changes
'Popup_State's no longer require an argument, taking get_Game().get_top() automatically and leaving in on the Gamestate stack as well
DirectX now skips the first Present call, possibly eliminating strange behavior of showing one frame of arbitrary GPU RAM
Quaternion::Vector3f_to_Vector3f(...) added, for when the axis of rotation is unimportant