- UID
- 341658
- 阅读权限
- 20
- 注册时间
- 2019-9-17
- 最后登录
- 2024-2-28
- 在线时间
- 18 小时
- 性别
- 保密
骑士
- 耕战
- 0
- 鹰币
- 10
- 天龙币
- 0
- 回帖
- 7
|
楼主 |
发表于 2019-9-17 13:44:51
|
显示全部楼层
本帖最后由 UBR365K 于 2019-9-17 18:06 编辑
哈哈,多谢004前辈光临,
我目前电脑上没装帝国2,不过SWGB和帝国2引擎几乎一模一样,代码结构应该都一样
我现在就是找不到移动时更新坐标的函数在哪里,不过找到了一个代码段看着像是pathfinding判断,任何单位只要在移动就会调用,现在测试了下,基本可以比较稳定的gun & run 了,下班回家再全面测试下。。。
编辑:基本确定了地面单位只要移动就会循环调用这个函数,但是飞行模式单位不会。为了给歼星舰加上移动攻击能力,还要继续找咯。。。
代码超简单,就是检查是建筑类型80[prop_obj+4],有附加单位[unit+1E0h],复制坐标[unit+48h], [unit+4Ch]
.rsrc:007B8940 ; ---------------------------------------------------------------------------
.rsrc:007B8940 ; START OF FUNCTION CHUNK FOR sub_4B0470
.rsrc:007B8940
.rsrc:007B8940 loc_7B8940: ; CODE XREF: sub_4B0470+16Aj
.rsrc:007B8940 030 push edx
.rsrc:007B8941 034 push eax
.rsrc:007B8942 038 push ecx
.rsrc:007B8943 03C mov cx, [eax+4]
.rsrc:007B8947 03C cmp cl, 50h
.rsrc:007B894A 03C nop
.rsrc:007B894B 03C jnz short loc_7B8963
.rsrc:007B894D 03C mov edx, [ebx+1E0h]
.rsrc:007B8953 03C test edx, edx
.rsrc:007B8955 03C jz short loc_7B8963
.rsrc:007B8957 03C mov eax, [ebx+48h]
.rsrc:007B895A 03C mov ecx, [ebx+4Ch]
.rsrc:007B895D 03C mov [edx+48h], eax
.rsrc:007B8960 03C mov [edx+4Ch], ecx
.rsrc:007B8963
.rsrc:007B8963 loc_7B8963: ; CODE XREF: sub_4B0470+3084DBj
.rsrc:007B8963 ; sub_4B0470+3084E5j
.rsrc:007B8963 03C pop ecx
.rsrc:007B8964 038 pop eax
.rsrc:007B8965 034 pop edx
.rsrc:007B8966 030 fld dword ptr [ebx+48h]
.rsrc:007B8969 030 fsub dword ptr [eax+3Ch]
.rsrc:007B896C 030 jmp loc_4B05E0
.rsrc:007B896C ; END OF FUNCTION CHUNK FOR sub_4B0470
.rsrc:007B896C ; ---------------------------------------------------------------------------
|
|