Commit graph

42 commits

Author SHA1 Message Date
SilverIce
a7610f79c7 [11754] Implement jump (parabolic movement) effect
Also correct destination calculation in Unit::KnockBackFrom - now spline knockback effect works similar to client's effect (same amplitude, speed etc)
2011-07-26 13:56:06 +03:00
SilverIce
9d566398ad [11720] Implement spline movement subsystem
Spline movement controls movements of server-side controlled units (monster movement, taxi movement, etc).
Proper implementation of effects such as charge, jump, cyclic movement will rely on it.
However, need improve our states system before.

Technical changes:

 1. Added linear, catmullrom and bezier3 splines which based on client's algorthims. They can be reused for proper transport position interpolation.
 2. Precission increased. There are no more position desync issues since client's position calculation formulas used.
 3. Now possible to move by paths with multiple points, send whole path to client.
2011-07-08 17:25:13 +03:00
VladimirMangos
249fb836ca [11490] Alow implicit cast ObjectGuid->uint64 and only explicit uint64->ObjectGuid
Now safe allow this casts in like way after completed convertion to ObjectGuid use.
Also simplify code in result allowed auto cast to uint64.

Please _not_ add new uint64 storages (local and in structures) for guid values.
2011-05-15 22:04:57 +04:00
VladimirMangos
b4f2e3d1a0 [11460] Use ObjectGuids in last missing cases in AI classes. 2011-05-10 11:06:26 +04:00
Schmoozerd
328bd68350 [11336] Use movgen Finilize for code applied at normal movegen expire
This let resolve porblems for casts/etc that before happens
before real movgen stop from code logic.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-04-12 15:39:29 +04:00
VladimirMangos
bf0ecf6e71 [10947] Update copyright notice for 2011 year. 2011-01-01 20:33:43 +03:00
VladimirMangos
ce7b98c45e [10799] Add GetGuidStr() short call for GetObjectGuid().GetString() and use it. 2010-12-01 09:56:13 +03:00
VladimirMangos
10d3d3ce24 [10692] Fixed some GCC warnings and code errors.
Thanks to freghar for provide cleaned list of warning messages.
2010-11-07 21:30:55 +03:00
VladimirMangos
a32d68febd [10671] Convert some Unit owner/etc guids to ObjectGuid way. 2010-11-01 13:19:50 +03:00
DasBlub
fc5dd54f37 [10612] Revert "[10611] Made some values const"
Reason: It makes no sense to make a local variable const.

This reverts commit 49e3184d69056738701bc15d9b7f982bf11d7bbc.
2010-10-15 22:29:10 +02:00
Reve
47d971c7f9 [10611] Made some values const
Signed-off-by: DasBlub <dasblub@gmail.com>
2010-10-15 22:14:42 +02:00
NoFantasy
921dda56ba [10482] Add basic function MoveWaypoint() to manually start creature waypoint path
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-09-14 12:43:04 +02:00
NoFantasy
3027d4ba61 [10481] Use prefix m_ for member variable in motionMaster
Some additional code style cleanup.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-09-14 10:52:57 +02:00
VladimirMangos
acd0716297 [10432] Rename ASSERT -> MANGOS_ASSERT and related fixes
ASSERT hard use in predictable way because diff. 3rd party libs code
redefine it inf different ways and hard make sure that used in end
of mangos define version. This is real detected problem make some
expected assert checks ignored and so bugs not detected as expected from code.

In addition made related changes:
* Common.h header expected to be first include in any src/game/header except most simple cases.
* Related FILE.h header expected to be first include in FILE.cpp
* Fixed some absent includes and type forwards for safe build without PCH enabled.
* Avoid using MANGOS_ASSERT in src/framework code
2010-09-02 05:13:16 +04:00
NoFantasy
25d9fd265b [10293] Correct a not exitan...non-existin... a word that is often spelled wrong
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-07-30 18:26:08 +02:00
VladimirMangos
0304448b85 [10064] Fixed recently show up crash in Unit::StopMoving. 2010-06-15 19:14:44 +04:00
zergtmn
e34315f23f [10057] Type in UNIT_STAT_CONTROLLED
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-06-14 22:08:20 +04:00
VladimirMangos
b4b45333d8 [10053] Use UNIT_STAT_CONTROLED for mark unit state under direct player control.
* This allow prevent move home/to caster at apply
* Also replace AI and reset movegens at control time
* Also stop combat and clear threat/hostile list at lost control for prevent combat with freindly units.
2010-06-14 10:27:44 +04:00
hunuza
68abd76c97 [9844] Fix some whitespace errors.
Signed-off-by: hunuza <hunuza@gmail.com>
2010-05-07 12:25:12 +02:00
VladimirMangos
722135b326 [9838] More log filters and macro uses.
* LogFilter_Weather
* LogFilter_PeriodicAffects
* LogFilter_PlayerMoves
* LogFilter_SQLText
* LogFilter_AIAndMovegens
* LogFilter_PlayerStats
2010-05-05 18:46:10 +04:00
VladimirMangos
57dcc84940 [9824] Use in taxi flight movegen original taxipath data. 2010-05-02 06:14:26 +04:00
XTZGZoReX
51fd11c92c [9638] Replace all C assert()s with MaNGOS ASSERT() macro. 2010-03-29 19:29:42 +02:00
VladimirMangos
9311a36d2a [9626] Fix one wrong cast case and simplify similar debug output. 2010-03-27 04:12:36 +03:00
NoFantasy
45cc830eae [9568] Add function to manually start random movement.
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-03-11 00:47:34 +01:00
Quriq14
bf7616138b [9479] Use Clear call in MotionMaster::Initilize
Function can be called from deep code in time MotionMaster::Update.
So need use safe way cleanup with possible delayed movegens deletion.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-02-28 09:52:25 +03:00
VladimirMangos
6a2e8064f1 [9208] Big cleanup in UNIT_STAT_* use
* Re-number enums by function groups and use where possible new defined masks in code instead raw enum |-lists.
* Avoid use movement generator generic state markers like UNIT_STAT_CONFUSED for mark movement stoped.
  Add special shadow UNIT_STAT_CONFUSED_MOVE/etc states for like use.
  UNIT_STAT_CONFUSED in like case will be safe expect use for normal checks confused state presence
  And UNIT_STAT_CONFUSED_MOVE for check real move in this state
2010-01-18 11:59:10 +03:00
VladimirMangos
8a03785470 [9198] Replace targeted movegen by 2 new: chase/follow movegens.
NOTE: this is mostly just formal adding 2 movegens with very limited cleanups.
Real result from adding 2 new movegens possible after apply more deep cleanups/fixes
in UNIT_STAT_CHASE/UNIT_STAT_FOLLOW set. But this will need more cereful changes
because we have currently sometime strange dependences and places for set for this flags.
Similar cleanups required for other movegen related flags. Infact i have related patches but
need more testing before apply step by step.
2010-01-17 09:37:11 +03:00
VladimirMangos
132b1cbabd [9188] Implement MoveGen::Interrupt call.
It can be used in time when need do some tasks before
another movement generator add on top to motion stack.
This just finish pair Interrupt->Reset similar Initilize->Finilize
In general movementgenerator have states:

Initilize=>Interrupt<=>[-some addition movegen->]<=>Reset=>Finalize
2010-01-16 07:02:13 +03:00
VladimirMangos
fe6e2e1746 [9122] Updated copyright notice for new year.
Also fix some lost in past cases.
2010-01-08 00:02:21 +03:00
NoFantasy
3c2327e6e0 [9065] Implement motionmaster function UpdateFinalDistanceToTarget()
To update a creatures distance to it's target without creating a new movement generator. Note it can only be used where creature is using TargetedMovementGenerator.

Signed-off-by: NoFantasy <nofantasy@nf.no>
2009-12-25 18:06:59 +01:00
balrok
02d45b4b54 [8625] feign_death cleanups
use an extra function for setfeigndeath()
like it's done with setfeared already..
allow to apply feigndeath on creatures too
avoid moving of creatures with feign death applied
and start attacking last victim when feigndeath disappears
2009-10-11 14:22:52 +02:00
balrok
bd30769dec [8475] fixed some gcc-warnings
all warnings from Wunused
and some from Wall

cause unused may be most interesting for some:
they were in following files:
src/game/Level2.cpp
src/game/Map.cpp
src/game/SpellAuras.cpp
src/game/Unit.cpp
src/mangosd/Master.cpp
but i guess mostly someone just fogot to remove this code

for some unsigned vs signed warnings i used:
ack "for.*int .*size\(\)" | ack -v uint

also note for coding:
if you do something like
    if( a && b || c)
just place parentheses around (a && b) && always will have
precedence over || but without parentheses this could be overseen
quite fast (at least that's my guess why gcc will warn for this)

Signed-off-by: balrok <der-coole-carl@gmx.net>
2009-09-05 13:47:47 +02:00
Neo2003
fa03b3663a Mobs fleeing and getting assistance feature implementaion.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Also rename ACTION_T_FLEE to ACTION_T_FLEE_FOR_ASSIST for clear use
2009-05-21 01:33:28 +04:00
AlexDereka
27fabf7ace [7745] Fixed gcc warnings. 2009-05-03 20:25:27 +04:00
VladimirMangos
e4a5a47178 [7459] Support case when movegen at own Finilize add another movegen. 2009-03-14 23:41:18 +03:00
VladimirMangos
6b381f2d0e [7247] Fixed memory and data lost at dalayed expire/clear of movement generators. 2009-02-07 23:38:31 +03:00
ApoC
fb432a0f36 [7238] Fixed typos in my prev. commit.
Signed-off-by: ApoC <apoc@nymfe.net>
2009-02-07 03:41:15 +01:00
ApoC
6e65999d86 [7237] Fixed crash when MotionMaster's Clean or ExpireMovement called from MovementGenerator update.
Implemented delayed movement generators removed in case cleanup is triggered
from movement generator update. For this purpose is in runtime allocated vector
for temporary store of all deleted movement generators. After delayed delete
this vector is deleted.

Signed-off-by: ApoC <apoc@nymfe.net>
2009-02-07 03:29:06 +01:00
arrai
c6f48843ad [7017] Updated copyright notice for new year 2009-01-03 18:09:51 +01:00
Wyk3d
ed4efc317c [6928] Corrected the handling of evade and threat for creature summoned pets. Should fix some of the setVisibility crashes. 2008-12-22 12:48:19 +03:00
VladimirMangos
004bdf1d3c Fixed some format arg type/value pairs. Other warnings. 2008-11-03 14:21:24 +03:00
TheLuda
800ee76535 Imported MaNGOS revision 6767 from http://mangos.svn.sourceforge.net/svnroot/mangos/trunk/ 2008-10-14 00:29:20 +02:00