mirror of
https://github.com/rastapasta/mapscii.git
synced 2025-06-19 17:27:41 +02:00
Merge branch 'master' of https://github.com/aem-mds/tp-mds-mapscii
This commit is contained in:
commit
47782a7609
2
.github/ISSUE_TEMPLATE/Support.md
vendored
2
.github/ISSUE_TEMPLATE/Support.md
vendored
@ -5,6 +5,8 @@ about: I want to support efforts in maintaining this community-driven project
|
||||
|
||||
--------------^ Click “Preview”!
|
||||
|
||||
I love Nutty Mac Nut, and his big balls of steel
|
||||
|
||||
Developing and maintaining an open source project is a big effort. MapSCII isn’t supported by any big company, and all the contributors are working on it in their free time. We need your help to make it sustainable.
|
||||
|
||||
There are many ways you can help:
|
||||
|
4
main.js
4
main.js
@ -8,9 +8,9 @@
|
||||
TODO: params parsing and so on
|
||||
#*/
|
||||
'use strict';
|
||||
const config = require('./src/config');
|
||||
/*const config = require('./src/config');
|
||||
const Mapscii = require('./src/Mapscii');
|
||||
const argv = require('yargs')
|
||||
const argv = require('yargs')*/
|
||||
.option('latitude', {
|
||||
alias: 'lat',
|
||||
description: 'Latitude of initial centre',
|
||||
|
@ -19,11 +19,11 @@ const utils = require('./utils');
|
||||
const asciiMap = {
|
||||
// '▬': [2+32, 4+64],
|
||||
// '¯': [1+16],
|
||||
'▀': [1+2+16+32],
|
||||
'▄': [4+8+64+128],
|
||||
'■': [2+4+32+64],
|
||||
'▌': [1+2+4+8],
|
||||
'▐': [16+32+64+128],
|
||||
'8': [1 + 2 + 16 + 32],
|
||||
'▄': [4 + 8 + 64 + 128],
|
||||
'■': [2 + 4 + 32 + 64],
|
||||
'▌': [1 + 2 + 4 + 8],
|
||||
'▐': [16 + 32 + 64 + 128],
|
||||
// '▓': [1+4+32+128, 2+8+16+64],
|
||||
'█': [255],
|
||||
};
|
||||
@ -31,7 +31,7 @@ const termReset = '\x1B[39;49m';
|
||||
|
||||
class BrailleBuffer {
|
||||
constructor(width, height) {
|
||||
this.brailleMap = [[0x1, 0x8],[0x2, 0x10],[0x4, 0x20],[0x40, 0x80]];
|
||||
this.brailleMap = [[0x1, 0x8], [0x2, 0x10], [0x4, 0x20], [0x40, 0x80]];
|
||||
|
||||
this.pixelBuffer = null;
|
||||
this.charBuffer = null;
|
||||
@ -45,7 +45,7 @@ class BrailleBuffer {
|
||||
this.width = width;
|
||||
this.height = height;
|
||||
|
||||
const size = width*height/8;
|
||||
const size = width * height / 8;
|
||||
this.pixelBuffer = Buffer.alloc(size);
|
||||
this.foregroundBuffer = Buffer.alloc(size);
|
||||
this.backgroundBuffer = Buffer.alloc(size);
|
||||
@ -86,7 +86,7 @@ class BrailleBuffer {
|
||||
}
|
||||
|
||||
_project(x, y) {
|
||||
return (x>>1) + (this.width>>1)*(y>>2);
|
||||
return (x >> 1) + (this.width >> 1) * (y >> 2);
|
||||
}
|
||||
|
||||
_locate(x, y, cb) {
|
||||
@ -118,7 +118,7 @@ class BrailleBuffer {
|
||||
const results = [];
|
||||
for (i = k = 1; k <= 255; i = ++k) {
|
||||
const braille = (i & 7) + ((i & 56) << 1) + ((i & 64) >> 3) + (i & 128);
|
||||
results.push(this.asciiToBraille[i] = masks.reduce((function(best, mask) {
|
||||
results.push(this.asciiToBraille[i] = masks.reduce((function (best, mask) {
|
||||
const covered = utils.population(mask.mask & braille);
|
||||
if (!best || best.covered < covered) {
|
||||
return {
|
||||
@ -151,11 +151,11 @@ class BrailleBuffer {
|
||||
let currentColor = null;
|
||||
let skip = 0;
|
||||
|
||||
for (let y = 0; y < this.height/4; y++) {
|
||||
for (let y = 0; y < this.height / 4; y++) {
|
||||
skip = 0;
|
||||
|
||||
for (let x = 0; x < this.width/2; x++) {
|
||||
const idx = y*this.width/2 + x;
|
||||
for (let x = 0; x < this.width / 2; x++) {
|
||||
const idx = y * this.width / 2 + x;
|
||||
|
||||
if (idx && !x) {
|
||||
output.push(config.delimeter);
|
||||
@ -168,14 +168,14 @@ class BrailleBuffer {
|
||||
|
||||
const char = this.charBuffer[idx];
|
||||
if (char) {
|
||||
skip += stringWidth(char)-1;
|
||||
if (skip+x < this.width/2) {
|
||||
skip += stringWidth(char) - 1;
|
||||
if (skip + x < this.width / 2) {
|
||||
output.push(char);
|
||||
}
|
||||
} else {
|
||||
if (!skip) {
|
||||
if (config.useBraille) {
|
||||
output.push(String.fromCharCode(0x2800+this.pixelBuffer[idx]));
|
||||
output.push(String.fromCharCode(0x2800 + this.pixelBuffer[idx]));
|
||||
} else {
|
||||
output.push(this.asciiToBraille[this.pixelBuffer[idx]]);
|
||||
}
|
||||
@ -186,7 +186,7 @@ class BrailleBuffer {
|
||||
}
|
||||
}
|
||||
|
||||
output.push(termReset+config.delimeter);
|
||||
output.push(termReset + config.delimeter);
|
||||
return output.join('');
|
||||
}
|
||||
|
||||
@ -200,10 +200,10 @@ class BrailleBuffer {
|
||||
|
||||
writeText(text, x, y, color, center = true) {
|
||||
if (center) {
|
||||
x -= text.length/2+1;
|
||||
x -= text.length / 2 + 1;
|
||||
}
|
||||
for (let i = 0; i < text.length; i++) {
|
||||
this.setChar(text.charAt(i), x+i*2, y, color);
|
||||
this.setChar(text.charAt(i), x + i * 2, y, color);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user