====================
pspHBSortTool v2.2.1
====================

This is a utility for Windows that enables you to "sort" HB items on your
PSP into a preferred display order. It is designed around Bubbletune's Game
Categories plug-in (credit where credit is due...) and also allows you to move
items between categories.


1. Introduction
2. License
3. Disclaimer
4. Version History
5. Known Issues

Instructions can be found in "instructions.txt".
This has been tested on WinXP, Vista and Win7 connected to PSP running
5.00 M33-6, both phat and slim, and using Game Categories v12.


Credit:
Many thanks to Bubbletune for the superb Game Categories plug-in.



______________________________________________________________________________
1. INTRODUCTION

I was looking for an idea with which to refresh my knowledge of C# before
starting a new project.

Following the release of Bubbletune's "Game Categories" plug-in (which is
superb) I realised that existing homebrew tools didn't always recognise these
subfolders - so I built one that did.

As this was a training aid for me it does not cover everything, nor is it
always pretty, but it does everything I wanted it to do - including letting
me move items between categories, creating new categories on the fly.

I have found it useful. Maybe others will too...



Note 1:
The app can still be used even if you don't use game categories - all the
HB items will simply appear to be in the "{Uncategorised}" category.

Note 2:
This application was built using C# - and needs the .NET Framework v2 to run.

Note 3:
File/Folder timestamps on the source drive *are* updated by this application.
The details of these changes are listed in the instructions. Please do *not*
use this app if you need file/folder timestamps to remain constant.



______________________________________________________________________________
2. LICENSE:

This utility is released as freeware. You are allowed to freely distribute
this utility as long as you don't charge anything for this. If you distribute
this utility, you must include all files in the distribution package,
including this note and the disclaimer, without any modification.



______________________________________________________________________________
3. DISCLAIMER:

The software is provided "AS IS" without any warranty, either expressed
or implied, including, but not limited to, the implied warranties of
merchantability and fitness for a particular purpose. The author will not
be liable for any special, incidental, consequential or indirect damages
due to loss of data or any other reason.



______________________________________________________________________________
4. HISTORY:

v2.2.1
+ Minor optimisations.

v2.2
+ Better handling for read-only files;
+ New tool to remove read-only flags;
+ Additional handling code for old-style xxx + xxx% HB folders;
+ Minor optimisations.

v2.1.2
+ Minor optimisations.

v2.1.1
+ Minor bugfix.

v2.1
+ Finished adding support for CSO files (icons/titles etc);
+ Added "view detailed file info" as R/Click and DoubleClick options;
+ Added handling code for old-style xxx + xxx% HB folders;
+ Added some visual cues for loading/saving;
+ Improved item identifiers to handle multiple items with same name;
+ Optimised some data reading code to help improve startup/reload times;
+ Handled yet more odd exceptions (usually related to dodgy image data).

v2.0
+ Upgraded background DevEnv;
+ Added icon and title to on-screen information (not for CSOs);
+ Added lots of error handling for odd events;
+ Added rollback option when file/folder lock encountered.

v1.2
+ Added new tool to "clean up" empty category folders.

v1.1.2
+ Added support for CSO files.

v1.1.1
+ Tweak UI and IniFile stuff.

v1.1
+ Include drag and drop on main grid;
+ Addition of Category Tool (R/Click item on main grid);
+ Addition of "Move Between Categories" and file renaming options.

v1.0
+ Initial Release.



______________________________________________________________________________
5. KNOWN ISSUES:

(a) System.IO.IOException: The process cannot access the file 'xxxxx' because
    it is being used by another process.

These can (sometimes) appear for the following reasons:
(i) Windows creates a file/folder lock, such as by opening a folder in
explorer or a file in another app. This cannot be overridden but is now
"handled", and a rollback option included.
(ii) Corrupt data can cause file locks following a failure when searching for
embedded data. Again, this is Microsoft trying to micro-manage file access so
nothing can easily be done to override. It is left to the user to ensure only
proper files are being used...
