summaryrefslogtreecommitdiff
path: root/src/tool
AgeCommit message (Collapse)AuthorFilesLines
2016-07-02Trivialities: indentation fixesHaru1-5/+0
Signed-off-by: Haru <haru@dotalux.com>
2016-04-16Updated GNU Make build system to support private headersHaru1-2/+2
Signed-off-by: Haru <haru@dotalux.com>
2015-12-15Added GPL-compliant header to all sources and build scriptsHaru2-5/+38
Signed-off-by: Haru <haru@dotalux.com>
2015-10-19rename malloc.c/h to memmgr.Andrei Karas1-1/+1
2015-09-25More aggressive whitespace cleanup. Follow up to 51329e6Haru1-1/+0
Signed-off-by: Haru <haru@dotalux.com>
2015-09-18Clarified the intent of several assignments inside conditional expressionsHaru1-1/+1
Signed-off-by: Haru <haru@dotalux.com>
2015-06-19Cleaned up some #includesHaru1-3/+0
Signed-off-by: Haru <haru@dotalux.com>
2015-06-19Removed ".." from include directivesHaru2-14/+16
- Include directives are now directory-independent. - This will allow building plugins from other directories in future. Signed-off-by: Haru <haru@dotalux.com>
2015-05-19Fixed some issues reported by coverity scan [1/3]Haru1-22/+41
Signed-off-by: Haru <haru@dotalux.com>
2015-01-20Minor fixes and tweaks suggested by cppcheckHaru1-6/+3
- Variable scopes reduced - Parenthesized ambiguous expressions - Removed or added NULL checks where (un)necessary - Corrected format strings - Fixed typos potentially leading to bugs Signed-off-by: Haru <haru@dotalux.com>
2015-01-18Command line arguments handling overhaulHaru1-29/+73
- 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>
2015-01-18Fixing 38 issuesshennetsind1-3/+3
Addressing out of bounds read/write, pointless null checks on already deferenced variables, dead code. Special Thanks to 4144 and Haruna! Signed-off-by: shennetsind <ind@henn.et>
2015-01-17Follow up 84b88781a0c39f7379ed85f74dc03c4e868a171fshennetsind1-0/+1
Thanks to Haruna Signed-off-by: shennetsind <ind@henn.et>
2015-01-1710 Distinct fixesshennetsind1-1/+1
Addressing out of bounds read-write. Special Thanks to 4144, Haruna! Signed-off-by: shennetsind <ind@henn.et>
2014-10-23In configure add option --enable-staticAndrei Karas1-1/+1
This option enable static build for server binaries and map cache. For plugins this option enable static linking with gcc.
2014-08-07Corrected several format-string errors through the codeHaru1-2/+3
- 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>
2014-05-30Removed CMakeLists.txt (Thanks to Haruna)Shido1-45/+0
2014-05-25Improved CFLAGS/CPPFLAGS handlingHaru1-1/+3
- 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>
2014-05-10Re-commit of "Fixed order of includes in all source files"Haru1-6/+8
This reverts commit 94657284973f4037596bae468ebfbee5c217e02b.
2014-05-10Revert "Fixed order of includes in all source files"panikon1-8/+6
This reverts commit b6b3f58795288701d0e162d43fa6f0a47af913b3. Fixes issue 8184 http://hercules.ws/board/tracker/issue-8184-cart-related/
2014-05-09Fixed order of includes in all source filesHaru1-6/+8
- 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>
2014-05-06Bug fixes and other changespanikon1-54/+5
#Fixed issue where a corrupted map cache would lead to a crash *Moved Big-endian compatibility functions to common/utils.h #Fixed issue 8162 *http://hercules.ws/board/tracker/issue-8162-loadnpc-doesnt-trigger-oninit-of-duplicate-npcs/ *Added options to npc_parse_duplicate #Fixed issue 8169 *http://hercules.ws/board/tracker/issue-8169-script-command-guildskill-skill-idlevel-not-working-as-intended/ *Changed *guildskill behavior, now it behaves exactly as depicted in the documentation *Updated *guildskill documentation #Added missing GBI types to mapif_parse_GuildBasicInfoChange now it's possible to change guild exp, lv, skill point and skill information #GeoIP revamp *GeoIP module was partially rewritten *Added several data checks to prevent corruption and crashes *Updated GeoIP database *See https://github.com/maxmind/geoip-api-c/blob/master/libGeoIP/GeoIP.c for more information #Added packetver checks regarding NST_MARKET *Now *tradertype warns if user is trying to use this feature with older clients
2014-04-17Added sysinfo (System Information) functionalitiesHaru1-13/+16
- 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>
2013-12-17Fixed several compiler warningsHaru2-3/+3
- Warnings detected thanks to Xcode's compiler settings (more strict by default) and clang, warnings mostly but not only related to data sizes on 64 bit systems, that were silenced until now by very lax compiler settings. - This also decreases by a great deal the amount of warnings produced by MSVC in x64 mode (for the adventurous ones who tried that) - Also fixed (or silenced in case of false positives) the potential issues pointed out by the (awesome) clang static analyzer. - Patch co-produced with Ind, I'm merging and committing in his place! Signed-off-by: Haru <haru@dotalux.com>
2013-11-20Added support for 'make plugin.pluginname' to compile only 'pluginname'Haru1-10/+11
- Various Makefile optimizations Signed-off-by: Haru <haru@dotalux.com>
2013-10-05Added 'buildclean' target to all makefilesHaru1-7/+13
- By invoking 'make buildclean', you can clean up all the build intermediate (object) files, without deleting any of the built executables and plugins. - To delete everything, use 'make clean', as you've always done. Signed-off-by: Haru <haru@dotalux.com>
2013-09-22Changed Makefiles to avoid rebuilding targets if nothing was modifiedHaru1-2/+4
To force a rebuild, it's still possible to use the -B flag of make, or just run make clean beforehand. Signed-off-by: Haru <haru@dotalux.com>
2013-09-21Added Makefile.in change detection (and auto-rebuild) capabilitiesHaru1-2/+5
- If a Makefile.in is changed, ./config.status (or ./configure in case it's not available) will be automatically run to update the Makefiles. - Special thanks to Yommy for the idea. Signed-off-by: Haru <haru@dotalux.com>
2013-09-18Makefiles improvements and cleanupHaru1-19/+21
This should resolve #138 (please reopen or comment on it if it's not the case). Special thanks to Takkun for helping to reproduce the issue. Signed-off-by: Haru <haru@dotalux.com>
2013-07-21Changed CC to a Makefile variableHaru1-2/+5
- This allows the user to override the compiler at each make invocation (i.e. to run scripts to generate .clang_complete for https://github.com/Rip-Rip/clang_complete ) - Updated .gitignore with a few platform-dependent entries Signed-off-by: Haru <haru@dotalux.com>
2013-07-14Makefile error corrections and minor tweaksHaru1-1/+1
- Fixed some variable names incorrectly entered as literals in target names - This fixes a build failure when trying to build any specific sub-project directly from src/*/ - Removed an old svn-related command from the 'import' recipe - This fixes the build failures when trying to run 'make tools' right after 'make clean' - Removed duplicate entries in the 'clean' recipe for map and login servers Signed-off-by: Haru <haru@dotalux.com>
2013-04-01Fixed mapcache compile-time make warningshennetsind1-3/+4
common doesn't handle 'txt' Signed-off-by: shennetsind <ind@henn.et>
2013-03-17Re-Introducing Console Inputshennetsind1-2/+2
It's back. It's efficient. It's awesome. http://hercules.ws/board/topic/272-re-introducing-console-input/ Signed-off-by: shennetsind <ind@henn.et>
2012-12-05- Undid r16968: SVN Replaced with source:/trunk/src/@16966 (tid:74924).brianluau1-242/+242
[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
2012-11-25Applied AStyle code formating as discussed on tid:74602.greenboxal21-242/+242
Removed /SAFESEH option from MSVC11 projects. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16968 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-11-23-Apply mkdu95 fix for bugreport:5145 preventing clone if player dead, (for ↵glighta1-9/+7
slave and evil clone) -Fix old fread, fgets warnings, displaying a msg errors when failed now -Cleaning checkweight debug showinfo git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16952 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-11-23- Fixed dumb warning (follow up to r16950) -_-momacabu1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16951 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-11-23- There will now be a warning regarding to map name length limitation (part ↵momacabu1-0/+2
of bugreport:1688). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16950 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-11-09Follow up r16884 fixed a typo =Xshennetsind1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16885 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-11-09Fixed bugreport:6209 / Follow up r16867 : updated mapcache to write onto its ↵shennetsind2-3/+16
proper map_cache.dat depending on the instance's #RENEWAL git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16884 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-06-11Fixed bugreport:5990 OSX compiling error / warningsblacksirius1-1/+1
Bug in Detail: - Misplaced LDFLAGS uage in some Makefile templates (by passing them to the compiler not to the linker.) - Wrong usage of volatile (a functions return value couldnt be declared to return volatile :D ) - Unsupported Inline ASM using lock xchg operation on llvm-gcc .. (apple loves this ..) Fixed by: - Removed unnecessary LDFLAGS - Removed unnecessary volatile declarator - Replaced InterlockedExchange and InterlockedExchange64 with gcc intrinsics. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16270 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-06-01feature merge bs-coreoptimize->trunk: Build Output Cleanup, Makefile Common ↵blacksirius1-3/+6
Dependency Handling - "Optimized" the build Output using Makefiles - to Kernel style build output. - Changed dependency handling to common (core), by generating one lib file (ar) and link against that instead of assigning all deps individually in every subproject - Changed header dependency handling in Subproject makefiles - requiring all common/ headers. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16198 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-05-13- Full revert of r16105 and r16106.eathenabot1-6/+2
* Merged changes up to eAthena 15094. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16110 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-05-12* Merged changes up to eAthena 15095.eathenabot1-2/+6
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16105 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-05-02Fixed 2 buildbot warnings throughout multiple operating systems.shennetsind1-3/+5
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16037 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-20- Fixed CMake compilation (libconfig integrated into common_base).flaviojs1-1/+1
- Chanced libconfig.h include directives to double-quoted form (never use the system version of libconfig.h). - Removed ShowError/ShowNotice from sig plugin (showmsg.c depends on core.c). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15737 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-03-02Updated CMakeLists (follow-up to r15572, r15586) (patch provided by Saithis, ↵gepard19841-1/+1
pid:82588). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15651 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-16- Removed outdated version number handling (follow-up to r11503).gepard19841-4/+4
- Fixed mapcache compilation issues in Linux. - Added some missing `svn:ignore` properties. - Moved `BLOCK_SIZE` definition from header to source file. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15586 54d463be-8e91-2dee-dedb-b68131a5f0ec
2012-02-13 - Added `libconfig` (configuration file library: ↵gepard19841-2/+12
http://www.hyperrealm.com/libconfig/): - Updated VS9/10 project files. - Updated `configure` & `Makefile`s. - New GM, Commands & Permissions system: - '''This is a backwards compatibility breaking update''', please read tid:58877 - Replaced GM levels with Player Groups. - Commands permissions & other privileges now depend on group, not GM level. - `@help` command improvements: requires "commandname" param and shows more detailed info about commands. - Modified GM whisper system to deliver messages basing on permissions, not GM level. - Remote trade request is now possible only if player is allowed to use `@trade` command as well. - Added a proper permission to use `/changemaptype` command. - `clif_displaymessage` is now capable of displaying multiline messages. - All `ACMD_FUNC`s are static now, and the only way to invoke them is with `is_atcommand()`; all client commands (starting with `/`) are now translated into corresponding atcommands (with exception of `/kick` used on monster, as there is no atcommand to kill single monster). - Removed nonsense "bot check" triggering when player blocked (`/ex`) Server. - Merged `@monster`, `@monsterbig` and `@monstersmall`. - Improved flow of atcommand execution to avoid revealing info about online players or existing commands to non-privileged players. - Merged `atcommand` and `charcommand` script functions (`charcommand` is aliased to `atcommand`). - Fixed `atcommand` script function reading unknown memory area (possible access violation). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15572 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-12-11* Merged changes up to eAthena 15014.eathenabot2-2/+4
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15063 54d463be-8e91-2dee-dedb-b68131a5f0ec