User Name:



Forgot your password?
AFKMud 2.2.3
Author: AFKMud Team
Submitted by: Samson
Author: Various
Submitted by: Samson
Author: Various
Submitted by: Samson
SmaugFUSS 1.9.4
Author: Various
Submitted by: Samson
SmaugFUSS 1.9.3
Author: Various
Submitted by: Samson
Users Online
CommonCrawl, Google, SemrushBot, Bing

Members: 0
Guests: 7
Newest Member

Today's Birthdays
There are no member birthdays today.
» SmaugMuds » Codebases » AFKMud Release Announcements » AFKMud 1.7 has been released
Forum Rules | Mark all | Recent Posts

AFKMud 1.7 has been released
< Newer Topic :: Older Topic > Lots of stuff happening

Pages:<< prev 1 next >>
Post is unread #1 Mar 6, 2005 1:42 pm   Last edited May 3, 2005 12:49 am by Samson
Go to the top of the page
Go to the bottom of the page

Black Hand
JoinedJan 1, 2002

Version 1.7 of AFKMud has been released.

This is a bugfix/feature enhancement release.
A patch file is attached to this post, and will only be available via this post.
You must use g++ to compile this release.

This will likely also be the last of the 1.7 line. We are beginning a move toward changing over to C++ coding and frequent patches during this would prove destabalizing. Any critical updates needed will most likely be issued in the form of forum updates.
( yeah yeah, I know it's been said before! You weren't supposed to notice! )

To apply: place the patch file in your afkmud directory and use the following:
patch -p1 < 17patch

This patch is intended for use on the original 1.64 package which was released on 11/25/04. If you have already applied any of the bugfixes in the forum post for 1.64 fixes then the patch will likely fail. Proceed at your own risk.

Standard disclaimer type stuff: Changes in this version may or may not remain compatible with your older support files, such as areas, commands, skills, socials, etc. If things break, you were warned.

Bugfixes this release:

Nested put resets have finally been fixed completely. [Samson]
(See details in followup forum post)
Zarius' liquid system patch applied. [Zarius]
Web related code now conforms to HTML standards. [Samson]
Quotes are not being unlinked from the list during memory cleanup. [Samson]
Language profiles are not being unlinked from the list during memory cleanup. [Samson]
Name authorization listings for changed names are not being properly reallocated. [Samson]
KEY macro is not completely safeguarded. [Samson]
create_new_race is not properly allocating the where_name list. [Samson]
free_shellcommands is not unlinking entries from the list. [Samson]
do_mpforce performs actions which may remove mobs/players from the room and fails to safeguard against this. [Samson]
Assisting mob check is iterating over the entire CHAR_DATA list instead of the room. [Samson]
Astral walk spell is not safeguarded against characters leaving the room. [Samson]
Group Towngate spell does not safely transfer people from the source room. [Samson]
Despair spell is not protected against targets who might flee the room. [Samson]
Liquid mixture table has an array which is too small. [Samson]
save_equipment array is defined with a hardcoded value. [Samson]
Creating new repair shops sets hardcoded initial close_hour value. [Samson]
imclog function is not showing up for users. [Zarius]
char_to_room is not adjusting the player count in an area. [Zarius]
Memory leak in clean_obj - not clearing mudprog pointers. [Samson]
Memory leak in clean_room - not clearing mudprog pointers. [Samson]
delete_room saves areas when not desireable. [Samson]
Value settings on some items causes a crash when the item is stat'd. [Samson/Celestria]
Deity worshipper count is not being adjusted in do_mset. [Samson/Celestria]
Deity worshipper count is not safeguarded against going negative in do_devote. [Celestria]
Clan member count is not safeguarded against going negative in do_mset and do_outcast. [Samson]
RISA flags converted to EXT_BV to correct bugs in how they were handled on objects. [Samson]
Repairset command is not recognizing mob names or vnums. [Celestria]
(This one is not in the patch - technically was discovered after the release. Check the 1.64 bugfix list final post )

Non-Bugfix alterations:

Areaconvert command looks for zones in a new directory. [Samson]
weather_info pointer is no longer used but was never removed. [Samson]
-Winline removed from Makefile. [Samson]
Log messges for area loading made easier to read. [Samson]

Items not covered in the patch file:

In mudcfg.h, under the appropriate sections, add:

#define AREA_CONVERT_DIR "../areaconvert/" /* Directory for manually converting areas */

#define OBJ_VNUM_DUMMYOBJ        11000; /* This one is used by resets to make sure they work right - Samson 2/25/05 */

Post is unread #2 Mar 6, 2005 5:21 pm   
Go to the top of the page
Go to the bottom of the page

Black Hand
JoinedJan 1, 2002

With regard to the above mentioned reset fixes:

The problem

Nested put resets in Smaug have had a notorious history for not working correctly.
In stock form, the code is incapable of generating them properly using the OLC,
incapable of processing them properly when area files are loaded, and incapable of
loading items properly according to how resets are defined in the file even if the
file is manually edited.

Part of this was corrected with a previous bugfix which allowed the OLC to generate
the proper resets which will then save correctly into the area files. These resets
load to the area in the proper order but the nested puts still did not perform as

An example of the issue:

Load a chest into a room.
Load a bag into the chest.
Load a pouch into the bag.
Load a trinket into the pouch.

The expected result would of course be to have to dig through all that to get the trinket
out of the chest, but what really happens is that it all just loads as contents of the chest.
This problem has existed at least as far back as Smaug 1.4a and therefore affects practically
all codebases derived from it. I have confirmed that this problem exists on Smaug FUSS, as well
as ResortMUD and the public AFKMud code, so in all likelyhood all Smaug derivatives are affected.

Obviously the AFKMud resets have now been fixed.

The solution

In order to fix this problem, I decided it would be best to disassociate resets with an overall
area and instead focus them on individual rooms, which are then associated with an area so
that normal whole area resetting can still take place. Of course this required alot of reworking
of how the entire system works. But the end result is that the example above will perform properly
and all objects assigned to put resets will load exactly as intended.

Areas now have a list of rooms.
Rooms now have a list of resets that should take place in them.
Object and Mobile resets now have child resets which belong to them.

There is one caveat to be aware of though. Area files may have invalid data still in them and once
the fix is applied they may produce unexpected results, such as swords loading inside of shoes, etc.
Affected area files will need to be fixed by hand, so you will need a working knowledge of how
they are formatted. Trap and Hide resets will also not be convertable because the code has no
confirmed way to know where they should be place. These will also need to be hand corrected.
There may also be items and mobs loading into unexpected rooms. Some functionality of the
manual reset editing has also been removed for now. Best to scale back and rebuild rather than keep
kludgy code that would only need to be rewritten anyway. If this functionality is desired, it
can be added back in easily enough.

Once all that is corrected though, the reset system will hum along quite nicely.

Post is unread #3 Mar 27, 2005 7:21 pm   
Go to the top of the page
Go to the bottom of the page

Black Hand
JoinedJan 1, 2002

Realized the patch file is missing after the forum conversion.

[Note to self - see if you can fix this in the convertor]

Attached file:

Filename: 17patch.txt
Size: 351 KB
Downloads: 19
Pages:<< prev 1 next >>