teeworlds 2.0.5 → 2.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,10 +1,13 @@
1
1
  # tw-chatonly
2
2
  Library to connect a bot to a Teeworlds server.
3
3
 
4
+ https://www.npmjs.com/package/teeworlds
5
+
6
+
4
7
  # Usage
5
8
  Example file:
6
- ```const test = require('teeworlds');
7
- let client = new test.Client("127.0.0.1", 8303, "test");
9
+ ```const teeworlds = require('teeworlds');
10
+ let client = new teeworlds.Client("127.0.0.1", 8303, "nameless tee");
8
11
 
9
12
  client.connect();
10
13
 
package/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- import _Client = require("./lib/client")
1
+ import _Client = require("./lib/client");
2
2
  import _MsgPacker = require("./lib/MsgPacker");
3
3
 
4
4
  export const Client = _Client;
package/lib/huffman.js CHANGED
@@ -1,7 +1,4 @@
1
1
  "use strict";
2
- // from Ryozuki, found on ddnet discord ( 11.10.2018 )
3
- // from typing import List
4
- // from sys import argv
5
2
  var FREQ_TABLE = [
6
3
  1 << 30, 4545, 2657, 431, 1950, 919, 444, 482, 2244, 617, 838, 542, 715, 1814, 304, 240, 754, 212, 647, 186,
7
4
  283, 131, 146, 166, 543, 164, 167, 136, 179, 859, 363, 113, 157, 154, 204, 108, 137, 180, 202, 176,
@@ -17,22 +14,9 @@ var FREQ_TABLE = [
17
14
  12, 18, 18, 27, 20, 18, 15, 19, 11, 17, 33, 12, 18, 15, 19, 18, 16, 26, 17, 18,
18
15
  9, 10, 25, 22, 22, 17, 20, 16, 6, 16, 15, 20, 14, 18, 24, 335, 1517
19
16
  ], HUFFMAN_EOF_SYMBOL = 256, HUFFMAN_MAX_SYMBOLS = HUFFMAN_EOF_SYMBOL + 1, HUFFMAN_MAX_NODES = HUFFMAN_MAX_SYMBOLS * 2 - 1, HUFFMAN_LUTBITS = 10, HUFFMAN_LUTSIZE = 1 << HUFFMAN_LUTBITS, HUFFMAN_LUTMASK = HUFFMAN_LUTSIZE - 1;
20
- // class HuffmanConstructNode {
21
- // node_id: number;
22
- // frequency: number;
23
- // constructor(node_id: number, frequency: number) {
24
- // this.node_id = node_id;
25
- // this.frequency = frequency;
26
- // }
27
- // }
28
- // class HuffmanConstructNode:
29
- // def __init__(self):
30
- // self.node_id: int = None
31
- // self.frequency: int = None
32
17
  var Huffman = /** @class */ (function () {
33
18
  function Huffman(frequencies) {
34
19
  if (frequencies === void 0) { frequencies = FREQ_TABLE; }
35
- // this.frequencies = frequencies;
36
20
  this.nodes = new Array(HUFFMAN_MAX_NODES);
37
21
  for (var i = 0; i < HUFFMAN_MAX_NODES; i++) {
38
22
  this.nodes[i] = {};
@@ -41,7 +25,6 @@ var Huffman = /** @class */ (function () {
41
25
  this.num_nodes = 0;
42
26
  this.start_node_index = 0;
43
27
  this.construct_tree(frequencies);
44
- var xx = 0;
45
28
  for (var i = 0; i < HUFFMAN_LUTSIZE; i++) {
46
29
  var bits = i;
47
30
  var broke = false;
@@ -153,34 +136,6 @@ var Huffman = /** @class */ (function () {
153
136
  }
154
137
  output.push(bits);
155
138
  return Buffer.from(output);
156
- /* output = bytearray()
157
- bits = 0
158
- bitcount = 0
159
-
160
- if size is None:
161
- size = len(inp_buffer)
162
-
163
- for x in inp_buffer[start_index:size:]:
164
- bits |= self.nodes[x].bits << bitcount
165
- bitcount += self.nodes[x].numbits
166
-
167
- while bitcount >= 8:
168
- output.append(bits & 0xff)
169
- bits >>= 8
170
- bitcount -= 8
171
-
172
- bits |= self.nodes[HUFFMAN_EOF_SYMBOL].bits << bitcount
173
- bitcount += self.nodes[HUFFMAN_EOF_SYMBOL].numbits
174
-
175
- while bitcount >= 8:
176
- output.append(bits & 0xff)
177
- bits >>= 8
178
- bitcount -= 8
179
-
180
- # write out last bits
181
- output.append(bits)
182
- return output
183
- */
184
139
  };
185
140
  Huffman.prototype.decompress = function (inp_buffer, size) {
186
141
  if (size === void 0) { size = 0; }
@@ -203,7 +158,6 @@ var Huffman = /** @class */ (function () {
203
158
  }
204
159
  if (node_i == -1)
205
160
  node_i = this.decode_lut[bits & HUFFMAN_LUTMASK];
206
- // console.log(node_i, bits & HUFFMAN_LUTMASK, this.decode_lut)
207
161
  if (this.nodes[node_i].numbits) {
208
162
  bits >>= this.nodes[node_i].numbits;
209
163
  bitcount -= this.nodes[node_i].numbits;
package/lib/huffman.ts CHANGED
@@ -1,6 +1,3 @@
1
- // from Ryozuki, found on ddnet discord ( 11.10.2018 )
2
- // from typing import List
3
- // from sys import argv
4
1
  let FREQ_TABLE = [
5
2
  1 << 30, 4545, 2657, 431, 1950, 919, 444, 482, 2244, 617, 838, 542, 715, 1814, 304, 240, 754, 212, 647, 186,
6
3
  283, 131, 146, 166, 543, 164, 167, 136, 179, 859, 363, 113, 157, 154, 204, 108, 137, 180, 202, 176,
@@ -31,44 +28,12 @@ interface HuffmanNode {
31
28
  symbol: number;
32
29
  }
33
30
 
34
- // class HuffmanNode {
35
- // bits: number;
36
- // numbits: number;
37
- // left: number;
38
- // right: number;
39
- // symbol: number;
40
- // constructor(/*bits: number, numbits: number, left: number, right: number, symbol: number*/) {
41
- // this.bits = -1;
42
- // this.numbits = -1;
43
- // this.left = -1;
44
- // this.right = -1;
45
- // this.symbol = -1;
46
- // }
47
-
48
- // equal(node: HuffmanNode) {
49
- // return this.bits == node.bits && this.numbits == node.numbits && this.left == node.left && this.right == node.right && this.symbol == node.symbol;
50
- // }
51
-
52
- // }
53
31
 
54
32
  interface HuffmanConstructNode {
55
33
  node_id: number;
56
34
  frequency: number;
57
35
  }
58
36
 
59
- // class HuffmanConstructNode {
60
- // node_id: number;
61
- // frequency: number;
62
- // constructor(node_id: number, frequency: number) {
63
- // this.node_id = node_id;
64
- // this.frequency = frequency;
65
- // }
66
- // }
67
- // class HuffmanConstructNode:
68
- // def __init__(self):
69
- // self.node_id: int = None
70
- // self.frequency: int = None
71
-
72
37
  class Huffman {
73
38
  nodes: HuffmanNode[];
74
39
  decode_lut: number[];
@@ -76,7 +41,6 @@ class Huffman {
76
41
  start_node_index: number;
77
42
 
78
43
  constructor(frequencies = FREQ_TABLE) {
79
- // this.frequencies = frequencies;
80
44
  this.nodes = new Array<HuffmanNode>(HUFFMAN_MAX_NODES);
81
45
  for (let i = 0; i < HUFFMAN_MAX_NODES; i++) {
82
46
  this.nodes[i] = {} as HuffmanNode;
@@ -87,7 +51,6 @@ class Huffman {
87
51
 
88
52
  this.construct_tree(frequencies);
89
53
 
90
- let xx = 0;
91
54
 
92
55
  for (let i = 0; i < HUFFMAN_LUTSIZE; i++) {
93
56
  let bits = i;
@@ -207,35 +170,6 @@ class Huffman {
207
170
  }
208
171
  output.push(bits);
209
172
  return Buffer.from(output);
210
-
211
- /* output = bytearray()
212
- bits = 0
213
- bitcount = 0
214
-
215
- if size is None:
216
- size = len(inp_buffer)
217
-
218
- for x in inp_buffer[start_index:size:]:
219
- bits |= self.nodes[x].bits << bitcount
220
- bitcount += self.nodes[x].numbits
221
-
222
- while bitcount >= 8:
223
- output.append(bits & 0xff)
224
- bits >>= 8
225
- bitcount -= 8
226
-
227
- bits |= self.nodes[HUFFMAN_EOF_SYMBOL].bits << bitcount
228
- bitcount += self.nodes[HUFFMAN_EOF_SYMBOL].numbits
229
-
230
- while bitcount >= 8:
231
- output.append(bits & 0xff)
232
- bits >>= 8
233
- bitcount -= 8
234
-
235
- # write out last bits
236
- output.append(bits)
237
- return output
238
- */
239
173
  }
240
174
  decompress(inp_buffer: Buffer, size = 0): Buffer {
241
175
 
@@ -259,7 +193,6 @@ class Huffman {
259
193
  }
260
194
  if (node_i == -1)
261
195
  node_i = this.decode_lut[bits & HUFFMAN_LUTMASK];
262
- // console.log(node_i, bits & HUFFMAN_LUTMASK, this.decode_lut)
263
196
  if (this.nodes[node_i].numbits) {
264
197
  bits >>= this.nodes[node_i].numbits;
265
198
  bitcount -= this.nodes[node_i].numbits;
@@ -289,54 +222,7 @@ class Huffman {
289
222
  return Buffer.from(output);
290
223
  }
291
224
 
292
- /*bits = 0
293
- bitcount = 0
294
- eof = self.nodes[HUFFMAN_EOF_SYMBOL]
295
- output = bytearray()
296
-
297
- if size is None:
298
- size = len(inp_buffer)
299
-
300
- src_index = 0
301
- while True:
302
- node_i = None
303
- if bitcount >= HUFFMAN_LUTBITS:
304
- node_i = self.decode_lut[bits & HUFFMAN_LUTMASK]
305
-
306
- while bitcount < 24 and src_index != size:
307
- bits |= inp_buffer[src_index] << bitcount
308
- src_index += 1
309
- bitcount += 8
310
-
311
- if node_i is None:
312
- node_i = self.decode_lut[bits & HUFFMAN_LUTMASK]
313
- if self.nodes[node_i].numbits:
314
- bits >>= self.nodes[node_i].numbits
315
- bitcount -= self.nodes[node_i].numbits
316
- else:
317
- bits >>= HUFFMAN_LUTBITS
318
- bitcount -= HUFFMAN_LUTBITS
319
-
320
- while True:
321
- if bits & 1:
322
- node_i = self.nodes[node_i].right
323
- else:
324
- node_i = self.nodes[node_i].left
325
-
326
- bitcount -= 1
327
- bits >>= 1
328
-
329
- if self.nodes[node_i].numbits:
330
- break
331
-
332
- if bitcount === 0:
333
- raise ValueError("No more bits, decoding error")
334
-
335
- if self.nodes[node_i] === eof:
336
- break
337
- output.append(self.nodes[node_i].symbol)
338
-
339
- return output */
225
+
340
226
  }
341
227
 
342
228
  export = Huffman;
package/lib/snapshot.js CHANGED
@@ -332,11 +332,15 @@ var Snapshot = /** @class */ (function () {
332
332
  // console.log(_size, "size!")
333
333
  var data = [];
334
334
  for (var i = 0; i < _size; i++) {
335
- snap = MsgUnpacker.unpackInt(snap).remaining;
336
- data.push(MsgUnpacker.unpackInt(snap).result);
337
335
  if (snap.length == 0) {
338
336
  items.lost++;
339
337
  }
338
+ if (snap[0]) {
339
+ snap = MsgUnpacker.unpackInt(snap).remaining;
340
+ data.push(MsgUnpacker.unpackInt(snap).result);
341
+ }
342
+ else
343
+ break;
340
344
  }
341
345
  if (type_id > 0x4000 || type_id == 0) {
342
346
  if (_size == 5 && id == 0) {
@@ -350,8 +354,8 @@ var Snapshot = /** @class */ (function () {
350
354
  // score: (!players[id] == undefined || typeof players[id].score == 'undefined') ? -1 : players[id].score
351
355
  };
352
356
  // console.log(Ddnet_Character)
353
- // if (Ddnet_Character.freeze_end > 0 || Ddnet_Character.freeze_end == -1) {// freezed or deepfreezed
354
- // } // console.log(Ddnet_Character)
357
+ if (Ddnet_Character.freeze_end > 0 || Ddnet_Character.freeze_end == -1) // freezed or deepfreezed
358
+ console.log(Ddnet_Character);
355
359
  } // else
356
360
  // console.log("lolol uuid??", _size, type_id, id, data)
357
361
  }
package/lib/snapshot.ts CHANGED
@@ -336,11 +336,15 @@ class Snapshot {
336
336
 
337
337
  var data: number[] = []
338
338
  for (let i = 0; i < _size; i++) {
339
- snap = MsgUnpacker.unpackInt(snap).remaining;
340
- data.push(MsgUnpacker.unpackInt(snap).result);
341
339
  if (snap.length == 0) {
342
340
  items.lost++;
343
341
  }
342
+ if (snap[0]) {
343
+ snap = MsgUnpacker.unpackInt(snap).remaining;
344
+ data.push(MsgUnpacker.unpackInt(snap).result);
345
+ } else
346
+ break;
347
+
344
348
  }
345
349
  if (type_id > 0x4000 || type_id == 0) {
346
350
  if (_size == 5 && id == 0) {
@@ -354,9 +358,9 @@ class Snapshot {
354
358
  // score: (!players[id] == undefined || typeof players[id].score == 'undefined') ? -1 : players[id].score
355
359
  }
356
360
  // console.log(Ddnet_Character)
357
- // if (Ddnet_Character.freeze_end > 0 || Ddnet_Character.freeze_end == -1) {// freezed or deepfreezed
361
+ if (Ddnet_Character.freeze_end > 0 || Ddnet_Character.freeze_end == -1) // freezed or deepfreezed
358
362
 
359
- // } // console.log(Ddnet_Character)
363
+ console.log(Ddnet_Character)
360
364
  } // else
361
365
  // console.log("lolol uuid??", _size, type_id, id, data)
362
366
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "teeworlds",
3
- "version": "2.0.5",
3
+ "version": "2.0.8",
4
4
  "description": "Library for (ingame) teeworlds bots.",
5
5
  "license": "MIT",
6
6
  "main": "index.js",