diff --git a/platform/macosx/love.xcodeproj/project.pbxproj b/platform/macosx/love.xcodeproj/project.pbxproj index ba96b8b1c..db1917f6f 100644 --- a/platform/macosx/love.xcodeproj/project.pbxproj +++ b/platform/macosx/love.xcodeproj/project.pbxproj @@ -1834,7 +1834,7 @@ GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES; GCC_WARN_ABOUT_RETURN_TYPE = NO; - GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = YES; GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; diff --git a/src/modules/physics/box2d/wrap_Physics.cpp b/src/modules/physics/box2d/wrap_Physics.cpp index 869a93844..faeef7957 100644 --- a/src/modules/physics/box2d/wrap_Physics.cpp +++ b/src/modules/physics/box2d/wrap_Physics.cpp @@ -31,32 +31,30 @@ namespace box2d int w_newWorld(lua_State * L) { - World * w; - switch(lua_gettop(L)) + int top = lua_gettop(L); + if (top == 2) { - case 2: - float x = (float)luaL_checknumber(L, 1); - float y = (float)luaL_checknumber(L, 2); - w = instance->newWorld(x, y); - luax_newtype(L, "World", PHYSICS_WORLD_T, (void*)w); - return 1; - - case 6: - case 7: - float lx = (float)luaL_checknumber(L, 1); - float ly = (float)luaL_checknumber(L, 2); - float ux = (float)luaL_checknumber(L, 3); - float uy = (float)luaL_checknumber(L, 4); - float gx = (float)luaL_checknumber(L, 5); - float gy = (float)luaL_checknumber(L, 6); - bool sleep = luax_optboolean(L, 7, true); - w = instance->newWorld(lx, ly, ux, uy, gx, gy, sleep); - luax_newtype(L, "World", PHYSICS_WORLD_T, (void*)w); - return 1; - - default: - return luaL_error(L, "Incorrect number of parameters"); + float x = (float)luaL_checknumber(L, 1); + float y = (float)luaL_checknumber(L, 2); + World * w = instance->newWorld(x, y); + luax_newtype(L, "World", PHYSICS_WORLD_T, (void*)w); + return 1; } + else if (top == 6 || top == 7) + { + float lx = (float)luaL_checknumber(L, 1); + float ly = (float)luaL_checknumber(L, 2); + float ux = (float)luaL_checknumber(L, 3); + float uy = (float)luaL_checknumber(L, 4); + float gx = (float)luaL_checknumber(L, 5); + float gy = (float)luaL_checknumber(L, 6); + bool sleep = luax_optboolean(L, 7, true); + World * w = instance->newWorld(lx, ly, ux, uy, gx, gy, sleep); + luax_newtype(L, "World", PHYSICS_WORLD_T, (void*)w); + return 1; + } + else + return luaL_error(L, "Incorrect number of parameters"); } int w_newBody(lua_State * L)