Raidcore Nexus
 
Loading...
Searching...
No Matches
Nexus.h
1
8
9#ifndef NEXUS_H
10#define NEXUS_H
11
12#ifdef __cplusplus
13#include <cstdint>
14#else
15#include <stdint.h>
16#include <stdbool.h>
17#endif
18#include <windows.h>
19
20#define NEXUS_API_VERSION 6
21
22/* DataLink identifiers */
23#define DL_NEXUS_LINK "DL_NEXUS_LINK"
24#ifndef DL_MUMBLE_LINK
25#define DL_MUMBLE_LINK "DL_MUMBLE_LINK"
26#endif
27#ifndef DL_MUMBLE_LINK_IDENTITY
28#define DL_MUMBLE_LINK_IDENTITY "DL_MUMBLE_LINK_IDENTITY"
29#endif
30
31/* Event identifiers */
32#define EV_WINDOW_RESIZED "EV_WINDOW_RESIZED" // Payload is nullptr. Refer to Nexus DataLink for dimensions.
33#define EV_MUMBLE_IDENTITY_UPDATED "EV_MUMBLE_IDENTITY_UPDATED" // Payload is Mumble::Identity*
34#define EV_ADDON_LOADED "EV_ADDON_LOADED" // Payload is uint32_t*
35#define EV_ADDON_UNLOADED "EV_ADDON_UNLOADED" // Payload is uint32_t*
36
40typedef enum ERenderType
41{
42 RT_PreRender,
43 RT_Render,
44 RT_PostRender,
45 RT_OptionsRender
46} ERenderType;
47
51typedef enum EMHStatus
52{
53 MH_UNKNOWN = -1,
54 MH_OK = 0,
55 MH_ERROR_ALREADY_INITIALIZED,
56 MH_ERROR_NOT_INITIALIZED,
57 MH_ERROR_ALREADY_CREATED,
58 MH_ERROR_NOT_CREATED,
59 MH_ERROR_ENABLED,
60 MH_ERROR_DISABLED,
61 MH_ERROR_NOT_EXECUTABLE,
62 MH_ERROR_UNSUPPORTED_FUNCTION,
63 MH_ERROR_MEMORY_ALLOC,
64 MH_ERROR_MEMORY_PROTECT,
65 MH_ERROR_MODULE_NOT_FOUND,
66 MH_ERROR_FUNCTION_NOT_FOUND
67} EMHStatus;
68
72typedef enum ELogLevel
73{
74 LOGL_CRITICAL = 1,
75 LOGL_WARNING = 2,
76 LOGL_INFO = 3,
77 LOGL_DEBUG = 4,
78 LOGL_TRACE = 5
79} ELogLevel;
80
84typedef enum EGameBinds
85{
86 // Movement
87 GB_MoveForward = 0,
88 GB_MoveBackward = 1,
89 GB_MoveLeft = 2,
90 GB_MoveRight = 3,
91 GB_MoveTurnLeft = 4,
92 GB_MoveTurnRight = 5,
93 GB_MoveDodge = 6,
94 GB_MoveAutoRun = 7,
95 GB_MoveWalk = 8,
96 GB_MoveJump_SwimUp_FlyUp = 9,
97 GB_MoveSwimDown_FlyDown = 11,
98 GB_MoveAboutFace = 12,
99
100 // Skills
101 GB_SkillWeaponSwap = 17,
102 GB_SkillWeapon1 = 18,
103 GB_SkillWeapon2 = 19,
104 GB_SkillWeapon3 = 20,
105 GB_SkillWeapon4 = 21,
106 GB_SkillWeapon5 = 22,
107 GB_SkillHeal = 23,
108 GB_SkillUtility1 = 24,
109 GB_SkillUtility2 = 25,
110 GB_SkillUtility3 = 26,
111 GB_SkillElite = 27,
112 GB_SkillProfession1 = 28,
113 GB_SkillProfession2 = 29,
114 GB_SkillProfession3 = 30,
115 GB_SkillProfession4 = 31,
116 GB_SkillProfession5 = 79,
117 GB_SkillProfession6 = 201,
118 GB_SkillProfession7 = 202,
119 GB_SkillSpecialAction = 82,
120
121 // Targeting
122 GB_TargetAlert = 131,
123 GB_TargetCall = 32,
124 GB_TargetTake = 33,
125 GB_TargetCallLocal = 199,
126 GB_TargetTakeLocal = 200,
127 GB_TargetEnemyNearest = 34,
128 GB_TargetEnemyNext = 35,
129 GB_TargetEnemyPrev = 36,
130 GB_TargetAllyNearest = 37,
131 GB_TargetAllyNext = 38,
132 GB_TargetAllyPrev = 39,
133 GB_TargetLock = 40,
134 GB_TargetSnapGroundTarget = 80,
135 GB_TargetSnapGroundTargetToggle = 115,
136 GB_TargetAutoTargetingDisable = 116,
137 GB_TargetAutoTargetingToggle = 117,
138 GB_TargetAllyTargetingMode = 197,
139 GB_TargetAllyTargetingModeToggle = 198,
140
141 // UI Binds
142 GB_UiCommerce = 41, // TradingPost
143 GB_UiContacts = 42,
144 GB_UiGuild = 43,
145 GB_UiHero = 44,
146 GB_UiInventory = 45,
147 GB_UiKennel = 46, // Pets
148 GB_UiLogout = 47,
149 GB_UiMail = 71,
150 GB_UiOptions = 48,
151 GB_UiParty = 49,
152 GB_UiPvp = 73,
153 GB_UiPvpBuild = 75,
154 GB_UiScoreboard = 50,
155 GB_UiSeasonalObjectivesShop = 209, // Wizard's Vault
156 GB_UiInformation = 51,
157 GB_UiChatToggle = 70,
158 GB_UiChatCommand = 52,
159 GB_UiChatFocus = 53,
160 GB_UiChatReply = 54,
161 GB_UiToggle = 55,
162 GB_UiSquadBroadcastChatToggle = 85,
163 GB_UiSquadBroadcastChatCommand = 83,
164 GB_UiSquadBroadcastChatFocus = 84,
165
166 // Camera
167 GB_CameraFree = 13,
168 GB_CameraZoomIn = 14,
169 GB_CameraZoomOut = 15,
170 GB_CameraReverse = 16,
171 GB_CameraActionMode = 78,
172 GB_CameraActionModeDisable = 114,
173
174 // Screenshots
175 GB_ScreenshotNormal = 56,
176 GB_ScreenshotStereoscopic = 57,
177
178 // Map
179 GB_MapToggle = 59,
180 GB_MapFocusPlayer = 60,
181 GB_MapFloorDown = 61,
182 GB_MapFloorUp = 62,
183 GB_MapZoomIn = 63,
184 GB_MapZoomOut = 64,
185
186 // Mounts
187 GB_SpumoniToggle = 152,
188 GB_SpumoniMovement = 130,
189 GB_SpumoniSecondaryMovement = 153,
190 GB_SpumoniMAM01 = 155, // Raptor
191 GB_SpumoniMAM02 = 156, // Springer
192 GB_SpumoniMAM03 = 157, // Skimmer
193 GB_SpumoniMAM04 = 158, // Jackal
194 GB_SpumoniMAM05 = 159, // Griffon
195 GB_SpumoniMAM06 = 161, // RollerBeetle
196 GB_SpumoniMAM07 = 169, // Warclaw
197 GB_SpumoniMAM08 = 170, // Skyscale
198 GB_SpumoniMAM09 = 203, // SiegeTurtle
199
200 // Spectator Binds
201 GB_SpectatorNearestFixed = 102,
202 GB_SpectatorNearestPlayer = 103,
203 GB_SpectatorPlayerRed1 = 104,
204 GB_SpectatorPlayerRed2 = 105,
205 GB_SpectatorPlayerRed3 = 106,
206 GB_SpectatorPlayerRed4 = 107,
207 GB_SpectatorPlayerRed5 = 108,
208 GB_SpectatorPlayerBlue1 = 109,
209 GB_SpectatorPlayerBlue2 = 110,
210 GB_SpectatorPlayerBlue3 = 111,
211 GB_SpectatorPlayerBlue4 = 112,
212 GB_SpectatorPlayerBlue5 = 113,
213 GB_SpectatorFreeCamera = 120,
214 GB_SpectatorFreeCameraMode = 127,
215 GB_SpectatorFreeMoveForward = 121,
216 GB_SpectatorFreeMoveBackward = 122,
217 GB_SpectatorFreeMoveLeft = 123,
218 GB_SpectatorFreeMoveRight = 124,
219 GB_SpectatorFreeMoveUp = 125,
220 GB_SpectatorFreeMoveDown = 126,
221
222 // Squad Markers
223 GB_SquadMarkerPlaceWorld1 = 86, // Arrow
224 GB_SquadMarkerPlaceWorld2 = 87, // Circle
225 GB_SquadMarkerPlaceWorld3 = 88, // Heart
226 GB_SquadMarkerPlaceWorld4 = 89, // Square
227 GB_SquadMarkerPlaceWorld5 = 90, // Star
228 GB_SquadMarkerPlaceWorld6 = 91, // Swirl
229 GB_SquadMarkerPlaceWorld7 = 92, // Triangle
230 GB_SquadMarkerPlaceWorld8 = 93, // Cross
231 GB_SquadMarkerClearAllWorld = 119,
232 GB_SquadMarkerSetAgent1 = 94, // Arrow
233 GB_SquadMarkerSetAgent2 = 95, // Circle
234 GB_SquadMarkerSetAgent3 = 96, // Heart
235 GB_SquadMarkerSetAgent4 = 97, // Square
236 GB_SquadMarkerSetAgent5 = 98, // Star
237 GB_SquadMarkerSetAgent6 = 99, // Swirl
238 GB_SquadMarkerSetAgent7 = 100, // Triangle
239 GB_SquadMarkerSetAgent8 = 101, // Cross
240 GB_SquadMarkerClearAllAgent = 118,
241
242 // Mastery Skills
243 GB_MasteryAccess = 196,
244 GB_MasteryAccess01 = 204, // Fishing
245 GB_MasteryAccess02 = 205, // Skiff
246 GB_MasteryAccess03 = 206, // Jade Bot Waypoint
247 GB_MasteryAccess04 = 207, // Rift Scan
248 GB_MasteryAccess05 = 208, // Skyscale
249 GB_MasteryAccess06 = 211, // Homestead Doorway
250
251 // Miscellaneous Binds
252 GB_MiscAoELoot = 74,
253 GB_MiscInteract = 65,
254 GB_MiscShowEnemies = 66,
255 GB_MiscShowAllies = 67,
256 GB_MiscCombatStance = 68, // Stow/Draw
257 GB_MiscToggleLanguage = 69,
258 GB_MiscTogglePetCombat = 76,
259 GB_MiscToggleFullScreen = 160,
260 GB_MiscToggleDecorationMode = 210, // DecorateMode
261
262 // Toys/Novelties
263 GB_ToyUseDefault = 162,
264 GB_ToyUseSlot1 = 163, // Chair
265 GB_ToyUseSlot2 = 164, // Instrument
266 GB_ToyUseSlot3 = 165, // Held Item
267 GB_ToyUseSlot4 = 166, // Toy
268 GB_ToyUseSlot5 = 167, // Tonic
269 //GB_ToyUseSlot6 unused
270
271 // Build Templates
272 GB_Loadout1 = 171,
273 GB_Loadout2 = 172,
274 GB_Loadout3 = 173,
275 GB_Loadout4 = 174,
276 GB_Loadout5 = 175,
277 GB_Loadout6 = 176,
278 GB_Loadout7 = 177,
279 GB_Loadout8 = 178,
280 GB_Loadout9 = 179,
281
282 // Equipment Templates
283 GB_GearLoadout1 = 182,
284 GB_GearLoadout2 = 183,
285 GB_GearLoadout3 = 184,
286 GB_GearLoadout4 = 185,
287 GB_GearLoadout5 = 186,
288 GB_GearLoadout6 = 187,
289 GB_GearLoadout7 = 188,
290 GB_GearLoadout8 = 189,
291 GB_GearLoadout9 = 190
292} EGameBinds;
293
297typedef enum EAddonFlags
298{
299 AF_None = 0,
300 AF_IsVolatile = 1 << 0, /* Makes the addon automatically disable, if the game updated. */
301 AF_DisableHotloading = 1 << 1, /* Prevents the addon from being unloaded at runtime. Unload will still be called on shutdown, if defined. */
302 AF_LaunchOnly = 1 << 2 /* Prevents the addon from getting loaded at runtime after the initial game launch. */
303} EAddonFlags;
304
308typedef enum EUpdateProvider
309{
310 UP_None = 0, /* No provider. Nexus does not check for updates. */
311 UP_Raidcore = 1, /* Updates are being provided by raidcore.gg */
312 UP_GitHub = 2, /* Updates are being provided via GitHub releases. */
313 UP_Direct = 3, /* Updates are being provided via a direct file link. */
314 UP_Self = 4 /* Provider is the addon itself. Addon is supposed to check for an update and provide Nexus with a link. */
315} EUpdateProvider;
316
317typedef struct Keybind_t
318{
319 uint16_t Key;
320 bool Alt;
321 bool Ctrl;
322 bool Shift;
323} Keybind_t;
324
325typedef struct Texture_t
326{
327 uint32_t Width;
328 uint32_t Height;
329 void* Resource; // ID3D11ShaderResourceView*
330} Texture_t;
331
332typedef struct NexusLinkData_t
333{
334 uint32_t Width;
335 uint32_t Height;
336 float Scaling;
337
338 bool IsMoving;
339 bool IsCameraMoving;
340 bool IsGameplay;
341
342 void* Font; // ImFont*
343 void* FontBig; // ImFont*
344 void* FontUI; // ImFont*
346
347typedef struct AddonVersion_t
348{
349 uint16_t Major;
350 uint16_t Minor;
351 uint16_t Build;
352 uint16_t Revision;
354
355struct AddonAPI_t; /* prototype for load function */
356
357typedef void (*ADDON_LOAD) (AddonAPI_t* aAPI);
358typedef void (*ADDON_UNLOAD) ();
359
360typedef void (*GUI_RENDER) ();
361typedef void (*GUI_ADDRENDER) (ERenderType aRenderType, GUI_RENDER aRenderCallback);
362typedef void (*GUI_REMRENDER) (GUI_RENDER aRenderCallback);
363typedef void (*GUI_REGISTERCLOSEONESCAPE) (const char* aWindowName, bool* aIsVisible);
364typedef void (*GUI_DEREGISTERCLOSEONESCAPE) (const char* aWindowName);
365
366typedef void (*UPDATER_REQUESTUPDATE) (uint32_t aSignature, const char* aUpdateURL);
367
368typedef const char* (*PATHS_GETGAMEDIR) ();
369typedef const char* (*PATHS_GETADDONDIR) (const char* aName);
370typedef const char* (*PATHS_GETCOMMONDIR) ();
371
372typedef EMHStatus (__stdcall* MINHOOK_CREATE) (LPVOID pTarget, LPVOID pDetour, LPVOID* ppOriginal);
373typedef EMHStatus (__stdcall* MINHOOK_REMOVE) (LPVOID pTarget);
374typedef EMHStatus (__stdcall* MINHOOK_ENABLE) (LPVOID pTarget);
375typedef EMHStatus (__stdcall* MINHOOK_DISABLE) (LPVOID pTarget);
376
377typedef void (*LOGGER_LOG) (ELogLevel aLogLevel, const char* aChannel, const char* aStr);
378
379typedef void (*ALERTS_NOTIFY) (const char* aMessage);
380
381typedef void (*EVENT_CONSUME) (void* aEventArgs);
382typedef void (*EVENTS_RAISE) (const char* aIdentifier, void* aEventData);
383typedef void (*EVENTS_RAISENOTIFICATION) (const char* aIdentifier);
384typedef void (*EVENTS_RAISE_TARGETED) (uint32_t aSignature, const char* aIdentifier, void* aEventData);
385typedef void (*EVENTS_RAISENOTIFICATION_TARGETED)(uint32_t aSignature, const char* aIdentifier);
386typedef void (*EVENTS_SUBSCRIBE) (const char* aIdentifier, EVENT_CONSUME aConsumeEventCallback);
387
388typedef UINT (*WNDPROC_CALLBACK) (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
389typedef void (*WNDPROC_ADDREM) (WNDPROC_CALLBACK aWndProcCallback);
390typedef LRESULT (*WNDPROC_SENDTOGAME) (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
391
392typedef void (*INPUTBINDS_PROCESS) (const char* aIdentifier, bool aIsRelease);
393typedef void (*INPUTBINDS_INVOKE) (const char* aIdentifier, bool aIsRelease);
394typedef void (*INPUTBINDS_REGISTERWITHSTRING) (const char* aIdentifier, INPUTBINDS_PROCESS aKeybindHandler, const char* aKeybind);
395typedef void (*INPUTBINDS_REGISTERWITHSTRUCT) (const char* aIdentifier, INPUTBINDS_PROCESS aKeybindHandler, Keybind_t aKeybind);
396typedef void (*INPUTBINDS_DEREGISTER) (const char* aIdentifier);
397
398typedef void (*GAMEBINDS_PRESSASYNC) (EGameBinds aGameBind);
399typedef void (*GAMEBINDS_RELEASEASYNC) (EGameBinds aGameBind);
400typedef void (*GAMEBINDS_INVOKEASYNC) (EGameBinds aGameBind, int32_t aDuration);
401typedef void (*GAMEBINDS_PRESS) (EGameBinds aGameBind);
402typedef void (*GAMEBINDS_RELEASE) (EGameBinds aGameBind);
403typedef bool (*GAMEBINDS_ISBOUND) (EGameBinds aGameBind);
404
405typedef void* (*DATALINK_GET) (const char* aIdentifier);
406typedef void* (*DATALINK_SHARE) (const char* aIdentifier, uint64_t aResourceSize);
407
408typedef void (*TEXTURES_RECEIVECALLBACK) (const char* aIdentifier, Texture_t* aTexture);
409typedef Texture_t* (*TEXTURES_GET) (const char* aIdentifier);
410typedef Texture_t* (*TEXTURES_GETORCREATEFROMFILE) (const char* aIdentifier, const char* aFilename);
411typedef Texture_t* (*TEXTURES_GETORCREATEFROMRESOURCE) (const char* aIdentifier, uint32_t aResourceID, HMODULE aModule);
412typedef Texture_t* (*TEXTURES_GETORCREATEFROMURL) (const char* aIdentifier, const char* aRemote, const char* aEndpoint);
413typedef Texture_t* (*TEXTURES_GETORCREATEFROMMEMORY) (const char* aIdentifier, void* aData, uint64_t aSize);
414typedef void (*TEXTURES_LOADFROMFILE) (const char* aIdentifier, const char* aFilename, TEXTURES_RECEIVECALLBACK aCallback);
415typedef void (*TEXTURES_LOADFROMRESOURCE) (const char* aIdentifier, uint32_t aResourceID, HMODULE aModule, TEXTURES_RECEIVECALLBACK aCallback);
416typedef void (*TEXTURES_LOADFROMURL) (const char* aIdentifier, const char* aRemote, const char* aEndpoint, TEXTURES_RECEIVECALLBACK aCallback);
417typedef void (*TEXTURES_LOADFROMMEMORY) (const char* aIdentifier, void* aData, uint64_t aSize, TEXTURES_RECEIVECALLBACK aCallback);
418
419typedef void (*QUICKACCESS_ADDSHORTCUT) (const char* aIdentifier, const char* aTextureIdentifier, const char* aTextureHoverIdentifier, const char* aKeybindIdentifier, const char* aTooltipText);
420typedef void (*QUICKACCESS_ADDSIMPLE) (const char* aIdentifier, const char* aTargetShortcutIdentifier, GUI_RENDER aShortcutRenderCallback);
421typedef void (*QUICKACCESS_GENERIC) (const char* aIdentifier);
422
423typedef const char* (*LOCALIZATION_TRANSLATE) (const char* aIdentifier);
424typedef const char* (*LOCALIZATION_TRANSLATETO) (const char* aIdentifier, const char* aLanguageIdentifier);
425typedef void (*LOCALIZATION_SET) (const char* aIdentifier, const char* aLanguageIdentifier, const char* aString);
426
427typedef void (*FONTS_RECEIVECALLBACK) (const char* aIdentifier, void* aFont);
428typedef void (*FONTS_GETRELEASE) (const char* aIdentifier, FONTS_RECEIVECALLBACK aCallback);
429typedef void (*FONTS_ADDFROMFILE) (const char* aIdentifier, float aFontSize, const char* aFilename, FONTS_RECEIVECALLBACK aCallback, void* aConfig);
430typedef void (*FONTS_ADDFROMRESOURCE) (const char* aIdentifier, float aFontSize, uint32_t aResourceID, HMODULE aModule, FONTS_RECEIVECALLBACK aCallback, void* aConfig);
431typedef void (*FONTS_ADDFROMMEMORY) (const char* aIdentifier, float aFontSize, void* aData, uint64_t aSize, FONTS_RECEIVECALLBACK aCallback, void* aConfig);
432typedef void (*FONTS_RESIZE) (const char* aIdentifier, float aFontSize);
433
434typedef struct AddonDefinition_t
435{
436 /* required */
437 uint32_t Signature; /* Addon ID: Set to unique integer. */
438 uint32_t APIVersion; /* Determines which AddonAPI struct revision the Loader will pass, use the NEXUS_API_VERSION define from Nexus.h */
439 const char* Name; /* Name of the addon as shown in the library */
440 AddonVersion_t Version;
441 const char* Author; /* Author of the addon */
442 const char* Description; /* Short description */
443 ADDON_LOAD Load; /* Pointer to Load Function of the addon */
444 ADDON_UNLOAD Unload; /* Pointer to Unload Function of the addon. Not required if EAddonFlags::DisableHotloading is set. */
445 EAddonFlags Flags; /* Information about the addon */
446
447 /* update fallback */
448 EUpdateProvider Provider; /* What platform is the the addon hosted on */
449 const char* UpdateLink; /* Link to the update resource */
451
452typedef struct AddonAPI_t
453{
454 /* Renderer */
455 void* SwapChain; // IDXGISwapChain*
456 void* ImguiContext; // ImGuiContext*
457 void* ImguiMalloc;
458 void* ImguiFree;
459
464 GUI_ADDRENDER GUI_Register;
469 GUI_REMRENDER GUI_Deregister;
470
477 UPDATER_REQUESTUPDATE RequestUpdate;
478
479 /* Logging */
480 LOGGER_LOG Log;
481
486 ALERTS_NOTIFY GUI_SendAlert;
491 GUI_REGISTERCLOSEONESCAPE GUI_RegisterCloseOnEscape;
496 GUI_DEREGISTERCLOSEONESCAPE GUI_DeregisterCloseOnEscape;
497
502 PATHS_GETGAMEDIR Paths_GetGameDirectory;
508 PATHS_GETADDONDIR Paths_GetAddonDirectory;
513 PATHS_GETCOMMONDIR Paths_GetCommonDirectory;
514
515 MINHOOK_CREATE MinHook_Create;
516 MINHOOK_REMOVE MinHook_Remove;
517 MINHOOK_ENABLE MinHook_Enable;
518 MINHOOK_DISABLE MinHook_Disable;
519
526 EVENTS_RAISE Events_Raise;
532 EVENTS_RAISENOTIFICATION Events_RaiseNotification;
537 EVENTS_RAISE_TARGETED Events_RaiseTargeted;
542 EVENTS_RAISENOTIFICATION_TARGETED Events_RaiseNotificationTargeted;
547 EVENTS_SUBSCRIBE Events_Subscribe;
552 EVENTS_SUBSCRIBE Events_Unsubscribe;
553
558 WNDPROC_ADDREM WndProc_Register;
563 WNDPROC_ADDREM WndProc_Deregister;
568 WNDPROC_SENDTOGAME WndProc_SendToGameOnly;
569
574 INPUTBINDS_INVOKE InputBinds_Invoke;
580 INPUTBINDS_REGISTERWITHSTRING InputBinds_RegisterWithString;
585 INPUTBINDS_REGISTERWITHSTRUCT InputBinds_RegisterWithStruct;
590 INPUTBINDS_DEREGISTER InputBinds_Deregister;
591
596 GAMEBINDS_PRESSASYNC GameBinds_PressAsync;
601 GAMEBINDS_RELEASEASYNC GameBinds_ReleaseAsync;
606 GAMEBINDS_INVOKEASYNC GameBinds_InvokeAsync;
611 GAMEBINDS_PRESS GameBinds_Press;
616 GAMEBINDS_RELEASE GameBinds_Release;
621 GAMEBINDS_ISBOUND GameBinds_IsBound;
622
627 DATALINK_GET DataLink_Get;
632 DATALINK_SHARE DataLink_Share;
633
638 TEXTURES_GET Textures_Get;
643 TEXTURES_GETORCREATEFROMFILE Textures_GetOrCreateFromFile;
648 TEXTURES_GETORCREATEFROMRESOURCE Textures_GetOrCreateFromResource;
653 TEXTURES_GETORCREATEFROMURL Textures_GetOrCreateFromURL;
658 TEXTURES_GETORCREATEFROMMEMORY Textures_GetOrCreateFromMemory;
663 TEXTURES_LOADFROMFILE Textures_LoadFromFile;
668 TEXTURES_LOADFROMRESOURCE Textures_LoadFromResource;
673 TEXTURES_LOADFROMURL Textures_LoadFromURL;
678 TEXTURES_LOADFROMMEMORY Textures_LoadFromMemory;
679
685 QUICKACCESS_ADDSHORTCUT QuickAccess_Add;
690 QUICKACCESS_GENERIC QuickAccess_Remove;
695 QUICKACCESS_GENERIC QuickAccess_Notify;
700 QUICKACCESS_ADDSIMPLE QuickAccess_AddContextMenu;
705 QUICKACCESS_GENERIC QuickAccess_RemoveContextMenu;
706
711 LOCALIZATION_TRANSLATE Localization_Translate;
716 LOCALIZATION_TRANSLATETO Localization_TranslateTo;
721 LOCALIZATION_SET Localization_Set;
722
727 FONTS_GETRELEASE Fonts_Get;
732 FONTS_GETRELEASE Fonts_Release;
737 FONTS_ADDFROMFILE Fonts_AddFromFile;
742 FONTS_ADDFROMRESOURCE Fonts_AddFromResource;
747 FONTS_ADDFROMMEMORY Fonts_AddFromMemory;
752 FONTS_RESIZE Fonts_Resize;
753} AddonAPI_t;
754
755#endif
Definition Nexus.h:453
QUICKACCESS_GENERIC QuickAccess_Remove
Definition Nexus.h:690
EVENTS_RAISE Events_Raise
Definition Nexus.h:526
FONTS_ADDFROMMEMORY Fonts_AddFromMemory
Definition Nexus.h:747
EVENTS_RAISENOTIFICATION Events_RaiseNotification
Definition Nexus.h:532
LOCALIZATION_SET Localization_Set
Definition Nexus.h:721
LOCALIZATION_TRANSLATE Localization_Translate
Definition Nexus.h:711
LOCALIZATION_TRANSLATETO Localization_TranslateTo
Definition Nexus.h:716
GUI_ADDRENDER GUI_Register
Definition Nexus.h:464
PATHS_GETCOMMONDIR Paths_GetCommonDirectory
Definition Nexus.h:513
EVENTS_SUBSCRIBE Events_Subscribe
Definition Nexus.h:547
DATALINK_GET DataLink_Get
Definition Nexus.h:627
TEXTURES_GETORCREATEFROMURL Textures_GetOrCreateFromURL
Definition Nexus.h:653
EVENTS_SUBSCRIBE Events_Unsubscribe
Definition Nexus.h:552
GAMEBINDS_INVOKEASYNC GameBinds_InvokeAsync
Definition Nexus.h:606
QUICKACCESS_GENERIC QuickAccess_Notify
Definition Nexus.h:695
QUICKACCESS_ADDSHORTCUT QuickAccess_Add
Definition Nexus.h:685
GUI_DEREGISTERCLOSEONESCAPE GUI_DeregisterCloseOnEscape
Definition Nexus.h:496
QUICKACCESS_ADDSIMPLE QuickAccess_AddContextMenu
Definition Nexus.h:700
GAMEBINDS_RELEASEASYNC GameBinds_ReleaseAsync
Definition Nexus.h:601
GAMEBINDS_PRESS GameBinds_Press
Definition Nexus.h:611
TEXTURES_LOADFROMMEMORY Textures_LoadFromMemory
Definition Nexus.h:678
QUICKACCESS_GENERIC QuickAccess_RemoveContextMenu
Definition Nexus.h:705
WNDPROC_ADDREM WndProc_Deregister
Definition Nexus.h:563
TEXTURES_GET Textures_Get
Definition Nexus.h:638
WNDPROC_ADDREM WndProc_Register
Definition Nexus.h:558
GAMEBINDS_ISBOUND GameBinds_IsBound
Definition Nexus.h:621
FONTS_ADDFROMFILE Fonts_AddFromFile
Definition Nexus.h:737
EVENTS_RAISENOTIFICATION_TARGETED Events_RaiseNotificationTargeted
Definition Nexus.h:542
WNDPROC_SENDTOGAME WndProc_SendToGameOnly
Definition Nexus.h:568
EVENTS_RAISE_TARGETED Events_RaiseTargeted
Definition Nexus.h:537
FONTS_ADDFROMRESOURCE Fonts_AddFromResource
Definition Nexus.h:742
GAMEBINDS_PRESSASYNC GameBinds_PressAsync
Definition Nexus.h:596
TEXTURES_GETORCREATEFROMFILE Textures_GetOrCreateFromFile
Definition Nexus.h:643
FONTS_GETRELEASE Fonts_Release
Definition Nexus.h:732
TEXTURES_LOADFROMRESOURCE Textures_LoadFromResource
Definition Nexus.h:668
GUI_REGISTERCLOSEONESCAPE GUI_RegisterCloseOnEscape
Definition Nexus.h:491
INPUTBINDS_REGISTERWITHSTRUCT InputBinds_RegisterWithStruct
Definition Nexus.h:585
PATHS_GETGAMEDIR Paths_GetGameDirectory
Definition Nexus.h:502
FONTS_GETRELEASE Fonts_Get
Definition Nexus.h:727
ALERTS_NOTIFY GUI_SendAlert
Definition Nexus.h:486
UPDATER_REQUESTUPDATE RequestUpdate
Definition Nexus.h:477
INPUTBINDS_DEREGISTER InputBinds_Deregister
Definition Nexus.h:590
TEXTURES_LOADFROMURL Textures_LoadFromURL
Definition Nexus.h:673
INPUTBINDS_INVOKE InputBinds_Invoke
Definition Nexus.h:574
GAMEBINDS_RELEASE GameBinds_Release
Definition Nexus.h:616
PATHS_GETADDONDIR Paths_GetAddonDirectory
Definition Nexus.h:508
FONTS_RESIZE Fonts_Resize
Definition Nexus.h:752
TEXTURES_LOADFROMFILE Textures_LoadFromFile
Definition Nexus.h:663
INPUTBINDS_REGISTERWITHSTRING InputBinds_RegisterWithString
Definition Nexus.h:580
DATALINK_SHARE DataLink_Share
Definition Nexus.h:632
GUI_REMRENDER GUI_Deregister
Definition Nexus.h:469
TEXTURES_GETORCREATEFROMRESOURCE Textures_GetOrCreateFromResource
Definition Nexus.h:648
TEXTURES_GETORCREATEFROMMEMORY Textures_GetOrCreateFromMemory
Definition Nexus.h:658
Definition Nexus.h:435
Definition Nexus.h:348
Definition Nexus.h:318
Definition Nexus.h:333
Definition Nexus.h:326