summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2015-01-12 18:29:24 +0100
committerHaru <haru@dotalux.com>2015-01-12 18:35:36 +0100
commit4fa9fd843e19d041a6b142722e1f2c717a45f625 (patch)
tree5271cda69234c97a07a1ed9f2f6ef8510bdf94ac /src/map
parentfe00cc320396bc7ac301a22592b718792ae49adf (diff)
downloadhercules-4fa9fd843e19d041a6b142722e1f2c717a45f625.tar.gz
hercules-4fa9fd843e19d041a6b142722e1f2c717a45f625.tar.bz2
hercules-4fa9fd843e19d041a6b142722e1f2c717a45f625.tar.xz
hercules-4fa9fd843e19d041a6b142722e1f2c717a45f625.zip
Blocked compilation of plugins that use unavailable functions
- Rather than failing at runtime, plugins that try to access non-interfaced, unavailable functions or variables, will now show an error at compile-time. Signed-off-by: Haru <haru@dotalux.com>
Diffstat (limited to 'src/map')
-rw-r--r--src/map/HPMmap.h4
-rw-r--r--src/map/atcommand.h2
-rw-r--r--src/map/battle.h5
-rw-r--r--src/map/battleground.h2
-rw-r--r--src/map/buyingstore.h2
-rw-r--r--src/map/chat.h2
-rw-r--r--src/map/chrif.h6
-rw-r--r--src/map/clif.h2
-rw-r--r--src/map/date.h3
-rw-r--r--src/map/duel.h2
-rw-r--r--src/map/elemental.h2
-rw-r--r--src/map/guild.h2
-rw-r--r--src/map/homunculus.h2
-rw-r--r--src/map/instance.h2
-rw-r--r--src/map/intif.h2
-rw-r--r--src/map/irc-bot.h2
-rw-r--r--src/map/itemdb.h2
-rw-r--r--src/map/log.h2
-rw-r--r--src/map/mail.h2
-rw-r--r--src/map/map.h2
-rw-r--r--src/map/mapreg.h2
-rw-r--r--src/map/mercenary.h2
-rw-r--r--src/map/mob.h2
-rw-r--r--src/map/npc.h6
-rw-r--r--src/map/party.h2
-rw-r--r--src/map/path.h2
-rw-r--r--src/map/pc.h2
-rw-r--r--src/map/pc_groups.h2
-rw-r--r--src/map/pet.h2
-rw-r--r--src/map/quest.h2
-rw-r--r--src/map/script.h2
-rw-r--r--src/map/searchstore.h4
-rw-r--r--src/map/skill.h2
-rw-r--r--src/map/status.h2
-rw-r--r--src/map/storage.h2
-rw-r--r--src/map/trade.h2
-rw-r--r--src/map/vending.h2
37 files changed, 86 insertions, 4 deletions
diff --git a/src/map/HPMmap.h b/src/map/HPMmap.h
index fa2f625c0..0c727d017 100644
--- a/src/map/HPMmap.h
+++ b/src/map/HPMmap.h
@@ -4,6 +4,10 @@
#ifndef MAP_HPMMAP_H
#define MAP_HPMMAP_H
+#ifndef HERCULES_CORE
+#error You should never include HPMmap.h from a plugin.
+#endif
+
#include "../common/cbasetypes.h"
#include "../map/atcommand.h"
#include "../common/HPM.h"
diff --git a/src/map/atcommand.h b/src/map/atcommand.h
index 356487bd1..8d0399f25 100644
--- a/src/map/atcommand.h
+++ b/src/map/atcommand.h
@@ -116,7 +116,9 @@ struct atcommand_interface {
struct atcommand_interface *atcommand;
+#ifdef HERCULES_CORE
void atcommand_defaults(void);
+#endif // HERCULES_CORE
/* stay here */
#define ACMD(x) static bool atcommand_ ## x (const int fd, struct map_session_data* sd, const char* command, const char* message, struct AtCommandInfo *info)
diff --git a/src/map/battle.h b/src/map/battle.h
index ea2538c30..ddd98ec69 100644
--- a/src/map/battle.h
+++ b/src/map/battle.h
@@ -487,7 +487,9 @@ struct Battle_Config {
int feature_roulette;
};
+#ifdef HERCULES_CORE
extern struct Battle_Config battle_config;
+#endif // HERCULES_CORE
/* criteria for battle_config.idletime_critera */
enum e_battle_config_idletime {
@@ -620,5 +622,8 @@ struct battle_interface {
struct battle_interface *battle;
+#ifdef HERCULES_CORE
void battle_defaults(void);
+#endif // HERCULES_CORE
+
#endif /* MAP_BATTLE_H */
diff --git a/src/map/battleground.h b/src/map/battleground.h
index c1d3be054..9878d6be0 100644
--- a/src/map/battleground.h
+++ b/src/map/battleground.h
@@ -120,6 +120,8 @@ struct battleground_interface {
struct battleground_interface *bg;
+#ifdef HERCULES_CORE
void battleground_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_BATTLEGROUND_H */
diff --git a/src/map/buyingstore.h b/src/map/buyingstore.h
index c981cc444..7b8e369d2 100644
--- a/src/map/buyingstore.h
+++ b/src/map/buyingstore.h
@@ -73,6 +73,8 @@ struct buyingstore_interface {
struct buyingstore_interface *buyingstore;
+#ifdef HERCULES_CORE
void buyingstore_defaults (void);
+#endif // HERCULES_CORE
#endif // MAP_BUYINGSTORE_H
diff --git a/src/map/chat.h b/src/map/chat.h
index 6fca018f4..ced216b41 100644
--- a/src/map/chat.h
+++ b/src/map/chat.h
@@ -57,6 +57,8 @@ struct chat_interface {
struct chat_interface *chat;
+#ifdef HERCULES_CORE
void chat_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_CHAT_H */
diff --git a/src/map/chrif.h b/src/map/chrif.h
index 2ef4d0eb5..271fc076d 100644
--- a/src/map/chrif.h
+++ b/src/map/chrif.h
@@ -40,6 +40,8 @@ struct auth_node {
enum sd_state state; //To track whether player was login in/out or changing maps.
};
+#define chrif_char_offline(x) chrif->char_offline_nsd((x)->status.account_id,(x)->status.char_id)
+
/*=====================================
* Interface : chrif.h
* Generated by HerculesInterfaceMaker
@@ -150,8 +152,8 @@ struct chrif_interface {
struct chrif_interface *chrif;
+#ifdef HERCULES_CORE
void chrif_defaults(void);
-// There's no need for another function when a simple macro can do exactly the same effect
-#define chrif_char_offline(x) chrif->char_offline_nsd((x)->status.account_id,(x)->status.char_id)
+#endif // HERCULES_CORE
#endif /* MAP_CHRIF_H */
diff --git a/src/map/clif.h b/src/map/clif.h
index 4c90a3a28..3144f1586 100644
--- a/src/map/clif.h
+++ b/src/map/clif.h
@@ -1337,6 +1337,8 @@ struct clif_interface {
struct clif_interface *clif;
+#ifdef HERCULES_CORE
void clif_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_CLIF_H */
diff --git a/src/map/date.h b/src/map/date.h
index c3f353f64..a57d8132c 100644
--- a/src/map/date.h
+++ b/src/map/date.h
@@ -6,6 +6,8 @@
#include "../common/cbasetypes.h"
+#ifdef HERCULES_CORE
+// TODO: Interface
int date_get_year(void);
int date_get_month(void);
int date_get_day(void);
@@ -16,5 +18,6 @@ int date_get_sec(void);
bool is_day_of_sun(void);
bool is_day_of_moon(void);
bool is_day_of_star(void);
+#endif // HERCULES_CORE
#endif /* MAP_DATE_H */
diff --git a/src/map/duel.h b/src/map/duel.h
index 5466f3b43..fa12a4032 100644
--- a/src/map/duel.h
+++ b/src/map/duel.h
@@ -44,6 +44,8 @@ struct duel_interface {
struct duel_interface *duel;
+#ifdef HERCULES_CORE
void duel_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_DUEL_H */
diff --git a/src/map/elemental.h b/src/map/elemental.h
index ca13c30b8..8015f84c0 100644
--- a/src/map/elemental.h
+++ b/src/map/elemental.h
@@ -119,6 +119,8 @@ struct elemental_interface {
struct elemental_interface *elemental;
+#ifdef HERCULES_CORE
void elemental_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_ELEMENTAL_H */
diff --git a/src/map/guild.h b/src/map/guild.h
index eb6de7070..a75b8a7a5 100644
--- a/src/map/guild.h
+++ b/src/map/guild.h
@@ -165,6 +165,8 @@ struct guild_interface {
struct guild_interface *guild;
+#ifdef HERCULES_CORE
void guild_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_GUILD_H */
diff --git a/src/map/homunculus.h b/src/map/homunculus.h
index 5b1fd2031..18f8728d3 100644
--- a/src/map/homunculus.h
+++ b/src/map/homunculus.h
@@ -157,6 +157,8 @@ struct homunculus_interface {
struct homunculus_interface *homun;
+#ifdef HERCULES_CORE
void homunculus_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_HOMUNCULUS_H */
diff --git a/src/map/instance.h b/src/map/instance.h
index 4848c9c59..80bd1f012 100644
--- a/src/map/instance.h
+++ b/src/map/instance.h
@@ -86,6 +86,8 @@ struct instance_interface {
struct instance_interface *instance;
+#ifdef HERCULES_CORE
void instance_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_INSTANCE_H */
diff --git a/src/map/intif.h b/src/map/intif.h
index fe47d6537..52aa32259 100644
--- a/src/map/intif.h
+++ b/src/map/intif.h
@@ -184,6 +184,8 @@ struct intif_interface {
struct intif_interface *intif;
+#ifdef HERCULES_CORE
void intif_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_INTIF_H */
diff --git a/src/map/irc-bot.h b/src/map/irc-bot.h
index 0c26c3cd8..23c2fabc8 100644
--- a/src/map/irc-bot.h
+++ b/src/map/irc-bot.h
@@ -61,6 +61,8 @@ struct irc_bot_interface {
struct irc_bot_interface *ircbot;
+#ifdef HERCULES_CORE
void ircbot_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_IRC_BOT_H */
diff --git a/src/map/itemdb.h b/src/map/itemdb.h
index 902e6e5e9..1d811e3cb 100644
--- a/src/map/itemdb.h
+++ b/src/map/itemdb.h
@@ -621,6 +621,8 @@ struct itemdb_interface {
struct itemdb_interface *itemdb;
+#ifdef HERCULES_CORE
void itemdb_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_ITEMDB_H */
diff --git a/src/map/log.h b/src/map/log.h
index fb61b6e66..b4b8b84f4 100644
--- a/src/map/log.h
+++ b/src/map/log.h
@@ -131,6 +131,8 @@ struct log_interface {
struct log_interface *logs;
+#ifdef HERCULES_CORE
void log_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_LOG_H */
diff --git a/src/map/mail.h b/src/map/mail.h
index 64b0f9779..db49ca39e 100644
--- a/src/map/mail.h
+++ b/src/map/mail.h
@@ -25,6 +25,8 @@ struct mail_interface {
struct mail_interface *mail;
+#ifdef HERCULES_CORE
void mail_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_MAIL_H */
diff --git a/src/map/map.h b/src/map/map.h
index 447437cf4..f5f85f334 100644
--- a/src/map/map.h
+++ b/src/map/map.h
@@ -1078,6 +1078,8 @@ struct map_interface {
struct map_interface *map;
+#ifdef HERCULES_CORE
void map_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_MAP_H */
diff --git a/src/map/mapreg.h b/src/map/mapreg.h
index 59d226cda..9c9a1acee 100644
--- a/src/map/mapreg.h
+++ b/src/map/mapreg.h
@@ -48,6 +48,8 @@ struct mapreg_interface {
struct mapreg_interface *mapreg;
+#ifdef HERCULES_CORE
void mapreg_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_MAPREG_H */
diff --git a/src/map/mercenary.h b/src/map/mercenary.h
index 68f60b08b..fbf3603f6 100644
--- a/src/map/mercenary.h
+++ b/src/map/mercenary.h
@@ -97,6 +97,8 @@ struct mercenary_interface {
struct mercenary_interface *mercenary;
+#ifdef HERCULES_CORE
void mercenary_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_MERCENARY_H */
diff --git a/src/map/mob.h b/src/map/mob.h
index 9aac2c664..02ae1630a 100644
--- a/src/map/mob.h
+++ b/src/map/mob.h
@@ -382,6 +382,8 @@ struct mob_interface {
struct mob_interface *mob;
+#ifdef HERCULES_CORE
void mob_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_MOB_H */
diff --git a/src/map/npc.h b/src/map/npc.h
index b0014e323..68d683847 100644
--- a/src/map/npc.h
+++ b/src/map/npc.h
@@ -281,7 +281,9 @@ struct npc_interface {
struct npc_interface *npc;
+#ifdef HERCULES_CORE
void npc_defaults(void);
+#endif // HERCULES_CORE
/* comes from npc_chat.c */
@@ -347,7 +349,9 @@ struct pcre_interface *libpcre;
/**
* Also defaults libpcre
**/
+#ifdef HERCULES_CORE
void npc_chat_defaults(void);
-#endif
+#endif // HERCULES_CORE
+#endif // PCRE_SUPPORT
#endif /* MAP_NPC_H */
diff --git a/src/map/party.h b/src/map/party.h
index f6cd448a6..a541d03cb 100644
--- a/src/map/party.h
+++ b/src/map/party.h
@@ -141,6 +141,8 @@ struct party_interface {
struct party_interface *party;
+#ifdef HERCULES_CORE
void party_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_PARTY_H */
diff --git a/src/map/path.h b/src/map/path.h
index 4b71f2189..eb42df6d0 100644
--- a/src/map/path.h
+++ b/src/map/path.h
@@ -55,6 +55,8 @@ struct path_interface {
struct path_interface *path;
+#ifdef HERCULES_CORE
void path_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_PATH_H */
diff --git a/src/map/pc.h b/src/map/pc.h
index 1f5e26270..7e2fa8558 100644
--- a/src/map/pc.h
+++ b/src/map/pc.h
@@ -1024,6 +1024,8 @@ struct pc_interface {
struct pc_interface *pc;
+#ifdef HERCULES_CORE
void pc_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_PC_H */
diff --git a/src/map/pc_groups.h b/src/map/pc_groups.h
index 48ff782dd..8dd95a177 100644
--- a/src/map/pc_groups.h
+++ b/src/map/pc_groups.h
@@ -98,6 +98,8 @@ struct pc_groups_interface {
struct pc_groups_interface *pcg;
+#ifdef HERCULES_CORE
void pc_groups_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_PC_GROUPS_H */
diff --git a/src/map/pet.h b/src/map/pet.h
index cffcf7dd0..0b51bcb16 100644
--- a/src/map/pet.h
+++ b/src/map/pet.h
@@ -155,6 +155,8 @@ struct pet_interface {
struct pet_interface *pet;
+#ifdef HERCULES_CORE
void pet_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_PET_H */
diff --git a/src/map/quest.h b/src/map/quest.h
index 9d617e369..f988d0c61 100644
--- a/src/map/quest.h
+++ b/src/map/quest.h
@@ -50,6 +50,8 @@ struct quest_interface {
struct quest_interface *quest;
+#ifdef HERCULES_CORE
void quest_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_QUEST_H */
diff --git a/src/map/script.h b/src/map/script.h
index 548c0f261..ad63c1ad7 100644
--- a/src/map/script.h
+++ b/src/map/script.h
@@ -716,6 +716,8 @@ struct script_interface {
struct script_interface *script;
+#ifdef HERCULES_CORE
void script_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_SCRIPT_H */
diff --git a/src/map/searchstore.h b/src/map/searchstore.h
index d8abde615..6664eddfa 100644
--- a/src/map/searchstore.h
+++ b/src/map/searchstore.h
@@ -97,6 +97,8 @@ struct searchstore_interface {
struct searchstore_interface *searchstore;
-void searchstore_defaults (void);
+#ifdef HERCULES_CORE
+void searchstore_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_SEARCHSTORE_H */
diff --git a/src/map/skill.h b/src/map/skill.h
index 6cb43405f..c0456a6d8 100644
--- a/src/map/skill.h
+++ b/src/map/skill.h
@@ -2079,6 +2079,8 @@ struct skill_interface {
struct skill_interface *skill;
+#ifdef HERCULES_CORE
void skill_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_SKILL_H */
diff --git a/src/map/status.h b/src/map/status.h
index 63f9854d5..f281a4d08 100644
--- a/src/map/status.h
+++ b/src/map/status.h
@@ -2122,6 +2122,8 @@ struct status_interface {
struct status_interface *status;
+#ifdef HERCULES_CORE
void status_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_STATUS_H */
diff --git a/src/map/storage.h b/src/map/storage.h
index fcf9a52e4..6393e124a 100644
--- a/src/map/storage.h
+++ b/src/map/storage.h
@@ -56,7 +56,9 @@ struct guild_storage_interface {
struct guild_storage_interface *gstorage;
+#ifdef HERCULES_CORE
void storage_defaults(void);
void gstorage_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_STORAGE_H */
diff --git a/src/map/trade.h b/src/map/trade.h
index f91ccd4a2..85e73025c 100644
--- a/src/map/trade.h
+++ b/src/map/trade.h
@@ -25,6 +25,8 @@ struct trade_interface {
struct trade_interface *trade;
+#ifdef HERCULES_CORE
void trade_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_TRADE_H */
diff --git a/src/map/vending.h b/src/map/vending.h
index 63cb632a9..00d3eefff 100644
--- a/src/map/vending.h
+++ b/src/map/vending.h
@@ -34,6 +34,8 @@ struct vending_interface {
struct vending_interface *vending;
+#ifdef HERCULES_CORE
void vending_defaults(void);
+#endif // HERCULES_CORE
#endif /* MAP_VENDING_H */