changeset 39:3d92bc1352c2

forgot a couple of files
author Mike Pavone <pavone@retrodev.com>
date Thu, 08 Oct 2009 00:37:24 -0400
parents 7f05bbe82f24
children 789a146a48e1 b2a95ab818d3
files runtime/blueprint.c runtime/blueprint.h
diffstat 2 files changed, 44 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/runtime/blueprint.c	Thu Oct 08 00:37:24 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;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/runtime/blueprint.h	Thu Oct 08 00:37:24 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_