… | |
… | |
238 | * we look at the facecache, and if set, send the image name. |
238 | * we look at the facecache, and if set, send the image name. |
239 | */ |
239 | */ |
240 | void |
240 | void |
241 | client::send_face (faceidx facenum) |
241 | client::send_face (faceidx facenum) |
242 | { |
242 | { |
|
|
243 | // never send face 0. ever. it does not exist. |
|
|
244 | if (!facenum) |
|
|
245 | return; |
|
|
246 | |
|
|
247 | const facedata *d = face_data (facenum, faceset); |
|
|
248 | |
|
|
249 | if (!d) |
|
|
250 | { |
|
|
251 | LOG (llevError, "client::send_face (%d) out of bounds??\n", facenum); |
|
|
252 | return; |
|
|
253 | } |
|
|
254 | |
|
|
255 | if (faces_sent[facenum]) |
|
|
256 | return; |
|
|
257 | |
|
|
258 | faces_sent[facenum] = true; |
|
|
259 | |
243 | if (!facecache) |
260 | if (!facecache) |
244 | { |
261 | { |
245 | send_drawinfo ( |
262 | send_drawinfo ( |
246 | "*** Please enable face caching or use a client that supports it.\n", |
263 | "*** Please enable image/face caching in preferences or use a client that supports it.\n", |
247 | NDI_RED |
264 | NDI_RED |
248 | ); |
265 | ); |
249 | return send_image (facenum); |
266 | return send_image (facenum); |
250 | } |
267 | } |
251 | |
|
|
252 | // never send face 0. ever. it does not exist. |
|
|
253 | if (!facenum) |
|
|
254 | return; |
|
|
255 | |
|
|
256 | const facedata *d = face_data (facenum, faceset); |
|
|
257 | |
|
|
258 | if (!d) |
|
|
259 | { |
|
|
260 | LOG (llevError, "client::send_face (%d) out of bounds??\n", facenum); |
|
|
261 | return; |
|
|
262 | } |
|
|
263 | |
|
|
264 | if (faces_sent[facenum]) |
|
|
265 | return; |
|
|
266 | |
|
|
267 | faces_sent[facenum] = true; |
|
|
268 | |
268 | |
269 | packet sl; |
269 | packet sl; |
270 | |
270 | |
271 | if (force_face0) |
271 | if (force_face0) |
272 | sl << "face " << uint16 (facenum); |
272 | sl << "face " << uint16 (facenum); |