Insert here the data!
rPG 3lap is automatically marked as NOSC. Thank me later, Cederic.
If a single track is submitted multiple times, this updater will filter out only the fastest time.
I have yet to implement checks with the player's PBs and I have yet to implement checks between categories (such as flap being faster than 3lap or unrestricted being faster than nosc).
Colons are no longer necessary. this parser splits with spaces and new lines, much like programming languages do during tokenization.
the parser will look for a line that starts with name
.
the parser will look for a line that starts with date
, to determine the date of the times and more importantly if there's a new submission to deal with. dates are read like this: it first looks for four numbers in a row, and reads that as the year. Then it looks at any other string containing numbers, and reads that as the day. Lastly, it looks at the remaining string, and reads that as the month. If there are more than three parts to a date, it will fail with a warning and skip the submission.
Months are read like track names:
ja
f
mar
ap
may
jun
jul
au
s
o
n
d
There are multiple ways to indicate for flap and nosc. You can set all times as flap by writing any of the accepted names before the actual time submissions.
All the parser looks for to declare times as nosc is the letter n
within the line of a time or on the line before times. E.g. lc n 1:10.315
The parser looks for either the letter f
or l
within the line of a time or on the line before times. E.g. gv l 2.018
Lastly, only in the case of single times, if you have a slash or backslash ( /
or \
, surrounded with spaces) within the line for your time, anything to the right of it will be counted as flap, and anything on the left will be counted as 3lap. E.g. lc 69999 https://youtu.be/link /
counts as a 3lap submission lc / 69999 https://youtu.be/link
counts as a flap submission, lc 69999 https://youtu.be/link / 69999 https://youtu.be/link
are two submissions in one line
The parser transforms times written in any form into Milliseconds. The process is this:
It first looks for a colon or a quotation mark, if found, every number to the left of it is multiplied by 60000. This converts minutes into milliseconds
It then looks for a period or a single quotation mark, every number to the left of it is multiplied by 1000. This converts seconds into milliseconds.
Any number that remains is added as milliseconds.
This means that all of the following are valid notations for the same time:
01:09.091
69.091
69091
00:69.091
00:60.9091
01"09'091
69'091
00"69'091
00"60'9091
Some of these are obviously unreadable and shouldn't be used, but valid nonetheless using the rules stated.
You could omit either the colon or the period, but there can be at most one of each.
Track names are read by first turning the name to lowercase
The parser then looks at the first letters of a track name and detects the following:
l
mm
mg
t
mc
cm
dk
w
dc
k
mt
g
dd
mh
b
rr
rpb
ry
rg
rmr
rsl
rsg
rds
rw
rdh
rbc3
rdkj
rmc
(in code, this is checked after rmc3)rmc3
rpb
rdkm
rbc