PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/share/emacs/24.3/lisp/play
Viewing File: /usr/share/emacs/24.3/lisp/play/bubbles.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:48:51 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/play/bubbles.el ;;; in Emacs version 24.3.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #@31 Version number of bubbles.el. (defconst bubbles-version "0.5" (#$ . 555)) (byte-code "\300\301!\210\302\303\304\305\306\307\310\311&\207" [require gamegrid custom-declare-variable bubbles-game-theme 'easy "Overall game theme.\nThe overall game theme specifies a grid size, a set of colors,\nand a shift mode." :type (radio (const :tag "Easy" easy) (const :tag "Medium" medium) (const :tag "Difficult" difficult) (const :tag "Hard" hard) (const :tag "User defined" user-defined)) :group bubbles] 8) #@27 Set game theme to 'easy'. (defalias 'bubbles-set-game-easy #[nil "\301\302 \207" [bubbles-game-theme easy bubbles] 1 (#$ . 1060) nil]) #@29 Set game theme to 'medium'. (defalias 'bubbles-set-game-medium #[nil "\301\302 \207" [bubbles-game-theme medium bubbles] 1 (#$ . 1202) nil]) #@32 Set game theme to 'difficult'. (defalias 'bubbles-set-game-difficult #[nil "\301\302 \207" [bubbles-game-theme difficult bubbles] 1 (#$ . 1350) nil]) #@27 Set game theme to 'hard'. (defalias 'bubbles-set-game-hard #[nil "\301\302 \207" [bubbles-game-theme hard bubbles] 1 (#$ . 1507) nil]) #@35 Set game theme to 'user-defined'. (defalias 'bubbles-set-game-userdefined #[nil "\301\302 \207" [bubbles-game-theme user-defined bubbles] 1 (#$ . 1649) nil]) (byte-code "\300\301\302\303\304\305%\210\306\307\310\311\312\313\304\301&\207" [custom-declare-group bubbles nil "Bubbles, a puzzle game." :group games custom-declare-variable bubbles-graphics-theme 'circles "Graphics theme.\nIt is safe to choose a graphical theme. If Emacs cannot display\nimages the `ascii' theme will be used." :type (radio (const :tag "Circles" circles) (const :tag "Squares" squares) (const :tag "Diamonds" diamonds) (const :tag "Balls" balls) (const :tag "Emacs" emacs) (const :tag "ASCII (no images)" ascii))] 8) #@32 Predefined small bubbles grid. (defconst bubbles--grid-small '(10 . 10) (#$ . 2354)) #@33 Predefined medium bubbles grid. (defconst bubbles--grid-medium '(15 . 10) (#$ . 2445)) #@32 Predefined large bubbles grid. (defconst bubbles--grid-large '(20 . 15) (#$ . 2538)) #@31 Predefined huge bubbles grid. (defconst bubbles--grid-huge '(30 . 20) (#$ . 2629)) (byte-code "\304\305\301\306\307\310\311\312\313F\311\312\314 F\311\312\315\nF\311\312\316 F\317BBBBB\320\321&\207" [bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge custom-declare-variable bubbles-grid-size "Size of bubbles grid." :type radio const :tag "Small" "Medium" "Large" "Huge" ((cons :tag "User defined" (integer :tag "Width") (integer :tag "Height"))) :group bubbles] 13) #@48 Predefined bubbles color list with two colors. (defconst bubbles--colors-2 '("orange" "violet") (#$ . 3134)) #@50 Predefined bubbles color list with three colors. (defconst bubbles--colors-3 '("lightblue" "palegreen" "pink") (#$ . 3249)) #@49 Predefined bubbles color list with four colors. (defconst bubbles--colors-4 '("firebrick" "sea green" "steel blue" "chocolate") (#$ . 3379)) #@49 Predefined bubbles color list with five colors. (defconst bubbles--colors-5 '("firebrick" "sea green" "steel blue" "sandy brown" "bisque3") (#$ . 3526)) (byte-code "\304\305\301\306\307\310\311\312\313F\311\312\314 F\311\312\315\nF\311\312\316 F\317BBBBB\320\321&\210\304\322\323\324\307\325\320\321&\210\304\326\327\330\307\331\320\321&\210\304\332\333\334\320\321\307\335&\207" [bubbles--colors-2 bubbles--colors-3 bubbles--colors-4 bubbles--colors-5 custom-declare-variable bubbles-colors "List of bubble colors.\nThe length of this list determines how many different bubble\ntypes are present." :type radio const :tag "Red, darkgreen" "Red, darkgreen, blue" "Red, darkgreen, blue, orange" "Red, darkgreen, blue, orange, violet" ((repeat :tag "User defined" color)) :group bubbles bubbles-chars '(43 79 35 88 46 42 38 167) "Characters used for bubbles.\nNote that the actual number of different bubbles is determined by\nthe number of colors, see `bubbles-colors'." (repeat character) bubbles-shift-mode 'default "Shift mode.\nAvailable modes are `shift-default' and `shift-always'." (radio (const :tag "Default" default) (const :tag "Shifter" always)) bubbles-mode-hook nil "Hook run by Bubbles mode." hook] 13) #@40 Open customization buffer for bubbles. (defalias 'bubbles-customize #[nil "\300\301!\207" [customize-group bubbles] 2 (#$ . 4753) nil]) #@24 Current Bubbles score. (defvar bubbles--score 0 (#$ . 4895)) #@39 Score of active bubbles neighborhood. (defvar bubbles--neighbourhood-score 0 (#$ . 4962)) #@31 List of currently used faces. (defvar bubbles--faces nil (#$ . 5058)) #@24 Play status indicator. (defvar bubbles--playing nil (#$ . 5134)) #@52 Image used for removed bubbles (empty grid cells). (defvar bubbles--empty-image nil (#$ . 5205)) #@29 List of images for bubbles. (defvar bubbles--images nil (#$ . 5308)) #@57 Indicate whether images have been created successfully. (defvar bubbles--images-ok nil (#$ . 5383)) #@51 Horizontal offset for centering the bubbles grid. (defvar bubbles--col-offset 0 (#$ . 5489)) #@49 Vertical offset for centering the bubbles grid. (defvar bubbles--row-offset 0 (#$ . 5588)) #@59 List containing bubbles save data (SCORE BUFFERCONTENTS). (defvar bubbles--save-data nil (#$ . 5685)) (defconst bubbles--image-template-circle "/* XPM */\nstatic char * dot_xpm[] = {\n\"20 20 2 1\",\n\" c None\",\n\". c #FFFFFF\",\n\" ...... \",\n\" .......... \",\n\" .............. \",\n\" ................ \",\n\" ................ \",\n\" .................. \",\n\" .................. \",\n\"....................\",\n\"....................\",\n\"....................\",\n\"....................\",\n\"....................\",\n\"....................\",\n\" .................. \",\n\" .................. \",\n\" ................ \",\n\" ................ \",\n\" .............. \",\n\" .......... \",\n\" ...... \"};") (defconst bubbles--image-template-square "/* XPM */\nstatic char * dot_xpm[] = {\n\"20 20 2 1\",\n\"0 c None\",\n\"1 c #FFFFFF\",\n\"00000000000000000000\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"01111111111111111110\",\n\"00000000000000000000\"};") (defconst bubbles--image-template-diamond "/* XPM */\nstatic char * dot_xpm[] = {\n\"20 20 2 1\",\n\"0 c None\",\n\"1 c #FFFFFF\",\n\"00000000011000000000\",\n\"00000000111100000000\",\n\"00000001111110000000\",\n\"00000011111111000000\",\n\"00000111111111100000\",\n\"00001111111111110000\",\n\"00011111111111111000\",\n\"00111111111111111100\",\n\"01111111111111111110\",\n\"11111111111111111111\",\n\"01111111111111111110\",\n\"00111111111111111100\",\n\"00011111111111111000\",\n\"00001111111111110000\",\n\"00000111111111100000\",\n\"00000011111111000000\",\n\"00000001111110000000\",\n\"00000000111100000000\",\n\"00000000011000000000\",\n\"00000000000000000000\"};") (defconst bubbles--image-template-emacs "/* XPM */\nstatic char * emacs_24_xpm[] = {\n\"24 24 129 2\",\n\" c None\",\n\". c #837DA4\",\n\"+ c #807AA0\",\n\"@ c #9894B2\",\n\"# c #CCCAD9\",\n\"$ c #C2C0D2\",\n\"% c #B6B3C9\",\n\"& c #A19DB9\",\n\"* c #8681A5\",\n\"= c #7D779B\",\n\"- c #B6B3C7\",\n\"; c #ABA7BE\",\n\"> c #9792AF\",\n\", c #AAA6BD\",\n\"' c #CBC9D7\",\n\") c #AAA7BE\",\n\"! c #908BAA\",\n\"~ c #797397\",\n\"{ c #948FAC\",\n\"] c #9A95B1\",\n\"^ c #EBEAEF\",\n\"/ c #F1F1F5\",\n\"( c #BCB9CB\",\n\"_ c #A9A5BD\",\n\": c #757093\",\n\"< c #918DA9\",\n\"[ c #DDDBE4\",\n\"} c #FFFFFF\",\n\"| c #EAE9EF\",\n\"1 c #A7A4BA\",\n\"2 c #716C8F\",\n\"3 c #8D89A5\",\n\"4 c #9C98B1\",\n\"5 c #DBDAE3\",\n\"6 c #A4A1B7\",\n\"7 c #6E698A\",\n\"8 c #8B87A1\",\n\"9 c #928EA7\",\n\"0 c #C5C3D1\",\n\"a c #F8F8F9\",\n\"b c #CCCAD6\",\n\"c c #A29FB4\",\n\"d c #6A6585\",\n\"e c #88849D\",\n\"f c #B5B2C2\",\n\"g c #F0F0F3\",\n\"h c #E1E0E6\",\n\"i c #A5A2B5\",\n\"j c #A09DB1\",\n\"k c #676281\",\n\"l c #85819A\",\n\"m c #9591A7\",\n\"n c #E1E0E5\",\n\"o c #F0EFF2\",\n\"p c #B3B0C0\",\n\"q c #9D9AAE\",\n\"r c #635F7C\",\n\"s c #827F96\",\n\"t c #9997AA\",\n\"u c #F7F7F9\",\n\"v c #C8C7D1\",\n\"w c #89869D\",\n\"x c #9B99AB\",\n\"y c #5F5B78\",\n\"z c #7F7C93\",\n\"A c #CFCDD6\",\n\"B c #B7B5C2\",\n\"C c #9996A9\",\n\"D c #5C5873\",\n\"E c #7A778D\",\n\"F c #F5F5F6\",\n\"G c #8E8C9E\",\n\"H c #7D798F\",\n\"I c #58546F\",\n\"J c #6C6981\",\n\"K c #D5D4DB\",\n\"L c #F5F4F6\",\n\"M c #9794A5\",\n\"N c #625F78\",\n\"O c #79768C\",\n\"P c #55516A\",\n\"Q c #605C73\",\n\"R c #CAC9D1\",\n\"S c #EAE9EC\",\n\"T c #B4B3BE\",\n\"U c #777488\",\n\"V c #514E66\",\n\"W c #DEDEE2\",\n\"X c #F4F4F5\",\n\"Y c #9D9BA9\",\n\"Z c #747185\",\n\"` c #4E4B62\",\n\" . c #DEDDE1\",\n\".. c #A6A5B0\",\n\"+. c #716F81\",\n\"@. c #4A475D\",\n\"#. c #A4A3AE\",\n\"$. c #F4F3F5\",\n\"%. c #777586\",\n\"&. c #6E6C7D\",\n\"*. c #464358\",\n\"=. c #514E62\",\n\"-. c #B9B8C0\",\n\";. c #D1D0D5\",\n\">. c #747282\",\n\",. c #6B6979\",\n\"'. c #434054\",\n\"). c #5A5769\",\n\"!. c #D0CFD4\",\n\"~. c #5B5869\",\n\"{. c #696676\",\n\"]. c #403D50\",\n\"^. c #DBDADE\",\n\"/. c #F3F3F4\",\n\"(. c #646271\",\n\"_. c #666473\",\n\":. c #3D3A4C\",\n\"<. c #555362\",\n\"[. c #9E9DA6\",\n\"}. c #9E9CA5\",\n\"|. c #646170\",\n\"1. c #393647\",\n\"2. c #514E5D\",\n\"3. c #83818C\",\n\"4. c #A8A7AE\",\n\"5. c #E6E6E8\",\n\"6. c #DAD9DC\",\n\"7. c #353343\",\n\"8. c #32303E\",\n\" . . . . . . . . . . . . . . . . . . \",\n\" + @ # $ % % % % % % % % % % % % % % & * + + \",\n\" = - ; > > > > > > > > , ' ) > > > > > > ! = \",\n\"~ ~ { { { { { { { { { { { ] ^ / ( { { { { _ ~ ~ \",\n\": : < < < < < < < < < < < < [ } } | < < < 1 : : \",\n\"2 2 3 3 3 3 3 3 3 3 3 3 4 5 } } } 5 3 3 3 6 2 2 \",\n\"7 7 8 8 8 8 8 8 8 8 9 0 a } } } b 8 8 8 8 c 7 7 \",\n\"d d e e e e e e e f g } } } h i e e e e e j d d \",\n\"k k l l l l l m n } } } o p l l l l l l l q k k \",\n\"r r s s s s t u } } } v w s s s s s s s s x r r \",\n\"y y z z z z A } } } B z z z z z z z z z z C y y \",\n\"D D D D D D E F } } G D D D D D D D D D D H D D \",\n\"I I I I I I I J K } L M N I I I I I I I I O I I \",\n\"P P P P P P Q R } } } S T P P P P P P P P U P P \",\n\"V V V V V V W } } X Y V V V V V V V V V V Z V V \",\n\"` ` ` ` ` ` .} } ..` ` ` ` ` ` ` ` ` ` ` +.` ` \",\n\"@.@.@.@.@.@.@.#.$.$.%.@.@.@.@.@.@.@.@.@.@.&.@.@.\",\n\"*.*.*.*.*.*.*.*.=.-.} ;.>.*.*.*.*.*.*.*.*.,.*.*.\",\n\"'.'.'.'.'.'.'.'.'.'.).!.} !.~.'.'.'.'.'.'.{.'.'.\",\n\"].].].].].].].].].].].].^.} /.(.].].].].]._.].].\",\n\":.:.:.:.:.:.:.:.:.:.<.[./.} } }.:.:.:.:.:.|.:.:.\",\n\" 1.1.1.1.1.1.1.1.2.3.4.5.6.3.1.1.1.1.1.1.1.1. \",\n\" 7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7. \",\n\" 8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8. \"};") (defconst bubbles--image-template-ball "/* XPM */\nstatic char * dot3d_xpm[] = {\n\"20 20 190 2\",\n\" c None\",\n\". c #F9F6F6\",\n\"+ c #D6D0D0\",\n\"@ c #BFBBBB\",\n\"# c #AAA4A4\",\n\"$ c #ABAAAB\",\n\"% c #A8A8A8\",\n\"& c #A29D9D\",\n\"* c #B5B2B2\",\n\"= c #CDC9C9\",\n\"- c #D7D0D0\",\n\"; c #B3AFAF\",\n\"> c #B5B5B5\",\n\", c #B7B7B7\",\n\"' c #B8B8B8\",\n\") c #B6B6B6\",\n\"! c #B3B3B3\",\n\"~ c #AFAFAF\",\n\"{ c #A9A9A9\",\n\"] c #A2A2A2\",\n\"^ c #9C9A9A\",\n\"/ c #C9C5C5\",\n\"( c #FDFBFB\",\n\"_ c #C3BCBC\",\n\": c #BBBBBB\",\n\"< c #C0C0C0\",\n\"[ c #C3C2C2\",\n\"} c #C3C3C3\",\n\"| c #C2C2C2\",\n\"1 c #BEBEBE\",\n\"2 c #B9B9B9\",\n\"3 c #B2B2B2\",\n\"4 c #ABAAAA\",\n\"5 c #999999\",\n\"6 c #ACA7A7\",\n\"7 c #C2BBBB\",\n\"8 c #C5C5C5\",\n\"9 c #CACBCB\",\n\"0 c #CECECE\",\n\"a c #CFCFCF\",\n\"b c #CDCDCD\",\n\"c c #C8C9C9\",\n\"d c #9F9F9F\",\n\"e c #959595\",\n\"f c #A9A5A5\",\n\"g c #D5CFCE\",\n\"h c #BDBDBD\",\n\"i c #C6C6C6\",\n\"j c #D5D5D5\",\n\"k c #D9D9D9\",\n\"l c #DADADA\",\n\"m c #D8D8D8\",\n\"n c #D2D2D2\",\n\"o c #CBCBCB\",\n\"p c #A4A4A5\",\n\"q c #9A9A9A\",\n\"r c #8F8F8F\",\n\"s c #C3BFBF\",\n\"t c #AFACAB\",\n\"u c #CCCCCC\",\n\"v c #D6D6D6\",\n\"w c #DEDEDE\",\n\"x c #E4E4E4\",\n\"y c #E5E5E5\",\n\"z c #E2E2E2\",\n\"A c #DBDBDB\",\n\"B c #C9C8C8\",\n\"C c #A8A9A8\",\n\"D c #9D9E9D\",\n\"E c #929292\",\n\"F c #8A8888\",\n\"G c #D3CECE\",\n\"H c #B0B0B0\",\n\"I c #D1D1D1\",\n\"J c #DCDCDC\",\n\"K c #E6E6E6\",\n\"L c #EEEEEE\",\n\"M c #F1F1F0\",\n\"N c #EBEBEB\",\n\"O c #D7D7D8\",\n\"P c #ABABAB\",\n\"Q c #A0A0A0\",\n\"R c #949494\",\n\"S c #898989\",\n\"T c #C0BDBD\",\n\"U c #B9B6B6\",\n\"V c #B1B1B1\",\n\"W c #BCBCBC\",\n\"X c #C8C8C8\",\n\"Y c #D3D3D3\",\n\"Z c #DFDFDE\",\n\"` c #EAEAEA\",\n\" . c #F5F5F5\",\n\".. c #FAFAFA\",\n\"+. c #F1F1F1\",\n\"@. c #CECFCF\",\n\"#. c #ACACAC\",\n\"$. c #A1A1A1\",\n\"%. c #8A8A8A\",\n\"&. c #9B9999\",\n\"*. c #C7C7C7\",\n\"=. c #DDDDDD\",\n\"-. c #E8E8E8\",\n\";. c #F2F2F2\",\n\">. c #898A89\",\n\",. c #7A7878\",\n\"'. c #AEAEAE\",\n\"). c #C4C4C4\",\n\"!. c #CBCBCA\",\n\"~. c #AAAAAA\",\n\"{. c #939393\",\n\"]. c #888888\",\n\"^. c #7C7C7C\",\n\"/. c #AAAAAB\",\n\"(. c #BFBFBF\",\n\"_. c #C9C9C9\",\n\":. c #DFDEDF\",\n\"<. c #A6A6A6\",\n\"[. c #9B9B9B\",\n\"}. c #909191\",\n\"|. c #858586\",\n\"1. c #797979\",\n\"2. c #989494\",\n\"3. c #A5A6A5\",\n\"4. c #B9B9B8\",\n\"5. c #C1C1C1\",\n\"6. c #CFCFCE\",\n\"7. c #979797\",\n\"8. c #8D8D8D\",\n\"9. c #828282\",\n\"0. c #747171\",\n\"a. c #ADAAAA\",\n\"b. c #A9A8A9\",\n\"c. c #B8B9B9\",\n\"d. c #A5A5A5\",\n\"e. c #9C9C9C\",\n\"f. c #7E7E7D\",\n\"g. c #929191\",\n\"h. c #C9C4C4\",\n\"i. c #989898\",\n\"j. c #ADADAD\",\n\"k. c #9D9D9D\",\n\"l. c #8C8C8C\",\n\"m. c #787878\",\n\"n. c #B8B6B6\",\n\"o. c #939191\",\n\"p. c #A5A5A6\",\n\"q. c #ABABAA\",\n\"r. c #A8A8A9\",\n\"s. c #A3A3A3\",\n\"t. c #858585\",\n\"u. c #757474\",\n\"v. c #C5C1C1\",\n\"w. c #969696\",\n\"x. c #9B9B9C\",\n\"y. c #A4A4A4\",\n\"z. c #9E9E9E\",\n\"A. c #939394\",\n\"B. c #7D7D7D\",\n\"C. c #747474\",\n\"D. c #B7B5B5\",\n\"E. c #A5A1A1\",\n\"F. c #919191\",\n\"G. c #9A9999\",\n\"H. c #838383\",\n\"I. c #757575\",\n\"J. c #939090\",\n\"K. c #A29E9E\",\n\"L. c #868686\",\n\"M. c #8D8D8C\",\n\"N. c #8E8E8E\",\n\"O. c #8D8D8E\",\n\"P. c #8B8C8C\",\n\"Q. c #848485\",\n\"R. c #7F7F80\",\n\"S. c #7A7A7A\",\n\"T. c #737373\",\n\"U. c #929090\",\n\"V. c #828080\",\n\"W. c #818181\",\n\"X. c #808080\",\n\"Y. c #7E7E7E\",\n\"Z. c #737272\",\n\"`. c #B7B4B4\",\n\" + c #BCBABA\",\n\".+ c #959494\",\n\"++ c #747172\",\n\"@+ c #767676\",\n\"#+ c #6F6D6D\",\n\"$+ c #8F8E8E\",\n\" . + @ # $ % & * = . \",\n\" - ; > , ' ) ! ~ { ] ^ / \",\n\" ( _ > : < [ } | 1 2 3 4 ] 5 6 ( \",\n\" 7 ) 1 8 9 0 a b c | : 3 { d e f \",\n\" g ! h i 0 j k l m n o | 2 ~ p q r s \",\n\". t ' | u v w x y z A n B 1 ! C D E F . \",\n\"G H : i I J K L M N z O b | ) P Q R S T \",\n\"U V W X Y Z ` ...+.y l @.} ' #.$.e %.&.\",\n\"& H W *.n =.-.;. .L x k 0 [ , #.Q e >.,.\",\n\"] '.2 ).a k z -.` K w j !.< > ~.d {.].^.\",\n\"d /.> (._.I k =.:.J v 0 8 : V <.[.}.|.1.\",\n\"2.3.~ 4.5._.6.n Y I u i 1 > P $.7.8.9.0.\",\n\"a.d b.V c.(.).*.X i | h ) '.d.e.E ].f.g.\",\n\"h.i.$.C ~ > 2 W W : ' ! j.d.k.e l.9.m.n.\",\n\". o.i.d p.q.'.H V H j.r.s.k.e 8.t.^.u.. \",\n\" v.r w.x.Q s.d.d.y.] z.5 A.8.t.B.C.D. \",\n\" E.l.F.e i.G.q 5 7.{.r %.H.^.I.J. \",\n\" ( K.L.%.M.N.N.O.P.S Q.R.S.T.U.( \",\n\" @ V.W.H.H.9.X.Y.S.I.Z.`. \",\n\" . +.+++@+C.#+$+D.. \"};") #@51 Return the grid width for the current game theme. (defalias 'bubbles--grid-width #[nil "\306=\203\n \2023\307=\203\n\2023\310=\203 \2023\311=\203(\f\2023\312=\2032 \2023\313@\207" [bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size easy medium difficult hard user-defined nil] 2 (#$ . 16336)]) (put 'bubbles--grid-width 'byte-optimizer 'byte-compile-inline-expand) #@52 Return the grid height for the current game theme. (defalias 'bubbles--grid-height #[nil "\306=\203\n \2023\307=\203\n\2023\310=\203 \2023\311=\203(\f\2023\312=\2032 \2023\313A\207" [bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size easy medium difficult hard user-defined nil] 2 (#$ . 16790)]) (put 'bubbles--grid-height 'byte-optimizer 'byte-compile-inline-expand) #@51 Return the color list for the current game theme. (defalias 'bubbles--colors #[nil "\306=\203 \207\307=\203\n\207\310=\203 \207\311=\203 \f\207\312=\203( \207\313\207" [bubbles-game-theme bubbles--colors-2 bubbles--colors-3 bubbles--colors-4 bubbles--colors-5 bubbles-colors easy medium difficult hard user-defined nil] 2 (#$ . 17247)]) (put 'bubbles--colors 'byte-optimizer 'byte-compile-inline-expand) #@51 Return the shift mode for the current game theme. (defalias 'bubbles--shift-mode #[nil "\302=\203\303\207\304=\203\303\207\305=\203\306\207\307=\203 \306\207\310=\203( \207\311\207" [bubbles-game-theme bubbles-shift-mode easy default medium difficult always hard user-defined nil] 2 (#$ . 17670)]) (put 'bubbles--shift-mode 'byte-optimizer 'byte-compile-inline-expand) #@38 Save current customization settings. (defalias 'bubbles-save-settings #[nil "\302\300\303D\304E\301\303 D\304E\"\210\305 \207" [bubbles-game-theme bubbles-graphics-theme custom-set-variables quote t customize-save-customized] 5 (#$ . 18058) nil]) #@60 The character used for removed bubbles (empty grid cells). (defalias 'bubbles--empty-char #[nil "\300\207" [32] 1 (#$ . 18312)]) (put 'bubbles--empty-char 'byte-optimizer 'byte-compile-inline-expand) #@32 Set graphics theme to `ascii'. (defalias 'bubbles-set-graphics-theme-ascii #[nil "\301\302 \207" [bubbles-graphics-theme ascii bubbles--update-faces-or-images] 1 (#$ . 18518) nil]) #@34 Set graphics theme to `circles'. (defalias 'bubbles-set-graphics-theme-circles #[nil "\301\302 \210\303 \207" [bubbles-graphics-theme circles bubbles--initialize-images bubbles--update-faces-or-images] 1 (#$ . 18706) nil]) #@34 Set graphics theme to `squares'. (defalias 'bubbles-set-graphics-theme-squares #[nil "\301\302 \210\303 \207" [bubbles-graphics-theme squares bubbles--initialize-images bubbles--update-faces-or-images] 1 (#$ . 18936) nil]) #@35 Set graphics theme to `diamonds'. (defalias 'bubbles-set-graphics-theme-diamonds #[nil "\301\302 \210\303 \207" [bubbles-graphics-theme diamonds bubbles--initialize-images bubbles--update-faces-or-images] 1 (#$ . 19166) nil]) #@32 Set graphics theme to `balls'. (defalias 'bubbles-set-graphics-theme-balls #[nil "\301\302 \210\303 \207" [bubbles-graphics-theme balls bubbles--initialize-images bubbles--update-faces-or-images] 1 (#$ . 19399) nil]) #@32 Set graphics theme to `emacs'. (defalias 'bubbles-set-graphics-theme-emacs #[nil "\301\302 \210\303 \207" [bubbles-graphics-theme emacs bubbles--initialize-images bubbles--update-faces-or-images] 1 (#$ . 19623) nil]) #@34 Map for bubbles game theme menu. (defvar bubbles-game-theme-menu (byte-code "\301\302!\303\304\305\306\307\310\311\257#\210\303\312\305\313\314\310\315\257#\210\303\316\305\317\320\310\321\257#\210\303\322\305\323\324\310\325\257#\210\303\326\305\327\330\310\331\257#\210)\207" [menu make-sparse-keymap "Game Theme" define-key [bubbles-set-game-userdefined] menu-item "User defined" bubbles-set-game-userdefined :button (:radio eq bubbles-game-theme 'user-defined) [bubbles-set-game-hard] "Hard" bubbles-set-game-hard (:radio eq bubbles-game-theme 'hard) [bubbles-set-game-difficult] "Difficult" bubbles-set-game-difficult (:radio eq bubbles-game-theme 'difficult) [bubbles-set-game-medium] "Medium" bubbles-set-game-medium (:radio eq bubbles-game-theme 'medium) [bubbles-set-game-easy] "Easy" bubbles-set-game-easy (:radio eq bubbles-game-theme 'easy)] 8) (#$ . 19847)) #@38 Map for bubbles graphics theme menu. (defvar bubbles-graphics-theme-menu (byte-code "\301\302!\303\304\305\306\307\310\311\257#\210\303\312\305\313\314\310\315\257#\210\303\316\305\317\320\310\321\257#\210\303\322\305\323\324\310\325\257#\210\303\326\305\327\330\310\331\257#\210\303\332\305\333\334\310\335\257#\210)\207" [menu make-sparse-keymap "Graphics Theme" define-key [bubbles-set-graphics-theme-ascii] menu-item "ASCII" bubbles-set-graphics-theme-ascii :button (:radio eq bubbles-graphics-theme 'ascii) [bubbles-set-graphics-theme-emacs] "Emacs" bubbles-set-graphics-theme-emacs (:radio eq bubbles-graphics-theme 'emacs) [bubbles-set-graphics-theme-balls] "Balls" bubbles-set-graphics-theme-balls (:radio eq bubbles-graphics-theme 'balls) [bubbles-set-graphics-theme-diamonds] "Diamonds" bubbles-set-graphics-theme-diamonds (:radio eq bubbles-graphics-theme 'diamonds) [bubbles-set-graphics-theme-squares] "Squares" bubbles-set-graphics-theme-squares (:radio eq bubbles-graphics-theme 'squares) [bubbles-set-graphics-theme-circles] "Circles" bubbles-set-graphics-theme-circles (:radio eq bubbles-graphics-theme 'circles)] 8) (#$ . 20736)) #@23 Map for bubbles menu. (defvar bubbles-menu (byte-code "\303\304!\305\306\307\310\311E#\210\305\312\307\313\314E#\210\305\315\316#\210\305\317\307\320\321E#\210\305\322\307\323\324E#\210\305\325\307\326 E#\210\305\327\307\330\n\331\332\257#\210\305\333\334#\210\305\335\307\336\337\331\340\257#\210)\207" [menu bubbles-game-theme-menu bubbles-graphics-theme-menu make-sparse-keymap "Bubbles" define-key [bubbles-quit] menu-item "Quit" bubbles-quit [bubbles] "New game" bubbles [bubbles-separator-1] ("--") [bubbles-save-settings] "Save all settings" bubbles-save-settings [bubbles-customize] "Edit all settings" bubbles-customize [bubbles-game-theme-menu] "Game Theme" [bubbles-graphics-theme-menu] "Graphics Theme" :enable bubbles--playing [bubbles-separator-2] ("--") [bubbles-undo] "Undo last move" bubbles-undo (and bubbles--playing (listp buffer-undo-list))] 8) (#$ . 21904)) #@23 Mode map for bubbles. (defvar bubbles-mode-map (byte-code "\302\303!\304\305\306#\210\304\307\310#\210\304\311\310#\210\304\312\310#\210\304\313\310#\210\304\314\310#\210\304\315\316#\210\304\317\320#\210\304\321\322#\210\304\323\324#\210\304\325\326#\210\304\327 #\210\304\330\331 B#\210)\207" [map bubbles-menu make-sparse-keymap bubbles-mode-map define-key "q" bubbles-quit "\n" bubbles-plop " " [double-down-mouse-1] [mouse-2] " " "u" bubbles-undo "p" previous-line "n" next-line "f" forward-char "b" backward-char [down-mouse-3] [menu-bar Bubbles] "Bubbles"] 5) (#$ . 22803)) (byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [bubbles-mode-hook variable-documentation put purecopy "Hook run when entering Bubbles mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp bubbles-mode-map definition-name bubbles-mode] 5) (defvar bubbles-mode-map (make-sparse-keymap)) (byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\300\207" [bubbles-mode-map variable-documentation put purecopy "Keymap for `bubbles-mode'." boundp bubbles-mode-syntax-table definition-name bubbles-mode] 5) (defvar bubbles-mode-syntax-table (make-syntax-table)) (byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [bubbles-mode-syntax-table variable-documentation put purecopy "Syntax table for `bubbles-mode'." bubbles-mode-abbrev-table definition-name bubbles-mode] 5) (defvar bubbles-mode-abbrev-table (progn (define-abbrev-table 'bubbles-mode-abbrev-table nil) bubbles-mode-abbrev-table)) (byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [bubbles-mode-abbrev-table variable-documentation put purecopy "Abbrev table for `bubbles-mode'." bubbles-mode derived-mode-parent nil] 5) #@140 Major mode for playing bubbles. \{bubbles-mode-map} This mode runs the hook `bubbles-mode-hook', as the final step during initialization. (defalias 'bubbles-mode #[nil "\306\300!\210\307\310 \210\311\312\313 !\210\314\f!\210 \307\315\316 \210\317 \210\320 \210\321\322\323\307\211$\210)\324\325!\207" [delay-mode-hooks major-mode mode-name bubbles-mode-map bubbles-mode-syntax-table bubbles-mode-abbrev-table make-local-variable t kill-all-local-variables bubbles-mode "Bubbles" use-local-map set-syntax-table nil buffer-disable-undo force-mode-line-update redisplay add-hook post-command-hook bubbles--mark-neighbourhood run-mode-hooks bubbles-mode-hook local-abbrev-table buffer-read-only show-trailing-whitespace] 5 (#$ . 24703) nil]) #@553 Play Bubbles game. \<bubbles-mode-map> The goal is to remove all bubbles with as few moves as possible. \[bubbles-plop] on a bubble removes that bubble and all connected bubbles of the same color. Unsupported bubbles fall down, and columns that do not contain any bubbles suck the columns on its right towards the left. \[bubbles-set-game-easy] sets the difficulty to easy. \[bubbles-set-game-medium] sets the difficulty to medium. \[bubbles-set-game-difficult] sets the difficulty to difficult. \[bubbles-set-game-hard] sets the difficulty to hard. (defalias 'bubbles #[nil "\302\303\304!!\210\203\305\306!\205\307\310\311 \207" [bubbles--playing bubbles--save-data switch-to-buffer get-buffer-create "*bubbles*" y-or-n-p "Start new game? " nil t bubbles--initialize] 3 (#$ . 25458) nil]) #@15 Quit Bubbles. (defalias 'bubbles-quit #[nil "\300\301!\210\302 \207" [message "bubbles-quit" bury-buffer] 2 (#$ . 26263) nil]) #@125 Update horizontal and vertical offsets for centering the bubbles grid. Set `bubbles--col-offset' and `bubbles--row-offset'. (defalias 'bubbles--compute-offsets #[nil "\306 \203\267\203\267 \307=\204\267\310\311!\203\267\312\n@\313\"@\314\315\316\311 8\311 @ \316\\\f\317=\2032 \202_\f\320=\203=\202_\f\321=\203H\202_\f\322=\203S\202_\f\323=\203^\202_\324@_#\316\245]C\314\315\325\311 8\311 A@ T\f\317=\203~ \202\253\f\320=\203\211\202\253\f\321=\203\224\202\253\f\322=\203\237\202\253\f\323=\203\252\202\253\324A_#\316\245]C\211)\207\314\326 \f\317=\203\304 \202\361\f\320=\203\317\202\361\f\321=\203\332\202\361\f\322=\203\345\202\361\f\323=\203\360\202\361\324@Z\316\245]\314\315\327 \f\317=\203 \2023\f\320=\203\2023\f\321=\203\2023\f\322=\203'\2023\f\323=\2032\2023\324A\316#\316\245]\211\207" [bubbles--images-ok bubbles-graphics-theme bubbles--images bubbles--image-size bubbles-game-theme bubbles--grid-small display-images-p ascii fboundp window-inside-pixel-edges image-size t 0 - 2 easy medium difficult hard user-defined nil 3 window-width window-height bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size bubbles--col-offset bubbles--row-offset] 7 (#$ . 26397)]) #@22 Remove all overlays. (defalias 'bubbles--remove-overlays #[nil "\300\301!\205\301 \207" [fboundp remove-overlays] 2 (#$ . 27693)]) #@26 Initialize Bubbles game. (defalias 'bubbles--initialize #[nil "\306 \210\307 \210\310 \210\311\312\313!!\210\314 \210\315\316\317!\210\320 \210\321c\210\322e`\323\315\324\325\326 DBF#\210\327c\210\n\330=\2039 \202d\n\331=\203C\f\202d\n\332=\203M \202d\n\333=\203X+\202d\n\334=\203c,\202d\317G-\n\330=\203r.\202\237\n\331=\203}/\202\237\n\332=\203\2100\202\237\n\333=\203\2231\202\237\n\334=\203\2362\202\237\317A\3353434W\203:`5\321c\210\3225`\323\315\324\325\3366DBF#\210)\n\330=\203\317.\202\374\n\331=\203\332/\202\374\n\332=\203\3450\202\374\n\333=\203\3601\202\374\n\334=\203\3732\202\374\317@\3357474W\203-\337-!\211 88\2119c\210\322`S`\340 D#\210*7T\2117\202*\327c\2103T\2113\202\247*\341c\210\322`S`\323\315\324\325\3366DBF#\210)\342ed\343\344$\210)\345 \210\346 \210\347 \210\350\335\211\"\210\315:\351 \210\352 \207" [inhibit-read-only bubbles--row-offset bubbles-game-theme bubbles--colors-2 bubbles--colors-3 bubbles--colors-4 bubbles--initialize-faces bubbles--initialize-images bubbles--remove-overlays switch-to-buffer get-buffer-create "*bubbles*" bubbles--compute-offsets t set-buffer-modified-p nil erase-buffer " " add-text-properties intangible display space :height "\n" easy medium difficult hard user-defined 0 :width random index "\n " put-text-property pointer arrow bubbles-mode bubbles--reset-score bubbles--update-faces-or-images bubbles--goto force-mode-line-update redisplay bubbles--colors-5 bubbles-colors max-char bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size i --dotimes-limit-- p bubbles--col-offset j bubbles-chars char buffer-undo-list] 10 (#$ . 27832)]) #@38 Prepare faces for playing `bubbles'. (defalias 'bubbles--initialize-faces #[nil "\306\307\310\"\210\311\310\312\"\210\313 \205H\314\315\316=\203 \202D\317=\203%\n\202D\320=\203/ \202D\321=\2039\f\202D\322=\203C \202D\323\"\211\207" [bubbles-game-theme bubbles--colors-2 bubbles--colors-3 bubbles--colors-4 bubbles--colors-5 bubbles-colors copy-face default bubbles--highlight-face set-face-background "#8080f4" display-color-p mapcar #[(color) "\302\303\304\"!\305 !\204\306\307 \"\210\310 \"\210 )\207" [color fname intern format "bubbles--face-%s" facep copy-face default set-face-foreground] 4] easy medium difficult hard user-defined nil bubbles--faces] 4 (#$ . 29553)]) #@26 Return row of point POS. (defalias 'bubbles--row #[(pos) "\212b\210\301 \210\302e`\"S)\207" [pos beginning-of-line count-lines] 3 (#$ . 30258)]) (put 'bubbles--row 'byte-optimizer 'byte-compile-inline-expand) #@29 Return column of point POS. (defalias 'bubbles--col #[(pos) "\212b\210iS)\207" [pos] 1 (#$ . 30474)]) (put 'bubbles--col 'byte-optimizer 'byte-compile-inline-expand) #@50 Move point to bubble at coordinates ROW and COL. (defalias 'bubbles--goto #[(row col) "\306W\206 \306W\206\n\307=\203 \202B\n\310=\203!\f\202B\n\311=\203+ \202B\n\312=\2036 \202B\n\313=\203A\202B\314AY\206 \n\307=\203R \202}\n\310=\203\\\f\202}\n\311=\203f \202}\n\312=\203q \202}\n\313=\203|\202}\314@Y?\205\217eb\210Ty\210 Tu\210`\207" [row col bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large 0 easy medium difficult hard user-defined nil bubbles--grid-huge bubbles-grid-size] 3 (#$ . 30647)]) #@41 Return character at bubble ROW and COL. (defalias 'bubbles--char-at #[(row col) "\212\302 \"\205\n`f)\207" [row col bubbles--goto] 3 (#$ . 31218)]) #@60 Mark direct neighbors of bubble at ROW COL with same CHAR. (defalias 'bubbles--mark-direct-neighbours #[(row col char) "\212\304\305 \n\"\203; `f=\203;\306`\307\"\204;\310``T\311#\210\312\313\314 \nT #\314 \nS #\314 T\n #\314 S\n #%*\207" [count row col char 0 bubbles--goto get-text-property active add-text-properties (active t face 'bubbles--highlight-face) + 1 bubbles--mark-direct-neighbours] 9 (#$ . 31374)]) #@83 Mark neighborhood of point. Use optional parameter POS instead of point if given. (defalias 'bubbles--mark-neighbourhood #[(&optional pos) "\205 \204\n`\302\303\304\217\207" [bubbles--playing pos err (byte-code "f\306`\212b\210\307 \210\310e`\"S*`\212b\210iS*\311ed\312#\210\313\n\203I \203I\f\314=\204I\315\n \f#\211\316V\204I\311ed\317#\210\313\320 !\210)\321ed\322\323$\210\324 \210\325\313!,\207" [pos col row inhibit-read-only char count t beginning-of-line count-lines add-text-properties (face default active nil) 0 32 bubbles--mark-direct-neighbours 1 (face default active nil) bubbles--update-neighbourhood-score put-text-property pointer arrow bubbles--update-faces-or-images sit-for] 6) ((error (message "Bubbles: Internal error %s" err)))] 3 (#$ . 31801)]) #@54 Return t if another valid neighborhood is available. (defalias 'bubbles--neighbourhood-available #[nil "\300\301\215\207" [found (byte-code "\212\306=\203 \2024\307=\203\n\2024\310=\203 \2024\311=\203)\f\2024\312=\2033 \2024\313A\314W\203\304\306=\203L \202u\307=\203V\n\202u\310=\203` \202u\311=\203j\f\202u\312=\203t \202u\313@\314W\203\272\315\"\211\316=\204\260\315T\"=\204\253\315T\"=\203\260\317\320\321\"\210)T\211\202}*T\211\202<+\313\207" [bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size easy medium difficult hard user-defined nil 0 bubbles--char-at 32 throw found t i --dotimes-limit-- j c] 5)] 2 (#$ . 32597)]) #@26 Count remaining bubbles. (defalias 'bubbles--count #[nil "\306\212 \307=\203 \n\2027 \310=\203 \2027 \311=\203!\f\2027 \312=\203+ \2027 \313=\2036\2027\314A\306W\203\254 \307=\203O\n\202y \310=\203Y \202y \311=\203c\f\202y \312=\203m \202y \313=\203x\202y\314@\306W\203\242\315\"\211\316=\204\230T)T\211\202\201*T\211\202?+)\207" [count bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge 0 easy medium difficult hard user-defined nil bubbles--char-at 32 bubbles-grid-size i --dotimes-limit-- j c] 4 (#$ . 33377)]) #@22 Reset bubbles score. (defalias 'bubbles--reset-score #[nil "\302\211\303 \207" [bubbles--neighbourhood-score bubbles--score 0 bubbles--update-score] 2 (#$ . 34009)]) #@42 Calculate and display new bubbles score. (defalias 'bubbles--update-score #[nil " \\\302 \207" [bubbles--score bubbles--neighbourhood-score bubbles--show-scores] 2 (#$ . 34183)]) #@67 Calculate and display score of active neighborhood from its SIZE. (defalias 'bubbles--update-neighbourhood-score #[(size) "\302V\203\303S\304\"\202\305\306 \207" [size bubbles--neighbourhood-score 1 expt 2 0 bubbles--show-scores] 3 (#$ . 34370)]) #@25 Display current scores. (defalias 'bubbles--show-scores #[nil "\212\305e\306\"\206 db\210\307``d|\210\310\311\n\"c\210\312c\210\313`S`\314\307\315\316\317 DBF#\210\310\320\f\"c\210\321`\306\307$+\207" [pos inhibit-read-only bubbles--neighbourhood-score bubbles--col-offset bubbles--score next-single-property-change status t format "Selected: %4d\n" " " add-text-properties intangible display space :width "Score: %4d" put-text-property] 9 (#$ . 34631)]) #@22 Finish bubbles game. (defalias 'bubbles--game-over #[nil "\306 \210\307\211\310 \311U\203\203\n \312=\203\f\202E \313=\203# \202E \314=\203.\202E \315=\2039\202E \316=\203D \202E\307A \312=\203P\f\202| \313=\203Z \202| \314=\203e\202| \315=\203p\202| \316=\203{ \202|\307@_\\\317 \210db\210\320!\321c\210\322`S`\323\320\324\325\326\"DBF#\210\327c\210)\330\331\332\333 \312=\203\256\334\202\330 \313=\203\270\334\202\330 \314=\203\302\335\202\330 \315=\203\314\335\202\330 \316=\203\327#\202\330\307! \312=\203\344$\202 \313=\203\357%\202 \314=\203\372&\202 \315=\203'\202 \316=\203(\202\307G \312=\203\f\202H \313=\203& \202H \314=\2031\202H \315=\203<\202H \316=\203G \202H\307@ \312=\203S\f\202 \313=\203] \202 \314=\203h\202 \315=\203s\202 \316=\203~ \202\307A%\n\"\207" [bubbles--playing bubbles--save-data bubbles--score bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--update-faces-or-images nil bubbles--count 0 easy medium difficult hard user-defined bubbles--show-scores t "\n " add-text-properties intangible display space :width "Game Over!" gamegrid-add-score format "bubbles-%s-%d-%d-%d-scores" symbol-name default always bubbles--grid-large bubbles--grid-huge bubbles-grid-size inhibit-read-only bubbles--col-offset bubbles-shift-mode bubbles--colors-2 bubbles--colors-3 bubbles--colors-4 bubbles--colors-5 bubbles-colors] 10 (#$ . 35099)]) #@31 Remove active bubbles region. (defalias 'bubbles-plop #[nil "\205 \306V\205\n\307 D\310`\212 b\210\311 \210\312e`\"S*`\212 b\210iS*12db\210o\204S\313u\210\314`\315\"\2030\316\317!\210\320c\210\321`S`\322\310\323\313F#\210\2027\32421\"\210*\325 \210\326 \210\327\306!\210\330\331!\210\332 \210\3333\2124\334=\203|5\202\2554\335=\203\2106\202\2554\336=\203\2247\202\2554\337=\203\2408\202\2554\340=\203\2549\202\255\333A\306:;:;W\20384\334=\203\3075\202\3704\335=\203\3236\202\3704\336=\203\3377\202\3704\337=\203\3538\202\3704\340=\203\3679\202\370\333@\306<;<;W\203.\324:<\"\210\314`\322\"\203%\341\342:<#\206 33\202 <T\211<\202*:T\211:\202\265+\326 \2103\203E\327\306!\210)\332 \210\343ed\322\333$\210\212eb\210\344\345\320\"=\346=\333\310#\203n\343`S`\322\310$\210\202Z*\333>4\334=\203}\347\202\2534\335=\203\210\347\202\2534\336=\203\223\350\202\2534\337=\203\236\350\202\2534\340=\203\252?\202\253\333\350=\203\204\2124\334=\203\2755\202\3564\335=\203\3116\202\3564\336=\203\3257\202\3564\337=\203\3418\202\3564\340=\203\3559\202\356\333A\306:;:;W\203y4\334=\2035\20294\335=\2036\20294\336=\203 7\20294\337=\203,8\20294\340=\20389\2029\333@\306<;<;W\203o\324:<\"\210\314`\322\"\203f\341\351:<#\206a>>\202N<T\211<\202A*:T\211:\202\366+\326 \210\330\352!\210\202\356\2124\334=\203\2215\202\3024\335=\203\2356\202\3024\336=\203\2517\202\3024\337=\203\2658\202\3024\340=\203\3019\202\302\333@\306<;<;W\203\355\3244\334=\203\3355\2024\335=\203\3516\2024\336=\203\3657\2024\337=\2038\2024\340=\203 9\202\333AS<\"\210\306@\314`\322\"\203k@T@\341\3514\334=\20315\202b4\335=\203=6\202b4\336=\203I7\202b4\337=\203U8\202b4\340=\203a9\202b\333AS<#\210\202@\306A;A;W\203\3434\334=\203\2065\202\2674\335=\203\2226\202\2674\336=\203\2367\202\2674\337=\203\2528\202\2674\340=\203\2669\202\267\333A\353Z\211:\306Y\203\331\341\351:<#\206\316>>:S\211:\202\275)AT\211A\202t+<T\211<\202\312+>\203\372\326 \210\327\306!\210)\343ed\322\333$\210\354 \204\n\355 \210)\356B\357 \210\360 \207" [bubbles--playing bubbles--neighbourhood-score bubbles--score bubbles--save-data inhibit-read-only pos 0 buffer-string t beginning-of-line count-lines -1 get-text-property active delete-char 1 32 add-text-properties removed index bubbles--goto bubbles--update-score bubbles--update-faces-or-images sit-for sleep-for 0.2 discard-input nil easy medium difficult hard user-defined bubbles--shift top put-text-property format "%c" search-forward default always right 0.5 2 bubbles--neighbourhood-available bubbles--game-over ((apply bubbles-undo)) force-mode-line-update redisplay col row something-dropped bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--grid-large bubbles--grid-huge bubbles-grid-size i --dotimes-limit-- j removed-string shifted bubbles-shift-mode shifted-cols k buffer-undo-list] 8 (#$ . 36586) nil]) #@17 Undo last move. (defalias 'bubbles-undo #[nil "\205$\306`\307 \210\211A@)c\210\310 \210@ b\210*\306\311 \210\312 \207" [bubbles--save-data pos inhibit-read-only x bubbles--score buffer-undo-list t erase-buffer bubbles--update-faces-or-images force-mode-line-update redisplay] 3 (#$ . 39701) nil]) #@84 Move bubbles FROM one side to position ROW COL. Return t if new char is non-empty. (defalias 'bubbles--shift #[(from row col) "\212\306 \"\205n\307\310 \311\312=\203 S\2027\313=\203- S\2027\314=\2037 T\212\306\f \"\203T`f\315`\305\"\315`\302\"\316\f #\210)c\210\317\320!\210\321`S`\302\n\305 F#\210-\307=?)\207" [row col index tcol trow removed bubbles--goto 32 nil -1 top left right get-text-property bubbles--shift delete-char 1 add-text-properties char-new from] 7 (#$ . 40013)]) #@39 Prepare images for playing `bubbles'. (defalias 'bubbles--initialize-images #[nil "\306 \205\233\307=?\205\233\310=\203 \202?\311=\203 \n\202?\312=\203* \202?\313=\2034\f\202?\314=\203> \202?\315\316\317\320\321#\322\323\324\325% \326\327!\330=\203]\"\202\216!\331=\203i#\202\216!\332=\203u$\202\216!\333=\203\201%\202\216!\334=\203\215&\202\216\315\"') (\335\336'\"\207" [bubbles-graphics-theme bubbles--image-template-circle bubbles--image-template-ball bubbles--image-template-square bubbles--image-template-diamond bubbles--image-template-emacs display-images-p ascii circles balls squares diamonds emacs nil create-image replace-regexp-in-string "^\"\\(.*\\) .*c .*\",$" "\"\\1 c None\"," xpm t :margin (2 . 1) mapcar #[(color) "\306!\211@ A@\307 8\310\311!r q\210\312\216 c\210eb\210\313\314\315\316#\210eb\210\313\317\315\316#\203\220\306\320\307!!\211!@\"!A@#\307!8$\321\322\"#$#\323\324#%\325%&\307\245_!'\n'_( '_)\f'_*\326\327(\330\245)\330\245*\330\245$\331\326\332\226\"!\210.\n\202)\333\334 \335\316\336\337%.\207" [color rgb red green blue #1=#:temp-buffer color-values 2 generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) re-search-forward "^\"[0-9]+ [0-9]+ \\(.*?\\) .*\",$" nil t "^\"\\(.*\\) .*c \\(#.*\\)\",$" match-string / + 3.0 65536 sin format "#%02x%02x%02x" 256 replace-match "\"\\1 c %s\"," create-image buffer-string xpm :margin (2 . 1) template crgb r g b brightness float-pi val rr gg bb] 7] easy medium difficult hard user-defined mapc #[(elt) "\205 \211\207" [bubbles--images-ok elt] 2] template bubbles--empty-image bubbles-game-theme bubbles--colors-2 bubbles--colors-3 bubbles--colors-4 bubbles--colors-5 bubbles-colors bubbles--images bubbles--images-ok] 6 (#$ . 40537)]) #@57 Update faces and/or images, depending on graphics mode. (defalias 'bubbles--update-faces-or-images #[nil "\300 \210\301 \207" [bubbles--set-faces bubbles--show-images] 1 (#$ . 42395)]) #@37 Update faces in the bubbles buffer. (defalias 'bubbles--set-faces #[nil "\306 \205 \205 \307=??\205\336\310 \205\336\212\311 \312=\203#\f\202O \313=\203- \202O \314=\2038\202O \315=\203C\202O \316=\203N\202O\317A\320W\205\335 \312=\203g\f\202\223 \313=\203q \202\223 \314=\203|\202\223 \315=\203\207\202\223 \316=\203\222\202\223\317@\320W\203\323\321\"\210\322`\323\" 8\322`\324\"\203\300\325\326\327\"\210\326\330``T\331$\210)T\211\202\233*T\211\202W,\207" [bubbles--images-ok bubbles-graphics-theme inhibit-read-only bubbles-game-theme bubbles--grid-small bubbles--grid-medium display-images-p ascii display-color-p t easy medium difficult hard user-defined nil 0 bubbles--goto get-text-property index active set-face-foreground bubbles--highlight-face "#ff0000" put-text-property face bubbles--grid-large bubbles--grid-huge bubbles-grid-size i --dotimes-limit-- j bubbles--faces] 6 (#$ . 42586)]) #@38 Update images in the bubbles buffer. (defalias 'bubbles--show-images #[nil "\306 \210\307 \203\346\203\346 \310=\204\346\212eb\210\311y\210\312 \313=\203%\f\202Q \314=\203/ \202Q \315=\203:\202Q \316=\203E\202Q \317=\203P\202Q\320A\321W\205\344 \313=\203i\f\202\225 \314=\203s \202\225 \315=\203~\202\225 \316=\203\211\202\225 \317=\203\224\202\225\320@\321W\203\327\311u\210\322`\323\"\206\256\324 !\321Y\203\302\"8!\325``T\326!\320B$\210*T\211\202\235*\311y\210T\211\202Y,\207\212\312eb\210m\204\322`\326\"\211#<\203#@<\203#\211$@@)\327=\203\325``T\326\320$\210\311u\210)\202\354\325ed\330\331$*\207" [bubbles--images-ok bubbles-graphics-theme inhibit-read-only bubbles-game-theme bubbles--grid-small bubbles--grid-medium bubbles--remove-overlays display-images-p ascii 1 t easy medium difficult hard user-defined nil 0 get-text-property index -1 put-text-property display image pointer arrow bubbles--grid-large bubbles--grid-huge bubbles-grid-size i --dotimes-limit-- j bubbles--empty-image img bubbles--images disp-prop x] 7 (#$ . 43572)]) (provide 'bubbles)