diff options
author | shennetsind <ind@henn.et> | 2014-11-03 08:15:05 -0200 |
---|---|---|
committer | shennetsind <ind@henn.et> | 2014-11-03 08:15:05 -0200 |
commit | bee4c9d36f4a27e39cc76dc5d6c5f876ed44a678 (patch) | |
tree | 79f9aec5171e8aed2d701bf67167f260e05f41db /src/char | |
parent | 239d480487e24294975f35ed55f210837ad1088e (diff) | |
parent | ce3f4bfbe016ea69c855146667ba9bd9e0e2e221 (diff) | |
download | hercules-bee4c9d36f4a27e39cc76dc5d6c5f876ed44a678.tar.gz hercules-bee4c9d36f4a27e39cc76dc5d6c5f876ed44a678.tar.bz2 hercules-bee4c9d36f4a27e39cc76dc5d6c5f876ed44a678.tar.xz hercules-bee4c9d36f4a27e39cc76dc5d6c5f876ed44a678.zip |
Merge branch 'master' of github.com:HerculesWS/Hercules
Signed-off-by: shennetsind <ind@henn.et>
Conflicts:
src/map/battle.c
Diffstat (limited to 'src/char')
-rw-r--r-- | src/char/HPMchar.c | 53 | ||||
-rw-r--r-- | src/char/HPMchar.h | 21 | ||||
-rw-r--r-- | src/char/Makefile.in | 12 | ||||
-rw-r--r-- | src/char/char.c | 33 | ||||
-rw-r--r-- | src/char/inter.c | 2 |
5 files changed, 112 insertions, 9 deletions
diff --git a/src/char/HPMchar.c b/src/char/HPMchar.c new file mode 100644 index 000000000..4b153b244 --- /dev/null +++ b/src/char/HPMchar.c @@ -0,0 +1,53 @@ +// Copyright (c) Hercules Dev Team, licensed under GNU GPL. +// See the LICENSE file + +#define HERCULES_CORE + +#include "HPMchar.h" + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <time.h> + +#include "../common/HPM.h" +#include "../common/cbasetypes.h" +#include "../common/conf.h" +#include "../common/db.h" +#include "../common/des.h" +#include "../common/ers.h" +#include "../common/malloc.h" +#include "../common/mapindex.h" +#include "../common/mmo.h" +#include "../common/showmsg.h" +#include "../common/socket.h" +#include "../common/strlib.h" +#include "../common/sysinfo.h" + +#include "../common/HPMDataCheck.h" + +bool HPM_char_grabHPData(struct HPDataOperationStorage *ret, enum HPluginDataTypes type, void *ptr) { + /* record address */ + switch( type ) { + default: + return false; + } + return true; +} + +void HPM_char_plugin_load_sub(struct hplugin *plugin) { +} + +void HPM_char_do_init(void) { +#if 0 // TODO (HPMDataCheck is disabled for the time being) + HPM->datacheck_init(HPMDataCheck, HPMDataCheckLen, HPMDataCheckVer); +#else + HPM->DataCheck = NULL; +#endif +} + +void HPM_char_do_final(void) { +#if 0 // TODO (HPMDataCheck is disabled for the time being) + HPM->datacheck_final(); +#endif +} diff --git a/src/char/HPMchar.h b/src/char/HPMchar.h new file mode 100644 index 000000000..9d367725c --- /dev/null +++ b/src/char/HPMchar.h @@ -0,0 +1,21 @@ +// Copyright (c) Hercules Dev Team, licensed under GNU GPL. +// See the LICENSE file + +#ifndef CHAR_HPMCHAR_H +#define CHAR_HPMCHAR_H + +#include "../common/cbasetypes.h" +#include "../common/HPM.h" + +struct hplugin; + +bool HPM_char_grabHPData(struct HPDataOperationStorage *ret, enum HPluginDataTypes type, void *ptr); + +void HPM_char_plugin_load_sub(struct hplugin *plugin); + +void HPM_char_do_final(void); + +void HPM_char_do_init(void); + +#endif /* CHAR_HPMCHAR_H */ + diff --git a/src/char/Makefile.in b/src/char/Makefile.in index ecb2f8741..d591a5370 100644 --- a/src/char/Makefile.in +++ b/src/char/Makefile.in @@ -22,13 +22,13 @@ MT19937AR_OBJ = $(MT19937AR_D)/mt19937ar.o MT19937AR_H = $(MT19937AR_D)/mt19937ar.h MT19937AR_INCLUDE = -I$(MT19937AR_D) -CHAR_C = char.c inter.c int_auction.c int_elemental.c int_guild.c int_homun.c \ - int_mail.c int_mercenary.c int_party.c int_pet.c int_quest.c \ - int_storage.c pincode.c +CHAR_C = char.c HPMchar.c inter.c int_auction.c int_elemental.c int_guild.c \ + int_homun.c int_mail.c int_mercenary.c int_party.c int_pet.c \ + int_quest.c int_storage.c pincode.c CHAR_OBJ = $(addprefix obj_sql/, $(patsubst %.c,%.o,$(CHAR_C))) -CHAR_H = char.h inter.h int_auction.h int_elemental.h int_guild.h int_homun.h \ - int_mail.h int_mercenary.h int_party.h int_pet.h int_quest.h \ - int_storage.h pincode.h +CHAR_H = char.h HPMchar.h inter.h int_auction.h int_elemental.h int_guild.h \ + int_homun.h int_mail.h int_mercenary.h int_party.h int_pet.h \ + int_quest.h int_storage.h pincode.h HAVE_MYSQL=@HAVE_MYSQL@ ifeq ($(HAVE_MYSQL),yes) diff --git a/src/char/char.c b/src/char/char.c index 6744c708d..fca2ec2fe 100644 --- a/src/char/char.c +++ b/src/char/char.c @@ -15,6 +15,7 @@ #include <sys/types.h> #include <time.h> +#include "HPMchar.h" #include "int_elemental.h" #include "int_guild.h" #include "int_homun.h" @@ -5423,6 +5424,8 @@ int do_final(void) { char_fd = -1; } + HPM_char_do_final(); + SQL->Free(sql_handle); mapindex->final(); @@ -5430,6 +5433,8 @@ int do_final(void) { if( server[i].map ) aFree(server[i].map); + HPM->event(HPET_POST_FINAL); + ShowStatus("Finished.\n"); return EXIT_SUCCESS; } @@ -5464,6 +5469,9 @@ void do_shutdown(void) } } +void char_hp_symbols(void) { + HPM->share(sql_handle,"sql_handle"); +} int do_init(int argc, char **argv) { int i; @@ -5474,6 +5482,29 @@ int do_init(int argc, char **argv) { mapindex_defaults(); pincode_defaults(); + + HPM_char_do_init(); + HPM->symbol_defaults_sub = char_hp_symbols; +#if 0 + /* TODO: Move to common code */ + for( i = 1; i < argc; i++ ) { + const char* arg = argv[i]; + if( strcmp(arg, "--load-plugin") == 0 ) { + if( map->arg_next_value(arg, i, argc, true) ) { + RECREATE(load_extras, char *, ++load_extras_count); + load_extras[load_extras_count-1] = argv[++i]; + } + } + } + HPM->config_read((const char * const *)load_extras, load_extras_count); + if (load_extras) { + aFree(load_extras); + load_extras = NULL; + load_extras_count = 0; + } +#endif + HPM->config_read(NULL, 0); + HPM->event(HPET_PRE_INIT); //Read map indexes mapindex->init(); @@ -5494,8 +5525,6 @@ int do_init(int argc, char **argv) { auth_db = idb_alloc(DB_OPT_RELEASE_DATA); online_char_db = idb_alloc(DB_OPT_RELEASE_DATA); - HPM->share(sql_handle,"sql_handle"); - HPM->config_read(NULL, 0); HPM->event(HPET_INIT); mmo_char_sql_init(); diff --git a/src/char/inter.c b/src/char/inter.c index f676b8716..df2920aa0 100644 --- a/src/char/inter.c +++ b/src/char/inter.c @@ -41,7 +41,7 @@ Sql* sql_handle = NULL; int char_server_port = 3306; char char_server_ip[32] = "127.0.0.1"; char char_server_id[32] = "ragnarok"; -char char_server_pw[32] = "ragnarok"; +char char_server_pw[100] = "ragnarok"; char char_server_db[32] = "ragnarok"; char default_codepage[32] = ""; //Feature by irmin. |