Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //FUNCTION GENERATED BY CHATGPT 03 ON TUES AUG 5 2025 AT 6:42PM
- /// @function wrap_integer(n, upper, lower, rollunder)
- /// @param {real} n The input integer to wrap
- /// @param {real} upper Inclusive upper bound
- /// @param {real} lower Inclusive lower bound
- /// @param {bool} rollunder If true, wrap when n < lower; if false, clamp to lower
- /// @returns {real} Integer in the inclusive range [lower, upper]
- function wrap_integer(n, upper, lower, rollunder)
- {
- // Ensure integer semantics (in case non-integers slip in)
- n = round(n);
- upper = round(upper);
- lower = round(lower);
- // Normalize bounds if passed in reversed
- if (upper < lower) {
- var t = upper; upper = lower; lower = t;
- }
- // Degenerate case: single-value range
- var range = upper - lower + 1;
- if (range <= 1) return lower;
- if (rollunder) {
- // Full wrap both directions. Make modulo positive for negatives.
- var offset = (n - lower) mod range;
- if (offset < 0) offset += range;
- return lower + offset;
- } else {
- // Only roll OVER the top; clamp at the bottom.
- if (n < lower) return lower;
- if (n > upper) return lower + ((n - lower) mod range);
- return n;
- }
- }
- /// Function to map a value from one range to another
- function map_range(value, from_min, from_max, to_min, to_max) {
- return to_min + ((value - from_min) * (to_max - to_min)) / (from_max - from_min);
- }
- //FUNCTION GENERATED BY CHATGPT-5 ON SEP 9 2025 @ 9:50PM
- function CheckOutOfCameraBounds(_x, _y) {
- return (_x < global.view_left) || (_x > global.view_right)
- || (_y < global.view_top) || (_y > global.view_bottom);
- }
Advertisement
Add Comment
Please, Sign In to add comment