MechCommander Gold - Darkest Hours
Standalone - Version Logfile (March,26th,2020)
- I modded the sh.. out of this game and brought it into another level - what im telling you - between the original and my built are dimension.
- Made Darkest Hours the most complete and stable standalone version that ever existed
- Broke all records while modding the sh... out of this thingy
- made Darkest Hours my 7. symphony in modding
- brought it to masterpiece level by continiously caring for it for years
- solved several origin bugs, recompiled and brought order into the file compression system
- ... list under construction
(c) by RizZ; The version log is actually under construction and gets overhauled! (2020)
After maintenance is done you will see the entire content:
Introduction (Enlightment 2017)
When i came back to MechCommander (11/2016) i found the game in worse conditions. Several different *.iso versions of the game where spread around the internet and most of the customized fan mech information was gone - or just rudimentary accessable via wayback machines and web archives. I downloaded ALL content i could find. I contacted people who modded MC in the past decades and asked for their files.
I doscovered this...
I know this thread is very old... like this subforum. Hehe
But since never anyone gave that poor guy an answer I have one, found it while collecting all valuable data I could find for MCG.
FST and DPK file format:
- Data in the FST is in compressed form (typically), the compression used is a Lempel-Ziv variant
(looks to me like an LZW). I'm not sure if this is in fact the case. Sort of redundant now as
the compressor and decompressor code ripped out of the game executable is working fine.
(see lzcompress_asm.c and lzdecomp_asm.c respectively).
- DPK files use the exact same format as FST file. In short, a DPK *is* an FST file.
- In a DPK file, I have yet to see any compressed data, while in the FST, it most definately is
compressed, but it doesn't have to be.
- To store uncompressed data in a FST (or DPK), simply set the uncompressed and compressed size
to the same values and copy the uncompressed data into the correct location in the FST/DPK.
- An FST (and hence also a DPK) file can be seen as a sort of virtual drive with a single
directory in it.
- In both the FST and DPK files, the path to the file (relative to the game root directory) is
stored with the filename in the TOC. This means that we could technically extract all files
from the FST, delete the FST, and still run the missions as long as all the files extracted
were in the correct locations. This seems to be born out from when we create DPK packages and
extract the FST on another player's computer. I haven't tried this with the full mission
campaign file though.
- The MCExtractor tool normally used to extract files from a DPK actually looks for a single
.FST file and a single .SOL file within the DPK. If this is not the case, MCExtractor will
refuse to work with the DPK. Further, MCExtractor does not appear to be able to handle
compression, this would then seem to be the reason why DPKs are never compressed. These
factors should be kept in mind if attempting to create your own DPK creator using the
information in this document.
Offset Size Description
------ ---- -------------------------------------
000000 DWORD Number of entries in the TOC
000004 262 * n TOC Entries start here (262 bytes per entry)
xxxx xxxx Data for the FST/DPK (Starts immediately after TOC)
TOC Entries (262 bytes):
000000 DWORD Offset into file where data is
000004 DWORD Size in bytes of the stored data
000008 DWORD Size in bytes of uncompressed data
00000C 250 bytes String (zero filled). File and path this entry represents.
Files in an FST and DPK file
For solo mission DPK files, there are only two files. First is the .SOL file for the misson, and then the actual FST file.
For solo missions, the following files are put in the FST file:
The names listed below assume the mission is called "name". Likely we only need one campaign file, the others
are individualized for each map. The campaign name (likely) needs to be the named after the FST & SOL files, but the
rest can be anything at all as they are referenced from within the campaign file. (order of files within the FST/DPK doesn't appear to be important).
When using the editor to create a DPK file (which also creates the FST for inclusion in the DPK), it internally renames all the names except for the file "campaignXX.fit" whose name remains intact and takes on the same name as the FST file itself. e.g. if you made a mission map called TEST, then the FST file the editor creates will be called TEST.FST, the SOL file will be called TEST.SOL and the campaignXX.fit file will be called campaignTEST.FIT. All the other files are referenced from within the campaignTEST.FIT file or one of the other files and so these files are automatically changed to some UUID number instead of TEST. This is why we get strange long filenames in the FSTs. But a simple test I made shows that the UUID names are not required whatsoever. if we simply packed all the needed loose files the editor creates for the mission (as noted above) into an FST file, and used the appropriate SOL file, the mission will run just fine.
This ive got from cmunstas notices of a simple txt file between all of his MCG Tools and Tutorials.
He also mentions the importance / role of dpk files in his campaign building guides.
>> March 08, 2017, 12:25:10 pm <<
... about the internal MC file system. Later i discovered that MechCommander was designed without any GameEngine - but actually is a composition of several programing elements with different sources. So for creating MechCommander the developer team used C, CC, CC+ / Advanced Business Language and a developer tool called Progress. When we talk about MechCommander graphics there are additional programs they used - but for now it would just blow up - so more about sprites and tiles later.
With that information i knew i could definitely mod the game with the right tools, knowledge and hard work.
(March, 9th, 2017 - The idea came up)
The thread i made contact to them is here: MCO 628 (MC2 conv. mod stuff). When you read it you will see that we had not a good start. From nowadays perspective i can understand wolfman-x.
What happened? Well i stepped into their MCOmnimech topic and came up with stuff i found while googling - MechCommander research. I've read about a guy who managed to merge 70 missions into one MC1 single-player campaign. Here wolfman's answer:
I never worked on anything for MC1, Gold or whatever. You are a victim or provider of fake news
Magic is absolutely correct I only worked on MC2 mods and missions and campaigns.
btw: this post and the entire forum is about Magic's MCO and it is a pain to see it drift.
Therefore I clearified that point once and forall.
« Last Edit: March 10, 2017, 07:56:23 am by wolfman-x »
You are a victim or provider of fake news
I'm what? - Okay you triggered me. I don't know if you knew that wolfman-x - but you have put down the first brick of my wonderful modding masterpiece AT THAT MOMENT!
This was my reaction:
"Mhh maybe it's fake news others committed long time ago.
I just repeat what I've found while searching all valuable information I could get for giving it an own try.
Anyways nice to meet you. Days ago I thought I've been riding a grave here.
What are these tools? For MCG really? Editor extender and how pkk files work I already know. What is that patch 20 and C exe? What do they do?
What you mean with this salvage issue? I thought salvage you can create with editor/abl scripting functions."
« Last Edit: March 10, 2017, 09:24:24 am by RizZen »
You create salvage with extender (i think) and some scripting...
C exe is my campaign installer, though I forgot how it works, you will have to try it.
I think you will have to place all missions of your campaign and it in the same folder before starting it?
>>March 10, 2017, 01:19:47 pm<<
"Yeah but MCG works primary with *.fst library's. And it reads them in alphabetical order so that files can exist twice (like the campaign.fit files in missions folder). Game will take the first campaign.fit it finds in fst subfolders. So my path at the moment are cmunstas footsteps I'm walking into.
I got my test campaign rolling by naming like
00A_RizZ.fst -> for campaign and purchase files
00B_RizZ.fst -> for data\mission and data\terrain files*
To 00B I have to say that I do one fst file per mission at the moment but want to pack all of them in one fst file later.
Only problem is I need manually type in which files should be compressed and which I leave uncompressed in detail. Every file below 16-12 kBit I want to have uncompressed to reduce errors.
* and I plan to Devide mission.fst and terrain.fst files like this to make them possible to edit for other users later too who might have the problems I could solve.
Edit: extender I already have and all other data I could found only new files you did sent.
You know I have same problem like you too. I have a wife and a business but I like gaming since 3 decades and trying this is a challenge smt. new to learn as hobbie.
I've learned past week that it's no easy way to make a campaign. For each mission it takes hours to create and make it real epic in detail with given options, but I'm willing to do it even it will last a year or more. But this is fun doing at the moment and I want to create some challenging results before I'll stop cause I liked mc and my work should be just a tribute ^^."
« Last Edit: March 10, 2017, 02:21:58 pm by RizZen »
The motive was born (March, 10th, 2017 - Technical problems)
After his post wolfman-x at first didn't responded anymore in this thread. So i left them back to their MCO topics and went to NGNG in order to use their hospitality for publishing and file hosting MechCommander related content.
On NoGutsNoGalaxy the backbone for MechCommander Gold - Darkest Hours Free Fullversion Standalone v4.0 was born. It was called MechCommander - Ultimate. The name was just the development project name - i always intended Darkest Hours for deeper reasons - story and BT lore related.
The technical problems mentioned above i still had - but now i had a clue. I could start at some point. And the key was MC's internal compressing file system. I adapted what other modders did in the past and assimilated their knowledge and guides - then started modding the basic MCG-DM v1.8 standalone expansion version up to a new level - later dimension.
First campaign merging patch release
(March, 14th, 2017 - you see it, wolfman-x? - hehe)
Four days later my first simple mission campaign merge was done. There where still some major problems but for the first time there was a campaign longer than 30 missions. I could not merge the original campaign into the first built - cause ALL original and expansion missions where compiled and stored in a mess. The way the final version was released - the missions from the original vanilla version where unusable for such reason. They all had to be extracted from the source, put in order and renaming procedure that gives a clear hint for the reader what mission we have here - and finally recompiling all this sh.. to make it technically compatible to work with the core game. Here the first version log of...
... Version 1.0 - MechCommander Gold - Ultimate
(Remastered MC patch release)
This version log is a collection of rudimentary left dataship i could gain back after NGNG.net was shutdown:
DOWNLOAD the Ultimate RizZen Campaign here:
MCG - Darkest Hours Version 4.0 FullVersion Download-Page
Latest edit (04/15/2018)
Actually im working on Version 4.0.
Latest edit (06/25/2017)
This is the first development thread of my very early mod. After releasing it many people underestimated me but i have shown all what i can now. One CAN make a difference! Have fun & enjoy reading the Genesis of a MechCommander Game Evolution!
Old Thread Content
Hello dear (almost vanished) no guts no galaxy mech commander fans! Two weeks ago I found this old game and started playing again. After finishing the first two campaigns Original (30 missions) & Desperate Measures (12 missions). I downloaded the Bengal, X-Ray, exodus ... three major campaigns made by users with all in all 100 more missions to play. The real bad thing for me was that you couldn't take over your team to the expansion after finishing original campaign.I started to try doing it myself manually and failed handling with *.sav/*.pkk files at the beginning but then found your database and some information about a user called cmunsta. I downloaded his tools, found some other sites like Github and started to play with the gamefiles. First I learned how to get your team through all campaigns by modifying the start0.pkk files at campaigns beginnings. But it wasn't enough to me. It is no pleasure to build new starting files after some missions. So I decided to do what never has been done or finished before, merging all available campaigns made by users as a one.
To be faster I splitted game into two campaigns
1. The overwriting "original game" campaign including: original + all three available user campaigns (~80-100) missions playable in ONE major campaign.
2. The overwriting "expansion game" campaign including: desperate measures + three other expansion campaigns by users (~40-50) missions to play as one campaign.
So atleast it will also be possible to take your final team at the end of the first major campaign to the expansion but won't make much sense cause with this amount of missions you can see it playing two different stories then with two different starting conditions. The biggest problem for me at the moment is how to get each data/terrain/mission.fit file extracted out of the mod campaigns .fst files. So if anyone wants to help and knows more about extracting ALL files of a .fst tell me how it can be done. At the moment this is my only problem cause to load mission files with an editor I need to have the individual terrain.fit files for each mission which actually I can not extract. - ALL PROBLEMS SOLVED, look into V3.0 -
At the moment I have a campaign with 9 original and 9 mod campaign missions working but to do more I need help in extracting or recreating the terrain.fit files.
« Last Edit: 12 Dec 18 by RizZen »
Mission Work (March, 15th, 2017)
Editor Extender & *.ABL scripting
This thread might help
--- link is gone NoGutsNoGalaxy.net is down ---
As might this link
Could you post some links to where you got the custom solo maps? I think I accidentally deleted any maps I downloaded and a lot of links I'm finding are broken.
>> 14 Mar 2017 <<
Mission work - Editor & *.abl scripting
Yeah thank you but I've already got all valuable information of all threads of this forum including all extracted data. What I need to know is how to extract two files with the same name out of a
- *.fst:data/missions -> individual mission.fit
- data/terrain -> individual terrain mission.fit
Fstextract only extracts the first file it finds and it's always the mission.fit from mission folder. The mission fit of terrain it doesn't extract cause fstextract refuses to take any paths to sub folders...To your question: all regular mission files you can find in the extracted data from what you gave me above. All regular missions are saved in mission.fst file in root folder. Extracted files from ur download including all regular missions in it. What was harder was to find out which files actually belong to what mission cause the developers didn't had a straight naming procedure... so u need to find out urself what files u need to have a complete regular mission. I already have mission 1-10 separated and can change them successful on own delight.Hope it helps
I try to explain easy how missions work in MechCommander GameEngine:
Each mission contains several files in sub directories. These files are compressed in *.fst (familiar to zip/7z compressed) files. The mission.fst & terrain.fst files in your game root directory including all files from a mission. In fst files the files are stored like a library with sub directories. To change game you need these:\MCXgamefolder\ all .fst files game contains
- \MCXgamefolder\data\missions (all mission data files)
- \MCXgamefolder\data\missions\warriors (mission brain files and warriors)
- \MCXgamefolder\data\terrain (mission map files)
Each mission should contain those files:
- data\missions\campaignmap1.fit (for solo "campaign" mission)
- data\missions\map1.txt (briefing text)
- data\missions\purchase00.fit (only if campaign mission)
- data\missions\warriors\map1Params.fit - (only when using editor - in abl-scripting more files needed here)
You see to have successfully implemented campaign mission you need minimum 19 files containing all data mission uses to run with its individual map and mission objectives. When you use original campaign missions it's very simple to extract and separate these missions. Hard is to relink them after changing file names cause missions are linked to the other mission files. When you rename you need to replace these links in the mission data files in order to run it later. And it's important to know that original missions contain more files than these above cause they are scripted and some changes the developers did you can't implement with game editor. When you use the game editor to work on original missions you need to keep in mind that all units on the map are scripted manually by the developers or with another program than editor or extender. The editor just can open the original maps but it won't show you the mission data like objectives and no units will be placed.These are scripted missions and the units and objectives are to find in abl files. In order to edit these without recreating whole mission data manually you need to put in additional units manually instead.What should be possible are map changes without touching mission data means you probably can add buildings and bridges without scripting.
« Last Edit: 15 Apr 18 by RizZen »
v1.0 - Merging existing customer's solo campaigns
(March, 20th, 2017)
I have managed to merge
- Mission 1 - RizZen Original
- Mission 2-34 - Xenocide & Exodus User Campaigns in mixed order
as one campaign overriding the original campaign. All in all this means I managed to create an independent 34 missions campaign with missions of before three different campaigns in a single one. Now I needed to add some purchase files and making changes in solopurchase.fit files. And now this is the first usermade campaign working standalone with this mission count. Harder willbe to add X-Ray campaign cause X-Ray is way different then the other two available user campaigns. But I won't give up on that. The "new mission order" will mix the missions of existing campaigns in a way that orirignal mission order of each campaign related to operation numbers will stay the same.
So it won't be like you play f.e.
- Mission 1 original
- Mission 10 exodus
- Mission 8 xenocide
It will be more like
- Playing first mission 1-5 of original campaign
- followed by
- Mission 1 xenocide
- Mission 2 xenocide
- Mission 1 exodus
- Mission 2 exodus
- Mission 3 xenocide
- Mission 3 exodus
- Mission 6-10 original
And so on. -DONE-
So you can build up a good functioning mech crew by playing the early missions first and at the end the hardest ending missions. At the moment my campaign merge contains 34 working missions but I try to enlarge by adding the missing 29 original missions from now and finding a way to work with 26 X-ray campaign missions means could be 89 missions in a single campaign if it is done.
Only major issue I see with this is logistics, which assets are available to the player. There might have to be some adjustments made, but regardless very cool!
I always wanted to play the original + expansion campaign together.
Comment by RizZen 2020: True, true - but that always was all what came from your side. Some problems you see - but no ideas how to solve them - neither what to do with the knowledge and info basement you've got on NGNG. Letting it and this way hurt many people in the community. There is no excuse for that from my perspective. But true - there where problems with logistics - cause logistics never where written up to more than 30 missions for a campaign - so anything extending that - meant to create new content for the core game itself. New Purchase files - and a new purchase balance. Although the order when warriors are available in shop had to rebalanced several times (Double Warrior Bug). But this got finally solved 2018.
v1.0 - Merging existing customer's solo campaigns
(March, 21th, 2017)
Well I will make some .rar files and will upload my work soon. Yeah playing both campaigns as a one is also one of my tasks but due to the fact original contains more missions and that original files easy to include with other originals but expansion is another store/map data defined by planets. It is definitely possible to switch that but it will cause errors I bet because some pilots exists twice and there maybe problem with game handling different planets and so on... all in all it is a big amount of work.
If I can run 3 campaigns of the original similar soon I will merge expansion next. After that we can talk about merging expansion / original. For now to play on expansion with same team it is also possible you just need to build a new start0.pkk containing warriors and mechs of your last savegame. To do that you need cmunsta's tools in order to extract files of ur savegame and packing them in a new sol file which then just need to be packed with the master definition file of expansion campaign and it's initstore.
For the files I upload soon I will open a new download section.
Ur wishes for logistics: we talk about all that stuff when I have built a running campaign. In order to do it fast I will just do editing to get it work not to change gameplay or anything else. Purchase data will be same as vanilla but change from mission 31 on cause vanilla campaign has not more than 30 purchase files. - DONE - (only balancing probs on logistics, due to campaign length, left.)
I could separate all user campaigns now:
Original campaign merge
Original Exodus - 16 missions
Original Bengal - 18 missions
Original X-Ray - 26 missions
Original MCG - 30 missions (mission data 3-30 missing needs to be manually rewritten)
90 missions if merged as original - DONE - see here.
Expansion campaign merge
Expansion Turncoat - 5 missions
Expansion Bengal - 12 missions
Expansion DSC - 12 missions
Expansion MCG - 12 missions (without mission data)
41 missions when merged as expansion
Additional Expansion campaign files
Unknown MechWarrior3 - ~20 missions
(With an expansion campaign file)
When I can integrate to expansion it could contain 71 missions. So in the end there could be really two independent big campaigns on one game if it's successful ongoing like now.
v1.0 - The difference between Port-Arthur & Cermak
(March, 24th, 2017)
The difference between PortArthur & Cermak Missions!
It is definitely possible. The difference are map tile sets which are bit different. All in all the difference is just between
- Planet = 0
- Planet = 1
in mission fit files.
Maybe it's only working when overriding expansion cause most original campaign missions don't even have the line "planet" in fit file so default is planet 0.
Before I try to do such things I will finish my current project, I do also in order to reduce possible crashes it could cause. The way I go now causes only a few manageable bugs which I can solve. Maybe I couldn't do with different planets that easy so I decided to wait with expansion for first. What I definitely can say that working with expansion files will be more satisfying cause in comparison to all original campaign missions it's only a hand full of missions.
Second thing is that I feel that expansion was only made to let original scripted missions alive. The existing 30 basic missions where totally scripted, unusable with editor and needed to be cut out carefully piece by piece out of the mission.fst library. To merge them vanilla with expansion is not possible the easy way. The reason I'm so fast merging user campaigns is that all that missions where made by editor and that the developers of it already did the most work to make them comfortable for campaign modding.
The basic 30 original missions I will need to recreate all mission data and objective just working on empty map files right now cause original scripts and original file management was a mess when it goes over to scripting. Looks as if they had a tight time table and made lot of things in a rush. Also found and corrected handful of bugs in original campaign data files. - DONE -
v1.0 - *.sol files & *.pkk work
(March, 25th, 2017)
"When you were modding the purchase files, did you find where the default/starting mechs and mechwarriors are defined?
Whenever you play the original campaign you start with Beast, Hawk, Hunter and Lynx, along with two Commandos and a Firestarter.
What I've found is that these mechwarriors and vehicles don't look at the related PMWxxxxx.FIT or PMxxxxxx.FIT.
I modified the weapons on the commando but it only affects mechs I buy or fight, not the starting two.
Likewise I changed the colour of some mechwarriors but Beast, Hawk, Hunter and Lynx aren't affected, only those I buy or am gifted (like Falcon and Firestorm).
I'm worried this might be in the .exe but maybe you know better.
From what I remember of the player created campaigns, the ones set on Port Arthur use Beast, Hawk, Hunter and Lynx, but the ones set on Cermark do not use the expansion starter mechs/mechwarriors. I definitely remember one with Mystique and Baron."
>> 24 March 2017<<
*.sol/*.pkk/*.mpk files & PKK work!
Latest Entry: 04/15/2018You can find those files into your MC Gamefolders "Data\Savegame". PKK files are starting conditions for solo campaigns. SOL files are starting conditions for Solo-Missions. MPK files are starting conditions for Multi-Player Scenarios. All those are compressed with the same *.fit file format index. The files are compressed chronologically following its alphabetical order of filenaming. One Start.pkk may contain Masterpurchase (initstore) and Mastercampaign (masterdefinition) file and one file for each warrior, mech, vehicle. So a PKK file with three warriors, three mechs and one vehicle always contains nine indexes. Each warrior/mech/vehicle more means one more index file into PKK/SOL/MPK file. The only difference between *.pkk and the other two extensions is that *.sol & *.mpk always have only two indexes by default. Only master and initstore. The reason is that in those game modes the players actually have a blank inventory and an unlimited shop to purchase a crew of choice instead of having certain mechs and warriors at the beginning. For that reason those doesnt contain indexes for Warriors, Mechs or Vehicles. But technically it would be possible to so.
PKK-Work Thread - this thread was lost
These data is compressed in *.sol files with a simple file index
bbc_standard_quote wrote: 00
They only contain *.fit files but without file names. The order of them is important. In *.pkk (start0 = original campaign f.e.), *.sol (solo mission) files, which are actually the same, the order is:00 masterdefinition.fit
01 beast.fit (warriors all in a row)
04 commando_a.fit (now mechs)
07 refittruck.fit (vehicles)
Index files doesn´t contain file names. You just can give them any filename aslong the alphabetical order remains like above. Always warriors in the first place, then mechs and atleast vehicles. Masterdefinition is always the first, initstore always the last index file from alphabetical order.
Index from 00-08 = 9 single *.fit files need to be compressed to *.sol with makesol.exe of cmunstas tools.Look the order files have in list above keep this index order and this will give u the team above. Only these are used at campaign start. You can have any starting option how to do is readable in detail in cmunstas campaign building guide (search for start0.pkk.).
Purchase data doesn't have to do anything with start crew only connection is initstore as it is actually "purchase00.fit"" of campaign containing all shop data at campaign start. Also means initstore & purchase00 always need to be the same otherwise game will crash cause it needs this fit file twice, one in regular mission.fit and in start0.pkk (xStart0.pkk for expansion) compressed. In order to change starting shop u need definitely overwrite start0.pkk with ur version. To keep original start.pkk u Need to extract all indexes replace the last index "init store".fit with ur purchase00 start fit. Same with warrior or vehicle.fit files.
Now I finally merged all user campaign missions and they work as a single player campaign overriding the original campaign. All in all my campaign includes 60 playable missions. I've to add 8 new mech warriors. To spare time I just copied image/sound/video files random from existing warriors. I only changed some names and balanced their skills to have unique warriors. Now they need to be implemented in all purchase files. I have finished 17 of 63 purchase so far. Tomorrow I may get the ones left done in order to erase last bugs appearing when pilots ids used twice. Last step then will be creating a new start0.pkk with updated mechs, warriors, masterdefinition and initstore file. When this is finished I can upload the biggest campaign ever created for MCG. - DONE -
Okay I have several versions of start files for campaign now. Making changes is more complicated than expected. 1 More start equipment / warriors leads to exponential required changes on later entries which makes work disturbing right now. I already have 2 working start files (one is a modified vanilla). If u have any wishes for starting units for such a big 89/41 missions total campaign feel free to post here ^^
This thread can be closed, mod is done:
MCG - Darkest Hours
- 89/41 Missions as two playable big campaigns
- gaining 13 Warriors from the battlefield
- 20 new mechwarriors available in the ingame shop
- first campaign with working purchases for more than 130 missions
- including all Xenocide // X-Ray // Exodus & Original Missions from vanilla MCG
- new artwork (Buttons, Nameplates, Warrior pictures)
- rebalanced warrior skills (especially the ones from mission gifts)
- playing all campaigns similar
- more updates in progress
This is the very first original v1.0 vLog that exists for Darkest Hours. Their are some posts of a 2nd page gone but the most important stuff i could save and place over here.
Have fun reading, that's an order!
(c) by RizZen, archived by RizZen (2020)