From 9ab5751fac473792d8dece6c244a1d75f540ef26 Mon Sep 17 00:00:00 2001 From: Jamie Greunbaum Date: Mon, 13 May 2024 18:52:32 -0400 Subject: [PATCH] Initial commit --- Inputs/Joystick/exit_placement.res | Bin 0 -> 261 bytes Inputs/Joystick/move_backward.res | Bin 0 -> 248 bytes Inputs/Joystick/move_down.res | Bin 0 -> 245 bytes Inputs/Joystick/move_forward.res | Bin 0 -> 249 bytes Inputs/Joystick/move_left.res | Bin 0 -> 241 bytes Inputs/Joystick/move_right.res | Bin 0 -> 242 bytes Inputs/Joystick/move_up.res | Bin 0 -> 247 bytes Inputs/Joystick/pan_left.res | Bin 0 -> 245 bytes Inputs/Joystick/pan_right.res | Bin 0 -> 245 bytes Inputs/Joystick/place_marker.res | Bin 0 -> 255 bytes Inputs/Joystick/speed_down.res | Bin 0 -> 254 bytes Inputs/Joystick/speed_up.res | Bin 0 -> 251 bytes Inputs/Joystick/tilt_down.res | Bin 0 -> 241 bytes Inputs/Joystick/tilt_up.res | Bin 0 -> 239 bytes Inputs/Keyboard/exit_placement.res | Bin 0 -> 318 bytes Inputs/Keyboard/move_backward.res | Bin 0 -> 316 bytes Inputs/Keyboard/move_down.res | Bin 0 -> 305 bytes Inputs/Keyboard/move_forward.res | Bin 0 -> 315 bytes Inputs/Keyboard/move_left.res | Bin 0 -> 305 bytes Inputs/Keyboard/move_right.res | Bin 0 -> 305 bytes Inputs/Keyboard/move_up.res | Bin 0 -> 303 bytes Inputs/Keyboard/pan_left.res | Bin 0 -> 300 bytes Inputs/Keyboard/pan_right.res | Bin 0 -> 298 bytes Inputs/Keyboard/place_marker.res | Bin 0 -> 306 bytes Inputs/Keyboard/speed_down.res | Bin 0 -> 300 bytes Inputs/Keyboard/speed_up.res | Bin 0 -> 300 bytes Inputs/Keyboard/tilt_down.res | Bin 0 -> 302 bytes Inputs/Keyboard/tilt_up.res | Bin 0 -> 299 bytes Inputs/Mouse/exit_placement.res | Bin 0 -> 334 bytes Inputs/Mouse/pan_left.res | Bin 0 -> 315 bytes Inputs/Mouse/pan_right.res | Bin 0 -> 313 bytes Inputs/Mouse/place_marker.res | Bin 0 -> 336 bytes Inputs/Mouse/speed_down.res | Bin 0 -> 334 bytes Inputs/Mouse/speed_up.res | Bin 0 -> 331 bytes Inputs/Mouse/tilt_down.res | Bin 0 -> 313 bytes Inputs/Mouse/tilt_up.res | Bin 0 -> 286 bytes LICENSE | 9 ++ README.md | 3 + Scenes/bugbot_player.gd | 162 +++++++++++++++++++++++++++++ Scenes/bugbot_player.tscn | 85 +++++++++++++++ bugbot.gd | 12 +++ plugin.cfg | 7 ++ 42 files changed, 278 insertions(+) create mode 100644 Inputs/Joystick/exit_placement.res create mode 100644 Inputs/Joystick/move_backward.res create mode 100644 Inputs/Joystick/move_down.res create mode 100644 Inputs/Joystick/move_forward.res create mode 100644 Inputs/Joystick/move_left.res create mode 100644 Inputs/Joystick/move_right.res create mode 100644 Inputs/Joystick/move_up.res create mode 100644 Inputs/Joystick/pan_left.res create mode 100644 Inputs/Joystick/pan_right.res create mode 100644 Inputs/Joystick/place_marker.res create mode 100644 Inputs/Joystick/speed_down.res create mode 100644 Inputs/Joystick/speed_up.res create mode 100644 Inputs/Joystick/tilt_down.res create mode 100644 Inputs/Joystick/tilt_up.res create mode 100644 Inputs/Keyboard/exit_placement.res create mode 100644 Inputs/Keyboard/move_backward.res create mode 100644 Inputs/Keyboard/move_down.res create mode 100644 Inputs/Keyboard/move_forward.res create mode 100644 Inputs/Keyboard/move_left.res create mode 100644 Inputs/Keyboard/move_right.res create mode 100644 Inputs/Keyboard/move_up.res create mode 100644 Inputs/Keyboard/pan_left.res create mode 100644 Inputs/Keyboard/pan_right.res create mode 100644 Inputs/Keyboard/place_marker.res create mode 100644 Inputs/Keyboard/speed_down.res create mode 100644 Inputs/Keyboard/speed_up.res create mode 100644 Inputs/Keyboard/tilt_down.res create mode 100644 Inputs/Keyboard/tilt_up.res create mode 100644 Inputs/Mouse/exit_placement.res create mode 100644 Inputs/Mouse/pan_left.res create mode 100644 Inputs/Mouse/pan_right.res create mode 100644 Inputs/Mouse/place_marker.res create mode 100644 Inputs/Mouse/speed_down.res create mode 100644 Inputs/Mouse/speed_up.res create mode 100644 Inputs/Mouse/tilt_down.res create mode 100644 Inputs/Mouse/tilt_up.res create mode 100644 LICENSE create mode 100644 README.md create mode 100644 Scenes/bugbot_player.gd create mode 100644 Scenes/bugbot_player.tscn create mode 100644 bugbot.gd create mode 100644 plugin.cfg diff --git a/Inputs/Joystick/exit_placement.res b/Inputs/Joystick/exit_placement.res new file mode 100644 index 0000000000000000000000000000000000000000..04d0200fc432d1c6317eff2b1a6f3e45e8ee434b GIT binary patch literal 261 zcmV+g0s8(@Q$s@n000005C8yz0RRB)0000ewJ-f(f&d){0AdU(Er3hX7^{+j8Gtks zG9d+;Z(G`8@7>1xPVT+mDa_GAX8rL$^C$Ss;AKmS0TcjFD`*$+ yGoY)0U4WG!2=KB5Aglm|SgzK@TEb{tFh&i{%Hm_%nx7mAF#q5^3}69LQ$s_2glQ`P literal 0 HcmV?d00001 diff --git a/Inputs/Joystick/move_down.res b/Inputs/Joystick/move_down.res new file mode 100644 index 0000000000000000000000000000000000000000..ac77c8f3dcd0dd5466c379811189ba855225bfa5 GIT binary patch literal 245 zcmV|(fEC^v{FM!F6?;OPC4q!5w`$-g{k{Ns6^XGwVTEmS0T zp)94N6lAd)+=@cbBB&FJI6>=_F@=yr!@mrh_SQy5IjP`n7%EqDlKliHMLC1h<=Uh$ zF={E3a=oaV???Ctj;xLih71mcKVYW~YJ{n#q7dlPiGZ<)7JdtNPzhV?_mH7Qd2`iO`mA< literal 0 HcmV?d00001 diff --git a/Inputs/Joystick/move_forward.res b/Inputs/Joystick/move_forward.res new file mode 100644 index 0000000000000000000000000000000000000000..a2583ca570743350e714c6c972ce4888bf3fe219 GIT binary patch literal 249 zcmV)kHVV|GGwd< zx1tz{JwEq98CU z$}$iJTFHjs%#0@E!)RQd2`i*+*rB literal 0 HcmV?d00001 diff --git a/Inputs/Joystick/move_right.res b/Inputs/Joystick/move_right.res new file mode 100644 index 0000000000000000000000000000000000000000..7823ffa16e0f63bb6a7abb825e31f3354a8f041c GIT binary patch literal 242 zcmV!EO#(EWU6vi zvsg9?*?Us){R;oUjiX=z(y{UIKX%zRDVXI{a$+4q5&Jk!;!pSmetZ)aS`%Oi^KfAsH8d-Wk7;XuawNd~gZD6i1yWN(Ly5j+Q~&?~ literal 0 HcmV?d00001 diff --git a/Inputs/Joystick/move_up.res b/Inputs/Joystick/move_up.res new file mode 100644 index 0000000000000000000000000000000000000000..7fa22f826e5c51520703c701dad2a1d35c1b72fd GIT binary patch literal 247 zcmVH*)Xo(F^gyod>9C1fxR_IG%4w3J?*B$gezT{PR4IqVOieaFJe2 z+2{metOnOn2wDVHVi6^1oie5na%lLK;cLv=xTq!>ye&iJYE81g;G8ITaJpQZ6sAQj zT~aP4>L&9i`~*8692Ff49vgqaP8-w-rk@DuPu v19kycf*`=k5E;d#dhat9jm#S(>esT}M{Db!}fCW-h FLqm3)Y%u@; literal 0 HcmV?d00001 diff --git a/Inputs/Joystick/speed_down.res b/Inputs/Joystick/speed_down.res new file mode 100644 index 0000000000000000000000000000000000000000..854169cd88b7f56fbfa156370d5987f73f126323 GIT binary patch literal 254 zcmV3{EPzYW7&Fi%u_Bs` zNsNxHjcspRY;9XaT*^(}De}cXU}JOwfH_8v=f3?d1rrhr3BmI`Ps5w-VQDBP%w&r& zl;gId3tHr~xp)oQrHBkd5fFc5$DF1X)8K4xHyis8-bh?dYW{>%Ih4fAV3xwUQf*R~ zCXCWaO4Xijwx8iI*nuPDqXWSMi;Y5BvbXzy}rptCS=R zwAMgs4MN6XXJEw$Ech$|7fZlj*T^;jx-btH8>@@M5L>)URkb8Pxd&kW!Fw3M0#Z{$ EL$SncWdHyG literal 0 HcmV?d00001 diff --git a/Inputs/Joystick/speed_up.res b/Inputs/Joystick/speed_up.res new file mode 100644 index 0000000000000000000000000000000000000000..083676709c4bd827b80904c86370fb0b00e74f9a GIT binary patch literal 251 zcmV3{EPzYW7&EXPgC=N# zCV;fQZE1_GZHtJ@y~#V}H#kS0qFy>JJ>&_H*w(g|0uzhHGH~!b&+~9t(M8%z3$ZD} zP|j*4B}ma`bMYFaEZ1TXig@@RZ*!c|g$1K~s_5Epum&#Xq~=E$l|#XW84ODp87fV= zX~L+SBvkIDqWc$qf*~3@I2e}5#t$&d-6ye_R!PY+q)_Z@tm0Sr1%AjM@BtM7tCS=R zu+{?9%G+63F#-!bOF+dQPzW}%O@J=U!^Otx;xNP(?^0DQ$xrS9n1Apd2C!07Lqo%t BY@h%D literal 0 HcmV?d00001 diff --git a/Inputs/Joystick/tilt_down.res b/Inputs/Joystick/tilt_down.res new file mode 100644 index 0000000000000000000000000000000000000000..fff25963e575467e54d652e6dcdcbab240c4ea1b GIT binary patch literal 241 zcmVeaLBOwwIMBDcMlY4Jv7jyKvx5CnGgtnoeLQJ!bqz;pc$-gvkd?bpZ$Y4cB;bmk~ z%eYM!%&k^Zk~D2nEFMbIm#wXo7#9BJZJfjOVHTtaR;RI$ISAW7Fk-A%Fg|3eauu^! zG76dVq@wd9`~pLGM0`kWbR_%$zjT`vZ8epY>_g~bpXN>c2Yh!K(A}mngC0fhYQ=Np;=jcOk4AlBLU_gyoUiSQd2`iG$Lc> literal 0 HcmV?d00001 diff --git a/Inputs/Joystick/tilt_up.res b/Inputs/Joystick/tilt_up.res new file mode 100644 index 0000000000000000000000000000000000000000..5b5b0c319e8a0149992ec0eed6dcd5fe9a8dc345 GIT binary patch literal 239 zcmVg>nX?!=))VEo$YG za5XO#n?KtY05*^{F@Qx$V_>D4hXR2a zIK#kf5J9bxZ40t@+s+n!x%YmjFtq)`1@;1|QPsyI@Q42!NdYGSB>*P?EIy@7K5N+FYp2EPoQv3@v3x~P%FyTbJTPenwng(fi#jf&Dc~tO2*)+pqLT60Fgto#2Bd1ktDL|DfRp&n;Jk1G3PSVnnoH_cs~@%3 QxOD*L3!cLO7E)6~Lq&*^EdT%j literal 0 HcmV?d00001 diff --git a/Inputs/Keyboard/move_backward.res b/Inputs/Keyboard/move_backward.res new file mode 100644 index 0000000000000000000000000000000000000000..5fcdd55b4b87158b25818732775968f69072ba0c GIT binary patch literal 316 zcmV-C0mJ@MQ$s@n000005C8z_0RR9b0RR9fwJ-f(=>XLT049($FMvf!V>2)VWd^4@ zVJ>ilwMMor+TJ8NOJwEV`=?QytJ_07+zZs)G}`VTVeucOB>*J=CIBoxrA$6?RsIaW z!W%#WV*nKt|GfBcPK;3xR(Pq1*zHr-V@QS+_eadWB?8+4T)VP%e@ z?JroJ1r;h=6{mVDD*uN+;5l)UZDg4K4F{j6%X$jZM!m({Ld?S2B7?N~4c1iW$r%t4 zN#x=9B?nOyMH#Qkh9*~~VQW!JiB4*A#RXDG+BD;G@hoX!Y;C3FumKzZ5K9?d7J#f@ zQo#o75+Jz`mSCmRfE(9fi%Q00!_0B1+VCnTFah8szB4#4oPdJRJiO+Tde!Pj?KN&4 Ofcb*wFn|S8Q$s_ldWXCK literal 0 HcmV?d00001 diff --git a/Inputs/Keyboard/move_down.res b/Inputs/Keyboard/move_down.res new file mode 100644 index 0000000000000000000000000000000000000000..dc2f95cd591ff4d557d727935672f6a27fbf5afb GIT binary patch literal 305 zcmV-10nYwXQ$s@n000005C8z>0RR9Q0RR9fwJ-f(tUuzf%ZB3kIOU7U1MD(zJopu(72P6N}0J$bkG622m768%vE1 z@Ul&*Wu4UGS_V={l4&l3@i0lkZEdCWAT|CF|KnM4k;!eCI`}+g)>DvD)LYC+s8Lwk zGDs?*0u8_*)7l03`q@0BoO97M+zEe}y06 z*O+Lyuz)!JfFX@csF#Q7SRllI@Hc*dU*H4mH<-9aHkDGNMa{SV$IYo{8+6ZKurhbi z_B+T3lpu8>S9APnq=;q!jfQa}sJ2*0u~%%0IBCR$iO| z4w4AT&v+ic1VI!atq{a2bohZF*CAGMgfi#k2n#)i)Op0RR9Q0RR9fwJ-f(vJWW~{TU#kTtjZtae>^KrvW*T?2cM_SdJ58sdW*S*oQ1VT z2I=H4SW_uaPWB^6oU=`LRaVq|>xbN&y2J+E2_pwG;5nfmwLYGK|62+Yk_yS+XpbLK5Jgdh@v3x~ z&BRHiPpqUSS7acKq)jt26NgC)V{0oVh*kMV{Eer@Nw%?J>Y($KSx-SqQExG~P@}N6 z$RMTsjy1LN3cm|KWZSX*R} zQvQN9wRv)~AA!O#+jLi@qvl)x+h(?*CimW6K~C!@2@&!!iwH=3*cbxsmT=^NFQm_j7`PUq=m7yl~Q9>{t*B2bev=xB}^TBo;K?#NGIwo<`$AHtSvG~ zCx5}3N_ld!KOy2I+jLi@qvl&b!p$j**r2oc4_4+X+J1tSvYn*kUl2Vio|>zIPoj|13$no@BtbCQHk-Ay0Q>m1HQF@a0w^`8*DAf ycx;#*y(|M#wc%AxU;@BNd}nZ8H~|Hrd3enw^{Um6+H2f80P_XUVE_wKQ$s_ZV1tVQ literal 0 HcmV?d00001 diff --git a/Inputs/Keyboard/pan_right.res b/Inputs/Keyboard/pan_right.res new file mode 100644 index 0000000000000000000000000000000000000000..be3960219b00fb5d60995cb9d577dc2c6ec2bed7 GIT binary patch literal 298 zcmV+_0oDFeQ$s@n000005C8zs0RR9J0RR9fwJ-f(&;UgU0K(5PE`T{{40A&hG(i)n zGGtIUOSUb@ZfnodM!ENXG!JO|#f7pR0_E;LpdY}8eVYOg5(&xAfcz+kq9|%uyeb)H zGjUSE<)kK8WFU>CO*1l+he-=#Ybzy(RrxpkjHlxy+t@I5@OjFtry!-Mx0qX~d8{om zNGU(Tnp$~svfn}Bnr*tP(oyrR|KR4-B{t|Tzro6!McY5HRu)vKY*n1E4|Ev!&k__2bkhb>!_lS_6O2g&@;4krQ512!Dj}p& zp7{(6&Xk+Y1531#>1qAv9*;_#H#!yet@UrB-_|9b?|x0tfwHQsJEC~s99KB zWROyRgEh7CaYsY`6oU4Dd>Ig7TxV67~uP}!PjN0g?Ma3064` z+PE59R2&`#W=Ai}fK+XGl@pi%a1!4coEJ_&L1-Rcb4k5w^`rJ0w+_I3!E+eE0#Z{$ EL*zq%3IG5A literal 0 HcmV?d00001 diff --git a/Inputs/Keyboard/speed_down.res b/Inputs/Keyboard/speed_down.res new file mode 100644 index 0000000000000000000000000000000000000000..a41d8dd104b291eaf04a73862c7a7d0895db30e9 GIT binary patch literal 300 zcmV+{0n`3cQ$s@n000005C8zt0RR9L0RR9fwJ-f((EwEl0K$(kE`UqY7&9;fD@9R~ zz?B$663Mm&*}H9L{7CM--zlmVT+CdL0(Bf5qz$BojV%QdlZwgzh?v13ilT_)Rp|hq z*i=((HZ{580;wcznsK>smb5Uowo-yvm4D=aJR2w3Muw?_&eLT*1t~?n#oR*7!rCH( zl=2s>sg)-u`w=W0vrTtZHfp~0LvBtzu|fCz2P<BLp} zH~b1m9yU548LROJ45?&7#h92*11bK5f8YoB1wI-8QHk-Ay0Rc$1HZMva6R~|4YpQi yd~KKsy{rII-SFBcFbm*(zH>b%BK+I4OMN!0Lyeb=< zM>SPvQ3cm|JMFu(rq` zrTheIYURnveuN4)*`~WH9W~$j4{lCfVuSAT8?4M(wEY8XWkH3?R>i5_V(}?u@`
r2JRExxX960eO`~p9~|M(gJQHk-Ay0Q>m1HQF@a0w^`8*DAf ycx;#*y(|M#wc%AxU;@BNd}nZ8H~|Hrd3enw^{Um6+H2f80P_XUVE_wKQ$s^2jD$7- literal 0 HcmV?d00001 diff --git a/Inputs/Keyboard/tilt_down.res b/Inputs/Keyboard/tilt_down.res new file mode 100644 index 0000000000000000000000000000000000000000..6662674bf07553431a9c9d9a626d317374315569 GIT binary patch literal 302 zcmV+}0nz?aQ$s@n000005C8zs0RR9N0RR9fwJ-f(&;Vr!0HTjEE`UqY7&F783DP8G zhDqg0N^4}>g6!S4GkzrZ-tQDu3od4gwL!kVQrB? zO8E)a)XI~S{RkJX*`~WH9W~$j4{lCfVuSAT8?4M(wEY8XWkH3?R>i5_V(}?u@`
rENR13v?99Z!u`~rXE5BM7ZQHk-Ay0WlagTA$(a6Qng4YpQi zd~KKsy{rII-SFBcFbm*(zH>b>G%B-g#rKq=8?sg&A0x8n^TwApu7AAD{~fY|G-*VP@%F_ajLgid`g*o;;Q@` zeuX6_EHWHEp2rU`q>>5MaxotVV*Clez#sVoJ{kZ~iSd%UvIt#+y|rL)J%FnXwpM3+ xZI}tYtN>Eo@Y*LZ3*dadb3HGdfP&CGyylX6)#^v>HEtb%`GV&#fCW-hLqp_&hMxcc literal 0 HcmV?d00001 diff --git a/Inputs/Mouse/exit_placement.res b/Inputs/Mouse/exit_placement.res new file mode 100644 index 0000000000000000000000000000000000000000..32b73a866e1dd0ac59ba052afa7383af9c876e18 GIT binary patch literal 334 zcmV-U0kQs4Q$s@n000005C8xP0ssIu0RR9fwJ-f(2?1pZ047m4FK|_o#{B<#yr2jG z5L7(?6sprE4H%2D5azo?4e=uR-0VBFU*no#bcuY1)kXp}Onl0iVi<{t|FKVlD^gZ- z0UiKm6X1rx{ROQ8xHrIc1F+o#fne-#1y|g=_%^y{uO!h@j{r?D1O%a9GlbCQ!6vlOqA<8@z`BEK*ZLL%ceY7ytkO literal 0 HcmV?d00001 diff --git a/Inputs/Mouse/pan_left.res b/Inputs/Mouse/pan_left.res new file mode 100644 index 0000000000000000000000000000000000000000..4e0988f0e8864cf77c43350f06bb8fc23af714eb GIT binary patch literal 315 zcmV-B0mS}NQ$s@n000005C8z@0RR9a0RR9fwJ-f(=K#$J02YxoE^tL@#tex5|LgSs z|NsBr+RCk3k|7b;m%X=T2*@7rUIowrAr=gwrigBVkWB$704M+_0I6P7nD1}+7p{m9 z0s;)snD_^F%2p!@qej+cBe9Wj6hFiN_yvA~507xcFyKlE^D$^!`XMidD!Lr2{0FCE zO|HM-q$HPcx>OM9qL!346!})}%f>O}lF1jhvHc&YrA6E1S71P2D?1*G39dAS>nv3L@U^8zILzZgTVg{-3js7W_)U4rCjck_Cjja>srY_~zhNceP%)7a zAmS(3CEJ9cItf{a&&4{8!}uS5gMZ*J_zDsxKo_dwYtXjzJ6;S`ayeG{6Gp`zT>rsH zNp4|us1)U*mQ*%`0S({6efT(r95(ozZER6XOt#6-z%-j5;Q^W`$mOoX{EoCpX>ZjZ z77+lEzfoYt_gD!w|hCQVOmZ@y`;KMcr8302QKs12W zb%0h@1y`EFbr!0A_}Wq<9Om($EwLe^g#elkg{%N>%JY7AfFjd8yylX6)t3C^NPzhU L?_mH7Qd2`ivBHX= literal 0 HcmV?d00001 diff --git a/Inputs/Mouse/place_marker.res b/Inputs/Mouse/place_marker.res new file mode 100644 index 0000000000000000000000000000000000000000..71f0552cf143738a95a78a3e70abee95dcc167d9 GIT binary patch literal 336 zcmV-W0k8g2Q$s@n000005C8xN0ssIw0RR9fwJ-f(2LW{n0M<}9FmP3p#{7S-UgxQL zLaM6j4Qh?-TM@a*rX5?8TW*gvS?0u8Z)DZu!j?NQ#D=3y0Vx0|04MWYaJbSc?gbb-uV)V?(MXS2O|T9GpRL~gQuqt@i!`{@FPmcwuzI~RdTZTQ~f$Cd&p04M+{0J$KfoA7V=86p}V z8y@YV;}7_0j8H@_q!sa{Wg=awynv%_d678?T>{FcF7rFLsWb`0{^!ZCjch^C;%_&=KCFfh9eG) zi~tV~%P+7~2xCNU)C%a*G6AFGDE@|@;1Bo*KFnfQ?&fn4Z0UEr7`o_k?D8X=idk~~ z1!pBWh0~>4q!6{Fw4qc1x(r^~Qn{oqayj-Csw6=zHQFZs!cG}vtImHgWm5$;31+1| zsQv^=5|9YwZ#>WQ0C@8~oQPJYvkbEg)MgSJW}U8;7zX0;H=x6wT8d&#p=?bI9{^wr za9;th0C5wv3b5V))C~Z39iWxf!0RR9Y0RR9fwJ-f(AY{(>=JYLL_2$o!DB*|fLnKd=Z9 z6N<_I*cj$}a3We3xU4di$Slz5T4`Azpu_)o9rhH|Sf;e)lMma}@&y_ILK8qV0M&IM zD<2-~3a(&<>jG5$@U^8zILzZgTVg{-3js783RwZ%l;{2K07a&Gc+DmCsxA4+kpS}z L-opSEQd2`iXX1`% literal 0 HcmV?d00001 diff --git a/Inputs/Mouse/tilt_up.res b/Inputs/Mouse/tilt_up.res new file mode 100644 index 0000000000000000000000000000000000000000..5417708652d6e7ecb798b659de224cd087838cbc GIT binary patch literal 286 zcmV+(0pb2qQ$s@n000005C8z&0RR970RR9fwJ-f(+yLbV0KyM1Du7GU7}Jnt&;+%7 zMF^4iA##)Lf{l{wt?XjBB>?IGY%nDkTfecRZ6pN_lZeT`EEhAhsNzy2((o_*%j=|D zuVQm4LkOW<#n3Uh4xyH*p@Z&OmYbNOD4X~V@~QJXt~}MGrn?X2f2hTVxm`a*A}Jn& z@1b+jGW9=ZGDXU?jDCV~C4|gBFgB_cj1AXIx{0Z!Ea7sGK6HP=e=x+t;W8A4!VhrM zT$SK^RI&}Bhkcv|@gw{Kf8!7M7yvmFKs12R#h_|%^7eHNs&Y584tNGFk|r k=}^cD;HEt9cLyjk&BJRhsaI{uPmTnbZ}1)luu@Y)LoY6XLI3~& literal 0 HcmV?d00001 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..6e69b95 --- /dev/null +++ b/LICENSE @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2024 BattyBovine + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..82df8f8 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# Bugbot + +Bug reporting toolset for Godot Engine. Allows placement of markers inside the game during playtesting to indicate locations where issues need to be corrected. Will eventually support as many issue reporting backends as I can manage, with Gitea, Jira, and Bugzilla being the priority. \ No newline at end of file diff --git a/Scenes/bugbot_player.gd b/Scenes/bugbot_player.gd new file mode 100644 index 0000000..d225f9d --- /dev/null +++ b/Scenes/bugbot_player.gd @@ -0,0 +1,162 @@ +extends CharacterBody3D + +@export_group("Movement") +@export var movement_speed : float = 5.0 +@export var movement_speed_change_delta : float = 0.5 + +@export_group("Inputs") +@export_subgroup("Keyboard") +@export var keyboard_move_forward : InputEventKey +@export var keyboard_move_backward : InputEventKey +@export var keyboard_move_left : InputEventKey +@export var keyboard_move_right : InputEventKey +@export var keyboard_move_up : InputEventKey +@export var keyboard_move_down : InputEventKey + +@export var keyboard_tilt_up : InputEventKey +@export var keyboard_tilt_down : InputEventKey +@export var keyboard_pan_left : InputEventKey +@export var keyboard_pan_right : InputEventKey + +@export var keyboard_movement_speed_up : InputEventKey +@export var keyboard_movement_speed_down : InputEventKey + +@export var keyboard_place_marker : InputEventKey +@export var keyboard_exit_placement : InputEventKey + +@export_subgroup("Mouse") +@export var mouse_tilt_up : InputEventMouseMotion +@export var mouse_tilt_down : InputEventMouseMotion +@export var mouse_pan_left : InputEventMouseMotion +@export var mouse_pan_right : InputEventMouseMotion + +@export var mouse_movement_speed_up : InputEventMouseButton +@export var mouse_movement_speed_down : InputEventMouseButton + +@export_subgroup("Joystick") +@export var joypad_move_forward : InputEventJoypadMotion +@export var joypad_move_backward : InputEventJoypadMotion +@export var joypad_move_left : InputEventJoypadMotion +@export var joypad_move_right : InputEventJoypadMotion +@export var joypad_move_up : InputEventJoypadMotion +@export var joypad_move_down : InputEventJoypadMotion + +@export var joypad_tilt_up : InputEventJoypadMotion +@export var joypad_tilt_down : InputEventJoypadMotion +@export var joypad_pan_left : InputEventJoypadMotion +@export var joypad_pan_right : InputEventJoypadMotion + +@export var joypad_movement_speed_up : InputEventJoypadButton +@export var joypad_movement_speed_down : InputEventJoypadButton + +@export var joypad_place_marker : InputEventJoypadButton +@export var joypad_exit_placement : InputEventJoypadButton + +@onready var input_change_timer : Timer = $InputChangeTimer + +var stored_mouse_mode : int = Input.MOUSE_MODE_CAPTURED + + +func _enter_tree() -> void: + get_tree().paused = true + stored_mouse_mode = Input.mouse_mode + Input.mouse_mode = Input.MOUSE_MODE_CAPTURED + + InputMap.add_action(&"bugbot_move_forward") + InputMap.action_add_event(&"bugbot_move_forward", keyboard_move_forward) + InputMap.action_add_event(&"bugbot_move_forward", joypad_move_forward) + InputMap.add_action(&"bugbot_move_backward") + InputMap.action_add_event(&"bugbot_move_backward", keyboard_move_backward) + InputMap.action_add_event(&"bugbot_move_backward", joypad_move_backward) + InputMap.add_action(&"bugbot_move_left") + InputMap.action_add_event(&"bugbot_move_left", keyboard_move_left) + InputMap.action_add_event(&"bugbot_move_left", joypad_move_left) + InputMap.add_action(&"bugbot_move_right") + InputMap.action_add_event(&"bugbot_move_right", keyboard_move_right) + InputMap.action_add_event(&"bugbot_move_right", joypad_move_right) + InputMap.add_action(&"bugbot_move_down") + InputMap.action_add_event(&"bugbot_move_down", keyboard_move_down) + InputMap.action_add_event(&"bugbot_move_down", joypad_move_down) + InputMap.add_action(&"bugbot_move_up") + InputMap.action_add_event(&"bugbot_move_up", keyboard_move_up) + InputMap.action_add_event(&"bugbot_move_up", joypad_move_up) + + InputMap.add_action(&"bugbot_tilt_up") + InputMap.action_add_event(&"bugbot_tilt_up", keyboard_tilt_up) + InputMap.action_add_event(&"bugbot_tilt_up", joypad_tilt_up) + InputMap.add_action(&"bugbot_tilt_down") + InputMap.action_add_event(&"bugbot_tilt_down", keyboard_tilt_down) + InputMap.action_add_event(&"bugbot_tilt_down", joypad_tilt_down) + InputMap.add_action(&"bugbot_pan_left") + InputMap.action_add_event(&"bugbot_pan_left", keyboard_pan_left) + InputMap.action_add_event(&"bugbot_pan_left", joypad_pan_left) + InputMap.add_action(&"bugbot_pan_right") + InputMap.action_add_event(&"bugbot_pan_right", keyboard_pan_right) + InputMap.action_add_event(&"bugbot_pan_right", joypad_pan_right) + + InputMap.add_action(&"bugbot_movement_speed_up") + InputMap.action_add_event(&"bugbot_movement_speed_up", keyboard_movement_speed_up) + InputMap.action_add_event(&"bugbot_movement_speed_up", mouse_movement_speed_up) + InputMap.action_add_event(&"bugbot_movement_speed_up", joypad_movement_speed_up) + InputMap.add_action(&"bugbot_movement_speed_down") + InputMap.action_add_event(&"bugbot_movement_speed_down", keyboard_movement_speed_down) + InputMap.action_add_event(&"bugbot_movement_speed_down", mouse_movement_speed_down) + InputMap.action_add_event(&"bugbot_movement_speed_down", joypad_movement_speed_down) + +func _exit_tree() -> void: + InputMap.action_erase_event(&"bugbot_move_forward", keyboard_move_forward) + InputMap.action_erase_event(&"bugbot_move_forward", joypad_move_forward) + InputMap.action_erase_event(&"bugbot_move_backward", keyboard_move_backward) + InputMap.action_erase_event(&"bugbot_move_backward", joypad_move_backward) + InputMap.action_erase_event(&"bugbot_move_left", keyboard_move_left) + InputMap.action_erase_event(&"bugbot_move_left", joypad_move_left) + InputMap.action_erase_event(&"bugbot_move_right", keyboard_move_right) + InputMap.action_erase_event(&"bugbot_move_right", joypad_move_right) + InputMap.action_erase_event(&"bugbot_move_down", keyboard_move_down) + InputMap.action_erase_event(&"bugbot_move_down", joypad_move_down) + InputMap.action_erase_event(&"bugbot_move_up", keyboard_move_up) + InputMap.action_erase_event(&"bugbot_move_up", joypad_move_up) + + InputMap.action_erase_event(&"bugbot_movement_speed_up", keyboard_movement_speed_up) + InputMap.action_erase_event(&"bugbot_movement_speed_up", mouse_movement_speed_up) + InputMap.action_erase_event(&"bugbot_movement_speed_up", joypad_movement_speed_up) + InputMap.action_erase_event(&"bugbot_movement_speed_down", keyboard_movement_speed_down) + InputMap.action_erase_event(&"bugbot_movement_speed_down", mouse_movement_speed_down) + InputMap.action_erase_event(&"bugbot_movement_speed_down", joypad_movement_speed_down) + + Input.mouse_mode = stored_mouse_mode + get_tree().paused = false + + +func _process(_delta:float) -> void: + _calculate_movement_speed() + + var rotation_velocity : Vector2 = Vector2( + Input.get_axis(&"bugbot_tilt_down", &"bugbot_tilt_up"), + Input.get_axis(&"bugbot_pan_right", &"bugbot_pan_left")) + var mouse_velocity : Vector2 = Input.get_last_mouse_velocity() + rotation_velocity.x += mouse_velocity.y * -0.0025 + rotation_velocity.y += mouse_velocity.x * -0.0025 + rotation.x = clampf(rotation.x + (rotation_velocity.x * _delta), -PI/2.0 + 0.0001, PI/2.0 - 0.0001) + rotation.y += rotation_velocity.y * _delta + + var movement_vector_lateral : Vector2 = Input.get_vector(&"bugbot_move_left", &"bugbot_move_right", &"bugbot_move_forward", &"bugbot_move_backward") + var movement_azimuth : float = Input.get_axis(&"bugbot_move_down", &"bugbot_move_up") + velocity = transform.basis * Vector3(movement_vector_lateral.x, movement_azimuth, movement_vector_lateral.y) * movement_speed + +func _physics_process(_delta:float) -> void: + move_and_slide() + + +func _calculate_movement_speed(): + if Input.is_action_pressed(&"bugbot_movement_speed_down") or Input.is_action_just_pressed(&"bugbot_movement_speed_down"): + if input_change_timer.is_stopped(): + movement_speed -= movement_speed_change_delta + input_change_timer.start() + elif Input.is_action_pressed(&"bugbot_movement_speed_up") or Input.is_action_just_pressed(&"bugbot_movement_speed_up"): + if input_change_timer.is_stopped(): + movement_speed += movement_speed_change_delta + input_change_timer.start() + else: + input_change_timer.stop() + movement_speed = clampf(movement_speed, 0.25, 50.0) diff --git a/Scenes/bugbot_player.tscn b/Scenes/bugbot_player.tscn new file mode 100644 index 0000000..5aa5f77 --- /dev/null +++ b/Scenes/bugbot_player.tscn @@ -0,0 +1,85 @@ +[gd_scene load_steps=33 format=3 uid="uid://dvgain3s4xa4r"] + +[ext_resource type="Script" path="res://addons/bugbot/Scenes/bugbot_player.gd" id="1_0w1su"] +[ext_resource type="InputEventKey" uid="uid://di5q6d4wt12et" path="res://addons/bugbot/Inputs/Keyboard/move_forward.res" id="2_4xsm8"] +[ext_resource type="InputEventJoypadMotion" uid="uid://dvfivmwsi3fua" path="res://addons/bugbot/Inputs/Joystick/move_forward.res" id="2_ib0o8"] +[ext_resource type="InputEventJoypadMotion" uid="uid://bslmd7psb8fxj" path="res://addons/bugbot/Inputs/Joystick/move_backward.res" id="3_f3wgw"] +[ext_resource type="InputEventKey" uid="uid://dq5h1k8r7qc8e" path="res://addons/bugbot/Inputs/Keyboard/move_backward.res" id="3_t3c17"] +[ext_resource type="InputEventJoypadMotion" uid="uid://81iwh4jprsvg" path="res://addons/bugbot/Inputs/Joystick/move_left.res" id="4_fjxg2"] +[ext_resource type="InputEventKey" uid="uid://cll7mf8252ygb" path="res://addons/bugbot/Inputs/Keyboard/move_left.res" id="4_jrc8e"] +[ext_resource type="InputEventJoypadMotion" uid="uid://dgxujj8rm83ms" path="res://addons/bugbot/Inputs/Joystick/move_right.res" id="5_l00mx"] +[ext_resource type="InputEventKey" uid="uid://7bd7qoj1d3if" path="res://addons/bugbot/Inputs/Keyboard/move_right.res" id="5_xjrx0"] +[ext_resource type="InputEventKey" uid="uid://cxms65i1ajl84" path="res://addons/bugbot/Inputs/Keyboard/move_up.res" id="6_8kaqn"] +[ext_resource type="InputEventJoypadMotion" uid="uid://dxeo2l03mfag8" path="res://addons/bugbot/Inputs/Joystick/move_up.res" id="6_rw5gh"] +[ext_resource type="InputEventJoypadMotion" uid="uid://clplko5i2fjfg" path="res://addons/bugbot/Inputs/Joystick/move_down.res" id="7_asamw"] +[ext_resource type="InputEventKey" uid="uid://bv3rhr5nb770i" path="res://addons/bugbot/Inputs/Keyboard/move_down.res" id="7_awoo8"] +[ext_resource type="InputEventKey" uid="uid://cll5bqmbaide7" path="res://addons/bugbot/Inputs/Keyboard/place_marker.res" id="8_4no4m"] +[ext_resource type="InputEventJoypadButton" uid="uid://bc2q8kry856bq" path="res://addons/bugbot/Inputs/Joystick/place_marker.res" id="8_a8xs2"] +[ext_resource type="InputEventKey" uid="uid://b2368i5gabwe4" path="res://addons/bugbot/Inputs/Keyboard/tilt_up.res" id="8_itpt0"] +[ext_resource type="InputEventKey" uid="uid://sj40g81evgwp" path="res://addons/bugbot/Inputs/Keyboard/exit_placement.res" id="9_62i1v"] +[ext_resource type="InputEventJoypadButton" uid="uid://8tu5a8nlxgsj" path="res://addons/bugbot/Inputs/Joystick/exit_placement.res" id="9_64pej"] +[ext_resource type="InputEventKey" uid="uid://c778uo6xncv8" path="res://addons/bugbot/Inputs/Keyboard/tilt_down.res" id="9_idsj8"] +[ext_resource type="InputEventKey" uid="uid://b1jle0pubrtd5" path="res://addons/bugbot/Inputs/Keyboard/pan_left.res" id="10_7s4mn"] +[ext_resource type="InputEventKey" uid="uid://b7cakmjeiw6ww" path="res://addons/bugbot/Inputs/Keyboard/pan_right.res" id="11_7rtm5"] +[ext_resource type="InputEventKey" uid="uid://dg3voh0vrvttt" path="res://addons/bugbot/Inputs/Keyboard/speed_up.res" id="12_vqtae"] +[ext_resource type="InputEventKey" uid="uid://bsuakshn5uf5q" path="res://addons/bugbot/Inputs/Keyboard/speed_down.res" id="13_umxce"] +[ext_resource type="InputEventMouseButton" uid="uid://cri3v62of5r8q" path="res://addons/bugbot/Inputs/Mouse/speed_up.res" id="14_kyasb"] +[ext_resource type="InputEventMouseButton" uid="uid://xjdbqccjrdv6" path="res://addons/bugbot/Inputs/Mouse/speed_down.res" id="15_64bwo"] +[ext_resource type="InputEventJoypadMotion" uid="uid://1r555cp6na2j" path="res://addons/bugbot/Inputs/Joystick/tilt_up.res" id="16_037yq"] +[ext_resource type="InputEventJoypadMotion" uid="uid://ceq7h0j71rdbj" path="res://addons/bugbot/Inputs/Joystick/tilt_down.res" id="17_v3d4v"] +[ext_resource type="InputEventJoypadMotion" uid="uid://cwekj3w1gwt6s" path="res://addons/bugbot/Inputs/Joystick/pan_left.res" id="18_t1llp"] +[ext_resource type="InputEventJoypadMotion" uid="uid://coqroda2l61k4" path="res://addons/bugbot/Inputs/Joystick/pan_right.res" id="19_boyi2"] +[ext_resource type="InputEventJoypadButton" uid="uid://busy4w43xnjni" path="res://addons/bugbot/Inputs/Joystick/speed_up.res" id="28_j37cx"] +[ext_resource type="InputEventJoypadButton" uid="uid://biuae513qxxf2" path="res://addons/bugbot/Inputs/Joystick/speed_down.res" id="29_ywpxq"] + +[sub_resource type="SphereShape3D" id="SphereShape3D_6gwao"] + +[node name="BugbotPlayer" type="CharacterBody3D"] +process_mode = 3 +collision_layer = 4294967295 +collision_mask = 0 +input_ray_pickable = false +motion_mode = 1 +platform_on_leave = 2 +platform_floor_layers = 0 +script = ExtResource("1_0w1su") +keyboard_move_forward = ExtResource("2_4xsm8") +keyboard_move_backward = ExtResource("3_t3c17") +keyboard_move_left = ExtResource("4_jrc8e") +keyboard_move_right = ExtResource("5_xjrx0") +keyboard_move_up = ExtResource("6_8kaqn") +keyboard_move_down = ExtResource("7_awoo8") +keyboard_tilt_up = ExtResource("8_itpt0") +keyboard_tilt_down = ExtResource("9_idsj8") +keyboard_pan_left = ExtResource("10_7s4mn") +keyboard_pan_right = ExtResource("11_7rtm5") +keyboard_movement_speed_up = ExtResource("12_vqtae") +keyboard_movement_speed_down = ExtResource("13_umxce") +keyboard_place_marker = ExtResource("8_4no4m") +keyboard_exit_placement = ExtResource("9_62i1v") +mouse_movement_speed_up = ExtResource("14_kyasb") +mouse_movement_speed_down = ExtResource("15_64bwo") +joypad_move_forward = ExtResource("2_ib0o8") +joypad_move_backward = ExtResource("3_f3wgw") +joypad_move_left = ExtResource("4_fjxg2") +joypad_move_right = ExtResource("5_l00mx") +joypad_move_up = ExtResource("6_rw5gh") +joypad_move_down = ExtResource("7_asamw") +joypad_tilt_up = ExtResource("16_037yq") +joypad_tilt_down = ExtResource("17_v3d4v") +joypad_pan_left = ExtResource("18_t1llp") +joypad_pan_right = ExtResource("19_boyi2") +joypad_movement_speed_up = ExtResource("28_j37cx") +joypad_movement_speed_down = ExtResource("29_ywpxq") +joypad_place_marker = ExtResource("8_a8xs2") +joypad_exit_placement = ExtResource("9_64pej") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +shape = SubResource("SphereShape3D_6gwao") +debug_color = Color(0.5, 0.7, 1, 1) + +[node name="Camera3D" type="Camera3D" parent="CollisionShape3D"] + +[node name="InputChangeTimer" type="Timer" parent="."] +wait_time = 0.05 +one_shot = true diff --git a/bugbot.gd b/bugbot.gd new file mode 100644 index 0000000..54ed941 --- /dev/null +++ b/bugbot.gd @@ -0,0 +1,12 @@ +@tool +extends EditorPlugin + + +func _enter_tree() -> void: + # This is where we should initialise options for showing bug markers + pass + + +func _exit_tree() -> void: + # This is where we should remove any visible bug markers + pass diff --git a/plugin.cfg b/plugin.cfg new file mode 100644 index 0000000..5331092 --- /dev/null +++ b/plugin.cfg @@ -0,0 +1,7 @@ +[plugin] + +name="Bugbot" +description="" +author="Jamie Greunbaum" +version="0.1" +script="bugbot.gd"