forked from Mirrorlandia_minetest/minetest
fixes toward mingw compatibility
This commit is contained in:
parent
a7b158fada
commit
841ac10e5c
@ -10,8 +10,10 @@ add_definitions ( -DUSE_CMAKE_CONFIG_H )
|
|||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
# Windows
|
# Windows
|
||||||
|
if(MSVC)
|
||||||
# Surpress some useless warnings
|
# Surpress some useless warnings
|
||||||
add_definitions ( /D "_CRT_SECURE_NO_DEPRECATE" /W1 )
|
add_definitions ( /D "_CRT_SECURE_NO_DEPRECATE" /W1 )
|
||||||
|
endif()
|
||||||
# Zlib stuff
|
# Zlib stuff
|
||||||
set(ZLIB_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/../../zlib/zlib-1.2.5"
|
set(ZLIB_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/../../zlib/zlib-1.2.5"
|
||||||
CACHE PATH "Zlib include directory")
|
CACHE PATH "Zlib include directory")
|
||||||
|
@ -197,7 +197,7 @@ DebugStacker::~DebugStacker()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _MSC_VER
|
||||||
#if CATCH_UNHANDLED_EXCEPTIONS == 1
|
#if CATCH_UNHANDLED_EXCEPTIONS == 1
|
||||||
void se_trans_func(unsigned int u, EXCEPTION_POINTERS* pExp)
|
void se_trans_func(unsigned int u, EXCEPTION_POINTERS* pExp)
|
||||||
{
|
{
|
||||||
|
21
src/debug.h
21
src/debug.h
@ -238,18 +238,7 @@ private:
|
|||||||
assert(0);\
|
assert(0);\
|
||||||
}
|
}
|
||||||
#ifdef _WIN32 // Windows
|
#ifdef _WIN32 // Windows
|
||||||
|
#ifdef _MSC_VER // MSVC
|
||||||
/*class SE_Exception : public std::exception
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
unsigned int nSE;
|
|
||||||
public:
|
|
||||||
SE_Exception() {}
|
|
||||||
SE_Exception( unsigned int n ) : nSE( n ) {}
|
|
||||||
~SE_Exception() {}
|
|
||||||
unsigned int getSeNumber() { return nSE; }
|
|
||||||
};*/
|
|
||||||
|
|
||||||
void se_trans_func(unsigned int, EXCEPTION_POINTERS*);
|
void se_trans_func(unsigned int, EXCEPTION_POINTERS*);
|
||||||
|
|
||||||
class FatalSystemException : public BaseException
|
class FatalSystemException : public BaseException
|
||||||
@ -259,14 +248,18 @@ public:
|
|||||||
BaseException(s)
|
BaseException(s)
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
#define BEGIN_DEBUG_EXCEPTION_HANDLER \
|
#define BEGIN_DEBUG_EXCEPTION_HANDLER \
|
||||||
BEGIN_PORTABLE_DEBUG_EXCEPTION_HANDLER\
|
BEGIN_PORTABLE_DEBUG_EXCEPTION_HANDLER\
|
||||||
_set_se_translator(se_trans_func);
|
_set_se_translator(se_trans_func);
|
||||||
|
|
||||||
#define END_DEBUG_EXCEPTION_HANDLER \
|
#define END_DEBUG_EXCEPTION_HANDLER \
|
||||||
END_PORTABLE_DEBUG_EXCEPTION_HANDLER
|
END_PORTABLE_DEBUG_EXCEPTION_HANDLER
|
||||||
|
#else // Probably mingw
|
||||||
|
#define BEGIN_DEBUG_EXCEPTION_HANDLER\
|
||||||
|
BEGIN_PORTABLE_DEBUG_EXCEPTION_HANDLER
|
||||||
|
#define END_DEBUG_EXCEPTION_HANDLER\
|
||||||
|
END_PORTABLE_DEBUG_EXCEPTION_HANDLER
|
||||||
|
#endif
|
||||||
#else // Posix
|
#else // Posix
|
||||||
#define BEGIN_DEBUG_EXCEPTION_HANDLER\
|
#define BEGIN_DEBUG_EXCEPTION_HANDLER\
|
||||||
BEGIN_PORTABLE_DEBUG_EXCEPTION_HANDLER
|
BEGIN_PORTABLE_DEBUG_EXCEPTION_HANDLER
|
||||||
|
36
src/main.cpp
36
src/main.cpp
@ -2050,6 +2050,8 @@ int main(int argc, char *argv[])
|
|||||||
// A test
|
// A test
|
||||||
//throw con::PeerNotFoundException("lol");
|
//throw con::PeerNotFoundException("lol");
|
||||||
|
|
||||||
|
core::list<float> frametime_log;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Main loop
|
Main loop
|
||||||
*/
|
*/
|
||||||
@ -2147,6 +2149,23 @@ int main(int argc, char *argv[])
|
|||||||
dtime = 0;
|
dtime = 0;
|
||||||
lasttime = time;
|
lasttime = time;
|
||||||
|
|
||||||
|
/*
|
||||||
|
Log frametime for visualization
|
||||||
|
*/
|
||||||
|
frametime_log.push_back(dtime);
|
||||||
|
if(frametime_log.size() > 100)
|
||||||
|
{
|
||||||
|
core::list<float>::Iterator i = frametime_log.begin();
|
||||||
|
frametime_log.erase(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Visualize frametime in terminal
|
||||||
|
*/
|
||||||
|
/*for(u32 i=0; i<dtime*400; i++)
|
||||||
|
std::cout<<"X";
|
||||||
|
std::cout<<std::endl;*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Time average and jitter calculation
|
Time average and jitter calculation
|
||||||
*/
|
*/
|
||||||
@ -2979,7 +2998,24 @@ int main(int argc, char *argv[])
|
|||||||
displaycenter + core::vector2d<s32>(0,10),
|
displaycenter + core::vector2d<s32>(0,10),
|
||||||
video::SColor(255,255,255,255));
|
video::SColor(255,255,255,255));
|
||||||
|
|
||||||
|
/*
|
||||||
|
Frametime log
|
||||||
|
*/
|
||||||
|
{
|
||||||
|
s32 x = 10;
|
||||||
|
for(core::list<float>::Iterator
|
||||||
|
i = frametime_log.begin();
|
||||||
|
i != frametime_log.end();
|
||||||
|
i++)
|
||||||
|
{
|
||||||
|
driver->draw2DLine(v2s32(x,50),
|
||||||
|
v2s32(x,50+(*i)*1000),
|
||||||
|
video::SColor(255,255,255,255));
|
||||||
|
x++;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} // timer
|
||||||
|
|
||||||
//timer10.stop();
|
//timer10.stop();
|
||||||
//TimeTaker //timer11("//timer11");
|
//TimeTaker //timer11("//timer11");
|
||||||
|
@ -755,7 +755,7 @@ void MapBlock::updateMesh(u32 daynight_ratio)
|
|||||||
material.Lighting = false;
|
material.Lighting = false;
|
||||||
material.BackfaceCulling = false;
|
material.BackfaceCulling = false;
|
||||||
material.setFlag(video::EMF_BILINEAR_FILTER, false);
|
material.setFlag(video::EMF_BILINEAR_FILTER, false);
|
||||||
material.setFlag(video::EMF_ANTI_ALIASING, video::EAAM_OFF);
|
//material.setFlag(video::EMF_ANTI_ALIASING, video::EAAM_OFF);
|
||||||
//material.setFlag(video::EMF_ANTI_ALIASING, video::EAAM_SIMPLE);
|
//material.setFlag(video::EMF_ANTI_ALIASING, video::EAAM_SIMPLE);
|
||||||
material.setFlag(video::EMF_FOG_ENABLE, true);
|
material.setFlag(video::EMF_FOG_ENABLE, true);
|
||||||
|
|
||||||
|
30
src/tile.cpp
30
src/tile.cpp
@ -387,10 +387,16 @@ void TextureSource::buildMainAtlas()
|
|||||||
sourcelist.push_back("sand.png^mineral_coal.png");
|
sourcelist.push_back("sand.png^mineral_coal.png");
|
||||||
sourcelist.push_back("sand.png^mineral_iron.png");
|
sourcelist.push_back("sand.png^mineral_iron.png");
|
||||||
|
|
||||||
|
// Padding to disallow texture bleeding
|
||||||
|
s32 padding = 8;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
First pass: generate almost everything
|
First pass: generate almost everything
|
||||||
*/
|
*/
|
||||||
core::position2d<s32> pos_in_atlas(0,0);
|
core::position2d<s32> pos_in_atlas(0,0);
|
||||||
|
|
||||||
|
pos_in_atlas.Y += padding;
|
||||||
|
|
||||||
for(u32 i=0; i<sourcelist.size(); i++)
|
for(u32 i=0; i<sourcelist.size(); i++)
|
||||||
{
|
{
|
||||||
std::string name = sourcelist[i];
|
std::string name = sourcelist[i];
|
||||||
@ -423,6 +429,28 @@ void TextureSource::buildMainAtlas()
|
|||||||
NULL);
|
NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Copy the borders a few times to disallow texture bleeding
|
||||||
|
for(u32 side=0; side<2; side++) // top and bottom
|
||||||
|
for(s32 y0=0; y0<padding; y0++)
|
||||||
|
for(s32 x0=0; x0<(s32)xwise_tiling*(s32)dim.Width; x0++)
|
||||||
|
{
|
||||||
|
s32 dst_y;
|
||||||
|
s32 src_y;
|
||||||
|
if(side==0)
|
||||||
|
{
|
||||||
|
dst_y = y0 + pos_in_atlas.Y + dim.Height;
|
||||||
|
src_y = pos_in_atlas.Y + dim.Height - 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dst_y = -y0 + pos_in_atlas.Y-1;
|
||||||
|
src_y = pos_in_atlas.Y;
|
||||||
|
}
|
||||||
|
s32 x = x0 + pos_in_atlas.X * dim.Width;
|
||||||
|
video::SColor c = atlas_img->getPixel(x, src_y);
|
||||||
|
atlas_img->setPixel(x,dst_y,c);
|
||||||
|
}
|
||||||
|
|
||||||
img2->drop();
|
img2->drop();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -447,7 +475,7 @@ void TextureSource::buildMainAtlas()
|
|||||||
m_name_to_id.insert(name, id);
|
m_name_to_id.insert(name, id);
|
||||||
|
|
||||||
// Increment position
|
// Increment position
|
||||||
pos_in_atlas.Y += dim.Height;
|
pos_in_atlas.Y += dim.Height + padding * 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user