a.out100755 0 0 123362 7010437712 10161 0ustar rootrootELF044 (444AbAbDbDD m /lib/ld-linux.so.2GNU%@+ 8/$4 1"*?)(:>.;'9=&<#705,!% 26- 3 %\;X A G(}Veq}HRX*h#H#8- x+،6F(Rȍ=bmy4x""8"t", ")%53":I~[e)|hX"Ȍ:#"Ȏ$؎"y؍ p&6@GNZ,__gmon_start__libvga.so.1_DYNAMIC_GLOBAL_OFFSET_TABLE__init_finivga_getpalettevga_setpalettevga_getxdimvga_getydimvga_setcolorvga_drawpixelvga_getpixelvga_setmousesupportmouse_initmouse_setxrangemouse_setyrangemouse_setwrapmouse_setscalemouse_setpositionmouse_updatemouse_getxmouse_getymouse_getbuttonmouse_closevga_waitretracevga_getkeyvga_setmodevga_drawlinelibstdc++-libc6.1-1.so.2__deregister_frame_info__builtin_vec_new__builtin_vec_delete__register_frame_infolibm.so.6cloglibc.so.6strcpy__register_frame_IO_2_1_stdout_feof_IO_2_1_stdin___frame_state_for__finitef__register_frame_table__finitefseekstrncpyfreadstrcmp__deregister_framefgetcsprintffclosefwritefopen_IO_stdin_used__libc_start_mainstrlen_IO_list_all__register_frame_info_table_IO_2_1_stderr___finitel_etext_edata__bss_start_endGLIBC_2.1GLIBC_2.0 ii _ii _ii i h0l%p t.x| -+  762,4 13 "US[ot3T]5`%d%hh%lh%ph%th%xh %|h(%h0%h8p%h@`%hHP%hP@%hX0%h` %hh%hp%hx%h%h%h%h%h%h%h%hp%h`%hP%h@%h0%h %h%h%h%h%h%h%h%h %h(%h0%h8p%h@`1^PTRhhXQVh(U=Lu8PHСH8uxt hpLÉUÍvUthhpÍvUÐU8WVSEPh!h h@=@u1=h#EP@PjEPsPEPEPXEȍE]EPEPKt@Pw1t&@PjjEP@PjjEPEU։)эEvE;rPE} ~B@PjjEP5UЍE M E붡@PjjEP@PjjEP@PjjEP@PjjEPE`Muu})uu܋})uu؋})@PjjEPF@PjjEP0@PjjEP@PjjEPEdMuuԋ})uuЋ})uű})E} ~$t&@PjjEPEِt&UЍhUЍlM UЍ DPEt& t&e[^_U@PÉUEE;rUЍ PEPukUЍ |PuIUЍ DPUЍl&EMÍvUWVSE}UЍhM M<Mʍ ` A9jEd]ٍh P@P{ @PEPE PEP1EEh]ٍhu u< <jEd]ٍh P@P @PEPE`]ٍh )PEP@EEh]ٍ` Ue[^_ÍvU}tKUЍ DPUЍh1 t&ÍvUS}Eh]ٍ`; jEd]ٍh P@P @PjjEPUЍh]ÐUE}t!UЍhUUÍvUVSE}}UЍ`M ; ~BEh]ٍ` %t&UЍhM }uEPjjEP*Ek&EPO+}}uV  M)1  jEPEPM EPjEP PEPe[^_ÐUS]S]ÍvUS]E PS]ÍvUS]EEE; rEE; rYv UЊUEE; t2EPE Љ+UBPE UP E EEp]ÍvUS] t Pl]ÉUEPEjjEP EPEjEPEP U&ÉU`QaQh EP2EE}~0EPjjE`IREˍEPbQcQdQeQfQgQ hQ@iQÉUVSEUMEUME&aQ9E|E`Q9E| &EE`IMEbQu"1]EbQM: u)EPE UPEUP'EPE UPEUPEUE5t&e[^ÐUEUEUEEP9Er:EPEPEURE P`QUEPEÉUS]EEt&E;$|SvPPUP UPER$E뤍t&]ÍvUSEEU UU M9U|'M]]]]]EEʋ]ÐUUEt&ME< u}MÍvUSEU UEt&UJ9Ut&UBMMދUM ]USEU U}~t&UMAEދ]ÐUS]S4EE@EP9Er(EM:u EPSjE‰M}t&릋]ÐU(VS]EE E;EEU9EuEE;EMPP P UP RE;E~MPP P UP RE}t &PP P UP R.}{0~r0HPS ~ 4  044  0$P4PS S} uS t&} uS| &}iE}uSHv}[9E}Duz uM4~D44  0$P4PS S@+& ~ 4  0}C$4)SP9~3SP9 } 4  0^$H9 } 4  02SVP90}44  0$P4PS S6}Au>ǃ4ǃ ǃ0$P4PS S}BS;$}5ǃ4SH 4  0>So+$J4$I 4  0$P4PS SB}1uHEǃ4ǃ ǃ0$P4PS S}4ES;$}6ǃ4SH 4  0?Sf+$J4$I 4  0$P4PS S9}3u:E܋0PSu$P4PS S}}EEP,9ErU;EuEE΃}uzSn;(}g0PEPS $H9 } 4 4 0$P4PS S%} u Ce[^U S]$(SD,ǃ ǃ44  0Ev}~t&8U EE&E;,|&v8UMMM MM Eh8PSC S;$}5ǃ4SH 4  0>S+$J4$I 4  0$P4PS SEP9U|2PL HPUPEE}~AP  UPR0EEP9U|bP PUPP PUЍPREE&} ~xP4 UЍPRHPeP UЍPRBP$E넍t&EP9U|2P  PUPEE&} ~HPT UЍPRBPrE벉]ÍvUS]E PSEPPEEEE E$E(E,E0]US]EPEPE P]U WVS]S9vSz  ǃ  E&E;|ZvPPUPS<P ЍPRE@RS EEE; |ZvPUPPSPE@RЍPRSEE@9E|2P PUPSTEE @9E|0PUPPSEEt&H9E|IE H9E|-PUPUPSEESP P BPSV)Ppe[^_ÐU WVS]S"9vSz  ǃ  E&@9E|YP@PUPSP ЍPRUPS]EE @9E|YPUP@PSPUPЍPRSEE@9E|UPPUPSP PUPSEE @9E|UPUPPS<PUPPSEE9E|PE 9E|-PUPUPSEE맍&SP P BPSM)ЍPRde[^_ÐUS]E EEE EE E$E(E, E0PS&]ÉUS]DIEHIE=TIE;9EE; 9ES =TItS5aDIEHIEE;~>9E}+E;~  9E} 11]ÍvUS]S]ÍvUhWVh6j qP h>hFhfhNhrhWhzh_h hhgh@VhǍ P@PT@P\@Pd@PЍERj0jj hohqh],Thhza/!=UIujhfhrhh h@F1 1^_ÉUh\@Pd@PЍERjUh]h] uh] 6 \@P^E}#~N^n~΍ލ.>N^n~Ύގ X (ĆĂ _ \Hooo8(dTdT$<3b|%q 3Xr .Xl !bv! M1h(;!g$B?!  %!="S#j%&12345 60 8I 9c ; = > ? @ A B C0 DI E` Fy G H I N Q R9 SQ Tj V Y o r u {6 |S o  8 R F   +"jG3;BE0nRY ])fkPshx! #$%& "dTinit.c/usr/src/bs/BUILD/glibc/csu/gcc2_compiled.int:t(0,1)=r(0,1);0020000000000;0017777777777;char:t(0,2)=r(0,2);0;127;long int:t(0,3)=r(0,1);0020000000000;0017777777777;unsigned int:t(0,4)=r(0,1);0000000000000;0037777777777;long unsigned int:t(0,5)=r(0,1);0000000000000;0037777777777;long long int:t(0,6)=r(0,1);01000000000000000000000;0777777777777777777777;long long unsigned int:t(0,7)=r(0,1);0000000000000;01777777777777777777777;short int:t(0,8)=r(0,8);-32768;32767;short unsigned int:t(0,9)=r(0,9);0;65535;signed char:t(0,10)=r(0,10);-128;127;unsigned char:t(0,11)=r(0,11);0;255;float:t(0,12)=r(0,1);4;0;double:t(0,13)=r(0,1);8;0;long double:t(0,14)=r(0,1);12;0;complex int:t(0,15)=s8real:(0,1),0,32;imag:(0,1),32,32;;complex float:t(0,16)=r(0,16);4;0;complex double:t(0,17)=r(0,17);8;0;complex long double:t(0,18)=r(0,18);12;0;void:t(0,19)=(0,19)../include/libc-symbols.h/usr/src/bs/BUILD/glibc/build-i386-linux/config.h../include/libintl.h../intl/libintl.h../include/features.h../include/sys/cdefs.h../misc/sys/cdefs.h/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include/stddef.h../include/locale.h../locale/locale.hlconv:T(10,1)=s48decimal_point:(10,2)=*(0,2),0,32;thousands_sep:(10,2),32,32;\grouping:(10,2),64,32;int_curr_symbol:(10,2),96,32;\currency_symbol:(10,2),128,32;mon_decimal_point:(10,2),160,32;\mon_thousands_sep:(10,2),192,32;mon_grouping:(10,2),224,32;\positive_sign:(10,2),256,32;negative_sign:(10,2),288,32;\int_frac_digits:(0,2),320,8;frac_digits:(0,2),328,8;\p_cs_precedes:(0,2),336,8;p_sep_by_space:(0,2),344,8;\n_cs_precedes:(0,2),352,8;n_sep_by_space:(0,2),360,8;\p_sign_posn:(0,2),368,8;n_sign_posn:(0,2),376,8;;../include/xlocale.h../locale/xlocale.h__locale_struct:T(13,1)=s36__locales:(13,2)=ar(0,1);0;5;(13,3)=*(13,4)=xslocale_data:,0,192;\__ctype_b:(13,5)=*(0,9),192,32;__ctype_tolower:(13,6)=*(0,1),224,32;\__ctype_toupper:(13,6),256,32;;__locale_t:t(13,7)=(13,8)=*(13,1)../sysdeps/unix/sysv/linux/_G_config.h../sysdeps/unix/sysv/linux/bits/types.hsize_t:t(16,1)=(0,4)__u_char:t(15,1)=(0,11)__u_short:t(15,2)=(0,9)__u_int:t(15,3)=(0,4)__u_long:t(15,4)=(0,5)__u_quad_t:t(15,5)=(0,7)__quad_t:t(15,6)=(0,6)__int8_t:t(15,7)=(0,10)__uint8_t:t(15,8)=(0,11)__int16_t:t(15,9)=(0,8)__uint16_t:t(15,10)=(0,9)__int32_t:t(15,11)=(0,1)__uint32_t:t(15,12)=(0,4)__int64_t:t(15,13)=(0,6)__uint64_t:t(15,14)=(0,7)__qaddr_t:t(15,15)=(15,16)=*(15,6)__dev_t:t(15,17)=(15,5)__uid_t:t(15,18)=(15,3)__gid_t:t(15,19)=(15,3)__ino_t:t(15,20)=(15,4)__mode_t:t(15,21)=(15,3)__nlink_t:t(15,22)=(15,3)__off_t:t(15,23)=(0,3)__loff_t:t(15,24)=(15,6)__pid_t:t(15,25)=(0,1)__ssize_t:t(15,26)=(0,1)__rlim_t:t(15,27)=(0,3)__rlim64_t:t(15,28)=(15,6)__id_t:t(15,29)=(15,3)__fsid_t:t(15,30)=(15,31)=s8__val:(15,32)=ar(0,1);0;1;(0,1),0,64;;__daddr_t:t(15,33)=(0,1)__caddr_t:t(15,34)=(10,2)__time_t:t(15,35)=(0,3)__swblk_t:t(15,36)=(0,3)__clock_t:t(15,37)=(0,3)__fd_mask:t(15,38)=(0,5)__fd_set:t(15,39)=(15,40)=s128fds_bits:(15,41)=ar(0,1);0;31;(15,38),0,1024;;__key_t:t(15,42)=(0,1)__ipc_pid_t:t(15,43)=(0,9)__blkcnt_t:t(15,44)=(15,4)__blkcnt64_t:t(15,45)=(15,5)__fsblkcnt_t:t(15,46)=(0,3)__fsblkcnt64_t:t(15,47)=(15,6)__fsfilcnt_t:t(15,48)=(15,4)__fsfilcnt64_t:t(15,49)=(15,5)__ino64_t:t(15,50)=(15,4)__off64_t:t(15,51)=(15,24)__t_scalar_t:t(15,52)=(0,1)__t_uscalar_t:t(15,53)=(0,4)__intptr_t:t(15,54)=(0,1)../linuxthreads/sysdeps/pthread/bits/pthreadtypes.h../sysdeps/unix/sysv/linux/bits/sched.h__sched_param:T(18,1)=s4sched_priority:(0,1),0,32;;_pthread_fastlock:T(17,1)=s8__status:(0,3),0,32;__spinlock:(0,1),32,32;;_pthread_descr:t(17,2)=(17,3)=*(17,4)=xs_pthread_descr_struct:pthread_attr_t:t(17,5)=(17,6)=s36__detachstate:(0,1),0,32;\__schedpolicy:(0,1),32,32;__schedparam:(18,1),64,32;\__inheritsched:(0,1),96,32;__scope:(0,1),128,32;\__guardsize:(16,1),160,32;__stackaddr_set:(0,1),192,32;\__stackaddr:(17,7)=*(0,19),224,32;__stacksize:(16,1),256,32;;pthread_cond_t:t(17,8)=(17,9)=s12__c_lock:(17,1),0,64;\__c_waiting:(17,2),64,32;;pthread_condattr_t:t(17,10)=(17,11)=s4__dummy:(0,1),0,32;;pthread_key_t:t(17,12)=(0,4)pthread_mutex_t:t(17,13)=(17,14)=s24__m_reserved:(0,1),0,32;\__m_count:(0,1),32,32;__m_owner:(17,2),64,32;\__m_kind:(0,1),96,32;__m_lock:(17,1),128,64;;pthread_mutexattr_t:t(17,15)=(17,16)=s4__mutexkind:(0,1),0,32;;pthread_once_t:t(17,17)=(0,1)pthread_rwlock_t:t(17,18)=(17,19)=s32__rw_lock:(17,1),0,64;\__rw_readers:(0,1),64,32;__rw_writer:(17,2),96,32;\__rw_read_waiting:(17,2),128,32;__rw_write_waiting:(17,2),160,32;\__rw_kind:(0,1),192,32;__rw_pshared:(0,1),224,32;;pthread_rwlockattr_t:t(17,20)=(17,21)=s8__lockkind:(0,1),0,32;\__pshared:(0,1),32,32;;pthread_t:t(17,22)=(0,5)wchar_t:t(19,1)=(0,3)wint_t:t(19,2)=(0,4)_G_int16_t:t(14,1)=(0,8)_G_int32_t:t(14,2)=(0,1)_G_uint16_t:t(14,3)=(0,9)_G_uint32_t:t(14,4)=(0,4)_IO_stdin_used:G(0,1)GCC: (GNU) egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)GCC: (GNU) egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)GCC: (GNU) egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)GCC: (GNU) egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)GCC: (GNU) egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)GCC: (GNU) egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)01.0101.0101.0101.0101.0101.01.symtab.strtab.shstrtab.interp.note.ABI-tag.hash.dynsym.dynstr.gnu.version.gnu.version_r.rel.got.rel.plt.init.plt.text.fini.rodata.data.eh_frame.ctors.dtors.got.dynamic.bss.stab.stabstr.comment.note# 1((7 Ă?ĆsGo88 To Pc  l  H uXX /{ 00Q`aA DDb,ppb LLlTTl\\lmmL mD $u(Lnnx2 : p (ĂĆ8 X  0  DpLT\n T " ` -H1T?LK` apt  Џ PL"   P pXH    p@"*]8/ <̖ G\S  bUIr3"= j l]  \  @H`  `Q Ȍ:" /6WIA= LbQQ. a@ e, r،}DI 4Խ l  $ D= (*8-<7 N ^( s  HR8 f & X lذS X a$T   ̬ h @IX")8t Ix) Uh#eh wx"Q 0 n `dN j X+VI8 J<O V~ lh: }ؙ h ȍ=@d$TITO ( dL ؍حZ % 4DMD X,5 jLIq "PI P AHI`I(}AIL @4 '8"<e$B PW\m,rx  j H#EX*h  aQxy %F3$;dEQ`mDzȞ D  c$ Ȏ$r ؎"(DP    t"2 A  Q F a p "initfini.cgcc2_compiled.init.ccrtstuff.cp.2__DTOR_LIST__completed.3__do_global_dtors_aux__EH_FRAME_BEGIN__fini_dummyobject.8frame_dummyinit_dummyforce_to_data__CTOR_LIST____do_global_ctors_aux__CTOR_END____DTOR_END____FRAME_END__sedit.cc__FRAME_BEGIN__rocicafgetc@@GLIBC_2.0eboxffseek__Filiffgetc__FiCOL_SURFACEsavelevel__FPcMIS_RIGHTBUTTONfeof@@GLIBC_2.0drawlevel__Fvclr__3palffclose__Fipodmis_load__FPcfont_putchr__FiiUcUcUcMIS_COL_DYNAMICpoljevga_getydimsavepal__3bmpPcCHAR_W_etextstrcmp@@GLIBC_2.0mis_move__Fv_fp_hwMIS_BUTTONfftell__Fidelimis_getpod__Fiiboxmis_init__Fimouse_getyMIS_Xarc_filesputbmp__3bmpiivga_drawlinebuton__6buttonvga_getkeygetpal__3palcol_makereal2__FG3palT0MIS_HOTSPOTXffilesize__Fimouse_updatemouse_setwrapmouse_closemouse_setpositiondelchr__7editboximis_puscica__Fvputpixel__6buttoniiibutoff__6buttonvga_setcolorloadpal__3palPcbl1freebmp__3bmp_initstfocopyscr__7editboxiiffread__FPvllifillshowscr__7editboxzidsetpal__3bmpstfMIS_PRESSEDfread@@GLIBC_2.0atributes__7editboxPcT1iiiiiiiimis_off__Fvmouse_setxrangeclose_archive__Fv__deregister_frame_infofseek@@GLIBC_2.0real_startvga_drawpixelmis_onn__Fvvga_setmousesupportCOL_FONT1strlen@@GLIBC_2.0mis_putmouse__Fiifont_puttxt__FiiUcUcPcCOL_SHADOW3MIS_ONSCREENopen_archive__FPcloadlev__Fvcol_makereal1__FG3palcol_makereal__Fvcol_find__Fiiiedit__7editboxvga_waitretracesaveMIS_LEFTBUTTON__bss_startCOL_SHADOW2savelev__Fvmainaddchr__7editboxci__libc_start_main@@GLIBC_2.0filesize__Ficlick__6buttonmouse_getbuttonarc_namedata_startfindend__7editboxMIS_XOuredi__7editbox__builtin_vec_newMIS_YO_finiCOL_SHADOW1fclose@@GLIBC_2.1fajlMIS_Yvga_setpalettecharmapvga_getpaletteMIS_TRANSPARENTpaint__7editboxcol_realfont_load__FPc__builtin_vec_deleteizhodoznacistf__Fv_edata_GLOBAL_OFFSET_TABLE__endsavepal__3palPcpreverigumbe__Fvvnos__6buttoniiiiiiiiiPcmouse_setyrangeMIS_CURSORmouse_initstrncpy@@GLIBC_2.0mis_close__FvCHAR_Hmouse_getxfopen@@GLIBC_2.1paint__6buttonMIS_CURSOROLDbager_xCOL_FONT2vga_getxdim_IO_stdin_usedvga_getpixelMIS_HOTSPOTYsetpal__3palpreverixy__Fvvga_setmodeloadizgled__Fvsprintf@@GLIBC_2.0krizfwrite@@GLIBC_2.0bager_y__data_startloadlevel__FPcffopen__FPcT0preveristf__Fv__register_frame_infomouse_setscaleloadbmp__3bmpPcmis_putpod__Fii__gmon_start__strcpy@@GLIBC_2.0bmpa.cc100644 0 0 4501 7010371710 10357 0ustar rootroot//**************************************************************************** //** //** BMPA for reading bmp files from XXL file. //** Copyright (c) 10.1999 by ToMaS tzveglic@hotmail.com //** //**************************************************************************** #include //#include class bmp{ public: pal barva; unsigned char *bmpbuf; char tom; int trans; unsigned int bmp_x, bmp_y; void loadbmp(char *ime); void setpal(); void savepal(char *ime); void putbmp(int x1, int y1); void freebmp(); }; long filesize(int fp); void bmp::loadbmp(char *ime) { int fp; unsigned char x1,y1,n,ch; unsigned int bmp_ofs, bmp_col; unsigned long int sizer; int i,a,b,cols; trans=0; barva.clr(); fp=ffopen(ime,"rb"); ffseek(fp,10,SEEK_SET);ffread(&x1,1,1,fp);bmp_ofs=x1; ffread(&x1,1,1,fp);bmp_ofs+=x1*0x100; ffseek(fp,46,SEEK_SET);ffread(&x1,1,1,fp);bmp_col=x1; ffread(&x1,1,1,fp);bmp_col+=x1*0x100; ffseek(fp,18,SEEK_SET);ffread(&x1,1,1,fp);bmp_x=x1; ffread(&x1,1,1,fp);bmp_x+=x1*0x100; ffseek(fp,22,SEEK_SET);ffread(&y1,1,1,fp);bmp_y=y1; ffread(&y1,1,1,fp);bmp_y+=y1*0x100; ffseek(fp,54,SEEK_SET); for(i=0;i -------------------------------------------butons.cc100644 0 0 5436 7010413215 10757 0ustar rootroot//**************************************************************************** //** //** BUTTON Library (c) 11.1999 by ToMaS tzveglic@hotmail.com //** //** REDHAT Linux 6.0 "g++ -lvga file.cc" //** //**************************************************************************** #include #define TRUE 1 #define FALSE 0 class button{ public: char caption[255]; int left,top,width,height; int cols1,cols2,cols3,cols,colt; void paint(); int click(); void vnos(int x,int y,int wx,int wy,int cols1x,int cols2x,int cols3x,int colsx,int coltx,char *ime); private: void putpixel(int x, int y, int col); void buton(); void butoff(); }; void button::putpixel(int x, int y, int col) { vga_setcolor(col);vga_drawpixel(x,y);} void button::buton() { int x,y,i; if(strlen(caption)*CHAR_WIDE>width-5){width=strlen(caption)*CHAR_WIDE+4;} if(CHAR_HIGH>height-5){height=CHAR_HIGH+5;} for(i=0;iwidth-5){width=strlen(caption)*CHAR_WIDE+4;} if(CHAR_HIGH>height-5){height=CHAR_HIGH+5;} for(i=0;ileft)&&(xtop)&&(yleft)&&(xtop)&&(y //#include int COL_SHADOW1=15; int COL_SHADOW2=8; int COL_SHADOW3=0; int COL_SURFACE=7; int COL_FONT1=0; int COL_FONT2=1; int col_real[256]; class pal{ public: int r[256], g[256], b[256]; void setpal(); void getpal(); void savepal(char *ime); void loadpal(char *ime); void clr(); }; int col_find(int r,int g,int b) { int i,r1,g1,b1,c1,c2,c3,v1,v2,a=0,n=0; for(i=0;i<256;i++){ vga_getpalette(i,&r1,&g1,&b1); r1=r1*4;g1=g1*4;b1=b1*4; r1++;g1++;b1++; if(r>r1){v1=r+1;v2=r1;}else{v2=r+1;v1=r1;}c1=(v2*100)/v1; if(g>g1){v1=g+1;v2=g1;}else{v2=g+1;v1=g1;}c2=(v2*100)/v1; if(b>b1){v1=b+1;v2=b1;}else{v2=b+1;v1=b1;}c3=(v2*100)/v1; if(a<(c1+c2+c3)){a=c1+c2+c3;n=i;} } return n; } void col_makereal() { int i; for(i=0;i<256;i++){col_real[i]=i;} } void col_makereal1(pal real) { int i; for(i=0;i<256;i++){col_real[i]=col_find(real.r[i],real.g[i],real.b[i]);} } void col_makereal2(pal real, pal fake) { int l,i,c,a=0,a1=0,r,g,b,c1,c2,c3,v1,v2; for(l=0;l<256;l++){ a=0; for(i=0;i<256;i++){ if(real.r[i]>fake.r[l]){v1=real.r[i];v2=fake.r[l];}else{v2=real.r[i];v1=fake.r[i];} c1=v2*100/v1; if(real.g[i]>fake.g[l]){v1=real.g[i];v2=fake.g[l];}else{v2=real.g[i];v1=fake.g[i];} c2=v2*100/v1; if(real.b[i]>fake.b[l]){v1=real.b[i];v2=fake.b[l];}else{v2=real.b[i];v1=fake.b[i];} c3=v2*100/v1; if(a<(c1+c2+c3)){a=c1+c2+c3;col_real[l]=i;} } } } void pal::setpal() { int i; for(i=0;i<256;i++){vga_setpalette(i,r[i]/4,g[i]/4,b[i]/4);} } void pal::getpal() { int i; for(i=0;i<256;i++){ vga_getpalette(i,&r[i],&g[i],&b[i]); r[i]=r[i]*4;g[i]=g[i]*4;b[i]=b[i]*4; } } void pal::savepal(char *ime) { FILE *fp; int i; fp=fopen(ime,"wb"); for(i=0;i<256;i++){ fwrite(&r[i],1,1,fp); fwrite(&g[i],1,1,fp); fwrite(&g[i],1,1,fp); } fclose(fp); } void pal::loadpal(char *ime) { int fp; int i; fp=ffopen(ime,"rb"); for(i=0;i<256;i++){ ffread(&r[i],1,1,fp); ffread(&g[i],1,1,fp); ffread(&b[i],1,1,fp); } ffclose(fp); } void pal::clr() { int i; for(i=0;i<256;i++){r[i]=0;g[i]=0;b[i]=0;} } //---------------------------- -------------------------------------------editbox.cc100644 0 0 14373 7010376315 11134 0ustar rootroot//**************************************************************************** //** //** EDITBOX (c) 11.1999 by ToMaS tzveglic@hotmail.com //** //** REDHAT Linux 6.0 "g++ -lvga file.cc" //** //**************************************************************************** #define ESCAPE 27 //how do we get out #define RETURN 10 #define TAB 9 class editbox{ public: char string[255]; //string of typed text char ignore[255]; //what chars will be ignored char scr[255]; //screen buffer int max; //maximum length of our string int size,x,y,colf,colb; //size is what we see int cols1,cols2; int edit(); //edit our string void paint(); //draw string //fill parameters to editbox void atributes(char *stringx,char *ignorex,int maxx,int sizex,int xx,int yx,int colfx,int colbx,int cols1x,int cols2x); private: int curx,scrl,strl,txtx,txtx1,stx; char buf[255]; void showscr(); void copyscr(int scx, int siz); int findend(); void addchr(char ch, int where); void delchr(int where); void uredi(); // void drawv(); }; void editbox::showscr() //shows what peace of string you must see { int i,ups=0; for(i=0;i1)); return a; } void editbox::addchr(char ch, int where)//add char to position where you tape it { int i; for(i=240;i>where-1;i--){string[i+1]=string[i];} string[where]=ch; } void editbox::delchr(int where) //del char form typed position { int i; for(i=where;i<240;i++){string[i]=string[i+1];} } void editbox::uredi() //at the end we must format string { int i,a; a=findend();string[a+1]=0; do{ for(i=0;i0); } int editbox::edit() //call this if you want to edit text { int i,a,cnt=0,dly=10,ups=0,ch,ch1,ch2,ch3,ch4; do{ do{ vga_waitretrace();cnt++;if(cnt==dly*2)cnt=0; if(cnt<=dly){font_putchr(x+curx*CHAR_WIDE,y+ups,scr[curx],colb,colf);} if(cnt>dly){font_putchr(x+curx*CHAR_WIDE,y+ups,scr[curx],colf,colb);} ch=vga_getkey(); }while(ch==0); font_putchr(x+curx*CHAR_WIDE,y+ups,scr[curx],colf,colb); if(ch==127){ if(txtx1>0){ delchr(txtx1-1);if(curx>0){curx--;txtx1=stx+curx;}else{stx--;txtx1=stx+curx;} copyscr(stx,scrl);showscr(); } } if(ch==9){uredi();return TAB;} if(ch==10){uredi();return RETURN;} if(ch==27){ ch1=vga_getkey(); if(ch1==0){uredi();return ESCAPE;} if(ch1==91){ ch2=vga_getkey(); //left if(ch2==68) { if((curx==0)&&(stx>0)){stx--;txtx1=stx+curx;copyscr(stx,scrl);showscr();} else{if(curx>0){curx--;txtx1=stx+curx;}} } //right if(ch2==67) { if(scrl-stx>findend()+1) { if(curx #define FILEBUF 200 //maximum files in one archive typedef struct{ //structure of file in archive char filename[64]; long filesize; long fileseek; long filepos; int filehandle; char fileopen; } FileDsc; char arc_name[255]; //file name of XXL file unsigned int arc_files; //how many files in archive FileDsc fajl[FILEBUF]; //structure on each file FILE *rocica; //handle of XXL file int open_archive(char *ime); //first we must open XXL file for read int close_archive(); //at the end we must close XXL file int ffopen(char *path,char *mode); //fopen our virtual file long ffread(void *buf,long size, long nmemb, int stream);//ffread data of file from XXL file int ffclose(int stream); //close virtual file unsigned char ffgetc(int stream); //read one byte of virtual file long fftell(int stream); //ftell position of curent seek in our virtual file int ffseek(int stream,long offset,int whence);//fseek in our virtual file long ffilesize(int stream); //filesize of our virtual file int open_archive(char *ime) { char head[5],headr[5];unsigned char c1,c2,c3,c4; int i,a; strcpy(arc_name,ime); if((rocica=fopen(arc_name,"rb"))==NULL){return 0;} strcpy(head,"XXL8"); fread(headr,strlen(head),1,rocica);headr[strlen(head)]=0;//read head of xxl if(strcmp(head,headr)!=0){fclose(rocica);return 0;}//if XXL8 fread(&c1,1,1,rocica);fread(&c2,1,1,rocica);//read number of all files in archive arc_files=c1+c2*0xff;//arc_files is number of all files in archive //read header of all files in archive for(i=0;ifajl[stream].filesize) {fajl[stream].filepos=fajl[stream].filesize; }else{fajl[stream].filepos=offset;} } if(whence==SEEK_END) {fajl[stream].filepos=fajl[stream].filesize;} if(whence==SEEK_CUR) { if(offset>fajl[stream].filesize) {fajl[stream].filepos=fajl[stream].filesize; }else{fajl[stream].filepos=fajl[stream].filepos+offset;} } temp=0; } return temp; } long ffilesize(int stream) { long temp=-1; if(stream!=-1) { temp=fajl[stream].filesize; } return temp; } //------------------------------ EOF -----------------------------------------font8a.cc100644 0 0 2644 7010251443 10645 0ustar rootroot// // // Font library Copyright 1999 by ToMaS tzveglic@hotmail.com // // #include #define CHAR_WIDE 8 #define CHAR_HIGH 8 #define MAX_CHAR 256 #define CHAR_SIZE ((CHAR_HIGH * CHAR_WIDE) / 8) unsigned char charmap[MAX_CHAR][CHAR_SIZE]; unsigned char CHAR_W, CHAR_H; //uporaba pri putchr unsigned char deli[8]; //nalozimo nase fonte v memory void font_load(char *fname){ int fp; int i; CHAR_W = 8; CHAR_H = 8; fp = ffopen(fname, "rb"); for (i = 0; i < MAX_CHAR; i++) { ffread(&charmap[i][0], CHAR_SIZE, 1, fp); } ffclose(fp); deli[0]=1;deli[1]=2;deli[2]=4;deli[3]=8;deli[4]=16; deli[5]=32;deli[6]=64;deli[7]=128; } //postavi crko v graficnem nacinu na lokacijo x,y v barvi spredaj in zadaj void font_putchr(int xa, int ya, unsigned char ch, unsigned char col, unsigned char colo){ int x,y; unsigned char c; for(y=0;y0)&&(y1+y-MIS_HOTSPOTY>0))) { if(MIS_CURSOR[x1][y1]!=MIS_TRANSPARENT) { vga_setcolor(MIS_COL[MIS_CURSOR[x1][y1]]);vga_drawpixel(x1+x-MIS_HOTSPOTX,y1+y-MIS_HOTSPOTY); } } } } void mis_getpod(int x, int y) { int getmax_x, getmax_y, x1, y1; getmax_x=vga_getxdim();getmax_y=vga_getydim(); for(x1=0;x1<20;x1++) for(y1=0;y1<20;y1++) { if(((x1+x-MIS_HOTSPOTX0)&&(y1+y-MIS_HOTSPOTY>0))) { if(MIS_CURSOR[x1][y1]!=MIS_TRANSPARENT) { MIS_CURSOROLD[x1][y1]=vga_getpixel(x1+x-MIS_HOTSPOTX,y1+y-MIS_HOTSPOTY); } } } } void mis_putpod(int x, int y) { int getmax_x, getmax_y, x1, y1; MIS_ONSCREEN=0; getmax_x=vga_getxdim();getmax_y=vga_getydim(); for(x1=0;x1<20;x1++) for(y1=0;y1<20;y1++) { if(((x1+x-MIS_HOTSPOTX0)&&(y1+y-MIS_HOTSPOTY>0))) { if(MIS_CURSOR[x1][y1]!=MIS_TRANSPARENT) { vga_setcolor(MIS_CURSOROLD[x1][y1]);vga_drawpixel(x1+x-MIS_HOTSPOTX,y1+y-MIS_HOTSPOTY); } } } } void mis_init(int num) { int x; vga_setmousesupport(num); mouse_init("/dev/mouse", MOUSE_MICROSOFT, MOUSE_DEFAULTSAMPLERATE); mouse_setxrange(0, vga_getxdim()-1); mouse_setyrange(0, vga_getydim()-1); mouse_setwrap(MOUSE_NOWRAP); mouse_setscale(16); mouse_setposition(vga_getxdim()/2,vga_getydim()/2); MIS_ONSCREEN=0; MIS_TRANSPARENT=0; for(x=0;x<256;x++)MIS_COL[x]=x; } void mis_onn() { if(MIS_ONSCREEN==0){ mouse_update(); MIS_X=mouse_getx();MIS_XO=MIS_X; MIS_Y=mouse_gety();MIS_YO=MIS_Y; mis_getpod(MIS_X,MIS_Y); mis_putmouse(MIS_X,MIS_Y); MIS_ONSCREEN=1; } } void mis_off() { if(MIS_ONSCREEN==1){ mis_putpod(MIS_XO,MIS_YO);MIS_ONSCREEN=0; } } void mis_move() { mouse_update(); MIS_X=mouse_getx(); MIS_Y=mouse_gety(); MIS_BUTTON=mouse_getbutton(); if(MIS_BUTTON & MOUSE_LEFTBUTTON){MIS_LEFTBUTTON=1;}else{MIS_LEFTBUTTON=0;} if(MIS_BUTTON & MOUSE_RIGHTBUTTON){MIS_RIGHTBUTTON=1;}else{MIS_RIGHTBUTTON=0;} if(MIS_ONSCREEN==1){ //mouse_update(); if((MIS_X!=MIS_XO)||(MIS_Y!=MIS_YO)) { mis_putpod(MIS_XO,MIS_YO); mis_getpod(MIS_X,MIS_Y); mis_putmouse(MIS_X,MIS_Y); MIS_XO=MIS_X;MIS_YO=MIS_Y; } } } void mis_close() { mouse_close(); } void mis_puscica() { char x,y; MIS_HOTSPOTX=0;MIS_HOTSPOTY=0; for(x=0;x<20;x++) for(y=0;y<20;y++){MIS_CURSOR[x][y]=0;} MIS_CURSOR[0][0]=1; MIS_CURSOR[0][1]=1;MIS_CURSOR[1][1]=1; MIS_CURSOR[0][2]=1;MIS_CURSOR[1][2]=2;MIS_CURSOR[2][2]=1; MIS_CURSOR[0][3]=1;MIS_CURSOR[1][3]=2;MIS_CURSOR[2][3]=2;MIS_CURSOR[3][3]=1; MIS_CURSOR[0][4]=1;MIS_CURSOR[1][4]=2;MIS_CURSOR[2][4]=2;MIS_CURSOR[3][4]=2;MIS_CURSOR[4][4]=1; } void mis_load(char *fname) { int fp;int x,y; fp=ffopen(fname, "rb"); ffread(&MIS_CURSOR[0][0],20*20,1,fp); for(x=0;x<20;x++) for(y=0;y<20;y++){MIS_CURSOR[x][y]=col_real[MIS_CURSOR[x][y]];} ffclose(fp); }sedit.cc100644 0 0 16620 7010437615 10604 0ustar rootroot//**************************************************************************** //** //** SokoBager level editor (c) 11.1999 by ToMaS tzveglic@hotmail.com //** //** RedHat Linux 6.0 "g++ -lvga file.cc" //** //**************************************************************************** #include #include #include #include #include "fileh.cc" #include "colors.cc" #include "misa.cc" #include "bmpa.cc" #include "font8a.cc" #include "editbox.cc" #include "butons.cc" pal real;editbox ebox; button fill,load,save,izhod; bmp bl1,kriz,pod,zid,box; char polje[50][50];int bager_x,bager_y,stf=0,stfo=1; void loadlev(); void savelev(); void preverigumbe(); void oznacistf(); void preveristf(); void preverixy(); int loadlevel(char *ime); int savelevel(char *ime); void drawlevel(); void izgled(); int main() { editbox tom;button but;int i,x,y;pal real; open_archive("tom.xxl"); vga_setmode(G640x480x256);real.getpal();col_makereal(); font_load("8X8.FNT"); bl1.loadbmp("BL1.BMP");kriz.loadbmp("KRIZ.BMP"); pod.loadbmp("POD.BMP");zid.loadbmp("ZID.BMP");box.loadbmp("BOX.BMP"); pod.setpal();col_makereal1(real); ebox.atributes("slevel.1"," ",12,14,6*CHAR_WIDE,pod.bmp_y*18,col_real[COL_FONT2],col_real[COL_SURFACE],col_real[COL_SHADOW2],col_real[COL_SHADOW1]); izgled(); mis_init(1200);mis_load("MIS1.CUR"); mis_onn(); do{mis_move();preveristf();preverixy();preverigumbe();}while(MIS_RIGHTBUTTON!=3); mis_off(); mis_close(); // vga_getch(); vga_setmode(TEXT); bl1.freebmp();kriz.freebmp(); pod.freebmp();zid.freebmp();box.freebmp(); close_archive(); return 0; } void loadlev() { int i; font_puttxt(2,pod.bmp_y*18,col_real[COL_FONT2],col_real[COL_SURFACE],"Load:"); ebox.paint(); mis_off(); if(ebox.edit()==RETURN){ loadlevel(ebox.string);drawlevel(); } vga_setcolor(col_real[COL_SURFACE]); for(i=0;i<36;i++){vga_drawline(0,pod.bmp_y*16+i,200,pod.bmp_y*16+i);} font_puttxt(2,pod.bmp_y*16,col_real[COL_FONT1],col_real[COL_SURFACE],ebox.string); mis_onn(); } void savelev() { int i; font_puttxt(2,pod.bmp_y*18,col_real[COL_FONT2],col_real[COL_SURFACE],"Save:"); ebox.paint(); mis_off(); if(ebox.edit()==RETURN){ savelevel(ebox.string);drawlevel(); } vga_setcolor(col_real[COL_SURFACE]); for(i=0;i<36;i++){vga_drawline(0,pod.bmp_y*16+i,200,pod.bmp_y*16+i);} font_puttxt(2,pod.bmp_y*16,col_real[COL_FONT1],col_real[COL_SURFACE],ebox.string); mis_onn(); } void preverigumbe() { int x,y;char t[5]; t[0]=1;t[1]=2;t[2]=3;t[3]=0; if(izhod.click()==1){MIS_RIGHTBUTTON=3;} if(load.click()==1){loadlev();} if(save.click()==1){savelev();} if(fill.click()==1){ for(x=0;x<20;x++) for(y=0;y<16;y++){if(stf<4){polje[x][y]=t[stf];}} mis_off(); drawlevel(); mis_onn(); } } void izgled() { int i,x,y,yd,xd; xd=vga_getxdim();yd=vga_getydim(); font_puttxt(0,yd-CHAR_HIGH-1,col_real[COL_FONT2],col_real[COL_FONT1],"SokoBager Level Editor (c) 11.1999 by ToMaS tzveglic@hotmail.com"); xd=vga_getxdim()-140;yd=vga_getydim()-250; vga_setcolor(col_real[COL_SURFACE]); for(y=0;yx)&&(MIS_Xy+(pod.bmp_y+5)*i)&&(MIS_Y><~~<ffffff||~~~~<~~<<~~<0``0     <<llllllll|<`>f08l8vf 0 0 000 f<``f<8 >ff<~f`0ll>,<,,<, xfff~fff<<```ff<l l<`p``ff< l > l8fffffff<ll8lfff|`>~2L~ppp$$~2L~(~0 ~||l|00008lL ~ff<~~33_ccp<0<`|f <0v̌ lll~f  f~fff<|~~ 8mĔW:>:>:>>mĔĚaĤĤĚaĔĔW:>:>:>>mm::^:^:^>mm:999999:mBM6(   ckk)c)k111)111B1k919B9J9c9kBBBBBkJJBJZJcRckZkc19Jc!c!k!k)!!!!J!J))1))1911111911Bc1k19s9s9{19BZ9BcBcBk9B9BBB!J)JBJZJJJsJkJkRksR{Z{Z)Z)Z1{9{9{BZ!Z!Z{)R)Z{1c1k9kBRZJJRJJRcRRRRRRZZZZs{ckckkJJsR{RsZ{Zsksss{jgkkksssZk{kƔcsc{ggckƔkޭRZZZ)BFR^JRs)RZ1Zk9scsBsBsZsZRsVcps{{s{{{w{cckkos{{ƜƠƜƜΜΥcksƔ{Ɣ{Μsֽ{ڽ{ssΜΥҭֽ޽{ֵ֔Υֵ޵Μ֥֜֜֜޽ƭ6666BM6(   ckk)c)k111)111B1k919B9J9c9kBBBBBkJJBJZJcRckZkc19Jc!c!k!k)!!!!J!J))1))1911111911Bc1k19s9s9{19BZ9BcBcBk9B9BBB!J)JBJZJJJsJkJkRksR{Z{Z)Z)Z1{9{9{BZ!Z!Z{)R)Z{1c1k9kBRZJJRJJRcRRRRRRZZZZs{ckckkJJsR{RsZ{Zsksss{jgkkksssZk{kƔcsc{ggckƔkޭRZZZ)BFR^JRs)RZ1Zk9scsBsBsZsZRsVcps{{s{{{w{cckkos{{ƜƠƜƜΜΥcksƔ{Ɣ{Μsֽ{ڽ{ssΜΥҭֽ޽{ֵ֔Υֵ޵Μ֥֜֜֜޽ƭmm:ll:m::ll::ml::^^::ll:--:l^--^^--^l:--:ll::^^::lm::ll::m:ll:mmBM6(   ckk)c)k111)111B1k919B9J9c9kBBBBBkJJBJZJcRckZkc19Jc!c!k!k)!!!!J!J))1))1911111911Bc1k19s9s9{19BZ9BcBcBk9B9BBB!J)JBJZJJJsJkJkRksR{Z{Z)Z)Z1{9{9{BZ!Z!Z{)R)Z{1c1k9kBRZJJRJJRcRRRRRRZZZZs{ckckkJJsR{RsZ{Zsksss{jgkkksssZk{kƔcsc{ggckƔkޭRZZZ)BFR^JRs)RZ1Zk9scsBsBsZsZRsVcps{{s{{{w{cckkos{{ƜƠƜƜΜΥcksƔ{Ɣ{Μsֽ{ڽ{ssΜΥҭֽ޽{ֵ֔Υֵ޵Μ֥֜֜֜޽ƭl>>\l>\ml>l[\[>>^mm\^\>l>^[[\[^^\\>m>^[l[>>ll^^l[l^^\\[lml^>m^l>>\ll^[\\l\^l>\ll>[\^^l[\>\\\[\[^>^l\>[>\^>>l>\>\^^ll\l\\^>\[\\^^[\m^\l^>m>\>^lBM6(   ckk)c)k111)111B1k919B9J9c9kBBBBBkJJBJZJcRckZkc19Jc!c!k!k)!!!!J!J))1))1911111911Bc1k19s9s9{19BZ9BcBcBk9B9BBB!J)JBJZJJJsJkJkRksR{Z{Z)Z)Z1{9{9{BZ!Z!Z{)R)Z{1c1k9kBRZJJRJJRcRRRRRRZZZZs{ckckkJJsR{RsZ{Zsksss{jgkkksssZk{kƔcsc{ggckƔkޭRZZZ)BFR^JRs)RZ1Zk9scsBsBsZsZRsVcps{{s{{{w{cckkos{{ƜƠƜƜΜΥcksƔ{Ɣ{Μsֽ{ڽ{ssΜΥҭֽ޽{ֵ֔Υֵ޵Μ֥֜֜֜޽ƭ999999999999999999999999999999999999999999999