Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
fcc4242
Refactor + IStarMapOnUi
KlaasWhite Nov 15, 2025
3e02cf8
Fix package release
KlaasWhite Nov 15, 2025
9024850
Merge pull request #19 from StarMapLoader/dev
KlaasWhite Nov 15, 2025
586dda4
Merge pull request #21 from StarMapLoader/dev
KlaasWhite Nov 15, 2025
8bc22e1
Merge pull request #22 from StarMapLoader/dev
KlaasWhite Nov 15, 2025
e96e2d3
Merge pull request #24 from StarMapLoader/dev
KlaasWhite Nov 16, 2025
07f52d5
Merge pull request #25 from StarMapLoader/dev
KlaasWhite Nov 16, 2025
2ae154a
Merge pull request #26 from StarMapLoader/dev
KlaasWhite Nov 16, 2025
d8a9ced
Merge pull request #27 from StarMapLoader/dev
KlaasWhite Nov 16, 2025
4be4d11
Merge pull request #29 from StarMapLoader/dev
KlaasWhite Nov 17, 2025
b3a9012
Merge pull request #30 from StarMapLoader/dev
KlaasWhite Nov 17, 2025
4e2f5b0
Merge pull request #31 from StarMapLoader/dev
KlaasWhite Nov 17, 2025
11c2601
Merge pull request #32 from StarMapLoader/dev
KlaasWhite Nov 22, 2025
35c0876
Merge pull request #34 from StarMapLoader/dev
KlaasWhite Nov 23, 2025
a7c3eef
Merge pull request #37 from StarMapLoader/dev
KlaasWhite Nov 29, 2025
91017ce
Merge pull request #39 from StarMapLoader/dev
KlaasWhite Nov 30, 2025
1578a95
Merge pull request #41 from StarMapLoader/dev
KlaasWhite Nov 30, 2025
822bb49
Merge pull request #43 from StarMapLoader/dev
KlaasWhite Dec 6, 2025
69c97c0
Merge pull request #49 from StarMapLoader/dev
KlaasWhite Dec 15, 2025
0ef4388
Merge pull request #59 from StarMapLoader/dev
KlaasWhite Feb 21, 2026
6ec882c
Merge pull request #62 from StarMapLoader/dev
KlaasWhite Feb 21, 2026
9a478c9
Merge pull request #67 from StarMapLoader/dev
KlaasWhite Feb 23, 2026
2f4e545
Merge pull request #68 from StarMapLoader/dev
KlaasWhite Feb 23, 2026
0565def
Merge pull request #70 from StarMapLoader/dev
KlaasWhite Mar 1, 2026
aec7e9e
Merge pull request #72 from StarMapLoader/dev
KlaasWhite Apr 9, 2026
0eed79e
Add config option for game CLI arguments
arthomnix Apr 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions StarMap.Loader/GameSurveyer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,17 @@ internal class GameSurveyer : IDisposable
private readonly IGameFacade _facade;
private readonly AssemblyLoadContext _gameAssemblyContext;
private readonly string _gameLocation;
private readonly string[] _args;

private Assembly? _game;
private IStarMapCore? _core;

public GameSurveyer(IGameFacade facade, AssemblyLoadContext alc, string location)
public GameSurveyer(IGameFacade facade, AssemblyLoadContext alc, string location, string[] args)
{
_facade = facade;
_gameAssemblyContext = alc;
_gameLocation = location;
_args = args;
}

public bool TryLoadCoreAndGame()
Expand Down Expand Up @@ -51,9 +53,7 @@ public void RunGame()
{
Debug.Assert(_game is not null, "Load needs to be called before running game");

string[] args = [];

_game.EntryPoint!.Invoke(null, [args]);
_game.EntryPoint!.Invoke(null, [_args]);
}

public void Dispose()
Expand Down
4 changes: 2 additions & 2 deletions StarMap.Loader/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ static void SoleModeInner()

var gameAssemblyContext = new GameAssemblyLoadContext(gameConfig.GameLocation);
var dumbFacade = new SoloGameFacade();
using var gameSurveyer = new GameSurveyer(dumbFacade, gameAssemblyContext, gameConfig.GameLocation);
using var gameSurveyer = new GameSurveyer(dumbFacade, gameAssemblyContext, gameConfig.GameLocation, gameConfig.GameArguments);
if (!gameSurveyer.TryLoadCoreAndGame())
{
Console.WriteLine("StarMap - Unable to load mod manager and game in solo mode.");
Expand All @@ -55,7 +55,7 @@ static async Task MainInner(string pipeName)

var gameLocation = await facade.Connect();
var gameAssemblyContext = new GameAssemblyLoadContext(Path.GetFullPath(gameLocation));
var gameSurveyer = new GameSurveyer(facade, gameAssemblyContext, gameLocation);
var gameSurveyer = new GameSurveyer(facade, gameAssemblyContext, gameLocation, []);
if (!gameSurveyer.TryLoadCoreAndGame()) return;

gameSurveyer.RunGame();
Expand Down
4 changes: 4 additions & 0 deletions StarMap.Types/LoaderConfig.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,14 @@ public bool TryLoadConfig()
}

GameLocation = path;

GameArguments = config.GameArguments;

return true;
}

public string GameLocation { get; set; } = "";
public string RepositoryLocation { get; set; } = "";
public string[] GameArguments { get; set; } = [];
}
}