mirror of
https://github.com/openmoh/openmohaa.git
synced 2025-04-28 13:47:58 +03:00
Implemented some reborn functions
This commit is contained in:
parent
102978b13c
commit
214692a910
21 changed files with 494 additions and 147 deletions
|
@ -285,12 +285,12 @@ static float PM_CmdScale( usercmd_t *cmd ) {
|
|||
|
||||
PM_GetMove( &fmove, &smove );
|
||||
|
||||
max = abs( fmove );
|
||||
if( abs( smove ) > max ) {
|
||||
max = abs( smove );
|
||||
max = fabs( fmove );
|
||||
if(fabs( smove ) > max ) {
|
||||
max = fabs( smove );
|
||||
}
|
||||
if ( abs( cmd->upmove ) > max ) {
|
||||
max = abs( cmd->upmove );
|
||||
if (fabs( cmd->upmove ) > max ) {
|
||||
max = fabs( cmd->upmove );
|
||||
}
|
||||
if ( !max ) {
|
||||
return 0;
|
||||
|
|
|
@ -1555,6 +1555,8 @@ Entity::Entity()
|
|||
m_iNumBlockedPaths = 0;
|
||||
m_BlockedPaths = NULL;
|
||||
|
||||
m_bHintRequiresLookAt = true;
|
||||
|
||||
// Misc
|
||||
m_bBindChilds = false;
|
||||
}
|
||||
|
@ -6806,103 +6808,41 @@ void Entity::SetDepthHack( Event *ev )
|
|||
}
|
||||
}
|
||||
|
||||
void Entity::SetHintRequireLookAt( Event *ev )
|
||||
void Entity::ProcessHint(gentity_t* client, bool bShow)
|
||||
{
|
||||
// FIXME: stub
|
||||
STUB();
|
||||
#if 0
|
||||
qboolean lookat = ev->GetBoolean( 1 );
|
||||
hintstring_t * hint_string = NULL;
|
||||
Player* player = (Player*)client->entity;
|
||||
|
||||
for( int i = 0; i < hintstrings.NumObjects(); i++ )
|
||||
if (client->client != NULL)
|
||||
{
|
||||
hintstring_t * index = hintstrings[ i ];
|
||||
qboolean is_hidden = bShow && (edict->s.renderfx & RF_INVISIBLE);
|
||||
qboolean can_see = bShow && player->canUse(this, m_bHintRequiresLookAt); //( player->IsTouching( this ) || player->CanSee( this, string->fov, 94 ) == 1 );
|
||||
|
||||
if( index->ent_num == entnum )
|
||||
if (bShow && can_see && !is_hidden && !player->IsDead() && !player->IsSpectator())
|
||||
{
|
||||
if( lookat && index->string[ 0 ] == '\0' )
|
||||
if (sv_reborn->integer)
|
||||
{
|
||||
hintstrings.RemoveObject( index );
|
||||
delete index;
|
||||
} else {
|
||||
index->needlookat = lookat;
|
||||
gi.MSG_SetClient(client - g_entities);
|
||||
|
||||
// Send the hint string once
|
||||
gi.MSG_StartCGM(CGM_HINTSTRING);
|
||||
gi.MSG_WriteString(m_HintString);
|
||||
gi.MSG_EndCGM();
|
||||
}
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if( lookat ) {
|
||||
return;
|
||||
}
|
||||
|
||||
hint_string = new hintstring_t;
|
||||
hint_string->ent_num = entnum;
|
||||
hint_string->needlookat = lookat;
|
||||
hint_string->changed = false;
|
||||
|
||||
hintstrings.AddObject( hint_string );
|
||||
#endif
|
||||
void Entity::SetHintRequireLookAt( Event *ev )
|
||||
{
|
||||
m_bHintRequiresLookAt = ev->GetBoolean(1);
|
||||
}
|
||||
|
||||
void Entity::SetHintString( Event * ev )
|
||||
{
|
||||
// FIXME: stub
|
||||
STUB();
|
||||
#if 0
|
||||
str string = ev->GetString( 1 );
|
||||
hintstring_t * hint_string = NULL;
|
||||
qboolean isInvalid = !string;
|
||||
|
||||
if( !sv_reborn->integer && !isInvalid ) {
|
||||
string.replace( "&&1", "Your use key" );
|
||||
}
|
||||
|
||||
for( int i = 0; i < hintstrings.NumObjects(); i++ )
|
||||
{
|
||||
hintstring_t * index = hintstrings[ i ];
|
||||
|
||||
if( index->ent_num == entnum )
|
||||
{
|
||||
if( isInvalid )
|
||||
{
|
||||
index->string[ 0 ] = '\0';
|
||||
|
||||
ProcessHint( index, true );
|
||||
|
||||
if( !index->needlookat ) {
|
||||
return;
|
||||
}
|
||||
|
||||
hintstrings.RemoveObject( index );
|
||||
delete index;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if( index->string[ 0 ] != '\0' ) {
|
||||
index->changed = true;
|
||||
}
|
||||
|
||||
strcpy( index->string, string );
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if( isInvalid ) {
|
||||
return;
|
||||
}
|
||||
|
||||
hint_string = new hintstring_t;
|
||||
hint_string->ent_num = entnum;
|
||||
hint_string->needlookat = true;
|
||||
hint_string->changed = false;
|
||||
|
||||
strcpy( hint_string->string, string );
|
||||
strcpy( hint_string->previous, string );
|
||||
|
||||
hintstrings.AddObject( hint_string );
|
||||
#endif
|
||||
m_HintString = ev->GetString(1);
|
||||
}
|
||||
|
||||
void Entity::SetShader
|
||||
|
|
|
@ -270,7 +270,9 @@ public:
|
|||
|
||||
// miscellaneous
|
||||
qboolean m_bBindChilds;
|
||||
|
||||
bool m_bHintRequiresLookAt;
|
||||
str m_HintString;
|
||||
|
||||
Entity();
|
||||
virtual ~Entity();
|
||||
|
||||
|
@ -576,6 +578,7 @@ public:
|
|||
virtual qboolean BlocksAIMovement( void ) const;
|
||||
virtual qboolean AIDontFace( void ) const;
|
||||
|
||||
void ProcessHint(gentity_t* client, bool bShow);
|
||||
void GetZone( Event *ev );
|
||||
void IsInZone( Event *ev );
|
||||
void SetDepthHack( Event *ev );
|
||||
|
|
|
@ -2534,6 +2534,7 @@ Event EV_VehiclePoint_SetSpawnFlags
|
|||
CLASS_DECLARATION( Waypoint, VehiclePoint, NULL )
|
||||
{
|
||||
{ &EV_VehiclePoint_SetSpawnFlags, &VehiclePoint::SetSpawnFlags },
|
||||
{ NULL, NULL }
|
||||
};
|
||||
|
||||
void VehiclePoint::SetSpawnFlags
|
||||
|
|
|
@ -4156,6 +4156,8 @@ Player::Player()
|
|||
m_iNumRightLegShots = 0;
|
||||
m_iNumTorsoShots = 0;
|
||||
|
||||
m_bShowingHint = false;
|
||||
|
||||
m_sPerferredWeaponOverride = "";
|
||||
|
||||
SetTargetName( "player" );
|
||||
|
@ -4346,6 +4348,8 @@ void Player::InitClient( void )
|
|||
client->ps.commandTime = level.svsTime;
|
||||
|
||||
gi.SendServerCommand( client - game.clients, "stopwatch 0 0" );
|
||||
|
||||
m_bShowingHint = false;
|
||||
}
|
||||
|
||||
void Player::InitState
|
||||
|
@ -6450,6 +6454,37 @@ void Player::ClientMove
|
|||
pmove_t pm;
|
||||
Vector move;
|
||||
|
||||
int touch[MAX_GENTITIES];
|
||||
int num = getUseableEntities(touch, MAX_GENTITIES, true);
|
||||
bool bHintShown = false;
|
||||
|
||||
for (int i = 0; i < num; i++)
|
||||
{
|
||||
Entity* entity = g_entities[touch[i]].entity;
|
||||
if (entity && entity->m_HintString.length())
|
||||
{
|
||||
entity->ProcessHint(edict, true);
|
||||
bHintShown = true;
|
||||
m_bShowingHint = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!bHintShown && m_bShowingHint)
|
||||
{
|
||||
m_bShowingHint = false;
|
||||
|
||||
if (sv_reborn->integer)
|
||||
{
|
||||
gi.MSG_SetClient(edict - g_entities);
|
||||
|
||||
// Send the hint string once
|
||||
gi.MSG_StartCGM(CGM_HINTSTRING);
|
||||
gi.MSG_WriteString("");
|
||||
gi.MSG_EndCGM();
|
||||
}
|
||||
}
|
||||
|
||||
oldorigin = origin;
|
||||
|
||||
client->ps.pm_type = GetMovePlayerMoveType();
|
||||
|
|
|
@ -281,6 +281,8 @@ private:
|
|||
int m_iInfoClientHealth;
|
||||
float m_fInfoClientTime;
|
||||
|
||||
bool m_bShowingHint;
|
||||
|
||||
public:
|
||||
int m_iNumObjectives;
|
||||
int m_iObjectivesCompleted;
|
||||
|
|
|
@ -85,6 +85,8 @@ ScriptEvent scriptedEvents[ SE_MAX ];
|
|||
|
||||
MEM_BlockAlloc< ScriptThread, MEM_BLOCKSIZE > ScriptThread_allocator;
|
||||
|
||||
FlagList flags;
|
||||
|
||||
CLASS_DECLARATION( Class, ScriptEvent, NULL )
|
||||
{
|
||||
{ NULL, NULL }
|
||||
|
@ -4450,7 +4452,18 @@ void ScriptThread::FlagClear
|
|||
)
|
||||
|
||||
{
|
||||
// FIXME: TODO
|
||||
str name;
|
||||
Flag *flag;
|
||||
|
||||
name = ev->GetString(1);
|
||||
|
||||
flag = flags.FindFlag(name);
|
||||
|
||||
if (flag == NULL) {
|
||||
ScriptError("Invalid flag '%s'\n", name.c_str());
|
||||
}
|
||||
|
||||
delete flag;
|
||||
}
|
||||
|
||||
void ScriptThread::FlagInit
|
||||
|
@ -4459,7 +4472,22 @@ void ScriptThread::FlagInit
|
|||
)
|
||||
|
||||
{
|
||||
// FIXME: TODO
|
||||
str name;
|
||||
Flag *flag;
|
||||
|
||||
name = ev->GetString(1);
|
||||
|
||||
flag = flags.FindFlag(name);
|
||||
|
||||
if (flag != NULL)
|
||||
{
|
||||
flag->Reset();
|
||||
return;
|
||||
}
|
||||
|
||||
flag = new Flag;
|
||||
flag->bSignaled = false;
|
||||
strcpy(flag->flagName, name);
|
||||
}
|
||||
|
||||
void ScriptThread::FlagSet
|
||||
|
@ -4468,7 +4496,18 @@ void ScriptThread::FlagSet
|
|||
)
|
||||
|
||||
{
|
||||
// FIXME: TODO
|
||||
str name;
|
||||
Flag *flag;
|
||||
|
||||
name = ev->GetString(1);
|
||||
|
||||
flag = flags.FindFlag(name);
|
||||
|
||||
if (flag == NULL) {
|
||||
ScriptError("Invalid flag '%s'.\n", name.c_str());
|
||||
}
|
||||
|
||||
flag->Set();
|
||||
}
|
||||
|
||||
void ScriptThread::FlagWait
|
||||
|
@ -4477,7 +4516,18 @@ void ScriptThread::FlagWait
|
|||
)
|
||||
|
||||
{
|
||||
// FIXME: TODO
|
||||
str name;
|
||||
Flag *flag;
|
||||
|
||||
name = ev->GetString(1);
|
||||
|
||||
flag = flags.FindFlag(name);
|
||||
|
||||
if (flag == NULL) {
|
||||
ScriptError("Invalid flag '%s'.\n", name.c_str());
|
||||
}
|
||||
|
||||
flag->Wait(this);
|
||||
}
|
||||
|
||||
void ScriptThread::Lock
|
||||
|
@ -5449,7 +5499,7 @@ void ScriptThread::Abs
|
|||
)
|
||||
|
||||
{
|
||||
ev->AddFloat( abs( ev->GetFloat( 1 ) ) );
|
||||
ev->AddFloat(fabs( ev->GetFloat( 1 ) ) );
|
||||
}
|
||||
|
||||
void ScriptThread::ServerStufftext
|
||||
|
@ -9308,4 +9358,81 @@ void LightStyleClass::Archive( Archiver &arc )
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
Flag *FlagList::FindFlag(const char * name)
|
||||
{
|
||||
for (int i = 0; i < m_Flags.NumObjects(); i++)
|
||||
{
|
||||
Flag * index = m_Flags[i];
|
||||
|
||||
// found the flag
|
||||
if (strcmp(index->flagName, name) == 0) {
|
||||
return index;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void FlagList::AddFlag(Flag *flag)
|
||||
{
|
||||
m_Flags.AddObject(flag);
|
||||
}
|
||||
|
||||
void FlagList::RemoveFlag(Flag *flag)
|
||||
{
|
||||
m_Flags.RemoveObject(flag);
|
||||
}
|
||||
|
||||
Flag::Flag()
|
||||
{
|
||||
flags.AddFlag(this);
|
||||
}
|
||||
|
||||
Flag::~Flag()
|
||||
{
|
||||
flags.RemoveFlag(this);
|
||||
|
||||
m_WaitList.FreeObjectList();
|
||||
}
|
||||
|
||||
void Flag::Reset()
|
||||
{
|
||||
bSignaled = false;
|
||||
}
|
||||
|
||||
void Flag::Set()
|
||||
{
|
||||
// Don't signal again
|
||||
if (bSignaled) {
|
||||
return;
|
||||
}
|
||||
|
||||
bSignaled = true;
|
||||
|
||||
for (int i = 0; i < m_WaitList.NumObjects(); i++)
|
||||
{
|
||||
ScriptVM *Thread = m_WaitList[i];
|
||||
|
||||
if (Thread->state != STATE_DESTROYED && Thread->m_Thread != NULL) {
|
||||
Thread->m_Thread->StoppedWaitFor(STRING_EMPTY, false);
|
||||
}
|
||||
}
|
||||
|
||||
// Clear the list
|
||||
m_WaitList.FreeObjectList();
|
||||
}
|
||||
|
||||
void Flag::Wait(ScriptThread *Thread)
|
||||
{
|
||||
// Don't wait if it's signaled
|
||||
if (bSignaled) {
|
||||
return;
|
||||
}
|
||||
|
||||
Thread->StartedWaitFor();
|
||||
|
||||
m_WaitList.AddObject(Thread->m_ScriptVM);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -586,4 +586,39 @@ public:
|
|||
void Unlock( void );
|
||||
};
|
||||
|
||||
|
||||
class Flag
|
||||
{
|
||||
public:
|
||||
char flagName[MAX_QPATH];
|
||||
qboolean bSignaled;
|
||||
|
||||
private:
|
||||
Container< ScriptVM * > m_WaitList;
|
||||
|
||||
public:
|
||||
Flag();
|
||||
~Flag();
|
||||
|
||||
void Reset(void);
|
||||
void Set(void);
|
||||
void Wait(ScriptThread *Thread);
|
||||
};
|
||||
|
||||
class FlagList
|
||||
{
|
||||
friend class Flag;
|
||||
|
||||
private:
|
||||
void AddFlag(Flag *flag);
|
||||
void RemoveFlag(Flag *flag);
|
||||
|
||||
public:
|
||||
Container< Flag * > m_Flags;
|
||||
|
||||
Flag *FindFlag(const char * name);
|
||||
};
|
||||
|
||||
extern FlagList flags;
|
||||
|
||||
#endif /* scriptmaster.h */
|
||||
|
|
|
@ -546,6 +546,83 @@ void BoneGetFrames( skelHeaderGame_t *skelmodel, skelAnimDataGameHeader_t *animD
|
|||
}
|
||||
}
|
||||
|
||||
void SkeletorGetAnimFrame2(skelHeaderGame_t *skelmodel, skelChannelList_c *boneList, skelBoneCache_t *bones, skelAnimStoreFrameList_c *frameList, float *radius, vec3_t *mins, vec3_t *maxes)
|
||||
{
|
||||
int numBones;
|
||||
skelBone_Base **bone;
|
||||
int i;
|
||||
skelAnimFrame_t *newFrame;
|
||||
|
||||
numBones = skelmodel->numBones;
|
||||
|
||||
bone = (skelBone_Base **)Skel_Alloc(sizeof(skelBone_Base *) * numBones);
|
||||
memset(bone, 0, sizeof(skelBone_Base *) * numBones);
|
||||
|
||||
SkeletorLoadBonesFromBuffer(boneList, skelmodel, bone);
|
||||
|
||||
for (i = 0; i < numBones; i++)
|
||||
{
|
||||
bone[i]->m_controller = NULL;
|
||||
bone[i]->m_isDirty = true;
|
||||
}
|
||||
|
||||
newFrame = (skelAnimFrame_t *)Skel_Alloc(sizeof(skelAnimFrame_t) + sizeof(SkelMat4) * numBones);
|
||||
newFrame->radius = 0;
|
||||
newFrame->bounds[0] = SkelVec3();
|
||||
newFrame->bounds[1] = SkelVec3();
|
||||
|
||||
for (i = 0; i < numBones; i++)
|
||||
{
|
||||
//skelBone_Base *Parent = bone[ i ]->Parent();
|
||||
//bone[ i ]->SetParent( &skeletor_c::m_worldBone );
|
||||
newFrame->bones[i] = bone[i]->GetTransform(frameList);
|
||||
//bone[ i ]->SetParent( Parent );
|
||||
}
|
||||
|
||||
for (i = 0; i < numBones; i++)
|
||||
{
|
||||
VectorCopy(newFrame->bones[i][3], bones[i].offset);
|
||||
bones[i].matrix[0][0] = newFrame->bones[i][0][0];
|
||||
bones[i].matrix[0][1] = newFrame->bones[i][0][1];
|
||||
bones[i].matrix[0][2] = newFrame->bones[i][0][2];
|
||||
bones[i].matrix[0][3] = 0;
|
||||
bones[i].matrix[1][0] = newFrame->bones[i][1][0];
|
||||
bones[i].matrix[1][1] = newFrame->bones[i][1][1];
|
||||
bones[i].matrix[1][2] = newFrame->bones[i][1][2];
|
||||
bones[i].matrix[1][3] = 0;
|
||||
bones[i].matrix[2][0] = newFrame->bones[i][2][0];
|
||||
bones[i].matrix[2][1] = newFrame->bones[i][2][1];
|
||||
bones[i].matrix[2][2] = newFrame->bones[i][2][2];
|
||||
bones[i].matrix[2][3] = 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < numBones; i++)
|
||||
{
|
||||
delete bone[i];
|
||||
}
|
||||
|
||||
Skel_Free(bone);
|
||||
|
||||
if (radius) {
|
||||
*radius = newFrame->radius;
|
||||
}
|
||||
|
||||
if (mins || maxes)
|
||||
{
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
if (mins) {
|
||||
(*mins)[i] = newFrame->bounds[0][i];
|
||||
}
|
||||
if (maxes) {
|
||||
(*maxes)[i] = newFrame->bounds[1][i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Skel_Free(newFrame);
|
||||
}
|
||||
|
||||
void SkeletorGetAnimFrame( skelHeaderGame_t *skelmodel, skelAnimDataGameHeader_t *animData, skelChannelList_c *boneList, skelBoneCache_t *bones, int frame, float *radius, vec3_t *mins, vec3_t *maxes )
|
||||
{
|
||||
int numBones;
|
||||
|
@ -555,11 +632,23 @@ void SkeletorGetAnimFrame( skelHeaderGame_t *skelmodel, skelAnimDataGameHeader_t
|
|||
skelAnimFrame_t *newFrame;
|
||||
|
||||
frameList.actionWeight = animData ? 1.0 : 0;
|
||||
frameList.numMovementFrames = 0;
|
||||
frameList.numActionFrames = 1;
|
||||
frameList.m_blendInfo[ 32 ].weight = 1.0;
|
||||
frameList.m_blendInfo[ 32 ].pAnimationData = animData;
|
||||
frameList.m_blendInfo[ 32 ].frame = frame;
|
||||
|
||||
if (!animData->bHasDelta)
|
||||
{
|
||||
frameList.numMovementFrames = 0;
|
||||
frameList.numActionFrames = 1;
|
||||
frameList.m_blendInfo[32].weight = 1.0;
|
||||
frameList.m_blendInfo[32].pAnimationData = animData;
|
||||
frameList.m_blendInfo[32].frame = frame;
|
||||
}
|
||||
else
|
||||
{
|
||||
frameList.numMovementFrames = 1;
|
||||
frameList.numActionFrames = 0;
|
||||
frameList.m_blendInfo[0].weight = 1.0;
|
||||
frameList.m_blendInfo[0].pAnimationData = animData;
|
||||
frameList.m_blendInfo[0].frame = frame;
|
||||
}
|
||||
numBones = skelmodel->numBones;
|
||||
|
||||
bone = ( skelBone_Base ** )Skel_Alloc( sizeof( skelBone_Base * ) * numBones );
|
||||
|
@ -648,6 +737,104 @@ void SkeletorGetAnimFrame( skelHeaderGame_t *skelmodel, skelAnimDataGameHeader_t
|
|||
Skel_Free( newFrame );
|
||||
}
|
||||
|
||||
void TIKI_GetSkelAnimFrameInternal2(dtiki_t *tiki, skelBoneCache_t *bones, skelAnimStoreFrameList_c* frameList, float *radius, vec3_t *mins, vec3_t *maxes)
|
||||
{
|
||||
//int boneNum;
|
||||
int numBones;
|
||||
skelBone_Base **bone;
|
||||
int i;
|
||||
skelAnimFrame_t *newFrame;
|
||||
//int realAnimIndex;
|
||||
//skanBlendInfo *frame;
|
||||
skelHeaderGame_t *skelmodel;
|
||||
|
||||
numBones = tiki->m_boneList.NumChannels();
|
||||
|
||||
bone = (skelBone_Base **)Skel_Alloc(sizeof(skelBone_Base *) * numBones);
|
||||
memset(bone, 0, sizeof(skelBone_Base *) * numBones);
|
||||
|
||||
for (i = 0; i < tiki->numMeshes; i++)
|
||||
{
|
||||
skelmodel = TIKI_GetSkel(tiki->mesh[i]);
|
||||
SkeletorLoadBonesFromBuffer(&tiki->m_boneList, skelmodel, bone);
|
||||
}
|
||||
|
||||
for (i = 0; i < numBones; i++)
|
||||
{
|
||||
bone[i]->m_controller = NULL;
|
||||
bone[i]->m_isDirty = true;
|
||||
}
|
||||
|
||||
newFrame = (skelAnimFrame_t *)Skel_Alloc(sizeof(skelAnimFrame_t) + sizeof(SkelMat4) * numBones);
|
||||
|
||||
/*
|
||||
if (animData)
|
||||
{
|
||||
if (animData->m_frame)
|
||||
{
|
||||
newFrame->radius = animData->m_frame->radius;
|
||||
}
|
||||
else
|
||||
{
|
||||
newFrame->radius = 0;
|
||||
}
|
||||
|
||||
newFrame->bounds[0] = animData->bounds[0];
|
||||
newFrame->bounds[1] = animData->bounds[1];
|
||||
}
|
||||
else
|
||||
*/
|
||||
{
|
||||
newFrame->radius = 0;
|
||||
newFrame->bounds[0] = SkelVec3();
|
||||
newFrame->bounds[1] = SkelVec3();
|
||||
}
|
||||
|
||||
for (i = 0; i < numBones; i++)
|
||||
{
|
||||
newFrame->bones[i] = bone[i]->GetTransform(frameList);
|
||||
}
|
||||
|
||||
for (i = 0; i < numBones; i++)
|
||||
{
|
||||
delete bone[i];
|
||||
}
|
||||
|
||||
Skel_Free(bone);
|
||||
|
||||
for (i = 0; i < numBones; i++)
|
||||
{
|
||||
VectorCopy(newFrame->bones[i][3], bones[i].offset);
|
||||
bones[i].matrix[0][0] = newFrame->bones[i][0][0];
|
||||
bones[i].matrix[0][1] = newFrame->bones[i][0][1];
|
||||
bones[i].matrix[0][2] = newFrame->bones[i][0][2];
|
||||
bones[i].matrix[0][3] = 0;
|
||||
bones[i].matrix[1][0] = newFrame->bones[i][1][0];
|
||||
bones[i].matrix[1][1] = newFrame->bones[i][1][1];
|
||||
bones[i].matrix[1][2] = newFrame->bones[i][1][2];
|
||||
bones[i].matrix[1][3] = 0;
|
||||
bones[i].matrix[2][0] = newFrame->bones[i][2][0];
|
||||
bones[i].matrix[2][1] = newFrame->bones[i][2][1];
|
||||
bones[i].matrix[2][2] = newFrame->bones[i][2][2];
|
||||
bones[i].matrix[2][3] = 0;
|
||||
}
|
||||
|
||||
if (radius) {
|
||||
*radius = newFrame->radius;
|
||||
}
|
||||
|
||||
if (mins && maxes)
|
||||
{
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
(*mins)[i] = newFrame->bounds[0][i];
|
||||
(*maxes)[i] = newFrame->bounds[1][i];
|
||||
}
|
||||
}
|
||||
|
||||
Skel_Free(newFrame);
|
||||
}
|
||||
|
||||
void TIKI_GetSkelAnimFrameInternal( dtiki_t *tiki, skelBoneCache_t *bones, skelAnimDataGameHeader_t *animData, int frame, float *radius, vec3_t *mins, vec3_t *maxes )
|
||||
{
|
||||
//int boneNum;
|
||||
|
@ -661,11 +848,22 @@ void TIKI_GetSkelAnimFrameInternal( dtiki_t *tiki, skelBoneCache_t *bones, skelA
|
|||
skelHeaderGame_t *skelmodel;
|
||||
|
||||
frameList.actionWeight = animData ? 1.0 : 0;
|
||||
frameList.numMovementFrames = 0;
|
||||
frameList.numActionFrames = 1;
|
||||
frameList.m_blendInfo[ 32 ].weight = 1.0;
|
||||
frameList.m_blendInfo[ 32 ].pAnimationData = animData;
|
||||
frameList.m_blendInfo[ 32 ].frame = frame;
|
||||
if (!animData || !animData->bHasDelta)
|
||||
{
|
||||
frameList.numMovementFrames = 0;
|
||||
frameList.numActionFrames = 1;
|
||||
frameList.m_blendInfo[32].weight = 1.0;
|
||||
frameList.m_blendInfo[32].pAnimationData = animData;
|
||||
frameList.m_blendInfo[32].frame = frame;
|
||||
}
|
||||
else
|
||||
{
|
||||
frameList.numMovementFrames = 1;
|
||||
frameList.numActionFrames = 0;
|
||||
frameList.m_blendInfo[0].weight = 1.0;
|
||||
frameList.m_blendInfo[0].pAnimationData = animData;
|
||||
frameList.m_blendInfo[0].frame = frame;
|
||||
}
|
||||
numBones = tiki->m_boneList.NumChannels();
|
||||
|
||||
bone = ( skelBone_Base ** )Skel_Alloc( sizeof( skelBone_Base * ) * numBones );
|
||||
|
|
|
@ -150,6 +150,8 @@ void ConvertToFKPositionName( const char *boneName, char *rotChannelName );
|
|||
void AddToBounds( SkelVec3 *bounds, SkelVec3 *newBounds );
|
||||
#ifdef __cplusplus
|
||||
void BoneGetFrames( skelHeaderGame_t *skelmodel, skelAnimDataGameHeader_t *animData, skelChannelList_c *boneList, int boneNum, Container< skanAnimFrame >& outFrames );
|
||||
void TIKI_GetSkelAnimFrameInternal2(dtiki_t *tiki, skelBoneCache_t *bones, skelAnimStoreFrameList_c *frameList, float *radius, vec3_t *mins, vec3_t *maxes);
|
||||
void SkeletorGetAnimFrame2(skelHeaderGame_t *skelmodel, skelChannelList_c *boneList, skelBoneCache_t *bones, skelAnimStoreFrameList_c *frameList, float *radius, vec3_t *mins, vec3_t *maxes);
|
||||
#endif
|
||||
void SkeletorGetAnimFrame( skelHeaderGame_t *skelmodel, skelAnimDataGameHeader_t *animData, skelChannelList_c *boneList, skelBoneCache_t *bones, int frame, float *radius, vec3_t *mins, vec3_t *maxes );
|
||||
void TIKI_GetSkelAnimFrame( dtiki_t *tiki, skelBoneCache_t *bones, float *radius, vec3_t *mins, vec3_t *maxes );
|
||||
|
|
|
@ -305,8 +305,12 @@ void TIKI_FreeAll()
|
|||
tiki_loading = true;
|
||||
if( skelcache )
|
||||
{
|
||||
for( i = 0; i < cache_maxskel; i++ ) {
|
||||
TIKI_FreeSkel( i );
|
||||
for( i = 0; i < cache_maxskel; i++ )
|
||||
{
|
||||
if (skelcache->skel)
|
||||
{
|
||||
TIKI_FreeSkel(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -914,6 +914,9 @@ void TIKI_FreeSkelCache( skelcache_t *cache )
|
|||
|
||||
TIKI_Free( cache->skel );
|
||||
cache->skel = NULL;
|
||||
cache->size = 0;
|
||||
cache->path[0] = 0;
|
||||
cache->numuses = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
|
@ -66,26 +66,26 @@
|
|||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
|
@ -28,27 +28,27 @@
|
|||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
|
@ -19,13 +19,13 @@
|
|||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
|
@ -29,27 +29,27 @@
|
|||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
|
@ -28,27 +28,27 @@
|
|||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
|
|
|
@ -22,29 +22,30 @@
|
|||
<ProjectGuid>{2573DDFC-0576-4766-8A8E-E482035D12AF}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>omohconverter</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>7.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v140_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v140_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v140_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v140_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
|
|
|
@ -762,8 +762,4 @@
|
|||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="ClassDiagram.cd" />
|
||||
<None Include="ClassDiagram1.cd" />
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
|
@ -28,27 +28,27 @@
|
|||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
|
@ -116,23 +116,23 @@
|
|||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue