revengenowstudio / YR_RN_Mission_Editor

FinalSun & FinalAlert2 Level Editors
GNU General Public License v3.0
1 stars 0 forks source link

地编计算注册表序号与游戏内不符 #91

Open handama opened 1 month ago

handama commented 1 month ago
Snipaste_2024-08-05_13-33-23 Snipaste_2024-08-05_13-33-07

尤复rules里注册了两个NAPSYA,导致从第二个之后的建筑注册序号都偏移一位。应该将后面重复的项都跳过。

Snipaste_2024-08-05_13-39-13

另一个bug可以在25号脚本里看到,如果注册表某一行值为空,地编仍然会将其计算进去。但游戏会跳过这一行。这个bug虽然在建筑注册表里没有,但手动修改也可以复现,如下图

Snipaste_2024-08-05_13-41-45
Zero-Fanker commented 2 weeks ago

这个理论上已经不同了,首先确实和rules会不同,但其次现在这版FA2显示的都是重新排序之后的结果。我给ini的设计是按书写顺序来表达顺序,而不是遵从前面的ID。 @shuiping233 测一下看看

shuiping233 commented 1 week ago

这个理论上已经不同了,首先确实和rules会不同,但其次现在这版FA2显示的都是重新排序之后的结果。我给ini的设计是按书写顺序来表达顺序,而不是遵从前面的ID。 @shuiping233 测一下看看

  • 测试环境: 0144747
  • 测试结论:
  • 首先,韩大妈提到的情况在新版地编也是存在的,下图测试了建筑重复注册和注册表行值为空的情况
  • image
  • image
  • 其次,确实如工头提到的,新版地编显示的id并不是ini注册表里的id,如下图所示,我特意调换了ini建筑注册表里的建筑注册顺序,而新版地编里显示的建筑id确实与ini里的不一致
  • image
  • image
  • image
  • image
handama commented 1 week ago

这个理论上已经不同了,首先确实和rules会不同,但其次现在这版FA2显示的都是重新排序之后的结果。我给ini的设计是按书写顺序来表达顺序,而不是遵从前面的ID。 @shuiping233 测一下看看

  • 测试环境: 0144747
  • 测试结论:

    • 首先,韩大妈提到的情况在新版地编也是存在的,下图测试了建筑重复注册和注册表行值为空的情况

    • image

    • image

    • 其次,确实如工头提到的,新版地编显示的id并不是ini注册表里的id,如下图所示,我特意调换了ini建筑注册表里的建筑注册顺序,而新版地编里显示的建筑id确实与ini里的不一致

    • image

    • image

    • image

    • image

我说的也是引擎内的真实注册表id,而不是ini显示id,这个只要对不上还是有问题的,你可以用ares的转储类型功能看一看,地编id和真实id对不对得上

Zero-Fanker commented 1 week ago

OK,我知道是什么问题点了。还是给WW擦屁股的问题,FindOrAllocate的逻辑