AnimationEditor.rbxmx ZIndex inconsistency

Yeah, as you can see I’m quite bored lol.

There is a ZIndex inconsistency within the in-built AnimationEditor.rbxmx plugin, which displays the cursor at the same ZIndex as the ticks, with the exception of the endmarker. (Bold phrases defined below).

Issuse

image

cursor

Literally the red cursor displayed near the topbar

Make('Frame', {
	Name = 'Cursor',
	Style = 'Custom',
	Position = UD(0, nameSize + marginSize - (lineSize / 2) , 0, 1 * (lineSize + marginSize)),
	Size = UD(0, lineSize + 2, 0, lineSize + 2),
	BackgroundColor3 = Color3.new(250/255, 50/255, 50/255),
	BackgroundTransparency = 0,
        BorderColor3 = Color3.new(250/255, 50/255, 50/255),
	ZIndex = 4,
	Make('Frame', {
		Name = 'CursorLine',
		Style = 'Custom',
		Position = UD(0, (lineSize / 2), 0, 0),
		Size = UD(0, 2, 1000, 0),
		BackgroundColor3 = Color3.new(250/255, 50/255, 50/255),
		BackgroundTransparency = 0,
		BorderSizePixel = 0,
		ZIndex = 0,
	}),
}),	

image

ticks

The numbers displayed near the topbar

for tickNum = 0, numberOfTicks do		
	--local tickTime = math.floor((animationLength * (tickNum / numberOfTicks))*10)/10
	local tickTime = tickNum * tickIncrements
	--print(tickTime)
	local label = Make('TextLabel', {
		Parent = timelineUI.RootFrame.KeyframeContainer.TimeListFrame,
		Name = 'Tick' .. tickNum,
		Font = 'ArialBold',
		FontSize = 'Size10',
		TextColor3 = GuiSettings.TextColor,
		ZIndex = 4,
		Active = false,
		--Position = UD(0, nameSize + marginSize + (tickNum * tickSpacing * timeScale), 0, lineSize +  marginSize),
		--Timeline 2.0
		Position = UD((tickNum/pNumberOfTicks), 0, 0, 0), 
		Size = UD(0, 10, 0, lineSize),
		BackgroundTransparency = 1,
		--Text = string.format("%.2f", tickNum * tickSpacing),
		--Timeline 2.0
		Text = tostring(tickTime),
		TextXAlignment = Enum.TextXAlignment.Right,
		Make('TextLabel',{
			Name = 'TickIndicator',
			Size = UD(0,2,1000,0),
			Text = "",
			BackgroundColor3 = Color3.new(1,1,1),
			BackgroundTransparency = 0.9,
			BorderSizePixel = 0,
		})
	})
	animationLabelsList[tickNum] = label
end

image

endmarker

The tick displayed near the end

-- end tick
local endMarker = Make('TextLabel', {
	Parent = timelineUI.RootFrame.KeyframeContainer.TimeListFrame,
	Name = 'TickEnd',
	Font = 'ArialBold',
	FontSize = 'Size10',
	TextColor3 = GuiSettings.TextColor,
	Position = UD(1, -5, 0, 0),
	Size = UD(0, 10, 0, lineSize),
	BackgroundTransparency = 1,
	ZIndex = 5,
	Active = false,
	Text = string.format("%.2f", animationLength),
	TextXAlignment = Enum.TextXAlignment.Right,
		Make('TextLabel',{
			Name = 'TickIndicator',
			Size = UD(0,2,1000,0),
			Text = "",
			BackgroundColor3 = Color3.new(1,1,1),
			BackgroundTransparency = 0.9,
			BorderSizePixel = 0,
		})
})
animationLabelsList['TickEnd'] = endMarker

image

This is because on line 3204 of AnimationEditor.lua, the ZIndex of the endmarker is set to 5, when on line 4048 and 3171 of AnimationEditor.lua, the cursor and tick ZIndex is set to 4 (in that specific order).

In order to fix this most terrible, game breaking issue, we must set the ZIndex of the endmarker to 4.

Patch

Edit line 3204 to set the ZIndex of endmarker to 4.

ZIndex = 4,

Result: ahhh yesss

image

AnimationEditor.rbxmx (638.7 KB)

1 Like