Skip to content

Commit

Permalink
add interface functions
Browse files Browse the repository at this point in the history
  • Loading branch information
oceanstuck committed Nov 27, 2023
1 parent 8019c3a commit 1c4e2ce
Show file tree
Hide file tree
Showing 7 changed files with 46 additions and 1 deletion.
15 changes: 15 additions & 0 deletions Emulator/BMD.File.Emulator/Bmd/BmdBuilderFactory.cs
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,21 @@ public void AddFromFolders(string redirectorFolder)
}
}

public void AddFile(string fileName, string filePath, string dirPath, string route)
{
if (fileName.Equals(Constants.ArgsFile, StringComparison.OrdinalIgnoreCase))
OverrideCompilerArgs(filePath);

if (!fileName.EndsWith(Constants.MessageExtension, StringComparison.OrdinalIgnoreCase))
return;

RouteFileTuples.Add(new RouteGroupTuple()
{
Route = new Route(route),
File = filePath
});
}

/// <summary>
/// Tries to create a BMD from a given route.
/// </summary>
Expand Down
4 changes: 4 additions & 0 deletions Emulator/BMD.File.Emulator/BmdEmulator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,10 @@ private void DumpFile(string route, Stream stream)
}

internal List<RouteGroupTuple> GetInput() => _builderFactory.RouteFileTuples;

internal void AddFromFolders(string dir) => _builderFactory.AddFromFolders(dir);

internal void AddFile(string file, string route) => _builderFactory.AddFile(Path.GetFileName(file), file, Path.GetDirectoryName(file)!, route);
}

public class AtlusLogListener : LogListener
Expand Down
10 changes: 10 additions & 0 deletions Emulator/BMD.File.Emulator/BmdEmulatorApi.cs
Original file line number Diff line number Diff line change
Expand Up @@ -92,4 +92,14 @@ public bool TryCreateFromBmd(string sourcePath, string route, string destination
_framework.RegisterVirtualFile(destinationPath, emulated!, false);
return true;
}

public void AddFile(string file, string route)
{
_bmdEmulator.AddFile(file, route);
}

public void AddDirectory(string dir)
{
_bmdEmulator.AddFromFolders(dir);
}
}
12 changes: 12 additions & 0 deletions Emulator/Interfaces/BMD.File.Emulator.Interfaces/IBmdEmulator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,16 @@ public interface IBmdEmulator
/// <param name="destinationPath">The path where the emulated bmd file should be put</param>
public void RegisterBmd(string sourcePath, string destinationPath);

/// <summary>
/// Adds a new file to be used when compiling bmds
/// </summary>
/// <param name="file">The path to the file to add</param>
/// <param name="route">The route the file is in</param>
public void AddFile(string file, string route);

/// <summary>
/// Adds a directory to BMD Emulator so it's like the files were in FEmulator\BMD
/// </summary>
/// <param name="dir">The directory to add the files from</param>
public void AddDirectory(string dir);
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using AtlusScriptLibrary.Common.Libraries;
using AtlusScriptLibrary.Common.Text.Encodings;
using AtlusScriptLibrary.MessageScriptLanguage;
using BMD.File.Emulator.Bmd;
using FileEmulationFramework.Lib.Utilities;
using System;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,9 @@
</ItemGroup>

<ItemGroup>
<None Update="Emulators\BMD\Assets\datDressHelp.bmd">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Emulators\BMD\Assets\E722_103.BMD">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
Expand Down

0 comments on commit 1c4e2ce

Please sign in to comment.