parin.engine
The engine module functions as a lightweight 2D game engine.
var _engineState _screenshotRequestPath defaultEngineArenaCapacity defaultEngineAssetsPathCapacity defaultEngineDebugColor1 defaultEngineDebugColor2 defaultEngineDebugModeKey defaultEngineDprintCapacity defaultEngineDprintFont defaultEngineDprintLineCountLimit defaultEngineDprintPosition defaultEngineEngineTasksCapacity defaultEngineEnvArgsCapacity defaultEngineFlags defaultEngineFpsMax defaultEngineHeight defaultEngineLoadErrorMessage defaultEngineLoadOrSaveTextCapacity defaultEngineSaveErrorMessage defaultEngineScreenshotTargetPathCapacity defaultEngineTitle defaultEngineValidateErrorMessage defaultEngineVsync defaultEngineWidth defaultEngineWindowMinHeight defaultEngineWindowMinSize defaultEngineWindowMinWidth engineFont engineFontSmall engineViewport
struct _Attached _DepthSort Clip DepthSortCommand DepthSortData DepthSortPair EngineState EngineViewport EngineViewportInfo FontId SoundId TextureId ViewportId
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 defaultTexture defaultTextureAreaSize defaultWrap deltaMouse deltaTime deltaWheel DepthSort dequeuePressedKey dequeuePressedRune detach didLoadOrSaveSucceed dprintBuffer dprintfln dprintln drawCirc drawDebugBoxWorld drawDebugEngineInfo drawDebugTileInfo drawDprintBuffer drawLine drawRect drawRune drawSprite drawSurface drawSurfaceArea drawText drawTexture drawTextureArea drawTextureSlice drawTile drawTileMap drawVec2 drawViewport drawViewportArea droppedPaths elapsedTicks 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 setDefaultTexture setDefaultTextureAreaSize 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 tickTime toAssetsPath toCanvasPoint toggleDprintVisibility toggleIsCursorVisible toggleIsDebugMode toggleIsFullscreen toggleResolution toggleSoundIsActive toggleSoundIsPaused toScenePoint unlockResolution updateWindow viewportIdCount vsync wasd wasdPressed wasdReleased windowBackgroundColor windowBorderColor windowHeight windowSize windowWidth
Types 21
aliasEngineTasks = GenList!(
Task,
SparseList!(Task, FixedList!(SparseListItem!Task, defaultEngineEngineTasksCapacity)),
FixedList!(Gen, defaultEngineEngineTasksCapacity)
)
A container type holding scheduled engine tasks.
aliasEngineTaskId = GenIndex
An identifier for a scheduled engine task.
aliasEngineFlags = uint
Type representing the internal engine flags.
enumEngineFlag : EngineFlags
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
structEngineViewportInfo
structEngineViewport
Internal representation of a viewport within the engine.
structEngineState
Internal state of the engine.
Fields
EngineFlags flagsUpdateFunc updateFuncCallFunc debugModeFuncCallFunc debugModeBeginFuncCallFunc debugModeEndFuncKeyboard debugModeKeybool debugModePreviousStatebool debugModeEnteringFrameStatebool debugModeExitingFrameStateEngineViewportInfo viewportInfoBufferVec2 mouseBufferVec2 wasdBufferVec2 wasdPressedBufferVec2 wasdReleasedBufferdouble tickTimeBufferbool clipIsActiveRgba windowBorderColorFilter defaultFilterWrap defaultWrapFontId defaultFontTextureId defaultTextureVec2 defaultTextureAreaSizeint defaultTextureAreaColCountTextureId currentScreenshotTextureCamera userCameraViewportId userViewportFault lastLoadOrSaveFaultIStr memoryTrackingInfoFilterFStr!defaultEngineAssetsPathCapacity assetsPathFStr!defaultEngineScreenshotTargetPathCapacity screenshotTargetPathFStr!defaultEngineScreenshotTargetPathCapacity screenshotLastFaultPathIStr screenshotLastFaultFileSz screenshotLastFaultLineEngineTasks tasksFStr!defaultEngineDprintCapacity dprintBufferFontId dprintFontVec2 dprintPositionDrawOptions dprintOptionsSz dprintLineCountSz dprintLineCountLimitbool dprintIsVisibleDepthSortData depthSortDataDepthSortMode depthSortModebool depthSortActiveEngineViewport viewportGrowingArena arenastructTextureId
A texture identifier.
Fields
ResourceId dataMethods
bool isNull()Checks whether the resource is null (default value).bool isValid()Checks whether the resource is valid (loaded). Null is invalid.TextureId validate(IStr message = defaultEngineValidateErrorMessage)Returns this resource if valid, or asserts with the given message if not.int width()Returns the width in pixels.int height()Returns the height in pixels.void free()Frees the resource and resets the identifier to null.structFontId
A font identifier.
Fields
ResourceId dataMethods
bool isNull()Checks whether the resource is null (default value).bool isValid()Checks whether the resource is valid (loaded). Null is invalid.FontId validate(IStr message = defaultEngineValidateErrorMessage)Returns this resource if valid, or asserts with the given message if not.int size()Returns the font size in pixels.int runeSpacing()Returns the spacing between characters in pixels.void setRuneSpacing(int value)Sets the spacing between characters in pixels.int lineSpacing()Returns the spacing between lines in pixels.void setLineSpacing(int value)Sets the spacing between lines in pixels.void free()Frees the resource and resets the identifier to null.structSoundId
A sound identifier.
Fields
ResourceId dataMethods
bool isNull()Checks whether the resource is null (default value).bool isValid()Checks whether the resource is valid (loaded). Null is invalid.SoundId validate(IStr message = defaultEngineValidateErrorMessage)Returns this resource if valid, or asserts with the given message if not.float volume()Returns the volume. The default value is 1.0 (normal level).void setVolume(float value)Sets the volume. The default value is 1.0 (normal level).float pan()Returns the pan. The default value is 0.5 (center).void setPan(float value)Sets the pan. The default value is 0.5 (center).float pitch()Returns the pitch. The default value is 1.0 (base level).void setPitch(float value, bool canUpdatePitchVarianceBase = false)Sets the pitch. The default value is 1.0 (base level).float pitchVariance()Returns the pitch variance. The default value is 1.0 (no variation).void setPitchVariance(float value)Sets the pitch variance. The default value is 1.0 (no variation).float pitchVarianceBase()Returns the pitch variance base. The default value is 1.0 (base level).void setPitchVarianceBase(float value)Sets the pitch variance base. The default value is 1.0 (base level).bool canRepeat()Returns true if the sound is set to repeat.void setCanRepeat(bool value)Sets whether the sound should repeat.bool isActive()Returns true if the sound is currently active (playing).bool isPaused()Returns true if the sound is currently paused.float time()Returns the current playback time in seconds.float duration()Returns the total duration in seconds.float progress()Returns the progress. The value is between 0.0 and 1.0 (inclusive).void free()Frees the resource and resets the identifier to null.structViewportId
A viewport identifier.
Fields
ResourceId dataMethods
bool isNull()Checks whether the resource is null (default value).bool isValid()Checks whether the resource is valid (loaded). Null is invalid.ViewportId validate(IStr message = defaultEngineValidateErrorMessage)Returns this resource if valid, or asserts with the given message if not.int width()Returns the width in pixels.int height()Returns the height in pixels.bool isFirstUse()Returns true if the viewport has never been used (attached).bool isAttached()Returns true if the viewport is attached.void resize(int newWidth, int newHeight)Resizes the viewport. Internally, this creates a new texture, so avoid calling it while the viewport is in use.void free()Frees the resource and resets the identifier to null.structClip
structDepthSortData
Methods
void free() @trustedenumDepthSortMode : ubyte
Depth sorting modes.
topDownSorts with: Layer + Y + Call Order
topDownFastSorts with: Layer + Y
topDownFastestSorts with: Y
layeredSorts with: Layer + Call Order
structDepthSortCommand
structDepthSortPair
Fields
float yushort iubyte layerstruct_DepthSort
aliasevery = repeatTask
deprecated Use `repeatTask`.
aliascancel = cancelTask
deprecated Use `cancelTask`.
Functions 235
fn
_Attached!T Attached(T)(ref T object) @trusted nothrow @nogcAttaches the camera for the scope and detaches automatically. Designed to be used with the `with` keyword.fn
_DepthSort DepthSort(DepthSortMode mode = DepthSortMode.topDown) @safe nothrow @nogcA depth sort. Works only with textures. Designed to be used with the `with` keyword.fn
int _parinSortTopDown(const(void) * a, const(void) * b)fn
int _parinSortTopDownFast(const(void) * a, const(void) * b)fn
int _parinSortTopDownFastest(const(void) * a, const(void) * b)fn
int _parinSortLayered(const(void) * a, const(void) * b)fn
void openWindow(int width, int height, const(IStr)[] args, IStr title = "Parin", bool vsync = defaultEngineVsync)Opens the window with the given information. Avoid calling this function manually.fn
void openWindowC(int width, int height, int argc, IStrz * argv, IStrz title = "Parin", bool vsync = defaultEngineVsync)Opens the window with the given information using C strings. Avoid calling this function manually.fn
void updateWindow(UpdateFunc updateFunc, CallFunc debugModeFunc = null, CallFunc debugModeBeginFunc = null, CallFunc debugModeEndFunc = null)Starts the main window loop. Accepts an update function and optional debug callbacks. Returns when the update function returns true. Avoid calling this function manually.fn
Vec2 drawText(A...)(FontId font, InterpolationHeader header, A args, InterpolationFooter footer, Vec2 position, DrawOptions options = DrawOptions(), TextOptions extra = TextOptions())fn
Vec2 drawText(A...)(InterpolationHeader header, A args, InterpolationFooter footer, Vec2 position, DrawOptions options = DrawOptions(), TextOptions extra = TextOptions())fn
void dprintfln(A...)(InterpolationHeader header, A args, InterpolationFooter footer)fn
void * frameMalloc(Sz alignment, Sz size, IStr file = __FILE__, Sz line = __LINE__)Allocates raw memory from the frame arena.fn
void * frameRealloc(Sz alignment, void * oldPtr, Sz oldSize, Sz newSize, IStr file = __FILE__, Sz line = __LINE__)Reallocates memory from the frame arena.fn
T * frameMakeBlank(T)(IStr file = __FILE__, Sz line = __LINE__)Allocates uninitialized memory for a single value of type `T`.fn
T * frameMake(T)(IStr file = __FILE__, Sz line = __LINE__)Allocates and initializes a single value of type `T`.fn
T * frameMake(T)(const(T) value, IStr file = __FILE__, Sz line = __LINE__)Allocates and initializes a single value of type `T`.fn
T[] frameMakeSliceBlank(T)(Sz length, IStr file = __FILE__, Sz line = __LINE__)Allocates uninitialized memory for an array of type `T` with the given length.fn
T[] frameMakeSlice(T)(Sz length, IStr file = __FILE__, Sz line = __LINE__)Allocates and initializes an array of type `T` with the given length.fn
T[] frameMakeSlice(T)(Sz length, const(T) value, IStr file = __FILE__, Sz line = __LINE__)Allocates and initializes an array of type `T` with the given length.fn
T[] frameMakeSlice(T)(const(T)[] values, IStr file = __FILE__, Sz line = __LINE__)Allocates and initializes an array of type `T` with the given slice.fn
T[] frameResizeSlice(T)(T * values, Sz oldLength, Sz newLength, IStr file = __FILE__, Sz line = __LINE__)Resizes an array of type `T` with the given slice pointer and length.fn
BStr prepareTempText(Sz capacity = defaultEngineLoadOrSaveTextCapacity, IStr file = __FILE__, Sz line = __LINE__)Allocates a temporary text buffer for this frame. Each call returns a new buffer.fn
EngineTaskId repeatTask(UpdateFunc func, float interval, int count = - 1, bool canCallNow = false)Schedules 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.fn
Surface loadSurface(IStr path, IStr file = __FILE__, Sz line = __LINE__)Loads 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...fn
Surface loadSurface(const(ubyte)[] memory, IStr ext = ".png", IStr file = __FILE__, Sz line = __LINE__)Loads a surface file (PNG) from memory with default filter and wrap modes.fn
TextureId loadTexture(IStr path, IStr file = __FILE__, Sz line = __LINE__)Loads 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...fn
TextureId loadTexture(const(ubyte)[] memory, IStr ext = ".png", IStr file = __FILE__, Sz line = __LINE__)Loads a texture file (PNG) from memory with default filter and wrap modes.fn
FontId loadFont(IStr path, int size, int runeSpacing = - 1, int lineSpacing = - 1, IStr32 runes = "", IStr file = __FILE__, Sz line = __LINE__)Loads 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...fn
FontId loadFont(const(ubyte)[] memory, int size, int runeSpacing = - 1, int lineSpacing = - 1, IStr32 runes = "", IStr ext = ".ttf", IStr file = __FILE__, Sz line = __LINE__)Loads a font file (TTF) from memory with default filter and wrap modes.fn
FontId loadFont(TextureId texture, int tileWidth, int tileHeight, IStr file = __FILE__, Sz line = __LINE__)Loads a font file (TTF) from a texture with default filter and wrap modes. The input texture will be invalidated after loading.fn
SoundId loadSound(IStr path, float volume, float pitch, bool canRepeat, float pitchVariance = 1.0f, IStr file = __FILE__, Sz line = __LINE__)Loads 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...fn
ViewportId loadViewport(int width, int height, Rgba color, Blend blend = Blend.alpha, IStr file = __FILE__, Sz line = __LINE__)Loads a viewport with default filter and wrap modes.fn
LStr loadBytes(IStr path, IStr file = __FILE__, Sz line = __LINE__)Loads 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...fn
IStr loadTempBytes(IStr path, Sz capacity = defaultEngineLoadOrSaveTextCapacity, IStr file = __FILE__, Sz line = __LINE__)Loads 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 ...fn
Fault loadBytesIntoBuffer(L = LStr)(IStr path, ref L listBuffer, IStr file = __FILE__, Sz line = __LINE__)Loads 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...fn
Fault saveBytes(IStr path, IStr bytes, IStr file = __FILE__, Sz line = __LINE__)Saves 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...fn
LStr loadText(IStr path, IStr file = __FILE__, Sz line = __LINE__)Loads 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...fn
IStr loadTempText(IStr path, Sz capacity = defaultEngineLoadOrSaveTextCapacity, IStr file = __FILE__, Sz line = __LINE__)Loads 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...fn
Fault loadTextIntoBuffer(L = LStr)(IStr path, ref L listBuffer, IStr file = __FILE__, Sz line = __LINE__)Loads 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.fn
Fault saveText(IStr path, IStr text, IStr file = __FILE__, Sz line = __LINE__)Saves 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.fn
Fault saveScreenshot(IStr path, ViewportId viewport, bool hasAlpha, IStr file = __FILE__, Sz line = __LINE__)Saves 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 ...fn
void _updateViewportInfoBuffer()fn
void _updateEngineMouseBuffer(Vec2 value)fn
void _updateEngineWasdBuffer()fn
int _TEMP_REPLACE_ME_GetCodepointNext(const(char) * text, int * codepointSize)fn
int _TEMP_REPLACE_ME_GetCodepointPrevious(const(char) * text, int * codepointSize)fn
IStr toAssetsPath(IStr path)Converts a path to one within the assets folder. Returns the path unchanged if it is absolute or asset paths are disabled.fn
void setIsLoggingMemoryTrackingInfo(bool value, IStr pathFilter = "")Enables or disables memory tracking logs.fn
bool isLoggingWithDprint()Returns true if load or save faults should be logged with the `dprint` functions.fn
void setIsLoggingWithDprint(bool value)Sets whether load or save faults should be logged with the `dprint` functions.fn
Rgba windowBorderColor()Returns the current color of the window borders shown when the aspect ratio is fixed.fn
void setWindowBorderColor(Rgba value)Sets the color of the window borders shown when the aspect ratio is fixed.fn
Fault setWindowIconFromFiles(IStr path)Sets 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...fn
void toggleResolution(int width, int height)Toggles resolution lock using the specified width and height.fn
EngineViewportInfo engineViewportInfo()Returns information about the engine viewport, including its size and position.fn
void setDefaultFilter(Filter value)Sets the default filter mode used for textures, fonts and viewports.fn
Vec2 defaultTextureAreaSize()Returns the default texture area size used for the ID version of `drawTextureArea`.fn
void setDefaultTextureAreaSize(Vec2 size)Sets the default texture area size used for the ID version of `drawTextureArea`.fn
void setIsNullTextureVisible(bool value)Sets whether drawing should be done when using a null texture.fn
Vec2 measureTextSize(FontId font, IStr text, DrawOptions options = DrawOptions(), TextOptions extra = TextOptions())Returns the size of the text.fn
Vec2 toCanvasPoint(Vec2 point, Camera camera)Converts a scene point to a canvas point using the given camera and resolution.fn
Vec2 toCanvasPoint(Vec2 point, Camera camera, Vec2 canvasSize)Converts a scene point to a canvas point using the given camera and canvas size.fn
Vec2 toScenePoint(Vec2 point, Camera camera)Converts a canvas point to a scene point using the given camera and resolution.fn
Vec2 toScenePoint(Vec2 point, Camera camera, Vec2 canvasSize)Converts a canvas point to a scene point using the given camera and canvas size.fn
void takeScreenshot(IStr path, bool isUsingLockedResolution = false, bool hasAlpha = false, IStr file = __FILE__, Sz line = __LINE__)Takes 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...fn
void requestScreenshot(bool isUsingLockedResolution = false, bool hasAlpha = false, IStr file = __FILE__, Sz line = __LINE__)Takes a screenshot and creates a texture from it that can be used with the `getRequestedScreenshot` function.fn
bool getRequestedScreenshot(ref TextureId result, bool canFreeGivenTexture)Returns the texture created by the last screenshot request, if available (true). When `canFreeGivenTexture` is true, the existing texture in `result` is freed.fn
bool didLoadOrSaveSucceed(Fault fault, IStr message)Helper for checking the result of a load or save call. Returns true if the fault is none, false otherwise.fn
bool isDown(Gamepad key, int id = 0)Returns true if the specified gamepad button is currently pressed.fn
bool isPressed(Gamepad key, int id = 0)Returns true if the specified gamepad button was pressed this frame.fn
bool isReleased(Gamepad key, int id = 0)Returns true if the specified gamepad button was released this frame.fn
Vec2 wasd()Returns the direction from the WASD and arrow keys that are currently down. The result is not normalized.fn
Vec2 wasdPressed()Returns the direction from the WASD and arrow keys that were pressed this frame. The result is not normalized.fn
Vec2 wasdReleased()Returns the direction from the WASD and arrow keys that were released this frame. The result is not normalized.fn
Keyboard dequeuePressedKey()Returns the next recently pressed keyboard key. This acts like a queue. Returns `Keyboard.none` if the queue is empty.fn
dchar dequeuePressedRune()Returns the next recently pressed character. This acts like a queue. Returns `\0` if the queue is empty.fn
void attach(ref Camera camera, Rounding type = Rounding.none)Attaches the given camera and makes it active.fn
void beginDepthSort(DepthSortMode mode = DepthSortMode.topDown)Begins a depth sort. Works only with textures.fn
void drawRect(Rect area, Rgba color = white, float thickness = - 1.0f)Draws a rectangle with the specified area and color.fn
void drawRect(Vec2 position, Vec2 size, Rgba color = white, float thickness = - 1.0f)Draws a rectangle with the specified area and color.fn
void drawRect(float x, float y, float w, float h, Rgba color = white, float thickness = - 1.0f)Draws a rectangle with the specified area and color.fn
void drawVec2(Vec2 point, Rgba color = white, float thickness = 9.0f)Draws a point at the specified location with the given size and color.fn
void drawVec2(float x, float y, Rgba color = white, float thickness = 9.0f)Draws a point at the specified location with the given size and color.fn
void drawCirc(Circ area, Rgba color = white, float thickness = - 1.0f)Draws a circle with the specified area and color.fn
void drawCirc(Vec2 position, float radius, Rgba color = white, float thickness = - 1.0f)Draws a circle with the specified area and color.fn
void drawCirc(float x, float y, float radius, Rgba color = white, float thickness = - 1.0f)Draws a circle with the specified area and color.fn
void drawLine(Line area, Rgba color = white, float thickness = 9.0f)Draws a line with the specified area, thickness, and color.fn
void drawLine(Vec2 a, Vec2 b, Rgba color = white, float thickness = 9.0f)Draws a line with the specified area, thickness, and color.fn
void drawLine(float x1, float y1, float x2, float y2, Rgba color = white, float thickness = 9.0f)Draws a line with the specified area, thickness, and color.fn
void drawSurface(ref Surface surface, Vec2 position, DrawOptions options = DrawOptions())Draws the surface at the given position with the specified draw options. Note: Surfaces are uploaded to a GPU atlas every frame they are drawn.fn
void drawSurfaceArea(ref Surface surface, Rect area, Vec2 position, DrawOptions options = DrawOptions())Draws 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.fn
void drawTexture(TextureId texture, Vec2 position, DrawOptions options = DrawOptions())Draws the texture at the given position with the specified draw options.fn
void drawTextureArea(TextureId texture, Rect area, Vec2 position, DrawOptions options = DrawOptions())Draws a portion of the specified texture at the given position with the specified draw options.fn
void drawTextureArea(Rect area, Vec2 position, DrawOptions options = DrawOptions())Draws a portion of the default texture at the given position with the specified draw options. Call `setDefaultTexture` before using this function.fn
void drawTextureArea(int id, Vec2 position, DrawOptions options = DrawOptions())Draws a portion of the default texture by ID at the given position with the specified draw options. Call `setDefaultTexture` and `setDefaultTextureAreaSize` before using this function.fn
void drawTextureSlice(TextureId texture, Rect area, Rect target, Margin margin, bool canRepeat, DrawOptions options = DrawOptions())Draws a 9-slice from the specified texture area at the given target area.fn
void drawTextureSlice(Rect area, Rect target, Margin margin, bool canRepeat, DrawOptions options = DrawOptions())Draws a 9-slice from the default texture area at the given target area. Call `setDefaultTexture` before using this function.fn
void drawViewportArea(ViewportId viewport, Rect area, Vec2 position, DrawOptions options = DrawOptions())Draws a portion of the specified viewport at the given position with the specified draw options.fn
void drawViewport(ViewportId viewport, Vec2 position, DrawOptions options = DrawOptions())Draws the viewport at the given position with the specified draw options.fn
Vec2 drawRune(FontId font, dchar rune, Vec2 position, DrawOptions options = DrawOptions())Draws a single character from the specified font at the given position with the specified draw options.fn
Vec2 drawRune(dchar rune, Vec2 position, DrawOptions options = DrawOptions())Draws a single character from the default font at the given position with the specified draw options. Call `setDefaultFont` before using this function.fn
Vec2 drawText(FontId font, IStr text, Vec2 position, DrawOptions options = DrawOptions(), TextOptions extra = TextOptions())Draws the specified text with the given font at the given position using the provided draw options.fn
Vec2 drawText(IStr text, Vec2 position, DrawOptions options = DrawOptions(), TextOptions extra = TextOptions())Draws text with the default font at the given position with the provided draw options. Call `setDefaultFont` before using this function.fn
void dprintfln(A...)(IStr fmtStr, A args)Append a formatted line to the overlay text buffer. Drawn after everything else using the current default font.fn
void dprintln(A...)(A args)Append a line to the overlay text buffer. Drawn after everything else using the current default font.fn
IStr dprintBuffer()Returns the contents of the overlay text buffer. The returned string references the internal buffer and may change if more text is printed.fn
void setDprintLineCountLimit(Sz value)Sets the maximum number of overlay text lines. Older lines are removed once this limit is reached. Use 0 for unlimited.fn
void setDprintVisibility(bool value)Sets the visibility state of the overlay text. Does not affect manual drawing via `drawDprintBuffer`.fn
void toggleDprintVisibility()Toggles the visibility state of the overlay text. Does not affect manual drawing via `drawDprintBuffer`.fn
void drawDprintBuffer()Draws 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...fn
void drawDebugEngineInfo(Vec2 screenPoint, Camera camera = Camera(), DrawOptions options = DrawOptions(), bool isLogging = false)Draws 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...fn
void drawDebugTileInfo(int tileWidth, int tileHeight, Vec2 screenPoint, Camera camera = Camera(), DrawOptions options = DrawOptions(), bool isLogging = false)Draws debug tile information at the given position with the provided draw options.fn
void playSound(SoundId sound)Plays the given sound. If the sound is already playing, this has no effect.fn
void drawTile(TextureId texture, Tile tile, DrawOptions options = DrawOptions())Draws a tile with a texture.fn
void drawTile(Tile tile, DrawOptions options = DrawOptions())Draws a tile with the default texture.fn
void drawTileMap(Sz N)(TextureId texture, ref GTileMap!N map, Rect viewArea = Rect(), DrawOptions options = DrawOptions())Draws a tile map with a texture. The view area controls what is visible.fn
void drawTileMap(Sz N)(ref GTileMap!N map, Rect viewArea = Rect(), DrawOptions options = DrawOptions())Draws a tile map with the default texture. The view area controls what is visible.fn
void drawTileMap(Sz N)(TextureId texture, ref GTileMap!N map, Camera camera, DrawOptions options = DrawOptions())Draws a tile map with a texture. The camera controls what is visible.fn
void drawTileMap(Sz N)(ref GTileMap!N map, Camera camera, DrawOptions options = DrawOptions())Draws a tile map with the default texture. The camera controls what is visible.fn
void drawSprite(TextureId texture, Sprite sprite, DrawOptions options = DrawOptions())Draws a sprite with a texture. The Hook and Flip of the options is ignored.fn
void drawSprite(Sprite sprite, DrawOptions options = DrawOptions())Draws a sprite with the default texture. The Hook and Flip of the options is ignored.fn
void drawDebugBoxWorld(ref BoxWorld world, Rgba actorColor = blue, Rgba wallColor = maroon)Draws debug rectangles based on the given box world.Variables 30
var
EngineState * _engineStateenumvar
defaultEngineTitle = "Parin"enumvar
defaultEngineWidth = 1280enumvar
defaultEngineHeight = 720enumvar
defaultEngineVsync = trueenumvar
defaultEngineFpsMax = 60enumvar
defaultEngineWindowMinWidth = 320enumvar
defaultEngineWindowMinHeight = 180enumvar
defaultEngineWindowMinSize = Vec2(defaultEngineWindowMinWidth, defaultEngineWindowMinHeight)enumvar
defaultEngineDebugModeKey = Keyboard.f3enumvar
defaultEngineFlags = EngineFlag.isUsingAssetsPath |
EngineFlag.isNullTextureVisible |
EngineFlag.isNullFontVisible |
EngineFlag.isLoggingLoadOrSaveFaults |
EngineFlag.isLoggingMemoryTrackingInfoenumvar
defaultEngineValidateErrorMessage = "Resource is invalid or was never assigned."enumvar
defaultEngineLoadErrorMessage = "ERROR({}:{}): Can't load {} from \"{}\""enumvar
defaultEngineSaveErrorMessage = "ERROR({}:{}): Can't save {} to \"{}\""enumvar
defaultEngineLoadOrSaveTextCapacity = 16 * kilobyteenumvar
defaultEngineEnvArgsCapacity = (64 / defaultEngineResourceScaleDenominator)enumvar
defaultEngineEngineTasksCapacity = (64 / defaultEngineResourceScaleDenominator)enumvar
defaultEngineAssetsPathCapacity = (8 / defaultEngineResourceScaleDenominator) * kilobyteenumvar
defaultEngineScreenshotTargetPathCapacity = (2 / defaultEngineResourceScaleDenominator) * kilobyteenumvar
defaultEngineArenaCapacity = (4 / defaultEngineResourceScaleDenominator) * megabyteenumvar
defaultEngineDprintCapacity = (4 / defaultEngineResourceScaleDenominator) * kilobyteenumvar
defaultEngineDprintPosition = Vec2(3, 3)enumvar
defaultEngineDprintLineCountLimit = 13enumvar
defaultEngineDprintFont = engineFontenumvar
defaultEngineDebugColor1 = white.alpha(120)enumvar
defaultEngineDebugColor2 = black.alpha(170)enumvar
engineFont = FontId(ResourceId(1))The engine font identifier.
enumvar
engineFontSmall = FontId(ResourceId(2))The second engine font identifier.
enumvar
engineViewport = ViewportId(ResourceId(1))The engine viewport identifier.
enumvar
_screenshotRequestPath = "[SCREENSHOT]"