mirror of
https://github.com/exoticorn/curlywas.git
synced 2026-01-20 11:46:43 +01:00
add global vars + i64 & f64 support
This commit is contained in:
18
random.cwa
18
random.cwa
@@ -1,22 +1,24 @@
|
||||
import "env.memory" memory(4);
|
||||
|
||||
global mut randomState: i32 = 37;
|
||||
|
||||
fn random() -> i32 {
|
||||
let seed = !0;
|
||||
seed = seed ^ (seed << 13);
|
||||
seed = seed ^ (seed >> 17);
|
||||
seed = seed ^ (seed << 5);
|
||||
!0 = seed;
|
||||
seed * 625341585
|
||||
let state: i32;
|
||||
randomState = (state := (
|
||||
state := randomState ^ (randomState << 13)
|
||||
) ^ (state >> 17)
|
||||
) ^ (state << 5);
|
||||
randomState * 625341585
|
||||
}
|
||||
|
||||
fn seed(s: i32) {
|
||||
!0 = (s + (s >>> 31)) * 2060714111;
|
||||
randomState = (((s + !(s >> 31)) as i64 * 8445297036689579347i64) >> 31i64) as i32;
|
||||
}
|
||||
|
||||
export fn tic(time: i32) {
|
||||
let i: i32;
|
||||
loop pixels {
|
||||
seed(i + time / 10);
|
||||
seed(i + (time / 100) * 320);
|
||||
i?120 = random();
|
||||
branch_if (i := i + 1) < 320*256: pixels
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user