JamellaD2E

其他资源 2025-08-02

英语| 简体中文

Jamella的Diablo 2英雄编辑

Visual Studio 2019的完整源代码和解决方案和项目

当我还是个孩子的时候,我已经下载了JamellaD2E ,并用它来编辑角色和设备,直到现在,我找到了JD2E的完整源代码,这是一个巧合。


笔记

JD2E的源代码由此pdf文件发布:jamella-diablo-ii-source-code.pdf

我已经将其倾倒到CPP源代码文件中,并将其修复以在VS2019中进行编译。

这是Jamella的PDF的原始读物:


Jamella的暗黑破坏神2编辑器的源代码

2001-03-17

该源代码是我的知识产权。它是我自己写的。我已经发表了它,因此程序员和其他有兴趣的人可以查看我的编辑的内部。

如果您使用代码的一部分,请考虑我需要半年以上来构建此程序,并在您的信息框中提及我。

除此之外,您还会发现我在编辑编辑器3.0版后进行的一些修改,因此,如果您发现一些额外的功能和无用的代码,请不要感到惊讶。

而且请不要给我发送电子邮件,问我代码的工作原理,因为它确实如此,我没有时间教全世界面向对象的C ++。现在,首先读取标题文件来研究它。

杰梅拉

http://jamella.***cjb.net

jamella@gmx.net


收集源代码:

1. Use  to open the PDF File.
2. Ctrl + C/V copy all into .
3. Remove the first page(readme part) from txt.
4. Use RegEx to get both  and .
5. Save to source file.

正则步骤在此文件中:index.ts

它是用TypeScript编写的,由Nodejs运行,现在不再需要运行。

现在,源代码尚未编译,因为仍然有一些问题要解决。


线路休息问题

首先,在大多数文件中都存在一个断路问题,这些线路在错误的位置上破裂了,例如在字符串中间,此问题出现了,因为PDF文件已自动包裹在某些线路上,其宽度太长,因此我使用VS2019和VSCODE来格式化并修补所有代码文件,以确保所有代码文件在VS2019 i siff in Viff in just View of All Off in viss2019 iDIDIDE中都不会显示任何错误。


收集资源文件

我在#1中从tytannial中获得了JamellaD2E v3.0可执行文件,并且我从EXE中提取了所有缺少的资源文件,现在可以很好地工作。


编译

警告

编译时有很多警告,因为该项目最初是在VC98中编写的,因此我已经禁用了这些警告。

26451;6328;28183;6011;6386;4996;4552;4477;4554;4474;4258;
循环问题

源代码中有一件令人兴奋的事情,Jamella以这样的方式写循环:

for (int i = 0; i < 100; i++>) {
    // code...
}

// some other code...
int a = i; // he was using variant 'i' without defination, because it has been defined in the loop above.

这种习惯将在VS2019中导致错误,因此我修补了所有这些代码,这些代码在编译时显示出错误。

CRT警告

由于此项目是在VC6年龄编写的,因此C运行时有很大不同,因此我需要添加_CRT_SECURE_NO_WARNINGS宏,以确保不再显示CRT警告。

JamellaD2E似乎有两个项目,您可以在JamellaD2E .H中看到它。

  • Jamella的Diablo 2英雄编辑
  • Jamella的com对象

他使用宏来控制源代码中的定义。

项目
Jamellaeditor Jamella的Diablo 2英雄编辑
Jamellacomserver Jamella的com对象

我为这个项目添加了Jamellaeditor宏。

JamellaD2E .H中仍然有很多宏,您可以检查一下是否令人兴奋。

const字符串问题

回到VC6的年龄,您可以在没有警告和错误的情况下编写代码:

char* sz = "Hello, World.";

现在,在VS2019中,它将向您显示警告和错误,您必须这样写:

const char* sz = "Hello, World.";

为了解决此问题而无需修改源代码,我将允许模式更改为该项目的false。

而且我也禁用了SDL检查。


关联

现在,我们可以编译所有文件,但是在链接时缺少一些静态导入库文件。

  • comctl32.lib使用Windows Common控件。
  • winmm.lib播放声音。

我将其添加到项目配置中。


完毕

在所有这些工作之后,我们得到了JamellaD2E的可执行文件,这正是我想要的,我可以构建和调试它,看看它是如何工作的。


  • Jamella书面和开源
  • 通过ZhaoleimxD转换为VS2019解决方案
  • 特别感谢Nedkali资源文件
  • 特别感谢Tytannial提供的v3.0 EXE来提取资源文件

2021-10-09

下载源码

通过命令行克隆项目:

git clone https://github.com/zhaoleimxd/JamellaD2E.git