home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / t / toaster.zip / Compat / DONE-DR < prev    next >
Text File  |  1992-01-04  |  11KB  |  278 lines

  1. This is the changes log for LPMud 3.0-DR.  I strongly suggest that
  2. you read the DONE file, located in the same directory, for changes
  3. to the base verison of LPMud 3.0, as this file is -DR specific.
  4.  
  5. Fixes in 3.0.26-DR
  6.  
  7.    Please read the DONE file for changes that are for 3.0.26.
  8.    Fix a major memory leak with the F_ADD instruction. 
  9.    Fixed a small bug, which would make this_verb() return
  10.       and incorrect value.
  11.  
  12. Fixes in 3.0.28-DR to 3.0.30-DR
  13.  
  14.    Read the DONE file for new features to 3.0.28 to 3.0.30.
  15.    Fixed, or reprogrammed, the shadow implementation to be much
  16.    more stable.  There was a bug that could potentially crash 
  17.    the game, if you shadowed something with an shadow that defined
  18.    an init().  This has not been fully tested as "safe", so if you
  19.    are weary of crashing your mud, don't use shadows with inits().
  20.  
  21.    Added portability for a NeXT.  Please read the Makefile for 
  22.    more information on how to configure it to these machines.
  23.  
  24.    Fixed a memory leak in ed, which now makes 'x' free it's buffer.
  25.     
  26. Fixes in 3.0.31-DR to 3.0.33-DR
  27.  
  28.    Please read the DONE file for changes from 3.0.31 to 3.0.33.
  29.  
  30.    Fixed the search command in ed, to start on the next (or previous)
  31.    line.  
  32.  
  33.    Restricted shadow, such that shadowing objects cannot be moved,
  34.    and an object cannot shadow if it has an environment.  Shadows
  35.    are destructed when the object they are shadowing is destructed,
  36.    so there no potential memory leak here.
  37.  
  38.    Fixed a bug with shadowing, which caused the player to get no output
  39.    if the player.c object has a catch_tell defined, and they were being
  40.    shadowed.  Also, catch_tell is now called on player.c with all 
  41.    messages but the notify_fail strings.
  42.    
  43.    added deletea(array, index[, endindex]) to delete element
  44.    index, or if endindex is given, the range of elements index 
  45.    thru endindex, from array.
  46.  
  47.    Fully overloaded - on arrays (-= also works).  If you do
  48.   
  49.       array - anytype
  50.  
  51.    it removes the first occurance of anytype from array.  If 'anytype'
  52.    is an array, it removes the first occurance of each element of anytype
  53.    from array, and returns the resultant array.  Please note:  the
  54.    elements MUST be identical, in that they must be the same number,
  55.    object, string, or vector.  The expression:
  56.  
  57.    ({ ({1, 2, 3}) }) - ({ ({1, 2, 3}) })
  58.  
  59.    although the first element of each outer array (which is the array
  60.    ({1, 2, 3}) ) are arrays of the same size and elements, these are
  61.    NOT the same arrays, and the result of the above subtraction would
  62.    be
  63.  
  64.    ({ ({1, 2, 3}) })
  65.  
  66.    (the elements would have to point to the same physical array
  67.     for these to be equal)
  68.  
  69. Fixes in version 3.0.34-DR
  70.  
  71.    Please read the DONE file for version 34 changes.
  72.  
  73.    Fixed an annoying bug that disabled write() during login.  However,
  74.    this "fix" encompassed taking out the calls to catch_tell on player
  75.    objects.  I am working on a more elegant solution.
  76.  
  77. Fixes to version 3.0.37-DR
  78.  
  79.    Please read the DONE file for versions 35-37 changes.
  80.  
  81.    Many bugs related to not running in compatibility mode
  82.    have been fixed.  Soon, when I get the chance to check
  83.    out the new fixes, functions will be able to return
  84.    dual types, instead of only one type (one of those types
  85.    being TYPE_ANY).  This will allow things like:
  86.  
  87.      int i;
  88.      i = extract(blah, blah);
  89.    
  90.    to be flagged as an error.  This, now, is not an error, I think,
  91.    since the return type of extract() is TYPE_ANY.  (this is only
  92.    an issue with type-checking)
  93.    
  94.    Ed has been made 'snoopable', by outputting lines instead of
  95.    characters at a time.
  96.  
  97.    reset() has deviated from Lars' reset scheme slightly.  If 
  98.    an object is past due for a reset, and is referenced, then
  99.    it will reset immediately, instead of the next "reset cycle".
  100.    Also, if it's not past due, it will reset next reset, like
  101.    normal.  
  102.  
  103. Fixes to version 3.0.37-DR and 3.0.39-DR
  104.  
  105.    Please read the DONE file for changes in version 37 and 39.
  106.  
  107.    The typing system has been totally recoded, to allow for multiple
  108.    return types from efuns.  This, unfortunately, has made it so that
  109.    I get to rewrite lars' make_efun.y to reflect these changes, and
  110.    as a result, I haven't incorporated that new feature into the source
  111.    distribution.  He basically took my idea with the efuns.i file, and
  112.    made a readable way to generate that file.  I don't know if I will
  113.    add this to the source or not, as I am still debating that.
  114.  
  115.    Fixed a bug in +=, which would crash the game if yo uadded a
  116.    string to a number (number += string).
  117.  
  118.    Fixed a bug with error(), which could potentially crash the 
  119.    game.
  120.  
  121.    Added #define's for the full message, the prompt, and for if
  122.    find_living can return non-idable objects.
  123.  
  124.    Fixed some potential too-long evals associated with the reset scheme.
  125.  
  126. Fixes to version 3.0.39-DR and 3.0.41-DR
  127.  
  128.    Please read the DONE file for changes in version 40 and 41.
  129.  
  130.    Fixed a potential bug with return 0 from verbs, that could crash the game.
  131.  
  132. Fixes to version 3.0.41-DR-1.1
  133.  
  134.    Reluctantly took out the new type checking system until I can get
  135.    the time to look at it to fix a bug.  Please read the DONE file for
  136.    information on the varargs qualifier, as well as how types are checked
  137.    on EVERY argument to an efun, now.  The type checking is identical to
  138.    Lars' 3.0.   I also fixed some problems with return types of efuns.
  139.  
  140.    This version will compile lars mudlib.n, if you change all the 
  141.    read_file calls to 
  142.  
  143.    implode(grab_file(filename), "\n")
  144.  
  145.    You can put the following macro at the top of any file that has read_file:
  146.  
  147.    #define read_file(x)  implode(grab_file(x), "\n")
  148.  
  149.    and it will compile fine.  
  150.  
  151. Fixes to version 3.0.42-DR
  152.  
  153.    Please read the DONE file for changes to version 42.
  154.  
  155.    Fixed some portability bugs.  This was mainly just moving header files
  156.    around... There are probably still some problems porting.  This version
  157.    is known, by me, to port to a Sun3, a Sparc, and HPUX.
  158.  
  159.    Created master.h, which defines mudlib paths pertaining to create_wizard,
  160.    and modified master.c accordingly.
  161.  
  162.    Added back Lars' output buffering scheme.  Hopefully it'll work this
  163.    time.  
  164.  
  165. Fixes to version 3.0.43-DR and 3.0.44-DR
  166.  
  167.    Please read the DONE file for changes to version 43 and 44.
  168.  
  169.    Remember to move master.c into your object directory.
  170.  
  171.    Fixed the ls / bug.
  172.    
  173.    Fixed a bug with ed, which made / and ? skip the next line, and
  174.    started it's search two lines from the current one.
  175.  
  176.    A switch statement has been implemented, which is identical to the
  177.    C switch statement.  However, if you have variables named 'switch',
  178.    'case', or 'default', you'll get syntax errors.  Also, don't 'return' 
  179.    from a switch case.  It'll crash the game. (hopefully this'll be 
  180.    fixed soon).
  181.  
  182. Fixes to version 3.0.45-DR
  183.  
  184.    Please read the DONE file for changes to version 45
  185.  
  186.    Fixed a small bug that could crash the game, if you got a 
  187.    compiler error that is longer than 100 bytes long.
  188.  
  189.    Fixed a bug with swapping, which wouldn't swap out argument type
  190.    information.
  191.  
  192.    MAJOR Change to shadow implementation.  shadow(arg, 1) now returns
  193.    arg, instead of the topmost shadow of arg.  Also, set_shadowing_object
  194.    is no longer called,since it is not needed anymore. (set_shadowing_object
  195.    was used to set a shadow's pointer to the object it's shadowing.)
  196.  
  197.    Added Lars' read_file.  In compatiblity mode, read_file works as expected,
  198.    if called like the "old" way of calling read_file; i.e.
  199.  
  200.       read_file("blah", 1);
  201.  
  202.    would read the first line of blah.  However, in non-compatibility mode,
  203.  
  204.       read_file("blah", 1);
  205.  
  206.    works as Lars' read_file would behave, that is, read from the first line
  207.    of the file to the end of the file.  Also, in EITHER mode, if you do
  208.  
  209.       read_file("blah");
  210.  
  211.    it will read the entire file in as a string, and return that to you, and
  212.    if you do
  213.  
  214.       read_file("blah", start, len);
  215.  
  216.    it will read from start, reading len lines, and return a string of all 
  217.    lines read in.
  218.  
  219.    Also, grab_file now takes a start and len argument, to be the starting
  220.    line to read, and how many to read.
  221.  
  222.    This version does NOT have lars' new call_out()/this_player() feature.
  223.    I will add this with the next version, for use with non-compatibility
  224.    mode.
  225.  
  226. Fixes in version 46-DR to 49-DR
  227.  
  228.    Fixed a bug with get_attribute, which made it always look at this_object().
  229.  
  230.    Added Lars' call_out/this_player feature for non compatibility mode.
  231.  
  232.    Fixed a few potential memory leaks in array.c, which could occur if
  233.    the returned array was 0 length (local buffers weren't being freed).
  234.  
  235.    Fixed a bug in make_func.y which would cause it to crash.  Also, there
  236.    is still a minor bug, which makes the order you give argument types
  237.    (if an argument can be more than one type) order dependent (this is 
  238.    for func_spec.c).
  239.  
  240.    combine_free_list has been removed, unless you are using Lars' malloc
  241.    package.  Some people might have old code in their church using this 
  242.    functions...
  243.  
  244.    I've kept the -DR ls() efun, instead of making it a simulated efun,
  245.    since the simul efun I created to simulate my ls was too slow.
  246.    However, I've put a copy of it in mudlib_simul_efun.c (it probably
  247.    needs a bit of work to get paths right, etc...) if you wish to use
  248.    it.  
  249.    
  250.    shutdown() can only be called from master.c.  I have provided a function
  251.    shut_down_game() in master.c which calls shutdown().  This is to 
  252.    protect anyone from being able to call shutdown() themselves and
  253.    shutting the game down.  (we had this happen accidentally on DR).
  254.    You'll probably want to test previous_object() for whatever object
  255.    you have authorized to call shutdown, inside shut_down_game(), to
  256.    make sure it's being called correctly.
  257.  
  258. Fixes in version 51
  259.  
  260.    Added a function to master.c, valid_shout, which will return true if
  261.    the object sent is able to receive a shout.  I did this to further 
  262.    detach the parser from the mudlib (it used to call query_muffled on
  263.    the object, not it gets master.c to do it, to make it more user 
  264.    definable).
  265.  
  266.    Fixed a bug in the new say(), which could crash the game.
  267.  
  268.    Moved possessive(), objective(), and subjective() to simul_efun.c.
  269.    Remember to move the new mudlib_simul_efun.c into your obj directory
  270.    if you use these functions... 
  271.  
  272. Fixes in version 52
  273.  
  274.    There are none.  Version 52 is version 51 with the say() bug fixed.
  275.    Sort of silly to release a new version if you ask me...
  276.  
  277.  
  278.