Greetings and hello fellow EAW-players. I'm coming across a real weird version of the already known Exception-Error when trying to start up EAW.
Just for clarification, this is the one I'm talking about:
Exception in thread E34 - Main Thread Exception code EXCEPTION_ACCESS_VIOLATION The thread tried to read from or write to a virtual address for which it does not have the appropriate access. Attempt to read from address 696D7539
Exception occurred at 00775FF4 - Unknown code pointer
Stack walk: 00000000 : Unknown I skip the stupid hexadecimal memory-adresses cuz they're of no use for us anyway. ;)
Now for my specific case:
I'm running my EAW on an Win XP Prof machine with a Geforce 6600 GT card and the game itself is running fine.
I'vee intalled 3 "versions" of EAW: - vanilla patched to 1.05 - improved venator mod from Dfeeds - Absolute Enhancement mod 5.1 from Mobbmann and use the SMG Mod Launcher from Petroglyph.
Now on to the exception-issue:
As some of you might know, in the gameconstants.xml there's a section called "custom" where you can define the text-files which provide the unique names for the shipclasses in EAW.
Now, I have 3 gamecontants.xmls due to using a mod folder, the vanilla one doesn't need any modification cuz all ships already have own names. The xml in improved venator needs two new entries:
Jedi_Cruiser_R, Data\Jedi_Cruiser_R.txt, Jedi_Cruiser_E, Data\Jedi_Cruiser_E.txt One for the Rebel Venator variant and one for the Imperial vessel.
No problems so far. Now the AEM 5.1 adds a lot more ships to EAW and not only the Venator but several others come in two variants, one Rebel and one Imperial one. As a SW-Nerd who has played SW: Rebellion and the Star Wars: Fleet Command 1.1 Mod for Star Trek: Armada 2 for ages and likes individual named ships I went on to create namelist for all those levels.
And there the exception-fun starts, this is the custom-section of the gamecontants.xml of the AEM 5.1-Mod:
Calamari_Cruiser, Data\Calamari_Cruiser.txt, Generic_Star_Destroyer, Data\Star_Destroyer.txt, Star_Destroyer, Data\Star_Destroyer.txt, Star_Destroyer_Tractor_Fighters, Data\Star_Destroyer.txt, Corellian_Corvette, Data\Corellian_Corvette.txt, Corellian_Gunboat, Data\Corellian_Gunboat.txt, Broadside_Class_Cruiser, Data\Broadside_Class_Cruiser.txt, Marauder_Missile_Cruiser, Data\Marauder_Missile_Cruiser.txt, Nebulon_B_Frigate, Data\Nebulon_B_Frigate.txt, Alliance_Assault_Frigate, Data\Alliance_Assault_Frigate.txt, Victory_Destroyer_No_Fighters, Data\Victory_Destroyer.txt, Victory_Destroyer, Data\Victory_Destroyer.txt, Acclamator_Assault_Ship, Data\Acclamator_Assault_Ship.txt, Interdictor_Cruiser, Data\Interdictor_Cruiser.txt, Assault_Frigate2, Data\Assault_Frigate2.txt, MC_40, Data\MC_40.txt, Tartan_Patrol_Cruiser, Data\Tartan_Patrol_Cruiser.txt, Pirate_Frigate, Data\Pirate_Frigate.txt, CC7700_Frigate, Data\CC7700_Frigate.txt, NebulonB2, Data\NebulonB2.txt, MON_CAL_MC80A, Data\MC80.txt, MC90_Calamari_Cruiser, Data\MC90.txt, Jedi_Cruiser_R_2, Data\Reb_Venator.txt, Jedi_Cruiser_E_2, Data\Imp_Venator.txt, Imperial_Strike_Cruiser, Data\Strike_Cruiser.txt, Star_Destroyer_2, Data\Star_Destroyer_2.txt, Carrier_Tie, Data\Escort_Carrier.txt, Carrier_Int, Data\Escort_Carrier.txt, Lancer_Frigate, Data\Lancer_Frigate.txt, Carrack, Data\Carrack_E.txt, Carrack_R, Data\Carrack_R.txt, VSD2, Data\Victory_2.txt, Praetor, Data\Praetor.txt, Corellian_Frigate_E, Data\Cor_Frig_E.txt, Corellian_Frigate_R, Data\Cor_Frig_R.txt, Corellian_Destroyer_E, Data\Cor_Dest_E.txt, Corellian_Destroyer_R, Data\Cor_Dest_R.txt, Corellian_BattleCruiser_E, Data\Cor_Batt_E.txt, Corellian_BattleCruiser_R, Data\Cor_Batt_R.txt, Dauntless_E, Data\Dauntless_E.txt, Dauntless_R, Data\Dauntless_R.txt, Munificent_E, Data\Munificent.txt
Now you'll notice the commented out entries at the bottom of the list.
Fact is: If the list is in the state shown above the AEM 5.1 starts normally without any complaints and the names not commented out are shown in Skrimish and Galactc Conquest, but if I add only one file-entry more, i.e. the Munificent_E or the Allegiance_Destroyer and try to start the game it throws me the horray-Exception.
Despite this, normal vanilla EAW or improved venator still work fine, and if I stick with these constellation above the exception doesn't occur.
Could it be that there is an inbuild limit to how many namefiles for shipnames you can define?
As far as I've seen also in the Lucasarts forum this exception-error happens a lot but on different situations and there's as of yet no cure nor an definitive explanation for it. However it strikes me that I'm probably the first one who can actually willingly produce this error...
Thanks for reading my long babbling, but maybe it'll help to pinpoint a bit more to the root of the error as it is annoying...:lulz:
Maybe someone has another idea for solving this?
RotM mod author
13th August 2009
As you stated, it is most likely a hard-coded limit to the number of name files that can be loaded. If you notice, the name files where removed in Forces of Corruption, probably to prevent crashing because enough new units where added to the game and it was just easier to do away with the naming system than to try and increase the number of available naming files. If I had to guess, I would say that this is probably another aspect of the game that is controlled by bit fields...which can only support a certain amount of info based on the OS the engine is designed for. They just exceeded the bit limit and you adding more name files is running into the same problem....that is just a guess though.
the_Farseer;5260570As you stated, it is most likely a hard-coded limit to the number of name files that can be loaded. If you notice, the name files where removed in Forces of Corruption, probably to prevent crashing because enough new units where added to the game and it was just easier to do away with the naming system than to try and increase the number of available naming files. If I had to guess, I would say that this is probably another aspect of the game that is controlled by bit fields...which can only support a certain amount of info based on the OS the engine is designed for. They just exceeded the bit limit and you adding more name files is running into the same problem....that is just a guess though.
So I was not alone with that guess it seems. However no one is yet able to say if it's the real cause in this case or not. Beside this, that exception error seems to pop up in several other instances to other users, luckily in my case it is restricted to this one.
The name-files were removed in FoC? I didn't notice...well that's not a surprise since I was only playing FoC for a short period. If it's true maybe it would explain this issue. I was one of those who got EaW the time it came out here in Europe and I also got FoC when it came out, but that one went after a few rounds right into the (virtual) dustbin since I was so upset about that ridiculous overpowered stupid Zann Consortium. A guy who was never seen before in the SW Timeline just suddenly pops up and has a space fleet that can rival the two most major factions in the galaxy? A mere crime syndicate? Not even Black Sun or the Hutts were so powerful that they could openly challenge the Rebel Alliance not mentioning the Empire. On top of that this white-haired Idiot is also able to best even Han Solo and Grand Admiral Thrawn in terms of strategy and tactics? No, No, I would only install FoC again if I could find a way to either get rid of the Consortium in Galactic Conquest or tone them down.
Ah yes, that naming system is not the best under the sun anyhow and flawed if you compare it to SW: Rebellion or Master of Orion 2 where you just had to rightclick on a ship to name it yourself. In Star Trek: Armada 2 where I got the SW: Fleet Command-Mod there was an array (yep, I'm a little of a programmer) for every ship in the corresponding odf-file where you could put as many names as you want and the game would choose randomly a name and doesn't show double names until all names in the list were used.
In EaW, especially in Galactic Conquest or Campaign mode I've often identical ships in one fleet i.e. I had once a big imperial fleet of 3 ISDs, 5 VSDs, 4 Venators and 6 Tartan Cruisers, however only the Tartans had each an own name, the ISDs were all called "Dominance", 3 VSDs were "Bombard" and 2 were "Corrupter" while 2 Venators were "Proteus", one "Tethys" and one "Dragonsnake"... Kills quite some athmosphere in my eyes...:rolleyes:
Well, I guess then you'll get along better with removing the individual names altogether...:D
I was barely able to add names for the Zann ships, thats about all it will handle; really annoying I know. XML's seem very temperament, one mistake and they refuse to work. I have tried to give Rom Mohc a DT3 for land and add the 501st and the game refuses to work.