Added animations to node
This commit is contained in:
@@ -24,7 +24,6 @@ typedef struct Box_private_engineNode {
|
||||
|
||||
//my opaque type tag
|
||||
int tag;
|
||||
// int _unused0;
|
||||
|
||||
//use Toy's memory model
|
||||
Box_EngineNode** children;
|
||||
@@ -34,16 +33,18 @@ typedef struct Box_private_engineNode {
|
||||
//rendering-specific features
|
||||
SDL_Texture* texture;
|
||||
SDL_Rect rect;
|
||||
//TODO: depth
|
||||
} Box_EngineNode;
|
||||
int frames;
|
||||
int currentFrame;
|
||||
} Box_EngineNode; //TODO: rename this?
|
||||
|
||||
BOX_API void Box_initEngineNode(Box_EngineNode* node, Toy_Interpreter* interpreter, const unsigned char* tb, size_t size); //run bytecode, then grab all top-level function literals
|
||||
BOX_API void Box_pushEngineNode(Box_EngineNode* node, Box_EngineNode* child); //push to the array (prune tombstones when expanding/copying)
|
||||
BOX_API void Box_freeEngineNode(Box_EngineNode* node); //free and tombstone this node
|
||||
BOX_API void Box_freeEngineNode(Box_EngineNode* node); //free this node and all children
|
||||
|
||||
BOX_API Toy_Literal Box_callEngineNodeLiteral(Box_EngineNode* node, Toy_Interpreter* interpreter, Toy_Literal key, Toy_LiteralArray* args);
|
||||
BOX_API Toy_Literal Box_callEngineNode(Box_EngineNode* node, Toy_Interpreter* interpreter, const char* fnName, Toy_LiteralArray* args); //call "fnName" on this node, and only this node, if it exists
|
||||
|
||||
//for calling various lifecycle functions
|
||||
BOX_API void Box_callRecursiveEngineNodeLiteral(Box_EngineNode* node, Toy_Interpreter* interpreter, Toy_Literal key, Toy_LiteralArray* args);
|
||||
BOX_API void Box_callRecursiveEngineNode(Box_EngineNode* node, Toy_Interpreter* interpreter, const char* fnName, Toy_LiteralArray* args); //call "fnName" on this node, and all children, if it exists
|
||||
|
||||
@@ -51,5 +52,12 @@ BOX_API int Box_loadTextureEngineNode(Box_EngineNode* node, const char* fname);
|
||||
BOX_API void Box_freeTextureEngineNode(Box_EngineNode* node);
|
||||
|
||||
BOX_API void Box_setRectEngineNode(Box_EngineNode* node, SDL_Rect rect);
|
||||
//TODO: getRect
|
||||
BOX_API SDL_Rect Box_getRectEngineNode(Box_EngineNode* node);
|
||||
|
||||
BOX_API void Box_setFramesEngineNode(Box_EngineNode* node, int frames);
|
||||
BOX_API int Box_getFramesEngineNode(Box_EngineNode* node);
|
||||
BOX_API void Box_setCurrentFrameEngineNode(Box_EngineNode* node, int currentFrame);
|
||||
BOX_API int Box_getCurrentFrameEngineNode(Box_EngineNode* node);
|
||||
BOX_API void Box_incrementCurrentFrame(Box_EngineNode* node);
|
||||
|
||||
BOX_API void Box_drawEngineNode(Box_EngineNode* node, SDL_Rect dest);
|
||||
|
||||
Reference in New Issue
Block a user