Date: Tuesday July 11, 2000 @ 8:49 Author: karthik Update of /home/netrek/cvsroot/Vanilla/ntserv In directory swashbuckler.fortress.real-time.com:/var/tmp/cvs-serv14527 Modified Files: queue.c solicit.c Log Message: Fixing newbie server queue changes (would cause a normal pickup server to incorrectly report queues if NEWBIESERVER was defined). Checks GU_NEWBIE instead of #ifdef NEWBIESERVER now. **************************************** Index: Vanilla/ntserv/queue.c diff -u Vanilla/ntserv/queue.c:1.6 Vanilla/ntserv/queue.c:1.7 --- Vanilla/ntserv/queue.c:1.6 Thu Jul 6 09:50:55 2000 +++ Vanilla/ntserv/queue.c Tue Jul 11 08:49:12 2000 @@ -142,7 +142,7 @@ queues[QU_NEWBIE_PLR].tournmask = ALLTEAM; queues[QU_NEWBIE_PLR].low_slot = 0; queues[QU_NEWBIE_PLR].high_slot = (MAXPLAYER - TESTERS) / 2; - queues[QU_NEWBIE_PLR].q_flags = QU_OPEN|QU_RESTRICT|QU_REPORT; + queues[QU_NEWBIE_PLR].q_flags = QU_OPEN|QU_RESTRICT; queue_setname(QU_NEWBIE_PLR, "newbie player"); queues[QU_NEWBIE_BOT].free_slots = MAXPLAYER - TESTERS; @@ -158,7 +158,7 @@ queues[QU_NEWBIE_OBS].tournmask = ALLTEAM; queues[QU_NEWBIE_OBS].low_slot = MAXPLAYER - (TESTERS / 2); queues[QU_NEWBIE_OBS].high_slot = MAXPLAYER - 1; - queues[QU_NEWBIE_OBS].q_flags = QU_OPEN|QU_RESTRICT|QU_OBSERVER|QU_REPORT; + queues[QU_NEWBIE_OBS].q_flags = QU_OPEN|QU_RESTRICT|QU_OBSERVER; queue_setname(QU_NEWBIE_OBS, "newbie observer"); queues[QU_NEWBIE_DMN].free_slots = 1; Index: Vanilla/ntserv/solicit.c diff -u Vanilla/ntserv/solicit.c:1.17 Vanilla/ntserv/solicit.c:1.18 --- Vanilla/ntserv/solicit.c:1.17 Thu Jul 6 09:50:55 2000 +++ Vanilla/ntserv/solicit.c Tue Jul 11 08:49:12 2000 @@ -216,29 +216,31 @@ /* don't remake the packet unless necessary */ if ( here == packet ) { + if (status->gameup & GU_NEWBIE) + for (j = 0; j < queues[QU_NEWBIE_PLR].high_slot; j++) + { + if (players[j].p_status == PFREE) + nfree++; + else + nplayers++; + } + else + for (j = 0; j < queues[QU_PICKUP].high_slot; j++) + { + if (players[j].p_status == PFREE) + nfree++; + else + nplayers++; + } - /* count up the number of free slots and players for pickup games */ - /* don't want to go all the way to MAX_PLAYERS. Queue starts at */ - /* queues[QU_PICKUP].high_slot players. */ -#ifdef NEWBIESERVER - for (j=0; j<queues[QU_NEWBIE_PLR].high_slot; j++) -#else - for (j=0; j<queues[QU_PICKUP].high_slot; j++) -#endif - if (players[j].p_status == PFREE) - nfree++; - else - nplayers++; - /* if the free slots are zero, translate it to a queue length */ /* and report that the game is full */ if (nfree == 0) { -#ifdef NEWBIESERVER - nfree = -queues[QU_NEWBIE_PLR].count; -#else - nfree = -queues[QU_PICKUP].count; -#endif + if (status->gameup & GU_NEWBIE) + nfree = -queues[QU_NEWBIE_PLR].count; + else + nfree = -queues[QU_PICKUP].count; gamefull++; }