Commit Graph

1145 Commits

Author SHA1 Message Date
Chokboyz
6da7cc0da5 A try at standardizing filenames' case in the Classic BoE branch (Win32), as described in the Issue 25.
(Character Editor)

Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@152 4ebdad44-0ea0-11de-aab3-ff745001d230
2010-07-12 04:04:39 +00:00
Chokboyz
4aef873372 Fixed a code collision in a previous attempt at merging Windows and Mac codes, which would prevent the move_to_zero function to work with short types.
Most obvious effects were infinite bless, haste, poison, webs not cleaning, etc

Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@151 4ebdad44-0ea0-11de-aab3-ff745001d230
2010-05-25 23:30:07 +00:00
Chokboyz
b7f759ba0f Minor correction to the Dev-Cpp custom makefile.
Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@147 4ebdad44-0ea0-11de-aab3-ff745001d230
2010-05-01 13:56:07 +00:00
Chokboyz
46aad7201c *Fixed a bug that prevented the Good Constitution Trait from giving bonus to shrug off disease.
*Fixed the encumberance calculation function, the last 8 items are no longer ignored.

Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@146 4ebdad44-0ea0-11de-aab3-ff745001d230
2010-04-01 22:12:05 +00:00
Chokboyz
8fa380832c *Added a custom makefile for DevCpp which solves the ressources multiple-definitions problem (Game and Editor, the Character Editor wasn't affected).
Following requests/reports :
Blades of Exile :
*Corrected the Skill and Giant Strength abilities handling so that they actually increase the chances of hitting instead of decreasing it (damages were correctly handled).
*Now trying to enter a blocked space multiple times won't produce a lot of message but add a (xX) suffix to the "blocked:" message (X number of tries to enter the space)

Minor Editor changes :
*When opening a new town or assigning a new town to a town entry on outdoor map, the input field is already selected (extended the basic function for flexibility).

Code-wise :
*Readded legacy monster skill constants in CONSTS.h, to make the original code easier to understand for newcomers.

Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@145 4ebdad44-0ea0-11de-aab3-ff745001d230
2010-03-22 02:27:00 +00:00
Sylae Corell
f42f974453 Modified Win32 Character editor icon to make telling apart from game easier. I also added a PNG of it to /rsrc because iirc the mac resource fork gets screwed over by windows machines during changes or something like that.
git-svn-id: http://openexile.googlecode.com/svn/trunk@144 4ebdad44-0ea0-11de-aab3-ff745001d230
2010-03-05 23:06:57 +00:00
Sylae Corell
e7d76c1a8e More cleanup of documentation.
git-svn-id: http://openexile.googlecode.com/svn/trunk@143 4ebdad44-0ea0-11de-aab3-ff745001d230
2010-02-07 20:54:56 +00:00
Chokboyz
9c062f368c Implemented an old Celtic Minstrel's suggestion : the kill_monst() function does now work on a local copy of the monster. That should be safer and fix all problems with faulty special nodes chains (like in Bandits 2 when the final pink boss form is destroyed then immediately replaced with the blue boss form, so that the "special on death" node checked is the new blue boss one ... effectively locking the game in that case)
Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@142 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-12-06 18:14:36 +00:00
Sylae Corell
0438926188 Continued Editor Doc cleanup.
git-svn-id: http://openexile.googlecode.com/svn/trunk@141 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-11-17 21:19:41 +00:00
Sylae Corell
f2639c0fb3 Began cleanup of editor docs.
-Added CSS and navbar from game docs.
-Performed basic cleanup of <head>.
-Fully cleaned up Contents.html, About.html

git-svn-id: http://openexile.googlecode.com/svn/trunk@140 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-11-11 19:44:23 +00:00
Chokboyz
a728099839 * Scenario and character editors code tweaked so that it compiles with newer windres.exe version and Code::Blocks IDE. Code::Blocks project files included for both Editor and the sound DLL project (seems like speed optimization breaks the scenario editor : monster and item dialogs doesn't accept any entered value).
* Cleaned unused variable in Scenario and Character editors code.

Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@139 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-11-10 01:59:47 +00:00
Chokboyz
2889235248 * Tweaked and rewrote some part of the code so that newer versions of Windres.exe works and it compiles in Code::Block (side effect, Dev-Cpp may now warn about Ressource duplication during compilation but it's harmless and has no effect). Code::Block project file is now included.
Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@138 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-11-09 01:39:35 +00:00
Chokboyz
c13170ef8c * Cleaned some remaining Exile 3 dialogs (Ishad Nha)
* Added a way to force kill the party with the Kill node (if ex1b is set to 2, then force kill. Editor node text updated.)
* Implemented Home, Page Up/Down and End for diagonal movement (a side effect is that the Keypad diagonal movement is now working with either Numlock on or off). That should help with keyboard missing numkeypad.

Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@137 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-11-08 14:51:07 +00:00
Sylae Corell
b874098c3d Some more minor documentation changes.
git-svn-id: http://openexile.googlecode.com/svn/trunk@136 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-11-06 23:30:56 +00:00
Chokboyz
dd389aba8f *Fixed the Ctrl key behavior when in look mode : one can now multilook by keeping the Ctrl key pressed. (note that it fixes the bug : pressing the down arrow in look mode actually looks but don't quit the look mode after)
*Little cleaning (debug leftover and extended events initialization to the 100 possible)

Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@135 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-10-31 00:16:17 +00:00
Chokboyz
c36b6f2a13 *Minor corrections to the previous commit.
*Get rid of a graphical glitch on a the left of the screen that could appears on higher resolutions.

Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@134 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-10-29 15:24:29 +00:00
Sylae Corell
54c5886fbf Commited for Ishad Nha:
Changes for this version of the Blades of Exile 2009 Scenario Editor:

Fixed message about deleting towns when you want to create Scenario Text.txt.
I updated the Editor to include an outdoor zone report. 
I added the four scenario flags to the Scenario Object Report, because they reveal whether a scenario is Mac or Windows. Reports may crash if the scenario is Mac.
I introduced the repeat print of last file, it automatically prints a new version of the last report file to be printed. It is activated by Ctrl + P and accompanied by a message in the text area. 
Town report now lists all special nodes and dialog nodes. along with the relevant text messages. Irrelevant lines have been removed. The special nodes listings can be extended to scenario and outdoor reports.
Scenario and town timers have been added to reports.
Tables have been included in scenario, outdoor and town reports showing the lengths of the relevant strings. (For some reason the last 40 outdoor strings caused a crash of the Editor.)
Now all three types of report show the full details for special nodes.
Ctrl + (Number) shortcuts have been introduced for Town and Outdoor menus.
Area Rectangles now show the lower right coordinates too.
All menus now have hot keys for each item.


git-svn-id: http://openexile.googlecode.com/svn/trunk@133 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-10-28 19:23:13 +00:00
Chokboyz
5ebbe14d6f *Finished cleaning the Win32 code so that the game compiles again.
*Fixed the SDF[0][0] being set to 1 when killing wandering or summoned monsters.

Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@132 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-10-18 23:26:28 +00:00
Chokboyz
a7893db77b * Implemented working town difficulty for the next scenario formats
* Fixed the "reversed bashing/lockpicking difficulty scale"
* Corrected a typo when including "consts.h"

Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@131 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-10-12 20:23:13 +00:00
Chokboyz
a0a2634e8f Minor adjustments to the last commit.
Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@130 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-09-24 21:45:52 +00:00
Sylae Corell
72e165c557 w of the dueck
Here is the collection of files that have been altered so far.
Changes made:
' [ ' is an additional zoom in/zoom out key.
Ctrl + Arrow keys introduced for loading previous/next town and for outdoor zones above/below/left/right.
Added a comment about which Ctrl + Letter shortcuts were still available.
Town menu was rearranged.
Graying out of menus has been updated.
Version date is now shown in the Help > About Blades Scenario Editor dialog.
Three new hotkeys: "^A", 213, ASCII,  "^B", 214, ASCII,   "^V", 312, ASCII
New scenario object write up: BoE Scenario Object data.txt

regards

Ishad Nha


git-svn-id: http://openexile.googlecode.com/svn/trunk@129 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-09-24 19:19:48 +00:00
Chokboyz
1f4d01118c Fixed some minor errors in the Blades of Exile Base.
Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@128 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-09-24 15:32:38 +00:00
Chokboyz
1cda877ad6 Blades of Exile :
*SDF[0][x] can now be set/checked by using the "Set SDF" debug command (Shift-S).

Scenario Editor :
*Implemented Ishad Nha's "Concise Town report" function (accessible under Town Advanced).

Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@127 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-09-20 15:21:58 +00:00
Chokboyz
1dba4903a1 *Fixed a typo in the "Small Rebellion" scenario's name.
*In dialogue mode, if the text box is enabled, it now has focus by default.

Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@126 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-09-19 00:18:51 +00:00
f8990c1c9b - Added some terrain graphics
- Stripped out the navbar in the docs to a separate JS file, to reduce redundancy and improve maintainability
- Probably other stuff that I have long forgotten; hopefully nothing code-breaking.

git-svn-id: http://openexile.googlecode.com/svn/trunk@125 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-09-15 22:43:58 +00:00
Chokboyz
f9d84777f8 Corrected the custom graphic file loading procedure in the Scenario Editor, so that files/folders with point . characters in their name won't prevent correct loading. (useful if we plan to use a "scenario_filename.exr" ressource folder).
Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@124 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-09-15 17:28:59 +00:00
Sylae Corell
5d0ee55d78 I think the cleanup of the game documentation is done.
- Added navigation bar to all game docs. See game/nav.txt
- Put the GNU GPL into a file, game/Licensing.html

git-svn-id: http://openexile.googlecode.com/svn/trunk@123 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-09-04 22:30:46 +00:00
Sylae Corell
3c9f1e198e 'Finishedexit
git-svn-id: http://openexile.googlecode.com/svn/trunk@122 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-08-30 23:49:25 +00:00
b02902770c Well, at present the Windows code for the actual game almost compiles. The current goal is to undo all the things that Ormus did to make this job difficult.
Basically, remove as many as possible of the dependencies of the source files in the tools and classes folders on source files not in those folders.
(With the exception that files in the classes folder may depend on files in the tools folder.)

In this commit, several changes were made.
- Project file modified, may need further modification.
- Many files renamed to match the Mac version.
- #include statements for system headers changed to use <> instead of "" (some already did, but many didn't).
- xxx.h headers replaced with cxxx headers where appropriate.
- Most sound-related variables moved from globvars.cpp to soundvars.cpp.
- The files originally named graphutil and gutils have been merged.
- Changed TRUE/FALSE to true/false.
- Changed exlsound to soundtool and mostly removed dependencies on the main game files; the exception is that it still uses mainPtr (which probably can't be helped)
  and print_nums (which should probably be incorporated into the MessageBox string).
- Possibly other things that were forgotten.

For some reason this commit also includes changes recently committed into the branch for osx.

git-svn-id: http://openexile.googlecode.com/svn/trunk@121 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-08-03 19:00:23 +00:00
c6a5f5bacd Add src directory for platform-independent source code files.
git-svn-id: http://openexile.googlecode.com/svn/trunk@119 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-07-17 17:07:25 +00:00
Chokboyz
e9d7b66e37 Uploaded complete version of the todo file :/
Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@116 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-07-17 01:54:40 +00:00
Chokboyz
fff323ecf5 Added Known Scenarios bugs and todo text file.
Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@115 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-07-17 01:51:56 +00:00
Chokboyz
5b4f266d5e Initial Classic BoE version 1.0 import :
Changelog :

Classic Blades of Exile version 1.0 :

- Added a new item ability : Call a scenario special when using the item. The special called is specified by the ability strength.
The type of scenario to call depends of the magic_use_type (the boxes from help pc (0) to harm all (4)) : 0 is only local, 1 is town local and out global,
2 is town global and out local and 3 is only global.
If the number of charge is greater than 0, then using the item takes one charge. If not, the item can be used at will.
- Changed the "Set SDF" debug command to display the value of the specified SDF if value to set it to is -1 (BoA style).
- Added a missing compatibility switch from the introduced "Specials interrupt wait/rest" feature.
- Misc. battlefield adjustment (forest battlefield doesn't show a road anymore, road battlefields appear correctly, cave bridge now has cave trims, ...)
- Fixed a bug where an absent boat or horse could prevent a pc from entering a square while in outdoor combat.
- Trims now use the next terrain type (cave, grass, mountain) when drawn.
- Fixed a potential negative pointer to an array.
- Readded Spidweb logo intro sound.
- Event Timers will now triggers even when resting (compatibility switch available)
- Stairway can now be called in any mode except outdoor : town, looking, talking, even fighting (put in fight mode at destination).
- The three basics scenarios are no longer listed in the custom scenario list.
- Talking mode : fixed a typo which would prevent the keyword "name" from giving the name dialogue. Added the keywords "buy" (for purchase) and "bye" to end conversation.
- Time for event timers is now taken into account correctly while resting Outdoor/ in Inn / via "Have a Rest Node". The "Change Time" node is unchanged.
- Added a preference to show a talk entry field next to "Ask About" (like in older Exiles) for direct typing.
- Fixed clipping error in the main menu screen for high resolutions.
- Added the Ctrl+N shortcut who was advertised but not working.
- Gold is now updated after training.
- If not using special messages, a "Move Party" node won't mess with talking responses anymore.
- Affect Gold/Food nodes could give more gold/food than the maximum allowed. Fixed.
- Deleted a check that was destroying items with "type Flag" 15 first.
- Calling add_string_to_buf() with an empty string now does nothing.

Classic Scenario Editor version 1.0 :

- Added a switch to the Scenario Details to bypass the automatic difficulty adjust
- Added the ability to play sound asynchronously (use -sound_number instead of sound_number).
- If a custom monster pic was shown in the monster dialog and a non-custom monster was loaded via the arrows, the pic was always drawn from the custom sheet. Fixed.
- Cancelling while choosing an item ability won't reset the item ability to "No ability" anymore.
- Added a "Change Town Lightning" node. (StarEye a.k.a *i)
- Loading a town in the main menu won't get into editing mode automatically anymore.
- Added an option in the Town Advanced details to prevent the mapping (like in older Exiles).
- Added a "Display picture" node, that living up to its name, displays a picture. Bitmaps (BMP) are the only supported format but image can be of any size
(be warned that if the image is larger/wider than the screen, it will be streched to fit, meaning a (potentially substancial) loss of quality).
The name of the file is search in the scenario special strings (160 to 259) as specified in the node ex1a field. The format must be "[eventual path]filename.bmp".
The base search folder is "[folder_the_scenario_is_in]/scenario_name.exr/".
- Corrected the "Type Flag" description text (is between 0 and 255).
- Modified the "Has Enough Mage Lore?" node into a general statistic check node. (StarEye a.k.a *i)
Here is a description of fields :

ex1a: how much of skill
ex1b: special to call if enough
ex2a: skill index (-1 defaults to mage lore to preserve compatibility) 
0 - 18 corresponding skill,
19 - Current Health,
20 - Max Health,
21 - Current Spell Points,
22 - Max Spell Points,
23 - Experience,
24 - Skill points,
25 - Level.

ex2b: 0, others - cumulative, 1 - highest, 2 - average, 3 - lowest, 10 + x - that PC. (-1 defaults to mage lore to preserve compatibility)
- Added a "Has enough species ?" node, which checks if the party has (at least) a specified number of character with a given race. (StarEye a.k.a *i)
- Modified the "Give ... spells" nodes to either take (spec.1b = 0) or give (spec.1b = 1) spells and have access to low level spells (spec.1a = 100 + spell_number, with 0 <= spell_number <= 29 ) (StarEye a.k.a *i)
- Added an option in Town Advanced Details to prevent Magic Mapping from being cast (already included in the Map Unavailable option).
- Added an option in Town Advanced Details that specifies a town special to call if the town becomes hostile (for compatibility reasons the special 0 can't be called in legacy scenarios).
- Added a "Change Creature Attitude" node in Town specs : spec.ex1a is the number of the monster in the current town and ex.1b is the attitude to set it to (0 - Friendly, Docile, 1 - Hostile, Type A, 2 - Friendly, Will fight, 3 - Hostile, Type B).
- Modified the "Make town hostile" node to "Set Town Attitude". Spec.ex1a is 0 for hostile, 1 for friendly. The dead part (2) is currently non functionnal.

Classic Character Editor version 1.1 :

- The party is in info bar has been extended an placed under the main window (now that subfolders can used, the scen_name can be pretty long)
- In Edit skill, you could decrease health and spell points to negative values. Fixed.

Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@113 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-07-16 23:31:09 +00:00
9bbfc01c5d - Removed the ViewDlog target (since it's deprecated by the new dialog engine)
- Renamed some things for shorter filenames
- Moved the license into the doc folder
- Cleaned up the project internal hierarchy so that it knows of the external file hierarchy (This should reduce the steps needed to fix bad references when a name is changed.)

git-svn-id: http://openexile.googlecode.com/svn/trunk@112 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-07-13 17:26:40 +00:00
1ebab2d72d Several Mac bug fixes, most of which are untested (but are known to work in the Windows version)
- Added code to the special queue handling which runs the queued specials as if they had happened at the time the special was queue, rather than when it's actually run.
- Fixed bug in which horses would enter lava while outdoors, but not in town.
- Fixed bug that sometimes occurred when a PC is killed by backlash while attempting to move away from a monster.
- Fixed checking for the wrong ability in handle_disease().
- Fixed bug in which asking about "name" would not show the Name response while talking. Instead, asking about "nama" would show that response.
- Added a response to "buy" and "bye".
- Removed the check in destroy_an_item() which gave rocks the top priorite to be destroyed. They still have high priority due to a value below 3, and besides this function will eventually be deprecated.
- Added a check to Absorb Spells monsters to avoid overflow of the monster's health.
- If you call add_string_to_buf with an empty string, it now does nothing.
- Changed cItemRec::type_flag to unsigned short, since it's supposed to be able to range up to 1000.
- Added flag to the scenario structure to disable the automatic doubling of hit points with high level parties.
- Fixed bug in which starting combat in dense forest results in a swap arena instead of a forest arena. (This was never noticed because dense forest is usually impassable.)
- Fixed bug with triggering combat on a walkway space (if in cave, a grass arena was created and vice versa)
- Extended the conversion code to account for arenas on animated terrain.
I also started to rework the way Split Party works, only to decide that I didn't want to do it that way. As a result, I haven't written code to convert
split party data from old saved game files, yet.
- The old SDF_ constants related to party splitting are now gone.
- Several member functions are added to cParty to fulfill the function of the constants
- Altered the way an Affect PC node will decide which PC to affect. If the party is split and only one PC is present, it affects that PC. Otherwise, it affects the chosen PC, even if the party is split.

git-svn-id: http://openexile.googlecode.com/svn/trunk@111 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-07-13 15:53:33 +00:00
Chokboyz
26b29ef34f Finally moved the files to their right place ...
git-svn-id: http://openexile.googlecode.com/svn/trunk@110 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-07-13 14:39:39 +00:00
Chokboyz
fd13ac3162 git-svn-id: http://openexile.googlecode.com/svn/trunk@109 4ebdad44-0ea0-11de-aab3-ff745001d230 2009-07-13 14:38:28 +00:00
Chokboyz
67f64f0b5d * BoE scenarios password remover code uploaded.
git-svn-id: http://openexile.googlecode.com/svn/trunk@108 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-07-13 14:34:08 +00:00
Sylae Corell
9ea75cde69 Started cleaning up HTML. Added bg image and a css. Will continue work later.
git-svn-id: http://openexile.googlecode.com/svn/trunk@107 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-07-11 23:20:10 +00:00
6e2123b24a Uploaded the rest of the original Mac documentation. It still needs major cleanup though.
git-svn-id: http://openexile.googlecode.com/svn/trunk@106 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-07-10 18:10:51 +00:00
9ed48e4be1 Moved a few graphics to where the Mac version will expect to find them (when I get around to implemented the Mac/Windows graphic switch).
git-svn-id: http://openexile.googlecode.com/svn/trunk@105 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-06-29 20:01:33 +00:00
Chokboyz
034d98713f Classic Blades of Exile Beta 2 initial upload.
Changelog (without any order) :

Bug Fixes :

- Giant Strength ability and Skill ability now use the ability strength rather than the item level to calculate effect.
- Won't take damage when moving boats over damaging terrains (fire, cold, magic, poison, disease) anymore.
- Won't take damage when horses refuses to enter a damaging terrain (fire, cold, magic) anymore.
- Horses won't enter damaging terrains (fire, cold, magic) or "horse blocking" terrains when outdoors anymore.
- Boom effects won't be displayed at random places when being damaged outdoors anymore.
- Damage won't be displayed in boom animation when attacking invulnerable monsters, when they are, in fact, unharmed ...
- The first pc won't become active with 0 AP anymore when a pc get killed by backshots.
- Fixed the town loading behavior so that Empties won't appear in Place Town Encounters anymore.
- Cleaned the ressource file (smaller executable).
- Changed the "force place monster" function to preferably flush a summoned monster if flushing is needed. Also prevent a potential infinite loop if trying to force place a monster and all the 60 monsters of a town have a life flag.
- Tweaked exploding arrows firing animation to be smoother (arrow fired, then explosion).
- The spell usable Stinking Cloud ability was protecting against acid instead of the Protection from Acid ability. Fixed.
- The Protection from Disease item ability should now works to the full extent.
- Removed a check on the item graphic when deciding whether to play the"swallow" sound; now checks only for item variety. (Celtic Minstrel)
- Corrected the code so that the party cannot be split again if already split.
- Various messages code cleaning/fixing (Celtic Minstrel)
- Removed the 50 node limit. To prevent infinite loop an interrupt sequence has been implemented (Ctrl-C).
- Cave Bridges battlefield should now appears instead of basic cave floor.
- Wall trims are now working.
- Slowdowns due to trims drawing (animated water, ...) should be fixed now.
- Scenarios in subfolders (under Scenarios/) are now found.
- No more limit for the number of listed scenarios.
- Clicking '?' icon on shopping and talk mode now gives help, even if in 'No instant help' mode.

Changes :

- All terrains and monsters sheets now loaded in memory to bypass storage sheet. That should speed up the game and fix some graphical oddities. Mac and Windows graphics can now be swapped on the fly (i.e without restarting the game). That also removes any graphical limitation in the game.
- In the same way, PC graphics will now be drawn directly to the game gworld.
- You can't end the scenario via a special node if the party is dead anymore (prevent saving an "all dead" party)
- Added a safety check to monsters with Absorb Spells ability to prevent negative health.
- Jobs dialog reimplemented (not useable for now).
- 'Burma Shave' Easter Egg readded.
- Debug Mode : ghost mode implemented.

Classic Scenario Editor Beta 2 :

- Dumping functions won't change current town/outdoor section anymore.
- Finished porting the file IO functions to 32 bits.
- Added a rudimentary custom intro picture behavior : if the intro picture is set to 100, the first icon on the custom sheet will be displayed in the scenario selection menu. Scenario intro pics must be drawn on the same scale as talk icons.
- Whenever the “Place Random Items” function is used, the editor will inform the user that it could not place all items because the town item # limit has been reached, regardless of how many items are actually in the town. That has been fixed (the message now displays only if the max number of items is indeed reached).
- Cleaned the ressources (smaller executable).
- Added a Monster data dumping function (dumps all info about monsters : wandering/special enc/town monsters details ...)
- Added a Specials data dumping function (dumps all info about specials : number, types, variables, ...)
- Town Room/Outdoors Info rectangles are now initialized at ((-1,-1),(-1,-1)) freeing the 0 coordinate and fixing the "Rectangle X" description at (0,0) in the game.
- Cleanse Rectangle SDF1 info rewritten to match actual behavior (0 leave force/fire/webs/crate/barrel, 1 cleans all).
- Corrected the Do SFX Burst info text (1 - telep., 2 - elec.)
- When placing an item with a custom graphic in a town, the editor will display the graphic in the upper-left corner of the space it is placed on. Fixed
- If you edit a monster’s abilities and click Cancel, the ability of that monster will be removed. Fixed.
- If you edit a item's ability, all previously unsaved modifications are erased. Fixed.
- Disappearences of right scroll bar fixed.

Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@104 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-06-29 15:43:59 +00:00
Chokboyz
be5db37711 Graphical update :
- Added Win version of the Mac PNG graphical sheets.
Some pictures have not been changed because Windows equivalents don't exists (alter on cave floor, truncated large boulder, lots of pics for TER_7, ...).
- Added a new version of STATAREA.BMP with the job button readded.

Chokboyz

git-svn-id: http://openexile.googlecode.com/svn/trunk@103 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-06-29 13:48:26 +00:00
372a275608 - Fixed the Reunite and Leave Town debug option
- Removed the cartoon_happening code
- Added a MODE_CUTSCENE for possible future use


git-svn-id: http://openexile.googlecode.com/svn/trunk@102 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-06-29 02:33:39 +00:00
b90130c425 The extended debug mode is now fully implemented, though it may be slightly different than the Windows version's debug mode.
I also added a ghost mode (shift-G) which allows you to pass through walls.

In the Windows code, I added three small things:
- the "&*()" Easter egg
- typing ? should now give shopping and talking help as well
- the Return to Start debug option shouldn't work when you're on a horse

git-svn-id: http://openexile.googlecode.com/svn/trunk@101 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-06-28 20:05:31 +00:00
6af129c277 - Nuked the storage_gworld and party_template_gworld. Monster, terrain, and PC graphics are now drawn directly from their sheets of origin. This is partly tested, and seems to work fine.
- Removed the terrain_pic and terrain_blockage arrays, which were redundant (though shorter).
- Cleaned out some of the commented code in boe.graphics.cpp and boe.graphutil.cpp
- Added a templated get function to cOutdoors::cWandering.
In the dialog engine:
- Important fields are now initialized to default values, as they should be.
- The absence of required attributes is now recognized as an error
- Added stack element to the DTD; no code support yet
- Added fore attribute to the dialog element to specify default text colour; DTD updated and code support added.
- Likewise with the def-key attribute on other clickable items besides buttons (which already had it)
- Updated stylesheet to fall back on the fore attribute when colour is unspecified
- When drawing default monster graphics, it uses m_start_pic instead of num as the index. This should be right, though it's untested.
Unfortunately, the dialog engine is still unstable.

git-svn-id: http://openexile.googlecode.com/svn/trunk@100 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-06-28 17:18:24 +00:00
e5ac5db275 - Got the new dialog engine into a semi-functional, mostly crash-free state!
- Created constants for the number of monster and terrain sheets, so that we can easily add more.
- Added init_sheets() function to initialize cPict's static variables.
- Moved the code for checking for an interrupt key out into a separate function so that it can be used elsewhere as well.
- Added error checking to make sure a sheet exists before drawing from it. (Note: Will need to catch the exception and draw a blank rather than simply terminating.)
- Fixed bug where status icons were drawn instead of terrain map icons.

git-svn-id: http://openexile.googlecode.com/svn/trunk@99 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-06-20 00:06:55 +00:00
2c5faa51c3 Mostly bugfixes and small changes.
- Changed the number of times a creature can appear in an outdoor encounter to match the documentation.
- Moved count_monst to cCurTown::countMonsters.
- Code cleanup in create_wand_monst() - removing unnecessary comparisons with true or false.
- Moved is_null_out_wand_entry to cOutdoors::cWandering::isNull().
- Moved is_null_wand_entry to cTown::cWandering::isNull().
- In create_wand_monst for the town case, I changed it so that the fourth monster (and only the fourth monster) has a 50% chance of appearing twice.
- In monst_check_speciall_terrain, replaced the commented check for town number in the force barrier case with a check for a new bit field variable: univ.town->strong_barrier
- Removed specials1, specials2, res1, and res2 from the townrecord; the checks for specials2 & 1 have been replaced with checks for the new bit field variable defy_mapping.
- In adj_town_look(), the lines uncommented in the previous revision were reduced to a single add_string_to_buf() call.
- Removed the 50 node limit in favour of an interrupt key. Pressing command-period while a node sequence is underway will now interrupt it. Control-C is supposed to have the same effect, but it's not working yet.
- Affect PC nodes other than Kill/Raise Dead now only affect the active character when the party is split up.
- Added missing breaks in the split party node which would allow the party to be split in combat or when already split, despite a message saying they can't.
- Added a second operator[] to cCurOut which takes a location as a parameter rather than an x coordinate.
- Properly fixed an earlier error in cPitc::init() which had a temporary fix; it turned out to be a case of static objects not being initialized in the right order.

git-svn-id: http://openexile.googlecode.com/svn/trunk@98 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-06-18 16:51:14 +00:00
acbba1b625 Added enums for special node type and talk node type, - nd did general cleanup in boe.specials.cpp:
- Fixed formatting in many places
- "nixed" the goto when handling damaging terrain, as per the TODO: label
- Made use of enums in many places in the file
- Fixed some oddities resulting from overzealous Replace All operations
- Removed a check on the item graphic when deciding whether to play the "swallow" sound; now checks only for item variety.
- Added handling for new stone block in some places (it should not be considered "fully supported" though);
-> it can be pushed by players (but not monsters, yet) and damages the party/player (but not monsters yet) if they are pushed onto it by a conveyor belt. (1d6 unblockable)
- Added a "return true" statement when using a space to prevent an extraneous "Nothing to use" message.
- Uncommented some code the displayed a "Search: You find something!" message.
- Changed the "(Use this space to do something with it.)" message to be triggered by the space being usable, rather than the graphic being the mountain graphic.

git-svn-id: http://openexile.googlecode.com/svn/trunk@97 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-06-17 02:34:26 +00:00
269d6b0572 - Removed the SLEEP_TICKS and MOUSE_REGION macros (note: SLEEP_TICKS was at 2L, but I've changed it to 0; I think this should be fine, but I'm not sure)
- Stripped out the copying of external files (such as graphics, scenarios, bladbase) into a separate target which the other three are dependent on.
- Graphics.exd no longer included by reference; now the individual files are included directly.
- Added a recalcRect function to ledGroup, since it's a container.
- Added a special case to cLedGroup::setSelected to avoid a crash when no LED is initially selected.
- Added a few initializers to constructors.
- Changes to cDialog::parse<cPict> which were intended to prevent an access violation; unfortunately it doesn't work yet.
- Add cases to cDialog::parse<cPict> to handle PI_TER_MAP and PIC_STATUS.
- Fixed a stupid error in all specializations of cDialog::parse which resulted in an infinite loop.
- Fixed errors in some specializations of cDialog::parse in which an else statement belonged to a different if than it should have.
- Added code to cDialog::loadFromFile to turn the relative path in the argument into an absolute path.
- Fixed errors in cDialog::loadFromFile relating to incorrect use of the parser.
- Added exit statements to the catch clauses in cDialog::loadFromFile.
- Added definition of cDialog::init;
- Enclosed the WaitNextEvent call in cDialog::run in an if statement to ignore null events if they occur (I suspect they won't anyway though)
- Fixed errors in the Edit Terrain dialog definition which caused an exception to be thrown when parsing it: bold was changed to silom, key= was changed to def-key=
- Added status to the list of nullified GWorlPtrs in cPict::init.
- Changed the type of cPict::drawPict from map<ePicType,void(*)(short,GWorldPtr,Rect)> to void(*[])(short,GWorldPtr,Rect) - ie, it was changed from a map to an array because the map was causing an error for some reason.
- Fixed up the load_strings function, which didn't work at all due to a stupid logic error.

git-svn-id: http://openexile.googlecode.com/svn/trunk@96 4ebdad44-0ea0-11de-aab3-ff745001d230
2009-06-16 22:43:51 +00:00