summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-06-12 17:09:28 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-06-12 17:09:28 +0800
commit69aa60480b75e8f5accbc2b9717af81aadd0416f (patch)
tree925d912b56db8b69b581931d6b13aab6b7f14ab9
parentce01a30cfa781622a2954942032bf3d129943f7a (diff)
downloadpttbbs-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.c18
-rw-r--r--mbbsd/board.c5
-rw-r--r--mbbsd/pmore.c30
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;