WIP: Using new page object, frames stored and retrieved in msgbase, code cleanup, more optimisations needed

This commit is contained in:
2023-12-24 20:11:40 +11:00
parent 29f82592ac
commit 701dd9f5e8
4 changed files with 104 additions and 159 deletions

View File

@@ -1,12 +1,12 @@
const SESSION_ANSITEX = (1<<1);
const SESSION_EXT = 'tex';
const SESSION_ANSITEX = (1<<1);
const SESSION_EXT = 'tex';
const ANSI_FRAME_WIDTH = 80;
const ANSI_FRAME_HEIGHT = 22;
const ANSI_FRAME_PROVIDER_LENGTH = 55;
const ANSI_FRAME_PAGE_LENGTH = 13;
const ANSI_FRAME_COST_LENGTH = 10;
const ANSI_FRAME_ATTR_LENGTH = 0; // Space that an attribute takes
const FRAME_WIDTH = 80;
const FRAME_HEIGHT = 22;
const FRAME_PROVIDER_LENGTH = 55;
const FRAME_PAGE_LENGTH = 13;
const FRAME_COST_LENGTH = 10;
const FRAME_ATTR_LENGTH = 0; // Space that an attribute takes
/**
* This function converts ANSI text into an array of attributes
@@ -20,7 +20,7 @@ const ANSI_FRAME_ATTR_LENGTH = 0; // Space that an attribute takes
* @param xoffset - fields offset as discovered
* @param debug - Enable debug mode
*/
function anstoattrs(contents,width,yoffset,xoffset,debug) {
function rawtoattrs(contents,width,yoffset,xoffset,debug) {
if (debug)
writeln('DEBUG active: '+debug);

View File

@@ -1,59 +1,59 @@
var SESSION_VIEWDATA = (1<<2);
var SESSION_EXT = 'vtx';
const SESSION_VIEWDATA = (1<<2);
const SESSION_EXT = 'vtx';
var VIEWDATA_FRAME_WIDTH = 40;
var VIEWDATA_FRAME_HEIGHT = 22;
var VIEWDATA_FRAME_PROVIDER_LENGTH = 23;
var VIEWDATA_FRAME_PAGE_LENGTH = 11;
var VIEWDATA_FRAME_COST_LENGTH = 6;
const VIEWDATA_FRAME_ATTR_LENGTH = 0; // Space that an attribute takes
const FRAME_WIDTH = 40;
const FRAME_HEIGHT = 22;
const FRAME_PROVIDER_LENGTH = 23;
const FRAME_PAGE_LENGTH = 11;
const FRAME_COST_LENGTH = 6;
const FRAME_ATTR_LENGTH = 0; // Space that an attribute takes
var VIEWDATA_LEFT = '\x08';
var VIEWDATA_RIGHT = '\x09';
var VIEWDATA_DOWN = '\x0a'; // \n
var VIEWDATA_UP = '\x0b';
var VIEWDATA_CLS = '\x0c';
var VIEWDATA_CR = '\x0d'; // \r
var VIEWDATA_CON = '\x11';
var VIEWDATA_COFF = '\x14';
var VIEWDATA_HOME = '\x1e';
const VIEWDATA_LEFT = '\x08';
const VIEWDATA_RIGHT = '\x09';
const VIEWDATA_DOWN = '\x0a'; // \n
const VIEWDATA_UP = '\x0b';
const VIEWDATA_CLS = '\x0c';
const VIEWDATA_CR = '\x0d'; // \r
const VIEWDATA_CON = '\x11';
const VIEWDATA_COFF = '\x14';
const VIEWDATA_HOME = '\x1e';
var VIEWDATA_BLINK = '\x48';
var VIEWDATA_STEADY = '\x49';
var VIEWDATA_NORMAL = '\x4c';
var VIEWDATA_DOUBLE = '\x4d';
var VIEWDATA_CONCEAL = '\x58';
var VIEWDATA_BLOCKS = '\x59';
var VIEWDATA_SEPARATED = '\x5a';
var VIEWDATA_BLACKBACK = '\x5c';
var VIEWDATA_NEWBACK = '\x5d';
var VIEWDATA_HOLD = '\x5e';
var VIEWDATA_REVEAL = '\x5f';
const VIEWDATA_BLINK = '\x48';
const VIEWDATA_STEADY = '\x49';
const VIEWDATA_NORMAL = '\x4c';
const VIEWDATA_DOUBLE = '\x4d';
const VIEWDATA_CONCEAL = '\x58';
const VIEWDATA_BLOCKS = '\x59';
const VIEWDATA_SEPARATED = '\x5a';
const VIEWDATA_BLACKBACK = '\x5c';
const VIEWDATA_NEWBACK = '\x5d';
const VIEWDATA_HOLD = '\x5e';
const VIEWDATA_REVEAL = '\x5f';
var VIEWDATA_RED = '\x41';
var VIEWDATA_GREEN = '\x42';
var VIEWDATA_YELLOW = '\x43'; // C
var VIEWDATA_BLUE = '\x44';
var VIEWDATA_MAGENTA = '\x45';
var VIEWDATA_CYAN = '\x46';
var VIEWDATA_WHITE = '\x47';
const VIEWDATA_RED = '\x41';
const VIEWDATA_GREEN = '\x42';
const VIEWDATA_YELLOW = '\x43'; // C
const VIEWDATA_BLUE = '\x44';
const VIEWDATA_MAGENTA = '\x45';
const VIEWDATA_CYAN = '\x46';
const VIEWDATA_WHITE = '\x47';
var VIEWDATA_MOSIAC_RED = '\x51';
var VIEWDATA_MOSIAC_GREEN = '\x52';
var VIEWDATA_MOSIAC_YELLOW = '\x53';
var VIEWDATA_MOSIAC_BLUE = '\x54';
var VIEWDATA_MOSIAC_MAGENTA = '\x55';
var VIEWDATA_MOSIAC_CYAN = '\x56';
var VIEWDATA_MOSIAC_WHITE = '\x57'; // W
const VIEWDATA_MOSIAC_RED = '\x51';
const VIEWDATA_MOSIAC_GREEN = '\x52';
const VIEWDATA_MOSIAC_YELLOW = '\x53';
const VIEWDATA_MOSIAC_BLUE = '\x54';
const VIEWDATA_MOSIAC_MAGENTA = '\x55';
const VIEWDATA_MOSIAC_CYAN = '\x56';
const VIEWDATA_MOSIAC_WHITE = '\x57'; // W
/* BINARY DUMP LEVEL 1 ATTRIBUTES */
var VIEWDATA_BIN_RED = '\x01';
var VIEWDATA_BIN_GREEN = '\x02';
var VIEWDATA_BIN_YELLOW = '\x03';
var VIEWDATA_BIN_BLUE = '\x04';
var VIEWDATA_BIN_MAGENTA = '\x05';
var VIEWDATA_BIN_CYAN = '\x06';
var VIEWDATA_BIN_WHITE = '\x07';
const VIEWDATA_BIN_RED = '\x01';
const VIEWDATA_BIN_GREEN = '\x02';
const VIEWDATA_BIN_YELLOW = '\x03';
const VIEWDATA_BIN_BLUE = '\x04';
const VIEWDATA_BIN_MAGENTA = '\x05';
const VIEWDATA_BIN_CYAN = '\x06';
const VIEWDATA_BIN_WHITE = '\x07';
/**
* ViewData characters are 7bit (0x00-0x7f)
@@ -91,7 +91,7 @@ var VIEWDATA_BIN_WHITE = '\x07';
var MOSIAC = 0x10;
// Toggles
var CONCEAL = 0x20;
var CONCEAL = 0x20;
var REVEAL = 0x2000; // @temp Turns off Conceal
var SEPARATED = 0x40;
@@ -103,9 +103,9 @@ var DOUBLE = 0x100;
var NORMAL = 0x1000; // @temp Turns off Double Height
var HOLD = 0x200;
var RELEASE = 0x20000; // @temp turns off Hold
var RELEASE = 0x20000; // @temp turns off Hold
var NEWBACK = 0x400;
var NEWBACK = 0x400;
var BLACKBACK = 0x800;
/**
@@ -117,7 +117,7 @@ var BLACKBACK = 0x800;
* @param xoffset - fields offset as discovered
* @param debug - Enable debug mode
*/
function bintoattrs(contents,width,yoffset,xoffset,debug) {
function rawtoattrs(contents,width,yoffset,xoffset,debug) {
if (debug)
writeln('DEBUG active: '+debug);