summaryrefslogtreecommitdiff
path: root/src/include/main.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/main.h')
-rw-r--r--src/include/main.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/include/main.h b/src/include/main.h
index af92e31..fd295cf 100644
--- a/src/include/main.h
+++ b/src/include/main.h
@@ -325,7 +325,10 @@ struct project_state
bool32 UpdateKeyframes = 0;
bool32 UpdateFrame = 1; // only refreshes frame; set UpdateKeyframes to update animation
bool32 DebugDisableCache = 1;
+
+ // bad
uint32 CachedFrameCount;
+ int32 LastCachedFrame = -10000;
uint64 HotFramePerf = 0;
@@ -562,8 +565,10 @@ struct block_layer {
bool32 IsPrecomp;
bool32 Precomp_Toggled;
- uint16 Block_Source_Index; // also used for precomp
+ // NOTE(fox): References a precomp index if IsPrecomp is true, not a source index.
+ uint16 Block_Source_Index;
uint16 Block_String_Index;
+ // References the precomp that the layer belongs to.
uint16 Block_Composition_Index;
uint16 Block_Mask_Index[MAX_MASKS];
@@ -594,8 +599,13 @@ struct block_layer {
bool32 IsVisible;
bool32 IsAdjustment;
+ // NOTE(fox): I use these in some places without calling
+ // Interact_Evaluate_Layer(), because I'm assuming it's impossible for
+ // layer dragging to happen in those contexts. Check for this if weird bugs appear.
int32 Frame_Start;
int32 Frame_End;
+ // This is what changes when the layer is dragged. It also marks the starting frame for video footage.
+ int32 Frame_Offset;
real32 Vertical_Offset;
real32 Vertical_Height = 1;