Use forward declaration in libgraphics

This commit is contained in:
Vsevolod Kremianskii 2021-06-20 12:41:39 +07:00
parent fdda384297
commit ad6df32c97
74 changed files with 289 additions and 105 deletions

View file

@ -20,7 +20,12 @@
#include "audio/player.h" #include "audio/player.h"
#include "audio/services.h" #include "audio/services.h"
#include "game/game.h" #include "game/game.h"
#include "graphics/context.h"
#include "graphics/features.h"
#include "graphics/lip/lips.h"
#include "graphics/model/models.h"
#include "graphics/services.h" #include "graphics/services.h"
#include "graphics/walkmesh/walkmeshes.h"
#include "resource/resourceprovider.h" #include "resource/resourceprovider.h"
#include "resource/services.h" #include "resource/services.h"
#include "scene/services.h" #include "scene/services.h"

View file

@ -20,6 +20,7 @@
#include "../common/log.h" #include "../common/log.h"
#include "../graphics/font.h" #include "../graphics/font.h"
#include "../graphics/fonts.h" #include "../graphics/fonts.h"
#include "../graphics/mesh/mesh.h"
#include "../graphics/mesh/meshes.h" #include "../graphics/mesh/meshes.h"
#include "../graphics/shader/shaders.h" #include "../graphics/shader/shaders.h"
#include "../graphics/window.h" #include "../graphics/window.h"

View file

@ -18,7 +18,11 @@
#include "cursors.h" #include "cursors.h"
#include "../common/streamutil.h" #include "../common/streamutil.h"
#include "../graphics/cursor.h"
#include "../graphics/services.h"
#include "../graphics/texture/curreader.h" #include "../graphics/texture/curreader.h"
#include "../resource/resources.h"
#include "../resource/services.h"
using namespace std; using namespace std;

View file

@ -17,13 +17,24 @@
#pragma once #pragma once
#include "../graphics/services.h"
#include "../resource/services.h"
#include "types.h" #include "types.h"
namespace reone { namespace reone {
namespace resource {
class ResourceServices;
}
namespace graphics {
class Cursor;
class GraphicsServices;
class Texture;
}
namespace game { namespace game {
class Cursors : boost::noncopyable { class Cursors : boost::noncopyable {

View file

@ -19,6 +19,7 @@
#include "../../common/collectionutil.h" #include "../../common/collectionutil.h"
#include "../../resource/2da.h" #include "../../resource/2da.h"
#include "../../resource/resources.h"
#include "../../resource/strings.h" #include "../../resource/strings.h"
using namespace std; using namespace std;

View file

@ -18,7 +18,9 @@
#include "skills.h" #include "skills.h"
#include "../../common/collectionutil.h" #include "../../common/collectionutil.h"
#include "../../graphics/texture/textures.h"
#include "../../resource/2da.h" #include "../../resource/2da.h"
#include "../../resource/resources.h"
#include "../../resource/strings.h" #include "../../resource/strings.h"
using namespace std; using namespace std;

View file

@ -17,9 +17,13 @@
#include "game.h" #include "game.h"
#include "../audio/player.h"
#include "../common/log.h" #include "../common/log.h"
#include "../common/pathutil.h" #include "../common/pathutil.h"
#include "../audio/player.h" #include "../graphics/features.h"
#include "../graphics/lip/lips.h"
#include "../graphics/model/models.h"
#include "../graphics/walkmesh/walkmeshes.h"
#include "../video/bikreader.h" #include "../video/bikreader.h"
using namespace std; using namespace std;

View file

@ -22,6 +22,7 @@
#include "../../common/log.h" #include "../../common/log.h"
#include "../../gui/control/listbox.h" #include "../../gui/control/listbox.h"
#include "../../graphics/lip/lips.h" #include "../../graphics/lip/lips.h"
#include "../../graphics/model/animation.h"
#include "../../graphics/model/models.h" #include "../../graphics/model/models.h"
#include "../../resource/resources.h" #include "../../resource/resources.h"

View file

@ -19,6 +19,7 @@
#include "../../common/log.h" #include "../../common/log.h"
#include "../../gui/control/label.h" #include "../../gui/control/label.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h" #include "../../graphics/mesh/meshes.h"
#include "../../graphics/window.h" #include "../../graphics/window.h"

View file

@ -19,6 +19,7 @@
#include "../../common/guardutil.h" #include "../../common/guardutil.h"
#include "../../graphics/fonts.h" #include "../../graphics/fonts.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h" #include "../../graphics/mesh/meshes.h"
#include "../../graphics/shader/shaders.h" #include "../../graphics/shader/shaders.h"
#include "../../graphics/textutil.h" #include "../../graphics/textutil.h"

View file

@ -21,6 +21,7 @@
#include "../../graphics/context.h" #include "../../graphics/context.h"
#include "../../graphics/font.h" #include "../../graphics/font.h"
#include "../../graphics/fonts.h" #include "../../graphics/fonts.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h" #include "../../graphics/mesh/meshes.h"
#include "../../graphics/shader/shaders.h" #include "../../graphics/shader/shaders.h"
#include "../../graphics/texture/texture.h" #include "../../graphics/texture/texture.h"

View file

@ -20,6 +20,7 @@
#include "../common/log.h" #include "../common/log.h"
#include "../common/guardutil.h" #include "../common/guardutil.h"
#include "../graphics/context.h" #include "../graphics/context.h"
#include "../graphics/mesh/mesh.h"
#include "../graphics/mesh/meshes.h" #include "../graphics/mesh/meshes.h"
#include "../graphics/texture/textures.h" #include "../graphics/texture/textures.h"
#include "../graphics/window.h" #include "../graphics/window.h"

View file

@ -22,6 +22,7 @@
#include "../../common/random.h" #include "../../common/random.h"
#include "../../common/streamutil.h" #include "../../common/streamutil.h"
#include "../../graphics/baryutil.h" #include "../../graphics/baryutil.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h" #include "../../graphics/mesh/meshes.h"
#include "../../graphics/model/models.h" #include "../../graphics/model/models.h"
#include "../../graphics/texture/textures.h" #include "../../graphics/texture/textures.h"

View file

@ -19,7 +19,13 @@
#include "../common/guardutil.h" #include "../common/guardutil.h"
#include "context.h"
#include "mesh/mesh.h"
#include "mesh/meshes.h"
#include "shader/shaders.h"
#include "services.h" #include "services.h"
#include "texture/texture.h"
#include "window.h"
using namespace std; using namespace std;

View file

@ -17,13 +17,12 @@
#pragma once #pragma once
#include "texture/texture.h"
namespace reone { namespace reone {
namespace graphics { namespace graphics {
class GraphicsServices; class GraphicsServices;
class Texture;
class Cursor : boost::noncopyable { class Cursor : boost::noncopyable {
public: public:

View file

@ -19,6 +19,13 @@
#include "../common/guardutil.h" #include "../common/guardutil.h"
#include "context.h"
#include "mesh/mesh.h"
#include "mesh/meshes.h"
#include "shader/shaders.h"
#include "texture/texture.h"
#include "window.h"
using namespace std; using namespace std;
namespace reone { namespace reone {

View file

@ -17,12 +17,6 @@
#pragma once #pragma once
#include "context.h"
#include "mesh/meshes.h"
#include "shader/shaders.h"
#include "texture/texture.h"
#include "window.h"
namespace reone { namespace reone {
namespace graphics { namespace graphics {
@ -37,6 +31,12 @@ enum class TextGravity {
RightTop RightTop
}; };
class Context;
class Meshes;
class Shaders;
class Texture;
class Window;
class Font { class Font {
public: public:
Font(Window &window, Context &context, Meshes &meshes, Shaders &shaders); Font(Window &window, Context &context, Meshes &meshes, Shaders &shaders);

View file

@ -17,6 +17,12 @@
#include "fonts.h" #include "fonts.h"
#include "context.h"
#include "mesh/meshes.h"
#include "shader/shaders.h"
#include "texture/textures.h"
#include "window.h"
using namespace std; using namespace std;
using namespace std::placeholders; using namespace std::placeholders;

View file

@ -19,17 +19,17 @@
#include "../common/cache.h" #include "../common/cache.h"
#include "context.h"
#include "font.h" #include "font.h"
#include "mesh/meshes.h"
#include "shader/shaders.h"
#include "texture/textures.h"
#include "window.h"
namespace reone { namespace reone {
namespace graphics { namespace graphics {
class Context;
class Meshes;
class Shaders;
class Textures;
class Fonts : public MemoryCache<std::string, Font> { class Fonts : public MemoryCache<std::string, Font> {
public: public:
Fonts(Window &window, Context &context, Meshes &meshes, Textures &textures, Shaders &shaders); Fonts(Window &window, Context &context, Meshes &meshes, Textures &textures, Shaders &shaders);

View file

@ -17,6 +17,9 @@
#include "framebuffer.h" #include "framebuffer.h"
#include "renderbuffer.h"
#include "texture/texture.h"
using namespace std; using namespace std;
namespace reone { namespace reone {

View file

@ -17,13 +17,15 @@
#pragma once #pragma once
#include "renderbuffer.h" #include "types.h"
#include "texture/texture.h"
namespace reone { namespace reone {
namespace graphics { namespace graphics {
class Renderbuffer;
class Texture;
/** /**
* Abstraction over the OpenGL framebuffer used for off-screen rendering. * Abstraction over the OpenGL framebuffer used for off-screen rendering.
*/ */

View file

@ -17,6 +17,8 @@
#include "lipreader.h" #include "lipreader.h"
#include "animation.h"
using namespace std; using namespace std;
namespace reone { namespace reone {

View file

@ -19,12 +19,12 @@
#include "../../resource/format/binreader.h" #include "../../resource/format/binreader.h"
#include "animation.h"
namespace reone { namespace reone {
namespace graphics { namespace graphics {
class LipAnimation;
class LipReader : public resource::BinaryReader { class LipReader : public resource::BinaryReader {
public: public:
LipReader(); LipReader();

View file

@ -19,6 +19,7 @@
#include "lips.h" #include "lips.h"
#include "../../common/streamutil.h" #include "../../common/streamutil.h"
#include "../../resource/resources.h"
#include "lipreader.h" #include "lipreader.h"

View file

@ -18,12 +18,17 @@
#pragma once #pragma once
#include "../../common/cache.h" #include "../../common/cache.h"
#include "../../resource/resources.h"
#include "animation.h" #include "animation.h"
namespace reone { namespace reone {
namespace resource {
class Resources;
}
namespace graphics { namespace graphics {
class Lips : public MemoryCache<std::string, LipAnimation> { class Lips : public MemoryCache<std::string, LipAnimation> {

View file

@ -19,6 +19,9 @@
#include "../common/collectionutil.h" #include "../common/collectionutil.h"
#include "../resource/2da.h" #include "../resource/2da.h"
#include "../resource/resources.h"
#include "material.h"
using namespace std; using namespace std;

View file

@ -17,14 +17,18 @@
#pragma once #pragma once
#include "../resource/resources.h"
#include "material.h"
namespace reone { namespace reone {
namespace resource {
class Resources;
}
namespace graphics { namespace graphics {
struct Material;
class Materials : boost::noncopyable { class Materials : boost::noncopyable {
public: public:
Materials(resource::Resources &resources); Materials(resource::Resources &resources);

View file

@ -18,6 +18,8 @@
#include "meshes.h" #include "meshes.h"
#include "mesh.h"
using namespace std; using namespace std;
namespace reone { namespace reone {

View file

@ -17,12 +17,12 @@
#pragma once #pragma once
#include "mesh.h"
namespace reone { namespace reone {
namespace graphics { namespace graphics {
class Mesh;
/** /**
* Registry of common reusable meshes. * Registry of common reusable meshes.
*/ */

View file

@ -19,6 +19,8 @@
#include "../../common/collectionutil.h" #include "../../common/collectionutil.h"
#include "modelnode.h"
using namespace std; using namespace std;
namespace reone { namespace reone {

View file

@ -17,12 +17,12 @@
#pragma once #pragma once
#include "modelnode.h"
namespace reone { namespace reone {
namespace graphics { namespace graphics {
class ModelNode;
class Animation : boost::noncopyable { class Animation : boost::noncopyable {
public: public:
struct Event { struct Event {

View file

@ -18,11 +18,14 @@
#include "mdlreader.h" #include "mdlreader.h"
#include "../../common/collectionutil.h" #include "../../common/collectionutil.h"
#include "../../common/guardutil.h"
#include "../../common/log.h" #include "../../common/log.h"
#include "../mesh/mesh.h"
#include "../mesh/vertexattributes.h"
#include "../texture/textures.h" #include "../texture/textures.h"
#include "animation.h"
#include "model.h"
#include "models.h" #include "models.h"
using namespace std; using namespace std;
@ -72,14 +75,11 @@ static Model::Classification getClassification(uint8_t ordinal) {
// END Classification // END Classification
MdlReader::MdlReader(Models *models, Textures *textures) : MdlReader::MdlReader(Models &models, Textures &textures) :
BinaryReader(4, "\000\000\000\000"), BinaryReader(4, "\000\000\000\000"),
_models(models), _models(models),
_textures(textures) { _textures(textures) {
ensureNotNull(models, "models");
ensureNotNull(textures, "textures");
initControllerFn(); initControllerFn();
} }
@ -140,7 +140,7 @@ void MdlReader::doLoad() {
// Load supermodel // Load supermodel
shared_ptr<Model> superModel; shared_ptr<Model> superModel;
if (!superModelName.empty() && superModelName != "null") { if (!superModelName.empty() && superModelName != "null") {
superModel = _models->get(superModelName); superModel = _models.get(superModelName);
} }
// Read animations // Read animations
@ -455,11 +455,11 @@ shared_ptr<ModelNode::TriangleMesh> MdlReader::readMesh(int flags) {
} }
shared_ptr<Texture> diffuseMap; shared_ptr<Texture> diffuseMap;
if (!texture1.empty() && texture1 != "null") { if (!texture1.empty() && texture1 != "null") {
diffuseMap = _textures->get(texture1, TextureUsage::Diffuse); diffuseMap = _textures.get(texture1, TextureUsage::Diffuse);
} }
shared_ptr<Texture> lightmap; shared_ptr<Texture> lightmap;
if (!texture2.empty()) { if (!texture2.empty()) {
lightmap = _textures->get(texture2, TextureUsage::Lightmap); lightmap = _textures.get(texture2, TextureUsage::Lightmap);
} }
auto nodeMesh = make_unique<ModelNode::TriangleMesh>(); auto nodeMesh = make_unique<ModelNode::TriangleMesh>();
@ -546,7 +546,7 @@ shared_ptr<ModelNode::Light> MdlReader::readLight() {
for (int i = 0; i < numFlares; ++i) { for (int i = 0; i < numFlares; ++i) {
seek(kMdlDataOffset + texNameOffsets[i]); seek(kMdlDataOffset + texNameOffsets[i]);
string textureName(boost::to_lower_copy(readCString(12))); string textureName(boost::to_lower_copy(readCString(12)));
shared_ptr<Texture> texture(_textures->get(textureName)); shared_ptr<Texture> texture(_textures.get(textureName));
flareTextures.push_back(move(texture)); flareTextures.push_back(move(texture));
} }
@ -635,7 +635,7 @@ shared_ptr<ModelNode::Emitter> MdlReader::readEmitter() {
emitter->updateMode = parseEmitterUpdate(update); emitter->updateMode = parseEmitterUpdate(update);
emitter->renderMode = parseEmitterRender(render); emitter->renderMode = parseEmitterRender(render);
emitter->blendMode = parseEmitterBlend(blend); emitter->blendMode = parseEmitterBlend(blend);
emitter->texture = _textures->get(texture, TextureUsage::Diffuse); emitter->texture = _textures.get(texture, TextureUsage::Diffuse);
emitter->gridSize = glm::ivec2(glm::max(xGrid, 1u), glm::max(yGrid, 1u)); emitter->gridSize = glm::ivec2(glm::max(xGrid, 1u), glm::max(yGrid, 1u));
emitter->renderOrder = renderOrder; emitter->renderOrder = renderOrder;
emitter->loop = static_cast<bool>(loop); emitter->loop = static_cast<bool>(loop);
@ -650,7 +650,7 @@ shared_ptr<ModelNode::Reference> MdlReader::readReference() {
uint32_t reattachable = readUint32(); uint32_t reattachable = readUint32();
auto reference = make_shared<ModelNode::Reference>(); auto reference = make_shared<ModelNode::Reference>();
reference->model = _models->get(modelResRef); reference->model = _models.get(modelResRef);
reference->reattachable = static_cast<bool>(reattachable); reference->reattachable = static_cast<bool>(reattachable);
return move(reference); return move(reference);

View file

@ -17,19 +17,22 @@
#pragma once #pragma once
#include "../../graphics/model/models.h"
#include "../../graphics/texture/textures.h"
#include "../../resource/format/binreader.h" #include "../../resource/format/binreader.h"
#include "model.h" #include "modelnode.h"
namespace reone { namespace reone {
namespace graphics { namespace graphics {
class Animation;
class Model;
class Models;
class Textures;
class MdlReader : public resource::BinaryReader { class MdlReader : public resource::BinaryReader {
public: public:
MdlReader(Models *models, Textures *textures); MdlReader(Models &models, Textures &textures);
void load(const std::shared_ptr<std::istream> &mdl, const std::shared_ptr<std::istream> &mdx); void load(const std::shared_ptr<std::istream> &mdl, const std::shared_ptr<std::istream> &mdx);
@ -67,8 +70,8 @@ private:
typedef std::unordered_map<uint32_t, std::vector<uint32_t>> MaterialMap; typedef std::unordered_map<uint32_t, std::vector<uint32_t>> MaterialMap;
typedef std::function<void(const ControllerKey &, const std::vector<float> &, ModelNode &)> ControllerFn; typedef std::function<void(const ControllerKey &, const std::vector<float> &, ModelNode &)> ControllerFn;
Models *_models; Models &_models;
Textures *_textures; Textures &_textures;
std::unordered_map<uint32_t, ControllerFn> _genericControllers; std::unordered_map<uint32_t, ControllerFn> _genericControllers;
std::unordered_map<uint32_t, ControllerFn> _meshControllers; std::unordered_map<uint32_t, ControllerFn> _meshControllers;

View file

@ -21,6 +21,11 @@
#include "../../common/guardutil.h" #include "../../common/guardutil.h"
#include "../../common/log.h" #include "../../common/log.h"
#include "../mesh/mesh.h"
#include "animation.h"
#include "modelnode.h"
using namespace std; using namespace std;
namespace reone { namespace reone {

View file

@ -19,12 +19,13 @@
#include "../aabb.h" #include "../aabb.h"
#include "animation.h"
namespace reone { namespace reone {
namespace graphics { namespace graphics {
class Animation;
class ModelNode;
/** /**
* 3D model, a tree-like data structure. Contains model nodes and animations. * 3D model, a tree-like data structure. Contains model nodes and animations.
* *

View file

@ -19,6 +19,9 @@
#include "../../common/log.h" #include "../../common/log.h"
#include "../mesh/mesh.h"
#include "../texture/texture.h"
using namespace std; using namespace std;
namespace reone { namespace reone {

View file

@ -17,20 +17,21 @@
#pragma once #pragma once
#include "../mesh/mesh.h" #include "../aabb.h"
#include "../texture/texture.h"
#include "animatedproperty.h" #include "animatedproperty.h"
namespace reone {
namespace graphics {
#define REO_DECL_ANIMPROP(a, b, c) \ #define REO_DECL_ANIMPROP(a, b, c) \
const AnimatedProperty<a> &b() const { return c; }; \ const AnimatedProperty<a> &b() const { return c; }; \
AnimatedProperty<a> &b() { return c; }; AnimatedProperty<a> &b() { return c; };
namespace reone {
namespace graphics {
class Mesh;
class Model; class Model;
class Texture;
/** /**
* Model or animation node. Can be specialized to represent a triangle mesh, a * Model or animation node. Can be specialized to represent a triangle mesh, a

View file

@ -19,8 +19,12 @@
#include "../../common/log.h" #include "../../common/log.h"
#include "../../common/streamutil.h" #include "../../common/streamutil.h"
#include "../../resource/resources.h"
#include "../model/mdlreader.h" #include "../texture/textures.h"
#include "mdlreader.h"
#include "model.h"
using namespace std; using namespace std;
@ -55,7 +59,7 @@ shared_ptr<Model> Models::doGet(const string &resRef) {
shared_ptr<Model> model; shared_ptr<Model> model;
if (mdlData && mdxData) { if (mdlData && mdxData) {
MdlReader mdl(this, &_textures); MdlReader mdl(*this, _textures);
mdl.load(wrap(mdlData), wrap(mdxData)); mdl.load(wrap(mdlData), wrap(mdxData));
model = mdl.model(); model = mdl.model();
if (model) { if (model) {

View file

@ -17,16 +17,20 @@
#pragma once #pragma once
#include "../../resource/resources.h"
#include "../texture/textures.h"
#include "../types.h" #include "../types.h"
namespace reone { namespace reone {
namespace resource {
class Resources;
}
namespace graphics { namespace graphics {
class Model; class Model;
class Textures;
class Models : boost::noncopyable { class Models : boost::noncopyable {
public: public:

View file

@ -17,7 +17,12 @@
#include "pbribl.h" #include "pbribl.h"
#include "context.h"
#include "mesh/mesh.h"
#include "mesh/meshes.h"
#include "renderbuffer.h" #include "renderbuffer.h"
#include "shader/shaders.h"
#include "texture/texture.h"
#include "texture/textureutil.h" #include "texture/textureutil.h"
using namespace std; using namespace std;

View file

@ -17,16 +17,17 @@
#pragma once #pragma once
#include "context.h"
#include "framebuffer.h" #include "framebuffer.h"
#include "mesh/meshes.h"
#include "shader/shaders.h"
#include "texture/texture.h"
namespace reone { namespace reone {
namespace graphics { namespace graphics {
class Context;
class Meshes;
class Shaders;
class Texture;
/** /**
* Computes and caches PBR IBL textures, i.e. irradiance maps, prefiltered * Computes and caches PBR IBL textures, i.e. irradiance maps, prefiltered
* environment maps and BRDF lookup textures. * environment maps and BRDF lookup textures.

View file

@ -17,6 +17,23 @@
#include "services.h" #include "services.h"
#include "../resource/services.h"
#include "context.h"
#include "features.h"
#include "fonts.h"
#include "lip/lips.h"
#include "materials.h"
#include "mesh/mesh.h"
#include "mesh/meshes.h"
#include "model/models.h"
#include "options.h"
#include "pbribl.h"
#include "shader/shaders.h"
#include "texture/textures.h"
#include "walkmesh/walkmeshes.h"
#include "window.h"
using namespace std; using namespace std;
using namespace reone::resource; using namespace reone::resource;

View file

@ -17,26 +17,31 @@
#pragma once #pragma once
#include "../resource/services.h"
#include "context.h"
#include "features.h"
#include "fonts.h"
#include "lip/lips.h"
#include "materials.h"
#include "mesh/meshes.h"
#include "model/models.h"
#include "options.h" #include "options.h"
#include "pbribl.h"
#include "shader/shaders.h"
#include "texture/textures.h"
#include "walkmesh/walkmeshes.h"
#include "window.h"
namespace reone { namespace reone {
namespace resource {
class ResourceServices;
}
namespace graphics { namespace graphics {
class Context;
class Features;
class Fonts;
class Lips;
class Materials;
class Meshes;
class Models;
class PBRIBL;
class Shaders;
class Textures;
class Walkmeshes;
class Window;
class GraphicsServices : boost::noncopyable { class GraphicsServices : boost::noncopyable {
public: public:
GraphicsServices(GraphicsOptions options, resource::ResourceServices &resource); GraphicsServices(GraphicsOptions options, resource::ResourceServices &resource);

View file

@ -17,6 +17,7 @@
#include "curreader.h" #include "curreader.h"
#include "texture.h"
#include "textureutil.h" #include "textureutil.h"
using namespace std; using namespace std;

View file

@ -19,12 +19,12 @@
#include "../../resource/format/binreader.h" #include "../../resource/format/binreader.h"
#include "texture.h"
namespace reone { namespace reone {
namespace graphics { namespace graphics {
class Texture;
class CurReader : public resource::BinaryReader { class CurReader : public resource::BinaryReader {
public: public:
CurReader(); CurReader();

View file

@ -19,11 +19,14 @@
#include "../../common/log.h" #include "../../common/log.h"
#include "../../common/streamutil.h" #include "../../common/streamutil.h"
#include "../../resource/resources.h"
#include "../context.h"
#include "../services.h" #include "../services.h"
#include "../types.h" #include "../types.h"
#include "curreader.h" #include "curreader.h"
#include "texture.h"
#include "textureutil.h" #include "textureutil.h"
#include "tgareader.h" #include "tgareader.h"
#include "tpcreader.h" #include "tpcreader.h"

View file

@ -17,17 +17,21 @@
#pragma once #pragma once
#include "../../resource/resources.h"
#include "../context.h"
#include "../types.h" #include "../types.h"
#include "texture.h"
namespace reone { namespace reone {
namespace resource {
class Resources;
}
namespace graphics { namespace graphics {
class Context;
class Texture;
class Textures : boost::noncopyable { class Textures : boost::noncopyable {
public: public:
Textures(Context &context, resource::Resources &resources); Textures(Context &context, resource::Resources &resources);

View file

@ -19,6 +19,7 @@
#include "../../common/log.h" #include "../../common/log.h"
#include "texture.h"
#include "textureutil.h" #include "textureutil.h"
using namespace std; using namespace std;

View file

@ -21,12 +21,12 @@
#include "../types.h" #include "../types.h"
#include "texture.h"
namespace reone { namespace reone {
namespace graphics { namespace graphics {
class Texture;
class TgaReader : public resource::BinaryReader { class TgaReader : public resource::BinaryReader {
public: public:
TgaReader(const std::string &resRef, TextureUsage usage); TgaReader(const std::string &resRef, TextureUsage usage);

View file

@ -21,9 +21,11 @@
#include "tgawriter.h" #include "tgawriter.h"
#include "s3tc.h"
#include "../../common/guardutil.h" #include "../../common/guardutil.h"
#include "s3tc.h" #include "texture.h"
using namespace std; using namespace std;

View file

@ -17,12 +17,14 @@
#pragma once #pragma once
#include "texture.h" #include "../types.h"
namespace reone { namespace reone {
namespace graphics { namespace graphics {
class Texture;
class TgaWriter { class TgaWriter {
public: public:
TgaWriter(std::shared_ptr<Texture> texture); TgaWriter(std::shared_ptr<Texture> texture);

View file

@ -17,6 +17,8 @@
#include "bwmreader.h" #include "bwmreader.h"
#include "walkmesh.h"
using namespace std; using namespace std;
namespace reone { namespace reone {

View file

@ -19,12 +19,12 @@
#include "../../resource/format/binreader.h" #include "../../resource/format/binreader.h"
#include "walkmesh.h"
namespace reone { namespace reone {
namespace graphics { namespace graphics {
class Walkmesh;
class BwmReader : public resource::BinaryReader { class BwmReader : public resource::BinaryReader {
public: public:
BwmReader(std::set<uint32_t> walkableSurfaces); BwmReader(std::set<uint32_t> walkableSurfaces);

View file

@ -18,6 +18,7 @@
#include "walkmeshes.h" #include "walkmeshes.h"
#include "../../common/streamutil.h" #include "../../common/streamutil.h"
#include "../../resource/resources.h"
#include "bwmreader.h" #include "bwmreader.h"

View file

@ -17,13 +17,18 @@
#pragma once #pragma once
#include "../../resource/resources.h"
#include "../../resource/types.h" #include "../../resource/types.h"
#include "../types.h" #include "../types.h"
namespace reone { namespace reone {
namespace resource {
class Resources;
}
namespace graphics { namespace graphics {
class Walkmesh; class Walkmesh;

View file

@ -17,16 +17,16 @@
#pragma once #pragma once
#include "cursor.h"
#include "eventhandler.h"
#include "options.h" #include "options.h"
#include "texture/texture.h"
#include "types.h" #include "types.h"
namespace reone { namespace reone {
namespace graphics { namespace graphics {
class Cursor;
class IEventHandler;
class Window : boost::noncopyable { class Window : boost::noncopyable {
public: public:
Window(GraphicsOptions options); Window(GraphicsOptions options);

View file

@ -18,7 +18,9 @@
#include "control.h" #include "control.h"
#include "../../common/log.h" #include "../../common/log.h"
#include "../../graphics/context.h"
#include "../../graphics/fonts.h" #include "../../graphics/fonts.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h" #include "../../graphics/mesh/meshes.h"
#include "../../graphics/shader/shaders.h" #include "../../graphics/shader/shaders.h"
#include "../../graphics/texture/textures.h" #include "../../graphics/texture/textures.h"

View file

@ -17,7 +17,9 @@
#include "imagebutton.h" #include "imagebutton.h"
#include "../../graphics/context.h"
#include "../../graphics/fonts.h" #include "../../graphics/fonts.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h" #include "../../graphics/mesh/meshes.h"
#include "../gui.h" #include "../gui.h"

View file

@ -17,6 +17,8 @@
#include "progressbar.h" #include "progressbar.h"
#include "../../graphics/context.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h" #include "../../graphics/mesh/meshes.h"
#include "../../graphics/texture/textures.h" #include "../../graphics/texture/textures.h"

View file

@ -17,6 +17,8 @@
#include "scrollbar.h" #include "scrollbar.h"
#include "../../graphics/context.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h" #include "../../graphics/mesh/meshes.h"
#include "../../graphics/shader/shaders.h" #include "../../graphics/shader/shaders.h"
#include "../../graphics/texture/textures.h" #include "../../graphics/texture/textures.h"

View file

@ -18,6 +18,8 @@
#include "gui.h" #include "gui.h"
#include "../common/log.h" #include "../common/log.h"
#include "../graphics/context.h"
#include "../graphics/mesh/mesh.h"
#include "../graphics/mesh/meshes.h" #include "../graphics/mesh/meshes.h"
#include "../graphics/shader/shaders.h" #include "../graphics/shader/shaders.h"
#include "../graphics/texture/textures.h" #include "../graphics/texture/textures.h"

View file

@ -17,21 +17,16 @@
#pragma once #pragma once
#include "../../common/types.h"
#include "../types.h"
#include "binreader.h" #include "binreader.h"
namespace reone { namespace reone {
namespace resource { namespace resource {
enum class PEResourceType {
Cursor = 1,
Icon = 3,
CursorGroup = 12,
IconGroup = 14,
Version = 16,
Manifest = 24
};
class PEReader : public BinaryReader { class PEReader : public BinaryReader {
public: public:
PEReader(); PEReader();
@ -39,7 +34,6 @@ public:
std::shared_ptr<ByteArray> find(uint32_t name, PEResourceType type); std::shared_ptr<ByteArray> find(uint32_t name, PEResourceType type);
private: private:
struct Section { struct Section {
std::string name; std::string name;
uint32_t virtualAddress { 0 }; uint32_t virtualAddress { 0 };

View file

@ -83,6 +83,15 @@ enum class ResourceType : uint16_t {
Invalid = 0xffff Invalid = 0xffff
}; };
enum class PEResourceType {
Cursor = 1,
Icon = 3,
CursorGroup = 12,
IconGroup = 14,
Version = 16,
Manifest = 24
};
typedef std::multimap<std::string, std::string> Visibility; typedef std::multimap<std::string, std::string> Visibility;
} // namespace resource } // namespace resource

View file

@ -19,6 +19,8 @@
#include "../../common/guardutil.h" #include "../../common/guardutil.h"
#include "../../common/random.h" #include "../../common/random.h"
#include "../../graphics/context.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h" #include "../../graphics/mesh/meshes.h"
#include "../../graphics/shader/shaders.h" #include "../../graphics/shader/shaders.h"

View file

@ -18,6 +18,8 @@
#include "grass.h" #include "grass.h"
#include "../../common/guardutil.h" #include "../../common/guardutil.h"
#include "../../graphics/context.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h" #include "../../graphics/mesh/meshes.h"
#include "../../graphics/shader/shaders.h" #include "../../graphics/shader/shaders.h"

View file

@ -18,6 +18,8 @@
#include "light.h" #include "light.h"
#include "../../common/guardutil.h" #include "../../common/guardutil.h"
#include "../../graphics/context.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h" #include "../../graphics/mesh/meshes.h"
#include "../../graphics/shader/shaders.h" #include "../../graphics/shader/shaders.h"
#include "../../graphics/window.h" #include "../../graphics/window.h"

View file

@ -20,6 +20,9 @@
#include "../../common/log.h" #include "../../common/log.h"
#include "../../common/guardutil.h" #include "../../common/guardutil.h"
#include "../../common/random.h" #include "../../common/random.h"
#include "../../graphics/context.h"
#include "../../graphics/features.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/pbribl.h" #include "../../graphics/pbribl.h"
#include "../scenegraph.h" #include "../scenegraph.h"

View file

@ -18,6 +18,7 @@
#include "../../common/collectionutil.h" #include "../../common/collectionutil.h"
#include "../../common/log.h" #include "../../common/log.h"
#include "../../common/guardutil.h" #include "../../common/guardutil.h"
#include "../../graphics/mesh/mesh.h"
#include "../scenegraph.h" #include "../scenegraph.h"
#include "../types.h" #include "../types.h"

View file

@ -18,6 +18,7 @@
#include "model.h" #include "model.h"
#include "../../common/collectionutil.h" #include "../../common/collectionutil.h"
#include "../../graphics/model/animation.h"
using namespace std; using namespace std;

View file

@ -17,6 +17,8 @@
#include "control.h" #include "control.h"
#include "../../graphics/context.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h" #include "../../graphics/mesh/meshes.h"
#include "../../graphics/shader/shaders.h" #include "../../graphics/shader/shaders.h"
#include "../../graphics/texture/textures.h" #include "../../graphics/texture/textures.h"

View file

@ -17,6 +17,8 @@
#include "world.h" #include "world.h"
#include "../../graphics/context.h"
#include "../../graphics/mesh/mesh.h"
#include "../../graphics/mesh/meshes.h" #include "../../graphics/mesh/meshes.h"
#include "../../graphics/pbribl.h" #include "../../graphics/pbribl.h"
#include "../../graphics/shader/shaders.h" #include "../../graphics/shader/shaders.h"

View file

@ -17,6 +17,8 @@
#include "scenegraph.h" #include "scenegraph.h"
#include "../graphics/context.h"
#include "../graphics/mesh/mesh.h"
#include "../graphics/mesh/meshes.h" #include "../graphics/mesh/meshes.h"
#include "node/camera.h" #include "node/camera.h"

View file

@ -18,6 +18,8 @@
#include "video.h" #include "video.h"
#include "../common/guardutil.h" #include "../common/guardutil.h"
#include "../graphics/context.h"
#include "../graphics/mesh/mesh.h"
#include "../graphics/mesh/meshes.h" #include "../graphics/mesh/meshes.h"
#include "../graphics/shader/shaders.h" #include "../graphics/shader/shaders.h"
#include "../graphics/texture/textureutil.h" #include "../graphics/texture/textureutil.h"

View file

@ -24,6 +24,12 @@
namespace reone { namespace reone {
namespace graphics {
class Texture;
}
namespace video { namespace video {
class BikReader; class BikReader;