Commit Graph

1362 Commits

Author SHA1 Message Date
cae5fc3140 Rearrange the basic_buttons array to avoid the extra indirection step
- All buttons from the array that were strictly related to UI have been removed.
- Some new buttons have been added. The duplicate Leave button has been removed.
2015-10-04 21:11:16 -04:00
f8deb48edb Add keyboard shortcuts to the death dialog and the quit confirm dialogs 2015-10-04 18:47:17 -04:00
96229d1f40 Lot more tests!
- Tests for converting legacy terrain types
- Tests for initialization to sane values

Fixes:
- cCreature no longer initializes spec1 and spec2 to 0. This probably didn't cause bugs, but who knows...
- In fact, cCreature no longer explicitly initializes anything in its cTownperson superclass. That's what the superclass constructor is for after all.
- Relatedly, cTownperson now defaults to a facial graphic of -1. Also a docile attitude.
- iLiving defaults to ap 0, direction here.
- Fix Change When Step terrains to properly support not having a sound while still allowing an arbitrary number of custom sounds.
- Add support for a lack of sound to Change When Used terrains, including at conversion time (original game supported it but OBoE was forcing the sound to a door sound).
- Fix conversion of crumbling terrain types (old conversion was allowing quickfire to destroy them)

Other:
- New addAttack method in cMonster.
- Change snd_num_t to signed, because it's been getting annoying that I can't easily use -1 to mean "no sound".
2015-10-04 18:44:58 -04:00
d178dcea63 Allow customizing how much food a waterfall takes 2015-10-04 18:26:16 -04:00
0dbf747602 Update legacy resource file
- Add a missing resource name
2015-10-04 00:39:53 -04:00
28a513a4a0 Fix the red push button when used in dialogs 2015-10-04 00:36:16 -04:00
bb26fb35ec Raise starting skill points from 60 to 65 for blank characters.
This means that a party of all blank characters has the same effective total skill points as the prefab party.
2015-10-04 00:24:54 -04:00
5e8530969d Update Erdos's name in the credits, at his request 2015-10-03 23:56:11 -04:00
d908cdff9c Tweak Vahnatai PC traits and add Magery item ability
- Vahnatai no longer have a bonus to mage spells (that's now the Magery item ability)
- Vahnatai XP gain bonus changed
- Fix sliths being noted as resistant to poison (they aren't and never have been)
2015-10-03 23:55:52 -04:00
8afd3825b0 Refactor the dialog engine's event handling to make it easier to add new events in the future
- Focus event split into focus and defocus
- Scroll event added but not yet properly implemented

Also:
- Remove the useless (and ignored) clickable attributes from the schema
- Pave the way for controls other than fields to be able to recieve keyboard focus
2015-10-03 19:49:33 -04:00
547e78dc86 Minor fix to about dialog 2015-10-03 12:30:47 -04:00
8b90fa614b Make stack control a real container instead of a controller
- Also add framed/outlined attributes to it and to LED groups
2015-10-03 12:30:26 -04:00
06ad776236 Remove frame_region since it was unused and misleading, and nontrivial to fix 2015-10-03 12:24:43 -04:00
b176918dda DialogXML: Make the frame style format parameter a first-class citizen
- It's now exposed in the schema with a new attribute, outline, on all elements that accept framed
- It now has four possible values: solid, outset, inset, double. Dashed or dotted may be added later; they're a lot harder.
- Second make scenario dialog uses a custom frame style
2015-10-03 11:13:33 -04:00
967f24a83b Fix dialog frames not using the inset style
The framestyle format parameter now does nothing. This is temporary.
2015-10-03 10:28:42 -04:00
8b5396c980 Remove all def-key='enter' in favour of defbtn attribute
In addition, the default button is finally properly outlined when specified with the defbtn attribute.
(It would also be outlined if specified with def-key='enter'.)
The following preset buttons (available to special nodes) now respond to the enter key:
- "Leave", "Done", "OK"
2015-10-03 03:40:48 -04:00
da58f09fca All dialogs now use default skin and foreground colour
(The attributes are still available in the schema though, and will not be removed.)
2015-10-03 03:00:22 -04:00
893fa1e4ff Dialog formatting
- Newlines at end of file
- Remove debug attribute
- Indentation in the XSL
2015-10-03 02:50:44 -04:00
84dc913241 Improve dialog preview XSL sheet
- Now uses apply-templates, meaning output is in the same order as input
- Fully accounts for stack and pane, including adjusting coordinates
2015-10-03 02:33:40 -04:00
03bc3d05e6 Remove key-mod attribute from dialog schema
- Modifiers are now given in the def-key attribute, as originally intended
- Dialogs that have a help button now assign F1 to that button (replacing shift+/ in some cases)
- F1 also brings up help in the main game (in addition to shift+/)
2015-10-03 00:53:32 -04:00
edaf3baa2d Formatting 2015-10-03 00:35:33 -04:00
d970b6ee06 Fix target inclusion of scrollpane.cpp, and add to MSVC project 2015-10-03 00:09:25 -04:00
0f273eba7e Fix resize outdoors dialog using the dark skin 2015-10-03 00:07:08 -04:00
2645818aeb Fix two minor graphical glitches in alternate scrollbar style 2015-10-03 00:02:26 -04:00
1b75bb4755 Add constraint for defbtn attribute to refer to a valid name in the dialog schema 2015-10-02 23:31:02 -04:00
b39ac35298 New alternate scrollbar style, used by default in dialogs 2015-10-02 23:31:01 -04:00
4aea031914 Add linked element to scrollbars
The linked element will be updated dynamically as the scrollbar's value changes.
Also: Added long-missing hasControl() method to cDialog
2015-10-02 22:59:04 -04:00
f7daba4ead Scrollbars are finally a first-class citizen in the dialog engine.
- Add <slider> tag to put an unbound scrollbar in the dialog
- Add support for horizontal scrollbars
2015-10-02 21:44:17 -04:00
5f7654046d Update About Blades of Exile dialog
- Some text in this update contributed by ADoS

Also:
- Make scroll panes scroll 5 pixels per click instead of 1
- Make scroll pane page size depend on the height
2015-10-02 18:46:21 -04:00
a455941d92 New scroll pane control in the dialog engine
Also:
- Use a scroll pane for the credits in the about dialog, so that new credits can be added without altering other elements
- Use a scroll pane for the list of sections to be deleted in the resize outdoors dialog
- New cContainer superclass for controls that contain other controls
- Scrollbars consider their maximum as part of their state
2015-10-02 17:03:25 -04:00
22e63d898f Refactor dialog parsing so each control knows how to parse itself 2015-10-02 15:20:32 -04:00
a515bd0b0e Fix use of | instead of & for rect intersection 2015-10-02 13:11:11 -04:00
f6183cad63 Separate "Splits When Hit" from "Immune to Assassinate" 2015-10-01 22:53:32 -04:00
0a97824033 Use spaces instead of 'x' for an inactive dialogue keyword 2015-10-01 21:49:40 -04:00
ec867c9579 Minor cleanup 2015-10-01 21:41:37 -04:00
25e0bc83d0 Start on test cases for conversion of legacy special nodes 2015-10-01 21:37:13 -04:00
f0d200b13b Tests for conversion of legacy items 2015-10-01 18:21:29 -04:00
62c342645a Use sword cursor at scenario editor main screen 2015-10-01 11:26:05 -04:00
87a7bc3b33 Show roads when looked at 2015-10-01 11:05:00 -04:00
50d88292b3 Remove option to not save maps
(LED is still available in the preferences but currently does nothing)
2015-10-01 11:04:35 -04:00
a9e7988cf9 Remove custom header from saved games.
Saved games are now just a gzipped tarball with a different file extension.
2015-10-01 10:51:54 -04:00
0dbe0b8325 More tests for conversion of legacy monsters 2015-10-01 09:58:37 -04:00
b465e3e498 Display "One-Time" for all one-time node types, for clarity 2015-10-01 03:17:40 -04:00
f218cd94f3 Tests for conversion of legacy monsters
Fixes:
- Throw Rocks always produced weakest version
- The following abilities had a strength of 0:
-- Paralysis Touch
-- Petrification Touch
-- Experience Draining Touch (including as a component of Icy and Draining Touch)
- Summon ability chances were off by a factor of 10
2015-10-01 03:17:06 -04:00
70c89a998b XCode: Sort files by name 2015-09-30 19:40:27 -04:00
2d1bd5158e scons: tweak configuration steps 2015-09-30 19:33:19 -04:00
e40a220638 scons: Remove entire build folder when cleaning 2015-09-30 19:02:51 -04:00
3a57b65a7a scons: Don't configure when cleaning 2015-09-30 18:59:46 -04:00
56c533f419 Fix scons build and tests 2015-09-30 18:57:52 -04:00
5c37fa199e Some final scenario read tests 2015-09-30 17:57:48 -04:00