summaryrefslogtreecommitdiff
path: root/src/map/instance.c
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2018-07-24 05:22:42 +0200
committerGitHub <noreply@github.com>2018-07-24 05:22:42 +0200
commit1f1b82f737809a44aaabb98499293aa75eee8125 (patch)
treeddbe3ee0b93db54a5febe237524bdf4823596911 /src/map/instance.c
parent019f60feb9272ac5a527c8cdb430c2328108417c (diff)
parent90f7ef5dfb75ba3d819a4ac93518ebeadcfe7cc5 (diff)
downloadhercules-1f1b82f737809a44aaabb98499293aa75eee8125.tar.gz
hercules-1f1b82f737809a44aaabb98499293aa75eee8125.tar.bz2
hercules-1f1b82f737809a44aaabb98499293aa75eee8125.tar.xz
hercules-1f1b82f737809a44aaabb98499293aa75eee8125.zip
Merge pull request #2107 from Asheraf/questinfo_vec
Questinfo System overhaul
Diffstat (limited to 'src/map/instance.c')
-rw-r--r--src/map/instance.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/map/instance.c b/src/map/instance.c
index 2c40449ad..8bd45ba50 100644
--- a/src/map/instance.c
+++ b/src/map/instance.c
@@ -30,6 +30,7 @@
#include "map/npc.h"
#include "map/party.h"
#include "map/pc.h"
+#include "map/quest.h"
#include "common/HPM.h"
#include "common/cbasetypes.h"
#include "common/db.h"
@@ -295,10 +296,10 @@ static int instance_add_map(const char *name, int instance_id, bool usebasename,
}
//Mimic questinfo
- if( map->list[m].qi_count ) {
- map->list[im].qi_count = map->list[m].qi_count;
- CREATE( map->list[im].qi_data, struct questinfo, map->list[im].qi_count );
- memcpy( map->list[im].qi_data, map->list[m].qi_data, map->list[im].qi_count * sizeof(struct questinfo) );
+ VECTOR_INIT(map->list[im].qi_data);
+ VECTOR_ENSURE(map->list[im].qi_data, VECTOR_LENGTH(map->list[m].qi_data), 1);
+ for (i = 0; i < VECTOR_LENGTH(map->list[m].qi_data); i++) {
+ VECTOR_PUSH(map->list[im].qi_data, VECTOR_INDEX(map->list[m].qi_data, i));
}
map->list[im].m = im;
@@ -517,8 +518,7 @@ static void instance_del_map(int16 m)
aFree(map->list[m].zone_mf);
}
- if( map->list[m].qi_data )
- aFree(map->list[m].qi_data);
+ quest->questinfo_vector_clear(m);
// Remove from instance
for( i = 0; i < instance->list[map->list[m].instance_id].num_map; i++ ) {