|
.版本 2
.程序集 骨骼
.程序集变量 ViewPort_1, OPENGL_VIEWPORT
.子程序 取骨骼指针, 整数型
.参数 对象指针, 整数型
返回 (内存.读整数型 (pid, 内存.读整数型 (pid, 对象指针 + 808) + 2416))
.子程序 绘制骨骼
.参数 骨骼指针, 整数型
.参数 m_Position, D3DMATRIX
.参数 Sex, 整数型
.参数 dwColor, 整数型
.局部变量 j, 整数型
.局部变量 size, 整数型
.局部变量 对象坐标, D3D坐标
.局部变量 sc, D3D坐标
.局部变量 f, D3D坐标, , "70"
.局部变量 m, D3D坐标, , "60"
.局部变量 bone, D3DMATRIX
.局部变量 ViewWorld, OPENGL_VIEWWORLD
.局部变量 Read, 整数型
.局部变量 ViewW, 小数型
.局部变量 BoxX0, 小数型
.局部变量 SightX, 小数型
.局部变量 BoxY0, 小数型
.局部变量 SightY, 小数型
.局部变量 BoxX1, 小数型
.局部变量 BoxY1, 小数型
.局部变量 Rect, RECT
.计次循环首 (69, j)
ReadProcessMemoryMatrix (进程句柄, 骨骼指针 + (j - 1) × 64, bone, 64, size)
D3DXMatrixMultiply (bone, bone, m_Position)
对象坐标.X = bone._41
对象坐标.Y = bone._42
对象坐标.Z = bone._43
ReadProcessMemoryWorld (进程句柄, 内存.读整数型 (pid, 内存.读整数型 (pid, 内存.读整数型 (pid, 内存.读整数型 (pid, 矩阵基址) + 1640) + 12) + 68) + 196, ViewWorld, 64, Read)
ViewW = ViewWorld.Data30 × 对象坐标.X + ViewWorld.Data31 × 对象坐标.Y + ViewWorld.Data32 × 对象坐标.Z + ViewWorld.Data33
SightX = ViewPort_1.TopLeftX ÷ 2
SightY = ViewPort_1.TopLeftY ÷ 2
.如果真 (ViewW < 0.01)
到循环尾 ()
.如果真结束
ViewW = 1 ÷ ViewW
BoxX0 = SightX + (ViewWorld.Data00 × 对象坐标.X + ViewWorld.Data01 × (对象坐标.Y + 12.5) + ViewWorld.Data02 × 对象坐标.Z + ViewWorld.Data03) × ViewW × SightX + ViewPort_1.Width + 0.5
BoxY0 = SightY - (ViewWorld.Data10 × 对象坐标.X + ViewWorld.Data11 × (对象坐标.Y + 12.5) + ViewWorld.Data12 × 对象坐标.Z + ViewWorld.Data13) × ViewW × SightY + ViewPort_1.Height - 0.5
BoxX1 = SightX + (ViewWorld.Data00 × 对象坐标.X + ViewWorld.Data01 × (对象坐标.Y - 12.5) + ViewWorld.Data02 × 对象坐标.Z + ViewWorld.Data03) × ViewW × SightX + ViewPort_1.Width + 0.5
BoxY1 = SightY - (ViewWorld.Data10 × 对象坐标.X + ViewWorld.Data11 × (对象坐标.Y - 12.5) + ViewWorld.Data12 × 对象坐标.Z + ViewWorld.Data13) × ViewW × SightY + ViewPort_1.Height - 0.5
Rect.left = 到整数 (BoxX0 - (BoxY1 - BoxY0) ÷ 4)
Rect.top = 到整数 (BoxY0)
Rect.right = 到整数 (BoxX1 + (BoxY1 - BoxY0) ÷ 4)
Rect.bottom = 到整数 (BoxY1)
绘制矩形2 (Rect.left, Rect.top, Rect.right - Rect.left, Rect.bottom - Rect.top, 1, 转换颜色 (#红色, 40))
.' 如果真 (WorldToScreen (对象坐标, sc))
.如果真 (Sex = 1)
.判断开始 (j = 15)
m [15] = sc
.判断 (j = 16)
m [16] = sc
.判断 (j = 27)
m [27] = sc
.判断 (j = 28)
m [28] = sc
.判断 (j = 29)
m [29] = sc
.判断 (j = 30)
m [30] = sc
.判断 (j = 31)
m [31] = sc
.判断 (j = 32)
m [32] = sc
.判断 (j = 34)
m [34] = sc
.判断 (j = 36)
m [36] = sc
.判断 (j = 37)
m [37] = sc
.判断 (j = 47)
m [47] = sc
.判断 (j = 48)
m [48] = sc
.判断 (j = 49)
m [49] = sc
.判断 (j = 43)
m [43] = sc
.判断 (j = 26)
m [26] = sc
.判断 (j = 50)
m [50] = sc
.判断 (j = 51)
m [51] = sc
.判断 (j = 52)
m [52] = sc
.判断 (j = 55)
m [55] = sc
.判断 (j = 56)
m [56] = sc
.判断 (j = 57)
m [57] = sc
.判断 (j = 58)
m [58] = sc
.判断 (j = 59)
m [59] = sc
.判断 (j = 35)
m [35] = sc
.判断 (j = 46)
m [46] = sc
.判断 (j = 47)
m [47] = sc
.判断 (j = 48)
m [48] = sc
.判断 (j = 54)
m [54] = sc
.默认
.判断结束
.如果真结束
.如果真 (Sex = 2)
.判断开始 (j = 36)
f [36] = sc
.判断 (j = 42)
f [42] = sc
.判断 (j = 34)
f [34] = sc
.判断 (j = 17)
f [17] = sc
.判断 (j = 30)
f [30] = sc
.判断 (j = 31)
f [31] = sc
.判断 (j = 61)
f [61] = sc
.判断 (j = 57)
f [57] = sc
.判断 (j = 47)
f [47] = sc
.判断 (j = 66)
f [66] = sc
.判断 (j = 67)
f [67] = sc
.判断 (j = 59)
f [59] = sc
.判断 (j = 32)
f [32] = sc
.判断 (j = 45)
f [45] = sc
.判断 (j = 64)
f [64] = sc
.判断 (j = 18)
f [18] = sc
.判断 (j = 56)
f [56] = sc
.判断 (j = 29)
f [29] = sc
.判断 (j = 60)
f [60] = sc
.判断 (j = 33)
f [33] = sc
.判断 (j = 46)
f [46] = sc
.判断 (j = 19)
f [19] = sc
.默认
.判断结束
' 调试输出 (sc.X, sc.Y, sc.Z)
.如果真结束
.如果真结束
.计次循环尾 ()
.如果真 (Sex = 2)
绘制直线 (f [17].X, f [17].Y, f [36].X, f [36].Y, 1, dwColor)
绘制直线 (f [34].X, f [34].Y, f [30].X, f [30].Y, 1, dwColor)
绘制直线 (f [30].X, f [30].Y, f [31].X, f [31].Y, 1, dwColor)
绘制直线 (f [61].X, f [61].Y, f [46].X, f [46].Y, 1, dwColor)
绘制直线 (f [19].X, f [19].Y, f [46].X, f [46].Y, 1, dwColor)
绘制直线 (f [19].X, f [19].Y, f [34].X, f [34].Y, 1, dwColor)
绘制直线 (f [61].X, f [61].Y, f [57].X, f [57].Y, 1, dwColor)
绘制直线 (f [57].X, f [57].Y, f [47].X, f [47].Y, 1, dwColor)
绘制直线 (f [66].X, f [66].Y, f [36].X, f [36].Y, 1, dwColor)
绘制直线 (f [66].X, f [66].Y, f [64].X, f [64].Y, 1, dwColor)
绘制直线 (f [59].X, f [59].Y, f [64].X, f [64].Y, 1, dwColor)
绘制直线 (f [32].X, f [32].Y, f [64].X, f [64].Y, 1, dwColor)
绘制直线 (f [59].X, f [59].Y, f [45].X, f [45].Y, 1, dwColor)
绘制直线 (f [32].X, f [32].Y, f [18].X, f [18].Y, 1, dwColor)
绘制直线 (f [45].X, f [45].Y, f [56].X, f [56].Y, 1, dwColor)
绘制直线 (f [18].X, f [18].Y, f [29].X, f [29].Y, 1, dwColor)
绘制直线 (f [56].X, f [56].Y, f [60].X, f [60].Y, 1, dwColor)
绘制直线 (f [33].X, f [33].Y, f [29].X, f [29].Y, 1, dwColor)
.如果真结束
.如果真 (Sex = 1)
绘制直线 (m [15].X, m [15].Y, m [34].X, m [34].Y, 1, dwColor)
绘制直线 (m [32].X, m [32].Y, m [34].X, m [34].Y, 1, dwColor)
绘制直线 (m [34].X, m [34].Y, m [52].X, m [52].Y, 1, dwColor)
绘制直线 (m [30].X, m [30].Y, m [58].X, m [58].Y, 1, dwColor)
绘制直线 (m [50].X, m [50].Y, m [58].X, m [58].Y, 1, dwColor)
绘制直线 (m [28].X, m [28].Y, m [32].X, m [32].Y, 1, dwColor)
绘制直线 (m [48].X, m [48].Y, m [52].X, m [52].Y, 1, dwColor)
绘制直线 (m [28].X, m [28].Y, m [29].X, m [29].Y, 1, dwColor)
绘制直线 (m [48].X, m [48].Y, m [49].X, m [49].Y, 1, dwColor)
绘制直线 (m [49].X, m [49].Y, m [43].X, m [43].Y, 1, dwColor)
绘制直线 (m [16].X, m [16].Y, m [30].X, m [30].Y, 1, dwColor)
绘制直线 (m [36].X, m [36].Y, m [50].X, m [50].Y, 1, dwColor)
绘制直线 (m [16].X, m [16].Y, m [27].X, m [27].Y, 1, dwColor)
绘制直线 (m [36].X, m [36].Y, m [47].X, m [47].Y, 1, dwColor)
绘制直线 (m [27].X, m [27].Y, m [31].X, m [31].Y, 1, dwColor)
绘制直线 (m [47].X, m [47].Y, m [51].X, m [51].Y, 1, dwColor)
绘制直线 (m [30].X, m [30].Y, m [32].X, m [32].Y, 1, dwColor)
绘制直线 (m [50].X, m [50].Y, m [52].X, m [52].Y, 1, dwColor)
绘制直线 (m [26].X, m [26].Y, m [29].X, m [29].Y, 1, dwColor)
.如果真结束
|
|