Templates for new implementation
- added template of classes/structs for new implementation - changed #include paths - updated README filesdev-ui
parent
4531ac88d3
commit
8bb223e679
|
@ -2,8 +2,27 @@
|
||||||
add_subdirectory(CBot)
|
add_subdirectory(CBot)
|
||||||
|
|
||||||
set(SOURCES
|
set(SOURCES
|
||||||
app/d3dapp.cpp
|
old/d3dapp.cpp
|
||||||
app/joystick.cpp
|
old/joystick.cpp
|
||||||
|
old/blitz.cpp
|
||||||
|
old/camera.cpp
|
||||||
|
old/cloud.cpp
|
||||||
|
old/light.cpp
|
||||||
|
old/model.cpp
|
||||||
|
old/particule.cpp
|
||||||
|
old/planet.cpp
|
||||||
|
old/pyro.cpp
|
||||||
|
old/terrain.cpp
|
||||||
|
old/text.cpp
|
||||||
|
old/water.cpp
|
||||||
|
old/d3dengine.cpp
|
||||||
|
old/d3denum.cpp
|
||||||
|
old/d3dframe.cpp
|
||||||
|
old/d3dtextr.cpp
|
||||||
|
old/d3dutil.cpp
|
||||||
|
old/d3dmath.cpp
|
||||||
|
old/math3d.cpp
|
||||||
|
app/app.cpp
|
||||||
common/event.cpp
|
common/event.cpp
|
||||||
common/iman.cpp
|
common/iman.cpp
|
||||||
common/metafile.cpp
|
common/metafile.cpp
|
||||||
|
@ -11,24 +30,19 @@ common/misc.cpp
|
||||||
common/modfile.cpp
|
common/modfile.cpp
|
||||||
common/profile.cpp
|
common/profile.cpp
|
||||||
common/restext.cpp
|
common/restext.cpp
|
||||||
graphics/common/blitz.cpp
|
|
||||||
graphics/common/camera.cpp
|
graphics/common/camera.cpp
|
||||||
graphics/common/cloud.cpp
|
graphics/common/cloud.cpp
|
||||||
|
graphics/common/color.cpp
|
||||||
|
graphics/common/engine.cpp
|
||||||
graphics/common/light.cpp
|
graphics/common/light.cpp
|
||||||
|
graphics/common/lightning.cpp
|
||||||
graphics/common/model.cpp
|
graphics/common/model.cpp
|
||||||
graphics/common/particule.cpp
|
graphics/common/particle.cpp
|
||||||
graphics/common/planet.cpp
|
graphics/common/planet.cpp
|
||||||
graphics/common/pyro.cpp
|
graphics/common/pyro.cpp
|
||||||
graphics/common/terrain.cpp
|
graphics/common/terrain.cpp
|
||||||
graphics/common/text.cpp
|
graphics/common/text.cpp
|
||||||
graphics/common/water.cpp
|
graphics/common/water.cpp
|
||||||
graphics/d3d/d3dengine.cpp
|
|
||||||
graphics/d3d/d3denum.cpp
|
|
||||||
graphics/d3d/d3dframe.cpp
|
|
||||||
graphics/d3d/d3dtextr.cpp
|
|
||||||
graphics/d3d/d3dutil.cpp
|
|
||||||
math/old/d3dmath.cpp
|
|
||||||
math/old/math3d.cpp
|
|
||||||
object/auto/auto.cpp
|
object/auto/auto.cpp
|
||||||
object/auto/autobase.cpp
|
object/auto/autobase.cpp
|
||||||
object/auto/autoconvert.cpp
|
object/auto/autoconvert.cpp
|
||||||
|
@ -125,7 +139,7 @@ ui/window.cpp
|
||||||
add_definitions(-DSTRICT -DD3D_OVERLOADS)
|
add_definitions(-DSTRICT -DD3D_OVERLOADS)
|
||||||
|
|
||||||
# Change to DirectX SDK directory
|
# Change to DirectX SDK directory
|
||||||
set(DXSDK_DIR "/mnt/windows/dxsdk")
|
set(DXSDK_DIR "c:/dxsdk")
|
||||||
|
|
||||||
include_directories(${DXSDK_DIR}/include .)
|
include_directories(${DXSDK_DIR}/include .)
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
src/app
|
src/app
|
||||||
|
|
||||||
Contains the main class of the application and joystick module (to be incorporated into application module once using SDL).
|
Contains the main class of the application.
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// app.cpp
|
||||||
|
|
||||||
|
#include "app/app.h"
|
||||||
|
|
||||||
|
|
||||||
|
// TODO implementation
|
|
@ -0,0 +1,27 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// app.h
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
class CApplication
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
};
|
||||||
|
|
|
@ -26,9 +26,9 @@
|
||||||
#include <d3d.h>
|
#include <d3d.h>
|
||||||
|
|
||||||
#include "common/struct.h"
|
#include "common/struct.h"
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
#include "math/old/d3dmath.h"
|
#include "old/d3dmath.h"
|
||||||
#include "graphics/d3d/d3dutil.h"
|
#include "old/d3dutil.h"
|
||||||
#include "common/language.h"
|
#include "common/language.h"
|
||||||
#include "common/event.h"
|
#include "common/event.h"
|
||||||
#include "common/misc.h"
|
#include "common/misc.h"
|
||||||
|
|
|
@ -23,13 +23,13 @@
|
||||||
|
|
||||||
#include "common/struct.h"
|
#include "common/struct.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
#include "math/old/d3dmath.h"
|
#include "old/d3dmath.h"
|
||||||
#include "common/language.h"
|
#include "common/language.h"
|
||||||
#include "common/event.h"
|
#include "common/event.h"
|
||||||
#include "common/misc.h"
|
#include "common/misc.h"
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "math/old/math3d.h"
|
#include "old/math3d.h"
|
||||||
#include "common/modfile.h"
|
#include "common/modfile.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
|
|
||||||
#include "math/vector.h"
|
#include "math/vector.h"
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
|
|
||||||
|
|
||||||
class CInstanceManager;
|
class CInstanceManager;
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "common/struct.h"
|
#include "common/struct.h"
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
#include "common/language.h"
|
#include "common/language.h"
|
||||||
#include "common/misc.h"
|
#include "common/misc.h"
|
||||||
#include "common/event.h"
|
#include "common/event.h"
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
#include "common/event.h"
|
#include "common/event.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
src/graphics
|
src/graphics
|
||||||
|
|
||||||
In the future, it will contain common interface to handling 3D graphics with concrete implementations for OpenGL and DirectX.
|
Graphics engine
|
||||||
|
|
||||||
Currently, there is only the D3D interface.
|
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
src/graphics/common
|
||||||
|
|
||||||
|
Universal structs and classes used in graphics engine
|
||||||
|
|
||||||
|
Concrete implementation in OpenGL is in graphics/opengl directory.
|
|
@ -0,0 +1,23 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// camera.cpp
|
||||||
|
|
||||||
|
#include "graphics/common/camera.h"
|
||||||
|
|
||||||
|
|
||||||
|
// TODO implementation
|
|
@ -0,0 +1,27 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// camera.h
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
namespace Gfx {
|
||||||
|
|
||||||
|
// TODO CCamera
|
||||||
|
|
||||||
|
}; // namespace Gfx
|
|
@ -0,0 +1,23 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// cloud.cpp
|
||||||
|
|
||||||
|
#include "graphics/common/cloud.h"
|
||||||
|
|
||||||
|
|
||||||
|
// TODO implementation
|
|
@ -0,0 +1,27 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// cloud.h
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
namespace Gfx {
|
||||||
|
|
||||||
|
// TODO CCloud
|
||||||
|
|
||||||
|
}; // namespace Gfx
|
|
@ -18,64 +18,66 @@
|
||||||
|
|
||||||
#include "graphics/common/color.h"
|
#include "graphics/common/color.h"
|
||||||
|
|
||||||
|
#include "math/func.h"
|
||||||
|
|
||||||
|
|
||||||
// Returns the color corresponding long.
|
// Returns the color corresponding long.
|
||||||
|
|
||||||
long Gfx::RetColor(float intensity)
|
long Gfx::RetColor(float intensity)
|
||||||
{
|
{
|
||||||
long color;
|
long color;
|
||||||
|
|
||||||
if ( intensity <= 0.0f ) return 0x00000000;
|
if ( intensity <= 0.0f ) return 0x00000000;
|
||||||
if ( intensity >= 1.0f ) return 0xffffffff;
|
if ( intensity >= 1.0f ) return 0xffffffff;
|
||||||
|
|
||||||
color = (int)(intensity*255.0f)<<24;
|
color = (int)(intensity*255.0f)<<24;
|
||||||
color |= (int)(intensity*255.0f)<<16;
|
color |= (int)(intensity*255.0f)<<16;
|
||||||
color |= (int)(intensity*255.0f)<<8;
|
color |= (int)(intensity*255.0f)<<8;
|
||||||
color |= (int)(intensity*255.0f);
|
color |= (int)(intensity*255.0f);
|
||||||
|
|
||||||
return color;
|
return color;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns the color corresponding long.
|
// Returns the color corresponding long.
|
||||||
|
|
||||||
long Gfx::RetColor(Color intensity)
|
long Gfx::RetColor(Gfx::Color intensity)
|
||||||
{
|
{
|
||||||
long color;
|
long color;
|
||||||
|
|
||||||
color = (int)(intensity.a*255.0f)<<24;
|
color = (int)(intensity.a*255.0f)<<24;
|
||||||
color |= (int)(intensity.r*255.0f)<<16;
|
color |= (int)(intensity.r*255.0f)<<16;
|
||||||
color |= (int)(intensity.g*255.0f)<<8;
|
color |= (int)(intensity.g*255.0f)<<8;
|
||||||
color |= (int)(intensity.b*255.0f);
|
color |= (int)(intensity.b*255.0f);
|
||||||
|
|
||||||
return color;
|
return color;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns the color corresponding Color.
|
// Returns the color corresponding Color.
|
||||||
|
|
||||||
Color Gfx::RetColor(long intensity)
|
Gfx::Color Gfx::RetColor(long intensity)
|
||||||
{
|
{
|
||||||
Color color;
|
Gfx::Color color;
|
||||||
|
|
||||||
color.r = (float)((intensity>>16)&0xff)/256.0f;
|
color.r = (float)((intensity>>16)&0xff)/256.0f;
|
||||||
color.g = (float)((intensity>>8 )&0xff)/256.0f;
|
color.g = (float)((intensity>>8 )&0xff)/256.0f;
|
||||||
color.b = (float)((intensity>>0 )&0xff)/256.0f;
|
color.b = (float)((intensity>>0 )&0xff)/256.0f;
|
||||||
color.a = (float)((intensity>>24)&0xff)/256.0f;
|
color.a = (float)((intensity>>24)&0xff)/256.0f;
|
||||||
|
|
||||||
return color;
|
return color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// RGB to HSV conversion.
|
// RGB to HSV conversion.
|
||||||
|
|
||||||
void Gfx::RGB2HSV(Color src, ColorHSV &dest)
|
void Gfx::RGB2HSV(Gfx::Color src, Gfx::ColorHSV &dest)
|
||||||
{
|
{
|
||||||
float min, max, delta;
|
float min, max, delta;
|
||||||
|
|
||||||
min = Math::Min(src.r, src.g, src.b);
|
min = Math::Min(src.r, src.g, src.b);
|
||||||
max = Math::Max(src.r, src.g, src.b);
|
max = Math::Max(src.r, src.g, src.b);
|
||||||
|
|
||||||
dest.v = max; // intensity
|
dest.v = max; // intensity
|
||||||
|
|
||||||
if ( max == 0.0f )
|
if ( max == 0.0f )
|
||||||
{
|
{
|
||||||
dest.s = 0.0f; // saturation
|
dest.s = 0.0f; // saturation
|
||||||
|
@ -85,7 +87,7 @@ void Gfx::RGB2HSV(Color src, ColorHSV &dest)
|
||||||
{
|
{
|
||||||
delta = max-min;
|
delta = max-min;
|
||||||
dest.s = delta/max; // saturation
|
dest.s = delta/max; // saturation
|
||||||
|
|
||||||
if ( src.r == max ) // between yellow & magenta
|
if ( src.r == max ) // between yellow & magenta
|
||||||
{
|
{
|
||||||
dest.h = (src.g-src.b)/delta;
|
dest.h = (src.g-src.b)/delta;
|
||||||
|
@ -98,7 +100,7 @@ void Gfx::RGB2HSV(Color src, ColorHSV &dest)
|
||||||
{
|
{
|
||||||
dest.h = 4.0f+(src.r-src.g)/delta;
|
dest.h = 4.0f+(src.r-src.g)/delta;
|
||||||
}
|
}
|
||||||
|
|
||||||
dest.h *= 60.0f; // in degrees
|
dest.h *= 60.0f; // in degrees
|
||||||
if ( dest.h < 0.0f ) dest.h += 360.0f;
|
if ( dest.h < 0.0f ) dest.h += 360.0f;
|
||||||
dest.h /= 360.0f; // 0..1
|
dest.h /= 360.0f; // 0..1
|
||||||
|
@ -107,15 +109,15 @@ void Gfx::RGB2HSV(Color src, ColorHSV &dest)
|
||||||
|
|
||||||
// HSV to RGB conversion.
|
// HSV to RGB conversion.
|
||||||
|
|
||||||
void Gfx::HSV2RGB(ColorHSV src, Color &dest)
|
void Gfx::HSV2RGB(Gfx::ColorHSV src, Gfx::Color &dest)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
float f,v,p,q,t;
|
float f,v,p,q,t;
|
||||||
|
|
||||||
src.h = Math::Norm(src.h)*360.0f;
|
src.h = Math::Norm(src.h)*360.0f;
|
||||||
src.s = Math::Norm(src.s);
|
src.s = Math::Norm(src.s);
|
||||||
src.v = Math::Norm(src.v);
|
src.v = Math::Norm(src.v);
|
||||||
|
|
||||||
if ( src.s == 0.0f ) // zero saturation?
|
if ( src.s == 0.0f ) // zero saturation?
|
||||||
{
|
{
|
||||||
dest.r = src.v;
|
dest.r = src.v;
|
||||||
|
@ -128,12 +130,12 @@ void Gfx::HSV2RGB(ColorHSV src, Color &dest)
|
||||||
src.h /= 60.0f;
|
src.h /= 60.0f;
|
||||||
i = (int)src.h; // integer part (0 .. 5)
|
i = (int)src.h; // integer part (0 .. 5)
|
||||||
f = src.h-i; // fractional part
|
f = src.h-i; // fractional part
|
||||||
|
|
||||||
v = src.v;
|
v = src.v;
|
||||||
p = src.v*(1.0f-src.s);
|
p = src.v*(1.0f-src.s);
|
||||||
q = src.v*(1.0f-(src.s*f));
|
q = src.v*(1.0f-(src.s*f));
|
||||||
t = src.v*(1.0f-(src.s*(1.0f-f)));
|
t = src.v*(1.0f-(src.s*(1.0f-f)));
|
||||||
|
|
||||||
switch (i)
|
switch (i)
|
||||||
{
|
{
|
||||||
case 0: dest.r=v; dest.g=t; dest.b=p; break;
|
case 0: dest.r=v; dest.g=t; dest.b=p; break;
|
||||||
|
|
|
@ -19,20 +19,23 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
// TODO
|
|
||||||
namespace Gfx {
|
namespace Gfx {
|
||||||
|
|
||||||
struct Color
|
struct Color
|
||||||
{
|
{
|
||||||
|
float r, g, b, a;
|
||||||
float r, g, b, a;
|
|
||||||
|
Color(float aR = 0.0f, float aG = 0.0f, float aB = 0.0f, float aA = 0.0f)
|
||||||
|
: r(aR), g(aG), b(aB), a(aA) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
struct ColorHSV
|
struct ColorHSV
|
||||||
{
|
{
|
||||||
float h,s,v;
|
float h, s, v;
|
||||||
|
|
||||||
|
ColorHSV(float aH = 0.0f, float aS = 0.0f, float aV = 0.0f)
|
||||||
|
: h(aH), s(aS), v(aV) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -40,8 +43,8 @@ long RetColor(float intensity);
|
||||||
long RetColor(Color intensity);
|
long RetColor(Color intensity);
|
||||||
Color RetColor(long intensity);
|
Color RetColor(long intensity);
|
||||||
|
|
||||||
void RGB2HSV(Color src, ColorHSV &dest);
|
void RGB2HSV(Color src, ColorHSV &dest);
|
||||||
void HSV2RGB(ColorHSV src, Color &dest);
|
void HSV2RGB(ColorHSV src, Color &dest);
|
||||||
|
|
||||||
};
|
}; // namespace Gfx
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// engine.cpp
|
||||||
|
|
||||||
|
#include "graphics/common/engine.h"
|
||||||
|
|
||||||
|
|
||||||
|
// TODO implementation
|
|
@ -0,0 +1,712 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// engine.h
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
#include "math/point.h"
|
||||||
|
#include "math/vector.h"
|
||||||
|
#include "math/matrix.h"
|
||||||
|
|
||||||
|
|
||||||
|
namespace Gfx {
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
TODO
|
||||||
|
|
||||||
|
class CApplication;
|
||||||
|
class CInstanceManager;
|
||||||
|
class CObject;
|
||||||
|
class CLight;
|
||||||
|
class CText;
|
||||||
|
class CParticule;
|
||||||
|
class CWater;
|
||||||
|
class CCloud;
|
||||||
|
class CBlitz;
|
||||||
|
class CPlanet;
|
||||||
|
class CSound;
|
||||||
|
class CTerrain;
|
||||||
|
|
||||||
|
|
||||||
|
//const int MAXOBJECT = 1200;
|
||||||
|
//const int MAXSHADOW = 500;
|
||||||
|
//const int MAXGROUNDSPOT = 100;
|
||||||
|
|
||||||
|
|
||||||
|
enum ObjectType
|
||||||
|
{
|
||||||
|
//! Object doesn't exist
|
||||||
|
OBJTYPE_NULL = 0,
|
||||||
|
//! Terrain
|
||||||
|
OBJTYPE_TERRAIN = 1,
|
||||||
|
//! Fixed object
|
||||||
|
OBJTYPE_FIX = 2,
|
||||||
|
//! Moving object
|
||||||
|
OBJTYPE_VEHICULE = 3,
|
||||||
|
//! Part of a moving object
|
||||||
|
OBJTYPE_DESCENDANT = 4,
|
||||||
|
//! Fixed object type quartz
|
||||||
|
OBJTYPE_QUARTZ = 5,
|
||||||
|
//! Fixed object type metal
|
||||||
|
OBJTYPE_METAL = 6
|
||||||
|
};
|
||||||
|
|
||||||
|
enum TriangleType
|
||||||
|
{
|
||||||
|
//! triangles
|
||||||
|
TRIANGLE_TYPE_6T = 1,
|
||||||
|
//! surfaces
|
||||||
|
TRIANGLE_TYPE_6S = 2
|
||||||
|
};
|
||||||
|
|
||||||
|
enum Mapping
|
||||||
|
{
|
||||||
|
MAPPING_X = 1,
|
||||||
|
MAPPING_Y = 2,
|
||||||
|
MAPPING_Z = 3,
|
||||||
|
MAPPING_1X = 4,
|
||||||
|
MAPPING_1Y = 5,
|
||||||
|
MAPPING_1Z = 6
|
||||||
|
};
|
||||||
|
|
||||||
|
enum MouseType
|
||||||
|
{
|
||||||
|
MOUSE_HIDE = 0, // no mouse
|
||||||
|
MOUSE_NORM = 1,
|
||||||
|
MOUSE_WAIT = 2,
|
||||||
|
MOUSE_EDIT = 3,
|
||||||
|
MOUSE_HAND = 4,
|
||||||
|
MOUSE_CROSS = 5,
|
||||||
|
MOUSE_SHOW = 6,
|
||||||
|
MOUSE_NO = 7,
|
||||||
|
MOUSE_MOVE = 8, // +
|
||||||
|
MOUSE_MOVEH = 9, // -
|
||||||
|
MOUSE_MOVEV = 10, // |
|
||||||
|
MOUSE_MOVED = 11, // /
|
||||||
|
MOUSE_MOVEI = 12, // \ //
|
||||||
|
MOUSE_SCROLLL = 13, // <<
|
||||||
|
MOUSE_SCROLLR = 14, // >>
|
||||||
|
MOUSE_SCROLLU = 15, // ^
|
||||||
|
MOUSE_SCROLLD = 16, // v
|
||||||
|
MOUSE_TARGET = 17
|
||||||
|
};
|
||||||
|
|
||||||
|
enum ShadowType
|
||||||
|
{
|
||||||
|
SHADOW_NORM = 0,
|
||||||
|
SHADOW_WORM = 1
|
||||||
|
};
|
||||||
|
|
||||||
|
enum RenderState
|
||||||
|
{
|
||||||
|
//! Normal opaque materials
|
||||||
|
RSTATE_NORMAL = 0,
|
||||||
|
//! The transparent texture (black = no)
|
||||||
|
RSTATE_TTEXTURE_BLACK = (1<<0),
|
||||||
|
//! The transparent texture (white = no)
|
||||||
|
RSTATE_TTEXTURE_WHITE = (1<<1),
|
||||||
|
//! The transparent diffuse color
|
||||||
|
RSTATE_TDIFFUSE = (1<<2),
|
||||||
|
//! Texture wrap
|
||||||
|
RSTATE_WRAP = (1<<3),
|
||||||
|
//! Texture borders with solid color
|
||||||
|
RSTATE_CLAMP = (1<<4),
|
||||||
|
//! Light texture (ambient max)
|
||||||
|
RSTATE_LIGHT = (1<<5),
|
||||||
|
//! Double black texturing
|
||||||
|
RSTATE_DUAL_BLACK = (1<<6),
|
||||||
|
//! Double white texturing
|
||||||
|
RSTATE_DUAL_WHITE = (1<<7),
|
||||||
|
//! Part 1 (no change in. MOD!)
|
||||||
|
RSTATE_PART1 = (1<<8),
|
||||||
|
//! Part 2
|
||||||
|
RSTATE_PART2 = (1<<9),
|
||||||
|
//! Part 3
|
||||||
|
RSTATE_PART3 = (1<<10),
|
||||||
|
//! Part 4
|
||||||
|
RSTATE_PART4 = (1<<11),
|
||||||
|
//! Double-sided face
|
||||||
|
RSTATE_2FACE = (1<<12),
|
||||||
|
//! Image using alpha channel
|
||||||
|
RSTATE_ALPHA = (1<<13),
|
||||||
|
//! Always use 2nd floor texturing
|
||||||
|
RSTATE_SECOND = (1<<14),
|
||||||
|
//! Causes the fog
|
||||||
|
RSTATE_FOG = (1<<15),
|
||||||
|
//! The transparent color (black = no)
|
||||||
|
RSTATE_TCOLOR_BLACK = (1<<16),
|
||||||
|
//! The transparent color (white = no)
|
||||||
|
RSTATE_TCOLOR_WHITE = (1<<17)
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
struct Triangle
|
||||||
|
{
|
||||||
|
Gfx::VertexTex2 triangle[3];
|
||||||
|
Gfx::Material material;
|
||||||
|
int state;
|
||||||
|
char texName1[20];
|
||||||
|
char texName2[20];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
struct ObjLevel6
|
||||||
|
{
|
||||||
|
int totalPossible;
|
||||||
|
int totalUsed;
|
||||||
|
Gfx::Material material;
|
||||||
|
int state;
|
||||||
|
Gfx::TriangleType type;
|
||||||
|
Math::VertexTex2 vertex[1];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ObjLevel5
|
||||||
|
{
|
||||||
|
int totalPossible;
|
||||||
|
int totalUsed;
|
||||||
|
int reserve;
|
||||||
|
Gfx::ObjLevel6* table[1];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ObjLevel4
|
||||||
|
{
|
||||||
|
int totalPossible;
|
||||||
|
int totalUsed;
|
||||||
|
float min, max;
|
||||||
|
Gfx::ObjLevel5* table[1];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ObjLevel3
|
||||||
|
{
|
||||||
|
int totalPossible;
|
||||||
|
int totalUsed;
|
||||||
|
int objRank;
|
||||||
|
Gfx::ObjLevel4* table[1];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ObjLevel2
|
||||||
|
{
|
||||||
|
int totalPossible;
|
||||||
|
int totalUsed;
|
||||||
|
char texName1[20];
|
||||||
|
char texName2[20];
|
||||||
|
Gfx::ObjLevel3* table[1];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ObjLevel1
|
||||||
|
{
|
||||||
|
int totalPossible;
|
||||||
|
int totalUsed;
|
||||||
|
Gfx::ObjLevel2* table[1];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
struct Object
|
||||||
|
{
|
||||||
|
bool used; // true -> object exists
|
||||||
|
bool visible; // true -> visible object
|
||||||
|
bool drawWorld; // true -> shape behind the interface
|
||||||
|
bool drawFront; // true -> shape before the interface
|
||||||
|
int totalTriangle; // number of triangles used
|
||||||
|
Gfx::ObjectType type; // type of the object (TYPE*)
|
||||||
|
Math::Matrix transform; // transformation matrix
|
||||||
|
float distance; // distance point of view - original
|
||||||
|
Math::Vector bboxMin; // bounding box of the object
|
||||||
|
Math::Vector bboxMax; // (the origin 0, 0, 0 is always included)
|
||||||
|
float radius; // radius of the sphere at the origin
|
||||||
|
int shadowRank; // rank of the associated shadow
|
||||||
|
float transparency; // transparency of the object (0 .. 1)
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Shadow
|
||||||
|
{
|
||||||
|
bool used; // true -> object exists
|
||||||
|
bool hide; // true -> invisible shadow (object carried by ex.)
|
||||||
|
int objRank; // rank of the object
|
||||||
|
Gfx::ShadowType type; // type of shadow
|
||||||
|
Math::Vector pos; // position for the shadow
|
||||||
|
Math::Vector normal; // normal terrain
|
||||||
|
float angle; // angle of the shadow
|
||||||
|
float radius; // radius of the shadow
|
||||||
|
float intensity; // intensity of the shadow
|
||||||
|
float height; // height from the ground
|
||||||
|
};
|
||||||
|
|
||||||
|
struct GroundSpot
|
||||||
|
{
|
||||||
|
bool used; // true -> object exists
|
||||||
|
Gfx::Color color; // color of the shadow
|
||||||
|
float min, max; // altitudes min / max
|
||||||
|
float smooth; // transition area
|
||||||
|
Math::Vector pos; // position for the shadow
|
||||||
|
float radius; // radius of the shadow
|
||||||
|
Math::Vector drawPos; // drawn to position the shade
|
||||||
|
float drawRadius; // radius of the shadow drawn
|
||||||
|
};
|
||||||
|
|
||||||
|
struct GroundMark
|
||||||
|
{
|
||||||
|
bool used; // true -> object exists
|
||||||
|
bool draw; // true -> drawn mark
|
||||||
|
int phase; // 1 = increase, 2 = fixed, 3 = decrease
|
||||||
|
float delay[3]; // time for 3 phases
|
||||||
|
float fix; // fixed time
|
||||||
|
Math::Vector pos; // position for marks
|
||||||
|
float radius; // radius of marks
|
||||||
|
float intensity; // color intensity
|
||||||
|
Math::Vector drawPos; // drawn in position marks
|
||||||
|
float drawRadius; // radius marks drawn
|
||||||
|
float drawIntensity; // current drawn
|
||||||
|
int dx, dy; // dimensions table
|
||||||
|
char* table; // pointer to the table
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class CGfxEngine
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CGfxEngine(CInstanceManager *iMan, CApplication *app);
|
||||||
|
~CGfxEngine();
|
||||||
|
|
||||||
|
void SetDevice(Gfx::Device *device);
|
||||||
|
Gfx::Device* RetDevice();
|
||||||
|
|
||||||
|
void SetTerrain(Gfx::CTerrain* terrain);
|
||||||
|
|
||||||
|
bool WriteProfile();
|
||||||
|
|
||||||
|
void SetPause(bool bPause);
|
||||||
|
bool RetPause();
|
||||||
|
|
||||||
|
void SetMovieLock(bool bLock);
|
||||||
|
bool RetMovieLock();
|
||||||
|
|
||||||
|
void SetShowStat(bool bShow);
|
||||||
|
bool RetShowStat();
|
||||||
|
|
||||||
|
void SetRenderEnable(bool bEnable);
|
||||||
|
|
||||||
|
int OneTimeSceneInit();
|
||||||
|
int InitDeviceObjects();
|
||||||
|
int DeleteDeviceObjects();
|
||||||
|
int RestoreSurfaces();
|
||||||
|
int Render();
|
||||||
|
int FrameMove(float rTime);
|
||||||
|
void StepSimul(float rTime);
|
||||||
|
int FinalCleanup();
|
||||||
|
void AddStatisticTriangle(int nb);
|
||||||
|
int RetStatisticTriangle();
|
||||||
|
void SetHiliteRank(int *rankList);
|
||||||
|
bool GetHilite(Math::Point &p1, Math::Point &p2);
|
||||||
|
bool GetSpriteCoord(int &x, int &y);
|
||||||
|
void SetInfoText(int line, char* text);
|
||||||
|
char * RetInfoText(int line);
|
||||||
|
//LRESULT MsgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||||
|
void FirstExecuteAdapt(bool bFirst);
|
||||||
|
//int GetVidMemTotal();
|
||||||
|
//bool IsVideo8MB();
|
||||||
|
//bool IsVideo32MB();
|
||||||
|
|
||||||
|
bool EnumDevices(char *bufDevices, int lenDevices, char *bufModes, int lenModes, int &totalDevices, int &selectDevices, int &totalModes, int &selectModes);
|
||||||
|
bool RetFullScreen();
|
||||||
|
bool ChangeDevice(char *device, char *mode, bool bFull);
|
||||||
|
|
||||||
|
Math::Matrix* RetMatView();
|
||||||
|
Math::Matrix* RetMatLeftView();
|
||||||
|
Math::Matrix* RetMatRightView();
|
||||||
|
|
||||||
|
void TimeInit();
|
||||||
|
void TimeEnterGel();
|
||||||
|
void TimeExitGel();
|
||||||
|
float TimeGet();
|
||||||
|
|
||||||
|
int RetRestCreate();
|
||||||
|
int CreateObject();
|
||||||
|
void FlushObject();
|
||||||
|
bool DeleteObject(int objRank);
|
||||||
|
bool SetDrawWorld(int objRank, bool bDraw);
|
||||||
|
bool SetDrawFront(int objRank, bool bDraw);
|
||||||
|
bool AddTriangle(int objRank, Math::VertexTex2* vertex, int nb, const Gfx::Material &mat, int state, char* texName1, char* texName2, float min, float max, bool bGlobalUpdate);
|
||||||
|
bool AddSurface(int objRank, Math::VertexTex2* vertex, int nb, const Gfx::Material &mat, int state, char* texName1, char* texName2, float min, float max, bool bGlobalUpdate);
|
||||||
|
bool AddQuick(int objRank, Gfx::ObjLevel6* buffer, char* texName1, char* texName2, float min, float max, bool bGlobalUpdate);
|
||||||
|
Gfx::ObjLevel6* SearchTriangle(int objRank, const Gfx::Material &mat, int state, char* texName1, char* texName2, float min, float max);
|
||||||
|
void ChangeLOD();
|
||||||
|
bool ChangeSecondTexture(int objRank, char* texName2);
|
||||||
|
int RetTotalTriangles(int objRank);
|
||||||
|
int GetTriangles(int objRank, float min, float max, Gfx::Triangle* buffer, int size, float percent);
|
||||||
|
bool GetBBox(int objRank, Math::Vector &min, Math::Vector &max);
|
||||||
|
bool ChangeTextureMapping(int objRank, const Gfx::Material &mat, int state, char* texName1, char* texName2, float min, float max, Gfx::Maping mode, float au, float bu, float av, float bv);
|
||||||
|
bool TrackTextureMapping(int objRank, const Gfx::Material &mat, int state, char* texName1, char* texName2, float min, float max, Gfx::Maping mode, float pos, float factor, float tl, float ts, float tt);
|
||||||
|
bool SetObjectTransform(int objRank, const Math::Matrix &transform);
|
||||||
|
bool GetObjectTransform(int objRank, Math::Matrix &transform);
|
||||||
|
bool SetObjectType(int objRank, Gfx::ObjectType type);
|
||||||
|
Gfx::ObjectType RetObjectType(int objRank);
|
||||||
|
bool SetObjectTransparency(int objRank, float value);
|
||||||
|
|
||||||
|
bool ShadowCreate(int objRank);
|
||||||
|
void ShadowDelete(int objRank);
|
||||||
|
bool SetObjectShadowHide(int objRank, bool bHide);
|
||||||
|
bool SetObjectShadowType(int objRank, Gfx::ShadowType type);
|
||||||
|
bool SetObjectShadowPos(int objRank, const Math::Vector &pos);
|
||||||
|
bool SetObjectShadowNormal(int objRank, const Math::Vector &n);
|
||||||
|
bool SetObjectShadowAngle(int objRank, float angle);
|
||||||
|
bool SetObjectShadowRadius(int objRank, float radius);
|
||||||
|
bool SetObjectShadowIntensity(int objRank, float intensity);
|
||||||
|
bool SetObjectShadowHeight(int objRank, float h);
|
||||||
|
float RetObjectShadowRadius(int objRank);
|
||||||
|
|
||||||
|
void GroundSpotFlush();
|
||||||
|
int GroundSpotCreate();
|
||||||
|
void GroundSpotDelete(int rank);
|
||||||
|
bool SetObjectGroundSpotPos(int rank, const Math::Vector &pos);
|
||||||
|
bool SetObjectGroundSpotRadius(int rank, float radius);
|
||||||
|
bool SetObjectGroundSpotColor(int rank, const Gfx::Color &color);
|
||||||
|
bool SetObjectGroundSpotMinMax(int rank, float min, float max);
|
||||||
|
bool SetObjectGroundSpotSmooth(int rank, float smooth);
|
||||||
|
|
||||||
|
int GroundMarkCreate(Math::Vector pos, float radius, float delay1, float delay2, float delay3, int dx, int dy, char* table);
|
||||||
|
bool GroundMarkDelete(int rank);
|
||||||
|
|
||||||
|
void Update();
|
||||||
|
|
||||||
|
void SetViewParams(const Math::Vector &vEyePt, const Math::Vector &vLookatPt, const Math::Vector &vUpVec, float fEyeDistance);
|
||||||
|
|
||||||
|
bool FreeTexture(char* name);
|
||||||
|
bool LoadTexture(char* name, int stage=0);
|
||||||
|
bool LoadAllTexture();
|
||||||
|
|
||||||
|
void SetLimitLOD(int rank, float limit);
|
||||||
|
float RetLimitLOD(int rank, bool bLast=false);
|
||||||
|
|
||||||
|
void SetTerrainVision(float vision);
|
||||||
|
|
||||||
|
void SetGroundSpot(bool bMode);
|
||||||
|
bool RetGroundSpot();
|
||||||
|
void SetShadow(bool bMode);
|
||||||
|
bool RetShadow();
|
||||||
|
void SetDirty(bool bMode);
|
||||||
|
bool RetDirty();
|
||||||
|
void SetFog(bool bMode);
|
||||||
|
bool RetFog();
|
||||||
|
bool RetStateColor();
|
||||||
|
|
||||||
|
void SetSecondTexture(int texNum);
|
||||||
|
int RetSecondTexture();
|
||||||
|
|
||||||
|
void SetRankView(int rank);
|
||||||
|
int RetRankView();
|
||||||
|
|
||||||
|
void SetDrawWorld(bool bDraw);
|
||||||
|
void SetDrawFront(bool bDraw);
|
||||||
|
|
||||||
|
void SetAmbiantColor(const Gfx::Color &color, int rank=0);
|
||||||
|
Gfx::Color RetAmbiantColor(int rank=0);
|
||||||
|
|
||||||
|
void SetWaterAddColor(const Gfx::Color &color);
|
||||||
|
Gfx::Color RetWaterAddColor();
|
||||||
|
|
||||||
|
void SetFogColor(const Gfx::Color &color, int rank=0);
|
||||||
|
Gfx::Color RetFogColor(int rank=0);
|
||||||
|
|
||||||
|
void SetDeepView(float length, int rank=0, bool bRef=false);
|
||||||
|
float RetDeepView(int rank=0);
|
||||||
|
|
||||||
|
void SetFogStart(float start, int rank=0);
|
||||||
|
float RetFogStart(int rank=0);
|
||||||
|
|
||||||
|
void SetBackground(char *name, Gfx::Color up=0, Gfx::Color down=0, Gfx::Color cloudUp=0, Gfx::Color cloudDown=0, bool bFull=false, bool bQuarter=false);
|
||||||
|
void RetBackground(char *name, Gfx::Color &up, Gfx::Color &down, Gfx::Color &cloudUp, Gfx::Color &cloudDown, bool &bFull, bool &bQuarter);
|
||||||
|
void SetFrontsizeName(char *name);
|
||||||
|
void SetOverFront(bool bFront);
|
||||||
|
void SetOverColor(const Gfx::Color &color=0, int mode=RSTATE_TCOLOR_BLACK);
|
||||||
|
|
||||||
|
void SetParticuleDensity(float value);
|
||||||
|
float RetParticuleDensity();
|
||||||
|
float ParticuleAdapt(float factor);
|
||||||
|
|
||||||
|
void SetClippingDistance(float value);
|
||||||
|
float RetClippingDistance();
|
||||||
|
|
||||||
|
void SetObjectDetail(float value);
|
||||||
|
float RetObjectDetail();
|
||||||
|
|
||||||
|
void SetGadgetQuantity(float value);
|
||||||
|
float RetGadgetQuantity();
|
||||||
|
|
||||||
|
void SetTextureQuality(int value);
|
||||||
|
int RetTextureQuality();
|
||||||
|
|
||||||
|
void SetTotoMode(bool bPresent);
|
||||||
|
bool RetTotoMode();
|
||||||
|
|
||||||
|
void SetLensMode(bool bPresent);
|
||||||
|
bool RetLensMode();
|
||||||
|
|
||||||
|
void SetWaterMode(bool bPresent);
|
||||||
|
bool RetWaterMode();
|
||||||
|
|
||||||
|
void SetBlitzMode(bool bPresent);
|
||||||
|
bool RetBlitzMode();
|
||||||
|
|
||||||
|
void SetSkyMode(bool bPresent);
|
||||||
|
bool RetSkyMode();
|
||||||
|
|
||||||
|
void SetBackForce(bool bPresent);
|
||||||
|
bool RetBackForce();
|
||||||
|
|
||||||
|
void SetPlanetMode(bool bPresent);
|
||||||
|
bool RetPlanetMode();
|
||||||
|
|
||||||
|
void SetLightMode(bool bPresent);
|
||||||
|
bool RetLightMode();
|
||||||
|
|
||||||
|
void SetEditIndentMode(bool bAuto);
|
||||||
|
bool RetEditIndentMode();
|
||||||
|
|
||||||
|
void SetEditIndentValue(int value);
|
||||||
|
int RetEditIndentValue();
|
||||||
|
|
||||||
|
void SetSpeed(float speed);
|
||||||
|
float RetSpeed();
|
||||||
|
|
||||||
|
void SetTracePrecision(float factor);
|
||||||
|
float RetTracePrecision();
|
||||||
|
|
||||||
|
void SetFocus(float focus);
|
||||||
|
float RetFocus();
|
||||||
|
Math::Vector RetEyePt();
|
||||||
|
Math::Vector RetLookatPt();
|
||||||
|
float RetEyeDirH();
|
||||||
|
float RetEyeDirV();
|
||||||
|
Math::Point RetDim();
|
||||||
|
void UpdateMatProj();
|
||||||
|
|
||||||
|
void ApplyChange();
|
||||||
|
|
||||||
|
void FlushPressKey();
|
||||||
|
void ResetKey();
|
||||||
|
void SetKey(int keyRank, int option, int key);
|
||||||
|
int RetKey(int keyRank, int option);
|
||||||
|
|
||||||
|
void SetJoystick(bool bEnable);
|
||||||
|
bool RetJoystick();
|
||||||
|
|
||||||
|
void SetDebugMode(bool bMode);
|
||||||
|
bool RetDebugMode();
|
||||||
|
bool RetSetupMode();
|
||||||
|
|
||||||
|
bool IsVisiblePoint(const Math::Vector &pos);
|
||||||
|
|
||||||
|
int DetectObject(Math::Point mouse);
|
||||||
|
void SetState(int state, Gfx::Color color=0xffffffff);
|
||||||
|
void SetTexture(char *name, int stage=0);
|
||||||
|
void SetMaterial(const Gfx::Material &mat);
|
||||||
|
|
||||||
|
void MoveMousePos(Math::Point pos);
|
||||||
|
void SetMousePos(Math::Point pos);
|
||||||
|
Math::Point RetMousePos();
|
||||||
|
void SetMouseType(Gfx::MouseType type);
|
||||||
|
Gfx::MouseType RetMouseType();
|
||||||
|
void SetMouseHide(bool bHide);
|
||||||
|
bool RetMouseHide();
|
||||||
|
void SetNiceMouse(bool bNice);
|
||||||
|
bool RetNiceMouse();
|
||||||
|
bool RetNiceMouseCap();
|
||||||
|
|
||||||
|
CText* RetText();
|
||||||
|
|
||||||
|
bool ChangeColor(char *name, Gfx::Color colorRef1, Gfx::Color colorNew1, Gfx::Color colorRef2, Gfx::Color colorNew2, float tolerance1, float tolerance2, Math::Point ts, Math::Point ti, Math::Point *pExclu=0, float shift=0.0f, bool bHSV=false);
|
||||||
|
bool OpenImage(char *name);
|
||||||
|
bool CopyImage();
|
||||||
|
bool LoadImage();
|
||||||
|
bool ScrollImage(int dx, int dy);
|
||||||
|
bool SetDot(int x, int y, Gfx::Color color);
|
||||||
|
bool CloseImage();
|
||||||
|
bool WriteScreenShot(char *filename, int width, int height);
|
||||||
|
//bool GetRenderDC(HDC &hDC);
|
||||||
|
//bool ReleaseRenderDC(HDC &hDC);
|
||||||
|
//PBITMAPINFO CreateBitmapInfoStruct(HBITMAP hBmp);
|
||||||
|
//bool CreateBMPFile(LPTSTR pszFile, PBITMAPINFO pbi, HBITMAP hBMP, HDC hDC);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void MemSpace1(Gfx::ObjLevel1 *&p, int nb);
|
||||||
|
void MemSpace2(Gfx::ObjLevel2 *&p, int nb);
|
||||||
|
void MemSpace3(Gfx::ObjLevel3 *&p, int nb);
|
||||||
|
void MemSpace4(Gfx::ObjLevel4 *&p, int nb);
|
||||||
|
void MemSpace5(Gfx::ObjLevel5 *&p, int nb);
|
||||||
|
void MemSpace6(Gfx::ObjLevel6 *&p, int nb);
|
||||||
|
|
||||||
|
Gfx::ObjLevel2* AddLevel1(Gfx::ObjLevel1 *&p1, char* texName1, char* texName2);
|
||||||
|
Gfx::ObjLevel3* AddLevel2(Gfx::ObjLevel2 *&p2, int objRank);
|
||||||
|
Gfx::ObjLevel4* AddLevel3(Gfx::ObjLevel3 *&p3, float min, float max);
|
||||||
|
Gfx::ObjLevel5* AddLevel4(Gfx::ObjLevel4 *&p4, int reserve);
|
||||||
|
Gfx::ObjLevel6* AddLevel5(Gfx::ObjLevel5 *&p5, Gfx::TriangleType type, const Gfx::Material &mat, int state, int nb);
|
||||||
|
|
||||||
|
bool IsVisible(int objRank);
|
||||||
|
bool DetectBBox(int objRank, Math::Point mouse);
|
||||||
|
bool DetectTriangle(Math::Point mouse, Math::VertexTex2 *triangle, int objRank, float &dist);
|
||||||
|
bool TransformPoint(Math::Vector &p2D, int objRank, Math::Vector p3D);
|
||||||
|
void ComputeDistance();
|
||||||
|
void UpdateGeometry();
|
||||||
|
void RenderGroundSpot();
|
||||||
|
void DrawShadow();
|
||||||
|
void DrawBackground();
|
||||||
|
void DrawBackgroundGradient(Gfx::Color up, Gfx::Color down);
|
||||||
|
void DrawBackgroundImageQuarter(Math::Point p1, Math::Point p2, char *name);
|
||||||
|
void DrawBackgroundImage();
|
||||||
|
void DrawPlanet();
|
||||||
|
void DrawFrontsize();
|
||||||
|
void DrawOverColor();
|
||||||
|
bool GetBBox2D(int objRank, Math::Point &min, Math::Point &max);
|
||||||
|
void DrawHilite();
|
||||||
|
void DrawMouse();
|
||||||
|
void DrawSprite(Math::Point pos, Math::Point dim, int icon);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
CInstanceManager* m_iMan;
|
||||||
|
CApplication* m_app;
|
||||||
|
Gfx::Device* m_device;
|
||||||
|
CText* m_text;
|
||||||
|
CLight* m_light;
|
||||||
|
CParticule* m_particule;
|
||||||
|
CWater* m_water;
|
||||||
|
CCloud* m_cloud;
|
||||||
|
CBlitz* m_blitz;
|
||||||
|
CPlanet* m_planet;
|
||||||
|
CSound* m_sound;
|
||||||
|
CTerrain* m_terrain;
|
||||||
|
|
||||||
|
int m_blackSrcBlend[2];
|
||||||
|
int m_blackDestBlend[2];
|
||||||
|
int m_whiteSrcBlend[2];
|
||||||
|
int m_whiteDestBlend[2];
|
||||||
|
int m_diffuseSrcBlend[2];
|
||||||
|
int m_diffuseDestBlend[2];
|
||||||
|
int m_alphaSrcBlend[2];
|
||||||
|
int m_alphaDestBlend[2];
|
||||||
|
|
||||||
|
Math::Matrix m_matProj;
|
||||||
|
Math::Matrix m_matLeftView;
|
||||||
|
Math::Matrix m_matRightView;
|
||||||
|
Math::Matrix m_matView;
|
||||||
|
float m_focus;
|
||||||
|
|
||||||
|
Math::Matrix m_matWorldInterface;
|
||||||
|
Math::Matrix m_matProjInterface;
|
||||||
|
Math::Matrix m_matViewInterface;
|
||||||
|
|
||||||
|
long m_baseTime;
|
||||||
|
long m_stopTime;
|
||||||
|
float m_absTime;
|
||||||
|
float m_lastTime;
|
||||||
|
float m_speed;
|
||||||
|
bool m_bPause;
|
||||||
|
bool m_bRender;
|
||||||
|
bool m_bMovieLock;
|
||||||
|
|
||||||
|
POINT m_dim;
|
||||||
|
POINT m_lastDim;
|
||||||
|
Gfx::ObjLevel1* m_objectPointer;
|
||||||
|
int m_objectParamTotal;
|
||||||
|
Gfx::Object* m_objectParam;
|
||||||
|
int m_shadowTotal;
|
||||||
|
Gfx::Shadow* m_shadow;
|
||||||
|
Gfx::GroundSpot* m_groundSpot;
|
||||||
|
Gfx::GroundMark m_groundMark;
|
||||||
|
Math::Vector m_eyePt;
|
||||||
|
Math::Vector m_lookatPt;
|
||||||
|
float m_eyeDirH;
|
||||||
|
float m_eyeDirV;
|
||||||
|
int m_rankView;
|
||||||
|
Gfx::Color m_ambiantColor[2];
|
||||||
|
Gfx::Color m_backColor[2];
|
||||||
|
Gfx::Color m_fogColor[2];
|
||||||
|
float m_deepView[2];
|
||||||
|
float m_fogStart[2];
|
||||||
|
Gfx::Color m_waterAddColor;
|
||||||
|
int m_statisticTriangle;
|
||||||
|
bool m_bUpdateGeometry;
|
||||||
|
char m_infoText[10][200];
|
||||||
|
int m_alphaMode;
|
||||||
|
bool m_bStateColor;
|
||||||
|
bool m_bForceStateColor;
|
||||||
|
bool m_bGroundSpot;
|
||||||
|
bool m_bShadow;
|
||||||
|
bool m_bDirty;
|
||||||
|
bool m_bFog;
|
||||||
|
bool m_bFirstGroundSpot;
|
||||||
|
int m_secondTexNum;
|
||||||
|
char m_backgroundName[50];
|
||||||
|
Gfx::Color m_backgroundColorUp;
|
||||||
|
Gfx::Color m_backgroundColorDown;
|
||||||
|
Gfx::Color m_backgroundCloudUp;
|
||||||
|
Gfx::Color m_backgroundCloudDown;
|
||||||
|
bool m_bBackgroundFull;
|
||||||
|
bool m_bBackgroundQuarter;
|
||||||
|
bool m_bOverFront;
|
||||||
|
Gfx::Color m_overColor;
|
||||||
|
int m_overMode;
|
||||||
|
char m_frontsizeName[50];
|
||||||
|
bool m_bDrawWorld;
|
||||||
|
bool m_bDrawFront;
|
||||||
|
float m_limitLOD[2];
|
||||||
|
float m_particuleDensity;
|
||||||
|
float m_clippingDistance;
|
||||||
|
float m_lastClippingDistance;
|
||||||
|
float m_objectDetail;
|
||||||
|
float m_lastObjectDetail;
|
||||||
|
float m_terrainVision;
|
||||||
|
float m_gadgetQuantity;
|
||||||
|
int m_textureQuality;
|
||||||
|
bool m_bTotoMode;
|
||||||
|
bool m_bLensMode;
|
||||||
|
bool m_bWaterMode;
|
||||||
|
bool m_bSkyMode;
|
||||||
|
bool m_bBackForce;
|
||||||
|
bool m_bPlanetMode;
|
||||||
|
bool m_bLightMode;
|
||||||
|
bool m_bEditIndentMode;
|
||||||
|
int m_editIndentValue;
|
||||||
|
float m_tracePrecision;
|
||||||
|
|
||||||
|
int m_hiliteRank[100];
|
||||||
|
bool m_bHilite;
|
||||||
|
Math::Point m_hiliteP1;
|
||||||
|
Math::Point m_hiliteP2;
|
||||||
|
|
||||||
|
int m_lastState;
|
||||||
|
Gfx::Color m_lastColor;
|
||||||
|
char m_lastTexture[2][50];
|
||||||
|
Gfx::Material m_lastMaterial;
|
||||||
|
|
||||||
|
Math::Point m_mousePos;
|
||||||
|
Gfx::MouseType m_mouseType;
|
||||||
|
bool m_bMouseHide;
|
||||||
|
bool m_bNiceMouse;
|
||||||
|
|
||||||
|
//LPDIRECTDRAWSURFACE7 m_imageSurface;
|
||||||
|
//DDSURFACEDESC2 m_imageDDSD;
|
||||||
|
//WORD* m_imageCopy;
|
||||||
|
//int m_imageDX;
|
||||||
|
//int m_imageDY;
|
||||||
|
};*/
|
||||||
|
|
||||||
|
}; // namespace Gfx
|
|
@ -0,0 +1,22 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// light.cpp
|
||||||
|
|
||||||
|
#include "graphics/common/light.h"
|
||||||
|
|
||||||
|
// TODO implementation
|
|
@ -0,0 +1,108 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// light.h
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
namespace Gfx {
|
||||||
|
|
||||||
|
/** \enum LightType Type of light */
|
||||||
|
enum LightType
|
||||||
|
{
|
||||||
|
LT_Point,
|
||||||
|
LT_Spot,
|
||||||
|
LT_Directional
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \struct Light Light
|
||||||
|
*
|
||||||
|
* This structure was created as analog to DirectX's D3DLIGHT.
|
||||||
|
*
|
||||||
|
* It contains analogous fields as the D3DLIGHT struct.
|
||||||
|
*/
|
||||||
|
struct Light
|
||||||
|
{
|
||||||
|
//! Type of light source
|
||||||
|
Gfx::LightType type;
|
||||||
|
//! Color of light
|
||||||
|
Gfx::Color color;
|
||||||
|
//! Position in world space
|
||||||
|
Math::Vector position;
|
||||||
|
//! Direction in world space
|
||||||
|
Math::Vector direction;
|
||||||
|
//! Cutoff range
|
||||||
|
float range;
|
||||||
|
//! Falloff
|
||||||
|
float falloff;
|
||||||
|
//! Constant attenuation
|
||||||
|
float attenuation0;
|
||||||
|
//! Linear attenuation
|
||||||
|
float attenuation1;
|
||||||
|
//! Quadratic attenuation
|
||||||
|
float attenuation2;
|
||||||
|
//! Inner angle of spotlight cone
|
||||||
|
float theta;
|
||||||
|
//! Outer angle of spotlight cone
|
||||||
|
float phi;
|
||||||
|
|
||||||
|
Light() : type(LT_Point), range(0.0f), falloff(0.0f),
|
||||||
|
attenuation0(0.0f), attenuation1(0.0f), attenuation2(0.0f),
|
||||||
|
theta(0.0f), phi(0.0f) {}
|
||||||
|
};
|
||||||
|
|
||||||
|
struct LightProg
|
||||||
|
{
|
||||||
|
float starting;
|
||||||
|
float ending;
|
||||||
|
float current;
|
||||||
|
float progress;
|
||||||
|
float speed;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \struct SceneLight Dynamic light in 3D scene
|
||||||
|
*
|
||||||
|
* TODO documentation
|
||||||
|
*/
|
||||||
|
struct SceneLight
|
||||||
|
{
|
||||||
|
//! true -> light exists
|
||||||
|
bool used;
|
||||||
|
//! true -> light turned on
|
||||||
|
bool enable;
|
||||||
|
|
||||||
|
//! Type of all objects included
|
||||||
|
D3DTypeObj incluType;
|
||||||
|
//! Type of all objects excluded
|
||||||
|
D3DTypeObj excluType;
|
||||||
|
|
||||||
|
//! Configuration of the light
|
||||||
|
Gfx::Light light;
|
||||||
|
|
||||||
|
//! intensity (0 .. 1)
|
||||||
|
Gfx::LightProg intensity;
|
||||||
|
Gfx::LightProg colorRed;
|
||||||
|
Gfx::LightProg colorGreen;
|
||||||
|
Gfx::LightProg colorBlue;
|
||||||
|
};
|
||||||
|
|
||||||
|
// TODO CLight
|
||||||
|
|
||||||
|
}; // namespace Gfx
|
|
@ -0,0 +1,23 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// lightning.cpp (aka blitz.cpp)
|
||||||
|
|
||||||
|
#include "graphics/common/lightning.h"
|
||||||
|
|
||||||
|
|
||||||
|
// TODO implementation
|
|
@ -0,0 +1,27 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// lightning.h (aka blitz.h)
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
namespace Gfx {
|
||||||
|
|
||||||
|
// TODO CLightning (aka CBlitz)
|
||||||
|
|
||||||
|
}; // namespace Gfx
|
|
@ -0,0 +1,26 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// material.h
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
namespace Gfx {
|
||||||
|
|
||||||
|
// TODO struct Material
|
||||||
|
|
||||||
|
}; // namespace Gfx
|
|
@ -0,0 +1,23 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// model.cpp
|
||||||
|
|
||||||
|
#include "graphics/common/model.h"
|
||||||
|
|
||||||
|
|
||||||
|
// TODO implementation
|
|
@ -0,0 +1,27 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// model.h
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
namespace Gfx {
|
||||||
|
|
||||||
|
// TODO CModel
|
||||||
|
|
||||||
|
}; // namespace Gfx
|
|
@ -0,0 +1,23 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// particle.cpp (aka particule.cpp)
|
||||||
|
|
||||||
|
#include "graphics/common/particle.h"
|
||||||
|
|
||||||
|
|
||||||
|
// TODO implementation
|
|
@ -0,0 +1,27 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// particle.h (aka particule.h)
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
namespace Gfx {
|
||||||
|
|
||||||
|
// TODO CParticle (aka CParticule)
|
||||||
|
|
||||||
|
}; // namespace Gfx
|
|
@ -0,0 +1,23 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// planet.cpp
|
||||||
|
|
||||||
|
#include "graphics/common/planet.h"
|
||||||
|
|
||||||
|
|
||||||
|
// TODO implementation
|
|
@ -0,0 +1,27 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// planet.h
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
namespace Gfx {
|
||||||
|
|
||||||
|
// TODO CPlanet
|
||||||
|
|
||||||
|
}; // namespace Gfx
|
|
@ -0,0 +1,23 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// pyro.cpp
|
||||||
|
|
||||||
|
#include "graphics/common/pyro.h"
|
||||||
|
|
||||||
|
|
||||||
|
// TODO implementation
|
|
@ -0,0 +1,27 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// pyro.h
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
namespace Gfx {
|
||||||
|
|
||||||
|
// TODO CPyro
|
||||||
|
|
||||||
|
}; // namespace Gfx
|
|
@ -0,0 +1,23 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// terrain.cpp
|
||||||
|
|
||||||
|
#include "graphics/common/terrain.h"
|
||||||
|
|
||||||
|
|
||||||
|
// TODO implementation
|
|
@ -0,0 +1,27 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// terrain.h
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
namespace Gfx {
|
||||||
|
|
||||||
|
// TODO CTerrain
|
||||||
|
|
||||||
|
}; // namespace Gfx
|
|
@ -0,0 +1,23 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// text.cpp
|
||||||
|
|
||||||
|
#include "graphics/common/text.h"
|
||||||
|
|
||||||
|
|
||||||
|
// TODO implementation
|
|
@ -0,0 +1,27 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// text.h
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
namespace Gfx {
|
||||||
|
|
||||||
|
// TODO CText
|
||||||
|
|
||||||
|
}; // namespace Gfx
|
|
@ -1,5 +1,24 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// vertex.h
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
#include "math/vector.h"
|
#include "math/vector.h"
|
||||||
#include "math/point.h"
|
#include "math/point.h"
|
||||||
|
|
||||||
|
@ -44,4 +63,4 @@ struct VertexTex2 : public Gfx::Vertex
|
||||||
: Vertex(aCoord, aNormal, aTexCoord), texCoord2(aTexCoord2) {}
|
: Vertex(aCoord, aNormal, aTexCoord), texCoord2(aTexCoord2) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
}; // namespace Gfx
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// water.cpp
|
||||||
|
|
||||||
|
#include "graphics/common/water.h"
|
||||||
|
|
||||||
|
|
||||||
|
// TODO implementation
|
|
@ -0,0 +1,27 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// water.h
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
namespace Gfx {
|
||||||
|
|
||||||
|
// TODO CWater
|
||||||
|
|
||||||
|
}; // namespace Gfx
|
|
@ -0,0 +1,3 @@
|
||||||
|
src/graphics/d3d
|
||||||
|
|
||||||
|
Possible future DirectX implementation of graphics engine
|
|
@ -0,0 +1,6 @@
|
||||||
|
src/graphics/opengl
|
||||||
|
|
||||||
|
OpenGL engine implementation
|
||||||
|
|
||||||
|
Contains the concreate implementation using OpenGL of functions
|
||||||
|
of grahpics engine in graphics/common.
|
|
@ -0,0 +1,32 @@
|
||||||
|
// * This file is part of the COLOBOT source code
|
||||||
|
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||||
|
// *
|
||||||
|
// * This program is free software: you can redistribute it and/or modify
|
||||||
|
// * it under the terms of the GNU General Public License as published by
|
||||||
|
// * the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// * (at your option) any later version.
|
||||||
|
// *
|
||||||
|
// * This program is distributed in the hope that it will be useful,
|
||||||
|
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// * GNU General Public License for more details.
|
||||||
|
// *
|
||||||
|
// * You should have received a copy of the GNU General Public License
|
||||||
|
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
|
||||||
|
// glengine.h
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
#include "graphics/common/engine.h"
|
||||||
|
|
||||||
|
namespace Gfx
|
||||||
|
{
|
||||||
|
|
||||||
|
class CGLEngine : public Gfx::CEngine
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
|
@ -13,7 +13,8 @@ add_test(matrix_test ./matrix_test)
|
||||||
add_test(vector_test ./vector_test)
|
add_test(vector_test ./vector_test)
|
||||||
add_test(geometry_test ./geometry_test)
|
add_test(geometry_test ./geometry_test)
|
||||||
|
|
||||||
include_directories(c:/dxsdk/include)
|
# Change to DirectX SDK directory
|
||||||
|
include_directories("c:/dxsdk/include")
|
||||||
|
|
||||||
add_definitions(-DSTRICT -DD3D_OVERLOADS)
|
add_definitions(-DSTRICT -DD3D_OVERLOADS)
|
||||||
|
|
||||||
|
|
|
@ -21,8 +21,8 @@
|
||||||
#include "../func.h"
|
#include "../func.h"
|
||||||
#include "../geometry.h"
|
#include "../geometry.h"
|
||||||
#include "../conv.h"
|
#include "../conv.h"
|
||||||
#include "../old/math3d.h"
|
#include "../../old/math3d.h"
|
||||||
#include "../../graphics/d3d/d3dutil.h"
|
#include "../../old/d3dutil.h"
|
||||||
|
|
||||||
#include <d3d.h>
|
#include <d3d.h>
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
|
|
|
@ -20,10 +20,10 @@
|
||||||
#include "object/auto/autobase.h"
|
#include "object/auto/autobase.h"
|
||||||
|
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "graphics/common/cloud.h"
|
#include "old/cloud.h"
|
||||||
#include "graphics/common/planet.h"
|
#include "old/planet.h"
|
||||||
#include "graphics/common/blitz.h"
|
#include "old/blitz.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "object/robotmain.h"
|
#include "object/robotmain.h"
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
#include "object/auto/autoderrick.h"
|
#include "object/auto/autoderrick.h"
|
||||||
|
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "script/cmdtoken.h"
|
#include "script/cmdtoken.h"
|
||||||
#include "ui/interface.h"
|
#include "ui/interface.h"
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
#include "object/auto/autoenergy.h"
|
#include "object/auto/autoenergy.h"
|
||||||
|
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "script/cmdtoken.h"
|
#include "script/cmdtoken.h"
|
||||||
#include "ui/interface.h"
|
#include "ui/interface.h"
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
#include "object/auto/autoflag.h"
|
#include "object/auto/autoflag.h"
|
||||||
|
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
|
|
||||||
#include "object/auto/auto.h"
|
#include "object/auto/auto.h"
|
||||||
#include "graphics/common/particule.h"
|
#include "old/particule.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -19,8 +19,8 @@
|
||||||
|
|
||||||
#include "object/auto/autokid.h"
|
#include "object/auto/autokid.h"
|
||||||
|
|
||||||
#include "graphics/common/particule.h"
|
#include "old/particule.h"
|
||||||
#include "graphics/common/water.h"
|
#include "old/water.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
#include "object/auto/autonest.h"
|
#include "object/auto/autonest.h"
|
||||||
|
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "script/cmdtoken.h"
|
#include "script/cmdtoken.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -19,8 +19,8 @@
|
||||||
|
|
||||||
#include "object/auto/autoroot.h"
|
#include "object/auto/autoroot.h"
|
||||||
|
|
||||||
#include "graphics/common/particule.h"
|
#include "old/particule.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -20,8 +20,8 @@
|
||||||
#include "object/auto/autostation.h"
|
#include "object/auto/autostation.h"
|
||||||
|
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "graphics/common/particule.h"
|
#include "old/particule.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "ui/interface.h"
|
#include "ui/interface.h"
|
||||||
#include "ui/gauge.h"
|
#include "ui/gauge.h"
|
||||||
|
|
|
@ -23,24 +23,24 @@
|
||||||
#include "common/struct.h"
|
#include "common/struct.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "math/const.h"
|
#include "math/const.h"
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
#include "math/old/d3dmath.h"
|
#include "old/d3dmath.h"
|
||||||
#include "common/language.h"
|
#include "common/language.h"
|
||||||
#include "common/global.h"
|
#include "common/global.h"
|
||||||
#include "common/event.h"
|
#include "common/event.h"
|
||||||
#include "common/misc.h"
|
#include "common/misc.h"
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "common/restext.h"
|
#include "common/restext.h"
|
||||||
#include "math/old/math3d.h"
|
#include "old/math3d.h"
|
||||||
#include "object/robotmain.h"
|
#include "object/robotmain.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "graphics/common/water.h"
|
#include "old/water.h"
|
||||||
#include "graphics/common/camera.h"
|
#include "old/camera.h"
|
||||||
#include "object/object.h"
|
#include "object/object.h"
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
#include "object/motion/motion.h"
|
#include "object/motion/motion.h"
|
||||||
#include "object/motion/motionspider.h"
|
#include "object/motion/motionspider.h"
|
||||||
#include "graphics/common/pyro.h"
|
#include "old/pyro.h"
|
||||||
#include "object/task/taskmanager.h"
|
#include "object/task/taskmanager.h"
|
||||||
#include "object/task/task.h"
|
#include "object/task/task.h"
|
||||||
#include "object/task/taskmanip.h"
|
#include "object/task/taskmanip.h"
|
||||||
|
@ -61,9 +61,9 @@
|
||||||
#include "ui/target.h"
|
#include "ui/target.h"
|
||||||
#include "ui/window.h"
|
#include "ui/window.h"
|
||||||
#include "ui/displaytext.h"
|
#include "ui/displaytext.h"
|
||||||
#include "graphics/common/text.h"
|
#include "old/text.h"
|
||||||
#include "sound/sound.h"
|
#include "sound/sound.h"
|
||||||
#include "graphics/common/particule.h"
|
#include "old/particule.h"
|
||||||
#include "script/cmdtoken.h"
|
#include "script/cmdtoken.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#include "object/motion/motionant.h"
|
#include "object/motion/motionant.h"
|
||||||
|
|
||||||
#include "common/modfile.h"
|
#include "common/modfile.h"
|
||||||
#include "graphics/common/particule.h"
|
#include "old/particule.h"
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
#include "object/motion/motionhuman.h"
|
#include "object/motion/motionhuman.h"
|
||||||
|
|
||||||
#include "common/modfile.h"
|
#include "common/modfile.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "graphics/common/water.h"
|
#include "old/water.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "object/robotmain.h"
|
#include "object/robotmain.h"
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#include "object/motion/motionspider.h"
|
#include "object/motion/motionspider.h"
|
||||||
|
|
||||||
#include "common/modfile.h"
|
#include "common/modfile.h"
|
||||||
#include "graphics/common/particule.h"
|
#include "old/particule.h"
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
#include "object/motion/motiontoto.h"
|
#include "object/motion/motiontoto.h"
|
||||||
|
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "graphics/common/water.h"
|
#include "old/water.h"
|
||||||
#include "common/modfile.h"
|
#include "common/modfile.h"
|
||||||
#include "object/robotmain.h"
|
#include "object/robotmain.h"
|
||||||
|
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
#include "object/motion/motionvehicle.h"
|
#include "object/motion/motionvehicle.h"
|
||||||
|
|
||||||
#include "common/modfile.h"
|
#include "common/modfile.h"
|
||||||
#include "graphics/common/particule.h"
|
#include "old/particule.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "object/brain.h"
|
#include "object/brain.h"
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
#include "object/motion/motionworm.h"
|
#include "object/motion/motionworm.h"
|
||||||
|
|
||||||
#include "common/modfile.h"
|
#include "common/modfile.h"
|
||||||
#include "graphics/common/particule.h"
|
#include "old/particule.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
|
|
||||||
|
|
|
@ -25,23 +25,23 @@
|
||||||
#include "common/struct.h"
|
#include "common/struct.h"
|
||||||
#include "math/const.h"
|
#include "math/const.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
#include "math/old/d3dmath.h"
|
#include "old/d3dmath.h"
|
||||||
#include "graphics/d3d/d3dutil.h"
|
#include "old/d3dutil.h"
|
||||||
#include "common/global.h"
|
#include "common/global.h"
|
||||||
#include "common/event.h"
|
#include "common/event.h"
|
||||||
#include "common/misc.h"
|
#include "common/misc.h"
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "common/restext.h"
|
#include "common/restext.h"
|
||||||
#include "math/old/math3d.h"
|
#include "old/math3d.h"
|
||||||
#include "object/mainmovie.h"
|
#include "object/mainmovie.h"
|
||||||
#include "object/robotmain.h"
|
#include "object/robotmain.h"
|
||||||
#include "graphics/common/light.h"
|
#include "old/light.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "graphics/common/water.h"
|
#include "old/water.h"
|
||||||
#include "graphics/common/blitz.h"
|
#include "old/blitz.h"
|
||||||
#include "graphics/common/camera.h"
|
#include "old/camera.h"
|
||||||
#include "graphics/common/particule.h"
|
#include "old/particule.h"
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
#include "object/brain.h"
|
#include "object/brain.h"
|
||||||
#include "object/motion/motion.h"
|
#include "object/motion/motion.h"
|
||||||
|
@ -81,7 +81,7 @@
|
||||||
#include "object/auto/automush.h"
|
#include "object/auto/automush.h"
|
||||||
#include "object/auto/autokid.h"
|
#include "object/auto/autokid.h"
|
||||||
#include "object/task/task.h"
|
#include "object/task/task.h"
|
||||||
#include "graphics/common/pyro.h"
|
#include "old/pyro.h"
|
||||||
#include "ui/displaytext.h"
|
#include "ui/displaytext.h"
|
||||||
#include "script/cmdtoken.h"
|
#include "script/cmdtoken.h"
|
||||||
#include "script/cbottoken.h"
|
#include "script/cbottoken.h"
|
||||||
|
|
|
@ -19,8 +19,8 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
#include "graphics/common/camera.h"
|
#include "old/camera.h"
|
||||||
#include "sound/sound.h"
|
#include "sound/sound.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -26,8 +26,8 @@
|
||||||
#include "math/const.h"
|
#include "math/const.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "math/conv.h"
|
#include "math/conv.h"
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
#include "math/old/d3dmath.h"
|
#include "old/d3dmath.h"
|
||||||
#include "common/language.h"
|
#include "common/language.h"
|
||||||
#include "common/global.h"
|
#include "common/global.h"
|
||||||
#include "common/event.h"
|
#include "common/event.h"
|
||||||
|
@ -35,24 +35,24 @@
|
||||||
#include "common/profile.h"
|
#include "common/profile.h"
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "common/restext.h"
|
#include "common/restext.h"
|
||||||
#include "math/old/math3d.h"
|
#include "old/math3d.h"
|
||||||
#include "graphics/common/light.h"
|
#include "old/light.h"
|
||||||
#include "graphics/common/particule.h"
|
#include "old/particule.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "graphics/common/water.h"
|
#include "old/water.h"
|
||||||
#include "graphics/common/cloud.h"
|
#include "old/cloud.h"
|
||||||
#include "graphics/common/blitz.h"
|
#include "old/blitz.h"
|
||||||
#include "graphics/common/planet.h"
|
#include "old/planet.h"
|
||||||
#include "object/object.h"
|
#include "object/object.h"
|
||||||
#include "object/motion/motion.h"
|
#include "object/motion/motion.h"
|
||||||
#include "object/motion/motiontoto.h"
|
#include "object/motion/motiontoto.h"
|
||||||
#include "object/motion/motionhuman.h"
|
#include "object/motion/motionhuman.h"
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
#include "object/brain.h"
|
#include "object/brain.h"
|
||||||
#include "graphics/common/pyro.h"
|
#include "old/pyro.h"
|
||||||
#include "common/modfile.h"
|
#include "common/modfile.h"
|
||||||
#include "graphics/common/model.h"
|
#include "old/model.h"
|
||||||
#include "graphics/common/camera.h"
|
#include "old/camera.h"
|
||||||
#include "object/task/task.h"
|
#include "object/task/task.h"
|
||||||
#include "object/task/taskmanip.h"
|
#include "object/task/taskmanip.h"
|
||||||
#include "object/task/taskbuild.h"
|
#include "object/task/taskbuild.h"
|
||||||
|
@ -68,7 +68,7 @@
|
||||||
#include "ui/window.h"
|
#include "ui/window.h"
|
||||||
#include "ui/edit.h"
|
#include "ui/edit.h"
|
||||||
#include "ui/displaytext.h"
|
#include "ui/displaytext.h"
|
||||||
#include "graphics/common/text.h"
|
#include "old/text.h"
|
||||||
#include "sound/sound.h"
|
#include "sound/sound.h"
|
||||||
#include "script/cbottoken.h"
|
#include "script/cbottoken.h"
|
||||||
#include "script/cmdtoken.h"
|
#include "script/cmdtoken.h"
|
||||||
|
|
|
@ -22,11 +22,11 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#include "common/misc.h"
|
#include "common/misc.h"
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
#include "object/object.h"
|
#include "object/object.h"
|
||||||
#include "object/mainmovie.h"
|
#include "object/mainmovie.h"
|
||||||
#include "graphics/common/camera.h"
|
#include "old/camera.h"
|
||||||
#include "graphics/common/particule.h"
|
#include "old/particule.h"
|
||||||
|
|
||||||
|
|
||||||
enum Phase
|
enum Phase
|
||||||
|
|
|
@ -22,9 +22,9 @@
|
||||||
#include "object/task/taskbuild.h"
|
#include "object/task/taskbuild.h"
|
||||||
|
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "graphics/common/light.h"
|
#include "old/light.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "graphics/common/water.h"
|
#include "old/water.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "object/auto/auto.h"
|
#include "object/auto/auto.h"
|
||||||
#include "object/motion/motionhuman.h"
|
#include "object/motion/motionhuman.h"
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
#include "object/task/taskfire.h"
|
#include "object/task/taskfire.h"
|
||||||
|
|
||||||
#include "graphics/common/particule.h"
|
#include "old/particule.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
#include "object/task/taskfireant.h"
|
#include "object/task/taskfireant.h"
|
||||||
|
|
||||||
#include "graphics/common/particule.h"
|
#include "old/particule.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "object/motion/motionant.h"
|
#include "object/motion/motionant.h"
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
|
|
|
@ -23,8 +23,8 @@
|
||||||
|
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "graphics/common/water.h"
|
#include "old/water.h"
|
||||||
#include "graphics/common/pyro.h"
|
#include "old/pyro.h"
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
#include "object/motion/motionhuman.h"
|
#include "object/motion/motionhuman.h"
|
||||||
|
|
||||||
|
|
|
@ -23,8 +23,8 @@
|
||||||
|
|
||||||
#include "common/event.h"
|
#include "common/event.h"
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "graphics/common/water.h"
|
#include "old/water.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#include "object/task/taskinfo.h"
|
#include "object/task/taskinfo.h"
|
||||||
|
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "graphics/common/particule.h"
|
#include "old/particule.h"
|
||||||
#include "object/auto/autoinfo.h"
|
#include "object/auto/autoinfo.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
#include "object/task/taskmanip.h"
|
#include "object/task/taskmanip.h"
|
||||||
|
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "graphics/common/pyro.h"
|
#include "old/pyro.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "object/robotmain.h"
|
#include "object/robotmain.h"
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
#include "object/task/taskpen.h"
|
#include "object/task/taskpen.h"
|
||||||
|
|
||||||
#include "graphics/common/particule.h"
|
#include "old/particule.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "object/object.h"
|
#include "object/object.h"
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
|
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "graphics/common/particule.h"
|
#include "old/particule.h"
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
#include "ui/displaytext.h"
|
#include "ui/displaytext.h"
|
||||||
|
|
||||||
|
|
|
@ -23,8 +23,8 @@
|
||||||
|
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "graphics/common/particule.h"
|
#include "old/particule.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
#include "ui/displaytext.h"
|
#include "ui/displaytext.h"
|
||||||
|
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
#include "object/task/taskshield.h"
|
#include "object/task/taskshield.h"
|
||||||
|
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "graphics/common/light.h"
|
#include "old/light.h"
|
||||||
#include "graphics/common/particule.h"
|
#include "old/particule.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "object/brain.h"
|
#include "object/brain.h"
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
#include "object/task/taskspiderexplo.h"
|
#include "object/task/taskspiderexplo.h"
|
||||||
|
|
||||||
#include "graphics/common/pyro.h"
|
#include "old/pyro.h"
|
||||||
#include "object/motion/motionspider.h"
|
#include "object/motion/motionspider.h"
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
|
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
#include "object/task/tasktake.h"
|
#include "object/task/tasktake.h"
|
||||||
|
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "graphics/common/water.h"
|
#include "old/water.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "object/motion/motionhuman.h"
|
#include "object/motion/motionhuman.h"
|
||||||
#include "object/robotmain.h"
|
#include "object/robotmain.h"
|
||||||
|
|
|
@ -23,10 +23,10 @@
|
||||||
|
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "graphics/common/particule.h"
|
#include "old/particule.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
#include "graphics/common/pyro.h"
|
#include "old/pyro.h"
|
||||||
#include "object/brain.h"
|
#include "object/brain.h"
|
||||||
#include "object/motion/motionant.h"
|
#include "object/motion/motionant.h"
|
||||||
#include "object/motion/motionspider.h"
|
#include "object/motion/motionspider.h"
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
#include "object/task/taskturn.h"
|
#include "object/task/taskturn.h"
|
||||||
|
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
#include "object/task/taskwait.h"
|
#include "object/task/taskwait.h"
|
||||||
|
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
Contains files that are to be removed.
|
Contains old files that will be removed:
|
||||||
|
- old code modules - will be replaced by new implementation
|
||||||
The resources (cursors, etc.) cannot be included using windows rc files - they must be moved to .dat files.
|
- resources (cursors, etc.) - will be included in .dat files
|
||||||
|
|
|
@ -23,20 +23,20 @@
|
||||||
#include "math/const.h"
|
#include "math/const.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "math/conv.h"
|
#include "math/conv.h"
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
#include "math/old/d3dmath.h"
|
#include "old/d3dmath.h"
|
||||||
#include "graphics/d3d/d3dutil.h"
|
#include "old/d3dutil.h"
|
||||||
#include "common/event.h"
|
#include "common/event.h"
|
||||||
#include "common/misc.h"
|
#include "common/misc.h"
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "math/old/math3d.h"
|
#include "old/math3d.h"
|
||||||
#include "object/object.h"
|
#include "object/object.h"
|
||||||
#include "graphics/common/camera.h"
|
#include "old/camera.h"
|
||||||
#include "object/auto/auto.h"
|
#include "object/auto/auto.h"
|
||||||
#include "object/auto/autopara.h"
|
#include "object/auto/autopara.h"
|
||||||
#include "sound/sound.h"
|
#include "sound/sound.h"
|
||||||
#include "graphics/common/blitz.h"
|
#include "old/blitz.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
#include "common/misc.h"
|
#include "common/misc.h"
|
||||||
#include "math/point.h"
|
#include "math/point.h"
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
|
|
||||||
|
|
||||||
class CObject;
|
class CObject;
|
||||||
|
|
|
@ -22,18 +22,18 @@
|
||||||
#include "common/struct.h"
|
#include "common/struct.h"
|
||||||
#include "math/const.h"
|
#include "math/const.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
#include "math/old/d3dmath.h"
|
#include "old/d3dmath.h"
|
||||||
#include "common/language.h"
|
#include "common/language.h"
|
||||||
#include "common/event.h"
|
#include "common/event.h"
|
||||||
#include "common/misc.h"
|
#include "common/misc.h"
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "math/old/math3d.h"
|
#include "old/math3d.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "graphics/common/water.h"
|
#include "old/water.h"
|
||||||
#include "object/object.h"
|
#include "object/object.h"
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
#include "graphics/common/camera.h"
|
#include "old/camera.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
#include "common/event.h"
|
#include "common/event.h"
|
||||||
#include "math/point.h"
|
#include "math/point.h"
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
|
|
||||||
|
|
||||||
class CInstanceManager;
|
class CInstanceManager;
|
||||||
|
|
|
@ -22,16 +22,16 @@
|
||||||
#include "common/struct.h"
|
#include "common/struct.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "math/conv.h"
|
#include "math/conv.h"
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
#include "math/old/d3dmath.h"
|
#include "old/d3dmath.h"
|
||||||
#include "graphics/d3d/d3dutil.h"
|
#include "old/d3dutil.h"
|
||||||
#include "common/event.h"
|
#include "common/event.h"
|
||||||
#include "common/misc.h"
|
#include "common/misc.h"
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "math/old/math3d.h"
|
#include "old/math3d.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "object/object.h"
|
#include "object/object.h"
|
||||||
#include "graphics/common/cloud.h"
|
#include "old/cloud.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
#include "common/event.h"
|
#include "common/event.h"
|
||||||
#include "math/point.h"
|
#include "math/point.h"
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
|
|
||||||
|
|
||||||
class CInstanceManager;
|
class CInstanceManager;
|
||||||
|
|
|
@ -25,18 +25,18 @@
|
||||||
#include <dinput.h>
|
#include <dinput.h>
|
||||||
|
|
||||||
#include "common/struct.h"
|
#include "common/struct.h"
|
||||||
#include "graphics/d3d/d3dtextr.h"
|
#include "old/d3dtextr.h"
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
#include "common/language.h"
|
#include "common/language.h"
|
||||||
#include "common/event.h"
|
#include "common/event.h"
|
||||||
#include "common/profile.h"
|
#include "common/profile.h"
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "common/restext.h"
|
#include "common/restext.h"
|
||||||
#include "math/old/math3d.h"
|
#include "old/math3d.h"
|
||||||
#include "app/joystick.h"
|
#include "old/joystick.h"
|
||||||
#include "object/robotmain.h"
|
#include "object/robotmain.h"
|
||||||
#include "sound/sound.h"
|
#include "sound/sound.h"
|
||||||
#include "app/d3dapp.h"
|
#include "old/d3dapp.h"
|
||||||
|
|
||||||
// fix for "MSH_MOUSEWHEEL undefined" error
|
// fix for "MSH_MOUSEWHEEL undefined" error
|
||||||
#ifdef UNICODE
|
#ifdef UNICODE
|
||||||
|
|
|
@ -23,10 +23,10 @@
|
||||||
#include <d3d.h>
|
#include <d3d.h>
|
||||||
|
|
||||||
#include "math/vector.h"
|
#include "math/vector.h"
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
#include "graphics/d3d/d3dframe.h"
|
#include "old/d3dframe.h"
|
||||||
#include "graphics/d3d/d3denum.h"
|
#include "old/d3denum.h"
|
||||||
#include "graphics/d3d/d3dutil.h"
|
#include "old/d3dutil.h"
|
||||||
#include "old/d3dres.h"
|
#include "old/d3dres.h"
|
||||||
#include "common/misc.h"
|
#include "common/misc.h"
|
||||||
#include "common/struct.h"
|
#include "common/struct.h"
|
||||||
|
|
|
@ -24,26 +24,26 @@
|
||||||
#include "math/const.h"
|
#include "math/const.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "math/conv.h"
|
#include "math/conv.h"
|
||||||
#include "app/d3dapp.h"
|
#include "old/d3dapp.h"
|
||||||
#include "graphics/d3d/d3dtextr.h"
|
#include "old/d3dtextr.h"
|
||||||
#include "graphics/d3d/d3dutil.h"
|
#include "old/d3dutil.h"
|
||||||
#include "math/old/d3dmath.h"
|
#include "old/d3dmath.h"
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
#include "common/language.h"
|
#include "common/language.h"
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "common/event.h"
|
#include "common/event.h"
|
||||||
#include "common/profile.h"
|
#include "common/profile.h"
|
||||||
#include "math/old/math3d.h"
|
#include "old/math3d.h"
|
||||||
#include "object/object.h"
|
#include "object/object.h"
|
||||||
#include "ui/interface.h"
|
#include "ui/interface.h"
|
||||||
#include "graphics/common/light.h"
|
#include "old/light.h"
|
||||||
#include "graphics/common/text.h"
|
#include "old/text.h"
|
||||||
#include "graphics/common/particule.h"
|
#include "old/particule.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "graphics/common/water.h"
|
#include "old/water.h"
|
||||||
#include "graphics/common/cloud.h"
|
#include "old/cloud.h"
|
||||||
#include "graphics/common/blitz.h"
|
#include "old/blitz.h"
|
||||||
#include "graphics/common/planet.h"
|
#include "old/planet.h"
|
||||||
#include "sound/sound.h"
|
#include "sound/sound.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -24,8 +24,8 @@
|
||||||
#include <windowsx.h>
|
#include <windowsx.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <tchar.h>
|
#include <tchar.h>
|
||||||
#include "graphics/d3d/d3denum.h"
|
#include "old/d3denum.h"
|
||||||
#include "graphics/d3d/d3dutil.h" // For DEBUG_MSG
|
#include "old/d3dutil.h" // For DEBUG_MSG
|
||||||
#include "old/d3dres.h" // For dialog controls
|
#include "old/d3dres.h" // For dialog controls
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -24,8 +24,8 @@
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <tchar.h>
|
#include <tchar.h>
|
||||||
#include "graphics/d3d/d3dframe.h"
|
#include "old/d3dframe.h"
|
||||||
#include "graphics/d3d/d3dutil.h"
|
#include "old/d3dutil.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -30,8 +30,8 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
using std::min;
|
using std::min;
|
||||||
#include "graphics/d3d/d3dtextr.h"
|
#include "old/d3dtextr.h"
|
||||||
#include "graphics/d3d/d3dutil.h"
|
#include "old/d3dutil.h"
|
||||||
#include "common/language.h"
|
#include "common/language.h"
|
||||||
#include "common/misc.h"
|
#include "common/misc.h"
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <tchar.h>
|
#include <tchar.h>
|
||||||
#include "graphics/d3d/d3dutil.h"
|
#include "old/d3dutil.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#include <dinput.h>
|
#include <dinput.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#include "app/joystick.h"
|
#include "old/joystick.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -25,12 +25,12 @@
|
||||||
#include "math/const.h"
|
#include "math/const.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "math/conv.h"
|
#include "math/conv.h"
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
#include "common/event.h"
|
#include "common/event.h"
|
||||||
#include "common/misc.h"
|
#include "common/misc.h"
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "math/old/math3d.h"
|
#include "old/math3d.h"
|
||||||
#include "graphics/common/light.h"
|
#include "old/light.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
#include "graphics/common/color.h"
|
#include "graphics/common/color.h"
|
||||||
|
|
||||||
|
|
||||||
|
@ -57,93 +57,6 @@ struct Light
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// temporary!
|
|
||||||
namespace Gfx {
|
|
||||||
|
|
||||||
/** \enum LightType Type of light */
|
|
||||||
enum LightType
|
|
||||||
{
|
|
||||||
LT_Point,
|
|
||||||
LT_Spot,
|
|
||||||
LT_Directional
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \struct Light Light
|
|
||||||
*
|
|
||||||
* This structure was created as analog to DirectX's D3DLIGHT.
|
|
||||||
*
|
|
||||||
* It contains analogous fields as the D3DLIGHT struct.
|
|
||||||
*/
|
|
||||||
struct Light
|
|
||||||
{
|
|
||||||
//! Type of light source
|
|
||||||
Gfx::LightType type;
|
|
||||||
//! Color of light
|
|
||||||
Gfx::Color color;
|
|
||||||
//! Position in world space
|
|
||||||
Math::Vector position;
|
|
||||||
//! Direction in world space
|
|
||||||
Math::Vector direction;
|
|
||||||
//! Cutoff range
|
|
||||||
float range;
|
|
||||||
//! Falloff
|
|
||||||
float falloff;
|
|
||||||
//! Constant attenuation
|
|
||||||
float attenuation0;
|
|
||||||
//! Linear attenuation
|
|
||||||
float attenuation1;
|
|
||||||
//! Quadratic attenuation
|
|
||||||
float attenuation2;
|
|
||||||
//! Inner angle of spotlight cone
|
|
||||||
float theta;
|
|
||||||
//! Outer angle of spotlight cone
|
|
||||||
float phi;
|
|
||||||
|
|
||||||
Light() : type(LT_Point), range(0.0f), falloff(0.0f),
|
|
||||||
attenuation0(0.0f), attenuation1(0.0f), attenuation2(0.0f),
|
|
||||||
theta(0.0f), phi(0.0f) {}
|
|
||||||
};
|
|
||||||
|
|
||||||
struct LightProg
|
|
||||||
{
|
|
||||||
float starting;
|
|
||||||
float ending;
|
|
||||||
float current;
|
|
||||||
float progress;
|
|
||||||
float speed;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \struct SceneLight Dynamic light in 3D scene
|
|
||||||
*
|
|
||||||
* TODO documentation
|
|
||||||
*/
|
|
||||||
struct SceneLight
|
|
||||||
{
|
|
||||||
//! true -> light exists
|
|
||||||
bool used;
|
|
||||||
//! true -> light turned on
|
|
||||||
bool enable;
|
|
||||||
|
|
||||||
//! Type of all objects included
|
|
||||||
D3DTypeObj incluType;
|
|
||||||
//! Type of all objects excluded
|
|
||||||
D3DTypeObj excluType;
|
|
||||||
|
|
||||||
//! Configuration of the light
|
|
||||||
Gfx::Light light;
|
|
||||||
|
|
||||||
//! intensity (0 .. 1)
|
|
||||||
Gfx::LightProg intensity;
|
|
||||||
Gfx::LightProg colorRed;
|
|
||||||
Gfx::LightProg colorGreen;
|
|
||||||
Gfx::LightProg colorBlue;
|
|
||||||
};
|
|
||||||
|
|
||||||
}; // namespace Gfx
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CLight
|
class CLight
|
||||||
{
|
{
|
||||||
|
|
|
@ -23,10 +23,10 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <d3d.h>
|
#include <d3d.h>
|
||||||
|
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
#include "math/old/d3dmath.h"
|
#include "old/d3dmath.h"
|
||||||
#include "graphics/d3d/d3dutil.h"
|
#include "old/d3dutil.h"
|
||||||
#include "math/old/math3d.h"
|
#include "old/math3d.h"
|
||||||
|
|
||||||
|
|
||||||
// Old defines
|
// Old defines
|
||||||
|
|
|
@ -24,20 +24,20 @@
|
||||||
#include "common/struct.h"
|
#include "common/struct.h"
|
||||||
#include "math/const.h"
|
#include "math/const.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
#include "math/old/d3dmath.h"
|
#include "old/d3dmath.h"
|
||||||
#include "common/event.h"
|
#include "common/event.h"
|
||||||
#include "common/misc.h"
|
#include "common/misc.h"
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "math/old/math3d.h"
|
#include "old/math3d.h"
|
||||||
#include "graphics/common/water.h"
|
#include "old/water.h"
|
||||||
#include "object/robotmain.h"
|
#include "object/robotmain.h"
|
||||||
#include "ui/interface.h"
|
#include "ui/interface.h"
|
||||||
#include "ui/edit.h"
|
#include "ui/edit.h"
|
||||||
#include "ui/button.h"
|
#include "ui/button.h"
|
||||||
#include "script/cmdtoken.h"
|
#include "script/cmdtoken.h"
|
||||||
#include "common/modfile.h"
|
#include "common/modfile.h"
|
||||||
#include "graphics/common/model.h"
|
#include "old/model.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -25,22 +25,22 @@
|
||||||
#include "math/const.h"
|
#include "math/const.h"
|
||||||
#include "math/geometry.h"
|
#include "math/geometry.h"
|
||||||
#include "math/conv.h"
|
#include "math/conv.h"
|
||||||
#include "math/old/d3dmath.h"
|
#include "old/d3dmath.h"
|
||||||
#include "graphics/d3d/d3dtextr.h"
|
#include "old/d3dtextr.h"
|
||||||
#include "graphics/d3d/d3dengine.h"
|
#include "old/d3dengine.h"
|
||||||
#include "graphics/d3d/d3dutil.h"
|
#include "old/d3dutil.h"
|
||||||
#include "common/language.h"
|
#include "common/language.h"
|
||||||
#include "common/iman.h"
|
#include "common/iman.h"
|
||||||
#include "math/old/math3d.h"
|
#include "old/math3d.h"
|
||||||
#include "common/event.h"
|
#include "common/event.h"
|
||||||
#include "object/object.h"
|
#include "object/object.h"
|
||||||
#include "physics/physics.h"
|
#include "physics/physics.h"
|
||||||
#include "object/auto/auto.h"
|
#include "object/auto/auto.h"
|
||||||
#include "object/robotmain.h"
|
#include "object/robotmain.h"
|
||||||
#include "graphics/common/terrain.h"
|
#include "old/terrain.h"
|
||||||
#include "sound/sound.h"
|
#include "sound/sound.h"
|
||||||
#include "graphics/common/water.h"
|
#include "old/water.h"
|
||||||
#include "graphics/common/particule.h"
|
#include "old/particule.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue