I want to make a co-op commander mod, but the co-op maps dependency, "starcoop", calls multiple mods with "includes" calls so that some of the information, particularly all of Stetmann and Mengsk, don't show up in the editor. I can't specifically add the Stetmann and Mengsk official mods as dependencies in order to make them show up in the editor, because doing so doubles all their stuff in-game, including graphics models.
I think the solution is to take the stupidly-split Blizzard co-op mods and combine them into one mod that I can use as a dependency. I wanted to open each of the blizzard mods in the editor and merge them with the "merge files" command in the file menu, then remove the file that calls to "#include Commander Stetmann", etc.
However, I can't find out how to open the co-op maps dependency, named "starcoop". File->open will bring up a list with the Stetmann and Mengsk mods, and the Allied Commanders mod, but not starcoop. The Allied Commanders mod seems to be a dummy mod that just calls the others, but perhaps I have it backwards and Starcoop is the dummy mod.
Anyway, if anyone can explain to me how to make a co-op dependency that has all the co-op data visible in the editor, please enlighten me!
I don't understand what you're saying. If you're saying the commander mods get loaded later, well, that's the problem I'm having because the later commander units don't show up in the editor. Are you saying I can just copy the body of each xml, for example, units.xml from the Stetmann mod, and paste the text at the end of units.xml in one of the other mods, until I've added them all together?
Also, there are a couple xmls, Tychus.xml and futurecommanders.xml, that have a hodgepodge of data that belongs in a lot of different xmls. Do I have to go through these and cut and paste the units part into units.xml, the upgrades part into upgrades.xml, etc? How do I deal with these?
So, since nobody seems to know, I guess my plan is to:
-make a blank mod
-copy into it the files from the starcoop directory that I can find with CascView. I'm hoping this is the correct content used by the co-op missions dependency.
-delete the "includes" file that calls the "Commander Stetmann" and "Commander Mengsk" mods at runtime.
-remove the lines that call commandertychus.xml and futurecommanders.xml
-copy the body of the text of commandertychus.xml and futurecocmmanders.xml piece by piece into the various standard xml files like unitdata and upgradedata.
-use the merge files command in the starcraft editor to combine the resulting mod, (which should be just like starcoop but without Mengsk and Stetmann) with the Stetmann and Mengsk mods.
I'm hoping this will produce a dependency mod that is equal to the "starcraft missions" or "starcoop" dependency, but with Stetmann and Mengsk's units showing up in the editor.
If anyone knows whether this will work, or if there is an easier way, please enlighten me!
Edit: First attempt at merging the mod files gives a ton of errors with stuff like files are not identical (no shit). Does the merge file feature not actually merge mod files? I've never used it before, but "merge files" seems like it should combine the contents of each xml, etc. Is that not the case?
I know there are few modders left for this old game, but surely there's someone left who wants a coop mod with Stetmann and Mengsk in the editor and knows how to get it to happen.
I made another attempt, copying the contents of the xml and txt files in the Stetmann and Mengsk mods into the base co-op mod I made. Everything shows up fine in editor, but triggers to spawn starting units didn't work in my map.
In regard to Coop dependencies, there is one standard dependency -Coop mission (which does not include certain Stetmann and Mengsk data) and another under other dependency - Allied Commanders by Blizzard (which includes all data but is constantly being updated, in other words, choosing this dependency will mess up your data especially when Blizzard makes a patch update with new commanders).
There is no need to consolidate mods or add additional mods in between. You only have to select the Allied Commanders mod by Blizzard and you have all the latest data including Mengsk and Stetmann commanders. As to why your spawn starting units did not work, perhaps you did not create for example - Terran Mengsk melee starting units action and link it with your initialization trigger. I will give you a sample of my old Faction wars project and perhaps, you can get the idea on how to set up the triggers if it is becoming an issue to you.
At the mean time, I have just completed my Faction Wars mod entitled Faction Wars COOP Melee PvP and available only in the Americas region, whereby in the said project, I have turned each commander into sub-races or factions with additional campaign units and abilities for each faction. Do take a look if you are interested and let me know your opinion about the said mod.
I just double-checked and the Allied Commanders dependency behaves exactly like the Co-op Maps dependency. It calls Stetmann and Mengsk with an #include file and although their stuff is loaded, it does not appear in the editor. I'm pretty sure Allied commanders is just an empty mod that calls the other 3 mods.
Your faction wars mod comes from a time before they stupidly split the co-op stuff into 3 mods and called 2 of them with an #include file instead of having it load so that you can look at it in the editor.
I'll take a look at the melee pvp one. Edit: Checked it out and it also stops short of Stetmann and Mengsk, which is where the problem is. I like your commander selection method though.
My next stab at it will be to load up the 3 co-op mods (starcoop, Commander Stetmann, and Commander Mengsk), rename them, and have them chain off each other in a sane way. I just procrastinate because I don't know how to open starcoop directly, so I have to reconstruct it from CascView. I am probably reconstructing it wrong and that is probably why my previous attempt failed.
If you know how to open starcoop, which they call "Co-op mission dependency", that would help immensely. It's like the voidmulti, voidcampaign, etc. mods in that it doesn't appear in the "open" dialog window in the editor that I can see. (so if you know how to get, for example, voidmulti, open in the editor, the same method should work for starcoop)
I should add that I can think of one way to open starcoop - to find it in the bnet cache. However there are 200 s2ma files in the bnet cache and I don't want to check each one.
Pretty sure it is in the Allied Commanders mod by Blizzard, but however, I think that all Stetmann and Mengsk data have been set to Blizzard only, which means we can't open it and that it won't show up in our editor.
As for Starcoop, it has been set to a standard dependency (before Stetmann), which means there will not be further updates for that dependency by Blizzard and that implies that it is short of Stetmann and Mengsk too.
I think Blizzard is putting a brake on all the coop mods that exist, probably because there are lesser people playing coop and that there might be competition in that there are other coop mod alternatives.
So I think maybe the starcoop mod is obfuscated or something, and I doubt I'll put in the time to figure out how to make a fixed version of it, but I thought of a possible solution:
Starcoop uses a file that #includes Stetmann and Mengsk. If anyone knows how to un-include them, then I can make a mod that depends on all 3 in a sane chain and removes the #includes. That would duplicate the co-op functionality and also have Stetmann and Mengsk show up in the editor.
So if anyone knows how to make a mod that removes the #includes for Stetmann and Mengsk, let me know because I think that will solve it.