mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-02-01 02:15:32 +00:00
Merge remote-tracking branch 'scrawl/master'
This commit is contained in:
commit
d73097c2e4
4 changed files with 26 additions and 16 deletions
18
.travis.yml
18
.travis.yml
|
@ -4,17 +4,17 @@ compiler:
|
||||||
branches:
|
branches:
|
||||||
only:
|
only:
|
||||||
- master
|
- master
|
||||||
- next
|
- /openmw-.*$/
|
||||||
before_install:
|
before_install:
|
||||||
- pwd
|
- pwd
|
||||||
- git submodule update --init --recursive
|
- git fetch --tags
|
||||||
- echo "yes" | sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu `lsb_release -sc` main universe restricted multiverse"
|
- echo "yes" | sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu `lsb_release -sc` main universe restricted multiverse"
|
||||||
- echo "yes" | sudo apt-add-repository ppa:openmw/openmw
|
- echo "yes" | sudo apt-add-repository ppa:openmw/openmw
|
||||||
- sudo apt-get update -qq
|
- sudo apt-get update -qq
|
||||||
- sudo apt-get install -qq libboost-all-dev libgtest-dev google-mock libzzip-dev uuid-dev
|
- sudo apt-get install -qq libboost-all-dev libgtest-dev google-mock
|
||||||
- sudo apt-get install -qq libqt4-dev libxaw7-dev libxrandr-dev libfreeimage-dev libpng-dev
|
- sudo apt-get install -qq libqt4-dev
|
||||||
- sudo apt-get install -qq libopenal-dev libmpg123-dev libsndfile1-dev
|
- sudo apt-get install -qq libopenal-dev
|
||||||
- sudo apt-get install -qq libavcodec-dev libavformat-dev libavdevice-dev libavutil-dev libswscale-dev libpostproc-dev
|
- sudo apt-get install -qq libavcodec-dev libavformat-dev libavutil-dev libswscale-dev
|
||||||
- sudo apt-get install -qq libbullet-dev libogre-1.9-dev libmygui-dev libsdl2-dev libunshield-dev
|
- sudo apt-get install -qq libbullet-dev libogre-1.9-dev libmygui-dev libsdl2-dev libunshield-dev
|
||||||
- sudo mkdir /usr/src/gtest/build
|
- sudo mkdir /usr/src/gtest/build
|
||||||
- cd /usr/src/gtest/build
|
- cd /usr/src/gtest/build
|
||||||
|
@ -37,3 +37,9 @@ notifications:
|
||||||
email:
|
email:
|
||||||
on_success: change
|
on_success: change
|
||||||
on_failure: always
|
on_failure: always
|
||||||
|
irc:
|
||||||
|
channels:
|
||||||
|
- "chat.freenode.net#openmw"
|
||||||
|
on_success: change
|
||||||
|
on_failure: always
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ include(OpenMWMacros)
|
||||||
|
|
||||||
include(GetGitRevisionDescription)
|
include(GetGitRevisionDescription)
|
||||||
|
|
||||||
get_git_tag_revision(TAGHASH --tags --max-count=1)
|
get_git_tag_revision(TAGHASH --tags --max-count=1 "HEAD...")
|
||||||
get_git_head_revision(REFSPEC COMMITHASH)
|
get_git_head_revision(REFSPEC COMMITHASH)
|
||||||
git_describe(VERSION --tags ${TAGHASH})
|
git_describe(VERSION --tags ${TAGHASH})
|
||||||
|
|
||||||
|
|
|
@ -168,7 +168,8 @@ QuadTreeNode::QuadTreeNode(World* terrain, ChildDirection dir, float size, const
|
||||||
if (mParent)
|
if (mParent)
|
||||||
pos = mParent->getCenter();
|
pos = mParent->getCenter();
|
||||||
pos = mCenter - pos;
|
pos = mCenter - pos;
|
||||||
mSceneNode->setPosition(Ogre::Vector3(pos.x*8192, pos.y*8192, 0));
|
float cellWorldSize = mTerrain->getStorage()->getCellWorldSize();
|
||||||
|
mSceneNode->setPosition(Ogre::Vector3(pos.x*cellWorldSize, pos.y*cellWorldSize, 0));
|
||||||
|
|
||||||
mMaterialGenerator = new MaterialGenerator(mTerrain->getShadersEnabled());
|
mMaterialGenerator = new MaterialGenerator(mTerrain->getShadersEnabled());
|
||||||
}
|
}
|
||||||
|
@ -203,6 +204,7 @@ void QuadTreeNode::initNeighbours()
|
||||||
|
|
||||||
void QuadTreeNode::initAabb()
|
void QuadTreeNode::initAabb()
|
||||||
{
|
{
|
||||||
|
float cellWorldSize = mTerrain->getStorage()->getCellWorldSize();
|
||||||
if (hasChildren())
|
if (hasChildren())
|
||||||
{
|
{
|
||||||
for (int i=0; i<4; ++i)
|
for (int i=0; i<4; ++i)
|
||||||
|
@ -210,11 +212,11 @@ void QuadTreeNode::initAabb()
|
||||||
mChildren[i]->initAabb();
|
mChildren[i]->initAabb();
|
||||||
mBounds.merge(mChildren[i]->getBoundingBox());
|
mBounds.merge(mChildren[i]->getBoundingBox());
|
||||||
}
|
}
|
||||||
mBounds = Ogre::AxisAlignedBox (Ogre::Vector3(-mSize/2*8192, -mSize/2*8192, mBounds.getMinimum().z),
|
mBounds = Ogre::AxisAlignedBox (Ogre::Vector3(-mSize/2*cellWorldSize, -mSize/2*cellWorldSize, mBounds.getMinimum().z),
|
||||||
Ogre::Vector3(mSize/2*8192, mSize/2*8192, mBounds.getMaximum().z));
|
Ogre::Vector3(mSize/2*cellWorldSize, mSize/2*cellWorldSize, mBounds.getMaximum().z));
|
||||||
}
|
}
|
||||||
mWorldBounds = Ogre::AxisAlignedBox(mBounds.getMinimum() + Ogre::Vector3(mCenter.x*8192, mCenter.y*8192, 0),
|
mWorldBounds = Ogre::AxisAlignedBox(mBounds.getMinimum() + Ogre::Vector3(mCenter.x*cellWorldSize, mCenter.y*cellWorldSize, 0),
|
||||||
mBounds.getMaximum() + Ogre::Vector3(mCenter.x*8192, mCenter.y*8192, 0));
|
mBounds.getMaximum() + Ogre::Vector3(mCenter.x*cellWorldSize, mCenter.y*cellWorldSize, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
void QuadTreeNode::setBoundingBox(const Ogre::AxisAlignedBox &box)
|
void QuadTreeNode::setBoundingBox(const Ogre::AxisAlignedBox &box)
|
||||||
|
|
|
@ -113,9 +113,10 @@ namespace Terrain
|
||||||
// We arrived at a leaf
|
// We arrived at a leaf
|
||||||
float minZ,maxZ;
|
float minZ,maxZ;
|
||||||
Ogre::Vector2 center = node->getCenter();
|
Ogre::Vector2 center = node->getCenter();
|
||||||
|
float cellWorldSize = getStorage()->getCellWorldSize();
|
||||||
if (mStorage->getMinMaxHeights(node->getSize(), center, minZ, maxZ))
|
if (mStorage->getMinMaxHeights(node->getSize(), center, minZ, maxZ))
|
||||||
node->setBoundingBox(Ogre::AxisAlignedBox(Ogre::Vector3(-halfSize*8192, -halfSize*8192, minZ),
|
node->setBoundingBox(Ogre::AxisAlignedBox(Ogre::Vector3(-halfSize*cellWorldSize, -halfSize*cellWorldSize, minZ),
|
||||||
Ogre::Vector3(halfSize*8192, halfSize*8192, maxZ)));
|
Ogre::Vector3(halfSize*cellWorldSize, halfSize*cellWorldSize, maxZ)));
|
||||||
else
|
else
|
||||||
node->markAsDummy(); // no data available for this node, skip it
|
node->markAsDummy(); // no data available for this node, skip it
|
||||||
return;
|
return;
|
||||||
|
@ -168,8 +169,9 @@ namespace Terrain
|
||||||
return Ogre::AxisAlignedBox::BOX_NULL;
|
return Ogre::AxisAlignedBox::BOX_NULL;
|
||||||
QuadTreeNode* node = findNode(center, mRootNode);
|
QuadTreeNode* node = findNode(center, mRootNode);
|
||||||
Ogre::AxisAlignedBox box = node->getBoundingBox();
|
Ogre::AxisAlignedBox box = node->getBoundingBox();
|
||||||
box.setExtents(box.getMinimum() + Ogre::Vector3(center.x, center.y, 0) * 8192,
|
float cellWorldSize = getStorage()->getCellWorldSize();
|
||||||
box.getMaximum() + Ogre::Vector3(center.x, center.y, 0) * 8192);
|
box.setExtents(box.getMinimum() + Ogre::Vector3(center.x, center.y, 0) * cellWorldSize,
|
||||||
|
box.getMaximum() + Ogre::Vector3(center.x, center.y, 0) * cellWorldSize);
|
||||||
return box;
|
return box;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue