summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjacob1 <jfu614@gmail.com>2012-08-08 01:45:26 (GMT)
committer jacksonmj <mj-pt@jacksonmj.co.uk>2012-08-09 20:08:04 (GMT)
commit9bb4fbce3af8fe8b3e1e3aa81921f9e9ec63975b (patch)
treed27cb8ac2ba648d31d5588a9b9851caebeb778fb /src
parent2972f55a60aaec903b80d68022da1e72c6f579b1 (diff)
downloadpowder-9bb4fbce3af8fe8b3e1e3aa81921f9e9ec63975b.zip
powder-9bb4fbce3af8fe8b3e1e3aa81921f9e9ec63975b.tar.gz
fix set_property not checking stacked particles, add dcolor property setting/getting
Diffstat (limited to 'src')
-rw-r--r--src/luaconsole.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/luaconsole.c b/src/luaconsole.c
index b89e125..85dfb6b 100644
--- a/src/luaconsole.c
+++ b/src/luaconsole.c
@@ -1326,7 +1326,7 @@ int luatpt_set_property(lua_State* l)
} else if (strcmp(prop,"y")==0){
offset = offsetof(particle, y);
format = 2;
- } else if (strcmp(prop,"dcolour")==0){
+ } else if (strcmp(prop,"dcolour")==0 || strcmp(prop,"dcolor")==0){
offset = offsetof(particle, dcolour);
format = 1;
} else {
@@ -1367,22 +1367,22 @@ int luatpt_set_property(lua_State* l)
w = XRES-x;
if(y+h > YRES)
h = YRES-y;
- for (nx = x; nx<x+w; nx++)
- for (ny = y; ny<y+h; ny++){
- r = pmap[ny][nx];
- if (!r || (partsel && partsel != parts[r>>8].type))
+ for (i = 0; i < NPART; i++)
+ {
+ if (parts[i].type)
+ {
+ nx = (int)(parts[i].x + .5f);
+ ny = (int)(parts[i].y + .5f);
+ if (nx >= x && nx < x+w && ny >= y && ny < y+h && (!partsel || partsel == parts[i].type))
{
- r = photons[ny][nx];
- if (!r || (partsel && partsel != parts[r>>8].type))
- continue;
- }
- i = r>>8;
- if(format==2){
- *((float*)(((char*)&parts[i])+offset)) = f;
- } else {
- *((int*)(((char*)&parts[i])+offset)) = t;
+ if(format==2){
+ *((float*)(((char*)&parts[i])+offset)) = f;
+ } else {
+ *((int*)(((char*)&parts[i])+offset)) = t;
+ }
}
}
+ }
} else {
// Got coords or particle index
if(i != -1 && y != -1){