This release brings an overhaul of the layouts system, making it finally production-ready, aswell as applying layouts to many common layers.
Changelog
- Reworked layouts from the ground up - see the docs page for more information about how the new system works (#137)
- Update the IDs for a bunch of layers, aswell as adding some predefined layouts (3f64b98, ef9e741, a78bc0c, cb1a6f1, ea037a9, f7ddf0a, ...)
- Add IDs & layouts to
EditorPauseLayer(12d88ae) - Add
CCNode::insertBeforeandCCNode::insertAfterfor adding children before/after existing ones (eb10eca, 4613af6) - Add
CCSize::aspectconvenience method - Add
Mod::getResourcesDirfor getting a mod's runtime resources directory (where[mod.json].resources.filesare placed) (0055032) - Add
Mod::addCustomSettingfor convenience in registering custom settings (7089194) - Add
file::readDirectoryas a sanely named alternative tofile::listFiles(9f60091) - Move
GEODE_DLLto the structs themselves inJsonValidation(06bc6fd) - Versions now support tag numbers & version tags are now used in comparisons. This change does not affect old betas, which still internally report their version as just
v1.0.0-beta, but starting with this beta the version is correctly reported asv1.0.0-beta.6and correctly compared against other versions (bbbf332) Loader::getLoadedModandLoader::isModLoadednow only return if the mod is also enabled (3222097)- Geode's internal mod representation is now included in the loader's loaded mods list (4261e99)
- Fix settings value changes not being broadcast. This causes an API break relating to custom settings;
SettingValuenow requires the owner mod ID in its constructor (7089194) - Fix some warnings (9c9706b, f7bfa21)
- Fix
CCNode::swapChildIndices(ba0851e) - Fix
typeinfo_castcausing a crash if passed anullptr(f4a3258) - Fix
ranges::reversecausing UB (ffd50eb) - Other fixes & improvements (cb00c21)
Bindings
- Add
CCEGLView::getDisplaySizeon Windows (5a1545e) - Add
GameManager::getFontTextureon Mac (fb11ea3) - Add
m_collidedSlope,m_isCheckpointQueued,m_hasHitRing,m_objectSnappedTo,m_checkpoint,m_hasHitPortal,m_isOnSlope,m_wasOnSlopetoPlayerObject(fb11ea3, 14d0ead) - Add
CCCircleWave::m_color(3be7ae8) - Add
GameLevelManager::downloadLevelon Windows (3be7ae8) - Add
GameLevelManager::hasDownloadedLevelon Windows (3be7ae8) - Add
GameLevelManager::getSavedLevelon Windows (3be7ae8) - Add
GameLevelManager::saveLevelon Windows (fcfbd01) - Add
LevelInfoLayer::downloadLevelon Windows (fcfbd01) - Add
GameSoundManager::get(3be7ae8) - Add
MenuLayer::create(3be7ae8) - Add
EditorPauseLayer::updateSongButtonandEditorPauseLayer::onSongon Windows & Mac (262c15d) - Give proper names to
EditorPauseLayer::m_guidelinesOffButtonandEditorPauseLayer::m_guidelinesOnButton(262c15d) - Fix
GameManager::resolutionForKeyreturn type (5a1545e)