From 5f5faddbd58abb16e6a9000c1f98e1120b9dd8d7 Mon Sep 17 00:00:00 2001 From: Kazhnuz Date: Thu, 13 Jun 2019 17:47:48 +0200 Subject: [PATCH] meta: add a changelog --- CHANGELOG.md | 228 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 228 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..07c6302 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,228 @@ +# CHANGELOG + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## Unreleased + +- Meta: Add a Code of Conduct + +- Meta: Add a Changelog + +### Added + +- **world:** Add an activity system + +- **assets:** Add an activity system + +- **example/plateformer:** add a basic pause button + +### Changed + +- **world:** automatize world integration in a scene + +### Fixed + +- **core.input:** use the right argument in `core.input:flushKeys()`'s loop + +- **scene:** use `core.input:flushKeys()` in `Scene:flushKeys()` instead of `core.input:flushSourceKeys()` + +## [0.4.0] - 2019-05-06 + +- Add Bump2D-handled world system + +### Added + +- **world:** Add a `World2D` world object using Bump2D as a backend + +- **world/actor:** Support bump2D filter + +- **loveutils:** `love.math.toZero` substract a variable to another to zero + +- **assets:** Add batch loading of assets + +- **examples:** Add batch asset files + +- **examples/plateformer:** Add a plateformer example + +- **world:** Add a splitscreen-compatible camera system powered by hump.camera + +- **examples:** Add cameras + +- **world:** Support object loading from Tiled + +- **world/actor:** Add sprite support in Actor2D + +- **assets:** Add support for sprites origins in tileset and animations + +- **world:** Add `World:initActors()` to init Actors + +- **world:** automatize multiple character handling + +- **loveutils:** `utils.math.between(num, min, max)` make sure that a number is between two value + +- **world:** Add a gravity system + +- **world/actors:** `Actor:destroy()` destroy the actor + +- **world/actors:** Add a basic timer system to actors + +- **world/actors:** Create a parent `BaseActor` that'll serve as a parent for Actor2D and other future actors + +- **assets:** add getDimensions() to tileset, sprite and animators + +- **world:** add a generic gfx actor + +### Changed + +- **examples/moveplayer:** move to World2D + +- **world:** separate map loading from level initialization + +- **examples/moveplayer:** use a different map + +- **examples/moveplayer:** Use this example to show multiplayer capabilities + +## [0.3.0] - 2019-04-20 + +- General cleanups and reorganisation of the base code to be more legible + +- Add translation + +- Some internal improvement to how gamecore works + +### Added + +- **examples:** Basic Inventory menu + +- **menusystem:** Horizontal listbox menu + +- **menusystem:** Lock/visiblity management functions + +- **examples/mainmenu:** Add a back and exit widget + +- **world:** Embed librairies + +- **world:** Add actors managing functions + +- **world:** Map loading system using STI + +- **examples:** Add a movable multi-player example + +- **world:** Add a basic player system directly inside world system + +- **menusystem:** `Widget.creationID` contain the creation order of every menu widget + +- **menusystem:** `Widget.order` handle the order of the widget in the menu + +- **world:** add `xsp` and `ysp` variable to handle speed to the actor object + +- **examples:** add an option menu + +- **menusystem:** `Widget:invalidateCanvas()` to make a canvas need a redraw + +- **core.lang:** Get the translation data instead of directly putting them in core.lang.datas + +- **core.options:** Add controller variable + +- **core.options:** `core.options:setInputKey(sourceid, padkey, key)` + +- **scenes:** `Scene:keypressed( key, scancode, isrepeat )` and `Scene:keyreleased( key )` callbacks added + +- **menusystem:** Add a global activity flag + +- **examples/options:** Key customization handling + +- **examples:** Add music and SFX + +- **menusystem:** Add `Menu:resetSound()` to entirely reset the sound values of a menu + +- **menusystem:** Add `Menu:setSoundFromSceneAssets(name)` to simplify sound managin + +- **menusystem:** Add sound batch management function + +### Changed + +- **menusystem:** Separate activity and visiblity lock + +- **menusystem:** Add as an argument to widgets actions if the widget have been interacted by a pointer or a key + +- **examples:** Reorganize folder + +- **world:** Make world system need an actorlist + +- **core.inputs:** /!\BREAKING: Use a multi-source system for the input system, and adapt different module to use it + +- **core.lang:** /!\BREAKING: New language metadata format and complete rework of the translation system + +- **core:** directly handle love2D's callbacks inside gamecore + +- **menusystem:** rename `Menu:playSelectSound()` to `Menu:self:playSelectSound()` + +- **menusystem:** Internally link the whole menusystem to a scene + +### Removed + +- `MenuSystem.TextMenu` wasn't used since a long time, and was a menu that modified the widgets. + +- `MenuSystem:keyreleased(key, code)` was just dead code + +- `core.lang:getStringList(library, file)` is replaced in the new translation system + +### Fixed + +- core: load core.lang + +## [0.2.0] - 2019-06-04 + +### Added + +- **examples:** Use some text menus in the example menu + +- **examples:** Test entity system + +- **examples:** Add a main menu to the examples + +- **menusystem:** Add functions to menusystem to set visibility to menus + +- **menusystem:** Add functions to menusystem to switch current menu + +- **menusystem:** Add depth system to menus + +- **world:** Add world and actor system + +### Changed + +- **scene:** rework input locking system to add a timeout + +### Fixed + +- **loveutils:** Fix a crash in `utils.math.pointDistance` + +## [0.1.0] - 2019-18-03 + +### Added + +- **examples:** First two basic examples to show the capability of gamecore + +- **scenes:** Start using a wrapper around `core.scenemanager.currentScene` to set the new Scene + +- **scenes:** Add a storage system inside `core.scenemanager` to be able to keep previous scene + +- **menusystem:** Basic menu examples to test menu capabilities + +- **assets:** Add a mask system to `Texture`, `Tileset` and `Animation` + +### Changed + +- **scene:** `Scene` now registerd themselves + +- **assets:** `Texture` assets are now a custom object instead of directly using love's texture. + +### Fixed + +## [0.0.1] - 2019-16-03 + +- Initial release based on a standalone version of Imperium Porcorum's Core.