ultimatedarktower 2.5.0 → 4.0.0
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/CHANGELOG.md +61 -1
- package/README.md +84 -71
- package/dist/esm/index.mjs +1270 -268
- package/dist/src/UltimateDarkTower.d.ts +48 -6
- package/dist/src/UltimateDarkTower.js +115 -53
- package/dist/src/UltimateDarkTower.js.map +1 -1
- package/dist/src/adapters/NodeBluetoothAdapter.js +9 -5
- package/dist/src/adapters/NodeBluetoothAdapter.js.map +1 -1
- package/dist/src/adapters/WebBluetoothAdapter.js +11 -8
- package/dist/src/adapters/WebBluetoothAdapter.js.map +1 -1
- package/dist/src/index.d.ts +8 -0
- package/dist/src/index.js +34 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/sinks/IndexedDBSink.d.ts +26 -0
- package/dist/src/sinks/IndexedDBSink.js +165 -0
- package/dist/src/sinks/IndexedDBSink.js.map +1 -0
- package/dist/src/udtBleConnection.d.ts +28 -5
- package/dist/src/udtBleConnection.js +80 -13
- package/dist/src/udtBleConnection.js.map +1 -1
- package/dist/src/udtBluetoothAdapter.d.ts +6 -6
- package/dist/src/udtBluetoothAdapter.js.map +1 -1
- package/dist/src/udtCommandFactory.d.ts +6 -0
- package/dist/src/udtCommandFactory.js +26 -22
- package/dist/src/udtCommandFactory.js.map +1 -1
- package/dist/src/udtCommandQueue.d.ts +6 -3
- package/dist/src/udtCommandQueue.js +28 -5
- package/dist/src/udtCommandQueue.js.map +1 -1
- package/dist/src/udtConstants.d.ts +3 -8
- package/dist/src/udtConstants.js +2 -0
- package/dist/src/udtConstants.js.map +1 -1
- package/dist/src/udtDiagnostics.d.ts +122 -0
- package/dist/src/udtDiagnostics.js +228 -0
- package/dist/src/udtDiagnostics.js.map +1 -0
- package/dist/src/udtGameBoard.d.ts +38 -0
- package/dist/src/udtGameBoard.js +86 -0
- package/dist/src/udtGameBoard.js.map +1 -0
- package/dist/src/udtLogger.d.ts +16 -0
- package/dist/src/udtLogger.js +41 -2
- package/dist/src/udtLogger.js.map +1 -1
- package/dist/src/udtSeedParser.d.ts +124 -0
- package/dist/src/udtSeedParser.js +369 -0
- package/dist/src/udtSeedParser.js.map +1 -0
- package/dist/src/udtSystemRandom.d.ts +58 -0
- package/dist/src/udtSystemRandom.js +154 -0
- package/dist/src/udtSystemRandom.js.map +1 -0
- package/dist/src/udtTowerCommands.d.ts +4 -2
- package/dist/src/udtTowerCommands.js +24 -43
- package/dist/src/udtTowerCommands.js.map +1 -1
- package/dist/src/udtTowerResponse.d.ts +9 -5
- package/dist/src/udtTowerResponse.js +5 -6
- package/dist/src/udtTowerResponse.js.map +1 -1
- package/package.json +5 -1
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* udtSystemRandom.ts — TypeScript replica of C# System.Random.
|
|
4
|
+
*
|
|
5
|
+
* Implements the .NET Framework System.Random PRNG algorithm exactly,
|
|
6
|
+
* producing identical sequences for identical seeds. This is necessary
|
|
7
|
+
* because Return to Dark Tower (Unity/.NET) uses System.Random for all
|
|
8
|
+
* procedural generation.
|
|
9
|
+
*
|
|
10
|
+
* Algorithm: Modified Knuth subtractive generator.
|
|
11
|
+
* Reference: .NET Framework 4.x source (unchanged since .NET 1.0).
|
|
12
|
+
*
|
|
13
|
+
* All arithmetic uses 32-bit signed integer semantics via (value | 0)
|
|
14
|
+
* to match C#'s int overflow behavior.
|
|
15
|
+
*/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.SystemRandom = void 0;
|
|
18
|
+
const INT32_MAX = 0x7fffffff; // 2147483647
|
|
19
|
+
const MSEED = 161803398;
|
|
20
|
+
/**
|
|
21
|
+
* Truncate a JavaScript number to a 32-bit signed integer,
|
|
22
|
+
* matching C# int overflow behavior.
|
|
23
|
+
*/
|
|
24
|
+
function toInt32(n) {
|
|
25
|
+
return n | 0;
|
|
26
|
+
}
|
|
27
|
+
class SystemRandom {
|
|
28
|
+
/**
|
|
29
|
+
* Create a new PRNG instance with the given seed.
|
|
30
|
+
* Matches C# `new System.Random(seed)` exactly.
|
|
31
|
+
*/
|
|
32
|
+
constructor(seed) {
|
|
33
|
+
this.seedArray = new Array(56).fill(0);
|
|
34
|
+
this.inext = 0;
|
|
35
|
+
this.inextp = 0;
|
|
36
|
+
this.initialize(seed);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Replicate .NET's System.Random constructor seeding algorithm.
|
|
40
|
+
*/
|
|
41
|
+
initialize(seed) {
|
|
42
|
+
// C#: int ii; int mj, mk;
|
|
43
|
+
// int subtraction = (Seed == Int32.MinValue) ? Int32.MaxValue : Math.Abs(Seed);
|
|
44
|
+
let subtraction;
|
|
45
|
+
if (seed === -2147483648) {
|
|
46
|
+
// Int32.MinValue — Math.Abs would overflow in C#
|
|
47
|
+
subtraction = INT32_MAX;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
subtraction = Math.abs(seed);
|
|
51
|
+
}
|
|
52
|
+
// mj = MSEED - subtraction;
|
|
53
|
+
let mj = toInt32(MSEED - subtraction);
|
|
54
|
+
this.seedArray[55] = mj;
|
|
55
|
+
// mk = 1;
|
|
56
|
+
let mk = 1;
|
|
57
|
+
// for (int i = 1; i < 55; i++)
|
|
58
|
+
for (let i = 1; i < 55; i++) {
|
|
59
|
+
// int ii = (21*i)%55;
|
|
60
|
+
const ii = (21 * i) % 55;
|
|
61
|
+
this.seedArray[ii] = mk;
|
|
62
|
+
// mk = mj - mk;
|
|
63
|
+
mk = toInt32(mj - mk);
|
|
64
|
+
// if (mk<0) mk += MBIG;
|
|
65
|
+
if (mk < 0)
|
|
66
|
+
mk = toInt32(mk + INT32_MAX);
|
|
67
|
+
mj = this.seedArray[ii];
|
|
68
|
+
}
|
|
69
|
+
// for (int k = 1; k < 5; k++)
|
|
70
|
+
for (let k = 1; k < 5; k++) {
|
|
71
|
+
// for (int i = 1; i < 56; i++)
|
|
72
|
+
for (let i = 1; i < 56; i++) {
|
|
73
|
+
// SeedArray[i] -= SeedArray[1+(i+30)%55];
|
|
74
|
+
this.seedArray[i] = toInt32(this.seedArray[i] - this.seedArray[1 + ((i + 30) % 55)]);
|
|
75
|
+
// if (SeedArray[i]<0) SeedArray[i] += MBIG;
|
|
76
|
+
if (this.seedArray[i] < 0) {
|
|
77
|
+
this.seedArray[i] = toInt32(this.seedArray[i] + INT32_MAX);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
this.inext = 0;
|
|
82
|
+
this.inextp = 21;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Internal sample — returns value in range [0, Int32.MaxValue).
|
|
86
|
+
* Matches C#'s InternalSample().
|
|
87
|
+
*/
|
|
88
|
+
internalSample() {
|
|
89
|
+
let retVal;
|
|
90
|
+
let locINext = this.inext;
|
|
91
|
+
let locINextp = this.inextp;
|
|
92
|
+
if (++locINext >= 56)
|
|
93
|
+
locINext = 1;
|
|
94
|
+
if (++locINextp >= 56)
|
|
95
|
+
locINextp = 1;
|
|
96
|
+
retVal = toInt32(this.seedArray[locINext] - this.seedArray[locINextp]);
|
|
97
|
+
if (retVal === INT32_MAX)
|
|
98
|
+
retVal--;
|
|
99
|
+
if (retVal < 0)
|
|
100
|
+
retVal = toInt32(retVal + INT32_MAX);
|
|
101
|
+
this.seedArray[locINext] = retVal;
|
|
102
|
+
this.inext = locINext;
|
|
103
|
+
this.inextp = locINextp;
|
|
104
|
+
return retVal;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Sample — returns a double in range [0.0, 1.0).
|
|
108
|
+
* Matches C#'s Sample().
|
|
109
|
+
*/
|
|
110
|
+
sample() {
|
|
111
|
+
return this.internalSample() * (1.0 / INT32_MAX);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Returns a non-negative random integer less than Int32.MaxValue.
|
|
115
|
+
* Matches C# `Random.Next()`.
|
|
116
|
+
*/
|
|
117
|
+
next() {
|
|
118
|
+
return this.internalSample();
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Returns a non-negative random integer less than maxValue.
|
|
122
|
+
* Matches C# `Random.Next(maxValue)`.
|
|
123
|
+
*/
|
|
124
|
+
nextMax(maxValue) {
|
|
125
|
+
if (maxValue < 0) {
|
|
126
|
+
throw new Error('maxValue must be non-negative');
|
|
127
|
+
}
|
|
128
|
+
return toInt32(this.sample() * maxValue);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Returns a random integer in range [minValue, maxValue).
|
|
132
|
+
* Matches C# `Random.Next(minValue, maxValue)`.
|
|
133
|
+
*/
|
|
134
|
+
nextRange(minValue, maxValue) {
|
|
135
|
+
if (minValue > maxValue) {
|
|
136
|
+
throw new Error('minValue must be less than or equal to maxValue');
|
|
137
|
+
}
|
|
138
|
+
const range = maxValue - minValue;
|
|
139
|
+
if (range <= INT32_MAX) {
|
|
140
|
+
return toInt32(this.sample() * range) + minValue;
|
|
141
|
+
}
|
|
142
|
+
// Large range — use double precision
|
|
143
|
+
return toInt32(this.internalSample() * (1.0 / INT32_MAX) * range) + minValue;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Returns a random double in range [0.0, 1.0).
|
|
147
|
+
* Matches C# `Random.NextDouble()`.
|
|
148
|
+
*/
|
|
149
|
+
nextDouble() {
|
|
150
|
+
return this.sample();
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
exports.SystemRandom = SystemRandom;
|
|
154
|
+
//# sourceMappingURL=udtSystemRandom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"udtSystemRandom.js","sourceRoot":"","sources":["../../src/udtSystemRandom.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { Logger } from './udtLogger';
|
|
|
4
4
|
import { UdtCommandFactory } from './udtCommandFactory';
|
|
5
5
|
import { UdtBleConnection } from './udtBleConnection';
|
|
6
6
|
import { TowerResponseProcessor } from './udtTowerResponse';
|
|
7
|
+
import type { UdtDiagnosticsRecorder } from './udtDiagnostics';
|
|
7
8
|
export interface TowerCommandDependencies {
|
|
8
9
|
logger: Logger;
|
|
9
10
|
commandFactory: UdtCommandFactory;
|
|
@@ -16,6 +17,7 @@ export interface TowerCommandDependencies {
|
|
|
16
17
|
retrySendCommandMax: number;
|
|
17
18
|
getCurrentTowerState: () => TowerState;
|
|
18
19
|
setTowerState: (newState: TowerState, source: string) => void;
|
|
20
|
+
recorder?: UdtDiagnosticsRecorder;
|
|
19
21
|
}
|
|
20
22
|
export declare class UdtTowerCommands {
|
|
21
23
|
private deps;
|
|
@@ -199,9 +201,9 @@ export declare class UdtTowerCommands {
|
|
|
199
201
|
isProcessing: boolean;
|
|
200
202
|
currentCommand: {
|
|
201
203
|
id: string;
|
|
202
|
-
description: string;
|
|
204
|
+
description: string | undefined;
|
|
203
205
|
timestamp: number;
|
|
204
|
-
};
|
|
206
|
+
} | null;
|
|
205
207
|
};
|
|
206
208
|
/**
|
|
207
209
|
* Clear the command queue (for cleanup or error recovery)
|
|
@@ -8,7 +8,7 @@ class UdtTowerCommands {
|
|
|
8
8
|
constructor(dependencies) {
|
|
9
9
|
this.deps = dependencies;
|
|
10
10
|
// Initialize command queue with the actual send function
|
|
11
|
-
this.commandQueue = new udtCommandQueue_1.CommandQueue(this.deps.logger, (command) => this.sendTowerCommandDirect(command));
|
|
11
|
+
this.commandQueue = new udtCommandQueue_1.CommandQueue(this.deps.logger, (command) => this.sendTowerCommandDirect(command), this.deps.recorder);
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
14
|
* Sends a command packet to the tower via the command queue
|
|
@@ -40,7 +40,7 @@ class UdtTowerCommands {
|
|
|
40
40
|
}
|
|
41
41
|
catch (error) {
|
|
42
42
|
this.deps.logger.error(`command send error: ${error}`, '[UDT][CMD]');
|
|
43
|
-
const errorMsg = (_a = error === null || error === void 0 ? void 0 : error.message) !== null && _a !== void 0 ? _a :
|
|
43
|
+
const errorMsg = (_a = error === null || error === void 0 ? void 0 : error.message) !== null && _a !== void 0 ? _a : String(error);
|
|
44
44
|
const wasCancelled = errorMsg.includes('User cancelled');
|
|
45
45
|
const maxRetriesReached = this.deps.retrySendCommandCount.value >= this.deps.retrySendCommandMax;
|
|
46
46
|
// Check for disconnect indicators
|
|
@@ -57,9 +57,9 @@ class UdtTowerCommands {
|
|
|
57
57
|
if (!maxRetriesReached && this.deps.bleConnection.isConnected && !wasCancelled) {
|
|
58
58
|
this.deps.logger.info(`retrying tower command attempt ${this.deps.retrySendCommandCount.value + 1}`, '[UDT][CMD]');
|
|
59
59
|
this.deps.retrySendCommandCount.value++;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
const delay = 250 * this.deps.retrySendCommandCount.value;
|
|
61
|
+
await new Promise(resolve => setTimeout(resolve, delay));
|
|
62
|
+
return await this.sendTowerCommandDirect(command);
|
|
63
63
|
}
|
|
64
64
|
else {
|
|
65
65
|
this.deps.retrySendCommandCount.value = 0;
|
|
@@ -72,8 +72,10 @@ class UdtTowerCommands {
|
|
|
72
72
|
* @returns Promise that resolves when calibration command is sent
|
|
73
73
|
*/
|
|
74
74
|
async calibrate() {
|
|
75
|
+
var _a;
|
|
75
76
|
if (!this.deps.bleConnection.performingCalibration) {
|
|
76
77
|
this.deps.logger.info('Performing Tower Calibration', '[UDT][CMD]');
|
|
78
|
+
(_a = this.deps.recorder) === null || _a === void 0 ? void 0 : _a.recordEvent('calibration_started');
|
|
77
79
|
await this.sendTowerCommand(new Uint8Array([udtConstants_1.TOWER_COMMANDS.calibration]), 'calibrate');
|
|
78
80
|
// flag to look for calibration complete tower response
|
|
79
81
|
this.deps.bleConnection.performingCalibration = true;
|
|
@@ -110,12 +112,16 @@ class UdtTowerCommands {
|
|
|
110
112
|
async lights(lights) {
|
|
111
113
|
this.deps.logDetail && this.deps.logger.debug(`Light Parameter ${JSON.stringify(lights)}`, '[UDT][CMD]');
|
|
112
114
|
this.deps.logger.info('Sending light commands', '[UDT][CMD]');
|
|
113
|
-
// Convert lights object to
|
|
115
|
+
// Convert lights object to layer commands and apply them all to a single state update
|
|
114
116
|
const layerCommands = this.mapLightsToLayerCommands(lights);
|
|
115
|
-
|
|
116
|
-
for (const { layerIndex, lightIndex, effect } of layerCommands) {
|
|
117
|
-
|
|
117
|
+
const currentState = this.deps.getCurrentTowerState();
|
|
118
|
+
for (const { layerIndex, lightIndex, effect, loop } of layerCommands) {
|
|
119
|
+
currentState.layer[layerIndex].light[lightIndex] = { effect, loop };
|
|
118
120
|
}
|
|
121
|
+
// Send the accumulated state as a single command
|
|
122
|
+
const command = this.deps.commandFactory.createStatefulCommand(currentState, {});
|
|
123
|
+
this.deps.setTowerState(currentState, 'lights');
|
|
124
|
+
await this.sendTowerCommand(command, 'lights');
|
|
119
125
|
}
|
|
120
126
|
/**
|
|
121
127
|
* Maps the Lights object to layer/light index commands for setLEDStateful.
|
|
@@ -124,13 +130,13 @@ class UdtTowerCommands {
|
|
|
124
130
|
*/
|
|
125
131
|
mapLightsToLayerCommands(lights) {
|
|
126
132
|
const commands = [];
|
|
127
|
-
// Map doorway lights (top, middle, bottom rings)
|
|
133
|
+
// Map doorway lights (top, middle, bottom rings)
|
|
128
134
|
if (lights.doorway) {
|
|
129
135
|
for (const doorwayLight of lights.doorway) {
|
|
130
136
|
const layerIndex = this.getTowerLayerForLevel(doorwayLight.level);
|
|
131
137
|
const lightIndex = this.getLightIndexForSide(doorwayLight.position);
|
|
132
138
|
const effect = udtConstants_1.LIGHT_EFFECTS[doorwayLight.style] || udtConstants_1.LIGHT_EFFECTS.off;
|
|
133
|
-
commands.push({ layerIndex, lightIndex, effect, loop:
|
|
139
|
+
commands.push({ layerIndex, lightIndex, effect, loop: effect !== udtConstants_1.LIGHT_EFFECTS.off });
|
|
134
140
|
}
|
|
135
141
|
}
|
|
136
142
|
// Map ledge lights
|
|
@@ -139,7 +145,7 @@ class UdtTowerCommands {
|
|
|
139
145
|
const layerIndex = udtConstants_1.TOWER_LAYERS.LEDGE;
|
|
140
146
|
const lightIndex = this.getLedgeLightIndexForSide(ledgeLight.position);
|
|
141
147
|
const effect = udtConstants_1.LIGHT_EFFECTS[ledgeLight.style] || udtConstants_1.LIGHT_EFFECTS.off;
|
|
142
|
-
commands.push({ layerIndex, lightIndex, effect, loop:
|
|
148
|
+
commands.push({ layerIndex, lightIndex, effect, loop: effect !== udtConstants_1.LIGHT_EFFECTS.off });
|
|
143
149
|
}
|
|
144
150
|
}
|
|
145
151
|
// Map base lights (BASE1 and BASE2)
|
|
@@ -150,7 +156,7 @@ class UdtTowerCommands {
|
|
|
150
156
|
const layerIndex = (baseLight.position.level === 'top' || baseLight.position.level === 'b') ? udtConstants_1.TOWER_LAYERS.BASE2 : udtConstants_1.TOWER_LAYERS.BASE1;
|
|
151
157
|
const lightIndex = this.getBaseLightIndexForSide(baseLight.position.side);
|
|
152
158
|
const effect = udtConstants_1.LIGHT_EFFECTS[baseLight.style] || udtConstants_1.LIGHT_EFFECTS.off;
|
|
153
|
-
commands.push({ layerIndex, lightIndex, effect, loop:
|
|
159
|
+
commands.push({ layerIndex, lightIndex, effect, loop: effect !== udtConstants_1.LIGHT_EFFECTS.off });
|
|
154
160
|
}
|
|
155
161
|
}
|
|
156
162
|
return commands;
|
|
@@ -358,8 +364,7 @@ class UdtTowerCommands {
|
|
|
358
364
|
// This technically shouldn't be necessary, need to investiage
|
|
359
365
|
// TODO: Why doesn't command coming back reflect zero skulls ...
|
|
360
366
|
// could be due to using problematic tower (not using my good tower at the moment)
|
|
361
|
-
const updatedState = Object.assign({}, currentState);
|
|
362
|
-
updatedState.beam.count = 0;
|
|
367
|
+
const updatedState = Object.assign(Object.assign({}, currentState), { beam: Object.assign(Object.assign({}, currentState.beam), { count: 0 }) });
|
|
363
368
|
this.deps.setTowerState(updatedState, 'resetTowerSkullCount');
|
|
364
369
|
}
|
|
365
370
|
/**
|
|
@@ -371,40 +376,16 @@ class UdtTowerCommands {
|
|
|
371
376
|
async breakSeal(seal, volume) {
|
|
372
377
|
// Get the volume to use
|
|
373
378
|
const actualVolume = volume !== undefined ? volume : this.deps.getCurrentTowerState().audio.volume;
|
|
374
|
-
//
|
|
375
|
-
// and only uses its internal global volume state
|
|
379
|
+
// Tower firmware ignores volume in sound commands — set it via state first
|
|
376
380
|
if (actualVolume > 0) {
|
|
377
381
|
const currentState = this.deps.getCurrentTowerState();
|
|
378
382
|
const stateWithVolume = Object.assign({}, currentState);
|
|
379
383
|
stateWithVolume.audio = { sample: 0, loop: false, volume: actualVolume };
|
|
380
384
|
await this.sendTowerStateStateful(stateWithVolume);
|
|
381
385
|
}
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
// For each cardinal direction, light both corners that include that direction
|
|
386
|
-
const sideCorners = {
|
|
387
|
-
north: ['northeast', 'northwest'],
|
|
388
|
-
east: ['northeast', 'southeast'],
|
|
389
|
-
south: ['southeast', 'southwest'],
|
|
390
|
-
west: ['southwest', 'northwest']
|
|
391
|
-
};
|
|
392
|
-
const ledgeLights = sideCorners[seal.side].map(corner => ({
|
|
393
|
-
position: corner,
|
|
394
|
-
style: 'on'
|
|
395
|
-
}));
|
|
396
|
-
// Create doorway light with light effect for the broken seal
|
|
397
|
-
const doorwayLights = [{
|
|
398
|
-
level: seal.level,
|
|
399
|
-
position: seal.side,
|
|
400
|
-
style: 'breatheFast'
|
|
401
|
-
}];
|
|
402
|
-
const lights = {
|
|
403
|
-
ledge: ledgeLights,
|
|
404
|
-
doorway: doorwayLights
|
|
405
|
-
};
|
|
406
|
-
this.deps.logger.info(`Breaking seal ${seal.level}-${seal.side} - lighting ledges and doorways with breath effect`, '[UDT]');
|
|
407
|
-
await this.lights(lights);
|
|
386
|
+
// Single atomic command: firmware sealReveal animation + TowerSeal sound
|
|
387
|
+
this.deps.logger.info(`Breaking seal ${seal.level}-${seal.side} - triggering firmware sealReveal animation`, '[UDT]');
|
|
388
|
+
await this.lightOverrides(udtConstants_1.TOWER_LIGHT_SEQUENCES.sealReveal, udtConstants_1.TOWER_AUDIO_LIBRARY.TowerSeal.value);
|
|
408
389
|
}
|
|
409
390
|
/**
|
|
410
391
|
* Randomly rotates specified tower levels to random positions.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"udtTowerCommands.js","sourceRoot":"","sources":["../../src/udtTowerCommands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"udtTowerCommands.js","sourceRoot":"","sources":["../../src/udtTowerCommands.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,8 +27,12 @@ export declare class TowerResponseProcessor {
|
|
|
27
27
|
* @returns {Object} Object containing command key and command definition
|
|
28
28
|
*/
|
|
29
29
|
getTowerCommand(cmdValue: number): {
|
|
30
|
-
cmdKey: string;
|
|
31
|
-
command:
|
|
30
|
+
cmdKey: string | undefined;
|
|
31
|
+
command: {
|
|
32
|
+
name: string;
|
|
33
|
+
value: number;
|
|
34
|
+
critical: boolean;
|
|
35
|
+
};
|
|
32
36
|
};
|
|
33
37
|
/**
|
|
34
38
|
* Converts a command packet to a human-readable string array for logging.
|
|
@@ -42,17 +46,17 @@ export declare class TowerResponseProcessor {
|
|
|
42
46
|
* @param {any} logConfig - Logging configuration object
|
|
43
47
|
* @returns {boolean} Whether this response should be logged
|
|
44
48
|
*/
|
|
45
|
-
shouldLogResponse(cmdKey: string, logConfig: TowerResponseConfig): boolean;
|
|
49
|
+
shouldLogResponse(cmdKey: string | undefined, logConfig: TowerResponseConfig): boolean;
|
|
46
50
|
/**
|
|
47
51
|
* Checks if a command is a battery response type.
|
|
48
52
|
* @param {string} cmdKey - Command key from tower message
|
|
49
53
|
* @returns {boolean} True if this is a battery response
|
|
50
54
|
*/
|
|
51
|
-
isBatteryResponse(cmdKey: string): boolean;
|
|
55
|
+
isBatteryResponse(cmdKey: string | undefined): boolean;
|
|
52
56
|
/**
|
|
53
57
|
* Checks if a command is a tower state response type.
|
|
54
58
|
* @param {string} cmdKey - Command key from tower message
|
|
55
59
|
* @returns {boolean} True if this is a tower state response
|
|
56
60
|
*/
|
|
57
|
-
isTowerStateResponse(cmdKey: string): boolean;
|
|
61
|
+
isTowerStateResponse(cmdKey: string | undefined): boolean;
|
|
58
62
|
}
|
|
@@ -26,10 +26,10 @@ class TowerResponseProcessor {
|
|
|
26
26
|
const cmdKey = cmdKeys.find(key => udtConstants_1.TOWER_MESSAGES[key].value === cmdValue);
|
|
27
27
|
if (!cmdKey) {
|
|
28
28
|
udtLogger_1.logger.warn(`Unknown command received from tower: ${cmdValue} (0x${cmdValue.toString(16)})`, 'TowerResponseProcessor');
|
|
29
|
-
return { cmdKey: undefined, command: { name: "Unknown Command", value: cmdValue } };
|
|
29
|
+
return { cmdKey: undefined, command: { name: "Unknown Command", value: cmdValue, critical: false } };
|
|
30
30
|
}
|
|
31
31
|
const command = udtConstants_1.TOWER_MESSAGES[cmdKey];
|
|
32
|
-
return { cmdKey, command };
|
|
32
|
+
return { cmdKey: cmdKey, command };
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
35
|
* Converts a command packet to a human-readable string array for logging.
|
|
@@ -69,13 +69,12 @@ class TowerResponseProcessor {
|
|
|
69
69
|
* @returns {boolean} Whether this response should be logged
|
|
70
70
|
*/
|
|
71
71
|
shouldLogResponse(cmdKey, logConfig) {
|
|
72
|
-
const logAll = logConfig["LOG_ALL"];
|
|
73
|
-
let canLogThisResponse = logConfig[cmdKey] || logAll;
|
|
74
72
|
// Log unknown commands by default for debugging
|
|
75
73
|
if (!cmdKey) {
|
|
76
|
-
|
|
74
|
+
return true;
|
|
77
75
|
}
|
|
78
|
-
|
|
76
|
+
const logAll = logConfig["LOG_ALL"];
|
|
77
|
+
return (logConfig[cmdKey] || logAll);
|
|
79
78
|
}
|
|
80
79
|
/**
|
|
81
80
|
* Checks if a command is a battery response type.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"udtTowerResponse.js","sourceRoot":"","sources":["../../src/udtTowerResponse.ts"],"names":[],"mappings":";;;AAAA,iDAGwB;AACxB,2CAAqC;AACrC,6CAA6G;AAkB7G,MAAa,sBAAsB;IAG/B,YAAY,YAAqB,KAAK;QAF9B,cAAS,GAAY,KAAK,CAAC;QAG/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAAC,OAAgB;QAC/B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,QAAgB;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,6BAAc,
|
|
1
|
+
{"version":3,"file":"udtTowerResponse.js","sourceRoot":"","sources":["../../src/udtTowerResponse.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ultimatedarktower",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "This library provides functions to communicate with the bluetooth le enabled Tower that comes with Restoration Games Return To Dark Tower board game.",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -34,9 +34,12 @@
|
|
|
34
34
|
"type-check": "tsc --noEmit",
|
|
35
35
|
"clean": "rm -rf dist coverage",
|
|
36
36
|
"watch": "tsc -watch",
|
|
37
|
+
"watch:examples": "node build-examples.js --watch",
|
|
37
38
|
"build": "npm run clean && npm run type-check && tsc && esbuild src/index.ts --bundle --format=esm --outfile=dist/esm/index.mjs --packages=external --banner:js=\"import{createRequire}from'module';const require=createRequire(import.meta.url);\" && npm run build:examples",
|
|
38
39
|
"build:examples": "node build-examples.js",
|
|
39
40
|
"dev": "npm run watch",
|
|
41
|
+
"dev:examples": "npm run watch:examples",
|
|
42
|
+
"dev:controller": "node dev-controller.js",
|
|
40
43
|
"ci": "npm run lint && npm run type-check && npm run test:ci && npm run build",
|
|
41
44
|
"prepack": "npm run ci",
|
|
42
45
|
"prepublishOnly": "npm run prepack",
|
|
@@ -94,6 +97,7 @@
|
|
|
94
97
|
"@stoprocent/noble": "^2.3.17",
|
|
95
98
|
"@types/jest": "^30.0.0",
|
|
96
99
|
"@types/node": "^24.12.0",
|
|
100
|
+
"@types/web-bluetooth": "^0.0.21",
|
|
97
101
|
"@typescript-eslint/eslint-plugin": "^8.57.1",
|
|
98
102
|
"@typescript-eslint/parser": "^8.57.1",
|
|
99
103
|
"esbuild": "^0.27.4",
|