(Manual conflict res) merged main into ttm/joker-scope-joker-1

This commit is contained in:
MeirGavish
2025-08-17 11:03:27 +03:00
9 changed files with 199 additions and 71 deletions
+7 -3
View File
@@ -23,6 +23,7 @@
#define PEEK_DECK KEY_L // Not implemented
#define SORT_HAND KEY_R
#define PAUSE_GAME KEY_START // Not implemented
#define SELL_KEY KEY_L
enum GameState
{
@@ -74,6 +75,10 @@ enum HandType
void game_init();
void game_update();
// Forward declaration
struct List;
typedef struct List List;
// Utility functions for other files
typedef struct CardObject CardObject; // forward declaration, actually declared in card.h
typedef struct JokerObject JokerObject;
@@ -82,11 +87,10 @@ int get_hand_top(void);
int hand_get_size(void);
CardObject** get_played_array(void);
int get_played_top(void);
JokerObject** get_jokers(void);
int get_jokers_top(void);
List* get_jokers(void);
int get_deck_top(void);
int get_num_discards_remaining(void);
int get_money(void);
#endif // GAME_H
#endif // GAME_H
+9 -4
View File
@@ -34,11 +34,16 @@
#define SE_COL_LEN 32
// Since y direction goes from the top of the screen to the bottom
#define SE_UP -1
#define SE_DOWN 1
#define SCREEN_UP -1
#define SCREEN_DOWN 1
#define SCREEN_LEFT -1
#define SCREEN_RIGHT 1
#define OVERFLOW_LEFT -1
#define OVERFLOW_RIGHT 1
#define SE_UP SCREEN_UP
#define SE_DOWN SCREEN_DOWN
#define OVERFLOW_LEFT SCREEN_LEFT
#define OVERFLOW_RIGHT SCREEN_RIGHT
// Tile size in pixels, both height and width as tiles are square
#define TILE_SIZE 8
+1
View File
@@ -78,6 +78,7 @@ void joker_destroy(Joker **joker);
// Unique effects like "Four Fingers" or "Credit Card" will be hard coded into game.c with a conditional check for the joker ID from the players owned jokers
// game.c should probably be restructured so most of the variables in it are moved to some sort of global variable header file so they can be easily accessed and modified for the jokers
JokerEffect joker_get_score_effect(Joker *joker, Card *scored_card);
int joker_get_sell_value(const Joker* joker);
JokerObject *joker_object_new(Joker *joker);
void joker_object_destroy(JokerObject **joker_object);