From 0ccbec66ff4113dc6e619265612c9231a33e710b Mon Sep 17 00:00:00 2001 From: Magnus Oblerion <82583559+oblerion@users.noreply.github.com> Date: Wed, 25 Sep 2024 12:00:07 +0200 Subject: [PATCH 01/13] Add files via upload --- examples/core/core_input_gamepad_virtual.c | 119 +++++++++++++++++++ examples/core/core_input_gamepad_virtual.png | Bin 0 -> 9415 bytes 2 files changed, 119 insertions(+) create mode 100644 examples/core/core_input_gamepad_virtual.c create mode 100644 examples/core/core_input_gamepad_virtual.png diff --git a/examples/core/core_input_gamepad_virtual.c b/examples/core/core_input_gamepad_virtual.c new file mode 100644 index 000000000000..c199d123527f --- /dev/null +++ b/examples/core/core_input_gamepad_virtual.c @@ -0,0 +1,119 @@ +/******************************************************************************************* +* +* raylib [core] example - Minimal Virtual Dpad +* +* Example originally created with raylib 5.0, last time updated with raylib 5.0 +* +* Example create by GreenSnakeLinux (@GreenSnakeLinux), +* lighter by oblerion (@oblerion) and +* reviewed by Ramon Santamaria (@raysan5) +* +* Example licensed under an unmodified zlib/libpng license, which is an OSI-certified, +* BSD-like license that allows static linking with closed source software +* +* Copyright (c) 2024 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" +#include +//------------------------------------------------------------------------------------ +// Program main entry point +//------------------------------------------------------------------------------------ +int main(void) +{ + // Initialization + //-------------------------------------------------------------------------------------- + const int screenWidth = 800; + const int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [core] example - basic window"); + + const int dpad_x = 90; + const int dpad_y = 300; + const int dpad_rad = 25;//radius of each pad + Color dpad_color = BLUE; + int dpad_keydown = -1;//-1 if not down, else 0,1,2,3 + + // collider[4] with x,y + const float dpad_collider[4][2]= + { + {dpad_x,dpad_y-dpad_rad*1.5},//up + {dpad_x-dpad_rad*1.5,dpad_y},//left + {dpad_x+dpad_rad*1.5,dpad_y},//right + {dpad_x,dpad_y+dpad_rad*1.5}//down + }; + const char dpad_label[4]="XYBA"; + + float player_x=100; + float player_y=100; + + SetTargetFPS(60); + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // update -------------------------------------------------------------------------- + dpad_keydown = -1; //reset + float input_x=0; + float input_y=0; + if(GetTouchPointCount()>0) + {//use touch pos + input_x = GetTouchX(); + input_y = GetTouchY(); + } + else + {//use mouse pos + input_x = GetMouseX(); + input_y = GetMouseY(); + } + for(int i=0;i<4;i++) + { + //test distance each collider and input < radius + if( fabsf(dpad_collider[i][1]-input_y) + fabsf(dpad_collider[i][0]-input_x) < dpad_rad) + { + dpad_keydown = i; + break; + } + } + // move player + switch(dpad_keydown){ + case 0: player_y -= 50*GetFrameTime(); + break; + case 1: player_x -= 50*GetFrameTime(); + break; + case 2: player_x += 50*GetFrameTime(); + break; + case 3: player_y += 50*GetFrameTime(); + default:; + }; + // draw ---------------------------------------------------------------------------- + BeginDrawing(); + ClearBackground(RAYWHITE); + + for(int i=0;i<4;i++) + { + //draw all pad + DrawCircle(dpad_collider[i][0],dpad_collider[i][1],dpad_rad,dpad_color); + if(i!=dpad_keydown) + { + //draw label + DrawText(TextSubtext(dpad_label,i,1), + dpad_collider[i][0]-5, + dpad_collider[i][1]-5,16,BLACK); + } + + } + DrawText("Player",player_x,player_y,16,BLACK); + EndDrawing(); + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} + diff --git a/examples/core/core_input_gamepad_virtual.png b/examples/core/core_input_gamepad_virtual.png new file mode 100644 index 0000000000000000000000000000000000000000..c04716fdb98744e178c804e097e8e1860d5346fc GIT binary patch literal 9415 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 Date: Wed, 25 Sep 2024 12:13:06 +0200 Subject: [PATCH 02/13] Update core_input_gamepad_virtual.c --- examples/core/core_input_gamepad_virtual.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/core/core_input_gamepad_virtual.c b/examples/core/core_input_gamepad_virtual.c index c199d123527f..03f03c143ce7 100644 --- a/examples/core/core_input_gamepad_virtual.c +++ b/examples/core/core_input_gamepad_virtual.c @@ -27,7 +27,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [core] example - basic window"); + InitWindow(screenWidth, screenHeight, "raylib [core] example - minimal virtual dpad"); const int dpad_x = 90; const int dpad_y = 300; From e6c06f1f381c1fc439691da6e2f48c8f52617da2 Mon Sep 17 00:00:00 2001 From: Magnus Oblerion <82583559+oblerion@users.noreply.github.com> Date: Wed, 25 Sep 2024 12:42:13 +0200 Subject: [PATCH 03/13] Add files via upload --- examples/core/core_input_gamepad_virtual.png | Bin 9415 -> 9715 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/core/core_input_gamepad_virtual.png b/examples/core/core_input_gamepad_virtual.png index c04716fdb98744e178c804e097e8e1860d5346fc..1a03ca68672ef91641cb8dda47bfc4197e8836a9 100644 GIT binary patch literal 9715 zcmeHtcTiL5*MHP??Vw**QE5_yT~S)-5VE@ph#)K~y+jQ~YJ@;SO?GXF2nZ}45*r{= zBHhrUveH68L23vQfrOSI2_b~E_u}r(>^twwJHMIV%=_0e8D{Ru^PGFn=bX|2n5<^d+zK-5NMk!2()E>=eK|aBfbax2YrM5+4k~I;4gls@222rq?KFb zC4_$@`f7w9C?E_G>USCmkMQ#gLtaNjE^i}Q0*f>@7oCalyBZmY2s?f`Fw_qe>KAcb z-|#rn@5XU`U44V&dirJtx@NlI#T_n&AkcA;?b)9$M;EeaF@?T6D_gyRNAc^OHRZNfV`Gma8XIkAFwn4#d{-4wqMW$c)6(WSl3FIa+j0iTR|YV z%CV3VAA+$1ABsQn{T2Z3OOC}CZR~-+fEQP#rluYx=jdRyfBt4C2&9|q zUz=zBG+iQ*RCv^%q|s=DlUy8M0fJ^vgkm_E_=y5v+hH?Wd4_L!Me0M33>sE6t&A1i zQ%fBU7I0?YZUbyYWSu_&_V4Y=a`lPn)az8>K2}Eu@OsX*X8R6S_#7Bp*}OZfQxQF( z0^C`-e+2+0^DGPoLrumoPctb6jh{GV9g< z3EtHHI8kY%+cS(fyTdlyC1WYqH*JSf^ryFDwE>9v$WwsVDx6Pdo${!gOY%mI&4${t z+2;llMz1C+HVGI7h%qYFd~$jl=+_?z0G z8x&A_3ycwx-vH%Zyb+l6#_4W0Owi+MS;uOi_R-Hx?*M^3-j9sr;BdGKFCr&~;MKgQ zb&q|35C~*`c^S4$<@5QarKJIHA3TNg?wlxyRG;r!FgE%o`Z43l zgm7^&LU_im=F^<)ZRii^G zmSr|jmnmvwCiA`PQqcvm$<>U-#YIoTp?guAww9M`6%`d7ysD6;t~jKANM~%%-ZFqM zYdmDc3Ll%^ELSOTul}4GFH}SH!&;a~;?m>T0c=1U{|<@l&J^2)#WsETd^ZlsqvIb= zr$I5i&H{(tJkmV%db3`|hFGvBlrBL#IRVPuB+KCijQ##wkW`j0jrp;oiE=&VUAX)^ zlY&+|&N^0P=}7P(H6L?nhVB@iYvm2ZOO{FbT%BgMWGXsW*MF0FhpERF8nzLBH_Y!( zF-SFJIRVh1op)S!hfgg>aK&~tE#Wp{P1u;!v7j>zF5SJAXtGQJrN^kYW4_bL&!b_& zkFW%Zvz6T7pK&*^e40Dp^QCYcGknjEw}>oQdB0#%K(6YQn@sQzo1>dzSF&_w)!E~iV!TAHMdf`w*FJYGkc@SDB& zBDe4ul{wWhxM2ctp(AeBBV#+9Pwt8GV`Zod{ST`AT~5d8%T8{bRcc`^h?edj*l0Xh>ZqI3_rlK2OHOuU z%k1_8`uD>x-`;6|IHfa!_m18@YfR6iLsvqwN1F8mgmBK|LHh5KWl3mX^Jjic&@FflO{nT5rr$ z0*_v#3|qbBMU23l)G<{@&|@ehW4T#?$v;-bFO*d*jqArLtuR^^b!7UDyq}JyF={6G zwRYSzXp;sS(xgr~%B`g;OPwtx0dXbeD-b`K{~9k5CpZ%R4oc5DY} z1EMQ{w7#}P?0)ODf|h~$>D<|}vCcz4OCyjJsSX3^~n3ZXoRnbOq?eBM7PM9H5dud_I3LAH! z{RL^GdhLBj6KQxSg&bxm60&v`U{F=s42OWj<7vX{IG+{+NcqWm94T1FY%SDu#o4@a zvh=4g@Pd%iGhsF{t(U>b5PjaGIa_XA(K9g;Zw7cZHIU(2OicMim~GQLEEpmPX^z;#qiDp-$1OI5W@K z$rOtc|NaD`=KaDQcX39Gk(YC2~`32A@az=7@c2{A-4vFnUhKM>?GZ z8`;9=pArQ&0SvC(Wd3l!n|EHEwm8I+mqLyhY)>A{H3ECLIu@7egB2;WMDg4H8Kj)V z0&Ur5F;sOv8xk9=4P}B&Swh(o#3=lwD%wjl7B9)rLh`}&Aq|4n3Q_xM;!sS1qWOIjIVzV+L-Sgta|x!ihMpzk70hawSf9Vw!qp~zGDWw9 z@zyJRIM9?IfMz7k)<>d8xHIr%aCg=Fn=1RzVyo`Z)X0K%S*V33F8W#|P?TV{)jlIx_y9wdlPBcVvTIYLo z_65HA_swXRi&zn3V)dLFrMPjXByMA{f|a{%4G)bx*YYVYib8U2?61a~s09>7xwLV9 zQ>%3+({IZ+>9o)HRK+dlUpQ$CUzv_+VG8<(9^=vNX=N*;I!FN`r^KCVMi9@K3Wkk! zx{T?K*x_YE?612z%G`BhoCiKQ*&W-%r6TZINU6BNqP|9eCnZ!>cHMWTTyB7TpUA?5 zvzw;*#HkL=h~8o2*(yMeHvN9bsptOd?w^~2=I5Skl=+dj$@Xe9X}JZikc>opg{FCG z{FIk;8;P7yo?q5$dAzeFqS?M&y$mR!9s}q_2$4j{>nY5cJ(L&%boiBN7OHVRH;`d& z7%V&C8Sada!MfgD+!vh1d#ZhH3|d?8dKb~RlJMM8d=?j^UeI{M8-`7$mW2vCO$Ggk zE_xx><}fePKL;u;S7;o}FB{sK*12cxQ5sl+f^5C8oFbN*YHqW-r+{X+j*!Nj!B(GZ62C^w86kf?Y`yh3ND$AYtn z!kJI40aX}Cf8PQ8KHWf|lhA`gf}aN)8Tl#%!w%}-2pS$Ac~HSL0on%?8S%;_KuoT5 zA8(EG;pY&@N`p$hvrMrkd+EY}{lzhh9g5Xx?Y3!##SIoAVhGjf7id;PezU{BJjnW} zYViEB9Tsf+qRhopq&FB+VR_=Ie%IN6Gnk8&V`0U?oeCQpV%O!7*Zu*lywe`yJlX;( z-;UdL%dyzlHeVdW!Nt|QY&&!Kqerxb&m%QO#VmCSGn?p2lD(YakDTicwh3^dSLm&7 ze-DrHvaZ7kU$R}y%<%H);Kri@jEyvU?~|H98IyRt*9|U$^C`-8hC^)hvofn;l4ZMZ zIwi>Nv*<2x=R5PXvc~hXvf5U8`z&ATjpeAE?pHJxYqwIKHH{6A#af@Zg@e}jajRza zczl8&X3HhJN*8&~&nxKGMep{>wH9uld_)1Q4~c`fV7Ep~&Np(x&Iq>;h!gU!M?2c63~;U_H9CoR*D~ zX7!qW$uhmNhKLwyh4w;6HZtdh%q$&x#AWHN$`E}uu$fl({Zh{RcJkl^%Ksukv)v(t)LV(pqtu1QfDYSbF&Gv5ep+90N$8j1eJpYQ+taQp#N}Z3B<=Rr!s9?FI`x8q5}=#?aOo9mmtAF>s`pM%Cdq z=(ll_WoVbyFO+C^ALJi5MI5@49SnP-Kyf8s!C<`co8?hM;gTMNw86>{Es!;tsa*5g zpbaO%OpZfum}2wnr)@^$er$toV8NI>W8XAKwXo5fXEGGV-IJsW`xKrm2>WN5{tvh72@*FJ93I zu-~Vss8}`>1V_cXRJs7i>h#AQPL(d)H?o);@86qgrnMM5 z$wm>OOKFc;&H5WElFX6~nC;y@7K3lCrS<-XkX9|l^aj`1*_jsgB%X=}bFG zFrTNz%=+vZ@GeLnE0EDQt?VPSg{&gQ#=@-eo_8@QtJ6sIs15--`!RlXAGLT^IVtM` z^2-mU48&x-8ww8vyH~4|wU9NuB@dU&{xk0oQhUp_?Dkq}OW-`rseg5Q-0Y#{^~;tq zZ?%uE@wKzYOg}yApPfcPPR4~o%&6O!F?znRmTT-9469q5^^#+@wiMHf>q{m`pT#-##>j+9#rl zx?K*=plcG0XC9#ARa~nI@o-0TEd;&Y6L#rWrs9Jorgs6`FQndj3ZkR?Z`Z_nf3M-612gI_xg37cW&`Do%pB_8q?ryi75ipor ze@4cX-D)bBMeZTk8`Lg+XhwFz!C*w7TA=uBm7c=e9*Y=y5pg=*klC^EP8)QGl5ZH? z>Z0Cp?SyYjhm&mt=aM5NYVCR0b`ape;w@wmRe6y&k?4yDeP z7_LLLDlk?IeNtNs1_o2WbZ?%;y3p!_Ww$pKSnBKg(%5}VtM4=cOa0_?MtW3cf0GmnW2}!q#ofw0a&xCaJy;oZqTnQ{#O4Bt^W1@KmGqN z8vi$Fm;pS?bmj+&PbYZyYgz#DX%F##1AjL3<;Xnh?Khxb%U)NYw^bs3eNYGaX)EZp zuYW@`uEXrdyW?%gw}7tbM^tabj*cGC_u&Iosdzm~`27Rd@7xrDuWG7Q2cDqZ@~$W9 z0jzM_uX_4=Dd>7>HE^-{p)LkHu^_hEnpB8C~SQbVAXOjM^9cOZPYRMeD z`T%$4KlHYNbnE}BP&L^}Ej7C7oid=;AJx8A zs{a;5!S;89PieFRuV{4*cm7$^YN`t@19+Vq7$xAft=>OM+}Dj>ozb#a1~%qC4`F4Z z6uVwC0i$-;Y!=q<0<3)DN8NTE4Vr~N>)!@?t^PN&D?V_Ol1L^7N7uFh(Eap}0?Oos zoKo|?%~p*9fl73>RD<)nM%?UYssRIde?LxY(yJQX1D$&T12n!Gpdlg*G&?RL<`=DN zgWhwKQnMS)C#`E?^3!fWBHVbcZb~dIWiG8Koh$D+x!)r%q%rQngF4w0X@@|dx);sO z!rym++Z7hSKQcP$Tj*=<0!W)1URb8cXk{%B=(-ge&Ho`Zp*psE z=aGfB@$dl%?!d*3HV`Pca6H1ww?(sQ8uCH8uL&-{99|E9z6JDt@=y8jnUu$h8WXI; zDlC2A)wu?)VRt$z|D((ywdn)uw`hpwP4!0{sJG9VJNQ$ln$l607eYc=CK^E7;pz!U z9j_%Or>7iMKNE^oRRY$!jjY4gb>Hm!VYc^Mv zWCJDPQitJLjh;VZUq?H_GIU0$60G9NP5wtMFav zNg^s|0FJHzEPGJ#5C44izN^JqjrOQ*#cOY>w*nFTr?ZV$=#q_9({ib3?lVs)x~zZW zl=Wu-|Ci|(MEkF85E-8aFyj}cS&nf0W zr+od)&%SW^lLj99fE(xD{%7nI=GRx7ZUf zT~9ufc~u$MeC!`d4yoPWq5sipq4Lj!_WzhF8YATGDo zPU_W!{aANQ1NbS$uVr1QqSX!n+H?)%%7I?)f1X7CVfw$PjnDrlXq0ONrt*&i-R}>@ zf&ZhM9k~Y_35yNyY{qT=KMsLDZE`@5-v2e8J!e_wPRX>ozYnptSzZ zIQBJD-`(7P{!g!_oXZiHK~QyMluN1778~Z(hJFp*t)W gg2kQ*pXgF7;?mX|#5+m;fM$@bmBZPppRe5fFM*GInuktEYk@$gL6#SOzjCu^i5^o#_w#0dW$Qx~XufBJ&+K_8 z^ZU?~^COMkRdtteKd-%P9eLt}J0BNJqYbs5ec}{nb@&&zA8#dIsyi{`r2P8yFV%ll zn`v1l`Q&y%N-vc8wl9wLzKFS3yJs?658SM4G+pUL-sO$F7t)!Fx+0D;~Z zq?^gMwzjSf;+zrm8|}iPnCP*=S;TF`3@*q`ZMpGvA3#TXo=xu zG%r?nGjxN8@ZxkjeQs{fvenZLxS#gUA^?BCsV}uJD{(7-4&3GCDoaaCF)Jj+ytdE6 zFukc<_pnBTg+EJlkxmzbTpL!Z&ivM)IJ(fIN!|Xa&nn_j>g($*aZcs2Cg=Aa1c5$c z&7Nk(wqk$_@6oIyB_(x?!Cyvzb&*@E#g$F-FL~L@cG&jTvzF04O$W>5M|lJRaL>#> z&1Ap^Upl@M0)a-Z=UkG{RT7UY!DPwaAEZ96Ivlj$9 z8MNDbmbo;ymloE%R4u0jsAE@6y)9~Tvv;7(0dYeQaJAaN*_=zc=RCFsFmcP=dbz_i zbfjd|z#rz6hw45l6%`d((qIrMgcBPZ+efDtGZ>74g*7?LIyakgC#$%)xUsP@GrHcX zbTfZSk^aI*Q&Ho|=Y?UhwYk1*6n_}SFVu%Kdrm$73RrA2yS!`*g+hn$uADy+6-&H~ zD;^#mbIZ#KCI`*>^fY~? zGUTRkmK}r1!8Qi~*IWVA04%EC+%h&co?Bd$)Se1(M_eau2BGWmylbY3L%l8qyvk;c zJS4xcafh@8%A4z%LNFfU2nffpxDLaex)Og3@l3NS&(tgZcqVgw0rfyB;ihx$nB>Rm zrsn2`fPL3}Bq+lt<)>cA1>zLSZgzV+)L_&7X^_by(2CQ^c+H7guVQ9R~Nfc_K-zjZwWTc((}WgvJ2J`miuZ(sc1UWrxSk zE-p>`SoyXqY4H^+VH8E6S9_4(MdBpJ_^@gAfs--2UR;uD64L=Dv0-+7|0(lUPpUYy zC=0tit*E*+YL~E*T@>CS&hN0uo_b-ReE6jHOGCn0_EyaxcNE^tLS#Oy&LOmnRTB@f zsl)_Wa~4nDg|1(@)onNJXiVs2O>oP$0|qUGll+e??dYy-2&J`@>puuO4FpiWUijqw zw5M+6OaMr_|J--DufIQgD#P#`sp+8Wt82g88qAek!SM+Xhu`a+J->IvU`;WC{=us| zr-6}|f{i_gizWJvRS;P)6Hdo!{8YcbfG7(6+UGbYrK@7NguGxIPjiR&ob%xJmQEC^ zj#umSd-1E{zZ$Dr#l>=PC;@GoPJp1tlx#_PCTdF`HU?|d1g)Q{uh#fGomGX%z_86b z6B1UO8r3${VP(%E?WyR_HgkeLdwYsI8Z+*1l+n>;^yRh{XN~QNjg$7mbdxS;!Y#86D+k?sUP?T#GWxa%->)8-9DJaEwUv-Z-E2a6*%&D(&iZ$~|6SEDlG>EIc%IU8en+qms_Fx5XKZ|6u8 z1W#JJ9h$Pr%y)0g;tHAKa@g_{_-fk4Kh&9TP?bSFq zMTI{4IjWS!VUH;0D7F=g@@GE8On)MD>Yd_>z&F@ADdc_9v>id1$^ z*!gq&(+-i-Q+<5ys=Fl-pT~T4jFFp-LS(WU;7>WXuEzAtYu>XsCTXuD-M>C_FbZlUln3^|eO^N^@t9bGIP^=!wD7 z>EoRBOYYCI{16ja=CRpYm~J}47!&(UC5{ruZTc&$=2UR?^w(!))~B#r_lWQX1huR5 zT$3>w{A;tqhR4=l+wFN3ovL7u+^r;%_;8(GaSkak7~fSahBU&q%$hgyNRDM0INzD6 z238jwg6Su$U2Zx+-;aY2f53K@o@-P%j4hvO@VD+M@S4a~YP;b^X$+h5myD<>qXl+X zR2s^|Mxp0p!8}h2f2cKPvQ*6Xt&LLO4*D2}1!EW<)9B>%7MAQpE;oK%SB{-*#D^9Z zk(Pp2R$HA}3u1g|*v$aHF@=F@=4eU;e^{XJ)#yFbR5gsH80$`CU9>aGtEm4qU+1x+ zm2}gudDykycqT!b{6?@(craT0%_Cm>C)(q$7blW^^dvImIf4RWJKdrkUcE#XRD@ZR6-gS8}fw3SO^NMLO401)Dfk=47gB zPd?i~ExSfx!z;lxfw5ttGq&H*1QFU6GvhNCNHc`-39Ok^R#9FJ1Aa}x&o!)Re#?k9 zoz`4c@)s?TCSPehqcV!PZYRy9Kslc|71Zi*IH$uw09}{Nle=vUM(zh}pMpeswyiuP zkhho4T0S$byh+WAc)JfeLs!M#zvOdq`Ssc@F*7qiCr{2}IA`WCwY$_4qPsNLL(lWT z(1yZ3OpTtpy)1egmacbG5AIUE*aZ0+k9^qS30hng zqSow`&G1s`5ejaC3p_UbLS@S!4Qd-Ez1gMgW(ajqDL?+r@1xDgM55!acJZDRL6>XH z@SbD#WvV2yE(42^TT@IxE1{}n(#LFL*37A7=eBt7wr#NkrED8*okmsBUcEg9Qy-PD zy>RRsa(`{_*rDf3Q=Z~f}EN;W}P+jIsZ)sdMU6=ndlzMxEd8;n{%5!P- z6bhPW{X(wHrl-WM56MHi4$v+9#%{&T9Ho`!`j+}+P};;81%=KkUHr^7=H0wif^ZYK zNmVpjyDvbwN1h#Lb#4y+*Sw~kU$}98@B7p)V;hETCYT->2&((tlO#e##x~t8#S=zxva)aXeh6vsj7*e@d$?3T+DV530A&v61iGJ*E zu^Gy7QU6|tHObnkTnJ`jmO_TM$qH_glaDnh)FM8*@J!Rbl|SrS6&VA-XafI+^g?Kf z20u}0{Q`%U?qgwa@{$A3P;XmBQ4F(Bee%YZQ+Tb4-FsL1_5QBL+<0&j@ zRX9_am3HK3S(`M|yP)>R7(Y9se2Q6LJ+X?5C4#f(TKgkd@(YUbmgq~*!8^_Rn`n19 z9XUag&&1n~t&_K95pD<+lR`!Gv6dF_oehHC$P5o;-wMJ3oy2jGd ztV=}c{ASJ@LI91~BG)`rL2fnf?r-J)q5pNT+0R~n&T}Wysg~LU)8^6|8fk&kjo4x= z9Mz&X=pjOG=}?7pRL^yZRgCC@QFL1yBe45ZUE|h;>waI!x-+*hB^u$Zp3%ocY|d*g z?U`{(3mYB3fGpINI7 zbOKoR-f~KJ%quvC_aJ%Swf{(&?=jk zr|La6I>SPTnV91Z)4XAme4zyBda7#wbldo<-mUT>2BR%(un{bDr{j5=M1wwiKx0#H zel0evY3_MZ{0fPRt;K9J_pVF8TGWY>aBBh%Y?Jo1kNQU?$Q@T89=Dh^H^{4=&e+HO z#6#s48yIjpyTm+SYQ%VY8lzIS7n|+;2Ins+NJfTajC=FyE z9b#D85}(){Y*efS;b5*h&-K8ShMr?AN7?U>t*m^t$%tN8=e9p>D@3)e=U+vvV_7V( z{DMPk6g-{Xs=py*&JwQN3R`ZQ9OljuFlcv*MBXxGaE`RO_?3rxXlj5y@?|+SXOzfX zBgU&@dA$yeb1ejt;ko<*%Rz0|QGF9){ASDchu_Ikz7su5TDkQ5hgDyjSm6v=NgF$k z412CWL(mIjEn5*DD2Z%c@T9-zRDGDIPREt<1H&G=b$3CXOO)ysZ!QK$d@PY$OTZ9g zOlv&$Ykk_eY{OQlH)TJ8&9s9XHE<2s9P#X?n$4_O`}_y4HKotcie5K#Z!hbDjl$@L zFW3H{P2H8$;jL`5D&rhz+&7Z7-K!y}SrhS%RQDR4?3L=LB0aejwvwS_p{{h?MH9~L z(ugU2R6Zg;syU7ASpdvZ`@6H61tWPWF-30<*VWZMbHWLaes-;M3r%&p035aI+{j*n zHLnecQydnR`iHsHAe&ksm6APp%UgXpF?*!}wbiw#*{sqn-K5z-=LQT}V~QIOEMh${ z*vIMJZA5|RdI(M~r%Zp<(cE_{8SIGY31;x1++x0e=~JCw9U2y(5pKo#t*j+19q|x7 zR^S&C7NydUD9jti#JZVmHhJ`|R!(+B>u(SAuWZ0f&c;y-itwHo$DF{?z#tWz5@2Kl z$_Q)_n6O@;f5sRWry0JU5Hn-Aa|Vp;#)z-3VY&t+R~UB8c9^jaZ%IqLu1=}C8fQ$X z}wbDk>!((#-5 zTKD6bhAcx9jtqwi zN7CO?)=thsZ8DzPTdpuZq>7=c@~wo9W&j?Na8m*$iFh4YEE*O7JjvsHf{tDYkVP zt_>OqDK0Lan;&cP@gt^7qH9#JDTQ>3EMOWt>ER#B`xu zr{~29ky=Gj&z;fjc01sh0z;x0dOv}CoCHyA0xlfB)Zfhs#=aDJMV_CXwE*ZfJL-ud zx!kA}r_j)(wD)>R2QPc_8{W^xy6wWmpU!dpQ5K901m>|xDEs4SMpVW z{Bo-FY$Y8V39fTfuq}GHzW!Oi=-O+dIzTcxlmp!BZ>a$=m>s}N0YpUq;9w5GSFs?} zGJx}Q!ugHA4tHN&b}82pIRkX3;@^I$-9myAo`!Dl-va`5{IuKpv*HC1C~-0gVEHZ= z{RlMQJ0=5k8y;#I!CPv`T-5`94YhDbOD1f7mNgaufv!ma-UMhTz5mz0&jWniFSfhf z@P|W3{}uk%8{Z-;SYmF^m+Js~Y~xW;Q=%4!l^F`Pjfk5pa?tP2w<5}u2^5KT{tI>e$F9);KAF-P~*7$Ln!=ruO zcYg+f>XS`tb{7KvZtWwoYv{;kHTh~oe#0icfVKyeXmeDCcAA~M5A?P zh2A%P2~ewnPXG4>^zRb*C!GB2jsHn+4D0j>ox~Z~vIFNMiosujaDTO=epp(DoJ@RP zp=b>hXHGm^3wx#_eBXwSIlTvTO<9vhKW{2^T8Q5E?J=Ty>%__BgW_epA3%xrE#qzC zW@rC{&j89PLoP=H?UnG>weL=TUs(#Z_MqB67vRC_P?k-=hrdut8HYe1os=KNFDTh< zy2pe7qyPGMJRG^Eh1W|~(p8UYKr-uV9vt7?Xe9`U-e5m2tI7yjR)-lJpf@M|FMfw|{4h7Gm!PM0LK>*^ z(DwghE0pZkys8uRQ&aZ99?(d#>(MzMEv%1v0Z{}f$eDj1Ix9V`1F%5PA5by$n~Grr zga?f9SUZP2T9M;zN@lG#vRO71EgSNxtyOxY`f?B`AWDTGV;|&r{gGufuHxRRE+dQK1XS|U zfUL;Deam+ZeN^ouvTm{@PENLD6}bnbrc*b4uhYUV(meJFYs2rCm*D90x#mr2`Vyk(=X#(h8?P2brET^KL`gbw1k7TQ4=fE}G+E*+f_zG)@(EBK z*5bX^VMPwf@UqxJ2YcQ?5+Am0V1hCUVo*qm7PM1G=83_xF=neqiQn$k9@GktVd z8eb)|o7CvaoY5%oQc*RI{wCe|eG~Xcdh@~5SGh>{^1S*8pmmz#cMLZZ5WP_TV@+)E z)p|e3L~h8)iNfpdfNOfpP@f)qH@eI&<{abv5 ztybO*nRkp=l2>I)bpTp=fA9ZZiUrHuOdw-jM!dG$tyB7r>l4#T9c<`+(3^wbH@ zI%Eh$gOfYW;^hX_wlpya)IfVp-N_* z`^!(rma73v(+qnQ#bdmEAd;A60``TcMJgZq5m*gZtXh!lYnN=J%^i~DWaEBnKDa0A z(J$A5Hx49r-vt0&3$EKvi)b%Fynb>`+2&;^;3KotToWxEMBe0W{4Z?i>zqxw=siDx z-dqN)b{i^Ys57snovzg3Yr_|odHE~7CrPUAK z_l^Aj0vn3rxG;b=!OIcgt2!-HKt^#w?m{x{x5vF9FMyi-$?1RO&a994&&(fzT>9ow zrEhTObRoGgdvFiv(?$H>NU>%B(by78>3HV@;3@6&KQaxUnB?x?6w7pZ09>7H$KPF5 zFQ8VPB>Nly z|2V7H3caultjUi5D9N}#@;!MMn9&ZInsF7aah&WAz!+6MAqXYmsQU+Zr+S}%tEul) zVt|fy5>TL~$<%!EmQe$Yyk_eJJpX+N`38>v9wYvTyy0xqcXIA`;0#B5kbL~VpW=#S z0i1m>^lhIG{Kq`S@H~MG-soFE2c`$1w=6ON!I9?!Qr}<``VAn8JVqG(@`Q Date: Mon, 30 Sep 2024 13:06:13 +0200 Subject: [PATCH 04/13] Update and rename core_input_gamepad_virtual.c to core_virtual_Dpad.c --- ..._gamepad_virtual.c => core_virtual_Dpad.c} | 82 ++++++++++--------- 1 file changed, 43 insertions(+), 39 deletions(-) rename examples/core/{core_input_gamepad_virtual.c => core_virtual_Dpad.c} (55%) diff --git a/examples/core/core_input_gamepad_virtual.c b/examples/core/core_virtual_Dpad.c similarity index 55% rename from examples/core/core_input_gamepad_virtual.c rename to examples/core/core_virtual_Dpad.c index 03f03c143ce7..465c6dab8496 100644 --- a/examples/core/core_input_gamepad_virtual.c +++ b/examples/core/core_virtual_Dpad.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [core] example - Minimal Virtual Dpad +* raylib [core] example - Virtual Dpad * * Example originally created with raylib 5.0, last time updated with raylib 5.0 * @@ -27,26 +27,26 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [core] example - minimal virtual dpad"); + InitWindow(screenWidth, screenHeight, "raylib [core] example - virtual dpad"); - const int dpad_x = 90; - const int dpad_y = 300; - const int dpad_rad = 25;//radius of each pad - Color dpad_color = BLUE; - int dpad_keydown = -1;//-1 if not down, else 0,1,2,3 + const int dpadX = 90; + const int dpadY = 300; + const int dpadRad = 25;//radius of each pad + Color dpadColor = BLUE; + int dpadKeydown = -1;//-1 if not down, else 0,1,2,3 - // collider[4] with x,y - const float dpad_collider[4][2]= + + const float dpadCollider[4][2]= // collider array with x,y position { - {dpad_x,dpad_y-dpad_rad*1.5},//up - {dpad_x-dpad_rad*1.5,dpad_y},//left - {dpad_x+dpad_rad*1.5,dpad_y},//right - {dpad_x,dpad_y+dpad_rad*1.5}//down + {dpadX,dpadY-dpadRad*1.5},//up + {dpadX-dpadRad*1.5,dpadY},//left + {dpadX+dpadRad*1.5,dpadY},//right + {dpadX,dpadY+dpadRad*1.5}//down }; - const char dpad_label[4]="XYBA"; + const char dpadLabel[4]="XYBA";//label of Dpad - float player_x=100; - float player_y=100; + float playerX=100; + float playerY=100; SetTargetFPS(60); //-------------------------------------------------------------------------------------- @@ -54,59 +54,63 @@ int main(void) // Main game loop while (!WindowShouldClose()) // Detect window close button or ESC key { - // update -------------------------------------------------------------------------- - dpad_keydown = -1; //reset - float input_x=0; - float input_y=0; + // Update + //-------------------------------------------------------------------------- + dpadKeydown = -1; //reset + float inputX=0; + float inputY=0; if(GetTouchPointCount()>0) {//use touch pos - input_x = GetTouchX(); - input_y = GetTouchY(); + inputX = GetTouchX(); + inputY = GetTouchY(); } else {//use mouse pos - input_x = GetMouseX(); - input_y = GetMouseY(); + inputX = GetMouseX(); + inputY = GetMouseY(); } for(int i=0;i<4;i++) { //test distance each collider and input < radius - if( fabsf(dpad_collider[i][1]-input_y) + fabsf(dpad_collider[i][0]-input_x) < dpad_rad) + if( fabsf(dpadCollider[i][1]-inputY) + fabsf(dpadCollider[i][0]-inputX) < dpadRad) { - dpad_keydown = i; + dpadKeydown = i; break; } } // move player - switch(dpad_keydown){ - case 0: player_y -= 50*GetFrameTime(); + switch(dpadKeydown){ + case 0: playerY -= 50*GetFrameTime(); break; - case 1: player_x -= 50*GetFrameTime(); + case 1: playerX -= 50*GetFrameTime(); break; - case 2: player_x += 50*GetFrameTime(); + case 2: playerX += 50*GetFrameTime(); break; - case 3: player_y += 50*GetFrameTime(); + case 3: playerY += 50*GetFrameTime(); default:; }; - // draw ---------------------------------------------------------------------------- + //-------------------------------------------------------------------------- + + // Draw + //-------------------------------------------------------------------------- BeginDrawing(); ClearBackground(RAYWHITE); - for(int i=0;i<4;i++) { //draw all pad - DrawCircle(dpad_collider[i][0],dpad_collider[i][1],dpad_rad,dpad_color); - if(i!=dpad_keydown) + DrawCircle(dpadCollider[i][0],dpadCollider[i][1],dpadRad,dpadColor); + if(i!=dpadKeydown) { //draw label - DrawText(TextSubtext(dpad_label,i,1), - dpad_collider[i][0]-5, - dpad_collider[i][1]-5,16,BLACK); + DrawText(TextSubtext(dpadLabel,i,1), + dpadCollider[i][0]-5, + dpadCollider[i][1]-5,16,BLACK); } } - DrawText("Player",player_x,player_y,16,BLACK); + DrawText("Player",playerX,playerY,16,BLACK); EndDrawing(); + //-------------------------------------------------------------------------- } // De-Initialization From 3325813644096dd6a2fb6c47fae9b6ed226e90c9 Mon Sep 17 00:00:00 2001 From: Magnus Oblerion <82583559+oblerion@users.noreply.github.com> Date: Tue, 1 Oct 2024 16:20:27 +0200 Subject: [PATCH 05/13] Update and rename core_virtual_Dpad.c to core_input_virtual_controls.c --- .../{core_virtual_Dpad.c => core_input_virtual_controls.c} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename examples/core/{core_virtual_Dpad.c => core_input_virtual_controls.c} (98%) diff --git a/examples/core/core_virtual_Dpad.c b/examples/core/core_input_virtual_controls.c similarity index 98% rename from examples/core/core_virtual_Dpad.c rename to examples/core/core_input_virtual_controls.c index 465c6dab8496..ae7f770aa4a5 100644 --- a/examples/core/core_virtual_Dpad.c +++ b/examples/core/core_input_virtual_controls.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [core] example - Virtual Dpad +* raylib [core] example - input virtual controls * * Example originally created with raylib 5.0, last time updated with raylib 5.0 * @@ -27,7 +27,7 @@ int main(void) const int screenWidth = 800; const int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [core] example - virtual dpad"); + InitWindow(screenWidth, screenHeight, "raylib [core] example - input virtual controls"); const int dpadX = 90; const int dpadY = 300; From c5afa906ad5e8bd093239f2ef545d4bf4599b1ea Mon Sep 17 00:00:00 2001 From: Magnus Oblerion <82583559+oblerion@users.noreply.github.com> Date: Tue, 1 Oct 2024 16:47:20 +0200 Subject: [PATCH 06/13] Delete examples/core/core_input_gamepad_virtual.png --- examples/core/core_input_gamepad_virtual.png | Bin 9715 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 examples/core/core_input_gamepad_virtual.png diff --git a/examples/core/core_input_gamepad_virtual.png b/examples/core/core_input_gamepad_virtual.png deleted file mode 100644 index 1a03ca68672ef91641cb8dda47bfc4197e8836a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9715 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 Date: Tue, 1 Oct 2024 17:02:38 +0200 Subject: [PATCH 07/13] Add files via upload --- examples/core/core_input_virtual_controls.png | Bin 0 -> 9604 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 examples/core/core_input_virtual_controls.png diff --git a/examples/core/core_input_virtual_controls.png b/examples/core/core_input_virtual_controls.png new file mode 100644 index 0000000000000000000000000000000000000000..a9776e68a3dfdd01f5b8afc51859ace27a150622 GIT binary patch literal 9604 zcmeHtcTkgA+jm^ow)S;dmSz+XRuJhRHMvIE@%+`ZzBBUdHn*CG;jOsG^^d(|h9<+uTs3@#9$&v3fw^_| zfl|QUZ5aFfi9t@5>X|h6LHi)fm>_PFO+3H@`r<-K2d!0fN2OvpKQ)^*eiQFiFjX5->7jcOkXqa_egsqIS{CDRX)=O z4u^9{7i(QD5MvkJrsK!mgT13?GmU4^bN5s=n~f~TYgOlKRVOqE3ddShX>1%lMdTAr zJW&+@>=6*?*~uCgjcV80tq*lEG(0@qeC5p%9D$() z7fxy6rlP~gcS7MC_35KI{Uo?bg$2=(RT49J4<_Ljkn5<6v_`L1u5kC^V<6DWUjPX= zHa12mlw8B`aTillQ>+Q&p);yX*Wae$#m98poY+b_>D&pTxXyb=^@#~#j@@ZtyIbeN z#nflf3{v`M;QVcBFH{FG`_Y+w+5|BHWx^~Zt0m}!yV)d$Lzw}~VZHpV?N@q^BA3kE z8ob;~U#@%u0y$eF5QxB6f9^o`mszwg_CO>nolsZRYL}d)!iw4J+Yg-KF4Q(!!WpEz z27& zWKT}V)0VrSN9)wlDW6~M;#eTqQ&w$lZEA^0fDMU@^Yc(ZfeLdEgL?68(1kNSKp z7CXAQ1~o?6JjqVrF_kbsBQ-qw-U2YZ@9FVi5=k_}ko2#m>&ov3lH0A_GAXO~b}>`%T54yAbjPT7c1tMu2re zS?3p)mj}{iG)HD;%1|g2)DU%huPpmvKyz3QAFUresIYl{8|ZpwQ<9KdsV?1&i;D{s zav8Z{ij+zRng$eU2u0Sr9s&GVXPc>+8HGa8U+5F8u2wWR$Bf*6;?oGvt>`RkA@p8} zpvGLUezM|~vdLSF7IpRMNoC-DA9%ag4XrW<&EtEPTSeJVC%Esa0rYweMh|hQs1+RQ z;Jk@1UZCyj`ov}*9sBN08eqOHNdYSnbx8AgyB~tIBEPTI7CY-yw*(9h3<=mpbGYb!M6?D@)`Gbfk~8bBW}9QGbR7{;_W9B z===S>u+6uz2i0EJT&(r@*tWBMX#+u$CsNZCdfNDZyXIb-|Nf_J{0Ra{OQ6+9I)RvD zid=(cD-Y!LPe%R9p9m&L5GKCu{N4jyR*#^WiIzH@jT(j7FPggfE4q4_GH%SJBTj=z zDSvNk&HT?tF99;;<0eQ(dCRwQww#k@7O(womCr{lZ0uC9g~4Eh7J@0Sr+@(R@U)Rrtuuc=(p1ypI<8?rmj}I?sB}R*8N9)Px@~A z{mEIZq6|E`FRE4jpoK8Pm5&V`%s>soQkjwSLPGiA4oLFP8Reen8NSIx)T<9B%r~*9!lxf~j3hYo-cpzypRtMTL23JEWNY-A zQS}n?n&V{LG{Ly6k1SL#y)9M7D(1Tg;cOtar;rv z{OzyW1Y&*cF+5Z|7vBToogQ@ zlAINeGmM$|;6#dUD!F4-OMPzLZK*^~MR@X^+34Ep+y_pwL6vtBA~F7&v*pS`^}xnZ zJ1!+gVmsKLa?xk?PI-T@`HM0CYQ~sLxV5CSIpzG3KB4QCcf=P?7QEzu=a->K%y%Ewka5734J=daLN0 z!l_Z5r(`{~yc8Ej?_GwO7=j70(4fwZ{v<}Hh#^EYaXO7D|10j*A)MHB5&0}YAlbNzAj@}5m`Emh=I|A zCO9uGE;JfoRtL`}yfB8&PD~~A_|MmlHq&m18cIJI)i#;h9YvnbLsLd@;-)F?O)`T+ zNbxL!T#k!l3&+*D!`ePY#bEa${CxAsOv{P*g< zi4B`+Vy&)PZgiDMOJR(a@?=9C| zeYqx-um%CBE@tnOz+PQiF7R8m$b(Hk`&nRtSJl*4DIWOLhw1r|!PPD;&4}{c6btT0 zDeU|sl)My)CG%Te*ecO6@*ivOiTGN`T;Cl!(oaKk|#?HV5S0k%=FE^3&n!ROJ{Hvn)$K8 zlMgQL&n2H{!5(%DemLEH<-_ZeE3fwmnZ^Y4UhNJYb>Q2B!y|KNG+eEHYpNr1A!lYg zN}dNBT394kyM<5iy|9;5__RtL6egbDM zkp>nFaQYu3kvWrWlMrcZ_1r5ayxmmWHg$<7q|h6g#6I#MJ!QVqJb{rF&0EnX+65m- zUFp_$V|f-#m5-rwZ%USOg^SeX!ujM{3??{H!|rq+0mct$)AVEng4bg$pIvb*6MvX6 zS=KaWQRz~jDDh3g;D<%}BmbMp=aKv#6Dh`);tYE*3lR}J;(9#FB*RraH&}-W6_yfN zX7ce5bMBV#pI0ylTg74;fE@T2COv_ z8ufxrO%UL7 z$`X{F;temL`63hckt$Z4=h(=nWe5MHlp6**y0>=Qd*_WVwp75ODZ)%1mjOOa`Z$(J zcf21~iwSd3$x}KoaCq-&k~hNqp+Z!mo-G^^!}g$@i^EyPd=`h<@Grz_ttA>lwLHPm z=i=MnS59G=!{%HUIEMFG|8AKmH4jNOxPVT+f=U@fp?#niinGxz6(TG$8ir8GGZC@! z?!fara+Xo1ddTGE{HbSLym(`HMp1&?&bi6n#U^fgXBx;OSRW5|sK^RLs0E5s&{dco z?%p0pr(CKt?ZbYPwNm3b4nEPgY%!uQijxFGO$1IygcpitcX$pph4bJ2m0w#H9ChKtXRGlR0GS(S-2I7ZwW=m77Mc%tTP(%dFKKIn)jZwwwD zILNAmS(Z`ZaaQb0xuXb(vi5WXx<@kEL$zsC%>1mY`#?99z3&P*vu<08Xi7oIGpb&G zmU>`{FA@$s!7;@Ib3?bI{DqE{gY?2K*ytNgd7XPMwPU&v^YCXeMn*x3o8&$2sUfb? z7#kat1INE{o+c@rCM8I(dgdce^)5F6SO{vRHU$tXP z-;$%pP#GBWwWauX$0x8whttkMET-q(MeL+%*J80Q<&zyO2WWO8u4QKmp)Kr0&1Eyz zQ@DA^a(q2ua)3{A9gy@#@e}3yc%QasQ1VnW%gp1*7VabM&P;023y9C7vc%4uiWRXQ zq7xrAITNzaa!&&;aQW@VPROfkb^N}cM;9Z>S$|DL{_PUBcmT2Bh!FS|cu0Q<4S0vB zY>X(oDT_Y?YiD$uUzv7_nfNgSqp`NMhUwBzwa(gn1#d>{W{GumuV1~!?)Ype{|Z0d zOB;ON$x{zb)-aQ>1YDRj*_n;!dbWz%6rz`^EK3nfrfu|WQ2pPowfhqvueZ}T*~hh! zuXf1pODy#_K}imeK+MO>_4O{@H_+WOrY9`lQethY08K6^U}d2!H9S`biOaH$#dE4q zjfs!X+*pq?;6y`#IQVqRwTl<%ntNew)02B#p5}XKLH*B``Cv3M`{gBfY@X-~yd=3( zlwud=QjRw+G|I-4=EqvP)UJWhZa*pAY*ue3_u+st4ig;+ujF*t#z(g6;k4RK+`L4w zJ{>^(>)_T*jZw}$^)Faz+k6lCykI8w@o{O_AS}4&v+Gg4x{b7x`kGJyrV7&$>4S~n zR{6$IDZR}Q!ZDUK_G*pU(VXoH#;i10iUsUNY-5txfo6C$HRArv>S{w~-dkg@av*|} z?k_iYjkj#$^kj1iu!`av8NAYi_upQ!ZQ8#aqZb@>!kr($#>}fJ-8MHwLV<^q-t41}g+R}&Pmu28@R-Rf z{!t%ICf~$d=_oUMLdS)V6}K+mz&0Yz=3k5_YD(v<5*Rcv2?voF3#rJX{cD6IWjH;~ z7A_z@93CIX#ppJn8&(^{KHVOWv0&kj`Sdzz-3mgES1L`o_Lh_47C3$*VfuAFj|VnK=hbSU zQ(pG*M(U}XA%8~|D`D%aqRHuAqSk}V49Z|%wdg=}OlDQ|MDR>*xJGG0ys&6BFoFeGh=fInABJkXxU21OmCdWC3 zQb40jw`y3R^SveSwM<^9$Sw6#N#X+5!K@9x!PbvNFDZjCNR%ZH_Ae~deJaU+;wX)l ze7w%|@rz_8%G;%8Hzu!5n!8O~!Yvt%Toeh%`%7P{f=F4+XkESTG#BSE1%5Ivh)r21 zA{esG;qEK_+}Nl2kub@IqK-b44ie1X@Nb57kDjMJu!w&5%9EK6)+W}o2oTN&zkgLL zm5-3!ztGNliyZ7Fr?j4eh+tJrR3kQU;C=zCKgOx|==K3zFuR<3)CA%N<6dh+YD{o@ zsm!4P+jaWK^Eh{KRKJ6{?XJWFM_1c9m4-g#(n?&+gA5m@(N)@Zb0cXI9}&GFR}eVn zN(*53vrnbG(5~+9H{!7hpX)pYsDRP17F{#*TGv{Dj|zBp6^MLEpKpQ{bqszy?Nz9P zI&=ADqoD~ZT~@|7Jv?>gs<0T*sfQeF44&VPV~x|m#07U=^J0d8h$0gZK}f#oM$1IK z4^*Q$rZ@Zm`Nu_q%d}A=ghA%kbh4_R80j|~gMFhtN(*-EV&|6PW=^$?+3}WYJh1QP zUv{i?miOPGKlkVL{WzNe681Y4jBl|!u_n;n9i6)zM8(wT>1&(J&kB35?rrYr zn4fnaE0*I41~r`|A%jUhQF7e40@9LV5~(VBV?~=hLmP069N^Y{3hT=^;}j)CP7i=* zAxmp@q{pf4I#hE?FVj}B0C&2uY#u50lg#yMIlITX;gdh)xvz)@fTMLm=eN@O9m(l= z#2{KA-8ktO*knbZuOhdeqFB4Bm!CG7*55BtFU^M_*DTSH+U&vLg38)RUO%1j)+8jW zbrwkA0vwxLl!TZW=!KD^7&Fay3QuxdZm`&1;uOHxm z*5pny%7~|^*vN9E&`jP17QI;BhHb>bU9r=Cu5AV8IU;bPX=W=j;KS9_Vu;0M>>)pr z+&oA8Q{$ri62_`@QTH9SNXhmDaZiSvWeyl@Gtd=A{`;1f+MP~*$WHweVq22&R5DQrqYA2xTcrHHM-by6=c)pUdB z8kfiUI8MfVk8c@rdAIZW9}7!M_HNW}r6;t1I39fzz$}%18anl^qMptyPQSz}oP64}Qdk5$)t1Ft4m+1EcjF z!F0Gcy@x%hltm_WFp}lwi*KO@4!N?bk(_>|tOm30HyJCSAFvZa#Q@|lpK|?8Ele>_ zRsFP2$9lL*+YbQM!~|%s=CH9EKPO*+?*v!}o5{&;mQLEr(VmV3o?~>#k08+Vy8ub_ zyrtzS4rdHd6Z6Z<$r8c2i?w5bLp{ggvKFSBJR%ei415E+?%JI4)bDX7>x>%F^EE(? zIo~_94FpQxVzqv``rEf4(9e!rT=d&Lhe4o6FA{U6;%SjbEDivS;E@YXIRGCR@wf+A z5b>L05y1cbpl%HUUH^D%HwbjT2T3R}54gl~c&)+I;@Bi_qfi&RWEAWl_S-mA)!R-Qptgdc(!}$`K>>rJa#?qS1v!|ge081^a`32st z)|HQf2A6+YUIWPZONW%5e~}{E7o>uq)B2N~!zTe$@B7!Dp}(rQN51=vEN+d^hp)8j zQh^=24l5TQb&#&-WlurC#&&AM%SJxuuOA zdw@idojYdh*P#;dI0{($`%1KEx4p{`mz1^vcSTLgBNeWf&>^>VzdDvf$Wu_r(VOseDxZ1?7MZhgPw){lcp-li5(anbk70M%gTQqvz4y?W$tnGcdSeHwF?+8G`%7BDPc}_KAbY=mKc^QP)(3q_8=ps7%6FL^4A`UsN*xI}3yA#lV0!O0 zcf$92??^pYV7oxqPxhyOO?K{8y!%AL83P$CaA)Lj^S>lN6hltCtMnFIH4d<;pR4r- zx*rgS*#sysfB0*j4cMN0HPBBFB?l}m{<5@qRr@KTWQ;N@$P5^J#JitJp_&cbV7zCW z8UZy7G@y<^X(L{+K3L)IFSC2V9_wjglSWI+5dopHXl!`+Dz^gdhl=~5j)1Q|L&O4$ zLgKUt$``^eUVa9RuWd-*XE1Yb#tj4-x(}2wxt<#VYdME?-bJ>2tUxNORIEmB1L+vH z%%%5QJH@IeK88Hp-(xg98}|16cF?1iuj6&Q6s$DuUwCT$<`K9LFr%fGjB>p}wbCgY zHRW?V+ooOVz~glu=I_aNE$PR;PEe^&D!i0he?|=i@^G`ebxzai@}2bTm3=v{8dCMx zngITW-juKF5bLvc5X=t&Y8Zdu6dAhvoCSv-Gidi#X`QKV1N3)2+`gYkF(821fbc z3J|ZALjX$lKb+hNSnzr^>C353%}Lj&<>+QU?@j@Vy;z*HCc1ovF9QP2MsV-!Rx$Q^ zz76#9%s;{Z>#>>M2{NhsJK^TCCMyj{J$GfcfcSz)P}ZBOU3dN6r`PO0VA)q+g_1d# zJ*clHRkp8=e6}TPjhgh-@Lz5!!R1?XzE)JmLO1J@OVj3CV*RLlTvIt$*l}aTAGb9> z{huj*$Mxi3TIGN1(g2Iw8wO>}R?OCwRpQCFlmI~eae@d1QYx(U?`;NVe&r!uJGw3% z59@mmym9bu>s^4zp7S{Ui(6_HW4ExNE>_GY>VzttKG3aqD6I`o!~=WzS~Pe6A6uJ_vg0V(>vz85-_{-6iiyw5l-bsQ&^o-(y;bfnmqX#)_0n;Iy&2{cwcd5^%OZ z{oZ%$+=xf+#0}+u$1P#^pO0Ju6j1cgu+AAT9K~L~RYwie9r?~5*olk&jN>T%J`XDV z#QW9e@?(GKbpS^mS}XictCJ=ZrS^w&?3bWR%HINavtwL+(pv7!O8TGG2Gw8A`;^DV zP~DA(>-(Ah31+kPZ{U|@j{zzF=@-qs??(JRLFAuPqvW3WZ9F`l*6j}ij__RE7NX{Z zOVkDingL})WVDho8`gypwa1Bbiu!VcDUJo3&`w@o?zR^FCN=^6(Zuh{=}Z%v~9x? zg}V;|#ycDIYS!8p$QSQR>VRJ3Kb^w=fKH*Is6u!6CUC+=C-;A?pT8pfFL$6-4Bcub zL8Rs_oIV^sq`Wos<>&v>J^m{lZvkF@Of~t41(2(Jb4P-|B-Vj15!b7HD~$gBHLoY< zslx3q*j-o_v`%t3c`40bevl<@j&X bk Date: Fri, 4 Oct 2024 13:38:36 +0200 Subject: [PATCH 08/13] Update Makefile --- examples/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/Makefile b/examples/Makefile index c172584270cf..01c8e45d7d05 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -492,6 +492,7 @@ CORE = \ core/core_input_mouse \ core/core_input_mouse_wheel \ core/core_input_multitouch \ + core/core_input_virtual_controls \ core/core_loading_thread \ core/core_random_sequence \ core/core_random_values \ From 107ced5cde0ef03553cfb4f5f8cac26cc95d314c Mon Sep 17 00:00:00 2001 From: Magnus Oblerion <82583559+oblerion@users.noreply.github.com> Date: Fri, 4 Oct 2024 13:41:03 +0200 Subject: [PATCH 09/13] Update Makefile.Web --- examples/Makefile.Web | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/Makefile.Web b/examples/Makefile.Web index bd48c2a4aad8..b176217ae9ed 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -359,6 +359,7 @@ CORE = \ core/core_input_mouse \ core/core_input_mouse_wheel \ core/core_input_multitouch \ + core/core_input_virtual_controls \ core/core_loading_thread \ core/core_random_sequence \ core/core_random_values \ From 87258a5b5fd8043a4cb48574371b4288260513ac Mon Sep 17 00:00:00 2001 From: Magnus Oblerion <82583559+oblerion@users.noreply.github.com> Date: Fri, 4 Oct 2024 13:55:19 +0200 Subject: [PATCH 10/13] Update README.md --- examples/README.md | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/examples/README.md b/examples/README.md index d573ff23ef54..f9eed1c19e19 100644 --- a/examples/README.md +++ b/examples/README.md @@ -31,16 +31,17 @@ Examples using raylib core platform functionality like window creation, inputs, | 05 | [core_input_gamepad](core/core_input_gamepad.c) | core_input_gamepad | ⭐️☆☆☆ | 1.1 | **4.2** | [Ray](https://github.com/raysan5) | | 06 | [core_input_multitouch](core/core_input_multitouch.c) | core_input_multitouch | ⭐️☆☆☆ | 2.1 | 2.5 | [Berni](https://github.com/Berni8k) | | 07 | [core_input_gestures](core/core_input_gestures.c) | core_input_gestures | ⭐️⭐️☆☆ | 1.4 | **4.2** | [Ray](https://github.com/raysan5) | -| 08 | [core_2d_camera](core/core_2d_camera.c) | core_2d_camera | ⭐️⭐️☆☆ | 1.5 | 3.0 | [Ray](https://github.com/raysan5) | -| 09 | [core_2d_camera_mouse_zoom](core/core_2d_camera_mouse_zoom.c) | core_2d_camera_mouse_zoom | ⭐️⭐️☆☆ | **4.2** | **4.2** | [Jeffery Myers](https://github.com/JeffM2501) | -| 10 | [core_2d_camera_platformer](core/core_2d_camera_platformer.c) | core_2d_camera_platformer | ⭐️⭐️⭐️☆ | 2.5 | 3.0 | [avyy](https://github.com/avyy) | -| 11 | [core_2d_camera_split_screen](core/core_2d_camera_split_screen.c) | core_2d_camera_split_screen | ⭐️⭐️⭐️⭐️ | **4.5** | **4.5** | [Gabriel dos Santos Sanches](https://github.com/gabrielssanches) | -| 12 | [core_3d_camera_mode](core/core_3d_camera_mode.c) | core_3d_camera_mode | ⭐️☆☆☆ | 1.0 | 1.0 | [Ray](https://github.com/raysan5) | -| 13 | [core_3d_camera_free](core/core_3d_camera_free.c) | core_3d_camera_free | ⭐️☆☆☆ | 1.3 | 1.3 | [Ray](https://github.com/raysan5) | -| 14 | [core_3d_camera_first_person](core/core_3d_camera_first_person.c) | core_3d_camera_first_person | ⭐️⭐️☆☆ | 1.3 | 1.3 | [Ray](https://github.com/raysan5) | -| 15 | [core_3d_camera:split_screen](core/core_3d_camera_split_screen.c) | core_3d_camera_split_screen | ⭐️⭐️⭐️⭐️ | 3.7 | **4.0** | [Jeffery Myers](https://github.com/JeffM2501) | -| 16 | [core_3d_picking](core/core_3d_picking.c) | core_3d_picking | ⭐️⭐️☆☆ | 1.3 | **4.0** | [Ray](https://github.com/raysan5) | -| 17 | [core_world_screen](core/core_world_screen.c) | core_world_screen | ⭐️⭐️☆☆ | 1.3 | 1.4 | [Ray](https://github.com/raysan5) | +| 08 | [core_input_virtual_controls](core_input_virtual_controls.c) | core_input_virtual_controls | ⭐️⭐️☆☆ | 1.5 | 3.0 | [Ray](https://github.com/raysan5) | +| 10 | [core_2d_camera_mouse_zoom](core/core_2d_camera_mouse_zoom.c) | core_2d_camera_mouse_zoom | ⭐️⭐️☆☆ | **4.2** | **4.2** | [Jeffery Myers](https://github.com/JeffM2501) | +| 11 | [core_2d_camera_platformer](core/core_2d_camera_platformer.c) | core_2d_camera_platformer | ⭐️⭐️⭐️☆ | 2.5 | 3.0 | [avyy](https://github.com/avyy) | +| 12 | [core_2d_camera_split_screen](core/core_2d_camera_split_screen.c) | core_2d_camera_split_screen | ⭐️⭐️⭐️⭐️ | **4.5** | **4.5** | [Gabriel dos Santos Sanches](https://github.com/gabrielssanches) | +| 13 | [core_3d_camera_mode](core/core_3d_camera_mode.c) | core_3d_camera_mode | ⭐️☆☆☆ | 1.0 | 1.0 | [Ray](https://github.com/raysan5) | +| 14 | [core_3d_camera_free](core/core_3d_camera_free.c) | core_3d_camera_free | ⭐️☆☆☆ | 1.3 | 1.3 | [Ray](https://github.com/raysan5) | +| 15 | [core_3d_camera_first_person](core/core_3d_camera_first_person.c) | core_3d_camera_first_person | ⭐️⭐️☆☆ | 1.3 | 1.3 | [Ray](https://github.com/raysan5) | +| 16 | [core_3d_camera:split_screen](core/core_3d_camera_split_screen.c) | core_3d_camera_split_screen | ⭐️⭐️⭐️⭐️ | 3.7 | **4.0** | [Jeffery Myers](https://github.com/JeffM2501) | +| 17 | [core_3d_picking](core/core_3d_picking.c) | core_3d_picking | ⭐️⭐️☆☆ | 1.3 | **4.0** | [Ray](https://github.com/raysan5) | +| 18 | [core_world_screen](core/core_world_screen.c) | core_world_screen | ⭐️⭐️☆☆ | 1.3 | 1.4 | [Ray](https://github.com/raysan5) | | 18 | [core_custom_logging](core/core_custom_logging.c) | core_custom_logging | ⭐️⭐️⭐️☆ | 2.5 | 2.5 | [Pablo Marcos Oltra](https://github.com/pamarcos) | | 19 | [core_window_flags](core/core_window_flags.c) | core_window_flags | ⭐️⭐️⭐️☆ | 3.5 | 3.5 | [Ray](https://github.com/raysan5) | | 20 | [core_window_letterbox](core/core_window_letterbox.c) | core_window_letterbox | ⭐️⭐️☆☆ | 2.5 | **4.0** | [Anata](https://github.com/anatagawa) | From 486bd8d508eb250f9437749a3682b7ff766519b5 Mon Sep 17 00:00:00 2001 From: Magnus Oblerion <82583559+oblerion@users.noreply.github.com> Date: Fri, 4 Oct 2024 14:04:54 +0200 Subject: [PATCH 11/13] Update README.md --- examples/README.md | 226 ++++++++++++++++++++++----------------------- 1 file changed, 113 insertions(+), 113 deletions(-) diff --git a/examples/README.md b/examples/README.md index f9eed1c19e19..ee528d04999a 100644 --- a/examples/README.md +++ b/examples/README.md @@ -31,7 +31,7 @@ Examples using raylib core platform functionality like window creation, inputs, | 05 | [core_input_gamepad](core/core_input_gamepad.c) | core_input_gamepad | ⭐️☆☆☆ | 1.1 | **4.2** | [Ray](https://github.com/raysan5) | | 06 | [core_input_multitouch](core/core_input_multitouch.c) | core_input_multitouch | ⭐️☆☆☆ | 2.1 | 2.5 | [Berni](https://github.com/Berni8k) | | 07 | [core_input_gestures](core/core_input_gestures.c) | core_input_gestures | ⭐️⭐️☆☆ | 1.4 | **4.2** | [Ray](https://github.com/raysan5) | -| 08 | [core_input_virtual_controls](core_input_virtual_controls.c) | core_input_virtual_controls | ⭐️⭐️☆☆ | **5.0** | **5.0** | [oblerion](https://github.com/oblerion) | | 09 | [core_2d_camera](core/core_2d_camera.c) | core_2d_camera | ⭐️⭐️☆☆ | 1.5 | 3.0 | [Ray](https://github.com/raysan5) | | 10 | [core_2d_camera_mouse_zoom](core/core_2d_camera_mouse_zoom.c) | core_2d_camera_mouse_zoom | ⭐️⭐️☆☆ | **4.2** | **4.2** | [Jeffery Myers](https://github.com/JeffM2501) | | 11 | [core_2d_camera_platformer](core/core_2d_camera_platformer.c) | core_2d_camera_platformer | ⭐️⭐️⭐️☆ | 2.5 | 3.0 | [avyy](https://github.com/avyy) | @@ -42,21 +42,21 @@ Examples using raylib core platform functionality like window creation, inputs, | 16 | [core_3d_camera:split_screen](core/core_3d_camera_split_screen.c) | core_3d_camera_split_screen | ⭐️⭐️⭐️⭐️ | 3.7 | **4.0** | [Jeffery Myers](https://github.com/JeffM2501) | | 17 | [core_3d_picking](core/core_3d_picking.c) | core_3d_picking | ⭐️⭐️☆☆ | 1.3 | **4.0** | [Ray](https://github.com/raysan5) | | 18 | [core_world_screen](core/core_world_screen.c) | core_world_screen | ⭐️⭐️☆☆ | 1.3 | 1.4 | [Ray](https://github.com/raysan5) | -| 18 | [core_custom_logging](core/core_custom_logging.c) | core_custom_logging | ⭐️⭐️⭐️☆ | 2.5 | 2.5 | [Pablo Marcos Oltra](https://github.com/pamarcos) | -| 19 | [core_window_flags](core/core_window_flags.c) | core_window_flags | ⭐️⭐️⭐️☆ | 3.5 | 3.5 | [Ray](https://github.com/raysan5) | -| 20 | [core_window_letterbox](core/core_window_letterbox.c) | core_window_letterbox | ⭐️⭐️☆☆ | 2.5 | **4.0** | [Anata](https://github.com/anatagawa) | -| 21 | [core_window_should_close](core/core_window_should_close.c) | core_window_should_close | ⭐️☆☆☆ | **4.2** | **4.2** | [Ray](https://github.com/raysan5) | -| 22 | [core_drop_files](core/core_drop_files.c) | core_drop_files | ⭐️⭐️☆☆ | 1.3 | **4.2** | [Ray](https://github.com/raysan5) | -| 23 | [core_random_values](core/core_random_values.c) | core_random_values | ⭐️☆☆☆ | 1.1 | 1.1 | [Ray](https://github.com/raysan5) | -| 24 | [core_storage_values](core/core_storage_values.c) | core_storage_values | ⭐️⭐️☆☆ | 1.4 | **4.2** | [Ray](https://github.com/raysan5) | -| 25 | [core_vr_simulator](core/core_vr_simulator.c) | core_vr_simulator | ⭐️⭐️⭐️☆ | 2.5 | **4.0** | [Ray](https://github.com/raysan5) | -| 26 | [core_loading_thread](core/core_loading_thread.c) | core_loading_thread | ⭐️⭐️⭐️☆ | 2.5 | 3.0 | [Ray](https://github.com/raysan5) | -| 27 | [core_scissor_test](core/core_scissor_test.c) | core_scissor_test | ⭐️☆☆☆ | 2.5 | 3.0 | [Chris Dill](https://github.com/MysteriousSpace) | -| 28 | [core_basic_screen_manager](core/core_basic_screen_manager.c) | core_basic_screen_manager | ⭐️☆☆☆ | **4.0** | **4.0** | [Ray](https://github.com/raysan5) | -| 29 | [core_custom_frame_control](core/core_custom_frame_control.c) | core_custom_frame_control | ⭐️⭐️⭐️⭐️ | **4.0** | **4.0** | [Ray](https://github.com/raysan5) | -| 30 | [core_smooth_pixelperfect](core/core_smooth_pixelperfect.c) | core_smooth_pixelperfect | ⭐️⭐️⭐️☆ | 3.7 | **4.0** | [Giancamillo Alessandroni](https://github.com/NotManyIdeasDev) | -| 31 | [core_window_should_close](core/core_window_should_close.c) | core_window_should_close | ⭐️⭐️☆☆ | **4.2** | **4.2** | [Ray](https://github.com/raysan5) | -| 32 | [core_random_sequence](core/core_random_sequence.c) | core_random_sequence | ⭐️☆☆☆ | **5.0** | **5.0** | [REDl3east](https://github.com/REDl3east) | +| 19 | [core_custom_logging](core/core_custom_logging.c) | core_custom_logging | ⭐️⭐️⭐️☆ | 2.5 | 2.5 | [Pablo Marcos Oltra](https://github.com/pamarcos) | +| 20 | [core_window_flags](core/core_window_flags.c) | core_window_flags | ⭐️⭐️⭐️☆ | 3.5 | 3.5 | [Ray](https://github.com/raysan5) | +| 21 | [core_window_letterbox](core/core_window_letterbox.c) | core_window_letterbox | ⭐️⭐️☆☆ | 2.5 | **4.0** | [Anata](https://github.com/anatagawa) | +| 22 | [core_window_should_close](core/core_window_should_close.c) | core_window_should_close | ⭐️☆☆☆ | **4.2** | **4.2** | [Ray](https://github.com/raysan5) | +| 23 | [core_drop_files](core/core_drop_files.c) | core_drop_files | ⭐️⭐️☆☆ | 1.3 | **4.2** | [Ray](https://github.com/raysan5) | +| 24 | [core_random_values](core/core_random_values.c) | core_random_values | ⭐️☆☆☆ | 1.1 | 1.1 | [Ray](https://github.com/raysan5) | +| 25 | [core_storage_values](core/core_storage_values.c) | core_storage_values | ⭐️⭐️☆☆ | 1.4 | **4.2** | [Ray](https://github.com/raysan5) | +| 26 | [core_vr_simulator](core/core_vr_simulator.c) | core_vr_simulator | ⭐️⭐️⭐️☆ | 2.5 | **4.0** | [Ray](https://github.com/raysan5) | +| 27 | [core_loading_thread](core/core_loading_thread.c) | core_loading_thread | ⭐️⭐️⭐️☆ | 2.5 | 3.0 | [Ray](https://github.com/raysan5) | +| 28 | [core_scissor_test](core/core_scissor_test.c) | core_scissor_test | ⭐️☆☆☆ | 2.5 | 3.0 | [Chris Dill](https://github.com/MysteriousSpace) | +| 29 | [core_basic_screen_manager](core/core_basic_screen_manager.c) | core_basic_screen_manager | ⭐️☆☆☆ | **4.0** | **4.0** | [Ray](https://github.com/raysan5) | +| 30 | [core_custom_frame_control](core/core_custom_frame_control.c) | core_custom_frame_control | ⭐️⭐️⭐️⭐️ | **4.0** | **4.0** | [Ray](https://github.com/raysan5) | +| 31 | [core_smooth_pixelperfect](core/core_smooth_pixelperfect.c) | core_smooth_pixelperfect | ⭐️⭐️⭐️☆ | 3.7 | **4.0** | [Giancamillo Alessandroni](https://github.com/NotManyIdeasDev) | +| 32 | [core_window_should_close](core/core_window_should_close.c) | core_window_should_close | ⭐️⭐️☆☆ | **4.2** | **4.2** | [Ray](https://github.com/raysan5) | +| 33 | [core_random_sequence](core/core_random_sequence.c) | core_random_sequence | ⭐️☆☆☆ | **5.0** | **5.0** | [REDl3east](https://github.com/REDl3east) | ### category: shapes @@ -64,22 +64,22 @@ Examples using raylib shapes drawing functionality, provided by raylib [shapes]( | ## | example | image | difficulty
level | version
created | last version
updated | original
developer | |----|----------|--------|:-------------------:|:------------------:|:------------------:|:----------| -| 31 | [shapes_basic_shapes](shapes/shapes_basic_shapes.c) | shapes_basic_shapes | ⭐️☆☆☆ | 1.0 | **4.0** | [Ray](https://github.com/raysan5) | -| 32 | [shapes_bouncing_ball](shapes/shapes_bouncing_ball.c) | shapes_bouncing_ball | ⭐️☆☆☆ | 2.5 | 2.5 | [Ray](https://github.com/raysan5) | -| 33 | [shapes_colors_palette](shapes/shapes_colors_palette.c) | shapes_colors_palette | ⭐️⭐️☆☆ | 1.0 | 2.5 | [Ray](https://github.com/raysan5) | -| 34 | [shapes_logo_raylib](shapes/shapes_logo_raylib.c) | shapes_logo_raylib | ⭐️☆☆☆ | 1.0 | 1.0 | [Ray](https://github.com/raysan5) | -| 35 | [shapes_logo_raylib_anim](shapes/shapes_logo_raylib_anim.c) | shapes_logo_raylib_anim | ⭐️⭐️☆☆ | 2.5 | **4.0** | [Ray](https://github.com/raysan5) | -| 36 | [shapes_rectangle_scaling](shapes/shapes_rectangle_scaling.c) | shapes_rectangle_scaling | ⭐️⭐️☆☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | -| 37 | [shapes_lines_bezier](shapes/shapes_lines_bezier.c) | shapes_lines_bezier | ⭐️☆☆☆ | 1.7 | 1.7 | [Ray](https://github.com/raysan5) | -| 38 | [shapes_collision_area](shapes/shapes_collision_area.c) | shapes_collision_area | ⭐️⭐️☆☆ | 2.5 | 2.5 | [Ray](https://github.com/raysan5) | -| 39 | [shapes_following_eyes](shapes/shapes_following_eyes.c) | shapes_following_eyes | ⭐️⭐️☆☆ | 2.5 | 2.5 | [Ray](https://github.com/raysan5) | -| 40 | [shapes_easings_ball_anim](shapes/shapes_easings_ball_anim.c) | shapes_easings_ball_anim | ⭐️⭐️☆☆ | 2.5 | 2.5 | [Ray](https://github.com/raysan5) | -| 41 | [shapes_easings_box_anim](shapes/shapes_easings_box_anim.c) | shapes_easings_box_anim | ⭐️⭐️☆☆ | 2.5 | 2.5 | [Ray](https://github.com/raysan5) | -| 42 | [shapes_easings_rectangle_array](shapes/shapes_easings_rectangle_array.c) | shapes_easings_rectangle_array | ⭐️⭐️⭐️☆ | 2.5 | 2.5 | [Ray](https://github.com/raysan5) | -| 43 | [shapes_draw_ring](shapes/shapes_draw_ring.c) | shapes_draw_ring | ⭐️⭐️⭐️☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | -| 44 | [shapes_draw_circle_sector](shapes/shapes_draw_circle_sector.c) | shapes_draw_circle_sector | ⭐️⭐️⭐️☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | -| 45 | [shapes_draw_rectangle_rounded](shapes/shapes_draw_rectangle_rounded.c) | shapes_draw_rectangle_rounded | ⭐️⭐️⭐️☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | -| 46 | [shapes_top_down_lights](shapes/shapes_top_down_lights.c) | shapes_top_down_lights | ⭐️⭐️⭐️⭐️ | **4.2** | **4.2** | [Jeffery Myers](https://github.com/JeffM2501) | +| 34 | [shapes_basic_shapes](shapes/shapes_basic_shapes.c) | shapes_basic_shapes | ⭐️☆☆☆ | 1.0 | **4.0** | [Ray](https://github.com/raysan5) | +| 35 | [shapes_bouncing_ball](shapes/shapes_bouncing_ball.c) | shapes_bouncing_ball | ⭐️☆☆☆ | 2.5 | 2.5 | [Ray](https://github.com/raysan5) | +| 36 | [shapes_colors_palette](shapes/shapes_colors_palette.c) | shapes_colors_palette | ⭐️⭐️☆☆ | 1.0 | 2.5 | [Ray](https://github.com/raysan5) | +| 37 | [shapes_logo_raylib](shapes/shapes_logo_raylib.c) | shapes_logo_raylib | ⭐️☆☆☆ | 1.0 | 1.0 | [Ray](https://github.com/raysan5) | +| 38 | [shapes_logo_raylib_anim](shapes/shapes_logo_raylib_anim.c) | shapes_logo_raylib_anim | ⭐️⭐️☆☆ | 2.5 | **4.0** | [Ray](https://github.com/raysan5) | +| 39 | [shapes_rectangle_scaling](shapes/shapes_rectangle_scaling.c) | shapes_rectangle_scaling | ⭐️⭐️☆☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | +| 40 | [shapes_lines_bezier](shapes/shapes_lines_bezier.c) | shapes_lines_bezier | ⭐️☆☆☆ | 1.7 | 1.7 | [Ray](https://github.com/raysan5) | +| 41 | [shapes_collision_area](shapes/shapes_collision_area.c) | shapes_collision_area | ⭐️⭐️☆☆ | 2.5 | 2.5 | [Ray](https://github.com/raysan5) | +| 42 | [shapes_following_eyes](shapes/shapes_following_eyes.c) | shapes_following_eyes | ⭐️⭐️☆☆ | 2.5 | 2.5 | [Ray](https://github.com/raysan5) | +| 43 | [shapes_easings_ball_anim](shapes/shapes_easings_ball_anim.c) | shapes_easings_ball_anim | ⭐️⭐️☆☆ | 2.5 | 2.5 | [Ray](https://github.com/raysan5) | +| 44 | [shapes_easings_box_anim](shapes/shapes_easings_box_anim.c) | shapes_easings_box_anim | ⭐️⭐️☆☆ | 2.5 | 2.5 | [Ray](https://github.com/raysan5) | +| 45 | [shapes_easings_rectangle_array](shapes/shapes_easings_rectangle_array.c) | shapes_easings_rectangle_array | ⭐️⭐️⭐️☆ | 2.5 | 2.5 | [Ray](https://github.com/raysan5) | +| 46 | [shapes_draw_ring](shapes/shapes_draw_ring.c) | shapes_draw_ring | ⭐️⭐️⭐️☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | +| 47 | [shapes_draw_circle_sector](shapes/shapes_draw_circle_sector.c) | shapes_draw_circle_sector | ⭐️⭐️⭐️☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | +| 48 | [shapes_draw_rectangle_rounded](shapes/shapes_draw_rectangle_rounded.c) | shapes_draw_rectangle_rounded | ⭐️⭐️⭐️☆ | 2.5 | 2.5 | [Vlad Adrian](https://github.com/demizdor) | +| 49 | [shapes_top_down_lights](shapes/shapes_top_down_lights.c) | shapes_top_down_lights | ⭐️⭐️⭐️⭐️ | **4.2** | **4.2** | [Jeffery Myers](https://github.com/JeffM2501) | ### category: textures @@ -87,28 +87,28 @@ Examples using raylib textures functionality, including image/textures loading/g | ## | example | image | difficulty
level | version
created | last version
updated | original
developer | |----|----------|--------|:-------------------:|:------------------:|:------------------:|:----------| -| 47 | [textures_logo_raylib](textures/textures_logo_raylib.c) | textures_logo_raylib | ⭐️☆☆☆ | 1.0 | 1.0 | [Ray](https://github.com/raysan5) | -| 48 | [textures_srcrec_dstrec](textures/textures_srcrec_dstrec.c) | textures_srcrec_dstrec | ⭐️⭐️⭐️☆ | 1.3 | 1.3 | [Ray](https://github.com/raysan5) | -| 49 | [textures_image_drawing](textures/textures_image_drawing.c) | textures_image_drawing | ⭐️⭐️☆☆ | 1.4 | 1.4 | [Ray](https://github.com/raysan5) | -| 50 | [textures_image_generation](textures/textures_image_generation.c) | textures_image_generation | ⭐️⭐️☆☆ | 1.8 | 1.8 | [Ray](https://github.com/raysan5) | -| 51 | [textures_image_loading](textures/textures_image_loading.c) | textures_image_loading | ⭐️☆☆☆ | 1.3 | 1.3 | [Ray](https://github.com/raysan5) | -| 52 | [textures_image_processing](textures/textures_image_processing.c) | textures_image_processing | ⭐️⭐️⭐️☆ | 1.4 | 3.5 | [Ray](https://github.com/raysan5) | -| 53 | [textures_image_text](textures/textures_image_text.c) | textures_image_text | ⭐️⭐️☆☆ | 1.8 | **4.0** | [Ray](https://github.com/raysan5) | -| 54 | [textures_to_image](textures/textures_to_image.c) | textures_to_image | ⭐️☆☆☆ | 1.3 | **4.0** | [Ray](https://github.com/raysan5) | -| 55 | [textures_raw_data](textures/textures_raw_data.c) | textures_raw_data | ⭐️⭐️⭐️☆ | 1.3 | 3.5 | [Ray](https://github.com/raysan5) | -| 56 | [textures_particles_blending](textures/textures_particles_blending.c) | textures_particles_blending | ⭐️☆☆☆ | 1.7 | 3.5 | [Ray](https://github.com/raysan5) | -| 57 | [textures_npatch_drawing](textures/textures_npatch_drawing.c) | textures_npatch_drawing | ⭐️⭐️⭐️☆ | 2.0 | 2.5 | [Jorge A. Gomes](https://github.com/overdev) | -| 58 | [textures_background_scrolling](textures/textures_background_scrolling.c) | textures_background_scrolling | ⭐️☆☆☆ | 2.0 | 2.5 | [Ray](https://github.com/raysan5) | -| 59 | [textures_sprite_anim](textures/textures_sprite_anim.c) | textures_sprite_anim | ⭐️⭐️☆☆ | 1.3 | 1.3 | [Ray](https://github.com/raysan5) | -| 60 | [textures_sprite_button](textures/textures_sprite_button.c) | textures_sprite_button | ⭐️⭐️☆☆ | 2.5 | 2.5 | [Ray](https://github.com/raysan5) | -| 61 | [textures_sprite_explosion](textures/textures_sprite_explosion.c) | textures_sprite_explosion | ⭐️⭐️☆☆ | 2.5 | 3.5 | [Ray](https://github.com/raysan5) | -| 62 | [textures_bunnymark](textures/textures_bunnymark.c) | textures_bunnymark | ⭐️⭐️⭐️☆ | 1.6 | 2.5 | [Ray](https://github.com/raysan5) | -| 63 | [textures_mouse_painting](textures/textures_mouse_painting.c) | textures_mouse_painting | ⭐️⭐️⭐️☆ | 3.0 | 3.0 | [Chris Dill](https://github.com/MysteriousSpace) | -| 64 | [textures_blend_modes](textures/textures_blend_modes.c) | textures_blend_modes | ⭐️☆☆☆ | 3.5 | 3.5 | [Karlo Licudine](https://github.com/accidentalrebel) | -| 65 | [textures_draw_tiled](textures/textures_draw_tiled.c) | textures_draw_tiled | ⭐️⭐️⭐️☆ | 3.0 | **4.2** | [Vlad Adrian](https://github.com/demizdor) | -| 66 | [textures_polygon](textures/textures_polygon.c) | textures_polygon | ⭐️☆☆☆ | 3.7 | 3.7 | [Chris Camacho](https://github.com/codifies) | -| 67 | [textures_fog_of_war](textures/textures_fog_of_war.c) | textures_fog_of_war | ⭐️⭐️⭐️☆ | **4.2** | **4.2** | [Ray](https://github.com/raysan5) | -| 68 | [textures_gif_player](textures/textures_gif_player.c) | textures_gif_player | ⭐️⭐️⭐️☆ | **4.2** | **4.2** | [Ray](https://github.com/raysan5) | +| 50 | [textures_logo_raylib](textures/textures_logo_raylib.c) | textures_logo_raylib | ⭐️☆☆☆ | 1.0 | 1.0 | [Ray](https://github.com/raysan5) | +| 51 | [textures_srcrec_dstrec](textures/textures_srcrec_dstrec.c) | textures_srcrec_dstrec | ⭐️⭐️⭐️☆ | 1.3 | 1.3 | [Ray](https://github.com/raysan5) | +| 52 | [textures_image_drawing](textures/textures_image_drawing.c) | textures_image_drawing | ⭐️⭐️☆☆ | 1.4 | 1.4 | [Ray](https://github.com/raysan5) | +| 53 | [textures_image_generation](textures/textures_image_generation.c) | textures_image_generation | ⭐️⭐️☆☆ | 1.8 | 1.8 | [Ray](https://github.com/raysan5) | +| 54 | [textures_image_loading](textures/textures_image_loading.c) | textures_image_loading | ⭐️☆☆☆ | 1.3 | 1.3 | [Ray](https://github.com/raysan5) | +| 55 | [textures_image_processing](textures/textures_image_processing.c) | textures_image_processing | ⭐️⭐️⭐️☆ | 1.4 | 3.5 | [Ray](https://github.com/raysan5) | +| 56 | [textures_image_text](textures/textures_image_text.c) | textures_image_text | ⭐️⭐️☆☆ | 1.8 | **4.0** | [Ray](https://github.com/raysan5) | +| 57 | [textures_to_image](textures/textures_to_image.c) | textures_to_image | ⭐️☆☆☆ | 1.3 | **4.0** | [Ray](https://github.com/raysan5) | +| 58 | [textures_raw_data](textures/textures_raw_data.c) | textures_raw_data | ⭐️⭐️⭐️☆ | 1.3 | 3.5 | [Ray](https://github.com/raysan5) | +| 59 | [textures_particles_blending](textures/textures_particles_blending.c) | textures_particles_blending | ⭐️☆☆☆ | 1.7 | 3.5 | [Ray](https://github.com/raysan5) | +| 60 | [textures_npatch_drawing](textures/textures_npatch_drawing.c) | textures_npatch_drawing | ⭐️⭐️⭐️☆ | 2.0 | 2.5 | [Jorge A. Gomes](https://github.com/overdev) | +| 61 | [textures_background_scrolling](textures/textures_background_scrolling.c) | textures_background_scrolling | ⭐️☆☆☆ | 2.0 | 2.5 | [Ray](https://github.com/raysan5) | +| 62 | [textures_sprite_anim](textures/textures_sprite_anim.c) | textures_sprite_anim | ⭐️⭐️☆☆ | 1.3 | 1.3 | [Ray](https://github.com/raysan5) | +| 63 | [textures_sprite_button](textures/textures_sprite_button.c) | textures_sprite_button | ⭐️⭐️☆☆ | 2.5 | 2.5 | [Ray](https://github.com/raysan5) | +| 64 | [textures_sprite_explosion](textures/textures_sprite_explosion.c) | textures_sprite_explosion | ⭐️⭐️☆☆ | 2.5 | 3.5 | [Ray](https://github.com/raysan5) | +| 65 | [textures_bunnymark](textures/textures_bunnymark.c) | textures_bunnymark | ⭐️⭐️⭐️☆ | 1.6 | 2.5 | [Ray](https://github.com/raysan5) | +| 66 | [textures_mouse_painting](textures/textures_mouse_painting.c) | textures_mouse_painting | ⭐️⭐️⭐️☆ | 3.0 | 3.0 | [Chris Dill](https://github.com/MysteriousSpace) | +| 67 | [textures_blend_modes](textures/textures_blend_modes.c) | textures_blend_modes | ⭐️☆☆☆ | 3.5 | 3.5 | [Karlo Licudine](https://github.com/accidentalrebel) | +| 68 | [textures_draw_tiled](textures/textures_draw_tiled.c) | textures_draw_tiled | ⭐️⭐️⭐️☆ | 3.0 | **4.2** | [Vlad Adrian](https://github.com/demizdor) | +| 69 | [textures_polygon](textures/textures_polygon.c) | textures_polygon | ⭐️☆☆☆ | 3.7 | 3.7 | [Chris Camacho](https://github.com/codifies) | +| 70 | [textures_fog_of_war](textures/textures_fog_of_war.c) | textures_fog_of_war | ⭐️⭐️⭐️☆ | **4.2** | **4.2** | [Ray](https://github.com/raysan5) | +| 71 | [textures_gif_player](textures/textures_gif_player.c) | textures_gif_player | ⭐️⭐️⭐️☆ | **4.2** | **4.2** | [Ray](https://github.com/raysan5) | ### category: text @@ -116,18 +116,18 @@ Examples using raylib text functionality, including sprite fonts loading/generat | ## | example | image | difficulty
level | version
created | last version
updated | original
developer | |----|----------|--------|:-------------------:|:------------------:|:------------------:|:----------| -| 69 | [text_raylib_fonts](text/text_raylib_fonts.c) | text_raylib_fonts | ⭐️☆☆☆ | 1.7 | 3.7 | [Ray](https://github.com/raysan5) | -| 70 | [text_font_spritefont](text/text_font_spritefont.c) | text_font_spritefont | ⭐️☆☆☆ | 1.0 | 1.0 | [Ray](https://github.com/raysan5) | -| 71 | [text_font_filters](text/text_font_filters.c) | text_font_filters | ⭐️⭐️☆☆ | 1.3 | **4.2** | [Ray](https://github.com/raysan5) | -| 72 | [text_font_loading](text/text_font_loading.c) | text_font_loading | ⭐️☆☆☆ | 1.4 | 3.0 | [Ray](https://github.com/raysan5) | -| 73 | [text_font_sdf](text/text_font_sdf.c) | text_font_sdf | ⭐️⭐️⭐️☆ | 1.3 | **4.0** | [Ray](https://github.com/raysan5) | -| 74 | [text_format_text](text/text_format_text.c) | text_format_text | ⭐️☆☆☆ | 1.1 | 3.0 | [Ray](https://github.com/raysan5) | -| 75 | [text_input_box](text/text_input_box.c) | text_input_box | ⭐️⭐️☆☆ | 1.7 | 3.5 | [Ray](https://github.com/raysan5) | -| 76 | [text_writing_anim](text/text_writing_anim.c) | text_writing_anim | ⭐️⭐️☆☆ | 1.4 | 1.4 | [Ray](https://github.com/raysan5) | -| 77 | [text_rectangle_bounds](text/text_rectangle_bounds.c) | text_rectangle_bounds | ⭐️⭐️⭐️⭐️ | 2.5 | **4.0** | [Vlad Adrian](https://github.com/demizdor) | -| 78 | [text_unicode](text/text_unicode.c) | text_unicode | ⭐️⭐️⭐️⭐️ | 2.5 | **4.0** | [Vlad Adrian](https://github.com/demizdor) | -| 79 | [text_draw_3d](text/text_draw_3d.c) | text_draw_3d | ⭐️⭐️⭐️⭐️ | 3.5 | **4.0** | [Vlad Adrian](https://github.com/demizdor) | -| 80 | [text_codepoints_loading](text/text_codepoints_loading.c) | text_codepoints_loading | ⭐️⭐️⭐️☆ | **4.2** | **4.2** | [Ray](https://github.com/raysan5) | +| 72 | [text_raylib_fonts](text/text_raylib_fonts.c) | text_raylib_fonts | ⭐️☆☆☆ | 1.7 | 3.7 | [Ray](https://github.com/raysan5) | +| 73 | [text_font_spritefont](text/text_font_spritefont.c) | text_font_spritefont | ⭐️☆☆☆ | 1.0 | 1.0 | [Ray](https://github.com/raysan5) | +| 74 | [text_font_filters](text/text_font_filters.c) | text_font_filters | ⭐️⭐️☆☆ | 1.3 | **4.2** | [Ray](https://github.com/raysan5) | +| 75 | [text_font_loading](text/text_font_loading.c) | text_font_loading | ⭐️☆☆☆ | 1.4 | 3.0 | [Ray](https://github.com/raysan5) | +| 76 | [text_font_sdf](text/text_font_sdf.c) | text_font_sdf | ⭐️⭐️⭐️☆ | 1.3 | **4.0** | [Ray](https://github.com/raysan5) | +| 77 | [text_format_text](text/text_format_text.c) | text_format_text | ⭐️☆☆☆ | 1.1 | 3.0 | [Ray](https://github.com/raysan5) | +| 78 | [text_input_box](text/text_input_box.c) | text_input_box | ⭐️⭐️☆☆ | 1.7 | 3.5 | [Ray](https://github.com/raysan5) | +| 79 | [text_writing_anim](text/text_writing_anim.c) | text_writing_anim | ⭐️⭐️☆☆ | 1.4 | 1.4 | [Ray](https://github.com/raysan5) | +| 80 | [text_rectangle_bounds](text/text_rectangle_bounds.c) | text_rectangle_bounds | ⭐️⭐️⭐️⭐️ | 2.5 | **4.0** | [Vlad Adrian](https://github.com/demizdor) | +| 81 | [text_unicode](text/text_unicode.c) | text_unicode | ⭐️⭐️⭐️⭐️ | 2.5 | **4.0** | [Vlad Adrian](https://github.com/demizdor) | +| 82 | [text_draw_3d](text/text_draw_3d.c) | text_draw_3d | ⭐️⭐️⭐️⭐️ | 3.5 | **4.0** | [Vlad Adrian](https://github.com/demizdor) | +| 83 | [text_codepoints_loading](text/text_codepoints_loading.c) | text_codepoints_loading | ⭐️⭐️⭐️☆ | **4.2** | **4.2** | [Ray](https://github.com/raysan5) | ### category: models @@ -135,25 +135,25 @@ Examples using raylib models functionality, including models loading/generation | ## | example | image | difficulty
level | version
created | last version
updated | original
developer | |----|----------|--------|:-------------------:|:------------------:|:------------------:|:----------| -| 81 | [models_animation](models/models_animation.c) | models_animation | ⭐️⭐️☆☆ | 2.5 | 3.5 | [culacant](https://github.com/culacant) | -| 82 | [models_billboard](models/models_billboard.c) | models_billboard | ⭐️⭐️⭐️☆ | 1.3 | 3.5 | [Ray](https://github.com/raysan5) | -| 83 | [models_box_collisions](models/models_box_collisions.c) | models_box_collisions | ⭐️☆☆☆ | 1.3 | 3.5 | [Ray](https://github.com/raysan5) | -| 84 | [models_cubicmap](models/models_cubicmap.c) | models_cubicmap | ⭐️⭐️☆☆ | 1.8 | 3.5 | [Ray](https://github.com/raysan5) | -| 85 | [models_first_person_maze](models/models_first_person_maze.c) | models_first_person_maze | ⭐️⭐️☆☆ | 2.5 | 3.5 | [Ray](https://github.com/raysan5) | -| 86 | [models_geometric_shapes](models/models_geometric_shapes.c) | models_geometric_shapes | ⭐️☆☆☆ | 1.0 | 3.5 | [Ray](https://github.com/raysan5) | -| 87 | [models_mesh_generation](models/models_mesh_generation.c) | models_mesh_generation | ⭐️⭐️☆☆ | 1.8 | **4.0** | [Ray](https://github.com/raysan5) | -| 88 | [models_mesh_picking](models/models_mesh_picking.c) | models_mesh_picking | ⭐️⭐️⭐️☆ | 1.7 | **4.0** | [Joel Davis](https://github.com/joeld42) | -| 89 | [models_loading](models/models_loading.c) | models_loading | ⭐️☆☆☆ | 2.5 | **4.0** | [Ray](https://github.com/raysan5) | -| 90 | [models_loading_gltf](models/models_loading_gltf.c) | models_loading_gltf | ⭐️☆☆☆ | 3.7 | **4.2** | [Ray](https://github.com/raysan5) | -| 91 | [models_loading_vox](models/models_loading_vox.c) | models_loading_vox | ⭐️☆☆☆ | **4.0** | **4.0** | [Johann Nadalutti](https://github.com/procfxgen) | -| 92 | [models_loading_m3d](models/models_loading_m3d.c) | models_loading_m3d | ⭐️☆☆☆ | **4.2** | **4.2** | [bzt](https://bztsrc.gitlab.io/model3d) | -| 93 | [models_orthographic_projection](models/models_orthographic_projection.c) | models_orthographic_projection | ⭐️☆☆☆ | 2.0 | 3.7 | [Max Danielsson](https://github.com/autious) | -| 94 | [models_point_rendering](models/models_point_rendering.c) | models_point_rendering | ⭐️⭐️☆☆ | 5.0 | 5.0 | [Reese Gallagher](https://github.com/satchelfrost) | -| 95 | [models_rlgl_solar_system](models/models_rlgl_solar_system.c) | models_rlgl_solar_system | ⭐️⭐️⭐️⭐️ | 2.5 | **4.0** | [Ray](https://github.com/raysan5) | -| 96 | [models_yaw_pitch_roll](models/models_yaw_pitch_roll.c) | models_yaw_pitch_roll | ⭐️⭐️☆☆ | 1.8 | **4.0** | [Berni](https://github.com/Berni8k) | -| 97 | [models_waving_cubes](models/models_waving_cubes.c) | models_waving_cubes | ⭐️⭐️⭐️☆ | 2.5 | 3.7 | [codecat](https://github.com/codecat) | -| 98 | [models_heightmap](models/models_heightmap.c) | models_heightmap | ⭐️☆☆☆ | 1.8 | 3.5 | [Ray](https://github.com/raysan5) | -| 99 | [models_skybox](models/models_skybox.c) | models_skybox | ⭐️⭐️☆☆ | 1.8 | **4.0** | [Ray](https://github.com/raysan5) | +| 84 | [models_animation](models/models_animation.c) | models_animation | ⭐️⭐️☆☆ | 2.5 | 3.5 | [culacant](https://github.com/culacant) | +| 85 | [models_billboard](models/models_billboard.c) | models_billboard | ⭐️⭐️⭐️☆ | 1.3 | 3.5 | [Ray](https://github.com/raysan5) | +| 86 | [models_box_collisions](models/models_box_collisions.c) | models_box_collisions | ⭐️☆☆☆ | 1.3 | 3.5 | [Ray](https://github.com/raysan5) | +| 87 | [models_cubicmap](models/models_cubicmap.c) | models_cubicmap | ⭐️⭐️☆☆ | 1.8 | 3.5 | [Ray](https://github.com/raysan5) | +| 88 | [models_first_person_maze](models/models_first_person_maze.c) | models_first_person_maze | ⭐️⭐️☆☆ | 2.5 | 3.5 | [Ray](https://github.com/raysan5) | +| 89 | [models_geometric_shapes](models/models_geometric_shapes.c) | models_geometric_shapes | ⭐️☆☆☆ | 1.0 | 3.5 | [Ray](https://github.com/raysan5) | +| 90 | [models_mesh_generation](models/models_mesh_generation.c) | models_mesh_generation | ⭐️⭐️☆☆ | 1.8 | **4.0** | [Ray](https://github.com/raysan5) | +| 91 | [models_mesh_picking](models/models_mesh_picking.c) | models_mesh_picking | ⭐️⭐️⭐️☆ | 1.7 | **4.0** | [Joel Davis](https://github.com/joeld42) | +| 92 | [models_loading](models/models_loading.c) | models_loading | ⭐️☆☆☆ | 2.5 | **4.0** | [Ray](https://github.com/raysan5) | +| 93 | [models_loading_gltf](models/models_loading_gltf.c) | models_loading_gltf | ⭐️☆☆☆ | 3.7 | **4.2** | [Ray](https://github.com/raysan5) | +| 94 | [models_loading_vox](models/models_loading_vox.c) | models_loading_vox | ⭐️☆☆☆ | **4.0** | **4.0** | [Johann Nadalutti](https://github.com/procfxgen) | +| 95 | [models_loading_m3d](models/models_loading_m3d.c) | models_loading_m3d | ⭐️☆☆☆ | **4.2** | **4.2** | [bzt](https://bztsrc.gitlab.io/model3d) | +| 96 | [models_orthographic_projection](models/models_orthographic_projection.c) | models_orthographic_projection | ⭐️☆☆☆ | 2.0 | 3.7 | [Max Danielsson](https://github.com/autious) | +| 97 | [models_point_rendering](models/models_point_rendering.c) | models_point_rendering | ⭐️⭐️☆☆ | 5.0 | 5.0 | [Reese Gallagher](https://github.com/satchelfrost) | +| 98 | [models_rlgl_solar_system](models/models_rlgl_solar_system.c) | models_rlgl_solar_system | ⭐️⭐️⭐️⭐️ | 2.5 | **4.0** | [Ray](https://github.com/raysan5) | +| 99 | [models_yaw_pitch_roll](models/models_yaw_pitch_roll.c) | models_yaw_pitch_roll | ⭐️⭐️☆☆ | 1.8 | **4.0** | [Berni](https://github.com/Berni8k) | +| 100 | [models_waving_cubes](models/models_waving_cubes.c) | models_waving_cubes | ⭐️⭐️⭐️☆ | 2.5 | 3.7 | [codecat](https://github.com/codecat) | +| 101 | [models_heightmap](models/models_heightmap.c) | models_heightmap | ⭐️☆☆☆ | 1.8 | 3.5 | [Ray](https://github.com/raysan5) | +| 102 | [models_skybox](models/models_skybox.c) | models_skybox | ⭐️⭐️☆☆ | 1.8 | **4.0** | [Ray](https://github.com/raysan5) | ### category: shaders @@ -161,25 +161,25 @@ Examples using raylib shaders functionality, including shaders loading, paramete | ## | example | image | difficulty
level | version
created | last version
updated | original
developer | |----|----------|--------|:-------------------:|:------------------:|:------------------:|:----------| -| 100 | [shaders_basic_lighting](shaders/shaders_basic_lighting.c) | shaders_basic_lighting | ⭐️⭐️⭐️⭐️ | 3.0 | **4.2** | [Chris Camacho](https://github.com/codifies) | -| 101 | [shaders_model_shader](shaders/shaders_model_shader.c) | shaders_model_shader | ⭐️⭐️☆☆ | 1.3 | 3.7 | [Ray](https://github.com/raysan5) | -| 102 | [shaders_shapes_textures](shaders/shaders_shapes_textures.c) | shaders_shapes_textures | ⭐️⭐️☆☆ | 1.7 | 3.7 | [Ray](https://github.com/raysan5) | -| 103 | [shaders_custom_uniform](shaders/shaders_custom_uniform.c) | shaders_custom_uniform | ⭐️⭐️☆☆ | 1.3 | **4.0** | [Ray](https://github.com/raysan5) | -| 104 | [shaders_postprocessing](shaders/shaders_postprocessing.c) | shaders_postprocessing | ⭐️⭐️⭐️☆ | 1.3 | **4.0** | [Ray](https://github.com/raysan5) | -| 105 | [shaders_palette_switch](shaders/shaders_palette_switch.c) | shaders_palette_switch | ⭐️⭐️⭐️☆ | 2.5 | 3.7 | [Marco Lizza](https://github.com/MarcoLizza) | -| 106 | [shaders_raymarching](shaders/shaders_raymarching.c) | shaders_raymarching | ⭐️⭐️⭐️⭐️ | 2.0 | **4.2** | [Ray](https://github.com/raysan5) | -| 107 | [shaders_texture_drawing](shaders/shaders_texture_drawing.c) | shaders_texture_drawing | ⭐️⭐️☆☆ | 2.0 | 3.7 | [Michał Ciesielski](https://github.com/) | -| 108 | [shaders_texture_outline](shaders/shaders_texture_outline.c) | shaders_texture_outline | ⭐️⭐️⭐️☆ | **4.0** | **4.0** | [Samuel Skiff](https://github.com/GoldenThumbs) | -| 109 | [shaders_texture_waves](shaders/shaders_texture_waves.c) | shaders_texture_waves | ⭐️⭐️☆☆ | 2.5 | 3.7 | [Anata](https://github.com/anatagawa) | -| 110 | [shaders_julia_set](shaders/shaders_julia_set.c) | shaders_julia_set | ⭐️⭐️⭐️☆ | 2.5 | **4.0** | [eggmund](https://github.com/eggmund) | -| 111 | [shaders_eratosthenes](shaders/shaders_eratosthenes.c) | shaders_eratosthenes | ⭐️⭐️⭐️☆ | 2.5 | **4.0** | [ProfJski](https://github.com/ProfJski) | -| 112 | [shaders_fog](shaders/shaders_fog.c) | shaders_fog | ⭐️⭐️⭐️☆ | 2.5 | 3.7 | [Chris Camacho](https://github.com/codifies) | -| 113 | [shaders_simple_mask](shaders/shaders_simple_mask.c) | shaders_simple_mask | ⭐️⭐️☆☆ | 2.5 | 3.7 | [Chris Camacho](https://github.com/codifies) | -| 114 | [shaders_hot_reloading](shaders/shaders_hot_reloading.c) | shaders_hot_reloading | ⭐️⭐️⭐️☆ | 3.0 | 3.5 | [Ray](https://github.com/raysan5) | -| 115 | [shaders_mesh_instancing](shaders/shaders_mesh_instancing.c) | shaders_mesh_instancing | ⭐️⭐️⭐️⭐️ | 3.7 | **4.2** | [seanpringle](https://github.com/seanpringle) | -| 116 | [shaders_multi_sample2d](shaders/shaders_multi_sample2d.c) | shaders_multi_sample2d | ⭐️⭐️☆☆ | 3.5 | 3.5 | [Ray](https://github.com/raysan5) | -| 117 | [shaders_spotlight](shaders/shaders_spotlight.c) | shaders_spotlight | ⭐️⭐️☆☆ | 2.5 | 3.7 | [Chris Camacho](https://github.com/codifies) | -| 118 | [shaders_deferred_render](shaders/shaders_deferred_render.c) | shaders_deferred_render | ⭐️⭐️⭐️⭐️ | 4.5 | 4.5 | [Justin Andreas Lacoste](https://github.com/27justin) | +| 103 | [shaders_basic_lighting](shaders/shaders_basic_lighting.c) | shaders_basic_lighting | ⭐️⭐️⭐️⭐️ | 3.0 | **4.2** | [Chris Camacho](https://github.com/codifies) | +| 104 | [shaders_model_shader](shaders/shaders_model_shader.c) | shaders_model_shader | ⭐️⭐️☆☆ | 1.3 | 3.7 | [Ray](https://github.com/raysan5) | +| 105 | [shaders_shapes_textures](shaders/shaders_shapes_textures.c) | shaders_shapes_textures | ⭐️⭐️☆☆ | 1.7 | 3.7 | [Ray](https://github.com/raysan5) | +| 106 | [shaders_custom_uniform](shaders/shaders_custom_uniform.c) | shaders_custom_uniform | ⭐️⭐️☆☆ | 1.3 | **4.0** | [Ray](https://github.com/raysan5) | +| 107 | [shaders_postprocessing](shaders/shaders_postprocessing.c) | shaders_postprocessing | ⭐️⭐️⭐️☆ | 1.3 | **4.0** | [Ray](https://github.com/raysan5) | +| 108 | [shaders_palette_switch](shaders/shaders_palette_switch.c) | shaders_palette_switch | ⭐️⭐️⭐️☆ | 2.5 | 3.7 | [Marco Lizza](https://github.com/MarcoLizza) | +| 109 | [shaders_raymarching](shaders/shaders_raymarching.c) | shaders_raymarching | ⭐️⭐️⭐️⭐️ | 2.0 | **4.2** | [Ray](https://github.com/raysan5) | +| 110 | [shaders_texture_drawing](shaders/shaders_texture_drawing.c) | shaders_texture_drawing | ⭐️⭐️☆☆ | 2.0 | 3.7 | [Michał Ciesielski](https://github.com/) | +| 111 | [shaders_texture_outline](shaders/shaders_texture_outline.c) | shaders_texture_outline | ⭐️⭐️⭐️☆ | **4.0** | **4.0** | [Samuel Skiff](https://github.com/GoldenThumbs) | +| 112 | [shaders_texture_waves](shaders/shaders_texture_waves.c) | shaders_texture_waves | ⭐️⭐️☆☆ | 2.5 | 3.7 | [Anata](https://github.com/anatagawa) | +| 113 | [shaders_julia_set](shaders/shaders_julia_set.c) | shaders_julia_set | ⭐️⭐️⭐️☆ | 2.5 | **4.0** | [eggmund](https://github.com/eggmund) | +| 114 | [shaders_eratosthenes](shaders/shaders_eratosthenes.c) | shaders_eratosthenes | ⭐️⭐️⭐️☆ | 2.5 | **4.0** | [ProfJski](https://github.com/ProfJski) | +| 115 | [shaders_fog](shaders/shaders_fog.c) | shaders_fog | ⭐️⭐️⭐️☆ | 2.5 | 3.7 | [Chris Camacho](https://github.com/codifies) | +| 116 | [shaders_simple_mask](shaders/shaders_simple_mask.c) | shaders_simple_mask | ⭐️⭐️☆☆ | 2.5 | 3.7 | [Chris Camacho](https://github.com/codifies) | +| 117 | [shaders_hot_reloading](shaders/shaders_hot_reloading.c) | shaders_hot_reloading | ⭐️⭐️⭐️☆ | 3.0 | 3.5 | [Ray](https://github.com/raysan5) | +| 118 | [shaders_mesh_instancing](shaders/shaders_mesh_instancing.c) | shaders_mesh_instancing | ⭐️⭐️⭐️⭐️ | 3.7 | **4.2** | [seanpringle](https://github.com/seanpringle) | +| 119 | [shaders_multi_sample2d](shaders/shaders_multi_sample2d.c) | shaders_multi_sample2d | ⭐️⭐️☆☆ | 3.5 | 3.5 | [Ray](https://github.com/raysan5) | +| 120 | [shaders_spotlight](shaders/shaders_spotlight.c) | shaders_spotlight | ⭐️⭐️☆☆ | 2.5 | 3.7 | [Chris Camacho](https://github.com/codifies) | +| 121 | [shaders_deferred_render](shaders/shaders_deferred_render.c) | shaders_deferred_render | ⭐️⭐️⭐️⭐️ | 4.5 | 4.5 | [Justin Andreas Lacoste](https://github.com/27justin) | ### category: audio @@ -187,10 +187,10 @@ Examples using raylib audio functionality, including sound/music loading and pla | ## | example | image | difficulty
level | version
created | last version
updated | original
developer | |----|----------|--------|:-------------------:|:------------------:|:------------------:|:----------| -| 119 | [audio_module_playing](audio/audio_module_playing.c) | audio_module_playing | ⭐️☆☆☆ | 1.5 | 3.5 | [Ray](https://github.com/raysan5) | -| 120 | [audio_music_stream](audio/audio_music_stream.c) | audio_music_stream | ⭐️☆☆☆ | 1.3 | **4.2** | [Ray](https://github.com/raysan5) | -| 121 | [audio_raw_stream](audio/audio_raw_stream.c) | audio_raw_stream | ⭐️⭐️⭐️☆ | 1.6 | **4.2** | [Ray](https://github.com/raysan5) | -| 122 | [audio_sound_loading](audio/audio_sound_loading.c) | audio_sound_loading | ⭐️☆☆☆ | 1.1 | 3.5 | [Ray](https://github.com/raysan5) | +| 122 | [audio_module_playing](audio/audio_module_playing.c) | audio_module_playing | ⭐️☆☆☆ | 1.5 | 3.5 | [Ray](https://github.com/raysan5) | +| 123 | [audio_music_stream](audio/audio_music_stream.c) | audio_music_stream | ⭐️☆☆☆ | 1.3 | **4.2** | [Ray](https://github.com/raysan5) | +| 124 | [audio_raw_stream](audio/audio_raw_stream.c) | audio_raw_stream | ⭐️⭐️⭐️☆ | 1.6 | **4.2** | [Ray](https://github.com/raysan5) | +| 125 | [audio_sound_loading](audio/audio_sound_loading.c) | audio_sound_loading | ⭐️☆☆☆ | 1.1 | 3.5 | [Ray](https://github.com/raysan5) | ### category: others @@ -198,11 +198,11 @@ Examples showing raylib misc functionality that does not fit in other categories | ## | example | image | difficulty
level | version
created | last version
updated | original
developer | |----|----------|--------|:-------------------:|:------------------:|:------------------:|:----------| -| 123 | [rlgl_standalone](others/rlgl_standalone.c) | rlgl_standalone | ⭐️⭐️⭐️⭐️ | 1.6 | **4.0** | [Ray](https://github.com/raysan5) | -| 124 | [rlgl_compute_shader](others/rlgl_compute_shader.c) | rlgl_compute_shader | ⭐️⭐️⭐️⭐️ | **4.0** | **4.0** | [Teddy Astie](https://github.com/tsnake41) | -| 125 | [easings_testbed](others/easings_testbed.c) | easings_testbed | ⭐️⭐️⭐️☆ | 3.0 | 3.0 | [Juan Miguel López](https://github.com/flashback-fx) | -| 126 | [raylib_opengl_interop](others/raylib_opengl_interop.c) | raylib_opengl_interop | ⭐️⭐️⭐️⭐️ | **4.0** | **4.0** | [Stephan Soller](https://github.com/arkanis) | -| 127 | [embedded_files_loading](others/embedded_files_loading.c) | embedded_files_loading | ⭐️⭐️☆☆ | 3.5 | 3.5 | [Kristian Holmgren](https://github.com/defutura) | +| 126 | [rlgl_standalone](others/rlgl_standalone.c) | rlgl_standalone | ⭐️⭐️⭐️⭐️ | 1.6 | **4.0** | [Ray](https://github.com/raysan5) | +| 127 | [rlgl_compute_shader](others/rlgl_compute_shader.c) | rlgl_compute_shader | ⭐️⭐️⭐️⭐️ | **4.0** | **4.0** | [Teddy Astie](https://github.com/tsnake41) | +| 128 | [easings_testbed](others/easings_testbed.c) | easings_testbed | ⭐️⭐️⭐️☆ | 3.0 | 3.0 | [Juan Miguel López](https://github.com/flashback-fx) | +| 129 | [raylib_opengl_interop](others/raylib_opengl_interop.c) | raylib_opengl_interop | ⭐️⭐️⭐️⭐️ | **4.0** | **4.0** | [Stephan Soller](https://github.com/arkanis) | +| 130 | [embedded_files_loading](others/embedded_files_loading.c) | embedded_files_loading | ⭐️⭐️☆☆ | 3.5 | 3.5 | [Kristian Holmgren](https://github.com/defutura) | As always contributions are welcome, feel free to send new examples! Here is an [examples template](examples_template.c) to start with! From 35bf463cbb53265700a996f77e54bd6bc864dcac Mon Sep 17 00:00:00 2001 From: Magnus Oblerion <82583559+oblerion@users.noreply.github.com> Date: Fri, 4 Oct 2024 14:21:37 +0200 Subject: [PATCH 12/13] Create core_input_virtual_controls.vcxproj --- .../core_input_virtual_controls.vcxproj | 390 ++++++++++++++++++ 1 file changed, 390 insertions(+) create mode 100644 projects/VS2022/examples/core_input_virtual_controls.vcxproj diff --git a/projects/VS2022/examples/core_input_virtual_controls.vcxproj b/projects/VS2022/examples/core_input_virtual_controls.vcxproj new file mode 100644 index 000000000000..4f3c00f2b451 --- /dev/null +++ b/projects/VS2022/examples/core_input_virtual_controls.vcxproj @@ -0,0 +1,390 @@ + + + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + Win32 + + + Release + x64 + + + + {F81C5819-85B6-4D2E-B6DC-104A7634461B} + Win32Proj + audio_sound_loading + 10.0 + audio_sound_loading + + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + true + $(DefaultPlatformToolset) + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + Application + false + $(DefaultPlatformToolset) + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + true + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + false + $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ + $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\..\examples\audio + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\audio + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\audio + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\audio + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\audio + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\audio + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\audio + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\audio + WindowsLocalDebugger + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + /FS %(AdditionalOptions) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) + CompileAsC + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + + + Console + true + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + Copy Debug DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP + $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) + CompileAsC + true + + + Console + true + true + true + raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ + + + xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" + + + Copy Release DLL to output directory + + + + + + + + + + + {e89d61ac-55de-4482-afd4-df7242ebc859} + + + + + + From d8014b92a978704ff069b2f3d402edec32266c9a Mon Sep 17 00:00:00 2001 From: Magnus Oblerion <82583559+oblerion@users.noreply.github.com> Date: Fri, 4 Oct 2024 14:27:11 +0200 Subject: [PATCH 13/13] Delete projects/VS2022/examples/core_input_virtual_controls.vcxproj --- .../core_input_virtual_controls.vcxproj | 390 ------------------ 1 file changed, 390 deletions(-) delete mode 100644 projects/VS2022/examples/core_input_virtual_controls.vcxproj diff --git a/projects/VS2022/examples/core_input_virtual_controls.vcxproj b/projects/VS2022/examples/core_input_virtual_controls.vcxproj deleted file mode 100644 index 4f3c00f2b451..000000000000 --- a/projects/VS2022/examples/core_input_virtual_controls.vcxproj +++ /dev/null @@ -1,390 +0,0 @@ - - - - - Debug.DLL - Win32 - - - Debug.DLL - x64 - - - Debug - Win32 - - - Debug - x64 - - - Release.DLL - Win32 - - - Release.DLL - x64 - - - Release - Win32 - - - Release - x64 - - - - {F81C5819-85B6-4D2E-B6DC-104A7634461B} - Win32Proj - audio_sound_loading - 10.0 - audio_sound_loading - - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - true - $(DefaultPlatformToolset) - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - Application - false - $(DefaultPlatformToolset) - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - true - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - false - $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\ - $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\ - - - $(SolutionDir)..\..\examples\audio - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\audio - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\audio - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\audio - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\audio - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\audio - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\audio - WindowsLocalDebugger - - - $(SolutionDir)..\..\examples\audio - WindowsLocalDebugger - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - /FS %(AdditionalOptions) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions) - CompileAsC - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - - - Console - true - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - Copy Debug DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP - $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories) - CompileAsC - true - - - Console - true - true - true - raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\ - - - xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)" - - - Copy Release DLL to output directory - - - - - - - - - - - {e89d61ac-55de-4482-afd4-df7242ebc859} - - - - - -