- Nuke some uses of strcpy, sprintf, etc; current info strings in the scenario editor are now stored as std::string instead of C-strings. - A smarter method of calculating the "erase" terrain for a given terrain type. In case of impassable spaces, trims, and walkways, instead of using the ground terrain, the trim terrain (if any) is used as the erase terrain; if there's no trim, ground 0 (cave, by default) is used. The method of determining if two terrains are essentially the same (ie, whether to paint or erase) has also been improved a little. - Also, to reduce confusion, the erase terrain is now shown beneath the paint terrain. Terrain changes: - Add "archetype" flag as a better way of determining which amongst a set of terrains sharing the same ground type should be considered as the most basic terrain of that ground type. It's automatically applied to any terrains using original graphics when importing an old scenario; generally, any with no terrain special will be marked as an archetype, but if the lava graphic was used, it's instead any with a terrain special. It's a crude method that may easily break, but probably not possible to do better. - When importing old scenarios, set the two walkways to be separate ground types while the crops should have grass as their ground, and the conveyors have cave. - Fix fly, boat, block horse LEDs not being cleared if a terrain lacks that flag when using the arrow buttons. This could lead to terrains accidentally picking up the flags of nearby terrains in the list. - Fix the block horse flag was not correctly saved when closing the dialog. - Fix the block horse flag not being correctly loaded from the scenario file
Classic Blades of Exile
This project hosts the source code to the classic RPG creator Blades of Exile after it was released by Spiderweb Software under GPLv2. It is a svn-git transfer from the Google Code Project; all issues and trunk code has been ported.
The primary purpose of this project is to provide bug fixes to Blades of Exile so that it can compile and run on modern operating systems. The secondary purpose is to generalize and extend its functionality while maintaining backwards compatibility.
If you would like to be added to this project contact Sylae or one of the other people on the owners list. This is an open project, with no strong prerequisites for getting commit access. With that in mind, please be careful of what you check into the repository. Please do not commit any binaries, junk files, or anything that doesn't compile.
The Win32/ directory should be considered "frozen" from this point on. Apart from minor bugfixes, it should not be altered. The src/ directory is to be the official codebase now. As of the time of this writing, it has a few major issues on Windows which are being worked on.
CBOE relies on a few libraries, and XCode needs to be told where they are. The graphics library we're using is SFML, which is a Framework that can be found here. They need to be linked in the Project Build Phases menu. You might also need to include zlib in the same place, but being that it's a builtin lib, that might be handled automatically in future builds.
The other dependency is Boost, a C++ library, which can be found here, however the most straightforward way to install it is via homebrew or some similar package manager. Wherever you put it, XCode needs to be linked to it via the Project Build Settings, under Linking->Other Linking flags, which should look similar to this:
-lboost_filesystem -lboost_system -L/usr/local/Cellar/boost/1.57.0/lib
With the path in the third include being wherever you put the boost lib folder. The includes need to be flagged in the Project Build Settings, under Apple LLVM Custom Compiler Flags -> Other C++ Flags, flags to which you should append something like this:
-isystem/usr/local/Cellar/boost/1.57.0/include
Again, the filepath just needs to point to Boost's includes.
Helpful Links
- Jenkins Server - Runs a build after every push
- [BoE Forum at Spiderweb Software](http://spiderwebforums.ipbhost.com/index.php?/forum/12-blades- of-exile/)
- Original Game Source - Where it all began. Warning: Terrifying code.
- Ormus's Code - The basis for most, if not all, of the Win32 work.
- Experimental Builds - will be put up whenever Celtic Minstrel feels like it.
- Blades File Dump - A spot to quickly add project files; mostly contains older binaries from the Google Code page.