[PennMUSH] MUX-alike channel patch

  • This was pointed out to me today. It's a patch for PennMUSH that uses a custom attribute to make Penn channels work as if they were MUX. I have installed it and it works by default, but has no bells and whistles.

    I'm going to (once I get everything done) tag the patch with a softcoded addcom/delcom/comtitle/@clist to go with it as separate file. I'll post here as well once I'm done with them.

    Anyone running Penn that wants to do this, it works on at least Penn 1.8.5 ranges.

  • ... I just looked at this, why did't it include the link?


  • You got this working on the latest build of penn?

  • @Seamus
    It's working right now on 1.8.5p5 at the very least. It was a pretty easy install and the baseline works once I set the attribute on myself. I got an SVN related error which is just an ignorable error since i don't mess with SVN.

    To test it, put the .txt file in your top-level Penn directory, then:

    patch -p0 --dry-run < filename

    If you get no errors (or just that SVN error) remove the --dry-run and it'll patch. Run a make, then @shutdown/reboot.

  • Yeah, 1.8.6 p0 it doesn't install cleanly on.

  • @Seamus

    Let me do a couple o tests, see if there's anything that needs to be done with 1.8.6p0.

  • Okay, it looks like the SVN error that you can ignore was... for whatever reason... causing a much worse error than it gave me, on 1.8.6p0. I've removed the SVN portion and tested it, it works with no error on a flat, new install of 1.8.6p0; no idea if it will conflict with any patches for stuff like HSpace and the like.

    I've uploaded it here: http://hotbmush.com/muxchan.txt

    Just download it, patch it appropriately (and don't be a moron like me, make sure you remove the --dryrun once you test it for it to go live). After that, it'll work with the attribute in question. I haven't yet written the softcode for it; I'll upload that once I'm done.

  • See I get an error when I run it. Dry run completes with no problem, but the actual patch errors.

    command.c: In function ‘command_parse’:
    command.c:1215:3: warning: implicit declaration of function ‘parse_chat_alias’ [-Wimplicit-function-declaration]
    if (!replacer && parse_chat_alias(player, p) && command_check_byname(player, "@CHAT", pe_info)) {
    gcc -std=gnu99 -ggdb -g -O2 -W -Wall -pedantic -Wno-comment -Wno-char-subscripts -fstack-protector -Wa,--noexecstack -I.. -I../hdrs -include ../config.h -include ../confmagic.h -include ../options.h -funsigned-char -I/usr/include/mysql -DBIG_JOINS=1 -fno-strict-aliasing -g -DNDEBUG -I/usr/include -c -o extchat.o extchat.c
    extchat.c: In function ‘parse_chat_alias’:
    extchat.c:1526:3: error: too few arguments to function ‘safe_atr_value’
    if (!a || !(av = safe_atr_value(a))) {
    In file included from extchat.c:22:0:
    ../hdrs/attrib.h:114:7: note: declared here
    char *safe_atr_value(ATTR *atr, char *check) attribute_malloc;
    make[1]: *** [extchat.o] Error 1
    make[1]: Leaving directory `/home/g33kcub/mushes/active/pennmush/src'
    make: *** [all] Error 2

  • @Seamus
    I'll ask on the MUSH dev when I'm back on it shortly. I didn't get that error when I tested it this morning, but it was on a brand new install of 1.8.6p0. Are you using any other custom patches or hardcode alterations?

  • There's talk on M*U*S*H to make it an official patch you can ifdef.

  • @Seamus safe_atr_value() now takes two args rather than one. You can fix that easily by changing the code to something like

    if (!a || !(av = safe_atr_value(a, "parse_chat_alias.av"))) {

  • @Mercutio
    Yeah, Mike and I were talking about the things needed earlier before he headed out. I think it's a worthwhile patch, myself.

  • A new patch was finished earlier, written with 1.8.6p0 compatibility.


    Instructions are at the top of the patch. It grants native support for the main commands of MUX channels and such (as noted at the top of the patch).

Log in to reply