Calling all C#/C/C++/Pascal experienced programmers!

What's new and upcoming in Tale of Two Wastelands? Find out here.
Sethoria123
Posts: 48
Joined: Mon Dec 15, 2014 7:24 pm

This is exciting! :D i hope

Post by Sethoria123 » Fri Oct 06, 2017 8:41 am

This is exciting! :D i hope the team finds a good C# programmer! any day now 3.0 ready for dl ^^



GrantSP
Posts: 123
Joined: Sun Jan 08, 2017 11:13 pm

Looking at the code it may be

Post by GrantSP » Fri Oct 06, 2017 9:22 pm

Looking at the code it may be possible to push a release based on the previous version pretty quickly but one that uses the new design document layout may be another matter.


If the old style installer works, all that needs to be done is provide it with the new edits made by the rest of the team over the course of the last few years.


Nb. This shouldn't be viewed as gospel as I am NOT an experienced coder, just a hacker. (The plodding kind, not the malicious kind.)



User avatar
RoyBatty
Posts: 6515
Joined: Sun Apr 27, 2014 10:26 am
Location: Vault 108

TTW has become too

Post by RoyBatty » Fri Oct 06, 2017 10:24 pm

TTW has become too complicated for the old installer. There are multiple bsa's for TTW and legal reasons for patching everything instead of including any assets.


Image

User avatar
FiftyTifty
Posts: 394
Joined: Tue Apr 09, 2013 7:36 pm

Been thinking about tackling

Post by FiftyTifty » Sat Oct 07, 2017 4:50 am

Been thinking about tackling this. But I've never worked with diff patching files before, and my focus isn't great so my code would need many rounds of bugtesting.


I've looked at the source a couple times, and it seems pretty clunky to me. I'd start over from scratch, but I'm fairly picky. I've thought about how to tackle the biggest problem, having the program's patching behaviour changeable by non-programmers, and I think I've figured out how to approach that. There are downsides to it, however.


Spoiler'd because it's lengthy:


[collapsed title=Spoiler]


For each .bsa that needs to be unpacked, a specific directory will be searched for subfolders. Each subfolder can have any name, but for the example, I will use the name of the .bsa files. Inside the subfolder, there would be three text files. One being the full path to the resource to patch, the second being the relative path to the patch file, and the third being the destination path for the patch. The indexes would be 1:1. For example:


C:\TTW Installer\Patching\FalloutNV - Meshes\A_FilesToPatch.txt


C:\TTW Installer\Patching\FalloutNV - Meshes\B_PatchesForFiles.txt


C:\TTW Installer\Patching\FalloutNV - Meshes\C_PatchDestinations.txt


Let's say there are three files we want to patch, the second one we want to patch three times. The text files would have the following content:


A_FilesToPatch.txt


meshes\architecture\sunsets\festusbarrel.nif


meshes\architecture\pentagon\citadelrubblepile01.nif


meshes\architecture\pentagon\citadelrubblepile01.nif


meshes\architecture\pentagon\citadelrubblepile01.nif


meshes\markers\childbarmarker.nif


BPatchesForFiles.txt


C:\TTW Installer\Patches\00000001FetusBarrel.patch


C:\TTW Installer\Patches\00003832citadelrubblepile01_01.patch


C:\TTW Installer\Patches\02030000citadelrubblepile01_02.patch


C:\TTW Installer\Patches\00043920citadelrubblepile01_03.patch


C:\TTW Installer\Patches\90050600childbarmarker.patch


C_PatchDestinations.txt


C:\TTW Installer\Patched\meshes\TTW\architecture\sunsets\TTW0001FetusBarrelNew.nif


C:\TTW Installer\Patched\meshes\TTW\architecture\pentagon\TTWcitadelrubblepile01_Purple.nif


C:\TTW Installer\Patched\meshes\architecture\pentagon\citadelrubblepile01.nif


C:\TTW Installer\Patched\meshes\TTW\architecture\New\TTWRubblePile05.nif


C:\TTW Installer\Patched\meshes\markers\childbarmarker.nif


Alternatively, rather than using 3 text files, we could just have one spreadsheet file instead. In which case, replace the three text files with three columns.


The above would be pretty easy to implement. Wouldn't take much more than a few for loops. The downside is that they'd have to be made manually, which I assume is not a small undertaking due to the sheer number of patched files.


[/collapsed]


 



User avatar
RoyBatty
Posts: 6515
Joined: Sun Apr 27, 2014 10:26 am
Location: Vault 108

We have a system designed for

Post by RoyBatty » Sat Oct 07, 2017 7:12 pm

We have a system designed for that already.


sourcebsa, sourcefile, destfile


problem is building the patch set, directory compare with automated generation is what is desired to avoid endless manual editing and to avoid errors.


A programmer has stepped up to work on the installer, his name is Matt and I thank whiskeyriver for directing him to us. Hopefully this problem is resolved.


Image

GrantSP
Posts: 123
Joined: Sun Jan 08, 2017 11:13 pm

If he's working on the

Post by GrantSP » Sat Oct 07, 2017 9:50 pm

If he's working on the another repo I'd like to see what he's doing, just to follow along. I learn most of my coding from seeing what others have done. No big deal if he wants to do it quietly but if it's public that would be good to know.



User avatar
RoyBatty
Posts: 6515
Joined: Sun Apr 27, 2014 10:26 am
Location: Vault 108

It should be public. Not

Post by RoyBatty » Sun Oct 08, 2017 3:33 am

It should be public. Not putting all our eggs in one basket yet, have to see how things go.


Image

MATT
Posts: 3
Joined: Wed Oct 11, 2017 3:14 am

Thought I might as well come

Post by MATT » Wed Oct 11, 2017 3:20 am

Thought I might as well come out of hiding and say hi, I'm MATT, and I'm the new guy working on the installer, if you got any questions, ill try and check the forums whenever I can, so feel free to message me!



GrantSP
Posts: 123
Joined: Sun Jan 08, 2017 11:13 pm

Hi MATT. Is the repo you're

Post by GrantSP » Wed Oct 11, 2017 4:10 am

Hi MATT. Is the repo you're working on the same one as in the opening post?


If not, where is it and is it open for all to peruse/join?



MATT
Posts: 3
Joined: Wed Oct 11, 2017 3:14 am

the current repo is here:

Post by MATT » Wed Oct 11, 2017 4:39 am

the current repo is here: https://github.com/TaleOfTwoWastelands/ttwlauncher


you can view it but helping out is currently restricted to team members that are added to the github, if you have suggestions though, send me a message, I'm more likely to see it though if you send it to me on discord which you can add with my name being this: MATT#2521



Post Reply