diff options
author | Haru <haru@dotalux.com> | 2018-07-24 05:22:42 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-24 05:22:42 +0200 |
commit | 1f1b82f737809a44aaabb98499293aa75eee8125 (patch) | |
tree | ddbe3ee0b93db54a5febe237524bdf4823596911 /src/map/instance.c | |
parent | 019f60feb9272ac5a527c8cdb430c2328108417c (diff) | |
parent | 90f7ef5dfb75ba3d819a4ac93518ebeadcfe7cc5 (diff) | |
download | hercules-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.c | 12 |
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++ ) { |