ODTJ9304.TXT 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447
  1. The
  2. OPENDOORS TECH JOURNAL
  3. Volume 93, Number 4 June 21st, 1993
  4. "The Greatest Thing to happen to Journalism Since Real People"
  5. This Issue: A Word from the Editor - Scott Burkett
  6. The Open Door - Brian Pirie
  7. The OPENDOORS Echo
  8. Where's the Source? - John Kristoff
  9. Opendoors Tech Corner - Dropfile Location Logic
  10. Review: BFE v1.30.2à
  11. OpendDoors Snippets!
  12. OpenDoors Roll Call
  13. OpenDoors Distribution Network Sites
  14. OpenDoors Tech Journal Information
  15. ----------------------------------------------------------------------------
  16. A Word from the Editor:
  17. ----------------------------------------------------------------------------
  18. Another day, another fifty cents. Welcome once again to that info-filled,
  19. free-as-can-be periodical dedicated to the proposition that all C-based door
  20. libraries are not equal!
  21. ODTJ is getting read worldwide. Yup. You know what that means? Aside from
  22. the fact that it provides a wonderful forum for OD coders to share ideas and
  23. information, it provides:
  24. FREE ADVERTISING!
  25. Man! With the distribution we are getting, ODTJ is the perfect place to
  26. advertise that new door! I'll leave the rest up to you guys....
  27. All in all this is a decent issue. It will probably be the last issue before
  28. the 4.20 release of OpenDoors (it should be a doozy). On a side note, our
  29. BBS (Under the Nile) is not running on a USR 14.4 Sportster. Too cool.
  30. That's it. No more words of wisdom this month. No more ranting and raving
  31. on and on about how RIP is inevitably gonna die.... :-)
  32. Alles Klaar und spater!
  33. ----------------------------------------------------------------------------
  34. THE OPEN DOOR - By Brian Pirie
  35. ----------------------------------------------------------------------------
  36. ** Editor's Note **
  37. Has anyone seen this guy? Seriously, rumor has it that Brian is up to some-
  38. thing *BIG*. Of course, once the rumors have been resolved, our readers will
  39. be the first to know! Why? Because we have inquiring minds. Hrmpf! Look
  40. for Brian next month....or the next month....or the.....ad infinitum.
  41. ----------------------------------------------------------------------------
  42. OPENDOORS Echo!
  43. ----------------------------------------------------------------------------
  44. OPENDOORS is an internationally distributed echo designed for discussion of
  45. BBS door/utility programming, and in particular, Brian Pirie's OpenDoors C
  46. Library!
  47. The OPENDOORS Echo was created by a group of dedicated BBS door and utility
  48. programmers and designers, in order to promote discussions on BBS utility
  49. programming techniques, tasks, standards, and trends. This echo is not just
  50. for BBS door authors! Discussion of practically any aspect of BBS programming
  51. is encouraged. Brian Pirie, the author of OpenDoors is available for tech
  52. support, as are his beta-testers.
  53. The echo is not currently on the FidoNet backbone, but a feed is more than
  54. likely available at your favorite ODN Support Site. Efforts are under way
  55. to put OPENDOORS on the fido backbone...stay tuned!
  56. ----------------------------------------------------------------------------
  57. Where's the Source?
  58. ----------------------------------------------------------------------------
  59. By: John Kristoff, The Crossroads BBS (1:115/743)
  60. There seems to be a problem with source code for BBS related utilities and
  61. door programs being released. Why is this? I know we have BinkleyTerm,
  62. Maximus and a handful of others, but how many door games do you see that come
  63. with actual source code? I don't think I've seen any. In fact, the only
  64. door program that I've seen the entire source for is Brian's RAVote.
  65. Not that I expect the source code for TradeWars (even if I wanted it), but I
  66. find it surprising that so many door programmers are so greedy. I started
  67. teaching myself C because I'm sick of relying on other authors. I wouldn't
  68. be surprised if many other small time programmers have done the same. I've
  69. always thought that the BBS community, and computer networks in general, are
  70. one of the most free, open and chaotic cultures our planet has ever seen.
  71. So I can't understand why people request $10, $25 or more for a files list
  72. generator, a simple voting booth door or those other 'dime a dozen' programs.
  73. Don't get me wrong, I pay for quality software and I have at least a dozen
  74. shareware programs registered. However, if I was to register every program
  75. I've wanted to use for more than 30 days, I would be in the poor house.
  76. There are just simply too many trivial programs in which I feel their price
  77. isn't justified for lack of programmer committment, exhorborant price, or
  78. just simply the value of the product. I'm not looking for a free ride, but
  79. I am looking for quite a bit more respect from my fellow programmers. For
  80. users, the hobby is relatively cheap, but for sysops, it's a different story.
  81. Well, at least if you're honest. Us sysops have enough to worry about in
  82. terms of phone bills, trouble users, hardware, updates and upgrades... and so
  83. on.
  84. I'm including a text, simliar to this message with all programs I write to
  85. encourage the programmers for sysops to write free or cheap software. I plan
  86. on releasing all my BBS related utilities and door programs as freeware or
  87. public domain (even if that is all they're worth). It's my way of giving
  88. something back to the community that has given me so much. I encourage you
  89. to do the same, or at the very least, with some of your less popular programs.
  90. John Kristoff
  91. The Crossroads BBS
  92. (312) 587-8756
  93. Chicago, IL
  94. FidoNet: 1:115/743
  95. Internet: [email protected]
  96. ** Editor's response:
  97. While I am somewhat in agreeance with John on this subject, I must also play
  98. devil's advocate, and come to the aid of door writers who produce solid
  99. products, often without the availability of source. Source code availability
  100. for shareware products is simply not available, for obvious reasons. The
  101. author(s) of the product cannot make source available, as potential customers
  102. could simply recompile the source, and effectively use the software without
  103. properly registering it with the author(s). In my own case, I choose not
  104. to distribute source code for this reason. For smaller, freeware titles, I
  105. suppose I never considered the fact that other programmers would want to
  106. peek at my code. As far as price goes, I have a set $10 registration fee for
  107. all of my door packages, a price which I consider to be extremely low for the
  108. quality of my products.
  109. Very interesting point, John...anyone out there have any feelings on this?
  110. ----------------------------------------------------------------------------
  111. OpenDoors Tech Corner: Dropfile Location Logic
  112. ----------------------------------------------------------------------------
  113. At this time, OpenDoors searches for the door information file (aka dropfile)
  114. in the following order:
  115. 1.) First, if there was a custom door information file format
  116. defined in the OpenDoors configuration file, OpenDoors will
  117. begin by looking for this file. OpenDoors searches for the
  118. custom information file in the following order:
  119. A.) The path defined in the info_path variable
  120. (which can be set by your door code and over-
  121. ridden by the configuration file BBSDir setting)
  122. B.) The directory which was the current default dir
  123. at door startup time
  124. C.) If any of the following environment variables
  125. exist, OpenDoors will then search for the file
  126. in the directories pointed to by these variables,
  127. in the following order:
  128. RA
  129. QUICK
  130. PCB
  131. BBS
  132. 2.) If no custom door information file was found / defined,
  133. OpenDoors will then search for door information files
  134. corresponding to one of the built in formats. It will search
  135. for these files in the same directories, and same order, as
  136. it does for the custom door information file (A - C). Within
  137. each directory, it will search for files with the following
  138. filenames:
  139. CHAIN.TXT
  140. SFDOORS.DAT
  141. DOOR.SYS
  142. CALLINFO.BBS
  143. DORINFO1.DEF
  144. DORINFOx.DEF, where x is the node number
  145. set by your program, if
  146. x != 1.
  147. As soon as it finds a directory containing one of these
  148. filenames, OpenDoors will stop it's door information file
  149. search phase. It then begins to decide what to do with what
  150. it has found. If more than one of the above filenames was
  151. found in the directory in question, OpenDoors will read the
  152. file with the most recent date and time stamp. This is intended
  153. to overcome abiguities that can arise when a door information
  154. file conversion program is being used, and a number of
  155. different door information files may still exist in the
  156. directory. In such a case, it is assumed that the most recently
  157. created file is the one that should be used. If more than one
  158. file exist with an identical date and time, OpenDoors will use
  159. the file that is closer to the beginning of the above list. (ie
  160. they are listed in their order of priority)
  161. Once OpenDoors has decided which file it is going to use, it
  162. may have still more decision-making to do. In the case of
  163. door information file names that correspond to more than one
  164. format (such as DOOR.SYS), OpenDoors will examine the file
  165. to determine which format it actually is. If a dorinfo?.def
  166. file is found, OpenDoors will then also search for an
  167. EXITINFO.BBS file. (An EXITINFO.BBS file is always acompanyed
  168. by a DORINFO?.DEF file, as it does not include all the
  169. information needed by even the most basic of doors). Again,
  170. if an EXITINFO.BBS file is found, OpenDoors must determine
  171. which of the many EXITINFO.BBS formats it is actually dealing
  172. with.
  173. This may all sound rather complicated, but it is a well thought-
  174. out strategy that is intended to asure that the correct door
  175. information file will be located and used in the vast majority
  176. of cases. (and to think - it does all this in the blink of an
  177. eye!)
  178. ----------------------------------------------------------------------------
  179. REVIEW: BFE v1.30.2à
  180. ----------------------------------------------------------------------------
  181. BFE v1.30.2à, the flexible BBS front end system from Cairo Research Labs is
  182. now available! This is an alpha release of the upcoming 1.30 version of
  183. BFE.
  184. BFE is a BBS front-end system that was designed to provide sysops with a
  185. method of running more than one BBS from the same line. In addition, it has
  186. a wealth of other options available to put in on the front-end of your BBS,
  187. such as allowing file transfers, ANSI/ASCII file viewing, shelling to DOS
  188. from remote, running external programs and batch files, and much more!
  189. BFE was designed to be called from a front-end mailer, such as Frontdoor or
  190. Binkleyterm. Instead of spawning directly to the BBS system, it presents
  191. a menu to the user, which details his immediate options. These options can
  192. range from several different BBS systems, remote jobs, literally anything
  193. you can think of! The BFE system can also be configured to be called
  194. straight from your BBS software itself, in essence, running as a normal
  195. door, using one of several popular BBS dropfile formats. Read onward....
  196. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
  197. ܳ Features ³
  198. ÛÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  199. ßßßßßßßßßßßßßß
  200. * Complete support for ANSI/ASCII/AVATAR users (Auto ANSI detect!)
  201. * *TRUE* Multinode/Multiuser Compatibility!
  202. * DESQview aware!
  203. * Configurable for security concerns!
  204. * Custom multi-level menus with item-level password protection!
  205. * Complete carrier monitoring and timeout checking
  206. * Use any of 11 standard dropfiles, or define custom ones!
  207. * Run as a normal door or as a frontend! Dropfile not required!
  208. * Complete BBS carousel - run multiple BBS systems
  209. * ASCII/ANSI/AVATAR file support
  210. * File transfer system with support for external protocols
  211. * Run remote jobs, such as batch files, programs, other doors, etc.
  212. * Remote OS shells!
  213. * Built in chat mode
  214. * Much more!
  215. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
  216. ܳ What's New in This Release? ³
  217. ÛÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ o New * Change ! Fix
  218. ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
  219. o *Major* code cleanup and internal re-documenting and optimizing.
  220. This will be done every periodically in order for the product to
  221. continue to grow.
  222. o New beta naming convention: MAJOR.MINOR.REV (Staging Level)
  223. (i.e. this is 1.30.2à, v1.30, rev. 2, in alpha staging)
  224. o Custom user input using the new PROMPT keyword! Now, you can
  225. utilize custom input as the value for SECONDARY data fields for
  226. *any* menu type in BFE!
  227. o New keywords: NOPASSPARMS and PROCESS. These are used to directly
  228. manipulate the way that BFE performs calls to external processes.
  229. When used with the PROMPT keyword above, just about anything can
  230. be called, in any order, with any arguments!
  231. o The COLOVERRIDE option has been added, to allow each individual
  232. menu option to use its own unique color. This overrides the global
  233. DESCRIPCOL keyword in each .CTL file. (Thanks to Chris Koziol)
  234. o Upload capability now in place! This involved changes to the
  235. PROTOCOL.BFE file, and adding a new type "U" option.
  236. ! If BFE cannot locate ASCII/ANSI/AVATAR screens at display time,
  237. it will log an error entry into the logfile, and will no longer
  238. wait for a remote keystroke to continue. (Thanks to R. Guevarra)
  239. o Generic File Transfer System now in place! The new system allows
  240. the use of configurable external protocols (no more hardcoded DSZ!)
  241. o WELCOMESCREEN option added, to provide a global intro screen to be
  242. displayed upon entering the BFE system (shown once only). As with
  243. all of the file display capabilities of BFE, the file can be in
  244. ASCII, ANSI, or in AVATAR formats. BFE will display the one which
  245. best fits the user's terminal settings.
  246. o The "time to next event" option has been put back into the system,
  247. and is now passed via a new "-t" switch. (i.e. -t60, -t%3, etc).
  248. This value is passed to external procedures (Type "R").
  249. * The "O" type (Remote OS Shell) now utilizes the COMSPEC environment
  250. variable to locate the command processor. The command processor
  251. was formerly specified in the SECONDARY field. Previously, if
  252. this value was keyed in wrong, it resulted in BFE locking up
  253. the system. Using COMSPEC should make this a bit cleaner.
  254. o Still more documentation changes!
  255. FREQ: BFE from: Under the Nile! 14.4/v.32 1:3613/12 (706) 596-8126
  256. 93K
  257. Scott Burkett,
  258. Cairo Research Labs
  259. ----------------------------------------------------------------------------
  260. OPENDOORS SNIPPPPPPPPPETS!!!!!!
  261. ----------------------------------------------------------------------------
  262. By: Mark Williamson, Software Solutions (1:214/54)
  263. Here's yet another way to center your favorite text string:
  264. void str_center(int line,char *string,char *color)
  265. {
  266. int col = 40 - (strlen(string) / 2);
  267. /* This method uses the length of the string to center it. So,
  268. you would get strange results if you embedded control codes
  269. in your string.
  270. */
  271. if(od_control.user_ansi) { // This way allows you to specify
  272. od_set_cursor(line,col); // the line to put the text on.
  273. od_printf(color); // Use the `white on blue` code types
  274. od_disp_str(string);
  275. }
  276. else {
  277. od_repeat(' ',col); // This method uses the CURRENT
  278. od_disp_str(string); // line the cursor happens to be on.
  279. }
  280. return;
  281. }
  282. Mark Williamson
  283. Software Solutions BBS
  284. 1:214/54
  285. Lemoore CA
  286. (209)997-0224
  287. v32/v42bis
  288. Open access to first time callers.
  289. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  290. By: Mark Williamson, Software Solutions (1:214/54)
  291. /******************************************************
  292. * fill_box() by Mark Williamson, Software Solutions BBS
  293. * Fidonet 1:214/54, (209)997-0224
  294. *
  295. * This code will paint a box in the
  296. * specified color using the specified
  297. * character using ansi/avatar graphics.
  298. * Note that this does not make a border!
  299. * Only 'fills' a block on the screen.
  300. * Can be used to clear just parts of a screen.
  301. *
  302. * Call the function with the following parameters:
  303. *
  304. * int srow,scol: Starting row,col of the box
  305. * int erow,ecol: Ending row,col of the box
  306. * int attrib: od_set_attrib() style color code
  307. * char fill_char: The character to use to paint the
  308. * block. Use ' ' to clear a block.
  309. *
  310. * This code is placed in the public domain.
  311. ******************************************************/
  312. #include <stdio.h>
  313. #include "opendoor.h"
  314. void fill_box(int srow, int scol, int erow, int ecol,
  315. int attrib, char fill_char);
  316. void main(void)
  317. {
  318. fill_box(3,10,13,40,0x1f,'°');
  319. }
  320. void fill_box(int srow, int scol, int erow, int ecol,
  321. int attrib,char fill_char)
  322. {
  323. int line_len,x;
  324. if(srow<1) srow=1;
  325. if(erow>24) erow=24;
  326. if(scol<1) scol=1;
  327. if(ecol>80) ecol=80;
  328. line_len=ecol-scol;
  329. od_clr_scr();
  330. od_set_attrib(attrib);
  331. for(x=srow;x<erow+1;x++) {
  332. od_set_cursor(x,scol);
  333. od_repeat(fill_char,line_len);
  334. }
  335. }
  336. ----------------------------------------------------------------------------
  337. OpenDoors Tech Journal Information
  338. ----------------------------------------------------------------------------
  339. Editors: Scott Burkett
  340. Under the Nile BBS
  341. 1:3613/[email protected]
  342. 56:101/[email protected]
  343. (706) 596-8126 14.4
  344. 1113 29th Street
  345. Columbus, GA 31902
  346. Brian Pirie
  347. BP ECOMM Systems
  348. 1:243/[email protected]
  349. [email protected] (Internet EMail)
  350. (613) 526-4466 14.4
  351. 1416 - 2201 Riverside Drive
  352. Ottawa, Ontario
  353. Canada
  354. K1H 8K9
  355. Published by and for programmers and users of the OpenDoors C Communications
  356. Library and BBS Interface Kit by Pirie Enterprises. It is a compilation of
  357. tips, reviews, and tidbits pertaining to BBS programming and general usage.
  358. The opinions expressed in this publication do not necessarily represent those
  359. of its editors, the OpenDoors author, or other contributors.
  360. OBTAINING COPIES: The latest copy of the OpenDoors Tech Journal will always
  361. be available under the magic name of TECHD (for the DOS version), and TECHW
  362. (for the Windows .WRI version) at both of the systems listed above.
  363. SUBMISSIONS: You are encouraged to submit articles for publication in the
  364. journal. Please send all items to one of the afore-mentioned systems via BBS
  365. upload or mailer file/attach.
  366. ----------------------------------------------------------------------------
  367. ->< End of The OpenDoors Tech Journal - Volume 93 Issue Number 4 ><-
  368. ----------------------------------------------------------------------------