Update to purify v02 release.
authorTim Allen <screwtape@froup.com>
Thu, 17 Jan 2013 11:19:42 +0000 (22:19 +1100)
committerTim Allen <screwtape@froup.com>
Thu, 17 Jan 2013 11:21:00 +0000 (22:21 +1100)
commitb6575ca02ae4dde57157c72bf48900525163a540
tree2d1459f8f10ae2a3bf387caa68225b8ee40f8786
parent8d88337e284830a3e748a7d39aa11e35cc768b54
Update to purify v02 release.

byuu says:

purify has been rewritten. It now resembles the older snespurify, and
lets you import multiple game files+archives and regenerate manifests
for multiple game folders. It is also recursive.

So you can now import all of your games for all systems at once, or you
can update all of your bsnes v091 game folders to the new higan v092
format at once.

Caveats:

First, I am now using std::thread, so that the GUI doesn't freeze.
Instead, you get a nice progress bar. Unfortunately, I was mislead and
TDM/GCC 4.7 still does not have std::thread support. So ... sorry, but
I can't compile purify for Windows. I am sick and tired of not being
able to write multi-threaded code, so fuck it. If anyone can get it to
build on Windows, whether that be by using Windows threads, hacking in
std::thread support, skipping threading all together, whatever ...
that'll be great. Otherwise, sorry, purify is Linux only until MinGW can
get its god damned shit together and offers threading support.

Second, there's no way to regenerate Famicom (NES) manifests, because we
discard the iNES header. We are going to need a database for that. So,
all I can suggest is that if you use bsnes/higan, keep all your iNES
images around to re-import as new releases come out.

Third, when you purify game folders, it will back up the ROM and RAM
files only. Your save states, cheat codes, debug logs, etc will be wiped
out. There's a whole lot of reasons for this, the most pertinent is that
it's meant to clean up the folder to a pristine state. It also fixes the
game folder name, etc. So ... sorry, but this is how it works. New
releases rarely if ever allow old save states to work anyway.

Lastly, I am not going to have purify contain infinite backward
compatibility for updating manifests. You will want to keep up with
purifying the collection, otherwise you'll have to grab older purify
copies and convert your way along. Although hopefully the format won't
be so volatile and this won't be necessary very often.
82 files changed:
purify/Makefile
purify/nall/Makefile
purify/nall/base64.hpp
purify/nall/beat/archive.hpp [new file with mode: 0644]
purify/nall/beat/base.hpp [new file with mode: 0644]
purify/nall/beat/delta.hpp [new file with mode: 0644]
purify/nall/beat/linear.hpp [new file with mode: 0644]
purify/nall/beat/metadata.hpp [new file with mode: 0644]
purify/nall/beat/multi.hpp [new file with mode: 0644]
purify/nall/beat/patch.hpp [new file with mode: 0644]
purify/nall/bps/delta.hpp [deleted file]
purify/nall/bps/linear.hpp [deleted file]
purify/nall/bps/metadata.hpp [deleted file]
purify/nall/bps/patch.hpp [deleted file]
purify/nall/crc16.hpp [new file with mode: 0644]
purify/nall/directory.hpp
purify/nall/emulation/famicom.hpp [deleted file]
purify/nall/emulation/game-boy-advance.hpp [deleted file]
purify/nall/emulation/game-boy.hpp [deleted file]
purify/nall/emulation/satellaview.hpp [deleted file]
purify/nall/emulation/sufami-turbo.hpp [deleted file]
purify/nall/emulation/super-famicom.hpp [deleted file]
purify/nall/file.hpp
purify/nall/image.hpp
purify/nall/nall.hpp
purify/nall/property.hpp
purify/nall/sort.hpp
purify/nall/stream/zip.hpp
purify/nall/string.hpp
purify/nall/string/base.hpp
purify/nall/string/bml.hpp [deleted file]
purify/nall/string/core.hpp
purify/nall/string/datetime.hpp [new file with mode: 0644]
purify/nall/string/format.hpp [new file with mode: 0644]
purify/nall/string/markup/bml.hpp [new file with mode: 0644]
purify/nall/string/markup/document.hpp [new file with mode: 0644]
purify/nall/string/markup/node.hpp [new file with mode: 0644]
purify/nall/string/markup/xml.hpp [new file with mode: 0644]
purify/nall/string/platform.hpp
purify/nall/string/trim.hpp
purify/nall/string/utility.hpp
purify/nall/string/wrapper.hpp
purify/nall/string/xml-legacy.hpp [deleted file]
purify/nall/string/xml.hpp [deleted file]
purify/nall/unzip.hpp [new file with mode: 0644]
purify/nall/vector.hpp
purify/nall/zip.hpp
purify/obj/.gitignore [new file with mode: 0644]
purify/phoenix/core/core.cpp
purify/phoenix/core/core.hpp
purify/phoenix/core/state.hpp
purify/phoenix/gtk/platform.hpp
purify/phoenix/gtk/widget/hex-edit.cpp
purify/phoenix/gtk/widget/list-view.cpp
purify/phoenix/gtk/widget/text-edit.cpp
purify/phoenix/gtk/widget/widget.cpp
purify/phoenix/gtk/window.cpp
purify/phoenix/qt/platform.moc
purify/phoenix/qt/platform.moc.hpp
purify/phoenix/qt/widget/widget.cpp
purify/phoenix/qt/window.cpp
purify/phoenix/reference/platform.hpp
purify/phoenix/reference/widget/widget.cpp
purify/phoenix/reference/window.cpp
purify/phoenix/windows/dialog-window.cpp
purify/phoenix/windows/platform.hpp
purify/phoenix/windows/widget/button.cpp
purify/phoenix/windows/widget/list-view.cpp
purify/phoenix/windows/widget/widget.cpp
purify/purify.cpp
purify/resource/applications-system.png [deleted file]
purify/resource/archive.png [new file with mode: 0644]
purify/resource/drive-harddisk.png [deleted file]
purify/resource/file.png [new file with mode: 0644]
purify/resource/folder.png [deleted file]
purify/resource/game.png [new file with mode: 0644]
purify/resource/input-gaming.png [deleted file]
purify/resource/resource.bml [new file with mode: 0644]
purify/resource/resource.cpp
purify/resource/resource.hpp
purify/resource/resource.xml [deleted file]
purify/resource/view-refresh.png [deleted file]