-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathFootClass.cs
107 lines (90 loc) · 3.68 KB
/
FootClass.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace PatcherYRpp
{
[StructLayout(LayoutKind.Explicit, Size = 1728)]
public struct FootClass
{
public unsafe bool MoveTo(CoordStruct where)
{
var func = (delegate* unmanaged[Thiscall]<ref FootClass, IntPtr, bool>)this.GetVirtualFunctionPointer(319);
return func(ref this, Pointer<CoordStruct>.AsPointer(ref where));
}
public unsafe bool StopDrive()
{
var func = (delegate* unmanaged[Thiscall]<ref FootClass, bool>)this.GetVirtualFunctionPointer(320);
return func(ref this);
}
public unsafe bool ChronoWarpTo(CoordStruct where)
{
var func = (delegate* unmanaged[Thiscall]<ref FootClass, IntPtr, bool>)this.GetVirtualFunctionPointer(322);
return func(ref this, Pointer<CoordStruct>.AsPointer(ref where));
}
public unsafe void Panic()
{
var func = (delegate* unmanaged[Thiscall]<ref FootClass, void>)this.GetVirtualFunctionPointer(326);
func(ref this);
}
public unsafe void UnPanic()
{
var func = (delegate* unmanaged[Thiscall]<ref FootClass, void>)this.GetVirtualFunctionPointer(327);
func(ref this);
}
public unsafe int GetCurrentSpeed()
{
var func = (delegate* unmanaged[Thiscall]<ref FootClass, int>)this.GetVirtualFunctionPointer(334);
return func(ref this);
}
public unsafe bool StopMoving()
{
var func = (delegate* unmanaged[Thiscall]<ref FootClass, bool>)this.GetVirtualFunctionPointer(338);
return func(ref this);
}
public unsafe void AbortMotion()
{
var func = (delegate* unmanaged[Thiscall]<ref FootClass, void>)0x4DF0D0;
func(ref this);
}
public unsafe bool Jumpjet_LocationClear()
{
var func = (delegate* unmanaged[Thiscall]<ref FootClass, Bool>)0x4135A0;
return func(ref this);
}
public unsafe void Jumpjet_OccupyCell(CellStruct cell)
{
var func = (delegate* unmanaged[Thiscall]<ref FootClass, CellStruct, void>)0x4E00B0;
func(ref this, cell);
}
[FieldOffset(0)] public TechnoClass Base;
[FieldOffset(0)] public RadioClass BaseRadio;
[FieldOffset(0)] public MissionClass BaseMission;
[FieldOffset(0)] public ObjectClass BaseObject;
[FieldOffset(0)] public AbstractClass BaseAbstract;
[FieldOffset(1368)] public CellStruct CurrentMapCoords;
[FieldOffset(1372)] public CellStruct LastMapCoords;
[FieldOffset(1376)] public CellStruct LastJumpjetMapCoords;
[FieldOffset(1384)] public CellStruct CurrentJumpjetMapCoords;
[FieldOffset(1408)] public double SpeedMultiplier;
[FieldOffset(1444)] public Pointer<AbstractClass> Destination;
[FieldOffset(1448)] public Pointer<AbstractClass> LastDestination;
[FieldOffset(1540)] public int PathDirections;
[FieldOffset(1600)] public TimerStruct PathDelayTimer;
[FieldOffset(1616)] public TimerStruct BaseAttackTimer;
[FieldOffset(1628)] public TimerStruct SightTimer;
[FieldOffset(1640)] public TimerStruct BlockagePathTimer;
[FieldOffset(1652)] public COMPtr<ILocomotion> locomotor;
public ILocomotion Locomotor
{
get => locomotor.Object;
set
{
locomotor.Release();
locomotor.Object = value;
}
}
}
}