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>
|
|
- Include directives are now directory-independent.
- This will allow building plugins from other directories in future.
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>
|
|
- 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>
|
|
- See CERT DCL20-C.
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>
|
|
|
|
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Fixed files with mixed character set or invalid CP949 characters.
- Uncommented '#music' script in the_sign_quest.txt (now the
soundeffect filename should be fixed).
- Added a note to the header of CP949 files not to read or save them as
UTF8, since it'd break their encoding. It should be safe enough to
read them as EUC-KR if your text editor doesn't offer CP949 as an
option.
- Added FIXME notes about untranslated strings in assassin_skills.txt
and WolfchevLaboratory.txt.
Signed-off-by: Haru <haru@dotalux.com>
|
|
This reverts commit 94657284973f4037596bae468ebfbee5c217e02b.
|
|
This reverts commit b6b3f58795288701d0e162d43fa6f0a47af913b3.
Fixes issue 8184
http://hercules.ws/board/tracker/issue-8184-cart-related/
|
|
- Changed order according to the (upcoming) code style guidelines.
- Fixes several issues caused by missing headers when their include
order is changed or in plugins.
Signed-off-by: Haru <haru@dotalux.com>
|
|
We designed this one with having as little changes required elsewhere in mind, thus the way most socket-related things are called has not changed.
Plugins may now take a greater advantage of the socket features.
Signed-off-by: shennetsind <ind@henn.et>
|
|
- Fixed some warnings we had missed.
- Improved -W cflag detection routines.
- Only use -Wshadow if it's actually useful.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Corrected some leftover 32bit typecasts. Special thanks to Ind.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- This fixes an issue with timers that stop working after about 24-49
days when the tick overflows (note that this may happen much earlier
than that, and at hard to predict times, on some systems)
- Updated the RDTSC help message in the configure script to also warn
users about issues with SpeedStep enabled systems.
- On Windows, tick() still has a resolution of 10~15ms (or even as low
as 100ms on some systems). A TODO comment (thanks, Ai4rei) was added
for a follow-up patch, as I want this one to be as small as possible)
- Note: on Windows versions earlier than 6.x (Vista, Server 2008), the
tick overflow issue is NOT fixed, since they don't support the
function used to retrieve a 64 bit tick. This isn't a big issue, since
those platforms are already - or going soon to be - out of their
extended support period, and it's already advisable to upgrade, for
other reasons. If you're the unfortunate user of such a system, it is
recommended that you reboot your machine at least once every 49 days
for Hercules to work reliably.
- Note: To clear some doubts, since I've already been asked, this has
absolutely NOTHING to do with 32/64 bit CPUs or OSes. It's all about
a variable's size, not the size of registers of your CPU, and your
32bit CPU will be able to handle this just fine.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Also removed duplicate mentions of timer within calls to shorten.
|
|
Fixed a bug when removing last element of binary heap (its parent would
be removed instead if it had the same value).
Binary heap now allows custom swapper function/macro. Added `swap_ptr`
macro to swap two pointers in place (`swap` is not suitable for
pointers). This allows to store pointers in binary heap.
|
|
Added iPc, iParty, iMap, iTimer to HPM exported interfaces
|
|
System-dependent function name conflict solved.
http://hercules.ws/board/tracker/issue-7249-error-compiling-timerc/
Signed-off-by: shennetsind <ind@henn.et>
|
|
Made SQL and strlib functions HPM-friendly, special thanks to Yommy for bringing the issue up.
Added partial map.c support, for the all-handy map[] array, beware that soon the whole map.c renewal design will be commit and when that happens your usage of map.c functions in plugins might require some updates.
Signed-off-by: shennetsind <ind@henn.et>
|
|
[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
|
|
winapi specific stuff, to be able to set the appropriate flags before including it correctly)
Note: this may screw up mingw or cygwin building, ill fix it later...
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16219 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15524 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14873 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
also checks, whether or not it actually works (bugreport:1003, related r11912 and r11983).
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14767 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
especially in virtualized environments; default disabled - credits to sirius_black
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14265 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
performance)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13465 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13380 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12999 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12969 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
determine the source condition of timer errors. (bugreport:1860)
* Fixed crash in skill_castend_id. (bugreport:1860)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12968 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
list.
* Changed TIMER_MAX_INTERVAL to 1 second (was set to 1 minute by mistake).
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12963 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
comparisons and protected timer functions against improper use. (should fix bugreport:1833 bugreport:1841)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12956 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
* Added a maximum timer interval. Avoids server shutdowns being delayed for ~10 seconds under some circumstances on windows.
* Replaced the fake timer heap (ordered array) with a binary min heap.
(actually, this is just a merge and has been in use for months)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12926 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
with id '0' (since pre-svn, still present in jAthena).
Fixed wrong order of parameters in a ShowWarning call when freeing a locked DBMap, which caused a segfault when executed (since initial implementation in r4859).
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12854 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12668 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12633 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- Moved to timer.c/h because it's used in both map and char servers.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12382 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
* Made do_sockets leave the for loop as soon as the readable number of sockets returned by select is found.
* Made all posix compliant systems that support it and FreeBSD >= 5.1 (implements it but doesn't have the posix defines) use the precise and consistent tick() implementation.
* Minor tweek to HEAP_SEARCH (same variable can be used in from and to).
* Fixed the map server not exiting when make_listen_bind fails and returns -1.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11983 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
(TODO: apply it to multiple platforms using an appropriate configure script)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11912 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
Flavio points out that it is not needed.
- Modified a bit the changesex code so you get saved and quit before changing your sex rather than afterwards.
- Cleaned up #changesex
- Signum Crucis now works on bosses.
- party_recv_data will not set the sd pointer for not-yet-authed characters.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11867 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11647 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11506 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
- removed "with less than 4 values, it's speedier to use a simple loop" as this case will never occur (premature optimization from r1284)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11499 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
constructors).
Readded tick cache variables (deleted by mistake).
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11292 54d463be-8e91-2dee-dedb-b68131a5f0ec
|
|
calls that should be cached).
* Added a charid2sd database for fast charid searches.
* Reworked the nick cache to only contain offline characters.
Note: The tick cache was causing _some_ of the desync problems in eA. Gameplay should be much smother, but desync problems still exist.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11290 54d463be-8e91-2dee-dedb-b68131a5f0ec
|