From e9260f3d822c334e0fd86e8e371c2ec06d0b9baa Mon Sep 17 00:00:00 2001 From: JustinAJ Date: Thu, 5 Feb 2015 18:58:21 -0500 Subject: [PATCH] Added team-change command response parsing. --- Release/Plugins/RenX.Core.lib | Bin 78228 -> 78228 bytes RenX.Core/RenX_Server.cpp | 23 +++++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/Release/Plugins/RenX.Core.lib b/Release/Plugins/RenX.Core.lib index f1ac644870e1d200514bc953cc0d0afbe9a7252c..e82fada0a5acb13b0a70750d18853a0cb546d860 100644 GIT binary patch delta 5410 zcmai2dr;NK6=so#gf|zs7ZJIDKtWzt#WqC?CTSXcK{6R94OAd$tZ^KLrnaTEUYki` zCXIrwcAIuO#{OeXbq4EnI*t;!(Ev&#*fc6ZUe&~)RW52YCPaJoy$epuf1Evg&Ue1^ z+TY!EF=*GtpyuSzd7ilo9-dc>+pCifm29q-{~vCz_NjlczsrgD9EqMrJRcrDbR;lP zYQZgMeDPd2|Eqmy843&lou`lDl-5)nbnLRJh{IaBh2+*Oqz;-pawF)Kq5%3A6o6x= zC*k49F#PtrX-X-klPl$d3gSvLag0wZGJf&+r^ub+40NZ)MpT%io10K94GlMyll6k#YBxc+oBgv2-y z_gwSdGAYC+@}c)Ma*&haaKuCU{_!W&1)7VtsWJW#&Rl5^iFCpDg;b|;SP=B({F`ING;REM9*o&rY7sK5dko?lp`MANCfH!Q91{+bhrYqjk&+O%P_IFn*x#TJT zADSmAJ7~ycapr%Zi_^rO3fKo%r{S6ptlGk6-1APWxJk3Dxg)1n7+{>_XuPPclAg!Z z0eEM1^-YL01267P#63OVGESXX##Yj+W0RQMdNpQ>2XtA}%m-^(0l@*-_ZpOQyM38~VffUl<2Y+<2WE zD(`#4l8^T}7)`$dbn}6xn6>rT`?1kz0HW<st8;=?81K?ieu4k1Y`>#lG>a#kXXAdYlr#WZNuA@pZ4lRay{p+ zG`#vxIOIQmqLXexUiztq>>hIwceE&z%b(UO>(;?6Q9d|@&P=%@cb)0$nq<@6b$NZLdavU>Ri*{4_xK?zN@;5W#f7OqZ^Ov zMqJ~%Y1cG?U|YAy$TiIt&7*9Qrt4FUFCWv!CEH_T`hLA%WWcXpLOaK~D1UsVimhdW z56yYN%u2lYMglH<+d;OaA>DB1bS}A}rZYUB67f4Xcm?`ytX3w?ZB%vhStWN*aQCA( z6(X4YT-JEYp1yJmqR+KI*d(mlw|>6Fw8`416yUFd_VHHC#ih43b}>`g@XQ098aD18 znT3zt*5l3$F!qjeNc=Mpf4MD$n{{*toCztwr|+nnKq#~PZ8(39o;Um{j|?XxrGO>o zgI{ROR?6qx)hUB=$0zRcO05KwFJRBzGMxHlmI_zV^`)kZwpGC#F$vIDYn8I)XU|uL zACZXV6FL!42aMc-3B4Mv_N)6^w;#>$*w=i<1mCMw9?cE*);+z!sQmstKC<&6u=S8B zPoo6buW?4}aik;FrD zOsYbWt`gJR-B80DrS8Ym1wmV)|m zq9r*|NIi4e4B(if&@(Ddv))K?v@SUHWF>vkXoaQ!X0C|7Dn{$WBTerF2jtIHWwmsAa2{`Vt<%c3q-IL%%0UccN&$kwgO#B!?xNerf*>h(IrAknK*R zl}v@VKq2~>NeaLevp_f9??It;WfqA@oHStQD%jD*CL6izLTXQH_8O85yp*T@B!PE4 z$><)d;k+|+!|94jN!AsmrTZsK*$AN4WpiPou9K?BQY3#m&% zo790UkJwqdJXj&B25p*UG$;)+IaLJdNkwYj+n+T1fKyL}{YfM1h!MXSV)!#tN+b1d zR4nm`X9?+ZPvVQt|M3w!FiBc`#SXU%>FYNp2FJZoFK;z1&lzE?omx z!K(Rj5Uw}9nt*FxEwbLil-(^Ef?bkV+=qM60t?tGk2u-rL8<=*=&1h* delta 5410 zcmai2dr;NK6=so#5}`;Rrz8I05EI7;9~11ODP+o%M2RTG0&xv0^Y5bfFbE;ud!arW#v-}%mK ze|N|EfF0)pniGQOK2SJsUg3kdy(<1d@y06o|H1Yuulfi3x?FhIp@?aRE}cAh;E=z+ z)Ph^Cn4-BJ{#SF~66Eg(I!_+PiLFUE;K)T&5r?#L3kj|1NF6kHWQEcz`F`{-zz;`F zkH^DdA^6=7la*3rCs)b>6~vWh;z+MnXzp;~?qg005U*={R9*CSWii=kTd9)ew{zJ~ z+n-c2K;e)m0{sH;AD;E#Fz;;hT%io202-51CL?49D8gVcaP`?l+}|0F>pGp%2#Ite z?z#G-B~pk@1&?gT=4A%-#$k&Ed%G)?T=JCj zcg>TO?KfnyICDPH#c5(s0_=k;lX3MYR&8N3?)y)wxJk3DxkD$H8DL!GaEz#};+{v; z0eEM1^?ism6))_K!#zC@7^f~QV=L~}u}REry&5yc1G=nf3c*^sU!WiM{?Lh^Z+7C< zy_$HM^uM0sgms^qublY?d2);Y@hd4~!LSON3l=khi90LP@Qt(D7_G9#o7~vX|7rBh zpnLm3Gy_uwSLe_U-Zp0$Za=5*dd9fJrhl!K4zZLKd}_+vWH<$JYfpf+Tx!j;{SoXr zt*!Y6-MHp-G^^$Hr#C8#zCjm`I>QlWoO#KT9~bhWGp`zQH(7xYH}v+|-x>!l+;Ei} zD(idAl8^T}8BMJd57(Z{#*u4tu>Uzdc0h~tg@~%EJokzLiL%eAh#mNiDaQMR+&i$rl2;9K{rW*u zU$py>st8;&?8YAqMYCwv1G4!LNloS|NUYtKHN*Vwmf@|+PkU7yxf+UM7_jn@RqB9- z`{@X$_VUP|Ecvc~a~jrwvr;@hk^`hg;;^FGRxQcmtv_!=4Z6U?O1SX4vPwhf5c2*D z8eZM!9P&G#>!e$d7k{B4d&bFQMDOUJZv$@bWozF+4P8Str>(DrdI${Am-Vr!Y; zL-T%MW;tGXEf$x&>m*x}k#0D1Iu~D4(;1#marnJ!yaK(~Rw|R`Hmbb-w32%!xckxT z3K2|xE^D}9PhYtO(O23ZY!X)Oo4;CQ+GOoh0`ONr`!tr%#U(d2b}>`g@XQ9CYBug3 znuU+t)Z@+!FzS|aNPII8f4R+vo3(TYoC?atCvT~nKq#~P12}(%p4b05n+zu)rGO>o z{a$H#8-O058s&*6gGr8w!EbQP|m>l;lMZL8clViKTlS1V=9&#rF` zKOzxJCv+m94j8!u6M8jT?N|GqZaA(-q@rh2CYz$&}_-q zH#rr9^z&OR98wl*)Uwq}eX;joyEaavq2H6FJ5IFTNSuKPlEacszqH=~BG8MeWUI?) zB~#%|P>6VHk^(TrEYMB&7AUkXPbZ;qlLic31>3sVWFr^dNbO0@UVXfQm-5sfFYu1X z8{K0yT;mMgaJr%r6Ldvs>E6jwHbUqI+ReT~T5|0TLmm0jMU!}EqBSa2(7^K9LTVGy z26Z6IBWji|4_1h(L7Qe74N8MdND@I7Bq25L?N6FLz-d9b{YfM1h!MXKV)zSFN+xw4 zR3!0;X9?-^OyZk8+4A7ldt}IilJM|&hP=amc`#SX`(XIPcn@);7%vxaFZUFwP0_$r zuxftnhwDu*$Kslo^R2fqWp`7mV3(w#pD6&cJ=t)`o2^f5R$9RD$is=a<>Be%#%!Zr zt-O_`8F`~8YV3`s>9NHuGg9a$ zY0Uh;9vdD~XBq8J=boB~yR(dmNW-V^8J3%+5a?l`u>RH3DbIDu6H{CQibp8d zi%P5n!WTMuK3f!TW41A`tdm>j34N}J-{Z)-9Q3G_bGp@8&PQ`}Q?r6nuZhjM#%lto z72l5}FAtfYDsIw|Cssm#p7EHW?#1r_q$z*WKD?1H+&c=;JPX*00&%jw044nwcE7Le diff --git a/RenX.Core/RenX_Server.cpp b/RenX.Core/RenX_Server.cpp index 3748a14..95368f6 100644 --- a/RenX.Core/RenX_Server.cpp +++ b/RenX.Core/RenX_Server.cpp @@ -1145,6 +1145,29 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) break; case 6: // Command 2 on Timer: Time interval break; + case 7: // Team change: Normal Player Data | Options (00) + header.shiftRight(1); + { + PARSE_PLAYER_DATA_P(header); + PlayerInfo *player = getPlayerOrAdd(this, name, id, team, isBot, 0U, Jupiter::ReferenceString::empty); + unsigned char options = 0; + if (playerData.isEmpty() == false) + options = playerData.get(0); + if (options & 0x02) + player->credits = 0.0f; + if (options & 0x04) + player->score = 0.0f; + // 0x08 unused. + if (options & 0x10) + player->deaths = 0; + if (options & 0x20) + player->kills = 0; + + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnTeamChange(this, player); + } + header.shiftLeft(1); + break; default: break; }