1#ifndef __H__ENGINE_CONSTRUCT__
2#define __H__ENGINE_CONSTRUCT__
4#include "../6502/chip.h"
7#include "../rendering/instances.h"
71 switch (block->
kind) {
85 byte device = chip->
x;
static void chip_init(chip_t *self, allocator_t allocator, sz memory_size, u32 quota)
Definition chip.h:70
static byte chip_stack_pull(chip_t *self)
Definition chip.h:252
size_t sz
Definition defs.h:51
static block_t block_new_mesh()
Definition construct.h:49
static void block__external_call(chip_t *chip, block_t *block)
Definition construct.h:70
static void block_chip__external_call(chip_t *chip)
Definition construct.h:83
static int block_kind_to_tile_index(block_kind_t kind)
Definition construct.h:21
static block_t block_new_chip(allocator_t alloc, sz memory_size)
Definition construct.h:102
block_kind_t
Definition construct.h:10
@ BLOCK_KIND_CONTOLLER
Definition construct.h:16
@ BLOCK_KIND_MESH
Definition construct.h:11
@ BLOCK_KIND_CHIP
Definition construct.h:14
@ BLOCK_KIND_ACCUMULATOR
Definition construct.h:17
@ BLOCK_KIND_THRUSTER
Definition construct.h:12
@ BLOCK_KIND_ENGINE
Definition construct.h:13
@ BLOCK_KIND_count
Definition construct.h:18
@ BLOCK_KIND_GYROSCOPE
Definition construct.h:15
static block_t block_new_thruster(int orientation)
Definition construct.h:54
#define list_get_ty_ptr(ty, ls, idx)
Definition list.h:128
#define map_get_ty(ty, map, key)
Returns a typed pointer to a member at key key. Returns NULL if the key is not present.
Definition map.h:218
A generic allocator type passed by value. Contains a fallback allocator and a set of function pointer...
Definition memory.h:30
Definition construct.h:34
byte throttle
Definition construct.h:44
int orientation
Definition construct.h:37
chip_t chip
Definition construct.h:41
struct block_t::@0::@3 as_thruster
block_kind_t kind
Definition construct.h:35
struct block_t::@0::@2 as_chip
vec2i offset
Definition construct.h:36
bool halted
Definition chip.h:34
chip_external_call_f external_call
Definition chip.h:29
byte x
Definition chip.h:39
byte y
Definition chip.h:39
void * userdata
Definition chip.h:31
Definition construct.h:62
vec2 velocity
Definition construct.h:67
instance_buffer_t instance
Definition construct.h:64
map_t device_map
Definition construct.h:65
list_t blocks
Definition construct.h:63
bool is_dirty
Definition construct.h:66
Definition instances.h:20
sz size
Definition list.h:17
static bool vec2_eq(vec2i a, vec2i b)
Definition vec2i.h:30