From c40b6c7c60af8bf10b74357ed749819ffd18100c Mon Sep 17 00:00:00 2001 From: Nikita Krapivin Date: Tue, 11 May 2021 15:40:09 +0500 Subject: [PATCH] That'll be 1.2.2, thanks. --- libmulti.ged | Bin 7841 -> 8677 bytes libmulti.gm81 | Bin 0 -> 12788 bytes .../extensions/libmulti/libmulti.dll | Bin 51200 -> 45056 bytes libmulti.gms2/extensions/libmulti/libmulti.yy | 32 ++++- .../objects/obj_libmulti_test/Create_0.gml | 7 ++ .../objects/obj_libmulti_test/Draw_0.gml | 2 +- .../extensions/libmulti/libmulti.dll | Bin 51200 -> 45056 bytes .../extensions/libmulti/libmulti.yy | 8 +- .../extensions/libmulti/libmulti_x64.dll | Bin 57856 -> 52736 bytes .../objects/obj_libmulti_test/Create_0.gml | 7 ++ .../objects/obj_libmulti_test/Draw_0.gml | 2 +- .../extensions/libmulti.extension.gmx | 22 +++- libmulti.gmx/extensions/libmulti/libmulti.dll | Bin 51200 -> 45056 bytes .../objects/obj_libmulti_test.object.gmx | 2 +- libmulti/MultiD2D.cpp | 8 +- libmulti/MultiD2D.h | 2 +- libmulti/legacy_extmaker_def.txt | 7 +- libmulti/libmulti.cpp | 28 +++-- libmulti/libmulti.h | 7 ++ libmulti/libmulti.rc | Bin 4638 -> 4638 bytes libmulti/libmulti.vcxproj | 1 + libmulti/libmulti.vcxproj.filters | 3 + libmulti/libmulti_cursor.cpp | 75 ++++++++++++ libmulti/libmulti_legacy.cpp | 111 ++++++++++++------ libmulti/libmulti_misc.cpp | 17 +++ libmulti/libmulti_wndclass.cpp | 2 +- 26 files changed, 282 insertions(+), 61 deletions(-) create mode 100644 libmulti.gm81 create mode 100644 libmulti/libmulti_cursor.cpp diff --git a/libmulti.ged b/libmulti.ged index 0831551c51d80d58c27bb10834101770d122d99e..8616d5b55a369f227f7a639f455425639bc64ebc 100644 GIT binary patch delta 510 zcmZ2z`_y@Z6eFYQW@*L`GL!S!cqiM)aq#5lr7{2k4-kt@Hjoox%Fmlz$Q%Voc}=1fAU>L4glsU B67T>3 diff --git a/libmulti.gm81 b/libmulti.gm81 new file mode 100644 index 0000000000000000000000000000000000000000..37bbb5dcc0c5e82485eb53d164841163895eab34 GIT binary patch literal 12788 zcmb8VWmH^2(=H0Z0t9y_5ZocSg`mMLxCD0{+$BJ8cMC4T-QC^Y2N-l1+~L4`&ikEp zf84v)tu;M+c0EwI z^;ci{Tg?tY3)PW1ZU(-cQ}p-_+SB;%q&|*R=aRD1R}aopG-`U#X36}88BVOs$5?49 z?}|EV4{rb6^P9TOpdsHs>{-4IG!N##**CK2ZT{fyVg#L=UC^mY&j6+@1J8aoAlN!* ztn9&=1D#S->c>`IuhlFK47$t8%2Emn3dp_Sl|lsMG6tRj%O?%GuxDIcTmfa}n6 zqi!T_NAv%Z$;V*UC*4EZwdHMMn*qs{n>bHicrBEwN!C?5K_0~r6A<9uj`sfe^e?0^Jl`f)PCr3w2V|iR7cjK2;Qi|8{t#*ZM zp|ROnl`C>IG>z{`vX&U%oML0)BW9#EoSbSMBZ^<6>YKsJ#VU8TjxSqKC2yL-zb| zjkSAv$~2^kD^7ZXaMI%zRU>&PNKWoYMNM7P)+W$kK24#fs@nHmR1~G=*QC^i723*N z#>%<8u(0s{@iD{D;GkqoiNF?FgWok)3vj!~D_Ej7X2%JalO-LcY|I#DR9SPkuA9+K z74|aX%Fu<`g^`OZX*`oZnMt=L0S+D>iJzKIUf5ix0>)Q^C8o2plYGdKKDwwVdCG3- z4?X)I@x>(e^&Cz{VEZZKWuQco`^(Ry>wW`~RI<(5*je zGBQTm4b~W3c-YuqZt(JlU`Rs7c|(ddS4u#d3qjAmDRwH-n~fRbdm*fnuAW@p4^E$9 zykZ#xw+K9~iCquCE~u%iz@43?C=&kPncc~LEe55;pKE_zI-xEe@KA$e;}V*;Rj{2-vm;eHw;d@mD(b!``j;#t(9zgH zw(wA}uE(*zJNHnR4g4dNZh&AHcj|)$6?n*VY9o;3@8_hNsw!4oOw69=sOUeJ&DU1T zODxesUpH_9Z2qZuiM7$Puyk6j#R5Aj5ME@qu?$8Dn;-A1>NoY>jN6EA{00$d)M*-whcRm%5PmyT4WpH`Z0jTF zE?U;>1hd+5Ff$f;5o)_V2TD%(u3Q2%&VHe7EBGhN8WmHZ?G%Qh6qis=)Eh(_8XErI z{M|9W*&K@F>wOV>S;=1$dtU@!JvXPyWj^)S7Fc{D`OhRPN2Z6nTZomkn#2Lhw>OHr z-PJ%==ULobh-- zVlSER?0n>Z3EiP&$`5*HOT;)3!+jnYeyT0X@(81%qN?r=L_q$q04IVQ^a|Q+fAk#G z;T@p%z9dced45YK&|B^KSrWeV{+vUE!A|$!>bdM}BJ|u{pTulAIZEm&dzHza!H}Bu zlOfs*JY5Yr>d*~xTi4O?F$ypI#~Rv;UzJ_2;b-mR7nQ_keJmR`W1E39ah+acVa&w8 zFiZ$`+BHP)Wcs{!5o^%A4va-uB(OWA{*rXZjPAjROxHxS01X(}boqt-wazRrz_9yXw{n0Oea(CJ( zz}|sF&(j=U^4%Nm^^f2jKu?qcS;tW@p@Hg@&VL4 z*ehRRR>p-|Q=#1$WnyYt6A|%ABt|?Ip_*vY>vT$_0hDY#UBGZTj zMb;=ogtBQ6etuU(3tO z6xr}1xI=J^aK68JBARZO`_&pmU-v|T?H3QcNstSz?V@V=^Ye3x8}i`c`!5jx78;TO z6sX3YEVGG>;Rf4v`YR+=H8tw25W#P{M+=+229dt44_$4Oc2)*IDi_&^@M!$Q{Rtw0 zwD!;!%ty@~Gry}nZ^1aQ*+{Q2%~kNNE~kcA)UxP4D4QbiC%q-UuiG7Wdfvw>YR-8< zdu{iOwR^mDH#jfKq5K1E*k3vuGg}77?mBcE+^GiUhaX+=Fa0?NA_yq2upa$fdq{nr z&R&fXe4fE*mwJ!AMb-q-L4o_p($|!U=~e2$CL?0eoY`VmrO9e2_JgqqjCyl%_$|SH z;crn;%nHxQC=@~&_k&C~Gn*CFnGXyn7Pgem!uqD#J}&__kB6A6-4;M~CPrT?CY5`S zaKgA`b^Yzlv3?TqEV*>9>R3uiA@j&-@?N88!GS{gOnNVd3&cHvp~N%Ei4>(W%Xy>* zqgRFxm(Yz1Z8ae{PZrR~3i9Y&M_XG%&MnapwyoyYCYYXz5T5 zqfZ7i`AI~RGJUM^i{9P+Y-qDx3IFNO*Cncx&X$%mo7D!nJCg%A%NfXQp#zPua5g6w z7rhYdOD%tEdvf9amks1LZre2;17xJscm!CV9GDm)PstkJt`_iGv&vGD!x|keE$e>! z>F4t(wa8oH^FAy?rfQcM(b%`gvN-NR)fkIcwxdf)l6%WX(rmAb9~gjdfc-JH{bz%@ zxybY`0-nGW9*11=p`0N@dC~(EXZ?Q|*J=U);6UVe)IRCCv0_k)r*Js|A5;dL#mpCx zDHTQ63-X((_2;Y@=;O%i`sbonL_>IZ}WXEuwRUX%tN=1kAxG@pE9v39iM9=#K-&-R_OQVAKHX zE64;6nTd*uKlKr@&ND^!`~Z8%v>uP^_E-gSZG3v z@l?MTbRl`xw<EA#r6f#j{bQJ@gDuJx~LfZs{0>o1Psz5kiwQrMh6I)S61o84(B~RJyju6~BqQ0b#Wj^Q5@2n5p{){+7 zA2ut!^*qZ{ZPpH4Q|JgZ80j^bdmdZQRsv59SvgFeseuP*K?z-rPnsGb%5gUucNlve zL5J-aL1aQ8y*)fLtK#0Ytnuv(yve>t2tmEimd$QYS9RCnfUEE>z|XULVOj_5(nqyt zJ#rO+!U?gLNuPW`=4Yp!umkYgb9j>yA!0;}$Gk@5sZ z0syBB=7z(5KqKjXJDl-&C&$+6Iu-Axwhm;<(dowGuOGuPBtX7UN9T@}+8ECFi>Xg- zm!??Bkm;{NtQBrm*<`D)U2<(0&{;OV+#o0@Xr~N)vTK75bn1B8JogE0eu^mr3n=i{ z)y@@{qw+UOXEcX%hPu1tHHLd>?&wHrv)2HiiAc~qV8Z}y4aRGEu2Ny`HdXE-$>KX% z%p+|}Sq9FiP(e5;#&-dP~*y&rx?zoKFl{I;7P#?0VCwfTeX+G4tjBU6$!9ht>;A}S(!1xX@hu3tlIK^U z+CDYjtt+sWuMB1*`j#SF(b5r8v=i|o zd0?b6lT*NKH~9>IVmkrAmC>5IFqN>$iV6%NT_%6}auf#nu>>>3oUQp2_}t&$AH0(0 zn9ahjHG1URHWpTyi3`%d)s|%9ZB2J~^F(Sc0am!ZZ8iHF_C}LkOQU~)KB%4ap)Ha& zMWsLYNN)pnpSePs)9n>TnsM|{o_3~Q zkIG^A;I*(Uj--#@3mm{6=|kp=xBn*jb#^0f6Q`W@wnG%1YlBdB*^t?Y&eSZ|r$nNV zSBe>!BL{r)f?<8TgcoxL?>~0HQ1?7!v|KZ-mUhlPx7wY%>hleMr9FAfqJ z9C})gToDt_#UcHRwuSak<**dft4_CcMaZ8Ry;IU zFvvToZJ^$4X?~^NDzTPd<-XM_7anF==`0Wp8ddB>*&#h3Iw0E#=o#+zAzMvRap|y4 zp_(D1Hy12=t6}%kNu^{x=jEfP(gbuu%T53svY5AMH)|L(42($jH>b1f83#AKr#$6A z70Xa*5)1+S`FV0}CO5wqL*}aoq0LA&WKG#)^MST4AwuW=X1OhBGs3OycRkYcU_1AT zzXj8$wxI{(iAp+m=~M5v#iq~}+`DfmAM3s6I2?+w`q)m%nlJBI)6QQ-n~Hz^@c4GW zM8cn7x^za@=W~g(hmb(5m;{yRP_tv)-C6t1;)7G|v613uheSHRcoMS_q$|22{wEHz zxv1L;S9AL=66q2H)!wCM!eBl)Y*9H9XQa$)!EhxS(2Mj&W$UQMuDi{EPs(FFS05pj zYZAb<7SPOMtA1f9gnPM?_?qr_wiOa1nU+2V(o+Q^eLyR26G-te#0}R|pQ!s6uBjse zFC!~2_EMT5=O-L!D=98s&tO*QUAN76s-uF}mRxh|kiyo|sTm=Lp_3yNxa0b2tmE8Z7dgoY0tOlj)N zMxUZ-$8fzEtR{hn26y*sYdRR}=_@URCI#7T!vfFV=#7!*13bT=!Ii5RM27L0%T}BE z;4l*AY(t+=w(ojvAwUzLfYNl3a^Kf7@$;wUGE;pR?F&c2(JbwOU}GsZyc+p*uJTol z=(~@vDDHk3xp_vAwwtZ3EtlQ#E`6PlmdjPXJH53a#V6JU$!#`v_8Q$6FYavpk<-7a zXOgX6xGswxS0rG~4Uj5wP0VlQp{X*d3$YBnT_>!Bes8tN!&mM4`o~Gt@ zE89C`=w|_irvkTf$=c9(IkyAjUOg$;@c*qbZV+>04o%-T#DV@{=i?jkjB{g_!vWo@^cOUSf)>6$YH^G|fQf(V2}{=6wJBV#Y84+z zATzbSKr=O;e`W&qJ(HiWr8Y(9C;rvOGrulZ2z?~jaYuC^7Cl}l&qE>NLLaoOvzVn` zX>n$-DgT%Ewq2dxU%#&Neso!B2GE?Y)Q7*Z!jhLD_?31~?zgS$Ow@DbRAD39R8$_q z;k_%`>_)riVZA8AVgKz$VWfWj)XEu);wf78OhY#FbW(Qb-MB>vc`kj@bas5*Uf3}*LitvpGSoChewtx zpzmu@m6A-{i@NvW=qls3anfp8&^1xO{x2`Chsq23R4|s^!L$dl$?kWa;Hs*-Ucgn- z+NOr#gl-}Jb1n$IcSSmFb{w`nC@((fBAzOQD(Zq*rWSaeWV^A!d;!~@SX&z(&)&c0 z){f(H zf|{DIkMZ!+Q{u8>V`<0PF5O1IfiD7B`!^>C(|sX_prYw<4P}C}{eAQOb06YV*wFp6 zQ|mo8>$%@;Y8wkQV$?arW-`ozG z0PG;247*CY2MS&Hjw~&uyf9--a-}qs8+o#@INscJgYm_t9~rgr@zy5|Zjp5dxUEN= zg|W_PTn784y5ai~G%Kx+_}X#|oHZUkxV!S5jM9Ie;6HK(^b!$LuP~B*IgK)4x$+Ms zY%S7f7xoc#u?(u?&k8<2|Iu+Yx*x**b+?rnrxgpkIHFOWG(YWG%@s(7mX%IxQ=Hi5 zoJGeLb$sj0?E~y8`)VOs&bHLApPo=!|8Uh09`NO#y4w!DMMw_wOXcsUAa2)7d>mcoCw7lyzjIlc5ALSFw@hK5I|dT@bQ@O z9iybr{#*aFgCleUMP{}V1tzGRhr0$QLG@d0PbVvc)<0|w5e>GWN_g5dQ4cFEm_6?t z64RTS7HW*QSomCpVy%jD{s_*b*V0G{+AqGZZawErdN%r0TF5Jy3LNh#BOjgYYV ztj-air;b9#iYsS=e_D<9y$7$%S9Z2sj2F~HPrO(dy4J9#hs%*<>eZIzR&^E>m<{J5 zmuH`*aP-X#)3C{`WR@Mxnm(CZ&evJQ8?C!3RyVjf-OPQN{MRFWNw){$G#y}}WntR; zF}xem*Vp}nfCINve_6l?$;E7+Msq(`;_~XSz}#!1?pA?CYW|p$4EKDUO*lhYVIrlQ zEhiGZ*#kxUR;~Bc1tXs|0-3i zWP?fxkq{BLvFRNb-Z%~ta{R@@pFbaCTPf^Fc{5or(+e02*9GG{X!iE-zTPM zT$hxamq*9NrM6r5UYx3wla$WHf5rj}i;7e_*RW?kfxL{ZX!Vk% zLtDNogNjs!eiI{QuqE~EgOtYFFbP#T{F?w=yVYxnGgCRDDEHPbE)7E#k`efyFP5kC zBxh6DjKuW#->M<8tNVL<1Q)AMPhPP=Tx@K6`Y&K>{=Jqrx}>VC{Czo`UaVtO7cDV4 zIozwUrY3HGEY)bp9gk7t+s~grRdscl95?&J@xs?!?=SZ1Ea&NC9~b846fgEMr8n3k zDHa+3`e)2!rOUnX;QUZ+E854P#DtpHA2aPrGNRGe==T-i1Je;6J(`O(hoW1>;pKH@ z+sEzjgkivPS$GKT@uet5G6^%NhO*Nuq|nFv`)+yvqP)s{LHt+Xkp+FHi`s5w;$phR zIUbD#!KAkO+TEX0+XnoLpSvZTjY7u>MHRZOYP-cmjW#(C1Mpgp!-yWoBSm#DMUxi) zUNGlh-BOR-<(K;aBkHd&OzjWH&U{x^M45NngqbbZEs2Ag5b| z{x(h;~KDWg={XSsrtJI?= zXp<<@XpiYeTi9yH9Pt0#dt1CEzspzHv9}GoV%Ha|01t z$O?iJk~ffHFtfLAY8cT#d|sGL=PxomS<;kQV47Uzu`<=Pv7sR{j4s zg2Mzp`uI7lTH0LJ^c^I2+U74I@MC16p|yoEF3xOJ%q;A`V75MN`MwsAU-n7;%6QhQ z5`c(B{B^`h)iX1P={&|rS?;PXvveMek?3U<=hZlZ2T>ba;E0sWzlx^T0FeBusC#)bE zt{uZIAa90J8d5z)!#*Zc6+`&d@Tuu!DJ5Y$?vn*Ui@BU)SCtOkn9BZ8nXFmvH#6}b zp>4L2Y}Y2&XN=d^-h-34$Hj@)vp#8xCl{jMuY=0n0K%||36pgw|;d|-`^Kl*Vd0F zmc$U&Cht;;LC0i)Of`l%wGMmOO@;;nK)t_tq+%J3;-mzA8_)C4w$3i69vZxyoSD^)Gl(u-9dbr$p;jP}rB;HQSssD6US66>7ZSj6P zaX-_Bs9h?&Epkcmlu=FQny1yy*IDk@OVH~Jghl=4MkoYt>O^<)gso{Lj8rkDuH!+1Q|v-+f``FA8$N+l5$A?YNgy%(sl z$Edm%A`jc@dA5;qPoZ3vU@+vPG~~sOUn{`WcOZtWbs;q-c7k>aQyt6u#%@$nHu0F&_KuNxUd1_(6~yx;=89xK8XV4c9OdMj$^#`~h(aUt6Z`xYV=CP48QZHl3 zzZ)$zsmdOe|H`qb5<1l34S-6AhVidizX*H~#STg_&*D_j#2@b?{5@cFi3R^n*o15J zVooU1;O~I6Ra8TDijtD#Qo~r_N|{x27i;|_9~YD<=6SvimDEoK8-LG_1JUv49Ps(3 zNF`E!Fmpx-KN<252?jd=WmcrP0aC%&JT|uyzZd%C5nBk78uhV26WcXVh816=V&ktfl}dUQ=6%Gzp=g{d}SDA^Md^= zcZc}E!HnKU;3lzohe2+i{^4`7f22ZFZ57dY*NuV_z2{xb16Tfoh2mK&u3&6-9Vt~95TjvH5~qxOC#I@uOGhAs)g*6 zlrn)7%hVOXU%UB_dNsX~;0JuaQ$pPSJKkDuk+4c##W!wzB_UbiADRzkBAqI#Aj(kL zfRHANQf(Uh0YT)WrTv;q(u#4nAvdH#e#;fBeF8tMAx>nKVS)>^v(_X#-<(1pGVD)` zE4T9no=U^E04YVFNi`CWqI#062VskA;GpR!L zMI-=rS$a0FYl)OOrGdG%fCQ;#K^Q|!Hh1~2vS{nzzPM4(=lKEH zJdvj0|CWom(wuS=Q2z+b*Pp~__tP1mhZ9FcWG0{gfj*Qhly{%{^?Siq#n-ES#4f%v zJ?OR3l#4bBxuDGpLZ0*RGZ$mNGoRN#!8dH4FOQ_yJ@I0FE;spJ@t#v+B6ti+<2VZ5 z$PyN-qJLIykW+dbD);cGzBF9yOUQWWuFjcP)S05Fzb^1pPRBvY75|QkkB|M4Ui5T< zg~QhiOP61CizqjG$e3}Z-7#bLi18LmM{^qygk45$Wo{J6%v_D!uIY4xp@!@H2(w@{ zMdBT8kjW#^LRj?Ju*c0*y1915_z~CAYQWgBlKAWE>`f&Rn?YbP^Ssj}7jrX3OY1oN4rtQ#vasUu|5%kj?08uIJ+@jwi1(M0 z-8A))n$3ZQif8^p%i4h&0&cNVW|yc~51;k#>Nq5Ejc0+6st08F=)#iqqF%W?dr%9R zYU_>n(=*~*kXv!?OpUutE!Mz{?OECWK^RwRLChFyYD0zl%%40A+O1NjPydot8D2Mj zmL?j_*jZ}j^aPTSg}+oOXPMLQT5_6Vo=8q?%Ta;gjI~66NM?VMp;!np^s$0I{Fn~G zFB>qdIT`fh3@Eq4p4hHhg7W4{*c%dY_CEGhr(}k;Xs;4)sWL$>873@QHu)F*&@GY= zUw%~MsbW6ec3sz)PS_CiDJU}OlD1pYa$YE?pC4zxD*_eOErrf>ck25x5fb{P_n`{O zL|sp*358C2kSI=RqGz`e-h#H`p=9|@=akaq236|Gs~$!CGkW2uSJz$LM~Ivc^VVl; z@OFU8pIq@Ox#Jc(_0ZX!62$^hJ2iNAJW5X}OAuG>(yUD;}Td7_taI*ph!meYJFVb90N~G=z3E%IKJ^;PAHdTgNl;Zn=XZ z6;@<`ft<{`3cDd>y<#(lpgcxOgxAcsThHl4@rwLV<>S@-l48){5?=5bNcFtcR7S?>;WzAOqAO+ZH# z=9$@xaAhTYL-8U5A*nx;zpHP+&Q;bQ_vIm-eB`~ehAr@$w*PxT{9d@0^Po^ZG5NA#TyZ~Zx6&eJY9zG%37kP!PxgU4Ge(}+B z+YAPRCezhQwba%ZTqwdljvKfY^9m`bTnooH&Vf4S_*h zNuQoW*g{R@1=tPQL$``StYwIq9mv)jzDZ8P4mH-1{CxgulbJVeAOhP#u28)gMhsJK zb8rZkys{AiUw?Sa?>doTh~t?vr~ViB)Lk-><{7|eSdFdyqSJJ~sV^3{g7QVZDR9X4O%;p&`UV5s?fOJod_^~(JtX|=R!Da92u z_@baJoXMqxbzxT^NCfRXmV_z@9fk1-|M&UUYG2Udkm8Xg>U^ZVQ;VpawepfcyxNPEQgwb@?ZQhtYN*E#^8Wxi1>N)o3S*nCAGiJdktE6^9=HcH zF=q%p5cBqE2U?ctW-s(ns;9URl4uGTo^17dd75C-JM;39ecK6MvS(qbUB?^QT!I78u@FYnY0ZP!P za1I0jetzdNZYXUxvZt(~^5K>Jia_G{k~(cR6Z;I!b%$V@pZjhj6sp#ixkL}?&0{6S zv8Cq0KQMxvW+%n5Vi1xO{MHs+p|N1M+OpE+>piwIHEuB~NQ7G7@H0_!BjsXYggNj8-5OWV0ox9u3wtDfECU2SW3DQl} zNw}n|7b+%@b_?vxMCBOay`ev+@Ewx%Q7+o~wFMGBH%{&M<{7DUd{z&+b9$chZhgBM z{hRLxDg8_P-(*m>%fhEtcORxxHZ-8n;gRZWYy3Ak5XG%x($ZogZh|XlDWleoMHk_O z$H-fD{9|X6O?{sSuzQ}~%0Lx?SXQ}{P0rM&f0bH|41q+W@STj>MI4P;0gLtgW@)F? z;ra+L>41)!d1+7+MxSpjp{9ojyEg>|?R>1J57r*Lbt zt}Me@(k$oSW< zEvTK`r?tDQzO}hoSNZf!jf**vq)_Njgnm~Dn7_6P{7 z0+pOo{9q!{kX{iYQoP{cKfXl6N?fC$dLNv(RH3Mck)uFC$tLAx^9TbKJLA8z4urQU((>#rU-VlVs$4J^Ku1TB~A{PI;(cW2m2(w0; z;D`uW-*Gq-_SLTyo?!|u=0#deK^s;Xza)!FoJpf<=$X&JnZ>PlWdk!J2Coo=Yk|eh zRmU`^cYe3c8IeX*ncQkF8@4jH+VYqyc^t#&no+_3WGf3)j@q8c!eOBE$IGig0G583 zj067ojYNeb)0x&LHDLdZ_YQ$DMMdK3Ez<~ZQ~Upt|EA>K=KYU(%g}%1-A~2d(Zb0D z@P7Xe{h!(c6#P46=WJ{IKghf0U69|}cLO6UGspi2{GRT2fqQF;22SSx$!TQ*?Uwc{hN4|M4d8p(@+i+5C_9e}VV8INI6hn;F=cyc@nJ@>cDC>OcboUrybJbQleD%oG_WTBkEx1@laqz5*?;E!Zuhow c|09@h-{NjgCbodLPRJGCl4@Y~zo+@X07?b*lmGw# literal 0 HcmV?d00001 diff --git a/libmulti.gms2/extensions/libmulti/libmulti.dll b/libmulti.gms2/extensions/libmulti/libmulti.dll index cdbb2a72b37396535110641649a12d9c3743c8a4..53fc9e4133260445885cbe42229332aa1e67f052 100644 GIT binary patch literal 45056 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 Mlc8Cr*`oP>05=m(3;+NC literal 51200 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 : Enables or disables GMS 2 pixel format.", + "hidden": false, + "kind": 1, + "name": "libmulti_set_gms2_pixel_format", + "returnType": 2 + }, + { + "id": "b95bb489-ff03-0bcf-c7fc-0038b2455a0e", + "modelName": "GMExtensionFunction", + "mvc": "1.0", + "argCount": 0, + "args": [ + + ], + "externalName": "libmulti_get_gms2_pixel_format", + "help": "libmulti_get_gms2_pixel_format() ->real : Returns if the GMS 2 pixel format is enabled or not.", + "hidden": false, + "kind": 1, + "name": "libmulti_get_gms2_pixel_format", + "returnType": 2 + }, { "id": "dc2752d6-4b1d-763c-2381-7ab34feba283", "modelName": "GMExtensionFunction", diff --git a/libmulti.gms2/objects/obj_libmulti_test/Create_0.gml b/libmulti.gms2/objects/obj_libmulti_test/Create_0.gml index d4dba21..076a8e7 100644 --- a/libmulti.gms2/objects/obj_libmulti_test/Create_0.gml +++ b/libmulti.gms2/objects/obj_libmulti_test/Create_0.gml @@ -13,6 +13,13 @@ window_set_size(640, 240); //alarm[0] = 15; // window_center() delay wndclass = libmulti_init(); + +// GMS 2 is using RGBA pixel format instead of BGRA. +libmulti_set_gms2_pixel_format(true); +if (libmulti_get_gms2_pixel_format()) { + show_debug_message("libmulti: gms2 pixel format enabled ok!"); +} + libmulti_set_game_window(window_handle()); seed = randomize(); diff --git a/libmulti.gms2/objects/obj_libmulti_test/Draw_0.gml b/libmulti.gms2/objects/obj_libmulti_test/Draw_0.gml index d2816f3..3710dbf 100644 --- a/libmulti.gms2/objects/obj_libmulti_test/Draw_0.gml +++ b/libmulti.gms2/objects/obj_libmulti_test/Draw_0.gml @@ -56,7 +56,7 @@ for (var i = 0; i < ds_list_size(windows); i++) { xx = 8; yy = 8 + 64 + 8; - draw_set_color(c_black); + draw_set_color(c_red); str = "a libmulti window, window id: " + string(_w) + nl + "x: " + string(wx) + nl + "y: " + string(wy) + nl diff --git a/libmulti.gms23/extensions/libmulti/libmulti.dll b/libmulti.gms23/extensions/libmulti/libmulti.dll index cdbb2a72b37396535110641649a12d9c3743c8a4..53fc9e4133260445885cbe42229332aa1e67f052 100644 GIT binary patch literal 45056 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 Mlc8Cr*`oP>05=m(3;+NC literal 51200 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 : Initializes the library.","hidden":false,"returnType":2,"argCount":0,"args":[],"resourceVersion":"1.0","name":"libmulti_init","tags":[],"resourceType":"GMExtensionFunction",}, + {"externalName":"libmulti_set_gms2_pixel_format","kind":1,"help":"libmulti_set_gms2_pixel_format(truefalse) ->real : Enables or disables GMS 2 pixel format.","hidden":false,"returnType":2,"argCount":1,"args":[ + 2, + ],"resourceVersion":"1.0","name":"libmulti_set_gms2_pixel_format","tags":[],"resourceType":"GMExtensionFunction",}, + {"externalName":"libmulti_get_gms2_pixel_format","kind":1,"help":"libmulti_get_gms2_pixel_format() ->real : Returns if the GMS 2 pixel format is enabled or not.","hidden":false,"returnType":2,"argCount":0,"args":[],"resourceVersion":"1.0","name":"libmulti_get_gms2_pixel_format","tags":[],"resourceType":"GMExtensionFunction",}, {"externalName":"libmulti_quit","kind":1,"help":"libmulti_quit() ->real : Destroys all windows and frees the library resources.","hidden":false,"returnType":2,"argCount":0,"args":[],"resourceVersion":"1.0","name":"libmulti_quit","tags":[],"resourceType":"GMExtensionFunction",}, {"externalName":"libmulti_present","kind":1,"help":"libmulti_present() ->real : Returns true if the DLL is present and was loaded.","hidden":false,"returnType":2,"argCount":0,"args":[],"resourceVersion":"1.0","name":"libmulti_present","tags":[],"resourceType":"GMExtensionFunction",}, {"externalName":"libmulti_exists","kind":1,"help":"libmulti_exists(window) ->real : Checks if a window index is valid and the window exists.","hidden":false,"returnType":2,"argCount":1,"args":[ @@ -191,6 +195,8 @@ ],"copyToTargets":64,"order":[ {"name":"RegisterCallbacks","path":"extensions/libmulti/libmulti.yy",}, {"name":"libmulti_init","path":"extensions/libmulti/libmulti.yy",}, + {"name":"libmulti_set_gms2_pixel_format","path":"extensions/libmulti/libmulti.yy",}, + {"name":"libmulti_get_gms2_pixel_format","path":"extensions/libmulti/libmulti.yy",}, {"name":"libmulti_quit","path":"extensions/libmulti/libmulti.yy",}, {"name":"libmulti_present","path":"extensions/libmulti/libmulti.yy",}, {"name":"libmulti_exists","path":"extensions/libmulti/libmulti.yy",}, diff --git a/libmulti.gms23/extensions/libmulti/libmulti_x64.dll b/libmulti.gms23/extensions/libmulti/libmulti_x64.dll index e3647f2de80a6645029d25cd479887a196a932d8..2761544c547e144f3f5fcbc6e716ca96cd963e7d 100644 GIT binary patch literal 52736 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 literal 57856 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 I@7{R-2N8oCBme*a diff --git a/libmulti.gms23/objects/obj_libmulti_test/Create_0.gml b/libmulti.gms23/objects/obj_libmulti_test/Create_0.gml index 016c862..7449e54 100644 --- a/libmulti.gms23/objects/obj_libmulti_test/Create_0.gml +++ b/libmulti.gms23/objects/obj_libmulti_test/Create_0.gml @@ -13,6 +13,13 @@ window_set_size(640, 240); //alarm[0] = 15; // window_center() delay wndclass = libmulti_init(); + +// GMS 2 is using RGBA pixel format instead of BGRA. +libmulti_set_gms2_pixel_format(true); +if (libmulti_get_gms2_pixel_format()) { + show_debug_message("libmulti: gms2 pixel format enabled ok!"); +} + libmulti_set_game_window(window_handle()); seed = randomize(); diff --git a/libmulti.gms23/objects/obj_libmulti_test/Draw_0.gml b/libmulti.gms23/objects/obj_libmulti_test/Draw_0.gml index 13c8924..3403084 100644 --- a/libmulti.gms23/objects/obj_libmulti_test/Draw_0.gml +++ b/libmulti.gms23/objects/obj_libmulti_test/Draw_0.gml @@ -58,7 +58,7 @@ for (var i = 0; i < ds_list_size(windows); i++) { xx = 8; yy = 8 + 64 + 8; - draw_set_color(c_black); + draw_set_color(c_red); str = "a libmulti window, window id: " + string(_w) + nl + "x: " + string(wx) + nl + "y: " + string(wy) + nl diff --git a/libmulti.gmx/extensions/libmulti.extension.gmx b/libmulti.gmx/extensions/libmulti.extension.gmx index 934d01c..33f3802 100644 --- a/libmulti.gmx/extensions/libmulti.extension.gmx +++ b/libmulti.gmx/extensions/libmulti.extension.gmx @@ -1,7 +1,7 @@ libmulti - 1.3 + 1.2.2 05/05/21 @@ -68,6 +68,26 @@ 0 + + libmulti_set_gms2_pixel_format + libmulti_set_gms2_pixel_format + 1 + libmulti_set_gms2_pixel_format(truefalse) ->real : Enables or disables GMS 2 pixel format. + 2 + 1 + + 2 + + + + libmulti_get_gms2_pixel_format + libmulti_get_gms2_pixel_format + 1 + libmulti_get_gms2_pixel_format() ->real : Returns if the GMS 2 pixel format is enabled or not. + 2 + 0 + + libmulti_quit libmulti_quit diff --git a/libmulti.gmx/extensions/libmulti/libmulti.dll b/libmulti.gmx/extensions/libmulti/libmulti.dll index cdbb2a72b37396535110641649a12d9c3743c8a4..53fc9e4133260445885cbe42229332aa1e67f052 100644 GIT binary patch literal 45056 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 Mlc8Cr*`oP>05=m(3;+NC literal 51200 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 } -HRESULT CMultiD2D::Create(HWND window) { +HRESULT CMultiD2D::Create(HWND window, bool altrgbmode) { HRESULT hR = S_OK; FLOAT dpiX = 0.0f, dpiY = 0.0f; @@ -73,7 +73,7 @@ HRESULT CMultiD2D::Create(HWND window) { RECT rc; GetClientRect(window, &rc); D2D1_SIZE_U size = D2D1::SizeU(rc.right - rc.left, rc.bottom - rc.top); - hR = ms_Factory->CreateHwndRenderTarget(D2D1::RenderTargetProperties(), D2D1::HwndRenderTargetProperties(window, size), &this->m_rt); + hR = ms_Factory->CreateHwndRenderTarget(D2D1::RenderTargetProperties(D2D1_RENDER_TARGET_TYPE::D2D1_RENDER_TARGET_TYPE_HARDWARE), D2D1::HwndRenderTargetProperties(window, size), &this->m_rt); } ms_Factory->GetDesktopDpi(&dpiX, &dpiY); LeaveFactory(); @@ -85,8 +85,8 @@ HRESULT CMultiD2D::Create(HWND window) { D2D1_BITMAP_PROPERTIES props; props.dpiX = dpiX; props.dpiY = dpiY; - props.pixelFormat.alphaMode = D2D1_ALPHA_MODE::D2D1_ALPHA_MODE_PREMULTIPLIED; - props.pixelFormat.format = DXGI_FORMAT::DXGI_FORMAT_B8G8R8A8_UNORM; + props.pixelFormat.alphaMode = D2D1_ALPHA_MODE::D2D1_ALPHA_MODE_IGNORE; + props.pixelFormat.format = altrgbmode ? DXGI_FORMAT::DXGI_FORMAT_R8G8B8A8_UNORM : DXGI_FORMAT::DXGI_FORMAT_B8G8R8A8_UNORM; hR = this->m_rt->CreateBitmap(bmsize, this->m_bitmapP, this->m_bitmapW * 4, props, &this->m_bitmap); } else { diff --git a/libmulti/MultiD2D.h b/libmulti/MultiD2D.h index 806ada9..7daafc4 100644 --- a/libmulti/MultiD2D.h +++ b/libmulti/MultiD2D.h @@ -24,7 +24,7 @@ class CMultiD2D { CMultiD2D(); ~CMultiD2D(); - HRESULT Create(HWND window); + HRESULT Create(HWND window, bool altrgbmode); void Discard(); // Releases all resources EXCEPT for the user defined bitmap. HRESULT OnResize(UINT w, UINT h); HRESULT OnRender(); diff --git a/libmulti/legacy_extmaker_def.txt b/libmulti/legacy_extmaker_def.txt index dbd56d8..e22aea6 100644 --- a/libmulti/legacy_extmaker_def.txt +++ b/libmulti/legacy_extmaker_def.txt @@ -46,4 +46,9 @@ function libmulti_get_max_height(window:real):real function libmulti_mouse_get_x(window:real):real function libmulti_mouse_get_y(window:real):real function libmulti_legacy_check():real -function libmulti_legacy_dispatch():string \ No newline at end of file +function libmulti_legacy_done():real +function libmulti_legacy_event_length():real +function libmulti_legacy_event_is_string(index:real):real +function libmulti_legacy_event_value_name(index:real):string +function libmulti_legacy_event_value_real(index:real):real +function libmulti_legacy_event_value_string(index:real):string \ No newline at end of file diff --git a/libmulti/libmulti.cpp b/libmulti/libmulti.cpp index 55f45de..980f482 100644 --- a/libmulti/libmulti.cpp +++ b/libmulti/libmulti.cpp @@ -10,6 +10,8 @@ std::vector> vecWindows{ }; DWORD LastError{ ERROR_SUCCESS }; static char* LastString{ nullptr }; static CRITICAL_SECTION* Mutex{ nullptr }; +static bool IsLegacy{ false }; +bool AltRGBMode{ false }; void EnterVector() { EnterCriticalSection(Mutex); } void LeaveVector() { LeaveCriticalSection(Mutex); } @@ -118,10 +120,10 @@ static bool _winapi_gm_paste_event(HWND hWnd, double window) { if (ok == TRUE) { clipdata = reinterpret_cast(GetClipboardData(CF_UNICODETEXT)); if (clipdata != nullptr) { - need = WideCharToMultiByte(CP_UTF8, 0, clipdata, -1, nullptr, 0, nullptr, nullptr); + need = WideCharToMultiByte(IsLegacy ? CP_OEMCP : CP_UTF8, 0, clipdata, -1, nullptr, 0, nullptr, nullptr); if (need > 0) { mbclipdata = new char[need]; - need = WideCharToMultiByte(CP_UTF8, 0, clipdata, -1, mbclipdata, need, nullptr, nullptr); + need = WideCharToMultiByte(IsLegacy ? CP_OEMCP : CP_UTF8, 0, clipdata, -1, mbclipdata, need, nullptr, nullptr); } } ok = CloseClipboard(); @@ -205,7 +207,7 @@ static LRESULT WINAPI WindowProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lPar WCHAR wch = static_cast(wParam); // process exactly one character. // size - 1 because the function won't handle a null byte. - WideCharToMultiByte(CP_UTF8, 0, &wch, 1, mch, sizeof(mch) - 1, nullptr, nullptr); + WideCharToMultiByte(IsLegacy ? CP_OEMCP : CP_UTF8, 0, &wch, 1, mch, sizeof(mch) - 1, nullptr, nullptr); double w_char = static_cast(wParam); // me can't do bit arithmetic so there we go: @@ -261,7 +263,7 @@ static LRESULT WINAPI WindowProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lPar } case WM_PAINT: { - d2d->Create(hWnd); + d2d->Create(hWnd, AltRGBMode); d2d->OnRender(); ValidateRect(hWnd, nullptr); break; @@ -394,13 +396,15 @@ dllx double libmulti_init() { InitMultiD2D(); EnterVector(); nikWindowClass = register_window_class(WindowProc); + libmulti_cursor_init(); LeaveVector(); // RegisterCallbacks wasn't called? Are we in legacy GM? - if (CBCreateDsMap == nullptr) { + if (CBCreateDsMap == nullptr && CBDispatch == nullptr && CBDsMapAddReal == nullptr && CBDsMapAddString == nullptr) { CBCreateDsMap = libmulti_legacy_create_ds_map; CBDispatch = libmulti_legacy_dispatch_stub; // initialize a custom event system + IsLegacy = true; libmulti_legacy_mutex_init(); // overmars why } @@ -448,9 +452,9 @@ dllx char* libmulti_last_error_message() { _libmulti_free(); - int needed = WideCharToMultiByte(CP_UTF8, 0, err, -1, nullptr, 0, nullptr, nullptr); + int needed = WideCharToMultiByte(IsLegacy ? CP_OEMCP : CP_UTF8, 0, err, -1, nullptr, 0, nullptr, nullptr); LastString = new char[needed]; - needed = WideCharToMultiByte(CP_UTF8, 0, err, -1, LastString, needed, nullptr, nullptr); + needed = WideCharToMultiByte(IsLegacy ? CP_OEMCP : CP_UTF8, 0, err, -1, LastString, needed, nullptr, nullptr); LastError = GetLastError(); LocalFree(err); err = nullptr; @@ -576,9 +580,9 @@ dllx double libmulti_set_caption(double index, char* _name) { LastError = GetLastError(); } else { - int needed = MultiByteToWideChar(CP_UTF8, 0, _name, -1, nullptr, 0); + int needed = MultiByteToWideChar(IsLegacy ? CP_OEMCP : CP_UTF8, 0, _name, -1, nullptr, 0); LPWSTR wide = new WCHAR[needed]; - MultiByteToWideChar(CP_UTF8, 0, _name, -1, wide, needed); + MultiByteToWideChar(IsLegacy ? CP_OEMCP : CP_UTF8, 0, _name, -1, wide, needed); BOOL ok = SetWindowText(window, wide); LastError = GetLastError(); delete[] wide; @@ -602,9 +606,9 @@ dllx char* libmulti_get_caption(double index) { int copied = GetWindowTextW(window, buf, chars + 1); LastError = GetLastError(); if (chars == copied) { - int need = WideCharToMultiByte(CP_UTF8, 0, buf, -1, nullptr, 0, nullptr, nullptr); + int need = WideCharToMultiByte(IsLegacy ? CP_OEMCP : CP_UTF8, 0, buf, -1, nullptr, 0, nullptr, nullptr); LastString = new char[need]; - copied = WideCharToMultiByte(CP_UTF8, 0, buf, -1, LastString, need, nullptr, nullptr); + copied = WideCharToMultiByte(IsLegacy ? CP_OEMCP : CP_UTF8, 0, buf, -1, LastString, need, nullptr, nullptr); LastError = GetLastError(); if (copied > 0) { ret = LastString; @@ -619,7 +623,7 @@ dllx char* libmulti_get_caption(double index) { } dllx double libmulti_make_bitmap(double index, double width, double height, char* _buf) { - if (!_libmulti_exists(index) || width < 0.0 || height < 0.0 || _buf == nullptr) return -1.0; + if (!_libmulti_exists(index) || width < 1.0 || height < 1.0 || _buf == nullptr) return -1.0; else { BOOL ret = FALSE; EnterVector(); diff --git a/libmulti/libmulti.h b/libmulti/libmulti.h index 66da4f6..7ffb4c6 100644 --- a/libmulti/libmulti.h +++ b/libmulti/libmulti.h @@ -6,8 +6,11 @@ // internal libmulti stuff. void EnterVector(); void LeaveVector(); +void libmulti_cursor_init(void); +HCURSOR libmulti_cursor_get_from_gm(int v); extern HMODULE hModule; extern DWORD LastError; +extern bool AltRGBMode; extern std::vector> vecWindows; bool _libmulti_exists(double window); DWORD WINAPI libmulti_window_thread(LPVOID lpThreadParameter); @@ -39,6 +42,10 @@ void libmulti_legacy_mutex_quit(); dllx char* RegisterCallbacks(char* please, char* dont, char* call, char* it); ///->real : Initializes the library. dllx double libmulti_init(); +///->real : Enables or disables GMS 2 pixel format. +dllx double libmulti_set_gms2_pixel_format(double truefalse); +///->real : Returns if the GMS 2 pixel format is enabled or not. +dllx double libmulti_get_gms2_pixel_format(); ///->real : Destroys all windows and frees the library resources. dllx double libmulti_quit(); ///->real : Returns true if the DLL is present and was loaded. diff --git a/libmulti/libmulti.rc b/libmulti/libmulti.rc index 9009d863ac1bda27b9beb48dca4f6c85a7202f84..63a97f8ae8053e2e6284fecb4e594b1aca8c0cc4 100644 GIT binary patch delta 53 zcmbQIGEZeg6$h&kgARky + diff --git a/libmulti/libmulti.vcxproj.filters b/libmulti/libmulti.vcxproj.filters index 31c2b88..8c2a152 100644 --- a/libmulti/libmulti.vcxproj.filters +++ b/libmulti/libmulti.vcxproj.filters @@ -72,6 +72,9 @@ Файлы исходного кода + + Файлы исходного кода + diff --git a/libmulti/libmulti_cursor.cpp b/libmulti/libmulti_cursor.cpp new file mode 100644 index 0000000..cb54ad3 --- /dev/null +++ b/libmulti/libmulti_cursor.cpp @@ -0,0 +1,75 @@ +// libmulti_cursor.cpp: Functions related to cursor management. + +#include "stdafx.h" +#include "libmulti.h" + +enum class gm_cursor_type : int { + cr_size_all = -22, + cr_handpoint = -21, + cr_appstart = -19, // I have no idea why they aren't aligned. + cr_drag = -12, + cr_hourglass = -11, + cr_uparrow = -10, + cr_size_we = -9, + cr_size_nwse = -8, + cr_size_ns = -7, + cr_size_nesw = -6, + cr_beam = -4, + cr_cross = -3, + cr_arrow = -2, + cr_none = -1, + cr_default = 0 +}; + +static HCURSOR hCrNone{ nullptr }; +static HCURSOR hCrArrow{ nullptr }; +static HCURSOR hCrCross{ nullptr }; +static HCURSOR hCrIBeam{ nullptr }; +static HCURSOR hCrSizeNesw{ nullptr }; +static HCURSOR hCrSizeNs{ nullptr }; +static HCURSOR hCrSizeNwse{ nullptr }; +static HCURSOR hCrSizeWe{ nullptr }; +static HCURSOR hCrUpArrow{ nullptr }; +static HCURSOR hCrGlass{ nullptr }; +static HCURSOR hCrDrag{ nullptr }; +static HCURSOR hCrAppstart{ nullptr }; +static HCURSOR hCrHandpoint{ nullptr }; +static HCURSOR hCrSizeAll{ nullptr }; + +HCURSOR libmulti_cursor_get_from_gm(int v) { + switch (static_cast(v)) { + case gm_cursor_type::cr_size_all: return hCrSizeAll; + case gm_cursor_type::cr_handpoint: return hCrHandpoint; + case gm_cursor_type::cr_appstart: return hCrAppstart; + case gm_cursor_type::cr_drag: return hCrDrag; + case gm_cursor_type::cr_hourglass: return hCrGlass; + case gm_cursor_type::cr_uparrow: return hCrUpArrow; + case gm_cursor_type::cr_size_we: return hCrSizeWe; + case gm_cursor_type::cr_size_nwse: return hCrSizeNwse; + case gm_cursor_type::cr_size_ns: return hCrSizeNs; + case gm_cursor_type::cr_size_nesw: return hCrSizeNesw; + case gm_cursor_type::cr_beam: return hCrIBeam; + case gm_cursor_type::cr_cross: return hCrCross; + case gm_cursor_type::cr_arrow: return hCrArrow; + case gm_cursor_type::cr_none: return hCrNone; + case gm_cursor_type::cr_default: return hCrArrow; + default: return nullptr; + } +} + +void libmulti_cursor_init(void) { + hCrNone = nullptr; // not right, need to investigate later. + hCrArrow = LoadCursor(nullptr, IDC_ARROW); + hCrCross = LoadCursor(nullptr, IDC_CROSS); + hCrIBeam = LoadCursor(nullptr, IDC_IBEAM); + hCrSizeNesw = LoadCursor(nullptr, IDC_SIZENESW); + hCrSizeNs = LoadCursor(nullptr, IDC_SIZENS); + hCrSizeNwse = LoadCursor(nullptr, IDC_SIZENWSE); + hCrSizeWe = LoadCursor(nullptr, IDC_SIZEWE); + hCrUpArrow = LoadCursor(nullptr, IDC_UPARROW); + hCrGlass = LoadCursor(nullptr, IDC_WAIT); + hCrAppstart = LoadCursor(nullptr, IDC_APPSTARTING); + hCrHandpoint = LoadCursor(nullptr, IDC_HAND); + hCrDrag = hCrHandpoint; // wtf?? + hCrSizeAll = LoadCursor(nullptr, IDC_SIZEALL); +} diff --git a/libmulti/libmulti_legacy.cpp b/libmulti/libmulti_legacy.cpp index 0c31aa3..bcb2e10 100644 --- a/libmulti/libmulti_legacy.cpp +++ b/libmulti/libmulti_legacy.cpp @@ -8,9 +8,8 @@ #include static CRITICAL_SECTION* LegacyMutex{ nullptr }; -static std::queue EventQueue{}; -static bool DoClean{ false }; -static char* TempCopy{ nullptr }; +// name strvalue realval is_string +static std::queue>> EventQueue{}; void libmulti_legacy_mutex_init() { LegacyMutex = new CRITICAL_SECTION(); @@ -28,32 +27,27 @@ int libmulti_legacy_create_ds_map(int _num, ...) { va_list args; va_start(args, _num); - EnterCriticalSection(LegacyMutex); + std::vector> vecevent{ }; + vecevent.reserve(_num); + int ind = -1; - std::stringstream ss{}; - ss << "var __libmulti_async_load;" << std::endl << "__libmulti_async_load = ds_map_create();" << std::endl;; + EnterCriticalSection(LegacyMutex); for (int i = 0; i < _num; i++) { const char* name = va_arg(args, char*); double dbl = va_arg(args, double); const char* value = va_arg(args, char*); - ss << "ds_map_add(__libmulti_async_load, \"" << name << "\", "; - if (value == nullptr) { - ss << std::fixed << dbl; + vecevent.push_back(std::make_tuple(name, "", dbl, false)); } else { - ss << '"' << value << '"'; + vecevent.push_back(std::make_tuple(name, value, 0.0, true)); } - - ss << ");" << std::endl; } - ss << "return script_execute(argument0, __libmulti_async_load);" << std::endl; - - EventQueue.push(ss.str()); - int ind = static_cast(EventQueue.size()) - 1; + EventQueue.push(vecevent); + ind = static_cast(EventQueue.size()) - 1; LeaveCriticalSection(LegacyMutex); @@ -66,33 +60,78 @@ void libmulti_legacy_dispatch_stub(int ds_map, int event_index) { } dllx double libmulti_legacy_check() { - return static_cast(EventQueue.size()); -} + double size = 0.0; -dllx const char* libmulti_legacy_dispatch() { - if (!(EventQueue.empty())) { - std::string evstr{ EventQueue.front() }; + EnterCriticalSection(LegacyMutex); + size = static_cast(EventQueue.size()); + LeaveCriticalSection(LegacyMutex); - if (TempCopy != nullptr) { - delete[] TempCopy; - } + return size; +} - std::size_t siz = evstr.length() + 1; - TempCopy = new char[siz]; - memset(TempCopy, '\0', siz); +dllx double libmulti_legacy_done() { + double ret = 0.0; - std::size_t i = 0; - for (const auto& c : evstr) { - TempCopy[i] = c; - i++; - } + EnterCriticalSection(LegacyMutex); + if (!(EventQueue.empty())) { EventQueue.pop(); - return TempCopy; - } - else { - return ""; + ret = 1.0; } + + LeaveCriticalSection(LegacyMutex); + + return ret; +} + +dllx double libmulti_legacy_event_length() { + double len = 0.0; + + EnterCriticalSection(LegacyMutex); + len = static_cast(EventQueue.front().size()); + LeaveCriticalSection(LegacyMutex); + + return len; +} + +dllx const char* libmulti_legacy_event_value_name(double num) { + const char* ret = ""; + + EnterCriticalSection(LegacyMutex); + ret = std::get<0>(EventQueue.front()[static_cast(num)]).c_str(); + LeaveCriticalSection(LegacyMutex); + + return ret; +} + +dllx const char* libmulti_legacy_event_value_string(double num) { + const char* ret = ""; + + EnterCriticalSection(LegacyMutex); + ret = std::get<1>(EventQueue.front()[static_cast(num)]).c_str(); + LeaveCriticalSection(LegacyMutex); + + return ret; +} + +dllx double libmulti_legacy_event_value_real(double num) { + double ret = 0.0; + + EnterCriticalSection(LegacyMutex); + ret = std::get<2>(EventQueue.front()[static_cast(num)]); + LeaveCriticalSection(LegacyMutex); + + return ret; +} + +dllx double libmulti_legacy_event_is_string(double num) { + double ret = -1.0; + + EnterCriticalSection(LegacyMutex); + ret = std::get<3>(EventQueue.front()[static_cast(num)]); + LeaveCriticalSection(LegacyMutex); + + return ret; } dllx double libmulti_make_bitmap_from_file(double index, char* _fileName) { diff --git a/libmulti/libmulti_misc.cpp b/libmulti/libmulti_misc.cpp index 3a4a4ba..fc8deba 100644 --- a/libmulti/libmulti_misc.cpp +++ b/libmulti/libmulti_misc.cpp @@ -14,3 +14,20 @@ dllx double libmulti_exists(double index) { dllx double libmulti_present() { return 1.0; } + +dllx double libmulti_set_gms2_pixel_format(double truefalse) { + double old = -1.0; + EnterVector(); + old = AltRGBMode; + AltRGBMode = truefalse > 0.5; + LeaveVector(); + return old; +} + +dllx double libmulti_get_gms2_pixel_format() { + double ret = -1.0; + EnterVector(); + ret = AltRGBMode; + LeaveVector(); + return ret; +} diff --git a/libmulti/libmulti_wndclass.cpp b/libmulti/libmulti_wndclass.cpp index 1e6237b..8461763 100644 --- a/libmulti/libmulti_wndclass.cpp +++ b/libmulti/libmulti_wndclass.cpp @@ -16,7 +16,7 @@ ATOM register_window_class(WNDPROC p) { wnd.cbWndExtra = 0; wnd.hInstance = hModule; wnd.hIcon = nullptr; - wnd.hCursor = LoadCursor(nullptr, IDC_ARROW); + wnd.hCursor = libmulti_cursor_get_from_gm(0); wnd.hbrBackground = reinterpret_cast(COLOR_WINDOWFRAME); wnd.lpszMenuName = nullptr; wnd.lpszClassName = TEXT("LibMultiNikIsAFool");