示例#1
0
        public void Load(Subsystem subsystem)
        {
            switch (subsystem)
            {
            case Subsystem.Core:
                LoadFiles(
                    @"Data\INI\Default\GameData.ini",
                    @"Data\INI\GameData.ini",
                    @"Data\INI\Mouse.ini",
                    @"Data\INI\Water.ini",
                    @"Data\INI\AudioSettings.ini",
                    $@"Data\{_contentManager.Language}\HeaderTemplate.ini",
                    @"Maps\MapCache.ini");

                break;

            case Subsystem.Audio:
                LoadFiles(
                    @"Data\INI\AudioSettings.ini",
                    @"Data\INI\SoundEffects.ini",
                    @"Data\INI\MiscAudio.ini",
                    @"Data\INI\Voice.ini",
                    @"Data\Ini\Music.ini");
                break;

            case Subsystem.ObjectCreation:
                LoadFiles(
                    @"Data\INI\Default\Object.ini",
                    @"Data\INI\Upgrade.ini",
                    @"Data\INI\Crate.ini");
                _contentManager.LoadIniFiles(@"Data\INI\Object");
                break;

            case Subsystem.Locomotors:
                LoadFiles(
                    @"Data\INI\Locomotor.ini");
                break;

            case Subsystem.Sciences:
                LoadFiles(
                    @"Data\INI\Science.ini");
                break;

            case Subsystem.Weapons:
                LoadFiles(
                    @"Data\INI\Weapon.ini");
                break;

            case Subsystem.FXList:
                LoadFiles(
                    @"Data\INI\FXList.ini");
                break;

            case Subsystem.Players:
                LoadFiles(
                    @"Data\INI\Default\PlayerTemplate.ini",
                    @"Data\INI\PlayerTemplate.ini",
                    @"Data\INI\ControlBarScheme.ini",
                    @"Data\INI\CommandSet.ini",
                    @"Data\INI\CommandButton.ini");
                break;

            case Subsystem.Terrain:
                LoadFiles(
                    @"Data\INI\Default\Terrain.ini",
                    @"Data\INI\Terrain.ini",
                    @"Data\INI\Default\Roads.ini",
                    @"Data\INI\Roads.ini");
                break;

            case Subsystem.ParticleSystems:
                LoadFiles(@"Data\INI\ParticleSystem.ini");
                break;

            case Subsystem.Wnd:
                LoadFiles(
                    @"Data\INI\WindowTransitions.ini",
                    @"Data\INI\ControlBarScheme.ini");
                _contentManager.LoadIniFiles(@"Data\INI\MappedImages\HandCreated\");
                _contentManager.LoadIniFiles(@"Data\INI\MappedImages\TextureSize_512\");
                break;

            case Subsystem.Multiplayer:
                LoadFiles(@"Data\INI\Multiplayer.ini");
                break;

            case Subsystem.LinearCampaign:
                LoadFiles(@"Data\INI\Campaign.ini");
                break;

            case Subsystem.Credits:
                LoadFiles(@"Data\INI\Credits.ini");
                break;

            case Subsystem.Damage:
                LoadFiles(@"Data\INI\DamageFX.ini");
                break;

            case Subsystem.SpecialPower:
                LoadFiles(@"Data\INI\Default\SpecialPower.ini");
                LoadFiles(@"Data\INI\SpecialPower.ini");
                break;

            case Subsystem.InGameUI:
                LoadFiles(@"Data\INI\InGameUI.ini");
                break;

            case Subsystem.Rank:
                LoadFiles(@"Data\INI\Rank.ini");
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(subsystem), subsystem, null);
            }
        }
示例#2
0
        public void Load(Subsystem subsystem)
        {
            foreach (var entry in GetFilesForSubsystem(subsystem))
            {
                _contentManager.LoadIniFile(entry);
            }

            // Load hardcoded files
            switch (subsystem)
            {
            case Subsystem.Core:
                switch (_gameDefinition.Game)
                {
                case SageGame.Bfme:
                case SageGame.Bfme2:
                case SageGame.Bfme2Rotwk:
                    _contentManager.LoadIniFile(@"Data\INI\Mouse.ini");
                    _contentManager.LoadIniFile(@"Data\INI\Water.ini");
                    _contentManager.LoadIniFile(@"Data\INI\WaterTextures.ini");
                    _contentManager.LoadIniFile(@"Maps\MapCache.ini");
                    break;

                case SageGame.Cnc3:
                    // TODO: Use .version file.
                    var manifestFileEntry  = _fileSystem.GetFile(@"Data\global_common.manifest");
                    var gameStream         = new GameStream(manifestFileEntry, _game);
                    var manifestFileEntry2 = _fileSystem.GetFile(@"Data\static_common.manifest");
                    var gameStream2        = new GameStream(manifestFileEntry2, _game);
                    break;
                }
                switch (_gameDefinition.Game)
                {
                case SageGame.Bfme:
                    _contentManager.LoadIniFile($@"Lang\{_contentManager.Language}\HeaderTemplate.ini");
                    break;

                case SageGame.Bfme2:
                case SageGame.Bfme2Rotwk:
                    _contentManager.LoadIniFile($@"HeaderTemplate.ini");
                    break;
                }
                break;

            case Subsystem.Players:
                switch (_gameDefinition.Game)
                {
                case SageGame.Bfme:
                case SageGame.Bfme2:
                case SageGame.Bfme2Rotwk:
                    _contentManager.LoadIniFile(@"Data\INI\ControlBarScheme.ini");
                    _contentManager.LoadIniFile(@"Data\INI\CommandSet.ini");
                    _contentManager.LoadIniFile(@"Data\INI\CommandButton.ini");
                    break;
                }
                break;

            case Subsystem.Audio:
                switch (_gameDefinition.Game)
                {
                case SageGame.Bfme:
                case SageGame.Bfme2:
                case SageGame.Bfme2Rotwk:
                    _contentManager.LoadIniFile(@"Data\INI\AudioSettings.ini");
                    _contentManager.LoadIniFile(@"Data\INI\SoundEffects.ini");
                    _contentManager.LoadIniFile(@"Data\INI\MiscAudio.ini");
                    _contentManager.LoadIniFile(@"Data\INI\Voice.ini");
                    break;
                }
                break;

            case Subsystem.Wnd:
                switch (_gameDefinition.Game)
                {
                case SageGame.Bfme:
                case SageGame.Bfme2:
                case SageGame.Bfme2Rotwk:
                    _contentManager.LoadIniFiles(@"Data\INI\MappedImages\HandCreated\");
                    _contentManager.LoadIniFiles(@"Data\INI\MappedImages\TextureSize_512\");
                    _contentManager.LoadIniFiles(@"Data\INI\MappedImages\AptImages\");
                    break;
                }
                break;
            }
        }