Exemple #1
0
        private async Task EnsureFilesCreatedAsync()
        {
            var configFile    = Path.Combine(_currentDir, AppConfig.APPCONFIG_FILE);
            var gamesListFile = Path.Combine(_currentDir, AppConfig.GAMESLIST_FILE);
            var bgmInfoFolder = Path.Combine(_currentDir, AppConfig.BGFINFO_FOLDER);

            if (!File.Exists(configFile))
            {
                var config = new AppConfig(); // TODO: Write current config
                await using var fs = new FileStream(configFile, FileMode.CreateNew);
                await JsonUtils.SerializeAsync(fs, configFile);
            }

            if (!File.Exists(gamesListFile))
            {
                var games = new GameDirectories();
                await using var fs = new FileStream(gamesListFile, FileMode.CreateNew);
                await JsonUtils.SerializeAsync(fs, games);
            }

            if (!Directory.Exists(bgmInfoFolder))
            {
                Directory.CreateDirectory(bgmInfoFolder);
            }
        }
Exemple #2
0
 private void FillGameDirectories(IList <GameDirectory> gameDirectories)
 {
     foreach (GameDirectory directory in gameDirectories)
     {
         GameDirectories.Add(new GameDirectoryDto(directory.Directory, directory.GetGames()));
     }
 }
Exemple #3
0
        public void AddDirectory(object obj)
        {
            using (var dlg = new CommonOpenFileDialog()
            {
                Title = "Choose Directory",
                IsFolderPicker = true,
                AddToMostRecentlyUsedList = false,
                AllowNonFileSystemItems = false,
                EnsureFileExists = true,
                EnsurePathExists = true,
                EnsureReadOnly = false,
                EnsureValidNames = true,
                Multiselect = false,
                ShowPlacesList = true
            })
            {
                if (dlg.ShowDialog() == CommonFileDialogResult.Ok)
                {
                    controller.AddGameDirectory(dlg.FileName);
                    var gameDirectory    = controller.GetGameDirectory(dlg.FileName);
                    var gameDirectoryDto = new GameDirectoryDto(gameDirectory.Directory, gameDirectory.GetGames());
                    GameDirectories.Add(gameDirectoryDto);

                    SelectedDirectory = GameDirectories.Last(); //for showing the new inserted one
                    controller.SaveDevice();
                }
            }
        }
Exemple #4
0
        private void ScanComputer()
        {
            controller.ScanComputer();
            controller.SendGames();


            App.Current.Dispatcher.Invoke((Action) delegate
            {
                var directory = selectedDirectory.Directory;
                GameDirectories.Clear();
                FillGameDirectories(controller.GetGameDirectories());
                SelectedDirectory = GameDirectories.Last();
            });
            controller.SaveDevice();
        }
Exemple #5
0
        private static void SerializeSettings(ISerializer s, bool cmdLine = false)
        {
            if (!cmdLine)
            {
                GameModeSelection[] modes = EnumHelpers.GetValues <GameModeSelection>();
                foreach (GameModeSelection mode in modes)
                {
                    string dir = GameDirectories.ContainsKey(mode) ? GameDirectories[mode] : "";
                    GameDirectories[mode] = s.SerializeString("Directory" + mode.ToString(), dir);
                }
                if (Application.isEditor)
                {
                    foreach (GameModeSelection mode in modes)
                    {
                        string dir = GameDirectoriesWeb.ContainsKey(mode) ? GameDirectoriesWeb[mode] : "";
                        GameDirectoriesWeb[mode] = s.SerializeString("WebDirectory" + mode.ToString(), dir);
                    }
                }
            }
            string modeString = s.SerializeString("GameMode", SelectedGameMode.ToString(), "mode", "m");

            SelectedGameMode = Enum.TryParse <GameModeSelection>(modeString, out GameModeSelection gameMode) ? gameMode : SelectedGameMode;
            if (cmdLine)
            {
                if (FileSystem.mode == FileSystem.Mode.Web)
                {
                    string dir = GameDirectoriesWeb.ContainsKey(SelectedGameMode) ? GameDirectoriesWeb[SelectedGameMode] : "";
                    GameDirectoriesWeb[SelectedGameMode] = s.SerializeString("Directory", dir, "dir", "directory", "folder", "f", "d");
                }
                else
                {
                    string dir = GameDirectories.ContainsKey(SelectedGameMode) ? GameDirectories[SelectedGameMode] : "";
                    GameDirectories[SelectedGameMode] = s.SerializeString("Directory", dir, "dir", "directory", "folder", "f", "d");
                }
            }

            World                    = s.SerializeInt("WorldIndex", World, "wld", "w");
            EduVolume                = s.SerializeString("EduVolume", EduVolume, "volume", "vol");
            Level                    = s.SerializeInt("SelectedLevelFile", Level, "level", "lvl", "map");
            LoadFromMemory           = s.SerializeBool("LoadFromMemory", LoadFromMemory);
            ProcessName              = s.SerializeString("ProcessName", ProcessName);
            ModuleName               = s.SerializeString("ModuleName", ModuleName);
            GameBasePointer          = s.SerializeInt("GameBasePointer", GameBasePointer);
            IsGameBaseAPointer       = s.SerializeBool("IsPointer", IsGameBaseAPointer);
            FindPointerAutomatically = s.SerializeBool("FindPointerAutomatically", FindPointerAutomatically);
            UseHDCollisionSheet      = s.SerializeBool("UseHDCollisionSheet", UseHDCollisionSheet);

            ShowObjects      = s.SerializeBool("ShowObjects", ShowObjects);
            ShowTiles        = s.SerializeBool("ShowTiles", ShowTiles);
            ShowCollision    = s.SerializeBool("ShowCollision", ShowCollision);
            ShowLinks        = s.SerializeBool("ShowLinks", ShowLinks);
            ShowObjCollision = s.SerializeBool("ShowObjCollision", ShowObjCollision);

            AnimateSprites    = s.SerializeBool("AnimateSprites", AnimateSprites);
            AnimateTiles      = s.SerializeBool("AnimateTiles", AnimateTiles);
            ShowAlwaysObjects = s.SerializeBool("ShowAlwaysObjects", ShowAlwaysObjects);

            string stateModeString = s.SerializeString("StateSwitchingMode", StateSwitchingMode.ToString());

            StateSwitchingMode = Enum.TryParse(stateModeString, out StateSwitchingMode stateMode) ? stateMode : StateSwitchingMode;

            ShowEditorObjects     = s.SerializeBool("ShowEditorObjects", ShowEditorObjects);
            ScreenshotEnumeration = s.SerializeBool("ScreenshotEnumeration", ScreenshotEnumeration);
            BackupFiles           = s.SerializeBool("BackupFiles", BackupFiles);
            ShowDebugInfo         = s.SerializeBool("ShowDebugInfo", ShowDebugInfo, "debug");

            string screenshot_FileNameString = s.SerializeString("Screenshot_FileName", Screenshot_FileName.ToString());

            Screenshot_FileName       = Enum.TryParse(screenshot_FileNameString, out ScreenshotName screenshotFileName) ? screenshotFileName : Screenshot_FileName;
            Screenshot_ShowDefaultObj = s.SerializeBool("Screenshot_ShowDefaultObj", Screenshot_ShowDefaultObj);
            HideUnusedLinks           = s.SerializeBool("HideUnusedLinks", HideUnusedLinks);
            LoadIsometricMapLayer     = s.SerializeBool("LoadIsometricMapLayer", LoadIsometricMapLayer);
            GBAVV_Crash_TimeTrialMode = s.SerializeBool("GBAVV_Crash_TimeTrialMode", GBAVV_Crash_TimeTrialMode);
            Screenshot_RayWikiMode    = s.SerializeBool("Screenshot_RayWikiMode", Screenshot_RayWikiMode);
            ShowGridMap = s.SerializeBool("ShowGridMap", ShowGridMap);

            ShowDefaultObjIcons      = s.SerializeBool("ShowDefaultObjIcons", ShowDefaultObjIcons);
            ShowObjOffsets           = s.SerializeBool("ShowObjOffsets", ShowObjOffsets);
            ShowRayman               = s.SerializeBool("ShowRayman", ShowRayman);
            FollowRaymanInMemoryMode = s.SerializeBool("FollowRaymanInMemoryMode", FollowRaymanInMemoryMode);
            Tool_mkpsxiso_filePath   = s.SerializeString("Tool_mkpsxiso_filePath", Tool_mkpsxiso_filePath, "mkpsxiso");
            HideDirSettings          = s.SerializeBool("HideDirSettings", HideDirSettings);

            RandomizerSeed  = s.SerializeString("RandomizerSeed", RandomizerSeed, "RandomizerSeed");
            RandomizerFlags = (RandomizerFlags)s.SerializeInt("RandomizerFlags", (int)RandomizerFlags, "RandomizerFlags");
            RandomizeBatch  = s.SerializeBool("RandomizeBatch", RandomizeBatch, "RandomizeBatch");

            Log     = s.SerializeBool("Log", Log);
            LogFile = s.SerializeString("LogFile", LogFile);
        }
Exemple #6
0
 static void Main(string[] args)
 {
     GameDirectories.EnsureDirectories();
     new Game().Run();
 }