X Archive Poison

From GTAMods Wiki
Jump to navigation Jump to search
X Archive Poison
Current version:1.2 (!)
Developed by:xmen
Supported games:GTA 4
Type:library

X Archive Poison is free .net library for GTA IV devs. It modifies in a very secured way through plenty of code lines those validates each operation prior to do changes. This library also provide manually validation as well as user can disable auto-validation. Current version is support only IMG operations, next version may have RPF operations as well.

Version 1.0

  • Class : Archive_IMG
    1. Variables
      • Table - IMG_Table
        object
      • ArchivePath - string
        contains currently opened archive
    2. Function(params) - return type, Description
      • Add(string[] filePaths, bool doValidate, ProgressBar pb) - XOutput
        adds file(s) in currently opened archive, if any file is invalid it will not add
      • Delete(string[] fileNames, bool doValidate) - XOutput
        deletes file(s) from currently opened archive, if any file not found it will not delete
      • ExtractBytes(uint offset, int size) - byte[]
        returns byte[] read from currently opened archive, returns null if ArchivePath is empty
      • Open(string ArchivePath) - bool
        returns true if the archive opened successfully else false
      • Rebuild(int RequiredGap, ProgressBar pb) - XOutput
        rebuilds currently opened archive
      • Rename(string[] oldNames, string[] newNames, bool doValidate, ProgressBar pb) - XOutput
        searches all elements in oldNames array and change with newNames, if any oldName not found, it will not rename
      • Replace(string[] filePaths, string[] fileNames, bool doValidate, ProgressBar pb) - XOutput
        searches all elements in fileNames array and replaces with filePaths, if any fileName not found, it will not replace
      • Validate_Add(string[] filePaths) - XOutput
        manual validation for adding file(s)
      • Validate_Delete(string[] fileNames, string backupDir) - XOutput
        manual validation for deleting file(s), backupDir param can have a directory path for file(s) backup. Leave empty if no backup required
      • Validate_Rename(string[] oldNames, string[] newNames) - XOutput
        manual validation for renaming file(s)
      • Validate_Replace(string[] filePaths, string[] fileNames, string backupDir) - XOutput
        manual validation for deleting file(s), backupDir param can have a directory path for file(s) backup. Leave empty if no backup required
  • Class : IMG_Table
    1. Variables
      • Items - List<IMG_TableItem>
        contain all items info
      • ItemNames - List<string>
        contains all items/files names
    2. Function(params) - return type, Description
      • GetIndexByName(string name) - int
        returns the index of found item through name, returns -1 if no match
  • Class : IMG_TableItem
    1. Variables
      • Size - int
        original file size
      • ResourceType - ResourceType
      • OffsetBlock - uint
      • UsedBlocks - short
      • IsResourceFile - bool
    2. Properties
      • Padding - int
        get or set padding
  • Class : XOutput
    1. Variables
      • IsException - bool
        true if output had exception
      • Message - string
        contains the output message
      • OtherInfo - string
        contains the OtherInfo of output
  • Class : Decryptor
    1. Properties
      • GTA4Path - string
        get or set GTA IV Application path directly, starts recursion until user provide a valid App path or cancel
    2. Function(params) - return type, Description
      • GetGTAIVApp() - void
        get the GTA IV Application path from user, starts recursion until user provide a valid App path or cancel

Version 1.1

  • Class : Archive_IMG
    1. Function(params) - return type, Description
      • ExtractFiles(int[] FileIndexes, string destDirectory) - XOutput
        extract file(s) by passing their indexes
      • ExtractFiles(string[] FileNames, string destDirectory) - XOutput
        extract file(s) by passing their names

Download

Please write author name in credits if you are using it ;)

Tools Using This