Bearnip
Lars
LDMud
LDMud Release
LDMud 3.2.7
|
|
Version: 3.2.7 Release Date: 19. Aug 1999 Maintained by: Lars "Mateese" Düning E-mail: |
Download the source (1.7MB) from - ftp.mud.de (Germany) Older releases: 3.2.6. |
MD5-Sum: caa0825c1ce3c2e58a4cc9bfbe5b2a3a ldmud-327.tar.gz
| |
All this work couldn't been done without all my testers and critics who beared with me through the 60+ interim releases since 3.2.6.
Thank You!
command():debug_info():debug_info(DINFO_STATUS): now returns the status
information instead of printing it. debug_info(DINFO_STATUS,
"malloc") returns the malloc information usually connected
with the 'malloc' command.
debug_info(DINFO_DUMP): allows to dump object
information and (if compiled) opcode usage information into a
file.
destruct(): accepts an already destructed object as
argument.
get_type_info(): returns for strings whether they are
shared or not.
inherit_list(), debug_info(),
object_info(): duplicate virtual inherits are no longer
listed.
notify_fail(): calls to notify_fail()
only affect the current command. Also, NPCs can see 'their' notify_fail
messages.
object_info(): OINFO_BASIC result
OIB_APPROVED is gone.
replace_program(): no longer flags objects as
'clones', but instead uses the new flag O_REPLACED.
set_light(): is optional (though by default active)
sprintf(), printf(): if an error occurs,
the filename and line are included in all error messages, not just the
one printed to stderr.
symbol_function(): can't make closures from protected
lfuns of other objects anymore.
trace(), traceprefix() are validated
with the master-lfun valid_trace().
caller_stack(): is now declared to return
object * as it indeed does.
query_mud_port(): now accepts int
arguments as documented.
restore_object(): protected against negative
([:width]) specifications.
sprintf()/printf(): prints variable
closures properly even if the variable vanished in a program
replacement.
symbol_variable(): recognizes objects with pending
program replacements.
terminal_colour(): when wrapping is active, keywords
were replaced even when no %^ was present. Not any more.
to_object(): returns 0 for closures bound to a
destructed object.
to_string(): converts variable closures properly even
if the variable vanished in a program replacement.
to_string(): in compat mode, object names are no
longer prepended with a slash.
unmkmapping(): now handles key-only mappings as it
should.
atan2(): alternative way to calculate the inverse
tangens.
ceil(): rounds a float up to the nearest whole
number.
floor(): rounds a float down to the nearest whole
number.
pow(): raises a float to the power of another float.
and_bits(): binary-ands two bitstrings.
or_bits(): binary-ors two bitstrings.
xor_bits(): binary-xors two bitstrings.
invert_bits(): negates a bitstring.
next_bit(): finds the next set (cleared) bit in a
bitstring.
last_bit(): returns the last set bit in a bitstring.
count_bits(): count the number of bits in a bitstring.
command_stack(): returns the current
command stack.
command_stack_depth(): returns the depth of the
command stack.
execute_command(): low-level access to
the command parser.
query_command(): returns the full command seen by the
parser.
query_notify_fail(): returns the current notify-fail
setting.
object_time(): return the time an object was created.
present_clone(): find objects with a
specific blueprint in a given environment.
trim(): trim a certain character from a string.
limited(): executes a closure with
changed runtime limits
query_limits(): queries the current/default runtime
limits
set_limits(): sets new default runtime
limits.
valid_write(): New call_funs "objdump" and
"opcdump", passed when attempting to dump the object and
opcode information into a file. This applies to the special commands
dumpallobj and opcdump as well as for
the debug_info() uses.
query_player_level(): obsolete and gone.
valid_trace(): New lfun to validate uses of
trace() and traceprefix()
(query_player_level() did this before).
to_string() on a lfun of a swapped program.
call_lambda() on not-inherited variable closures.
replace_program() on a program of which one variable
is referenced by a symbol_variable().
+= now allows to add an int onto a float (before
only floats were allowed). Similar for -=,
*= and /=.
* and *= may multiply strings or arrays
with positive numbers. The result is the string/array
numbertimes repeated.
MAX_LOCAL applies only to
the variables which are in scope at the same time. Variables in inner
scopes can hide variables in outer scopes. Unchanged is that local
variables are initialised to 0 when their scope is (re)entered.
no_local_scopes and
local_scopes turn the local scoping of variables off
resp. back on.
for(init, init,
..., init; ...) each init can
either be a normal
expression, or a definition of a local variable with assignment, e.g.
int i = expr. The scope of such variables is the
whole for() statement.
int foo(int arg ) { return arg * 2; }
map_array(arr, #'foo); map_array(arr, (: return $1 * 2; :) ); map_array(arr, (: $1 * 2 :) );no_clone: disallows clones of a program.
no_inherit: disallows inheriting a
program.
*::f() did not call all inherited functions
(and others multiple times).
'#[<] indexing corrected.
H_RESET is a closure, and the closure
returns a negative value, the object will not be reset again, as if
set_next_reset(-1) had been used.
H_COMMAND allows to replace
the driver command parsing with your own. When used, the
H_MODIFY_COMMAND and H_NOTIFY_FAIL hooks are
ignored.
H_MODIFY_COMMAND hooks may now change the
commandgiver. The change remains active during the execution of the
command, and the original commandgiver is passed to the
NOTIFY_FAIL hook.
MAX_MAPPING_SIZE
keys (default is 5000).
dumpallobj and opcdump
are verified through master->valid_write().
DYNAMIC_COSTS, causing
increased eval-costs for computationally expensive operations. For
now, this applies only to string additions with an additional cost of
strlen(result)/1000 .
cleanup() and
reset() to achieve a smoother operation.
mudlib/sys/{trace.h,input_to.h,files.h, debug_info.h}
with definitions for the efuns trace(),
input_to(), file_size(),
get_dir(), and debug_info().
__EUIDS__ stays defined, though).
--strict-euids. If defined, the LPC macro
__STRICT_EUIDS__ is defined. If your mud ran in
NATIVE_MODE, this is the option you'll want to use.
--reset-time and
--cleanup-time specify the cleanup and reset times. The
old config.h symbols TIME_TO_RESET and
TIME_TO_CLEAN_UP just give the default values.
--max-array and
--max-mapping can set the max limits for arrays and
mappings. For both, a setting of 0 disables the limit checks.
--max-bytes and
--max-file can set the max IO limits for file reads and
writes.
ACCESS.ALLOW file can specify portnumbers.
status malloc is now identical to
malloc.
debugmalloc and
showsmallnewmalloced are deactivated.
Bearnip
Lars
LDMud
LDMud Release
LDMud 3.2.7
|
Lars Düning () - PGP Key |
| Validate this page. |