Git Product home page Git Product logo

pboman3's Introduction

PBO Manager

A tool to open, pack and unpack ArmA PBO files.

Key features

  • Can pack/unpack PBO files.
  • Can preview files inside a PBO.
  • Can open mangled (by Mikero's tools) PBO.
  • Integrates with Windows Explorer / immersive menu.
  • Supports PBO metadata provisioning through pbo.json or $PBOPREFIX$ files.

Screenshots

Main application window

Context menu integration

Unpack PBO context menu Pack folder as PBO context menu

Windows 11 immersive menu integration

Windows 11 immersive menu

Installation

🔹 The application requires Microsoft Visual C++ Redistributable 2015-2019 to run. Othervise, the application will complain regarding the vcruntime140.dll.

Windows 10

Installer

  1. Download the installer from the Releases section.
  2. Run the installer.

Manual instllation

  1. Download the binaries from the Releases section.
  2. Run the pbom.exe
  3. Optionally, to get the Windows Explorer integration, register the dll:
     C:\Windows\SysWOW64\regsvr32.exe C:\Where\The\App\Is\pboe.dll
    
    To unregister the dll later, use:
    C:\Windows\SysWOW64\regsvr32.exe /u C:\Where\The\App\Is\pboe.dll
    
    Normally no admin permissions should be required for the registration.

Windows 11

The Windows 10 installation instructions are still valid for Windows 11, although the MSIX package is the suggested method of installation. The Windows 11 immersive menu integration won't function otherwise. 📌

Building from source

  1. Set the env variables:

    Variable Description Example
    Qt6_ROOT Where QT is located. Needed for CMAKE to build. G:\Qt\6.3.3\msvc2019_64
  2. Run the script:

    # powershell
    git clone --recurse-submodules [email protected]:winseros/pboman3.git
    cmake -S <path_to_source_code> -B <path_to_build_files>
    cmake --build <path_to_build_files>
    

Also, see how CI builds.

Open in IDE

  1. Set the env variabls:

    Variable Description Example
    Qt6_ROOT Where QT is located. Needed for CMAKE to build. G:\Qt\6.3.0\msvc2019_64
    PATH Where QT binaries are located. Needed for the IDE to run/debug. G:\Qt\6.3.0\msvc2019_64\bin
    PATH Where OpenSSL binaries are located. Needed for IDE to run/debug. G:\Qt\Tools\OpenSSL\Win_x64\bin
  2. Open the the root folder in IDE

pboman3's People

Contributors

winseros avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

pboman3's Issues

Windows 11 Navigation Pane Context Menu causing File Explorer crashes

Issue

When using W11, right clicking on a drive or folder in the navigation pane of File Explorer, and attempting to do any context menu action will crash File Explorer, and restart it.

Steps to re-produce

  1. Open File Explorer
  2. Right click any item in the left hand navigation pane
  3. Hit "Properties" or any other context menu action
  4. File Explorer restarts

Installer version of V1.4.0, yet to test on binaries version.

Allow overwriting of existing PBO

Currently, if the PBO already exists, the packing fails. It would be nicer to have a dialog asking if the user wants to overwrite the PBO.

UI must lock when a file is saving

At the moment, while a PBO file is saving, the main program UI is left clickable. That might cause unpredictable behavior if the user does changes in the file tree during the save operation.

The program UI must block when a save operation is in progress.

UI should not block when loading a file

When loading a file UI hangs. If a file is small, it is hard to notice. But when a file is huge - it is noticeable.

Files have to be loaded in a background thread.

Junk filter and empty files

I've been working with https://github.com/Vdauphin/HeartsAndMinds/ recently and it uses a empty .sqf file that it will not work without (believe it gets compiled when the mission is being loaded) .

pboman3 1.6.0 keeps removing this file. We need a setting to disable any junk filter or what ever is removing it. As a workaround I have to keep adding the empty SQF (core/init_common.sqf) manually every time I make any changes.

The most frustrating thing about it is that is not communicated that it gets done, and it is done even when just opening a pbo, replacing one file and saving.

Unable to open some PBOs. Missions and addons

Hey there, I am not able to open some PBOs. These are missions and addons, all of them working fine in Arma and I am able to open them with other PBO tools like the old PBO manager.

Where would I send the PBOs for you to test and hopefully come up with a fix if possible?

Program crashes when opening an mangled mikero 9.11 PBO

When the program tries to open a mangled PBO with the latest version of Mikero (DePbo.dll.9.11), the program crashes and then a .dmp appears in the system CrashDumps folder.

If you need any PBO to test it, do not hesitate to contact me.

msix build cannot install

The .msix build available in releases for version 1.6.0 won't let me install, for the following reason:

This app package’s publisher certificate could not be verified. Contact your system administrator or the app developer to obtain a new app package with verified certificates. The root certificate and all immediate certificates of the signature in the app package must be verified (0x800B010A)

Option to use custom PBO file icons

I just had to unpack and repack 157 PBO files which the old PBO Manager 1.4b was unable to do in bulk. I have used that program for so long that I instinctively associate the red archive folder with PBO files. I would like the option to change the file icon so I can still use the instantly recognizable one I have used for so long.

Options Typo

In Settings, the 3rd tick box option for "In the case of file conflict when packing a PBO:" has a typo in it, "Owerwrite the existing file", should be "Overwrite".

Add "automatic" deobfuscation from Mikero's tools

Hey there, seeing as you can open "mangled" pbos by Mikero's tools, I think it would be cool to add at least somewhat automated deobfuscation.

From my understanding, it only changes the config.cpp etc to use #include "weirdAssName" to inlcude those random characters.
For example a config.cpp containing #include "ўЯњљЦ*�уаџѐ", renamiming "ўЯњљЦ*�уаџѐ" to "config.cpp" actually shows the correct config.cpp.

This feature would be really appreciated.

"File->Open" opens previous file after file has been updated

  1. Have a pbo with a text file file1.txt.
  2. Open the file1.txt notice its contents.
  3. Replace the file1.txt with another file with another content.
  4. Open the file1.txt. Notice the file1.txt content is from the original file. While the expected result is the file1.txt having the new content.

File extraction doesn't work.

File extraction does not work properly on Ver 1.5.0.
pbo.json is generated when perform extraction.
Installation destination is local. (Just for me)

Ver 1.4.1 can be extraction correctly.
also extract it with Mikero's ExtractPbo is without any problems.

Maybe the latest Windows 10 update is the culprit. I recently did a clean install of Windows 10.
Edition/Version: Windows 10 Home 22H2 built 19045.2913

pbo.json contents is below.
{ "compress": { "exclude": [ ], "include": [ ] }, "headers": [ { "name": "prefix", "value": "myaddonname" } ] }

New (1.5.0) junk-filter is too aggressive

I have several mod and mission PBOs that now look as if they have no content at all, but they contain just plain ASCII filenames and were created using Arma tools. I am not sure what specific issues PBO sees with them. Also, at least one mod that can be easily unpacked with unpbo (Mikero) that has a plain config.cpp will have that file be binary junk when unpacked with PBO Manager (though I am not sure this is the same issue). All of this works just fine with 1.4.1.

Spelling error

There is an spelling error under View, see picture below.

image

Overwrite existing PBO when packing

Right now PBOMan3 will throw out error if user tries to pack a folder into a PBO which name is already used in the same directory, so it has to be manually removed, the manager window closed and whole packing action repeated. Old PBO Manager could just overwrite the existing PBO and copy the older version as .pbo.old. This was very useful and would love to see the same here.

Can't open a PBO

Found a PBO (that most probably includes some kind of DRM and is obfuscated) that I'd love to take a peek into.

Had high hopes for PBOMan3, as it manages to open other obfuscated PBOs, but sadly does not manage with this one.

It starts to open it, CPU util ramps up, RAM usage is slowly increasing. The PBO itself is around 350BM. RAM usage went to about 250BM, which took about half an hour. After that, it got reset and started to slowly climb again.

How could I provide you with the PBO for testing? It's not meant to be shared publicly.

PBO Manager halving the file size

I'm trying to edit a mission but when it's time to repack it, pbo manager halves the size of the pbo. Using your old pbo manager doesn't seem to cause any problems..

.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.