DevHook: Screen\Video Capture Module by ADePSP
Version 0.2

 - Video Recorder from the CheatDevice by Edison Carter

Copyright @ ADePSP 2006
All Rights Reserved

email: ADePSP@googlemail.com
website: http://www.cheatsync.net

OVERVIEW
========

This is a module for Devhook that extends the functionality of the existing screenshot
module. Taking and modifying the code for the Video Recorder from the LCS CheatDevice
by Edison Carter I have adapted it into a prx module so it can be used with DevHook.

You are no longer limited to taking animated GIF clips in Liberty City Stories. It can
now be done in any game you like. You can even capture out of game clips such as game
menus, loading animations and even the XMD.

You can record video in normal mode (half the screen size) or advanced mode (full or
quarter screen size) and all files will be saved to the PSP/PHOTO folder. It is 
recommended you use normal mode or advanced mode in QUARTER_SIZE as advanced mode 
in FULL_SIZE slows the game down a lot and makes it difficult to play.

The animated GIF files are uncompressed so make sure you have plenty of memory stick
space in order to store them (don't worry, if you run out of space the module will
simply stop working). You can compress the GIF files massivly without 
loosing any quality using the GIFAnimator.exe program provided. It is a very
good idea to do this if you intend to post your clips on forums.

REQUIREMENTS
============

* Firmware 1.5
* Devhook by Booster (available at http://www.cheatsync.net/DevHook.exe)

KNOWN ISSUES
============

* Has been known to sometimes crash if recording when a game is loading. There is
  no danger here it's just annoying. Try to avoid recording when games are
  loading up.

* This is still Beta software so you are advised to backup your dh folder before
  installing in case you run into problems.

CHANGE LOG
==========

v0.2

 - 16bit screen displays now supported (thanks edison)
 - Stop recording button combo more responsive
 - Config file added allowing customizable controls and video settings

CONTROLS
========

Music Button = Take ScreenShot / Stop Recording Video
Right Shoulder Button + Music Button = Start Recording Video
Right Shoulder Button + Left Shoulder Button + Music Button = Start Recording "Advanced Video Mode"

INSTALLATION
============

If you have Windows simply run the Install.exe file provided and follow the on
screen instructions.

If you have any problems using the Install.exe file or are a non Windows user
you need to do the following,

* Copy capture.prx to the <PSP_DRIVE>:\dh\kd folder

* Copy capture.ini to the <PSP_DRIVE>:\dh\kd folder

* Edit each of the following files,

  <PSP_DRIVE>:\dh\150\flash0\kd\pspbtcnf.txt
  <PSP_DRIVE>:\dh\150\flash0\kd\pspbtcnf_game.txt
  <PSP_DRIVE>:\dh\150F\flash0\kd\pspbtcnf.txt
  <PSP_DRIVE>:\dh\150F\flash0\kd\pspbtcnf_game.txt
  <PSP_DRIVE>:\dh\200\flash0\kd\pspbtcnf.txt
  <PSP_DRIVE>:\dh\200\flash0\kd\pspbtcnf_game.txt
  <PSP_DRIVE>:\dh\250\flash0\kd\pspbtcnf.txt
  <PSP_DRIVE>:\dh\250\flash0\kd\pspbtcnf_game.txt
  <PSP_DRIVE>:\dh\260\flash0\kd\pspbtcnf.txt
  <PSP_DRIVE>:\dh\260\flash0\kd\pspbtcnf_game.txt
  <PSP_DRIVE>:\dh\271\flash0\kd\pspbtcnf.txt
  <PSP_DRIVE>:\dh\271\flash0\kd\pspbtcnf_game.txt

  If you only want to use this module when emulating 2.6 firmware then you
  only need to edit these files,

  <PSP_DRIVE>:\dh\260\flash0\kd\pspbtcnf.txt
  <PSP_DRIVE>:\dh\260\flash0\kd\pspbtcnf_game.txt

  In each file find the line that contains screenshotbmp.prx. If you find that
  line then replace the whole line with,

  ms0:/dh/kd/capture.prx

  If you can't find a line with screenshotbmp.prx in it then find the line that
  reads,

  ms0:/dh/kd/devhook.prx

  After that add a new line that reads,

  ms0:/dh/kd/capture.prx

CONFIGURATION
=============

You can customize certain parts of this module to your liking using the capture.ini
file that lives in the <PSP_DRIVE>:\dh\kd folder.

The following settings are available,

 - ScreenShot

   Defines the button combination that tells the capture module to take
   a screenshot.

 - VideoStartNormal

   Defines the button combination that tells the capture module to take
   a normal video capture.

 - VideoStartAdvanced

   Defines the button combination that tells the capture module to take
   an advanced video capture.

 - VideoStop

   Defines the button combination that tells the capture module to stop
   recording.

 - VideoAdvancedMode

   Can be set to QUARTER_SIZE or FULL_SIZE, the latter being the default. This
   is the screen size when capturing a video using the VideoStartAdvanced
   button combination. If you use QUARTER_SIZE then the game will slow
   down a lot less when recording but the video will be recorded a lot
   smaller.

 - Delay

   The number of miliseconds to wait after each frame of video is captured. the
   default is 100. The lower the number the higher quality the recording will
   be but the slower the game will run. Higher numbers reduce quality
   but improve performance. Use with caution!

 - Overwrite

   Determins if existing video or screenshot capture files are overwritten each
   time DevHook is launched. The default is YES. If you specify NO then your
   existing screenshots and video gifs will be preserved but you are more
   likely to run out of mem stick space this way which will stop the capture
   module from working.

For the button combination settings you must define the PSPSDK button constants
that will be used to trigger the action. You may specify more than one
button constant using the + symbol to seprate them.

The default button setup is as follows,

ScreenShot = PSP_CTRL_NOTE
VideoStartNormal = PSP_CTRL_NOTE + PSP_CTRL_RTRIGGER
VideostartAdvanced = PSP_CTRL_NOTE + PSP_CTRL_LTRIGGER + PSP_CTRL_RTRIGGER
VideoStop = PSP_CTRL_NOTE

You can change this using any combination of the following constants,

Select button,
 - PSP_CTRL_SELECT

Start button,
 - PSP_CTRL_START

Up D-Pad button,
 - PSP_CTRL_UP

Right D-Pad button,
 - PSP_CTRL_RIGHT

Down D-Pad button,
 - PSP_CTRL_DOWN

Left D-Pad button,
 - PSP_CTRL_LEFT

Left trigger,
 - PSP_CTRL_LTRIGGER

Right trigger,
 - PSP_CTRL_RTRIGGER

Triangle button,
 - PSP_CTRL_TRIANGLE

Circle button,
 - PSP_CTRL_CIRCLE

Cross button,
 - PSP_CTRL_CROSS

Square button,
 - PSP_CTRL_SQUARE

Home button,
 - PSP_CTRL_HOME

Hold button,
 - PSP_CTRL_HOLD

Music Note button,
 - PSP_CTRL_NOTE

Screen Brightness button,
 - PSP_CTRL_SCREEN

Volume up button,
 - PSP_CTRL_VOLUP

Volume down button,
 - PSP_CTRL_VOLDOWN

Wlan switch up,
 - PSP_CTRL_WLAN_UP

Remote hold position,
 - PSP_CTRL_REMOTE

For example, if you want to press Down on the D-Pad and the Left Trigger to take
a screen shot you would write this,

ScreenShot = PSP_CTRL_LTRIGGER + PSP_CTRL_DOWN


 *********************************************************************************
 *                                                                               *
 * SPECIAL THANKS TO adrahil FROM ps2dev.org FORUMS FOR ALL THE HELP WRITING PRX *
 * FILES, THE BETA TESTERS AND Edison Carter FOR THE CheatDevice CODE.           *
 *                                                                               *
 *********************************************************************************


