Skip to content
Snippets Groups Projects
Commit 0562a817 authored by echicken's avatar echicken
Browse files

Use a Frame for all output. Call bbs.node_sync in loop. Prevent node...

Use a Frame for all output.  Call bbs.node_sync in loop.  Prevent node messages from being delivered.
parent ae081b48
No related branches found
No related tags found
No related merge requests found
load('sbbsdefs.js'); load('sbbsdefs.js');
load(js.exec_dir + 'lib.js'); load('frame.js');
load('progress-bar.js'); load('progress-bar.js');
load(js.exec_dir + 'lib.js');
function get_last_queued_value(queue, valname) { function get_last_queued_value(queue, valname) {
var val, temp_val; var val, temp_val;
...@@ -10,17 +11,17 @@ function get_last_queued_value(queue, valname) { ...@@ -10,17 +11,17 @@ function get_last_queued_value(queue, valname) {
return val; return val;
} }
function await_page_response(settings) { function await_page_response(settings, frame) {
var queue = new Queue(settings.queue.queue_name); var queue = new Queue(settings.queue.queue_name);
var valname = "chat_" + bbs.node_num; var valname = "chat_" + bbs.node_num;
var answered = false; var answered = false;
var stime = system.timer; var stime = system.timer;
var utime = system.timer; var utime = system.timer;
var progress_bar = new ProgressBar(1, 2); var progress_bar = new ProgressBar(1, 2, frame.width, frame);
progress_bar.init(); progress_bar.init();
while ( while (
(system.timer - stime) * 1000 < settings.terminal.wait_time && (system.timer - stime) * 1000 < settings.terminal.wait_time &&
console.inkey(K_NONE) == '' && console.inkey(K_NONE, 5) == '' &&
!answered !answered
) { ) {
var now = system.timer; var now = system.timer;
...@@ -33,6 +34,8 @@ function await_page_response(settings) { ...@@ -33,6 +34,8 @@ function await_page_response(settings) {
} }
var val = get_last_queued_value(queue, valname); var val = get_last_queued_value(queue, valname);
if (typeof val == 'number' && val > stime) answered = true; if (typeof val == 'number' && val > stime) answered = true;
frame.cycle();
bbs.node_sync();
yield(); yield();
} }
progress_bar.set_progress(100); progress_bar.set_progress(100);
...@@ -42,14 +45,16 @@ function await_page_response(settings) { ...@@ -42,14 +45,16 @@ function await_page_response(settings) {
} }
function main() { function main() {
console.clear();
var sys_stat = bbs.sys_status;
bbs.sys_status|=SS_MOFF;
var settings = load_settings(js.exec_dir + 'settings.ini'); var settings = load_settings(js.exec_dir + 'settings.ini');
console.clear(WHITE); var frame = new Frame(1, 1, console.screen_columns, 4, WHITE);
console.home(0, 0); frame.center(format(settings.terminal.wait_message, system.operator));
console.center(format(settings.terminal.wait_message, system.operator)); frame.gotoxy(1, 3);
console.crlf(); frame.center(settings.terminal.cancel_message);
console.center(settings.terminal.cancel_message); frame.open();
var xy = console.getxy(); if (settings !== null && await_page_response(settings, frame)) {
if (settings !== null && await_page_response(settings)) {
if (settings.terminal.irc_pull) { if (settings.terminal.irc_pull) {
bbs.exec( bbs.exec(
format( format(
...@@ -61,11 +66,12 @@ function main() { ...@@ -61,11 +66,12 @@ function main() {
); );
} }
} else { } else {
console.gotoxy(xy); frame.gotoxy(1, 3);
console.clearline(); frame.center(format(bbs.text(522).trim(), system.operator));
console.center(format(bbs.text(522).trim(), system.operator));
console.pause(); console.pause();
frame.close();
} }
bbs.sys_status = sys_stat;
} }
main(); main();
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment