diff --git a/NoteSkins/dance/easyV2/Center Hold Body Active.png b/NoteSkins/dance/easyV2/Center Hold Body Active.png new file mode 100644 index 0000000000..fa61c137f3 Binary files /dev/null and b/NoteSkins/dance/easyV2/Center Hold Body Active.png differ diff --git a/NoteSkins/dance/easyV2/Center Hold Body Inactive.png b/NoteSkins/dance/easyV2/Center Hold Body Inactive.png new file mode 100644 index 0000000000..1e106747e8 Binary files /dev/null and b/NoteSkins/dance/easyV2/Center Hold Body Inactive.png differ diff --git a/NoteSkins/dance/easyV2/Center Hold Bottomcap Active.png b/NoteSkins/dance/easyV2/Center Hold Bottomcap Active.png new file mode 100644 index 0000000000..3a357294db Binary files /dev/null and b/NoteSkins/dance/easyV2/Center Hold Bottomcap Active.png differ diff --git a/NoteSkins/dance/easyV2/Center Hold Bottomcap Inactive.png b/NoteSkins/dance/easyV2/Center Hold Bottomcap Inactive.png new file mode 100644 index 0000000000..333db32876 Binary files /dev/null and b/NoteSkins/dance/easyV2/Center Hold Bottomcap Inactive.png differ diff --git a/NoteSkins/dance/easyV2/Center Hold Topcap Active.png b/NoteSkins/dance/easyV2/Center Hold Topcap Active.png new file mode 100644 index 0000000000..b382ef6194 Binary files /dev/null and b/NoteSkins/dance/easyV2/Center Hold Topcap Active.png differ diff --git a/NoteSkins/dance/easyV2/Center Hold Topcap Inactive.png b/NoteSkins/dance/easyV2/Center Hold Topcap Inactive.png new file mode 100644 index 0000000000..525f6ab069 Binary files /dev/null and b/NoteSkins/dance/easyV2/Center Hold Topcap Inactive.png differ diff --git a/NoteSkins/dance/easyV2/Center Receptor.lua b/NoteSkins/dance/easyV2/Center Receptor.lua new file mode 100644 index 0000000000..ae199a7a03 --- /dev/null +++ b/NoteSkins/dance/easyV2/Center Receptor.lua @@ -0,0 +1,19 @@ +--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use cmd(); to define command. +--If you dont know how "NOTESKIN:GetMetricA" works here is an explanation. +--NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini"); + +local t = Def.ActorFrame { + Def.Sprite { + Texture=NOTESKIN:GetPath("_Center", "Go Receptor" ); + InitCommand=cmd(effectclock,"beat"); + NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand"); + PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand"); + LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand"); + W5Command=NOTESKIN:GetMetricA("ReceptorArrow", "W5Command"); + W4Command=NOTESKIN:GetMetricA("ReceptorArrow", "W4Command"); + W3Command=NOTESKIN:GetMetricA("ReceptorArrow", "W3Command"); + W2Command=NOTESKIN:GetMetricA("ReceptorArrow", "W2Command"); + W1Command=NOTESKIN:GetMetricA("ReceptorArrow", "W1Command"); + }; +}; +return t; \ No newline at end of file diff --git a/NoteSkins/dance/easyV2/Center Roll Body Active.png b/NoteSkins/dance/easyV2/Center Roll Body Active.png new file mode 100644 index 0000000000..68b3b2bdcf Binary files /dev/null and b/NoteSkins/dance/easyV2/Center Roll Body Active.png differ diff --git a/NoteSkins/dance/easyV2/Center Roll Body Inactive.png b/NoteSkins/dance/easyV2/Center Roll Body Inactive.png new file mode 100644 index 0000000000..2da143b722 Binary files /dev/null and b/NoteSkins/dance/easyV2/Center Roll Body Inactive.png differ diff --git a/NoteSkins/dance/easyV2/Center Roll Bottomcap Active.png b/NoteSkins/dance/easyV2/Center Roll Bottomcap Active.png new file mode 100644 index 0000000000..f8e4efef60 Binary files /dev/null and b/NoteSkins/dance/easyV2/Center Roll Bottomcap Active.png differ diff --git a/NoteSkins/dance/easyV2/Center Roll Bottomcap Inactive.png b/NoteSkins/dance/easyV2/Center Roll Bottomcap Inactive.png new file mode 100644 index 0000000000..82c5ffffe1 Binary files /dev/null and b/NoteSkins/dance/easyV2/Center Roll Bottomcap Inactive.png differ diff --git a/NoteSkins/dance/easyV2/Center Roll Topcap Active.png b/NoteSkins/dance/easyV2/Center Roll Topcap Active.png new file mode 100644 index 0000000000..0237588d8a Binary files /dev/null and b/NoteSkins/dance/easyV2/Center Roll Topcap Active.png differ diff --git a/NoteSkins/dance/easyV2/Center Roll Topcap Inactive.png b/NoteSkins/dance/easyV2/Center Roll Topcap Inactive.png new file mode 100644 index 0000000000..58e2f5ae24 Binary files /dev/null and b/NoteSkins/dance/easyV2/Center Roll Topcap Inactive.png differ diff --git a/NoteSkins/dance/easyV2/Center Tap Explosion Bright.png b/NoteSkins/dance/easyV2/Center Tap Explosion Bright.png new file mode 100644 index 0000000000..cd847fb879 Binary files /dev/null and b/NoteSkins/dance/easyV2/Center Tap Explosion Bright.png differ diff --git a/NoteSkins/dance/easyV2/Center Tap Note.lua b/NoteSkins/dance/easyV2/Center Tap Note.lua new file mode 100644 index 0000000000..1334160471 --- /dev/null +++ b/NoteSkins/dance/easyV2/Center Tap Note.lua @@ -0,0 +1,4 @@ +return Def.Sprite { + Texture=NOTESKIN:GetPath( '_Center', 'tap note' ); + Frames = Sprite.LinearFrames( 1, 1 ); +}; diff --git a/NoteSkins/dance/easyV2/Down Hold Body Active.png b/NoteSkins/dance/easyV2/Down Hold Body Active.png new file mode 100644 index 0000000000..2f08596256 Binary files /dev/null and b/NoteSkins/dance/easyV2/Down Hold Body Active.png differ diff --git a/NoteSkins/dance/easyV2/Down Hold Body Inactive.png b/NoteSkins/dance/easyV2/Down Hold Body Inactive.png new file mode 100644 index 0000000000..2ad910d99b Binary files /dev/null and b/NoteSkins/dance/easyV2/Down Hold Body Inactive.png differ diff --git a/NoteSkins/dance/easyV2/Down Hold Bottomcap Active.png b/NoteSkins/dance/easyV2/Down Hold Bottomcap Active.png new file mode 100644 index 0000000000..3eaecaaac6 Binary files /dev/null and b/NoteSkins/dance/easyV2/Down Hold Bottomcap Active.png differ diff --git a/NoteSkins/dance/easyV2/Down Hold Bottomcap Inactive.png b/NoteSkins/dance/easyV2/Down Hold Bottomcap Inactive.png new file mode 100644 index 0000000000..76334e038c Binary files /dev/null and b/NoteSkins/dance/easyV2/Down Hold Bottomcap Inactive.png differ diff --git a/NoteSkins/dance/easyV2/Down Hold Topcap Active.png b/NoteSkins/dance/easyV2/Down Hold Topcap Active.png new file mode 100644 index 0000000000..43d8a504b4 Binary files /dev/null and b/NoteSkins/dance/easyV2/Down Hold Topcap Active.png differ diff --git a/NoteSkins/dance/easyV2/Down Hold Topcap Inactive.png b/NoteSkins/dance/easyV2/Down Hold Topcap Inactive.png new file mode 100644 index 0000000000..2e4fa9cfab Binary files /dev/null and b/NoteSkins/dance/easyV2/Down Hold Topcap Inactive.png differ diff --git a/NoteSkins/dance/easyV2/Down Receptor.lua b/NoteSkins/dance/easyV2/Down Receptor.lua new file mode 100644 index 0000000000..f69aca456d --- /dev/null +++ b/NoteSkins/dance/easyV2/Down Receptor.lua @@ -0,0 +1,19 @@ +--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use cmd(); to define command. +--If you dont know how "NOTESKIN:GetMetricA" works here is an explanation. +--NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini"); + +local t = Def.ActorFrame { + Def.Sprite { + Texture=NOTESKIN:GetPath("_Down", "Go Receptor" ); + InitCommand=cmd(effectclock,"beat"); + NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand"); + PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand"); + LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand"); + W5Command=NOTESKIN:GetMetricA("ReceptorArrow", "W5Command"); + W4Command=NOTESKIN:GetMetricA("ReceptorArrow", "W4Command"); + W3Command=NOTESKIN:GetMetricA("ReceptorArrow", "W3Command"); + W2Command=NOTESKIN:GetMetricA("ReceptorArrow", "W2Command"); + W1Command=NOTESKIN:GetMetricA("ReceptorArrow", "W1Command"); + }; +}; +return t; \ No newline at end of file diff --git a/NoteSkins/dance/easyV2/Down Roll Body Active.png b/NoteSkins/dance/easyV2/Down Roll Body Active.png new file mode 100644 index 0000000000..7525b0512d Binary files /dev/null and b/NoteSkins/dance/easyV2/Down Roll Body Active.png differ diff --git a/NoteSkins/dance/easyV2/Down Roll Body Inactive.png b/NoteSkins/dance/easyV2/Down Roll Body Inactive.png new file mode 100644 index 0000000000..76f571fbc4 Binary files /dev/null and b/NoteSkins/dance/easyV2/Down Roll Body Inactive.png differ diff --git a/NoteSkins/dance/easyV2/Down Roll Bottomcap Active.png b/NoteSkins/dance/easyV2/Down Roll Bottomcap Active.png new file mode 100644 index 0000000000..036daf65da Binary files /dev/null and b/NoteSkins/dance/easyV2/Down Roll Bottomcap Active.png differ diff --git a/NoteSkins/dance/easyV2/Down Roll Bottomcap Inactive.png b/NoteSkins/dance/easyV2/Down Roll Bottomcap Inactive.png new file mode 100644 index 0000000000..b90450fa29 Binary files /dev/null and b/NoteSkins/dance/easyV2/Down Roll Bottomcap Inactive.png differ diff --git a/NoteSkins/dance/easyV2/Down Roll Topcap Active.png b/NoteSkins/dance/easyV2/Down Roll Topcap Active.png new file mode 100644 index 0000000000..21788329c7 Binary files /dev/null and b/NoteSkins/dance/easyV2/Down Roll Topcap Active.png differ diff --git a/NoteSkins/dance/easyV2/Down Roll Topcap Inactive.png b/NoteSkins/dance/easyV2/Down Roll Topcap Inactive.png new file mode 100644 index 0000000000..35ba5525a0 Binary files /dev/null and b/NoteSkins/dance/easyV2/Down Roll Topcap Inactive.png differ diff --git a/NoteSkins/dance/easyV2/Down Tap Explosion Bright.png b/NoteSkins/dance/easyV2/Down Tap Explosion Bright.png new file mode 100644 index 0000000000..67f046358d Binary files /dev/null and b/NoteSkins/dance/easyV2/Down Tap Explosion Bright.png differ diff --git a/NoteSkins/dance/easyV2/Down Tap Mine.png b/NoteSkins/dance/easyV2/Down Tap Mine.png new file mode 100644 index 0000000000..8e32472bd3 Binary files /dev/null and b/NoteSkins/dance/easyV2/Down Tap Mine.png differ diff --git a/NoteSkins/dance/easyV2/Down Tap Note.lua b/NoteSkins/dance/easyV2/Down Tap Note.lua new file mode 100644 index 0000000000..81ba89bd77 --- /dev/null +++ b/NoteSkins/dance/easyV2/Down Tap Note.lua @@ -0,0 +1,4 @@ +return Def.Sprite { + Texture=NOTESKIN:GetPath( '_down', 'tap note' ); + Frames = Sprite.LinearFrames( 1, 1 ); +}; diff --git a/NoteSkins/dance/easyV2/DownLeft Receptor.lua b/NoteSkins/dance/easyV2/DownLeft Receptor.lua new file mode 100644 index 0000000000..7a4cf762c9 --- /dev/null +++ b/NoteSkins/dance/easyV2/DownLeft Receptor.lua @@ -0,0 +1,19 @@ +--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use cmd(); to define command. +--If you dont know how "NOTESKIN:GetMetricA" works here is an explanation. +--NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini"); + +local t = Def.ActorFrame { + Def.Sprite { + Texture=NOTESKIN:GetPath("_DownLeft", "Go Receptor" ); + InitCommand=cmd(effectclock,"beat"); + NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand"); + PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand"); + LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand"); + W5Command=NOTESKIN:GetMetricA("ReceptorArrow", "W5Command"); + W4Command=NOTESKIN:GetMetricA("ReceptorArrow", "W4Command"); + W3Command=NOTESKIN:GetMetricA("ReceptorArrow", "W3Command"); + W2Command=NOTESKIN:GetMetricA("ReceptorArrow", "W2Command"); + W1Command=NOTESKIN:GetMetricA("ReceptorArrow", "W1Command"); + }; +}; +return t; \ No newline at end of file diff --git a/NoteSkins/dance/easyV2/DownLeft Tap Explosion Bright.png b/NoteSkins/dance/easyV2/DownLeft Tap Explosion Bright.png new file mode 100644 index 0000000000..66104131e0 Binary files /dev/null and b/NoteSkins/dance/easyV2/DownLeft Tap Explosion Bright.png differ diff --git a/NoteSkins/dance/easyV2/DownLeft Tap Note.lua b/NoteSkins/dance/easyV2/DownLeft Tap Note.lua new file mode 100644 index 0000000000..24ddbd05f1 --- /dev/null +++ b/NoteSkins/dance/easyV2/DownLeft Tap Note.lua @@ -0,0 +1,4 @@ +return Def.Sprite { + Texture=NOTESKIN:GetPath( '_downleft', 'tap note' ); + Frames = Sprite.LinearFrames( 1, 1 ); +}; diff --git a/NoteSkins/dance/easyV2/NoteSkin.lua b/NoteSkins/dance/easyV2/NoteSkin.lua new file mode 100644 index 0000000000..79982d59f4 --- /dev/null +++ b/NoteSkins/dance/easyV2/NoteSkin.lua @@ -0,0 +1,137 @@ +--I am the bone of my noteskin +--Arrows are my body, and explosions are my blood +--I have created over a thousand noteskins +--Unknown to death +--Nor known to life +--Have withstood pain to create many noteskins +--Yet these hands will never hold anything +--So as I pray, Unlimited Stepman Works + +local ret = ... or {}; + +--Defining on which direction the other directions should be bassed on +--This will let us use less files which is quite handy to keep the noteskin directory nice +--Do remember this will Redirect all the files of that Direction to the Direction its pointed to +--If you only want some files to be redirected take a look at the "custom hold/roll per direction" +ret.RedirTable = +{ + --PIU + Center = "Center", + DownLeft = "DownLeft", -- for PIU and dance + DownRight = "DownLeft", -- for PIU and dance + UpLeft = "DownLeft", + UpRight = "DownLeft", + --Dance + Down = "Down", + Up = "Down", + Left = "Down", + Right = "Down", +}; + +-- < +--Between here we usally put all the commands the noteskin.lua needs to do, some are extern in other files +--If you need help with lua go to http://kki.ajworld.net/lua/ssc/Lua.xml there are a bunch of codes there +--Also check out commen it has a load of lua codes in files there +--Just play a bit with lua its not that hard if you understand coding +--But SM can be an ass in some cases, and some codes jut wont work if you dont have the noteskin on FallbackNoteSkin=common in the metric.ini +local OldRedir = ret.Redir; +ret.Redir = function(sButton, sElement) + sButton, sElement = OldRedir(sButton, sElement); + + sButton = ret.RedirTable[sButton]; + + if not string.find(sElement, "Head") and + not string.find(sElement, "Explosion") then + if string.find(sElement, "Hold") or + string.find(sElement, "Roll") then + if Var "Button" == "Down" or Var "Button" == "Up" or Var "Button" == "Left" or Var "Button" == "Right" then + sButton = "Down"; + else + sButton = "Center"; + end + end + end + + -- Instead of separate hold heads, use the tap note graphics. + if sElement == "Hold Head Inactive" or + sElement == "Hold Head Active" or + sElement == "Roll Head Inactive" or + sElement == "Roll Head Active" or + sElement == "Tap Fake" + then + sElement = "Tap Note"; + end + + if sElement == "Tap Explosion Dim" or + sElement == "Hold Explosion" or + sElement == "Roll Explosion" + then + sElement = "Tap Explosion Bright"; + end + + if sElement == "Tap Mine" + then + sButton = "Down"; + end + + return sButton, sElement; +end + +local OldFunc = ret.Load; +function ret.Load() + local t = OldFunc(); + + --Explosion should not be rotated; it calls other actors. + if Var "Element" == "Explosion" then + t.BaseRotationZ = nil; + end + return t; +end +-- > + + +-- Parts of noteskins which we want to rotate +ret.PartsToRotate = +{ + ["Receptor"] = true, + ["Tap Explosion Bright"] = true, + ["Tap Explosion Dim"] = true, + ["Tap Note"] = true, + ["Tap Fake"] = true, + ["Tap Addition"] = true, + ["Hold Explosion"] = true, + ["Hold Head Active"] = true, + ["Hold Head Inactive"] = true, + ["Roll Explosion"] = true, + ["Roll Head Active"] = true, + ["Roll Head Inactive"] = true, +}; +-- Defined the parts to be rotated at which degree +ret.Rotate = +{ + --PIU + Center = 0, + DownLeft = 0, + DownRight = -90, + UpLeft = 90, + UpRight = 180, + --Dance + Down = 0, + Up = 180, + Left = 90, + Right = -90, +}; + +-- Parts that should be Redirected to _Blank.png +-- you can add/remove stuff if you want +ret.Blank = +{ + ["HitMine Explosion"] = true, + ["Hold Tail Active"] = true, + ["Hold Tail Inactive"] = true, + ["Roll Tail Active"] = true, + ["Roll Tail Inactive"] = true, +}; + +-- dont forget to close the ret cuz else it wont work ;> +return ret; diff --git a/NoteSkins/dance/easyV2/_Center Go Receptor.png b/NoteSkins/dance/easyV2/_Center Go Receptor.png new file mode 100644 index 0000000000..c3d7af9838 Binary files /dev/null and b/NoteSkins/dance/easyV2/_Center Go Receptor.png differ diff --git a/NoteSkins/dance/easyV2/_Center Tap Note 2x8.png b/NoteSkins/dance/easyV2/_Center Tap Note 2x8.png new file mode 100644 index 0000000000..f89b3b428f Binary files /dev/null and b/NoteSkins/dance/easyV2/_Center Tap Note 2x8.png differ diff --git a/NoteSkins/dance/easyV2/_Down Go Receptor.png b/NoteSkins/dance/easyV2/_Down Go Receptor.png new file mode 100644 index 0000000000..19f79763cc Binary files /dev/null and b/NoteSkins/dance/easyV2/_Down Go Receptor.png differ diff --git a/NoteSkins/dance/easyV2/_Down Tap Note 2x8.png b/NoteSkins/dance/easyV2/_Down Tap Note 2x8.png new file mode 100644 index 0000000000..5affe0ff1d Binary files /dev/null and b/NoteSkins/dance/easyV2/_Down Tap Note 2x8.png differ diff --git a/NoteSkins/dance/easyV2/_DownLeft Go Receptor.png b/NoteSkins/dance/easyV2/_DownLeft Go Receptor.png new file mode 100644 index 0000000000..de83c0fb50 Binary files /dev/null and b/NoteSkins/dance/easyV2/_DownLeft Go Receptor.png differ diff --git a/NoteSkins/dance/easyV2/_DownLeft Tap Note 2x8.png b/NoteSkins/dance/easyV2/_DownLeft Tap Note 2x8.png new file mode 100644 index 0000000000..47c986f383 Binary files /dev/null and b/NoteSkins/dance/easyV2/_DownLeft Tap Note 2x8.png differ diff --git a/NoteSkins/dance/easyV2/metrics.ini b/NoteSkins/dance/easyV2/metrics.ini new file mode 100644 index 0000000000..7fc223ff74 --- /dev/null +++ b/NoteSkins/dance/easyV2/metrics.ini @@ -0,0 +1,243 @@ +#USW Metric Version V2 +#Made for Version Stepmania 5 Preview 2 + +#I am the bone of my noteskin +#Arrows are my body, and explosions are my blood +#I have created over a thousand noteskins +#Unknown to death +#Nor known to life +#Have withstood pain to create many noteskins +#Yet these hands will never hold anything +#So as I pray, Unlimited Stepman Works + +[Global] +#Noteskin this noteskin falls back on +#We normaly make this fallback on common +#Because its the global noteskin every default fallsback on to +FallbackNoteSkin=common + +[NoteDisplay] +#Noteskin Animation Lengths +AnimationIsBeatBased=1 + +##Tap Parts +TapNoteAnimationLength=4 +TapMineAnimationLength=4 +TapLiftAnimationLength=4 +TapFakeAnimationLength=4 +##Hold Parts +HoldHeadAnimationLength=4 +HoldTopCapAnimationLength=4 +HoldBottomCapAnimationLength=4 +HoldBodyAnimationLength=4 +HoldTailAnimationLength=4 +##Roll Parts +RollHeadAnimationLength=4 +RollTopCapAnimationLength=4 +RollBottomCapAnimationLength=4 +RollBodyAnimationLength=4 +RollTailAnimationLength=4 + + +#Define if noteskin is Vivid or not +#Value 1 = true, Value 0 = false + +##Tap Parts +TapNoteAnimationIsVivid=0 +TapMineAnimationIsVivid=0 +TapFakeAnimationIsVivid=0 +TapLiftAnimationIsVivid=0 +##Hold Parts +HoldHeadAnimationIsVivid=0 +HoldTopCapAnimationIsVivid=0 +HoldBodyAnimationIsVivid=0 +HoldBottomCapAnimationIsVivid=0 +HoldTailAnimationIsVivid=0 +##Roll Parts +RollHeadAnimationIsVivid=0 +RollTopCapAnimationIsVivid=0 +RollBodyAnimationIsVivid=0 +RollBottomCapAnimationIsVivid=0 +RollTailAnimationIsVivid=0 + + +#Texture Coord Offest Info + +#This is the TextureCoordOffset which we use for Rhythm colored noteskins +#If you dont want to use it, just keep the value 0 +#Rhythm colored noteskins are noteskins that have different colors for every +#4th, 8th, 12th, 16th and so on +#To use this you need to use simple math because it isnt based on the size of +#the image but its based on the total value of the size which is 1 +#So if you got 9 frames (including 192nd) +#You need to run this simple math +# 1 / 9 = 0.11111111111111111111111111 (and so on) +#Because using the entire value is to long, lets make it smaler to 6 digits +#You can make it longer if you want but lets keep it nice to 6 digits + +##Tap Parts +TapNoteAdditionTextureCoordOffsetX=0.5 +TapNoteAdditionTextureCoordOffsetY=0.125 +TapNoteNoteColorTextureCoordSpacingX=0 +TapNoteNoteColorTextureCoordSpacingY=0.125 +TapMineAdditionTextureCoordOffsetX=0 +TapMineAdditionTextureCoordOffsetY=0 +TapMineNoteColorTextureCoordSpacingX=0 +TapMineNoteColorTextureCoordSpacingY=0 +TapLiftAdditionTextureCoordOffsetX=0 +TapLiftAdditionTextureCoordOffsetY=0 +TapLiftNoteColorTextureCoordSpacingX=0 +TapLiftNoteColorTextureCoordSpacingY=0 +TapFakeAdditionTextureCoordOffsetX=0.5 +TapFakeAdditionTextureCoordOffsetY=0.1 +TapFakeNoteColorTextureCoordSpacingX=0 +TapFakeNoteColorTextureCoordSpacingY=0.125 +##Hold Parts +HoldHeadAdditionTextureCoordOffsetX=0.5 +HoldHeadAdditionTextureCoordOffsetY=0.125 +HoldHeadNoteColorTextureCoordSpacingX=0 +HoldHeadNoteColorTextureCoordSpacingY=0.125 +HoldTopCapAdditionTextureCoordOffsetX=0 +HoldTopCapAdditionTextureCoordOffsetY=0 +HoldTopCapNoteColorTextureCoordSpacingX=0 +HoldTopCapNoteColorTextureCoordSpacingY=0 +HoldBodyAdditionTextureCoordOffsetX=0 +HoldBodyAdditionTextureCoordOffsetY=0 +HoldBodyNoteColorTextureCoordSpacingX=0 +HoldBodyNoteColorTextureCoordSpacingY=0 +HoldBottomCapAdditionTextureCoordOffsetX=0 +HoldBottomCapAdditionTextureCoordOffsetY=0 +HoldBottomCapNoteColorTextureCoordSpacingX=0 +HoldBottomCapNoteColorTextureCoordSpacingY=0 +HoldTailAdditionTextureCoordOffsetX=0 +HoldTailAdditionTextureCoordOffsetY=0 +HoldTailNoteColorTextureCoordSpacingX=0 +HoldTailNoteColorTextureCoordSpacingY=0 +##Roll Parts +RollHeadAdditionTextureCoordOffsetX=0 +RollHeadAdditionTextureCoordOffsetY=0 +RollHeadNoteColorTextureCoordSpacingX=0 +RollHeadNoteColorTextureCoordSpacingY=0 +RollTopCapAdditionTextureCoordOffsetX=0 +RollTopCapAdditionTextureCoordOffsetY=0 +RollTopCapNoteColorTextureCoordSpacingX=0 +RollTopCapNoteColorTextureCoordSpacingY=0 +RollBodyAdditionTextureCoordOffsetX=0 +RollBodyAdditionTextureCoordOffsetY=0 +RollBodyNoteColorTextureCoordSpacingX=0 +RollBodyNoteColorTextureCoordSpacingY=0 +RollBottomCapAdditionTextureCoordOffsetX=0 +RollBottomCapAdditionTextureCoordOffsetY=0 +RollBottomCapNoteColorTextureCoordSpacingX=0 +RollBottomCapNoteColorTextureCoordSpacingY=0 +RollTailAdditionTextureCoordOffsetX=0 +RollTailAdditionTextureCoordOffsetY=0 +RollTailNoteColorTextureCoordSpacingX=0 +RollTailNoteColorTextureCoordSpacingY=0 + + +#Other Stuff +DrawHoldHeadForTapsOnSameRow=1 +DrawRollHeadForTapsOnSameRow=1 +TapHoldRollOnRowMeansHold=1 +StartDrawingHoldBodyOffsetFromHead=0 +StopDrawingHoldBodyOffsetFromTail=0 +HoldLetGoGrayPercent=1 +UseLighting=0 +ReverseDrawOrder=1101 +HoldHeadIsAboveWavyParts=1 +HoldTailIsAboveWavyParts=1 +HoldActiveIsAddLayer=0 + + +#Edit this incase you want to make noteskin for reverse or both +FlipHoldBodyWhenReverse=1 +FlipHeadAndTailWhenReverse=1 +TopHoldAnchorWhenReverse=1 + + +#Diffuse Info v2 + +#Diffuse uses a color code to define the diffuse +#You can use diffusealpha to make noteskins disapear with value = 0 or reapear with value = 1 +#The way it works is pretty easy +#It is based on the Red,Blue,Green,Alpha value that you get with color +#But instead of 255,255,255,255 it uses 1,1,1,1 +#So if you want to use a RBG value from an image like for example Taupe +#Which has a value of 72,60,50 , What we just do is / 254 on every value +#And we also add a Alpha (for transparent) value between 0.1 and 1 +#So We get 0.283464,0.236220,0.196850,0.6 +#You can go over the 6 digits after the . (which I don't do because I like to keep it clean and not to big) +#diffuse,1,1,1,1 is the basic code +#Change them to which value you want +#add ; at the end of your command incase you add more commands + +[GhostArrowDim] +NoneCommand= +HitMineCommand=visible,false +AvoidMineCommand= +MissCommand= +#Boo explosion +W5Command=diffuse,0.8,0.0,0.6,1;zoom,1;diffusealpha,.9;linear,0.1;zoom,2;diffusealpha,.3;linear,0.06;diffusealpha,0 +#Good explosion +W4Command=diffuse,0.3,0.8,1.0,1;zoom,1;diffusealpha,.9;linear,0.1;zoom,2;diffusealpha,.3;linear,0.06;diffusealpha,0 +#Great explosion +W3Command=diffuse,0.0,1.0,0.4,1;zoom,1;diffusealpha,.9;linear,0.1;zoom,2;diffusealpha,.3;linear,0.06;diffusealpha,0 +#Perfect explosion +W2Command=diffuse,1.0,1.0,0.3,1;zoom,1;diffusealpha,.9;linear,0.1;zoom,2;diffusealpha,.3;linear,0.06;diffusealpha,0 +#Marvelous explosion +W1Command=diffuse,1.0,1.0,1.0,1;zoom,1;diffusealpha,.9;linear,0.1;zoom,2;diffusealpha,.3;linear,0.06;diffusealpha,0 +#Hold end commands +LetGoCommand= +HeldCommand=diffuse,1.0,1.0,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 + +[GhostArrowBright] +NoneCommand= +HitMineCommand=visible,false +AvoidMineCommand= +MissCommand= +#Boo explosion +W5Command=diffuse,0.8,0.0,0.6,1;zoom,1;diffusealpha,.9;linear,0.1;zoom,2;diffusealpha,.3;linear,0.06;diffusealpha,0 +#Good explosion +W4Command=diffuse,0.3,0.8,1.0,1;zoom,1;diffusealpha,.9;linear,0.1;zoom,2;diffusealpha,.3;linear,0.06;diffusealpha,0 +#Great explosion +W3Command=diffuse,0.0,1.0,0.4,1;zoom,1;diffusealpha,.9;linear,0.1;zoom,2;diffusealpha,.3;linear,0.06;diffusealpha,0 +#Perfect explosion +W2Command=diffuse,1.0,1.0,0.3,1;zoom,1;diffusealpha,.9;linear,0.1;zoom,2;diffusealpha,.3;linear,0.06;diffusealpha,0 +#Marvelous explosion +W1Command=diffuse,1.0,1.0,1.0,1;zoom,1;diffusealpha,.9;linear,0.1;zoom,2;diffusealpha,.3;linear,0.06;diffusealpha,0 +#Hold end commands +LetGoCommand= +HeldCommand=diffuse,1.0,1.0,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 + +[ReceptorArrow] +#For InitCommand take a look at "Down Receptor.lua" +#InitCommand= +NoneCommand=stoptweening;zoom,0.75;linear,0.11;zoom,1 +PressCommand= +LiftCommand= +AvoidMineCommand= +#The way the receptor responds when you hit an arrow on specified judgment +#Boo command +W5Command=stoptweening +#Good command +W4Command=stoptweening +#Great command +W3Command=stoptweening +#Perfect command +W2Command=stoptweening +#Marvelous command +W1Command=stoptweening + +[HoldGhostArrow] +#The way the hold arrow reacts +HoldingOnCommand=visible,true +HoldingOffCommand=visible,false +RollOnCommand=visible,true +RollOffCommand=visible,false + +[Press] +ReverseOnCommand=vertalign,bottom +ReverseOffCommand=vertalign,top +PressCommand=visible,true +LiftCommand=visible,false \ No newline at end of file diff --git a/NoteSkins/dance/exactV2/Center Hold Body Active.png b/NoteSkins/dance/exactV2/Center Hold Body Active.png new file mode 100644 index 0000000000..3fc8fcd1af Binary files /dev/null and b/NoteSkins/dance/exactV2/Center Hold Body Active.png differ diff --git a/NoteSkins/dance/exactV2/Center Hold Body Inactive.png b/NoteSkins/dance/exactV2/Center Hold Body Inactive.png new file mode 100644 index 0000000000..80ebb0080b Binary files /dev/null and b/NoteSkins/dance/exactV2/Center Hold Body Inactive.png differ diff --git a/NoteSkins/dance/exactV2/Center Hold Bottomcap Active.png b/NoteSkins/dance/exactV2/Center Hold Bottomcap Active.png new file mode 100644 index 0000000000..5a6c4ac8d2 Binary files /dev/null and b/NoteSkins/dance/exactV2/Center Hold Bottomcap Active.png differ diff --git a/NoteSkins/dance/exactV2/Center Hold Bottomcap Inactive.png b/NoteSkins/dance/exactV2/Center Hold Bottomcap Inactive.png new file mode 100644 index 0000000000..5b3a962cb6 Binary files /dev/null and b/NoteSkins/dance/exactV2/Center Hold Bottomcap Inactive.png differ diff --git a/NoteSkins/dance/exactV2/Center Hold Topcap Active.png b/NoteSkins/dance/exactV2/Center Hold Topcap Active.png new file mode 100644 index 0000000000..27bcb39c65 Binary files /dev/null and b/NoteSkins/dance/exactV2/Center Hold Topcap Active.png differ diff --git a/NoteSkins/dance/exactV2/Center Hold Topcap Inactive.png b/NoteSkins/dance/exactV2/Center Hold Topcap Inactive.png new file mode 100644 index 0000000000..ad98dede4d Binary files /dev/null and b/NoteSkins/dance/exactV2/Center Hold Topcap Inactive.png differ diff --git a/NoteSkins/dance/exactV2/Center Receptor.lua b/NoteSkins/dance/exactV2/Center Receptor.lua new file mode 100644 index 0000000000..ae199a7a03 --- /dev/null +++ b/NoteSkins/dance/exactV2/Center Receptor.lua @@ -0,0 +1,19 @@ +--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use cmd(); to define command. +--If you dont know how "NOTESKIN:GetMetricA" works here is an explanation. +--NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini"); + +local t = Def.ActorFrame { + Def.Sprite { + Texture=NOTESKIN:GetPath("_Center", "Go Receptor" ); + InitCommand=cmd(effectclock,"beat"); + NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand"); + PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand"); + LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand"); + W5Command=NOTESKIN:GetMetricA("ReceptorArrow", "W5Command"); + W4Command=NOTESKIN:GetMetricA("ReceptorArrow", "W4Command"); + W3Command=NOTESKIN:GetMetricA("ReceptorArrow", "W3Command"); + W2Command=NOTESKIN:GetMetricA("ReceptorArrow", "W2Command"); + W1Command=NOTESKIN:GetMetricA("ReceptorArrow", "W1Command"); + }; +}; +return t; \ No newline at end of file diff --git a/NoteSkins/dance/exactV2/Center Roll Body Active.png b/NoteSkins/dance/exactV2/Center Roll Body Active.png new file mode 100644 index 0000000000..93c43745bd Binary files /dev/null and b/NoteSkins/dance/exactV2/Center Roll Body Active.png differ diff --git a/NoteSkins/dance/exactV2/Center Roll Body Inactive.png b/NoteSkins/dance/exactV2/Center Roll Body Inactive.png new file mode 100644 index 0000000000..2492afabcd Binary files /dev/null and b/NoteSkins/dance/exactV2/Center Roll Body Inactive.png differ diff --git a/NoteSkins/dance/exactV2/Center Roll Bottomcap Active.png b/NoteSkins/dance/exactV2/Center Roll Bottomcap Active.png new file mode 100644 index 0000000000..87ba9b9cca Binary files /dev/null and b/NoteSkins/dance/exactV2/Center Roll Bottomcap Active.png differ diff --git a/NoteSkins/dance/exactV2/Center Roll Bottomcap Inactive.png b/NoteSkins/dance/exactV2/Center Roll Bottomcap Inactive.png new file mode 100644 index 0000000000..b454c3663b Binary files /dev/null and b/NoteSkins/dance/exactV2/Center Roll Bottomcap Inactive.png differ diff --git a/NoteSkins/dance/exactV2/Center Roll Topcap Active.png b/NoteSkins/dance/exactV2/Center Roll Topcap Active.png new file mode 100644 index 0000000000..dd455db01e Binary files /dev/null and b/NoteSkins/dance/exactV2/Center Roll Topcap Active.png differ diff --git a/NoteSkins/dance/exactV2/Center Roll Topcap Inactive.png b/NoteSkins/dance/exactV2/Center Roll Topcap Inactive.png new file mode 100644 index 0000000000..a8aa03f90b Binary files /dev/null and b/NoteSkins/dance/exactV2/Center Roll Topcap Inactive.png differ diff --git a/NoteSkins/dance/exactV2/Center Tap Explosion Bright.png b/NoteSkins/dance/exactV2/Center Tap Explosion Bright.png new file mode 100644 index 0000000000..cd847fb879 Binary files /dev/null and b/NoteSkins/dance/exactV2/Center Tap Explosion Bright.png differ diff --git a/NoteSkins/dance/exactV2/Center Tap Note.lua b/NoteSkins/dance/exactV2/Center Tap Note.lua new file mode 100644 index 0000000000..1334160471 --- /dev/null +++ b/NoteSkins/dance/exactV2/Center Tap Note.lua @@ -0,0 +1,4 @@ +return Def.Sprite { + Texture=NOTESKIN:GetPath( '_Center', 'tap note' ); + Frames = Sprite.LinearFrames( 1, 1 ); +}; diff --git a/NoteSkins/dance/exactV2/Down Hold Body Active.png b/NoteSkins/dance/exactV2/Down Hold Body Active.png new file mode 100644 index 0000000000..fdea6e275c Binary files /dev/null and b/NoteSkins/dance/exactV2/Down Hold Body Active.png differ diff --git a/NoteSkins/dance/exactV2/Down Hold Body Inactive.png b/NoteSkins/dance/exactV2/Down Hold Body Inactive.png new file mode 100644 index 0000000000..043161abf5 Binary files /dev/null and b/NoteSkins/dance/exactV2/Down Hold Body Inactive.png differ diff --git a/NoteSkins/dance/exactV2/Down Hold Bottomcap Active.png b/NoteSkins/dance/exactV2/Down Hold Bottomcap Active.png new file mode 100644 index 0000000000..4a013813f7 Binary files /dev/null and b/NoteSkins/dance/exactV2/Down Hold Bottomcap Active.png differ diff --git a/NoteSkins/dance/exactV2/Down Hold Bottomcap Inactive.png b/NoteSkins/dance/exactV2/Down Hold Bottomcap Inactive.png new file mode 100644 index 0000000000..889e858035 Binary files /dev/null and b/NoteSkins/dance/exactV2/Down Hold Bottomcap Inactive.png differ diff --git a/NoteSkins/dance/exactV2/Down Hold Topcap Active.png b/NoteSkins/dance/exactV2/Down Hold Topcap Active.png new file mode 100644 index 0000000000..1cf24585e3 Binary files /dev/null and b/NoteSkins/dance/exactV2/Down Hold Topcap Active.png differ diff --git a/NoteSkins/dance/exactV2/Down Hold Topcap Inactive.png b/NoteSkins/dance/exactV2/Down Hold Topcap Inactive.png new file mode 100644 index 0000000000..5acb1dcf19 Binary files /dev/null and b/NoteSkins/dance/exactV2/Down Hold Topcap Inactive.png differ diff --git a/NoteSkins/dance/exactV2/Down Receptor.lua b/NoteSkins/dance/exactV2/Down Receptor.lua new file mode 100644 index 0000000000..f69aca456d --- /dev/null +++ b/NoteSkins/dance/exactV2/Down Receptor.lua @@ -0,0 +1,19 @@ +--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use cmd(); to define command. +--If you dont know how "NOTESKIN:GetMetricA" works here is an explanation. +--NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini"); + +local t = Def.ActorFrame { + Def.Sprite { + Texture=NOTESKIN:GetPath("_Down", "Go Receptor" ); + InitCommand=cmd(effectclock,"beat"); + NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand"); + PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand"); + LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand"); + W5Command=NOTESKIN:GetMetricA("ReceptorArrow", "W5Command"); + W4Command=NOTESKIN:GetMetricA("ReceptorArrow", "W4Command"); + W3Command=NOTESKIN:GetMetricA("ReceptorArrow", "W3Command"); + W2Command=NOTESKIN:GetMetricA("ReceptorArrow", "W2Command"); + W1Command=NOTESKIN:GetMetricA("ReceptorArrow", "W1Command"); + }; +}; +return t; \ No newline at end of file diff --git a/NoteSkins/dance/exactV2/Down Roll Body Active.png b/NoteSkins/dance/exactV2/Down Roll Body Active.png new file mode 100644 index 0000000000..de5687ad06 Binary files /dev/null and b/NoteSkins/dance/exactV2/Down Roll Body Active.png differ diff --git a/NoteSkins/dance/exactV2/Down Roll Body Inactive.png b/NoteSkins/dance/exactV2/Down Roll Body Inactive.png new file mode 100644 index 0000000000..65166d7ba6 Binary files /dev/null and b/NoteSkins/dance/exactV2/Down Roll Body Inactive.png differ diff --git a/NoteSkins/dance/exactV2/Down Roll Bottomcap Active.png b/NoteSkins/dance/exactV2/Down Roll Bottomcap Active.png new file mode 100644 index 0000000000..7a1b5a5e45 Binary files /dev/null and b/NoteSkins/dance/exactV2/Down Roll Bottomcap Active.png differ diff --git a/NoteSkins/dance/exactV2/Down Roll Bottomcap Inactive.png b/NoteSkins/dance/exactV2/Down Roll Bottomcap Inactive.png new file mode 100644 index 0000000000..809e4eae2e Binary files /dev/null and b/NoteSkins/dance/exactV2/Down Roll Bottomcap Inactive.png differ diff --git a/NoteSkins/dance/exactV2/Down Roll Topcap Active.png b/NoteSkins/dance/exactV2/Down Roll Topcap Active.png new file mode 100644 index 0000000000..0b595d7f0b Binary files /dev/null and b/NoteSkins/dance/exactV2/Down Roll Topcap Active.png differ diff --git a/NoteSkins/dance/exactV2/Down Roll Topcap Inactive.png b/NoteSkins/dance/exactV2/Down Roll Topcap Inactive.png new file mode 100644 index 0000000000..b81aad1d38 Binary files /dev/null and b/NoteSkins/dance/exactV2/Down Roll Topcap Inactive.png differ diff --git a/NoteSkins/dance/exactV2/Down Tap Explosion Bright.png b/NoteSkins/dance/exactV2/Down Tap Explosion Bright.png new file mode 100644 index 0000000000..67f046358d Binary files /dev/null and b/NoteSkins/dance/exactV2/Down Tap Explosion Bright.png differ diff --git a/NoteSkins/dance/exactV2/Down Tap Mine.png b/NoteSkins/dance/exactV2/Down Tap Mine.png new file mode 100644 index 0000000000..bf1b201fe6 Binary files /dev/null and b/NoteSkins/dance/exactV2/Down Tap Mine.png differ diff --git a/NoteSkins/dance/exactV2/Down Tap Note.lua b/NoteSkins/dance/exactV2/Down Tap Note.lua new file mode 100644 index 0000000000..81ba89bd77 --- /dev/null +++ b/NoteSkins/dance/exactV2/Down Tap Note.lua @@ -0,0 +1,4 @@ +return Def.Sprite { + Texture=NOTESKIN:GetPath( '_down', 'tap note' ); + Frames = Sprite.LinearFrames( 1, 1 ); +}; diff --git a/NoteSkins/dance/exactV2/DownLeft Receptor.lua b/NoteSkins/dance/exactV2/DownLeft Receptor.lua new file mode 100644 index 0000000000..7a4cf762c9 --- /dev/null +++ b/NoteSkins/dance/exactV2/DownLeft Receptor.lua @@ -0,0 +1,19 @@ +--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use cmd(); to define command. +--If you dont know how "NOTESKIN:GetMetricA" works here is an explanation. +--NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini"); + +local t = Def.ActorFrame { + Def.Sprite { + Texture=NOTESKIN:GetPath("_DownLeft", "Go Receptor" ); + InitCommand=cmd(effectclock,"beat"); + NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand"); + PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand"); + LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand"); + W5Command=NOTESKIN:GetMetricA("ReceptorArrow", "W5Command"); + W4Command=NOTESKIN:GetMetricA("ReceptorArrow", "W4Command"); + W3Command=NOTESKIN:GetMetricA("ReceptorArrow", "W3Command"); + W2Command=NOTESKIN:GetMetricA("ReceptorArrow", "W2Command"); + W1Command=NOTESKIN:GetMetricA("ReceptorArrow", "W1Command"); + }; +}; +return t; \ No newline at end of file diff --git a/NoteSkins/dance/exactV2/DownLeft Tap Explosion Bright.png b/NoteSkins/dance/exactV2/DownLeft Tap Explosion Bright.png new file mode 100644 index 0000000000..66104131e0 Binary files /dev/null and b/NoteSkins/dance/exactV2/DownLeft Tap Explosion Bright.png differ diff --git a/NoteSkins/dance/exactV2/DownLeft Tap Note.lua b/NoteSkins/dance/exactV2/DownLeft Tap Note.lua new file mode 100644 index 0000000000..24ddbd05f1 --- /dev/null +++ b/NoteSkins/dance/exactV2/DownLeft Tap Note.lua @@ -0,0 +1,4 @@ +return Def.Sprite { + Texture=NOTESKIN:GetPath( '_downleft', 'tap note' ); + Frames = Sprite.LinearFrames( 1, 1 ); +}; diff --git a/NoteSkins/dance/exactV2/NoteSkin.lua b/NoteSkins/dance/exactV2/NoteSkin.lua new file mode 100644 index 0000000000..79982d59f4 --- /dev/null +++ b/NoteSkins/dance/exactV2/NoteSkin.lua @@ -0,0 +1,137 @@ +--I am the bone of my noteskin +--Arrows are my body, and explosions are my blood +--I have created over a thousand noteskins +--Unknown to death +--Nor known to life +--Have withstood pain to create many noteskins +--Yet these hands will never hold anything +--So as I pray, Unlimited Stepman Works + +local ret = ... or {}; + +--Defining on which direction the other directions should be bassed on +--This will let us use less files which is quite handy to keep the noteskin directory nice +--Do remember this will Redirect all the files of that Direction to the Direction its pointed to +--If you only want some files to be redirected take a look at the "custom hold/roll per direction" +ret.RedirTable = +{ + --PIU + Center = "Center", + DownLeft = "DownLeft", -- for PIU and dance + DownRight = "DownLeft", -- for PIU and dance + UpLeft = "DownLeft", + UpRight = "DownLeft", + --Dance + Down = "Down", + Up = "Down", + Left = "Down", + Right = "Down", +}; + +-- < +--Between here we usally put all the commands the noteskin.lua needs to do, some are extern in other files +--If you need help with lua go to http://kki.ajworld.net/lua/ssc/Lua.xml there are a bunch of codes there +--Also check out commen it has a load of lua codes in files there +--Just play a bit with lua its not that hard if you understand coding +--But SM can be an ass in some cases, and some codes jut wont work if you dont have the noteskin on FallbackNoteSkin=common in the metric.ini +local OldRedir = ret.Redir; +ret.Redir = function(sButton, sElement) + sButton, sElement = OldRedir(sButton, sElement); + + sButton = ret.RedirTable[sButton]; + + if not string.find(sElement, "Head") and + not string.find(sElement, "Explosion") then + if string.find(sElement, "Hold") or + string.find(sElement, "Roll") then + if Var "Button" == "Down" or Var "Button" == "Up" or Var "Button" == "Left" or Var "Button" == "Right" then + sButton = "Down"; + else + sButton = "Center"; + end + end + end + + -- Instead of separate hold heads, use the tap note graphics. + if sElement == "Hold Head Inactive" or + sElement == "Hold Head Active" or + sElement == "Roll Head Inactive" or + sElement == "Roll Head Active" or + sElement == "Tap Fake" + then + sElement = "Tap Note"; + end + + if sElement == "Tap Explosion Dim" or + sElement == "Hold Explosion" or + sElement == "Roll Explosion" + then + sElement = "Tap Explosion Bright"; + end + + if sElement == "Tap Mine" + then + sButton = "Down"; + end + + return sButton, sElement; +end + +local OldFunc = ret.Load; +function ret.Load() + local t = OldFunc(); + + --Explosion should not be rotated; it calls other actors. + if Var "Element" == "Explosion" then + t.BaseRotationZ = nil; + end + return t; +end +-- > + + +-- Parts of noteskins which we want to rotate +ret.PartsToRotate = +{ + ["Receptor"] = true, + ["Tap Explosion Bright"] = true, + ["Tap Explosion Dim"] = true, + ["Tap Note"] = true, + ["Tap Fake"] = true, + ["Tap Addition"] = true, + ["Hold Explosion"] = true, + ["Hold Head Active"] = true, + ["Hold Head Inactive"] = true, + ["Roll Explosion"] = true, + ["Roll Head Active"] = true, + ["Roll Head Inactive"] = true, +}; +-- Defined the parts to be rotated at which degree +ret.Rotate = +{ + --PIU + Center = 0, + DownLeft = 0, + DownRight = -90, + UpLeft = 90, + UpRight = 180, + --Dance + Down = 0, + Up = 180, + Left = 90, + Right = -90, +}; + +-- Parts that should be Redirected to _Blank.png +-- you can add/remove stuff if you want +ret.Blank = +{ + ["HitMine Explosion"] = true, + ["Hold Tail Active"] = true, + ["Hold Tail Inactive"] = true, + ["Roll Tail Active"] = true, + ["Roll Tail Inactive"] = true, +}; + +-- dont forget to close the ret cuz else it wont work ;> +return ret; diff --git a/NoteSkins/dance/exactV2/_Center Go Receptor.png b/NoteSkins/dance/exactV2/_Center Go Receptor.png new file mode 100644 index 0000000000..a27764b3b5 Binary files /dev/null and b/NoteSkins/dance/exactV2/_Center Go Receptor.png differ diff --git a/NoteSkins/dance/exactV2/_Center Tap Note 2x8.png b/NoteSkins/dance/exactV2/_Center Tap Note 2x8.png new file mode 100644 index 0000000000..66ae90fc3f Binary files /dev/null and b/NoteSkins/dance/exactV2/_Center Tap Note 2x8.png differ diff --git a/NoteSkins/dance/exactV2/_Down Go Receptor.png b/NoteSkins/dance/exactV2/_Down Go Receptor.png new file mode 100644 index 0000000000..bb58e56e10 Binary files /dev/null and b/NoteSkins/dance/exactV2/_Down Go Receptor.png differ diff --git a/NoteSkins/dance/exactV2/_Down Tap Note 2x8.png b/NoteSkins/dance/exactV2/_Down Tap Note 2x8.png new file mode 100644 index 0000000000..ab598827bd Binary files /dev/null and b/NoteSkins/dance/exactV2/_Down Tap Note 2x8.png differ diff --git a/NoteSkins/dance/exactV2/_DownLeft Go Receptor.png b/NoteSkins/dance/exactV2/_DownLeft Go Receptor.png new file mode 100644 index 0000000000..bfb5076583 Binary files /dev/null and b/NoteSkins/dance/exactV2/_DownLeft Go Receptor.png differ diff --git a/NoteSkins/dance/exactV2/_DownLeft Tap Note 2x8.png b/NoteSkins/dance/exactV2/_DownLeft Tap Note 2x8.png new file mode 100644 index 0000000000..abe6ce5d0b Binary files /dev/null and b/NoteSkins/dance/exactV2/_DownLeft Tap Note 2x8.png differ diff --git a/NoteSkins/dance/exactV2/metrics.ini b/NoteSkins/dance/exactV2/metrics.ini new file mode 100644 index 0000000000..7fc223ff74 --- /dev/null +++ b/NoteSkins/dance/exactV2/metrics.ini @@ -0,0 +1,243 @@ +#USW Metric Version V2 +#Made for Version Stepmania 5 Preview 2 + +#I am the bone of my noteskin +#Arrows are my body, and explosions are my blood +#I have created over a thousand noteskins +#Unknown to death +#Nor known to life +#Have withstood pain to create many noteskins +#Yet these hands will never hold anything +#So as I pray, Unlimited Stepman Works + +[Global] +#Noteskin this noteskin falls back on +#We normaly make this fallback on common +#Because its the global noteskin every default fallsback on to +FallbackNoteSkin=common + +[NoteDisplay] +#Noteskin Animation Lengths +AnimationIsBeatBased=1 + +##Tap Parts +TapNoteAnimationLength=4 +TapMineAnimationLength=4 +TapLiftAnimationLength=4 +TapFakeAnimationLength=4 +##Hold Parts +HoldHeadAnimationLength=4 +HoldTopCapAnimationLength=4 +HoldBottomCapAnimationLength=4 +HoldBodyAnimationLength=4 +HoldTailAnimationLength=4 +##Roll Parts +RollHeadAnimationLength=4 +RollTopCapAnimationLength=4 +RollBottomCapAnimationLength=4 +RollBodyAnimationLength=4 +RollTailAnimationLength=4 + + +#Define if noteskin is Vivid or not +#Value 1 = true, Value 0 = false + +##Tap Parts +TapNoteAnimationIsVivid=0 +TapMineAnimationIsVivid=0 +TapFakeAnimationIsVivid=0 +TapLiftAnimationIsVivid=0 +##Hold Parts +HoldHeadAnimationIsVivid=0 +HoldTopCapAnimationIsVivid=0 +HoldBodyAnimationIsVivid=0 +HoldBottomCapAnimationIsVivid=0 +HoldTailAnimationIsVivid=0 +##Roll Parts +RollHeadAnimationIsVivid=0 +RollTopCapAnimationIsVivid=0 +RollBodyAnimationIsVivid=0 +RollBottomCapAnimationIsVivid=0 +RollTailAnimationIsVivid=0 + + +#Texture Coord Offest Info + +#This is the TextureCoordOffset which we use for Rhythm colored noteskins +#If you dont want to use it, just keep the value 0 +#Rhythm colored noteskins are noteskins that have different colors for every +#4th, 8th, 12th, 16th and so on +#To use this you need to use simple math because it isnt based on the size of +#the image but its based on the total value of the size which is 1 +#So if you got 9 frames (including 192nd) +#You need to run this simple math +# 1 / 9 = 0.11111111111111111111111111 (and so on) +#Because using the entire value is to long, lets make it smaler to 6 digits +#You can make it longer if you want but lets keep it nice to 6 digits + +##Tap Parts +TapNoteAdditionTextureCoordOffsetX=0.5 +TapNoteAdditionTextureCoordOffsetY=0.125 +TapNoteNoteColorTextureCoordSpacingX=0 +TapNoteNoteColorTextureCoordSpacingY=0.125 +TapMineAdditionTextureCoordOffsetX=0 +TapMineAdditionTextureCoordOffsetY=0 +TapMineNoteColorTextureCoordSpacingX=0 +TapMineNoteColorTextureCoordSpacingY=0 +TapLiftAdditionTextureCoordOffsetX=0 +TapLiftAdditionTextureCoordOffsetY=0 +TapLiftNoteColorTextureCoordSpacingX=0 +TapLiftNoteColorTextureCoordSpacingY=0 +TapFakeAdditionTextureCoordOffsetX=0.5 +TapFakeAdditionTextureCoordOffsetY=0.1 +TapFakeNoteColorTextureCoordSpacingX=0 +TapFakeNoteColorTextureCoordSpacingY=0.125 +##Hold Parts +HoldHeadAdditionTextureCoordOffsetX=0.5 +HoldHeadAdditionTextureCoordOffsetY=0.125 +HoldHeadNoteColorTextureCoordSpacingX=0 +HoldHeadNoteColorTextureCoordSpacingY=0.125 +HoldTopCapAdditionTextureCoordOffsetX=0 +HoldTopCapAdditionTextureCoordOffsetY=0 +HoldTopCapNoteColorTextureCoordSpacingX=0 +HoldTopCapNoteColorTextureCoordSpacingY=0 +HoldBodyAdditionTextureCoordOffsetX=0 +HoldBodyAdditionTextureCoordOffsetY=0 +HoldBodyNoteColorTextureCoordSpacingX=0 +HoldBodyNoteColorTextureCoordSpacingY=0 +HoldBottomCapAdditionTextureCoordOffsetX=0 +HoldBottomCapAdditionTextureCoordOffsetY=0 +HoldBottomCapNoteColorTextureCoordSpacingX=0 +HoldBottomCapNoteColorTextureCoordSpacingY=0 +HoldTailAdditionTextureCoordOffsetX=0 +HoldTailAdditionTextureCoordOffsetY=0 +HoldTailNoteColorTextureCoordSpacingX=0 +HoldTailNoteColorTextureCoordSpacingY=0 +##Roll Parts +RollHeadAdditionTextureCoordOffsetX=0 +RollHeadAdditionTextureCoordOffsetY=0 +RollHeadNoteColorTextureCoordSpacingX=0 +RollHeadNoteColorTextureCoordSpacingY=0 +RollTopCapAdditionTextureCoordOffsetX=0 +RollTopCapAdditionTextureCoordOffsetY=0 +RollTopCapNoteColorTextureCoordSpacingX=0 +RollTopCapNoteColorTextureCoordSpacingY=0 +RollBodyAdditionTextureCoordOffsetX=0 +RollBodyAdditionTextureCoordOffsetY=0 +RollBodyNoteColorTextureCoordSpacingX=0 +RollBodyNoteColorTextureCoordSpacingY=0 +RollBottomCapAdditionTextureCoordOffsetX=0 +RollBottomCapAdditionTextureCoordOffsetY=0 +RollBottomCapNoteColorTextureCoordSpacingX=0 +RollBottomCapNoteColorTextureCoordSpacingY=0 +RollTailAdditionTextureCoordOffsetX=0 +RollTailAdditionTextureCoordOffsetY=0 +RollTailNoteColorTextureCoordSpacingX=0 +RollTailNoteColorTextureCoordSpacingY=0 + + +#Other Stuff +DrawHoldHeadForTapsOnSameRow=1 +DrawRollHeadForTapsOnSameRow=1 +TapHoldRollOnRowMeansHold=1 +StartDrawingHoldBodyOffsetFromHead=0 +StopDrawingHoldBodyOffsetFromTail=0 +HoldLetGoGrayPercent=1 +UseLighting=0 +ReverseDrawOrder=1101 +HoldHeadIsAboveWavyParts=1 +HoldTailIsAboveWavyParts=1 +HoldActiveIsAddLayer=0 + + +#Edit this incase you want to make noteskin for reverse or both +FlipHoldBodyWhenReverse=1 +FlipHeadAndTailWhenReverse=1 +TopHoldAnchorWhenReverse=1 + + +#Diffuse Info v2 + +#Diffuse uses a color code to define the diffuse +#You can use diffusealpha to make noteskins disapear with value = 0 or reapear with value = 1 +#The way it works is pretty easy +#It is based on the Red,Blue,Green,Alpha value that you get with color +#But instead of 255,255,255,255 it uses 1,1,1,1 +#So if you want to use a RBG value from an image like for example Taupe +#Which has a value of 72,60,50 , What we just do is / 254 on every value +#And we also add a Alpha (for transparent) value between 0.1 and 1 +#So We get 0.283464,0.236220,0.196850,0.6 +#You can go over the 6 digits after the . (which I don't do because I like to keep it clean and not to big) +#diffuse,1,1,1,1 is the basic code +#Change them to which value you want +#add ; at the end of your command incase you add more commands + +[GhostArrowDim] +NoneCommand= +HitMineCommand=visible,false +AvoidMineCommand= +MissCommand= +#Boo explosion +W5Command=diffuse,0.8,0.0,0.6,1;zoom,1;diffusealpha,.9;linear,0.1;zoom,2;diffusealpha,.3;linear,0.06;diffusealpha,0 +#Good explosion +W4Command=diffuse,0.3,0.8,1.0,1;zoom,1;diffusealpha,.9;linear,0.1;zoom,2;diffusealpha,.3;linear,0.06;diffusealpha,0 +#Great explosion +W3Command=diffuse,0.0,1.0,0.4,1;zoom,1;diffusealpha,.9;linear,0.1;zoom,2;diffusealpha,.3;linear,0.06;diffusealpha,0 +#Perfect explosion +W2Command=diffuse,1.0,1.0,0.3,1;zoom,1;diffusealpha,.9;linear,0.1;zoom,2;diffusealpha,.3;linear,0.06;diffusealpha,0 +#Marvelous explosion +W1Command=diffuse,1.0,1.0,1.0,1;zoom,1;diffusealpha,.9;linear,0.1;zoom,2;diffusealpha,.3;linear,0.06;diffusealpha,0 +#Hold end commands +LetGoCommand= +HeldCommand=diffuse,1.0,1.0,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 + +[GhostArrowBright] +NoneCommand= +HitMineCommand=visible,false +AvoidMineCommand= +MissCommand= +#Boo explosion +W5Command=diffuse,0.8,0.0,0.6,1;zoom,1;diffusealpha,.9;linear,0.1;zoom,2;diffusealpha,.3;linear,0.06;diffusealpha,0 +#Good explosion +W4Command=diffuse,0.3,0.8,1.0,1;zoom,1;diffusealpha,.9;linear,0.1;zoom,2;diffusealpha,.3;linear,0.06;diffusealpha,0 +#Great explosion +W3Command=diffuse,0.0,1.0,0.4,1;zoom,1;diffusealpha,.9;linear,0.1;zoom,2;diffusealpha,.3;linear,0.06;diffusealpha,0 +#Perfect explosion +W2Command=diffuse,1.0,1.0,0.3,1;zoom,1;diffusealpha,.9;linear,0.1;zoom,2;diffusealpha,.3;linear,0.06;diffusealpha,0 +#Marvelous explosion +W1Command=diffuse,1.0,1.0,1.0,1;zoom,1;diffusealpha,.9;linear,0.1;zoom,2;diffusealpha,.3;linear,0.06;diffusealpha,0 +#Hold end commands +LetGoCommand= +HeldCommand=diffuse,1.0,1.0,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0 + +[ReceptorArrow] +#For InitCommand take a look at "Down Receptor.lua" +#InitCommand= +NoneCommand=stoptweening;zoom,0.75;linear,0.11;zoom,1 +PressCommand= +LiftCommand= +AvoidMineCommand= +#The way the receptor responds when you hit an arrow on specified judgment +#Boo command +W5Command=stoptweening +#Good command +W4Command=stoptweening +#Great command +W3Command=stoptweening +#Perfect command +W2Command=stoptweening +#Marvelous command +W1Command=stoptweening + +[HoldGhostArrow] +#The way the hold arrow reacts +HoldingOnCommand=visible,true +HoldingOffCommand=visible,false +RollOnCommand=visible,true +RollOffCommand=visible,false + +[Press] +ReverseOnCommand=vertalign,bottom +ReverseOffCommand=vertalign,top +PressCommand=visible,true +LiftCommand=visible,false \ No newline at end of file