implemented hexstrings, implemented MOVE, PUTCOLOR, GETCHAR, GETCOLOR, modified PUTCHAR, several fixes.

This commit is contained in:
2017-02-09 19:03:20 +01:00
parent be539b1591
commit 3f1f9451ca
10 changed files with 219 additions and 298 deletions

View File

@@ -34,26 +34,26 @@ private:
char note = 0;
char param = -1;
switch (song[pos++]) {
case 'b': note += 2;
case 'a': note += 2;
case 'g': note += 2;
case 'f': note += 1;
case 'e': note += 2;
case 'd': note += 2;
case 'c':
case 'B': note += 2;
case 'A': note += 2;
case 'G': note += 2;
case 'F': note += 1;
case 'E': note += 2;
case 'D': note += 2;
case 'C':
param = song[pos];
if (param == '#' || param == '+') { note++; param = song[++pos]; } else if (param == '-') { note--; param = song[++pos]; }
if (param >= 48 && param <= 57) { param -= 48; pos++; } else { param = -1; }
if (song[pos] == '.') { multip = 1.5f; pos++; }
program_pipeline(note, param, multip);
return true;
case 'r':
case 'R':
param = song[pos];
if (param >= 48 && param <= 57) { param -= 48; pos++; } else { param = -1; }
if (song[pos] == '.') { multip = 1.5f; pos++; }
program_pipeline(100, param, multip);
return true;
case 'o':
case 'O':
param = song[pos];
if (param >= 48 && param <= 57) { octave = (param - 48) % 8; pos++; }
break;
@@ -63,17 +63,17 @@ private:
case '<':
octave = (octave - 1) % 8;
break;
case 'l':
case 'L':
param = song[pos];
if (param >= 48 && param <= 57) { default_length = lengths[param - 48]; pos++; }
else if (param == '+') { default_length *= 2; pos++; }
else if (param == '-') { default_length /= 2; pos++; }
break;
case 'v':
case 'V':
param = song[pos];
if (param >= 48 && param <= 57) { volume = (param - 48) << 4; pos++; }
break;
case 't':
case 'T':
param = song[pos];
if (param >= 48 && param <= 57) { tempo = tempos[param - 48] * 10; pos++; }
break;