@4bitlabs/sci0 2.6.0 → 3.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/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/models/draw-command.d.ts +28 -32
- package/dist/models/draw-command.d.ts.map +1 -1
- package/dist/parsers/pic/handlers.d.ts.map +1 -1
- package/dist/parsers/pic/handlers.js +34 -40
- package/dist/parsers/pic/handlers.js.map +1 -1
- package/dist/parsers/pic/points.d.ts +1 -1
- package/dist/parsers/pic/points.d.ts.map +1 -1
- package/dist/parsers/pic/points.js +4 -4
- package/dist/parsers/pic/points.js.map +1 -1
- package/dist/screen/default-palette.d.ts +1 -1
- package/dist/screen/default-palette.d.ts.map +1 -1
- package/dist/screen/default-palette.js +5 -4
- package/dist/screen/default-palette.js.map +1 -1
- package/dist/screen/render-pic.js +7 -7
- package/dist/screen/render-pic.js.map +1 -1
- package/dist/screen/screen.d.ts +1 -1
- package/dist/screen/screen.d.ts.map +1 -1
- package/dist/screen/tools/create-blitter.d.ts.map +1 -1
- package/dist/screen/tools/create-blitter.js.map +1 -1
- package/dist/screen/tools/create-brush.d.ts.map +1 -1
- package/dist/screen/tools/create-brush.js +1 -1
- package/dist/screen/tools/create-brush.js.map +1 -1
- package/dist/screen/tools/create-flood-fill.d.ts.map +1 -1
- package/package.json +3 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export type { ResourceHeader } from './models/resource-header';
|
|
2
2
|
export type { ResourceMap } from './models/resource-map';
|
|
3
3
|
export type { ResourceType } from './models/resource-type';
|
|
4
|
-
export type { PatternCode, DrawCodes, SetPaletteCommand, UpdatePaletteCommand, BrushCommand, FillCommand, PolylineCommand, EmbeddedCelCommand, DrawCommand, } from './models/draw-command';
|
|
5
|
-
export { DrawMode } from './models/draw-command';
|
|
4
|
+
export type { PatternCode, DrawCodes, DrawCommandStruct, SetPaletteCommand, UpdatePaletteCommand, BrushCommand, FillCommand, PolylineCommand, EmbeddedCelCommand, DrawCommand, } from './models/draw-command';
|
|
5
|
+
export { DrawMode, isVisualMode, isPriorityMode, isControlMode, } from './models/draw-command';
|
|
6
6
|
export { getResourceNumber, getResourceType, getResourceIdStr, getResourceTypeStr, isResourceType, isResourceNumber, } from './models/resource-id';
|
|
7
7
|
export { ResourceTypes } from './models/resource-type';
|
|
8
8
|
export { renderPic, loopPaddingFilter } from './screen';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EACV,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EACV,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,aAAa,GACd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAExD,OAAO,EACL,QAAQ,IAAI,gBAAgB,EAC5B,OAAO,IAAI,uBAAuB,GACnC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,SAAS,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,SAAS,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,SAAS,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAEvD,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,4CAA4C;AAC5C,eAAO,MAAM,MAAM;;CAElB,CAAC;AAEF,0CAA0C;AAC1C,eAAO,MAAM,IAAI;;CAEhB,CAAC;AAEF,0CAA0C;AAC1C,eAAO,MAAM,IAAI;;CAEhB,CAAC;AAEF,yCAAyC;AACzC,eAAO,MAAM,GAAG;;CAEf,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Pic = exports.View = exports.Font = exports.Cursor = exports.parsePic = exports.parseView = exports.parseFont = exports.parseCursor = exports.decompress = exports.parseHeaderFrom = exports.getPayloadLength = exports.consumeNextMappingChunk = exports.parseAllMappings = exports.loopPaddingFilter = exports.renderPic = exports.ResourceTypes = exports.isResourceNumber = exports.isResourceType = exports.getResourceTypeStr = exports.getResourceIdStr = exports.getResourceType = exports.getResourceNumber = exports.DrawMode = void 0;
|
|
3
|
+
exports.Pic = exports.View = exports.Font = exports.Cursor = exports.parsePic = exports.parseView = exports.parseFont = exports.parseCursor = exports.decompress = exports.parseHeaderFrom = exports.getPayloadLength = exports.consumeNextMappingChunk = exports.parseAllMappings = exports.loopPaddingFilter = exports.renderPic = exports.ResourceTypes = exports.isResourceNumber = exports.isResourceType = exports.getResourceTypeStr = exports.getResourceIdStr = exports.getResourceType = exports.getResourceNumber = exports.isControlMode = exports.isPriorityMode = exports.isVisualMode = exports.DrawMode = void 0;
|
|
4
4
|
var draw_command_1 = require("./models/draw-command");
|
|
5
5
|
Object.defineProperty(exports, "DrawMode", { enumerable: true, get: function () { return draw_command_1.DrawMode; } });
|
|
6
|
+
Object.defineProperty(exports, "isVisualMode", { enumerable: true, get: function () { return draw_command_1.isVisualMode; } });
|
|
7
|
+
Object.defineProperty(exports, "isPriorityMode", { enumerable: true, get: function () { return draw_command_1.isPriorityMode; } });
|
|
8
|
+
Object.defineProperty(exports, "isControlMode", { enumerable: true, get: function () { return draw_command_1.isControlMode; } });
|
|
6
9
|
var resource_id_1 = require("./models/resource-id");
|
|
7
10
|
Object.defineProperty(exports, "getResourceNumber", { enumerable: true, get: function () { return resource_id_1.getResourceNumber; } });
|
|
8
11
|
Object.defineProperty(exports, "getResourceType", { enumerable: true, get: function () { return resource_id_1.getResourceType; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAeA,sDAK+B;AAJ7B,wGAAA,QAAQ,OAAA;AACR,4GAAA,YAAY,OAAA;AACZ,8GAAA,cAAc,OAAA;AACd,6GAAA,aAAa,OAAA;AAGf,oDAO8B;AAN5B,gHAAA,iBAAiB,OAAA;AACjB,8GAAA,eAAe,OAAA;AACf,+GAAA,gBAAgB,OAAA;AAChB,iHAAA,kBAAkB,OAAA;AAClB,6GAAA,cAAc,OAAA;AACd,+GAAA,gBAAgB,OAAA;AAElB,wDAAuD;AAA9C,8GAAA,aAAa,OAAA;AAEtB,mCAAwD;AAA/C,mGAAA,SAAS,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AAErC,6CAG2B;AAFzB,2GAAA,QAAQ,OAAoB;AAC5B,kHAAA,OAAO,OAA2B;AAEpC,6DAA8E;AAArE,mHAAA,gBAAgB,OAAA;AAAE,kHAAA,eAAe,OAAA;AAC1C,qDAAmD;AAA1C,yGAAA,UAAU,OAAA;AACnB,6CAA4D;AAKnD,4FALa,kBAAW,OAKb;AAJpB,yCAAwD;AAIlC,0FAJA,gBAAS,OAIA;AAH/B,yCAAwD;AAGvB,0FAHX,gBAAS,OAGW;AAF1C,uCAAsD;AAEV,yFAFtB,eAAQ,OAEsB;AAMpD,4CAA4C;AAC/B,QAAA,MAAM,GAAG;IACpB,SAAS,EAAE,kBAAW;CACvB,CAAC;AAEF,0CAA0C;AAC7B,QAAA,IAAI,GAAG;IAClB,SAAS,EAAE,gBAAS;CACrB,CAAC;AAEF,0CAA0C;AAC7B,QAAA,IAAI,GAAG;IAClB,SAAS,EAAE,gBAAS;CACrB,CAAC;AAEF,yCAAyC;AAC5B,QAAA,GAAG,GAAG;IACjB,SAAS,EAAE,eAAQ;CACpB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { type Vec2 } from '@4bitlabs/vec2';
|
|
1
2
|
import { Cel } from './cel';
|
|
2
|
-
import { Vec2 } from './vec2';
|
|
3
3
|
export declare enum DrawMode {
|
|
4
4
|
Visual = 1,
|
|
5
5
|
Priority = 2,
|
|
@@ -18,40 +18,36 @@ export type DrawCodes = readonly [
|
|
|
18
18
|
priority: number,
|
|
19
19
|
control: number
|
|
20
20
|
];
|
|
21
|
-
export type
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
]
|
|
26
|
-
export type
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
]
|
|
30
|
-
export type BrushCommand =
|
|
31
|
-
mode: 'BRUSH',
|
|
21
|
+
export type DrawCommandStruct<Type extends string, Options, Payload extends unknown[] = []> = readonly [type: Type, options: Options, ...Payload];
|
|
22
|
+
export type SetPalettePayload = number[];
|
|
23
|
+
export type SetPaletteCommand = DrawCommandStruct<'SET_PALETTE', [
|
|
24
|
+
pal: number
|
|
25
|
+
], SetPalettePayload>;
|
|
26
|
+
export type UpdatePaletteEntry = [pal: number, idx: number, color: number];
|
|
27
|
+
export type UpdatePalettePayload = UpdatePaletteEntry[];
|
|
28
|
+
export type UpdatePaletteCommand = DrawCommandStruct<'UPDATE_PALETTE', [
|
|
29
|
+
], UpdatePalettePayload>;
|
|
30
|
+
export type BrushCommand = DrawCommandStruct<'BRUSH', [
|
|
32
31
|
drawMode: DrawMode,
|
|
33
32
|
drawCodes: DrawCodes,
|
|
34
|
-
patternCode: PatternCode,
|
|
35
|
-
textureCode: number
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
33
|
+
...patternCode: PatternCode,
|
|
34
|
+
textureCode: number
|
|
35
|
+
], [
|
|
36
|
+
Vec2
|
|
37
|
+
]>;
|
|
38
|
+
export type FillCommand = DrawCommandStruct<'FILL', [
|
|
40
39
|
drawMode: DrawMode,
|
|
41
|
-
drawCodes: DrawCodes
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
40
|
+
drawCodes: DrawCodes
|
|
41
|
+
], [
|
|
42
|
+
Vec2
|
|
43
|
+
]>;
|
|
44
|
+
export type PolylineCommand = DrawCommandStruct<'PLINE', [
|
|
46
45
|
drawMode: DrawMode,
|
|
47
|
-
drawCodes: DrawCodes
|
|
48
|
-
|
|
49
|
-
];
|
|
50
|
-
export type EmbeddedCelCommand =
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
pos: Vec2,
|
|
54
|
-
cel: Cel
|
|
55
|
-
];
|
|
46
|
+
drawCodes: DrawCodes
|
|
47
|
+
], Vec2[]>;
|
|
48
|
+
export type EmbeddedCelPayload = [pos: Vec2, cel: Cel];
|
|
49
|
+
export type EmbeddedCelCommand = DrawCommandStruct<'CEL', [
|
|
50
|
+
drawMode: DrawMode
|
|
51
|
+
], EmbeddedCelPayload>;
|
|
56
52
|
export type DrawCommand = BrushCommand | FillCommand | PolylineCommand | SetPaletteCommand | UpdatePaletteCommand | EmbeddedCelCommand;
|
|
57
53
|
//# sourceMappingURL=draw-command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"draw-command.d.ts","sourceRoot":"","sources":["../../src/models/draw-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"draw-command.d.ts","sourceRoot":"","sources":["../../src/models/draw-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,oBAAY,QAAQ;IAClB,MAAM,IAAQ;IACd,QAAQ,IAAQ;IAChB,OAAO,IAAQ;CAChB;AAED,eAAO,MAAM,YAAY,SAAU,QAAQ,YACiB,CAAC;AAE7D,eAAO,MAAM,cAAc,SAAU,QAAQ,YACmB,CAAC;AAEjE,eAAO,MAAM,aAAa,SAAU,QAAQ,YACkB,CAAC;AAE/D,MAAM,MAAM,WAAW,GAAG,SAAS;IACjC,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,SAAS;IAC/B,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,MAAM;CAChB,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAC3B,IAAI,SAAS,MAAM,EACnB,OAAO,EACP,OAAO,SAAS,OAAO,EAAE,GAAG,EAAE,IAC5B,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC;AAExD,MAAM,MAAM,iBAAiB,GAAG,MAAM,EAAE,CAAC;AACzC,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAC/C,aAAa,EACb;IAAC,GAAG,EAAE,MAAM;CAAC,EACb,iBAAiB,CAClB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC3E,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,EAAE,CAAC;AACxD,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAClD,gBAAgB,EAChB;CAAE,EACF,oBAAoB,CACrB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,iBAAiB,CAC1C,OAAO,EACP;IACE,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,SAAS;IACpB,GAAG,WAAW,EAAE,WAAW;IAC3B,WAAW,EAAE,MAAM;CACpB,EACD;IAAC,IAAI;CAAC,CACP,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,iBAAiB,CACzC,MAAM,EACN;IAAC,QAAQ,EAAE,QAAQ;IAAE,SAAS,EAAE,SAAS;CAAC,EAC1C;IAAC,IAAI;CAAC,CACP,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,iBAAiB,CAC7C,OAAO,EACP;IAAC,QAAQ,EAAE,QAAQ;IAAE,SAAS,EAAE,SAAS;CAAC,EAC1C,IAAI,EAAE,CACP,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACvD,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAChD,KAAK,EACL;IAAC,QAAQ,EAAE,QAAQ;CAAC,EACpB,kBAAkB,CACnB,CAAC;AAEF,MAAM,MAAM,WAAW,GACnB,YAAY,GACZ,WAAW,GACX,eAAe,GACf,iBAAiB,GACjB,oBAAoB,GACpB,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/parsers/pic/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/parsers/pic/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAoC,MAAM,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAY,MAAM,2BAA2B,CAAC;AAIlE,MAAM,WAAW,kBAAkB;IACjC,CAAC,EAAE,SAAS,CAAC;IACb,KAAK,EAAE,QAAQ,CAAC;IAChB,IAAI,CAAC,GAAG,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;CACpC;AAED,KAAK,WAAW,GAAG,CAAC,GAAG,EAAE,kBAAkB,KAAK,IAAI,CAAC;AAErD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,CA6I1E,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CodeHandlers = void 0;
|
|
4
|
+
const vec2_1 = require("@4bitlabs/vec2");
|
|
4
5
|
const op_codes_1 = require("./op-codes");
|
|
5
6
|
const points_1 = require("./points");
|
|
6
7
|
const draw_command_1 = require("../../models/draw-command");
|
|
7
|
-
const vec2_1 = require("../../models/vec2");
|
|
8
8
|
const repeat_1 = require("../../utils/repeat");
|
|
9
9
|
const cel_1 = require("../cel");
|
|
10
10
|
exports.CodeHandlers = {
|
|
@@ -38,33 +38,33 @@ exports.CodeHandlers = {
|
|
|
38
38
|
// Lines
|
|
39
39
|
[op_codes_1.OpCode.ShortLines]({ r, state, push }) {
|
|
40
40
|
const points = [];
|
|
41
|
-
const prev = (0, points_1.getPoint24)(r, vec2_1.vec2
|
|
42
|
-
points.push(vec2_1.
|
|
41
|
+
const prev = (0, points_1.getPoint24)(r, (0, vec2_1.vec2)());
|
|
42
|
+
points.push((0, vec2_1.clone)(prev));
|
|
43
43
|
while (r.peek32(8) < 0xf0) {
|
|
44
|
-
const next = (0, points_1.getPoint8)(r, vec2_1.vec2
|
|
44
|
+
const next = (0, points_1.getPoint8)(r, (0, vec2_1.vec2)(), prev);
|
|
45
45
|
points.push(next);
|
|
46
|
-
vec2_1.
|
|
46
|
+
(0, vec2_1.assign)(next, prev);
|
|
47
47
|
}
|
|
48
|
-
push(['PLINE', state.drawMode, state.drawCodes, ...points]);
|
|
48
|
+
push(['PLINE', [state.drawMode, state.drawCodes], ...points]);
|
|
49
49
|
},
|
|
50
50
|
[op_codes_1.OpCode.MediumLines]({ r, state, push }) {
|
|
51
51
|
const points = [];
|
|
52
|
-
const prev = (0, points_1.getPoint24)(r, vec2_1.vec2
|
|
53
|
-
points.push(vec2_1.
|
|
52
|
+
const prev = (0, points_1.getPoint24)(r, (0, vec2_1.vec2)());
|
|
53
|
+
points.push((0, vec2_1.clone)(prev));
|
|
54
54
|
while (r.peek32(8) < 0xf0) {
|
|
55
|
-
const next = (0, points_1.getPoint16)(r, vec2_1.vec2
|
|
55
|
+
const next = (0, points_1.getPoint16)(r, (0, vec2_1.vec2)(), prev);
|
|
56
56
|
points.push(next);
|
|
57
|
-
vec2_1.
|
|
57
|
+
(0, vec2_1.assign)(next, prev);
|
|
58
58
|
}
|
|
59
|
-
push(['PLINE', state.drawMode, state.drawCodes, ...points]);
|
|
59
|
+
push(['PLINE', [state.drawMode, state.drawCodes], ...points]);
|
|
60
60
|
},
|
|
61
61
|
[op_codes_1.OpCode.LongLines]({ r, state, push }) {
|
|
62
62
|
const points = [];
|
|
63
|
-
points.push((0, points_1.getPoint24)(r, vec2_1.vec2
|
|
63
|
+
points.push((0, points_1.getPoint24)(r, (0, vec2_1.vec2)()));
|
|
64
64
|
while (r.peek32(8) < 0xf0) {
|
|
65
|
-
points.push((0, points_1.getPoint24)(r, vec2_1.vec2
|
|
65
|
+
points.push((0, points_1.getPoint24)(r, (0, vec2_1.vec2)()));
|
|
66
66
|
}
|
|
67
|
-
push(['PLINE', state.drawMode, state.drawCodes, ...points]);
|
|
67
|
+
push(['PLINE', [state.drawMode, state.drawCodes], ...points]);
|
|
68
68
|
},
|
|
69
69
|
// Patterns
|
|
70
70
|
[op_codes_1.OpCode.SetPattern]({ r, state }) {
|
|
@@ -76,45 +76,39 @@ exports.CodeHandlers = {
|
|
|
76
76
|
];
|
|
77
77
|
},
|
|
78
78
|
[op_codes_1.OpCode.ShortBrushes]({ r, state, push }) {
|
|
79
|
-
const prev = vec2_1.vec2
|
|
79
|
+
const prev = (0, vec2_1.vec2)();
|
|
80
80
|
const { drawMode, drawCodes, patternCode } = state;
|
|
81
81
|
const [, , isTextured] = patternCode;
|
|
82
82
|
let texture = isTextured ? r.read32(8) >> 1 : 0;
|
|
83
83
|
(0, points_1.getPoint24)(r, prev);
|
|
84
84
|
push([
|
|
85
85
|
'BRUSH',
|
|
86
|
-
drawMode,
|
|
87
|
-
|
|
88
|
-
patternCode,
|
|
89
|
-
texture,
|
|
90
|
-
vec2_1.vec2.clone(prev),
|
|
86
|
+
[drawMode, drawCodes, ...patternCode, texture],
|
|
87
|
+
(0, vec2_1.clone)(prev),
|
|
91
88
|
]);
|
|
92
89
|
while (r.peek32(8) < 0xf0) {
|
|
93
90
|
texture = isTextured ? r.read32(8) >> 1 : 0;
|
|
94
|
-
const next = (0, points_1.getPoint8)(r, vec2_1.vec2
|
|
95
|
-
push(['BRUSH', drawMode, drawCodes, patternCode, texture, next]);
|
|
96
|
-
vec2_1.
|
|
91
|
+
const next = (0, points_1.getPoint8)(r, (0, vec2_1.vec2)(), prev);
|
|
92
|
+
push(['BRUSH', [drawMode, drawCodes, ...patternCode, texture], next]);
|
|
93
|
+
(0, vec2_1.assign)(next, prev);
|
|
97
94
|
}
|
|
98
95
|
},
|
|
99
96
|
[op_codes_1.OpCode.MediumBrushes]({ r, state, push }) {
|
|
100
|
-
const prev = vec2_1.vec2
|
|
97
|
+
const prev = (0, vec2_1.vec2)();
|
|
101
98
|
const { drawMode, drawCodes, patternCode } = state;
|
|
102
99
|
const [, , isTextured] = patternCode;
|
|
103
100
|
let texture = isTextured ? r.read32(8) >> 1 : 0;
|
|
104
101
|
(0, points_1.getPoint24)(r, prev);
|
|
105
102
|
push([
|
|
106
103
|
'BRUSH',
|
|
107
|
-
drawMode,
|
|
108
|
-
|
|
109
|
-
patternCode,
|
|
110
|
-
texture,
|
|
111
|
-
vec2_1.vec2.clone(prev),
|
|
104
|
+
[drawMode, drawCodes, ...patternCode, texture],
|
|
105
|
+
(0, vec2_1.clone)(prev),
|
|
112
106
|
]);
|
|
113
107
|
while (r.peek32(8) < 0xf0) {
|
|
114
108
|
texture = isTextured ? r.read32(8) >> 1 : 0;
|
|
115
|
-
const next = (0, points_1.getPoint16)(r, vec2_1.vec2
|
|
116
|
-
push(['BRUSH', drawMode, drawCodes, patternCode, texture, next]);
|
|
117
|
-
vec2_1.
|
|
109
|
+
const next = (0, points_1.getPoint16)(r, (0, vec2_1.vec2)(), prev);
|
|
110
|
+
push(['BRUSH', [drawMode, drawCodes, ...patternCode, texture], next]);
|
|
111
|
+
(0, vec2_1.assign)(next, prev);
|
|
118
112
|
}
|
|
119
113
|
},
|
|
120
114
|
[op_codes_1.OpCode.LongBrushes]({ r, state, push }) {
|
|
@@ -122,20 +116,20 @@ exports.CodeHandlers = {
|
|
|
122
116
|
const [, , isTextured] = patternCode;
|
|
123
117
|
while (r.peek32(8) < 0xf0) {
|
|
124
118
|
const texture = isTextured ? r.read32(8) >> 1 : 0;
|
|
125
|
-
const pos = (0, points_1.getPoint24)(r, vec2_1.vec2
|
|
126
|
-
push(['BRUSH', drawMode, drawCodes, patternCode, texture, pos]);
|
|
119
|
+
const pos = (0, points_1.getPoint24)(r, (0, vec2_1.vec2)());
|
|
120
|
+
push(['BRUSH', [drawMode, drawCodes, ...patternCode, texture], pos]);
|
|
127
121
|
}
|
|
128
122
|
},
|
|
129
123
|
// Fills
|
|
130
124
|
[op_codes_1.OpCode.Fills]({ r, state, push }) {
|
|
131
125
|
const { drawMode, drawCodes } = state;
|
|
132
|
-
const p1 = vec2_1.vec2
|
|
126
|
+
const p1 = (0, vec2_1.vec2)();
|
|
133
127
|
while (true) {
|
|
134
128
|
const peek = r.peek32(8);
|
|
135
129
|
if (peek >= 0xf0)
|
|
136
130
|
break;
|
|
137
131
|
(0, points_1.getPoint24)(r, p1);
|
|
138
|
-
push(['FILL', drawMode, drawCodes, vec2_1.
|
|
132
|
+
push(['FILL', [drawMode, drawCodes], (0, vec2_1.clone)(p1)]);
|
|
139
133
|
}
|
|
140
134
|
},
|
|
141
135
|
[op_codes_1.OpCode.XOp](ctx) {
|
|
@@ -155,13 +149,13 @@ const ExtendedHandlers = {
|
|
|
155
149
|
const code = r.read32(8);
|
|
156
150
|
entries.push([pal, idx, code]);
|
|
157
151
|
}
|
|
158
|
-
push(['UPDATE_PALETTE', entries]);
|
|
152
|
+
push(['UPDATE_PALETTE', [], ...entries]);
|
|
159
153
|
},
|
|
160
154
|
[op_codes_1.ExtendedOpCode.SetPalette]({ r, push }) {
|
|
161
155
|
const pal = r.read32(8);
|
|
162
156
|
const colors = Array(40).fill(0);
|
|
163
157
|
(0, repeat_1.repeat)(40, (i) => (colors[i] = r.read32(8)));
|
|
164
|
-
push(['SET_PALETTE', pal, colors]);
|
|
158
|
+
push(['SET_PALETTE', [pal], ...colors]);
|
|
165
159
|
},
|
|
166
160
|
[op_codes_1.ExtendedOpCode.x02]({ r }) {
|
|
167
161
|
// Looks like a palette, but I'm not sure what this chunk is for
|
|
@@ -188,7 +182,7 @@ const ExtendedHandlers = {
|
|
|
188
182
|
// NOOP
|
|
189
183
|
},
|
|
190
184
|
[op_codes_1.ExtendedOpCode.x07]({ r, state, push }) {
|
|
191
|
-
const pos = (0, points_1.getPoint24)(r, vec2_1.vec2
|
|
185
|
+
const pos = (0, points_1.getPoint24)(r, (0, vec2_1.vec2)());
|
|
192
186
|
const size = r.read32(8) | (r.read32(8) << 8);
|
|
193
187
|
const buffer = new ArrayBuffer(size);
|
|
194
188
|
const view = new DataView(buffer);
|
|
@@ -196,7 +190,7 @@ const ExtendedHandlers = {
|
|
|
196
190
|
view.setUint8(i, r.read32(8));
|
|
197
191
|
});
|
|
198
192
|
const cel = (0, cel_1.parseCel)(view);
|
|
199
|
-
push(['CEL', state.drawMode, pos, cel]);
|
|
193
|
+
push(['CEL', [state.drawMode], pos, cel]);
|
|
200
194
|
},
|
|
201
195
|
[op_codes_1.ExtendedOpCode.x08]({ r }) {
|
|
202
196
|
(0, repeat_1.repeat)(14, () => r.read32(8));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/parsers/pic/handlers.ts"],"names":[],"mappings":";;;AACA,yCAAsE;AAEtE,qCAA6D;AAC7D,4DAAkE;AAClE
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/parsers/pic/handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BitReader } from '@4bitlabs/readers';
|
|
2
|
-
import { Vec2 } from '
|
|
2
|
+
import { type Vec2 } from '@4bitlabs/vec2';
|
|
3
3
|
export declare function getPoint24(br: BitReader, out: Vec2): Vec2;
|
|
4
4
|
export declare function getPoint16(br: BitReader, out: Vec2, ref: Readonly<Vec2>): Vec2;
|
|
5
5
|
export declare function getPoint8(br: BitReader, out: Vec2, ref: Readonly<Vec2>): Vec2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"points.d.ts","sourceRoot":"","sources":["../../../src/parsers/pic/points.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"points.d.ts","sourceRoot":"","sources":["../../../src/parsers/pic/points.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,KAAK,IAAI,EAAO,MAAM,gBAAgB,CAAC;AAWhD,wBAAgB,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,CAKzD;AASD,wBAAgB,UAAU,CACxB,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,GAClB,IAAI,CASN;AASD,wBAAgB,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAS7E"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getPoint8 = exports.getPoint16 = exports.getPoint24 = void 0;
|
|
4
|
-
const vec2_1 = require("
|
|
4
|
+
const vec2_1 = require("@4bitlabs/vec2");
|
|
5
5
|
// getPoint24 gets reads an absolute position from the
|
|
6
6
|
// bit-stream. The format is 24-bits long:
|
|
7
7
|
//
|
|
@@ -15,7 +15,7 @@ function getPoint24(br, out) {
|
|
|
15
15
|
const code = br.read32(24);
|
|
16
16
|
const x = ((code & 0xf00000) >>> 12) | ((code & 0xff00) >>> 8);
|
|
17
17
|
const y = ((code & 0x0f0000) >>> 8) | ((code & 0x00ff) >>> 0);
|
|
18
|
-
return vec2_1.
|
|
18
|
+
return (0, vec2_1.set)(x, y, out);
|
|
19
19
|
}
|
|
20
20
|
exports.getPoint24 = getPoint24;
|
|
21
21
|
// getPoint16 reads a medium length delta from the bit-stream.
|
|
@@ -31,7 +31,7 @@ function getPoint16(br, out, ref) {
|
|
|
31
31
|
const dy = (y & 128) !== 0 ? -absY : absY;
|
|
32
32
|
const x = br.read32(8);
|
|
33
33
|
const dx = x > 127 ? x - 256 : x;
|
|
34
|
-
return vec2_1.
|
|
34
|
+
return (0, vec2_1.set)(ref[0] + dx, ref[1] + dy, out);
|
|
35
35
|
}
|
|
36
36
|
exports.getPoint16 = getPoint16;
|
|
37
37
|
// getPoint8 reads a medium length delta from the bit-stream.
|
|
@@ -47,7 +47,7 @@ function getPoint8(br, out, ref) {
|
|
|
47
47
|
const ySign = ((code >>> 0) & 0b1000) !== 0;
|
|
48
48
|
const dx = (code >>> 4) & 0b111;
|
|
49
49
|
const dy = (code >>> 0) & 0b111;
|
|
50
|
-
return vec2_1.
|
|
50
|
+
return (0, vec2_1.set)(ref[0] + (xSign ? -dx : dx), ref[1] + (ySign ? -dy : dy), out);
|
|
51
51
|
}
|
|
52
52
|
exports.getPoint8 = getPoint8;
|
|
53
53
|
//# sourceMappingURL=points.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"points.js","sourceRoot":"","sources":["../../../src/parsers/pic/points.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"points.js","sourceRoot":"","sources":["../../../src/parsers/pic/points.ts"],"names":[],"mappings":";;;AACA,yCAAgD;AAEhD,sDAAsD;AACtD,0CAA0C;AAC1C,EAAE;AACF,UAAU;AACV,oCAAoC;AACpC,oCAAoC;AACpC,iCAAiC;AACjC,iCAAiC;AACjC,EAAE;AACF,SAAgB,UAAU,CAAC,EAAa,EAAE,GAAS;IACjD,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,OAAO,IAAA,UAAG,EAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AACxB,CAAC;AALD,gCAKC;AAED,8DAA8D;AAC9D,0CAA0C;AAC1C,EAAE;AACF,SAAS;AACT,iBAAiB;AACjB,iBAAiB;AACjB,EAAE;AACF,SAAgB,UAAU,CACxB,EAAa,EACb,GAAS,EACT,GAAmB;IAEnB,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,IAAI,GAAG,CAAC,GAAG,GAAW,CAAC;IAC7B,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,GAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAElD,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,EAAE,GAAG,CAAC,GAAG,GAAW,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzC,OAAO,IAAA,UAAG,EAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAbD,gCAaC;AAED,6DAA6D;AAC7D,yCAAyC;AACzC,EAAE;AACF,SAAS;AACT,iBAAiB;AACjB,iBAAiB;AACjB,EAAE;AACF,SAAgB,SAAS,CAAC,EAAa,EAAE,GAAS,EAAE,GAAmB;IACrE,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAE1B,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;IAChC,MAAM,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;IAEhC,OAAO,IAAA,UAAG,EAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AAC5E,CAAC;AATD,8BASC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const DEFAULT_PALETTE:
|
|
1
|
+
export declare const DEFAULT_PALETTE: readonly [0, 17, 34, 51, 68, 85, 102, 119, 136, 153, 170, 187, 204, 221, 238, 136, 136, 1, 2, 3, 4, 5, 6, 136, 136, 249, 250, 251, 252, 253, 254, 255, 8, 145, 42, 59, 76, 93, 110, 136];
|
|
2
2
|
//# sourceMappingURL=default-palette.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-palette.d.ts","sourceRoot":"","sources":["../../src/screen/default-palette.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"default-palette.d.ts","sourceRoot":"","sources":["../../src/screen/default-palette.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,0LAKlB,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DEFAULT_PALETTE = void 0;
|
|
4
|
+
// prettier-ignore
|
|
4
5
|
exports.DEFAULT_PALETTE = [
|
|
5
|
-
0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99,
|
|
6
|
-
0xdd, 0xee, 0x88, 0x88, 0x01, 0x02, 0x03,
|
|
7
|
-
|
|
8
|
-
0x88,
|
|
6
|
+
0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99,
|
|
7
|
+
0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0x88, 0x88, 0x01, 0x02, 0x03,
|
|
8
|
+
0x04, 0x05, 0x06, 0x88, 0x88, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd,
|
|
9
|
+
0xfe, 0xff, 0x08, 0x91, 0x2a, 0x3b, 0x4c, 0x5d, 0x6e, 0x88,
|
|
9
10
|
];
|
|
10
11
|
//# sourceMappingURL=default-palette.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-palette.js","sourceRoot":"","sources":["../../src/screen/default-palette.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"default-palette.js","sourceRoot":"","sources":["../../src/screen/default-palette.ts"],"names":[],"mappings":";;;AAAA,kBAAkB;AACL,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC1D,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC1D,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAC1D,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAClD,CAAC"}
|
|
@@ -20,36 +20,36 @@ const renderPic = (commands, options = {}) => {
|
|
|
20
20
|
const [mode] = cmd;
|
|
21
21
|
switch (mode) {
|
|
22
22
|
case 'SET_PALETTE': {
|
|
23
|
-
const [, idx, palette] = cmd;
|
|
23
|
+
const [, [idx], ...palette] = cmd;
|
|
24
24
|
palettes[idx].set(palette);
|
|
25
25
|
break;
|
|
26
26
|
}
|
|
27
27
|
case 'UPDATE_PALETTE': {
|
|
28
|
-
const [, entries] = cmd;
|
|
28
|
+
const [, , ...entries] = cmd;
|
|
29
29
|
entries.forEach(([pal, idx, color]) => {
|
|
30
30
|
palettes[pal][idx] = color;
|
|
31
31
|
});
|
|
32
32
|
break;
|
|
33
33
|
}
|
|
34
34
|
case 'FILL': {
|
|
35
|
-
const [, drawMode, drawCodes, pos] = cmd;
|
|
35
|
+
const [, [drawMode, drawCodes], pos] = cmd;
|
|
36
36
|
const [x, y] = pos;
|
|
37
37
|
screen.fill(x, y, drawMode, drawCodes);
|
|
38
38
|
break;
|
|
39
39
|
}
|
|
40
40
|
case 'PLINE': {
|
|
41
|
-
const [, drawMode, drawCodes, ...points] = cmd;
|
|
41
|
+
const [, [drawMode, drawCodes], ...points] = cmd;
|
|
42
42
|
for (let p = 0; p < points.length - 1; p++)
|
|
43
43
|
screen.line(points[p][0], points[p][1], points[p + 1][0], points[p + 1][1], drawMode, drawCodes);
|
|
44
44
|
break;
|
|
45
45
|
}
|
|
46
46
|
case 'BRUSH': {
|
|
47
|
-
const [,
|
|
48
|
-
screen.brush(cx, cy, ...
|
|
47
|
+
const [, brushOptions, [cx, cy]] = cmd;
|
|
48
|
+
screen.brush(cx, cy, ...brushOptions);
|
|
49
49
|
break;
|
|
50
50
|
}
|
|
51
51
|
case 'CEL': {
|
|
52
|
-
const [, drawMode, [x, y], cel] = cmd;
|
|
52
|
+
const [, [drawMode], [x, y], cel] = cmd;
|
|
53
53
|
screen.blit(x, y, drawMode, cel);
|
|
54
54
|
break;
|
|
55
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-pic.js","sourceRoot":"","sources":["../../src/screen/render-pic.ts"],"names":[],"mappings":";;;AAAA,mDAAqD;AACrD,uDAAoD;AAGpD,oDAAiD;AAQ1C,MAAM,SAAS,GAAG,CACvB,QAAuB,EACvB,UAAyB,EAAE,EACb,EAAE;IAChB,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC;IAExD,MAAM,QAAQ,GAAqD;QACjE,UAAU,CAAC,IAAI,CAAC,iCAAe,CAAC;QAChC,UAAU,CAAC,IAAI,CAAC,iCAAe,CAAC;QAChC,UAAU,CAAC,IAAI,CAAC,iCAAe,CAAC;QAChC,UAAU,CAAC,IAAI,CAAC,iCAAe,CAAC;KACjC,CAAC;IAEF,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAA,kCAAkB,EAAC,QAAQ,EAAE,QAAQ,EAAE;QAC9D,KAAK;QACL,MAAM;KACP,CAAC,CAAC;IAEH,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;QAEnB,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"render-pic.js","sourceRoot":"","sources":["../../src/screen/render-pic.ts"],"names":[],"mappings":"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"}
|
package/dist/screen/screen.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export type Plotter = (x: number, y: number, drawMode: DrawMode, drawCodes: Draw
|
|
|
5
5
|
export type IsFillable = (x: number, y: number, drawMode: DrawMode) => boolean;
|
|
6
6
|
export type Filler = (x: number, y: number, drawMode: DrawMode, drawCodes: DrawCodes) => void;
|
|
7
7
|
export type Liner = (x0: number, y0: number, x1: number, y1: number, drawMode: DrawMode, drawCodes: DrawCodes) => void;
|
|
8
|
-
export type Brusher = (cx: number, cy: number, size: number, isRect: boolean, isSpray: boolean, textureCode: number
|
|
8
|
+
export type Brusher = (cx: number, cy: number, drawMode: DrawMode, drawCodes: DrawCodes, size: number, isRect: boolean, isSpray: boolean, textureCode: number) => void;
|
|
9
9
|
export type Blitter = (x: number, y: number, drawMode: DrawMode, cel: Cel) => void;
|
|
10
10
|
export interface Screen {
|
|
11
11
|
brush: Brusher;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../src/screen/screen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAEvE,MAAM,MAAM,OAAO,GAAG,CACpB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,KACjB,IAAI,CAAC;AAEV,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC;AAE/E,MAAM,MAAM,MAAM,GAAG,CACnB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,KACjB,IAAI,CAAC;AAEV,MAAM,MAAM,KAAK,GAAG,CAClB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,KACjB,IAAI,CAAC;AAEV,MAAM,MAAM,OAAO,GAAG,CACpB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../src/screen/screen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAEvE,MAAM,MAAM,OAAO,GAAG,CACpB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,KACjB,IAAI,CAAC;AAEV,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC;AAE/E,MAAM,MAAM,MAAM,GAAG,CACnB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,KACjB,IAAI,CAAC;AAEV,MAAM,MAAM,KAAK,GAAG,CAClB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,KACjB,IAAI,CAAC;AAEV,MAAM,MAAM,OAAO,GAAG,CACpB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,KAChB,IAAI,CAAC;AAEV,MAAM,MAAM,OAAO,GAAG,CACpB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,GAAG,KACL,IAAI,CAAC;AAEV,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;CACf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-blitter.d.ts","sourceRoot":"","sources":["../../../src/screen/tools/create-blitter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-blitter.d.ts","sourceRoot":"","sources":["../../../src/screen/tools/create-blitter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EAIT,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,eAAO,MAAM,aAAa,SACjB,UAAU,gEACZ,MAAM,MAAM,MAAM,YAAY,QAAQ,OAAO,GAAG,SAepD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-blitter.js","sourceRoot":"","sources":["../../../src/screen/tools/create-blitter.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"create-blitter.js","sourceRoot":"","sources":["../../../src/screen/tools/create-blitter.ts"],"names":[],"mappings":";;;AACA,4DAKmC;AAI5B,MAAM,aAAa,GACxB,CAAC,IAAgB,EAAE,CAAC,UAAU,EAAE,WAAW,CAAiB,EAAE,EAAE,CAChE,CAAC,EAAU,EAAE,EAAU,EAAE,QAAkB,EAAE,GAAQ,EAAE,EAAE;IACvD,IAAI,IAAA,4BAAa,EAAC,QAAQ,CAAC,IAAI,IAAA,6BAAc,EAAC,QAAQ,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IAElE,IAAI,CAAC,IAAA,2BAAY,EAAC,QAAQ,CAAC;QAAE,OAAO;IAEpC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;QACvC,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,IAAI,WAAW;gBAAE,SAAS;YAElD,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,KAAK,KAAK,GAAG,CAAC,QAAQ;gBAAE,SAAS;YACrC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACpB,CAAC;AACL,CAAC,CAAC;AAjBS,QAAA,aAAa,iBAiBtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-brush.d.ts","sourceRoot":"","sources":["../../../src/screen/tools/create-brush.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-brush.d.ts","sourceRoot":"","sources":["../../../src/screen/tools/create-brush.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAK7C,eAAO,MAAM,WAAW,SAChB,OAAO,2DAEZ,OAmCA,CAAC"}
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.createBrush = void 0;
|
|
7
7
|
const noise_1 = require("./noise");
|
|
8
8
|
const circles_1 = __importDefault(require("./circles"));
|
|
9
|
-
const createBrush = (plot, [stageWidth, stageHeight]) => function brush(cx, cy, size, isRect, isSpray, textureCode
|
|
9
|
+
const createBrush = (plot, [stageWidth, stageHeight]) => function brush(cx, cy, drawMode, drawCodes, size, isRect, isSpray, textureCode) {
|
|
10
10
|
const baseWidth = isRect ? 2 : 1;
|
|
11
11
|
const width = baseWidth + size * 2;
|
|
12
12
|
const height = 1 + size * 2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-brush.js","sourceRoot":"","sources":["../../../src/screen/tools/create-brush.ts"],"names":[],"mappings":";;;;;;AAGA,mCAA+C;AAC/C,wDAAgC;AAEzB,MAAM,WAAW,GAAG,CACzB,IAAa,EACb,CAAC,UAAU,EAAE,WAAW,CAAiB,EAChC,EAAE,CACX,SAAS,KAAK,CACZ,EAAE,EACF,EAAE,EACF,IAAI,EACJ,MAAM,EACN,OAAO,EACP,WAAW
|
|
1
|
+
{"version":3,"file":"create-brush.js","sourceRoot":"","sources":["../../../src/screen/tools/create-brush.ts"],"names":[],"mappings":";;;;;;AAGA,mCAA+C;AAC/C,wDAAgC;AAEzB,MAAM,WAAW,GAAG,CACzB,IAAa,EACb,CAAC,UAAU,EAAE,WAAW,CAAiB,EAChC,EAAE,CACX,SAAS,KAAK,CACZ,EAAE,EACF,EAAE,EACF,QAAkB,EAClB,SAAoB,EACpB,IAAI,EACJ,MAAM,EACN,OAAO,EACP,WAAW;IAEX,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;IAE5B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACjC,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;IAC3B,IAAI,KAAK,IAAI,UAAU;QAAE,IAAI,GAAG,UAAU,GAAG,KAAK,CAAC;IACnD,IAAI,MAAM,IAAI,WAAW;QAAE,GAAG,GAAG,WAAW,GAAG,MAAM,CAAC;IAEtD,IAAI,QAAQ,GAAG,qBAAa,CAAC,WAAW,CAAC,CAAC;IAE1C,KAAK,IAAI,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,IAAI,CAAC;QACrC,KAAK,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,MAAM,GAAG,iBAAO,CAAC,IAAI,CAAC,CAAC;gBAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;gBAC7B,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtC,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;oBAAE,SAAS;YAC9C,CAAC;YACD,IAAI,OAAO,IAAI,CAAC,aAAK,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;gBAAE,SAAS;YACnD,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACpC,CAAC;AACL,CAAC,CAAC;AAtCS,QAAA,WAAW,eAsCpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-flood-fill.d.ts","sourceRoot":"","sources":["../../../src/screen/tools/create-flood-fill.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-flood-fill.d.ts","sourceRoot":"","sources":["../../../src/screen/tools/create-flood-fill.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGxD,eAAO,MAAM,eAAe,SACpB,OAAO,WACJ,UAAU,iDAElB,MAuEF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@4bitlabs/sci0",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Library for parsing and rendering assets from Sierra On-line's SCI-engine.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
"@4bitlabs/codecs": "^2.0.1",
|
|
28
28
|
"@4bitlabs/image": "^3.3.9",
|
|
29
29
|
"@4bitlabs/numeric-deque": "^1.1.5",
|
|
30
|
-
"@4bitlabs/readers": "^2.0.5"
|
|
30
|
+
"@4bitlabs/readers": "^2.0.5",
|
|
31
|
+
"@4bitlabs/vec2": "^1.0.0"
|
|
31
32
|
}
|
|
32
33
|
}
|