evscript 0.1.0

An extensible bytecode-based scripting engine
Documentation
include "scripts/std.evs";
#asm include "script.inc" #end

typedef ptr = u16;

struct sprite {
	y: u8,
	x: u8,
	tile: u8,
	attributes: u8,
}

env script {
	use std;

	def memset(ptr, u8, u16);
	def rand(return u8);
	def print(u16);
	def say(u16);
	def print_wait();
	def get_flag(u8, u8);
	def map_put_tile(u8, u8, u8);
	def map_get_tile(u8, u8, return u8);
	def step_direction(u8, u8, u8);
	def draw_sprite(sprite);
	def npc_move(u8, u16, u16);
	def npc_set_frame(u8, u8);
	def npc_lock();

	alias move_player(u8, u8) = move_actor(wPlayer, $1, $2);

	pool = 16;
}

env npc {
	use script;
	macro move(u16, u8, u8) = npc_move;
	macro set_frame(u16, u8) = npc_set_frame;
	alias lock() = npc_lock();
	alias wait() = print_wait();
	pool = 8;
}

script Main {
	return;
}