#ifndef DICE_H #define DICE_H #include "renderer/clay_renderer_SDL3.h" #include #ifndef MAX_ACTIVE_DICE #define MAX_ACTIVE_DICE 20 #endif #ifndef MAX_ROLL_STR_LEN #define MAX_ROLL_STR_LEN 10 #endif enum Die_Dice { COIN = 2, D4 = 4, D6 = 6, D8 = 8, D10 = 10, D12 = 12, D20 = 20, D100 = 100 }; struct Die_ResultType { int roll; size_t string_len; char string[MAX_ROLL_STR_LEN]; Clay_String clay_string; }; extern int Die_Roll(enum Die_Dice die); extern enum Die_Dice const *Die_GetActiveSet(size_t *out_length); extern size_t Die_AddToActiveSet(enum Die_Dice die); extern void Die_RemoveFromActiveSet(size_t index); extern struct Die_ResultType *Die_GetLastResult(size_t *out_length); extern void Die_RollActiveSet(); extern Clay_String Die_ToString(enum Die_Dice die); #endif // !DICE_H