ldmud-3.2.9/doc/
ldmud-3.2.9/doc/efun/
ldmud-3.2.9/mud/
ldmud-3.2.9/mud/heaven7/
ldmud-3.2.9/mud/heaven7/lib/
ldmud-3.2.9/mud/lp-245/
ldmud-3.2.9/mud/lp-245/banish/
ldmud-3.2.9/mud/lp-245/doc/
ldmud-3.2.9/mud/lp-245/doc/examples/
ldmud-3.2.9/mud/lp-245/doc/sefun/
ldmud-3.2.9/mud/lp-245/log/
ldmud-3.2.9/mud/lp-245/obj/Go/
ldmud-3.2.9/mud/lp-245/players/lars/
ldmud-3.2.9/mud/lp-245/room/death/
ldmud-3.2.9/mud/lp-245/room/maze1/
ldmud-3.2.9/mud/lp-245/room/sub/
ldmud-3.2.9/mud/lp-245/secure/
ldmud-3.2.9/mud/morgengrauen/
ldmud-3.2.9/mud/morgengrauen/lib/
ldmud-3.2.9/mud/sticklib/
ldmud-3.2.9/mud/sticklib/src/
ldmud-3.2.9/mudlib/uni-crasher/
ldmud-3.2.9/pkg/
ldmud-3.2.9/pkg/debugger/
ldmud-3.2.9/pkg/diff/
ldmud-3.2.9/pkg/misc/
ldmud-3.2.9/src/autoconf/
ldmud-3.2.9/src/bugs/
ldmud-3.2.9/src/bugs/MudCompress/
ldmud-3.2.9/src/bugs/b-020916-files/
ldmud-3.2.9/src/bugs/doomdark/
ldmud-3.2.9/src/bugs/ferrycode/ferry/
ldmud-3.2.9/src/bugs/ferrycode/obj/
ldmud-3.2.9/src/bugs/psql/
ldmud-3.2.9/src/done/
ldmud-3.2.9/src/done/order_alist/
ldmud-3.2.9/src/done/order_alist/obj/
ldmud-3.2.9/src/done/order_alist/room/
ldmud-3.2.9/src/gcc/
ldmud-3.2.9/src/gcc/2.7.0/
ldmud-3.2.9/src/gcc/2.7.1/
ldmud-3.2.9/src/hosts/
ldmud-3.2.9/src/hosts/GnuWin32/
ldmud-3.2.9/src/hosts/amiga/NetIncl/
ldmud-3.2.9/src/hosts/amiga/NetIncl/netinet/
ldmud-3.2.9/src/hosts/amiga/NetIncl/sys/
ldmud-3.2.9/src/hosts/i386/
ldmud-3.2.9/src/hosts/msdos/byacc/
ldmud-3.2.9/src/hosts/msdos/doc/
ldmud-3.2.9/src/hosts/os2/
ldmud-3.2.9/src/hosts/win32/
ldmud-3.2.9/src/util/
ldmud-3.2.9/src/util/erq/
ldmud-3.2.9/src/util/indent/hosts/next/
ldmud-3.2.9/src/util/xerq/
ldmud-3.2.9/src/util/xerq/lpc/
ldmud-3.2.9/src/util/xerq/lpc/www/
Subject: H_MODIFY_OUTPUT
From: Thomas Feldmeier <tf4@informatik.uni-ulm.de>
Date: Wed, 17 Mar 1999 17:26:50 +0100 (MET)
Type: Feature
State: Acknowledged.

H_MODIFY_OUTPUT

Optionaler Hook zum Modifizieren jeder Textausgabe,
bevor der Spieler sie sieht.
Kann eine unbound closure oder ein String sein.

Ist der Hook eine Closure, wird er aufgerufen als
  string <closure>(string output).

Ist der Hook ein String, wird eine Funktion mit diesem Namen
in dem Spieler aufgerufen:
  string <name>(string output).

this_player() enthaelt den Spieler, der die Textausgabe sieht.

Bevor ein Text an einen Spieler gesendet wird, wird der Hook
mit diesem Text als Paramter aufgerufen. Ist der Rueckgabewert
des Hooks ein String, so wird dieser String anstelle des Textes
an den Spieler gesendet.

--------------------------------------
Als Vorlage zum H_MODIFY_HOOK koennte man H_MODIFY_COMMAND nehmen
(aehnliche Parameteruebergabe)

Ich habe mir gedacht, dass in comm.c, add_message() geaendert wird:
bevor die message umgewandelt wird (also die /n zu /r/n geaendert usw.),
wird ein Hook aufgerufen, der die Message aendern koennte.
(vielleicht an der gleichen stelle, an der auch gesnoopt wird?)

Damit wird wohl jedes printf(), write() usw. auch einen eigenen Aufruf des
Hooks bewirken. Nur binary_message( ,0) nicht.

Der Hook ist ja gedacht, um alle ausgaben automatisch umzubrechen, bei
beruecksichtigung der ansi-steuerzeichen. pro write usw. wuerde also
zusaetzlich ein hook ausgefuehrt werden, der dann ein paar mapping-
operationen macht und ein aufruf von terminal_colour. ich schaetze, die
cpu-last waere noch ok.

                                                     Zora