冰楓論壇

標題: TwMS_180.1_人物怪物相關 [打印本頁]

作者: kkmomo    時間: 2015-6-18 01:22
標題: TwMS_180.1_人物怪物相關
本帖最後由 kkmomo 於 2015-6-21 21:28 編輯

有空可能會更新, 看編輯時間有沒有變↗

Double請用浮點運算
fild dword ptr [addr]  // 將整數轉成浮點數,並壓入 FPU stack
fld qword ptr [addr] // 將浮點數壓入 FPU stack
fst qword ptr [addr] // 從 FPU stack 讀值
fstp qword ptr [addr] // 從 FPU stack 讀值 並且 pop
指令用法只是大概寫一下,詳細用法請自行查書or Google
或是參考MS Memory裡都怎麼使用

動作 (8bit)
x: 0面向右, 1面向左
0000001x                走
0000010x                站
0000011x                跳, 掉落
0000100x                攻
0000101x                趴
0000110x                繩
0000111x                坐
0010001x                飛-移動
0010010x                飛-不動

type:
怪: 01508044,    01507F8C
人: 01508AC4,   01508A0C
NPC也有,不過我懶得找了

=== Mob ===
Base : 01827314

24        地圖中怪物數量

MobArray
[[[01827314]+28]-10]
+4]                                   next
+14]+218]+24]+58]        CS_X
+14]+218]+24]+5C]        CS_Y
意示圖參考
GMS_100_Mob_Array_Structure (Diagram)


下面的其實應該不叫base ,每隻怪不同,也不知該用什麼字好
Mob struct_1

[[[01827314]+28]-10]
+4]                                   next
+14]+214]-0C]=01508044

[base]=01508044
[[base]+38] copy dword call (esi: B8, edi: D8, ecx: 08)
[[base]+3C] 移動相關call? (ex 加速)
B8        double                SS_X
C0        double                SS_Y
188        int                動作
198        int                移動方向 (-1左, 0不動, 1右)
3E0        int                類型 (1走怪, 2跳怪, 3飛怪)
7E4        int                SS_X
7E8        int                SS_Y

(for +3C call,  這裡是動態數據)
D0        int                rand
D4        const int        1E (30)      
D8        int                check
DC        int                rand
E0        int                time? frame?
E4        int                check

Mob struct_2
[base]=01507F8C
AC        double                SS_X
B4        double                SS_Y
CC        double                SS_X
D4        double                SS_Y

CharBase=01822D68
Char struct_1
[[[CharBase]+9038]-0C]=[base]=01508AC4
B8        double                SS_X
C0        double                SS_Y

Char struct_2
[[[CharBase]+9038]]=[base]=01508A0C


人物座標(加花段) 作用未知
01CE0075:
fstp qword ptr [eax+000000B8]

01CE088D:
fstp qword ptr [eax+000000C0]

01CDFCBB:
fld qword ptr [eax+000000B8]

01CE0203:
fld qword ptr [eax+000000B8]

01CE0354:
fld qword ptr [eax+000000C0]

01CE0A13:
fld qword ptr [eax+000000C0]


作者: Raphael    時間: 2015-6-20 22:13
太實用,已帶走030...




歡迎光臨 冰楓論壇 (https://bingfong.com/) Powered by 冰楓