diff --git a/wadsrc/static/zscript/engine/base.zs b/wadsrc/static/zscript/engine/base.zs index 250cda95a..1e69a850c 100644 --- a/wadsrc/static/zscript/engine/base.zs +++ b/wadsrc/static/zscript/engine/base.zs @@ -665,55 +665,54 @@ class Object native // This does not call into the native method of the same name to avoid problems with objects that get garbage collected late on shutdown. virtual virtualscope void OnDestroy() {} // - // - // The static methods below cannot be called using Object.method(); For example, you don't call - // abs(x) using Object.abs(x); Just use abs(x); - // clearscope bool IsAbstract(); // Intrinsic - Query whether or not the class is abstract + // Object intrinsics + // Every ZScript "class" inherits from Object, and so inherits these methods as well + // clearscope bool IsAbstract(); // Intrinsic - Query whether or not the class of this object is abstract // clearscope Object GetParentClass(); // Intrinsic - Get the parent class of this object // clearscope Name GetClassName(); // Intrinsic - Get the name of this object's class // clearscope Class GetClass(); // Intrinsic - Get the object's class - // clearscope static Object new(class type); // Intrinsic - Create a new object with this class. This is only valid for thinkers and plain objects, except menus. For actors, use Actor.Spawn(); + // clearscope Object new(class type); // Intrinsic - Create a new object with this class. This is only valid for thinkers and plain objects, except menus. For actors, use Actor.Spawn(); // // // Intrinsic random number generation functions. Note that the square // bracket syntax for specifying an RNG ID is only available for these // functions. - // clearscope static void SetRandomSeed[Name rngId = 'None'](int seed); // Intrinsic - Set the seed for the given RNG. - // clearscope static int Random[Name rngId = 'None'](int min, int max); // Intrinsic - Use the given RNG to generate a random integer number in the range (min, max) inclusive. - // clearscope static int Random2[Name rngId = 'None'](int mask); // Intrinsic - Use the given RNG to generate a random integer number, and do a "union" (bitwise AND, AKA &) operation with the bits in the mask integer. - // clearscope static int FRandom[Name rngId = 'None'](double min, double max); // Intrinsic - Use the given RNG to generate a random real number in the range (min, max) inclusive. - // clearscope static int RandomPick[Name rngId = 'None'](int choices...); // Intrinsic - Use the given RNG to generate a random integer from the given choices. - // clearscope static double FRandomPick[Name rngId = 'None'](double choices...); // Intrinsic - Use the given RNG to generate a random real number from the given choices. + // clearscope void SetRandomSeed[Name rngId = 'None'](int seed); // Intrinsic - Set the seed for the given RNG. + // clearscope int Random[Name rngId = 'None'](int min, int max); // Intrinsic - Use the given RNG to generate a random integer number in the range (min, max) inclusive. + // clearscope int Random2[Name rngId = 'None'](int mask); // Intrinsic - Use the given RNG to generate a random integer number, and do a "union" (bitwise AND, AKA &) operation with the bits in the mask integer. + // clearscope int FRandom[Name rngId = 'None'](double min, double max); // Intrinsic - Use the given RNG to generate a random real number in the range (min, max) inclusive. + // clearscope int RandomPick[Name rngId = 'None'](int choices...); // Intrinsic - Use the given RNG to generate a random integer from the given choices. + // clearscope double FRandomPick[Name rngId = 'None'](double choices...); // Intrinsic - Use the given RNG to generate a random real number from the given choices. // // // Intrinsic math functions - the argument and return types for these // functions depend on the arguments given. Other than that, they work the // same way similarly-named functions in other programming languages work. // Note that trigonometric functions work with degrees instead of radians - // clearscope static T abs(T x); - // clearscope static T atan2(T y, T x); // NOTE: Returns a value in degrees instead of radians - // clearscope static T vectorangle(T x, T y); // Same as Atan2 with the arguments in a different order - // clearscope static T min(T x...); - // clearscope static T max(T x...); - // clearscope static T clamp(T x, T min, T max); + // clearscope T abs(T x); + // clearscope T atan2(T y, T x); // NOTE: Returns a value in degrees instead of radians + // clearscope T vectorangle(T x, T y); // Same as Atan2 with the arguments in a different order + // clearscope T min(T x...); + // clearscope T max(T x...); + // clearscope T clamp(T x, T min, T max); // // These math functions only work with doubles - they are defined in FxFlops - // clearscope static double exp(double x); - // clearscope static double log(double x); - // clearscope static double log10(double x); - // clearscope static double sqrt(double x); - // clearscope static double ceil(double x); - // clearscope static double floor(double x); - // clearscope static double acos(double x); - // clearscope static double asin(double x); - // clearscope static double atan(double x); - // clearscope static double cos(double x); - // clearscope static double sin(double x); - // clearscope static double tan(double x); - // clearscope static double cosh(double x); - // clearscope static double sinh(double x); - // clearscope static double tanh(double x); - // clearscope static double round(double x); + // clearscope double exp(double x); + // clearscope double log(double x); + // clearscope double log10(double x); + // clearscope double sqrt(double x); + // clearscope double ceil(double x); + // clearscope double floor(double x); + // clearscope double acos(double x); + // clearscope double asin(double x); + // clearscope double atan(double x); + // clearscope double cos(double x); + // clearscope double sin(double x); + // clearscope double tan(double x); + // clearscope double cosh(double x); + // clearscope double sinh(double x); + // clearscope double tanh(double x); + // clearscope double round(double x); } class BrokenLines : Object native version("2.4")