From c18009dd9c87343178e808565d815b454bd2b585 Mon Sep 17 00:00:00 2001 From: jacksonmj Date: Fri, 24 Jun 2011 21:54:59 +0100 Subject: [PATCH] Check particle exists in tpt.set_property, and sdl_scale mouse coords for Lua step --- src/luaconsole.c | 4 +++- src/main.c | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/luaconsole.c b/src/luaconsole.c index 714800be4..93cd407ae 100644 --- a/src/luaconsole.c +++ b/src/luaconsole.c @@ -436,7 +436,7 @@ int luatpt_set_property(lua_State* l) for (nx = x; 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 535c4f16a..7c1d372ca 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