HyperRipper File Format (.HRF/HRFi) - Release I                        Freeware
(c)Copyright 1999-2001 Alex Devilliers / Dragon Software             04-02-2001
===============================================================================

  What is HyperRipper File Format ?
  ---------------------------------
  
This file format is the format used by the Dragon UnPACKer's HyperRipper to
store Offsets/Size/Filenames of found data.

Ex: If the HyperRipper found a RIFF/WAVE 'file' into Example.Dat at offset 32
    and size of 32560.
    The .HRF file will store this offset/size in order that the user will be
    able to reopen this file (Example.Dat) in Dragon UnPACKer without having to
    redo the HyperRipper search.
    
You need at least Dragon UnPACKer v4.00.32 Beta to read .HRF files.
From Dragon UnPACKer v4.00.38 Beta, there is a new .HRF file format supported
(version 1). Before this version, only HRF file format version 0 was supported.
Dragon UnPACKer v4.00.38 Beta and up have read & write support for both version
1 and version 0.


  Some information:
  -----------------
  
     LONG is a 4 Bytes long signed value (-2M to 2M)
  INTEGER is a 2 Bytes long signed value (-32k to 32k)
     BYTE is a 1 Byte long unsigned value (0 to 255)
   STRING is a Character Array
  Version is an array of 2 Bytes (first is Major version, second is Minor)
  
  Strings can be null terminated but are often padded with spaces (32/&H20).


  Global file format:
  -------------------

  For HRFi version 0:
  
  Header
  Directory (v0)
  
  For HRFi version 1:
  
  Header
  Directory (v1)
  
  For HRFi version 2:
  
  Header
  Information
  Directory (v2)


  Header of the file:
  -------------------
  
  ID As String * 5            ' "HRFi"+chr(26)
  Version As Byte             ' 0 = Version 0 (No name change support)
                              ' 1 = Version 1 (Default)
                              ' 2 = Version 2 (Recommended)
  Filename As String * 98     ' Name of the companion file (ex: Example.Dat)
  FileSize As Long            ' Size of the companion file
  HRipVer As Version          ' 0.0 = Build 32 to 37 (v2.1 Beta or below)
                              ' 3.0 = Build 38       (v3.0 Beta)
                              ' 3.1 = Build 39       (v3.1 Beta)
                              ' 3.2 = Build 40 to 41 (v3.2 Beta)
                              ' 3.3 = Build 42       (v3.3 Beta)
                              ' 3.5 = Build 47       (v3.5 Beta)
                              ' 4.0 = Build 71       (v4.0)
                              ' 4.1 = Build 72       (v4.1)
                              ' 4.2 = Build 74       (v4.2)
                              ' If Version is 2 then HRipVer is at least 4.2
  DirNum As Long              ' Number of entries in file

  The Version number define how the rest of file will be
  (see Global File Format). Go to the appropriate chapter to see the rest of the
  format.
  
  The HRipVer number define which version of the HyperRipper created the file
  and so which file types may appear in the Directory.
  
  
  Directory v0 (HRFi version 0):
  ------------------------------

  The following structure is repeated DirNum times (see Header):

  FileType As Byte            ' File Type (See File Types chapter)
  Offset As Long              ' Offset in companion file
  Size As Long                ' Size in companion file
  
  
  Directory v1 (HRFi version 1):
  ------------------------------

  The following structure is repeated DirNum times (see Header):

  Filename As String * 32     ' File name without extension (ex: Arena)
                              ' If FileType = 199 then the Filename can have
                              ' an extension (ex: Arena.txt)
  FileType As Byte            ' File Type (See File Types chapter)
  Offset As Long              ' Offset in companion file
  Size As Long                ' Size in companion file
  
  
  Information (HRFi version 2):
  -----------------------------
  
  This structure appear ONLY in HRFi files version 2 after header and before
  the Directory:

  InfoVer As Byte             ' Version of Information chunk
                              ' 0 = 2 bytes Information chunk
                              '     (only SecuritySize is present)
                              ' 1 = 256 bytes Information chunk
  SecuritySize As Byte        ' Max Size of Security Data in Directory v2
                              ' Allowed values:
                              ' 0 (Disable),1,2,4,8 and 16
  Author As String * 64       ' Name/Email of Author
  URL As String * 128         ' URL
  Title As String * 64        ' Title
  
  
  Directory v2 (HRFi version 2):
  ------------------------------

  The following structure is repeated DirNum times (see Header):

  Filename As String * 64     ' File name without extension (ex: Arena)
                              ' If FileType = 199 then the Filename can have
                              ' an extension (ex: Arena.txt)
  FileType As Byte            ' File Type (See File Types chapter)
  Offset As Long              ' Offset in companion file
  Size As Long                ' Size in companion file
  Security As String * 16     ' Security Data of companion file
                              ' Bit of source companion file at Offset and of
                              ' SecuritySize size in bytes.


  File Types:
  -----------
  
  ###  HRipVer  Description                   Extension      v0   v1   v2
    0      0.0  Raw Data                      .RAW           Yes  Yes  Yes
    1      0.0  Windows BitMaP                .BMP           Yes  Yes  Yes
    2      0.0  Interchange File Format       .IFF           Yes  Yes  Yes
    3      0.0  Portable Network Graphic      .PNG           Yes  Yes  Yes
    4      3.0  Graphics Interchange Format   .GIF           Yes  Yes  Yes
    5      3.1  Windows MetaFile              .WMF           Yes  Yes  Yes
    6      3.1  Windows Enhanced MetaFile     .EMF           Yes  Yes  Yes
    7      3.2  JPEG                          .JPG           Yes  Yes  Yes
  100      0.0  MIDI v1.0                     .MID           Yes  Yes  Yes
  101      0.0  Creative VOiCe file           .VOC           Yes  Yes  Yes
  102      0.0  RIFF/WAVE                     .WAV           Yes  Yes  Yes
  103      4.0  UNIT 669 Module               .669           Yes  Yes  Yes
  104      4.0  FastTracker Extended Module   .XM            Yes  Yes  Yes
  105      4.2  ImpulseTracker Module         .IT            Yes  Yes  Yes
  106      4.2  ScreamTracker Module          .S3M           Yes  Yes  Yes
  111     *0.0! MPEG Audio Layer 1            .MP1           Yes  Yes  Yes
  112     *0.0! MPEG Audio Layer 2            .MP2           Yes  Yes  Yes
  113     *0.0! MPEG Audio Layer 3            .MP3           Yes  Yes  Yes
  199   ***3.3! Unknown file type             (None)         No   Yes  Yes
  200    **0.0! RIFF/AVI                      .AVI           Yes  Yes  Yes
  201    **0.0! Quicktime MOVie               .MOV           Yes  Yes  Yes
  202      3.3  Autodesk Animator FLIC        .FLI           Yes  Yes  Yes
  203      3.3  EGI/DTA FLIC                  .FLC           Yes  Yes  Yes
  204      3.5  Bink Video                    .BIK           Yes  Yes  Yes

  v0 = Is the file type supported by version 0 HRF files ?
  v1 = Is the file type supported by version 1 HRF files ?
  v2 = Is the file type supported by version 2 HRF files ?
   ! = HRipVer is not set correctly in on or more versions

  Needed Dragon UnPACKer versions:
   v0.0 -> Dragon UnPACKer v4.00.32 Beta
      * -> Dragon UnPACKer v4.00.35 Beta
     ** -> Dragon UnPACKer v4.00.37 Beta
   v3.0 -> Dragon UnPACKer v4.00.38 Beta
   v3.1 -> Dragon UnPACKer v4.00 RC1
   v3.2 -> Dragon UnPACKer v4.00 RC2
   v3.3 -> Dragon UnPACKer v4.00 Final
    *** -> Dragon UnPACKer v4.01.43 Beta
   v3.5 -> Dragon UnPACKer v4.01.47
   v4.0 -> Dragon UnPACKer v4.13.72
   v4.2 -> Dragon UnPACKer v4.13.74
   
  Version 4.00.35 Beta to 4.00.37 Beta did not set correctly the HRipVer in the
  Header so it was still v0.0 but new file formats were supported. I think, if
  you plan to create/edit .HRF files you should set the HRipVer to at least
  v3.0 if you plan to use * or ** file types.
  Version 4.01.43 Beta to 4.01.46 Beta did not set correctly the HRipVer in the
  Header so it was still v3.3 but new file formats were supported. If you plan
  to use type 199 you should set HRipVer to at least v3.5.
  
  File types from   1 to  90 are for still images (graphics files).
  File types from  91 to  99 are reserved for testing purposes.
  File types from 100 to 190 are for music/sound files.
  File types from 191 to 199 are reserved.
  File types from 200 to 255 are for other files.
  
  You can contact me (see end of chapter) if you want to reserve a file type.
  If you reserve a file type it will be supported in the next Dragon UnPACKer
  version.


  Contact
  -------

If there is something I don't explained well please contact me.
If there is something wrong in MY specs of MY format please ask also!! :)

Dragon Software is available on the internet at:
http://www.drgsoft.com/dup4/

You can reach Alex Devilliers:

 By E-Mail: support@drgsoft.com
    By ICQ: 1535372 (Elbereth)


  What's new?
  -----------

Release A: First version ever.
Release B: Added file types 5 (WMF) and 6 (EMF).
Release C: Added file type 7 (JPG).
Release D: Some more explanation.. :)
Release E: Added file types 202 (FLI) and 203 (FLC).
Release F: Added file type 199 (File without extension).
Release G: Added file type 204 (BIK).
Release H: Changed URL and Email in Contact chapter.
           Introduced HRF v2 (currently unsupported in DUP4).
Release I: Added file type 103 (669), 104 (XM), 105 (IT) and 106 (S3M).
           Corrected HRF v2 (now supported by DUP4).

===============================================================================
