Commit Graph

52 Commits

Author SHA1 Message Date
a520de6c1f Added hold block and minor fixes 2025-12-20 11:10:23 +01:00
38dbc17ace refactor main game loop 2025-12-19 20:07:48 +01:00
fe0cd289e2 fix 2025-12-19 16:48:26 +01:00
989b98002c new background image 2025-12-18 07:20:20 +01:00
0ab7121c5b Hold block added 2025-12-17 21:05:32 +01:00
492abc09bc fixed menu in help options 2025-12-17 20:35:39 +01:00
fe6c5e3c8a Updated bottom menu 2025-12-17 20:12:06 +01:00
122de2b36f Bottom menu reorganized 2025-12-17 19:23:16 +01:00
a671825502 fixed menu 2025-12-17 18:55:55 +01:00
cecf5cf68e fixed main screen 2025-12-17 18:13:59 +01:00
57eac01bcb feat(renderer): polish gameplay visuals — transport, starfield, sparkles, smooth piece motion
Add transport/transfer effect for NEXT → grid with cross-fade and preview swap
Integrate in-grid Starfield3D with magnet targeting tied to active piece
Spawn ambient sparkles and impact sparks (hard-drop crackle + burst on expiry)
Smooth horizontal/fall interpolation for active piece (configurable smooth scroll)
Refactor next panel / preview rendering and connector drawing
Tweak stats/score panel layout, progress bars and typography for compact view
Preserve safe alpha handling and restore renderer blend/scale state after overlays
2025-12-08 20:43:51 +01:00
9d989ab395 new next block 2025-12-07 19:02:03 +01:00
2b4b07ae6a fixed statistics 2025-12-07 17:30:18 +01:00
ec9eb45cc3 gameplay score board 2025-12-06 21:07:17 +01:00
1355ce49fe visual makeover of backgrounds for each level 2025-12-06 20:07:04 +01:00
8a549d14dc Fixed menu 2025-12-06 18:18:27 +01:00
12110bd8b4 fixed 2025-12-06 17:51:54 +01:00
f086ed3021 fixed main menu background 2025-12-06 15:44:05 +01:00
f24d484496 fixed highscore 2025-12-06 15:10:41 +01:00
26b4454eea fixed highscore 2025-12-06 14:54:56 +01:00
b531bbc798 fix 2025-12-06 14:08:24 +01:00
cb8293175b new main screen 2025-12-06 12:42:29 +01:00
fff14fe3e1 New fonts 2025-12-06 11:09:12 +01:00
ffdb67ce9b Fixed button text 2025-12-06 10:48:59 +01:00
b44de25113 latest state 2025-12-06 09:43:33 +01:00
383b2e48ec new background for main screen 2025-12-01 20:52:26 +01:00
b46246b74f fixed assertion 2025-11-30 15:52:39 +01:00
55c40f0516 added helper menu 2025-11-30 13:30:02 +01:00
5fd77fdaf0 Added new level sound 2025-11-30 10:37:35 +01:00
98b7711100 Added option for turn on/off smooth scroll 2025-11-30 09:43:50 +01:00
332e2efb74 fade effect when switching states 2025-11-29 19:23:41 +01:00
f0a6b0d974 Added settings.ini 2025-11-23 19:08:35 +01:00
adec55526e fixed timer functions 2025-11-23 18:41:52 +01:00
6176e07ef1 fixed main screen 2025-11-23 13:41:00 +01:00
1ac788b0a2 fixed level selector menu 2025-11-23 10:10:07 +01:00
b33a90d5c5 fixed counter timer when start playing game and exit game 2025-11-23 10:02:02 +01:00
5bf87f2c21 upodate game start and blur on pause 2025-11-23 09:40:00 +01:00
3c3a85d6d4 Fade from main menu to gameplay 2025-11-22 20:18:00 +01:00
c0bee9296a Retro exit modal styling and shortcuts 2025-11-22 19:56:07 +01:00
4e69ed9742 added buttons to main state 2025-11-22 12:16:47 +01:00
a257c5cd79 fixed keybord selection for quit game play 2025-11-22 11:14:55 +01:00
0ffd801743 minor fix 2025-11-22 10:59:47 +01:00
66099809e0 feat: implement textured line clear effects and refine UI alignment
- **Visual Effects**: Upgraded line clear particles to use the game's block texture instead of simple circles, matching the reference web game's aesthetic.
- **Particle Physics**: Tuned particle velocity, gravity, and fade rates for a more dynamic explosion effect.
- **Rendering Integration**: Updated [main.cpp](cci:7://file:///d:/Sites/Work/tetris/src/main.cpp:0:0-0:0) and `GameRenderer` to pass the block texture to the effect system and correctly trigger animations upon line completion.
- **Menu UI**: Fixed [MenuState](cci:1://file:///d:/Sites/Work/tetris/src/states/MenuState.cpp:19:0-19:55) layout calculations to use fixed logical dimensions (1200x1000), ensuring consistent centering and alignment of the logo, buttons, and settings icon across different window sizes.
- **Code Cleanup**: Refactored `PlayingState` to delegate effect triggering to the rendering layer where correct screen coordinates are available.
2025-11-21 21:19:14 +01:00
b5ef9172b3 some problems fixed 2025-08-17 21:13:58 +02:00
d75bfcf4d0 Fixed loader, main menu and level selector 2025-08-17 16:51:33 +02:00
70e4b4e89f fixed position 2025-08-17 09:59:08 +02:00
bc3f69e9d6 Fixed selected level state 2025-08-17 09:44:23 +02:00
0e0519b0e9 Created LevelSelectorState
- code removed from main.cpp and added into a new class
2025-08-17 09:10:49 +02:00
6d4f3c54ed Add exit-confirm modal (fullscreen dim, centered P2 text) and keyboard shortcuts
Add an in-game exit confirmation modal for Playing state: ESC opens modal and pauses the game; YES resets and returns to Menu; NO hides modal and resumes.
Draw a full-window translucent dim background (reset viewport) so overlay covers any window size / fullscreen.
Use PressStart2P (pixel P2) font for all modal text and center title/body/button labels using measured text widths.
Add FontAtlas::measure(...) to accurately measure text sizes (used for proper centering).
Ensure popup rendering and mouse hit-testing use the same logical/content-local coordinate math so visuals and clicks align.
Add keyboard shortcuts for modal (Enter = confirm, Esc = cancel) and suppress other gameplay input while modal is active.
Add helper scripts for debug build+run: build-debug-and-run.ps1 and build-debug-and-run.bat.
Minor fixes to related rendering & state wiring; verified Debug build completes and modal behavior in runtime.
2025-08-16 19:40:23 +02:00
2afaea7fd3 Updated game structure
Some checks failed
Build and Package Tetris / build-windows (push) Has been cancelled
Build and Package Tetris / build-linux (push) Has been cancelled
2025-08-16 12:10:19 +02:00