summaryrefslogtreecommitdiff
path: root/src/op.h
diff options
context:
space:
mode:
authorLizzy Fleckenstein <lizzy@vlhl.dev>2026-04-12 20:57:06 +0200
committerLizzy Fleckenstein <lizzy@vlhl.dev>2026-04-12 20:59:39 +0200
commite5af28536bfb0f4c9131df56d2009ba5196f5e3a (patch)
tree3ab928f961a1ccd8440b070d7b57f79146457e8c /src/op.h
downloadanimtool-e5af28536bfb0f4c9131df56d2009ba5196f5e3a.tar.xz
init
Diffstat (limited to 'src/op.h')
-rw-r--r--src/op.h72
1 files changed, 72 insertions, 0 deletions
diff --git a/src/op.h b/src/op.h
new file mode 100644
index 0000000..1231552
--- /dev/null
+++ b/src/op.h
@@ -0,0 +1,72 @@
+#ifndef ANIMTOOL_OP_H_
+#define ANIMTOOL_OP_H_
+
+#include "util/str.h"
+
+enum op_category
+{
+ OPC_COMMAND,
+ OPC_EXPR,
+ OPC_NODE,
+ OPC_TRANSFORM,
+ OPC_SURFACE,
+ OPC_SEQ,
+ OPC_REP,
+ OPC_PROJ,
+ OPC_CAMERA,
+ OPC_POS,
+};
+
+#define OP_TYPES(X) \
+ X("var", VAR, COMMAND) \
+ X("fps", FPS, COMMAND) \
+ X("size", SIZE, COMMAND) \
+ X("seq", SEQ, COMMAND) \
+ X("proj", PROJ, COMMAND) \
+ X("bg", BG, COMMAND) \
+ X("out", OUT, COMMAND) \
+ X("scene", SCENE, COMMAND) \
+ X("+", ADD, EXPR) \
+ X("-", SUB, EXPR) \
+ X("*", MUL, EXPR) \
+ X("/", DIV, EXPR) \
+ X("%", MOD, EXPR) \
+ X("abs", ABS, EXPR) \
+ X("min", MIN, EXPR) \
+ X("max", MAX, EXPR) \
+ X("clamp", CLAMP, EXPR) \
+ X("mix", MIX, EXPR) \
+ X("rgb", RGB, EXPR) \
+ X("time", TIME, EXPR) \
+ X("cube", CUBE, NODE) \
+ X("obj", OBJ, NODE) \
+ X("bone", BONE, NODE) \
+ X("camera", CAMERA, NODE) \
+ X("light", LIGHT, NODE) \
+ X("trans", TRANSFORM, NODE) \
+ X("t", TRANSLATE, TRANSFORM) \
+ X("s", SCALE, TRANSFORM) \
+ X("r", ROTATE, TRANSFORM) \
+ X("texture", TEXTURE, SURFACE) \
+ X("cubemap", CUBEMAP, SURFACE) \
+ X("color", COLOR, SURFACE) \
+ X("pov", POV, SEQ) \
+ X("rep", REP, SEQ) \
+ X("inf", INF, REP) \
+ X("fov", FOV, PROJ) \
+ X("planes", PLANES, PROJ) \
+ X("roll", ROLL, CAMERA) \
+ X("pos", POS, POS) \
+ X("attach", ATTACH, POS)
+
+enum op_type
+{
+#define OP_TYPE_SYM(name, sym, cat) OP_##sym,
+ OP_TYPES(OP_TYPE_SYM)
+#undef OP_TYPE_SYM
+};
+
+extern enum op_category op_category_tab[];
+extern str op_name_tab[];
+
+#endif