-
-
Notifications
You must be signed in to change notification settings - Fork 6
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
Rewrite base structure #7
base: develop
Are you sure you want to change the base?
Conversation
- New: Any resolution is now supported, including 4K and custom resolutions. - New: Possibility to change the language of the game itself. - Includes translation for 14 languages (text only). - Includes full translation for German and English (text + all sound files). - New: Possibility to apply a compatibility fix for The Settlers 4 on Windows >=8 systems. - Includes multi-monitor support and border scrolling without any additonal tools. - Fixes the black terrain graphics bug when you scroll over the map. - Note: New versions of the Settlers installer from GOG do already contain a compatibility fix. - Change: Project has moved from Visual Basic to C# including WPF and MVVM. - Change: The UI uses now a dark design. - Improvement: The Readme was extended with useful information about the game. - Improvement: Removed most of hardcoded DLL's with in place binary editing. Not yet ready to be used.
|
||
public CabFile(int index, string name) | ||
{ | ||
if (index < 0) throw new ArgumentNullException(nameof(index)); |
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.
Not really a ArgumentNullException.
|
||
File.WriteAllBytes(dDrawFile.FullName, Properties.Resources.DDraw); | ||
|
||
_ReportManager.ReportMessage("Compatibility fix applied ... OK"); |
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.
.ReportMessage()
should only be used inside ReportingSink
.
Result texturesChanged = ChangeTextures(installDir, true); | ||
|
||
if (!texturesChanged.Success) | ||
_ReportManager.ReportMessage(texturesChanged.ErrorMessage); |
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.
.ReportMessage()
should only be used inside ReportingSink
.
if (destinationFile == null) throw new ArgumentNullException(nameof(destinationFile)); | ||
|
||
if (destinationFile.Exists) | ||
{ |
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.
Code style, remove brackets.
return new Result(); | ||
} | ||
|
||
private void RemoveReadOnlyFileAttribute(string fullFilePath) |
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.
Should maybe moved to external class if used somewhere else.
var gameSettingsFile = new FileInfo(Path.Combine(installDir.FullName, GAMESETTINGS_RELATIVE_PATH)); | ||
|
||
if (!gameSettingsFile.Exists) | ||
{ |
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.
Code style, remove brackets.
if (!(value is bool)) throw new InvalidOperationException($"Passed type is invalid, {nameof(InvertBoolConverter)} requires a {typeof(bool)}."); | ||
|
||
return !(bool) value; | ||
|
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.
Code style, remove empty line.
Not yet ready to be used.
Updates #6.