aboutsummaryrefslogtreecommitdiff
path: root/socket.js
diff options
context:
space:
mode:
authorHolden Rohrer <holden.rohrer@gmail.com>2019-12-27 13:14:52 -0500
committerHolden Rohrer <holden.rohrer@gmail.com>2019-12-27 13:14:52 -0500
commitdcb0b1aa91ca09095be16350fc2e9758b6c07a9d (patch)
tree2b7ac26d71bea102483165eb88f522ec6331ac72 /socket.js
parentb4c0c263dffeb9c7a3b162c6e168a2d46c8389c5 (diff)
fixed negative modulus bug in socket
Diffstat (limited to 'socket.js')
-rw-r--r--socket.js10
1 files changed, 9 insertions, 1 deletions
diff --git a/socket.js b/socket.js
index f2502e8..e819e17 100644
--- a/socket.js
+++ b/socket.js
@@ -2,6 +2,8 @@
const ws = require('ws')
const EventEmitter = require('events');
+let mod = (div, end) => ( ( (div % end) + end ) % end ) // Makes it such that (-2) % 3 = 1 instead of -2.
+
class retryws extends EventEmitter{ // a wrapper on ws that retries on failure
constructor(addr) {
super();
@@ -63,7 +65,13 @@ class Socket extends retryws {
for (var i=0; i<chars.length; i++){
let char = chars[i]
let coord = char[0];
- chars[i] = [Math.floor(coord[0]/8),Math.floor(coord[1]/16),(coord[0] % 8),(coord[1] % 16),char[1]];
+ chars[i] = [
+ Math.floor(coord[0]/8),
+ Math.floor(coord[1]/16),
+ mod(coord[0], 8),
+ mod(coord[1], 16),
+ char[1]
+ ];
chars[i].splice(4,0,0);
chars[i].push(i);
}