Commit Graph

698 Commits

Author SHA1 Message Date
MeirGavish 8dc96b6bbb Refactor - Moved shop data structures to shop.c/.h (#521)
* Moved shop data structures to `shop.c/.h`

* Renamed static variables and reset function
2026-05-31 12:32:27 +03:00
Rickey 63b6584706 Feature/game over audio (#494)
* initial additions

* Move current_blind to game vars

* tmp

* tmp

* tmp

* tmp

* tmp

* tmp

* tmp

* Compile but is broken

* temp fix for token location

* tmp

* Working, lets clean up

* remove todo

* Remove odd reroll blind variable

* fix skipping blind screen

* fix reroll

* remove magic for blind token locations

* clang format

* Cleanup button highlight in blind menu

* some cleanup

* Add layout file for global UI rects

* remove dead code

* Clang format

* clang format it up

* Move reset top left funct to gfx utils

* make note of soon-to-be removed vars

* Cleanup gamevars declaration

* Cleanup layout file

* Apply suggestions from code review

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Add include for stdbool.h in common_ui.h

* Cleanup rect declaration

* Start moving state machine stuff to new file

* quick tmp

* oops, add new files

* working call list

* fixed pointer stuff

* working as per norm

* working replacement

* move defines to static const

* fix compile issue

* Add some missing "void"s

* Working new substates

* add statemachine to blind select

* Fix game restart statemachine leak

* clang-format

* Clang format

* Rework shop exit logic

* Use new state machine in shop

* Remove substates entirely

* Remove debug stuff

* Clang format

* document state machine better

* update list tests

* clang-format

* Update for PR

* Claaaaang format

* another clang-format

* Remove extra state in round_end

* cleanup docs for removals in lists

* clang-format... again

* update doxygen format

* Clang format

* tmp

* Update for Pr

* clang-format

* Cleanup for only supporting losing

* bug fix, thanks logs!

* Fix dangling pointer bug

The control of removing statemachines may call issues if starting the
function is done from another state machine call. To remedy this, add a
flag to determine if a state machine is registered and return early
instead of blindly removing it to re-add.

* Fix bug with audio iterations possibly going in reverse

* Remove extra includes

* Clang-format

* Add sound effects for game win/lose

* adjust audio steps

* tmp

* Nice sounding and cleaned up

* Fix and cleanup

* clang-format

* clang-format

* clang format again

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-27 21:57:30 -07:00
Geralt d2e453c256 Prevent bad colors in case affine_background_set_color is called twice by mistake (#505)
Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
2026-05-25 21:55:53 -07:00
Rickey 221b6d77c0 Add option to enable a more readable deck, suggestion by @Turro75 (#495) (#511)
* Options menu revamp

* Implement readable card sprites

* redraw characters to fix the original style

* clang format

* remove usage of UNDEFINED (-1) for unsigned values

* typo

* change save fix for something cleaner

* remove dependency to game_variables.h from card.c

* Make the palette look less silly ^^'

* Address @ricfehr3's comments

* clang format

* quick rename

* clang format

---------

Co-authored-by: Geralt <84459734+MathisMartin31@users.noreply.github.com>
Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
Co-authored-by: Turro75 <valerio.turrini@gmail.com>
2026-05-25 11:11:33 -07:00
Rickey cebdebbfd0 Revert "Add option to enable a more readable deck, suggestion by @Turro75 (#495)" (#510)
This reverts commit d3c0357856.
2026-05-25 11:01:13 -07:00
Geralt d3c0357856 Add option to enable a more readable deck, suggestion by @Turro75 (#495)
* Options menu revamp

* Implement readable card sprites

* redraw characters to fix the original style

* clang format

* remove usage of UNDEFINED (-1) for unsigned values

* typo

* change save fix for something cleaner

* remove dependency to game_variables.h from card.c

* Make the palette look less silly ^^'

* Address @ricfehr3's comments

* clang format

* quick rename

* clang format

---------

Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
2026-05-25 11:00:37 -07:00
Rickey 92cb9f9883 Refactor/state machine (#470)
* initial additions

* Move current_blind to game vars

* tmp

* tmp

* tmp

* tmp

* tmp

* tmp

* tmp

* Compile but is broken

* temp fix for token location

* tmp

* Working, lets clean up

* remove todo

* Remove odd reroll blind variable

* fix skipping blind screen

* fix reroll

* remove magic for blind token locations

* clang format

* Cleanup button highlight in blind menu

* some cleanup

* Add layout file for global UI rects

* remove dead code

* Clang format

* clang format it up

* Move reset top left funct to gfx utils

* make note of soon-to-be removed vars

* Cleanup gamevars declaration

* Cleanup layout file

* Apply suggestions from code review

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Add include for stdbool.h in common_ui.h

* Cleanup rect declaration

* Start moving state machine stuff to new file

* quick tmp

* oops, add new files

* working call list

* fixed pointer stuff

* working as per norm

* working replacement

* move defines to static const

* fix compile issue

* Add some missing "void"s

* Working new substates

* add statemachine to blind select

* Fix game restart statemachine leak

* clang-format

* Clang format

* Rework shop exit logic

* Use new state machine in shop

* Remove substates entirely

* Remove debug stuff

* Clang format

* document state machine better

* update list tests

* clang-format

* Update for PR

* Claaaaang format

* another clang-format

* Remove extra state in round_end

* cleanup docs for removals in lists

* clang-format... again

* update doxygen format

* Clang format

* Update list docs

* Update lists tests

* Fix bad conflict resolution

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-22 18:06:13 -07:00
Geralt 2329c4c681 Refactor/hand (#490)
* move all hand funcs to their new file. now to clean up

* WIP

* Cleanup + doc hand.h

* clang format

* Refactor loose variables in hand.c into a proper Hand struct

* Fix some more issues

* Apply *some* suggestions from code review

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* remove outdated comment

* fix rebase issue

* fix rng_info missing from g_game_vars init

---------

Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-22 17:51:39 -07:00
Rickey d7414157a5 Add logging (#492)
* Add logger implementation for mgba debugging

* Add logging details to contributors guide

* Clang-format

* update docs real quick

* Cleanup for PR

* Update for PR

* Fix bad rebase

* Fix docs
2026-05-21 20:07:34 -07:00
Geralt c2844a5d32 Refactor/RNG system (#476)
* Extract rng manipulation to its own file

* clang format

* Get CPU cycles since game start to use for RNG

* change a few things

* clang format

* Implement suggestions from @ricfehr3

* clang format

* Fix rebase issue

* clang format

* Create RngInfo struct to hold seed and step

* clang format

* Make a note about rng_restore system not having been tested properly yet

* Apply suggestions from @ricfehr3

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

* clang format

---------

Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
Co-authored-by: Rickey <ric@rf3.xyz>
2026-05-21 19:47:48 -07:00
Geralt e3f680d6d0 Fix applying boss blind color twice (#49
Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
2026-05-20 18:59:17 -07:00
Geralt 69403f059f Allow to exit the options menu without saving changes made (#484)
* Allow exiting options menu without saving

* Change "Back" button text to "Cancel" to be more explicit

* clang format

* fix load_game

* use proper existing defines for options default values

* fix buttons' array sizes

---------

Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
2026-05-19 18:10:49 -07:00
Rickey 9b85329669 Document deprecation warning for 'getdata' method (#489)
Added comments regarding the deprecation of 'getdata' in Pillow.

Comment in regards to: https://github.com/GBALATRO/balatro-gba/pull/486 . Good info for anyone seeing the warning.
2026-05-18 21:43:24 -07:00
Elliot Tester dae65d035f sprite optimizations + static array fix (#454)
* optimizations

* fix prototype

* clang-format

* changes

* fix bug

* fix bug that came back after rebase

* make is_sprite_object_static more readable

* make it not broken

* actually make it compile...

* clang-format

* remove first extra check

* remove second extra check

* remove third extra check

* helper function 1

* second helper function

* how did i do this that wrong

* seperate epsilon

* combine if statements

* clarify comment

* remove redundant checks

* Remove braces around return

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

* Move comment to above

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

* clang-format

* simplify using abs()

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

* fix syntax error from suggestion

* drop second epsilon + use abs()

* update comment

* extract sprite_oject_needs_position_sync from is_sprite_object_static

* figured out the root cause :)

* make it compile

---------

Co-authored-by: Rickey <ric@rf3.xyz>
2026-05-16 21:08:47 -07:00
Geralt d5d5a6fd6b Refactor/shop (#475)
* initial commit, DOES NOT COMPILE

* Rename joker interactions file to `joker_row`

* IT'S WORKIIING (now to make it pretty lol)

* fixed rebase issues

* fix rebase + undo state machine changes

* Document shop state functions

* clang format

* fix reroll cost not appearing on shop init

* Move generic SpriteObject text/price printing functions to sprite.c + some minor fixes

* Resolve weird defines/include order issue

* clang format

* Implement suggestions from @ricfehr3

* clang format

* clang format

* fix rebase

* Implement sugegstions from @ricfehr3

* Refactored shop to use the Button struct

* missed some memsets

---------

Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
2026-05-15 18:36:19 -07:00
Rickey b1c2b7f35e Refactor/round end (#479)
* Initial round_end extraction

* move hands to game vars

* Checkpoint

* Finish removing all variables for state fns

* Move over round_end substate functions

* Move over round_end with compile

* working in general

* Fix round start state issue

* clang-format

* Fix clang format issue

* PR fixes and standardize types in game vars struct

* Clang-format
2026-05-13 18:22:02 -07:00
HEMASHREE N 57ec84fcc7 docs: clarify clang-format version and usage (#474)
* docs: clarify clang-format version and usage

Added version, installation, and verification steps for clang-format to help contributors avoid CI issues.

* Enhance CONTRIBUTING.md with installation details

Updated installation instructions for clang-format on Ubuntu/Debian and Arch Linux. Added details for verifying installation and modified commands to include additional directories.

* Revise clang-format installation instructions

Updated installation instructions for clang-format and removed redundant verification section.

* Enhance clang-format usage instructions in CONTRIBUTING.md

Added recommendations for using clang-format before PR submission to ensure proper code formatting.

* Update CONTRIBUTING.md with clang18 PATH instructions

Add instructions to set PATH for clang18 on Arch Linux
2026-05-10 16:00:32 -07:00
Geralt a79c4c92e2 Updating the save mechanism by creating an intermediary SaveData struct (#472)
* Make save changes their own branch

* Make SaveData tags char[] instead of u32[]

* Make Game and Options data saving independent

* removed unused functions

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* mark save sections as valid only after they are actually written to SRAM

* fix comparison between different integer types

* Implement some suggestions from @ricfehr3

* Add extensive documentation on the structure of the savefile

* fix doxygen doc generation

* fix it again

---------

Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-10 12:39:54 -07:00
Geralt 6373fee144 Refactor/game over screen (#468)
* Move game over (win/lose) state functions to their own file

* remove unused enum

* clang format

* Implement suggestions from @ricfehr3

* Fixing lack of highlighted button after skipping  ablind

* factorize as much game over state code as possible

---------

Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
2026-05-07 21:36:12 -07:00
MeirGavish 9561e0e738 Music - The Rest of It (#443)
* Music - copied echo melodies from old branch `music_past_echo_triads`

* Music - increased volume and panning of panned echo triads

* Music - compatibility save

* Music - reduced the bolume of panned echo triads back but kept the panning

* Music - added note cut at the end of marimba climbs + increased the volume of the background drone a bit

* Music - added up to measure 54 - finished echo leads

* Music - Fixed backing error in the echo leads (missed subdominant section)

* Music - Fixed backing drone crescendo

* Music - Made the backing drone a bit more subtle

* Music - Improved last lead echoes

* Music - Finished last measures mallet arpeggios + added crash cymbal in the beginning

* Music - removed crash cymbal in the beginning, doesn't sound good compiled

* Music - Reduced first marimba arpeggios by one octave

* Music - Added subtle crescendo in dotted eighth scale walk

* Music - reduced volume and added crescendo to the drone in the beginning

* Music - Increased the last echo lead by an octave

* Music - Switched the panning of the last panned echo triad so it correctly alternates

* Music - Fixed panned echo triads panning inconsistencies
2026-05-06 09:57:12 -07:00
Rickey d01b1ba12d Refactor/blind select screen (#461)
Refactor Blind Select Screen.

Based on #363
---------

Co-authored-by: emiyl <me@emiyl.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-06 00:56:59 -07:00
Rickey 877bd09576 Remove extra extern >:( (#460) 2026-05-03 02:37:25 -07:00
Rickey 39591f2d6a Docs/update windows build docs (#453)
* Move build instructions to contributing

* Add python pillow install instructions for win

* update linux instructions

* make cleaner menus

* Add macos help

* Update formatting and instructions in CONTRIBUTING.md

* Add build instructions reference to README

Added a note to refer to CONTRIBUTING.md for build instructions.

* Update build instructions in README.md

Clarified build instructions in README for different platforms.

* Fix step number in build instructions

Updated the step number in the build instructions to reflect the correct sequence.
2026-05-02 14:40:36 -07:00
Geralt 8e5295814f commit (#459)
Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
2026-05-02 14:39:49 -07:00
Geralt e7f550ce22 [Feature] Implement options menu and reading/writing values from/to the SRAM (#449)
* background

* Implement Options button

* Update main menu artwork

* add options menu tiles

* prepare options menu handling

* incorporate main menu refactor

* toto

* add all menu interactions

* do not reset selection_x in main_menu

* options struct

* fix rebase from ricfehr3's repo

* Implement high contrast cards

* Save/Load options values to SRAM

* load options on game_init and validate data within the load_options function

* Get changes from ricfehr3's PR

* recover fix for glitched ace

* clang format

* clang format

* clang format

* Save 500B of image data by using only minimal set of tiles instead of keeping final window in source file

* clang format

* clang format

* Implement Options button

* Update main menu artwork

* progress, leaving it alone for now until discussion

* make game_vars an extern

* Move options vars into their own struct

* rollback previous commit

* Implement save validation. Version check to come

* implement data validity + version check for game saves

* clang format

* Save position in rng sequence for consistent run after load

* fix rebase issues

* fix rebase issue

* remove unused/duplicate define

* Oops, made a mistake when testing PR #424

* encode high contrast palette into an image, and load it at game_start

* document save.c/h and correct typos

* correct alignment

* game speed and high contrast buttons working

* small cleanup

* sliders also work again now

* clang format

* Moved balatro_version extern declaration to version.h file

* removed unsused variable

* make showing ROM version a toggle

* move ante, round and money to the GameVariables struct

* Rename SaveCheckInfo struct to SaveHeader for clarity

* Add SaveHeader struct explanation

* clang format

* Revert unnecessary tileset optimization

* SFX now follows the sound volume slider

* clang format

* Music now follows volume slider

* Changed volume slider increment from 5 to 20 to avoid having the music sound too rough under 20% volume

* refactor main_menu.c to use SelectionGrid and Button structs

* clang format

* make a "new" save button so we don't save during the state transition

* clang format

* Reduced state transition flicker by only changing affine background to a different one

* Fix loading game too late in game init sequence

* First batch of suggestions from @MeirGavish

* Remove unnecessary intermediary buffers for high contrast palette swapping

* comment row warp hack for button input

* Add some of Copilot's suggestions

* rename balatro_version into gbalatro_version for rebranding reasons + version display erase screen fix

* remove unnecessary NULL check on `on_selection_changed` method

* implement small game speed arrow buttons animation

* factorize some code

* remove unnecessary data validation in load_game(), since we already checked the header

* Implement @MeirGavish 's suggestion regarding splitting the huge `on_update` function

* clang format

* implement @ricfehr3 's suggestion about keeping last selected button instead of using an obscure `on_boot` boolean

* Apply @ricfehr3's suggestions

* fix clang-format flags

---------

Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
2026-05-02 14:28:52 -07:00
Rickey da988ba7f5 Refactor/main menu (#416)
* Add basic common_ui background gfx functions

* Move game main menu to separate file

* clang format

* tmp commit basic docs

* clang format

* scope vars and cleanup

* Quick consistency update. Finalize.

This branch is based on: https://github.com/GBALATRO/balatro-gba/pull/363
Co-authored-by: emiyl <me@emiyl.com>

* Simplify global struct

* clang-format

* Add clang-format to subdirs

* Move timer definitions into their own file

* clang-format

* Fix action yml

* docs

* Update for PR

* Move game start to a state

* Remove lag switch

* Remove GameVariables pointer for callbacks

* Make game_vars a global

* move declaration of game vars in header

* Fix multiple game_vars

* fix for pr

* remove change_background in update again

* clang format

* Make bgCallbacks table static const

---------

Co-authored-by: emiyl <me@emiyl.com>
2026-04-27 20:04:18 -07:00
Rickey adca0961f5 Refactor/make game vars extern (#451)
* Remove GameVariables pointer for callbacks

* Make game_vars a global

* move declaration of game vars in header

* Move g_game_vars location
2026-04-27 19:55:07 -07:00
Geralt d3df6a4d74 Rebrand to GBAlatro in main menu (art by @O-C1NNAM0N-O) (#445)
* Change main menu splash screen

* fix rebase

* remove disclaimer from main menu

---------

Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
2026-04-26 15:49:33 -07:00
MeirGavish a488d523f0 Update bug report template (#447)
Added a new option for specifying builds from source in the bug report template and added issue type bug.
2026-04-26 12:52:34 -07:00
Elliot Tester 35b6169fd7 Optimize Damping Coefficient (#444)
* Optimize Damping Coefficient

* Added Rounding + Moved Constants

* Added Comments and Made Rounding not use a magic number

* adjust epsilon

* Adjusted Documentation
2026-04-23 19:17:23 +03:00
MeirGavish a3ef7b1493 Fixed blind sprite flip issue by removing affine attribute (#439) 2026-04-17 19:45:45 +03:00
Geralt db27962623 Implement boss blind graphics (#352)
* Created sprite bank for all blinds

* progress city, it's a beatiful city that progress city!

* Sprite appears in blind selection screen

* Added all blind colors

* fix magic numbers + disable boss reroll

* Fix boss blind token not moving after a reroll

* fix always rolling the Needle due to choosing too early for the rng seed to be set

* No need for affine sprite for blind tokens, regular is enough

* address Copilot's review 1/2

* address Copilot's review 2/2

* correct Blind Tokens/Types

* Index palette colors into the files instead of code

* Fix blind sprites (flip bug not solved)

* Fix magic number, tile index and Mark colors

* load boss blind palette only when changing spritesheet

* Adressing clang format and ease of modification of the blinds' list

* Removed some magic numbers


---------

Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
2026-04-16 11:52:39 +03:00
Rickey a31eccba20 Fix dos line endings in shell script (#434) 2026-04-06 21:39:34 -07:00
Umut Paklacı 1e1394ec21 Fix shop reroll button's horizontal movement (#316) (#425)
* Add optional exit indexes to selection grid rows & fix shop reroll button movement (#316)

- Added has_exit_idx and exit_idx to SelGridRowAttributes to simulate subgrid-like behavior that was desired in shop reroll button
- Add logic to use exit index if given inside selection_grid_move_selection_horz()
- Add joker focus logic to shop_reroll_row_on_selection_changed()

* clang-format fix

* clang format fix #2

errors due to version mismatch in local fixed (i hope)

* important fix: check x instead of y for next_roudn_btn_sel_x

was checking y against an X value

* changed commenting

* selection_grid.h clang-format fix

* changed commenting again

trying to make docs understandable

* set shop selection rows explicit

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

* syntax fix

* clang format fix onceagain

* guard clause when moving down from jokers

---------

Co-authored-by: Rickey <ric@rf3.xyz>
2026-04-05 23:19:08 -07:00
Elliot Tester 481a869ebc Make doxygen look good! (#414)
* Basic Doxygen Awesome Support

* Add logo for Doxygen aswell as a Project Brief

* Better Catch Phrase

* Moved Doxygen Awesome into it's own folder

* Included The MIT LICENSE inside the doxygen-awesome directory

* Color Tweaks

* add doxgen-awesome light/dark mode toggle

* fragment copy button extension for doxygen

* add github corner

* Create VERSION file for doxygen-awesome

* Update doxygen/doxygen-awesome/VERSION

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

---------

Co-authored-by: Rickey <ric@rf3.xyz>
2026-04-04 23:58:08 -07:00
Rickey 2c9264bdcb Update CONTRIBUTING guide to inform of hosted docs (#422)
* Update CONTRIBUTING guide to inform of hosted docs

* update link to match rest of doc
2026-04-03 12:17:03 +03:00
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