Login
User Name:

Password:



Register

Forgot your password?
 Array out of bounds ?
Jan 14, 2025 10:00 pm
By Samson
AFKMud 2.5.0
Jan 14, 2025 3:27 pm
By Samson
time_update
Jan 12, 2025 9:53 pm
By Remcon
pwd memory leak
Jan 11, 2025 6:31 pm
By Samson
AFKMud 2.2.5
Jan 8, 2025 5:04 pm
By Samson
AFKMud 2.5.0
Author: AFKMud Team
Submitted by: Samson
SWFotEFUSS 1.5.2
Author: Various
Submitted by: Samson
SWRFUSS 1.4.2
Author: Various
Submitted by: Samson
SmaugFUSS 1.9.6
Author: Various
Submitted by: Samson
AFKMud 2.2.5
Author: AFKMud Team
Submitted by: Samson
Users Online
Anthropic, Google, Bing

Members: 0
Guests: 12
Stats
Files
Topics
Posts
Members
Newest Member
500
3,824
19,773
592
Shane4406

» SmaugMuds » Codebases » AFKMud Release Announcements » AFKMud 2.5.0
Forum Rules | Mark all | Recent Posts

AFKMud 2.5.0
< Newer Topic :: Older Topic > Big overland update!

Pages:<< prev 1 next >>
Post is unread #1 Jan 14, 2025 3:20 pm   
Go to the top of the page
Go to the bottom of the page

Samson
Black Hand
GroupAdministrators
Posts3,722
JoinedJan 1, 2002

 
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.

Post is unread #2 Jan 14, 2025 3:27 pm   
Go to the top of the page
Go to the bottom of the page

Samson
Black Hand
GroupAdministrators
Posts3,722
JoinedJan 1, 2002

 
When updating continent data to support the new system, some things need to be accounted for.

First - when porting your entrance data over from the entrances.dat file, the "OnMap" field needs to be left out. You will have to determine which maps belong to which numbers, because the old code foolishly just assumed the hardcoded table would be sufficient. So a block that looks like this:
#ENTRANCE
ToMap      -1
OnMap      0
Here       500 500
There      -1 -1
Vnum       50499
End


Should look like this instead when being added to the proper *.cont file:

#ENTRANCE
ToMap      -1
Here       500 500
There      -1 -1
Vnum       50499
End


Second - When porting a #LANDMARK entry from the old landmkars.dat file, the first number value in the coordinates line must be dropped as this was the old hardcoded map value. So a block that looks like this:
#LANDMARK
Coordinates 0 911 927 15
Description a white marble tower stands on top of the mountain range
Isdesc      0
End


Should end up looking like this in the *.cont file it needs to go to:
#LANDMARK
Coordinates 911 927 15
Description a white marble tower stands on top of the mountain range
Isdesc      0
End


And finally - When porting a #LANDING_SITE entry from the old landing_sites.dat file, the first value in the Coordinates line needs to be dropped for the same reasons. So a block that looked like this:
#LANDING_SITE
Coordinates     0 476 392
Area            Bywater
Cost            50000
End


Should end up looking like this in the appropriate *.cont file:
#LANDING_SITE
Coordinates 476 392
Area        Bywater
Cost        50000
End


The new data files supplied with the codebase update should provide sufficient examples of how the data should be arranged in the new *.cont files.

Pages:<< prev 1 next >>