==================
pspHBSortTool v4.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 allows you to move
items between categories and to add new items/categories on the fly.

It also includes category sorting and savedata backup utilities.


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

Instructions can be found in "instructions.txt".
This has been tested, in various random combos, using:
  o  WinXP / Vista / Win7;
  o  5.00 M33-6 / 6.39 PRO-B7;
  o  Phat / Slim;
  o  Game Categories v12 / GCLight v1.3 / GCLite v1.2.


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:
This application was built using C# - and needs the .NET Framework v2 to run.

Note 2:
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:

v4.0
+ Added support for GCLight and GCLite;
+ Enabled multi-select on main screen;
+ Added drag/drop from Explorer (to add new items on the fly);
+ Several functions now have batch options (e.g. via multi-select);
+ New tool to validate extensions for compressed files;
+ Rescan option (to add new drive on the fly);
+ Added autoscroll to main grid (enables drag/drop with long lists);
+ GUI tweaks (e.g. change "Target" to "Mode" and seal DDLs);
+ Other minor optimisations.

v3.1
+ User requested tool to set filename from title;
+ User requested tool to HexEdit the title [BETA FUNCTIONALITY];
+ New option to choose icon size;
+ Improve "skip warnings" function to reduce number of steps involved;
+ GUI tweaks (e.g. improve progress bars);
+ New options screen (groups existing options in one place);
+ Several parsing optimisations;
+ Other minor optimisations.

v3.0
+ Complete New Tool for SaveData (BackUp/Restore etc);
+ Tweak GUI (some people didn't understand "Target Content Browser");
+ IniFile path override for users who want to run from "Program Files";
+ Added a delete option;
+ Minor optimisations.

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. In later versions of Windows (such
as Windows 7) it may even be necessary to shut down Explorer window(s) which
are keeping a hold on a file opened earlier for some reason.
(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...
