@bloopjs/engine 0.0.42 → 0.0.44
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/wasmEngine.d.ts +60 -0
- package/dist/wasmEngine.d.ts.map +1 -1
- package/js/wasmEngine.ts +69 -0
- package/package.json +1 -1
- package/wasm/bloop.wasm +0 -0
package/dist/wasmEngine.d.ts
CHANGED
|
@@ -68,5 +68,65 @@ export type WasmEngine = {
|
|
|
68
68
|
* Free all memory associated with it
|
|
69
69
|
*/
|
|
70
70
|
deinit: () => void;
|
|
71
|
+
/**
|
|
72
|
+
* Initialize a multiplayer session with rollback support
|
|
73
|
+
* @param peer_count Number of peers in the session
|
|
74
|
+
* @param user_data_len Size of user data to include in snapshots
|
|
75
|
+
*/
|
|
76
|
+
session_init: (peer_count: number, user_data_len: number) => EngineOk;
|
|
77
|
+
/**
|
|
78
|
+
* End the current session
|
|
79
|
+
*/
|
|
80
|
+
session_end: () => void;
|
|
81
|
+
/**
|
|
82
|
+
* Emit inputs for a peer at a given match frame
|
|
83
|
+
* @param peer Peer ID (0-indexed)
|
|
84
|
+
* @param match_frame Frame number relative to session start
|
|
85
|
+
* @param events_ptr Pointer to Event array in WASM memory
|
|
86
|
+
* @param events_len Number of events
|
|
87
|
+
*/
|
|
88
|
+
session_emit_inputs: (peer: number, match_frame: number, events_ptr: EnginePointer, events_len: number) => void;
|
|
89
|
+
/**
|
|
90
|
+
* Get current match frame (frames since session start)
|
|
91
|
+
*/
|
|
92
|
+
get_match_frame: () => number;
|
|
93
|
+
/**
|
|
94
|
+
* Set local peer ID for packet encoding
|
|
95
|
+
*/
|
|
96
|
+
session_set_local_peer: (peer_id: number) => void;
|
|
97
|
+
/**
|
|
98
|
+
* Mark a peer as connected for packet management
|
|
99
|
+
*/
|
|
100
|
+
session_peer_connect: (peer_id: number) => void;
|
|
101
|
+
/**
|
|
102
|
+
* Mark a peer as disconnected
|
|
103
|
+
*/
|
|
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;
|
|
71
131
|
};
|
|
72
132
|
//# sourceMappingURL=wasmEngine.d.ts.map
|
package/dist/wasmEngine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasmEngine.d.ts","sourceRoot":"","sources":["../js/wasmEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG;IACvB,yEAAyE;IACzE,UAAU,EAAE,MAAM,aAAa,CAAC;IAChC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,CAAC;IACvC,IAAI,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAE9C,YAAY,EAAE,MAAM,aAAa,CAAC;IAClC,cAAc,EAAE,MAAM,aAAa,CAAC;IAEpC;;OAEG;IACH,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7B;;OAEG;IACH,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB;;;OAGG;IACH,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B;;OAEG;IACH,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,QAAQ,CAAC;IACpE;;OAEG;IACH,cAAc,EAAE,MAAM,QAAQ,CAAC;IAC/B;;OAEG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC;IAC5B;;OAEG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC;IAG5B,YAAY,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC;IAClE,UAAU,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC;IAChE,cAAc,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC;IAC/E,YAAY,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC;IAC7E,cAAc,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC;IAC1E,eAAe,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC;IAE3E;;OAEG;IACH,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,aAAa,CAAC;IACnD;;OAEG;IACH,OAAO,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IAEtC;;OAEG;IACH,YAAY,EAAE,MAAM,aAAa,CAAC;IAClC;;OAEG;IACH,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B;;OAEG;IACH,SAAS,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,KAAK,QAAQ,CAAC;IAEzD;;;OAGG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"wasmEngine.d.ts","sourceRoot":"","sources":["../js/wasmEngine.ts"],"names":[],"mappings":"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"}
|
package/js/wasmEngine.ts
CHANGED
|
@@ -76,4 +76,73 @@ export type WasmEngine = {
|
|
|
76
76
|
* Free all memory associated with it
|
|
77
77
|
*/
|
|
78
78
|
deinit: () => void;
|
|
79
|
+
|
|
80
|
+
// Session / Rollback
|
|
81
|
+
/**
|
|
82
|
+
* Initialize a multiplayer session with rollback support
|
|
83
|
+
* @param peer_count Number of peers in the session
|
|
84
|
+
* @param user_data_len Size of user data to include in snapshots
|
|
85
|
+
*/
|
|
86
|
+
session_init: (peer_count: number, user_data_len: number) => EngineOk;
|
|
87
|
+
/**
|
|
88
|
+
* End the current session
|
|
89
|
+
*/
|
|
90
|
+
session_end: () => void;
|
|
91
|
+
/**
|
|
92
|
+
* Emit inputs for a peer at a given match frame
|
|
93
|
+
* @param peer Peer ID (0-indexed)
|
|
94
|
+
* @param match_frame Frame number relative to session start
|
|
95
|
+
* @param events_ptr Pointer to Event array in WASM memory
|
|
96
|
+
* @param events_len Number of events
|
|
97
|
+
*/
|
|
98
|
+
session_emit_inputs: (
|
|
99
|
+
peer: number,
|
|
100
|
+
match_frame: number,
|
|
101
|
+
events_ptr: EnginePointer,
|
|
102
|
+
events_len: number,
|
|
103
|
+
) => void;
|
|
104
|
+
/**
|
|
105
|
+
* Get current match frame (frames since session start)
|
|
106
|
+
*/
|
|
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;
|
|
135
|
+
/**
|
|
136
|
+
* Process a received packet
|
|
137
|
+
* @returns 0 on success, error code otherwise
|
|
138
|
+
*/
|
|
139
|
+
receive_packet: (ptr: EnginePointer, len: number) => number;
|
|
140
|
+
/**
|
|
141
|
+
* Get seq for a peer (latest frame received from them)
|
|
142
|
+
*/
|
|
143
|
+
get_peer_seq: (peer: number) => number;
|
|
144
|
+
/**
|
|
145
|
+
* Get ack for a peer (latest frame they acked from us)
|
|
146
|
+
*/
|
|
147
|
+
get_peer_ack: (peer: number) => number;
|
|
79
148
|
};
|
package/package.json
CHANGED
package/wasm/bloop.wasm
CHANGED
|
Binary file
|