summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2020-06-28 16:44:57 +0200
committerGitHub <noreply@github.com>2020-06-28 16:44:57 +0200
commit44e53924b3db97b515f9a2e032580be0d5ed433c (patch)
tree75457e95ce923ea8a39250dcb79885b1de58eba9 /src
parent8fdc97b3d38d938a610795b8477c2d49deea0f5c (diff)
parente3e1acb092a5ba8ddc4dcb116ec4bcf7686e140d (diff)
downloadhercules-44e53924b3db97b515f9a2e032580be0d5ed433c.tar.gz
hercules-44e53924b3db97b515f9a2e032580be0d5ed433c.tar.bz2
hercules-44e53924b3db97b515f9a2e032580be0d5ed433c.tar.xz
hercules-44e53924b3db97b515f9a2e032580be0d5ed433c.zip
Merge pull request #2778 from 4144/extendci
Extend ci with more checks and add different fixes
Diffstat (limited to 'src')
-rw-r--r--src/common/atomic.h3
-rw-r--r--src/common/cbasetypes.h10
-rw-r--r--src/common/hercules.h12
-rw-r--r--src/map/battle.c2
-rw-r--r--src/map/map.c10
-rw-r--r--src/plugins/Makefile.in2
-rw-r--r--src/plugins/mapcache.c1
7 files changed, 30 insertions, 10 deletions
diff --git a/src/common/atomic.h b/src/common/atomic.h
index 518d2e6ab..b9157373f 100644
--- a/src/common/atomic.h
+++ b/src/common/atomic.h
@@ -103,8 +103,9 @@ forceinline volatile int64 InterlockedExchange64(volatile int64 *target, int64 v
// The __sync functions are available on x86 or ARMv6+
#if !defined(__x86_64__) && !defined(__i386__) \
+ && !defined(__ppc64__) && ! defined(__powerpc64__) \
&& ( !defined(__ARM_ARCH_VERSION__) || __ARM_ARCH_VERSION__ < 6 )
-#error Your Target Platfrom is not supported
+#error Target platform currently not supported
#endif
static forceinline int64 InterlockedExchangeAdd64(volatile int64 *addend, int64 increment){
diff --git a/src/common/cbasetypes.h b/src/common/cbasetypes.h
index 31d89d66b..06333a7b2 100644
--- a/src/common/cbasetypes.h
+++ b/src/common/cbasetypes.h
@@ -62,16 +62,24 @@
#endif
// Standardize the ARM platform version, if available (the only values we're interested in right now are >= ARMv6)
+#ifdef __ARM_ARCH
+#define __ARM_ARCH_VERSION__ __ARM_ARCH
+#else
#if defined(__ARMV6__) || defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) \
|| defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) // gcc ARMv6
#define __ARM_ARCH_VERSION__ 6
-#elif defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7S__) // gcc ARMv7
+#elif defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7S__) // gcc ARMv7
#define __ARM_ARCH_VERSION__ 7
+#elif defined(__ARM_ARCH_8__) || defined(__ARM_ARCH_8A__)
+#define __ARM_ARCH_VERSION__ 8
#elif defined(_M_ARM) // MSVC
#define __ARM_ARCH_VERSION__ _M_ARM
+#elif defined(__TARGET_ARCH_ARM) // RVCT
+#define __ARM_ARCH_VERSION__ __TARGET_ARCH_ARM
#else
#define __ARM_ARCH_VERSION__ 0
#endif
+#endif
// Necessary for __NetBSD_Version__ (defined as VVRR00PP00) on NetBSD
#ifdef __NETBSD__
diff --git a/src/common/hercules.h b/src/common/hercules.h
index 89ea761b4..e62656494 100644
--- a/src/common/hercules.h
+++ b/src/common/hercules.h
@@ -23,11 +23,15 @@
#include "config/core.h"
#include "common/cbasetypes.h"
+#ifdef HERCULES_CORE
+#define HPExport static
+#else // HERCULES_CORE
#ifdef WIN32
- #define HPExport __declspec(dllexport)
-#else
- #define HPExport __attribute__((visibility("default")))
-#endif
+#define HPExport __declspec(dllexport)
+#else // WIN32
+#define HPExport __attribute__((visibility("default")))
+#endif // WIN32
+#endif // HERCULES_CORE
#define HPShared extern
diff --git a/src/map/battle.c b/src/map/battle.c
index bea1c7ab2..ea00f938f 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -7688,6 +7688,8 @@ static void do_init_battle(bool minimal)
static void do_final_battle(void)
{
+ if (map->minimal)
+ return;
ers_destroy(battle->delay_damage_ers);
}
diff --git a/src/map/map.c b/src/map/map.c
index 24d571498..3312680da 100644
--- a/src/map/map.c
+++ b/src/map/map.c
@@ -6691,6 +6691,8 @@ int do_init(int argc, char *argv[])
atcommand->msg_read(map->MSG_CONF_NAME, false);
map->inter_config_read(map->INTER_CONF_NAME, false);
logs->config_read(map->LOG_CONF_NAME, false);
+ } else {
+ battle->config_read(map->BATTLE_CONF_FILENAME, false);
}
script->config_read(map->SCRIPT_CONF_NAME, false);
@@ -6741,8 +6743,8 @@ int do_init(int argc, char *argv[])
timer->add_func_list(map->removemobs_timer, "map_removemobs_timer");
timer->add_interval(timer->gettick()+1000, map->freeblock_timer, 0, 0, 60*1000);
- HPM->event(HPET_INIT);
}
+ HPM->event(HPET_INIT);
atcommand->init(minimal);
battle->init(minimal);
@@ -6789,8 +6791,12 @@ int do_init(int argc, char *argv[])
exit(EXIT_SUCCESS);
}
- if( minimal ) {
+ if (minimal) {
HPM->event(HPET_READY);
+ HPM->event(HPET_FINAL);
+ battle->final();
+ HPM_map_do_final();
+ HPM->event(HPET_POST_FINAL);
exit(EXIT_SUCCESS);
}
diff --git a/src/plugins/Makefile.in b/src/plugins/Makefile.in
index e44412bfa..073cd8d41 100644
--- a/src/plugins/Makefile.in
+++ b/src/plugins/Makefile.in
@@ -43,7 +43,7 @@ HPMHOOKING = $(addprefix HPMHooking_, login char map)
ALLPLUGINS = $(filter-out HPMHooking, $(basename $(wildcard *.c))) $(HPMHOOKING)
# Plugins that will be built through 'make plugins' or 'make all'
-PLUGINS = sample db2sql HPMHooking_char HPMHooking_login HPMHooking_map $(MYPLUGINS)
+PLUGINS = sample db2sql constdb2doc generate-translations mapcache script_mapquit HPMHooking_char HPMHooking_login HPMHooking_map $(MYPLUGINS)
COMMON_D = ../common
# Includes private headers (plugins might need them)
diff --git a/src/plugins/mapcache.c b/src/plugins/mapcache.c
index 3dc6e3b34..2b8e4c6f8 100644
--- a/src/plugins/mapcache.c
+++ b/src/plugins/mapcache.c
@@ -402,7 +402,6 @@ bool fix_md5_truncation_sub(FILE *fp, const char *map_name)
fseek(fp, 0, SEEK_SET);
fwrite(&mheader, sizeof(mheader), 1, fp);
- fclose(fp);
return true;
}