Jump to content

Fuerte

Members
  • Posts

    447
  • Joined

  • Last visited

    Never

Everything posted by Fuerte

  1. 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. 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. 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. Just curious - what position do you occupy at MicroSoft? </font>
  5. I don't get it. PBEM Helper already supports both U.S. and CDV version. Duh. Why reinvent the wheel twice??
  6. 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.
  7. The few that has contacted me have got the PBEM Helper working, currently I am not aware of anybody that has problems.
  8. Why bother? PBEM Helper probably already has those features.
  9. 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 ]
  10. 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!
  11. 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>
  12. 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.
  13. 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! And all that I want is a way to play CMBB faster, i.e. more...
  14. 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 plot #1 (generates turn) file contains game state #2, movie #1 a) view #1 file contains game state #2, movie #1 view #1 + plot #2 file contains game state #2, b#2 a) plot #2 (generates turn) file contains game state #3, movie #2 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 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 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.
  15. Well! 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... 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>
  16. Ingenious! But probably too much hassle for the rest of us...
  17. 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.
  18. 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.
  19. 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.
  20. 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.
  21. Try PBEM Helper, it already has this feature.
  22. 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! 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.
  23. 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 ###.
  24. 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...