BACK UP YOUR FILES FIRST
This is especially true, since the circlemud 3.5 code released
during december 2006 WILL RUIN YOUR HOUSE FILES and CORRUPT your
rent files. This is due to the introduction of ASCII rent files.
Unfortunately we were too eager to add what we thought was a
magnificent idea, and in the process forgot that people with
actual live running muds might use the code we provided.
Since the development has taken place on TBA, which has no players
as such, we failed to notice that the update was not thorough enough,
and several important additions were not added - for instance, a
house file and rent file converter tool. Also, it turned out, the
addition had severely hampered the object saving and loading routines,
to a point where items were being saved in an incompatible format
in houses.
Here is how to successfully convert your circlemud 3.1 house files,
step by step:
1) backup your house files somewhere not in the /lib/house folder
2) apply patch, debug, etc.
3) run the mud
4) now copy your house files back (while the mud is running!)
5) from within the mud, type "hcontrol asciiconvert" (without the quotes).
This will give you some feedback about which houses are being processed.
6) shut down the mud
7) in lib/house, enter these commands:
rm *.house (you still have a backup of this, right ?)
for i in *.ascii; do mv "$i" "${i/.ascii}"; done
8) start the mud - your houses now contain the right items.
9) feel free to remove code in house.c marked with CONVERSION tags.
such options (on/off) which can handle this.
Cleanup of house.c and objsave.c - now, when loading objects from a rentfile (either
house- or crashfile), the items are loaded into a temporary list of type obj_save_data.
This stores location data for the autoequip function, and makes it a lot easier to
handle listrent. Another bonus us that one only has to change load code in one spot.
(this spot is called objsave_parse_objects(), and simply takes a FILE pointer as argument)
Added "hcontrol show [room]" option to show items saved to a specific house file.
(used the old House_listrent() code)
Welcor
Adding of the appropropriate structs to the plrtoascii utility.
Incoorporation of changes from old circlemud CVS snapshot
this also gives more info on SYSERRors.
cleanup of zmalloc language (shit->tmp)
PRF_ROOMFLAGS has been renamed to PRF_SHOWVNUMS for clarity.
"Deaf" has been changed to "No_shout" in preference_bits, for clarity.
Addition of hindex (help index) command.
who command added argument -g and -l to check who are grouped (and
leaders)
toggle has been expanded, and the commands nohassle, holylight,
color, buildwalk, syslog and roomflags were moved to toggles.
renaming of some vars in dg files (xxx -> dg_xxx) for clarity.
set <player> password can now be used by other people than the first
implementor - id check removed.
fix of a couple of minor bugs:
- crash bug related to freeing a pointer twice - ascii pfiles bug.
- host was not updated correctly after switch to ascii pfiles.
Todo:
make "who #-#", "who #-" and "who -#" all work as "who -l #-#" did before
Remove redundant commands which are now toggles.
Make script variables save to pfile instead of its own file.