Convert two more dialogs
Rearrange the new graphics on the terrain sheets and add all of the graphics Mistb0rn made for the project
- Also add credits and fill in termap.png
Fix up all the mini-map stuff!
- Preset animated graphics now start at 960 instead of 400, due to all the new preset terrains from the previous commit running into their range.
- Tore out some optimization in the automap drawing, because it made it harder to figure out why it wasn't working
- Both game and editor now use the larger 12x12 map graphics, and fall back to shrinking down the 28x36 terrain graphic if no map graphic is set
- Upon loading an old scenario, map graphic is automatically set the same as the main graphic if it's a preset graphic; for custom graphics it's set to none
- Scenario now has three zoom levels for mini-map - the original in which the entire town is visible, a slightly closer one that matches the in-game view, and a large one using the 12x12 map graphics at full size.
- Fix some map patterns having the wrong bounding rect
- Graphics (and sounds) now included in the project by folder reference, so that I don't need to manually every new sheet to the project
Fix scenario editor not handling keystrokes in the main window
Convert area description dialogs
Catch all exceptions in the editors in order to show an error dialog.
(This is the same as what the game already does.)
Re-indent stuff touched by recent commits
Convert several more dialogs, mostly related to outdoors stuff
Add a field to outdoor details dialog for editing the sector's comment string (which has been uneditable since I reformed the string system).
Fix up text placement in the scenario edit tool buttons area
Use slow_monst, curse_monst, slow_pc, and curse_pc for all blessing and hasting from spells
- This means the cap of 8 is automatically respected; most of the monster versions did not respect the cap before.
- The functions also automatically print messages, so there'll be more messages than before.
- A previously unused instant help message is now used! (For when you're blessed.)
Some tweaking of monster spell mechanics to bring them more in line with the PC versions
- Spark now deals magic damage and Wound deals unblockable damage
- Damage is capped for Flame as for the PC version; the damage is still calculated differently though
- Poison and Minor Poison damage now depends on the monster's level
Unification of petrification abilities
- Note: Petrification from higher-level monsters is now harder to resist!
- AFFECT_DEADNESS special node now has an additional option to allow PCs a saving throw (based on things like luck and items with life-saving ability) when killing them, and to specify the difficulty of resisting when petrifying monsters or PCs
- AFFECT_DEADNESS special node now triggers monster death specials when petrifying them (in addition to when killing them), and substitutes ash for the normal sfx when turning them to dust
Expand on text field keyboard shortcuts
- Clipboard support
- Text will now wrap when a word is longer than the width of the destination rect (doesn't just apply to text fields, but is most relevant there)
- Edit menu stub added in scenario editor code
- Rich text keys (eg cut, copy, paste, select all) are no longer processed by the dialog itself; only the text field processes them; this just means that if they were set as button equivalents they would no longer work (you'd have to set the raw equivalent instead, eg ctrl+C instead of copy).
- Text fields now rely on SFML's TextEntered event for actual input - the practical result of this is that your keyboard layout is honoured (though non-ASCII characters just display as boxes).
- In a similar vein, shift is not auto-applied to the input keys, so you'd have to set shift+2 instead of @ as the key equivalent (this actually fixes some stuff, such as in the spellcasting dialog, since I was already setting shift+2 instead of @).