AFKMud 2.5.0
Author
Submitted by
Version
D/L
File Size
Date Added
Last Updated
AFKMud Team
Samson
2.5.0
31
1.70 MB
Jan 14, 2025
Description
AFKMud 2.5.0 has been released.
This is a major update introducing new material and heavily upgrading existing functionality in addition to fixing bugs.
For details, check the AFKMud repository on GitHub. The commits ought to be detailed enough.
Changes for AFKMud 2.5.0
New Material
A new backtrace function was added that uses the C++23 standard library calls to generate traces for the bug() function. Fallback support is available for systems where GCC 13 and up are not yet available.
Changes
Massive overhaul of the Overland support. The system is no longer bound to a static set of hardcoded maps. Instead they are now loaded during boot from regular data files in the Maps folder.
Please note: Your existing entrances, landmarks, and landing sites will need to be manually updated to fit the new system. See the provided files in the codebase for how to handle that.
Sorry, but there was no way to automatically convert the old data into the new system because it was stupidly reliant on the hardcoded tables.
You can now create, edit, and destroy map files on demand while online without any need for code support. Including generating the png file for a map on the fly as needed.
Includes support for "maps" that have no overland view. These are treated as "planes" of separation for regular areas, such as the Astral Plane or the Immortal zone (void.are).
skyship.h has been removed. Its contents are now part of overland.h. Make sure you move any addition you've made in this file into overland.h.
Moved the check_area_conflicts functions over to build.cpp since they're more relevant there than with area file conversions.
Capitalized some playable races and NPC classes which were being displayed as lowercase.
Added a guard for the Astral Walk spell if the astral.are file is not present in the game.
Player config values have been trimmed. Several useless values existed, and for some asinine reason the room number a player saved in was stored with them. Room number is now stored separately. SAVEVERSION has been raised to 24 to correct older pfiles.
The level for the donate command has been reduced from 10 to 5.
Valgrind stuff has been removed given that GCC has native memory sanitization now.
Bug Fixes
Fixed a memory leak when loading password hashes from players. https://smaugmuds.afkmods.com/topic/pwd-memory-leak-5002/
Fixed the "&d" being visible when "Cleaning up Memory" is displayed. This is the last thing a logged in immortal will see before the connection closes and it wasn't resetting color as expected.
do_vassign doesn't need to do double calls to assign_area.
Fixed some instances where do_ commands were being called with a NULL argument. C++23 doesn't like that.
Similarly, fixed some instances where returning a NULL string is no longer allowed.
Corrected a few places where the wrong numerical type was used to load a number from a file.
The social table did not have its default memory allocation done during boot.
The return value for distance calculations in the environment code had no reason to be downcast to int.
During player saves, the mob file version was being written, but never read during reload.
Loading shell commands during boot will no longer trigger an erroneous EOF error.
Reset chances on the commands that have a random chance value were not correcting for 0%. It is invalid to have a reset with a 0% chance of happening. These will now be corrected to 1% at boot.
Fixed a crash in the overland code when the player is at or near max level and check_random_mobs tries to spawn something.
Fixed the setexit command not working properly to set an overland exit to go to a normal room.
Revisions: 0