aboutsummaryrefslogtreecommitdiffstats
path: root/src/drawing.c
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2023-04-23 17:16:39 +0200
committerBad Diode <bd@badd10de.dev>2023-04-23 17:16:39 +0200
commita4092c4a6b1ad1589552c06b29a72d868ef778f1 (patch)
treed08027606a4d490a85798cb09a5d7631366426b9 /src/drawing.c
parentff6e784e7c5ebe223666c6c631305397ad358289 (diff)
downloadstepper-a4092c4a6b1ad1589552c06b29a72d868ef778f1.tar.gz
stepper-a4092c4a6b1ad1589552c06b29a72d868ef778f1.zip
Fix small font rendering and sprite drawing
Diffstat (limited to 'src/drawing.c')
-rw-r--r--src/drawing.c258
1 files changed, 129 insertions, 129 deletions
diff --git a/src/drawing.c b/src/drawing.c
index 4f08e39..b790595 100644
--- a/src/drawing.c
+++ b/src/drawing.c
@@ -157,7 +157,7 @@ void
157draw_bank_buttons() { 157draw_bank_buttons() {
158 size_t x = BANK_START_X; 158 size_t x = BANK_START_X;
159 size_t y = BANK_START_Y; 159 size_t y = BANK_START_Y;
160 // txt_drawf_small("BANK", x - 2, y - 10, 4, COL_FG); 160 txt_drawf_small("BANK", x - 2, y - 10, COL_FG);
161 char bank_names[] = { 161 char bank_names[] = {
162 'A', 'B', 'C', 'D', 162 'A', 'B', 'C', 'D',
163 }; 163 };
@@ -168,7 +168,7 @@ draw_bank_buttons() {
168 } 168 }
169 draw_filled_rect(x, y, x + PAT_W, y + PAT_H, COL_BG); 169 draw_filled_rect(x, y, x + PAT_W, y + PAT_H, COL_BG);
170 draw_rect(x, y, x + PAT_W, y + PAT_H, color); 170 draw_rect(x, y, x + PAT_W, y + PAT_H, color);
171 // txt_drawc(bank_names[i], x + 4, y + 2, 6, color); 171 txt_drawc(bank_names[i], x + 4, y + 2, color);
172 y += PAT_OFFSET_Y; 172 y += PAT_OFFSET_Y;
173 } 173 }
174} 174}
@@ -177,7 +177,7 @@ void
177draw_pattern_buttons() { 177draw_pattern_buttons() {
178 size_t x = PAT_START_X; 178 size_t x = PAT_START_X;
179 size_t y = PAT_START_Y; 179 size_t y = PAT_START_Y;
180 // txt_drawf_small("PAT", x, y - 10, 4, COL_FG); 180 txt_drawf_small("PAT", x, y - 10, COL_FG);
181 char pat_names[] = { 181 char pat_names[] = {
182 'A', 'B', 'C', 'D', 182 'A', 'B', 'C', 'D',
183 'E', 'F', 'G', 'H', 183 'E', 'F', 'G', 'H',
@@ -192,7 +192,7 @@ draw_pattern_buttons() {
192 } 192 }
193 draw_filled_rect(x, y, x + PAT_W, y + PAT_H, COL_BG); 193 draw_filled_rect(x, y, x + PAT_W, y + PAT_H, COL_BG);
194 draw_rect(x, y, x + PAT_W, y + PAT_H, color); 194 draw_rect(x, y, x + PAT_W, y + PAT_H, color);
195 // txt_drawc(pat_names[i], x + 4, y + 2, 6, color); 195 txt_drawc(pat_names[i], x + 4, y + 2, color);
196 y += PAT_OFFSET_Y; 196 y += PAT_OFFSET_Y;
197 } 197 }
198} 198}
@@ -244,14 +244,14 @@ draw_bpm() {
244 draw_filled_rect(x, y, x + R_COL_W, y + BPM_H, COL_BG); 244 draw_filled_rect(x, y, x + R_COL_W, y + BPM_H, COL_BG);
245 draw_rect(x, y, x + R_COL_W, y + BPM_H, COL_FG); 245 draw_rect(x, y, x + R_COL_W, y + BPM_H, COL_FG);
246 draw_line(x + 5, y, x + 19, y, COL_BG); 246 draw_line(x + 5, y, x + 19, y, COL_BG);
247 // txt_drawf_small("BPM", x + 5, y - 4, 4, COL_FG); 247 txt_drawf_small("BPM", x + 5, y - 4, COL_FG);
248 248
249 // Make sure its horizontally centered if only 2 digits 249 // Make sure its horizontally centered if only 2 digits
250 int bpm = patterns[pattern_selection_loc].bpm; 250 int bpm = patterns[pattern_selection_loc].bpm;
251 if (bpm >= 100) { 251 if (bpm >= 100) {
252 txt_drawf("%d", x + 3, y + 7, 6, COL_FG, bpm); 252 txt_drawf("%d", x + 3, y + 7, COL_FG, bpm);
253 } else { 253 } else {
254 txt_drawf("%d", x + 6, y + 7, 6, COL_FG, bpm); 254 txt_drawf("%d", x + 6, y + 7, COL_FG, bpm);
255 } 255 }
256} 256}
257 257
@@ -568,38 +568,38 @@ draw_parameters_wave(void) {
568 568
569 // Wave text. 569 // Wave text.
570 x -= 2; 570 x -= 2;
571 // txt_drawf_small("%02x%02x%02x%02x", x, y + 20, 4, COL_FG, 571 txt_drawf_small("%02x%02x%02x%02x", x, y + 20, COL_FG,
572 // wave_a[0], wave_a[1], wave_a[2], wave_a[3]); 572 wave_a[0], wave_a[1], wave_a[2], wave_a[3]);
573 // txt_drawf_small("%02x%02x%02x%02x", x + 34, y + 20, 4, COL_FG, 573 txt_drawf_small("%02x%02x%02x%02x", x + 34, y + 20, COL_FG,
574 // wave_a[4], wave_a[5], wave_a[6], wave_a[7]); 574 wave_a[4], wave_a[5], wave_a[6], wave_a[7]);
575 // txt_drawf_small("%02x%02x%02x%02x", x, y + 28, 4, COL_FG, 575 txt_drawf_small("%02x%02x%02x%02x", x, y + 28, COL_FG,
576 // wave_a[8], wave_a[9], wave_a[10], wave_a[11]); 576 wave_a[8], wave_a[9], wave_a[10], wave_a[11]);
577 // txt_drawf_small("%02x%02x%02x%02x", x + 34, y + 28, 4, COL_FG, 577 txt_drawf_small("%02x%02x%02x%02x", x + 34, y + 28, COL_FG,
578 // wave_a[12], wave_a[13], wave_a[14], wave_a[15]); 578 wave_a[12], wave_a[13], wave_a[14], wave_a[15]);
579 579
580 x += 70; 580 x += 70;
581 // txt_drawf_small("%02x%02x%02x%02x", x, y + 20, 4, COL_FG, 581 txt_drawf_small("%02x%02x%02x%02x", x, y + 20, COL_FG,
582 // wave_b[0], wave_b[1], wave_b[2], wave_b[3]); 582 wave_b[0], wave_b[1], wave_b[2], wave_b[3]);
583 // txt_drawf_small("%02x%02x%02x%02x", x + 34, y + 20, 4, COL_FG, 583 txt_drawf_small("%02x%02x%02x%02x", x + 34, y + 20, COL_FG,
584 // wave_b[4], wave_b[5], wave_b[6], wave_b[7]); 584 wave_b[4], wave_b[5], wave_b[6], wave_b[7]);
585 // txt_drawf_small("%02x%02x%02x%02x", x, y + 28, 4, COL_FG, 585 txt_drawf_small("%02x%02x%02x%02x", x, y + 28, COL_FG,
586 // wave_b[8], wave_b[9], wave_b[10], wave_b[11]); 586 wave_b[8], wave_b[9], wave_b[10], wave_b[11]);
587 // txt_drawf_small("%02x%02x%02x%02x", x + 34, y + 28, 4, COL_FG, 587 txt_drawf_small("%02x%02x%02x%02x", x + 34, y + 28, COL_FG,
588 // wave_b[12], wave_b[13], wave_b[14], wave_b[15]); 588 wave_b[12], wave_b[13], wave_b[14], wave_b[15]);
589 } 589 }
590 590
591 // Draw default wave buttons. 591 // Draw default wave buttons.
592 { 592 {
593 // Tile *wave_tiles = ASSETS_DEFAULT_WAVES; 593 u32 *tile = default_wave_buttons;
594 size_t x = PARAMS_START_X; 594 size_t x = PARAMS_START_X;
595 size_t y = PARAMS_START_Y + PARAMS_H - 12; 595 size_t y = PARAMS_START_Y + PARAMS_H - 12;
596 for (size_t i = 0, k = 0; i < 4 * 2; i += 2, k++) { 596 for (size_t i = 0, k = 0; i < 4 * 2; i += 2, k++) {
597 // draw_tile(x + 17 * k, y, wave_tiles + i, COL_FG, true); 597 draw_icn(x + 17 * k , y, &tile[i * 2 + 0], COL_FG, 1, 0);
598 // draw_tile(x + 17 * k + 8, y, wave_tiles + i + 1, COL_FG, true); 598 draw_icn(x + 17 * k + 8, y, &tile[i * 2 + 2], COL_FG, 1, 0);
599 } 599 }
600 for (size_t i = 0, k = 0; i < 4 * 2; i += 2, k++) { 600 for (size_t i = 0, k = 0; i < 4 * 2; i += 2, k++) {
601 // draw_tile(x + 17 * k + 70, y, wave_tiles + i, COL_FG, true); 601 draw_icn(x + 70 + 17 * k , y, &tile[i * 2 + 0], COL_FG, 1, 0);
602 // draw_tile(x + 17 * k + 8 + 70, y, wave_tiles + i + 1, COL_FG, true); 602 draw_icn(x + 70 + 17 * k + 8, y, &tile[i * 2 + 2], COL_FG, 1, 0);
603 } 603 }
604 } 604 }
605 605
@@ -612,17 +612,17 @@ draw_parameters_wave(void) {
612 draw_line(x, y + 5, x, y + 16, COL_FG); 612 draw_line(x, y + 5, x, y + 16, COL_FG);
613 draw_line(x + 30, y + 5, x + 30, y + 17, COL_FG); 613 draw_line(x + 30, y + 5, x + 30, y + 17, COL_FG);
614 draw_line(x, y + 17, x + 30, y + 17, COL_FG); 614 draw_line(x, y + 17, x + 30, y + 17, COL_FG);
615 // txt_drawf_small("mode", x + 6, y, 4, COL_FG); 615 txt_drawf_small("mode", x + 6, y, COL_FG);
616 616
617 switch (pat->ch3.params[trig_selection_loc].wave_mode) { 617 switch (pat->ch3.params[trig_selection_loc].wave_mode) {
618 case 0: { 618 case 0: {
619 txt_drawf("A", x + 12, y + 7, 6, COL_FG); 619 txt_drawf("A", x + 12, y + 7, COL_FG);
620 } break; 620 } break;
621 case 1: { 621 case 1: {
622 txt_drawf("B", x + 12, y + 7, 6, COL_FG); 622 txt_drawf("B", x + 12, y + 7, COL_FG);
623 } break; 623 } break;
624 case 2: { 624 case 2: {
625 txt_drawf("A+B", x + 6, y + 7, 6, COL_FG); 625 txt_drawf("A+B", x + 6, y + 7, COL_FG);
626 } break; 626 } break;
627 } 627 }
628 } 628 }
@@ -636,23 +636,23 @@ draw_parameters_wave(void) {
636 draw_line(x, y + 8, x, y + 19, COL_FG); 636 draw_line(x, y + 8, x, y + 19, COL_FG);
637 draw_line(x + 30, y + 8, x + 30, y + 19, COL_FG); 637 draw_line(x + 30, y + 8, x + 30, y + 19, COL_FG);
638 draw_line(x, y + 20, x + 30, y + 20, COL_FG); 638 draw_line(x, y + 20, x + 30, y + 20, COL_FG);
639 // txt_drawf_small("vol", x + 8, y + 3, 4, COL_FG); 639 txt_drawf_small("vol", x + 8, y + 3, COL_FG);
640 640
641 switch (pat->ch3.params[trig_selection_loc].wave_volume) { 641 switch (pat->ch3.params[trig_selection_loc].wave_volume) {
642 case 0: { 642 case 0: {
643 txt_drawf("0", x + 12, y + 10, 6, COL_FG); 643 txt_drawf("0", x + 12, y + 10, COL_FG);
644 } break; 644 } break;
645 case 1: { 645 case 1: {
646 txt_drawf("25", x + 9, y + 10, 6, COL_FG); 646 txt_drawf("25", x + 9, y + 10, COL_FG);
647 } break; 647 } break;
648 case 2: { 648 case 2: {
649 txt_drawf("50", x + 9, y + 10, 6, COL_FG); 649 txt_drawf("50", x + 9, y + 10, COL_FG);
650 } break; 650 } break;
651 case 3: { 651 case 3: {
652 txt_drawf("75", x + 9, y + 10, 6, COL_FG); 652 txt_drawf("75", x + 9, y + 10, COL_FG);
653 } break; 653 } break;
654 case 4: { 654 case 4: {
655 txt_drawf("100", x + 6, y + 10, 6, COL_FG); 655 txt_drawf("100", x + 6, y + 10, COL_FG);
656 } break; 656 } break;
657 } 657 }
658 } 658 }
@@ -731,20 +731,20 @@ draw_parameters_square(ChannelSquareParams *params, bool sweep) {
731 draw_line(x, y + 8, x, y + 19, COL_FG); 731 draw_line(x, y + 8, x, y + 19, COL_FG);
732 draw_line(x + 24, y + 8, x + 24, y + 19, COL_FG); 732 draw_line(x + 24, y + 8, x + 24, y + 19, COL_FG);
733 draw_line(x, y + 20, x + 24, y + 20, COL_FG); 733 draw_line(x, y + 20, x + 24, y + 20, COL_FG);
734 // txt_drawf_small("duty", x + 3, y + 3, 4, COL_FG); 734 txt_drawf_small("duty", x + 3, y + 3, COL_FG);
735 735
736 switch (params->duty_cycle) { 736 switch (params->duty_cycle) {
737 case 0: { 737 case 0: {
738 txt_drawf("12", x + 6, y + 10, 6, COL_FG); 738 txt_drawf("12", x + 6, y + 10, COL_FG);
739 } break; 739 } break;
740 case 1: { 740 case 1: {
741 txt_drawf("25", x + 6, y + 10, 6, COL_FG); 741 txt_drawf("25", x + 6, y + 10, COL_FG);
742 } break; 742 } break;
743 case 2: { 743 case 2: {
744 txt_drawf("50", x + 6, y + 10, 6, COL_FG); 744 txt_drawf("50", x + 6, y + 10, COL_FG);
745 } break; 745 } break;
746 case 3: { 746 case 3: {
747 txt_drawf("75", x + 6, y + 10, 6, COL_FG); 747 txt_drawf("75", x + 6, y + 10, COL_FG);
748 } break; 748 } break;
749 } 749 }
750 } 750 }
@@ -790,56 +790,56 @@ draw_parameters_square(ChannelSquareParams *params, bool sweep) {
790 draw_line(x, y + 8, x, y + 19, COL_FG); 790 draw_line(x, y + 8, x, y + 19, COL_FG);
791 draw_line(x + 24, y + 8, x + 24, y + 19, COL_FG); 791 draw_line(x + 24, y + 8, x + 24, y + 19, COL_FG);
792 draw_line(x, y + 20, x + 24, y + 20, COL_FG); 792 draw_line(x, y + 20, x + 24, y + 20, COL_FG);
793 // txt_drawf_small("vol", x + 5, y + 3, 4, COL_FG); 793 txt_drawf_small("vol", x + 5, y + 3, COL_FG);
794 794
795 switch (params->env_volume) { 795 switch (params->env_volume) {
796 case 0: { 796 case 0: {
797 txt_drawf("0", x + 9, y + 10, 6, COL_FG); 797 txt_drawf("0", x + 9, y + 10, COL_FG);
798 } break; 798 } break;
799 case 1: { 799 case 1: {
800 txt_drawf("6", x + 9, y + 10, 6, COL_FG); 800 txt_drawf("6", x + 9, y + 10, COL_FG);
801 } break; 801 } break;
802 case 2: { 802 case 2: {
803 txt_drawf("13", x + 6, y + 10, 6, COL_FG); 803 txt_drawf("13", x + 6, y + 10, COL_FG);
804 } break; 804 } break;
805 case 3: { 805 case 3: {
806 txt_drawf("20", x + 6, y + 10, 6, COL_FG); 806 txt_drawf("20", x + 6, y + 10, COL_FG);
807 } break; 807 } break;
808 case 4: { 808 case 4: {
809 txt_drawf("26", x + 6, y + 10, 6, COL_FG); 809 txt_drawf("26", x + 6, y + 10, COL_FG);
810 } break; 810 } break;
811 case 5: { 811 case 5: {
812 txt_drawf("33", x + 6, y + 10, 6, COL_FG); 812 txt_drawf("33", x + 6, y + 10, COL_FG);
813 } break; 813 } break;
814 case 6: { 814 case 6: {
815 txt_drawf("40", x + 6, y + 10, 6, COL_FG); 815 txt_drawf("40", x + 6, y + 10, COL_FG);
816 } break; 816 } break;
817 case 7: { 817 case 7: {
818 txt_drawf("46", x + 6, y + 10, 6, COL_FG); 818 txt_drawf("46", x + 6, y + 10, COL_FG);
819 } break; 819 } break;
820 case 8: { 820 case 8: {
821 txt_drawf("53", x + 6, y + 10, 6, COL_FG); 821 txt_drawf("53", x + 6, y + 10, COL_FG);
822 } break; 822 } break;
823 case 9: { 823 case 9: {
824 txt_drawf("60", x + 6, y + 10, 6, COL_FG); 824 txt_drawf("60", x + 6, y + 10, COL_FG);
825 } break; 825 } break;
826 case 10: { 826 case 10: {
827 txt_drawf("66", x + 6, y + 10, 6, COL_FG); 827 txt_drawf("66", x + 6, y + 10, COL_FG);
828 } break; 828 } break;
829 case 11: { 829 case 11: {
830 txt_drawf("73", x + 6, y + 10, 6, COL_FG); 830 txt_drawf("73", x + 6, y + 10, COL_FG);
831 } break; 831 } break;
832 case 12: { 832 case 12: {
833 txt_drawf("80", x + 6, y + 10, 6, COL_FG); 833 txt_drawf("80", x + 6, y + 10, COL_FG);
834 } break; 834 } break;
835 case 13: { 835 case 13: {
836 txt_drawf("86", x + 6, y + 10, 6, COL_FG); 836 txt_drawf("86", x + 6, y + 10, COL_FG);
837 } break; 837 } break;
838 case 14: { 838 case 14: {
839 txt_drawf("93", x + 6, y + 10, 6, COL_FG); 839 txt_drawf("93", x + 6, y + 10, COL_FG);
840 } break; 840 } break;
841 case 15: { 841 case 15: {
842 txt_drawf("100", x + 3, y + 10, 6, COL_FG); 842 txt_drawf("100", x + 3, y + 10, COL_FG);
843 } break; 843 } break;
844 } 844 }
845 } 845 }
@@ -853,16 +853,16 @@ draw_parameters_square(ChannelSquareParams *params, bool sweep) {
853 draw_line(x, y + 8, x, y + 19, COL_FG); 853 draw_line(x, y + 8, x, y + 19, COL_FG);
854 draw_line(x + 24, y + 8, x + 24, y + 19, COL_FG); 854 draw_line(x + 24, y + 8, x + 24, y + 19, COL_FG);
855 draw_line(x, y + 20, x + 24, y + 20, COL_FG); 855 draw_line(x, y + 20, x + 24, y + 20, COL_FG);
856 // txt_drawf_small("dir", x + 5, y + 3, 4, COL_FG); 856 txt_drawf_small("dir", x + 5, y + 3, COL_FG);
857 857
858 char arr_up[2] = { 0x19, 0 }; 858 char arr_up[2] = { 0x19, 0 };
859 char arr_down[2] = { 0x18, 0 }; 859 char arr_down[2] = { 0x18, 0 };
860 switch (params->env_direction) { 860 switch (params->env_direction) {
861 case 0: { 861 case 0: {
862 txt_drawf(arr_up, x + 9, y + 11, 6, COL_FG); 862 txt_drawf(arr_up, x + 9, y + 11, COL_FG);
863 } break; 863 } break;
864 case 1: { 864 case 1: {
865 txt_drawf(arr_down, x + 9, y + 11, 6, COL_FG); 865 txt_drawf(arr_down, x + 9, y + 11, COL_FG);
866 } break; 866 } break;
867 } 867 }
868 } 868 }
@@ -876,32 +876,32 @@ draw_parameters_square(ChannelSquareParams *params, bool sweep) {
876 draw_line(x, y + 8, x, y + 19, COL_FG); 876 draw_line(x, y + 8, x, y + 19, COL_FG);
877 draw_line(x + 24, y + 8, x + 24, y + 19, COL_FG); 877 draw_line(x + 24, y + 8, x + 24, y + 19, COL_FG);
878 draw_line(x, y + 20, x + 24, y + 20, COL_FG); 878 draw_line(x, y + 20, x + 24, y + 20, COL_FG);
879 // txt_drawf_small("time", x + 3, y + 3, 4, COL_FG); 879 txt_drawf_small("time", x + 3, y + 3, COL_FG);
880 880
881 switch (params->env_time) { 881 switch (params->env_time) {
882 case 0: { 882 case 0: {
883 txt_drawf("0", x + 9, y + 10, 6, COL_FG); 883 txt_drawf("0", x + 9, y + 10, COL_FG);
884 } break; 884 } break;
885 case 1: { 885 case 1: {
886 txt_drawf("14", x + 6, y + 10, 6, COL_FG); 886 txt_drawf("14", x + 6, y + 10, COL_FG);
887 } break; 887 } break;
888 case 2: { 888 case 2: {
889 txt_drawf("28", x + 6, y + 10, 6, COL_FG); 889 txt_drawf("28", x + 6, y + 10, COL_FG);
890 } break; 890 } break;
891 case 3: { 891 case 3: {
892 txt_drawf("42", x + 6, y + 10, 6, COL_FG); 892 txt_drawf("42", x + 6, y + 10, COL_FG);
893 } break; 893 } break;
894 case 4: { 894 case 4: {
895 txt_drawf("57", x + 6, y + 10, 6, COL_FG); 895 txt_drawf("57", x + 6, y + 10, COL_FG);
896 } break; 896 } break;
897 case 5: { 897 case 5: {
898 txt_drawf("71", x + 6, y + 10, 6, COL_FG); 898 txt_drawf("71", x + 6, y + 10, COL_FG);
899 } break; 899 } break;
900 case 6: { 900 case 6: {
901 txt_drawf("85", x + 6, y + 10, 6, COL_FG); 901 txt_drawf("85", x + 6, y + 10, COL_FG);
902 } break; 902 } break;
903 case 7: { 903 case 7: {
904 txt_drawf("100", x + 3, y + 10, 6, COL_FG); 904 txt_drawf("100", x + 3, y + 10, COL_FG);
905 } break; 905 } break;
906 } 906 }
907 } 907 }
@@ -916,32 +916,32 @@ draw_parameters_square(ChannelSquareParams *params, bool sweep) {
916 draw_line(x, y + 8, x, y + 19, COL_FG); 916 draw_line(x, y + 8, x, y + 19, COL_FG);
917 draw_line(x + 24, y + 8, x + 24, y + 19, COL_FG); 917 draw_line(x + 24, y + 8, x + 24, y + 19, COL_FG);
918 draw_line(x, y + 20, x + 24, y + 20, COL_FG); 918 draw_line(x, y + 20, x + 24, y + 20, COL_FG);
919 // txt_drawf_small("num", x + 5, y + 3, 4, COL_FG); 919 txt_drawf_small("num", x + 5, y + 3, COL_FG);
920 920
921 switch (params->sweep_number) { 921 switch (params->sweep_number) {
922 case 0: { 922 case 0: {
923 txt_drawf("0", x + 9, y + 10, 6, COL_FG); 923 txt_drawf("0", x + 9, y + 10, COL_FG);
924 } break; 924 } break;
925 case 1: { 925 case 1: {
926 txt_drawf("1", x + 9, y + 10, 6, COL_FG); 926 txt_drawf("1", x + 9, y + 10, COL_FG);
927 } break; 927 } break;
928 case 2: { 928 case 2: {
929 txt_drawf("2", x + 9, y + 10, 6, COL_FG); 929 txt_drawf("2", x + 9, y + 10, COL_FG);
930 } break; 930 } break;
931 case 3: { 931 case 3: {
932 txt_drawf("3", x + 9, y + 10, 6, COL_FG); 932 txt_drawf("3", x + 9, y + 10, COL_FG);
933 } break; 933 } break;
934 case 4: { 934 case 4: {
935 txt_drawf("4", x + 9, y + 10, 6, COL_FG); 935 txt_drawf("4", x + 9, y + 10, COL_FG);
936 } break; 936 } break;
937 case 5: { 937 case 5: {
938 txt_drawf("5", x + 9, y + 10, 6, COL_FG); 938 txt_drawf("5", x + 9, y + 10, COL_FG);
939 } break; 939 } break;
940 case 6: { 940 case 6: {
941 txt_drawf("6", x + 9, y + 10, 6, COL_FG); 941 txt_drawf("6", x + 9, y + 10, COL_FG);
942 } break; 942 } break;
943 case 7: { 943 case 7: {
944 txt_drawf("7", x + 9, y + 10, 6, COL_FG); 944 txt_drawf("7", x + 9, y + 10, COL_FG);
945 } break; 945 } break;
946 } 946 }
947 } 947 }
@@ -955,32 +955,32 @@ draw_parameters_square(ChannelSquareParams *params, bool sweep) {
955 draw_line(x, y + 8, x, y + 19, COL_FG); 955 draw_line(x, y + 8, x, y + 19, COL_FG);
956 draw_line(x + 24, y + 8, x + 24, y + 19, COL_FG); 956 draw_line(x + 24, y + 8, x + 24, y + 19, COL_FG);
957 draw_line(x, y + 20, x + 24, y + 20, COL_FG); 957 draw_line(x, y + 20, x + 24, y + 20, COL_FG);
958 // txt_drawf_small("time", x + 3, y + 3, 4, COL_FG); 958 txt_drawf_small("time", x + 3, y + 3, COL_FG);
959 959
960 switch (params->sweep_time) { 960 switch (params->sweep_time) {
961 case 0: { 961 case 0: {
962 txt_drawf("0", x + 9, y + 10, 6, COL_FG); 962 txt_drawf("0", x + 9, y + 10, COL_FG);
963 } break; 963 } break;
964 case 1: { 964 case 1: {
965 txt_drawf("1", x + 9, y + 10, 6, COL_FG); 965 txt_drawf("1", x + 9, y + 10, COL_FG);
966 } break; 966 } break;
967 case 2: { 967 case 2: {
968 txt_drawf("2", x + 9, y + 10, 6, COL_FG); 968 txt_drawf("2", x + 9, y + 10, COL_FG);
969 } break; 969 } break;
970 case 3: { 970 case 3: {
971 txt_drawf("3", x + 9, y + 10, 6, COL_FG); 971 txt_drawf("3", x + 9, y + 10, COL_FG);
972 } break; 972 } break;
973 case 4: { 973 case 4: {
974 txt_drawf("4", x + 9, y + 10, 6, COL_FG); 974 txt_drawf("4", x + 9, y + 10, COL_FG);
975 } break; 975 } break;
976 case 5: { 976 case 5: {
977 txt_drawf("5", x + 9, y + 10, 6, COL_FG); 977 txt_drawf("5", x + 9, y + 10, COL_FG);
978 } break; 978 } break;
979 case 6: { 979 case 6: {
980 txt_drawf("6", x + 9, y + 10, 6, COL_FG); 980 txt_drawf("6", x + 9, y + 10, COL_FG);
981 } break; 981 } break;
982 case 7: { 982 case 7: {
983 txt_drawf("7", x + 9, y + 10, 6, COL_FG); 983 txt_drawf("7", x + 9, y + 10, COL_FG);
984 } break; 984 } break;
985 } 985 }
986 } 986 }
@@ -994,16 +994,16 @@ draw_parameters_square(ChannelSquareParams *params, bool sweep) {
994 draw_line(x, y + 8, x, y + 19, COL_FG); 994 draw_line(x, y + 8, x, y + 19, COL_FG);
995 draw_line(x + 24, y + 8, x + 24, y + 19, COL_FG); 995 draw_line(x + 24, y + 8, x + 24, y + 19, COL_FG);
996 draw_line(x, y + 20, x + 24, y + 20, COL_FG); 996 draw_line(x, y + 20, x + 24, y + 20, COL_FG);
997 // txt_drawf_small("dir", x + 5, y + 3, 4, COL_FG); 997 txt_drawf_small("dir", x + 5, y + 3, COL_FG);
998 998
999 char arr_up[2] = { 0x19, 0 }; 999 char arr_up[2] = { 0x19, 0 };
1000 char arr_down[2] = { 0x18, 0 }; 1000 char arr_down[2] = { 0x18, 0 };
1001 switch (params->sweep_direction) { 1001 switch (params->sweep_direction) {
1002 case 0: { 1002 case 0: {
1003 txt_drawf(arr_up, x + 9, y + 11, 6, COL_FG); 1003 txt_drawf(arr_up, x + 9, y + 11, COL_FG);
1004 } break; 1004 } break;
1005 case 1: { 1005 case 1: {
1006 txt_drawf(arr_down, x + 9, y + 11, 6, COL_FG); 1006 txt_drawf(arr_down, x + 9, y + 11, COL_FG);
1007 } break; 1007 } break;
1008 } 1008 }
1009 } 1009 }
@@ -1012,10 +1012,10 @@ draw_parameters_square(ChannelSquareParams *params, bool sweep) {
1012 { 1012 {
1013 size_t x = PARAMS_START_X + x_offset; 1013 size_t x = PARAMS_START_X + x_offset;
1014 size_t y = PARAMS_START_Y + PARAMS_H - 45; 1014 size_t y = PARAMS_START_Y + PARAMS_H - 45;
1015 // txt_drawf_small("shape", x + 1, y - 12, 4, COL_FG); 1015 txt_drawf_small("shape", x + 1, y - 12, COL_FG);
1016 // txt_drawf_small("envelope", x + 54, y - 12, 4, COL_FG); 1016 txt_drawf_small("envelope", x + 54, y - 12, COL_FG);
1017 if (sweep) { 1017 if (sweep) {
1018 // txt_drawf_small("sweep", x + 133, y - 12, 4, COL_FG); 1018 txt_drawf_small("sweep", x + 133, y - 12, COL_FG);
1019 } 1019 }
1020 } 1020 }
1021} 1021}
@@ -1037,14 +1037,14 @@ draw_parameters_noise(void) {
1037 draw_line(x, y + 8, x, y + 19, COL_FG); 1037 draw_line(x, y + 8, x, y + 19, COL_FG);
1038 draw_line(x + 24, y + 8, x + 24, y + 19, COL_FG); 1038 draw_line(x + 24, y + 8, x + 24, y + 19, COL_FG);
1039 draw_line(x, y + 20, x + 24, y + 20, COL_FG); 1039 draw_line(x, y + 20, x + 24, y + 20, COL_FG);
1040 // txt_drawf_small("mode", x + 3, y + 3, 4, COL_FG); 1040 txt_drawf_small("mode", x + 3, y + 3, COL_FG);
1041 1041
1042 switch (params->bit_mode) { 1042 switch (params->bit_mode) {
1043 case 0: { 1043 case 0: {
1044 txt_drawf("A", x + 9, y + 10, 6, COL_FG); 1044 txt_drawf("A", x + 9, y + 10, COL_FG);
1045 } break; 1045 } break;
1046 case 1: { 1046 case 1: {
1047 txt_drawf("B", x + 9, y + 10, 6, COL_FG); 1047 txt_drawf("B", x + 9, y + 10, COL_FG);
1048 } break; 1048 } break;
1049 } 1049 }
1050 } 1050 }
@@ -1090,56 +1090,56 @@ draw_parameters_noise(void) {
1090 draw_line(x, y + 8, x, y + 19, COL_FG); 1090 draw_line(x, y + 8, x, y + 19, COL_FG);
1091 draw_line(x + 24, y + 8, x + 24, y + 19, COL_FG); 1091 draw_line(x + 24, y + 8, x + 24, y + 19, COL_FG);
1092 draw_line(x, y + 20, x + 24, y + 20, COL_FG); 1092 draw_line(x, y + 20, x + 24, y + 20, COL_FG);
1093 // txt_drawf_small("vol", x + 5, y + 3, 4, COL_FG); 1093 txt_drawf_small("vol", x + 5, y + 3, COL_FG);
1094 1094
1095 switch (params->env_volume) { 1095 switch (params->env_volume) {
1096 case 0: { 1096 case 0: {
1097 txt_drawf("0", x + 9, y + 10, 6, COL_FG); 1097 txt_drawf("0", x + 9, y + 10, COL_FG);
1098 } break; 1098 } break;
1099 case 1: { 1099 case 1: {
1100 txt_drawf("6", x + 9, y + 10, 6, COL_FG); 1100 txt_drawf("6", x + 9, y + 10, COL_FG);
1101 } break; 1101 } break;
1102 case 2: { 1102 case 2: {
1103 txt_drawf("13", x + 6, y + 10, 6, COL_FG); 1103 txt_drawf("13", x + 6, y + 10, COL_FG);
1104 } break; 1104 } break;
1105 case 3: { 1105 case 3: {
1106 txt_drawf("20", x + 6, y + 10, 6, COL_FG); 1106 txt_drawf("20", x + 6, y + 10, COL_FG);
1107 } break; 1107 } break;
1108 case 4: { 1108 case 4: {
1109 txt_drawf("26", x + 6, y + 10, 6, COL_FG); 1109 txt_drawf("26", x + 6, y + 10, COL_FG);
1110 } break; 1110 } break;
1111 case 5: { 1111 case 5: {
1112 txt_drawf("33", x + 6, y + 10, 6, COL_FG); 1112 txt_drawf("33", x + 6, y + 10, COL_FG);
1113 } break; 1113 } break;
1114 case 6: { 1114 case 6: {
1115 txt_drawf("40", x + 6, y + 10, 6, COL_FG); 1115 txt_drawf("40", x + 6, y + 10, COL_FG);
1116 } break; 1116 } break;
1117 case 7: { 1117 case 7: {
1118 txt_drawf("46", x + 6, y + 10, 6, COL_FG); 1118 txt_drawf("46", x + 6, y + 10, COL_FG);
1119 } break; 1119 } break;
1120 case 8: { 1120 case 8: {
1121 txt_drawf("53", x + 6, y + 10, 6, COL_FG); 1121 txt_drawf("53", x + 6, y + 10, COL_FG);
1122 } break; 1122 } break;
1123 case 9: { 1123 case 9: {
1124 txt_drawf("60", x + 6, y + 10, 6, COL_FG); 1124 txt_drawf("60", x + 6, y + 10, COL_FG);
1125 } break; 1125 } break;
1126 case 10: { 1126 case 10: {
1127 txt_drawf("66", x + 6, y + 10, 6, COL_FG); 1127 txt_drawf("66", x + 6, y + 10, COL_FG);
1128 } break; 1128 } break;
1129 case 11: { 1129 case 11: {
1130 txt_drawf("73", x + 6, y + 10, 6, COL_FG); 1130 txt_drawf("73", x + 6, y + 10, COL_FG);
1131 } break; 1131 } break;
1132 case 12: { 1132 case 12: {
1133 txt_drawf("80", x + 6, y + 10, 6, COL_FG); 1133 txt_drawf("80", x + 6, y + 10, COL_FG);
1134 } break; 1134 } break;
1135 case 13: { 1135 case 13: {
1136 txt_drawf("86", x + 6, y + 10, 6, COL_FG); 1136 txt_drawf("86", x + 6, y + 10, COL_FG);
1137 } break; 1137 } break;
1138 case 14: { 1138 case 14: {
1139 txt_drawf("93", x + 6, y + 10, 6, COL_FG); 1139 txt_drawf("93", x + 6, y + 10, COL_FG);
1140 } break; 1140 } break;
1141 case 15: { 1141 case 15: {
1142 txt_drawf("100", x + 3, y + 10, 6, COL_FG); 1142 txt_drawf("100", x + 3, y + 10, COL_FG);
1143 } break; 1143 } break;
1144 } 1144 }
1145 } 1145 }
@@ -1153,16 +1153,16 @@ draw_parameters_noise(void) {
1153 draw_line(x, y + 8, x, y + 19, COL_FG); 1153 draw_line(x, y + 8, x, y + 19, COL_FG);
1154 draw_line(x + 24, y + 8, x + 24, y + 19, COL_FG); 1154 draw_line(x + 24, y + 8, x + 24, y + 19, COL_FG);
1155 draw_line(x, y + 20, x + 24, y + 20, COL_FG); 1155 draw_line(x, y + 20, x + 24, y + 20, COL_FG);
1156 // txt_drawf_small("dir", x + 5, y + 3, 4, COL_FG); 1156 txt_drawf_small("dir", x + 5, y + 3, COL_FG);
1157 1157
1158 char arr_up[2] = { 0x19, 0 }; 1158 char arr_up[2] = { 0x19, 0 };
1159 char arr_down[2] = { 0x18, 0 }; 1159 char arr_down[2] = { 0x18, 0 };
1160 switch (params->env_direction) { 1160 switch (params->env_direction) {
1161 case 0: { 1161 case 0: {
1162 txt_drawf(arr_up, x + 9, y + 11, 6, COL_FG); 1162 txt_drawf(arr_up, x + 9, y + 11, COL_FG);
1163 } break; 1163 } break;
1164 case 1: { 1164 case 1: {
1165 txt_drawf(arr_down, x + 9, y + 11, 6, COL_FG); 1165 txt_drawf(arr_down, x + 9, y + 11, COL_FG);
1166 } break; 1166 } break;
1167 } 1167 }
1168 } 1168 }
@@ -1176,32 +1176,32 @@ draw_parameters_noise(void) {
1176 draw_line(x, y + 8, x, y + 19, COL_FG); 1176 draw_line(x, y + 8, x, y + 19, COL_FG);
1177 draw_line(x + 24, y + 8, x + 24, y + 19, COL_FG); 1177 draw_line(x + 24, y + 8, x + 24, y + 19, COL_FG);
1178 draw_line(x, y + 20, x + 24, y + 20, COL_FG); 1178 draw_line(x, y + 20, x + 24, y + 20, COL_FG);
1179 // txt_drawf_small("time", x + 3, y + 3, 4, COL_FG); 1179 txt_drawf_small("time", x + 3, y + 3, COL_FG);
1180 1180
1181 switch (params->env_time) { 1181 switch (params->env_time) {
1182 case 0: { 1182 case 0: {
1183 txt_drawf("0", x + 9, y + 10, 6, COL_FG); 1183 txt_drawf("0", x + 9, y + 10, COL_FG);
1184 } break; 1184 } break;
1185 case 1: { 1185 case 1: {
1186 txt_drawf("14", x + 6, y + 10, 6, COL_FG); 1186 txt_drawf("14", x + 6, y + 10, COL_FG);
1187 } break; 1187 } break;
1188 case 2: { 1188 case 2: {
1189 txt_drawf("28", x + 6, y + 10, 6, COL_FG); 1189 txt_drawf("28", x + 6, y + 10, COL_FG);
1190 } break; 1190 } break;
1191 case 3: { 1191 case 3: {
1192 txt_drawf("42", x + 6, y + 10, 6, COL_FG); 1192 txt_drawf("42", x + 6, y + 10, COL_FG);
1193 } break; 1193 } break;
1194 case 4: { 1194 case 4: {
1195 txt_drawf("57", x + 6, y + 10, 6, COL_FG); 1195 txt_drawf("57", x + 6, y + 10, COL_FG);
1196 } break; 1196 } break;
1197 case 5: { 1197 case 5: {
1198 txt_drawf("71", x + 6, y + 10, 6, COL_FG); 1198 txt_drawf("71", x + 6, y + 10, COL_FG);
1199 } break; 1199 } break;
1200 case 6: { 1200 case 6: {
1201 txt_drawf("85", x + 6, y + 10, 6, COL_FG); 1201 txt_drawf("85", x + 6, y + 10, COL_FG);
1202 } break; 1202 } break;
1203 case 7: { 1203 case 7: {
1204 txt_drawf("100", x + 3, y + 10, 6, COL_FG); 1204 txt_drawf("100", x + 3, y + 10, COL_FG);
1205 } break; 1205 } break;
1206 } 1206 }
1207 } 1207 }
@@ -1211,7 +1211,7 @@ draw_parameters_noise(void) {
1211 { 1211 {
1212 size_t x = PARAMS_START_X + x_offset; 1212 size_t x = PARAMS_START_X + x_offset;
1213 size_t y = PARAMS_START_Y + PARAMS_H - 45; 1213 size_t y = PARAMS_START_Y + PARAMS_H - 45;
1214 // txt_drawf_small("envelope", x + 54, y - 12, 4, COL_FG); 1214 txt_drawf_small("envelope", x + 54, y - 12, COL_FG);
1215 } 1215 }
1216} 1216}
1217 1217