@kar-mi/spirit-vale-tools-capture 2.4.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.
Files changed (183) hide show
  1. package/README.md +71 -0
  2. package/dist/capture/adapter-selection.d.ts +9 -0
  3. package/dist/capture/adapter-selection.d.ts.map +1 -0
  4. package/dist/capture/ip-address.d.ts +2 -0
  5. package/dist/capture/ip-address.d.ts.map +1 -0
  6. package/dist/capture/link-layer.d.ts +10 -0
  7. package/dist/capture/link-layer.d.ts.map +1 -0
  8. package/dist/capture/npcap.d.ts +38 -0
  9. package/dist/capture/npcap.d.ts.map +1 -0
  10. package/dist/capture/packet-capture.d.ts +51 -0
  11. package/dist/capture/packet-capture.d.ts.map +1 -0
  12. package/dist/capture/packet-parser.d.ts +11 -0
  13. package/dist/capture/packet-parser.d.ts.map +1 -0
  14. package/dist/capture/target-tracker.d.ts +37 -0
  15. package/dist/capture/target-tracker.d.ts.map +1 -0
  16. package/dist/capture.d.ts +5 -0
  17. package/dist/capture.d.ts.map +1 -0
  18. package/dist/capture.js +16008 -0
  19. package/dist/fishnet/boss-gravestone.d.ts +16 -0
  20. package/dist/fishnet/boss-gravestone.d.ts.map +1 -0
  21. package/dist/fishnet/builtin-maps.d.ts +10424 -0
  22. package/dist/fishnet/builtin-maps.d.ts.map +1 -0
  23. package/dist/fishnet/character-data-schema.d.ts +3 -0
  24. package/dist/fishnet/character-data-schema.d.ts.map +1 -0
  25. package/dist/fishnet/decoder.d.ts +12 -0
  26. package/dist/fishnet/decoder.d.ts.map +1 -0
  27. package/dist/fishnet/definitions/codecs.d.ts +12 -0
  28. package/dist/fishnet/definitions/codecs.d.ts.map +1 -0
  29. package/dist/fishnet/definitions/protocol.d.ts +101 -0
  30. package/dist/fishnet/definitions/protocol.d.ts.map +1 -0
  31. package/dist/fishnet/definitions/rpc-map.d.ts +61 -0
  32. package/dist/fishnet/definitions/rpc-map.d.ts.map +1 -0
  33. package/dist/fishnet/eternal-tower-tracker.d.ts +24 -0
  34. package/dist/fishnet/eternal-tower-tracker.d.ts.map +1 -0
  35. package/dist/fishnet/field-decoder.d.ts +19 -0
  36. package/dist/fishnet/field-decoder.d.ts.map +1 -0
  37. package/dist/fishnet/map-definitions/current-build.d.ts +3 -0
  38. package/dist/fishnet/map-definitions/current-build.d.ts.map +1 -0
  39. package/dist/fishnet/map-definitions/index.d.ts +3 -0
  40. package/dist/fishnet/map-definitions/index.d.ts.map +1 -0
  41. package/dist/fishnet/message-parser.d.ts +17 -0
  42. package/dist/fishnet/message-parser.d.ts.map +1 -0
  43. package/dist/fishnet/monster-directory.d.ts +40 -0
  44. package/dist/fishnet/monster-directory.d.ts.map +1 -0
  45. package/dist/fishnet/network-transform-decoder.d.ts +25 -0
  46. package/dist/fishnet/network-transform-decoder.d.ts.map +1 -0
  47. package/dist/fishnet/protocol.d.ts +21 -0
  48. package/dist/fishnet/protocol.d.ts.map +1 -0
  49. package/dist/fishnet/quaternion-compression.d.ts +6 -0
  50. package/dist/fishnet/quaternion-compression.d.ts.map +1 -0
  51. package/dist/fishnet/recovery-style.d.ts +5 -0
  52. package/dist/fishnet/recovery-style.d.ts.map +1 -0
  53. package/dist/fishnet/rpc-definitions/broadcasts.d.ts +23 -0
  54. package/dist/fishnet/rpc-definitions/broadcasts.d.ts.map +1 -0
  55. package/dist/fishnet/rpc-definitions/current-build.d.ts +8501 -0
  56. package/dist/fishnet/rpc-definitions/current-build.d.ts.map +1 -0
  57. package/dist/fishnet/rpc-definitions/fishnet/network-animator.d.ts +42 -0
  58. package/dist/fishnet/rpc-definitions/fishnet/network-animator.d.ts.map +1 -0
  59. package/dist/fishnet/rpc-definitions/fishnet/network-transform.d.ts +138 -0
  60. package/dist/fishnet/rpc-definitions/fishnet/network-transform.d.ts.map +1 -0
  61. package/dist/fishnet/rpc-definitions/fishnet/predicted-owner.d.ts +26 -0
  62. package/dist/fishnet/rpc-definitions/fishnet/predicted-owner.d.ts.map +1 -0
  63. package/dist/fishnet/rpc-definitions/game/base-unit-controller.d.ts +122 -0
  64. package/dist/fishnet/rpc-definitions/game/base-unit-controller.d.ts.map +1 -0
  65. package/dist/fishnet/rpc-definitions/game/combat-component.d.ts +44 -0
  66. package/dist/fishnet/rpc-definitions/game/combat-component.d.ts.map +1 -0
  67. package/dist/fishnet/rpc-definitions/game/health-component.d.ts +306 -0
  68. package/dist/fishnet/rpc-definitions/game/health-component.d.ts.map +1 -0
  69. package/dist/fishnet/rpc-definitions/game/loot-drop.d.ts +104 -0
  70. package/dist/fishnet/rpc-definitions/game/loot-drop.d.ts.map +1 -0
  71. package/dist/fishnet/rpc-definitions/game/monster-controller.d.ts +144 -0
  72. package/dist/fishnet/rpc-definitions/game/monster-controller.d.ts.map +1 -0
  73. package/dist/fishnet/rpc-definitions/game/move-component.d.ts +74 -0
  74. package/dist/fishnet/rpc-definitions/game/move-component.d.ts.map +1 -0
  75. package/dist/fishnet/rpc-definitions/game/player-controller/chat-presence.d.ts +332 -0
  76. package/dist/fishnet/rpc-definitions/game/player-controller/chat-presence.d.ts.map +1 -0
  77. package/dist/fishnet/rpc-definitions/game/player-controller/endgame-pvp.d.ts +89 -0
  78. package/dist/fishnet/rpc-definitions/game/player-controller/endgame-pvp.d.ts.map +1 -0
  79. package/dist/fishnet/rpc-definitions/game/player-controller/guild.d.ts +393 -0
  80. package/dist/fishnet/rpc-definitions/game/player-controller/guild.d.ts.map +1 -0
  81. package/dist/fishnet/rpc-definitions/game/player-controller/index.d.ts +23 -0
  82. package/dist/fishnet/rpc-definitions/game/player-controller/index.d.ts.map +1 -0
  83. package/dist/fishnet/rpc-definitions/game/player-controller/party.d.ts +168 -0
  84. package/dist/fishnet/rpc-definitions/game/player-controller/party.d.ts.map +1 -0
  85. package/dist/fishnet/rpc-definitions/game/player-controller/trade-market.d.ts +232 -0
  86. package/dist/fishnet/rpc-definitions/game/player-controller/trade-market.d.ts.map +1 -0
  87. package/dist/fishnet/rpc-definitions/game/player-controller/traversal-session.d.ts +58 -0
  88. package/dist/fishnet/rpc-definitions/game/player-controller/traversal-session.d.ts.map +1 -0
  89. package/dist/fishnet/rpc-definitions/game/player-save/character-build.d.ts +266 -0
  90. package/dist/fishnet/rpc-definitions/game/player-save/character-build.d.ts.map +1 -0
  91. package/dist/fishnet/rpc-definitions/game/player-save/character-data.d.ts +991 -0
  92. package/dist/fishnet/rpc-definitions/game/player-save/character-data.d.ts.map +1 -0
  93. package/dist/fishnet/rpc-definitions/game/player-save/cosmetics-progression.d.ts +126 -0
  94. package/dist/fishnet/rpc-definitions/game/player-save/cosmetics-progression.d.ts.map +1 -0
  95. package/dist/fishnet/rpc-definitions/game/player-save/debug.d.ts +46 -0
  96. package/dist/fishnet/rpc-definitions/game/player-save/debug.d.ts.map +1 -0
  97. package/dist/fishnet/rpc-definitions/game/player-save/economy-world-storage.d.ts +224 -0
  98. package/dist/fishnet/rpc-definitions/game/player-save/economy-world-storage.d.ts.map +1 -0
  99. package/dist/fishnet/rpc-definitions/game/player-save/index.d.ts +1860 -0
  100. package/dist/fishnet/rpc-definitions/game/player-save/index.d.ts.map +1 -0
  101. package/dist/fishnet/rpc-definitions/game/player-save/session-character.d.ts +72 -0
  102. package/dist/fishnet/rpc-definitions/game/player-save/session-character.d.ts.map +1 -0
  103. package/dist/fishnet/rpc-definitions/game/player-save/social-account.d.ts +107 -0
  104. package/dist/fishnet/rpc-definitions/game/player-save/social-account.d.ts.map +1 -0
  105. package/dist/fishnet/rpc-definitions/game/player-save/vending.d.ts +98 -0
  106. package/dist/fishnet/rpc-definitions/game/player-save/vending.d.ts.map +1 -0
  107. package/dist/fishnet/rpc-definitions/game/skills-component.d.ts +453 -0
  108. package/dist/fishnet/rpc-definitions/game/skills-component.d.ts.map +1 -0
  109. package/dist/fishnet/rpc-definitions/game/status-component.d.ts +146 -0
  110. package/dist/fishnet/rpc-definitions/game/status-component.d.ts.map +1 -0
  111. package/dist/fishnet/rpc-definitions/game/summoning-component.d.ts +82 -0
  112. package/dist/fishnet/rpc-definitions/game/summoning-component.d.ts.map +1 -0
  113. package/dist/fishnet/rpc-definitions/generated/base-unit-controller.d.ts +76 -0
  114. package/dist/fishnet/rpc-definitions/generated/base-unit-controller.d.ts.map +1 -0
  115. package/dist/fishnet/rpc-definitions/generated/boss-grave-stone.d.ts +24 -0
  116. package/dist/fishnet/rpc-definitions/generated/boss-grave-stone.d.ts.map +1 -0
  117. package/dist/fishnet/rpc-definitions/generated/broadcasts.d.ts +20 -0
  118. package/dist/fishnet/rpc-definitions/generated/broadcasts.d.ts.map +1 -0
  119. package/dist/fishnet/rpc-definitions/generated/combat-component.d.ts +82 -0
  120. package/dist/fishnet/rpc-definitions/generated/combat-component.d.ts.map +1 -0
  121. package/dist/fishnet/rpc-definitions/generated/engine/network-animator.d.ts +18 -0
  122. package/dist/fishnet/rpc-definitions/generated/engine/network-animator.d.ts.map +1 -0
  123. package/dist/fishnet/rpc-definitions/generated/engine/network-transform.d.ts +67 -0
  124. package/dist/fishnet/rpc-definitions/generated/engine/network-transform.d.ts.map +1 -0
  125. package/dist/fishnet/rpc-definitions/generated/engine/predicted-owner.d.ts +11 -0
  126. package/dist/fishnet/rpc-definitions/generated/engine/predicted-owner.d.ts.map +1 -0
  127. package/dist/fishnet/rpc-definitions/generated/health-component.d.ts +157 -0
  128. package/dist/fishnet/rpc-definitions/generated/health-component.d.ts.map +1 -0
  129. package/dist/fishnet/rpc-definitions/generated/index.d.ts +10280 -0
  130. package/dist/fishnet/rpc-definitions/generated/index.d.ts.map +1 -0
  131. package/dist/fishnet/rpc-definitions/generated/loot-drop.d.ts +49 -0
  132. package/dist/fishnet/rpc-definitions/generated/loot-drop.d.ts.map +1 -0
  133. package/dist/fishnet/rpc-definitions/generated/manifest.d.ts +7 -0
  134. package/dist/fishnet/rpc-definitions/generated/manifest.d.ts.map +1 -0
  135. package/dist/fishnet/rpc-definitions/generated/monster-controller.d.ts +111 -0
  136. package/dist/fishnet/rpc-definitions/generated/monster-controller.d.ts.map +1 -0
  137. package/dist/fishnet/rpc-definitions/generated/move-component.d.ts +48 -0
  138. package/dist/fishnet/rpc-definitions/generated/move-component.d.ts.map +1 -0
  139. package/dist/fishnet/rpc-definitions/generated/player-controller.d.ts +3265 -0
  140. package/dist/fishnet/rpc-definitions/generated/player-controller.d.ts.map +1 -0
  141. package/dist/fishnet/rpc-definitions/generated/player-save.d.ts +5954 -0
  142. package/dist/fishnet/rpc-definitions/generated/player-save.d.ts.map +1 -0
  143. package/dist/fishnet/rpc-definitions/generated/prefabs.d.ts +119 -0
  144. package/dist/fishnet/rpc-definitions/generated/prefabs.d.ts.map +1 -0
  145. package/dist/fishnet/rpc-definitions/generated/skills-component.d.ts +230 -0
  146. package/dist/fishnet/rpc-definitions/generated/skills-component.d.ts.map +1 -0
  147. package/dist/fishnet/rpc-definitions/generated/status-component.d.ts +112 -0
  148. package/dist/fishnet/rpc-definitions/generated/status-component.d.ts.map +1 -0
  149. package/dist/fishnet/rpc-definitions/generated/summoning-component.d.ts +56 -0
  150. package/dist/fishnet/rpc-definitions/generated/summoning-component.d.ts.map +1 -0
  151. package/dist/fishnet/rpc-definitions/index.d.ts +10418 -0
  152. package/dist/fishnet/rpc-definitions/index.d.ts.map +1 -0
  153. package/dist/fishnet/rpc-definitions/prefabs.d.ts +112 -0
  154. package/dist/fishnet/rpc-definitions/prefabs.d.ts.map +1 -0
  155. package/dist/fishnet/rpc-resolution.d.ts +65 -0
  156. package/dist/fishnet/rpc-resolution.d.ts.map +1 -0
  157. package/dist/fishnet/semantic-definitions.d.ts +40 -0
  158. package/dist/fishnet/semantic-definitions.d.ts.map +1 -0
  159. package/dist/fishnet/semantic-map.d.ts +23 -0
  160. package/dist/fishnet/semantic-map.d.ts.map +1 -0
  161. package/dist/fishnet/session-decoder.d.ts +19 -0
  162. package/dist/fishnet/session-decoder.d.ts.map +1 -0
  163. package/dist/fishnet/spawn-parser.d.ts +25 -0
  164. package/dist/fishnet/spawn-parser.d.ts.map +1 -0
  165. package/dist/fishnet/types.d.ts +5 -0
  166. package/dist/fishnet/types.d.ts.map +1 -0
  167. package/dist/fishnet/wire-reader.d.ts +28 -0
  168. package/dist/fishnet/wire-reader.d.ts.map +1 -0
  169. package/dist/fishnet/wire-reader.js +140 -0
  170. package/dist/game-build.d.ts +5 -0
  171. package/dist/game-build.d.ts.map +1 -0
  172. package/dist/index.d.ts +26 -0
  173. package/dist/index.d.ts.map +1 -0
  174. package/dist/index.js +15413 -0
  175. package/dist/litenetlib/decoder.d.ts +7 -0
  176. package/dist/litenetlib/decoder.d.ts.map +1 -0
  177. package/dist/litenetlib/types.d.ts +58 -0
  178. package/dist/litenetlib/types.d.ts.map +1 -0
  179. package/dist/text-format.d.ts +4 -0
  180. package/dist/text-format.d.ts.map +1 -0
  181. package/dist/types.d.ts +53 -0
  182. package/dist/types.d.ts.map +1 -0
  183. package/package.json +36 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fishnet/rpc-definitions/index.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMM,CAAC"}
@@ -0,0 +1,112 @@
1
+ /** Verified layouts for instantiated prefabs in the current build's default collection. */
2
+ export declare const FISHNET_PREFAB_DEFINITIONS: readonly [{
3
+ readonly collectionId: 0;
4
+ readonly prefabId: 0;
5
+ readonly prefabName: "LootDrop";
6
+ readonly components: readonly [{
7
+ readonly index: 0;
8
+ readonly typeName: "LootDrop";
9
+ }];
10
+ }, {
11
+ readonly collectionId: 0;
12
+ readonly prefabId: 1;
13
+ readonly prefabName: "PlayerClone";
14
+ readonly components: readonly [{
15
+ readonly index: 0;
16
+ readonly typeName: "PlayerController";
17
+ }, {
18
+ readonly index: 1;
19
+ readonly typeName: "MoveComponent";
20
+ }, {
21
+ readonly index: 2;
22
+ readonly typeName: "HealthComponent";
23
+ }, {
24
+ readonly index: 3;
25
+ readonly typeName: "CombatComponent";
26
+ }, {
27
+ readonly index: 4;
28
+ readonly typeName: "SkillsComponent";
29
+ }, {
30
+ readonly index: 5;
31
+ readonly typeName: "StatusComponent";
32
+ }, {
33
+ readonly index: 6;
34
+ readonly typeName: "SummoningComponent";
35
+ }, {
36
+ readonly index: 7;
37
+ readonly typeName: "PlayerSave";
38
+ }, {
39
+ readonly index: 8;
40
+ readonly typeName: "FishNet.Component.Transforming.NetworkTransform";
41
+ }];
42
+ }, {
43
+ readonly collectionId: 0;
44
+ readonly prefabId: 2;
45
+ readonly prefabName: "SkillInstance";
46
+ readonly components: readonly [{
47
+ readonly index: 1;
48
+ readonly typeName: "FishNet.Component.Transforming.NetworkTransform";
49
+ }];
50
+ }, {
51
+ readonly collectionId: 0;
52
+ readonly prefabId: 4;
53
+ readonly prefabName: "Player";
54
+ readonly components: readonly [{
55
+ readonly index: 0;
56
+ readonly typeName: "PlayerController";
57
+ }, {
58
+ readonly index: 1;
59
+ readonly typeName: "MoveComponent";
60
+ }, {
61
+ readonly index: 2;
62
+ readonly typeName: "HealthComponent";
63
+ }, {
64
+ readonly index: 3;
65
+ readonly typeName: "CombatComponent";
66
+ }, {
67
+ readonly index: 4;
68
+ readonly typeName: "SkillsComponent";
69
+ }, {
70
+ readonly index: 5;
71
+ readonly typeName: "StatusComponent";
72
+ }, {
73
+ readonly index: 6;
74
+ readonly typeName: "SummoningComponent";
75
+ }, {
76
+ readonly index: 7;
77
+ readonly typeName: "PlayerSave";
78
+ }, {
79
+ readonly index: 8;
80
+ readonly typeName: "FishNet.Component.Transforming.NetworkTransform";
81
+ }];
82
+ }, {
83
+ readonly collectionId: 0;
84
+ readonly prefabId: 5;
85
+ readonly prefabName: "Monster";
86
+ readonly components: readonly [{
87
+ readonly index: 0;
88
+ readonly typeName: "MonsterController";
89
+ }, {
90
+ readonly index: 1;
91
+ readonly typeName: "FishNet.Component.Transforming.NetworkTransform";
92
+ }, {
93
+ readonly index: 2;
94
+ readonly typeName: "MoveComponent";
95
+ }, {
96
+ readonly index: 3;
97
+ readonly typeName: "HealthComponent";
98
+ }, {
99
+ readonly index: 4;
100
+ readonly typeName: "CombatComponent";
101
+ }, {
102
+ readonly index: 5;
103
+ readonly typeName: "SkillsComponent";
104
+ }, {
105
+ readonly index: 6;
106
+ readonly typeName: "StatusComponent";
107
+ }, {
108
+ readonly index: 7;
109
+ readonly typeName: "SummoningComponent";
110
+ }];
111
+ }];
112
+ //# sourceMappingURL=prefabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prefabs.d.ts","sourceRoot":"","sources":["../../../src/fishnet/rpc-definitions/prefabs.ts"],"names":[],"mappings":"AAcA,2FAA2F;AAC3F,eAAO,MAAM,0BAA0B;2BACrB,CAAC;uBAAY,CAAC;yBAAc,UAAU;;wBAC3C,CAAC;2BAAY,UAAU;;;2BAElB,CAAC;uBAAY,CAAC;yBAAc,aAAa;;wBAhBhD,CAAC;2BAAY,kBAAkB;;wBAC/B,CAAC;2BAAY,eAAe;;wBAC5B,CAAC;2BAAY,iBAAiB;;wBAC9B,CAAC;2BAAY,iBAAiB;;wBAC9B,CAAC;2BAAY,iBAAiB;;wBAC9B,CAAC;2BAAY,iBAAiB;;wBAC9B,CAAC;2BAAY,oBAAoB;;wBACjC,CAAC;2BAAY,YAAY;;wBACzB,CAAC;2BAAY,iDAAiD;;;2BASvD,CAAC;uBAAY,CAAC;yBAAc,eAAe;;wBAChD,CAAC;2BAAY,iDAAiD;;;2BAEzD,CAAC;uBAAY,CAAC;yBAAc,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BACpC,CAAC;uBAAY,CAAC;yBAAc,SAAS;;wBAC1C,CAAC;2BAAY,mBAAmB;;wBAChC,CAAC;2BAAY,iDAAiD;;wBAC9D,CAAC;2BAAY,eAAe;;wBAC5B,CAAC;2BAAY,iBAAiB;;wBAC9B,CAAC;2BAAY,iBAAiB;;wBAC9B,CAAC;2BAAY,iBAAiB;;wBAC9B,CAAC;2BAAY,iBAAiB;;wBAC9B,CAAC;2BAAY,oBAAoB;;EAES,CAAC"}
@@ -0,0 +1,65 @@
1
+ import type { RpcLinkRegistrationState } from "./protocol.ts";
2
+ import type { DecodedFishNetPacket, FishNetRpcMap, FishNetRpcPacketName, FishNetRpcParameter, FishNetRpcResolution } from "./types.ts";
3
+ export interface RpcLookup {
4
+ resolution: FishNetRpcResolution;
5
+ wireHash?: number;
6
+ methodName?: string;
7
+ parameters?: readonly FishNetRpcParameter[];
8
+ /** Candidate behaviour type names, when `resolution` is `"ambiguous"`. */
9
+ ambiguousBehaviourTypes?: readonly string[];
10
+ }
11
+ export declare function bindBehaviourTypes(registrations: Array<[number, RpcLinkRegistrationState]>, map: FishNetRpcMap | undefined): Array<[string, string]>;
12
+ /** Recovers component bindings from build-scoped prefab metadata when a spawn omits some or all RPC Link registrations. */
13
+ export declare function bindPrefabBehaviourTypes(collectionId: number, prefabId: number, objectId: number, verifiedBindings: readonly [string, string][], map: FishNetRpcMap | undefined): Array<[string, string]>;
14
+ export declare function inferBehaviourType(map: FishNetRpcMap | undefined, packetName: FishNetRpcPacketName, hash8: number, hash16: number | undefined): string | undefined;
15
+ export declare function lookupRpc(map: FishNetRpcMap | undefined, networkBehaviourType: string | undefined, packetName: FishNetRpcPacketName, hash8: number, hash16: number | undefined): RpcLookup;
16
+ /**
17
+ * Narrows an ambiguous behaviour-type match using the invariant that a NetworkObject has at most
18
+ * one instance of each behaviour type. If every candidate but one is already bound to a *different*
19
+ * component index on the same object, the remaining candidate must be this component's real type —
20
+ * even though its own RPC signature alone can't distinguish it (e.g. `HealthComponent.Recover_C` vs.
21
+ * `SkillsComponent.Recover_C`, which share the same wire hash and packet kind).
22
+ */
23
+ export declare function eliminateBoundBehaviourTypes(components: ReadonlyMap<string, string>, objectId: number, componentIndex: number, candidates: readonly string[]): string | undefined;
24
+ /**
25
+ * Recovers a component's behaviour type for an object whose spawn was never captured, using the
26
+ * bindings already verified on that same object.
27
+ *
28
+ * A capture that attaches mid-session never sees the local player's spawn, so nothing registers its
29
+ * component layout and every packet on its other components stays unresolved for the whole session.
30
+ * What is available is the object's own verified bindings: they narrow which prefab layouts the
31
+ * object could possibly be, and where every surviving candidate names the same type for the wanted
32
+ * index, that type holds for all of them and is not a guess.
33
+ *
34
+ * The bar is deliberately high. Recovery needs at least one already-verified binding to narrow
35
+ * from, every candidate must define the wanted index, and they must all agree on it. A layout that
36
+ * contradicts a known binding is discarded rather than tolerated, and a single candidate that
37
+ * leaves the index blank abandons the whole attempt.
38
+ */
39
+ export declare function recoverComponentFromPrefabLayouts(map: FishNetRpcMap | undefined, components: ReadonlyMap<string, string>, objectId: number, componentIndex: number): string | undefined;
40
+ /**
41
+ * Narrows an ambiguous behaviour-type match by testing the payload against each candidate's
42
+ * signature. This complements `eliminateBoundBehaviourTypes`, which can only narrow once *something*
43
+ * else on the object is already bound: an object whose spawn was never captured has no bindings at
44
+ * all, so a shared hash (e.g. observersRpc 0, claimed by both `CombatComponent.Attack_C` and
45
+ * `HealthComponent.ApplyDamage_C`) stays ambiguous for that object's entire life and every packet on
46
+ * it is dropped.
47
+ *
48
+ * A candidate survives only when its parameters consume the payload *exactly* - both a short read
49
+ * and leftover bytes disqualify it. Candidates whose signature this decoder cannot evaluate (array
50
+ * or opaque parameters) are indeterminate rather than misfits, and their presence blocks the whole
51
+ * pass: eliminating one because it could not be checked is how a confident wrong answer gets made.
52
+ */
53
+ export declare function eliminateByPayloadShape(map: FishNetRpcMap | undefined, candidates: readonly string[], packetName: FishNetRpcPacketName, hash8: number, hash16: number | undefined, payload: Buffer): string | undefined;
54
+ /** True when `applyRpcLookup` refused a match it was handed. Callers must not learn bindings from it. */
55
+ export declare function rejectedByPayload(packet: DecodedFishNetPacket, lookup: RpcLookup): boolean;
56
+ export declare function applyRpcLookup(packet: DecodedFishNetPacket, lookup: RpcLookup): void;
57
+ export declare function findBroadcast(map: FishNetRpcMap | undefined, wireHash: number): import("./types.ts").FishNetBroadcastDefinition | undefined;
58
+ export declare function findSyncType(map: FishNetRpcMap | undefined, typeName: string | undefined, index: number): import("./types.ts").FishNetSyncTypeDefinition | undefined;
59
+ /**
60
+ * Resolves a spawn's collection and prefab IDs to the build's prefab layout. Prefab IDs are wire
61
+ * values reassigned between builds, so consumers must match on `prefabName` through this rather
62
+ * than on a hardcoded numeric ID.
63
+ */
64
+ export declare function findPrefab(map: FishNetRpcMap | undefined, collectionId: number, prefabId: number): import("./types.ts").FishNetPrefabDefinition | undefined;
65
+ //# sourceMappingURL=rpc-resolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-resolution.d.ts","sourceRoot":"","sources":["../../src/fishnet/rpc-resolution.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EACV,oBAAoB,EAGpB,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,oBAAoB,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC5C,0EAA0E;IAC1E,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,EACxD,GAAG,EAAE,aAAa,GAAG,SAAS,GAC7B,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAuBzB;AAED,2HAA2H;AAC3H,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAC7C,GAAG,EAAE,aAAa,GAAG,SAAS,GAC7B,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA4BzB;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,aAAa,GAAG,SAAS,EAC9B,UAAU,EAAE,oBAAoB,EAChC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,MAAM,GAAG,SAAS,CAOpB;AAED,wBAAgB,SAAS,CACvB,GAAG,EAAE,aAAa,GAAG,SAAS,EAC9B,oBAAoB,EAAE,MAAM,GAAG,SAAS,EACxC,UAAU,EAAE,oBAAoB,EAChC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,SAAS,CAUX;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,SAAS,MAAM,EAAE,GAC5B,MAAM,GAAG,SAAS,CAUpB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,aAAa,GAAG,SAAS,EAC9B,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GACrB,MAAM,GAAG,SAAS,CA6BpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,aAAa,GAAG,SAAS,EAC9B,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,UAAU,EAAE,oBAAoB,EAChC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,SAAS,CAepB;AA0BD,yGAAyG;AACzG,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAE1F;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAUpF;AAyBD,wBAAgB,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,+DAI7E;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,8DAOvG;AA0BD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,4DAMhG"}
@@ -0,0 +1,40 @@
1
+ export declare class FishNetSemanticDefinitions {
2
+ private constructor();
3
+ static readonly currentRecoveryStyles: readonly [{
4
+ readonly networkBehaviourType: "HealthComponent";
5
+ readonly rpcName: "Recover_C";
6
+ readonly undecodedPayloadHex: "0000ac0200000000";
7
+ readonly style: "standard";
8
+ }, {
9
+ readonly networkBehaviourType: "HealthComponent";
10
+ readonly rpcName: "Recover_C";
11
+ readonly undecodedPayloadHex: "00010000000000";
12
+ readonly style: "passive-regeneration";
13
+ }, {
14
+ readonly networkBehaviourType: "HealthComponent";
15
+ readonly rpcName: "Recover_C";
16
+ readonly undecodedPayloadHex: "0001ab020000403f";
17
+ readonly style: "drain";
18
+ }];
19
+ static readonly currentMap: {
20
+ readonly buildFingerprint: "53305f369c4176d4b7644d06ad7f0cdc5c9bda6563144d0ce8cff3d12c520158";
21
+ readonly verifiedSkillLabels: readonly [];
22
+ readonly recoveryStyles: readonly [{
23
+ readonly networkBehaviourType: "HealthComponent";
24
+ readonly rpcName: "Recover_C";
25
+ readonly undecodedPayloadHex: "0000ac0200000000";
26
+ readonly style: "standard";
27
+ }, {
28
+ readonly networkBehaviourType: "HealthComponent";
29
+ readonly rpcName: "Recover_C";
30
+ readonly undecodedPayloadHex: "00010000000000";
31
+ readonly style: "passive-regeneration";
32
+ }, {
33
+ readonly networkBehaviourType: "HealthComponent";
34
+ readonly rpcName: "Recover_C";
35
+ readonly undecodedPayloadHex: "0001ab020000403f";
36
+ readonly style: "drain";
37
+ }];
38
+ };
39
+ }
40
+ //# sourceMappingURL=semantic-definitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-definitions.d.ts","sourceRoot":"","sources":["../../src/fishnet/semantic-definitions.ts"],"names":[],"mappings":"AAMA,qBAAa,0BAA0B;IACrC,OAAO,eAAiB;IAExB,MAAM,CAAC,QAAQ,CAAC,qBAAqB;uCAEX,iBAAiB;0BAC9B,WAAW;sCACC,kBAAkB;wBAChC,UAAU;;uCAGK,iBAAiB;0BAC9B,WAAW;sCACC,gBAAgB;wBAC9B,sBAAsB;;uCAGP,iBAAiB;0BAC9B,WAAW;sCACC,kBAAkB;wBAChC,OAAO;OAE6C;IAE/D,MAAM,CAAC,QAAQ,CAAC,UAAU;;;;2CAnBA,iBAAiB;8BAC9B,WAAW;0CACC,kBAAkB;4BAChC,UAAU;;2CAGK,iBAAiB;8BAC9B,WAAW;0CACC,gBAAgB;4BAC9B,sBAAsB;;2CAGP,iBAAiB;8BAC9B,WAAW;0CACC,kBAAkB;4BAChC,OAAO;;MAQsB;CACzC"}
@@ -0,0 +1,23 @@
1
+ export interface FishNetSkillLabel {
2
+ readonly networkBehaviourType: string;
3
+ readonly rpcName: string;
4
+ readonly field: string;
5
+ readonly value: string;
6
+ readonly label: string;
7
+ readonly confidence: string;
8
+ readonly repetitions: number;
9
+ }
10
+ export type FishNetRecoveryStyle = "standard" | "passive-regeneration" | "drain" | "unknown";
11
+ export interface FishNetRecoveryStyleDefinition {
12
+ readonly networkBehaviourType: string;
13
+ readonly rpcName: string;
14
+ readonly undecodedPayloadHex: string;
15
+ readonly style: Exclude<FishNetRecoveryStyle, "unknown">;
16
+ }
17
+ export interface FishNetSemanticMap {
18
+ readonly buildFingerprint: string;
19
+ readonly verifiedSkillLabels: readonly FishNetSkillLabel[];
20
+ readonly recoveryStyles?: readonly FishNetRecoveryStyleDefinition[];
21
+ }
22
+ export declare function loadBundledFishNetSemanticMap(buildFingerprint?: string): FishNetSemanticMap;
23
+ //# sourceMappingURL=semantic-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-map.d.ts","sourceRoot":"","sources":["../../src/fishnet/semantic-map.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,sBAAsB,GAAG,OAAO,GAAG,SAAS,CAAC;AAE7F,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,mBAAmB,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC3D,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,8BAA8B,EAAE,CAAC;CACrE;AAMD,wBAAgB,6BAA6B,CAC3C,gBAAgB,GAAE,MAAuC,GACxD,kBAAkB,CAKpB"}
@@ -0,0 +1,19 @@
1
+ import type { DecodedFishNetPacket, FishNetDecodeOptions, FishNetRpcMap } from "./types.ts";
2
+ /** Stateful decoder for RPC-link registration, despawn cleanup, and split reassembly. */
3
+ export declare class FishNetSessionDecoder {
4
+ private readonly rpcMap?;
5
+ private readonly connections;
6
+ private readonly splits;
7
+ private splitClock;
8
+ constructor(rpcMap?: FishNetRpcMap | undefined);
9
+ decode(payload: Buffer, options?: FishNetDecodeOptions): DecodedFishNetPacket[];
10
+ /** Clears one connection, or all decoder state when no identifier is supplied. */
11
+ reset(connectionId?: string | number): void;
12
+ private getConnection;
13
+ private dropSplit;
14
+ private clearConnectionSplits;
15
+ private evictOldestConnectionSplit;
16
+ private decodeSplit;
17
+ private decodeMessages;
18
+ }
19
+ //# sourceMappingURL=session-decoder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-decoder.d.ts","sourceRoot":"","sources":["../../src/fishnet/session-decoder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAc5F,yFAAyF;AACzF,qBAAa,qBAAqB;IAKpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAJpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,OAAO,CAAC,UAAU,CAAK;IAEvB,YAA6B,MAAM,CAAC,EAAE,aAAa,YAAA,EAAI;IAEvD,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,oBAA0C,GAAG,oBAAoB,EAAE,CAiBnG;IAED,kFAAkF;IAClF,KAAK,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS1C;IAED,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,WAAW;IA2CnB,OAAO,CAAC,cAAc;CA8CvB"}
@@ -0,0 +1,25 @@
1
+ import type { RpcLinkRegistrationState } from "./protocol.ts";
2
+ import type { FishNetRpcMap } from "./types.ts";
3
+ export interface SpawnCandidate {
4
+ end: number;
5
+ objectId: number;
6
+ registrations: Array<[number, RpcLinkRegistrationState]>;
7
+ componentBindings: Array<[string, string]>;
8
+ spawnType: "scene" | "instantiated" | "predicted";
9
+ collectionId: number;
10
+ ownerConnectionId: number;
11
+ prefabId?: number;
12
+ sceneId?: bigint;
13
+ nested: boolean;
14
+ /** Game-defined WritePayload bytes preceding the RPC link and SyncType sections. */
15
+ customPayload: Buffer;
16
+ syncPayload: Buffer;
17
+ /** Spawn-time local position, present only when the spawn carries the position flag. */
18
+ localPosition?: readonly [number, number, number];
19
+ /** Spawn-time local rotation as `[x, y, z, w]`, decoded from whichever quaternion packing the spawn carried. */
20
+ localRotation?: readonly [number, number, number, number];
21
+ /** Spawn-time local scale, present only when the spawn carries the scale flag. */
22
+ localScale?: readonly [number, number, number];
23
+ }
24
+ export declare function parseObjectSpawn(buffer: Buffer, start: number, map: FishNetRpcMap | undefined): SpawnCandidate | undefined;
25
+ //# sourceMappingURL=spawn-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spawn-parser.d.ts","sourceRoot":"","sources":["../../src/fishnet/spawn-parser.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAI9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC;IACzD,iBAAiB,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3C,SAAS,EAAE,OAAO,GAAG,cAAc,GAAG,WAAW,CAAC;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,oFAAoF;IACpF,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,wFAAwF;IACxF,aAAa,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,gHAAgH;IAChH,aAAa,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1D,kFAAkF;IAClF,UAAU,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,aAAa,GAAG,SAAS,GAC7B,cAAc,GAAG,SAAS,CAmI5B"}
@@ -0,0 +1,5 @@
1
+ export type { FishNetDecodedField, FishNetDecodedValue, FishNetWireCodec, } from "./definitions/codecs.ts";
2
+ export type { FishNetBehaviourDefinition, FishNetBroadcastDefinition, FishNetPrefabComponentDefinition, FishNetPrefabDefinition, FishNetRpcDefinition, FishNetRpcMap, FishNetRpcParameter, FishNetSyncTypeDefinition, } from "./definitions/rpc-map.ts";
3
+ export type { CapturedFishNetPacket, DecodedFishNetPacket, FishNetDecodeOptions, FishNetPacketName, FishNetRpcLinkRegistration, FishNetRpcPacketName, FishNetRpcResolution, FishNetSpawnSyncEntry, FishNetSyncEntry, } from "./definitions/protocol.ts";
4
+ export type { DecodedNetworkTransform, NetworkTransformAxes, } from "./network-transform-decoder.ts";
5
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/fishnet/types.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,0BAA0B,EAC1B,0BAA0B,EAC1B,gCAAgC,EAChC,uBAAuB,EACvB,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,28 @@
1
+ export interface NetworkObjectReference {
2
+ objectId: number;
3
+ spawned: boolean;
4
+ nextOffset: number;
5
+ }
6
+ export interface NetworkBehaviourHeader {
7
+ objectId: number;
8
+ componentIndex: number;
9
+ nextOffset: number;
10
+ }
11
+ export declare function requireBytes(buffer: Buffer, offset: number, count: number, description: string): void;
12
+ export declare function checkedEnd(buffer: Buffer, start: number, length: number): number;
13
+ export declare function readUnsignedPackedWhole(buffer: Buffer, start: number): {
14
+ value: bigint;
15
+ nextOffset: number;
16
+ };
17
+ export declare function readSignedPackedWhole(buffer: Buffer, start: number): {
18
+ value: number;
19
+ nextOffset: number;
20
+ };
21
+ export declare function readNetworkObjectReference(buffer: Buffer, start: number): NetworkObjectReference;
22
+ export declare function readNetworkBehaviourHeader(buffer: Buffer, start: number): NetworkBehaviourHeader;
23
+ /** Reads `count` consecutive little-endian float32 values, as Unity serializes Vector3 and Quaternion. */
24
+ export declare function readFloatVector(buffer: Buffer, start: number, count: number): {
25
+ value: number[];
26
+ nextOffset: number;
27
+ };
28
+ //# sourceMappingURL=wire-reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wire-reader.d.ts","sourceRoot":"","sources":["../../src/fishnet/wire-reader.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAIrG;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAKhF;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAY5G;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAM1G;AAWD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAShG;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAWhG;AAED,0GAA0G;AAC1G,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAMrH"}
@@ -0,0 +1,140 @@
1
+ // @bun
2
+ // src/fishnet/protocol.ts
3
+ var PACKET_NAMES = new Map([
4
+ [0, "unset"],
5
+ [1, "authenticated"],
6
+ [2, "split"],
7
+ [3, "objectSpawn"],
8
+ [4, "objectDespawn"],
9
+ [5, "predictedSpawnResult"],
10
+ [7, "syncType"],
11
+ [8, "serverRpc"],
12
+ [9, "observersRpc"],
13
+ [10, "targetRpc"],
14
+ [11, "ownershipChange"],
15
+ [12, "broadcast"],
16
+ [13, "bulkSpawnOrDespawn"],
17
+ [14, "pingPong"],
18
+ [15, "replicate"],
19
+ [16, "reconcile"],
20
+ [17, "disconnect"],
21
+ [18, "timingUpdate"],
22
+ [19, "unused2"],
23
+ [20, "stateUpdate"],
24
+ [21, "version"]
25
+ ]);
26
+ var STARTING_RPC_LINK_ID = 22;
27
+ var RPC_PACKET_NAMES = new Set(["serverRpc", "observersRpc", "targetRpc"]);
28
+ var LINKED_PACKET_NAMES = new Map([
29
+ [9, "observersRpc"],
30
+ [10, "targetRpc"],
31
+ [16, "reconcile"]
32
+ ]);
33
+
34
+ class FishNetProtocolError extends Error {
35
+ constructor(message) {
36
+ super(message);
37
+ this.name = "FishNetProtocolError";
38
+ }
39
+ }
40
+ function classifyPacket(packetId) {
41
+ return PACKET_NAMES.get(packetId) ?? (packetId >= STARTING_RPC_LINK_ID ? "rpcLink" : "unknown");
42
+ }
43
+ function isPlausibleBoundary(buffer, offset) {
44
+ if (offset === buffer.length)
45
+ return true;
46
+ if (buffer.length - offset < 2)
47
+ return false;
48
+ return classifyPacket(buffer.readUInt16LE(offset)) !== "unknown";
49
+ }
50
+ function componentKey(objectId, componentIndex) {
51
+ return `${objectId}:${componentIndex}`;
52
+ }
53
+ function basePacket(buffer, start, end, tick, bundleIndex, packetId, packetName) {
54
+ return {
55
+ tick,
56
+ packetId,
57
+ packetName,
58
+ bundleIndex,
59
+ raw: buffer.subarray(start, end),
60
+ payload: buffer.subarray(start + 2, end)
61
+ };
62
+ }
63
+ function opaquePacket(buffer, start, tick, bundleIndex, packetName = classifyPacket(buffer.readUInt16LE(start))) {
64
+ return basePacket(buffer, start, buffer.length, tick, bundleIndex, buffer.readUInt16LE(start), packetName);
65
+ }
66
+ function unresolvedLinkPacket(buffer, start, tick, bundleIndex, packetId) {
67
+ const packet = opaquePacket(buffer, start, tick, bundleIndex, "rpcLink");
68
+ packet.linkId = packetId;
69
+ packet.linkResolved = false;
70
+ return packet;
71
+ }
72
+
73
+ // src/fishnet/wire-reader.ts
74
+ function requireBytes(buffer, offset, count, description) {
75
+ if (buffer.length - offset < count) {
76
+ throw new FishNetProtocolError(`${description} needs ${count} bytes at byte ${offset}; ${buffer.length - offset} remain`);
77
+ }
78
+ }
79
+ function checkedEnd(buffer, start, length) {
80
+ if (!Number.isSafeInteger(length) || length < 0 || length > buffer.length - start) {
81
+ throw new FishNetProtocolError(`length ${length} exceeds ${buffer.length - start} remaining bytes`);
82
+ }
83
+ return start + length;
84
+ }
85
+ function readUnsignedPackedWhole(buffer, start) {
86
+ let value = 0n;
87
+ let shift = 0n;
88
+ let offset = start;
89
+ while (offset < buffer.length && offset - start < 10) {
90
+ const byte = buffer[offset] ?? 0;
91
+ offset += 1;
92
+ value |= BigInt(byte & 127) << shift;
93
+ if ((byte & 128) === 0)
94
+ return { value, nextOffset: offset };
95
+ shift += 7n;
96
+ }
97
+ throw new FishNetProtocolError(`unterminated packed integer at byte ${start}`);
98
+ }
99
+ function readSignedPackedWhole(buffer, start) {
100
+ const decoded = readUnsignedPackedWhole(buffer, start);
101
+ const signed = decoded.value >> 1n ^ -(decoded.value & 1n);
102
+ const value = Number(signed);
103
+ if (!Number.isSafeInteger(value))
104
+ throw new FishNetProtocolError("packed integer exceeds JavaScript's safe range");
105
+ return { value, nextOffset: decoded.nextOffset };
106
+ }
107
+ var NO_OBJECT_SENTINEL = 65535;
108
+ function readNetworkObjectReference(buffer, start) {
109
+ const object = readSignedPackedWhole(buffer, start);
110
+ if (object.value === NO_OBJECT_SENTINEL)
111
+ return { objectId: object.value, spawned: false, nextOffset: object.nextOffset };
112
+ requireBytes(buffer, object.nextOffset, 1, "network object spawned flag");
113
+ const flag = buffer[object.nextOffset];
114
+ return { objectId: object.value, spawned: flag === 1, nextOffset: object.nextOffset + 1 };
115
+ }
116
+ function readNetworkBehaviourHeader(buffer, start) {
117
+ const reference = readNetworkObjectReference(buffer, start);
118
+ requireBytes(buffer, reference.nextOffset, 1, "network behaviour component");
119
+ return {
120
+ objectId: reference.objectId,
121
+ componentIndex: buffer[reference.nextOffset] ?? 0,
122
+ nextOffset: reference.nextOffset + 1
123
+ };
124
+ }
125
+ function readFloatVector(buffer, start, count) {
126
+ requireBytes(buffer, start, count * 4, "float vector");
127
+ return {
128
+ value: Array.from({ length: count }, (_, index) => buffer.readFloatLE(start + index * 4)),
129
+ nextOffset: start + count * 4
130
+ };
131
+ }
132
+ export {
133
+ checkedEnd,
134
+ readFloatVector,
135
+ readNetworkBehaviourHeader,
136
+ readNetworkObjectReference,
137
+ readSignedPackedWhole,
138
+ readUnsignedPackedWhole,
139
+ requireBytes
140
+ };
@@ -0,0 +1,5 @@
1
+ /** SHA-256 of the canonical current-build source manifest. */
2
+ export declare const CURRENT_GAME_BUILD_FINGERPRINT = "53305f369c4176d4b7644d06ad7f0cdc5c9bda6563144d0ce8cff3d12c520158";
3
+ export declare const BUNDLED_GAME_BUILD_FINGERPRINTS: readonly ["53305f369c4176d4b7644d06ad7f0cdc5c9bda6563144d0ce8cff3d12c520158"];
4
+ export type GameBuildFingerprint = (typeof BUNDLED_GAME_BUILD_FINGERPRINTS)[number];
5
+ //# sourceMappingURL=game-build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"game-build.d.ts","sourceRoot":"","sources":["../src/game-build.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,eAAO,MAAM,8BAA8B,qEAAqE,CAAC;AAEjH,eAAO,MAAM,+BAA+B,+EAElC,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,+BAA+B,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,26 @@
1
+ export { BUNDLED_GAME_BUILD_FINGERPRINTS, CURRENT_GAME_BUILD_FINGERPRINT, } from "./game-build.ts";
2
+ export type { GameBuildFingerprint } from "./game-build.ts";
3
+ export { decodeLiteNetLibDatagram, LiteNetLibProtocolError } from "./litenetlib/decoder.ts";
4
+ export { decodeFishNetBundle, decodeFishNetPayload, FishNetProtocolError, FishNetSessionDecoder, } from "./fishnet/decoder.ts";
5
+ export { loadBundledFishNetRpcMap } from "./fishnet/builtin-maps.ts";
6
+ export { findPrefab } from "./fishnet/rpc-resolution.ts";
7
+ export { decodeFieldRun } from "./fishnet/field-decoder.ts";
8
+ export type { FieldDecodeRun } from "./fishnet/field-decoder.ts";
9
+ export { characterDataParameter } from "./fishnet/character-data-schema.ts";
10
+ export { decodeNetworkTransformData, NETWORK_TRANSFORM_RPC_NAMES } from "./fishnet/network-transform-decoder.ts";
11
+ export { resolveBundledMapName } from "./fishnet/map-definitions/index.ts";
12
+ export { compact, count, warnings } from "./text-format.ts";
13
+ export type { BundledFishNetBuildFingerprint } from "./fishnet/builtin-maps.ts";
14
+ export { loadBundledFishNetSemanticMap } from "./fishnet/semantic-map.ts";
15
+ export type { FishNetRecoveryStyle, FishNetRecoveryStyleDefinition, FishNetSemanticMap, FishNetSkillLabel, } from "./fishnet/semantic-map.ts";
16
+ export { classifyFishNetRecoveryStyle } from "./fishnet/recovery-style.ts";
17
+ export { FishNetEternalTowerTracker } from "./fishnet/eternal-tower-tracker.ts";
18
+ export type { FishNetEternalTowerSnapshot } from "./fishnet/eternal-tower-tracker.ts";
19
+ export { FishNetMonsterDirectory, decodeMonsterSpawn, } from "./fishnet/monster-directory.ts";
20
+ export type { FishNetMonsterDirectoryChange, FishNetMonsterLevels, FishNetMonsterSpawn, } from "./fishnet/monster-directory.ts";
21
+ export { decodeBossGravestone } from "./fishnet/boss-gravestone.ts";
22
+ export type { BossGravestone } from "./fishnet/boss-gravestone.ts";
23
+ export type { CaptureConfig, CaptureProtocol, CaptureState, CaptureTargetStatus, CapturedTcpPacket, CapturedTransportPacket, CapturedUdpPacket, } from "./types.ts";
24
+ export type { CapturedLiteNetLibPacket, DecodedLiteNetLibPacket, LiteNetLibAckPacket, LiteNetLibChanneledPacket, LiteNetLibControlPacket, LiteNetLibFragment, LiteNetLibPacket, LiteNetLibPacketProperty, LiteNetLibPingPacket, LiteNetLibPongPacket, LiteNetLibUnreliablePacket, } from "./litenetlib/types.ts";
25
+ export type { CapturedFishNetPacket, DecodedFishNetPacket, FishNetDecodeOptions, FishNetDecodedField, FishNetDecodedValue, FishNetBehaviourDefinition, FishNetBroadcastDefinition, FishNetPrefabComponentDefinition, FishNetPrefabDefinition, FishNetPacketName, FishNetRpcMap, FishNetRpcPacketName, FishNetRpcDefinition, FishNetRpcLinkRegistration, FishNetRpcParameter, FishNetRpcResolution, FishNetSpawnSyncEntry, FishNetSyncEntry, FishNetSyncTypeDefinition, FishNetWireCodec, DecodedNetworkTransform, NetworkTransformAxes, } from "./fishnet/types.ts";
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AACjH,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5D,YAAY,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,YAAY,EACV,oBAAoB,EACpB,8BAA8B,EAC9B,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,YAAY,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EACL,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,6BAA6B,EAC7B,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,YAAY,EACV,aAAa,EACb,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,0BAA0B,EAC1B,gCAAgC,EAChC,uBAAuB,EACvB,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,yBAAyB,EACzB,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC"}