@bloopjs/engine 0.0.43 → 0.0.45

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.
@@ -91,16 +91,42 @@ export type WasmEngine = {
91
91
  */
92
92
  get_match_frame: () => number;
93
93
  /**
94
- * Get confirmed frame (latest frame where all peers have sent inputs)
94
+ * Set local peer ID for packet encoding
95
95
  */
96
- get_confirmed_frame: () => number;
96
+ session_set_local_peer: (peer_id: number) => void;
97
97
  /**
98
- * Get the latest confirmed frame for a specific peer
98
+ * Mark a peer as connected for packet management
99
99
  */
100
- get_peer_frame: (peer: number) => number;
100
+ session_peer_connect: (peer_id: number) => void;
101
101
  /**
102
- * Get rollback depth (match_frame - confirmed_frame)
102
+ * Mark a peer as disconnected
103
103
  */
104
- get_rollback_depth: () => number;
104
+ session_peer_disconnect: (peer_id: number) => void;
105
+ /**
106
+ * Build an outbound packet for a target peer
107
+ * Call get_outbound_packet() and get_outbound_packet_len() to retrieve the packet
108
+ */
109
+ build_outbound_packet: (target_peer: number) => void;
110
+ /**
111
+ * Get pointer to the outbound packet buffer
112
+ */
113
+ get_outbound_packet: () => EnginePointer;
114
+ /**
115
+ * Get length of the outbound packet
116
+ */
117
+ get_outbound_packet_len: () => number;
118
+ /**
119
+ * Process a received packet
120
+ * @returns 0 on success, error code otherwise
121
+ */
122
+ receive_packet: (ptr: EnginePointer, len: number) => number;
123
+ /**
124
+ * Get seq for a peer (latest frame received from them)
125
+ */
126
+ get_peer_seq: (peer: number) => number;
127
+ /**
128
+ * Get ack for a peer (latest frame they acked from us)
129
+ */
130
+ get_peer_ack: (peer: number) => number;
105
131
  };
106
132
  //# sourceMappingURL=wasmEngine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wasmEngine.d.ts","sourceRoot":"","sources":["../js/wasmEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wasmEngine.d.ts","sourceRoot":"","sources":["../js/wasmEngine.ts"],"names":[],"mappings":"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"}
package/js/wasmEngine.ts CHANGED
@@ -105,16 +105,44 @@ export type WasmEngine = {
105
105
  * Get current match frame (frames since session start)
106
106
  */
107
107
  get_match_frame: () => number;
108
+
109
+ // Network / Packets
110
+ /**
111
+ * Set local peer ID for packet encoding
112
+ */
113
+ session_set_local_peer: (peer_id: number) => void;
114
+ /**
115
+ * Mark a peer as connected for packet management
116
+ */
117
+ session_peer_connect: (peer_id: number) => void;
118
+ /**
119
+ * Mark a peer as disconnected
120
+ */
121
+ session_peer_disconnect: (peer_id: number) => void;
122
+ /**
123
+ * Build an outbound packet for a target peer
124
+ * Call get_outbound_packet() and get_outbound_packet_len() to retrieve the packet
125
+ */
126
+ build_outbound_packet: (target_peer: number) => void;
127
+ /**
128
+ * Get pointer to the outbound packet buffer
129
+ */
130
+ get_outbound_packet: () => EnginePointer;
131
+ /**
132
+ * Get length of the outbound packet
133
+ */
134
+ get_outbound_packet_len: () => number;
108
135
  /**
109
- * Get confirmed frame (latest frame where all peers have sent inputs)
136
+ * Process a received packet
137
+ * @returns 0 on success, error code otherwise
110
138
  */
111
- get_confirmed_frame: () => number;
139
+ receive_packet: (ptr: EnginePointer, len: number) => number;
112
140
  /**
113
- * Get the latest confirmed frame for a specific peer
141
+ * Get seq for a peer (latest frame received from them)
114
142
  */
115
- get_peer_frame: (peer: number) => number;
143
+ get_peer_seq: (peer: number) => number;
116
144
  /**
117
- * Get rollback depth (match_frame - confirmed_frame)
145
+ * Get ack for a peer (latest frame they acked from us)
118
146
  */
119
- get_rollback_depth: () => number;
147
+ get_peer_ack: (peer: number) => number;
120
148
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bloopjs/engine",
3
- "version": "0.0.43",
3
+ "version": "0.0.45",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
package/wasm/bloop.wasm CHANGED
Binary file