@4players/odin-nodejs 0.10.1 → 0.10.3

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
@@ -35,7 +35,15 @@ Having two libs also allows us to optimize for each platform without having to w
35
35
 
36
36
  ## Prerequisites
37
37
 
38
- You need to have a C++ compiler installed. On macOS, you can install XCode and the command line tools. On Linux you need
38
+ This NodeJS SDK is based on the native ODIN SDK and is implemented via Native NodeJS bindings. This means that during
39
+ `npm install` this module will be compiled, which means you may need to have a compiler installed.
40
+
41
+ For some target systems, precompiled libraries are provided:
42
+ - macOS (x86_64 and arm64)
43
+ - Windows (x86_64)
44
+ - Linux (x86_64)
45
+
46
+ Otherwise you need to have a C++ compiler installed. On macOS, you can install XCode and the command line tools. On Linux you need
39
47
  to have GCC installed. More information can be found here: [node-gyp](https://github.com/nodejs/node-gyp).
40
48
 
41
49
  ## Getting Started and compiling
@@ -153,7 +153,9 @@ EventData* OdinRoom::PrepareEventData(OdinEvent* event)
153
153
  data->RoomId = event->joined.room_id;
154
154
  data->UserId = event->joined.own_user_id;
155
155
  data->PeerId = event->joined.own_peer_id;
156
- data->SetData(event->joined.room_user_data, event->joined.room_user_data_len);
156
+ if (event->joined.room_user_data && event->joined.room_user_data_len > 0) {
157
+ data->SetData(event->joined.room_user_data, event->joined.room_user_data_len);
158
+ }
157
159
  return data;
158
160
  }
159
161
  case OdinEvent_PeerJoined: {
@@ -162,7 +164,9 @@ EventData* OdinRoom::PrepareEventData(OdinEvent* event)
162
164
  data->Event = "PeerJoined";
163
165
  data->PeerId = event->peer_joined.peer_id;
164
166
  data->UserId = event->peer_joined.user_id;
165
- data->SetData(event->peer_joined.peer_user_data, event->peer_joined.peer_user_data_len);
167
+ if (event->peer_joined.peer_user_data && event->peer_joined.peer_user_data_len > 0) {
168
+ data->SetData(event->peer_joined.peer_user_data, event->peer_joined.peer_user_data_len);
169
+ }
166
170
  return data;
167
171
  }
168
172
  case OdinEvent_PeerLeft: {
@@ -177,14 +181,18 @@ EventData* OdinRoom::PrepareEventData(OdinEvent* event)
177
181
  data->Tag = event->tag;
178
182
  data->Event = "PeerUserDataChanged";
179
183
  data->PeerId = event->peer_user_data_changed.peer_id;
180
- data->SetData(event->peer_user_data_changed.peer_user_data, event->peer_user_data_changed.peer_user_data_len);
184
+ if (event->peer_user_data_changed.peer_user_data && event->peer_user_data_changed.peer_user_data_len > 0) {
185
+ data->SetData(event->peer_user_data_changed.peer_user_data, event->peer_user_data_changed.peer_user_data_len);
186
+ }
181
187
  return data;
182
188
  }
183
189
  case OdinEvent_RoomUserDataChanged: {
184
190
  RoomUserDataChangedEventData* data = new RoomUserDataChangedEventData();
185
191
  data->Tag = event->tag;
186
192
  data->Event = "RoomUserDataChanged";
187
- data->SetData(event->room_user_data_changed.room_user_data, event->room_user_data_changed.room_user_data_len);
193
+ if (event->room_user_data_changed.room_user_data && event->room_user_data_changed.room_user_data_len > 0) {
194
+ data->SetData(event->room_user_data_changed.room_user_data, event->room_user_data_changed.room_user_data_len);
195
+ }
188
196
  return data;
189
197
  }
190
198
  case OdinEvent_MessageReceived: {
@@ -192,7 +200,9 @@ EventData* OdinRoom::PrepareEventData(OdinEvent* event)
192
200
  data->Tag = event->tag;
193
201
  data->Event = "MessageReceived";
194
202
  data->PeerId = event->message_received.peer_id;
195
- data->SetData(event->message_received.data, event->message_received.data_len);
203
+ if (event->message_received.data && event->message_received.data_len > 0) {
204
+ data->SetData(event->message_received.data, event->message_received.data_len);
205
+ }
196
206
  return data;
197
207
  }
198
208
  case OdinEvent_RoomConnectionStateChanged: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@4players/odin-nodejs",
3
- "version": "0.10.1",
3
+ "version": "0.10.3",
4
4
  "description": "NodeJS bindings for the ODIN SDK. Use for AI enhanced human interactions, content moderation and audio processing features in a backend.",
5
5
  "main": "index.cjs",
6
6
  "types": "index.d.ts",
Binary file