diff options
author | Haru <haru@dotalux.com> | 2015-06-15 20:52:44 +0200 |
---|---|---|
committer | Haru <haru@dotalux.com> | 2015-08-15 00:51:42 +0200 |
commit | 51b7adcf4e5b2a347081ec9a6903102c4909a404 (patch) | |
tree | 39a080440b4bd78b786c8f9372f7883b55fd3ba9 /src/map/mob.h | |
parent | f8edb93a6a26cd81eeaad0eac23e33da7740c8b4 (diff) | |
download | hercules-51b7adcf4e5b2a347081ec9a6903102c4909a404.tar.gz hercules-51b7adcf4e5b2a347081ec9a6903102c4909a404.tar.bz2 hercules-51b7adcf4e5b2a347081ec9a6903102c4909a404.tar.xz hercules-51b7adcf4e5b2a347081ec9a6903102c4909a404.zip |
HPM compatibility improvements
Improved compatibility, portability and standards conformance.
- Since it is not possible to portably and reliably re-use the core's
symbols in plugins, symbols are no longer exported unless explicitly
required, in the UNIX builds. This mimics the Windows behavior and
adds HPM compatibility to OSes such as FreeBSD. Credits to Andrei Karas
for making this possible.
- For convenience, it is no longer necessary to call GET_SYMBOL, since
the plugin will automatically import all the available symbols when
it's loaded, depending on the included headers.
- Plugins are now supposed to include the "common/hercules.h" header
before including anything else. Incluing common/HPMi.h,
common/cbasetypes.h or conf/core.h is no longer necessary, as those
are guaranteed to be automatically included by hercules.h.
- HPM API version bumped to 1.1.
Signed-off-by: Haru <haru@dotalux.com>
Diffstat (limited to 'src/map/mob.h')
-rw-r--r-- | src/map/mob.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/map/mob.h b/src/map/mob.h index 85d2bf9b8..4b8a054b5 100644 --- a/src/map/mob.h +++ b/src/map/mob.h @@ -8,7 +8,7 @@ #include "map/map.h" // struct block_list #include "map/status.h" // struct status_data, struct status_change #include "map/unit.h" // struct unit_data, view_data -#include "common/cbasetypes.h" +#include "common/hercules.h" #include "common/mmo.h" // struct item #define MAX_RANDOMMONSTER 5 @@ -272,8 +272,8 @@ struct item_drop_list { #define mob_stop_walking(md, type) (unit->stop_walking(&(md)->bl, (type))) #define mob_stop_attack(md) (unit->stop_attack(&(md)->bl)) -#define mob_is_battleground(md) ( map->list[(md)->bl.m].flag.battleground && ((md)->class_ == MOBID_BARRICADE2 || ((md)->class_ >= MOBID_FOOD_STOR && (md)->class_ <= MOBID_PINK_CRYST)) ) -#define mob_is_gvg(md) (map->list[(md)->bl.m].flag.gvg_castle && ( (md)->class_ == MOBID_EMPERIUM || (md)->class_ == MOBID_BARRICADE1 || (md)->class_ == MOBID_GUARIDAN_STONE1 || (md)->class_ == MOBID_GUARIDAN_STONE2) ) +#define mob_is_battleground(md) (map->list[(md)->bl.m].flag.battleground && ((md)->class_ == MOBID_BARRICADE2 || ((md)->class_ >= MOBID_FOOD_STOR && (md)->class_ <= MOBID_PINK_CRYST))) +#define mob_is_gvg(md) (map->list[(md)->bl.m].flag.gvg_castle && ( (md)->class_ == MOBID_EMPERIUM || (md)->class_ == MOBID_BARRICADE1 || (md)->class_ == MOBID_GUARIDAN_STONE1 || (md)->class_ == MOBID_GUARIDAN_STONE2)) #define mob_is_treasure(md) (((md)->class_ >= MOBID_TREAS01 && (md)->class_ <= MOBID_TREAS40) || ((md)->class_ >= MOBID_TREAS41 && (md)->class_ <= MOBID_TREAS49)) struct mob_interface { @@ -387,10 +387,10 @@ struct mob_interface { void (*destroy_mob_db) (int index); }; -struct mob_interface *mob; - #ifdef HERCULES_CORE void mob_defaults(void); #endif // HERCULES_CORE +HPShared struct mob_interface *mob; + #endif /* MAP_MOB_H */ |