YDWE
YDWE copied to clipboard
A Tool to Help the Creation of Warcraft III Map
**最开始我用vs2019(mvsc2019 16.3.1)打开ydwe.sln来编译,缺了bee的东西,然后下载了放到bee.lua,编译错误,无法打开文件ydwestartup.lib。** > 严重性 代码 说明 项目 文件 行 禁止显示状态 禁止显示状态 > 错误 LNK1104 无法打开文件“K:\YDWE\Development\Build\bin\Debug\bin\YDWEStartup.lib” YDWE K:\YDWE\Development\Core\YDWE\LINK 1 **如果用build里的build release.bat,显示module 'filelock' not found。 详细信息:** > C:\Windows\system32>call "K:\YDWE\Build\Build.bat" Release > >...
[Wave.zip](https://github.com/actboy168/YDWE/files/7742522/Wave.zip) 将压缩包里的 wave.exe 覆盖到ydwe里 即可 源代码路径 https://github.com/w4454962/wave
近期重构了一次MapHelper 保存加速插件, 重写了触发器部分的编译代码,经过大量地图跟作者的测试已经彻底稳定了, 生成的代码在去掉 空格跟\t 符的情况下 跟ydwe的代码进行对比 触发器部分有95%以上是一致的了, 如果ydwe还有更新的话, 可以完全替代ydtrigger.dll了, 别忘记项目地址 https://github.com/w4454962/MapHelper
为worldedit.exe启用大地址,使worldedit.exe能使用大于2GB的内存。
作者有时间的话能帮忙做一个64位的ydwe吗,现在我编辑物编时经常出现编辑到一半突然崩溃的问题,提醒我内存不足。我现在需要一个64位的ydwe,应该也有很多地图作者也需要,但我自己完全写不来代码,所以求您改一个64位的ydwe,感激不尽!
如题 亲测过 当jass里有大量的脚本代码 加上lua里也大量注册了 jass回调函数 会导致lua回调崩溃 具体原因是 uintptr_t trampoline_create(uintptr_t callback_, uintptr_t param1_, uintptr_t param2_) 所生成的 jass字节码 在特殊的情况下不准确 而产生的崩溃 我重新用另外一种方式实现 回调, 就解决该崩溃了。 果然这些千奇百怪的坑只有我踩到
lua引擎的jassbind.cpp中 ``` void push_string(lua_State* L, jass::jstring_t value) { if (value < 0x10000) { value = get_jass_vm()->string_table->get(value); } lua_pushstring(L, jass::from_trigstring(jass::from_string(value))); } ``` 这里判断的小于0x10000有问题 好像是为了兼容 全局变量读取? 索引大于0x10000会导致崩溃
使用lua math库里的三角函数会因为环境问题而异步 在网易那边 窗口化模式 使用lua引擎 会浮点数精度丢失 64位double 丢失成 float 32位 而全屏模式正常, 导致有的玩家全屏 跟 窗口化的玩家联机 而导致掉线, 这个bug我查了半个月才查到 真是日狗了, 本地测试正常,原因未知 可能跟图像引擎的启动参数有关系, 然后听说11那边也有可能有这种问题(未证实) 解决方案 把lua 的三角函数 换成jass的 统一使用 单精浮点数 就保证全屏跟窗口化就一致了。 放在这里给大家警示一下吧。
今天查bug的时候偶然发现的 handle * step 可能会等于 另一个有效handle 发生碰撞 1050425*662385 = 1061673 我碰上了1050425这个触发的逆天变量key等于1061673这个计时器 然后触发运行结束把计时器的逆天变量全清空了 导致出现了问题
疑似注册war3触发器的lua回调函数有bug, 复现代码如下 6开魔兽 然后局域网联机的时候 输入任意字符 执行100次注册触发器。有概率出现不同步 local jass = require 'jass.common' local console = require 'jass.console' local debug = require 'jass.debug' war3 = {} function war3.CreateTrigger(call_back) local trg = jass.CreateTrigger()...