diff options
author | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2005-06-12 17:09:28 +0800 |
---|---|---|
committer | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2005-06-12 17:09:28 +0800 |
commit | 69aa60480b75e8f5accbc2b9717af81aadd0416f (patch) | |
tree | 925d912b56db8b69b581931d6b13aab6b7f14ab9 | |
parent | ce01a30cfa781622a2954942032bf3d129943f7a (diff) | |
download | pttbbs-69aa60480b75e8f5accbc2b9717af81aadd0416f.tar pttbbs-69aa60480b75e8f5accbc2b9717af81aadd0416f.tar.gz pttbbs-69aa60480b75e8f5accbc2b9717af81aadd0416f.tar.bz2 pttbbs-69aa60480b75e8f5accbc2b9717af81aadd0416f.tar.lz pttbbs-69aa60480b75e8f5accbc2b9717af81aadd0416f.tar.xz pttbbs-69aa60480b75e8f5accbc2b9717af81aadd0416f.tar.zst pttbbs-69aa60480b75e8f5accbc2b9717af81aadd0416f.zip |
animated board notes
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@2833 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r-- | mbbsd/bbs.c | 18 | ||||
-rw-r--r-- | mbbsd/board.c | 5 | ||||
-rw-r--r-- | mbbsd/pmore.c | 30 |
3 files changed, 47 insertions, 6 deletions
diff --git a/mbbsd/bbs.c b/mbbsd/bbs.c index d4a4194b..6cf51226 100644 --- a/mbbsd/bbs.c +++ b/mbbsd/bbs.c @@ -2222,14 +2222,19 @@ static int b_notes(void) { char buf[PATHLEN]; + int mr = 0; setbfile(buf, currboard, fn_notes); - if (more(buf, NA) == -1) { + mr = more(buf, NA); + + if (mr == -1) + { clear(); move(4, 20); outs("¥»¬ÝªO©|µL¡u³Æ§Ñ¿ý¡v¡C"); } - pressanykey(); + if(mr != READ_NEXT) + pressanykey(); return FULLUPDATE; } @@ -2714,11 +2719,14 @@ Read(void) set_board(); if (board_visit_time < *board_note_time) { + int mr = 0; + setbfile(buf, currboard, fn_notes); - if(more(buf, NA)!=-1) - pressanykey(); - else + mr = more(buf, NA); + if(mr == -1) *board_note_time=0; + else if (mr != READ_NEXT) + pressanykey(); } setutmpbid(currbid); setbdir(buf, currboard); diff --git a/mbbsd/board.c b/mbbsd/board.c index 83470943..2153d9a3 100644 --- a/mbbsd/board.c +++ b/mbbsd/board.c @@ -1207,8 +1207,11 @@ choose_board(int newflag) set_menu_BM(B_BH(ptr)->BM); if (now < B_BH(ptr)->bupdate) { + int mr = 0; + setbfile(buf, B_BH(ptr)->brdname, fn_notes); - if (more(buf, NA) != -1) + mr = more(buf, NA); + if (mr != -1 && mr != READ_NEXT) pressanykey(); } tmp = currutmp->brc_id; diff --git a/mbbsd/pmore.c b/mbbsd/pmore.c index 3816a82b..0492da69 100644 --- a/mbbsd/pmore.c +++ b/mbbsd/pmore.c @@ -1570,8 +1570,24 @@ pmore(char *fpath, int promptend) invalidate = 1; #ifdef PMORE_TRADITIONAL_PROMPTEND + if(promptend == NA) + { +#ifdef PMORE_USE_ASCII_MOVIE + if(mfmovie.mode == MFDISP_MOVIE_DETECTED) + { + /* quick auto play */ + mfmovie.mode = MFDISP_MOVIE_YES; + RESET_MOVIE(); + mfmovie.mode = MFDISP_MOVIE_PLAYING; + mf_determinemaxdisps(0, 0); // display until last line + mf_movieNextFrame(); + MFDISP_DIRTY(); + continue; + } else if (mfmovie.mode != MFDISP_MOVIE_PLAYING) +#endif break; + } #else if(promptend == NA && mf_viewedAll()) break; @@ -1625,6 +1641,7 @@ pmore(char *fpath, int promptend) w -= strlen(s); outs(s); while(w-- > 0) outc(' '); outs(ANSI_RESET); } + if(mf_movieSyncFrame()) { /* user did not hit anything. @@ -1637,6 +1654,11 @@ pmore(char *fpath, int promptend) mfmovie.mode = MFDISP_MOVIE_YES; // nothing more mf_determinemaxdisps(MFNAV_PAGE, 0); mf_forward(0); + + if(promptend == NA) + { + flExit = 1, retval = READ_NEXT; + } } } else if(mfmovie.mode == MFDISP_MOVIE_PLAYING_OLD) @@ -1659,8 +1681,16 @@ pmore(char *fpath, int promptend) igetch(); /* TODO simple navigation here? */ + + /* stop playing */ if(mfmovie.mode == MFDISP_MOVIE_PLAYING) + { mfmovie.mode = MFDISP_MOVIE_YES; + if(promptend == NA) + { + flExit = 1, retval = READ_NEXT; + } + } else if(mfmovie.mode == MFDISP_MOVIE_PLAYING_OLD) mfmovie.mode = MFDISP_MOVIE_NO; |