mirror of
https://github.com/AdAstra-LD/DS-Pokemon-Rom-Editor.git
synced 2026-05-09 12:51:54 -05:00
246 lines
9.9 KiB
C#
246 lines
9.9 KiB
C#
using System.IO;
|
|
|
|
namespace DSPRE {
|
|
public static class Filesystem {
|
|
public static string eventFiles => RomInfo.gameDirs[RomInfo.DirNames.eventFiles].unpackedDir;
|
|
public static string OWSprites => RomInfo.gameDirs[RomInfo.DirNames.OWSprites].unpackedDir;
|
|
public static string mapTextures => RomInfo.gameDirs[RomInfo.DirNames.mapTextures].unpackedDir;
|
|
public static string buildingTextures => RomInfo.gameDirs[RomInfo.DirNames.buildingTextures].unpackedDir;
|
|
public static string dynamicHeaders => RomInfo.gameDirs[RomInfo.DirNames.dynamicHeaders].unpackedDir;
|
|
public static string dynamicHeadersPacked => RomInfo.gameDirs[RomInfo.DirNames.dynamicHeaders].packedDir;
|
|
public static string scripts => RomInfo.gameDirs[RomInfo.DirNames.scripts].unpackedDir;
|
|
public static string maps => RomInfo.gameDirs[RomInfo.DirNames.maps].unpackedDir;
|
|
public static string matrices => RomInfo.gameDirs[RomInfo.DirNames.matrices].unpackedDir;
|
|
public static string buildingConfigFiles => RomInfo.gameDirs[RomInfo.DirNames.buildingConfigFiles].unpackedDir;
|
|
public static string areaData => RomInfo.gameDirs[RomInfo.DirNames.areaData].unpackedDir;
|
|
public static string textArchives => RomInfo.gameDirs[RomInfo.DirNames.textArchives].unpackedDir;
|
|
public static string trainerProperties => RomInfo.gameDirs[RomInfo.DirNames.trainerProperties].unpackedDir;
|
|
public static string trainerParty => RomInfo.gameDirs[RomInfo.DirNames.trainerParty].unpackedDir;
|
|
public static string trainerGraphics => RomInfo.gameDirs[RomInfo.DirNames.trainerGraphics].unpackedDir;
|
|
public static string encounters => RomInfo.gameDirs[RomInfo.DirNames.encounters].unpackedDir;
|
|
public static string headbutt => RomInfo.gameDirs[RomInfo.DirNames.headbutt].unpackedDir;
|
|
public static string safariZone => RomInfo.gameDirs[RomInfo.DirNames.safariZone].unpackedDir;
|
|
public static string monIcons => RomInfo.gameDirs[RomInfo.DirNames.monIcons].unpackedDir;
|
|
public static string synthOverlay => RomInfo.gameDirs[RomInfo.DirNames.synthOverlay].unpackedDir;
|
|
public static string interiorBuildingModels => RomInfo.gameDirs[RomInfo.DirNames.interiorBuildingModels].unpackedDir;
|
|
public static string exteriorBuildingModels => RomInfo.gameDirs[RomInfo.DirNames.exteriorBuildingModels].unpackedDir;
|
|
|
|
public static string GetBuildingModelsDirPath(bool interior) {
|
|
if (interior) {
|
|
return interiorBuildingModels;
|
|
} else {
|
|
return exteriorBuildingModels;
|
|
}
|
|
}
|
|
|
|
public static string expArmPath => Path.Combine(synthOverlay, PatchToolboxDialog.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 string.IsNullOrWhiteSpace(Filesystem.GetBuildingModelsDirPath(interior)) ? null : 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 string.IsNullOrWhiteSpace(Filesystem.areaData) ? null : 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 string.IsNullOrWhiteSpace(Filesystem.mapTextures) ? null : 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 string.IsNullOrWhiteSpace(Filesystem.buildingTextures) ? null : 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 string.IsNullOrWhiteSpace(Filesystem.matrices) ? null : 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 string.IsNullOrWhiteSpace(Filesystem.textArchives) ? null : 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 string.IsNullOrWhiteSpace(Filesystem.maps) ? null : 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 string.IsNullOrWhiteSpace(Filesystem.scripts) ? null : 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 string.IsNullOrWhiteSpace(Filesystem.eventFiles) ? null : 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 string.IsNullOrWhiteSpace(Filesystem.trainerProperties) ? null : 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 string.IsNullOrWhiteSpace(Filesystem.dynamicHeaders) ? null : 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 string.IsNullOrWhiteSpace(Filesystem.encounters) ? null : 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 string.IsNullOrWhiteSpace(Filesystem.safariZone) ? null : 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 string.IsNullOrWhiteSpace(Filesystem.headbutt) ? null : 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);
|
|
}
|
|
}
|
|
}
|