- Redid the draw items and draw fields code to draw just on one space rather than the entire area.
- Fixed bug where special spots were not masked properly.
- Removed some large chunks of commented, obsolete code.
- Found and fixed bug where the instant help system caused the game to believe you had stolen items when in fact you hadn't.
- Added enum for special node context (ie the context in which a special node is being run); not really used yet though.
- Added support and graphic for forcecage, and graphic for stone block; mechanics not yet implemented.
git-svn-id: http://openexile.googlecode.com/svn/trunk@88 4ebdad44-0ea0-11de-aab3-ff745001d230
- Made boom drawing take from the new boom gworld rather than from the field gworld
- Added enum for monster abilities (will be used for both of a monster's abilities, but isn't used yet)
- Added supporting member functions for the new abilities (not used yet): get ability name and has ability
- Added SDF pointer storage to the party structure together with supporting member functions (not used yet)
- Deleted the "reserved" fields res1, res2, res3 in the monster struct
git-svn-id: http://openexile.googlecode.com/svn/trunk@87 4ebdad44-0ea0-11de-aab3-ff745001d230
- added ambient sound, both outdoor ambient sound and monster vocalizing ambient sound (eg cat meowing when in sight)
- fixed an inconsistency whereby two sounds were swapped relative to their original Mac versions
- added (but haven't yet used much) a few more typedefs for clarity
git-svn-id: http://openexile.googlecode.com/svn/trunk@86 4ebdad44-0ea0-11de-aab3-ff745001d230
- Removed all referenes to cPopulation::dudes in favour of the overloaded operator[]
git-svn-id: http://openexile.googlecode.com/svn/trunk@84 4ebdad44-0ea0-11de-aab3-ff745001d230
- Attempted in vain to fix the crash when showing the Choose Custom Scenario dialog.
- Cleaned out the commented code in boe.global.h.
- Changed name of scen_header_type::default_ground to rating to reflect its actual use.
git-svn-id: http://openexile.googlecode.com/svn/trunk@83 4ebdad44-0ea0-11de-aab3-ff745001d230
- Added an operator[] to cParty; I intend to get rid of the ADVEN macro eventually in favour of accessing PCs with the operator
- Added using cMonster::operator= to cCreature, because this will be needed once I rearrange these two structures.
- Added an operator= to the cPopulation type, so that the "monst.dudes[...]" redundancy can be avoide.
- Added outdoors and towns members to the scenario class for future use (they will old all the outdoor sections and towns, respectively, from the current scenario)
git-svn-id: http://openexile.googlecode.com/svn/trunk@81 4ebdad44-0ea0-11de-aab3-ff745001d230
- The player race enum has been expanded so that it can also be used as monster race; it's not yet used as such though.
- Additional races Vahnatai, Plant, and Bird added.
- Alter the terrain special flags so that they can be used as signed shorts in the few cases that require it, and changed dangerous terrain to combine the curse/bless and slow/haste cases.
- Fixed an unnoticed error which would have probably prevented monsters from being affected by conveyors.
- Refined the dangerous terrain special ability with more messages and also handling all cases except weapon poison.
git-svn-id: http://openexile.googlecode.com/svn/trunk@79 4ebdad44-0ea0-11de-aab3-ff745001d230
- Finally removed the grow box in the corner of the scenario editor window.
- Changed #include <iostream> in several headers to #include <iosfwd>, since they were only present for the use of
the ostream and istream classes, and cout/cin were unneeded.
- Changed bool to Boolean in the old structs, since that's what it was originally.
- Small changes to graphtool, including an overload of get_custom_rect.
- Added gcd function to mathutil; was needed for something in the new dialog engine
git-svn-id: http://openexile.googlecode.com/svn/trunk@71 4ebdad44-0ea0-11de-aab3-ff745001d230
- Fixed a potential memory leak in load_scenario() in which new was essentially called twice in a row.
- Added a max_items() function to the town record classes, in preparation for an eventual removal of the limit on preset items.
git-svn-id: http://openexile.googlecode.com/svn/trunk@66 4ebdad44-0ea0-11de-aab3-ff745001d230
- Fixed bug in which swamp caused a false negative for the wall-rounding code
- Made directions into an enum, with an operator++ and two difference arrays (for x and y).
- Added case to wall-rounding code to handle a lone pillar of wall
- The block_horse flag is cleared when importing a poison or disease terrain, because horses can now not cross status-inflicting terrain at all.
- Added the book Finder icon
git-svn-id: http://openexile.googlecode.com/svn/trunk@64 4ebdad44-0ea0-11de-aab3-ff745001d230
Removed unnecessary or potentially harmful compiler flags.
Added alignment attribute to all old struct members.
Removed some unused variables.
Made some switch statements handle all or more cases.
Removed using declarations in favor of fully qualified names.
Fixed a couple of assignments in conditionals that should have been comparisons.
Eliminated linker warnings by restoring default linking of standard libraries.
Fixed some comparisons between signed and unsigned integers.
Note: No testing has been done, in particular of old file I/O. This should be checked for regression caused by alteration of old struct definitions.
git-svn-id: http://openexile.googlecode.com/svn/trunk@63 4ebdad44-0ea0-11de-aab3-ff745001d230
- The trim and walkway are partially functional. That is, it correctly detects when to round off walls and walkways. It draws them incorrectly though.
git-svn-id: http://openexile.googlecode.com/svn/trunk@61 4ebdad44-0ea0-11de-aab3-ff745001d230
- Re-implemented walkway drawing in the same way
- Tried to fix an STL error
- A few other thing, maybe?
git-svn-id: http://openexile.googlecode.com/svn/trunk@60 4ebdad44-0ea0-11de-aab3-ff745001d230
- New way of drawing walkway (doesn't work yet)
- New way of drawing roads (doesn't yet work correctly)
- New way of drawing trim (not tested yet)
- New way of handling marked specials (works in editor but not in game)
- New way of handling two-space rubble in the editor (works as expected)
- Merged several terrain special properties
- Deprecated several terrain graphics
- Completed (probably) the import & convert code for old-format terrain
- Probably other things that I have forgotten that have something to do with terrain
- A few other little things, bugfixes, etc
git-svn-id: http://openexile.googlecode.com/svn/trunk@56 4ebdad44-0ea0-11de-aab3-ff745001d230
- Changes some C-strings to STL-strings
- Fixed the problem where the spiderweb logo would not fully appear if ShowStartupSplash is disabled
git-svn-id: http://openexile.googlecode.com/svn/trunk@54 4ebdad44-0ea0-11de-aab3-ff745001d230
- Fixed compile errors in the other targets.
- Added three test save files: one with a party not in a scenario, one with a party who has just entered Valley of Dying things,
and one with the same party just after leaving town.
- Added the new menu file for the game that I'm working on (not yet used)
git-svn-id: http://openexile.googlecode.com/svn/trunk@53 4ebdad44-0ea0-11de-aab3-ff745001d230
- Wrote almost all the code for saving and loading a new-format party file, plus code to recognize the format of a file.
(Windows saves should also be supported now)
git-svn-id: http://openexile.googlecode.com/svn/trunk@50 4ebdad44-0ea0-11de-aab3-ff745001d230
- Removed all remnants of the password code (I think).
- The game is now almost ready for beta.
git-svn-id: http://openexile.googlecode.com/svn/trunk@49 4ebdad44-0ea0-11de-aab3-ff745001d230
- Did some work on the template town implementation. Still far froom finished though.
- Fixed a glitch in which a forced line break (with "|") would erase a character that should not be erased.
git-svn-id: http://openexile.googlecode.com/svn/trunk@48 4ebdad44-0ea0-11de-aab3-ff745001d230
- Fixed a few bugs that caused crashes.
- Made the code look a little nicer by eliminating the "town.town" redundancies.
- Fiddled with ViewDlog a little.
- Minor changes to graphics file (won't affect anything yet).
git-svn-id: http://openexile.googlecode.com/svn/trunk@44 4ebdad44-0ea0-11de-aab3-ff745001d230
- Changed various terrain arrays from unsigned char to unsigned short to support more than 256 terrain types.
git-svn-id: http://openexile.googlecode.com/svn/trunk@42 4ebdad44-0ea0-11de-aab3-ff745001d230
- Added fields to the terrain class in preparation for new scenario format.
- Same with the party class, plus refactored it to use vectors and strings.
- Fixed a potential divide-by-zero error in get_ran.
git-svn-id: http://openexile.googlecode.com/svn/trunk@41 4ebdad44-0ea0-11de-aab3-ff745001d230
- The flag is automatically set or unset as appropriate when loading a party, based on the version of the scenario they're in.
- The flag is also automatically set and unset when entering a scenario.
- Commented some probably redundant code in fire_missile()
- Added Map Not Available option (or was that last revision?) for towns
git-svn-id: http://openexile.googlecode.com/svn/trunk@39 4ebdad44-0ea0-11de-aab3-ff745001d230
- Replaced all instances of Boolean with bool, TRUE with true, FALSE with false. (Except for a few cases where this resulted in a compile error.)
git-svn-id: http://openexile.googlecode.com/svn/trunk@38 4ebdad44-0ea0-11de-aab3-ff745001d230
- Rearranged the editor palette button code so that:
- the gaps between rows are absent
- the buttons that can't be used in town (set entrance) and outdoors (item buttons) are now hidden
- the buttons are drawn one at a time instead of all at once, to pave the way for adding more buttons to fill the gaps
- the buttons are shifted down enough to make room for the "Center:" line between the last terrain button and the buttons
- the "Center:" line is no longer next to the final terrain button, to pave the way for adding more terrain buttons
- the terrain picture for the current selection is shifted right to make room for a potential two more columns of buttons.
- there are two separate lists each for whether a button exists and what it is
- Also altered the editor buttons sheet to support these changes.
git-svn-id: http://openexile.googlecode.com/svn/trunk@37 4ebdad44-0ea0-11de-aab3-ff745001d230
- Changed something that may have been a bug in which an undead monster attacking another monster would do demonic damage (and vice versa).
git-svn-id: http://openexile.googlecode.com/svn/trunk@35 4ebdad44-0ea0-11de-aab3-ff745001d230
- Fixed bug in which a missile was lost even if you failed to fire do to line-of-sight or range problems.
- Fixed bug in which an exploding missile could be targeted anywhere on the screen (though I'm not 100% sure this actually is a bug).
- Fixed bug in which some of the room description rectangles would be ignored by the game.
- Fixed bug whereby percentage chance checks would generate a number from 0 to 100 instead of 1 to 100.
- Fixed bug where if a Damage node was triggered in combat without first selecting a PC, it would affect the whole party instead of just the active character.
git-svn-id: http://openexile.googlecode.com/svn/trunk@33 4ebdad44-0ea0-11de-aab3-ff745001d230
This means that the game can in fact be played – though saving is not currently operational.
git-svn-id: http://openexile.googlecode.com/svn/trunk@32 4ebdad44-0ea0-11de-aab3-ff745001d230