(转移博客时源代码丢失,本文根据备份的网页还原,感谢turndown项目)
Ender Lilies的美术确实顶,特别是暂停界面的白毛萝莉特写,所以想把它弄出来做桌面背景。但今天用UEViewer拆包ender lilies时发现居然会出错,报错内容为assertion failed: !isUnicode。本人水平有限,不知道为何导致这个问题,也不知道怎么修复。但事实上注释掉源代码中的assert,是可以成功导出图片的。至少是部分。
(注:如果你只是为了找暂停界面的莉莉图片,不需要这么麻烦。她在Game/_Zenith/UI/Textures/Characters里,可以直接导出)
定位错误位置:
UEViewer/Unreal/UnrealPackage/UnPackage4.cpp SerializeFNameSerializedView 中
注释掉第671行:
1 | //assert(!isUnicode); |
同时注释掉 LoadNameTableIoStore 中的第695行:
1 | //assert(Data == EndPosition); |
重新编译就可以导出大部分图片(大概)