1dealGas's official Chart[Fumen]
Compiler & Viewer of Aerials
-
Open the application, click
Works
button to open the workspace folder. -
Get the track
「Chronomica」by polysha
here (wav
format).Let's use the filename
chronomica.wav
for example.Additionally,
Nemesis
supportsOpus
format. -
Create a code file
[Addon]
, put our official Addon lines into the file, save it, and then restart theNemesis
application.If succeeded, the title of the
Nemesis
window will beNemesis with Addon
. -
Create the
Chart[Fumen]
code filechronomica.lua
, put our example Chart/Fumen lines into the file, and then save it. -
Click
Args Input
button of theNemesis
Window, typechronomica
(with no file extension), and then clickLoad
button. -
You are ready to do what you want since then.
These APIs are stated local
in the Chart[Fumen]
header (see Viewer.script
), so there is no need to add sentences like local Wish = Wish
.
--[ Examples: ]--
Time { -- For 4/4-only tracks
Offset = 0, -- Beat 0 starts from 0ms
0, 170, -- Bar, BPM
···
}
Time { -- For tracks with Tempo Variations
Offset = 0, -- Offset must be positive
Tempo = {
0, 4, 4, -- Bar, Beat Count of a Bar, Tone Divisor
1, 3, 4,
25, 4, 4
},
0, 0, 201, -- Bar(to be converted to Beat), Additional Beats, BPM
···
}
--[ Example: ]--
Delta {
{0}, 1, -- Bar 0, Ratio: 1
{2, 1/32}, -1, -- Bar 2, then 1/32 Tone, Ratio: -1
{2, 1}, 0.9, -- Bar 2, then 1/16 Tone, Ratio: 0.9
-15, 1, -- Bar 2(Cached), then 15/16 Tone, Ratio: 1
···
}
--[ Example: ]--
local myWish = Wish { -- When failed, a nil will be returned.
WithDt = true, -- true by default
Special = true, -- false by default
{1}, 4, 3, LINEAR, -- Bar 1, X=4, Y=3, Linear Ease
-- Add Radius(5 here) & Degree(0 here) like this
-12, oldWish {1,-12}.x, oldWish {1,-12}.y, {5, 0, LINEAR},
···
}
--[ Example: ]--
local helper = Helper { -- When failed, a nil will be returned.
{1}, 4, 3, LINEAR, -- Bar 1, X=4, Y=3, Linear Ease
-12, 8, 9, LINEAR, -- Bar 1 then 12/16 Tone, X=8, Y=9, Linear Ease
···
} -- Then you can use the Helper to do some interpolations.
--[ Example: ]--
Child {
Wish = nil, -- The last Wish of the Fumen by default
Radius = 7.0, -- 7.0 by Default
Special = false, -- Try to generate a special Hint if true, false by default
InitLoop = 0.25, -- 0.25 by default
DeltaLoop = 1.25, -- 0 by default
{1, 1}, 2, 3, 4, ··· -- Times
}
--[ Example: ]--
Hint {
Wish = myWish, -- The last Wish of the Fumen by default
Special = false, -- False by default
{1}, 1, 2, 3, 4, ··· -- Times
}
--[ Example: ]--
Echo {
Radius = 7.0, -- 0 by Default
Special = false, -- Scored if true. false by default
InitLoop = 0.25, -- 0.25 by default, ignored if Radius is 0
DeltaLoop = 1.25, -- 0 by default, ignored if Radius is 0
{1}, 8, 0.5, -- T1, X1, Y1
12, 8, 0.5, -- T2, X2, Y2
···
}
--[ Usage: ]--
Verse(since_tone) do
...
end
--[ Usage: ]--
Mirror(mirror_lr, mirror_ud)
--[ Usage: ]--
local since_tone_or_nil = SinceTone(set_to_or_nil)
When the user types a new absolute time ({bar, tone}
, like{1, 1/16}
) into an API function, a time context switching will happen. For Addon
authors, pay attention to:
-
Convert all user-input times into tones with
Toneof(t)
AT FIRST, and then store the current time context withlocal S = SinceTone()
IMMEDIATELY; -
ALWAYS call API functions with zero-bar absolute time(s) like
{0, tone}
, ortone
time(s) after settingSinceTone
to 0; -
ALWAYS reset the time context with
SinceTone(S)
before exiting an Addon function.
Official addons are as follows, under the Apache-2.0
License. Considering the code style, we decided not to let them builtin:
-- Duo
--
local DUO_RADIUS = 3
local DUO_WITHDT = false
local DUO_BEFORE_TONE = 0.5
local DUO_HINT_SPECIAL = false
local function Duo(t, x, y, ...)
t = Toneof(t)
local S, t0, degs = SinceTone(), SinceTone(0) or (t - DUO_BEFORE_TONE), {...}
if t0 > 0 and degs[1] then
Wish { Special = true, WithDt = DUO_WITHDT, t0, x, y, 0, t, x, y }
for i = 1, #degs do
local D = degs[i]
if type(D) == "number" then
Child { Radius = DUO_RADIUS, Special = DUO_HINT_SPECIAL,
InitLoop = D/360, t }
else
Child { Radius = DUO_RADIUS, Special = DUO_HINT_SPECIAL,
InitLoop = D[1]/360, DeltaLoop = D[2], t }
end
end
end SinceTone(S)
end
-- Rail
--
local RAIL_Y = 0.5
local RAIL_RADIUS = 7
local RAIL_INITLOOP = 0.25
local RAIL_DELTALOOP = 0
local RAIL_BEFORE_TONE = 1
local RAIL_CHILD_SPECIAL = false
local RAIL_WISH_SPECIAL = false
local RAIL_WISH_WITHDT = true
local function Rail(x, ...)
local args = {...}
local arglen = #args
if arglen > 0 then
for i = 1, arglen do args[i] = Toneof( args[i] ) end
table.sort(args)
local tprv = args[1]
if tprv > RAIL_BEFORE_TONE then
local tgl, tg = 1, {tprv}
local gsl, gs = 1, {tg}
for i = 2, arglen do
local tcur = args[i]
if tcur-tprv <= RAIL_BEFORE_TONE then tgl = tgl+1 tg[tgl] = tcur
else gsl = gsl+1 tg,tgl = {tcur},1 gs[gsl] = tg
end tprv = tcur
end
local S, unpack = SinceTone(), SinceTone(0) or unpack
for i = 1, gsl do
local tsi = gs[i]
Wish { Special = RAIL_WISH_SPECIAL, WithDt = RAIL_WISH_WITHDT,
tsi[1]-RAIL_BEFORE_TONE, x, RAIL_Y, STATIC,
tsi[#tsi], x, RAIL_Y }
Child { Radius = RAIL_RADIUS, Special = RAIL_CHILD_SPECIAL,
InitLoop = RAIL_INITLOOP, DeltaLoop = RAIL_DELTALOOP, unpack(tsi) } end
SinceTone(S)
end
end
end
-- Slide
--
local SLIDE_MOD = 4
local SLIDE_INTERVAL = 1/32
local function Slide(T)
local tlen, end_time = #T, 0
if tlen < 7 then
return end
for i = 1, tlen, 4 do
end_time = Toneof( T[i] )
T[i] = end_time
end
local S, helper = SinceTone(), SinceTone(0) or Helper(T)
local echo1 = { Radius = T.Radius, InitLoop = T.InitLoop, DeltaLoop = T.DeltaLoop }
local echo2 = { Radius = T.Radius, InitLoop = T.InitLoop, DeltaLoop = T.DeltaLoop, Special = true }
local k, e1, e2, cur = 1, 1, 1, T[1]+SLIDE_INTERVAL
while cur < end_time do
local xy = helper(cur)
if k % SLIDE_MOD ~= 0 then echo1[e1], echo1[e1+1], echo1[e1+2], e1 = cur, xy.x, xy.y, e1+3
else echo2[e2], echo2[e2+1], echo2[e2+2], e2 = cur, xy.x, xy.y, e2+3 end
k, cur = k+1, cur+SLIDE_INTERVAL
end
Echo(echo1) ; Echo(echo2)
SinceTone(S)
end
Author: Clock Futuros :: The World She Messed υρ
, under the Apache-2.0
License.
Time {
Offset = 10,
Tempo = { 0, 6, 4,
1, 4, 4 },
0, 0, 180
}
Delta {
{0}, 1,
{24.251}, 1011,
{24.255}, 0.6,
{24.5}, 0.7,
{24.75}, 0.8,
{24.875}, 0.9,
{25}, 1,
{31.001}, 4.37,
{31.005}, 1,
{36.252}, 1011,
{36.256}, 0.25,
{36,-5}, 5/16,
-6, 6/16,
-7, 7/16,
-8, 8/16,
-9, 9/16,
-10, 10/16,
-11, 11/16,
-12, 12/16,
-13, 13/16,
-14, 14/16,
-15, 15/16,
{37}, 1,
{43.001}, 6,
{43.005}, 1,
{48.251}, 30,
{48.255}, 0,
{48.376}, 30,
{48.38}, 0,
{48.501}, 30,
{48.505}, 1/9,
{48,-9}, 2/9,
-10, 3/9,
-11, 4/9,
-12, 5/9,
-13, 6/9,
-14, 7/9,
-15, 8/9,
{49.001}, 3,
{49.005}, 1,
{55.001}, 3,
{55.005}, 1,
{60.25}, 0.5,
{60.3}, 0.6,
{60.35}, 0.7,
{60.4}, 0.8,
{60.45}, 0.9,
{60.5}, 1,
{61.751}, 20,
{61.755}, 0.25,
{61.876}, 20,
{61.88}, 0.625,
{62.001}, 20,
{62.005}, 1/9,
{62,-1}, 2/9,
-2, 3/9,
-3, 4/9,
-4, 5/9,
-5, 6/9,
-6, 7/9,
-7, 8/9,
{62.501}, 3.7,
{62.505}, 1,
{64.001}, 6,
{64.005}, 1,
{64.626}, 6,
{64.63}, 1,
{64.751}, 3.7,
{64.755}, 1,
{65.126}, 3.7,
{65.13}, 1,
{65.501}, 1011,
{65.505}, 4/16,
{65,-9}, 5/16,
-10, 6/16,
-11, 7/16,
-12, 8/16,
-13, 9/16,
-14, 10/16,
-15, 11/16,
-16, 12/16,
-17, 13/16,
-18, 14/16,
-19, 15/16,
{66.251}, 0.73,
{66.75, 1/64}, -0.85,
2/64, 1.7,
3/64, -0.8,
4/64, 1.6,
5/64, -0.75,
6/64, 1.5,
7/64, -0.7,
8/64, 1.4,
9/64, -0.65,
10/64, 1.3,
11/64, -0.6,
12/64, 1.2,
13/64, -0.55,
14/64, 1.1,
15/64, -0.5,
16/64, 1,
{71.751}, 3.7,
{71.755}, 1,
{72.001}, 3.7,
{72.01}, 0.88,
{73}, 0.5,
-13, 13/24,
-14, 14/24,
-15, 15/24,
-16, 16/24,
-17, 17/24,
-18, 18/24,
-19, 19/24,
-20, 20/24,
-21, 21/24,
-22, 22/24,
-23, 23/24,
-24, 1,
{74.626}, 0.88,
{74.751}, 6,
{74.755}, 0.88,
{74.875}, 1,
{75.001}, 0.87,
{75.126}, 6,
{75.13}, 0.87,
{75.25}, 1,
{75.376}, 0.86,
{75.501}, 6,
{75.505}, 0.86,
{75.625}, 1,
{75.751}, 0.85,
{75.876}, 6,
{75.88}, 0.85,
{76}, 1,
{76.126}, 0.84,
{76.251}, 6,
{76.255}, 0.84,
{76.375}, 1,
{76.501}, 0.83,
{76.626}, 6,
{76.63}, 0.83,
{76.75}, 1,
{76.876}, 0.82,
{77.001}, 6,
{77.005}, 0.82,
{77.125}, 1,
{77.251}, 0.81,
{77.376}, 6,
{77.38}, 0.81,
{77.5}, 1,
{77.626}, 0.8,
{77.751}, 6,
{77.755}, 0.8,
{77.875}, 1,
{78.001}, 0.79,
{78.126}, 6,
{78.13}, 0.79,
{78.25}, 1,
{78.376}, 0.78,
{78.501}, 6,
{78.505}, 0.78,
{78.625}, 1,
{78.751}, 0.77,
{78.876}, 6,
{78.88}, 0.77,
{79}, 1,
{79.126}, 0.76,
{79.251}, 6,
{79.255}, 0.76,
{79.375}, 1,
{79.501}, 0.75,
{79.626}, 6,
{79.63}, 0.75,
{79.75}, 1,
{79.876}, 0.74,
{80.001}, 6,
{80.005}, 0.74,
{80.125}, 1,
{80.251}, 0.73
}
-- Since {0}
--
Wish {
{0}, 8, 4, INSINE,
{1}, 8, 0.5
}
Wish {
Special = true,
{0, 1}, 8, 0.5, STATIC,
{1}, 8, 0.5
} ; Hint{0}
Wish {
{3.5}, 8, 7.5, INSINE,
{4}, 8, 0.5
} ; Hint{0}
Wish { -- A1
{0.5}, 8, 7.5, INSINE,
{1}, 8, 0.5, OUTSINE,
{2.5}, 5.5, 0.5, INSINE,
{4}, 8, 0.5, OUTSINE,
{6.25}, 10.5, 0.5
}
Child{ {1.75}, {2.875}, {5}, {6.25} }
Wish { -- A2
{1}, 8, 0.5, OUTSINE,
{2.5}, 7.25, 0.5, INSINE,
{4}, 8, 0.5, OUTSINE,
{5.25}, 8.5, 0.5
}
Child{ {2.25}, {5.25} }
Wish { -- A3
{1}, 8, 0.5, OUTSINE,
{2.5}, 8.75, 0.5, INSINE,
{4}, 8, 0.5, OUTSINE,
{5.25}, 7.5, 0.5
}
Child{ {2.5} }
Wish { -- A4
{1}, 8, 0.5, OUTSINE,
{2.5}, 10.5, 0.5, INSINE,
{4}, 8, 0.5, OUTSINE,
{6.25}, 5.5, 0.5
}
Child{ {2}, {3.25}, {4.75}, {5.5} }
Child{ InitLoop = 17/64, {5.5} }
Rail(8, {5.875})
-- Since {7}
--
Wish { -- B1
{7}, 6.5, 0.5, OUTSINE,
{8}, 5.5, 0.5, INSINE,
{9}, 6.5, 0.5, OUTSINE,
{10}, 7.5, 0.5, INSINE,
{11.5}, 6, 0.5, STATIC,
{11.5}, 6, 2.5, {2, -90, LINEAR},
{12.25}, 6, 2.5, {2, 0, STATIC},
{12.25}, 8, 2.5, OUTSINE,
{13}, 8, 9
}
Wish { -- B2
{7}, 9.5, 0.5, OUTSINE,
{8}, 10.5, 0.5, INSINE,
{9}, 9.5, 0.5, OUTSINE,
{10}, 8.5, 0.5, INSINE,
{11.5}, 10, 0.5, STATIC,
{11.5}, 10, 2.5, {2, 270, LINEAR},
{12.25}, 10, 2.5, {2, 180, STATIC},
{12.25}, 8, 2.5, OUTSINE,
{13}, 8, 9
}
Wish {
Special = true,
{11.5}, 8, 2.5, STATIC,
{12.25}, 8, 2.5
} ; Hint{0}
Wish { -- B3
{7}, 8, 0.5, STATIC,
{11.25}, 8, 0.5
}
Child {
{10.5}, {11.25}
}
Duo({7}, 8,4, 0,90,180,270)
Duo({11.5}, 8,5.5, 45,135,225,315)
DUO_RADIUS = 2
Duo({7.75}, 5,4, 60,240)
Duo({8}, 11,4, 60,240)
Duo(-4, 7,4, 60,240)
Duo(-8, 9,4, 60,240)
Duo(-14, 5,4, 60,240)
Duo({9,-4}, 11,4, 60,240)
Duo(-8, 9,4, 60,240)
Duo(-12, 7,4, 60,240)
Duo({10}, 10,4, 60,240)
Duo(-12, 6,4, 60,240)
-- Since {12.75}
--
Rail(4,
{25}, {35.25}, {35.5}
)
Rail(5,
{12.75}, {13.25}, {14.25}, {17.5},
{20.25}, {25.75}, {28.75},
{31.25}, {31.75}, {35.875}
)
Rail(6,
{14.875}, {16.5}, {18.25},
{21.25}, {23.25}, {24}, {24.75}, {25.25}, {27.25}, {28},
{30.25}, {33.75}, {34.75}, {35.375}, {36.25}
)
Rail(6.5,
{22.625}, {31}
)
Rail(7,
{12.875}, {13.125}, {13.75}, {17}, {19.75},
{20.5}, {25.75}, {27.5},
{31.75}, {33}, {34}, {35}
)
Rail(7.875,
{27.75}
)
Rail(8,
{14.5}, {15.5}, {16.25}, {17.875}, {18.125}, {18.75}, {19.25},
{21.5}, {23}, {24.875}, -4, {26.875}, {27.25}, {28.5}, {29}, {29.875},
{30.125}, {30.75}, -2, -6, {31.5}, {32}, {33.875}, {34.5},
{35.25}, {35.5}, {35.875}, -4
)
Rail(8.125,
{27.75}
)
Rail(8.875,
{32.25}
)
Rail(9,
{13}, {13.5}, {15.25}, {15.75}, {16.75}, {18}, {19.5},
{25.5}, {30}, {30.375}, {32.5}, -4, {33.625}, {36}
)
Rail(9.125,
{32.25}
)
Rail(9.5,
{22.75}, {31}
)
Rail(10,
{14}, {15.875}, {18.875}, -4,
{20}, {20.875}, {21.75}, {25}, {27.125}, {27.875}, {28.25},
{34}, {36.25}
)
Rail(10.5,
{15.125}
)
Rail(11,
{13.375}, {16}, {17.25}, {19.375},
{25.375}, {26}, {28.75},
{30.25}, {31.375}, {32.5}, {33.375}
)
Rail(12,
{19}, {22}, {28}
)
DUO_RADIUS = 1.75
Duo({22.375}, 12,5, 0,180)
Duo({23.5}, 4,5, 0,180)
Duo({24.25}, 8,5, 90,225,315)
Duo({26.25}, 6,5, 120,300)
Duo({26.5}, 10,5, 120,300)
Duo({29.25}, 10,5, 60,240)
Duo({29.5}, 6,5, 60,240)
Duo({33.25}, 5,3.5, 30,210)
Duo({34.75}, 11,3.5, 150,330)
-- Since {37}
--
Rail(4,
{37.5}, {39.375},
{40.375}, {43.375}, {45.25}, {48.125},
{50.5}, {51.25}, {56.75}, {59.25},
{60.75}
) ; Child{ InitLoop = 17/64, {60.75} }
Rail(4.5,
{44.75}, {59,-15}
)
Rail(5,
{37}, {38},
{40}, {43}, {45.625}, {46.25}, {49.5},
{52.375}, -2, -4, -11, -13, {54.5}, {55}, {58.875}
)
Rail(5.5,
{40.625}, {43.625}, {48},
{56}, -1, -7,
{60,-1}
)
Rail(5.875,
{45.75}, {57.75}
)
Rail(6,
{39.25}, {39.75},
{40.25}, {42.25}, {43.25}, {44.5}, {45.125}, {47.5}, {49.375}, {49.625},
{50.125}, {50.625}, {51.125}, {51.625}, {53,-7}, {54.25},
{56.875}, {57.875}, {58}, {58.5}, {59}, {60.875}
) ; Child{ InitLoop = 17/64, {60.875} }
Rail(6.125,
{45.75}, {57.75}
)
Rail(6.5,
{56,-5}, {60,-3}
)
Rail(6.875,
{59.5}
)
Rail(7,
{38.5}, {39.625},
{41}, {41.75}, {42.125}, {42.75}, {44.25}, {44.875}, 1,
{46.25}, {47}, {47.875}, {49},
{50.25}, 1/12, {51,-15}, {52,-13}, -15, {53,-5}, {54},
{55}, {55.25}, {58.25}, {58.625}, {59.125}
)
Rail(7.125,
{59.5}
)
Rail(7.5,
{56,-3}
)
Rail(7.875,
{50.75}
)
RAIL_INITLOOP = 15/64
Rail(8, {39.5}) ; Child{ InitLoop = 17/64, 0 }
Rail(8, {46}) ; Child{ InitLoop = 17/64, 0 }
RAIL_INITLOOP = 0.25
Rail(8,
{40}, {41.25}, {41.5}, {42.625},
{45.25}, {46.5}, {47.25}, {47,-11}, {48,-1}
) ; Child{ InitLoop = 17/64, {47.25} }
Rail(8,
{49.25}, {49.75},
{51}, {51.5}, {52,-1}, -3, {52.25,-3}, -5, {53.625}, {53.875}, {54.25},
{55.375}, {56.75}, {57}, {57,-7}, -9, -13, -15
)
Rail(8.125,
{50.75}
)
Rail(8.5,
{60}
)
Rail(8.875,
{44.25}, {52.75}, {53.25}
)
Rail(9,
{38},
{41}, 0.75, 1.125, 1.75, {45.125}, -4, {46.625}, {47.125}, {47.875},
{50, 7/24}, 9/24, {51.875}, {52.875}, {54.375},
{55.25}, {55.75}, {56.375}, {58.125}, -8, {59.125}, -5
)
Rail(9.125,
{44.25}, {52.75}, {53.25}
)
Rail(9.5,
{38.5}, {60.125}
)
Rail(9.875,
{56.25}
)
Rail(10,
{37.375}, {38.875}, -6, {39.625}, -4,
{40.75}, {41.875}, {43.5}, {44.375}, {45,-13}, {46.75}, {47.5}
) ; Child{ InitLoop = 15/64, {46.75} }
Rail(10,
{49.125}, -8, -16, -24, -32, -40,
{53.375}, -8, {55.625}, {56.625}, {57.375}, -2, -4, {58.25}, {59.625},
{60,-15}
) ; Child{ InitLoop = 15/64, {60,-15} }
Rail(10.125,
{56.25}
)
Rail(10.375,
{60.25}
)
Rail(10.5,
{43.25}, {47.75}, {57.125}, {57,-3}
)
Rail(10.625,
{60.25}
)
Rail(10.875,
{52.25}
)
Rail(11,
{37},
{40.625}, {43}, {44.5}, {45}, {45.5}, {45,-15}, {46.625},
{52}, {52.125}, {53}, {53.125}, {54.125}, {54.625}, {55.75}, {56.125}, {58.375}
)
Rail(11.125,
{52.25}
)
Rail(11.5,
{37.625}, {38.75}, -6, {39.75},
{44.75}, {59.875}
)
Rail(12,
{37.25}, {38.25},
{40.375}, {43.75}, {47.625}, {49}, {49.25}, {49.75},
{50.5}, {51.25}, {56.5}, {59.25},
{60,-13}
) ; Child{ InitLoop = 15/64, {60,-13} }
DUO_RADIUS = 1
Duo({60,-8}, 7.125,4, 135,225)
Duo({60,-9}, 8.875,4, 45,315)
DUO_RADIUS = 1.75
Duo({41.25}, 4.5,4, 135,225)
Duo({41.5}, 11.5,4, 45,315)
DUO_RADIUS = 2
Duo({60,-10}, 7.125,4, 150,210)
Duo({60,-11}, 8.875,4, 30,330)
DUO_RADIUS = 2.5
Duo({53.5}, 11,4, 30, 330)
Duo({53.75}, 5,4, 150, 210)
Duo({57.25}, 6,4, 155, 205)
Duo({58.75}, 10,4, 30, 330)
DUO_RADIUS = 2.75
Duo({44}, 8,2, 25, 155)
Duo({48.25}, 8,4.75, 45,135,225,315)
Duo({48.375}, 8,4.75, 30,150,210,330)
Duo({48.5}, 8,4.75, 15,165,195,345)
Duo({51.75}, 8,2.5, 80, 100)
Duo({54.75}, 8,4, 130, 50)
Duo({59.75}, 8,2, 83, 97)
DUO_RADIUS = 4
Duo({61}, 8,5.75, 170, 10)
-- Since {61}
--
Wish {
{61}, 8, 4, OUTSINE,
{61.75}, 5, 4, STATIC,
{62}, 5, 4
}
Child { Radius = 2.75, InitLoop = 0.125,
{61.75}, -2, -4 }
Child { Radius = 2.75, InitLoop = 0.5,
{61.75}, -2, -4 }
Child { Radius = 2.75, InitLoop = 0.875,
{61.75}, -2, -4 }
Wish {
{61}, 8, 4, OUTSINE,
{61.75}, 11, 4, STATIC,
{62}, 11, 4
}
Child { Radius = 2.75, InitLoop = 0,
{61.75}, -2, -4 }
Child { Radius = 2.75, InitLoop = 0.375,
{61.75}, -2, -4 }
Child { Radius = 2.75, InitLoop = 0.625,
{61.75}, -2, -4 }
Wish {
{61}, 8, 4, INSINE,
{61.625}, 8, 9
}
Wish {
{61}, 8, 4, INSINE,
{61.625}, 8, -1
}
Rail(4,
{62.5},
{75.625}, -2, {76.375}, -2, {79.875}
)
Rail(4.5,
{74.5}, -2
)
Rail(5,
{68.625}, -2, {69}, -2,
{71.75}, {79.125}, {79.75}
)
Rail(6,
{62.75}, {63.125}, {63.75,-1}, {64.25}, {64.875}, {65.375}, {66.25}, {70.75}
) ; Child{ InitLoop = 17/64, 0 }
Rail(6,
{71.75,-1}, {75.625}, -2, {76.375}, -2, {79}
)
Rail(6.5,
{71.625}
)
Rail(7,
{62.625}, {63.5}, {64.5},
{67.375}, {67.75}, -2, {68.5}, -3, {68.875}, -3, {69.25}, -2, {69.875},
{70.25}, {71}, 2/24, -5, -7, {75.25}, -2, {76.75}, -2, {79.75}
)
Rail(7.5,
{74.5}, -2
)
RAIL_INITLOOP = 15/64
Rail(8, {62.5}) ; Child{ InitLoop = 17/64, 0 }
Rail(8, {67}) ; Child{ InitLoop = 17/64, 0 }
RAIL_INITLOOP = 0.25
Rail(8,
{63.125}, -2, {63.625}, {64}, {64.375}, {64.75}, {65.125},
{70}, {70.375}, -4, -8, {79}, {79.5}, {79.875}, -4
)
Rail(8.5,
{76}, -2
)
Rail(8.875,
{63.75}
)
Rail(9,
{63}, {64.125}, {67,-3}, -6, -9, -12, -14, {68,-6}, -8, -14, {69.25}, -2,
{70.125}, {70.5}, {71,1/24}, 3/24, -6,
{75.25}, -2, {76.75}, -2, {77.125}, -2, {79.125}, -4
)
Rail(9.125,
{63.75}
)
Rail(9.5,
{71.5,-3}
)
Rail(10,
{62.75}, {63.25}, {63.875}, {64.625}, {65}, {65.25}, {66.25},
{70.25}, {70.75}, {72,-1}, {74.875}, -2,
{80.125}
)
Rail(11,
{67.125}, -2, {67.5}, -2, {70}
) ; Child{ InitLoop = 15/64, {70} }
Rail(11,
{72}, {77.125}, -2, {79.375}
)
Rail(11.5,
{76}, -2
)
Rail(12,
{63.625}, {74.875}, -2, {79.5}
)
RAIL_Y = 4.25
RAIL_RADIUS = 3.5
RAIL_BEFORE_TONE = 0.75
Rail(5, {77.5}, -2)
Child{ Radius = 3.5, InitLoop = 0.75, 0, -2 }
Rail(7, {77.5}, -2)
Child{ Radius = 3.5, InitLoop = 0.75, 0, -2 }
Rail(9, {77.875}, -2)
Child{ Radius = 3.5, InitLoop = 0.75, 0, -2 }
Rail(11, {77.875}, -2)
Child{ Radius = 3.5, InitLoop = 0.75, 0, -2 }
Rail(4, {78.25}, -2)
Child{ Radius = 3.5, InitLoop = 0.75, 0, -2 }
Rail(6, {78.25}, -2)
Child{ Radius = 3.5, InitLoop = 0.75, 0, -2 }
Rail(10, {78.625}, -2)
Child{ Radius = 3.5, InitLoop = 0.75, 0, -2 }
Rail(12, {78.625}, -2)
Child{ Radius = 3.5, InitLoop = 0.75, 0, -2 }
DUO_RADIUS = 1.5
Duo({79.25}, 7,4, 90,270)
Duo({79.625}, 10,4, 90,270)
Duo({80}, 6,4, 90,270)
Duo({80.25}, 9,2.25, 90,270)
DUO_RADIUS = 2
Duo({64}, 4,4.5, 135,225)
Duo({64.375}, 12,4.5, 45,315)
Duo({64.75}, 4,2.5, 135,225)
Duo({65.125}, 12,2.5, 45,315)
Duo({66.625}, 12,3.25, 30,330)
Duo({66.875}, 4,3.25, 150,210)
Duo({68}, 5,4, 135,225)
Duo({68}, 11,4, 45,315)
Duo({69.5}, 4.25,3.5, 135,225)
Duo({69.5}, 11.75,3.5, 45,315)
Duo({72.25}, 8,4, 70,110,250,290)
DUO_RADIUS = 3
Duo({65.5}, 8,4, 70,110)
Duo({70.5}, 4.5,3.75, 135,225)
Duo({71.25}, 11.5,3.75, 45,315)
DUO_RADIUS = 3.5
Duo({80.5}, 8,5, 0,60,120,180)
DUO_RADIUS = 5.25
Duo({68.125}, 8,2.25, 85,95)
Duo({69.625}, 8,2.25, 83,97)
DUO_RADIUS, DUO_WITHDT = 5, true
Duo({73}, 8,4, 0,180)
DUO_RADIUS = 7
Duo({71.5}, 8,1.125, 88,92)
Wish {
Special = true,
{65.75}, 8, 4, STATIC,
{66.25}, 8, 4
}
Wish {
{65.5}, 8, 4, {3, 270, INSINE},
{65.875}, 8, 4, {1.5, 270, INSINE},
{66.25}, 8, 4, {0, 90}
}
Wish {
{65.5}, 8, 4, {2, -90, OUTSINE},
{65.875}, 8, 4, {0.75, -90, INSINE},
{66.25}, 8, 4, {0, 90}
}
Wish {
{65.5}, 8, 4, {3, 90, INSINE},
{65.875}, 8, 4, {1.5, 90, INSINE},
{66.25}, 8, 4, {0, -90}
}
Wish {
{65.5}, 8, 4, {2, 90, OUTSINE},
{65.875}, 8, 4, {0.75, 90, INSINE},
{66.25}, 8, 4, {0, 270}
} ; Hint{0}
Wish { -- C1
{72.75}, 6.5, 0.5, STATIC,
{73}, 6.5, 3.5, {3, 270, INSINE},
{73.75}, 6.5, 3.5, {2.5, 180}
}
Wish {
{73.25}, 4, 3.5, STATIC,
{73.75}, 4, 3.5
} ; Hint{0}
Wish { -- C2
{72.875}, 8, 0.5, STATIC,
{73}, 8, 0.5, INSINE,
{74}, 8, 4.5
}
Wish {
{73.5}, 8, 4.5, STATIC,
{74}, 8, 4.5
} ; Hint{0}
Wish { -- C3
{73}, 9.5, 5.5, {5, -90, INSINE},
{74.25}, 9.5, 5.5, {2.5, 0}
}
Wish{
{73.75}, 12, 5.5, STATIC,
{74.25}, 12, 5.5
} ; Hint{0}
-- Since {81}
--
Wish {
{80.5}, 8, 0.5, OUTSINE,
{82}, 4, 0.5, INSINE,
{83.5}, 8, 0.5
}
Child {
{81.125}, -4, -8, -12, -16, -20, -24, -28, -32, -36
}
Wish {
{80.5}, 8, 0.5, OUTSINE,
{82}, 12, 0.5, INSINE,
{83.5}, 8, 0.5
}
Child {
{81}, -4, -8, -12, -16, -20, -24, -28, -32, -36
}