Company of Heroes: Eastern Front

Author Topic: Sorry to see it go.  (Read 7890 times)

Offline Hendrik 'DarcReaver' S.

  • Administrator
  • Poster of the Soviet Union
  • *
  • Posts: 2503
  • ...Fear my Arty...
    • View Profile
Re: Sorry to see it go.
« Reply #15 on: March 08, 2014, 05:24:22 PM »
The only argument from the developers is, that Eastern Front adds 2 new factions so you can not simply change the faction. It might take some time but can you just ask the original CoH developers or the responsible guys to look at it? Every other mod community fixed their problem in 1 - 6 days. Eastern Front will take 2 months at least.

I just reminded you of the past: In 2010 (!) I posted about the slow development of EF and joked that CoH2 will be out before the Ostheer comes. As it turns out I was right. Eastern Front is one of the biggest and best financed mods so get your feet together and spend your free time on Eastern Front! You don't get paid like every other modder. You choosed your way!
I have a proposal:

1) Learn .dll coding
2) join our team
3) fix the issue in the factionfix in 1-6 days like you suggested because we're apparently too lazy to fix it.
4) ?? ?? ?
5) PROFIT!

I'm sure you'll be more successful and faster than Cope because he only spent the last 4 years with repeatedly fixing the recrew bug for Eastern Front mod.


If you can't do that stop complaining. Thanks.

(WARNING, there might be sarcasm above this line)
__________________________________________________


And now more seriously: Smoking Gun managed to recode so many parts of CoH 1 Steam Version with the last 2 patches that all our tries to fix the recrew problem have not been successful yet.

Abuse is abuse and has to go.

Offline Codename "Tiger"

  • Balancer
  • Guard
  • *
  • Posts: 249
  • Ostheer for Victory!
    • View Profile
    • Youtube Channel (German)
Re: Sorry to see it go.
« Reply #16 on: March 08, 2014, 06:37:21 PM »
@Crowsy
in youre posts it sounds like you were bashing against the DEV Team and the MOD because every patch need its time.

So if you accepted it its okay....

I just dont like if people are talking about topics from which they have no idea

The only argument from the developers is, that Eastern Front adds 2 new factions so you can not simply change the faction. It might take some time but can you just ask the original CoH developers or the responsible guys to look at it? Every other mod community fixed their problem in 1 - 6 days. Eastern Front will take 2 months at least.

Eastern Front is one of the biggest and best financed mods so get your feet together and spend your free time on Eastern Front! You don't get paid like every other modder. You choosed your way!

After SEGA's Patch in December 2013 EF was not working and the DEV Team was not able to fix this problem.
So they asked SEGA for help and they promised to fix the "MOD Problem" in the next Patch.
This Patch for vCoH was released end of february and after this Patch Eastern Front was working again.
The only Problem is now, that the Mod crashes all the time.

And the Devs are working on 2 Patches:
1. A "little" Crashfix which is very difficult and is made my Cope who isnt any jobless freak -> He has an RL and EF is just his HOBBY
2. An new EF Patch (Reworked Ostheer and any other great stuff like new base-buildings for soviets.)

Ofc this Patches will be released as one big Patch so we/the DEV Team has to wait for the "Bugfix"-Patch.
« Last Edit: March 08, 2014, 06:50:26 PM by Codname "Tiger" »

Offline Tom

  • Guard
  • ***
  • Posts: 162
    • View Profile
Re: Sorry to see it go.
« Reply #17 on: March 08, 2014, 10:08:38 PM »
To all the good times we had Eastern Front.  My favorite mod for CoH, I am sad to see you end through a small patch from people that did not even work on the game.  Its been to long to ask if this mod is dead, I know it is and I will always miss you.

I guess I will see if blitzkrieg crashes to desktop after three months of time to repair a minor patch. 

Oh wait, it never did.

I'll miss you Eastern Front, after three months I'll stop the CPR on your update button.... you are dead.

crapcoh2 is waiting for you to dump your money in those commanders.
knowing what you want is half the battle

Offline TheVolskinator

  • Guard
  • ***
  • Posts: 221
    • View Profile
    • Deutschland’s Mächtiger Ostheer!
Re: Sorry to see it go.
« Reply #18 on: March 09, 2014, 07:14:35 AM »
And now more seriously: Smoking Gun managed to recode so many parts of CoH 1 Steam Version with the last 2 patches that all our tries to fix the recrew problem have not been successful yet.

What in the hell did they change, exactly? Last I heard they just messed with some of the .dll files and (I thought) some SCAR coding. I mainly work with the .rgds, so maybe it's all just over my head. I know that the changes have made it a bitch to get patches working for Europe in Ruins: Reinforcements mod (that I work on .rgds for).

I'll give a shout to Xeonis, who's been a whiz with SCAR coding on the EiRR team. Maybe he'll have an answer for you guys' .dll issues; try shooting him a PM yourself as I'm sure you'd be able to explain your problem more accurately than I could. I also don't deal with SCAR/.dll mumbo jumbo, so it'd all be Greek to me in any event.

A damn shame that EF isn't working, because the mod frankly grabs CoH2 by the balls, throws it down, and starts kicking it in the teeth.

EDIT: Frankly, I can see getting the entire CoH modding community together to fix this. Team allegiance be damned, no matter which way you cut it EF has thus far been the most enterprising CoH mod, and this would definitely show Relic/Sega that us modders mean business (and can also fix their mistakes for them). We're all sitting around on our laurels waiting for Sega to stop picking their butts and to release modding tools for CoH2 anyways. It might do everyone good to "de-frag" the modding community too.
« Last Edit: March 09, 2014, 07:21:04 AM by TheVolskinator »
Quote from: Pocketsize
I can't wait till they add british to CoH:O; the extreme forces leveled by the new imbalances will create a black hole around the servers that destroys half of Canada.

Offline Tom

  • Guard
  • ***
  • Posts: 162
    • View Profile
Re: Sorry to see it go.
« Reply #19 on: March 09, 2014, 12:35:45 PM »
I was under the impression that EiR is kinda dead. Good to see ppl are still active. I always loved the concept behind EiR. Oh and i think that guy Kiraye is good at scar too.
knowing what you want is half the battle

Offline SchlagtSieTot

  • Ingenery
  • *
  • Posts: 40
    • View Profile
Re: Sorry to see it go.
« Reply #20 on: March 10, 2014, 09:08:16 PM »
To move some of the attention away from all that whine, I for one, would like to say you dev-team is doing an outstanding job. I love the mod, and appreciate what you guys are doing - for free, so we can have a good time. I am a leading member of a hobby community, and I know that most people don't have a clue about what is going on behind the curtains. Don't loose the spirit, keep up the good work, and I will see you on the frontline shortly, with all these new treats you have in store for us.

Offline Crowsy

  • Ingenery
  • *
  • Posts: 8
    • View Profile
Re: Sorry to see it go.
« Reply #21 on: March 11, 2014, 08:24:09 PM »
Codname "Tiger" may I suggest when reading a post you then read it again and maybe get a second opinion? In no way was I 'bashing' the Devs or anyone, I was merely asking questions about the mod.

I have been involved in mods and now only too well how stubborn fixes can be to get right. For what it is worth I respect most modders and certainly respect the EF team, I was curious to what was going on when another big mod 'Blitzkreig' released a patch and now has it working.

I now know why things are different thanks to the more informative people here.

PS Hope you manage to fix it soon.

Offline Copernicus

  • Developer
  • Commissar
  • *
  • Posts: 397
    • View Profile
Re: Sorry to see it go.
« Reply #22 on: March 12, 2014, 01:15:42 AM »
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 ;).
« Last Edit: March 12, 2014, 08:50:45 AM by Copernicus »

Offline lord_exodus

  • Ingenery
  • *
  • Posts: 3
    • View Profile
Re: Sorry to see it go.
« Reply #23 on: March 12, 2014, 08:27:16 AM »
Its been about 10 years since i dealt with DLL and such.  Im not sure if I got exactly how you are currently deploying your custom dll.  If there is some sort of memory protection mechanism cant you just patch the import table of WW2Mod.dll to point to your custom dll and avoid memory patching any other part of the WW2Mod.dll.  This should avoid any rudimentary memory protection scheme.

Does your code crash also for only original factions? 

What is (swapping to independent opcodes)?  Im not familiar with that.

I could try and give you all a hand if you could point me to your work.

Offline Copernicus

  • Developer
  • Commissar
  • *
  • Posts: 397
    • View Profile
Re: Sorry to see it go.
« Reply #24 on: March 12, 2014, 09:37:01 AM »
Patching the import table would not make any difference because I am not actually fiddling with imports but some piece of code buried deep inside the DLL.
The inconsistencies happen with all factions. I have found one of their causes though and am able to circumvent it.

What is (swapping to independent opcodes)?  Im not familiar with that.
This is me missing a 'w'. Swapping two independet opcodes, as in: Swapping the order of execution of
lea ecx, [eax+edx*4]
push ebx

I am currently trying some other things and am double checking every bit. I am not currently experiencing any crashes but I'd like to give it some more testing before I believe anything.
« Last Edit: March 12, 2014, 09:40:53 AM by Copernicus »

Offline Tom

  • Guard
  • ***
  • Posts: 162
    • View Profile
Re: Sorry to see it go.
« Reply #25 on: March 12, 2014, 10:19:13 AM »
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 ;).

WOW! What a pain in the ass these custom factions are. This is how it always was? I bet now the devs wished they replaced the OF factions with EF factions long time ago, and bam all these problems which are hurting EF image now were gone.

I mean, whats the point of having so many faction in the mod if nobody uses them, like PE and brits. Who the fuck plays brits vs OH? That's just disgusting to even think about it. Besides its just a nightmare to balance the game with the retarded factions (OF) which are untouched.  Now its too late to take this into consideration, i understand it takes a huge volume of work to replace the factions.
« Last Edit: March 12, 2014, 10:47:43 AM by Tom »
knowing what you want is half the battle

Offline minhvn

  • Beta Testers
  • Strelky
  • *
  • Posts: 64
    • View Profile
Re: Sorry to see it go.
« Reply #26 on: March 12, 2014, 11:46:06 AM »
I think we should consider the entire remake for 2.602, tell people to have cracked game (or if you already have the old version), this version will never upgrade and we will be safe with it. This is just a suggestion. So we will be focusing more on the campagain , offline with AI (the down side of this is no online game)

Offline Dreamerbg

  • Balancer
  • Mr. Spam
  • *
  • Posts: 1043
    • View Profile
    • EF mod stream channel :)
Re: Sorry to see it go.
« Reply #27 on: March 12, 2014, 11:52:45 AM »
It seems that I must say it.

This mod will not support piracy!
This mod I believe want to be considered as an expansion for CoH. This means NO FACTION REMOVING and NO CHANGES IN ORIGINAL FACTIONS.

And ffs , just read Cope's last post and smile :)

Offline Gerrit 'Lord Rommel' G.

  • Developer
  • Poster of the Soviet Union
  • *
  • Posts: 2276
  • #RememberAdmiralAckbar
    • View Profile
Re: Sorry to see it go.
« Reply #28 on: March 12, 2014, 01:17:18 PM »
I think we should consider the entire remake for 2.602, tell people to have cracked game (or if you already have the old version), this version will never upgrade and we will be safe with it. This is just a suggestion. So we will be focusing more on the campagain , offline with AI (the down side of this is no online game)
EF isnt an "offline" mod. We are focusing with balance on PvP. Thats the reason why we want to have a version for the new steam version.
May the force be with you.

Offline Hendrik 'DarcReaver' S.

  • Administrator
  • Poster of the Soviet Union
  • *
  • Posts: 2503
  • ...Fear my Arty...
    • View Profile
Re: Sorry to see it go.
« Reply #29 on: March 12, 2014, 05:16:25 PM »
I think we should consider the entire remake for 2.602, tell people to have cracked game (or if you already have the old version), this version will never upgrade and we will be safe with it. This is just a suggestion. So we will be focusing more on the campagain , offline with AI (the down side of this is no online game)
EF isnt an "offline" mod.
This sums it up in one sentence :)

Abuse is abuse and has to go.