# HG changeset patch # User Mike Pavone # Date 1255056879 14400 # Node ID b2a95ab818d307f39c5eba8c9cee9479688fdbc3 # Parent 4f1ae6eb71d8cb274f8ea7ef5f00dd8040d034fb# Parent 3d92bc1352c20639a746f0c488f7b34b15fa956f merge diff -r 4f1ae6eb71d8 -r b2a95ab818d3 runtime/blueprint.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/blueprint.c Thu Oct 08 22:54:39 2009 -0400 @@ -0,0 +1,30 @@ +#include "blueprint.h" +#include "builtin.h" +#include "context.h" + +typedef struct +{ + blueprint * bp; +} l_Build; + +Func(Build, + NumParams 1, + CallSpace 1, + l_Build) + + Param(0, TYPE_BLUEPRINT) + + locals->bp = ((t_Blueprint *)(cdata->params[0]))->bp; + release_ref(cdata->params[0]); + + Ret(0, new_object_bp(locals->bp)) +EndFunc + +object * make_Blueprint(int32_t type_id) +{ + t_Blueprint * obj; + object * ret = new_object(TYPE_BLUEPRINT); + obj = (t_Blueprint *)ret; + obj->bp = get_blueprint_byid(type_id); + return ret; +} diff -r 4f1ae6eb71d8 -r b2a95ab818d3 runtime/blueprint.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/blueprint.h Thu Oct 08 22:54:39 2009 -0400 @@ -0,0 +1,14 @@ +#ifndef BLUEPRINT_H_ +#define BLUEPRINT_H_ + +#include "object.h" +#include "func.h" + +OBegin + blueprint * bp; +Object(Blueprint) + +object * make_Blueprint(int32_t type_id); +FuncDef(Build) + +#endif //BLUEPRINT_H_