summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjacksonmj <mj-pt@jacksonmj.co.uk>2011-06-24 20:54:59 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2011-06-25 14:52:52 (GMT)
commitc18009dd9c87343178e808565d815b454bd2b585 (patch)
tree0802e521b44b7adecbe38518a343a9df882ebc20 /src
parent36e2a07a5b5e0eb07bd9fcea48004dd8b5890322 (diff)
downloadpowder-c18009dd9c87343178e808565d815b454bd2b585.zip
powder-c18009dd9c87343178e808565d815b454bd2b585.tar.gz
Check particle exists in tpt.set_property, and sdl_scale mouse coords for Lua step
Diffstat (limited to 'src')
-rw-r--r--src/luaconsole.c4
-rw-r--r--src/main.c2
2 files changed, 4 insertions, 2 deletions
diff --git a/src/luaconsole.c b/src/luaconsole.c
index 714800b..93cd407 100644
--- a/src/luaconsole.c
+++ b/src/luaconsole.c
@@ -436,7 +436,7 @@ int luatpt_set_property(lua_State* l)
for (nx = x; nx<x+w; nx++)
for (ny = y; ny<y+h; ny++){
i = pmap[ny][nx]>>8;
- if (i < 0 || i >= NPART || (partsel && partsel != parts[i].type))
+ if (!(pmap[ny][nx]&0xFF) || i < 0 || i >= NPART || (partsel && partsel != parts[i].type))
continue;
if(format==2){
*((float*)(((void*)&parts[i])+offset)) = f;
@@ -455,6 +455,8 @@ int luatpt_set_property(lua_State* l)
}
if (i < 0 || i >= NPART)
return luaL_error(l, "Invalid particle ID '%d'", i);
+ if (!parts[i].type)
+ return 0;
if (partsel && partsel != parts[i].type)
return 0;
if(format==2){
diff --git a/src/main.c b/src/main.c
index 535c4f1..7c1d372 100644
--- a/src/main.c
+++ b/src/main.c
@@ -2508,7 +2508,7 @@ int main(int argc, char *argv[])
b = SDL_GetMouseState(&x, &y); // b is current mouse state
#ifdef LUACONSOLE
- if(luacon_step(x, y, b, bq, sdl_key))
+ if(luacon_step(x/sdl_scale, y/sdl_scale, b, bq, sdl_key))
b = 0; //Mouse click was handled by Lua step
#endif