Age | Commit message (Collapse) | Author | Files | Lines |
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
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>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Private members as well as members of interfaces with more than one
section are now correctly detected.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Let doxygen ignore __attribute__ instead of ignoring it at parse time.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Each loaded plugin will now show a status message
- If a plugin loads because of a missing symbol, an error message will
be displayed, mentioning the name of the missing symbol.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
It now strips gcc's __attribute__ from interface methods
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Compatibility fix for older versions of Perl
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Fixed hooks/symbols generation for the inter_quest interface
- Re-enabled strict mode
Signed-off-by: Haru <haru@dotalux.com>
|
|
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Special thanks to Ind
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Special thanks to Ind
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Functions that expect a printf-style format string are now marked as
such, so that gcc/clang will emit a warning warn you if you mismatch
format string and arguments.
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>
|
|
|
|
- Language extensions, such as _GNU_SOURCE are now enabled through
CPPFLAGS by the configure script, rather than within the source code.
- Moved some configure-time CFLAGS to CPPFLAGS, where appropriate.
- Fixes bugreport:8211, thanks to Neoth
http://hercules.ws/board/tracker/issue-8211-compiling-warning-in-linux
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Now hookStop() will do absolutely nothing if called from a post-hook,
instead of causing unexpected effects on the next pre-hook execution.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Fixes a HPM Hook generator warning in battlegrounds.c
Signed-off-by: Haru <haru@dotalux.com>
|
|
- More informative messages are displayed during startup, to make it
easier to identify what system and environment Hercules is running.
- Git/SVN revision detection is improved, separating the source version
(cached at compile time) from the runtime version, in case the user
updated their working copy without recompiling the server. Git
version detection is also more reliable, in case a non-default branch
is used.
- The get_revision script command has been removed (as it was useless
to begin with, after the switch to git). An alternative will be
provided later, for feature-probing purposes.
- The patch was tested under Linux (Gentoo / gcc 4.7 on i686 and x86_64,
Debian 6 / gcc 4.4 on i686, Raspbian / gcc 4.6 on armv6l, CentOS 5 /
gcc 4.1 on i686, CentOS 6 / gcc 4.4 on x86_64, Linux Mint 15 / gcc 4.7
on x86_64, OS X Mountain Lion / clang 5.0 and gcc 4.8 on x86_64,
Cygwin-NT-5.1/gcc 4.8 on i686, FreeBSD 8 / gcc 4.2 on i386, FreeBSD 9
/ gcc 4.2 on amd64, FreeBSD 10 / clang 3.3 on amd64, NetBSD 5 / gcc
4.1 on i386, NetBSD 6 / gcc 4.5 on amd64, OpenBSD 5 / gcc 4.2 on
amd64, Solaris 11 / gcc 4.5 on i86pc, Windows 7 / Visual Studio 2012
on x86, Windows 8 / Visual Studio 2010 on WOW64, Windows 8.1 / Visual
Studio 2013 on WOW64.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Fixes a HPMHooking compile error in d117462. Thanks to Potte.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Fixed issue on windows that'd cause plugins to be rejected on loading.
Thanks to Mhalicot
Signed-off-by: shennetsind <ind@henn.et>
|
|
- It will be used by an upcoming commit by Ind.
- Added dummy HPMDataCheck.h, to test the API bot's capability to
re-generate it.
- Improved XML parser performance.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Various Makefile optimizations
Signed-off-by: Haru <haru@dotalux.com>
|
|
The last file without a interface is now no more (date.h doesn't count :P).
Modified the way permissions are stored in order to enable plugins to be able to create permissions ( pcg->add_permission("name") [returns permission key] ).
Special Thanks to Haruna!
Closes #121
Signed-off-by: shennetsind <ind@henn.et>
|
|
|
|
Dropped hard-coded indexes, will make updates of the file in the future be smaller and much more clear in content.
Made Possible Thanks to Haruna <3
Signed-off-by: shennetsind <ind@henn.et>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Slightly reformatted the include files (as produced by the new tool)
- You normally won't need to use the generation tool, but in case you
do, the software requirements are:
* A Unix-compatible system (cygwin may work, or may not), capable to
use the Hercules configure/make build system
* perl (the perl executable must be in your $PATH)
* doxygen (the command-line doxygen executable must be in your $PATH)
- The generation tool was developed in collaboration with Ind
(originally in php, the file here included is a tweaked version ported
to perl)
Signed-off-by: Haru <haru@dotalux.com>
|