summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Jennings <mej@kainx.org>2009-01-06 09:03:36 +0000
committerMichael Jennings <mej@kainx.org>2009-01-06 09:03:36 +0000
commite53c4775f6adfe3c01f00af4a5766c80792ca0f8 (patch)
treecc341be5e00482c5bd1da8f71518aeec5a444442
parent0261bd001bf0aef052525a4ba126bb6fabc77868 (diff)
downloadeterm-e53c4775f6adfe3c01f00af4a5766c80792ca0f8.tar.gz
Tue Jan 6 01:03:35 2009 Michael Jennings (mej)
Prevent blank Escreen buttonbar on startup. ---------------------------------------------------------------------- SVN revision: 38479
-rw-r--r--ChangeLog4
-rw-r--r--src/command.c29
2 files changed, 27 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index ed50338..2f1287e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5591,3 +5591,7 @@ Mon Jan 5 23:50:28 2009 Michael Jennings (mej)
Remove fontset fallbacks. I think this might help speed up the load
time slowness some people are seeing. Let's find out.
----------------------------------------------------------------------
+Tue Jan 6 01:03:35 2009 Michael Jennings (mej)
+
+Prevent blank Escreen buttonbar on startup.
+----------------------------------------------------------------------
diff --git a/src/command.c b/src/command.c
index 0e5f456..9190804 100644
--- a/src/command.c
+++ b/src/command.c
@@ -2726,11 +2726,10 @@ exe_prg(void *xd, char **argv)
/****** Azundris' playthings :-) ******/
-#ifdef ESCREEN_FX
#define DIRECT_MASK (~(RS_Cursor|RS_Select|RS_fontMask))
#define COLOUR_MASK (RS_fgMask|RS_bgMask)
#define DIRECT_SET_SCREEN(x,y,fg,bg) (screen.text[ys+y])[x]=fg; (screen.rend[ys+y])[x]=bg&DIRECT_MASK;
-#define CLEAR (1<<16)
+#define CLEAR (RS_None | bgColor)
static void
direct_write_screen(int x, int y, char *fg, rend_t bg)
@@ -2747,6 +2746,7 @@ direct_write_screen(int x, int y, char *fg, rend_t bg)
}
}
+#ifdef ESCREEN_FX
static void
bosconian(int n)
{
@@ -2900,8 +2900,9 @@ waitstate(void *xd, int ms)
matrix(31);
unbosconian();
}
- bosconian(4);
+ bosconian(20);
unbosconian();
+ scr_refresh(SLOW_REFRESH);
}
direct_write_screen(0, y++, " **** COMMODORE 64 BASIC V2 ****", (0 << 8) | CLEAR);
@@ -2911,12 +2912,30 @@ waitstate(void *xd, int ms)
screen.row = y;
screen.col = 0;
- scr_refresh(FAST_REFRESH);
+ scr_refresh(SLOW_REFRESH);
sleep(dur);
return 0;
}
+#else
+static int
+waitstate(void *xd, int ms)
+{
+ USE_VAR(xd);
+
+ direct_write_screen(TERM_WINDOW_GET_REPORTED_COLS() / 2 - 17, TERM_WINDOW_GET_ROWS() / 2,
+ "**** Initializing, please wait ****", (15 << 9) | CLEAR);
+ screen.row = 0;
+ screen.col = 0;
+
+ scr_refresh(SLOW_REFRESH);
+
+ sleep((time_t) (ms / 1000));
+
+ return 0;
+
+}
#endif
static _ns_efuns *
@@ -2947,9 +2966,7 @@ escreen_reg_funcs(void)
ns_register_inp(efuns, input_dialog);
ns_register_tab(efuns, menu_tab);
-#ifdef ESCREEN_FX
ns_register_fun(efuns, waitstate);
-#endif
return efuns;
}