Thanks to @redsaurus we've now got (partial) 64-bit support. The game and sounds dll now compile under x64.
I've also added a simple python configure script (based off of Arancaytar's cburschka/cadence script) to quickly allow changing compilers.
Gone are the days of three different Makefiles!
Under the current system, it would have failed to be random if two calls
were made during the same msec. It will now throw in the previous rand()
in the new seed, which should prevent duplicates (although the next seed
in the same msec will be predictable, it's not like we need to be
cryptographically secure here)
-Titlebar no longer shows version
-Help->About now shows version number and SVN revision
git-svn-id: http://openexile.googlecode.com/svn/trunk@168 4ebdad44-0ea0-11de-aab3-ff745001d230
-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 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