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

Comparing deliantra/server/socket/request.C (file contents):
Revision 1.85 by root, Sat Apr 14 14:47:48 2007 UTC vs.
Revision 1.91 by root, Mon Apr 30 04:25:30 2007 UTC

159 { 159 {
160 if (ob->map && ob->map->path[0]) 160 if (ob->map && ob->map->path[0])
161 { 161 {
162 int flags = 0; 162 int flags = 0;
163 163
164 if (ob->map->tile_path[0]) 164 if (ob->map->tile_path[0]) flags |= 1;
165 flags |= 1;
166 if (ob->map->tile_path[1]) 165 if (ob->map->tile_path[1]) flags |= 2;
167 flags |= 2;
168 if (ob->map->tile_path[2]) 166 if (ob->map->tile_path[2]) flags |= 4;
169 flags |= 4;
170 if (ob->map->tile_path[3]) 167 if (ob->map->tile_path[3]) flags |= 8;
171 flags |= 8;
172 168
173 snprintf (buf, MAX_BUF, "mapinfo - spatial %d %d %d %d %d %s", 169 snprintf (buf, MAX_BUF, "mapinfo - spatial %d %d %d %d %d %s",
174 flags, socket.mapx / 2 - ob->x, socket.mapy / 2 - ob->y, ob->map->width, ob->map->height, &ob->map->path); 170 flags, socket.mapx / 2 - ob->x, socket.mapy / 2 - ob->y, ob->map->width, ob->map->height, &ob->map->path);
175 } 171 }
176 else 172 else
325 snprintf (bigbuf, MAX_BUF, "mapinfo %s error", token); 321 snprintf (bigbuf, MAX_BUF, "mapinfo %s error", token);
326 else if (map && map->path[0]) 322 else if (map && map->path[0])
327 { 323 {
328 int flags = 0; 324 int flags = 0;
329 325
330 if (map->tile_path[0]) 326 if (map->tile_path[0]) flags |= 1;
331 flags |= 1;
332 if (map->tile_path[1]) 327 if (map->tile_path[1]) flags |= 2;
333 flags |= 2;
334 if (map->tile_path[2]) 328 if (map->tile_path[2]) flags |= 4;
335 flags |= 4;
336 if (map->tile_path[3]) 329 if (map->tile_path[3]) flags |= 8;
337 flags |= 8;
338 330
339 snprintf (bigbuf, MAX_BUF, "mapinfo %s spatial %d %d %d %d %d %s", token, flags, mapx, mapy, map->width, map->height, &map->path); 331 snprintf (bigbuf, MAX_BUF, "mapinfo %s spatial %d %d %d %d %d %s", token, flags, mapx, mapy, map->width, map->height, &map->path);
340 } 332 }
341 else 333 else
342 snprintf (bigbuf, MAX_BUF, "mapinfo %s nomap", token); 334 snprintf (bigbuf, MAX_BUF, "mapinfo %s nomap", token);
611 { 603 {
612 case ST_PLAYING: 604 case ST_PLAYING:
613 LOG (llevError, "Got reply message with ST_PLAYING input state\n"); 605 LOG (llevError, "Got reply message with ST_PLAYING input state\n");
614 break; 606 break;
615 607
616 case ST_CHANGE_CLASS:
617 key_change_class (pl->ob, buf[0]);
618 break;
619
620 case ST_GET_PARTY_PASSWORD: /* Get password for party */ 608 case ST_GET_PARTY_PASSWORD: /* Get password for party */
621 receive_party_password (pl->ob, 13); 609 receive_party_password (pl->ob, 13);
622 break; 610 break;
623 611
624 default: 612 default:
663 651
664 cp = strchr (cp + 1, ' '); 652 cp = strchr (cp + 1, ' ');
665 653
666 if (cp) 654 if (cp)
667 { 655 {
668 assign (ns->version, cp + 1); 656 ns->version = cp + 1;
669 657
670 if (ns->sc_version < 1026) 658 if (ns->sc_version < 1026)
671 ns->send_packet_printf ("drawinfo %d %s", NDI_RED, 659 ns->send_packet_printf ("drawinfo %d %s", NDI_RED,
672 "**** VERSION WARNING ****\n**** CLIENT IS TOO OLD!! UPDATE THE CLIENT!! ****"); 660 "**** VERSION WARNING ****\n**** CLIENT IS TOO OLD!! UPDATE THE CLIENT!! ****");
673 } 661 }
736 */ 724 */
737void 725void
738send_query (client *ns, uint8 flags, const char *text) 726send_query (client *ns, uint8 flags, const char *text)
739{ 727{
740 ns->send_packet_printf ("query %d %s", flags, text ? text : ""); 728 ns->send_packet_printf ("query %d %s", flags, text ? text : "");
729}
730
731/**
732 * Get player's current range attack in obuf.
733 */
734static void
735rangetostring (object *ob, char *obuf)
736{
737 dynbuf_text buf;
738
739 player *pl = ob->contr;
740
741 if (pl->ranged_skill)
742 {
743 buf.printf (" Range: %s", &pl->ranged_skill->name);
744
745 if (pl->ranged_ob)
746 buf.printf (" (%s)", query_base_name (pl->ranged_ob, 0));
747 }
748
749 if (pl->combat_skill)
750 {
751 buf.printf (" Combat: %s", &pl->combat_skill->name);
752
753 if (pl->combat_ob)
754 buf.printf (" (%s)", query_base_name (pl->combat_ob, 0));
755 }
756
757 if (pl->golem)
758 buf.printf (" Golem: %s", &pl->golem->name);
759
760 strcpy (obuf, buf.linearise () + 1);
741} 761}
742 762
743#define AddIfInt64(Old,New,Type) if (Old != New) {\ 763#define AddIfInt64(Old,New,Type) if (Old != New) {\
744 Old = New; \ 764 Old = New; \
745 sl << uint8 (Type) << uint64 (New); \ 765 sl << uint8 (Type) << uint64 (New); \
1183 1203
1184 mapspace &ms = m->at (nx, ny); 1204 mapspace &ms = m->at (nx, ny);
1185 1205
1186 if (socket.extmap) 1206 if (socket.extmap)
1187 { 1207 {
1188 uint8 stat_hp = 0; 1208 uint8 stat_hp = 0;
1189 uint8 stat_width = 0; 1209 uint8 stat_width = 0;
1190 uint8 flags = 0; 1210 uint8 flags = 0;
1191 UUID player = 0; 1211 tag_t player = 0;
1192 1212
1193 // send hp information, if applicable 1213 // send hp information, if applicable
1194 if (object *op = ms.faces_obj [0]) 1214 if (object *op = ms.faces_obj [0])
1195 { 1215 {
1196 if (op->head || op->invisible) 1216 if (op->head || op->invisible)
1237 1257
1238 mask |= 0x8; 1258 mask |= 0x8;
1239 *last_ext |= 0x80; 1259 *last_ext |= 0x80;
1240 last_ext = &sl[sl.length ()]; 1260 last_ext = &sl[sl.length ()];
1241 1261
1242 sl << uint8 (0x47) << uint8 (8) << (uint64)player; 1262 sl << uint8 (0x47) << uint8 (4) << (uint32)player;
1243 } 1263 }
1244 1264
1245 if (lastcell.flags != flags) 1265 if (lastcell.flags != flags)
1246 { 1266 {
1247 lastcell.flags = flags; 1267 lastcell.flags = flags;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines