LunatiX v0.13.0
Important changes
-
Overall
- LunatiX separated the logical position/box of an entity (physics) and the graphical position box (graphics).
See 771b9d1, b773cba, f005d33. - This is the last version that uses SDL 2.0.3.
- Every functions that have been deprecated in the v0.12.0 have been removed.
- UTF8string has been updated.
- Some functions takes references in argument instead of pointers
- LunatiX separated the logical position/box of an entity (physics) and the graphical position box (graphics).
-
Graphics
- Implemented LX_ImgCoord and LX_ImgRect. There are used to define the position and the box of
an entity on screen.
- Implemented LX_ImgCoord and LX_ImgRect. There are used to define the position and the box of
-
Physics
- The physics module has been rebuilt
- Every calculations in the physics module are done by using floating-point value.
- Implemented LX_FloatPosition and LX_FloatingBox
- It manipulates floating-point values by using Float. See d3cbc5f and Gumichan01/float-wrapper
- LX_AABB has been removed.
- Removed constructors from structures. It is not useful anymore.
- The physics module has been rebuilt
-
Multithreading
- TinyThread++ has been removed. It was not necessary to use it because LunatiX can be compiled with GCC 4.8.1 and Clang 3.3 at least. Those compilers provide a full C++11 support (including multithreading support). TinyThread++ was originaly used to provide this multithreading support when LunatiX was not written in C++11.
- New thread: LX_AsyncTask. This thread handles an asynchronous task.
- Removed LX_Mutex, LX_Cond, and LX_Channel.
-
LX_FileIO
- It uses the standard C API instead of SDL2.
Minor changes
-
Graphics
- LX_Window
- Two new functions: show(), hide()
- setFullscreenMode() uses an enumeration instead of number.
- Multiple lines (drawLines()) can be drawn by using
std::vector
instead of pointers - setViewport() does not return a value. See 39ef7b0
- resetViewport() was defined. See 71eadd4
- LX_BufferedImage: convertGrayscale() and convertNegative() return the current instance. See 7d69cd4
- LX_Texture
- New enumeration: LX_PixelFormat
- New signature of getDimentions(), the old one is deprecated. See 2c1b85b
- LX_WindowManager
- The window manager stores the windows in an unordered_map. See 8f5fb4d
- addWindow() takes a reference to a window instead of an address.
- getWindow() returns a reference to a window instead of an address.
- LX_Window
-
Mixer
- LX_Music
- play() new signature.
- LX_Music
-
Event
- Some typedefs are replace by enumerations - LX_GamepadAxis, LX_GamepadButton
-
Message Box
- The type of the message is an enumeration - LX_MsgType
-
Device
- Another enumeration: LX_MouseButton
-
Random:
- new functions: fxrand(), xrand().
- Some functions are deprecated. please check the documentation for more information.
-
Error messages
- Replaced LX_GetError() and LX_SetError() with LX_getError() and LX_setError()
Fixes
- LX_Event::pushUserEvent(): a test was always true in this function, so I removed it. See 313504c
Known bugs
- If you updated the game controller database (from here), the mapping won't work properly, because the new database is no longer compatible with SDL 2.0.3.