* Turned SpriteObject into a member of JokerObject and CardObject and expiremented with casting
* Extracted shop code to use generic `SpriteObject`
* Extracted shop joker generation to a function
* Renamed object -> item
* Added setters and getters for `SpriteObject` members and updated all accesses to use them with casting (AI used for tedious work and reviewed - model Raptor mini)
* Added sprite_object_set_vx() because sprite_object_set_vy() exists and reordered the function order to have x,y parameters first, then targets
* Added Item object to act as a purchasable interface for the shop - AI used (model Raptor mini)
* Added -fms-extensions and switched to anonymous inheritance
* Fixed anonymous inheritance for joker and added direct access for that too
* fix build error from previous commit + clang-format
* Fixed build errors + clang-format for real this time (I hope...)
* clang-format one last time, I don't understand it anymore
* clang-format is annoying
* Added uses of CHECK_NULL_ARG macros
* Merged item_defs.h into item.h and fixed build error from previous commit
* clang-format...?
* Changed sprite_object_new() into sprite_object_init() and made it accept a parameter instead of returning one to make it less awkward
* Updated sprite_object_init() documentation
* Updated sprite_object_destroy documentation
* More clang-format
* Renamed add_to_inventory to acquire and updated documentation
* Added function documentations
* Update documentation + swap order of consumable and playing card types
* Added documentation for new files (+ small addition to button.h)
* clang-format
* Used typedef
* A bit more documentation
* Changed sho pcode to use generic Item instead of SpriteObject
* clang-format + fixed NULL-check error
* Revert weird clang-format...?
* clang-format for real
* Fixed errors from rebase on log_function_name
* Fixed build errors from rebase on main
* Added some more documentation about first member struct inheritance
* typo fix
* typo fix for real
* Removed SpriteObject field getters/setters (AI used - model Raptor mini)
* Renamed item_acquire -> item_on_acquired
* Added item_can_acquire()
* clang-format
* Fixed some sprite issues but not all...
* Fixed some more issues
* Cleanup JokerObject some more JokerObjects in the shop
* Added `item_destroy()`
* Added item_set_available_to_shop, CHECK_ITEM_TYPE macros + small documentation updates
* Another small JokerObject->Item replacement
* Removed item_set_available_to_shop and replaced with item_roll_new() and item_dispose(), also changed "available_to_shop" semantics to "rollable"
* Re-applied changes from game.c to round.c after rebase on main
* Added partial implementations of item functions for playing cards
* Line endings fix...
* Macro renames, function documentations
* Updated documentations
* Apply fixes from Copilot review
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Fix card_object_get_buy_price type checking
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Avoid double pointer cast on dispose
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Apply suggestions from @ricfehr3's code review
Co-authored-by: Rickey <ric@rf3.xyz>
* Remove redundant comments
* Moved error checking before joker_get_random_rarity
Co-authored-by: Rickey <ric@rf3.xyz>
* Fixed build error from rebase
* clang-format
* Added doxygen documentation for Item explaining inheritance
* Removed unnecessary comment
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Rickey <ric@rf3.xyz>
* Implement `sprite_object_update_all`
* clang format
* Change update order
* tmp
* make it crash
* Fix bad address crash
* Address @MeirGavish's comments
* Tweaked card draw position further
* Tweaked card draw position further, again
---------
Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
* WIP
* WIP
* WIP
* WIP
* Tags are bugged but it's looking good
* Centering is bugged, almost there
* WIP
* Fixed centeriiiing, yaaaay
* good progress
* add proper '\n' support
* WIP descriptions
* All descriptions are there ^^
* missing 9-patch for pretty display
* WIP
* fix rebase issues
* Fix minor Run Setup screen issues
* Almost done, only one fix to go
* Aaaalmooost doooneeeee
* make desc frame size adaptative
* add rarity color and text
* final cleanup
* clang format
* clang format
* clang format
* clang format
* clang format
* Fix Joker update loop index
* Fix const and Bull description
* Fix unwanted button SFX
* fix tte colors
* Add misprint description
* Fix justified line length computation
* Add safeguards to tag parsing loop
* clang format
* Fix Ante bugged display at boss blind end
* Tweak suit colors
* Final fixes
* Simplified the way we print descriptions
* simplify further
* get rid of weird macro
* Fix Onwed joker price when holding A after showing its description
---------
Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
* initial commit
* wip
* WIP
* WIP
* clang format
* Choose Seed navigation mostly done
* seed input navigation done
* seed input done
* cleanup and clang format
* Implement base 10 to 36 conversions
* Enable seeded runs
* clang format
* show default deck sprite, name and description
* Rename Deck enum to DeckType
* Implement arbitrary 9-patch expand system
* Make 9-patch example smaller in the docs
* Improve NinePatchRect docs
* fix Deck back side sprite palette
* clang format
* Add last deck description
* clang format
* Fix 'Z' in seed input keyboard
* Fix rebase issue
* fix deck sprite not updating
* Documents static funcs in run_setup.c
* more documentation
* clang format
* Move Play button to the left in its row
* Tests WIP
* removing tests for random.h
* use the new StateMachine struct
* First wave of fixes
* Fix the 9-patch again
* Changed the base 36 logic so it's in big endian
* properly set end of base 36 string to '\0'
* typos
* fix cursor position after rolling a seed + fix random seed generation
* Make keyboard more intuitive to use
* static const var
* Address more comment from @ricfehr3
* clang format
* clang format
* clang format
* clang format
* clang format
* clang format
* clang format
* fix deck palette
* create the `DEF_SEED_KEYBOARD_BUTTON_OBJECT` macro
* Replace `expand_3x3` by a call to `expand_9-patch`
* clang format
* clang format
* clang format
* fix rebase iussue in state_machine.h
---------
Co-authored-by: MathisMartin31 <mathis.martin31@gmail.com>
* 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>
* 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>
* Clang format joker files and def files
* Fix blind usage of GBLA_UNUSED macro
* Add final files for clang-format (main.c and selection_grid.h)
---------
Co-authored-by: MeirGavish <meir.gavish@gmail.com>
* 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>