What is Cbreak? Cbreak is a graphical world editor for use in the windows 95/98/NT environment. It _Should_ work with windows 3.11, but it has not been tested - and future versions are guarenteed to be incompatiable. Oh. Another editor. Could you throw it on the stack with the rest, on your way out? No. It's not just another editor. It's not? What's so special about it? Well, currently, not too much. But that's one of it's strong points. Cbreak currently attempts to adhere to the stock circlemud world layout. Just like CircleMUD, that means it's easy to expand. As a matter of fact, Cbreak already includes support for the extra nw/ne/sw/se exits - if you have them in your mud, Cbreak will toggle it on. Otherwise, it's perfectly stock. That is, a perfectly stock replacement for oedit, medit, redit, sedit, and zedit. That's right, Cbreak does all of those. Unlike a few other well made editors, Cbreak grabs all 5, instead of just the world, or mob list. It's convient too - sometimes zedit needs to know what mobs and objs are, and related things of that nature.. Plans are on the way to generate a help editor (stock and hedit-oasis compatible) as well as socials (again, stock and aedit-oasis compatible). Perhaps it's biggest selling point though is that I'm including the source code - which itself is GPL'ed. It took a bit longer to write the thing without looking at actual code, but I got it done, after a few errors. Lucky for you, the code is not written in Object Pascal with an OWL studio builder - or some other arcane setup - The code is written using MSVC 6.0, sp4. Truthfully though, I barely depend on the MSVC additions - I attempted to write the majority of the code using standard ansi C++, with heavy use of the STL. This means that the lion's share of the processing is immediately readable by -> you <-. Seems like a tall order. How long did it take you to write that? A bit. About two months of on and very off work, usually around 30 minutes to an hour a day on my lunch break, and perhaps 2 hours on the weekend. I'd have put in more time, but my girlfriend did not approve. Something about 'our only together time'. I don't remember, I was thinking up code. All in all, I probably could have gotten it done in around a week or so, after work and on the weekends, barring one small detail. Of course, I didn't know MSVC very well. Last time I wrote a large program for a visual microsoft environment, it was in '94, and it was for a windows 3.11 machine. Not using MFC. Not using an editor aside from notepad. Things sure have changed. So what else does it do? Literally, nothing. It reads files, lets you alter/create them, and then writes them out if you so desire. It's currently a no-frills version. But it works right? Yes it works, but look at the planned feature list and you'll see what I mean: Planned features ---------------------- - external configuration of all constants (spell names, item type names, bitvector names & values, file formats, etc) - support for inline color - direct mud ftp support, for real-time updating (both ways), including user & password validation. - aedit added - hedit added - consolidation of frequently used screens into a single screen (ie, bitvector selection screens, etc) mostly this is a code change. - add in support for common patches, autodetect or toggleable (ie, dg scripts, mobprogs, etc) - include virtual walk-around system to examine, use, etc items. - add CircEdit-like map system..perhaps a bit easier to use though. - save previous user preferences - allow user-defined default templates for each new editor screen - that is, default mob when you hit 'new', etc. - determine some module system to use - perhaps activex (support already included in the system) or some other dynamic module attachment system, so people can generate their own addons. - include stat & value 'guessing' - mob/obj stats based on either a provided table or analysis of similar items in the currently loaded files. - include support for multiple type-system read in & out.. not just circlemud (though that may recieve my primary support) but a module-link in allowing different formats to be loaded as one of any, and written as one of any. - have this program rewritten in unix & windows friendly java. - add context-sensitive help & write up a help document, along with webpage for screenshots & a 'how to' question sheet. Oh. any bugs I should be aware of? Yes, two at this time that i'm tracking. 1 - If an item is a circle file appears as a string terminated with a tilde, usually the tilde is at the end of the string if the item being read is a single line string, or on a seperate line by itself for multi-line strings. However, there's a third type, where the tilde appears at the end of the string on a multi line string. If you use this format (which is just fine) you may notice a strange unprintable character in the window text box display (it's a \r). It will print out/format right, and if you delete it or not, it doesn't matter - it'll work. it just looks bad. I've played with a few ways of fixing it, but so far, it's not quite fixed. 2 - I switched the CEdit controls for ones with a few extra options - like Format, and Format with Indent - soon, color too. Right clicking on them shows this menu - same as the top level menu. While the right click menu has items correctly greyed out (like if there's nothing to paste, or undo, those two are disabled) - the top level menu refuses to be told what to do. It's exasperating. However, they still work when they're valid, and simply fail to do anything when they're not. So it's considered a cosmetic bug. 3 - I haven't altered the directory grabbing code, to prompt to create directories, or to work if you choose the base directory as your 'world' directory. It probably won't work. Other than that, you should be okay. Interesting name and splash screen. Where'd you come up with those? Well, I'm into humor. So I looked at the other names of editors that were out there, and thought to myself, what would be relevant, yet funny. Ah-ha, it's C-Break. C for Circlemud, and Break, for what it did often enough. Hopefully, you won't be visited by that demon, and the sarcasm of the name will be totally lost on you. The splash screen - provided by my girlfriend - goes along with that. If you're familiar with the tarot, you'll notice that the majority of images there is from several collections - the people (falling; The Tower, base of the tower; The Hanged Man, by the shore, Seven of Swords, with 6 swords removed) are primarily from the rider-waite version, and the tower and apparently some of the scenery are from others. If you're not at all up on your Tarot, The Tower usually represents great loss or sickness, sometimes other interesting problems that seem to be pretty negative. The hanged man usually represents death through violence, and the 7 of swords is actually not too bad, funny enough. It represents ' a worthwhile struggle'. Perhaps though, I simply saw the tarot cards, laid them out and said "Make me something with those, only with more fire, and explosions. And dead people." Either way, I think it's pretty badass. Did you forget the documentation? No. CBreak should not necessarily _NEED_ documentation, however, when it does get written, It will be via a standard windows accessable .hlp file. Until then, I hope you can muddle along. It really ought to be mostly intuitive. If there is anything that you see that REALLY requires documentation, that you were boggled about till you just happened by luck on the answer, then mail me. I'll think about it. What about a web page? Er. Yeah. Webpage design. Hm. It probably will be located at http://www.exiledmud.org/cbreak/ But there's nothing there, except for the program itself, and a few screen shots. Perhaps some kind soul will volunteer some time to fix this up :) Anything else? Yes. Several things. If you know MSVC better than I (which should be too hard) then I need to talk to you about a great deal of things. Please contact me at the email address listed below, or within the code. If you know how to code at all, or discover any bugs other than those listed above, then please take the time to peruse the code, fix the obviously poorly written parts (of which there are alot) and mail me the fixes and description of fix. If that's too much, an email with the subject "CBREAK BUG" or "CBREAK SUGGESTION" and a short description of your issue would be greatly appreciated. I am especially looking forward to all the critism on this code - I know already that there are parts which are slated for change, and that I have not yet changed it. That's okay - If you tell me it's wrong too, then I'll be doubly sure not to overlook it next time. At the same time, a fresh pair of eyes probably is going to pick out what I did wrong faster than I would. If you'd like to take a more direct and active role in the creation of CBreak, I'm open to suggestions. I don't have anything resembling discrete plans how to do that, but I'm certainly willing to work with someone - As long as you know enough code to be helpful. If you don't know what a vector or map is, or the difference between a message map and a STL map, you need to do some work yet. Perhaps download the code, and play with it for a while, and generate your own patch or module :) You can contact me at dughi@imaxx.net with any questions, comments, or suggestions. Patrick Dughi (aka Xap) 12/24/00