==================
pspHBSortTool v2.0
==================

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 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
particularly pretty, but it does everything I want it to do - including letting
me move items between categories and to new categories.

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 so needs the .NET Framework 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.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) Same HBItem (file or folder) in two locations.

There is an assumption that each HB "item" (e.g. ISO file or GAME subfolder)
only exists once on a given drive (based on filename) - for example, that you
do NOT have the same ISO file twice but in different category subfolders. If
this *is* the case, some of the logic might fail (it is dependent on both the
filenames and the order these files are read from disk) and the results can
therefore be a little unpredictable - or an error may occur when trying to
move files around.

(b) 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 causes 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...

(c) CSO files have no icon or title.

These files cannot be interpreted by the existing code.
Yet!
I hope to release an update.

