New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TFD Installer for Tiberian dawn, Red Alert and Tiberian Sun #8170
Conversation
Your Code style violates with the Style Rules... thats why Travis fails... :) |
rm -rf Mono.Nat | ||
fi | ||
|
||
if [ ! -f FuzzyLogicLibrary.dll ]; then | ||
echo "Fetching FuzzyLogicLibrary from NuGet." | ||
nuget install FuzzyLogicLibrary -Version 1.2.0 -ExcludeVersion | ||
cp ./FuzzyLogicLibrary/bin/Release/FuzzyLogicLibrary.dll . | ||
mv ./FuzzyLogicLibrary/bin/Release/FuzzyLogicLibrary.dll . |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will undo the caching we need for our CI.
Hi @DSUK, and welcome! This looks like a good start, but will need some more refinements before we can consider merging this:
Please let us know if you have any questions about how to work through these points. |
@pchote the code was translated from libunshield, which is MIT so that's not a problem. do the dependencies have to be GPL Compatible? If so I might have to find an alternative to DotNetZip. |
We already use SharpZipLib, so I really hope that you can make use of that instead of requiring two different zip libraries. |
To avoid these merge commits try https://help.github.com/articles/about-git-rebase/ instead. |
Removed the dependency, it seems to install TD okay. |
|
||
const uint LINKPREV = 0x1; | ||
const uint LINKNEXT = 0x2; | ||
struct VolumeHeader { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please open blocks at the next line, as per .NET standards.
Here are a few more style-related comments ;) |
You will need to add |
if ((fd.Flags & FILESPLIT) != 0 || (fd.Flags & FILEOBFUSCATED) != 0) | ||
throw new Exception("Haven't implemented"); | ||
|
||
var fil = GlobalFileSystem.Open(string.Format("{0}{1}.cab", commonPath, fd.Volume)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You forgot to dispose the fil
stream so you are leaking resources. In C# you can use
using (var fil = GlobalFileSystem.Open(string.Format("{0}{1}.cab", commonPath, fd.Volume)))
using (var reader = new BinaryReader(fil))
{
reader.ReadUInt32() [...]
}
to automatically clean up after usage.
I'd like to point out that The First Decade is commonly abbreviated as TFD, not TTFD. I have no idea what the second T means. |
terrific ... |
Hey guys, thanks for the feedback :). As an update i am working on getting the CAB extractor to implement IFolder. and @GraionDilach I have no idea where the second T has come from. I will amend accordingly :) |
@penev92, I think I have completed all of those with this commit :) |
@penev92 strange, I seem to be able to play videos fine after the first install. |
38ef304
to
267c64a
Compare
{ | ||
var filename = cabExtractor.FileName(index); | ||
statusLabel.GetText = () => "Extracting {0}".F(filename); | ||
var dest = Platform.ResolvePath("^", "Content", Game.ModData.Manifest.Mod.Id, filename.ToLower()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ToLowerInvariant
please.
I have only changed ToLower to ToLowerInvariant and the appveyor is failing ? o_O |
Appveyor has a lot of infrastructure issues. The failure looks unrelated to this pr. |
I manually incremented the build number at https://ci.appveyor.com/project/OpenRA/openra/settings like I did before when we had this problem. I hope this resolves it when you push again. @appveyor needs to fix this. |
seems to have passed now. |
TFD Installer for Tiberian dawn, Red Alert and Tiberian Sun
Thanks! Be sure to add yourself to https://github.com/OpenRA/OpenRA/blob/bleed/AUTHORS. |
the mechanism doesn't seem to detect a German DVD of the first decade. Is this related to the File Ids that are added in the yaml files? I would happily provide the ids for the German DVD if someone could point me to an explanation of how these IDs are calculated. |
unshield and isCabLogview can view hdr files ... so it is written by the website of installshield... im testing it and when i find IDs then i could post an issue with these IDs :) opening data1.hdr in hex editor prints filesinside the cabs...
|
The file IDs differ for the German DVD according to #9082. You could hash the data1.hdr file and control localized disc detection that way. |
Can anyone tell me the |
@Mailaender I am not sure which files are needed for RA2, I have a gist with the file names with corresponding file indexes: |
We need at least ra2.mix and language.mix, but theme.mix and movies0*.mix are helpful as well. Filed OpenRA/ra2#51 with just the |
Installs Tiberian dawn from the The First Decade Disk. Closes #3863.