Commit Graph

662 Commits

Author SHA1 Message Date
Umut Paklacı 535601b514 Add build archival script with timestamped snapshots (.gba, .elf, .map) (#420)
* added .sh script for copying output files under folder

* Update scripts/save_build.sh

Co-authored-by: Rickey <ric@rf3.xyz>

* Partial save functionality, comments & game name env variable

* indentation fixes

* exit with error val

Co-authored-by: Rickey <ric@rf3.xyz>

* make save_build.sh executable

---------

Co-authored-by: Rickey <ric@rf3.xyz>
2026-04-01 19:14:00 -07:00
Elliot Tester 12ec71ba2c Doxygen Auto Build and Deploy (#417)
* add Doxygen build and Github Pages deploy workflow

* Fixed typo in Workflow

* Rename docs.yml

* Rename doxygen_ci_workflow.yml
2026-04-01 17:26:32 -07:00
Rickey f46395b9d0 Add basic common_ui background gfx functions (#415)
* Add basic common_ui background gfx functions

* clang format

* document common_ui.h

* Remove unused tonc header

* Fix header guard name convention

* more header cleanup

* claaaaanggggg format
2026-03-31 21:04:47 -07:00
Rickey 91bc9b949e Update github action versions (#418) 2026-03-31 21:34:06 +03:00
MeirGavish 18f70714ce Increased number of audio channels to 14 (#409) 2026-03-29 20:04:25 -07:00
Elliot Tester ff2c792a3b Corrected Sprite Indices for Droll and Crafty Jokers (#413) 2026-03-29 15:09:35 -07:00
Rickey 835e44e4db Introduce the game variables struct (#338)
Co-authored-by: emiyl <me@emiyl.com>

* Introduce the game variables struct

* Fix clang format

* Move game variables into their own file
2026-03-29 14:32:21 -07:00
MeirGavish 34fb0b22db Fixed Shortcut joker ID for #410 (#411) 2026-03-29 11:19:09 -07:00
Geralt 5cf9e2674d Implement arbitrary-sized joker spritesheets (#285)
* Convert static joker sprites indexes to maps for dynamic spritesheets size

* tmp commit

* reorder Joker spritesheets

* more reordering

* Joker maps, will test later

* More reorders and palette optimizations. Sprites now work

* Fix Joker gfx

* Format joker.c

* Fix rebase error

* Integrate Shoot the Moon art

* format

* format

* removing useless GBAL_UNUSED from photograph Joker effect func

* Tidy up joker.c variables formatting

* Fix magic number

* Add context for map in joker.c

Co-authored-by: Rickey <ric@rf3.xyz>

* Update source/joker.c

Co-authored-by: Rickey <ric@rf3.xyz>

* Apply suggestion from @ricfehr3

Co-authored-by: Rickey <ric@rf3.xyz>

* format

* reduce clutter in joker_effects.c file by defining a macro for forward static declarations of joker effect funcs

* refactored some maps in joker.c to make it more concise

* clang format

* adding back how to mark functions as unused when Jokers don't have a sprite yet

* format

* Remove comment about unused functions for Jokers without art

---------

Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
Co-authored-by: Rickey <ric@rf3.xyz>
2026-03-28 17:58:05 -07:00
MeirGavish 461584b674 Music - up to measure 46 (#322)
* Music - Added portamento and note stops to the lead melody

* Added OpenMPT .bak files to .gitignore

* Music - Expanded the module 2x for more accurate quasi-triplet + added 2-3 measures

* Music - Added pitch bend and fixed decorative note

* Music - Added measures 31-32

* Fixed wrong G/D chord sample

* Music - added measures 37-38

* Music - Added echo quasi-square

* Music - layered the quasi-square with the keyboard

* Music - small reduction to quasi-square volume

* Music - more volume adjustments

* Music - added measures 39-32 (triad chords)

* Music - raised the triad chords one octave

* Added missing repetition measures 33-36

* Music - More repetition measures 43-46

* Music - fixed pitch bend in measure 30

* Music - Added tremolo to the lead synth

* Revert "Music - Added tremolo to the lead synth"

This reverts commit 3ffee4684521989501239fbfae6b1276bf713818.

* Music - reduced the triad chords by an octave

* Music - Added lead melody fade-out and reduced triad chords volume

* Music - Added channel 7, and unused channel 8

* Increased the triad chords volume back

* Music - Added panned backing chords (used all 8 channels)

* Music - Added all the panned backing chords

* Music - fixed last echo note

* Music - Added background fifth drown to triad chords

* Music - reduced panning of panned chords

* Updated music arrangement credits in README
2026-03-09 11:17:17 +02:00
MeirGavish 1d71be674d Changed the capitalization of hand names and centered them (#391) 2026-03-08 15:31:19 +02:00
MeirGavish 45b2275b68 Fixed round counter not resetting on game over + removed unused variable (#394)
* Fixed round not resetting on game over + removed unused variable
2026-03-07 11:45:49 +02:00
Elliot Tester 2e6e033f1f Cleaned up Disclaimers (#386)
* Cleaned up Disclaimers

* Apply disclaimer wording suggestion from @MeirGavish


---------

Co-authored-by: MeirGavish <meir.gavish@gmail.com>
2026-03-02 19:42:16 +02:00
MeirGavish 25b706789d Updated CONTRIBUTING.md with scope and art sections (#388)
* Updated CONTRIBUTING.md with scope and art sections

Added sections on project scope and art contribution guidelines.
2026-02-26 15:47:20 +02:00
MeirGavish 37a29440de Sprite documentation addendum note (#381) 2026-02-11 23:42:10 -08:00
Rickey 0bc140b4e8 Document sprite.h w/ minor optimizations / fixes (#379)
* Rename Sprite to SpriteInfo

---------

Co-authored-by: MeirGavish <meir.gavish@gmail.com>
2026-02-11 16:55:56 +02:00
MeirGavish b292d227f9 Fix round start top left blind panel animation background (#377)
* Refactored helper sides copying code in expand 3x3 code

* Implemented main_bg_se_copy_expand_3w_row()

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-31 08:13:54 +02:00
MeirGavish 0f9ebd56f6 Changed L and R keys to play and discard respectively (#374)
* Changed L and R keys to play and discard respectively, removed sorting key in favor of on-screen buttons

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-28 19:08:47 +02:00
Geralt fe4820cf65 Fix cards in deck count shifting when too few cards remain (#370)
* fix

* fix deck size/max size text not getting erased

* add TODO for future deck size overflow fix

---------

Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
2026-01-26 09:22:20 +02:00
Geralt 339d8dc79f Fix selecting a card by accident when moving too fast on round start (#369)
* fix bug

* make timers ints instead of uints

---------

Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
2026-01-26 05:36:31 +02:00
MeirGavish 97bf8b3efd Added sort by rank/suit buttons (#351)
* Added definitions for sorting buttons (cherry pick, does not compile)

* Re-applied changes lost in merge

* Added sort buttons functionality (cherry-pick, has issues)

* Fixed sort buttons issue

* Removed stray code from merge

* clang-format

* Removed code from merge error

* Removed unused function from merge error

* Removed "E" typo from "SUIT" button

* Changed all the 2x5 S's in the UI to be 1 pixel wider at 3x5

* Revert "Changed all the 2x5 S's in the UI to be 1 pixel wider at 3x5"

This reverts commit f70e0d5ab76dd851c564672c01ab60cd25c28b63.

* Changed the width of the "SUIT" button to be consistent with the "RANK" button
2026-01-24 10:06:51 +02:00
Geralt 02799ddc54 Optimize "whole hand" conditions checks for Joker effects (#213)
* Introduce a ContainedHandTypes type

* Separate computing of hand_type and _contained_hand_types variables

---------

Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
2026-01-22 14:22:48 +02:00
MeirGavish 8e1867d235 Switch example gameplay gif to updated video in README (#366) 2026-01-19 09:22:42 +02:00
MeirGavish fd2235d2f6 Update control instructions in README.md (#365) 2026-01-19 09:22:09 +02:00
Emma fc5767c96e Reset selection_y after blind skip (#362) 2026-01-16 08:11:47 +02:00
MeirGavish bb82ab69af Encoded palette indexing in background pngs (#350) 2026-01-15 17:09:04 -08:00
MeirGavish 5300846f73 Refactored to use selection grid during round (#348)
* Added wrapping to selection grid

* Added return value to on_selection_changed to allow aborting on wrap

* Extracted button code to button.c/.h

* Bounds checking changes for selection_grid_move_selection_horz()

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Rickey <ric@rf3.xyz>
2026-01-15 20:32:09 +02:00
MeirGavish b7cc3ec5d6 [Optimization] Slow score lerping from 60 to 30 FPS (#336) 2026-01-14 16:43:53 -08:00
Horváth Balázs 11dafe26ac Fix Four Fingers joker effect persisting after game over (#359)
* Fix four fingers joker effect stuck after game over

* Fix game_over_on_exit() not removing owned jokers
2026-01-11 23:18:40 +02:00
MeirGavish d56528bc5a Changed to custom Balatro font by @MathisMartin31 (#340)
* Changed to custom Balatro font by @MathisMartin31

* Made tweaks to the font

* Tweaked F and y
2026-01-07 17:54:43 -08:00
MeirGavish db9879b5b5 Added blind score requirement and reward in blind select screen (#282)
* Added blind select requirement and rewards printing

* Broke game_blind_select_print_blinds_reqs_and_rewards() into separate functions
2026-01-06 11:06:24 +02:00
MeirGavish 34889988a9 Added documentation to get_played/hand_distribution (#343)
* Added documentation to get_played/hand_distribution

* Documented get_played_distribution() behavior
2025-12-28 11:20:30 -08:00
MeirGavish 6575fc7f94 Update the truncate number function to use decimal point (#333)
* Fixed to truncate as "1.234M" instead of "1234K"

* Optimized by switching to strings to avoid divisions

* Changed FP constants to strings

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-23 07:52:30 +02:00
MeirGavish f76c25614c Change selection grid to maintain relative horizontal position when switching rows (#329)
* Change selection grid to maintain relative horizontal position when switching rows

* clang-format

* Fixed joker selling index error

* Protect against division by 0 and removed redundant fixed point conversions.
2025-12-21 22:00:08 -08:00
Rickey 955a0942f1 Add contributing guide (#334)
* Add contributing guide

* small format changes for CONTRIBUTING.md

* Update CONTRIBUTING.md

Co-authored-by: MeirGavish <meir.gavish@gmail.com>

* Update CONTRIBUTING.md with more clang-format

* Move stuff around for CONTRIBUTING

* Update VScode instructions

* Remove recommendation for formatOnSave

* Update the clang-format thing again

* Update CONTRIBUTING.md

Co-authored-by: MeirGavish <meir.gavish@gmail.com>

---------

Co-authored-by: MeirGavish <meir.gavish@gmail.com>
2025-12-21 17:27:03 -08:00
MeirGavish 8fb0813cf5 Fixed incorrect swapped font mapping for .2 and .3 (#332) 2025-12-19 12:18:33 -08:00
Rickey 1da8e0332e document splash_screen.h (#331) 2025-12-19 11:22:21 +02:00
Rickey 628c0c992d Introduce decimal point font (#314)
* Introduce decimal point font

* Add png of font

* Add getting a decimal point str from int

* Move font out of utils

* Clang format

* set Readme.md as main page in docs

* Add font generator

* kind of fix font

* Fix image oddities

* Added pip install pillow to build_ci_workflow

* Added ensurepip

* Update Docker/CI for font generation

* Fix CI

* Fix CI forreal

* Another CI fix

* Fix directory name for rom

* Adjust directory

* Dummy commit for test

* Revert "Dummy commit for test"

This reverts commit b607085c1322c824d2fdd800ab3c3700389ad3a6.

* dos2unix and update .gitignore

* Delete the generated font file

* Delete the generated font file

* remove dot from font

* Update include/font.h

Co-authored-by: MeirGavish <meir.gavish@gmail.com>

---------

Co-authored-by: MeirGavish <meir.gavish@gmail.com>
2025-12-18 18:19:01 -08:00
Geralt faa75a4eea Swap Cards in Hand (#280)
* card sorting

* Added refactor from @MeirGavish

---------

Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-18 15:14:28 +02:00
Rickey 9a2d128e87 Fix url for nightly (#323) 2025-12-18 05:36:33 +02:00
MeirGavish 34419a589f Music - Fixed wrong G/D chord sample (#321)
* Fixed wrong G/D chord sample

* Added openmpt .bak files to .gitignore
2025-12-16 22:47:58 +02:00
Copilot b146bb667b Add parentheses to timer macro expressions (#319)
---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: MeirGavish <34395426+MeirGavish@users.noreply.github.com>
2025-12-16 11:43:07 +02:00
MeirGavish e90f23661d Sound effects for score accumulation and blind menu pop-up (#313) 2025-12-16 10:32:04 +02:00
MeirGavish 177a3a9741 Fixed bug where the mult wasn't truncated (#315) 2025-12-16 09:53:50 +02:00
MeirGavish f095bf7024 Added documentation for selection_grid.h (#309)
* Added documentation for selection_grid.h

* Fix clang-format

* Update include/selection_grid.h

Co-authored-by: Rickey <ric@rf3.xyz>

* Added NULL-checks for selection_grid_move_selection_horz/vert()

---------

Co-authored-by: Rickey <ric@rf3.xyz>
2025-12-15 21:16:25 -08:00
MeirGavish 81e6b7ab31 Button sound effect (#312)
* Removed magic number for CARD_FOCUS_SFX_PITCH_OFFSET_RANGE
2025-12-13 16:10:15 +02:00
MeirGavish 8a9750b0b3 Used proper text centering for price printing and consolidated functions for printing and erasing (#308) 2025-12-13 09:03:06 +02:00
MeirGavish ae5369b8fe Added C standard gnu23 to the makefile (#288)
* Added C standard gnu23 to the makefile

* Added gnu23 standard to all test modue makefiles

* Added installation of latest gcc version to tests workflow

* Fixed typo in previous commit

* Made GCC 14 installation conditional and moved from the workflow to the script

* Extracted GCC version check to external script for CI and created tests README

* Added #!/bin/bash

* Make check_gcc_version.sh executable
2025-12-12 18:46:03 -08:00
MeirGavish 9bffe5c9a9 Refactor - remove selected from SpriteObject (#305) 2025-12-12 18:44:26 -08:00
Tygyh 440efe1ce1 Update .gitignore with .idea and codeQL directories (#310) 2025-12-12 12:26:33 +02:00