From 0fe2cfa99f523f76bab2ab9fb0ba37b32ddbcc26 Mon Sep 17 00:00:00 2001 From: Fisual Date: Sun, 12 Dec 2021 16:52:07 +0700 Subject: [PATCH] updated the way vpc generating guid --- devtools/bin/vpc.exe | Bin 883200 -> 882688 bytes devtools/bin/vpc.exp | Bin 727 -> 727 bytes devtools/bin/vpc.lib | Bin 1686 -> 1686 bytes .../vpc/utils/vpc/solutiongenerator_win32.cpp | 68 +++++++----------- 4 files changed, 27 insertions(+), 41 deletions(-) diff --git a/devtools/bin/vpc.exe b/devtools/bin/vpc.exe index a6a09152f8470555e1b8eace4e39154a51071a8c..c6b09a74a7a521eb733ad72e0173a9ff672be5c4 100644 GIT binary patch delta 33732 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 KG586ye&xS7C5I^h delta 33943 zcmeFZe_YS!_dou4JbyfTK6*S-QA$chBZTyWA`~GCPZL52$rG6ni`j(QSlTi_PTTAy zV_Vy@g?NULX~aUdHZdl~_B3p5Yg?PF&;5Elo==|J`}6vIKi~g9k8W4jxz0J)Ip;dp zxz2SxepGg2cy?2GK@{(@dC;&mzs7vN-|Sa$(^e)JPc*!X_5|bMhPg^z-tac+_LF07 zmMQh&hIL9^-tdl6pJ@0P^#tRwh6>bXzhgIjQID8>u%T6{D;f?d^{|_2eOzfjJ%5e~ zIzw-A|GJFBIWB?Mb2I(7%(9UhI1MlHZ8~xHMUH!IOAmgMW35r<5sO#zx|&VBR|s8^)ZE?3^e{G%&h^8uetM=SUfe75ZE1l&pK(3kK~KYFQ;i+1is4r(jsk+2DO}_U8v)0%vqV* zHLPyV(mIQ%4ePXx4yga!sQrfF>tE5HFrY3ZZ7ahU?$kOneDQ8=tCrR8X=gY*IdzV1sKPdvv5{9A*ua&h>!63Ss)f1?G{e(% zqcmu)c}6!K&FjzTcB7AZ?GoJ{CbR1@-FPrc}(YJ?!HoYOy^i-_3%e0DJECf&a8bwXJV$MXX~aSOz2FGVnjr)?p4;T z-l$Ar)XU18RlKZDVbCU}S+Yr;!is!l3WHw36k@W30^JZ+kJzkh%fe&I>*}N(dqX#a z`PO>})?}6W`5n3TgAAt-v(D1-F%zLrt!OVn^Aqco6Rq6 z+oL-Iw;JEkjbp4u@9HWcXx4i=E%WZ&_jL==y!1Y!R+0aQx}U)8TB7r1>iT}9`<1DC zs+4ij=2B%SuKRRO%;~-d6sJFbKy|wRA=T-p&8pKq4=YZ8=dj}RX-5>NKRlv3{aS_Y z8WbHqrgKOZQ;-0Db)KS6F`w|x= zQxdq)s*O1T!D!_THykz~e{GBn(CylBFM*pdX>xX!H@7h%KwjQ%eU_&-(+R&d%Uup5 zdvf>mhmi{vYTh6nH=4^&3<3AH zs-)O}SR<2dT)>$kU?lj0THQHF1mv05-0Cg^&TU=ZbN%Xo0DgJEks1p;kPr}Uc`N*3 zYi?zx@ko^olc!<^GdHan&5c<5cQx#B-W1u2D>J}N6_y7#GZzk9|4{3^&hmF_YYg-J z`afOQjJ&%W&AiM27Ys2DcAGe5oR*=^8g6}+eEP*!2xO+&WNiwF!i>(GF)g&l;yR1x z^6pIkM8}zo5j`-La5lLXs%vSjQ7^>Af>u-77o)h;T}+U1?fqCSM+;VJy*lSz%v&yR zJXY4y+Pd*zHGb!h=U?Vyaw?bq+4I~e?Ztr?srItYea*$?_wThCcrnxQWj-o7Qy0}| zdDqFNt#Dm_?)^utttQ2g4>~8i+lk{5CbTZ8hycFQX-O^Iu?+ z^K%<9cBADf^l_eCc_#NZn3<8zuDKWi`mx^}0*9luPFlA$XNI>h@|oNQE8~+cAi;02 zh;=bevefC|%2Z6rWJ}zC;H1X&RfdfRt3b^C-8p9$sCiDzS9vj>>zfVB z=G|MdzS#i?@5hL_>zf52!n!@iB(87P1C#I=F>HOa4v16*K^cei?biehfWQVI?zKOW z&ERPKy61SJit%LQ7p%Ov;jh-olPuM!Oobp%vK(XJ4h7uLz$yiN58(Q$z!PkUmbcex zxX6eX0@Iv*W6^va%{;C(tlYGrb~GeBr|`;wBQ2{y85ptp8&hg7Bg|p)R4qwQz%kU# ztRKAQh02Gmc_Ve}oB8Lp8%N4{4yWNEhwKP0Gs0A_*l_#v5E&;szw#FbkhhIZ(fUtZHf}2guyI=je)n?r#US!@ z8#d;aGirGyM#?Rh&*WC3S-NsGcTdjCE(2~OFw~}8-<#h=QWIPywMtSrY6PGsu%xi4XF%m-H`hQsOzgdRhuKT zVCz{Z%R9(S%u@z1@S<~09>Z~Y`OL-zPI_#+p}sPnRd;RU5~f5}vSoD(o(* zHL9T_*Pr$q2xB*;Al*O-(~+kL&un9zms`1t64M%WZtBofB|x((BxXH))Y|H&&eK55 z)22>Xmy;~ty@iF7Uk2LxDxGD)J*>RpE$}IqcdUUSf8w*e^8PsaonCv8O=;c*ivY*0 z|IrVWl|SblyawdswJLJCzi0Kx!}_G)>3UC3*5gcWJ$^$VriryTA_Gw69i6|-S`5!P zwiRgHDL9hX1^G==)185vY%0YBTGQP-7g|~;oA&rWMr;Lwt{u^D@ASj5hpmrOLpesZ z{=Q*j?k1LUt1aiL;Hch>FQj*l>VsVh;pyYW_~ksjG4Cr&Al*5t58%Hb#|p$+6-8F) zy@eW(E&FL2V4rdZ7wlv^f^$v)0y{s$=}0w@@WV>lTA}aG`_l0WJq{w&QlTHn-=TW~W9%d=W(Qq5 zrcdTCQt#vXG1|3rOpS=pEN| z+oi0aJY_Gzt`vbDrm{_=(M{UMV^cD)5nop1%r9gJ9X2<&{7nky0?yL!GbTW1?V3L} zVFAB@#}4LgwDdH?^Gf0kZH-)Ma?a@rF|A8d*Pl$ljvoV#NT-8fsaJB=1WO5>Jb@`9 z`s##!B!7ZBRqCU(Z<|$f!*T+`;CEx*7nTOh0}O)=!N6Ef7Cpprbk6Z((}E)qDpM2O zWwe~3cPlZiZRxX0eIj2+ekb+4<~aYecO#lPm6;u_J&i_FGy1XtSlnMwGT%t$#4*XT zVFlZy;g8IsNtOXhLwBzuJFO^&J?VFyN>A$j`1^F}q`rriKlG6J0s3~{lTEroh@#AF zEXqv*N!XRJEvj4l9_sap-iPl@@t^2N^DmjVe}d`sJeSM-E$8(|9BY5wxV$m%!p7zI zEfdJGN+0QY_~7GcUw_(#h5B+C(Ws$mRr(0+{DTka(m0I|9jMX|_I>V4g_kWdFy_Bf z#a5eeZBab8am;bgP-dA#k!WkyK7`lNluxXJO^tyB)wt{hvl6jN6JsA zUPU(sx5x9YjV)3EMYJGeDJGxx0_eJ#wnA&`lpe)r>>QRb* z?qYCr9giIZ=asx)ObwViqa}$Zp4I!x$#$%avE87jt(+!{!sj^gVQVX#t z&-4@Bb%T)*MzdHCWDxgYG-t`Cw?0F}jgIHH7(M;92VUgK)l=s&{1fmYkg^B)wI73x zwxfx4KEgU5W}Pk1Ca^%)VHxl>Ph?u6GnL(Ba_jQO36?G9(KY%Ge6K0@)aQae z&TH=fpkIUkKu@5}7xbN{X2D*g<-iPUd(y31#Ng*N@REKApG41H(g*ma40)`v?O~?T4NDIv-@J>?t`3%+bo`P&kZ(`l zU&7u|Nv@yk)A=Fv!smL=Y1?PuaJ}t5i&-Z-=d*_8Kd%6v%RuXJ_fA#j6&cA( z#T!kg=*L=bn3-1DUTZr2{5iCKOI}| z-Y7TAd=;k)shn}Dl%H|ReCi8*B(L#{G5=ksAEMPb|7spmub-NyQ8uAj`+pUd$;ucG=^bx1C2vnj5OWX2Rva&hMoH6|qnVV#)p;y1fuuUZ2)<<;AL8p749`Swy zZoFW5S%E&=jL9nHM0UzX4ec#rQLPPekKKRYy^cbL!pHj)plZx9dZYm-_KLUI#bT8v(jlq@= zzQch|y+Kp(`T1Fl#Wj~z*vQv@r|-(orQ+}Oo%l5KneX(Wye2r7TE5r+%s11I7Hp4| zth-~(KS)w-OhF@Q^8@`UP$&MVZ{Us8?d*QMV0r%+40<(v z{foZYxn5ye|B}kmLbra!8Z9EJNk3NO7e~{YVBBiTYSQ<1366{B4hP|vbL_eCrm#3V z)TIAjezlGnyWAPE=4O8XH@%+cH<>^FT`%*_N#LDqd2>Bvk2IL7=-eOr_v9T=c;q(H zv}MU6@@>?6(AH*5MHbaJ>t{f7|3CHf_|@i}f9l8THG!k(r@!?bJ4B3PnYY9jneU+Y zJtU=E3w&gX8%14O_5SUW6!KC(mZBKJXv#8AZq-lYie#MPFcB*a1g-%@<;s`^i zyU$4vyWPjicd%7(;Nf!zjWC#RF^|v)NHU(IX`faInVL8{o;x#wJ>udldk5oAGzW-D zmf6p$4lGn!iD;Qh6>t;-OO#A8n1PiFHk5(&3K$4*eO0u{VjiRu=JFaj-n>UIOy_;o z-Ta^j7T&hZpIIVa@)O%GOd22PzD|A)LT{w5aSnnHUqFi-gua@#&7 z$l$~1Pf_W$$`KrMkNu<98AqYFW3JuF3b9Osn6O-%Y4yS%jJ>7*-Xf1aa21%p$+vL`pkGTs&!M5E4 zTsNqbhcFCWvps}Rd0wfFD|!s=@(><@u+tN4(R9pHVdFapp;GlnHnt7sAsqxQ?{sYp zn=-dqhzo8kjq?(W`~!25myn?GHiira*G+ zI4bnV^rTajzc5Z(`QDQucj_!$;yVW!*;D2h^Z}?h<~CuQOWPF;IBjEYGa5x9Msf`h zj>?sLY&|24=K26(4KIc7wxO!cv%3nzdFjqB8z#%VzZ*s(n~H3hh^HyIyRd{`NN;x+ z%A|ffZG?K7)k6r!A%uDe7Rl*9HoS>m?kQ|?x<7#pCVCtO?Nd0{9~R}^N8Mp3orG1 z!=^CHJgbkO=cTT%+c3rECBec|y!1QSF!i*nuTaK6OOrwb{|>_oSw_$yY&YcgWXq;% z1QJCxJNAZPxm}^A5Fs7!KxTysEpnf2HX(+IG(SvO$NLi=-Y=H=ZnY6oDJ@)>g&D67 z7s4>(kHQ6SXZ3_L2rog^6HZ`1A;G`;H6KLH!12mGx`RK zjudA1dgE2ajxvR?H%7IiR%z`-%hafVTN&swi7rM8Kk)77$N-_UT>6S_)ZUZGGC)Y{ zs2XC325;0PHm*lQRJDlf`2&SO*`#1U1=h5c-Wn)O?KM1KQD3DHk{CMAlCgc>;@&t|D% zqB(Q0fOkTpsA`B1=n?(0DkML@j-{^gk;?2JA#JoUU-sK*>!zD*&WaW$@bbx*Y^b2g zbU8+7l@7gV!=#vR4i$8~^j@wFvy~c$2`^aPV(ItTE!P2Bm;1(8p|@N;nK^4GV`!pN zvBEE!gh6B;E;I~%XPug~k{CmInChNbrS$VIu=gbY+AP60sUx zjFt~Cvu#?2^ELy*9hI`7hBLmcip(AiRHx3DfyFdzB(h)zWsJlE&!%@rDhcf3NF{;& zG7<@_Qt8+~)HWh>pE&Hl*!Q=M5`G+d_ys%rYl7|VKaQ5w{sRnD?Js7aYX4gdyhfjn zMik#!tIYW~UYMVYIMnsBOz5plRSog+uy7~!ju%EF;jWAqmbAN-t#E(c!OHD#sijBp zf*=1ebxIH-!IqRD48bZbOb|XsLXI0F1UaeBxYY|v4O3|C7~vdC=VQhy>AZ5RlFp6e zgvr+B_Hj=zs;=6@z+yT+PD%2PM#V>=M#V>yjKUC&_Y@+d&|Qw6f_s3GK{)1e)2PNM z^x`w=FQd>~gZ0s4Jd$}|Y8j91?EytUEqu17?+QET#Rl3tuOC`g=k;Wu>O4ONs?Kv~ z;5B7#909UbwRIW`qLyyTOs%hqwQ}AA!c?Wu8W?DRk&`T6cH`QxUN|T~i^a8Sf*+HnddQuD#WW^S=%xuwrWJ|8BpkNR zCt_bqr9TseuKZr|n<(_d!DjMA!B-QVOj#3!MCO+Z6NR~Q;%sJ9m!}{lhlWfNR`W}! zVv_Je2hCEp*3=z?v9t|P$67)YCJQq?US47&S1S_U=mH4=bLcFHq8o_Fq7iebZ;~+2 zuqQ)lCQ(t65N{Z-wleA0Bq7+)L2YfKo>PQi|C@^y&f+;tW0Sw)PwSY!L(5c6tEULb zhE$cUo*JeIJ!RD=@r>R~9#e&fQjceB#-)O{xqQ*mfOK;LYll} zku9ABq*AwJA<`uwl_~zcld2d#%19QX>T^KH!7b>FS=F%(Eg|1Jj3~%EEZOWL-j3EYQ zE8r%8>OOa6I@ZofN|+&3bqHEu8|+qvE6UquPWPFZsIvJsa;ZYD>Iiw5sGT!~jk4Qg zqDvZur3n6=RsB3;s#eVY-3y?Ky~n_2dNxIPD4&~W6C0LBFU%5lNj{G;snlb(5Dlj< zoGtW)v)`I61p3H|KQ`k_BZTt3QLP6f*xs_F{X=BSB)TM?G@qIK zE{J%TRAItOG^&IQYBC9dE?X7)0M=PKJ)48(3lY3W{R~BPu|mD)@>uk93m|%zN>oLc zfe6tbEf7Kt(^NtR-CZE`wu&CYIxC{7+d^T7$I9t;MsLDbW^77f^wousJX9sBk|%-) z$xi7ox;0tpl|jSP9~*tQ&11>Wrwc}>2F2Koz?$R*bTwT_YVW9ai&(&%;KTT#EQR70 z3Dcz4r#VA1)FewU3>u5LHQ&Wt*fni-kqf$tgBTHT2?Q zVSvYKARbG4ReCJx@?zm&`_d#kNvH7DiE7i^8Ny6yAZTh}t|objFxcal$##%!B)2Tjl>;@u}AH9%-eRcqH} z(AxhoUDf)BgQ9ieGMm7LN$-KY|8}?7j-x<=pPHVEEk4!DOOz52Ut^`0tNuIB@q{> zu&k%iD+IrQ&!1)**xt#dGjHC~SuIdn$_E+A^vVh$y6tg=lihNpCNjge7!?K;4>R#)Fl-7tl;ne>v$y~DixaW4}Hz-=~6N+cvc9P9)L}a zgH-z9Ss@@uRkVSzsEVEk_zy+t453EXU(X6J1spZn2IqoTWVn~sfX*gWQGE<8D0?SM zm?~XYIN3y`lH)IJ_LdeqzXVS zG=7WVrEyzKi?#?IeEb$OA@v~eXL7Hh3Q#y300k{J@7^N3q0z)HHV@g3M|hG6%of*Q z@sO^7#*?rEFSC9mY?&40SBNJic-3Ag^ljgS$KiN*IqjtKBoOa2<}c73sio{fp?mu} zNC3_IF|Ee}ha>fLqEHCt8>q2R!0cquvDbxr8bgNpgEuf*O>hRCepC1!wfW;6!d8tY z0_k(75Qf_P+)lyKK@*ihFTE?Yz?(Vm2?KeoippXkiLa&(?+e{KR%FI=))#?z9f;4W zejje&C*}QoMyN1Pe;?;hgAp8OhIwY0kA5JW;Q2=Lb0xxM)HLBEp$DoLJ`y(a4Q9i~ zcz(%Om`9f4(SkD*dm7&^<&OiHb;&w5dQN_(x zaouzB88S&lj#ZGE&mT!q+k@5iq6PXRtLXy=he3P}SsWZ@8q4;t)#ir& z7#?picZzgasMF|1nezrYn6!MHxhdLVu?BBg%yWl1Omg9)%@q?I-qP?X=Bbk$@GWz; z`QTIs35nKxa+<^848GF*T#Z9lR}DAXy!*O?vc^1bI7Icu&FDlI!$O#O(!~J5rRE-P z245bd8|`k;>5&`8c^T3iH7@aHbAaKl9*nzs7#xtL;>{oQG(5v&pdES{%3SyY^Myf% z{W?fkJJj&92nlk6Ayfki(PLQ$mjv^uafTH-O>lzwj#$~K|<8y`@ttNP^dGZ>=r1miQqiu$^%+8bB4WnedV3l?ol3}iCw;{#}W`0m= zxa+NP8E4*h-f)wd@$Bb@UT&J;aprfwGvo>A81ldn-4%kCwG+R0<&(_Qo)W*7A)$YW zxC(~Q{sCftzjDM=?&q1l&Xdpn;@soh$sc@waZZxIWawXCUV8 zq?4zRpeNxIi@cvLH}n5!JtN!(N8V|?nbmPmNT(H24do9Mz4&@_@j&sIR>wGL%n;F2 zssS|p)B-n?pOH2V5f2C62O@v?HKXOx->t1vrkJ9P3EVw*lS`Hrt!Y)zTWL|WIKeR* z=rrfH?#3)U^%48D=T<81pj-xME7P0?Nuno$lbECu<`gWMuiBBO-toT8@6s60uOJQlwe|?5Q`BY}n_@~8y zcGHfm`CEeUwmy&jOTWj8)9l^d__X*GWe*p-{5PK;9xle{Ft2&HpJ%iy((7?-bQf#Uj^^$%=W}j5qcJ+gui~F730JKINaG&I0O2;6U8B-%YGb5uj>u_ zDK$}C<=CvKZ>ta9PnJY+lm_#HAoL;QL~*=^+fTbEioGD{(nPVQ9~HpFN`16w#e#rigm5&rK2Wr+bu}g8A7%`%}a|7{;v>^lBilS>h0l+cz|A zmN*z6Q@(*F9uQugg(X}{KC_i!OrI?d(|F#Xw`U_$Bv9RK%u*I<=76||hO(-b*0HLE zKA9u-(F8WouX7+SkwQ}8jve$&s>1V8su->bxJh?XK{QgpT&#v1nmJbt$56M;#n5h3 z&0Mj+#^o02)5PAIs9O|{8t1#zG#I^=wx)@pn4ao1jO0H3mZpr$eV$T<&l7_*p5M}( zdFT;Kugyb`4EkiAm;wvBm>|7@rkcc|8n@f@ACou&qrGDiN5g{P`IwMu%9<~B*XZuh z?)hSzCio6Lm@md+Dnb@uo(d^_0p_WS_Ad~ZAXfz}L>CjKvuY2OEyNJ&>4$}gY598! zPgg=>K{`B~NpGiPvWn=-bTJsORfRXwD)SYoyoEgxfz^B(B1#b--Y&Jz$qFh0$4bY^gW~(IYJr#{xNZnV6ypdq5S-kbO-g zW{MNw@9CM)Sx>KJVp4QJ(r1}sj3(koYO@^EkWNEcRY)tA!}uzCcR5ry(yistH3nTHLL1X`**mi^=GyeO}Cl7jvE$XJ`U{qubAmnfT^s$_t_sj;=Isjrazb zG}%}+E`QMIY;nFO>JK`YEsleH{aQp#6@{$Dv^3I!wFvxxX8Ld~A_EV)88(N!)}bn= zr`KU*x9P=oqDkZOCpE4^z@}55^;qMDv~4}aHPM~*Fa_x~2cc9>dvnAh4fl}7<-&gj zv?CW2P(u%L#VCzS3-x>vGZ;(Hzlez1K%cybuqz{{m&BPE@1mDrK!SPCOJcAV1OD=5 z%uXfw6Wn+m2x+(cJBb z%&oM2J9sMT^mb&h`xHso4Wg-#;Iq|aA#oUAZVoCGleHN7#y7=9NHc%DDfZCloT$qV z#B#6`P22(T$+T^UI0|FBu>)P}sLxyCWQ|K3+VGZ`25Wyp6J1CCM|>56F8>FKx{%y= zVutHz=uUBrhI66KI}zHk)UXr7-9WvH(4&TOi;zk^@r_ZDI2%O2UC8u>v|$%)Z=%Dy z5EOoG>91XILIO>ETinPOns2-<4%TS6c4psq#HX}C3@;WVc#Qak_r*O}bX`6Wry!!9 z|3JK_3GP4(KExC?(-$9#vo%p()V~CN&8GAc461}mN?>q3MeP+AVs#YnMQ*8}TYIq- z8!7lBOlp`n&HG4v7Q`DLVc-_(^RZZ=3G|@{A0zrKG@(?Spb6?k#ij5=208B&*C6s= z-3Q(zy0K3z#AveigJz-|`^9twe8K^E&d;CTIUp{>UvPIQ6JOO}g5E!bwNpr)%u1*~ zZ5F3!TmsB{%{apWeW4ulW-|9WEIKge@T1~jx}3CTD(S7P90Z`jd$II686?>0vcJV#HD! z^a=cWn^t^+{l=vi9sL9|mPqYRAp{HP=~D>t8hY=Pcu3>Yn`TytTVYXCl{iV`*M|~5 zMFgbN%b$vQ2;%mq#hw~NFbz8`hG@cq>DklRYEo$bX>mo$rr-qbZhYz^+ut8r{|vDP zA4K4z>%01dKk$8w0y;j#cY!MSQ~Vz)e?dVWZV>W^%6TudKfDU9wwT5~YRwzn0%!)H z@&?*)Mx3kh?n^(N!K|8SP&HON-j7wo8y2dlMoxDN!Poo9XVH{+7C9i3%FZge{q9-u zeFVprb4ZdVv;SvEa%g6s$F^Hw-hW=q6)+VMb!cYOf;urCZaq|obkRtE*CDFI22#H- zp(TYDe2H+_N=Lp#O0K2fzZ74<-n{%PM01?E^((PE4`+9;M~rWvoO9JmoT& zq$`-0SQ>f-KF^@FSH$he#hzEOGX@W#VON1orgc}vdvN_TUyHfW)%3Nv8ws%R8iF@C zhAv(MPb#&!j=>jF@^ws09ldc~d|G1|NNc&rB@WlPjG(i(ATE~pZ{hGP>i4bKv(ugt2#B_Ek6NG1 z?dbcM&Uqo2&ONl|Tilk!(GFA^@6mMRTd`xO`=ZMR`t@7*%X_rB z(`~Vz_+OrQ&VPW6gNKCXH-E&sUh`d&%zcG&8s#q(b`40Bxu;RmP_j|pK=}ye5Xw1} zYbd{<{EZ?{lsPYy9w-A)j3{X+nJ76Z+fnwQe1dWn_K@MB?BcDC22bTbf*cxSd=J~AQTrE&@=%`QL0fqf#XnqNtU@=D8?x;79|U16G|~k z70OpAjVO3Q%>|$YqeP<^QD&noMR@_`6_o#=>_@3tgI~8%T2LIPVe}}yQ4&y+QC>jV zj#7eh9OZMATPRH^9E@p;(ix>6N&-p}N-9bQ$~u(SQ1+ngN2x(!S9=)AuCbWzko$1c ze*nCKl8%ysvKl2CB?QF}#Ra7WeC!IFV($G5PIaRT55#lZ0!MO&@_5eWt7wix*#J1( z3eTRE>NhJrees-Gne!Jv!*La$m0ni)8qhZ)bfnTJsEm3v;UUv%8r~#6M3RsBP3(r` zG5GK`S zkShEaI3Cr69ind*IJWOldJrQX6wMv(Kk^@?j+_=cdT9I(nY%7@^x{QNb39kMA(|^T zk4ks^NvFMSj;A3@9N!`15=g$i#L*4e_0J`aM;){ohZT~)Ch#y_UFpcq?M|y4yJ)Q}+YWV!=9HrMdy9JRbA;;4DRYR6SN*NBRE zt|2pqD?S>}`7Mv(vdo`mJASX{v&?&6bnJLPM+|2{9lT~J7j(kBYQJN@ zc4ET`m5^yZ{Hfy_SB+e09&p)lsNf&{3C#F?80TWGS68X+I&0lPZ(VmBHznt!ims}( z*4B3EDYYGKt>ditAZt4jbtS}Gtm3v>`xio8Fz~C*!@qHS=!G{+F@HKf)M(sJn+LZz zex%a`o<8`abip0}2jf_K>06hupfmAYLFsUA!s4{dXJ;*)n>=RzoTZDGp_M#o{<7t> z(kEmtPo2Lw`Ki?2!O6y@ixchaf8R}dpcArSOk<__YLN6%uyZjQMIB!{xIKakI7?5@kv_o2|7eah$3F}5ihyo9i@&M(SKu2Dj^N5^ZK^Z`d-lmx zshh@7WBwsk`ijQ}dNNHicQBlPvfvZ#VEmtsdD5H#lWqU52yc72IF!sUBrfw5K8V0& zqp|$shEf4q#lL9y2!pG`f&C4 zG-SJ2cBw$Sik{ys`S!LaF_zMc30#vMJ2O;QhCF~0QBLP}OPxaO>8wvJ`b2|nyI>z@ zL_6h4Kd(Jfr*L~7#@mQ~1$O#ZY|SWc2kDhPQv3E6z_yEZ zt47;+iJk!sXTVE)q>kai$X>RK4LTZaH!Cg`b+#Ry@hMY6{_jW~aU>puDl+vDLI}mi zX{&8gS>19efn$8Oi%Ho*o8OVz`7}X+&aS&Xi-k@?gF9ofze*r2k$y&Rp$eo8m*_tS zC68n~E;f?lf3*vsqyZ%ed6-?cT4~@Hvnj{UMuzwNJb^0&u7#d|SMtU2>#cXCjv~Ws z0)?X`d!%+$^q%D66peNqB&RF*lVy@ykew_hI|O+qIefL3VA%7l%GOC?9J4ci54b_#EtS z>|!tzRZeHYw&uPa8zV=5k-%NEva+_~CA&83UU%e)Rg5PCT3h}lCk1kt?4W<~GJYLs zQL0Q2<=>&%3yEVLj?$|4rA{3Z{-xLeng!FSRbs`dQDIeW$)L@}k_Y*HAn9kH|3k@F48)m6M%hHJB~m-F1{5Zcr}3crGv)+P?Jv15 zfn&Yu6d|lv_hLI1)}_X-&AKL{iwU?y+P7Eo&@-@<=9fTy62MJLb2FM)DEmsJj?`Qt z$s!Y!iX&7bEh&*a`ugEqWV=`tmx0uTp7ki~iUr*dICeFnt|xw<)Xr%&R7au7YK;;+ z-C5KADgwy`xEvJ47OO;6f_o##_R1BX(B8es*{qlSC4ZT~HQ3?U%%#}b&3J1d&P4o2 zQpe#YJCki4vE(6Eg4763YZh#x zSszOseHhkuF+b}){h|Gr|sO5l?0@QhbiNk4updHMSR zZ$kNZKV=GmkEN5Pl1F#@?u_J(6R-VMeK~>4z^Qiwojf3U;2GT7QmLK309@Evff4uM z=v)GZ96DSo`Rc0yRx1=I)-3?#@!&k3N*LIC+=1J?%vtWrki!&zn8I#j_~43~piT@5~o z;I_ZgF<8$}mk^NN+ToJjVx8m_Qb#`u3%mJz6Q^}BJyO{QDyD>0) z96H~owP5vO4z|CTbC_4W6>|?wd=rQ%l?XnlrrF=75(lEv|X%MDy&RbJmJq~ zF$Lv+7yYroXVa{MQnwD-5NJfxb}=cnXcwykEU+UnmSV6oToH;*GH&G&cs{z*@!T~# zw7tY;x^xhuVJ!An3#26h*P=-9Vxa9}c9_tPLJ6*<-iM@4?ge&qW$mDyNwW?i>gxdp z5pR|}Ixx_7F)0?bD-_PXha}$)F1YKnU5xC9c9TMepmsv`6>JA*=Zq^5-D3gymt&hV;{GxdWru=_0cub+?kOWs>@Oy$!VbqQ zse~V{)6IwGcf^ATZ8KQ>38HuE$cXZ3T&6%$5||2Nmwk=++E1 z>Nyh8fOafhff12RGP?ql-#9%(8yitIr2YF~XJt_ifi2Yc2yW3f(HK<1ZAe-DwK4_z zA}C6sn};P2|9=lH5o~qV;i~g-68>q+da#RGj4#?b!#Volh~%Ybelw~rWFzo{Nl#|7 z?@`I4y}j?*jAcPmy&4MLQ~%`;+sMGCTufUNcuEyp2eJ9GU5wOdHOhvo`#OP(sQD*P z9NOt9M*8_ELM@1aR+c8kZowPPI@K}m|L$D~+I^)b-b*a1zqx7Z0$MAf? zp3eHzp--7zALj5XwCkSqdj=?Gr!4aIY~$JReB=YS1bBGKTQrGYkRu zP7L8vBYERJp8{8Y0pge%5X%_Cm$GUk8E{PH&^(0#_GL1iPv!J#H7DU@2bmyf6 zywL=Q;_LH}v*SGE=*aZ~;Og_>k5J(j2B$MP6wlHXa_R-3;7!I_$Y2A-T!b#gw(}P- zJ5dbbyZs_)84BoB`plC_-oa2k5h9F z(hb!2b4ahb1RKIsxS7Ez3hd;v^oc#27^)}UO)5QBe-5tODqIX$>+-EFuw1lJ40b0! zOlq5DPb8RBbaW`ZE}f%w~p4 zuS0;}XYfFT(X20lx?cyY5>?pqOGHqC0y}Xlo>)=AP(ATLQ|VFiC3<*L->+~xuK4fz zm(m1mgg^|$Y@xzzeFfbuwCgK`Lol7Z3{(?Cr7{>#WG+Kdp^8tw3~{(AVR*!}8y+7s zey4`4CkA-al6r_}V61T}EY}0hRN)8)7b&n)(Mq)&{w9s9VW?>s>5?lDUV4!&n0jTw z0O3oXSDrd>{$g@C=`C3{C z*T!6fxwT(Q89dg&HE9?YE-GKza}5T&QQzx;>#xD!Bo+3)4m>8{x*BYZy!txGm;io$q?lUetl>Y{EQlOxm{MJ74F(&yNb&?r#$v1GR8(q4ANzOh8)2@62$3-g$SRV+# zf!2i*Zb-2#qHf?_1WtPmKsDWvl5w^JJP#61-h_n8UzvmkC^j*KHF@>Asn`od7g~K2 za{Oq?Ef5>4C7EvDls4h5BoG%dwK3mHgt#7m8^V+o+48NF$Wqg7c&Cw7zEpNwio!Ps zKi@_)7O~2gQtx1?H#6AUt>TWfmD%>4^pZC04`nLO!?ZuY!&IawZSwnGiqMv+aP1jM zM_J!vty!Kh@BJR0a3g;U6x4%;h*V(N0(dopd$Q!g$mtA)yunZgnspb0%cwyVp0_|m zn2Jz_(`NCgv`p*pt@&0Fl@3Nh%N03mrd5Bej7K zZPD}@M)lwaX`#04p%S}FG_Jgd*lko1rS~w2VKn|eWH#S}nI;tux{tttWADRc?5~Wx zgQ2`B<^haz>4Qaa^FC%08T$dV!BN)BTU2XfvF7k9^MN!{qrKg#1bxv@2>L)Sfh9L3 z@jv(pHkcHI*{@Lw)bM-g(l5|r`UOVRtMHCrFmFLL>sR0#89qgY1Ac{@;E!LWVbt)e zP;Xi|;7z`i%q56oScKiWtI`VIZk1GFw2Hb=*xbYIE zTi=X31w=+O5@flGS7v>6GdkUV+)1SOn-Lc-wDwO(tZRnNsVW@!C-Nm8@-loXgE8NK zN<*}MjtOe^U}q2Woj;{58f~2nXLq2KdPKnMEtn`I`bV$?#}%Z%7AQcre*{6EkDwiQ z`c|TWVjn>=y!!}dHmf`p3>8Kv|He!!=bJwtNnPLu1<`O3DhB-x?m88rZViEW144$3`oPMF1m zmHBKtFUttk$88GY=Dt-2hccY@&?yZ;<_vg#lX=jJGK7 z!CKkn2n1UibW@bOAbb^spQ9Xza93c(oAVuEQ|)7J7cJM(s;SaZHfeJ@D(fa%l4G?E z48{?e<>GfFxg9LnC(C|xMS^_%YXce9c*}4OPJpt_ngm%+v4fk zEUd!T;UY(AWBnBkO4<=!p<#oHP^6A=l?Q4q{#L1M=QHnhmGL)|n8$W1I7*OjaXJNhoBRzGLS$b0N%A$U&BPKy6S8o=X zEGu4Oh-ekT?hTw$&Z}vWowL&!UO5_jLs+Uegw-(=j>dqshF*%hlzsBNw=8MHRD=>j ze|p1zSt=sBnyon>xudpBMW|bpkL;~&R1u{<2r@XV6LT2;>j!gKC;26;g-gCrXYiHT zA8#mdqA$#-X0UasZt_K>1qH(vcV$d%K7VpPNMh&?>Q?UK2NQEtgks_-hA34LMz;4X z_rqv))Yl&>tNmneIA)(e!d35&^^AD&$11N?$y@zFmT5_6u-5t`f+JM8g~6#R9M~C_ z7OHSEgK<>rEcf9#>e~h5tm-VMV^Dw>Yq>CWI?a_` z_bK^Jop#Rvg`Uy_9;|0@2X)=P)dN0u8>k?Z5nbtlSx90C_12HPd&;slN99mf^QfM3 zJ8ij&P`vVdPsnIe5lRj^+!Mj%3h6!7&PWr_%eXX#8^tJiq{IGCM+rW30-- z{(2Y^4F(?$OQOReqLjhDPTY@AEW$1uj&Q|&YderdObk|fU;@%z|+VTs_V0FZXn<1ByL5x{bOR1^>3MzkI?yBQ8O41>?>J z%${=;(DDd*nv>foRfr$zdh_)N3?7Fb*8y@n4NfxSqgZT2$u8Kh0Q+i1oe}SS6@@E@ z$RiO^CsDa30L%0yqs~I9rw-BbNT)pjna)xLwJ2Kd(^-QDHcY*(G#l|fA_@n*F^K0J z$J6m>xzn6tv~AZnli5QaM{X0o;Iv&w@Ev0_@5pVn<1;89LppLfc6@=rHG;3w4mSe0 zAdMqd+yDDy_Wyk{`~UZo*>%I@wT|ZO8FD3W){d1YKGPv^5Z>3|zlhi__SLEh|44ij zEvb;ZEo2|7vJYEVqXeShBUR-i)_Q#6$39wRAG><8E}*fGUD-#j?BiGV4Qm+S1e9zP z_C0Gcis=GA4S+7U<@oIH_z13K-e^U$+q23Y+Gg?_E9=aK$Kw%_ml4E=}oKi&UM z{~!8~jhGv;D&nPx9TD9kgCbvy+!VPZa#!U3$WxKkkyj%hMY;|!4fu2bH*oC0sRQ2| zcy8d0fzeSPN4+rU(4ez}z8lnK@VLPf2d52QG5GZ0&j$ZF`0v5}hQtl29CB_*9UE-z z8a;Onb?@Mn!CwV`7u*u;(RW4P7yG`|R~Og`rDBvqE18-5Gi-)G@4mSXkJguwh~G7}<>QH^NK8e+cLLeb{ec|4IGR z`WNHUwg{|g8~O}DH0cr0aD5+r+)ZPQCx<^1tPU>k9S%} z88J>>ajuxOq-i5|ih$E-}OnE-}gcpKoTqnUQ@$EL;%c?lX%^ zTw-A%!NTH($ZBC>z`_M#EG#T6gjiSzYhj4RC0JM(u&^-1!otFU0SgNuIWzaZ``#w$ zZs~mIoZmU$+vQf6m4$pK@j*4gU%##JqPyCs`@)@BdG=!$m657I07zs0B zF5C+{;Ut^|kLVSBVnB?EM5JO`%+$rKm=g=)o!AoFVqYAHLvbwLi%W4O?!|+65wBuE z3gV+VAIkYi1*s_2q=wX!`qDreNpoo-t);zmkdD#`2k(``a$IKRgq)O9azU=h4Y?_| zU)r}9jm%lGn5-pg0{CI^*zREa5ZC8=bUoRU{6N>ynqePy6bl&LaP7I<1mw+nO& zk`M`#2#Jz7#3Lj_vZPEZq)ED@M@D2umSjcNr~1{XDyl?HsX4WzmerctP@8HG zCLXI3b*j!>xsP@AqN9<*uk?+6($D%u_fbEMQjsQUil%9X7HO3> zX^Xb$kk&_ZLYH(!*K|wI^g{hc*oYX!NEvA(W8{pyQ8Y?M&1e`+qi>9ji7_>1#@x6! zw#Lpl8E3<1hRm=TH>sI0lV;v5m{qfBw#>HKg*~U{y}2}3=E1y}SMz3iEUy)^VivKe zm9TPks{{Zwtftkn2G-D;TPtggjBc%yb+$Z?LAM6qq z5JM+^cT!7gyN;hpOKAniZ={`ck*?BB3dj*TDvL6ashpLIa!D@BRkkICHi{Dz#!8NLsw5tVg)pHZ`LeqJrW{SCFFcGaQl`Z;{RR9ET-u-mEUy6Vv! z|ND`Epcc|18bJoqT1LxiIW6yIp{;eakv7)uk$}B+)-JC9gO3St{9n+EdPy(q6*mJt zy^jpsBLiD~2mgC%kcMcC#wqJ&AVW*Ej0ALPkJiUe{y)$oJyEX_G(rGq++dM{j8TC9 ztHvD?@XG%SczY^T{?(_f(ai%z_XW;{+>3(^RBe5cGbLk6iFvYc>zyZ)w_7Up+3el zF7&;AM8>bW2N{o3LUXi$XKUlhX7rvO5a|FOCu$@S2=bY-vQ`!G99Uxnb8B5K&;FUm`B#HpHi|H2*gRWfyKE0J zyk}R4pcB6^7vbVu8o|5c8eE$jb5q1^&z+F75Ks6dU&MOo@O^$>=a>8ufeH!{A%P&3 zQLH`G#=Wq@XxIry!KsTd$|8y2RL~O*BxWp5#W`AHEuPU29?6e>ASkMWRFbMv7rn4R zMovga7`dQmf;5tmM>Zj|=k z^oSnwf#4MMF4=#{G4Iu{dKjpV1J)E)P17vR1J`8$yFmxkVfBNoCwiqJa5@H;QkT&c zh}(C$>^O68cuYT-EP}}evjie{&4IZ9hfknz$ckD?D-CV)z;D~?T795*Y~g>k{)Tz` z9f*t{40z^Qx#SJl|9HVXS32yJox2)u*d2RdPf$7ponsse&?caEnX3Y@P3Ya@=G;BE z;|`q1{&SxBF|N5^WSRGD?`I6|i}w4UG4FpIawScp{_~(=87!=cO|c_Run`xi{|&1D zCVC-l5c?#GWs-RmxB?h9r6G3K6y<*pp||#*K4U(pcR)L*-5q6jAfCg!o9tEm7%l`A zUsTFKT@A2n19VQguapx27kZRA3%E5%n~cenEFklV_|*^uP9U-wSLTP{4qSw--P|74 zGsF&SQ7vBAM2!MoWz=^K)!o**DDNS_HHGGT6!#gb`w(Rjk|*`Fo`vv5V5_Rv0Is&) zLvb&Ftqq`c1GfCY7NH6Fz;Qqg$m+lWbGk#YPv~mTqXUSMKwrO=1*jVK4?ksoZ;xLv zf%lfy5gqENiC?gEwe+JwMV7KD`=2kEmv;Ci6S4oAX97kG4L8Bs-C@0-5XT$uMZd9V zw?x1K-*%P6XzG(!ZJsHrWc z*-7%tLCmr!W?2R?tYMI~bKsQ9p&LttwX zX?&2W1+w-*)+N$-AwiHes>UOzo(I5I)H}>A02ZaQ0AC%QJX+NL>J#Ssb}h$zX&*mg z0>7GJ_3Xj@GxFpy{GdL;<|%^pZKG=pj0H%)1~6}i7kLVq1bIqY-wfzBp2%!Hj`!7Q<0F1Uzz zIX@Rfu)Z0oE;j%|m)I;@fb@vba^u2$j89>#R54YYq0+^L<(^+*rtH4`q@&ON_pcfJ zQ?8eY-oXC+Gsd>REa2;cZ5J2=-&Og0fqDM+m4wjTF_qZN7tDu0@}P;{#Ft~}7VtI2 z{@kOF{PtHLG2g3~FgQDK?LZ&t6L|MtKVWiR^$?AqZdouakE(5>X#1F&V>*R*Uzbt@ z?8>_AD#N%=zdC1rz@iM`q$6ew^vdF-i)I=9)C0dp<^&D3z@FS`xeqH(U_?d=PUn%G--Plg8igVFK^JPQ@Pg96#0`MPWH~>x%BF|MZ=T z)Iltq8_NXYz>h2xn0M{KC(IA*a)J4-k;V-q{|!WSvBaGF#~L@SJu+~{5_`2T5HO6Y#%=(^0hxIYz5rwXi!N{vUN(u5xqCqyuI|0KAE!cQUj> z??4+zvxkJ7a4!fU8xChO(Ck629&Q2)BxGY;o)SWF2S`8ZRyAwB$Dj=CKfGYxt;et_ zGFA>^m9Q+F<{ACBSS()rxnczn7K(*YVq4f4Z}!g-ZzKYk`B5&3=E-t-u84u(LGui_ z5!S}WZJ#q2fKU`6DYe)fU0&;IvF9q6Q=LNKxGI7f!y42!rnIqf~b-%`TITHAknfeqoD z)@zF|+^&Ap;8AQd@`k}*fo12KJHWG8Xo)AVJT$|MUtp-M(GRbhf#R@AxZ`);m}`67 zb9{AFf(ZMkaK))Q_IK-iEpBnUIby9jWgf?C28veKo zE8`Z^c-(5v{l%v^mvv{RIoFjAI((oEmGM(ZoYxUYrS9BULb#th_Z254W!zQNo5*XNia0#&Fi#9d6|__daq}L)dE>bho4J5{>P{B|C-D?c`*MsqF*TQpiURtITQR zCA!0F_^`uLxFxrYk%3>d_$~81or1lcJM9qmo>)_BhBk1Bu8bLeeWyQ_a9n>wc`K) diff --git a/devtools/bin/vpc.exp b/devtools/bin/vpc.exp index a1778b1ac0f6b060d72148c4c4bdd109f7aea631..f966810a9e5d65a57c0dec2e1e8950e792c7e478 100644 GIT binary patch delta 19 Zcmcc4dYyGcHY4Mw$vKRxfTTFn0RT_$2hjik delta 19 Zcmcc4dYyGcHY4N5$vKRxfTTFn0RT_m2hRWi diff --git a/devtools/bin/vpc.lib b/devtools/bin/vpc.lib index baa4acea38d5de2a5c395d63b33e422de7918437..7db85f90e063d9055f375f1d5aecdafed7b58b50 100644 GIT binary patch delta 105 zcmbQnJB@e4HAa>g$tzbU-(p8lJ}UTCm&^r<<#eMJ8==J!fbLPYav*L%;fj198gulY|Q|ALnk5t delta 105 zcmbQnJB@e4HAa?3KemsPZ!xZ6{5ZLiMPu@MCOyWFo9{6RF>>;p)IGPAfq{W(@_k0> u$s#N%U?m1X@*b1)-&};MFq@pnS_oDlGxIs2010() ) + if (g_pVPC->Is2010()) { firstVer = 10; } - else if ( g_pVPC->BUse2008() ) + for (int vsVer = firstVer; vsVer <= lastVer; ++vsVer) { - firstVer = 9; - } - for ( int vsVer = firstVer; vsVer <= lastVer; ++vsVer ) - { - // Handle both VisualStudio and VCExpress (used by some SourceSDK customers) - RegStartPoint searchPoints[] = + const char* productName[] = { - { HKEY_LOCAL_MACHINE, "Software\\Microsoft\\VisualStudio\\%d.0\\Projects" }, // Visual Studio Professional - { HKEY_LOCAL_MACHINE, "Software\\Microsoft\\VCExpress\\%d.0\\Projects" }, // VC Express 2010 and 2012 - { HKEY_CURRENT_USER, "Software\\Microsoft\\WDExpress\\%d.0_Config\\Projects" }, // WinDev Express -- VS Express starting with VS 2013 + "VisualStudio", + "VCExpress", }; - for ( int j = 0; j < ARRAYSIZE(searchPoints); ++j ) + for (int productNumber = 0; productNumber < ARRAYSIZE(productName); ++productNumber) { - RegStartPoint& searchPoint = searchPoints[ j ]; char pRegKeyName[1000]; - V_snprintf( pRegKeyName, ARRAYSIZE(pRegKeyName), searchPoint.baseDir, vsVer ); - LONG ret = RegOpenKeyEx( searchPoint.baseKey, pRegKeyName, 0, KEY_READ, &hKey ); - if ( ret != ERROR_SUCCESS ) - g_pVPC->VPCError( "Unable to open registry key %s.", pRegKeyName ); + V_snprintf(pRegKeyName, ARRAYSIZE(pRegKeyName), "Software\\Microsoft\\%s\\%d.0\\Projects", productName[productNumber], vsVer); + LONG ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, pRegKeyName, 0, KEY_READ, &hKey); + //if ( ret != ERROR_SUCCESS ) + // g_pVPC->VPCError( "Unable to open registry key %s.", pRegKeyName ); - for ( int i=0; i < 200; i++ ) + for (int i = 0; i < 200; i++) { - char szKeyName[MAX_PATH]; - DWORD dwKeyNameSize = sizeof( szKeyName ); - ret = RegEnumKeyEx( hKey, i, szKeyName, &dwKeyNameSize, NULL, NULL, NULL, NULL ); - if ( ret == ERROR_NO_MORE_ITEMS ) + char szKeyName[MAX_PATH]; + DWORD dwKeyNameSize = sizeof(szKeyName); + ret = RegEnumKeyEx(hKey, i, szKeyName, &dwKeyNameSize, NULL, NULL, NULL, NULL); + if (ret == ERROR_NO_MORE_ITEMS) break; - - HKEY hSubKey; - LONG ret = RegOpenKeyEx( hKey, szKeyName, 0, KEY_READ, &hSubKey ); - if ( ret == ERROR_SUCCESS ) + + HKEY hSubKey; + LONG ret = RegOpenKeyEx(hKey, szKeyName, 0, KEY_READ, &hSubKey); + if (ret == ERROR_SUCCESS) { DWORD dwType; char ext[MAX_PATH]; - DWORD dwExtLen = sizeof( ext ); - ret = RegQueryValueEx( hSubKey, "DefaultProjectExtension", NULL, &dwType, (BYTE*)ext, &dwExtLen ); - RegCloseKey( hSubKey ); + DWORD dwExtLen = sizeof(ext); + ret = RegQueryValueEx(hSubKey, "DefaultProjectExtension", NULL, &dwType, (BYTE*)ext, &dwExtLen); + RegCloseKey(hSubKey); // VS 2012 and beyond has the DefaultProjectExtension as vcxproj instead of vcproj - if ( ret == ERROR_SUCCESS && dwType == REG_SZ && ( V_stricmp( ext, "vcproj" ) == 0 || V_stricmp( ext, "vcxproj" ) == 0 ) ) + if (ret == ERROR_SUCCESS && dwType == REG_SZ && (V_stricmp(ext, "vcproj") == 0 || V_stricmp(ext, "vcxproj") == 0)) { - V_strncpy( szSolutionGUID, szKeyName, ARRAYSIZE(szSolutionGUID) ); - RegCloseKey( hKey ); + V_strncpy(szSolutionGUID, szKeyName, ARRAYSIZE(szSolutionGUID)); + RegCloseKey(hKey); return; } } } - RegCloseKey( hKey ); + RegCloseKey(hKey); } - - //{ - // char szKeyName[MAX_PATH]; - // DWORD dwKeyNameSize = sizeof(szKeyName); - // V_strncpy(szSolutionGUID, szKeyName, ARRAYSIZE(szSolutionGUID)); - // return; - //} } - g_pVPC->VPCError( "Unable to find RegKey for .vcproj or .vcxproj files in solutions." ); + g_pVPC->VPCError("Unable to find RegKey for .vcproj or .vcxproj files in solutions."); } virtual void GenerateSolutionFile( const char *pSolutionFilename, CUtlVector &projects )