summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/char/HPMchar.h4
-rw-r--r--src/char/char.h2
-rw-r--r--src/char/geoip.h2
-rw-r--r--src/char/int_auction.c2
-rw-r--r--src/char/int_auction.h2
-rw-r--r--src/char/int_elemental.h2
-rw-r--r--src/char/int_guild.c6
-rw-r--r--src/char/int_guild.h2
-rw-r--r--src/char/int_homun.h2
-rw-r--r--src/char/int_mail.c14
-rw-r--r--src/char/int_mail.h2
-rw-r--r--src/char/int_mercenary.h2
-rw-r--r--src/char/int_party.h2
-rw-r--r--src/char/int_pet.h2
-rw-r--r--src/char/int_quest.c6
-rw-r--r--src/char/int_quest.h2
-rw-r--r--src/char/int_storage.c4
-rw-r--r--src/char/int_storage.h2
-rw-r--r--src/char/inter.h2
-rw-r--r--src/char/loginif.h2
-rw-r--r--src/char/mapif.h2
-rw-r--r--src/char/pincode.h2
-rw-r--r--src/common/HPM.c5
-rw-r--r--src/common/HPM.h2
-rw-r--r--src/common/cbasetypes.h6
-rw-r--r--src/common/conf.h2
-rw-r--r--src/common/console.c5
-rw-r--r--src/common/console.h7
-rw-r--r--src/common/core.h30
-rw-r--r--src/common/db.h2
-rw-r--r--src/common/des.h4
-rw-r--r--src/common/ers.h2
-rw-r--r--src/common/grfio.h2
-rw-r--r--src/common/malloc.h6
-rw-r--r--src/common/mapindex.h2
-rw-r--r--src/common/md5calc.h2
-rw-r--r--src/common/mutex.h3
-rw-r--r--src/common/nullpo.h2
-rw-r--r--src/common/random.h2
-rw-r--r--src/common/showmsg.h16
-rw-r--r--src/common/socket.h2
-rw-r--r--src/common/spinlock.h5
-rw-r--r--src/common/sql.h12
-rw-r--r--src/common/strlib.h2
-rw-r--r--src/common/sysinfo.h2
-rw-r--r--src/common/thread.c15
-rw-r--r--src/common/thread.h5
-rw-r--r--src/common/timer.h2
-rw-r--r--src/common/utils.c2
-rw-r--r--src/common/utils.h10
-rw-r--r--src/login/HPMlogin.h4
-rw-r--r--src/login/account.h4
-rw-r--r--src/login/ipban.h6
-rw-r--r--src/login/login.h6
-rw-r--r--src/login/loginlog.h3
-rw-r--r--src/map/HPMmap.h4
-rw-r--r--src/map/atcommand.c6
-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.c10
-rw-r--r--src/map/skill.h6
-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
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.Hooks.inc20
95 files changed, 271 insertions, 107 deletions
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.c b/src/char/int_auction.c
index e28240ca6..5d42e6398 100644
--- a/src/char/int_auction.c
+++ b/src/char/int_auction.c
@@ -188,7 +188,7 @@ void inter_auctions_fromsql(void)
StrBuf->Printf(&buf, ",`card%d`", i);
StrBuf->Printf(&buf, " FROM `%s` ORDER BY `auction_id` DESC", auction_db);
- if( SQL_ERROR == SQL->Query(inter->sql_handle, StrBuf->Value(&buf)) )
+ if (SQL_ERROR == SQL->QueryStr(inter->sql_handle, StrBuf->Value(&buf)))
Sql_ShowDebug(inter->sql_handle);
StrBuf->Destroy(&buf);
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.c b/src/char/int_guild.c
index a5623f83d..7af01f883 100644
--- a/src/char/int_guild.c
+++ b/src/char/int_guild.c
@@ -215,7 +215,7 @@ int inter_guild_tosql(struct guild *g,int flag)
StrBuf->Printf(&buf, "`guild_lv`=%d, `skill_point`=%d, `exp`=%"PRIu64", `next_exp`=%u, `max_member`=%d", g->guild_lv, g->skill_point, g->exp, g->next_exp, g->max_member);
}
StrBuf->Printf(&buf, " WHERE `guild_id`=%d", g->guild_id);
- if( SQL_ERROR == SQL->Query(inter->sql_handle, "%s", StrBuf->Value(&buf)) )
+ if( SQL_ERROR == SQL->QueryStr(inter->sql_handle, StrBuf->Value(&buf)) )
Sql_ShowDebug(inter->sql_handle);
StrBuf->Destroy(&buf);
}
@@ -531,7 +531,7 @@ int inter_guild_castle_tosql(struct guild_castle *gc)
for (i = 0; i < MAX_GUARDIANS; ++i)
StrBuf->Printf(&buf, ", `visibleG%d`='%d'", i, gc->guardian[i].visible);
- if (SQL_ERROR == SQL->Query(inter->sql_handle, StrBuf->Value(&buf)))
+ if (SQL_ERROR == SQL->QueryStr(inter->sql_handle, StrBuf->Value(&buf)))
Sql_ShowDebug(inter->sql_handle);
else if(save_log)
ShowInfo("Saved guild castle (%d)\n", gc->castle_id);
@@ -557,7 +557,7 @@ struct guild_castle* inter_guild_castle_fromsql(int castle_id)
for (i = 0; i < MAX_GUARDIANS; ++i)
StrBuf->Printf(&buf, ", `visibleG%d`", i);
StrBuf->Printf(&buf, " FROM `%s` WHERE `castle_id`='%d'", guild_castle_db, castle_id);
- if (SQL_ERROR == SQL->Query(inter->sql_handle, StrBuf->Value(&buf))) {
+ if (SQL_ERROR == SQL->QueryStr(inter->sql_handle, StrBuf->Value(&buf))) {
Sql_ShowDebug(inter->sql_handle);
StrBuf->Destroy(&buf);
return NULL;
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.c b/src/char/int_mail.c
index 2c0a85f33..0e5043e14 100644
--- a/src/char/int_mail.c
+++ b/src/char/int_mail.c
@@ -45,7 +45,7 @@ static int inter_mail_fromsql(int char_id, struct mail_data* md)
StrBuf->Printf(&buf, " FROM `%s` WHERE `dest_id`='%d' AND `status` < 3 ORDER BY `id` LIMIT %d",
mail_db, char_id, MAIL_MAX_INBOX + 1);
- if( SQL_ERROR == SQL->Query(inter->sql_handle, StrBuf->Value(&buf)) )
+ if (SQL_ERROR == SQL->QueryStr(inter->sql_handle, StrBuf->Value(&buf)))
Sql_ShowDebug(inter->sql_handle);
StrBuf->Destroy(&buf);
@@ -160,16 +160,13 @@ static bool inter_mail_loadmessage(int mail_id, struct mail_message* msg)
StrBuf->Printf(&buf, ",`card%d`", j);
StrBuf->Printf(&buf, " FROM `%s` WHERE `id` = '%d'", mail_db, mail_id);
- if( SQL_ERROR == SQL->Query(inter->sql_handle, StrBuf->Value(&buf))
- || SQL_SUCCESS != SQL->NextRow(inter->sql_handle) )
- {
+ if (SQL_ERROR == SQL->QueryStr(inter->sql_handle, StrBuf->Value(&buf))
+ || SQL_SUCCESS != SQL->NextRow(inter->sql_handle)) {
Sql_ShowDebug(inter->sql_handle);
SQL->FreeResult(inter->sql_handle);
StrBuf->Destroy(&buf);
return false;
- }
- else
- {
+ } else {
char* data;
SQL->GetData(inter->sql_handle, 0, &data, NULL); msg->id = atoi(data);
@@ -253,8 +250,7 @@ static bool inter_mail_DeleteAttach(int mail_id)
StrBuf->Printf(&buf, ", `card%d` = '0'", i);
StrBuf->Printf(&buf, " WHERE `id` = '%d'", mail_id);
- if( SQL_ERROR == SQL->Query(inter->sql_handle, StrBuf->Value(&buf)) )
- {
+ if (SQL_ERROR == SQL->QueryStr(inter->sql_handle, StrBuf->Value(&buf))) {
Sql_ShowDebug(inter->sql_handle);
StrBuf->Destroy(&buf);
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.c b/src/char/int_quest.c
index b993cbc14..dd3d4e1bf 100644
--- a/src/char/int_quest.c
+++ b/src/char/int_quest.c
@@ -60,7 +60,7 @@ struct quest *mapif_quests_fromsql(int char_id, int *count)
memset(&tmp_quest, 0, sizeof(struct quest));
- if (SQL_ERROR == SQL->StmtPrepare(stmt, StrBuf->Value(&buf))
+ if (SQL_ERROR == SQL->StmtPrepareStr(stmt, StrBuf->Value(&buf))
|| SQL_ERROR == SQL->StmtBindParam(stmt, 0, SQLDT_INT, &char_id, 0)
|| SQL_ERROR == SQL->StmtExecute(stmt)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 0, SQLDT_INT, &tmp_quest.quest_id, 0, NULL, NULL)
@@ -142,7 +142,7 @@ bool mapif_quest_add(int char_id, struct quest qd)
StrBuf->Printf(&buf, ", '%d'", qd.count[i]);
}
StrBuf->AppendStr(&buf, ")");
- if (SQL_ERROR == SQL->Query(inter->sql_handle, StrBuf->Value(&buf))) {
+ if (SQL_ERROR == SQL->QueryStr(inter->sql_handle, StrBuf->Value(&buf))) {
Sql_ShowDebug(inter->sql_handle);
StrBuf->Destroy(&buf);
return false;
@@ -171,7 +171,7 @@ bool mapif_quest_update(int char_id, struct quest qd)
}
StrBuf->Printf(&buf, " WHERE `quest_id` = '%d' AND `char_id` = '%d'", qd.quest_id, char_id);
- if (SQL_ERROR == SQL->Query(inter->sql_handle, StrBuf->Value(&buf))) {
+ if (SQL_ERROR == SQL->QueryStr(inter->sql_handle, StrBuf->Value(&buf))) {
Sql_ShowDebug(inter->sql_handle);
StrBuf->Destroy(&buf);
return false;
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.c b/src/char/int_storage.c
index d64e11b89..f2dd4d47a 100644
--- a/src/char/int_storage.c
+++ b/src/char/int_storage.c
@@ -51,7 +51,7 @@ int inter_storage_fromsql(int account_id, struct storage_data* p)
StrBuf->Printf(&buf, ",`card%d`", j);
StrBuf->Printf(&buf, " FROM `%s` WHERE `account_id`='%d' ORDER BY `nameid`", storage_db, account_id);
- if( SQL_ERROR == SQL->Query(inter->sql_handle, StrBuf->Value(&buf)) )
+ if (SQL_ERROR == SQL->QueryStr(inter->sql_handle, StrBuf->Value(&buf)))
Sql_ShowDebug(inter->sql_handle);
StrBuf->Destroy(&buf);
@@ -109,7 +109,7 @@ int inter_storage_guild_storage_fromsql(int guild_id, struct guild_storage* p)
StrBuf->Printf(&buf, ",`card%d`", j);
StrBuf->Printf(&buf, " FROM `%s` WHERE `guild_id`='%d' ORDER BY `nameid`", guild_storage_db, guild_id);
- if( SQL_ERROR == SQL->Query(inter->sql_handle, StrBuf->Value(&buf)) )
+ if( SQL_ERROR == SQL->QueryStr(inter->sql_handle, StrBuf->Value(&buf)))
Sql_ShowDebug(inter->sql_handle);
StrBuf->Destroy(&buf);
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 */
diff --git a/src/common/HPM.c b/src/common/HPM.c
index 92b9702d4..c361ad31c 100644
--- a/src/common/HPM.c
+++ b/src/common/HPM.c
@@ -141,8 +141,9 @@ struct hplugin *hplugin_load(const char* filename) {
plugin = HPM->create();
- if( !( plugin->dll = plugin_open(filename) ) ){
- ShowWarning("HPM:plugin_load: failed to load '"CL_WHITE"%s"CL_RESET"', skipping...\n", filename);
+ if (!(plugin->dll = plugin_open(filename))) {
+ char buf[1024];
+ ShowWarning("HPM:plugin_load: failed to load '"CL_WHITE"%s"CL_RESET"' (error: %s), skipping...\n", filename, plugin_geterror(buf));
HPM->unload(plugin);
return NULL;
}
diff --git a/src/common/HPM.h b/src/common/HPM.h
index 4e1aa5beb..973bc6cca 100644
--- a/src/common/HPM.h
+++ b/src/common/HPM.h
@@ -19,6 +19,7 @@
#define plugin_open(x) LoadLibraryA(x)
#define plugin_import(x,y,z) (z)GetProcAddress((x),(y))
#define plugin_close(x) FreeLibrary(x)
+ #define plugin_geterror(buf) (FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, GetLastError(), 0, buf, sizeof(buf), NULL) ? buf : "Unknown error")
#define DLL_EXT ".dll"
#define DLL HINSTANCE
@@ -31,6 +32,7 @@
#endif // RTLD_DEEPBIND
#define plugin_import(x,y,z) (z)dlsym((x),(y))
#define plugin_close(x) dlclose(x)
+ #define plugin_geterror(buf) ((void)buf, dlerror())
#if defined CYGWIN
#define DLL_EXT ".dll"
diff --git a/src/common/cbasetypes.h b/src/common/cbasetypes.h
index df1d364d4..3ff0db795 100644
--- a/src/common/cbasetypes.h
+++ b/src/common/cbasetypes.h
@@ -340,12 +340,6 @@ typedef char bool;
#endif
//////////////////////////////////////////////////////////////////////////
-// number of bits in a byte
-#ifndef NBBY
-#define NBBY 8
-#endif
-
-//////////////////////////////////////////////////////////////////////////
// Additional printf specifiers
#if defined(_MSC_VER)
#define PRIS_PREFIX "I"
diff --git a/src/common/conf.h b/src/common/conf.h
index 9ea5f5b72..bd97d5c1e 100644
--- a/src/common/conf.h
+++ b/src/common/conf.h
@@ -93,6 +93,8 @@ struct libconfig_interface {
struct libconfig_interface *libconfig;
+#ifdef HERCULES_CORE
void libconfig_defaults(void);
+#endif // HERCULES_CORE
#endif // COMMON_CONF_H
diff --git a/src/common/console.c b/src/common/console.c
index 6c5a5c886..0b1b9cf93 100644
--- a/src/common/console.c
+++ b/src/common/console.c
@@ -40,6 +40,11 @@
struct console_interface console_s;
#ifdef CONSOLE_INPUT
struct console_input_interface console_input_s;
+
+struct {
+ char queue[CONSOLE_PARSE_SIZE][MAX_CONSOLE_INPUT];
+ unsigned short count;
+} cinput;
#endif
/*======================================
diff --git a/src/common/console.h b/src/common/console.h
index 062d48bbe..3d3c8e9dd 100644
--- a/src/common/console.h
+++ b/src/common/console.h
@@ -44,11 +44,6 @@ struct CParseEntry {
unsigned short next_count;
};
-struct {
- char queue[CONSOLE_PARSE_SIZE][MAX_CONSOLE_INPUT];
- unsigned short count;
-} cinput;
-
#ifdef CONSOLE_INPUT
struct console_input_interface {
/* vars */
@@ -91,6 +86,8 @@ struct console_interface {
struct console_interface *console;
+#ifdef HERCULES_CORE
void console_defaults(void);
+#endif // HERCULES_CORE
#endif /* COMMON_CONSOLE_H */
diff --git a/src/common/core.h b/src/common/core.h
index a8337e1b9..025f636e9 100644
--- a/src/common/core.h
+++ b/src/common/core.h
@@ -13,15 +13,8 @@
# include <signal.h>
#endif
-extern int arg_c;
-extern char **arg_v;
-
#define HERC_UNKNOWN_VER '\x02'
-/// @see E_CORE_ST
-extern int runflag;
-extern char *SERVER_NAME;
-
enum server_types {
SERVER_TYPE_UNKNOWN = 0x0,
SERVER_TYPE_LOGIN = 0x1,
@@ -29,13 +22,6 @@ enum server_types {
SERVER_TYPE_MAP = 0x4,
};
-enum server_types SERVER_TYPE;
-
-extern int do_init(int,char**);
-extern void set_server_type(void);
-extern void do_abort(void);
-extern int do_final(void);
-
/// The main loop continues until runflag is CORE_ST_STOP
enum E_CORE_ST {
CORE_ST_STOP = 0,
@@ -43,8 +29,24 @@ enum E_CORE_ST {
CORE_ST_LAST
};
+#ifdef HERCULES_CORE
+extern int arg_c;
+extern char **arg_v;
+
+/// @see E_CORE_ST
+extern int runflag;
+extern char *SERVER_NAME;
+
+enum server_types SERVER_TYPE;
+
+extern int do_init(int,char**);
+extern void set_server_type(void);
+extern void do_abort(void);
+extern int do_final(void);
+
/// Called when a terminate signal is received. (Ctrl+C pressed)
/// If NULL, runflag is set to CORE_ST_STOP instead.
extern void (*shutdown_callback)(void);
+#endif // HERCULES_CORE
#endif /* COMMON_CORE_H */
diff --git a/src/common/db.h b/src/common/db.h
index 88265c3e8..cd61e1543 100644
--- a/src/common/db.h
+++ b/src/common/db.h
@@ -929,6 +929,7 @@ struct linkdb_node {
typedef void (*LinkDBFunc)(void* key, void* data, va_list args);
+#ifdef HERCULES_CORE
void linkdb_insert (struct linkdb_node** head, void *key, void* data); // Doesn't take into account duplicate keys
void linkdb_replace (struct linkdb_node** head, void *key, void* data); // Takes into account duplicate keys
void* linkdb_search (struct linkdb_node** head, void *key);
@@ -936,6 +937,7 @@ void* linkdb_erase (struct linkdb_node** head, void *key);
void linkdb_final (struct linkdb_node** head);
void linkdb_vforeach(struct linkdb_node** head, LinkDBFunc func, va_list ap);
void linkdb_foreach (struct linkdb_node** head, LinkDBFunc func, ...);
+#endif // HERCULES_CORE
diff --git a/src/common/des.h b/src/common/des.h
index 2c7190f23..9e6aec4fd 100644
--- a/src/common/des.h
+++ b/src/common/des.h
@@ -8,9 +8,9 @@
/// One 64-bit block.
typedef struct BIT64 { uint8_t b[8]; } BIT64;
-
+#ifdef HERCULES_CORE
void des_decrypt_block(BIT64* block);
void des_decrypt(unsigned char* data, size_t size);
-
+#endif // HERCULES_CORE
#endif // COMMON_DES_H
diff --git a/src/common/ers.h b/src/common/ers.h
index 8c56118ae..85ddfed7a 100644
--- a/src/common/ers.h
+++ b/src/common/ers.h
@@ -148,6 +148,7 @@ typedef struct eri {
# define ers_destroy(obj) ((obj)->destroy(obj))
# define ers_chunk_size(obj,size) ((obj)->chunk_size((obj),(size)))
+#ifdef HERCULES_CORE
/**
* Get a new instance of the manager that handles the specified entry size.
* Size has to greater than 0.
@@ -173,6 +174,7 @@ void ers_report(void);
* Clears the remainder of the managers
**/
void ers_final(void);
+#endif // HERCULES_CORE
#endif /* DISABLE_ERS / not DISABLE_ERS */
#endif /* COMMON_ERS_H */
diff --git a/src/common/grfio.h b/src/common/grfio.h
index 15659c17c..adffe0990 100644
--- a/src/common/grfio.h
+++ b/src/common/grfio.h
@@ -4,6 +4,7 @@
#ifndef COMMON_GRFIO_H
#define COMMON_GRFIO_H
+#ifdef HERCULES_CORE
void grfio_init(const char* fname);
void grfio_final(void);
void* grfio_reads(const char* fname, int* size);
@@ -13,5 +14,6 @@ char* grfio_find_file(const char* fname);
unsigned long grfio_crc32(const unsigned char *buf, unsigned int len);
int decode_zip(void* dest, unsigned long* destLen, const void* source, unsigned long sourceLen);
int encode_zip(void* dest, unsigned long* destLen, const void* source, unsigned long sourceLen);
+#endif // HERCULES_CORE
#endif /* COMMON_GRFIO_H */
diff --git a/src/common/malloc.h b/src/common/malloc.h
index 53d2ebdd2..bc79ac65a 100644
--- a/src/common/malloc.h
+++ b/src/common/malloc.h
@@ -65,8 +65,12 @@
//void malloc_init (void);
//void malloc_final (void);
+#ifdef HERCULES_CORE
void malloc_defaults(void);
+void memmgr_report(int extra);
+#endif // HERCULES_CORE
+
struct malloc_interface {
void (*init) (void);
void (*final) (void);
@@ -85,7 +89,5 @@ struct malloc_interface {
void (*post_shutdown) (void);
};
-void memmgr_report (int extra);
-
struct malloc_interface *iMalloc;
#endif /* COMMON_MALLOC_H */
diff --git a/src/common/mapindex.h b/src/common/mapindex.h
index 8e552261a..87a275f57 100644
--- a/src/common/mapindex.h
+++ b/src/common/mapindex.h
@@ -96,6 +96,8 @@ struct mapindex_interface {
struct mapindex_interface *mapindex;
+#ifdef HERCULES_CORE
void mapindex_defaults(void);
+#endif // HERCULES_CORE
#endif /* COMMON_MAPINDEX_H */
diff --git a/src/common/md5calc.h b/src/common/md5calc.h
index 740e2edcc..f06a01f4d 100644
--- a/src/common/md5calc.h
+++ b/src/common/md5calc.h
@@ -1,8 +1,10 @@
#ifndef COMMON_MD5CALC_H
#define COMMON_MD5CALC_H
+#ifdef HERCULES_CORE
void MD5_String(const char * string, char * output);
void MD5_Binary(const char * string, unsigned char * output);
void MD5_Salt(unsigned int len, char * output);
+#endif // HERCULES_CORE
#endif /* COMMON_MD5CALC_H */
diff --git a/src/common/mutex.h b/src/common/mutex.h
index d298c05af..fa8170c98 100644
--- a/src/common/mutex.h
+++ b/src/common/mutex.h
@@ -9,6 +9,7 @@
typedef struct ramutex ramutex; // Mutex
typedef struct racond racond; // Condition Var
+#ifdef HERCULES_CORE
/**
* Creates a Mutex
*
@@ -88,6 +89,6 @@ void racond_signal(racond *c);
* All Waiters getting notified.
*/
void racond_broadcast(racond *c);
-
+#endif // HERCULES_CORE
#endif /* COMMON_MUTEX_H */
diff --git a/src/common/nullpo.h b/src/common/nullpo.h
index 581252cca..407f45403 100644
--- a/src/common/nullpo.h
+++ b/src/common/nullpo.h
@@ -123,6 +123,8 @@
if (Assert_chk(t)) break; else (void)0
+#ifdef HERCULES_CORE
void assert_report(const char *file, int line, const char *func, const char *targetname, const char *title);
+#endif // HERCULES_CORE
#endif /* COMMON_NULLPO_H */
diff --git a/src/common/random.h b/src/common/random.h
index 15d7f8ab1..0ca375d28 100644
--- a/src/common/random.h
+++ b/src/common/random.h
@@ -6,6 +6,7 @@
#include "../common/cbasetypes.h"
+#ifdef HERCULES_CORE
void rnd_init(void);
void rnd_seed(uint32);
@@ -14,5 +15,6 @@ uint32 rnd_roll(uint32 dice_faces);// [0, dice_faces)
int32 rnd_value(int32 min, int32 max);// [min, max]
double rnd_uniform(void);// [0.0, 1.0)
double rnd_uniform53(void);// [0.0, 1.0)
+#endif // HERCULES_CORE
#endif /* COMMON_RANDOM_H */
diff --git a/src/common/showmsg.h b/src/common/showmsg.h
index f3fb50257..48e763c25 100644
--- a/src/common/showmsg.h
+++ b/src/common/showmsg.h
@@ -76,11 +76,6 @@
#define CL_SPACE " " // space equivalent of the print messages
-extern int stdout_with_ansisequence; //If the color ANSI sequences are to be used. [flaviojs]
-extern int msg_silent; //Specifies how silent the console is. [Skotlex]
-extern int console_msg_log; //Specifies what error messages to log. [Ind]
-extern char timestamp_format[20]; //For displaying Timestamps [Skotlex]
-
enum msg_type {
MSG_NONE,
MSG_STATUS,
@@ -93,8 +88,15 @@ enum msg_type {
MSG_FATALERROR
};
-extern void ClearScreen(void);
#ifdef HERCULES_CORE
+extern int stdout_with_ansisequence; //If the color ANSI sequences are to be used. [flaviojs]
+extern int msg_silent; //Specifies how silent the console is. [Skotlex]
+extern int console_msg_log; //Specifies what error messages to log. [Ind]
+extern char timestamp_format[20]; //For displaying Timestamps [Skotlex]
+
+extern void ClearScreen(void);
+extern int vShowMessage_(enum msg_type flag, const char *string, va_list ap);
+
extern void ShowMessage(const char *, ...) __attribute__((format(printf, 1, 2)));
extern void ShowStatus(const char *, ...) __attribute__((format(printf, 1, 2)));
extern void ShowSQL(const char *, ...) __attribute__((format(printf, 1, 2)));
@@ -117,6 +119,4 @@ extern void ClearScreen(void);
HPExport void (*ShowFatalError) (const char *, ...) __attribute__((format(printf, 1, 2)));
#endif
-extern int vShowMessage_(enum msg_type flag, const char *string, va_list ap);
-
#endif /* COMMON_SHOWMSG_H */
diff --git a/src/common/socket.h b/src/common/socket.h
index b9c562a29..6323a6862 100644
--- a/src/common/socket.h
+++ b/src/common/socket.h
@@ -171,7 +171,9 @@ struct socket_interface {
struct socket_interface *sockt;
+#ifdef HERCULES_CORE
void socket_defaults(void);
+#endif // HERCULES_CORE
/* the purpose of these macros is simply to not make calling them be an annoyance */
#ifndef H_SOCKET_C
diff --git a/src/common/spinlock.h b/src/common/spinlock.h
index 85a78ed33..413067b68 100644
--- a/src/common/spinlock.h
+++ b/src/common/spinlock.h
@@ -39,7 +39,7 @@ typedef struct SPIN_LOCK{
#endif
-
+#ifdef HERCULES_CORE
static forceinline void InitializeSpinLock(SPIN_LOCK *lck){
lck->lock = 0;
lck->nest = 0;
@@ -93,7 +93,6 @@ static forceinline void LeaveSpinLock(SPIN_LOCK *lck){
dropsynclock(&lck->sync_lock);
}
-
-
+#endif // HERCULES_CORE
#endif /* COMMON_SPINLOCK_H */
diff --git a/src/common/sql.h b/src/common/sql.h
index 9a79b3f33..c3598273e 100644
--- a/src/common/sql.h
+++ b/src/common/sql.h
@@ -271,17 +271,21 @@ struct sql_interface {
struct sql_interface *SQL;
+#ifdef HERCULES_CORE
void sql_defaults(void);
+void Sql_Init(void);
+
+void Sql_HerculesUpdateCheck(Sql* self);
+void Sql_HerculesUpdateSkip(Sql* self,const char *filename);
+#endif // HERCULES_CORE
+
#if defined(SQL_REMOVE_SHOWDEBUG)
#define Sql_ShowDebug(self) (void)0
#else
#define Sql_ShowDebug(self) (SQL->ShowDebug_((self), __FILE__, __LINE__))
#endif
-void Sql_HerculesUpdateCheck(Sql* self);
-void Sql_HerculesUpdateSkip(Sql* self,const char *filename);
-
#if defined(SQL_REMOVE_SHOWDEBUG)
#define SqlStmt_ShowDebug(self) (void)0
#else
@@ -289,6 +293,4 @@ void Sql_HerculesUpdateSkip(Sql* self,const char *filename);
#define SqlStmt_ShowDebug(self) (SQL->StmtShowDebug_((self), __FILE__, __LINE__))
#endif
-void Sql_Init(void);
-
#endif /* COMMON_SQL_H */
diff --git a/src/common/strlib.h b/src/common/strlib.h
index 0c596cb8f..c687d9e17 100644
--- a/src/common/strlib.h
+++ b/src/common/strlib.h
@@ -156,7 +156,9 @@ struct sv_interface {
struct sv_interface *sv;
+#ifdef HERCULES_CORE
void strlib_defaults(void);
+#endif // HERCULES_CORE
/* the purpose of these macros is simply to not make calling them be an annoyance */
#ifndef H_STRLIB_C
diff --git a/src/common/sysinfo.h b/src/common/sysinfo.h
index 600206a21..70f665071 100644
--- a/src/common/sysinfo.h
+++ b/src/common/sysinfo.h
@@ -46,6 +46,8 @@ struct sysinfo_interface {
struct sysinfo_interface *sysinfo;
+#ifdef HERCULES_CORE
void sysinfo_defaults(void);
+#endif // HERCULES_CORE
#endif /* COMMON_SYSINFO_H */
diff --git a/src/common/thread.c b/src/common/thread.c
index a00bd6333..95212b4b0 100644
--- a/src/common/thread.c
+++ b/src/common/thread.c
@@ -10,10 +10,7 @@
#include "thread.h"
-#include "../common/sysinfo.h" // sysinfo->getpagesize()
#include "../common/cbasetypes.h"
-#include "../common/malloc.h"
-#include "../common/showmsg.h"
#ifdef WIN32
# include "../common/winapi.h"
@@ -27,6 +24,10 @@
# include <unistd.h>
#endif
+#include "../common/malloc.h"
+#include "../common/showmsg.h"
+#include "../common/sysinfo.h" // sysinfo->getpagesize()
+
// When Compiling using MSC (on win32..) we know we have support in any case!
#ifdef _MSC_VER
#define HAS_TLS
@@ -122,10 +123,10 @@ static void *raThreadMainRedirector( void *p ){
// the threads inherits the Signal mask from the thread which spawned
// this thread
// so we've to block everything we don't care about.
- sigemptyset(&set);
- sigaddset(&set, SIGINT);
- sigaddset(&set, SIGTERM);
- sigaddset(&set, SIGPIPE);
+ (void)sigemptyset(&set);
+ (void)sigaddset(&set, SIGINT);
+ (void)sigaddset(&set, SIGTERM);
+ (void)sigaddset(&set, SIGPIPE);
pthread_sigmask(SIG_BLOCK, &set, NULL);
diff --git a/src/common/thread.h b/src/common/thread.h
index f00e7290d..f79eb77f9 100644
--- a/src/common/thread.h
+++ b/src/common/thread.h
@@ -16,6 +16,7 @@ typedef enum RATHREAD_PRIO {
} RATHREAD_PRIO;
+#ifdef HERCULES_CORE
/**
* Creates a new Thread
*
@@ -109,10 +110,8 @@ RATHREAD_PRIO rathread_prio_get(rAthread *handle);
*/
void rathread_yield(void);
-
-
void rathread_init(void);
void rathread_final(void);
-
+#endif // HERCULES_CORE
#endif /* COMMON_THREAD_H */
diff --git a/src/common/timer.h b/src/common/timer.h
index d0927adde..6e8a72389 100644
--- a/src/common/timer.h
+++ b/src/common/timer.h
@@ -65,6 +65,8 @@ struct timer_interface {
struct timer_interface *timer;
+#ifdef HERCULES_CORE
void timer_defaults(void);
+#endif // HERCULES_CORE
#endif /* COMMON_TIMER_H */
diff --git a/src/common/utils.c b/src/common/utils.c
index f4e261222..5688362de 100644
--- a/src/common/utils.c
+++ b/src/common/utils.c
@@ -198,7 +198,7 @@ void findfile(const char *p, const char *pat, void (func)(const char*))
sprintf(tmppath,"%s%c%s",path, PATHSEP, entry->d_name);
// check if the pattern matches.
- if (entry->d_name && strstr(entry->d_name, pattern)) {
+ if (strstr(entry->d_name, pattern)) {
func( tmppath );
}
// check if it is a directory.
diff --git a/src/common/utils.h b/src/common/utils.h
index 421698d95..e6102f184 100644
--- a/src/common/utils.h
+++ b/src/common/utils.h
@@ -13,6 +13,10 @@
/* [HCache] 1-byte key to ensure our method is the latest, we can modify to ensure the method matches */
#define HCACHE_KEY 'k'
+//Caps values to min/max
+#define cap_value(a, min, max) (((a) >= (max)) ? (max) : ((a) <= (min)) ? (min) : (a))
+
+#ifdef HERCULES_CORE
// generate a hex dump of the first 'length' bytes of 'buffer'
void WriteDump(FILE* fp, const void* buffer, size_t length);
void ShowDump(const void* buffer, size_t length);
@@ -20,9 +24,6 @@ void ShowDump(const void* buffer, size_t length);
void findfile(const char *p, const char *pat, void (func)(const char*));
bool exists(const char* filename);
-//Caps values to min/max
-#define cap_value(a, min, max) (((a) >= (max)) ? (max) : ((a) <= (min)) ? (min) : (a))
-
/// calculates the value of A / B, in percent (rounded down)
unsigned int get_percentage(const unsigned int A, const unsigned int B);
@@ -49,6 +50,7 @@ extern float GetFloat(const unsigned char* buf);
size_t hread(void * ptr, size_t size, size_t count, FILE * stream);
size_t hwrite(const void * ptr, size_t size, size_t count, FILE * stream);
+#endif // HERCULES_CORE
/* [Ind/Hercules] Caching */
struct HCache_interface {
@@ -63,6 +65,8 @@ struct HCache_interface {
struct HCache_interface *HCache;
+#ifdef HERCULES_CORE
void HCache_defaults(void);
+#endif // HERCULES_CORE
#endif /* COMMON_UTILS_H */
diff --git a/src/login/HPMlogin.h b/src/login/HPMlogin.h
index 6bdc0fb7b..6e01eae01 100644
--- a/src/login/HPMlogin.h
+++ b/src/login/HPMlogin.h
@@ -4,6 +4,10 @@
#ifndef LOGIN_HPMLOGIN_H
#define LOGIN_HPMLOGIN_H
+#ifndef HERCULES_CORE
+#error You should never include HPMlogin.h from a plugin.
+#endif
+
#include "../common/cbasetypes.h"
#include "../common/HPM.h"
diff --git a/src/login/account.h b/src/login/account.h
index fb7368d69..82ae28bbb 100644
--- a/src/login/account.h
+++ b/src/login/account.h
@@ -13,8 +13,10 @@ typedef struct AccountDB AccountDB;
typedef struct AccountDBIterator AccountDBIterator;
+#ifdef HERCULES_CORE
// standard engines
AccountDB* account_db_sql(void);
+#endif // HERCULES_CORE
struct mmo_account
{
@@ -139,9 +141,11 @@ struct AccountDB
AccountDBIterator* (*iterator)(AccountDB* self);
};
+#ifdef HERCULES_CORE
Sql *account_db_sql_up(AccountDB* self);
void mmo_send_accreg2(AccountDB* self, int fd, int account_id, int char_id);
void mmo_save_accreg2(AccountDB* self, int fd, int account_id, int char_id);
+#endif // HERCULES_CORE
#endif /* LOGIN_ACCOUNT_H */
diff --git a/src/login/ipban.h b/src/login/ipban.h
index b4f3ac51b..c6535ec10 100644
--- a/src/login/ipban.h
+++ b/src/login/ipban.h
@@ -6,6 +6,8 @@
#include "../common/cbasetypes.h"
+#ifdef HERCULES_CORE
+// TODO: Interface
// initialize
void ipban_init(void);
@@ -19,7 +21,7 @@ bool ipban_check(uint32 ip);
void ipban_log(uint32 ip);
// parses configuration option
-bool ipban_config_read(const char* key, const char* value);
-
+bool ipban_config_read(const char *key, const char* value);
+#endif // HERCULES_CORE
#endif /* LOGIN_IPBAN_H */
diff --git a/src/login/login.h b/src/login/login.h
index 4c9bbd8b7..8a377927b 100644
--- a/src/login/login.h
+++ b/src/login/login.h
@@ -23,7 +23,7 @@ enum E_LOGINSERVER_ST
// supported encryption types: 1- passwordencrypt, 2- passwordencrypt2, 3- both
#define PASSWORDENC 3
-#define PASSWD_LEN 32+1 // 23+1 for plaintext, 32+1 for md5-ed passwords
+#define PASSWD_LEN (32+1) // 23+1 for plaintext, 32+1 for md5-ed passwords
struct login_session_data {
int account_id;
@@ -130,8 +130,10 @@ struct online_login_data {
#define sex_str2num(str) ( ((str) == 'F') ? SEX_FEMALE : ((str) == 'M') ? SEX_MALE : SEX_SERVER )
#define MAX_SERVERS 30
+#ifdef HERCULES_CORE
extern struct mmo_char_server server[MAX_SERVERS];
extern struct Login_Config login_config;
+#endif // HERCULES_CORE
/**
* Login.c Interface
@@ -202,6 +204,8 @@ struct login_interface {
struct login_interface *login;
+#ifdef HERCULES_CORE
void login_defaults(void);
+#endif // HERCULES_CORE
#endif /* LOGIN_LOGIN_H */
diff --git a/src/login/loginlog.h b/src/login/loginlog.h
index 52e18f3d1..2104ff277 100644
--- a/src/login/loginlog.h
+++ b/src/login/loginlog.h
@@ -6,10 +6,13 @@
#include "../common/cbasetypes.h"
+#ifdef HERCULES_CORE
+// TODO: Interface
unsigned long loginlog_failedattempts(uint32 ip, unsigned int minutes);
void login_log(uint32 ip, const char* username, int rcode, const char* message);
bool loginlog_init(void);
bool loginlog_final(void);
bool loginlog_config_read(const char* w1, const char* w2);
+#endif // HERCULES_CORE
#endif /* LOGIN_LOGINLOG_H */
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.c b/src/map/atcommand.c
index 215ecbc70..56dd5784c 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -626,9 +626,9 @@ ACMD(who) {
if (map_id < 0) {
if (count == 0)
- StrBuf->Printf(&buf, msg_txt(28)); // No player found.
+ StrBuf->AppendStr(&buf, msg_txt(28)); // No player found.
else if (count == 1)
- StrBuf->Printf(&buf, msg_txt(29)); // 1 player found.
+ StrBuf->AppendStr(&buf, msg_txt(29)); // 1 player found.
else
StrBuf->Printf(&buf, msg_txt(30), count); // %d players found.
} else {
@@ -5979,7 +5979,7 @@ ACMD(mobsearch)
clif->message(fd, atcmd_output);
return false;
}
- if(mob_id == atoi(mob_name) && mob->db(mob_id)->jname)
+ if (mob_id == atoi(mob_name))
strcpy(mob_name,mob->db(mob_id)->jname); // --ja--
//strcpy(mob_name,mob_db(mob_id)->name); // --en--
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.c b/src/map/skill.c
index db675d7f4..53be5541c 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -3152,7 +3152,7 @@ int skill_area_sub_count(struct block_list *src, struct block_list *target, uint
*
*------------------------------------------*/
int skill_timerskill(int tid, int64 tick, int id, intptr_t data) {
- struct block_list *src = map->id2bl(id),*target;
+ struct block_list *src = map->id2bl(id),*target = NULL;
struct unit_data *ud = unit->bl2ud(src);
struct skill_timerskill *skl;
int range;
@@ -3382,7 +3382,7 @@ int skill_timerskill(int tid, int64 tick, int id, intptr_t data) {
skill->get_type(skl->skill_id),src,src,skl->skill_id,skl->skill_lv,tick,skl->flag,BCT_ENEMY);
break;
default:
- skill->timerskill_notarget_unknown(tid, tick, src, target, ud, skl);
+ skill->timerskill_notarget_unknown(tid, tick, src, ud, skl);
break;
}
}
@@ -3402,7 +3402,7 @@ void skill_timerskill_target_unknown(int tid, int64 tick, struct block_list *src
skill->attack(skl->type, src, src, target, skl->skill_id, skl->skill_lv, tick, skl->flag);
}
-void skill_timerskill_notarget_unknown(int tid, int64 tick, struct block_list *src, struct block_list *target, struct unit_data *ud, struct skill_timerskill *skl)
+void skill_timerskill_notarget_unknown(int tid, int64 tick, struct block_list *src, struct unit_data *ud, struct skill_timerskill *skl)
{
}
@@ -14552,9 +14552,9 @@ bool skill_get_requirement_off_unknown(struct status_change *sc, uint16 *skill_i
return false;
}
-int skill_get_requirement_item_unknown(struct status_change *sc, struct map_session_data* sd, uint16 *skill_id, uint16 *skill_lv, uint16 *idx, int *i)
+bool skill_get_requirement_item_unknown(struct status_change *sc, struct map_session_data* sd, uint16 *skill_id, uint16 *skill_lv, uint16 *idx, int *i)
{
- return -1;
+ return false;
}
void skill_get_requirement_unknown(struct status_change *sc, struct map_session_data* sd, uint16 *skill_id, uint16 *skill_lv, struct skill_condition *req)
diff --git a/src/map/skill.h b/src/map/skill.h
index 6cb43405f..31a268971 100644
--- a/src/map/skill.h
+++ b/src/map/skill.h
@@ -2055,7 +2055,7 @@ struct skill_interface {
void (*attack_post_unknown) (int *attack_type, struct block_list* src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
bool (*timerskill_dead_unknown) (struct block_list *src, struct unit_data *ud, struct skill_timerskill *skl);
void (*timerskill_target_unknown) (int tid, int64 tick, struct block_list *src, struct block_list *target, struct unit_data *ud, struct skill_timerskill *skl);
- void (*timerskill_notarget_unknown) (int tid, int64 tick, struct block_list *src, struct block_list *target, struct unit_data *ud, struct skill_timerskill *skl);
+ void (*timerskill_notarget_unknown) (int tid, int64 tick, struct block_list *src, struct unit_data *ud, struct skill_timerskill *skl);
bool (*cleartimerskill_exception) (int skill_id);
bool (*castend_id_unknown) (struct unit_data *ud, struct block_list *src, struct block_list *target);
bool (*castend_nodamage_id_dead_unknown) (struct block_list *src, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
@@ -2073,12 +2073,14 @@ struct skill_interface {
int (*check_condition_castbegin_unknown) (struct status_change *sc, uint16 *skill_id);
void (*check_condition_castend_unknown) (struct map_session_data* sd, uint16 *skill_id, uint16 *skill_lv);
bool (*get_requirement_off_unknown) (struct status_change *sc, uint16 *skill_id);
- int (*get_requirement_item_unknown) (struct status_change *sc, struct map_session_data* sd, uint16 *skill_id, uint16 *skill_lv, uint16 *idx, int *i);
+ bool (*get_requirement_item_unknown) (struct status_change *sc, struct map_session_data* sd, uint16 *skill_id, uint16 *skill_lv, uint16 *idx, int *i);
void (*get_requirement_unknown) (struct status_change *sc, struct map_session_data* sd, uint16 *skill_id, uint16 *skill_lv, struct skill_condition *req);
};
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 */
diff --git a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
index e4e87abb9..28108eea6 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
@@ -63811,14 +63811,14 @@ void HP_skill_timerskill_target_unknown(int tid, int64 tick, struct block_list *
}
return;
}
-void HP_skill_timerskill_notarget_unknown(int tid, int64 tick, struct block_list *src, struct block_list *target, struct unit_data *ud, struct skill_timerskill *skl) {
+void HP_skill_timerskill_notarget_unknown(int tid, int64 tick, struct block_list *src, struct unit_data *ud, struct skill_timerskill *skl) {
int hIndex = 0;
if( HPMHooks.count.HP_skill_timerskill_notarget_unknown_pre ) {
- void (*preHookFunc) (int *tid, int64 *tick, struct block_list *src, struct block_list *target, struct unit_data *ud, struct skill_timerskill *skl);
+ void (*preHookFunc) (int *tid, int64 *tick, struct block_list *src, struct unit_data *ud, struct skill_timerskill *skl);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_timerskill_notarget_unknown_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_skill_timerskill_notarget_unknown_pre[hIndex].func;
- preHookFunc(&tid, &tick, src, target, ud, skl);
+ preHookFunc(&tid, &tick, src, ud, skl);
}
if( *HPMforce_return ) {
*HPMforce_return = false;
@@ -63826,13 +63826,13 @@ void HP_skill_timerskill_notarget_unknown(int tid, int64 tick, struct block_list
}
}
{
- HPMHooks.source.skill.timerskill_notarget_unknown(tid, tick, src, target, ud, skl);
+ HPMHooks.source.skill.timerskill_notarget_unknown(tid, tick, src, ud, skl);
}
if( HPMHooks.count.HP_skill_timerskill_notarget_unknown_post ) {
- void (*postHookFunc) (int *tid, int64 *tick, struct block_list *src, struct block_list *target, struct unit_data *ud, struct skill_timerskill *skl);
+ void (*postHookFunc) (int *tid, int64 *tick, struct block_list *src, struct unit_data *ud, struct skill_timerskill *skl);
for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_timerskill_notarget_unknown_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_skill_timerskill_notarget_unknown_post[hIndex].func;
- postHookFunc(&tid, &tick, src, target, ud, skl);
+ postHookFunc(&tid, &tick, src, ud, skl);
}
}
return;
@@ -64291,11 +64291,11 @@ bool HP_skill_get_requirement_off_unknown(struct status_change *sc, uint16 *skil
}
return retVal___;
}
-int HP_skill_get_requirement_item_unknown(struct status_change *sc, struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv, uint16 *idx, int *i) {
+bool HP_skill_get_requirement_item_unknown(struct status_change *sc, struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv, uint16 *idx, int *i) {
int hIndex = 0;
- int retVal___ = 0;
+ bool retVal___ = false;
if( HPMHooks.count.HP_skill_get_requirement_item_unknown_pre ) {
- int (*preHookFunc) (struct status_change *sc, struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv, uint16 *idx, int *i);
+ bool (*preHookFunc) (struct status_change *sc, struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv, uint16 *idx, int *i);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_get_requirement_item_unknown_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_skill_get_requirement_item_unknown_pre[hIndex].func;
@@ -64310,7 +64310,7 @@ int HP_skill_get_requirement_item_unknown(struct status_change *sc, struct map_s
retVal___ = HPMHooks.source.skill.get_requirement_item_unknown(sc, sd, skill_id, skill_lv, idx, i);
}
if( HPMHooks.count.HP_skill_get_requirement_item_unknown_post ) {
- int (*postHookFunc) (int retVal___, struct status_change *sc, struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv, uint16 *idx, int *i);
+ bool (*postHookFunc) (bool retVal___, struct status_change *sc, struct map_session_data *sd, uint16 *skill_id, uint16 *skill_lv, uint16 *idx, int *i);
for(hIndex = 0; hIndex < HPMHooks.count.HP_skill_get_requirement_item_unknown_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_skill_get_requirement_item_unknown_post[hIndex].func;
retVal___ = postHookFunc(retVal___, sc, sd, skill_id, skill_lv, idx, i);