diff --git a/config/ConfigFormUnit.cpp b/config/ConfigFormUnit.cpp index 751db8c4b9..7575a085f7 100644 --- a/config/ConfigFormUnit.cpp +++ b/config/ConfigFormUnit.cpp @@ -119,7 +119,55 @@ __fastcall TConfigForm::TConfigForm(TComponent* Owner) MaxgameticksCbx->AddItem(L"30 tics por segundo", NULL); MaxgameticksCbx->AddItem(L"25 tics por segundo", NULL); MaxgameticksCbx->AddItem(L"15 tics por segundo", NULL); - } + } + else if (SysLocale.PriLangID == LANG_GERMAN) { + /* -German- made by helgo1506 @ github */ + + ConfigForm->Caption = L"cnc-ddraw Konfiguration"; + DisplayBtn->Caption = L"Anzeigeeinstellungen"; + AdvancedBtn->Caption = L"Erweiterte Einstellungen"; + CompatibilityBtn->Caption = L"Kompatibilitätseinstellungen"; + PresentationLbl->Caption = L"Presentation"; + MaintasLbl->Caption = L"Erhalte Seitenverhältnis"; + VsyncLbl->Caption = L"VSync aktiveren"; + AdjmouseLbl->Caption = L"Mausempfindlichkeit anpassen"; + DevmodeLbl->Caption = L"Sperre Cursor zu Fenster / Bildschirm"; //Not 100% sure, if not a better translation exists + RendererLbl->Caption = L"Renderer"; + BorderLbl->Caption = L"Zeige Fensterränder in Fenstermodus"; + SavesettingsLbl->Caption = L"Fensterposition und Größe merken"; + ShaderLbl->Caption = L"OpenGL shader"; + MaxfpsLbl->Caption = L"Limitiere Aktualisierungsrate"; + BoxingLbl->Caption = L"Fensterboxing / Integer Skalierung aktivieren"; //Not 100% sure if "windowboxing" can be translated better. + MaxgameticksLbl->Caption = L"Spielgeschwindigkeit limitieren"; + NoactivateappLbl->Caption = L"Fehlerhaftes Alt+Tab reparieren"; //The first word can be ignored if its to long (eng word "Fix" + HookLbl->Caption = L"Fehlerhafter Fenstermodus oder Hochskalierung reparieren"; //The first word can be ignored if its to long (eng word "Fix") + MinfpsLbl->Caption = L"Erzwinge Hohe FPS / Repariere Stottern bei Freesync/G-Sync"; + FixpitchLbl->Caption = L"Diagonal dargestellte Zeichnungsfehler reparieren"; + NonexclusiveLbl->Caption = L"Unsichtbare Videos / UI Elemente reparieren"; + + RendererCbx->Items->Clear(); + RendererCbx->AddItem(L"Automatisch", NULL); + RendererCbx->AddItem(L"Direct3D9", NULL); + RendererCbx->AddItem(L"OpenGL", NULL); + RendererCbx->AddItem(L"GDI", NULL); + + PresentationCbx->Items->Clear(); + PresentationCbx->AddItem(L"Vollbild", NULL); + PresentationCbx->AddItem(L"Hochskaliertes Vollbild", NULL); + PresentationCbx->AddItem(L"Ränderfreies Fenster", NULL); + PresentationCbx->AddItem(L"Fenster", NULL); + + MaxgameticksCbx->Items->Clear(); + MaxgameticksCbx->AddItem(L"Unlimitiert", NULL); + MaxgameticksCbx->AddItem(L"Sync mit Bildschirmaktualisierungsrate", NULL); + MaxgameticksCbx->AddItem(L"Emuliere 60hz Bildschirmaktualisierungsrate", NULL); + MaxgameticksCbx->AddItem(L"1000 Ticks pro Sekunde", NULL); + MaxgameticksCbx->AddItem(L"500 Ticks pro Sekunde", NULL); + MaxgameticksCbx->AddItem(L"60 Ticks pro Sekunde", NULL); + MaxgameticksCbx->AddItem(L"30 Ticks pro Sekunde", NULL); + MaxgameticksCbx->AddItem(L"25 Ticks pro Sekunde", NULL); + MaxgameticksCbx->AddItem(L"15 Ticks pro Sekunde", NULL); + } else { /* ConfigForm->Caption = L"cnc-ddraw config"; @@ -167,7 +215,7 @@ __fastcall TConfigForm::TConfigForm(TComponent* Owner) MaxgameticksCbx->AddItem(L"25 ticks per second", NULL); MaxgameticksCbx->AddItem(L"15 ticks per second", NULL); */ - } + } } void __fastcall TConfigForm::DisplayBtnClick(TObject *Sender) diff --git a/config/ConfigFormUnit.dfm b/config/ConfigFormUnit.dfm index e231093912..0ce5f5727b 100644 --- a/config/ConfigFormUnit.dfm +++ b/config/ConfigFormUnit.dfm @@ -5,7 +5,7 @@ object ConfigForm: TConfigForm BorderStyle = bsSingle Caption = 'cnc-ddraw config' ClientHeight = 475 - ClientWidth = 698 + ClientWidth = 708 Color = clBlack Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText @@ -2682,8 +2682,8 @@ object ConfigForm: TConfigForm OnCreate = FormCreate PixelsPerInch = 96 TextHeight = 13 - object DisplayPnl: TPanel - Left = 191 + object AdvancedPnl: TPanel + Left = 201 Top = 8 Width = 499 Height = 465 @@ -2691,14 +2691,15 @@ object ConfigForm: TConfigForm Color = clWhite ParentBackground = False ShowCaption = False - TabOrder = 1 + TabOrder = 2 + Visible = False StyleElements = [seFont, seBorder] - object PresentationLbl: TLabel + object RendererLbl: TLabel Left = 40 Top = 28 - Width = 87 + Width = 64 Height = 21 - Caption = 'Presentation' + Caption = 'Renderer' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -16 @@ -2707,13 +2708,28 @@ object ConfigForm: TConfigForm ParentFont = False StyleElements = [seClient, seBorder] end - object MaintasLbl: TLabel + object SavesettingsLbl: TLabel + Left = 40 + Top = 386 + Width = 256 + Height = 21 + Margins.Top = 18 + Caption = 'Remember window position and size' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = 'Segoe UI' + Font.Style = [] + ParentFont = False + StyleElements = [seClient, seBorder] + end + object ShaderLbl: TLabel Left = 40 Top = 105 - Width = 145 + Width = 108 Height = 21 Margins.Top = 18 - Caption = 'Maintain aspect ratio' + Caption = 'OpenGL shader' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -16 @@ -2722,13 +2738,13 @@ object ConfigForm: TConfigForm ParentFont = False StyleElements = [seClient, seBorder] end - object VsyncLbl: TLabel + object MaxfpsLbl: TLabel Left = 40 - Top = 173 - Width = 93 + Top = 182 + Width = 111 Height = 21 Margins.Top = 18 - Caption = 'Enable VSync' + Caption = 'Limit frame rate' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -16 @@ -2737,13 +2753,13 @@ object ConfigForm: TConfigForm ParentFont = False StyleElements = [seClient, seBorder] end - object AdjmouseLbl: TLabel + object BorderLbl: TLabel Left = 40 - Top = 241 - Width = 168 + Top = 318 + Width = 293 Height = 21 Margins.Top = 18 - Caption = 'Adjust mouse sensitivity' + Caption = 'Show window borders in windowed mode' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -16 @@ -2752,13 +2768,13 @@ object ConfigForm: TConfigForm ParentFont = False StyleElements = [seClient, seBorder] end - object DevmodeLbl: TLabel + object BoxingLbl: TLabel Left = 40 - Top = 309 - Width = 216 + Top = 250 + Width = 267 Height = 21 Margins.Top = 18 - Caption = 'Lock cursor to window / screen' + Caption = 'Enable windowboxing / integer scaling' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -16 @@ -2767,14 +2783,21 @@ object ConfigForm: TConfigForm ParentFont = False StyleElements = [seClient, seBorder] end - object PresentationPbox: TPaintBox + object RendererPbox: TPaintBox Left = 40 Top = 54 Width = 207 Height = 31 OnPaint = PboxPaint end - object PresentationCbx: TComboBox + object ShaderPbox: TPaintBox + Left = 40 + Top = 131 + Width = 427 + Height = 31 + OnPaint = PboxPaint + end + object RendererCbx: TComboBox Left = 41 Top = 55 Width = 205 @@ -2789,53 +2812,72 @@ object ConfigForm: TConfigForm Font.Name = 'Segoe UI' Font.Style = [] ParentFont = False - TabOrder = 1 - OnChange = PresentationCbxChange + TabOrder = 0 + OnChange = RendererCbxChange Items.Strings = ( - 'Fullscreen' - 'Fullscreen Upscaled' - 'Borderless' - 'Windowed') + 'Automatic' + 'Direct3D9' + 'OpenGL' + 'GDI') end - object MaintasChk: TToggleSwitch + object BorderChk: TToggleSwitch Left = 40 - Top = 132 + Top = 345 Width = 50 Height = 20 ShowStateCaption = False - TabOrder = 0 - OnClick = MaintasChkClick + TabOrder = 1 + OnClick = BorderChkClick end - object VsyncChk: TToggleSwitch + object SavesettingsChk: TToggleSwitch Left = 40 - Top = 200 + Top = 413 Width = 50 Height = 20 ShowStateCaption = False TabOrder = 2 - OnClick = VsyncChkClick + OnClick = SavesettingsChkClick end - object AdjmouseChk: TToggleSwitch + object ShaderCbx: TComboBox + Left = 41 + Top = 132 + Width = 425 + Height = 29 + BevelEdges = [] + BevelInner = bvNone + BevelOuter = bvSpace + Style = csDropDownList + DropDownCount = 10 + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = 'Segoe UI' + Font.Style = [] + ParentFont = False + TabOrder = 3 + OnChange = ShaderCbxChange + end + object MaxfpsChk: TToggleSwitch Left = 40 - Top = 268 + Top = 209 Width = 50 Height = 20 ShowStateCaption = False - TabOrder = 3 - OnClick = AdjmouseChkClick + TabOrder = 4 + OnClick = MaxfpsChkClick end - object DevmodeChk: TToggleSwitch + object BoxingChk: TToggleSwitch Left = 40 - Top = 336 + Top = 277 Width = 50 Height = 20 ShowStateCaption = False - TabOrder = 4 - OnClick = DevmodeChkClick + TabOrder = 5 + OnClick = BoxingChkClick end end - object CompatibilityPnl: TPanel - Left = 191 + object DisplayPnl: TPanel + Left = 201 Top = 8 Width = 499 Height = 465 @@ -2843,15 +2885,14 @@ object ConfigForm: TConfigForm Color = clWhite ParentBackground = False ShowCaption = False - TabOrder = 3 - Visible = False + TabOrder = 1 StyleElements = [seFont, seBorder] - object MaxgameticksLbl: TLabel + object PresentationLbl: TLabel Left = 40 Top = 28 - Width = 123 + Width = 87 Height = 21 - Caption = 'Limit game speed' + Caption = 'Presentation' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -16 @@ -2860,13 +2901,13 @@ object ConfigForm: TConfigForm ParentFont = False StyleElements = [seClient, seBorder] end - object NoactivateappLbl: TLabel + object MaintasLbl: TLabel Left = 40 Top = 105 - Width = 129 + Width = 145 Height = 21 Margins.Top = 18 - Caption = 'Fix broken Alt+Tab' + Caption = 'Maintain aspect ratio' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -16 @@ -2875,13 +2916,13 @@ object ConfigForm: TConfigForm ParentFont = False StyleElements = [seClient, seBorder] end - object HookLbl: TLabel + object VsyncLbl: TLabel Left = 40 Top = 173 - Width = 281 + Width = 93 Height = 21 Margins.Top = 18 - Caption = 'Fix broken windowed mode or upscaling' + Caption = 'Enable VSync' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -16 @@ -2890,13 +2931,13 @@ object ConfigForm: TConfigForm ParentFont = False StyleElements = [seClient, seBorder] end - object MinfpsLbl: TLabel + object AdjmouseLbl: TLabel Left = 40 Top = 241 - Width = 350 + Width = 168 Height = 21 Margins.Top = 18 - Caption = 'Force high FPS / Fix stuttering on Freesync/G-Sync' + Caption = 'Adjust mouse sensitivity' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -16 @@ -2905,28 +2946,13 @@ object ConfigForm: TConfigForm ParentFont = False StyleElements = [seClient, seBorder] end - object FixpitchLbl: TLabel + object DevmodeLbl: TLabel Left = 40 Top = 309 - Width = 272 - Height = 21 - Margins.Top = 18 - Caption = 'Fix diagonally displayed drawing issues' - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = 'Segoe UI' - Font.Style = [] - ParentFont = False - StyleElements = [seClient, seBorder] - end - object NonexclusiveLbl: TLabel - Left = 40 - Top = 377 - Width = 225 + Width = 216 Height = 21 Margins.Top = 18 - Caption = 'Fix invisible videos / UI elements' + Caption = 'Lock cursor to window / screen' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -16 @@ -2935,90 +2961,75 @@ object ConfigForm: TConfigForm ParentFont = False StyleElements = [seClient, seBorder] end - object MaxgameticksPbox: TPaintBox + object PresentationPbox: TPaintBox Left = 40 Top = 54 - Width = 342 + Width = 207 Height = 31 OnPaint = PboxPaint end - object MaxgameticksCbx: TComboBox + object PresentationCbx: TComboBox Left = 41 Top = 55 - Width = 340 + Width = 205 Height = 29 BevelEdges = [] BevelInner = bvNone BevelOuter = bvSpace Style = csDropDownList - DropDownCount = 10 Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -16 Font.Name = 'Segoe UI' Font.Style = [] ParentFont = False - TabOrder = 0 - OnChange = MaxgameticksCbxChange + TabOrder = 1 + OnChange = PresentationCbxChange Items.Strings = ( - 'No limit' - 'Sync with monitor refresh rate' - 'Emulate 60hz refresh rate monitor' - '1000 ticks per second' - '500 ticks per second' - '60 ticks per second' - '30 ticks per second' - '25 ticks per second' - '15 ticks per second') + 'Fullscreen' + 'Fullscreen Upscaled' + 'Borderless' + 'Windowed') end - object NoactivateappChk: TToggleSwitch + object MaintasChk: TToggleSwitch Left = 40 Top = 132 Width = 50 Height = 20 ShowStateCaption = False - TabOrder = 1 - OnClick = NoactivateappChkClick + TabOrder = 0 + OnClick = MaintasChkClick end - object HookChk: TToggleSwitch + object VsyncChk: TToggleSwitch Left = 40 Top = 200 Width = 50 Height = 20 ShowStateCaption = False TabOrder = 2 - OnClick = HookChkClick + OnClick = VsyncChkClick end - object MinfpsChk: TToggleSwitch + object AdjmouseChk: TToggleSwitch Left = 40 Top = 268 Width = 50 Height = 20 ShowStateCaption = False TabOrder = 3 - OnClick = MinfpsChkClick + OnClick = AdjmouseChkClick end - object FixpitchChk: TToggleSwitch + object DevmodeChk: TToggleSwitch Left = 40 Top = 336 Width = 50 Height = 20 ShowStateCaption = False TabOrder = 4 - OnClick = FixpitchChkClick - end - object NonexclusiveChk: TToggleSwitch - Left = 40 - Top = 404 - Width = 50 - Height = 20 - ShowStateCaption = False - TabOrder = 5 - OnClick = NonexclusiveChkClick + OnClick = DevmodeChkClick end end - object AdvancedPnl: TPanel - Left = 191 + object CompatibilityPnl: TPanel + Left = 201 Top = 8 Width = 499 Height = 465 @@ -3026,15 +3037,15 @@ object ConfigForm: TConfigForm Color = clWhite ParentBackground = False ShowCaption = False - TabOrder = 2 + TabOrder = 3 Visible = False StyleElements = [seFont, seBorder] - object RendererLbl: TLabel + object MaxgameticksLbl: TLabel Left = 40 Top = 28 - Width = 64 + Width = 123 Height = 21 - Caption = 'Renderer' + Caption = 'Limit game speed' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -16 @@ -3043,13 +3054,13 @@ object ConfigForm: TConfigForm ParentFont = False StyleElements = [seClient, seBorder] end - object SavesettingsLbl: TLabel + object NoactivateappLbl: TLabel Left = 40 - Top = 386 - Width = 256 + Top = 105 + Width = 129 Height = 21 Margins.Top = 18 - Caption = 'Remember window position and size' + Caption = 'Fix broken Alt+Tab' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -16 @@ -3058,13 +3069,13 @@ object ConfigForm: TConfigForm ParentFont = False StyleElements = [seClient, seBorder] end - object ShaderLbl: TLabel + object HookLbl: TLabel Left = 40 - Top = 105 - Width = 108 + Top = 173 + Width = 281 Height = 21 Margins.Top = 18 - Caption = 'OpenGL shader' + Caption = 'Fix broken windowed mode or upscaling' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -16 @@ -3073,13 +3084,13 @@ object ConfigForm: TConfigForm ParentFont = False StyleElements = [seClient, seBorder] end - object MaxfpsLbl: TLabel + object MinfpsLbl: TLabel Left = 40 - Top = 182 - Width = 111 + Top = 241 + Width = 350 Height = 21 Margins.Top = 18 - Caption = 'Limit frame rate' + Caption = 'Force high FPS / Fix stuttering on Freesync/G-Sync' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -16 @@ -3088,13 +3099,13 @@ object ConfigForm: TConfigForm ParentFont = False StyleElements = [seClient, seBorder] end - object BorderLbl: TLabel + object FixpitchLbl: TLabel Left = 40 - Top = 318 - Width = 293 + Top = 309 + Width = 272 Height = 21 Margins.Top = 18 - Caption = 'Show window borders in windowed mode' + Caption = 'Fix diagonally displayed drawing issues' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -16 @@ -3103,13 +3114,13 @@ object ConfigForm: TConfigForm ParentFont = False StyleElements = [seClient, seBorder] end - object BoxingLbl: TLabel + object NonexclusiveLbl: TLabel Left = 40 - Top = 250 - Width = 267 + Top = 377 + Width = 225 Height = 21 Margins.Top = 18 - Caption = 'Enable windowboxing / integer scaling' + Caption = 'Fix invisible videos / UI elements' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -16 @@ -3118,29 +3129,23 @@ object ConfigForm: TConfigForm ParentFont = False StyleElements = [seClient, seBorder] end - object RendererPbox: TPaintBox + object MaxgameticksPbox: TPaintBox Left = 40 Top = 54 - Width = 207 - Height = 31 - OnPaint = PboxPaint - end - object ShaderPbox: TPaintBox - Left = 40 - Top = 131 - Width = 427 + Width = 342 Height = 31 OnPaint = PboxPaint end - object RendererCbx: TComboBox + object MaxgameticksCbx: TComboBox Left = 41 Top = 55 - Width = 205 + Width = 340 Height = 29 BevelEdges = [] BevelInner = bvNone BevelOuter = bvSpace Style = csDropDownList + DropDownCount = 10 Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -16 @@ -3148,85 +3153,80 @@ object ConfigForm: TConfigForm Font.Style = [] ParentFont = False TabOrder = 0 - OnChange = RendererCbxChange + OnChange = MaxgameticksCbxChange Items.Strings = ( - 'Automatic' - 'Direct3D9' - 'OpenGL' - 'GDI') + 'No limit' + 'Sync with monitor refresh rate' + 'Emulate 60hz refresh rate monitor' + '1000 ticks per second' + '500 ticks per second' + '60 ticks per second' + '30 ticks per second' + '25 ticks per second' + '15 ticks per second') end - object BorderChk: TToggleSwitch + object NoactivateappChk: TToggleSwitch Left = 40 - Top = 345 + Top = 132 Width = 50 Height = 20 ShowStateCaption = False TabOrder = 1 - OnClick = BorderChkClick + OnClick = NoactivateappChkClick end - object SavesettingsChk: TToggleSwitch + object HookChk: TToggleSwitch Left = 40 - Top = 413 + Top = 200 Width = 50 Height = 20 ShowStateCaption = False TabOrder = 2 - OnClick = SavesettingsChkClick + OnClick = HookChkClick end - object ShaderCbx: TComboBox - Left = 41 - Top = 132 - Width = 425 - Height = 29 - BevelEdges = [] - BevelInner = bvNone - BevelOuter = bvSpace - Style = csDropDownList - DropDownCount = 10 - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -16 - Font.Name = 'Segoe UI' - Font.Style = [] - ParentFont = False + object MinfpsChk: TToggleSwitch + Left = 40 + Top = 268 + Width = 50 + Height = 20 + ShowStateCaption = False TabOrder = 3 - OnChange = ShaderCbxChange + OnClick = MinfpsChkClick end - object MaxfpsChk: TToggleSwitch + object FixpitchChk: TToggleSwitch Left = 40 - Top = 209 + Top = 336 Width = 50 Height = 20 ShowStateCaption = False TabOrder = 4 - OnClick = MaxfpsChkClick + OnClick = FixpitchChkClick end - object BoxingChk: TToggleSwitch + object NonexclusiveChk: TToggleSwitch Left = 40 - Top = 277 + Top = 404 Width = 50 Height = 20 ShowStateCaption = False TabOrder = 5 - OnClick = BoxingChkClick + OnClick = NonexclusiveChkClick end end object MenuPnl: TPanel Left = 0 Top = 8 - Width = 185 + Width = 201 Height = 465 BevelOuter = bvNone Color = clBlack ParentBackground = False TabOrder = 0 DesignSize = ( - 185 + 201 465) object DisplayBtn: TSpeedButton - Left = 8 + Left = 5 Top = 8 - Width = 171 + Width = 187 Height = 41 Anchors = [akLeft, akTop, akRight] Caption = 'Display Settings' @@ -3241,9 +3241,9 @@ object ConfigForm: TConfigForm OnClick = DisplayBtnClick end object AdvancedBtn: TSpeedButton - Left = 8 + Left = 5 Top = 55 - Width = 171 + Width = 187 Height = 41 Anchors = [akLeft, akTop, akRight] Caption = 'Advanced Settings' @@ -3257,9 +3257,9 @@ object ConfigForm: TConfigForm OnClick = AdvancedBtnClick end object CompatibilityBtn: TSpeedButton - Left = 8 + Left = 5 Top = 102 - Width = 171 + Width = 187 Height = 41 Anchors = [akLeft, akTop, akRight] Caption = 'Compatibility Settings'