parin.engine

The engine module functions as a lightweight 2D game engine.

fn _parinSortLayered _parinSortTopDown _parinSortTopDownFast _parinSortTopDownFastest _TEMP_REPLACE_ME_GetCodepointNext _TEMP_REPLACE_ME_GetCodepointPrevious _updateEngineMouseBuffer _updateEngineWasdBuffer _updateViewportInfoBuffer assetsPath attach Attached beginClip beginDepthSort cancelTask clearAllEngineTasks clearDprintBuffer closeWindow defaultFilter defaultFont defaultWrap deltaMouse deltaTime deltaWheel dequeuePressedKey dequeuePressedRune detach didLoadOrSaveSucceed dprintBuffer dprintfln dprintln drawCirc drawDebugBoxWorld drawDebugEngineInfo drawDebugTileInfo drawDprintBuffer drawLine drawRect drawRune drawSprite drawSpriteStack drawSpriteStackLayer drawSurface drawSurfaceArea drawText drawTexture drawTextureArea drawTextureSlice drawTile drawTileMap drawVec2 drawViewport drawViewportArea droppedPaths elapsedTicks elapsedTickTime elapsedTime endClip endDepthSort engineViewportInfo envArgs fontIdCount fps fpsMax frameMake frameMakeBlank frameMakeSlice frameMakeSliceBlank frameMalloc frameMemoryContext frameRealloc frameResizeSlice freeAllFontIds freeAllResourceIds freeAllSoundIds freeAllTextureIds freeAllViewportIds getRequestedScreenshot isCursorVisible isDebugMode isDown isEnteringDebugMode isExitingDebugMode isFullscreen isLoggingLoadOrSaveFaults isLoggingMemoryTrackingInfo isLoggingWithDprint isNullFontVisible isNullTextureVisible isPixelPerfect isPixelSnapped isPressed isReleased isResolutionLocked isUsingAssetsPath isWindowResized lastLoadOrSaveFault loadBytes loadBytesIntoBuffer loadFont loadSound loadSurface loadTempBytes loadTempText loadText loadTextIntoBuffer loadTexture loadViewport lockResolution masterVolume measureTextSize mouse openUrl openWindow openWindowC pauseSound playSound prepareTempText randf randi randomize repeatTask requestScreenshot resolution resolutionHeight resolutionWidth resumeSound saveBytes saveScreenshot saveText screenHeight screenSize screenWidth setAssetsPath setDebugModeKey setDefaultFilter setDefaultFont setDefaultWrap setDprintFont setDprintLineCountLimit setDprintOptions setDprintPosition setDprintVisibility setFpsMax setIsCursorVisible setIsDebugMode setIsFullscreen setIsLoggingLoadOrSaveFaults setIsLoggingMemoryTrackingInfo setIsLoggingWithDprint setIsNullFontVisible setIsNullTextureVisible setIsPixelPerfect setIsPixelSnapped setIsUsingAssetsPath setMasterVolume setRandomSeed setVsync setWindowBackgroundColor setWindowBorderColor setWindowIconFromFiles setWindowMaxSize setWindowMinSize setWindowTitle soundIdCount startSound stopSound takeScreenshot textureIdCount toAssetsPath toCanvasPoint toggleDprintVisibility toggleIsCursorVisible toggleIsDebugMode toggleIsFullscreen toggleResolution toggleSoundIsActive toggleSoundIsPaused toScenePoint unlockResolution updateWindow viewportIdCount vsync wasd wasdPressed wasdReleased windowBackgroundColor windowBorderColor windowHeight windowSize windowWidth

Types 19

aliasTimer = GTimer!elapsedTickTime

A timer with pause/resume and repeat support.

aliasEngineTasks = GenList!( Task, SparseList!(Task, FixedList!(SparseListItem!Task, defaultEngineEngineTasksCapacity)), FixedList!(Gen, defaultEngineEngineTasksCapacity) )

A container type holding scheduled engine tasks.

An identifier for a scheduled engine task.

aliasEngineFlags = uint

Type representing the internal engine flags.

The internal engine flags.

none = 0x000000
isUpdating = 0x000001
isUsingAssetsPath = 0x000002
isPixelSnapped = 0x000004
isPixelPerfect = 0x000008
isNullTextureVisible = 0x000010
isNullFontVisible = 0x000020
isLoggingLoadOrSaveFaults = 0x000040
isLoggingMemoryTrackingInfo = 0x000080
isLoggingWithDprint = 0x000100
isDebugMode = 0x000200

Internal representation of a viewport within the engine.

Fields
int lockWidth
int lockHeight
bool isChanging
bool isLocking

Internal state of the engine.

Fields
UpdateFunc updateFunc
CallFunc debugModeFunc
CallFunc debugModeBeginFunc
CallFunc debugModeEndFunc
Keyboard debugModeKey
bool debugModePreviousState
bool debugModeEnteringFrameState
bool debugModeExitingFrameState
ViewportInfo viewportInfoBuffer
Vec2 mouseBuffer
Vec2 wasdBuffer
Vec2 wasdPressedBuffer
Vec2 wasdReleasedBuffer
double elapsedTickTimeBuffer
bool clipIsActive
Rgba windowBorderColor
Filter defaultFilter
Wrap defaultWrap
FontId defaultFont
TextureId currentScreenshotTexture
Camera userCamera
ViewportId userViewport
Fault lastLoadOrSaveFault
IStr memoryTrackingInfoFilter
FStr!defaultEngineAssetsPathCapacity assetsPath
FStr!defaultEngineScreenshotTargetPathCapacity screenshotTargetPath
FStr!defaultEngineScreenshotTargetPathCapacity screenshotLastFaultPath
IStr screenshotLastFaultFile
Sz screenshotLastFaultLine
FixedList!(IStr, defaultEngineEnvArgsCapacity) envArgsBuffer
FStr!defaultEngineDprintCapacity dprintBuffer
FontId dprintFont
Vec2 dprintPosition
DrawOptions dprintOptions
Sz dprintLineCount
Sz dprintLineCountLimit
bool dprintIsVisible
DepthSortData depthSortData
DepthSortMode depthSortMode
bool depthSortActive
structTextureId

A texture identifier.

Fields
Methods
bool isNull() @safe nothrow @nogcChecks whether the resource is null (default value).
bool isValid() @safe nothrow @nogcChecks whether the resource is valid (loaded). Null is invalid.
TextureId validate(IStr message = defaultEngineValidateErrorMessage) @safe nothrow @nogcReturns this resource if valid, or asserts with the given message if not.
Filter filter() @safe nothrow @nogcReturns the filter mode.
void setFilter(Filter value) @safe nothrow @nogcSets the filter mode.
Wrap wrap() @safe nothrow @nogcReturns the wrap mode.
void setWrap(Wrap value) @safe nothrow @nogcSets the wrap mode.
int width() @safe nothrow @nogcReturns the width in pixels.
int height() @safe nothrow @nogcReturns the height in pixels.
Vec2 size() @safe nothrow @nogcReturns the size in pixels.
void free() @safe nothrow @nogcFrees the resource and resets the identifier to null.
structFontId

A font identifier.

Fields
Methods
bool isNull() @safe nothrow @nogcChecks whether the resource is null (default value).
bool isValid() @safe nothrow @nogcChecks whether the resource is valid (loaded). Null is invalid.
FontId validate(IStr message = defaultEngineValidateErrorMessage) @safe nothrow @nogcReturns this resource if valid, or asserts with the given message if not.
Filter filter() @safe nothrow @nogcReturns the filter mode.
void setFilter(Filter value) @safe nothrow @nogcSets the filter mode.
Wrap wrap() @safe nothrow @nogcReturns the wrap mode.
void setWrap(Wrap value) @safe nothrow @nogcSets the wrap mode.
int size() @safe nothrow @nogcReturns the font size in pixels.
int runeSpacing() @safe nothrow @nogcReturns the spacing between characters in pixels.
void setRuneSpacing(int value) @safe nothrow @nogcSets the spacing between characters in pixels.
int lineSpacing() @safe nothrow @nogcReturns the spacing between lines in pixels.
void setLineSpacing(int value) @safe nothrow @nogcSets the spacing between lines in pixels.
GlyphInfo glyphInfo(int rune) @safe nothrow @nogcReturns the glyph information for the given rune.
void free() @safe nothrow @nogcFrees the resource and resets the identifier to null.
structSoundId

A sound identifier.

Fields
Methods
bool isNull() @safe nothrow @nogcChecks whether the resource is null (default value).
bool isValid() @safe nothrow @nogcChecks whether the resource is valid (loaded). Null is invalid.
SoundId validate(IStr message = defaultEngineValidateErrorMessage) @safe nothrow @nogcReturns this resource if valid, or asserts with the given message if not.
float volume() @safe nothrow @nogcReturns the volume. The default value is 1.0 (normal level).
void setVolume(float value) @safe nothrow @nogcSets the volume. The default value is 1.0 (normal level).
float pan() @safe nothrow @nogcReturns the pan. The default value is 0.5 (center).
void setPan(float value) @safe nothrow @nogcSets the pan. The default value is 0.5 (center).
float pitch() @safe nothrow @nogcReturns the pitch. The default value is 1.0 (base level).
void setPitch(float value, bool canUpdatePitchVarianceBase = false) @safe nothrow @nogcSets the pitch. The default value is 1.0 (base level).
float pitchVariance() @safe nothrow @nogcReturns the pitch variance. The default value is 1.0 (no variation).
void setPitchVariance(float value) @safe nothrow @nogcSets the pitch variance. The default value is 1.0 (no variation).
float pitchVarianceBase() @safe nothrow @nogcReturns the pitch variance base. The default value is 1.0 (base level).
void setPitchVarianceBase(float value) @safe nothrow @nogcSets the pitch variance base. The default value is 1.0 (base level).
bool canRepeat() @safe nothrow @nogcReturns true if the sound is set to repeat.
void setCanRepeat(bool value) @safe nothrow @nogcSets whether the sound should repeat.
bool isActive() @safe nothrow @nogcReturns true if the sound is currently active (playing).
bool isPaused() @safe nothrow @nogcReturns true if the sound is currently paused.
float time() @safe nothrow @nogcReturns the current playback time in seconds.
float duration() @safe nothrow @nogcReturns the total duration in seconds.
float progress() @safe nothrow @nogcReturns the progress. The value is between 0.0 and 1.0 (inclusive).
void free() @safe nothrow @nogcFrees the resource and resets the identifier to null.

A viewport identifier.

Fields
Methods
bool isNull() @safe nothrow @nogcChecks whether the resource is null (default value).
bool isValid() @safe nothrow @nogcChecks whether the resource is valid (loaded). Null is invalid.
ViewportId validate(IStr message = defaultEngineValidateErrorMessage) @safe nothrow @nogcReturns this resource if valid, or asserts with the given message if not.
Filter filter() @safe nothrow @nogcReturns the filter mode.
void setFilter(Filter value) @safe nothrow @nogcSets the filter mode.
Wrap wrap() @safe nothrow @nogcReturns the wrap mode.
void setWrap(Wrap value) @safe nothrow @nogcSets the wrap mode.
Blend blend() @safe nothrow @nogcReturns the blend mode.
void setBlend(Blend value) @safe nothrow @nogcSets the blend mode.
Rgba color() @safe nothrow @nogcReturns the color in RGBA.
void setColor(Rgba value) @safe nothrow @nogcSets the color in RGBA.
int width() @safe nothrow @nogcReturns the width in pixels.
int height() @safe nothrow @nogcReturns the height in pixels.
Vec2 size() @safe nothrow @nogcReturns the size in pixels.
bool isFirstUse() @safe nothrow @nogcReturns true if the viewport has never been used (attached).
bool isAttached() @safe nothrow @nogcReturns true if the viewport is attached.
void resize(int newWidth, int newHeight) @safe nothrow @nogcResizes the viewport. Internally, this creates a new texture, so avoid calling it while the viewport is in use.
void free() @safe nothrow @nogcFrees the resource and resets the identifier to null.
structClip

A clipping region. Designed to be used with the with keyword.

Fields
Rect _clipArea
Constructors
this(Rect area)
this(Vec2 position, Vec2 size)
this(Vec2 size)
this(float x, float y, float w, float h)
this(float w, float h)
this(Vec2 position, float w, float h)
this(float x, float y, Vec2 size)
Destructors
struct_Attached(T)
Fields
T * _attachedObject
Constructors
this(ref T object)
Destructors
Fields
Methods
void free() @trusted @safe nothrow
Constructors
this(Sz length)
enumDepthSortMode : ubyte

Depth sorting modes.

topDownSorts with: Layer + Y + Call Order
topDownFastSorts with: Layer + Y
topDownFastestSorts with: Y
layeredSorts with: Layer + Call Order
Fields
TextureId texture
Rect area
Vec2 position
DrawOptions options
Fields
float y
ushort i
ubyte layer
structDepthSort

A depth sort. Works only with textures. Designed to be used with the with keyword.

Fields
DepthSortMode _depthSortMode
Constructors
Destructors
aliastickTime = elapsedTickTime
deprecated Use `elapsedTickTime`. It's a better name.

Functions 231

fn_Attached!T Attached(T)(ref T object) @trusted nothrow @nogc @safeAttaches the camera for the scope and detaches automatically. Designed to be used with the `with` keyword.
fnint _parinSortTopDown(const(void) * a, const(void) * b) extern(C) @trusted nothrow @nogc @safe
fnint _parinSortTopDownFast(const(void) * a, const(void) * b) extern(C) @trusted nothrow @nogc @safe
fnint _parinSortTopDownFastest(const(void) * a, const(void) * b) extern(C) @trusted nothrow @nogc @safe
fnint _parinSortLayered(const(void) * a, const(void) * b) extern(C) @trusted nothrow @nogc @safe
fnvoid openWindow(int width, int height, const(IStr)[] args, IStr title = "Parin", bool vsync = defaultEngineVsync) @trusted @safeOpens the window with the given information. Avoid calling this function manually.
fnvoid openWindowC(int width, int height, int argc, IStrz * argv, IStrz title = "Parin", bool vsync = defaultEngineVsync) @trusted @safeOpens the window with the given information using C strings. Avoid calling this function manually.
fnvoid updateWindow(UpdateFunc updateFunc, CallFunc debugModeFunc = null, CallFunc debugModeBeginFunc = null, CallFunc debugModeEndFunc = null) @safeStarts the main window loop. Accepts an update function and optional debug callbacks. Returns when the update function returns true. Avoid calling this function manually.
fnvoid closeWindow() @trusted @safeCloses the window. Avoid calling this function manually.
fnVec2 drawText(A...)(FontId font, InterpolationHeader header, A args, InterpolationFooter footer, Vec2 position, DrawOptions options = DrawOptions(), TextOptions extra = TextOptions()) @safe
fnVec2 drawText(A...)(InterpolationHeader header, A args, InterpolationFooter footer, Vec2 position, DrawOptions options = DrawOptions(), TextOptions extra = TextOptions()) @safe
fnvoid dprintfln(A...)(InterpolationHeader header, A args, InterpolationFooter footer) @safe
fnvoid * frameMalloc(Sz alignment, Sz size, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowAllocates raw memory from the frame arena.
fnvoid * frameRealloc(Sz alignment, void * oldPtr, Sz oldSize, Sz newSize, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowReallocates memory from the frame arena.
fnT * frameMakeBlank(T)(IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowAllocates uninitialized memory for a single value of type `T`.
fnT * frameMake(T)(IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowAllocates and initializes a single value of type `T`.
fnT * frameMake(T)(const(T) value, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowAllocates and initializes a single value of type `T`.
fnT[] frameMakeSliceBlank(T)(Sz length, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowAllocates uninitialized memory for an array of type `T` with the given length.
fnT[] frameMakeSlice(T)(Sz length, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowAllocates and initializes an array of type `T` with the given length.
fnT[] frameMakeSlice(T)(Sz length, const(T) value, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowAllocates and initializes an array of type `T` with the given length.
fnT[] frameMakeSlice(T)(const(T)[] values, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowAllocates and initializes an array of type `T` with the given slice.
fnT[] frameResizeSlice(T)(T * values, Sz oldLength, Sz newLength, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowResizes an array of type `T` with the given slice pointer and length.
fnMemoryContext frameMemoryContext() @safe @trusted nothrowReturns a memory context from the frame allocator.
fnBStr prepareTempText(Sz capacity = defaultEngineLoadOrSaveTextCapacity, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowAllocates a temporary text buffer for this frame. Each call returns a new buffer.
fnEngineTaskId repeatTask(UpdateFunc func, float interval, int count = - 1, bool canCallNow = false) @safe @trusted nothrowSchedules a task to run every interval. Set `count` to limit how many times it runs. Use -1 to run indefinitely. If `canCallNow` is true, the task runs immediately.
fnvoid cancelTask(EngineTaskId id) @safe @trusted nothrowCancels a scheduled task by its ID.
fnSurface loadSurface(IStr path, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowLoads a surface file (PNG) with default filter and wrap modes. Uses the assets path unless the input starts with `/` or `\`, or `isUsingAssetsPath` is false. Path separators are normalized to the p...
fnSurface loadSurface(const(ubyte)[] memory, IStr ext = ".png", IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowLoads a surface file (PNG) from memory with default filter and wrap modes.
fnTextureId loadTexture(IStr path, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowLoads a texture file (PNG) with default filter and wrap modes. Uses the assets path unless the input starts with `/` or `\`, or `isUsingAssetsPath` is false. Path separators are normalized to the p...
fnTextureId loadTexture(const(ubyte)[] memory, IStr ext = ".png", IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowLoads a texture file (PNG) from memory with default filter and wrap modes.
fnFontId loadFont(IStr path, int size, int runeSpacing = - 1, int lineSpacing = - 1, IStr32 runes = "", IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowLoads a font file (TTF) with default filter and wrap modes. Uses the assets path unless the input starts with `/` or `\`, or `isUsingAssetsPath` is false. Path separators are normalized to the plat...
fnFontId loadFont(const(ubyte)[] memory, int size, int runeSpacing = - 1, int lineSpacing = - 1, IStr32 runes = "", IStr ext = ".ttf", IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowLoads a font file (TTF) from memory with default filter and wrap modes.
fnFontId loadFont(TextureId texture, int tileWidth, int tileHeight, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowLoads a font file (TTF) from a texture with default filter and wrap modes. The input texture will be invalidated after loading.
fnSoundId loadSound(IStr path, float volume, float pitch, bool canRepeat, float pitchVariance = 1.0f, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowLoads a sound file (WAV, OGG, MP3) with default playback settings. Uses the assets path unless the input starts with `/` or `\`, or `isUsingAssetsPath` is false. Path separators are normalized to t...
fnViewportId loadViewport(int width, int height, Rgba color, Blend blend = Blend.alpha, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowLoads a viewport with default filter and wrap modes.
fnLStr loadBytes(IStr path, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowLoads bytes from a file and returns the contents as a list. Uses the assets path unless the input starts with `/` or `\`, or `isUsingAssetsPath` is false. Path separators are normalized to the plat...
fnIStr loadTempBytes(IStr path, Sz capacity = defaultEngineLoadOrSaveTextCapacity, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowLoads bytes from a file into a temporary buffer for the current frame. Uses the assets path unless the input starts with `/` or `\`, or `isUsingAssetsPath` is false. Path separators are normalized ...
fnFault loadBytesIntoBuffer(L = LStr)(IStr path, ref L listBuffer, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowLoads bytes from a file into the given buffer. Uses the assets path unless the input starts with `/` or `\`, or `isUsingAssetsPath` is false. Path separators are normalized to the platform's native...
fnFault saveBytes(IStr path, IStr bytes, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowSaves bytes into a file with the given content. Uses the assets path unless the input starts with `/` or `\`, or `isUsingAssetsPath` is false. Path separators are normalized to the platform's nativ...
fnLStr loadText(IStr path, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowLoads a text file and returns the contents as a list. Uses the assets path unless the input starts with `/` or `\`, or `isUsingAssetsPath` is false. Path separators are normalized to the platform's...
fnIStr loadTempText(IStr path, Sz capacity = defaultEngineLoadOrSaveTextCapacity, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowLoads a text file into a temporary buffer for the current frame. Uses the assets path unless the input starts with `/` or `\`, or `isUsingAssetsPath` is false. Path separators are normalized to the...
fnFault loadTextIntoBuffer(L = LStr)(IStr path, ref L listBuffer, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowLoads a text file into the given buffer. Uses the assets path unless the input starts with `/` or `\`, or `isUsingAssetsPath` is false. Path separators are normalized to the platform's native format.
fnFault saveText(IStr path, IStr text, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowSaves a text file with the given content. Uses the assets path unless the input starts with `/` or `\`, or `isUsingAssetsPath` is false. Path separators are normalized to the platform's native format.
fnFault saveScreenshot(IStr path, ViewportId viewport, bool hasAlpha, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrowSaves an image taken from the given viewport. Uses the assets path unless the input starts with `/` or `\`, or `isUsingAssetsPath` is false. Path separators are normalized to the platform's native ...
fnvoid setAssetsPath(IStr path) @safe @trusted nothrowSets the path used as the assets folder.
fnvoid _updateViewportInfoBuffer() @safe @trusted nothrow @nogc
fnvoid _updateEngineMouseBuffer(Vec2 value) @safe @trusted nothrow @nogc
fnvoid _updateEngineWasdBuffer() @safe @trusted nothrow @nogc
fnint _TEMP_REPLACE_ME_GetCodepointNext(const(char) * text, int * codepointSize) @safe @trusted nothrow @nogc
fnint _TEMP_REPLACE_ME_GetCodepointPrevious(const(char) * text, int * codepointSize) @safe @trusted nothrow @nogc
fnIStr assetsPath() @safe @trusted nothrow @nogcReturns the current path used as the assets folder.
fnIStr toAssetsPath(IStr path) @safe @trusted nothrow @nogcConverts a path to one within the assets folder. Returns the path unchanged if it is absolute or asset paths are disabled.
fnbool isUsingAssetsPath() @safe @trusted nothrow @nogcReturns true if the assets path is used when loading.
fnvoid setIsUsingAssetsPath(bool value) @safe @trusted nothrow @nogcSets whether the assets path should be used when loading.
fnbool isLoggingLoadOrSaveFaults() @safe @trusted nothrow @nogcReturns true if load or save faults should be logged.
fnvoid setIsLoggingLoadOrSaveFaults(bool value) @safe @trusted nothrow @nogcSets whether load or save faults should be logged.
fnbool isLoggingMemoryTrackingInfo() @safe @trusted nothrow @nogcReturns true if memory tracking logs are enabled.
fnvoid setIsLoggingMemoryTrackingInfo(bool value, IStr pathFilter = "") @safe @trusted nothrow @nogcEnables or disables memory tracking logs.
fnbool isLoggingWithDprint() @safe @trusted nothrow @nogcReturns true if load or save faults should be logged with the `dprint` functions.
fnvoid setIsLoggingWithDprint(bool value) @safe @trusted nothrow @nogcSets whether load or save faults should be logged with the `dprint` functions.
fnbool isDebugMode() @safe @trusted nothrow @nogcReturns true if debug mode is active.
fnbool isEnteringDebugMode() @safe @trusted nothrow @nogcReturns true when entering debug mode this frame.
fnbool isExitingDebugMode() @safe @trusted nothrow @nogcReturns true when exiting debug mode this frame.
fnvoid setIsDebugMode(bool value) @safe @trusted nothrow @nogcSets whether debug mode should be active.
fnvoid toggleIsDebugMode() @safe @trusted nothrow @nogcToggles the debug mode on or off.
fnvoid setDebugModeKey(Keyboard value) @safe @trusted nothrow @nogcSets the key that toggles debug mode.
fnbool isWindowResized() @safe @trusted nothrow @nogcReturns true if the window was resized.
fnvoid setWindowMinSize(int width, int height) @safe @trusted nothrow @nogcSets the minimum size of the window.
fnvoid setWindowMaxSize(int width, int height) @safe @trusted nothrow @nogcSets the maximum size of the window.
fnRgba windowBackgroundColor() @safe @trusted nothrow @nogcReturns the current background color (fill color) of the window.
fnvoid setWindowBackgroundColor(Rgba value) @safe @trusted nothrow @nogcSets the background color (fill color) of the window.
fnRgba windowBorderColor() @safe @trusted nothrow @nogcReturns the current color of the window borders shown when the aspect ratio is fixed.
fnvoid setWindowBorderColor(Rgba value) @safe @trusted nothrow @nogcSets the color of the window borders shown when the aspect ratio is fixed.
fnvoid setWindowTitle(IStr value) @safe @trusted nothrow @nogcSets the title of the window.
fnFault setWindowIconFromFiles(IStr path) @safe @trusted nothrow @nogcSets the window icon using an texture file (PNG). Uses the assets path unless the input starts with `/` or `\`, or `isUsingAssetsPath` is false. Path separators are normalized to the platform's nat...
fnint screenWidth() @safe @trusted nothrow @nogcReturns the current screen width.
fnint screenHeight() @safe @trusted nothrow @nogcReturns the current screen height.
fnVec2 screenSize() @safe @trusted nothrow @nogcReturns the current screen size.
fnint windowWidth() @safe @trusted nothrow @nogcReturns the current window width.
fnint windowHeight() @safe @trusted nothrow @nogcReturns the current window height.
fnVec2 windowSize() @safe @trusted nothrow @nogcReturns the current window size.
fnint resolutionWidth() @safe @trusted nothrow @nogcReturns the current resolution width.
fnint resolutionHeight() @safe @trusted nothrow @nogcReturns the current resolution height.
fnVec2 resolution() @safe @trusted nothrow @nogcReturns the current resolution.
fnbool isResolutionLocked() @safe @trusted nothrow @nogcReturns true if the resolution is locked.
fnvoid lockResolution(int width, int height) @safe @trusted nothrow @nogcLocks the resolution to the given width and height.
fnvoid unlockResolution() @safe @trusted nothrow @nogcUnlocks the resolution.
fnvoid toggleResolution(int width, int height) @safe @trusted nothrow @nogcToggles resolution lock using the specified width and height.
fnViewportInfo engineViewportInfo() @safe @trusted nothrow @nogcReturns information about the engine viewport, including its size and position.
fnbool isFullscreen() @safe @trusted nothrow @nogcReturns true if the application is in fullscreen mode.
fnvoid setIsFullscreen(bool value) @safe @trusted nothrow @nogcSets whether the application should be in fullscreen mode.
fnvoid toggleIsFullscreen() @safe @trusted nothrow @nogcToggles fullscreen mode.
fnbool isCursorVisible() @safe @trusted nothrow @nogcReturns true if the cursor is visible.
fnvoid setIsCursorVisible(bool value) @safe @trusted nothrow @nogcSets whether the cursor should be visible.
fnvoid toggleIsCursorVisible() @safe @trusted nothrow @nogcToggles cursor visibility.
fnint fps() @safe @trusted nothrow @nogcReturns the current frames per second (FPS).
fnint fpsMax() @safe @trusted nothrow @nogcReturns the maximum frames per second (FPS).
fnvoid setFpsMax(int value) @safe @trusted nothrow @nogcSets the maximum frames per second (FPS).
fnbool vsync() @safe @trusted nothrow @nogcReturns the vertical synchronization (VSync) state.
fnvoid setVsync(bool value) @safe @trusted nothrow @nogcSets the vertical synchronization (VSync) state.
fndouble elapsedTime() @safe @trusted nothrow @nogcReturns the total elapsed time since the application started. Prefer using `elapsedTickTime`.
fndouble elapsedTickTime() @safe @trusted nothrow @nogcReturns the total elapsed time since the application started, at the start of the current tick.
fnulong elapsedTicks() @safe @trusted nothrow @nogcReturns the total number of ticks since the application started.
fnfloat deltaTime() @safe @trusted nothrow @nogcReturns the time elapsed since the last frame.
fnint randi() @safe @trusted nothrow @nogcReturns a random integer between 0 and int.max (inclusive).
fnfloat randf() @safe @trusted nothrow @nogcReturns a random float between 0.0 and 1.0 (inclusive).
fnvoid randomize() @safe @trusted nothrow @nogcRandomizes the seed of the random number generator.
fnvoid setRandomSeed(int value) @safe @trusted nothrow @nogcSets the random number generator seed to the given value.
fnFilter defaultFilter() @safe @trusted nothrow @nogcReturns the default filter mode used for textures, fonts and viewports.
fnvoid setDefaultFilter(Filter value) @safe @trusted nothrow @nogcSets the default filter mode used for textures, fonts and viewports.
fnWrap defaultWrap() @safe @trusted nothrow @nogcReturns the default wrap mode used for textures, fonts and viewports.
fnvoid setDefaultWrap(Wrap value) @safe @trusted nothrow @nogcSets the default wrap mode used for textures, fonts and viewports.
fnFontId defaultFont() @safe @trusted nothrow @nogcReturns the default font used for null fonts.
fnvoid setDefaultFont(FontId value) @safe @trusted nothrow @nogcSets the default font used for null fonts.
fnbool isNullTextureVisible() @safe @trusted nothrow @nogcReturns true if drawing is done when using a null texture.
fnvoid setIsNullTextureVisible(bool value) @safe @trusted nothrow @nogcSets whether drawing should be done when using a null texture.
fnbool isNullFontVisible() @safe @trusted nothrow @nogcReturns true if drawing is done when using a null font.
fnvoid setIsNullFontVisible(bool value) @safe @trusted nothrow @nogcSets whether drawing should be done when using a null font.
fnbool isPixelSnapped() @safe @trusted nothrow @nogcReturns true if drawing is snapped to pixel coordinates.
fnvoid setIsPixelSnapped(bool value) @safe @trusted nothrow @nogcSets whether drawing should snap to pixel coordinates.
fnbool isPixelPerfect() @safe @trusted nothrow @nogcReturns true if drawing is pixel-perfect.
fnvoid setIsPixelPerfect(bool value) @safe @trusted nothrow @nogcSets whether drawing should be pixel-perfect.
fnVec2 measureTextSize(FontId font, IStr text, DrawOptions options = DrawOptions(), TextOptions extra = TextOptions()) @safe @trusted nothrow @nogcReturns the size of the text.
fnVec2 toCanvasPoint(Vec2 point, Camera camera) @safe @trusted nothrow @nogcConverts a scene point to a canvas point using the given camera and resolution.
fnVec2 toCanvasPoint(Vec2 point, Camera camera, Vec2 canvasSize) @safe @trusted nothrow @nogcConverts a scene point to a canvas point using the given camera and canvas size.
fnVec2 toScenePoint(Vec2 point, Camera camera) @safe @trusted nothrow @nogcConverts a canvas point to a scene point using the given camera and resolution.
fnVec2 toScenePoint(Vec2 point, Camera camera, Vec2 canvasSize) @safe @trusted nothrow @nogcConverts a canvas point to a scene point using the given camera and canvas size.
fnIStr[] envArgs() @safe @trusted nothrow @nogcReturns the arguments this application was started with.
fnIStr[] droppedPaths() @safe @trusted nothrow @nogcReturns the dropped paths from the current frame.
fnvoid takeScreenshot(IStr path, bool isUsingLockedResolution = false, bool hasAlpha = false, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrow @nogcTakes a screenshot and saves it to the given path. Uses the assets path unless the input starts with `/` or `\`, or `isUsingAssetsPath` is false. Path separators are normalized to the platform's na...
fnvoid requestScreenshot(bool isUsingLockedResolution = false, bool hasAlpha = false, IStr file = __FILE__, Sz line = __LINE__) @safe @trusted nothrow @nogcTakes a screenshot and creates a texture from it that can be used with the `getRequestedScreenshot` function.
fnbool getRequestedScreenshot(ref TextureId result, bool canFreeGivenTexture) @safe @trusted nothrow @nogcReturns the texture created by the last screenshot request, if available (true). When `canFreeGivenTexture` is true, the existing texture in `result` is freed.
fnvoid openUrl(IStr url) @safe @trusted nothrow @nogcOpens a URL in the default web browser.
fnFault lastLoadOrSaveFault() @safe @trusted nothrow @nogcReturns the last fault from a load or save call.
fnbool didLoadOrSaveSucceed(Fault fault, IStr message) @safe @trusted nothrow @nogcHelper for checking the result of a load or save call. Returns true if the fault is none, false otherwise.
fnSz textureIdCount() @safe @trusted nothrow @nogcReturns the number of loaded textures.
fnSz fontIdCount() @safe @trusted nothrow @nogcReturns the number of loaded fonts.
fnSz soundIdCount() @safe @trusted nothrow @nogcReturns the number of loaded sounds.
fnSz viewportIdCount() @safe @trusted nothrow @nogcReturns the number of loaded viewports.
fnvoid freeAllTextureIds() @safe @trusted nothrow @nogcFrees all loaded textures.
fnvoid freeAllFontIds() @safe @trusted nothrow @nogcFrees all loaded fonts.
fnvoid freeAllSoundIds() @safe @trusted nothrow @nogcFrees all loaded sounds.
fnvoid freeAllViewportIds() @safe @trusted nothrow @nogcFrees all loaded viewports.
fnvoid freeAllResourceIds() @safe @trusted nothrow @nogcFrees all loaded textures, fonts, sounds, and viewports.
fnvoid clearAllEngineTasks() @safe @trusted nothrow @nogcClears all engine tasks.
fnVec2 mouse() @safe @trusted nothrow @nogcReturns the current mouse position on the window.
fnVec2 deltaMouse() @safe @trusted nothrow @nogcReturns the change in mouse position since the last frame.
fnfloat deltaWheel() @safe @trusted nothrow @nogcReturns the change in mouse wheel position since the last frame.
fnbool isDown(char key) @safe @trusted nothrow @nogcReturns true if the specified character is currently pressed.
fnbool isDown(IStr keys) @safe @trusted nothrow @nogcReturns true if one of the specified characters is currently pressed.
fnbool isDown(const(Keyboard) key1, const(Keyboard)[] keys...) @safe @trusted nothrow @nogcReturns true if one of the specified keyboard keys is currently pressed.
fnbool isDown(Mouse key) @safe @trusted nothrow @nogcReturns true if the specified mouse button is currently pressed.
fnbool isDown(Gamepad key, int id = 0) @safe @trusted nothrow @nogcReturns true if the specified gamepad button is currently pressed.
fnbool isDown(InputBinding binding) @safe @trusted nothrow @nogcReturns true if any of the keyboard keys or the gamepad button in the specified binding is currently pressed.
fnbool isPressed(char key) @safe @trusted nothrow @nogcReturns true if the specified character was pressed this frame.
fnbool isPressed(IStr keys) @safe @trusted nothrow @nogcReturns true if one of the specified characters was pressed this frame.
fnbool isPressed(const(Keyboard) key1, const(Keyboard)[] keys...) @safe @trusted nothrow @nogcReturns true if one of the specified keyboard keys was pressed this frame.
fnbool isPressed(Mouse key) @safe @trusted nothrow @nogcReturns true if the specified mouse button was pressed this frame.
fnbool isPressed(Gamepad key, int id = 0) @safe @trusted nothrow @nogcReturns true if the specified gamepad button was pressed this frame.
fnbool isPressed(InputBinding binding) @safe @trusted nothrow @nogcReturns true if any of the keyboard keys or the gamepad button in the specified binding was pressed this frame.
fnbool isReleased(char key) @safe @trusted nothrow @nogcReturns true if the specified character was released this frame.
fnbool isReleased(IStr keys) @safe @trusted nothrow @nogcReturns true if one of the specified characters was released this frame.
fnbool isReleased(const(Keyboard) key1, const(Keyboard)[] keys...) @safe @trusted nothrow @nogcReturns true if one of the specified keyboard keys was released this frame.
fnbool isReleased(Mouse key) @safe @trusted nothrow @nogcReturns true if the specified mouse button was released this frame.
fnbool isReleased(Gamepad key, int id = 0) @safe @trusted nothrow @nogcReturns true if the specified gamepad button was released this frame.
fnbool isReleased(InputBinding binding) @safe @trusted nothrow @nogcReturns true if any of the keyboard keys or the gamepad button in the specified binding was released this frame.
fnVec2 wasd() @safe @trusted nothrow @nogcReturns the direction from the WASD and arrow keys that are currently down. The result is not normalized.
fnVec2 wasdPressed() @safe @trusted nothrow @nogcReturns the direction from the WASD and arrow keys that were pressed this frame. The result is not normalized.
fnVec2 wasdReleased() @safe @trusted nothrow @nogcReturns the direction from the WASD and arrow keys that were released this frame. The result is not normalized.
fnKeyboard dequeuePressedKey() @safe @trusted nothrow @nogcReturns the next recently pressed keyboard key. This acts like a queue. Returns `Keyboard.none` if the queue is empty.
fndchar dequeuePressedRune() @safe @trusted nothrow @nogcReturns the next recently pressed character. This acts like a queue. Returns `\0` if the queue is empty.
fnvoid attach(ref Camera camera, Rounding type = Rounding.none) @safe @trusted nothrow @nogcAttaches the given camera and makes it active.
fnvoid attach(ViewportId viewport) @safe @trusted nothrow @nogcAttaches the given viewport and makes it active.
fnvoid detach(ref Camera camera) @safe @trusted nothrow @nogcDetaches the currently active camera.
fnvoid detach(ViewportId viewport) @safe @trusted nothrow @nogcDetaches the currently active viewport.
fnvoid beginClip(Rect area) @safe @trusted nothrow @nogcBegins a clipping region using the given area.
fnvoid beginClip(float x, float y, float w, float h) @safe @trusted nothrow @nogcBegins a clipping region using the given area.
fnvoid endClip() @safe @trusted nothrow @nogcEnds the active clipping region.
fnvoid beginDepthSort(DepthSortMode mode = DepthSortMode.topDown) @safe @trusted nothrow @nogcBegins a depth sort. Works only with textures.
fnvoid endDepthSort() @safe @trusted nothrow @nogcEnds a depth sort. Works only with textures.
fnvoid drawRect(Rect area, Rgba color = white, float thickness = - 1.0f) @safe @trusted nothrow @nogcDraws a rectangle with the specified area and color.
fnvoid drawRect(Vec2 position, Vec2 size, Rgba color = white, float thickness = - 1.0f) @safe @trusted nothrow @nogcDraws a rectangle with the specified area and color.
fnvoid drawRect(float x, float y, float w, float h, Rgba color = white, float thickness = - 1.0f) @safe @trusted nothrow @nogcDraws a rectangle with the specified area and color.
fnvoid drawVec2(Vec2 point, Rgba color = white, float thickness = 9.0f) @safe @trusted nothrow @nogcDraws a point at the specified location with the given size and color.
fnvoid drawVec2(float x, float y, Rgba color = white, float thickness = 9.0f) @safe @trusted nothrow @nogcDraws a point at the specified location with the given size and color.
fnvoid drawCirc(Circ area, Rgba color = white, float thickness = - 1.0f) @safe @trusted nothrow @nogcDraws a circle with the specified area and color.
fnvoid drawCirc(Vec2 position, float radius, Rgba color = white, float thickness = - 1.0f) @safe @trusted nothrow @nogcDraws a circle with the specified area and color.
fnvoid drawCirc(float x, float y, float radius, Rgba color = white, float thickness = - 1.0f) @safe @trusted nothrow @nogcDraws a circle with the specified area and color.
fnvoid drawLine(Line area, Rgba color = white, float thickness = 9.0f) @safe @trusted nothrow @nogcDraws a line with the specified area, thickness, and color.
fnvoid drawLine(Vec2 a, Vec2 b, Rgba color = white, float thickness = 9.0f) @safe @trusted nothrow @nogcDraws a line with the specified area, thickness, and color.
fnvoid drawLine(float x1, float y1, float x2, float y2, Rgba color = white, float thickness = 9.0f) @safe @trusted nothrow @nogcDraws a line with the specified area, thickness, and color.
fnvoid drawSurface(ref Surface surface, Vec2 position, DrawOptions options = DrawOptions()) @safe @trusted nothrow @nogcDraws the surface at the given position with the specified draw options. Note: Surfaces are uploaded to a GPU atlas every frame they are drawn.
fnvoid drawSurfaceArea(ref Surface surface, Rect area, Vec2 position, DrawOptions options = DrawOptions()) @safe @trusted nothrow @nogcDraws a portion of the specified surface at the given position with the specified draw options. Note: Surfaces are uploaded to a GPU atlas every frame they are drawn.
fnvoid drawTexture(TextureId texture, Vec2 position, DrawOptions options = DrawOptions()) @safe @trusted nothrow @nogcDraws the texture at the given position with the specified draw options.
fnvoid drawTextureArea(TextureId texture, Rect area, Vec2 position, DrawOptions options = DrawOptions()) @safe @trusted nothrow @nogcDraws a portion of the specified texture at the given position with the specified draw options.
fnvoid drawTextureSlice(TextureId texture, Rect area, Rect target, Margin margin, bool canRepeat, DrawOptions options = DrawOptions()) @safe @trusted nothrow @nogcDraws a 9-slice from the specified texture area at the given target area.
fnvoid drawViewportArea(ViewportId viewport, Rect area, Vec2 position, DrawOptions options = DrawOptions()) @safe @trusted nothrow @nogcDraws a portion of the specified viewport at the given position with the specified draw options.
fnvoid drawViewport(ViewportId viewport, Vec2 position, DrawOptions options = DrawOptions()) @safe @trusted nothrow @nogcDraws the viewport at the given position with the specified draw options.
fnVec2 drawRune(FontId font, dchar rune, Vec2 position, DrawOptions options = DrawOptions()) @safe @trusted nothrow @nogcDraws a single character from the specified font at the given position with the specified draw options.
fnVec2 drawRune(dchar rune, Vec2 position, DrawOptions options = DrawOptions()) @safe @trusted nothrow @nogcDraws a single character from the default font at the given position with the specified draw options. Call `setDefaultFont` before using this function.
fnVec2 drawText(FontId font, IStr text, Vec2 position, DrawOptions options = DrawOptions(), TextOptions extra = TextOptions()) @safe @trusted nothrow @nogcDraws the specified text with the given font at the given position using the provided draw options.
fnVec2 drawText(IStr text, Vec2 position, DrawOptions options = DrawOptions(), TextOptions extra = TextOptions()) @safe @trusted nothrow @nogcDraws text with the default font at the given position with the provided draw options. Call `setDefaultFont` before using this function.
fnvoid dprintfln(A...)(IStr fmtStr, A args) @safe @trusted nothrow @nogcAppend a formatted line to the overlay text buffer. Drawn after everything else using the current default font.
fnvoid dprintln(A...)(A args) @safe @trusted nothrow @nogcAppend a line to the overlay text buffer. Drawn after everything else using the current default font.
fnIStr dprintBuffer() @safe @trusted nothrow @nogcReturns the contents of the overlay text buffer. The returned string references the internal buffer and may change if more text is printed.
fnvoid setDprintFont(FontId value) @safe @trusted nothrow @nogcSets the font of the overlay text.
fnvoid setDprintPosition(Vec2 value) @safe @trusted nothrow @nogcSets the position of the overlay text.
fnvoid setDprintOptions(DrawOptions value) @safe @trusted nothrow @nogcSets the drawing options for the overlay text.
fnvoid setDprintLineCountLimit(Sz value) @safe @trusted nothrow @nogcSets the maximum number of overlay text lines. Older lines are removed once this limit is reached. Use 0 for unlimited.
fnvoid setDprintVisibility(bool value) @safe @trusted nothrow @nogcSets the visibility state of the overlay text. Does not affect manual drawing via `drawDprintBuffer`.
fnvoid toggleDprintVisibility() @safe @trusted nothrow @nogcToggles the visibility state of the overlay text. Does not affect manual drawing via `drawDprintBuffer`.
fnvoid clearDprintBuffer() @safe @trusted nothrow @nogcClears the overlay text.
fnvoid drawDprintBuffer() @safe @trusted nothrow @nogcDraws the overlay text now instead of at the end of the frame. The text will still be drawn automatically later unless the buffer is cleared with `clearDprintBuffer`, or visibility is disabled with...
fnvoid drawDebugEngineInfo(Vec2 screenPoint, Camera camera = Camera(), DrawOptions options = DrawOptions(), bool isLogging = false) @safe @trusted nothrow @nogcDraws debug engine information at the given position with the provided draw options. Hold the left mouse button to create and resize a debug area. Hold the right mouse button to move the debug area...
fnvoid drawDebugTileInfo(int tileWidth, int tileHeight, Vec2 screenPoint, Camera camera = Camera(), DrawOptions options = DrawOptions(), bool isLogging = false) @safe @trusted nothrow @nogcDraws debug tile information at the given position with the provided draw options.
fnvoid playSound(SoundId sound) @safe @trusted nothrow @nogcPlays the given sound. If the sound is already playing, this has no effect.
fnvoid stopSound(SoundId sound) @safe @trusted nothrow @nogcStops playback of the given sound.
fnvoid startSound(SoundId sound) @safe @trusted nothrow @nogcStarts playback of the given sound from the beginning.
fnvoid pauseSound(SoundId sound) @safe @trusted nothrow @nogcPauses playback of the given sound.
fnvoid resumeSound(SoundId sound) @safe @trusted nothrow @nogcResumes playback of the given sound if it was paused.
fnvoid toggleSoundIsActive(SoundId sound) @safe @trusted nothrow @nogcToggles whether the sound is playing or stopped.
fnvoid toggleSoundIsPaused(SoundId sound) @safe @trusted nothrow @nogcToggles whether the sound is paused or resumed.
fnfloat masterVolume() @safe @trusted nothrow @nogcReturns the current master volume level.
fnvoid setMasterVolume(float value) @safe @trusted nothrow @nogcSets the master volume level.
fnvoid drawTile(TextureId texture, Tile tile, DrawOptions options = DrawOptions()) @safe @trusted nothrow @nogcDraws a tile with a texture.
fnvoid drawTileMap(Sz N)(TextureId texture, ref GTileMap!N map, Rect viewArea = Rect(), DrawOptions options = DrawOptions()) @safe @trusted nothrow @nogcDraws a tile map with a texture. The view area controls what is visible.
fnvoid drawTileMap(Sz N)(TextureId texture, ref GTileMap!N map, Camera camera, DrawOptions options = DrawOptions()) @safe @trusted nothrow @nogcDraws a tile map with a texture. The camera controls what is visible.
fnvoid drawSprite(TextureId texture, Sprite sprite, DrawOptions options = DrawOptions()) @safe @trusted nothrow @nogcDraws a sprite with a texture. The Hook and Flip of the options is ignored.
fnvoid drawSpriteStackLayer(TextureId texture, SpriteStack stack, uint layer, Rgba layerColor = white, float layerScale = 1.0f) @safe @trusted nothrow @nogcDraws a sprite stack later.
fnvoid drawSpriteStack(TextureId texture, SpriteStack stack, Rgba layerColor = white, float layerScale = 1.0f) @safe @trusted nothrow @nogcDraws a sprite stack as is, without any depth.
fnvoid drawDebugBoxWorld(ref BoxWorld world, Rgba actorColor = blue, Rgba wallColor = maroon) @safe @trusted nothrow @nogcDraws debug rectangles based on the given box world.

Variables 30

varEngineState * _engineState
enumvardefaultEngineTitle = "Parin"
enumvardefaultEngineWidth = 1280
enumvardefaultEngineHeight = 720
enumvardefaultEngineVsync = true
enumvardefaultEngineFpsMax = 60
enumvardefaultEngineWindowMinWidth = 320
enumvardefaultEngineWindowMinHeight = 180
enumvardefaultEngineWindowMinSize = Vec2(defaultEngineWindowMinWidth, defaultEngineWindowMinHeight)
enumvardefaultEngineDebugModeKey = Keyboard.f3
enumvardefaultEngineFlags = EngineFlag.isUsingAssetsPath | EngineFlag.isNullTextureVisible | EngineFlag.isNullFontVisible | EngineFlag.isLoggingLoadOrSaveFaults | EngineFlag.isLoggingMemoryTrackingInfo
enumvardefaultEngineValidateErrorMessage = "Resource is invalid or was never assigned."
enumvardefaultEngineLoadErrorMessage = "ERROR({}:{}): Can't load {} from \"{}\""
enumvardefaultEngineSaveErrorMessage = "ERROR({}:{}): Can't save {} to \"{}\""
enumvardefaultEngineLoadOrSaveTextCapacity = 16 * kilobyte
enumvardefaultEngineEnvArgsCapacity = (64 / defaultEngineResourceScaleDenominator)
enumvardefaultEngineEngineTasksCapacity = (64 / defaultEngineResourceScaleDenominator)
enumvardefaultEngineAssetsPathCapacity = (8 / defaultEngineResourceScaleDenominator) * kilobyte
enumvardefaultEngineScreenshotTargetPathCapacity = (2 / defaultEngineResourceScaleDenominator) * kilobyte
enumvardefaultEngineArenaCapacity = (4 / defaultEngineResourceScaleDenominator) * megabyte
enumvardefaultEngineDprintCapacity = (4 / defaultEngineResourceScaleDenominator) * kilobyte
enumvardefaultEngineDprintPosition = Vec2(3, 3)
enumvardefaultEngineDprintLineCountLimit = 13
enumvardefaultEngineDprintFont = engineFont
enumvardefaultEngineDebugColor1 = white.alpha(120)
enumvardefaultEngineDebugColor2 = black.alpha(170)
enumvarengineFont = FontId(ResourceId(1))

The engine font identifier.

enumvarengineFontSmall = FontId(ResourceId(2))

The second engine font identifier.

enumvarengineViewport = ViewportId(ResourceId(1))

The engine viewport identifier.

enumvar_screenshotRequestPath = "[SCREENSHOT]"