Skip to content

Commit

Permalink
v1.8
Browse files Browse the repository at this point in the history
  • Loading branch information
heroesiiifan committed Jul 4, 2021
1 parent 6ef8207 commit acf7d96
Show file tree
Hide file tree
Showing 11 changed files with 244 additions and 5 deletions.
6 changes: 4 additions & 2 deletions README.md
Expand Up @@ -61,14 +61,16 @@ Inoffizielle deutsche Übersetzung von Heroes III Complete Edition für VCMI / H
## Backlog / Todo
Achtung: Übersetzungen in Textdateien in Kodierung CP1252 (in Notepad++: ANSI), NICHT UTF-8!!!
### Allgemein
* Deutsches Keyboard-Layout (hartcodiert; nur über Patch/Plugin anpassbar)
* Rohstoffe im rechten Quadrat (mit Texten) kleingeschrieben -> Lässt sich nicht über Textdateien ändern... tolower()!)
* Deutsches Keyboard-Layout (hartcodiert; nur über Patch/Plugin anpassbar) -> ggf. Plugin in Zukunft...

### HotA
* SpTraits.txt ggf. noch von DeepL optimieren
* .DAT übersetzen (hota/txt) - nur Map-Editor übrig...

## Changelog
### 1.8
* HD: NoToLower-Mod zum unterbinden der Kleinschreibung bei Ressourcen [H3-Plugins](https://github.com/RoseKavalier/H3Plugins) ([License](https://github.com/RoseKavalier/H3Plugins/blob/master/LICENSE))

### 1.7
* kleine Übersetzung-Fixes
* Encoding-Fixes
Expand Down
Binary file added additional_files/hd/H3.NoToLower.dll
Binary file not shown.
5 changes: 3 additions & 2 deletions scripts/build.py
Expand Up @@ -9,8 +9,9 @@
import subprocess
import shutil

subprocess.check_call([sys.executable, "-m", "pip", "install", "--upgrade", "pip"])
subprocess.check_call([sys.executable, "-m", "pip", "install", "-r", "scripts/requirements.txt"])
#manuell installieren
#subprocess.check_call([sys.executable, "-m", "pip", "install", "--upgrade", "pip"])
#subprocess.check_call([sys.executable, "-m", "pip", "install", "-r", "scripts/requirements.txt"])

os.chdir(pathlib.Path(__file__).parent.parent.absolute())

Expand Down
2 changes: 2 additions & 0 deletions scripts/build_hd.py
Expand Up @@ -32,6 +32,8 @@ def correct_line_ending(file_in, file_out):
zipObj.write(os.path.join("additional_files/hd", "#de.ini"), arcname=os.path.join("Lang", "#de.ini"))
zipObj.write(os.path.join("additional_files/hd", "Pack.ini"), arcname=os.path.join("Packs/German", "Pack.ini"))

zipObj.write(os.path.join("additional_files/hd", "H3.NoToLower.dll"), arcname=os.path.join("Packs/German", "H3.NoToLower.dll"))

zipObj.write(os.path.join("_tmp/fnt/", "MedFont.fnt"), arcname=os.path.join("Common", "cham.fnt"))
zipObj.write(os.path.join("additional_files/hd/def/", "icm011qe.def"), arcname=os.path.join("Common", "icm011qe.def"))
zipObj.write(os.path.join("additional_files/hd/def/", "icm012qe.def"), arcname=os.path.join("Common", "icm012qe.def"))
Expand Down
2 changes: 1 addition & 1 deletion scripts/build_vcmi.py
Expand Up @@ -43,7 +43,7 @@
zipObj.write(os.path.join("additional_files/translation/txt", filename), arcname=os.path.join("content/data", filename))

for filename in os.listdir("additional_files/translation/campaign"):
if filename != "extra" and filename not in os.listdir("_tmp/camp"):
if filename != "extra" and filename != "chronicles" and filename not in os.listdir("_tmp/camp"):
zipObj.write(os.path.join("additional_files/translation/campaign", filename), arcname=os.path.join("content/data", filename))
for filename in os.listdir("_tmp/camp"):
zipObj.write(os.path.join("_tmp/camp", filename), arcname=os.path.join("content/data", filename))
Expand Down
30 changes: 30 additions & 0 deletions src/NoToLower/NoToLower.filters
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="src">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="include">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\NoToLower.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="src\NoToLowerMain.cpp">
<Filter>src</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\NoToLower.hpp">
<Filter>include</Filter>
</ClInclude>
</ItemGroup>
</Project>
4 changes: 4 additions & 0 deletions src/NoToLower/NoToLower.user
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>
126 changes: 126 additions & 0 deletions src/NoToLower/NoToLower.vcxproj
@@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{279ee626-9a1c-4ca1-ab07-1ed30cbe4fc4}</ProjectGuid>
<RootNamespace>NoToLower</RootNamespace>
<WindowsTargetPlatformVersion>7.0</WindowsTargetPlatformVersion>
<ProjectName>NoToLower</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141_xp</PlatformToolset>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141_xp</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<OutDir>$(SolutionDir)bin\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)bin\intermediates\$(ProjectName)\$(Configuration)\</IntDir>
<TargetName>H3.$(ProjectName)</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)bin\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)bin\intermediates\$(ProjectName)\$(Configuration)\</IntDir>
<TargetName>H3.$(ProjectName)</TargetName>
</PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<VcpkgEnabled>false</VcpkgEnabled>
<VcpkgManifestInstall>false</VcpkgManifestInstall>
</PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<VcpkgEnabled>false</VcpkgEnabled>
<VcpkgManifestInstall>false</VcpkgManifestInstall>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_H3API_EXCEPTION_;_H3API_LIBRARY_;WIN32;_DEBUG;PLUGINTEMPLATE_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>false</ConformanceMode>
<AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)H3API\lib;$(ProjectDir)include</AdditionalIncludeDirectories>
<ExceptionHandling>Async</ExceptionHandling>
<AdditionalOptions>/Zc:threadSafeInit- %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC>
<AdditionalLibraryDirectories>$(SolutionDir)bin\$(ConfigurationName)\msvc $(VisualStudioVersion)</AdditionalLibraryDirectories>
<AdditionalDependencies>H3API.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_H3API_EXCEPTION_;_H3API_LIBRARY_;WIN32;NDEBUG;PLUGINTEMPLATE_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>false</ConformanceMode>
<AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)H3API\lib;$(ProjectDir)include</AdditionalIncludeDirectories>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalOptions>/Zc:threadSafeInit- %(AdditionalOptions)</AdditionalOptions>
<MinimalRebuild>true</MinimalRebuild>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableUAC>false</EnableUAC>
<AdditionalLibraryDirectories>$(SolutionDir)bin\$(ConfigurationName)\msvc $(VisualStudioVersion)</AdditionalLibraryDirectories>
<AdditionalDependencies>H3API.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="src\NoToLowerMain.cpp" />
<ClCompile Include="src\NoToLower.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\NoToLower.hpp" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\H3API\H3API.vcxproj">
<Project>{405b8023-d064-492d-a0df-89b070b26923}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
47 changes: 47 additions & 0 deletions src/NoToLower/include/NoToLower.hpp
@@ -0,0 +1,47 @@
#pragma once

#include <Plugin.hpp>
#include <H3API.hpp>

/**
* Uncomment to show an error message when failing to link up with patcher_x86
*/
//#define SHOW_ERROR_MESSAGE_ON_FAIL

/**
* @brief A derived Plugin that constructs itself
*/
class NoToLowerPlugin : public Plugin
{
public:
NoToLowerPlugin() : Plugin()
{
Status status = Init("H3.NoToLower");
if (status == Status::Success)
Start();
#ifdef SHOW_ERROR_MESSAGE_ON_FAIL
else
ShowError("H3.NoToLower", status);
#endif
}

static NoToLowerPlugin& GetPlugin();

private:
void Start();

public:
//======================================================================================
//
// Data or methods can be added here which can be accessed from anywhere using the plugin.
//
//======================================================================================


private:
//======================================================================================
//
// Data or methods can be added here which can only be accessed from within the plugin.
//
//======================================================================================
};
11 changes: 11 additions & 0 deletions src/NoToLower/src/NoToLower.cpp
@@ -0,0 +1,11 @@
#include "NoToLower.hpp"

using namespace h3;

NoToLowerPlugin NoToLower;


void NoToLowerPlugin::Start()
{
BytePatch(0x61788F + 2, 0x00);
}
16 changes: 16 additions & 0 deletions src/NoToLower/src/NoToLowerMain.cpp
@@ -0,0 +1,16 @@
//====================================================================================
//
// A HoMM III plugin using the H3API library.
//
// Title: NoToLower
//
//====================================================================================

#define WIN32_LEAN_AND_MEAN
#include <Windows.h>

BOOL APIENTRY DllMain(HMODULE, DWORD, LPVOID)
{
return TRUE;
}

0 comments on commit acf7d96

Please sign in to comment.