MeirGavish
43d837571e
Truncate Scores ( #269 )
...
* Fixed score truncation erasure, and centering for chips, mult, score and "temp score
* Added centering for money
* Added tests for truncate_uint_to_suffixed_str()
* Fixed u32 bug with get_digits
* Fixed score flames for large numbers
* Small change to update documentation
* Added 1 pixel on to score rect on the left to make room for full character tile + reset_top_left_panel_bottom_row() refactor
* Replaced directional defines with enums
* Updated ante_lut comment
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-02 08:28:36 +02:00
Tygyh
8bba449196
Convert BG_ID_* defines to enum BackgroundId ( #265 )
...
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
2025-11-30 08:53:51 +02:00
Geralt
0953a430c4
Implement Seltzer and Joker Expiration effect ( #252 )
...
* Add Seltzer art
* Implement Joker expiration
* Add exception to copying Jokers + Seltzer message fix
* Move all scoring logic to joker_object_score away from check_and_score_joker_for_event
---------
Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com >
2025-11-30 08:52:42 +02:00
Geralt
435a9a0a1d
Refactor JokerEffect scoring ( #245 )
...
* Remove usage of memcmp for JokerEffect null check
* Added suggestions from @ricfehr3
* Add suggestions from @MeirGavish
---------
Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com >
Co-authored-by: MeirGavish <meir.gavish@gmail.com >
2025-11-28 19:03:47 +02:00
Rickey
1cacabdff6
Clang format pool ( #255 )
...
* Update comment prefix + add github action
* Clang Format pool
* fix clang format version
* Fix pool clang format
2025-11-27 10:41:13 -08:00
Rickey
184ee719b3
Clang format card.c/h ( #256 )
2025-11-26 00:52:04 +02:00
Rickey
09dd996181
Clang Format Blinds ( #253 )
...
* Quick cleanup on bitset docs
* Clang format blind.h/c
* Replace `_` with `s_` for functions
* Fix newline size for macros.
* Fix format for ci
* Add macro for "unused" attribute
2025-11-25 13:47:44 -08:00
Rickey
2c32ff69e3
Clang format hand analysis ( #261 )
...
* Clang format hand analysis
* Update source/hand_analysis.c
Co-authored-by: MeirGavish <meir.gavish@gmail.com >
---------
Co-authored-by: MeirGavish <meir.gavish@gmail.com >
2025-11-25 13:45:07 -08:00
Rickey
e910aee184
Clang format list ( #254 )
...
* Finish clang-format on lists
2025-11-25 11:32:50 +02:00
Rickey
6db35b0f95
Clang format sprite ( #262 )
2025-11-24 23:26:47 +02:00
Rickey Fehr
fcb2337fa2
Clang format splash screen
2025-11-23 18:43:45 -08:00
Geralt
408c264e85
Modify blueprint and brainstorm implementation to fix retrigger bug ( #244 )
...
---------
Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com >
2025-11-21 20:09:07 +02:00
Geralt
2fb41e533c
Make Chips, Mult and Score unsigned and protect against overflow ( #212 )
...
---------
Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com >
2025-11-20 12:39:15 +02:00
Rickey
47b1bac31f
Add list_swap() and list_insert() functions ( #232 )
...
* Add list_swap() and list_insert() functions
* Update docs for list_swap
* Add test case and fix list insert bug
* Fix silly bug with list length on insertion
* Initial changes for pr
* Add reverse iterator and update test for it
* Cleanup iterator next function
* update tests to cover list_get_at_idx
2025-11-18 18:19:00 -08:00
Rickey
a4caa44580
Add clang format and used it for bitset ( #240 )
...
* Add clang format file .clang-format
* Use clang format on bitset
---------
Co-authored-by: MeirGavish <meir.gavish@gmail.com >
2025-11-18 08:56:32 +02:00
Geralt
1ac55692e9
Break up the played cards scoring loop into several functions ( #224 )
...
* rename PLAY_PLAYING state into PLAY_STARTING
* make discarded_card and sound_played global variables
* Broken up cards_score state update
---------
Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com >
Co-authored-by: MeirGavish <meir.gavish@gmail.com >
2025-11-16 17:33:01 +02:00
MeirGavish
28043bd7ca
Integrated Photograph joker art by @MathisMartin31
2025-11-12 14:11:16 +02:00
Geralt
4183f563ab
Implement cards held in hand effects ( #205 )
...
* Adapt existing Jokers to the Held Card mechanic + effect display location
* Add suggestions from @ricfehr3
* Add suggestions from @MeirGavish
---------
Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com >
2025-11-12 13:18:53 +02:00
Rickey
e0cffab768
Update list implementation to work with memory pools ( #168 )
...
* Introduce indexed list implementation
* Fix CI tests for pool
* Take bitset out of pool
* Replace joker bitset interactions with wrappers
* Add bitset tests
* Add test to gitignore
---------
Co-authored-by: rfehr-idexx <ric-fehr@idexx.com >
2025-11-11 17:56:21 +02:00
theturtlemafia
03273de829
Adds Shortcut and Four Fingers ( #95 )
...
* adds shortcut joker
* adds Four Fingers joker, and combination support for Four Fingers + Shortcut
---------
Co-authored-by: MeirGavish <meir.gavish@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-01 16:28:40 +02:00
Geralt
eb815b7820
Refactor of scoring flow, Joker Callbacks and Card Retriggers ( #160 )
...
* Remove Baseball Card for now, will have to wait a future PR
* Removed cards held in hand joker scoring stage - should be in another PR
---------
Co-authored-by: MonteCrysto <mathis.martin31@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: MeirGavish <meir.gavish@gmail.com >
2025-11-01 15:50:52 +02:00
MeirGavish
dfe6edad88
Refactor - Replaced magic number copies with main_bg_se_copy_rect() ( #192 )
2025-11-01 08:12:20 +02:00
MeirGavish
b472ce2bad
Changed the order of suits to match the original Balatro ( #189 )
2025-10-30 11:18:36 +02:00
JustinL-12
c510e78704
Implement Interest ( #144 )
...
* Implemented Interest
* Very carefully applied changes from PR #144 to implement interest and fixed magic numbers
---------
Co-authored-by: JustinL-12 <jlong30@uic.edu >
Co-authored-by: MeirGavish <meir.gavish@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-10-29 20:43:26 +02:00
JustinL-12
b38433d191
Weight jokers by rarity in the shop ( #152 )
...
* Added weight for the rarity of jokers in the shop
* Includes manual conflict resolution
---------
Co-authored-by: JustinL-12 <jlong30@uic.edu >
Co-authored-by: MeirGavish <meir.gavish@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-10-27 19:18:48 +02:00
MeirGavish
a083d3de74
Moved pool file out of external definition and replaced it with a flag ( #176 )
...
* Moved pool file out of external definition and replaced it with a flag
2025-10-22 22:43:02 +03:00
MeirGavish
9b568e8e1a
Moved undefined game state to enum end (more xmacro idiomatic)
2025-10-21 12:50:18 +03:00
MeirGavish
0b848cd72e
Merge branch 'main' into start_music_after_splashscreen
2025-10-21 12:25:07 +03:00
Rickey Fehr
af3d69bcfb
Rename def files
2025-10-18 17:28:35 -07:00
Rickey Fehr
138792df48
Add memory pool test, fix bugs
2025-10-17 18:05:36 -07:00
Rickey Fehr
16059ab632
Update for PR
...
Readd sprite tracker to not reuse indices
check for capacity when returning pool entries
Update script for printing memory map
2025-10-17 16:55:09 -07:00
Rickey Fehr
d499abe2c4
Cleanup for PR
2025-10-17 16:55:09 -07:00
Rickey Fehr
d78e04c6b5
Fix style, tiny error, and typo
2025-10-17 16:55:09 -07:00
Rickey Fehr
5e2bd9a59a
Update memory map script and cleanup
2025-10-17 16:55:09 -07:00
Rickey Fehr
a1e73be3fc
Update github actions to print the memory map
2025-10-17 16:55:09 -07:00
Rickey Fehr
06cd13a17f
Centralize location of memory pools
...
This commit centralizes the location of memory pools and adds an
associated script (scripts/get_memory_map.sh) to read the memory map.
2025-10-17 16:55:09 -07:00
Rickey Fehr
72c0a6c4a9
Optimize bit operations, style fix, cleanup
2025-10-17 16:55:07 -07:00
Rickey Fehr
e00c51502b
Replace Malloc With Pools
...
This commit introduces an object pool and replaces instances of malloc with pools where sensible.
2025-10-17 16:54:09 -07:00
MeirGavish
53d2e53d78
Changed music to start after Splash Screen
2025-10-17 13:43:21 +03:00
Drew
f77a715845
Some PR feedback
2025-10-14 23:08:42 -05:00
Drew
3a6e004fc6
Rebase and some PR feedback
2025-10-14 10:44:21 -05:00
Drew
0f154741ed
Renaming a function, fixing a call to memcpy16. Replacing magic numbers with enum values
2025-10-14 10:26:09 -05:00
Drew
dbef1dacdc
Added the ability to restart the game after a game over.
...
The function that handles this is the on_exit of the game lost state. This function is not meant to
be permanent, but is just a placeholder while we decide what we actually want to do when game over is
reached.
2025-10-14 10:26:05 -05:00
Drew
fb35397238
Cleanup
2025-10-14 10:20:43 -05:00
Drew
04ffb0d4dd
A little bit of scope creep here.
...
Renamed some of the state functions to include the word 'on'. Also
replaced the switch statement in set_hand() with a lookup table
access. This lookup table contains the chips, mult and display name
for a given hand. Some may not like these changes, so we can easily
roll back if need be.
2025-10-14 10:20:43 -05:00
Drew
121bbc01d5
Refactored state machine.
...
Added a state info map which keeps track of a particular state's on_init, on_update and on_exit functions.
A few of the on_update functions have sub-states, which create extremely long switch statements.
Not sure if perhaps the best route would be to keep the switch statements but break the cases into individual
functions or if we should keep track of substates. The latter sounds like it could get complicated and really
messy quick. Problem for another day.
2025-10-14 10:20:40 -05:00
MeirGavish
6dce57e197
Merge pull request #145 from pansythoughts/main
...
kind of fixed how game_speed behaves
2025-10-14 13:57:40 +03:00
Rickey Fehr
ef048791c1
Separate out graphics and add ability change boss
2025-10-13 23:36:27 -07:00
Rickey Fehr
f885fa9164
Fix Iterating over every blind instead of 3 max
2025-10-13 23:36:27 -07:00
Rickey Fehr
54d955d1e7
Update for PR
2025-10-13 23:36:27 -07:00