EFEastern Front Forum Archive
Read-only public archive · no login or tracking

Archived topic · 21 posts

Eastern Front Patch [IP address redacted]

Announcements

#152692

Eastern Front Patch [IP address redacted]

Forum post image


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
Mors Indecepta

Might controls everything, and without strength you cannot protect anything. Let alone yourself...

Last edited March 13, 2014 at 7:03 AM by Blackbishop

#152693

Re: Eastern Front Patch [IP address redacted]

Thanks a lot :)
#152694

Re: Eastern Front Patch [IP address redacted]

Added patch for 2.602 version.
Mors Indecepta

Might controls everything, and without strength you cannot protect anything. Let alone yourself...
#152697

Re: Eastern Front Patch [IP address redacted]

ITS 'BOUT TIME!
#152698

Re: Eastern Front Patch [IP address redacted]

Ah good news  :)
#152699

Re: Eastern Front Patch [IP address redacted]

Yay, played the mod for the first time in about two months, and I am glad you got the crashing to stop. :)

Now, I have a tiny question; does the EF mod team have any plans for other mods, maybe for CoH2 or some other RTS?
No one can stop the German panzer divisions.
#152700

Re: Eastern Front Patch [IP address redacted]

HOOORAH! Great job, guys! I knew we can count on you and this mod isn't dead yet ;). Looking forward for the new updates.
#152702

Re: Eastern Front Patch [IP address redacted]

Excuse me, but uhm what to do with the " the compatibility fix for 2.602"? Should i download and install the actual patch of Eastern Front on the retail version and then install this "fix" ?
#152703

Re: Eastern Front Patch [IP address redacted]

Compatibility fix is for people who play only with the 2.602 version. If you use the new Steam version, you don't need it.
Mors Indecepta

Might controls everything, and without strength you cannot protect anything. Let alone yourself...
#152704

Re: Eastern Front Patch [IP address redacted]

Blackbishop wrote:
Compatibility fix is for people who play only with the 2.602 version. If you use the new Steam version, you don't need it.

I mean we first install the EF mod on retail version THEN install the fix, right?
I figured it out anyways.
#152705

Re: Eastern Front Patch [IP address redacted]

Sir,
    I am having Eastern front ostheer version [IP address redacted] and launcher version 3.2.0.0. Normal coh also patched upto 2.602. also i have coh(New Steam Version). But when i play as ostheer the game crashes....pls advise... :(
#152706

Re: Eastern Front Patch [IP address redacted]

@salil lemos
If you don't use the compatibility patch for 2.602 your game is not going to work on that version. The default [IP address redacted] patch makes it work with the new steam version only.

@minhvn
Yes, the compatibility patch is the last thing you should install, just to make sure it is not overwritten by another patch.
Mors Indecepta

Might controls everything, and without strength you cannot protect anything. Let alone yourself...
#152709

Re: Eastern Front Patch [IP address redacted]

Thank you Blackbishop and the entire team responsible for getting EF back up and running.  I played EF for the first time in a LONG time and life now has new purpose once again.  Thanks for keeping us informed throughout the process and for a very favorable outcome as well.
#152718

Re: Eastern Front Patch [IP address redacted]

Thanks on the hands on. Just to make sure, it seems that the New Steam Version cannot being play offline now right? When I choose offline, it shows that cannot connect to server (which is quite troublesome sometimes).

Tried both versions with and without mod and it seems that the latest patch screws the offline mode.

Last edited March 13, 2014 at 4:20 PM by miles_dixon

#152733

Re: Eastern Front Patch [IP address redacted]

Nice!
I'm drunk now, I'm outranked you in philosophy.
#152735

Re: Eastern Front Patch [IP address redacted]

Hi all

thx you Copernicus for your work , i drink a beer for you  ;D

and thx again EF team for your Mod

A+
"S’il n’y avait pas la science, malheureux cloportes suintants d’ingratitude aveugle et d’ignorance crasse, s’il n’y avait pas la Science, combien d’entre nous pourraient profiter de leur cancer pendant plus de cinq ans ?"
Pierre Desproges
#152751

Re: Eastern Front Patch [IP address redacted]

Thank you very much.
#152769

Re: Eastern Front Patch [IP address redacted]

Nice work!!!!!!!
Eastern Front Channel (English)
https://www.youtube.com/user/Easternfront100

Eastern Front Videos (German)
https://www.youtube.com/channel/UCgro3RnKAxIRdTr_kNJibYw
#152770

Re: Eastern Front Patch [IP address redacted]

Good work, nice to hear that compatibility fix for 2.602 is released.
#152882

Re: Eastern Front Patch [IP address redacted]

Greetings,

Thanks for a truly great mod.
Just noticed something after I installed EF Mod [IP address redacted] (for new steam version)
After I start EF through the launcher, I noticed the version number states

EF version [IP address redacted] (despite having properly installed [IP address redacted])
CoH version 2.700.2.30

Is there anything that I am doing wrong? Thanks
#152883

Re: Eastern Front Patch [IP address redacted]

No i have the same Version ;D
Just a little Bug, you have already the latest Version.

Regards and have fun with EF 8)
Eastern Front Channel (English)
https://www.youtube.com/user/Easternfront100

Eastern Front Videos (German)
https://www.youtube.com/channel/UCgro3RnKAxIRdTr_kNJibYw