Example #1
0
        public void HookRun(HookPoint hp)
        {
            switch (hp)
            {
            // アップデート後
            case HookPoint.UpdatedGame:
                createFileOfScreenSize();
                ConfigExtra.updateUcf();
                break;

            // アプリケーション開始時
            case HookPoint.Startup:
            // ゲーム開始時
            case HookPoint.RunGame:
                break;

            // アプリケーション終了時
            case HookPoint.Shutdown:
                break;

            // その他
            default:
                break;
            }
            return;
        }
Example #2
0
        /// <summary>
        /// レジストリから設定を読み込みます。
        /// </summary>
        private void loadConfig()
        {
            string rKeyName;

            // 操作するレジストリ・キーの名前
            if (ConfigExtra.isx64() && (ConfigExtra.getWindowsName() == "Windows Vista" || ConfigExtra.getWindowsName() == "Windows XP"))
            {
                rKeyName = @"SOFTWARE\WOW6432Node\NTreev\Trickster_GCrest\Setup";
            }
            else
            {
                rKeyName = @"SOFTWARE\NTreev\Trickster_GCrest\Setup";
            }

            // レジストリの取得
            try
            {
                // レジストリ・キーのパスを指定してレジストリを開く
                RegistryKey rKey = Registry.CurrentUser.OpenSubKey(rKeyName);

                // レジストリの値を取得
                this.useFullScreen = ((int)rKey.GetValue("Full Screen") == 1) ? true : false;
                this.ScreenHeight  = (int)rKey.GetValue("heightPixel");
                this.ScreenWidth   = (int)rKey.GetValue("widthPixel");

                this.useSound     = ((int)rKey.GetValue("UseSound") == 1) ? true : false;
                this.SoundBit     = (int)rKey.GetValue("SoundBit");
                this.SoundFreq    = (int)rKey.GetValue("SoundFrequency");
                this.SoundChannel = (int)rKey.GetValue("2DSample");
                switch (this.SoundChannel)
                {
                case 4:
                    this.SoundChannel = 8; break;

                case 8:
                    this.SoundChannel = 16; break;

                case 16:
                    this.SoundChannel = 32; break;

                case 32:
                    this.SoundChannel = 48; break;
                }

                this.use3DEffect  = ((int)rKey.GetValue("Use3DEffect") == 1) ? true : false;
                this.useMapEffect = ((int)rKey.GetValue("UseMapEffect") == 1) ? true : false;

                this.CaptureScreenFormat     = (rKey.GetValue("CaptureScreenFormat").ToString() == "JPG") ? Structures.Images.ImageFormat.JPG : Structures.Images.ImageFormat.BMP;
                this.CaptureScreenJPGQuality = (int)rKey.GetValue("CaptureScreenJPGQuality");


                // 開いたレジストリ・キーを閉じる
                rKey.Close();
            }
            catch (Exception)
            {
            }
        }
Example #3
0
        /// <summary>
        /// インストール先パスを取得
        /// </summary>
        /// <param name="void"></param>
        /// <returns>インストール先パス</returns>
        private static string getInstallPath()
        {
            string rKeyName;

            // 操作するレジストリ・キーの名前
            if (ConfigExtra.isx64())
            {
                rKeyName = @"SOFTWARE\WOW6432Node\NTreev\Trickster_GCrest";
            }
            else
            {
                rKeyName = @"SOFTWARE\NTreev\Trickster_GCrest";
            }
            // 取得処理を行う対象となるレジストリの値の名前
            string rGetValueName = "FullPath";

            SimpleLogger.WriteLine("get client installed path...");
            // レジストリの取得
            try
            {
                // レジストリ・キーのパスを指定してレジストリを開く
                RegistryKey rKey = Registry.LocalMachine.OpenSubKey(rKeyName);

                // レジストリの値を取得
                string location = rKey.GetValue(rGetValueName).ToString();

                // 開いたレジストリ・キーを閉じる
                rKey.Close();

                // 取得したレジストリの値return
                return(location.Replace("\\Splash.exe", ""));
            }
            catch (NullReferenceException)
            {
                SimpleLogger.WriteLine("failed to get client installed path.");
                // レジストリ・キーまたは値が存在しない
                MessageBox.Show("インストールパスの取得に失敗しました", "ランチャー起動中", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return(@"C:\Games\Trickster");
            }
        }
Example #4
0
        private void button_OK_Click(object sender, EventArgs e)
        {
            this.useFullScreen = this.checkBox_FullScreen.Checked;
            this.useSound      = !this.checkBox_FullSoundOFF.Checked;
            this.useMapEffect  = this.checkBox_MapEffect.Checked;
            this.use3DEffect   = this.checkBox_SpecailEffect.Checked;

            ComboBoxDisplay combDisplay = (ComboBoxDisplay)this.comboBox_Resolution.SelectedItem;

            Structures.Display.DisplayCollector dispCol = new Structures.Display.DisplayCollector();
            //Structures.Display.Display display = dispCol.getDisplay(combDisplay.Gauge);
            Structures.Display.Display display = new TricksterTools.Plugins.ConfigExtra.Structures.Display.Display(combDisplay.Width, combDisplay.Height);
            if (display.Width > 0 && display.Height > 0)
            {
                this.ScreenWidth  = display.Width;
                this.ScreenHeight = display.Height;
            }

            this.SoundBit     = Convert.ToInt16(this.comboBox_Bits.SelectedItem.ToString().Replace(" Bit", ""));
            this.SoundChannel = Convert.ToInt16(this.comboBox_Channel.SelectedItem.ToString().Replace(" Channel", ""));
            this.SoundFreq    = Convert.ToInt32(this.comboBox_SampleRate.SelectedItem.ToString());

            this.CaptureScreenFormat     = (this.comboBox_FileFormat.SelectedItem.ToString() == "JPG") ? Structures.Images.ImageFormat.JPG : Structures.Images.ImageFormat.BMP;
            this.CaptureScreenJPGQuality = this.trackBar_JPGOption.Value;

            string rKeyName;

            // 操作するレジストリ・キーの名前
            rKeyName = @"SOFTWARE\NTreev\Trickster_GCrest\Setup";

            // レジストリの取得
            try
            {
                // レジストリ・キーのパスを指定してレジストリを開く
                RegistryKey rKey = Registry.CurrentUser.CreateSubKey(rKeyName);

                // レジストリの値を取得
                rKey.SetValue("Full Screen", ((this.useFullScreen) ? 1 : 0), RegistryValueKind.DWord);
                rKey.SetValue("heightPixel", this.ScreenHeight, RegistryValueKind.DWord);
                rKey.SetValue("widthPixel", this.ScreenWidth, RegistryValueKind.DWord);

                rKey.SetValue("UseSound", ((this.useSound) ? 1 : 0), RegistryValueKind.DWord);
                rKey.SetValue("SoundBit", this.SoundBit, RegistryValueKind.DWord);
                rKey.SetValue("SoundFrequency", this.SoundFreq, RegistryValueKind.DWord);

                int ch = 8;
                switch (this.SoundChannel)
                {
                case 8:
                    ch = 4; break;

                case 16:
                    ch = 8; break;

                case 32:
                    ch = 16; break;

                case 48:
                    ch = 32; break;
                }
                int ch3d = (ch > 16) ? 16 : ch;
                rKey.SetValue("2DSample", ch, RegistryValueKind.DWord);
                rKey.SetValue("3DSample", ch3d, RegistryValueKind.DWord);

                rKey.SetValue("Use3DEffect", ((this.use3DEffect) ? 1 : 0), RegistryValueKind.DWord);
                rKey.SetValue("UseMapEffect", ((this.useMapEffect) ? 1 : 0), RegistryValueKind.DWord);

                rKey.SetValue("CaptureScreenFormat", this.CaptureScreenFormat.ToString(), RegistryValueKind.String);
                rKey.SetValue("CaptureScreenJPGQuality", this.CaptureScreenJPGQuality, RegistryValueKind.DWord);

                // 開いたレジストリ・キーを閉じる
                rKey.Close();


                // 画面サイズに依存するファイルを生成
                if (!this.createFileOfScreenSize())
                {
                    MessageBox.Show("必要なファイルのコピーが行えませんでした。", "Trickster Config", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }

                ConfigExtra.updateUcf();
            }
            catch (Exception ex)
            {
                SimpleLogger.WriteLine(ex.Message);
                MessageBox.Show("設定の変更に失敗しました。", "Trickster Config", MessageBoxButtons.OK, MessageBoxIcon.Error);
                throw ex;
            }

            this.Close();
        }