X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=new2%2Frogue_chat_nocanvas_monochrome.html;h=7f1820f976793f39f28af3d996336cd60b879ed6;hb=7bdf22f3e130e29d285c5c77ccea4073a0dac630;hp=fc5e24c2a397e2f1dc9bdd16201313930eed7698;hpb=3d0f035d4a276fd53b767e2be8b481a678a7360b;p=plomrogue2-experiments diff --git a/new2/rogue_chat_nocanvas_monochrome.html b/new2/rogue_chat_nocanvas_monochrome.html index fc5e24c..7f1820f 100644 --- a/new2/rogue_chat_nocanvas_monochrome.html +++ b/new2/rogue_chat_nocanvas_monochrome.html @@ -149,7 +149,7 @@ let unparser = { let quoted = ['"']; for (let i = 0; i < str.length; i++) { let c = str[i]; - if (c in ['"', '\\']) { + if (['"', '\\'].includes(c)) { quoted.push('\\'); }; quoted.push(c); @@ -267,9 +267,8 @@ let tui = { return lines; }, log_msg: function(msg) { - let lines = this.msg_into_lines_of_width(msg, this.window_width); - this.log = this.log.concat(lines); - while (this.log.length > terminal.rows) { + this.log.push(msg); + while (this.log.length > terminal.rows * 4) { this.log.shift(); }; this.full_refresh(); @@ -337,14 +336,15 @@ let tui = { terminal.write(1, this.window_width, 'TURN: ' + game.turn); }, draw_history: function() { - if (terminal.rows <= this.height_header + this.height_input) { - return; - } + let log_display_lines = []; + for (let line of this.log) { + log_display_lines = log_display_lines.concat(this.msg_into_lines_of_width(line, this.window_width)); + }; for (let y = terminal.rows - 1 - this.height_input, - i = this.log.length - 1; + i = log_display_lines.length - 1; y >= this.height_header && i >= 0; y--, i--) { - terminal.write(y, this.window_width, this.log[i]); + terminal.write(y, this.window_width, log_display_lines[i]); } }, draw_info: function() { @@ -413,13 +413,10 @@ server.websocket.onmessage = function (event) { tui.log_msg('# ' + tokens[1], 1); } else if (tokens[0] === 'PLAYER_ID') { game.player_id = parseInt(tokens[1]); - } else if (tokens[0] === 'META') { - tui.log_msg('@ ' + tokens[1]); } else if (tokens[0] === 'LOGIN_OK') { server.send(['GET_GAMESTATE']); - tui.log_msg('@ ' + tokens[1]); tui.log_help(); - tui.switch_mode(mode_chat); + tui.switch_mode(mode_play); } else if (tokens[0] === 'ANNOTATION') { let position = parser.parse_yx(tokens[1]); explorer.update_info_db(position, tokens[2]);