Moved spritesheet texture handling to anm2 instead of resources; added undoing for spritesheet texture changes; refactoring
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
#include "snapshots.h"
|
||||
|
||||
static void _snapshot_stack_push(SnapshotStack* stack, const Snapshot* snapshot)
|
||||
static void _snapshot_stack_push(SnapshotStack* stack, Snapshot* snapshot)
|
||||
{
|
||||
if (stack->top >= SNAPSHOT_STACK_MAX)
|
||||
{
|
||||
@@ -11,20 +11,29 @@ static void _snapshot_stack_push(SnapshotStack* stack, const Snapshot* snapshot)
|
||||
stack->snapshots[stack->top++] = *snapshot;
|
||||
}
|
||||
|
||||
static bool _snapshot_stack_pop(SnapshotStack* stack, Snapshot* snapshot)
|
||||
static Snapshot* _snapshot_stack_pop(SnapshotStack* stack)
|
||||
{
|
||||
if (stack->top == 0) return false;
|
||||
|
||||
*snapshot = stack->snapshots[--stack->top];
|
||||
return true;
|
||||
if (stack->top == 0) return nullptr;
|
||||
return &stack->snapshots[--stack->top];
|
||||
}
|
||||
|
||||
static void _snapshot_set(Snapshots* self, const Snapshot& snapshot)
|
||||
static void _snapshot_set(Snapshots* self, Snapshot* snapshot)
|
||||
{
|
||||
*self->anm2 = snapshot.anm2;
|
||||
*self->reference = snapshot.reference;
|
||||