-
Notifications
You must be signed in to change notification settings - Fork 313
Whats New in 1.5
halfnelson edited this page Feb 26, 2014
·
7 revisions
It has been a little bit since the last MOAI release, and the main branch has had a lot of work done.
First the big things:
- Massive rework of the garbage collection system to simplify object tracking. This solved one of the few remaining moai crashes
- Reworking of the AKU Modules API. All of the modules (box2d,chipmunk,untz) are using the same api and are linked with the host-modules project instead of the host. This allows people to create custom hosts without having to generate an #ifdef soup. The #ifdef soup is all tucked away in aku-modules and a host developer only needs to link against it and call the 4 methods it needs.
- Patrick got sick of working with GLUT and created a SDL host in host-sdl folder
- A flag to MOAIAction to disable its auto-stop on no children
The gc changes and massive merge from zipline broke a lot of the build files (ios, osx projects, android make files, vs solutions). Turns out merging xcodeproj and sln files is a royal pain. The solution files and project files were ditched and the following added:
- The CMake build system that was in place for the linux and blackberry hosts was extened to include all hosts
- Luajit support was added to all platforms (via cmake scripts)
- create-project-* scripts were created that allows you to generate vs2008->vs2013 and xcode project files.
- Changes to a project can be recorded once in the relevant cmake script and all platforms should work instead of maintaining 6+ build configs
- Plugin support was added for installing modules which are outside the moai sdk (other repos) More
- Custom host support was added for compiling a host outside of the moai sdk repo. More
- Support for compiling with Ming-w64 for a completely open source experience on windows (no more vcruntime to distribute)
- Vector Pathfinding (MOAIVecPathGraph)
- Box2D Closest Raycast Exposure
- Twitter support in android
- MOAIShader was enhanced with the 4x4 matrix and given access to UNIFORM_WORLD_VIEW
- A faster and smoother android host with working keyboard support.
- MOAISafariIOS is now MOAIBrowserIOS and MOAIBrowserAndroid added
- Visibility can now be inherited!
- Google Play Services
- Updated Tapjoy and Vungle
- MOAISim showCursor and hideCursor support
- Documentation improvements
- Chartboost for IOS and android
- You can now EnqueueJoystickEvent from the host.
- New HTML/JS host based on emscripten
- Android logging support repaired
- VFS works correctly on all platforms
- A heap of lua stack overflows
- Fixes to JSON parser and encoder
- Textbox string bounds calculations fixed
- PVR support working now
- Blackberry support is untested with all the changes
- NaCL support is untested with all the fixes. Maybe this should be ported to PNacl or just use the HTML/JS host if possible
- [C++] The AKU Module interface is different and as a result any custom host will need to be updated to link against aku-modules.cpp and remove calls to modules from the host.
- setInterface() set a metatable for the membertable, not an index as previous. So when using set interface a small shim might be needed:
function setInterfaceLikeOldWay = function(self, newInterface)
local interface = { }
setmetatable(interface,interface)
interface.__index = newInterface
self:setInterface(interface)
end
This means that the flower library will not work without a small mod like above to the class implementation.
- [C++] MOAILuaRef is now split into MOAILuaStrongRef and MOAILuaWeakRef. So calls to MOAILuaRef->getStrongRef etc need to be replaced with a MOAILuaStrongRef member and a getRef call