141 lines
3 KiB
Markdown
141 lines
3 KiB
Markdown
## [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.
|