Module gdnative::globalscope

source ·
Expand description

Port of selected GDScript built-in functions.

This module contains some of the functions available in the @GDScript documentation.

Reasons why a GDScript function may not be ported to Rust include:

  • they are in the Rust standard library (abs, sin, floor, assert, …)
  • they are already part of a godot-rust API
  • they have a private implementation, i.e. a Rust port would have different semantics
    • randi, randf etc. – users should use rand crate
    • str2var, bytes2var, hash etc – to be verified

This above list is not a definitive inclusion/exclusion criterion, just a rough guideline.

Other noteworthy special cases:

  • GDScript fmod corresponds to Rust’s % operator on f32 (also known as the Rem trait).

Functions

Coordinate system conversion: cartesian -> polar
Converts from decibels to linear energy (audio).
Returns an “eased” value of x based on an easing function defined with curve.
Returns the floating-point modulus of a/b that wraps equally in positive and negative.
Find linear interpolation weight from interpolated values.
Returns true if a and b are approximately equal to each other.
Returns true if s is zero or almost zero.
Linearly interpolates between two values, by the factor defined in weight.
Linearly interpolates between two angles (in radians), by a normalized value.
Converts from linear energy to decibels (audio).
Loads a resource from the filesystem located at path.
Moves range.start() toward range.end() by the delta value.
Returns the nearest equal or larger power of 2 for an integer value.
Coordinate system conversion: polar -> cartesian
Returns the integer modulus of a/b that wraps equally in positive and negative.
Maps a value from range_from to range_to, using linear interpolation.
Smooth (Hermite) interpolation.
Position of the first non-zero digit, after the decimal point.
Snaps float value s to a given step.
Wraps float value between min and max.
Wraps integer value between min and max.