Commit Graph

374 Commits

Author SHA1 Message Date
c3c5249227 New preset item graphics by ADoS
- Also a new ship graphic which is currently unused.
2015-07-28 09:56:29 -04:00
922730d89d Add new booms by ADoS
- Single-frame boom for "weird" damage
- Animated booms for "weird" and ice damage
- Magic now uses blue swirl instead of yellow swirl; yellow swirl is currently unused
2015-07-28 02:29:36 -04:00
5332270cd8 Scrub Exile/Avernum/Nethergate graphics
- New space-filling forcecage (possibly not finalized)
- New appearance for pushable stone block
- New red slime monster graphic by ADoS
- Six new item graphics by ADoS
- New bookshelf terrain by ADoS
2015-07-23 21:36:22 -04:00
9972c3d27d Various damage-related changes
- Rename unblockable damage to "weird" and special damage to "unblockable"
- Monsters now support immunity to any damage type
- Fix using wrong damage type for bonus damage in PC-on-PC attacks
- Forbid use of unblockable (formerly special) damage by the scenario designer, except in special nodes; if hacked in, it's replaced with weird (formerly unblockable) damage.
- Fix damage amount text in animations (both single-frame booms and fully animated booms)

Changed the following things from weird (formerly unblockable) damage to unblockable (formerly special) damage:
- Starvation
- Debug 'K' command
- Damage from items forcibly ending flight
- Damage from bashing doors
2015-07-19 10:59:22 -04:00
8504245e5a Don't drop unused talk nodes on saving if they still contain text 2015-07-10 15:28:34 -04:00
6852479a4c Fix terrain shortcuts being ignored for terrains above 255 2015-07-10 15:03:13 -04:00
21c5c98c24 Some tweaks to scenario format 2015-07-10 14:43:15 -04:00
5458bc0d7b Scenario format tweaks
- Fix monster attitude enumerator not being reflected in schemas
- Store the sound ID for sound names, instead of the index into the sound name array
2015-07-09 20:32:45 -04:00
07323b393a Fix the text dump function in the scenario editor
- In addition, text/data dump is now saved in the same folder as the scenario being edited, and the scenario's name is included in the output filename
2015-07-09 17:44:13 -04:00
c957987b45 Tests for reading and writing map data
- Fix saving and loading boat/horse positions and property flag
2015-07-09 15:53:34 -04:00
9ad0681205 Fix scenario editor build 2015-07-07 19:07:02 -04:00
137a3aa5d4 A few more scenario read tests
- Introduce enum for scenario content rating
2015-07-07 18:58:35 -04:00
a5ea3174c8 In scenario editor, dump to start screen if scenario load fails 2015-07-05 23:31:01 -04:00
7b76d37237 Store talk node type in scenario file as enumerator instead of numer
- Also, don't write empty CDATA sections when dialogue name/look/job sections are completely empty.
2015-07-05 23:30:43 -04:00
a64db5f15f Fix a lot of text placement and similar issues
- In the game, text placement is better-aligned on the main-menu buttons, in the PC stat area (both PC info and food/gold/day), in the PC items area, and in the text info bar.
- Fix leaving artifacts of previous titles in the PC stats area
- Title of PC items area is now in yellow, to match the PC stats area
- Bold text now actually looks bold (affects all programs)
- In the scenario editor, the location of the info strings above and below the toolbar are fixed
- Text in the PC editor has received numerous tweaks too numerous to list. In particular, text on the right buttons is better centred, and gold and food aren't stuck together.
- PC editor now shows race even if it's a monster race
- PC editor now recognizes the presence of the forcecage status
- PC editor now shows all traits and status effects, even if the PC has every trait or every status effect in the game.
2015-07-04 00:39:08 -04:00
cb1c11badd Missed one oopsError 2015-07-04 00:22:01 -04:00
a6d4d54723 Don't preserve whitespace in dialogue personality names 2015-07-03 18:18:05 -04:00
fecd268d5a Preserve spaces in scenario strings (and other longer strings) by using CDATA
- Involves a hack-mod of ticpp::Text to support it (for some reason, the support was there in TinyXML but not exposed by ticpp)
- Don't save all the intro strings if most are empty
- Don't save the init special if there isn't one
- Fix not saving the "I don't know" response for dialogue personalities

Strings that now preserve spaces:
- Descriptions of items, special items, and quests
- Descriptions of special shop items that call a special node when purchased
- Scenario, town, and outdoor strings
- Sign strings
- Journal strings
- All dialogue strings (both in personalities and in talk nodes)
2015-07-02 12:08:38 -04:00
1f5a1118f8 Some test cases for saving scenarios, and fix some bugs they revealed
- Fix variable town entry and saved item rects not being saved if they referenced an invalid town
- Fix "blank" scenario timers being saved
- Fix junk data appearing in timers
- Output operators for location and rectangle types
- Set timer node_type to 2 when loading from town record
2015-07-01 18:05:42 -04:00
74273783b9 Misc little things
- Some item abilities didn't appear in the editor ability selection dialog
- If have (+take) nodes took by default (ie when left at -1)
- Rename button in edit terrain dialog, as the old name barely fit
2015-06-30 12:53:42 -04:00
c1dbe192a1 New positioning mode for Relocate Creature node
(Tries to place monster in nearby space if exact target space is blocked)
2015-06-30 12:51:16 -04:00
cea602ce6d Don't share the same temporary scenario directory between all programs
(Also fixes loading of unpacked scenarios)
2015-06-30 12:46:00 -04:00
c33e498ddc Allow designer to select smash/dispel for monster radiate abilities 2015-06-29 22:09:19 -04:00
c1fa65a01d Much better error-checking when loading scenarios
- First of all, the program no longer crashes after an error.
- A lot more constraints are now checked for, such as required elements; even some constraints not expressed in the schema
- Special node parsing now has actually useful error messages
- Map data parsing now has error messages for the few invalid cases
- Fix the XML utility exception classes originally used only by the dialog engine; they're now correctly caught and properly report the error
- Fix loading of special shop entries
- Fix accepting any character as the separator in dice constants
- Verify that the monster ability type is on the right ability tag, that the extra element is present only if needed for general abilities, and that the missile and range elements are present for non-touch general abilities
- Use "infinite" for quantity in special shop items, instead of 0
- Tweak ticpp to fill out file/line/col information for _all_ exceptions, not just parse errors
- Raise error (ie, set stream failbit) when failing to convert an enumerator, instead of silently returning a default value (they do still return a default value though, if you don't bother to check stream state)
- Fix status effect enumerator not being correctly saved/loaded
2015-06-29 19:55:59 -04:00
860cf9d5dd Fix some rough edges when handling large pictures or full sheets
- Choose Picture dialog now scales these pictures down to fit in the available space, thus avoiding the ugly overlap issue.
- Choose Picture dialog now supports full sheets, scaling them down in a similar manner
- Due to the above, the Display Picture node now offers a Choose button
- The possibility of large (72x72) dialog pictures is now properly documented
2015-06-28 20:13:33 -04:00
1dc59f4651 Random TODO comments 2015-06-28 15:18:35 -04:00
9ae91feee6 Tiny scenario editor fixes
- Advanced monster edit dialog used stored node instead of node in text field
- Several preset item graphics missing from pick picture dialog
2015-06-28 12:14:58 -04:00
b307516d48 Fix several scenario editor dialogs still assuming there's a fixed number of special nodes 2015-06-28 11:58:23 -04:00
ec8967dfb7 Fix missing "Alt-click" text in several modes in the scenario editor 2015-06-27 20:50:26 -04:00
7d18d94f3e Fix talk nodes being deleted if cancelled while last on the list 2015-06-27 20:50:00 -04:00
5646757fdc Fix rendering of custom item graphics in the editor terrain view 2015-06-27 16:16:49 -04:00
e539327e08 Go to Contents instead of About for scenario editor help 2015-06-27 08:45:59 -04:00
225195c46f Launch a local copy of the help, if one exists 2015-06-27 02:29:30 -04:00
9bdc4f00d7 more tiny icons 2015-06-26 17:33:17 -04:00
0dd11bec5b Make initial town in a new scenario enterable by default. 2015-06-26 14:41:54 -04:00
fc83f656bb Merge branch 'master' from windows 2015-06-26 12:33:54 -04:00
ef0cdebec4 New editor commands: Resize Outdoors and Import Sector
This includes the following changes (mostly related to the above):
- Move loc_compare functor to location.hpp
- Add reattach() function to rebind a town or outdoor section to a different scenario object. (I don't think this is strictly necessary, as the scenario reference is only used in limited situations in the game itself, not in the editor, but it's better not to keep a reference to freed memory around when importing a town or sector from another scenario, even if the reference is never accessed.)
- Fix imported towns not being officially "loaded" until you explicitly use Load a New Town to reload them
- Fix Choose button in Load New Sector dialog
- More functions in the vector2d implementation
2015-06-25 23:55:55 -04:00
2951e0228c Tweak New Scenario dialog and add Save As option
- You now specify your name instead of the scenario filename in the first dialog
- A file dialog pops up after the second dialog, to let you choose the filename and location
- Fixed using Warrior's Grove even if you chose not to
- Fixed not recognizing .EXS as a valid legacy-scenario extension and appending .boes, resulting in .EXS.boes
- Adjust Difficulty scenario flag set on by default
2015-06-24 14:43:41 -04:00
f8697a943a Don't truncate special item names 2015-06-24 11:21:45 -04:00
269daedcd1 Add visual indication when there's more than one special node assigned to a space 2015-06-24 01:54:42 -04:00
0fbb872b73 Add Give Equipment node for giving a specific PC an item,
possibly with modifiers (like equipping it)
2015-06-24 01:54:41 -04:00
63531d14ff Fix erroneous errors when editing talk nodes that call specials 2015-06-24 01:54:38 -04:00
dcca4d30be Fix issues with the Edit Sheets dialog 2015-06-23 19:48:53 -04:00
ef36e901de Fix crash when editing scenario event timers 2015-06-23 10:53:55 -04:00
41fb8bd056 XCode build is now completely warning free 2015-06-21 18:22:20 -04:00
f8193a32e7 Add missing Boost.Thread dependency to XCode project,
plus workaround for my old libc++.
2015-06-20 21:17:59 -04:00
8d793a16c4 Use boost::thread instead of std::thread 2015-06-20 12:54:27 -04:00
3239d8e503 Bugfixes
- Fix attempt at accessing invalid placed town locations
- Fix attempt at accessing invalid terrain in editor when checking whether to apply transformations
2015-06-20 12:43:16 -04:00
9d74f78df3 Implement all the missing parts of the Edit Sheets and Edit Sounds dialogs
- On load, the game now detects graphic sheets and sounds whose IDs are "discontinuous", as well as graphics intended to directly replace preset graphic sheets.
- Edit sheets dialog can now handle "discontinuous" graphics. (The edit sounds dialog already could.)
- Edit sheets dialog prompts user to create a new sheet if there are none already, and also if there are some but not ID 0 (in the latter case they can cancel and still edit the sheets).
- Edit sheets dialog prompts user to convert sheets if the scenario is legacy, rather than doing it silently
- Edit sheets dialog now has "new" and "delete" buttons
- Edit sounds dialog now has functioning "delete" button
2015-06-17 04:29:10 -04:00
580f70f49a Add a dialog in scenario editor to import/export custom sounds in WAV format 2015-06-17 01:03:17 -04:00