## [0.1.0] - 2025-10-09 ### 🚀 Features - *(assets)* Add icon - *(engine)* Add LoadImageFromMemory() - Set window icon - *(gameover)* Only allow the user to switch state after the gameover sound has been played. - *(gameover)* Make gameover state abit more interesting. - *(assets)* Adding logo data - *(menu)* Draw logo - *(menu)* Put entries rendering into its own function ### 🐛 Bug Fixes - *(audio)* Implement IsPlaying() correctly ### ⚙️ Miscellaneous Tasks - Fix build for windows - *(makefile)* Add .PHONY target again - Add editorconfig - Update readme and add license ## [0.13.0] - 2025-09-24 ### 🚀 Features - Add basic state machine implementation - Refactor gameplay logic from main.go to a state machine handler. - Add basic menu state - Add basic game over state - Register menu and gameover states. - Start the machine in the menu state - Detect game over condition and switch state. - *(render)* Add DrawTextCenter() - *(fsm)* Make the special state "quit" exit the fsm. - Improve menu - *(assets)* Add menu sound effects - *(menu)* Play sound effects. - *(assets)* Add gameover sound - *(gameover)* Play gameover sound - *(gameover)* Center text ### 🐛 Bug Fixes - Reset state on Enter() ## [0.12.0] - 2025-09-21 ### 🚀 Features - *(assets)* Add sound files - Engine audio code - *(assets)* Add sound library - Initialize and use audio subsystem. - Add sound on shape locked and row clear ## [0.11.0] - 2025-09-17 ### 🚀 Features - Add game/shape_queue.go - Use ShapeQueue to implement shape RNG ## [0.10.0] - 2025-09-17 ### 🚀 Features - Draw next shape ## [0.9.0] - 2025-09-15 ### 🚀 Features - Add score type - Show score and increment when lines are cleared ## [0.8.0] - 2025-09-15 ### 🚀 Features - *(grid)* Add IsRowFull() - *(grid)* Add ClearRow() - *(grid)* Add MoveRowDown() - *(grid)* Add ClearFullRows() - Clear full lines after locking shape ## [0.7.0] - 2025-09-15 ### 🚀 Features - Soft drop ## [0.6.0] - 2025-09-15 ### 🚀 Features - *(shape)* Add RotateCW() and RotateCCW() - Rotate shape when UP is pressed. ## [0.5.0] - 2025-09-15 ### 🚀 Features - *(collision)* Check grid bounds in x axis. - Add shape movement ### ⚙️ Miscellaneous Tasks - Update go.mod ## [0.4.0] - 2025-09-14 ### 🚀 Features - *(collision)* Check for collision against blocks in the grid. ### 🐛 Bug Fixes - Check bound before placing a block in LockShape() ## [0.3.0] - 2025-09-14 ### 🚀 Features - Lock and spawn shapes ### 🚜 Refactor - Cleanup main loop code by moving related code into update/render functions respectively. ## [0.2.0] - 2025-09-14 ### 🚀 Features - Add engine/core/vec2.go - Add shape struct - *(draw)* Add grid.DrawBlock() - *(draw)* Add DrawShape() - Draw shape on grid. - Add engine/core/interval_timer.go - Implement shape drop - Add CheckShapeCollision() - Add collision check on shape drop. ## [0.1.0] - 2025-09-14 ### 🚀 Features - *(assets)* Add constant with the size of blocks in the sprite texture. - Add game/block.go - Add game/grid.go - Make rendering work with the grid struct.