From dc1c6ed27bd1862056a608be6c2eb1c2545a11ce Mon Sep 17 00:00:00 2001 From: John Vanderbeck Date: Thu, 10 Mar 2016 21:33:36 -0800 Subject: [PATCH 01/10] * **CHANGE**: TestFlightFailure_ResourceLeak - Use System.Random from TestFlightCore instead of Unity's broken random. --- GameData/TestFlight/Plugins/TestFlight.dll | Bin 61952 -> 62464 bytes GameData/TestFlight/Plugins/TestFlightAPI.dll | Bin 32256 -> 32256 bytes .../Plugins/TestFlightContracts.dll | Bin 8192 -> 8192 bytes .../TestFlight/Plugins/TestFlightCore.dll | Bin 110592 -> 110592 bytes TestFlightFailure_ResourceLeak.cs | 2 +- 5 files changed, 1 insertion(+), 1 deletion(-) diff --git a/GameData/TestFlight/Plugins/TestFlight.dll b/GameData/TestFlight/Plugins/TestFlight.dll index efe0e385d13a6480ce6bc19375f9e22259088eea..3f4f2c13d0f2a352ccb1cacaa8cc6fcf5aad40da 100755 GIT binary patch delta 19730 zcmbt+349b)w*I+Qol0*B=}yw!*~p%B5)#5{5?Kw(E<1*>NMskVNdgKqu?U-@h%yBV z4yY)gFeqSfVH2W=fXaZ|h>Q*h1LDr8BQm1zoO3Hl2lf5md;k1?e09Hb&OPVcTX(DK z()s7q`Jbr|t&8{)05trEe~&p^5N(G&qa)D@}GMyj~gzTpd!;J+`8`$V4j z+IUf9i+>rPh_tx*Sb_d};Xeh!VCy`9waWp7A-=e-ZlE$d;<`)WFr(%mfJO290PMM2 zl;G>gN+PIA)j223@Xr!p_v9-6#duZxQE25~V*J`7tMs@4&8{gm?_&im7ZM7?-~tA; z1GtpxhtRr)Tq!|v?_YtuWErX@4~#-yb;+0#x5S-H732Q=BfRY>L?lP3?(rMYx>gTDMT?H@+j-cTv|ySCOtr z=_=5@u~S;OTDT%*epvX8j~47B7X)^u0{vma^AL&tprzvfGy2HIs{+Q2?i|~P*k5)f zw&p|QE_cg>54d0dhL|6&cxy;mG!yG7!S{{r?pP1qf4)J%+wd+G@5VNh>XbYA#zs{j zfmDm73he`Rco!)GmOZ&%j2)yfjn^(1h$3ygt5*TkeULFSExDfCq1L>OYAr|@D4_8jkHL@| z1ACVGUPYVgHYoLb0P>3QHbA)ci}srFm!5IrZR7Qx8Loq-n`0DZpcXu4TEk&0XsB|; zc)C|MCh*r@Uc?K%k}VY8_@a1;efu|;_G|IrM33hU*B%%HzuloAID zmFgZ?wT5`45~NGuMikJ5dajSJ4=z@gz|9yra1%^-$mG4a zF1fMV0=<#Ag?}I=zS&sO-)m&|O>Ua7H~01Ry2iiEz#8a-HH-5wJ?YjP=!*hbZZPSG zk_fjNq~L-6#&dl$G?~5eVc)jmX2a31G=BivIE#|e5AG5JkvNp_AkI>I&9hi5JPj34 zLmbtEj9|aAY*`~Fq(-Aq_m+mFXDZCcGP6v&*Un40Rx4PY8pE}v#57LKmNJ)Jh-)}A|9 z@kd}sW+|SUoyLhl$$GdI&s@{d+;KOKAG@=0J&jNUcc3^*gnPQsDOIg!3ohZ(kI*hRt* zDB_cB(PZ*o6>N-FM*ROL8qG9}R*N354W=tq7g4M&>)tE}%{H~%u2kjWWV=>XL_3m- zjl8pYBemSe6ud<=OI5x*H8gujM0d>;(Y(sV`q8+$48m(+DUJ-aY9z)9+=c#%yP?n= zf3uOBsySG6c$`Hv4#KUE;;^7$qgAivnQ3evlGe3x9C^C*ZSp~5*il4B3S7!*2se0~ zi)E)~4LpV(P&LJH4Q;CjQCLHca{H)3JoK3B2v2I<#QYDFNUfoR3#*|ifX6;l z>0gHqbN{8NRqx|+5Ezag{kM=?uB29-YLu3dl*ezwkQ)Zl*-=?p;eo!a3*MN(2sDLM*RItmP)C$&my_Y=wOvp}J7x!vzU4p9{;2b22Tvrx1BLuFrUYL>w>)W{%=F4B@?@qjq>`zNQ~cD!Px=pIRD48Tgak*6 zx8?w)B~LuhE5X-riL^AHk6uSz18Me9OO*%n6Nd3%T3lKOyvx-`alp}|!U?RT<&KdL z9^?^6$$8_ITYUN^w2-&XV=uz>3tLDLw7@;+51(ZD7(>sePOG;Y9;hHZcnI~yG!$ep zwp%_`tIBZTU6A%SQ!n0xm3V+QtzJsiN;L9tKXIe|PI^3-2?g#oD#~I-y>VArs`FKh zAy>xWQe#6|>yG!KUHtWQQ(X9bTpo?LjatFmVgOfD+AXU-xHbjDHX^ZvLf}?unO5qf zq`fuR-DdTw^LCtw_oG2pxRsy4HE$Umuc;3L%Zyt`cy)d-^EdUAQZ*3YD>Rs3)oU7w z{aA@{uIWdLSv-t8jk}bOll}*=da;A8_oG2cA{C_+A4RaJf{r@^H@+L~8H)c|ykVif zJ=~mTX`|DwchiPOE9oq(bsf!kKR-`mb~w?m&8{h>Am`ySgJbO0|I6UUQ{_2bS7Q$a zmQ&;IV^4I9;b-V7)?hR30i3Azssm(*$H<0lFoA@t4admj%>S9?fRSy>ab3atNyu9& z0-i7*#OUTM=fM;tyhcw;Bdy!?2&RCB!x-;{O9{S*ru0bto^fhqnz70qBla6x+~bB6 zb>yz2*`x#so6cu7G#YWec!zcGBI5J6uZBGFDM{M%m^GiCseYi&h>h-GTpi`>T7d6& z>{YW7<+!KK0(*rP2+e;4lf+>u!#zd{e(DQ6j>Rl$#S_NR(f*Pzy8)!%4N%q{^K6IZ zAv3F{+%c&d8I;WgIEcra^kG9FaRC6{5=iektalH*wpw7kIJzK-7Pt@b-}~4RI1K2; z1mJL^PJum!7}Ht*rY%zZ)8KO(;m?c-b}IWB+cS=4oW=MM;{`-J40nun*x_!+Vn-xA zhi==!tB7tG;4F7~;c*NY36T*kBa-1dOjUzB88(D=sI-kbMuv5r__0hNx?>8!sMsC+6cAJA50n7+dp8j6K#48L^bma0j`299`I9 zJW4b;5=)NGGJcEb2A_wLD`4z`sKE*k**uQe8jf-KJ4E#9B@d;z64>DZD(kQsi3TsQ z=p3uBV%ZJxK61JgQG-pm%-LawkCNDhsKGImXmADbuMmUhBsa{BBl|}X?XW&>SDYQn z;;Z8$!H92(y}Koz8uoHLHSAzKc{m?W9`qmZ5($Y3)PWD-T-D$S#*2tB#{eW5~bB4iEiIW#!AL{NfiDmv~j~LNo0SRC1)A0pxh4bmW1g#U-}|y zP}!2g&qZ{@i!IBYFNxQ<{0^4gpe7SWGPY&BfM^FT#gU>xP72lSgJ_4TDDl8gDb?|A zNKK{wo104Vmr`F#b%QO9{6sURrs+hwGa19U9MKLN(?&Zyke5ChNA;$3>cF)blwy1) zIjYHAnu)`Z@o45~$31Wxo7=X2+^yqa@;UQ-yd$r#qb%JDFm(-|75lW?qc>IWW&T3n9VHGD%o6Seq_DG zUqBa5d{^7s3NT373JX~`5_PrktjT7X>>k$riR(QF_c41xM>>^^44;V?7l<^&uKVei9np}_+- z3y!)qws6FaHV0_hVw-^B^LLy zsVvE7?9ABPVL_V#jv}-f-zd@GGc0THBcpIq+0N)@%wQ};6mUJ`jn4j9p2+eUI$sC{ zEO$}>8RlV@P%x4VL)^lW7a8jr-*i&T-gSBqPa_KW7fJ+NX8eWamI(4}ix`2}Dq=KZ zX#_NZzG1YspmHW-55@^C zsI7Omz}p6^Tg*ay1|=%I*kTUin=NV(FQTOiKd|-}E<2+ZV6D6;^4318618KojE{XY zShPHf96cVj1aS{aR5%hv0seuAsYFr8Ul?63YQgWe2IYU$m_JBY|6k_&e@!>VKLL62Rj}a%tUn&4uwpYKvnE?%?j0$aYxzVUelC9 z*x_glb_mFe8}xo5%4irGqKt+yA-WitZ0aaP z3?$~sWT^EqFrC>FpdlLrL6gxSjfEE^;~N?a2h4h884EY+t(tQ4z(8hl=y~96lNDrF zC>}U&G79K{zcs6Ox>>!l{HD}A(5Fpkgwf389Pz-kHhBJN80%iRY$_>)7nb39v7y_% zu#%Zf%?qEIOj_RCjx1|ocXofP7rtO7yE_iPXC~{#!OZq#DaQ;RW;)=*9#wobdxSL( z?(IOzT6i=2c55O$(~+2TlLUL1)ms0SU1?2%)68Tml3>(zWGO?m1YeP4lv+#Z#Y}o> z38PFMP0E(=Au^0FD<%UJH&slAWM;BrGWbm$-TP!%*Ua*7%`Bm$DVbzwVKPc48H!AH zDvP`vC#J&^o-)ahdOcN?0aGA{nM^GOrkIS}q`*_nEVnkZ+}nw~$PP{cYiD8&KBJf& zg2#Q|DJhV_OqU^2p|h!^5UDUKq+%+J52=_6vrR^Qkp?S5>ZQTe%p+x-N=g^7wJ%FGD6(S*%} zgC?VZnegEaR8QWDOgPO98%XJ4a$YmbMa?X~Y-Ty4 z2YG4mIi4ByuTJ6LGN}w-d}FBTEzD$>X2MvL(RP#tlTCIG+nWVbO-4PF1=E?;!jo3*s7(bh+ho%6Q)ab%5-NZ%n8`jYfbW{I z|Cse?a2J5DkMv1iT7!NsQ(3V!JY*`#v^8uo8HF!|ogozqVP#)(v%;6*Ut=kRL(CTO z9#;s*m@R}oiETw8oRZ9%=dVx-;jGDS@+Y9~3!Q1Lb&P)-x{2sVP8Y(R{(o58Kt?0W z)7nCb$(H-`w06*2GV5A&(;fzyY!7;A59OxiNB(ox4luKkRVW?dxXHf3WI94hf1Lup zCe)nM&=J!5b9ifX&P8iS$YoY*ZJqNqvUVoxoAW)sX}{iNx95Csy$*VqY$@uBpr6S$ zpsompF;t{5iwH}}6EF?pXzdnWg1(FNw2Y$xiv!Xje0|5*>BvMW4b zD&Iq8H&|t|^Qh|vkD2T;>bk=wlR5K#7TsZ+$x`wzs5ih%CTo?~6WIY~3wc<*gE>@DbBm>y3Fm!%E>SvxVG>9`L2fs1-e+6aBP;$CSZ&r|}2K zE6f&J%kwT;Zv#TF~zDDMh3|6Dho8Sp%uZh1PCbNY+4f{gA z$#j~BeW8P_$kVVd+#;1c4g0|zjVw>=4~tAj)9_|6B;#o~0RC(;nuY^lgK0_Aa3Jh$ zWEI#+zG0N;Lik3Qz ztTY)-!y&ManVg10VWX)#m7{-e9SYke1)7G#z%rb2lZ);!&?FNy4Tpi%)Y1Al4D6S&4%hbWWL6dew3(-L<|9che7+qU{n84ezk(JAc~@R=29HkUy> zvn4#6%b+*2*96VxGU#hEn#^U;pP8J@WiW=>LMu(?GMFlLJel<}m~T>=&E@d2H03EX z3J%{weIe(_C^*hc&XG}Y($vvR9}VYBMss8|v@fH2OL&fqfqyZRb7Tx$VOGm?WQ>kK z_>*ZZPm)_vTsN5+F5JBp}Wy~aaQBkQS-hgOnVi(6e#CqR3X-PEclvf(Bhg1U(?j@cP8 z7M)InsV1vsR?X~?c#_#HlkH-5m(FyF^;oM4Wg;w+3>KvjTiM7y6%%3pXigONqizyB z)W|*+lfW{Db=Hqt^{`Ebnat$9pA3sl_I0cCmdUWfWR`ql>#+avPp<2eVY^fUjfC6b z0<(wVmlnfq)8KL=8*Q5olW(PZ4}&j%qAdW+OqPYL5}suyPX^VnpP6AT$*;Cm!y&1& z_RYTw*|A$`{{h1~Dt~C$OnBc^PS3Bl%!H54ig%-K7MwG651?)qd}->|qV7)k&SYEj z=h^OrD<<2YUyDqPr9=(u;r#oN*(8G#`D-k9K@l>YTK`G@!?wF%Co3PeUd(^eHXA-O z*?*ADfy4^HKeBw@HWyYhTLDo8Yb-%1yp41#Agy4YEeLNhGoW3;eq@Q`WW9C;Z`kI+ zOp|pgc-vM3^~7{^+N0nH%X~OyDhD8|g;ORgFL>X!0KRNwAKMm#Z@hF`UU1HK5BM9| z*S7m$yvfED{AgPS4>hu@w&ifdWPySO;vx8)nQlO!Ak6+Ja8GD(8ev}v8I8W|K`kZn8sSQNd|g-^lJSxYgdsbn$$_ z6#G+f(qWeFJ zaufKc$a*@NZi049rRmdfeKS^Sn$juwY3SQbH>8i&DN* zc0$rja(Z6uNA>~?WF~LLi~QvUB}(`HMX=72;c0Ze1TiL~C*zmlu*qnHe_4mbJEduU z)&+GJtYRje?t%@HSrg+clwEMbw4@Nb;4^0OCB<$~?~-0_%03OdA<<+Ma5wCoEp>F$ zcEh4MlF?1u4Z3wM(IwEnHJdV%cWpPkp3gcy3+#puCF5i;V1aZ)$?OInGnvdDXfJhw zlGy`Ah0>Ce*#q57M#=1fUb;ysn>{d)nQZ+Y7&Nab{2mx38I)q8dtd`IIq&zto83b# z-(z-OBzPT^pevPtUNDvW)s`TD_cV{uQOW+ z#|mcH_rS*{dmq_e_#wn{A6yNw+y_x1%hfC3VD( zvj(T7CX-I_b4ZAcA-tQhw}Z-mgo9)8yR;@t`u+2_rqa=Wk20i0>0zOlTrWlxU~rk_ zYE!UlV$Jbk`vp9Tmj?W8DpJxefow_`|H$T#S`LjR%kS!cke5_nO{T16`K}Zy zOAK`yT6U(A4WR;&T<*)|{=X?Vq=MtWA%GM;z@`mq(w<|9l*=-q0xzURMX9hat;t4e z-$jXnzm(F@`;@g(BFp3_L`&meilkb)rpgU+S^gvW7rzN6CDL1yR>1F+9Ey|(^(7> zM`B9F2yroH3}RAjrKrRd7YHXDiFr`O@i#%07~5P=oY(1 z%n?0e@tY|@XP;UzDt4P#DyGD~fM?07*gZn86v0>z{+>xr+wez3G3=sP)W){K_s@Sq zj1!w;FJpNNS{92vv40mU#7D88A|8pkAl3-_G$D~atQYh>(RvZ)vA|}L=J{D9vbPAWybZEG8n_L;(NW!0uv>#{n)_;%TkaV}K6I5wRKF z*BRli3Htj^ zVY#D@!Qx=J&jG1$yU&6c@SR3n;QLhR!KOVpl^l2w-Kf%pOoh5$q5It( z|Fb^A2*k|_&5q3qjp5B)*(SOs(D0-WvWi6?EU$s`1oCqm+82vy2^Bb=^n^Rr9q4nO zx*oQnd_C+-Sg4K=M-%Q*H!GB`o&(3R+Gf6^#c&eK-Qm*&1KcfJD?`cONi%Lwj?9Msw^#fb5i-fVdS?`|(kt;lb=3g>!p%Yi5#-ExFw1Zr)f zLcPD`R7-{W7~&LF-`%p>Qpt)r>fc+=u@K&C*#&1?Cg4NH*N9Wp%PrTS>E)K|EVXFa zQ(daYBtK#gG*e>t^184S;7_HNwUu%#A5qV;yc?G5G2QFKun$tZqvgcZp7_Fx$Nv`3_LsR65;|ZXQ$nVSeSMiKUwXVW`zBu z4oF)QCM=VppFo_L_6$m@(sp3T`DrhQxx|{Z{rG>Opys*6(X^iEzrXKjm_8F1fuk7m z-_eO`J&>XvTPri5u$DS`LGe9WBQe_MQp!_H<%HkQ@Tex13l6+ zv{VaCs#FVoaA^|<(%ayM`)+!kRttYmFVrsaElb5DXbHDxw1EnpMHS%5DAFn*A)~9d zS)msu%UHe)I%nYbJfbvXm8gJ0D6fEVC|SlyFXMiy0NQ4jac@gCEywb3#$+u=c`9Q%mbYe%;c~TB zDc;Vwpso-nJ#)0~%KMnm25$XQg*>d_T?1R0agVmu?5%Gz)@mDg&Dg*pcXG&L@$ZcN z+D=aBgsSP87TCZ`O&d#kW+blUgE9|euo0OwK5x(b6nFjV%(t~-%VU}EYBptO=0_TC zzL^)aHR6*@{BBen#ASr!Ut^+Qqx}Z%vmE8$nLnW9B^>h`xG!D&YGM#KAk`x9Z9}Rh zI!pK93l!?`R10k+m+;jyVQLnhYJgrz;K>1Tj?y9Ps+Pft)^$}IdzhtCI>u!lS-m&?}^SwC0?iRZFX!}oH39HjoxanGjj5-VU=)(vP% zCzgZUIhE{!cD6p@F8T_ z@g(CJ#*2tQi%VRN{fRFkY*KWr(}sARGcIhBan|TRz!9!s^7sW<(-lU+X?RY>tcQg5{}(zVdM+cU6YH)N#LMAB;n+>$j@C zxV;|Fg8M+k64o=GVH9`_+6SqO-5DzwYZ2W_Jsx!2${9qgi^m7FWbEc6@7=jPmdo=Q zYf)17$-@PrZMSx00Ud@QcI!x(a@|?y(D1R>QTYkR1B|B`p~x7uIxQYbxB}x?#`%m- zlo)eY&lX3G?^dVlgYY|n!FY-ohX4I(Ikd;ac1L`t@P&6AK8O!&Jq>YE>luha#)n(a z#PV~k=O7+oJk5Bybqz|i!dgUEA=SFrg76o{u~AfxV{K~T;zpa?!kIdf8@a;Z!lhXL zzlFTU=`}vDCR19sarmhm>(0XED50eBHgl=~{ijfE?*{CweR#Qls%89yjohmwC5 zK8g4_yO8*E;Z~HiYeV>Z<+`dzKM^B0;Zmr;b};yYqG z;=3XMonfN#9X=dQR(`<8qPc1|;yg76AB$FFxf~wF@<`Z#<&m(-_{-Wn^-tQ1#>urg z`q8%ZK1d-j|0X&=Vwpf5=Uw=S6t|3M&^KMnom5uw+uDY|iO#cJS4EHApeuC8f4%Yl z`ZNG;#vf}3rSh?;t_cHB>vP|m?%d|{2 z4?hr|F6!)$Z4HmPwf7w}Csf^0F>UCC=`$u&Rm_}KHNi-I+S_8t)G2o~mwD=5+!$kz zn%QJnI;-l=33W%ded%(9NR6HKZ$wX;F!R>I6?cpeOz%124)PnQs+;@j-J;HUaHX?u z{qbet-LiYb9WWCnKowqb6T*Y{1egvpSWgq=dgCgDFTC)j9g^tsqFyPJFdB}=&C zbYcUX9DlMiJlu-yaCL}qIwQ~{k-7&jx`dlX-E8{*KA3;Y9maE?$1C$4#?jAL)0HJD delta 19157 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 delta 77 zcmZqp!`SeLal<4(7BO+p1&f<+spZjXO6l5PQSS m-7;NLoPmLn0Z4D2E)~tlYs{d>V9a2_U=G96svO4v delta 84 zcmZp0XmHrj!^Fv{3F$Od88Z+oI7&BNfm;o delta 101 zcmZp8z}5gnTNsx~iiwGFv{3F$Od88ZhWF7&DkNSTYzfm~8*Pnvs(Q02Lt}=Kufz diff --git a/TestFlightFailure_ResourceLeak.cs b/TestFlightFailure_ResourceLeak.cs index 253f24d1..c1653d30 100644 --- a/TestFlightFailure_ResourceLeak.cs +++ b/TestFlightFailure_ResourceLeak.cs @@ -82,7 +82,7 @@ public override void DoFailure() if (part.Resources.Count > 0) { List allResources = this.part.Resources.list; - int randomResource = UnityEngine.Random.Range(0, allResources.Count()); + int randomResource = TestFlightUtil.GetCore(this.part).RandomGenerator.Next(0, allResources.Count()); resId = allResources[randomResource].info.id; found = true; } From d1bde8ea62c4bee44d6003c01ffe53fac97f4162 Mon Sep 17 00:00:00 2001 From: John Vanderbeck Date: Thu, 10 Mar 2016 21:48:31 -0800 Subject: [PATCH 02/10] Start on some contributing rules --- .gihub/PULL_REQUEST_TEMPLATE.md | 7 +++++++ .gihub/contributing.md | 20 ++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 .gihub/PULL_REQUEST_TEMPLATE.md create mode 100644 .gihub/contributing.md diff --git a/.gihub/PULL_REQUEST_TEMPLATE.md b/.gihub/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..0578593c --- /dev/null +++ b/.gihub/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,7 @@ +Make sure you have read and understood the contributing guidelines! +------------------------------------------------------------------- + +Pull Requests that don't follow the guidelines will be rejected. If you need help or are confused just ask, and we will be glad to help. + +-[ ] PR being applied to the correct **Feature Branch** or **dev** +-[ ] PR is **not** being sent to **master** \ No newline at end of file diff --git a/.gihub/contributing.md b/.gihub/contributing.md new file mode 100644 index 00000000..2b42c5af --- /dev/null +++ b/.gihub/contributing.md @@ -0,0 +1,20 @@ +Contributing Information +======================== + +To better coordinate multiple developers as well as community additions, the TestFlight project now uses the [Gitflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) style workflow. You can read more nerdy details about this [here](http://nvie.com/posts/a-successful-git-branching-model/). + +The short of it is that we use multiple branches to better manage the code coming in. All contributions to TestFlight, including those by core team members, need to follow these rules, the most important of which is... + +Don't ever commit anything to Master +------------------------------------ +No code change or pull request should ever be directly to master. Any PR opened against master will be rejected. Full stop. Any code directly commited to master outside of the normal process of merging changes in for release will be froned upon and most likely reverted. + +At any given moment in time the master branch is expected to be ready for release opn a moment's notice. + +Pull Requests and normal development commits either go to the dev branch or to a feature branch +----------------------------------------------------------------------------------------------- +In general you shoud have a branch specifically for any feature you are adding. This branch should be branched off of **dev** and will be merged back into dev once complete. If you are making a small quick fix, then it is ok to commit to, or make a PR against, the dev branch directly. + +When in doubt, ASK +------------------- +Seriously I understand this can be confusing, especially if you don't know Git very well. Don't be afraid to ask if you are unsure. PReferabbly before you start your work as it is easier to start on the right foot than it is to try and change after the fact. \ No newline at end of file From 4894d0cc9db65b4692c19d2920b894caf7c2bfc4 Mon Sep 17 00:00:00 2001 From: John Vanderbeck Date: Thu, 10 Mar 2016 21:57:04 -0800 Subject: [PATCH 03/10] Fix typo in .github --- {.gihub => .github}/PULL_REQUEST_TEMPLATE.md | 0 {.gihub => .github}/contributing.md | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename {.gihub => .github}/PULL_REQUEST_TEMPLATE.md (100%) rename {.gihub => .github}/contributing.md (100%) diff --git a/.gihub/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md similarity index 100% rename from .gihub/PULL_REQUEST_TEMPLATE.md rename to .github/PULL_REQUEST_TEMPLATE.md diff --git a/.gihub/contributing.md b/.github/contributing.md similarity index 100% rename from .gihub/contributing.md rename to .github/contributing.md From bfbeb021fbffe3b9cf69ee2fe2ee247ddbc64e62 Mon Sep 17 00:00:00 2001 From: John Vanderbeck Date: Thu, 10 Mar 2016 22:11:38 -0800 Subject: [PATCH 04/10] * **CHANGE-API**: Renamed `TestFlightPartData.AddValue` to `TestFlightPartData.SetValue` following in accordance with the previous similar change to TestFlightManagerScenario which wraps these for convenience. * **CHANGE**: Removed persistence from `TestFlightCore.startFlightData` as it is not dynamic. --- .../TestFlightAPI/TestFlightPartData.cs | 20 +++++++++---------- .../TestFlightCore/TestFlightCore.cs | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/TestFlightAPI/TestFlightAPI/TestFlightPartData.cs b/TestFlightAPI/TestFlightAPI/TestFlightPartData.cs index 011fd3a6..1ac009a4 100644 --- a/TestFlightAPI/TestFlightAPI/TestFlightPartData.cs +++ b/TestFlightAPI/TestFlightAPI/TestFlightPartData.cs @@ -95,27 +95,27 @@ public int GetInt(string key) return returnValue; } - public void AddValue(string key, float value) + public void SetValue(string key, float value) { - AddValue(key, value.ToString()); + SetValue(key, value.ToString()); } - public void AddValue(string key, int value) + public void SetValue(string key, int value) { - AddValue(key, value.ToString()); + SetValue(key, value.ToString()); } - public void AddValue(string key, bool value) + public void SetValue(string key, bool value) { - AddValue(key, value.ToString()); + SetValue(key, value.ToString()); } - public void AddValue(string key, double value) + public void SetValue(string key, double value) { - AddValue(key, value.ToString()); + SetValue(key, value.ToString()); } - public void AddValue(string key, string value) + public void SetValue(string key, string value) { key = key.ToLowerInvariant(); if (partData.ContainsKey(key)) @@ -130,7 +130,7 @@ private void decodeRawPartData() foreach (string propertyGroup in propertyGroups) { string[] keyValuePair = propertyGroup.Split(new char[1]{ ':' }); - AddValue(keyValuePair[0], keyValuePair[1]); + SetValue(keyValuePair[0], keyValuePair[1]); } } diff --git a/TestFlightCore/TestFlightCore/TestFlightCore.cs b/TestFlightCore/TestFlightCore/TestFlightCore.cs index eaacb33a..4c065c25 100644 --- a/TestFlightCore/TestFlightCore/TestFlightCore.cs +++ b/TestFlightCore/TestFlightCore/TestFlightCore.cs @@ -21,7 +21,7 @@ public class TestFlightCore : PartModuleExtended, ITestFlightCore public float currentFlightData; [KSPField(isPersistant=true)] public float initialFlightData; - [KSPField(isPersistant=true)] + [KSPField] public float startFlightData; [KSPField] From 935c853140cd492b560ee4dc9529c508078b6ce5 Mon Sep 17 00:00:00 2001 From: John Vanderbeck Date: Thu, 10 Mar 2016 22:29:00 -0800 Subject: [PATCH 05/10] * **NEW-API**: Added `TestFlightPartData.AddValue` and overloaded versions for int, float, and double that do what it says on the tin. * **NEW-API**: Added `TestFlightPartData.ToggleValue` for bools * **NEW-API**: Added `TestFlightManagerScenario.AddFlightDataForPartName` helper function to add to existing flight data for a part. --- .../TestFlightAPI/TestFlightPartData.cs | 60 +++++++++++++++++++ TestFlightCore/TestFlightCore/TestFlight.cs | 21 +++++-- 2 files changed, 77 insertions(+), 4 deletions(-) diff --git a/TestFlightAPI/TestFlightAPI/TestFlightPartData.cs b/TestFlightAPI/TestFlightAPI/TestFlightPartData.cs index 1ac009a4..7fa2047d 100644 --- a/TestFlightAPI/TestFlightAPI/TestFlightPartData.cs +++ b/TestFlightAPI/TestFlightAPI/TestFlightPartData.cs @@ -124,6 +124,66 @@ public void SetValue(string key, string value) partData.Add(key, value); } + public void AddValue(string key, float value) + { + key = key.ToLowerInvariant(); + if (partData.ContainsKey(key)) + { + float existingValue; + if (float.TryParse(partData[key], out existingValue)) + { + SetValue(key, existingValue + value); + } + } + else + SetValue(key, value); + } + + public void AddValue(string key, int value) + { + key = key.ToLowerInvariant(); + if (partData.ContainsKey(key)) + { + int existingValue; + if (int.TryParse(partData[key], out existingValue)) + { + SetValue(key, existingValue + value); + } + } + else + SetValue(key, value); + } + + public void ToggleValue(string key, bool value) + { + key = key.ToLowerInvariant(); + if (partData.ContainsKey(key)) + { + bool existingValue; + if (bool.TryParse(partData[key], out existingValue)) + { + SetValue(key, !existingValue); + } + } + else + SetValue(key, value); + } + + public void AddValue(string key, double value) + { + key = key.ToLowerInvariant(); + if (partData.ContainsKey(key)) + { + double existingValue; + if (double.TryParse(partData[key], out existingValue)) + { + SetValue(key, existingValue + value); + } + } + else + SetValue(key, value); + } + private void decodeRawPartData() { string[] propertyGroups = rawPartdata.Split(new char[1]{ ',' }, StringSplitOptions.RemoveEmptyEntries); diff --git a/TestFlightCore/TestFlightCore/TestFlight.cs b/TestFlightCore/TestFlightCore/TestFlight.cs index f5a3caa8..4a3876e7 100644 --- a/TestFlightCore/TestFlightCore/TestFlight.cs +++ b/TestFlightCore/TestFlightCore/TestFlight.cs @@ -875,12 +875,25 @@ public float GetFlightDataForPartName(string partName) public void SetFlightDataForPartName(string partName, float data) { if (partData.ContainsKey(partName)) - partData[partName].AddValue("flightData", data.ToString()); + partData[partName].SetValue("flightData", data.ToString()); else { TestFlightPartData newData = new TestFlightPartData(); newData.PartName = partName; - newData.AddValue("flightData", data.ToString()); + newData.SetValue("flightData", data.ToString()); + partData.Add(partName, newData); + } + } + // This is a utility method that adds the "flightData" value directly + public void AddFlightDataForPartName(string partName, float data) + { + if (partData.ContainsKey(partName)) + partData[partName].AddValue("flightData", data); + else + { + TestFlightPartData newData = new TestFlightPartData(); + newData.PartName = partName; + newData.SetValue("flightData", data); partData.Add(partName, newData); } } @@ -926,8 +939,8 @@ public override void OnLoad(ConfigNode node) totalData += data.flightData; totalTime += data.flightTime; } - storedPartData.AddValue("flightData", totalData.ToString()); - storedPartData.AddValue("flightTime", totalTime.ToString()); + storedPartData.SetValue("flightData", totalData.ToString()); + storedPartData.SetValue("flightTime", totalTime.ToString()); partData.Add(storedPartData.PartName, storedPartData); } } From 7d0290b786e21507ddccdc213aaf43ceb1a205a7 Mon Sep 17 00:00:00 2001 From: John Vanderbeck Date: Thu, 10 Mar 2016 22:31:40 -0800 Subject: [PATCH 06/10] * **FIX**: If a part has starting flight data from the config, add that to the scenario data store when first initializing it. Should fix issue with needing to record *past* the startFlightData before it would stick. --- GameData/TestFlight/Plugins/TestFlight.dll | Bin 62464 -> 62464 bytes GameData/TestFlight/Plugins/TestFlightAPI.dll | Bin 32256 -> 32768 bytes .../Plugins/TestFlightContracts.dll | Bin 8192 -> 8192 bytes .../TestFlight/Plugins/TestFlightCore.dll | Bin 110592 -> 110592 bytes .../TestFlightCore/TestFlightCore.cs | 7 +++++-- 5 files changed, 5 insertions(+), 2 deletions(-) diff --git a/GameData/TestFlight/Plugins/TestFlight.dll b/GameData/TestFlight/Plugins/TestFlight.dll index 3f4f2c13d0f2a352ccb1cacaa8cc6fcf5aad40da..f201368ad21951945ba4ede651cba2262a5a39d4 100755 GIT binary patch delta 39 xcmV+?0NDS4=mUW01F#&Q0>_=R9-pc~5SbF)7tUiQPmn~*(q&kGFSFR-C=+Ex5!wI% delta 39 xcmV+?0NDS4=mUW01F#&Q0)v;c9-pc~5a{U^VxqkdLzZ#8eu|kQ*0b2)C=+g#62$-j diff --git a/GameData/TestFlight/Plugins/TestFlightAPI.dll b/GameData/TestFlight/Plugins/TestFlightAPI.dll index 815e636ff105dea26870b88f10e7fbb42971b4fc..8c473eb1bf518c5353c9597ba5f3fc73441d2097 100755 GIT binary patch delta 1462 zcmZ{kZERCj7{~wTwzsV9Uc279E}OP1$?6c+1?T7zNyRM#_J$c_7)h8fWNOe6K)bo6 z?Uq0cn!z|i)zL5@(S&d2M2ul%28S~lF`{VvAO`p)$!eBB=KO|hmh;wHy?o{g*Q1ub z{%kc$sDoI)#?PF;%K8&6e2w?lcSK)(3M|IEsy|2AFu#eO@@f7vw*N1w0 z@X9klDfL2ay_;I-yq_=DH|ck%I?aQTC==p^$n&h>bEA2M3zt>iQd!`WouJBQmA#Y> z?4g^vFe(-scCwP|u(48n<^(mVu$FX@x`Wr-Gaj=z@Z zihd0C4%!Xm%nK}ym`Qc6S^Xn?xI~xqDcm(_%DbRvu(30@uFiEuKZ$8YWB4@bJ&#j> zd^ItKFBQG7D9g?`huJC2nAGVRW~cFXL}@BU9p`ZdDMeYf-SGvHtwCP9;k;2Mh}0U*7>9|R49&(EM4aaPJx^*Ru zLNV7muCGJY6l+IJWxvXl%4wBfsYJD$6Hpmb*?hF!~Dl_((_N(?K=oal=iWb8eXz-EvjbD4{xL7?fRx zyknnHN%e$Evlf4LbhA~zqm#Zxf1sQ4CZ40bg&z1Z$M#Wv!>Un<@2RfD4}73&b^Uxs z{`>MB2AHby@v%=#H?z-%CZyg*M*u87pi@V?2B_>|JU0B-R(%2mK@8}*o zQ1ji<4bR>d@9z1)QCwkuAEjbVng>TJwLqG0j?eKU@dz&-O1S1T{zv3}=QHB?&{pPr Z5)rIL6b<6uu%T(OCQ&x}H=B&C_#a;9Gc^DJ delta 1040 zcmZ{jT}V_x6vxlpZCCbgeyw}W-B#3mNHo($O$`FcY!zKyQKLWHb3VMhkdr)(cBB@?{Q!u}%wO%st!H0b4%yczD8kpZb|8vg#XBh5yJd$UV z+(v{1c(nKVgXA#B@iL9_b)3}*E$xw)X7Pn1(Dy7WPU}jl9 zBmgA40UGf;9*c2RTg#=Ui>=%@HP3px}~~o^-goCr#^GfSchP$p6JNqGxAy&cyo{O}~+AyQ(`o zH+NP4x@i=GzrRci%X5w?3O_@-;q7hDCDvsm1koJ>E?m0+S^6J#l=?=DyK+_j{>d?F^e2h`nLvIzCrY eoPmLn0jO%4R01QX34;NHF@q(8;pYF+j4S|{%;t&W4`Q`U1Vy@%tdzIfpe>Lvhyg=*?Ggr%W fNpS`SMuwK@o2N-7Fmf6*STL9avBl>9(u^zsq%|At diff --git a/GameData/TestFlight/Plugins/TestFlightCore.dll b/GameData/TestFlight/Plugins/TestFlightCore.dll index 69f2f312ed23942d91f4e5d91d4b353d04ee798f..81dc6da086a28ac1347822f4a68e0bf0fb8d5ed0 100755 GIT binary patch delta 42983 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 R@(tI flightData) + { + TestFlightManagerScenario.Instance.AddFlightDataForPartName(TestFlightUtil.GetFullPartName(this.part), startFlightData); flightData = startFlightData; + } currentFlightData = flightData; initialFlightData = flightData; From f9b4da138508ee4e249265f5da3b5ab9f1507e18 Mon Sep 17 00:00:00 2001 From: John Vanderbeck Date: Fri, 11 Mar 2016 08:19:51 -0800 Subject: [PATCH 07/10] * **NEW**: TestFlightInterop now adds an intervop value named `kspPartName' which is theinternal KSP name of the underlying part. This does not change. Can be used in config queries and should be used instead of blank queries or queries with just part names. `config = kspPartName = squadFoo`. * **CHANGE**: Internally, any empty configuration string is coerced into `kspPartname = squadFoo` using the new interop value and the parsed part name. --- TestFlightAPI/TestFlightAPI/FlightDataRecorder.cs | 13 +++++++++++-- TestFlightAPI/TestFlightAPI/TestFlightFailure.cs | 13 +++++++++++-- TestFlightAPI/TestFlightAPI/TestFlightInterop.cs | 5 +++++ .../TestFlightAPI/TestFlightReliability.cs | 13 +++++++++++-- TestFlightCore/TestFlightCore/TestFlightCore.cs | 13 +++++++++++-- 5 files changed, 49 insertions(+), 8 deletions(-) diff --git a/TestFlightAPI/TestFlightAPI/FlightDataRecorder.cs b/TestFlightAPI/TestFlightAPI/FlightDataRecorder.cs index 0149afd4..3df26a86 100644 --- a/TestFlightAPI/TestFlightAPI/FlightDataRecorder.cs +++ b/TestFlightAPI/TestFlightAPI/FlightDataRecorder.cs @@ -43,8 +43,17 @@ public bool TestFlightEnabled } public string Configuration { - get { return configuration; } - set { configuration = value; } + get + { + if (configuration.Equals(string.Empty)) + configuration = "kspPartName = " + TestFlightUtil.GetPartName(this.part); + + return configuration; + } + set + { + configuration = value; + } } public override void OnStart(StartState state) diff --git a/TestFlightAPI/TestFlightAPI/TestFlightFailure.cs b/TestFlightAPI/TestFlightAPI/TestFlightFailure.cs index 61c0bafa..82d6fd5d 100644 --- a/TestFlightAPI/TestFlightAPI/TestFlightFailure.cs +++ b/TestFlightAPI/TestFlightAPI/TestFlightFailure.cs @@ -166,8 +166,17 @@ public bool TestFlightEnabled } public string Configuration { - get { return configuration; } - set { configuration = value; } + get + { + if (configuration.Equals(string.Empty)) + configuration = "kspPartName = " + TestFlightUtil.GetPartName(this.part); + + return configuration; + } + set + { + configuration = value; + } } public bool OneShot diff --git a/TestFlightAPI/TestFlightAPI/TestFlightInterop.cs b/TestFlightAPI/TestFlightAPI/TestFlightInterop.cs index b85f40ca..ae35595b 100644 --- a/TestFlightAPI/TestFlightAPI/TestFlightInterop.cs +++ b/TestFlightAPI/TestFlightAPI/TestFlightInterop.cs @@ -131,6 +131,11 @@ public InteropValue GetInterop(string name) return returnVal; } } + public override void OnAwake() + { + base.OnAwake(); + AddInteropValue("kspPartName", TestFlightUtil.GetPartName(this.part), "TestFlight"); + } } } diff --git a/TestFlightAPI/TestFlightAPI/TestFlightReliability.cs b/TestFlightAPI/TestFlightAPI/TestFlightReliability.cs index f127a8e0..2e3c1833 100644 --- a/TestFlightAPI/TestFlightAPI/TestFlightReliability.cs +++ b/TestFlightAPI/TestFlightAPI/TestFlightReliability.cs @@ -67,8 +67,17 @@ public bool TestFlightEnabled public string Configuration { - get { return configuration; } - set { configuration = value; } + get + { + if (configuration.Equals(string.Empty)) + configuration = "kspPartName = " + TestFlightUtil.GetPartName(this.part); + + return configuration; + } + set + { + configuration = value; + } } internal void Log(string message) diff --git a/TestFlightCore/TestFlightCore/TestFlightCore.cs b/TestFlightCore/TestFlightCore/TestFlightCore.cs index 63387f72..a78daf7a 100644 --- a/TestFlightCore/TestFlightCore/TestFlightCore.cs +++ b/TestFlightCore/TestFlightCore/TestFlightCore.cs @@ -97,8 +97,17 @@ public bool TestFlightEnabled } public string Configuration { - get { return configuration; } - set { configuration = value; } + get + { + if (configuration.Equals(string.Empty)) + configuration = "kspPartName = " + TestFlightUtil.GetPartName(this.part); + + return configuration; + } + set + { + configuration = value; + } } public string Title { From 2d5339e4c055f1faf321e3f664fd85a98702de84 Mon Sep 17 00:00:00 2001 From: John Vanderbeck Date: Fri, 11 Mar 2016 08:26:17 -0800 Subject: [PATCH 08/10] Use aliased format for kspPartNames when coerced from blank string as it is cleaner. --- GameData/TestFlight/Plugins/TestFlight.dll | Bin 62464 -> 62464 bytes GameData/TestFlight/Plugins/TestFlightAPI.dll | Bin 32768 -> 33280 bytes .../Plugins/TestFlightContracts.dll | Bin 8192 -> 8192 bytes .../TestFlight/Plugins/TestFlightCore.dll | Bin 110592 -> 110592 bytes .../TestFlightAPI/FlightDataRecorder.cs | 2 +- .../TestFlightAPI/TestFlightFailure.cs | 2 +- .../TestFlightAPI/TestFlightReliability.cs | 2 +- .../TestFlightCore/TestFlightCore.cs | 3 +++ 8 files changed, 6 insertions(+), 3 deletions(-) diff --git a/GameData/TestFlight/Plugins/TestFlight.dll b/GameData/TestFlight/Plugins/TestFlight.dll index f201368ad21951945ba4ede651cba2262a5a39d4..73a76f6afa67ff5aff8de2ab8bd97ee4b9338599 100755 GIT binary patch delta 41 zcmV+^0M`G2=mUW01F#yO1R57TJF_02szDGV=&J=>nifQ-C4YmEKVpfq*x)D=Q4|o7 delta 41 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 HqxJs>?t#(+ delta 7796 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 diff --git a/GameData/TestFlight/Plugins/TestFlightContracts.dll b/GameData/TestFlight/Plugins/TestFlightContracts.dll index 7123908b8d1357c3cc64e8afef063869387d1107..d13259221a1f69a0122e4ac95119e4564d3c90eb 100755 GIT binary patch delta 84 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 delta 31207 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

;BQEz_PO`+BN9>APV2q=a}#;#u)C6fXBs;D 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 G*#1AGkFM Date: Fri, 11 Mar 2016 13:48:26 -0800 Subject: [PATCH 09/10] * **NEW**: New Failure module **EnginePerformanceLoss** causes the engine's Isp to degrade by an amount specified in the config property `ispMultiplier`. A second property `ispMultiplierJitter` can be used to add some small extra random variance to the degredation --- GameData/TestFlight/Plugins/TestFlight.dll | Bin 62464 -> 62976 bytes GameData/TestFlight/Plugins/TestFlightAPI.dll | Bin 33280 -> 33280 bytes .../Plugins/TestFlightContracts.dll | Bin 8192 -> 8192 bytes .../TestFlight/Plugins/TestFlightCore.dll | Bin 110592 -> 110592 bytes TestFlight.csproj | 1 + TestFlightFailure_EnginePerformanceLoss.cs | 50 ++++++++++++++++++ 6 files changed, 51 insertions(+) create mode 100644 TestFlightFailure_EnginePerformanceLoss.cs diff --git a/GameData/TestFlight/Plugins/TestFlight.dll b/GameData/TestFlight/Plugins/TestFlight.dll index 73a76f6afa67ff5aff8de2ab8bd97ee4b9338599..38b8ba4b4418ce4035ab52b629617b62dd6cbb20 100755 GIT binary patch delta 15204 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 R)7aFZF7n^stHmXu{|l46Wz7Hp delta 14817 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 l^4)wg-k1~Qd*I|;Uk?@55cW~3g=NB#j delta 70 zcmZo@VQOe$+Q1UXWNW>dEl^2GK=jRnx!Y!{Ik&_G&XnJEByqDvaR?`ut+kXm0|O%i ZP}Q`W5JpZz22%z@1~UfJ&7W&|SpYHJ6)FG# diff --git a/GameData/TestFlight/Plugins/TestFlightContracts.dll b/GameData/TestFlight/Plugins/TestFlightContracts.dll index d13259221a1f69a0122e4ac95119e4564d3c90eb..bef16392c31e5f024e984b32dc9b098afdb324a8 100755 GIT binary patch delta 75 zcmV-R0JQ&rK!8B7jtv6mV3UvyOakU$v)&D|2oV0-*gMx$6-Ttks!$eJ7y+}O7VHBG h=U^Ha00031=U}sz8ejnlG5|CHH~=sJH?#j60R(zP8gu{v delta 75 zcmV-R0JQ&rK!8B7jtv4nJCl$NOaeVSv)&D|2oTw;`(e8(l1_rS$`R@@ne(%t7VHBG hK06v000031K0C9P8ejnlF#t6HF#t9IHnaa50R%KC87=?- diff --git a/GameData/TestFlight/Plugins/TestFlightCore.dll b/GameData/TestFlight/Plugins/TestFlightCore.dll index 8830b0dcf42ab3a6aae4a6c6586c69d480df0679..e9006c3330357c6d1c78bed1f1604842e9c43be6 100755 GIT binary patch delta 94 zcmZp8z}5gnTNqbKi9AnW00S-{$q2+!;?EMc?~`H_D;LQ4Rv@<7sn>aBcIe57?5`Qy qpG;(2A;I-LK}sB?_IbkgX{#6`7&(m?Oc*Q}3>eI}e_zeW$pQd+H62I* delta 94 zcmZp8z}5gnTNqbKiP%{)fB_efWCUU +