22 SMALL_BLIND_SKIP_TAG_LAYER,
23 BIG_BLIND_SKIP_TAG_LAYER,
24 OWNED_SKIP_TAG_STARTING_LAYER
28#define SKIP_TAG_TID (SKIP_TAG_STARTING_LAYER * SKIP_TAG_SPRITE_SIZE)
30#define INVESTMENT_TAG_REWARD 25
46 SKIP_TAG_TYPE_UNCOMMON,
48 SKIP_TAG_TYPE_INVESTMENT,
49 SKIP_TAG_TYPE_VOUCHER,
51 SKIP_TAG_TYPE_STANDARD,
54 SKIP_TAG_TYPE_BUFFOON,
56 SKIP_TAG_TYPE_GARBAGE,
57 SKIP_TAG_TYPE_ETHEREAL,
64 SKIP_TAG_TYPE_ORBITAL,
65 SKIP_TAG_TYPE_ECONOMY,
80 SKIP_TAG_EVENT_IMMEDIATE,
82 SKIP_TAG_EVENT_ON_ROUND_START,
83 SKIP_TAG_EVENT_ON_ROUND_END,
84 SKIP_TAG_EVENT_ON_SHOP_INIT
89 SKIP_TAG_PROCESS_STAGE_NONE,
90 SKIP_TAG_PROCESS_STAGE_TRIGGER,
91 SKIP_TAG_PROCESS_STAGE_END
95typedef bool (*SkipTagCondition)(void);
96typedef void (*SkipTagCallback)(void);
109 enum SkipTagEvent event_type;
110 SkipTagCondition tag_condition_func;
111 SkipTagCallback tag_effect_func;
Common functions to render UI elements.
Graphic utility functions.
Functions relative to the handling of Jokers.
void remove_skip_tag(int tag_idx)
Pops the Tag at index in owned list, destroys it and rearranges the remaining Tags' sprites.
bool skip_tag_is_owned(enum SkipTagTypes tag_type)
Checks if the given tag type is present in owned Tags list.
SkipTagLayers
Sprite IDs of the Skip Tags, as an offset relative to SKIP_TAG_STARTING_LAYER.
void set_owned_skip_tags_moved_offscreen(bool move_offscreen)
Show or hide the owned SkipTag sprites by moving them offscreen to the right.
void skip_tag_process_pause(void)
Suspend the processing of Skip Tags.
void skip_tag_set_sprite(SkipTag *tag, s16 layer)
Set the sprite for the given SkipTag, according to its internal ID.
SkipTagTypes
List of all Skip Tags, in the order they are in on their spritesheet. Not all of them are implemented...
void skip_tag_destroy(SkipTag **tag)
Destroy the given SkipTag, invalidate it in the corresponding memory pool and set the pointer provide...
SkipTag * roll_skip_tag(void)
Create a new SkipTag with a random ID, picked by taking the Ante into account, as some Tags only appe...
void skip_tag_process_start(enum SkipTagEvent checked_tag_event)
Start Skip Tag processing for the specified event.
enum SkipTagProcStage skip_tag_process_get_proc_stage(void)
Recover the current stage of the Tag processing.
void skip_tag_process_resume(void)
Resume the processing of Skip Tags.
void add_skip_tag(SkipTag **blind_tag)
Adds the SkipTag to the owned list, snaps it into position and sets the original pointer to NULL.
void remove_all_skip_tags(void)
Delete all owned Skip Tags.
SkipTag * skip_tag_new(enum SkipTagTypes tag_type)
Create a new Skip Tag object for the given Tag ID and allocates space for it in the corresponding mem...
int skip_tag_count(enum SkipTagTypes tag_type)
Counts how many tags of a certain type we own.
const SkipTagInfo * get_skip_tag_registry_entry(enum SkipTagTypes tag_type)
Get the registry entry info for the given Skip Tag type.
List * get_owned_skip_tags(void)
Get the owned skip tags list.
Sprite system for Gbalatro.
Data structure containing the info about a Skip Tag, namely:
A sprite object is a sprite that is focusable and movable in animation.