From 99c3731ed4aca41f0ef0a8ffe9665b2288477374 Mon Sep 17 00:00:00 2001 From: Tom Wallroth Date: Sun, 25 Jun 2023 16:12:13 +0200 Subject: [PATCH] a half-life alyx style clock --- apps/alyxclock/ChangeLog | 1 + apps/alyxclock/README.md | 4 + apps/alyxclock/alyxclock.app.js | 174 ++++++++++++++++++++++++ apps/alyxclock/alyxclock.icon.js | 1 + apps/alyxclock/alyxclock.png | Bin 0 -> 854 bytes apps/alyxclock/metadata.json | 17 +++ apps/alyxclock/screenshot_alyxclock.png | Bin 0 -> 3559 bytes 7 files changed, 197 insertions(+) create mode 100644 apps/alyxclock/ChangeLog create mode 100644 apps/alyxclock/README.md create mode 100644 apps/alyxclock/alyxclock.app.js create mode 100644 apps/alyxclock/alyxclock.icon.js create mode 100644 apps/alyxclock/alyxclock.png create mode 100644 apps/alyxclock/metadata.json create mode 100644 apps/alyxclock/screenshot_alyxclock.png diff --git a/apps/alyxclock/ChangeLog b/apps/alyxclock/ChangeLog new file mode 100644 index 000000000..9db0e26c5 --- /dev/null +++ b/apps/alyxclock/ChangeLog @@ -0,0 +1 @@ +0.01: first release diff --git a/apps/alyxclock/README.md b/apps/alyxclock/README.md new file mode 100644 index 000000000..7765a878f --- /dev/null +++ b/apps/alyxclock/README.md @@ -0,0 +1,4 @@ +# Half-Life Alyx Style clock + +![](screenshot_alyxclock.png) + diff --git a/apps/alyxclock/alyxclock.app.js b/apps/alyxclock/alyxclock.app.js new file mode 100644 index 000000000..57b7d7f48 --- /dev/null +++ b/apps/alyxclock/alyxclock.app.js @@ -0,0 +1,174 @@ +const icoH = [ + [0,1,1,0,0,1,1,0], + [1,1,1,1,1,1,1,1], + [1,1,1,1,1,1,1,1], + [1,1,1,1,1,1,1,1], + [0,1,1,1,1,1,1,0], + [0,0,1,1,1,1,0,0], + [0,0,0,1,1,0,0,0], + [0,0,0,0,0,0,0,0], +] + +const icoR = [ + [0,0,0,0,1,1,1,1,0,0,0,0], + [0,0,1,1,0,0,0,0,1,1,0,0], + [0,1,1,1,1,0,0,1,1,0,1,0], + [0,1,1,0,0,0,0,0,0,0,1,0], + [1,1,1,1,1,1,1,1,0,0,0,1], + [1,1,0,0,1,0,0,0,0,0,0,1], + [1,1,1,1,1,1,1,0,1,1,0,1], + [1,1,1,1,1,1,0,0,0,0,1,1], + [0,1,1,1,1,1,1,1,1,1,1,0], + [0,1,1,1,1,1,1,1,1,1,1,0], + [0,0,1,1,1,1,1,1,1,1,0,0], + [0,0,0,0,1,1,1,1,0,0,0,0], +] + +let idTimeout = null; + +function icon (icon, x, y, size, gap) { + const color = g.getColor(); + for (let r=0; r5lJs`1^iK2F7m0LrPbiMF;ap?0WjO;&YmgNDUO3K|w8HZ&|o z(%Ye6F}4E=ojWUb?Pg$47h3DiR3!FNSkTH+?1NTMF9XRwXzi!SLF)iTe;!H$6wX2D z9C8^t43)tnT-SRP8bgd^p->oRWCRKWj5(udY0RbJ7+UdcnvS193n_+9o}x&hxq?q| z`pj7h8_g9N8plMMfypT}GkuO?BmtbKxPT@+n<9M?z!1fy3>up$QOu%Z?lOgih6+B# zm3aiNQd~nrMT+Y;AZ}8)x6r_XOK}^a?mHAY{NJEWakmHSauoe}0Ny>+yYDdIJV4b$ zmjUMy9xpCE=|in$pW>;9$TN!PFJ6*-g<3_5*As}nq2VoREVvZoFudzvEd3q^?*qlh z3{0PB$igsFVj%e$HAWp)mHZXNmRBjhpw3r@{BPg8VEFMPx# literal 0 HcmV?d00001 diff --git a/apps/alyxclock/metadata.json b/apps/alyxclock/metadata.json new file mode 100644 index 000000000..b188c48d8 --- /dev/null +++ b/apps/alyxclock/metadata.json @@ -0,0 +1,17 @@ +{ + "id": "alyxclock", + "name": "Alyx Clock", + "version": "0.01", + "description": "A clock in the style of half-life alyx gravity gloves", + "icon": "alyxclock.png", + "screenshots": [{"url":"screenshot_alyxclock.png"}], + "type": "clock", + "tags": "clock", + "supports": ["BANGLEJS2"], + "readme": "README.md", + "allow_emulator": true, + "storage": [ + {"name":"alyxclock.app.js","url":"alyxclock.app.js"}, + {"name":"alyxclock.img","url":"alyxclock.icon.js","evaluate":true} + ] +} diff --git a/apps/alyxclock/screenshot_alyxclock.png b/apps/alyxclock/screenshot_alyxclock.png new file mode 100644 index 0000000000000000000000000000000000000000..309ff972a78dfd6cb3cb180088505111d4da29c2 GIT binary patch literal 3559 zcmb7Hc{CK>`_|0FkTJ$G#$IDBLa3Cj82eIGma>ywP4=CU7-Y>>8kB_W%YMy72#AAA9tMN(Ga-91OKPOdd%VsO4> z{`RL!cg#G=zetZHpVL>o&%bLdXgOjQtP+iOIeOJ9jp zq~VMvq6s|Ir+*HJ>H^Qv{l?-%&F`0zYi0_y_VAmE!nURy0@F*3_oVJLP-8_w2N@Hf>(KolFxgO zVK^f-Aqp!*=QLu$VpUZJlq+EF3p#omn~Vp`x3I0ovAbF%iR(PDw#V#@Vxvp50sPkk z?WBXaeyOGm7lh23dw_`^wDCo;HclU8@zhiahtW*X{e*KgZQej0ho}`J(DJaR-$8X` z$zebs*GM8^SAc#~E$p%qX%5@BAgzu&jaK-QVF$NUoznlJ6pp39K@Xr*2*Cey-vm8VWdeWY{ zdIDw#a@yBMAkjv5E33kxSOT&EELLLMBo9SP@L~*HV1O+NS|&1SC4zY2dXM zA>tYce#|M^-ZquM?#6=^kGbs#nY2G_EB`47$Fw_GosBp>2RtsO2*J(?!G^F8_`jb=4IFHrcW&ad%k#jSq&cvk2|Vb`lqIM_co%<9_<*{=K}8 z^R(Ku>3QyTq`ET(-Vx-R+xI4QGP>xtG|BZN#mQ>Uzl9X?Ok7;-;latR-$x^Cwe(uh zd(sV-Uu}=?(Q9LkuNh#6FX}MF8SjjZanSGC7=>SBJvX2ZPCzLnzB>cZ6vFy)xPG92 zP(r_I;qr#F$hl{2qoiog5Wp8Q% zcuA(SRcD?2Zqf&kDN(B4@R0otrW|vm^?iOCs_beN=|wXD=42M-jaN{O@1Dv)LK#yMIJ9LL^5W<~F+5BIh2>#Ud?*t)skXC1KHB>$d!D zc-cc!L@B13Gjyx7srATfja<1iQyJ<5Q3S;C&6*WX+k$D#$nknvbUn|5O=BQSO9{gL zcSR=kVI(?$4rO`w@wtLBCUTw9g=n{V3iRPXWDAjvz)PdU)Rz z^gvrn`PksJIOHc0Hf*>})X36!k9TH9BO_BNrGiU>cDcBOse26lE2Wr5!<_o`6kJo1&lGvBloqykgenDWV~-OyD$f3t?daLv%gwoTOXV(0wKG&Avwof#FzTW0(2~*W!fzu8V)d2e&@9FZzde z##$X9+-`vwZ{RzEYzq0?OjO8%)@cBl<}JPGWs_(HIzLc2e^1l7#N)b%HeNGLd(jJ~ z0R(y)VBNtFQ^qM?XZynqk6S^K<_O1}TFWUDM)q3a%4!s|`SAs$7Cz>W!<_@EUFDwk zqhH-uVvKXlvzVkko~!D^Dpd_z&-9`37N+M~_+Ui+sZ)G

jgp5D44%zhuQre+)aRwU*=;!fQIB{33!EKl?hh zJo4D2vZMgYmXx~?e+c|dOt$tz-3lZ+eHq2$HXwYz|DR#`d3zGoDm3X4L~85s<+F(W z>Re12wKRydx)MK4tZWpukTVNv0AY&a{ogp+FX%3A@%((tfv18qGemRr385&TKZPv$ zq+X_8C;O4v``M!07rM~sBsJ%xRXAV$V8>qMTpqzzwy~gXl(0u@->{@8_|5Mz@v)gn zymr#vCoPw}c)i+UG?CQg61`mZZ>xiXgDr)N)$FuvG#i=@2+c|$CRf;*pw9^ zy?Tmw#som{lnB0NBKT#w7)gO!^GTNM@<36Y_3E$$a{C+u0ktr2$woY5Dtg@SZxlP0 z3jeMgTE?8^ROEB#lTvkD+7A}7BU)nX;81lb6_WAl{JT{sV@2xF5hF z+!(3&vK%^~|2EA-qB5ER%#Jbz=&CaCnGv*0x+QVbM+Xa<)5Cv)M58txnq#L}yA;-V zHEa9ti_YDb4w-}r6D=#Yj)XM&H6oHO*?{=dn%0wCXX{~Tm7a49sHv*q+PE^asmou z(_{wv9Xq&%YeG#KS>g&+P+Ncz`c*74uJNNuUIzd}b56pAu$$%VKJA@4JFS1vn6qC> z9=TqKFWATDj2l>+zO6n5Gkfi}in&@+CDt zNtcdyT=8v1Cfo?&!pLe{j9K&E{NsLkK)z5X!L2A5Wg~!+M~F*%9LNJ~ zJsc`OE1W!WMz;oJ$@<2JkP-fHnB5}3n(c3D>k88dGmpoc`b^8uz9|L!n7{2Bs%#?u z|Do<6xtSXVlwM)7`LW>#N^au>vdH`uA8hH| z29{7`6Pg<&&ZpAUKYr~>#|PdvX;FszIh>wK91)}|CFfgk-&gA2~suhSI_&Po8W5b1yV>vo+^rq3}8eWE^3r3J`R4 zo8Eimw?~>GbHtspx7J-CzQ8&Z9jpe<#l|UMcjdefZKiH%r^CB8EC$S90Wj<$C6;ec=72vePH@zT55z zZq5?Yl9}%ZhRD;dW^WfLrq;5qOMgNkYg*Hd+6LpSeer@0^bLyu{D3-pNO0?ZfLz1TkvqE_Kk%y`}5vFW*nV?LaMXp zfLcqA&qVoO3ErRkmrJu z8O3@lGGSEpfdb5aG=JYEfT$tlhfA=NO;z+uFG6amZN|)|=znBQ3ag||Sa!5*kJDv@ zjrG&A?K9_<@37tC3$H924{zhJD||)yHoX@MPuPq#12o6nY!A`8#)sgMZ