da657870d4
This reverts commit 2330c87501.
208 lines
6.0 KiB
Lua
208 lines
6.0 KiB
Lua
-- steps.lua: rough rough draft. Please don't use until finalized.
|
|
-- ver 20100116
|
|
|
|
-- shakesoda is going to be making this more generic for use in rhythm.
|
|
|
|
local MetaTags = {
|
|
Title = {"Dyamite Rave","(transliteration)"},
|
|
Subtitle = {"Down Bird Sota Mix","(transliteration)"},
|
|
Artist = {"NAOKI","(transliteration)"},
|
|
Genre = {"Scouse House","(transliteration)"},
|
|
License = "CC-BY-NC",
|
|
URL = "http://shakesoda.org/"
|
|
}
|
|
|
|
--[[
|
|
If an int is used in a field that expects a time of some sort, it is
|
|
assumed to use beats. If it's a float, it assumes seconds instead.
|
|
]]
|
|
|
|
local CacheData {
|
|
HasAttacks = true,
|
|
HasBanner = true,
|
|
HasBackground = true,
|
|
HasKeysounds = true,
|
|
HasLyrics = true,
|
|
HasMusic = true,
|
|
SongFileNames = "path/from/song/folder",
|
|
LongestChartLength = 220.000 -- use this to thwart the ogg length patch
|
|
}
|
|
|
|
local MetaData = {
|
|
Attacks = {
|
|
-- start = length, startup time, mod string
|
|
0 = { 10, 1.0, "mod,50% reverse" },
|
|
10 = { 5, 1.0, "mod,70% boost" }
|
|
},
|
|
BannerPath = { "banner.png" }, -- can be an image, video, or lua
|
|
Background = { -- background changes.
|
|
Path = "background.png",
|
|
Animation = { -- can have as many changes as needed
|
|
--[[
|
|
startTime = { path, rate, offset, commands }
|
|
Any ommitted arguments will default to nil, except for rate, which would use 1.0
|
|
]]
|
|
0 = {"path/to/bga", 1.0, 0.000, 0, cmd(rainbow) },
|
|
0 = {"path/to/bga2", 1.0, 0.000, 0, cmd(thump) }
|
|
},
|
|
},
|
|
--[[
|
|
-- #BGCHANGES2:32.000=flash=1.000=0=0=1=====,
|
|
BackgroundChanges2 = {
|
|
32.000 = { "flash", 1.000, 0, 0, 1, [unk], [unk], [unk], [unk], [unk] };
|
|
},
|
|
]]
|
|
BPMs = { 0.000 = 280.000 },
|
|
CDTitle = "",
|
|
DisplayBPM = { 150, 300 }, -- can be either an array of two values to cycle or 'Random'
|
|
FormatRevision = 2,
|
|
InstrumentTracks = {
|
|
-- guitar hero/rock band
|
|
Guitar = "guitar.ogg",
|
|
Rhythm = "rhythm.ogg",
|
|
Bass = "bass.ogg",
|
|
-- dj hero
|
|
LeftDeck = "left.ogg",
|
|
RightDeck = "right.ogg",
|
|
},
|
|
Keysounds = {}, -- I forget exactly how the SM format does this, but it'll be similar here.
|
|
LeadOut = 3,
|
|
Warps = { 5 = 4, 10 = 4 },
|
|
LyricsPath = "Dynamite Rave.lrc",
|
|
Offset = 0.014,
|
|
Overlay = {}, -- same as Background, but without path.
|
|
PreviewMusic = { 50.000, 60.000 },
|
|
Selectable = true,
|
|
Stops = { 156.000 = 0.540 },
|
|
TimeSignatures = { 0.000 = "4/4" }
|
|
}
|
|
|
|
local NoteCharts = {
|
|
{
|
|
ChartRevison = 20,
|
|
BPMs = { 0.000 = 140.000 }, -- override
|
|
Description = "Z. Nard", -- usually the chart author or "Copied from *"
|
|
Difficulty = 'Hard', -- "invalid" names will be assumed to be edits.
|
|
EditName = '', -- valid for all charts, typically only shows for edits.
|
|
Meter = '100', -- value clamped between 1 and 100, scaled to whatever works theme-side.
|
|
RadarValues = {
|
|
-- may not be 100%; won't be commented/linebroken in actual file
|
|
Stream = 0.931,
|
|
Voltage = 1.000,
|
|
Air = 0.439,
|
|
Freeze = 0.174,
|
|
Chaos = 0.156,
|
|
},
|
|
Stats = { -- will probably have more i.e. fakes, lifts.
|
|
Total = 645,
|
|
Jumps = 48,
|
|
Holds = 19,
|
|
Mines = 3,
|
|
Hands = 0,
|
|
Rolls = 0
|
|
},
|
|
StepsType = 'Dance_Single',
|
|
Stops = { 140.000 = 0.860 }, -- override
|
|
TimeSignatures = { 0.000 = "4/4" }, -- override
|
|
NoteData = {
|
|
{ -- measure 1
|
|
-- row level
|
|
--{ column level }, works like this:
|
|
{ 0,0,0,0 },
|
|
{ 0,0,0,0 },
|
|
{ 0,0,0,0 },
|
|
{ 0,0,0,1 = { SomeFunction(), 'TNS_GreaterThan', 'TapNoteScore_W5' } } -- example of assigning a function to a note.
|
|
},
|
|
{ -- measure 2
|
|
-- row level
|
|
--{ column level } or in other words
|
|
{ 0,0,0,0 },
|
|
{ 0,0,0,0 },
|
|
{ 0,0,0,0 },
|
|
{ 0,0,0,0 }
|
|
}
|
|
}
|
|
},
|
|
-- second example chart
|
|
{
|
|
ChartRevison = 5,
|
|
BPMs = { 0.000 = 140.000 },
|
|
Description = "B. McLargeHuge",
|
|
Difficulty = 'Expert',
|
|
EditName = '',
|
|
Meter = '60',
|
|
RadarValues = {
|
|
Stream = 0.931,
|
|
Voltage = 1.000,
|
|
Air = 0.439,
|
|
Freeze = 0.174,
|
|
Chaos = 0.156,
|
|
},
|
|
Stats = {
|
|
Total = 16,
|
|
Jumps = 0,
|
|
Holds = 0,
|
|
Mines = 16,
|
|
Hands = 0,
|
|
Rolls = 0
|
|
},
|
|
StepsType = 'Dance_Single',
|
|
NoteData = {
|
|
{ { 1,0,0,0 }, { 0,0,0,0 }, { 0,0,0,0 }, { 0,0,0,'m' }, },
|
|
{ { 0,1,0,0 }, { 0,0,0,0 }, { 0,0,0,0 }, { 0,0,'m',0 }, },
|
|
{ { 0,0,1,0 }, { 0,0,0,0 }, { 0,0,0,0 }, { 0,'m',0,0 }, },
|
|
{ { 0,0,0,1 }, { 0,0,0,0 }, { 0,0,0,0 }, { 'm',0,0,0 }, },
|
|
{ { 0,0,0,0 }, { 1,0,0,0 }, { 0,0,0,'m' }, { 0,0,0,0 }, },
|
|
{ { 0,0,0,0 }, { 0,1,0,0 }, { 0,0,'m',0 }, { 0,0,0,0 }, },
|
|
{ { 0,0,0,0 }, { 0,0,1,0 }, { 0,'m',0,0 }, { 0,0,0,0 }, },
|
|
{ { 0,0,0,0 }, { 0,0,0,1 }, { 'm',0,0,0 }, { 0,0,0,0 }, },
|
|
{ { 0,0,0,0 }, { 0,0,0,'m' }, { 1,0,0,0 }, { 0,0,0,0 }, },
|
|
{ { 0,0,0,0 }, { 0,0,'m',0 }, { 0,1,0,0 }, { 0,0,0,0 }, },
|
|
{ { 0,0,0,0 }, { 0,'m',0,0 }, { 0,0,1,0 }, { 0,0,0,0 }, },
|
|
{ { 0,0,0,0 }, { 'm',0,0,0 }, { 0,0,0,1 }, { 0,0,0,0 }, },
|
|
{ { 0,0,0,'m' }, { 0,0,0,0 }, { 0,0,0,0 }, { 1,0,0,0 }, },
|
|
{ { 0,0,'m',0 }, { 0,0,0,0 }, { 0,0,0,0 }, { 0,1,0,0 }, },
|
|
{ { 0,'m',0,0 }, { 0,0,0,0 }, { 0,0,0,0 }, { 0,0,1,0 }, },
|
|
{ { 'm',0,0,0 }, { 0,0,0,0 }, { 0,0,0,0 }, { 0,0,0,1 }, }
|
|
}
|
|
}
|
|
}
|
|
|
|
local EditCharts = {
|
|
{
|
|
-- todo: uh..... (this is the internal version of the edits.)
|
|
-- should be like NoteData but with fewer available overrides.
|
|
}
|
|
}
|
|
|
|
-- this is a work in progress format. expect things to change as better ideas come about.
|
|
-- this isn't how steps currently work internally. that can be dealt with.
|
|
|
|
--[[
|
|
Below is a minimal example file.
|
|
Just about every value that can be calculated or defaulted to something
|
|
reasonable has been omitted, and much extra whitespace reduced.
|
|
]]
|
|
MetaTags = {
|
|
Title = {"Black Lawn Finale", "long wait FINALLY"},
|
|
Artist = {"The Flashbulb", "teh falshbald"}
|
|
}
|
|
MetaData = {
|
|
BannerPath = { "banner.png" },
|
|
Background = { Path = "background.png" },
|
|
BPMs = { 0.000 = 280.000 },
|
|
FormatRevision = 1,
|
|
Offset = 0.028
|
|
}
|
|
NoteCharts = {
|
|
{
|
|
Description = "S. Slabrock",
|
|
Difficulty = 'Difficulty_Medium',
|
|
Meter = '50',
|
|
StepsType = 'StepsType_Dance_Single',
|
|
NoteData = {
|
|
{{0,0,0,0},{0,0,1,0},{0,0,0,0},{0,0,0,1}}, -- measure of 4ths
|
|
{{0,1,0,0},{0,0,0,0},{0,1,0,0},{0,0,0,1},{0,0,0,0},{0,0,0,1},{0,0,0,0},{0,0,0,1}} -- measure of 8ths
|
|
}
|
|
}
|
|
} |