13 KiB
13 KiB
Changelog
All notable changes to this project will be documented in this file. See conventional commits for commit guidelines.
1.1.0 - 2025-10-28
Features
- (audio) add SetVolume() and Volume() (678670f)
- (engine) add number clamping functions (7d5d5b9)
- (input) add KeyPressedWithRepeat() (3d3e8d7)
- (render) adding DrawRectOutlineBorder() (d407eaa)
- (ui) menu should not call audio module directly, make it more modular with and onSelect event callback (a175654)
- (ui) call onSelect in Select() function and make Next()/Previous() use that function (0bc5863)
- (ui) implement new ui system (6cf0e4a)
- (ui) add options menu (30b1946)
- add line clear animation (db9ec53)
- dont close application when user presses Esc key (d1ed556)
- implement persistant configuration (8a02249)
Miscellaneous Chores
- rename Rows to Lines in Grid as Lines are more common in tetris. (190c6ad)
- add trimpath and ldflags to build command (e5c86a1)
- setup git-cliff (fd15ed0)
Refactoring
- move ui code from game/state/handlers/menu.go to its own package in game/ui (bcd6025)
1.0.0 - 2025-10-28
Bug Fixes
- (audio) implement IsPlaying() correctly (1b187d7)
Features
- (assets) add icon (5b54466)
- (assets) adding logo data (dc83316)
- (engine) add LoadImageFromMemory() (93736e0)
- (gameover) only allow the user to switch state after the gameover sound has been played. (53ac384)
- (gameover) make gameover state abit more interesting. (4319ec5)
- (menu) draw logo (9b11f3b)
- (menu) put entries rendering into its own function (ca481ad)
- set window icon (57e57f3)
Miscellaneous Chores
- (makefile) add .PHONY target again (634fd7c)
- fix build for windows (213b9a0)
- add editorconfig (cb6e66b)
- update readme and add license (02a915b)
0.13.0 - 2025-09-24
Bug Fixes
- reset state on Enter() (cd750a5)
Features
- (assets) add menu sound effects (7c02075)
- (assets) add gameover sound (9f055c6)
- (fsm) make the special state "quit" exit the fsm. (35e73f2)
- (gameover) play gameover sound (dcad4ad)
- (gameover) center text (8f8be3d)
- (menu) play sound effects. (68b67e4)
- (render) add DrawTextCenter() (346cf35)
- add basic state machine implementation (75b4981)
- refactor gameplay logic from main.go to a state machine handler. (29225b7)
- add basic menu state (53a31ea)
- add basic game over state (6d15a80)
- register menu and gameover states. (b8397ae)
- start the machine in the menu state (cae34a5)
- detect game over condition and switch state. (54a7821)
- improve menu (288e710)
0.12.0 - 2025-09-21
Features
- (assets) add sound files (1799422)
- (assets) add sound library (1c31fd4)
- engine audio code (5860aa6)
- initialize and use audio subsystem. (173adad)
- add sound on shape locked and row clear (a5c9e68)
0.11.0 - 2025-09-17
Features
0.10.0 - 2025-09-17
Features
- draw next shape (12712e0)
0.9.0 - 2025-09-15
Features
0.8.0 - 2025-09-15
Features
- (grid) add IsRowFull() (eb31bdf)
- (grid) add ClearRow() (8903319)
- (grid) add MoveRowDown() (1d7423d)
- (grid) add ClearFullRows() (2a7f394)
- clear full lines after locking shape (ac4d911)
0.7.0 - 2025-09-15
Features
- soft drop (8f11a99)
0.6.0 - 2025-09-15
Features
0.5.0 - 2025-09-15
Features
Miscellaneous Chores
- update go.mod (d6a9e80)
0.4.0 - 2025-09-14
Bug Fixes
- check bound before placing a block in LockShape() (ca6497d)
Features
- (collision) check for collision against blocks in the grid. (dab2570)
0.3.0 - 2025-09-14
Features
- lock and spawn shapes (a6072e5)
Refactoring
- cleanup main loop code by moving related code into update/render functions respectively. (3c84709)
0.2.0 - 2025-09-14
Features
- (draw) add grid.DrawBlock() (4dd6d93)
- (draw) add DrawShape() (02157a1)
- add engine/core/vec2.go (9387402)
- add shape struct (6564879)
- draw shape on grid. (63a3662)
- add engine/core/interval_timer.go (ffbf133)
- implement shape drop (ab69d50)
- add CheckShapeCollision() (27c10af)
- add collision check on shape drop. (50a7666)