mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-13 15:44:36 +00:00
Resolve issue #163
Fixed and assert on changing material, and we now map the material to the MATMGR by name instead of type.
This commit is contained in:
parent
769268784f
commit
7e5ddf4ca2
3 changed files with 28 additions and 4 deletions
|
|
@ -5127,8 +5127,8 @@ DefineEngineMethod( ShapeBase, changeMaterial, void, ( const char* mapTo, Materi
|
||||||
|
|
||||||
newMat->mMapTo = mapTo;
|
newMat->mMapTo = mapTo;
|
||||||
|
|
||||||
// Map the material in the in the matmgr
|
// Map the material by name in the matmgr
|
||||||
MATMGR->mapMaterial( mapTo, newMat->mMapTo );
|
MATMGR->mapMaterial( mapTo, newMat->getName() );
|
||||||
|
|
||||||
// Replace instances with the new material being traded in. For ShapeBase
|
// Replace instances with the new material being traded in. For ShapeBase
|
||||||
// class we have to update the server/client objects separately so both
|
// class we have to update the server/client objects separately so both
|
||||||
|
|
|
||||||
|
|
@ -1120,8 +1120,8 @@ DefineEngineMethod( TSStatic, changeMaterial, void, ( const char* mapTo, Materia
|
||||||
|
|
||||||
newMat->mMapTo = mapTo;
|
newMat->mMapTo = mapTo;
|
||||||
|
|
||||||
// Map the material in the in the matmgr
|
// Map the material by name in the matmgr
|
||||||
MATMGR->mapMaterial( mapTo, newMat->mMapTo );
|
MATMGR->mapMaterial( mapTo, newMat->getName() );
|
||||||
|
|
||||||
// Replace instances with the new material being traded in. Lets make sure that we only
|
// Replace instances with the new material being traded in. Lets make sure that we only
|
||||||
// target the specific targets per inst, this is actually doing more than we thought
|
// target the specific targets per inst, this is actually doing more than we thought
|
||||||
|
|
|
||||||
|
|
@ -384,6 +384,30 @@ bool Tokenizer::advanceToken(const bool crossLine, const bool assertAvail)
|
||||||
cont = false;
|
cont = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (c == '/' && mpBuffer[mCurrPos+1] == '*')
|
||||||
|
{
|
||||||
|
// Block quote...
|
||||||
|
if (currPosition == 0)
|
||||||
|
{
|
||||||
|
// continue to end of block, then let crossLine determine on the next pass
|
||||||
|
while (mCurrPos < mBufferSize - 1 && (mpBuffer[mCurrPos] != '*' || mpBuffer[mCurrPos + 1] != '/'))
|
||||||
|
mCurrPos++;
|
||||||
|
|
||||||
|
if (mCurrPos < mBufferSize - 1)
|
||||||
|
mCurrPos += 2;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// This is the end of the token. Continue to EOL
|
||||||
|
while (mCurrPos < mBufferSize - 1 && (mpBuffer[mCurrPos] != '*' || mpBuffer[mCurrPos + 1] != '/'))
|
||||||
|
mCurrPos++;
|
||||||
|
|
||||||
|
if (mCurrPos < mBufferSize - 1)
|
||||||
|
mCurrPos += 2;
|
||||||
|
|
||||||
|
cont = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// If this is the first non-token character then store the
|
// If this is the first non-token character then store the
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue