Some other tweaks and fixes got pulled in along the way. Details: - Improved const-correctness - The scenario is now part of the universe, so now there's no global scenario object in the game or the PC editor. (Of course, the scenario editor has no universe, so it still has a global scenario object.) - Towns and outdoors now store a reference to the scenario; the party, current town, and current outdoors store a reference to the universe. Altogether this means that the data module has no need for global scenario or universe objects. - The fileio routines now take a scenario or universe reference as a parameter, so they don't need the global scenario or universe objects either. - cCurOut now has an arrow operator for accessing the current outdoor section, instead of a 2x2 subset of the outdoors; this replaces using i_w_c to index the 2x2 subset. (And it's much less verbose!) - cCurTown no longer stores a pointer to the town record, since it can simply access it through the universe instance which it stores a reference to. - Tweaked how the monster roster menu works (it now caches up to 60 monsters) - The operator= functions that convert from legacy to new scenario/save format are now ordinary functions rather than operators. - The bizarre use of assigning a cCreature to itself to populate certain fields has been nuked. - When at the corner of an outdoor sector, the scenario editor now shows the cornermost terrain in the diagonally adjacent sector. - There was a missing check to prevent horses entering dangerous terrain (eg, swamp) while in town. - Fix cancelling load party dialog causing a party to appear
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 current task at hand is to merge the Windows code into the current Mac codebase, which no longer uses platform-specific APIs for most things (a few files would need to be rewritten for Windows).
I'd like to consider the Win32/ directory to 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 only compiles on OSX, but reimplementing a handful of files (basically all the .mm ones) should suffice to fix that.
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.