Special Aircraft Service
The SAS Factory - Tech Help, Ancient Mods etc. => Tech Help : Making Mods => Tech Help (other than BAT or IL-2 Great Battles) => Modder's Tutorials => Topic started by: Cycle on January 05, 2012, 08:16:05 AM
-
Hi,
Perhaps interesting for ship builders:
Some types of ships can be used in DCG to transport ground forces or oil!
These are in IL-2 the following standard ships:
Tramp columns, armor
Tral columns, armor
MFP columns
DaihatsuLC columns
LVT_2 columns
LCVP columns
LVT_2WAT columns
Tanker Oil supply
DCG use the name of the ship, that is displayed in the "chief.ini"! The generator looks then for the ID within the whole name of the ship.
If you name a new ship for example: HMSLibertyTramp44, DCG will see the "Tramp" and assume it's a transport. Same is with the other IDs!
So if you want, that a new oil tanker works in DCG to supply oil for the troops, than use the ID "Tanker" in the name of the new ship!
The same here:
CV Fleet Carrier
CVE Escort Carrier/Light Carrier
BB Battleship/Super Battleship
CA Cruiser/Light Cruiser
DD Destroyer/Destroyer Escort or similar
Important is, that the ID is included in the name:
Example for a light cruiser: IJNCLJintsuCA
Example for a Destroyer Escort: USSEvartsDDE
The IDs for all these ships are also important, that DCG can recognizes the new ship in the right category, to end a campaign (endcampaign.dcg) and to spawn the ship without problems during the campaign!
Thanks for your support!
-
Hi,
I'm new to modding, and perhaps someone could hint me in the right direction.
As Lonestar wrote, DCG identifies naval and ground unit types by IDs in the name like "Tramp" and "CV".
Now the problem is that many new HSFX units don't follow this old naming convention. The Bismarck doesn't have a "BB" in its name, the HMSEagle doesn't have the "CV" tag, etc, etc.
To ask Paul to hard-code dozens of such exceptions is a no-go IMHO.
An alternative would be to create a small DCG mod for HSFX with DCG-compliant unit names. I have something like this in mind:
Bismarck -> BismarckBB
HMSEagle -> HMSEagleCV
Carrier1 -> Carrier1CVL.
Is it possible? Which files should I fiddle with? Ships.ini and Technics.properties?
Thanks
-
This requires a change to the class files.
Not a big job to do but unfortunately would result in an incompatibility with previously made missions and campaigns which use these ships. --- unless the old version of the ship class was also retained.
-
Now the problem is that many new HSFX units don't follow this old naming convention. The Bismarck doesn't have a "BB" in its name, the HMSEagle doesn't have the "CV" tag, etc, etc.
Oh, really :( . . . then I think DCG will handle all those ships like DDs! So when one of the bigger ships are sunk then you must manually "sunk" these ships also in the"Ground Objects Editor" of DCG before the next mission will be created!
-
This requires a change to the class files.
Not a big job to do but unfortunately would result in an incompatibility with previously made missions and campaigns which use these ships.
Yep, this cannot be avoided, so far as I can judge. But if the modification were made in the form of a small mod, it would be the user's responsibility to activate it before, and deactivate it after using DCG as a campaign generator. In the long run, a better solution would be if HSFX ship designations themselves were adjusted to the old naming convention with the next version, but this also would result in incompatibility with previously created mission stuff.*
BTW, which class files do you mean? As I mentioned, I'm new to modding. Thanks
(* Still, it wouldn't be that difficult to make a small utility converting all occurencies of HMSEagle and the likes to HMSEagleCV and the likes in all previously created .mis files.)
-
Now the problem is that many new HSFX units don't follow this old naming convention. The Bismarck doesn't have a "BB" in its name, the HMSEagle doesn't have the "CV" tag, etc, etc.
Oh, really :( . . . then I think DCG will handle all those ships like DDs! So when one of the bigger ships are sunk then you must manually "sunk" these ships also in the"Ground Objects Editor" of DCG before the next mission will be created!
This is the lesser part of the problem (I mostly use the "ships remain sunk" option). But many new units (predominantly transports and carriers) won't be identified AS SUCH by DCG. Pretended destroyers don't carry supply and troops, and no planes can be stationed aboard of them. That is, they are useless.
-
Here is the complete ship list from the HSFX7 chief.ini
Seems that there are many more than the ones that you listed that would need to be changed.
This would include a number of stock ships, Tirpitz for one.
Perhaps it would be more effective to amend DCG to accept a user editable list of ships and designations.
That way we would not be creating more incompatibilities with previous missions.
G5 ships.Ship$G5 1 icons/shipDestroyer.mat
MO4 ships.Ship$MO4 1 icons/shipDestroyer.mat
BBK_1942 ships.Ship$BBK_1942 1 icons/shipDestroyer.mat
BBK1124_1943 ships.Ship$BBK1124_1943 1 icons/shipDestroyer.mat // FIXME: use specific icon
Destroyer_USSR_Type7 ships.Ship$Destroyer_USSR_Type7 1 icons/shipDestroyer.mat
Destroyer_USSR_Type7_44 ships.Ship$Destroyer_USSR_Type7_44 1 icons/shipDestroyer.mat
Aurora ships.Ship$Aurora 1 icons/shipDestroyer.mat
Marat ships.Ship$Marat 1 icons/shipDestroyer.mat
Sevastopol ships.Ship$Marat 1 icons/shipDestroyer.mat
Kirov ships.Ship$Kirov 1 icons/shipDestroyer.mat
Tashkent ships.Ship$Tashkent 1 icons/shipDestroyer.mat
Tral ships.Ship$Tral 1 icons/shipDestroyer.mat
Tramp ships.Ship$Tramp 1 icons/shipDestroyer.mat
Tanker ships.Ship$Tanker 1 icons/shipDestroyer.mat
Norw_Ship_Stord ships.Ship$Norw_Ship_Stord 1 icons/shipDestroyer.mat
Shuka ships.Ship$Shuka 1 icons/shipDestroyer.mat
ShukaP ships.Ship$ShukaP 1 icons/shipDestroyer.mat
IceBreaker_1 ships.Ship$Icebreaker_1 1 icons/shipDestroyer.mat
USSLexingtonCV2 ships.Ship$USSLexingtonCV2 1 icons/shipDestroyer.mat
USSLexingtonCV2_42 ships.Ship$USSLexingtonCV2_42 1 icons/shipDestroyer.mat
USSSaratogaCV3 ships.Ship$USSSaratogaCV3 1 icons/shipDestroyer.mat
USSYorktownCV5_42 ships.Ship$USSYorktownCV5_42 1 icons/shipDestroyer.mat
USSEnterpriseCV6_42 ships.Ship$USSEnterpriseCV6_42 1 icons/shipDestroyer.mat
USSEssexCV9 ships.Ship$USSEssexCV9 1 icons/shipDestroyer.mat
USSBoxerCV21_51 ships.Ship$USSBoxerCV21_51 1 icons/shipDestroyer.mat
USSIntrepidCV11 ships.Ship$USSIntrepidCV11 1 icons/shipDestroyer.mat
USSCVGeneric ships.Ship$USSCVGeneric 1 icons/shipDestroyer.mat
USSBelleauWoodCVL24 ships.Ship$USSBelleauWoodCVL24 1 icons/shipDestroyer.mat
USSPrincetonCVL23 ships.Ship$USSPrincetonCVL23 1 icons/shipDestroyer.mat
USSSanJacintoCVL30 ships.Ship$USSSanJacintoCVL30 1 icons/shipDestroyer.mat
USSCasablancaCVE55 ships.Ship$USSCasablancaCVE55 1 icons/shipDestroyer.mat
USSKitkunBayCVE71 ships.Ship$USSKitkunBayCVE71 1 icons/shipDestroyer.mat
USSShamrockBayCVE84 ships.Ship$USSShamrockBayCVE84 1 icons/shipDestroyer.mat
USSBBGeneric ships.Ship$USSBBGeneric 1 icons/shipDestroyer.mat
USSIowaBB61 ships.Ship$USSIowaBB61 1 icons/shipDestroyer.mat
USSTennesseeBB43_41 ships.Ship$USSTennesseeBB43_41 1 icons/shipDestroyer.mat
USSColoradoBB45_41 ships.Ship$USSColoradoBB45_41 1 icons/shipDestroyer.mat
USSIndianapolisCA35 ships.Ship$USSIndianapolisCA35 1 icons/shipDestroyer.mat
USSGreenlingSS213_Srf ships.Ship$USSGreenlingSS213_Srf 1 icons/shipDestroyer.mat
USSGreenlingSS213_Sub ships.Ship$USSGreenlingSS213_Sub 1 icons/shipDestroyer.mat
USSGatoSS212_Srf ships.Ship$USSGatoSS212_Srf 1 icons/shipDestroyer.mat
USSGatoSS212_Sub ships.Ship$USSGatoSS212_Sub 1 icons/shipDestroyer.mat
USSWardDD139 ships.Ship$USSWardDD139 1 icons/shipDestroyer.mat
USSDentDD116 ships.Ship$USSDentDD116 1 icons/shipDestroyer.mat
USSFletcherDD445 ships.Ship$USSFletcherDD445 1 icons/shipDestroyer.mat
USSOBannonDD450 ships.Ship$USSOBannonDD450 1 icons/shipDestroyer.mat
USSKiddDD661 ships.Ship$USSKiddDD661 1 icons/shipDestroyer.mat
LVT_2WAT ships.Ship$LVT_2WAT 1 icons/shipDestroyer.mat
DUKW_WAT ships.Ship$DUKW_WAT 1 icons/shipDestroyer.mat
LCVP ships.Ship$LCVP 1 icons/shipDestroyer.mat
Destroyer0 ships.Ship$Destroyer0 1 icons/shipDestroyer.mat
Destroyer1 ships.Ship$Destroyer1 1 icons/shipDestroyer.mat
USSMcKean ships.Ship$USSMcKean 1 icons/shipDestroyer.mat
DestroyerDmg ships.Ship$DestroyerDmg 1 icons/shipDestroyer.mat
MAS501UNE ships.Ship$MAS501UNE 1 icons/shipDestroyer.mat
MAS501UNP ships.Ship$MAS501UNP 1 icons/shipDestroyer.mat
HospitalShip2 ships.Ship$Hospital_2 1 icons/shipDestroyer.mat
LCM_1 ships.Ship$LCM_1 1 icons/shipDestroyer.mat
LCM_2 ships.Ship$LCM_2 1 icons/shipDestroyer.mat
LCM_3 ships.Ship$LCM_3 1 icons/shipDestroyer.mat
LCVP_1 ships.Ship$LCVP_1 1 icons/shipDestroyer.mat
LCVP_2 ships.Ship$LCVP_2 1 icons/shipDestroyer.mat
LSD_1 ships.Ship$LSD_1 1 icons/shipDestroyer.mat
LST_1 ships.Ship$LST_1 1 icons/shipDestroyer.mat
LST_3 ships.Ship$LST_3 1 icons/shipDestroyer.mat
HMSIllustriousCV ships.Ship$HMSIllustriousCV 1 icons/shipDestroyer.mat
HMSFormidableCV ships.Ship$HMSFormidableCV 1 icons/shipDestroyer.mat
HMSIndomitableCV ships.Ship$HMSIndomitableCV 1 icons/shipDestroyer.mat
HMSEagle ships.Ship$HMSEagle 1 icons/shipDestroyer.mat
Carrier1 ships.Ship$Carrier1 1 icons/shipDestroyer.mat
HMSPoWBB ships.Ship$HMSPoWBB 1 icons/shipDestroyer.mat
HMSKingGeorgeVBB ships.Ship$HMSKingGeorgeVBB 1 icons/shipDestroyer.mat
HMSDukeOfYorkBB ships.Ship$HMSDukeOfYorkBB 1 icons/shipDestroyer.mat
HMSWarspite ships.Ship$HMSWarspite 1 icons/shipDestroyer.mat
HMSFiji ships.Ship$HMSFiji 1 icons/shipDestroyer.mat
HMSTribal ships.Ship$HMSTribal 1 icons/shipDestroyer.mat
HMSCossack ships.Ship$HMSCossack 1 icons/shipDestroyer.mat
HMSNubian ships.Ship$HMSNubian 1 icons/shipDestroyer.mat
DestroyerRN ships.Ship$DestroyerRN 1 icons/shipDestroyer.mat
HMSJavelin ships.Ship$HMSJavelin 1 icons/shipDestroyer.mat
HMASNapier ships.Ship$HMASNapier 1 icons/shipDestroyer.mat
HMSFlowerCorvette ships.Ship$HMSFlowerCorvette 1 icons/shipDestroyer.mat
MAS501RN ships.Ship$MAS501RN 1 icons/shipDestroyer.mat
Bismarck ships.Ship$Bismarck 2 icons/shipDestroyer.mat
Tirpitz ships.Ship$Tirpitz 2 icons/shipDestroyer.mat
Carrier0 ships.Ship$Carrier0 2 icons/shipDestroyer.mat
S80 ships.Ship$S80 2 icons/shipDestroyer.mat
MFP ships.Ship$MFP 2 icons/shipDestroyer.mat
MFP2 ships.Ship$MFP2 2 icons/shipDestroyer.mat
Murgesku ships.Ship$Murgesku 2 icons/shipDestroyer.mat
MBoat ships.Ship$MBoat 2 icons/shipDestroyer.mat
Niobe ships.Ship$Niobe 2 icons/shipDestroyer.mat
NiobeWithBeacon ships.Ship$NiobeWithBeacon 2 icons/shipDestroyer.mat
Illmarinen ships.Ship$Illmarinen 2 icons/shipDestroyer.mat
Vainamoinen ships.Ship$Vainamoinen 2 icons/shipDestroyer.mat
DestroyerKM ships.Ship$DestroyerKM 2 icons/shipDestroyer.mat
DestroyerZ88 ships.Ship$DestroyerZ88 2 icons/shipDestroyer.mat
Submarine ships.Ship$Submarine 2 icons/shipDestroyer.mat
SubmarineP ships.Ship$SubmarineP 2 icons/shipDestroyer.mat
SubTypeVIIC_Srf ships.Ship$SubTypeVIIC_Srf 2 icons/shipDestroyer.mat
SubTypeVIIC_SrfWithBeacon ships.Ship$SubTypeVIIC_SrfWithBeacon 2 icons/shipDestroyer.mat
SubTypeVIIC_Sub ships.Ship$SubTypeVIIC_Sub 2 icons/shipDestroyer.mat
SubTypeVIIB_Srf ships.Ship$SubTypeVIIB_Srf 2 icons/shipDestroyer.mat
SubTypeVIIB_Sub ships.Ship$SubTypeVIIB_Sub 2 icons/shipDestroyer.mat
SubTypeIXB_Srf ships.Ship$SubTypeIXB_Srf 2 icons/shipDestroyer.mat
SubTypeIXB_Sub ships.Ship$SubTypeIXB_Sub 2 icons/shipDestroyer.mat
PAM ships.Ship$PAM 2 icons/shipDestroyer.mat
RMCaioDuilioBB ships.Ship$RMCaioDuilioBB 2 icons/shipDestroyer.mat
Italia0 ships.Ship$Italia0 2 icons/shipDestroyer.mat
Italia1 ships.Ship$Italia1 2 icons/shipDestroyer.mat
Soldati ships.Ship$Soldati 2 icons/shipDestroyer.mat
ItalGabbianoCorvette ships.Ship$ItalGabbianoCorvette 2 icons/shipDestroyer.mat
ItalTuffetoCorvetteKM ships.Ship$ItalTuffetoCorvetteKM 2 icons/shipDestroyer.mat
MAS501 ships.Ship$MAS501 2 icons/shipDestroyer.mat
MFPIT ships.Ship$MFPIT 1 icons/shipDestroyer.mat
MFPT ships.Ship$MFPT 1 icons/shipDestroyer.mat
PAM ships.Ship$PAM 2 icons/shipDestroyer.mat
IJNAkagiCV ships.Ship$IJNAkagiCV 2 icons/shipDestroyer.mat
IJNShokakuCV ships.Ship$IJNShokakuCV 2 icons/shipDestroyer.mat
IJNZuikakuCV ships.Ship$IJNZuikakuCV 2 icons/shipDestroyer.mat
IJNHiryuCV ships.Ship$IJNHiryuCV 2 icons/shipDestroyer.mat
IJNKagaCV ships.Ship$IJNKagaCV 2 icons/shipDestroyer.mat
IJNSoryuCV ships.Ship$IJNSoryuCV 2 icons/shipDestroyer.mat
IJNUnryuCV ships.Ship$IJNUnryuCV 2 icons/shipDestroyer.mat
IJNCVGeneric ships.Ship$IJNCVGeneric 2 icons/shipDestroyer.mat
IJNCVLGeneric ships.Ship$IJNCVLGeneric 2 icons/shipDestroyer.mat
IJNZuihoCVL ships.Ship$IJNZuihoCVL 2 icons/shipDestroyer.mat
IJNChitoseCVL ships.Ship$IJNChitoseCVL 2 icons/shipDestroyer.mat
IJNBBGeneric ships.Ship$IJNBBGeneric 2 icons/shipDestroyer.mat
IJNYamato ships.Ship$IJNYamato 2 icons/shipDestroyer.mat
IJNKumaCL ships.Ship$IJNKumaCL 2 icons/shipDestroyer.mat
IJNAkizukiDD42 ships.Ship$IJNAkizukiDD42 2 icons/shipDestroyer.mat
IJNAmatsukazeDD41 ships.Ship$IJNAmatsukazeDD41 2 icons/shipDestroyer.mat
IJNArashiDD41 ships.Ship$IJNArashiDD41 2 icons/shipDestroyer.mat
IJNKageroDD41 ships.Ship$IJNKageroDD41 2 icons/shipDestroyer.mat
IJNNowakiDD41 ships.Ship$IJNNowakiDD41 2 icons/shipDestroyer.mat
IJNYukikazeDD41 ships.Ship$IJNYukikazeDD41 2 icons/shipDestroyer.mat
IJNAmatsukazeDD43 ships.Ship$IJNAmatsukazeDD43 2 icons/shipDestroyer.mat
IJNAmatsukazeDD43WithBeacon ships.Ship$IJNAmatsukazeDD43WithBeacon 2 icons/shipDestroyer.mat
IJNNowakiDD43 ships.Ship$IJNNowakiDD43 2 icons/shipDestroyer.mat
IJNYukikazeDD43 ships.Ship$IJNYukikazeDD43 2 icons/shipDestroyer.mat
IJNAmatsukazeDD45 ships.Ship$IJNAmatsukazeDD45 2 icons/shipDestroyer.mat
IJNYukikazeDD45 ships.Ship$IJNYukikazeDD45 2 icons/shipDestroyer.mat
Destroyer2 ships.Ship$Destroyer2 2 icons/shipDestroyer.mat
IJNShigaEscort ships.Ship$IJNShigaEscort 2 icons/shipDestroyer.mat
IJNCDD ships.Ship$IJNCDD 2 icons/shipDestroyer.mat
I400_Sub ships.Ship$I400_Sub 2 icons/shipDestroyer.mat
I400_Srf ships.Ship$I400_Srf 2 icons/shipDestroyer.mat
MAS501JP ships.Ship$MAS501JP 2 icons/shipDestroyer.mat
IJNFishJunk ships.Ship$IJNFishJunk 2 icons/shipDestroyer.mat
IJNFishJunkA ships.Ship$IJNFishJunkA 2 icons/shipDestroyer.mat
DaihatsuLC ships.Ship$DaihatsuLC 2 icons/shipDestroyer.mat
Gunboat1 ships.Ship$Gunboat1 1 icons/shipDestroyer.mat
Gunboat2 ships.Ship$Gunboat2 2 icons/shipDestroyer.mat
PaddleSteamer ships.Ship$PaddleSteamer 1 icons/shipDestroyer.mat
Tanker0 ships.Ship$Tanker0 1 icons/shipDestroyer.mat
Tanker1 ships.Ship$Tanker1 1 icons/shipDestroyer.mat
Tanker2 ships.Ship$Tanker2 1 icons/shipDestroyer.mat
TankerDmg ships.Ship$TankerDmg 1 icons/shipDestroyer.mat
Barge0 ships.Ship$Barge0 2 icons/shipDestroyer.mat
Boat1 ships.Ship$Boat1 2 icons/shipDestroyer.mat
HospitalShip ships.Ship$HospitalShip 1 icons/shipDestroyer.mat
Transport1 ships.Ship$Transport1 1 icons/shipDestroyer.mat
Transport2 ships.Ship$Transport2 1 icons/shipDestroyer.mat
Transport3 ships.Ship$Transport3 2 icons/shipDestroyer.mat
Transport4 ships.Ship$Transport4 1 icons/shipDestroyer.mat
TransDmg ships.Ship$TransDmg 1 icons/shipDestroyer.mat
TroopTrans0 ships.Ship$TroopTrans0 1 icons/shipDestroyer.mat
TroopTrans1 ships.Ship$TroopTrans1 1 icons/shipDestroyer.mat
TroopTrans2 ships.Ship$TroopTrans2 1 icons/shipDestroyer.mat
TroopTrans3 ships.Ship$TroopTrans3 1 icons/shipDestroyer.mat
-
Seems that there are many more than the ones that you listed that would need to be changed.
Yes, what I mentioned were only a few examples. Indeed there are dozens of problematic designations.
Perhaps it would be more effective to amend DCG to accept a user editable list of ships and designations.
Yep, but all this depends on Paul who's got very limited time for DCG nowadays. I was just exploring the alternatives, less effective and more controversial for sure, but not dependent on the time and work of someone else... ;)
-
To change it using a mod would I guess involve re-doing one class files and editing chief.ini and stationary.ini
The mod would have to be based on a clean HSFX installation.
If any users had additional objects added, like ships or vehicles, then they would have to add these to the ini files themselves to keep them working.
The first step would be to edit the chief.ini file I posted above to show the names required by DCG.
Ashe
-
But many new units (predominantly transports and carriers) won't be identified AS SUCH by DCG. Pretended destroyers don't carry supply and troops, and no planes can be stationed aboard of them. That is, they are useless.
Right . . . at least the IL-2 standard transports have the right ID after asheshouse list . . . better then nothing! :(
-
Thanks Ashe and Lonestar, I'll give it a try.
I presume that stock units not conforming to the naming convention (e.g. Tirpitz or Kirov) are identified individually by DCG.
Just for the record, these are the problematic units among the main warship types (I haven't listed gunboats, submarines, transports and civilian ships):
HMSEagle HMS 'Eagle' CV*
Carrier1 HMS 'Ameer' CVL*
Carrier0 German 'Graf Zeppelin' CV*
HMSWarspite HMS 'Warspite' BB*
IJNYamato IJN Yamato BB*
Bismarck German 'Bismarck' BB*
IJNKumaCL IJN Kuma CL*
HMSFiji HMS 'Fiji' CA*
Italia0 Italian 'Zara' CA*
Italia1 Italian 'Trento' CA*
Destroyer0 USS Nicholas DD449*
Destroyer1 USS Hulbert AVP-19*
Destroyer2 IJN P102 DD*
DestroyerKM German Z class DD*
DestroyerZ87 German Z87 DD*
DestroyerZ88 German Z88 DD*
DestroyerDmg USS DD Damaged*
DestroyerRN HMS 'J'Class DD*
USSMcKean USS McKean*
HMSTribal HMS 'Tribal' DD*
HMSCossack HMS 'Cossack' DD*
HMSNubian HMS 'Nubian' DD*
HMSJavelin HMS 'Javelin' DD*
HMASNapier HMAS 'Napier' DD*
Soldati Italian 'Soldati' DD*
HMSFlowerCorvette HMS 'Flower Class' Corvette*
IJNShigaEscort IJN Shiga Escort*
ItalGabbianoCorvette Italian Gabbiano Corvette*
ItalTuffetoCorvetteKM Italian Tuffeto Corvette (KM)*
Some of them follow a pattern like "carrier", "destroyer" or "corvette", but the rest is pretty chaotic. The same applies to the other ships (not listed here): there's a "tankerX" and a "transportX" type, but the rest doesn't follow any clear pattern.