# # Patch name: multiscreen # Patch version: 1 # Author's name: Flame # Author's email: flame@access.kuwait.net # Version of PennMUSH: 1.6.9-p08 # Date patch made: 20-11-1996 # Author is willing to support (yes/no): no # Patch format: diff -c # # # This is a contributed PennMUSH patch. Its use is subject to the # same restrictions found in PennMUSH's hdrs/copyrite.h file. # # No warranty is given for this patch. It is not necessarily going # to work on your system, with any version of PennMUSH other than # the one above, etc. # # If the author given above was willing to support the patch, you # should write to the author if you have any questions or problems. Do # *NOT* send email messages to Javelin or any PennMUSH mailing list about # this patch! # # Below this line is the author's description of the patch, # followed by the patch itself. If the patch is in context diff # format, you'll probably apply it by typing: patch < patchfile # in your top-level MUSH directory, unless instructed otherwise # below. # This patch will make it possible to have more than one connect screen. Suppose you want 4 different connect.txt to be used, each shown with every login then you have to do the following first: 1- rename connect.txt to 0connect.txt 2- create the other connect files under the names of 1connect.txt, 2connect.txt and 3connect.txt so you will end up with 4 files 0 to 3. 3- put in these diffrenet connect.txt files diffrent screen, ascii ..etc 4- add the following to options.h file located in the parent directory right after #define __OPTIONS_H. so it would look like this: #define __OPTIONS_H #define MULTI_SCREENS 3 Ofcourse if you need more you change this numner and create more connect files prefixed by the appropriate numner. e.g. if you want 10 screens you @define MULTI_SCREENS 9 and create 0connect.txt ...... 9connect.txt *** src/bsd.orig Wed Nov 20 13:01:05 1996 --- src/bsd.c Wed Nov 20 13:02:54 1996 *************** *** 958,964 **** { int conn, motd, wiz, new, reg, quit, down, full; int guest; ! conn = fcache_read(&options.connect_fcache, options.connect_file); motd = fcache_read(&options.motd_fcache, options.motd_file); wiz = fcache_read(&options.wizmotd_fcache, options.wizmotd_file); --- 958,968 ---- { int conn, motd, wiz, new, reg, quit, down, full; int guest; ! static int counter = 0; ! counter++; ! if(counter>(MULTI_SCREENS)){ ! counter = 0;} ! sprintf(options.connect_file, "txt/%dconnect.txt", counter); conn = fcache_read(&options.connect_fcache, options.connect_file); motd = fcache_read(&options.motd_fcache, options.motd_file); wiz = fcache_read(&options.wizmotd_fcache, options.wizmotd_file); *************** *** 1368,1373 **** welcome_user(d) struct descriptor_data *d; { fcache_dump(d, options.connect_fcache); } --- 1372,1378 ---- welcome_user(d) struct descriptor_data *d; { + fcache_init(); fcache_dump(d, options.connect_fcache); } *** src/conf.orig Wed Nov 20 13:01:13 1996 --- src/conf.c Wed Nov 20 13:03:01 1996 *************** *** 331,337 **** strcpy(options.news_index, "txt/news.idx"); strcpy(options.events_file, "txt/events.txt"); strcpy(options.events_index, "txt/events.idx"); ! strcpy(options.connect_file, "txt/connect.txt"); strcpy(options.motd_file, "txt/motd.txt"); strcpy(options.wizmotd_file, "txt/wizmotd.txt"); strcpy(options.newuser_file, "txt/newuser.txt"); --- 331,337 ---- strcpy(options.news_index, "txt/news.idx"); strcpy(options.events_file, "txt/events.txt"); strcpy(options.events_index, "txt/events.idx"); ! /* strcpy(options.connect_file, "txt/connect.txt"); */ strcpy(options.motd_file, "txt/motd.txt"); strcpy(options.wizmotd_file, "txt/wizmotd.txt"); strcpy(options.newuser_file, "txt/newuser.txt");