From c251de3a30e9935f6d64ac25b855f32909a5c14e Mon Sep 17 00:00:00 2001 From: hecomi Date: Sat, 7 Jan 2017 01:15:33 +0900 Subject: [PATCH] add debug timer macro. --- .../Plugins/x86_64/uDesktopDuplication.dll | Bin 102400 -> 104448 bytes .../uDesktopDuplication/Debug.h | 21 +++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/Assets/uDesktopDuplication/Plugins/x86_64/uDesktopDuplication.dll b/Assets/uDesktopDuplication/Plugins/x86_64/uDesktopDuplication.dll index f0afaa6aeed68b58b6fc7ce170de71c228d15f1a..4a4bc9c02641d3ba22eb41981cec38e2f57f2813 100644 GIT binary patch delta 44733 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 delta 42899 zcmeEvdt6ji*Z(<3hKo2dD9BYA5C!ijUhskrDmf_Xc*kpa$>=I7Dw;Vc-f%?GT@9HP zrj<`wVVa^@;w8nhM6)t`DlDrpt>{iYJ(7k9I8WU6gu0| z6=mLfKjqN=1zCDotrBMr)LJTv3!Hs|d;Uunr_SnAa<{4!_$Z3$epLxqQB%I>*Blp6;lc{MB87A-;D#17$e zGy6=7Y)Q6qM>Nna%(vN3+kFD;?YF2(T7^H#T$et<$FOKcu@)O=d<9Z?I`M}4f})&1 zf8JVnD>3;J3fgZaJUQWdhVVZpaQsdkf5C%4N) zQgUNE6&0pNZf5^7bd3Mm0p87QU{#b_=URQN#i_r6S-7&lNm()u1>r2+cV(B|D0Y1v z0NLV+@rl;LmGKsnHE0;p!yU%oP?+f$9-jhxS8Qgtd^^wTh$cU8b)?l<2cB5u=MHVd z^IfW}g@5=jM&6g_3;#%1ip(EBaB!8&bdK8{pxe^yo%H0&q4aWx>KG7XI2h2=L9<{*H%wofh9|@HiZ*zxEMwuhjwo+BrT?$&e znYWSg9yn_)+8JL)+2Xd-9L&eRgO==IUHlW&=4^t0A1&`J+vGn)n_k4;@n5Z7*~rEO zyrB7tK+9khar)tjKQpT3-bU4nM{ZA$MsZd z{DMfaPq7;zvwfA-eJ-=e_yL%silbGloN)>uMvMLt2$ z{v_9AShb#2wusOkTF*Xd5vNUA&)h9Ks8-g&_>B4~t1`Z+zR5PU%-1q5F*Rt8_Q%)k zuAolpdu(ga-ECgRl5=y3wb1?d(v}z$&fgVG!~U#=X}0!BHCtdRNl695yCJ&qyr&`B z^1N&alK@w_5{|Qe!QZIsSxl>a>c{MSs{}3J4fboRH2>~jLZ9pUF*dk$q*ir|O>5nG zNCok%j-eQYCutDw<@qkv*1|veAS~ti!aw;SbO>;@)$ul8eV#bRPPIAWqRjzHX)7Z&Luoiw*V=YRryXo&*MJ$KQ>PRhJ#k-|w z6?-kDm;DXMSRJ8bh}rCStK+@Qfj=+nINEX69r_H4G99Nfid*y>-Q`U3rHm6b&0H7W zRuq(49q-=kV=W%^DMl$kK<9Bq1_RgruC+MCFSE;^na%3BswpUho*qCZUvfF1108(z zVO5FAbgaZ&apYkptvi=D52N5b*ck&)(>y$KjhQTwwkIL&-8IEL@9CO{d0uu+t^ilL zHXKDQYTF#B%XG|(w`HP|ENfA>u@AE!Lc`R-%&$#xkLu5Y)ayfpkZ0j_eLKYU<&ct=(3%8o<~P&=_-A`;YdEIM+GsV(|q+Ev~gq0c>F!&k?j<}K-f>=BAJ#(I2s5e)!VJa@)xZG_g zRlgIya{6;{5w_&)0Mtb2zKj2Rad z<*d>MNOx!lX6iUjb+9=d2W31}&BtN=y0eAnJ?qXYo|o&+LII|A$F=SsxI&$>I!2G6 z>s;7B*f$;PRO5k~gkh?Bjm3AmhKhYVXQ|JzJ39}^*nJ+=WH>B!83QY6d1I8%>{6Lg zSjU&QLS9~2$CtOIywFjZfr+%~Sy@d#swVnb_C@Dz>aWbyB}RSsKvI_!bFkkc0=`t(r?Suc zch|;FWkCZvXo*u<-vQl>=U(>+e#&wObm_exVjjiJtK5k+DSkSO6z68>innI53j?}q zcV;m+6sKgdjsv?HKgO!9FJ9lV?13Y-KeO1rfsc0nq#g8Q-(+?@x|=uT3=D>%wwX|B zbu^>J(B_X%S8K-Z8x*N6V{F5qq3X}i`{OXX zYw%JncH4nZ2lrIf?kva>mD1{P!=BQ3-qTY*9inpCQ(y562Jv58*&NF_bsIZq>EQ2p z4G>q_R(8!2qIKEIez#=y4wyhKloxN~Rn>~*G8@U1FSp3i=N>}4ofnA_^Lsg3NILyBe+L4v!W5t8~+L>FRHD@ zV@$4cmTDcUzRL=%&ue$hVVyEMXp>JeTgIi<-?qlR(l*=?Rv4gm!!Uo>71n2Dto=|Z z_%p#zbDRYi!`hL*(q%J|&Snn(qR~HCizofy>cJ}sbflSz(tmcOwJ1veJ+rva5zMR1 zq9rjIwAk%@(bIWlNTb*L?8W7*Fm-u z*?Zp_(AB4Nk)4i_WObaLG$n0f+T^q;*!J$SuD(?R87nT~=D%^*VJ*rsS&MRU!8Hu% z3#XG$TZ_^Ytd2jdj^GNYP&N!jW2M-&ISLxc7rMR#szo=4(w>+kAutcZ8>|E04tn&Y+h&Hg<7ti$t&SkqSqz<$wUt3@8H{&_mXjLNclYyb$BVJ{ zung?mfB)8c;!i)T<0NjohFF_bTZ<-PGe0_rbPp1`&$?|UjCsKe7QBz@>qCiO(4mdg zK5NeftviPXzEQ~Q^Fe(j?$EY+wU?ihZdmWBQr_Odo_{gqKiY6X*0%)PhL<3RE+scF z{8v*P7XQLJb%`&m+K`K09GyVpqg4TQ+0OVH7?$Cfo|55MY{_tZnbz~pv{`90?wl!B zA91i^L08^PmcwFre3B!=+U2Ts-6yN2xVB5!c*Z%sJog5#h?qy$%pA-CsMOBKdXb@kA3HM+x zTUgeFgjNsVPwkann?VC0k&$`$&oHVO-8(bE}$Y2)h+FWms4aA)BcbiKe1OwJDeZe;`5XDeC! zl+nIFV;s8rvSm}+`j%0$HQO;|+>~v6lF{CQu0l6nJq0sxd6L-!I0c1Or}+@B=N1#F z*!Xor?lQqOL80ru14Fa=s@ldCY{k?*apP79d(6V@p~yBgdo#N@b&Pgm35%T;r6#e| zY3k9s*pCvS&=FeKkBdZF z=jvFjS)n_g7T9~CJNcaJ)IZ#AtOw}$$9H&4eTijHPqr_oit6tjr+by(i8NeEy&F{& zrlz1i;mQ=`g)4N_N7Wg*X%}4YR>GB>7s-|8fWwu=FfoDS$-ETl$}UU~x>bC#()}Q? zpC@ov6yZvma7D+)aaS(57D2becu+t;z~uqj+jyXXj@I14`>+p($9wj2k8z1z0fyc= zTOP+-2w_gDk%~K5=d}-wN_NRpIq0sFxt`*Q{1=QPZEBD(K1sL4U zdtP^YWU0sPS*6_V3p1nbvE)SkZACLLkRQ@CaDz}sVQNhW-EDVo-EDo~K7dUD4a6mH z!fg|Vmc#fe;Bw$z;COv7(!kA-`1Cj38NhA;7H;na4kC>P?h8)}-I36J1STl1+~@SM zdxz8G(lmBpR*F5An%LuwSGgb3+#A#aZ{q8{p$iD_#CmV|LIZE!Aa5{i;0@rqHyq!< z8;MVU!#$F`0hYW0?sjh?b#I_sdh=|(H;;LF^B6lgtDilVn$F{n7r+l`?hdMfJMHV; z>2;eseDQ-j$H*NF2e<>c?heN{a7W_Pj|q2xC3k?k-JMN4W#>S*bZ1Y!JCAy~^Qdr# z+Ro#S7r+l`?hdMfJ8|{y^t{a-+MCc=d!5|DP=Gst>+W!T19v1o{dM6Eu;dPKx4ZKy z-3~!_By>x6cGtV}h?hH$u**?{?9_Di3x*q8H+@xU1}wZu4MZ)4ssD`Cz4=#??v1`+ z?C1NF3$BGn;Y|w+1zgwxhiO(=`3}dEH~QL_F7au=r#Xy;zyh}iIEXY{1?arX6$u5V=O=K?fksLed?cme#7 z=I)>xxD!+FPWQ&{ytZ4qQ$g-v2*4e{b$2+vfjbhPUf~`A>;_=T9pG+v=O%gk+T;egKep44#lzO?oNgdt77;8+#D)Z&CiT#18j^W|ae1gXAthvADE zLVs0Qw|t#^l;M|ZmVNPBpfbmtJcgMk2d0N35=dYd~EKk1Ng2Uv0k zxZB-XfeRirRcGjy?mSiR&Q>pXwhDL1IFCDCfH0)FJE#WkMAy5+&GUBWtupD(Yvc~b z0^9*ycL&en8}*LFPkN1S`JBL#JHXxUPNeP*bYr9yKB@aMb&JQB2UywNJ;UbWE&>ls z=&^BoJT<}H501qumoeAfcW9UHV@Ww9w68v7%X8ATxVu?pPCxD4NcKlgmw^0FXn$=u zQO3I6(=I0XpR^^%p3=G*52fL>Qds8`lwJkXeBGhD*}eC~*%cI_7JdknhjhWpc#D$v zsW{gGFz~29y4*PNwnX`T??L`M0ly`hBRlMcTfWLJCMNc7LRJ_ zw(pI*h`lqu0E$`Qz3sxD;2TKKiB%HSc=8@*xwr3-P4|e3|EAqm5l$x`!ma6a+;E}N zX{1&k(+`L`zz!5C)O&6dd+pwdcmBM|3-=pk&I}93>BJ};f(`L5yGj{4`ErN8;>|xP z_!nFOUr?W|bLX|>%|a{sjvSVAU;K!ia6D^s{E^|fvhG~aT3i+Is4Vm$+6&`~l!Qa0 z1xRP`nVp0^cDSPzKf4ToW{0s0gaOY?P+86EVSP`Q)41~y%np!4KMe7f#Tf=J9j_OW z?5AN|_V13&e1Bx$MG&QS08uiI##gs z5q~RBf4hpUUfP|FT=uB{!!QVs=~l5P^1HE+e7oN{EQs#V``C{BccwcZ#;MB4VxM*B zWW}0FFUBky^xMgpJe;^ZL}gyjrSIc;&-0<_JTIRQjS=8#{kin4$*dALdtKQd%grf) zxD|({D%YEnP)l(Zo{fH4gXa_UZ1hE9Ij&e87zpoVI!5?sb~$M+x}V;J2w~$^%*z@< z!g$K;ld-z4fqmVD)}i`y^L9M%v9Bf1OZ!v-uD36E5;H#3RlB)@4Sc9wyLVPd16NJF z&A|I6vSklF9rgAEl%Ts(&RYCw`8jK8K?L1(KkK=2Ym6D?nU2aPA%<_Zu+LZCvZuA7 zIfPY-uO#jBJxgT*(zL4g2&GkB@r7#fL>BpmcMu<7sG+4?kK*#-N-Cn+b;(e_s{ar| zc<*cOJraM{Q+)sMJg`{RtAM+GRo}Em=pF#wSk>8jeO13_na9+Jm$Cixy4cCEdRLOY z%KITrt_(pHg{dagCtT^lP4m7$J-Ja-_bjd+F3U!88s- zl`FvA?#fTAh3=8SitBCJI^CP4OFiCfVukj~&^M@a9i#ZsOmlJM^uh#|Rj@1U9bTtr zJD5t_nrpC@X8hXtToj=o zj37a4?-sdESP_(F`f;2g_CHzU2_VmknDJ@7oh&+ht)7tmzXqCm6y5tMa;Aam-hQt6f_gaf(7Sg4r8u z!nH2r*hg#H2DBJQ3XK85?B8ofYl|{jW?{T(q5>p8Bd^2jBI`}8pz!X1ws65(l-kC` zY75(Fe~xATYooPeqgcnaiT3AOQkn5-PSUIC)C(`!7`E~}u2{sX%=5!}H;$YAEh(up zjSz4cmlD8{egzM6?-R)yYtd*d5XO02)G$+UUEtP$J6UkY3T`d9E^w`O!A|33bZy?` z!qgBq4)QG-%U? zMs{<3oO+zK+z_RG(t>r_kf<(a6F0Qio(yEmH%zcw1L3dYZt4@dg2cs>)aD`HHDQYc=@>{ z)0*|FJauEAtI>tqVb~=V_!L&TPdO|p4X(mauv#i;mJIow-!_&v&JJYHZtNBE-Jgxy zCn}KL+&EWz@D64x>KbCbt$b;7R#J3Uy^D?A63%irg+-?R;Zcz>7bEX5o(k>+B*T#_f23EG^O?4J~8gGyN(ztZ84=dmLraFf0 ze?%w<|G6>bj%KW~q*5KkPCVMHEna%ci_gYz_y4IeuCK+E8jQ9__`IQK6+gHt3LGlZ2rwvr7hHL_05LUz71gjG6MvKfyXSw?B0mhvz5Ug;KX@1JbepM%dg}vD5CwqigzizB+>2Iv$NozuUmPc12(jHxZPVtnqWbP-oX(jI*;dzGA=%rc+eu6@>n)jZw1ZTXk=%B*RQAJcFTr%#Iyer7$( zY%M-9(rYNSR>#D63oCdcoPARk!%mlt4t%jYL<>*b?wmE9%_xd({YAYdxquz|iP?6& zp}o=#rkh!hXTrnibv=EN3pymH-`*eDtY;3z?(K>)>MH28$d?54djO2!i?yuJ?ire+ zD`UGmXu~Ja>wzhWxTIqds(-aNoaa5SYxwiLd|l&TvbM0E~8cR*Pg!cYl6ZgkF_QrFgI{sxN z_VN~BpCI-ldAPz9&A^ny%fR@++c+*;3)cPlx9n5!Xu6zM<+GN8zug3*C(}9Mcsgx{ z1+RW0TV`$iUP93m>iyM}D&8W-SJh}w@192*y(>$e@+x_impI1IbF-kehczfDJYJ(H zcG`uMP?nyqPK>v@Z8p4xh7z5V4-Q_O&hL-6--6aTQGnb^VneooH)aa_SFpihOaK%x zD`1dl^Z;TSY_-~<`zW{9@HFkbXm>|1hiBrw@aKp@ec~!L@y3E1?~U@f@deT)9uH4> z6`iG`!qn$K);&8zOI!obdUH$d@3;n`de=uY$lm3^lWTav`Y{M(%(dWzEL=WHGfCH4 zaM#8F3fKa`$Tbg?p3-f@Iz_E^Z6Wo9;WwL?XDi{^zlj0Q@?GJ_gLKz^#r{b@1PK_$ z7QEP|=S7%*W<&@!jGM*q$EizkJSr~U8DEYvJjf5vaNK9c!~8@%%)j##8?-MgG0RKQ z45U5lU3agNp(EL`ePgwMe8h||tx(@$8($h3(%BEM+gLG_GK(IdmoW~za;CGdUs@9K zIEI1SB=^_zaM$YU@gQ69a-82ol=gj)mA)LSeR+hv{&GbB=#J$4=)*Lu4X&2R4X5{u zCgFvKAeUb3E1CEFfg##h>Dt7BQWSH`tjr@F3z6g^zc?>FBW z=4spuNYn8Ds0IgVse7rB`RG53e8Vx)2Zm8UrrwJoa%H01jkksB;iVjI!w89#4`*9( zIEGY9;L-1+GRT6p@dXNKar#ag-TC0}=KSG!?XEa|FEMk#d`~j7k&dI04}KN^8!2G} zvn@K0(pE5Wq=Ul~Fl`cv?{yd+5r8y0rb^#Th(vG?OEFBV(FGWLpHsd#)C@saKeRFy zA#>9A@cP=@ zT%&fCb$vZNE)hI&?)2U$-WqUr4|w|3tzr2E=a6SzAqe>BkJ-gz;o7M=?B=nTv|kjq zI;|DFM4(Z8y=;%N5S>k)mo&!)OA3)Zh6@m6f& zTtA9Sz9eApeZ($SM%sr$l%MPK_VGH}FUqKI44fZ`<|w?C?J#CRKEv^GhNBLBwGz%P zK!s#-E*fGk(zl!Z@BU`Ub^Hubo%)1hoKzwRveC_)ss@o3@i_n>EA>Cd(v z->8PN@XFYsHit100`-P0hap2g6o%l6)h8Kgj|$!+<=6{5j6a>>)wKSQjX56PsfhF5 z5xiR;@Rn<$>NP2B=ZS)0iNNW@AZYC~=zG*U5K`nmu6})bAl<0eeY2?6@89Cspbyxc zC&T+b+mG7gtl+sW-_~DN$44}TW^vIn0XuOS{T1q$O$B{sv2!Pf-I0P4k2%i@bLe|7 z^#cfLk2(4P`nWG2K&QDy(U;lhuZQ>9&Uez61@G7QZ?i~FE(aHVNxT$2 zR!cj{K6tCWpAWIzQ-h|O_uM_r2Urz+zt)u6-Fm?C_7zndUdtlS_t09`vQg)EcN~m0 z&lNBM$L*ioc$2s012xvO>ETFXl20nYCbHVqiM?1goMpW`&F=-QAg=WB?8v(r_Fe;# z{uNhR?DNLZ+Ees!4d2J~?25LO-{$OtG+iQ6G4TsiTONg4z8~p^e8Wq`6R?Dq@!i;p zxCW=vKJW7*I{a_UBl>!bXP=jElK4E}vBe7L&9=SQ1}_znA!1usP6^u9WlAO{iD4%e z1me@Su9OlsFn3D;ZR;K(CI+@)g+$V}F0PM|N&*14J7QP2PBLj%w;8*-Px~mbXtdCg z5Oh8Hy?za9*2U8tVO`jW3t8Hd3byM)SHIs0*xAM|Ul^%v8N|%h&ue`KuyfUIwKij! zt9qEdC#JjS(%ZU|mm;L8U1Kmk@f7}$-cUivH*D93$qlsYI$U*K<^eP_PXaD4y`N(~ zdG>B}oti4~lg9E(uM=2Yrz(KE{nGm?CN=5q4Bg^lQ_xR$dvc=3+IthlO9f!W6V}v`vk~_fN?#|n~ zJJ2oN>09qkf|ol9?3YW&?DrodcW_dYg>PmgZ*YcV-s*(W4=&D)bf- zKOInzy1RnC{ZW_hG36+5eC&AJnjAV1pu%fItncIN#ece&G^f69-vVEg4x+Ej6&s@} zSoL4p*YsW|NIt9$i-{B&t{)Ic3(_u#o;AD)4(UB>s6dJa#96~hnX2$7#rIWG za~&ngvp%@q;2SRW{0L>*?X;I-*u_u76L-gucDy7}Y}m+?(2j>V^{qu; z3@J8FiebT@wbPbxnF05CWNcnCP@&2!zL<4mu7M6#v6b_mLcdml(l6Vw!q4u|3hnG2 zC_80mH$UqXZ2AX!5;g}tgR}RuhJWv69X?OeoQK$y&xf>rbT7Imt+2|cL+ucE(C{Kd z`XTm@&r{5S7!c{}K3Nj6`kE3{8?^clB`8~26i7&bzI%L?)$(ftnxo=cmj!LFyOazm$}IBC~|qN3#-g$4Qr5u4@!}t;Cc2! zO`MkdJbSOEr&fEAsn;U4AKS3D*TS{W+pvDuhG>7cVfoj_Ym3^j^VedcdbUBU;vCQ7 z4qcBVW3@Z)DuKJe6%1vq8GSJGM$+>wq`-*mjQ^H(T#OqJH2 zly-@9@o2NiSBJ8tU-S>Yi{x=CZngeijgdC%SyuT)NdE;G0m>4*6SVNWQP?r5w%HY$TXrbGLtC(`5!YjScD_thi z7Q*<5bPA>G64{4ewKul!2^B@@`Dly4zRdUQDIRbS)s)0;5zV?NE7}5*^;iz`TL=23rMwg-KRLRo~dtvA&%5&qUmM!3=79`;8oA^eZoH zB>-7}!%R<0>htCs7AW!L6K~jXtE=Z%pV&zCwB@&zLdEJ6rNoMaX&#h|SW_UV-*6Y( zH{}!WdI!LYc|+Z}BGTmfjq@U%L+Kik&ZYEaq)7*4%#`2b$tO{s>l4Q7`U;4DKEA$g zZi3Zbys3@~<_YCxl-^5ehfusz@aZ|pjcn0u+=mjIONjD?yHdhy_PK;{VOo@aDSzF(1yh(eD%6U^KiZs_0Ez-FpQ^TJg zh>7hZ_}uc+)t;t=1DtogJvoyiz*l%icy=CX-r({>_tqL(tONLxrK+KX@U;`?}|>*9DNX2RbRXB1J?insU6)kSEC@(!ISYe2r1YMdu(PomM0BGM(q z?<&&t?W-GRFMfzfrx4#?r1_|vfe`|o9AC?Ko104FNYQm<$R!loD1TWLS}0u=%kKED zYuowsLPxzLuB~`KWYcK=J@A<~MzXEnwF{29i5~}Yq~|&&iatGlUCz$<624A9K7R7<;vGcpEbOTGzGHY#tf97KcDQWK;M3~eVxo$_X$q;H0W-oHNk5dd#d5*7 zO1e?fw%f0HzBrQlm6T_b6Uq~(%cmh`%$KS}zx zq|NcGMijQlmX4SC6i}*Pu}a27N#{s9QVM92o>?RmRY>}bq>o9OC+TEK>F0GQw34)L zp~!zI>6;5xUcVA9E97W=lu3Y|Un&Pt=T$;MZ%OZvG+WYqNiRuSCF!e@u9b9$q@w*% z%QJSNc)O%}#Ul#@KU>ntlIrD4CBCbqZDjdTna`2=6_P$8=^;rk*=6E;Nqtv~3PU7q zCuwI%^@_`71>L3GG?||#X`Q4GN_tDuFC@Jpsr@~fI4$XTN%e~2WCeQON0!G)+NKe{ zwozBU+9+S$FdwK?$0)pt-0#??UzTo5^56cezdbrtGy~O2H(+)1RK-jg1iJ64>!Na@ z%o-ug3-FO!D)^?y1ug3)sJV;8Nt)YL@aKKqkUwYkJoD`P?{B?e?(DpK7CeX_sjLSc z*zxOAEnDSFg}1CiFg(dQ(nswcclr~lC|OWTlAzU+|KTUj9l*7!lJYfDz9Pwa)kke- zuSt@ITZCMNlzUUsf54b^d>&6@8nQ%e4u;*^(ypkxnn;e7lk(E3_>aK%H7-K1ouOq?P#sXOVKX zGOyDbnXi_#Oj2F0L>gL_M|yBAFW?D9$#zEgsju|1HENLm=J=(X&TkEB$2;?1ZoX{6 zPe(`Z?bKmV;l%?RZ2g3zxtoQ(dNoPKBCj_{g~Vky!euwaIi3D$FH4HhS^ic-osF^u!P6UOgN`Z4*fZ95g&R2F?JhROQd6)Cre<~^$MWnEDh)`GyN(#-q zs0}GNKUn1lH@86jk+%$SMjF+QYQD2)b2V&0zd9$KKASr-o#UZ$c4C4%ZI8A|S zxcy+dM?EcGmB`br2nAhzQ_Y?aoSCEkXPo6f;C>m->z&3`aQmA85~NfBIgSi0L%y;9 z#J_(SSIBYHP8*%OTBr$j8`x&fY}j4pLp^X3PXx{)aa5vrYhzpmT9O|wl+v#&T$1pSBA zqU=8x<^1QOBwl21s<-M!ds@`Hw;DG?<^K}5u?ZaYh-tKXr`|(~A5!@JJ0($a^oogI z$@Fw34a^$ko5D3-ul8n&^=c#VW~o;nN;v*hj?wSt$w23`xufud#xhSOG+}7@yprL; z;bD+shMXCcf{r6v;)NqSOOc12Vvnr@$`rs~+}h0`0AMw8V`AI<43fs5mHkRp8< zYV4fiOlzfv&2Bu(swR4T(Z!n@wIxm92;UogJ&;_EvuA5e-o|W;V0#-yUR`mnZmqWF z(`3*Dk0L56MZWPUqzW42Y)#-ulXq2oRFA*iQR1&0FYnTj=F_CK2_TKCGOU<-2tuL; zd7ETV$$x72?EkvbLOWUF&l@9^oIE(wQy2Ae74nT6qp_3JXt~Z4A!vPX--(UY2<$$M z*{&J?eZ2cQXNIa#4Kz|?Se&y%8&yPXms4%ih)wmE-OeV5bDCzSG|l#JntjFjW8*4G z_ui)2`AxH}O|!$BX1ko*!kX}MZ`17TrrF_5v#Xugn$o?oX||zOk(uu9lKWRA5C3{>h}9N{2usRs*rnB;@sAL%Lox z%xP)|(QxOkwrcCv8-bw#SF#48Y96TW<$+Y9 z8VdgWQ&?(2I@b$BMP#QQysIPIy@P*GmkO&Xf2w*~JjW4V_*rOt(MsG!Puv7H)~knQC_Hk_pKOu^g4 z@}8>G5u-)~)M6MEz}|4@xEQr{|C&Yy=#AM}zHwt(xCPCUdZ24Vxr@!LJyhq`7&SD2 z`jz^yf>%M~yG4Ly8#W)Xvxf7=(a@j~)wmiOF5ZEx)j8hokO$rY-n3W4nw5IYXfHzp_J>Echz$oROKN7KrNgJ0xsU4n zyrUZ7m){qCo$NhdlO9!-y?t;>;mwULc?4@uZ!f)1I_Wareo+11p%OAK=j;w@Yt`lqPQWOxaH?@wpK4*2g357B>9x4z z!mJ8ZkJDVaEc!I77KqUHCg{?GsZl)zR8KM&q7^d61SNW~HNv{kSbTEW9z$)gA&DF4 z%ui6mJEb%NQ}gMnydB+3GEp;Yyy~GgZ3;^5>>ar4lHskAn!`I-oVz+;l$TLkh)HLx z_JZW{V&|3iqKhiAIBV!*J}1jyHF<)iiMmnDNtg#+n5W?JwUu8>>bxAz?^oZ$)o2W- zEfL*r@-R)5uYrKgIW7Tu@tdaMY7Oa&Qd67{B&tz{GN7>%pwy6p%OM{x^_4ZN>Bq-u z8y_czpEEWQqQ_`X87JA{cmCaUWVpXG_E9BZ({$}VZ2ZLdtYMi1Ed?*p!<$6B%7!?8lv(9e zyFf*CgQ5&xbfp2$mPRUS8uB>K=(%c5 zuyaLMH7>Rcx1-&8$1PG!rC2Gcx92QgOgN<+vd%ZUs`k$3Z{fxwQdLHROB0O-2GPxu zmP)$kJLmjv>a@-_;7fpw_16^t-XTg!Yy8AHVm{8!W5M_2o!@p-BO^(_3HsN-CDL0? z0}tWYcg}X*)xIsS+{B&`PXnl|@}_f6ceP_X;#GoIL+=nGL zpvUTbt%usBQ-Kt-#3{-{h?I|rH7Mb8LTXy&24|a+1l;TlNK%srgbWdvHM+FX{sImv ziQrj4^-v9O>0ZL3GeF(nIhQ7>aT!!b;ZsnO{R)(H{V4gy?}gro=9<#Hm#>X1HKSD` z0-Gs;L;Y;N_2yhlQp4I%ab37*$TEmh!|nUt*|MkFrh6sIXm3H3s-UQw>|<$Ya>e(~ z@jcZsBP*bT!dudeFJ#`^9I7uk+(!xT9iTKH@0&|DR7)Fbr48uRZ+ohJd57%{cXsTh z_T{z~NSyM6u(ibx|J~M{w1&2Z|KL2-OC4zshYkuIK*_J6GVg6G)#u&mrf4kvT}0i% z(LPFa??9#H_~zUPSCnW+o7A%kl)9)y=CixX_60?7+LP6uku)=Cy^DzSRRYKR)fjSp zvYXkoB#h3tlhw#pG!rVJcnvVrIb}aMe@j+7w<*9=tXS%jJlqjuY9}KWq&oZdRy+EV zOlg#J4yCDabEBMFdaG^t46#Zh%cW7DNh522aGva~-qEUjn3x54G^}JHmJf4A_EEcQ zw}v@K_Q50RTf7{@;(8#x&9C4Qw9*D&?;*bG@1ywl686U$G{uk?sAOBv0Eokf>-IL} zMRfC5V)9xmQS(|UVZDQuz)LmYIi$zL@sy{Z4FAG+C~v> z;IIMw67c!bl^2Sa$8Z9NSc}JKvEVn%Q-?IdP(w`gRmw);OP+{zLm@}Jd44=!37+K+ z9Hx>o0!RkW-zJ3KF37~Y+K6HVfO_SF+xjYP=LKMD`PWaaYz$dyn56m!BCFBDqeX+w z0mW$Sn4-2b&}d0q}G7gj)aIVa61Eq$08I+VB1*J+(g3^gm+v(yQz8@&@$AA+5Fen|G zU7T(b1ra!I^IgPOn4<$Rqsg0Uc%xryZPJSwpkzRfq%#O8n^Aih|9J(hHRI_5mf&GeD{0EKoA!e$WsC6e59D0|);1q^ePN(_F9+ z`BDM4cRnJ-M+w2~#?FRcboQd>D3r{Ty&LYUgk!53f(w)XA|H+^0H#)!_qvP2m3u&G zm;~cBkcfFk;9JnBAiQ14f&dlPpydlB@E=kzbiNdf@>QaG8x`YtOpILLY+3}8q+I$> zqLNz3lX*tusV5>pY3%j~O_F-Xfl{~+l(5U^j}_p}U=a8TP-?AbC9v_h=ucjS#v|tnLCr}D6{@Lhe&g zQvb6vZHU@>CaEt0jDqQ2p=u;3g=?Tx^1I|W_8>=>yHCo2Qn&`n<(&KVDsWuDi%j=R zC@6(%pd2dsjjIUP>xxe^LW;WJQPh2%G`B45fW3x(VOPzo18N$wk`nkK8T>CiRKMATYPv#{e zUkFO!OPQ|&C9QpzigGct1L|is{_vaQOJw=$pcLvF;_dYU8>N7GnNTQp8NNy-@?RlZ zGR2O?J0Foq(_btXH2vvf5Z+!@2BMFC|I-&}?bIe94GNpsPSIR&|r&e@S?d55;p(DJfEZ z=JhKrB+Zp_&q+N8K*{j=1p>FqxobF{TG8mRNi|eZiDFXs8z_ZltA*GhPzvvXQh9Kr zi&i3ZP$(}H<@c}US!FvY;X~Jn{6J93tN3}VRTG;#`=zTL()sj*0xB>|`;#^b;0RC( z;;QBu)+BQUo7rlK`@y*@T`m^oU{k0q5-K`x;#uWQP%60$N>w#pEH+BH8d)Cc5OVuL zN$#vO_zpEJl4{Ndv<7Ta-l4|X%aA{V7(Pi%&W3pmn(MfA@WMpkv7n#Y zli!x)q8@QulBCoY<3@IiqRb;b{FJ2^&mRXbPwJ*}?>uDe^+FL*K8i7~rDELfYomJ} zE9~Se2sQ>~TNULU#ABq0-@6!j{xW#gQaP1-=e=cA98J-&Nkn_vyae)%2486s!&GGe zDza@Ct@9Eng&WT0Bh;w2gsDvs5am$;$pEFW&bfbt9FkQ!1ne>iYxx*QDI-Ct-N(rM zW|DeIjZ;8A!VWez{Y%k$j37+z_5N4nx?3DTUWxgpR zQoQsiWzus{3cJfh{&`ReUzPE^^RRA&$xGO@OMsVwQaB*AbnYp!Z7Ey z(P~&gk<7m3+=VP(KK#ARsYNkWx8y}3wH1`|kIDQcnWz7rq|kbwD337Xyl}fuZnJDH ziCTvKJ!~Y(Ewa1{l!DJo0^b}IVWe`0WHjYZ1(Z+^P{@|J(?Sr3Cqj`gD21WU)nnAw z-Kg#oDV8fC7bV2_iVz6`r7+5QVvHJf7hTqKAVO~14Z;rqpoperch zBlsKcT_EHv56MIOro15Ed^}`%pOqhkRLGj}EC40`CQuFeUWYkbv4Rr6@$RqyMpLNd<$-SZuTmh$dCjJ_ z=ff`vm^HwVe7SVw7$`|r$^2!|qzZxgCn$x0BO>1el(79l$);?X-yqAM0wtfak4hV3 zn=27&2gO($Xs-#V<|l#K&5|@5^-dOyAwz0p#njSeQgF?i(1Nh(xTvrUl(4}~9H010 zJ^gHD23P) z!oYr@+`vXpXexBMa0%E1$^}nKLFdBpcwvtkq(sM}h;(fN<eEPGd=wFD2U~a0e)b!ncHi$3aPfYQ$!@cWWF>`R4N7GM+wE zqU<_i*=(^BZ;?N{{wkDmftE@&z&|4XB9(gQ zg@93MzFo(+z&$E@0x^D$Frq=8>-5JBFt+-Lxi*RM&Wnm+DVU+}cv)JXcYZNZjq6CO zLuF^r9bq=cmgT%?oxeaSM8E6oJW1`$CtNA8J5*7g3oNywzM`y@<8z~=kAV6>zD(x# zf%+m}0qO^O8We6Q)u4JPc~|KC;er^(J*&kqo>z@~6dL^7z#yehgBn2JmidT_LLdp0 zD)|Q}Rr2R$QHlQt;_x*Ylqy{XO6B`N3I94M>AwI!WUX_BN6fS~tLCKGZ_E)0kVUplq=;?CfKVF;&)B6n+ev!D)Pk2@t2TF!gX@C!I z+Tw69hY8KU2=e=9I9vZ5=PmG%C zsJ{}L7oddViB~9ip}m4@gi=KbyoR$OMANU%m#3(02J8G@Utn{DnDDDGEC7#3BYOua zk&D{Ygygo))^V=^bLW@Xr~r58m(Dg>>Vtu{uZ2wZeDQLcZ~lC|j&-;5g)FsWOvzWG z(EC#tsD!`;yv-I^0|6n#Ul20kMKEXLRMiw&+eli28q3{W`--V*WHbM}NkFUJ?tFQw z+ELrfoMWcqCZ8&MZU2HSqFe3}?=tm3nqmdS^Kx*O13uj|(>+w#Be?SH!M!gcZB=Ri zOgm88r_wrRBKQp&*Jg^d&4B0Y+Aw-j=awLK4tJt5u9Vl!n|Obpn^A%xo-x}_ zKm6cy^$X2jv494?2(RL;m=cWey?A3r4|^WQtpg@Q0m}4n2D~gxl@c%B*Wl%Vm+Qsz zS%r6g!K?DB<0tUSP=`(6_&8BgR;x-PfZ24sBSRK=Db4VDuorIyc;(dy={A+3JZArfW_X8mR_X8mR_X8mR_X8lx|EC`SIsDCB z)zIQ__gr;`?_>F@%UQZojdo@}r1~H3x?J65 z>}rs6y%H#KI1$zpF@eWe8qi9i(#l2+})|E(84;aUar3C?0sX!Iu${Hh~^PwEIITy_gsf zh6^atCeS+&v#2uA4-l#18qj9psDLn_ei69XQW`W1u?*>KP$d%gxkwZ379}uApu3`R z3J-oc=)$%_XF*%+0Q_R`+=~=}&O@Y@$OU~%roG>C>}>YD0eKwhC9&8608jMah*qSD z2FAfCq)niyh&f1GK=s!ki4JNH;|5~~K#5GmJpkE2ug0T^kgfsU*Ae_7up0CRBDF*< z=oblS2@BGo-y~vNLTS*$ow1is!*epw-w+9pA9GRWB2uf+8+vCDUBJ|Uj<772J#x(2>ktS+JoQE{g2W7e}&5pl{9fnF!PylKf z4iAtfdK|GD=}OS`>DZPcT>@&q120CV0}r}j1iAp}T+p3XIDvE-XbmEDnUaC$Q;1i< zuLk`Yk@H8&clGQjpqKW}Bl_Qg9U$nph|x$B9XJXtfi%&Ph{U&nK7mLcd%uV0{f=HG z%3EaO=Tm?ununN!G*LTZKGO7lo?U-ok7(#8;B1uSGMJ$6r4QR{+ z2wO35Kz~EDBCSkRlur=zk*)!)%fcN1@uw=vQ;7K)s0_6E4DgXQfj)t_aU}Sl?PrRG zD+zQIA{lA}&6|n-rwqNRb!|5K4+6EIIdcR*7nELdqGJ{Bmz@g1YcUV&2KYqjC8unp ziC#y{MVel0T6q`BkfwK)66fRA1ZjG|=uN~rq$}-6ymB`LMvE7K-p|3=DAM#&PqTY5 zkdUUgcC`C&TssD7Q0;zOJFq8^b*OqrSKH#Y)}Ux zwJ5zD(rg)K5Me+MAu8kGF{u8|2PpowEFW_d1w!y(Z9)C_NG0gO1%G_%_hkjc6_KlR!@*{=cfuD7J|@j^o!5 zlJVq1MjXb6E-b!?T1?cCm{>bR5_y=3!W3~uWm#feDiJ6Ta(#ozh(%^salo~^_D%w$x`e~<-zli!HSwT2nr>s$Vl-JGR1{@gGQ zqZYg(1^p>1jaMjPdk_5pugJjOG)=RS4hXxyp!4DtVaOh$Y4M6MoFtS{!WX`zvz+gx z&01(Pc1L75$$f6=%v5-}LRN_rK zEIfxoc*ROywRuk96+`(2B~2C-O!+WJ2gEC=63FxU4zIvUCkk%jY~V`{R|2mf$_AIK zg;y};=vVY)yn-*&UsL`q_6eUpMyJCoYqj|}mBTBZvSok{yO}-*&3C`ylCqG1ZG+TE z9T2{Jf~O(tmHSzBl1_?OqNibq_IsP&4!geP^5T049@G?R(nqoj{p$_&WUmBHm++JwPGWiwkIt z%KY$O1YD8u0(y=0;(gSPuMU7OGk>H;D9#_mQPhQ>g3n&!Ho`0Vz2`D#hF3JY<2ucO zS8(^Q5^eb&2fjfkMeXu8@yNm}j{5O9y&a!`{7_%HnT!dV5}CDI14bhziqwAkZ(kXt zceV{nz87bG@4@<8l``TJz7N3zXdV0Ph9mxZvE+NP;dbR%jkme~XIXfj4LsO6$)(13 z!9k=7iQ~SXfR9gA)~|$3NEKZVcOsQfz#`Im@y|QVh-04%aQ9tqS9}6)|A}L4HHpY! zE+N%gTryp`3+muHq@9Y(f97>enMdJ%G=o>r_6kxNg57Z z_u_y#L#&$}jld1>Sqd@Muqjj#jhc8$R^zSjV$50J{l;26@( z86^o`nI(C^K4Wkj3gS&o+xiOB1! zvxXju+X*{qr)|r2?Lm9E=iyYKfm!*hQ-RhRFE^hv@-_LMbSe-sV@}*jID4I>lXfhp zS+yBl-kt`X!MsLpVIvA@)hNphEin3c4KEzb&P(wRcW r%Y?JZte36ti}tyFygux(9iuj(oR#x(&H11c #include #include #include + +#include "Common.h" #include "IUnityInterface.h" + +// Debug flag +#define UDD_DEBUG_ON + + // Logging class Debug { @@ -133,4 +141,15 @@ private: static DebugLogFuncPtr logFunc_; static DebugLogFuncPtr errFunc_; static std::mutex mutex_; -}; \ No newline at end of file +}; + + +#ifdef UDD_DEBUG_ON +#define UDD_FUNCTION_SCOPE_TIMER \ + ScopedTimer _timer_##__COUNTER__([](std::chrono::microseconds us) \ + { \ + Debug::Log(__FUNCTION__, "@", __FILE__, ":", __LINE__, " => ", us.count(), " (us)"); \ + }); +#else +#define UDD_FUNCTION_SCOPE_TIMER +#endif \ No newline at end of file