I have completed enough of my rewrite of Flexible Windows to satisfy Kerkerkruip. It’s not quite finished, and there’s no documentation, but it’s complete enough to share here now.
Please download it here:
https://raw.githubusercontent.com/i7/extensions/master/Jon%20Ingold/Flexible%20Windows.i7x
You’ll need these too: (had to de linkify because of new user restrictions)
raw.githubusercontent.com/i7/extensions/master/Emily%20Short/Glulx%20Entry%20Points.i7x
raw.githubusercontent.com/i7/extensions/master/Dannii%20Willis/Alternative%20Startup%20Rules.i7x
My rewrite has some small changes that weren’t strictly necessary, but which lead to cleaner code in my opinion. A short migration guide for the most common changes you’ll need to make is:
- Many kinds, properties and the main/status windows have lost their hyphens
- Colours/styles updated to match GTE
- The window-drawing rules have been turned into the refreshing activity. It is no longer necessary to focus or clear the window
- The hyperlink processing rules have been turned into the processing hyperlinks activity.
Depending on how advanced the features you used were, you may need to make further changes to your code. Hopefully the code is easy enough to read and figure out what to do, but if you can’t, please just ask here.
Some things are not implemented yet:
- bordered windows
- echo streams
- input phrases
- the command
- prompt activities
This is a big extension, and I’m quite proud of it. If you’re interested, please take a look at the source code. I hope it might be a useful model both of how to organise large extensions and how to do some tricky things in Inform.