Browse Source

Merge pull request #11 from npisanti/master

master
cancel 6 years ago
committed by GitHub
parent
commit
32ca897ef9
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      sim.c

10
sim.c

@ -1,6 +1,6 @@
#include "sim.h"
#include "gbuffer.h" #include "gbuffer.h"
#include "mark.h" #include "mark.h"
#include "sim.h"
//////// Utilities //////// Utilities
@ -651,7 +651,7 @@ BEGIN_OPERATOR(random)
} }
Usz key = y * width + x; Usz key = y * width + x;
key = hash32_shift_mult((y * width + x) ^ (Tick_number << UINT32_C(16))); key = hash32_shift_mult((y * width + x) ^ (Tick_number << UINT32_C(16)));
Usz val = key % (max + 1 - min) + min; Usz val = key % (max - min) + min;
POKE(1, 0, glyph_of(val)); POKE(1, 0, glyph_of(val));
END_OPERATOR END_OPERATOR
@ -706,13 +706,15 @@ BEGIN_OPERATOR(variable)
LOWERCASE_REQUIRES_BANG; LOWERCASE_REQUIRES_BANG;
PORT(0, -1, IN | PARAM); PORT(0, -1, IN | PARAM);
PORT(0, 1, IN | PARAM); PORT(0, 1, IN | PARAM);
PORT(1, 0, OUT);
Glyph left = PEEK(0, -1); Glyph left = PEEK(0, -1);
Glyph right = PEEK(0, 1); Glyph right = PEEK(0, 1);
if (right == '.') if (right == '.') {
PORT(1, 0, OUT);
return; return;
}
if (left == '.') { if (left == '.') {
// Read // Read
PORT(1, 0, OUT);
Usz var_idx = safe_index_of(right); Usz var_idx = safe_index_of(right);
Glyph result = extra_params->vars_slots[var_idx]; Glyph result = extra_params->vars_slots[var_idx];
if (result == '.') if (result == '.')

Loading…
Cancel
Save