From 7a5e57b5c806437b0fbd2ab0c08d616d5dec0090 Mon Sep 17 00:00:00 2001 From: Fox Caminiti Date: Mon, 28 Nov 2022 21:46:43 -0500 Subject: fancy keybind UI added, major brush regression --- createcalls.cpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'createcalls.cpp') diff --git a/createcalls.cpp b/createcalls.cpp index d1f6448..a984454 100644 --- a/createcalls.cpp +++ b/createcalls.cpp @@ -659,13 +659,20 @@ Layer_TraverseForPoint(project_data *File, project_state *State, memory *Memory, v2 PointUV = {0, 0}; int OuterWidth = Comp->Width, OuterHeight = Comp->Height; int InnerWidth = 0, InnerHeight = 0; - for (int i = 1; i <= Recursions; i++) { - block_layer *InnerLayer = (block_layer *)Memory_Block_AddressAtIndex(Memory, F_Layers, RecursionIdx[i]); - layer_transforms T = Layer_GetTransforms(InnerLayer); - Layer_GetDimensions(Memory, InnerLayer, &InnerWidth, &InnerHeight); + if (Recursions == 0) { + block_layer *Layer = (block_layer *)Memory_Block_AddressAtIndex(Memory, F_Layers, State->Brush.LayerToPaint_Index); + layer_transforms T = Layer_GetTransforms(Layer); + Layer_GetDimensions(Memory, Layer, &InnerWidth, &InnerHeight); PointUV = T_CompUVToLayerUV(T, OuterWidth, OuterHeight, InnerWidth, InnerHeight, State->TempZoomRatio); - OuterWidth = InnerWidth; - OuterHeight = InnerHeight; + } else { + for (int i = 1; i <= Recursions; i++) { + block_layer *InnerLayer = (block_layer *)Memory_Block_AddressAtIndex(Memory, F_Layers, RecursionIdx[i]); + layer_transforms T = Layer_GetTransforms(InnerLayer); + Layer_GetDimensions(Memory, InnerLayer, &InnerWidth, &InnerHeight); + PointUV = T_CompUVToLayerUV(T, OuterWidth, OuterHeight, InnerWidth, InnerHeight, State->TempZoomRatio); + OuterWidth = InnerWidth; + OuterHeight = InnerHeight; + } } return PointUV * V2(InnerWidth, InnerHeight); } -- cgit v1.2.3