From 6a15944f255d0d9653573ad0857e527f58f5f997 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sat, 6 Feb 2016 22:14:01 +1000 Subject: Pass stuff size up to C code. This is getting unweildy. lol --- src/extantz/extantz.h | 2 +- src/extantz/scenri.c | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) (limited to 'src/extantz') diff --git a/src/extantz/extantz.h b/src/extantz/extantz.h index ccafc01..1f62496 100644 --- a/src/extantz/extantz.h +++ b/src/extantz/extantz.h @@ -291,7 +291,7 @@ Eina_Bool animateScene(globals *ourGlobals); void scenriDel(Scene_Data *scene); void stuffsSetup(ExtantzStuffs *stuffs, Scene_Data *scene, int fake); ExtantzStuffs *addStuffs(char *uuid, char *name, char *description, char *owner, - char *file, MeshType type, double px, double py, double pz, double rx, double ry, double rz, double rw); + char *file, MeshType type, double px, double py, double pz, double rx, double ry, double rz, double rw, double sx, double sy, double sz); void addMaterial(ExtantzStuffs *e, int face, TextureType type, char *file); winFang *filesAdd(globals *ourGlobals, char *path, Eina_Bool multi, Eina_Bool save); diff --git a/src/extantz/scenri.c b/src/extantz/scenri.c index d37667b..1f51687 100644 --- a/src/extantz/scenri.c +++ b/src/extantz/scenri.c @@ -212,9 +212,9 @@ static int _partFillStuffs(lua_State *L) ExtantzStuffs *result = NULL; Scene_Data *scene = NULL; char *name, *file; - double px, py, pz, rx, ry, rz, rw; + double px, py, pz, rx, ry, rz, rw, sx, sy, sz; - pull_lua(L, 1, "$ $ # # # # # # #", &name, &file, &px, &py, &pz, &rx, &ry, &rz, &rw); + pull_lua(L, 1, "$ $ # # # # # # # # # #", &name, &file, &px, &py, &pz, &rx, &ry, &rz, &rw, &sx, &sy, &sz); lua_getfield(L, LUA_REGISTRYINDEX, "sceneData"); scene = (Scene_Data *) lua_touserdata(L, -1); @@ -227,6 +227,7 @@ static int _partFillStuffs(lua_State *L) strcpy(result->stuffs.file, file); result->stuffs.details.mesh->pos.x = px; result->stuffs.details.mesh->pos.y = py; result->stuffs.details.mesh->pos.z = pz; result->stuffs.details.mesh->rot.x = rx; result->stuffs.details.mesh->rot.y = ry; result->stuffs.details.mesh->rot.z = rz; result->stuffs.details.mesh->rot.w = rw; + result->stuffs.details.mesh->size.x = sx; result->stuffs.details.mesh->size.y = sy; result->stuffs.details.mesh->size.z = sz; result->stage = ES_PART; break; } @@ -275,10 +276,10 @@ static int _addStuffsL(lua_State *L) ExtantzStuffs *result = NULL; char *uuid, *name, *description, *owner, *file; int type; - double px, py, pz, rx, ry, rz, rw; + double px, py, pz, rx, ry, rz, rw, sx, sy, sz; - pull_lua(L, 1, "$ $ $ $ $ % # # # # # # #", &uuid, &name, &description, &owner, &file, &type, &px, &py, &pz, &rx, &ry, &rz, &rw); - result = addStuffs(uuid, name, description, owner, file, type, px, py, pz, rx, ry, rz, rw); + pull_lua(L, 1, "$ $ $ $ $ % # # # # # # # # # #", &uuid, &name, &description, &owner, &file, &type, &px, &py, &pz, &rx, &ry, &rz, &rw, &sx, &sy, &sz); + result = addStuffs(uuid, name, description, owner, file, type, px, py, pz, rx, ry, rz, rw, sx, sy, sz); if (result) { lua_getfield(L, LUA_REGISTRYINDEX, "sceneData"); @@ -670,6 +671,7 @@ void stuffsSetup(ExtantzStuffs *stuffs, Scene_Data *scene, int fake) eo_key_data_set("Name", stuffs->stuffs.name), evas_canvas3d_node_position_set(stuffs->stuffs.details.mesh->pos.x, stuffs->stuffs.details.mesh->pos.y, stuffs->stuffs.details.mesh->pos.z), evas_canvas3d_node_orientation_set(stuffs->stuffs.details.mesh->rot.x, stuffs->stuffs.details.mesh->rot.y, stuffs->stuffs.details.mesh->rot.z, stuffs->stuffs.details.mesh->rot.w), + evas_canvas3d_node_scale_set(stuffs->stuffs.details.mesh->size.x, stuffs->stuffs.details.mesh->size.y, stuffs->stuffs.details.mesh->size.z), evas_canvas3d_node_mesh_add(me) ); @@ -686,7 +688,7 @@ void stuffsSetup(ExtantzStuffs *stuffs, Scene_Data *scene, int fake) } ExtantzStuffs *addStuffs(char *uuid, char *name, char *description, char *owner, - char *file, MeshType type, double px, double py, double pz, double rx, double ry, double rz, double rw) + char *file, MeshType type, double px, double py, double pz, double rx, double ry, double rz, double rw, double sx, double sy, double sz) { ExtantzStuffs *result = calloc(1, sizeof(ExtantzStuffs)); @@ -710,6 +712,7 @@ ExtantzStuffs *addStuffs(char *uuid, char *name, char *description, char *owner, result->stuffs.details.mesh->type = type; result->stuffs.details.mesh->pos.x = px; result->stuffs.details.mesh->pos.y = py; result->stuffs.details.mesh->pos.z = pz; result->stuffs.details.mesh->rot.x = rx; result->stuffs.details.mesh->rot.y = ry; result->stuffs.details.mesh->rot.z = rz; result->stuffs.details.mesh->rot.w = rw; + result->stuffs.details.mesh->size.x = sx; result->stuffs.details.mesh->size.y = sy; result->stuffs.details.mesh->size.z = sz; result->stage = ES_NORMAL; return result; -- cgit v1.1