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>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
- The showmsg interface is automatically imported into plugins by the
HPM (just like previously, the various Show* functions were). This
change requires no actions from plugin developers.
- stdout_with_ansisequence is now available through
showmsg->stdout_with_ansisequence
- msg_silent is now available through showmsg->silent
- console_msg_log is now available through showmsg->console_log
- timestamp_format is now available through showmsg->timestamp_format
- Plugin-safe macros are provided, so that all Show* and Clear* calls
will require no changes.
- vShowMessage is provided through the public API, as va_list variant
of ShowMessage.
- vShowMessage_ is no longer part of the public API. If necessary,
va_list variants of the other Show* functions will be added at a
later time as follow-ups.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Replaced some macro calls with the proper interface syntax
- Removed useless macros and workarounds
- Removed no longer needed library function re-definitions
API changes summary:
- The macros remove_control_chars(), trim(), normalize_name(),
stristr(), e_mail_check(), config_switch(), safestrncpy(),
safestrnlen(), safesnprintf(), strline(), bin2hex() can now be safely
used both inside and outside strlib.c
- The macros strnlen() and strtok_r() can now be safely used both
inside and outside strlib.c, on the systems where they are necessary.
The systems that provide those natively, aren't affected by this
change.
- jstrescape() is now strlib->jstrescape()
- jstrescapecpy() is now strlib->jstrescapecpy()
- jmemescapecpy() is now strlib->jmemescapecpy()
- a custom strtoull() implementation is no longer provided, since all
supported systems and compilers provide a library implementation.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Replaced some macro calls with the proper interface syntax
- Removed useless macros and workarounds
API changes summary:
- WFIFOSET() can now be safely used both inside and outside socket.c
- RFIFOSKIP() can now be safely used both inside and outside socket.c
- do_close() is now sockt->close()
- flush_fifo() is now sockt->flush()
- flush_fifos() is now sockt->flush_fifos()
- getips() is now sockt->getips()
- host2ip() is now sockt->host2ip()
- ip2str() is now sockt->ip2str()
- ntows() is now sockt->ntows()
- make_connection() is now sockt->make_connection()
- make_listen_bind() is now sockt->make_listen_bind()
- realloc_fifo() is now sockt->realloc_fifo()
- realloc_writefifo() is now sockt->realloc_writefifo()
- session_isActive() is now sockt->session_is_active()
- session_isValid() is now sockt->session_is_valid()
- set_defaultparse() is now sockt->set_defaultparse()
- set_eof() is now sockt->eof()
- set_noblocking() is now sockt->set_noblocking()
- str2ip() is now sockt->str2ip()
Signed-off-by: Haru <haru@dotalux.com>
|
|
- This fixes plugin compilation on FreeBSD and Debian failing due to a
missing -fPIC, in combination with some upcoming changes.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Disable LTO by default. Because look like support for it broken in gc…
|
|
and higher.
For enable LTO need run: ./configure --enable-lto
|
|
The plugin is used by the Travis CI build, and it makes more sense to be
present here, so that it can be kept up to date when the HPM is
updated, to avoid build failures.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
- This fixes compilation on systems such as FreeBSD, where -lexecinfo
is necessary, or Cygwin, where execinfo.h is not available.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Fixes some future issues with the HPMDataCheck system.
Signed-off-by: Haru <haru@dotalux.com>
|
|
|
|
Signed-off-by: HerculesWSAPI <Hercules@efficiently.awesome>
|
|
Add n parameter to function pc_equipitem_pos.
|
|
|
|
|
|
Follow-up to 5090bdf750017f0d631401edd563c452bd10ec24,
84e02ac28fbb15c58d0a0f8a916b49663198b05b
Signed-off-by: Haru <haru@dotalux.com>
|
|
|
|
Signed-off-by: HerculesWSAPI <Hercules@efficiently.awesome>
|
|
subnet.conf overhaul
|
|
The subnet.conf system has been rewritten to offer greater flexibility,
and to fix some issues that appeared with 838321a36c79e71117320154c9b611c99e93af03.
It is now possible to enter, separately, LAN subnets:
- `lan_subnets`: This is essentially the same feature present in the old
subnet.conf. Each entry in this list defines a (LAN, private) subnet
the server is in. Clients connecting from the same subnet, will be
redirected to the LAN IP rather than the default public IP. The format
has been simplified, and it only requires one IP and one subnet mask (as
opposed to a character and a map server IP).
- `allowed`: Allowed IPs are IP ranges a server (char to login or map to
char) can connect from. Any attempt to connect as a server from an IP
not included here, will fail. For convenience, a wildcard range
(matching all possible IP addresses) has been provided
(`0.0.0.0:0.0.0.0`), but it is very advisable to edit it to a more
restrictive set.
- `trusted`: Trusted IPs are IP ranges excluded from the IPban checks.
This may be useful, for example, to exclude the server's own IP from
ipbans, in case of false positives. Any IP ranges added to this list are
also implicitly included in the allowed IP ranges.
|
|
Fix issue #634. Delay actual item deletion after running item script.
|
|
|
|
Signed-off-by: HerculesWSAPI <Hercules@efficiently.awesome>
|
|
Add scripts invoking hooks
|
|
|
|
|
|
script_run_item_unequip_script.
|
|
|
|
|
|
Please report any issues
Signed-off-by: Haru <haru@dotalux.com>
|
|
|
|
- Follow-up to 8caa0e564b5331a88d8dc1712513368b37ba9694
- It's safe to re-apply the related sql update script
(sql-files/upgrades/2015-07-08--13-08.sql) in order to get rid of the
'detected 1 new SQL updates' message.
- Thanks to KirieZ
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Replaced leftover sprite IDs with constants
- Corrected some NPC facing directions (in modulo 8)
- Follow-up to 7b50fce0f62961b0228e6919562efcfe33e7fbca
|
|
Corrected search order in itemdb_searchname
|
|
It’ll now return the first result, rather than the last due to item2
being overwritten as it searches through the array.
|
|
- Follow-up to c5ff02958806ea5a672dcc9371602a6c090c6758
- Cygwin doesn't support backtrace() nor it provides execinfo.h
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Follow-up to 84e02ac28fbb15c58d0a0f8a916b49663198b05b
- Thanks to KirieZ for pointing it out.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Fixes #546 (follow-up to 127f9b52a4030a655564584b95b7c10dfdcb04e6)
- Special thanks to kyeme, Mordekaiser
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
- The files are (and will) still be included for use in Control Panels
or websites, but their use as the data source for the map server is no
longer supported. Please upgrade to their text counterparts instead.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- xs, ys, delay1, delay2 and event are now required, as described in
the documentation.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Replaced leftover sprite IDs with constants
- Corrected some NPC facing directions (in modulo 8)
|
|
- Follow-up to ca877ecbef0d3fe8df1b69fcaa9e72693c104f02
Signed-off-by: Haru <haru@dotalux.com>
|