@akashic/headless-driver 2.1.0 → 2.1.3
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 +2 -2
- package/lib/play/amflow/AMFlowClient.js +3 -3
- package/lib/play/amflow/AMFlowStore.js +15 -15
- package/lib/runner/Platform.d.ts +1 -1
- package/lib/runner/RunnerManager.d.ts +1 -1
- package/lib/runner/v1/RunnerV1.js +3 -3
- package/lib/runner/v2/RunnerV2.js +3 -3
- package/lib/runner/v3/RunnerV3.js +3 -3
- package/package.json +21 -21
- package/CHANGELOG.md +0 -1736
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<img src="https://
|
|
2
|
+
<img src="https://raw.githubusercontent.com/akashic-games/headless-driver/main/img/akashic.png"/>
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
# headless-driver
|
|
@@ -26,6 +26,6 @@ npm run build
|
|
|
26
26
|
## ライセンス
|
|
27
27
|
本リポジトリは MIT License の元で公開されています。
|
|
28
28
|
詳しくは [LICENSE](https://github.com/akashic-games/headless-driver/blob/master/LICENSE) をご覧ください。
|
|
29
|
-
|
|
29
|
+
|
|
30
30
|
ただし、画像ファイルおよび音声ファイルは
|
|
31
31
|
[CC BY 2.1 JP](https://creativecommons.org/licenses/by/2.1/jp/) の元で公開されています。
|
|
@@ -122,9 +122,9 @@ class AMFlowClient {
|
|
|
122
122
|
throw (0, ErrorFactory_1.createError)("permission_error", "Permission denied");
|
|
123
123
|
}
|
|
124
124
|
// Max Priority
|
|
125
|
-
const prio = event[1 /* EventFlags */] & 3 /* Priority */;
|
|
126
|
-
const tran = event[1 /* EventFlags */] & 8 /* Transient */;
|
|
127
|
-
event[1 /* EventFlags */] = tran | Math.min(prio, this.permission.maxEventPriority);
|
|
125
|
+
const prio = event[1 /* EventIndex.EventFlags */] & 3 /* EventFlagsMask.Priority */;
|
|
126
|
+
const tran = event[1 /* EventIndex.EventFlags */] & 8 /* EventFlagsMask.Transient */;
|
|
127
|
+
event[1 /* EventIndex.EventFlags */] = tran | Math.min(prio, this.permission.maxEventPriority);
|
|
128
128
|
this.store.sendEvent(event);
|
|
129
129
|
}
|
|
130
130
|
onEvent(handler) {
|
|
@@ -49,14 +49,14 @@ class AMFlowStore {
|
|
|
49
49
|
return null;
|
|
50
50
|
}
|
|
51
51
|
const tickList = opts.excludeEventFlags && opts.excludeEventFlags.ignorable ? this.filteredTickList : this.unfilteredTickList;
|
|
52
|
-
const from = Math.max(opts.begin, tickList[0 /* From */]);
|
|
53
|
-
const to = Math.min(opts.end - 1, tickList[1 /* To */]);
|
|
54
|
-
const tickListTicks = tickList[2 /* Ticks */];
|
|
52
|
+
const from = Math.max(opts.begin, tickList[0 /* TickListIndex.From */]);
|
|
53
|
+
const to = Math.min(opts.end - 1, tickList[1 /* TickListIndex.To */]);
|
|
54
|
+
const tickListTicks = tickList[2 /* TickListIndex.Ticks */];
|
|
55
55
|
if (tickListTicks == null) {
|
|
56
56
|
return [from, to];
|
|
57
57
|
}
|
|
58
58
|
const ticks = tickListTicks.filter((tick) => {
|
|
59
|
-
const frame = tick[0 /* Frame */];
|
|
59
|
+
const frame = tick[0 /* TickIndex.Frame */];
|
|
60
60
|
return from <= frame && frame <= to;
|
|
61
61
|
});
|
|
62
62
|
return [from, to, ticks];
|
|
@@ -187,32 +187,32 @@ class AMFlowStore {
|
|
|
187
187
|
}
|
|
188
188
|
pushTick(tick) {
|
|
189
189
|
if (this.unfilteredTickList) {
|
|
190
|
-
if (this.unfilteredTickList[0 /* From */] <= tick[0 /* Frame */] &&
|
|
191
|
-
tick[0 /* Frame */] <= this.unfilteredTickList[1 /* To */]) {
|
|
190
|
+
if (this.unfilteredTickList[0 /* TickListIndex.From */] <= tick[0 /* TickIndex.Frame */] &&
|
|
191
|
+
tick[0 /* TickIndex.Frame */] <= this.unfilteredTickList[1 /* TickListIndex.To */]) {
|
|
192
192
|
// illegal age tick
|
|
193
193
|
return;
|
|
194
194
|
}
|
|
195
|
-
this.unfilteredTickList[1 /* To */] = tick[0 /* Frame */];
|
|
195
|
+
this.unfilteredTickList[1 /* TickListIndex.To */] = tick[0 /* TickIndex.Frame */];
|
|
196
196
|
}
|
|
197
197
|
else {
|
|
198
|
-
this.unfilteredTickList = [tick[0 /* Frame */], tick[0 /* Frame */], []];
|
|
198
|
+
this.unfilteredTickList = [tick[0 /* TickIndex.Frame */], tick[0 /* TickIndex.Frame */], []];
|
|
199
199
|
}
|
|
200
200
|
if (this.filteredTickList) {
|
|
201
|
-
this.filteredTickList[1 /* To */] = tick[0 /* Frame */];
|
|
201
|
+
this.filteredTickList[1 /* TickListIndex.To */] = tick[0 /* TickIndex.Frame */];
|
|
202
202
|
}
|
|
203
203
|
else {
|
|
204
|
-
this.filteredTickList = [tick[0 /* Frame */], tick[0 /* Frame */], []];
|
|
204
|
+
this.filteredTickList = [tick[0 /* TickIndex.Frame */], tick[0 /* TickIndex.Frame */], []];
|
|
205
205
|
}
|
|
206
|
-
const tickEvents = tick[1 /* Events */];
|
|
206
|
+
const tickEvents = tick[1 /* TickIndex.Events */];
|
|
207
207
|
if (tickEvents) {
|
|
208
208
|
// store unfiltered tick
|
|
209
209
|
const unfilteredTick = this.cloneDeep(tick);
|
|
210
|
-
unfilteredTick[1 /* Events */] = tickEvents.filter((event) => !(event[1 /* EventFlags */] & 8 /* Transient */));
|
|
211
|
-
this.unfilteredTickList[2 /* Ticks */].push(unfilteredTick);
|
|
210
|
+
unfilteredTick[1 /* TickIndex.Events */] = tickEvents.filter((event) => !(event[1 /* EventIndex.EventFlags */] & 8 /* EventFlagsMask.Transient */));
|
|
211
|
+
this.unfilteredTickList[2 /* TickListIndex.Ticks */].push(unfilteredTick);
|
|
212
212
|
// store filtered tick
|
|
213
213
|
const filteredTick = this.cloneDeep(tick);
|
|
214
|
-
filteredTick[1 /* Events */] = tickEvents.filter((event) => !(event[1 /* EventFlags */] & 8 /* Transient */) && !(event[1 /* EventFlags */] & 16 /* Ignorable */));
|
|
215
|
-
this.filteredTickList[2 /* Ticks */].push(filteredTick);
|
|
214
|
+
filteredTick[1 /* TickIndex.Events */] = tickEvents.filter((event) => !(event[1 /* EventIndex.EventFlags */] & 8 /* EventFlagsMask.Transient */) && !(event[1 /* EventIndex.EventFlags */] & 16 /* EventFlagsMask.Ignorable */));
|
|
215
|
+
this.filteredTickList[2 /* TickListIndex.Ticks */].push(filteredTick);
|
|
216
216
|
}
|
|
217
217
|
}
|
|
218
218
|
}
|
package/lib/runner/Platform.d.ts
CHANGED
|
@@ -21,5 +21,5 @@ export declare abstract class Platform {
|
|
|
21
21
|
protected loadFileHandler: (url: string, callback: (err: Error | null, data?: string) => void) => void;
|
|
22
22
|
constructor(param: PlatformParameters);
|
|
23
23
|
sendToExternal(_playId: string, data: any): void;
|
|
24
|
-
loadGameConfiguration: (url: string, callback: (err: Error | null, data?: string
|
|
24
|
+
loadGameConfiguration: (url: string, callback: (err: Error | null, data?: string) => void) => void;
|
|
25
25
|
}
|
|
@@ -113,7 +113,7 @@ export declare class RunnerManager {
|
|
|
113
113
|
protected resolveContent(contentUrl: string): Promise<EngineConfiguration>;
|
|
114
114
|
protected resolveGameConfiguration(gameJsonUrl: string): Promise<GameConfiguration>;
|
|
115
115
|
protected loadJSON<T>(contentUrl: string): Promise<T>;
|
|
116
|
-
protected createLoadFileHandler(allowedUrls: (string | RegExp)[] | null): (url: string, callback: (err: Error | null, data?: string
|
|
116
|
+
protected createLoadFileHandler(allowedUrls: (string | RegExp)[] | null): (url: string, callback: (err: Error | null, data?: string) => void) => void;
|
|
117
117
|
protected createVm(trusted?: boolean): NodeVM;
|
|
118
118
|
}
|
|
119
119
|
export {};
|
|
@@ -135,13 +135,13 @@ class RunnerV1 extends Runner_1.Runner {
|
|
|
135
135
|
}
|
|
136
136
|
let type;
|
|
137
137
|
if (event.type === "down") {
|
|
138
|
-
type = 0 /* Down */;
|
|
138
|
+
type = 0 /* pdi.PointType.Down */;
|
|
139
139
|
}
|
|
140
140
|
else if (event.type === "move") {
|
|
141
|
-
type = 1 /* Move */;
|
|
141
|
+
type = 1 /* pdi.PointType.Move */;
|
|
142
142
|
}
|
|
143
143
|
else if (event.type === "up") {
|
|
144
|
-
type = 2 /* Up */;
|
|
144
|
+
type = 2 /* pdi.PointType.Up */;
|
|
145
145
|
}
|
|
146
146
|
else {
|
|
147
147
|
this.errorTrigger.fire(new Error(`RunnerV1#firePointEvent(): unknown event type: ${event.type}`));
|
|
@@ -123,13 +123,13 @@ class RunnerV2 extends Runner_1.Runner {
|
|
|
123
123
|
}
|
|
124
124
|
let type;
|
|
125
125
|
if (event.type === "down") {
|
|
126
|
-
type = 0 /* Down */;
|
|
126
|
+
type = 0 /* pdi.PointType.Down */;
|
|
127
127
|
}
|
|
128
128
|
else if (event.type === "move") {
|
|
129
|
-
type = 1 /* Move */;
|
|
129
|
+
type = 1 /* pdi.PointType.Move */;
|
|
130
130
|
}
|
|
131
131
|
else if (event.type === "up") {
|
|
132
|
-
type = 2 /* Up */;
|
|
132
|
+
type = 2 /* pdi.PointType.Up */;
|
|
133
133
|
}
|
|
134
134
|
else {
|
|
135
135
|
this.errorTrigger.fire(new Error(`RunnerV2#firePointEvent(): unknown event type: ${event.type}`));
|
|
@@ -128,13 +128,13 @@ class RunnerV3 extends Runner_1.Runner {
|
|
|
128
128
|
}
|
|
129
129
|
let type;
|
|
130
130
|
if (event.type === "down") {
|
|
131
|
-
type = 0 /* Down */;
|
|
131
|
+
type = 0 /* g.PlatformPointType.Down */;
|
|
132
132
|
}
|
|
133
133
|
else if (event.type === "move") {
|
|
134
|
-
type = 1 /* Move */;
|
|
134
|
+
type = 1 /* g.PlatformPointType.Move */;
|
|
135
135
|
}
|
|
136
136
|
else if (event.type === "up") {
|
|
137
|
-
type = 2 /* Up */;
|
|
137
|
+
type = 2 /* g.PlatformPointType.Up */;
|
|
138
138
|
}
|
|
139
139
|
else {
|
|
140
140
|
this.errorTrigger.fire(new Error(`RunnerV3#firePointEvent(): unknown event type: ${event.type}`));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@akashic/headless-driver",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.3",
|
|
4
4
|
"description": "A library to execute contents using Akashic Engine headlessly",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"author": "DWANGO Co., Ltd.",
|
|
@@ -26,45 +26,45 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@akashic/amflow": "3.1.0",
|
|
28
28
|
"@akashic/playlog": "3.1.0",
|
|
29
|
-
"@akashic/trigger": "1.0.
|
|
30
|
-
"aev1": "npm:@akashic/engine-files@1.2.
|
|
31
|
-
"aev2": "npm:@akashic/engine-files@2.2.
|
|
32
|
-
"aev3": "npm:@akashic/engine-files@3.2.
|
|
29
|
+
"@akashic/trigger": "1.0.1",
|
|
30
|
+
"aev1": "npm:@akashic/engine-files@1.2.1",
|
|
31
|
+
"aev2": "npm:@akashic/engine-files@2.2.1",
|
|
32
|
+
"aev3": "npm:@akashic/engine-files@3.2.4",
|
|
33
33
|
"js-sha256": "0.9.0",
|
|
34
34
|
"lodash.clonedeep": "4.5.0",
|
|
35
35
|
"node-fetch": "2.6.7",
|
|
36
|
-
"vm2": "3.9.
|
|
36
|
+
"vm2": "3.9.10"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@akashic/eslint-config": "1.1.0",
|
|
40
40
|
"@akashic/remark-preset-lint": "0.1.2",
|
|
41
41
|
"@types/get-port": "4.0.1",
|
|
42
|
-
"@types/jest": "
|
|
43
|
-
"@types/lodash.clonedeep": "4.5.
|
|
44
|
-
"@types/node": "16.11.
|
|
45
|
-
"@types/node-fetch": "2.6.
|
|
42
|
+
"@types/jest": "28.1.6",
|
|
43
|
+
"@types/lodash.clonedeep": "4.5.7",
|
|
44
|
+
"@types/node": "16.11.47",
|
|
45
|
+
"@types/node-fetch": "2.6.2",
|
|
46
46
|
"@types/pixelmatch": "5.2.4",
|
|
47
47
|
"@types/pngjs": "6.0.1",
|
|
48
|
-
"@typescript-eslint/eslint-plugin": "5.
|
|
49
|
-
"eslint": "8.
|
|
48
|
+
"@typescript-eslint/eslint-plugin": "5.32.0",
|
|
49
|
+
"eslint": "8.21.0",
|
|
50
50
|
"eslint-config-prettier": "8.5.0",
|
|
51
51
|
"eslint-plugin-import": "2.26.0",
|
|
52
|
-
"eslint-plugin-jest": "26.
|
|
52
|
+
"eslint-plugin-jest": "26.8.0",
|
|
53
53
|
"get-port": "5.1.1",
|
|
54
|
-
"image-size": "1.0.
|
|
55
|
-
"jest": "
|
|
54
|
+
"image-size": "1.0.2",
|
|
55
|
+
"jest": "28.1.3",
|
|
56
56
|
"npm-run-all": "4.1.5",
|
|
57
|
-
"pixelmatch": "5.
|
|
57
|
+
"pixelmatch": "5.3.0",
|
|
58
58
|
"pngjs": "6.0.0",
|
|
59
|
-
"prettier": "2.
|
|
60
|
-
"remark-cli": "
|
|
59
|
+
"prettier": "2.7.1",
|
|
60
|
+
"remark-cli": "11.0.0",
|
|
61
61
|
"rimraf": "3.0.2",
|
|
62
62
|
"serve-handler": "6.1.3",
|
|
63
|
-
"ts-jest": "
|
|
64
|
-
"typescript": "4.
|
|
63
|
+
"ts-jest": "28.0.7",
|
|
64
|
+
"typescript": "4.7.4"
|
|
65
65
|
},
|
|
66
66
|
"optionalDependencies": {
|
|
67
|
-
"canvas": "2.9.
|
|
67
|
+
"canvas": "2.9.3"
|
|
68
68
|
},
|
|
69
69
|
"jest": {
|
|
70
70
|
"moduleFileExtensions": [
|