ThePhrozenKeep/D2MOO

Clarify how to integrate D2Moo for modders

Open

#20 opened on Jan 21, 2021

View on GitHub
 (3 comments) (0 reactions) (2 assignees)C++ (48 forks)auto 404
help wantedquestion

Repository metrics

Stars
 (159 stars)
PR merge metrics
 (PR metrics pending)

Description

Right now I did not choose the way we want to support mods for the D2Moo integration. In the long term, I think the best option is to use a fork of D2Moo, but it's not necessarily simple to migrate from an existing mod (for example using D2Template) as you would have 2 different patching methods.

In my opinion this should be a discussion with other modders / community, so I listed a few ideas, their advantages and drawbacks in the following table.

Please give your opinion!

D2MOO as Method Integration with existing mod Ease of update Can share includes Compatible with D2Template Can easily change implementation of an ordinal Mod redistribution Can contribute/share easily (bugs) Is own project bugged or is it D2Moo?
subproject Configure CMake to use your own patch files and .def medium easy only unpatched +/- yes, but only from the original dll pov D2Moo launcher + .dlls yes easy to know
subproject Import D2MOO .dlls and patch the functions you want easy easy only unpatched yes yes, but only from the original dll pov Whatever you already had yes easy to know
subproject Link D2Moo statically medium easy only unpatched yes yes, but only from the original dll pov Whatever you already had yes mostly easy to know
fork Fork D2Moo and work directly on it needs some transition (start by importing dll?) easy, might need resolve all +/- yes D2Moo launcher + .dlls (OR simply .dlls if we use forwarding DLLs for unpatched ordinals) yes just need to change branch
source Copy paste (please don't) "easy" but leads to lot of issues hard copy-paste... yes depends on your project patching facilities ? no no

Contributor guide