20#define NEXUS_API_VERSION 6
23#define DL_NEXUS_LINK "DL_NEXUS_LINK"
25#define DL_MUMBLE_LINK "DL_MUMBLE_LINK"
27#ifndef DL_MUMBLE_LINK_IDENTITY
28#define DL_MUMBLE_LINK_IDENTITY "DL_MUMBLE_LINK_IDENTITY"
32#define EV_WINDOW_RESIZED "EV_WINDOW_RESIZED"
33#define EV_MUMBLE_IDENTITY_UPDATED "EV_MUMBLE_IDENTITY_UPDATED"
34#define EV_ADDON_LOADED "EV_ADDON_LOADED"
35#define EV_ADDON_UNLOADED "EV_ADDON_UNLOADED"
40typedef enum ERenderType
55 MH_ERROR_ALREADY_INITIALIZED,
56 MH_ERROR_NOT_INITIALIZED,
57 MH_ERROR_ALREADY_CREATED,
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
84typedef enum EGameBinds
96 GB_MoveJump_SwimUp_FlyUp = 9,
97 GB_MoveSwimDown_FlyDown = 11,
98 GB_MoveAboutFace = 12,
101 GB_SkillWeaponSwap = 17,
102 GB_SkillWeapon1 = 18,
103 GB_SkillWeapon2 = 19,
104 GB_SkillWeapon3 = 20,
105 GB_SkillWeapon4 = 21,
106 GB_SkillWeapon5 = 22,
108 GB_SkillUtility1 = 24,
109 GB_SkillUtility2 = 25,
110 GB_SkillUtility3 = 26,
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,
122 GB_TargetAlert = 131,
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,
134 GB_TargetSnapGroundTarget = 80,
135 GB_TargetSnapGroundTargetToggle = 115,
136 GB_TargetAutoTargetingDisable = 116,
137 GB_TargetAutoTargetingToggle = 117,
138 GB_TargetAllyTargetingMode = 197,
139 GB_TargetAllyTargetingModeToggle = 198,
154 GB_UiScoreboard = 50,
155 GB_UiSeasonalObjectivesShop = 209,
156 GB_UiInformation = 51,
157 GB_UiChatToggle = 70,
158 GB_UiChatCommand = 52,
162 GB_UiSquadBroadcastChatToggle = 85,
163 GB_UiSquadBroadcastChatCommand = 83,
164 GB_UiSquadBroadcastChatFocus = 84,
168 GB_CameraZoomIn = 14,
169 GB_CameraZoomOut = 15,
170 GB_CameraReverse = 16,
171 GB_CameraActionMode = 78,
172 GB_CameraActionModeDisable = 114,
175 GB_ScreenshotNormal = 56,
176 GB_ScreenshotStereoscopic = 57,
180 GB_MapFocusPlayer = 60,
181 GB_MapFloorDown = 61,
187 GB_SpumoniToggle = 152,
188 GB_SpumoniMovement = 130,
189 GB_SpumoniSecondaryMovement = 153,
190 GB_SpumoniMAM01 = 155,
191 GB_SpumoniMAM02 = 156,
192 GB_SpumoniMAM03 = 157,
193 GB_SpumoniMAM04 = 158,
194 GB_SpumoniMAM05 = 159,
195 GB_SpumoniMAM06 = 161,
196 GB_SpumoniMAM07 = 169,
197 GB_SpumoniMAM08 = 170,
198 GB_SpumoniMAM09 = 203,
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,
223 GB_SquadMarkerPlaceWorld1 = 86,
224 GB_SquadMarkerPlaceWorld2 = 87,
225 GB_SquadMarkerPlaceWorld3 = 88,
226 GB_SquadMarkerPlaceWorld4 = 89,
227 GB_SquadMarkerPlaceWorld5 = 90,
228 GB_SquadMarkerPlaceWorld6 = 91,
229 GB_SquadMarkerPlaceWorld7 = 92,
230 GB_SquadMarkerPlaceWorld8 = 93,
231 GB_SquadMarkerClearAllWorld = 119,
232 GB_SquadMarkerSetAgent1 = 94,
233 GB_SquadMarkerSetAgent2 = 95,
234 GB_SquadMarkerSetAgent3 = 96,
235 GB_SquadMarkerSetAgent4 = 97,
236 GB_SquadMarkerSetAgent5 = 98,
237 GB_SquadMarkerSetAgent6 = 99,
238 GB_SquadMarkerSetAgent7 = 100,
239 GB_SquadMarkerSetAgent8 = 101,
240 GB_SquadMarkerClearAllAgent = 118,
243 GB_MasteryAccess = 196,
244 GB_MasteryAccess01 = 204,
245 GB_MasteryAccess02 = 205,
246 GB_MasteryAccess03 = 206,
247 GB_MasteryAccess04 = 207,
248 GB_MasteryAccess05 = 208,
249 GB_MasteryAccess06 = 211,
253 GB_MiscInteract = 65,
254 GB_MiscShowEnemies = 66,
255 GB_MiscShowAllies = 67,
256 GB_MiscCombatStance = 68,
257 GB_MiscToggleLanguage = 69,
258 GB_MiscTogglePetCombat = 76,
259 GB_MiscToggleFullScreen = 160,
260 GB_MiscToggleDecorationMode = 210,
263 GB_ToyUseDefault = 162,
264 GB_ToyUseSlot1 = 163,
265 GB_ToyUseSlot2 = 164,
266 GB_ToyUseSlot3 = 165,
267 GB_ToyUseSlot4 = 166,
268 GB_ToyUseSlot5 = 167,
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
297typedef enum EAddonFlags
300 AF_IsVolatile = 1 << 0,
301 AF_DisableHotloading = 1 << 1,
302 AF_LaunchOnly = 1 << 2
308typedef enum EUpdateProvider
358typedef void (*ADDON_UNLOAD) ();
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);
366typedef void (*UPDATER_REQUESTUPDATE) (uint32_t aSignature,
const char* aUpdateURL);
368typedef const char* (*PATHS_GETGAMEDIR) ();
369typedef const char* (*PATHS_GETADDONDIR) (
const char* aName);
370typedef const char* (*PATHS_GETCOMMONDIR) ();
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);
377typedef void (*LOGGER_LOG) (ELogLevel aLogLevel,
const char* aChannel,
const char* aStr);
379typedef void (*ALERTS_NOTIFY) (
const char* aMessage);
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);
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);
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);
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);
405typedef void* (*DATALINK_GET) (
const char* aIdentifier);
406typedef void* (*DATALINK_SHARE) (
const char* aIdentifier, uint64_t aResourceSize);
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);
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);
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);
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);
442 const char* Description;
448 EUpdateProvider Provider;
449 const char* UpdateLink;
515 MINHOOK_CREATE MinHook_Create;
516 MINHOOK_REMOVE MinHook_Remove;
517 MINHOOK_ENABLE MinHook_Enable;
518 MINHOOK_DISABLE MinHook_Disable;
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