summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2007-12-20 10:09:12 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2007-12-20 10:09:12 +0800
commit3dff4118f19d96c1e38e0b6f2a6dc348de83ecae (patch)
treee7c422fb2bae9afc26d32d733b5a6e613d698b7e
parent3f93f07b979a3b0045eee4456c0962481dafd161 (diff)
downloadpttbbs-3dff4118f19d96c1e38e0b6f2a6dc348de83ecae.tar
pttbbs-3dff4118f19d96c1e38e0b6f2a6dc348de83ecae.tar.gz
pttbbs-3dff4118f19d96c1e38e0b6f2a6dc348de83ecae.tar.bz2
pttbbs-3dff4118f19d96c1e38e0b6f2a6dc348de83ecae.tar.lz
pttbbs-3dff4118f19d96c1e38e0b6f2a6dc348de83ecae.tar.xz
pttbbs-3dff4118f19d96c1e38e0b6f2a6dc348de83ecae.tar.zst
pttbbs-3dff4118f19d96c1e38e0b6f2a6dc348de83ecae.zip
- optimize output: prepare for pfterm
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3712 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--mbbsd/pmore.c20
-rw-r--r--mbbsd/screen.c4
2 files changed, 20 insertions, 4 deletions
diff --git a/mbbsd/pmore.c b/mbbsd/pmore.c
index 600535d7..06fecc05 100644
--- a/mbbsd/pmore.c
+++ b/mbbsd/pmore.c
@@ -61,13 +61,15 @@
#define PMORE_USE_DBCS_WRAP // safe wrap for DBCS.
#define PMORE_USE_ASCII_MOVIE // support ascii movie
//#define PMORE_RESTRICT_ANSI_MOVEMENT // user cannot use ANSI escapes to move
-#define PMORE_WORKAROUND_CLRTOEOL // try to work with poor terminal sys
#define PMORE_ACCURATE_WRAPEND // try more harder to find file end in wrap mode
-#define PMORE_LOG_SYSOP_EDIT // log whenever sysop uses E
-
#define PMORE_TRADITIONAL_PROMPTEND // when prompt=NA, show only page 1
#define PMORE_TRADITIONAL_FULLCOL // to work with traditional ascii arts
+#define PMORE_LOG_SYSOP_EDIT // log whenever sysop uses E
#define PMORE_OVERRIDE_TIME // override time format if possible
+
+#ifndef EXP_PFTERM // pfterm is a good terminal system.
+#define PMORE_WORKAROUND_CLRTOEOL // try to work with poor terminal sys
+#endif // EXP_PFTERM
// -------------------------------------------------------------- </FEATURES>
// ----------------------------------------------------------- <LOCALIZATION>
@@ -1046,6 +1048,16 @@ mf_display()
MFDISP_FORCEUPDATE2BOT();
#ifdef PMORE_USE_OPT_SCROLL
+
+#if defined(PMORE_USE_ASCII_MOVIE) && !defined(PMORE_WORKAROUND_CLRTOEOL)
+ // For movies, maybe clear() is better.
+ // Let's enable for good terminals (which does not need workarounds)
+ if (mfmovie.mode == MFDISP_MOVIE_PLAYING)
+ {
+ clear(); move(0, 0);
+ } else
+#endif // PMORE_USE_ASCII_MOVIE && (!PMORE_WORKAROUND_CLRTOEOL)
+
/* process scrolling */
if (mf.oldlineno >= 0 && mf.oldlineno != mf.lineno)
{
@@ -2739,7 +2751,7 @@ mf_moviePromptPlaying(int type)
w -= strlen(s); outs(s);
- while(w-- > 0) outc(' '); outs(ANSI_RESET ANSI_CLRTOEND "\n");
+ while(w-- > 0) outc(' '); outs(ANSI_RESET ANSI_CLRTOEND);
if (type)
{
move(b_lines, 0);
diff --git a/mbbsd/screen.c b/mbbsd/screen.c
index 7bc61e54..fa10e985 100644
--- a/mbbsd/screen.c
+++ b/mbbsd/screen.c
@@ -1,6 +1,8 @@
/* $Id$ */
#include "bbs.h"
+#ifndef EXP_PFTERM
+
#define o_clear() output(clearbuf,clearbuflen)
#define o_cleol() output(cleolbuf,cleolbuflen)
#define o_scrollrev() output(scrollrev,scrollrevlen)
@@ -654,5 +656,7 @@ void screen_restore(const screen_backup_t *old)
redoscr();
}
+#endif
+
/* vim:sw=4
*/