Persistent Capitalization: another extended output formatting code

This isn’t the biggest change of all time, but it’s a darned useful one.  Once again, it’s using ! to extend an output formatting code.

Almost long as there has been a TableMaster, there have been the \C and \c output formatting codes. They arrived with embedded subtable calls, back in 1994 I think. And since 1994, it’s been bothering me that if that embedded call returns more than one word, only the first word will be capitalized. Most of the time, that’s what you want. But sometimes, you need a 2-word (or more) result, and you can’t just capitalize it in the table because that table is also being called elsewhere and shouldn’t be capitalized there. So for 24 years it’s been bothering me.

Continue reading “Persistent Capitalization: another extended output formatting code”

TGR and Other Stats

A year ago, I wrote up a very rough, basic game framework  called TGR — The Generic Rules — not a playable game, but something I could base TableMaster tables on, so there would be some degree of consistency in their references to various stats, monsters, etc. You can find them here: Stats, Races & ClassesMonstersSpells & Effects.

TGR has a basic set of character stats that cover most uses, but there are some interesting exceptions. Those generally apply to settings other than the classic “knights and monsters” fantasy setting.

Continue reading “TGR and Other Stats”

Quick State of The Code update

1.4.4 was just about ready … then I found a bug in the release candidate build. You know what they say, there’s always one more bug. This one’s insidious — it lurks somewhere in the output formatting, and inserts a space between “a” and “n” in a\n under conditions I haven’t quite pinned down yet. So there’s a delay while I’m bughunting.

Which, of course, pushes the new Table Pack back some. I’ve got about 20 tables for it finished, and now I’m chasing a bug in TM instead of writing tables. And working on fonts. And a few other things. They’ve just cloned monkeys … I wonder how soon they can clone me?

The current change notes for 1.4.4 and some comments on them are after the break.

Continue reading “Quick State of The Code update”

Sex added to TableMaster!

I couldn’t resist that headline. And after all, they say sex sells.

But really, what I added was a new command .SEX which sets the value of the {$Sex} system variable according to the arguments presented. The options are:

N – neuter
M – male
F – female
P – plural

.SEX MF randomly sets either male or female (he or she)
.SEX NP randomly sets either neuter or plural (it or they)
etc. The four can be used in any combination, so long as at least one is present. (and you can type out the words if you want, with the exception that since “female” includes “male”, you can’t use it unless you either want “male” as an option too, or you spell it fexale or something)

I’ve been adding commands today. I also added .UP and .DOWN, basically Inc and Dec from Pascal, and .PRINTCODE to print out any ASCII value from 0 to 255.  (handy for printing high ASCII to get, say, £ or whatever you need).

Yesterday, I was tinkering with the output formatting codes. I added another numeric one, \$, which works like \# and \@ except it outputs “once”, “twice”, “thrice”, “four times”, etc. Then Joel suggested “why not have it do a dozen too?” Well, that was problematic; I don’t have a lot of unused characters left, and I’d need three — one as a modified version of each of the numeric codes. Then I had an idea: it’s a modifier … so put a modifier in the code. You can now do \@!, \#!, and \$! to get a dozen, score, hundred, gross, and a few other terms. I’ll probably add a few more before it’s released.

I’ve wanted a way to capitalize every letter in the results of an embedded subtable call rather than just the first one with \C. When I can figure out how to do it without having it go and capitalize the whole output or something, \C! will eventually do that.

Still two bugs to go before 1.4.4 is available. Well, one is less of a bug than an oversight — .RESET doesn’t check to see if a table exists before it tries to reset it, so it will cheerfully reset absolutely nothing if you’ve got a typo in that. I had a typo in there. :p And the one with the files being stuck open is still there because it’s in hiding; I can’t fix what I can’t make happen! So until I can reliably surface that bug, it’ll be there. (if it happens to you, the only thing you can do is restart TableMaster)

So 1.4.4 will have six new commands (seven if I find the time to squeeze one last one in), a new output formatting code, and a modifier to several output formatting codes.

Y’know, back about 1998, someone was pushing me to add something or other to TableMaster — I forget what it was, I just remember it was a really bad idea. I said that TBL was complete, and there was no need for any more commands.

…maybe now?

And in personal matters, the cats have discovered that if one cat can take up most of a bed so a human can’t get comfortable in there, two can totally block that bed and make the human have to either sleep sitting up, or commit the terrible offense of moving a cat!

A Little Freebie

cipher disc image
printable WTS-01 Cipher Disc

I’ve been up to my eyeballs in work and life. Particularly, a program named Crypter which will do cipher-related things, kind of handy with some of the fonts I have on DriveThruRPG now.

I’m almost done with the Crypter manual, and while I was working on it, I whipped up something to use as a promo handout at conventions: a do-it-yourself cipher disc, so you can do Caesar and Vigenere ciphers manually. Your very own Wintertree Software Secret Decoder Ring! (secret decoder “rings” were often badges, etc.) And you don’t even have to save up boxtops!

Print it out on the heaviest cardstock your printer can handle, then follow the assembly instructions on the page.

In TableMaster-related news, the new version isn’t up for download yet because I’m chasing a bug I can’t force to appear when I want to. I’m starting to think it’s a figment of my imagination. Or perhaps, if I imagined it because I was hungry, a Fig Newton of my imagination. It would be embarrassing to put out a bug fix patch that had its own bug, though!



Happy New Year!

Happy New Year, everyone!

Well, saying I’d take a little while and update the Arcane Alphabets fonts took … more than a while. I now have 24 font packages on DriveThruRPG — that’s more than 24 fonts, as most of them contain several. It’s the little update that grew. I’ll have to admit, I’ve been enjoying myself. There’s just something viscerally pleasing about creating a font and seeing it go from an outline in a font editor to one that’s right up there on your screen with Times New Roman.

That certainly doesn’t mean that I’ve been slacking off on the programming, though!

There’s another new TableMaster update coming soon. Just a few new commands (none of them exciting … but for table development, sometimes it really helps if you can use a .BEEP, for example) and some bug fixes. I still have three more open bugs in the bug tracker. That’s a bit of a joke: the “bug tracker” is really just a file I list them all in; given that the latest bug is #81 — on certain errors, table files get left open — it’s not really crying out for a fancier solution.

Work on the new Table Pack is proceeding apace. I’m expecting to be done by the end of the month, if I don’t get sidetracked by more programming. I’ll post some sample output from some of its tables soon. I’m particularly fond of the one that creates islands.

And speaking of other programming, many years ago I wrote a little utility program that did basic letter transposition ciphers, either using pre-written transposition keys or generating new ones. I haven’t seen the thing in over a decade; I probably never bothered to transfer it over to the new computer, several computers ago; it got lost in the clutter. So, a year or so back, I decided to reconstruct it. And as y’all have noticed, I can’t not tinker with things. So I added a feature. Then another one. And another. And, well, I realized this thing might sell.

The problem was, I’d written it for myself. My quick-and-dirty programs tend to be, well, very dirty. They have no error checking or input validation, for instance, because I know what the input needs to be, and I’m not going to put something totally ridiculous in there. The controls tend to be obscure in the extreme. I know what that button creatively labeled button_1 does … isn’t that enough? Of course, if it’s going to be a commercial product, that isn’t enough. So I’ve been adding all sorts of error checking, and making sure that certain controls are disabled when they shouldn’t be used, putting pop-up tooltips on the buttons (not to mention labels that make sense!) and all that sort of stuff. When it’s done, I’ll pack Crypter — that’s what I’m calling it — up with a PDF manual, a copy of the basic Pigpen cipher font, and transposition tables to use that to create some of the Pigpen variants (there are scads) and send it to DriveThruRPG with the fonts and all.

The convention schedule isn’t nailed down yet. But when you see my actual table at an actual convention, Crypter will be there in a nice CD case, along with TableMaster (regular and deluxe), 7 Table Packs (8 if you count the Fantasy 1-3 set), probably three separate font packages plus a complete compilation of them, and all the clutter and odds and ends, like the power failure emergency kits, that seem to follow it around.

And I ran a little amuck in the post-Christmas sales on projection lights and their relatives, plus just before Christmas I got one of these. (on sale at a discount store, of course, because I’m cheap) So the Wintertree booth is going to be the one that looks like Steven Spielberg is under the table somewhere. And also has scrolling messages on the back wall, or maybe the ceiling, depending on the configuration of the space. And a physical instance of the plugdie that lights up and changes colors. Because why not?

Oh, and in the personal news, I’m still having complications with The House In Maine, which will probably necessitate me spending a month up there in the spring. And I’ve been acquired by another cat. She showed up on the steps and informed me that she was our new cat. I said that I hadn’t put in for a new cat, but I was informed that was not a consideration. She was our new cat. So there’s now a calico cat named Cricket in the bathroom, upsetting Caesar, who’s rather distressed that there’s this … animal … in his house!


The latest version, TableMaster 1.4.3, is now available to registered owners on the download page.

The first thing you’ll notice on the main screen is, if you have it maximized, down in the lower right there is a place for the logos for your most recent six Table Packs. Initially, of course, this won’t be populated — you’ll need to switch to the packs so they can be added to the list. Once you do, their logos will appear, greyed out, and will switch to full-color when you mouse over them; click on one and you go directly to that folder. (note: if you have one or more folders for your own tables and want something for them, put a file named packlogo.bmp in the folder with the tables, containing a  138 x 95 image)

In other UI matters, most things that should have options like “Print” or “Select All” have them now, on right-click menus. Font size changing is a thing now (FireMonkey makes this entirely too complicated). There are more options in the “Preferences” dialog. The run count has a right-click menu now, too, with common run counts to save a bit on typing. There are a few more bells and whistles, and perhaps the most significant thing is that the table output is now considerably faster.

The real meat, of course, is in TBL itself. There are some new commands. Okay, a lot of new commands. And the user interaction, handy for menus and the like, is back at long last!

.ATTACH – works like .JOIN but adds it to the end
.HEXIFY – converts a number into its hexadecimal equivalent
.CONVERT – converts the value of a text variable into a number
.END – stops table reading immediately (handy if you have non-table material in your file)
.EITHER – randomly prints one of the two following words
.DEFAULT HOTZONE – sets the hotzone % for open-ended rolls
.DEFAULT EOLSPACE – sets whether a space should be added to output lines
.ASK – gets user input to a variable
.SCREEN – like .PRINTOUT but to the user interaction screen
.CLEARSCREEN – clears said screen

There is also a new They-variable, {$child}, which takes the values of child/boy/girl.

The  language reference manual has been updated to include the new commands and options, as has the quickref card. The latter has also been reformatted slightly. Print it on both sides of a sheet of cardstock, cut up the middle, and you’ll have two handy reference cards.

There are also a number of bug fixes, both the ones in the change notes and the ones that were too trivial to really note. I’m sure there are some unsquished bugs; let me know what they are if you catch one and I’ll squish it for the next update.

The raw change notes follow the break.

Continue reading “UPDATE!”


Everyone else has Black Friday specials, so Wintertree should too. So …

If you buy TableMaster between now and Monday, you get your choice of any Table Pack or the PolyDice font package for free. Specify which you want in the “instructions to seller” field at PayPal checkout. The fonts will be a DriveThruRPG download, so if you want that sent to a different email address than the one you used for payment, mention that too. Plus, if you’re buying the physical version of TableMaster, your package will include some extra Wintertree swag.

If you buy any Table Pack, can have get your choice of any Wintertree font on DriveThruRPG for free; again, specify which one you want when you purchase the Table Pack, and a different email address if desired for the code to go to. (note: any single font, not the big PolyDice bundle)

And, of course, if you’re just buying fonts, they’re part of the sitewide sale over at DriveThruRPG  (except for Albrecht) through Monday.

Enjoy those leftover turkey sandwiches and have a good one!

p.s. If you’re buying a physical copy of TableMaster as a Christmas gift for a gaming friend, there’s no extra charge for gift wrapping. (paper and a nice ribbon; bows just don’t survive the Post Office) Also mention at checkout if you don’t want a receipt in the box, if it’s shipping directly to the recipient.

Black Friday & Fonts & Stuff (oh my!)

DriveThruRPG is having a Black Friday -> Cyber Monday sale, and all Wintertree fonts (except, for some reason, the newest one) are discounted. The link’s here. You can get DarkCity for $3.74 … if I hadn’t made it, I’d be buying it!

It’s funny, back in April, I said I was going to overhaul the old Arcane Alphabets but not make any new ones. Well … that went by the wayside. I can’t help it; I like making fonts. So I not only did some pretty comprehensive overhauls (DarkCity being one of the more elaborate ones) but I’ve made a bunch of completely new ones. They’ll be up on DTRPG as time permits. Plus I need to make sure the helper program runs properly on the Macintosh. Helper program…? Um, forget I said that. Nothing to see here, move along. Pay no attention to the software behind the curtain.

The new build of TableMaster seems to be ready for prime time. I should be putting that on the download page within a few days; mostly, I have to finish updating the manual to cover the ten or so new commands, fix one last bug in the user interface (not a functional bug, but an irritating one nonetheless), and try to persuade the install builder not to lose the icon this time.

I’m working right along on the new Table Pack, too. I’ve got about 20 tables written for it, though some of them are kind of trivial (name generators mostly for the use of other tables, for instance). Assuming nothing else … interesting … happens, I want to have that done around January-February-ish.

And as a little teaser, after the jump you’ll find some output from one of the new tables.

Continue reading “Black Friday & Fonts & Stuff (oh my!)”

Quick note about the fonts (and a free one)

The fonts from Wintertree Software are in OpenType format; they will work on both Windows and Macintosh. I’m looking at a d12 with pips, using the “3D” shading, on my Mac right now.

And that particular font, in addition to working nicely on Macs, is available free at DriveThruRPG! You can download it here.

There’s a bit of a story to it: on Sunday, I was in the only game store within fifty miles of here, and as y’all know, I’m a diceaholic; I really do have a dice jar bigger than my head, and actually I’m starting on a second one. So, I’m looking over the dice to see if there are any interesting ones I don’t have, and the only really notable one was a rather large d12 (about an inch across) with pips, aka dots, instead of numbers.

Well, that’s a totally useless die for any practical use, but it’s weird so I felt compelled to get it. And then I felt equally compelled to make a font out of it. That part was easy — I just used the d12 outlines from the regular dTwelve fonts (which you can buy on DriveThruRPG, by the way) and put in pips instead of letters and numbers. So, what to do with this singularly pointless font? I realized it would be a great demo for the various styles, and how the shading works, for the other PolyDice fonts.

So, you can go grab it for free. It’s a great way to try out what the fonts can do (like the shading) and how they look in practice. And, of course, if you really need to type a d12 with dots on it (maybe for a store sign? “all dice 20% off” illustrated with assorted dice?) now you can.

I’m just starting to transition digital sales over to DriveThruRPG. Their system works much more smoothly, with instant downloads and all, than waiting for me to email buyers a serial number. The fonts (old and new) will be first, as they don’t have serial number issues like TableMaster does (I’m working on that). Eventually everything will wind up there except for physical items, which of course I still have to mail. The conventional 6 polyhedral dice types are available individually or as a package, as is a d6 with pretty much everything I could think of to put on a d6 — the faces in that font look suspiciously like the contents of my dice jar.

One little teaser before I get back to work: If you have the long-ago Arcane Alphabets or Mapographer font packages, you’ll remember DarkCity, the city skyline font. You could do things that looked like this (also seen in the previous post about the new fonts):

Well, I kind of got creative.  More than “kind of”, I guess. For one thing, there’s now a version that will put a colored background behind each character, so you can light up your windows. Then I had an idea, based on how I did the shading in the dice fonts. Now you can do things like this — I just typed this!

Yes, that rose window is just another couple of characters (A and H, to be exact) which, when in bold italic, line up over the window in the cathedral. It’s rather badly getting away from the entire concept of a silhouette font, but there are all sorts of things like that. I changed the volcano seen last week so it works the same way. You can put hieroglyphs on the Egyptian obelisks and temple, leaves on the trees, a smiling face on the moon, water under the bridges, and so on. You could, if you so desired, make each of the 16 segments of the rose window in that cathedral a different color.

And since there isn’t a place for something like that window on every character, I’ve utilized them to put in yet another alternate version of the ones from the other versions. For example, different cubic (southwestern-style) small buildings, which can use the same window color underlay as the ones in the regular font, or the flocks of birds flying higher or lower.

Coming soon!