Commit Graph

289 Commits

Author SHA1 Message Date
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
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
MeirGavish
f51380c93c Added sound effects for chips, mult, and xmult (#229) 2025-11-22 07:27:43 +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
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
Geralt
1f3d3bffbd Fix bug occurring when a retriggered card has a non-scoring card to the left (#218)
---------

Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
2025-11-12 16:06:37 +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
MeirGavish
d5f59e904b Fixed game stuck due to interest bug + cleanup refactor (#214)
Co-authored-by: MeirGavish <34395426+MeirGavish@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: MeirGavish <34395426+MeirGavish@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
2025-11-07 00:33:52 +02:00
MeirGavish
64dd586df8 Optimized score lerping by changing the number of steps to a power of 2 (#211) 2025-11-06 12:15:07 +02:00
Geralt
e7eaa82c9d Add flaming effect when exceeding score requirements (#210)
* Fix grit palette swapping

* Add suggestions from @MeirGavish

---------

Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
2025-11-04 12:31:09 +02:00
MeirGavish
ada2650c50 New Run Button (#206)
* New Run Button

* Refactor - replaced cashout copies with main_bg_se_copy_expand_3x3_rect() - WIP (Palette still messed)
2025-11-03 07:34:46 +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
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
b01e9e5f01 Added option for a second test joker 2025-10-25 15:18:23 +03:00
MeirGavish
9c78094399 Fixed invalid access to game state array 2025-10-21 12:49:02 +03:00
MeirGavish
462c040e9a Changed the check in game_change_state() to full bounds checking 2025-10-19 11:45:48 +03:00
MeirGavish
53d2e53d78 Changed music to start after Splash Screen 2025-10-17 13:43:21 +03:00
Drew
d6ebda657a Additional PR feedback 2025-10-16 14:48:59 -05: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
b9af95d770 Fixing some constant names after a rebase. 2025-10-14 10:26:09 -05:00
Drew
597dc62e24 Rebasing onto main. Switching to KEY_ANY to restart after a game over 2025-10-14 10:26:09 -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
3071e512c4 Just some cleanup 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
6d66ccbb61 Replaced the substate switch statements with function tables. 2025-10-14 10:24:42 -05:00
Drew
4e1f418a8d Preparing for rebase 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
Rickey Fehr
3c2dd0edba Rename blind enums to represent their type
This commit prefixes the enums `BlindType` and `BlindState` with their
types for clarity
2025-10-13 23:36:27 -07:00
alex
f463ba99a0 changed how game_speed affects hand score animations 2025-10-13 20:28:52 -07:00
alex
767e21d5fa made the lerped temp score expression clearer 2025-10-13 20:26:20 -07:00
alex
d108836b6a changed how game_speed affects hand score animations 2025-10-13 20:24:20 -07:00
MeirGavish
71de180871 Merge branch 'main' into implement_joker_testing 2025-10-13 20:59:17 +03:00
MeirGavish
8c25089966 Allow defining an ID for a joker to always appear in shop and be tested 2025-10-13 20:58:44 +03:00
alex
56c33b2eef made the lerped temp score expression clearer 2025-10-11 23:45:02 -07:00
alex
cf7c9dc7c3 fixed typo 2025-10-11 13:36:43 -07:00
MeirGavish
609e1f19b6 Merge pull request #159 from MathisMartin31/main
Add Pareidolia and Acrobat Jokers
2025-10-09 20:43:36 +03:00
MeirGavish
30638b65e2 Merge pull request #164 from ricfehr3/hotfix/hand-input-order
Fix softlock related to #163
2025-10-09 15:16:56 +03:00
MeirGavish
94cb898bb9 Merge pull request #134 from drewjohnson2/magic_numbers
Magic numbers
2025-10-09 11:18:02 +03:00
Rickey Fehr
73ec9a40d3 Fix softlock related to #163 2025-10-08 20:29:11 -07:00
Drew
f752793caa Shop light specific macros for color 2025-10-08 16:16:23 -05:00