Commit Graph

245 Commits

Author SHA1 Message Date
Geralt bf66f96844 Add swapping order of Owned Jokers (#258)
* swap Jokers

* Hide score properly

* add key_released to inputs triggering selection_grid process input

* format code

* Add suggestions and bug fixes from @MeirGavish

* Add comment

* format selection_grid

* toto

* format

* format

* Turned clang-format off for selection grid rows

* revert reroll bug fix, already adressed

* format selection_grid.c

* Move conditions around in game.c

* typo

* Attempt at fixing braced initializer indent format

---------

Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
Co-authored-by: MeirGavish <meir.gavish@gmail.com>
2025-12-07 02:58:50 -08:00
MeirGavish 28ff6c81ef Fixed bug where reroll button is triggered by any key (#279) 2025-12-05 10:06:43 +02:00
MeirGavish 9f170f298d Restored removed joker shop availability check function (#276) 2025-12-04 18:21:10 -08:00
Rickey 291edaf4f2 Clang format and refactor game.h/c + update Bracket Alignment to BlockIndent (#259)
* Refactor and clang-format game.h/c

* Updated clang-format AlignAfterOpenBracket: BlockIndent and ColumnLimit: 100 and refactored all files accordingly

---------

Co-authored-by: MeirGavish <meir.gavish@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-03 13:49:31 +02:00
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
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