From 23f9b1744fdbc6b2b1f9b2385674ecf5dfd01b50 Mon Sep 17 00:00:00 2001 From: JustinAJ Date: Thu, 1 Jan 2015 17:21:50 -0500 Subject: [PATCH] added parsePlayerData() lambda function; Added PARSE_PLAYER_DATA_P macro. --- Release/Plugins/RenX.Core.lib | Bin 67706 -> 67706 bytes RenX.Core/RenX_Server.cpp | 27 ++++++++++++++++++--------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/Release/Plugins/RenX.Core.lib b/Release/Plugins/RenX.Core.lib index 67d36a254e756cd7a8a80766d7f19b7026fca2d2..6ae2b94aa6da8696ed40c983c9908a0e757dc9e3 100644 GIT binary patch delta 5026 zcmZ`-dr(wm6yKYW*h5IP)yxo4v(!L~FtL!V%!trlWRxpok8#knv2q$BrAEsdbLC8K zS!(#mPzjZ!KnXV^!W0(M5MSVfG|hr)5=o_VzH{$>=Pvl~J+I&So!7V9>JDmk2f1$u z86Gn%HYP4M7GiRpo9>EFv3)3nlqvd)XJaSB2|ZSXb~#?L=J8O&;Rpd&ZtubeS2P&X zY+xsp7f#IWZ2RhjIV(ezWbw)YLgFiOLiGA@lE9f&N!k$!3QR%9>ig}2>eXz~CpGUW)+A_?zSXxX&~XljBM8zz?+32gS3yy6R|s7fuGJ)#w9f;uSRfAu3M`OmYXd-* ztqs4LsEWp@AsBbqlfB^2u3eyQZKORWW}_5uLB%dg@kYp66QGpQ$ca^dG1hO*Dfh}} zNm5>-UjptbC#=t7fj2K*3nZ_p>ojCLeKqR@eI_poV+>*pMT||?MuB^E-;Vv3uh)Ko ztgU(_Y|sKb_~H#3yj>EVuO;9vaKfT|rYjbqbVn#NQU}4bjUCjo{&&uQ@R#E>P9mmP z6$|pdoG1kBT6JPv!2~I|RedZi(8HjzvRWc><7IlqD+Snu%1z>?$E0tSj}laFvITWQ z=mmzEvN>5>5S`DSWkJp6Fa<`v&ew+rrRWxrF4wSeONTg>0DF3Hjc z?h*!9TJpC1*b^piW$jnDzT+2=m+kxb`><`V`@e&`q$lj$#)A573$$QnDZ5`*`mz2< z+F>VHJLB7Vet}7f%KaJ4eK_SlA?gwEeXZw@l-zA>TvL{*jVm}(_IAytRi~j|Q72!c z69$~*qSks}^gB>VO!}^yn*M1RJ`P9j(qLCWbdD0eLwIzTIAO;Q_E@)Lq2D7xo&P;U z{p5Q=mxM5`TtJ}e`^wp(v3!Q#6G*{=AG9FH%z9`=`>g9KG)98*(vRF$lQFl^L~YEx zM{UU=15W5u$xG)Y)JjAKwhu|SE14atdat=sx0tfd+Q~G)&iDP`DK>VED(fWldLPAJ zK7YL3EiJq=Ke4s3>j}TLnk!cW3*O(Q$J1Jo3P|W~u~LZMIlIGEz=ts4gA_2g%P2Uo zTlbMV9M*n}u9Ew)${dNRG>yVqI?2_xrK6Ub3Pel#VcIcG!8b#&PYf$9GHXMp`D`1S zuXO^NJ_6~!2)N|CQ-|~wF^;J>fQQY>k=-|0~8C(9|4DH^}(LT*lVDVF_7K`2sEPfR)YGUFk)))$N zpAUl4Uu0g`B337a*NRS%)8VPr)1hiSU_Ubvzu%>yTHIFe7u*sHW#?HtsZO&1R$`TP zIx)2_MjhZ;op4}|_HCk3C3*}Knv7Fa|H1<>>ZtwbNOJQIYH~fJgAHak_0TNsmWub= zAx77BNC1%o`OaZEkk|+N%nN$U5z)*vAel$mRq>IjB8J)esr5ozJ|s@o%R%9Ks6=na zM5kh+u7rUwWrHZ%Y$bm052JC6e&Bwn=H{!U&pA;5W3)P+!m7}26 z+sbuHyshK}*Pjv-EIU2pH`(b}3+wd}dOBHCK^AYEW{wu078ZeRnu*ox+UEgiIBjoJ zuqs%0MpTfx(VE4Ve;2c8t`gN0w_#JfiEh1jM#4>J#qK2~eA_9dL8vqbm5xmB4NIgF zkzlp&nX|GX#Uy0@(VkD`mfr7gq1&wFD2Qnah&}yJjy(*O-bSTm5BEoYR>OCkS41T>8dfv`)0WwUDPoUgqgF1OEIa$_%wm1VN3vLjZPsmd+w-=R;H9d*KT z1ioU#z3qVqw#*80cXVm{mZ7_dFMJi(g&sd+#hYMP+vA!r6P=1n=yEZxZ&shnChZ5f zQYm%-kUZjnRf;3f<0@3V?v=qfie2pkCRVDa%`n7H#T-2guQ1q0GWuA9KC)jK-4Pq= ztauVT8JcqX#mS!!cQVH4T&d5@e-=DX1R46T1t3z*OYW%-GW4+f9}%AE!G?ZC5V!cd zQ{_lMvDPELNjIc;%7P7hlBnp}aHXN{hR1uQA>KFmc2f33&_18+UyJa3+Sw3&7L$9u a=RjwpJ2jf8xw9cgl|=W2n4+{0BjSHw3tj>M delta 5026 zcmZ`-dr(wm6yKYWm?b3YYNkl2S!SS>h*(HgYD8!+D$wP{Pf~Fonf5#209irkPNUBB^xFckbQq+y(!==k+_k^ZIsM+(9kwAomR+ zLx;x=i;Eo=2Qj(MjdAfQwhx7nGF5-^Z0KM(q5F!^PTt(vkA)fzM+mrbdl!ydQEy1I zfgMm@_*8C3+gB&dT^Xt*OI8jL5?_%MqSu9!1WtdRq#co!xehPD+Snu%1z?NN2PC-j}laDv;}oS z=tYK^vME_x5S^3Gu%LR=7%i~;k1w?O=b+Vv0y}D6ON~k65a|eZz{_`r!-hM1z?@A1 zEV>KW{P5S>oU4OXkauJz>fg)_!Hn+kOFg*|v|r58e8@|2w!#dcw}FEU4SMPzz?3vis$wOZ7+6 z4m-};8Q(4N3rtc}?$2QE!zlNOQ4fRf8$Exdat92yn`cUZ_{jAbsFLob@DYh zVZaG4YK`{=zXO%T301-*ZfW72{+X?fU61>%)m*viS@7O2J)YKzR6s&^ix>D}PN^>MC(=-Ze=_FU#mX2C#DiAH{hiJz%2Hy<9J~6Dc$gB;W=Cf^R zzSaq7`Y@#XBH*%bxDM$nVjR<|_1>_OR!vGFCpdy~o*e|;_lSVB`72H`V;Or=wMWVE z`8|ST2{HQ@4bd!}qPX=J(ZTcfGPeA^8QQ&{qkWpAz~ZM;Ef&8USo}&})WpP-tT6=U zJr@L}zskI@MXXK;uMwRfr^8dDr$g0vzTe!ojYwYaU?FSsQZ$}X^WQmtkIti&p6 zbz*8=j5@%xI`P0utb)Z}_b2OG?8>Y-WMEfw#N zLyWHVkN_eF^6kTNAh8ejnHThyBchpUKr)ZAtKuWmL=3a_Q|pAbd`O(AlY_$bP>J4w ziB7{rT?qqW>UvSMDgSXU7wV_#I1<2;qc#Bg(Gq=3#yZAsN{`u&S5J8QH!i`9-?FuT zd0_?|*B3_ZQR_a|9T!|t?X8z*c7tq+1`d3wAz)8iZkGNo-H787e?nMTEmU(tRE~mL zZ!6bH@wSo^Tz67TukK?(_GHSxeLYzkPs`146!5c>J_4lTd>4mQ9Uy^)s>H+mIqUq*{wUwY?&ZjA)$3Goab0n`ba5_Y|E!Ljf?&Z zm_|v!GRVIe0gWR=AndYW*{qs6=W8yC%k49l+}KNEWtpt1?1iIwVUH4L#+F-Om$s|@y$j6PPQkL=l_+haqW z6;EOZLsL$_IQjG84#pUrEA^TA&w}UiAVdGP07R;J$vss;h8}kRBf>L1*wC*C;ue2* zsvPMj);h#D`GyovS+HSG5*0n`uQt@(@OZB_#QO%{PRjl^w9hB|S0g;1bTmYt#pL$z a9O!6tqek;Ibu`4NlIXq=QO&5y* diff --git a/RenX.Core/RenX_Server.cpp b/RenX.Core/RenX_Server.cpp index a0f1881..d13d770 100644 --- a/RenX.Core/RenX_Server.cpp +++ b/RenX.Core/RenX_Server.cpp @@ -572,18 +572,14 @@ void RenX::Server::sendLogChan(const Jupiter::ReadableString &msg) const } } -#define PARSE_PLAYER_DATA() \ +#define PARSE_PLAYER_DATA_P(playerData) \ Jupiter::ReferenceString name; \ TeamType team; \ int id; \ - bool isBot = false; { \ - Jupiter::ReferenceString idToken; \ - name = playerData.gotoToken(2, ','); \ - idToken = playerData.getToken(1, ','); \ - if (playerData[0] == ',') team = Other; \ - else team = RenX::getTeam(playerData[0]); \ - if (idToken[0] == 'b') { idToken.shiftRight(1); isBot = true; } \ - id = idToken.asInt(10); } + bool isBot; \ + parsePlayerData(playerData, name, team, id, isBot); + +#define PARSE_PLAYER_DATA() PARSE_PLAYER_DATA_P(playerData) void RenX::Server::processLine(const Jupiter::ReadableString &line) { @@ -667,6 +663,19 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) this->silenceJoins = false; } }; + auto parsePlayerData = [&](const Jupiter::ReadableString &data, Jupiter::ReferenceString &name, TeamType &team, int &id, bool &isBot) + { + Jupiter::ReferenceString idToken = playerData.getToken(1, ','); + name = Jupiter::ReferenceString::gotoToken(data, 2, ','); + if (idToken.get(0) == 'b') + { + idToken.shiftRight(1); + isBot = true; + } + else + isBot = false; + id = idToken.asInt(10); + }; auto getPlayerOrAdd = [&](RenX::Server *server, const Jupiter::ReadableString &name, int id, RenX::TeamType team, bool isBot, uint64_t steamid, const Jupiter::ReadableString &ip) { RenX::PlayerInfo *r = server->getPlayer(id);