diff --git a/COPYRIGHT b/COPYRIGHT new file mode 100644 index 0000000..a078ccd --- /dev/null +++ b/COPYRIGHT @@ -0,0 +1,53 @@ +Craftimizer — Hellion fork of the FFXIV crafting plugin by Asriel Camora + +═══════════════════════════════════════════════════════════════════ +Source code +═══════════════════════════════════════════════════════════════════ + +Copyright (c) 2023 Asriel Camora + Original author of Craftimizer (https://github.com/WorkingRobot/Craftimizer). + The entire architecture, simulator, solver, recipe data layer, + synthesis hooks, macro engine, and every UI window are Asriel's + work. This fork would not exist without it. + +Copyright (c) 2026 Hellion Online Media + Hellion fork maintenance: Dalamud SDK 14 → 15 migration for the + FFXIV 7.5 / Dalamud API 15 cycle. Scope: the ValueType → AtkValueType + rename in FFXIVClientStructs, the local IEndObject interface that + replaces the removed Dalamud ImRaii.IEndObject, the typed ImRaii + disposable returns (TabItemDisposable, ColorDisposable), and the + ImRaii.TabItem ref-bool lifetime fix. No functional changes. + +Source code is licensed under the MIT License. The full Licence text +lives in the LICENSE file at the root of this repository. + +═══════════════════════════════════════════════════════════════════ +Visual assets +═══════════════════════════════════════════════════════════════════ + +Copyright (c) 2026 Florian Eck + Designer of the Hellion Forge logo (docs/images/hellion-forge.png). + Exclusive usage and marketing rights licensed to Hellion Online + Media. This asset is NOT covered by the MIT source code licence + above and may not be reused, modified, or redistributed without + separate permission from the copyright holder. + +Copyright (c) 2023 Asriel Camora + Designer of the Craftimizer plugin icon (icon.png), the embedded + graphics (Craftimizer/Graphics/*.png), and the documentation + screenshots (Images/*.png). Asset reuse follows the MIT Licence + above. + +═══════════════════════════════════════════════════════════════════ +Bundled binary assets +═══════════════════════════════════════════════════════════════════ + +Raphael solver (Craftimizer/raphael_bindings.dll, Raphael.Net.dll) + Upstream Rust + .NET binding crate bundled as a pre-built binary + by the original Craftimizer build. Licensing follows the upstream + Raphael project; see the upstream Craftimizer repository for the + attribution chain. + +═══════════════════════════════════════════════════════════════════ + +Acknowledgements directed at the upstream author live in NOTICE.md. diff --git a/NOTICE.md b/NOTICE.md new file mode 100644 index 0000000..7f55bef --- /dev/null +++ b/NOTICE.md @@ -0,0 +1,87 @@ +# Notice + +## Acknowledgements + +This Craftimizer fork is built on +[Craftimizer](https://github.com/WorkingRobot/Craftimizer) by +**[Asriel Camora](https://github.com/WorkingRobot)**, who built and +maintained the plugin for years. The entire architecture, the crafting +simulator, the macro solver, the recipe data layer, the synthesis helper, +and every UI window come from Asriel's work. Without Craftimizer, this +fork would not exist. + +If this fork is useful to you, the credit for that belongs in large +part to Asriel. + +## A direct word to Asriel + +Hi. I am Jon. I forked Craftimizer because the upstream `main` branch +had not received an update past FFXIV 7.4, and I wanted a working +crafting plugin for personal use that still loads on the current Dalamud +API. This is not a "do it better" fork. The opposite is true. I would +have happily kept using upstream if it had stayed current. + +What this fork adds is purely a Dalamud SDK 14 → 15 migration cycle. +Concretely, three changes in `FFXIVClientStructs` and Dalamud's `ImRaii` +namespace were renamed or removed; this fork ports the affected call +sites to the new symbol names and adds a local `IEndObject` interface to +replace the nested one Dalamud removed. No new features, no design +departures, no rebranding of internal namespaces. Where I had to modify +your sources I kept the edits minimal, isolated to the lines the SDK 15 +compiler refused, and revertible. + +If you pick Craftimizer back up and ship an upstream SDK 15 update, this +fork folds back into a pure mirror and the recommendation will be to +switch back to your build. + +If anything in this fork ever steps on something you would not be okay +with — attribution, naming, anything else — please reach out and I will +fix it. Genuinely. + +## Why this fork exists + +The upstream `main` last commit is "Update for 7.4" from late 2025. The +plugin is otherwise dormant: no SDK 15 branch, no public roadmap, no +recent issue activity from the maintainer. FFXIV 7.5 brought the Dalamud +API jump from level 14 to 15 in early 2026, and Craftimizer stopped +loading from then on. My personal crafting workflow depends on it, so I +took the maintenance burden on for a while. + +This fork is maintained for personal and friend-circle use under Hellion +Forge. It is not a competing project and does not target the broader +Craftimizer user base. + +## Why this fork is not upstreamed + +I did not open a pull request because the upstream repository has been +quiet for months and there is no signal that maintenance bandwidth is +available on Asriel's side. A drive-by SDK-15-bump PR with no maintainer +to land it would sit open indefinitely and create the wrong impression +that the change has been reviewed. If upstream becomes active again and +wants the migration, the change set is small enough (+23 / -19 lines, +seven files) to merge by hand in minutes. + +## Maintainer contact + +If something in this fork causes problems, especially if it relates back +to upstream Craftimizer or to attribution: + +- **Gitea Issues:** + [JonKazama-Hellion/Craftimizer/issues](https://gitea.hellion-forge.cloud/JonKazama-Hellion/Craftimizer/issues) +- **Discord:** `@j.j_kazama` +- **Email (business):** + +I respond on weekdays during European business hours. For attribution +or takedown questions, email is the fastest path. + +## Trademarks and naming + +"Craftimizer" is the name Asriel chose for the upstream plugin. This +fork keeps the name as a reference to the origin and does not rebrand +the user-facing identity. The Hellion brand is mine. + +--- + +Maintained under **Hellion Forge**, the modding and plugin line of +**Hellion Online Media** | Bad Harzburg | +[hellion-media.de](https://hellion-media.de) diff --git a/README.md b/README.md index a777cf1..9fe055b 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,132 @@ -# Craftimizer +# Craftimizer (Hellion Fork) -soon(tm) \ No newline at end of file +[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) +[![Dalamud API](https://img.shields.io/badge/Dalamud-API_15-purple)](https://github.com/goatcorp/Dalamud) +[![.NET](https://img.shields.io/badge/.NET-10.0-512BD4)](https://dotnet.microsoft.com/) +[![FFXIV](https://img.shields.io/badge/FFXIV-7.5+-c3a37f)](https://www.finalfantasyxiv.com/) +[![Upstream](https://img.shields.io/badge/upstream-WorkingRobot%2FCraftimizer-blue)](https://github.com/WorkingRobot/Craftimizer) + +

+ Hellion Forge +

+ +**Version 2.9.1.1 (Hellion fork)** — a maintenance fork of +[Craftimizer](https://github.com/WorkingRobot/Craftimizer) by +[Asriel Camora](https://github.com/WorkingRobot), brought back to life on +Dalamud SDK 15 for FFXIV 7.5+. + +Upstream Craftimizer received its last update for FFXIV 7.4 in late 2025 and +has been dormant since. With the Dalamud API jump from level 14 to 15 in +early 2026, the plugin stopped loading. This fork is a narrow API-compatibility +cycle that gets it back on its feet for personal and friend-circle use. No +features added, no design changes, no behavior departures from upstream. If +Asriel ships an official SDK 15 update upstream, this fork folds back into a +pure mirror and the recommendation will be to switch back. + +## Acknowledgements + +Every line of crafting logic, every solver heuristic, the entire simulator, the +recipe data layer, the synthesis hooks, and all UI windows are +**[Asriel Camora](https://github.com/WorkingRobot)**'s work. This fork only +unblocks the API path. Full acknowledgement in [NOTICE.md](NOTICE.md). + +This fork is maintained under **Hellion Forge**, the modding and plugin line of +[Hellion Online Media](https://hellion-media.de). + +--- + +## What this fork changes + +| Area | Upstream (last 2.9.1.1) | This fork | +| ----------------------------------------------- | ---------------------------------------- | ---------------------------------------------------------------------------------------- | +| Dalamud SDK | 14.0.1 | **15.0.0** | +| Dalamud API Level | 14 (manifest unset, packager-inferred) | **15** (packager-set) | +| `FFXIVClientStructs.FFXIV.Component.GUI` type | `ValueType` | `AtkValueType` (upstream rename) | +| `Dalamud.Interface.Utility.Raii.ImRaii` nested | `IEndObject`, `Color` (removed in SDK15) | local `IEndObject` interface in `ImRaii2.cs`; typed `ImRaii.*Disposable` returns | +| `Settings.TabItem` ref-bool lifetime | `var open = true; TabItem(label, ref open, flags)` (rejected by SDK 15 escape analysis) | `TabItem(label, flags)` overload (no ref) | + +Diff total: **+23 / −19 lines** across seven files. The change set is +intentionally minimal so a future upstream merge stays trivial. + +--- + +## Tech Stack + +| Category | Technology | +| ---------- | ----------------------------------------------------- | +| Platform | Dalamud Plugin (API Level 15) | +| Language | C# / .NET 10 (`net10.0-windows`) | +| Build | Dalamud.NET.Sdk 15.0.0 | +| UI | Dear ImGui via Dalamud bindings | +| Solver | Raphael (Rust crate, bundled as `raphael_bindings.dll`) | +| Toolchain | dotnet 10 SDK | + +--- + +## Build + +```bash +git clone ssh://git@gitea.hellion-forge.cloud:2222/JonKazama-Hellion/Craftimizer.git +cd Craftimizer +dotnet build Craftimizer.sln -c Release +``` + +The plugin DLL plus the manifest land in `Craftimizer/bin/x64/Release/`. Point +Dalamud's **Dev Plugin Locations** at that folder (`/xlsettings` → +**Experimental**) to load it as a dev plugin. + +--- + +## Project Status + +**Experimental Hellion fork — personal-use only.** No distribution channel, +no custom repo, no release pipeline. This may change if the fork grows beyond +a single-user maintenance build, but for now: clone, build, dev-load. + +If upstream resumes active maintenance, this fork archives. + +--- + +## Community & Support + +- Bug reports and questions: + [Gitea Issues](https://gitea.hellion-forge.cloud/JonKazama-Hellion/Craftimizer/issues) +- Discord DM: `@j.j_kazama` +- Email (business): + +For anything that relates back to upstream Craftimizer or to attribution, see +the contact path in [NOTICE.md](NOTICE.md). + +--- + +## License + +MIT (same license as upstream Craftimizer). Full text in [LICENSE](LICENSE). +Copyright details with dual-holder block in [COPYRIGHT](COPYRIGHT). Personal +acknowledgement to the upstream author in [NOTICE.md](NOTICE.md). + +© 2023 [Asriel Camora](https://github.com/WorkingRobot) for the original +Craftimizer plugin. © 2026 Hellion Online Media for the Dalamud SDK 15 +fork-maintenance modifications. + +### FFXIV Disclaimer + +FINAL FANTASY XIV © SQUARE ENIX CO., LTD. All rights reserved. Craftimizer +and this fork are unofficial, fan-made plugins and are not affiliated with, +supported by, sponsored by, or approved by Square Enix. + +--- + +## Project Documents + +| Document | Contents | +| -------------------------- | -------------------------------------------------------------- | +| [`LICENSE`](LICENSE) | MIT licence full text (Asriel Camora original notice intact). | +| [`COPYRIGHT`](COPYRIGHT) | Dual-holder copyright block, visual asset attribution. | +| [`NOTICE.md`](NOTICE.md) | Acknowledgement to upstream author, scope of fork, contact. | + +--- + +Maintained under **Hellion Forge**, the modding and plugin line of +**Hellion Online Media** | Bad Harzburg | +[hellion-media.de](https://hellion-media.de) diff --git a/docs/images/hellion-forge.png b/docs/images/hellion-forge.png new file mode 100644 index 0000000..8e7290c Binary files /dev/null and b/docs/images/hellion-forge.png differ