Skip to content

FF9SpecialEffectPlugin - #1541

Merged
Albeoris merged 5 commits into
mainfrom
features/SpecialEffectPlugin
Oct 11, 2026
Merged

Albeoris merged 5 commits into
mainfrom
features/SpecialEffectPlugin

Conversation

@Albeoris

Copy link
Copy Markdown
Owner

Adds FF9SpecialEffectPlugin as a standalone NativeAOT project for Windows x64.

  • Game deployment and patcher inclusion require explicit DeploySpecialEffectPlugin and IncludeSpecialEffectPlugin flags; both default to off.
  • Call tracing is available only in Debug and enabled through a configuration file.

I smoke-tested Debug/Release builds and patcher with and without the plugin, but I'm sure, it contains bugs. >_>

FF9SpecialEffectPlugin

Run from the repository root:

  • Deploy locally: dotnet build FF9SpecialEffectPlugin/FF9SpecialEffectPlugin.csproj -c Release /p:DeploySpecialEffectPlugin=true
  • Build a local patcher with the plugin (Visual Studio Developer PowerShell): msbuild Memoria.Patcher/Memoria.Patcher.csproj /restore /p:Configuration=Release /p:IncludeSpecialEffectPlugin=true

Both flags are off by default. To specify the game directory, add /p:MemoriaGamePath="<game root>" to the deployment command.

Call tracing

Build and deploy with -c Debug, then place FF9SpecialEffectPlugin.trace.json beside the DLL in <game root>/x64/FF9_Data/Plugins/. Tracing is disabled in Release.

All functions:

{
  "enabled": true,
  "log": "FF9SpecialEffectPlugin.trace.log",
  "functions": ["*"],
  "cap": {
    "perFunction": 0,
    "total": 0
  }
}

Tracing all functions generates hundreds of megabytes of logs within a few seconds.

Selected functions:

{
  "enabled": true,
  "log": "FF9SpecialEffectPlugin.trace.log",
  "functions": ["HostCallbackSend", "PsxClearOTagR"]
}

Relative log paths resolve from the configuration file's directory.

@Albeoris
Albeoris merged commit 1ed8e64 into main Oct 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant