Age | Commit message (Collapse) | Author | Files | Lines |
|
Improved compatibility, portability and standards conformance.
- Since it is not possible to portably and reliably re-use the core's
symbols in plugins, symbols are no longer exported unless explicitly
required, in the UNIX builds. This mimics the Windows behavior and
adds HPM compatibility to OSes such as FreeBSD. Credits to Andrei Karas
for making this possible.
- For convenience, it is no longer necessary to call GET_SYMBOL, since
the plugin will automatically import all the available symbols when
it's loaded, depending on the included headers.
- Plugins are now supposed to include the "common/hercules.h" header
before including anything else. Incluing common/HPMi.h,
common/cbasetypes.h or conf/core.h is no longer necessary, as those
are guaranteed to be automatically included by hercules.h.
- HPM API version bumped to 1.1.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Include directives are now directory-independent.
- This will allow building plugins from other directories in future.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- login_server, char_server, map_server as well as the tools (mapcache)
now have a common command line arguments handling mechanism.
- All of them now accept `--help` (`-h`), `--version` (`-v`) and
`--load-plugin`.
- login_server now accepts `--login-config` and `--lan-config` instead
of relying on positional arguments to override those files. The old
syntax will no longer work, please update your custom startup scripts.
- char_server now accepts `--char-config`, `--inter-config`,
`--lan-config` instead of relying on positional arguments. The old
syntax will no longer work, please update your custom startup scripts.
- mapcache now accepts `--grf-list`, `--map-list`, `--map-cache`,
`--rebuild` in place of, respectively, `-grf`, `-list`, `-cache`,
`-rebuild`.
- A new macro `CMDLINEARG()` is provided, to help defining new command
line argument handlers (i.e. in plugins). the `addArg()` call is still
required, but its syntax has changed. The `help` argument is now of type
`const char *` rather than a function pointer, and it is supposed to
contain the message to show in the `--help` screen. Pass `NULL` if no
help message is desired.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- 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>
|
|
This includes, and is not limited to: mixed or wrong indentation, excess
whitespace (horizontal and vertical), misalignment, trailing spaces.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Complies with CERT DCL37-C
- Fixes issue #293 (special thanks to elfring)
Signed-off-by: Haru <haru@dotalux.com>
|
|
http://hercules.ws/board/topic/4283-introducing-hpm-datacheck/
Signed-off-by: shennetsind <ind@henn.et>
|
|
Made Possible Thanks to the Woonderful Haruna! <3
Commit also fixes an inconsistency in the ERS, where it'd start with clear memory but would use garbage upon resizing, also implements a new ERS option that clears entries as soon as pass by ers_free, so that they'll be all shinny for when ers_alloc reuses them.
Signed-off-by: shennetsind <ind@henn.et>
|
|
- Sanitized all potentially unsafe macros (related eA:15259)
- Improved some function-like macros to evaluate their argument only
once and keep it in a temporary variable. This improves performance
in the damage calculation related code.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Custom Packet Support
- Custom Data Struct Support (currently append-able to map_session_data and socket_data)
- Char Server Support
- Login Server Support
http://hercules.ws/board/topic/1934-hercules-plugin-manager-update/
Documentation will soon be updated in http://hercules.ws/wiki/HPM
Signed-off-by: shennetsind <ind@henn.et>
|
|
Added iPc, iParty, iMap, iTimer to HPM exported interfaces
|
|
http://hercules.ws/board/topic/928-memory-slasher-may-30-patch/
Signed-off-by: shennetsind <ind@henn.et>
|
|
Signed-off-by: shennetsind <ind@henn.et>
|
|
Signed-off-by: shennetsind <ind@henn.et>
|
|
- Also fixed a bug preventing the plugins to be loeaded because HPMI and HPMI_s weren't HPExport
|
|
[16969:16991/trunk/src/] will be re-committed in the next 24 hours.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16992 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
Removed /SAFESEH option from MSVC11 projects.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16968 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15581 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
* Turned off garbage collection for GCOLLECT since there's nothing to do with explicit frees.
* Added malloc_verify_ptr/malloc_usage code for all memory libraries.
* Added malloc_memory_check for debug purposes, tests memory for errors and memory leaks.
* Added explicit memory check on malloc_final.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14917 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
They were specific to the GC allocator (atomic = promise to not have any pointers to other things inside = will be skipped during Mark phase), serving as a (dubious) optimization trick - which could cause GC to malfunction if used incorrectly.
Simplified GC's CALLOC, since the GC docs say GC_MALLOC automatically clears memory.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14916 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
use with the memory libraries.
* Moved memory library selection to malloc.c to avoid poisoning the namespace of the rest of the code.
* Removed BCHECK code since it's unneeded. (bcheck is an external batch tool that runs on top of the dbx debugger)
* Fixed GCOLLECT usage. (missing init and final memory leak check)
* Fixed DMALLOC usage. (missing options on CYGWIN and verify memory)
* Renamed malloc_verify to malloc_verify_ptr to avoid conflict with DMALLOC.
* Changed itemtype from inline to static inline to avoid error with the SunOS compiler.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14913 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
for all castles (even of other guilds).
Corrected some x64 compilation warnings in ers/malloc files.
cleaned up a case of bad variable reuse.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12666 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- fixed blocks that are fully used not being detected (and not freed) in memmgr_final (unfill_prev is NULL for unused blocks and full blocks)
- fixed memmgr_final giving the wrong address to _mfree (for small blocks)
- added the pointer address to most error messages (and log)
- made it append to the log file instead of rewriting it
- implemented a function to verify if a memory location is active
- other minor changes
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12200 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
* Added timestamps to the log of memory leaks.
* Moved definition of __func__ to cbasetypes.h.
* Configure script updated:
- added option to select the memory manager
- added option to enable MAPREGSQL
- added option to enable DEBUG
* common's Makefile deleting svnversion.h on 'clean' target.
(run ./configure again to update your Makefile)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11760 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- disabling the memory manager
- using the wrong length for the title and body in mail_savemessage
* Removed the quick-fix in the npc duplicate check and the impossible condition that is generating the warning.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11573 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
* Cleaned up the mail code, no more pointless dynamic allocation
* Added upgrade_svn11548.sql to convert the mail table to new format
* Updated vs7 and vs6 project files
* Increased the max. send buffer size to 5M since 1M is not enough
* Please complain if something stops working ^^;
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11571 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
* Defined out the dump function in util.h/c.
Notes: saw some suspicious code in npc.c so kept the 'const char*' propagation to a minimum for now
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10193 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9891 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9733 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9649 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9626 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
txt/conf/h/c files.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9410 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
http://www.eathena.ws/board/index.php?showtopic=105417
Hopefully that will take care of the SIGPIPE problem in Debian and cygwin.
- Server name in core.c skipping '\\' characters.
- Memory allocation functions using file,line,func from the invoking functions.
- Other minor changes in malloc
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9344 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8506 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8505 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8499 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Removed the limits.h file which just breaks compilation on *nix systems T.T
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5777 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5770 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. EVERYTHING ELSE
GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5094 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5091 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@1428 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@1328 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@1308 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
* Added stray memory cleaning routine to db.c
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@1275 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
* Moved /common/*.o into a obj folder when compiling
* Updated core and map server to jA 1094~1115
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@1162 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
into the new source files
* Updated auto_counter_type's description in battle_athena
* Removed some unnecessary skill level checks in battle.c
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@996 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@968 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@863 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@821 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/athena@172 54d463be-8e91-2dee-dedb-b68131a5f0ec
|