Commit Graph

3827 Commits

Author SHA1 Message Date
eeaa9ca599 Added some typedefs for clarity, and also added a cAttack class.
git-svn-id: http://openexile.googlecode.com/svn/trunk@77 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-28 23:48:10 +00:00
1af17438f3 The new dialog engine is now essentially complete and ready for testing. There could still be some error checking in the cPict class to make sure the required GWorld exists, though.
git-svn-id: http://openexile.googlecode.com/svn/trunk@76 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-27 04:05:08 +00:00
Niemand
5417fda4ca Handle the edge case of the party entering a boat which is on damaging terrain correctly.
git-svn-id: http://openexile.googlecode.com/svn/trunk@75 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-27 01:18:36 +00:00
Chokboyz
b006efdc54 Classic BoE
Game :
* Giant Strength ability and Skill ability now use the ability strength rather than the item level to calculate effects.
* Won't take damage anymore when moving boats over damaging terrains (fire, cold, magic, poison, disease).
* Won't take damage anymore when horses refuses to enter a damaging terrain (fire, cold, magic, poison, disease).

Scenarios Editor :
*Dumping functions won't change the current town/outdoor section anymore.

Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@74 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-26 20:52:49 +00:00
8507a3302b First version of the new dialog engine added to the repository. It compiles, and links with one error. Because of this, it is untested as yet.
git-svn-id: http://openexile.googlecode.com/svn/trunk@73 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-26 03:17:17 +00:00
6ef3b7c79d Nuked all occurrences of NIL, replacing them with NULL.
git-svn-id: http://openexile.googlecode.com/svn/trunk@72 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-25 03:51:29 +00:00
92bda1c100 - Cleaned out some of the compiler warnings in the scenario editor (removing unused variables mostly).
- 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
2009-05-25 03:41:29 +00:00
Chokboyz
b203c94ab7 Initial Import of Win32 Classic Blades of Exile and associated Scenario Editor codes.
Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@70 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-24 23:32:16 +00:00
Chokboyz
f457bb85d3 Updated the Blades of Exile Base file.
git-svn-id: http://openexile.googlecode.com/svn/trunk@69 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-24 23:24:46 +00:00
Niemand
27d9a0cbf4 Damaging and dangerous terrains will not affect the party when in a boat. If the party is on horseback they will still be affected.
git-svn-id: http://openexile.googlecode.com/svn/trunk@68 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-23 03:06:49 +00:00
f4afb94fdc Finally uploaded the game documentation, or at least the first few pages of it. It is adapted from the original Mac documentation.
git-svn-id: http://openexile.googlecode.com/svn/trunk@67 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-22 23:05:13 +00:00
0578e51b6f - Fixed issues with loading scenarios caused by the struct alignments added in revision 63.
- 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
2009-05-22 20:49:20 +00:00
Niemand
032d6b86bf Fixed garbage left from an incorrectly resolved conflict.
git-svn-id: http://openexile.googlecode.com/svn/trunk@65 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-22 04:10:30 +00:00
d83db289fa - Added code to check for waterfalls in all 8 cardinal directions
- 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
2009-05-22 03:51:34 +00:00
Niemand
f198b4899d Added include guards to all class headers.
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
2009-05-22 03:01:05 +00:00
8ddf7eccc6 Fixed frills, walkways, and wall round-cornering, but somehow broke special spots.
git-svn-id: http://openexile.googlecode.com/svn/trunk@62 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-21 21:56:34 +00:00
70c7895480 - Fixed bug with damaging terrain – it would print all messages instead of the one specific to the requested damage type.
- 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
2009-05-20 13:50:19 +00:00
bf1487114a - Implemented new-style frill drawing using masking (untested)
- 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
2009-05-18 11:16:46 +00:00
88ff8a0886 Brought back the extra graphics and added extra monster graphics
git-svn-id: http://openexile.googlecode.com/svn/trunk@59 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-17 03:13:00 +00:00
a52a4c20c1 Fixed special spots; they now appear in-game, and disappear when they should.
git-svn-id: http://openexile.googlecode.com/svn/trunk@58 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-17 01:03:22 +00:00
1b68a09993 Fixed walkway smoothing and road connecting.
git-svn-id: http://openexile.googlecode.com/svn/trunk@57 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-16 18:41:27 +00:00
28f4368651 Numerous changes to terrain and trim. The changes to the scneario editor work as expected.
- 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
2009-05-09 14:11:39 +00:00
Chokboyz
7bc95dc7c8 Uploaded zipped save files to avoid data corruption.
git-svn-id: http://openexile.googlecode.com/svn/trunk@55 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-07 05:04:09 +00:00
4dc75d51c0 - Merged two classes (cPopulation::cCreature and cTown::cCreature)
- 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
2009-05-07 02:50:16 +00:00
68dcf3cdef - Moved some files around for better organization
- 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
2009-05-06 20:23:54 +00:00
f8701fdaff Tried in vain to get the game to write to a savefile in the newly created save format.
git-svn-id: http://openexile.googlecode.com/svn/trunk@52 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-06 19:49:07 +00:00
Chokboyz
6bc706bd7b Uploaded (temporary ?) Win32 savefiles for testing purpose:
- WIN_BOE.SAV is a start-up screen savefile
- WIN_BOES.SAV is a savefile with the party in the Valley of the Dying Things scenario.

git-svn-id: http://openexile.googlecode.com/svn/trunk@51 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-05 14:27:00 +00:00
388cb04602 - Fixed the bug that prevented launching from the Finder
- 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
2009-05-04 20:10:12 +00:00
1cbb12e1b8 - Fixed more major bugs, both in game and scenario editor.
- 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
2009-05-02 20:25:13 +00:00
d60b8a7fb1 - Fixed a few major bugs, and partly removed the out.out redundancy.
- 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
2009-05-02 03:39:16 +00:00
de3d2f78f5 Mostly various small changes toward fixing some of the major bugs
git-svn-id: http://openexile.googlecode.com/svn/trunk@47 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-05-01 04:03:41 +00:00
27b95287bc Fixed a few errors from the previous revision, and nuked some of the compiler errors.
git-svn-id: http://openexile.googlecode.com/svn/trunk@46 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-04-30 04:21:24 +00:00
c7f9c17130 Some rearranging of classes so that things are in more logical places.
git-svn-id: http://openexile.googlecode.com/svn/trunk@45 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-04-30 02:18:12 +00:00
82578b77f1 - Reverted change that allowed "Heal Target" missiles to heal PCs (defeats the purpose of such items as a curse)
- 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
2009-04-29 04:57:53 +00:00
ce0b3c6089 Added enums for item ability, item variety, item weapon type, and terrain special ability.
git-svn-id: http://openexile.googlecode.com/svn/trunk@43 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-04-28 19:20:32 +00:00
3efed5dcc7 - Tidied scenario editor code – proper indentation applied, no more multiple statements on one line, etc
- 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
2009-04-28 16:45:32 +00:00
049754ea27 - Added code to the missile firing so that missiles that heal the target also work if they hit a PC.
- 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
2009-04-28 13:00:21 +00:00
Chokboyz
9ed2738f6c Blades of Exile Win32 Character Editor v1.0.0 release.
Changelog :
- The character editor now search the right help file.
- If sounds are desactivated in the game, they will now be desactivated in the character editor as well.
- Reorganised menus.
- Implemented a "Save as" option. "Save" now overwrite the loaded file.

git-svn-id: http://openexile.googlecode.com/svn/trunk@40 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-04-28 01:24:27 +00:00
ec2fb7f44f - Added a compatibility flag for Resurrection Balm – if set, it's not required for Raise Dead or Resurrect
- 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
2009-04-27 21:07:55 +00:00
e0115dd668 - Added a setting to skip delay when showing damage to the whole party. It's a hidden preference at the moment, like skip startup splash.
- 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
2009-04-27 19:41:06 +00:00
f28053ed0e - Added enum for scenario editor mode
- 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
2009-04-27 17:10:16 +00:00
74ec4c67b5 Fixed several bugs, including one where dialogs were not redrawn properly and one where random numbers were not in the expected range.
git-svn-id: http://openexile.googlecode.com/svn/trunk@36 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-04-27 13:14:24 +00:00
fa528023e7 - Added enums for trap type, damage type, and monster type
- 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
2009-04-27 02:08:58 +00:00
440eb5a765 Starting to turn the constants in boe.consts.h into enums. So far the overall mode and the player main status have been changed.
Also tried in vain to fix the problem with controls not being drawn.

git-svn-id: http://openexile.googlecode.com/svn/trunk@34 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-04-26 22:30:53 +00:00
fcda358c5e - Fixed bug in which the last missile in a stack would sometimes fail to fire
- 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
2009-04-26 01:57:25 +00:00
d3be0c107e Both the game and the scenario editor now properly load a scenario.
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
2009-04-25 22:50:58 +00:00
3ba7021543 More refactoring. The code is ALMOST able to compile now – all three programs together give a mere 25 errors.
git-svn-id: http://openexile.googlecode.com/svn/trunk@31 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-04-25 05:12:14 +00:00
Chokboyz
c8df8232ab Deleted redundant file.
git-svn-id: http://openexile.googlecode.com/svn/trunk@30 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-04-24 00:49:33 +00:00
Chokboyz
e2807dbeed Fixed several bugs in Win32 Char Editor :
- Corrected the edit day option so that it sets the day to the one specified and not to the day after.
- Fixed the saving function : now changes can be saved outdoors (that was crashing at save stored_items making give_map non functional).
That also fixes the stored items arrays being filled with items from current town.
- If in a scenario, the editor nows display the name of the town the party is in or if they are outdoor.
- Giving PC items from a Mac made scenario doesn't crash the game anymore (overall Mac scenario support added)
- Cleaned the ressource file. The executable is now smaller.
- On give items : the editor now tries to load the bladbase.exs file if the scenario file is not found. If can't locate the bladbase, the items menus are grayed.

git-svn-id: http://openexile.googlecode.com/svn/trunk@29 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-04-24 00:17:12 +00:00
fad42597a6 - Fixed up file loading (but then broke it again)
- Reworked preferences to use plist
- Cleaned out the shareware code
- More tweaks to the dialog engine
- Edited dialog #869 (the choose prefab scenario dialog) to use new invisible button (type 6) and to remove the "Must be registered" lines.
- Tweaked window size so that the startup screen fits within it.
- More major refactoring work.
- A few additions/alterations to boe.consts.h

Current status:
- Scenario editor: compiles and runs, but can't load a scenario
- Character editor: don't know
- Game: Doesn't even compile
I wouldn't normally submit code that doesn't compile, but I have already made a lot of major changes in this revision.
I will submit a version that compiles as soon as possible.

git-svn-id: http://openexile.googlecode.com/svn/trunk@28 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-04-23 20:53:49 +00:00