Commit Graph

1145 Commits

Author SHA1 Message Date
59f60710c5 More test cases for reading shops 2015-07-07 22:22:10 -04:00
93f9860624 Tests for saving and loading shops
- Fix shop name not being loaded from the file
- Fix skills in shops not storing the skill ID
2015-07-07 22:04:11 -04:00
fd42f00e41 Test for saving quests 2015-07-07 21:10:17 -04:00
3c7569a068 Test cases for reading quests 2015-07-07 21:00:55 -04:00
ea17fe364b More scenario reading test cases 2015-07-07 20:41:53 -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
2218513aa5 Several more tests for scenario loading 2015-07-07 17:10:09 -04:00
42734c8599 Test cases to ensure the integrity of the enum stream operators 2015-07-07 14:48:49 -04:00
233e732f5b Update XCode project version 2015-07-07 14:01:44 -04:00
6297d12e2a Make building monster display name more concise 2015-07-07 14:00:32 -04:00
a2d7a1a233 Introduce enum for monster attitudes
- Fix some issues with Hostile B monsters (their presence didn't prevent taking nearby items, and they became Hostile A after a mindduel)
- Fix the town a saved creature was in not being saved in the saved game file
- Fix town not going hostile when you damage a friendly monster
2015-07-07 13:59:54 -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
6cc9e81a7b Widen spellcasting dialog so that Weak Summoning fits 2015-07-05 08:32:06 -04:00
aa72575270 Fix Show PC Spells dialog and the Alchemy button in PC Info 2015-07-05 08:31:30 -04:00
26cb146d4f Fix magic/identified mixup in item info dialog 2015-07-05 08:03:27 -04:00
d682a2b856 Some updates/reformatting of graphics credits 2015-07-04 17:20:35 -04:00
cfab036ea1 Fix bloodstain when deleting a PC in-game 2015-07-04 17:20:14 -04:00
973e765efd Fix Set SDF dialog (debug mode / PC editor)
- No longer crashes when pressing enter
- Enter now sets the SDF, escape exits the dialog
2015-07-04 17:02:29 -04:00
a2e4388c10 Fix crash when targeting certain spells on a PC (eg Acid Spray) 2015-07-04 00:39:51 -04:00
70f22e039e Allow added items in character editor to exceed max weight,
and give error if not enough room
2015-07-04 00:39:32 -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
d594916fbf Show correct version number in main menu 2015-07-03 18:42:53 -04:00
a6d4d54723 Don't preserve whitespace in dialogue personality names 2015-07-03 18:18:05 -04:00
2d73bb01ae Nuke oopsError and out-dated "can't load game" error dialogs 2015-07-03 18:11:03 -04:00
558b1b8f62 Fix dialog-spam about invalid special node types when loading legacy scenarios 2015-07-03 17:16:39 -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
9a2881ef66 Fix title message opcode 2015-07-01 16:12:15 -04:00
cf51efffe4 Add a hack to the Catch header to shorten test case output filenames 2015-07-01 16:10:58 -04:00
d8b4ee9c56 Start building some unit tests using Catch test library
- Current version of Catch is included in the repo at test/catch.hpp
2015-07-01 16:10:36 -04:00
ee9c089829 Add a Display Message With Title special node
- Remove Wandering Will Fight, which has been made redundant
2015-06-30 22:19:52 -04:00
c045c315aa Add a missing referenced dialog 2015-06-30 22:12:12 -04:00
baefd5bd40 Fix a couple of issues with the custom graphics documentation 2015-06-30 22:08:59 -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
5a3637c370 Now you can hold Alt while starting a scenario to skip party creation
(Only if party not loaded)
2015-06-30 12:49:01 -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
0e70e716aa Make special node porting robust against arbitrary reordering of the eSpecType enum 2015-06-29 23:22:19 -04:00
c33e498ddc Allow designer to select smash/dispel for monster radiate abilities 2015-06-29 22:09:19 -04:00
77f149f64b Add missing Xcode scheme files 2015-06-29 20:59:46 -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
f6d9ac7633 Make the background-removing script more generic 2015-06-28 15:49:15 -04:00
1dc59f4651 Random TODO comments 2015-06-28 15:18:35 -04:00
56d878a4db Add a big scenario icon for eventual use with Bandit Busywork
(Credit to The Almighty Doer of Stuff for creating this icon)
2015-06-28 12:16:12 -04:00
7fd6c85e37 Update status icon help to include new icons 2015-06-28 12:15:40 -04:00
4c4b0a131b Fix last two item graphics including black guide lines 2015-06-28 12:15:17 -04:00