ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/socket/image.C
(Generate patch)

Comparing deliantra/server/socket/image.C (file contents):
Revision 1.12 by root, Thu Dec 14 22:45:41 2006 UTC vs.
Revision 1.13 by root, Fri Dec 15 19:59:20 2006 UTC

33 */ 33 */
34 34
35#include <global.h> 35#include <global.h>
36#include <sproto.h> 36#include <sproto.h>
37 37
38#include <newclient.h>
39#include <newserver.h>
40#include <loader.h>
41
42#define MAX_FACE_SETS 20 /**< Maximum number of image sets the program will handle */ 38#define MAX_FACE_SETS 20 /**< Maximum number of image sets the program will handle */
43 39
44/** Information about one image */ 40/** Information about one image */
45typedef struct FaceInfo 41typedef struct FaceInfo
46{ 42{
47 43
48 uint8 *data; /**< image data */ 44 uint8 *data; /**< image data */
49
50 uint16 datalen; /**< length of the xpm data */ 45 uint16 datalen; /**< length of the xpm data */
51
52 uint32 checksum; /**< Checksum of face data */ 46 uint32 checksum; /**< Checksum of face data */
53} FaceInfo; 47} FaceInfo;
54 48
55/** Information about one face set */ 49/** Information about one face set */
56typedef struct 50typedef struct
312 * the caching attribute. 306 * the caching attribute.
313 * 307 *
314 */ 308 */
315 309
316void 310void
317SetFaceMode (char *buf, int len, client_socket *ns) 311SetFaceMode (char *buf, int len, client *ns)
318{ 312{
319 int mask = (atoi (buf) & CF_FACE_CACHE), mode = (atoi (buf) & ~CF_FACE_CACHE); 313 int mask = (atoi (buf) & CF_FACE_CACHE), mode = (atoi (buf) & ~CF_FACE_CACHE);
320 314
321 if (mode == CF_FACE_NONE) 315 if (mode == CF_FACE_NONE)
322 ns->facecache = 1; 316 ns->facecache = 1;
336 * This will be called often if the client is 330 * This will be called often if the client is
337 * caching images. 331 * caching images.
338 */ 332 */
339 333
340void 334void
341SendFaceCmd (char *buff, int len, client_socket * ns) 335SendFaceCmd (char *buff, int len, client * ns)
342{ 336{
343 long tmpnum = atoi (buff); 337 long tmpnum = atoi (buff);
344 short facenum = tmpnum & 0xffff; 338 short facenum = tmpnum & 0xffff;
345 339
346 if (facenum != 0) 340 if (facenum != 0)
355 * face (and askface is the only place that should be setting it). Otherwise, 349 * face (and askface is the only place that should be setting it). Otherwise,
356 * we look at the facecache, and if set, send the image name. 350 * we look at the facecache, and if set, send the image name.
357 */ 351 */
358 352
359void 353void
360esrv_send_face (client_socket *ns, short face_num, int nocache) 354esrv_send_face (client *ns, short face_num, int nocache)
361{ 355{
362 char fallback; 356 char fallback;
363 357
364 if (face_num <= 0 || face_num >= nrofpixmaps) 358 if (face_num <= 0 || face_num >= nrofpixmaps)
365 { 359 {
411 * and the image_info file information. See the doc/Developers/protocol 405 * and the image_info file information. See the doc/Developers/protocol
412 * if you want further detail. 406 * if you want further detail.
413 */ 407 */
414 408
415void 409void
416send_image_info (client_socket * ns, char *params) 410send_image_info (client * ns, char *params)
417{ 411{
418 packet sl; 412 packet sl;
419 413
420 sl.printf ("replyinfo image_info\n%d\n%d\n", nrofpixmaps - 1, bmaps_checksum); 414 sl.printf ("replyinfo image_info\n%d\n%d\n", nrofpixmaps - 1, bmaps_checksum);
421 415
436 * For each image in [start..stop] sends 430 * For each image in [start..stop] sends
437 * - checksum 431 * - checksum
438 * - name 432 * - name
439 */ 433 */
440void 434void
441send_image_sums (client_socket * ns, char *params) 435send_image_sums (client * ns, char *params)
442{ 436{
443 int start, stop; 437 int start, stop;
444 char *cp, buf[MAX_BUF]; 438 char *cp, buf[MAX_BUF];
445 439
446 packet sl; 440 packet sl;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines