@ianlucas/cs2-lib-inspect 8.2.0 → 9.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/README.md CHANGED
@@ -11,9 +11,15 @@ npm install @ianlucas/cs2-lib-inspect
11
11
  ## Usage
12
12
 
13
13
  ```typescript
14
- import { CS2Economy } from "@ianlucas/cs2-lib";
15
- import { generateInspectLink } from "@ianlucas/cs2-lib-inspect";
14
+ import { CS2Economy, CS2_ITEMS } from "@ianlucas/cs2-lib";
15
+ import { english } from "@ianlucas/cs2-lib/translations";
16
+ import { generateInspectLink, parseInspectLink } from "@ianlucas/cs2-lib-inspect";
17
+
18
+ CS2Economy.load({ items: CS2_ITEMS, language: english });
16
19
 
17
20
  const link = generateInspectLink(CS2Economy.getById(307));
18
21
  //=> "steam://rungame/730/76561202255233023/+csgo_econ_action_preview%2000180920D802280638004001B9A9F1D4"
22
+
23
+ const item = parseInspectLink(CS2Economy, link);
24
+ //=> { id: 307, ... }
19
25
  ```
@@ -9,19 +9,21 @@ import { CS2PreviewRarity, CS2_PREVIEW_COMMAND, CS2_PREVIEW_HAS_STICKERS, CS2_PR
9
9
  import { CEconItemPreviewDataBlock } from "./Protobufs/cstrike15_gcmessages.js";
10
10
  import { floatToBytes } from "./utils.js";
11
11
  function getEconomyItemPreviewData(item) {
12
- const { def, index, rarity, type, tint } = item;
12
+ const { definitionIndex, variantIndex, rarityColor, type, tintIndex } = item;
13
13
  const hasStickers = CS2_PREVIEW_HAS_STICKERS.includes(type);
14
14
  const hasPaintIndex = !hasStickers && !item.isMusicKit();
15
15
  const hasKeychains = item.isKeychain();
16
16
  return {
17
- defindex: def,
18
- keychains: hasKeychains ? [{ stickerId: index, slot: 0, wrappedSticker: item.wrappedSticker?.index }] : [],
19
- musicindex: item.isMusicKit() ? index : undefined,
20
- paintindex: hasPaintIndex ? index : undefined,
17
+ defindex: definitionIndex,
18
+ keychains: hasKeychains
19
+ ? [{ stickerId: variantIndex, slot: 0, wrappedSticker: item.displayedSticker?.variantIndex }]
20
+ : [],
21
+ musicindex: item.isMusicKit() ? variantIndex : undefined,
22
+ paintindex: hasPaintIndex ? variantIndex : undefined,
21
23
  paintseed: item.hasSeed() ? CS2_MIN_SEED : undefined,
22
24
  paintwear: item.hasWear() ? floatToBytes(item.getMinimumWear()) : undefined,
23
- rarity: CS2PreviewRarity[rarity] ?? 0,
24
- stickers: hasStickers ? [{ tintId: tint, stickerId: index, slot: 0 }] : []
25
+ rarity: CS2PreviewRarity[rarityColor] ?? 0,
26
+ stickers: hasStickers ? [{ tintId: tintIndex, stickerId: variantIndex, slot: 0 }] : []
25
27
  };
26
28
  }
27
29
  function getInventoryItemPreviewData(item) {
@@ -40,13 +42,13 @@ function getInventoryItemPreviewData(item) {
40
42
  offsetY: y,
41
43
  rotation,
42
44
  slot: schema ?? slot,
43
- stickerId: item.economy.getById(id).index,
45
+ stickerId: item.economy.getById(id).variantIndex,
44
46
  wear: wear ?? CS2_MIN_STICKER_WEAR
45
47
  }))
46
48
  : patches !== undefined
47
49
  ? item
48
50
  .somePatches()
49
- .map(([slot, patchId]) => ({ slot, stickerId: item.economy.getById(patchId).index }))
51
+ .map(([slot, patchId]) => ({ slot, stickerId: item.economy.getById(patchId).variantIndex }))
50
52
  : baseAttributes.stickers,
51
53
  keychains: keychains !== undefined
52
54
  ? item.someKeychains().map(([slot, { id, x, y, z, seed }]) => {
@@ -57,8 +59,8 @@ function getInventoryItemPreviewData(item) {
57
59
  offsetZ: z,
58
60
  pattern: seed,
59
61
  slot,
60
- stickerId: keychainItem.index,
61
- wrappedSticker: keychainItem.wrappedSticker?.index
62
+ stickerId: keychainItem.variantIndex,
63
+ wrappedSticker: keychainItem.displayedSticker?.variantIndex
62
64
  };
63
65
  })
64
66
  : item.isKeychain()
@@ -1 +1 @@
1
- {"version":3,"file":"generate-inspect-link.js","sourceRoot":"","sources":["../src/generate-inspect-link.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-inspect-link.js","sourceRoot":"","sources":["../src/generate-inspect-link.ts"],"names":[],"mappings":"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"}
@@ -2,38 +2,39 @@
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, CS2EconomyItem, 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, clamp, ensure, getNextStickerSchema, healKeychainOffset, healStickerOffset, snapStickerRotation, truncateToFactor } from "@ianlucas/cs2-lib";
5
+ import { CS2EconomyInstance, CS2EconomyItem, CS2_INVENTORY_RULES, CS2_MAX_STICKER_ROTATION, CS2_MIN_KEYCHAIN_SEED, CS2_MIN_SEED, CS2_MIN_STICKER_WEAR, CS2_MIN_WEAR, CS2_WEAR_FACTOR, assert, clamp, ensure, getNextStickerSchema, snapStickerRotation, truncateToFactor } from "@ianlucas/cs2-lib";
6
6
  import { CS2_PREVIEW_HAS_STICKERS } from "./constants.js";
7
7
  export function parseGCInventoryItem(economy, data) {
8
8
  const { defindex, paintindex, paintseed, floatvalue, killeatervalue, customname, musicindex, stickers, keychains } = data;
9
- let economyItem = economy.itemsAsArray.find((item) => item.def === defindex);
9
+ let economyItem = economy.itemsAsArray.find((item) => item.definitionIndex === defindex);
10
10
  if (economyItem !== undefined && CS2_PREVIEW_HAS_STICKERS.includes(economyItem.type)) {
11
11
  if (stickers.length === 1) {
12
12
  // Patch, Sticker, and Graffiti
13
- economyItem = economy.itemsAsArray.find((item) => item.def === defindex && item.index === stickers[0].stickerId && item.tint === stickers[0].tintId);
13
+ economyItem = economy.itemsAsArray.find((item) => item.definitionIndex === defindex &&
14
+ item.variantIndex === stickers[0].stickerId &&
15
+ item.tintIndex === stickers[0].tintId);
14
16
  }
15
17
  return ensure(economyItem !== undefined ? { id: economyItem.id } : undefined);
16
18
  }
17
19
  else if (musicindex !== undefined) {
18
20
  // Music Kit
19
- economyItem = economy.itemsAsArray.find((item) => item.isMusicKit() && item.index === musicindex);
21
+ economyItem = economy.itemsAsArray.find((item) => item.isMusicKit() && item.variantIndex === musicindex);
20
22
  return ensure(economyItem !== undefined ? stripMinValues({ id: economyItem.id, statTrak: killeatervalue }) : undefined);
21
23
  }
22
24
  else {
23
25
  if (economyItem?.isKeychain() && keychains.length > 0) {
24
- economyItem = economy.itemsAsArray.find((item) => item.def === defindex &&
25
- item.index === keychains[0].stickerId &&
26
- item.wrappedSticker?.index === keychains[0].wrappedSticker);
26
+ economyItem = economy.itemsAsArray.find((item) => item.definitionIndex === defindex &&
27
+ item.variantIndex === keychains[0].stickerId &&
28
+ item.displayedSticker?.variantIndex === keychains[0].wrappedSticker);
27
29
  }
28
30
  else if (paintindex !== undefined) {
29
- economyItem = economy.itemsAsArray.find((item) => item.def === defindex && item.index === paintindex);
31
+ economyItem = economy.itemsAsArray.find((item) => item.definitionIndex === defindex && item.variantIndex === paintindex);
30
32
  }
31
33
  assert(economyItem !== undefined);
32
34
  if (economyItem.isKeychain()) {
33
- const seed = keychains[0]?.pattern ?? paintseed;
34
35
  return stripMinValues({
35
36
  id: economyItem.id,
36
- seed: seed !== undefined ? clamp(seed, CS2_MIN_KEYCHAIN_SEED, CS2_MAX_KEYCHAIN_SEED) : undefined
37
+ seed: CS2_INVENTORY_RULES.keychainSeed.repair(keychains[0]?.pattern ?? paintseed, economyItem)
37
38
  });
38
39
  }
39
40
  return stripMinValues({
@@ -53,46 +54,29 @@ export function parseGCInventoryItem(economy, data) {
53
54
  patches: economyItem.hasPatches() && stickers.length > 0
54
55
  ? Object.fromEntries(stickers.map(({ slot, stickerId }) => [
55
56
  slot,
56
- ensure(economy.itemsAsArray.find((item) => item.isPatch() && item.index === stickerId)?.id)
57
+ ensure(economy.itemsAsArray.find((item) => item.isPatch() && item.variantIndex === stickerId)
58
+ ?.id)
57
59
  ]))
58
60
  : undefined
59
61
  });
60
62
  }
61
63
  }
62
- // Builds the keychain record from GC/inspect data. Charm placements arrive as raw absolute
63
- // markup-space floats carrying more precision than cs2-lib stores, so each axis is snapped onto the
64
- // keychain offset grid and clamped into the model's published envelope — the same treatment sticker
65
- // offsets already get — otherwise the parsed item fails cs2-lib's keychain validation.
66
64
  function parseKeychains(economy, economyItem, keychains) {
67
- const offsetXMin = economyItem.getMinimumKeychainOffsetX();
68
- const offsetXMax = economyItem.getMaximumKeychainOffsetX();
69
- const offsetYMin = economyItem.getMinimumKeychainOffsetY();
70
- const offsetYMax = economyItem.getMaximumKeychainOffsetY();
71
- const offsetZMin = economyItem.getMinimumKeychainOffsetZ();
72
- const offsetZMax = economyItem.getMaximumKeychainOffsetZ();
73
65
  return Object.fromEntries(keychains.map(({ offsetX, offsetY, offsetZ, pattern, slot, stickerId, wrappedSticker }) => [
74
66
  slot,
75
67
  {
76
68
  id: ensure(economy.itemsAsArray.find((item) => item.isKeychain() &&
77
- item.index === stickerId &&
78
- item.wrappedSticker?.index === wrappedSticker)?.id),
79
- seed: pattern !== undefined ? clamp(pattern, CS2_MIN_KEYCHAIN_SEED, CS2_MAX_KEYCHAIN_SEED) : undefined,
80
- x: healKeychainOffset(offsetX, offsetXMin, offsetXMax),
81
- y: healKeychainOffset(offsetY, offsetYMin, offsetYMax),
82
- z: healKeychainOffset(offsetZ, offsetZMin, offsetZMax)
69
+ item.variantIndex === stickerId &&
70
+ item.displayedSticker?.variantIndex === wrappedSticker)?.id),
71
+ seed: CS2_INVENTORY_RULES.keychainSeed.repair(pattern, economyItem),
72
+ x: CS2_INVENTORY_RULES.keychainPositionX.repair(offsetX, economyItem),
73
+ y: CS2_INVENTORY_RULES.keychainPositionY.repair(offsetY, economyItem),
74
+ z: CS2_INVENTORY_RULES.keychainPositionZ.repair(offsetZ, economyItem)
83
75
  }
84
76
  ]));
85
77
  }
86
- // Builds the sticker record from GC/inspect data. The record key is the 0-based stack (draw) position
87
- // and each sticker's `schema` is its physical StickerMarkup anchor. A GC slot outside the model's
88
- // [0, getStickerSchemaCount()) is repaired onto the first free anchor — mirroring cs2-lib's loader — so
89
- // the parsed item always satisfies the sticker validator, matching how offsets are already healed.
90
78
  function parseStickers(economy, economyItem, stickers) {
91
79
  const schemaCount = economyItem.getStickerSchemaCount();
92
- const offsetXMin = economyItem.getMinimumStickerOffsetX();
93
- const offsetXMax = economyItem.getMaximumStickerOffsetX();
94
- const offsetYMin = economyItem.getMinimumStickerOffsetY();
95
- const offsetYMax = economyItem.getMaximumStickerOffsetY();
96
80
  const parsed = [];
97
81
  for (const { slot, stickerId, offsetX, offsetY, wear, rotation } of stickers) {
98
82
  let schema = slot ?? parsed.length;
@@ -100,24 +84,17 @@ function parseStickers(economy, economyItem, stickers) {
100
84
  schema = getNextStickerSchema(parsed, schemaCount);
101
85
  }
102
86
  parsed.push({
103
- id: ensure(economy.itemsAsArray.find((item) => item.isSticker() && item.index === stickerId)?.id),
87
+ id: ensure(economy.itemsAsArray.find((item) => item.isSticker() && item.variantIndex === stickerId)?.id),
104
88
  rotation: rotation !== undefined ? normalizeStickerRotation(rotation) : undefined,
105
89
  schema,
106
- wear: wear !== undefined
107
- ? clamp(truncateToFactor(wear, CS2_STICKER_WEAR_FACTOR), CS2_MIN_STICKER_WEAR, CS2_MAX_STICKER_WEAR)
108
- : undefined,
109
- x: healStickerOffset(offsetX, offsetXMin, offsetXMax),
110
- y: healStickerOffset(offsetY, offsetYMin, offsetYMax)
90
+ wear: CS2_INVENTORY_RULES.stickerWear.repair(wear, economyItem),
91
+ x: CS2_INVENTORY_RULES.stickerX.repair(offsetX, economyItem),
92
+ y: CS2_INVENTORY_RULES.stickerY.repair(offsetY, economyItem)
111
93
  });
112
94
  }
113
95
  return Object.fromEntries(parsed.map((sticker, index) => [index, sticker]));
114
96
  }
115
97
  function normalizeStickerRotation(rotation) {
116
- // Snap onto the half-degree grid, then wrap to the in-game [-180, 180] range; legacy 0–359 and
117
- // out-of-range values collapse to the equivalent signed angle (e.g. 270 -> -90, 9999 -> -81,
118
- // 359.7 -> -0.5). This deliberately diverges from cs2-lib's healing, which drops
119
- // still-out-of-range rotations to undefined — here we wrap-and-preserve so a parsed link keeps
120
- // its visual angle.
121
98
  const normalized = ((snapStickerRotation(rotation) % 360) + 360) % 360; // [0, 359.5]
122
99
  return normalized > CS2_MAX_STICKER_ROTATION ? normalized - 360 : normalized; // [-179.5, 180]
123
100
  }
@@ -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/package.json CHANGED
@@ -30,21 +30,21 @@
30
30
  "dependencies": {
31
31
  "@protobuf-ts/runtime": "^2.11.1",
32
32
  "buffer": "^6.0.3",
33
- "crc-32": "^1.2.2",
34
- "vitest": "^4.1.10"
33
+ "crc-32": "^1.2.2"
35
34
  },
36
35
  "peerDependencies": {
37
- "@ianlucas/cs2-lib": "^8.4.0"
36
+ "@ianlucas/cs2-lib": "^9.0.0"
38
37
  },
39
38
  "devDependencies": {
40
39
  "@protobuf-ts/plugin": "^2.11.1",
41
40
  "@total-typescript/tsconfig": "^1.0.4",
42
- "prettier": "^3.9.5",
41
+ "prettier": "^3.9.6",
43
42
  "typedoc": "^0.28.20",
44
- "typescript": "^6.0.3"
43
+ "typescript": "^6.0.3",
44
+ "vitest": "^4.1.10"
45
45
  },
46
46
  "engines": {
47
47
  "node": ">=20"
48
48
  },
49
- "version": "8.2.0"
49
+ "version": "9.0.0"
50
50
  }