mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2026-04-22 01:52:43 +00:00
Add easing functions autocompletion for math.tween
Remove redundant check in `str_starts_with_spaces`
This commit is contained in:
parent
fa3bad7177
commit
1272c0d733
4 changed files with 132 additions and 5 deletions
|
|
@ -306,6 +306,49 @@ IN_OUT_BOUNCE = function (x) return x < 0.5 and (1 - OUT_BOUNCE(1 - 2 * x)) / 2
|
|||
---@return number
|
||||
OUT_IN_BOUNCE = function (x) return x < 0.5 and 0.5 * OUT_BOUNCE(x * 2) or 0.5 + 0.5 * IN_BOUNCE(2 * x - 1) end
|
||||
|
||||
--- @alias EasingFunction
|
||||
--- | `IN_SINE`
|
||||
--- | `OUT_SINE`
|
||||
--- | `IN_OUT_SINE`
|
||||
--- | `OUT_IN_SINE`
|
||||
--- | `IN_QUAD`
|
||||
--- | `OUT_QUAD`
|
||||
--- | `IN_OUT_QUAD`
|
||||
--- | `OUT_IN_QUAD`
|
||||
--- | `IN_CUBIC`
|
||||
--- | `OUT_CUBIC`
|
||||
--- | `IN_OUT_CUBIC`
|
||||
--- | `OUT_IN_CUBIC`
|
||||
--- | `IN_QUART`
|
||||
--- | `OUT_QUART`
|
||||
--- | `IN_OUT_QUART`
|
||||
--- | `OUT_IN_QUART`
|
||||
--- | `IN_QUINT`
|
||||
--- | `OUT_QUINT`
|
||||
--- | `IN_OUT_QUINT`
|
||||
--- | `OUT_IN_QUINT`
|
||||
--- | `IN_EXPO`
|
||||
--- | `OUT_EXPO`
|
||||
--- | `IN_OUT_EXPO`
|
||||
--- | `OUT_IN_EXPO`
|
||||
--- | `IN_CIRC`
|
||||
--- | `OUT_CIRC`
|
||||
--- | `IN_OUT_CIRC`
|
||||
--- | `OUT_IN_CIRC`
|
||||
--- | `IN_BACK`
|
||||
--- | `OUT_BACK`
|
||||
--- | `IN_OUT_BACK`
|
||||
--- | `OUT_IN_BACK`
|
||||
--- | `IN_ELASTIC`
|
||||
--- | `OUT_ELASTIC`
|
||||
--- | `IN_OUT_ELASTIC`
|
||||
--- | `OUT_IN_ELASTIC`
|
||||
--- | `IN_BOUNCE`
|
||||
--- | `OUT_BOUNCE`
|
||||
--- | `IN_OUT_BOUNCE`
|
||||
--- | `OUT_IN_BOUNCE`
|
||||
--- | fun(x: number): number
|
||||
|
||||
--------------------
|
||||
-- math functions --
|
||||
--------------------
|
||||
|
|
@ -385,7 +428,7 @@ function math.round(x)
|
|||
return x > 0 and __math_floor(x + 0.5) or __math_ceil(x - 0.5)
|
||||
end
|
||||
|
||||
--- @param t function | number
|
||||
--- @param t EasingFunction | number
|
||||
--- @param a number
|
||||
--- @param b number
|
||||
--- @param x number
|
||||
|
|
|
|||
|
|
@ -308,6 +308,49 @@ IN_OUT_BOUNCE = function (x) return x < 0.5 and (1 - OUT_BOUNCE(1 - 2 * x)) / 2
|
|||
---@return number
|
||||
OUT_IN_BOUNCE = function (x) return x < 0.5 and 0.5 * OUT_BOUNCE(x * 2) or 0.5 + 0.5 * IN_BOUNCE(2 * x - 1) end
|
||||
|
||||
--- @alias EasingFunction
|
||||
--- | `IN_SINE`
|
||||
--- | `OUT_SINE`
|
||||
--- | `IN_OUT_SINE`
|
||||
--- | `OUT_IN_SINE`
|
||||
--- | `IN_QUAD`
|
||||
--- | `OUT_QUAD`
|
||||
--- | `IN_OUT_QUAD`
|
||||
--- | `OUT_IN_QUAD`
|
||||
--- | `IN_CUBIC`
|
||||
--- | `OUT_CUBIC`
|
||||
--- | `IN_OUT_CUBIC`
|
||||
--- | `OUT_IN_CUBIC`
|
||||
--- | `IN_QUART`
|
||||
--- | `OUT_QUART`
|
||||
--- | `IN_OUT_QUART`
|
||||
--- | `OUT_IN_QUART`
|
||||
--- | `IN_QUINT`
|
||||
--- | `OUT_QUINT`
|
||||
--- | `IN_OUT_QUINT`
|
||||
--- | `OUT_IN_QUINT`
|
||||
--- | `IN_EXPO`
|
||||
--- | `OUT_EXPO`
|
||||
--- | `IN_OUT_EXPO`
|
||||
--- | `OUT_IN_EXPO`
|
||||
--- | `IN_CIRC`
|
||||
--- | `OUT_CIRC`
|
||||
--- | `IN_OUT_CIRC`
|
||||
--- | `OUT_IN_CIRC`
|
||||
--- | `IN_BACK`
|
||||
--- | `OUT_BACK`
|
||||
--- | `IN_OUT_BACK`
|
||||
--- | `OUT_IN_BACK`
|
||||
--- | `IN_ELASTIC`
|
||||
--- | `OUT_ELASTIC`
|
||||
--- | `IN_OUT_ELASTIC`
|
||||
--- | `OUT_IN_ELASTIC`
|
||||
--- | `IN_BOUNCE`
|
||||
--- | `OUT_BOUNCE`
|
||||
--- | `IN_OUT_BOUNCE`
|
||||
--- | `OUT_IN_BOUNCE`
|
||||
--- | fun(x: number): number
|
||||
|
||||
--------------------
|
||||
-- math functions --
|
||||
--------------------
|
||||
|
|
@ -387,7 +430,7 @@ function math.round(x)
|
|||
return x > 0 and __math_floor(x + 0.5) or __math_ceil(x - 0.5)
|
||||
end
|
||||
|
||||
--- @param t function | number
|
||||
--- @param t EasingFunction | number
|
||||
--- @param a number
|
||||
--- @param b number
|
||||
--- @param x number
|
||||
|
|
|
|||
|
|
@ -288,6 +288,48 @@ char gSmluaConstants[] = ""
|
|||
"---@param x number\n"
|
||||
"---@return number\n"
|
||||
"OUT_IN_BOUNCE = function (x) return x < 0.5 and 0.5 * OUT_BOUNCE(x * 2) or 0.5 + 0.5 * IN_BOUNCE(2 * x - 1) end\n"
|
||||
"--- @alias EasingFunction\n"
|
||||
"--- | `IN_SINE`\n"
|
||||
"--- | `OUT_SINE`\n"
|
||||
"--- | `IN_OUT_SINE`\n"
|
||||
"--- | `OUT_IN_SINE`\n"
|
||||
"--- | `IN_QUAD`\n"
|
||||
"--- | `OUT_QUAD`\n"
|
||||
"--- | `IN_OUT_QUAD`\n"
|
||||
"--- | `OUT_IN_QUAD`\n"
|
||||
"--- | `IN_CUBIC`\n"
|
||||
"--- | `OUT_CUBIC`\n"
|
||||
"--- | `IN_OUT_CUBIC`\n"
|
||||
"--- | `OUT_IN_CUBIC`\n"
|
||||
"--- | `IN_QUART`\n"
|
||||
"--- | `OUT_QUART`\n"
|
||||
"--- | `IN_OUT_QUART`\n"
|
||||
"--- | `OUT_IN_QUART`\n"
|
||||
"--- | `IN_QUINT`\n"
|
||||
"--- | `OUT_QUINT`\n"
|
||||
"--- | `IN_OUT_QUINT`\n"
|
||||
"--- | `OUT_IN_QUINT`\n"
|
||||
"--- | `IN_EXPO`\n"
|
||||
"--- | `OUT_EXPO`\n"
|
||||
"--- | `IN_OUT_EXPO`\n"
|
||||
"--- | `OUT_IN_EXPO`\n"
|
||||
"--- | `IN_CIRC`\n"
|
||||
"--- | `OUT_CIRC`\n"
|
||||
"--- | `IN_OUT_CIRC`\n"
|
||||
"--- | `OUT_IN_CIRC`\n"
|
||||
"--- | `IN_BACK`\n"
|
||||
"--- | `OUT_BACK`\n"
|
||||
"--- | `IN_OUT_BACK`\n"
|
||||
"--- | `OUT_IN_BACK`\n"
|
||||
"--- | `IN_ELASTIC`\n"
|
||||
"--- | `OUT_ELASTIC`\n"
|
||||
"--- | `IN_OUT_ELASTIC`\n"
|
||||
"--- | `OUT_IN_ELASTIC`\n"
|
||||
"--- | `IN_BOUNCE`\n"
|
||||
"--- | `OUT_BOUNCE`\n"
|
||||
"--- | `IN_OUT_BOUNCE`\n"
|
||||
"--- | `OUT_IN_BOUNCE`\n"
|
||||
"--- | fun(x: number): number\n"
|
||||
"--------------------\n"
|
||||
"-- math functions --\n"
|
||||
"--------------------\n"
|
||||
|
|
@ -357,7 +399,7 @@ char gSmluaConstants[] = ""
|
|||
"function math.round(x)\n"
|
||||
"return x > 0 and __math_floor(x + 0.5) or __math_ceil(x - 0.5)\n"
|
||||
"end\n"
|
||||
"--- @param t function | number\n"
|
||||
"--- @param t EasingFunction | number\n"
|
||||
"--- @param a number\n"
|
||||
"--- @param b number\n"
|
||||
"--- @param x number\n"
|
||||
|
|
|
|||
|
|
@ -112,8 +112,7 @@ static u8* smlua_text_utils_convert(const char* str) {
|
|||
// Checks the first 3 characters
|
||||
static bool str_starts_with_spaces(const char* str) {
|
||||
for (u8 i = 0; i < 3; i++) {
|
||||
if (str[i] == '\0') { return false; }
|
||||
if (str[i] != ' ') { return false; }
|
||||
if (str[i] != ' ') { return false; }
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue