I am thinking about creating some kind of replay library outside of
Replay_Tool (which will also have the ability to write replays, not
just read them).
There are actually several reasons for this library:
1. To be able to share itself with any project.
2. To replace BWAPI's command creation system here:
http://bwapi.googlecode.com/svn/branches/bwapi4/bwapi/BWAPI/Source/BW/OrderTypes.h
3. To replace BWAPI's command reading chaos here(see CommandFilter):
http://bwapi.googlecode.com/svn/branches/bwapi4/bwapi/BWAPI/Source/Detours.cpp
4. To implement a planned feature that will automatically save a
replay if the game crashes, up to the point where the crash occurred
(in BWAPI's Exception Handler).
5. To re-write the replay saving mechanisms in Starcraft to reduce the
Win32 File API hooks/workarounds and fix a bug that causes BWAPI's
interference to save some corrupted replays (the reason Replay_Tool
existed).
Also note that I am primarily focused on the BWAPI4 branch, which uses
MSVC++ 2010 Express (As opposed to the main branch's 2008 Express).
The purpose of the main branch is to maintain compatible code with
modules intended for this year's tournaments while fixing any bugs
that could hinder tournament play, and won't see many updates (so
ignore the Replay_Tool of the main branch).