Resource icon

C3X: EXE Mod including Bug Fixes, Stack Bombard, and Much More Release 24

Would it be difficult, too, to combine Land transports only with the aircraft transport or missile transport flags (and the still existing AI routine for those units)? In my tests with normal Civ 3 this seems possible, but the problem is, so these "Land"-carriers can be a base for those units, they cannot take the aircraft or missiles with them when moving.
You mean you can rebase aircraft or missiles onto land units with the appropriate flags, but they'll be left behind if their transport moves? That sounds like something I could probably fix. Do you think the naval transport/carrier AI would work for land units if it weren't for this issue?
First, there are times when I do raze captured cities, so does this patch keep me from doing that?
The no-raze option in C3X only stops the AI from razing cities, not the human player. IMO if someone wants to break the rules in a single player game, that's fine, worst case scenario they're only ruining the game for themselves. But if people want the no-raze option to restrict the human player as well, that's something I could do. You're the second person to mention this as I recall. I didn't restrict the human player in the first place because I didn't think it was worth the trouble but it would be easier now that I am more familiar with the contents of the executable. The simplest way would be to intercept the points where the human player decides to raze a city, override their decision, and give a little popup saying "ah ah ah, that's not allowed". The less simple but nicer way would be to remove the option to raze from the UI entirely. The trouble there is that the military advisor's popup on city capture, which gives the option to raze, is contained in script.txt not the executable. So modifying it from inside the EXE would be awkward.
- Restrictions on the original engine for RAM resources. Even with 16 GB of RAM in the system unit in the late game, the speed of transmission of the course is equal to the speed of a carotid snail;
- The inability to exceed the restriction on the maximum of cities. The upper limit is 556 settlements. Exceeding the limit is fraught with CTD;
The mod makes some more RAM available to the game by setting the LAA (large address aware) bit when installing into the EXE. That allows the game to use up to about 3 GB instead of being limited to 2. More than that is not possible since the game is a 32-bit program. More RAM wouldn't help with performance anyway. I've gotten several requests now to improve performance, and it's something I've been meaning to look into, but I haven't gotten around to it yet. I doubt it's plausible to make significant improvements.

I've been keeping the city limit in the back of my mind. Removing it is something I'd like to do, and it doesn't seem impossible. Other than that 512x512 table, I haven't seen anything that would prevent removing the limit. This is unlike the 31-civ limit where I'm always finding new ways that it's baked into the code. It's safe to say the 31-civ limit will never be patched out. I'm still trying to think of an easy way to remove the city limit, either a way that doesn't require making dozens or hundreds of patches to the machine code, or at least a way that those patches can be done automatically.
 
I've been keeping the city limit in the back of my mind. Removing it is something I'd like to do, and it doesn't seem impossible. Other than that 512x512 table, I haven't seen anything that would prevent removing the limit. This is unlike the 31-civ limit where I'm always finding new ways that it's baked into the code. It's safe to say the 31-civ limit will never be patched out. I'm still trying to think of an easy way to remove the city limit, either a way that doesn't require making dozens or hundreds of patches to the machine code, or at least a way that those patches can be done automatically.
In principle, I'm ready to reconcile with the thought that more than 30 opponents in a single game cannot be played on the existing game engine. The same goes for the "ceiling" in the maximum of 3GB of RAM.
However, the restriction of 512 (556) cities seems to me in today's realities by an anachronism of 20 years ago, which can be completely eliminated. The hardware capabilities of a modern computers should easily process and calculate trading routes among hundreds of cities. Without eliminating the limit on the cities, the game on huge maps is now meaningless. If you choose a worldmap more than 250x250 tiles, then even with 31 civilization between them, huge empty uninhabited expanses can remain with existing restrictions.
In any case, thank you for your labors. Most of all, I expect a solution to the problem of restrictions on the cities, since the existing mod No_Raze_Cities in fact gives the right to build only 44-45 cities over the limit.
 
Hey Flintlock sorry if this repeat question/request. Would it possible to make all units tradable instead of it being only the first unit which by default is workers?
It's hard to say. I'd have to do more digging to find the relevant code. I analyzed parts of the trading logic while working on the gold amount autofill but I never looked at how tradeable items are listed or how trades are actually carried out. I expect that would be possible, though, and probably not too difficult.
However, the restriction of 512 (556) cities seems to me in today's realities by an anachronism of 20 years ago, which can be completely eliminated. The hardware capabilities of a modern computers should easily process and calculate trading routes among hundreds of cities.
Yeah, at this point the city limit is purely a software limit not a hardware limit. That doesn't necessarily mean it can be removed though, again the 31 civ limit is an example of a limit that's baked so deeply into so many aspects of the program that it'll never be removed without recompiling the thing from source.

Since you mentioned it, I had another look at the parts of the code relevant to the city limit. What's interesting is that the table of city connection info is always accessed indirectly through a "trade net" object (Antal's name) that contains it. It might be possible to make more room for a larger table by moving the entire trade net object. That's partly harder than moving only the table since the trade net is referenced in more places, but it's overall easier since the trade net is referenced directly by its address unlike the table which is referenced indirectly. There are at least 282 references to the trade net object so I couldn't patch them all manually but I could have the mod scan the program to find all the references and patch them automatically. It's at least worth trying, though I'm not confident it'll work. Also removing the city limit entirely isn't possible since the stride of the table is hardcoded (to 512, naturally). I could overwrite that number to accommodate a larger table but it would still be limited to something.
 
Hello Flintlock, I tried your exe mod, and found it to work quite well, now I'm having an error when using it on another machine.

When starting a game I get the following error:
Failed to re-encode contents of "C3X_R12\default.c3x_config.ini". This file must contain UTF-8 text and only characters usable by Civ 3.

Not sure what the problem is, but I know for sure none of the settings in the default.3x.config.ini work.
 
Is it possible to add an option to display actual defence value of units, when you look at a stack through context menu? For example, if an Infantry unit is set in megapolis, its defence value it stats in context menu will be shown as 6.20.1 instead of 6.10.1. Thank you very much for your effort!
 
Does an identical file work on the other machine?
I'm assuming you were talking to me, yes the exact same file works on another machine. The game for both machines is from gog, the only difference is the machine which had the error has an older operating system (Windows 8.1).
 
Hello Flintlock, I tried your exe mod, and found it to work quite well, now I'm having an error when using it on another machine.
Hello. Unfortunately R12 contains a bug in the procedure to re-encode the config file. It uses a Windows function (MultiByteToWideChar) incorrectly, passing a flag that function is not supposed to accept. It works anyway on my machine running Windows 10, which is why I didn't catch this earlier, but will error out on some other Windows versions. I've received another report about this, also on Windows 8.1. This will be fixed in R13. In the mean time you can apply the fix to R12 by replacing its file "common.c" with the version in the attached ZIP then reinstalling the mod.
Is it possible to add an option to display actual defence value of units, when you look at a stack through context menu? For example, if an Infantry unit is set in megapolis, its defence value it stats in context menu will be shown as 6.20.1 instead of 6.10.1. Thank you very much for your effort!
It's surely possible but might be awkward. How easy it is depends on whether or not there's a spot in the menu assembling code where I could conveniently edit just that defense value. If there's not, I'd have to edit the text entry for each unit after it's finished, which is doable but makes this much harder than it ought to be. Another awkward thing is that it wouldn't look nice to display fractional defense values with decimals since periods are already used to separate attack, defense, and movement.
 

Attachments

Hello. Unfortunately R12 contains a bug in the procedure to re-encode the config file. It uses a Windows function (MultiByteToWideChar) incorrectly, passing a flag that function is not supposed to accept. It works anyway on my machine running Windows 10, which is why I didn't catch this earlier, but will error out on some other Windows versions. I've received another report about this, also on Windows 8.1. This will be fixed in R13. In the mean time you can apply the fix to R12 by replacing its file "common.c" with the version in the attached ZIP then reinstalling the mod.

It's surely possible but might be awkward. How easy it is depends on whether or not there's a spot in the menu assembling code where I could conveniently edit just that defense value. If there's not, I'd have to edit the text entry for each unit after it's finished, which is doable but makes this much harder than it ought to be. Another awkward thing is that it wouldn't look nice to display fractional defense values with decimals since periods are already used to separate attack, defense, and movement.
Absolutely Brilliant! Thank you so much for this!
 
You mean you can rebase aircraft or missiles onto land units with the appropriate flags, but they'll be left behind if their transport moves? That sounds like something I could probably fix. Do you think the naval transport/carrier AI would work for land units if it weren't for this issue?
I cannot say if this is working for the AI, but at least it is working for the human player.
 
Since you mentioned it, I had another look at the parts of the code relevant to the city limit. What's interesting is that the table of city connection info is always accessed indirectly through a "trade net" object (Antal's name) that contains it. It might be possible to make more room for a larger table by moving the entire trade net object. That's partly harder than moving only the table since the trade net is referenced in more places, but it's overall easier since the trade net is referenced directly by its address unlike the table which is referenced indirectly. There are at least 282 references to the trade net object so I couldn't patch them all manually but I could have the mod scan the program to find all the references and patch them automatically. It's at least worth trying, though I'm not confident it'll work. Also removing the city limit entirely isn't possible since the stride of the table is hardcoded (to 512, naturally). I could overwrite that number to accommodate a larger table but it would still be limited to something.
Therefore, I wondered: is it possible to at least double this value? For example, from 512 to 1024 points.
I usually play on maps of 250x250 or 300x300 tiles. The maximum worldmap size is 360x360 tiles. In the first version (250x250) with 31 civilization, almost all of the land space can be populated. But if the size of the map is 300x300 tiles and above, then after the limit is exhausted on the map, almost a third of the continents area remains, where there are no cities except barbarian camps. In Ancient eras, this still looks logical, but if you finish it to the Modern times/Future, it looks at least strange. In addition, the circumstance is annoying when you need to fight with someone, and your armored vehicle columns are forced to go through the half-empty open spaces of the mainland for a long time and tedious.
 
In addition, the circumstance is annoying when you need to fight with someone, and your armored vehicle columns are forced to go through the half-empty open spaces of the mainland for a long time and tedious.
With Railroads this should not take long. But, yeah if one dares to play such super huge maps the limit would be quite annoying. For me personally of course standard size 100x100 is more than enough.
 
With Railroads this should not take long. But, yeah if one dares to play such super huge maps the limit would be quite annoying. For me personally of course standard size 100x100 is more than enough.
Firstly, in this patch, traffic on railroads was limited to the game. From now on it isn't endless. Secondly, an alternative option with a web of airports is also far from ideal. The fact is that the excess of the limit of cities leads to the brakes of the game at the moment. And the slowdown of the game is connected just with the trade routes, including airlines. Therefore, the more airports, the easier it is to transfer the military units, but the longer and more slowly the turns between civilizations are being transmitted. That is why a patch capable of deleting the limit on 512 (556) cities is so important. Well, thirdly: a game on tiny maps, perhaps convenient for playing on the network. In fact, no one will play through the Internet or home network for weeks and months long. But if you play a single game, then huge maps are preferable, since they have where to turn around your "ambitions" or your AI opponents.
 
Personally, given even "short" year-long turns, I've never had any issue with the Trans-Siberian RR moving an "infinite" distance - but, again, that's personal.

Insofar as the oh-so-gruesome lags in turn time while the AI calculates every possible (and impossible) trade route, IMHO @Civinator solves this elegantly and (again to my taste) perfectly, in CCM, by setting Palaces with the "Air Trade" ability.
 
Ok I've got a weird bug with the new Buildings Prereqs for Units:

It seems to work only occasionally with some units and not others.

Below is a city without the resource "Medium Armor" that enables "Medium Armor Factory" which is required to build a "TM - Panzer IVC". And yet, it's still buildable. :confused:
1662041662314.png

1662041790842.png

No errors or anything when starting the scenario.
This is not an isolated incident either. Another example, this coastal city should not be able to build any naval units except for "(GB) Gunboat" because it lacks a Shipyard, and yet...

1662042003337.png

Something funky is going on here and it's driving me bananas. Attached is the config file.

Any help would be mightily appreciated!


edit: Further testing: I changed the list from
Spoiler :

Code:
"Heavy Weapons Factory": "ARTM - 15cm sFH 18" "ARTH - 17cm Kanone 18" "ARTH - 21cm Mörser 18" "SPART - Wespe" "SPART - Hummel" "AAH - Flak 88" "ATL - PaK 36" "ATM - PaK 38" "ATM - PaK 40 75mm" "ATH - Pak 43 88mm" "ATH - PaK 44 12.8 cm" "ARTRR - Schwerer Gustav" "ARTRR - Krupp K5" "ARTM - D-1 152mm" "ARTH - B-4 203mm Berlin Buster" "SPART - SU-5-2" "SPART - SU-26" "SPAAH - Yag-10 AA" "ATL - 45mm 53-K" "ATM - ZiS-2 57mm" "ATM - ZiS-3 76mm" "ATM - D-44 85mm" "ATH - M1931/37 122mm" "ATH - BS-3 100mm" "ARTM - Canon de 155mm GPF" "ARTM - Canon de 155 C m.1917" "SPART - Lorraine 39L AM" "SPART - AMX 105 AM mle. 47" "SPARTH - Canon de 194 mle GPF" "ARTM - QF 25-pounder" "ARTM - BL 5.5in" "SPART - 25pdr SP Sexton" "AAH - QF 3.7-inch" "ATL - QF 6-pounder" "ATM - QF 17-pounder" "ARTM - M1 155mm Howitzer" "ARTM - 155mm C. M1918" "ARTM - M1 155mm Long Tom" "ARTH - M1 240mm Black Dragon" "ARTH - 8 inch Howitzer M1" "SPART - M12 GMC 155mm" "SPART - M37 HMC 105mm" "SPART - M7 Priest" "AAH - M2 90mm" "ATL - M1A3 57mm" "ATM - 3 inch M5" "ATH - 105mm T8" "ARTL/AT - Cannone da 47/32 M35" "ARTL/AT - Cannone da 75/32 M37" "ARTM - Obice da 100/17" "ARTH - Obice da 210/22 M35" "SPART - 100/17 su Lancia 3RO" "AAH - Cannone da 90/53" "ATM - Medium Anti-Tank Gun" "ARTH - Heavy Artillery" "ATH - Heavy Anti-Tank" "CAB - Kampfgruppe" "CAB - Combined Arms Brigade" "CAB - Battlegroup" "CAB - Task Force" "ATL - PaK 36 (Spain)" "ATM - PaK 38 (Italy)" "ATM - PaK 38 (Romania)" "ATM - PaK 38 (Finland)" "ARTM - D-1 152mm " "ATL - 45mm 53-K (Spain)" "ATL - QF 6-pounder (France)" "ATL - QF 6-pounder (Denmark)" "ATL - QF 6-pounder (Dutch)" "ATL - QF 6-pounder (Canada)" "ATL - QF 6-pounder (Ireland)" "ATM - QF 17-pounder (Canada)" "ARTH - BL 9.2in Howitzer",
 "Aircraft Factory": "(F) Bf 109F-2" "(F) Bf 109G-6" "(F) Bf 109K-4" "(CAS) Ju 87B-2" "(BL) Hs 129" "(F) Fw 190A-1" "(F) Fw 190A-2" "(FB) Fw 190A-5" "(F) Fw 190A-8" "(BM) Do 217" "(BM) He 111" "(BL) Do 17" "(BH) Fw 200 Condor" "(FH) Me 410" "(BTP) He 115" "(FREC) He 46" "(HELI) Fw 500 Kugelblitz" "(TRH) Me 323 Gigant" "(TR) Ju 52" "(F) I-16" "(F) Yak-9" "(F) Yak-3" "(CAS) Il-2" "(BM) Tu-2" "(BM) B-25 (Soviet Union)" "(BM) Pe-2" "(BL) DB-3F" "(BH) Pe-8" "(FREC) Nieuport 17" "(F) Dewoitine D.510" "(F) Morane-Saulnier M.S.406" "(F) Arsenal VG-39" "(F) Bloch MB. 157" "(CAS) Vultee A-31 Vengeance" "(FB) P-47 Thunderbolt FAF" "(BL) Bloch MB.210" "(BL) DB-7 Boston FAF" "(BM) B-25 Mitchell FAF" "(BH) Bloch MB. 162" "(F) Spitfire I" "(F) Spitfire II" "(F) Spitfire III" "(FB) Hurricane" "(CAS) DH.98 Mosquito" "(BL) Fairey Battle" "(BM) A.W.38 Whitley" "(BM) B-25 Mitchell RAF" "(BH) Avro Lincoln" "(BH) Avro Lancaster" "(BTP) Fairey Swordfish" "(F) P-36 Hawk" "(F) P-51 Mustang" "(F) F8F Bearcat" "(CAS) SBD Dauntless" "(FB) P-40 Warhawk" "(BL) A-20 Havoc" "(BM) B-25 Mitchell" "(BM) B-26 Marauder" "(BH) B-17 Flying Fortress" "(BH) B-29 Superfortress" "(BH) B-50 Superfortress" "(FH) P-38 Lightning" "(BTP) TBM Avenger" "(BH) XB-35 Flying Wing" "(HELI) Sikorsky R-4 Hoverfly" "(F) SAI. 207" "(F) Cr. 20" "(F) SAI. 403 Dardo " "(F) G.55" "(CAS) Ju-87B-2 (Italy)" "(FB) Sm. 91" "(BL) Ca. 111" "(BM) Br. 20 bis" "(FREC) Ro. 37" "(F) PZL P.11c" "(F) PZL.55" "(CAS) PZL.43 Chaika" "(BL) PZL.23 Karas" "(BM) PZL.37 Los" "(TRH) PZL.44 Wicher" "(F) Bf 109 (Finland)" "(F) Mörkö-Morane" "(CAS) Ju 88 (Finland)" "(BL) Do 17 (Finland)" "(F) Fokker. D.VII" "(TR) C-47 Skytrain" "(TR) C-47 Dakota" "(F) Bf 109 (Spain)" "(CAS) Ju 88 (Spain)" "(BL) He 50" "(BL) He 45" "(F) He 112" "(BL) Breguet 19" "(BL) Tupolev SB" "(BL) Polikarpov R-5" "(FB) Potez 25" "(FB) Ikarus Orkan" "(CAS) Ju 88" "(AIR) Hindenburg-class Zeppelin" "(F) IAR 15" "(F) IAR 80" "(BM) SM.79 Sparviero" "(BL) Bristol Blenheim" "(F) Light Fighter" "(BL) Light Bomber",
 "Automotive Factory": "PM - Opel Blitz" "PM - Kubelwagon" "PM - GAZ-61" "PM - Universal Carrier" "PM - Jeep" "PM - Panhard Truck" "PM - Lancia" "PM - ZIS-5" "PM - Bedford QL" "PM - GMC CCKW 'Jimmy'" "PM - Export Truck" "PM - Universal Carrier (Greece)" "SPAA - ZiS-12 AA" "SPAA - Flakpanzer 38(t)" "SPAA - Flakpanzer IV Wirbelwind" "SPAA - Flakpanzer Kugelblitz" "SPARTR - BM-13 Katyusha" "SPARTR - Wurfrahmen 40" "SPARTR - Panzerwerfer 42" "SPAA - ZiS-42 AA" "SPAA - ZSU-37 AA" "SPAA - Bedford AA Truck" "SPAA - Crusader III AA" "SPAA - M16" "SPAA - 75/37 Ceirano 50 CMA" "SPAA - M15 Contraereo" "SPAA - Breda 20/65 SPA 35" "SPAA - Fiat 621 z CKM" "SPAA - L-62",
 "Jet Aircraft Factory": "(JFB) Fw Ta 183 Huckebein" "(JBM) Go 229" "(JBH) Ho 18 Amerikabomber" "(JFB) Me 262" "(JFB) de Havilland Vampire" "(JFB) Gloster Meteor" "(JFB) P-80 Shooting Star" "(JFB) F-84 Thunderjet" "(JFB) F-86 Sabre" "(JBH) B-45 Tornado" "(JF) Ca. 183 bis" "(JF) Fw Ta 283" "(VTOL) Fw Triebflügel" "(JFB) MiG-19",
 "Light Armor Factory": "TL - Panzer IIC" "TL - Panzer 38(t) A" "TL - BT-7" "TL - T-60" "TL - R 35" "TL - Mk VI" "TL - Matilda I" "TL - Mk VII Tetrarch" "TL - M3A1 Stuart" "TL - M5A1 Stuart" "TL - L3/33" "TL - L3/33 CC" "TL - L3/35" "TL - L6/40" "TL - M11-39" "TL - 7TP" "TL - 10TP" "TL - R 35 (Poland)" "TL - TKS" "TL - TK-3" "TL - Vickers 6-Ton" "TL - BT-7 (Finland)" "TL - T-26 (Finland)" "TL - L-60 m/39" "TL - L-60 m/40" "TL - R 40" "TL - BT-5 (Spain)" "TL - T-26 (Spain)" "TL - AMR 35" "TL - Panzer 38(t) A (Sweden)" "TL - R 35 (Turkey)" "TL - R 35 (Romania)" "TL - R 35 (Yugoslavia)" "TL - Vickers 6-ton (Turkey)" "TL - T-38" "TL - Panzer IIC (Spain)" "TL - T-26 (Turkey)" "TL - Mk VI (Greece)" "TM - T-28E" "TM - M22 Locust" "TH - FCM F1",
 "Medium Armor Factory": "TM - Panzer IIIJ" "TM - Panzer IIIM" "TM - Panzer IVC" "TM - Panzer IVG" "TM - Panzer IVJ" "TM - E50" "TM - T-34" "TM - T-34-85" "TM - T-44" "TM - Char B1 bis" "TM - SOMUA S-35" "TM - Char D2" "TM - AMX 40" "TM - Churchill" "TM - Cromwell" "TM - Crusader" "TM - Sherman Firefly" "TM - Matilda II" "TM - Valentine" "TM - M3 Lee" "TM - M4A1 Sherman" "TM - M4A3E2 Sherman Jumbo" "TM - M24 Chaffee" "TM - P 26/40" "TM - M15/42" "TM - M13/40" "TM - M14/41" "TM - Panzer IV (Finland)" "TM - L-60 m/41" "TM - L-60 m/42" "TM - 40M Turan" "TM - 41M Turan" "TM - 43M Turan" "TM - Panzer IIIF" "TM - Panzer IIIF (Spain)" "TM - Sherman DD" "TM - Sherman 'Calliope'" "TM - T-4" "TM - T-3" "TM - M3 Lee (USSR)" "TM - T-34 (Spain)" "TM - Matilda II (Greece)" "TMBT - Centurion" "TMBT - IS-10" "TMBT - M26 Pershing",
 "Heavy Armor Factory": "TH - Panther G" "TH - Tiger IE" "TSH - Tiger IIH" "TH - E75" "TSH - E100" "TSH - Maus" "TH - KV-1" "TH - IS-2" "TH - IS-3" "TH - KV-2" "TH - ARL 44" "TSH - AMX M4 mle. 45" "TH - T14" "TSH - T29" "TH - P30-43" "TH - P 35/43 bis" "TH - Panther D" "TH - Leo",
 "Tank Destroyer Factory": "TD - E25" "TD - Marder III" "TD - StuG IV" "TDH - Ferdinand" "TD - Hetzer" "TDH - Jagdpanzer IV" "TDSH - Jagdpanther" "TDSH - Jagdtiger" "TD - SU-85" "TD - SU-100" "TD - ZiS-30" "TD - ISU-152" "TD - Laffly W-15 TCC" "TD - SOMUA SAu 40" "TDH - AMX AC mle. 46" "TDH - AMX 50 Foch" "TD - Archer" "TD - M3 75mm GMC" "TD - M10 Wolverine" "TD - M18 Hellcat" "TDH - M36 Jackson" "TD - 90/53 su Lancia 3RO" "TD - Breda 501" "TD - Semovente da 75/46" "TD - Semovente da 90/53" "TD - Semovente da 105/25" "TD - 44M Zrinyi I" "TD - Maresal" "TD - TACAM R-2",
 "Assault Gun Factory": "AG - StuG IIID" "AG - StuG IIIG" "AG - Brummbär" "AG - BT-7A" "AG - SU-122" "AG - SU-152" "AG - SU-76" "AG - ARL 40" "AG - Bishop SPG" "AG - M8 Scott" "AG - Semovente da 75/18" "AG - Semovente da 75/34" "AG - StuG III (Finland)" "AG - Sav m43" "AG - 40/43M Zrinyi II" "AGH - Tortoise" "AG - TA",
 "Shipyard": "(TS) Transport Liner" "(DD) Modern Destroyer" "(SS) Type VII U-boat" "(SS) Type IX U-boat" "(SS) Type XXI U-boat" "(DD) Zerstörer 1936A" "(TB) Type 39 'Elbing'" "(TB) Type 23 'Raubvogel'" "(DD) Zerstörer 1944" "(CL) Emden class" "(CL) Königsberg class" "(CL) Leipzig class" "(CL) M class" "(CA) Deutschland class" "(CA) Admiral Hipper class" "(CA) P class" "(CV) Graf Zeppelin class" "(BC) O class" "(BB) Scharnhorst class" "(BB) Bismark class" "(SS) S class 'Stalinets'" "(SS) L class 'Leninets'" "(SS) Project 613 'Whiskey'" "(CSS) M class 'Malyutka'" "(SS) K class" "(DD) Kiev class" "(DD) Tashkent class" "(DD) Leningrad class" "(DD) Novik class" "(DD) Ognevoy class" "(DD) Storozhevoy class" "(DD) Gnevny class" "(CL) Kirov class" "(CL) Admiral Nakhimov class" "(CL) Svetlana class" "(CA) Chapayev class" "(CV) Komsomolets class" "(BC) Kronshtadt class" "(BB) Sovetsky Soyuz class" "(BB) Gangut class" "(DD) Le Hardi class" "(DD) Bourrasque class" "(DD) Mogador class" "(DD) Le Fantasque class" "(DD) Vauquelin class" "(DD) Guepard class" "(DD) Chacal class" "(SS) Redoubtable class" "(SS) Surcouf class" "(CL) Duguay-Trouin class" "(CL) De Grasse class" "(CL) La Galissonnière class" "(CL) Emile Bertin class" "(CA) Saint-Louis class" "(CA) Algérie class" "(CA) Duquesne class" "(CV) Arromanches class" "(CV) Joffre class" "(CV) Béarn class" "(BB) Alsace class" "(BB) Gascogne class" "(BB) Richelieu class" "(BB) Dunkerque class" "(BB) Bretagne class" "(BB) Courbet class" "(SS) U class" "(SS) V class" "(DD) Battle class" "(DD) W and Z class" "(DD) U and V class" "(DD) S and T class" "(DD) L and M class" "(DD) Tribal class" "(DD) G and H class" "(DD) E and F class" "(DD) C and D class" "(K) Black Swan class" "(CL) Leander class" "(CL) Amphion class" "(CL) Arethusa class" "(CL) Town class" "(CL) Fiji class" "(CA) County class" "(CA) York class" "(CV) Courageous class" "(CV) Illustrious class" "(CV) Majestic class" "(CV) Audacious class" "(BC) Renown class" "(BC) Admiral class" "(BC) G3 class" "(BB) Queen Elizabeth class" "(BB) Revenge class" "(BB) Nelson class" "(BB) King George V class" "(BB) Lion class" "(BB) Vanguard class" "(SS) Gato class" "(SS) Balao class" "(SS) Tench class" "(DD) Fletcher class" "(DD) Benson class" "(DD) Sims class" "(DD) Farragut class" "(DD) Clemson class" "(DD) Wickes class" "(CL) Cleveland class" "(CL) Omaha class" "(CA) Baltimore class" "(CA) Northampton class" "(CA) Wichita class" "(CA) New Orleans class" "(CA) Portland class" "(CV) Lexington class" "(CV) Wasp class" "(CV) Casablanca class" "(CV) Essex class" "(CV) Independence class" "(CV) Saipan class" "(BC) Alaska class" "(BB) Montana class" "(BB) Iowa class" "(BB) South Dakota class" "(BB) North Carolina class" "(BB) Colorado class" "(BB) Tennessee class" "(BB) New Mexico class" "(BB) New York class" "(SS) Adua class" "(DD) Soldati class" "(DD) Oriani class" "(DD) Freccia class" "(DD) Navigatori class" "(TB) Spica class" "(CL) Condottieri class" "(CL) Capitani Romani" "(CA) Trento class" "(CA) Zara class" "(CV) Sparviero class" "(CV) Aquila class" "(BC) D1928 class" "(BB) Conte di Cavour class" "(BB) Andrea Doria class" "(BB) Littorio class" "(DD) Grom class" "(CDS) Sverige class" "(DD) Interwar Destroyer" "(CL) Light Cruiser" "(BB) Battleship" "(CSS) Coastal Submarine" "(BB) WWI Battleship" "(SS) Interwar Submarine" "(CA) Interwar Heavy Cruiser" "(AUX) Auxiliary Cruiser" "(BR) Blockade Runner" "(BB) Iron Duke class" "(BC) Interwar Battlecruiser" "(TS) Troop Transport" "(CL) Brooklyn class" "(CV) Interwar Carrier" "(CDS) Coastal Defense Ship" "(K) Corvette" "(TS) Liberty Ship"

to just
Spoiler :
Code:
"Medium Armor Factory": "TM - Panzer IIIJ" "TM - Panzer IIIM" "TM - Panzer IVC" "TM - Panzer IVG" "TM - Panzer IVJ" "TM - E50" "TM - T-34" "TM - T-34-85" "TM - T-44" "TM - Char B1 bis" "TM - SOMUA S-35" "TM - Char D2" "TM - AMX 40" "TM - Churchill" "TM - Cromwell" "TM - Crusader" "TM - Sherman Firefly" "TM - Matilda II" "TM - Valentine" "TM - M3 Lee" "TM - M4A1 Sherman" "TM - M4A3E2 Sherman Jumbo" "TM - M24 Chaffee" "TM - P 26/40" "TM - M15/42" "TM - M13/40" "TM - M14/41" "TM - Panzer IV (Finland)" "TM - L-60 m/41" "TM - L-60 m/42" "TM - 40M Turan" "TM - 41M Turan" "TM - 43M Turan" "TM - Panzer IIIF" "TM - Panzer IIIF (Spain)" "TM - Sherman DD" "TM - Sherman 'Calliope'" "TM - T-4" "TM - T-3" "TM - M3 Lee (USSR)" "TM - T-34 (Spain)" "TM - Matilda II (Greece)" "TMBT - Centurion" "TMBT - IS-10" "TMBT - M26 Pershing"

I thought this was working at first, but the United States can still build "TM - M3 Lee" without the medium tank factory, despite "TM - M3 Lee" being listed. I am at a loss. :cry:
 

Attachments

Last edited:
Meteor Man, do you use the encoding fix in post 948 of this thread ?
I soon will gather my first own experiences with this function and the mod CCM 2.50.

Btw.: Your scenario is looking quite impressive. :)
 
Meteor Man, do you use the encoding fix in post 948 of this thread ?
I soon will gather my first own experiences with this function and the mod CCM 2.50.

Btw.: Your scenario is looking quite impressive. :)

Thanks for the suggestion Civinator. Unfortunately, that didn't fix the problem.

Very strange as it seems to work on some of the units. The human player can't build medium armor until building the factory. It seems to only affect the AI players. Doing more testing.

And thank you for the compliment! It's been years of development.



Edit: Further testing: I reduced the list to 1 unit
building_prereqs_for_units = ["Medium Armor Factory": "TM - M3 Lee"]

Loading in as a different civ (not the US) and the US could still build the M3 Lee without a factory.
Loading in as the United States, the M3 Lee is NOT available without a factory.

So it seems the bug is affecting only AI players. I think.

Edit 2: I think I confirmed the problem is only affecting AI players.
Added two units to the list:
building_prereqs_for_units = ["Medium Armor Factory": "TM - M3 Lee" "TM - Panzer IIIJ" "TM - Matilda II"]
Loaded in as the United States: M3 Lee was not available for me, but the Panzer IIIJ and the Matilda II were available to the Germans and British, respectively, without a factory.
 
Last edited:
Only an observation: In your changed lists in post 955 the brackets are missing [...]
 
Only an observation: In your changed lists in post 955 the brackets are missing [...]
yeah, I purposefully excluded them for the post. That's not the problem either :undecide:



Testing the 'Buildings Produce Resources' feature: found that if a building produces a resource that is not yet available, that building will not put the resource into your trade network until you research the corresponding technology for that resource. Works well so far.
 
Last edited:
Back
Top Bottom