Final merge of ancient file revisions. Most stuff seems up to date now, only OSX device is probably completely broken and needs a fresh copy from trunk. Will merge latest trunk again in next run in order to have a proper version number in the logs again.

git-svn-id: http://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@4492 dfc29bdd-3216-0410-991c-e03cc46cb475
master
hybrid 2013-04-04 16:15:53 +00:00
parent bb6f7b3cb9
commit e52f7c693c
167 changed files with 11566 additions and 4592 deletions

View File

@ -160,6 +160,9 @@ Changes in 1.8 (7.11.2012)
- CXMLReader initializes IsEmptyElement now.
- line2d::intersectWith and and line2d::getClosestPoint work now also with integers.
- line2d::intersectWith and and line2d::getClosestPoint work now also with integers.
- line2d::getMiddle and line3d::getMiddle work now also with integers. But can be slower for compilers which are not optimizing division by 2 to multiplication by 0.5 for floats.
@ -660,6 +663,10 @@ Changes in 1.7.3 (20.02.2012)
- Harden Linux joystick usage, in case the driver returns illegal values
- Some more editbox fixes
- Harden Linux joystick usage, in case the driver returns illegal values
- Bugfix: vector2d.normalize() and vector3d.normalize() had returned wrong results with very short vectors since Irrlicht 1.5. Thanks to Willem Swart for Bugreport + testcase.
- Unknown keymappings now use the X11 keycode instead of 0 to make such keys at least usable in games.
@ -698,6 +705,8 @@ Changes in 1.7.3 (20.02.2012)
- Fix crash in editbox
- Fix crash in editbox
- Fix 'k' in bigfont.png (thx @ Scrappi for reporting)
- fix serialization for CBillboardSceneNode, it had missed 2 color (thx for finding + patch from pc0de)
@ -712,6 +721,10 @@ Changes in 1.7.3 (20.02.2012)
- Fix SColorf interpolation
- Fix bug handling in case RTT is not properly created
- Fix SColorf interpolation
- Fix memory-leaks in example 22 MaterialViewer
- Fix array::erase which did destroy objects more than once when used with a range (thx @ RedDragCZ for reporting + testcase).

View File

@ -7,7 +7,7 @@ Windows, Toolbars, Menus, ComboBoxes, Tabcontrols, Editboxes, Images,
MessageBoxes, SkyBoxes, and how to parse XML files with the integrated XML
reader of the engine.
We start like in most other tutorials: Include all nesessary header files, add
We start like in most other tutorials: Include all necessary header files, add
a comment to let the engine be linked with the right .lib file in Visual
Studio, and declare some global variables. We also add two 'using namespace'
statements, so we do not need to write the whole names of all classes. In this
@ -939,7 +939,7 @@ int main(int argc, char* argv[])
/*
That's nearly the whole application. We simply show the about message
box at start up, and load the first model. To make everything look
better, a skybox is created and a user controled camera, to make the
better, a skybox is created and a user controlled camera, to make the
application a little bit more interactive. Finally, everything is drawn
in a standard drawing loop.
*/

View File

@ -1,12 +1,12 @@
/** Example 010 Shaders
This tutorial shows how to use shaders for D3D8, D3D9, and OpenGL with the
This tutorial shows how to use shaders for D3D8, D3D9, OpenGL, and Cg with the
engine and how to create new material types with them. It also shows how to
disable the generation of mipmaps at texture loading, and how to use text scene
nodes.
This tutorial does not explain how shaders work. I would recommend to read the
D3D or OpenGL documentation, to search a tutorial, or to read a book about
D3D, OpenGL, or Cg documentation, to search a tutorial, or to read a book about
this.
At first, we need to include all headers and do the stuff we always do, like in
@ -42,6 +42,7 @@ the variable name as parameter instead of the register index.
IrrlichtDevice* device = 0;
bool UseHighLevelShaders = false;
bool UseCgShaders = false;
class MyShaderCallBack : public video::IShaderConstantSetCallBack
{
@ -124,6 +125,7 @@ public:
world = world.getTransposed();
if (UseHighLevelShaders)
{
services->setVertexShaderConstant(TransWorldID, world.pointer(), 16);
// set texture, for textures you can use both an int and a float setPixelShaderConstant interfaces (You need it only for an OpenGL driver).
@ -165,7 +167,13 @@ int main()
printf("Please press 'y' if you want to use high level shaders.\n");
std::cin >> i;
if (i == 'y')
{
UseHighLevelShaders = true;
printf("Please press 'y' if you want to use Cg shaders.\n");
std::cin >> i;
if (i == 'y')
UseCgShaders = true;
}
}
// create device
@ -204,6 +212,7 @@ int main()
case video::EDT_DIRECT3D9:
if (UseHighLevelShaders)
{
// Cg can also handle this syntax
psFileName = "../../media/d3d9.hlsl";
vsFileName = psFileName; // both shaders are in the same file
}
@ -225,8 +234,17 @@ int main()
case video::EDT_OPENGL:
if (UseHighLevelShaders)
{
psFileName = "../../media/opengl.frag";
vsFileName = "../../media/opengl.vert";
if (!UseCgShaders)
{
psFileName = "../../media/opengl.frag";
vsFileName = "../../media/opengl.vert";
}
else
{
// Use HLSL syntax for Cg
psFileName = "../../media/d3d9.hlsl";
vsFileName = psFileName; // both shaders are in the same file
}
}
else
{
@ -244,12 +262,12 @@ int main()
but not pixel shaders, we create a new material which only uses the
vertex shader, and no pixel shader. Otherwise, if we would tell the
engine to create this material and the engine sees that the hardware
wouldn't be able to fullfill the request completely, it would not
wouldn't be able to fulfill the request completely, it would not
create any new material at all. So in this example you would see at
least the vertex shader in action, without the pixel shader.
*/
/*if (!driver->queryFeature(video::EVDF_PIXEL_SHADER_1_1) &&
if (!driver->queryFeature(video::EVDF_PIXEL_SHADER_1_1) &&
!driver->queryFeature(video::EVDF_ARB_FRAGMENT_PROGRAM_1))
{
device->getLogger()->log("WARNING: Pixel shaders disabled "\
@ -263,7 +281,7 @@ int main()
device->getLogger()->log("WARNING: Vertex shaders disabled "\
"because of missing driver/hardware support.");
vsFileName = "";
}*/
}
/*
Now lets create the new materials. As you maybe know from previous
@ -281,7 +299,7 @@ int main()
names, then you could write the code of the shader directly as string.
The following parameter is a pointer to the IShaderConstantSetCallBack
class we wrote at the beginning of this tutorial. If you don't want to
set constants, set this to 0. The last paramter tells the engine which
set constants, set this to 0. The last parameter tells the engine which
material it should use as base material.
To demonstrate this, we create two materials with a different base
@ -303,17 +321,23 @@ int main()
if (UseHighLevelShaders)
{
// create material from high level shaders (hlsl or glsl)
// Choose the desired shader type. Default is the native
// shader type for the driver, for Cg pass the special
// enum value EGSL_CG
const video::E_GPU_SHADING_LANGUAGE shadingLanguage =
UseCgShaders ? video::EGSL_CG:video::EGSL_DEFAULT;
// create material from high level shaders (hlsl, glsl or cg)
newMaterialType1 = gpu->addHighLevelShaderMaterialFromFiles(
vsFileName, "vertexMain", video::EVST_VS_1_1,
psFileName, "pixelMain", video::EPST_PS_1_1,
mc, video::EMT_SOLID);
mc, video::EMT_SOLID, 0, shadingLanguage);
newMaterialType2 = gpu->addHighLevelShaderMaterialFromFiles(
vsFileName, "vertexMain", video::EVST_VS_1_1,
psFileName, "pixelMain", video::EPST_PS_1_1,
mc, video::EMT_TRANSPARENT_ADD_COLOR);
mc, video::EMT_TRANSPARENT_ADD_COLOR, 0 , shadingLanguage);
}
else
{
@ -432,8 +456,8 @@ int main()
if (lastFPS != fps)
{
core::stringw str = L"[";
//str += driver->getName();
core::stringw str = L"Irrlicht Engine - Vertex and pixel shader example [";
str += driver->getName();
str += "] FPS:";
str += fps;

View File

@ -137,7 +137,7 @@ private:
/*
We need to add a warning if the materials will not be able to
be displayed 100% correctly. This is no problem, they will be
renderered using fall back materials, but at least the user
rendered using fall back materials, but at least the user
should know that it would look better on better hardware. We
simply check if the material renderer is able to draw at full
quality on the current hardware. The
@ -169,7 +169,10 @@ Now for the real fun. We create an Irrlicht Device and start to setup the scene.
*/
int main()
{
// let user select driver type
// ask user for driver
video::E_DRIVER_TYPE driverType=driverChoiceConsole();
if (driverType==video::EDT_COUNT)
return 1;
video::E_DRIVER_TYPE driverType=driverChoiceConsole();
if (driverType==video::EDT_COUNT)
return 1;
@ -182,7 +185,6 @@ int main()
if (device == 0)
return 1; // could not create selected driver.
/*
Before we start with the interesting stuff, we do some simple things:
Store pointers to the most important parts of the engine (video driver,

View File

@ -216,7 +216,7 @@ int main()
/*
To make the user be able to switch between normal and wireframe mode,
we create an instance of the event reciever from above and let Irrlicht
we create an instance of the event receiver from above and let Irrlicht
know about it. In addition, we add the skybox which we already used in
lots of Irrlicht examples and a skydome, which is shown mutually
exclusive with the skybox by pressing 'S'.

View File

@ -149,7 +149,7 @@ int main()
Nearly finished. Now we need to draw everything. Every frame, we draw
the scene twice. Once from the fixed camera into the render target
texture and once as usual. When rendering into the render target, we
need to disable the visibilty of the test cube, because it has the
need to disable the visibility of the test cube, because it has the
render target texture applied to it. That's it, wasn't too complicated
I hope. :)
*/

View File

@ -4,7 +4,7 @@ This example only runs under MS Windows and demonstrates that Irrlicht can
render inside a win32 window. MFC and .NET Windows.Forms windows are possible,
too.
In the begining, we create a windows window using the windows API. I'm not
In the beginning, we create a windows window using the windows API. I'm not
going to explain this code, because it is windows specific. See the MSDN or a
windows book for details.
*/

View File

@ -176,7 +176,7 @@ int IRRCALLCONV main(int argc, char* argv[])
which is currently visible. An alternative to the Octree would be a
AnimatedMeshSceneNode, which would draw always the complete geometry of
the mesh, without optimization. Try it out: Write addAnimatedMeshSceneNode
instead of addOctreeSceneNode and compare the primitives drawed by the
instead of addOctreeSceneNode and compare the primitives drawn by the
video driver. (There is a getPrimitiveCountDrawed() method in the
IVideoDriver class). Note that this optimization with the Octree is only
useful when drawing huge meshes consisting of lots of geometry.
@ -253,7 +253,7 @@ int IRRCALLCONV main(int argc, char* argv[])
Now we only need a Camera to look at the Quake 3 map. And we want to
create a user controlled camera. There are some different cameras
available in the Irrlicht engine. For example the Maya Camera which can
be controlled compareable to the camera in Maya: Rotate with left mouse
be controlled comparable to the camera in Maya: Rotate with left mouse
button pressed, Zoom with both buttons pressed, translate with right
mouse button pressed. This could be created with
addCameraSceneNodeMaya(). But for this example, we want to create a

View File

@ -407,7 +407,7 @@ int example_terrain()
/*
To make the user be able to switch between normal and wireframe mode,
we create an instance of the event reciever from above and let Irrlicht
we create an instance of the event receiver from above and let Irrlicht
know about it. In addition, we add the skybox which we already used in
lots of Irrlicht examples and a skydome, which is shown mutually
exclusive with the skybox by pressing 'S'.

View File

@ -4,7 +4,7 @@ A tutorial by Max Winkel.
In this tutorial we'll learn how to use splitscreen (e.g. for racing-games)
with Irrlicht. We'll create a viewport divided
into 4 parts, wtih 3 fixed cameras and one user-controlled.
into 4 parts, with 3 fixed cameras and one user-controlled.
Ok, let's start with the headers (I think there's
nothing to say about it)
@ -202,8 +202,8 @@ Sounds a little complicated, but you'll see it isn't:
/*
As you can probably see, the image is rendered for every
viewport seperately. That means, that you'll loose much performance.
Ok, if you're aksing "How do I have to set the viewport
viewport separately. That means, that you'll loose much performance.
Ok, if you're asking "How do I have to set the viewport
to get this or that screen?", don't panic. It's really
easy: In the rect-function you define 4 coordinates:
- X-coordinate of the corner left top
@ -216,7 +216,7 @@ Sounds a little complicated, but you'll see it isn't:
- 1st viewport: 0,0,ResX/2,ResY
- 2nd viewport: ResX/2,0,ResX,ResY
If you didn't fully understand, just play arround with the example
If you didn't fully understand, just play around with the example
to check out what happens.
Now we just view the current fps and shut down the engine,

View File

@ -105,7 +105,6 @@
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/MouseAndJoystick.pdb"
SubSystem="1"
TargetMachine="1"/>
<Tool

View File

@ -9,7 +9,7 @@ Features:
- Adjust GammaLevel at runtime
- Create SceneNodes for the Shaders
- Load EntityList and create Entity SceneNodes
- Create Players with Weapons and with Collison Respsone
- Create Players with Weapons and with Collision Response
- Play music
You can download the Quake III Arena demo ( copyright id software )
@ -829,7 +829,7 @@ void CQuake3EventHandler::CreateGUI()
/*
Add an Archive to the FileSystems und updates the GUI
Add an Archive to the FileSystems and updates the GUI
*/
void CQuake3EventHandler::AddArchive ( const path& archiveName )
{

View File

@ -425,7 +425,7 @@ void Q3ShaderFactory ( Q3LevelLoadParameter &loadParam,
// add collision
// find out if shader is marked als nonsolid
// find out if shader is marked as nonsolid
u8 doCreate = meta !=0 ;
if ( shader )

View File

@ -445,7 +445,7 @@ public:
return DirtyFlag;
};
// Put the names of all currenlty loaded textures in a combobox
// Put the names of all currently loaded textures in a combobox
void updateTextures(video::IVideoDriver * driver)
{
s32 oldSelected = ComboTexture->getSelected();
@ -793,7 +793,7 @@ public:
protected:
// Application initialization
// returns true when it was succesful initialized, otherwise false.
// returns true when it was successful initialized, otherwise false.
bool init(int argc, char *argv[])
{
// ask user for driver
@ -902,7 +902,7 @@ protected:
GlobalAmbient->resetDirty();
}
// draw everythings
// draw everything
video::SColor bkColor( skin->getColor(gui::EGDC_APP_WORKSPACE) );
videoDriver->beginScene(true, true, bkColor);
@ -958,7 +958,7 @@ protected:
return;
const u32 pitch = imageA8R8G8B8->getPitch();
// some nice caro with 9 typical colors
// some nice square-pattern with 9 typical colors
for ( u32 y = 0; y < height; ++ y )
{
for ( u32 x = 0; x < pitch; ++x )

View File

@ -460,7 +460,7 @@ int main()
context.ButtonSimulateBadFps->setIsPushButton(true);
context.ButtonChangeIcon = env->addButton( rect<s32>( 410, 140, 560, 160 ), 0, -1, L"replace cursor icon\n(cursor+sprite must be selected)" );
// set the names for alll the system cursors
// set the names for all the system cursors
for ( int i=0; i < (int)gui::ECI_COUNT; ++i )
{
context.CursorBox->addItem(stringw( GUICursorIconNames[i] ).c_str());
@ -543,7 +543,7 @@ int main()
driver->endScene();
}
// By simulating bad fps we can find out if hardware-support for cusors works or not. If it works the cursor will move as usual,while it otherwise will just update with 2 fps now.
// By simulating bad fps we can find out if hardware-support for cursors works or not. If it works the cursor will move as usual,while it otherwise will just update with 2 fps now.
if ( context.SimulateBadFps )
{
device->sleep(500); // 2 fps

View File

@ -5,7 +5,7 @@ Demonstrates loading and saving of configurations via XML
@author Y.M. Bosman \<yoran.bosman@gmail.com\>
This demo features a fully usable system for configuration handling. The code
can easily be intergrated into own apps.
can easily be integrated into own apps.
*/
@ -89,7 +89,7 @@ public:
*/
bool load()
{
//if not able to create device dont attempt to load
//if not able to create device don't attempt to load
if (!NullDevice)
return false;
@ -98,7 +98,7 @@ public:
return false;
const stringw settingTag(L"setting"); //we'll be looking for this tag in the xml
stringw currentSection; //keep track of our currentsection
stringw currentSection; //keep track of our current section
const stringw videoTag(L"video"); //constant for videotag
//while there is more to read
@ -388,7 +388,7 @@ void createSettingsDialog(SAppContext& app)
app.Gui->addStaticText (L"Resolution", rect< s32 >(10,130, 200, 140), false, true, windowSettings);
app.ListboxResolution = app.Gui->addListBox(rect<s32>(10,140,220,200), windowSettings, 1,true);
//add all available options tothe resolution listbox
//add all available options to the resolution listbox
map<stringw, dimension2du>::Iterator ri = app.Settings->ResolutionOptions.getIterator();
for(; !ri.atEnd(); ri++)
app.ListboxResolution->addItem(ri->getKey().c_str());

View File

@ -30,7 +30,7 @@ a good idea to render with just basic solid material. Avoid complex shaders
and state changes through textures. There's no need while just doing the
occlusion query. At least if the render is not used for the actual scene. This
is the third way to optimize occlusion queries. Just check the queries every
5th or 10th frane, or even less frequent. This depends on the movement speed
5th or 10th frame, or even less frequent. This depends on the movement speed
of the objects and camera.
*/
@ -169,7 +169,7 @@ int main()
Once in a while, here every 100 ms, we check the visibility. We run the queries,
update the pixel value, and query the result. Since we already rendered the node
we render the query invisible. The update is made blocking, as we need the result
immediately. If you don't need the result immediately, e.g. because oyu have other
immediately. If you don't need the result immediately, e.g. because you have other
things to render, you can call the update non-blocking. This gives the GPU more
time to pass back the results without flushing the render pipeline.
If the update was called non-blocking, the result from getOcclusionQueryResult is

View File

@ -68,10 +68,10 @@ public:
example if he doesn't support the specified vertex type. This is
actually done in D3D8 and D3D9 when using a normal mapped material with
a vertex type other than EVT_TANGENTS. */
virtual bool OnRender(IMaterialRendererServices* service, E_VERTEX_TYPE vtxtype) { return true; }
//! Called every time after an each bunch of geometry was drawed.
virtual bool PostRender(IMaterialRendererServices* service, E_VERTEX_TYPE vtxtype) { return true; }
virtual bool OnRender(IMaterialRendererServices* service, E_VERTEX_TYPE vtxtype) { return true; }
//! Called every time after an each bunch of geometry was drawed.
virtual bool PostRender(IMaterialRendererServices* service, E_VERTEX_TYPE vtxtype) { return true; }
//! Called by the IVideoDriver to unset this material.
/** Called during the IVideoDriver::setMaterial() call before the new

View File

@ -82,22 +82,25 @@ namespace core
}
//! Check if a point is inside the triangle (border-points count also as inside)
/** NOTE: When working with T='int' you should prefer isPointInsideFast, as
isPointInside will run into number-overflows already with coordinates in the 3-digit-range.
/*
\param p Point to test. Assumes that this point is already
on the plane of the triangle.
\return True if the point is inside the triangle, otherwise false. */
bool isPointInside(const vector3d<T>& p) const
{
return (isOnSameSide(p, pointA, pointB, pointC) &&
isOnSameSide(p, pointB, pointA, pointC) &&
isOnSameSide(p, pointC, pointA, pointB));
vector3d<f64> af64((f64)pointA.X, (f64)pointA.Y, (f64)pointA.Z);
vector3d<f64> bf64((f64)pointB.X, (f64)pointB.Y, (f64)pointB.Z);
vector3d<f64> cf64((f64)pointC.X, (f64)pointC.Y, (f64)pointC.Z);
vector3d<f64> pf64((f64)p.X, (f64)p.Y, (f64)p.Z);
return (isOnSameSide(pf64, af64, bf64, cf64) &&
isOnSameSide(pf64, bf64, af64, cf64) &&
isOnSameSide(pf64, cf64, af64, bf64));
}
//! Check if a point is inside the triangle (border-points count also as inside)
/** This method uses a barycentric coordinate system.
It is faster than isPointInside but is more susceptible to floating point rounding
errors. This will especially be noticable when the FPU is in single precision mode
/** This method uses a barycentric coordinate system.
It is faster than isPointInside but is more susceptible to floating point rounding
errors. This will especially be noticable when the FPU is in single precision mode
(which is for example set on default by Direct3D).
\param p Point to test. Assumes that this point is already
on the plane of the triangle.
@ -107,21 +110,21 @@ namespace core
const vector3d<T> a = pointC - pointA;
const vector3d<T> b = pointB - pointA;
const vector3d<T> c = p - pointA;
const f64 dotAA = a.dotProduct( a);
const f64 dotAB = a.dotProduct( b);
const f64 dotAC = a.dotProduct( c);
const f64 dotBB = b.dotProduct( b);
const f64 dotBC = b.dotProduct( c);
// get coordinates in barycentric coordinate system
const f64 invDenom = 1/(dotAA * dotBB - dotAB * dotAB);
const f64 invDenom = 1/(dotAA * dotBB - dotAB * dotAB);
const f64 u = (dotBB * dotAC - dotAB * dotBC) * invDenom;
const f64 v = (dotAA * dotBC - dotAB * dotAC ) * invDenom;
// We count border-points as inside to keep downward compatibility.
// That's why we use >= and <= instead of > and < as more commonly seen on the web.
return (u >= 0) && (v >= 0) && (u + v <= 1);
// Rounding-error also needed for some test-cases.
return (u > -ROUNDING_ERROR_f32) && (v >= 0) && (u + v < 1+ROUNDING_ERROR_f32);
}
@ -166,15 +169,27 @@ namespace core
bool getIntersectionOfPlaneWithLine(const vector3d<T>& linePoint,
const vector3d<T>& lineVect, vector3d<T>& outIntersection) const
{
const vector3d<T> normal = getNormal().normalize();
T t2;
// Work with f64 to get more precise results (makes enough difference to be worth the casts).
const vector3d<f64> linePointf64(linePoint.X, linePoint.Y, linePoint.Z);
const vector3d<f64> lineVectf64(lineVect.X, lineVect.Y, lineVect.Z);
vector3d<f64> outIntersectionf64;
if ( core::iszero ( t2 = normal.dotProduct(lineVect) ) )
core::triangle3d<irr::f64> trianglef64(vector3d<f64>((f64)pointA.X, (f64)pointA.Y, (f64)pointA.Z)
,vector3d<f64>((f64)pointB.X, (f64)pointB.Y, (f64)pointB.Z)
, vector3d<f64>((f64)pointC.X, (f64)pointC.Y, (f64)pointC.Z));
const vector3d<irr::f64> normalf64 = trianglef64.getNormal().normalize();
f64 t2;
if ( core::iszero ( t2 = normalf64.dotProduct(lineVectf64) ) )
return false;
T d = pointA.dotProduct(normal);
T t = -(normal.dotProduct(linePoint) - d) / t2;
outIntersection = linePoint + (lineVect * t);
f64 d = trianglef64.pointA.dotProduct(normalf64);
f64 t = -(normalf64.dotProduct(linePointf64) - d) / t2;
outIntersectionf64 = linePointf64 + (lineVectf64 * t);
outIntersection.X = (T)outIntersectionf64.X;
outIntersection.Y = (T)outIntersectionf64.Y;
outIntersection.Z = (T)outIntersectionf64.Z;
return true;
}
@ -226,13 +241,27 @@ namespace core
vector3d<T> pointC;
private:
bool isOnSameSide(const vector3d<T>& p1, const vector3d<T>& p2,
const vector3d<T>& a, const vector3d<T>& b) const
// Using f64 instead of <T> to avoid integer overflows when T=int (maybe also less floating point troubles).
bool isOnSameSide(const vector3d<f64>& p1, const vector3d<f64>& p2,
const vector3d<f64>& a, const vector3d<f64>& b) const
{
vector3d<T> bminusa = b - a;
vector3d<T> cp1 = bminusa.crossProduct(p1 - a);
vector3d<T> cp2 = bminusa.crossProduct(p2 - a);
return (cp1.dotProduct(cp2) >= 0.0f);
vector3d<f64> bminusa = b - a;
vector3d<f64> cp1 = bminusa.crossProduct(p1 - a);
vector3d<f64> cp2 = bminusa.crossProduct(p2 - a);
f64 res = cp1.dotProduct(cp2);
if ( res < 0 )
{
// This catches some floating point troubles.
// Unfortunately slightly expensive and we don't really know the best epsilon for iszero.
vector3d<f64> cp1 = bminusa.normalize().crossProduct((p1 - a).normalize());
if ( core::iszero(cp1.X, (f64)ROUNDING_ERROR_f32)
&& core::iszero(cp1.Y, (f64)ROUNDING_ERROR_f32)
&& core::iszero(cp1.Z, (f64)ROUNDING_ERROR_f32) )
{
res = 0.f;
}
}
return (res >= 0.0f);
}
};

View File

@ -130,7 +130,7 @@ The Irrlicht Engine SDK version 1.8
The Irrlicht Engine License
===========================
Copyright (C) 2002-2011 Nikolaus Gebhardt
Copyright (C) 2002-2012 Nikolaus Gebhardt
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages

View File

@ -357,17 +357,17 @@ void CColorConverter::convert_A1R5G5B5toB8G8R8(const void* sP, s32 sN, void* dP)
dB += 3;
}
}
void CColorConverter::convert_A1R5G5B5toR5G5B5A1(const void* sP, s32 sN, void* dP)
{
const u16* sB = (const u16*)sP;
u16* dB = (u16*)dP;
for (s32 x = 0; x < sN; ++x)
{
*dB = (*sB<<1)|(*sB>>15);
++sB; ++dB;
}
const u16* sB = (const u16*)sP;
u16* dB = (u16*)dP;
for (s32 x = 0; x < sN; ++x)
{
*dB = (*sB<<1)|(*sB>>15);
++sB; ++dB;
}
}
void CColorConverter::convert_A1R5G5B5toA8R8G8B8(const void* sP, s32 sN, void* dP)
@ -527,29 +527,29 @@ void CColorConverter::convert_B8G8R8toA8R8G8B8(const void* sP, s32 sN, void* dP)
++dB;
}
}
void CColorConverter::convert_A8R8G8B8toR8G8B8A8(const void* sP, s32 sN, void* dP)
{
const u32* sB = (const u32*)sP;
u32* dB = (u32*)dP;
for (s32 x = 0; x < sN; ++x)
{
*dB++ = (*sB<<8) | (*sB>>24);
++sB;
}
const u32* sB = (const u32*)sP;
u32* dB = (u32*)dP;
for (s32 x = 0; x < sN; ++x)
{
*dB++ = (*sB<<8) | (*sB>>24);
++sB;
}
}
void CColorConverter::convert_A8R8G8B8toA8B8G8R8(const void* sP, s32 sN, void* dP)
{
const u32* sB = (const u32*)sP;
u32* dB = (u32*)dP;
for (s32 x = 0; x < sN; ++x)
{
*dB++ = (*sB&0xff00ff00)|((*sB&0x00ff0000)>>16)|((*sB&0x000000ff)<<16);
++sB;
}
const u32* sB = (const u32*)sP;
u32* dB = (u32*)dP;
for (s32 x = 0; x < sN; ++x)
{
*dB++ = (*sB&0xff00ff00)|((*sB&0x00ff0000)>>16)|((*sB&0x000000ff)<<16);
++sB;
}
}
void CColorConverter::convert_B8G8R8A8toA8R8G8B8(const void* sP, s32 sN, void* dP)
@ -569,21 +569,21 @@ void CColorConverter::convert_B8G8R8A8toA8R8G8B8(const void* sP, s32 sN, void* d
}
}
void CColorConverter::convert_R8G8B8toB8G8R8(const void* sP, s32 sN, void* dP)
{
u8* sB = (u8*)sP;
u8* dB = (u8*)dP;
for (s32 x = 0; x < sN; ++x)
{
dB[2] = sB[0];
dB[1] = sB[1];
dB[0] = sB[2];
sB += 3;
dB += 3;
}
u8* sB = (u8*)sP;
u8* dB = (u8*)dP;
for (s32 x = 0; x < sN; ++x)
{
dB[2] = sB[0];
dB[1] = sB[1];
dB[0] = sB[2];
sB += 3;
dB += 3;
}
}
void CColorConverter::convert_R8G8B8toR5G6B5(const void* sP, s32 sN, void* dP)

View File

@ -59,7 +59,7 @@ public:
static void convert_A1R5G5B5toB8G8R8(const void* sP, s32 sN, void* dP);
static void convert_A1R5G5B5toA8R8G8B8(const void* sP, s32 sN, void* dP);
static void convert_A1R5G5B5toA1R5G5B5(const void* sP, s32 sN, void* dP);
static void convert_A1R5G5B5toR5G5B5A1(const void* sP, s32 sN, void* dP);
static void convert_A1R5G5B5toR5G5B5A1(const void* sP, s32 sN, void* dP);
static void convert_A1R5G5B5toR5G6B5(const void* sP, s32 sN, void* dP);
static void convert_A8R8G8B8toR8G8B8(const void* sP, s32 sN, void* dP);
@ -72,11 +72,11 @@ public:
static void convert_R8G8B8toR8G8B8(const void* sP, s32 sN, void* dP);
static void convert_R8G8B8toA8R8G8B8(const void* sP, s32 sN, void* dP);
static void convert_R8G8B8toA1R5G5B5(const void* sP, s32 sN, void* dP);
static void convert_R8G8B8toB8G8R8(const void* sP, s32 sN, void* dP);
static void convert_R8G8B8toB8G8R8(const void* sP, s32 sN, void* dP);
static void convert_R8G8B8toR5G6B5(const void* sP, s32 sN, void* dP);
static void convert_B8G8R8toA8R8G8B8(const void* sP, s32 sN, void* dP);
static void convert_B8G8R8A8toA8R8G8B8(const void* sP, s32 sN, void* dP);
static void convert_A8R8G8B8toR8G8B8A8(const void* sP, s32 sN, void* dP);
static void convert_A8R8G8B8toR8G8B8A8(const void* sP, s32 sN, void* dP);
static void convert_A8R8G8B8toA8B8G8R8(const void* sP, s32 sN, void* dP);
static void convert_R5G6B5toR5G6B5(const void* sP, s32 sN, void* dP);

View File

@ -595,11 +595,11 @@ bool CFileSystem::changeWorkingDirectoryTo(const io::path& newDirectory)
success = (_chdir(newDirectory.c_str()) == 0);
#endif
#else
#if defined(_IRR_WCHAR_FILESYSTEM)
#if defined(_IRR_WCHAR_FILESYSTEM)
success = (_wchdir(newDirectory.c_str()) == 0);
#else
success = (chdir(newDirectory.c_str()) == 0);
#endif
#else
success = (chdir(newDirectory.c_str()) == 0);
#endif
#endif
}
@ -975,19 +975,19 @@ bool CFileSystem::existFile(const io::path& filename) const
#else
_IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX;
#if defined(_MSC_VER)
#if defined(_IRR_WCHAR_FILESYSTEM)
return (_waccess(filename.c_str(), 0) != -1);
#else
return (_access(filename.c_str(), 0) != -1);
#endif
#if defined(_IRR_WCHAR_FILESYSTEM)
return (_waccess(filename.c_str(), 0) != -1);
#else
return (_access(filename.c_str(), 0) != -1);
#endif
#elif defined(F_OK)
#if defined(_IRR_WCHAR_FILESYSTEM)
return (_waccess(filename.c_str(), F_OK) != -1);
#else
return (access(filename.c_str(), F_OK) != -1);
#if defined(_IRR_WCHAR_FILESYSTEM)
return (_waccess(filename.c_str(), F_OK) != -1);
#else
return (access(filename.c_str(), F_OK) != -1);
#endif
#else
return (access(filename.c_str(), 0) != -1);
return (access(filename.c_str(), 0) != -1);
#endif
#endif
}

View File

@ -919,8 +919,8 @@ namespace irr
//! constructor
CIrrDeviceWin32::CIrrDeviceWin32(const SIrrlichtCreationParameters& params)
: CIrrDeviceStub(params), HWnd(0), ChangedToFullScreen(false), IsNonNTWindows(false),
Resized(false), ExternalWindow(false), Win32CursorControl(0), JoyControl(0)
: CIrrDeviceStub(params), HWnd(0), ChangedToFullScreen(false), Resized(false),
ExternalWindow(false), Win32CursorControl(0), JoyControl(0)
{
#ifdef _DEBUG
setDebugName("CIrrDeviceWin32");
@ -1287,28 +1287,10 @@ void CIrrDeviceWin32::setWindowCaption(const wchar_t* text)
{
// We use SendMessage instead of SetText to ensure proper
// function even in cases where the HWND was created in a different thread
DWORD dwResult;
if (IsNonNTWindows)
{
const core::stringc s = text;
#if defined(_WIN64) || defined(WIN64)
SetWindowTextA(HWnd, s.c_str());
#else
SendMessageTimeout(HWnd, WM_SETTEXT, 0,
reinterpret_cast<LPARAM>(s.c_str()),
SMTO_ABORTIFHUNG, 2000, &dwResult);
#endif
}
else
{
#if defined(_WIN64) || defined(WIN64)
SetWindowTextW(HWnd, text);
#else
SendMessageTimeoutW(HWnd, WM_SETTEXT, 0,
reinterpret_cast<LPARAM>(text),
SMTO_ABORTIFHUNG, 2000, &dwResult);
#endif
}
DWORD_PTR dwResult;
SendMessageTimeoutW(HWnd, WM_SETTEXT, 0,
reinterpret_cast<LPARAM>(text),
SMTO_ABORTIFHUNG, 2000, &dwResult);
}
@ -1704,8 +1686,6 @@ void CIrrDeviceWin32::getWindowsVersion(core::stringc& out)
case VER_PLATFORM_WIN32_WINDOWS:
IsNonNTWindows = true;
if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 0)
{
out.append("Microsoft Windows 95 ");
@ -1726,8 +1706,6 @@ void CIrrDeviceWin32::getWindowsVersion(core::stringc& out)
break;
case VER_PLATFORM_WIN32s:
IsNonNTWindows = true;
out.append("Microsoft Win32s ");
break;
}

View File

@ -395,7 +395,6 @@ namespace irr
HWND HWnd;
bool ChangedToFullScreen;
bool IsNonNTWindows;
bool Resized;
bool ExternalWindow;
CCursorControl* Win32CursorControl;

View File

@ -361,8 +361,6 @@ void COpenGLTexture::uploadTexture(bool newTexture, void* mipmapData, u32 level)
if (Driver->testGLError())
os::Printer::log("Could not bind Texture", ELL_ERROR);
bool mipmapLegacyMode = true;
// mipmap handling for main texture
if (!level && newTexture)
{
@ -484,17 +482,6 @@ void COpenGLTexture::uploadTexture(bool newTexture, void* mipmapData, u32 level)
}
}
if (!mipmapLegacyMode)
{
glEnable(GL_TEXTURE_2D);
Driver->extGlGenerateMipmap(GL_TEXTURE_2D);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
AutomaticMipmapUpdate=true;
}
if (Driver->testGLError())
os::Printer::log("Could not glTexImage2D", ELL_ERROR);
}

View File

@ -8,18 +8,18 @@
<Build>
<Target title="Win32 - Debug - dll">
<Option platforms="Windows;" />
<Option output="../../lib/Win32-gcc/libIrrlicht" prefix_auto="1" extension_auto="1" />
<Option object_output="../obj/win32-gcc-debug-dll" />
<Option output="..\..\lib\Win32-gcc\Irrlicht" prefix_auto="1" extension_auto="1" />
<Option object_output="..\obj\win32-gcc-debug-dll" />
<Option type="3" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Option createStaticLib="1" />
<Compiler>
<Add option="-W" />
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-g" />
<Add option="-W" />
<Add option="-O0" />
<Add option="-Wextra" />
<Add option="-Wno-unused-parameter" />
<Add option="-DWIN32" />
<Add option="-D_DEBUG" />
@ -28,7 +28,7 @@
<Add option="-DIRRLICHT_EXPORTS" />
<Add option="-D_CRT_SECURE_NO_DEPRECATE" />
<Add option="-D__GNUWIN32__" />
<Add directory="../../include" />
<Add directory="..\..\include" />
<Add directory="zlib" />
</Compiler>
<Linker>
@ -52,8 +52,8 @@
</Target>
<Target title="Win32 - Release - accurate math - dll">
<Option platforms="Windows;" />
<Option output="../../lib/Win32-gcc/libIrrlicht" prefix_auto="1" extension_auto="1" />
<Option object_output="../obj/win32-gcc-release-dll" />
<Option output="..\..\lib\Win32-gcc\Irrlicht" prefix_auto="1" extension_auto="1" />
<Option object_output="..\obj\win32-gcc-release-dll" />
<Option type="3" />
<Option compiler="gcc" />
<Option createDefFile="1" />
@ -70,7 +70,7 @@
<Add option="-DIRRLICHT_EXPORTS" />
<Add option="-D_CRT_SECURE_NO_DEPRECATE" />
<Add option="-D__GNUWIN32__" />
<Add directory="../../include" />
<Add directory="..\..\include" />
<Add directory="zlib" />
</Compiler>
<Linker>
@ -95,8 +95,8 @@
</Target>
<Target title="Win32 - Release - fast math - dll">
<Option platforms="Windows;" />
<Option output="../../lib/Win32-gcc/libIrrlicht" prefix_auto="1" extension_auto="1" />
<Option object_output="../obj/win32-gcc-release-fast-dll" />
<Option output="..\..\lib\Win32-gcc\Irrlicht" prefix_auto="1" extension_auto="1" />
<Option object_output="..\obj\win32-gcc-release-fast-dll" />
<Option type="3" />
<Option compiler="gcc" />
<Option createDefFile="1" />
@ -114,7 +114,7 @@
<Add option="-DIRRLICHT_EXPORTS" />
<Add option="-D_CRT_SECURE_NO_DEPRECATE" />
<Add option="-D__GNUWIN32__" />
<Add directory="../../include" />
<Add directory="..\..\include" />
<Add directory="zlib" />
</Compiler>
<Linker>
@ -138,9 +138,9 @@
</Target>
<Target title="Win32 - Debug - static">
<Option platforms="Windows;" />
<Option output="../../lib/Win32-gcc/libIrrlicht" prefix_auto="1" extension_auto="1" />
<Option output="..\..\lib\Win32-gcc\Irrlicht" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="../obj/win32-gcc-debug-static" />
<Option object_output="..\obj\win32-gcc-debug-static" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
@ -157,7 +157,7 @@
<Add option="-D_IRR_STATIC_LIB_" />
<Add option="-D_CRT_SECURE_NO_DEPRECATE" />
<Add option="-D__GNUWIN32__" />
<Add directory="../../include" />
<Add directory="..\..\include" />
<Add directory="zlib" />
</Compiler>
<Linker>
@ -177,9 +177,9 @@
</Target>
<Target title="Win32 - Release - accurate math - static">
<Option platforms="Windows;" />
<Option output="../../lib/Win32-gcc/libIrrlicht" prefix_auto="1" extension_auto="1" />
<Option output="..\..\lib\Win32-gcc\Irrlicht" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="../obj/win32-gcc-release-dll" />
<Option object_output="..\obj\win32-gcc-release-dll" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
@ -187,16 +187,16 @@
<Add option="-Os" />
<Add option="-O3" />
<Add option="-O2" />
<Add option="-W" />
<Add option="-Wall" />
<Add option="-W" />
<Add option="-Wno-unused-parameter" />
<Add option="-DWIN32" />
<Add option="-DNDEBUG" />
<Add option="-D_WINDOWS" />
<Add option="-DIRRLICHT_EXPORTS" />
<Add option="-D_IRR_STATIC_LIB_" />
<Add option="-D_CRT_SECURE_NO_DEPRECATE" />
<Add option="-D__GNUWIN32__" />
<Add directory="../../include" />
<Add directory="..\..\include" />
<Add directory="zlib" />
</Compiler>
<Linker>
@ -217,9 +217,9 @@
</Target>
<Target title="Win32 - Release - fast math - static">
<Option platforms="Windows;" />
<Option output="../../lib/Win32-gcc/libIrrlicht" prefix_auto="1" extension_auto="1" />
<Option output="..\..\lib\Win32-gcc\Irrlicht" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="../obj/win32-gcc-release-fast-static" />
<Option object_output="..\obj\win32-gcc-release-fast-static" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
@ -237,7 +237,7 @@
<Add option="-D_IRR_STATIC_LIB_" />
<Add option="-D_CRT_SECURE_NO_DEPRECATE" />
<Add option="-D__GNUWIN32__" />
<Add directory="../../include" />
<Add directory="..\..\include" />
<Add directory="zlib" />
</Compiler>
<Linker>
@ -258,22 +258,22 @@
</Target>
<Target title="Linux - Debug - shared">
<Option platforms="Unix;" />
<Option output="../../lib/Linux/libIrrlicht" prefix_auto="0" extension_auto="1" />
<Option object_output="../obj/linux-gcc-debug-shared" />
<Option output="..\..\lib\Linux\libIrrlicht" prefix_auto="0" extension_auto="1" />
<Option object_output="..\obj\linux-gcc-debug-shared" />
<Option type="3" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Option createStaticLib="1" />
<Compiler>
<Add option="-W" />
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-g" />
<Add option="-O0" />
<Add option="-Wextra" />
<Add option="-Wno-unused-parameter" />
<Add option="-fPIC" />
<Add option="-fno-exceptions" />
<Add option="-D_DEBUG" />
<Add directory="../../include" />
<Add directory="..\..\include" />
<Add directory="zlib" />
<Add directory="libpng" />
<Add directory="jpeglib" />
@ -281,25 +281,25 @@
<Linker>
<Add library="GL" />
<Add library="Xxf86vm" />
<Add directory="/usr/X11R6/lib" />
<Add directory="/usr/local/lib" />
<Add directory="\usr\X11R6\lib" />
<Add directory="\usr\local\lib" />
</Linker>
</Target>
<Target title="Linux - Release - accurate math - shared">
<Option platforms="Unix;" />
<Option output="../../lib/Linux/libIrrlicht" prefix_auto="0" extension_auto="1" />
<Option object_output="../obj/linux-gcc-release-shared" />
<Option output="..\..\lib\Linux\libIrrlicht" prefix_auto="0" extension_auto="1" />
<Option object_output="..\obj\linux-gcc-release-shared" />
<Option type="3" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Option createStaticLib="1" />
<Compiler>
<Add option="-O3" />
<Add option="-W" />
<Add option="-Wextra" />
<Add option="-Wno-unused-parameter" />
<Add option="-fPIC" />
<Add directory="../../include" />
<Add option="-fno-exceptions" />
<Add directory="..\..\include" />
<Add directory="zlib" />
<Add directory="libpng" />
<Add directory="jpeglib" />
@ -307,26 +307,26 @@
<Linker>
<Add library="GL" />
<Add library="Xxf86vm" />
<Add directory="/usr/X11R6/lib" />
<Add directory="/usr/local/lib" />
<Add directory="\usr\X11R6\lib" />
<Add directory="\usr\local\lib" />
</Linker>
</Target>
<Target title="Linux - Release - fast math - shared">
<Option platforms="Unix;" />
<Option output="../../lib/Linux/libIrrlicht" prefix_auto="0" extension_auto="1" />
<Option object_output="../obj/linux-gcc-release-fast-shared" />
<Option output="..\..\lib\Linux\libIrrlicht" prefix_auto="0" extension_auto="1" />
<Option object_output="..\obj\linux-gcc-release-fast-shared" />
<Option type="3" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Option createStaticLib="1" />
<Compiler>
<Add option="-O3" />
<Add option="-W" />
<Add option="-Wextra" />
<Add option="-Wno-unused-parameter" />
<Add option="-fPIC" />
<Add option="-ffast-math" />
<Add directory="../../include" />
<Add option="-fno-exceptions" />
<Add directory="..\..\include" />
<Add directory="zlib" />
<Add directory="libpng" />
<Add directory="jpeglib" />
@ -334,90 +334,87 @@
<Linker>
<Add library="GL" />
<Add library="Xxf86vm" />
<Add directory="/usr/X11R6/lib" />
<Add directory="/usr/local/lib" />
<Add directory="\usr\X11R6\lib" />
<Add directory="\usr\local\lib" />
</Linker>
</Target>
<Target title="Linux - Debug - static">
<Option platforms="Unix;" />
<Option output="../../lib/Linux/libIrrlicht" prefix_auto="0" extension_auto="1" />
<Option output="..\..\lib\Linux\libIrrlicht" prefix_auto="0" extension_auto="1" />
<Option working_dir="" />
<Option object_output="../obj/linux-gcc-debug-shared" />
<Option object_output="..\obj\linux-gcc-debug-shared" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Compiler>
<Add option="-W" />
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-g" />
<Add option="-O0" />
<Add option="-Wextra" />
<Add option="-Wno-unused-parameter" />
<Add option="-fPIC" />
<Add option="-fno-exceptions" />
<Add option="-D_IRR_STATIC_LIB_" />
<Add option="-D_DEBUG" />
<Add directory="../../include" />
<Add directory="..\..\include" />
<Add directory="zlib" />
<Add directory="libpng" />
</Compiler>
<Linker>
<Add library="GL" />
<Add library="Xxf86vm" />
<Add directory="/usr/X11R6/lib" />
<Add directory="/usr/local/lib" />
<Add directory="\usr\X11R6\lib" />
<Add directory="\usr\local\lib" />
</Linker>
</Target>
<Target title="Linux - Release - accurate math - static">
<Option platforms="Unix;" />
<Option output="../../lib/Linux/libIrrlicht" prefix_auto="0" extension_auto="1" />
<Option output="..\..\lib\Linux\libIrrlicht" prefix_auto="0" extension_auto="1" />
<Option working_dir="" />
<Option object_output="../obj/linux-gcc-release-shared" />
<Option object_output="..\obj\linux-gcc-release-shared" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Compiler>
<Add option="-O3" />
<Add option="-W" />
<Add option="-Wextra" />
<Add option="-Wno-unused-parameter" />
<Add option="-fPIC" />
<Add option="-fno-exceptions" />
<Add option="-D_IRR_STATIC_LIB_" />
<Add directory="../../include" />
<Add directory="..\..\include" />
<Add directory="zlib" />
<Add directory="libpng" />
</Compiler>
<Linker>
<Add library="GL" />
<Add library="Xxf86vm" />
<Add directory="/usr/X11R6/lib" />
<Add directory="/usr/local/lib" />
<Add directory="\usr\X11R6\lib" />
<Add directory="\usr\local\lib" />
</Linker>
</Target>
<Target title="Linux - Release - fast math - static">
<Option platforms="Unix;" />
<Option output="../../lib/Linux/libIrrlicht" prefix_auto="0" extension_auto="1" />
<Option output="..\..\lib\Linux\libIrrlicht" prefix_auto="0" extension_auto="1" />
<Option working_dir="" />
<Option object_output="../obj/linux-gcc-release-fast-shared" />
<Option object_output="..\obj\linux-gcc-release-fast-shared" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Compiler>
<Add option="-O3" />
<Add option="-W" />
<Add option="-Wextra" />
<Add option="-Wno-unused-parameter" />
<Add option="-ffast-math" />
<Add option="-fPIC" />
<Add option="-fno-exceptions" />
<Add option="-D_IRR_STATIC_LIB_" />
<Add directory="../../include" />
<Add directory="..\..\include" />
<Add directory="zlib" />
<Add directory="libpng" />
</Compiler>
<Linker>
<Add library="GL" />
<Add library="Xxf86vm" />
<Add directory="/usr/X11R6/lib" />
<Add directory="/usr/local/lib" />
<Add directory="\usr\X11R6\lib" />
<Add directory="\usr\local\lib" />
</Linker>
</Target>
</Build>
@ -635,6 +632,8 @@
<Unit filename="CCSMLoader.h" />
<Unit filename="CCameraSceneNode.cpp" />
<Unit filename="CCameraSceneNode.h" />
<Unit filename="CCgMaterialRenderer.cpp" />
<Unit filename="CCgMaterialRenderer.h" />
<Unit filename="CColladaFileLoader.cpp" />
<Unit filename="CColladaFileLoader.h" />
<Unit filename="CColladaMeshWriter.cpp" />
@ -654,6 +653,8 @@
<Unit filename="CD3D8ShaderMaterialRenderer.h" />
<Unit filename="CD3D8Texture.cpp" />
<Unit filename="CD3D8Texture.h" />
<Unit filename="CD3D9CgMaterialRenderer.cpp" />
<Unit filename="CD3D9CgMaterialRenderer.h" />
<Unit filename="CD3D9Driver.cpp" />
<Unit filename="CD3D9Driver.h" />
<Unit filename="CD3D9HLSLMaterialRenderer.cpp" />
@ -844,6 +845,8 @@
<Unit filename="COctreeTriangleSelector.h" />
<Unit filename="COgreMeshFileLoader.cpp" />
<Unit filename="COgreMeshFileLoader.h" />
<Unit filename="COpenGLCgMaterialRenderer.cpp" />
<Unit filename="COpenGLCgMaterialRenderer.h" />
<Unit filename="COpenGLDriver.cpp" />
<Unit filename="COpenGLDriver.h" />
<Unit filename="COpenGLExtensionHandler.cpp" />
@ -1019,300 +1022,300 @@
<Unit filename="ITriangleRenderer.h" />
<Unit filename="IZBuffer.h" />
<Unit filename="Irrlicht.cpp" />
<Unit filename="MacOSX/CIrrDeviceMacOSX.h" />
<Unit filename="MacOSX/CIrrDeviceMacOSX.mm" />
<Unit filename="MacOSX\CIrrDeviceMacOSX.h" />
<Unit filename="MacOSX\CIrrDeviceMacOSX.mm" />
<Unit filename="Octree.h" />
<Unit filename="S2DVertex.h" />
<Unit filename="S4DVertex.h" />
<Unit filename="SoftwareDriver2_compile_config.h" />
<Unit filename="SoftwareDriver2_helper.h" />
<Unit filename="aesGladman/aes.h" />
<Unit filename="aesGladman/aescrypt.cpp" />
<Unit filename="aesGladman/aeskey.cpp" />
<Unit filename="aesGladman/aesopt.h" />
<Unit filename="aesGladman/aestab.cpp" />
<Unit filename="aesGladman/fileenc.cpp" />
<Unit filename="aesGladman/fileenc.h" />
<Unit filename="aesGladman/hmac.cpp" />
<Unit filename="aesGladman/hmac.h" />
<Unit filename="aesGladman/prng.cpp" />
<Unit filename="aesGladman/prng.h" />
<Unit filename="aesGladman/pwd2key.cpp" />
<Unit filename="aesGladman/pwd2key.h" />
<Unit filename="aesGladman/sha1.cpp" />
<Unit filename="aesGladman/sha1.h" />
<Unit filename="aesGladman/sha2.cpp" />
<Unit filename="aesGladman/sha2.h" />
<Unit filename="bzip2/blocksort.c">
<Unit filename="aesGladman\aes.h" />
<Unit filename="aesGladman\aescrypt.cpp" />
<Unit filename="aesGladman\aeskey.cpp" />
<Unit filename="aesGladman\aesopt.h" />
<Unit filename="aesGladman\aestab.cpp" />
<Unit filename="aesGladman\fileenc.cpp" />
<Unit filename="aesGladman\fileenc.h" />
<Unit filename="aesGladman\hmac.cpp" />
<Unit filename="aesGladman\hmac.h" />
<Unit filename="aesGladman\prng.cpp" />
<Unit filename="aesGladman\prng.h" />
<Unit filename="aesGladman\pwd2key.cpp" />
<Unit filename="aesGladman\pwd2key.h" />
<Unit filename="aesGladman\sha1.cpp" />
<Unit filename="aesGladman\sha1.h" />
<Unit filename="aesGladman\sha2.cpp" />
<Unit filename="aesGladman\sha2.h" />
<Unit filename="bzip2\blocksort.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="bzip2/bzcompress.c">
<Unit filename="bzip2\bzcompress.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="bzip2/bzlib.c">
<Unit filename="bzip2\bzlib.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="bzip2/bzlib.h" />
<Unit filename="bzip2/bzlib_private.h" />
<Unit filename="bzip2/crctable.c">
<Unit filename="bzip2\bzlib.h" />
<Unit filename="bzip2\bzlib_private.h" />
<Unit filename="bzip2\crctable.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="bzip2/decompress.c">
<Unit filename="bzip2\decompress.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="bzip2/huffman.c">
<Unit filename="bzip2\huffman.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="bzip2/randtable.c">
<Unit filename="bzip2\randtable.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="dmfsupport.h" />
<Unit filename="glext.h" />
<Unit filename="irrXML.cpp" />
<Unit filename="jpeglib/cderror.h" />
<Unit filename="jpeglib/jaricom.c">
<Unit filename="jpeglib\cderror.h" />
<Unit filename="jpeglib\jaricom.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jcapimin.c">
<Unit filename="jpeglib\jcapimin.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jcapistd.c">
<Unit filename="jpeglib\jcapistd.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jcarith.c">
<Unit filename="jpeglib\jcarith.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jccoefct.c">
<Unit filename="jpeglib\jccoefct.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jccolor.c">
<Unit filename="jpeglib\jccolor.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jcdctmgr.c">
<Unit filename="jpeglib\jcdctmgr.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jchuff.c">
<Unit filename="jpeglib\jchuff.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jchuff.h" />
<Unit filename="jpeglib/jcinit.c">
<Unit filename="jpeglib\jchuff.h" />
<Unit filename="jpeglib\jcinit.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jcmainct.c">
<Unit filename="jpeglib\jcmainct.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jcmarker.c">
<Unit filename="jpeglib\jcmarker.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jcmaster.c">
<Unit filename="jpeglib\jcmaster.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jcomapi.c">
<Unit filename="jpeglib\jcomapi.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jconfig.h" />
<Unit filename="jpeglib/jcparam.c">
<Unit filename="jpeglib\jconfig.h" />
<Unit filename="jpeglib\jcparam.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jcprepct.c">
<Unit filename="jpeglib\jcprepct.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jcsample.c">
<Unit filename="jpeglib\jcsample.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jctrans.c">
<Unit filename="jpeglib\jctrans.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jdapimin.c">
<Unit filename="jpeglib\jdapimin.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jdapistd.c">
<Unit filename="jpeglib\jdapistd.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jdarith.c">
<Unit filename="jpeglib\jdarith.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jdatadst.c">
<Unit filename="jpeglib\jdatadst.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jdatasrc.c">
<Unit filename="jpeglib\jdatasrc.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jdcoefct.c">
<Unit filename="jpeglib\jdcoefct.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jdcolor.c">
<Unit filename="jpeglib\jdcolor.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jdct.h" />
<Unit filename="jpeglib/jddctmgr.c">
<Unit filename="jpeglib\jdct.h" />
<Unit filename="jpeglib\jddctmgr.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jdhuff.c">
<Unit filename="jpeglib\jdhuff.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jdhuff.h" />
<Unit filename="jpeglib/jdinput.c">
<Unit filename="jpeglib\jdhuff.h" />
<Unit filename="jpeglib\jdinput.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jdmainct.c">
<Unit filename="jpeglib\jdmainct.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jdmarker.c">
<Unit filename="jpeglib\jdmarker.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jdmaster.c">
<Unit filename="jpeglib\jdmaster.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jdmerge.c">
<Unit filename="jpeglib\jdmerge.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jdpostct.c">
<Unit filename="jpeglib\jdpostct.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jdsample.c">
<Unit filename="jpeglib\jdsample.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jdtrans.c">
<Unit filename="jpeglib\jdtrans.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jerror.c">
<Unit filename="jpeglib\jerror.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jerror.h" />
<Unit filename="jpeglib/jfdctflt.c">
<Unit filename="jpeglib\jerror.h" />
<Unit filename="jpeglib\jfdctflt.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jfdctfst.c">
<Unit filename="jpeglib\jfdctfst.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jfdctint.c">
<Unit filename="jpeglib\jfdctint.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jidctflt.c">
<Unit filename="jpeglib\jidctflt.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jidctfst.c">
<Unit filename="jpeglib\jidctfst.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jidctint.c">
<Unit filename="jpeglib\jidctint.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jinclude.h" />
<Unit filename="jpeglib/jmemmgr.c">
<Unit filename="jpeglib\jinclude.h" />
<Unit filename="jpeglib\jmemmgr.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jmemnobs.c">
<Unit filename="jpeglib\jmemnobs.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jmemsys.h" />
<Unit filename="jpeglib/jmorecfg.h" />
<Unit filename="jpeglib/jpegint.h" />
<Unit filename="jpeglib/jpeglib.h" />
<Unit filename="jpeglib/jquant1.c">
<Unit filename="jpeglib\jmemsys.h" />
<Unit filename="jpeglib\jmorecfg.h" />
<Unit filename="jpeglib\jpegint.h" />
<Unit filename="jpeglib\jpeglib.h" />
<Unit filename="jpeglib\jquant1.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jquant2.c">
<Unit filename="jpeglib\jquant2.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jutils.c">
<Unit filename="jpeglib\jutils.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="jpeglib/jversion.h" />
<Unit filename="libpng/png.c">
<Unit filename="jpeglib\jversion.h" />
<Unit filename="libpng\png.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="libpng/png.h" />
<Unit filename="libpng/pngconf.h" />
<Unit filename="libpng/pngerror.c">
<Unit filename="libpng\png.h" />
<Unit filename="libpng\pngconf.h" />
<Unit filename="libpng\pngerror.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="libpng/pngget.c">
<Unit filename="libpng\pngget.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="libpng/pngmem.c">
<Unit filename="libpng\pngmem.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="libpng/pngpread.c">
<Unit filename="libpng\pngpread.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="libpng/pngread.c">
<Unit filename="libpng\pngread.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="libpng/pngrio.c">
<Unit filename="libpng\pngrio.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="libpng/pngrtran.c">
<Unit filename="libpng\pngrtran.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="libpng/pngrutil.c">
<Unit filename="libpng\pngrutil.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="libpng/pngset.c">
<Unit filename="libpng\pngset.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="libpng/pngtrans.c">
<Unit filename="libpng\pngtrans.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="libpng/pngwio.c">
<Unit filename="libpng\pngwio.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="libpng/pngwrite.c">
<Unit filename="libpng\pngwrite.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="libpng/pngwtran.c">
<Unit filename="libpng\pngwtran.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="libpng/pngwutil.c">
<Unit filename="libpng\pngwutil.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="lzma/LzmaDec.c">
<Unit filename="lzma\LzmaDec.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="lzma/LzmaDec.h" />
<Unit filename="lzma/Types.h" />
<Unit filename="lzma\LzmaDec.h" />
<Unit filename="lzma\Types.h" />
<Unit filename="leakHunter.cpp" />
<Unit filename="os.cpp" />
<Unit filename="os.h" />
<Unit filename="zlib/adler32.c">
<Unit filename="zlib\adler32.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="zlib/compress.c">
<Unit filename="zlib\compress.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="zlib/crc32.c">
<Unit filename="zlib\crc32.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="zlib/crc32.h" />
<Unit filename="zlib/deflate.c">
<Unit filename="zlib\crc32.h" />
<Unit filename="zlib\deflate.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="zlib/deflate.h" />
<Unit filename="zlib/inffast.c">
<Unit filename="zlib\deflate.h" />
<Unit filename="zlib\inffast.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="zlib/inffast.h" />
<Unit filename="zlib/inffixed.h" />
<Unit filename="zlib/inflate.c">
<Unit filename="zlib\inffast.h" />
<Unit filename="zlib\inffixed.h" />
<Unit filename="zlib\inflate.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="zlib/inftrees.c">
<Unit filename="zlib\inftrees.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="zlib/inftrees.h" />
<Unit filename="zlib/trees.c">
<Unit filename="zlib\inftrees.h" />
<Unit filename="zlib\trees.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="zlib/trees.h" />
<Unit filename="zlib/uncompr.c">
<Unit filename="zlib\trees.h" />
<Unit filename="zlib\uncompr.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="zlib/zconf.h" />
<Unit filename="zlib/zlib.h" />
<Unit filename="zlib/zutil.c">
<Unit filename="zlib\zconf.h" />
<Unit filename="zlib\zlib.h" />
<Unit filename="zlib\zutil.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="zlib/zutil.h" />
<Unit filename="zlib\zutil.h" />
<Extensions>
<code_completion />
<debugger />

View File

@ -343,7 +343,7 @@
<DataExecutionPrevention>
</DataExecutionPrevention>
<ImportLibrary>..\..\lib\Win32-visualstudio\Irrlicht.lib</ImportLibrary>
<Version>1.8.0.alpha</Version>
<Version>1.8</Version>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@ -420,6 +420,7 @@
<DataExecutionPrevention>
</DataExecutionPrevention>
<ImportLibrary>..\..\lib\Win32-visualstudio\Irrlicht.lib</ImportLibrary>
<Version>1.8</Version>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@ -503,6 +504,7 @@
</DataExecutionPrevention>
<ImportLibrary>..\..\lib\Win32-visualstudio\Irrlicht.lib</ImportLibrary>
<SubSystem>Windows</SubSystem>
<Version>1.8</Version>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release - Fast FPU|x64'">
@ -789,6 +791,7 @@
<DataExecutionPrevention>
</DataExecutionPrevention>
<ImportLibrary>..\..\lib\Win32-visualstudio\Irrlicht.lib</ImportLibrary>
<Version>1.8</Version>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='SDL-Debug|x64'">
@ -831,6 +834,7 @@
<ItemGroup>
<ClInclude Include="..\..\include\driverChoice.h" />
<ClInclude Include="..\..\include\EDriverFeatures.h" />
<ClInclude Include="..\..\include\EMaterialFlags.h" />
<ClInclude Include="..\..\include\IAnimatedMeshMD3.h" />
<ClInclude Include="..\..\include\IEventReceiver.h" />
<ClInclude Include="..\..\include\ILogger.h" />
@ -987,11 +991,14 @@
<ClInclude Include="..\..\include\IGUIToolbar.h" />
<ClInclude Include="..\..\include\IGUITreeView.h" />
<ClInclude Include="..\..\include\IGUIWindow.h" />
<ClInclude Include="CCgMaterialRenderer.h" />
<ClInclude Include="CD3D9CgMaterialRenderer.h" />
<ClInclude Include="CDefaultSceneNodeAnimatorFactory.h" />
<ClInclude Include="CDefaultSceneNodeFactory.h" />
<ClInclude Include="CGeometryCreator.h" />
<ClInclude Include="CMeshCache.h" />
<ClInclude Include="CMeshManipulator.h" />
<ClInclude Include="COpenGLCgMaterialRenderer.h" />
<ClInclude Include="COGLES2Driver.h" />
<ClInclude Include="COGLES2ExtensionHandler.h" />
<ClInclude Include="COGLES2FixedPipelineShader.h" />
@ -1247,11 +1254,14 @@
<None Include="..\..\readme.txt" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="CCgMaterialRenderer.cpp" />
<ClCompile Include="CD3D9CgMaterialRenderer.cpp" />
<ClCompile Include="CDefaultSceneNodeAnimatorFactory.cpp" />
<ClCompile Include="CDefaultSceneNodeFactory.cpp" />
<ClCompile Include="CGeometryCreator.cpp" />
<ClCompile Include="CMeshCache.cpp" />
<ClCompile Include="CMeshManipulator.cpp" />
<ClCompile Include="COpenGLCgMaterialRenderer.cpp" />
<ClCompile Include="COGLES2Driver.cpp" />
<ClCompile Include="COGLES2ExtensionHandler.cpp" />
<ClCompile Include="COGLES2FixedPipelineShader.cpp" />
@ -1571,4 +1581,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@ -1342,6 +1342,18 @@
<ClInclude Include="..\..\include\IRandomizer.h">
<Filter>include</Filter>
</ClInclude>
<ClInclude Include="..\..\include\EMaterialFlags.h">
<Filter>include\video</Filter>
</ClInclude>
<ClInclude Include="CD3D9CgMaterialRenderer.h">
<Filter>Irrlicht\video\Direct3D9</Filter>
</ClInclude>
<ClInclude Include="COpenGLCgMaterialRenderer.h">
<Filter>Irrlicht\video\OpenGL</Filter>
</ClInclude>
<ClInclude Include="CCgMaterialRenderer.h">
<Filter>Irrlicht\video</Filter>
</ClInclude>
<ClInclude Include="..\..\include\SSharedMeshBuffer.h">
<Filter>include\scene</Filter>
</ClInclude>
@ -2303,6 +2315,15 @@
<ClCompile Include="CSMFMeshFileLoader.cpp">
<Filter>Irrlicht\scene\loaders</Filter>
</ClCompile>
<ClCompile Include="CD3D9CgMaterialRenderer.cpp">
<Filter>Irrlicht\video\Direct3D9</Filter>
</ClCompile>
<ClCompile Include="COpenGLCgMaterialRenderer.cpp">
<Filter>Irrlicht\video\OpenGL</Filter>
</ClCompile>
<ClCompile Include="CCgMaterialRenderer.cpp">
<Filter>Irrlicht\video</Filter>
</ClCompile>
<ClCompile Include="leakHunter.cpp">
<Filter>Irrlicht\irr</Filter>
</ClCompile>

View File

@ -1467,6 +1467,14 @@
<Filter
Name="video impl"
>
<File
RelativePath="CCgMaterialRenderer.cpp"
>
</File>
<File
RelativePath="CCgMaterialRenderer.h"
>
</File>
<File
RelativePath="CVideoModeList.cpp"
>
@ -1562,6 +1570,14 @@
<Filter
Name="OpenGL"
>
<File
RelativePath=".\COpenGLCgMaterialRenderer.cpp"
>
</File>
<File
RelativePath=".\COpenGLCgMaterialRenderer.h"
>
</File>
<File
RelativePath=".\COpenGLDriver.cpp"
>
@ -1862,6 +1878,14 @@
<Filter
Name="Direct3D9"
>
<File
RelativePath="CD3D9CgMaterialRenderer.cpp"
>
</File>
<File
RelativePath="CD3D9CgMaterialRenderer.h"
>
</File>
<File
RelativePath=".\CD3D9Driver.cpp"
>

View File

@ -2060,6 +2060,14 @@
<Filter
Name="video"
>
<File
RelativePath="CCgMaterialRenderer.cpp"
>
</File>
<File
RelativePath="CCgMaterialRenderer.h"
>
</File>
<File
RelativePath="CVideoModeList.cpp"
>
@ -2195,6 +2203,14 @@
<Filter
Name="OpenGL"
>
<File
RelativePath=".\COpenGLCgMaterialRenderer.cpp"
>
</File>
<File
RelativePath=".\COpenGLCgMaterialRenderer.h"
>
</File>
<File
RelativePath="COpenGLDriver.cpp"
>
@ -2503,6 +2519,14 @@
<Filter
Name="Direct3D9"
>
<File
RelativePath="CD3D9CgMaterialRenderer.cpp"
>
</File>
<File
RelativePath="CD3D9CgMaterialRenderer.h"
>
</File>
<File
RelativePath="CD3D9Driver.cpp"
>

View File

@ -244,8 +244,9 @@ namespace irr
int ScreenWidth;
int ScreenHeight;
u32 MouseButtonStates;
u32 SoftwareRendererType;
bool IsFullscreen;
bool IsActive;
bool IsSoftwareRenderer;
bool IsShiftDown;
bool IsControlDown;
bool IsResizable;

View File

@ -9,7 +9,9 @@
#import <Cocoa/Cocoa.h>
#import <OpenGL/gl.h>
#ifndef __MAC_10_6
#import <Carbon/Carbon.h>
#endif
#import "CIrrDeviceMacOSX.h"
@ -43,6 +45,7 @@
#include <IOKit/hid/IOHIDLib.h>
#include <IOKit/hid/IOHIDKeys.h>
#ifndef __MAC_10_6
// Contents from Events.h from Carbon/HIToolbox but we need it with Cocoa too
// and for some reason no Cocoa equivalent of these constants seems provided.
// So I'm doing like everyone else and using copy-and-paste.
@ -180,7 +183,7 @@ enum {
kVK_DownArrow = 0x7D,
kVK_UpArrow = 0x7E
};
#endif
struct JoystickComponent
{
@ -475,9 +478,8 @@ namespace irr
CIrrDeviceMacOSX::CIrrDeviceMacOSX(const SIrrlichtCreationParameters& param)
: CIrrDeviceStub(param), Window(NULL), CGLContext(NULL), OGLContext(NULL),
SoftwareDriverTarget(0), DeviceWidth(0), DeviceHeight(0),
ScreenWidth(0), ScreenHeight(0), MouseButtonStates(0),
IsActive(true), IsSoftwareRenderer(false),
IsShiftDown(false), IsControlDown(false), IsResizable(false)
ScreenWidth(0), ScreenHeight(0), MouseButtonStates(0), SoftwareRendererType(0),
IsActive(true), IsFullscreen(false), IsShiftDown(false), IsControlDown(false), IsResizable(false)
{
struct utsname name;
NSString *path;
@ -514,21 +516,27 @@ CIrrDeviceMacOSX::CIrrDeviceMacOSX(const SIrrlichtCreationParameters& param)
bool success = true;
if (CreationParams.DriverType != video::EDT_NULL)
success = createWindow();
success = createWindow();
// in case of failure, one can check VideoDriver for initialization
if (!success)
return;
setResizable(false);
CursorControl = new CCursorControl(CreationParams.WindowSize, this);
createDriver();
createDriver();
createGUIAndScene();
}
CIrrDeviceMacOSX::~CIrrDeviceMacOSX()
{
[SoftwareDriverTarget release];
SetSystemUIMode(kUIModeNormal, 0);
#ifdef __MAC_10_6
[NSApp setPresentationOptions:(NSApplicationPresentationDefault)];
#else
SetSystemUIMode(kUIModeNormal, kUIOptionAutoShowMenuBar);
#endif
closeDevice();
#if defined(_IRR_COMPILE_WITH_JOYSTICK_EVENTS_)
for (u32 joystick = 0; joystick < ActiveJoysticks.size(); ++joystick)
@ -555,6 +563,9 @@ void CIrrDeviceMacOSX::closeDevice()
[Window setReleasedWhenClosed:TRUE];
[Window release];
Window = NULL;
if (IsFullscreen)
CGReleaseAllDisplays();
}
else
{
@ -576,6 +587,7 @@ void CIrrDeviceMacOSX::closeDevice()
}
}
IsFullscreen = false;
IsActive = false;
CGLContext = NULL;
}
@ -587,7 +599,12 @@ bool CIrrDeviceMacOSX::createWindow()
CGDirectDisplayID display=CGMainDisplayID();
CGLPixelFormatObj pixelFormat;
CGRect displayRect;
CFDictionaryRef displaymode, olddisplaymode;
#ifdef __MAC_10_6
CGDisplayModeRef displaymode, olddisplaymode;
#else
CFDictionaryRef displaymode, olddisplaymode;
#endif
GLint numPixelFormats, newSwapInterval;
int alphaSize = CreationParams.WithAlphaChannel?4:0;
@ -598,8 +615,6 @@ bool CIrrDeviceMacOSX::createWindow()
ScreenWidth = (int) CGDisplayPixelsWide(display);
ScreenHeight = (int) CGDisplayPixelsHigh(display);
VideoModeList.setDesktop(CreationParams.Bits, core::dimension2d<u32>(ScreenWidth, ScreenHeight));
// we need to check where the exceptions may happen and work at them
// for now we will just catch them to be able to avoid an app exit
@try
@ -726,14 +741,56 @@ bool CIrrDeviceMacOSX::createWindow()
}
else
{
displaymode = CGDisplayBestModeForParameters(display,CreationParams.Bits,CreationParams.WindowSize.Width,CreationParams.WindowSize.Height,NULL);
if (displaymode != NULL)
{
#ifdef __MAC_10_6
displaymode = CGDisplayCopyDisplayMode(display);
CFArrayRef Modes = CGDisplayCopyAllDisplayModes(display, NULL);
for(int i = 0; i < CFArrayGetCount(Modes); ++i)
{
CGDisplayModeRef CurrentMode = (CGDisplayModeRef)CFArrayGetValueAtIndex(Modes, i);
u8 Depth = 0;
CFStringRef pixEnc = CGDisplayModeCopyPixelEncoding(CurrentMode);
if(CFStringCompare(pixEnc, CFSTR(IO32BitDirectPixels), kCFCompareCaseInsensitive) == kCFCompareEqualTo)
Depth = 32;
else
if(CFStringCompare(pixEnc, CFSTR(IO16BitDirectPixels), kCFCompareCaseInsensitive) == kCFCompareEqualTo)
Depth = 16;
else
if(CFStringCompare(pixEnc, CFSTR(IO8BitIndexedPixels), kCFCompareCaseInsensitive) == kCFCompareEqualTo)
Depth = 8;
if(Depth == CreationParams.Bits)
if((CGDisplayModeGetWidth(CurrentMode) == CreationParams.WindowSize.Width) && (CGDisplayModeGetHeight(CurrentMode) == CreationParams.WindowSize.Height))
{
displaymode = CurrentMode;
break;
}
}
#else
displaymode = CGDisplayBestModeForParameters(display,CreationParams.Bits,CreationParams.WindowSize.Width,CreationParams.WindowSize.Height,NULL);
#endif
if (displaymode != NULL)
{
#ifdef __MAC_10_6
olddisplaymode = CGDisplayCopyDisplayMode(display);
#else
olddisplaymode = CGDisplayCurrentMode(display);
#endif
error = CGCaptureAllDisplays();
if (error == CGDisplayNoErr)
{
error = CGDisplaySwitchToMode(display,displaymode);
#ifdef __MAC_10_6
error = CGDisplaySetDisplayMode(display, displaymode, NULL);
#else
error = CGDisplaySwitchToMode(display, displaymode);
#endif
if (error == CGDisplayNoErr)
{
CGLPixelFormatAttribute fullattribs[] =
@ -764,43 +821,66 @@ bool CIrrDeviceMacOSX::createWindow()
if (CGLContext != NULL)
{
CGLSetFullScreen(CGLContext);
displayRect = CGDisplayBounds(display);
ScreenWidth = DeviceWidth = (int)displayRect.size.width;
ScreenHeight = DeviceHeight = (int)displayRect.size.height;
CreationParams.WindowSize.set(ScreenWidth, ScreenHeight);
result = true;
}
}
if (!result)
CGReleaseAllDisplays();
}
}
}
}
@catch (NSException *exception)
{
closeDevice();
result = false;
}
#ifdef __MAC_10_6
CGLSetFullScreenOnDisplay(CGLContext, CGDisplayIDToOpenGLDisplayMask(display));
#else
CGLSetFullScreen(CGLContext);
#endif
displayRect = CGDisplayBounds(display);
ScreenWidth = DeviceWidth = (int)displayRect.size.width;
ScreenHeight = DeviceHeight = (int)displayRect.size.height;
CreationParams.WindowSize.set(ScreenWidth, ScreenHeight);
result = true;
}
}
else
{
Window = [[NSWindow alloc] initWithContentRect:[[NSScreen mainScreen] frame] styleMask:NSBorderlessWindowMask backing:NSBackingStoreNonretained defer:NO screen:[NSScreen mainScreen]];
if (result)
{
// fullscreen?
if (Window == NULL && !CreationParams.WindowId) //hide menus in fullscreen mode only
SetSystemUIMode(kUIModeAllHidden, kUIOptionAutoShowMenuBar);
CGLSetCurrentContext(CGLContext);
newSwapInterval = (CreationParams.Vsync) ? 1 : 0;
CGLSetParameter(CGLContext,kCGLCPSwapInterval,&newSwapInterval);
if (IsSoftwareRenderer && CreationParams.DriverType != video::EDT_NULL)
{
GLint order = -1; // below window
CGLSetParameter(CGLContext, kCGLCPSurfaceOrder, &order);
}
}
return (result);
}
[Window setLevel: CGShieldingWindowLevel()];
[Window setAcceptsMouseMovedEvents:TRUE];
[Window setIsVisible:TRUE];
[Window makeKeyAndOrderFront:nil];
displayRect = CGDisplayBounds(display);
ScreenWidth = DeviceWidth = (int)displayRect.size.width;
ScreenHeight = DeviceHeight = (int)displayRect.size.height;
CreationParams.WindowSize.set(ScreenWidth, ScreenHeight);
result = true;
}
}
if (!result)
CGReleaseAllDisplays();
}
}
}
}
@catch (NSException *exception)
{
closeDevice();
result = false;
}
if (result)
{
// fullscreen?
if (Window == NULL && !CreationParams.WindowId) //hide menus in fullscreen mode only
#ifdef __MAC_10_6
[NSApp setPresentationOptions:(NSApplicationPresentationAutoHideDock | NSApplicationPresentationAutoHideMenuBar)];
#else
SetSystemUIMode(kUIModeAllHidden, kUIOptionAutoShowMenuBar);
#endif
if(CreationParams.DriverType == video::EDT_OPENGL)
{
CGLSetCurrentContext(CGLContext);
newSwapInterval = (CreationParams.Vsync) ? 1 : 0;
CGLSetParameter(CGLContext,kCGLCPSwapInterval,&newSwapInterval);
}
}
return (result);
}
void CIrrDeviceMacOSX::setResize(int width, int height)
{
@ -809,7 +889,8 @@ void CIrrDeviceMacOSX::setResize(int width, int height)
DeviceHeight = height;
// update the size of the opengl rendering context
[OGLContext update];
if(OGLContext);
[OGLContext update];
// resize the driver to the inner pane size
if (Window)
@ -819,6 +900,7 @@ void CIrrDeviceMacOSX::setResize(int width, int height)
}
else
getVideoDriver()->OnResize(core::dimension2d<u32>( (s32)width, (s32)height));
if (CreationParams.WindowId && OGLContext)
[(NSOpenGLContext *)OGLContext update];
}
@ -831,7 +913,7 @@ void CIrrDeviceMacOSX::createDriver()
case video::EDT_SOFTWARE:
#ifdef _IRR_COMPILE_WITH_SOFTWARE_
VideoDriver = video::createSoftwareDriver(CreationParams.WindowSize, CreationParams.Fullscreen, FileSystem, this);
IsSoftwareRenderer = true;
SoftwareRendererType = 2;
#else
os::Printer::log("No Software driver support compiled in.", ELL_ERROR);
#endif
@ -840,7 +922,7 @@ void CIrrDeviceMacOSX::createDriver()
case video::EDT_BURNINGSVIDEO:
#ifdef _IRR_COMPILE_WITH_BURNINGSVIDEO_
VideoDriver = video::createBurningVideoDriver(CreationParams, FileSystem, this);
IsSoftwareRenderer = true;
SoftwareRendererType = 1;
#else
os::Printer::log("Burning's video driver was not compiled in.", ELL_ERROR);
#endif
@ -880,6 +962,8 @@ void CIrrDeviceMacOSX::flush()
bool CIrrDeviceMacOSX::run()
{
NSAutoreleasePool* Pool = [[NSAutoreleasePool alloc] init];
NSEvent *event;
irr::SEvent ievent;
@ -1048,7 +1132,11 @@ void CIrrDeviceMacOSX::setWindowCaption(const wchar_t* text)
{
size = wcstombs(title,text,1024);
title[1023] = 0;
NSString* name = [NSString stringWithCString:title length:size];
#ifdef __MAC_10_6
NSString* name = [NSString stringWithCString:title encoding:NSUTF8StringEncoding];
#else
NSString* name = [NSString stringWithCString:title length:size];
#endif
[Window setTitle:name];
[name release];
}
@ -1159,6 +1247,7 @@ void CIrrDeviceMacOSX::postMouseEvent(void *event,irr::SEvent &ievent)
{
CGEventRef ourEvent = CGEventCreate(NULL);
CGPoint point = CGEventGetLocation(ourEvent);
CFRelease(ourEvent);
ievent.MouseInput.X = (int)point.x;
ievent.MouseInput.Y = (int)point.y;
@ -1190,6 +1279,7 @@ void CIrrDeviceMacOSX::storeMouseLocation()
{
CGEventRef ourEvent = CGEventCreate(NULL);
CGPoint point = CGEventGetLocation(ourEvent);
CFRelease(ourEvent);
x = (int)point.x;
y = (int)point.y;
@ -1200,7 +1290,7 @@ void CIrrDeviceMacOSX::storeMouseLocation()
// In fullscreen mode, events are not sent regularly so rely on polling
irr::SEvent ievent;
ievent.EventType = irr::EET_MOUSE_INPUT_EVENT;
ievent.MouseInput.Event = irr::EMIE_LMOUSE_PRESSED_DOWN;
ievent.MouseInput.Event = irr::EMIE_MOUSE_MOVED;
ievent.MouseInput.X = x;
ievent.MouseInput.Y = y;
postEventFromUser(ievent);
@ -1232,7 +1322,15 @@ void CIrrDeviceMacOSX::setMouseLocation(int x,int y)
c.x = p.x;
c.y = p.y;
CGSetLocalEventsSuppressionInterval(0);
#ifdef __MAC_10_6
/*CGEventSourceRef SourceRef = CGEventSourceCreate(0);
CGEventSourceSetLocalEventsSuppressionInterval(SourceRef, 0);
CFRelease(SourceRef);*/
CGSetLocalEventsSuppressionInterval(0);
#else
CGSetLocalEventsSuppressionInterval(0);
#endif
CGWarpMouseCursorPosition(c);
}
@ -1416,7 +1514,7 @@ bool CIrrDeviceMacOSX::present(video::IImage* surface, void* windowId, core::rec
if (!surface)
return false;
if (IsSoftwareRenderer)
if (SoftwareRendererType > 0)
{
const u32 colorSamples=3;
// do we need to change the size?
@ -1458,14 +1556,25 @@ bool CIrrDeviceMacOSX::present(video::IImage* surface, void* windowId, core::rec
const u32 minWidth = core::min_(surface->getDimension().Width, (u32)areaRect.size.width);
for (u32 y=0; y!=srcheight; ++y)
{
#if 0
if (surface->getColorFormat() == video::ECF_A8R8G8B8)
video::CColorConverter::convert_A8R8G8B8toB8G8R8(srcdata, minWidth, destData);
else
video::CColorConverter::convert_A1R5G5B5toB8G8R8(srcdata, minWidth, destData);
#else
video::CColorConverter::convert_viaFormat(srcdata, surface->getColorFormat(), minWidth, destData, video::ECF_R8G8B8);
#endif
if(SoftwareRendererType == 2)
{
if (surface->getColorFormat() == video::ECF_A8R8G8B8)
video::CColorConverter::convert_A8R8G8B8toB8G8R8(srcdata, minWidth, destData);
else if (surface->getColorFormat() == video::ECF_A1R5G5B5)
video::CColorConverter::convert_A1R5G5B5toB8G8R8(srcdata, minWidth, destData);
else
video::CColorConverter::convert_viaFormat(srcdata, surface->getColorFormat(), minWidth, destData, video::ECF_R8G8B8);
}
else
{
if (surface->getColorFormat() == video::ECF_A8R8G8B8)
video::CColorConverter::convert_A8R8G8B8toR8G8B8(srcdata, minWidth, destData);
else if (surface->getColorFormat() == video::ECF_A1R5G5B5)
video::CColorConverter::convert_A1R5G5B5toR8G8B8(srcdata, minWidth, destData);
else
video::CColorConverter::convert_viaFormat(srcdata, surface->getColorFormat(), minWidth, destData, video::ECF_R8G8B8);
}
srcdata += srcPitch;
destData += destPitch;
}

View File

@ -508,19 +508,6 @@
4CA25C080A485EAD00B4E469 /* jquant1.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E7390A485CD80014E966 /* jquant1.c */; };
4CA25C090A485EAD00B4E469 /* jquant2.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E73A0A485CD80014E966 /* jquant2.c */; };
4CA25C0A0A485EAD00B4E469 /* jutils.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E73B0A485CD80014E966 /* jutils.c */; };
4CA25C0C0A485EAD00B4E469 /* rdbmp.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E7540A485CD90014E966 /* rdbmp.c */; };
4CA25C0D0A485EAD00B4E469 /* rdcolmap.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E7550A485CD90014E966 /* rdcolmap.c */; };
4CA25C0E0A485EAD00B4E469 /* rdgif.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E7560A485CD90014E966 /* rdgif.c */; };
4CA25C100A485EAD00B4E469 /* rdppm.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E7590A485CD90014E966 /* rdppm.c */; };
4CA25C110A485EAD00B4E469 /* rdrle.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E75A0A485CD90014E966 /* rdrle.c */; };
4CA25C120A485EAD00B4E469 /* rdswitch.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E75B0A485CD90014E966 /* rdswitch.c */; };
4CA25C130A485EAD00B4E469 /* rdtarga.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E75C0A485CD90014E966 /* rdtarga.c */; };
4CA25C150A485EAD00B4E469 /* transupp.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E7660A485CD90014E966 /* transupp.c */; };
4CA25C170A485EAD00B4E469 /* wrbmp.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E76A0A485CD90014E966 /* wrbmp.c */; };
4CA25C180A485EAD00B4E469 /* wrgif.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E76B0A485CD90014E966 /* wrgif.c */; };
4CA25C1A0A485EAD00B4E469 /* wrppm.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E76E0A485CD90014E966 /* wrppm.c */; };
4CA25C1B0A485EAD00B4E469 /* wrrle.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E76F0A485CD90014E966 /* wrrle.c */; };
4CA25C1C0A485EAD00B4E469 /* wrtarga.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E7700A485CD90014E966 /* wrtarga.c */; };
4CA25C350A4860EE00B4E469 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4C00547D0A48470500C844C2 /* main.cpp */; };
4CA25C360A48610400B4E469 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 4C53E1650A484C2C0014E966 /* MainMenu.nib */; };
4CA25C520A48618800B4E469 /* libIrrlicht.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4C53E24D0A4850120014E966 /* libIrrlicht.a */; };
@ -801,19 +788,6 @@
95972A1112C192DA00BF73D3 /* jquant1.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E7390A485CD80014E966 /* jquant1.c */; };
95972A1212C192DA00BF73D3 /* jquant2.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E73A0A485CD80014E966 /* jquant2.c */; };
95972A1312C192DA00BF73D3 /* jutils.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E73B0A485CD80014E966 /* jutils.c */; };
95972A1412C192DA00BF73D3 /* rdbmp.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E7540A485CD90014E966 /* rdbmp.c */; };
95972A1512C192DA00BF73D3 /* rdcolmap.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E7550A485CD90014E966 /* rdcolmap.c */; };
95972A1612C192DA00BF73D3 /* rdgif.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E7560A485CD90014E966 /* rdgif.c */; };
95972A1712C192DA00BF73D3 /* rdppm.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E7590A485CD90014E966 /* rdppm.c */; };
95972A1812C192DA00BF73D3 /* rdrle.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E75A0A485CD90014E966 /* rdrle.c */; };
95972A1912C192DA00BF73D3 /* rdswitch.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E75B0A485CD90014E966 /* rdswitch.c */; };
95972A1A12C192DA00BF73D3 /* rdtarga.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E75C0A485CD90014E966 /* rdtarga.c */; };
95972A1B12C192DA00BF73D3 /* transupp.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E7660A485CD90014E966 /* transupp.c */; };
95972A1C12C192DA00BF73D3 /* wrbmp.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E76A0A485CD90014E966 /* wrbmp.c */; };
95972A1D12C192DA00BF73D3 /* wrgif.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E76B0A485CD90014E966 /* wrgif.c */; };
95972A1E12C192DA00BF73D3 /* wrppm.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E76E0A485CD90014E966 /* wrppm.c */; };
95972A1F12C192DA00BF73D3 /* wrrle.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E76F0A485CD90014E966 /* wrrle.c */; };
95972A2012C192DA00BF73D3 /* wrtarga.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E7700A485CD90014E966 /* wrtarga.c */; };
95972A2212C192DA00BF73D3 /* inffast.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E1800A484C2C0014E966 /* inffast.c */; };
95972A2312C192DA00BF73D3 /* inftrees.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E1850A484C2C0014E966 /* inftrees.c */; };
95972A2412C192DA00BF73D3 /* uncompr.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C53E18D0A484C2C0014E966 /* uncompr.c */; };
@ -1936,19 +1910,6 @@
4C53E7390A485CD80014E966 /* jquant1.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jquant1.c; sourceTree = "<group>"; };
4C53E73A0A485CD80014E966 /* jquant2.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jquant2.c; sourceTree = "<group>"; };
4C53E73B0A485CD80014E966 /* jutils.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = jutils.c; sourceTree = "<group>"; };
4C53E7540A485CD90014E966 /* rdbmp.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rdbmp.c; sourceTree = "<group>"; };
4C53E7550A485CD90014E966 /* rdcolmap.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rdcolmap.c; sourceTree = "<group>"; };
4C53E7560A485CD90014E966 /* rdgif.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rdgif.c; sourceTree = "<group>"; };
4C53E7590A485CD90014E966 /* rdppm.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rdppm.c; sourceTree = "<group>"; };
4C53E75A0A485CD90014E966 /* rdrle.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rdrle.c; sourceTree = "<group>"; };
4C53E75B0A485CD90014E966 /* rdswitch.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rdswitch.c; sourceTree = "<group>"; };
4C53E75C0A485CD90014E966 /* rdtarga.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = rdtarga.c; sourceTree = "<group>"; };
4C53E7660A485CD90014E966 /* transupp.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = transupp.c; sourceTree = "<group>"; };
4C53E76A0A485CD90014E966 /* wrbmp.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = wrbmp.c; sourceTree = "<group>"; };
4C53E76B0A485CD90014E966 /* wrgif.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = wrgif.c; sourceTree = "<group>"; };
4C53E76E0A485CD90014E966 /* wrppm.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = wrppm.c; sourceTree = "<group>"; };
4C53E76F0A485CD90014E966 /* wrrle.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = wrrle.c; sourceTree = "<group>"; };
4C53E7700A485CD90014E966 /* wrtarga.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = wrtarga.c; sourceTree = "<group>"; };
4C6DC9B60A48715A0017A6E5 /* inflate.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = inflate.c; sourceTree = "<group>"; };
4CA25B980A485D9800B4E469 /* CustomSceneNode_dbg.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CustomSceneNode_dbg.app; sourceTree = BUILT_PRODUCTS_DIR; };
4CA25B9A0A485D9800B4E469 /* MeshViewer_dbg.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MeshViewer_dbg.app; sourceTree = BUILT_PRODUCTS_DIR; };
@ -2133,7 +2094,7 @@
5E5484EF168A95D500119951 /* COpenGLCgMaterialRenderer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = COpenGLCgMaterialRenderer.cpp; sourceTree = "<group>"; };
5E5484F0168A95D500119951 /* COpenGLCgMaterialRenderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = COpenGLCgMaterialRenderer.h; sourceTree = "<group>"; };
959726FD12C18FFC00BF73D3 /* IrrFramework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = IrrFramework.framework; sourceTree = BUILT_PRODUCTS_DIR; };
959726FE12C18FFC00BF73D3 /* IrrFramework-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "IrrFramework-Info.plist"; path = "svn/irrlicht1.7/source/Irrlicht/MacOSX/IrrFramework-Info.plist"; sourceTree = SYSTEM_DEVELOPER_DIR; };
959726FE12C18FFC00BF73D3 /* irrFramework-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "irrFramework-Info.plist"; sourceTree = "<group>"; };
95972B8312C19A5C00BF73D3 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
95972B8912C19A7600BF73D3 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
95972B8D12C19A7F00BF73D3 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
@ -2421,7 +2382,7 @@
4C53E2540A48505D0014E966 /* Libraries */,
4C53E24C0A484FED0014E966 /* Products */,
959726FD12C18FFC00BF73D3 /* IrrFramework.framework */,
959726FE12C18FFC00BF73D3 /* IrrFramework-Info.plist */,
959726FE12C18FFC00BF73D3 /* irrFramework-Info.plist */,
95972B8312C19A5C00BF73D3 /* OpenGL.framework */,
95972B8912C19A7600BF73D3 /* IOKit.framework */,
95972B8D12C19A7F00BF73D3 /* Carbon.framework */,
@ -3625,19 +3586,6 @@
4C53E7390A485CD80014E966 /* jquant1.c */,
4C53E73A0A485CD80014E966 /* jquant2.c */,
4C53E73B0A485CD80014E966 /* jutils.c */,
4C53E7540A485CD90014E966 /* rdbmp.c */,
4C53E7550A485CD90014E966 /* rdcolmap.c */,
4C53E7560A485CD90014E966 /* rdgif.c */,
4C53E7590A485CD90014E966 /* rdppm.c */,
4C53E75A0A485CD90014E966 /* rdrle.c */,
4C53E75B0A485CD90014E966 /* rdswitch.c */,
4C53E75C0A485CD90014E966 /* rdtarga.c */,
4C53E7660A485CD90014E966 /* transupp.c */,
4C53E76A0A485CD90014E966 /* wrbmp.c */,
4C53E76B0A485CD90014E966 /* wrgif.c */,
4C53E76E0A485CD90014E966 /* wrppm.c */,
4C53E76F0A485CD90014E966 /* wrrle.c */,
4C53E7700A485CD90014E966 /* wrtarga.c */,
);
path = jpeglib;
sourceTree = "<group>";
@ -4433,7 +4381,6 @@
buildConfigurationList = 1DEB922208733DC00010E9CD /* Build configuration list for PBXProject "MacOSX" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
English,
@ -4754,19 +4701,6 @@
95972A1112C192DA00BF73D3 /* jquant1.c in Sources */,
95972A1212C192DA00BF73D3 /* jquant2.c in Sources */,
95972A1312C192DA00BF73D3 /* jutils.c in Sources */,
95972A1412C192DA00BF73D3 /* rdbmp.c in Sources */,
95972A1512C192DA00BF73D3 /* rdcolmap.c in Sources */,
95972A1612C192DA00BF73D3 /* rdgif.c in Sources */,
95972A1712C192DA00BF73D3 /* rdppm.c in Sources */,
95972A1812C192DA00BF73D3 /* rdrle.c in Sources */,
95972A1912C192DA00BF73D3 /* rdswitch.c in Sources */,
95972A1A12C192DA00BF73D3 /* rdtarga.c in Sources */,
95972A1B12C192DA00BF73D3 /* transupp.c in Sources */,
95972A1C12C192DA00BF73D3 /* wrbmp.c in Sources */,
95972A1D12C192DA00BF73D3 /* wrgif.c in Sources */,
95972A1E12C192DA00BF73D3 /* wrppm.c in Sources */,
95972A1F12C192DA00BF73D3 /* wrrle.c in Sources */,
95972A2012C192DA00BF73D3 /* wrtarga.c in Sources */,
95972A2212C192DA00BF73D3 /* inffast.c in Sources */,
95972A2312C192DA00BF73D3 /* inftrees.c in Sources */,
95972A2412C192DA00BF73D3 /* uncompr.c in Sources */,
@ -5187,19 +5121,6 @@
4CA25C080A485EAD00B4E469 /* jquant1.c in Sources */,
4CA25C090A485EAD00B4E469 /* jquant2.c in Sources */,
4CA25C0A0A485EAD00B4E469 /* jutils.c in Sources */,
4CA25C0C0A485EAD00B4E469 /* rdbmp.c in Sources */,
4CA25C0D0A485EAD00B4E469 /* rdcolmap.c in Sources */,
4CA25C0E0A485EAD00B4E469 /* rdgif.c in Sources */,
4CA25C100A485EAD00B4E469 /* rdppm.c in Sources */,
4CA25C110A485EAD00B4E469 /* rdrle.c in Sources */,
4CA25C120A485EAD00B4E469 /* rdswitch.c in Sources */,
4CA25C130A485EAD00B4E469 /* rdtarga.c in Sources */,
4CA25C150A485EAD00B4E469 /* transupp.c in Sources */,
4CA25C170A485EAD00B4E469 /* wrbmp.c in Sources */,
4CA25C180A485EAD00B4E469 /* wrgif.c in Sources */,
4CA25C1A0A485EAD00B4E469 /* wrppm.c in Sources */,
4CA25C1B0A485EAD00B4E469 /* wrrle.c in Sources */,
4CA25C1C0A485EAD00B4E469 /* wrtarga.c in Sources */,
4C53E3D80A4856B30014E966 /* inffast.c in Sources */,
4C53E3DC0A4856B30014E966 /* inftrees.c in Sources */,
4C53E3E40A4856B30014E966 /* uncompr.c in Sources */,
@ -5747,10 +5668,7 @@
0946CCB20EC99BBE00D945A5 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
DEPLOYMENT_LOCATION = YES;
@ -5778,10 +5696,7 @@
0946CCB30EC99BBE00D945A5 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = YES;
DEAD_CODE_STRIPPING = YES;
@ -6014,10 +5929,7 @@
0E2E3CFA1103E294002DE8D7 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
DEPLOYMENT_LOCATION = YES;
@ -6028,7 +5940,7 @@
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "";
INFOPLIST_FILE = "/Users/hybrid/irrlicht/branch_1.7/source/Irrlicht/MacOSX/DemoApp-Info.plist";
INFOPLIST_FILE = "DemoApp-Info.plist";
INSTALL_PATH = /;
OTHER_LDFLAGS = (
"-framework",
@ -6045,10 +5957,7 @@
0E2E3CFB1103E294002DE8D7 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = YES;
DEAD_CODE_STRIPPING = YES;
@ -6059,7 +5968,7 @@
GCC_MODEL_TUNING = G5;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "";
INFOPLIST_FILE = "/Users/hybrid/irrlicht/branch_1.7/source/Irrlicht/MacOSX/DemoApp-Info.plist";
INFOPLIST_FILE = "DemoApp-Info.plist";
INSTALL_PATH = /;
ONLY_LINK_ESSENTIAL_SYMBOLS = YES;
OTHER_LDFLAGS = (
@ -6079,10 +5988,7 @@
0E2E3D3A1103E3F4002DE8D7 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
DEPLOYMENT_LOCATION = YES;
@ -6093,7 +5999,7 @@
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "";
INFOPLIST_FILE = "/Users/hybrid/irrlicht/branch_1.7/source/Irrlicht/MacOSX/DemoApp-Info.plist";
INFOPLIST_FILE = "DemoApp-Info.plist";
INSTALL_PATH = /;
OTHER_LDFLAGS = (
"-framework",
@ -6110,10 +6016,7 @@
0E2E3D3B1103E3F4002DE8D7 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = YES;
DEAD_CODE_STRIPPING = YES;
@ -6124,7 +6027,7 @@
GCC_MODEL_TUNING = G5;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "";
INFOPLIST_FILE = "/Users/hybrid/irrlicht/branch_1.7/source/Irrlicht/MacOSX/DemoApp-Info.plist";
INFOPLIST_FILE = "DemoApp-Info.plist";
INSTALL_PATH = /;
ONLY_LINK_ESSENTIAL_SYMBOLS = YES;
OTHER_LDFLAGS = (
@ -6144,10 +6047,7 @@
1DEB921F08733DC00010E9CD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
@ -6167,10 +6067,7 @@
1DEB922008733DC00010E9CD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
COMBINE_HIDPI_IMAGES = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_MODEL_TUNING = G5;
@ -6187,10 +6084,7 @@
1DEB922308733DC00010E9CD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = NO;
HEADER_SEARCH_PATHS = ../../../include;
@ -6198,17 +6092,14 @@
"-DMACOSX",
"-D_DEBUG",
);
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
SDKROOT = "";
};
name = Debug;
};
1DEB922408733DC00010E9CD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
GCC_DYNAMIC_NO_PIC = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
@ -6219,7 +6110,7 @@
HEADER_SEARCH_PATHS = ../../../include;
INSTALL_MODE_FLAG = "a+rwx";
OTHER_CFLAGS = "-DMACOSX";
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
SDKROOT = "";
};
name = Release;
};
@ -6610,6 +6501,7 @@
AppKit,
);
PRODUCT_NAME = UserInterface_dbg;
SDKROOT = "";
WRAPPER_EXTENSION = app;
ZERO_LINK = YES;
};
@ -6639,7 +6531,7 @@
AppKit,
);
PRODUCT_NAME = UserInterface;
SDKROOT = /Developer/SDKs/MacOSX10.5.sdk;
SDKROOT = "";
SEPARATE_STRIP = YES;
STRIP_INSTALLED_PRODUCT = YES;
WRAPPER_EXTENSION = app;
@ -6707,8 +6599,7 @@
B81CFF3F097FE25F0057C06F /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)";
ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386";
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
DEPLOYMENT_LOCATION = YES;
@ -6734,7 +6625,7 @@
AppKit,
);
PRODUCT_NAME = Quake3Map_dbg;
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
SDKROOT = "";
WRAPPER_EXTENSION = app;
ZERO_LINK = YES;
};
@ -6743,8 +6634,7 @@
B81CFF40097FE25F0057C06F /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)";
ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386";
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = YES;
DEAD_CODE_STRIPPING = YES;
@ -6771,7 +6661,7 @@
AppKit,
);
PRODUCT_NAME = Quake3Map;
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
SDKROOT = "";
SEPARATE_STRIP = YES;
STRIP_INSTALLED_PRODUCT = YES;
WRAPPER_EXTENSION = app;
@ -6839,10 +6729,7 @@
B81CFF84097FE3DC0057C06F /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
DEPLOYMENT_LOCATION = YES;
@ -6870,10 +6757,7 @@
B81CFF85097FE3DC0057C06F /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = YES;
DEAD_CODE_STRIPPING = YES;
@ -6904,7 +6788,7 @@
B81CFF9D097FE45E0057C06F /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = i386;
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
DEPLOYMENT_LOCATION = YES;
@ -6934,7 +6818,7 @@
B81CFF9E097FE45E0057C06F /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = i386;
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = YES;
DEAD_CODE_STRIPPING = YES;

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>org.irrlichtengine.${PRODUCT_NAME:identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.6</string>
</dict>
</plist>

View File

@ -0,0 +1,4 @@
This "contrib" directory contains contributions which are not necessarily under
the libpng license, although all are open source. They are not part of
libpng proper and are not used for building the library.

View File

@ -590,7 +590,7 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, PSTR cmd, int showmode)
"(unexpectedly) while reading PNG image file\n");
exit(3);
} else /* if (error) */ {
// will print error message below
/* will print error message below */
}
break;
}

View File

@ -591,7 +591,7 @@ int main(int argc, char **argv)
"(unexpectedly) while reading PNG image file\n");
exit(3);
} else /* if (error) */ {
// will print error message below
/* will print error message below */
}
break;
}

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +0,0 @@
cp ../../pngminus/png2pnm.c pngm2pnm.c
cp ../../../*.h .
cp ../../../*.c .
rm example.c pngtest.c pngpread.c pngw*.c
# change the following 2 lines if zlib is somewhere else
cp ../../../../zlib/*.h .
cp ../../../../zlib/*.c .
rm minigzip.c example.c compress.c deflate.c gz*

View File

@ -19,5 +19,6 @@
*/
#define PNG_NO_WARNINGS
#define PNG_ALIGN_TYPE PNG_ALIGN_NONE
#endif /* MINRDPNGCONF_H */

View File

@ -1,9 +0,0 @@
cp ../../pngminus/pnm2png.c pnm2pngm.c
cp ../../../*.h .
cp ../../../*.c .
rm example.c pngtest.c pngr*.c pngpread.c
# Change the next 2 lines if zlib is somewhere else.
cp ../../../../zlib/*.h .
cp ../../../../zlib/*.c .
rm inf*.[ch]
rm uncompr.c minigzip.c example.c gz*

View File

@ -19,5 +19,6 @@
*/
#define PNG_NO_WARNINGS
#define PNG_ALIGN_TYPE PNG_ALIGN_NONE
#endif /* MINWRPNGCONF_H */

View File

@ -1,9 +0,0 @@
cp ../../gregbook/rpng2-x.c ../../gregbook/readpng2.[ch] .
cp ../../gregbook/COPYING ../../gregbook/LICENSE .
cp ../../../*.h .
cp ../../../*.c .
rm example.c pngtest.c pngw*.c
# change the following 2 lines if zlib is somewhere else
cp ../../../../zlib/*.h .
cp ../../../../zlib/*.c .
rm minigzip.c example.c compress.c deflate.c gz*

View File

@ -19,5 +19,6 @@
*/
#define PNG_NO_WARNINGS
#define PNG_ALIGN_TYPE PNG_ALIGN_NONE
#endif /* MINPRDPNGCONF_H */

View File

@ -1,383 +0,0 @@
40
targetIdent
0
MProject
1
MComponent
0
2
WString
3
LIB
3
WString
5
n_2sn
1
0
0
4
MCommand
0
5
MCommand
0
6
MItem
10
libpng.lib
7
WString
3
LIB
8
WVList
0
9
WVList
1
10
ActionStates
11
WString
5
&Make
12
WVList
0
-1
1
1
0
13
WPickList
16
14
MItem
3
*.c
15
WString
4
COBJ
16
WVList
2
17
MVState
18
WString
3
WCC
19
WString
25
n????Include directories:
1
20
WString
39
"$(%zlib);$(%watcom)/h;$(%watcom)/h/nt"
0
21
MVState
22
WString
3
WCC
23
WString
25
n????Include directories:
0
24
WString
39
"$(%zlib);$(%watcom)/h;$(%watcom)/h/nt"
0
25
WVList
1
26
ActionStates
27
WString
5
&Make
28
WVList
0
-1
1
1
0
29
MItem
11
..\..\png.c
30
WString
4
COBJ
31
WVList
0
32
WVList
0
14
1
1
0
33
MItem
16
..\..\pngerror.c
34
WString
4
COBJ
35
WVList
0
36
WVList
0
14
1
1
0
37
MItem
14
..\..\pngget.c
38
WString
4
COBJ
39
WVList
0
40
WVList
0
14
1
1
0
41
MItem
14
..\..\pngmem.c
42
WString
4
COBJ
43
WVList
0
44
WVList
0
14
1
1
0
45
MItem
16
..\..\pngpread.c
46
WString
4
COBJ
47
WVList
0
48
WVList
0
14
1
1
0
49
MItem
15
..\..\pngread.c
50
WString
4
COBJ
51
WVList
0
52
WVList
0
14
1
1
0
53
MItem
14
..\..\pngrio.c
54
WString
4
COBJ
55
WVList
0
56
WVList
0
14
1
1
0
57
MItem
16
..\..\pngrtran.c
58
WString
4
COBJ
59
WVList
0
60
WVList
0
14
1
1
0
61
MItem
16
..\..\pngrutil.c
62
WString
4
COBJ
63
WVList
0
64
WVList
0
14
1
1
0
65
MItem
14
..\..\pngset.c
66
WString
4
COBJ
67
WVList
0
68
WVList
0
14
1
1
0
69
MItem
16
..\..\pngtrans.c
70
WString
4
COBJ
71
WVList
0
72
WVList
0
14
1
1
0
73
MItem
14
..\..\pngwio.c
74
WString
4
COBJ
75
WVList
0
76
WVList
0
14
1
1
0
77
MItem
16
..\..\pngwrite.c
78
WString
4
COBJ
79
WVList
0
80
WVList
0
14
1
1
0
81
MItem
16
..\..\pngwtran.c
82
WString
4
COBJ
83
WVList
0
84
WVList
0
14
1
1
0
85
MItem
16
..\..\pngwutil.c
86
WString
4
COBJ
87
WVList
0
88
WVList
0
14
1
1
0

View File

@ -1,92 +0,0 @@
40
projectIdent
0
VpeMain
1
WRect
256
146
8966
9303
2
MProject
3
MCommand
322
# Locations of zlib and (if required) awk (change as required:)
set zlib=..\..\..\zlib
set awk=
#
@if not exist pngconfig.dfa $(MAKE) $(__MAKEOPTS__) -f pngconfig.mak defaults
@if exist config.inf type config.inf
@echo Checking for the libpng configuration file pnglibconf.h
$(MAKE) $(__MAKEOPTS__) -f pngconfig.mak
4
MCommand
19
@type pngconfig.inf
3
5
WFileName
10
libpng.tgt
6
WFileName
11
pngtest.tgt
7
WFileName
12
pngvalid.tgt
8
WVList
3
9
VComponent
10
WRect
0
0
5644
4183
0
0
11
WFileName
10
libpng.tgt
0
0
12
VComponent
13
WRect
1280
1560
5644
4183
0
0
14
WFileName
11
pngtest.tgt
0
1
15
VComponent
16
WRect
530
507
5644
4183
0
0
17
WFileName
12
pngvalid.tgt
0
1
9

View File

@ -1,160 +0,0 @@
# This is an OpenWatcom make file which builds pnglibconf.h - the libpng
# configuration header. You can ignore this file if you don't need to
# configure libpng; a default configuration will be built.
#
# For more information build libpng.wpj under the IDE and then read the
# generated files:
#
# config.inf: Basic configuration information for a standard build.
# pngconfig.dfa: Advanced configuration for non-standard libpng builds.
#
DELETE=rm -f
ECHO=echo
COPY=copy
#
# If your configuration needs to test compiler flags when building
# pnglibconf.h you may need to override the following on the wmake command
# line:
CFLAGS=
CC=wcl386
CPP=$(CC) -pw0
#
# Read awk from the environment if set, else it can be set on the command
# line (the default approach is to set the %awk% environment variable in the
# IDE libpng.wpj 'before' rule - this setting is local.)
!ifdef %awk
AWK=$(%awk)
!endif
#
# pnglibconf.h must exist in the source directory, this is the final rule
# which copies the local built version (and this is the default target for
# this makefile.)
..\..\pnglibconf.h: pnglibconf.h
$(COPY) pnglibconf.h $@
!ifdef AWK
# CPPFLAGS should contain the options to control the result,
# but DEFS and CFLAGS are also supported here, override
# as appropriate
DFNFLAGS = $(DEFS) $(CPPFLAGS) $(CFLAGS)
pnglibconf.h: pnglibconf.dfn
$(DELETE) $@ dfn.c dfn1.out dfn2.out
$(ECHO) $#include "pnglibconf.dfn" >dfn.c
$(CPP) $(DFNFLAGS) dfn.c >dfn1.out
$(AWK) -f << dfn1.out >dfn2.out
/^.*PNG_DEFN_MAGIC-.*-PNG_DEFN_END.*$$/{
sub(/^.*PNG_DEFN_MAGIC-/, "")
sub(/ *-PNG_DEFN_END.*$$/, "")
gsub(/ *@@@ */, "")
print
}
<<
$(COPY) dfn2.out $@
@type << >pngconfig.inf
This is a locally configurable build of libpng.lib; for configuration
instructions consult and edit projects/openwatcom/pngconfig.dfa
<<
$(DELETE) dfn.c dfn1.out dfn2.out
pnglibconf.dfn: ..\..\scripts\pnglibconf.dfa ..\..\scripts\options.awk pngconfig.dfa
$(DELETE) $@ dfn1.out dfn2.out
$(AWK) -f ..\..\scripts\options.awk out=dfn1.out ..\..\scripts\pnglibconf.dfa pngconfig.dfa $(DFA_XTRA) 1>&2
$(AWK) -f ..\..\scripts\options.awk out=dfn2.out dfn1.out 1>&2
$(COPY) dfn2.out $@
$(DELETE) dfn1.out dfn2.out
!else
# The following lines are used to copy scripts\pnglibconf.h.prebuilt and make
# the required change to the calling convention.
#
# By default libpng is built to use the __cdecl calling convention on
# Windows. This gives compatibility with MSVC and GCC. Unfortunately it
# does not work with OpenWatcom because OpenWatcom implements longjmp using
# the __watcall convention (compared with both MSVC and GCC which use __cdecl
# for library functions.)
#
# Thus the default must be changed to build on OpenWatcom and, once changed,
# the result will not be compatible with applications built using other
# compilers (in fact attempts to build will fail at compile time.)
#
pnglibconf.h: ..\..\scripts\pnglibconf.h.prebuilt .existsonly
@$(ECHO) .
@$(ECHO) .
@$(ECHO) $$(AWK) NOT AVAILABLE: COPYING scripts\pnglibconf.h.prebuilt
@$(ECHO) .
@$(ECHO) .
vi -q -k ":1,$$s/PNG_API_RULE 0$$/PNG_API_RULE 2/\n:w! $@\n:q!\n" ..\..\scripts\pnglibconf.h.prebuilt
@$(ECHO) .
@$(ECHO) .
@$(ECHO) YOU HAVE A DEFAULT CONFIGURATION BECAUSE YOU DO NOT HAVE AWK!
@$(ECHO) .
@$(ECHO) .
@type << >pngconfig.inf
This is the default configuration of libpng.lib, if you wish to
change the configuration please consult the instructions in
projects/owatcom/pngconfig.dfa.
<<
!endif
# Make the default files
defaults: .symbolic
@$(COPY) << config.inf
$# The libpng project is incompletely configured. To complete configuration
$# please complete the following steps:
$#
$# 1) Edit the 'before' rule of libpng.wpj (from the IDE) to define the
$# locations of the zlib include file zlib.h and the built zlib library,
$# zlib.lib.
$#
$# 2) If you want to change libpng to a non-standard configuration also
$# change the definition of 'awk' in the before rule to the name of your
$# awk command. For more instructions on configuration read
$# pngconfig.dfa.
$#
$# 3) Delete this file (config.inf).
<<
@$(COPY) << pngconfig.dfa
$# pngconfig.dfa: this file contains configuration options for libpng.
$# If emtpy the standard configuration will be built. For this file to be
$# used a working version of the program 'awk' is required and the program
$# must be identified in the 'before' rule of the project.
$#
$# If you don't already have 'awk', or the version of awk you have seems not
$# to work, download Brian Kernighan's awk (Brian Kernighan is the author of
$# awk.) You can find source code and a built executable (called awk95.exe)
$# here:
$#
$# http://www.cs.princeton.edu/~bwk/btl.mirror/
$#
$# The executable works just fine.
$#
$# If build issues errors after a change to pngconfig.dfa you have entered
$# inconsistent feature requests, or even malformed requests, in
$# pngconfig.dfa. The error messages from awk should be comprehensible, but
$# if not simply go back to the start (nothing but comments in this file) and
$# enter configuration lines one by one until one produces an error. (Or, of
$# course, do the standard binary chop.)
$#
$# You need to rebuild everything after a change to pnglibconf.dfa - i.e. you
$# must do Actions/Mark All Targets for Remake. This is because the compiler
$# generated dependency information (as of OpenWatcom 1.9) does not record the
$# dependency on pnglibconf.h correctly.
$#
$# If awk isn't set then this file is bypassed. If you just want the standard
$# configuration it is automatically produced from the distributed version
$# (scripts\pnglibconf.h.prebuilt) by editting PNG_API_RULE to 2 (to force use
$# of the OpenWatcom library calling convention.)
$#
<<
clean:: .symbolic
$(DELETE) ..\..\pnglibconf.h pnglibconf.* dfn.c *.out pngconfig.inf
$(DELETE) *.obj *.mbr *.sym *.err *.pch libpng.mk
$(DELETE) libpng.lib libpng.lbr libpng.lb1 libpng.cbr libpng.mk1
$(DELETE) pngtest.exe pngtest.map pngtest.lk1 pngtest.mk1
$(DELETE) pngvalid.exe pngvalid.map pngvalid.lk1 pngvalid.mk1
distclean:: clean .symbolic
$(DELETE) zlib.inf awk.inf config.inf pngconfig.dfa

View File

@ -1,179 +0,0 @@
40
targetIdent
0
MProject
1
MComponent
0
2
WString
4
NEXE
3
WString
5
nc2en
1
0
0
4
MCommand
0
5
MCommand
34
cd ..\..
projects\owatcom\pngtest
6
MItem
11
pngtest.exe
7
WString
4
NEXE
8
WVList
4
9
MVState
10
WString
7
WINLINK
11
WString
28
?????Library directories(;):
1
12
WString
8
$(%zlib)
0
13
MVState
14
WString
7
WINLINK
15
WString
18
?????Libraries(,):
1
16
WString
19
libpng.lib zlib.lib
0
17
MVState
18
WString
7
WINLINK
19
WString
28
?????Library directories(;):
0
20
WString
8
$(%zlib)
0
21
MVState
22
WString
7
WINLINK
23
WString
18
?????Libraries(,):
0
24
WString
19
libpng.lib zlib.lib
0
25
WVList
0
-1
1
1
0
26
WPickList
2
27
MItem
3
*.c
28
WString
4
COBJ
29
WVList
2
30
MVState
31
WString
3
WCC
32
WString
25
n????Include directories:
1
33
WString
39
"$(%zlib);$(%watcom)/h;$(%watcom)/h/nt"
0
34
MVState
35
WString
3
WCC
36
WString
25
n????Include directories:
0
37
WString
39
"$(%zlib);$(%watcom)/h;$(%watcom)/h/nt"
0
38
WVList
0
-1
1
1
0
39
MItem
15
..\..\pngtest.c
40
WString
4
COBJ
41
WVList
0
42
WVList
0
27
1
1
0

View File

@ -1,210 +0,0 @@
40
targetIdent
0
MProject
1
MComponent
0
2
WString
4
NEXE
3
WString
5
nc2en
1
0
0
4
MCommand
0
5
MCommand
8
pngvalid
6
MItem
12
pngvalid.exe
7
WString
4
NEXE
8
WVList
6
9
MVState
10
WString
7
WINLINK
11
WString
11
?????Stack:
1
12
WString
4
768k
0
13
MVState
14
WString
7
WINLINK
15
WString
28
?????Library directories(;):
1
16
WString
8
$(%zlib)
0
17
MVState
18
WString
7
WINLINK
19
WString
18
?????Libraries(,):
1
20
WString
19
libpng.lib zlib.lib
0
21
MVState
22
WString
7
WINLINK
23
WString
11
?????Stack:
0
24
WString
4
768k
0
25
MVState
26
WString
7
WINLINK
27
WString
28
?????Library directories(;):
0
28
WString
8
$(%zlib)
0
29
MVState
30
WString
7
WINLINK
31
WString
18
?????Libraries(,):
0
32
WString
19
libpng.lib zlib.lib
0
33
WVList
0
-1
1
1
0
34
WPickList
2
35
MItem
3
*.c
36
WString
4
COBJ
37
WVList
2
38
MVState
39
WString
3
WCC
40
WString
25
n????Include directories:
1
41
WString
39
"$(%zlib);$(%watcom)/h;$(%watcom)/h/nt"
0
42
MVState
43
WString
3
WCC
44
WString
25
n????Include directories:
0
45
WString
39
"$(%zlib);$(%watcom)/h;$(%watcom)/h/nt"
0
46
WVList
0
-1
1
1
0
47
MItem
16
..\..\pngvalid.c
48
WString
4
COBJ
49
WVList
0
50
WVList
0
35
1
1
0

View File

@ -1,57 +0,0 @@
Microsoft Developer Studio Project File, Format Version 6.00 for libpng.
Copyright (C) 2000-2004 Simon-Pierre Cadieux.
Copyright (C) 2004 Cosmin Truta.
This code is released under the libpng license.
For conditions of distribution and use, see copyright notice in png.h
NOTE: This project will be removed from libpng-1.5.0. It has
been replaced with the "vstudio" project.
Assumptions:
* The libpng source files are in ..\..
* The zlib source files are in ..\..\..\zlib
* The zlib project files are in ..\..\..\zlib\projects\visualc6
To use:
1) On the main menu, select "File | Open Workspace".
Open "libpng.dsw".
2) Select "Build | Set Active Configuration".
Choose the configuration you wish to build.
(Choose libpng or pngtest; zlib will be built automatically.)
3) Select "Build | Clean".
4) Select "Build | Build ... (F7)". Ignore warning messages about
not being able to find certain include files (e.g. alloc.h).
5) If you built the sample program (pngtest),
select "Build | Execute ... (Ctrl+F5)".
This project builds the libpng binaries as follows:
* Win32_DLL_Release\libpng14.dll DLL build
* Win32_DLL_Debug\libpng14d.dll DLL build (debug version)
* Win32_DLL_VB\libpng14vb.dll DLL build for Visual Basic, using stdcall
* Win32_LIB_Release\libpng.lib static build
* Win32_LIB_Debug\libpngd.lib static build (debug version)
Notes:
If you change anything in the source files, or select different compiler
settings, please change the DLL name to something different than any of
the above names. Also, make sure that in your "pngusr.h" you define
PNG_USER_PRIVATEBUILD and PNG_USER_DLLFNAME_POSTFIX according to the
instructions provided in "pngconf.h".
All DLLs built by this project use the Microsoft dynamic C runtime library
MSVCRT.DLL (MSVCRTD.DLL for debug versions). If you distribute any of the
above mentioned libraries you should also include this DLL in your package.
For a list of files that are redistributable in Visual C++ 6.0, see
Common\Redist\Redist.txt on Disc 1 of the Visual C++ 6.0 product CDs.

View File

@ -204,14 +204,13 @@
</Link>
<CustomBuildStep>
<Message>Executing PNG validation program</Message>
<Command>$(OutDir)pngvalid.exe ..\..\..\pngvalid.png $(IntDir)pngout.png</Command>
<Command>"$(OutDir)pngvalid.exe" --touch "$(IntDir)pngvalid.out"</Command>
<Outputs>$(IntDir)pngvalid.out</Outputs>
<Inputs>$(OutDir)pngvalid.exe</Inputs>
</CustomBuildStep>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\pngvalid.c" />
<ClCompile Include="..\..\..\contrib\libtests\pngvalid.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">

View File

@ -1,7 +1,7 @@
VisualStudio instructions
libpng version 1.5.5 - September 22, 2011
libpng version 1.5.9 - February 18, 2012
Copyright (c) 1998-2010 Glenn Randers-Pehrson

View File

@ -2,22 +2,22 @@ Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpng", "libpng\libpng.vcxproj", "{D6973076-9317-4EF2-A0B8-B7A18AC0713E}"
ProjectSection(ProjectDependencies) = postProject
{64CE4900-97EA-2DD5-4226-F2E36FFF2867} = {64CE4900-97EA-2DD5-4226-F2E36FFF2867}
{60F89955-91C6-3A36-8000-13C592FEC2DF} = {60F89955-91C6-3A36-8000-13C592FEC2DF}
{EB33566E-DA7F-4D28-9077-88C0B7C77E35} = {EB33566E-DA7F-4D28-9077-88C0B7C77E35}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pngtest", "pngtest\pngtest.vcxproj", "{228BA965-50D5-42B2-8BCF-AFCC227E3C1D}"
ProjectSection(ProjectDependencies) = postProject
{64CE4900-97EA-2DD5-4226-F2E36FFF2867} = {64CE4900-97EA-2DD5-4226-F2E36FFF2867}
{60F89955-91C6-3A36-8000-13C592FEC2DF} = {60F89955-91C6-3A36-8000-13C592FEC2DF}
{EB33566E-DA7F-4D28-9077-88C0B7C77E35} = {EB33566E-DA7F-4D28-9077-88C0B7C77E35}
{D6973076-9317-4EF2-A0B8-B7A18AC0713E} = {D6973076-9317-4EF2-A0B8-B7A18AC0713E}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib\zlib.vcxproj", "{64CE4900-97EA-2DD5-4226-F2E36FFF2867}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib\zlib.vcxproj", "{60F89955-91C6-3A36-8000-13C592FEC2DF}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pngvalid", "pngvalid\pngvalid.vcxproj", "{9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}"
ProjectSection(ProjectDependencies) = postProject
{64CE4900-97EA-2DD5-4226-F2E36FFF2867} = {64CE4900-97EA-2DD5-4226-F2E36FFF2867}
{60F89955-91C6-3A36-8000-13C592FEC2DF} = {60F89955-91C6-3A36-8000-13C592FEC2DF}
{EB33566E-DA7F-4D28-9077-88C0B7C77E35} = {EB33566E-DA7F-4D28-9077-88C0B7C77E35}
{D6973076-9317-4EF2-A0B8-B7A18AC0713E} = {D6973076-9317-4EF2-A0B8-B7A18AC0713E}
EndProjectSection
@ -48,14 +48,14 @@ Global
{228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Release Library|Win32.Build.0 = Release Library|Win32
{228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Release|Win32.ActiveCfg = Release|Win32
{228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Release|Win32.Build.0 = Release|Win32
{64CE4900-97EA-2DD5-4226-F2E36FFF2867}.Debug Library|Win32.ActiveCfg = Debug Library|Win32
{64CE4900-97EA-2DD5-4226-F2E36FFF2867}.Debug Library|Win32.Build.0 = Debug Library|Win32
{64CE4900-97EA-2DD5-4226-F2E36FFF2867}.Debug|Win32.ActiveCfg = Debug|Win32
{64CE4900-97EA-2DD5-4226-F2E36FFF2867}.Debug|Win32.Build.0 = Debug|Win32
{64CE4900-97EA-2DD5-4226-F2E36FFF2867}.Release Library|Win32.ActiveCfg = Release Library|Win32
{64CE4900-97EA-2DD5-4226-F2E36FFF2867}.Release Library|Win32.Build.0 = Release Library|Win32
{64CE4900-97EA-2DD5-4226-F2E36FFF2867}.Release|Win32.ActiveCfg = Release|Win32
{64CE4900-97EA-2DD5-4226-F2E36FFF2867}.Release|Win32.Build.0 = Release|Win32
{60F89955-91C6-3A36-8000-13C592FEC2DF}.Debug Library|Win32.ActiveCfg = Debug Library|Win32
{60F89955-91C6-3A36-8000-13C592FEC2DF}.Debug Library|Win32.Build.0 = Debug Library|Win32
{60F89955-91C6-3A36-8000-13C592FEC2DF}.Debug|Win32.ActiveCfg = Debug|Win32
{60F89955-91C6-3A36-8000-13C592FEC2DF}.Debug|Win32.Build.0 = Debug|Win32
{60F89955-91C6-3A36-8000-13C592FEC2DF}.Release Library|Win32.ActiveCfg = Release Library|Win32
{60F89955-91C6-3A36-8000-13C592FEC2DF}.Release Library|Win32.Build.0 = Release Library|Win32
{60F89955-91C6-3A36-8000-13C592FEC2DF}.Release|Win32.ActiveCfg = Release|Win32
{60F89955-91C6-3A36-8000-13C592FEC2DF}.Release|Win32.Build.0 = Release|Win32
{9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Debug Library|Win32.ActiveCfg = Debug Library|Win32
{9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Debug Library|Win32.Build.0 = Debug Library|Win32
{9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Debug|Win32.ActiveCfg = Debug|Win32
@ -72,6 +72,14 @@ Global
{EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Release Library|Win32.Build.0 = Release|Win32
{EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Release|Win32.ActiveCfg = Release|Win32
{EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Release|Win32.Build.0 = Release|Win32
{277AC57F-313B-4D06-B119-A3CDB672D2FF}.Debug Library|Win32.ActiveCfg = Debug Library|Win32
{277AC57F-313B-4D06-B119-A3CDB672D2FF}.Debug Library|Win32.Build.0 = Debug Library|Win32
{277AC57F-313B-4D06-B119-A3CDB672D2FF}.Debug|Win32.ActiveCfg = Debug|Win32
{277AC57F-313B-4D06-B119-A3CDB672D2FF}.Debug|Win32.Build.0 = Debug|Win32
{277AC57F-313B-4D06-B119-A3CDB672D2FF}.Release Library|Win32.ActiveCfg = Release Library|Win32
{277AC57F-313B-4D06-B119-A3CDB672D2FF}.Release Library|Win32.Build.0 = Release Library|Win32
{277AC57F-313B-4D06-B119-A3CDB672D2FF}.Release|Win32.ActiveCfg = Release|Win32
{277AC57F-313B-4D06-B119-A3CDB672D2FF}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -2,7 +2,7 @@
<!--
* zlib.props - location of zlib source
*
* libpng version 1.5.5 - September 22, 2011
* libpng version 1.5.9 - February 18, 2012
*
* Copyright (c) 1998-2011 Glenn Randers-Pehrson
*

View File

@ -1,3 +0,0 @@
1 September 2010: Philippe Hausler updated the xcode project to work
with libpng-1.4.x and added iOS targets for simulator and device.

View File

@ -1,805 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 45;
objects = {
/* Begin PBXAggregateTarget section */
5BF3B110122B1C860092AE4E /* libpng */ = {
isa = PBXAggregateTarget;
buildConfigurationList = 5BF3B11B122B1CD80092AE4E /* Build configuration list for PBXAggregateTarget "libpng" */;
buildPhases = (
);
dependencies = (
5BF3B114122B1C9B0092AE4E /* PBXTargetDependency */,
5BF3B116122B1C9B0092AE4E /* PBXTargetDependency */,
);
name = libpng;
productName = "libpng (iOS)";
};
5BF3B148122DE51E0092AE4E /* Configure */ = {
isa = PBXAggregateTarget;
buildConfigurationList = 5BF3B14B122DE5430092AE4E /* Build configuration list for PBXAggregateTarget "Configure" */;
buildPhases = (
5BF3B147122DE51E0092AE4E /* Configure */,
);
dependencies = (
);
name = Configure;
productName = Configure;
};
/* End PBXAggregateTarget section */
/* Begin PBXBuildFile section */
5BF3B0C9122B1BEE0092AE4E /* pngpriv.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BF3B0B5122B1BEE0092AE4E /* pngpriv.h */; };
5BF3B0CA122B1BEE0092AE4E /* png.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0B6122B1BEE0092AE4E /* png.c */; };
5BF3B0CB122B1BEE0092AE4E /* png.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BF3B0B7122B1BEE0092AE4E /* png.h */; };
5BF3B0CC122B1BEE0092AE4E /* pngconf.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BF3B0B8122B1BEE0092AE4E /* pngconf.h */; };
5BF3B0CD122B1BEE0092AE4E /* pngerror.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0B9122B1BEE0092AE4E /* pngerror.c */; };
5BF3B0CF122B1BEE0092AE4E /* pngget.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0BB122B1BEE0092AE4E /* pngget.c */; };
5BF3B0D0122B1BEE0092AE4E /* pngmem.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0BC122B1BEE0092AE4E /* pngmem.c */; };
5BF3B0D1122B1BEE0092AE4E /* pngpread.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0BD122B1BEE0092AE4E /* pngpread.c */; };
5BF3B0D2122B1BEE0092AE4E /* pngread.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0BE122B1BEE0092AE4E /* pngread.c */; };
5BF3B0D3122B1BEE0092AE4E /* pngrio.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0BF122B1BEE0092AE4E /* pngrio.c */; };
5BF3B0D4122B1BEE0092AE4E /* pngrtran.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C0122B1BEE0092AE4E /* pngrtran.c */; };
5BF3B0D5122B1BEE0092AE4E /* pngrutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C1122B1BEE0092AE4E /* pngrutil.c */; };
5BF3B0D6122B1BEE0092AE4E /* pngset.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C2122B1BEE0092AE4E /* pngset.c */; };
5BF3B0D7122B1BEE0092AE4E /* pngtrans.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C3122B1BEE0092AE4E /* pngtrans.c */; };
5BF3B0D9122B1BEE0092AE4E /* pngwio.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C5122B1BEE0092AE4E /* pngwio.c */; };
5BF3B0DA122B1BEE0092AE4E /* pngwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C6122B1BEE0092AE4E /* pngwrite.c */; };
5BF3B0DB122B1BEE0092AE4E /* pngwtran.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C7122B1BEE0092AE4E /* pngwtran.c */; };
5BF3B0DC122B1BEE0092AE4E /* pngwutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C8122B1BEE0092AE4E /* pngwutil.c */; };
5BF3B0DD122B1BEE0092AE4E /* pngpriv.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BF3B0B5122B1BEE0092AE4E /* pngpriv.h */; };
5BF3B0DE122B1BEE0092AE4E /* png.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0B6122B1BEE0092AE4E /* png.c */; };
5BF3B0DF122B1BEE0092AE4E /* png.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BF3B0B7122B1BEE0092AE4E /* png.h */; };
5BF3B0E0122B1BEE0092AE4E /* pngconf.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BF3B0B8122B1BEE0092AE4E /* pngconf.h */; };
5BF3B0E1122B1BEE0092AE4E /* pngerror.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0B9122B1BEE0092AE4E /* pngerror.c */; };
5BF3B0E3122B1BEE0092AE4E /* pngget.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0BB122B1BEE0092AE4E /* pngget.c */; };
5BF3B0E4122B1BEE0092AE4E /* pngmem.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0BC122B1BEE0092AE4E /* pngmem.c */; };
5BF3B0E5122B1BEE0092AE4E /* pngpread.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0BD122B1BEE0092AE4E /* pngpread.c */; };
5BF3B0E6122B1BEE0092AE4E /* pngread.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0BE122B1BEE0092AE4E /* pngread.c */; };
5BF3B0E7122B1BEE0092AE4E /* pngrio.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0BF122B1BEE0092AE4E /* pngrio.c */; };
5BF3B0E8122B1BEE0092AE4E /* pngrtran.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C0122B1BEE0092AE4E /* pngrtran.c */; };
5BF3B0E9122B1BEE0092AE4E /* pngrutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C1122B1BEE0092AE4E /* pngrutil.c */; };
5BF3B0EA122B1BEE0092AE4E /* pngset.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C2122B1BEE0092AE4E /* pngset.c */; };
5BF3B0EB122B1BEE0092AE4E /* pngtrans.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C3122B1BEE0092AE4E /* pngtrans.c */; };
5BF3B0ED122B1BEE0092AE4E /* pngwio.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C5122B1BEE0092AE4E /* pngwio.c */; };
5BF3B0EE122B1BEE0092AE4E /* pngwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C6122B1BEE0092AE4E /* pngwrite.c */; };
5BF3B0EF122B1BEE0092AE4E /* pngwtran.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C7122B1BEE0092AE4E /* pngwtran.c */; };
5BF3B0F0122B1BEE0092AE4E /* pngwutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C8122B1BEE0092AE4E /* pngwutil.c */; };
5BF3B0F1122B1BEE0092AE4E /* pngpriv.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BF3B0B5122B1BEE0092AE4E /* pngpriv.h */; };
5BF3B0F2122B1BEE0092AE4E /* png.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0B6122B1BEE0092AE4E /* png.c */; };
5BF3B0F3122B1BEE0092AE4E /* png.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BF3B0B7122B1BEE0092AE4E /* png.h */; };
5BF3B0F4122B1BEE0092AE4E /* pngconf.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BF3B0B8122B1BEE0092AE4E /* pngconf.h */; };
5BF3B0F5122B1BEE0092AE4E /* pngerror.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0B9122B1BEE0092AE4E /* pngerror.c */; };
5BF3B0F7122B1BEE0092AE4E /* pngget.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0BB122B1BEE0092AE4E /* pngget.c */; };
5BF3B0F8122B1BEE0092AE4E /* pngmem.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0BC122B1BEE0092AE4E /* pngmem.c */; };
5BF3B0F9122B1BEE0092AE4E /* pngpread.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0BD122B1BEE0092AE4E /* pngpread.c */; };
5BF3B0FA122B1BEE0092AE4E /* pngread.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0BE122B1BEE0092AE4E /* pngread.c */; };
5BF3B0FB122B1BEE0092AE4E /* pngrio.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0BF122B1BEE0092AE4E /* pngrio.c */; };
5BF3B0FC122B1BEE0092AE4E /* pngrtran.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C0122B1BEE0092AE4E /* pngrtran.c */; };
5BF3B0FD122B1BEE0092AE4E /* pngrutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C1122B1BEE0092AE4E /* pngrutil.c */; };
5BF3B0FE122B1BEE0092AE4E /* pngset.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C2122B1BEE0092AE4E /* pngset.c */; };
5BF3B0FF122B1BEE0092AE4E /* pngtrans.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C3122B1BEE0092AE4E /* pngtrans.c */; };
5BF3B101122B1BEE0092AE4E /* pngwio.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C5122B1BEE0092AE4E /* pngwio.c */; };
5BF3B102122B1BEE0092AE4E /* pngwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C6122B1BEE0092AE4E /* pngwrite.c */; };
5BF3B103122B1BEE0092AE4E /* pngwtran.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C7122B1BEE0092AE4E /* pngwtran.c */; };
5BF3B104122B1BEE0092AE4E /* pngwutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3B0C8122B1BEE0092AE4E /* pngwutil.c */; };
5BF3B135122DE3AA0092AE4E /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 5BF3B134122DE3AA0092AE4E /* libz.dylib */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
5BF3B113122B1C9B0092AE4E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 5BF3B08B122B1B6A0092AE4E /* libpng dynamic (Mac OS X) */;
remoteInfo = "libpng dynamic (Mac OS X)";
};
5BF3B115122B1C9B0092AE4E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 5BF3B10B122B1C070092AE4E /* libpng static (iOS Simulator & Device) */;
remoteInfo = "libpng static (iOS Simulator & Device)";
};
5BF3B117122B1CA50092AE4E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
proxyType = 1;
remoteGlobalIDString = D2AAC045055464E500DB518D /* libpng static (Mac OS X) */;
remoteInfo = "libpng static (Mac OS X)";
};
5BF3B119122B1CA50092AE4E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 5BF3B093122B1B9B0092AE4E /* libpng static (iOS) */;
remoteInfo = "libpng static (iOS)";
};
5BF3B158122DE5CC0092AE4E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 5BF3B148122DE51E0092AE4E /* Configure */;
remoteInfo = Configure;
};
5BF3B15A122DE5D20092AE4E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 5BF3B148122DE51E0092AE4E /* Configure */;
remoteInfo = Configure;
};
5BF3B15C122DE5D80092AE4E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 5BF3B148122DE51E0092AE4E /* Configure */;
remoteInfo = Configure;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
5BF3B08C122B1B6A0092AE4E /* libpng.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libpng.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
5BF3B094122B1B9B0092AE4E /* libpng.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libpng.a; sourceTree = BUILT_PRODUCTS_DIR; };
5BF3B0B3122B1BDA0092AE4E /* README.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.txt; sourceTree = "<group>"; };
5BF3B0B5122B1BEE0092AE4E /* pngpriv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = ../../pngpriv.h; sourceTree = SOURCE_ROOT; };
5BF3B0B6122B1BEE0092AE4E /* png.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = png.c; path = ../../png.c; sourceTree = SOURCE_ROOT; };
5BF3B0B7122B1BEE0092AE4E /* png.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = png.h; path = ../../png.h; sourceTree = SOURCE_ROOT; };
5BF3B0B8122B1BEE0092AE4E /* pngconf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = ../../pngconf.h; sourceTree = SOURCE_ROOT; };
5BF3B0B9122B1BEE0092AE4E /* pngerror.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = ../../pngerror.c; sourceTree = SOURCE_ROOT; };
5BF3B0BB122B1BEE0092AE4E /* pngget.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = ../../pngget.c; sourceTree = SOURCE_ROOT; };
5BF3B0BC122B1BEE0092AE4E /* pngmem.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = ../../pngmem.c; sourceTree = SOURCE_ROOT; };
5BF3B0BD122B1BEE0092AE4E /* pngpread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = ../../pngpread.c; sourceTree = SOURCE_ROOT; };
5BF3B0BE122B1BEE0092AE4E /* pngread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = ../../pngread.c; sourceTree = SOURCE_ROOT; };
5BF3B0BF122B1BEE0092AE4E /* pngrio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = ../../pngrio.c; sourceTree = SOURCE_ROOT; };
5BF3B0C0122B1BEE0092AE4E /* pngrtran.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = ../../pngrtran.c; sourceTree = SOURCE_ROOT; };
5BF3B0C1122B1BEE0092AE4E /* pngrutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = ../../pngrutil.c; sourceTree = SOURCE_ROOT; };
5BF3B0C2122B1BEE0092AE4E /* pngset.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = ../../pngset.c; sourceTree = SOURCE_ROOT; };
5BF3B0C3122B1BEE0092AE4E /* pngtrans.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = ../../pngtrans.c; sourceTree = SOURCE_ROOT; };
5BF3B0C5122B1BEE0092AE4E /* pngwio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = ../../pngwio.c; sourceTree = SOURCE_ROOT; };
5BF3B0C6122B1BEE0092AE4E /* pngwrite.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = ../../pngwrite.c; sourceTree = SOURCE_ROOT; };
5BF3B0C7122B1BEE0092AE4E /* pngwtran.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = ../../pngwtran.c; sourceTree = SOURCE_ROOT; };
5BF3B0C8122B1BEE0092AE4E /* pngwutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = ../../pngwutil.c; sourceTree = SOURCE_ROOT; };
5BF3B10C122B1C070092AE4E /* libpng.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libpng.a; sourceTree = BUILT_PRODUCTS_DIR; };
5BF3B134122DE3AA0092AE4E /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
D2AAC046055464E500DB518D /* libpng.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libpng.a; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
5BF3B08A122B1B6A0092AE4E /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
5BF3B135122DE3AA0092AE4E /* libz.dylib in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
5BF3B092122B1B9B0092AE4E /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
D289987405E68DCB004EDB86 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
08FB7794FE84155DC02AAC07 /* png */ = {
isa = PBXGroup;
children = (
5BF3B0B3122B1BDA0092AE4E /* README.txt */,
08FB7795FE84155DC02AAC07 /* Source */,
5BF3B143122DE4620092AE4E /* Libraries */,
1AB674ADFE9D54B511CA2CBB /* Products */,
);
name = png;
sourceTree = "<group>";
};
08FB7795FE84155DC02AAC07 /* Source */ = {
isa = PBXGroup;
children = (
5BF3B0B5122B1BEE0092AE4E /* pngpriv.h */,
5BF3B0B6122B1BEE0092AE4E /* png.c */,
5BF3B0B7122B1BEE0092AE4E /* png.h */,
5BF3B0B8122B1BEE0092AE4E /* pngconf.h */,
5BF3B0B9122B1BEE0092AE4E /* pngerror.c */,
5BF3B0BB122B1BEE0092AE4E /* pngget.c */,
5BF3B0BC122B1BEE0092AE4E /* pngmem.c */,
5BF3B0BD122B1BEE0092AE4E /* pngpread.c */,
5BF3B0BE122B1BEE0092AE4E /* pngread.c */,
5BF3B0BF122B1BEE0092AE4E /* pngrio.c */,
5BF3B0C0122B1BEE0092AE4E /* pngrtran.c */,
5BF3B0C1122B1BEE0092AE4E /* pngrutil.c */,
5BF3B0C2122B1BEE0092AE4E /* pngset.c */,
5BF3B0C3122B1BEE0092AE4E /* pngtrans.c */,
5BF3B0C5122B1BEE0092AE4E /* pngwio.c */,
5BF3B0C6122B1BEE0092AE4E /* pngwrite.c */,
5BF3B0C7122B1BEE0092AE4E /* pngwtran.c */,
5BF3B0C8122B1BEE0092AE4E /* pngwutil.c */,
);
name = Source;
sourceTree = "<group>";
};
1AB674ADFE9D54B511CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
D2AAC046055464E500DB518D /* libpng.a */,
5BF3B08C122B1B6A0092AE4E /* libpng.dylib */,
5BF3B094122B1B9B0092AE4E /* libpng.a */,
5BF3B10C122B1C070092AE4E /* libpng.a */,
);
name = Products;
sourceTree = "<group>";
};
5BF3B143122DE4620092AE4E /* Libraries */ = {
isa = PBXGroup;
children = (
5BF3B134122DE3AA0092AE4E /* libz.dylib */,
);
name = Libraries;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
5BF3B088122B1B6A0092AE4E /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
5BF3B0DD122B1BEE0092AE4E /* pngpriv.h in Headers */,
5BF3B0DF122B1BEE0092AE4E /* png.h in Headers */,
5BF3B0E0122B1BEE0092AE4E /* pngconf.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
5BF3B090122B1B9B0092AE4E /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
5BF3B0F1122B1BEE0092AE4E /* pngpriv.h in Headers */,
5BF3B0F3122B1BEE0092AE4E /* png.h in Headers */,
5BF3B0F4122B1BEE0092AE4E /* pngconf.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D2AAC043055464E500DB518D /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
5BF3B0C9122B1BEE0092AE4E /* pngpriv.h in Headers */,
5BF3B0CB122B1BEE0092AE4E /* png.h in Headers */,
5BF3B0CC122B1BEE0092AE4E /* pngconf.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
5BF3B08B122B1B6A0092AE4E /* libpng dynamic (Mac OS X) */ = {
isa = PBXNativeTarget;
buildConfigurationList = 5BF3B08F122B1B980092AE4E /* Build configuration list for PBXNativeTarget "libpng dynamic (Mac OS X)" */;
buildPhases = (
5BF3B088122B1B6A0092AE4E /* Headers */,
5BF3B089122B1B6A0092AE4E /* Sources */,
5BF3B08A122B1B6A0092AE4E /* Frameworks */,
);
buildRules = (
);
dependencies = (
5BF3B15B122DE5D20092AE4E /* PBXTargetDependency */,
);
name = "libpng dynamic (Mac OS X)";
productName = png;
productReference = 5BF3B08C122B1B6A0092AE4E /* libpng.dylib */;
productType = "com.apple.product-type.library.dynamic";
};
5BF3B093122B1B9B0092AE4E /* libpng static (iOS) */ = {
isa = PBXNativeTarget;
buildConfigurationList = 5BF3B09A122B1B9F0092AE4E /* Build configuration list for PBXNativeTarget "libpng static (iOS)" */;
buildPhases = (
5BF3B090122B1B9B0092AE4E /* Headers */,
5BF3B091122B1B9B0092AE4E /* Sources */,
5BF3B092122B1B9B0092AE4E /* Frameworks */,
);
buildRules = (
);
dependencies = (
5BF3B15D122DE5D80092AE4E /* PBXTargetDependency */,
);
name = "libpng static (iOS)";
productName = png;
productReference = 5BF3B094122B1B9B0092AE4E /* libpng.a */;
productType = "com.apple.product-type.library.static";
};
5BF3B10B122B1C070092AE4E /* libpng static (iOS Simulator & Device) */ = {
isa = PBXNativeTarget;
buildConfigurationList = 5BF3B10F122B1C3A0092AE4E /* Build configuration list for PBXNativeTarget "libpng static (iOS Simulator & Device)" */;
buildPhases = (
5BF3B11D122B1D170092AE4E /* Generate Universal Binary */,
);
buildRules = (
);
dependencies = (
5BF3B118122B1CA50092AE4E /* PBXTargetDependency */,
5BF3B11A122B1CA50092AE4E /* PBXTargetDependency */,
);
name = "libpng static (iOS Simulator & Device)";
productName = png;
productReference = 5BF3B10C122B1C070092AE4E /* libpng.a */;
productType = "com.apple.product-type.library.static";
};
D2AAC045055464E500DB518D /* libpng static (Mac OS X) */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1DEB91EB08733DB70010E9CD /* Build configuration list for PBXNativeTarget "libpng static (Mac OS X)" */;
buildPhases = (
D2AAC043055464E500DB518D /* Headers */,
D2AAC044055464E500DB518D /* Sources */,
D289987405E68DCB004EDB86 /* Frameworks */,
);
buildRules = (
);
dependencies = (
5BF3B159122DE5CC0092AE4E /* PBXTargetDependency */,
);
name = "libpng static (Mac OS X)";
productName = png;
productReference = D2AAC046055464E500DB518D /* libpng.a */;
productType = "com.apple.product-type.library.static";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
08FB7793FE84155DC02AAC07 /* Project object */ = {
isa = PBXProject;
buildConfigurationList = 1DEB91EF08733DB70010E9CD /* Build configuration list for PBXProject "libpng" */;
compatibilityVersion = "Xcode 3.1";
hasScannedForEncodings = 1;
mainGroup = 08FB7794FE84155DC02AAC07 /* png */;
projectDirPath = "";
projectRoot = "";
targets = (
5BF3B110122B1C860092AE4E /* libpng */,
5BF3B148122DE51E0092AE4E /* Configure */,
D2AAC045055464E500DB518D /* libpng static (Mac OS X) */,
5BF3B08B122B1B6A0092AE4E /* libpng dynamic (Mac OS X) */,
5BF3B093122B1B9B0092AE4E /* libpng static (iOS) */,
5BF3B10B122B1C070092AE4E /* libpng static (iOS Simulator & Device) */,
);
};
/* End PBXProject section */
/* Begin PBXShellScriptBuildPhase section */
5BF3B11D122B1D170092AE4E /* Generate Universal Binary */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Generate Universal Binary";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "lipo $BUILD_DIR/$CONFIGURATION/iphoneos/$EXECUTABLE_NAME $BUILD_DIR/$CONFIGURATION/macosx/$EXECUTABLE_NAME -create -output $BUILD_DIR/$CONFIGURATION/$EXECUTABLE_NAME";
};
5BF3B147122DE51E0092AE4E /* Configure */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = Configure;
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "if [ -e $PROJECT_DIR/../../configure.h ]; then\n\t$PROJECT_DIR/../../configure\nfi\nexit 0\n";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
5BF3B089122B1B6A0092AE4E /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
5BF3B0DE122B1BEE0092AE4E /* png.c in Sources */,
5BF3B0E1122B1BEE0092AE4E /* pngerror.c in Sources */,
5BF3B0E3122B1BEE0092AE4E /* pngget.c in Sources */,
5BF3B0E4122B1BEE0092AE4E /* pngmem.c in Sources */,
5BF3B0E5122B1BEE0092AE4E /* pngpread.c in Sources */,
5BF3B0E6122B1BEE0092AE4E /* pngread.c in Sources */,
5BF3B0E7122B1BEE0092AE4E /* pngrio.c in Sources */,
5BF3B0E8122B1BEE0092AE4E /* pngrtran.c in Sources */,
5BF3B0E9122B1BEE0092AE4E /* pngrutil.c in Sources */,
5BF3B0EA122B1BEE0092AE4E /* pngset.c in Sources */,
5BF3B0EB122B1BEE0092AE4E /* pngtrans.c in Sources */,
5BF3B0ED122B1BEE0092AE4E /* pngwio.c in Sources */,
5BF3B0EE122B1BEE0092AE4E /* pngwrite.c in Sources */,
5BF3B0EF122B1BEE0092AE4E /* pngwtran.c in Sources */,
5BF3B0F0122B1BEE0092AE4E /* pngwutil.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
5BF3B091122B1B9B0092AE4E /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
5BF3B0F2122B1BEE0092AE4E /* png.c in Sources */,
5BF3B0F5122B1BEE0092AE4E /* pngerror.c in Sources */,
5BF3B0F7122B1BEE0092AE4E /* pngget.c in Sources */,
5BF3B0F8122B1BEE0092AE4E /* pngmem.c in Sources */,
5BF3B0F9122B1BEE0092AE4E /* pngpread.c in Sources */,
5BF3B0FA122B1BEE0092AE4E /* pngread.c in Sources */,
5BF3B0FB122B1BEE0092AE4E /* pngrio.c in Sources */,
5BF3B0FC122B1BEE0092AE4E /* pngrtran.c in Sources */,
5BF3B0FD122B1BEE0092AE4E /* pngrutil.c in Sources */,
5BF3B0FE122B1BEE0092AE4E /* pngset.c in Sources */,
5BF3B0FF122B1BEE0092AE4E /* pngtrans.c in Sources */,
5BF3B101122B1BEE0092AE4E /* pngwio.c in Sources */,
5BF3B102122B1BEE0092AE4E /* pngwrite.c in Sources */,
5BF3B103122B1BEE0092AE4E /* pngwtran.c in Sources */,
5BF3B104122B1BEE0092AE4E /* pngwutil.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D2AAC044055464E500DB518D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
5BF3B0CA122B1BEE0092AE4E /* png.c in Sources */,
5BF3B0CD122B1BEE0092AE4E /* pngerror.c in Sources */,
5BF3B0CF122B1BEE0092AE4E /* pngget.c in Sources */,
5BF3B0D0122B1BEE0092AE4E /* pngmem.c in Sources */,
5BF3B0D1122B1BEE0092AE4E /* pngpread.c in Sources */,
5BF3B0D2122B1BEE0092AE4E /* pngread.c in Sources */,
5BF3B0D3122B1BEE0092AE4E /* pngrio.c in Sources */,
5BF3B0D4122B1BEE0092AE4E /* pngrtran.c in Sources */,
5BF3B0D5122B1BEE0092AE4E /* pngrutil.c in Sources */,
5BF3B0D6122B1BEE0092AE4E /* pngset.c in Sources */,
5BF3B0D7122B1BEE0092AE4E /* pngtrans.c in Sources */,
5BF3B0D9122B1BEE0092AE4E /* pngwio.c in Sources */,
5BF3B0DA122B1BEE0092AE4E /* pngwrite.c in Sources */,
5BF3B0DB122B1BEE0092AE4E /* pngwtran.c in Sources */,
5BF3B0DC122B1BEE0092AE4E /* pngwutil.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
5BF3B114122B1C9B0092AE4E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 5BF3B08B122B1B6A0092AE4E /* libpng dynamic (Mac OS X) */;
targetProxy = 5BF3B113122B1C9B0092AE4E /* PBXContainerItemProxy */;
};
5BF3B116122B1C9B0092AE4E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 5BF3B10B122B1C070092AE4E /* libpng static (iOS Simulator & Device) */;
targetProxy = 5BF3B115122B1C9B0092AE4E /* PBXContainerItemProxy */;
};
5BF3B118122B1CA50092AE4E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = D2AAC045055464E500DB518D /* libpng static (Mac OS X) */;
targetProxy = 5BF3B117122B1CA50092AE4E /* PBXContainerItemProxy */;
};
5BF3B11A122B1CA50092AE4E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 5BF3B093122B1B9B0092AE4E /* libpng static (iOS) */;
targetProxy = 5BF3B119122B1CA50092AE4E /* PBXContainerItemProxy */;
};
5BF3B159122DE5CC0092AE4E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 5BF3B148122DE51E0092AE4E /* Configure */;
targetProxy = 5BF3B158122DE5CC0092AE4E /* PBXContainerItemProxy */;
};
5BF3B15B122DE5D20092AE4E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 5BF3B148122DE51E0092AE4E /* Configure */;
targetProxy = 5BF3B15A122DE5D20092AE4E /* PBXContainerItemProxy */;
};
5BF3B15D122DE5D80092AE4E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 5BF3B148122DE51E0092AE4E /* Configure */;
targetProxy = 5BF3B15C122DE5D80092AE4E /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
1DEB91EC08733DB70010E9CD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)/$(PLATFORM_NAME)";
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_MODEL_TUNING = G5;
GCC_OPTIMIZATION_LEVEL = 0;
INSTALL_PATH = /usr/local/lib;
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = "-DHAVE_CONFIG_H";
PRODUCT_NAME = png;
};
name = Debug;
};
1DEB91ED08733DB70010E9CD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)/$(PLATFORM_NAME)";
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_MODEL_TUNING = G5;
INSTALL_PATH = /usr/local/lib;
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = "-DHAVE_CONFIG_H";
PRODUCT_NAME = png;
};
name = Release;
};
1DEB91F008733DB70010E9CD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
ONLY_ACTIVE_ARCH = YES;
PREBINDING = NO;
SDKROOT = macosx10.6;
};
name = Debug;
};
1DEB91F108733DB70010E9CD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PREBINDING = NO;
SDKROOT = macosx10.6;
};
name = Release;
};
5BF3B08D122B1B6A0092AE4E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)/$(PLATFORM_NAME)";
CONFIGURATION_TEMP_DIR = "$(PROJECT_TEMP_DIR)/$(CONFIGURATION)/$(PLATFORM_NAME)";
COPY_PHASE_STRIP = NO;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
EXECUTABLE_PREFIX = lib;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_MODEL_TUNING = G5;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "";
INSTALL_PATH = /usr/local/lib;
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = "-DHAVE_CONFIG_H";
OTHER_LDFLAGS = "";
PREBINDING = NO;
PRODUCT_NAME = png;
};
name = Debug;
};
5BF3B08E122B1B6A0092AE4E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)/$(PLATFORM_NAME)";
CONFIGURATION_TEMP_DIR = "$(PROJECT_TEMP_DIR)/$(CONFIGURATION)/$(PLATFORM_NAME)";
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
EXECUTABLE_PREFIX = lib;
GCC_ENABLE_FIX_AND_CONTINUE = NO;
GCC_MODEL_TUNING = G5;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "";
INSTALL_PATH = /usr/local/lib;
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = "-DHAVE_CONFIG_H";
OTHER_LDFLAGS = "";
PREBINDING = NO;
PRODUCT_NAME = png;
ZERO_LINK = NO;
};
name = Release;
};
5BF3B095122B1B9B0092AE4E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)/$(PLATFORM_NAME)";
CONFIGURATION_TEMP_DIR = "$(PROJECT_TEMP_DIR)/$(CONFIGURATION)/$(PLATFORM_NAME)";
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = "-DHAVE_CONFIG_H";
PREBINDING = NO;
PRODUCT_NAME = png;
SDKROOT = iphoneos4.0;
};
name = Debug;
};
5BF3B096122B1B9B0092AE4E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)/$(PLATFORM_NAME)";
CONFIGURATION_TEMP_DIR = "$(PROJECT_TEMP_DIR)/$(CONFIGURATION)/$(PLATFORM_NAME)";
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
ONLY_ACTIVE_ARCH = NO;
OTHER_CFLAGS = "-DHAVE_CONFIG_H";
PREBINDING = NO;
PRODUCT_NAME = png;
SDKROOT = iphoneos4.0;
ZERO_LINK = NO;
};
name = Release;
};
5BF3B10D122B1C070092AE4E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)";
CONFIGURATION_TEMP_DIR = "$(PROJECT_TEMP_DIR)/$(CONFIGURATION)";
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
PREBINDING = NO;
PRODUCT_NAME = png;
};
name = Debug;
};
5BF3B10E122B1C070092AE4E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)";
CONFIGURATION_TEMP_DIR = "$(PROJECT_TEMP_DIR)/$(CONFIGURATION)";
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
PREBINDING = NO;
PRODUCT_NAME = png;
ZERO_LINK = NO;
};
name = Release;
};
5BF3B111122B1C860092AE4E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
PRODUCT_NAME = "libpng (iOS)";
};
name = Debug;
};
5BF3B112122B1C860092AE4E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
PRODUCT_NAME = "libpng (iOS)";
ZERO_LINK = NO;
};
name = Release;
};
5BF3B149122DE51F0092AE4E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
PRODUCT_NAME = Configure;
};
name = Debug;
};
5BF3B14A122DE51F0092AE4E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
PRODUCT_NAME = Configure;
ZERO_LINK = NO;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
1DEB91EB08733DB70010E9CD /* Build configuration list for PBXNativeTarget "libpng static (Mac OS X)" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1DEB91EC08733DB70010E9CD /* Debug */,
1DEB91ED08733DB70010E9CD /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
1DEB91EF08733DB70010E9CD /* Build configuration list for PBXProject "libpng" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1DEB91F008733DB70010E9CD /* Debug */,
1DEB91F108733DB70010E9CD /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
5BF3B08F122B1B980092AE4E /* Build configuration list for PBXNativeTarget "libpng dynamic (Mac OS X)" */ = {
isa = XCConfigurationList;
buildConfigurations = (
5BF3B08D122B1B6A0092AE4E /* Debug */,
5BF3B08E122B1B6A0092AE4E /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
5BF3B09A122B1B9F0092AE4E /* Build configuration list for PBXNativeTarget "libpng static (iOS)" */ = {
isa = XCConfigurationList;
buildConfigurations = (
5BF3B095122B1B9B0092AE4E /* Debug */,
5BF3B096122B1B9B0092AE4E /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
5BF3B10F122B1C3A0092AE4E /* Build configuration list for PBXNativeTarget "libpng static (iOS Simulator & Device)" */ = {
isa = XCConfigurationList;
buildConfigurations = (
5BF3B10D122B1C070092AE4E /* Debug */,
5BF3B10E122B1C070092AE4E /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
5BF3B11B122B1CD80092AE4E /* Build configuration list for PBXAggregateTarget "libpng" */ = {
isa = XCConfigurationList;
buildConfigurations = (
5BF3B111122B1C860092AE4E /* Debug */,
5BF3B112122B1C860092AE4E /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
5BF3B14B122DE5430092AE4E /* Build configuration list for PBXAggregateTarget "Configure" */ = {
isa = XCConfigurationList;
buildConfigurations = (
5BF3B149122DE51F0092AE4E /* Debug */,
5BF3B14A122DE51F0092AE4E /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
}

View File

@ -1,9 +1,9 @@
Makefiles for libpng version 1.5.5 - September 22, 2011
Makefiles for libpng version 1.5.9 - February 18, 2012
pnglibconf.h.prebuilt => Stores configuration settings
makefile.linux => Linux/ELF makefile
(gcc, creates libpng15.so.15.1.5.5)
(gcc, creates libpng15.so.15.1.5.9)
makefile.gcc => Generic makefile (gcc, creates static libpng.a)
makefile.knr => Archaic UNIX Makefile that converts files with
ansi2knr (Requires ansi2knr.c from
@ -20,7 +20,7 @@ pnglibconf.h.prebuilt => Stores configuration settings
makefile.dec => DEC Alpha UNIX makefile
makefile.dj2 => DJGPP 2 makefile
makefile.elf => Linux/ELF makefile symbol versioning,
(gcc, creates libpng15.so.15.1.5.5)
(gcc, creates libpng15.so.15.1.5.9)
makefile.freebsd => FreeBSD makefile
makefile.gcc => Generic gcc makefile
makefile.hpgcc => HPUX makefile using gcc
@ -35,12 +35,12 @@ pnglibconf.h.prebuilt => Stores configuration settings
makefile.os2 => OS/2 Makefile (gcc and emx, requires libpng.def)
makefile.sco => For SCO OSr5 ELF and Unixware 7 with Native cc
makefile.sggcc => Silicon Graphics (gcc,
creates libpng15.so.15.1.5.5)
creates libpng15.so.15.1.5.9)
makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
makefile.solaris => Solaris 2.X makefile (gcc,
creates libpng15.so.15.1.5.5)
creates libpng15.so.15.1.5.9)
makefile.so9 => Solaris 9 makefile (gcc,
creates libpng15.so.15.1.5.5)
creates libpng15.so.15.1.5.9)
makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
makefile.sunos => Sun makefile
makefile.32sunu => Sun Ultra 32-bit makefile

View File

@ -1,6 +1,6 @@
/* def.dfn - define format of libpng.def
*
* Last changed in libpng version 1.5.0 [(PENDING RELEASE)]
* Last changed in libpng version 1.5.7 [December 15, 2011]
* Copyright (c) 2010-2011 Glenn Randers-Pehrson
*
* This code is released under the libpng license.
@ -27,12 +27,12 @@ S--E
S-EXPORTS-E
S-;Version 1.5.0beta58-E
/* NOTE: @@@ is interpreted by the calling script as a signal to
/* NOTE: PNG_JOIN is interpreted by the calling script as a signal to
* join the two things on either side, so we can do symbol
* substitution within the name, regular C ## joins the pp-tokens,
* not their final values.
*/
#define PNG_EXPORTA(ordinal, type, name, args, attributes)\
PNG_DEFN_MAGIC- SYMBOL_PREFIX @@@ name-PNG_DEFN_END
PNG_DEFN_MAGIC- SYMBOL_PREFIX PNG_JOIN name-PNG_DEFN_END
#include "../png.h"

View File

@ -11,7 +11,7 @@
# Modeled after libxml-config.
version=1.5.5
version=1.5.9
prefix=""
libdir=""
libs=""

View File

@ -5,6 +5,6 @@ includedir=@includedir@/libpng15
Name: libpng
Description: Loads and saves PNG files
Version: 1.5.5
Version: 1.5.9
Libs: -L${libdir} -lpng15
Cflags: -I${includedir}

View File

@ -23,7 +23,7 @@
VERMAJ = 1
VERMIN = 5
VERMIC = 5
VERMIC = 9
VER = $(VERMAJ).$(VERMIN).$(VERMIC)
NAME = libpng
PACKAGE = $(NAME)-$(VER)

View File

@ -1,291 +0,0 @@
# makefile for cygwin on x86
# Builds both dll (with import lib) and static lib versions
# of the library, and builds two copies of pngtest: one
# statically linked and one dynamically linked.
#
# Copyright (C) 2002, 2006-2008 Soren Anderson, Charles Wilson,
# and Glenn Randers-Pehrson, based on makefile for linux-elf w/mmx by:
# Copyright (C) 1998-2000 Greg Roelofs
# Copyright (C) 1996, 1997 Andreas Dilger
#
# This code is released under the libpng license.
# For conditions of distribution and use, see the disclaimer
# and license in png.h
# This makefile intends to support building outside the src directory
# if desired. When invoking it, specify an argument to SRCDIR on the
# command line that points to the top of the directory where your source
# is located.
ifdef SRCDIR
VPATH = $(SRCDIR)
else
SRCDIR = .
endif
# Override DESTDIR= on the make install command line to easily support
# installing into a temporary location. Example:
#
# make install DESTDIR=/tmp/build/libpng
#
# If you're going to install into a temporary location
# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
# you execute make install.
DESTDIR=
CC=gcc
ifdef MINGW
MINGW_CCFLAGS=-mno-cygwin -I/usr/include/mingw
MINGW_LDFLAGS=-mno-cygwin -L/usr/lib/mingw
endif
# Where "make install" puts libpng*.a, *png*.dll, png.h, and pngconf.h
ifndef prefix
prefix=/usr
$(warning You haven't specified a 'prefix=' location. Defaulting to "/usr")
endif
exec_prefix=$(prefix)
# Where the zlib library and include files are located
ZLIBLIB= /usr/lib
ZLIBINC=
#ZLIBLIB=../zlib
#ZLIBINC=../zlib
ALIGN=
# for i386:
#ALIGN=-malign-loops=2 -malign-functions=2
WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
-Wmissing-declarations -Wtraditional -Wcast-align \
-Wstrict-prototypes -Wmissing-prototypes #-Wconversion
CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \
-W -Wall -O3 $(ALIGN) -funroll-loops \
-fomit-frame-pointer) # $(WARNMORE) -g -DPNG_DEBUG=5
LIBNAME = libpng14
PNGMAJ = 14
CYGDLL = 14
SHAREDLIB=cygpng$(CYGDLL).dll
STATLIB=libpng.a
IMPLIB=libpng.dll.a
SHAREDDEF=libpng.def
LIBS=$(SHAREDLIB) $(STATLIB)
EXE=.exe
LDFLAGS=$(strip -L. $(MINGW_LDFLAGS) -lpng $(addprefix -L,$(ZLIBLIB)) -lz)
LDSFLAGS=$(strip -shared -L. $(MINGW_LDFLAGS) -Wl,--export-all)
LDEXTRA=-Wl,--out-implib=$(IMPLIB) $(addprefix -L,$(ZLIBLIB)) -lz
MKDIR_P=/bin/mkdir -pv
RANLIB=ranlib
#RANLIB=echo
INCPATH=$(prefix)/include
LIBPATH=$(exec_prefix)/lib
BINPATH=$(exec_prefix)/bin
MANPATH=$(prefix)/man
MAN3PATH=$(MANPATH)/man3
MAN5PATH=$(MANPATH)/man5
# cosmetic: shortened strings:
S =$(SRCDIR)
D =$(DESTDIR)
DB =$(D)$(BINPATH)
DI =$(D)$(INCPATH)
DL =$(D)$(LIBPATH)
OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
pngwtran.o pngmem.o pngerror.o pngpread.o
OBJSDLL = $(OBJS:.o=.pic.o)
.SUFFIXES: .c .o .pic.o
%.o : %.c
$(CC) -c $(CFLAGS) -o $@ $<
%.pic.o : CFLAGS += -DPNG_BUILD_DLL
%.pic.o : %.c
$(CC) -c $(CFLAGS) -o $@ $<
all: all-static all-shared libpng.pc libpng-config libpng.pc libpng-config
# Make this to verify that "make [...] install" will do what you want.
buildsetup-tell:
@echo VPATH is set to: \"$(VPATH)\"
@echo prefix is set to: \"$(prefix)\"
@echo -e INCPATH,LIBPATH, etc. are set to:'\n' \
$(addprefix $(D),$(INCPATH)'\n' $(LIBPATH)'\n' $(BINPATH)'\n' \
$(MANPATH)'\n' $(MAN3PATH)'\n' $(MAN5PATH)'\n')'\n'
libpng.pc: scripts/libpng.pc.in
@echo -e Making pkg-config file for this libpng installation..'\n' \
using PREFIX=\"$(prefix)\"'\n'
cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
-e s!@exec_prefix@!$(exec_prefix)! \
-e s!@libdir@!$(LIBPATH)! \
-e s!@includedir@!$(INCPATH)! \
-e s!-lpng14!-lpng14\ -lz! > libpng.pc
libpng-config: scripts/libpng-config-head.in scripts/libpng-config-body.in
@echo -e Making $(LIBNAME) libpng-config file for this libpng \
installation..'\n' using PREFIX=\"$(prefix)\"'\n'
( cat $(S)/scripts/libpng-config-head.in; \
echo prefix=\"$(prefix)\"; \
echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
echo L_opts=\"-L$(LIBPATH)\"; \
echo libs=\"-lpng$(CYGDLL) -lz\"; \
cat $(S)/scripts/libpng-config-body.in ) > libpng-config
chmod +x libpng-config
static: all-static
shared: all-shared
all-static: $(STATLIB) pngtest-stat$(EXE)
all-shared: $(SHAREDLIB) pngtest$(EXE)
$(STATLIB): $(OBJS)
ar rc $@ $(OBJS)
$(RANLIB) $@
$(SHAREDDEF): scripts/pngwin.def
cat $< | sed -e '1{G;s/^\(.*\)\(\n\)/EXPORTS/;};2,/^EXPORTS/d' | \
sed -e 's/\([^;]*\);/;/' > $@
$(SHAREDLIB): $(OBJSDLL) $(SHAREDDEF)
$(CC) $(LDSFLAGS) -o $@ $(OBJSDLL) -L. $(LDEXTRA)
pngtest$(EXE): pngtest.pic.o $(SHAREDLIB)
$(CC) $(CFLAGS) $< $(LDFLAGS) -o $@
pngtest-stat$(EXE): pngtest.o $(STATLIB)
$(CC) -static $(CFLAGS) $< $(LDFLAGS) -o $@
pngtest.pic.o: pngtest.c
$(CC) $(CFLAGS) -c $< -o $@
pngtest.o: pngtest.c png.h pngconf.h
$(CC) $(CFLAGS) -c $< -o $@
test: test-static test-shared
test-static: pngtest-stat$(EXE)
./pngtest-stat $(S)/pngtest.png
test-shared: pngtest$(EXE)
./pngtest $(S)/pngtest.png
install-static: $(STATLIB) install-headers install-man
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
install -m 644 $(STATLIB) $(DL)/$(LIBNAME).a
-@rm -f $(DL)/$(STATLIB)
(cd $(DL); ln -sf $(LIBNAME).a $(STATLIB))
install-shared: $(SHAREDLIB) libpng.pc libpng-config install-headers install-man
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
-@/bin/rm -f $(DL)/pkgconfig/libpng.pc
install -m 644 $(IMPLIB) $(DL)/$(LIBNAME).dll.a
-@rm -f $(DL)/$(IMPLIB)
(cd $(DL); ln -sf $(LIBNAME).dll.a $(IMPLIB))
install -s -m 755 $(SHAREDLIB) $(DB)
install -m 644 libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
(cd $(DL)/pkgconfig; ln -sf $(LIBNAME).pc libpng.pc)
install-headers:
-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
-@rm -f $(DI)/png.h
-@rm -f $(DI)/pngconf.h
install -m 644 $(S)/png.h $(S)/pngconf.h $(DI)/$(LIBNAME)
-@rm -f $(DI)/libpng
(cd $(DI); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
install-man:
-@if [ ! -d $(D)$(MAN3PATH) ]; then $(MKDIR_P) $(D)$(MAN3PATH); fi
-@if [ ! -d $(D)$(MAN5PATH) ]; then $(MKDIR_P) $(D)$(MAN5PATH); fi
install -m 644 $(S)/libpngpf.3 $(S)/libpng.3 $(D)$(MAN3PATH)
install -m 644 $(S)/png.5 $(D)$(MAN5PATH)
install-config: libpng-config
-@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
-@/bin/rm -f $(DB)/libpng-config
-@/bin/rm -f $(DB)/$(LIBNAME)-config
cp libpng-config $(DB)/$(LIBNAME)-config
chmod 755 $(DB)/$(LIBNAME)-config
(cd $(DB); ln -sf $(LIBNAME)-config libpng-config)
# Run this to verify that a future `configure' run will pick up the settings
# you want.
test-config-install: SHELL=/bin/bash
test-config-install: $(DB)/libpng-config
@echo -e Testing libpng-config functions...'\n'
@ for TYRA in LDFLAGS CPPFLAGS CFLAGS LIBS VERSION; \
do \
printf "(%d)\t %10s =%s\n" $$(($$gytiu + 1)) $$TYRA \
"$$($(DB)/libpng-config `echo --$$TYRA |tr '[:upper:]' '[:lower:]'`)"; \
gytiu=$$(( $$gytiu + 1 )); \
done
install: install-static install-shared install-man install-config
# If you installed in $(DESTDIR), test-installed won't work until you
# move the library to its final location. Use test-dd to test it
# before then.
test-dd:
echo
echo Testing installed dynamic shared library in $(DL).
$(CC) -I$(DI) $(CFLAGS) \
`$(BINPATH)/libpng14-config --cflags` pngtest.c \
-L$(DL) -L$(ZLIBLIB) \
-o pngtestd `$(BINPATH)/libpng14-config --ldflags`
./pngtestd pngtest.png
test-installed:
$(CC) $(CFLAGS) \
`$(BINPATH)/libpng14-config --cflags` pngtest.c \
-L$(ZLIBLIB) \
-o pngtesti$(EXE) `$(BINPATH)/libpng14-config --ldflags`
./pngtesti$(EXE) pngtest.png
clean:
/bin/rm -f *.pic.o *.o $(STATLIB) $(IMPLIB) $(SHAREDLIB) \
pngtest-stat$(EXE) pngtest$(EXE) pngout.png $(SHAREDDEF) \
libpng-config libpng.pc pngtesti$(EXE)
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
writelock:
chmod a-w *.[ch35] $(DOCS) scripts/*
.PHONY: buildsetup-tell libpng.pc libpng-config test-config-install clean
# DO NOT DELETE THIS LINE -- make depend depends on it.
png.o png.pic.o: png.h pngconf.h pngpriv.h png.c
pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h pngerror.c
pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h pngrio.c
pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h pngwio.c
pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h pngmem.c
pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h pngset.c
pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h pngget.c
pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h pngread.c
pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h pngrtran.c
pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h pngrutil.c
pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h pngtrans.c
pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h pngwrite.c
pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h pngwtran.c
pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h pngwutil.c
pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h pngpread.c
pngtest.o: png.h pngconf.h pngtest.c
pngtest-stat.o: png.h pngconf.h pngtest.c

View File

@ -10,7 +10,7 @@
# Library name:
LIBNAME = libpng15
PNGMAJ = 15
RELEASE = 5
RELEASE = 9
# Shared library names:
LIBSO=$(LIBNAME).so

View File

@ -1,282 +0,0 @@
# makefile for mingw on x86
# Builds both dll (with import lib) and static lib versions
# of the library, and builds two copies of pngtest: one
# statically linked and one dynamically linked.
#
# Copyright (C) 2002, 2006, 2008 Soren Anderson, Charles Wilson,
# and Glenn Randers-Pehrson, based on makefile for linux-elf w/mmx by:
# Copyright (C) 1998-2000, 2007 Greg Roelofs
# Copyright (C) 1996, 1997 Andreas Dilger
#
# This code is released under the libpng license.
# For conditions of distribution and use, see the disclaimer
# and license in png.h
# Built from makefile.cygwin
# This makefile expects to be run under the MSYS shell (part of
# the MINGW project) and not under CMD.EXE which does not provide
# "cat" or "sed".
# This makefile intends to support building outside the src directory
# if desired. When invoking it, specify an argument to SRCDIR on the
# command line that points to the top of the directory where your source
# is located.
ifdef SRCDIR
VPATH = $(SRCDIR)
else
SRCDIR = .
endif
# Override DESTDIR= on the make install command line to easily support
# installing into a temporary location. Example:
#
# make install DESTDIR=/tmp/build/libpng
#
# If you're going to install into a temporary location
# via DESTDIR, $(DESTDIR)$(prefix) must already exist before
# you execute make install.
DESTDIR=
# If you're using a cross-compiler, add the appropriate prefix (e.g.,
# "i386-mingw32msvc-") to the following three commands:
CC=gcc
AR=ar
RANLIB=ranlib
MKDIR_P=/bin/mkdir -pv
# Where "make install" puts libpng*.a, *png*.dll, png.h, and pngconf.h
ifndef prefix
prefix=/usr
$(warning "You haven't specified a 'prefix=' location. Defaulting to '/usr'")
endif
exec_prefix=$(prefix)
# Where the zlib library and include files are located
ZLIBLIB= /usr/lib
ZLIBINC=
ALIGN=
# for i386:
#ALIGN=-malign-loops=2 -malign-functions=2
WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
-Wmissing-declarations -Wtraditional -Wcast-align \
-Wstrict-prototypes -Wmissing-prototypes #-Wconversion
CFLAGS= $(strip $(MINGW_CCFLAGS) $(addprefix -I,$(ZLIBINC)) \
-W -Wall -O3 $(ALIGN) -funroll-loops \
-fomit-frame-pointer) # $(WARNMORE) -g -DPNG_DEBUG=5
LIBNAME = libpng14
PNGMAJ = 14
MINGDLL = 14
SHAREDLIB=libpng$(MINGDLL).dll
STATLIB=libpng.a
IMPLIB=libpng.dll.a
SHAREDDEF=libpng.def
LIBS=$(SHAREDLIB) $(STATLIB)
EXE=.exe
LDFLAGS=$(strip -L. $(MINGW_LDFLAGS) -lpng $(addprefix -L,$(ZLIBLIB)) -lz)
LDSFLAGS=$(strip -shared -L. $(MINGW_LDFLAGS))
LDEXTRA=-Wl,--out-implib=$(IMPLIB) $(addprefix -L,$(ZLIBLIB)) -lz
INCPATH=$(prefix)/include
LIBPATH=$(exec_prefix)/lib
BINPATH=$(exec_prefix)/bin
MANPATH=$(prefix)/man
MAN3PATH=$(MANPATH)/man3
MAN5PATH=$(MANPATH)/man5
# cosmetic: shortened strings:
S =$(SRCDIR)
D =$(DESTDIR)
DB =$(D)$(BINPATH)
DI =$(D)$(INCPATH)
DL =$(D)$(LIBPATH)
OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
pngwtran.o pngmem.o pngerror.o pngpread.o
OBJSDLL = $(OBJS:.o=.pic.o)
.SUFFIXES: .c .o .pic.o
%.o : %.c
$(CC) -c $(CFLAGS) -o $@ $<
%.pic.o : CFLAGS += -DPNG_BUILD_DLL
%.pic.o : %.c
$(CC) -c $(CFLAGS) -o $@ $<
all: all-static all-shared libpng.pc libpng-config libpng.pc libpng-config
# Make this to verify that "make [...] install" will do what you want.
buildsetup-tell:
@echo VPATH is set to: \"$(VPATH)\"
@echo prefix is set to: \"$(prefix)\"
@echo -e INCPATH,LIBPATH, etc. are set to:'\n' \
$(addprefix $(D),$(INCPATH)'\n' $(LIBPATH)'\n' $(BINPATH)'\n' \
$(MANPATH)'\n' $(MAN3PATH)'\n' $(MAN5PATH)'\n')'\n'
libpng.pc: scripts/libpng.pc.in
@echo -e Making pkg-config file for this libpng installation..'\n' \
using PREFIX=\"$(prefix)\"'\n'
cat scripts/libpng.pc.in | sed -e s!@prefix@!$(prefix)! \
-e s!@exec_prefix@!$(exec_prefix)! \
-e s!@libdir@!$(LIBPATH)! \
-e s!@includedir@!$(INCPATH)! \
-e s!@includedir@!$(INCPATH)! \
-e s!-lpng14!-lpng14\ -lz\ -lm! > libpng.pc
libpng-config: scripts/libpng-config-head.in scripts/libpng-config-body.in
@echo -e Making $(LIBNAME) libpng-config file for this libpng \
installation..'\n' using PREFIX=\"$(prefix)\"'\n'
( cat $(S)/scripts/libpng-config-head.in; \
echo prefix=\"$(prefix)\"; \
echo I_opts=\"-I$(INCPATH)/$(LIBNAME)\"; \
echo L_opts=\"-L$(LIBPATH)\"; \
echo libs=\"-lpng$(MINGDLL) -lz\"; \
cat $(S)/scripts/libpng-config-body.in ) > libpng-config
chmod +x libpng-config
static: all-static
shared: all-shared
all-static: $(STATLIB) pngtest-stat$(EXE)
all-shared: $(SHAREDLIB) pngtest$(EXE)
$(STATLIB): $(OBJS)
$(AR) rc $@ $(OBJS)
$(RANLIB) $@
$(SHAREDDEF): scripts/pngwin.def
cat $< | sed -e '1{G;s/^\(.*\)\(\n\)/EXPORTS/;};2,/^EXPORTS/d' | \
sed -e 's/\([^;]*\);/;/' > $@
$(SHAREDLIB): $(OBJSDLL) $(SHAREDDEF)
$(CC) $(LDSFLAGS) -o $@ $(OBJSDLL) -L. $(LDEXTRA)
pngtest$(EXE): pngtest.pic.o $(SHAREDLIB)
$(CC) $(CFLAGS) $< $(LDFLAGS) -o $@
pngtest-stat$(EXE): pngtest.o $(STATLIB)
$(CC) -static $(CFLAGS) $< $(LDFLAGS) -o $@
test: test-static test-shared
test-static: pngtest-stat$(EXE)
./pngtest-stat $(S)/pngtest.png
test-shared: pngtest$(EXE)
./pngtest $(S)/pngtest.png
install-static: $(STATLIB) install-headers install-man
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
install -m 644 $(STATLIB) $(DL)/$(LIBNAME).a
-@rm -f $(DL)/$(STATLIB)
(cd $(DL); ln -sf $(LIBNAME).a $(STATLIB))
install-shared: $(SHAREDLIB) libpng.pc libpng-config install-headers install-man
-@if [ ! -d $(DL) ]; then $(MKDIR_P) $(DL); fi
-@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
-@if [ ! -d $(DL)/pkgconfig ]; then $(MKDIR_P) $(DL)/pkgconfig; fi
-@/bin/rm -f $(DL)/pkgconfig/$(LIBNAME).pc
-@/bin/rm -f $(DL)/pkgconfig/libpng.pc
install -m 644 $(IMPLIB) $(DL)/$(LIBNAME).dll.a
-@rm -f $(DL)/$(IMPLIB)
(cd $(DL); ln -sf $(LIBNAME).dll.a $(IMPLIB))
install -s -m 755 $(SHAREDLIB) $(DB)
install -m 644 libpng.pc $(DL)/pkgconfig/$(LIBNAME).pc
(cd $(DL)/pkgconfig; ln -sf $(LIBNAME).pc libpng.pc)
install-headers:
-@if [ ! -d $(DI) ]; then $(MKDIR_P) $(DI); fi
-@if [ ! -d $(DI)/$(LIBNAME) ]; then $(MKDIR_P) $(DI)/$(LIBNAME); fi
-@rm -f $(DI)/png.h
-@rm -f $(DI)/pngconf.h
install -m 644 $(S)/png.h $(S)/pngconf.h $(DI)/$(LIBNAME)
-@rm -f $(DI)/libpng
(cd $(DI); ln -sf $(LIBNAME) libpng; ln -sf $(LIBNAME)/* .)
install-man:
-@if [ ! -d $(D)$(MAN3PATH) ]; then $(MKDIR_P) $(D)$(MAN3PATH); fi
-@if [ ! -d $(D)$(MAN5PATH) ]; then $(MKDIR_P) $(D)$(MAN5PATH); fi
install -m 644 $(S)/libpngpf.3 $(S)/libpng.3 $(D)$(MAN3PATH)
install -m 644 $(S)/png.5 $(D)$(MAN5PATH)
install-config: libpng-config
-@if [ ! -d $(DB) ]; then $(MKDIR_P) $(DB); fi
-@/bin/rm -f $(DB)/libpng-config
-@/bin/rm -f $(DB)/$(LIBNAME)-config
cp libpng-config $(DB)/$(LIBNAME)-config
chmod 755 $(DB)/$(LIBNAME)-config
(cd $(DB); ln -sf $(LIBNAME)-config libpng-config)
# Run this to verify that a future `configure' run will pick up the settings
# you want.
test-config-install: SHELL=/bin/bash
test-config-install: $(DB)/libpng-config
@echo -e Testing libpng-config functions...'\n'
@ for TYRA in LDFLAGS CPPFLAGS CFLAGS LIBS VERSION; \
do \
printf "(%d)\t %10s =%s\n" $$(($$gytiu + 1)) $$TYRA \
"$$($(DB)/libpng-config `echo --$$TYRA |tr '[:upper:]' '[:lower:]'`)"; \
gytiu=$$(( $$gytiu + 1 )); \
done
install: install-static install-shared install-man install-config
# If you installed in $(DESTDIR), test-installed won't work until you
# move the library to its final location. Use test-dd to test it
# before then.
test-dd:
echo
echo Testing installed dynamic shared library in $(DL).
$(CC) -I$(DI) $(CFLAGS) \
`$(BINPATH)/libpng14-config --cflags` pngtest.c \
-L$(DL) -L$(ZLIBLIB) \
-o pngtestd `$(BINPATH)/libpng14-config --ldflags`
./pngtestd pngtest.png
test-installed:
$(CC) $(CFLAGS) \
`$(BINPATH)/libpng14-config --cflags` pngtest.c \
-L$(ZLIBLIB) \
-o pngtesti$(EXE) `$(BINPATH)/libpng14-config --ldflags`
./pngtesti$(EXE) pngtest.png
clean:
/bin/rm -f *.pic.o *.o $(STATLIB) $(IMPLIB) $(SHAREDLIB) \
pngtest-stat$(EXE) pngtest$(EXE) pngout.png $(SHAREDDEF) \
libpng-config libpng.pc pngtesti$(EXE)
DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
writelock:
chmod a-w *.[ch35] $(DOCS) scripts/*
.PHONY: buildsetup-tell libpng.pc libpng-config test-config-install clean
# DO NOT DELETE THIS LINE -- make depend depends on it.
png.o png.pic.o: png.h pngconf.h pngpriv.h png.c
pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h pngerror.c
pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h pngrio.c
pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h pngwio.c
pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h pngmem.c
pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h pngset.c
pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h pngget.c
pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h pngread.c
pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h pngrtran.c
pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h pngrutil.c
pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h pngtrans.c
pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h pngwrite.c
pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h pngwtran.c
pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h pngwutil.c
pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h pngpread.c
pngtest.o pngtest.pic.o: png.h pngconf.h pngtest.c

View File

@ -17,7 +17,7 @@ INCSDIR=${LOCALBASE}/include/libpng15
LIB= png15
SHLIB_MAJOR= 0
SHLIB_MINOR= 1.5.5
SHLIB_MINOR= 1.5.9
SRCS= png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
pngwtran.c pngmem.c pngerror.c pngpread.c

View File

@ -17,7 +17,7 @@ INCSDIR=${LOCALBASE}/include
LIB= png
SHLIB_MAJOR= 15
SHLIB_MINOR= 1.5.5
SHLIB_MINOR= 1.5.9
SRCS= png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
pngwtran.c pngmem.c pngerror.c pngpread.c

View File

@ -11,7 +11,7 @@ LIBDIR= ${PREFIX}/lib
MANDIR= ${PREFIX}/man/cat
SHLIB_MAJOR= 15
SHLIB_MINOR= 1.5.5
SHLIB_MINOR= 1.5.9
LIB= png
SRCS= png.c pngerror.c pngget.c pngmem.c pngpread.c \

View File

@ -1,72 +0,0 @@
# makefile for libpng on OS/2 with gcc
#
# This code is released under the libpng license.
# For conditions of distribution and use, see the disclaimer
# and license in png.h
# Related files: pngos2.def
CC=gcc -Zomf -s
# Where the zlib library and include files are located
ZLIBLIB=../zlib
ZLIBINC=../zlib
WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
-Wmissing-declarations -Wtraditional -Wcast-align \
-Wstrict-prototypes -Wmissing-prototypes #-Wconversion
CFLAGS=-I$(ZLIBINC) -W -Wall -O6 -funroll-loops -malign-loops=2 \
-malign-functions=2 #$(WARNMORE) -g -DPNG_DEBUG=5
LDFLAGS=-L. -L$(ZLIBLIB) -lpng -lzdll -Zcrtdll
AR=emxomfar
PNGLIB=png.lib
IMPLIB=emximp
SHAREDLIB=png.dll
SHAREDLIBIMP=pngdll.lib
OBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \
pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \
pngwtran.o pngmem.o pngerror.o pngpread.o
.SUFFIXES: .c .o
all: $(PNGLIB) $(SHAREDLIB) $(SHAREDLIBIMP)
$(PNGLIB): $(OBJS)
$(AR) rc $@ $(OBJS)
$(SHAREDLIB): $(OBJS) pngos2.def
$(CC) $(LDFLAGS) -Zdll -o $@ $^
$(SHAREDLIBIMP): pngos2.def
$(IMPLIB) -o $@ $^
pngtest.exe: pngtest.o png.dll pngdll.lib
$(CC) -o $@ $(CFLAGS) $< $(LDFLAGS)
test: pngtest.exe
./pngtest.exe
clean:
rm -f *.o $(PNGLIB) png.dll pngdll.lib pngtest.exe pngout.png
# DO NOT DELETE THIS LINE -- make depend depends on it.
png.o png.pic.o: png.h pngconf.h pngpriv.h
pngerror.o pngerror.pic.o: png.h pngconf.h pngpriv.h
pngrio.o pngrio.pic.o: png.h pngconf.h pngpriv.h
pngwio.o pngwio.pic.o: png.h pngconf.h pngpriv.h
pngmem.o pngmem.pic.o: png.h pngconf.h pngpriv.h
pngset.o pngset.pic.o: png.h pngconf.h pngpriv.h
pngget.o pngget.pic.o: png.h pngconf.h pngpriv.h
pngread.o pngread.pic.o: png.h pngconf.h pngpriv.h
pngrtran.o pngrtran.pic.o: png.h pngconf.h pngpriv.h
pngrutil.o pngrutil.pic.o: png.h pngconf.h pngpriv.h
pngtrans.o pngtrans.pic.o: png.h pngconf.h pngpriv.h
pngwrite.o pngwrite.pic.o: png.h pngconf.h pngpriv.h
pngwtran.o pngwtran.pic.o: png.h pngconf.h pngpriv.h
pngwutil.o pngwutil.pic.o: png.h pngconf.h pngpriv.h
pngpread.o pngpread.pic.o: png.h pngconf.h pngpriv.h
pngtest.o: png.h pngconf.h

View File

@ -50,9 +50,9 @@ all: libpng.a pngtest
# The standard pnglibconf.h exists as scripts/pnglibconf.h.prebuilt,
# copy this if the following doesn't work.
pnglibconf.dfn: scripts/pnglibconf.dfa scripts/options.awk
pnglibconf.dfn: scripts/pnglibconf.dfa scripts/options.awk pngconf.h
$(RM_F) $@ dfn?.out
$(AWK) -f scripts/options.awk out=dfn1.out\
$(AWK) -f scripts/options.awk out=dfn1.out version=search pngconf.h\
scripts/pnglibconf.dfa $(DFA_XTRA) 1>&2
$(AWK) -f scripts/options.awk out=dfn2.out dfn1.out 1>&2
cp dfn2.out $@
@ -62,9 +62,9 @@ pnglibconf.h: pnglibconf.dfn
$(RM_F) $@ dfn.c dfn?.out
$(ECHO) '#include "pnglibconf.dfn"' >dfn.c
$(CPP) $(DFNFLAGS) dfn.c >dfn1.out
$(SED) -n -e 's|^.*PNG_DEFN_MAGIC-\(.*\)-PNG_DEFN_END.*$$|\1|p'\
$(SED) -n -e 's|^.*PNG_DEFN_MAGIC *-\(.*\)- *PNG_DEFN_END.*$$|\1|p'\
dfn1.out >dfn2.out
$(SED) -e 's| *@@@ *||g' -e 's| *$$||' dfn2.out >dfn3.out
$(SED) -e 's| *PNG_JOIN *||g' -e 's| *$$||' dfn2.out >dfn3.out
cp dfn3.out $@
$(RM_F) dfn.c dfn?.out

View File

@ -1,112 +0,0 @@
# Makefile for libpng
# Watcom C/C++ 10.0 and later, 32-bit protected mode, flat memory model
# Copyright (C) 2000, Pawel Mrochen, based on makefile.msc which is
# copyright 1995 Guy Eric Schalnat, Group 42, Inc.
#
# This code is released under the libpng license.
# For conditions of distribution and use, see the disclaimer
# and license in png.h
# To use, do "wmake /f scripts\makefile.watcom"
# ---------------------- Watcom C/C++ 10.0 and later -----------------------
# Where the zlib library and include files are located
ZLIBLIB=..\zlib
ZLIBINC=..\zlib
# Target OS
OS=DOS
#OS=NT
# Target CPU
CPU=6 # Pentium Pro
#CPU=5 # Pentium
# Calling convention
CALLING=r # registers
#CALLING=s # stack
# Uncomment next to put error messages in a file
#ERRFILE=>>pngerrs
# --------------------------------------------------------------------------
CC=wcc386
CFLAGS=-$(CPU)$(CALLING) -fp$(CPU) -fpi87 -oneatx -mf -bt=$(OS) -i=$(ZLIBINC) -zq
LD=wcl386
LDFLAGS=-zq
O=.obj
OBJS1=png$(O) pngset$(O) pngget$(O) pngrutil$(O) pngtrans$(O) pngwutil$(O)
OBJS2=pngmem$(O) pngpread$(O) pngread$(O) pngerror$(O) pngwrite$(O)
OBJS3=pngrtran$(O) pngwtran$(O) pngrio$(O) pngwio$(O)
all: test
png$(O): png.h pngconf.h pngpriv.h
$(CC) $(CFLAGS) $*.c $(ERRFILE)
pngset$(O): png.h pngconf.h pngpriv.h
$(CC) $(CFLAGS) $*.c $(ERRFILE)
pngget$(O): png.h pngconf.h pngpriv.h
$(CC) $(CFLAGS) $*.c $(ERRFILE)
pngread$(O): png.h pngconf.h pngpriv.h
$(CC) $(CFLAGS) $*.c $(ERRFILE)
pngpread$(O): png.h pngconf.h pngpriv.h
$(CC) $(CFLAGS) $*.c $(ERRFILE)
pngrtran$(O): png.h pngconf.h pngpriv.h
$(CC) $(CFLAGS) $*.c $(ERRFILE)
pngrutil$(O): png.h pngconf.h pngpriv.h
$(CC) $(CFLAGS) $*.c $(ERRFILE)
pngerror$(O): png.h pngconf.h pngpriv.h
$(CC) $(CFLAGS) $*.c $(ERRFILE)
pngmem$(O): png.h pngconf.h pngpriv.h
$(CC) $(CFLAGS) $*.c $(ERRFILE)
pngrio$(O): png.h pngconf.h pngpriv.h
$(CC) $(CFLAGS) $*.c $(ERRFILE)
pngwio$(O): png.h pngconf.h pngpriv.h
$(CC) $(CFLAGS) $*.c $(ERRFILE)
pngtest$(O): png.h pngconf.h
$(CC) $(CFLAGS) $*.c $(ERRFILE)
pngtrans$(O): png.h pngconf.h pngpriv.h
$(CC) $(CFLAGS) $*.c $(ERRFILE)
pngwrite$(O): png.h pngconf.h pngpriv.h
$(CC) $(CFLAGS) $*.c $(ERRFILE)
pngwtran$(O): png.h pngconf.h pngpriv.h
$(CC) $(CFLAGS) $*.c $(ERRFILE)
pngwutil$(O): png.h pngconf.h pngpriv.h
$(CC) $(CFLAGS) $*.c $(ERRFILE)
libpng.lib: $(OBJS1) $(OBJS2) $(OBJS3)
wlib -b -c -n -q libpng.lib $(OBJS1)
wlib -b -c -q libpng.lib $(OBJS2)
wlib -b -c -q libpng.lib $(OBJS3)
pngtest.exe: pngtest.obj libpng.lib
$(LD) $(LDFLAGS) pngtest.obj libpng.lib $(ZLIBLIB)\zlib.lib
test: pngtest.exe .symbolic
pngtest.exe
# End of makefile for libpng

View File

@ -1,7 +1,7 @@
#!/bin/awk -f
# scripts/options.awk - library build configuration control
#
# last changed in libpng version 1.5.0 - January 6, 2011
# last changed in libpng version 1.5.7 - December 15, 2011
#
# Copyright (c) 1998-2011 Glenn Randers-Pehrson
#
@ -32,16 +32,19 @@
BEGIN{
out="/dev/null" # intermediate, preprocessed, file
pre=-1 # preprocess (first line)
version="libpng version unknown" # version information
version_file="" # where to find the version
err=0 # in-line exit sets this
start="PNG_DEFN_MAGIC-" # Arbitrary start
end="-PNG_DEFN_END" # Arbitrary end
cx= "/@@@*" # Open C comment for output file
ct="PNG_JOIN" # Join two tokens
cx= "/" ct "*" # Open C comment for output file
comment=start cx # Comment start
cend="*/" end # Comment end
def=start "#define PNG_@@@" # Arbitrary define
sup="@@@_SUPPORTED" end # end supported option
und=comment "#undef PNG_@@@" # Unsupported option
une="@@@_SUPPORTED" cend # end unsupported option
def=start "#define PNG_" ct # Arbitrary define
sup=ct "_SUPPORTED" end # end supported option
und=comment "#undef PNG_" ct # Unsupported option
une=ct "_SUPPORTED" cend # end unsupported option
error=start "ERROR:" # error message
# Variables
@ -85,6 +88,28 @@ pre == -1{
}
}
# While pre-processing if version is set to "search" look for a version string
# in the following file.
pre && version == "search" && version_file == ""{
version_file = FILENAME
}
pre && version == "search" && version_file != FILENAME{
print "version string not found in", version_file
err = 1
exit 1
}
pre && version == "search" && $0 ~ /^ \* libpng version/{
version = substr($0, 4)
print "version =", version >out
next
}
pre && FILENAME == version_file{
next
}
# variable=value
# Sets the given variable to the given value (the syntax is fairly
# free form, except for deb (you are expected to understand how to
@ -94,6 +119,11 @@ pre == -1{
# rest of the actions, so the variable settings happen during
# preprocessing but are recorded in the END action too. This
# allows them to be set on the command line too.
$0 ~ /^[ ]*version[ ]*=/{
sub(/^[ ]*version[ ]*=[ ]*/, "")
version = $0
next
}
$0 ~ /^[ ]*everything[ =]*off[ ]*$/{
everything = "off"
next
@ -165,6 +195,19 @@ $1 == "com"{
next
}
# version
# Inserts a version comment
$1 == "version" && NF == 1{
if (version == "") {
print "ERROR: no version string set"
err = 1 # prevent END{} running
exit 1
}
print comment, version, cend >out
next
}
# file output input protect
# Informational: the official name of the input file (without
# make generated local directories), the official name of the

View File

@ -1,259 +0,0 @@
;------------------------------------------
; LIBPNG module definition file for Windows
;------------------------------------------
LIBRARY lpngce
png_memcpy_check
png_memset_check
png_set_quantize
png_read_init_3
png_write_init_3
png_set_strip_error_numbers
png_get_uint_32
png_get_uint_16
png_get_int_32
EXPORTS
;Version 1.4.4
png_build_grayscale_palette @1
; png_check_sig @2
png_chunk_error @3
png_chunk_warning @4
; png_convert_from_struct_tm @5
; png_convert_from_time_t @6
png_create_info_struct @7
png_create_read_struct @8
png_create_write_struct @9
png_data_freer @10
png_destroy_info_struct @11
png_destroy_read_struct @12
png_destroy_write_struct @13
png_error @14
png_free @15
png_free_data @16
png_get_IHDR @17
png_get_PLTE @18
png_get_bKGD @19
png_get_bit_depth @20
png_get_cHRM @21
png_get_cHRM_fixed @22
png_get_channels @23
png_get_color_type @24
png_get_compression_buffer_size @25
png_get_compression_type @26
png_get_copyright @27
png_get_error_ptr @28
png_get_filter_type @29
png_get_gAMA @30
png_get_gAMA_fixed @31
png_get_hIST @32
png_get_header_ver @33
png_get_header_version @34
png_get_iCCP @35
png_get_image_height @36
png_get_image_width @37
png_get_interlace_type @38
png_get_io_ptr @39
png_get_libpng_ver @40
png_get_oFFs @41
png_get_pCAL @42
png_get_pHYs @43
png_get_pixel_aspect_ratio @44
png_get_pixels_per_meter @45
png_get_progressive_ptr @46
png_get_rgb_to_gray_status @47
png_get_rowbytes @48
png_get_rows @49
png_get_sBIT @50
png_get_sCAL @51
png_get_sPLT @52
png_get_sRGB @53
png_get_signature @54
png_get_tIME @55
png_get_tRNS @56
png_get_text @57
png_get_unknown_chunks @58
png_get_user_chunk_ptr @59
png_get_user_transform_ptr @60
png_get_valid @61
png_get_x_offset_microns @62
png_get_x_offset_pixels @63
png_get_x_pixels_per_meter @64
png_get_y_offset_microns @65
png_get_y_offset_pixels @66
png_get_y_pixels_per_meter @67
png_malloc @68
; png_memcpy_check @69
; png_memset_check @70
png_permit_empty_plte @71
png_process_data @72
png_progressive_combine_row @73
png_read_end @74
png_read_image @75
png_read_info @76
; png_read_init is deprecated
png_read_init @77
png_read_png @78
png_read_row @79
png_read_rows @80
png_read_update_info @81
png_reset_zstream @82
png_set_IHDR @83
png_set_PLTE @84
png_set_bKGD @85
png_set_background @86
png_set_bgr @87
png_set_cHRM @88
png_set_cHRM_fixed @89
png_set_compression_buffer_size @90
png_set_compression_level @91
png_set_compression_mem_level @92
png_set_compression_method @93
png_set_compression_strategy @94
png_set_compression_window_bits @95
png_set_crc_action @96
png_set_quantize @97
png_set_error_fn @98
png_set_expand @99
png_set_filler @100
png_set_filter @101
png_set_filter_heuristics @102
png_set_flush @103
png_set_gAMA @104
png_set_gAMA_fixed @105
png_set_gamma @106
png_set_gray_1_2_4_to_8 @107 ; deprecated
png_set_gray_to_rgb @108
png_set_hIST @109
png_set_iCCP @110
png_set_interlace_handling @111
png_set_invert_alpha @112
png_set_invert_mono @113
png_set_keep_unknown_chunks @114
png_set_oFFs @115
png_set_pCAL @116
png_set_pHYs @117
png_set_packing @118
png_set_packswap @119
png_set_palette_to_rgb @120
png_set_progressive_read_fn @121
png_set_read_fn @122
png_set_read_status_fn @123
png_set_read_user_chunk_fn @124
png_set_read_user_transform_fn @125
png_set_rgb_to_gray @126
png_set_rgb_to_gray_fixed @127
png_set_rows @128
png_set_sBIT @129
png_set_sCAL @130
png_set_sPLT @131
png_set_sRGB @132
png_set_sRGB_gAMA_and_cHRM @133
png_set_shift @134
png_set_sig_bytes @135
png_set_strip_16 @136
png_set_strip_alpha @137
png_set_swap @138
png_set_swap_alpha @139
png_set_tIME @140
png_set_tRNS @141
png_set_tRNS_to_alpha @142
png_set_text @143
png_set_unknown_chunk_location @144
png_set_unknown_chunks @145
png_set_user_transform_info @146
png_set_write_fn @147
png_set_write_status_fn @148
png_set_write_user_transform_fn @149
png_sig_cmp @150
png_start_read_image @151
png_warning @152
png_write_chunk @153
png_write_chunk_data @154
png_write_chunk_end @155
png_write_chunk_start @156
png_write_end @157
png_write_flush @158
png_write_image @159
png_write_info @160
png_write_info_before_PLTE @161
; png_write_init is deprecated
png_write_init @162
png_write_png @163
png_write_row @164
png_write_rows @165
; png_read_init_2 and png_write_init_2 are deprecated.
png_read_init_2 @166
png_write_init_2 @167
png_access_version_number @168
; png_sig_bytes @169
; png_libpng_ver @170
png_init_io @171
png_convert_to_rfc1123 @172
png_set_invalid @173
; Added at version 1.0.12
; For compatiblity with 1.0.7-1.0.11
png_info_init @174
; png_read_init_3 @175
; png_write_init_3 @176
png_info_init_3 @177
png_destroy_struct @178
; Added at version 1.2.0
; For use with PNG_USER_MEM_SUPPORTED
; png_destroy_struct_2 @179
; png_create_read_struct_2 @180
; png_create_write_struct_2 @181
; png_malloc_default @182
; png_free_default @183
; MNG features
; png_permit_mng_features @184
; MMX support
; png_mmx_support @185
; png_get_mmx_flagmask @186
; png_get_asm_flagmask @187
; png_get_asm_flags @188
; png_get_mmx_bitdepth_threshold @189
; png_get_mmx_rowbytes_threshold @190
; png_set_asm_flags @191
; png_init_mmx_flags @192
; Strip error numbers
; png_set_strip_error_numbers @193
; Added at version 1.2.2
png_handle_as_unknown @179
png_zalloc @180
png_zfree @181
; png_handle_as_unknown @194
; png_zalloc @195
; png_zfree @196
; Added at version 1.2.6
png_malloc_warn @195
png_get_user_height_max @196
png_get_user_width_max @197
png_set_user_limits @198
; Added at version 1.2.7
png_set_add_alpha @199
; Added at version 1.2.9
; png_get_uint_32 @200
png_save_uint_32 @201
; png_get_uint_16 @202
png_save_uint_16 @203
; png_get_int_32 @204
png_save_int_32 @205
png_get_uint_31 @206
png_set_expand_gray_1_2_4_to_8 @207
; Added at version 1.2.41
png_write_sig @208
png_benign_error @209
png_benign_chunk_error @210
png_set_benign_error @211
png_get_io_chunk_name @212
png_get_io_state @213
png_get_chunk_cache_max @215
png_set_chunk_cache_max @216
png_check_cHRM_fixed @217
png_calloc @218
png_set_longjmp_fn @219
; Added at version 1.4.1
png_get_chunk_malloc_max @220
png_set_chunk_malloc_max @221

View File

@ -6,7 +6,7 @@
#
com pnglibconf.h - library build configuration
com
com libpng version 1.5.3 - July 7, 2011
version
com
com Copyright (c) 1998-2011 Glenn Randers-Pehrson
com
@ -296,7 +296,7 @@ option READ enables READ_INTERLACING
# processing after that has happened. You need to be sure to enable
# READ_SCALE_16_TO_8 or READ_STRIP_16_TO_8 when you disable READ_16BIT for
# this to work properly. You should disable the other option if you need to
# ensure a particular convertion (otherwise the app can chose.)
# ensure a particular conversion (otherwise the app can chose.)
option READ_16BIT requires READ enables 16BIT

View File

@ -3,7 +3,7 @@
/* pnglibconf.h - library build configuration */
/* libpng version 1.5.4 - last changed on June 22, 2011 */
/* Libpng 1.5.9 - February 18, 2012 */
/* Copyright (c) 1998-2011 Glenn Randers-Pehrson */

View File

@ -35,18 +35,19 @@ pnglibconf.h: pnglibconf.dfn
$(ECHO) '#include "pnglibconf.dfn"' >dfn.c
$(CPP) $(DFNFLAGS) dfn.c >dfn1.out
$(ECHO) "If 'cpp -e' crashes try /lib/cpp (e.g. CPP='/lib/cpp')" >&2
$(SED) -n -e 's|^.*PNG_DEFN_MAGIC-\(.*\)-PNG_DEFN_END.*$$|\1|p'\
$(SED) -n -e 's|^.*PNG_DEFN_MAGIC *-\(.*\)- *PNG_DEFN_END.*$$|\1|p'\
dfn1.out >dfn2.out
$(SED) -e 's| *@@@ *||g' -e 's| *$$||' dfn2.out >dfn3.out
$(SED) -e 's| *PNG_JOIN *||g' -e 's| *$$||' dfn2.out >dfn3.out
$(COPY) dfn3.out $@
$(DELETE) dfn.c dfn1.out dfn2.out dfn3.out
pnglibconf.dfn: $(srcdir)/scripts/pnglibconf.dfa $(srcdir)/scripts/options.awk
pnglibconf.dfn: $(srcdir)/scripts/pnglibconf.dfa $(srcdir)/scripts/options.awk $(srcdir)/pngconf.h
$(DELETE) $@ dfn1.out dfn2.out
$(ECHO) "Calling $(AWK) from scripts/pnglibconf.mak" >&2
$(ECHO) "If 'awk' crashes try a better awk (e.g. AWK='nawk')" >&2
$(AWK) -f $(srcdir)/scripts/options.awk out=dfn1.out\
$(srcdir)/scripts/pnglibconf.dfa $(DFA_XTRA) 1>&2
$(AWK) -f $(srcdir)/scripts/options.awk out=dfn1.out version=search\
$(srcdir)/pngconf.h $(srcdir)/scripts/pnglibconf.dfa\
$(DFA_XTRA) 1>&2
$(AWK) -f $(srcdir)/scripts/options.awk out=dfn2.out dfn1.out 1>&2
$(COPY) dfn2.out $@
$(DELETE) dfn1.out dfn2.out

View File

@ -1,255 +0,0 @@
;----------------------------------------
; PNG.LIB module definition file for OS/2
;----------------------------------------
; Version 1.4.4
LIBRARY PNG
DESCRIPTION "PNG image compression library for OS/2"
CODE PRELOAD MOVEABLE DISCARDABLE
DATA PRELOAD MOVEABLE MULTIPLE
EXPORTS
png_build_grayscale_palette
png_chunk_error
png_chunk_warning
png_convert_from_struct_tm
png_convert_from_time_t
png_create_info_struct
png_create_read_struct
png_create_write_struct
png_data_freer
png_destroy_info_struct
png_destroy_read_struct
png_destroy_write_struct
png_error
png_free
png_free_data
png_get_IHDR
png_get_PLTE
png_get_bKGD
png_get_bit_depth
png_get_cHRM
png_get_cHRM_fixed
png_get_channels
png_get_color_type
png_get_compression_buffer_size
png_get_compression_type
png_get_copyright
png_get_error_ptr
png_get_filter_type
png_get_gAMA
png_get_gAMA_fixed
png_get_hIST
png_get_header_ver
png_get_header_version
png_get_iCCP
png_get_image_height
png_get_image_width
png_get_interlace_type
png_get_io_ptr
png_get_libpng_ver
png_get_oFFs
png_get_pCAL
png_get_pHYs
png_get_pixel_aspect_ratio
png_get_pixels_per_meter
png_get_progressive_ptr
png_get_rgb_to_gray_status
png_get_rowbytes
png_get_rows
png_get_sBIT
png_get_sCAL
png_get_sPLT
png_get_sRGB
png_get_signature
png_get_tIME
png_get_tRNS
png_get_text
png_get_unknown_chunks
png_get_user_chunk_ptr
png_get_user_transform_ptr
png_get_valid
png_get_x_offset_microns
png_get_x_offset_pixels
png_get_x_pixels_per_meter
png_get_y_offset_microns
png_get_y_offset_pixels
png_get_y_pixels_per_meter
png_malloc
png_process_data
png_progressive_combine_row
png_read_end
png_read_image
png_read_info
png_read_png
png_read_row
png_read_rows
png_read_update_info
png_reset_zstream
png_set_IHDR
png_set_PLTE
png_set_bKGD
png_set_background
png_set_bgr
png_set_cHRM
png_set_cHRM_fixed
png_set_compression_buffer_size
png_set_compression_level
png_set_compression_mem_level
png_set_compression_method
png_set_compression_strategy
png_set_compression_window_bits
png_set_crc_action
png_set_error_fn
png_set_expand
png_set_filler
png_set_filter
png_set_filter_heuristics
png_set_flush
png_set_gAMA
png_set_gAMA_fixed
png_set_gamma
png_set_gray_to_rgb
png_set_hIST
png_set_iCCP
png_set_interlace_handling
png_set_invert_alpha
png_set_invert_mono
png_set_keep_unknown_chunks
png_set_oFFs
png_set_pCAL
png_set_pHYs
png_set_packing
png_set_packswap
png_set_palette_to_rgb
png_set_progressive_read_fn
png_set_read_fn
png_set_read_status_fn
png_set_read_user_chunk_fn
png_set_read_user_transform_fn
png_set_rgb_to_gray
png_set_rgb_to_gray_fixed
png_set_rows
png_set_sBIT
png_set_sCAL
png_set_sPLT
png_set_sRGB
png_set_sRGB_gAMA_and_cHRM
png_set_shift
png_set_sig_bytes
png_set_strip_16
png_set_strip_alpha
png_set_swap
png_set_swap_alpha
png_set_tIME
png_set_tRNS
png_set_tRNS_to_alpha
png_set_text
png_set_unknown_chunk_location
png_set_unknown_chunks
png_set_user_transform_info
png_set_write_fn
png_set_write_status_fn
png_set_write_user_transform_fn
png_sig_cmp
png_start_read_image
png_warning
png_write_chunk
png_write_chunk_data
png_write_chunk_end
png_write_chunk_start
png_write_end
png_write_flush
png_write_image
png_write_info
png_write_info_before_PLTE
png_write_png
png_write_row
png_write_rows
png_write_sig
png_access_version_number
png_init_io
png_convert_to_rfc1123
png_set_invalid
; Added at version 1.2.0:
png_permit_empty_plte
png_permit_mng_features
; Added at version 1.2.2:
png_handle_as_unknown
; Added at version 1.2.2 and deleted from 1.2.3:
; png_zalloc
; png_zfree
; Added at version 1.2.4
png_malloc_warn
; Added at version 1.2.6
png_set_user_limits
png_get_user_height_max
png_get_user_width_max
; Added at version 1.2.7
png_set_add_alpha
; Added at version 1.2.9
png_save_uint_32
png_save_uint_16
png_save_int_32
png_get_uint_31
png_set_expand_gray_1_2_4_to_8
; Added at version 1.2.41
png_write_sig
; png_benign_error
; png_benign_chunk_error
; png_set_benign_error
png_get_io_chunk_name
png_get_io_state
png_get_chunk_cache_max
png_set_chunk_cache_max
png_check_cHRM_fixed
png_calloc
png_set_longjmp_fn
; Added at version 1.4.1
png_get_chunk_malloc_max
png_set_chunk_malloc_max
; Added at version 1.4.2
png_set_quantize
; These are not present when libpng is compiled with PNG_NO_GLOBAL_ARRAYS
png_libpng_ver
png_pass_start
png_pass_inc
png_pass_ystart
png_pass_yinc
png_pass_mask
png_pass_dsp_mask
; png_pass_width
; png_pass_height
; These are not present when libpng is compiled with PNG_NO_GLOBAL_ARRAYS
png_IHDR
png_IDAT
png_IEND
png_PLTE
png_bKGD
png_cHRM
png_gAMA
png_hIST
png_iCCP
png_iTXt
png_oFFs
png_pCAL
png_pHYs
png_sBIT
png_sCAL
png_sPLT
png_sRGB
png_tEXt
png_tIME
png_tRNS
png_zTXt

View File

@ -1,216 +0,0 @@
;------------------------------------------
; LIBPNG module definition file for Windows
;------------------------------------------
LIBRARY
EXPORTS
;Version 1.4.4
png_build_grayscale_palette
png_chunk_error
png_chunk_warning
png_convert_from_struct_tm
png_convert_from_time_t
png_create_info_struct
png_create_read_struct
png_create_write_struct
png_data_freer
png_destroy_info_struct
png_destroy_read_struct
png_destroy_write_struct
png_error
png_free
png_free_data
png_get_IHDR
png_get_PLTE
png_get_bKGD
png_get_bit_depth
png_get_cHRM
png_get_cHRM_fixed
png_get_channels
png_get_color_type
png_get_compression_buffer_size
png_get_compression_type
png_get_copyright
png_get_error_ptr
png_get_filter_type
png_get_gAMA
png_get_gAMA_fixed
png_get_hIST
png_get_header_ver
png_get_header_version
png_get_iCCP
png_get_image_height
png_get_image_width
png_get_interlace_type
png_get_io_ptr
png_get_libpng_ver
png_get_oFFs
png_get_pCAL
png_get_pHYs
png_get_pixel_aspect_ratio
png_get_pixels_per_meter
png_get_progressive_ptr
png_get_rgb_to_gray_status
png_get_rowbytes
png_get_rows
png_get_sBIT
png_get_sCAL
png_get_sPLT
png_get_sRGB
png_get_signature
png_get_tIME
png_get_tRNS
png_get_text
png_get_unknown_chunks
png_get_user_chunk_ptr
png_get_user_transform_ptr
png_get_valid
png_get_x_offset_microns
png_get_x_offset_pixels
png_get_x_pixels_per_meter
png_get_y_offset_microns
png_get_y_offset_pixels
png_get_y_pixels_per_meter
png_malloc
png_process_data
png_progressive_combine_row
png_read_end
png_read_image
png_read_info
png_read_png
png_read_row
png_read_rows
png_read_update_info
png_reset_zstream
png_set_IHDR
png_set_PLTE
png_set_bKGD
png_set_background
png_set_bgr
png_set_cHRM
png_set_cHRM_fixed
png_set_compression_buffer_size
png_set_compression_level
png_set_compression_mem_level
png_set_compression_method
png_set_compression_strategy
png_set_compression_window_bits
png_set_crc_action
png_set_error_fn
png_set_expand
png_set_filler
png_set_filter
png_set_filter_heuristics
png_set_flush
png_set_gAMA
png_set_gAMA_fixed
png_set_gamma
png_set_gray_to_rgb
png_set_hIST
png_set_iCCP
png_set_interlace_handling
png_set_invert_alpha
png_set_invert_mono
png_set_keep_unknown_chunks
png_set_oFFs
png_set_pCAL
png_set_pHYs
png_set_packing
png_set_packswap
png_set_palette_to_rgb
png_set_progressive_read_fn
png_set_read_fn
png_set_read_status_fn
png_set_read_user_chunk_fn
png_set_read_user_transform_fn
png_set_rgb_to_gray
png_set_rgb_to_gray_fixed
png_set_rows
png_set_sBIT
png_set_sCAL
png_set_sPLT
png_set_sRGB
png_set_sRGB_gAMA_and_cHRM
png_set_shift
png_set_sig_bytes
png_set_strip_16
png_set_strip_alpha
png_set_swap
png_set_swap_alpha
png_set_tIME
png_set_tRNS
png_set_tRNS_to_alpha
png_set_text
png_set_unknown_chunk_location
png_set_unknown_chunks
png_set_user_transform_info
png_set_write_fn
png_set_write_status_fn
png_set_write_user_transform_fn
png_sig_cmp
png_start_read_image
png_warning
png_write_chunk
png_write_chunk_data
png_write_chunk_end
png_write_chunk_start
png_write_end
png_write_flush
png_write_image
png_write_info
png_write_info_before_PLTE
png_write_png
png_write_row
png_write_rows
png_access_version_number
png_init_io
png_convert_to_rfc1123
png_set_invalid
; Added at version 1.0.12
png_info_init_3
png_destroy_struct
; Added at version 1.2.0
; For use with PNG_USER_MEM_SUPPORTED
png_destroy_struct_2
png_create_read_struct_2
png_create_write_struct_2
png_malloc_default
png_free_default
; MNG features
png_permit_mng_features
; Added at version 1.2.2
png_handle_as_unknown
; Added at version 1.2.2 and deleted from 1.2.3
; png_zalloc
; png_zfree
; Added at version 1.2.4
png_malloc_warn
png_get_user_height_max
png_get_user_width_max
png_set_user_limits
; Added at version 1.2.7
png_set_add_alpha
; Added at version 1.2.9
png_save_uint_32
png_save_uint_16
png_save_int_32
png_get_uint_31
png_set_expand_gray_1_2_4_to_8
; Added at version 1.2.41
png_write_sig
; png_benign_error
; png_benign_chunk_error
; png_set_benign_error
png_get_io_chunk_name
png_get_io_state
png_get_chunk_cache_max
png_set_chunk_cache_max
png_check_cHRM_fixed
png_calloc
png_set_longjmp_fn
; Added at version 1.4.1
png_get_chunk_malloc_max
png_set_chunk_malloc_max
; Added at version 1.4.2
png_set_quantize

View File

@ -10,6 +10,6 @@
*/
#define PNG_EXPORTA(ordinal, type, name, args, attributes)\
PNG_DEFN_MAGIC-SYMBOL_PREFIX @@@ name-PNG_DEFN_END
PNG_DEFN_MAGIC-SYMBOL_PREFIX PNG_JOIN name-PNG_DEFN_END
#include "../png.h"

View File

@ -5,7 +5,7 @@
LIBRARY
EXPORTS
;Version 1.5.5
;Version 1.5.9
png_access_version_number @1
png_set_sig_bytes @2
png_sig_cmp @3

View File

@ -11,13 +11,13 @@
#define HEADER PNG_DEFN_MAGIC-PNGLIB_LIBNAME {global:-PNG_DEFN_END
/* NOTE: @@@ is interpreted by the calling script as a signal to
/* NOTE: PNG_JOIN is interpreted by the calling script as a signal to
* join the two things on either side, so we can do symbol
* substitution within the name, regular C ## joins the pp-tokens,
* not their final values.
*/
#define PNG_EXPORTA(ordinal, type, name, args, attributes)\
PNG_DEFN_MAGIC- SYMBOL_PREFIX @@@ name;-PNG_DEFN_END
PNG_DEFN_MAGIC- SYMBOL_PREFIX PNG_JOIN name;-PNG_DEFN_END
#define TRAILER PNG_DEFN_MAGIC-local: *; };-PNG_DEFN_END

View File

@ -15,16 +15,16 @@ class ScalableFont : public gui::IGUIFontBitmap
irr::core::stringc m_file_name;
bool m_has_alpha;
float m_scale;
TextureInfo()
{
m_has_alpha = false;
m_scale = 1.0f;
}
};
std::map<int /* texture file ID */, TextureInfo> m_texture_files;
void lazyLoadTexture(int texID)
{
const bool mipmap = Driver->getTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS);
@ -33,7 +33,7 @@ class ScalableFont : public gui::IGUIFontBitmap
SpriteBank->setTexture(texID, Driver->getTexture( m_texture_files[texID].m_file_name ));
// set previous mip-map+filter state
Driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, mipmap);
// couldn't load texture, abort.
if (!SpriteBank->getTexture(texID))
{
@ -70,29 +70,29 @@ class ScalableFont : public gui::IGUIFontBitmap
core::stringc filename = xml->getAttributeValue(L"filename");
core::stringc fn = filename;
u32 i = (u32)xml->getAttributeValueAsInt(L"index");
float scale=1.0f;
if (xml->getAttributeValue(L"scale"))
scale = xml->getAttributeValueAsFloat(L"scale");
//std::cout << "scale = " << scale << std::endl;
core::stringw alpha = xml->getAttributeValue(L"hasAlpha");
//std::cout << "---- Adding font texture " << fn.c_str() << "; alpha=" << alpha.c_str() << std::endl;
// make sure the sprite bank has enough textures in it
while (i+1 > SpriteBank->getTextureCount())
{
SpriteBank->addTexture(NULL);
}
TextureInfo info;
info.m_file_name = fn;
info.m_has_alpha = (alpha == core::stringw("true"));
info.m_scale = scale;
m_texture_files[i] = info;
m_texture_files[i] = info;
}
else if (core::stringw(L"c") == xml->getNodeName())
{
@ -101,16 +101,16 @@ class ScalableFont : public gui::IGUIFontBitmap
gui::SGUISpriteFrame f;
gui::SGUISprite s;
core::rect<s32> rectangle;
a.underhang = xml->getAttributeValueAsInt(L"u");
a.overhang = xml->getAttributeValueAsInt(L"o");
a.spriteno = SpriteBank->getSprites().size();
s32 texno = xml->getAttributeValueAsInt(L"i");
// parse rectangle
core::stringc rectstr = xml->getAttributeValue(L"r");
wchar_t ch = xml->getAttributeValue(L"c")[0];
const c8 *c = rectstr.c_str();
s32 val;
val = 0;
@ -122,7 +122,7 @@ class ScalableFont : public gui::IGUIFontBitmap
}
rectangle.UpperLeftCorner.X = val;
while (*c == L' ' || *c == L',') c++;
val = 0;
while (*c >= '0' && *c <= '9')
{
@ -132,7 +132,7 @@ class ScalableFont : public gui::IGUIFontBitmap
}
rectangle.UpperLeftCorner.Y = val;
while (*c == L' ' || *c == L',') c++;
val = 0;
while (*c >= '0' && *c <= '9')
{
@ -142,7 +142,7 @@ class ScalableFont : public gui::IGUIFontBitmap
}
rectangle.LowerRightCorner.X = val;
while (*c == L' ' || *c == L',') c++;
val = 0;
while (*c >= '0' && *c <= '9')
{
@ -151,24 +151,24 @@ class ScalableFont : public gui::IGUIFontBitmap
c++;
}
rectangle.LowerRightCorner.Y = val;
CharacterMap[ch] = Areas.size();
// make frame
f.rectNumber = SpriteBank->getPositions().size();
f.textureNumber = texno;
// add frame to sprite
s.Frames.push_back(f);
s.frameTime = 0;
// add rectangle to sprite bank
SpriteBank->getPositions().push_back(rectangle);
a.width = rectangle.getWidth();
// add sprite to sprite bank
SpriteBank->getSprites().push_back(s);
// add character to font
Areas.push_back(a);
}
@ -179,11 +179,11 @@ class ScalableFont : public gui::IGUIFontBitmap
public:
bool m_black_border;
ScalableFont* m_fallback_font;
float m_fallback_font_scale;
int m_fallback_kerning_width;
//! constructor
ScalableFont(gui::IGUIEnvironment *env, const io::path& filename)
: Driver(0), SpriteBank(0), Environment(env), WrongCharacter(0),
@ -192,7 +192,7 @@ public:
#ifdef _DEBUG
setDebugName("ScalableFont");
#endif
m_fallback_font = NULL;
m_fallback_kerning_width = 0;
m_fallback_font_scale = 1.0f;
@ -213,14 +213,14 @@ public:
Driver->grab();
setInvisibleCharacters ( L" " );
io::IXMLReader* reader = env->getFileSystem()->createXMLReader(filename.c_str());
if (reader)
{
load( reader );
reader->drop();
}
assert(Areas.size() > 0);
assert_log(Areas.size() > 0);
}
//! destructor
@ -239,7 +239,7 @@ public:
return false;
doReadXmlFile(xml);
// set bad character
WrongCharacter = getAreaIDFromCharacter(L' ', NULL);
@ -262,7 +262,7 @@ public:
bool vcenter=false, const core::rect<s32>* clip=0)
{
if (!Driver) return;
core::position2d<s32> offset = position.UpperLeftCorner;
core::dimension2d<s32> text_dimension;
@ -274,7 +274,7 @@ public:
core::array<core::position2di> offsets(text_size);
core::array<bool> fallback;
fallback.set_used(text_size);
for (u32 i = 0; i<text_size; i++)
{
wchar_t c = text[i];
@ -285,7 +285,7 @@ public:
offset.X = position.UpperLeftCorner.X + position.getWidth()/2;
continue;
}
if (c == L'\r' || // Windows breaks
c == L'\n') // Unix breaks
{
@ -303,7 +303,7 @@ public:
fallback[i] = use_fallback_font;
offset.X += area.underhang;
offsets.push_back(offset);
// Invisible character. add something to the array anyway so that
// Invisible character. add something to the array anyway so that
// indices from the various arrays remain in sync
indices.push_back((Invisible.findFirst(c) < 0) ? (int)area.spriteno
: -1);
@ -313,7 +313,7 @@ public:
// ---- do the actual rendering
const int indiceAmount = indices.size();
core::array< gui::SGUISprite >& sprites = SpriteBank->getSprites();
core::array< core::rect<s32> >& positions = SpriteBank->getPositions();
core::array< core::rect<s32> >& positions = SpriteBank->getPositions();
core::array< gui::SGUISprite >* fallback_sprites;
core::array< core::rect<s32> >* fallback_positions;
if (m_fallback_font!=NULL)
@ -336,43 +336,43 @@ public:
continue;
if (indices[n] == -1)
continue;
//assert(sprites[spriteID].Frames.size() > 0);
//assert_log(sprites[spriteID].Frames.size() > 0);
const int texID = (fallback[n] ?
(*fallback_sprites)[spriteID].Frames[0].textureNumber :
sprites[spriteID].Frames[0].textureNumber);
core::rect<s32> source = (fallback[n] ?
(*fallback_positions)[(*fallback_sprites)[spriteID].Frames[0].rectNumber] :
positions[sprites[spriteID].Frames[0].rectNumber]);
const TextureInfo& info = (fallback[n] ?
(*(m_fallback_font->m_texture_files.find(texID))).second :
(*(m_texture_files.find(texID))).second);
float char_scale = info.m_scale;
core::dimension2d<s32> size = source.getSize();
float scale = (fallback[n] ? m_scale*m_fallback_font_scale : m_scale);
size.Width = (int)(size.Width * scale * char_scale);
size.Height = (int)(size.Height * scale * char_scale);
// align vertically if character is smaller
int y_shift = (size.Height < MaxHeight*m_scale ? (int)((MaxHeight*m_scale - size.Height)/2.0f) : 0);
core::rect<s32> dest(offsets[n] + core::position2di(0, y_shift), size);
video::SColor colors[] = {color, color, color, color};
video::ITexture* texture = (fallback[n] ?
m_fallback_font->SpriteBank->getTexture(texID) :
SpriteBank->getTexture(texID) );
if (texture == NULL)
{
// perform lazy loading
if (fallback[n])
{
m_fallback_font->lazyLoadTexture(texID);
@ -383,19 +383,19 @@ public:
lazyLoadTexture(texID);
texture = SpriteBank->getTexture(texID);
}
if (texture == NULL)
{
continue; // no such character
}
}
if (m_black_border)
{
// draw black border
video::SColor black(color.getAlpha(),0,0,0);
video::SColor black_colors[] = {black, black, black, black};
for (int x_delta=-2; x_delta<=2; x_delta++)
{
for (int y_delta=-2; y_delta<=2; y_delta++)
@ -406,10 +406,10 @@ public:
source,
clip,
black_colors, true);
}
}
}
}
if (fallback[n])
{
// draw text over
@ -429,7 +429,7 @@ public:
source,
clip,
colors, true);
}
}
}
@ -437,8 +437,8 @@ public:
//! returns the dimension of a text
virtual core::dimension2d<u32> getDimension(const wchar_t* text) const
{
assert(Areas.size() > 0);
assert_log(Areas.size() > 0);
core::dimension2d<u32> dim(0, 0);
core::dimension2d<u32> thisLine(0, (int)(MaxHeight*m_scale));
@ -458,9 +458,9 @@ public:
bool fallback = false;
const SFontArea &area = getAreaFromCharacter(*p, &fallback);
thisLine.Width += area.underhang;
thisLine.Width += getCharWidth(area, fallback);
}
@ -473,7 +473,7 @@ public:
dim.Height = (int)(dim.Height + 0.9f);
//std::cout << dim.Width << ", " << dim.Height << std::endl;
return dim;
}
//! Calculates the index of the character in the text which is on a specific position.
@ -557,25 +557,25 @@ private:
s32 width;
u32 spriteno;
};
int getCharWidth(const SFontArea& area, const bool fallback) const
{
core::array< gui::SGUISprite >& sprites = SpriteBank->getSprites();
core::array< gui::SGUISprite >& sprites = SpriteBank->getSprites();
core::array< gui::SGUISprite >* fallback_sprites = (m_fallback_font != NULL ?
&m_fallback_font->SpriteBank->getSprites() :
NULL);
const int texID = (fallback ?
(*fallback_sprites)[area.spriteno].Frames[0].textureNumber :
sprites[area.spriteno].Frames[0].textureNumber);
const TextureInfo& info = (fallback ?
(*(m_fallback_font->m_texture_files.find(texID))).second :
(*(m_texture_files.find(texID))).second);
const float char_scale = info.m_scale;
//std::cout << "area.spriteno=" << area.spriteno << ", char_scale=" << char_scale << std::endl;
if (fallback)
return (int)(((area.width + area.overhang)*m_fallback_font_scale + m_fallback_kerning_width) * m_scale * char_scale);
else
@ -607,7 +607,7 @@ private:
{
const int area_id = getAreaIDFromCharacter(c, fallback_font);
const bool use_fallback_font = (fallback_font && *fallback_font);
// Note: fallback_font can be NULL
return ( use_fallback_font ? m_fallback_font->Areas[area_id] : Areas[area_id]);
} // getAreaFromCharacter
@ -661,6 +661,8 @@ static bool draw2DImage4c(video::E_DRIVER_TYPE type)
return true;
}
stabilizeScreenBackground(driver);
logTestString("Testing driver %ls\n", driver->getName());
driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS,true);
@ -668,7 +670,7 @@ static bool draw2DImage4c(video::E_DRIVER_TYPE type)
video::ITexture* images = driver->getTexture("../media/2ddemo.png");
driver->makeColorKeyTexture(images, core::position2d<s32>(0,0));
core::rect<s32> imp1(349,15,385,78);
core::rect<s32> imp2(387,15,423,78);
@ -677,7 +679,7 @@ static bool draw2DImage4c(video::E_DRIVER_TYPE type)
device->getFileSystem()->changeWorkingDirectoryTo("media");
ScalableFont* font = new ScalableFont(device->getGUIEnvironment(), "title_font.xml");
font->m_fallback_font_scale = 4.0f;
font->m_fallback_font_scale = 4.0f;
font->m_fallback_kerning_width = 15;
font->setKerningWidth(-18);
font->m_black_border = true;
@ -687,25 +689,25 @@ static bool draw2DImage4c(video::E_DRIVER_TYPE type)
*/
driver->getMaterial2D().UseMipMaps = true;
driver->getMaterial2D().TextureLayer[0].BilinearFilter = true;
{
driver->beginScene(true, true, video::SColor(255,120,102,136));
driver->enableMaterial2D();
// draw fire & dragons background world
driver->draw2DImage(images, core::position2di(),
core::rect<s32>(0,0,342,224), 0,
video::SColor(255,255,255,255), true);
// draw flying imp
driver->draw2DImage(images, core::position2d<s32>(114,75),
imp1, 0, video::SColor(255,255,255,255), true);
// draw second flying imp
driver->draw2DImage(images, core::position2d<s32>(220,55),
imp2, 0, video::SColor(255,255,255,255), true);
driver->draw2DImage(images, core::rect<s32>(10,10,108,48),
core::rect<s32>(354,87,442,118));
@ -715,15 +717,15 @@ static bool draw2DImage4c(video::E_DRIVER_TYPE type)
font->draw( L"WXYZsSdDrRjJbB", core::rect<s32>(30,20,300,300),
video::SColor(255,255,255,255) );
driver->enableMaterial2D(false);
driver->draw2DImage(images, core::recti(10,90,108,128),
core::recti(354,87,442,118), 0, colors, true);
font->draw( L"WXYZsSdDrRjJbB", core::rect<s32>(30,60,300,400),
video::SColor(255,255,255,255) );
driver->endScene();
}
font->drop();
@ -775,6 +777,9 @@ static bool addBlend2d(video::E_DRIVER_TYPE type)
device->drop();
return false;
}
stabilizeScreenBackground(driver);
scene::IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh );
if (node)
@ -830,7 +835,7 @@ static bool addBlend2d(video::E_DRIVER_TYPE type)
device->run();
device->drop();
return result;
}
}
// This test renders 4 times the same image. Two via IGUIImage, two via draw2DImage
// 3 of the 4 images are filtered via 2dmaterial and bilinear filter, only the one
@ -852,6 +857,8 @@ static bool moreFilterTests(video::E_DRIVER_TYPE type)
return true;
}
stabilizeScreenBackground(driver);
logTestString("Testing driver %ls\n", driver->getName());
driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, false);
@ -891,7 +898,7 @@ static bool moreFilterTests(video::E_DRIVER_TYPE type)
device->run();
device->drop();
return result;
}
}
bool twodmaterial()
{

View File

@ -4,7 +4,7 @@ Sources = $(wildcard *.cpp)
CPPFLAGS = -I../include -I/usr/X11R6/include -pipe
# CXXFLAGS += -O3
CXXFLAGS += -Wall -ansi -pedantic -O0 -g -D_DEBUG
CXXFLAGS += -Wall -ansi -pedantic -O0 -g -D_DEBUG -fno-exceptions
ifeq ($(HOSTTYPE), x86_64)
LIBSELECT=64

View File

@ -37,6 +37,9 @@ static bool testLineRendering(video::E_DRIVER_TYPE type)
device->drop();
return false;
}
stabilizeScreenBackground(driver);
scene::IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh );
if (node)
@ -48,13 +51,14 @@ static bool testLineRendering(video::E_DRIVER_TYPE type)
smgr->addCameraSceneNode(0, core::vector3df(0,30,-40), core::vector3df(0,5,0));
device->getTimer()->setTime(0); // scene has animations and current scene seems to be saved at that time
driver->beginScene(true, true, video::SColor(255,100,101,140));
smgr->drawAll();
driver->draw3DBox(node->getBoundingBox(), video::SColor(0,255,0,0));
driver->draw2DLine(core::position2di(10,10), core::position2di(100,100), video::SColor(255,0,0,0));
driver->endScene();
bool result = takeScreenshotAndCompareAgainstReference(driver, "-lineAntiAliasing.png", 99.17f );
bool result = takeScreenshotAndCompareAgainstReference(driver, "-lineAntiAliasing.png", 99.4f );
device->closeDevice();
device->run();

View File

@ -312,7 +312,7 @@ bool testSpecialZip(IFileSystem* fs, const char* archiveName, const char* filena
logTestString("%s name: %s\n", fileList->isDirectory(f)?"Directory":"File", fileList->getFileName(f).c_str());
logTestString("Full path: %s\n", fileList->getFullFileName(f).c_str());
}
if (!fs->existFile(filename))
{
logTestString("existFile failed\n");
@ -429,14 +429,14 @@ bool testAddRemove(IFileSystem* fs, const io::path& archiveName)
bool archiveReader()
{
IrrlichtDevice * device = irr::createDevice(video::EDT_NULL, dimension2d<u32>(1, 1));
assert(device);
assert_log(device);
if(!device)
return false;
io::IFileSystem * fs = device->getFileSystem ();
if ( !fs )
return false;
bool ret = true;
logTestString("Testing mount file.\n");
ret &= testArchive(fs, "media/file_with_path");
@ -458,7 +458,7 @@ bool archiveReader()
// logTestString("Testing complex mount file.\n");
// ret &= testMountFile(fs);
logTestString("Testing add/remove with filenames.\n");
testAddRemove(fs, "media/file_with_path.zip");
ret &= testAddRemove(fs, "media/file_with_path.zip");
device->closeDevice();
device->run();

View File

@ -10,7 +10,7 @@ bool b3dAnimation(void)
{
// Use EDT_BURNINGSVIDEO since it is not dependent on (e.g.) OpenGL driver versions.
IrrlichtDevice *device = createDevice(video::EDT_BURNINGSVIDEO, core::dimension2d<u32>(160, 120), 32);
assert(device);
assert_log(device);
if (!device)
return false;
@ -18,14 +18,14 @@ bool b3dAnimation(void)
scene::ISceneManager * smgr = device->getSceneManager();
scene::ISkinnedMesh* mesh = (scene::ISkinnedMesh*)smgr->getMesh("../media/ninja.b3d");
assert(mesh);
assert_log(mesh);
bool result = false;
if (!mesh)
return false;
scene::IAnimatedMeshSceneNode* node1 = smgr->addAnimatedMeshSceneNode(mesh);
assert(node1);
assert_log(node1);
/** Verify that two skinned animated mesh scene nodes can use different frames of the skinned mesh */
if(node1)
@ -38,7 +38,7 @@ bool b3dAnimation(void)
}
scene::IAnimatedMeshSceneNode* node2 = smgr->addAnimatedMeshSceneNode(mesh);
assert(node2);
assert_log(node2);
if(node2)
{
node2->setPosition(core::vector3df(3, -3, 10));

View File

@ -25,7 +25,7 @@ public:
logTestString("*** Error: collision point, expected %f %f %f\n",
ExpectedCollisionPoint.X, ExpectedCollisionPoint.Y, ExpectedCollisionPoint.Z);
expectedCollisionCallbackPositions = false;
assert(false);
assert_log(false);
}
const vector3df & nodePosition = animator.getCollisionResultPosition();
@ -34,14 +34,14 @@ public:
logTestString("*** Error: result position, expected %f %f %f\n",
ExpectedNodePosition.X, ExpectedNodePosition.Y, ExpectedNodePosition.Z);
expectedCollisionCallbackPositions = false;
assert(false);
assert_log(false);
}
if(animator.getTargetNode() != ExpectedTarget)
{
logTestString("*** Error: wrong node\n");
expectedCollisionCallbackPositions = false;
assert(false);
assert_log(false);
}
return ConsumeNextCollision;
@ -73,7 +73,7 @@ private:
bool collisionResponseAnimator(void)
{
IrrlichtDevice * device = irr::createDevice(video::EDT_NULL);
assert(device);
assert_log(device);
if(!device)
return false;
@ -140,14 +140,14 @@ bool collisionResponseAnimator(void)
if(testNode1->getAbsolutePosition().X > -15.f)
{
logTestString("collisionResponseAnimator test node 1 wasn't stopped from moving.\n");
assert(false);
assert_log(false);
result = false;
}
if(testNode2->getAbsolutePosition().X < 50.f)
{
logTestString("collisionResponseAnimator test node 2 was stopped from moving.\n");
assert(false);
assert_log(false);
result = false;
}
@ -167,7 +167,7 @@ bool collisionResponseAnimator(void)
if(testNode2->getAbsolutePosition().X != -50.f)
{
logTestString("collisionResponseAnimator test node 2 was stopped from moving.\n");
assert(false);
assert_log(false);
result = false;
}
@ -184,7 +184,7 @@ bool collisionResponseAnimator(void)
if(testNode2->getAbsolutePosition().X > -15.f)
{
logTestString("collisionResponseAnimator test node 2 moved too far.\n");
assert(false);
assert_log(false);
result = false;
}

View File

@ -2,7 +2,9 @@
using namespace irr;
static bool testImageCreation()
namespace
{
bool testImageCreation()
{
// create device
@ -15,8 +17,12 @@ static bool testImageCreation()
video::ITexture* tex=driver->getTexture("../media/water.jpg");
video::IImage* img1=driver->createImage(tex, core::vector2di(0,0), core::dimension2du(32,32));
video::ITexture* tex1=driver->addTexture("new1", img1);
img1->drop();
img1=0;
video::IImage* img2=driver->createImage(tex, core::vector2di(0,0), tex->getSize());
video::ITexture* tex2=driver->addTexture("new2", img2);
img2->drop();
img2 = 0;
driver->beginScene(true, true, video::SColor(255,255,0,255));//Backbuffer background is pink
@ -35,8 +41,35 @@ static bool testImageCreation()
return result;
}
bool testImageFormats()
{
IrrlichtDevice *device = createDevice(video::EDT_BURNINGSVIDEO, core::dimension2d<u32>(256,128));
if (device == 0)
return true; // could not create selected driver.
video::IVideoDriver* driver = device->getVideoDriver();
video::ITexture* tex=driver->getTexture("../media/water.jpg");
video::ITexture* tex1=driver->getTexture("media/grey.tga");
driver->beginScene(true, true);
driver->draw2DImage(tex, core::position2d<s32>(0,0), core::recti(0,0,64,64));
driver->draw2DImage(tex1, core::position2d<s32>(0,64), core::recti(0,0,64,64));
driver->endScene();
bool result = takeScreenshotAndCompareAgainstReference(driver, "-testImageFormats.png", 99.5f);
device->closeDevice();
device->run();
device->drop();
return result;
}
}
bool createImage()
{
bool result = testImageCreation();
result &= testImageFormats();
return result;
}

View File

@ -62,7 +62,7 @@ bool cursorSetVisible(void)
if(!result)
{
logTestString("ERROR: cursorSetVisible received %d events.\n", moveTrapper.MouseMovesReceived);
assert(false);
assert_log(false);
}
return result;

View File

@ -38,39 +38,39 @@ bool disambiguateTextures(void)
IVideoDriver * driver = device->getVideoDriver();
ITexture * tex1 = driver->getTexture("../media/tools.png");
assert(tex1);
assert_log(tex1);
if(!tex1)
logTestString("Unable to open ../media/tools.png\n");
ITexture * tex2 = driver->getTexture("../media/tools.png");
assert(tex2);
assert_log(tex2);
if(!tex2)
logTestString("Unable to open ../media/tools.png\n");
IReadFile * readFile = device->getFileSystem()->createAndOpenFile("../media/tools.png");
assert(readFile);
assert_log(readFile);
if(!readFile)
logTestString("Unable to open ../media/tools.png\n");
ITexture * tex3 = driver->getTexture(readFile);
assert(tex3);
assert_log(tex3);
if(!readFile)
logTestString("Unable to create texture from ../media/tools.png\n");
readFile->drop();
// All 3 of the above textures should be identical.
assert(tex1 == tex2);
assert(tex1 == tex3);
assert_log(tex1 == tex2);
assert_log(tex1 == tex3);
stringc newWd = wd + "/empty/empty";
bool changed = device->getFileSystem()->changeWorkingDirectoryTo(newWd.c_str());
assert(changed);
assert_log(changed);
ITexture * tex4 = driver->getTexture("../../media/tools.png");
assert(tex4);
assert_log(tex4);
if(!tex4)
logTestString("Unable to open ../../media/tools.png\n");
assert(tex1 != tex4);
assert_log(tex1 != tex4);
// The working directory must be restored for the other tests to work.
changed &= device->getFileSystem()->changeWorkingDirectoryTo(wd.c_str());

View File

@ -23,6 +23,9 @@ bool testWithRenderTarget(video::E_DRIVER_TYPE driverType)
device->drop();
return true;
}
stabilizeScreenBackground(driver);
logTestString("Testing driver %ls\n", driver->getName());
video::ITexture* RenderTarget=driver->addRenderTargetTexture(core::dimension2d<u32>(64,64), "BASEMAP");
@ -50,6 +53,48 @@ bool testWithRenderTarget(video::E_DRIVER_TYPE driverType)
return result;
}
// Test various special destination rectangles
bool testRectangles(video::E_DRIVER_TYPE driverType)
{
// create device
IrrlichtDevice *device = createDevice(driverType, core::dimension2d<u32>(160,120));
if (device == 0)
return true; // could not create selected driver.
video::IVideoDriver* driver = device->getVideoDriver();
stabilizeScreenBackground(driver);
logTestString("Testing driver %ls\n", driver->getName());
video::ITexture *tex=driver->getTexture("../media/fireball.bmp");
driver->beginScene(true, true, video::SColor(255,255,0,255));//Backbuffer background is pink
// draw normal, will be overdrwan in error case
driver->draw2DImage(tex, core::recti(68,32,132,96), core::recti(0,0,64,64));
//draw the image larger
driver->draw2DImage(tex, core::recti(0,0,64,64), core::recti(0,0,32,32));
//draw the image flipped horizontally
driver->draw2DImage(tex, core::recti(132,0,68,64), core::recti(0,0,64,64));
//draw the image smaller
driver->draw2DImage(tex, core::recti(0,64,32,96), core::recti(0,0,64,64));
//draw the image much smaller
driver->draw2DImage(tex, core::recti(36,64,44,72), core::recti(0,0,64,64));
//draw the image flipped horizontally
driver->draw2DImage(tex, core::recti(68,64,132,0), core::recti(0,0,64,64));
driver->endScene();
bool result = takeScreenshotAndCompareAgainstReference(driver, "-draw2DImageRect.png");
device->closeDevice();
device->run();
device->drop();
return result;
}
// draws a complex (interlaced, paletted, alpha) png image
bool testWithPNG(video::E_DRIVER_TYPE driverType)
{
@ -62,6 +107,8 @@ bool testWithPNG(video::E_DRIVER_TYPE driverType)
video::IVideoDriver* driver = device->getVideoDriver();
stabilizeScreenBackground(driver);
logTestString("Testing driver %ls\n", driver->getName());
video::ITexture *tex=driver->getTexture("media/RedbrushAlpha-0.25.png");
@ -84,7 +131,7 @@ bool testExactPlacement(video::E_DRIVER_TYPE driverType)
{
// create device
IrrlichtDevice *device = createDevice(video::EDT_DIRECT3D9, core::dimension2d<u32>(160,120), 32);
IrrlichtDevice *device = createDevice(driverType, core::dimension2d<u32>(160,120), 32);
if (device == 0)
return true; // could not create selected driver.
@ -98,6 +145,9 @@ bool testExactPlacement(video::E_DRIVER_TYPE driverType)
device->drop();
return true;
}
stabilizeScreenBackground(driver);
logTestString("Testing driver %ls\n", driver->getName());
video::ITexture* rt=driver->addRenderTargetTexture(core::dimension2d<u32>(32,32), "rt1");
@ -111,7 +161,8 @@ bool testExactPlacement(video::E_DRIVER_TYPE driverType)
video::IImage* img = driver->createImage(rt, core::vector2di(), rt->getSize());
driver->writeImageToFile(img, "results/fireball.png");
bool result = binaryCompareFiles("media/fireball.png", "results/fireball.png");
img->drop();
bool result = fuzzyCompareImages(driver, "media/fireball.png", "results/fireball.png")>98.25f;
device->closeDevice();
device->run();
@ -126,7 +177,9 @@ bool draw2DImage()
{
bool result = true;
TestWithAllDrivers(testWithRenderTarget);
TestWithAllDrivers(testExactPlacement);
TestWithAllHWDrivers(testWithPNG);
// TODO D3D driver moves image 1 pixel top-left in case of down scaling
TestWithAllDrivers(testExactPlacement);
TestWithAllDrivers(testRectangles);
return result;
}

View File

@ -24,6 +24,8 @@ static bool lineRender(E_DRIVER_TYPE driverType)
IVideoDriver* driver = device->getVideoDriver();
ISceneManager * smgr = device->getSceneManager();
stabilizeScreenBackground(driver);
logTestString("Testing driver %ls\n", driver->getName());
// Draw a cube background so that we can check that the pixels' alpha is working.
@ -66,6 +68,8 @@ static bool pixelAccuracy(E_DRIVER_TYPE driverType)
IVideoDriver* driver = device->getVideoDriver();
stabilizeScreenBackground(driver);
logTestString("Testing driver %ls\n", driver->getName());
device->getSceneManager()->addCameraSceneNode();
@ -110,12 +114,78 @@ static bool pixelAccuracy(E_DRIVER_TYPE driverType)
return result;
}
// this test draws lines of different lengths and compares
// them with pixel placement
// grey pixels denote start and end of the white drawn lines
// black pixels only make those grey points better visible
// yellow and magenta lines should start and end next toa black pixel,
// yellow one right to the last black pixel down, magenta below the last
// black pixel to the right
// white lines are always double drawn, lines back and forth.
static bool drawLine(E_DRIVER_TYPE driverType)
{
IrrlichtDevice *device = createDevice( driverType, dimension2d<u32>(160, 120), 32);
if (!device)
return true; // Treat a failure to create a driver as benign; this saves a lot of #ifdefs
IVideoDriver* driver = device->getVideoDriver();
stabilizeScreenBackground(driver);
logTestString("Testing driver %ls\n", driver->getName());
device->getSceneManager()->addCameraSceneNode();
driver->beginScene(true, true, SColor(255,100,101,140));
// horizontal lines
for (u32 i=0; i<20; ++i)
{
driver->draw2DLine(core::vector2di(10,10+3*i), core::vector2di(10+2*i,10+3*i));
// mark start point
driver->drawPixel(9,10+3*i+1, video::SColor(0xff000000));
driver->drawPixel(10,10+3*i+1, video::SColor(0xff888888));
driver->drawPixel(11,10+3*i+1, video::SColor(0xff000000));
// mark end point
driver->drawPixel(9+2*i,10+3*i+1, video::SColor(0xff000000));
driver->drawPixel(10+2*i,10+3*i+1, video::SColor(0xff888888));
driver->drawPixel(11+2*i,10+3*i+1, video::SColor(0xff000000));
driver->draw2DLine(core::vector2di(10+2*i,10+3*i+2), core::vector2di(10,10+3*i+2));
}
// vertical lines
for (u32 i=0; i<20; ++i)
{
driver->draw2DLine(core::vector2di(11+3*i,10), core::vector2di(11+3*i,10+2*i));
// mark start point
driver->drawPixel(11+3*i+1,9, video::SColor(0xff000000));
driver->drawPixel(11+3*i+1,10, video::SColor(0xff888888));
driver->drawPixel(11+3*i+1,11, video::SColor(0xff000000));
// mark end point
driver->drawPixel(11+3*i+1,9+2*i, video::SColor(0xff000000));
driver->drawPixel(11+3*i+1,10+2*i, video::SColor(0xff888888));
driver->drawPixel(11+3*i+1,11+2*i, video::SColor(0xff000000));
driver->draw2DLine(core::vector2di(11+3*i+2,10+2*i), core::vector2di(11+3*i+2, 10));
}
// diagonal lines
driver->draw2DLine(core::vector2di(14,14),core::vector2di(50,68), video::SColor(0xffffff00));
driver->draw2DLine(core::vector2di(15,14),core::vector2di(69,50), video::SColor(0xffff00ff));
driver->endScene();
bool result = takeScreenshotAndCompareAgainstReference(driver, "-drawLine.png");
device->closeDevice();
device->run();
device->drop();
return result;
}
bool drawPixel(void)
{
bool result = true;
TestWithAllDrivers(lineRender);
TestWithAllDrivers(pixelAccuracy);
TestWithAllDrivers(drawLine);
return result;
}

View File

@ -14,6 +14,8 @@ bool testWithDriver(video::E_DRIVER_TYPE driverType)
video::IVideoDriver* driver = device->getVideoDriver();
stabilizeScreenBackground(driver);
logTestString("Testing driver %ls\n", driver->getName());
driver->beginScene(true, true, video::SColor(255,100,101,140));

View File

@ -15,7 +15,7 @@ bool enumerateImageManipulators(void)
IVideoDriver* driver = device->getVideoDriver();
const char* filenames[] =
const char* filenames[] =
{
"foo.bmp",
"foo.jpg",
@ -49,11 +49,11 @@ bool enumerateImageManipulators(void)
for (i = 0; i < loaders; ++i)
{
IImageLoader * loader = driver->getImageLoader(i);
if(!loader)
{
logTestString("Failed to get image loader %d\n", i);
assert(false);
assert_log(false);
result = false;
}
@ -67,7 +67,7 @@ bool enumerateImageManipulators(void)
}
IImageLoader * loader = driver->getImageLoader(i);
assert(loader == 0);
assert_log(loader == 0);
if(loader)
{
logTestString("Got a loader when none was expected (%d)\n", i);
@ -79,7 +79,7 @@ bool enumerateImageManipulators(void)
if(!loaderForFilename[filename])
{
logTestString("File type '%s' doesn't have a loader\n", filenames[filename]);
assert(false);
assert_log(false);
result = false;
}
}
@ -88,11 +88,11 @@ bool enumerateImageManipulators(void)
for (i = 0; i < writers; ++i)
{
IImageWriter * writer = driver->getImageWriter(i);
if(!writer)
{
logTestString("Failed to get image writer %d\n", i);
assert(false);
assert_log(false);
result = false;
}
@ -107,7 +107,7 @@ bool enumerateImageManipulators(void)
}
IImageWriter * writer = driver->getImageWriter(i);
assert(writer == 0);
assert_log(writer == 0);
if(writer)
{
logTestString("Got a writer when none was expected (%d)\n", i);
@ -120,7 +120,7 @@ bool enumerateImageManipulators(void)
if(!writerForFilename[filename] && (filename<writersUntil))
{
logTestString("File type '%s' doesn't have a writer\n", filenames[filename]);
assert(false);
assert_log(false);
result = false;
}
}

View File

@ -90,7 +90,9 @@ static bool testCalculation_atof(const char * valueString)
logTestString("\n String '%s'\n New fast %.40f\n Old fast %.40f\n atof %.40f\n",
valueString, newFastValue, oldFastValue, atofValue);
bool accurate = fabs(newFastValue - atofValue) <= fabs(oldFastValue - atofValue);
const f32 diffNew = fabs(newFastValue - atofValue) ;
const f32 diffOld = fabs(newFastValue - atofValue) ;
bool accurate = diffNew <= diffOld || equalsByUlp(diffNew, diffOld, 1);
if(!accurate)
logTestString("*** ERROR - less accurate than old method ***\n\n");
@ -102,7 +104,7 @@ static bool testCalculation_strtol(const char * valueString)
{
const s32 newFastValue = strtol10(valueString);
const s32 oldFastValue = old_strtol10(valueString);
const s32 strtolValue = (s32)strtol(valueString, 0, 10);
const s32 strtolValue = (s32)clamp(strtol(valueString, 0, 10), (long int)INT_MIN, (long int)INT_MAX);
logTestString("\n String '%s'\n New fast %d\n Old fast %d\n strtol %d\n",
valueString, newFastValue, oldFastValue, strtolValue);
@ -153,6 +155,7 @@ bool test_fast_atof(void)
return false;
}
#ifndef _DEBUG // it's only faster in release
IrrlichtDevice* device = createDevice(video::EDT_NULL);
if (!device)
return false;
@ -190,6 +193,7 @@ bool test_fast_atof(void)
logTestString("The fast method is slower than atof()\n");
return false;
}
#endif // #ifndef _DEBUG
return true;
}
@ -232,6 +236,7 @@ bool test_strtol(void)
return false;
}
#ifndef _DEBUG // it's only faster in release
IrrlichtDevice* device = createDevice(video::EDT_NULL);
if (!device)
return false;
@ -269,11 +274,15 @@ bool test_strtol(void)
logTestString("The fast method is slower than strtol()\n");
return false;
}
#endif // #ifndef _DEBUG
return true;
}
bool fast_atof(void)
{
return test_fast_atof() && test_strtol();
bool ok = true;
ok &= test_fast_atof() ;
ok &= test_strtol();
return ok;
}

View File

@ -125,48 +125,48 @@ static bool testgetRelativeFilename(io::IFileSystem* fs)
bool filesystem(void)
{
IrrlichtDevice * device = irr::createDevice(video::EDT_NULL, dimension2d<u32>(1, 1));
assert(device);
assert_log(device);
if(!device)
return false;
io::IFileSystem * fs = device->getFileSystem ();
if ( !fs )
return false;
bool result = true;
io::path workingDir = device->getFileSystem()->getWorkingDirectory();
io::path empty;
if ( fs->existFile(empty) )
{
logTestString("Empty filename should not exist.\n");
result = false;
}
io::path newWd = workingDir + "/media";
bool changed = device->getFileSystem()->changeWorkingDirectoryTo(newWd);
assert(changed);
assert_log(changed);
if ( fs->existFile(empty) )
{
logTestString("Empty filename should not exist even in another workingdirectory.\n");
result = false;
}
// The working directory must be restored for the other tests to work.
changed = device->getFileSystem()->changeWorkingDirectoryTo(workingDir.c_str());
assert(changed);
assert_log(changed);
// adding a folder archive which just should not really change anything
device->getFileSystem()->addFileArchive( "./" );
if ( fs->existFile(empty) )
{
logTestString("Empty filename should not exist in folder file archive.\n");
result = false;
}
// remove it again to not affect other tests
device->getFileSystem()->removeFileArchive( device->getFileSystem()->getFileArchiveCount() );

View File

@ -16,7 +16,7 @@ bool guiDisabledMenu(void)
{
IrrlichtDevice *device = createDevice( video::EDT_BURNINGSVIDEO,
dimension2d<u32>(160, 40), 32);
assert(device);
assert_log(device);
if (!device)
return false;

View File

@ -14,7 +14,7 @@ using namespace gui;
static bool saveScene(void)
{
IrrlichtDevice *device = createDevice( EDT_NULL, dimension2d<u32>(160, 120), 32);
assert(device);
assert_log(device);
if (!device)
return false;
@ -60,11 +60,11 @@ static bool saveScene(void)
logTestString("Test scene.irr");
smgr->saveScene("results/scene.irr");
bool result = binaryCompareFiles("results/scene.irr", "media/scene.irr");
bool result = xmlCompareFiles(device->getFileSystem(), "results/scene.irr", "media/scene.irr");
logTestString("Test scene2.irr");
smgr->saveScene("results/scene2.irr", 0, node3);
result &= binaryCompareFiles("results/scene2.irr", "media/scene2.irr");
result &= xmlCompareFiles(device->getFileSystem(), "results/scene2.irr", "media/scene2.irr");
device->closeDevice();
device->run();
@ -90,6 +90,7 @@ static bool loadScene(void)
bool result = false;
device->run();
device->getTimer()->setTime(666); // scene has animations and current scene seems to be saved at that time ... really - best result with just that number :-)
if (driver->beginScene(true, true, video::SColor(0, 80, 80, 80)))
{
smgr->drawAll();

View File

@ -3,7 +3,6 @@
#include "testUtils.h"
#include <irrlicht.h>
#include <assert.h>
using namespace irr;
using namespace core;
@ -12,7 +11,7 @@ core::map<int, int> countReferences;
struct SDummy
{
SDummy(int a) : x(a)
SDummy(int a) : x(a)
{
countReferences.insert(x,1);
}
@ -22,7 +21,7 @@ struct SDummy
countReferences.insert(x,1);
}
SDummy(const SDummy& other)
SDummy(const SDummy& other)
{
x = other.x;
countReferences[x] = countReferences[x] + 1;
@ -109,7 +108,7 @@ static bool testSwap()
result &= (array1 == copy2);
result &= (array2 == copy1);
assert( result );
assert_log( result );
return result;
}

View File

@ -1,6 +1,5 @@
#include "testUtils.h"
#include <irrlicht.h>
#include <assert.h>
using namespace irr;
using namespace core;
@ -53,7 +52,7 @@ static bool testSwap()
result &= compareLists<int>(list1, copy2);
result &= compareLists<int>(list2, copy1);
assert( result );
assert_log( result );
return result;
}

Some files were not shown because too many files have changed in this diff Show More