Added basic betting, turns, and added queue restacking

This commit is contained in:
2021-08-13 09:32:15 -07:00
parent 42de949822
commit e66610b933
14 changed files with 217 additions and 8 deletions

View File

@ -65,6 +65,30 @@ void queueDispose(queue_t *queue) {
if(action->onEnd != NULL) action->onEnd(queue, action, queue->current);
}
void queueRestack(queue_t *queue) {
queueaction_t *action;
uint8_t i;
queueaction_t items[ANIMATION_QUEUE_ITEM_MAX];
// Take the current queue and copy it.
arrayCopy(sizeof(queueaction_t),
queue->items+queue->current, queue->count - queue->current,
items
);
// Now rewind the stack
queue->count -= queue->current;
queue->current = 0;
// Now copy back
arrayCopy(sizeof(queueaction_t), items, queue->count, queue->items);
// Now fix indexes
for(i = 0; i < queue->count; i++) {
queue->items[i].index = i;
}
}
void _queueDelayUpdate(queue_t *queue, queueaction_t *action, uint8_t i) {
float n = queue->timeline - queue->actionStarted;