summaryrefslogtreecommitdiff
path: root/src/emap/send.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emap/send.c')
-rw-r--r--src/emap/send.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/emap/send.c b/src/emap/send.c
index 29e5d86..ccd4214 100644
--- a/src/emap/send.c
+++ b/src/emap/send.c
@@ -397,3 +397,40 @@ void send_changelook2(struct map_session_data* sd, struct block_list *bl, int id
}
clif->send(buf, 19, bl, target);
}
+
+void send_setwall(int m, int x1, int y1, int x2, int y2, int mask, enum send_target target)
+{
+ unsigned char buf[50];
+
+ WBUFW(buf, 0) = 0xb1b;
+ WBUFW(buf, 2) = x1;
+ WBUFW(buf, 4) = y1;
+ WBUFW(buf, 6) = x2;
+ WBUFW(buf, 8) = y2;
+ WBUFL(buf, 10) = mask;
+ mapindex->getmapname_ext(map->list[m].custom_name ? map->list[map->list[m].instance_src_map].name : map->list[m].name,(char*)WBUFP(buf, 14));
+
+ struct block_list dummy_bl;
+ dummy_bl.type = BL_NUL;
+ dummy_bl.x = x1;
+ dummy_bl.y = y1;
+ dummy_bl.m = m;
+ clif->send(buf, 30, &dummy_bl, target);
+}
+
+void send_setwall_single(int fd, int m, int x1, int y1, int x2, int y2, int mask)
+{
+ struct SessionExt *data = session_get(fd);
+ if (!data || data->clientVersion < 14)
+ return;
+
+ WFIFOHEAD (fd, 28);
+ WFIFOW(fd, 0) = 0xb1b;
+ WFIFOW(fd, 2) = x1;
+ WFIFOW(fd, 4) = y1;
+ WFIFOW(fd, 6) = x2;
+ WFIFOW(fd, 8) = y2;
+ WFIFOL(fd, 10) = mask;
+ mapindex->getmapname_ext(map->list[m].custom_name ? map->list[map->list[m].instance_src_map].name : map->list[m].name,(char*)WFIFOP(fd, 14));
+ WFIFOSET(fd, 30);
+}