summaryrefslogtreecommitdiff
path: root/src/map/battleground.c
diff options
context:
space:
mode:
authorshennetsind <shennetsind@users.noreply.github.com>2015-03-10 16:14:21 -0300
committershennetsind <shennetsind@users.noreply.github.com>2015-03-10 16:14:21 -0300
commitc091b38e4400560ca0644afef9f08e4f9d6835b0 (patch)
treebd4ab3aeb652db6dd6283081e55138ab68e01fd7 /src/map/battleground.c
parent308677fb86dc98ed9c0adc18dea396c1cd5f6ff6 (diff)
parent0bd4a0178cd5beb8bee955777afe32392d75afa9 (diff)
downloadhercules-c091b38e4400560ca0644afef9f08e4f9d6835b0.tar.gz
hercules-c091b38e4400560ca0644afef9f08e4f9d6835b0.tar.bz2
hercules-c091b38e4400560ca0644afef9f08e4f9d6835b0.tar.xz
hercules-c091b38e4400560ca0644afef9f08e4f9d6835b0.zip
Merge pull request #461 from dastgir/bg_HPM
Battleground Data to HPM Struct
Diffstat (limited to 'src/map/battleground.c')
-rw-r--r--src/map/battleground.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/map/battleground.c b/src/map/battleground.c
index 2d4ba6bf1..f0bad2b3d 100644
--- a/src/map/battleground.c
+++ b/src/map/battleground.c
@@ -22,6 +22,7 @@
#include "pet.h"
#include "../common/cbasetypes.h"
#include "../common/conf.h"
+#include "../common/HPM.h"
#include "../common/malloc.h"
#include "../common/nullpo.h"
#include "../common/showmsg.h"
@@ -856,9 +857,27 @@ void do_init_battleground(bool minimal) {
bg->config_read();
}
+/**
+ * @see DBApply
+ */
+int bg_team_db_final(DBKey key, DBData *data, va_list ap) {
+ struct battleground_data* bgd = DB->data2ptr(data);
+ int i;
+ for(i = 0; i < bgd->hdatac; i++ ) {
+ if( bgd->hdata[i]->flag.free ) {
+ aFree(bgd->hdata[i]->data);
+ }
+ aFree(bgd->hdata[i]);
+ }
+ if( bgd->hdata )
+ aFree(bgd->hdata);
+
+ return 0;
+}
+
void do_final_battleground(void)
{
- db_destroy(bg->team_db);
+ bg->team_db->destroy(bg->team_db,bg->team_db_final);
if (bg->arena) {
int i;
@@ -868,6 +887,7 @@ void do_final_battleground(void)
}
aFree(bg->arena);
}
+
}
void battleground_defaults(void) {
bg = &bg_s;
@@ -911,6 +931,7 @@ void battleground_defaults(void) {
bg->send_xy_timer_sub = bg_send_xy_timer_sub;
bg->send_xy_timer = bg_send_xy_timer;
bg->afk_timer = bg_afk_timer;
+ bg->team_db_final = bg_team_db_final;
/* */
bg->str2teamtype = bg_str2teamtype;
/* */