dice-gui-old/src/dice.h
2025-09-18 12:11:13 +02:00

46 lines
822 B
C

#ifndef DICE_H
#define DICE_H
#include "renderer/clay_renderer_SDL3.h"
#include <stdlib.h>
#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