Larian Banner
Previous Thread
Next Thread
Print Thread
Pipe Tool - A tool to aid team development. #639075
17/12/17 01:27 AM
17/12/17 01:27 AM
Joined: Nov 2017
Posts: 16
Guava527 Offline OP
stranger
Guava527  Offline OP
stranger

Joined: Nov 2017
Posts: 16
EDIT: Pipe Tool is updated for Definitive Edition and will no longer work for Classic. Just be sure to select the data folder in ..\Steam\steamapps\common\Divinity Original Sin 2\DefEd

Pipe Tool is a tool to aid team development of DOS2 mod projects using source control, such as Git or SVN. It can also be used as a simple backup tool to quickly save and restore important progress.

This tool is currently necessary during the development of the mod: Arena Challenges. More info about the mod can be found here. Mod project files are distributed in multiple locations in the DOS2 Data folder, making it difficult to work with source control repositories. Thus, this tool was born.

Letter to Larian:
I completely welcome DOS2 and Divinity Engine 2 updates that makes this tool unnecessary.
If there are no such plans, then I hope this tool can help out the community.

Download the binaries. (The executable program).
Download the source, which is public-domain.
I believe google will show a view for the zip contents. There's a download button on the top-right that will download the zip file. Let me know if that isn't the case.
If you'd like to check out and/or build the source, make sure to use QT 5.9.3 which can be found here.

Usage Notes:
Be sure to place the binary in its own folder. The folder it resides in will be used as the git endpoint. Note that while it says git, the folder can be used as just a generic backup folder or save point for your mods. At the moment, every backup folder will need a pipetool.exe in it as it's designed to be packaged and shared with dos2 individual mod projects.

Update 12/9/2019: Pipe Tool has been updated to no longer require Microsoft Visual C++ Redistributable for Visual Studio 2017.

Setup

Simply plop this tool into your local repository located anywhere other than in the DOS2 Data folder, and it should be fairly straight forward to use.

Config

[Linked Image]
1. Set the DOS2 Data folder path.
2. All DOS2 mod projects will then be detected. Both projects in the DOS2 Data folder and projects in the repository that Pipe Tool is located in is searched. Projects are listed in the "Detected Mods" list box.
3. Double click the desired mod to extract the UUID into the "Mod UUID" input box. If everything is setup correctly, the Pipe tab will become available.

Usage

[Linked Image]
Some terms should be clarified and usage should be easy to understand.

DOS2 Endpoint - The directories and files that make up where the mod project is loaded by The Divinity Engine 2 and by the game.

Git Endpoint - The directory where Pipe Tool should be located. Note that while it says Git, any version control system that allows a local repository will work.

Pipe In - Make the DOS2 endpoint contents identical to the Git endpoint contents by copying or removing files.

Pipe Out - Make the Git endpoint contents identical to the DOS2 endpoint contents by copying or removing files.

After a pipe operation, the endpoints should be synchronized.
[Linked Image]

Another important usage of Pipe Tool is the ability to delete the project files using the delete button. This is useful because DOS2 mod projects are loaded with priority over mods subscribed on Steam, even if projects are not locally exported. In order to play the published version of the mod with others, the project must be removed.

So a common usage would be to Pipe Out, then delete DOS2 endpoint contents when you want the game to load the published mod, and Pipe In later to resume development of the unpublished version.

Please let me know if there are any questions or issues here. I hope to see more team developed mods because I love Divinity Original Sin 2!

Last edited by Raze; 09/12/19 03:03 PM.
Re: Pipe Tool - A tool to aid team development. [Re: Guava527] #639838
30/12/17 02:20 PM
30/12/17 02:20 PM
Joined: May 2017
Posts: 349
LaughingLeader Offline
enthusiast
LaughingLeader  Offline
enthusiast

Joined: May 2017
Posts: 349
Hey Guava527, thanks for making this!

As someone who currently has way too many projects, there are a few features I think would be really nice to have:

An option to specify the "root directory" for the git endpoint.
Inside that root directory, individual mod projects are stored in folders labeled by the mod name.
The ability to add multiple projects to "track", which then populates a list on the pipe tab, with the ability to tick (via checkbox) which projects pipe in/out runs on.
A "check all" and "uncheck all" button to quickly select which projects to pipe.

And, optionally:
Pipe Tool hosted on Github, for easier requests/bug reports/forks/etc (if not already - I didn't see a link). opa

I currently have about 16 mod projects (not all active), so a few more features would make life easier when it comes to backing up everything.

I'm currently doing the junction thing and hosting my source on Github, but I'd like an easier way to back up my assets/effects/etc, and Pipe Tool looks like it could be an easier way.

Thanks again.

Re: Pipe Tool - A tool to aid team development. [Re: LaughingLeader] #639867
30/12/17 11:10 PM
30/12/17 11:10 PM
Joined: Nov 2017
Posts: 16
Guava527 Offline OP
stranger
Guava527  Offline OP
stranger

Joined: Nov 2017
Posts: 16
Hmm, I don't really intend to make Pipe Tool a full-blown project of its own, so it doesn't have its own Git repository. It's working really well right now for our project so I'm not really inclined to expand its functionality. However, it is open-source and public-domain, so you or anyone else are free to make changes, host mirrors, or do whatever you want with it.

The current design is that each mod folder would have its own PipeTool.exe in it. Each mod would likely have its own contributors and as a tool to aid team development rather than backup, it wouldn't make sense to require contributors to pull mods they aren't working on. That is my opinion anyways.

Thanks for your input though. Man, good luck on 16 mod projects.

Last edited by Guava527; 30/12/17 11:11 PM.
Re: Pipe Tool - A tool to aid team development. [Re: Guava527] #639883
31/12/17 02:27 AM
31/12/17 02:27 AM
Joined: May 2017
Posts: 349
LaughingLeader Offline
enthusiast
LaughingLeader  Offline
enthusiast

Joined: May 2017
Posts: 349
Originally Posted By: Guava527
Hmm, I don't really intend to make Pipe Tool a full-blown project of its own, so it doesn't have its own Git repository. It's working really well right now for our project so I'm not really inclined to expand its functionality.

Fair enough.

Originally Posted By: Guava527
...it wouldn't make sense to require contributors to pull mods they aren't working on. That is my opinion anyways.

Oh, I didn't mean to suggest you should remove the individual project capability in favor of running just one instance of the program, even though that's likely how I'd use it (as maintaining multiple folders/copies of PipeTool isn't really ideal for my situation).

Multiple contributors shouldn't have to pipe every mod the team is working on all at once. I agree on that. I don't think it has to be one or the other though.

Anyways, I'll figure something out. up

Originally Posted By: Guava527
Thanks for your input though. Man, good luck on 16 mod projects.

Thanks. I actually have ideas for more, but there's only so much time in the day, haha. Thankfully I'm not actively trying to complete these all at once, or I'd go nuts:

Click to reveal.. (Too many projects...)

Re: Pipe Tool - A tool to aid team development. [Re: Guava527] #644925
11/04/18 07:34 AM
11/04/18 07:34 AM
Joined: Nov 2017
Posts: 16
Guava527 Offline OP
stranger
Guava527  Offline OP
stranger

Joined: Nov 2017
Posts: 16
This tool is discontinued and can no longer be obtained. If a moderator sees this, please close or delete this thread. The download will no longer be available.

Re: Pipe Tool - A tool to aid team development. [Re: Guava527] #644933
11/04/18 11:05 AM
11/04/18 11:05 AM
Joined: Mar 2003
Posts: 27,617
Canada
Raze Offline

Larian Studios
Raze  Offline

Larian Studios

Joined: Mar 2003
Posts: 27,617
Canada

I'll add that note to the OP, and lock the topic.

Re: Pipe Tool - A tool to aid team development. [Re: Guava527] #657620
09/12/19 08:01 AM
09/12/19 08:01 AM
Joined: Nov 2017
Posts: 16
Guava527 Offline OP
stranger
Guava527  Offline OP
stranger

Joined: Nov 2017
Posts: 16
Thank you, Raze, for opening this topic back up. I am back from my hiatus due to health issues. I'm unable to edit the first post in this thread, so I'll have to post new info here. The links in the first post no longer work.

Pipe Tool is updated for Definitive Edition and will no longer work for Classic. Just be sure to select the data folder in "DefEd".

Binary: https://drive.google.com/file/d/12cSfiQunTczi9m9TnSty067cNKshj3sS/view?usp=sharing
Source: https://drive.google.com/open?id=1vHpOFs_Zg_iX6nLWMLYxjnlRV1J5tgeL
I believe google will show a view for the zip contents. There's a download button on the top-right that will download the zip file. Let me know if that isn't the case.
If you'd like to check out and/or build the source, make sure to use QT 5.9.3 which can be found at: https://download.qt.io/official_releases/qt/5.9/5.9.3/

Usage Notes:
Be sure to place the binary in its own folder. The folder it resides in will be used as the git endpoint. Note that while it says git, the folder can be used as just a generic backup folder or save point for your mods. At the moment, every backup folder will need a pipetool.exe in it as it's designed to be packaged and shared with dos2 individual mod projects.

Last edited by Guava527; 09/12/19 08:05 AM.

Moderated by  Dom_Larian, Larian_Koala 

Powered by UBB.threads™ PHP Forum Software 7.6.2