From 4fa9fd843e19d041a6b142722e1f2c717a45f625 Mon Sep 17 00:00:00 2001 From: Haru Date: Mon, 12 Jan 2015 18:29:24 +0100 Subject: 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 --- src/char/HPMchar.h | 4 ++++ src/char/char.h | 2 ++ src/char/geoip.h | 2 ++ src/char/int_auction.h | 2 ++ src/char/int_elemental.h | 2 ++ src/char/int_guild.h | 2 ++ src/char/int_homun.h | 2 ++ src/char/int_mail.h | 2 ++ src/char/int_mercenary.h | 2 ++ src/char/int_party.h | 2 ++ src/char/int_pet.h | 2 ++ src/char/int_quest.h | 2 ++ src/char/int_storage.h | 2 ++ src/char/inter.h | 2 ++ src/char/loginif.h | 2 ++ src/char/mapif.h | 2 ++ src/char/pincode.h | 2 ++ 17 files changed, 36 insertions(+) (limited to 'src/char') diff --git a/src/char/HPMchar.h b/src/char/HPMchar.h index 9d367725c..aa266f1de 100644 --- a/src/char/HPMchar.h +++ b/src/char/HPMchar.h @@ -4,6 +4,10 @@ #ifndef CHAR_HPMCHAR_H #define CHAR_HPMCHAR_H +#ifndef HERCULES_CORE +#error You should never include HPMchar.h from a plugin. +#endif + #include "../common/cbasetypes.h" #include "../common/HPM.h" diff --git a/src/char/char.h b/src/char/char.h index a6707a7f9..4b68dc43c 100644 --- a/src/char/char.h +++ b/src/char/char.h @@ -63,6 +63,7 @@ enum { TABLE_GUILD_STORAGE, }; +#ifdef HERCULES_CORE extern int char_name_option; extern char char_name_letters[]; extern bool char_gm_read; @@ -112,6 +113,7 @@ extern int log_inter; void char_load_defaults(); void char_defaults(); +#endif // HERCULES_CORE struct char_auth_node { int account_id; diff --git a/src/char/geoip.h b/src/char/geoip.h index 8cad2f73b..a7ab6b9a4 100644 --- a/src/char/geoip.h +++ b/src/char/geoip.h @@ -27,6 +27,8 @@ struct geoip_interface { struct geoip_interface *geoip; +#ifdef HERCULES_CORE void geoip_defaults(void); +#endif // HERCULES_CORE #endif /* CHAR_GEOIP_H */ diff --git a/src/char/int_auction.h b/src/char/int_auction.h index ad8ac7b67..c27ecd6c3 100644 --- a/src/char/int_auction.h +++ b/src/char/int_auction.h @@ -6,7 +6,9 @@ #include "../common/mmo.h" +#ifdef HERCULES_CORE void inter_auction_defaults(void); +#endif // HERCULES_CORE /** * inter_auction_interface interface diff --git a/src/char/int_elemental.h b/src/char/int_elemental.h index 611d97550..7aa379ebb 100644 --- a/src/char/int_elemental.h +++ b/src/char/int_elemental.h @@ -6,7 +6,9 @@ #include "../common/cbasetypes.h" +#ifdef HERCULES_CORE void inter_elemental_defaults(void); +#endif // HERCULES_CORE /** * inter_elemental_interface interface diff --git a/src/char/int_guild.h b/src/char/int_guild.h index 960150f4f..e7d089943 100644 --- a/src/char/int_guild.h +++ b/src/char/int_guild.h @@ -22,7 +22,9 @@ enum { GS_REMOVE = 0x8000, }; +#ifdef HERCULES_CORE void inter_guild_defaults(void); +#endif // HERCULES_CORE /** * inter_guild interface diff --git a/src/char/int_homun.h b/src/char/int_homun.h index 5bfa355d4..0212da150 100644 --- a/src/char/int_homun.h +++ b/src/char/int_homun.h @@ -8,7 +8,9 @@ struct s_homunculus; +#ifdef HERCULES_CORE void inter_homunculus_defaults(void); +#endif // HERCULES_CORE /** * inter_homunculus interface diff --git a/src/char/int_mail.h b/src/char/int_mail.h index 5ce7bafa2..02f640ae2 100644 --- a/src/char/int_mail.h +++ b/src/char/int_mail.h @@ -10,7 +10,9 @@ struct item; struct mail_data; struct mail_message; +#ifdef HERCULES_CORE void inter_mail_defaults(void); +#endif // HERCULES_CORE /** * inter_mail interface diff --git a/src/char/int_mercenary.h b/src/char/int_mercenary.h index b22ea61b2..049429e1d 100644 --- a/src/char/int_mercenary.h +++ b/src/char/int_mercenary.h @@ -8,7 +8,9 @@ struct mmo_charstatus; +#ifdef HERCULES_CORE void inter_mercenary_defaults(void); +#endif // HERCULES_CORE /** * inter_mercenary interface diff --git a/src/char/int_party.h b/src/char/int_party.h index 0c70a5300..61d828bc0 100644 --- a/src/char/int_party.h +++ b/src/char/int_party.h @@ -23,7 +23,9 @@ struct party_data { unsigned char size; //Total size of party. }; +#ifdef HERCULES_CORE void inter_party_defaults(void); +#endif // HERCULES_CORE /** * inter_party interface diff --git a/src/char/int_pet.h b/src/char/int_pet.h index 873613307..69e440781 100644 --- a/src/char/int_pet.h +++ b/src/char/int_pet.h @@ -6,7 +6,9 @@ struct s_pet; +#ifdef HERCULES_CORE void inter_pet_defaults(void); +#endif // HERCULES_CORE /** * inter_pet interface diff --git a/src/char/int_quest.h b/src/char/int_quest.h index 265a3f97a..2cb359d40 100644 --- a/src/char/int_quest.h +++ b/src/char/int_quest.h @@ -4,7 +4,9 @@ #ifndef CHAR_QUEST_H #define CHAR_QUEST_H +#ifdef HERCULES_CORE void inter_quest_defaults(void); +#endif // HERCULES_CORE /** * inter_quest interface diff --git a/src/char/int_storage.h b/src/char/int_storage.h index 6c380f29b..11a16de83 100644 --- a/src/char/int_storage.h +++ b/src/char/int_storage.h @@ -7,7 +7,9 @@ struct storage_data; struct guild_storage; +#ifdef HERCULES_CORE void inter_storage_defaults(void); +#endif // HERCULES_CORE /** * inter_storage interface diff --git a/src/char/inter.h b/src/char/inter.h index c4bb43c1d..7f5b5fc22 100644 --- a/src/char/inter.h +++ b/src/char/inter.h @@ -13,9 +13,11 @@ struct accreg; #define inter_cfgName "conf/inter-server.conf" +#ifdef HERCULES_CORE extern unsigned int party_share_level; void inter_defaults(void); +#endif // HERCULES_CORE /** * inter interface diff --git a/src/char/loginif.h b/src/char/loginif.h index 27eb62a1a..634bd4b8b 100644 --- a/src/char/loginif.h +++ b/src/char/loginif.h @@ -28,6 +28,8 @@ struct loginif_interface { struct loginif_interface *loginif; +#ifdef HERCULES_CORE void loginif_defaults(void); +#endif // HERCULES_CORE #endif /* CHAR_LOGINIF_H */ diff --git a/src/char/mapif.h b/src/char/mapif.h index f9c06256d..528522d1e 100644 --- a/src/char/mapif.h +++ b/src/char/mapif.h @@ -193,6 +193,8 @@ struct mapif_interface { struct mapif_interface *mapif; +#ifdef HERCULES_CORE void mapif_defaults(void); +#endif // HERCULES_CORE #endif /* CHAR_MAPIF_H */ diff --git a/src/char/pincode.h b/src/char/pincode.h index f4265716a..178d7e427 100644 --- a/src/char/pincode.h +++ b/src/char/pincode.h @@ -42,6 +42,8 @@ struct pincode_interface { struct pincode_interface *pincode; +#ifdef HERCULES_CORE void pincode_defaults(void); +#endif // HERCULES_CORE #endif /* CHAR_PINCODE_H */ -- cgit v1.2.3-60-g2f50