Reformats the entire Craftimizer source tree with dotnet csharpier 1.2.6
to match the Hellion Forge house style (matches what HellionChat enforces
in its pre-push pipeline). Pure whitespace + using-block sorting; no
semantic changes.
This is a one-time noisy commit. Future code edits in this fork should
land csharpier-clean because the pre-push hook (introduced in the next
commit) runs `dotnet csharpier check Craftimizer/` as Block C of the
preflight gate.
Trade-off acknowledged: this widens the merge gap with upstream
Craftimizer should Asriel ever resume maintenance. Given the upstream
has been dormant since FFXIV 7.4 and the fork is light-rename only
(internal namespaces unchanged), the marginal cost is acceptable.
User-facing rebrand of the Hellion Forge maintenance fork so it installs
as a separate Dalamud plugin slot named Forgeimizer and refuses to load
in parallel with upstream Craftimizer. Internal namespaces stay as
Craftimizer.* — this is a deliberate light-rename so a future upstream
merge stays straightforward.
Manifest and build:
- csproj AssemblyName = Forgeimizer (DLL is now Forgeimizer.dll)
- csproj PackageProjectUrl points at the Hellion Gitea
- csproj Authors dual-credits Asriel Camora and Hellion Forge
- Craftimizer.json renamed to Forgeimizer.json with Name/InternalName/
Punchline/Description/RepoUrl/IconUrl/ImageUrls/Tags updated to
Forgeimizer + Hellion-hosted URLs
Conflict detector:
- New Utils/CraftimizerConflictDetector.cs checks
pluginInterface.InstalledPlugins for an active InternalName=="Craftimizer"
and throws InvalidOperationException with /xlplugins guidance if found
- Plugin.cs constructor calls the detector before Service.Initialize so
no Dalamud state is touched on conflict
Other user-facing strings:
- WindowSystem name "Craftimizer" -> "Forgeimizer"
- Settings about-tab header "Craftimizer" -> "Forgeimizer", hyperlink
retargeted to the Hellion Gitea repo (upstream attribution stays on
the WorkingRobot author line below)
- Configuration.MacroMateName default "Craftimizer" -> "Forgeimizer"
- /craftimizer slash command gains a /forgeimizer alias (all other
upstream commands stay unchanged for muscle-memory compatibility)
Docs:
- README rewritten with Forgeimizer title, install section, conflict
notice, slash command table, dual-holder license footer
- COPYRIGHT title and source-code block updated to call out both the
rebrand and the SDK 15 migration as Hellion Forge fork maintenance
- NOTICE.md direct-word-to-Asriel section now also covers the rebrand
scope and the conflict detector language, with explicit invitation
to flag anything that does not sit right
LICENSE remains unchanged — Asriel Camora's MIT notice is mandatory.
Plugin Version stays at 2.9.1.1; this is a rebrand cycle, not a
version bump.
- Update Dalamud.NET.Sdk version in csproj
- Regenerate packages.lock.json against SDK 15
- Migrate FFXIVClientStructs.FFXIV.Component.GUI.ValueType → AtkValueType
(SynthesisValues.cs)
- Introduce local IEndObject interface in ImRaii2.cs (Dalamud's nested
ImRaii.IEndObject was removed in SDK 15)
- Switch direct Dalamud ImRaii returns to typed disposables
(ImRaii.TabItemDisposable, ImRaii.ColorDisposable)
- Replace `if (!panel)` / `if (plot)` with `.Success` checks for the
local IEndObject helpers
- Fix ref-bool lifetime issue in Settings.TabItem by using the
ImRaii.TabItem(label, flags) overload
This fixes recipes that adjust to the job level (i.e., Cosmic
Exploration) not being set to the right level after a level up when the recipe
doesn't change. This happens frequently during Red Alerts.
This can be considered an extended fix for #43.