Liz is a data-oriented behavior tree library implemented in C.
The best way to learn liz works is to first read liz_vm.h
and liz_vm.c
and
especially look into the functions with the liz_vm_step_ prefix.
- Add a new type enum value and node defining structs to
liz_shape_atom
inliz_common_internal.h
. - Extend
liz_builder
. - Extend
liz_vm
to invoke the new node and guard it if it is a decider.
The primary development environment for liz is Mac OS X 10.7.x. I haven't tried to port it to another platform yet. However, liz is written in a C99 subset that should, for example, be compilable as C++ in MSVC10.
To port liz to a new platform adapt:
liz_platform_types.
h - e.g., provide definitions for bool, bit-sized integer types likeint32_t
oruint16_t
, anduintptr_t
andintptr_t
, etc.liz_platform_macros.h
- adapt the macros, e.g.,LIZ_INLINE
orLIZ_RESTRICT
to your compiler.liz_platform_functions.h
- adapt these functions, e.g.,assert
,memmove
, etc. to your platform, if necessary.