diff --git a/src/common/Module.cpp b/src/common/Module.cpp index dd89a2a9a..8b7dda2d0 100644 --- a/src/common/Module.cpp +++ b/src/common/Module.cpp @@ -34,32 +34,34 @@ namespace namespace love { - void Module::registerInstance(Module *instance) + +void Module::registerInstance(Module *instance) +{ + if (instance == NULL) + throw Exception("Module instance is NULL"); + + std::string name(instance->getName()); + + std::map::iterator it = registry.find(name); + + if (registry.end() != it) { - if (instance == NULL) - throw Exception("Module instance is NULL"); - - std::string name(instance->getName()); - - std::map::iterator it = registry.find(name); - - if (registry.end() != it) - { - if (it->second == instance) - return; - throw Exception("Module %s already registered!", instance->getName()); - } - - registry.insert(make_pair(name, instance)); + if (it->second == instance) + return; + throw Exception("Module %s already registered!", instance->getName()); } - Module *Module::getInstance(const char *name) - { - std::map::iterator it = registry.find(std::string(name)); + registry.insert(make_pair(name, instance)); +} - if (registry.end() == it) - return NULL; +Module *Module::getInstance(const char *name) +{ + std::map::iterator it = registry.find(std::string(name)); - return it->second; - } -} // namespace love + if (registry.end() == it) + return NULL; + + return it->second; +} + +} // love diff --git a/src/common/runtime.cpp b/src/common/runtime.cpp index 3742a32ea..2d5b97388 100644 --- a/src/common/runtime.cpp +++ b/src/common/runtime.cpp @@ -78,7 +78,7 @@ static int w__eq(lua_State *L) return 1; } -Reference *luax_refif (lua_State *L, int type) +Reference *luax_refif(lua_State *L, int type) { Reference *r = 0; @@ -538,6 +538,7 @@ StringMap::Entry typeEntries[] = // The modules themselves. Only add abstracted modules here. {"filesystem", MODULE_FILESYSTEM_ID}, + {"graphics", MODULE_GRAPHICS_ID}, {"image", MODULE_IMAGE_ID}, {"sound", MODULE_SOUND_ID}, }; diff --git a/src/modules/graphics/opengl/Graphics.cpp b/src/modules/graphics/opengl/Graphics.cpp index 00b96bb02..555304517 100644 --- a/src/modules/graphics/opengl/Graphics.cpp +++ b/src/modules/graphics/opengl/Graphics.cpp @@ -199,12 +199,12 @@ bool Graphics::setMode(int width, int height) void Graphics::unSetMode() { - // Window creation may destroy the OpenGL context, so we must save the state. + // Window re-creation may destroy the GL context, so we must save the state. if (isCreated()) savedState = saveState(); - // Unload all volatile objects. These must be reloaded after - // the display mode change. + // Unload all volatile objects. These must be reloaded after the display + // mode change. Volatile::unloadAll(); gl.deInitContext(); @@ -266,7 +266,8 @@ bool Graphics::isCreated() const void Graphics::setScissor(int x, int y, int width, int height) { glEnable(GL_SCISSOR_TEST); - glScissor(x, getRenderHeight() - (y + height), width, height); // Compensates for the fact that our y-coordinate is reverse of OpenGLs. + // Compensates for the fact that our y-coordinate is reverse of OpenGL's. + glScissor(x, getRenderHeight() - (y + height), width, height); } void Graphics::setScissor() @@ -1005,7 +1006,7 @@ static void draw_overdraw(Vector *overdraw, size_t count, float pixel_size, bool glDisableClientState(GL_COLOR_ARRAY); // "if GL_COLOR_ARRAY is enabled, the value of the current color is // undefined after glDrawArrays executes" - + gl.setColor(c); delete[] colors; @@ -1299,8 +1300,7 @@ void Graphics::shear(float kx, float ky) void Graphics::origin() { glLoadIdentity(); - pixel_size_stack.clear(); - pixel_size_stack.push_back(1); + pixel_size_stack.back() = 1; } } // opengl diff --git a/src/modules/graphics/opengl/SpriteBatch.cpp b/src/modules/graphics/opengl/SpriteBatch.cpp index 218473ea1..aa8520cc4 100644 --- a/src/modules/graphics/opengl/SpriteBatch.cpp +++ b/src/modules/graphics/opengl/SpriteBatch.cpp @@ -124,7 +124,7 @@ int SpriteBatch::addg(Geometry *geom, float x, float y, float a, float sx, float return -1; if (geom->getVertexCount() != 4) - throw love::Exception("Can only add quadliteral geometries to SpriteBatch"); + throw love::Exception("Can only add quadrilateral geometries to SpriteBatch"); for (size_t i = 0; i < 4; i++) sprite[i] = geom->getVertex(i); @@ -169,9 +169,9 @@ void SpriteBatch::unlock() void SpriteBatch::setImage(Image *newimage) { + newimage->retain(); image->release(); image = newimage; - image->retain(); } Image *SpriteBatch::getImage()