2006-12-27 06:40:05 Sean Middleditch <elanthis@awesomeplay.com>
* Remove debugging message. Oops.
2006-12-27 06:37:15 Sean Middleditch <elanthis@awesomeplay.com>
* Finally stabilized the sorting of entities so that they quit
bouncing around in the zone files.
* Began adding a ruleset file. It's mostly just thoughts,
and is so far unimplemented.
2006-10-08 08:43:22 Sean Middleditch <elanthis@awesomeplay.com>
* When a socket is waiting for a disconnect, do not call the flush
method any further. (It shouldn't have any new waiting output,
after all.) This will fix a rather nasty problem that occurs
when a telnet session times out from inactivity.
* Explicitly flush text chunk in telnet code before requesting
a disconnection.
* Remove spurious log of event name in AI module.
2006-10-05 03:03:27 Sean Middleditch <elanthis@awesomeplay.com>
* Fix the network code to use a vector of bytes instead of a
StringBuffer for output buffering, so that we can use embedded
NUL bytes again, so that ZMP works.
2006-10-01 07:54:48 Sean Middleditch <elanthis@awesomeplay.com>
* Show the direction of all exits in room lists.
2006-09-30 06:16:20 Sean Middleditch <elanthis@awesomeplay.com>
* Don't require a room for events, since events like EnterZone
for creatures just entering the game have no old room.
* Added a new AI, monster.ai, which is a very simple "attack
random player in room" AI.
* Removed the foodchain stuff from npc.sx.
* Added an attackRandomPlayer() method in npc.sx.
* Fixed display of object descriptions in Creature::do_look().
2006-09-23 04:01:49 Sean Middleditch <elanthis@awesomeplay.com>
* Added a created and last login time stamp to Player.
* Added a total playtime field to Player.
* Renamed start/quit in Player to start_session and end_session.
2006-09-22 17:30:56 Sean Middleditch <elanthis@awesomeplay.com>
* Fixed player saving of stats, it was saving stat values as
strings instead of as integers.
* Added some functions to easily convert between time_t and
String.
* Added creation time and last login time tracking to accounts.
2006-09-21 02:57:37 Sean Middleditch <elanthis@awesomeplay.com>
* Updated player and npc types to use the new fileobj list
construct.
* Updated the skill info format to prepare for pure-skill system,
including dynamic XP pools and the removal of hard-coded stats.
2006-09-17 22:26:46 Sean Middleditch <elanthis@awesomeplay.com>
* Added a new list type to the fileobj format, which is currently
used by the races file.
* Cleaned up the fileobj API to remove all legacy cruft.
2006-09-17 18:04:14 Sean Middleditch <elanthis@awesomeplay.com>
* More work on updating the events in use.
2006-09-17 05:01:57 Sean Middleditch <elanthis@awesomeplay.com>
* New event system semantics.
* Removed object action code, as the new event semantics
super-cede it.
2006-09-15 22:09:01 Sean Middleditch <elanthis@awesomeplay.com>
* Many portal updates.
* The example.zone was very incomplete and buggy, and with the new
portal changes, required a lot of work to update. Began writing
a new example world (pulled straight from the arse as I go).
* Fixed error message on unknown attributes in fileobj files.
2006-09-12 02:35:25 Sean Middleditch <elanthis@awesomeplay.com>
* Began restructing the portal system. All portals will now be
shared between room instances, unless the portal is explicitly
marked one way. This means that each portal has to be added to
only a single room in the .zone files, and it will automatically
register itself with the target room on load up. Or will,
at least; that's not yet complete.
2006-09-11 01:47:43 Sean Middleditch <elanthis@awesomeplay.com>
* Updated the manifest file code.
2006-09-10 04:21:25 Sean Middleditch <elanthis@awesomeplay.com>
* Added a new manifest.txt parser/generator. These files are
used to list other files. Brilliant, isn't it?
* Updated the script loader, AI loader, HTML template loader,
and help file loader to use the new manifest.txt support
instead of using a customer file or opendir().
* Moved files around a bit, so that each set of files is in its
own directory and thus can have its own manifest.txt.
2006-09-10 01:29:57 Sean Middleditch <elanthis@awesomeplay.com>
* Fixed some accidental replacements of "character" with
"creature."
* Fixed an echo handling bug.
2006-09-08 16:48:12 Sean Middleditch <elanthis@awesomeplay.com>
* Cleaned up the socket classes and their interfaces.
2006-09-07 02:59:47 Sean Middleditch <elanthis@awesomeplay.com>
* Removed support for ZMP net.awemud package, since it doesn't
really exist anywhere.
* Player now attaches to a IPlayerConnection object. Basically,
this allows us to have multiple protocols for players.
2006-09-06 00:20:31 Sean Middleditch <elanthis@awesomeplay.com>
* Parse system now only accepts named parameters; they may no
longer be accessed by index, and every parameter must have
a name.
* Updated all script functions/methods that used the parsing
engine to take alternative string/value pairs in their variable
argument list.
* Updated all date and source to replace use of indexed parse
parameters with named parameters.
2006-09-05 11:45:41 Sean Middleditch <elanthis@awesomeplay.com>
* Fix name of awemud.conf parameter for setting the HTML template
directory.
* Make the awemud start script work properly again.
2006-09-05 03:10:29 Sean Middleditch <elanthis@awesomeplay.com>
* Split the data/html file into separate .tpl files in data/html/.
2006-09-04 20:39:32 Sean Middleditch <elanthis@awesomeplay.com>
* Made _ a valid character for a parse name.
* Improved HTTP error system.
* HTTP handler no longer stores all headers, but only the values
of the ones it cares about, to avoid header bomb attacks.
* Fixed bug in ScriptFunction::run(ScriptValue,ScriptValue)
where it wasn't storing the second argument correctly.
* Cleaned up HTTP handler.
2006-09-04 10:13:22 Sean Middleditch <elanthis@awesomeplay.com>
* The function is called exit(), not portal(); yay for
search-and-replace.
2006-09-04 09:46:09 Sean Middleditch <elanthis@awesomeplay.com>
* Fixed telnet timeout not working.
* Added a Nil type to Scriptix to avoid crashes on errors
regarding nil values.
* Added HTTP timeouts.
* Added request size checking to HTTP requests.
* Greatly improved HTTP error reporting and logging.
* Note: HTTP still susceptible to "header bombing."
2006-09-04 07:13:47 Sean Middleditch <elanthis@awesomeplay.com>
* Add proper HTTP session tracking and session IDs.
* WARNING: I have no clue how secure the session IDs are.
Not my area of expertise.
2006-09-04 04:49:23 Sean Middleditch <elanthis@awesomeplay.com>
* AweMUD now includes a basic web server, complete with
Scriptix integration. Sort of. Still needs a lot of work.
DO NOT enable on sites with public access, the code is not
yet deemed secure.
2006-09-04 01:42:19 Sean Middleditch <elanthis@awesomeplay.com>
* Fix mail compilation for systems with sendmail support.
2006-09-04 01:23:46 Sean Middleditch <elanthis@awesomeplay.com>
* Changed object actions from a file object to an attribute.
* Renamed attribute type of creatures from char to creature.
* Cleaned up the parser code, added (somewhat) useful error
messages on failure.
* Fixed the parse codes used in example.zone for day/night tests.
2006-09-04 00:04:41 Sean Middleditch <elanthis@awesomeplay.com>
* Renamed RoomExit and related types to Portal.
* Fixed some Character/Creature conversion mistakes.
2006-09-03 23:45:53 Sean Middleditch <elanthis@awesomeplay.com>
* Remove differentiation between attributes and keyed attributes
in file object format; all attributes are now keyed.
* Clean up file obj API calls.
2006-09-03 23:22:05 Sean Middleditch <elanthis@awesomeplay.com>
* Renamed Character to Creature.
2006-09-03 23:02:07 Sean Middleditch <elanthis@awesomeplay.com>
* Fix compilation of MailMessage calls in cmd_player.cc.
2006-09-03 22:03:16 Sean Middleditch <elanthis@awesomeplay.com>
* Updated the skills file to use the tab file format.
* Re-implemented str_tr().
* Used str_tr as a quick hack to make player file saving of
traits work again.
2006-09-03 21:21:26 Sean Middleditch <elanthis@awesomeplay.com>
* Implemented a new tab-delimated file format parser.
* Changed socials to use a tab-delimated file format.
2006-09-02 22:34:38 Sean Middleditch <elanthis@awesomeplay.com>
* Minor but incompatible changes to the file object format.
* Most attributes stored in file object format are now keyed.
* Player loading is not quite right yet, due to traits and skills
being invalid IDs.
2006-09-02 20:34:45 Sean Middleditch <elanthis@awesomeplay.com>
* Added File::Object type to remove need for reader loops.
2006-08-19 07:30:56 Sean Middleditch <elanthis@awesomeplay.com>
* Remove the debugging printout in event.cc.
2006-07-17 01:43:44 Sean Middleditch <elanthis@awesomeplay.com>
* Re-enable the attack_hit action on weapons during combat.
2006-07-16 12:49:25 Sean Middleditch <elanthis@awesomeplay.com>
* Replace all uses of print and printf methods in scripts with
streams.
* Added @ignore stream.
* Added documentation for streamops.
2006-07-15 13:50:38 Sean Middleditch <elanthis@awesomeplay.com>
* Added @indent stream operator.
* Improved @name stream operator.
* Updated player.sx to use streams everywhere.
2006-07-15 13:42:19 Sean Middleditch <elanthis@awesomeplay.com>
* Added Scriptix stream operator support.
* Removed the boolean return on IStreamSink::end(), we no longer
need to delete those automatically; we have a GC, after all.
2006-07-14 20:12:14 Sean Middleditch <elanthis@awesomeplay.com>
* Make new character's HP set to the max.
* Allow saving and loading of customized names on Objects.
* Waffle on Scriptix string concat operator yet again; it's back
to .. now.
* Fixed a bug in Scriptix eval loop that would cause it continue
evaluating a function even after an error.
* Added a new stream operator << to Scriptix and basic stream
support for Character and Room. Added one example line of
this in player.sx.
* Stream support is not finished, as the special << @op(args)
format is not yet handled properly.
2006-07-13 21:28:26 Sean Middleditch <elanthis@awesomeplay.com>
* Reduce startup log messages to almost nothing.
2006-07-13 20:41:50 Sean Middleditch <elanthis@awesomeplay.com>
* Release version 0.25.
2006-07-13 16:58:24 Sean Middleditch <elanthis@awesomeplay.com>
* Rename Scriptix Object.setName to Object.setBaseName and
document it better.
* Rename Scriptix Entity.getFullName to Entity.getBaseName and
document it better.
* Fix NPC corpse generation to work properly.
* Added Scriptix functions warning() and error(), like message()
except using Log::Warning and Log::Error, respectively.
2006-07-13 16:47:04 Sean Middleditch <elanthis@awesomeplay.com>
* Fix some incorrect data files caused by testing.
2006-07-13 05:35:07 Sean Middleditch <elanthis@awesomeplay.com>
* Replaced the huge disgusting 128-bit unique IDs with something
much smaller and simpler. Instead of generating true UUIDs,
we now use a simple counter. Each new entity gets a new ID
in sequence. However, in order to avoid duplicate IDs caused
by crashes, the system makes ID reserves. It pre-allocates
1024 IDs (this number can easily be changed, probably will be
changed) and saves to disk this reservation. So, if AweMUD
crashes between allocating an ID and updating data/uniqid,
data/uniqid will still indicate that the next available ID is
much higher than the ones actually in use. If AweMUD shuts
down cleanly, the correct value is saved.
2006-07-13 04:32:49 Sean Middleditch <elanthis@awesomeplay.com>
* Updates to combat algorithms. No these aren't even close to
what we're going to use long-term.
* Reinstated Object::set_name(). Possibly needs some work on
the script integration side.
* Remove the 'new' keyword from Scriptix, and with it the ability
to create new types, and also to create instances of classes.
The former is now unused, and the latter was only used with
Arrays.
* Created a new array() function in Scriptix to create arrays,
similar in spirit to PHP's array() function.
2006-07-13 01:23:22 Sean Middleditch <elanthis@awesomeplay.com>
* Fixed bug in Object::name_match, which was ignoring parent
Blueprint name.
* Fixed ancient incorrect parse format use in NPC blueprints
and example.zone.
* Reinstated the Character::cl_find_* functions.
* Moved str_value into cmd_char, since that's all that used it,
and the new interface is suited solely to that usage.
* Changed the format of accepted values for str_value (and thus
all character commands).
2006-07-12 19:42:39 Sean Middleditch <elanthis@awesomeplay.com>
* Removed the StringArg type, it's not useful anymore.
* Reverted phrase_match to using C-style strings, since the
command parser is more efficient that way.
* Added a prefix_match function, which is more efficient for
one-word matches than phrase_match.
2006-07-12 16:07:05 Sean Middleditch <elanthis@awesomeplay.com>
* Use streams in commands and help instead of just using Player*.
* Automatically register socials as actual commands, instead of
having the command lookup code treat socials specially.
2006-07-12 15:06:15 Sean Middleditch <elanthis@awesomeplay.com>
* Added fdprintf(), which is something libc should freakin'
provide. Stupid libc.
* Lots of updates to Streams. These really need to be rewritten
in terms of ostream and streambuf.
* Added a new StringBuffer implementation, with new header
common/strbuf.h. This implemenation has a 512 buffer
(allocated on the stack for stack copies of StringBuffer) and
then allocates big buffers on the heap if needed. Theoretically
this will reduce allocations; adding some logging on overflow
so I can figure out if it is happening too often.
2006-07-12 02:37:20 Sean Middleditch <elanthis@awesomeplay.com>
* Landed the new String implementation, which uses just
GC'd strings. This means that, in most cases, we now have a
zero-copying, zero-overhead string mechanism. Unfortunately,
there are a few places that still have copying, and a few places
we had to add it. Some of these will be cleaned up shortly,
to make them more efficient.
2006-07-11 19:30:43 Sean Middleditch <elanthis@awesomeplay.com>
* Began the (immense) initial work to use the new String class.
This work requires that all static strings assigned to a
string put in the form S("foo") instead of just "foo" so that
the compiler can tell the difference between static strings
and non-static C-style strings. To use a C-style string,
use String("foo").
* Various minor API updates all over the place to remove use of
C-style strings as arguments to functions. This has resulted
in some extraneous copying which I will remove later.
* Various other small cleanups to the String API and other APIs
that handle strings.
* Added a new Character::cl_find_object() overload for finding
objects in other objects.
* Note: all of the Character::cl_find_* methods are empty right
now, as they need some heavy changes to cope with the new
String API. They'll be updated soon.
2006-07-10 19:37:49 Sean Middleditch <elanthis@awesomeplay.com>
* Removed Race skin_type stuff from the script bindigns; oops.
* Updates to Race to make character creation saner.
* Character creation code is now feature complete. Could use
some cleaning up in the UI, though.
2006-07-10 18:00:14 Sean Middleditch <elanthis@awesomeplay.com>
* The skin_type value in Race hasn't been used in a while,
remove it.
2006-07-10 04:15:56 Sean Middleditch <elanthis@awesomeplay.com>
* All of the character creation code is in C++ as a TelnetMode
now. However, the player traits portion of character creation
is still missing. That'll come up in the next commit.
2006-07-09 20:07:39 Sean Middleditch <elanthis@awesomeplay.com>
* Split up the login/main menu code to login.cc and menu.cc.
* Readying to reimplement character creation as a TelnetMode,
not as an IProcessor, since character creation is the only
IProcessor left. Also, this'll make doing the character
creation code a bit easier and a lot cleaner, and simplify
the Player class as well.
* Remove the IProcessor code completely, as we no longer use it.
* Disable building of char_create.cc, it will be replaced by
creation.cc.
2006-07-09 19:03:03 Sean Middleditch <elanthis@awesomeplay.com>
* Change signature on phrase_match to something a little saner.
* Begin moving character creation code into C++.
* Remove script bindings version of Processor/IProcessor.
2006-06-23 17:17:17 Sean Middleditch <elanthis@awesomeplay.com>
* Fix compilation with gcc 4.1.
2006-06-16 15:48:40 Sean Middleditch <elanthis@awesomeplay.com>
* Remove DB code.
* Make Scriptix::Array::Array(count, list) handle list==NULL as
it's supposed to.
2006-01-25 19:04:02 Sean Middleditch <elanthis@awesomeplay.com>
* More work on the DB backend.
* Updated entity factory code to utilize DB.
2006-01-24 21:58:53 Sean Middleditch <elanthis@awesomeplay.com>
* Fix the alignment problems with the telnet NAWS code so
sparc works.
2006-01-24 04:55:11 Sean Middleditch <elanthis@awesomeplay.com>
* More of the db backend is in place.
* Added a data file which will eventually store the example
game world. This will be the only file in git and shipped
with the tarball. The actual .db file will be generated from
this SQL file only if the .db file doesn't already exist.
This way upgrades won't clobber your work.
2006-01-24 04:09:05 Sean Middleditch <elanthis@awesomeplay.com>
* Add beginning of database backend.
* Depend on sqlite3.
2006-01-23 17:36:03 Sean Middleditch <elanthis@awesomeplay.com>
* Remove the .in data files.
* Make System::get_oparg return intptr_t, not int, so we work
on 64-bit systems properly.
* Change the String operator[] definition a bit so that we work
on more G++ versions.
* Fix fileobj.cc in read_token to use ints rather than chars,
so we don't crash on OpenPOWER.
2006-01-22 07:02:06 Sean Middleditch <elanthis@awesomeplay.com>
* Minor documentation additions.
* Remove builder vision. We so don't use that crap.
* Removed script-intr.xml to bindings.xml.
* Renamed common/awestr.h to common/string.h, common/aweregex.h
to common/regex.h, and scriptix/sxstring.h to scriptix/string.h.
2006-01-21 16:41:15 Sean Middleditch <elanthis@awesomeplay.com>
* Remove dependency on libtool. We don't actually build any
libraries, so we don't need it.
2006-01-21 16:31:50 Sean Middleditch <elanthis@awesomeplay.com>
* Removed the chpass command, trying to remove the IProcessor
stuff, it's unclean.
* Don't build-depend on bison, flex, or xsltproc. Only people
wanting to hack on the source will need those utilities.
This makes installing AweMUD a lot easier, especially on
older/non-gnu systems.
2006-01-21 04:56:03 Sean Middleditch <elanthis@awesomeplay.com>
* OS X 10.3's compiler was being a dork, these fixes make it
stop being a dork, which makes me happy.
2006-01-21 04:30:48 Sean Middleditch <elanthis@awesomeplay.com>
* Darwin/OS X requires sys/types.h to be included before regex.h.
2006-01-21 03:14:56 Sean Middleditch <elanthis@awesomeplay.com>
* Make all accept()ed sockets non-blocking.
* Remove include/scriptix/scriptix.h.
* Remove the -Iinclude/common -Iinclude/mud -Iinclude/scriptix
compile flags, forcing all includes to specify the source
module.
* Move a few source files from src/mud to src/common.
2006-01-20 21:18:24 Sean Middleditch <elanthis@awesomeplay.com>
* Add missing doc/ch-introduction.xml file.
2006-01-20 21:04:33 Sean Middleditch <elanthis@awesomeplay.com>
* Use inet_pton if getnameinfo isn't available. (Cygwin)
* Don't check for socklen_t, we always screw the check up, and
all our target platforms have it. (Cygwin/MacOS X 10.3/Solaris)
* Use fcntl with O_NONBLOCK instead of the MSG_DONTWAIT flag.
(Cygwin)
* Rename parameter s_addr to s_netaddr in mud/telnet.h and
mud/telnet.cc, since s_addr can be a freaky macro. (Solaris)
* Make md5.cc use uint32_t from common/types.h. (Solaris)
* Move md5.cc from src/mud to src/common.
* Fixup common/types.h to use standard int32_t and friends if
stdint.h or inttypes.h is available.
* NOTE: I have compiled and connected to AweMUD successfully
on a sparc Solaris machine... only to have it crash almost
immediately. Not sure if the bug is in libgc or AweMUD
itself yet.
2006-01-20 17:00:25 Sean Middleditch <elanthis@awesomeplay.com>
* Remove custom prompts; code is bit-rotted and unused.
* Cleanup use of EntityName a little.
2006-01-20 02:51:57 Sean Middleditch <elanthis@awesomeplay.com>
* Removed doc/index.html.
* Greatly improve script hook documentation.
2006-01-20 01:30:08 Sean Middleditch <elanthis@awesomeplay.com>
* Changed the control socket protocol's quote characters from {}
to "" to make scripting easier.
* Added a 'login' command to the control socket protocol.
* Add tools/awemud-control.inc.php (COMPLETELY UNTESTED!) so
web developers can easily make use of AweMUD control interface.
* Incorporated doc/control.txt into the AweMUD Manual.
* Removed massroom.pl, dear is it old.
* Removed awemud.6 manpage, totally out of date.
2006-01-19 20:47:55 Sean Middleditch <elanthis@awesomeplay.com>
* Update the command document in the script guide to be accurate.
* Update the FAQ.
* Created awemud-manual.xml and ch-introduction.xml and renamed
script-guide.xml to ch-scripting.xml. Goal is to build all
documentation as a single AweMUD Manual document.
2006-01-18 21:26:13 Sean Middleditch <elanthis@awesomeplay.com>
* Removed player titles.
* Revamped entity name handling.
2006-01-18 18:29:13 Sean Middleditch <elanthis@awesomeplay.com>
* Build fixes.
* Update tools for Cogito/GIT usage.
2006-01-15 20:38:12 Sean Middleditch <elanthis@awesomeplay.com>
* Release 0.24.
2006-01-15 20:29:02 Sean Middleditch <elanthis@awesomeplay.com>
* The admin-guide and user-guide haven't been updated in years,
and I'm not likely to ever do so again anytime soon, so they
are now gone.
2006-01-15 19:33:32 Sean Middleditch <elanthis@awesomeplay.com>
* Moved ScriptFunction into the Scriptix headers.
* Rename Scriptix struct 'members' to struct 'properties'.
* Added a Scriptix::Native type to replace the AweMUD Scriptable
type.
* Renamed mud/scripts.[h,cc] to mud/bindings.[h,cc], since that's
all that code handles now.
* Require explicit inclusion of hooks.h.
* Merged mud/scripts.cc into tools/script-code.xsl, which
is really really ugly, but it means we just have one
mud/bindings.cc file now, which I sorta like, almost enough
to ignore the ugliness of merging the code.
* Began making sure all includes have proper module prefixes,
so that I can eventually remove the -I./include/mud,
-I./include/common, -I./include/scriptix flags.
2006-01-13 23:46:20 Sean Middleditch <elanthis@awesomeplay.com>
* Fix some data files to use the correct parsing format we
use now.
2006-01-13 19:51:46 Sean Middleditch <elanthis@awesomeplay.com>
* Apparantly libtool went and changed behavior again, now
requiring AC_CONFIG_AUX_DIR on some (not all) systems or else
it puts files in weird-ass places and fails to work.
2006-01-12 21:18:39 Sean Middleditch <elanthis@awesomeplay.com>
* Script functions can no longer define varargs style variables.
We weren't using them. Native functions still have vararg
style operation, however, since we do use those extensively.
2006-01-12 20:44:58 Sean Middleditch <elanthis@awesomeplay.com>
* Make 'make distcheck' work. Involved fixing some genuine
errors.
* Reorder appendices in the scripting guide.
2006-01-11 05:31:46 Sean Middleditch <elanthis@awesomeplay.com>
* Make sure the hooks XSL code is distributed properly.
* Require that functions in scripts be declared with the function
keyword.
2006-01-10 21:58:28 Sean Middleditch <elanthis@awesomeplay.com>
* For room and container display, do not show a comma before
the and if there are only two items in the list.
* Remove the colons from the exit, character, and object lists
in room descriptions.
* Put character and object descriptions together in the room
display (sorted with characters first, objects second).
2005-11-23 05:58:59 Sean Middleditch <elanthis@awesomeplay.com>
* Converted Scriptix::System into an IManager.
* Made XML-defined hook list, a la the event list.
* Changed ScriptEngineManager to SScriptBindings, as that's all
it manages now.
2005-11-23 05:58:06 Sean Middleditch <elanthis@awesomeplay.com>
* Converted Scriptix::System into an IManager.
* Made XML-defined hook list, a la the event list.
* Changed ScriptEngineManager to SScriptBindings, as that's all
it manages now.
2005-11-18 06:08:06 Sean Middleditch <elanthis@awesomeplay.com>
* Renamed Scriptix::String to Scriptix::ScriptString.
* Made Scriptix strings use the AweMUD String class.
* Merged ScriptValue features into Scriptix::Value.
* Removal of all use of Scriptix::ScriptString in include/mud
and src/mud folders.
* Update Scriptix::Atom to work using unified string type.
* Tons of other minor updates to make the above work.
2005-11-15 21:43:39 Sean Middleditch <elanthis@awemud.net>
* src/mud/skills.cc needed stdint.h for NULL to work.
* include/scriptix/network.h needed to define socklen_t to size_t
if it's undefined. (FreeBSD has socklen_t, but configure.ac
isn't picking up on that.)
2005-11-15 20:27:01 Sean Middleditch <elanthis@awesomeplay.com>
* Split IManager from include/mud/server.h to
include/common/imanager.h.
* Moved gc*.h from include/mud to include/common.
* Removed include/scriptix/collectable.h and updated Scriptix
to use the common GC types and classes.
* Moved gen to src/xml.
* Removed Scriptix System run-time option methods and members.
* Converted Scriptix Array to use GCType::vector instead of
self-made vector.
2005-11-06 06:49:08 Sean Middleditch <elanthis@awesomeplay.com>
* Correct make dist to include gen/parse-intr.xml.
2005-11-06 06:37:49 Sean Middleditch <elanthis@awesomeplay.com>
* Fix build of parse_commands.cc, which the Makefile was looking
for in src/ instead of src/mud/.
2005-11-04 19:44:29 Sean Middleditch <elanthis@awesomeplay.com>
* Fixes to Makefile.am to correct building of Scriptix.
* Fixes to Makefile.am to include all requires files in make dist.
2005-11-04 18:28:52 Sean Middleditch <elanthis@awesomeplay.com>
* Scriptix is now part of the tree.
2005-11-04 18:15:15 Sean Middleditch <elanthis@awesomeplay.com>
* Moved all header files into subfolders of include, and all
source files into subfolders of src, to prepare for the
inclusion of Scriptix in the AweMUD code tree.
2005-11-02 04:16:35 Sean Middleditch <elanthis@awesomeplay.com>
* Update to the Scriptix API changes.
* Correct sorting of ELists so that we don't get the child entity
bouncing for entities with identical names anymore.
2005-11-01 21:29:52 Sean Middleditch <elanthis@awesomeplay.com>
* The CatchHandler in src/scripts.cc had HandleFunction instead
of handle_function as a member (changed with the previous
Scriptix function/method case change), which caused it to
not be invoked thanks to C++ totally missing the ball on
non-overriding virtual functions.
* CatchHandler also wasn't initializing its func member to
NULL, so it would return garbage instead of NULL, causing
unpleasantness. Fixed so now we get errors when no function
is caught.
2005-09-23 03:11:50 Sean Middleditch <elanthis@awesomeplay.com>
* Rename the x-awemud ZMP package to net.awemud, so as to be
compliant with my own bloody specification.
2005-09-01 20:56:36 Sean Middleditch <elanthis@awesomeplay.com>
* Updated bindings for Scriptix API changes.
2005-08-30 13:42:56 Sean Middleditch <elanthis@awesomeplay.com>
* Export skill data to scripts.
2005-08-28 20:22:30 Sean Middleditch <elanthis@awesomeplay.com>
* Correct the exit usage strings which had not been updated for
the text parser changes.
2005-08-26 16:53:52 Sean Middleditch <elanthis@awesomeplay.com>
* Scriptix API updates.
* Remove all usage of static methods in scripts.
* Update scripts to use the reverted dereference operator and
this week's flavor of string concatenation operator.
* Convert script method names from lower_case to camelCase.
* Improve error generation of script-code so that broken methods
without <code> blocks have nice line numbers.
* Remove the scripttypes.h and script-header.xsl files in place
of the SCRIPT_TYPE macro, so that editing the script interface
defintion file doesn't require rebuilding half the codebase.
* Tested character creation, which works - other scripts may
still be non-functional due to conversion bugs.
2005-08-24 20:15:28 Sean Middleditch <elanthis@awemud.net>
* Update to latest Scriptix API/language which has no function
tags.
* Instead of using the init function tag in scripts, any function
named init is now executed after all scripts are loaded.
* Instead of using the hook function tag with a function with
the hook's name, instead a register_hook function is available
which takes the hook name and a function as input.
* Added an invoke_hook function so scripts can invoke hooks too.
2005-08-19 20:59:57 Sean Middleditch <elanthis@awesomeplay.com>
* I do this a lot, don't it? Add the missing doc/design/store.txt
file.
2005-08-19 20:59:01 Sean Middleditch <elanthis@awesomeplay.com>
* Only supported XSLT processor is now xsltproc. I only test
that one, and differences with others have caused problems
recently for people.
* Updated Scriptix checking code to search in /usr, /usr/local,
and /usr/local/scriptix, in addition to any location specified
by --with-scriptix.
* Remove ancient and out-of-date documentation.
* Reorganization of the little bit of remaining documentation
we have.
2005-08-19 17:07:51 Sean Middleditch <elanthis@awesomeplay.com>
* Fixed script documentation error in the XSLT file regarding
the element name change in script-intr.xml. This was causing
the test server not to build.
2005-08-19 16:00:12 Sean Middleditch <elanthis@awesomeplay.com>
* Races now use the generic trait framework instead of the
hard-coded traits.
* Character creation works again, with full trait support.
2005-08-19 04:29:39 Sean Middleditch <elanthis@awesomeplay.com>
* And it would be useful to include gen/parse-intr.xml,
wouldn't it?
2005-08-19 04:29:06 Sean Middleditch <elanthis@awesomeplay.com>
* Fix build by not requiring the removed include/mixed.h file
anymore.
* Generate all the parse commands out of an XML file,
gen/parse-intr.xml.
2005-08-19 01:36:59 Sean Middleditch <elanthis@awesomeplay.com>
* Rewrite of text parsing system with new (but similar) and more
consistent and reliable syntax.
* Removal of the Mixed type, as only the parsing code was using
it, and replacement with a smaller and leaner ParseValue type.
* Updated data files for new parsing syntax.
* Updated doc/parse.txt for the new syntax.
2005-08-16 00:43:08 Sean Middleditch <elanthis@awesomeplay.com>
* Yet another big update to the traits code. Still incomplete.
2005-08-11 13:25:15 Sean Middleditch <elanthis@awesomeplay.com>
* Removing debugging message from skill.cc.
* Externalize all data from pdesc.cc to data/traits.
2005-08-11 01:05:05 Sean Middleditch <elanthis@awesomeplay.com>
* Use correct ANSI color codes for bright colors, from Shawn
Sullivan <shawnmsullivan@msn.com>.
2005-08-10 04:09:52 Sean Middleditch <elanthis@awesomeplay.com>
* Added keyed attributes to the file-object format, which are
essentially the same thing as the attribute types I just
removed, but now a little cleaner. Unfortunately, for any
kind of dynamic property, we need these, no getting around it
without ugly hacks like encoding keys and values in the data
as a string and then parsing them, defeating half the purpose
of using the file-object format.
* Correct invalid XSLT in tools/script-code.xsl that wasn't
picked up by libxslt2.
* Make the setcolor command work again.
* Update setcolor usage string to be clearer.
* Add skills code.
2005-07-30 03:28:03 Sean Middleditch <elanthis@awesomeplay.com>
* The hair length names were out of sync with the descriptions.
2005-07-29 04:03:00 Sean Middleditch <elanthis@awesomeplay.com>
* Optimize the ID map implementation to use a lot less memory.
* Update the event script callback API to pass in the event name
instead of the event number.
2005-07-28 04:17:01 Sean Middleditch <elanthis@awesomeplay.com>
* The Makefile wasn't including undead.npcs in tarballs or
installations.
2005-07-27 19:19:54 Sean Middleditch <elanthis@awesomeplay.com>
* Update copyrights to 2005... halfway into the year.
2005-07-27 04:33:41 Sean Middleditch <elanthis@awesomeplay.com>
* Removed the command 'about' field in favor of using the help
system we already have. Command usages stay, however.
* Updated the file object format to allow any string type as an
attribute/object name.
* Updated help format to not need the nested objects.
* Fixed character creation (to_num is now to_int).
2005-07-21 18:09:44 Sean Middleditch <elanthis@awesomeplay.com>
* Removed Todo file, not like I was keeping it up-to-date.
* Removed the IObject class, as only ObjectBlueprint and Entity
used it, and ObjectBlueprint had no good reason to.
2005-07-21 15:50:50 Sean Middleditch <elanthis@awesomeplay.com>
* They (file object schemas) were a good feature, but would
take too much work to get in place for the small amount of
payoff at this stage in development.
2005-07-21 04:24:58 Sean Middleditch <elanthis@awesomeplay.com>
* Removed help categories, they weren't really all that useful.
2005-07-21 02:13:21 Sean Middleditch <elanthis@awesomeplay.com>
* Ripped all the state-machine logic out of the C++ code and moved
it partly to scripts. Less code, simpler code, better better.
2005-07-20 19:34:28 Sean Middleditch <elanthis@awesomeplay.com>
* Removed the body defs stuff as we're not using it at all.
* Remove the various Initializing... messages as they're
pointless. (In half the cases, they were literally the only
code that the imanager was running in their initializer!)
2005-07-20 19:26:44 Sean Middleditch <elanthis@awesomeplay.com>
* Removed combat attacks as they weren't all that great to begin
with (we can do a lot better) and they were needless complexity.
2005-07-20 19:17:51 Sean Middleditch <elanthis@awesomeplay.com>
* Revamp OLC system.
* Allow objects to have custom names independent of their
blueprint, for corpses. (This is a temporary hack.)
* Add ability lookup live entity by UID.
2005-07-19 04:19:53 Sean Middleditch <elanthis@awesomeplay.com>
* Update to Scriptix API changes.
* Update to Scriptix language changes.
2005-07-17 20:33:18 Sean Middleditch <elanthis@awesomeplay.com>
* Cleaned up command cruft.
* Removed command sections - all the code was there, but we
weren't using them, and nobody missed them.
* Remoevd erroneous static buffers from telnet.cc.
* Changed telnet command (!echo and friends) to use the explode()
function instead of the command::get_arg() function.
* Added UniqueID class and manager.
* Updated IManager interface to include a save() method to make
"save game state" more manageable.
* Split IManager code into imanager.cc.
* Removed exit IDs, we don't really need them for exit linking,
we just use opposite-direction linking.
2005-07-17 20:33:07 Sean Middleditch <elanthis@awesomeplay.com>
* Cleaned up command cruft.
* Removed command sections - all the code was there, but we
weren't using them, and nobody missed them.
* Remoevd erroneous static buffers from telnet.cc.
* Changed telnet command (!echo and friends) to use the explode()
function instead of the command::get_arg() function.
* Added UniqueID class and manager.
* Updated IManager interface to include a save() method to make
"save game state" more manageable.
* Split IManager code into imanager.cc.
* Removed exit IDs, we don't really need them for exit linking,
we just use opposite-direction linking.
2005-07-13 05:26:54 Sean Middleditch <elanthis@awesomeplay.com>
* Updated File::Schema API to be more flexible, powerful, and
easier to use.
* Added RegEx class that adds an easy wrapper around
regcomp/regexec.
* Time is now saved as a specially formatted string instead of
an entire file-object.
* Changed object actions to store as objects instead of complex
attributes.
* Revamped weather system to be simpler and easier to use.
* Removed the 'klass' from file object format, there is now only
an attribute/object name.
* Updated several data files' formats to work with new parser
behaviour.
2005-07-04 08:09:44 Sean Middleditch <elanthis@awesomeplay.com>
* The ObjectData class is now rolled into ObjectBlueprint
completely.
2005-07-04 07:42:33 Sean Middleditch <elanthis@awesomeplay.com>
* Renamed the 'ntype' members of entity names to 'article'
which is more appropriate.
2005-07-04 03:56:11 Sean Middleditch <elanthis@awesomeplay.com>
* All object fields are part of object blueprints only now,
just like NPCs.
* FileObj files have VIM tags at the end that make editing them
easier (sets tabwidth).
2005-07-01 23:44:39 Sean Middleditch <elanthis@awesomeplay.com>
* Added a graveyard area to the example zone.
* Script function names can now be specified instead of using
the generic "awemud_script_function" which makes debugging
scripts easier.
* Added str_tr() and trim() functions, which transliterate and
remove characters, respectively.
* Fixed long-standing attack event error, because the script
glue code had a max of 5 arguments and we needed at least 6.
2005-04-19 19:30:14 Sean Middleditch <elanthis@awemud.net>
* Update to use the latest Scriptix API changes.
2005-04-18 18:17:19 Sean Middleditch <elanthis@awemud.net>
* The message manager wasn't using the GC, is now. This fixes
our lockup problems from the previous commit.
2005-04-18 04:04:41 Sean Middleditch <elanthis@awemud.net>
* Many more GC usage fixes from the GC API update.
* Still a bug lurking that triggers during shutdown in my testing,
possibly could occur during normal runtime - GC locks up.
Freed memory is probably being written to somewhere, which
means the GC isn't seeing something it should.
2005-04-16 15:09:16 Sean Middleditch <elanthis@awemud.net>
* Try to use the GC in more places to ensure pointers are
properly tracked. Appears to be a bug in script compilation,
possibly in Scriptix itself.
2005-04-15 23:30:18 Sean Middleditch <elanthis@awemud.net>
* Revamped GC usage to reduce reliance on finalizers/destructors
where possible.
* Updated to use latest Scriptix API.
* Move IManager::shutdown out of the cleanup() function and to
the end of main, as cleanup() can be called after global and
static destructors, which caused weird crashes. (Fixes #269)
* Fixed some usages of BaseID::lookup() to be BaseID::create()
where appropriate.
2005-04-12 20:18:09 Sean Middleditch <elanthis@awemud.net>
* Fixed a long-standing bug with AweMUD newline handling that
you'd never notice without a weird client. AweMUD would not
handle clients that only sent nl characters instead of cr/nl
pairs like most clients do.
2005-04-10 06:53:43 Sean Middleditch <elanthis@awemud.net>
* Fix command security. Due to the change in AccessID
implementation to an IDMap, the lookup() member no longer
implicitly created keys, which cmd_init.cc depended on.
cmd_init.cc now explicitly uses AccessID::create() to ensure
that the access keys are created, and thus command security
works again.
* Cleaned up the const StringList& verbosity nightmare in
schema.h.
2005-03-27 02:47:28 Sean Middleditch <elanthis@awemud.net>
* Fix starting of an action when added to the action list and its
already on that list, and it was the first action in the last.
(i.e., repeating attacks.)
* Added undead NPC types.
* Keep track of original NPC blueprint on NPC corpses.
* Added a nifty talisman that raises undead.
* NpcBlueprint::get_parent() actually works now.
* Handle parent blueprint equip lists.
* Various other fixes necessary in several places to handle the
above items.
2005-03-27 00:17:02 Sean Middleditch <elanthis@awemud.net>
* Merge NpcData into NpcBlueprint.
* Make the directional movement commands use Character::do_go().
2005-03-26 19:37:14 Sean Middleditch <elanthis@awemud.net>
* Removed Character::get_level(), since we don't really use it.
* Npc is no longer using NpcData. NPCs *must* be made from
a blueprint. Unique NPCs will also need a blueprint.
* Fixed the brain-dead stupid way of saving equipped object
locations I put in not long ago. It's now a lot saner.
* Fixed character creation scripts for API changes.
2005-03-12 20:22:02 Sean Middleditch <elanthis@awemud.net>
* Split stat functions into 'base_stat' and 'effective_stat',
changed 'stat_mod' to 'stat_modifier'.
* This is just the beginning of some work to enhance the
management of stats, which is necessary to get affects working
properly. The end system will be similar to D20 in that there
will be different classes of bonuses, and bonuses from the
same class will not stack.
2005-03-10 15:08:13 Sean Middleditch <elanthis@awemud.net>
* Load eye/hair/skin colors for races.
* Fix player title display.
* Make tell store the speaker's name in last tell, instead of
the other way around. (Fixes #266)
2005-03-09 23:27:33 Sean Middleditch <elanthis@awemud.net>
* Command manager requires help manager.
* Make typedefs in SkillManager public.
* Fixed race loading.
2005-03-08 22:00:47 Sean Middleditch <elanthis@awemud.net>
* Added a new File::Schema namespace that makes doing all the
validation of input files a lot easier. Still needs work.
* WARNING: AweMUD does not load with this commit. Races are
using the new schema but don't work unless you modify the
races file a bit. Will commit fix soonish.
2005-03-07 16:42:27 Sean Middleditch <elanthis@awemud.net>
* Began fleshing out the skills system. Players can have
skills set, but they are not saved or loaded, nor accessible
from scripts.
2005-03-02 19:58:53 Sean Middleditch <elanthis@awemud.net>
* In GCC 4.0, the STL map has the key type implicitly const, which
conflicts with the GC allocator which is explicitly non-const.
So not I've made the GCType::map explicitly constify its key
type, fixing compilation on GCC 4.0.
2005-01-31 16:02:53 Sean Middleditch <elanthis@awemud.net>
* Make the configure script error out if the Scriptix path is
wrong, with a decently useful error message.
2005-01-30 04:50:20 Sean Middleditch <elanthis@awemud.net>
* Removed the Object::Container type and its list.
* Store all child objects in one list on parent object.
* Don't store coins in object containers anymore.
* Make ContainerList into sets.
2005-01-25 16:45:06 Sean Middleditch <elanthis@awemud.net>
* Don't require data/titles, since it's gone now.
2005-01-23 20:10:41 Sean Middleditch <elanthis@awemud.net>
* Player titles are just simple strings on each player now;
lot simpler than the over-complicated title system.
2005-01-23 02:13:53 Sean Middleditch <elanthis@awemud.net>
* Remove object classes, we can just use inherited blueprints
for the same stuff.
2005-01-15 07:24:46 Sean Middleditch <elanthis@awemud.net>
* Added idmap.h that provides a base system for the very common
ID/name mapping we have all over the place.
* Convert tags, events, and access privs to use the new BaseID<>
stuff in idmap.h.
* Curse whoever came up with the C++ template static member
initialization rules.
2005-01-12 04:37:58 Sean Middleditch <elanthis@awemud.net>
* Get rid of pkg-config, it's just a pain and we don't really
need it anyhow.
* Updated FAQ a little.
2005-01-12 02:14:02 Sean Middleditch <elanthis@awemud.net>
* Remove usage of MSG_NOSIGNAL, which Darwin does not support, and
which we don't strictly need since we ignore SIGPIPE anyhow. I
should probably write a simple send()/recv() abstraction though
so we can avoid these wierdnesses in the future.
* Added missing scripts/load.
2005-01-11 05:19:37 Sean Middleditch <elanthis@awemud.net>
* Major entity activation tracking fixes.
* New scripts/load file that describes the script files to load
and their ordering.
* Got rid of the XX.*.sx notation, since we don't need to rely
on filename sorting anymore.
* Fix complication of files including elist.h on older
GCC/libstdc++ releases (hopefully).
2005-01-10 01:14:29 Sean Middleditch <elanthis@awemud.net>
* Rewrote the Entity ownership management routines. They are
somewhat nicer, although C++ made things slightly more painful
that I'd like (covariant returns, in particular).
* Began writing an EntityFactory system to update the Entity
loading code to be more generic, and friendlier to a more
powerful storage and lookup system like an RDBMS.
2005-01-09 02:20:37 Sean Middleditch <elanthis@awemud.net>
* Weak start at cutting down the include count, with the aim to
cut down our over-long compile times.
* Depend on the new CVS version of the Scriptix and its cool
API improvements.
* Zone stores Rooms in a vector instead of a goofy custom list.
* Update copyright notices for 2005.
2005-01-07 18:52:59 Sean Middleditch <elanthis@awemud.net>
* Do not zmp.color.define the default (0) color, as that is
against the spec, and for a good reason.
* Remove debug message from animal.ai script.
2005-01-07 18:06:48 Sean Middleditch <elanthis@awemud.net>
* Fix the Makefile.am so that built headers are actually built
before any source compilation starts.
2005-01-07 16:52:22 Sean Middleditch <elanthis@awemud.net>
* Added TelnetHandler::add_zmp, which is the same as send_zmp,
except it adds it direct to the output chunk handler and not
the unprocessed output buffer.
* Fixed the zmp.color code to use add_zmp, so that color codes
stay in their proper location in the output stream.
2005-01-07 16:08:46 Sean Middleditch <elanthis@awemud.net>
* Fix lookup of script attributes on blueprints.
* Change combat logic a bit to be somewhat sort-of kinda not
really closer to what we'll be using in the final ruleset.
2005-01-06 21:03:07 Sean Middleditch <elanthis@awemud.net>
* Added ScriptFunctionSource, which is just like ScriptFunction,
except that it also keeps a copy of the function source with
it to be saved back to disk later.
* Removed the ObjectUsage type and usage.h, object actions are
now just a list of scripts with specific names. This also means
that usage attributes must now be stored on the object itself.
* Removed AttributeHolder, we didn't use it for events anymore
and ObjectUsage was its last users.
* Added scripts/20.object.sx for the save_object default hook
that saves our read, eat, and drink action attributes.
* Updated all actions that used the old action code to use the
new action code.
* Telnet layer word-wraps at two less than the screen width,
which I personally think looks nicer, and could potentially
avoid bugs with certain crappy clients.
2005-01-05 03:19:51 Sean Middleditch <elanthis@awemud.net>
* Few more minor script interface enhancements.
* Fixed the player death/decay/rebirth script. (Fixes #265)
2005-01-04 16:35:18 Sean Middleditch <elanthis@awemud.net>
* Completely rewrote most of the event handling API.
* All new ScriptValue and ScriptFunction types to greatly simplify
scripting integration.
* Got rid of RDQueue, just use the equivalent STL deque.
* Single top-level Makefile.am and Makefile. Note that this
also puts awemud-bin and awemud-ctrl in the top-level source
directory.
* Moved source generated base files script-intr.xml and
event-list.xml to gen/.
* Various minor buglet fixes and improvements.
2004-12-31 06:23:22 Sean Middleditch <elanthis@awemud.net>
* IManager instances now auto-register themselves, making adding
new ones much easier and simplifying main.cc's startup code
logic.
* The contents of blueprint.h are gone, thare are now concrete
ObjectBlueprintManager and NpcBlueprintManager classes instead
of templated instances.
2004-12-30 00:08:41 Sean Middleditch <elanthis@awemud.net>
* Action handling code is modified to be more robust and support
stopping/cancelling.
* Added IInstantAction for pending actions with zero round time.
* Some more fileobj fixes.
2004-12-24 06:02:48 Sean Middleditch <elanthis@awemud.net>
* Yet more fileobj API and code updates.
* Also some more file format updates for files that needed
tweaking.
* Still haven't gotten rid of <type> <name> syntax - several
corner cases we need them in until we have an alternative.
Namely AI files (which shouldn't be fileobj format anyhow).
2004-12-23 07:42:20 Sean Middleditch <elanthis@awemud.net>
* Finished the fileobj parser update.
* Updated script attributes to use the fileobj type safety.
* Got rid of the write_int/write_str hacks and added
AttributeWriter to Scriptix.
* Updated the Entity::save_hook() methods to use AttributeWriter.
* Many other file tweaks and API tweaks for the fileobj work.
* STill haven't gotten rid of <type> <name> syntax - yes, you
get a lot of deprecation warnings when you start the MUD.
2004-12-22 17:00:15 Sean Middleditch <elanthis@awemud.net>
* Made the new file format active. All data files are
converted and all saved files are in the new format.
Backwards compatibility has been removed.
* Most code uses the new format's enhanced type safety. May be
some places that need fixing yet.
* Still some work to do, such as getting rid of the <type>
<name> format.
2004-12-20 15:20:51 Sean Middleditch <elanthis@awemud.net>
* Begin getting rid of the <type> <name> fileobject declarations -
more work to do yet.
* Add a new fileobject format, code is backwards compatible
(for now).
* Disable writing new format for now.
2004-12-17 18:29:46 Sean Middleditch <elanthis@awemud.net>
* If you have nothing to attack with, print an error and cancel
the action.
2004-12-14 23:09:40 Sean Middleditch <elanthis@awemud.net>
* (Sorry for the big changelog, I'm cut off from the Internet
and don't have a local repository mirror.)
* Got rid of TICKS_PER_HEARTBEAT, as there is now always one
heartbeat per round.
* Where possible, track time in rounds, not ticks, since ticks
aren't useful in most places now - they are server-tracked only.
* Various updates and fixes to the code to handle the new timing
properly.
* Removed player classes, we don't use them in the new rule set.
2004-12-13 18:56:56 Sean Middleditch <elanthis@awemud.net>
* The Entity::update() method is gone, replaced with
Entity::heartbeat().
* Added TICKS_PER_HEARTBEAT (default 4).
* Entity::heartbeat() is only called once every
TICKS_PER_HEARTBEAT ticks. One tick one set of entities has
its heartbeat, the next tick another set of entities as its
heartbeat, and so on. This "load balances" the update logic
for entities instead of doing them all every tick.
* A few things are highly broken by this change - you are warned!
* (Round times are broke, the activate/deactive logic is
deprecated, script hooks need to be renamed/updated, need a
heartbeat event with instant delivery)
2004-12-09 19:35:26 Sean Middleditch <elanthis@awemud.net>
* Only two ticks per second instead of four. This needs to be
made into a run-time setting, I think.
* Added a new time scale factor in settings.h.
* Game time is now slower - only four times faster than real time.
Also needs to be made into a run-time setting.
* Fix RDQueue to be gcc 4.0 compatibile. (This should probably
be removed - why did I reimplement the STL deque?)
2004-12-09 05:05:59 Sean Middleditch <elanthis@awemud.net>
* Added a 'rotting' flag to objects, which allows them to be
trashed when visible and they trash faster.
* Made trashable no longer depend on !gettable.
* Updated the example zone as a result.
* Removed automatic action repeat code - there's only even one
that does it. Simplified code.
* Made ActionAttack just re-add itself to the action list
on repeat.
* Other minor fixes.
2004-12-08 00:44:13 Sean Middleditch <elanthis@awemud.net>
* Get rid of the dual-meaning of Character::round_time. We only
use it for pending actions now.
2004-11-29 20:52:24 Sean Middleditch <elanthis@awemud.net>
* Look in player directory for the 'badnames' file.
* TelnetHandler no longer knows about Accounts or Players at all.
* Added a TelnetHandler::check_mode() method that asks the mode
to check if its current, needs to do anything, etc. - this
is just a hack for when the Player connection is booted by
another TelnetHandler. Crappy encapsulation, needs to be fixed.
* TelnetHandler::disconnect() now correctly decrements the
connection count for the connected address. (Fixes #261)
2004-11-29 19:45:32 Sean Middleditch <elanthis@awemud.net>
* When logging in as a character, if that character already has
an active telnet session, we just boot it instead of providing
an error. This lets users reconnect after a hung connection
issue without waiting for the timeout. (Fixes #255)
2004-11-29 19:05:46 Sean Middleditch <elanthis@awemud.net>
* Make the code for the previous Character.printf fix actually
work. Also, for both of these commits: (Fixes #260)
2004-11-29 19:04:00 Sean Middleditch <elanthis@awemud.net>
* Character.printf now includes the Character instance as the
first argument to the str_parse invocation.
* Updated 50.store.sx to deal with the above change.
2004-11-28 05:29:53 Sean Middleditch <elanthis@awemud.net>
* Fix the fist 'weapon' to use the punch attack.
* Add a punch attack.
2004-11-27 06:07:20 Sean Middleditch <elanthis@awemud.net>
* Only link awemud-bin against libgccpp.
2004-11-27 04:19:30 Sean Middleditch <elanthis@awemud.net>
* Added a player height description item chosen at character
creation. Heights are chosen relative to the race's base
height.
* Began the very very basics for skills.
* Small fixes to animal AI.
* Other small fixes.
2004-11-18 21:22:31 Sean Middleditch <elanthis@awemud.net>
* Network manager only calls hangup() on an actual hangup.
* Network manager assumed GCd object, doesn't delete them.
* Link against libgccpp, which makes the GC safer for C++.
2004-11-18 17:41:52 Sean Middleditch <elanthis@awemud.net>
* The timer doesn't suck anymore. Pauses (like when the server is
inactive) won't cause huge spikes in CPU usage. The engine also
far more accurately assigns ticks to 1/5 of second intervals,
instead of using 1/5 of a second of delay in each loop.
2004-11-18 15:41:40 Sean Middleditch <elanthis@awemud.net>
* Most of the network code restructuring is now done.
2004-11-18 02:24:19 Sean Middleditch <elanthis@awemud.net>
* Further refinement of the network restructure.
2004-11-17 19:24:18 Sean Middleditch <elanthis@awemud.net>
* Remove control sock on shutdown.
* Rewrite network socket handler and poll loop yet again.
I think I like this one, finally. Does need some cleanup of
cruft, however, and addition of poll/epoll/kqueue support.
* Set the mode member of TelnetHandler to NULL in the initializer.
2004-11-15 02:19:07 Sean Middleditch <elanthis@awemud.net>
* Cleaned up the sing command's output.
* Limited the sing command to four lines.
2004-11-15 01:44:26 Sean Middleditch <elanthis@awemud.net>
* Various small cleanups to main network code and some GC issues.
* Added a login and logout announcement.
2004-11-14 22:06:04 Sean Middleditch <elanthis@awemud.net>
* Added a CharStatArray that uses a CharStatID as the index and
does safety bounds checking. (Fixed #254)
2004-11-14 21:26:40 Sean Middleditch <elanthis@awemud.net>
* Make the control socket work again. (Code still needs cleanup.)
* Added a list of UIDs that have read-only access to the control
socket.
* Added a list of UIDs that have read-write access to the
control socket.
2004-10-22 20:27:58 Sean Middleditch <elanthis@awemud.net>
* Added caffect.h and caffect.cc.
* Added basic character affect tracking to Character.
* All players get a temporary +10STR bonus on login (testing
the framework).
2004-10-20 02:05:29 Sean Middleditch <elanthis@awemud.net>
* Moved the base stat value from Character to NpcData and Player.
* Renamed the body group of Object pointers to equipment.
2004-10-13 18:13:10 Sean Middleditch <elanthis@awemud.net>
* Include stdlib.h in awemud-ctrl.c for portability.
* Make the ChangeLog valid UTF-8.
2004-10-13 03:31:24 Sean Middleditch <elanthis@awemud.net>
* Call recalc_stats() after modifying the base stat during
character creation. (Fixes #249)
2004-09-30 20:56:31 Sean Middleditch <elanthis@awemud.net>
* Remove the debug spew in settings.cc.
* Added world_dir to awemud.conf.in.
* Change to the chroot directory (if specified) directly after
reading the config file; actual chroot is still done later in
the initialization process.
2004-09-30 20:43:50 Sean Middleditch <elanthis@awemud.net>
* Fixed reading of configuration file in settings.cc.
2004-09-30 19:59:13 Sean Middleditch <elanthis@awemud.net>
* Removed CharacterData, Player and Npc implement the (two)
properties it stored.
* Fixed alignment adjusting, which didn't save before due.
* Fixed exit sorting.
2004-09-30 19:06:37 Sean Middleditch <elanthis@awemud.net>
* Removed room short desc. (Unused.)
* Entity name and desc methods are virtual now, each sub-class
must implement storage.
* Fix object, NPC, and exit sorting operations.
2004-09-27 19:02:40 Sean Middleditch <elanthis@awemud.net>
* We now track telnet client connections again.
* The deny list for telnet clients is also working again.
(File moved to etc/hosts.deny)
2004-09-25 14:48:02 Sean Middleditch <elanthis@awemud.net>
* Get rid of the Server object entirely - big cleanup of code
in server.cc.
* Rewrote timer code - actually accurate, though it's not
continuous (server will max load if the timer falls behind,
and will stay max load until it catches up).
* Updated telnet.cc to include the config file, so MCCPv2 will
actually be enabled.
* Replaced main.cc with server.cc.
* All initialization and main game loop is in the main()
function now.
2004-09-19 04:10:24 Sean Middleditch <elanthis@awemud.net>
* The settings management code is all new.
2004-09-18 00:46:00 Sean Middleditch <elanthis@awemud.net>
* Completely all new network code redesign.
* Big updates on the logging code.
2004-09-12 00:59:26 Sean Middleditch <elanthis@awemud.net>
* Entity names now have their own struct and are saved a little
differently.
* Alt names are now called keywords.
* Fixed the object dropable flag to be interpreted properly
when loaded.
* Added NPC corpses.
2004-09-08 02:43:07 Sean Middleditch <elanthis@awemud.net>
* All round time is through pending actions.
* Updated stats functions to fit new ruleset better.
* New max health calculation code for new ruleset.
* Minor API changes in places (affects scripts).
* Updated combat rules.
* NPCs are somewhat broken wrt stats.
2004-09-03 19:12:52 Sean Middleditch <elanthis@awemud.net>
* Combat is now a pending action.
* Using 'kill' will cause your attacks to continue until the
target is dead or gone. Using 'attack' will make only a
single attack.
2004-09-02 20:54:04 Sean Middleditch <elanthis@awemud.net>
* Converted yet more actions to the pending action system.
2004-09-01 20:41:54 Sean Middleditch <elanthis@awemud.net>
* Converted more actions to use the pending action system.
2004-08-30 15:40:45 Sean Middleditch <elanthis@awemud.net>
* Character::check_move() calls check_alive(); can't move if
you're dead.
* Began converting all the actions in char_do.cc to the pending
actions system. Even ones that don't need it. Why? So they
can all be queued properly.
2004-08-27 01:24:07 Sean Middleditch <elanthis@awemud.net>
* Updated the requirements and building sections of the admin
guide.
* Updated the awemud script and awemud.conf files to make better
defaults.
* Added a --with-scriptix option so you can build without (a
properly configured) pkg-config.
2004-08-26 02:39:48 Sean Middleditch <elanthis@awemud.net>
* Remodel the pending actions update loop again.
2004-08-26 01:49:01 Sean Middleditch <elanthis@awemud.net>
* Fix the settings code to handle no configuration file.
* Some pending action updates.
2004-08-25 16:56:42 Sean Middleditch <elanthis@awemud.net>
* A very rough first go at pending actions is in!
* Made the 'read' command use pending actions. Probably a
poor choice...
2004-08-25 13:45:13 Sean Middleditch <elanthis@awemud.net>
* Correct the awemud startup script to correctly find the
awemud-bin binary.
2004-08-25 01:28:26 Sean Middleditch <elanthis@awemud.net>
* Name the binary awemud-bin.
* Add an awemud script that launches the binary with the
appropriate config file.
* Rename configure.in to configure.ac.
2004-08-16 20:21:58 Sean Middleditch <elanthis@awemud.net>
* Changed all instances of Action to ObjectUsage, so as to avoid
confusion with the pending action stuff I started on.
* In data files, all "action" blocks need to be changed to
"usage" now.
* Yes, renames suck, and no, I don't care.
2004-08-06 19:40:25 Sean Middleditch <elanthis@awemud.net>
* Initial implementation of the ZMP color package. (color.define
and color.use only.)
2004-07-30 14:28:59 Sean Middleditch <elanthis@awemud.net>
* Use the "misc" entry instead of invalid "data" in body.cc,
combat.cc, and object.cc.
* Added an "ai" path entry to awemud.conf.in.
2004-07-27 18:53:30 Sean Middleditch <elanthis@awemud.net>
* Support input like "2nd" or "23rd" for command indexes.
2004-07-26 20:41:13 Sean Middleditch <elanthis@awemud.net>
* Fixed up 90.example.zone.sx to better handle mis-sync between
exit disabled status and object existence.
* Fixed Entity.get_by_tag() to use the Append method on Scriptix
Array, since Scriptix is slightly broken for SetIndex and I
don't feel like fixing it right now.
* Update the waterfall portal exit to be hidden, and use an
object for the visible description. (Fixes #247)
2004-07-25 21:40:38 Sean Middleditch <elanthis@awemud.net>
* Fix the player_death hook in 50.death.sx. (Fixes #246)
2004-07-23 18:29:08 Sean Middleditch <elanthis@awemud.net>
* Don't try to lookup an object blueprint using a tag object.
(Fixes #244)
* Clean up exit display on 'look' to always be nice and clean.
(Fixes #238)
* Use text parser for exit descriptions.
* Fix SocketManager to set fdlist_len and fdlist_size to 0 when
it's destroyed.
2004-07-14 17:33:00 Sean Middleditch <elanthis@awemud.net>
* Make sure combat always gives a round time.
* Add debug output to the target of an attack.
* Don't continue combat with an invalid Entity.
* Minor cleanups to animal.ai.
2004-07-12 15:47:03 Sean Middleditch <elanthis@awemud.net>
* Include data/attacks.
2004-07-12 15:46:31 Sean Middleditch <elanthis@awemud.net>
* Added attack descriptions. This is incomplete, and is just
a first-draft implementation.
* Finished removing the old attribute code from Entity.
2004-07-10 18:45:26 Sean Middleditch <elanthis@awemud.net>
* Removed the automatic saving of AttributeList on EntityData.
* Added the entity_save hooks and friends.
* Added the (very hackish/ugly) write_str() and write_int()
functions to Scriptix.
* Entity attributes are set as Struct members in Scriptix
automatically.
* Minor changes/updates to accomadate the above.
* The stores script now uses names like store_list instead of
store.list, as the former is a valid Scriptix identifier and
is necessary for the new attribute mechanism.
2004-07-10 02:23:26 Sean Middleditch <elanthis@awemud.net>
* Fix the tag code to return a correct ID.
* Update the requirement on Scriptix to 0.30.
2004-07-09 20:42:46 Sean Middleditch <elanthis@awemud.net>
* Correct the timeout value for object trash collection.
* Update the version stamp.
2004-07-09 20:38:14 Sean Middleditch <elanthis@awemud.net>
* Added Room::count_players().
* Added the trashable flag to ObjectData.
* Added trash timer and automatic collection to Object.
2004-07-09 20:08:09 Sean Middleditch <elanthis@awemud.net>
* Added Room::count_players().
2004-07-09 20:05:47 Sean Middleditch <elanthis@awemud.net>
* Cleaned up approximately 1/2 of the rooms in Darlet that
already had descriptions.
* Removed the lookie blueprint, as it doesn't serve any real
purpose.
2004-07-09 15:57:50 Sean Middleditch <elanthis@awemud.net>
* Audited the forest area of the example zone to correct poor
grammar or bad descriptions. In general, improve that area
of the zone a bit.
2004-07-08 20:59:13 Sean Middleditch <elanthis@awemud.net>
* The tag system now uses a special TagID to make lookups faster
and reduce memory usage.
* Update the disappearing/reappearing glowing blue portal script
and exit to be a lot cooler.
* Began some more (very basic) work on the new body system.
2004-07-02 20:24:16 Sean Middleditch <elanthis@awemud.net>
* Looking at disabled exits won't lock up the server.
* Looking at closed exits won't show the target room.
2004-06-30 19:17:55 Sean Middleditch <elanthis@awemud.net>
* More formatting and content updates to the builder docs.
2004-06-30 15:53:45 Sean Middleditch <elanthis@awemud.net>
* Fixed typo in script guide.
* Updated builder guide from Gary Mix.
* Cleanuped up builder guide source, removed scripting section,
correct some bad terminology and other typos.
2004-06-30 01:57:39 Sean Middleditch <elanthis@awemud.net>
* Added Entity.get_by_tag() to Scriptix. Returns an array of
all entities that much the specified tag.
* Added a disabled flag to RoomExit. Disabled exits are
not displayed in the room list and are not returned by
Character::cl_find_exit or Character::cl_find_any.
* Added a script for the example zone functions.
* Added two new Scriptix hooks: change_hour and ready.
change_hour is called whenever the game hour changes, and
ready is called just after the server is done initializing.
* Fixed usage of strlower() in account.cc.
2004-06-18 18:51:14 Sean Middleditch <elanthis@awemud.net>
* More string API updates; tried to get PString working, still
no dice.
* Fixed logging on errors in FileObject API for missing/unknown
attributes.
2004-06-16 20:43:23 Sean Middleditch <elanthis@awemud.net>
* Added the basic foundation of a body definition framework.
2004-06-16 14:27:10 Sean Middleditch <elanthis@awemud.net>
* Display coins in rooms with no objects.
* Minor grammatical fixes to the new rooms.
* Update AUTHORS file.
2004-06-14 20:45:19 Sean Middleditch <elanthis@awemud.net>
* Updated the Scriptix interface to support object flags.
* Merged in a greatly expanded town (Darlet) to the example.zone
from Gary Mix.
2004-06-14 14:54:45 Sean Middleditch <elanthis@awemud.net>
* Update the object/coin list for rooms and objects to use ",
and" instead of " and" so we are proper English.
* Correct the room output of coins to display a newline if there
are coins in a room but no objects.
2004-06-14 14:47:24 Sean Middleditch <elanthis@awemud.net>
* Again update the telnet handling in players to work properly.
Think we have it right this time.
* Allow 'quit' or 'exit' during character creation. (Fixes #235)
2004-06-13 03:42:31 Sean Middleditch <elanthis@awemud.net>
* Cleaned up the types/data used for character bodies.
2004-06-11 17:40:08 Sean Middleditch <elanthis@awemud.net>
* Updated version and NEWS for the new 0.23 version of the
mainline branch.
2004-06-11 17:10:36 Sean Middleditch <elanthis@awemud.net>
* Updated the build/install instructions in the admin guide.
2004-06-11 13:55:17 Sean Middleditch <elanthis@awemud.net>
* Fix compile of elist.h on GCC 3.4.0.
2004-06-10 18:48:30 Sean Middleditch <elanthis@awemud.net>
* Fix the PID file handling to be more intelligent. AweMUD now
checks that the PID file is valid instead of just checking if
it exists. We use the fcntl advisory locking, so PID files over
NFS might not work on some systems. (Does on my workstation.)
So now, when AweMUD crashes (as if!) or you kill the process,
you can start it back up again without having to manually
delete the stale PID file first.
2004-06-10 18:07:39 Sean Middleditch <elanthis@awemud.net>
* Worn items which are removed are actually removed properly now.
2004-06-10 03:59:36 Sean Middleditch <elanthis@awemud.net>
* The Object::is_gettable() function was goofy and didn't just
return the gettable flag, but also the state of touchable.
While this is logical in terms of game mechanics, it's retarded
in terms of API, and is now corrected. (Fixes #233)
* The get command now explicitly checks whether an object
is touchable, since just checking the gettable flag isn't
enough now.
2004-06-10 03:46:13 Sean Middleditch <elanthis@awemud.net>
* Fix Player::disconnect() so that is also disconnects the actual
TelnetHandler. (Fixes #232)
* Because these call each other, make it so Player::disconnect()
immediately returns if there is no valid TelnetHandler
attached, and then detect the TelnetHandler before calling
its net_disconnect() method.
* Fix Player::start() so that it only attempts to re-add itself
to the room if not already active. Also gets rid of the silly
nested activate()/deactivate() calls. Just calls do_look()
if the player is already active, to refresh room information.
2004-06-09 04:26:50 Sean Middleditch <elanthis@awemud.net>
* Entities in EList containers (such as rooms) are sorted by name
and then insertion order. RoomExits continue to be sorted by
direction as well. The update is not yet complete, although it
is functional. Mostly design/code-cleanliness issues remain.
Also the problem that changing an Entity will not result in
a resort even when one is needed.
2004-06-09 02:57:59 Sean Middleditch <elanthis@awemud.net>
* Don't clear the player name on load, we have intelligent
altname handling now. (Fixes #231)
* Don't duplicate players in the player manager needlessy.
Namely, if the player is valid, we can reuse it. Otherwise,
if it's active, it's in use and may become valid soon, so assume
it to be usable. Probably not perfect, but likely good enough.
* Update the exit direction reciprocal/opposites table.
2004-06-08 15:54:42 Sean Middleditch <elanthis@awemud.net>
* When looking at an exit, the target room is now displayed.
* The above can be disabled for individual exits by setting
their nolook flag.
2004-06-07 16:54:19 Sean Middleditch <elanthis@awemud.net>
* Properly display 'pm' for 12 noon. (Fixes #229)
2004-06-07 03:22:21 Sean Middleditch <elanthis@awemud.net>
* Small changes and updates, nothing serious/noteworthy.
2004-06-06 19:50:04 Sean Middleditch <elanthis@awemud.net>
* Weapons can now set strings to be used for their attack
descriptions.
2004-06-06 06:07:30 Sean Middleditch <elanthis@awemud.net>
* Fixed some divide-by-zero errors in the combat code.
* Added an equipment list to NpcBlueprint. The list is object
blueprints which are created and equipped to NPCs when created
from the blueprint.
* Don't show hidden objects in a character inventory description.
* Properly (de)activate objects when equipped and unequipped
from a character.
* Fixes to npc.cc to not save/load duplicate information.
* The above all means that NPC will fight again, and that animals
have claws that sort of act right. More work is needed for
combat descriptions.
2004-06-04 21:00:20 Sean Middleditch <elanthis@awemud.net>
* Moved alignment to CharacterData.
* Moved NPC combat properties to NpcData.
2004-06-03 20:58:30 Sean Middleditch <elanthis@awemud.net>
* Removed NPC age; can't think of a real use for it.
* Added the <, <=, >, and >= operators to the text parser.
* Added a bunch of date and time related global commands to the
text parser.
* Began writing doc/parse.txt for documenting the text parser.
2004-05-28 19:17:00 Sean Middleditch <elanthis@awemud.net>
* Began making CharacterData and NpcData. Both need information
put in them from their children classes. Could also use
CharacterBlueprint to better abstract the NPC stuff.
2004-05-28 14:56:14 Sean Middleditch <elanthis@awemud.net>
* Fixed crash when bvision was one. Integer Scriptix data types
on events weren't being handled correctly. (Fixes #227)
2004-05-28 04:05:34 Sean Middleditch <elanthis@awemud.net>
* Now added the object flags to the ObjectData shared class,
so blueprints support them automatically now.
* Added a new dropable flag (default yes), although it isn't
used anywhere yet.
2004-05-28 02:26:12 Sean Middleditch <elanthis@awemud.net>
* Further improvements to the EntityData and ObjectData code.
* Updated to OLC to allow changing object blueprints and to view
NPC viewprints. (Will allow changing NPC blueprints when the
NPC code is updated to allow it.)
* Changed the main menu to read option 5 as Quit instead of Exit,
to be consistent with the quit command in-game.
2004-05-27 20:56:52 Sean Middleditch <elanthis@awemud.net>
* Changed all the clear_*() methods to be reset_*(), which I
think is clearer. (No pun intended.)
2004-05-27 20:22:09 Sean Middleditch <elanthis@awemud.net>
* Broke common code from ObjectBlueprint and Object into
ObjectData.
* Fixed missing description for the chain mail shirt blueprint.
2004-05-27 18:03:35 Sean Middleditch <elanthis@awemud.net>
* Split the object.h header into object.h, objclass.h, and
container.h.
* Added Entity Scriptix methods for add_tag, remove_tag,
and has_tag.
2004-05-27 17:33:27 Sean Middleditch <elanthis@awemud.net>
* Alternate names are stored with the altname name now, instead
of just using a list of names. This provides more inheritance
flexibility.
2004-05-27 14:36:03 Sean Middleditch <elanthis@awemud.net>
* Moved some more common code to EntityData.
* Fixed saving of the ntype attribute.
2004-05-26 02:42:59 Sean Middleditch <elanthis@awemud.net>
* Split much of the common code and data between Entity and
EntityBlueprint into EntityData. Still some work left to do.
2004-05-24 15:00:59 Sean Middleditch <elanthis@awemud.net>
* Added OLC attributes to Entity called 'tag' and 'untag',
which are meta-attributes that add or remove a named tag
(the value given to the modify command).
* Split the OLC help into olc.help.
* Fixed the streams pointer output format to use const pointers.
2004-05-23 04:25:12 Sean Middleditch <elanthis@awemud.net>
* NPC now have a room tag which is required on any room they
enter.
* Also added a revroomtag flag to NPCs, which reverses the room
tag meaning; they can enter any room without the tag.
* Added a can_use_exit() method to Npc for centralizing the exit
usage logic, to make scripting easier and more consistent.
2004-05-17 04:46:06 Sean Middleditch <elanthis@awemud.net>
* The Entity activate and deactivate methods cannot be called
on already active and deactive entities, respectively.
* Fix some uses of the above two methods to abide by the above
rule.
* Correct Entity::remove() so that it only calls deactivate()
if the entity is active, as per the above rule.
* Player class does better active tracking/handling.
* Remove the debugging code from Server::run. Namely, don't
eat the CPU and don't incessently garbage collect.
2004-05-17 04:13:13 Sean Middleditch <elanthis@awemud.net>
* Updated Character's inventory management functions to simply
require release()/remove() to be called on the object.
* Remove debugging statement from gc.cc.
* Minor remove/release usage fixes.
2004-05-17 03:25:33 Sean Middleditch <elanthis@awemud.net>
* Races and classes are now using the IManager interface.
* Socials are using the IManager interface.
* GC interface tweaks.
* Require newer Scriptix for fixes in the Scriptix compiler code.
* More complete tracking of whether an entity is live(active)
or not. See the activate() and deactivate() virtual methods
on Entity.
* Entity now has a remove() method and a virtual release() method.
The release() method does what the old Object and Character
remove() methods did. The Entiy::remove() method just calls
release() and deactivate(). Methods that manage ownership
of entities should call release() while everyone else should
definitely use only remove().
* Removed the SZoneManager::del_zone(), Zone::del_room(), and
Room::remove_exit_by_id() methods. Just use the remove()
method on the child entities now.
2004-05-13 05:01:18 Sean Middleditch <elanthis@awemud.net>
* Re-added tags. Bashed on a multimap in EntityManager and a
tag list on each entity. No, not yet ideal.
* Zone spawns use tags instead of attributes. This also means
that spawns now count *global* entities with the tag, not just
entities in the zone. Not a big problem; just use unique tag
names in zone spawns.
* Removed the entity unique name code. Not using it, and tags can
do the same thing. No, tags are not guaranteed to be unique,
but then, unique names pose all sorts of not-unique problems
as well. Tags are a cleaner and safer solution.
2004-05-11 03:53:58 Sean Middleditch <elanthis@awemud.net>
* Remove use of Log::End in script-intr.xml.
* Fix some Makefile.am bugs with not including required files.
2004-05-10 17:37:14 Sean Middleditch <elanthis@awemud.net>
* The log streams now work properly.
* The StreamControl::stream_put() method handles the ungiven
length input instead of the individual StreamSinks, now.
* Changed all calls of stream_put to a proper stream command.
* Removed all usage of the Log::End stream command, as it's no
longer useful.
2004-05-09 06:46:11 Sean Middleditch <elanthis@awemud.net>
* Cleanups and improvements to the FileObject API and helper
macros.
* Removed the debug statement from 50.creation.sx that caused
unparsed description text to be spit out. (Fixes #223)
* String API cleanups.
* Log interface uses streams now.
* Control code uses streams now.
2004-05-07 02:24:37 Sean Middleditch <elanthis@awemud.net>
* On OS X (and presumably BSD, too) the hostname command by default
returns the FQDN, unlike GNU where you must pass the -f flag.
During configure, check if -f is accepted; if it is, use that to
get the FQDN, otherwise use hostname with no flags.
* Fix tools/replace.sh.in so that variable expansions actually
work.
2004-05-05 20:55:21 Sean Middleditch <elanthis@awemud.net>
* The Character::add_rt() method takes seconds, not ticks.
All callers were just calculating seconds and multiplying by
TICKS_PER_SEC, so this makes sense.
* Animal AI will revert to wander mode if, during flee mode,
no reason to run is found. Note: this still needs a lot of
work, still rather buggy.
2004-05-05 20:21:06 Sean Middleditch <elanthis@awemud.net>
* May not individually specify telnet timeouts per account.
(Fixes #211)
2004-05-04 20:19:54 Sean Middleditch <elanthis@awemud.net>
* All those S*Manager types now derive from IManager in server.h.
* The server has a require() method to request the initialization
of a manager.
* Managers are shutdown in reverse order of their initialization.
* Converted some S*Manager::initialize() methods to use
server.require(). Need more conversions.
2004-05-04 15:23:06 Sean Middleditch <elanthis@awemud.net>
* Days are 24 hours, not 60. Fixes uptime day count display.
2004-05-03 01:35:52 Sean Middleditch <elanthis@awemud.net>
* Added Entity::load_init() and Entity::load_finish() to
facilitate initializing objects before load (resetting them)
and doing any finalization and/or sanity checks after load.
Not all that clean or pretty, needs more work all around.
* Room exits are now sorted after load. They must be manually
re-sorted if changed. Also not pretty, also needs more work.
2004-05-02 21:52:54 Sean Middleditch <elanthis@awemud.net>
* Somewhat improved animal AI.
* Cleaned up combat code to be usable.
2004-05-02 19:12:09 Sean Middleditch <elanthis@awemud.net>
* Don't crash when attempting to attack a non-Character.
* NPC random exits should actually be random now.
2004-05-02 18:40:53 Sean Middleditch <elanthis@awemud.net>
* The cmd_init.cc macros a little better and cleaner now.
* The cmd_init.cc macros use format priority instead of the
explicit short-name hacks.
* Room output is given for combat.
2004-05-02 17:14:58 Sean Middleditch <elanthis@awemud.net>
* Fork before writing PID file.
2004-05-02 16:25:55 Sean Middleditch <elanthis@awemud.net>
* Added a universal StreamIndent command for handling room output
and such.
* Began writing an auto-indent feature, useful mainly for help
files and block text.
* Fixed the "look" command search order using the temporary
explicit shortname hack. (Need to add priority support to
the cmd_init.cc macros...)
2004-04-30 20:49:55 Sean Middleditch <elanthis@awemud.net>
* Chroot'ing and some other server operations are done first
thing now to sanitize use of paths.
* Got rid of the "base" path specification, and just specified
all the paths in the config file.
* Fixed awemud.conf generation not working due to bug in
tools/replace.sh.in.
2004-04-30 18:03:47 Sean Middleditch <elanthis@awemud.net>
* You can't use a social command on yourself.
* Wrap the gc_allocator.h include due to bug where it doesn't
have include guards.
2004-04-30 04:17:22 Sean Middleditch <elanthis@awemud.net>
* "Fix" for the problem that autoconf expansions are intended
for shell script and makefiles, not normal data files or
source files. Basically, we added tools/replace.sh to do the
same bloody things configure does for expanding *.in files, and
then we do that expand for awemud.conf in the Makefile.am file.
Stupid autoconf.
2004-04-30 03:05:30 Sean Middleditch <elanthis@awemud.net>
* Refined HelpManager storage/management.
* Broke commands help to data/commands.help.
* The help command search categories first, then man pages,
then help topics.
* Man pages with NULL/nil about sections are auto-bound to help
topics in the commands category.
* Converted movement, look, and say/sing commands to above
auto-help feature.
* Fixed sing command.
* Fixed the explode() function.
* Called String::strip() on empty strings won't crash anymore.
2004-04-30 01:12:15 Sean Middleditch <elanthis@awemud.net>
* You can now configure the length of inactivity timeouts for
players in awemud.conf. Default is still 15 minutes.
* Updated man page to be a little nicer.
2004-04-29 22:28:50 Sean Middleditch <elanthis@awemud.net>
* Fix display of character description at the end of character
creation.
2004-04-29 03:55:27 Sean Middleditch <elanthis@awemud.net>
* The tools/commit script should pick up ~/.self.info now.
Hopefully.
* Corrected all the bogus/ugly email addresses in ChangeLog
caused by the above bug.
2004-04-29 03:51:00 Sean Middleditch <elanthis@awemud.net>
* The 'help' command will now attempt to find a command manual
entry for a help topic if no match if found in the help
database.
* The 'bug' command wasn't working right, the format used the
erroneous word 'abuse'. How's that for ironic? (Fixes #212)
* Help topic/category descriptions go through the parsing
system, so we can use the bold tags for command names (cool)
and command output examples can do fun things like use real
output or player data.
* The 'man' command can now take multi-word arguments.
2004-04-28 18:31:36 Sean Middleditch <elanthis@awemud.net>
* When travelling an exit, you no longer see the "You arrive"
style messages.
* Player names are always forced to be of the Proper name type.
2004-04-27 17:55:48 Sean Middleditch <elanthis@awemud.net>
* Use the standards compliant gc_allocator interface instead of
the much nicer and easier but compiler specific new_gc_alloc
interface.
* Added some specialty classes for GC-scanned STL containers.
* Did some type renaming and work to utilize the above.
* Other minor changes here and there for GCC 3.4 compatibility.
2004-04-22 03:33:01 Sean Middleditch <elanthis@awemud.net>
* AccessID and EventID lookup() calls return invalid IDs on
empty input strings.
* Added some useful methods to Command and CommandFormat for
querying basic info.
2004-04-20 20:48:07 Sean Middleditch <elanthis@awemud.net>
* Added sections to commands to make the command list prettier.
2004-04-20 04:19:31 Sean Middleditch <elanthis@awemud.net>
* Changed the role/access system to use numeric IDs versus
strings, similar to how event IDs work.
* Added a few more socials.
* Fixed a bug where BufferSink would cause a crash as its ptr
member was NULL instead of pointing to buffer on initialization.
* Updated the doc/Todo file.
* Social object and character targets both use the name "target"
in parsed strings, versus "object" and "victim" respectively
as before.
2004-04-19 20:53:22 Sean Middleditch <elanthis@awemud.net>
* The command manager individually handles each format now,
allowing us finer control of command searching.
* Command callbacks are attached to formats, not over-all
commands, which in the future will allow us more flexible
commands.
* Command formats are automatically sorted, which means you
don't have to be careful in which order you register formats,
and that you can over-ride pre-existing commands. Algorithm
isn't perfect; currently need to register one-letter versions
of common commands like north, look, etc to ensure they are
found first on one-letter input.
2004-04-17 20:41:18 Sean Middleditch <elanthis@awemud.net>
* Added the BufferSink stream sink for static buffers (faster
than allocated strings) for use in text::parse().
* Also added StreamChunk, which is a way to specify a string
segment/chunk to a stream without needed to allocate a
temporary string. Also for use in text::parse().
2004-04-17 16:23:28 Sean Middleditch <elanthis@awemud.net>
* The parser now uses Scriptix values, not just entities.
You can use the parser to print out text and integers from
Scriptix using str_parse() or *.printf().
* Added a printf() method to Character in Scriptix.
* Fixed make clean (eventids-stamp wasn't being deleted).
2004-04-16 03:54:22 Sean Middleditch <elanthis@awemud.net>
* Corrected some typos in doc/control.txt.
* Improved the control interface parser to handle -escaped
character and {} quoted words.
* Increased default control interface buffer size to 1024.
* Updated doc/control.txt for new parsing improvements.
* Move tools/revert.sh to tools/undo and made it work
intelligently.
2004-04-15 21:00:10 Sean Middleditch <elanthis@awemud.net>
* Added StreamCharDesc and a little refactoring of display
methods.
2004-04-14 03:48:08 Sean Middleditch <elanthis@awemud.net>
* Wrote SCommandManager and made the CommandManager global.
2004-04-13 20:15:49 Sean Middleditch <elanthis@awemud.net>
* NPCs can be zone locked so they will not leave the zone they
are put in.
* NPCs will only use "normal" exits, for now. We will add a
way to specify which exits they may use.
* Fixed RDQueue bug caused by incorrect page/chunk handling.
2004-04-09 03:29:29 Sean Middleditch <elanthis@awemud.net>
* Moved builder vision (seeing events) to the player code and
out of the event loop, which should be more efficient over-all.
* Removed the debug lines in the event handling loop.
* Fixed the npc.cc file which wasn't completely updated for the
s/template/blueprint/ transition.
2004-04-09 03:15:11 Sean Middleditch <elanthis@awemud.net>
* Renamed AttributeList to AttributeHolder, since I'd like to
(someday) make attributes hold actual lists/arrays.
* Renamed templates to blueprints, in code, files, and documents.
Templates were confusing because they meant several different
things in the code. Blueprint is much less ambiguous.
2004-04-07 04:27:40 Sean Middleditch <elanthis@awemud.net>
* Something funny happened with the ChangeLog. Restored it now.
2004-04-07 04:14:51 Sean Middleditch <elanthis@awemud.net>
* Added an auxillary data item to events. Attributes are too
heavy weight given that the vast majority of events that need
an extra argument only need one.
* Improved event documentation; pretty much complete now.
* Fixed the ON_GET event to only trigger if the object is
actually retrieved.
* Character::damage() sends the ON_DAMAGE event.
* The combat code sends the ON_ATTACK event.
2004-04-06 20:06:58 Sean Middleditch <elanthis@awemud.net>
* More event documentation.
* The Character::enter() method uses non-const RoomExit so we
can event-ize it.
* Added RDQueue code. (Similar to STL dqueues, but doesn't
require re-allocating memory; optimized just for pushing on
the end and popping off the front.)
* Events are now stored vs delivered immediately, and processes
en-bulk in the main game loop.
* Made a quick fix for the "let's overwrite the PID file when
another AweMUD process is already running, thus destroying
its usefulness!" Needs to be fixed for real, tho.
* Fixed the zmp.input handler.
2004-04-06 16:01:46 Sean Middleditch <elanthis@awemud.net>
* Added support for the zmp.input command.
2004-03-31 04:38:55 Sean Middleditch <elanthis@awemud.net>
* Added a new StringArg class, which is very similar to String.
It is used when passing a string argument to a function.
For now, it's a bit of a performance regression, but it's
paving the way for the GC string implementation I'm working on
that will make things a lot smoother and cleaner. Patience,
grasshoper.
2004-03-30 21:23:47 Sean Middleditch <elanthis@awemud.net>
* *blush* So... the garbage collector has been disabled for
several releases. Whoops. It's re-enabled now, so memory
will actually be reclaimed.
* Added a DEBUG statement to force a full garbage collection
every game loop. This is to stress the GC, just to make sure
no collection bugs slipped in during all that time while the
GC was disabled. Make sure this gets removed before the next
release, as it's a performance killer.
2004-03-26 04:12:42 Sean Middleditch <elanthis@awemud.net>
* The new eventids.h and eventids.cc are build from the
event-list.xml file automatically.
* Use the new pre-calculated event IDs for faster event signaling.
2004-03-25 04:11:04 Sean Middleditch <elanthis@awemud.net>
* Fixed Room and String streams when the supplied length argument
is 0; now it'll work as expected.
* Fixed usage of the saxon:line-number extension in
script-code.xsl, now that xsltproc supports it (rock!!) and
I can actually test/use it.
2004-03-25 01:26:50 Sean Middleditch <elanthis@awemud.net>
* Split the Character::do_look() method into a set of Character
methods for streaming out character descriptions and equipment
lists.
* Split PlayerManager stuff into pmanager.cc and PlayerTitle
stuff into ptitle.cc.
2004-03-24 20:38:44 Sean Middleditch <elanthis@awemud.net>
* The format parsing code has a fix to not include the final
quote in a string. Doh.
2004-03-19 20:42:28 Sean Middleditch <elanthis@awemud.net>
* The control interface now uses the local system "lookup UID"
feature to authenticate users over the control socket, since
apparantly only Linux does actual file system authentication for
UNIX sockets. This needs to be tested on BSD, OS X, and Cygwin.
* Bunch of documentation buildings updates.
* Added doc/event-list.xml, which is used to build the events
documentation, and eventually pre-computed event ID numbers
for faster event signaling.
2004-03-16 21:35:22 Sean Middleditch <elanthis@awemud.net>
* Allow giving explicit length to stream_put methods on streams.
* Use new explicit length in draw_bar().
2004-03-08 16:57:46 Sean Middleditch <elanthis@awemud.net>
* Moved combat from Scriptix to C++. (Warning: conversion is
far from complete.)
* Additions to Character API for handling combat data.
* CharGender now has methods for getting "his/her" strings and
similar stuff.
* Script documentation generation updates. (Sorry, this shouldn't
have been included.)
2004-02-16 04:42:45 Sean Middleditch <elanthis@awemud.net>
* Release 0.21.
2004-02-15 05:07:02 Sean Middleditch <elanthis@awemud.net>
* Added Player::validate() to be called in character creation
to finalize the character. (Fixes #207)
* Fixed SPlayerManager::exists() to use case-insensitive
searching.
2004-02-15 03:43:50 Sean Middleditch <elanthis@awemud.net>
* ZMPPack::add() explicitly supports long and ulong (for 64-bit
systems where int!=long).
2004-02-15 02:02:18 Sean Middleditch <elanthis@awemud.net>
* Removed 'loading script' message printed for each script.
We don't do it for any of the other files we load, why waste
screen/log space with these?
* Also removed a debug message in login.cc.
2004-02-15 01:31:59 Sean Middleditch <elanthis@awemud.net>
* Correct behaviour for player active state tracking in
Player::start() and Player::create().
* Drop all group privileges if a group change is specified
in awemud.conf.
2004-02-13 20:48:16 Sean Middleditch <elanthis@awemud.net>
* Use add_rt() in scripts/20.npc.sx instead of show_rt().
2004-02-13 20:36:34 Sean Middleditch <elanthis@awemud.net>
* Status bars are now updated in Player::update(), not
show_prompt(), meaning that the bars can be updated without
the need to send text to the game window. *Very* nice.
* Got rid of Character::show_rt(), since the RT is always shown
in the prompt or status bar immediately anyhow. Plus it made
the interface look more technical than it needs to.
* If a client with ZMP and x-awemud is connected, the default
player prompt is just >. No need to spit out HP and RT when
the client has the beautiful status bars to do it for you!
* Removed the 'Your round time has expired' message. This is
a regression for users without PyCL (status bars).
2004-02-13 05:13:07 Sean Middleditch <elanthis@awemud.net>
* Updated to use the x-awemud package name instead of x-pycl.
* Added code to use the status bar feature of x-awemud.
2004-02-12 21:50:42 Sean Middleditch <elanthis@awemud.net>
* Added a ZMPPack class which can be used to easily construct
a ZMP request.
* Modified the PyCL-enhanced OLC description editor to use
ZMPPack.
* Modified the Scriptix ZMP binding to use ZMPPack.
2004-02-11 21:13:37 Sean Middleditch <elanthis@awemud.net>
* Automatically taken to main menu after new account creation.
* Cleaned up login code slightly; ensure account == NULL.
2004-02-11 20:04:43 Sean Middleditch <elanthis@awemud.net>
* Added the MD5 implementation by Colin Plumb (public domain).
* No longer require GNU/BSD crypt() w/ MD5 extensions, libcrypt
or libssl.
* Namespaced the md5_crypt and md5_compare functions.
2004-02-11 04:56:26 Sean Middleditch <elanthis@awemud.net>
* Properly account for length of socket path (include NUL byte).
* settings::get_path() no longer has a default default. ;-)
* settings::get_path() returns NULL if the default is NULL and the
requested path is unspecified.
2004-02-10 19:29:53 Sean Middleditch <elanthis@awemud.net>
* Moved StreamParse from streams.h to parse.h.
* Added StreamParse::add() methods to build StreamParse arguments
vs using the constructor interface.
* Updated COPYING file with 2004 copyright notice and a nicer
header.
2004-02-10 04:19:25 Sean Middleditch <elanthis@awemud.net>
* Fixed bootstrap script to use ACLOCAL_FLAGS environment variable.
* Fixed the BUILD_DOCS automake flag to use the correct test.
* Updated the FAQ with some notes on building on OS X w/ Fink.
2004-02-09 02:24:15 Sean Middleditch <elanthis@awemud.net>
* Header update in awemud-ctrl.c for OS X compilation.
* Fix return value of SPlayerManager::count to size_t for 64-bit
systems.
* Fixed tools/note.sh to get around GNU-isms.
2004-02-06 20:07:59 Sean Middleditch <elanthis@awemud.net>
* Bumping of characters already active but not connected works
again.
2004-02-06 19:54:24 Sean Middleditch <elanthis@awemud.net>
* Updated the XSL code for script doc generation.
2004-02-05 05:24:00 Sean Middleditch <elanthis@awemud.net>
* Cleaned up strings functions, removed some unused funcs.
* Also, s/str_is_long/str_is_number/.
* Added unsigned long versions of string conversion funcs.
* Used buffer size of 40, not 20, for string/number conversion
funcs.
2004-02-05 01:31:06 Sean Middleditch <elanthis@awemud.net>
* Access lists are stored per account vs per player now.
* Also tons of little cleanups, especially in parser code.
* Removed the old flags_type and relevant macros.
2004-02-04 16:12:40 Sean Middleditch <elanthis@awemud.net>
* The install paths of AweMUD are now much more standard.
* Fixed some of the path name oddities in awemud.conf.
* Updated admin guide and FAQ in relation to installation issues.
2004-02-03 22:01:13 Sean Middleditch <elanthis@awemud.net>
* Passphrases are now required to be at least 6 characters and
have both letters and numbers.
2004-02-03 16:58:09 Sean Middleditch <elanthis@awemud.net>
* Cleaned up the login display.
* Character deletion is in.
* Added several new commands to the control interface:
setmaxcahrs, setmaxactive, showaccount.
2004-02-03 03:49:10 Sean Middleditch <elanthis@awemud.net>
* Added limit on account characters.
* Added limit on account active characters.
* Accounts can be disabled.
* Appended historic AweMUD ChangeLog (pre-NG). This is missing
a few months of work however when ChangeLog notes were just
stored in the CVS repo.
* The 'user-count' variable in the string parse code is now
'player-count', which returns active players (and does not
include those just logged into the account menu).
* The 'users' variable in the control interface is now 'pcount'.
2004-02-02 16:58:09 Sean Middleditch <elanthis@awemud.net>
* Updated the admin guide with notes on the account settings
in awemud.conf.
2004-02-02 16:48:43 Sean Middleditch <elanthis@awemud.net>
* Fix the awemud.conf.in to have the right section name for
'accounts'.
* Added AccountManager::exists(), which is similar in function
to PlayerManager::exists().
* Updates to Player and Account code to properly be case
insensitive where appropriate (especially during file
operations).
* Make the AccountManager::get() use the account ID, not name.
Whoops.
* Character deletion is still disabled.
2004-02-02 15:16:05 Sean Middleditch <elanthis@awemud.net>
* The TelnetHandler class is now scriptable. (Barely.)
* ZMP commands can now be Scriptix functions.
* Added check to limit number of characters an account can create.
* Added a check if new account creation is disabled.
2004-02-02 05:01:35 Sean Middleditch <elanthis@awemud.net>
* Main menu added after account login.
* Players may select to play an existing character or create a
new one.
* Quitting during play returns user to account main menu.
* Fixed some warnings in network code when gcc -Wall is enabled.
* Player 'playable' flag removed, just use 'valid' now. Who's all
keeping track of this? I'm lost...
* Note: account code still not complete. Alos likely to suffer
from many bugs.
2004-02-01 19:42:55 Sean Middleditch <elanthis@awemud.net>
* Added the Account datatype.
* Player passwords, names, and email addresses are stored in
their account, not player.
* Warning: this is not finished yet. New character creation
and many other previous features are unavailable until this
code is completed.
2004-01-31 20:41:49 Sean Middleditch <elanthis@awemud.net>
* Added/changed copyrights for year 2004.
* Added note to COPYRIGHT that the copyright is owned by both
AwesomePlay and any contributors. (Who should hopefully have
marked their contributions in the files they modified/added.)
2004-01-30 04:34:07 Sean Middleditch <elanthis@awemud.net>
* The Player 'valid' flag is now called 'playable'.
* The 'valid' flag now means it's a real character and not a
place-holder (i.e., it can be saved).
* Added a Player::is_connected(), which just checks that
get_handler() isn't NULL.
* Bumping actually checks password.
* Player must be explicitly saved to become valid.
* Bumping is automatic (no confirm) if the player is disconnected.
2004-01-29 19:30:14 Sean Middleditch <elanthis@awemud.net>
* Added ITelnetMode, and TelnetModeLogin and TelnetModePlay.
* Merged TelnetHandler::net_disconnect() with net_shutdown().
* SPlayerManager tracks player timeouts after hangups.
* Character::remove() doesn't set location to NULL.
2004-01-29 16:23:25 Sean Middleditch <elanthis@awemud.net>
* Require latest version of Scriptix.
* Only give scripts the SEC_FORK security access by default.
2004-01-23 21:32:31 Sean Middleditch <elanthis@awemud.net>
* Fix character creation to start up properly.
2004-01-23 03:26:17 Sean Middleditch <elanthis@awemud.net>
* Player no longer derives from TelnetHandler.
* Login menu handled by TelnetHandler, not a player input
processor.
* Added an IStreamSink interface to make plugging into
StreamControl very easy.
* PlayerManager guarantees only one copy of a player exists at
a time.
* Player cannot be created without a name, which cannot change.
* Player auto-registers itself with the PlayerManager, and
auto-removes itself.
* The 'grant' command saves the player immediately.
* Lots of smallish changes to support player/telnet separation.
2004-01-23 03:25:52 Sean Middleditch <elanthis@awemud.net>
* Player no longer derives from TelnetHandler.
* Login menu handled by TelnetHandler, not a player input
processor.
* Added an IStreamSink interface to make plugging into
StreamControl very easy.
* PlayerManager guarantees only one copy of a player exists at
a time.
* Player cannot be created without a name, which cannot change.
* Player auto-registers itself with the PlayerManager, and
auto-removes itself.
* The 'grant' command saves the player immediately.
* Lots of smallish changes to support player/telnet separation.
2004-01-22 16:42:26 Sean Middleditch <elanthis@awemud.net>
* Removed the CVS $Id tag from build files.
2004-01-22 16:26:12 Sean Middleditch <elanthis@awemud.net>
* Removed the useless 'Header file' and 'Source file' notes from
file comments.
* Removed the CVS $Id$ tags from file comments.
2004-01-22 16:10:29 Sean Middleditch <elanthis@awemud.net>
* Renamed the various singleton classes like _Blah to SBlah.
* Moved all connection management to TelnetHandler and
STelnetManager.
* Renamed Processor to IProcessor. (It's not a true interface
class, but is close enough.)
* Renamed SocketServer to ISocketServer.
2004-01-21 16:36:41 Sean Middleditch <elanthis@awemud.net>
* The player file valid attribute is now called invalid (with
the opposite effect). Files with no invalid: true attribute
are considered valid.
* Player passphrases are stored in the .ply file now. Yes,
that's right, no more data/passwd. Unfortunately, this means
passwords (encrypted) are kept in memory now.
* Player files are written with no group/other access, to better
protect the encrypted player passwords.
* Removed duplicated 'chpass' code in control.cc
* Fix silly crash bug with new Sockets calling close().
2004-01-21 15:46:30 Sean Middleditch <elanthis@awemud.net>
* Cleanup the Socket code, unification.
* The AI code closes the directory it opens for scanning.
2004-01-20 20:37:06 Sean Middleditch <elanthis@awemud.net>
* Split the telnet/connection code from the Player class to
TelnetHandler.
2004-01-16 21:54:29 Sean Middleditch <elanthis@awemud.net>
* Re-activated calls to Player::check_time() so inactivity will
result in disconnection again.
* When the client hangs up, and the client is actually playing,
they will not be immediately removed from the game; thus,
pulling the plug isn't a safe way out of danger. The 'quit'
command still has this behaviour for now, tho.
2004-01-16 20:58:10 Sean Middleditch <elanthis@awemud.net>
* The old meaning of 'valid' (player logged in) is now called
'active'.
* Added a 'valid' flag which means the player file is, well,
valid.
* Existing player files will need the valid: yes attribute added
to the file, or else on login they will be forced to make a
new character.
2004-01-16 16:53:37 Sean Middleditch <elanthis@awemud.net>
* Added an 'adduser' command to the control interface.
* If a player file doesn't exist but the player is in the passwd
list, enter character creation on login.
* Empty passwords fail automatically during password validation.
* Failed login attempts reset to name entry.
2004-01-16 05:32:50 Sean Middleditch <elanthis@awemud.net>
* Added a MessageManager system, which pulls arbitrary text out
of data/messages.
* Changed all uses of the server.get_*_message() calls with
calls to MessageManager.get().
2004-01-15 19:23:26 Sean Middleditch <elanthis@awemud.net>
* Allow entities to have a unique-name for searching and lookup.
* Expanded 'whereis' command so you now specify if you're looking
for a player or a uname.
* Added Entity.get_by_uname() static method to Scriptix.
* Added a virtual, get_room() method to Entity since every
Entity child (except Zone) needs it, and it makes sense to
have a standard name.
* Moved Exit::get_room() to Exit::get_target_room() and
Exit::get_exit() to Exit::get_target_exit(). Same for the
Scriptix equivalents.
2004-01-15 04:19:49 Sean Middleditch <elanthis@awemud.net>
* The core team list isn't accurate, but we can't move people
to Contributors because that wouldn't be accurate either,
do just rename Core Team to Developers.
2004-01-15 04:05:41 Sean Middleditch <elanthis@awemud.net>
* Added a 'price' command for stores, to determine how much an
item can be sold for.
* Improved output of 'sell' a wee bit in regards to object names.
* Set the ntype for emeralds to vowel (starts with an 'e').
2004-01-13 22:05:16 Sean Middleditch <elanthis@awemud.net>
* The sell command should call object.remove(), not
player.remove().
* Don't let directional command(north, east, etc.) crash if the
player isn't in a room.
* Force failure of Player::start() if no location is present.
2004-01-13 21:59:24 Sean Middleditch <elanthis@awemud.net>
* Added get_cost() and set_cost() to Object type in Scriptix.
* Added a sell command in scripts/50.store.sx.
2004-01-09 05:18:34 Sean Middleditch <elanthis@awemud.net>
* Added a UNIX domain socket Control Interface Protocol system,
documented in doc/control.txt.
* Flush log file notices, very important.
* Removed tools/passwd.pl, as the awemud-ctrl utility with the
chpass command does the same thing.
* Removed tools/rpc-test.py, since we're remove XML-RPC.
* Added information on the Control Interface Protocol to the
Admin's Guide.
2004-01-07 20:28:37 Sean Middleditch <elanthis@awemud.net>
* Improved character creation output a bit for description
details.
2004-01-07 19:46:50 Sean Middleditch <elanthis@awemud.net>
* Allow ingame help to be spread over multiple files.
2004-01-07 04:40:30 Sean Middleditch <elanthis@awemud.net>
* Update for Scriptix changes.
2004-01-06 05:19:46 Sean Middleditch <elanthis@awemud.net>
* Added an 'admin chpass' command to change players' passwords.
* Script guide now includes docs on strings, integers, arrays,
and other builtins.
* Script guide includes more docs on custom extends.
* Use xmlto instead of docbook-utils.
2004-01-05 21:44:40 Sean Middleditch <elanthis@awemud.net>
* Fix some title names.
* Make -ldl not required.
* Fix data/admin.ply.
2004-01-05 04:48:35 Sean Middleditch <elanthis@awemud.net>
* Added hair styles.
* Added skin color.
* Merged EyeColorType and HairColorType into ColorType.
(Also used for skin.)
* Races can define a skin type, to replace the word "skin" in
description. (For example, kalruan have a skin type of "fur.")
* Added player build types. (Lean, broad, etc.)
2003-12-23 20:31:20 Sean Middleditch <elanthis@awemud.net>
* Removed NameRegistry, was unused except for Events.
* Rewrote EventID system, cleaner and smaller.
2003-12-23 01:30:16 Sean Middleditch <elanthis@awemud.net>
* Make the 'commands' command work properly again.
2003-12-19 21:48:00 Sean Middleditch <elanthis@awemud.net>
* Statement about the help command during login is bold instead
of in quotes.
2003-12-19 15:26:07 Sean Middleditch <elanthis@awemud.net>
* Make settings::get_path() lookup section 'paths', not 'path'
(settings otherwise don't work without modifying awemud.conf).
2003-12-18 03:34:01 Sean Middleditch <elanthis@awemud.net>
* In rooms, s/Visible exits/Obvious exits/.
2003-12-17 20:25:13 Sean Middleditch <elanthis@awemud.net>
* Began adding special ZMP support for the x-pycl package.
(So I can play around with various ZMP possibilities, using
the PyCL client.)
2003-12-17 16:56:58 Sean Middleditch <elanthis@awemud.net>
* Fix serious crash/corruption bug in network code.
2003-12-17 15:59:19 Sean Middleditch <elanthis@awemud.net>
* Removed the debug messages from 50.object.sx.
2003-12-17 04:40:09 Sean Middleditch <elanthis@awemud.net>
* Fixed player load error message.
* Actually honor the disabled flag for players.
* Help files have categories too.
2003-12-16 17:01:38 Sean Middleditch <elanthis@awemud.net>
* Updated block format for FileObject format.
* Updated parsing of normal value entries.
2003-12-12 16:03:03 Sean Middleditch <elanthis@awemud.net>
* Hair and eye colors can now be limited by race.
* Added a capwords() function to C++ and Scriptix.
2003-12-11 21:41:00 Sean Middleditch <elanthis@awemud.net>
* Began writing the NEWS updates for 0.21.
* Updated FAQ.
2003-12-11 21:27:44 Sean Middleditch <elanthis@awemud.net>
* Exits now support named entities in leave/go/enter messages.
* Login and connect messages support named entities.
* Room, race, NPC, and objects descriptions support named
entities.
* Updated several misuses of the parsing constructs (removed
use of :, forced use of .).
2003-12-11 21:00:51 Sean Middleditch <elanthis@awemud.net>
* Parse system now can name the entities, as well as number them.
* Socials support naming in the parse data.
* Socials were broken, fixed them.
2003-12-11 18:43:55 Sean Middleditch <elanthis@awemud.net>
* Equipment directly stored on Character, not a separate CharBody.
* In scripts, Character.hands_free() is now
Character.free_hands().
2003-12-11 04:02:48 Sean Middleditch <elanthis@awemud.net>
* Gender is now part of Character, not CharBody.
* Gender uses the GenderType class, not just a bare enum.
* Fixed 20.player.sx for {.eyecolor} usage.
2003-12-10 20:20:37 Sean Middleditch <elanthis@awemud.net>
* Added a 'used' script (called to replace normal enter function)
to room exits.
* Fixed player commands to actually work.
* Added example 'magic portal' to example.zone - you need a gem
in hand to use it.
2003-12-10 04:49:32 Sean Middleditch <elanthis@awemud.net>
* Minor updates to the command code.
2003-12-10 04:12:05 Sean Middleditch <elanthis@awemud.net>
* Privileges are role-based now, not just a flat privilege level.
* Privileges, real name, and email address are part of the Player
object (and in player file) instead of UserDB (and passwd file).
* Scriptix registered commands need to pass in an appropriate
string ("admin", "builder", etc) or nil for the last argument,
not a number.
2003-12-09 21:52:37 Sean Middleditch <elanthis@awemud.net>
* Added 'safe' and 'noweather' room flags.
* Added getter/setter methods for the new room flags and
'outdoors' to Scriptix.
2003-12-09 15:46:48 Sean Middleditch <elanthis@awemud.net>
* Fixed admin.ply.in to have a correct room.
* Updated admin.xml for command updates.
* Fixed usage strings for admin blockip and grant commands.
2003-12-09 02:37:19 Sean Middleditch <elanthis@awemud.net>
* Removed bit-rotting XML-RPC code.
* Fixed command code to not list all commands if you enter a
bogus command.
2003-12-08 20:17:53 Sean Middleditch <elanthis@awemud.net>
* Added gem templates. (Ruby and emerald.)
* Made the Gem Cutter a store, too.
* Updated command errors - if multiple commands match, print
them all.
* GM and Admin commands are prefixed with gm and admin.
* Added a gm summon player command.
2003-12-08 17:30:00 Sean Middleditch <elanthis@awemud.net>
* Added a string Scriptix module.
* Improved store output.
* Require Scriptix > 0.28.
2003-12-08 05:27:11 Sean Middleditch <elanthis@awemud.net>
* Small change to configure.in so AC_CHECK_TYPE doesn't raise
that silly, useless warning.
* Zone spawns will now spawn objects if the specified tag doesn't
correspond to an NPC.
* Player description shows equipment, and is a little nicer
looking.
* Fixed the entity name text parsing command for when its
capitalized.
* Fixed race adjective to not be over-written by race name.
2003-12-08 04:05:06 Sean Middleditch <elanthis@awemud.net>
* Fixed parse commands in data/races. (Fixed #195)
* Small zone.h changes.
* Updated doc/Todo.
* Removed supposed test suite, we don't use it, probably won't
anytime soon.
* Added npc_death hook. The hook must call the remove() method
on the NPC if you add one and want the NPC to be removed.
2003-12-04 21:22:11 Sean Middleditch <elanthis@awemud.net>
* Build fixes.
* Pre-built documentation isn't in the distribution anymore.
* Updated the FAQ.
* Release 0.20.
2003-12-04 16:23:46 Sean Middleditch <elanthis@awemud.net>
* Fixed ANFL_OUTDOORS for the ZoneManager::announce() function.
* Added object classes. (To differentiate between 'jewelry',
'sword', etc.)
2003-12-03 21:02:58 Sean Middleditch <elanthis@awemud.net>
* Added a basic script for handling stores, using the 'menu'
and 'buy' command.
* Added a weapon smith to Darlet, with some weapons for sale.
* Added a few Scriptix methods to various types needed to
support stores.
* Added EntityTemplate, NPCTemplate, and ObjectTemplate types
to Scriptix.
2003-12-03 16:48:55 Sean Middleditch <elanthis@awemud.net>
* Complete support for getting, dropping, and putting coins.
2003-12-02 21:12:42 Sean Middleditch <elanthis@awemud.net>
* Cleaned up network layer code.
* Rewrote command parser and matcher, more correct and flexible
now.
2003-11-28 04:32:19 Sean Middleditch <elanthis@awemud.net>
* Don't crash on invalid container option in object OLC.
(Fixes #193)
2003-11-28 03:40:15 Sean Middleditch <elanthis@awemud.net>
* Minor OLC restructuring.
* The 'desc' command in the OLC editor uses the full description
editor interface.
* Re-enabled the 'edit' command in the OLC editor.
* Updated default admin player.
* Added 'cost' and 'weight' parse commands to objects.
(For descriptions and such.)
* Added a bank note template (prepreation for stores/currency).
* Fixed NPC AI so they don't all move in lockstep.
2003-11-27 06:56:03 Sean Middleditch <elanthis@awemud.net>
* In parsing text (description, socials, etc.) use a . to separate
index/member, not : or ;.
* In parsing, the separator is *required*, tho the index is
still optional.
* In parsing, commands without a separator use a global list of
special commands.
* Added day-or-night parsing command.
* Fixed if/elif in parsing to actually work properly again.
2003-11-22 18:03:12 Sean Middleditch <elanthis@awemud.net>
* Fixed the name flag for targets in the socials list.
* Fixed the announce command (ANFL_NONE was 1, not 0).
(Fixes #189)
2003-11-21 21:58:54 Sean Middleditch <elanthis@awemud.net>
* Deleted zones will get backed up correctly now (use get_id()
instead of get_name() for path generation).
* Updated scripts to be compatible with latest Scriptix CVS.
* Object and NPC templates are in singleton *Manager objects now.
* Added Player::draw_bar() for making pretty little progress
bar graphics (oh boy!).
* More Script reference guide updates.
2003-11-21 05:40:27 Sean Middleditch <elanthis@awemud.net>
* Autosave timeout measured in microseconds, not milliseconds
(fixes 'save every second' bug).
* Script documentation updated. Now in chunks, in
doc/script.html/.
2003-11-21 03:05:06 Sean Middleditch <elanthis@awemud.net>
* Fix script interface to actually compile. (Whoops.)
2003-11-20 21:58:42 Sean Middleditch <elanthis@awemud.net>
* Added Character.set_position to Scriptix. (From Alez, with
modifications.)
* File object reader uses exceptions now. Macros updates.
(Fixes #187)
* Added Scriptix CON_* constants for the Object.add_object()
container argument.
* Help is now in the HelpManager class.
2003-11-19 15:57:58 Sean Middleditch <elanthis@awemud.net>
* Added Object::get_room() and Object::get_owner() implementations
from Alez.
* Combat now uses the combat.fist string attribute for NPC
attacks instead of 'fist'.
* NPC.go_random_exit() in scriptix has a 50 tick round time now.
(Needs to be generalized.)
2003-11-18 19:37:23 Sean Middleditch <elanthis@awemud.net>
* Added 'kick' command.
2003-11-18 16:11:45 Sean Middleditch <elanthis@awemud.net>
* New Event system is in. Note: Scriptix API still subject
to fluxuation/cleanup.
* Added on_open, on_close, on_lock, on_unlock, and on_drop
events. (Bug #184)
* Added on_leave event.
2003-11-18 02:35:42 Sean Middleditch <elanthis@awemud.net>
* Re-enabled the Scriptix Object/NPC template functions.
2003-11-17 21:25:40 Sean Middleditch <elanthis@awemud.net>
* Removed World class; added ZoneManager, and put time in Server.
* Player objects aren't dropped on death (death hooks can do
that if they wish).
* Note: Scriptix API has changed; most importantly, use
Room.get_room() instead of world.get_room().
* Removed data/world, use data/time for time, and zone files
are found automatically.
2003-11-17 03:59:05 Sean Middleditch <elanthis@awemud.net>
* Animals don't attack you if you're already dead. (Fixes #182)
2003-11-15 05:51:25 Sean Middleditch <elanthis@awemud.net>
* Added newline to example 'sing command' in cmd_init.cc.
(Fixes #181)
* Weather is in its own WeatherManager, not World.
* Calendar is a global, not part of World.
* Cleaned up server startup/shutdown messages a bit.
2003-11-14 20:04:27 Sean Middleditch <elanthis@awemud.net>
* Got rid of the ugly include/procs.h, moving the input processors
to various (proper) files.
2003-11-14 19:38:38 Sean Middleditch <elanthis@awemud.net>
* Split much of cmd_builder.cc into olc.cc.
* Cleaned up OLC interface (a small bit).
* Fixed data/help's modify entries (had spaces in name).
2003-11-14 15:57:41 Sean Middleditch <elanthis@awemud.net>
* Script engine now has a cleaner interface and wrapping.
* Fixed bug in PlayerManager.flush(), output was only being sent
to last connected player. (Fixes #180)
2003-11-11 04:50:30 Sean Middleditch <elanthis@awemud.net>
* Script processors in Scriptix are now based on method calls
in derived types.
* New, totally sexy beginning of Character Creation as a derived
type in Scriptix.
2003-11-11 04:22:24 Sean Middleditch <elanthis@awemud.net>
* Updated to use latest Scriptix changes.
* Added npc_death hook.
2003-11-10 16:23:12 Sean Middleditch <elanthis@awemud.net>
* Fixed the Room Scriptix iterators to not crash.
* Moved most ZMP code to the ZMPManager singleton.
2003-10-28 21:17:37 Sean Middleditch <elanthis@awemud.net>
* Moved all static Entity management to EntityManager singleton.
* Moved all static Player management to PlayerManager singleton.
* Player titles are managed by PlayerTitleManager singleton.
* UserInfo management (static methods) put into UserDatabase
singleton.
2003-10-27 16:35:26 Sean Middleditch <elanthis@awemud.net>
* Force GC collection and finalization on shutdown.
* Don't print Entity creation/deletion debugging statements.
2003-10-27 16:25:52 Sean Middleditch <elanthis@awemud.net>
* Updated include/Makefile.am to include elist.h.
2003-10-24 20:42:31 Sean Middleditch <elanthis@awemud.net>
* Cleanups to Player list and GC usage.
* Connection handling tweaks.
* More Character/NPC stat fixes.
* EntityList is now based on std::list.
2003-10-17 02:08:30 Sean Middleditch <elanthis@awemud.net>
* Fix character creation script.
* Character stats (get_stat(), etc.) work now.
2003-10-16 20:20:50 Sean Middleditch <elanthis@awemud.net>
* Mostly finished FSM-based AI system.
* Animal AI in scripts/animal.ai.
* Event changes.
* (Note: AI still a bit broken, needs more event system work.)
2003-10-16 15:34:18 Sean Middleditch <elanthis@awemud.net>
* Garbage collection work.
2003-10-15 20:46:21 Sean Middleditch <elanthis@awemud.net>
* Configurable day/night messages for room descriptions.
* Configurable sunrise/sunset messages.
* New builder interface mode (type 'edit <blah>').
* Cleanups and improvements to alignment.
* Make use of Boehm-Demer-Weiser GC. (**WARNING: LIKELY VERY
BUGGY STILL**)
* More work on AI, not yet usable/enabled.
2003-10-11 15:11:44 Sean Middleditch <elanthis@awemud.net>
* More cleanups.
2003-10-09 20:38:32 Sean Middleditch <elanthis@awemud.net>
* Various cleanups to Character.
* Added a 'give coins' command.
2003-10-07 19:51:33 Sean Middleditch <elanthis@awemud.net>
* Added a sing command.
* Removed the Room::say() method.
* Fixed socials to work properly again.
2003-10-06 02:45:16 Sean Middleditch <elanthis@awemud.net>
* NPC templates are inheritable now.
* Builder commands have some serious crasher bugs (from
select_entity()) fixed.
2003-10-03 20:07:49 Sean Middleditch <elanthis@awemud.net>
* Inherited object attributes should actually work now.
2003-10-03 16:52:58 Sean Middleditch <elanthis@awemud.net>
* Cleaned up Entity/Object templates, merging duplicate code.
(Fixes #176)
* Fixed combat script errors.
* Properly initialized Player class, fixed a crash w/ titles
and a couple login bugs. (Fixes #175)
2003-10-01 20:38:41 Sean Middleditch <elanthis@awemud.net>
* Player death script invoked with a hook now, vs. only an event.
* Object flags are stored as bitfields now, cleaner interface
(imo).
* Player titles are loaded from data/titles. (Fixed #168)
* Removed tags, attributes work well enough for this.
* Migrated help to file object format.
2003-09-28 03:18:43 Sean Middleditch <elanthis@awemud.net>
* Fix mod <exit> target to actually work properly.
* Actions are now only for Objects.
* Beginings of a state-machine based AI.
* Compile with newest Scriptix. (Also, changed struct:member
uses to struct.member in scripts.)
2003-09-22 20:57:34 Sean Middleditch <elanthis@awemud.net>
* Lots of AI work.
* Attempts at character creation cleanup.
2003-09-22 14:47:06 Sean Middleditch <elanthis@awemud.net>
* Began AI subsystem.
* Events are based on an Event object now.
* Scripting doc updates.
* Combat tweaks.
2003-09-21 20:36:35 Sean Middleditch <elanthis@awemud.net>
* Added str_parse() Scriptix function (mimics phrase_match()
in C++).
* Extended basic Scriptix String type to have a matches() method,
equivalent to str_parse().
* Character creation options can take either words or numbers now.
* Combat rule cleanup.
* The 'emote' command shows properly now.
2003-09-19 15:51:44 Sean Middleditch <elanthis@awemud.net>
* Color codes are stacked; makes nested use of color work
properly.
2003-09-19 15:06:55 Sean Middleditch <elanthis@awemud.net>
* If you have no valid weapons, and you have one or more free
hands, you can attack with your fists now.
2003-09-19 14:42:18 Sean Middleditch <elanthis@awemud.net>
* Cleaned up logging to not use function call wrappers. Arr!
2003-09-19 04:15:12 Sean Middleditch <elanthis@awemud.net>
* New startup script.
* Slight change to player connection flushing.
* New logging syntax (same ugly message() wrapper hack tho -
to be fixed).
* Stat values shown in character creation, aside from just names.
* New file path configuration code.
2003-09-17 16:04:55 Sean Middleditch <elanthis@awemud.net>
* Moved 'misc' commands to cmd_player.cc.
* Split the Command::init() function to cmd_init.cc.
* Updated death routine.
* Fixed EventID comparisons.
* Cleaned up more streamed entity name usages.
* Cleaned up combat slightly.
2003-09-16 18:40:54 Sean Middleditch <elanthis@awemud.net>
* New exit detail/usage model.
* Exit go/enter/leave messages changes file format names.
Plus they actually work now.
* Tons of exit locking/unlocking/opening/closing fixes.
* Expanded example zone a bit.
2003-09-16 00:25:45 Sean Middleditch <elanthis@wireless.awesomeplay.com>
* Minor color fixes for dark-on-white displays.
2003-09-15 20:59:02 Sean Middleditch <elanthis@awemud.net>
* Cleaned up EventID usage a bit.
* Minor color and room output updates.
* Began store interface.
2003-09-15 03:30:17 Sean Middleditch <elanthis@awemud.net>
* Fix bug in usage of Player::get_path() in player.c.
2003-09-14 22:52:07 Sean Middleditch <elanthis@awemud.net>
* Release 0.19.
2003-09-13 04:26:13 Sean Middleditch <elanthis@awemud.net>
* Added note to Admin Guide about passing --disable-shared to
Scriptix' ./configure script when building on Mac OS X.
* Made several header include changes in various files for Mac
OS X compatibility.
* Poll() networking wrapper fixes for Mac OS X.
2003-09-12 23:40:30 Sean Middleditch <elanthis@awemud.net>
* Explicit setting of text mode in the PID file, help files,
and log files.
2003-09-10 20:22:30 Sean Middleditch <elanthis@awemud.net>
* The ZMP 'ping' command properly responds now.
* Fixed bug where a connection that logged in and immediately
disconnected would cause an invalid copy of the player to be
permanently created in the world.
2003-09-10 15:15:09 Sean Middleditch <elanthis@awemud.net>
* Server doesn't do world updates if no players are logged on.
2003-09-09 20:58:40 Sean Middleditch <elanthis@awemud.net>
* Added 'touchable' property for objects.
* Socials obey their 'touch', 'speech', and 'move' requirements.
* Ghostly voices when dead players speak.
2003-09-08 19:01:04 Sean Middleditch <elanthis@awemud.net>
* Small change to example.zone.
2003-09-08 17:34:58 Sean Middleditch <elanthis@awemud.net>
* Added a cl_find_any() method.
* Various cleanups to object container output.
* Fixed the 'tell' command to work properly.
2003-09-08 14:46:16 Sean Middleditch <elanthis@awemud.net>
* Combat code changes.
* Conditional test suite usage.
2003-09-08 03:24:28 Sean Middleditch <elanthis@awemud.net>
* Finished NPC templates.
2003-09-05 20:01:26 Sean Middleditch <elanthis@awemud.net>
* Minor updates; added Entity.get_namef() Scriptix function.
2003-09-05 18:11:06 Sean Middleditch <elanthis@awemud.net>
* Began templatizing NPCs.
* Fixed bug in 'create npc' to actually load the template.
* Cleaned up combat a bit.
* Added an example death event handler and a City of the Dead
zone.
2003-09-04 20:58:44 Sean Middleditch <elanthis@awemud.net>
* Moved player description info to pdesc.[ch].
* Cleaned up script interface building XSLT script.
2003-09-03 21:15:32 Sean Middleditch <elanthis@awemud.net>
* Various UI improvements.
2003-09-03 04:28:06 Sean Middleditch <elanthis@awemud.net>
* Fixed crash in builder entity selection.
* Fixed formatting bug in builder description editor.
* Moved eye color to the Player class.
* Added hair color.
2003-09-01 21:07:31 Sean Middleditch <elanthis@awemud.net>
* Fix bug in include/Makefile.am so scripttypes.h is actually
generated.
2003-09-01 10:19:36 Sean Middleditch <elanthis@awemud.net>
* Parsing format now supports if/elif/then/endif constructs.
* Player descriptions (look at <player>) use parsed race
descriptions.
* Completely re-designed player output system for correctness.
* Fix file formats of certain files.
2003-08-30 23:00:42 Sean Middleditch <elanthis@awemud.net>
* Updated character body to not be a pointer.
* Added eye colors.
* Refactored character creation a bit again.
* Modification include/Makefile.am to not 'touch' scripttypes.h
if the content doesn't change.
2003-08-30 05:56:54 Sean Middleditch <elanthis@awemud.net>
* Moved stat selection to after class selection. (Recommended
by Libby.)
* Various stat selection improvements.
* Cleaned up the 'look' output for NPCs and players.
* Added more parse commands to characters and players.
* Text parsing uses a default number vs. incremental number when
no number is specified now.
* Added a special ! command to parsing to capitalize the first
letter of the parse command result.
2003-08-30 03:38:37 Sean Middleditch <elanthis@awemud.net>
* Fixed a few building command bugs.
* Fixed command parser; subtle argument bug.
* Added some more socials.
* Fixed 'server' command bug.
* Fixed crash in 'grant' command.
* Templates support the name type property.
* Set plural name type for a couple object templates.
2003-08-29 20:51:01 Sean Middleditch <elanthis@awemud.net>
* Modified file object format yet again. (Changed detailed on
mail list.)
2003-08-29 19:07:55 Sean Middleditch <elanthis@awemud.net>
* Moved objects.tmpl into a set of .objs files.
* Made Entity template system usable.
* Objects now use template system.
* Cleaned up script.intr syntax (now much better doc support).
* Objects on body locs at load time have their parent entity
properly set.
2003-08-19 03:25:12 Sean Middleditch <elanthis@awemud.net>
* Make tests dependent on --enable-experimental, since I'm sure
they break on Cygwin.
2003-08-19 03:05:57 Sean Middleditch <elanthis@awemud.net>
* Change a couple likely improper uses of memcpy() to memmove().
* Changes to recalc usage.
* Race scores are temporary modifiers; players are "updated"
when races change.
* Revamped colour support; added bright and dim versions of
colors, and underline.
* Really really commit the test suite. I think. Dumb CVS.
2003-08-16 22:19:07 Sean Middleditch <elanthis@awemud.net>
* Actually add the test suite. (Silly CVS.)
2003-08-14 16:52:19 Sean Middleditch <elanthis@awemud.net>
* Added the beginnings of a test suite.
2003-08-12 04:40:29 Sean Middleditch <elanthis@awemud.net>
* Added a delay to zone respawn checks. Should speed things up
a bit. (Fixes #152)
2003-08-11 16:52:16 Sean Middleditch <elanthis@awemud.net>
* Make EntityTemplate not cause a ton of unnecessary warnings.
2003-08-10 22:54:53 Sean Middleditch <elanthis@awemud.net>
* Room streaming works now, finally.
* Added StreamIgnore, which only works on Room streams, for
ignoring certain people on output.
* Cleaned up Room::say() to use proper name stream, and to show
"you say" to yourself.
2003-08-10 04:40:26 Sean Middleditch <elanthis@awemud.net>
* Players are marked using a custom Root object.
2003-08-10 03:13:08 Sean Middleditch <elanthis@awemud.net>
* Commands, races, and classes use SGC Root's for garbage
collection.
* Command database is initialized before Scriptix (commands
registered in Scriptix are at the end of the list now).
* Updated to require latest, fixed Scriptix.
2003-08-02 01:37:47 Sean Middleditch <elanthis@awemud.net>
* Update to be compatible with latest Scriptix change.
2003-08-01 20:59:59 Sean Middleditch <elanthis@awemud.net>
* Add --add-missing to automake line in bootstrap.
* All templates are loaded into memory. (Objects/NPCs don't
use the real template system atm.)
* The "ask" speach method colourizes now.
* Setcolor has cooler error output.
* Fixed the social output for evil laughing.
* Added 'title' synonym for 'name' in room editing.
* Socials needs to use the 'misc' path setting.
* Moved show_info() and show_stats() to Scriptix.
2003-08-01 17:35:05 Sean Middleditch <elanthis@awemud.net>
* Utilize the new Scriptix extend functionality. (It rules.)
2003-08-01 16:35:54 Sean Middleditch <elanthis@awemud.net>
* Work with new Scriptix.
* Code generator cleanups.
* All types must pass in their Scriptix type now. (Dang)
2003-07-30 18:31:14 Sean Middleditch <elanthis@awemud.net>
* Make the Scriptix get_stat() and friends bounds check the
stat index.
2003-07-30 17:01:11 Sean Middleditch <elanthis@awemud.net>
* Beginning of social type flags.
* Added str_is_true() and str_is_false().
2003-07-26 22:50:56 Sean Middleditch <elanthis@awemud.net>
* Fix Cygwin number streaming bug. (Cygwin doesn't like the
printf ' modifier.)
2003-07-26 18:17:34 Sean Middleditch <elanthis@awemud.net>
* Use bootstrap, not autogen.sh.
* Message file fixes.
* Various output cleanups. (From last commit.)
2003-07-26 17:54:47 Sean Middleditch <elanthis@awemud.net>
* Apparantly we must carry ltmain.sh. Yay autotools.
2003-07-26 04:29:58 Sean Middleditch <elanthis@awemud.net>
* Correct ChangeLog which the commit script on Cygwin screwed
up on.
2003-07-26 04:21:47 Sean Middleditch <elanthis@awemud.net>
* Small fix to compile on Linux again.
2003-07-26 03:55:31 Sean Middleditch <elanthis@awemud.net>
* Cygwin fixes. (Cygwin didn't handle commit script.)
2003-07-26 03:25:55 Sean Middleditch <elanthis@awemud.net>
* Actuall do the sockaddr_storage check.
* Make inet_pton and inet_ntop optional. (You guessed
it.. Cygiwn)
2003-07-26 02:31:25 Sean Middleditch <elanthis@awemud.net>
* Cygwin fixes. (Cygwin didn't handle commit script.)
2003-07-26 02:11:03 Sean Middleditch <elanthis@awemud.net>
* Autogen.sh update to allow automake 1.7 to work. (For Cygwin)
* Hack for systems without sockaddr_stoarge. (For Cygwin)
2003-07-26 01:45:22 Sean Middleditch <elanthis@awemud.net>
* Fix for systems without INET_ADDRSTRLEN and/or INET6_ADDRSTRLEN.
(Like Cygwin)
2003-07-23 20:37:04 Sean Middleditch <elanthis@awemud.net>
* Fix the example zone to be compatible with aforementioned
parsing changes. ^^;
2003-07-23 20:28:26 Sean Middleditch <elanthis@awemud.net>
* The string parsing system can now take flags to specify whether
definite, indefinite, or no article is wanted, along with
whether the name should be capitalized or not. yay!
2003-07-23 04:37:54 Sean Middleditch <elanthis@awemud.net>
* File object format update (again). Blocks are between {%%
and %%} now.
* String parsing update, removed the old %* formats, and changed
string format to {blah} from $blah$.
* Updated doc/Todo.
* Tons more stream changes.
2003-07-21 19:48:54 Sean Middleditch <elanthis@awemud.net>
* Lots of work on output streaming. (again)
* Name types (proper, unique, plural, etc.) for entities.
2003-07-20 06:58:41 Sean Middleditch <elanthis@awemud.net>
* Complete removal of Character::print(); all users thereof
converted to C++ streams. ViM/Sed *rule*! ;-)
2003-07-20 06:13:44 Sean Middleditch <elanthis@awemud.net>
* Sir/Dame and Lord/Lady titles.
* C++ streams are part of Character, not Player.
* Special virtual Entity member for printing display names.
(Let us do the Lord/Sir thing, among other ideas.)
* Tons of outputting fixes and changes. (In effort to remove
all old C-style print() function wanna-bes.)
2003-07-19 21:28:37 Sean Middleditch <elanthis@awemud.net>
* More command work, cleanups.
* All return_if_fail() and return_val_if_fail() statements
changed to assert().
2003-07-18 19:06:04 Sean Middleditch <elanthis@awemud.net>
* Scriptix register_command() can take an array of strins for
multiple format lines.
2003-07-18 18:22:15 Sean Middleditch <elanthis@awemud.net>
* All commands are in new format.
* Old command system removed.
* Script command registering must be done using
register_command(); command function tag gone.
2003-07-18 15:01:49 Sean Middleditch <elanthis@awemud.net>
* All builder commands are in new format.
2003-07-18 04:49:29 Sean Middleditch <elanthis@awemud.net>
* More command system updates.
2003-07-17 20:50:49 Sean Middleditch <elanthis@awemud.net>
* New command parser can have any argument as optional.
* All movement and position commands are using new command system.
2003-07-16 23:55:40 Sean Middleditch <elanthis@awemud.net>
* All admin and GM commands use the new command system.
* Cannot boot yourself from the server.
2003-07-16 23:11:58 Sean Middleditch <elanthis@awemud.net>
* Output margin/indent support, with some cleaner output in
places.
2003-07-16 21:17:15 Sean Middleditch <elanthis@awemud.net>
* New, more powerful (tho incomplete) command handling
architecture.
2003-07-16 14:45:48 Sean Middleditch <elanthis@awemud.net>
* Updated command privilege tracking.
2003-07-16 02:45:50 Sean Middleditch <elanthis@awemud.net>
* Fix bug in calendar holiday data handling. (Was causing FPE's.)
2003-07-16 00:57:33 Sean Middleditch <elanthis@awemud.net>
* Autogen.sh runs libtoolize now.
* Compatible with Scriptix CVS.
2003-07-16 00:36:36 Sean Middleditch <elanthis@awemud.net>
* Various I/O improvements.
2003-07-14 21:36:12 Sean Middleditch <elanthis@awemud.net>
* New three-level input buffer. (Beginnings of flood-control.)
* Fix to mail handling and child processes.
2003-07-13 07:20:25 Sean Middleditch <elanthis@awemud.net>
* Release 0.1.8.
2003-07-12 20:49:59 Sean Middleditch <elanthis@awemud.net>
* Few more minor cleanups to interface.
2003-07-11 20:50:55 Sean Middleditch <elanthis@awemud.net>
* The data/messages file is in the file object format.
2003-07-11 18:13:52 Sean Middleditch <elanthis@awemud.net>
* Got rid of the fricken annoying "prompt after logout" bug
we've had forever.
* Added Saxon as possible XSLT processor, and made it the
preferred processor (xsltproc proc still works).
2003-07-11 16:00:29 Sean Middleditch <elanthis@awemud.net>
* Automatic newlines on blank input.
* Track height in addition to width with NAWS.
* NAWS works _properly_ now.
* Added function to clear the screen.
* Made character creation look a _lot_ better.
2003-07-07 17:32:51 Sean Middleditch <elanthis@awemud.net>
* Several big improvements to cvscommit.sh.
* The -d flag to cvscommit.sh will ignore the data/ directory.
(so cvscommit_nodata.sh isn't needed anymore.)
2003-07-06 18:27:46 Sean Middleditch <elanthis@awemud.net>
* New input/output buffer allocating mechanism. (Incomplete)
* Fixed script input processor return value handling.
2003-07-04 22:02:11 Sean Middleditch <elanthis@awemud.net>
* Compatible with new Scriptix.
2003-07-04 04:40:28 Sean Middleditch <elanthis@awemud.net>
* Began ZMP support.
2003-07-04 01:08:20 Sean Middleditch <elanthis@awemud.net>
* Server now figures out its FQDN, for various purposes.
* Bug and abuse reporting put the host in their report header.
2003-07-03 23:38:49 Sean Middleditch <elanthis@awemud.net>
* Improved the bug and abuse mail output, added a
tools/parse-report.pl script to parse mails sent by AweMUD.
2003-07-03 04:50:58 Sean Middleditch <elanthis@awemud.net>
* Nicer logon message. (Or so I think.)
* Moved the source files for various commands to cmd_*.cc (i.e.,
ply_comm.cc -> cmd_player.cc, gm.cc -> cmd_gm.cc, etc.).
* Moved non-player-specific server-type commands to cmd_misc.cc.
* Added bug and abuse commands; need to configure mail addrs
in awemud.conf.
* Fixed usages of ostringstream to NUL terminate the string
for sure.
2003-06-30 21:25:21 Sean Middleditch <elanthis@awemud.net>
* Slight cleanup to fileobj code.
* Added beginning of a mail module, to use for bug reporting
and the like.
* Added snow to weather.
2003-06-30 04:12:21 Sean Middleditch <elanthis@awemud.net>
* New weather system. That's only half done, still not perfect,
but yet took more effort than you'd think.
2003-06-29 15:17:08 Sean Middleditch <elanthis@awemud.net>
* Better command status checking methods. I.e., check_rt(),
check_alive(), etc.
* Character position has a dedicated object CharPosition (like
ExitType/ContainerType/etc.).
2003-06-27 18:37:21 Sean Middleditch <elanthis@awemud.net>
* Got rid of the players:: namespace, moved functions to static
methods of Player class.
* Added the nifty tools/passwd.pl tool.
2003-06-27 14:56:47 Sean Middleditch <elanthis@awemud.net>
* Moved from old file helper routines to C++ streams.
* Removed the old unused file helper routines.
2003-06-26 20:54:48 Sean Middleditch <elanthis@awemud.net>
* Removed PropertyBag code. (It wasn't being used anywhere.)
* Can create objects/npcs with no template.
* Fixed exit creation when no target is specified.
* Renamed roomdesc to description, it now handles all entity
types.
* Description command will do simplistic sentance formatting
for multi-line inputs.
* Creation of basic directional exits with targets will
automatically create a reciprical exit if one does not exist.
(i.e., making a 'west' exit to a room will make an 'east'
return exit.)
* Can set/remove container types on objects.
* Expanded the default world a bit; all expansions/modifications
were done using online creation commands, with no exceptions.
2003-06-26 15:42:34 Sean Middleditch <elanthis@awemud.net>
* File object block output won't add extraneous newlines any
longer.
2003-06-26 15:32:22 Sean Middleditch <elanthis@awemud.net>
* Bugs in zone spawning fixed.
2003-06-26 03:31:55 Sean Middleditch <elanthis@awemud.net>
* Complete removal of ability to save/read XML.
* Removed old XML helper routines.
* Removed libxml2 dependency.
2003-06-26 02:27:51 Sean Middleditch <elanthis@awemud.net>
* Player file birthdays are loaded/saved again.
* The data/world file is in the new format.
* Zone files are now in the new format.
* Removed the Area type; Room, Zone, and World just derive from
Entity now.
2003-06-25 03:59:40 Sean Middleditch <elanthis@awemud.net>
* Gender now stored as male/female in files.
* Healspeed is based on fortitude.
* ContainerType class for object container in/on/under/etc.
* Action script invoking.
* Scriptix support for getting/using Actions.
* Combat uses Actions instead of attributes for weapons.
* Check out the new template sw_fire in objects.tmpl (create
object objects.sw_fire). Hehehe.
2003-06-24 03:55:29 Sean Middleditch <elanthis@awemud.net>
* Fixed to File::Reader to handle attributes with empty data
properly.
* Entity names handle duplicate entries a _little_ better
(enough to help with player files, anyways).
2003-06-23 21:01:00 Sean Middleditch <elanthis@awemud.net>
* NPC templates are in new format.
* NPC template loading works again.
2003-06-22 19:42:53 Sean Middleditch <elanthis@awemud.net>
* Beginning of destruction of PropertyBag.
* New Event class for passing around events.
* Exit types are now stored in ExitType objects.
* Objects can be loaded from templates again.
* Combat makes use of attributes vs. property bags.
2003-06-21 21:52:19 Sean Middleditch <elanthis@awemud.net>
* Beginning of new template system.
* Minor changes to file object macro helpers for inherited
class loading.
* EntityEvent is now EventHandler, and put in event.h.
* Support for emulating poll() using select() for OS's without
poll().
* Player files are now in the new format.
* Note: templates are very much not working.
2003-06-18 04:12:48 Sean Middleditch <elanthis@awemud.net>
* Warning printed for Windows telnet client (environ SYSTEMTYPE
is WIN32 and terminal type is ANSI).
* New ExitDir type for more robust direction handling.
* Exits no longer require a target exit ID if you have the
directions setup - north is automagically linked to south,
and so on.
* Added in and out directions.
2003-06-15 05:42:34 Sean Middleditch <elanthis@awemud.net>
* Uses terminal type telnet option to test for XTERM, and only
sends xterm title setting escape sequence if this is on.
2003-06-15 05:18:32 Sean Middleditch <elanthis@awemud.net>
* Added a new GM command, toplayer, which works like toroom,
but for players.
* Added the builder vision feature, as documented on mailing list.
* Event stack rework. Doesn't pass around the location parameter
any longer.
2003-06-13 04:34:12 Sean Middleditch <elanthis@awemud.net>
* Updated Scriptix to use new C++ std::string based
Scriptix::String implementation.
2003-06-13 02:36:31 Sean Middleditch <elanthis@awemud.net>
* MCCPv2 is no longer experimental - seems to work fine.
2003-06-11 20:49:57 Sean Middleditch <elanthis@awemud.net>
* Global entity list reimplemented; wasteful, but only way to
guarantee proper updates propogate.
* Entity subtypes can define their "validity" - i.e., if they
are to be ignored in updating. Another painful side effect
of the global entity list.
2003-06-11 19:39:40 Sean Middleditch <elanthis@awemud.net>
* Weather work.
2003-06-10 19:56:51 Sean Middleditch <elanthis@awemud.net>
* File format and API work for the FileObject code.
2003-06-09 03:58:28 Sean Middleditch <elanthis@awemud.net>
* Put data/world into data/world.in for CVS updating sanity.
2003-06-08 04:24:06 Sean Middleditch <elanthis@awemud.net>
* Added Action class/info.
* Read, eat, and drink use the Action data.
2003-06-07 21:20:46 Sean Middleditch <elanthis@awemud.net>
* Split room exits into their own exit.h and exit.cc.
* Added new AttributeList type. (To eventually replace
PropertyBag.)
2003-06-06 03:13:14 Sean Middleditch <elanthis@awemud.net>
* A few builder cleanups.
2003-06-04 20:29:50 Sean Middleditch <elanthis@awemud.net>
* ChangeLog will also track time now, which might be nice.
* Working MCCPv2 support. (Must use --enable-experimental
to ./configure)
* Scriptix version of signal_event() takes a string for event
name.
2003-06-04 Sean Middleditch <elanthis@awemud.net>
* Made a few more small additions to the script API reference.
* Much more robust and complete object weight tracking.
(Fixes #120)
2003-06-04 Sean Middleditch <elanthis@awemud.net>
* Fixed the default awemud.conf.in to work. (Removed extraneous
spaces on lines.)
* Updated data/help to have accurate building data, again.
2003-06-04 Sean Middleditch <elanthis@awemud.net>
* Added tags command for listing, adding, and removing tags.
* Removed the roomshow and zoneshow commands. (We have display
command.)
2003-06-04 Philip Scott <scotty@philipscott.freeserve.co.uk>
* Fixed networking bug in rpc.cc that was preventing the rest
of awemud from working when the rpc was in use.
2003-06-03 Sean Middleditch <elanthis@awemud.net>
* Got rid of global entity list, fixes garbage collection issues.
* Cleaned up script documentation output a bit.
* Make install should work a little better now.
2003-06-01 Sean Middleditch <elanthis@awemud.net>
* Grant command changed to allow setting arbitrary permission
levels. (Fixes #134)
* Builder commands syntax cleaned up a little.
* Fix connection accounting in network module. (Fixes CPU
eating bug.)
2003-06-01 Philip Scott <scotty@philipscott.freeserve.co.uk>
* Updated rpc to work with new userdb
* Fixed an annoying memory leak with the help of memprof,
(*apparently* xmlrpc allocates its *own* memory block ;)
2003-06-01 Sean Middleditch <elanthis@awemud.net>
* EntityList is templatized.
* on_eat and on_drink are in.
2003-06-01 Sean Middleditch <elanthis@awemud.net>
* Fix the last commit. ^^;
2003-05-31 Sean Middleditch <elanthis@awemud.net>
* Rooms now use an ID field versus the entity name, and title
is replaced with the entity name.
* Zones also use an ID versus entity name.
* Another userdb fix, to match names properly. (this is
getting old.)
2003-05-31 Sean Middleditch <elanthis@awemud.net>
* Fix Room.objects() and Room.chars() iterators.
2003-05-31 Sean Middleditch <elanthis@awemud.net>
* Scriptix update.
2003-05-31 Sean Middleditch <elanthis@awemud.net>
* Added iterators for rooms and zones.
2003-05-30 Sean Middleditch <elanthis@awemud.net>
* Renamed 'attrset' to 'modify'.
* Added a 'display' command.
2003-05-30 Sean Middleditch <elanthis@awemud.net>
* Several bug fixes.
* Admin.ply is now copied during configure time, to avoid cvs
update clashes (dumb cvs).
2003-05-30 Sean Middleditch <elanthis@awemud.net>
* Added a destroy command, to replace roomdel, zonedel, and
exitdel.
* Create can now also create exits.
2003-05-30 Sean Middleditch <elanthis@awemud.net>
* Lots of additonal attributes on NPCs using attrset.
* Added attrset command, which superceds npcset, objectset,
roomset, exitset, and zoneset.
* Won't leak colours on login errors anymore.
* Full name versions of southeast, northwest, etc. commands
work now.
* Attempt at keeping the online help insync with builder changes.
* Roomadd and zoneadd commands are removed, now use the create
command.
2003-05-29 Sean Middleditch <elanthis@awemud.net>
* Connection bumping (disconnecting an old login on new login)
is in.
* Help works again.
2003-05-29 Sean Middleditch <elanthis@awemud.net>
* Permissions are numeric based again, vs. the flags.
* User names are checked properly (for real).
2003-05-29 Sean Middleditch <elanthis@awemud.net>
* Object::flags is cleared properly, should no longer set random
object flags now.
2003-05-29 Sean Middleditch <elanthis@awemud.net>
* Userdb matches names properly now.
* Added support for putting scripts inside event tags in zone
files.
2003-05-28 Sean Middleditch <elanthis@awemud.net>
* Release 0.1.7.
2003-05-28 Sean Middleditch <elanthis@awemud.net>
* Cleaned up template system a bit; no longer need to specify
group, just name - auto searched template files.
* Builder 'create' command also takes only a template name now,
obviously.
2003-05-28 Sean Middleditch <elanthis@awemud.net>
* Character::fail_rt() is not wait_rt(), and prints a little
nicer.
* Spawn system is in. (Fixes #101)
2003-05-28 Sean Middleditch <elanthis@awemud.net>
* Initial half-working attempt at Spawn system.
* Network system doesn't poll on output ready flag, fixes bad
timing issues.
2003-05-27 Sean Middleditch <elanthis@awemud.net>
* New example world, more fleshed out.
2003-05-27 Sean Middleditch <elanthis@awemud.net>
* Begin MCCP2 support. (Not yet working.)
* Beginning of new example areas.
* Work on Strings code.
* XML code now uses String class. (Lots of ugly work needed
for that...)
2003-05-26 Sean Middleditch <elanthis@awemud.net>
* Simplified iterator usage in glue generator.
2003-05-22 Sean Middleditch <elanthis@awemud.net>
* Grant command works again. (Fixes #129)
* Player::show_info() shows alignment.
* Character creation has an alignment option. (Fixes #130)
* Better error display in levelup command for unrecognized
class names. (See #131)
2003-05-19 Sean Middleditch <elanthis@awemud.net>
* Make use of new Scriptix iterator syntax.
2003-05-16 Sean Middleditch <elanthis@awemud.net>
* File object format allows more complex names. (See spec.)
* UserInfo class now sanitizes e-mail, realname, and username
(strips all but certain characters).
* Fixed Log::* functions to clear previous messages.
* Socials are loaded using file object API.
* Made NEWS useful (summarized ChangeLog).
* Config file is now in new object format (less parsers).
* Updated documentation in regards to settings file.
* Permissioms now work using passwd database properly.
* Modified String class to make use of well tested and efficient
C++ strings.
* Calendar is loaded using File::Reader API.
2003-05-06 Sean Middleditch <elanthis@awemud.net>
* Manpage for AweMUD. (woot)
* Races now use the new File::Reader API.
* Classes also use the new File::Reader API.
* New Log:: module/API (C++ ostreams).
2003-05-05 Sean Middleditch <elanthis@awemud.net>
* Added alignment for characters. (good/evil/neutral)
* Processors are now init()'d properly if they are the first
processor added.
* New userdb module, and UserInfo class.
* Added documentation ( !! ~,^ ) on both the new file API and
the passwd database, see doc/foa.txt and doc/passwd.txt
2003-04-28 Sean Middleditch <elanthis@awemud.net>
* Added time.h include in src/zone.cc for BSD.
2003-04-17 Sean Middleditch <elanthis@awemud.net>
* Added an example to the scripting guide, in the command section.
* Parsing framework handles both the old %NC format and new $N;C%
(or %C%) format - example, use $name$ instead of %n.
* Exit messages now make use of the parsing framework properly.
* Removed the doc/coding.xml file, wasnt' using it.
* doc/class.xml and doc/faq.xml have to be explicitly built now.
* New socials framework - edit data/socials to expand/add/alter
socials.
2003-04-13 Sean Middleditch <elanthis@awemud.net>
* IPv6 is no longer experimental.
2003-04-13 Philip Scott <scotty@philipscott.freeserve.co.uk>
* Added a very small script in tools, that does exactly the same
thing as cvscommit.sh, except it does not commit the data
directory. It changes all the time when awemud is run, and the
changes often don't need commiting.
2003-04-13 Sean Middleditch <elanthis@awemud.net>
* Fixed Linux compile.
2003-04-12 Sean Middleditch <elanthis@awemud.net>
* FreeBSD building (work on FreeBSD 5.0-RELEASE with libtool and
libxml2 patches).
2003-04-12 Sean Middleditch <elanthis@awemud.net>
* Rewrote network layer, again. Much better IPv6 support now.
* Removed annoying Scriptix "Registered" message output.
* Options cleanups.
* Use --enable-experimental to build w/ IPv6 support, and set
ipv6=yes in the [network] section in awemud.conf to enable
runtime support.
2003-04-12 Philip Scott <scotty@philipscott.freeserve.co.uk>
* More work on rpc interface. Supports plaintext authentication
now, as well as two new rpc-able functions: list_players and
get_player_info, which do pretty much what they say on the tin.
* Added a rpc-test.py into tools as a demonstration and test of
the rpc interface.
2003-04-11 Philip Scott <scotty@philipscott.freeserve.co.uk>
* No changes, I just wanted to see if i've worked out how to
make cvscommit.sh put my real email address in the changelog ;)
2003-04-11 Philip Scott <scotty@philipscott.freeserve.co.uk>
* Updated rpc.cc to work nicely with new server class
2003-04-08 Sean Middleditch <elanthis@awemud.net>
* IPv6 support. Whoo!
2003-04-06 Sean Middleditch <elanthis@awemud.net>
* Commit fix for birthday in player creation. [Fixes #115]
* Cleaned up class display in character creation.
2003-04-06 Sean Middleditch <elanthis@awemud.net>
* Added awemud.conf options for max IP settings.
* Updated admin guide again, with denylist and badnames sections,
and minor updates.
* Release 0.1.6.
2003-04-05 Sean Middleditch <elanthis@awemud.net>
* Updated admin guide installation/build instructions.
* Added weight and cost data items to objects.
* New TCP networking manager, with max connection watching and
IP deny/block list.
* Read data/denylist for client blocking.
2003-03-23 Sean Middleditch <elanthis@awemud.net>
* Added strings.h to awestr.h for portability.
* Removed extraneous comment in 70.example.sx.
* s/reMarkable/remarkable.
* Trying to move thru a closed door prints a correct error
message now.
* Fixed the 70.example.sx to work.
* Re-added the events to the world data.
* Fixed npc_set command crash.
2003-03-22 Sean Middleditch <elanthis@awemud.net>
* Updated to new Scriptix.
2003-03-21 Sean Middleditch <elanthis@awemud.net>
* Moved include/string.h to include/awestr.h. (to not conflict
with strings.h in FreeBSD)
* Moved lib/md5.c to lib/md5.cc. (No need for it to be plain C)
* Fixed broken ChangeLog (hopefully) by fixing cvs tools for
FreeBSD.
2003-03-20 Sean Middleditch <elanthis@awemud.net>
* Reworked character creation into a script.
* Input processors are all defined in input/procs.h
* Trimmed CreationProcessor into a sub-processor for account
creation.
2003-03-07 Sean Middleditch <elanthis@awemud.net>
* Scriptix command functions work now.
2003-03-07 Sean Middleditch <elanthis@awemud.net>
* Distribution build fixes. (make distcheck works now, too)
2003-03-07 Sean Middleditch <elanthis@awemud.net>
* Got rid of xmlto usage, replaced with docbook2* - much more
effective, they actually work!
* Scripting works without crashing.
* Scriptix commands still not working.
2003-03-06 Sean Middleditch <elanthis@awemud.net>
* Actually load and run scripts.
* Hooks and commands are still broken.
2003-03-06 Sean Middleditch <elanthis@awemud.net>
* Use pkg-config for libsgc, Scriptix, and libxml2 dependencies.
* Fixup tools/script-code.xsl to work with new Scriptix.
2003-03-05 Sean Middleditch <elanthis@awemud.net>
* Update to newest libsgc.
* Integrate new C++ Scriptix.
* Remove the unique ID stuff, we aren't using it at all, and
it's complicating things.
* Bug fixes (including crashers and memory leaks).
* Note that scripting API is completely not implemented ATM.
2003-02-09 Sean Middleditch <elanthis@awemud.net>
* Updated to use libsgc.
2003-01-22 Sean Middleditch <elanthis@awemud.net>
* With the new Scriptix hook 'npc_ai', it's now possible to
start implementing AI.
* Added 'create_character' Scriptix hook.
* Scriptix script loading order/format is slightly changed;
see scripts/README.
* Added Scriptix methods to Player for displaying information.
2003-01-21 Philip Scott <scotty@philipscott.freeserve.co.uk>
* Minor Bugfix
2003-01-21 Philip Scott <scotty@philipscott.freeserve.co.uk>
* Using a linked list instead of a vector to store the connections
in now, and fixed a potentially nasty bug - all on Sean's
advice :)
2003-01-21 Sean Middleditch <elanthis@awemud.net>
* Fixed chroot ability to actually be usable.
2003-01-20 Philip Scott <scotty@philipscott.freeserve.co.uk>
* Minor changes to comments.
2003-01-19 Sean Middleditch <elanthis@awemud.net>
* Added zone events.
* Fixed nasty bug in configure and miss-using AC_PATH_PROG.
* Work on glue generator to be able to allow script.intr to
document functions/methods, without generating implementations.
* More data files have path entries in the awemud.conf file.
* Forking daemon is last startup step before changing users.
(To make error codes more useful; note that this doesn't help
when changing user/group fails.)
2003-01-17 Sean Middleditch <elanthis@awemud.net>
* Update tools work on data/world again.
* XML DTD handles data/world now.
* World calendar is now stored in data/calendar.
* Added ability to have holidays.
* Made server.get_ticks() work.
* Scripts are loaded in ASCII-betical order (semi-alphabetical,
that is).
* Added scripts/awemud.sx, which as utility functions (such
as pause()).
2003-01-14 Sean Middleditch <elanthis@awemud.net>
* Will no longer begin logging to the file "standard out".
* ./tools/update.sh won't break data/world anymore.
* Modified ./tools/loadconfig.sh a bit.
* Added missing rpc.cc/rpc.h.
2003-01-11 Sean Middleditch <elanthis@awemud.net>
* README update.
* Fix update.xsl to not strip player privileges.
* error() no longer exits/aborts; fatal() will. error() is for
"oops, big problem, I'll shut down nicely on my own tho",
fatal() is for "argh, we're screwed, shutdown *now*."
* Added per newer (required) Scriptix, threads run co-operatively,
not pre-emptively.
2003-01-04 Sean Middleditch <elanthis@awemud.net>
* Fixed object removal bug (usage of room.objects.add versus
room.add_object).
* Failed area loading in a zone returns an error in the zone
loading.
* Began moving core rules code into scripts.
* Rooms no longer require a name or title to be set to load.
* Removed --disable-ruleset option and features.
* Cleaned up the update scripts to work a little nicer.
* Player save file room element is now called location. (Player
save file version increased.)
* Added an XML DTD (again), doc/awemud.dtd, mostly for
documentation purposes.
2003-01-01 Sean Middleditch <elanthis@awemud.net>
* Scriptix threads are updated in the background now.
2002-12-20 Sean Middleditch <elanthis@awemud.net>
* Added tools/loadconfig.sh to parse out awemud.conf files.
* The tools/update.sh script can now read your ./awemud.conf
file for directories to scan.
* Added (semi-)useful content to README.
* As per latest Scriptix, attributes in scriptis are
no longer available; things like Character.name are now
Character.get_name() and Character.set_name(name). All scripts
will have to be modified.
2002-12-20 Sean Middleditch <elanthis@awemud.net>
* Output of commands command won't show hidden/unprivileged
commands.
* Upgraded to use latest Scriptix.
2002-12-18 Sean Middleditch <elanthis@awemud.net>
* Scriptix interface improvements.
* Added better CVS note facilities.
2002-12-15 Sean Middleditch <elanthis@awemud.net>
* Scriptix Character.equip now calls C++ Character.equip like
it should.
2002-12-15 Sean Middleditch <elanthis@awemud.net>
* Fixed a bunch of uses of Room.objects.add/Room.chars.add,
Object.set_parent, Character.set_room
* Added Room.add_object, Room.add_character
2002-12-15 Sean Middleditch <elanthis@awemud.net>
* Added Room.add_object() Scriptix method.
* Added Object.from_template() Scriptix static method.
2002-12-15 Sean Middleditch <elanthis@awemud.net>
* Fixed Entity::remove_tag() to work.
* Remove modified bits of broken code.
2002-12-15 Sean Middleditch <elanthis@awemud.net>
* Removed bogus room_desc hook.
* Fixed Entity::has_tag().
2002-12-13 Sean Middleditch <elanthis@awemud.net>
* Instead of flags for privileges, a numerical value is now used.
* Player save file version is now 4.
2002-12-13 Sean Middleditch <elanthis@awemud.net>
* Added hook architecture for Scriptix (will be documenting
shortly; hopefully).
2002-12-09 Sean Middleditch <elanthis@awemud.net>
* Added zoneadd and zonedel commands.
2002-12-07 Sean Middleditch <elanthis@awemud.net>
* Release 0.1.5
2002-12-06 Sean Middleditch <elanthis@awemud.net>
* Fixed the Scriptix startup event bug.
* Updated documents to DocBook V4.2, fixed them to follow the DTD.
* Added Zone class to Scriptix interface.
2002-12-04 Sean Middleditch <elanthis@awemud.net>
* Roomset error message fix.
* Exitset error message fix.
* Added 'dir' and 'type' attributes to exitset command.
2002-12-04 Sean Middleditch <elanthis@awemud.net>
* Added foreach_character() and foreach_object() to the Room
Scriptix type.
* Changed 'goroom' to correct 'toroom' in Admin Guide.
* Scriptix catch for calling run() before Scriptix is initialized
(there is a bug remaining that will crash without debug
enabled).
2002-12-02 Sean Middleditch <elanthis@awemud.net>
* Updated Scriptix usage.
2002-11-28 Sean Middleditch <elanthis@awemud.net>
* Scripting updates.
* Changed Scriptix PropertyBag interface.
2002-11-27 Sean Middleditch <elanthis@awemud.net>
* Scriptix updates.
* Property Bag bug fixes.
* Several important crash bugs fixed.
2002-11-27 Sean Middleditch <elanthis@awemud.net>
* Updated to use Scriptix tags.
2002-11-26 Sean Middleditch <elanthis@awemud.net>
* Updated Scriptix module to use newer Scriptix features.
* add_command() script function's second parameter is now a
function, not the name of a function.
2002-11-25 Sean Middleditch <elanthis@awemud.net>
* Fixed build error for scriptix.cc/sx_inter.h dependency.
2002-11-25 Sean Middleditch <elanthis@awemud.net>
* Added missing doc/script-doc.xsl.
2002-11-25 Sean Middleditch <elanthis@awemud.net>
* Uses new CVS release of Scriptix.
* Script initializers are of the form init_<filename>() now.
* (Note: script initializers must be declared public: public
init_myfile() {...})
2002-11-22 Sean Middleditch <elanthis@awemud.net>
* Added support for Sablotron and Xalan XSLT processors.
2002-11-22 Sean Middleditch <elanthis@awemud.net>
* Rewrote gen-glue as an XSLT script.
2002-11-18 Sean Middleditch <elanthis@awemud.net>
* Small compilation fixes (Scriptix interface, md5.cc).
2002-11-17 Sean Middleditch <elanthis@awemud.net>
* XML interface change.
* Updated file formats.
* Coins/money.
* Upgrade scripts (using sh/xsl).
2002-11-16 Sean Middleditch <elanthis@awemud.net>
* More compilation/build fixes.
* Store real names and e-mail address in passwd file.
2002-11-15 Sean Middleditch <elanthis@awemud.net>
* New MD5 code and detection (using libmd or libssl) if crypt()
doesn't support MD5. (For Mac OS X)
2002-11-15 Sean Middleditch <elanthis@awemud.net>
* More work on character creation.
* Races have About texts now.
* Mac OS X build fixes.
2002-11-11 Sean Middleditch <elanthis@awemud.net>
* Race selection during character creation is a little nicer.
* Changed Charisma stat to Willpower.
2002-11-10 Sean Middleditch <elanthis@awemud.net>
* Heavily modified data/races and data/classes
* Changed data/world gametime month format
2002-11-08 Sean Middleditch <elanthis@awemud.net>
* Removed PDF generation.
* Fixed command bug.
* Fixed broken data/world.
2002-11-07 Sean Middleditch <elanthis@awemud.net>
* New autogen.sh
* Other little fixes.
2002-11-03 Sean Middleditch <elanthis@awemud.net>
* Command syntax reworking.
* 'Commands' command more user-friendly.
2002-11-01 Philip Scott <scotty@philipscott.freeserve.co.uk>
* First remote procedure works now, remotely calling
'awemud.version' performs as one would expect.
2002-11-01 Philip Scott <scotty@philipscott.freeserve.co.uk>
* Added autoconf checks for xml-rpc (required by the builder)
* Switched ENABLE_EXPERIMENTAL tags for USING_BUILDER_PORT,
which is currently only set if ENABLE_EXPERIMENTAL is set,
but means that it won't try to compile if xml-rpc isn't present
on the users machine.
* More work on the builder port interface. It now has a kind
of pesuedo protocol over which to send xml-rpc commands,
http seemed a bit of an overkill for our application.
2002-10-31 Sean Middleditch <elanthis@awemud.net>
* New templates system/files
* Updated docs
* Added ENABLE_EXPERIMENTAL checks around the builder_rpc code
(doesn't compile yet for me)
2002-10-27 Sean Middleditch <elanthis@awemud.net>
* Bug fixes.
* API Guidelines.
* Multiple names support on entities.
* Added a small set of default templates.
2002-10-27 Sean Middleditch <elanthis@awemud.net>
* Several small bug fixes.
* Release 0.1.4.
2002-10-26 Sean Middleditch <elanthis@awemud.net>
* Removed string_t and stringf entirely.
2002-10-26 Sean Middleditch <elanthis@awemud.net>
* Fix broken cvscommit.sh script and ChangeLog.
* (From last commit:) Fixes to help, and to String class for
STL compatibility
2002-10-26 Sean Middleditch <elanthis@awemud.net>
* Some more work on the String class.
* Whole new XML reader/writer (reader based on libxml SAX
interface)
2002-10-22 Sean Middleditch <elanthis@awemud.net>
* Changes to the glue generator to support NULL arguments.
* Other scripting work, especially in documentation generation.
2002-10-21 Sean Middleditch <elanthis@awemud.net>
* Began integrating Scriptix more tightly (and thus removed the
psuedo-support for other scripting languages).
* Mass change from string_t type to String type - String is a
C-string holder class, vs. string_t being based on the STL
string. Probably lots of little subtle bugs left behind...
2002-10-21 Sean Middleditch <elanthis@awemud.net>
* Release 0.1.3
2002-10-21 Sean Middleditch <elanthis@awemud.net>
* Fixed up name indexing.
* Other minor updates.
* Use Scriptix 0.21.
2002-10-19 Sean Middleditch <elanthis@awemud.net>
* Work with latest Scriptix CVS release.
2002-10-19 Sean Middleditch <elanthis@awemud.net>
* Lots of work on parent/child relationships in entities.
* Tons of other little changes I've forgotten.
2002-10-15 Sean Middleditch <elanthis@awemud.net>
* Much improved entity searching/lookup for commands.
* Script remove() methods for characters and objects.
* Various necessary cleanups.
2002-10-14 Sean Middleditch <elanthis@awemud.net>
* More work on name indexing.
2002-10-13 Sean Middleditch <elanthis@awemud.net>
* Beginning of support for name indexing.
* Improved get command for containers.
2002-10-12 Sean Middleditch <elanthis@awemud.net>
* Zone support.
* Various other changes.
2002-10-10 Sean Middleditch <elanthis@awemud.net>
* More scripting work.
* Rewritten property bags.
2002-10-07 Sean Middleditch <elanthis@awemud.net>
* Example script updates.
2002-10-07 Sean Middleditch <elanthis@awemud.net>
* Fixed up templates support.
* Scriptix work.
* Property bag updates.
2002-10-04 Sean Middleditch <elanthis@awemud.net>
* Work on EntityList.
* Release 0.1.2.
2002-10-03 Sean Middleditch <elanthis@awemud.net>
* More renaming of classes to CamelCase.
* RoomExit's are now full Entities.
* Whole new event model.
2002-10-01 Sean Middleditch <elanthis@awemud.net>
* Exits now have both a type and a direction.
2002-09-30 Sean Middleditch <elanthis@awemud.net>
* Dynamic command list.
* Scriptix can define commands.
* Login sanity checks names.
* Combat is fully in script now.
2002-09-30 Sean Middleditch <elanthis@awemud.net>
* Glue generator can now generate 'defines' (i.e., global
constants in Scriptix).
* Combat is now a Scriptix script.
2002-09-30 Sean Middleditch <elanthis@awemud.net>
* Requires latest Scriptix CVS.
* More work on script interface and glue generator.
* Example script updated.
2002-09-29 Sean Middleditch <elanthis@awemud.net>
* Added a roomdesc command (for changing the description -
allows long input).
* More class renaming to CamelCase.
2002-09-29 Sean Middleditch <elanthis@awemud.net>
* Bugfix in Scriptix.cc - lock argv.
* Renamed many classes to CamelCase style.
* Documentation work.
* Property bag code (property.h/property.cc)
* Entity properties are now PropertyBag's.
* Entity Events are PropertyBag children.
2002-09-29 Sean Middleditch <elanthis@awemud.net>
* Added the skeleton for a Builder's Guide.
* Fixed level_up in player.cc.
* Commented some ugly code in player.cc/command.cc.
2002-09-28 Sean Middleditch <elanthis@awemud.net>
* Added an example event script. (Needs latest Scriptix CVS.)
* Added back in the equip command (Acts like the wear command.)
2002-09-28 Sean Middleditch <elanthis@awemud.net>
* Added xslt method to build documentation for scripting
interface.
2002-09-28 Sean Middleditch <elanthis@awemud.net>
* More work on glue generation.
* Added missing event.cc.
2002-09-25 Sean Middleditch <elanthis@awemud.net>
* More work on the glue generation.
2002-09-24 Sean Middleditch <elanthis@awemud.net>
* Document building update.
* Added a document detailing the AweMUD class/exp system and
alternatives.
2002-09-24 Sean Middleditch <elanthis@awemud.net>
* New glue generator in place.
2002-09-23 Sean Middleditch <elanthis@awemud.net>
* More work on room building.
2002-09-22 Sean Middleditch <elanthis@awemud.net>
* Installer is now for binary installations
* Moved the interface scripts to tools/
* Added the scripts/ directory
2002-09-22 Sean Middleditch <elanthis@awemud.net>
* Updated docs a bit.
* Installation has been changed to make sense, not blindly follow
the Linux FHS.
* Executable takes the name of a configuration file, not path,
as it's argument now.
2002-09-21 Sean Middleditch <elanthis@awemud.net>
* Release 0.1.1.
2002-09-20 Sean Middleditch <elanthis@awemud.net>
* Room exits now use target_id only, instead of other_exit.
2002-09-20 Sean Middleditch <elanthis@awemud.net>
* More building work.
* Exits now have ID numbers.
2002-09-19 Sean Middleditch <elanthis@awemud.net>
* Work on editing.
2002-09-18 Sean Middleditch <elanthis@awemud.net>
* Added the beginning of room editing support.
2002-09-16 Sean Middleditch <elanthis@awemud.net>
* New AweMUD control code parser in the output layer.
* User configurable colors are back.
2002-09-15 Sean Middleditch <elanthis@awemud.net>
* Updated eparse(), added veparse(). eparse() handles a single
entity, veparse() takes an array of entities.
2002-09-13 Sean Middleditch <elanthis@awemud.net>
* Removed need for xmlto (to build on Debian/stable).
* Launching as a daemon works properly again.
2002-09-10 Sean Middleditch <elanthis@awemud.net>
* Cleaned up character creation text a bit.
2002-09-07 Sean Middleditch <elanthis@awemud.net>
* Work on scripting interface building for Scriptix.
2002-09-05 Sean Middleditch <elanthis@awemud.net>
* Removed tools/version.sh (doesn't work that well).
* Moved configure.ac back to configure.in (still uses autoconf
2.5).
2002-09-05 Sean Middleditch <elanthis@awemud.net>
* Autogen.sh should now work on RedHat-like system (if they have
autoconf 2.53 installed).
2002-09-05 Sean Middleditch <elanthis@awemud.net>
* Added support for C++ style stream output to the player class.
* Cleaned up login strings.
2002-09-05 Sean Middleditch <elanthis@awemud.net>
* Script fixes.
* Fixed the mangled Changelog.
2002-09-04 Sean Middleditch <elanthis@awemud.net>
* Minor code cleanups.
2002-09-03 Sean Middleditch <elanthis@awemud.net>
* Began Python scripting support.
2002-09-01 Sean Middleditch <elanthis@awemud.net>
* Release 0.1.
2002-09-01 Sean Middleditch <elanthis@awemud.net>
* Updated the help system to use a simpler, cleaner format.
* Updated the build system to make use of modern autotools.
2002-09-01 Sean Middleditch <elanthis@awemud.net>
* INI file support.
* awemud.conf is now an INI file.
2002-08-31 Sean Middleditch <elanthis@awemud.net>
* Added the admin player back.
* Players are now stored in data/<name>.ply
2002-08-31 Sean Middleditch <elanthis@awemud.net>
* Added a few missing files.
* Fixed the build process.
2002-08-31 Sean Middleditch <elanthis@awemud.net>
* Imported from the old AweMUD module.
* Lots of cleanups.
* Rearrangement of data files.
2002-04-30 Sean Middleditch <elanthis@awemud.net>
* Released version 0.6.2
2002-04-29 Sean Middleditch <elanthis@awemud.net>
* Cleaned up documentation a lot
* Documentation now based on DocBook XML
* Removed awemud-config script (no need w/o extensions)
* Began work on administration console
2002-04-27 Sean Middleditch <elanthis@awemud.net>
* Fixed a lot of bugs in character creation.
* Re-instated the skills command
* Removed the pointless status port
* Fixed the disappearing gender bug
* Removed the combat and ai extensions (pulling them into core)
2002-04-24 Sean Middleditch <elanthis@awemud.net>
* Moved weather extension into core server
2002-04-18 Sean Middleditch <elanthis@awemud.net>
* Moved login extension into core server
2002-04-17 Sean Middleditch <elanthis@awemud.net>
* Pulled player, help, and emotes extension into core server
* Redid password file (yet again) to a pseudo /etc/passwd like file
2002-03-16 Sean Middleditch <elanthis@awemud.net>
* Removed old crypto functions
* Now use MD5 passwords by default
2002-02-26 Sean Middleditch <elanthis@awemud.net>
* Released version 0.6.1
Note: this release had the stat changes reverted
2002-02-25 Sean Middleditch <elanthis@awemud.net>
* do_save() now uses the player_db
* Log file time stamps fixed for warnings/errors
* Echo is properly *on* during character creation
* Got rid of the annoying quit question
2002-02-12 Sean Middleditch <elanthis@awemud.net>
* Removed stats.
2002-02-11 Sean Middleditch <elanthis@awemud.net>
* Released version 0.6.0
2002-02-05 Sean Middleditch <elanthis@awemud.net>
* Added a .spec file
2002-02-03 Sean Middleditch <elanthis@awemud.net>
* Removed/replaced some code (license change issues)
2002-01-23 Sean Middleditch <elanthis@awemud.net>
* New action code
* Removed Gnome race (license change issues)
* Remove Tracker and Druid professions (license change issues)
2002-01-11 Sean Middleditch <elanthis@awemud.net>
* Various cleanups
2002-01-04 Sean Middleditch <elanthis@awemud.net>
* New telnet layer
* Remove input_t, merged with connection
2001-12-30 Sean Middleditch <elanthis@awemud.net>
* Body system working again
* More changes to extension system
2001-12-23 Sean Middleditch <elanthis@awemud.net>
* Extensions are in namespaces now
* Fully removed old body system files
* Moved headers into include/ directory
2001-12-22 Sean Middleditch <elanthis@awemud.net>
* New extension system is working
* Login pulled back out into an extension
2001-12-21 Sean Middleditch <elanthis@awemud.net>
* Stripped out the color/prompt settings in connections
* Holding objects works again
* Trimmed out body function from character
2001-12-19 Sean Middleditch <elanthis@awemud.net>
* Whole new architecture design based on components
* Split Ruby out into a separate module
* Split Editing out into a separate module
* Began whole new extension system
* Fixed resize bug in string_t
2001-12-14 Sean Middleditch <elanthis@awemud.net>
* Began new combat interface
* Expanded on the idea of "interface" components
2001-12-10 Sean Middleditch <elanthis@awemud.net>
* Made what I hope is a better logon message
* Fixed the invalid race ID of the Kalruan race
2001-12-08 Sean Middleditch <elanthis@awemud.net>
* Cleaned up the strings interface a bit
2001-12-01 Sean Middleditch <elanthis@awemud.net>
* Released version 0.5.10
* Fix the crash in read_line
2001-11-27 Sean Middleditch <elanthis@awemud.net>
* Released version 0.5.9
2001-11-25 Sean Middleditch <elanthis@awemud.net>
* Modified read_line in file.cc to use string_t
2001-11-24 Sean Middleditch <elanthis@awemud.net>
* Removal of room_loc
* Fixed possible crashed in Ruby interpreter
2001-11-23 Sean Middleditch <elanthis@awemud.net>
* Fixed crash in help command; str_case_equal wasn't checking for
NULL pointers
2001-11-20 Sean Middleditch <elanthis@awemud.net>
* More Ruby updates
* Installation cleanups
* Debian packaging attempt
* Fixed the crash caused when quitting during character creation
* Daemon is now started as it should (fork, NOTTY ioctl, closing of
stdin/stdout/stderr)
2001-11-19 Sean Middleditch <elanthis@awemud.net>
* Scripting updates
* Strings interface cleanup
* Ruby is now required
* Got rid of libltdl, it was a pain in the arse for some users
2001-11-18 Sean Middleditch <elanthis@awemud.net>
* Semi-new event system
* Combat updates
* AI updates
* Much improved Ruby detection
2001-11-02 Sean Middleditch <elanthis@awemud.net>
* Many improvements to the Ruby interpreter
2001-10-29 Sean Middleditch <elanthis@awemud.net>
* Strings are now copy-on-write
2001-10-21 Sean Middleditch <elanthis@awemud.net>
* New logging/messaging system, with verbose levels
* Released version 0.5.8
* Saving of connection settings when quitting works again
* Saving of characters works correctly now
2001-10-20 Sean Middleditch <elanthis@awemud.net>
* Cleaned up AI system
* Fixed bugs in basic/null AI
* Character AI's are loaded/saved properly again
* Edit extension is back to it's almost wonderful self again
* Build/install fixes
* Ability to chroot the server
* Rewrite of awemud script and awemud-server argument handling
* awemud.conf is a shell script included by awemud script, and
is no longer read/loaded by awemud-server
* Moved help into an extension
* Combat doesn't cause crashes any more
* Objects can be specified by template for a character, and
auto equipped
2001-10-16 Sean Middleditch <elanthis@awemud.net>
* Removed the old Magick code
2001-10-15 Sean Middleditch <elanthis@awemud.net>
* Moved extensions to a list format vs. the tree
2001-10-14 Sean Middleditch <elanthis@awemud.net>
* Extension system fully functional
* More callbacks
* Bugfixes to PID file
* Greatly improved install paths
2001-10-13 Sean Middleditch <elanthis@awemud.net>
* More cleanups to extension system
* Callbacks partially implemented
* 8ompilation on gcc 3.0
2001-10-11 Sean Middleditch <elanthis@awemud.net>
* Cleanups to extension system
* More of the old extensions work again
* Began new callback code
* Changed "lock file" to a "PID file"
* Fixed crashing at shutdown from Ruby interpreter
2001-10-10 Sean Middleditch <elanthis@awemud.net>
* Major portions of new extension system done (callbacks
still in need of re-writing)
2001-10-08 Sean Middleditch <elanthis@awemud.net>
* Began whole new extension/component/callback system
2001-10-07 Sean Middleditch <elanthis@awemud.net>
* Completely rewrote player code
* There is now a seperate file for players and passwords
* Build fixes
* Ruby updates
2001-10-01 Sean Middleditch <elanthis@awemud.net>
* Reworked body types
* Bodies are templates now
* Body parts don't have names, just types and positions
from which the name is derived
* In character creation, race is now selected before gender
* Lock files are now overwritten with a warning
* Server won't crash on exit if there was an error during startup
* Removed info.cc, info.h, and info.txt
2001-09-30 Sean Middleditch <elanthis@awemud.net>
* Added status command
2001-08-28 Sean Middleditch <elanthis@awemud.net>
* Release of 0.5.7
2001-08-27 Sean Middleditch <elanthis@awemud.net>
* Zones are now stored in XML
2001-08-24 Sean Middleditch <elanthis@awemud.net>
* World description files are now stored in XML
* Fixed text update bug
* Item templates are now loaded properly
2001-08-22 Sean Middleditch <elanthis@awemud.net>
* Changing of password works agian (no idea what I did)
2001-08-21 Sean Middleditch <elanthis@awemud.net>
* Server will fork() again
2001-08-20 Sean Middleditch <elanthis@awemud.net>
* Finished to character creation code
2001-08-19 Sean Middleditch <elanthis@awemud.net>
* Fixed a small bug in the new output code
* Templates are now stored in a directory structure, and in XML
2001-08-16 Sean Middleditch <elanthis@awemud.net>
* Output is now word-wrapped at 79 characters. There are likely thill
issues, however - tabs likely will screw stuff up.
2001-08-15 Sean Middleditch <elanthis@awemud.net>
* Races and professions are now saved in XML
2001-08-14 Sean Middleditch <elanthis@awemud.net>
* Fixed possible evil bug in disconnection detection
2001-08-09 Sean Middleditch <elanthis@awemud.net>
* Players are saved/loaded in XML
2001-08-08 Sean Middleditch <elanthis@awemud.net>
* Fixed the help system bug
2001-08-07 Sean Middleditch <elanthis@awemud.net>
* A lot more Ruby scripting functionality
* A few cleanups in the server interface
2001-08-06 Sean Middleditch <elanthis@awemud.net>
* Expanded Ruby scripting functionality a bit
* Rewrite scripting interface
2001-08-05 Sean Middleditch <elanthis@awemud.net>
* Doors loaded/saved from XML properly now
* You can look at doors
2001-07-31 Sean Middleditch <elanthis@awemud.net>
* The character/connection seperation is stable now
* Lots and lots and lots of cleanups and bugfixes
2001-07-22 Sean Middleditch <elanthis@awemud.net>
* New method of updating this ChangeLog, hopefully
2001-07-21 Sean Middleditch <elanthis@awemud.net>
* Moved combat fully out into extension
* Began the Administrator's Guide
2001-07-19 Sean Middleditch <elanthis@awemud.net>
* Fixed crash in Ruby extension cleanup
2001-07-18 Sean Middleditch <elanthis@awemud.net>
* Add Kalruan body type
* Merged login extension back into AweMUD itself, although
login is still extendable
* Implemented some xml helper functions for libxml2
* Converted help system to use new helper functions
2001-07-17 Sean Middleditch <elanthis@awemud.net>
* Added Kalruan (cat-people) race
* AweMUD now uses a single interpreter at a time, instead of
allowing multiple scripting languages at once - much
cleaner in practice
2001-07-16 Sean Middleditch <elanthis@awemud.net>
* Began converting to a connection based system, independent of
character
2001-06-26 Sean Middleditch <elanthis@awemud.net>
* Released version 0.5.6
2001-06-25 Sean Middleditch <elanthis@awemud.net>
* Added the missing commands for object attributes in the edit
extension
(Sean Middleditch)
* Went on a bug-hunting spree
(Sean Middleditch)
2001-06-21 Sean Middleditch <elanthis@awemud.net>
* Got edit extension up to near-complete status - done enough
for my purposes
(Sean Middleditch)
2001-06-19 Sean Middleditch <elanthis@awemud.net>
* Few more features added to character editing
(Sean Middleditch)
2001-06-18 Sean Middleditch <elanthis@awemud.net>
* Fixed the AI/damage bugs: edit extension wasn't properly adding
characters to a room
(Sean Middleditch)
2001-06-17 Sean Middleditch <elanthis@awemud.net>
* Finally fixed the annoying extension crash... stupid bug
(Sean Middleditch)
2001-06-13 Sean Middleditch <elanthis@awemud.net>
* Minor cleanups
2001-06-11 Sean Middleditch <elanthis@awemud.net>
* Reverted the object_attr/attr_action pair to the unified
object_attr layout previously used - far simpler
* Object editing and object attribute editing complete
2001-06-09 Sean Middleditch <elanthis@awemud.net>
* Resource handling greatly improved
2001-06-07 Sean Middleditch <elanthis@awemud.net>
* Attempt at getting Windows telnet client to echo properly -
no luck
* Began implementing resource_list
2001-06-05 Sean Middleditch <elanthis@awemud.net>
* Fixes to help system
* More edit documentation
* Added Richard Pike to the AweMUD server section in AUTHORS
(was under Contributors)
2001-06-04 Sean Middleditch <elanthis@awemud.net>
* Edit extension can now be used to layout rooms, doors, exits,
and zones (can make simple worlds)
* libxml2 (>=2.3.0) now required
* Help system now in XML format
2001-06-03 Sean Middleditch <elanthis@awemud.net>
* Lots of updates to the edit extension
2001-05-30 Sean Middleditch <elanthis@awemud.net>
* Added color to the Emote command.
(Richard Pike)
Changed the text output for prepositions. (i.e Look under
<obj> now says looking under <obj> and not Inside
<obj>).
(Richard Pike)
Added a new race. (Gnome).
(Richard Pike)
Added a new body. (Gnome).
(Richard Pike)
Added some professions (Tracker and Druid).
(Richard Pike)
Changed templates/swords.base to correct missing equipment
when creating new character.
(Richard Pike)
2001-05-29 Sean Middleditch <elanthis@awemud.net>
* Fixes to the edit module
2001-05-28 Sean Middleditch <elanthis@awemud.net>
* Compilation fixes on gcc 2.96
2001-05-27 Sean Middleditch <elanthis@awemud.net>
* Rewrote doors system
* Will use awemud.conf.default is awemud.conf does not exist
* Can specify an alternate base for the World (useful if you
have multiple worlds you work on)
2001-05-26 Sean Middleditch <elanthis@awemud.net>
* Began completely rewriting the edit extension
2001-05-21 Sean Middleditch <elanthis@awemud.net>
* Fixed a bug where object attribute targets weren't being
handled properly
* Fixed a bug caused by action_pending not being valid at
character allocation time
* Ruby interpreter now has *very* basic support for objects
and characters - i.o.w. the Ruby interpreter is
functional
* Fixed a lot of bugs relating to combat
* Removed doc/building.txt (more or less useless)
2001-05-20 Sean Middleditch <elanthis@awemud.net>
* Ruby interpreter loads and runs
* Ruby can now call functions (with *some* arguments) using
the script_interpreter::call_method() interface
2001-05-19 Sean Middleditch <elanthis@awemud.net>
* Began to get Ruby scripting working
2001-05-18 Sean Middleditch <elanthis@awemud.net>
* Fixed the template object so they were valid again
* Fixed a spelling mistake in the character creation code
* Got the 'server' command to output correctly
* It's a little prettier when you look inside empty containers
2001-05-14 Sean Middleditch <elanthis@awemud.net>
* Finally got AweMUD compiling again
* Extensions can load a directory now (finds file
[lib]module.* in directory)
2001-04-23 Sean Middleditch <elanthis@awemud.net>
* More work on getting the langruby module compiling
* Broke edit.cc into multiple files
2001-04-22 Sean Middleditch <elanthis@awemud.net>
* Began implementing scripting w/ ruby
2001-04-21 Sean Middleditch <elanthis@awemud.net>
* Changes to compile on gcc 2.96 (Mandrake 8.0 updates)
* Released version 0.5.5
2001-04-20 Sean Middleditch <elanthis@awemud.net>
* Changes to install directory structure
2001-04-19 Sean Middleditch <elanthis@awemud.net>
* Got rid of some unneccessary logging info
2001-04-18 Sean Middleditch <elanthis@awemud.net>
* Combat is now mostly an extension - this is a sort of proof-
of-concept thing, but it works
* Fixed a bug that causes crashes when unloading an extension
* Emotes (of the pre-set variety) are now a loadable extension
as well
* Added some professions (Warrior, Rogue)
2001-04-17 Sean Middleditch <elanthis@awemud.net>
* Removed the need to specify the lib part of an extension
name - extension system will turn world/weather into
world/libweather.la, for example
2001-04-10 Sean Middleditch <elanthis@awemud.net>
* Removed the rather useless awemud-admin program
2001-04-09 Sean Middleditch <elanthis@awemud.net>
* Cleaned up character creation a bit
2001-04-08 Sean Middleditch <elanthis@awemud.net>
* Now using libtool's libltdl for dynamic linking, which ups out
portability a crap load
* Because of automake/libtool being evil, extension names must
begin with lib, such as libweather - which means you
load extensions with names like world/libweather
* A few other portability fixes
* Made a small fix to vsuprintf, that should make it work on
Solaris
* Now have a small, blank world
2001-04-05 Sean Middleditch <elanthis@awemud.net>
* Fixed a bug in the weather code - weather will now only appear
in room descriptions if you are outside
* Shutdown command now requires confirmation before killing the
server
* Commands are now sorted properly, based on priorty and name
2001-04-03 Sean Middleditch <elanthis@awemud.net>
* Fixed a warning in the edit extension when the select command
is used with no arguments
* Possibly fixed a mystery hang in the edit code for object
attribute listing
2001-04-02 Sean Middleditch <elanthis@awemud.net>
* Fixed crash with adding/removing zones - changed from a vector
to a list to store pointers in zones and the world
* Invalid/deleted zone files will now be renamed so they won't be
reloaded when the server is starded again (.del is
appended to zone filename)
2001-04-01 Sean Middleditch <elanthis@awemud.net>
* Changed the pending actions to include <time remaining>
(Richard Pike)
* Lock files should be more intelligently handled now
2001-03-31 Sean Middleditch <elanthis@awemud.net>
* Updated extensions to use the local_extension (init function
changed)
* Hooks in world/zone/room saving/loading for extensions
2001-03-29 Sean Middleditch <elanthis@awemud.net>
* Finished the basics for the new command structure
* Improvements to the extension system - mandatory VERSION checking
and automatic pointers to extension class
2001-03-28 Sean Middleditch <elanthis@awemud.net>
* Re-implemented movement, server, and special commands in new
command structure
2001-03-27 Sean Middleditch <elanthis@awemud.net>
* Tidy of Character Creation
(Richard Pike)
* Began reworking character command structure
2001-03-25 Sean Middleditch <elanthis@awemud.net>
* Added more color options to color.h.
(Richard Pike)
* Added color to the character creation , info / skill / stat options.
(Richard Pike)
* Cleaned up events signaling more - AI is no longer an event_listener
* More changes to events
2001-03-24 Sean Middleditch <elanthis@awemud.net>
* Server info on status connection now reports world size, as the
count of zones, rooms, objects, and characters
* Can now edit containers in edit module
* Can add objects to containers in edit module
* The default prompt has been changed. The HP/MP colors are Sean Middleditch <elanthis@awemud.net>
100% of maximum, green.
25%-99% of maximum, yellow.
25% or less, red.
(Richard Pike)
* Implemented pending actions into characters. If a character
tried to perform an action before the previous has completed
a more descriptive message is shown.
(Richard Pike)
* Changed the stat colors to be settable with the 'set color' command
* Finished up container editing code
* Added tag setting/clearing for objects
2001-03-20 Sean Middleditch <elanthis@awemud.net>
* Events can now be 'cancelled' in a recursive situation
* The option to use ANSI color is now made during character
creation (Richard Pike)
2001-03-17 Sean Middleditch <elanthis@awemud.net>
* Event code can now pass around arbitrary data using the
event_data class - useful sub classes event_data_int,
event_data_text, and event_data_config_list are defined
for convenience
* Finished object containers
2001-03-16 Sean Middleditch <elanthis@awemud.net>
* Can now get/look from any container type
2001-03-15 Sean Middleditch <elanthis@awemud.net>
* Cleaned up exit system
* Cleaned up movement
* Removed the Features file - I never bother to update it anyhow
2001-03-14 Sean Middleditch <elanthis@awemud.net>
* Container fully work for putting/getting objects from *inside*
containers
* Some changes to make compilation on systems without popt work
2001-03-13 Sean Middleditch <elanthis@awemud.net>
* action_timeout wasn't being zeroed for new characters, but now
it is
2001-03-12 Sean Middleditch <elanthis@awemud.net>
* Got most of containers done - just not putting/getting stuff
from them
2001-03-11 Sean Middleditch <elanthis@awemud.net>
* Released version 0.5.4
* Reimplented extension symbols in a generic way
* Organized extensions directory a bit
* Completely removed older callback code, replaced
with symbol code
* Bug in character::leave_room() fixed
* Ai type basic now moves
2001-03-10 Sean Middleditch <elanthis@awemud.net>
* Moved AI trigger code to generic event code
* Removed server_commands and options from info.txt lists
2001-03-08 Sean Middleditch <elanthis@awemud.net>
* I/O system slightly cleaned up - full telnet support is
*NOT* a planned feature now, since it's only needed
as a work-around for buggy clients
* Slightly better handling of telnet requests - they won't
interrupt normal text input now
* Added some changes to compile on systems with older libstdc++
versions
* Added a patch from Václav Haisman to get AweMUD to mostly
compile on FreeBSD (popt may be a problem)
2001-03-04 Sean Middleditch <elanthis@awemud.net>
* Possibly fixed serious bug/crash in input.cc
* Updated edit code to allow adding of NPC's
* Fixed bug in edit code for adding objects
* Templates revamped (again) to just use a
config_list
* Updated ai code a bit
2001-03-02 Sean Middleditch <elanthis@awemud.net>
* Removed build.sh - replaced with autogen.sh
2001-03-01 Sean Middleditch <elanthis@awemud.net>
* Began cleaning up go_room to use the superior leave_room
and enter_room
2001-02-28 Sean Middleditch <elanthis@awemud.net>
* Added some more callbacks - char_login and char_new
* Updated AI messaging
2001-02-27 Sean Middleditch <elanthis@awemud.net>
* Changed name of server to awemud-server
* Renamed kill-server to kill-awemud
* Updates make install so it should mostly work
* Added basic messaging facility for AI
2001-02-25 Sean Middleditch <elanthis@awemud.net>
* Added basic ai code
* Fixed crash in extension code
* Extensions now have a reference counting mechanism, that
they can use to ensure they aren't unloaded while
still in use
* Began adding npc templates
2001-02-22 Sean Middleditch <elanthis@awemud.net>
* Redid the way extensions export symbols and functionality
* Moved login code to an extension
* Few more minor fixes to extension and login code
2001-02-21 Sean Middleditch <elanthis@awemud.net>
* Fixed some bugs in entity_list code that could cause
seg-faults
* Minor updates needed for persistant NPC's (no AI, yet)
2001-02-20 Sean Middleditch <elanthis@awemud.net>
* Released version 0.5.3
* Cleaned up a few issues
2001-02-19 Sean Middleditch <elanthis@awemud.net>
* Added commands for loading/closing extensions
* A few documentation changes - cleaning up for a
0.5.3 release
2001-02-18 Sean Middleditch <elanthis@awemud.net>
* Got rid of a few unneeded/wasteful files (char_login.cc,
char_opt.cc)
* Completely removed old char_option code in favor of
newer command_processor code
* Finished new character creation code
* Moved edit code into an extension
2001-02-17 Sean Middleditch <elanthis@awemud.net>
* Finally got the new command processing code working
fully properly
* Began implementing char_create
2001-02-14 Sean Middleditch <elanthis@awemud.net>
* New set password code
2001-02-13 Sean Middleditch <elanthis@awemud.net>
* Finished weather extensions
* Added methods for extensions to save/load data
2001-02-12 Sean Middleditch <elanthis@awemud.net>
* Major modifications to callback code
* Moved weather to a module (weather state cannot
currently be saved now, however)
2001-02-11 Sean Middleditch <elanthis@awemud.net>
* Fixed some serious memory leak/segmentation fault
bugs
* Re-wrote help system
* Ticks are now faster - tick functions can run based
off of multiple ticks at once, so there's
less latency in tick updating, although things
don't happen in parallel anymore
2001-02-10 Sean Middleditch <elanthis@awemud.net>
* Fixed extension bug
* Re-arranged a lot of data from world_t into
server_data
* Moved templates code into template.h
* Bunches of cleanups/bug fixes
2001-02-08 Sean Middleditch <elanthis@awemud.net>
* Extensions now are working
* Callback system implemented (more or less a "signal"
system - perhaps I should replace with
libsigc++?)
2001-02-05 Sean Middleditch <elanthis@awemud.net>
* Cleaned up editing code, should be a lot less
prone to crash on bad input (hopefully
it's 100% clean)
* Seperated resource handling's reference counting
into a seperate, generic class, now in
mem.h
* Rooms and zones are now reference counted
* The storage of rooms and zones are now a bit
safer, so that adding/removing one while
iterating thru their parent's container is
safe
* Various cleanups in world/zone/room handling, which
should fix a lot of potential crashes and
memory leaks
* Zone files must have a correct name now (i.e. a zone
file called somezone.zone must contain a
zone named somezone)
* Fixed another potential crash in the select command
in edit mode
* Begin implementing extensions (shared libraries loaded
at runtime, w/ special extension API)
2001-02-04 Sean Middleditch <elanthis@awemud.net>
* Finished up object editing
2001-02-03 Sean Middleditch <elanthis@awemud.net>
* Cleaned up strings code
* New feature to create skeleton user, have them
created on first login - useful when
allow_new is turned off
* Fixed bug that allowed anyone to log in as any
user without a password
2001-02-03 Sean Middleditch <elanthis@awemud.net>
* Improved kill-server and the awemud startup script
2001-01-30 Sean Middleditch <elanthis@awemud.net>
* Basic editing commands for everything but objects
in place
2001-01-28 Sean Middleditch <elanthis@awemud.net>
* Full door editing is now available
2001-01-25 Sean Middleditch <elanthis@awemud.net>
* Updated documentation.
* Updated edit_processor - added door editing
* Changed all the incorrect year "2000"'s in this
ChangeLog to the correct year "2001" ~,^
2001-01-24 Sean Middleditch <elanthis@awemud.net>
* Fixed bug in edit_processor - prompt wasn't being
restored properly
* Added the beginnings of actual editing features
to edit_processor
* Replaced login code with char_login (descendant
of command_processor)
2001-01-23 Sean Middleditch <elanthis@awemud.net>
* Removed db.h in server.cc - was causing some
compilation problems for people
* Updated prompt code
2001-01-21 Sean Middleditch <elanthis@awemud.net>
* Removed (#if 0 ...) the old world editing
commands, in favor of newer
edit_processor
* entity_list code uses pointers to entity data
now instead of just the resource ID's,
so it's faster
* New command_processor code in place (very
flexible command handling for
various situations)
* New command parser in place (slightly more
robust/faster)
* Fixed time bug (setting world's month to
player's birthday's month)
* Revamped command-line options, now using popt
- there is also a new --help option,
which lists the available options
2001-01-20 Sean Middleditch <elanthis@awemud.net>
* Released 0.5.2
* Cleaned up character creation a little,
fixed crash
2001-01-17 Sean Middleditch <elanthis@awemud.net>
* AweMUD server now has a special port for
status information
2001-01-15 Sean Middleditch <elanthis@awemud.net>
* Replaced awemud-admin with a python script
* Added awemud-admin, a simple command-line
utililty for controlling AweMUD
2001-01-14 Sean Middleditch <elanthis@awemud.net>
* Added command line options
* Changed method of locating data path
* Removed Thelharin - now a seperate package
* Cleaned up some files
2001-01-04 Sean Middleditch <elanthis@awemud.net>
* Released version 0.5.1
* Finished roomsetexit implementation
2001-01-03 Sean Middleditch <elanthis@awemud.net>
* New exit implementation
2001-01-02 Sean Middleditch <elanthis@awemud.net>
* New room_exit type, to replace the object
'exits' in place now
2001-01-01 Sean Middleditch <elanthis@awemud.net>
* Complete door editing commands
2000-12-31 Sean Middleditch <elanthis@awemud.net>
* Some more door editcommands
* Tag editing commands for objects
2000-12-29 Sean Middleditch <elanthis@awemud.net>
* Added basic door editing commands
2000-12-28 Sean Middleditch <elanthis@awemud.net>
* Added the 'objflag' command
2000-12-27 Sean Middleditch <elanthis@awemud.net>
* Added a large amount of object editing commands
2000-12-26 Sean Middleditch <elanthis@awemud.net>
* Removed the admin character "Daedron", replaced
with a more appropiate character "admin"
2000-12-25 Sean Middleditch <elanthis@awemud.net>
* Released version 0.5.0
* Object name parser mostly implemented
* Healing added
2000-12-23 Sean Middleditch <elanthis@awemud.net>
* Basic object name parser in place
2000-12-22 Sean Middleditch <elanthis@awemud.net>
* Added basic action timeout
2000-12-20 Sean Middleditch <elanthis@awemud.net>
* All command processing code uses new command
parser
2000-12-19 Sean Middleditch <elanthis@awemud.net>
* Lots of bug fixes
* New command parser implemented
2000-12-18 Sean Middleditch <elanthis@awemud.net>
* Fixed tons of little bugs all over the place
* Removed the owner system for GMs
* Added/refined some room editing and information
commands
* Day and night are added
2000-12-17 Sean Middleditch <elanthis@awemud.net>
* Added a few more useful editing commands
* Added color to a bunch more ouput text
2000-12-16 Sean Middleditch <elanthis@awemud.net>
* Added player birthdays/age
* Added time
2000-12-14 Sean Middleditch <elanthis@awemud.net>
* Fixed crash bug with attack (damage)
* Fixed templating code (copy constructor for entity wasn't
being called)
* ANSI Color is working again - code needs to be updated
to make sure all output that should be colorized
does so
* You may now use objects as entrances/exits (for example,
you can climb over object to go to a different room)
2000-12-13 Sean Middleditch <elanthis@awemud.net>
* Implemented hidden and noget flags for objects - useful
for implementing things like statues or signs, which
have a basic description in the room description
* Got rid of the string_t.cc file (moved code into
strings.cc)
* Objects can now have descriptions
* Added weather
* Added a few more OAT types and actions
2000-12-12 Sean Middleditch <elanthis@awemud.net>
* Lockable doors (and keys)
* Added "tags" to entities
* Fixed save bug for players
* Reorganized the char_comm.cc source file a bit
2000-12-09 Sean Middleditch <elanthis@awemud.net>
* Doors can be opened/closed
2000-12-05 Sean Middleditch <elanthis@awemud.net>
* Added doors
2000-12-03 Sean Middleditch <elanthis@awemud.net>
* Fixed a bug where objects worn/held might be ignored due
to the order of bodylocs
* Professions can give default inventory now
* Fixed a crash bug in the stat reroll option
* Improved combat a bit
* Added object templates
* GM's can now create objects (from templates) and destroy
objects
* Added professions
2000-12-02 Sean Middleditch <elanthis@awemud.net>
* Released version 0.4.8
* Redid the starting location system
* Rooms and zones are identified only by name string now
* Removed the cruddy error trapping C++ code
* Rooms (and room exits) not can use textual names
instead of only the old numeric ones
2000-11-30 Sean Middleditch <elanthis@awemud.net>
* Many parts of object and body data can load information
from text name instead of numeric id's (such as
the body loc identifiers)
* Cleaned up combat a little bit
* Added building.txt to the doc directory - this file
has a pretty rough introduction to hand editing
zone files
2000-11-29 Sean Middleditch <elanthis@awemud.net>
* Released version 0.4.7
* Fixed a bug with saving new characters
* Fixed a weird display bug in telnet, although telnet
still isn't that great for use with AweMUD
2000-11-28 Sean Middleditch <elanthis@awemud.net>
* Added a few missing files to a couple Makefile.am's
* Added the dwarf race files
* Modified the body API a bit, equipping and so on is a
bit more robustd
2000-11-26 Sean Middleditch <elanthis@awemud.net>
* Cleaned up the character creation interface a bit
* Cleaned up a lot of code
* Finished the new resource management/reference counting
code, and have all the areas of code dealing with
entities properly using it now
2000-11-24 Sean Middleditch <elanthis@awemud.net>
* Got rid of the overly complicated _entity class and
entity wrapper class (same with object and
character classes, as well)
2000-11-23 Sean Middleditch <elanthis@awemud.net>
* Converted server to use new resource manager system
2000-11-22 Sean Middleditch <elanthis@awemud.net>
* Cleaned up the resource manager more
2000-10-30 Sean Middleditch <elanthis@awemud.net>
* Major rewrite of the resource manager
* A billion (over-estimation) other cleanups
2000-10-21 Sean Middleditch <elanthis@awemud.net>
* Basic magick implemented, needs some serious cleaning
up
2000-10-18 Sean Middleditch <elanthis@awemud.net>
* Worn items can be removed
* Slight cleanup of entity and descendents
2000-10-14 Sean Middleditch <elanthis@awemud.net>
* The command "#" can be used to do the last thing
you typed in (besides "#")
* Items are now wearable, and armor works
* Fixed armor damage modification
2000-10-13 Sean Middleditch <elanthis@awemud.net>
* Fixed small bug in character creation
* Server is now time based - game world manages in
"ticks" which are 1/5 of a second for now
* Server finally reports IP of new connections
2000-10-05 Sean Middleditch <elanthis@awemud.net>
* Cleaned up the server.* files a bit
2000-09-24 Sean Middleditch <elanthis@awemud.net>
* Implemented more of magick, still fully unusable
2000-09-22 Sean Middleditch <elanthis@awemud.net>
* Being dead now really limits your liveliness
* Fixed oops with character saving... characters are
saved with a lowercase filename now
2000-09-19 Sean Middleditch <elanthis@awemud.net>
* Began implementing magick
2000-09-18 Sean Middleditch <elanthis@awemud.net>
* Modified combat messages a little, to make more sense
* Fixed a bug where the command name was case sensitive
* Player names are no longer case sensitive as far as
logging in and creating characters go - as a
result, all character files in player/ are in
lowercase now
* Modified combat a bit and skills a tad - minor tweaks
2000-09-17 Sean Middleditch <elanthis@awemud.net>
* Cleaned up character creation _alot_
* Races now can affect a character's initial stat and
skill scores
* A handful of minor bug fixes to character system,
character option system, and server data load
order
2000-09-16 Sean Middleditch <elanthis@awemud.net>
* Released version 0.4.6
* Implemented basic skills!
* Combat makes use of skills
2000-09-15 Sean Middleditch <elanthis@awemud.net>
* Cleaned up combat, added defense information and more
2000-09-14 Sean Middleditch <elanthis@awemud.net>
* Implemented the necessities of combat
2000-09-13 Sean Middleditch <elanthis@awemud.net>
* Updated combat.cc a bit, object code needs work to
accomodate the combat implemenation, or I need
to figure out a way to put combat into oat.cc
itself, which would rather limit our versatility
2000-09-11 Sean Middleditch <elanthis@awemud.net>
* Movement of attack code to combat.cc, needs to be done
right though
2000-09-10 Sean Middleditch <elanthis@awemud.net>
* Moved the OAT functionality to oat.cc
* Added combat.cc and combat.h, where we will implement
the combat routines (determining weapons, hit
locations, armor/dodging, effects, and experience)
2000-09-04 Sean Middleditch <elanthis@awemud.net>
* Added a doc/Stats file
* Fully implemented kneeling
2000-09-03 Sean Middleditch <elanthis@awemud.net>
* Moved data/bodies to bodies, each boy type has its own
file
* Implemented dynamic races
* .zone/.body/.race files are automatically found at load
time, no need to specify them in world/description
* Fixed a memory leak in the + operator of string_t
2000-08-31 Sean Middleditch <elanthis@awemud.net>
* Fixed bug with lost connections
* Added ability to re-roll stats during character creation
2000-08-17 Sean Middleditch <elanthis@awemud.net>
* Cleaned up character command infrastructure, still a bit
rough around the edges, though
* Removed signal.* files
* Added some basic room/zone editing commands
2000-08-16 Sean Middleditch <elanthis@awemud.net>
* Removed use of dprintf (a GNU extension)
* Began removing do_command, replacing with many
mini "do_commandname" functions.
* Added build-data-dist.sh - For generating tarballs of
the game world date for Thelharin (to make a new,
seperate module)
2000-08-15 Sean Middleditch <elanthis@awemud.net>
* Implemented a better password input option
* Cleaned up the use of C_FLAG_PLAYER and C_FLAG_VALID
* Fixed health/mana saving bug
* Added OAT_ATTACK and CHAR_COMM_ATTACK, start of combat
2000-08-14 Sean Middleditch <elanthis@awemud.net>
* Removed character signal system, it was useless
* Released version 0.4.5
* Finished new player system
* Reorganized data tree a bit
* Added GM and admin status options for characters
* Implemented the allow_new flag again
* Changed world/zone/room relationship to flat list
instead of a tree
2000-08-12 Sean Middleditch <elanthis@awemud.net>
* Implented a better player/character system, a bit like
a 'user' system, but easier to play with.
2000-08-10 Sean Middleditch <elanthis@awemud.net>
* Removed the evil list.* files
* Finished up most of the changes needed for removing
the user system
2000-08-09 Sean Middleditch <elanthis@awemud.net>
* Completely removed the user system, AweMUD now behaves
more like a conventional MUD in the character/user
sense, although the password system is NOT complete
yet
* Changed the help system to use a cleaner file format
* Released version 0.4.4
* Fixed a small 'oops' with make install, cleaned up
the Makefile.am's a bit, too
2000-08-08 Sean Middleditch <elanthis@awemud.net>
* Released version 0.4.3
2000-08-07 Sean Middleditch <elanthis@awemud.net>
* Fixed numerous mini-bugs
* Updated option code to be easier to invoke an option
* Updated character creation
* Fixed bug with deleting/checking wrong player files
2000-08-06 Sean Middleditch <elanthis@awemud.net>
* Fixed crash in "set color" code
2000-08-05 Sean Middleditch <elanthis@awemud.net>
* Added char_create.cc, to make char_login smaller
* Replaced log_msg () and log_message () with message ()
* Login and main menu has been reworked to use new options
system; still needs lots of work, though
2000-08-04 Sean Middleditch <elanthis@awemud.net>
* Hidden passwords 'sorta' supported (needs work)
* Character 'options,' a callback system for input commands,
has been implemented (for things like menues)
2000-07-30 Sean Middleditch <elanthis@awemud.net>
* Object 'attributes' implemented, object are now usable!
* Many many many bug fixes and cleanups, along with many new
hacks to get around stuff (code needs restructuring)
2000-07-24 Sean Middleditch <elanthis@awemud.net>
* Stats are now loaded like they should have been
* 'info' command shows proper stat descriptions now
2000-07-23 Sean Middleditch <elanthis@awemud.net>
* Released version 0.4.2
* Removed a few erroneous error messages
2000-07-19 Sean Middleditch <elanthis@awemud.net>
* Made data/Thelharin.data/world valid
* Redid configure to use vector's and references instead of
_list's and pointers
2000-07-18 Sean Middleditch <elanthis@awemud.net>
* data/info.txt support completed
2000-07-17 Sean Middleditch <elanthis@awemud.net>
* Adding support for storing strings in data/info.txt instead of
src/info.cc
2000-07-12 Sean Middleditch <elanthis@awemud.net>
* Released version 0.4.1
2000-07-11 Sean Middleditch <elanthis@awemud.net>
* Many numerous bugs related to zone restructuring fixed
2000-07-09 Sean Middleditch <elanthis@awemud.net>
* Finished up restructuring
2000-07-08 Sean Middleditch <elanthis@awemud.net>
* Began implementation of advanced name matching
* Began restructuring of world into world/zones/sub-zones/.../rooms
* Fixed help loading wrong file
2000-07-01 Sean Middleditch <elanthis@awemud.net>
* New body definitions code 80% completed
2000-06-20 Sean Middleditch <elanthis@awemud.net>
* Renaming in config_list
2000-06-17 Sean Middleditch <elanthis@awemud.net>
* A humungous amount of bug-fixes
* Beginning of a huge rework of body definitions
2000-05-25 Sean Middleditch <elanthis@awemud.net>
* Changed name of character state to character position
2000-05-24 Sean Middleditch <elanthis@awemud.net>
* Updated help system to use config_file
2000-05-23 Sean Middleditch <elanthis@awemud.net>
* Worked on string_t: may have introduced length bug in string_t::cut ()
* Added multi-line data capabilities to configure.cc
2000-05-21 Sean Middleditch <elanthis@awemud.net>
* Major restructuring of world save data format and
directory structure
* Log files will be truncated with each execution now
2000-05-20 Sean Middleditch <elanthis@awemud.net>
* Moved character body definition to body.h
* Removed character classes: AweMUD would be better
classless and be skill-based
* Removed files.cc and files.h
* Cleaned up server class/code
* Completely redid command input system
2000-05-18 Sean Middleditch <elanthis@awemud.net>
* Fixed pickup bug (item went to bodylocs other than hands)
* Fixed crash with drop
* Drop now can use abbreviated item names
* Few minor bug fixes
2000-05-17 Sean Middleditch <elanthis@awemud.net>
* Added ability to drop carried items from hands
2000-05-12 Sean Middleditch <elanthis@awemud.net>
* Finished the change to the new config_list get/load code
* Added ability for config_list to now set/save data
2000-05-11 Sean Middleditch <elanthis@awemud.net>
* Addes super-basic pickup functionality
* Renamed config_file.* to configure.*
2000-05-10 Sean Middleditch <elanthis@awemud.net>
* Fixed the character creation class problem
2000-05-08 Sean Middleditch <elanthis@awemud.net>
* All new characters will have a full body description now
* Reworked character signals to
a) make the race condition safe
b) make them thread/network safe
c) make them easier to manage
d) put more of the weight onto the signal handler instead
of the slower input parser
2000-05-07 Sean Middleditch <elanthis@awemud.net>
* Added more support for bodylocs
* Added object look
* Added beginning of "get" command
2000-05-06 Sean Middleditch <elanthis@awemud.net>
* Added basic support for bodylocs
* Released version 0.4
* Moved login.* to user.*
2000-05-05 Sean Middleditch <elanthis@awemud.net>
* Redid the output system
2000-05-03 Sean Middleditch <elanthis@awemud.net>
* Added object saving/loading support
* Added object to room view
* Finally moves colors info to the user, not the player
2000-05-02 Sean Middleditch <elanthis@awemud.net>
* Fixed logout bug when client was disconnected
* More emotes added
* Character race/class implemented
2000-04-26 Sean Middleditch <elanthis@awemud.net>
* Added use of : for emote
* Added basic emote commands (laugh, nod, grin, etc.)
* Character saving improved
2000-04-21 Sean Middleditch <elanthis@awemud.net>
* Cleanup of entity/character/object code
2000-04-20 Sean Middleditch <elanthis@awemud.net>
* Install now works OK
* RPM now works OK
2000-04-19 Sean Middleditch <elanthis@awemud.net>
* Sitting, standing, laying down added
* Character saving added
* RPM now works fine
2000-04-18 Sean Middleditch <elanthis@awemud.net>
* Install works much nicer now
* Released version 0.2
* Character name validating implemented
* Help improved
2000-04-16 Sean Middleditch <elanthis@awemud.net>
* Character logout and signals reworked
* Released version 0.1-8
* Changed some accounts and added better documentation
* Released version 0.1-9
* Updated to use autoconf
* Fixed is_lock bug in config_file
* Changed version numbering to Major.Minor (cur is 0.2)
* Updated to use automake
2000-04-15 Sean Middleditch <elanthis@awemud.net>
* Admin status is needed to issue server commands
* Added world saving
* Basic help added
2000-04-14 Sean Middleditch <elanthis@awemud.net>
* Fixed messages when leaving/entering rooms
* Added world saving infrastructure
2000-04-13 Sean Middleditch <elanthis@awemud.net>
* Character movement messages improved.
* Fixed bug with server remaining in memory after
a SIGTERM
2000-04-12 Sean Middleditch <elanthis@awemud.net>
* Fixed serious memory leak bug... older versions
consumed huge amounts of memory... :(
* Released version 0.1-7
2000-04-12: 0.1-6
* Fixed a stupid problem involving characters
that weren't logged in being put in a room
* Characters can move between rooms
* Rooms now have exits
* Updated some logging issues
* Removed the irritating SIG message in char.cc
2000-04-09: 0.1-5
* Signal system in place
* Character commands now based on signals
2000-04-07: 0.1-4
* More conversion to C++
* Better input handling
2000-04-04: 0.1-3
* Rewritten entity code, much more powerful
2000-03-38: 0.1-2
* Server is operational
* Can logon, get input, do look and quit commands ;-)
* Name changed to AweMUD
2000-03-18: 0.1-1
* Project started
* Added server socket/bind code
* Improved room class