|
631 | 631 | //}#pragma endregion Files |
632 | 632 |
|
633 | 633 | //{#pragma region Animations |
634 | | - void animate(int dir) { |
| 634 | + void animate(int dir) { |
635 | 635 | int y = POS.y + 46; |
636 | 636 | for (int i = 0; i < 4; i++) draw_mask(0, y+(i*40)-6, 320, 40); |
637 | 637 | int sx[4][13] = { |
638 | 638 | {8,8,4,4,4,3,3,3,3,2,2,2,2}, // 48 |
639 | 639 | {30,26,20,20,18,18,16,16,12,12,8,8,4} // 208 30+26+20+20+18+18+16+16+12+12+8+8+4 |
640 | | - }; |
| 640 | + }; |
641 | 641 | for(int i = 0; i < 13; i++) { |
642 | 642 | if(dir == -1) { |
643 | 643 | // LEFT |
644 | 644 | for(int e = 0; e < COUNT; e++) { |
645 | | - SYSTEMS[e].x += STEP == (e-1) ? sx[1][i] : sx[0][i]; |
| 645 | + SYSTEMS[e].x += STEP != COUNT - 1 ? |
| 646 | + STEP == (e-1) ? sx[1][i] : sx[0][i] : |
| 647 | + e == 0 ? sx[1][i] : sx[0][i] ; |
646 | 648 | } |
647 | 649 | } else { |
648 | 650 | // RIGHT |
|
651 | 653 | } |
652 | 654 | } |
653 | 655 | draw_mask(0,32,320,32); |
| 656 | + |
654 | 657 | draw_systems(); |
| 658 | + usleep(20000); |
655 | 659 | } |
656 | 660 | draw_mask(0,0,SCREEN.w - 32,32); |
657 | 661 | draw_text(16,16,EMULATORS[STEP], false, true); |
658 | 662 | STEP == 0 ? draw_themes() : get_files(); |
| 663 | + clean_up(); |
659 | 664 | } |
660 | 665 |
|
661 | 666 | void restore_layout() { |
|
686 | 691 | SYSTEMS[n].x = GAP/3+NEXT+(GAP*(delta-1)); |
687 | 692 | } |
688 | 693 | } |
689 | | - |
690 | 694 | draw_systems(); |
691 | 695 | draw_text(16,16,EMULATORS[STEP],false,true); |
692 | | - STEP == 0 ? draw_themes() : get_files(); |
| 696 | + STEP == 0 ? draw_themes() : get_files(); |
| 697 | + clean_up(); |
693 | 698 | } |
| 699 | + |
| 700 | + void clean_up() { |
| 701 | + int inc = 0; |
| 702 | + for(int n = 0; n < COUNT; n++) { |
| 703 | + int delta = (n-STEP); |
| 704 | + if(SYSTEMS[n].x > 464) { |
| 705 | + SYSTEMS[n].x -= 736; |
| 706 | + } |
| 707 | + if(SYSTEMS[n].x <= -272) { |
| 708 | + SYSTEMS[n].x += 736; |
| 709 | + } |
| 710 | + } |
| 711 | + } |
| 712 | + |
694 | 713 | //}#pragma endregion Animations |
695 | 714 |
|
696 | 715 | //{#pragma region Boot Screens |
697 | 716 | void splash() { |
698 | 717 | draw_background(); |
699 | | - sleep(1); |
700 | 718 | int w = 128; |
701 | 719 | int h = 18; |
702 | 720 | int x = (SCREEN.w/2)-(w/2); |
703 | 721 | int y = (SCREEN.h/2)-(h/2); |
704 | 722 | int i = 0; |
705 | 723 | for(int r = 0; r < h; r++) { |
706 | | - i = 0; |
707 | 724 | for(int c = 0; c < w; c++) { |
708 | 725 | buffer[i] = logo[r][c] == 0 ? GUI.bg : GUI.fg; |
709 | 726 | i++; |
710 | | - } |
711 | | - ili9341_write_frame_rectangleLE(x, y+r, w, 1, buffer); |
712 | | - usleep(10000); |
| 727 | + } |
713 | 728 | } |
| 729 | + ili9341_write_frame_rectangleLE(x, y, w, h, buffer); |
714 | 730 |
|
715 | 731 | sleep(2); |
716 | | - |
717 | | - for(int r = 0; r < h; r++) { |
718 | | - i = 0; |
719 | | - for(int c = 0; c < w; c++) { |
720 | | - buffer[i] = GUI.bg; |
721 | | - i++; |
722 | | - } |
723 | | - ili9341_write_frame_rectangleLE(x, y+r, w, 1, buffer); |
724 | | - usleep(10000); |
725 | | - } |
726 | | - sleep(1); |
| 732 | + draw_background(); |
727 | 733 | } |
728 | 734 |
|
729 | 735 | void boot() { |
|
879 | 885 | if(gamepad.values[ODROID_INPUT_LEFT]) { |
880 | 886 | if(!LAUNCHER) { |
881 | 887 | STEP--; |
882 | | - if( STEP < 0 ) { STEP = 0; } else { |
883 | | - ROMS.offset = 0; |
884 | | - ROMS.total = 0; |
885 | | - animate(-1); |
886 | | - } |
| 888 | + if( STEP < 0 ) { |
| 889 | + STEP = COUNT - 1; |
| 890 | + } |
| 891 | + |
| 892 | + ROMS.offset = 0; |
| 893 | + ROMS.total = 0; |
| 894 | + animate(-1); |
887 | 895 | } |
888 | 896 | debounce(ODROID_INPUT_LEFT); |
889 | 897 | } |
|
893 | 901 | if(gamepad.values[ODROID_INPUT_RIGHT]) { |
894 | 902 | if(!LAUNCHER) { |
895 | 903 | STEP++; |
896 | | - if( STEP > COUNT-1 ) { STEP = COUNT-1; } else { |
897 | | - ROMS.offset = 0; |
898 | | - ROMS.total = 0; |
899 | | - animate(1); |
900 | | - } |
| 904 | + if( STEP > COUNT-1 ) { |
| 905 | + STEP = 0; |
| 906 | + } |
| 907 | + ROMS.offset = 0; |
| 908 | + ROMS.total = 0; |
| 909 | + animate(1); |
901 | 910 | } |
902 | 911 | debounce(ODROID_INPUT_RIGHT); |
903 | 912 | } |
|
0 commit comments