Age | Commit message (Collapse) | Author | Files | Lines |
|
- Fixes a series of "left-hand operand of comma expression has no
effect" in nullpo checks.
- Special thanks to ossi0110.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- 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>
|
|
- 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>
|
|
- Added Assert_ret, Assert_retv, Assert_retb, Assert_retr, working
similarly to the corresponding nullpo_ functions.
- Moved Assert-related macros to nullpo.h, since they share some
functions.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- Removed unused, nonportable nullpo checks with formatted message
(related: eAthena r15245)
- Converted nullpo_chk to a macro, to make it easier on the llvm static
analyzer.
- Added more details to the nullpo_info reports (related: eAthena
r15246)
- Ensured that the nullpo check macros evaluate their pointer argument
once and only once, so that it's safe to use with expressions that
assign values or have side-effects.
Signed-off-by: Haru <haru@dotalux.com>
|
|
- No functional changes. That's just the correct OS X file extension for
dynamic libs.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Special Thanks to Mhalicot.
Signed-off-by: shennetsind <ind@henn.et>
|
|
Special Thanks to Haru
Signed-off-by: shennetsind <ind@henn.et>
|
|
Signed-off-by: shennetsind <ind@henn.et>
|
|
- Improved memory usage of the quest log system. (saves up to 75kB per
online character). Fixes issue #133.
- Fixed various issues with quest entries disappearing from characters
without an apparent reason, or monster kill counters getting stuck -
the issues were caused by a de-synchronization between the two
parallel questlog arrays in map_session_data.
- Added some code documentation.
- Thanks to Ind.
Signed-off-by: Haru <haru@dotalux.com>
|
|
Extended to the fix to aggregated as well, as in val: [ y,x ]/{y,x}/(x,y,...)
Signed-off-by: shennetsind <ind@henn.et>
|
|
Special Thanks to bgamez23, kyeme.
Signed-off-by: shennetsind <ind@henn.et>
|
|
instance custom map names no longer linger in the index after the instance is destroyed
http://hercules.ws/board/tracker/issue-7833-instancing-issues/
Signed-off-by: shennetsind <ind@henn.et>
|
|
The field is now NULL when the value is not provided, instead of MAX_LEVEL.
Special Thanks to Mvmbles for bringing the issue to our attention.
Signed-off-by: shennetsind <ind@henn.et>
|
|
- HPMi->addCommand is now addAtcommand, dropped usage of ACMD_A()
- HPMi->addScript is now addScriptCommand, dropped usage of BUILDIN_A()
- HPMi->addCPCommand is now addCPCommand, dropped necessity of CPCMD_A()
- HPMi->addPacket is now addPacket, 5th param (HPMi->pid) is now automatically filled by the macro, therefore param count drops to 4 (packetID,packetLength,packetFunction,packetIncomingPoint).
There is no longer necessity to check for the availability of the commands, the macros will do it on their own and drop a warning about it upon failure.
These changes won't affect pre-compiled plugins.
Signed-off-by: shennetsind <ind@henn.et>
|
|
- Various Makefile optimizations
Signed-off-by: Haru <haru@dotalux.com>
|
|
- 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>
|
|
http://hercules.ws/board/tracker/issue-7832-compile-issue/
Signed-off-by: shennetsind <ind@henn.et>
|
|
@charban/@charunban, can temporarily block any accounts as opposed to the usual account-wide block.
Special Thanks to Haruna, Yommy!
Signed-off-by: shennetsind <ind@henn.et>
|
|
Enabling the maintenance mode will now restrict login based on group id (previously maintenance mode was merely cosmetic and would allow all accounts to access).
Renamed char-server.conf setting char_maintenance to char_server_type, added char_maintenance_min_group_id to be used in conjunction with char_server_type:1
Signed-off-by: shennetsind <ind@henn.et>
|
|
May be used as ./map-server --db2sql or by typing "server tools db2sql" within map-server console parse.
Special Thanks to Haruna.
Signed-off-by: shennetsind <ind@henn.et>
|
|
- Modified how the core handles it, making it easier to add new points.
- Modified how plugins call it, calls were made shorter, e.g. 'HPMi->getFromSession(session[fd],HPMi->pid,0)' => 'getFromSession(session[fd],0)' -- check src/common/HPMi.h #defines for all the options
- Added support for npc_data (getFromNPCD and so on) as requested in http://hercules.ws/board/topic/2923-hpm-custom-struct-npcs/
Signed-off-by: shennetsind <ind@henn.et>
|
|
As a necessary measure for the upcoming bot that will keep .sql files in sync with their .txt counterparts.
Special Thanks to Haruna
Signed-off-by: shennetsind <ind@henn.et>
|
|
|
|
Special Thanks to Haruna
Signed-off-by: shennetsind <ind@henn.et>
|
|
Re-added the changes that were gone in the update conflict.
Signed-off-by: shennetsind <ind@henn.et>
|
|
* This will check if C/C++ Compiler Version since VER 18.00 already defined Interlocked/Interlocked64.
Signed-off-by: Shido <the.keikun@gmail.com>
|
|
Signed-off-by: shennetsind <ind@henn.et>
Conflicts:
src/map/pc.c
|
|
Introducing the Hercules Standalone Script Syntax Checker
|
|
partial usage of ea:15242 (ai4rei) -- will revisit the remaining.
Signed-off-by: shennetsind <ind@henn.et>
|
|
- Added a command line argument '--script-check' to check a script's
syntax without running the server (and without requiring a SQL
connection). Usage: ./map-server --script-check /path/to/the/script.txt
- For convenience, a script-checker bash script is provided, to set the
path correctly when called from a different directory. Usage:
/path/to/Hercules/script-checker /path/to/the/script/to/check.txt
- While the script checker will supposedly work under windows as well,
no convenience scripts are currently provided for platforms other than
UNIX (feel free to open a pull request with a .bat launcher or
whatever you like)
- Integration with IDEs or text editors is possible. In fact, I already
have a fully functional plugin for vim (through vim-syntastic), and if
there's enough interest, I'll publish it. - screenshot: http://d.pr/i/NOBD
- If you want an online checker, http://haru.ws/scriptchecker/ is
running this code, without modifications and will be kept up to date
(without any warranty though.)
- Special thanks to Ind, Yommy, Streusel, who helped making this
possible, in a way or another.
|
|
- The --disable-packetver-re (or --enable-packetver-re=no) flag
prevents the definition of PACKETVER_RE (without editing mmo.h)
- The --with-key1=, --with-key2=, --with-key3= flags override the
encryption key defined by the current packetver. All three flags are
required if at least one is used, or they'll be ignored.
- These options are mostly useful for buildbots, developers who often
use git bisect, or users who want to minimize their diffs and still
want to override those settings.
- (unrelated minor tweak) Silenced an unnecessarily verbose STDERR
message caused by the $CC shipped with clang-5 during the MinGW check.
|
|
@speed no longer screws up on map change, modified @speed feedback so its clear whether the permanent speed flag is gone, enhanced @speed by making it capable of bypassing battle_config.max_walk_speed, made status_calc_speed rely on MIN_WALK_SPEED instead of the hardcoded 0, modified MIN_WALK_SPEED from 0 to 20 (it 1) wasnt being respected and 2) less than 20 clips).
@speed is now capable of moving the character faster, prior to this commit @speed 0 was equivalent to @speed 50 of this new version, @speed 20 for example is now the new maximum (and moves much faster).
http://hercules.ws/board/tracker/issue-7786-speed-bug-when-changing-maps/
Thanks to Mumbles for all the info
Signed-off-by: shennetsind <ind@henn.et>
|
|
Signed-off-by: shennetsind <ind@henn.et>
|
|
|
|
Fonts are now relog-persistent.
Font items are now toggle-on/off, they no longer go away on use, they go away when their rental duration is over (and the font effect goes back to original).
Special Thanks to Yommy for all the data!
Signed-off-by: shennetsind <ind@henn.et>
|
|
Corrected some leftover 32bit typecasts. Special thanks to Ind.
Signed-off-by: Haru <haru@dotalux.com>
|
|
|
|
http://hercules.ws/board/topic/581-implement-the-shadows-system/
Special Thanks to Yommy for all the client data, Haru for making it possible to get it out and rosfus for the details on the feature.
Shadows Feature requires packetver 20120925 or newer.
----------
Also: Updated all packets related to the shadows system, improved memory/processing of inventory/cart/storage/viewequip packets
Signed-off-by: shennetsind <ind@henn.et>
|
|
- 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>
|
|
As requested by the community in http://hercules.ws/board/topic/1702-implement-rathena-npc/ we're merging in the latest of rAthena's dungeons, this includes the rewriting of all instance dungeons and the addition of 4 dungeons that were not present previously (BakonawaLake, BangungotHospital, BuwayaCave and OldGlastHeim).
Update also includes the ability for instances to reset (or be destroyed if instance files were disabled/removed) upon @reloadscript, instance scripts are able to control to what stage the instances are to be reset via the instance_set_respawn (reload spawn) script command, OnInstanceInit labels are now triggered when the instance starts via instance_init (and upon reload), they may be used alongside instance variables (which are persistent to @reloadscript) to save players' progress.
- NPC Changelog:
-- npc/instances/EndlessTower.txt
--- 2.2 Instance system rewrite. [Euphy]
--- 2.3 Added some missing announcements. [Euphy]
--- 2.4 Added GM management function. [Euphy]
-- npc/instances/NydhoggsNest.txt
--- 1.5 Instance system rewrite. [Euphy]
--- 1.6 Added GM management NPCs. [Euphy]
-- npc/instances/OrcsMemory.txt
--- 1.7 Instance system rewrite. [Euphy]
-- npc/instances/SealedShrine.txt
--- 2.3 Instance system rewrite. [Euphy]
-- npc/other/gm_npcs.txt
--- 1.0 First version. [Euphy]
-- npc/re/instances/BakonawaLake.txt
--- 1.0 First version. [Euphy]
--- 1.1 Added GM management NPC. [Euphy]
-- npc/re/instances/BangungotHospital.txt
--- 1.0 First version. [Euphy]
--- 1.1 Added GM management function. [Euphy]
-- npc/re/instances/BuwayaCave.txt
--- 1.0 First version. [Euphy]
-- npc/re/instances/HazyForest.txt
--- 1.1 Instance system rewrite. [Euphy]
-- npc/re/instances/MalangdoCulvert.txt
--- 1.0b Fixed incorrect use of 'close'. [Joseph]
--- 1.1 Instance system rewrite. [Euphy]
-- npc/re/instances/OctopusCave.txt
--- 1.1 Instance system rewrite. [Euphy]
-- npc/re/instances/OldGlastHeim.txt
--- 1.0 First version. [Euphy]
Special Thanks to Haru, Uziel for their contributions to this update, and ossi0110 for helping us debug it.
Signed-off-by: shennetsind <ind@henn.et>
|
|
Attempting to hook to a unknown hooking point will now display a message.
Added support for item bonuses
Check https://github.com/HerculesWS/StaffPlugins/tree/master/shennetsind/bCoolDownRate for a demonstration.
Signed-off-by: shennetsind <ind@henn.et>
|
|
http://hercules.ws/board/topic/2455-introducing-bank-support/
Thanks to Yommy, Haru!
Signed-off-by: shennetsind <ind@henn.et>
|
|
- 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>
|
|
http://hercules.ws/board/topic/2399-hpm-hooking-now-available/
Signed-off-by: shennetsind <ind@henn.et>
|
|
Er. I mean, a decade-old unused member in one of the most busy core section -- timers.
Signed-off-by: shennetsind <ind@henn.et>
|
|
Fully Interfaced.
Moved missing vars and declarations of interest into the interface.
Removed a couple things from pc.h into mmo.h due to circular dependence.
Signed-off-by: shennetsind <ind@henn.et>
|
|
This is necessary for the upcoming HPM hooking system
|
|
Credits to 3ceam2 for the base,Thanks to Rytech.
-The skill still needs to be completed, as well as support for higher base stats.
-Bonus stats are set to temporarily values until the official ones are known.
-Updated the item_db.txt file with information on the Rebellion's job equip mask.
-Added packets and packet keys for 2013-08-07Ragexe with the info provided by Shakto,Thanks to Shakto.
-A 2013-08-07Ragexe client or higher is required for this job to be properly playable.
|
|
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.
|