DS-Pokemon-Rom-Editor/DS_Map/Filesystem.cs
Miguel Terol Espino 7cf53fadb5 Started merging changes
Co-authored-by: Cuddlyogre <cuddlyogre@users.noreply.github.com>
2024-03-03 14:07:40 +01:00

246 lines
9.4 KiB
C#

using System.IO;
namespace DSPRE {
public static class Filesystem {
public static string eventFiles { get { return RomInfo.gameDirs[RomInfo.DirNames.eventFiles].unpackedDir; } }
public static string OWSprites { get { return RomInfo.gameDirs[RomInfo.DirNames.OWSprites].unpackedDir; } }
public static string mapTextures { get { return RomInfo.gameDirs[RomInfo.DirNames.mapTextures].unpackedDir; } }
public static string buildingTextures { get { return RomInfo.gameDirs[RomInfo.DirNames.buildingTextures].unpackedDir; } }
public static string dynamicHeaders { get { return RomInfo.gameDirs[RomInfo.DirNames.dynamicHeaders].unpackedDir; } }
public static string dynamicHeadersPacked { get { return RomInfo.gameDirs[RomInfo.DirNames.dynamicHeaders].packedDir; } }
public static string scripts { get { return RomInfo.gameDirs[RomInfo.DirNames.scripts].unpackedDir; } }
public static string maps { get { return RomInfo.gameDirs[RomInfo.DirNames.maps].unpackedDir; } }
public static string matrices { get { return RomInfo.gameDirs[RomInfo.DirNames.matrices].unpackedDir; } }
public static string buildingConfigFiles { get { return RomInfo.gameDirs[RomInfo.DirNames.buildingConfigFiles].unpackedDir; } }
public static string areaData { get { return RomInfo.gameDirs[RomInfo.DirNames.areaData].unpackedDir; } }
public static string textArchives { get { return RomInfo.gameDirs[RomInfo.DirNames.textArchives].unpackedDir; } }
public static string trainerProperties { get { return RomInfo.gameDirs[RomInfo.DirNames.trainerProperties].unpackedDir; } }
public static string trainerParty { get { return RomInfo.gameDirs[RomInfo.DirNames.trainerParty].unpackedDir; } }
public static string trainerGraphics { get { return RomInfo.gameDirs[RomInfo.DirNames.trainerGraphics].unpackedDir; } }
public static string encounters { get { return RomInfo.gameDirs[RomInfo.DirNames.encounters].unpackedDir; } }
public static string headbutt { get { return RomInfo.gameDirs[RomInfo.DirNames.headbutt].unpackedDir; } }
public static string safariZone { get { return RomInfo.gameDirs[RomInfo.DirNames.safariZone].unpackedDir; } }
public static string monIcons { get { return RomInfo.gameDirs[RomInfo.DirNames.monIcons].unpackedDir; } }
public static string synthOverlay { get { return RomInfo.gameDirs[RomInfo.DirNames.synthOverlay].unpackedDir; } }
public static string interiorBuildingModels { get { return RomInfo.gameDirs[RomInfo.DirNames.interiorBuildingModels].unpackedDir; } }
public static string exteriorBuildingModels { get { return RomInfo.gameDirs[RomInfo.DirNames.exteriorBuildingModels].unpackedDir; } }
public static string GetBuildingModelsDirPath(bool interior) {
if (interior) {
return interiorBuildingModels;
} else {
return exteriorBuildingModels;
}
}
public static string expArmPath { get { return Path.Combine(synthOverlay, ROMToolboxDialog.expandedARMfileID.ToString("D4")); } }
public static string GetPath(string path, int id, string format = "D4") {
return Path.Combine(path, id.ToString(format));
}
public static string GetPath(string path, string prefix, int id, string ext, string format = "D4") {
return Path.Combine(path, prefix + id.ToString(format) + "." + ext);
}
static string[] GetBuildingModelFiles(bool interior) {
return Directory.GetFiles(Filesystem.GetBuildingModelsDirPath(interior));
}
public static string GetBuildingModelPath(bool interior, int id) {
return GetPath(Filesystem.GetBuildingModelsDirPath(interior), id);
}
public static int GetBuildingCount(bool interior) {
return GetBuildingModelFiles(interior).Length;
}
public static string[] GetAreaDataFiles() {
return Directory.GetFiles(Filesystem.areaData);
}
public static string GetAreaDataPath(int id) {
return GetPath(Filesystem.areaData, id);
}
public static int GetAreaDataCount() {
return GetAreaDataFiles().Length;
}
public static string GetTexturePath(bool useMapTiles, int textureID) {
string path = Filesystem.GetMapTexturePath(textureID);
string path2 = Filesystem.GetBuildingTexturePath(textureID);
string tilesetPath = useMapTiles ? path : path2;
return tilesetPath;
}
static string[] GetMapTextureFiles() {
return Directory.GetFiles(Filesystem.mapTextures);
}
public static string GetMapTexturePath(int id) {
return GetPath(Filesystem.mapTextures, id);
}
public static int GetMapTexturesCount() {
return GetMapTextureFiles().Length;
}
static string[] GetBuildingTextureFiles() {
return Directory.GetFiles(Filesystem.buildingTextures);
}
public static string GetBuildingTexturePath(int id) {
return GetPath(Filesystem.buildingTextures, id);
}
public static int GetBuildingTexturesCount() {
return GetBuildingTextureFiles().Length;
}
static string[] GetMatrixFiles() {
return Directory.GetFiles(Filesystem.matrices);
}
public static string GetMatrixPath(int id) {
return GetPath(Filesystem.matrices, id);
}
public static int GetMatrixCount() {
return GetMatrixFiles().Length;
}
static string[] GetTextArchiveFiles() {
return Directory.GetFiles(Filesystem.textArchives);
}
public static string GetTextArchivePath(int id) {
return GetPath(Filesystem.textArchives, id);
}
public static int GetTextArchivesCount() {
return GetTextArchiveFiles().Length;
}
static string[] GetMapFiles() {
return Directory.GetFiles(Filesystem.maps);
}
public static string GetMapPath(int id) {
return GetPath(Filesystem.maps, id);
}
public static int GetMapCount() {
return GetMapFiles().Length;
}
static string[] GetScriptFiles() {
return Directory.GetFiles(Filesystem.scripts);
}
public static string GetScriptPath(int id) {
return GetPath(Filesystem.scripts, id);
}
public static int GetScriptCount() {
return GetScriptFiles().Length;
}
static string[] GetEventFiles() {
return Directory.GetFiles(Filesystem.eventFiles);
}
public static string GetEventPath(int id) {
return GetPath(Filesystem.eventFiles, id);
}
public static int GetEventFileCount() {
return GetEventFiles().Length;
}
static string[] GetTrainerPropertiesFiles() {
return Directory.GetFiles(Filesystem.trainerProperties);
}
public static string GetTrainerPropertiesPath(int id) {
return GetPath(Filesystem.trainerProperties, id);
}
public static int GetTrainerPropertiesCount() {
return GetTrainerPropertiesFiles().Length;
}
static string[] GetDynamicHeaderFiles() {
return Directory.GetFiles(Filesystem.dynamicHeaders);
}
public static string GetDynamicHeaderPath(int id) {
return GetPath(Filesystem.dynamicHeaders, id);
}
public static int GetDynamicHeadersCount() {
return GetDynamicHeaderFiles().Length;
}
static string[] GetEncounterFiles() {
return Directory.GetFiles(Filesystem.encounters);
}
public static string GetEncounterPath(int id) {
return GetPath(Filesystem.encounters, id);
}
public static int GetEncountersCount() {
return GetEncounterFiles().Length;
}
static string[] GetSafariZoneFiles() {
return Directory.GetFiles(Filesystem.safariZone);
}
public static string GetSafariZonePath(int id) {
return GetPath(Filesystem.safariZone, id);
}
public static int GetSafariZoneCount() {
return GetSafariZoneFiles().Length;
}
static string[] GetHeadbuttFiles() {
return Directory.GetFiles(Filesystem.headbutt);
}
public static string GetHeadbuttPath(int id) {
return GetPath(Filesystem.headbutt, id);
}
public static int GetHeadbuttCount() {
return GetHeadbuttFiles().Length;
}
public static string GetOWSpritePath(int id) {
return GetPath(Filesystem.OWSprites, id);
}
public static string GetBuildingConfigPath(int id) {
return GetPath(Filesystem.buildingConfigFiles, id);
}
public static string GetTrainerPartyPath(int id) {
return GetPath(Filesystem.trainerParty, id);
}
public static string GetTrainerGraphicsPath(int id) {
return GetPath(Filesystem.trainerGraphics, id);
}
public static string GetMonIconPath(int id, string format = "D4") {
return GetPath(Filesystem.monIcons, id, format);
}
public static string GetSynthOerlayPath(int id) {
return GetPath(Filesystem.synthOverlay, id);
}
}
}