The installation files:
Some source code: Screenshots:
viewtopic.php?f=22&t=3450&p=29057#p29057
MexScript v1 manual:
viewtopic.php?f=22&t=3450&p=29055#p29055
Here's some text from the release:
Code: Select all
--==XeNTaX 2001==--
MULTIEX COMMANDER INSTALLATION!!
For CORRECT Installation do the following:
1. Make sure you have these setup-files in a directory
(anywhere)
2. Make sure you do not have an Environment Path
(e.g. SET PATH=c:\windows;c:\bc5;c:\mc;...etc...etc)
of more than 256 bytes. Unfortunately MULTIEX.EXE
can't find its INI files otherwise.
3. RUN SETUP.EXE and give a installation path, BUT:
SETUP will create a MC directory, do NOT use "MC" in your
installation path. (if you do, it won't work!)
->Now you are ready to install...
4. Most important as well is that you create a shortcut in Win98
to MC.BAT (or change the "properties" of mc.bat directly)
that has at least 4 (4096KB) MB of Initial Environment Memory, and
4 MB Expanded Memory. To do that, go to Explorer, go to the MC directory,
click on MC.BAT with your right mouse button, select "properties" and switch
to "Memory".
->...and run!
Code: Select all
;MC.INI was was created by MultiEx Commander SETUP v2.0
ROOT=d:\mc\
MAINVIEWER=d:\mc\BREAD.EXE
FILEFILE=d:\mc\FILE.MKD
EXT=TXT -> d:\mc\TREAD.EXE
EXT=INI -> d:\mc\TREAD.EXE
EXT=DOC -> d:\mc\TREAD.EXE
EXT=WAV -> d:\mc\PLANY.EXE
EXT=SND -> d:\mc\PLANY.EXE
EXT=VOC -> d:\mc\PLANY.EXE
EXT=AU -> d:\mc\PLANY.EXE
EXT=IFF -> d:\mc\PLANY.EXE
EXT=BMP -> d:\mc\PICTVIEW.EXE
EXT=PCX -> d:\mc\PICTVIEW.EXE
EXT=JPG -> d:\mc\PICTVIEW.EXE
EXT=GIF -> d:\mc\PICTVIEW.EXE
EXT=TGA -> d:\mc\PICTVIEW.EXE
EXT=TIF -> d:\mc\PICTVIEW.EXE
Code: Select all
;MULTIEX.INI was created by MultiEx Commander SETUP v2.0
MULTIEXDIR=d:\mc\
Code: Select all
MC Debug Log
* Called Routine : Init MC
--------------------------
- debug --> Reading INI File: D:\MC\mc.ini
- debug --> Created Windows
- debug --> Opened selectlist/editorial: d:\mc\selected.mkd and d:\mc\editor.mct
-- debug -> Long: ''D:\MC\..'', Short: ''D:\MC\..''
* Return (Init)
-- debug -> Long: ''D:\MC\CONFIG'', Short: ''D:\MC\CONFIG''
-- debug -> Long: ''D:\MC\DOCS'', Short: ''D:\MC\DOCS''
-- debug -> Long: ''D:\MC\BREAD.EXE'', Short: ''D:\MC\BREAD.EXE''
-- debug -> Long: ''D:\MC\EDITOR.MCT'', Short: ''D:\MC\EDITOR.MCT''
-- debug -> Long: ''D:\MC\FILE.MKD'', Short: ''D:\MC\FILE.MKD''
-- debug -> Long: ''D:\MC\LFE.EXE'', Short: ''D:\MC\LFE.EXE''
-- debug -> Long: ''D:\MC\MC.BAT'', Short: ''D:\MC\MC.BAT''
-- debug -> Long: ''D:\MC\..'', Short: ''D:\MC\..''
-- debug -> Long: ''D:\MC\CONFIG'', Short: ''D:\MC\CONFIG''
-- debug -> Long: ''D:\MC\DOCS'', Short: ''D:\MC\DOCS''
-- debug -> Long: ''D:\MC\CONFIG'', Short: ''D:\MC\CONFIG''
-- debug -> Long: ''D:\MC\..'', Short: ''D:\MC\..''
-- debug -> Long: ''D:\DOWNLO~1'', Short: ''D:\DOWNLO~1''
-- debug -> Long: ''D:\MC'', Short: ''D:\MC''
-- debug -> Long: ''D:\SAMSUN~1'', Short: ''D:\SAMSUN~1''
-- debug -> Long: ''D:\WII'', Short: ''D:\WII''
-- debug -> Long: ''D:\MYSAD.SAD'', Short: ''D:\MYSAD.SAD''
ERROR: Unable Read File
Code: Select all
; for .001 files from Betrayal at Krondor
ID=NONE
EVENTS
PROMPTUSER
SET DUMMYL NUMBER 0
SET FILECNTL NUMBER 8
MULTIPLY FILECNTL VAR FILECNTL NUMBER 220
ADD FILECNTL NUMBER 5
LOOP
SavePos FILESTART
GetNullString 40 FILENAME
ADD FILESTART NUMBER 13
GoTo FILESTART
GetLong FILESIZE
ExtractFILE ONE
ENDLOOP EXTRCNT FILECNTL
Code: Select all
;Format for US Navy Fighters
;LIB Files
ID=EALIB
EVENTS
PROMPTUSER
GetInt FILECNTL
SavePos FILESTART
LOOP
GoTo FILESTART
GetString 12 FILENAME
GetInt DUMMYL
GetLong FILEOFF
ADD FILEOFF NUMBER 5
SavePos FILESTART
SavePos DUMMYL
ADD DUMMYL NUMBER 12
GoTo DUMMYL
GetInt DUMMYL
GetLong FILESIZE
SUBST FILESIZE VAR FILEOFF
ExtractFILE ONE
ENDLOOP EXTRCNT FILECNTL
Code: Select all
ERROR CODES RETURNED BY MULTIEX
#define ErrorInMainINI 1
#define ErrorInExINI 2
#define OpenMainINI 3
#define OpenExINI 4
#define OpenDatFile 5
#define IllegalFormat 6
#define NoDATFile 7
#define UnableListFile 8
#define UnableCreateEx 9
#define IllegalSwitch 10
#define ErrorInWriting 11
#define ImpFileNotExis 12
#define FIleNotFound 13
#define NotEnoughFree 14
#define EndOfFile 15
#define NoPathVar 16
#define UnableFindFID 17
#define IllegalFOff 18
#define NoSepHeader 19
#define NormalExit 99
Code: Select all
What's New in MultiEx Commander
-------------------------------
*During 1998-1999 a lot changed
*April 28, 1999
---------------
I added a sorting routine for the files in the directory.
A rather quick one it is. Sadly, it had only a limited capacity.
(Between 2000-8000, depending on the amount of available mem)
Hey, who wants more than 4000 files in a directory anyway!
*April 29, 1999
---------------
That sorting routine turned out to be low capacity (not even 250 files).
This was because MC.EXE used a small memory scheme. I rebuild it with a
large one. Now it should do the trick quite nicely. Whenever there are
to many files to sort in memory, the files will be left unsorted.
I am NOT going to write a routine which does it IN FILE, because that would
slow things down too much, and is very boring to code too.;-)
*May 2, 1999
------------
Added the MultiEx command FlipLong which reverses the byte order in a long.
This was necessary to support formats like Thunder Hawk(view the INI).
*May-Juli 1999
--------------
V1.9 of Multiex now uses much less memory space than before, due to more
logical use of it. I completed Multiex Commander more or less. It should work
on any computer now using the SETUP.EXE I wrote for it.
But WINDOWS is giving me trouble with running MC correctly... A memory problem,
but MC works fine in full DOS mode. Why bother with DOS? I haven't got any
Windows-Builder for C... But hey, MC works fine, fuck windslow anyhow.
When you look at the speed of the "graphical amusements" in MC, when running
during windows, they are sloooooow. Sorry for that. In DOS they're fine.
*August 1999
------------
Rewrote MC. It now supports long filenames, and asks to create paths,
if none exist. This makes it fully Windows compatible,
but less DOS. Also added some effect (timer interrupt) for fun.
Oh and it is possible to select all files at once. And limitless too.
MultiEx also uses long filenames now. But it does not create paths.
Removed a stupid bug in the SADCom datafile format which you can create with
MC. It created a header allright, but calculated a wrong size, so the offsets
of the individual files were wrong. DUH!
Added two commands for MEX to be programmed:
-GetDString (Get a string of variable lenght):
GetDString <VAR> FILENAME
-SeperateHeader <EXTENSION>
SepearteHeader CNT
(for example!)
Because Hidden and Dangerous uses the DTA files as the main file,
but the file info (offsets, sizes and names) are in the *.CNT header files.
Like H&D.CNT (the header) and H&D.DTA (the datafile)
V2.0 of MultiEx now complete.
I added another command for MultiEx to use:
-StrCReplace FILENAME <char1> <char2> (in numbers)
This replaces all char1 found in FILENAME to char2
It was necessary in order for PAK files, where the dirstructure is saved
as duh/troep/ah.wav instead of usable (in DOS/WIN) duh\troep\ah.wav.
Oh and I added the "Create ALL Dirs" function in MC.
So whenever MC encounters a dir that does not exist, it will ask to create
it and you can now answer "ALL". Saves a lot of hassle, don't you think?
9th of Nov 1999
---------------
DAMN!!!!!! MY HARD DRIVE FUCKED UP!!!!! ALL LATEST SOURCE CODE IS GONE!!!!!!!
DAAAAAAAAAMMMNNNNNNNNNNN!!!!!!!!!!!!!!!
AAAAAARGGHHHHHHHH!
9th of Feb 2000
---------------
So, I am not going to rewrite all of MC. This also means that the bugs that are in there, are in there forgood. I'll just add more and more formats for MC to support.
That's it. No more coding on MC. Perhaps in the future I will do a totally new Windows-based Multiex. Anyone care to cooperate?
10th of June 2000
-----------------
I added a little prog that handles extensions that are alike between different formats.
No no-one has to rename files. Whenever people try to open Quake's pak files, they will be
given a choice between the different PAK formats (e.g. Dune 2, Quake etc. and Daikatana)
15th of June 2000
-----------------
I added TREAD.EXE BREAD.EXE and created a new, fully automatic SETUP.EXE
Also, I saw that the MEX-command CASE had not been added in MultiEx.DOC
Read it to see what it does, and read the README.1ST in the MC dir for more on the
new release.
17th of June 2000
-----------------
Removed a bug in TREAD and made MULTIAD use path strings of 256.
10th of December 2000
---------------------
Work has started on a Win32 version. A new XeNTaX member "Mage" has taken up the workload.
5th of February 2001
--------------------
Rebuild the MultiEx website.
Added more games.
6th of February 2001
--------------------
I added the program from Bill Neisius (bill@solaria.hac.com) called PLANY.EXE to play
.AU.VOC.SND.IFF and .WAV files, using the Soundblaster variable. Now when the user extracts any of these,
he will be able to hear them from within the MultiEx Commander shell.
23rd of February 2001
---------------------
I added more games.
I added the program from Jan Patera called PICTVIEW which MultiEx Commander will call whenever you set the cursor on a picture file. Then it will show you that picture.
Some info about PICTVIEW:
Author : Jan Patera, Czech Republic
Internet: support@pictview.com, patera@km1.fjfi.cvut.cz
http://www.pictview.com
http://pascal.fjfi.cvut.cz/~patera/pictview
http://www.geocities.com/SiliconValley/Pines/9994
Picture files it supports (their extensions):
[BMI] [BMP] [DIB] [RLE] [CAL] [MIL] [CDR] [CDT] [PAT] [CEL CMX] [CUT]
[DCX] [GIF] [ICN] [CUR] [ICO] [IFF/LBM/HAM] [IMG-Soft. set] [IMG-GEM]
[IMG-Vivid] [JMX] [JIF] [JPE] [JPG] [MAC] [MSP] [OFX] [PAN] [PBM]
[PGM] [PPM] [PNM] [PC2] [PCD] [PCT] [PCX] [PIC-PC Paint] [PIC-Dr.Halo]
[PNG] [PSD] [PYX] [QFX] [RAS] [RLE-Intergraph] [RLE-Utah RLE] [SAM]
[SCx] [SGI] [BW] [RGB] [RLE] [TGA] [TIFF] [SEP] [CPT] [ST UDI] [WPG]
[ZBR]
Great program ! :) Full credits to Jan!
Code: Select all
MULTIEX LATEST TITLES SUPPORTED:
--------------------------------
Entry Date: 23rd of February 2001
--------------------------------
- Blood 1 (RFF)
- Blood 2 (REZ) - RIFF WAV Sound extraction
- Call To Power 2 (ZFS) -> it works, but a bit buggy
- No One Lives Forever - RIFF WAV sound extraction (REZ)
- Outlaws (LAB)
- Suddenstrike (RUS) sound file
Entry Date: 5th of February 2001
--------------------------------
- Colin McRae Rally 2 (BFL)
- Cultures (LIB)
- Escape From Monkey Island (M4B)
- Heroes Chronicles - Clash of The Dragons (SND)
- Heroes Chronicles - Clash of The Dragons (LOD)
- Hitman (BIN)
- Micro Machines 2 (SFX)
Entry Date: 10th of December 2000
---------------------------------
- Blair Witch Project (POD)
- Dark Reign 2 (ZWP)
- Delta Force: Land Warrior (PFF)
- Delta Force: Land Warrior (PWF) <-- these you extract from PFF files
- FIFA 2001 (BIG)
- Nascar Heat (RES)
Entry date: 15th of June 2000
- Final Fantasy (LGP)
Entry date: 3rd of June 2000
----------------------------
- Betrayal at Krondor (001)
- Conflict (Descent): Freespace (VP)
- Daikatana (PAK)
- Planescape: Torment (BIF)
Entry date: 20th of May 2000
----------------------------
- Counter-Strike (HALF LIFE MOD) (*.PAK)
- Counter-Strike (HALF LIFE MOD) (*.WAD)
- Lemmings Revolution huge file (*.BOX)
- StarLancer (.HOG) files.
- Total Annihilation (*.ZRB). Just extracting packed files.
Entry date: 20th of Feb 2000
----------------------------
- Abomination: The Nemesis Project Sounds (.AWF)
- Abomination: The Nemesis Project Files (.CLT)
- Close Combat 4 (.AZP)
- Close Combat 4 Pictures (.PIX)
- Close Combat 4 (.SFX)
- FIFA 2000 .BIG files. (sfx, in .bnk format)
- Master of Magic LBX files (Thanks again Roger!)
- Master of Orion 1 LBX files
- Sim Theme Park Sound data (.SDT files) (MP2 format)
- Sim Theme Park WAD files (though im not sure!)
Entry date: 9th of Feb 2000
---------------------------
- Age of Empires 2 .DRS files
- Homeworld VCE file
- Mortyr .HAL files
Code: Select all
ADD ONS MEX v1.9 February 2001
==============================
Info about some datafiles
-------------------------
;Format for Blood 1 RFF files
; sounds in sound.rff are 8 bit mono 11025 hz and unsigned
Now following are add-ons, formats I figured out but haven't got round to
implement in MEX, either because of lack of time or because
it is a kind of format MEX-functions can't support yet.
Er, some have been implemented... So these notes are just info.
Quake3 PAK Format:
------------------
These are actually PKZIP files. Rename them into .zip and
use WinZip or something to open them.
Thief 2 .CRF Format:
--------------------
As with Quake 3:
These are actually PKZIP files. Rename them into .zip and
use WinZip or something to open them.
--------------------------
pak format Jack Orlando :
header:
begin
-start of data
further
-offset
-size
-filename [13]
until start found --> number of files found --> start extract
----------------------------
wd format earth2140
-first filenumb(long)
then :
-offset file a (long)
-3 unknown longs
-offset file b (long) etc...
file a size: offset file b - offset file a
after this come nullterminated filenames (filenumb times)
then extraction can begin.
-----------------------------
Theme Hospital
(sound file .dat)
Here: go to back of file, get the long there which points to the end of the tail,
then get some dummy longs until you get a good one which should direct you
towards the Start of the TAIL. There you should get some longs until you get a
long which is the FILECNT. Get a dummy int and start getting the filename
(about 16 chars), the fileoffset and the filesize.
There's a catch however, ignore the NULL.WAVs they are excluded by the
FILECNT as well. Or you could just use the ME2.INI which uses the RIFFlenghts
to extract the files, until end of file.
-----------------------------
HEROES of might and magic 2 (3?)
(heroes.agg)
FILECNT (int)
unknown (int) --}
FILE OFFSET (long) |
FILE SIZE (long) | FILECNT TIMES
FILE SIZE (long) --}
then after you know the LAST offset + size, the FILENAMES come, 12 long,
byte 13 a null and an unknown int, totalling it 15. FILECNT times.
-----------------------------
Hidden and Dangerous
These .DTA files have a spearate file-header: *.CTL files.
Ya get some ID stuff in these files, then:
-Long : The offset in the DTA file
-Long : The size of the file
-Int : string length
-String : The name of the file (including dirs)
Actually, dirs come first, then the files.
Dirs are in capitals. The strings do not have a fixed size,
it depends on the their name. The int that come before them
gives away their size.
------------------------------