From e8789d5ad48496bae8da65a68ae32c0a6a442c47 Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Sat, 13 Oct 2018 21:20:17 +0000 Subject: [PATCH] mos3de: add to ISO arcanii: UI update, fix F1/F2 labels git-svn-id: svn://kolibrios.org@7458 a494cfbc-eb01-0410-851d-a64ba20cac60 --- data/Tupfile.lua | 3 +- programs/cmm/lib/gui/checkbox.h | 13 ++- programs/cmm/panels_cfg/panels_cfg.c | 16 ++- programs/cmm/panels_cfg/panels_cfg.png | Bin 758 -> 469 bytes programs/cmm/panels_cfg/panels_image.raw | Bin 14985 -> 14985 bytes programs/demos/mos3de/build.bat | 2 +- programs/games/arcanii/trunk/arcanii.asm | 95 +++++++++--------- programs/games/arcanii/trunk/arcanii.bmp | Bin 4678 -> 4678 bytes .../games/arcanii/trunk/arcanii_blackbg.bmp | Bin 0 -> 4678 bytes programs/games/arcanii/trunk/build.bat | 5 + 10 files changed, 72 insertions(+), 62 deletions(-) create mode 100644 programs/games/arcanii/trunk/arcanii_blackbg.bmp create mode 100644 programs/games/arcanii/trunk/build.bat diff --git a/data/Tupfile.lua b/data/Tupfile.lua index a45c62664..f9ca86ddf 100644 --- a/data/Tupfile.lua +++ b/data/Tupfile.lua @@ -144,7 +144,6 @@ extra_files = { {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot.rtf"}, {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_866.txt"}, {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_1251.txt"}, - {"kolibrios/3D/3dsheart", PROGS .. "/demos/3dsheart/trunk/3dsheart"}, {"kolibrios/3D/info3ds/INFO3DS.INI", PROGS .. "/develop/info3ds/info3ds.ini"}, {"kolibrios/3D/info3ds/OBJECTS.PNG", PROGS .. "/develop/info3ds/objects.png"}, {"kolibrios/3D/info3ds/TL_SYS_16.PNG", PROGS .. "/develop/info3ds/tl_sys_16.png"}, @@ -503,8 +502,10 @@ tup.append_table(extra_files, { {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/setmbr.exe"}, {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/MeOSload.com"}, {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/enable.exe"}, + {"kolibrios/3D/3dsheart", PROGS .. "/demos/3dsheart/trunk/3dsheart"}, {"kolibrios/3D/info3ds/INFO3DS", PROGS .. "/develop/info3ds/info3ds"}, {"kolibrios/3D/info3ds/INFO3DS_U", PROGS .. "/develop/info3ds/info3ds_u"}, + {"kolibrios/3D/mos3de", PROGS .. "/demos/mos3de/mos3de"}, {"kolibrios/3D/voxel_editor/VOXEL_EDITOR", PROGS .. "/media/voxel_editor/trunk/voxel_editor"}, {"kolibrios/3D/voxel_utilites/VOX_CREATOR" , PROGS .. "/media/voxel_editor/utilites/vox_creator"}, {"kolibrios/3D/voxel_utilites/VOX_MOVER" , PROGS .. "/media/voxel_editor/utilites/vox_mover"}, diff --git a/programs/cmm/lib/gui/checkbox.h b/programs/cmm/lib/gui/checkbox.h index 81b780e06..8989a97d7 100644 --- a/programs/cmm/lib/gui/checkbox.h +++ b/programs/cmm/lib/gui/checkbox.h @@ -67,21 +67,20 @@ struct checkbox DefineButton(x-1, y-1, strlen(text)*8 + SIZE + 17, SIZE+2, id+BT_HIDE+BT_NOFRAME, 0); WriteTextWithBg(x+SIZE+8, SIZE / 2 + y -7, 0xD0, system.color.work_text, text, system.color.work); DrawRectangle(x, y, SIZE, SIZE, system.color.work_graph); - if (checked == 0) + if (disabled) + { + DrawRectangle(x+1, y+1, SIZE-2, SIZE-2, 0xffffff); + DrawBar(x+2, y+2, SIZE-3, SIZE-3, 0xCCCccc); + } + else if (checked == 0) { DrawRectangle3D(x+1, y+1, SIZE-2, SIZE-2, 0xDDDddd, 0xffffff); DrawBar(x+2, y+2, SIZE-3, SIZE-3, 0xffffff); } else if (checked == 1) { - DrawWideRectangle(x+1, y+1, SIZE-1, SIZE-1, 2, 0xffffff); _PutImage(x+1, y+1, 13, 13, #checkbox_flag); } - else if (checked == 2) //not active - { - DrawWideRectangle(x+1, y+1, SIZE-1, SIZE-1, 2, 0xffffff); - DrawBar(x+3, y+3, SIZE-5, SIZE-5, 0x888888); - } DrawRectangle3D(x-1,y-1,SIZE+2,SIZE+2,system.color.work_dark,system.color.work_light); } diff --git a/programs/cmm/panels_cfg/panels_cfg.c b/programs/cmm/panels_cfg/panels_cfg.c index 22a167cd0..06f9bd2ac 100644 --- a/programs/cmm/panels_cfg/panels_cfg.c +++ b/programs/cmm/panels_cfg/panels_cfg.c @@ -61,7 +61,8 @@ _ini taskbar_vars_ini = { #taskbar_ini_path, "Variables" }; _ini docky_ini = { "/sys/settings/docky.ini", "@" }; unsigned char panels_img_data[] = FROM "panels_image.raw"; -raw_image panels_img = { 37, 27, #panels_img_data }; +#define PIMG_W 37 +#define PIMG_H 27 //27*5 proc_info Form; @@ -147,6 +148,11 @@ void main() } } +void DrawPanelsImage(dword y, n) +{ + _PutImage(22, y, PIMG_W, PIMG_H, n * PIMG_W * PIMG_H * 3 + #panels_img_data); +} + void DrawWindowContent() { #define PD 10 @@ -156,8 +162,8 @@ void DrawWindowContent() frame_y = 15; y.n = frame_y; - DefineButton(22, y.inc(18), panels_img.w-1, 27-1, 100 + BT_HIDE, 0); - _PutImage(22, y.n, 37, 27, tbAttachment * 37 * 27 * 3 + panels_img.data); + DefineButton(22, y.inc(18), PIMG_W-1, PIMG_H-1, 100 + BT_HIDE, 0); + DrawPanelsImage(y.n, tbAttachment); WriteText(68, y.inc(7), 0x90, system.color.work_text, CHANGE_POS); tbSoftenUp.draw(22, y.inc(35)); tbClock.draw(win_center_x, y.n); @@ -173,8 +179,8 @@ void DrawWindowContent() DrawFrame(PD, frame_y, Form.cwidth-PD-PD, y.inc(32)-frame_y, TASK_FRAME_T); //DOCKY frame_y = calc(y.inc(20)); - DefineButton(22, y.inc(18), panels_img.w-1, 27-1, 200 + BT_HIDE, 0); - _PutImage(22, y.n, 37, 27, dkLocation + 1 * 37 * 27 * 3 + panels_img.data); + DefineButton(22, y.inc(18), PIMG_W-1, PIMG_H-1, 200 + BT_HIDE, 0); + DrawPanelsImage(y.n, dkLocation); WriteText(68, y.inc(7), 0x90, system.color.work_text, CHANGE_POS); dkFsize.draw(22, y.inc(35)); dkAshow.draw(win_center_x, y.n); diff --git a/programs/cmm/panels_cfg/panels_cfg.png b/programs/cmm/panels_cfg/panels_cfg.png index d3f747ef5286582295c83ff8ab72301857ea208a..45bf07d3a76d5646ee8d4cc2fc1034260b57b6ee 100644 GIT binary patch delta 443 zcmV;s0Yv`x1=RzPB!2{FK}|sb0I`n?{9y$E0004VQb$4nuFf3k0000yP)t-sl)&Xw zO-)!_UF78Cp2p{ex8T^`-#}e-NLgn3`udEUoB|U4yT8DM{Djg31kOF4-m4`5v;cib z05zp!bj2Nw0003uNkl;SPf!41@tiU~cO4{oi%K5P#87sEJWGy&uNJFL)NY zmPm|o7mj zAK~uqM5FSQEq@%R(T}6H&SgMpo2u(N)wZpojH;$-G8AJBL4j*UOW-NysAvToB}NL; zjLIdzO|7Hu-f`RvfXoSmFG*Z#@H8c>DK=7+Ir{ri0_Dq4CXV){aK3Cr?n>c&nb^)# zrUh)Z7S7kyO7@~KzFh0&xdd>xCrf~{Qg^St-VBhNkOjJdbz~zOv;QajjNLp!8Qc_1*Xk=t$N>^DxU3FAUOjTN3 zNLy=2S!mJ(1kOF4-m4|q;NMGJWQ6>L04)DpOiZ4}=L7`&R9IU7|NmB6TvS_KPGDzL zSzAk6W%>E}HKk+N-QImj083nD*4y6XA2U2acYWKLdZOkio(+1uFM-QD5g-s0l;`1thn^!obx0JH!^TW-6* zz{AMMy1u_gTW$6A^-Nh~MO$pSy}n0VY(-pcNLy@-o1FIc_V@Sq=f}gJ0005aNkl$Up?{EADzUsZOKZ*7EV0Xyy1r@&2x6KSlp0rnK=517X7$P zME*pJeq2&Zf~B=4Sas62INu{!aVhy}mO~n^xL5SDyaa%V-z@=FvYCN`8wq;?Q?oTQG*dP+G8GIA+{nUv<}1_d9=daz0lseqUtrYs@9%0_*7AQ4(%Dm3Ive)_98Gd_~gh zP9_d*>A1{EES?1Aq06=rGJ&(rdOZ!eUQFUA$Q(f?tj>|8)y}_Y-!VXjt5^sIIZGb} znM)Zn?6)FwX7Rud$gYdJS7Nn_UGy{I2JI1Q0~`bwTM}aldmhO$m!p6n)5DlylgRY! z?>vdlwh_348B7dT)L=Ew+4&o{wN>A!mk!`R9cI$tmOXMh%%pMf7K7}H^UPXsC+JU4 zA2dp>liAv2`2f^73Gsj*?U{8a9nebJ2`(Ly1AXW1wFvFYd!I#U;_4>C0yjqR<-1b2?C*tIpj;w*JKnl;V==j+6aK2xD(f-&^zI|zoCIn!$Yc@Cj9r4$yTx&_`%mD~qN6c^%xrf*D66E{ z-E6qYv159$N#}RYRFR_?e&@hV9^K^F*~eKrv9E6HFT%}+n-)9fWGUlvCTWu(mJ%JI2aH(eJ-cZ zd9sZ>pD?kvHyX9kErJ6}1O_I+F|MVfW0+cGbe_Nd4I7D_cALm7>voJAOKUuoZqfV& D`r*`< literal 14985 zcmeHN&rcIU6z-w_iZ`zwO+4_UVuO)XrQNL|QUZjQn@4YW^XN^(&68IXqedVhF`PVj zP#S0jQsdP_p-7tG*FL(L>`Z5e*|($CoqU1q_RW0r-rHTi_t@o9ZmBrw2Fs-!u-07* zp`FYC7yJTO=5;0jKDJt|7tfyti2MkH(3pRD4Zz9ss~JLb?+e8+3A#+~F(A_^gNdCa z0dTE&xtc$*QW{gD>W$a@@tQZj>Wy6%m{s#8s@^0hs$Oojd~>Oo^GkQnwWH$SK6vva zK7M>$e^kCvnk|6sST#;gPWI|wAI?sJ>-*NTm>@c@*rV%oPJc<`?Ch-Btk2KpdFk5i zpBo?EZf?8_VQcgK&d&CHk(o~K-GXcMII2{qHJCSZjpnU~-p}`d~UPmU&wN z)adA-^&kzZ?|2&>XyfSXJKi>q<0h4|1(!@avz_)c85^4jCdJcb>s#h3-k+M8xkJe3 z3s&&uWy!mc(tuO|Q8(Ve4nvXyT7@DxlrEd?61v?hubKqxV*UCj0*fxNozQvXupP5@*0A>rBS0QCtf70v8lo0BBSIvMnU<#aY(J zphLv4IOHoda4^7_936yfk4`8DlA}W~UDEYlkCD8S^|p1s#EHlq?z;=RAaknHOq^wX zEYgY9q66NI#-(?I z+_l|!r|+JLcdPZWc$<$Zovc+7y%Dgu1V15ZL@F9dlrI3BWJfC6Y8P~VN=uH0YXlNsDRYM2yiQ$zk=C)T0*x<=!jIURXt r_*MXU2VN0y5Oi@~3BX*+ow#h^9g&JZVT_9t%|JU~E>;j1432*TTLaQz diff --git a/programs/demos/mos3de/build.bat b/programs/demos/mos3de/build.bat index c53825e72..d8eee2adc 100644 --- a/programs/demos/mos3de/build.bat +++ b/programs/demos/mos3de/build.bat @@ -1,2 +1,2 @@ -@fasm MOS3DE01.ASM MOS3DE01 +@fasm MOS3DE.ASM MOS3DE @pause \ No newline at end of file diff --git a/programs/games/arcanii/trunk/arcanii.asm b/programs/games/arcanii/trunk/arcanii.asm index 63c68398a..1da73734d 100644 --- a/programs/games/arcanii/trunk/arcanii.asm +++ b/programs/games/arcanii/trunk/arcanii.asm @@ -142,14 +142,8 @@ still: ; ********************************************* show_screen: ; flips the virtual screen to the window - push_abc - - mov eax,7 - mov ebx,screen - mov ecx,X_SIZE*65536+Y_SIZE - mov edx,4*65536+20 - mcall - + push_abc + mcall 7, screen, , 0 pop_abc ret @@ -395,6 +389,7 @@ grad_fill_screen: ; eax - screen color ( 0x00RRGGBB ), ebx - mack .no_ch: pop ecx loop .lab1 + pop_abc ret @@ -414,15 +409,12 @@ intro: ; INTRO ; jne @f ret @@: - label 146,200,'ARCANOID II v0.30',0x100000FF - label 120,220,'by jj (jacek jerzy malinowski)',0x050505 - if lang eq it - label 100,240,'Premi spazio per iniziare una nuova partita',0x10FF0800 - else - label 100,240,'press SPACE to start a new game',0x10FF0800 - end if - label 15,240,'F1 + delay',0xFFA8FF - label 15,260,'F2 + delay',0xFFA8FF + + mcall 4,<115,150>,0x82050505,VERSION + mcall ,<125,180>,0x80050505,AUTHOR + mcall ,<90,210>,0x81EE0800,PRESS_SPACE + mcall ,<50,235>,0x81FFA8FF,CHANGE_SPEED + delay 10 ret @@ -432,19 +424,9 @@ level_info: jne @f ret @@: - if lang eq it - label 170,230,'L I V E L LO',0x100000FF - else - label 170,230,'L E V E L',0x100000FF - end if - - - outcount [level],195,250,0x100000FF,2*65536 - if lang eq it - label 100,270,'Premi spazio per iniziare il livello',0x10FF0800 - else - label 100,270,'press SPACE to start the level',0x10FF0800 - end if + mcall 4,<179,210>,0x810000FF,LEVEL + mcall ,<100,250>,0x81DD0800,PRESS_SPACE + outcount [level],195,230,0x10000FF,2*65536 delay 10 ret @@ -455,13 +437,9 @@ game_over: ; GAME OVER ; .g_ok: call grad_fill_screen call show_screen ; flips the screen - label 120,150,'G A M E O V E R',0x10050505 - if lang eq it - label 140,200,'Grazie per aver giocato',0x0FFF800 - else - label 140,200,'Thanks for playing',0x0FFF800 - end if - delay 20 + mcall 4,<100,110>,0x90050505,GAMEOVER + mcall ,<140,160>,0x80FFF800,THANKS_FOR_PLAYING + delay 20 ret @@ -490,7 +468,13 @@ fast_gfx: mov ebx,0xFFFF .g_ok: call grad_fill_screen + + ;black_bg + ;mov eax,0 + ;mov ebx,0 + ;call fill_screen + mov eax,37 ; get mouse position mov ebx,1 mcall @@ -818,15 +802,16 @@ ret draw_window: mcall 12,1 - mcall 0,<100,X_SIZE+8>,<100,Y_SIZE+21>,0x14ffffff, , VERSION - - if lang eq it - label 200,8,'VITE:',0x10ffffff - else - label 200,8,'LIVES:',0x10ffffff - end if - - outcount dword [lives],250,8,0x10ffffff,65536 + mcall 48,4 + lea ecx, [100*65536+Y_SIZE+4+eax]; [y start] *65536 + [y size] + [skin_height] + mcall 0,<100,X_SIZE+9>,,0x74ffffff,,0 + + mov eax, [lives] + add eax, '0' + mov esi, HEADER + add esi, 28 + mov [esi], eax + mcall 71,1,HEADER cmp [is_rolled_up], 1 je @f @@ -841,11 +826,25 @@ draw_window: ; DATA AREA ;#################### ;-----------;#################### -VERSION db 'ARCANOID II', 0 +GAMEOVER db 'G A M E O V E R', 0 +HEADER db 'ARCANOID II LIVES: ? ', 0 +VERSION db 'ARCANOID II',0 +AUTHOR db 'by jj (jacek jerzy malinowski)',0 +CHANGE_SPEED db 'F2 dec speed F3 inc speed',0 + +if lang eq it +THANKS_FOR_PLAYING db 'Grazie per aver giocato', 0 +PRESS_SPACE db 'Premi spazio per iniziare',0 +LEVEL db 'LIVELLO',0 +else +THANKS_FOR_PLAYING db 'Thanks for playing', 0 +PRESS_SPACE db 'press SPACE to start',0 +LEVEL db 'LEVEL',0 +end if is_rolled_up dd 0 - lives dd 5 + lives dd 0 mode dd 0 l_end dd 0 ; if 1 the level is over ; PAD x: diff --git a/programs/games/arcanii/trunk/arcanii.bmp b/programs/games/arcanii/trunk/arcanii.bmp index 6e1d076692da64eb925bd2e1473b1471551650bd..981d0fef5002a80c8080fa60c57045b7b0ac2921 100644 GIT binary patch literal 4678 zcmb`Kdr(tZp2vUq=9OIDiON%;0TEgRqSAJ35^i3QC@4uZF_Q2UP!h(wId1J=TXW#% zoO{mae1ET#bbpa?ED9tORz1PskQFlcztbFmJLt;eCS^EjCL z_$VsI>pa@LjD|a5N1_q$oe-brftE@E=ucjT)N_rHeO3wyqz?97XoXZ=3uLsYAW!)T zlr_sC|Ll1vRGozclNfe(U4opUbC71zK=q&ovLt#)R2m>&ZiFmy01liU1l9!`r0WLY z=(%2~xHJUpt38m@-w8Q=9yrzRh9gD~@J${NG&BGy6oNt_2U07B=JPF}Y*oUgOBX<+ z(?W-)9{Mf_p;s@40fPXH`X+F+%V4Ni41+xiu=U7b*g|4|4osI-;2t~&HuD8I-P#Y5 z=6=wexdsMtFBlt*a8_@D_RbFIz1jyZlOEh%Ru~#G!JuUbY)(6T?l}%Ou3dyDMjhPf zZ--Hf0Y+U0xYOr=5swuTqU^gp>b(qHSeVki@y$KP3+%q2k7ED4n|t$M4()_7gwkuib_En?Y#2Hw&tnY3L4&gU#=U?(yeP z68s(tr+*8FBL4-0Ghc#Z<@_Weq<##aRy9vRGahSS04YTue@Q8j4vGq0B z*w}!r7oWk)pTC5_+Bb0L#os~XPyPn}_%Hq$zW(}a`1;kK!mC%W;1_@OEBNI<{2P4x z?YHoc|MYA4&2Rn%zWeSw`0pQo2fzE_2e4e#44AHUncDgXHC=7}9fO)SlcDWuPmgBE zWWL(__O3$TKLB~#Spe7-zaK}~u>TP|8!HB7l2U8=_9VdT{;Qo#e;lv9Z{~Nrw~qTn z(cR3{L)`zdxYT<2UmJ&*`^v1{kC~p?{|MK9poK$!Ur=gg=9oQy-toElE%QAuy8G47 zAMS3)HS*0m!!f?SZQbnH_V6I~3nnR!zuKA7OMG+r>BHUk{*#0O?BnRLa?hSRzDBF6 zGlnU7U0t1quTm*rN~KXM`II&q{d9eOlM3_e`TROLz5dx| zBucH)v{D72S>4=>MrlezskGE;bUn8DIUS}{^;B$gbA3HV(KHp=j3O6ZrIg0->Uxx- zV~A@au}xY<(Vs?X+#Oq|!_mzs1+Yrv77c}yH143oVTy{aQsLFr2#&+(3bh&wYmtj; zjdWN`(UCANhiO`?q0w-Z(o#n1A^J?yMlFqYHDOAlrL;6fDZ^o-kwV)>+Nhz8DlKiK zv|8Lup--Cb?3@uR~XjMmb+e z(aL6RL|Jd7>Xphmei-f6?W#j(B7A;0EZ?=Oj!)r4I2wu8$x*9*Ph4F+A3*?Z{hmF0 zcJ0`sq@rQvj<`4+s*D;+%iptW&#pMA*Jvo^F8qK;H<46oXl!v~9sW3)^A}WjweaCoJMx_c%gbBj5tr7FL~#(#9~o zj>X2Z#3C9x8pU{H2%wZ|mF7oRu}Dl+ji?+|$~AO2g0;px;JJ#$A}T&+vtDD2Mwo`h zR^gqhUWr5WXf=w%w@3dE*UNQnVp1$rH#N2Cht$kJk)mjmCnvL5$tlVE65{vmOGv=) zSGjy>NT(wRgI=mu%M^OGT9m{h+fuM4Ah+EZu1QP{Q93m#l{Sb(GND?n7qb%CdYvvM zIpIKja>73ROHKfgsu{&0#;m@nO+rZ3dL5C3FDWU>Vg^gbwry7~R}ZO$@+LhtgF!0L ziwQ!lZc0vw*QKCY7LgR6jCO?rp;RFi2}BJFgI;GiBapL%QnggiN=(+vD-C*<PB7W#Jh~y%Xh-e@Lq^_w+Ct?ZF z1V$sq)QE(8_aPXc0w7Z8rBYJVAeE^_Y6YfINb1DI5EF1>ViK8%f(IC`L8eg1L=B`& zN-7j;bW9{836_jhH0e!5Qc_}KVtjl8`bQ8Lg+w9}2uKCOI#NiA#iWEtA`OI$OiD~5 zScwVS{z()jg;YwA4N|s5Dit&s6l9Z_BuRoGSOiLv(oP$jp!$1QHqYTnQ&Mn>d6!s8Uj)hSJP5avhfT$mqrjW^pZ$bASx!X zZtMmG)6yiU!bT3kv^10^1yTv)F}f=gBKHStZyq#<&eZciK9rx6Q&?D3oLyUWr0OWI zy8OdjUe#1}^SJ{D51wyn9k~h6efaPh^~c#ei;4;h3yX`79I2`*I8t6&RmD4Tw&mb~ zgBMyyX71zjOmAOb_XnN%+1WWog*k=A1qD@kyej05&TPxIw9eeQ|6mrNtGm0mx2vWE z!JNWFg+&Eo%^#Cet(pf_4IW0^pxf2GhlI1c3xRoZEhtG z&7M1duJ!)?2XuS80broBtgNi7tEa3M74c~~JHNCO_0YZM^XFTR-+A!xLOYFiuMTvV zmGyKZn4i6~IH#yMzq7liys~DSYo2*9`;)fWfx~eyI5=?SgDNy#lZU|^DlW(`>+LN6 z@C1)njb>+N9<;YVm^leBc*!(ytrnfELBrX_ImOwf-Q87~m#ONOb4*T-rlcl6Kc}cD2kl;|&87?%usSjfxc&CvH#O=AGc3 z!0*A?O9MUmc?AXK<>f`?1&0vp??>+5z1v4~D=Uvy@pw~AUS=PfuH_#pC@8>C3-YmO zSKeUvrtk17aw~6OtEd2Y&^XYOU4Tb4J3qgyw6nVp<@)>YF>QK!`Zf=ZSC$|9f4n=G z_rcri-S)WcIlSj^%`Of%-O9<@KN)b3dcC88$??$S2!(>f0A`27?XcTy_F=Ej?e=;cUc28P3Ir!6 z7eZsf(a=O75FBOnoKCxA*lo8vJYM8%R=dp~42%Xtq0p$uGwccmd_f;_F0S8ZcY57U zH_D>4!|C(+{Qf{F;PZI6X0r=j_IvTCo;B#SxZG~Hjcc}hJRbL`+v2p@LLm>T54)Tm zFFJ<5PrN?A*X8tj>}Ian=Jt3!X0w%Jv105fZn2|BHk-{2af~l$$!oD$Y-rcV&B)Bk zv@&uoi#aQc>vq`8W(&ah_}F-0bkys#B8NMjnHgD`8PmqAZQ=9o6Qh6IX*uT z9QAoDW*f)sG@IS#j4W=3bv}f1Zj|O=LM�$%Tc-MSxrgt!H)%lO!s&*`$*xOT3^8t}V(jL#l7>Sbo8XSg^nH^BV-!sPgPC^#1I zb2-Cyt0Oq-9Ub)t0+=edJu`DhI)}U81+cKVxHujf4~51!99O2-i6MJ2wZ5Qtc-X<^ zrl+HAS0-|g9xX16PoSbXGmC4rAcjZAH|ia>xG_}-?zeJKZxXphJVFyrZdMj%$~)|_ zJI6vnuO-v$u=p+M8U8FT)@>rR@c7Z=$BQ9PR=Oq2?e+2wiqORsl1ngmWFmuu^#b-k$4sNB#dCy?nWK>eTL!wqE}4 z_Waq#^3uk})2Gj0udJQA*wJzEqqX5n6|RPkk4Lzvi8$0Y-<-kdMEgNZfOZ^-nu!rGB)8T+d8hXr7tq|TrMac$ zTgw|5(9-iQ2K?CHQ;YX_b`d%A?8Pf?0#{{urH2^|0c literal 4678 zcmb`Kc~n!^_Q!XTS}Ukgf=L95ni?V$Yzf7IC<21aLcB(ZM6G}rA(uoTGKK`j)PhKO z5(VSbVl~A^YnwXsYP3=@uj(uITD6sDC_#7>k+!I`b$C0rZ?(VQKfkqp>+QuQ=brO9 z-#wk1Au=gu5ecV!lVhIFvZ&oSS%jmtC3#|p`0Ly@E-?!KPO)XOJ_fiV&>D8+N&)wEO?lUM|9DROXMl?s^| zv%zh7CdgKVfp2sbh?Xsd7-=kURxN|I7I@q=VwJ5~!?Ahx$qq!Z&Y*>04?bNZSDO ztG2%4WKPO2wtWF;H|q4a~ch>>b-oZsoMrK_ZT2{*G}Lne}c4K zJ0PWTALy$-1dmV3VB*m&kX2)WQI;*>ZLWvE8FqlY?j-O{dts*fA?)6}2l97*4*Z%C z*w}O)X6PS4UF$(;Idl+S-Sr4c-@6Q@`@e=(^AUKp7`l$*-XM=sTd! zQo#Ov1R76%4~Nfv3vHL$!QzL7D|lMN;~Dy8AEhp0Ge_*D1%w26H^w4R;x;^ zqi9`*#jaCYDWy&qBDSI55RVWH#x54yY$^|r5HW=lHiz92qCzd@G?x&i7(oDwa@w?M z9xqSRQ4X8#WfvD58mwl@BA(_k&BFzhW;3Pp!1q=R6G@$!w%BO9S&V8{XMeClNQPj5 zR+=_q-^>_0Wy5Sx#DJM$?3k~?sxx4Vut1o<)tQIIY#SWLYT`znnX=pa9k>q@$2f+u zM>aDy!RG86g-bYvw-nXiKREoO!;bPg$MBDX!@p14hkpaG+p)~p-$6>})WWV)4%%v? zhq2k%mO;Cjb~rHKK?G3B&`*mU{n#XDSFNb*(5cL{&5pgsI^ek)9JCw6SWTtb>aaTv zn{B{5gHne>jHus%Lwx`KFPo~Nv5+j37^|xrTTU3Ae?*eLQ56^%9v+w!IN950;>0Oa zCIYBbCr&gp5XA8ot&3C%kxXyU|)lMzI&x{&%i)nFvGTDd}@kr<6F zg;4>bmWGC;peZwaf~HLNp6DGk1wd;=#lN3$x^1a$R1;cbO9K&%|B{k|3Y}PBU{KIx zr(c!Ic)}=ARkxrWKdw!0DI^G^u{zM(ry*(bAylfy>IUS-NUqgtG$h%OBq20W;Zeci8svh5qX5)0nTRObUL+HV zM46%@^>)2lPO39ANwti~REtExqTulGVAM+wCXrKP9!`=dQsYpKfSe#iq$W5$DqRwe z-^%pbbmtn1AXT*O)6C3cT8%bSMricgMIyC2Jw1vH*I+-?xLc;)u9iDFv~AlkPNzpL z1}bu<6HcO@Mo*G51hg_-Ey_g6Z96fzB7)FhltiXpBqQ-V0LVmgnM_txq(&7HatIa` zp|mVrt9Isw;c6tv{nyOpccl|MmEz^IQ^Ud{Bjb`IHsvqP%iUVMU}0!o-s$3;6*K40 zU%h_w`6~d2w!E{`xP0!^n3%}O$mHauOY`y)mM)0T%dcx%w|@T2`MWot|LmJv0O!8= z;>g{HB%bS0i@o+O4Y;etwjeH#hHXZZ1nrb%Mz;5sBqx6`}EU=yt{G6*b>{ zbCW*$!7+fZ>&wf__P*C#RxvjsEIBzYBDJ(0^)S4g4Xf9`eeLF#yN}YB0Y1HSsI0vC z5Q1qDQEt%#oVj`R^Tx}Uw!8p`KfctqHotlAfy%_xxe?LHv1#S! z>K89;s;ev5uwwJcGdGVOy?JIoz~O!GU%F6H*4$iGF?Vi6a#(Ui>5(J(@%j0ui`TE% zeE#IE4?etk`V_#veFs1O`apSeRaRAMYFJ!MSX%v&woReMxu>_TTc1($+0COL+OD2Q zy~Bt1eR{6Es;V+8Yi>kLOiWsRTidzBCAqn$3)baqK6&agwfn=*k^AV=!|%40Wg&-^ zLA@>Y7caIoV@I}rR=jdu&Hj_;uYQ7c{`kvF?|yWlDyst1h>nSijVQg)cJZq(nnF|Z zcAVb2v8HDK{xhGQLGJRgJ(mt;Wo0EMMuf%0L`2tLxOnIGo$HmMOP1uGZrWN*?KU22YqjY*D(NJ}d(tv_<{tMAb6e2;eh`t?&=Q&Ljm7p(k$JRSe} z!S%=U@P~p6{BiHeUF^?boYn5Ki%&>+i|!1M*CTlKLFFqi|fT~S-zM%inBNv5u45Cf{Qa2^dw}l zS#0zxWsG)nck^}130O>bcLvvs&1A9wIyzcAYD-FlJYVE+C(muPyW42rA6lhSzLzJ0 z9Dfdz2`=3ocW;*cgASnyX_@w_*|6s#DcJx0Ns6k-K{3Bzndqv zgyYE&2$)QEc5N%B#P=NSHrmzK4`T$EKI}_JYpaweV6hn-2FtfLTOf7D%;%z>o15!s zfv12AaQE&H-5nigO|7-r3{QWKua~JrSW=Q*TZ^UQa@^d;xOy`D1OR>a@89oe?`Ust z_4E|D33-^Z5KAjH3H|-O7z|fe^ew<2@qG^--0$nS(a~;Vy16raS%~40k(LPkSzIg? zf_}c9sMr1A!B6+^_jTXkG2Gp;QbK<|hu7L}60+QwUaV}E>*#EE2KMbn`wzc9_~qC8 z?Rex#uK$lG<=L~R|JsuC?UQH!+nzig8tD0X=+UD;mWC(HE?qf&`pEy_ zo<8gu_<3NUb70`!y?b3lxb}3$i<6>bUYj-VuZoYaT=`pP&myPY8*-A5pZzOxoXhO6 zh4be8<4?gSojpARJwuDGboO*Ey7%zm&_M5#%L%WHdTHu{dDEx=$qn_~>m3?;h+J>y zqMm_)fu4I0-`@E8Sa|8xd9!Byh3o9g??7?O$2&%2=1Nugv=PPwq)q zR~Ncl)Z5iNuxQ|COsMC{({=0Sje!@&zVY-=?%CtsuCAe>=X#x(_|F56pFR7nCg;tu s;4=Id42O@px-i7v-XY9r;L-E7r;g2UQh!zZeaDl>k9tw`5lT7j-_h}s%K!iX diff --git a/programs/games/arcanii/trunk/arcanii_blackbg.bmp b/programs/games/arcanii/trunk/arcanii_blackbg.bmp new file mode 100644 index 0000000000000000000000000000000000000000..d54ab331f6576f7bb1aeeed81541148a1d79aa0c GIT binary patch literal 4678 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 CI~v6R literal 0 HcmV?d00001 diff --git a/programs/games/arcanii/trunk/build.bat b/programs/games/arcanii/trunk/build.bat new file mode 100644 index 000000000..84dcbee43 --- /dev/null +++ b/programs/games/arcanii/trunk/build.bat @@ -0,0 +1,5 @@ +@erase lang.inc +@echo lang fix en >lang.inc +@fasm arcanii.asm arcanii +@erase lang.inc +@pause \ No newline at end of file