I’m a fan of the TADS 3 Workbench, but after upgrading one of my old projects to TADS 3.1.3 and using the new Workbench, I found two really annoying problems.
I might report these on bugdb.tads.org/ later, but neither of them can be reproduced with a “minimal” example, so for now I just want to ask if anyone has seen these before.
Also, let me know if this is the best place for TADS 3 technical discussion. In the years since I last worked on TADS 3, rec.arts.int-fiction seems to have dried up.
1. Local variables and watch expressions become “corrupted”
See screenshots below for what I mean by “corrupted” local variables. Anybody seen this before?
When this problem happens, you can’t use primary features of the workbench. In the first screenshot, notice that the local variable “inputByteArray” is not only missing from the local variables list, but when I type it into the watch expressions, I get “undefined symbol,” even though it is in scope.
I encountered this in a rather large project I started many years ago, one that makes use of an extension I wrote called msg_custom.t, which replaces a substantial majority of the TADS 3 library messages. I found that when I removed this, the problem went away. But it’s not as simple as “there’s something wrong with my extension”; see (b) and © below.
A few things are unusual about this:
(a) I didn’t have this problem with previous versions of the Workbench (5-6 years ago).
(b) When I created an “ADV 3 Introductory” game and added msg_custom.t, the problem didn’t occur.
© When I tried including msg_custom.t in my large project but started commenting out various parts of it, I found there was not one specific part of the code that was the culprit. If I commented out a certain percentage of its code, the problem went away, regardless of which part of the file it was. If I commented out a smaller percentage, the problem would continue but would be less frequent.
2. Extremely long 90-second load times for projects with lots of resource files
When I started to use the TADS 3.1.3 version of the Workbench, I found my old project took a full 90 seconds to load, during which a Workbench popup would say “Loading Project… Restoring window layout…”
This was for a project where, within the .t3m file, within the “resource files” section, I was including about 20 folders that together contained 5700+ resource files (mostly small .png images). Eventually I figured out this was relevant; see (b) below.
Two things are unusual about this:
(a) I didn’t have this problem with previous versions of the Workbench (5-6 years ago).
(b) It’s a very black/white problem. The 90 seconds dropped to <2 seconds when I removed a stray .ini file that I had accidentally put in one of my resource folders. But then later the problem came back – 90 seconds again – this time for no apparent reason. Finally I moved all my resource folders into a .3r0 external resource file, and the problem has been gone ever since – essentially 0 seconds to load the project now.