.GOBACK! .GOBACK! (and a snake picture)

So, what are my fellow Americans doing on this Independence Day weekend? I’m writing code. :)

Last week’s bug situation really threw off the schedule; when I should have been coding, I was playing telephone tag with various people and, well, dealing with the problems engendered by a voracious horde of six-legged creatures devouring my floor right out from under me. I was debugging my house, not my software! Now that the termites are (hopefully) terminated, I’m finishing up the last few bits of TableMaster II. This time, .GOBACK.

Continue reading “.GOBACK! .GOBACK! (and a snake picture)”

Pyromaniac simians and what this has to do with TableMaster for the Mac

One of the significant things for TableMaster II is the OS X version. Formerly, I believed this was going to be a very simple thing — just buy the Delphi upgrade, select the proper target platform, and compile. Well … it’s not.

The basic issue is that there are two Delphi frameworks — VCL (Visual Component Library), the original, and FireMonkey, the new one. It was not apparent to me when I started TableMaster II development that only one of those, namely FireMonkey, was cross-platform; since I’d always used VCL, I just kept right on using it.

…and came a cropper.

Continue reading “Pyromaniac simians and what this has to do with TableMaster for the Mac”

A List Together

TableMaster II is very nearly feature-complete. This afternoon, .LIST and .LOOKUP were finished. That took some structural rearranging of the program, because I thought of a much better way to do it than I did the first time around. The way it is now, if there’s ever a demand to put .GRID back in (though I seriously doubt there will be … did anyone ever use that?) or I come up with something new that is essentially a quasi-table the way a list is, the structure is all there for it. And there’s one slightly new tweak with .LIST, too.

Continue reading “A List Together”

Another minor milestone

TableMaster can handle some pretty complex stuff. The infamous heraldry table, which comes with the program, is one example. Another is the even more complex cavern generation table that is part of Fantasy Table Pack 2. While it’s meant to simply translate and expand written tables, TBL is a programming language, however specialized. The caverns table showcases TBL at its most programming-language-y.

And, not surprisingly, it’s been one of the last tables to be able to run properly under TableMaster II. Some of the things it needs, I only fully implemented today. It also has a lot of system variables with the old names, expressions using the old angle brackets, and so on, that TableMaster II takes issue with. Well, as of today, CAVERNS.TBL runs. I’m sure it still does something wonky — it’s great for debugging that way — but I’ve been running off cave descriptions a mile at a time, and it’s fun.

I’ll put the actual table after a break, since it’s rather large:

Continue reading “Another minor milestone”

The Kickstarter is live!

The Kickstarter is live. I say again: The Kickstarter is live.

Back it here: https://www.kickstarter.com/projects/931097983/tablemaster-ii-gamemasters-aid-software

Get in on the testing (real beta testing, not a hokey pre-release promo!), get early access to TableMaster (at least a week before it’s available to the public), get a discount, and get swag! Plus your name in the manual, of course.

Continue reading “The Kickstarter is live!”

Last major feature in!

.LOCKOUT is in!

That’s the last major feature of TableMaster II. There are still a few minor commands missing, and a few aspects of some of the existing commands, and strange things happening with the expression evaluator, and of course the whole program is buggy as hell and there’s virtually no error handling … but .LOCKOUT is in. The framework is done. After 16 years, TableMaster is a thing again. And what a long, strange trip it’s been.

Continue reading “Last major feature in!”

Status update (updated)

It’s been a few days since my last post, and things have been going nicely.

The latest addition is the expression evaluator. I’ll be honest, I cribbed it from my old code. Looking at it, I realized that I’d done a remarkably good job of writing that (it didn’t hurt that it was one of the later things I added, so I was pretty good at Pascal by then!) and it made no sense to reinvent the wheel. I needed to make some changes to fit the modern TableMaster structure, of course, and a few minor tweaks to avoid variable and function name collisions, but aside from that I could pretty much graft it in there wholesale.

Continue reading “Status update (updated)”

Formatting codes are in

I’ve been a bit busy for the past few days (tax time, among other things) but I’ve got some more of TableMaster together. This time, it’s all of the output formatting codes, plus a few new ones.

For those people who never met them, the output codes are one of the things that really set TM apart. They let you produce output that looks more like it had been written more by a human being and less like a bad mail merge program.  I’ll explain…

Continue reading “Formatting codes are in”

It’s Aliiiiiive!

TableMaster II has run its first table!

Naturally, the output was “Hello world!” Along with a page full of diagnostics and assorted clutter, there it was: TableMaster II’s sign-on as a running (or at least crawling) program.

All it can do so far is print things (and not even randomly selected things) — but it can print things. It can read a table and print out what it finds there. In a very real sense, the hard part is over; all the rest is elaboration.

Continue reading “It’s Aliiiiiive!”