FreeSO Complete Setup Tool

Just letting everyone know, this project is alive and well. In fact, its complete! A few finishing touches and it should be ready for a first bug testing release!
Updates:
View attachment 1816
New launch screen,
View attachment 1817
Sleek launcher now installs and the troubleshooter works with install.
View attachment 1818
FreeSO install troubleshooter works great launching FreeSO and closing after a selected period of time. Same with the Sleek troubleshooter!

Wrapping Up:

In total, the setup tool is just about complete with all 5 steps working great. I would like you to note that a Tester's build for this game will probably come out Either July 2nd, or July 3rd. I will post when that drops.
I'm really tired so please excuse any mistakes on here, I will proof read this again after I sleep. :p

Today is July 3rd - Please be today, Please be today LOL :p :D
 
Ok I am a total tech/computer idiot... so forgive my question: Is the game actually ready for public play, and if so, where do I find the download/install information? And Tori, I think I remember your character, though we may not have chatted except in passing.
 
Global server is not ready. Gameplay is only currently possible in disconnected instances.
 
Adding finishing touches now, though I am going to be busy today. I'm gonna try to squeeze in a complete install, a little bit more testing and then I feel as though it will be ready for beta testing. To anyone who beta tests, please note that all feedback helps me greatly in making a simple and user friendly experience! The reason why I'm doing a beta test is because there is a wide range of how computer savvy people are, so the more people trying it out, the better!
 
Alright well I have some news for you all, it turns out that the extraction method of these cabinets files isn't combining the split DLL files. I'll mess around with it a little more and respond back. I have a feeling I know why, it might just be tedious on my part. I might just need a little more time to work on this before its done is all.
 
Ok so I'm on the trail of the problem, as you can see in the following picture, its getting the info it needs about the cab, and also the test I'm running is splitting cabs in (hopefully) the same was as Maxis did. Now I just have to put it back together.
upload_2016-7-5_12-53-8.png
This is using CabLib.dll, a modification of Cabinet.dll made by Microsoft. This is a modified version of the demo application to simulate compressing and decompressing the TSO cabinets. I know the file size is different from TSO data cabs btw.
 
Last edited:
Maxis must have done something with these cabs, because even 7-Zip can't extract some of them. Want to see for yourself? Try extracting Data10.cab, EP2.dat is invalid and therefore extracts to a file with no data.
Focus to Error #2 in the text window:
upload_2016-7-7_15-46-15.png
I'm very curious as to what the TSO Setup program does to these .cab files to make it all work.
 
Sometimes they do not download correctly. Make sure your cabinet file is correct. (i wrote a cab reader in js ages ago that extracted them all fine)
 
Sometimes they do not download correctly. Make sure your cabinet file is correct. (i wrote a cab reader in js ages ago that extracted them all fine)
Files like Data1.cab open fine, but Data10.cab doesn't open or extract properly, this is also problematic of course because Data10.cab fills in the null values of EP2.dll (at least I assume so), now I would opt to maybe take data from 1 EP2.dat and fill in null values that way but it doesn't even want to extract it.
 
Files need to be loaded with information persisting from the previous. Make sure you respect the prev, next and reserve flags. Here is my implementation which worked fine:

https://dl.dropboxusercontent.com/u/12239448/tso/script/cabReader.js
Not commented at all but you can quickly check if I'm doing anything here that you aren't. Cab object is created in readCab(file), extractNextFile(cab, data) handles the file extraction using the cab object.

@xXJDrocks450Xx
 
Files need to be loaded with information persisting from the previous. Make sure you respect the prev, next and reserve flags. Here is my implementation which worked fine:

https://dl.dropboxusercontent.com/u/12239448/tso/script/cabReader.js
Not commented at all but you can quickly check if I'm doing anything here that you aren't. Cab object is created in readCab(file), extractNextFile(cab, data) handles the file extraction using the cab object.

@xXJDrocks450Xx
Thank you, I'll have a look in a little while. Here's to hoping all works out
 
Ok all, with some time, I managed to get it opening problematic CAB files, getting information on the cabs. Hopefully soon this will be extracting them as well. The Text in Grey is Cab successor filenames btw
unknown.png
 
upload_2016-7-9_1-2-49.png
LATEST: The first test of an entirely new approach to CAB extraction is looking very bright! With a new assembly that was much more flexible than the previous, CabLib, I was able to use its wide array of Cab data fetching to get the Next Cabinet by downloading it from EA FTP. I originally had planned to use the manifest, but it had only occurred to me after bug testing that the manifest has filenames listed in a complete mish-mash order, making it impossible to extract a complete file. Perhaps Maxis didn't care since they would download them all then extract. Either way, thank you all very much for bearing with me, now I'm going to go implement this into the launcher.
 
upload_2016-7-9_17-39-35.png
The extraction program will be launched from the Setup tool. This picture was just showing that they are 2 different applications
LATEST: The
TSO download is going to be sent to a console application as of right now. The reason being that the split CAB extraction doesn't allow the Setup Tool (left) to respond, so you can't move, close, or interact with the window at all. However, a console application is allowed to close and what not, and with a console application allows me to display what its doing in text form, when it happens. A windows form simply couldn't do this very well. Don't worry though as this is going to be automated anyway, so no user input will be required
 
Back
Top