public override int AddControlsInfoToGui(Window guiWindow, GUI mGui, int left, int top, int initialTopSpacing, float width, float textVSpacing, uint fontSize)
        {
            int  y           = initialTopSpacing;
            int  h           = (int)textVSpacing;
            uint oldFontSize = mGui.mFontSize;

            int leftOrg = left;

            // przesuniecie o szerokosc guzika (fontsize) + fontSize
            left += (int)(fontSize + fontSize);

            //imgVDiff = 0;


            OverlayContainer c;

            y += (int)(h * 1);
            c  = guiWindow.createStaticText(new Vector4(left - 10, top + y, width, h), LanguageResources.GetString(LanguageKey.Controls));
            AbstractScreen.SetOverlayColor(c, new ColourValue(1.0f, 0.8f, 0.0f), new ColourValue(0.9f, 0.7f, 0.0f));


            mGui.mFontSize = fontSize;
            float spaceSize = ViewHelper.MeasureText(mGui.mFont, " ", mGui.mFontSize);
            float imgSize   = fontSize;
            float imgVDiff  = -Mogre.Math.Abs(imgSize - fontSize) * 0.5f;

            y += (int)(h * 1.5f);
            var pos = new Vector4(left, top + y, width, h);

            c =
                guiWindow.createStaticText(pos,
                                           LanguageResources.GetString(LanguageKey.Engine) + ": " + KeyMap.GetName(KeyMap.Instance.Engine) + " (" + LanguageResources.GetString(LanguageKey.Hold) + ")");


            Setup(mGui, guiWindow);
            AddChangeButton(new Vector2(leftOrg, pos.y), fontSize, LanguageKey.Engine);

            // "Engine: E (hold)");
            y += (int)(h * 1);


            AddChangeButton(new Vector2(leftOrg, top + y), fontSize, LanguageKey.AccelerateBreakTurn);

            if (KeyMap.Instance.Left == KeyCode.KC_LEFT && KeyMap.Instance.Right == KeyCode.KC_RIGHT)
            {
                string ctrl1  = LanguageResources.GetString(LanguageKey.AccelerateBreakTurn) + ": ";
                float  width1 = ViewHelper.MeasureText(mGui.mFont, ctrl1, mGui.mFontSize);

                c =
                    guiWindow.createStaticText(new Vector4(left, top + y, width, h), ctrl1);


                guiWindow.createStaticImage(new Vector4(left + width1, top + y + imgVDiff, imgSize, imgSize), "arrow_left.png");
                guiWindow.createStaticImage(new Vector4(left + width1 + imgSize + spaceSize * 0.5f, top + y + imgVDiff, imgSize, imgSize), "arrow_right.png");
            }
            else
            {
                c =
                    guiWindow.createStaticText(new Vector4(left, top + y, width, h),
                                               LanguageResources.GetString(LanguageKey.AccelerateBreakTurn) + ": " + KeyMap.GetName(KeyMap.Instance.Left) + "/" + KeyMap.GetName(KeyMap.Instance.Right));
            }


            y += (int)(h * 1);

            AddChangeButton(new Vector2(leftOrg, top + y), fontSize, LanguageKey.Pitch);


            if (KeyMap.Instance.Up == KeyCode.KC_UP && KeyMap.Instance.Down == KeyCode.KC_DOWN)
            {
                string ctrl2  = LanguageResources.GetString(LanguageKey.Pitch) + ": ";
                float  width2 = ViewHelper.MeasureText(mGui.mFont, ctrl2, mGui.mFontSize);

                c =
                    guiWindow.createStaticText(new Vector4(left, top + y, width, h), ctrl2);

                guiWindow.createStaticImage(new Vector4(left + width2, top + y + imgVDiff, imgSize, imgSize), "arrow_up.png");
                guiWindow.createStaticImage(new Vector4(left + width2 + imgSize + spaceSize * 0.5f, top + y + imgVDiff, imgSize, imgSize), "arrow_down.png");
            }
            else
            {
                c =
                    guiWindow.createStaticText(new Vector4(left, top + y, width, h),
                                               LanguageResources.GetString(LanguageKey.Pitch) + ": " + KeyMap.GetName(KeyMap.Instance.Up) + "/" + KeyMap.GetName(KeyMap.Instance.Down));
            }



            y  += (int)(h * 1);
            pos = new Vector4(left, top + y, width, h);
            c   = guiWindow.createStaticText(pos,
                                             LanguageResources.GetString(LanguageKey.Spin) + ": " + KeyMap.GetName(KeyMap.Instance.Spin));

            AddChangeButton(new Vector2(leftOrg, pos.y), fontSize, LanguageKey.Spin);


            y  += (int)(h * 1);
            pos = new Vector4(left, top + y, width, h);
            c   = guiWindow.createStaticText(pos,
                                             LanguageResources.GetString(LanguageKey.Gear) + ": " + KeyMap.GetName(KeyMap.Instance.Gear));
            AddChangeButton(new Vector2(leftOrg, pos.y), fontSize, LanguageKey.Gear);


            y  += (int)(h * 1);
            pos = new Vector4(left, top + y, width, h);
            c   = guiWindow.createStaticText(pos,
                                             LanguageResources.GetString(LanguageKey.Gun) + ": " + KeyMap.GetName(KeyMap.Instance.Gun));
            AddChangeButton(new Vector2(leftOrg, pos.y), fontSize, LanguageKey.Gun);

            y  += (int)(h * 1);
            pos = new Vector4(left, top + y, width, h);
            c   = guiWindow.createStaticText(pos,
                                             LanguageResources.GetString(LanguageKey.Bombs) + "/" + LanguageResources.GetString(LanguageKey.Rockets) + ": " + KeyMap.GetName(KeyMap.Instance.Bombs));
            AddChangeButton(new Vector2(leftOrg, pos.y), fontSize, LanguageKey.Bombs);

            y  += (int)(h * 1);
            pos = new Vector4(left, top + y, width, h);
            c   = guiWindow.createStaticText(pos,
                                             LanguageResources.GetString(LanguageKey.Camera) + ": " + KeyMap.GetName(KeyMap.Instance.Camera));
            AddChangeButton(new Vector2(leftOrg, pos.y), fontSize, LanguageKey.Camera);

            y  += (int)(h * 1);
            pos = new Vector4(left, top + y, width, h);
            c   = guiWindow.createStaticText(pos,
                                             LanguageResources.GetString(LanguageKey.Zoomin) + ": " + KeyMap.GetName(KeyMap.Instance.ZoomIn));
            AddChangeButton(new Vector2(leftOrg, pos.y), fontSize, LanguageKey.Zoomin);

            y  += (int)(h * 1);
            pos = new Vector4(left, top + y, width, h);
            c   = guiWindow.createStaticText(pos,
                                             LanguageResources.GetString(LanguageKey.Zoomout) + ": " + KeyMap.GetName(KeyMap.Instance.ZoomOut));
            AddChangeButton(new Vector2(leftOrg, pos.y), fontSize, LanguageKey.Zoomout);

            y  += (int)(h * 1);
            pos = new Vector4(left, top + y, width, h);
            c   = guiWindow.createStaticText(pos,
                                             LanguageResources.GetString(LanguageKey.BulletTimeEffect) + ": " + KeyMap.GetName(KeyMap.Instance.BulletTimeEffect));
            AddChangeButton(new Vector2(leftOrg, pos.y), fontSize, LanguageKey.BulletTimeEffect);


            y  += (int)(h * 1);
            pos = new Vector4(left, top + y, width, h);
            c   = guiWindow.createStaticText(pos,
                                             LanguageResources.GetString(LanguageKey.RearmEndMission) + ": " + KeyMap.GetName(KeyMap.Instance.Bombs));


            mGui.mFontSize = oldFontSize;

            return(y + top);
        }