koishipro-core.js 1.0.10 → 1.1.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/README.md +248 -38
- package/dist/index.cjs +126 -257
- package/dist/index.cjs.map +3 -3
- package/dist/index.mjs +135 -259
- package/dist/index.mjs.map +3 -3
- package/dist/src/adapters/ocgcore-parsers.d.ts +11 -5
- package/dist/src/ocgcore-duel.d.ts +1 -1
- package/dist/src/structs/card-data.d.ts +5 -3
- package/dist/src/types/card-data.d.ts +1 -3
- package/dist/src/types/ocgcore-params.d.ts +6 -6
- package/dist/src/types/ocgcore-results.d.ts +6 -77
- package/dist/vendor/libocgcore.shared.d.ts +7 -7
- package/package.json +2 -2
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { CardQuery, YGOProMsgReloadField } from 'ygopro-msg-encode';
|
|
2
|
+
interface RegistryDumpEntry {
|
|
3
|
+
key: string;
|
|
4
|
+
value: Uint8Array;
|
|
5
|
+
valueText?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function parseCardQuery(raw: Uint8Array, length: number): CardQuery | null;
|
|
8
|
+
export declare function parseFieldCardQuery(raw: Uint8Array, length: number): CardQuery[];
|
|
9
|
+
export declare function parseFieldInfo(raw: Uint8Array): YGOProMsgReloadField;
|
|
5
10
|
export declare function parseRegistryKeys(raw: Uint8Array): string[];
|
|
6
|
-
export declare function parseRegistryDump(raw: Uint8Array):
|
|
11
|
+
export declare function parseRegistryDump(raw: Uint8Array): RegistryDumpEntry[];
|
|
12
|
+
export {};
|
|
@@ -27,5 +27,5 @@ export declare class OcgcoreDuel {
|
|
|
27
27
|
getRegistryKeys(): OcgcoreRegistryKeysResult;
|
|
28
28
|
clearRegistry(): void;
|
|
29
29
|
dumpRegistry(): OcgcoreRegistryDumpResult;
|
|
30
|
-
loadRegistry(input: Uint8Array): void;
|
|
30
|
+
loadRegistry(input: Uint8Array | Record<string, string>): void;
|
|
31
31
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export declare
|
|
1
|
+
export declare class CardDataStruct {
|
|
2
2
|
code: number;
|
|
3
3
|
alias: number;
|
|
4
|
-
setcode: Uint16Array
|
|
4
|
+
setcode: Uint16Array;
|
|
5
5
|
type: number;
|
|
6
6
|
level: number;
|
|
7
7
|
attribute: number;
|
|
@@ -11,4 +11,6 @@ export declare const CardDataStruct: import("typed-struct").StructConstructor<{
|
|
|
11
11
|
lscale: number;
|
|
12
12
|
rscale: number;
|
|
13
13
|
linkMarker: number;
|
|
14
|
-
|
|
14
|
+
static fromBytes(data: Uint8Array): CardDataStruct;
|
|
15
|
+
toBytes(): Uint8Array;
|
|
16
|
+
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { CardDataStruct } from '../structs/card-data';
|
|
2
1
|
export interface CardData {
|
|
3
2
|
code: number;
|
|
4
3
|
alias: number;
|
|
@@ -13,5 +12,4 @@ export interface CardData {
|
|
|
13
12
|
rscale: number;
|
|
14
13
|
linkMarker: number;
|
|
15
14
|
}
|
|
16
|
-
export type
|
|
17
|
-
export type CardDataInput = CardData | CardDataStructInstance;
|
|
15
|
+
export type CardDataInput = CardData;
|
|
@@ -5,15 +5,15 @@ export interface OcgcoreStartDuelOptions {
|
|
|
5
5
|
flags?: Array<OcgcoreDuelOptionFlag | number>;
|
|
6
6
|
}
|
|
7
7
|
export interface OcgcoreSetPlayerInfoParams {
|
|
8
|
-
|
|
8
|
+
player: number;
|
|
9
9
|
lp: number;
|
|
10
|
-
|
|
10
|
+
startHand: number;
|
|
11
11
|
drawCount: number;
|
|
12
12
|
}
|
|
13
13
|
export interface OcgcoreNewCardParams {
|
|
14
14
|
code: number;
|
|
15
15
|
owner: number;
|
|
16
|
-
|
|
16
|
+
player: number;
|
|
17
17
|
location: number;
|
|
18
18
|
sequence: number;
|
|
19
19
|
position: number;
|
|
@@ -24,18 +24,18 @@ export interface OcgcoreNewTagCardParams {
|
|
|
24
24
|
location: number;
|
|
25
25
|
}
|
|
26
26
|
export interface OcgcoreQueryCardParams {
|
|
27
|
-
|
|
27
|
+
player: number;
|
|
28
28
|
location: number;
|
|
29
29
|
sequence: number;
|
|
30
30
|
queryFlag: number;
|
|
31
31
|
useCache?: number;
|
|
32
32
|
}
|
|
33
33
|
export interface OcgcoreQueryFieldCountParams {
|
|
34
|
-
|
|
34
|
+
player: number;
|
|
35
35
|
location: number;
|
|
36
36
|
}
|
|
37
37
|
export interface OcgcoreQueryFieldCardParams {
|
|
38
|
-
|
|
38
|
+
player: number;
|
|
39
39
|
location: number;
|
|
40
40
|
queryFlag: number;
|
|
41
41
|
useCache?: number;
|
|
@@ -1,88 +1,22 @@
|
|
|
1
|
+
import type { YGOProMsgBase, CardQuery, YGOProMsgReloadField } from 'ygopro-msg-encode';
|
|
1
2
|
export interface OcgcoreBinaryResult {
|
|
2
3
|
length: number;
|
|
3
4
|
raw: Uint8Array;
|
|
4
5
|
}
|
|
5
|
-
export interface OcgcoreCardLocationRef {
|
|
6
|
-
controller: number;
|
|
7
|
-
location: number;
|
|
8
|
-
sequence: number;
|
|
9
|
-
}
|
|
10
|
-
export interface OcgcoreCounterInfo {
|
|
11
|
-
type: number;
|
|
12
|
-
count: number;
|
|
13
|
-
}
|
|
14
|
-
export interface OcgcoreCardInfo {
|
|
15
|
-
flags: number;
|
|
16
|
-
empty: boolean;
|
|
17
|
-
code?: number;
|
|
18
|
-
position?: number;
|
|
19
|
-
alias?: number;
|
|
20
|
-
type?: number;
|
|
21
|
-
level?: number;
|
|
22
|
-
rank?: number;
|
|
23
|
-
attribute?: number;
|
|
24
|
-
race?: number;
|
|
25
|
-
attack?: number;
|
|
26
|
-
defense?: number;
|
|
27
|
-
baseAttack?: number;
|
|
28
|
-
baseDefense?: number;
|
|
29
|
-
reason?: number;
|
|
30
|
-
equipCard?: OcgcoreCardLocationRef;
|
|
31
|
-
targetCards?: OcgcoreCardLocationRef[];
|
|
32
|
-
overlayCards?: number[];
|
|
33
|
-
counters?: OcgcoreCounterInfo[];
|
|
34
|
-
owner?: number;
|
|
35
|
-
status?: number;
|
|
36
|
-
lscale?: number;
|
|
37
|
-
rscale?: number;
|
|
38
|
-
link?: number;
|
|
39
|
-
linkMarker?: number;
|
|
40
|
-
}
|
|
41
6
|
export interface OcgcoreCardQueryResult extends OcgcoreBinaryResult {
|
|
42
|
-
card:
|
|
7
|
+
card: CardQuery | null;
|
|
43
8
|
}
|
|
44
9
|
export interface OcgcoreFieldCardQueryResult extends OcgcoreBinaryResult {
|
|
45
|
-
cards:
|
|
10
|
+
cards: CardQuery[];
|
|
46
11
|
}
|
|
47
12
|
export interface OcgcoreMessageResult extends OcgcoreBinaryResult {
|
|
48
13
|
}
|
|
49
14
|
export interface OcgcoreProcessResult extends OcgcoreBinaryResult {
|
|
50
15
|
status: number;
|
|
51
|
-
|
|
52
|
-
export interface OcgcoreFieldInfoPlayerState {
|
|
53
|
-
lp: number;
|
|
54
|
-
mzone: Array<{
|
|
55
|
-
occupied: boolean;
|
|
56
|
-
position?: number;
|
|
57
|
-
xyzCount?: number;
|
|
58
|
-
}>;
|
|
59
|
-
szone: Array<{
|
|
60
|
-
occupied: boolean;
|
|
61
|
-
position?: number;
|
|
62
|
-
}>;
|
|
63
|
-
deckCount: number;
|
|
64
|
-
handCount: number;
|
|
65
|
-
graveCount: number;
|
|
66
|
-
removedCount: number;
|
|
67
|
-
extraCount: number;
|
|
68
|
-
extraPCount: number;
|
|
69
|
-
}
|
|
70
|
-
export interface OcgcoreFieldInfoChain {
|
|
71
|
-
code: number;
|
|
72
|
-
chainCard: OcgcoreCardLocationRef & {
|
|
73
|
-
subSequence: number;
|
|
74
|
-
};
|
|
75
|
-
trigger: OcgcoreCardLocationRef;
|
|
76
|
-
description: number;
|
|
77
|
-
}
|
|
78
|
-
export interface OcgcoreFieldInfo {
|
|
79
|
-
message: number;
|
|
80
|
-
duelRule: number;
|
|
81
|
-
players: [OcgcoreFieldInfoPlayerState, OcgcoreFieldInfoPlayerState];
|
|
82
|
-
chains: OcgcoreFieldInfoChain[];
|
|
16
|
+
message?: YGOProMsgBase;
|
|
83
17
|
}
|
|
84
18
|
export interface OcgcoreFieldInfoResult extends OcgcoreBinaryResult {
|
|
85
|
-
field:
|
|
19
|
+
field: YGOProMsgReloadField;
|
|
86
20
|
}
|
|
87
21
|
export interface OcgcoreRegistryValueResult extends OcgcoreBinaryResult {
|
|
88
22
|
value: Uint8Array;
|
|
@@ -91,11 +25,6 @@ export interface OcgcoreRegistryValueResult extends OcgcoreBinaryResult {
|
|
|
91
25
|
export interface OcgcoreRegistryKeysResult extends OcgcoreBinaryResult {
|
|
92
26
|
keys: string[];
|
|
93
27
|
}
|
|
94
|
-
export interface OcgcoreRegistryDumpEntry {
|
|
95
|
-
key: string;
|
|
96
|
-
value: Uint8Array;
|
|
97
|
-
valueText?: string;
|
|
98
|
-
}
|
|
99
28
|
export interface OcgcoreRegistryDumpResult extends OcgcoreBinaryResult {
|
|
100
|
-
|
|
29
|
+
dict: Record<string, string>;
|
|
101
30
|
}
|
|
@@ -11,21 +11,21 @@ export interface OcgcoreModule extends EmscriptenModule {
|
|
|
11
11
|
_create_duel_v2(seedSequencePtr: number): number;
|
|
12
12
|
_start_duel(duelPtr: number, options: number): void;
|
|
13
13
|
_end_duel(duelPtr: number): void;
|
|
14
|
-
_set_player_info(duelPtr: number,
|
|
14
|
+
_set_player_info(duelPtr: number, player: number, lp: number, startHand: number, drawCount: number): void;
|
|
15
15
|
_get_log_message(duelPtr: number, bufPtr: number): number;
|
|
16
16
|
_get_message(duelPtr: number, bufPtr: number): number;
|
|
17
17
|
_process(duelPtr: number): number;
|
|
18
|
-
_new_card(duelPtr: number, code: number, owner: number,
|
|
18
|
+
_new_card(duelPtr: number, code: number, owner: number, player: number, location: number, sequence: number, position: number): void;
|
|
19
19
|
_new_tag_card(duelPtr: number, code: number, owner: number, location: number): void;
|
|
20
|
-
_query_card(duelPtr: number,
|
|
21
|
-
_query_field_count(duelPtr: number,
|
|
22
|
-
_query_field_card(duelPtr: number,
|
|
20
|
+
_query_card(duelPtr: number, player: number, location: number, sequence: number, queryFlag: number, bufPtr: number, useCache: number): number;
|
|
21
|
+
_query_field_count(duelPtr: number, player: number, location: number): number;
|
|
22
|
+
_query_field_card(duelPtr: number, player: number, location: number, queryFlag: number, bufPtr: number, useCache: number): number;
|
|
23
23
|
_query_field_info(duelPtr: number, bufPtr: number): number;
|
|
24
24
|
_set_responsei(duelPtr: number, value: number): void;
|
|
25
25
|
_set_responseb(duelPtr: number, bufPtr: number): void;
|
|
26
26
|
_preload_script(duelPtr: number, scriptNamePtr: number): void;
|
|
27
|
-
_get_registry_value(duelPtr: number, keyPtr: number,
|
|
28
|
-
_set_registry_value(duelPtr: number, keyPtr: number,
|
|
27
|
+
_get_registry_value(duelPtr: number, keyPtr: number, outBufPtr: number): number;
|
|
28
|
+
_set_registry_value(duelPtr: number, keyPtr: number, valuePtr: number): void;
|
|
29
29
|
_get_registry_keys(duelPtr: number, bufPtr: number): number;
|
|
30
30
|
_clear_registry(duelPtr: number): void;
|
|
31
31
|
_dump_registry(duelPtr: number, bufPtr: number): number;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "koishipro-core.js",
|
|
3
3
|
"description": "WASM wrapper for YGOPro/ocgcore, designed for both Node and browser runtimes.",
|
|
4
|
-
"version": "1.0
|
|
4
|
+
"version": "1.1.0",
|
|
5
5
|
"main": "dist/index.cjs",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"buffer": "^6.0.3",
|
|
42
42
|
"jszip": "^3.10.1",
|
|
43
43
|
"sql.js": "^1.13.0",
|
|
44
|
-
"
|
|
44
|
+
"ygopro-msg-encode": "^1.0.1",
|
|
45
45
|
"ygopro-yrp-encode": "^1.0.1"
|
|
46
46
|
},
|
|
47
47
|
"jest": {
|