summaryrefslogtreecommitdiff
path: root/src/common/console.c
AgeCommit message (Collapse)AuthorFilesLines
2019-10-18Fix some issues with the strtok output in the console command parserHaru1-0/+17
- Fixes a crash in the console command parser when a line consisting only of spaces is executed. - Fixes some extra spaces accidentally passed at the beginning of the argument string to console commands, if the input started with multiple adjacent spaces. Signed-off-by: Haru <haru@dotalux.com>
2018-11-13Remove the unused minicore libraries and ifdefsHaru1-12/+9
Minicore was previously used by the tools in the src/tool directory, and is currently unused. Signed-off-by: Haru <haru@dotalux.com>
2018-08-25Show packet version and type at server startup.Andrei Karas1-0/+2
2018-07-01Change functions to static where possible (Part 1 - common)Haru1-25/+25
This fixes issues with plugins defining symbols with the same names Signed-off-by: Haru <haru@dotalux.com>
2018-06-24Call the shutdown callback when terminating through the server exit console ↵Haru1-1/+4
command Signed-off-by: Haru <haru@dotalux.com>
2018-05-312012-2018 !Maytichai Saowa1-2/+2
2016-10-28Fixed copyright year for 2016Lemongrass31101-1/+1
2016-10-04Add missing checks into console.cAndrei Karas1-11/+32
2016-07-12Removed unnecessary typedefs from thread and spinlockHaru1-6/+8
- SPIN_LOCK -> struct spin_lock - rAthread -> struct thread_handle - rAthreadProc -> threadFunc - RATHREAD_PRIO -> enum thread_priority - RAT_PRIO_LOW -> THREADPRIO_LOW - RAT_PRIO_NORMAL -> THREADPRIO_NORMAL - RAT_PRIO_HIGH -> THREADPRIO_HIGH - RA_THREADS_MAX -> THREADS_MAX Signed-off-by: Haru <haru@dotalux.com> fixupthread
2016-07-12Interface thread.chemagx1-2/+2
2016-07-12Interface mutex.chemagx1-10/+10
2016-03-20Removed unnecessary typedefs from sql.hHaru1-1/+2
- Sql -> struct Sql - SqlStmt -> struct SqlStmt - SqlDataType -> enum SqlDataType This is expected to improve compile time, by removing #include cycles (and forward declaring instead) Signed-off-by: Haru <haru@dotalux.com>
2016-02-05Add to system information also information about clock function.Andrei Karas1-0/+1
I think issues with stuck skills delay/cooldown related to timers/clock. This change allow to see with what clock functions issue can be reproduced.
2015-12-15Added GPL-compliant header to all sources and build scriptsHaru1-4/+20
Signed-off-by: Haru <haru@dotalux.com>
2015-12-15Added GPL information on interactive server startupHaru1-0/+11
2015-10-21Fixed a console command parse issueHaru1-16/+9
Signed-off-by: Haru <haru@dotalux.com>
2015-10-19rename malloc.c/h to memmgr.Andrei Karas1-1/+1
2015-10-11Fixed an issue preventing correct nesting of console commands into subcategoriesHaru1-1/+1
- The issue prevented the creation of multiple commands in the same subcategory through console->input->addCommand (i.e. "foo:bar:baz" and "foo:bar:quux" would instead create "foo:bar:baz" and "foo:quux") Signed-off-by: Haru <haru@dotalux.com>
2015-10-11Changed struct CParseEntry::u.next to VECTOR and renamed to u.childrenHaru1-53/+84
Added a 'type' field to describe the command type (function, category) Signed-off-by: Haru <haru@dotalux.com>
2015-10-11Changed console->input->cmds to a VECTOR and renamed to console->input->commandsHaru1-33/+34
Signed-off-by: Haru <haru@dotalux.com>
2015-10-11Changed console->input->cmd_list to a VECTOR and renamed to ↵Haru1-62/+72
console->input->command_list Signed-off-by: Haru <haru@dotalux.com>
2015-08-17Fixed a minor issue in the Hercules startup bannerHaru1-1/+1
Signed-off-by: Haru <haru@dotalux.com>
2015-08-15Added core HPM interfaceHaru1-1/+1
Signed-off-by: Haru <haru@dotalux.com>
2015-08-15HPM compatibility improvementsHaru1-0/+1
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>
2015-08-15Minor symbols cleanup to avoid conflictsHaru1-36/+36
Signed-off-by: Haru <haru@dotalux.com>
2015-06-19Removed ".." from include directivesHaru1-18/+17
- Include directives are now directory-independent. - This will allow building plugins from other directories in future. Signed-off-by: Haru <haru@dotalux.com>
2015-06-02Follow up to 712812bMysteries1-1/+1
- More link changes - Added proper link to Roulette topic
2015-01-18Fixing 38 issuesshennetsind1-1/+1
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-1710 Distinct fixesshennetsind1-2/+2
Addressing out of bounds read-write. Special Thanks to 4144, Haruna! Signed-off-by: shennetsind <ind@henn.et>
2015-01-12Blocked compilation of plugins that use unavailable functionsHaru1-0/+5
- 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>
2014-12-02Fix compilation without memory manager.Andrei Karas1-0/+2
configure example: ./configure --enable-manager=no
2014-11-16Whitespace cleanup (no code changes)Haru1-46/+44
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>
2014-05-10Re-commit of "Fixed order of includes in all source files"Haru1-108/+115
This reverts commit 94657284973f4037596bae468ebfbee5c217e02b.
2014-05-10Revert "Fixed order of includes in all source files"panikon1-115/+108
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-108/+115
- 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-04-17Added sysinfo (System Information) functionalitiesHaru1-6/+9
- 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>
2014-03-31Updated documentation for pc_statusup2 and pc_statusuppanikon1-9/+74
(fixed issue: 7916 http://hercules.ws/board/tracker/issue-7916-wrong-comment-in-pc-statusup2/) Now pc_statusup2 returns stat increase amount as stated in previous documentation Updated *statusup documentation it was wrong Added last update in upgrade index @console.c/.h Documented partially Now two different parsing categories can have functions with same name e.g. - server exit - sql exit
2013-11-19Sanitized and improved several macros through the codeHaru1-0/+4
- 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>
2013-10-26Changed 'tick' variables to 64 bitHaru1-1/+1
- 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>
2013-09-25Merge branch 'master' of https://github.com/HerculesWS/Herculesshennetsind1-2/+2
Conflicts: src/map/chrif.c src/map/clif.c src/map/homunculus.c src/map/pet.c src/map/script.c src/map/skill.c src/map/status.c All clear.
2013-09-25Renamed iTimer interface to timer.shennetsind1-3/+3
Also removed duplicate mentions of timer within calls to shorten.
2013-09-25Renamed more forgotten variables during interface conversionsHaru1-2/+2
(related: b9c8f57) Most renames are trivial (just to avoid shadowing global variables, even if they currently did no harm), but there were some cases of partly renamed variables that caused some NULL checks to always pass and who knows what could have been happened when they were too subtle to make the application crash. Also corrected some potentially unsafe macro definitions Signed-off-by: Haru <haru@dotalux.com>
2013-08-02Corrected alignment of the Hercules console logoHaru1-11/+11
- This fixes a display issue in terminal emulators that ignore the Esc[K ANSI sequence (i.e. GNU screen or tmux, with TERM=screen or TERM=screen-256color.) - In those terminal emulators, the logo background has now a fixed width of 72 characters. Signed-off-by: Haru <haru@dotalux.com>
2013-07-08Cygwin Fix for the Hercules SQL Update Checkshennetsind1-0/+16
Also modified the output (i think its sightly improved), also added a console command to skip updates so no need to go add the query yourself 'sql update skip <file name>' Signed-off-by: shennetsind <ind@henn.et>
2013-07-08Fixed Bug #7493shennetsind1-2/+3
Special Thanks to quesoph http://hercules.ws/board/tracker/issue-7493-compiling-with-cygwin/ Signed-off-by: shennetsind <ind@henn.et>
2013-07-08Fixed Cygwin Problemshennetsind1-4/+5
Special Thanks to quesoph. http://hercules.ws/board/topic/1402-error-compiling-with-cygwin/ Signed-off-by: shennetsind <ind@henn.et>
2013-06-07Hercules Renewal Phase One : pc, party, map, timerSusu1-3/+3
Added iPc, iParty, iMap, iTimer to HPM exported interfaces
2013-05-30Memory Slasher - May 30 Patchshennetsind1-0/+6
http://hercules.ws/board/topic/928-memory-slasher-may-30-patch/ Signed-off-by: shennetsind <ind@henn.et>
2013-05-17- Made DB and malloc lib HPM-friendlySusu1-1/+1
- Also fixed a bug preventing the plugins to be loeaded because HPMI and HPMI_s weren't HPExport
2013-05-04Mapreg saving overhaulshennetsind1-9/+10
Server only saves variables that were changed, not all of them. Special Thanks to Yommy <3~! Signed-off-by: shennetsind <ind@henn.et>