123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- ---@meta
- ---HUD element types
- --------------------
- ---@class mt.HUDProto
- -- The `position` field is used for all element types.
- --
- -- To account for differing resolutions, the position coordinates are the
- -- percentage of the screen, ranging in value from `0` to `1`.
- --
- -- The name field is not yet used, but should contain a description of what the
- -- HUD element represents.
- ---@field position mt.Vector
- -- The `offset` field specifies a pixel offset from the position. Contrary to
- -- position, the offset is not scaled to screen size. This allows for some
- -- precisely positioned items in the HUD.
- --
- -- **Note**: `offset` _will_ adapt to screen DPI as well as user defined scaling
- -- factor!
- ---@field offset mt.Vector
- -- Displays an image on the HUD.
- ---@class mt.HUDImage:mt.HUDProto
- -- * The scale of the image, with 1 being the original texture size.
- -- * Only the X coordinate scale is used (positive values).
- -- * Negative values represent that percentage of the screen it
- -- should take; e.g. `x=-100` means 100% (width).
- ---@field scale number
- ---@field text string The name of the texture that is displayed.
- ---@field alignment mt.Vector The alignment of the image.
- -- Displays text on the HUD.
- ---@class mt.HUDText:mt.HUDProto
- ---@field scale mt.Vector Defines the bounding rectangle of the text.
- ---@field text string The text to be displayed in the HUD element.
- ---@field number mt.ColorInteger Color used to draw the text.
- ---@field alignment mt.Vector The alignment of the text.
- -- The player-set font size is multiplied by size.x (y value isn't used).
- ---@field size mt.Vector
- -- Displays a horizontal bar made up of half-images with an optional background.
- ---@class mt.HUDStatBar:mt.HUDProto
- ---@field text string The name of the texture to use.
- -- Optional texture name to enable a background / "off state"
- -- texture (useful to visualize the maximal value). Both textures
- -- must have the same size.
- ---@field text2 string|nil
- -- The number of half-textures that are displayed.
- -- If odd, will end with a vertically center-split texture.
- ---@field number number
- ---@field item number Same as `number` but for the "off state" texture.
- ---@field direction number To which direction the images will extend to.
- -- If used, will force full-image size to this value
- -- (override texture pack image size)
- ---@field size mt.Vector|nil
- ---@class mt.HUDInventory:mt.HUDProto
- ---@field text string The name of the inventory list to be displayed.
- ---@field number number Number of items in the inventory to be displayed.
- ---@field item number Position of item that is selected.
- ---@field direction number
- -- Displays distance to selected world position.
- ---@class mt.HUDWaypoint:mt.HUDProto
- ---@field name string The name of the waypoint.
- ---@field text string Distance suffix. Can be blank.
- -- * Waypoint precision, integer >= 0.
- -- * Defaults to 10.
- -- * If set to 0, distance is not shown.
- -- * Shown value is `floor(distance*precision)/precision`.
- -- * When the precision is an integer multiple of 10, there will be
- -- `log_10(precision)` digits after the decimal point.
- -- * `precision = 1000`, for example, will show 3 decimal places (eg: `0.999`).
- -- * `precision = 2` will show multiples of `0.5`;
- -- * `precision = 5` will show multiples of `0.2` and so on:
- -- * `precision = n` will show multiples of `1/n`.
- ---@field precision integer
- ---@field number mt.ColorInteger Color used to draw the text.
- ---@field world_pos mt.Vector World position of the waypoint.
- ---@field alignment mt.Vector The alignment of the waypoint.
- -- Same as `mt.HUDWaypoint`, but does not accept a `position`;
- -- the position is instead determined by `world_pos`,
- -- the world position of the waypoint.
- ---@class mt.HUDImageWaypoint:mt.HUDProto
- -- * The scale of the image, with 1 being the original texture size.
- -- * Only the X coordinate scale is used (positive values).
- -- * Negative values represent that percentage of the screen it
- -- should take; e.g. `x=-100` means 100% (width).
- ---@field scale mt.Vector
- ---@field text string The name of the texture that is displayed.
- ---@field alignment mt.Vector The alignment of the image.
- ---@field world_pos mt.Vector World position of the waypoint.
- -- Displays an image oriented or translated according to current heading direction.
- ---@class mt.HUDCompass:mt.HUDProto
- -- The size of this element. Negative values represent percentage
- -- of the screen; e.g. `x=-100` means 100% (width).
- ---@field size mt.Vector
- ---@field scale number Scale of the translated image (used only for dir = 2 or dir = 3).
- ---@field text string The name of the texture to use.
- ---@field alignment mt.Vector The alignment of the image.
- -- How the image is rotated/translated:
- --
- -- * 0 - Rotate as heading direction
- -- * 1 - Rotate in reverse direction
- -- * 2 - Translate as landscape direction
- -- * 3 - Translate in reverse direction
- -- If translation is chosen, texture is repeated horizontally to fill the whole element.
- ---@field dir integer
- -- Displays a minimap on the HUD.
- ---@class mt.HudMinimap:mt.HUDProto
- -- Size of the minimap to display. Minimap should be a square to avoid distortion.
- ---@field size mt.Vector
- ---@field alignment mt.Vector The alignment of the minimap.
- ---@alias mt.HUDElement mt.HudMinimap|mt.HUDWaypoint|mt.HUDInventory|mt.HUDCompass|mt.HUDStatBar|mt.HUDText|mt.HUDImageWaypoint|mt.HUDImage|mt.HUDFlags
|