implemented hexstrings, implemented MOVE, PUTCOLOR, GETCHAR, GETCOLOR, modified PUTCHAR, several fixes.
This commit is contained in:
24
sound.cpp
24
sound.cpp
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user