@ianlucas/cs2-lib-inspect 8.0.0-rc.1 → 8.0.0-rc.2

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.
@@ -2,9 +2,8 @@
2
2
  * Copyright (c) candyboyz, Ian Lucas. All rights reserved.
3
3
  * Licensed under the MIT License. See License.txt in the project root for license information.
4
4
  *--------------------------------------------------------------------------------------------*/
5
- import { CS2EconomyInstance, CS2_MAX_KEYCHAIN_SEED, CS2_MAX_STICKER_ROTATION, CS2_MAX_STICKER_WEAR, CS2_MIN_KEYCHAIN_SEED, CS2_MIN_SEED, CS2_MIN_STICKER_WEAR, CS2_MIN_WEAR, CS2_STICKER_WEAR_FACTOR, CS2_WEAR_FACTOR, assert, ensure } from "@ianlucas/cs2-lib";
5
+ import { CS2EconomyInstance, CS2_MAX_KEYCHAIN_SEED, CS2_MAX_STICKER_ROTATION, CS2_MAX_STICKER_WEAR, CS2_MIN_KEYCHAIN_SEED, CS2_MIN_SEED, CS2_MIN_STICKER_WEAR, CS2_MIN_WEAR, CS2_STICKER_OFFSET_FACTOR, CS2_STICKER_WEAR_FACTOR, CS2_WEAR_FACTOR, assert, clamp, ensure, truncateToFactor } from "@ianlucas/cs2-lib";
6
6
  import { CS2_PREVIEW_HAS_STICKERS } from "./constants.js";
7
- import { clamp, truncate } from "./utils.js";
8
7
  export function parseGCInventoryItem(economy, data) {
9
8
  const { defindex, paintindex, paintseed, floatvalue, killeatervalue, customname, musicindex, stickers, keychains } = data;
10
9
  let economyItem = economy.itemsAsArray.find((item) => item.def === defindex);
@@ -37,11 +36,17 @@ export function parseGCInventoryItem(economy, data) {
37
36
  seed: seed !== undefined ? clamp(seed, CS2_MIN_KEYCHAIN_SEED, CS2_MAX_KEYCHAIN_SEED) : undefined
38
37
  });
39
38
  }
39
+ // Per-model sticker offset envelope is constant across this item's slots; resolve it once here
40
+ // (where `economyItem` is narrowed) so it can be closed over inside the sticker map below.
41
+ const stickerOffsetXMin = economyItem.getMinimumStickerOffsetX();
42
+ const stickerOffsetXMax = economyItem.getMaximumStickerOffsetX();
43
+ const stickerOffsetYMin = economyItem.getMinimumStickerOffsetY();
44
+ const stickerOffsetYMax = economyItem.getMaximumStickerOffsetY();
40
45
  return stripMinValues({
41
46
  id: economyItem.id,
42
47
  seed: economyItem.hasSeed() ? paintseed : undefined,
43
48
  wear: economyItem.hasWear() && floatvalue !== undefined
44
- ? clamp(truncate(floatvalue, CS2_WEAR_FACTOR), economyItem.getMinimumWear(), economyItem.getMaximumWear())
49
+ ? clamp(truncateToFactor(floatvalue, CS2_WEAR_FACTOR), economyItem.getMinimumWear(), economyItem.getMaximumWear())
45
50
  : undefined,
46
51
  statTrak: economyItem.hasStatTrak() ? killeatervalue : undefined,
47
52
  nameTag: economyItem.hasNameTag() ? customname : undefined,
@@ -70,10 +75,10 @@ export function parseGCInventoryItem(economy, data) {
70
75
  rotation: rotation !== undefined ? normalizeStickerRotation(rotation) : undefined,
71
76
  schema: slot,
72
77
  wear: wear !== undefined
73
- ? clamp(truncate(wear, CS2_STICKER_WEAR_FACTOR), CS2_MIN_STICKER_WEAR, CS2_MAX_STICKER_WEAR)
78
+ ? clamp(truncateToFactor(wear, CS2_STICKER_WEAR_FACTOR), CS2_MIN_STICKER_WEAR, CS2_MAX_STICKER_WEAR)
74
79
  : undefined,
75
- x: offsetX,
76
- y: offsetY
80
+ x: healStickerOffset(offsetX, stickerOffsetXMin, stickerOffsetXMax),
81
+ y: healStickerOffset(offsetY, stickerOffsetYMin, stickerOffsetYMax)
77
82
  }
78
83
  ]))
79
84
  : undefined,
@@ -86,9 +91,28 @@ export function parseGCInventoryItem(economy, data) {
86
91
  });
87
92
  }
88
93
  }
94
+ // Sticker offsets are deltas from the markup slot's default, stored on the CS2_STICKER_OFFSET_FACTOR
95
+ // grid. Truncate onto that grid (always — so the value satisfies cs2-lib's factor-precision assert even
96
+ // when the model publishes no bounds), then clamp into the model's [min, max] envelope when it does.
97
+ // Mirrors cs2-lib's private healStickerOffset, composed from its newly exported primitives.
98
+ function healStickerOffset(value, min, max) {
99
+ if (value === undefined || !Number.isFinite(value)) {
100
+ return undefined;
101
+ }
102
+ value = truncateToFactor(value, CS2_STICKER_OFFSET_FACTOR);
103
+ if (min !== undefined && value < min) {
104
+ return min;
105
+ }
106
+ if (max !== undefined && value > max) {
107
+ return max;
108
+ }
109
+ return value;
110
+ }
89
111
  function normalizeStickerRotation(rotation) {
90
- // Wrap to the in-game [-180, 180] range; legacy 0–359 and out-of-range values
91
- // collapse to the equivalent signed angle. Mirrors cs2-lib CS2Inventory healing.
112
+ // Wrap to the in-game [-180, 180] range; legacy 0–359 and out-of-range values collapse to the
113
+ // equivalent signed angle (e.g. 270 -> -90, 9999 -> -81). This deliberately diverges from cs2-lib's
114
+ // healing, which drops still-out-of-range rotations to undefined — here we wrap-and-preserve so a
115
+ // parsed link keeps its visual angle.
92
116
  const normalized = ((Math.trunc(rotation) % 360) + 360) % 360; // [0, 359]
93
117
  return normalized > CS2_MAX_STICKER_ROTATION ? normalized - 360 : normalized; // [-179, 180]
94
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parse-gc-inventory-item.js","sourceRoot":"","sources":["../src/parse-gc-inventory-item.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-gc-inventory-item.js","sourceRoot":"","sources":["../src/parse-gc-inventory-item.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -1,4 +1,2 @@
1
1
  export declare function floatToBytes(floatValue: number): number;
2
2
  export declare function bytesToFloat(byteValue: number): number;
3
- export declare function truncate(value: number, factor: number): number;
4
- export declare function clamp(value: number, min: number, max: number): number;
package/dist/utils.js CHANGED
@@ -14,10 +14,4 @@ export function bytesToFloat(byteValue) {
14
14
  const floatArray = new Float32Array(byteArray.buffer);
15
15
  return floatArray[0];
16
16
  }
17
- export function truncate(value, factor) {
18
- return parseFloat(String(value).substring(0, String(factor).length));
19
- }
20
- export function clamp(value, min, max) {
21
- return Math.min(Math.max(value, min), max);
22
- }
23
17
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,MAAM,UAAU,YAAY,CAAC,UAAkB;IAC3C,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IACvC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;IAC3B,MAAM,SAAS,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACrD,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC1C,MAAM,SAAS,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IACrC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACzB,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACtD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAa,EAAE,MAAc;IAClD,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IACzD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,MAAM,UAAU,YAAY,CAAC,UAAkB;IAC3C,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;IACvC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;IAC3B,MAAM,SAAS,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACrD,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC1C,MAAM,SAAS,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IACrC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACzB,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACtD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC"}
package/package.json CHANGED
@@ -34,7 +34,7 @@
34
34
  "vitest": "^4.1.8"
35
35
  },
36
36
  "peerDependencies": {
37
- "@ianlucas/cs2-lib": "^8.0.0-rc.3"
37
+ "@ianlucas/cs2-lib": "^8.0.0-rc.5"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@protobuf-ts/plugin": "^2.11.1",
@@ -46,5 +46,5 @@
46
46
  "engines": {
47
47
  "node": ">=20"
48
48
  },
49
- "version": "8.0.0-rc.1"
49
+ "version": "8.0.0-rc.2"
50
50
  }