Docs: Difference between revisions
Appearance
mNo edit summary |
mNo edit summary |
||
Line 306: | Line 306: | ||
return data; | return data; | ||
} | } | ||
</syntaxhighlight> | |||
|- | |||
|images, | |||
keysPressed, | |||
imgPatterns | |||
|Empty, unused objects. | |||
| | |||
|<syntaxhighlight lang="javascript" line="1" start="68"> | |||
var images = {}; | |||
var keysPressed = {}; | |||
</syntaxhighlight> | |||
|- | |||
|previousErase | |||
|An integer of the last date the erase function was utilised. | |||
|<syntaxhighlight lang="javascript"> | |||
//Logs the previous erase time in a human-readable way. | |||
function readPreviousErase() { | |||
if (previousErase == 0) { | |||
return | |||
} | |||
const date = new Date(previousErase); | |||
const options = { | |||
year: 'numeric', | |||
month: 'long', | |||
day: 'numeric', | |||
hour: '2-digit', | |||
minute: '2-digit', | |||
second: '2-digit', | |||
timeZoneName: 'short' | |||
}; | |||
console.log("last Erased at:", date.toLocaleString(undefined, options)); | |||
} | |||
</syntaxhighlight> | |||
|<syntaxhighlight lang="javascript" line="1" start="2608"> | |||
function event_input(e) { | |||
if(e.inputType == "deleteContentBackward") { | |||
if(getDate() - previousErase > 25 || !previousErase) { | |||
moveCursor("left", true); | |||
writeChar("\x08", true, null, false, 1); | |||
} | |||
previousErase = getDate(); | |||
} | |||
} | |||
</syntaxhighlight> | |||
|- | |||
|verticalEnterPos | |||
|A 2D array coordinate of the position to go when pressing enter. | |||
|<syntaxhighlight lang="javascript"> | |||
//Stair-step the return position on "enter" | |||
textInput.addEventListener("input", function(e) { | |||
if (e.inputType === "insertLineBreak") { | |||
const [X, x] = verticalEnterPos; | |||
verticalEnterPos = [X, (x + 1) % 16] | |||
} | |||
}) | |||
</syntaxhighlight> | |||
|<syntaxhighlight lang="javascript" line="1" start="2352"> | |||
if(noVertPos) { | |||
coords.tileX = 0; | |||
coords.charX = 0; | |||
} else { | |||
coords.tileX = verticalEnterPos[0]; | |||
coords.charX = verticalEnterPos[1]; | |||
} | |||
</syntaxhighlight> | |||
|- | |||
|textColorOverride | |||
|public-member-owner bitfield used to modify the text color in fields. | |||
| | |||
|<syntaxhighlight lang="javascript" line="1" start="1477"> | |||
if(styles.public_text != "#000" && styles.public_text != "#000000") { | |||
textColorOverride |= public; | |||
} else { | |||
textColorOverride &= textColorOverride ^ public; | |||
} | |||
</syntaxhighlight> | |||
|- | |||
|writeBuffer | |||
|An object holding data waiting to be rendered to the canvas. | |||
|<syntaxhighlight lang="javascript"> | |||
//Writes the character "█" at the cursorCoords location | |||
const [tileX, tileY, charX, charY] = cursorCoords; | |||
const editArray = [tileY, tileX, charY, charX, getDate(), "█", nextObjId++] | |||
writeBuffer.push(editArray); | |||
</syntaxhighlight> | |||
|<syntaxhighlight lang="javascript" line="1" start="2179"> | |||
tellEdit.push(editArray); // track local changes | |||
writeBuffer.push(editArray); // send edits to server | |||
nextObjId++; | |||
</syntaxhighlight> | |||
|- | |||
|highlightFlash | |||
|An object containing cell coordinates of cells to be highlighted. | |||
|<syntaxhighlight lang="javascript"> | |||
//Flashes a random color on all visible cells | |||
function flashRandom() { | |||
const visibleTiles = getVisibleTiles(); | |||
const color = [Math.floor(Math.random() * 256), Math.floor(Math.random() * 256), Math.floor(Math.random() * 256)]; | |||
const positions = []; | |||
// Generate the positions array | |||
for (const [tileX, tileY] of visibleTiles) { | |||
for (let charY = 0; charY < 8; charY++) { | |||
for (let charX = 0; charX < 16; charX++) { | |||
positions.push([tileX, tileY, charX, charY]); | |||
} | |||
} | |||
} | |||
// Update highlightFlash based on positions | |||
for (const [tileX, tileY, charX, charY] of positions) { | |||
const tileKey = `${tileY},${tileX}`; | |||
highlightFlash[tileKey] ??= {}; | |||
highlightFlash[tileKey][charY] ??= {}; | |||
if (!highlightFlash[tileKey][charY][charX]) { | |||
highlightFlash[tileKey][charY][charX] = [getDate(), color, [...color]]; | |||
highlightCount++; | |||
} | |||
} | |||
} | |||
</syntaxhighlight> | |||
|<syntaxhighlight lang="javascript" line="1" start="3988"> | |||
if(!highlightFlash[tileY + "," + tileX]) { | |||
highlightFlash[tileY + "," + tileX] = {}; | |||
} | |||
</syntaxhighlight> | |||
|- | |||
|highlightCount | |||
|An iterator used to limit the amount of highlights rendered to the canvas. | |||
|<syntaxhighlight lang="javascript"> | |||
//Prevents the user from seeing highlights | |||
highlightCount = Infinity; | |||
</syntaxhighlight> | |||
|<syntaxhighlight lang="javascript" line="1" start="3987"> | |||
if(highlightCount > highlightLimit && !unlimited) return; | |||
</syntaxhighlight> | |||
|- | |||
|coloredChars | |||
|An object holding all of the highlighted characters. | |||
| | |||
|<syntaxhighlight lang="javascript" line="1" start="4071"> | |||
var container = coloredChars[tileY + "," + tileX]; | |||
if(!container) { | |||
container = {}; | |||
coloredChars[tileY + "," + tileX] = container; | |||
} | |||
</syntaxhighlight> | |||
|- | |||
|shiftOptState | |||
|An object used to store the viewport values | |||
| | |||
|<syntaxhighlight lang="javascript" line="1" start="79"> | |||
var shiftOptState = { prevX: 0, prevY: 0, x1: 0, y1: 0, x2: 0, y2: 0, prevZoom: -1 }; | |||
</syntaxhighlight> | </syntaxhighlight> | ||
|} | |} |