├── .editorconfig
├── .gitattributes
├── .github
├── FUNDING.yml
├── ISSUE_TEMPLATE.md
├── dependabot.yml
├── release-drafter.yml
└── workflows
│ ├── ci.yml
│ ├── pr.yml
│ ├── release-drafter.yml
│ └── tag.yml
├── .gitignore
├── .gitmodules
├── .idea
└── .idea.Blish HUD
│ ├── .idea
│ ├── .idea.Blish HUD.iml
│ ├── .name
│ ├── indexLayout.xml
│ ├── modules.xml
│ ├── projectSettingsUpdater.xml
│ └── vcs.xml
│ └── riderModule.iml
├── Blish HUD.sln
├── Blish HUD.sln.DotSettings
├── Blish HUD
├── .gitignore
├── ApplicationSettings.cs
├── Blish HUD.csproj
├── Blish HUD.csproj.DotSettings
├── BlishHud.cs
├── Common
│ ├── Gw2
│ │ └── KeyBindings.cs
│ └── UI
│ │ └── Views
│ │ ├── BasicTooltipView.cs
│ │ ├── ITooltipView.cs
│ │ └── StaticPanelView.cs
├── Content
│ ├── AtlasProject.tps
│ ├── Content.mgcb
│ ├── MonoGame.Extended.Content.Pipeline.dll
│ ├── MonoGame.Extended.Graphics.dll
│ ├── MonoGame.Extended.Tiled.dll
│ ├── MonoGame.Extended.dll
│ ├── Newtonsoft.Json.dll
│ ├── atlas
│ │ ├── checkbox
│ │ │ ├── cb-checked-active.png
│ │ │ ├── cb-checked-disabled.png
│ │ │ ├── cb-checked.png
│ │ │ ├── cb-unchecked-active.png
│ │ │ ├── cb-unchecked-disabled.png
│ │ │ └── cb-unchecked.png
│ │ ├── colorpicker
│ │ │ ├── cp-clr-active.png
│ │ │ ├── cp-clr-dc-x2-vert.png
│ │ │ ├── cp-clr-dc-x2.png
│ │ │ ├── cp-clr-dc-x4.png
│ │ │ ├── cp-clr-dc.png
│ │ │ ├── cp-clr-hover.png
│ │ │ ├── cp-clr-v1.png
│ │ │ ├── cp-clr-v2.png
│ │ │ ├── cp-clr-v3.png
│ │ │ └── cp-clr-v4.png
│ │ ├── inputboxes
│ │ │ ├── dd-arrow-active.png
│ │ │ ├── dd-arrow.png
│ │ │ ├── input-box-orig.png
│ │ │ └── input-box.png
│ │ ├── scrollbar
│ │ │ ├── sb-arrow-down.png
│ │ │ ├── sb-arrow-up.png
│ │ │ ├── sb-bar-active.png
│ │ │ ├── sb-bar.png
│ │ │ ├── sb-cap-bottom.png
│ │ │ ├── sb-cap-top.png
│ │ │ ├── sb-thumb.png
│ │ │ └── sb-track.png
│ │ ├── skillbox
│ │ │ ├── sb-anim1-f1.png
│ │ │ ├── sb-anim1-f2.png
│ │ │ ├── sb-anim1-f3.png
│ │ │ ├── sb-anim1-f4.png
│ │ │ ├── sb-anim1-f5.png
│ │ │ ├── sb-anim1-f6.png
│ │ │ ├── sb-anim1-f7.png
│ │ │ ├── sb-anim1-f8.png
│ │ │ ├── sb-blank.png
│ │ │ ├── sb-close.png
│ │ │ ├── sb-expand-bottom-active.png
│ │ │ ├── sb-expand-bottom.png
│ │ │ ├── sb-hover.png
│ │ │ └── sb-outline.png
│ │ ├── trackbar
│ │ │ ├── 925825.png
│ │ │ ├── tb-nub.png
│ │ │ └── tb-track.png
│ │ ├── ui-atlas.png
│ │ └── ui.json
│ ├── audio
│ │ ├── bundle-activated.wav
│ │ ├── button-click.wav
│ │ ├── color-change.wav
│ │ ├── error.wav
│ │ ├── inventory-move.wav
│ │ ├── numeric-spinner.wav
│ │ ├── open-skill-slot.wav
│ │ ├── page-open-1.wav
│ │ ├── page-open-2.wav
│ │ ├── page-open-3.wav
│ │ ├── select-skill.wav
│ │ ├── tab-swap-1.wav
│ │ ├── tab-swap-2.wav
│ │ ├── tab-swap-3.wav
│ │ ├── tab-swap-4.wav
│ │ ├── tab-swap-5.wav
│ │ └── window-close.wav
│ ├── common
│ │ ├── button-states.jpg
│ │ ├── error.png
│ │ ├── menomonia-bold-12.bmp
│ │ ├── menomonia-regular-12.bmp
│ │ ├── menomonia.spritefont
│ │ └── menomonia.ttf
│ ├── effects
│ │ ├── alphamask.fx
│ │ ├── distancedissolve.fx
│ │ ├── glow.fx
│ │ ├── gw2master.fx
│ │ ├── marker.fx
│ │ ├── menuitem.fx
│ │ ├── menuitem2.fx
│ │ ├── silhouette.fx
│ │ └── trail.fx
│ └── fonts
│ │ ├── ExportedFont.tga
│ │ ├── FontData.dat
│ │ ├── consolas-10-bold.spritefont
│ │ ├── consolas-10.spritefont
│ │ ├── consolas-12-bold.spritefont
│ │ ├── consolas-12.spritefont
│ │ ├── consolas-8-bold.spritefont
│ │ ├── consolas-8.spritefont
│ │ ├── menomonia-8-regular_0.tga
│ │ ├── menomonia
│ │ ├── menomonia-11-bold.fnt
│ │ ├── menomonia-11-bold_0.png
│ │ ├── menomonia-11-italic.fnt
│ │ ├── menomonia-11-italic_0.png
│ │ ├── menomonia-11-regular.fnt
│ │ ├── menomonia-11-regular_0.png
│ │ ├── menomonia-12-bold.fnt
│ │ ├── menomonia-12-bold_0.png
│ │ ├── menomonia-12-italic.fnt
│ │ ├── menomonia-12-italic_0.png
│ │ ├── menomonia-12-regular.fnt
│ │ ├── menomonia-12-regular_0.png
│ │ ├── menomonia-14-bold.fnt
│ │ ├── menomonia-14-bold_0.png
│ │ ├── menomonia-14-italic.fnt
│ │ ├── menomonia-14-italic_0.png
│ │ ├── menomonia-14-regular.fnt
│ │ ├── menomonia-14-regular_0.png
│ │ ├── menomonia-16-bold.fnt
│ │ ├── menomonia-16-bold_0.png
│ │ ├── menomonia-16-italic.fnt
│ │ ├── menomonia-16-italic_0.png
│ │ ├── menomonia-16-regular.fnt
│ │ ├── menomonia-16-regular_0.png
│ │ ├── menomonia-18-bold.fnt
│ │ ├── menomonia-18-bold_0.png
│ │ ├── menomonia-18-italic.fnt
│ │ ├── menomonia-18-italic_0.png
│ │ ├── menomonia-18-regular.fnt
│ │ ├── menomonia-18-regular_0.png
│ │ ├── menomonia-20-bold.fnt
│ │ ├── menomonia-20-bold_0.png
│ │ ├── menomonia-20-regular.fnt
│ │ ├── menomonia-20-regular_0.png
│ │ ├── menomonia-22-bold.fnt
│ │ ├── menomonia-22-bold_0.png
│ │ ├── menomonia-22-regular.fnt
│ │ ├── menomonia-22-regular_0.png
│ │ ├── menomonia-24-bold.fnt
│ │ ├── menomonia-24-bold_0.png
│ │ ├── menomonia-24-bold_1.png
│ │ ├── menomonia-24-regular.fnt
│ │ ├── menomonia-24-regular_0.png
│ │ ├── menomonia-32-regular.fnt
│ │ ├── menomonia-32-regular_0.png
│ │ ├── menomonia-32-regular_1.png
│ │ ├── menomonia-34-regular.fnt
│ │ ├── menomonia-34-regular_0.png
│ │ ├── menomonia-34-regular_1.png
│ │ ├── menomonia-36-bold.fnt
│ │ ├── menomonia-36-bold_0.png
│ │ ├── menomonia-36-bold_1.png
│ │ ├── menomonia-36-regular.fnt
│ │ ├── menomonia-36-regular_0.png
│ │ ├── menomonia-36-regular_1.png
│ │ ├── menomonia-8-bold.fnt
│ │ ├── menomonia-8-bold_0.png
│ │ ├── menomonia-8-italic.fnt
│ │ ├── menomonia-8-italic_0.png
│ │ ├── menomonia-8-regular.fnt
│ │ └── menomonia-8-regular_0.png
│ │ └── newkrytan
│ │ ├── newkrytan-12-regular.fnt
│ │ ├── newkrytan-12-regular_0.png
│ │ └── newkrytan-12-regular_1.png
├── Controls
│ ├── BackButton.cs
│ ├── Checkbox.cs
│ ├── ColorBox.cs
│ ├── ColorPicker.cs
│ ├── Container.cs
│ ├── ContextMenuStrip.cs
│ ├── ContextMenuStripItem.cs
│ ├── Control.cs
│ ├── CornerIcon.cs
│ ├── CounterBox.cs
│ ├── DetailsButton.cs
│ ├── Dropdown.cs
│ ├── Effects
│ │ ├── ControlEffect.cs
│ │ └── ScrollingHighlightEffect.cs
│ ├── Extern
│ │ ├── HardwareInput.cs
│ │ ├── Input.cs
│ │ ├── InputType.cs
│ │ ├── InputUnion.cs
│ │ ├── KeyEventF.cs
│ │ ├── KeybdInput.cs
│ │ ├── MouseEventF.cs
│ │ ├── MouseInput.cs
│ │ ├── PInvoke.cs
│ │ ├── ScanCodeShort.cs
│ │ └── VirtualKeyShort.cs
│ ├── FlowPanel.cs
│ ├── FormattedLabel.cs
│ ├── GlowButton.cs
│ ├── HealthPoolButton.cs
│ ├── IMenuItem.cs
│ ├── Image.cs
│ ├── Intern
│ │ ├── GuildWarsControls.cs
│ │ ├── Keyboard.cs
│ │ └── Mouse.cs
│ ├── KeybindingAssigner.cs
│ ├── KeybindingAssignmentWindow.cs
│ ├── Label.cs
│ ├── LabelBase.cs
│ ├── LoadingSpinner.cs
│ ├── Menu.cs
│ ├── MenuItem.cs
│ ├── MultilineTextBox.cs
│ ├── NullControl.cs
│ ├── Panel.cs
│ ├── Resources
│ │ ├── Checkable.cs
│ │ └── Control.cs
│ ├── Screen.cs
│ ├── ScreenNotification.cs
│ ├── Scrollbar.cs
│ ├── StandardButton.cs
│ ├── StandardWindow.cs
│ ├── TabbedWindow.cs
│ ├── TabbedWindow2.cs
│ ├── TextBox.cs
│ ├── TextInputBase.cs
│ ├── Tooltip.cs
│ ├── TrackBar.cs
│ ├── ViewContainer.cs
│ ├── WindowBase.cs
│ ├── WindowBase2.cs
│ ├── WindowTab.cs
│ ├── _Events
│ │ ├── ChildChangedEventArgs.cs
│ │ ├── ControlActivatedEventArgs.cs
│ │ ├── MovedEventArgs.cs
│ │ ├── RegionChangedEventArgs.cs
│ │ ├── ResizedEventArgs.cs
│ │ └── ValueChangedEventArgs.cs
│ └── _Types
│ │ ├── AccordionState.cs
│ │ ├── CachedStringRender.cs
│ │ ├── ControlCollection.cs
│ │ ├── DesignStandard.cs
│ │ ├── FormattedLabelBuilder.cs
│ │ ├── FormattedLabelPart.cs
│ │ ├── FormattedLabelPartBuilder.cs
│ │ ├── HorizontalAlignment.cs
│ │ ├── IAccordion.cs
│ │ ├── ICheckable.cs
│ │ ├── ITabOwner.cs
│ │ ├── IViewContainer.cs
│ │ ├── IWindow.cs
│ │ ├── KeyRepeatState.cs
│ │ ├── LayoutState.cs
│ │ ├── SizingMode.cs
│ │ ├── Tab.cs
│ │ ├── TabCollection.cs
│ │ ├── Thickness.cs
│ │ ├── UndoRedoRecord.cs
│ │ ├── UndoRedoStack.cs
│ │ ├── VerticalAlignment.cs
│ │ └── ViewState.cs
├── DebugHelper
│ ├── Models
│ │ ├── KeyboardEventMessage.cs
│ │ ├── KeyboardResponseMessage.cs
│ │ ├── Message.cs
│ │ ├── MouseEventMessage.cs
│ │ ├── MouseResponseMessage.cs
│ │ └── PingMessage.cs
│ ├── Native
│ │ ├── HookType.cs
│ │ ├── MOUSELLHOOKSTRUCT.cs
│ │ ├── POINT.cs
│ │ └── User32.cs
│ └── Services
│ │ ├── IDebugService.cs
│ │ ├── IMessageService.cs
│ │ ├── InputManagerService.cs
│ │ ├── KeyboardHookService.cs
│ │ ├── MouseHookService.cs
│ │ ├── ProcessService.cs
│ │ └── StreamMessageService.cs
├── Entities
│ ├── ICamera.cs
│ ├── IEntity.cs
│ ├── IWorld.cs
│ └── World.cs
├── FodyWeavers.xml
├── FodyWeavers.xsd
├── GameServices
│ ├── AnimationService.cs
│ ├── ArcDps
│ │ ├── ArcDPSEnums.cs
│ │ ├── AsyncUserToken.cs
│ │ ├── CombatParser.cs
│ │ ├── Common
│ │ │ └── CommonFields.cs
│ │ ├── Extensions
│ │ │ ├── ActivationExtensions.cs
│ │ │ ├── ConditionResultExtensions.cs
│ │ │ ├── PhysicalResultExtensions.cs
│ │ │ ├── SpawnExtensions.cs
│ │ │ └── StateChangeAgentExtensions.cs
│ │ ├── Models
│ │ │ ├── Ag.cs
│ │ │ ├── CombatEvent.cs
│ │ │ └── Ev.cs
│ │ ├── SocketListener
│ │ │ ├── MessageData.cs
│ │ │ ├── RawCombatEventArgs.cs
│ │ │ ├── SocketListener.cs
│ │ │ └── SocketState.cs
│ │ └── V2
│ │ │ ├── ArcDpsBridgeVersion.cs
│ │ │ ├── ArcDpsClient.cs
│ │ │ ├── ArcDpsIdCollection.cs
│ │ │ ├── CommonFields.cs
│ │ │ ├── Extensions
│ │ │ └── BincodeBinaryReaderExtensions.cs
│ │ │ ├── IArcDpsClient.cs
│ │ │ ├── MessageType.cs
│ │ │ ├── Models
│ │ │ ├── Activation.cs
│ │ │ ├── Affinity.cs
│ │ │ ├── Agent.cs
│ │ │ ├── BuffRemove.cs
│ │ │ ├── CombatCallback.cs
│ │ │ ├── CombatEvent.cs
│ │ │ ├── ConditionResult.cs
│ │ │ ├── ImgUiCallback.cs
│ │ │ ├── PhysicalResult.cs
│ │ │ ├── StateChange.cs
│ │ │ └── Unofficial Extras
│ │ │ │ ├── ChannelType.cs
│ │ │ │ ├── ChatMessageInfo.cs
│ │ │ │ ├── Language.cs
│ │ │ │ ├── UserInfo.cs
│ │ │ │ └── UserRole.cs
│ │ │ └── Processors
│ │ │ ├── BincodeSerializer.cs
│ │ │ ├── CombatEventProcessor.cs
│ │ │ ├── ImGuiProcessor.cs
│ │ │ ├── LegacyCombatProcessor.cs
│ │ │ ├── MessageProcessor.cs
│ │ │ ├── MessageProcessor{T}.cs
│ │ │ ├── UnofficialExtrasMessageInfoProcessor.cs
│ │ │ └── UnofficialExtrasUserInfoProcessor.cs
│ ├── ArcDpsService.cs
│ ├── ArcDpsServiceV2.cs
│ ├── Content
│ │ ├── AsyncTexture2D.cs
│ │ ├── DatAssetCache.cs
│ │ ├── DirectoryReader.cs
│ │ ├── IDataReader.cs
│ │ ├── Serialization
│ │ │ └── SemVerConverter.cs
│ │ └── ZipArchiveReader.cs
│ ├── ContentService.cs
│ ├── Contexts
│ │ ├── CdnInfoContext.cs
│ │ ├── Context.cs
│ │ ├── ContextAvailability.cs
│ │ ├── ContextResult[T].cs
│ │ ├── ContextState.cs
│ │ ├── FestivalContext.cs
│ │ └── Gw2ClientContext.cs
│ ├── ContextsService.cs
│ ├── Debug
│ │ ├── Contingency.cs
│ │ ├── ContingencyChecks.cs
│ │ ├── ContingencyPopup.Designer.cs
│ │ ├── ContingencyPopup.cs
│ │ ├── ContingencyPopup.resx
│ │ ├── DebugCounter.cs
│ │ ├── DynamicallySmoothedValue.cs
│ │ ├── Logger.cs
│ │ ├── OverlayStrings.cs
│ │ └── RingBuffer[T].cs
│ ├── DebugService.cs
│ ├── GameIntegration
│ │ ├── AudioEndpointNotificationReceiver.cs
│ │ ├── AudioIntegration.cs
│ │ ├── ClientTypeIntegration.cs
│ │ ├── GfxSettings
│ │ │ ├── AnimationSetting.cs
│ │ │ ├── AntiAliasingSetting.cs
│ │ │ ├── CharModelLimitSetting.cs
│ │ │ ├── CharModelQualitySetting.cs
│ │ │ ├── EnvironmentSetting.cs
│ │ │ ├── FrameLimitSetting.cs
│ │ │ ├── LodDistanceSetting.cs
│ │ │ ├── PostProcSetting.cs
│ │ │ ├── ReflectionsSetting.cs
│ │ │ ├── SamplingSetting.cs
│ │ │ ├── ScreenModeSetting.cs
│ │ │ ├── ShadersSetting.cs
│ │ │ ├── ShadowsSetting.cs
│ │ │ └── TextureDetailSetting.cs
│ │ ├── GfxSettingsIntegration.cs
│ │ ├── Gw2Instance
│ │ │ └── Gw2GraphicsApi.cs
│ │ ├── Gw2InstanceIntegration.cs
│ │ ├── TacOIntegration.cs
│ │ └── WinFormsIntegration.cs
│ ├── GameIntegrationService.cs
│ ├── GameService.cs
│ ├── Graphics
│ │ ├── DpiMethod.cs
│ │ ├── FramerateMethod.cs
│ │ ├── GraphicsDeviceContext.cs
│ │ ├── IEffect.cs
│ │ ├── IRenderable.cs
│ │ ├── IRenderable3D.cs
│ │ ├── ManualUISize.cs
│ │ ├── SharedEffect.cs
│ │ └── UI
│ │ │ ├── Exceptions
│ │ │ └── ViewNotBuiltException.cs
│ │ │ ├── IPresenter.cs
│ │ │ ├── IPresenter[TView].cs
│ │ │ ├── IView.cs
│ │ │ ├── NullPresenter.cs
│ │ │ ├── Presenter[TView,TModel].cs
│ │ │ ├── View.cs
│ │ │ └── View[TPresenter].cs
│ ├── GraphicsService.cs
│ ├── Gw2Mumble
│ │ ├── CurrentMap.cs
│ │ ├── Info.cs
│ │ ├── MumbleEventImpl.cs
│ │ ├── PlayerCamera.cs
│ │ ├── PlayerCharacter.cs
│ │ └── UI.cs
│ ├── Gw2MumbleService.cs
│ ├── Gw2WebApi
│ │ ├── ManagedConnection.cs
│ │ ├── TokenBucket.cs
│ │ ├── TokenComplianceMiddleware.cs
│ │ └── UI
│ │ │ ├── Presenters
│ │ │ └── ApiTokenPresenter.cs
│ │ │ └── Views
│ │ │ ├── ApiTokenView.cs
│ │ │ └── RegisterApiKeyView.cs
│ ├── Gw2WebApiService.cs
│ ├── IServiceModule.cs
│ ├── Input
│ │ ├── DebugHelperHookManager.cs
│ │ ├── DebugHelperInputHookManager.cs
│ │ ├── IHookManager.cs
│ │ ├── IInputHandler.cs
│ │ ├── Keyboard
│ │ │ ├── DebugHelperKeyboardHookManager.cs
│ │ │ ├── IKeyboardHookManager.cs
│ │ │ ├── KeyBinding.cs
│ │ │ ├── KeyboardEventArgs.cs
│ │ │ ├── KeyboardEventType.cs
│ │ │ ├── KeyboardHandler.cs
│ │ │ ├── KeysUtil.cs
│ │ │ ├── ModifierKeys.cs
│ │ │ ├── TypedInputUtil.cs
│ │ │ └── WinApiKeyboardHookManager.cs
│ │ ├── Mouse
│ │ │ ├── DebugHelperMouseHookManager.cs
│ │ │ ├── IMouseHookManager.cs
│ │ │ ├── MouseEventArgs.cs
│ │ │ ├── MouseEventType.cs
│ │ │ ├── MouseHandler.cs
│ │ │ └── WinApiMouseHookManager.cs
│ │ ├── WinApi
│ │ │ ├── CursorExtern.cs
│ │ │ ├── CursorFlags.cs
│ │ │ ├── CursorInfo.cs
│ │ │ ├── HookExtern.cs
│ │ │ ├── HookType.cs
│ │ │ └── MouseLLHookStruct.cs
│ │ ├── WinApiHookManager.cs
│ │ └── WinApiInputHookManager.cs
│ ├── InputService.cs
│ ├── ModuleService.cs
│ ├── Modules
│ │ ├── Managers
│ │ │ ├── ContentsManager.cs
│ │ │ ├── DirectoriesManager.cs
│ │ │ ├── Gw2ApiManager.cs
│ │ │ └── SettingsManager.cs
│ │ ├── Manifest.cs
│ │ ├── ManifestV1.cs
│ │ ├── Module.cs
│ │ ├── ModuleApiPermissions.cs
│ │ ├── ModuleContributor.cs
│ │ ├── ModuleDependency.cs
│ │ ├── ModuleDependencyCheckDetails.cs
│ │ ├── ModuleDependencyCheckResult.cs
│ │ ├── ModuleManager.cs
│ │ ├── ModuleParameters.cs
│ │ ├── ModulePkgRepoHandler.cs
│ │ ├── ModuleRunState.cs
│ │ ├── ModuleRunStateChangedEventArgs.cs
│ │ ├── ModuleState.cs
│ │ ├── Pkgs
│ │ │ ├── IPkgRepoProvider.cs
│ │ │ ├── PkgManifest.cs
│ │ │ ├── PkgManifestV1.cs
│ │ │ ├── StaticPkgRepoProvider.cs
│ │ │ └── SupportedModulePkgVersion.cs
│ │ ├── SupportedModuleManifestVersion.cs
│ │ └── UI
│ │ │ ├── Controls
│ │ │ ├── ModuleMenuItem.cs
│ │ │ └── StatusMenuItem.cs
│ │ │ ├── Presenters
│ │ │ ├── ManageModulePresenter.cs
│ │ │ ├── ManagePkgPresenter.cs
│ │ │ ├── ModuleDependencyPresenter.cs
│ │ │ ├── ModulePermissionPresenter.cs
│ │ │ └── ModuleRepoPresenter.cs
│ │ │ └── Views
│ │ │ ├── ManageModuleView.cs
│ │ │ ├── ManagePkgView.cs
│ │ │ ├── ModuleDependencyView.cs
│ │ │ ├── ModulePermissionView.cs
│ │ │ ├── ModuleRepoView.cs
│ │ │ ├── NoModulesView.cs
│ │ │ └── TitledDetailView.cs
│ ├── Overlay
│ │ ├── CoreVersionManifest.cs
│ │ ├── DynamicHUDMethod.cs
│ │ ├── OverlaySettingsTab.cs
│ │ ├── OverlayUpdateHandler.cs
│ │ ├── SelfUpdater
│ │ │ ├── Controls
│ │ │ │ ├── BouncyNotification.cs
│ │ │ │ └── SelfUpdateWindow.cs
│ │ │ └── SelfUpdateUtil.cs
│ │ └── UI
│ │ │ ├── Presenters
│ │ │ ├── ConnectionStatusPresenter.cs
│ │ │ └── IConnectionStatusPresenter.cs
│ │ │ └── Views
│ │ │ ├── AboutView.cs
│ │ │ ├── ConnectionStatusView.cs
│ │ │ └── OverlaySettingsView.cs
│ ├── OverlayService.cs
│ ├── ServiceModule.cs
│ ├── Settings
│ │ ├── ISettingsMenuRegistrar.cs
│ │ ├── RegisteredSettingsMenuItem.cs
│ │ ├── SettingCollection.cs
│ │ ├── SettingEntry.cs
│ │ ├── SettingEntry[T].cs
│ │ ├── UI
│ │ │ ├── Presenters
│ │ │ │ ├── SettingPresenter.cs
│ │ │ │ └── SettingsMenuPresenter.cs
│ │ │ └── Views
│ │ │ │ ├── BoolSettingView.cs
│ │ │ │ ├── EnumSettingView.cs
│ │ │ │ ├── EnumSettingView[T].cs
│ │ │ │ ├── FloatSettingView.cs
│ │ │ │ ├── IntSettingView.cs
│ │ │ │ ├── KeybindingSettingView.cs
│ │ │ │ ├── NumericSettingView.cs
│ │ │ │ ├── SettingView.cs
│ │ │ │ ├── SettingView[T].cs
│ │ │ │ ├── SettingsMenuView.cs
│ │ │ │ ├── SettingsView.cs
│ │ │ │ └── StringSettingView.cs
│ │ └── _Compliance
│ │ │ ├── EnumInclusionComplianceRequisite.cs
│ │ │ ├── FloatRangeRangeComplianceRequisite.cs
│ │ │ ├── IComplianceRequisite.cs
│ │ │ ├── INumericRangeComplianceRequisite.cs
│ │ │ ├── IntRangeRangeComplianceRequisite.cs
│ │ │ ├── SettingComplianceExtensions.cs
│ │ │ ├── SettingDisabledComplianceRequisite.cs
│ │ │ ├── SettingValidationComplianceRequisite.cs
│ │ │ └── SettingValidationResult.cs
│ └── SettingsService.cs
├── Library
│ └── Glide
│ │ ├── .hg_archival.txt
│ │ ├── CustomLerpers
│ │ └── PointLerper.cs
│ │ ├── Ease.cs
│ │ ├── MemberAccessor.cs
│ │ ├── MemberLerper.cs
│ │ ├── Tween.cs
│ │ ├── Tweener.cs
│ │ ├── license.txt
│ │ └── readme.md
├── Program.cs
├── Properties
│ ├── Resources.Designer.cs
│ ├── Resources.resx
│ └── launchSettings.json
├── Resources
│ └── 2039771.ico
├── Strings
│ ├── Common.Designer.cs
│ ├── Common.de.resx
│ ├── Common.es.resx
│ ├── Common.fr.resx
│ ├── Common.resx
│ ├── Controls.Designer.cs
│ ├── Controls.de.resx
│ ├── Controls.fr.resx
│ ├── Controls.resx
│ └── GameServices
│ │ ├── ContentService.Designer.cs
│ │ ├── ContentService.de.resx
│ │ ├── ContentService.fr.resx
│ │ ├── ContentService.resx
│ │ ├── Contexts
│ │ ├── Festivals.Designer.cs
│ │ ├── Festivals.de.resx
│ │ ├── Festivals.es.resx
│ │ ├── Festivals.fr.resx
│ │ └── Festivals.resx
│ │ ├── ContextsService.Designer.cs
│ │ ├── ContextsService.de.resx
│ │ ├── ContextsService.es.resx
│ │ ├── ContextsService.fr.resx
│ │ ├── ContextsService.resx
│ │ ├── Debug
│ │ ├── ContingencyMessages.Designer.cs
│ │ ├── ContingencyMessages.de.resx
│ │ ├── ContingencyMessages.fr.Designer.cs
│ │ ├── ContingencyMessages.fr.resx
│ │ └── ContingencyMessages.resx
│ │ ├── DebugService.Designer.cs
│ │ ├── DebugService.resx
│ │ ├── GameIntegrationService.Designer.cs
│ │ ├── GameIntegrationService.de.resx
│ │ ├── GameIntegrationService.fr.resx
│ │ ├── GameIntegrationService.resx
│ │ ├── GraphicsService.Designer.cs
│ │ ├── GraphicsService.de.resx
│ │ ├── GraphicsService.fr.Designer.cs
│ │ ├── GraphicsService.fr.resx
│ │ ├── GraphicsService.resx
│ │ ├── Gw2ApiService.Designer.cs
│ │ ├── Gw2ApiService.de.resx
│ │ ├── Gw2ApiService.es.resx
│ │ ├── Gw2ApiService.fr.resx
│ │ ├── Gw2ApiService.resx
│ │ ├── InputService.Designer.cs
│ │ ├── InputService.de.resx
│ │ ├── InputService.fr.resx
│ │ ├── InputService.resx
│ │ ├── Modules
│ │ ├── RepoAndPkgManagement.Designer.cs
│ │ ├── RepoAndPkgManagement.de.resx
│ │ ├── RepoAndPkgManagement.fr.Designer.cs
│ │ ├── RepoAndPkgManagement.fr.resx
│ │ └── RepoAndPkgManagement.resx
│ │ ├── ModulesService.Designer.cs
│ │ ├── ModulesService.de.resx
│ │ ├── ModulesService.es.resx
│ │ ├── ModulesService.fr.resx
│ │ ├── ModulesService.resx
│ │ ├── OverlayService.Designer.cs
│ │ ├── OverlayService.de.resx
│ │ ├── OverlayService.es.resx
│ │ ├── OverlayService.fr.resx
│ │ ├── OverlayService.resx
│ │ ├── SettingsService.Designer.cs
│ │ ├── SettingsService.de.resx
│ │ ├── SettingsService.es.resx
│ │ ├── SettingsService.fr.resx
│ │ └── SettingsService.resx
├── _Events
│ ├── KeyedValueChangedEventArgs[TKey,TValue].cs
│ ├── ValueChangedEventArgs[T].cs
│ └── ValueEventArgs[T].cs
├── _Extensions
│ ├── ColorExtensions.cs
│ ├── DictionaryExtension.cs
│ ├── PointExtensions.cs
│ ├── RectangleExtension.cs
│ ├── SpriteBatchExtensions.cs
│ ├── StreamExtensions.cs
│ ├── StringExtensions.cs
│ ├── TaskExtensions.cs
│ ├── Texture2DExtension.cs
│ ├── TimeSpanExtension.cs
│ ├── Vector2Extension.cs
│ ├── Vector3Extensions.cs
│ ├── VersionExtensions.cs
│ └── XmlNodeExtensions.cs
├── _Interfaces
│ └── IUpdatable.cs
├── _Utils
│ ├── ClipboardUtil.cs
│ ├── ColorUtil.cs
│ ├── ControlUtil.cs
│ ├── DirectoryUtil.cs
│ ├── DrawUtil.cs
│ ├── EnumUtil.cs
│ ├── InvariantUtil.cs
│ ├── LoadingSpinnerUtil.cs
│ ├── PropertyUtil.cs
│ ├── RandomUtil.cs
│ ├── StringUtil.cs
│ ├── TextureUtil.cs
│ ├── VectorUtil.cs
│ ├── WindowUtil.cs
│ └── WorldUtil.cs
├── app.manifest
├── blishhud.ico
├── blishraster2_0dw_icon.ico
├── build
│ └── BlishHUD.targets
└── ref
│ ├── 1002141.png
│ ├── 1002142.png
│ ├── 102367.png
│ ├── 102377.png
│ ├── 1025164.png
│ ├── 1025180.png
│ ├── 102530.png
│ ├── 1060353-crop.png
│ ├── 1228909.png
│ ├── 1234938.png
│ ├── 1234939.png
│ ├── 1451830.png
│ ├── 155018.png
│ ├── 155038.png
│ ├── 155048.png
│ ├── 155049.png
│ ├── 155052.png
│ ├── 155909.png
│ ├── 156008.png
│ ├── 156044.png
│ ├── 156057.png
│ ├── 156071.png
│ ├── 156072.png
│ ├── 156127.png
│ ├── 156140.png
│ ├── 156142.png
│ ├── 156149.png
│ ├── 156331.png
│ ├── 156356.png
│ ├── 156387.png
│ ├── 156411.png
│ ├── 156627.png
│ ├── 156684.png
│ ├── 156734.png
│ ├── 156736.png
│ ├── 156738.png
│ ├── 156764-noarrow.png
│ ├── 156764-update.png
│ ├── 156775.png
│ ├── 156790.png
│ ├── 157218.png
│ ├── 157330-cantint.png
│ ├── 157355.png
│ ├── 1692697.png
│ ├── 1770706.png
│ ├── 1863945-crop.png
│ ├── 1909316.png
│ ├── 1909317.png
│ ├── 255369.png
│ ├── 347218.png
│ ├── 358411.png
│ ├── 440023.png
│ ├── 578853.png
│ ├── 605000-2.png
│ ├── 605004.png
│ ├── 605019.png
│ ├── 605021.png
│ ├── 605024.png
│ ├── 605025.png
│ ├── 605026.png
│ ├── 759450.png
│ ├── 784268.png
│ ├── 991944.png
│ ├── accordion-header-closed-indicator.png
│ ├── accordion-header-standard.png
│ ├── audio
│ ├── bundle-activated.wav
│ ├── button-click.wav
│ ├── color-change.wav
│ ├── error.wav
│ ├── hero-open.wav
│ ├── inventory-move.wav
│ ├── menu-click-1.wav
│ ├── menu-click-2.wav
│ ├── menu-click-3.wav
│ ├── menu-click-4.wav
│ ├── menu-item-click.wav
│ ├── numeric-spinner.wav
│ ├── open-skill-slot.wav
│ ├── page-open-1.wav
│ ├── page-open-2.wav
│ ├── page-open-3.wav
│ ├── select-skill.wav
│ ├── tab-swap-1.wav
│ ├── tab-swap-2.wav
│ ├── tab-swap-3.wav
│ ├── tab-swap-4.wav
│ ├── tab-swap-5.wav
│ └── window-close.wav
│ ├── black-46x52.png
│ ├── blishhud-emblem.png
│ ├── button-add.png
│ ├── button-border.png
│ ├── button-exit-active.png
│ ├── button-exit.png
│ ├── chat-no-interaction-blue.png
│ ├── common
│ ├── 1234943.png
│ ├── 1441452.png
│ ├── 1444522.png
│ ├── 154979.png
│ ├── 154981.png
│ ├── 154982.png
│ ├── 154983.png
│ ├── 156384.png
│ ├── 157109.png
│ ├── 157110.png
│ ├── 157112.png
│ ├── 157330.png
│ ├── 157397.png
│ ├── 440023.png
│ ├── 440024.png
│ ├── 482924.png
│ ├── 482925.png
│ ├── 605016.png
│ ├── 605017.png
│ ├── 733268.png
│ ├── 733269.png
│ ├── 733270.png
│ ├── 784342.png
│ ├── 784343.png
│ ├── 784344.png
│ ├── 784345.png
│ └── 784346.png
│ ├── compatibility.json
│ ├── context-menu-strip-submenu.png
│ ├── controls
│ ├── bouncynotification
│ │ └── 965696.png
│ ├── detailsbutton
│ │ ├── 605003.png
│ │ ├── 605004.png
│ │ └── 605011.png
│ ├── mask
│ │ ├── export_0298.png
│ │ ├── export_0311.png
│ │ ├── export_0330.png
│ │ └── export_0332.png
│ ├── notification
│ │ ├── notification-blue.png
│ │ ├── notification-gray.png
│ │ ├── notification-green.png
│ │ └── notification-red.png
│ ├── panel
│ │ ├── 1002144.png
│ │ ├── 1032324.png
│ │ ├── 1032325.png
│ │ └── 155953.png
│ ├── trackbar
│ │ └── 154968.png
│ └── window
│ │ ├── 156008.png
│ │ ├── 156009.png
│ │ ├── 156010.png
│ │ └── 502049.png
│ ├── deleted_item.png
│ ├── fade-down-46.png
│ ├── glow-waypoint.png
│ ├── glow-wiki.png
│ ├── healthpool.png
│ ├── healthpool_pressed.png
│ ├── hotkey-window.png
│ ├── icon-shade-behind.png
│ ├── input-box.png
│ ├── interactInfo.png
│ ├── item-hover.png
│ ├── logo-big-update.png
│ ├── logo-big.png
│ ├── logo-update.png
│ ├── logo.png
│ ├── mask-pixel-2.png
│ ├── metadata.gz
│ ├── minus.png
│ ├── no-waypoint.png
│ ├── plus.png
│ ├── poi.png
│ ├── scrollbar-track.png
│ ├── skill-dropdown-active.png
│ ├── spinner-atlas.png
│ ├── textbox.png
│ ├── titlebar-active.png
│ ├── titlebar-inactive.png
│ ├── tooltip.png
│ ├── uniformclouds_blur30.png
│ ├── views
│ ├── about
│ │ └── section-splitter.png
│ └── selfupdater
│ │ ├── 1235000.png
│ │ ├── 744427-blue.png
│ │ ├── 744428-blue.png
│ │ ├── hero-prerelease.png
│ │ ├── hero-release.png
│ │ └── updateview.png
│ ├── waypoint.png
│ ├── window-tab-active.png
│ ├── window-topright-active.png
│ └── window-topright.png
├── GitVersion.yml
├── LICENSE
├── README.md
├── Resources.Designer.t4
└── nspector
├── Properties
├── Resources.Designer.cs
└── Resources.resx
└── nspector.csproj
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4 | patreon: # Replace with a single Patreon username
5 | open_collective: # Replace with a single Open Collective username
6 | ko_fi: freesnow
7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9 | liberapay: # Replace with a single Liberapay username
10 | issuehunt: # Replace with a single IssueHunt username
11 | otechie: # Replace with a single Otechie username
12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
13 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | This issue repository is for tracking technical issues and not for user troubleshooting. If you are looking for assistance with Blish HUD, please reach out in our Discord channel:
2 | https://link.blishhud.com/discordhelp
3 |
4 | For tracking technical errors in a module, please use the repository for that module. This repository is only for the core Blish HUD application.
5 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | # To get started with Dependabot version updates, you'll need to specify which
2 | # package ecosystems to update and where the package manifests are located.
3 | # Please see the documentation for all configuration options:
4 | # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5 |
6 | version: 2
7 | updates:
8 | # Maintain dependencies for GitHub Actions
9 | - package-ecosystem: "github-actions"
10 | directory: "/"
11 | schedule:
12 | interval: "daily"
13 | assignees:
14 | - "dlamkins"
15 | reviewers:
16 | - "dlamkins"
17 | labels:
18 | - "github-actions"
19 |
20 | # Maintain dependencies for NuGet
21 | - package-ecosystem: "nuget"
22 | directory: "/"
23 | schedule:
24 | interval: "daily"
25 | assignees:
26 | - "dlamkins"
27 | reviewers:
28 | - "dlamkins"
29 | labels:
30 | - ".NET"
31 |
--------------------------------------------------------------------------------
/.github/release-drafter.yml:
--------------------------------------------------------------------------------
1 | template: |
2 | ## What’s Changed
3 |
4 | $CHANGES
--------------------------------------------------------------------------------
/.github/workflows/release-drafter.yml:
--------------------------------------------------------------------------------
1 | name: Release Drafter
2 |
3 | on:
4 | push:
5 | branches:
6 | - dev
7 |
8 | jobs:
9 | update_release_draft:
10 | runs-on: ubuntu-latest
11 | steps:
12 | # Drafts next Release notes as Pull Requests are merged into "master"
13 | - uses: release-drafter/release-drafter@v5.22.0
14 | env:
15 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
16 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "thirdparty/nvidiaProfileInspector"]
2 | path = thirdparty/nvidiaProfileInspector
3 | url = https://github.com/Orbmu2k/nvidiaProfileInspector.git
4 |
--------------------------------------------------------------------------------
/.idea/.idea.Blish HUD/.idea/.idea.Blish HUD.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/.idea.Blish HUD/.idea/.name:
--------------------------------------------------------------------------------
1 | Blish HUD
--------------------------------------------------------------------------------
/.idea/.idea.Blish HUD/.idea/indexLayout.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/.idea.Blish HUD/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/.idea/.idea.Blish HUD/.idea/projectSettingsUpdater.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/.idea.Blish HUD/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/.idea.Blish HUD/riderModule.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Blish HUD/.gitignore:
--------------------------------------------------------------------------------
1 | ###############
2 | # folder #
3 | ###############
4 | /**/DROP/
5 | /**/TEMP/
6 | /**/packages/
7 | /**/bin/
8 | /**/obj/
9 | _site
10 |
--------------------------------------------------------------------------------
/Blish HUD/Blish HUD.csproj.DotSettings:
--------------------------------------------------------------------------------
1 |
2 | True
3 | True
4 | True
5 | True
6 | True
--------------------------------------------------------------------------------
/Blish HUD/Common/Gw2/KeyBindings.cs:
--------------------------------------------------------------------------------
1 | using Blish_HUD.Input;
2 | using Microsoft.Xna.Framework.Input;
3 |
4 | namespace Blish_HUD.Common.Gw2 {
5 |
6 | ///
7 | /// A collection of the built-in GW2 keybindings.
8 | ///
9 | public static class KeyBindings {
10 |
11 | ///
12 | /// General context-sensitive interact prompt.
13 | /// Used for interacting with the environment, including Talk, Loot, Revive, etc.
14 | ///
15 | public static readonly KeyBinding Interact = GameService.Overlay.InteractKey.Value;
16 |
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Blish HUD/Common/UI/Views/ITooltipView.cs:
--------------------------------------------------------------------------------
1 | using Blish_HUD.Graphics.UI;
2 |
3 | namespace Blish_HUD.Common.UI.Views {
4 | public interface ITooltipView : IView {
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Blish HUD/Common/UI/Views/StaticPanelView.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Blish_HUD.Controls;
3 | using Blish_HUD.Graphics.UI;
4 | using Microsoft.Xna.Framework;
5 |
6 | namespace Blish_HUD.Common.UI.Views {
7 |
8 | ///
9 | /// Allows you to pass a static panel as a view. Primarily used as a stopgap.
10 | ///
11 | public class StaticPanelView : View {
12 |
13 | private readonly Panel _panel;
14 |
15 | public StaticPanelView(Panel panel) {
16 | _panel = panel ?? throw new ArgumentNullException(nameof(panel));
17 | }
18 |
19 | protected override void Build(Container buildPanel) {
20 | _panel.Location = Point.Zero;
21 | _panel.HeightSizingMode = SizingMode.Fill;
22 | _panel.WidthSizingMode = SizingMode.Fill;
23 | _panel.Parent = buildPanel;
24 | }
25 |
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/Blish HUD/Content/MonoGame.Extended.Content.Pipeline.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/MonoGame.Extended.Content.Pipeline.dll
--------------------------------------------------------------------------------
/Blish HUD/Content/MonoGame.Extended.Graphics.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/MonoGame.Extended.Graphics.dll
--------------------------------------------------------------------------------
/Blish HUD/Content/MonoGame.Extended.Tiled.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/MonoGame.Extended.Tiled.dll
--------------------------------------------------------------------------------
/Blish HUD/Content/MonoGame.Extended.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/MonoGame.Extended.dll
--------------------------------------------------------------------------------
/Blish HUD/Content/Newtonsoft.Json.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/Newtonsoft.Json.dll
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/checkbox/cb-checked-active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/checkbox/cb-checked-active.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/checkbox/cb-checked-disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/checkbox/cb-checked-disabled.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/checkbox/cb-checked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/checkbox/cb-checked.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/checkbox/cb-unchecked-active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/checkbox/cb-unchecked-active.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/checkbox/cb-unchecked-disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/checkbox/cb-unchecked-disabled.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/checkbox/cb-unchecked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/checkbox/cb-unchecked.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/colorpicker/cp-clr-active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/colorpicker/cp-clr-active.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/colorpicker/cp-clr-dc-x2-vert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/colorpicker/cp-clr-dc-x2-vert.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/colorpicker/cp-clr-dc-x2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/colorpicker/cp-clr-dc-x2.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/colorpicker/cp-clr-dc-x4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/colorpicker/cp-clr-dc-x4.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/colorpicker/cp-clr-dc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/colorpicker/cp-clr-dc.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/colorpicker/cp-clr-hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/colorpicker/cp-clr-hover.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/colorpicker/cp-clr-v1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/colorpicker/cp-clr-v1.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/colorpicker/cp-clr-v2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/colorpicker/cp-clr-v2.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/colorpicker/cp-clr-v3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/colorpicker/cp-clr-v3.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/colorpicker/cp-clr-v4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/colorpicker/cp-clr-v4.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/inputboxes/dd-arrow-active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/inputboxes/dd-arrow-active.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/inputboxes/dd-arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/inputboxes/dd-arrow.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/inputboxes/input-box-orig.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/inputboxes/input-box-orig.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/inputboxes/input-box.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/inputboxes/input-box.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/scrollbar/sb-arrow-down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/scrollbar/sb-arrow-down.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/scrollbar/sb-arrow-up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/scrollbar/sb-arrow-up.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/scrollbar/sb-bar-active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/scrollbar/sb-bar-active.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/scrollbar/sb-bar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/scrollbar/sb-bar.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/scrollbar/sb-cap-bottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/scrollbar/sb-cap-bottom.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/scrollbar/sb-cap-top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/scrollbar/sb-cap-top.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/scrollbar/sb-thumb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/scrollbar/sb-thumb.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/scrollbar/sb-track.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/scrollbar/sb-track.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/skillbox/sb-anim1-f1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/skillbox/sb-anim1-f1.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/skillbox/sb-anim1-f2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/skillbox/sb-anim1-f2.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/skillbox/sb-anim1-f3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/skillbox/sb-anim1-f3.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/skillbox/sb-anim1-f4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/skillbox/sb-anim1-f4.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/skillbox/sb-anim1-f5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/skillbox/sb-anim1-f5.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/skillbox/sb-anim1-f6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/skillbox/sb-anim1-f6.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/skillbox/sb-anim1-f7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/skillbox/sb-anim1-f7.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/skillbox/sb-anim1-f8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/skillbox/sb-anim1-f8.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/skillbox/sb-blank.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/skillbox/sb-blank.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/skillbox/sb-close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/skillbox/sb-close.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/skillbox/sb-expand-bottom-active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/skillbox/sb-expand-bottom-active.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/skillbox/sb-expand-bottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/skillbox/sb-expand-bottom.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/skillbox/sb-hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/skillbox/sb-hover.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/skillbox/sb-outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/skillbox/sb-outline.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/trackbar/925825.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/trackbar/925825.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/trackbar/tb-nub.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/trackbar/tb-nub.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/trackbar/tb-track.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/trackbar/tb-track.png
--------------------------------------------------------------------------------
/Blish HUD/Content/atlas/ui-atlas.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/atlas/ui-atlas.png
--------------------------------------------------------------------------------
/Blish HUD/Content/audio/bundle-activated.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/audio/bundle-activated.wav
--------------------------------------------------------------------------------
/Blish HUD/Content/audio/button-click.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/audio/button-click.wav
--------------------------------------------------------------------------------
/Blish HUD/Content/audio/color-change.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/audio/color-change.wav
--------------------------------------------------------------------------------
/Blish HUD/Content/audio/error.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/audio/error.wav
--------------------------------------------------------------------------------
/Blish HUD/Content/audio/inventory-move.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/audio/inventory-move.wav
--------------------------------------------------------------------------------
/Blish HUD/Content/audio/numeric-spinner.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/audio/numeric-spinner.wav
--------------------------------------------------------------------------------
/Blish HUD/Content/audio/open-skill-slot.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/audio/open-skill-slot.wav
--------------------------------------------------------------------------------
/Blish HUD/Content/audio/page-open-1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/audio/page-open-1.wav
--------------------------------------------------------------------------------
/Blish HUD/Content/audio/page-open-2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/audio/page-open-2.wav
--------------------------------------------------------------------------------
/Blish HUD/Content/audio/page-open-3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/audio/page-open-3.wav
--------------------------------------------------------------------------------
/Blish HUD/Content/audio/select-skill.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/audio/select-skill.wav
--------------------------------------------------------------------------------
/Blish HUD/Content/audio/tab-swap-1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/audio/tab-swap-1.wav
--------------------------------------------------------------------------------
/Blish HUD/Content/audio/tab-swap-2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/audio/tab-swap-2.wav
--------------------------------------------------------------------------------
/Blish HUD/Content/audio/tab-swap-3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/audio/tab-swap-3.wav
--------------------------------------------------------------------------------
/Blish HUD/Content/audio/tab-swap-4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/audio/tab-swap-4.wav
--------------------------------------------------------------------------------
/Blish HUD/Content/audio/tab-swap-5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/audio/tab-swap-5.wav
--------------------------------------------------------------------------------
/Blish HUD/Content/audio/window-close.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/audio/window-close.wav
--------------------------------------------------------------------------------
/Blish HUD/Content/common/button-states.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/common/button-states.jpg
--------------------------------------------------------------------------------
/Blish HUD/Content/common/error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/common/error.png
--------------------------------------------------------------------------------
/Blish HUD/Content/common/menomonia-bold-12.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/common/menomonia-bold-12.bmp
--------------------------------------------------------------------------------
/Blish HUD/Content/common/menomonia-regular-12.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/common/menomonia-regular-12.bmp
--------------------------------------------------------------------------------
/Blish HUD/Content/common/menomonia.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/common/menomonia.ttf
--------------------------------------------------------------------------------
/Blish HUD/Content/effects/alphamask.fx:
--------------------------------------------------------------------------------
1 | #if OPENGL
2 | #define SV_POSITION POSITION
3 | #define VS_SHADERMODEL vs_2_0
4 | #define PS_SHADERMODEL ps_2_0
5 | #else
6 | #define VS_SHADERMODEL vs_4_0_level_9_1
7 | #define PS_SHADERMODEL ps_4_0_level_9_1
8 | #endif
9 |
10 | sampler s0 = sampler_state
11 | {
12 | AddressU = Clamp;
13 | AddressV = Clamp;
14 | };
15 |
16 | Texture2D Mask;
17 | sampler MaskSample
18 | {
19 | Texture = (Mask);
20 | AddressU = Clamp;
21 | AddressV = Clamp;
22 | };
23 |
24 | float4 PixelShaderFunction(float4 Position : SV_POSITION, float4 Color : COLOR0, float2 TexCoords : TEXCOORD0) : COLOR0
25 | {
26 | float4 tex = tex2D(s0, TexCoords);
27 | float4 bitMask = tex2D(MaskSample, TexCoords);
28 |
29 | float howSolid = (bitMask.r + bitMask.g + bitMask.b) / 3;
30 |
31 |
32 | //return tex;
33 | return float4(tex.r, tex.g, tex.b, howSolid * tex.a);
34 | }
35 |
36 | technique
37 | {
38 | pass
39 | {
40 | PixelShader = compile PS_SHADERMODEL PixelShaderFunction();
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/Blish HUD/Content/effects/distancedissolve.fx:
--------------------------------------------------------------------------------
1 | #if OPENGL
2 | #define SV_POSITION POSITION
3 | #define VS_SHADERMODEL vs_3_0
4 | #define PS_SHADERMODEL ps_3_0
5 | #else
6 | #define VS_SHADERMODEL vs_4_0_level_9_1
7 | #define PS_SHADERMODEL ps_4_0_level_9_1
8 | #endif
9 |
10 | matrix WorldViewProjection;
11 |
12 | sampler s0 = sampler_state
13 | {
14 | AddressU = Clamp;
15 | AddressV = Clamp;
16 | };
17 |
18 | Texture2D Mask;
19 | sampler MaskSample
20 | {
21 | Texture = (Mask);
22 | AddressU = Clamp;
23 | AddressV = Clamp;
24 | };
25 |
26 | float Distance;
27 |
28 | struct VertexShaderInput
29 | {
30 | float4 Position : POSITION0;
31 | float4 Color : COLOR0;
32 | };
33 |
34 | struct VertexShaderOutput
35 | {
36 | float4 Position : SV_POSITION;
37 | float4 Color : COLOR0;
38 | };
39 |
40 | VertexShaderOutput MainVS(in VertexShaderInput input)
41 | {
42 | VertexShaderOutput output = (VertexShaderOutput)0;
43 |
44 | output.Position = mul(input.Position, WorldViewProjection);
45 | output.Color = input.Color;
46 |
47 | return output;
48 | }
49 |
50 | float4 MainPS(VertexShaderOutput input) : COLOR
51 | {
52 | return input.Color;
53 | }
54 |
55 | technique dissolve
56 | {
57 | pass P0
58 | {
59 | VertexShader = compile VS_SHADERMODEL MainVS();
60 | PixelShader = compile PS_SHADERMODEL MainPS();
61 | }
62 | };
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/ExportedFont.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/ExportedFont.tga
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/FontData.dat:
--------------------------------------------------------------------------------
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 |
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia-8-regular_0.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia-8-regular_0.tga
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-11-bold_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-11-bold_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-11-italic_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-11-italic_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-11-regular_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-11-regular_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-12-bold_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-12-bold_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-12-italic_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-12-italic_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-12-regular_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-12-regular_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-14-bold_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-14-bold_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-14-italic_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-14-italic_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-14-regular_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-14-regular_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-16-bold_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-16-bold_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-16-italic_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-16-italic_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-16-regular_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-16-regular_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-18-bold_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-18-bold_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-18-italic_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-18-italic_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-18-regular_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-18-regular_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-20-bold_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-20-bold_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-20-regular_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-20-regular_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-22-bold_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-22-bold_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-22-regular_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-22-regular_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-24-bold_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-24-bold_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-24-bold_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-24-bold_1.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-24-regular_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-24-regular_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-32-regular_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-32-regular_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-32-regular_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-32-regular_1.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-34-regular_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-34-regular_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-34-regular_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-34-regular_1.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-36-bold_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-36-bold_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-36-bold_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-36-bold_1.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-36-regular_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-36-regular_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-36-regular_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-36-regular_1.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-8-bold_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-8-bold_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-8-italic_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-8-italic_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/menomonia/menomonia-8-regular_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/menomonia/menomonia-8-regular_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/newkrytan/newkrytan-12-regular_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/newkrytan/newkrytan-12-regular_0.png
--------------------------------------------------------------------------------
/Blish HUD/Content/fonts/newkrytan/newkrytan-12-regular_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/blish-hud/Blish-HUD/3df7def3293dc73038809fd2c049abcd58eedbe7/Blish HUD/Content/fonts/newkrytan/newkrytan-12-regular_1.png
--------------------------------------------------------------------------------
/Blish HUD/Controls/Extern/HardwareInput.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.InteropServices;
2 |
3 | namespace Blish_HUD.Controls.Extern
4 | {
5 | [StructLayout(LayoutKind.Sequential)]
6 | internal struct HardwareInput
7 | {
8 | internal int uMsg;
9 | internal short wParamL;
10 | internal short wParamH;
11 | }
12 | }
--------------------------------------------------------------------------------
/Blish HUD/Controls/Extern/Input.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.InteropServices;
2 |
3 | namespace Blish_HUD.Controls.Extern
4 | {
5 | [StructLayout(LayoutKind.Sequential)]
6 | internal struct Input
7 | {
8 | internal InputType type;
9 | internal InputUnion U;
10 | internal static int Size => Marshal.SizeOf(typeof(Input));
11 | }
12 | }
--------------------------------------------------------------------------------
/Blish HUD/Controls/Extern/InputType.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.Controls.Extern
2 | {
3 | internal enum InputType : uint
4 | {
5 | MOUSE = 0,
6 | KEYBOARD = 1,
7 | HARDWARE = 2
8 | }
9 | }
--------------------------------------------------------------------------------
/Blish HUD/Controls/Extern/InputUnion.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.InteropServices;
2 |
3 | namespace Blish_HUD.Controls.Extern
4 | {
5 | [StructLayout(LayoutKind.Explicit)]
6 | internal struct InputUnion
7 | {
8 | [FieldOffset(0)]
9 | internal MouseInput mi;
10 | [FieldOffset(0)]
11 | internal KeybdInput ki;
12 | [FieldOffset(0)]
13 | internal HardwareInput hi;
14 | }
15 | }
--------------------------------------------------------------------------------
/Blish HUD/Controls/Extern/KeyEventF.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Blish_HUD.Controls.Extern
4 | {
5 | [Flags]
6 | internal enum KeyEventF : uint
7 | {
8 | EXTENDEDKEY = 0x0001,
9 | KEYUP = 0x0002,
10 | SCANCODE = 0x0008,
11 | UNICODE = 0x0004
12 | }
13 | }
--------------------------------------------------------------------------------
/Blish HUD/Controls/Extern/KeybdInput.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.InteropServices;
3 |
4 | namespace Blish_HUD.Controls.Extern
5 | {
6 | [StructLayout(LayoutKind.Sequential)]
7 | internal struct KeybdInput
8 | {
9 | internal VirtualKeyShort wVk;
10 | internal ScanCodeShort wScan;
11 | internal KeyEventF dwFlags;
12 | internal int time;
13 | internal UIntPtr dwExtraInfo;
14 | }
15 | }
--------------------------------------------------------------------------------
/Blish HUD/Controls/Extern/MouseEventF.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Blish_HUD.Controls.Extern
4 | {
5 | [Flags]
6 | internal enum MouseEventF : uint
7 | {
8 | ABSOLUTE = 0x8000,
9 | HWHEEL = 0x01000,
10 | MOVE = 0x0001,
11 | MOVE_NOCOALESCE = 0x2000,
12 | LEFTDOWN = 0x0002,
13 | LEFTUP = 0x0004,
14 | RIGHTDOWN = 0x0008,
15 | RIGHTUP = 0x0010,
16 | MIDDLEDOWN = 0x0020,
17 | MIDDLEUP = 0x0040,
18 | VIRTUALDESK = 0x4000,
19 | WHEEL = 0x0800,
20 | XDOWN = 0x0080,
21 | XUP = 0x0100
22 | }
23 | }
--------------------------------------------------------------------------------
/Blish HUD/Controls/Extern/MouseInput.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.InteropServices;
3 |
4 | namespace Blish_HUD.Controls.Extern
5 | {
6 | [StructLayout(LayoutKind.Sequential)]
7 | internal struct MouseInput
8 | {
9 | internal int dx;
10 | internal int dy;
11 | internal int mouseData;
12 | internal MouseEventF dwFlags;
13 | internal uint time;
14 | internal UIntPtr dwExtraInfo;
15 | }
16 | }
--------------------------------------------------------------------------------
/Blish HUD/Controls/IMenuItem.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace Blish_HUD.Controls {
5 |
6 | public enum MenuItemType {
7 | Root,
8 | Item
9 | }
10 |
11 | public interface IMenuItem {
12 |
13 | event EventHandler ItemSelected;
14 |
15 | int MenuItemHeight { get; set; }
16 |
17 | bool Selected { get; }
18 |
19 | MenuItem SelectedMenuItem { get; }
20 |
21 | bool ShouldShift { get; set; }
22 |
23 | void Select();
24 |
25 | void Select(MenuItem menuItem);
26 |
27 | void Select(MenuItem menuItem, List itemPath);
28 |
29 | void Deselect();
30 |
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/Intern/GuildWarsControls.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.Controls.Intern
2 | {
3 | public enum GuildWarsControls
4 | {
5 | None,
6 | SwapWeapons,
7 | WeaponSkill1,
8 | WeaponSkill2,
9 | WeaponSkill3,
10 | WeaponSkill4,
11 | WeaponSkill5,
12 | HealingSkill,
13 | UtilitySkill1,
14 | UtilitySkill2,
15 | UtilitySkill3,
16 | EliteSkill,
17 | ProfessionSkill1,
18 | ProfessionSkill2,
19 | ProfessionSkill3,
20 | ProfessionSkill4,
21 | ProfessionSkill5,
22 | SpecialAction
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/LoadingSpinner.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Xna.Framework;
2 | using Microsoft.Xna.Framework.Graphics;
3 |
4 | namespace Blish_HUD.Controls {
5 | public class LoadingSpinner : Control {
6 |
7 | private const int DRAWLENGTH = 64;
8 |
9 | public LoadingSpinner() {
10 | this.Size = new Point(DRAWLENGTH, DRAWLENGTH);
11 | }
12 |
13 | protected override void Paint(SpriteBatch spriteBatch, Rectangle bounds) {
14 | LoadingSpinnerUtil.DrawLoadingSpinner(this, spriteBatch, bounds);
15 | }
16 |
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/NullControl.cs:
--------------------------------------------------------------------------------
1 | using System.ServiceModel;
2 | using Microsoft.Xna.Framework;
3 | using Microsoft.Xna.Framework.Graphics;
4 |
5 | namespace Blish_HUD.Controls {
6 |
7 | ///
8 | /// Used as a proxy for caching utilities. This will not render anything. If placed inside of a rendered container, an exception will be thrown.
9 | ///
10 | internal class NullControl : Control {
11 |
12 | protected override void Paint(SpriteBatch spriteBatch, Rectangle bounds) {
13 | throw new ActionNotSupportedException($"{nameof(NullControl)} should never be painted! Do not parent this control to a container!");
14 | }
15 |
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/Resources/Checkable.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using MonoGame.Extended.TextureAtlases;
3 |
4 | namespace Blish_HUD.Controls.Resources {
5 | public static class Checkable {
6 |
7 | public static readonly IReadOnlyList TextureRegionsCheckbox = new List(new[] {
8 | Control.TextureAtlasControl.GetRegion("checkbox/cb-unchecked"),
9 | Control.TextureAtlasControl.GetRegion("checkbox/cb-unchecked-active"),
10 | Control.TextureAtlasControl.GetRegion("checkbox/cb-unchecked-disabled"),
11 | Control.TextureAtlasControl.GetRegion("checkbox/cb-checked"),
12 | Control.TextureAtlasControl.GetRegion("checkbox/cb-checked-active"),
13 | Control.TextureAtlasControl.GetRegion("checkbox/cb-checked-disabled"),
14 | });
15 |
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/Resources/Control.cs:
--------------------------------------------------------------------------------
1 | using MonoGame.Extended.TextureAtlases;
2 |
3 | namespace Blish_HUD.Controls.Resources {
4 | public static class Control {
5 |
6 | public static readonly TextureAtlas TextureAtlasControl = GameService.Content.GetTextureAtlas(@"atlas\ui");
7 |
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/Screen.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.Controls {
2 | public class Screen : Container {
3 |
4 | public const int MENUUI_BASEINDEX = 30; // Skillbox
5 | public const int TOOLTIP3D_BASEINDEX = 40;
6 | public const int WINDOW_BASEZINDEX = 41;
7 | public const int TOOLWINDOW_BASEZINDEX = 45;
8 | public const int CONTEXTMENU_BASEINDEX = int.MaxValue - 64;
9 | public const int DROPDOWN_BASEINDEX = int.MaxValue - 64;
10 | public const int TOOLTIP_BASEZINDEX = int.MaxValue - 32;
11 |
12 | protected override CaptureType CapturesInput() {
13 | return CaptureType.None;
14 | }
15 |
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/WindowTab.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Blish_HUD.Content;
3 |
4 | namespace Blish_HUD.Controls {
5 |
6 | [Obsolete("This control will be removed in the future. Use TabbedWindow2 and Tab class instead.")]
7 | public class WindowTab {
8 | public string Name { get; set; }
9 | public AsyncTexture2D Icon { get; set; }
10 | public int Priority { get; set; }
11 |
12 | public WindowTab(string name, AsyncTexture2D icon) : this(name, icon, name.GetHashCode()) { /* NOOP */ }
13 |
14 | public WindowTab(string name, AsyncTexture2D icon, int priority) {
15 | this.Name = name;
16 | this.Icon = icon;
17 | this.Priority = priority;
18 | }
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/_Events/ChildChangedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.ComponentModel;
3 |
4 | namespace Blish_HUD.Controls {
5 |
6 | public class ChildChangedEventArgs : CancelEventArgs {
7 | public Control ChangedChild { get; }
8 | public bool Added { get; }
9 | public IEnumerable ResultingChildren { get; }
10 |
11 | public ChildChangedEventArgs(Container sender, Control changedChild, bool adding, IEnumerable resultingChildren) {
12 | this.ChangedChild = changedChild;
13 | this.Added = adding;
14 | this.ResultingChildren = resultingChildren;
15 | }
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/_Events/ControlActivatedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Blish_HUD.Controls {
4 |
5 | public class ControlActivatedEventArgs : EventArgs {
6 | public Control ActivatedControl { get; }
7 |
8 | public ControlActivatedEventArgs(Control activatedControl) {
9 | this.ActivatedControl = activatedControl;
10 | }
11 |
12 | }
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/_Events/MovedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Microsoft.Xna.Framework;
3 |
4 | namespace Blish_HUD.Controls {
5 |
6 | public class MovedEventArgs : EventArgs {
7 | public Point PreviousLocation { get; }
8 | public Point CurrentLocation { get; }
9 |
10 | public MovedEventArgs(Point previousLocation, Point currentLocation) {
11 | this.PreviousLocation = previousLocation;
12 | this.CurrentLocation = currentLocation;
13 | }
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/_Events/RegionChangedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Microsoft.Xna.Framework;
3 |
4 | namespace Blish_HUD.Controls {
5 |
6 | public class RegionChangedEventArgs:EventArgs {
7 | public Rectangle PreviousRegion { get; }
8 | public Rectangle CurrentRegion { get; }
9 |
10 | public RegionChangedEventArgs(Rectangle previousRegion, Rectangle currentRegion) {
11 | this.PreviousRegion = previousRegion;
12 | this.CurrentRegion = currentRegion;
13 | }
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/_Events/ResizedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Microsoft.Xna.Framework;
3 |
4 | namespace Blish_HUD.Controls {
5 |
6 | public class ResizedEventArgs : EventArgs {
7 | public Point PreviousSize { get; }
8 | public Point CurrentSize { get; }
9 |
10 | public ResizedEventArgs(Point previousSize, Point currentSize) {
11 | this.PreviousSize = previousSize;
12 | this.CurrentSize = currentSize;
13 | }
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/_Events/ValueChangedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Blish_HUD.Controls {
4 |
5 | public class ValueChangedEventArgs : EventArgs {
6 | public string PreviousValue { get; }
7 | public string CurrentValue { get; }
8 |
9 | public ValueChangedEventArgs(string previousValue, string currentValue) {
10 | this.PreviousValue = previousValue;
11 | this.CurrentValue = currentValue;
12 | }
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/_Types/AccordionState.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.Controls {
2 | public enum AccordionState {
3 | Expanded,
4 | Collapsed
5 | }
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/_Types/DesignStandard.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using Microsoft.Xna.Framework;
7 |
8 | namespace Blish_HUD.Controls {
9 | public struct DesignStandard {
10 |
11 | public Point Size { get; }
12 |
13 | public Point PanelOffset { get; }
14 |
15 | public Point ControlOffset { get; }
16 |
17 | public DesignStandard(Point size, Point panelOffset, Point controlOffset) {
18 | this.Size = size;
19 | this.PanelOffset = panelOffset;
20 | this.ControlOffset = controlOffset;
21 | }
22 |
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/_Types/HorizontalAlignment.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace Blish_HUD.Controls {
8 | public enum HorizontalAlignment {
9 | Left,
10 | Center,
11 | Right
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/_Types/IAccordion.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace Blish_HUD.Controls {
8 | public interface IAccordion {
9 |
10 | bool Collapsed { get; set; }
11 |
12 | bool ToggleAccordionState();
13 |
14 | void Expand();
15 |
16 | void Collapse();
17 |
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/_Types/ICheckable.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Blish_HUD.Controls {
4 |
5 | public static class CheckableReference {
6 |
7 |
8 |
9 | }
10 |
11 | public interface ICheckable {
12 |
13 | event EventHandler CheckedChanged;
14 |
15 | bool Checked { get; set; }
16 |
17 | }
18 |
19 | public class CheckChangedEvent:EventArgs {
20 | public bool Checked { get; }
21 |
22 | public CheckChangedEvent(bool @checked) {
23 | this.Checked = @checked;
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/_Types/ITabOwner.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.Controls {
2 | ///
3 | /// Implemented by controls which can have s.
4 | ///
5 | public interface ITabOwner {
6 |
7 | ///
8 | /// A collection of controls, in the order they will be displayed in the window.
9 | ///
10 | TabCollection Tabs { get; }
11 |
12 | ///
13 | /// The actively selected tab.
14 | ///
15 | Tab SelectedTab { get; set; }
16 |
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/_Types/IViewContainer.cs:
--------------------------------------------------------------------------------
1 | using Blish_HUD.Graphics.UI;
2 |
3 | namespace Blish_HUD.Controls {
4 | public interface IViewContainer {
5 |
6 | ///
7 | /// The current state of the view.
8 | ///
9 | ViewState ViewState { get; }
10 |
11 | ///
12 | /// The this container is currently displaying.
13 | ///
14 | IView CurrentView { get; }
15 |
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/_Types/LayoutState.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.Controls {
2 |
3 | internal enum LayoutState {
4 |
5 | Ready,
6 |
7 | SkipDraw,
8 |
9 | Invalidated
10 |
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/_Types/SizingMode.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.Controls {
2 | public enum SizingMode {
3 | ///
4 | /// The size is specified manually.
5 | ///
6 | Standard,
7 |
8 | ///
9 | /// The size will update automatically to
10 | /// fit the children within it.
11 | ///
12 | AutoSize,
13 |
14 | ///
15 | /// The size will update automatically to
16 | /// fill the remainder of the space.
17 | ///
18 | Fill
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/_Types/VerticalAlignment.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace Blish_HUD.Controls {
8 | public enum VerticalAlignment {
9 | Top,
10 | Middle,
11 | Bottom
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Blish HUD/Controls/_Types/ViewState.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.Controls {
2 | public enum ViewState {
3 | None,
4 | Loading,
5 | Loaded
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Blish HUD/DebugHelper/Models/KeyboardEventMessage.cs:
--------------------------------------------------------------------------------
1 | using ProtoBuf;
2 |
3 | namespace Blish_HUD.DebugHelper.Models {
4 |
5 | [ProtoContract]
6 | public class KeyboardEventMessage : Message {
7 |
8 | [ProtoMember(101)] public uint EventType { get; set; }
9 |
10 | [ProtoMember(102)] public int Key { get; set; }
11 |
12 | }
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/Blish HUD/DebugHelper/Models/KeyboardResponseMessage.cs:
--------------------------------------------------------------------------------
1 | using ProtoBuf;
2 |
3 | namespace Blish_HUD.DebugHelper.Models {
4 |
5 | [ProtoContract]
6 | public class KeyboardResponseMessage : Message {
7 |
8 | [ProtoMember(101)] public bool IsHandled { get; set; }
9 |
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/Blish HUD/DebugHelper/Models/Message.cs:
--------------------------------------------------------------------------------
1 | using ProtoBuf;
2 |
3 | namespace Blish_HUD.DebugHelper.Models {
4 |
5 | [ProtoContract]
6 | [ProtoInclude(1, typeof(PingMessage))]
7 | [ProtoInclude(2, typeof(MouseEventMessage))]
8 | [ProtoInclude(3, typeof(MouseResponseMessage))]
9 | [ProtoInclude(4, typeof(KeyboardEventMessage))]
10 | [ProtoInclude(5, typeof(KeyboardResponseMessage))]
11 | public abstract class Message {
12 |
13 | [ProtoMember(11)] public ulong Id { get; set; }
14 |
15 | }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/Blish HUD/DebugHelper/Models/MouseEventMessage.cs:
--------------------------------------------------------------------------------
1 | using ProtoBuf;
2 |
3 | namespace Blish_HUD.DebugHelper.Models {
4 |
5 | [ProtoContract]
6 | public class MouseEventMessage : Message {
7 |
8 | [ProtoMember(101)] public int EventType { get; set; }
9 |
10 | [ProtoMember(102)] public int PointX { get; set; }
11 |
12 | [ProtoMember(103)] public int PointY { get; set; }
13 |
14 | [ProtoMember(104)] public int MouseData { get; set; }
15 |
16 | [ProtoMember(105)] public int Flags { get; set; }
17 |
18 | [ProtoMember(106)] public int Time { get; set; }
19 |
20 | [ProtoMember(107)] public long ExtraInfo { get; set; }
21 |
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/Blish HUD/DebugHelper/Models/MouseResponseMessage.cs:
--------------------------------------------------------------------------------
1 | using ProtoBuf;
2 |
3 | namespace Blish_HUD.DebugHelper.Models {
4 |
5 | [ProtoContract]
6 | public class MouseResponseMessage : Message {
7 |
8 | [ProtoMember(101)] public bool IsHandled { get; set; }
9 |
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/Blish HUD/DebugHelper/Models/PingMessage.cs:
--------------------------------------------------------------------------------
1 | using ProtoBuf;
2 |
3 | namespace Blish_HUD.DebugHelper.Models {
4 |
5 | [ProtoContract] public class PingMessage : Message { }
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/Blish HUD/DebugHelper/Native/HookType.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.DebugHelper.Native {
2 |
3 | internal enum HookType {
4 |
5 | WH_KEYBOARD_LL = 13,
6 | WH_MOUSE_LL = 14
7 |
8 | }
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/Blish HUD/DebugHelper/Native/MOUSELLHOOKSTRUCT.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.InteropServices;
2 |
3 | namespace Blish_HUD.DebugHelper.Native {
4 |
5 | [StructLayout(LayoutKind.Sequential)]
6 | internal struct MOUSELLHOOKSTRUCT {
7 |
8 | public POINT pt;
9 | public int mouseData;
10 | public int flags;
11 | public int time;
12 | public long extraInfo;
13 |
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/Blish HUD/DebugHelper/Native/POINT.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.InteropServices;
2 |
3 | namespace Blish_HUD.DebugHelper.Native {
4 |
5 | [StructLayout(LayoutKind.Sequential)]
6 | internal struct POINT {
7 |
8 | public int x;
9 | public int y;
10 |
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/Blish HUD/DebugHelper/Native/User32.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.InteropServices;
3 |
4 | namespace Blish_HUD.DebugHelper.Native {
5 |
6 | internal static class User32 {
7 |
8 | public delegate int HOOKPROC(int nCode, IntPtr wParam, IntPtr lParam);
9 |
10 | [DllImport("user32.dll")] public static extern IntPtr SetWindowsHookEx(HookType idHook, HOOKPROC lpfn, IntPtr hMod, uint dwThreadId);
11 |
12 | [DllImport("user32.dll")] public static extern int CallNextHookEx(HookType idHook, int nCode, IntPtr wParam, IntPtr lParam);
13 |
14 | [DllImport("user32.dll", SetLastError = true)]
15 | public static extern bool UnhookWindowsHookEx(IntPtr hook);
16 |
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/Blish HUD/DebugHelper/Services/IDebugService.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.DebugHelper.Services {
2 |
3 | internal interface IDebugService {
4 |
5 | void Start();
6 |
7 | void Stop();
8 |
9 | }
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/Blish HUD/DebugHelper/Services/IMessageService.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Blish_HUD.DebugHelper.Models;
3 |
4 | namespace Blish_HUD.DebugHelper.Services {
5 |
6 | public interface IMessageService {
7 |
8 | void Start();
9 |
10 | void Stop();
11 |
12 | void Register(Action callback) where T : Message;
13 |
14 | void Unregister() where T : Message;
15 |
16 | void Send(Message message);
17 |
18 | T SendAndWait(Message message) where T : Message;
19 |
20 | T SendAndWait(Message message, TimeSpan timeout) where T : Message;
21 |
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/Blish HUD/DebugHelper/Services/ProcessService.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Diagnostics;
3 |
4 | namespace Blish_HUD.DebugHelper.Services {
5 |
6 | internal class ProcessService : IDebugService {
7 |
8 | private readonly Process process;
9 |
10 | public ProcessService(int blishHudProcessId) {
11 | process = Process.GetProcessById(blishHudProcessId);
12 | process.EnableRaisingEvents = true;
13 | }
14 |
15 | public void Start() { process.Exited += Process_Exited; }
16 |
17 | public void Stop() { process.Exited -= Process_Exited; }
18 |
19 | private void Process_Exited(object sender, EventArgs e) { Environment.Exit(0); }
20 |
21 | }
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/Blish HUD/Entities/ICamera.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Xna.Framework;
2 |
3 | namespace Blish_HUD.Entities {
4 | public interface ICamera {
5 |
6 | ///
7 | /// The camera's position.
8 | ///
9 | Vector3 Position { get; }
10 |
11 | ///
12 | /// The normalized vector pointing forward out of the camera.
13 | ///
14 | Vector3 Forward { get; }
15 |
16 | ///
17 | /// The angle describing the camera's field of view.
18 | ///
19 | float FieldOfView { get; }
20 |
21 | ///
22 | /// The closest distance that entities are rendered.
23 | ///
24 | float NearPlaneRenderDistance { get; }
25 |
26 | ///
27 | /// The farthest distance that entities are rendered.
28 | ///
29 | float FarPlaneRenderDistance { get; }
30 |
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/Blish HUD/Entities/IEntity.cs:
--------------------------------------------------------------------------------
1 | using Blish_HUD.Graphics;
2 |
3 | namespace Blish_HUD.Entities {
4 | public interface IEntity : IUpdatable, IRenderable3D {
5 |
6 | ///
7 | /// Used to order the entities when drawing (to allow for proper blending).
8 | /// In most instances, this should be the distance from the squared.
9 | /// See example below. Vector3.DistanceSquared(entity.Position, cameraPosition)
10 | ///
11 | float DrawOrder { get; }
12 |
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Blish HUD/Entities/IWorld.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Blish_HUD.Entities {
4 | public interface IWorld {
5 |
6 | IEnumerable Entities { get; }
7 |
8 | void AddEntity(IEntity entity);
9 |
10 | void AddEntities(IEnumerable entities);
11 |
12 | void RemoveEntity(IEntity entity);
13 |
14 | void RemoveEntities(IEnumerable entities);
15 |
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Blish HUD/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/AnimationService.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using Microsoft.Xna.Framework;
5 |
6 | namespace Blish_HUD {
7 | public class AnimationService:GameService {
8 |
9 | public Glide.Tweener Tweener { get; private set; }
10 |
11 | protected override void Initialize() {
12 | Glide.Tween.TweenerImpl.SetLerper(typeof(Point));
13 |
14 | this.Tweener = new Glide.Tweener();
15 | }
16 |
17 | protected override void Load() { /* NOOP */ }
18 |
19 | protected override void Unload() { /* NOOP */ }
20 |
21 | protected override void Update(GameTime gameTime) {
22 | this.Tweener.Update((float)gameTime.ElapsedGameTime.TotalSeconds);
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/AsyncUserToken.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.ArcDps {
2 |
3 | public sealed class AsyncUserToken {
4 |
5 | public int? MessageSize { get; set; }
6 | public int DataStartOffset { get; set; }
7 | public int NextReceiveOffset { get; set; }
8 |
9 | }
10 |
11 | }
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/Extensions/ActivationExtensions.cs:
--------------------------------------------------------------------------------
1 | using static Blish_HUD.ArcDps.ArcDpsEnums;
2 | namespace Blish_HUD.ArcDps {
3 | public static class ActivationExtensions {
4 | public static bool StartCasting(this Activation activation) {
5 | return activation == Activation.Normal ||
6 | activation == Activation.Quickness;
7 | }
8 |
9 | public static bool EndCasting(this Activation activation) {
10 | return activation == Activation.CancelFire ||
11 | activation == Activation.Reset ||
12 | activation == Activation.CancelCancel;
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/Extensions/ConditionResultExtensions.cs:
--------------------------------------------------------------------------------
1 | using static Blish_HUD.ArcDps.ArcDpsEnums;
2 | namespace Blish_HUD.ArcDps {
3 | public static class ConditionResultExtensions {
4 | public static bool IsHit(this ConditionResult result) {
5 | return result == ConditionResult.ExpectedToHit;
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/Extensions/PhysicalResultExtensions.cs:
--------------------------------------------------------------------------------
1 | using static Blish_HUD.ArcDps.ArcDpsEnums;
2 | namespace Blish_HUD.ArcDps {
3 | public static class PhysicalResultExtensions {
4 | public static bool IsHit(this PhysicalResult result) {
5 | return result == PhysicalResult.Normal ||
6 | result == PhysicalResult.Crit ||
7 | result == PhysicalResult.Glance ||
8 | result == PhysicalResult.KillingBlow;
9 | //Downed and Interrupt omitted for now due to double procing mechanics || result == ParseEnum.Result.Downed || result == ParseEnum.Result.Interrupt;
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/Extensions/SpawnExtensions.cs:
--------------------------------------------------------------------------------
1 | using static Blish_HUD.ArcDps.ArcDpsEnums;
2 | namespace Blish_HUD.ArcDps {
3 | public static class SpawnExtensions {
4 | public static bool IsSpawn(this StateChange state) {
5 | return state == StateChange.None ||
6 | state == StateChange.Position ||
7 | state == StateChange.Velocity ||
8 | state == StateChange.Rotation ||
9 | state == StateChange.MaxHealthUpdate ||
10 | state == StateChange.Spawn ||
11 | state == StateChange.TeamChange;
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/SocketListener/MessageData.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.ArcDps {
2 |
3 | public sealed class MessageData {
4 |
5 | public byte[] Message;
6 | public AsyncUserToken Token;
7 |
8 | }
9 |
10 | }
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/SocketListener/RawCombatEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Blish_HUD.ArcDps.Models;
3 |
4 | namespace Blish_HUD.ArcDps {
5 |
6 | public class RawCombatEventArgs : EventArgs {
7 |
8 | public enum CombatEventType {
9 |
10 | ///
11 | /// ArcDps calculations and displayed estimates.
12 | ///
13 | Area,
14 | ///
15 | /// Exact and sole recording of the player character bound to the signed-in account of this Guild Wars 2 instance.
16 | ///
17 | ///
18 | /// Similar to the in-game combat log in the chat window.
19 | ///
20 | Local
21 |
22 | }
23 |
24 | public CombatEventType EventType { get; }
25 |
26 | public CombatEvent CombatEvent { get; }
27 |
28 | public RawCombatEventArgs(CombatEvent combatEvent, CombatEventType eventType) {
29 | this.CombatEvent = combatEvent;
30 | this.EventType = eventType;
31 | }
32 |
33 | }
34 |
35 | }
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/SocketListener/SocketState.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.ArcDps {
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Net.Sockets;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 |
9 | public class SocketState {
10 | // Size of receive buffer.
11 | public const int BUFFER_SIZE = 4096;
12 | // Client socket.
13 | public Socket Socket = null;
14 | // Receive buffer.
15 | public byte[] Buffer = new byte[BUFFER_SIZE];
16 | public AsyncUserToken Token;
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/V2/ArcDpsBridgeVersion.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.GameServices.ArcDps {
2 | public enum ArcDpsBridgeVersion {
3 | V1 = 0,
4 | V2 = 1,
5 | None = 100,
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/V2/IArcDpsClient.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Net;
5 | using System.Net.Sockets;
6 | using System.Text;
7 | using System.Threading;
8 | using System.Threading.Tasks;
9 |
10 | namespace Blish_HUD.GameServices.ArcDps.V2 {
11 | internal interface IArcDpsClient : IDisposable {
12 | TcpClient Client { get; }
13 |
14 | event EventHandler Error;
15 |
16 | void Disconnect();
17 |
18 | void Initialize(IPEndPoint endpoint, CancellationToken ct);
19 |
20 | bool IsMessageTypeAvailable(MessageType type);
21 |
22 | void RegisterMessageTypeListener(int type, Func listener) where T : struct;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/V2/MessageType.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace Blish_HUD.GameServices.ArcDps.V2 {
8 | public enum MessageType {
9 | // ArcDPS
10 | ImGui = 1,
11 | CombatEventArea = 2,
12 | CombatEventLocal = 3,
13 | // Unofficial Extras
14 | UserInfo = 4,
15 | ChatMessage = 5,
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/V2/Models/Activation.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.GameServices.ArcDps.V2.Models {
2 | public enum Activation : byte {
3 | None = 0,
4 | Normal = 1,
5 | Quickness = 2,
6 | CancelFire = 3,
7 | CancelCancel = 4,
8 | Reset = 5,
9 | Unknown = 6,
10 | }
11 | }
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/V2/Models/Affinity.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.GameServices.ArcDps.V2.Models {
2 | public enum Affinity : byte {
3 | Friend = 0,
4 | Foe = 1,
5 | Unknown = 2,
6 | }
7 | }
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/V2/Models/BuffRemove.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.GameServices.ArcDps.V2.Models {
2 | public enum BuffRemove : byte {
3 | None = 0,
4 | All = 1,
5 | Single = 2,
6 | Manual = 3,
7 | Unknown = 4,
8 | }
9 | }
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/V2/Models/CombatCallback.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.GameServices.ArcDps.V2.Models {
2 | ///
3 | /// A combat event, like arcdps exposes it to its plugins
4 | ///
5 | public struct CombatCallback {
6 | ///
7 | /// The event data.
8 | ///
9 | public CombatEvent Event { get; set; }
10 |
11 | ///
12 | /// The agent or entity that caused this event.
13 | ///
14 | public Agent Source { get; set; }
15 |
16 | ///
17 | /// The agent or entity that this event is happening to.
18 | ///
19 | public Agent Destination { get; set; }
20 |
21 | ///
22 | /// The relevant skill name.
23 | ///
24 | public string SkillName { get; set; }
25 |
26 | ///
27 | /// Unique identifier of this event.
28 | ///
29 | public ulong Id { get; set; }
30 |
31 | ///
32 | /// Format of the data structure. Static unless ArcDps changes the format.
33 | ///
34 | ///
35 | /// Used to distinguish different versions of the format.
36 | ///
37 | public ulong Revision { get; set; }
38 | }
39 | }
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/V2/Models/ConditionResult.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.GameServices.ArcDps.V2.Models {
2 | public enum ConditionResult : byte {
3 | ExpectedToHit = 0,
4 | InvulnerableByBuff = 1,
5 | InvulnerableByPlayerSkill1 = 2,
6 | InvulnerableByPlayerSkill2 = 3,
7 | InvulnerableByPlayerSkill3 = 4,
8 | Unknown = 5,
9 | }
10 | }
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/V2/Models/ImgUiCallback.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.GameServices.ArcDps.V2.Models {
2 | public struct ImGuiCallback {
3 | public uint NotCharacterSelectOrLoading { get; set; }
4 | }
5 | }
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/V2/Models/PhysicalResult.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.GameServices.ArcDps.V2.Models {
2 | public enum PhysicalResult : byte {
3 | Normal = 0,
4 | Critical = 1,
5 | Glance = 2,
6 | Blocked = 3,
7 | Evaded = 4,
8 | Interrupted = 5,
9 | Absorbed = 6,
10 | Blinded = 7,
11 | KillingBlow = 8,
12 | Downed = 9,
13 | BreakbarDamage = 10,
14 | Activation = 11,
15 | Unknown = 12,
16 | }
17 | }
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/V2/Models/Unofficial Extras/ChannelType.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.GameServices.ArcDps.Models.UnofficialExtras {
2 | public enum ChannelType : byte {
3 | Party = 0,
4 | Squad = 1,
5 | _Reserved = 2,
6 | Invalid = 3,
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/V2/Models/Unofficial Extras/ChatMessageInfo.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Blish_HUD.GameServices.ArcDps.Models.UnofficialExtras {
4 | public struct ChatMessageInfo {
5 | public uint ChannelId { get; set; }
6 |
7 | public ChannelType ChannelType { get; set; }
8 |
9 | public byte Subgroup { get; set; }
10 |
11 | public bool IsBroadcast { get; set; }
12 |
13 | public DateTime TimeStamp { get; set; }
14 |
15 | public string AccountName { get; set; }
16 |
17 | public string CharacterName { get; set; }
18 |
19 | public string Text { get; set; }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/V2/Models/Unofficial Extras/Language.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.GameServices.ArcDps.Models.UnofficialExtras {
2 | public enum Language {
3 | English = 0,
4 | French = 2,
5 | German = 3,
6 | Spanish = 4,
7 | Chinese = 5,
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/V2/Models/Unofficial Extras/UserInfo.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.GameServices.ArcDps.Models.UnofficialExtras {
2 | public struct UserInfo {
3 | public string AccountName { get; set; }
4 |
5 | public ulong JoinTime { get; set; }
6 |
7 | public UserRole Role { get; set; }
8 |
9 | public byte Subgroup { get; set; }
10 |
11 | public bool ReadyStatus { get; set; }
12 |
13 | public byte _unused1 { get; set; }
14 |
15 | public uint _unused2 { get; set; }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/V2/Models/Unofficial Extras/UserRole.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.GameServices.ArcDps.Models.UnofficialExtras {
2 | public enum UserRole : byte {
3 | SquadLeader = 0,
4 | Lieutenant = 1,
5 | Member = 2,
6 | Invited = 3,
7 | Applied = 4,
8 | None = 5,
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/V2/Processors/CombatEventProcessor.cs:
--------------------------------------------------------------------------------
1 | using Blish_HUD.GameServices.ArcDps.V2.Extensions;
2 | using Blish_HUD.GameServices.ArcDps.V2.Models;
3 | using SharpDX;
4 | using System;
5 | using System.IO;
6 |
7 | namespace Blish_HUD.GameServices.ArcDps.V2.Processors {
8 | internal class CombatEventProcessor : MessageProcessor {
9 | internal override bool TryInternalProcess(byte[] message, out CombatCallback result) {
10 | try {
11 | using var memoryStream = new MemoryStream(message);
12 | using var binaryReader = new BincodeBinaryReader(memoryStream);
13 | result = binaryReader.ParseCombatCallback();
14 | return true;
15 |
16 | } catch (Exception) {
17 | result = default;
18 | return false;
19 | }
20 |
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/V2/Processors/ImGuiProcessor.cs:
--------------------------------------------------------------------------------
1 | using Blish_HUD.GameServices.ArcDps.V2.Models;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading.Tasks;
7 |
8 | namespace Blish_HUD.GameServices.ArcDps.V2.Processors {
9 | internal class ImGuiProcessor : MessageProcessor {
10 | internal override bool TryInternalProcess(byte[] message, out ImGuiCallback result) {
11 |
12 | try {
13 | result = new ImGuiCallback() { NotCharacterSelectOrLoading = message[0] };
14 |
15 | return true;
16 | } catch (Exception) {
17 | result = default;
18 | return false;
19 | }
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/V2/Processors/MessageProcessor.cs:
--------------------------------------------------------------------------------
1 | using System.Threading;
2 |
3 | namespace Blish_HUD.GameServices.ArcDps.V2.Processors {
4 | internal abstract class MessageProcessor {
5 |
6 | public abstract void Process(byte[] message, CancellationToken ct);
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/V2/Processors/MessageProcessor{T}.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Buffers;
3 | using System.Collections.Generic;
4 | using System.Threading;
5 | using System.Threading.Tasks;
6 |
7 | namespace Blish_HUD.GameServices.ArcDps.V2.Processors {
8 | internal abstract class MessageProcessor : MessageProcessor
9 | where T : struct {
10 | private readonly List> listeners = new List>();
11 |
12 | public override void Process(byte[] message, CancellationToken ct) {
13 | if (listeners.Count > 0 && TryInternalProcess(message, out var parsedMessage)) {
14 | Task.Run(async () => await SendToListener(parsedMessage, ct));
15 | }
16 |
17 | }
18 |
19 | private async Task SendToListener(T Message, CancellationToken ct) {
20 | foreach (var listener in listeners) {
21 | ct.ThrowIfCancellationRequested();
22 | await listener.Invoke(Message, ct);
23 | }
24 | }
25 |
26 | internal abstract bool TryInternalProcess(byte[] message, out T result);
27 |
28 | public void RegisterListener(Func listener) {
29 | listeners.Add(listener);
30 | }
31 |
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/V2/Processors/UnofficialExtrasMessageInfoProcessor.cs:
--------------------------------------------------------------------------------
1 | using Blish_HUD.GameServices.ArcDps.Models.UnofficialExtras;
2 | using Blish_HUD.GameServices.ArcDps.V2.Extensions;
3 | using Blish_HUD.GameServices.ArcDps.V2.Models;
4 | using Blish_HUD.GameServices.ArcDps.V2.Processors;
5 | using SharpDX;
6 | using System;
7 | using System.IO;
8 |
9 | namespace Blish_HUD.GameServices.ArcDps.V2 {
10 | internal class UnofficialExtrasMessageInfoProcessor : MessageProcessor {
11 | internal override bool TryInternalProcess(byte[] message, out ChatMessageInfo result) {
12 | try {
13 | using var memoryStream = new MemoryStream(message);
14 | using var binaryReader = new BincodeBinaryReader(memoryStream);
15 | result = binaryReader.ParseChatMessageInfo();
16 | return true;
17 |
18 | } catch (Exception) {
19 | result = default;
20 | return false;
21 | }
22 |
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ArcDps/V2/Processors/UnofficialExtrasUserInfoProcessor.cs:
--------------------------------------------------------------------------------
1 | using Blish_HUD.GameServices.ArcDps.Models.UnofficialExtras;
2 | using Blish_HUD.GameServices.ArcDps.V2.Extensions;
3 | using Blish_HUD.GameServices.ArcDps.V2.Models;
4 | using Blish_HUD.GameServices.ArcDps.V2.Processors;
5 | using SharpDX;
6 | using System;
7 | using System.IO;
8 |
9 | namespace Blish_HUD.GameServices.ArcDps.V2 {
10 | internal class UnofficialExtrasUserInfoProcessor : MessageProcessor {
11 | internal override bool TryInternalProcess(byte[] message, out UserInfo result) {
12 | try {
13 | using var memoryStream = new MemoryStream(message);
14 | using var binaryReader = new BincodeBinaryReader(memoryStream);
15 | result = binaryReader.ParseUserInfo();
16 | return true;
17 |
18 | } catch (Exception) {
19 | result = default;
20 | return false;
21 | }
22 |
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Content/Serialization/SemVerConverter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Newtonsoft.Json;
3 | using Version = SemVer.Version;
4 |
5 | namespace Blish_HUD.Content.Serialization {
6 | public class SemVerConverter : JsonConverter {
7 |
8 | ///
9 | public override void WriteJson(JsonWriter writer, Version value, JsonSerializer serializer) {
10 | writer.WriteValue(value.ToString());
11 | }
12 |
13 | ///
14 | public override Version ReadJson(JsonReader reader, Type objectType, Version existingValue, bool hasExistingValue, JsonSerializer serializer) {
15 | return new SemVer.Version((string)reader.Value, true);
16 | }
17 |
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Contexts/ContextAvailability.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.Contexts {
2 | ///
3 | /// Describes the availability of a 's endpoint after it is called.
4 | ///
5 | public enum ContextAvailability {
6 | ///
7 | /// The value provided by this context is not available.
8 | /// should detail why it
9 | /// is not available (e.g. missing dependency).
10 | ///
11 | Unavailable,
12 |
13 | ///
14 | /// The value provided by this context is not ready or the
15 | /// is not .
16 | ///
17 | NotReady,
18 |
19 | ///
20 | /// The value provided by this context is available.
21 | ///
22 | Available,
23 |
24 | ///
25 | /// The value provided by this context is not available because something failed.
26 | /// should detail what failed.
27 | ///
28 | Failed
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Contexts/ContextState.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.Contexts {
2 |
3 | ///
4 | /// The current state of the .
5 | ///
6 | public enum ContextState {
7 | ///
8 | /// The has not loaded yet.
9 | ///
10 | None,
11 |
12 | ///
13 | /// The is currently loading.
14 | ///
15 | Loading,
16 |
17 | ///
18 | /// The has loaded.
19 | ///
20 | Ready,
21 |
22 | ///
23 | /// The has been unregistered and should no longer be used or referenced.
24 | ///
25 | Expired
26 | }
27 |
28 | }
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Debug/OverlayStrings.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Concurrent;
3 | using System.Collections.Generic;
4 | using Microsoft.Xna.Framework;
5 |
6 | namespace Blish_HUD.Debug {
7 |
8 | public class OverlayStrings {
9 |
10 | public Func this[string key] {
11 | get => _texts[key];
12 | set => _texts[key] = value;
13 | }
14 | public ICollection Keys => _texts.Keys;
15 | public ICollection> Values => _texts.Values;
16 |
17 | private readonly ConcurrentDictionary> _texts = new ConcurrentDictionary>();
18 |
19 | public bool ContainsKey(string key) {
20 | return _texts.ContainsKey(key);
21 | }
22 |
23 | public void Add(string key, Func value) {
24 | _texts.TryAdd(key, value);
25 | }
26 |
27 | public bool TryAdd(string key, Func value) {
28 | return _texts.TryAdd(key, value);
29 | }
30 |
31 | public bool Remove(string key) {
32 | return _texts.TryRemove(key, out _);
33 | }
34 |
35 | }
36 |
37 | }
--------------------------------------------------------------------------------
/Blish HUD/GameServices/GameIntegration/Gw2Instance/Gw2GraphicsApi.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.GameIntegration.Gw2Instance {
2 |
3 | public enum Gw2GraphicsApi {
4 | ///
5 | /// Indicates that the graphics API used could not be detected or that the main game window hasn't been opened yet.
6 | ///
7 | Unknown,
8 | ///
9 | /// Indicates that Guild Wars 2 is running with DirectX 9 enabled.
10 | ///
11 | DX9,
12 |
13 | ///
14 | /// Indicates that Guild Wars 2 is running with DirectX 11 enabled.
15 | ///
16 | DX11
17 | }
18 |
19 | }
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Graphics/DpiMethod.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace Blish_HUD.Graphics {
4 | public enum DpiMethod : int {
5 | [Description("Automatic - Sync With Game")]
6 | SyncWithGame = 0,
7 |
8 | [Description("Enabled - Use Game DPI")]
9 | UseGameDpi = 1,
10 |
11 | [Description("Disabled - Never Scale")]
12 | NoScaling = 2
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Graphics/FramerateMethod.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace Blish_HUD.Graphics {
4 |
5 | public enum FramerateMethod : int {
6 | Custom = -1,
7 | SyncWithGame = 0,
8 | LockedTo30Fps = 1,
9 | LockedTo60Fps = 2,
10 | LockedTo90Fps = 3,
11 | [Description("Match Monitor Refresh Rate")]
12 | Unlimited = 4,
13 | TrueUnlimited = 5,
14 | }
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Graphics/IEffect.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Microsoft.Xna.Framework.Graphics;
3 |
4 | namespace Blish_HUD.Graphics {
5 | public interface IEffect : IDisposable {
6 |
7 | EffectTechnique CurrentTechnique { get; set; }
8 |
9 | EffectParameterCollection Parameters { get; }
10 |
11 | EffectTechniqueCollection Techniques { get; }
12 |
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Graphics/IRenderable.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Xna.Framework.Graphics;
2 |
3 | namespace Blish_HUD.Graphics {
4 | public interface IRenderable {
5 |
6 | void Render(GraphicsDevice graphicsDevice);
7 |
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Graphics/IRenderable3D.cs:
--------------------------------------------------------------------------------
1 | using Blish_HUD.Entities;
2 | using Microsoft.Xna.Framework.Graphics;
3 |
4 | namespace Blish_HUD.Graphics {
5 | public interface IRenderable3D {
6 |
7 | void Render(GraphicsDevice graphicsDevice, IWorld world, ICamera camera);
8 |
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Graphics/ManualUISize.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace Blish_HUD.Graphics {
4 | public enum ManualUISize : int {
5 | [Description("Automatic - Sync With Game")]
6 | SyncWithGame = 0,
7 |
8 | [Description("Small")]
9 | Small = 1,
10 |
11 | [Description("Normal")]
12 | Normal = 2,
13 |
14 | [Description("Large")]
15 | Large = 3,
16 |
17 | [Description("Larger")]
18 | Larger = 4
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Graphics/UI/Exceptions/ViewNotBuiltException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Blish_HUD.Graphics.UI.Exceptions {
4 | public class ViewNotBuiltException : InvalidOperationException {
5 |
6 | public ViewNotBuiltException() : base("View must be built before this operation can take place.") { /* NOOP */ }
7 |
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Graphics/UI/IPresenter[TView].cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.Graphics.UI {
2 | ///
3 | /// The type of that will be presented to.
4 | public interface IPresenter : IPresenter where TView : class, IView {
5 |
6 | ///
7 | /// The this will be presenting to.
8 | ///
9 | TView View { get; }
10 |
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Graphics/UI/NullPresenter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Threading.Tasks;
3 |
4 | namespace Blish_HUD.Graphics.UI {
5 |
6 | ///
7 | /// A presenter which does not manage a model or the view.
8 | ///
9 | public sealed class NullPresenter : IPresenter {
10 |
11 | public Task DoLoad(IProgress progress) {
12 | return Task.FromResult(true);
13 | }
14 |
15 | public void DoUpdateView() { /* NOOP */ }
16 |
17 | public void DoUnload() { /* NOOP */ }
18 |
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Graphics/UI/View.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.Graphics.UI {
2 | public abstract class View : View {
3 |
4 | private static readonly NullPresenter _sharedNullPresenter = new NullPresenter();
5 |
6 | protected View() {
7 | this.Presenter = _sharedNullPresenter;
8 | }
9 |
10 | protected View(IPresenter presenter) {
11 | Presenter = presenter ?? _sharedNullPresenter;
12 | }
13 |
14 | // BREAKME: Avoids a breaking change, but is not necessary for anything recompiled.
15 | public new View WithPresenter(IPresenter presenter) {
16 | return base.WithPresenter(presenter) as View;
17 | }
18 |
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Gw2Mumble/MumbleEventImpl.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Blish_HUD.Gw2Mumble {
4 | internal static class MumbleEventImpl {
5 |
6 | internal static void CheckAndHandleEvent(ref T previousValue, T currentValue, Action> eventRef) {
7 | if (!Equals(previousValue, currentValue)) {
8 | previousValue = currentValue;
9 | eventRef(new ValueEventArgs(currentValue));
10 | }
11 | }
12 |
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Gw2WebApi/TokenComplianceMiddleware.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Threading;
3 | using System.Threading.Tasks;
4 | using Gw2Sharp.WebApi.Http;
5 | using Gw2Sharp.WebApi.Middleware;
6 |
7 | namespace Blish_HUD.Gw2WebApi {
8 | internal class TokenComplianceMiddleware : IWebApiMiddleware {
9 |
10 | private readonly TokenBucket _bucket;
11 |
12 | internal TokenComplianceMiddleware(TokenBucket tokenBucket) {
13 | _bucket = tokenBucket;
14 | }
15 |
16 | public async Task OnRequestAsync(MiddlewareContext context, Func> callNext, CancellationToken cancellationToken = new CancellationToken()) {
17 | return await _bucket.ConsumeCompliant(() => callNext(context, cancellationToken)).ConfigureAwait(false);
18 | }
19 |
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/IServiceModule.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.GameServices {
2 | internal interface IServiceModule : IUpdatable {
3 |
4 | void Load();
5 |
6 | void Unload();
7 |
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Input/IHookManager.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Blish_HUD.Input {
4 |
5 | internal interface IHookManager : IDisposable {
6 |
7 | void Load();
8 |
9 | void Unload();
10 |
11 | bool EnableHook();
12 |
13 | void DisableHook();
14 |
15 | void RegisterMouseHandler(HandleMouseInputDelegate handleMouseInputCallback);
16 |
17 | void UnregisterMouseHandler(HandleMouseInputDelegate handleMouseInputCallback);
18 |
19 | void RegisterKeyboardHandler(HandleKeyboardInputDelegate handleKeyboardInputCallback);
20 |
21 | void UnregisterKeyboardHandler(HandleKeyboardInputDelegate handleKeyboardInputCallback);
22 |
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Input/IInputHandler.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.Input {
2 |
3 | public interface IInputHandler {
4 |
5 | void Update();
6 |
7 | void OnEnable();
8 |
9 | void OnDisable();
10 |
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Input/Keyboard/IKeyboardHookManager.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.Input {
2 |
3 | internal delegate bool HandleKeyboardInputDelegate(KeyboardEventArgs keyboardEventArgs);
4 |
5 | internal interface IKeyboardHookManager {
6 |
7 | bool EnableHook();
8 |
9 | void DisableHook();
10 |
11 | void RegisterHandler(HandleKeyboardInputDelegate handleKeyboardInputCallback);
12 |
13 | void UnregisterHandler(HandleKeyboardInputDelegate handleKeyboardInputCallback);
14 |
15 | }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Input/Keyboard/KeyboardEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Microsoft.Xna.Framework.Input;
3 |
4 | namespace Blish_HUD.Input {
5 | public class KeyboardEventArgs : EventArgs {
6 |
7 | ///
8 | /// The type of keyboard event.
9 | ///
10 | public KeyboardEventType EventType { get; }
11 |
12 | ///
13 | /// The key that triggered the event.
14 | ///
15 | public Keys Key { get; }
16 |
17 | public KeyboardEventArgs(KeyboardEventType eventType, Keys key) {
18 | this.EventType = eventType;
19 | this.Key = key;
20 | }
21 |
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Input/Keyboard/KeyboardEventType.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.Input {
2 |
3 | public enum KeyboardEventType {
4 | ///
5 | /// A key was pressed.
6 | ///
7 | KeyDown = 256,
8 |
9 | ///
10 | /// A key was released.
11 | ///
12 | KeyUp = 257,
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Input/Keyboard/ModifierKeys.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Microsoft.Xna.Framework.Input {
4 |
5 | [Flags]
6 | public enum ModifierKeys {
7 | ///
8 | /// No modifier keys.
9 | ///
10 | None = 0,
11 |
12 | ///
13 | /// The Control key.
14 | ///
15 | Ctrl = 1,
16 |
17 | ///
18 | /// The Alt key.
19 | ///
20 | Alt = 2,
21 |
22 | ///
23 | /// The Shift key.
24 | ///
25 | Shift = 4
26 | }
27 |
28 | }
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Input/Mouse/IMouseHookManager.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.Input {
2 |
3 | delegate bool HandleMouseInputDelegate(MouseEventArgs mouseEventArgs);
4 |
5 | internal interface IMouseHookManager {
6 |
7 | bool EnableHook();
8 |
9 | void DisableHook();
10 |
11 | void RegisterHandler(HandleMouseInputDelegate handleMouseInputCallback);
12 |
13 | void UnregisterHandler(HandleMouseInputDelegate handleMouseInputCallback);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Input/Mouse/WinApiMouseHookManager.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Runtime.InteropServices;
4 | using Blish_HUD.Input.WinApi;
5 |
6 | namespace Blish_HUD.Input {
7 |
8 | internal class WinApiMouseHookManager : WinApiInputHookManager, IMouseHookManager {
9 |
10 | protected override HookType HookType { get; } = HookType.WH_MOUSE_LL;
11 |
12 | protected override int HookCallback(int nCode, IntPtr wParam, IntPtr lParam) {
13 | if (nCode != 0) return HookExtern.CallNextHookEx(this.HookType, nCode, wParam, lParam);
14 |
15 | MouseEventArgs mouseEventArgs = new MouseEventArgs((MouseEventType)wParam, Marshal.PtrToStructure(lParam));
16 | bool isHandled = false;
17 |
18 | lock (((IList) this.Handlers).SyncRoot) {
19 | foreach (HandleMouseInputDelegate handler in this.Handlers) {
20 | isHandled = handler(mouseEventArgs);
21 | if (isHandled) break;
22 | }
23 | }
24 |
25 | if (isHandled)
26 | return 1;
27 | else
28 | return HookExtern.CallNextHookEx(this.HookType, nCode, wParam, lParam);
29 | }
30 |
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Input/WinApi/CursorExtern.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.InteropServices;
2 |
3 | namespace Blish_HUD.Input.WinApi {
4 | internal static class CursorExtern {
5 |
6 | [DllImport("user32.dll")]
7 | private static extern bool GetCursorInfo(ref CursorInfo pci);
8 |
9 | internal static CursorInfo GetCursorInfo() {
10 | var pci = new CursorInfo {
11 | CbSize = Marshal.SizeOf(typeof(CursorInfo))
12 | };
13 | GetCursorInfo(ref pci);
14 | return pci;
15 | }
16 |
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Input/WinApi/CursorFlags.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.Input.WinApi {
2 | internal enum CursorFlags {
3 | CursorHiding = 0x0,
4 | CursorShowing = 0x1,
5 | CursorSuppressed = 0x2
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Input/WinApi/CursorInfo.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Drawing;
3 | using System.Runtime.InteropServices;
4 |
5 | namespace Blish_HUD.Input.WinApi {
6 | [StructLayout(LayoutKind.Sequential)]
7 | internal struct CursorInfo {
8 | ///
9 | /// The caller must set this to Marshal.SizeOf(typeof(CURSORINFO))
10 | ///
11 | public int CbSize;
12 | public CursorFlags Flags;
13 | public IntPtr HCursor;
14 | public Point ScreenPosition;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Input/WinApi/HookExtern.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.InteropServices;
3 |
4 | namespace Blish_HUD.Input.WinApi {
5 |
6 | internal static class HookExtern {
7 |
8 | public delegate int HookCallbackDelegate(int nCode, IntPtr wParam, IntPtr lParam);
9 |
10 | [DllImport("user32.dll", SetLastError = true)]
11 | public static extern IntPtr SetWindowsHookEx(HookType idHook, HookCallbackDelegate lpfn, IntPtr hMod, uint dwThreadId);
12 |
13 | [DllImport("user32.dll")]
14 | public static extern int CallNextHookEx(HookType idHook, int nCode, IntPtr wParam, IntPtr lParam);
15 |
16 | [DllImport("user32.dll", SetLastError = true)]
17 | [return: MarshalAs(UnmanagedType.Bool)]
18 | public static extern bool UnhookWindowsHookEx(IntPtr hook);
19 |
20 | [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
21 | public static extern IntPtr GetModuleHandleW(IntPtr fakezero);
22 |
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Input/WinApi/HookType.cs:
--------------------------------------------------------------------------------
1 | // ReSharper disable InconsistentNaming
2 |
3 | namespace Blish_HUD.Input.WinApi {
4 | public enum HookType {
5 | WH_KEYBOARD_LL = 13,
6 | WH_MOUSE_LL = 14
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Input/WinApi/MouseLLHookStruct.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Drawing;
3 | using System.Runtime.InteropServices;
4 |
5 | namespace Blish_HUD.Input.WinApi {
6 |
7 | [StructLayout(LayoutKind.Sequential)]
8 | public struct MouseLLHookStruct {
9 |
10 | public Point Point { get; }
11 | public int MouseData { get; }
12 | public int Flags { get; }
13 | public int Time { get; }
14 | public IntPtr Extra { get; }
15 |
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Modules/Managers/SettingsManager.cs:
--------------------------------------------------------------------------------
1 | using Blish_HUD.Settings;
2 |
3 | namespace Blish_HUD.Modules.Managers {
4 | public class SettingsManager {
5 |
6 | public SettingCollection ModuleSettings { get; }
7 |
8 | private SettingsManager(ModuleManager module) {
9 | if (module.State.Settings == null) {
10 | module.State.Settings = new SettingCollection(true);
11 | }
12 |
13 | this.ModuleSettings = module.State.Settings;
14 | }
15 |
16 | internal static SettingsManager GetModuleInstance(ModuleManager module) {
17 | return new SettingsManager(module);
18 | }
19 |
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Modules/ManifestV1.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 |
3 | namespace Blish_HUD.Modules {
4 |
5 | public class ManifestV1 : Manifest {
6 |
7 | [JsonProperty("manifest_version")]
8 | public override SupportedModuleManifestVersion ManifestVersion => SupportedModuleManifestVersion.V1;
9 |
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Modules/ModuleApiPermissions.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 |
3 | namespace Blish_HUD.Modules {
4 |
5 | public class ModuleApiPermissions {
6 |
7 | [JsonProperty("optional")]
8 | public bool Optional { get; private set; }
9 |
10 | [JsonProperty("details")]
11 | public string Details { get; private set; }
12 |
13 | }
14 |
15 | }
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Modules/ModuleContributor.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 |
3 | namespace Blish_HUD.Modules {
4 |
5 | public class ModuleContributor {
6 |
7 | [JsonProperty("name")]
8 | public string Name { get; private set; }
9 |
10 | [JsonProperty("username")]
11 | public string Username { get; private set; }
12 |
13 | [JsonProperty("url")]
14 | public string Url { get; private set; }
15 |
16 | }
17 |
18 | }
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Modules/ModuleDependencyCheckDetails.cs:
--------------------------------------------------------------------------------
1 | using SemVer;
2 |
3 | namespace Blish_HUD.Modules {
4 | public struct ModuleDependencyCheckDetails {
5 |
6 | public ModuleDependency Dependency { get; }
7 |
8 | public ModuleDependencyCheckResult CheckResult { get; }
9 |
10 | public ModuleManager Module { get; }
11 |
12 | public ModuleDependencyCheckDetails(ModuleDependency dependency, ModuleDependencyCheckResult checkResult, ModuleManager module = null) {
13 | this.Dependency = dependency;
14 | this.CheckResult = checkResult;
15 | this.Module = module;
16 | }
17 |
18 | public string GetDisplayName() {
19 | if (this.Dependency.IsBlishHud) return Strings.Common.BlishHUD;
20 |
21 | return this.Module?.Manifest.Name
22 | ?? this.Dependency.Namespace;
23 | }
24 |
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Modules/ModuleDependencyCheckResult.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.Modules {
2 | public enum ModuleDependencyCheckResult {
3 | NotFound,
4 | Available,
5 | AvailableNotEnabled,
6 | AvailableWrongVersion,
7 | FoundInRepo
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Modules/ModuleRunState.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.Modules {
2 |
3 | public enum ModuleRunState {
4 |
5 | ///
6 | /// The module is not loaded.
7 | ///
8 | Unloaded,
9 |
10 | ///
11 | /// The module is currently still working to complete its initial .
12 | ///
13 | Loading,
14 |
15 | ///
16 | /// The module has completed loading and is enabled.
17 | ///
18 | Loaded,
19 |
20 | ///
21 | /// The module has been disabled and is currently unloading the resources it has.
22 | ///
23 | Unloading,
24 |
25 | ///
26 | /// The module has experienced an error that it can not recover from.
27 | ///
28 | FatalError
29 |
30 | }
31 |
32 | }
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Modules/ModuleRunStateChangedEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Blish_HUD.Modules {
4 |
5 | public class ModuleRunStateChangedEventArgs : EventArgs {
6 |
7 | public ModuleRunState RunState { get; }
8 |
9 | public ModuleRunStateChangedEventArgs(ModuleRunState runState) {
10 | this.RunState = runState;
11 | }
12 |
13 | }
14 |
15 | }
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Modules/ModuleState.cs:
--------------------------------------------------------------------------------
1 | using Blish_HUD.Settings;
2 | using Gw2Sharp.WebApi.V2.Models;
3 | using Newtonsoft.Json;
4 |
5 | namespace Blish_HUD.Modules {
6 |
7 | public class ModuleState {
8 |
9 | public bool Enabled { get; set; }
10 |
11 | public TokenPermission[] UserEnabledPermissions { get; set; }
12 |
13 | public bool IgnoreDependencies { get; set; }
14 |
15 | public SettingCollection Settings { get; set; }
16 |
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Modules/Pkgs/IPkgRepoProvider.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Threading.Tasks;
4 |
5 | namespace Blish_HUD.Modules.Pkgs {
6 | public interface IPkgRepoProvider {
7 |
8 | Task Load(IProgress progress);
9 |
10 | IEnumerable GetPkgManifests();
11 |
12 | IEnumerable GetPkgManifests(IEnumerable> filters);
13 |
14 | IEnumerable<(string OptionName, Action OptionAction, bool IsToggle, bool IsChecked)> GetExtraOptions();
15 |
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Modules/Pkgs/PkgManifestV1.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 |
3 | namespace Blish_HUD.Modules.Pkgs {
4 | public class PkgManifestV1 : PkgManifest {
5 |
6 | public override SupportedModulePkgVersion ManifestVersion => SupportedModulePkgVersion.V1;
7 |
8 | [JsonProperty("url")]
9 | public string Url { get; set; }
10 |
11 | [JsonProperty("description")]
12 | public string Description { get; set; }
13 |
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Modules/Pkgs/SupportedModulePkgVersion.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.Modules.Pkgs {
2 | public enum SupportedModulePkgVersion {
3 | V1 = 1,
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Modules/SupportedModuleManifestVersion.cs:
--------------------------------------------------------------------------------
1 | namespace Blish_HUD.Modules {
2 |
3 | public enum SupportedModuleManifestVersion {
4 | V1 = 1,
5 | }
6 |
7 | }
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Modules/UI/Controls/StatusMenuItem.cs:
--------------------------------------------------------------------------------
1 | using Blish_HUD.Controls;
2 | using Microsoft.Xna.Framework;
3 | using Microsoft.Xna.Framework.Graphics;
4 |
5 | namespace Blish_HUD.Modules.UI.Controls {
6 | public class StatusMenuItem : MenuItem {
7 |
8 | private string _statusText;
9 | private Color _statusTextColor = Color.White;
10 |
11 | public string StatusText {
12 | get => _statusText;
13 | set => SetProperty(ref _statusText, value);
14 | }
15 |
16 | public Color StatusTextColor {
17 | get => _statusTextColor;
18 | set => SetProperty(ref _statusTextColor, value);
19 | }
20 |
21 | public override void PaintBeforeChildren(SpriteBatch spriteBatch, Rectangle bounds) {
22 | base.PaintBeforeChildren(spriteBatch, bounds);
23 |
24 | spriteBatch.DrawStringOnCtrl(this, _statusText, Content.DefaultFont12, new Rectangle(bounds.X, bounds.Y, bounds.Width - 20, bounds.Height), _statusTextColor, false, true, 1, HorizontalAlignment.Right);
25 | }
26 |
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Overlay/CoreVersionManifest.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 | using Version = SemVer.Version;
3 |
4 | namespace Blish_HUD.Overlay {
5 | public struct CoreVersionManifest {
6 |
7 | [JsonProperty("url", Required = Required.Always)]
8 | public string Url { get; set; }
9 |
10 |
11 | [JsonProperty("checksum", Required = Required.Always)]
12 | public string Checksum { get; set; }
13 |
14 |
15 | [JsonProperty("version", Required = Required.Always), JsonConverter(typeof(Content.Serialization.SemVerConverter))]
16 | public Version Version { get; set; }
17 |
18 | [JsonProperty("is_prerelease", Required = Required.DisallowNull)]
19 | public bool IsPrerelease { get; set; }
20 |
21 | [JsonProperty("changelog")]
22 | public string Changelog { get; set; }
23 |
24 | }
25 | }
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Overlay/DynamicHUDMethod.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace Blish_HUD.Graphics {
4 | public enum DynamicHUDMethod : int {
5 | [Description("Always Show (Default)")]
6 | AlwaysShow = 0,
7 |
8 | [Description("Show Only out of Combat")]
9 | ShowPeaceful = 1,
10 |
11 | [Description("Show Only in Combat")]
12 | ShowInCombat = 2,
13 |
14 | [Description("Never Show")]
15 | NeverShow = 3
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Overlay/UI/Presenters/IConnectionStatusPresenter.cs:
--------------------------------------------------------------------------------
1 | using Blish_HUD.Graphics.UI;
2 |
3 | namespace Blish_HUD.Overlay.UI.Presenters {
4 | public interface IConnectionStatusPresenter : IPresenter {
5 |
6 | string ConnectionName { get; }
7 |
8 | bool Connected { get; }
9 |
10 | string ConnectionDetails { get; }
11 |
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/ServiceModule.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Xna.Framework;
2 |
3 | namespace Blish_HUD.GameServices {
4 | public abstract class ServiceModule : IServiceModule
5 | where T : GameService {
6 |
7 | protected readonly T _service;
8 |
9 | protected ServiceModule(T service) {
10 | _service = service;
11 | }
12 |
13 | public virtual void Load() { /* NOOP */ }
14 |
15 | public virtual void Update(GameTime gameTime) { /* NOOP */ }
16 |
17 | public virtual void Unload() { /* NOOP */ }
18 |
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Blish HUD/GameServices/Settings/ISettingsMenuRegistrar.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Blish_HUD.Controls;
4 | using Blish_HUD.Graphics.UI;
5 |
6 | namespace Blish_HUD.Settings {
7 |
8 | public interface ISettingsMenuRegistrar {
9 |
10 | ///
11 | /// Occurs when the list of root menus is updated.
12 | ///
13 | event EventHandler RegistrarListChanged;
14 |
15 | ///
16 | /// Returns a list of all root level menu items for the settings menu.
17 | ///
18 | IEnumerable