This repository has been archived by the owner on Oct 10, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 12
Why use this instead of the original D2Template project?
Mir Drualga edited this page Mar 15, 2018
·
4 revisions
The original D2Template project is an excellent choice for providing plenty of abstractions for modders to implement their own hacks/mods for Diablo II. However, it suffers from the following deficiencies:
- It does not provide a way to detect versions, and blindly applies patches regardless of version.
- If some patch code is version dependent, then there isn't any way to ensure that certain patches work only on certain versions.
- Version 1.14 removes nearly all the DLL files and puts them into Game.exe.
- Much of the code is written in a C-like fashion, keeping it under global namespace.
- In addition, various advancements in C++ to increase readability and performance are not applied in the original.
- There is no standard way to create a config files.
- Writing an interception patch is tedious (by requiring at least 2 patches, but in most cases 3 patches), even though it is the most common patch type.
This fork of D2Template attempts to resolve these issues to allow for much better portability and code quality. Even pointer macros in D2Ptrs.h are written in such a way that they are easier to understand and very likely do not require changes in the future.