Skip to content

Rewrite base structure#7

Open
FireEmerald wants to merge 6 commits intodevelopfrom
feature/RewriteBaseStructure
Open

Rewrite base structure#7
FireEmerald wants to merge 6 commits intodevelopfrom
feature/RewriteBaseStructure

Conversation

@FireEmerald
Copy link
Owner

@FireEmerald FireEmerald commented Nov 20, 2018

  • 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.
Updates #6.

- 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));
Copy link
Owner Author

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");
Copy link
Owner Author

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);
Copy link
Owner Author

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)
{
Copy link
Owner Author

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)
Copy link
Owner Author

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)
{
Copy link
Owner Author

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;

Copy link
Owner Author

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.

@FireEmerald FireEmerald added this to the 2.0.0 milestone Jan 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant