New release is up, hopefully it'll work as intended
Now, when you quit, a file called "tower.save" is created in the same directory as the executable. You can load the last saved game via the main menu. Once I can figure out how best to handle multiple saves, I'll be adding support for that.
Also, the sequences that have effects are now always shown on the magic knowledge screen. The effects they have are not though, so be careful experimenting...
In the future, I'll probably turn this back off, and let the player find scrolls or similar items that reveal these....
Link is in the first post, and the repository has been updated. The source code is also included in a .zip file in the main download.
[EDIT]: I've added an effect for creating portals, which can either teleport the player to a random location, or teleport him back to town. I've also added an effect to increase spell knowledge. This means items can be created for things like Diablo's "Town Portal", or scrolls that increase spell knowledge
The portals are a little bit buggy, so I may have to adjust them later. At the moment, it might create a portal inside a wall or over a pit, in which case you can't get to it, and you've wasted the spell/item. If I don't fix this before the release, just make sure you cast any portal spells with all adjacent squares open, just to be safe. And if it doesn't look like it created the portal right away, try moving, it may have created it on top of you.
Unfortunately, this next version is going to break save compatibility, cause I completely forgot to plan for it earlier. That being said, I have framework in place to prevent future breaks. I also have it loading item rarity now (defaults to 100), which will work similar to the room weighting, so items with a higher rarity will show up more often. It doesn't do anything yet, but that's the plan. Also going to add a "look-at" function, so you can identify items and such without picking them up.
The last thing I want to do before the next release is fairly transparent, but I want to set up room links, so that a given room will know which rooms it's connected to. It won't do anything now, but it'll let me do some fun things with stair placement, boss monsters and keys/locks later...
[EDIT2]:
Not sure if it was broken in the last release or not (I don't think so...), but in the version I'm working on there's some problems loading and saving items... going to look into it a bit more today. Fix'd... really retarded error too....
One of the changes I'd made after the release, is that I wrote a function that handled item loading for me. Before that, each type of item had it's own save and load functions, and I would save the item type before the item, and when loading, would decide what kind of item to load based on the item type it loaded. This worked, but it was a bit messy, so I tried putting all that into a function, and just calling the function. Apparently though, that doesn't work. I think it's because the item classes I actually use are all "child" classes of a base class that has information that's applicable to any and all items. So for some reason, when I would create a new instance of the more specific class, it wouldn't remember that outside the function... maybe it left the scope of the variable (although it get's passed a pointer...) or something. Whatever, it's still a little messy, but it works exactly like it's supposed to.
Once I knock out item rarity I may do another release... lots of small stuff for you guys to mess around with.