ygopro-msg-encode 1.1.18 → 1.1.20
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/dist/index.cjs +85 -13
- package/dist/index.cjs.map +3 -3
- package/dist/index.mjs +85 -13
- package/dist/index.mjs.map +3 -3
- package/dist/src/proto-base/index.d.ts +1 -0
- package/dist/src/proto-base/proto-registry-base.d.ts +10 -0
- package/dist/src/proto-base/registry-base.d.ts +1 -0
- package/dist/src/protos/ctos/registry.d.ts +2 -2
- package/dist/src/protos/msg/proto/draw.d.ts +1 -0
- package/dist/src/protos/msg/proto/shuffle-extra.d.ts +1 -0
- package/dist/src/protos/msg/proto/shuffle-hand.d.ts +1 -0
- package/dist/src/protos/msg/proto/tag-swap.d.ts +1 -1
- package/dist/src/protos/stoc/registry.d.ts +2 -2
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -57,6 +57,7 @@ __export(index_exports, {
|
|
|
57
57
|
OcgcoreScriptConstants: () => OcgcoreScriptConstants,
|
|
58
58
|
PayloadBase: () => PayloadBase,
|
|
59
59
|
PlayerChangeState: () => PlayerChangeState,
|
|
60
|
+
ProtoRegistryBase: () => ProtoRegistryBase,
|
|
60
61
|
RegistryBase: () => RegistryBase,
|
|
61
62
|
RoomStatus: () => RoomStatus,
|
|
62
63
|
SEND_TO_ALL: () => SEND_TO_ALL,
|
|
@@ -1568,10 +1569,77 @@ var _RegistryBase = class _RegistryBase {
|
|
|
1568
1569
|
data.slice(this.options.dataOffset ?? 0)
|
|
1569
1570
|
);
|
|
1570
1571
|
}
|
|
1572
|
+
getInstancesFromPayload(data) {
|
|
1573
|
+
const instances = [];
|
|
1574
|
+
const identifierOffset = this.options.identifierOffset ?? 0;
|
|
1575
|
+
const dataOffset = this.options.dataOffset ?? 0;
|
|
1576
|
+
const minLength = Math.max(identifierOffset + 1, dataOffset);
|
|
1577
|
+
let remaining = data;
|
|
1578
|
+
while (remaining.length > 0) {
|
|
1579
|
+
if (remaining.length < minLength) {
|
|
1580
|
+
break;
|
|
1581
|
+
}
|
|
1582
|
+
try {
|
|
1583
|
+
const instance = this.getInstanceFromPayload(remaining);
|
|
1584
|
+
if (!instance) {
|
|
1585
|
+
break;
|
|
1586
|
+
}
|
|
1587
|
+
const consumed = dataOffset + instance.toPayload().length;
|
|
1588
|
+
if (consumed <= 0 || consumed > remaining.length) {
|
|
1589
|
+
break;
|
|
1590
|
+
}
|
|
1591
|
+
instances.push(instance);
|
|
1592
|
+
remaining = remaining.slice(consumed);
|
|
1593
|
+
} catch {
|
|
1594
|
+
break;
|
|
1595
|
+
}
|
|
1596
|
+
}
|
|
1597
|
+
return instances;
|
|
1598
|
+
}
|
|
1571
1599
|
};
|
|
1572
1600
|
__name(_RegistryBase, "RegistryBase");
|
|
1573
1601
|
var RegistryBase = _RegistryBase;
|
|
1574
1602
|
|
|
1603
|
+
// src/proto-base/proto-registry-base.ts
|
|
1604
|
+
var _ProtoRegistryBase = class _ProtoRegistryBase extends RegistryBase {
|
|
1605
|
+
constructor(payloadClass) {
|
|
1606
|
+
super(payloadClass, {
|
|
1607
|
+
identifierOffset: 2,
|
|
1608
|
+
dataOffset: 3
|
|
1609
|
+
});
|
|
1610
|
+
}
|
|
1611
|
+
getInstancesFromPayload(data) {
|
|
1612
|
+
const instances = [];
|
|
1613
|
+
let offset = 0;
|
|
1614
|
+
while (offset + 2 <= data.length) {
|
|
1615
|
+
const declaredLength = data[offset] | data[offset + 1] << 8;
|
|
1616
|
+
if (declaredLength <= 0) {
|
|
1617
|
+
break;
|
|
1618
|
+
}
|
|
1619
|
+
const packetLength = 2 + declaredLength;
|
|
1620
|
+
if (offset + packetLength > data.length) {
|
|
1621
|
+
break;
|
|
1622
|
+
}
|
|
1623
|
+
const chunk = data.slice(offset, offset + packetLength);
|
|
1624
|
+
const identifier = chunk[2];
|
|
1625
|
+
const proto = this.get(identifier);
|
|
1626
|
+
if (!proto) {
|
|
1627
|
+
break;
|
|
1628
|
+
}
|
|
1629
|
+
try {
|
|
1630
|
+
const instance = new proto().fromFullPayload(chunk);
|
|
1631
|
+
instances.push(instance);
|
|
1632
|
+
} catch {
|
|
1633
|
+
break;
|
|
1634
|
+
}
|
|
1635
|
+
offset += packetLength;
|
|
1636
|
+
}
|
|
1637
|
+
return instances;
|
|
1638
|
+
}
|
|
1639
|
+
};
|
|
1640
|
+
__name(_ProtoRegistryBase, "ProtoRegistryBase");
|
|
1641
|
+
var ProtoRegistryBase = _ProtoRegistryBase;
|
|
1642
|
+
|
|
1575
1643
|
// src/protos/ctos/proto/response.ts
|
|
1576
1644
|
var _YGOProCtosResponse = class _YGOProCtosResponse extends YGOProCtosBase {
|
|
1577
1645
|
fromPayload(data) {
|
|
@@ -1864,10 +1932,7 @@ _YGOProCtosRequestField.identifier = 48;
|
|
|
1864
1932
|
var YGOProCtosRequestField = _YGOProCtosRequestField;
|
|
1865
1933
|
|
|
1866
1934
|
// src/protos/ctos/registry.ts
|
|
1867
|
-
var YGOProCtos = new
|
|
1868
|
-
identifierOffset: 2,
|
|
1869
|
-
dataOffset: 3
|
|
1870
|
-
});
|
|
1935
|
+
var YGOProCtos = new ProtoRegistryBase(YGOProCtosBase);
|
|
1871
1936
|
YGOProCtos.register(YGOProCtosResponse);
|
|
1872
1937
|
YGOProCtos.register(YGOProCtosUpdateDeck);
|
|
1873
1938
|
YGOProCtos.register(YGOProCtosHandResult);
|
|
@@ -3486,6 +3551,9 @@ var _YGOProMsgDraw = class _YGOProMsgDraw extends YGOProMsgBase {
|
|
|
3486
3551
|
});
|
|
3487
3552
|
return view;
|
|
3488
3553
|
}
|
|
3554
|
+
teammateView() {
|
|
3555
|
+
return this.opponentView();
|
|
3556
|
+
}
|
|
3489
3557
|
};
|
|
3490
3558
|
__name(_YGOProMsgDraw, "YGOProMsgDraw");
|
|
3491
3559
|
_YGOProMsgDraw.identifier = OcgcoreCommonConstants.MSG_DRAW;
|
|
@@ -5272,6 +5340,9 @@ var _YGOProMsgShuffleExtra = class _YGOProMsgShuffleExtra extends YGOProMsgBase
|
|
|
5272
5340
|
view.cards = view.cards.map(() => 0);
|
|
5273
5341
|
return view;
|
|
5274
5342
|
}
|
|
5343
|
+
teammateView() {
|
|
5344
|
+
return this.opponentView();
|
|
5345
|
+
}
|
|
5275
5346
|
};
|
|
5276
5347
|
__name(_YGOProMsgShuffleExtra, "YGOProMsgShuffleExtra");
|
|
5277
5348
|
_YGOProMsgShuffleExtra.identifier = OcgcoreCommonConstants.MSG_SHUFFLE_EXTRA;
|
|
@@ -5294,6 +5365,9 @@ var _YGOProMsgShuffleHand = class _YGOProMsgShuffleHand extends YGOProMsgBase {
|
|
|
5294
5365
|
view.cards = view.cards.map(() => 0);
|
|
5295
5366
|
return view;
|
|
5296
5367
|
}
|
|
5368
|
+
teammateView() {
|
|
5369
|
+
return this.opponentView();
|
|
5370
|
+
}
|
|
5297
5371
|
getRequireRefreshZones() {
|
|
5298
5372
|
return [
|
|
5299
5373
|
{
|
|
@@ -5687,14 +5761,14 @@ __decorateClass([
|
|
|
5687
5761
|
BinaryField("u8", 4)
|
|
5688
5762
|
], _YGOProMsgTagSwap.prototype, "handCount", 2);
|
|
5689
5763
|
__decorateClass([
|
|
5690
|
-
BinaryField("i32", 5
|
|
5764
|
+
BinaryField("i32", 5)
|
|
5765
|
+
], _YGOProMsgTagSwap.prototype, "topCode", 2);
|
|
5766
|
+
__decorateClass([
|
|
5767
|
+
BinaryField("i32", 9, (obj) => obj.handCount)
|
|
5691
5768
|
], _YGOProMsgTagSwap.prototype, "handCards", 2);
|
|
5692
5769
|
__decorateClass([
|
|
5693
|
-
BinaryField("i32", (obj) =>
|
|
5770
|
+
BinaryField("i32", (obj) => 9 + obj.handCount * 4, (obj) => obj.extraCount)
|
|
5694
5771
|
], _YGOProMsgTagSwap.prototype, "extraCards", 2);
|
|
5695
|
-
__decorateClass([
|
|
5696
|
-
BinaryField("u32", (obj) => 5 + obj.handCount * 4 + obj.extraCount * 4)
|
|
5697
|
-
], _YGOProMsgTagSwap.prototype, "mzoneFlags", 2);
|
|
5698
5772
|
var YGOProMsgTagSwap = _YGOProMsgTagSwap;
|
|
5699
5773
|
|
|
5700
5774
|
// src/protos/msg/proto/toss-coin.ts
|
|
@@ -6422,10 +6496,7 @@ __decorateClass([
|
|
|
6422
6496
|
var YGOProStocSrvproRoomlist = _YGOProStocSrvproRoomlist;
|
|
6423
6497
|
|
|
6424
6498
|
// src/protos/stoc/registry.ts
|
|
6425
|
-
var YGOProStoc = new
|
|
6426
|
-
identifierOffset: 2,
|
|
6427
|
-
dataOffset: 3
|
|
6428
|
-
});
|
|
6499
|
+
var YGOProStoc = new ProtoRegistryBase(YGOProStocBase);
|
|
6429
6500
|
YGOProStoc.register(YGOProStocGameMsg);
|
|
6430
6501
|
YGOProStoc.register(YGOProStocErrorMsg);
|
|
6431
6502
|
YGOProStoc.register(YGOProStocSelectHand);
|
|
@@ -6471,6 +6542,7 @@ YGOProStoc.register(YGOProStocSrvproRoomlist);
|
|
|
6471
6542
|
OcgcoreScriptConstants,
|
|
6472
6543
|
PayloadBase,
|
|
6473
6544
|
PlayerChangeState,
|
|
6545
|
+
ProtoRegistryBase,
|
|
6474
6546
|
RegistryBase,
|
|
6475
6547
|
RoomStatus,
|
|
6476
6548
|
SEND_TO_ALL,
|