Browse Source

Cleanup naming in oper macros

master
cancel 6 years ago
parent
commit
fcd848ee41
  1. 27
      sim.c

27
sim.c

@ -30,7 +30,7 @@ static inline Usz semantic_index_of_glyph(Glyph c) {
return 0; return 0;
} }
static inline Glyph glyphs_sum(Glyph a, Glyph b) { static inline Glyph glyphs_add(Glyph a, Glyph b) {
Usz ia = semantic_index_of_glyph(a); Usz ia = semantic_index_of_glyph(a);
Usz ib = semantic_index_of_glyph(b); Usz ib = semantic_index_of_glyph(b);
return indexed_glyphs[(ia + ib) % Glyphs_array_num]; return indexed_glyphs[(ia + ib) % Glyphs_array_num];
@ -127,14 +127,13 @@ static inline void oper_move_relative_or_explode(Gbuffer gbuf, Mbuffer mbuf,
#define END_PHASE } #define END_PHASE }
#define OPER_POKE_ABSOLUTE(_y, _x, _glyph) \ #define PEEK(_delta_y, _delta_x) \
gbuffer_poke(gbuffer, height, width, _y, _x, _glyph)
#define OPER_PEEK(_delta_y, _delta_x) \
gbuffer_peek_relative(gbuffer, height, width, y, x, _delta_y, _delta_x) gbuffer_peek_relative(gbuffer, height, width, y, x, _delta_y, _delta_x)
#define OPER_POKE(_delta_y, _delta_x, _glyph) \ #define POKE(_delta_y, _delta_x, _glyph) \
gbuffer_poke_relative(gbuffer, height, width, y, x, _delta_y, _delta_x, \ gbuffer_poke_relative(gbuffer, height, width, y, x, _delta_y, _delta_x, \
_glyph) _glyph)
#define OPER_POKE_SELF(_glyph) OPER_POKE_ABSOLUTE(y, x, _glyph) #define BECOME(_glyph) \
gbuffer_poke(gbuffer, height, width, y, x, This_oper_char)
#define OPER_REQUIRE_BANG() \ #define OPER_REQUIRE_BANG() \
if (!oper_has_neighboring_bang(gbuffer, height, width, y, x)) \ if (!oper_has_neighboring_bang(gbuffer, height, width, y, x)) \
@ -226,10 +225,10 @@ END_PHASE
BEGIN_DUAL_PHASE_1(add) BEGIN_DUAL_PHASE_1(add)
REALIZE_DUAL; REALIZE_DUAL;
STOP_IF_DUAL_INACTIVE; STOP_IF_DUAL_INACTIVE;
Glyph inp0 = OPER_PEEK(0, 1); Glyph inp0 = PEEK(0, 1);
Glyph inp1 = OPER_PEEK(0, 2); Glyph inp1 = PEEK(0, 2);
Glyph g = glyphs_sum(inp0, inp1); Glyph g = glyphs_add(inp0, inp1);
OPER_POKE(1, 0, g); POKE(1, 0, g);
END_PHASE END_PHASE
BEGIN_DUAL_PHASE_0(modulo) BEGIN_DUAL_PHASE_0(modulo)
@ -243,10 +242,10 @@ END_PHASE
BEGIN_DUAL_PHASE_1(modulo) BEGIN_DUAL_PHASE_1(modulo)
REALIZE_DUAL; REALIZE_DUAL;
STOP_IF_DUAL_INACTIVE; STOP_IF_DUAL_INACTIVE;
Glyph inp0 = OPER_PEEK(0, 1); Glyph inp0 = PEEK(0, 1);
Glyph inp1 = OPER_PEEK(0, 2); Glyph inp1 = PEEK(0, 2);
Glyph g = glyphs_mod(inp0, inp1); Glyph g = glyphs_mod(inp0, inp1);
OPER_POKE(1, 0, g); POKE(1, 0, g);
END_PHASE END_PHASE
BEGIN_DUAL_PHASE_0(increment) BEGIN_DUAL_PHASE_0(increment)
@ -262,7 +261,7 @@ END_PHASE
BEGIN_SOLO_PHASE_0(bang) BEGIN_SOLO_PHASE_0(bang)
BEGIN_HASTE BEGIN_HASTE
OPER_POKE_SELF('.'); BECOME('.');
END_HASTE END_HASTE
END_PHASE END_PHASE
BEGIN_SOLO_PHASE_1(bang) BEGIN_SOLO_PHASE_1(bang)

Loading…
Cancel
Save