This includes the following changes (mostly related to the above): - Move loc_compare functor to location.hpp - Add reattach() function to rebind a town or outdoor section to a different scenario object. (I don't think this is strictly necessary, as the scenario reference is only used in limited situations in the game itself, not in the editor, but it's better not to keep a reference to freed memory around when importing a town or sector from another scenario, even if the reference is never accessed.) - Fix imported towns not being officially "loaded" until you explicitly use Load a New Town to reload them - Fix Choose button in Load New Sector dialog - More functions in the vector2d implementation
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.