home *** CD-ROM | disk | FTP | other *** search
- #include <aes.h>
- #include <stdio.h>
- #include <tos.h>
- #include <ctype.h>
- #include <string.h>
- #include <stdlib.h>
- #include <strins.c>
-
- #include "splitit.h"
- extern int rs_trloc[];
- extern OBJECT *rs_trindex[];
- extern void fix_objects(void);
- extern char p_to_nul[];
- extern TEDINFO rs_tedinfo[];
- extern ICONBLK rs_iconblk[];
- extern int bbk000[];
- extern BITBLK rs_bitblk[];
- extern OBJECT rs_object[];
-
- #define SHOW 1
- #define HIDE 0
- #define TRUE 1
- #define FALSE 0
- #define READ 0
- #define WRITE 1
- /**************************************
- Message to user in (c)
- ***************************************/
- void mess(char *c)
- {
- char a[40];
-
- graf_mouse(ARROW,0);
- strcpy(a,"[3][");
- strcat(a,c);
- strcat(a,"][OK]");
- form_alert(1,a);
- graf_mouse(POINT_HAND,0);
- }
-
- int mess2(
- char *c1, /* Line one of message */
- char *c2, /* Line two */
- char *b1, /* Button one text */
- char *b2, /* Button two text */
- int db ) /* Default Button # */
- {
- char a[80];
-
- graf_mouse(ARROW,0);
- strcpy(a,"[2][");
- strcat(a,c1);
- strcat(a,"|");
- strcat(a,c2);
- strcat(a,"][");
- strcat(a,b1);
- strcat(a,"|");
- strcat(a,b2);
- strcat(a,"]");
- db = form_alert(db+1,a) - 1;
- graf_mouse(POINT_HAND,0);
- return(db);
- }
-
-
- void messi(int i)
- {
- char m[16];
- sprintf(m,"%d",i);
- mess(m);
- }
-
- void messl(long l)
- {
- char m[16];
- sprintf(m,"%ld",l);
- mess(m);
- }
-
- /*******************************
- GEM Related Functions
- *******************************/
-
- /***********************************
- Will put dialog box on screen
- and return exit object after
- erasing it.
- ***********************************/
- void erase_dialog(
- int x,
- int y,
- int w,
- int h )
- {
- int sx,sy;
- sx=x+(w/2);
- sy=y+(h/2);
- form_dial(FMD_SHRINK,sx,sy,0,0,x,y,w,h);
- form_dial(FMD_FINISH,sx,sy,0,0,x,y,w,h);
- }
-
- #define DDRC 0
- #define DDRN 1
- #ëØø4ÇYH①①④öאLéêך⑨YÜ[ÖH①①④òאM⇩êך⑨YÜ[ÖH①①④æBN⇩¥¢םY✓⑨ÿ]תךəX[ךט⇩éZ[¥⇩BX¢∧⑦ם[Ö♪⇩éZ[¥⇩BJß♪⇩éZ[¥⇩BJßK⇩éZ[¥⇩BJ¥י⇩éZ[¥⇩BJÜ♪⇩éZ[¥⇩B\⑧XךK⇩KטêKSïïTי♪Uי♪QKMKPיKSòיïTריKSæKL♪TעH
- ïאéXם⑧\éYÿ]אJBé^אéZ[¥⇩B\∧♪∧NאéBéY¢ץ¢Wןך[¥⑨\è£ת§Ü[Ö⑨^⑥ן¢∧⑦ם[Ö⑦K♪⇩uב%À⇩ə✓splitit.h p Θ F④:ם⇧
- FÉ)c&ì¢2 Ü⇦IΓñI①'U②ÇÇD åéÇ⇨♪⇦íÉ!C#O$RגüæáIJ2⑦:ëR% ⑤æ⇨bץ(⌐①eG'Sá0q 3╱Iü&7∧T≥ä!L⑨1hßLחã
- ò$LfÑíT¿J!ç¡QרªJºPe¥ œ&SêOÖג8JØkéÅOê$ אD$üñ]Aijeחs"üyβ⑥IJפ⑦RLïeùאERä öß\§2v,ù«]⑨⑦③o£epβ†Ö3ßL0%ëû"òδ·¥①:(טפº=™⌠ïW3B#PQנUMæj^ץL╱qh7⌐m⓪ijïij.rY⇧ə✓splititr.c 4 F④9|HÇp) #פÕ⑨בªÖ2 xä)3ו❎ə
- ④כí③åNÜ1 הá #◆⇦£/t∧|qSçלû⑧]@⌠ !BגÄêTè⓪IΓגז③⓪rµÇ,CFáÖ7[R«ץú ⇦ê="ªijaôåN②: ¼גp①C⇦♪Å EÆds⌡cזæ%Y④àT`הUH⇨`£ π*ə8b¼U♪⇩¡\ú1כש⓪úÅXúHQîI⇧"FÄ0@(MSªNê)oכסõè⌡δש«YIJr[v∈םÀ ∧ה⌡¶≈.✓⑨tϕ·-zק½שã,IזP¶QNÖ;יÕ@♪Γêϕ3oΣΣ⇧עג❎✓&eםij)#çMÖ⑥Kÿיí∮Z≤_Ø5HúÑ+·∈vϕ|»å∈√Ãuµי,eקêa⇨גî⑧③A⇦õúג⓪:.«6yבקא$LÇ`C2ןÉ✓UL①⇦uτàדךü∞ϕד\∧Ñ❎ßi4Éוםרí'א⓪ÀUג③✓W4àåZµ`]❎@híänQ✓^jββEבjÇë ⇨6ס@YRmäIJås±Öæås ✓⇦א②:Ç≡❎$⇦ⁿÿâUc①áWä①v7πZ◆ßV⇨ĵ⌐ז⑤KCק!çmnסIJהpw⇦Ãå@gÇpçë(b&µu-n⑨Z9\∙"û5ßvú⇩}¶ñ@②C<βä⓪L,üôN⑦©βå⑧l¼①öJGõ╱⇨③äə*⓪Tbêõ╱h]:öªxÉJ ♪0ñ
- %½««ם¬¬ãפ:δ½Ãטəky¨שèδ«©╱♪∮ãœój+õhÖר¬⑨ñὫוF√¬õhò⇧k8∮°¼»⇨ןã¡ã;b[δ⑧םR♪-Zc|K,3¿5+j∈«{âZהא0»´;ם⓪/ן∈√δÄΣש
- ⇨⑨³«ZoijøאPFIJŒמÉm¡1גijpא'<C´µש´≡®①+ïG™W∮Ω 7ij´0Zã:\«QøJlFטךr¼¡ã3ÿür½';ף≥ijãט⓪3»⌐J<1ØסJî⇨¼cⁿ¶3ב⑨â±ע¡&=sסSK{«IJ,ºטo¶8(M⌡®∮©c†⇩Gkת+âãtנ6ץ†∮שgי@Àדâ±ק7öõסכ∧É⇨¼fזÀץת6{w[¡®Œwק8î±w½2|W»%Ã*±לAπαmΓ4,Ä◆h©ץ¬2á&0¢πüəט◆[ף*¥{C]בè´®⇩Åæ.Σå[Lהך4ץP2¬ç%m{∧`ƒx∩#צPδ´⇨.åPπACα⌠fל/ϕH3∞¼≤αû177α`zי②ƒm8Œ⇨ÇO,¨â∩+Õ·ÿ™-¬1ij/≡∙⌐ûמ5¶ץם§ãf@â¬IJijtMבCמÕU=⑧ןLg
- ,`ⁿ≡5-ϕíÑz3סW¶zd@³Y¡l\_ש.fij±}סb±"⑦µ·σ13ÿ!} îש⇧+G,⑦
- É_כó שקªŒΘP`&ⁿת™`Pâ╱VÉç2LÕåΦ6ó§נéW√β②úן½⑧VKèN\Γ א œ③f①Y[ⁿí⑤⌐¿5⇩Q0<»≤∧①IJד/גüעì*äá⑦בר⑥+Øדvj$#נXו¼⑤ã~Bä⑥™ץ'¡;.É;tÜ⑨îx.CZ/Ű颧°G9╱②äg4♪¬*ëדpëל.ã¬ü³û⌡ø⑧≥K.Qc^≡°❎+2Hãôº⇦əΩnÇJ❎שáë9xσ④!6╱1Å③CjÉ=´ØjùlÖ|ÖÕ0 ③V90P¶ז0ט]ד0/Œâ3i⑧M2קפ╱c≡`2âvâ∞í*p1°]½óÖ⇨f¬nÕףeיה@בfרפà
- ⇨ZלD6G!ó±sɼ"④נXיl!ØôkYA⇨·דBשØX⇨ò'⑧:Nê"õó⑧רπ%וêPìFæú②¥π"Ö⑥עå³טa✓3i"çŒijעIJáÇσûוא BÆK£σûβŒס «œƒÄäù=⑨S÷ϕ4_ÿ⌐?=╱/îiÅ_îî)∩é8Ç¿étX¿Y⑧⇨ïZפ⇧±≤éR⑥םUכ[Œ/¼ופ2נ*סïµ⌠u´lW§
- לjםO⌐ì¶'†¼à*②②2úץ*hαץ'â⇩ZŒñà⌠⑧rPXףìA\xϕ"ZץÕƒך..ƒקhÃBÖIJúí*i>E([±Pâ28∈lì#)]ŒΦ®,Øßכט∮③/:Ç⇩6Ømד¡Jדêןף∈6ÙìUº""ä$PüQÄטח⑦גס④JYJ(Ö⇩L¿Fà2♪ש÷* ½⇧⑦Θט]ø÷eÕ
- xé⓪öPä!PβQ_xâ⑧ק`Z:ÿ*´ xü
- @@❎ף d⇦0PIJ♪6dö⑥T¿B⌐♪תπ£xQ⇦0AO @îxק⇨ª=∮ד[{⇧לdי÷ת(´5b;:0î6£`´¼g╱.לZⁿö¥ä⑨µç❎ש≡ä9,â†ץij╱9✓1Z£ת_צ°wØ❎⇧
- ן ⌐3ñ@⇦ ⇩Cשij②=í❎א/Äqyîû.§Õה8F±Ä{ⁿc⓪éijbØFƒ.≈Œp¶z∙.ºl⑨3ת①Fvâp
- Æ'W$⓪C~e∮G②②I⓪QD⇩0⓪h ✓THQדé⇨Äáƒ@$⑨①⇦③S,ןáà❎b✓é④E⇦A⇦âèxà④πQ¿ij♪*@bé⇩ 4IJסa£AפI ק1GX ✓⇦⇩
- cñá@î'¶á gdÇסהìDÄ&◆✓*④Iπ4èFə✓ äõ❎0œù ìgז①å⑨_œ±åÅeá⓪ä④R ז⇩ßע¿צ⑧pΣüB⑧,êãד]l!B¥ ץ⑨╱{ØPΣ\à.5הíëè⓪Φ③Kt1(ú®חעה⑦aã①⑥ó1ã⓪╱íeßÖµÜ?ó ד③ŒQ±❎②A8Aג£ä÷íÇ⇩ת=9ו2áÉÑöì①j⇩0&ijäêנæ⌠å⑨N∧ÿ#B*(ÖÇûÑU)⇨♪ג¬ ⇩✓ו≥◆⇩w¶ü]œ™Æ÷ù⑧באÕ¡⓪uסqÆ $√-b~æ;/ã*êqmÀβŒ√∈Ãβמ√U©פ^ù ⑨b$É⇩™D④⑧╱ktÇij«†נü0א_פby∩û]nüCÿîÆi&ÜjØΘ&£rפחΦ¥yF´àü^jºúÉ≥),íå"טº✓|זץ¿ÅΩ¼¿8צ,œñé⑥tל,á½tסæ÷ⁿ4צ·N}œÑä"B d´iºƒóÇ≡
- íÄ
- B♪ גijh⌐$úםµ¬»®əδ¼*צ(G⑨tק!ûןbק¬ ZL6†öçÃ⑧K|םעσ⌡Ñ④יə÷∮מwgZBO6,מ3שãbƒC:SÕ①$Nºτץ%ⁿd◆יτ°Œ'½X,∈④à[<⑨⌡1ï⑧±yëσ╱גÉLÇ]ק)¿∩ùôcÀ%\יñÑüπ$ת∩②צyõ]±ÖÆδאר∩®D?%Yעz%≥vQÃk£~⌠ΓYימfΩ¶Σπ∧}Çá\ö≤∞©öז`β3⑦`k:T❎P']û$⑥⑦7TÇ¡iמ\`⑦]-ǯ,,`Γ≤²∞¨σ⌠ãנץãקαß≤|æÿיìΩ≡úááŒךÇΦàoá[δδ⌡⑧)ΣQYתœB⑥≡זy¥dªו{3©╱JΣY¶vא$⓪Γijה\Äσ~∈7τΣrδמנ⌐מ⌠p°;⇨f0g¢הδ6µ⑥hö?σr_aדפא-·î£jænיΣÇÜ⌡.צÀhIJוח:HβâSתé2I±⇧3Dzz_n⇨pù8∙²rIJKך%②mø∈xם¨aCףCתd¬»Œ;ΘΘ±ת¿è.ìdñⁿ®½<^-n-rh3$DB$DB$גs$D⑦ⁿ>Tà⓪ æ⓪ æ⓪ æ⓪ æ⓪ æãΘ╱O⑤àZ$מá7VEא-À·ñd±ñúÀ⑧&§Q<`ïβ#ÕóמXµ½סA⇨ïיהU¶k⇩Ojπ`}❎c`ש6ÇfcÖתJŒª≤⑦nהΘ⌡ÕE·ק*◆∞①כαì⌡⑤כπ)>םÕϕ⑦③ ⌡÷הπΩ~»`>פ≈לםdiπ(òPõT①ש%⑨1K)J?∞פFΓ´ז+§√B¨♪³םá+XZÀ⑧ןœ¿z&æLKף⇧,|3Y·´|צ√»H$ë⑧QÄΣצ?∞OF²ד\αAZ¥=ז√¢∞❎[†יolg6;ΦNµ`3δz◆ÿ⓪]
- ∮',œƒûÀf∈'6÷Ω③NÕòng≡α{¿%~t)τו⌡Z⓪∈ö⇩Φ™Ñσםםªe
- ¶>ãÉœ{ù+¼¥A⌡6`q©jÇãrë9X º2Iû¥א> ≤D|¥øâîñ%
- ≤Kª~Tb9⌡ ¨∮טΘ≤π§õ③£Ñ⑤½`ÿ½∈<yÿ⌡⌠ñàπ5ûם+r9Ç?r╱רÉvµ} ¥zÉMbíπ6^z®gçX^δz♪<}}-∧גèזcayה.ñ§y·©¢ל³וÕ] »≤åπâ·0äbf³ùםsÉ∙,◆®Ç⑧òæœZה¨≈ד²=וא_N≈⇩_Å⑦«/❎°vσu⑨ר①≤╱Sךcא⌡/✓ו«Kσ¼¯èΘIגêZàñ»⓪Θ⓪£ם③´Œ√וQ-∮©∙⑤וΩץ?nƒEï$ך╱∮Œטטæsצ1íTÄi†¶Tœœצ תWõOⁿW¶ףdϕ»⌐⑧7uαöגכ∙כ}¿m²w∧σ⑦¼צ¶»Qs"µ⇧@æ{רת7{«Õ¡,bß¼¬∩⌡τî?τ≤²∩U*Ç≈úùנ(əHûè②WõùDõb4G∈∮¶kə^°±δbנ~éף#ץJy£³Zד«di⌡µOÜî⑤lבD❎;=ÿô¶"øiÖ⓪©Jï¶Mיםjזןן%Zף⑧Gë⇦Œ·}F>y=ãÀ®Ω5÷תצצ≡αßUנאצ;äβת<∙Çsƒàשσל≥.⇧LτóâπzZ®q©7NK∩ת[jwpºCæsÑÑ⇦då<6°wΘAm+/<}≈UzBgïβ[③∩K<∞õEΘπ÷s½X5^œU╱∩6הxiפ=¢w<ΦכÃ⇧⑥œi⑤! úiחï[-ץÖàtנn1|^הזr´$ך'öÕדÖ¶∈pϕÅ\4∩⑧ªßÅנÃי÷≤ÜÆéP9é4זìù♪#עñ#fZ®ס√②º™
- ´+CAwYçé⇩{FיΦ«£U9{⑥º"VØ|&=¶8Ä[z°ûσ='ÜŒ≥Γ]ñצE#ߌ]A4·¿UαÖõמéםÄשⁿ¿⇨◆4]êπ⌠צuùלe}ºØïóטjעÃì≤Tdⁿ√0דTδbXKî°Õי+va⑤Üⁿמ⇦j£∧④⑤8P±δ8©°"}=÷}ò:≥מ¬④V¨i3Γך?`Ød¢╱♪º∮¡\òטYU[⌡ϕ"ú:p=öo†Tçט´kUeF N|3Y∙œNט&»④q°∩ª8①O7Wט~לא°ÿLrô º¢C⑨≤TNÑה½כ+h¢k)δ\œ4™6HJÇג7 ûτ\SP⇦K7ו>∮µYt';ï1ףeB6ÇKfך]ù&d$©½bם≡A=x≤qijì¶*™;î⌐Ãôק?Auû½ú£¬∙¨h±à:%"j⑤Æ∧%J
- µ,;vδץ?Ä⑦ä√PóMיפשm@)ã8①≤À⇧®Œü]אBף וRiÖFכúΣ/ə|´ìæz÷Çéשכ⑧טJ∩´H≤ך«¿ò†bץ6@jח⑤uv Å%⇨<ÃJ$σòד¬»»³bGⁿWL#F{
- ÜQ√9ç⇧Φ!⌐²BשN⑨םϕEbוה1Õ»ת∮öץ§πøEº_}fÄΩ2ij❎רeÆ(»∩αMö®© PΣî≈²àצπMQƒhjלΩ\gÄë™&7ס«U∧π]ij0·⑥≈æhv¨¢ל³W¯Ã&שL③nöΣaI≈סך⇧קñ{י©IJK9Çņ⓪⌠P±,ⁿ™z68צδ¯î⌠â^σ¿W«7ªV⑨.àx✓÷~<«∙ûח❎קAEə:ùs\ף≈@³⇩_s®|è∮îØPd;·Ü©1∮ò√⌐XÄ{ªî<ח
- ז¢√[喙יר≤⇩jæ3}¥Øßןט«h∈∮´e≈מTñ6ϕ7\ß\④bJס·\Ä√?⌡±áôHYCו:ץ;£ם~T²Ø:µמ⇩øüüd≥]√»8J&תº8`º²⇧°xYן}üז≡Φ⑥nαב¶⌡r{hרÅ╱ü⌠√⇧É①∩ì\∞7;א(ç(²[Äû(=Ø3eÅL⇦ç∮æ=œ_9Aש~\Õ≤*ϕוÑa①קÅ^®Σ"&⓪rg{÷ëΣkéãי∈ijs≤hij◆_β¬≥õ4≈ëá④±לØבVWMQn╱Ö¨≡koSÀÃÑíN÷\™Ç©ø≡כ❎מZ≡õ≡j«םj:≤öeäü3②¡/Kיÿ!»ÖXã❎ª«-M
- ®Ω#|:⑥¨Ω÷êΩ7b4=⇩ùuFם≤kנ6αד∧Aא⌠ê>IJπXג2¨∞b"è¨Õ]>∧ƒ ´IJ¿%∞e®Ã³µYhhìl%Ç^}œ£k╱¢=^ןOÉ✓ñgZáי#œdÖJ†ך≤5≈™§שכ½√√ç③ⁿ~,hקע~רנ¡ã½÷²ב◆~ש<ד¿}·Ñ$לLי©~à%ץ4p8יPpו9²¬U¼⌐Wד®ÅU≈}ûע√>אδיUæHê|_½ ƒl8%q∙≥*∞¢!ס¬=⌡ש√»⑧Eîè7טΦlP´aΓτ&Ωw\δØAojølϕ;àkΩyשFg8cgKC³B¡§Åûⁿsⁿ≤s④ΦÅgå❎ז╱"ג*ªß≈י9צϕמ±iבŒτ~ΣOñfz∧σƒOàÑ?ø+?_OñßBhע?ƒזÕ³Ipú#⌡_τدÆקRhh·RáC\~®@:à✓Γיéα#¯x@0דÑMgוOy`?Γ%❎dJ≡Ö²¿|߃+⇩Z³ûj»7Sk¢§™Q6™םEעSJ±«£ãA6'UM⓪F3√gן⇦y¯וÖ³¢יΘ·∙¶נ,Õב/ Töù=β¶álY¼{σ√⇧ô0²∩מqO°⇩\טVâ9$NƒםבqÉ@פç⌠`¥≈¼³≤¯³ìΩ_|øÇΘ™#ü ò~²Wtûxq ∙ ד⇧(\⑨>0m②ê8Çτףו①`⇧¯ ךא*+hááβז⇩Mβo≥y@Üלaôƒ55¢¥≡ש≤∙Γδב.½fn╱ל*oⁿⁿ¯⌡ì③µ╱םΦ÷Ñτ⑤K✓יτwÆ?I»,†τÆWG³y>צW⌠H+Œנת9♪Ø|©ÃϕùÇñיÄαáô≈®סΓמ´<RÖוS√üµlqùUº£¼rστ∙»WµתחP+%בóuêΘ≡σú②óΦGσ\±¿קC√a|®v{\?¯Aœ·ת∮èg.≥Rךτ½ªaר©∧ôⁿIפñgjŒΣÕ⑧ƒ©¼טNs≡EÆ>ù@õC:ê¬ⁿ◆G*ù7JקèPדלKæ-י?Wⁿ⌐ל^Rqשòè≡lISìצ≤5ºD}'∮ⁿû¿∈Y㳃Y?⇦ùTœ¶De7Üá✓êá&|®Ãñ™ÿøAØÉα∧Γ§əñj6ז¥å t&$Σ⑥Sxcp≤ϕ &ןü™é≥ã"û∮③רGxΩŒט⌠ן✓OâÄÀë∈éץ╱´=œ,Vm//<a?-´∈²äצ·βe,âëø1_²ד³τ™bΘêQ¼O{≥≡הÖ¢≈∞צץΣb?#±Ωâ ⓪ä⌠ç⇦פ'W&ץ¨8o²°W≈wŒh²<≤D ÷ÖûÜGפsm⌡PזL⇦Γ✓ען<δע⇧תZ≤8ב⌠④À£ÿŒd
- ùi∧YÕX8⇧ל¶x³IJח£Õmraπ❎ח+ףץ6⑤:!5o@<'nD¯⑤∞N"F√¨R¼† ÃM≤Éפ¶Xn⓪°|_ƒכ}RבœC⑤óת:!·M"מ´®.ø≤&qצÕ∩½øa´ vv"w≤αÇ:™Iגσחu³πãXZ54rΣó≡T™∙],ù†Cז¡∈6 וuך!ö8§øרwQ±j9ן\.û^g⇧³זל¯|?Jσ~É´תÃL¥=Φ;ÿ†.u26·∩'ΦQ5?ùø·מë#∞™_◆¶םW≤²W£8R¨Φץ@L5™Ö⑤╱q xתw3}îז%q8§à⑦⑥1םùי7סR[וr①#ז⇩⌐ÿ√כíu©╱cï\øê<Nƒ'④hh∈ך¨™①ú⇨;¨╱⇦†cw©,3ϕõôc´<9≥®'O_g:a04{ⁿu~ΣnÉÀÀÕδ⑧∙Jג(ü∙ß④†Uª⑤טO±½(L∙eÜSxצ²@tz«©àå♪-:צijחït»;~ØlB§'"¯ªWgâ†C⑨Å&®·²Øã√é±HZו!œ3 Q⌐çnüaβcə∈⇨Öæj\◆B④ijÄ≥ºvb=fMΣ∩Æπ⌠k³º_⑧eµ© ⁿPêםx∩σרyS
- $Ndrv);
- Dsetpath(spath);
- if (Fsfirst(sifile,7)>=0)
- {
- dta = Fgetdta();
- size = dta->filesize;
- buf = malloc(size);
- dial_file(sifile,size,x,y,w,h);
- Dsetdrv(sdrv);
- Dsetpath(spath);
- fds=Fopen(sifile,READ);
- Dsetdrv(ddrv);
- Dsetpath(dpath);
- if (j==0)
- {
- Fread(fds,16,filename);
- if (!create(filename))
- {
- erase_dialog(x,y,w,h);
- return;
- }
- }
- fd=Fopen(filename,WRITE);
- Fseek(0,fd,2);
- if (j == 0)
- {
- Fread(fds,size-16,buf);
- Fwrite(fd,size-16,(char *)buf);
- }
- else
- {
- Fread(fds,size,buf);
- Fwrite(fd,size,buf);
- }
- Fclose(fd);
- Fclose(fds);
- free(buf);
- if (dflag)
- {
- Dsetdrv(sdrv);
- Dsetpath(spath);
- Fdelete(sifile);
- }
- }
- else
- {
- erase_dialog(x,y,w,h);
- return;
- }
- }
- }
- erase_dialog(x,y,w,h);
- }
- }
-
- /*************************
- BINC: convert binary
- to C source code
- **************************/
- void binc(void)
- {
- static char *sname = "FILENAME.EXT";
- static char dname[16];
- static char *ext = "*.*\0 ";
- static char *dext = "*.C\0 ";
- char path[64];
- int drv,fd,fds,i,j;
- int buf[6],x,y,w,h;
- char *line = " 0x1234,0x1234,0x1234,0x1234,0x1234,0x1234 /* 00000 ABCDEFGHIJKL */\015\012";
- DTA *dta;
- unsigned long size,ds,ls,count;
- char *cbuf;
-
- line[0] = '\011';
- cbuf = (char *)buf;
- ls = strlen(line);
- if (fileselect(sname,ext))
- {
- drv = Dgetdrv();
- Dgetpath(path,0);
- if (path[0] != '\\')
- strinc(path,0,'\\');
- strcpy(dname,sname);
- *(strchr(dname,'.')+1)='C';
- *(strchr(dname,'.')+2)='\0';
- mess("Select destination path");
- if (fileselect(dname,dext))
- if (create(dname))
- {
- fd = Fopen(dname,WRITE);
- Dsetdrv(drv);
- Dsetpath(path);
- if (Fsfirst(sname,7)>=0)
- {
- dta = Fgetdta();
- size = dta->filesize;
- draw_dialog(FILEDIAL,&x,&y,&w,&h,DDRC,HIDE);
- dial_file(sname,size,x,y,w,h);
- fds = Fopen(sname,READ);
- *strchr(sname,'.') = '\0';
- ds = 12 + strlen(sname);
- Fwrite(fd,4,"int ");
- Fwrite(fd,strlen(sname),sname);
- Fwrite(fd,8,"[] = {\015\012");
- dial_file(dname,ds,x,y,w,h);
- count = 0;
- while (size != 0)
- {
- if (size<12)
- {
- Fread(fds,size,cbuf);
- j = (unsigned int)(size+1) / 2;
- size = 0;
- }
- else
- {
- Fread(fds,12,cbuf);
- j = 6;
- size -= 12;
- }
- for(i=0;i<j;i++)
- {
- sprintf(line+3+i*7,"%4x",buf[i]);
- if (buf[i]<0x1000)
- {
- *(line+3+i*7) = '0';
- if (buf[i] < 0x100)
- {
- *(line+4+i*7) = '0';
- if (buf[i]<0x10)
- *(line+5+i*7)= '0';
- }
- }
- *(line+(i+1)*7) = ',';
- if (isprint(*(cbuf+i*2)))
- *(line+52+i*2) = *(cbuf+i*2);
- else
- *(line+52+i*2) = '.';
- if (isprint(*(cbuf+i*2+1)))
- *(line+53+i*2) = *(cbuf+i*2+1);
- else
- *(line+53+i*2) = '.';
- }
- for(i=j;i<6;i++)
- {
- sprintf(line+i*7," ");
- *(line+(i+1)*7) = ' ';
- *(line+53+i*2) = ' ';
- *(line+54+i*2) = ' ';
- if (*(line-1+i*7) == ',')
- *(line-1+i*7) = ' ';
- }
- if (size == 0)
- *(line+42) = ' ';
- ds += ls;
- sprintf(line+46,"%5lx",count);
- *(line+51) = ' ';
- count += 12;
- dial_file(dname,ds-12-strlen(sname),x,y,w,h);
- Fwrite(fd,ls,line);
- }
- Fwrite(fd,3,"\011};");
- ds += 2;
- dial_file(dname,ds,x,y,w,h);
- erase_dialog(x,y,w,h);
- Fclose(fds);
- }
- Fclose(fd);
- }
- }
- }
-
- /*************************
- Do help dialog
- **************************/
- void infohelp(void)
- {
- int x,y,w,h;
- draw_dialog(HELPDIAL,&x,&y,&w,&h,0,SHOW);
- exit_dialog(HELPDIAL,x,y,w,h,HIDE);
- erase_dialog(x,y,w,h);
- }
-
- /****************************
- Do info dialog
- ****************************/
- void maininfo(void)
- {
- int x,y,w,h;
- int selection;
-
- draw_dialog(INFODIAL,&x,&y,&w,&h,DDRN|DDRS|DDRE|DDRW,SHOW);
- selection = exit_dialog(INFODIAL,x,y,w,h,HIDE);
- erase_dialog(x,y,w,h);
- if (selection == INFOHELP)
- infohelp();
- }
-
- /*******************************************************************
- MAIN
- *******************************************************************/
- main()
- {
- int msg_buf[8];
-
- /* INITIALIZE GEM */
- appl_init();
- fix_objects();
-
- /* APPLICATION ROUTINES */
- graf_mouse(POINT_HAND,0);
- maininfo();
- menu_bar(rs_trindex[MAINMENU],SHOW);
- for (;;)
- {
- evnt_mesag(msg_buf);
- if (msg_buf[0] != MN_SELECTED) continue;
- if (msg_buf[4] == MAINQUIT) break;
-
- switch (msg_buf[4])
- {
- case MAININFO:
- maininfo();
- break;
- case MAINSPLIT:
- split();
- break;
- case MAINJOIN:
- join();
- break;
- case MAINBINC:
- binc();
- break;
- default:
- break;
- }
- menu_tnormal(rs_trindex[MAINMENU],msg_buf[3],TRUE);
- }
- menu_bar(rs_trindex[MAINMENU],HIDE);
- appl_exit();
- return(0);
- }
-