-Added Makefile-Nightly-* for compilation using mingw32. amd64 makefiles currently not working due to mysteriousness in the apt repo (*)
-corrected cases in BLADPCED.RC, BLADES.RC, and BLSCENED.RC so they build properly on case-sensitive systems (*)
-Fixed a typecasting error in dlogtool.cpp and a random comma error in tfileio.cpp (ScenEd)
-Added *_private.rc files to repo to prevent build anarchy with windres.
git-svn-id: http://openexile.googlecode.com/svn/trunk@166 4ebdad44-0ea0-11de-aab3-ff745001d230
Previously, when saving a scenario, it wrote uninitialized variables in lieu of the hashed/encrypted values that the original editor used for password checking. (Stored in flag_a, flag_b, etc.) That made it incompatible with earlier editors (such as Super Editor), which expected a password of "0", which is to say, data hashed using 0 as the argument.
This commit just adds the old password code back in, and saving now gives all scenarios a password of "0". Loading behavior is still unchanged.
git-svn-id: http://openexile.googlecode.com/svn/trunk@163 4ebdad44-0ea0-11de-aab3-ff745001d230
- Minor adjustements to some random checks (aligned code for to-hit chances, assassinate and lockpicking).
- Fixed a potential buffer overflow of the "delayed specials" queue that could happened with the massive use of stairway nodes in a node chain. Cleaned the handling of "town entry/exit" nodes in general.
Chokboyz
git-svn-id: http://openexile.googlecode.com/svn/trunk@161 4ebdad44-0ea0-11de-aab3-ff745001d230
- Dying to a trap while attempting to open a container won't display the "get items in container" dialog with no alive character anymore.
- Casting the priest Light spell now updates the surrounding areas automatically (like Light and Long Light mage spells; moving or waiting isn't required anymore).
- Debug and Ghost mode are now turned off when loading a game.
- The shop scrolling bar is now properly cleaned up when loading a game while shopping.
- Items are now automatically combined when identified in a shop. To avoid any loss of information, the game now gives the identified item name in the message window (format : "Your item is identified. (full_item_name)"
- If an "active" character (i.e solo fighting) is incapacitated (AP reduced to 0 because of webs, sleep, paralysis, etc) the rest of the party (if present) is now activated the next turn.
- Entering a space containing the special node number 50 won't "force move" the party anymore.
- Added a compatibility option (mainly testing purpose) : "specials are triggered when on boat".
- The restart option of the death menu now works as intended.
- Finally renamed the "Heal All" monster priest spell from "Full Heal" to "Revive Self". That should prevent any further confusion.
- Using items now always updates the ap counter.
- For the sake of consistency : changed labels "Power Potion" to "Energy Potion" potions in the Alchemy menu.
- Redrawing the screen is now correctly handled by specials in all mode (e.g a special that changes a terrain will correctly redraw the screen, even if it was called by looking or moving).
Scenario Editor :
- Redid the custom pictures drawing implementation : custom pictures should now always appears and redraw (terrain, animated terrains, monsters, items, preset items, ...).
- It is now possible to directly give the "Drain missiles" ability to bows and crossbows (use the "Weapon Ability" menu).
Chokboyz
git-svn-id: http://openexile.googlecode.com/svn/trunk@160 4ebdad44-0ea0-11de-aab3-ff745001d230
- Various aesthetics fixes (no more buttons cut in half, justified some buttons, etc)
- Clicking the help icon next to the (unused) job button now correctly displays help.
- Redid the implementation of the (new) "check statistic node" (replaces "has enough mage lore") to prevent potential compatibility breaking with legacy scenarios.
- Small change to the (new) "Set town status" (replaces "Make Town Hostile") for the same reason.
- To clarify, renamed the "Dispel spirit" item ability to "Ravage spirit" (as it is, in fact, the spell called by the ability).
- For the same reason, renamed the monster spell "Heal All" to "Full Heal", as it isn't a mass spell but a powerful (and reliable) self-healing spell for monsters.
- Aligned the sleep immunity on the mac version : Slimes (regardless of the monster number), Stone and Undead types monsters are immuned to sleep.
- Dart throwing now only takes 2 ap for monsters (corrected from invisibility ability).
- Field generating monsters are now immuned to the type of field they generate (corrected from an Exile 3 incomplete transition).
- Rewrote the pending special queue for better events handling (no more potential overflow, entering/exiting town events are now sure to happens)
- Implemented the "No Terrain Animation" option.
- Un/Equipping something while in combat now correctly updates the ap display.
- MOnsters missile abilities now show their correct damage range in description (game and editor).
- Bashing weapons charges (if any) are now correctly shown (as usual, next to the name).
Codewise :
- The game shouldn't check if the item to be equipped is food anymore.
- Replaced lots of number checks by "human-readable" constants (some new).
- Removed some false checks about awaken spell supposed to work as dispel field.
- Fleeing and winning an outdoor battle now call the run_special function with the correct parameter (was reversed, with no consequences, since it's never checked)
- AI doesn't check the monster number, when deciding if the monster should cast a mage spell, anymore.
Chokboyz
git-svn-id: http://openexile.googlecode.com/svn/trunk@159 4ebdad44-0ea0-11de-aab3-ff745001d230
Classic Blades of Exile :
- Fixed a compatibility breaking issue concerning Show/hide town nodes.
Such nodes work the same way it were (i.e flawed) in legacy scenarios, fixing problems about towns that should appear but don't.
- Petrifying touch ability acts again as Disease touch in legacy scenarios, preventing the "vorpal cockroach" syndrom.
Classic Scenario Editor :
Two new working fields in the Scenario Details dialog :
- Minimum version, which is unused for now (it represents the minimum version of the game that is needed to play the scenario)
- Program Make Version (not to confuse with Scenario Version), which is the version of the scenario "format" to use :
- first number is the major version : set to 1 for legacy scenario, hence forcing legacy compatibility.
Anything higher is "new scenario" format and makes the game use fixed features.
- the two next numbers are unused for now.
Chokboyz
git-svn-id: http://openexile.googlecode.com/svn/trunk@157 4ebdad44-0ea0-11de-aab3-ff745001d230
*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
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
-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
* 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
*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
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
*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
* 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
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
*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
- 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
- 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
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
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
- 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
- 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