-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathUOAI.idl
152 lines (137 loc) · 6.51 KB
/
UOAI.idl
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
[uuid(61937D8B-BBCE-48b0-8ADF-F03C9443C7F2), version(1.0), helpstring("UOAI v1.0"), lcid(0)]
library UOAI
{
importlib("STDOLE2.TLB");
typedef struct
{
short x;
short y;
} Point2D;
[uuid(FD02A988-A3E2-4ba2-A4E9-DF2CF90B2748), dual, oleautomation, hidden, nonextensible]
interface Item : IDispatch
{
[id(1), propget] HRESULT Id([out, retval] int * pID);
[id(1), propput] HRESULT Id([in] int ID);
[id(2), propget] HRESULT Type([out, retval] int * pType);
[id(2), propput] HRESULT Type([in] int Type);
[id(3), propget] HRESULT TypeIncrement([out, retval] int * pTypeIncrement);
[id(3), propput] HRESULT TypeIncrement([in] int TypeIncrement);
[id(4), propget] HRESULT Position([out, retval]Point2D * pPos);
[id(4), propput] HRESULT Position([in]Point2D pos);
[id(5), propget] HRESULT z([out, retval]int * pZ);
[id(5), propput] HRESULT z([in]int z);
[id(6), propget] HRESULT StackCount([out, retval] int * pCount);
[id(6), propput] HRESULT StackCount([in] int count);
[id(7), propget] HRESULT Color([out, retval] int * pColor);
[id(7), propput] HRESULT Color([in] int color);
[id(8), propget] HRESULT HighlightColor([out, retval] int * pHighlightColor);
[id(8), propput] HRESULT HighlightColor([in] int highlightcolor);
[id(9), propget] HRESULT Direction([out, retval] int * pDirection);
[id(9), propput] HRESULT Direction([in] int direction);
[id(10), propget] HRESULT Flags([out, retval] int * pFlags);
[id(10), propput] HRESULT Flags([in] int Flags);
[id(11), propget] HRESULT Name([out, retval] BSTR * pName);
[id(11), propput] HRESULT Name([in] BSTR strName);
[id(12), propget] HRESULT Properties([out, retval] BSTR * pProperties);
[id(12), propput] HRESULT Properties([in] BSTR strProperties);
[id(13)] HRESULT Click();
[id(14)] HRESULT DoubleClick();
[id(15)] HRESULT Drag();
[id(16), propget] HRESULT isMobile([out, retval] VARIANT_BOOL * bIsMobile);
[id(17), propget] HRESULT isContainer([out, retval] VARIANT_BOOL * bIsMobile);
[id(18), propget] HRESULT isMulti([out, retval] VARIANT_BOOL * bIsMulti);
}
[uuid(1324EE7E-40FE-4db0-87AA-042D5499657E), dual, oleautomation, hidden, nonextensible]
interface ItemList : IDispatch
{
[id(1), propget] HRESULT Count([out, retval] int * pCount);
[id(2)] HRESULT byID([in] int ID, [out, retval] Item ** pItem);
[id(3)] HRESULT byType([in] int Type, [out, retval] ItemList ** pItems);
[id(DISPID_VALUE), propget] HRESULT Items([in] int index, [out, retval] Item ** item);
[id(DISPID_NEWENUM), propget] HRESULT NewEnum([out, retval] IUnknown ** newenum);
}
[uuid(E38878DE-8A6A-48bc-89E8-307E6980021A), dual, oleautomation, hidden, nonextensible]
interface Container : Item
{
[id(19), propget] HRESULT IsOpen([out, retval] VARIANT_BOOL * bIsOpen);
[id(20)] HRESULT Open([out, retval] VARIANT_BOOL * bOpened);
[id(21), propget] HRESULT Content([out, retval] ItemList ** pContents);
//GUMP?
//CLOSE?
}
[uuid(4B760F4B-FA70-48a9-BAB2-BEB5E00226E2), dual, oleautomation, hidden, nonextensible]
interface Mobile : Item
{
[id(19)] HRESULT Say([in] int color, [in] int font, [in] BSTR speech);
}
[uuid(BFC0EE0A-2B29-41d9-83DA-4B6B61EF54F9), helpstring("Ultima Online Client")]
coclass Client
{
[default] interface ClientInterface;
[source, default] interface ClientEventInterface;
}
[uuid(BE02C37F-111E-402e-9D05-621C3D328724), helpstring("List of running Ultima Online Clients")]
coclass ClientList
{
[default] interface ClientListInterface;
[source, default] interface ClientListEventInterface;
}
[uuid(8A11E500-2101-4a27-BB16-5498C28F91DA), helpstring("Ultima Online Automation Tools")]
coclass UOAI
{
[default] interface UOAIInterface;
}
[uuid(B25FAAF7-C0AA-4007-8C85-7693E02D59F0), helpstring("Injects UOAI into running clients [internal use only]")]
coclass COMInjector
{
[default] interface COMInjectorInterface;
}
[uuid(CD10E6BE-FDEE-4d59-A812-6FD08C02E8CE), dual, oleautomation, hidden, nonextensible]
interface UOAIInterface : IDispatch
{
[id(1), propget] HRESULT Clients([out, retval] ClientList ** clients);
[id(2), propget] HRESULT ClientWindowName([out, retval] BSTR * ClientWindowName);
[id(2), propput] HRESULT ClientWindowName([in] BSTR ClientWindowName);
[id(3), propget] HRESULT ClientPath([out, retval] BSTR * strClientPath);
[id(3), propput] HRESULT ClientPath([in] BSTR strClientPath);
[id(4), propget] HRESULT ClientExe([out, retval] BSTR * strClientExe);
[id(4), propput] HRESULT ClientExe([in] BSTR strClientExe);
[id(5)] HRESULT LaunchClient([out] Client ** pClient, [in, defaultvalue(-1)] VARIANT_BOOL bApplyMultiClientPatch, [in, defaultvalue(0)] VARIANT_BOOL bApplyEncryptionPatch, [out, retval] VARIANT_BOOL * bSuccess);
}
[uuid(39FB3C1B-EF1F-4e30-AF63-83CB91B9FFA8), dual, oleautomation, hidden, nonextensible]
interface ClientListInterface : IDispatch
{
[id(1), propget] HRESULT Count([out, retval] long * clientcount);
[id(DISPID_VALUE), propget] HRESULT Client([in] long index, [out, retval] Client ** client);
[id(2)] HRESULT RegisterClient([in] IUnknown * pClientDisp);
[id(3)] HRESULT UnregisterClient([in] IUnknown * pClientDisp);
[id(DISPID_NEWENUM), propget] HRESULT NewEnum([out, retval] IUnknown ** newenum);
[id(4)] HRESULT FindClient([in] int pid, [out] Client ** client, [out, retval] VARIANT_BOOL * success);
}
[uuid(B327CDFD-2742-42c7-A781-5084EE06DCDC), hidden, nonextensible]
interface ClientListEventInterface : IDispatch
{
[id(1)] HRESULT OnNewClient([in]Client * new_client);
[id(2)] HRESULT OnClientClose([in]Client * closing_client);
}
[uuid(45A784D5-0E63-49c9-ACBA-46E4EDBD7D29), dual, oleautomation, hidden, nonextensible]
interface ClientInterface : IDispatch
{
[id(1), propget] HRESULT PID([out, retval] long * pPID);
[id(2)] HRESULT Message([in] int color, [in] int font, [in] BSTR message);
[id(3)] HRESULT Bark([in] BSTR message);
[id(4)] HRESULT ShowYesNoGump([in] BSTR question);
[id(5), propget] HRESULT Player([out, retval] Item ** pPlayer);
[id(6), propget] HRESULT Items([out, retval] ItemList ** pItems);
}
[uuid(EC60659C-611F-467c-B1F8-2CDB15BD257E), hidden, nonextensible]
interface ClientEventInterface : IDispatch
{
[id(1)] HRESULT OnClose([in]Client * closing_client);
}
[uuid(486EC9D9-5FC9-469a-B50A-4EE7F758E0D3), dual, oleautomation, hidden, nonextensible]
interface COMInjectorInterface : IDispatch
{
[id(1)] HRESULT Initialize([in] BSTR window_class_name, [in] long parameter);
}
}