游戏狂人
 
- 贡献度
- 229
- 金元
- 8209
- 积分
- 1677
- 精华
- 0
- 注册时间
- 2008-5-21
|
本帖原作者为祈羽
有兴趣的同学,对照galaxy..边看函数边修改玩吧(说不定那天就玩上你的AI了)
以下是SC2的native函数列表
一共是460个函数,其中有354个是AI函数。。。
来源于SC2的游戏程序sc2.exe,并非从galaxy脚本中整理
如果有谁发现了遗漏的函数也请指出。
==================================
SC2定义native的基本结构(注意:这是C的语法):
struct native_def
{
void *native_address; // 函数的地址
char *native_name; // 函数名称
char native_sig[16]; // 16字节的函数签名,包括参数、返回值等
}; // sizeof = 24
函数签名格式是:第一个字节为参数个数(最多14),第二字节为返回值代号,后面的每个字节为各个参数的代号。不满16字节用0填充。
参数代号目前知道的:
'-' void
'?' bool
'4' int
'3' fixed
's' string
'x' text
'u' unitgroup
'U' unit
'T' trigger
'o' order
'p' point
'g' wavetarget
'W' wave
'w' waveinfo
'r' region
'a' abilcmd
'f' unitfilter
'j' aifilter
'l' playergroup
'm' marker
总共出现了这么多类型:
'a', 'w', 'g', 'f', 'm', 'j', '-', '3', 'o', 'l', 'p', 's', 'r', 'U', '4', 'W', 'x', 'u', '?', 'T'
所有的native结构组成一个结构数组,在本次beta的主程序中位于0x0144C918处。结构数组以一个0xFFFFFFFF结尾。位于0x00AA79F0的函数负责注册整个列表。处理列表中每一项的函数是0x00AA7980 |
|