Post #1 · Posted at 2024-05-16 06:51:34am 5.6 months ago
Retroguy | |
---|---|
Member | |
74 Posts | |
Reg. 2017-10-23 | |
"Just your average lurker." |
So I decided to try my hand at making my own noteskins (with almost ZERO StepMania customisation experience and a very basic understanding of coding in general, but we roll) and I'm making a noteskin using masks and colors to give the illusion of a single texture.
So I've managed to get that working, but the only issue is what I'm assuming to be the texture coordinate spacing, because while every note that is a 4th quantization looks fine, every other note is slightly chopped or completely buggered.
These are the files that I'm working with:
This is what the metrics look like:
And here is the "Down Tap Note.lua" code:
There's definitely something I'm either missing or not understanding about the TextureCoordSpacing value.
So I've managed to get that working, but the only issue is what I'm assuming to be the texture coordinate spacing, because while every note that is a 4th quantization looks fine, every other note is slightly chopped or completely buggered.
These are the files that I'm working with:
This is what the metrics look like:
[Global]
FallbackNoteSkin=common
[NoteDisplay]
TapNoteAnimationIsVivid=0
TapNoteNoteColorTextureCoordSpacingY=0.111111
TapNoteNoteColorCount=9
FallbackNoteSkin=common
[NoteDisplay]
TapNoteAnimationIsVivid=0
TapNoteNoteColorTextureCoordSpacingY=0.111111
TapNoteNoteColorCount=9
And here is the "Down Tap Note.lua" code:
local t = Def.ActorFrame{};
t[#t+1] = Def.Sprite{
Texture=NOTESKIN:GetPath("_Arrow","Mask"),
InitCommand=function(self)
self:MaskSource(true)
end
};
t[#t+1] = Def.Sprite{
Texture=NOTESKIN:GetPath("_Arrow","Color"),
Frames=Sprite.LinearFrames(1,1), -- Arrows will flash through all colors without this defined.
InitCommand=function(self)
self:MaskDest(true)
end
};
t[#t+1] = Def.Sprite{
Texture=NOTESKIN:GetPath("_Arrow","Border"),
};
return t
t[#t+1] = Def.Sprite{
Texture=NOTESKIN:GetPath("_Arrow","Mask"),
InitCommand=function(self)
self:MaskSource(true)
end
};
t[#t+1] = Def.Sprite{
Texture=NOTESKIN:GetPath("_Arrow","Color"),
Frames=Sprite.LinearFrames(1,1), -- Arrows will flash through all colors without this defined.
InitCommand=function(self)
self:MaskDest(true)
end
};
t[#t+1] = Def.Sprite{
Texture=NOTESKIN:GetPath("_Arrow","Border"),
};
return t
There's definitely something I'm either missing or not understanding about the TextureCoordSpacing value.