Commit Graph

534 Commits

Author SHA1 Message Date
aab6d36fae Convert some images from indexed to RGBA
This is because, for reasons unknown, SFML on Windows was inappropriately complaining that they were not 8-bit.
The problem appears to be that it can't even handle colour maps of less than 8 bits.
2015-10-15 15:40:10 -04:00
e2a88873e7 Minor improvement to "save legacy scenario" dialog. 2015-10-12 14:11:54 -04:00
ba984279b0 Some item ability stuff
- Two new item abilities that increase damage as sp/hp is lost
- Two new item abilities that reduce damage as sp/hp is lost
- Support for using sp/hp as a weapon's key skill to determine hit chance
2015-10-12 14:11:27 -04:00
b61200f627 A few item graphic updates
- New weird meat graphic by ADoS
- Fix up artifacts in mist orb graphic
- Fix some erroneously transparent pixels
2015-10-11 23:11:47 -04:00
a62b4f15fd Tweaks/fixes to crystal wallset 2015-10-11 14:41:57 -04:00
72e871b8d4 New igloo wall (by ADoS) and desert crater (by me) 2015-10-10 23:54:51 -04:00
ce2d00abc1 More graphics updates
- Add shadow to grass hut (based on cave hut's shadow)
- Two new town graphics by ADoS
- New hut on hills.
- Desaturate snow/water shores to reduce weird purplish streaks
- Fix water tone in ice/water shores
- Add 3-way ice/water/snow shores
- Remove duplicate snow/ice shore
2015-10-10 23:51:26 -04:00
bd3aa33807 Schemas: Fix indentation 2015-10-06 22:17:27 -04:00
5667849835 Dialog schema: Convert indentation to tabs 2015-10-06 22:17:27 -04:00
f0af9ff67f Schemas: Enforce root element by eliminating global element declarations 2015-10-06 22:17:27 -04:00
68eec0fe16 Some schema updates
- Store timers as a type instead of an element in the common schema
- Fix errors in terrain and monster schemas
2015-10-06 22:17:26 -04:00
d19880a463 Stop storing preferences and legacy flags in the saved game
- Nuke global preference variables (they're now fetched with get_xxx_pref whenever needed)
- Nuke magic SDFs that store preferences and other info
- The only preferences now stored in the saved game are those related to difficulty
- play_sound no longer takes an option repeat parameter, but instead takes a delay which will be used if sounds are disabled
- SDF array increased to 350x50
- When saving a legacy scenario, a dialog is shown to remind you to update and to allow you to clear the legacy flag
2015-10-06 22:17:25 -04:00
7f00d0c775 Change image resource type from sf::Image to sf::Texture
This includes an added optimization to the resource manager - it now uses unordered (hash) maps instead of ordered (tree) maps to keep track of loaded resources and paths, for the average constant lookup time.
2015-10-05 23:57:42 -04:00
17095e1760 Three new wallsets and one new floorset by ADoS 2015-10-05 18:27:40 -04:00
f8deb48edb Add keyboard shortcuts to the death dialog and the quit confirm dialogs 2015-10-04 18:47:17 -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
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
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
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
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
f6183cad63 Separate "Splits When Hit" from "Immune to Assassinate" 2015-10-01 22:53:32 -04:00
b465e3e498 Display "One-Time" for all one-time node types, for clarity 2015-10-01 03:17:40 -04:00
56c533f419 Fix scons build and tests 2015-09-30 18:57:52 -04:00
43e82281af More read/write tests for town and outdoors, including maps/dialogue
Fixes:
- For towns, the "has tavern" flag was not saved or loaded
- Outdoor roads were not saved or loaded
- For outdoor encounters, the "can't flee" and "forced" flags were not loaded, and "forced" was not saved
--> These two flags have also been separated in the code
2015-09-30 17:00:05 -04:00
c68b01c3a2 Make roads an overlay instead of a terrain trim type
Game:
- Roads now show on the automap again!
- Possible fix for undetected issue in displaying outdoor special spots
- Road conversion code for legacy scenarios now applied in towns too

Editor:
- New tool for placing roads, works the same as special dots
- Roads appear at all zoom levels

Other:
- Removed all terrain graphics that used the small road dot, replacing them with blank (white) space
- Make obvious out-of-bounds array accesses an error in the project settings
2015-09-27 22:37:12 -04:00
1222cb57f5 Move Set Town Start to Town menu and make it work the same as Set Out Start
- Also fix problem with initial starting town in new scenarios (it was uninitialized)
2015-09-27 14:50:00 -04:00
eb3c463130 Tweak look/drop cursors 2015-09-27 12:05:54 -04:00
082e3fc9d9 Implement flood-fill tool 2015-09-27 03:15:05 -04:00
add0ea48cf More tweaks to the colour cursors 2015-09-27 01:49:07 -04:00
18bb16df9c More read/write test cases for monsters, especially monster abilities
Fixes:
- For radiate abilities, the pattern was not saved and defaulted to single instead of square on load
- For summon abilities, what to summon was not saved and chance was incorrectly saved
2015-09-27 01:20:33 -04:00
ab232bb31a Generalize the editor's terrain frills mechanism 2015-09-26 15:05:49 -04:00
196f9a71df Tweak some cursors 2015-09-26 00:24:49 -04:00
bd6506f353 New dress item graphic by ADoS
(replacing a fancy shield; other shield was tweaked too)
2015-09-25 22:43:01 -04:00
054f32dec2 Split out icon from pcedit title graphic 2015-09-25 00:35:36 -04:00