|
楼主 |
发表于 2024-7-12 20:43:09
|
显示全部楼层
既然是从0开始分析,那么就要先搞明白几个问题,这个字体相关的nut功能在哪定义的?怎么调用的?搞明白这两个问题,基本也就搞明白整个工作流程了。
首先找到最直观的三个nut文件sqr/ui/damagefont/下的cache,function,header
根据名字判断类别并稍微浏览一下,function中是字体相关的函数功能实现,header定义了部分常量,cache声明了一个DamageFont的类。
搞清楚门路之后就要决定从哪里入手,既然我们是要修复异常状态导致的高频卡退bug,自然是从异常相关的部分去入手。
直接在function.nut中搜索一下异常状态的关键字“active”
首先是两个create函数,分别创建异常伤害和异常附加伤害的ani
也就是下图中的紫色和蓝色字体
顺着这个函数,遍历一下sqr看看什么地方调用了这个函数,也就能找到创建ani的地方
(贪图方便我这里随手拿python写了个遍历)
发现除了function.nut中的定义,还在cache.nut中进行了调用(preload是预读,不管它) |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|