@4bitlabs/sci0 3.0.1 → 3.1.1

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 CHANGED
@@ -5,6 +5,7 @@ export type { PatternCode, DrawCodes, DrawCommandStruct, SetPaletteCommand, Upda
5
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
+ export type { RenderResult } from './screen/render-result';
8
9
  export { renderPic, loopPaddingFilter } from './screen';
9
10
  export { parseAll as parseAllMappings, consume as consumeNextMappingChunk, } from './parsers/mapping';
10
11
  export { getPayloadLength, parseHeaderFrom } from './parsers/resource-header';
@@ -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,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"}
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,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,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.map CHANGED
@@ -1 +1 @@
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
+ {"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;AAGtB,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"}
@@ -3,7 +3,12 @@ import { Cel } from './cel';
3
3
  export declare enum DrawMode {
4
4
  Visual = 1,
5
5
  Priority = 2,
6
- Control = 4
6
+ Control = 4,
7
+ ___ = 0,
8
+ VP_ = 3,
9
+ V_C = 5,
10
+ _CP = 6,
11
+ VPC = 7
7
12
  }
8
13
  export declare const isVisualMode: (mode: DrawMode) => boolean;
9
14
  export declare const isPriorityMode: (mode: DrawMode) => boolean;
@@ -1 +1 @@
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
+ {"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;IAEf,GAAG,IAAQ;IACX,GAAG,IAAQ;IACX,GAAG,IAAQ;IACX,GAAG,IAAQ;IACX,GAAG,IAAQ;CACZ;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"}
@@ -6,6 +6,11 @@ var DrawMode;
6
6
  DrawMode[DrawMode["Visual"] = 1] = "Visual";
7
7
  DrawMode[DrawMode["Priority"] = 2] = "Priority";
8
8
  DrawMode[DrawMode["Control"] = 4] = "Control";
9
+ DrawMode[DrawMode["___"] = 0] = "___";
10
+ DrawMode[DrawMode["VP_"] = 3] = "VP_";
11
+ DrawMode[DrawMode["V_C"] = 5] = "V_C";
12
+ DrawMode[DrawMode["_CP"] = 6] = "_CP";
13
+ DrawMode[DrawMode["VPC"] = 7] = "VPC";
9
14
  })(DrawMode || (exports.DrawMode = DrawMode = {}));
10
15
  const isVisualMode = (mode) => (mode & DrawMode.Visual) === DrawMode.Visual;
11
16
  exports.isVisualMode = isVisualMode;
@@ -1 +1 @@
1
- {"version":3,"file":"draw-command.js","sourceRoot":"","sources":["../../src/models/draw-command.ts"],"names":[],"mappings":";;;AAGA,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,2CAAc,CAAA;IACd,+CAAgB,CAAA;IAChB,6CAAe,CAAA;AACjB,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB;AAEM,MAAM,YAAY,GAAG,CAAC,IAAc,EAAE,EAAE,CAC5C,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAc,KAAK,QAAQ,CAAC,MAAM,CAAC;AADhD,QAAA,YAAY,gBACoC;AAEtD,MAAM,cAAc,GAAG,CAAC,IAAc,EAAE,EAAE,CAC9C,CAAC,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAc,KAAK,QAAQ,CAAC,QAAQ,CAAC;AADpD,QAAA,cAAc,kBACsC;AAE1D,MAAM,aAAa,GAAG,CAAC,IAAc,EAAE,EAAE,CAC7C,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAc,KAAK,QAAQ,CAAC,OAAO,CAAC;AADlD,QAAA,aAAa,iBACqC"}
1
+ {"version":3,"file":"draw-command.js","sourceRoot":"","sources":["../../src/models/draw-command.ts"],"names":[],"mappings":";;;AAGA,IAAY,QAUX;AAVD,WAAY,QAAQ;IAClB,2CAAc,CAAA;IACd,+CAAgB,CAAA;IAChB,6CAAe,CAAA;IAEf,qCAAW,CAAA;IACX,qCAAW,CAAA;IACX,qCAAW,CAAA;IACX,qCAAW,CAAA;IACX,qCAAW,CAAA;AACb,CAAC,EAVW,QAAQ,wBAAR,QAAQ,QAUnB;AAEM,MAAM,YAAY,GAAG,CAAC,IAAc,EAAE,EAAE,CAC5C,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAc,KAAK,QAAQ,CAAC,MAAM,CAAC;AADhD,QAAA,YAAY,gBACoC;AAEtD,MAAM,cAAc,GAAG,CAAC,IAAc,EAAE,EAAE,CAC9C,CAAC,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAc,KAAK,QAAQ,CAAC,QAAQ,CAAC;AADpD,QAAA,cAAc,kBACsC;AAE1D,MAAM,aAAa,GAAG,CAAC,IAAc,EAAE,EAAE,CAC7C,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAc,KAAK,QAAQ,CAAC,OAAO,CAAC;AADlD,QAAA,aAAa,iBACqC"}
@@ -4,6 +4,7 @@ interface RenderOptions {
4
4
  forcePal?: 0 | 1 | 2 | 3 | undefined;
5
5
  width?: number;
6
6
  height?: number;
7
+ onAfterStep?: (idx: number, cmd: DrawCommand, result: RenderResult) => void;
7
8
  }
8
9
  export declare const renderPic: (commands: DrawCommand[], options?: RenderOptions) => RenderResult;
9
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"render-pic.d.ts","sourceRoot":"","sources":["../../src/screen/render-pic.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,UAAU,aAAa;IACrB,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,SAAS,aACV,WAAW,EAAE,YACd,aAAa,KACrB,YAkEF,CAAC"}
1
+ {"version":3,"file":"render-pic.d.ts","sourceRoot":"","sources":["../../src/screen/render-pic.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,UAAU,aAAa;IACrB,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;CAC7E;AAED,eAAO,MAAM,SAAS,aACV,WAAW,EAAE,YACd,aAAa,KACrB,YAqEF,CAAC"}
@@ -5,18 +5,19 @@ const screen_buffer_1 = require("./screen-buffer");
5
5
  const default_palette_1 = require("./default-palette");
6
6
  const exhaustive_1 = require("../utils/exhaustive");
7
7
  const renderPic = (commands, options = {}) => {
8
- const { forcePal, width = 320, height = 190 } = options;
8
+ const { forcePal, width = 320, height = 190, onAfterStep } = options;
9
9
  const palettes = [
10
10
  Uint8Array.from(default_palette_1.DEFAULT_PALETTE),
11
11
  Uint8Array.from(default_palette_1.DEFAULT_PALETTE),
12
12
  Uint8Array.from(default_palette_1.DEFAULT_PALETTE),
13
13
  Uint8Array.from(default_palette_1.DEFAULT_PALETTE),
14
14
  ];
15
- const [result, screen] = (0, screen_buffer_1.createScreenBuffer)(forcePal, palettes, [
16
- width,
17
- height,
18
- ]);
19
- for (const cmd of commands) {
15
+ const size = [width, height];
16
+ const [result, screen, setT] = (0, screen_buffer_1.createScreenBuffer)(forcePal, palettes, size);
17
+ const { fill, line, brush, blit } = screen;
18
+ for (let i = 0; i < commands.length; i += 1) {
19
+ setT(i);
20
+ const cmd = commands[i];
20
21
  const [mode] = cmd;
21
22
  switch (mode) {
22
23
  case 'SET_PALETTE': {
@@ -34,28 +35,29 @@ const renderPic = (commands, options = {}) => {
34
35
  case 'FILL': {
35
36
  const [, [drawMode, drawCodes], pos] = cmd;
36
37
  const [x, y] = pos;
37
- screen.fill(x, y, drawMode, drawCodes);
38
+ fill(x, y, drawMode, drawCodes);
38
39
  break;
39
40
  }
40
41
  case 'PLINE': {
41
42
  const [, [drawMode, drawCodes], ...points] = cmd;
42
43
  for (let p = 0; p < points.length - 1; p++)
43
- screen.line(points[p][0], points[p][1], points[p + 1][0], points[p + 1][1], drawMode, drawCodes);
44
+ line(points[p][0], points[p][1], points[p + 1][0], points[p + 1][1], drawMode, drawCodes);
44
45
  break;
45
46
  }
46
47
  case 'BRUSH': {
47
48
  const [, brushOptions, [cx, cy]] = cmd;
48
- screen.brush(cx, cy, ...brushOptions);
49
+ brush(cx, cy, ...brushOptions);
49
50
  break;
50
51
  }
51
52
  case 'CEL': {
52
53
  const [, [drawMode], [x, y], cel] = cmd;
53
- screen.blit(x, y, drawMode, cel);
54
+ blit(x, y, drawMode, cel);
54
55
  break;
55
56
  }
56
57
  default:
57
58
  (0, exhaustive_1.exhaustive)('unhandled opcode', mode);
58
59
  }
60
+ onAfterStep === null || onAfterStep === void 0 ? void 0 : onAfterStep(i, cmd, result);
59
61
  }
60
62
  return result;
61
63
  };
@@ -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,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC;gBAClC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC3B,MAAM;YACR,CAAC;YACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,CAAC,EAAE,AAAD,EAAG,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC;gBAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;oBACpC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC7B,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;gBAC3C,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACvC,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;gBACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE;oBACxC,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACZ,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACZ,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAChB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAChB,QAAQ,EACR,SAAS,CACV,CAAC;gBACJ,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;gBACvC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,YAAY,CAAC,CAAC;gBACtC,MAAM;YACR,CAAC;YACD,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;gBACxC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;gBACjC,MAAM;YACR,CAAC;YACD;gBACE,IAAA,uBAAU,EAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AArEW,QAAA,SAAS,aAqEpB"}
1
+ {"version":3,"file":"render-pic.js","sourceRoot":"","sources":["../../src/screen/render-pic.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,6 @@ export interface RenderResult {
3
3
  visible: IndexedPixelData;
4
4
  priority: IndexedPixelData;
5
5
  control: IndexedPixelData;
6
- alpha: IndexedPixelData;
6
+ tBuffer: Uint32Array;
7
7
  }
8
8
  //# sourceMappingURL=render-result.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"render-result.d.ts","sourceRoot":"","sources":["../../src/screen/render-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,KAAK,EAAE,gBAAgB,CAAC;CACzB"}
1
+ {"version":3,"file":"render-result.d.ts","sourceRoot":"","sources":["../../src/screen/render-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,OAAO,EAAE,WAAW,CAAC;CACtB"}
@@ -1,4 +1,6 @@
1
1
  import { type Screen } from './screen';
2
2
  import { type RenderResult } from './render-result';
3
- export declare const createScreenBuffer: (forcePal: 0 | 1 | 2 | 3 | undefined, palettes: [Uint8Array, Uint8Array, Uint8Array, Uint8Array], [width, height]: [number, number]) => [RenderResult, Screen];
3
+ type SetTValueFn = (n: number) => void;
4
+ export declare const createScreenBuffer: (forcePal: 0 | 1 | 2 | 3 | undefined, palettes: [Uint8Array, Uint8Array, Uint8Array, Uint8Array], [width, height]: [number, number]) => [RenderResult, Screen, SetTValueFn];
5
+ export {};
4
6
  //# sourceMappingURL=screen-buffer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"screen-buffer.d.ts","sourceRoot":"","sources":["../../src/screen/screen-buffer.ts"],"names":[],"mappings":"AACA,OAAO,EAAwC,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAM7E,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAQpD,eAAO,MAAM,kBAAkB,aACnB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,YACzB,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,mBACzC,CAAC,MAAM,EAAE,MAAM,CAAC,KAChC,CAAC,YAAY,EAAE,MAAM,CAmEvB,CAAC"}
1
+ {"version":3,"file":"screen-buffer.d.ts","sourceRoot":"","sources":["../../src/screen/screen-buffer.ts"],"names":[],"mappings":"AACA,OAAO,EAAwC,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAM7E,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAQpD,KAAK,WAAW,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAEvC,eAAO,MAAM,kBAAkB,aACnB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,YACzB,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,mBACzC,CAAC,MAAM,EAAE,MAAM,CAAC,KAChC,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAyEpC,CAAC"}
@@ -8,7 +8,11 @@ const createScreenBuffer = (forcePal, palettes, [width, height]) => {
8
8
  const visible = (0, image_1.createIndexedPixelData)(width, height);
9
9
  const priority = (0, image_1.createIndexedPixelData)(width, height);
10
10
  const control = (0, image_1.createIndexedPixelData)(width, height);
11
- const alpha = (0, image_1.createIndexedPixelData)(width, height);
11
+ const tBuffer = new Uint32Array(width * height).fill(-1);
12
+ let t = 0;
13
+ const setTValue = (next) => {
14
+ t = next;
15
+ };
12
16
  visible.pixels.fill(0xff);
13
17
  priority.pixels.fill(0x00);
14
18
  control.pixels.fill(0x00);
@@ -25,7 +29,7 @@ const createScreenBuffer = (forcePal, palettes, [width, height]) => {
25
29
  const palette = palettes[pal];
26
30
  const palIndex = drawCodes[0] % 40 >>> 0;
27
31
  visible.pixels[idx] = palette[palIndex];
28
- alpha.pixels[idx] = 255;
32
+ tBuffer[idx] = t;
29
33
  }
30
34
  if ((0, draw_command_1.isPriorityMode)(drawMode)) {
31
35
  priority.pixels[idx] = drawCodes[1];
@@ -50,7 +54,7 @@ const createScreenBuffer = (forcePal, palettes, [width, height]) => {
50
54
  ((0, draw_command_1.isControlMode)(drawMode) && control.pixels[idx] === 0x00));
51
55
  };
52
56
  return [
53
- { visible, priority, control, alpha },
57
+ { visible, priority, control, tBuffer },
54
58
  {
55
59
  setPixel,
56
60
  brush: (0, tools_1.createBrush)(plot, [width, height]),
@@ -58,6 +62,7 @@ const createScreenBuffer = (forcePal, palettes, [width, height]) => {
58
62
  line: (0, tools_1.createLine)(plot),
59
63
  blit: (0, tools_1.createBlitter)(setPixel, [width, height]),
60
64
  },
65
+ setTValue,
61
66
  ];
62
67
  };
63
68
  exports.createScreenBuffer = createScreenBuffer;
@@ -1 +1 @@
1
- {"version":3,"file":"screen-buffer.js","sourceRoot":"","sources":["../../src/screen/screen-buffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screen-buffer.js","sourceRoot":"","sources":["../../src/screen/screen-buffer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { DrawMode } from '../models/draw-command';
2
+ export type TBufferValue = [t: number, drawMode: DrawMode];
3
+ export declare const pack: ([t, mode]: TBufferValue) => number;
4
+ export declare const unpack: (t: number) => TBufferValue;
5
+ //# sourceMappingURL=tbuffer-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tbuffer-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/tbuffer-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAE3D,eAAO,MAAM,IAAI,qCACiC,CAAC;AAEnD,eAAO,MAAM,MAAM,MAAO,MAAM,iBAG/B,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.unpack = exports.pack = void 0;
4
+ const pack = ([t, mode]) => ((mode & 0b111) << 24) | ((t & 16777215) << 0);
5
+ exports.pack = pack;
6
+ const unpack = (t) => [
7
+ (t >>> 0) & 16777215,
8
+ (t >>> 24) & 0b111,
9
+ ];
10
+ exports.unpack = unpack;
11
+ //# sourceMappingURL=tbuffer-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tbuffer-helpers.js","sourceRoot":"","sources":["../../src/utils/tbuffer-helpers.ts"],"names":[],"mappings":";;;AAIO,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAe,EAAE,EAAE,CAC9C,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AADtC,QAAA,IAAI,QACkC;AAE5C,MAAM,MAAM,GAAG,CAAC,CAAS,EAAgB,EAAE,CAAC;IACjD,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,QAAU;IACtB,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK;CACnB,CAAC;AAHW,QAAA,MAAM,UAGjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@4bitlabs/sci0",
3
- "version": "3.0.1",
3
+ "version": "3.1.1",
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",
@@ -25,9 +25,9 @@
25
25
  "license": "ISC",
26
26
  "dependencies": {
27
27
  "@4bitlabs/codecs": "^2.0.1",
28
- "@4bitlabs/image": "^3.3.9",
28
+ "@4bitlabs/image": "^3.3.10",
29
29
  "@4bitlabs/numeric-deque": "^1.1.5",
30
30
  "@4bitlabs/readers": "^2.0.5",
31
- "@4bitlabs/vec2": "^1.0.1"
31
+ "@4bitlabs/vec2": "^1.1.0"
32
32
  }
33
33
  }