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)
|
||||
|
||||
set(SOURCES
|
||||
app/d3dapp.cpp
|
||||
app/joystick.cpp
|
||||
old/d3dapp.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/iman.cpp
|
||||
common/metafile.cpp
|
||||
|
@ -11,24 +30,19 @@ common/misc.cpp
|
|||
common/modfile.cpp
|
||||
common/profile.cpp
|
||||
common/restext.cpp
|
||||
graphics/common/blitz.cpp
|
||||
graphics/common/camera.cpp
|
||||
graphics/common/cloud.cpp
|
||||
graphics/common/color.cpp
|
||||
graphics/common/engine.cpp
|
||||
graphics/common/light.cpp
|
||||
graphics/common/lightning.cpp
|
||||
graphics/common/model.cpp
|
||||
graphics/common/particule.cpp
|
||||
graphics/common/particle.cpp
|
||||
graphics/common/planet.cpp
|
||||
graphics/common/pyro.cpp
|
||||
graphics/common/terrain.cpp
|
||||
graphics/common/text.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/autobase.cpp
|
||||
object/auto/autoconvert.cpp
|
||||
|
@ -125,7 +139,7 @@ ui/window.cpp
|
|||
add_definitions(-DSTRICT -DD3D_OVERLOADS)
|
||||
|
||||
# Change to DirectX SDK directory
|
||||
set(DXSDK_DIR "/mnt/windows/dxsdk")
|
||||
set(DXSDK_DIR "c:/dxsdk")
|
||||
|
||||
include_directories(${DXSDK_DIR}/include .)
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
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 "common/struct.h"
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "math/old/d3dmath.h"
|
||||
#include "graphics/d3d/d3dutil.h"
|
||||
#include "old/d3dengine.h"
|
||||
#include "old/d3dmath.h"
|
||||
#include "old/d3dutil.h"
|
||||
#include "common/language.h"
|
||||
#include "common/event.h"
|
||||
#include "common/misc.h"
|
||||
|
|
|
@ -23,13 +23,13 @@
|
|||
|
||||
#include "common/struct.h"
|
||||
#include "math/geometry.h"
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "math/old/d3dmath.h"
|
||||
#include "old/d3dengine.h"
|
||||
#include "old/d3dmath.h"
|
||||
#include "common/language.h"
|
||||
#include "common/event.h"
|
||||
#include "common/misc.h"
|
||||
#include "common/iman.h"
|
||||
#include "math/old/math3d.h"
|
||||
#include "old/math3d.h"
|
||||
#include "common/modfile.h"
|
||||
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
|
||||
#include "math/vector.h"
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "old/d3dengine.h"
|
||||
|
||||
|
||||
class CInstanceManager;
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
#include <stdio.h>
|
||||
#include "common/struct.h"
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "old/d3dengine.h"
|
||||
#include "common/language.h"
|
||||
#include "common/misc.h"
|
||||
#include "common/event.h"
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
|
||||
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "old/d3dengine.h"
|
||||
#include "common/event.h"
|
||||
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
src/graphics
|
||||
|
||||
In the future, it will contain common interface to handling 3D graphics with concrete implementations for OpenGL and DirectX.
|
||||
|
||||
Currently, there is only the D3D interface.
|
||||
Graphics engine
|
||||
|
|
|
@ -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 "math/func.h"
|
||||
|
||||
|
||||
// Returns the color corresponding long.
|
||||
|
||||
long Gfx::RetColor(float intensity)
|
||||
{
|
||||
long color;
|
||||
|
||||
|
||||
if ( intensity <= 0.0f ) return 0x00000000;
|
||||
if ( intensity >= 1.0f ) return 0xffffffff;
|
||||
|
||||
|
||||
color = (int)(intensity*255.0f)<<24;
|
||||
color |= (int)(intensity*255.0f)<<16;
|
||||
color |= (int)(intensity*255.0f)<<8;
|
||||
color |= (int)(intensity*255.0f);
|
||||
|
||||
|
||||
return color;
|
||||
}
|
||||
|
||||
// Returns the color corresponding long.
|
||||
|
||||
long Gfx::RetColor(Color intensity)
|
||||
long Gfx::RetColor(Gfx::Color intensity)
|
||||
{
|
||||
long color;
|
||||
|
||||
|
||||
color = (int)(intensity.a*255.0f)<<24;
|
||||
color |= (int)(intensity.r*255.0f)<<16;
|
||||
color |= (int)(intensity.g*255.0f)<<8;
|
||||
color |= (int)(intensity.b*255.0f);
|
||||
|
||||
|
||||
return 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.g = (float)((intensity>>8 )&0xff)/256.0f;
|
||||
color.b = (float)((intensity>>0 )&0xff)/256.0f;
|
||||
color.a = (float)((intensity>>24)&0xff)/256.0f;
|
||||
|
||||
|
||||
return color;
|
||||
}
|
||||
|
||||
|
||||
// RGB to HSV conversion.
|
||||
|
||||
void Gfx::RGB2HSV(Color src, ColorHSV &dest)
|
||||
void Gfx::RGB2HSV(Gfx::Color src, Gfx::ColorHSV &dest)
|
||||
{
|
||||
float min, max, delta;
|
||||
|
||||
|
||||
min = Math::Min(src.r, src.g, src.b);
|
||||
max = Math::Max(src.r, src.g, src.b);
|
||||
|
||||
|
||||
dest.v = max; // intensity
|
||||
|
||||
|
||||
if ( max == 0.0f )
|
||||
{
|
||||
dest.s = 0.0f; // saturation
|
||||
|
@ -85,7 +87,7 @@ void Gfx::RGB2HSV(Color src, ColorHSV &dest)
|
|||
{
|
||||
delta = max-min;
|
||||
dest.s = delta/max; // saturation
|
||||
|
||||
|
||||
if ( src.r == max ) // between yellow & magenta
|
||||
{
|
||||
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 *= 60.0f; // in degrees
|
||||
if ( dest.h < 0.0f ) dest.h += 360.0f;
|
||||
dest.h /= 360.0f; // 0..1
|
||||
|
@ -107,15 +109,15 @@ void Gfx::RGB2HSV(Color src, ColorHSV &dest)
|
|||
|
||||
// HSV to RGB conversion.
|
||||
|
||||
void Gfx::HSV2RGB(ColorHSV src, Color &dest)
|
||||
void Gfx::HSV2RGB(Gfx::ColorHSV src, Gfx::Color &dest)
|
||||
{
|
||||
int i;
|
||||
float f,v,p,q,t;
|
||||
|
||||
|
||||
src.h = Math::Norm(src.h)*360.0f;
|
||||
src.s = Math::Norm(src.s);
|
||||
src.v = Math::Norm(src.v);
|
||||
|
||||
|
||||
if ( src.s == 0.0f ) // zero saturation?
|
||||
{
|
||||
dest.r = src.v;
|
||||
|
@ -128,12 +130,12 @@ void Gfx::HSV2RGB(ColorHSV src, Color &dest)
|
|||
src.h /= 60.0f;
|
||||
i = (int)src.h; // integer part (0 .. 5)
|
||||
f = src.h-i; // fractional part
|
||||
|
||||
|
||||
v = src.v;
|
||||
p = src.v*(1.0f-src.s);
|
||||
q = src.v*(1.0f-(src.s*f));
|
||||
t = src.v*(1.0f-(src.s*(1.0f-f)));
|
||||
|
||||
|
||||
switch (i)
|
||||
{
|
||||
case 0: dest.r=v; dest.g=t; dest.b=p; break;
|
||||
|
|
|
@ -19,20 +19,23 @@
|
|||
#pragma once
|
||||
|
||||
|
||||
// TODO
|
||||
namespace Gfx {
|
||||
|
||||
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
|
||||
{
|
||||
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);
|
||||
Color RetColor(long intensity);
|
||||
|
||||
void RGB2HSV(Color src, ColorHSV &dest);
|
||||
void HSV2RGB(ColorHSV src, Color &dest);
|
||||
void RGB2HSV(Color src, ColorHSV &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
|
||||
|
||||
|
||||
#include "math/vector.h"
|
||||
#include "math/point.h"
|
||||
|
||||
|
@ -44,4 +63,4 @@ struct VertexTex2 : public Gfx::Vertex
|
|||
: 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(geometry_test ./geometry_test)
|
||||
|
||||
include_directories(c:/dxsdk/include)
|
||||
# Change to DirectX SDK directory
|
||||
include_directories("c:/dxsdk/include")
|
||||
|
||||
add_definitions(-DSTRICT -DD3D_OVERLOADS)
|
||||
|
||||
|
|
|
@ -21,8 +21,8 @@
|
|||
#include "../func.h"
|
||||
#include "../geometry.h"
|
||||
#include "../conv.h"
|
||||
#include "../old/math3d.h"
|
||||
#include "../../graphics/d3d/d3dutil.h"
|
||||
#include "../../old/math3d.h"
|
||||
#include "../../old/d3dutil.h"
|
||||
|
||||
#include <d3d.h>
|
||||
#include <cstdio>
|
||||
|
|
|
@ -20,10 +20,10 @@
|
|||
#include "object/auto/autobase.h"
|
||||
|
||||
#include "common/iman.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "graphics/common/cloud.h"
|
||||
#include "graphics/common/planet.h"
|
||||
#include "graphics/common/blitz.h"
|
||||
#include "old/terrain.h"
|
||||
#include "old/cloud.h"
|
||||
#include "old/planet.h"
|
||||
#include "old/blitz.h"
|
||||
#include "math/geometry.h"
|
||||
#include "object/robotmain.h"
|
||||
#include "physics/physics.h"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#include "object/auto/autoderrick.h"
|
||||
|
||||
#include "common/iman.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "old/terrain.h"
|
||||
#include "math/geometry.h"
|
||||
#include "script/cmdtoken.h"
|
||||
#include "ui/interface.h"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#include "object/auto/autoenergy.h"
|
||||
|
||||
#include "common/iman.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "old/terrain.h"
|
||||
#include "math/geometry.h"
|
||||
#include "script/cmdtoken.h"
|
||||
#include "ui/interface.h"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#include "object/auto/autoflag.h"
|
||||
|
||||
#include "math/geometry.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "old/terrain.h"
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
|
||||
#include "object/auto/auto.h"
|
||||
#include "graphics/common/particule.h"
|
||||
#include "old/particule.h"
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -19,8 +19,8 @@
|
|||
|
||||
#include "object/auto/autokid.h"
|
||||
|
||||
#include "graphics/common/particule.h"
|
||||
#include "graphics/common/water.h"
|
||||
#include "old/particule.h"
|
||||
#include "old/water.h"
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#include "object/auto/autonest.h"
|
||||
|
||||
#include "common/iman.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "old/terrain.h"
|
||||
#include "script/cmdtoken.h"
|
||||
|
||||
|
||||
|
|
|
@ -19,8 +19,8 @@
|
|||
|
||||
#include "object/auto/autoroot.h"
|
||||
|
||||
#include "graphics/common/particule.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "old/particule.h"
|
||||
#include "old/terrain.h"
|
||||
#include "math/geometry.h"
|
||||
|
||||
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
#include "object/auto/autostation.h"
|
||||
|
||||
#include "common/iman.h"
|
||||
#include "graphics/common/particule.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "old/particule.h"
|
||||
#include "old/terrain.h"
|
||||
#include "math/geometry.h"
|
||||
#include "ui/interface.h"
|
||||
#include "ui/gauge.h"
|
||||
|
|
|
@ -23,24 +23,24 @@
|
|||
#include "common/struct.h"
|
||||
#include "math/geometry.h"
|
||||
#include "math/const.h"
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "math/old/d3dmath.h"
|
||||
#include "old/d3dengine.h"
|
||||
#include "old/d3dmath.h"
|
||||
#include "common/language.h"
|
||||
#include "common/global.h"
|
||||
#include "common/event.h"
|
||||
#include "common/misc.h"
|
||||
#include "common/iman.h"
|
||||
#include "common/restext.h"
|
||||
#include "math/old/math3d.h"
|
||||
#include "old/math3d.h"
|
||||
#include "object/robotmain.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "graphics/common/water.h"
|
||||
#include "graphics/common/camera.h"
|
||||
#include "old/terrain.h"
|
||||
#include "old/water.h"
|
||||
#include "old/camera.h"
|
||||
#include "object/object.h"
|
||||
#include "physics/physics.h"
|
||||
#include "object/motion/motion.h"
|
||||
#include "object/motion/motionspider.h"
|
||||
#include "graphics/common/pyro.h"
|
||||
#include "old/pyro.h"
|
||||
#include "object/task/taskmanager.h"
|
||||
#include "object/task/task.h"
|
||||
#include "object/task/taskmanip.h"
|
||||
|
@ -61,9 +61,9 @@
|
|||
#include "ui/target.h"
|
||||
#include "ui/window.h"
|
||||
#include "ui/displaytext.h"
|
||||
#include "graphics/common/text.h"
|
||||
#include "old/text.h"
|
||||
#include "sound/sound.h"
|
||||
#include "graphics/common/particule.h"
|
||||
#include "old/particule.h"
|
||||
#include "script/cmdtoken.h"
|
||||
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#include "object/motion/motionant.h"
|
||||
|
||||
#include "common/modfile.h"
|
||||
#include "graphics/common/particule.h"
|
||||
#include "old/particule.h"
|
||||
#include "physics/physics.h"
|
||||
|
||||
|
||||
|
|
|
@ -22,8 +22,8 @@
|
|||
#include "object/motion/motionhuman.h"
|
||||
|
||||
#include "common/modfile.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "graphics/common/water.h"
|
||||
#include "old/terrain.h"
|
||||
#include "old/water.h"
|
||||
#include "math/geometry.h"
|
||||
#include "object/robotmain.h"
|
||||
#include "physics/physics.h"
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#include "object/motion/motionspider.h"
|
||||
|
||||
#include "common/modfile.h"
|
||||
#include "graphics/common/particule.h"
|
||||
#include "old/particule.h"
|
||||
#include "physics/physics.h"
|
||||
|
||||
|
||||
|
|
|
@ -22,8 +22,8 @@
|
|||
#include "object/motion/motiontoto.h"
|
||||
|
||||
#include "math/geometry.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "graphics/common/water.h"
|
||||
#include "old/terrain.h"
|
||||
#include "old/water.h"
|
||||
#include "common/modfile.h"
|
||||
#include "object/robotmain.h"
|
||||
|
||||
|
|
|
@ -22,8 +22,8 @@
|
|||
#include "object/motion/motionvehicle.h"
|
||||
|
||||
#include "common/modfile.h"
|
||||
#include "graphics/common/particule.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "old/particule.h"
|
||||
#include "old/terrain.h"
|
||||
#include "math/geometry.h"
|
||||
#include "object/brain.h"
|
||||
#include "physics/physics.h"
|
||||
|
|
|
@ -22,8 +22,8 @@
|
|||
#include "object/motion/motionworm.h"
|
||||
|
||||
#include "common/modfile.h"
|
||||
#include "graphics/common/particule.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "old/particule.h"
|
||||
#include "old/terrain.h"
|
||||
#include "math/geometry.h"
|
||||
#include "physics/physics.h"
|
||||
|
||||
|
|
|
@ -25,23 +25,23 @@
|
|||
#include "common/struct.h"
|
||||
#include "math/const.h"
|
||||
#include "math/geometry.h"
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "math/old/d3dmath.h"
|
||||
#include "graphics/d3d/d3dutil.h"
|
||||
#include "old/d3dengine.h"
|
||||
#include "old/d3dmath.h"
|
||||
#include "old/d3dutil.h"
|
||||
#include "common/global.h"
|
||||
#include "common/event.h"
|
||||
#include "common/misc.h"
|
||||
#include "common/iman.h"
|
||||
#include "common/restext.h"
|
||||
#include "math/old/math3d.h"
|
||||
#include "old/math3d.h"
|
||||
#include "object/mainmovie.h"
|
||||
#include "object/robotmain.h"
|
||||
#include "graphics/common/light.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "graphics/common/water.h"
|
||||
#include "graphics/common/blitz.h"
|
||||
#include "graphics/common/camera.h"
|
||||
#include "graphics/common/particule.h"
|
||||
#include "old/light.h"
|
||||
#include "old/terrain.h"
|
||||
#include "old/water.h"
|
||||
#include "old/blitz.h"
|
||||
#include "old/camera.h"
|
||||
#include "old/particule.h"
|
||||
#include "physics/physics.h"
|
||||
#include "object/brain.h"
|
||||
#include "object/motion/motion.h"
|
||||
|
@ -81,7 +81,7 @@
|
|||
#include "object/auto/automush.h"
|
||||
#include "object/auto/autokid.h"
|
||||
#include "object/task/task.h"
|
||||
#include "graphics/common/pyro.h"
|
||||
#include "old/pyro.h"
|
||||
#include "ui/displaytext.h"
|
||||
#include "script/cmdtoken.h"
|
||||
#include "script/cbottoken.h"
|
||||
|
|
|
@ -19,8 +19,8 @@
|
|||
#pragma once
|
||||
|
||||
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "graphics/common/camera.h"
|
||||
#include "old/d3dengine.h"
|
||||
#include "old/camera.h"
|
||||
#include "sound/sound.h"
|
||||
|
||||
|
||||
|
|
|
@ -26,8 +26,8 @@
|
|||
#include "math/const.h"
|
||||
#include "math/geometry.h"
|
||||
#include "math/conv.h"
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "math/old/d3dmath.h"
|
||||
#include "old/d3dengine.h"
|
||||
#include "old/d3dmath.h"
|
||||
#include "common/language.h"
|
||||
#include "common/global.h"
|
||||
#include "common/event.h"
|
||||
|
@ -35,24 +35,24 @@
|
|||
#include "common/profile.h"
|
||||
#include "common/iman.h"
|
||||
#include "common/restext.h"
|
||||
#include "math/old/math3d.h"
|
||||
#include "graphics/common/light.h"
|
||||
#include "graphics/common/particule.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "graphics/common/water.h"
|
||||
#include "graphics/common/cloud.h"
|
||||
#include "graphics/common/blitz.h"
|
||||
#include "graphics/common/planet.h"
|
||||
#include "old/math3d.h"
|
||||
#include "old/light.h"
|
||||
#include "old/particule.h"
|
||||
#include "old/terrain.h"
|
||||
#include "old/water.h"
|
||||
#include "old/cloud.h"
|
||||
#include "old/blitz.h"
|
||||
#include "old/planet.h"
|
||||
#include "object/object.h"
|
||||
#include "object/motion/motion.h"
|
||||
#include "object/motion/motiontoto.h"
|
||||
#include "object/motion/motionhuman.h"
|
||||
#include "physics/physics.h"
|
||||
#include "object/brain.h"
|
||||
#include "graphics/common/pyro.h"
|
||||
#include "old/pyro.h"
|
||||
#include "common/modfile.h"
|
||||
#include "graphics/common/model.h"
|
||||
#include "graphics/common/camera.h"
|
||||
#include "old/model.h"
|
||||
#include "old/camera.h"
|
||||
#include "object/task/task.h"
|
||||
#include "object/task/taskmanip.h"
|
||||
#include "object/task/taskbuild.h"
|
||||
|
@ -68,7 +68,7 @@
|
|||
#include "ui/window.h"
|
||||
#include "ui/edit.h"
|
||||
#include "ui/displaytext.h"
|
||||
#include "graphics/common/text.h"
|
||||
#include "old/text.h"
|
||||
#include "sound/sound.h"
|
||||
#include "script/cbottoken.h"
|
||||
#include "script/cmdtoken.h"
|
||||
|
|
|
@ -22,11 +22,11 @@
|
|||
#include <stdio.h>
|
||||
|
||||
#include "common/misc.h"
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "old/d3dengine.h"
|
||||
#include "object/object.h"
|
||||
#include "object/mainmovie.h"
|
||||
#include "graphics/common/camera.h"
|
||||
#include "graphics/common/particule.h"
|
||||
#include "old/camera.h"
|
||||
#include "old/particule.h"
|
||||
|
||||
|
||||
enum Phase
|
||||
|
|
|
@ -22,9 +22,9 @@
|
|||
#include "object/task/taskbuild.h"
|
||||
|
||||
#include "common/iman.h"
|
||||
#include "graphics/common/light.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "graphics/common/water.h"
|
||||
#include "old/light.h"
|
||||
#include "old/terrain.h"
|
||||
#include "old/water.h"
|
||||
#include "math/geometry.h"
|
||||
#include "object/auto/auto.h"
|
||||
#include "object/motion/motionhuman.h"
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
#include "object/task/taskfire.h"
|
||||
|
||||
#include "graphics/common/particule.h"
|
||||
#include "old/particule.h"
|
||||
#include "math/geometry.h"
|
||||
#include "physics/physics.h"
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
#include "object/task/taskfireant.h"
|
||||
|
||||
#include "graphics/common/particule.h"
|
||||
#include "old/particule.h"
|
||||
#include "math/geometry.h"
|
||||
#include "object/motion/motionant.h"
|
||||
#include "physics/physics.h"
|
||||
|
|
|
@ -23,8 +23,8 @@
|
|||
|
||||
#include "math/geometry.h"
|
||||
#include "common/iman.h"
|
||||
#include "graphics/common/water.h"
|
||||
#include "graphics/common/pyro.h"
|
||||
#include "old/water.h"
|
||||
#include "old/pyro.h"
|
||||
#include "physics/physics.h"
|
||||
#include "object/motion/motionhuman.h"
|
||||
|
||||
|
|
|
@ -23,8 +23,8 @@
|
|||
|
||||
#include "common/event.h"
|
||||
#include "common/iman.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "graphics/common/water.h"
|
||||
#include "old/terrain.h"
|
||||
#include "old/water.h"
|
||||
#include "math/geometry.h"
|
||||
#include "physics/physics.h"
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#include "object/task/taskinfo.h"
|
||||
|
||||
#include "common/iman.h"
|
||||
#include "graphics/common/particule.h"
|
||||
#include "old/particule.h"
|
||||
#include "object/auto/autoinfo.h"
|
||||
|
||||
|
||||
|
|
|
@ -22,8 +22,8 @@
|
|||
#include "object/task/taskmanip.h"
|
||||
|
||||
#include "common/iman.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "graphics/common/pyro.h"
|
||||
#include "old/terrain.h"
|
||||
#include "old/pyro.h"
|
||||
#include "math/geometry.h"
|
||||
#include "object/robotmain.h"
|
||||
#include "physics/physics.h"
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
#include "object/task/taskpen.h"
|
||||
|
||||
#include "graphics/common/particule.h"
|
||||
#include "old/particule.h"
|
||||
#include "math/geometry.h"
|
||||
#include "object/object.h"
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
#include "math/geometry.h"
|
||||
#include "common/iman.h"
|
||||
#include "graphics/common/particule.h"
|
||||
#include "old/particule.h"
|
||||
#include "physics/physics.h"
|
||||
#include "ui/displaytext.h"
|
||||
|
||||
|
|
|
@ -23,8 +23,8 @@
|
|||
|
||||
#include "math/geometry.h"
|
||||
#include "common/iman.h"
|
||||
#include "graphics/common/particule.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "old/particule.h"
|
||||
#include "old/terrain.h"
|
||||
#include "physics/physics.h"
|
||||
#include "ui/displaytext.h"
|
||||
|
||||
|
|
|
@ -22,8 +22,8 @@
|
|||
#include "object/task/taskshield.h"
|
||||
|
||||
#include "common/iman.h"
|
||||
#include "graphics/common/light.h"
|
||||
#include "graphics/common/particule.h"
|
||||
#include "old/light.h"
|
||||
#include "old/particule.h"
|
||||
#include "math/geometry.h"
|
||||
#include "object/brain.h"
|
||||
#include "physics/physics.h"
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
#include "object/task/taskspiderexplo.h"
|
||||
|
||||
#include "graphics/common/pyro.h"
|
||||
#include "old/pyro.h"
|
||||
#include "object/motion/motionspider.h"
|
||||
#include "physics/physics.h"
|
||||
|
||||
|
|
|
@ -22,8 +22,8 @@
|
|||
#include "object/task/tasktake.h"
|
||||
|
||||
#include "common/iman.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "graphics/common/water.h"
|
||||
#include "old/terrain.h"
|
||||
#include "old/water.h"
|
||||
#include "math/geometry.h"
|
||||
#include "object/motion/motionhuman.h"
|
||||
#include "object/robotmain.h"
|
||||
|
|
|
@ -23,10 +23,10 @@
|
|||
|
||||
#include "math/geometry.h"
|
||||
#include "common/iman.h"
|
||||
#include "graphics/common/particule.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "old/particule.h"
|
||||
#include "old/terrain.h"
|
||||
#include "physics/physics.h"
|
||||
#include "graphics/common/pyro.h"
|
||||
#include "old/pyro.h"
|
||||
#include "object/brain.h"
|
||||
#include "object/motion/motionant.h"
|
||||
#include "object/motion/motionspider.h"
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
#include "object/task/taskturn.h"
|
||||
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "old/terrain.h"
|
||||
#include "physics/physics.h"
|
||||
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
#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.
|
||||
|
||||
The resources (cursors, etc.) cannot be included using windows rc files - they must be moved to .dat files.
|
||||
Contains old files that will be removed:
|
||||
- old code modules - will be replaced by new implementation
|
||||
- resources (cursors, etc.) - will be included in .dat files
|
||||
|
|
|
@ -23,20 +23,20 @@
|
|||
#include "math/const.h"
|
||||
#include "math/geometry.h"
|
||||
#include "math/conv.h"
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "math/old/d3dmath.h"
|
||||
#include "graphics/d3d/d3dutil.h"
|
||||
#include "old/d3dengine.h"
|
||||
#include "old/d3dmath.h"
|
||||
#include "old/d3dutil.h"
|
||||
#include "common/event.h"
|
||||
#include "common/misc.h"
|
||||
#include "common/iman.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "math/old/math3d.h"
|
||||
#include "old/terrain.h"
|
||||
#include "old/math3d.h"
|
||||
#include "object/object.h"
|
||||
#include "graphics/common/camera.h"
|
||||
#include "old/camera.h"
|
||||
#include "object/auto/auto.h"
|
||||
#include "object/auto/autopara.h"
|
||||
#include "sound/sound.h"
|
||||
#include "graphics/common/blitz.h"
|
||||
#include "old/blitz.h"
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
#include "common/misc.h"
|
||||
#include "math/point.h"
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "old/d3dengine.h"
|
||||
|
||||
|
||||
class CObject;
|
||||
|
|
|
@ -22,18 +22,18 @@
|
|||
#include "common/struct.h"
|
||||
#include "math/const.h"
|
||||
#include "math/geometry.h"
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "math/old/d3dmath.h"
|
||||
#include "old/d3dengine.h"
|
||||
#include "old/d3dmath.h"
|
||||
#include "common/language.h"
|
||||
#include "common/event.h"
|
||||
#include "common/misc.h"
|
||||
#include "common/iman.h"
|
||||
#include "math/old/math3d.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "graphics/common/water.h"
|
||||
#include "old/math3d.h"
|
||||
#include "old/terrain.h"
|
||||
#include "old/water.h"
|
||||
#include "object/object.h"
|
||||
#include "physics/physics.h"
|
||||
#include "graphics/common/camera.h"
|
||||
#include "old/camera.h"
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
#include "common/event.h"
|
||||
#include "math/point.h"
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "old/d3dengine.h"
|
||||
|
||||
|
||||
class CInstanceManager;
|
||||
|
|
|
@ -22,16 +22,16 @@
|
|||
#include "common/struct.h"
|
||||
#include "math/geometry.h"
|
||||
#include "math/conv.h"
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "math/old/d3dmath.h"
|
||||
#include "graphics/d3d/d3dutil.h"
|
||||
#include "old/d3dengine.h"
|
||||
#include "old/d3dmath.h"
|
||||
#include "old/d3dutil.h"
|
||||
#include "common/event.h"
|
||||
#include "common/misc.h"
|
||||
#include "common/iman.h"
|
||||
#include "math/old/math3d.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "old/math3d.h"
|
||||
#include "old/terrain.h"
|
||||
#include "object/object.h"
|
||||
#include "graphics/common/cloud.h"
|
||||
#include "old/cloud.h"
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
#include "common/event.h"
|
||||
#include "math/point.h"
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "old/d3dengine.h"
|
||||
|
||||
|
||||
class CInstanceManager;
|
||||
|
|
|
@ -25,18 +25,18 @@
|
|||
#include <dinput.h>
|
||||
|
||||
#include "common/struct.h"
|
||||
#include "graphics/d3d/d3dtextr.h"
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "old/d3dtextr.h"
|
||||
#include "old/d3dengine.h"
|
||||
#include "common/language.h"
|
||||
#include "common/event.h"
|
||||
#include "common/profile.h"
|
||||
#include "common/iman.h"
|
||||
#include "common/restext.h"
|
||||
#include "math/old/math3d.h"
|
||||
#include "app/joystick.h"
|
||||
#include "old/math3d.h"
|
||||
#include "old/joystick.h"
|
||||
#include "object/robotmain.h"
|
||||
#include "sound/sound.h"
|
||||
#include "app/d3dapp.h"
|
||||
#include "old/d3dapp.h"
|
||||
|
||||
// fix for "MSH_MOUSEWHEEL undefined" error
|
||||
#ifdef UNICODE
|
||||
|
|
|
@ -23,10 +23,10 @@
|
|||
#include <d3d.h>
|
||||
|
||||
#include "math/vector.h"
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "graphics/d3d/d3dframe.h"
|
||||
#include "graphics/d3d/d3denum.h"
|
||||
#include "graphics/d3d/d3dutil.h"
|
||||
#include "old/d3dengine.h"
|
||||
#include "old/d3dframe.h"
|
||||
#include "old/d3denum.h"
|
||||
#include "old/d3dutil.h"
|
||||
#include "old/d3dres.h"
|
||||
#include "common/misc.h"
|
||||
#include "common/struct.h"
|
||||
|
|
|
@ -24,26 +24,26 @@
|
|||
#include "math/const.h"
|
||||
#include "math/geometry.h"
|
||||
#include "math/conv.h"
|
||||
#include "app/d3dapp.h"
|
||||
#include "graphics/d3d/d3dtextr.h"
|
||||
#include "graphics/d3d/d3dutil.h"
|
||||
#include "math/old/d3dmath.h"
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "old/d3dapp.h"
|
||||
#include "old/d3dtextr.h"
|
||||
#include "old/d3dutil.h"
|
||||
#include "old/d3dmath.h"
|
||||
#include "old/d3dengine.h"
|
||||
#include "common/language.h"
|
||||
#include "common/iman.h"
|
||||
#include "common/event.h"
|
||||
#include "common/profile.h"
|
||||
#include "math/old/math3d.h"
|
||||
#include "old/math3d.h"
|
||||
#include "object/object.h"
|
||||
#include "ui/interface.h"
|
||||
#include "graphics/common/light.h"
|
||||
#include "graphics/common/text.h"
|
||||
#include "graphics/common/particule.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "graphics/common/water.h"
|
||||
#include "graphics/common/cloud.h"
|
||||
#include "graphics/common/blitz.h"
|
||||
#include "graphics/common/planet.h"
|
||||
#include "old/light.h"
|
||||
#include "old/text.h"
|
||||
#include "old/particule.h"
|
||||
#include "old/terrain.h"
|
||||
#include "old/water.h"
|
||||
#include "old/cloud.h"
|
||||
#include "old/blitz.h"
|
||||
#include "old/planet.h"
|
||||
#include "sound/sound.h"
|
||||
|
||||
|
||||
|
|
|
@ -24,8 +24,8 @@
|
|||
#include <windowsx.h>
|
||||
#include <stdio.h>
|
||||
#include <tchar.h>
|
||||
#include "graphics/d3d/d3denum.h"
|
||||
#include "graphics/d3d/d3dutil.h" // For DEBUG_MSG
|
||||
#include "old/d3denum.h"
|
||||
#include "old/d3dutil.h" // For DEBUG_MSG
|
||||
#include "old/d3dres.h" // For dialog controls
|
||||
|
||||
|
||||
|
|
|
@ -24,8 +24,8 @@
|
|||
#include <windows.h>
|
||||
#include <stdio.h>
|
||||
#include <tchar.h>
|
||||
#include "graphics/d3d/d3dframe.h"
|
||||
#include "graphics/d3d/d3dutil.h"
|
||||
#include "old/d3dframe.h"
|
||||
#include "old/d3dutil.h"
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -30,8 +30,8 @@
|
|||
#include <stdio.h>
|
||||
#include <algorithm>
|
||||
using std::min;
|
||||
#include "graphics/d3d/d3dtextr.h"
|
||||
#include "graphics/d3d/d3dutil.h"
|
||||
#include "old/d3dtextr.h"
|
||||
#include "old/d3dutil.h"
|
||||
#include "common/language.h"
|
||||
#include "common/misc.h"
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include <tchar.h>
|
||||
#include "graphics/d3d/d3dutil.h"
|
||||
#include "old/d3dutil.h"
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#include <dinput.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "app/joystick.h"
|
||||
#include "old/joystick.h"
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -25,12 +25,12 @@
|
|||
#include "math/const.h"
|
||||
#include "math/geometry.h"
|
||||
#include "math/conv.h"
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "old/d3dengine.h"
|
||||
#include "common/event.h"
|
||||
#include "common/misc.h"
|
||||
#include "common/iman.h"
|
||||
#include "math/old/math3d.h"
|
||||
#include "graphics/common/light.h"
|
||||
#include "old/math3d.h"
|
||||
#include "old/light.h"
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#pragma once
|
||||
|
||||
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "old/d3dengine.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
|
||||
{
|
||||
|
|
|
@ -23,10 +23,10 @@
|
|||
#include <stdio.h>
|
||||
#include <d3d.h>
|
||||
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "math/old/d3dmath.h"
|
||||
#include "graphics/d3d/d3dutil.h"
|
||||
#include "math/old/math3d.h"
|
||||
#include "old/d3dengine.h"
|
||||
#include "old/d3dmath.h"
|
||||
#include "old/d3dutil.h"
|
||||
#include "old/math3d.h"
|
||||
|
||||
|
||||
// Old defines
|
||||
|
|
|
@ -24,20 +24,20 @@
|
|||
#include "common/struct.h"
|
||||
#include "math/const.h"
|
||||
#include "math/geometry.h"
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "math/old/d3dmath.h"
|
||||
#include "old/d3dengine.h"
|
||||
#include "old/d3dmath.h"
|
||||
#include "common/event.h"
|
||||
#include "common/misc.h"
|
||||
#include "common/iman.h"
|
||||
#include "math/old/math3d.h"
|
||||
#include "graphics/common/water.h"
|
||||
#include "old/math3d.h"
|
||||
#include "old/water.h"
|
||||
#include "object/robotmain.h"
|
||||
#include "ui/interface.h"
|
||||
#include "ui/edit.h"
|
||||
#include "ui/button.h"
|
||||
#include "script/cmdtoken.h"
|
||||
#include "common/modfile.h"
|
||||
#include "graphics/common/model.h"
|
||||
#include "old/model.h"
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -25,22 +25,22 @@
|
|||
#include "math/const.h"
|
||||
#include "math/geometry.h"
|
||||
#include "math/conv.h"
|
||||
#include "math/old/d3dmath.h"
|
||||
#include "graphics/d3d/d3dtextr.h"
|
||||
#include "graphics/d3d/d3dengine.h"
|
||||
#include "graphics/d3d/d3dutil.h"
|
||||
#include "old/d3dmath.h"
|
||||
#include "old/d3dtextr.h"
|
||||
#include "old/d3dengine.h"
|
||||
#include "old/d3dutil.h"
|
||||
#include "common/language.h"
|
||||
#include "common/iman.h"
|
||||
#include "math/old/math3d.h"
|
||||
#include "old/math3d.h"
|
||||
#include "common/event.h"
|
||||
#include "object/object.h"
|
||||
#include "physics/physics.h"
|
||||
#include "object/auto/auto.h"
|
||||
#include "object/robotmain.h"
|
||||
#include "graphics/common/terrain.h"
|
||||
#include "old/terrain.h"
|
||||
#include "sound/sound.h"
|
||||
#include "graphics/common/water.h"
|
||||
#include "graphics/common/particule.h"
|
||||
#include "old/water.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