天啊, 自己解析(listfile)本身就是一个错误!
因为StormLib在打开MPQ文件时就已经自己解析过了, 没必要多此一举!
而且, 虽然自己缓存一下文件树会加快查找和枚举的速度, 但是, 从字符串构造这个棵树的时间太长了~~~
这就导致了一个很严重的问题: 启动速度慢.......
对于文件树, 游戏没有什么用, 因为游戏读文件时根本不管是什么目录, 你可以把目录也看是文件名的一部分
换句话说, MPQ包里根本就没有目录的概念!
而对于编辑器等需要列举文件/文件夹列表的场合, 直接对所有文件进行枚举再判断字符串即可:
下面是我的"单元"测试程序(嘿嘿, 包装一个好听的名字), 运行一下不会超过2秒, DEBUG模式下