Since december 2012 Battlestations: Midway is supported by GameSpy no longer. The only one possibility for Midway players is GameRanger. Please visit www.gameranger.com, download Gameranger client and make new account. You can find other Midway players in the Gameranger rooms. BS:M patch 1.1.1 is required to play online battles. Iowa Mission Pack and Midway Modders Mappacks 1 and 2 are recommended.

BSPRipper GUI Automation

BSPRipper GUI Automation

Okay fire away ab

1) BSP Ripper is currently a 32 bit application, and there is no 64 bit version
2) Until someone figures out the zlib stuff in regards to Battlestations Pacific, this is the only client side method (besides manual or another automation script) to patch mpak files

Compatibility Notes: Tested on Vista so far but I may need a different routine for XP, i'm pretty sure its (shbrowseforfolder) the same though and should work

Steps:
1) Modify Source Code as appropiate
2) Create Installer that execs autoit3 script and registers any required extensions (RICHTX32.ocx)

Example installer (Note: This is live, and really will update your BSP installation to Beta 0.2)

Experimental!

http://www.mediafire.com/?yfz3mhty30m

Sorry if you downloaded one of the previous ones, I missed a line of code
;
; AutoIt Version: 3.0
; Language:       English
; Platform:       Win9x/NT
; Author:         Kraizen
;
; Script Function:
; Works as a wrapper for BSPRipper, in that it allows automated patching at the client end

; Get the registry value from the registry (created by my installer)
    $fakebspdir = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Eidos\Battlestations Pacific", "tempBSPKM")
    $bspdir = StringTrimRight($fakebspdir, 23)
    $bsptempdirC = "C:\#A"
    $bsptempdirD = "D:\#A"
   
    FileCopy($fakebspdir & "\BSPRipper.exe", $bspdir & "\BSPRipper.exe")
    FileCopy($fakebspdir & "\fsbext.exe", $bspdir & "\fsbext.exe")
    FileCopy($fakebspdir & "\XBADPCM.ACM", $bspdir & "\XBADPCM.ACM")
    FileCopy($fakebspdir & "\XBADPCMinst.inf", $bspdir & "\XBADPCMinst.inf")
    FileCopy($fakebspdir & "\zlibc.exe", $bspdir & "\zlibc.exe")
   
    $bsppatchfiles = ($bspdir & "\ModFiles\")
    $bspfakepatchfiles = ($fakebspdir & "\ModFiles\")
   
    DirCopy($bspfakepatchfiles, $bsppatchfiles, 1)
   
; Combine strings for bspripper path (NOTE: THIS IS ONE OF THE MORE TEDIOUS SECTIONS, I ONLY HAVE 2 MPAKS SO FAR RELEASED, WILL BE DIFFERENT FOR MAPPACKS)
    $bspripper = ($bspdir & "\bspripper.exe")
    $bspbackupsource1 = ($bspdir & "\mpak\global\Game_Global.mpak")
    $bspbackupsource2 = ($bspdir & "\mpak\global\GGame__OnInit.mpak")
    $bspspourcedirectory = ($bspdir & "\mpak\global\")
    $bspbackupdestination1 = ($bspdir & "\backup\Game_Global.mpak")
   
    $bspbackupdestination2 = ($bspdir & "\backup\GGame__OnInit.mpak")
    $bsppatchfiles = ($bspdir & "\ModFiles\")
    $bsppatchdestination = ($bspdir & "\ExtractedFiles\")
    $bsppatch = ($bspdir & "\NewMPAKs\")
   
    $answer2 = MsgBox(4, "BSPKMBeta", "Click Yes to use Drive C for temporary working files (otherwise Drive D will be selected)")
    If $answer2 = 6 Then
        $bsptempdir = $bsptempdirC
    Else
        $bsptempdir = $bsptempdirD
    EndIf
   
    $bsppatchdestination2 = ($bsptempdir & "\ExtractedFiles")
   
; Warn the user to not click or press on anything during script execution
    MsgBox(0, "BSPKMBeta", "Follow the instructions, and do not click your mouse or touch your keyboard unless instructed")
   
; Ask the user if they want to backup their MPAK files
    $answer = MsgBox(4, "BSPKMBeta", "Do you want to back up your old files?")

; Check the user's answer to the prompt, if yes, then proceeds to backup files before they are changed, automatically erases previous backups
    If $answer = 6 Then
        FileCopy($bspbackupsource1, $bspbackupdestination1, af
        FileCopy($bspbackupsource2, $bspbackupdestination2, af
        MsgBox(0, "BSPKMBeta", "They are now stored in your Battlestations Pacific\Backup directory. To restore the backup, please read the readme. Click OK.")
    Else
        MsgBox(0, "BSPKMBeta", "Your files were not backed up.")
    EndIf

; Starts BSP Ripper
    Sleep(200)
    Run($bspripper)

; ------------ Start of Extraction ------------

; Waits for the window to become active
    WinWaitActive ("BSP Ripper  ver-1 build-171", "")

; Clicks Open MPAK
    ControlClick("BSP Ripper  ver-1 build-171", "", "ThunderRT6CommandButton12")

; Waits till the browser is open and then inputs the path for Game_Global.mpak
    Sleep(200)
    Send($bspdir)
    Sleep(200)
    Send("\mpak\Global\Game_Global.mpak")
    Sleep(200)
    Send("{ENTER}")
   
; Clicks Select All
    Sleep(200)
    ControlClick("BSP Ripper  ver-1 build-171", "", "ThunderRT6CommandButton1")

; Clicks Extract Files
    Sleep(200)
    ControlClick("BSP Ripper  ver-1 build-171", "", "ThunderRT6CommandButton11")

; Waits for the extraction to complete
    WinWaitActive ("BSP Ripper  ver-1 build-171", "Extraction complete.")
   
; Clicks Open MPAK
    ControlClick("BSP Ripper  ver-1 build-171", "", "ThunderRT6CommandButton12")

; Waits till the browser is open and then inputs the path for GGame__OnInit.mpak
    Sleep(200)
    Send($bspdir)
    Sleep(200)
    Send("\mpak\Global\GGame__OnInit.mpak")
    Sleep(200)
    Send("{ENTER}")
   
; Clicks Select All
    Sleep(200)
    ControlClick("BSP Ripper  ver-1 build-171", "", "ThunderRT6CommandButton1")

; Clicks Extract Files
    Sleep(200)
    ControlClick("BSP Ripper  ver-1 build-171", "", "ThunderRT6CommandButton11")

; Waits for the extraction to complete
    WinWaitActive ("BSP Ripper  ver-1 build-171", "Extraction complete.")

; ------------ End of Extraction ------------

; Copies the contents of "ModFiles" over "ExtractedFiles"
    DirCopy($bsppatchfiles, $bsppatchdestination, 1)
   
; Copies the contents of "ExtractedFiles" to temp "ExtractedFiles"
    DirCopy($bsppatchdestination, $bsppatchdestination2, 1)
   
; ------------ Start of Compilation ------------

; Clicks "Select MPAK Folder"
    if $bsptempdir = $bsptempdirC Then
        Sleep(1000)
        ControlClick("BSP Ripper  ver-1 build-171", "", "ThunderRT6CommandButton14")
        WinWaitActive ("Browse for Folder")
        Send("{DOWN}")
        Sleep(10000)
        Send("{DOWN}")
        Sleep(2000)
        Send("{RIGHT}")
        Sleep(1000)
        Send("{RIGHT}")
        Sleep(1000)
        Send("{RIGHT}")
        Sleep(1000)
        Send("{RIGHT}")
        Sleep(1000)
        Send("{RIGHT}")
        Sleep(1000)
        Send("{RIGHT}")
        Sleep(1000)
        Send("{ENTER}")
        Sleep(1000)
        ControlClick("BSP Ripper  ver-1 build-171", "", "ThunderRT6CommandButton10")
        WinWaitActive ("BSP Ripper  ver-1 build-171", ".MPAK pack complete.")

        ControlClick("BSP Ripper  ver-1 build-171", "", "ThunderRT6CommandButton14")
        Send("{DOWN}")
        Sleep(1000)
        Send("{DOWN}")
        Sleep(1000)
        Send("{RIGHT}")
        Sleep(1000)
        Send("{RIGHT}")
        Sleep(1000)
        Send("{RIGHT}")
        Sleep(1000)
        Send("{RIGHT}")
        Sleep(1000)
        Send("{RIGHT}")
        Sleep(1000)
        Send("{DOWN}")
        Sleep(1000)
        Send("{DOWN}")
        Sleep(1000)
        Send("{ENTER}")
        Sleep(1000)
        ControlClick("BSP Ripper  ver-1 build-171", "", "ThunderRT6CommandButton10")
        WinWaitActive ("BSP Ripper  ver-1 build-171", ".MPAK pack complete.")
    else
        Sleep(1000)
        ControlClick("BSP Ripper  ver-1 build-171", "", "ThunderRT6CommandButton14")
        WinWaitActive ("Browse for Folder")
        Send("{DOWN}")
        Sleep(10000)
        Send("{DOWN}")
        Sleep(2000)
        Send("{DOWN}")
        Sleep(2000)
        Send("{RIGHT}")
        Sleep(1000)
        Send("{RIGHT}")
        Sleep(1000)
        Send("{RIGHT}")
        Sleep(1000)
        Send("{RIGHT}")
        Sleep(1000)
        Send("{RIGHT}")
        Sleep(1000)
        Send("{RIGHT}")
        Sleep(1000)
        Send("{ENTER}")
        Sleep(1000)
        ControlClick("BSP Ripper  ver-1 build-171", "", "ThunderRT6CommandButton10")
        WinWaitActive ("BSP Ripper  ver-1 build-171", ".MPAK pack complete.")

        ControlClick("BSP Ripper  ver-1 build-171", "", "ThunderRT6CommandButton14")
        Send("{DOWN}")
        Sleep(1000)
        Send("{DOWN}")
        Sleep(2000)
        Send("{DOWN}")
        Sleep(1000)
        Send("{RIGHT}")
        Sleep(1000)
        Send("{RIGHT}")
        Sleep(1000)
        Send("{RIGHT}")
        Sleep(1000)
        Send("{RIGHT}")
        Sleep(1000)
        Send("{RIGHT}")
        Sleep(1000)
        Send("{DOWN}")
        Sleep(1000)
        Send("{DOWN}")
        Sleep(1000)
        Send("{ENTER}")
        Sleep(1000)
        ControlClick("BSP Ripper  ver-1 build-171", "", "ThunderRT6CommandButton10")
        WinWaitActive ("BSP Ripper  ver-1 build-171", ".MPAK pack complete.")
    EndIf
   
    DirCopy($bsppatch, $bspspourcedirectory, 1)
   
    Sleep(5000)
   
    DirRemove ($bsptempdir, 1)

    MsgBox(0, "BSPKMBeta", "Patching is complete, you may quit and enjoy the mod!")
   
Exit

Edited By: Kraizen
20-Sep-09 18:57:56

Kraizen
Seaman
Activity Points: 9
ranks
useravatar
Offline
18 Posts
User info in posts
Administrator has disabled public posting

Re: BSPRipper GUI Automation

Ill move these files to our server. Still can't download second .exe because of Processing download request...

First file produces an error. Something like a: When using If you need to use Then. I'm using XP.

But i think I got your idea and it's very usefull. Currently we are concerned on releasing our Midway mappack, but it should be done in one week. Pls give me a little more time to download second.


EDIT: And yes i downloaded second too.

There is (probably XP only) error which i can see. But I should say it again. Very interesting script.

http://battlestations.eu/components/com_agora/img/members/4/mini_error.gif


EDIT2: Now i must wait 15 minutes for new download. Next test after 15 minutes ab

admin
Activity Points: 5
useravatar
Offline
0 Posts
User info in posts
Administrator has disabled public posting

Re: BSPRipper GUI Automation

Sorry but I hate to be a nuisance, the script is broken at the moment because a registry entry is being set wrong... just trying to work out how to fix it now. Those links are definitely broken versions.

Kraizen
Seaman
Activity Points: 9
ranks
useravatar
Offline
18 Posts
User info in posts
Administrator has disabled public posting

Re: BSPRipper GUI Automation

Okay i'm here and waiting for new working version. BTW Im using BSPacific (which is possibly not important) with different langauge version and XP with different language version. You can test patcher in extreme conditions ab

admin
Activity Points: 5
useravatar
Offline
0 Posts
User info in posts
Administrator has disabled public posting

Re: BSPRipper GUI Automation

This looks nice and all but what exactly does this even do! Whats the difference between a 32 bit BSP ripper to a 64 Bit one?!?

Support me on Twitter!

http://twitter.com/Tipsymahn260

Tipsy3000
American Idiota! ;D
Commodore
Activity Points: 943
ranks
useravatar
Offline
1029 Posts
User info in posts
Administrator has disabled public posting

Re: BSPRipper GUI Automation

Indeed lol! I think it should work though thankfully, though I'm not sure if it will change anything to english ingame ^^

Heres a new one,

http://www.mediafire.com/?yfz3mhty30m

Okay, the tricky part is, the navigation when you packing files. I can't actually read data from that box so i'm simulating user input.

Kraizen
Seaman
Activity Points: 9
ranks
useravatar
Offline
18 Posts
User info in posts
Administrator has disabled public posting

Re: BSPRipper GUI Automation

Tipsy3000 wrote:

This looks nice and all but what exactly does this even do! Whats the difference between a 32 bit BSP ripper to a 64 Bit one?!?

Basically lets a nub nub install a mod ^^ They don't need to know how to operate BSP Ripper.

Plus, allows patches to be done on the persons computer, as opposed to uploading the entire mpak files ag

32 bit applications usually cannot run easily under 64 operating system, its a problem with the way BSP Ripper works.

Umm... 32 bit means 2^32 is the highest possible bit string, 2^64 is 64 bit.

Kraizen
Seaman
Activity Points: 9
ranks
useravatar
Offline
18 Posts
User info in posts
Administrator has disabled public posting

Re: BSPRipper GUI Automation

Oh, I see what your saying, that clears it up, btw I do know what 32/64 bit is but I never noticed how it might effect BSP ripper.

Support me on Twitter!

http://twitter.com/Tipsymahn260

Tipsy3000
American Idiota! ;D
Commodore
Activity Points: 943
ranks
useravatar
Offline
1029 Posts
User info in posts
Administrator has disabled public posting

Re: BSPRipper GUI Automation

Indeed, I wasnt expecting it either, but I got one of my friends with 64bit to test it and it wouldnt work ac

Edit: And I think I may have just found out why...
I need to install BSP ripper properly before I can exec it like this, I'll add it to the setup.exe.

Edit:
http://www.mediafire.com/?y41jhwkdgme
This one contains BSPRipper's installation package, and runs it during extraction of the files from my installer.

Solves .ocx errors ag

Probably won't fix the error you are getting though... basically only a couple of things that can cause it though.

Kraizen
Seaman
Activity Points: 9
ranks
useravatar
Offline
18 Posts
User info in posts
Administrator has disabled public posting

Re: BSPRipper GUI Automation

I noticed progress. But still error occured.

http://battlestations.eu/components/com_agora/img/members/4/mini_error2.gif

admin
Activity Points: 5
useravatar
Offline
0 Posts
User info in posts
Administrator has disabled public posting

Re: BSPRipper GUI Automation

Yep yep, definiately getting somewhere.

The error thats pumping out is because it isnt finding the correct mpak file, to trace it, i'll put in some debugging functions that dump variables to a text file, so we can figure that one out.

It's about 4:30 am here, probably should get some sleep and things will be clearer in the morning heh.

btw, in my testing, i noticed that occaisionally it would fail just like that, can you verify that the program is typing in information to the browse for file dialogue?

Basically, it should click open mpak, then locates it in the file explorer (types in its directory address), presses enter, and then clicks extract. It seems to me that it's just clicking extract ac

Also, make sure that there has been a folder created in your Battlestations Pacific Directory, did the backups appear in the right place?

Off to bed. lol.

Kraizen
Seaman
Activity Points: 9
ranks
useravatar
Offline
18 Posts
User info in posts
Administrator has disabled public posting

Re: BSPRipper GUI Automation

Okay - step by step. I hope it helps you recognise problem. Again - XP 32 bit, non english Win, non english Pacific.

First i downloaded latest version and it didnt't works for me. Okay - I found a reason. There was previous instalation paused. Check screenshot. It's SysTray, near clock ae

http://battlestations.eu/components/com_agora/img/members/4/mini_error1.gif

I closed that paused script, then i got a question about overwritting existed file. I know exactly what to do, but... pls imagine unexperienced player. Heartattack, shock etc etc

http://battlestations.eu/components/com_agora/img/members/4/mini_error22.gif

Next step. Installer informed me, all files are backup in Battlestations Pacific/backup folder. But they aren't. Check screenshot. There is no folder called backup.

http://battlestations.eu/components/com_agora/img/members/4/mini_error4.gif

And finally i'm again in same place. Small icon near clock in Systray. And BSP Ripper opened dialog window - choose correct MPAK file.

admin
Activity Points: 5
useravatar
Offline
0 Posts
User info in posts
Administrator has disabled public posting

Re: BSPRipper GUI Automation

Okay, i've given up on that method, it works, and is an excellent tool for modders (to quickly update game files when testing changes before release) but it doesnt meet my needs, or the needs of the community.

I'll post around modding forums to see if I can get any help with the C++ for zlibc, i can do some stuff but I focus more on the multimedia side of things (3d modelling, artwork, game scripting/class coding).

It shouldnt prove too hard, just need to find someone with the programming skill.

Kraizen
Seaman
Activity Points: 9
ranks
useravatar
Offline
18 Posts
User info in posts
Administrator has disabled public posting

Re: BSPRipper GUI Automation

Can you guys upload to Filefront I can,t download it , the link broke .

RTY1941
Warrant Officer
Activity Points: 0
ranks
useravatar
Offline
26 Posts
User info in posts
Administrator has disabled public posting

Re: BSPRipper GUI Automation

I'm affraid that project is not finished. And probably will be never finished, because Kraizen again forgot about Battlestations. Sad because we planned to build a team of modders for Pacific, something strong like a Midway Modders (eleven 100% ready maps are done, many new changes in BS Midway, including graphic and sound). And we still waiting to build something good for Pacific....

admin
Activity Points: 5
useravatar
Offline
0 Posts
User info in posts
Administrator has disabled public posting

Board Info

Board Stats:
 
Total Topics:
1688
Total Polls:
69
Total Posts:
23035
Posts this week:
1
User Info:
 
Total Users:
19856
Newest User:
Anthonyboite
Members Online:
0
Guests Online:
695

Online: 
There are no members online

Forum Legend:

 Topic
 New
 Locked
 Sticky
 Active
 New/Active
 New/Locked
 New Sticky
 Locked/Active
 Active/Sticky
 Sticky/Locked
 Sticky/Active/Locked

Login Form

Battlestations Shoutbox

Latest Message: 1 week, 4 days ago
  • Legendary Da : Hi everyone, I have one (or two) quick question about BS:M modding. I try to figure out sp mapmaking, and my first act on it was to convert a MP map to SP. However I can only play as Allies in those maps. What parameter do I have to change to play those maps as Japanese in the respective map .mpak (And where is the parameter I have to change?)?
  • N_Trainz : G'day mates, I just wanted to let those who use Windows 10 and also for those who are having troubles getting the game launching because of Games for Windows LIVE, I made a tutorial of how to get it working successfully again like on Windows 8.1. Its on my channel and here's the link to the video. «link»
  • Mokeo67 : The dictator, I downloaded the mmod2txm and I added four slots to the fletcher and a couple to the lexington.Thanks for the help though.
  • The Dictator : Makeo67 i've explained how to find the unused slots in the topic and the mmod2txm it's a program that has been shared. However there aren't so many ships with unused platforms and sme of them are in wrong positions and for move them you need to know how to change the mmod file. But if you know how to do it you can make new platfors as you want. I've shared the south dakota disposition and this one is the most intersting in my opinion
  • N_Trainz : Well it looks like we have spammers again
  • Mokeo67 : No problem Thanks for the help
  • Axis_Crusher : Not really
  • Mokeo67 : Ok thanks anyway. Do you know who does?
  • Axis_Crusher : Unfortunately I don't deal with that part of modding
  • Mokeo67 : Sorry forgot the link. «link»
  • Mokeo67 : This is the forum topic I meant. The dictator said he found the unused slots in the TXM file obtainable with the mmod2txm, what is this and is it available to use.
  • Axis_Crusher : This is your best bet: «link»
  • Mokeo67 : Also I saw on the forum that ships have unused platform slots. How do I use these?
  • Mokeo67 : I tried changing the bogue class carrier to a yorktown class in the phillipene sea mission and one of two things happened. The mission either didnt change or the game crashed.
  • Axis_Crusher : No problem
  • Mokeo67 : That is what im talking about. Ill have a look at it later thanks for the help
  • Axis_Crusher : specific mission’s 3_scene mpak file by working on the .lua file. There is where the bonus unit is actually added into the mission (by the script). I haven't tried it myself so good luck.
  • Axis_Crusher : I assume you are talking about the bonus units that you unlock for certain missions by completing previous ones (like the B - 25’s in the 2nd Battle of Guadalcanal). The bonus units are unlocked by completing certain objectives in the campaign - so that is linked to your campaign progress. Since that cannot be altered you must look at the missiontree.lua file. This is where the unit will show up unlocked on the mission screen. There are references to allunitslock. Also you will have to edit the
  • Mokeo67 : Thank you I will look in this file. I did unlock all the campaign missions, all you have to do is delete the text after 'prerequisite' and it will unlock. But I havent figured out how to unlock the bonus units.
  • Axis_Crusher : I also prefer it being off, just as most of the BSM community. Most players, however prefer repair to be enabled so that is what we should do. Most of our maps it will be disabled through the script however. If you want to play with the game's repair settings you can find it under shipglobals.lua

Only registered users are allowed to post

Latest Posts

Now Online

None

Birthdays

HyTech Send PM
birthday will Sunday, 11 December 2016

Nemesisgr Send PM
birthday will Sunday, 11 December 2016

R4tzer Send PM
birthday will Sunday, 11 December 2016

Mad.fin.69 Send PM
birthday will Thursday, 15 December 2016

Szlachcico Send PM
birthday will Thursday, 15 December 2016