summaryrefslogtreecommitdiff
path: root/src/map/itemdb.c
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2013-08-27 08:08:34 +0200
committerHaru <haru@dotalux.com>2013-11-05 04:17:39 +0100
commit97001710c06ed7053d18c8baaac602eb563b64b3 (patch)
treea4f08884917a5934e9b7ba66b39cd5e25db92e54 /src/map/itemdb.c
parent0a5abb6de766be6a5068da08eb6477e343f2d7b3 (diff)
downloadhercules-97001710c06ed7053d18c8baaac602eb563b64b3.tar.gz
hercules-97001710c06ed7053d18c8baaac602eb563b64b3.tar.bz2
hercules-97001710c06ed7053d18c8baaac602eb563b64b3.tar.xz
hercules-97001710c06ed7053d18c8baaac602eb563b64b3.zip
Introducing the Hercules Standalone Script Syntax Checker
- Added a command line argument '--script-check' to check a script's syntax without running the server (and without requiring a SQL connection). Usage: ./map-server --script-check /path/to/the/script.txt - For convenience, a script-checker bash script is provided, to set the path correctly when called from a different directory. Usage: /path/to/Hercules/script-checker /path/to/the/script/to/check.txt - While the script checker will supposedly work under windows as well, no convenience scripts are currently provided for platforms other than UNIX (feel free to open a pull request with a .bat launcher or whatever you like) - Integration with IDEs or text editors is possible. In fact, I already have a fully functional plugin for vim (through vim-syntastic), and if there's enough interest, I'll publish it. - screenshot: http://d.pr/i/NOBD - If you want an online checker, http://haru.ws/scriptchecker/ is running this code, without modifications and will be kept up to date (without any warranty though.) - Special thanks to Ind, Yommy, Streusel, who helped making this possible, in a way or another.
Diffstat (limited to 'src/map/itemdb.c')
-rw-r--r--src/map/itemdb.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/map/itemdb.c b/src/map/itemdb.c
index 3fc8d526b..e29b74cd4 100644
--- a/src/map/itemdb.c
+++ b/src/map/itemdb.c
@@ -1927,7 +1927,7 @@ int itemdb_uid_load() {
/*====================================
* read all item-related databases
*------------------------------------*/
-void itemdb_read(void) {
+void itemdb_read(bool minimal) {
int i;
DBData prev;
@@ -1945,6 +1945,9 @@ void itemdb_read(void) {
}
}
+ if (minimal)
+ return;
+
itemdb->read_combos();
itemdb->read_groups();
itemdb->read_chains();
@@ -2065,7 +2068,7 @@ void itemdb_reload(void) {
db_clear(itemdb->names);
// read new data
- itemdb->read();
+ itemdb->read(false);
//Epoque's awesome @reloaditemdb fix - thanks! [Ind]
//- Fixes the need of a @reloadmobdb after a @reloaditemdb to re-link monster drop data
@@ -2174,12 +2177,16 @@ void do_final_itemdb(void) {
db_destroy(itemdb->names);
}
-void do_init_itemdb(void) {
+void do_init_itemdb(bool minimal) {
memset(itemdb->array, 0, sizeof(itemdb->array));
itemdb->other = idb_alloc(DB_OPT_BASE);
itemdb->names = strdb_alloc(DB_OPT_BASE,ITEM_NAME_LENGTH);
itemdb->create_dummy_data(); //Dummy data item.
- itemdb->read();
+ itemdb->read(minimal);
+
+ if (minimal)
+ return;
+
clif->cashshop_load();
}
void itemdb_defaults(void) {