Jump to content

Fuerte

Members
  • Posts

    447
  • Joined

  • Last visited

    Never

Posts posted by Fuerte

  1. Originally posted by hardcampa:

    The reason to why the CDV version is causing trouble is probably because it wants to play some intro movie am I right on this?

    If someone with the CDV version feels like a labrat. Let me know and I'll send you an updated version.

    CDV version opens some other copy protection window first. It will take a while until it disappears. Things got even worse with 1.01, the delay must be much longer. I include the VBScript code here, it is converted from the original CMBO One Click C++ code, some things have changed, and it works quite well with the CDV version. I have some ideas how to make it even more reliable, though.

    </font><blockquote>code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">' CMBB.VBS

    Dim Width, Height

    Dim m_PtJoin_x, m_PtJoin_y

    Dim m_PtExit_x, m_PtExit_y

    Dim m_PtLoad_x, m_PtLoad_y

    Sub Main

    ExeName = Program.GetDirectory + "\" + Program.GetExeName

    pCMWnd = PBEM.PBEM_FindWindow(Program.GetLongName, vbNullString)

    IF pCMWnd = 0 THEN

    Program.Run 0

    PBEM.PBEM_WaitForInputIdle 20000

    i = 0

    DO

    pCMWnd = PBEM.PBEM_FindWindow(Program.GetLongName, vbNullString)

    IF pCMWnd THEN

    EXIT DO

    END IF

    i = i + 1

    IF i > 2000 THEN

    msgbox "Window '" + Program.GetLongName + "' not found"

    Exit Sub

    END IF

    PBEM.PBEM_Sleep 10

    LOOP

    END IF

    Dim i

    For i = 0 to 10

    PBEM.PBEM_PressButton pCMWnd, 1, 1 ' skip intro screen

    PBEM.PBEM_Sleep 100

    PBEM.PBEM_SendMessage pCMWnd, &H112, &HF120&, 0 ' WM_SYSCOMMAND, SC_RESTORE, 0

    PBEM.PBEM_WaitForInputIdle 10000

    Next

    DetermineButtons pCMWnd

    PBEM.PBEM_PressButton pCMWnd, m_PtJoin_x, m_PtJoin_y

    PBEM.PBEM_PressButton pCMWnd, m_PtLoad_x, m_PtLoad_y

    Dim pOpenWnd

    For i = 0 To 200

    pOpenWnd = PBEM.PBEM_FindWindow("#32770", vbNullString)

    If pOpenWnd Then

    Dim pTmpWnd

    pTmpWnd = PBEM.PBEM_GetOwner(pOpenWnd)

    If pTmpWnd Then

    If pTmpWnd = pCMWnd Then

    Exit For

    End If

    End If

    pOpenWnd = 0

    End If

    PBEM.PBEM_Sleep 100

    Next

    IF pOpenWnd = 0 THEN

    MsgBox Program.GetShortName & ": Error finding file open window!"

    Exit Sub

    END IF

    'PBEM.PBEM_Sleep 1000 ' 400

    PBEM.PBEM_WaitForInputIdle 10000

    Dim hwnd

    i = 0

    Do

    hwnd = PBEM.FindEditWindow(pOpenWnd)

    If hwnd = 0 Then

    MsgBox Program.GetShortName & ": Error finding file open window Edit control! (dialog=" & pOpenWnd & ")"

    Exit Sub

    End If

    If PBEM.SetWindowText(hwnd, Game.GetRealName) Then

    If PBEM.GetWindowText(hwnd) = Game.GetRealName Then

    If PBEM.PBEM_PostMessage(hwnd, &H100, &HD, &H81C0001) Then ' WM_KEYDOWN, VK_RETURN, &H81C0001

    Exit Do

    End If

    End If

    End If

    i = i + 1

    If i > 100 Then

    MsgBox Program.GetShortName & ": Error entering filename in dialog box! (dialog=" & pOpenWnd & ",hwnd=" & hwnd & ")"

    Exit Sub

    End If

    PBEM.PBEM_Sleep 100

    Loop

    If PBEM.PBEM_ReadSetting(Program.GetShortName, "SendExtra") = "1" Then

    PBEM.PBEM_PostMessage pCMWnd, &H102, 120, &H8000001' WM_CHAR, Asc("x"), &H8000001

    Else

    PBEM.PBEM_Sleep 2000

    End If

    PBEM.PBEM_PostString pCMWnd, Game.GetPassword

    PBEM.PBEM_PostMessage pCMWnd, &H102, &HD, &H8000001 ' WM_CHAR, &HD, &H8000001

    End Sub

    Sub DetermineButtons(pCMWnd)

    Dim L, R, T, B

    PBEM.PBEM_GetWindowRect pCMWnd, L, R, T, B

    Width = R - L

    Height = B - T

    If Width = 640 And Height = 480 Then

    m_PtJoin_x = 160: m_PtJoin_y = 400

    m_PtExit_x = 460: m_PtExit_y = 400

    m_PtLoad_x = 320: m_PtLoad_y = 240

    ElseIf Width = 720 And Height = 576 Then

    m_PtJoin_x = 190: m_PtJoin_y = 450

    m_PtExit_x = 520: m_PtExit_y = 450

    m_PtLoad_x = 360: m_PtLoad_y = 285

    ElseIf Width = 800 And Height = 600 Then

    m_PtJoin_x = 210: m_PtJoin_y = 500

    m_PtExit_x = 586: m_PtExit_y = 500

    m_PtLoad_x = 400: m_PtLoad_y = 348

    ElseIf Width = 960 And Height = 720 Then

    m_PtJoin_x = 290: m_PtJoin_y = 560

    m_PtExit_x = 666: m_PtExit_y = 560

    m_PtLoad_x = 475: m_PtLoad_y = 400

    ElseIf Width = 1024 And Height = 768 Then

    m_PtJoin_x = 313: m_PtJoin_y = 670

    m_PtExit_x = 700: m_PtExit_y = 670

    m_PtLoad_x = 512: m_PtLoad_y = 460

    ElseIf Width = 1152 And Height = 864 Then

    m_PtJoin_x = 380: m_PtJoin_y = 716

    m_PtExit_x = 766: m_PtExit_y = 716

    m_PtLoad_x = 564: m_PtLoad_y = 506

    ElseIf Width = 1280 And Height = 960 Then

    m_PtJoin_x = 450: m_PtJoin_y = 760

    m_PtExit_x = 830: m_PtExit_y = 760

    m_PtLoad_x = 630: m_PtLoad_y = 550

    ElseIf Width = 1280 And Height = 1024 Then

    m_PtJoin_x = 450: m_PtJoin_y = 800

    m_PtExit_x = 830: m_PtExit_y = 800

    m_PtLoad_x = 630: m_PtLoad_y = 580

    ElseIf Width = 1400 And Height = 1050 Then

    m_PtJoin_x = 510: m_PtJoin_y = 810

    m_PtExit_x = 900: m_PtExit_y = 810

    m_PtLoad_x = 700: m_PtLoad_y = 605

    ElseIf Width = 1600 And Height = 1200 Then

    m_PtJoin_x = 620: m_PtJoin_y = 885

    m_PtExit_x = 980: m_PtExit_y = 885

    m_PtLoad_x = 800: m_PtLoad_y = 675

    ElseIf Width = 1920 And Height = 1440 Then

    m_PtJoin_x = 680: m_PtJoin_y = 1035

    m_PtExit_x = 1240: m_PtExit_y = 1035

    m_PtLoad_x = 960: m_PtLoad_y = 810

    ElseIf Width = 2048 And Height = 1536 Then

    m_PtJoin_x = 744: m_PtJoin_y = 1041

    m_PtExit_x = 1304: m_PtExit_y = 1041

    m_PtLoad_x = 1024: m_PtLoad_y = 630

    Else

    MsgBox "The resolution you are running " & Program.GetShortName & " at (" & Width & "x" & Height & ") is not supported."

    End If

    End Sub

    Main</pre>

  2. Originally posted by Jussi Köhler:

    I agree that your PBEM helper is probably (havent tried it yet) a very good program. What irritates me is your attitude. I dont like it when people try to stuff things down my throat.

    What irritates me is that people make the life difficult for them. PBEM Helper has been available for months for CMBB, and as the title suggests, it actually helps. Now people find out this One Click program (that originally introduced the great feature to send mouse clicks etc. on CMBO) and find it useful, while PBEM Helper has already done it for months. I'll have to say that there is something that I just don't understand with the logic of these people. OK, perphaps One Click is easier to install and use, I don't know, I have never used it. Back in CMBO days we developed these applications at the same time without knowing about each other, and if I had known about One Click, then I wouldn't have done PBEM Helper, and vice versa. Nowadays PBEM Helper supports 25 different PBEM games, and it has an user-interface to add more. It is a general tool for PBEM games. CMBB and CMBO automatic file name and password entering is done with VBScript files, there you can still find the original One Click code, converted from C++ to VBScript, and with timing and other fixes.
  3. Originally posted by Jussi Köhler:

    </font><blockquote>quote:</font><hr />Originally posted by Fuerte:

    I don't get it. PBEM Helper already supports both U.S. and CDV version. Duh. Why reinvent the wheel twice??

    Well I found that One Click to Combat was extremely easy to install and use.

    And I tend to frown an arrogance, the worst human trait in my opinion. </font>

  4. Originally posted by Jussi Köhler:

    Actually the process is called CombatMission2.exe in the CDV version. I think that after Lou renamed the executable it changed the name of the process as well...

    The application in called: Combat Mission: Barbarossa to Berlin, and the process as stated earlier.

    I don't get it. PBEM Helper already supports both U.S. and CDV version. Duh. Why reinvent the wheel twice??
  5. Originally posted by karch:

    We gave each other our password..

    We got 1 full game turn per email and never cheated.

    here's how it goes.. I'll skip setup.

    1) I move, computer turn save doc

    2) I open file with HIS password, cover the screen and fast forward to the end of the movie and save the doc

    3) I open it with my password, watch the movie and then make my next turn and save the doc.

    4) I then send him the files from turn 1 and 3

    This way we turned arount 1 full turn per email.. you sent 2 files to each other. 1 movie file and 1 file with your moves pre-plotted. It was very fast, and I trust my good friends to play like this. If you're concerned about cheaters, then don't play this way.

    I had to quote this once more. I analyzed this, and if I am correct, you get in fact two turns per e-mail (once the setup phase is over)! Unbelievable. And what is the best, it can be implemented with full security in CMBB+. My future implementation in PBEM Helper will not be 100% secure, but it should work for people that are not willing to cheat (they don't accidentally see information that they should not see). I'll have to say, thank you Scott Karch for inventing this (or if it was your friend).

    I'll post the detailed system description later. I'll have to double check it first, it seems to be too good to be true.

  6. Originally posted by Caesar:

    This is not necessarily true, I have a program that is specifically designed to do exactly that. It uses an XML file to control where to click and what to do. As a result, the extra key clicks to do what you want to do plus a routine to swap the directories would be pretty trivial. I guess it depends on the design of the original program ;)

    How about the BMP format? Does the BMP size (in pixels) have to be identical to the original? Or can I have 1x1 (or 16x16) black BMP for all images?

    The problem with mouse clicks and keyboard messages is that how to make it work 100% of the time? Currently PBEM Helper works about 98%, it does not always click Multiplayer and Load correctly. The file name entering is now reliable, but again password entering is not. There are no Windows controls in CMBB screen other than the file loading dialog.

    [ February 07, 2003, 05:15 AM: Message edited by: Fuerte ]

  7. Originally posted by Battlefront.com:

    Great! Then why don't you know the most fundamental rule of programming... if you didn't code it, and haven't seen the code, then you can't know jack squat about it? Combat Mission is not a 10 line "Hello World" program we are talking about here. It is a HUGE code base which took years to create by someone whom I regard as one of the best game programmers in the industry. To presume that your resume somehow puts you in a superior position to judge Charles' word in any way shape or form is at the very least insulting. It also doesn't do much to enhance your reputation.

    I am not calling Charles a liar or anything! I am just saying that 2-3 months sounds too much. I believe that if he starts doing this PBEM thing full time, it may take one or two weeks.

    I have personally estimated my own work times many times during the last 20 years. Sometimes I estimate a too long time, sometimes too short. Charles may have estimated a too long time, although I admit that usually the times should be multiplied by pi, when the whole project is concerned.

    So, we should just agree to disagee: I think that changing this PBEM system is easier than you think. I have not insulted you or Charles - OK, you have insulted me, but it's OK. I just want this feature, I don't care about arguing or whining or insulting, I am willing to try to implement it in PBEM Helper, because it will take 2+ years until it is in CMBB+.

    It will take me about two weeks... ;) I can't do it full time, only 1 hour per day or something. And controlling another program with mouse clicks and keyboard messages is not trivial, it would be easier to implement it in the actual program! :D

  8. Originally posted by Caesar:

    Originally posted by Fuerte

    </font><blockquote>quote:</font><hr />

    I am wondering if PBEM Helper could do this automatically. Everything else seems possible but how to cover the screen?? Perhaps it could change the screen or DirectX settings that the display is very dark (black). Or minimize the window.

    You could try renaming the BMPs directory and spinning up a second copy of CMBB. I haven't tried this - you might need some of the BMPs, if so just put some very small 2 colour bmps (make them all black) into a dummy directory and use that (if you really miss-trust your opponents, you could run a CRC check to make sure it hasn't been changed). As for the exchange of passwords, just send an additional file that contains an encrypted version of the passwords. </font>
  9. Originally posted by karch:

    I seriously doubt any of you work for a small privately held company and are software developers. If I am wrong, I apologize for you may be a far better programmer than I assume, otherwise I think you have no idea of what you are talking about.

    I am a 39 years old programmer, have been programming professionally for about 19 years. I have been programming in Forth, assembly language, C, C++, Visual Basic, some Java, even Pascal and Fortran during the early years. Currently I develop database applications, using MS Transact SQL. I have also developed a database server (having SQL syntax) and ODBC driver for it, as well as client using the ODBC driver. I work in a company having under 100 people, of which 20-30 are programmers.

    I have currently two private projects, PBEM Helper and MTGPlay. MTGPlay is an open source VB application, the source is here: MTGPlay source code It is co-developed with a couple of other programmers.

  10. Originally posted by karch:

    my good freind and I had a great "TRUST MODE" that let us fly through games.

    We gave each other our password..

    We got 1 full game turn per email and never cheated.

    here's how it goes.. I'll skip setup.

    1) I move, computer turn save doc

    2) I open file with HIS password, cover the screen and fast forward to the end of the movie and save the doc

    3) I open it with my password, watch the movie and then make my next turn and save the doc.

    4) I then send him the files from turn 1 and 3

    This way we turned arount 1 full turn per email.. you sent 2 files to each other. 1 movie file and 1 file with your moves pre-plotted. It was very fast, and I trust my good friends to play like this. If you're concerned about cheaters, then don't play this way.

    Just a thought. We like it.. or liked it back when he played.

    I am wondering if PBEM Helper could do this automatically. Everything else seems possible but how to cover the screen?? Perhaps it could change the screen or DirectX settings that the display is very dark (black). :confused: Or minimize the window.

    Anyway, I don't like the idea of sharing the passwords, trust or not.

    Another fear that I have now is that Battlefront gets mad about this PBEM speedup thing (how it is easy or trivial to fix it) and they decide that they never improve it! :rolleyes:

    And all that I want is a way to play CMBB faster, i.e. more... smile.gif

  11. Originally posted by Dschugaschwili:

    Although I must admit that 2-3 months seems a little high to me. :confused:

    Agree. I would guess two weeks max. Here is a clarification to my explanation, I added (generates turn) texts:

    We have two players, a and b:

    a) plot #1

    file contains game state #1, a#1

    B) plot #1 (generates turn)

    file contains game state #2, movie #1

    a) view #1

    file contains game state #2, movie #1

    B) view #1 + plot #2

    file contains game state #2, b#2

    a) plot #2 (generates turn)

    file contains game state #3, movie #2

    B) view #2

    file contains game state #3, movie #2

    a) view #2 + plot #3

    file contains game state #3, a#3

    ...

    With the suggested system:

    a) plot #1

    file contains game state #1, a#1

    B) plot #1 (generates turn)

    file contains game state #2, movie #1

    a) view #1 + plot #2

    file contains game state #2, movie #1, a#2

    B) view #1 + plot #2 (generates turn)

    file contains game state #3, movie #2

    a) view #2 + plot #3

    file contains game state #3, movie #2, a#3

    ...

    So the difference does not seem very big. The first three phases are indentical. Suggested system is just simpler and faster. The file contains movie always except in the beginning. The difference is that the player never just views the movie, he always plots the next turn as well.

  12. Originally posted by Battlefront.com:

    Every once in a while a thread comes along that is so packed with ungreatful whining, insults, and rampent ungreatful sentiments that I feel I must come in and post. Obviously this is just such a thread :(

    Well! smile.gif I had no idea that Battlefront feels insulted about this thread. And I had no idea that we are whiners. I thought that we are just making suggestions to an inperfect game...

    </font><blockquote>quote:</font><hr />...the current engine displays the previous turn and then you make moves for the next turn, so this explanation sounds poor.

    Nope, not poor at all. Your understanding of how the game functions is poor. The game engine has absolutely no way of handling this. Amateures with know knowledge of the code can denny this as much as they want, but their opinion has absolutely zero value.

    We looked into fixing this issue for CMBO and found it to be too much work to undo, then looked at it again for CMBB and estimated once again that the 2-3 months of code rewriting was simply not worth the effort. Therefore, after an honest

    attempt to fix this problem (and we have always admitted it is a problem) we decided it was in everybody's best interest to spend the time on other more important issues. Either that or we are purposefully ignoring a significant problem that has an easy solution simply I can have the joy of answering yet another winey post about this issue. Use a couple of those graycells and strain to figure out which is the most likely case.

    </font>

  13. Originally posted by karch:

    back before baby #2 showed up in October and I actually played the game occasionally.. (and before I was running OS X full time... another topic) my good freind and I had a great "TRUST MODE" that let us fly through games.

    We gave each other our password..

    We got 1 full game turn per email and never cheated.

    here's how it goes.. I'll skip setup.

    1) I move, computer turn save doc

    2) I open file with HIS password, cover the screen and fast forward to the end of the movie and save the doc

    3) I open it with my password, watch the movie and then make my next turn and save the doc.

    4) I then send him the files from turn 1 and 3

    This way we turned arount 1 full turn per email.. you sent 2 files to each other. 1 movie file and 1 file with your moves pre-plotted. It was very fast, and I trust my good friends to play like this. If you're concerned about cheaters, then don't play this way.

    Just a thought. We like it.. or liked it back when he played.

    Scott Karch

    Ingenious! But probably too much hassle for the rest of us... :D
  14. Originally posted by Becket:

    Note: one thing we lose with this sytem: getting the movie file back quickly. If the first player to see the movie has to plot his orders too, then there will be a substantial delay in many cases before you get the movie file from your opponent.

    It's a cost benefit analysis -- just wanted to chime in that there would be something lost.

    But if you can do only one turn in a day, then it does not matter if your opponents spends 10 or 30 minutes with the turn. There is TCP/IP for real-time gaming.

    With the PBEM server system, you could do two turns in a day:

    You: View and plot, send to server.

    Server: Has received turns from both players, generates the turn and sends it back immediately.

    You: View and plot, send to server.

    Server: Has received only your turn, wait for the other player.

    Next day you can again do two turns.

  15. Originally posted by Hersir:

    I don't know if bandwith has anything to do with it. My two regular opponents are on the Us East coast while I live in Sweden. All three of us have high bandwidth connections. It's not very convenient to schedule games so TCP/IP are rare while we have around two games going with each of us for a total of 4-5 PBEM games a day. It would speed up the games with a system either based on viewing once and then orders or a trust system.

    C'mon for the sake of the international brotherhood over timezones humour us. ;)

    Exactly.
  16. Originally posted by PondScum:

    This suggestion has been brought up before, and if I recall correctly Battlefront has acknowledged that it could be made to work. I very much doubt that it'll be a quick patch though. Maybe in the engine rewrite...

    Yes, somebody had this idea already in CMBO times. I think that it is brilliant. I was very disappointed that CMBB didn't do it. I don't think that it will be in a patch, 1.02 or later, :( but I think that it could be done even in CMBB if Battlefront wants and there was enough requests for it. There will be 2+ years until the next "engine rewrite" version appears.
  17. Originally posted by Lars:

    Fuerte, I tried several times and never could get your program to work.

    All I want is a very simple utility that works with this game.

    Something like the old OneClick.

    Please try the latest version... full download. It supports both U.S. "COMBATMISSION2.EXE" and Europe "Barbarossa to Berlin.exe", and several screen resolutions. It should work now. If not, send me e-mail explaing how it does not work. Also read the CMBO section about SendExtra option. You need this option with older nVidia drivers, don't ask me why. smile.gif
  18. Originally posted by hardcampa:

    ZIP has never been hard, I just find it being one unneccesary step when the program could do it for me.

    But then again the PBEM management in CM is equal to null, there's a lot more you could do with it, that would remove the need to depend on external programs.

    I agree. But PBEM Helper has some features that are hard to implement in one game:

    1) It can open the attachment from your e-mail program, start PBEM Helper automatically, extract the file into correct folder, start your game program, click required buttons, enter file name, enter password. And when you exit from game program, it automatically sends the e-mail. You just need to play the game, everything else is automated.

    2) It handles several different games: CMBO, CMBB, Steel Panthers etc.

    3) It supports MAPI and SMTP.

  19. The current system is bad as we all know:

    1) plot #1

    2) plot #1

    3) view #1

    4) view #1 + plot #2

    5) plot #2

    6) view #2

    7) view #2 + plot #3

    ...

    Battlefront explained that it is impossible to have replay+plot both in the same turn at the same time. It is impossible for the current game engine to be in two different turns or something. But in 4) the current engine displays the previous turn and then you make moves for the next turn, so this explanation sounds poor.

    The suggested new method is:

    1) plot #1

    2) plot #1

    3) view #1, plot #2

    4) view #1, plot #2

    5) view #2, plot #3

    ...

    I want this in 1.02 patch! smile.gif So that we get one turn per e-mail...

    Also Battlefront should release the game engine as a free download, so that third party people can develop CMBB servers. The engine would get two standard e-mail files as parameters (passwords as extra parameters), and it would output the standard e-mail files for the next turn. This way we would get two turns per day, like with Laser Squad Nemesis.

  20. Please add PBEM Helper to the FAQ!

    1.2.215 (18.1.2003)

    Fixed: CMBB automatic "Join Multiplayer" and "Load e-mail" clicking works the same way as CMBO. It does not try to calculate the button positions any more. Thanks to Steve Shumaker for helping me here.

    Fixed: CMBB and CMBO automatic file name entering *should* work reliably now.

    Fixed: The file name sent with Ctrl+Shift+F is now the real file name, not the numbered name with ###.

  21. 1.2.215 (18.1.2003)

    Fixed: CMBB automatic "Join Multiplayer" and "Load e-mail" clicking works the same way as CMBO. It does not try to calculate the button positions any more. Thanks to Steve Shumaker for helping me here.

    Fixed: CMBB and CMBO automatic file name entering *should* work reliably now.

    Fixed: The file name sent with Ctrl+Shift+F is now the real file name, not the numbered name with ###.

×
×
  • Create New...