Mercurial > hg > dmlib
comparison tools/ppl.c @ 1568:61495ea0767e
Rename some variables to be more meaningful.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sun, 13 May 2018 07:47:29 +0300 |
parents | d1e2f7a22fb8 |
children | 096767827bb8 |
comparison
equal
deleted
inserted
replaced
1567:e81c8c7a348f | 1568:61495ea0767e |
---|---|
722 | 722 |
723 int currTick, prevTick = 0, prevRow = -1; | 723 int currTick, prevTick = 0, prevRow = -1; |
724 while (!engine.exitFlag) | 724 while (!engine.exitFlag) |
725 { | 725 { |
726 currTick = SDL_GetTicks(); | 726 currTick = SDL_GetTicks(); |
727 BOOL force = (currTick - prevTick > 500), | 727 BOOL needUpdate = (currTick - prevTick > 500), |
728 updated = FALSE; | 728 needRender = FALSE; |
729 | 729 |
730 while (SDL_PollEvent(&engine.event)) | 730 while (SDL_PollEvent(&engine.event)) |
731 switch (engine.event.type) | 731 switch (engine.event.type) |
732 { | 732 { |
733 case SDL_KEYDOWN: | 733 case SDL_KEYDOWN: |
734 switch (engine.event.key.keysym.sym) | 734 switch (engine.event.key.keysym.sym) |
735 { | 735 { |
736 case SDLK_ESCAPE: | 736 case SDLK_ESCAPE: |
737 case SDLK_q: | |
737 engine.exitFlag = TRUE; | 738 engine.exitFlag = TRUE; |
738 break; | 739 break; |
739 | 740 |
740 case SDLK_SPACE: | 741 case SDLK_SPACE: |
741 engine.pauseFlag = !engine.pauseFlag; | 742 engine.pauseFlag = !engine.pauseFlag; |
744 | 745 |
745 case SDLK_LEFT: | 746 case SDLK_LEFT: |
746 if (engine.actChannel > 0) | 747 if (engine.actChannel > 0) |
747 { | 748 { |
748 engine.actChannel--; | 749 engine.actChannel--; |
749 force = TRUE; | 750 needUpdate = TRUE; |
750 } | 751 } |
751 break; | 752 break; |
752 | 753 |
753 case SDLK_RIGHT: | 754 case SDLK_RIGHT: |
754 if (engine.actChannel < engine.mod->nchannels - 1) | 755 if (engine.actChannel < engine.mod->nchannels - 1) |
755 { | 756 { |
756 engine.actChannel++; | 757 engine.actChannel++; |
757 force = TRUE; | 758 needUpdate = TRUE; |
758 } | 759 } |
759 break; | 760 break; |
760 | 761 |
761 case SDLK_m: | 762 case SDLK_m: |
762 if (engine.event.key.keysym.mod & KMOD_SHIFT) | 763 if (engine.event.key.keysym.mod & KMOD_SHIFT) |
771 } | 772 } |
772 else | 773 else |
773 { | 774 { |
774 jvmMute(engine.dev, engine.actChannel, !jvmGetMute(engine.dev, engine.actChannel)); | 775 jvmMute(engine.dev, engine.actChannel, !jvmGetMute(engine.dev, engine.actChannel)); |
775 } | 776 } |
776 force = TRUE; | 777 needUpdate = TRUE; |
777 break; | 778 break; |
778 | 779 |
779 case SDLK_PAGEUP: | 780 case SDLK_PAGEUP: |
780 JSS_LOCK(engine.dev); | 781 JSS_LOCK(engine.dev); |
781 JSS_LOCK(engine.plr); | 782 JSS_LOCK(engine.plr); |
782 jmpChangeOrder(engine.plr, dmClamp(engine.plr->order - 1, 0, engine.mod->norders)); | 783 jmpChangeOrder(engine.plr, dmClamp(engine.plr->order - 1, 0, engine.mod->norders)); |
783 JSS_UNLOCK(engine.plr); | 784 JSS_UNLOCK(engine.plr); |
784 JSS_UNLOCK(engine.dev); | 785 JSS_UNLOCK(engine.dev); |
785 force = TRUE; | 786 needUpdate = TRUE; |
786 break; | 787 break; |
787 | 788 |
788 case SDLK_PAGEDOWN: | 789 case SDLK_PAGEDOWN: |
789 JSS_LOCK(engine.dev); | 790 JSS_LOCK(engine.dev); |
790 JSS_LOCK(engine.plr); | 791 JSS_LOCK(engine.plr); |
791 jmpChangeOrder(engine.plr, dmClamp(engine.plr->order + 1, 0, engine.mod->norders)); | 792 jmpChangeOrder(engine.plr, dmClamp(engine.plr->order + 1, 0, engine.mod->norders)); |
792 JSS_UNLOCK(engine.plr); | 793 JSS_UNLOCK(engine.plr); |
793 JSS_UNLOCK(engine.dev); | 794 JSS_UNLOCK(engine.dev); |
794 force = TRUE; | 795 needUpdate = TRUE; |
795 break; | 796 break; |
796 | 797 |
797 case SDLK_f: | 798 case SDLK_f: |
798 engine.optVFlags ^= SDL_WINDOW_FULLSCREEN_DESKTOP; | 799 engine.optVFlags ^= SDL_WINDOW_FULLSCREEN_DESKTOP; |
799 if (SDL_SetWindowFullscreen(engine.window, engine.optVFlags) != 0) | 800 if (SDL_SetWindowFullscreen(engine.window, engine.optVFlags) != 0) |
800 goto error_exit; | 801 goto error_exit; |
801 force = TRUE; | 802 needUpdate = TRUE; |
802 break; | 803 break; |
803 | 804 |
804 default: | 805 default: |
805 break; | 806 break; |
806 } | 807 } |
809 | 810 |
810 case SDL_WINDOWEVENT: | 811 case SDL_WINDOWEVENT: |
811 switch (engine.event.window.event) | 812 switch (engine.event.window.event) |
812 { | 813 { |
813 case SDL_WINDOWEVENT_EXPOSED: | 814 case SDL_WINDOWEVENT_EXPOSED: |
814 force = TRUE; | 815 needUpdate = TRUE; |
815 break; | 816 break; |
816 | 817 |
817 case SDL_WINDOWEVENT_RESIZED: | 818 case SDL_WINDOWEVENT_RESIZED: |
818 engine.optScrWidth = engine.event.window.data1; | 819 engine.optScrWidth = engine.event.window.data1; |
819 engine.optScrHeight = engine.event.window.data2; | 820 engine.optScrHeight = engine.event.window.data2; |
820 if (!dmInitializeVideo()) | 821 if (!dmInitializeVideo()) |
821 goto error_exit; | 822 goto error_exit; |
822 | 823 |
823 force = TRUE; | 824 needUpdate = TRUE; |
824 break; | 825 break; |
825 } | 826 } |
826 break; | 827 break; |
827 | 828 |
828 case SDL_QUIT: | 829 case SDL_QUIT: |
837 int currRow = engine.plr->row; | 838 int currRow = engine.plr->row; |
838 if (!engine.plr->isPlaying) | 839 if (!engine.plr->isPlaying) |
839 engine.exitFlag = TRUE; | 840 engine.exitFlag = TRUE; |
840 JSS_UNLOCK(engine.plr); | 841 JSS_UNLOCK(engine.plr); |
841 | 842 |
842 if (currRow != prevRow || force) | 843 if (currRow != prevRow || needUpdate) |
843 { | 844 { |
844 prevRow = currRow; | 845 prevRow = currRow; |
845 force = TRUE; | 846 needUpdate = TRUE; |
846 } | 847 } |
847 | 848 |
848 // Draw frame | 849 // Draw frame |
849 if (force) | 850 if (needUpdate) |
850 { | 851 { |
851 dmClearSurface(engine.screen, col.boxBg); | 852 dmClearSurface(engine.screen, col.boxBg); |
852 | 853 |
853 dmDrawBMTextQ(engine.screen, font, DMD_TRANSPARENT, 5, 5, | 854 dmDrawBMTextQ(engine.screen, font, DMD_TRANSPARENT, 5, 5, |
854 "%s v%s by ccr/TNSP - (c) Copyright 2012-2018 TNSP", | 855 "%s v%s by ccr/TNSP - (c) Copyright 2012-2018 TNSP", |
868 engine.plr->tempo, engine.plr->speed, | 869 engine.plr->tempo, engine.plr->speed, |
869 engine.plr->row, (engine.plr->pattern != NULL) ? engine.plr->pattern->nrows : 0, | 870 engine.plr->row, (engine.plr->pattern != NULL) ? engine.plr->pattern->nrows : 0, |
870 engine.plr->order + 1, engine.mod->norders, | 871 engine.plr->order + 1, engine.mod->norders, |
871 engine.plr->npattern, engine.mod->npatterns); | 872 engine.plr->npattern, engine.mod->npatterns); |
872 JSS_UNLOCK(engine.plr); | 873 JSS_UNLOCK(engine.plr); |
873 updated = TRUE; | 874 needRender = TRUE; |
874 } | 875 } |
875 | 876 |
876 if (force || currTick - prevTick >= (engine.pauseFlag ? 100 : 20)) | 877 if (needUpdate || currTick - prevTick >= (engine.pauseFlag ? 100 : 20)) |
877 { | 878 { |
878 JSS_LOCK(engine.dev); | 879 JSS_LOCK(engine.dev); |
879 dmDisplayChannels(engine.screen, 5, engine.screen->h * 0.8 + 5, | 880 dmDisplayChannels(engine.screen, 5, engine.screen->h * 0.8 + 5, |
880 engine.screen->w - 5, engine.screen->h - 5, engine.dev); | 881 engine.screen->w - 5, engine.screen->h - 5, engine.dev); |
881 JSS_UNLOCK(engine.dev); | 882 JSS_UNLOCK(engine.dev); |
882 updated = TRUE; | 883 needRender = TRUE; |
883 } | 884 } |
884 | 885 |
885 if (force) | 886 if (needUpdate) |
886 prevTick = currTick; | 887 prevTick = currTick; |
887 | 888 |
888 #endif | 889 #endif |
889 // Flip screen | 890 // Flip screen |
890 if (updated) | 891 if (needRender) |
891 { | 892 { |
892 SDL_Surface dst; | 893 SDL_Surface dst; |
893 SDL_LockTexture(engine.texture, NULL, &dst.pixels, &dst.pitch); | 894 SDL_LockTexture(engine.texture, NULL, &dst.pixels, &dst.pitch); |
894 | 895 |
895 for (int yc = 0; yc < engine.screen->h; yc++) | 896 for (int yc = 0; yc < engine.screen->h; yc++) |