- <==========================
- MultiEx 3 ActiveX DLL
- ==========================>
- Version : 1.00
- COpyright : XeNTaX 2003
- Author : M.W.Zuurman (AKA Mr.Mouse)
- Website : http://www.xentax.com
- ---------------------------
- Instructions for authors:
- If you want to implement the MultiEx GameArchive Analysis
- Engine in your programs you must be aware of the following:
- You must regsvr32.exe it.
- You must have Binary MultiEx Scripts (*.BMS) files that enable
- processing of the archive you want to process!
- (There are much included in the DLL package)
- The CLASS you want to address is AMex3GetFileInfoClass.
- The CLASS AMex3GetFileInfoClass gives you access to
- the function Mex3GetFileInfo.
- For example, assign a new AMex3GetFileInfoclass called RunMex and use
- it to call the function : ie "RunMex.Mex3GetFileInfo".
- The Syntax is like this :
- ------------------------------------------------
- Integer Mex3GetFileInfo (String PathToBMS, String PathToArchive, String ArgumentList)
- ------------------------------------------------
- Arguments you may pass to the engine :
- -l : Log the process in a log file
- (it will be saved in the App.Path as mex3.log)
- -lst : by default the dll will create a file called multiex.lst
- that lists important variables on the archiveformat as well
- as the contents of the file. See "The List File"
- With the argument -lst you tell the DLL to name it differently
- USAGE : "-lst newname"
- -pro : show a basic progress window during DLL operation
- -p : Always show the Error MessageBox at the end of operation
- The Return value is an integer and essentially the error code.
- (0 = no errors)
- -------------------------------------------------
- The List File
- -------------
- Upon succesfull analysis of a gamearchive multiex.dll will
- present you with a file called multiex.lst by default.
- The format has a header that gives :
- Long NumberOfFiles : Number of files in the archive
- Long Mex3ComType : Compressiontype of the files in the archive (if any)
- 0 = none
- 750 = ZLibCompression1
- Long Mex3ImpType : Imporationtype that lets you know:
- iStandard = 710
- (both fileoffsets and filesizes are mentioned in the
- archive)
- iSFileOff = 711
- (only fileoffsets are mentioned)
- iSFileSize = 712
- (only filesizes are mentioned)
- iNone = 713
- (for MultiEx Commander : no importing allowed)
- iStandardTail = 714
- (Standard but with a tailpointer at the beginning)
- Byte TailOffOffYes : Is there an offset of a pointer to a tail?
- 0 = No
- 1 = Yes
- Long TailOffOff : The location of the offset of a pointer to a tail
- in the archive.
- Byte FileOffs_Rev : The (long) variables depicting the Offsets of
- the different files in the archive are reversed in saved
- format. So An offset of 12cd3400 would be written in the
- archive as 00 34 cd 12. Low Byte->High Byte switched!
- 0 = No
- 1 = Yes
- Byte FileSizes_Rev : Like above, now for the size variables for each file
- in the archive
- Then follows the body of information on each file in the archive
- (NumberOfFiles times!)
- The record for a single entry looks like this:
- String (preceded by VB depictor for a string) Name of the File in the archive
- Long (preceded by VB depictor for a long) Offset of the file in the archive
- Long (preceded by VB depictor for a long) Size of the file in the archive
- Long (preceded by VB depictor for a long) Offset of the Offset Variable
- Long (preceded by VB depictor for a long) Offset of the Size Variable
- NOTE : IF THE FILES ARE COMPRESSED THE FOLLOWING IS ADDED TO THE RECORD:
- Long (preceded by VB depictor for a long) The Original Size of the file
- Long (preceded by VB depictor for a long) Offset of the Original Size Variable
- There, that's it! Note that you may not need all the header variables for your
- purpose at all. Then just ignore those values.
- -------------------------------------------------
- For any additional help, visit the XeNTaX MultiEx Forums at
- http://forums.xentax.com
- -------------------------------------------------