--- deliantra/server/socket/image.C 2007/03/14 15:44:47 1.32 +++ deliantra/server/socket/image.C 2007/03/15 16:25:45 1.36 @@ -240,15 +240,6 @@ void client::send_face (faceidx facenum) { - if (!facecache) - { - send_drawinfo ( - "*** Please enable face caching or use a client that supports it.\n", - NDI_RED - ); - return send_image (facenum); - } - // never send face 0. ever. it does not exist. if (!facenum) return; @@ -266,6 +257,33 @@ faces_sent[facenum] = true; + if (!facecache) + { + send_drawinfo ( + "\n" + "\n" + "***\n" + "*** WARNING:\n" + "*** Your client does not support face/image caching,\n" + "*** or it has been disabled. Face caching is mandatory\n" + "*** so please enable it or use a newer client.\n" + "***\n" + "*** Look at your client preferences:\n" + "***\n" + "*** CFPlus: all known versions automatically enable the facecache.\n" + "*** cfclient: use the -cache commandline option.\n" + "*** cfclient: map will not redraw automatically (bug).\n" + "*** gcfclient: use -cache commandline option, or enable\n" + "*** gcfclient: Client=>Configure=>Map & Image=>Cache Images.\n" + "*** jcrossclient: your client is broken, use CFPlus or gcfclient.\n" + "***\n" + "***\n", + NDI_RED + ); + return; + //return send_image (facenum); + } + packet sl; if (force_face0) @@ -308,6 +326,11 @@ return; } + faces_sent[facenum] = true; + + if (force_image_newmap) + force_newmap = true; + packet sl; sl << (image2 ? "image2 " : "image ")