Changelog
Update: 0.7.0¶
- Fix
Animator's type checking - Add
Soundto modules - Add settings regarding
Sound
Update: 0.6.2¶
- Removed debug prints left in on accident
- Rename type
UiBasetoUIBase - Documentation site improvements
- Removed support of the
Typesymbol having aliases - Added
Symbols.RegisterCustomSymbol()function to create custom symbols more easily - Added wrapper function in Scene for
Symbols.RegisterCustomSymbol() - Fixed spelling mistakes
- Removed deprecated RDC runner script
- Fixed Rethink throwing errors if
Rethink.GetModules()was called before it's initialized - Updated warnings in Template, Scene
- Added
Scene.Cleanup() - Fixed bug relating to Pool not returning the correct object
- Moved
Scene.Events.ObjectRemovedinvoking to object's cleanup method - Replaced .IsLoading to .State to indicate the states that scene is in, such as: Loading, Flushing, Standby
- Removed Scene throwing a warning in
.Flush()was called, when the scene is empty - Added
LinkTagandLinkGetsymbols to reference other objects in the scene module - Cleaned up Symbols module, separation of each handler into its own module
- Updates docs of
Sceneto match current state - Scene no longer returns a Promise when
.Loadis called - Renamed back 3rd party modules to their original names
- Renamed Animation back to Animator
- Fixed error regarding not formatting objects correctly when throwing errors
- Scene now exports
ObjectReferencetype - Removed SelfView, CompilerChunkSize from settings
- Added Class symbol to define object ClassNames
- Utilize gitmodules to track third party libraries
- Symbols now return
visual objects (e.g. Frame) - Object's reference table is now initially set up with symbol handling
- Rewritten
Scene.Remove()to useScene.GetObjectReference()internally - Rewritten
Scene.Flush(),Scene.Load()to stop usingTaskDistributor - Use promise in symbol handlers to catch warnings to prevent code halting
- Fixed memory-leak when removing objects using
Scene.Remove() - Removed
TaskDistributor - Renamed ShouldFlush to Permanent
- Built-in symbols now do type-checking
- Reworked messages and logging using
Loglibrary - Add missing documentation for the main module (init.lua)
- Fixed inconsistencies with types not being capitalized sometimes
- Add
Childrensymbol - Make
ObjectPoolcreate new instances if the specified kind does not exist ObjectPoolnow only resets objects that areGuiBase2d
Update: 0.6.1¶
- Fixed objects not being removed completely
- Rewritten ObjectPool
- Added new argument
stripSymbolsto.Remove - Symbols are now being tracked with their own IDs
- Symbols have their own Janitor now
- Fixed documentation
- Symbols now use
.Symbolstable to store data instead of using the object's reference table directly - Fixed symbols staying on objects after flushed or removed
- Added
.Initand.GetModulesfunction to Rethink - Restructure of engine internals
Update: 0.6.0¶
- Added aliases to the Type symbol:
- Layer
UiBase - Static
UiBase - Dynamic
Rigidbody
- Layer
- Deployed documentation
- Added pin_game.md to request your game getting pinned on the landing page as an example
- Introduced TaskDistributor
- Optimized Scene
FlushandLoad - Refactoring, as well as removing
Utils - Fix
Physicsnow automatically rescaling canvas, if viewport's size changed - Simplifed UI hierarchy
- GameFrame
- RenderFrame
- Viewport
- Ui
- Introduced UiPool to try and minimize the rapid creation and deletion of objects
- Introduced Settings, where you can customize features to your likings
- Introduced
Prototypes, that can be accessed withRethink.Prototypes - Now
ComponentsandToolscan be accessed with Rethink for quality-of-life - Optimizations regarding
Rendering - Prototype
Cullingfeature, to attempt to optimize heavy object scenarios - Restructured code into three different categories:
- Core: The main deal of Rethink, modules made by me and are necessary
- Environment: Modules created by
jaipack17regarding physics and collisions - Utility: Smaller modules that are expected to be used less often than
Coreones
- Introduced
Animationa new animation module forSpritesheetsandSet of images - Removed being able to use custom
Protocolmodules, due to it just adding more complexity - Made
Scene.GetBodyFromTaginto a single function - Introduced Symbols that can be used in
Scene files- Tag: Gives the given object a
tag(s)fetch it withCollectionServiceorScene:GetRigidbodyFromTag - Property: Applies
propertiesorsymbolsto objects in thegroupor thecontainer - Type: How the compiler handles the object
UiBaseandRigidbody - Children: Add objects that are parented to the given object
- Event: Hook events to the given object
- DAF: Determines if the object will get deleted on
.Flush()(Delete After Flush) - Rigidbody: Add rigidbody properties that later get fed into the Physics engine
- Tag: Gives the given object a
- Switched from using
Wrapperto instead usingTemplateto pass on classes - Replaced
:with.whereWrapperwas used - Added documentation for functions (as well as JSDoc here and there)
- Added
Scene.IsRigidbodyfor identifying rigidbodies easier - Added
Default propertiesto objects when compiling objects - Introduced
Template, a simple global data holder - Removed
ReadOnly - Added
Stringsfor editing throw messages, header easier - Cleaned up
GenerateGUI - A Dev place has been made available to see my progress on the engine Click here to view!
- Introduced
TypeCheck - Lot of code refactoring
- Unit test for
TaskDistributor - Removed the
Inputlibrary - Created new logo for Rethink
- Added github issue templates
- Moved actual engine code into
src
For upcoming updates:
- Add Rethink to
Wally - Create a lite version of Rethink
- Finish development of RePreview
- Create an example game
- Update GitHub page more frequently :)
Update: 0.5.3¶
- Updated physics (Nature2D) to V: 0.6.0
- Added scene:GetRigidbodyFromTag() and scene:GetRigidbodiesFromTag()
- idk
Update: 0.5.2¶
- Updated physics (Nature2D) to V: 0.5.4
- Added
Outline - Reverted function's first letter to lowercase
- Added
Gamepadto inputs - Added
fixedRotandfixedPosto rigidbodies
Update: 0.4.1¶
- Made functions' first letter uppercase and the rest lowercase
- Made module names more consistent with eachother
Update: 0.4.0¶
- Added
currentto inputs - Added
Templateto tools
Update: 0.3.0¶
- Added scene manager
- Added test folder
Update: 0.2.0¶
- Added utility functions for rigid bodies
Update: 0.1.0¶
- Inital release