Post news Report RSS Eastern Front Patch 2.2.2.0

We are back comrades! Expect more news this weekend!

Posted by on


Hello comrades,

It has a while since the last announcement happened, and we have been literally offline since last year Christmas week... but now we have returned! Thanks to Cope who had fixed our FactionFix.dll, he really did an outstanding job; thanks to Relic and Smoking Gun Interactive as well because they have been supporting us since that patch released around Christmas!

If someone wonders what was the problem and what was needed to do every time Cope updates our DLL, you can read it here:

Copernicus wrote:
As requested, here are some details on what is actually causing crashes. This may be somewhat technical.

As you may be aware, in the past EF had problems with recrewing weapons. This is because CoH is hardcoded to only read capture squads for the 4 basic factions from team weapon entities. If you try to capture a team weapon with a Soviet squad, the game will crash because it cannot find the appropriate entry in the RGD (and subsequently runs into invalid memory sooner or later).

What I did back then was writing a custom DLL FactionFix.dll which for all purposes acts like the original game DLL (WW2Mod.dll; in fact it just forwards any calls to that DLL) but does some in memory patching, i.e. it changes some parts of the code in the original DLL. The code that is changed is the code that controls which squads are spawned when a team weapon is picked up. Whenever a non-standard faction tries to pick up such a weapon, my code jumps in and calls a certain ScaR function that returns the RGD-path of the appropriate squad. (To get the actual Lua-state of the ScaR-instance, I make use of Corsix' LuaExtCore.dll.).

Everytime a patch containing more than just balance changes is released, there is a chance that the address of the code that is to be patched has been changed. If parts of the DLL have been recompiled, it is even possible that parts of the fix have to be rewritten: Because we only have the binary files (i.e. the compiled code), my code needs to seamlessly interface with x86 assembler (which I very much like). Unfortunately that means, that if the compiler thinks it is better to put some value that was in some register EAX last time around into EBX this time, I have to rewrite parts of the code and spend sometime reverse engineering the data flow. These are all things that can be done rather quickly (even if some engineer at Relic decides that what has been an __stdcall up to v2.601 should be a __thiscall in 2.700).

The ugly part is if things do not work out immediately: This stuff is impossible to debug; without proper debug symbols even the stack traces of DMP-files are bogus and most applications totally don't like being debugged. Furthermore, debugging without any source code is tedious and not fruitful (especially when you are working with a system where you do not even have the faintest idea what most of the functions actually do!).

So what I currently have is the following:
I have updated the DLL accordingly and I have noted that besides some changes in the offsets, WW2Mod.dll has not been changed in the parts relevant to this patch. Still, the patch is not working as intended: Sometimes it works, sometimes it crashes, and sometimes it does not even allow a weapon to be recrewed (the cursor does not change into the right symbol and no action is possible). This (in a way) is the worst case scenario: My code seems fine (it is the same as for the last version and it worked for that one), but the behavior is somewhat non-deterministic. Sometimes you can capture a weapon, yet other times it won't work (using the same squad type and weapon type). If the game was crashing consistently, I could just look at where it is crashing and backtrace from there. But it does not.

I am not sure what causes this behavior. I have already witnessed similar behavior when I only patched an irrelevant part of the code (swapping two independent opcodes). This could indicate that some kind of memory protection mechanism is employed, yet I am not willing to believe this (why would it show that specific behavior? Why wouldn't it just crash all the time?). Non-determinism in behavior may also be indicative of multiple threads using the same code with non-thread-local data, but I highly doubt that because my testing setup was fairly isolated and it seems unreasonable to distribute the game logic to different threads, at least for this specific case. Another possibility is that I am missing a new piece of code that was inserted, but I was unable to find anything.

As you can clearly see, this problem is specific to mods that have additional factions.

To clarify another thing: I am not getting paid for this. Nobody here is getting paid for anything. And even if you did, you would not be entitled to anything because quite obviously, you did not pay for anything ;).


We released a small patch containing the new compiled DLL that will fix the crashes when playing with the New Steam version of Company of Heroes. Also, due to popular demand, we will release a patch that will make the mod compatible with 2.602 (Old Steam version or Retail). But remember, while this is a small assistance for those who don't want to play it in the new version, we don't offer support for it so, play it under your own risk.

We intended to release more content and balance changes, but we still need to finish the new models and to test more the balance changes, so we expect to release a new patch in the next two weeks, three at most, featuring all the content we have shown in pictures in the past weeks. But we certainly have changes that no one expects for Ostheer and Soviets.

So, the plan right now is:

1) To release the new DLL so everyone can enjoy Eastern Front. Changelog here.

2) To finish the pending models and balance changes and release the big patch.

3) Start working on the reward Command trees for Soviets and Ostheer.

Problems with the download? Look here.

Want the compatibility fix for 2.602? Look here. Mirrors: SpeedyShare MediaFire.

This Weekend we will talk about what you will see in the next patch so, stay tunned because we are back in business!

Thanks for downloading and continue to enjoy,

Archaic Entertainment Team

Post comment Comments
Guest
Guest - - 690,781 comments

So I'm confused. Is it fixed as we speak? Right now as in March 12th 2014?

Reply Good karma Bad karma0 votes
Killer_midget2
Killer_midget2 - - 180 comments

Yes, eastern front mod is working right now as of March 12th 2014

Reply Good karma Bad karma+2 votes
zero_blade16
zero_blade16 - - 98 comments

The menu still says version 2.2.1.0 after I install the latest patch. The crash still happens.

Reply Good karma Bad karma+1 vote
blackbishop Author
blackbishop - - 2,156 comments

@zero_blade16
Then you didn't install the correct file or in the right path. Because when you install it the launcher gets the new version.

Oi57.tinypic.com

Just in case, remember you don't need to install the patch 2.602 unless you play the old version.

Reply Good karma+1 vote
zero_blade16
zero_blade16 - - 98 comments

I have the steam version 2.700 and my EF version is 2.2.1.0, I installed the 2.2.2.0 patch in the folder where I installed COH and EF but nothing happened.

Reply Good karma Bad karma+1 vote
zero_blade16
zero_blade16 - - 98 comments

Yes I do have the new launcher, but when I get in the game it says 2.2.1.0 in the menu. Can't start any skirmish game because it crash to desktop at the beginning of the game.

Reply Good karma Bad karma+1 vote
blackbishop Author
blackbishop - - 2,156 comments

@zero_blade16
Could you install HashTab? Implbits.com

Then check if your FactionFix.dll has the right has values:
CRC32: 78A11253
MD5: DA915B51F2256B8F384E8A3AE95EAB3E
SHA-1: 9FCD24D4A37C5443B263F784A6F25305D47B783D

If it doesn't, then you are not installing it right; if it does and crash, then probably you are loading CoH:EF from a different folder.

And about the main menu thingy, probably we forgot to change it.

In order to check your game I'd need to use TeamViewer.

Reply Good karma+1 vote
zero_blade16
zero_blade16 - - 98 comments

The EF patch was installed properly, I checked the factionfix.dll values. Does this version of the mod work with first 2.700 Steam version without any patch from Relic?

Reply Good karma Bad karma+1 vote
blackbishop Author
blackbishop - - 2,156 comments

@zero_blade16
No. You need another DLL to play with the first 2.700 Steam version, because it is not the same than the latest we are using now.

Reply Good karma+1 vote
zero_blade16
zero_blade16 - - 98 comments

So I only have 2 options: Playing the mod with the lastest Steam version or 2.602 version, right?

Reply Good karma Bad karma+1 vote
blackbishop Author
blackbishop - - 2,156 comments

@zero_blade16
Incorrect... if you really had the first version of the 2.700 Steam version, you wouldn't even need the patch 2.2.2.0. Because EF was compatible with it and is still compatible using it's 2.2.1.0 version. In other words, if you had such version you could have been playing EF all this time on the "new Steam version" without crashes, unlike the 99.9% of the players.

If you currently can't play EF at 2.2.1.0 (patch 2.2.2.0 shouldn't be installed, if that's really the case) on your first version of the new Steam CoH, it means you don't have the first, but actually you have the second, where custom DLLs were disabled and EF was completely dead.

If what I explain in the second paragraph is what you have, then you don't have any other choice.

Reply Good karma+1 vote
zero_blade16
zero_blade16 - - 98 comments

Thank you for your reply. My Steam version works alright with the patch 2.2.1.0. I don't know if future EF patches can be compatible with my version?

Reply Good karma Bad karma+1 vote
blackbishop Author
blackbishop - - 2,156 comments

@zero_blade16
Just keep safe your factionfix.dll and when you update it later always overwrite it with your copy.

Reply Good karma+1 vote
Guest
Guest - - 690,781 comments

This comment is currently awaiting admin approval, join now to view.

pier2
pier2 - - 52 comments

it is work with the new steam version ??
or just the ancient COH (on steam or on CD)

Reply Good karma Bad karma+1 vote
blackbishop Author
blackbishop - - 2,156 comments

@pier2
As said above, it works for both. But you need to patch it after installing all the updates with the compatibility fix for 2.602 if you are planning to use such version.

Check the description of the download to understand this better :). Moddb.com

Reply Good karma+1 vote
Bisol
Bisol - - 13 comments

Thanks for that great support ! It is working for me at the moment (relaunch version), great mod for sure ! Keep up the good work guys ;)

Reply Good karma Bad karma+2 votes
flankir
flankir - - 3 comments

EF not working with New Steam Version. Steam writes "prepare to launch" but nothing more happens.
CoH working without EF. EF not working.

Reply Good karma Bad karma+1 vote
jackwilsonbarrett
jackwilsonbarrett - - 1 comments

EF CoH steam ver 2.2.2, ran well, I stopped playing for a month now crashes every time no pickup of weapons no unlimited basic game whats happened brilliant game but no use if you cannot play it win 7 dual core 3.0 4mb ram

Reply Good karma Bad karma+1 vote
rafaelrusso007
rafaelrusso007 - - 5 comments

All others mods work in my company of heroes but this no,i have crash after 5 minute gameplay in all maps.

Reply Good karma Bad karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: