Still working on some VN elements, it's coming together slowly.

This commit is contained in:
2021-07-26 09:55:09 -07:00
parent f738f9b83d
commit 31f61cac69
14 changed files with 359 additions and 61 deletions

View File

@ -7,22 +7,44 @@
#pragma once
#include <dawn/dawn.h>
#include "math.h"
/**
* Generate a number between 0 and max. (max exclusive)
*
* @param max Max number to generate
* @return Number between 0 and max.
* Generates a random int32_t.
* @returns A random int32_t number.
*/
#define u32rand(max) (rand()%max)
#define u8rand(max) (uint8_t)u23rand(max)
#define randInt32() ((int32_t)rand())
/**
* Generate a number between min and max. (max exclusive, min inclusive)
*
* @param min Min number to generate.
* @param max Max number to generate.
* @return Number between min and max.
* Generates a random floating point number.
* @returns A random floating point number.
*/
#define u32randRange(min, max) (u32rand(max-min)+min)
#define u8randRange(min, max) (uint8_t)u32randRange(min,max)
#define randFloat() (((float)randInt32()) * M_PI)
/**
* Generates a random uint32_t
* @returns A random uint32_t number.
*/
#define randUint32() (uint32_t)randInt32()
/**
* Generates a random uint8_t
* @returns A random uint8_t number.
*/
#define randUint8() (uint8_t)randInt32()
////////////////////////////////////////////////////////////////////////////////
/**
* Clamps a random number generation.
* @param n Number that has been generated from the random.
* @param min Minimum value to generate from. (Inclusive)
* @param max Maximum value to generate to. (Exclusive)
* @return Random number between min and max.
*/
#define randRange(n, min, max) (mathMod(n, max - min) + min)
#define randInt32Range(min, max) randRange(randInt32(), min, max)
#define randFloatRange(min, max) (fmod(randFloat(), max- min) + min)
#define randUint32Range(min, max) randRange(randUint32(), min, max)
#define randUint8Range(min, max) randRange(randUint8(), min, max)