Commit Graph

22 Commits

Author SHA1 Message Date
e055b97c9f Add dialog allowing you to alter the scenario's graphics sheets from within the scenario editor
- You can copy/paste images into the sheet, or import/export to/from png files

Also:
- Picture controls in the dialog engine have a new "scaled" flag; if set, the picture will be scaled into the provided bounds rather than overflowing. Currently, only full sheets honour the setting.
2015-06-15 16:20:03 -04:00
21291e168c Some tweaks/fixes
- Show monster name in description of summoning item abilities (in-game and in the scenario editor)
- Don't call drop special nodes when storing an item in a container
- Don't use exceptions to determine whether a slot in the get window has an item in it
- Fix placed items defaulting to 0 charges instead of -1 (fortunately, this didn't actually cause a bug)
- Fix ability description in item dialog not updating after you edit the abilities
- Fix off-by-one issues in several cases of the pick monster dialog
- Show charges field in placed item dialog if the item is given the Shoot Flames enchantment
- Fix enchantment field not being filled with the current value when opening the edit placed item dialog
- Fix placed item dialog not updating after you set a new enchantment by editing the field (rather than using the Choose button)
- (Dialog engine) Fix initial focus handler call passing wrong control ID
2015-06-11 12:22:04 -04:00
fdbb61411b Nuke several annoying and no longer necessary debug output statements 2015-06-05 18:44:57 -04:00
4fbc6cfa77 Various code cleanup stuff 2015-02-14 12:24:25 -05:00
Ben Scott
922b046b6a Fixed some parts of the update error with some serious kludge. 2015-02-14 03:02:22 -05:00
c50e24b8e4 Turn sparse arrays into sets. 2015-02-06 15:37:55 -05:00
36491c818c Implement a dialog to edit shops in the scenario editor 2015-02-04 13:55:22 -05:00
4efcb08932 Implement a quest system and job board
- The job board is loosely based on Exile III's job board; the dialog is converted from the one contained as a relic of E3 in BoE
- Quest system is loosely based on a mix of Exile III jobs and Blades of Avernum quests
- Talking to a monster (even a hostile one) can now trigger an arbitrary special node

Dialog engine:
- LED's now support wrapped labels
2015-02-01 01:30:15 -05:00
baf3ec2a9b Restore the done/help buttons in shop mode 2015-01-27 00:42:22 -05:00
91c52fca77 Implement customizable background patterns to be displayed behind the game interface based on which town/sector the player is in and whether they are in combat mode, with cascading defaults.
- All the hard-coded background changes are no longer present and not even preserved.
2015-01-26 18:42:54 -05:00
41db6dcfdf Fix indentation 2015-01-23 04:06:06 -05:00
6a08476d22 Create dialog for editing large terrain object definitions
- Remove keybindings from terrain dialog arrow buttons
- Fix arrow buttons not bound-checking fields

Dialog engine:
- Fix fields crashing after text is set while it has focus
- Trigger focus handler on untoast() to balance that in toast()
2015-01-22 10:22:59 -05:00
5450ae1caf Implement editing dialogs for individual monster abilities
Changes to game:
- Permanent martyr's shield is now customizable - extra1 is per-mille chance to activate each time damage is taken, and extra2 is percent of damage taken to apply to attacker
- Absort spells is now customizable - extra1 is per-mille chance to activate each time damage is taken or a magic effect is applied, and extra2 is how much hp to gain from non-damaging magic effects
- Splits ability is now customizable - extra1 is per-mille chance of splitting each time damage is taken
- Special node ability is now called before the monster tries its normal attack, and multiple monsters can use them per round (though each can only use theirs once)
- Fix issue with breath weapons and icy touch abilities conflicting (legacy import issue)
- Add two variations of the summoning ability - summon according to summoning level (like the spells), or summon a random creature of a particular species
- Fix touch abilities using the range as chance to use

Changes to dialog engine:
- Fix tab order handling to exclude fields that are currently hidden
- Add method to retrieve the parameter passed to toast(), as a quick way to distinguish between the user clicking OK or Cancel after run() has exited
- Fix hidden fields being drawn anyway
- Fix setting stack page sometimes crashing if the current page was invalid due to earlier reducing the page count to 0
2015-01-20 17:18:41 -05:00
7084991e55 Get the edit monster abilities dialog all working and updated (except for editing individual abilities)
Game changes:
- Remove support for playing a sound and displaying strings when a monster is first seen, since these behaviours can easily be obtained by using the special node called in the same context.
Dialog engine changes:
- Support for changing the font size of LEDs
- When setting the page, a stack now applies a default value if the map is missing the required data
- Add utility "addPage" method to stacks
- If reducing the page count means the current page is deleted, a stack now switches to the last page
2015-01-20 17:18:39 -05:00
43e4bcc048 Fix several more warnings
- As a side-effect, weapons with key skills other than the conventional three (edged, bashing, pole) are now fully supported (though the scenario editor UI doesn't yet support them)
2015-01-11 16:47:32 -05:00
9f57f35428 Change .h -> .hpp in tools/ directory 2015-01-09 22:32:47 -05:00
3ef98712d5 Purge all uses of printf, fprintf, perror and most uses of sprintf
Also:
- Print "Target Spell" before the explanatory prompts, instead of after (when fancy targeting)
- Fix sell costs being drawn on top of the button
- String-insensitive comparing for dialogue keys
2015-01-08 22:26:41 -05:00
095ab3be49 Fix preset creatures not showing up on Windows 2015-01-07 18:30:30 -05:00
f44f713cac Fix cursors not showing up on Windows.
(At least mostly; there might still be a few glitches.)
2015-01-04 22:03:24 -05:00
0b330432b4 Get the game to compile, at least
- Scenario and PC editors still don't link
- Copy files stage set up in the Common project
- Scenario and PC editors now placed in Scenario Editor subfolder in the output directory
- Disabled some totally useless warnings
- "About" menuitem now considered to belong to "Help" menu (even on Mac code) as far as the handlers are concerned
- Dialog string filter is now a function instead of a custom iterator
- Modal session now requires parent window as additional parameter
- Preferences and menus work! Cursors still need some work.
- Since Visual Studio has no way of showing program output that I can find, stdout and stderr are now redirected to a file.
2014-12-30 17:20:22 -05:00
b11199d7d9 Set up a Visual Studio project and tweak things until it compiles
- It doesn't link yet, but that was expected
- Fixed some issues with global variables having different types in different files.
2014-12-29 14:52:54 -05:00
af0ee110c6 Rename osx directory to src since it's now the official source base 2014-12-28 12:12:38 -05:00