Commit Graph

97 Commits

Author SHA1 Message Date
01d317b007 .h -> .hpp 2015-06-08 22:14:43 -04:00
6c5e2b5118 Several tweaks and fixes
Bugs:
- Arrow keys activated the arrow buttons in the list-mode edit string dialog
- Graphics classification was not saved correctly in some cases
- Contact info was not correctly saved/loaded
- Place Monster node didn't have a choose button for the monster type
- Alt-Backspace and Alt-Delete did not work correctly in dialog text fields
- When clicking Edit Terrain Types, sometimes the list of items or monsters would appear instead
- Fix monster 0 being selectable in the choose monster dialog
- Fix the hotspots of all the cursors to be more intuitive

New:
- When interrupting a special node sequence with Cmd-. / Ctrl-C, the dialog that appears is more relevant.
- In the choose sound dialog, the sound now plays when you select a choice, so you can hear what it will sound like
- Added a tiny icon so you can distinguish fire and force barriers in the editor
2015-06-04 15:50:05 -04:00
49ec6278d3 Fix a few scenario load/save issues
- More uninitialized data issues
- Some values incorrectly loaded (monster radiate chance, terrain horse blockage, town lighting type)
- Some values incorrectly saved (item magic-use flag)
2015-06-04 01:14:57 -04:00
1b754619dc Several more tweaks/fixes
- Missing special node opcodes
- Pass the party's (or in combat, the active character's) current location to special nodes triggered by timers
- Fix the set pointer node
- Fix terrain palette not correctly registering clicks while scrolled down
- Fix sheets not correctly being copied from the temporary files folder
- Fix monster abilities not being loaded from new scenarios
- Fix custom sheets not being reloaded if they have changed
- Documentation tweaks
2015-06-02 22:01:22 -04:00
7dddcdb86e Several little tweaks and fixes
- Fix some uninitialized fields getting populated with random data
- Fix identity of last edited town and outdoor section not being saved
- Fix editor sometimes saving to application directory instead of overwriting the loaded scenario
- Fix town specials being saved to outdoors list and vice versa
- Fix right-most column of map not being loaded properly
- Fix town entry node for start town being called after the first turn of the scenario
- Add option to call a special node at startup (right after the intro dialog)
2015-06-01 22:43:41 -04:00
72add651a5 Fix some bugs in loading and saving new-format scenarios 2015-06-01 17:23:15 -04:00
7ba874f1d2 Correctly handle saving a scenario that was loaded in unpacked form 2015-02-14 13:35:26 -05:00
d45ba59cce Fix Windows build
This commit also disables warnings for comparison of differently signed integers
2015-02-12 18:21:58 -05:00
bb98455e4f Fix some issues with loading/saving new-format scenarios
- Terrain was saved rotated and was not loaded
- Graphics were not loaded (also for old-format scenarios)
- Crashed when attempting to convert a scenario without custom graphics
2015-02-11 17:01:32 -05:00
1894b31e20 Implement loading of scenarios
- This also tweaks the scenario schemas for consistency between schemas and code, adds some unique key restraints, and makes some attributes required.
2015-02-11 14:03:03 -05:00
f5a43bc011 More reduction of reliance on hard-coded limits 2015-02-07 09:46:51 -05:00
2cf301eece Reduce reliance on hard-coded limits 2015-02-06 23:00:29 -05:00
a14d3b5ff8 Combine town-shifting data into a single structure 2015-02-06 16:56:17 -05:00
f609711e27 Combine timer data into a single structure 2015-02-06 16:54:44 -05:00
7307fee425 Change town locations variable name to better reflect its use 2015-02-06 14:55:37 -05:00
7f6992da56 Store sign locations and text in the same structure 2015-02-06 14:43:26 -05:00
089fa1a32b Bundle custom graphics into the scenario archive
- Also, allowance for custom sounds and overriding default graphics
2015-02-05 22:19:11 -05:00
1778cd9a61 Tweak scenario output and schema so that they match; write script to XML-validate a whole scenario 2015-02-05 22:18:19 -05:00
8d4cea7d0b Complete implementation of saving new-format scenarios and write version-check and loading stub for new-format scenarios 2015-02-04 19:48:31 -05:00
2728b06f1a Finish implementation of creating a new scenario 2015-02-03 15:35:32 -05:00
ae7c8e12db More removal of reliance on hard-coded limits 2015-02-02 11:38:39 -05:00
c37ede5a04 Make a lot of code stop relying on hard-coded sizes 2015-02-02 11:38:37 -05:00
15a802f63d Officially move version info up to 2.0 2015-02-02 11:38:37 -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
a23682306c Finish edit terrain type dialog in the editor and tweak some terrain properties
- Introduce enum for step sounds
- Remove union for treating terrain flags as either signed or unsigned
Editor:
- Add Choose button to select the "transform to" terrain.
- Implement Choose buttons as appropriate for the terrain flags, including editing the special that a terrain calls.
- Range-check the terrain flags.
- Add Custom button to choose a town as the combat arena.
- Fix/tweak/improve several of the terrain flag prompts.
- Fix placing shortcut key in field as its ASCII code instead of the letter
- Fix some of the range checks that were already in place but were incorrect or improperly static
Game:
- The wilderness terrain types now allow specifying how many d6's of food you get when hunting there.
- Crumbling terrain uses flag 2 instead of 3 to determine method (flag 2 was supposed to be strength but was never used)
- Merge two functions that did almost exactly the same thing (namely altering a terrain space and potentially updating conveyor/lights info)
- Merge switch_level into handle_lever since it was the only place it was called
- Remove global store_special_loc; the location is stored in the stuff_done array now
- Change when use/step on terrains will now update lighting if they changed to a terrain with a different light level
- Terrains that call a special no longer support mixed global/local modes - they either always call a local special or always call a global special
- Use previously unused swap_ter function (which did the exact same thing as the swap terrain special node)
Dialog Engine:
- Don't "erase" invisible icons or buttons; it's not necessary, since the entire window is filled with background before the draw() method is called, and it causes problems in case of overlapping elements.
2015-01-28 15:43:58 -05:00
99bb11dd3b Split up files so that the scenario editor will build
- cCreature split into seperate file-pair from cMonster/cTownperson
- fileio.cpp split into general, party, and scenario sections
- classes.h file deleted
2015-01-24 21:29:34 -05:00
9b067b62e4 Implement writing of town/outdoors map data to file 2015-01-23 18:21:20 -05:00
dbb661d0e5 Nuke some globals 2015-01-23 13:56:53 -05:00
41db6dcfdf Fix indentation 2015-01-23 04:06:06 -05:00
d9b9130d00 Make monster/item lists in scenario town record dynamic; move monsters to town superclass 2015-01-23 01:23:43 -05:00
df6222abda Restore the use of a separate class for town preset creatures 2015-01-22 23:39:59 -05:00
ac4441f33e Implement writing town to XML 2015-01-22 21:36:54 -05:00
aa705fac13 Implement writing outdoor sector to XML 2015-01-22 21:36:46 -05:00
952d81ae5a Store rect descriptions together with their rectangle and remove now-unused string-length members 2015-01-22 15:19:26 -05:00
3e0e3d3b8a Implement saving monster definitions to XML 2015-01-22 14:33:28 -05:00
670e35f9d5 Implement writing item definitions to XML 2015-01-22 12:22:40 -05:00
ee27e5341d Implement writing terrain definitions to XML 2015-01-22 11:23:44 -05:00
df4dc3bf21 Extract saving of main scenario data into a subroutine 2015-01-22 10:28:38 -05:00
967438ecec Add dialog to the scenario editor to let it know what type of graphics are in the custom sheets
- If you do this, it adds the graphics to all relevant select graphic dialogs, at the end, allowing you to choose custom graphics without having to remember the number schemes
2015-01-20 17:18:37 -05:00
f282c06bfa Write the code to save the general scenario data to a file
- See monster strings are now fetched from the same list as the special encounter strings instead of a list of their own
- There is now a possibility for the scenario intro dialog to have a different icon than the scenario icon
- Remove unused intro_mess_len field
- Add method to the XML printer class to push a simple element with no attributes or child elements
- Automatically close any elements before writing the document to the stream
- Fix scenario editor File menu having an invisible "Close All" option that appeared when the option key was pressed
2015-01-13 20:54:51 -05:00
3a285f47da Eliminate data size members from the scenario record
- Also move town_hidden array to the town record flags
2015-01-12 14:05:46 -05:00
908652d168 Housekeeping
- Rename cItemRec -> cItem and cItemRec::type -> cItem::weap_type
- Clear out a lot of commented code
- Remove the flag_x members in the scenario that used to store the scenario's password hash (or something like that)
2015-01-12 01:01:24 -05:00
bd0dc55995 Fix scenario editor build 2015-01-10 20:12:49 -05:00
6b107f8273 Write the code to save special nodes, as well as a skeletal outline of the new scenario format output code 2015-01-10 20:08:35 -05:00
9f57f35428 Change .h -> .hpp in tools/ directory 2015-01-09 22:32:47 -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