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); } }
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; } }