From f20f9547576153b536be337e47e7a6b79500e2c2 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Mon, 28 Sep 2015 15:14:02 +0300 Subject: Add functions for support battleground extension object. --- src/Makefile.am | 3 +++ src/emap/data/bgd.c | 40 ++++++++++++++++++++++++++++++++++++++++ src/emap/data/bgd.h | 12 ++++++++++++ src/emap/struct/bgdext.h | 12 ++++++++++++ 4 files changed, 67 insertions(+) create mode 100644 src/emap/data/bgd.c create mode 100644 src/emap/data/bgd.h create mode 100644 src/emap/struct/bgdext.h diff --git a/src/Makefile.am b/src/Makefile.am index 97cda9b..64e3a22 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -66,6 +66,8 @@ MAP_SRC = emap/atcommand.c \ emap/status.h \ emap/unit.c \ emap/unit.h \ + emap/data/bgd.c \ + emap/data/bgd.h \ emap/data/itemd.c \ emap/data/itemd.h \ emap/data/mapd.c \ @@ -74,6 +76,7 @@ MAP_SRC = emap/atcommand.c \ emap/data/npcd.h \ emap/data/session.c \ emap/data/session.h \ + emap/struct/bgdext.h \ emap/struct/itemdext.h \ emap/struct/mapdext.h \ emap/struct/npcdext.h \ diff --git a/src/emap/data/bgd.c b/src/emap/data/bgd.c new file mode 100644 index 0000000..6f5956c --- /dev/null +++ b/src/emap/data/bgd.c @@ -0,0 +1,40 @@ +// Copyright (c) Copyright (c) Hercules Dev Team, licensed under GNU GPL. +// Copyright (c) 2014 Evol developers + +#include "common/hercules.h" + +#include +#include +#include + +#include "common/HPMi.h" +#include "common/malloc.h" +#include "common/mmo.h" +#include "common/socket.h" +#include "common/strlib.h" +#include "map/battle.h" +#include "map/battleground.h" + +#include "emap/data/bgd.h" +#include "emap/struct/bgdext.h" + +struct BgdExt *bgd_get(struct battleground_data *bd) +{ + struct BgdExt *data = getFromBGDATA(bd, 0); + if (!data) + { + data = bgd_create(); + addToBGDATA(bd, data, 0, true); + } + return data; +} + +struct BgdExt *bgd_create(void) +{ + struct BgdExt *data = NULL; + CREATE(data, struct BgdExt, 1); + if (!data) + return NULL; + data->teamId = 0; + return data; +} diff --git a/src/emap/data/bgd.h b/src/emap/data/bgd.h new file mode 100644 index 0000000..b14485a --- /dev/null +++ b/src/emap/data/bgd.h @@ -0,0 +1,12 @@ +// Copyright (c) Copyright (c) Hercules Dev Team, licensed under GNU GPL. +// Copyright (c) 2014 Evol developers + +#ifndef EVOL_MAP_BGD +#define EVOL_MAP_BGD + +struct NgdExt; + +struct BgdExt *bgd_get(struct battleground_data *bd); +struct BgdExt *bgd_create(void); + +#endif // EVOL_MAP_BGD diff --git a/src/emap/struct/bgdext.h b/src/emap/struct/bgdext.h new file mode 100644 index 0000000..7b870ad --- /dev/null +++ b/src/emap/struct/bgdext.h @@ -0,0 +1,12 @@ +// Copyright (c) Copyright (c) Hercules Dev Team, licensed under GNU GPL. +// Copyright (c) 2014 Evol developers + +#ifndef EVOL_MAP_BGDEXT +#define EVOL_MAP_BGDEXT + +struct BgdExt +{ + int teamId; +}; + +#endif // EVOL_MAP_BGDEXT -- cgit v1.2.3-60-g2f50