… | |
… | |
259 | if (faces_sent[facenum]) |
259 | if (faces_sent[facenum]) |
260 | return; |
260 | return; |
261 | |
261 | |
262 | faces_sent[facenum] = true; |
262 | faces_sent[facenum] = true; |
263 | |
263 | |
|
|
264 | if (force_face0) |
|
|
265 | sl << "face " << uint16 (facenum); |
|
|
266 | else if (image2) |
|
|
267 | sl << "face2 " << uint16 (facenum) << uint8 (0) << uint32 (force_bad_checksum ? gcfclient_checksum (d) : 0); |
|
|
268 | else |
|
|
269 | sl << "face1 " << uint16 (facenum) << uint32 (force_bad_checksum ? gcfclient_checksum (d) : 0); |
|
|
270 | |
|
|
271 | // how lame |
|
|
272 | print_facename (sl, *d); |
|
|
273 | send_packet (sl); |
|
|
274 | |
264 | faceinfo *f = face_info (facenum); |
275 | faceinfo *f = face_info (facenum); |
265 | if (f->smooth && EMI_smooth) |
276 | if (f->smooth && EMI_smooth) |
266 | { |
277 | { |
267 | send_face (f->smooth); |
278 | send_face (f->smooth); |
268 | |
279 | |
… | |
… | |
271 | sl << uint16 (facenum) |
282 | sl << uint16 (facenum) |
272 | << uint16 (f->smooth); |
283 | << uint16 (f->smooth); |
273 | |
284 | |
274 | send_packet (sl); |
285 | send_packet (sl); |
275 | } |
286 | } |
276 | |
|
|
277 | if (force_face0) |
|
|
278 | sl << "face " << uint16 (facenum); |
|
|
279 | else if (image2) |
|
|
280 | sl << "face2 " << uint16 (facenum) << uint8 (0) << uint32 (force_bad_checksum ? gcfclient_checksum (d) : 0); |
|
|
281 | else |
|
|
282 | sl << "face1 " << uint16 (facenum) << uint32 (force_bad_checksum ? gcfclient_checksum (d) : 0); |
|
|
283 | |
|
|
284 | // how lame |
|
|
285 | print_facename (sl, *d); |
|
|
286 | } |
287 | } |
287 | else |
288 | else |
288 | { |
289 | { |
289 | sl << (image2 ? "image2 " : "image ") |
290 | sl << (image2 ? "image2 " : "image ") |
290 | << uint32 (facenum); |
291 | << uint32 (facenum); |
… | |
… | |
292 | if (image2) |
293 | if (image2) |
293 | sl << uint8 (0); |
294 | sl << uint8 (0); |
294 | |
295 | |
295 | sl << uint32 (d->data.size ()) |
296 | sl << uint32 (d->data.size ()) |
296 | << data (d->data.data (), d->data.size ()); |
297 | << data (d->data.data (), d->data.size ()); |
297 | } |
|
|
298 | |
298 | |
299 | send_packet (sl); |
299 | send_packet (sl); |
|
|
300 | } |
300 | } |
301 | } |
301 | |
302 | |
302 | // send all faces of this object to the client |
303 | // send all faces of this object to the client |
303 | // this uses more bandwidth initially, but makes |
304 | // this uses more bandwidth initially, but makes |
304 | // animations look much smoother, and every client |
305 | // animations look much smoother, and every client |