From 4d217e7098ccec4bdd93bdb931970e23f32fcb54 Mon Sep 17 00:00:00 2001 From: driAn Date: Wed, 18 Oct 2006 21:09:51 +0000 Subject: [PATCH] no message git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@448 e016b1c5-ed68-44aa-a2f7-31cac88cffde --- docs/known_issues.txt | 4 +++- source/src/server.cpp | 31 ++++++++++++++----------------- source/vcpp/cube.suo | Bin 26112 -> 26112 bytes 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/docs/known_issues.txt b/docs/known_issues.txt index 6a5656ca..cab2b823 100644 --- a/docs/known_issues.txt +++ b/docs/known_issues.txt @@ -3,4 +3,6 @@ known issues: - the sourcecode is messed up (TM) - bots do not use the akimbo, grenades and ladders - demo recording is disabled -- bot waypoints are only very basic \ No newline at end of file +- bot waypoints are only very basic +- grenades act dumb +etc \ No newline at end of file diff --git a/source/src/server.cpp b/source/src/server.cpp index 2cd40645..8f4d47d1 100644 --- a/source/src/server.cpp +++ b/source/src/server.cpp @@ -287,12 +287,15 @@ void resetvotes() bool vote(char *map, int reqmode, int sender) { + if(!valid_client(sender)) return false; + if(configsets.length() && curcfgset < configsets.length() && !configsets[curcfgset].vote) { sprintf_sd(msg)("%s voted, but voting is currently disabled", clients[sender].name); sendservmsg(msg); return false; }; + strcpy_s(clients[sender].mapvote, map); clients[sender].modevote = reqmode; int yes = 0, no = 0; @@ -304,7 +307,7 @@ bool vote(char *map, int reqmode, int sender) if(yes==1 && no==0) return true; // single player sprintf_sd(msg)("%s suggests %s on map %s (set map to vote)", clients[sender].name, modestr(reqmode), map); sendservmsg(msg); - if(yes/(float)(yes+no) <= 0.5f) return false; + if(yes/(float)(yes+no) <= 0.5f && !clients[sender].ismaster) return false; sendservmsg("vote passed"); resetvotes(); return true; @@ -456,6 +459,7 @@ bool botskillvote(int skill, int sender) void botcommand(uchar *&p, char *text, int sender) { + if(!valid_client(sender)) return; int type = getint(p); switch(EBotCommands(type)) { @@ -618,17 +622,6 @@ void sendmapinfo(int c) #endif -/*void bp(bool p) -{ - if(!p) - { - printf("validation failed"); - } -} -#define CN_CHECK bp(valid_client(cn)); -#define SENDER_CHECK bp(sender>=0); -*/ - int tmp_pos[3]; void process(ENetPacket * packet, int sender) // sender may be -1 @@ -765,7 +758,7 @@ void process(ENetPacket * packet, int sender) // sender may be -1 case SV_ADDBOT: getint(p); sgetstr(); - strcpy_s(clients[cn].name, text); + //strcpy_s(clients[cn].name, text); sgetstr(); getint(p); break; @@ -886,16 +879,20 @@ void send_welcome(int n) if(!smapname[0] && configsets.length()) nextcfgset(); // EDIT:AH putint(p, smapname[0]); putint(p, serverpassword[0] ? 1 : 0); - int discn = numclients()>maxclients ? 1 : (isbanned(n) ? 2 : 0); + int numcl = numclients(); + int discn = numcl>maxclients ? 1 : (isbanned(n) ? 2 : 0); putint(p, discn); if(smapname[0] && !discn && !serverpassword[0]) { putint(p, SV_MAPCHANGE); sendstring(smapname, p); putint(p, mode); - putint(p, SV_ITEMLIST); - loopv(sents) if(sents[i].spawned) putint(p, i); - putint(p, -1); + if(!configsets.length() || numcl > 1) + { + putint(p, SV_ITEMLIST); + loopv(sents) if(sents[i].spawned) putint(p, i); + putint(p, -1); + }; }; *(ushort *)start = ENET_HOST_TO_NET_16(p-start); enet_packet_resize(packet, p-start); diff --git a/source/vcpp/cube.suo b/source/vcpp/cube.suo index f0189c9b1debee0affbf8e45aaff082ee85a5d0f..7c46c290b01c23b024622b4dc29321087a619d4a 100644 GIT binary patch delta 1686 zcmds0ZAg<*6h8OeyD!~4H#fCxskON_zott|YuM(aID1(xq&iiU>G>ZP#h3CEJ-h1vj=eh55ViPPj z!LAJmIN&wm1))GJ1b~rnHH(Ywnu5Yx=RSYnyTt8+I7IvWx#opRVp=k-gl{zPq3FP= zvAOHk4VQfJp5|$OO5&xnHTYx_t5!*#gcxWpq#-xbo)=L*HLjw0a$Jq z)kgV9Dd&`YhhUIb>bGR+Fl^7UCW@vVdE6VW%*1OAetcuvfaCeu*q5D+?;Bh{1M5BH z79c2T9A7BmSArzprXdG-H+tnMR6`xPt%RizqyTQrH0EF|kYRhGIxVEhY^?&QX70e@ zs(>G5X0q?xG%wc*R0HTW5hgb$%%bz;9i;>5oCGFz6|KSRTn z8XJcLqf!()NY2|7MA08=!4<(CJR9ADrA_Hn@qnHRybRKm9&+r?}p8w%t;&)59CaZp3EVS;qm%h%&04jZ}?Z#!L{KE zmZS>a9|fgXSu64T&wsdQMjLLhkYj-P+(T!R?Y z3*C{dgb@0L%!g2hMrVdCvR1=RLf> z1?pR%Q)A3%eF{8ebaXvXS4#ctd9mk(|4#P`-^X?{?0PU5Q*5F$t5P7sz@ z1FR;#mQumnSi&y9nzX>eTdf&<<@KUCvI{C@8QewW4I>ED$rQX#Hbj}*1lHtU=C=$k zE4=g;{8C(__u!K9l|&giL?|07*`J!r!W&DgKkX;;PRy^Ri79W_JY&G3vHP`iFt3%1 zgxYt@P0*?~^Jblr;p%YbCL(ksw}{3M#2!I__z_x51ibp&oDa+V3Vn6F+YCnaoC4*wt23H^bi;6C1;?e z)&bwE6ET6)?TcmO;UqqyT@JdMiL5r_Mq&p!OFBst78xM@xYJIC5N+fjqJwk-V{JHq z%_C7|={wg}V(mbD57y`<129tE49QNZPP;QnFOXoSUBU^+_me*2LaGaq;V9<8e kU;lp&|K1$pTmSRpr`Trv_>YcqsxZdRC7