deedee

MuggiChat v1.1 - Documentation.


1. Installing the fucker
2. (Re-) Compiling
3. Making it look nice
4. ChangeLog and Buglist

Installing fucker called MuggiChat v1.1.

Quick installation guide.. I'm tired, and dont have time for this now.. (this means, I'm assuming you have brain to install DD, so you should have brain to understand this too :).

1) Copy binary to /home/bbs/doors.

2) Go into the "setups/" directory, and choose one of the setups. Copy the *.gfx files from the choosen setup to /home/bbs/display/iso/ and put the .cfg in /home/bbs/configs/

3) Install the door in your daydream.cfg like this.
DOOR_COMMAND.. CHAT
DOOR_TYPE..... 1
DOOR_SECURITY. 100
DOOR_EXECUTE.. /home/bbs/doors/muggichat %N /home/bbs/configs/sample1.cfg
DOOR_CONFS1... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DOOR_CONFS2... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
4) Login and hope everything works out ok :p

(Re)Compiling MuggiChat v1.1.

1) Before recompiling, please check the variables in config.h. The variables you could (if nessecary) mess with are:
DDTEMP set this to point to your dd-temp directory, usually /tmp/dd. (i know, its defined in dd.h, but "trust noone" :)
MAXNODES If you got more than 64 nodes, you MUST change this, or muggichat will not load properly.
QUEUELEN
CPUHOGVALUE
If you have LOTS of users who talk a LOT, try tweaking with these values to get better performance. In general, leave them alone.

2) To recompile type "make"

3) To install new binary in /home/bbs/doors type "make install"

If you - while recompiling - are wondering why we're using a special dd-library, then the answer is as simple as this: It is the "normal" dd-library. We just made some minor modifications to make it compile as C++ source. Besides, MuggiChat is C++, so we need to have a fresh C++ compiled library, or we cant find our functions in old C library.

Making MuggiChat v1.1 look nice.

1) Using the included setups.

Take a look at the supplied setups, they might make it easier for you to set muggichat up correctly (and "nicely" :). At the moment two setups has been provided.
Setup StyleAboutAuthor
Ami/X alike Oldschool Ami/X setup flower
"Smodem" alike not very smodem-alike when i was finished with it flower
Pcboard alike req'd by some peeps, very elite indeed :) flower

If you have new setups you wanne have included with the next release, just mail them to me, and i'll include them.
flower says: own
setups=cool!

2) Creating your own setup(s).

When creating your own setup, there are three things you must take a look at: the .Cfg file, the macros in the .Cfg file and the external display files.

1) The .Cfg file.

The .Cfg file contains first some display lines, and then a list of colors to distinguish the users chatting in the chatroom. The lines in the .Cfg file are as follows:
Line 1 Showed when a user joins the chatroom.
Line 2 Showed when a user leaves the chatroom.
Line 3 Showed when a new (different than the previous) user starts to talk.
Line 4 Prompt when asking for page-# to page.
Line 5 Showed to the user who is being paged.
Line 6 Showed when a user has been paged.
Line 7 Showed when a user could not be paged.
Line 8 Wholist-Line. One line per node is being showed when user chooses to view which users are currently in the chatroom
Line 9 Showed when a user presses enter (NewLine).
Line 10..n Colors for the users. User_Color[Node-X]=Color[NumberOfColors mod NumOfNodes], meaning you dont have to have as many colors as nodes. Colors will cycle.

2) The macros in the .Cfg file.

In the .Cfg file you have some macros available for your use. They all have the following syntax:
@MACRO[<|>##]
@MACRO The name of the macro
< OR > Defines if the alignment of the text (optional)
## The size of the output field (optional)

Some un-documented examples of a macros use are:
m33p->@USER<20<-m33p  will be  "m33p->Flower             <-m33p"

||@BYTES>20 bytes||    will be  "||             123456 bytes||"

The macro-names to be used in MuggiChat are as follows:
@UN User Name
@UL User Location
@NN Node Number
@NC Node Color
3) The external display files.

Muggichat recognizes the following external display files. They will be snowed with parameter TYPE_SEC, meaning that you can have seperate files for different securitylevels (view the daydream-docs for further info on this). The files are as follows:

muggichat_enter Showed when entering muggichat.
muggichat_exit Showed when exiting muggichat.
muggichat_help Showed when asking for help on muggichat.
muggichat_whohead Showed before showing who is in the chatroom.
muggichat_whobutt Showed after showing who is in the chatroom.

ChangeLog and Buglist.

ChangeLog

v1.0 FINAL + First public release.
v1.01 +First public upgrade :)
* Most strXXX functions implemented (hopefully) better than normal strXXX functions. (newstrop.h) Should result in fewer crashes :)
* Documentation converted to sweet html.
* New PCB alike setup included. Check setups/
* Some smaller bugs which i overlooked have been fixed.

Buglist

As of version 1.01 the following bugs have been spotted:
Line 5 in config must not be too long! (Pagemessage line) Worked long and hard on fixing this, and figured at last that it was a limitation in daydream, and not a bug of mine :). Though, there is a way to fix this, but as of yet its too complex, so if it crashes when paging other nodes, try making this line smaller.
Keeps crashing after recompiling. When recompiling with MAXNODES variable changed, you must either reboot or remove the shared mem + semaphor with "ipcrm", or it will keep crashing. Can for some weird reason not remove shmem correctly :/.
User cant exit. This "bug" was reported by an unnamed RiSC telnet-trader . He used stel, which uses ctrl-x too. Press ctrl-x twice to "fix" this.
Found more bugs? mail me.