[Movement/Spline]: set correct spline flags for taxi patching.

This commit is contained in:
cyberbrest
2012-08-06 03:52:41 +03:00
parent 1928964443
commit e2590a7341
3 changed files with 8 additions and 2 deletions

View File

@@ -236,7 +236,7 @@ void FlightPathMovementGenerator::Reset(Player & player)
init.Path().push_back(vertice);
}
init.SetFirstPointId(GetCurrentNode());
init.SetFly();
init.EnableTaxiFlight();
init.SetVelocity(PLAYER_FLIGHT_SPEED);
init.Launch();
}

View File

@@ -72,7 +72,7 @@ namespace Movement
// flags that shouldn't be appended into SMSG_MONSTER_MOVE\SMSG_MONSTER_MOVE_TRANSPORT packet, should be more probably
Mask_No_Monster_Move = Mask_Final_Facing | Mask_Animations | Done,
// CatmullRom interpolation mode used
Mask_CatmullRom = Catmullrom,
Mask_CatmullRom = Catmullrom | Flying,
// Unused, not suported flags
Mask_Unused = No_Spline|Enter_Cycle|Frozen|UncompressedPath|Unknown1|Unknown2|Unknown3|Unknown4|Unknown5|Unknown6|Unknown7|Unknown8|Unknown9,
};
@@ -112,6 +112,7 @@ namespace Movement
void EnableFacingTarget() { raw() = (raw() & ~Mask_Final_Facing) | Final_Target; }
void EnableTransportEnter() { raw() = (raw() & ~TransportExit) | TransportEnter; }
void EnableTransportExit() { raw() = (raw() & ~TransportEnter) | TransportExit; }
void EnableTaxiFlight() { raw() = raw() | Catmullrom | Flying | Walkmode | UncompressedPath; } //4.3.4 0x600A00
uint8 animId : 4;
bool unknown1 : 1;

View File

@@ -102,6 +102,10 @@ namespace Movement
void SetFly();
/* Enables walk mode. Disabled by default
*/
void EnableTaxiFlight();
/* Flags used in taxi
*/
void SetWalk(bool enable);
/* Makes movement cyclic. Disabled by default
*/
@@ -141,6 +145,7 @@ namespace Movement
};
inline void MoveSplineInit::SetFly() { args.flags.EnableFlying(); }
inline void MoveSplineInit::EnableTaxiFlight() { args.flags.EnableTaxiFlight(); }
inline void MoveSplineInit::SetWalk(bool enable) { args.flags.walkmode = enable;}
inline void MoveSplineInit::SetSmooth() { args.flags.EnableCatmullRom();}
inline void MoveSplineInit::SetCyclic() { args.flags.cyclic = true;}