mirror of
https://github.com/love2d/love.git
synced 2026-08-21 21:15:09 +02:00
Merged default into Mesh
--HG-- branch : Mesh
This commit is contained in:
+1150
File diff suppressed because it is too large
Load Diff
@@ -2267,7 +2267,7 @@
|
||||
10D5479E63C26BB35EB5482E /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
DEAD_CODE_STRIPPING = YES;
|
||||
@@ -2303,7 +2303,7 @@
|
||||
64274E785071353E1A1D0D4B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
|
||||
@@ -301,7 +301,7 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = /Library/Frameworks;
|
||||
@@ -353,7 +353,7 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
|
||||
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
DEPLOYMENT_POSTPROCESSING = NO;
|
||||
|
||||
@@ -13,9 +13,25 @@ AC_PROG_CXX
|
||||
AC_PROG_SED
|
||||
AC_PROG_MKDIR_P
|
||||
AC_C_BIGENDIAN
|
||||
AC_LANG([C++])
|
||||
|
||||
includes=
|
||||
|
||||
AC_DEFUN([ACLOVE_CXX_FLAG_TEST], # WARNING: NOT REENTRANT
|
||||
[aclove_cxx_flag_test_save_cflags="$CXXFLAGS"
|
||||
CXXFLAGS="$1"
|
||||
AC_MSG_CHECKING([whether $CXX supports flag $1])
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
|
||||
[AC_MSG_RESULT([yes])]; $2,
|
||||
[AC_MSG_RESULT([no]); $3])
|
||||
CXXFLAGS="$aclove_cxx_flag_test_save_cflags"])
|
||||
|
||||
# C++11 support
|
||||
cxx11name="no"
|
||||
ACLOVE_CXX_FLAG_TEST([-std=c++0x], cxx11name="c++0x", [])
|
||||
ACLOVE_CXX_FLAG_TEST([-std=c++11], cxx11name="c++11", [])
|
||||
AS_VAR_IF([cxx11name], [no], AC_MSG_ERROR([Can't LÖVE without C++11]), CXXFLAGS="$CXXFLAGS -std=$cxx11name")
|
||||
|
||||
# Libraries
|
||||
AC_SEARCH_LIBS([sqrt], [m], [], AC_MSG_ERROR([Can't LÖVE without C math library]))
|
||||
AC_SEARCH_LIBS([SDL_Init], [SDL2], [], AC_MSG_ERROR([Can't LÖVE without SDL 2]))
|
||||
|
||||
@@ -14,6 +14,9 @@
|
||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source distribution.
|
||||
*
|
||||
*
|
||||
* THIS FILE HAS BEEN MODIFIED BY THE LÖVE DEVELOPMENT TEAM
|
||||
*/
|
||||
|
||||
#ifndef B2_CHAIN_SHAPE_H
|
||||
@@ -95,8 +98,8 @@ inline b2ChainShape::b2ChainShape()
|
||||
m_radius = b2_polygonRadius;
|
||||
m_vertices = NULL;
|
||||
m_count = 0;
|
||||
m_hasPrevVertex = NULL;
|
||||
m_hasNextVertex = NULL;
|
||||
m_hasPrevVertex = false;
|
||||
m_hasNextVertex = false;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
PLEASE NOTE, this version of Box2D is NOT original, it has been MODIFIED by the LÖVE Development Team.
|
||||
@@ -110,7 +110,7 @@ static int base_open(lua_State *L) {
|
||||
/*-------------------------------------------------------------------------*\
|
||||
* Initializes all library modules.
|
||||
\*-------------------------------------------------------------------------*/
|
||||
LUASOCKET_API luaopen_socket_core(lua_State *L) {
|
||||
int LUASOCKET_API luaopen_socket_core(lua_State *L) {
|
||||
int i;
|
||||
base_open(L);
|
||||
for (i = 0; mod[i].name; i++) mod[i].func(L);
|
||||
|
||||
@@ -76,7 +76,7 @@ bool Pool::isPlaying(Source *s)
|
||||
bool p = false;
|
||||
{
|
||||
thread::Lock lock(mutex);
|
||||
for (std::map<Source *, ALuint>::iterator i = playing.begin(); i != playing.end(); i++)
|
||||
for (auto i = playing.begin(); i != playing.end(); i++)
|
||||
{
|
||||
if (i->first == s)
|
||||
p = true;
|
||||
@@ -161,7 +161,7 @@ bool Pool::play(Source *source, ALuint &out)
|
||||
void Pool::stop()
|
||||
{
|
||||
thread::Lock lock(mutex);
|
||||
for (std::map<Source *, ALuint>::iterator i = playing.begin(); i != playing.end(); i++)
|
||||
for (auto i = playing.begin(); i != playing.end(); i++)
|
||||
{
|
||||
i->first->stopAtomic();
|
||||
i->first->release();
|
||||
@@ -180,7 +180,7 @@ void Pool::stop(Source *source)
|
||||
void Pool::pause()
|
||||
{
|
||||
thread::Lock lock(mutex);
|
||||
for (std::map<Source *, ALuint>::iterator i = playing.begin(); i != playing.end(); i++)
|
||||
for (auto i = playing.begin(); i != playing.end(); i++)
|
||||
i->first->pauseAtomic();
|
||||
}
|
||||
|
||||
@@ -195,7 +195,7 @@ void Pool::pause(Source *source)
|
||||
void Pool::resume()
|
||||
{
|
||||
thread::Lock lock(mutex);
|
||||
for (std::map<Source *, ALuint>::iterator i = playing.begin(); i != playing.end(); i++)
|
||||
for (auto i = playing.begin(); i != playing.end(); i++)
|
||||
i->first->resumeAtomic();
|
||||
}
|
||||
|
||||
@@ -210,7 +210,7 @@ void Pool::resume(Source *source)
|
||||
void Pool::rewind()
|
||||
{
|
||||
thread::Lock lock(mutex);
|
||||
for (std::map<Source *, ALuint>::iterator i = playing.begin(); i != playing.end(); i++)
|
||||
for (auto i = playing.begin(); i != playing.end(); i++)
|
||||
i->first->rewindAtomic();
|
||||
}
|
||||
|
||||
|
||||
@@ -244,7 +244,7 @@ Font::Glyph *Font::addGlyph(uint32 glyph)
|
||||
|
||||
Font::Glyph *Font::findGlyph(uint32 glyph)
|
||||
{
|
||||
std::map<uint32, Glyph *>::const_iterator it = glyphs.find(glyph);
|
||||
auto it = glyphs.find(glyph);
|
||||
|
||||
if (it != glyphs.end())
|
||||
return it->second;
|
||||
@@ -498,8 +498,7 @@ void Font::setFilter(const Image::Filter &f)
|
||||
{
|
||||
filter = f;
|
||||
|
||||
std::vector<GLuint>::const_iterator it;
|
||||
for (it = textures.begin(); it != textures.end(); ++it)
|
||||
for (auto it = textures.begin(); it != textures.end(); ++it)
|
||||
{
|
||||
gl.bindTexture(*it);
|
||||
filter.anisotropy = gl.setTextureFilter(f);
|
||||
|
||||
@@ -554,7 +554,7 @@ void Shader::sendTexture(const std::string &name, GLuint texture)
|
||||
if (activeTextureUnits[textureunit-1] == 0)
|
||||
++textureCounters[textureunit-1];
|
||||
|
||||
// store texture id so it can be re-bound to the proper texture unit when necessary
|
||||
// store texture id so it can be re-bound to the proper texture unit later
|
||||
activeTextureUnits[textureunit-1] = texture;
|
||||
}
|
||||
|
||||
@@ -570,7 +570,7 @@ void Shader::sendCanvas(const std::string &name, const Canvas &canvas)
|
||||
|
||||
int Shader::getTextureUnit(const std::string &name)
|
||||
{
|
||||
std::map<std::string, GLint>::const_iterator it = textureUnitPool.find(name);
|
||||
auto it = textureUnitPool.find(name);
|
||||
|
||||
if (it != textureUnitPool.end())
|
||||
return it->second;
|
||||
@@ -578,19 +578,23 @@ int Shader::getTextureUnit(const std::string &name)
|
||||
int textureunit = 1;
|
||||
|
||||
// prefer texture units which are unused by all other shaders
|
||||
std::vector<int>::iterator nextfreeunit = std::find(textureCounters.begin(), textureCounters.end(), 0);
|
||||
auto freeunit_it = std::find(textureCounters.begin(), textureCounters.end(), 0);
|
||||
|
||||
if (nextfreeunit != textureCounters.end())
|
||||
textureunit = std::distance(textureCounters.begin(), nextfreeunit) + 1; // we don't want to use unit 0
|
||||
if (freeunit_it != textureCounters.end())
|
||||
{
|
||||
// we don't want to use unit 0
|
||||
textureunit = std::distance(textureCounters.begin(), freeunit_it) + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
// no completely unused texture units exist, try to use next free slot in our own list
|
||||
std::vector<GLuint>::iterator nexttexunit = std::find(activeTextureUnits.begin(), activeTextureUnits.end(), 0);
|
||||
auto nextunit_it = std::find(activeTextureUnits.begin(), activeTextureUnits.end(), 0);
|
||||
|
||||
if (nexttexunit == activeTextureUnits.end())
|
||||
if (nextunit_it == activeTextureUnits.end())
|
||||
throw love::Exception("No more texture units available for shader.");
|
||||
|
||||
textureunit = std::distance(activeTextureUnits.begin(), nexttexunit) + 1; // we don't want to use unit 0
|
||||
// we don't want to use unit 0
|
||||
textureunit = std::distance(activeTextureUnits.begin(), nextunit_it) + 1;
|
||||
}
|
||||
|
||||
textureUnitPool[name] = textureunit;
|
||||
|
||||
@@ -57,8 +57,7 @@ JoystickModule::JoystickModule()
|
||||
JoystickModule::~JoystickModule()
|
||||
{
|
||||
// Close any open Joysticks.
|
||||
std::list<joystick::Joystick *>::iterator it;
|
||||
for (it = joysticks.begin(); it != joysticks.end(); ++it)
|
||||
for (auto it = joysticks.begin(); it != joysticks.end(); ++it)
|
||||
{
|
||||
(*it)->close();
|
||||
(*it)->release();
|
||||
@@ -117,8 +116,7 @@ love::joystick::Joystick *JoystickModule::addJoystick(int deviceindex)
|
||||
joystick::Joystick *joystick = 0;
|
||||
bool reused = false;
|
||||
|
||||
std::list<joystick::Joystick *>::iterator it;
|
||||
for (it = joysticks.begin(); it != joysticks.end(); ++it)
|
||||
for (auto it = joysticks.begin(); it != joysticks.end(); ++it)
|
||||
{
|
||||
// Try to re-use a disconnected Joystick with the same GUID.
|
||||
if (!(*it)->isConnected() && (*it)->getGUID() == guidstr)
|
||||
@@ -143,19 +141,20 @@ love::joystick::Joystick *JoystickModule::addJoystick(int deviceindex)
|
||||
|
||||
// Make sure multiple instances of the same physical joystick aren't added
|
||||
// to the active list.
|
||||
for (size_t i = 0; i < activeSticks.size(); i++)
|
||||
for (auto it = activeSticks.begin(); it != activeSticks.end(); ++it)
|
||||
{
|
||||
if (joystick->getHandle() == activeSticks[i]->getHandle())
|
||||
if (joystick->getHandle() == (*it)->getHandle())
|
||||
{
|
||||
joystick->close();
|
||||
|
||||
// If we just created the stick, remove it since it's a duplicate.
|
||||
if (!reused)
|
||||
{
|
||||
joysticks.remove(joystick);
|
||||
joystick->release();
|
||||
}
|
||||
|
||||
return activeSticks[i];
|
||||
return *it;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -169,7 +168,7 @@ void JoystickModule::removeJoystick(love::joystick::Joystick *joystick)
|
||||
return;
|
||||
|
||||
// Close the Joystick and remove it from the active joystick list.
|
||||
std::vector<joystick::Joystick *>::iterator it = std::find(activeSticks.begin(), activeSticks.end(), joystick);
|
||||
auto it = std::find(activeSticks.begin(), activeSticks.end(), joystick);
|
||||
if (it != activeSticks.end())
|
||||
{
|
||||
(*it)->close();
|
||||
@@ -425,8 +424,7 @@ void JoystickModule::checkGamepads(const std::string &guid) const
|
||||
if (guid.compare(getDeviceGUID(d_index)) != 0)
|
||||
continue;
|
||||
|
||||
std::vector<love::joystick::Joystick *>::const_iterator it;
|
||||
for (it = activeSticks.begin(); it != activeSticks.end(); ++it)
|
||||
for (auto it = activeSticks.begin(); it != activeSticks.end(); ++it)
|
||||
{
|
||||
if ((*it)->isGamepad() || guid.compare((*it)->getGUID()) != 0)
|
||||
continue;
|
||||
|
||||
@@ -257,21 +257,21 @@ void World::update(float dt)
|
||||
world->Step(dt, 8, 6);
|
||||
|
||||
// Destroy all objects marked during the time step.
|
||||
for (std::vector<Body *>::iterator i = destructBodies.begin(); i < destructBodies.end(); i++)
|
||||
for (auto i = destructBodies.begin(); i < destructBodies.end(); i++)
|
||||
{
|
||||
Body *b = *i;
|
||||
if (b->body != 0) b->destroy();
|
||||
// Release for reference in vector.
|
||||
b->release();
|
||||
}
|
||||
for (std::vector<Fixture *>::iterator i = destructFixtures.begin(); i < destructFixtures.end(); i++)
|
||||
for (auto i = destructFixtures.begin(); i < destructFixtures.end(); i++)
|
||||
{
|
||||
Fixture *f = *i;
|
||||
if (f->isValid()) f->destroy();
|
||||
// Release for reference in vector.
|
||||
f->release();
|
||||
}
|
||||
for (std::vector<Joint *>::iterator i = destructJoints.begin(); i < destructJoints.end(); i++)
|
||||
for (auto i = destructJoints.begin(); i < destructJoints.end(); i++)
|
||||
{
|
||||
Joint *j = *i;
|
||||
if (j->isValid()) j->destroyJoint();
|
||||
|
||||
Reference in New Issue
Block a user