mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-19 23:53:52 +00:00
Merge branch 'master' of http://github.com/athile/openmw
This commit is contained in:
commit
4a71a4c50c
12 changed files with 154 additions and 88 deletions
|
@ -8,8 +8,12 @@ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/)
|
|||
|
||||
# source directory: apps
|
||||
|
||||
set(GAME apps/openmw/main.cpp apps/openmw/engine.cpp)
|
||||
set(GAME_HEADER apps/openmw/mwinput/inputmanager.hpp apps/openmw/engine.hpp)
|
||||
set(GAME
|
||||
apps/openmw/main.cpp
|
||||
apps/openmw/engine.cpp)
|
||||
set(GAME_HEADER
|
||||
apps/openmw/mwinput/inputmanager.hpp
|
||||
apps/openmw/engine.hpp)
|
||||
source_group(game FILES ${GAME} ${GAME_HEADER})
|
||||
|
||||
set(GAMEREND
|
||||
|
@ -26,7 +30,8 @@ set(GAMEREND_HEADER
|
|||
source_group(game_renderer FILES ${GAMEREND} ${GAMEREND_HEADER})
|
||||
|
||||
# set(GAMEINPUT)
|
||||
set(GAMEINPUT_HEADER apps/openmw/mwinput/inputmanager.hpp)
|
||||
set(GAMEINPUT_HEADER
|
||||
apps/openmw/mwinput/inputmanager.hpp)
|
||||
source_group(game_input FILES ${GAMEINPUT} ${GAMEINPUT_HEADER})
|
||||
|
||||
set(APPS ${GAME} ${GAMEREND} ${GAMEINPUT})
|
||||
|
@ -34,42 +39,71 @@ set(APPS_HEADER ${GAME_HEADER} ${GAMEREND_HEADER} ${GAMEINPUT_HEADER})
|
|||
|
||||
# source directory: components
|
||||
|
||||
set(BSA components/bsa/bsa_archive.cpp components/bsa/bsa_file.cpp)
|
||||
set(BSA_HEADER components/bsa/bsa_archive.hpp components/bsa/bsa_file.hpp)
|
||||
set(BSA
|
||||
components/bsa/bsa_archive.cpp
|
||||
components/bsa/bsa_file.cpp)
|
||||
set(BSA_HEADER
|
||||
components/bsa/bsa_archive.hpp
|
||||
components/bsa/bsa_file.hpp)
|
||||
source_group(bsa FILES ${BSA} ${BSA_HEADER})
|
||||
|
||||
set(NIF components/nif/nif_file.cpp)
|
||||
set(NIF_HEADER components/nif/controlled.hpp components/nif/effect.hpp
|
||||
components/nif/nif_types.hpp components/nif/record.hpp
|
||||
components/nif/controller.hpp components/nif/extra.hpp components/nif/node.hpp
|
||||
set(NIF
|
||||
components/nif/nif_file.cpp)
|
||||
set(NIF_HEADER
|
||||
components/nif/controlled.hpp
|
||||
components/nif/effect.hpp
|
||||
components/nif/nif_types.hpp
|
||||
components/nif/record.hpp
|
||||
components/nif/controller.hpp
|
||||
components/nif/extra.hpp
|
||||
components/nif/node.hpp
|
||||
components/nif/record_ptr.hpp
|
||||
components/nif/data.hpp components/nif/nif_file.hpp components/nif/property.hpp)
|
||||
components/nif/data.hpp
|
||||
components/nif/nif_file.hpp
|
||||
components/nif/property.hpp)
|
||||
source_group(nif FILES ${NIF} ${NIF_HEADER})
|
||||
|
||||
set(NIFOGRE components/nifogre/ogre_nif_loader.cpp)
|
||||
set(NIFOGRE_HEADER components/nifogre/ogre_nif_loader.hpp)
|
||||
set(NIFOGRE
|
||||
components/nifogre/ogre_nif_loader.cpp)
|
||||
set(NIFOGRE_HEADER
|
||||
components/nifogre/ogre_nif_loader.hpp)
|
||||
source_group(nifogre FILES ${NIFOGRE} ${NIFOGRE_HEADER})
|
||||
|
||||
set(ESM_STORE components/esm_store/store.cpp components/esm_store/cell_store.cpp)
|
||||
set(ESM_STORE_HEADER components/esm_store/cell_store.hpp
|
||||
components/esm_store/reclists.hpp components/esm_store/store.hpp)
|
||||
set(ESM_STORE
|
||||
components/esm_store/store.cpp
|
||||
components/esm_store/cell_store.cpp)
|
||||
set(ESM_STORE_HEADER
|
||||
components/esm_store/cell_store.hpp
|
||||
components/esm_store/reclists.hpp
|
||||
components/esm_store/store.hpp)
|
||||
source_group(esm_store FILES ${ESM_STORE} ${ESM_STORE_HEADER})
|
||||
|
||||
file(GLOB ESM_HEADER components/esm/*.hpp)
|
||||
source_group(esm_header FILES ${ESM_HEADER})
|
||||
|
||||
set(OGRE components/engine/ogre/renderer.cpp)
|
||||
set(OGRE_HEADER components/engine/ogre/renderer.hpp)
|
||||
set(OGRE
|
||||
components/engine/ogre/renderer.cpp)
|
||||
set(OGRE_HEADER
|
||||
components/engine/ogre/renderer.hpp)
|
||||
source_group(ogre FILES ${OGRE} ${OGRE_HEADER})
|
||||
|
||||
set(INPUT components/engine/input/oismanager.cpp)
|
||||
set(INPUT_HEADER components/engine/input/oismanager.hpp components/engine/input/listener.hpp
|
||||
components/engine/input/func_binder.hpp components/engine/input/dispatch_map.hpp
|
||||
components/engine/input/dispatcher.hpp components/engine/input/poller.hpp)
|
||||
set(INPUT
|
||||
components/engine/input/oismanager.cpp)
|
||||
set(INPUT_HEADER
|
||||
components/engine/input/oismanager.hpp
|
||||
components/engine/input/listener.hpp
|
||||
components/engine/input/func_binder.hpp
|
||||
components/engine/input/dispatch_map.hpp
|
||||
components/engine/input/dispatcher.hpp
|
||||
components/engine/input/poller.hpp)
|
||||
source_group(input FILES ${INPUT} ${INPUT_HEADER})
|
||||
|
||||
set(MISC components/misc/stringops.cpp components/misc/fileops.cpp)
|
||||
set(MISC_HEADER components/misc/fileops.hpp components/misc/slice_array.hpp
|
||||
set(MISC
|
||||
components/misc/stringops.cpp
|
||||
components/misc/fileops.cpp)
|
||||
set(MISC_HEADER
|
||||
components/misc/fileops.hpp
|
||||
components/misc/slice_array.hpp
|
||||
components/misc/stringops.hpp)
|
||||
source_group(misc FILES ${MISC} ${MISC_HEADER})
|
||||
|
||||
|
@ -100,7 +134,7 @@ find_package(OIS REQUIRED)
|
|||
include_directories("."
|
||||
${OGRE_INCLUDE_DIR} ${OIS_INCLUDE_DIR} ${Boost_INCLUDE_DIR}
|
||||
${PLATFORM_INCLUDE_DIR}
|
||||
${CMAKE_HOME_DIRECTORY}/extern/caelum/include )
|
||||
${CMAKE_HOME_DIRECTORY}/extern/caelum/include)
|
||||
link_directories(${Boost_LIBRARY_DIRS} ${OGRE_LIB_DIR})
|
||||
|
||||
ADD_SUBDIRECTORY( extern/caelum )
|
||||
|
|
|
@ -573,7 +573,10 @@ WARN_LOGFILE =
|
|||
# directories like "/usr/src/myproject". Separate the files or directories
|
||||
# with spaces.
|
||||
|
||||
INPUT = ..
|
||||
INPUT = ..\apps
|
||||
..\components
|
||||
..\libs
|
||||
..\docs
|
||||
|
||||
# This tag can be used to specify the character encoding of the source files
|
||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
|
||||
|
|
|
@ -20,18 +20,6 @@ OMW::Engine::Engine()
|
|||
{
|
||||
}
|
||||
|
||||
// adjust name and load bsa
|
||||
|
||||
void OMW::Engine::prepareMaster()
|
||||
{
|
||||
std::string::size_type sep = mMaster.find_last_of (".");
|
||||
|
||||
if (sep==std::string::npos)
|
||||
{
|
||||
mMaster += ".esm";
|
||||
}
|
||||
}
|
||||
|
||||
// Load all BSA files in data directory.
|
||||
|
||||
void OMW::Engine::loadBSA()
|
||||
|
@ -79,6 +67,13 @@ void OMW::Engine::addMaster (const std::string& master)
|
|||
{
|
||||
assert (mMaster.empty());
|
||||
mMaster = master;
|
||||
|
||||
// Append .esm if not already there
|
||||
std::string::size_type sep = mMaster.find_last_of (".");
|
||||
if (sep == std::string::npos)
|
||||
{
|
||||
mMaster += ".esm";
|
||||
}
|
||||
}
|
||||
|
||||
// Enables sky rendering
|
||||
|
@ -109,7 +104,6 @@ void OMW::Engine::go()
|
|||
addResourcesDirectory (mDataDir / "Meshes");
|
||||
addResourcesDirectory (mDataDir / "Textures");
|
||||
|
||||
prepareMaster();
|
||||
loadBSA();
|
||||
|
||||
boost::filesystem::path masterPath (mDataDir);
|
||||
|
|
|
@ -30,9 +30,6 @@ namespace OMW
|
|||
Engine (const Engine&);
|
||||
Engine& operator= (const Engine&);
|
||||
|
||||
/// adjust name and load bsa
|
||||
void prepareMaster();
|
||||
|
||||
/// add resources directory
|
||||
/// \note This function works recursively.
|
||||
void addResourcesDirectory (const boost::filesystem::path& path);
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
#include <libs/mangle/stream/stream.hpp>
|
||||
#include <libs/mangle/stream/servers/file_stream.hpp>
|
||||
#include <libs/mangle/tools/str_exception.hpp>
|
||||
#include "components/misc/stringops.hpp"
|
||||
#include <components/misc/stringops.hpp>
|
||||
|
||||
#ifdef __APPLE__
|
||||
// need our own implementation of strnlen
|
||||
|
|
|
@ -30,8 +30,9 @@ namespace Nif
|
|||
{
|
||||
|
||||
/// Anything that has a controller
|
||||
struct Controlled : Extra
|
||||
class Controlled : public Extra
|
||||
{
|
||||
public:
|
||||
ControllerPtr controller;
|
||||
|
||||
void read(NIFFile *nif)
|
||||
|
@ -42,8 +43,9 @@ struct Controlled : Extra
|
|||
};
|
||||
|
||||
/// Has name, extra-data and controller
|
||||
struct Named : Controlled
|
||||
class Named : public Controlled
|
||||
{
|
||||
public:
|
||||
SString name;
|
||||
|
||||
void read(NIFFile *nif)
|
||||
|
@ -54,8 +56,9 @@ struct Named : Controlled
|
|||
};
|
||||
typedef Named NiSequenceStreamHelper;
|
||||
|
||||
struct NiParticleGrowFade : Controlled
|
||||
class NiParticleGrowFade : public Controlled
|
||||
{
|
||||
public:
|
||||
void read(NIFFile *nif)
|
||||
{
|
||||
Controlled::read(nif);
|
||||
|
@ -65,8 +68,9 @@ struct NiParticleGrowFade : Controlled
|
|||
}
|
||||
};
|
||||
|
||||
struct NiParticleColorModifier : Controlled
|
||||
class NiParticleColorModifier : public Controlled
|
||||
{
|
||||
public:
|
||||
NiColorDataPtr data;
|
||||
|
||||
void read(NIFFile *nif)
|
||||
|
@ -76,8 +80,9 @@ struct NiParticleColorModifier : Controlled
|
|||
}
|
||||
};
|
||||
|
||||
struct NiGravity : Controlled
|
||||
class NiGravity : public Controlled
|
||||
{
|
||||
public:
|
||||
void read(NIFFile *nif)
|
||||
{
|
||||
Controlled::read(nif);
|
||||
|
@ -88,8 +93,9 @@ struct NiGravity : Controlled
|
|||
};
|
||||
|
||||
// NiPinaColada
|
||||
struct NiPlanarCollider : Controlled
|
||||
class NiPlanarCollider : public Controlled
|
||||
{
|
||||
public:
|
||||
void read(NIFFile *nif)
|
||||
{
|
||||
Controlled::read(nif);
|
||||
|
@ -99,8 +105,9 @@ struct NiPlanarCollider : Controlled
|
|||
}
|
||||
};
|
||||
|
||||
struct NiParticleRotation : Controlled
|
||||
class NiParticleRotation : public Controlled
|
||||
{
|
||||
public:
|
||||
void read(NIFFile *nif)
|
||||
{
|
||||
Controlled::read(nif);
|
||||
|
|
|
@ -31,8 +31,9 @@
|
|||
namespace Nif
|
||||
{
|
||||
|
||||
struct Controller : Record
|
||||
class Controller : public Record
|
||||
{
|
||||
public:
|
||||
ControllerPtr next;
|
||||
int flags;
|
||||
float frequency, phase;
|
||||
|
@ -54,8 +55,9 @@ struct Controller : Record
|
|||
}
|
||||
};
|
||||
|
||||
struct NiBSPArrayController : Controller
|
||||
class NiBSPArrayController : public Controller
|
||||
{
|
||||
public:
|
||||
void read(NIFFile *nif)
|
||||
{
|
||||
Controller::read(nif);
|
||||
|
@ -68,8 +70,9 @@ struct NiBSPArrayController : Controller
|
|||
};
|
||||
typedef NiBSPArrayController NiParticleSystemController;
|
||||
|
||||
struct NiMaterialColorController : Controller
|
||||
class NiMaterialColorController : public Controller
|
||||
{
|
||||
public:
|
||||
NiPosDataPtr data;
|
||||
|
||||
void read(NIFFile *nif)
|
||||
|
@ -79,8 +82,9 @@ struct NiMaterialColorController : Controller
|
|||
}
|
||||
};
|
||||
|
||||
struct NiPathController : Controller
|
||||
class NiPathController : public Controller
|
||||
{
|
||||
public:
|
||||
NiPosDataPtr posData;
|
||||
NiFloatDataPtr floatData;
|
||||
|
||||
|
@ -99,8 +103,9 @@ struct NiPathController : Controller
|
|||
}
|
||||
};
|
||||
|
||||
struct NiUVController : Controller
|
||||
class NiUVController : public Controller
|
||||
{
|
||||
public:
|
||||
NiUVDataPtr data;
|
||||
|
||||
void read(NIFFile *nif)
|
||||
|
@ -112,8 +117,9 @@ struct NiUVController : Controller
|
|||
}
|
||||
};
|
||||
|
||||
struct NiKeyframeController : Controller
|
||||
class NiKeyframeController : public Controller
|
||||
{
|
||||
public:
|
||||
NiKeyframeDataPtr data;
|
||||
|
||||
void read(NIFFile *nif)
|
||||
|
@ -123,8 +129,9 @@ struct NiKeyframeController : Controller
|
|||
}
|
||||
};
|
||||
|
||||
struct NiAlphaController : Controller
|
||||
class NiAlphaController : public Controller
|
||||
{
|
||||
public:
|
||||
NiFloatDataPtr data;
|
||||
|
||||
void read(NIFFile *nif)
|
||||
|
@ -134,8 +141,9 @@ struct NiAlphaController : Controller
|
|||
}
|
||||
};
|
||||
|
||||
struct NiGeomMorpherController : Controller
|
||||
class NiGeomMorpherController : public Controller
|
||||
{
|
||||
public:
|
||||
NiMorphDataPtr data;
|
||||
|
||||
void read(NIFFile *nif)
|
||||
|
@ -146,8 +154,9 @@ struct NiGeomMorpherController : Controller
|
|||
}
|
||||
};
|
||||
|
||||
struct NiVisController : Controller
|
||||
class NiVisController : public Controller
|
||||
{
|
||||
public:
|
||||
NiVisDataPtr data;
|
||||
|
||||
void read(NIFFile *nif)
|
||||
|
|
|
@ -29,8 +29,10 @@
|
|||
namespace Nif
|
||||
{
|
||||
|
||||
struct NiSourceTexture : Named
|
||||
class NiSourceTexture : public Named
|
||||
{
|
||||
public:
|
||||
|
||||
// Is this an external (references a separate texture file) or
|
||||
// internal (data is inside the nif itself) texture?
|
||||
bool external;
|
||||
|
@ -65,7 +67,7 @@ struct NiSourceTexture : Named
|
|||
{
|
||||
Named::read(nif);
|
||||
|
||||
external = nif->getByte();
|
||||
external = !!nif->getByte();
|
||||
|
||||
if(external) filename = nif->getString();
|
||||
else
|
||||
|
@ -83,8 +85,9 @@ struct NiSourceTexture : Named
|
|||
};
|
||||
|
||||
// Common ancestor for several data classes
|
||||
struct ShapeData : Record
|
||||
class ShapeData : public Record
|
||||
{
|
||||
public:
|
||||
FloatArray vertices, normals, colors, uvlist;
|
||||
const Vector *center;
|
||||
float radius;
|
||||
|
@ -116,8 +119,9 @@ struct ShapeData : Record
|
|||
}
|
||||
};
|
||||
|
||||
struct NiTriShapeData : ShapeData
|
||||
class NiTriShapeData : public ShapeData
|
||||
{
|
||||
public:
|
||||
// Triangles, three vertex indices per triangle
|
||||
SliceArray<short> triangles;
|
||||
|
||||
|
@ -150,8 +154,9 @@ struct NiTriShapeData : ShapeData
|
|||
}
|
||||
};
|
||||
|
||||
struct NiAutoNormalParticlesData : ShapeData
|
||||
class NiAutoNormalParticlesData : public ShapeData
|
||||
{
|
||||
public:
|
||||
int activeCount;
|
||||
|
||||
void read(NIFFile *nif)
|
||||
|
@ -171,8 +176,9 @@ struct NiAutoNormalParticlesData : ShapeData
|
|||
}
|
||||
};
|
||||
|
||||
struct NiRotatingParticlesData : NiAutoNormalParticlesData
|
||||
class NiRotatingParticlesData : public NiAutoNormalParticlesData
|
||||
{
|
||||
public:
|
||||
void read(NIFFile *nif)
|
||||
{
|
||||
NiAutoNormalParticlesData::read(nif);
|
||||
|
@ -185,8 +191,9 @@ struct NiRotatingParticlesData : NiAutoNormalParticlesData
|
|||
}
|
||||
};
|
||||
|
||||
struct NiPosData : Record
|
||||
class NiPosData : public Record
|
||||
{
|
||||
public:
|
||||
void read(NIFFile *nif)
|
||||
{
|
||||
int count = nif->getInt();
|
||||
|
@ -210,8 +217,9 @@ struct NiPosData : Record
|
|||
}
|
||||
};
|
||||
|
||||
struct NiUVData : Record
|
||||
class NiUVData : public Record
|
||||
{
|
||||
public:
|
||||
void read(NIFFile *nif)
|
||||
{
|
||||
// TODO: This is claimed to be a "float animation key", which is
|
||||
|
@ -235,8 +243,9 @@ struct NiUVData : Record
|
|||
}
|
||||
};
|
||||
|
||||
struct NiFloatData : Record
|
||||
class NiFloatData : public Record
|
||||
{
|
||||
public:
|
||||
void read(NIFFile *nif)
|
||||
{
|
||||
int count = nif->getInt();
|
||||
|
@ -245,8 +254,9 @@ struct NiFloatData : Record
|
|||
}
|
||||
};
|
||||
|
||||
struct NiPixelData : Record
|
||||
class NiPixelData : public Record
|
||||
{
|
||||
public:
|
||||
unsigned int rmask, gmask, bmask, amask;
|
||||
int bpp, mips;
|
||||
|
||||
|
@ -283,8 +293,9 @@ struct NiPixelData : Record
|
|||
}
|
||||
};
|
||||
|
||||
struct NiColorData : Record
|
||||
class NiColorData : public Record
|
||||
{
|
||||
public:
|
||||
struct ColorData
|
||||
{
|
||||
float time;
|
||||
|
@ -302,8 +313,9 @@ struct NiColorData : Record
|
|||
}
|
||||
};
|
||||
|
||||
struct NiVisData : Record
|
||||
class NiVisData : public Record
|
||||
{
|
||||
public:
|
||||
void read(NIFFile *nif)
|
||||
{
|
||||
int count = nif->getInt();
|
||||
|
@ -319,8 +331,9 @@ struct NiVisData : Record
|
|||
}
|
||||
};
|
||||
|
||||
struct NiSkinInstance : Record
|
||||
class NiSkinInstance : public Record
|
||||
{
|
||||
public:
|
||||
NiSkinDataPtr data;
|
||||
NodePtr root;
|
||||
NodeList bones;
|
||||
|
@ -338,8 +351,9 @@ struct NiSkinInstance : Record
|
|||
void post(NIFFile *nif);
|
||||
};
|
||||
|
||||
struct NiSkinData : Record
|
||||
class NiSkinData : public Record
|
||||
{
|
||||
public:
|
||||
// This is to make sure the structs are packed, ie. that the
|
||||
// compiler doesn't mess them up with extra alignment bytes.
|
||||
#pragma pack(push)
|
||||
|
@ -395,8 +409,9 @@ struct NiSkinData : Record
|
|||
}
|
||||
};
|
||||
|
||||
struct NiMorphData : Record
|
||||
class NiMorphData : public Record
|
||||
{
|
||||
public:
|
||||
void read(NIFFile *nif)
|
||||
{
|
||||
int morphCount = nif->getInt();
|
||||
|
@ -416,8 +431,9 @@ struct NiMorphData : Record
|
|||
}
|
||||
};
|
||||
|
||||
struct NiKeyframeData : Record
|
||||
class NiKeyframeData : public Record
|
||||
{
|
||||
public:
|
||||
void read(NIFFile *nif)
|
||||
{
|
||||
// Rotations first
|
||||
|
|
|
@ -35,15 +35,17 @@ namespace Nif
|
|||
themselves decend from the Extra class, and all the extra data
|
||||
connected to an object form a linked list
|
||||
*/
|
||||
struct Extra : Record
|
||||
class Extra : public Record
|
||||
{
|
||||
public:
|
||||
ExtraPtr extra;
|
||||
|
||||
void read(NIFFile *nif) { extra.read(nif); }
|
||||
};
|
||||
|
||||
struct NiVertWeightsExtraData : Extra
|
||||
class NiVertWeightsExtraData : public Extra
|
||||
{
|
||||
public:
|
||||
void read(NIFFile *nif)
|
||||
{
|
||||
Extra::read(nif);
|
||||
|
@ -57,8 +59,9 @@ struct NiVertWeightsExtraData : Extra
|
|||
}
|
||||
};
|
||||
|
||||
struct NiTextKeyExtraData : Extra
|
||||
class NiTextKeyExtraData : public Extra
|
||||
{
|
||||
public:
|
||||
struct TextKey
|
||||
{
|
||||
float time;
|
||||
|
@ -83,8 +86,9 @@ struct NiTextKeyExtraData : Extra
|
|||
}
|
||||
};
|
||||
|
||||
struct NiStringExtraData : Extra
|
||||
class NiStringExtraData : public Extra
|
||||
{
|
||||
public:
|
||||
/* Two known meanings:
|
||||
"MRK" - marker, only visible in the editor, not rendered in-game
|
||||
"NCO" - no collision
|
||||
|
|
|
@ -27,8 +27,7 @@
|
|||
#include <libs/mangle/stream/stream.hpp>
|
||||
#include <libs/mangle/stream/filters/buffer_stream.hpp>
|
||||
#include <libs/mangle/tools/str_exception.hpp>
|
||||
|
||||
#include "../misc/slice_array.hpp"
|
||||
#include <components/misc/slice_array.hpp>
|
||||
|
||||
#include <vector>
|
||||
#include <string>
|
||||
|
|
|
@ -34,8 +34,9 @@ namespace Nif
|
|||
parent node (unless it's the root), and transformation (location
|
||||
and rotation) relative to it's parent.
|
||||
*/
|
||||
struct Node : Named
|
||||
class Node : public Named
|
||||
{
|
||||
public:
|
||||
// Node flags. Interpretation depends somewhat on the type of node.
|
||||
int flags;
|
||||
const Transformation *trafo;
|
||||
|
@ -55,7 +56,7 @@ struct Node : Named
|
|||
trafo = nif->getTrafo();
|
||||
props.read(nif);
|
||||
|
||||
hasBounds = nif->getInt();
|
||||
hasBounds = !!nif->getInt();
|
||||
if(hasBounds)
|
||||
{
|
||||
nif->getInt(); // always 1
|
||||
|
|
|
@ -29,8 +29,9 @@
|
|||
namespace Nif
|
||||
{
|
||||
|
||||
struct Property : Named
|
||||
class Property : public Named
|
||||
{
|
||||
public:
|
||||
// The meaning of these depends on the actual property type.
|
||||
int flags;
|
||||
|
||||
|
@ -41,8 +42,9 @@ struct Property : Named
|
|||
}
|
||||
};
|
||||
|
||||
struct NiTexturingProperty : Property
|
||||
class NiTexturingProperty : public Property
|
||||
{
|
||||
public:
|
||||
// A sub-texture
|
||||
struct Texture
|
||||
{
|
||||
|
@ -67,7 +69,7 @@ struct NiTexturingProperty : Property
|
|||
|
||||
void read(NIFFile *nif)
|
||||
{
|
||||
inUse = nif->getInt();
|
||||
inUse = !!nif->getInt();
|
||||
if(!inUse) return;
|
||||
|
||||
texture.read(nif);
|
||||
|
|
Loading…
Reference in a new issue