Commit Graph
86 Commits
Author SHA1 Message Date
Spp b99c347747 Core: Remove Player.h dependency from all the possible headers 2012-11-17 05:18:37 +01:00
Spp 55ce180f28 Core/Logging: Add Asyncronous logging with Loggers ("What to log") and Appenders ("Where to log") system. Will allow to select to full log some parts of core while others are not even logged.
- Logging System is asyncronous to improve performance.
- Each msg and Logger has a Log Type and Log Level assigned. Each msg is assigned the Logger of same Log Type or "root" Logger is selected if there is no Logger configured for the given Log Type
- Loggers have a list of Appenders to send the msg to. The Msg in the Logger is not sent to Appenders if the msg LogLevel is lower than Logger LogLevel.
- There are three (at the moment) types of Appenders: Console, File or DB (this is WIP, not working ATM). Msg is not written to the resource if msg LogLevel is lower than Appender LogLevel.
- Appender and Console Log levels can be changed while server is active with command '.set loglevel (a/l) name level'

Explanation of use with Sample config:

Appender.Console.Type=1       (1 = Console)
Appender.Console.Level=2      (2 = Debug)

Appender.Server.Type=2        (2 = File)
Appender.Server.Level=3       (3 = Info)
Appender.Server.File=Server.log

Appender.SQL.Type=2           (2 = File)
Appender.SQL.Level=1          (1 = Trace)
Appender.SQL.File=sql.log

Appenders=Console Server      (NOTE: SQL has not been included here... that will make core ignore the config for "SQL" as it's not in this list)

Logger.root.Type=0            (0 = Default - if it's not created by config, server will create it with LogLevel = DISABLED)
Logger.root.Level=5           (5 = Error)
Logger.root.Appenders=Console

Logger.SQL.Type=26            (26 = SQL)
Logger.SQL.Level=3            (2 = Debug)
Logger.SQL.Appenders=Console Server SQL

Logger.SomeRandomName.Type=24 (24 = Guild)
Logger.SomeRandomName.Level=5 (5 = Error)
Loggers=root SQL SomeRandomName

* At loading Appender SQL will be ignored, as it's not present on "Appenders"

* sLog->outDebug(LOG_FILTER_GUILD, "Some log msg related to Guilds")
  - Msg is sent to Logger of Type LOG_FILTER_GUILD (24). Logger with name SomeRandomName is found but it's LogLevel = 5 and Msg LogLevel=2... Msg is not logged

* sLog->outError(LOG_FILTER_GUILD, "Some error log msg related to Guilds")
  - Msg is sent to Logger of Type LOG_FILTER_GUILD (24). Logger with name SomeRandomeName is found with proper LogLevel but Logger does not have any Appenders assigned to that logger... Msg is not logged

* sLog->outDebug(LOG_FILTER_SQL, "Some msg related to SQLs")
  - Msg is sent to Logger SQL (matches type), as it matches LogLevel the msg is sent to Appenders Console, Server and SQL
    - Appender Console has lower Log Level: Msg is logged to Console
    - Appender Server has higher Log Level: Msg is not logged to file
    - Appender SQL has lower Log Level: Msg is logged to file sql.log

* sLog->outDebug(LOG_FILTER_BATTLEGROUND, "Some msg related to Battelgrounds")
  - Msg is sent to Logger root (Type 0) as no Logger was found with Type LOG_FILTER_BATTLEGROUND (13). As Logger has higher LogLevel msg is not sent to any appender

* sLog->outError(LOG_FILTER_BATTLEGROUND, "Some error msg related to Battelgrounds")
  - Msg is sent to Logger root (Type 0) as no Logger was found with Type LOG_FILTER_BATTLEGROUND (13). Msg has lower LogLevel and is sent to Appender Console
    - Appender Console has lower LogLevel: Msg is logged to Console
2012-08-03 14:20:18 +02:00
Vincent-Michael 634b3645d5 Core/Misc: Use proper headers to optimize compile 2012-07-30 05:38:40 +02:00
Shauren 1851a2e9e3 Scripts: Replaced calls to ForcedDespawn with DespawnOrUnsummon (calls appropriate AI hooks in case of temporary summons) and made ForcedDespawn private 2012-04-24 16:53:37 +02:00
kaelima 4c961ff393 Core/Scripts: Remove some unnecessary creature/player casts in scripts and do some safer casting in a silithus script 2012-04-09 14:28:46 +02:00
Gyx a1c4786ba0 Core/Script: Code style and some rewriting.
MoveInLineOfSight(Unit* unit) -> MoveInLineOfSight(Unit* who)

Signed-off-by: Gyx <2359980687@qq.com>
2012-04-01 19:56:41 +08:00
Gyx d9088c083c Core/Script: Code style and some rewriting.
JustDied(Unit* Killer) -> JustDied(Unit* killer)
JustDied(Unit* /*Killer*/) -> JustDied(Unit* /*killer*/)
JustDied(Unit* /*unit*/) -> JustDied(Unit* /*killer*/)
JustDied(Unit* /*slayer*/)) -> JustDied(Unit* /*killer*/)
JustDied(Unit* /*victim*/) -> JustDied(Unit* /*killer*/)
JustDied(Unit* victim) -> JustDied(Unit* killer)
JustDied(Unit* /*who*/) -> JustDied(Unit* /*killer*/)
JustDied(Unit* who) -> JustDied(Unit* killer)
JustDied(Unit*) -> JustDied(Unit* /*killer*/)

Signed-off-by: Gyx <2359980687@qq.com>
2012-03-31 18:56:37 +08:00
Gyx 391d68be20 Core/Script: Code style.
WaypointReached(uint32 i) -> WaypointReached(uint32 waypointId)
WaypointReached(uint32 uiPointId) -> WaypointReached(uint32 waypointId)
WaypointReached(uint32 /*point*/) -> WaypointReached(uint32 /*waypointId*/)
WaypointReached(uint32 uiI) -> WaypointReached(uint32 waypointId)
WaypointReached(uint32 /*i*/) -> WaypointReached(uint32 waypointId)
WaypointReached(uint32 uiWPointId) -> WaypointReached(uint32 waypointId)
WaypointReached(uint32 /*wp*/) -> WaypointReached(uint32 waypointId)
WaypointReached(uint32 /*point*/) -> WaypointReached(uint32 waypointId)

Signed-off-by: Gyx <2359980687@qq.com>
2012-03-29 15:44:24 +08:00
Gyx a20fa23ea6 Core/Script: Code style and remove unused core.
Signed-off-by: Gyx <2359980687@qq.com>
2012-03-28 15:15:48 +08:00
Gyx e050945c91 Core/Script: Code style and remove unused core.
Signed-off-by: Gyx <2359980687@qq.com>
2012-03-28 11:13:37 +08:00
Gyx 5cb16b65fc Core/Script: Code style and remove unused core.
Signed-off-by: Gyx <2359980687@qq.com>
2012-03-17 17:54:48 +08:00
Gyx 7877eae6ba Core/Script: Code style and remove unused core.
Signed-off-by: Gyx <2359980687@qq.com>
2012-03-17 12:17:15 +08:00
Gyx bef1b0c402 Core/Script: Code style.
Signed-off-by: Gyx <2359980687@qq.com>
2012-03-16 19:40:57 +08:00
Gyx 76c18e00c7 Core/Script: Clean-Up in Scripts.
GameObject* pGO -> GameObject* go

Signed-off-by: Gyx <2359980687@qq.com>
2012-03-16 19:28:10 +08:00
Gyx fcbb222aca Core/Script: Clean-Up in Scripts.
Creature* c -> Creature* creature
Creature* _Creature -> Creature* creature
Creature* Creature -> Creature* creature

Signed-off-by: Gyx <2359980687@qq.com>
2012-03-16 19:21:47 +08:00
Gyx e8f414e143 Core/Script: Clean-Up in Scripts.
Creature* c -> Creature* creature

Signed-off-by: Gyx <2359980687@qq.com>
2012-03-14 09:20:36 +08:00
Machiavelli 03a24a84e4 Core/Units:
- Implement UNIT_FIELD_HOVERHEIGHT (requires DB data). This field, sent in update object packet, will determine the height at which a creature hovers if it has movementflag_hover applied. Note that hovering will now update the server-sided z-coordinate by the value of this field, and that all subsequent positional updates to the client will need to send z coordinate MINUS the hover height offset, or the hoverheight will be visually doubled client side.
- Correct our usage of movementflag_flying, movementflag_can_fly, movementflag_hover and movementflag_disable_gravity (previously levitate), and how they relate to InhabitType in the database. This fixes "flying creatures on steroids" bug (wings flapping too fast), and potentially a lot of visual issues in AI scripts. Note that a lot of scripts still set wrong movementflags, these need to be fixed on a case by case basis.
- Send correct packets for SPELL_AURA_FEATHER_FALL, SPELL_AURA_WATER_WALK and SPELL_AURA_HOVER apply/unapply.
- Send correct packet contents for movement update in Unit::SetSpeed.
- Misc. cleanup in affected scripts.
2012-03-12 00:53:45 +01:00
Spp f495e0efe4 Warning fixes and some random cleanup here and there 2012-03-07 14:09:18 +01:00
Spp d38bc3a178 Core: Rename GetCreatureInfo to GetCreatureTemplate and minor cleanup here and there 2012-02-27 14:58:47 +01:00
Venugh 1cac01b3df Core/Movement: Use SetWalk(true/false) instead of AddUnit/RemoveUnit. 2012-02-23 11:50:58 +01:00
Matthew Goff 7a117dd429 Core/Misc:
- Replace emote magic number by enum
- Added all missing defines from AnimationData.dbc. Minor corrections to existing ones. Standardized some naming and updated cpp files as needed.
- Correct a spell used in AQ
Closes #3787
Closes #5095
2012-02-06 01:22:45 +00:00
QAston c7ea952a47 Core/Entities: Rename UNIT_FLAG_OOC_NOT_ATTACKABLE and UNIT_FLAG_PASSIVE to UNIT_FLAG_IMMUNE_TO_PC and UNIT_FLAG_IMMUNE_TO_NPC respectively. New names tell much more about what those flags do. 2012-02-03 18:46:05 +01:00
Machiavelli dbbac0bdaa Core/Movement: 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:

* Added linear, catmullrom and bezier3 splines which based on client's algorthims. They can be reused for proper transport position interpolation.
* Precission increased. There are no more position desync issues since client's position calculation formulas used.
* Now possible to move by paths with multiple points, send whole path to client.

--
Original author of research and implementation: SilverIce. Massive kudos.
Original port for Trinity (ref #4629) Chaplain and Venugh
With the following incremental fixes during my review:

- Restore flightmaster end grid pre-loading
- Fix uninitialized Creature::m_path_id
- Add missing trinity_string entries for .movegens command
- Fix a bug in WaypointMovementGenerator that would trigger unexpected pausing at waypoints for various amounts of time

Known issues:
- Errors like WaypointMovementGenerator::LoadPath creature XXX (Entry: YYYYY GUID: ZZZZZZ) doesn't have waypoint path id: 0.
This is caused by bad DB data. This commit didn't "break" it.

Do not forget to re-run CMake before compiling.
2012-01-14 15:36:07 +01:00
kiper 8299627ed9 Update headers for 2012. HAPPY NEW YEAR!!! 2012-01-01 00:32:13 +01:00
Spp 4fb634f9a5 Fix missing changes from previous merge 2011-12-28 09:16:06 +01:00
Aokromes 559dfe5139 rand() to urand #5 2011-12-28 04:35:51 +01:00
Aokromes 0e18d49f15 rand() to urand #4 2011-12-28 04:33:18 +01:00
Machiavelli 6c03bf9535 Core/Misc: Some random meaningless Engrish to English conversion in a method name because Discovered is too lazy to do it himself. 2011-12-19 22:06:29 +01:00
Shauren 358b33239a Core: Fixed remaining C6246: Local declaration of 'x' hides declaration of the same name in outer scope. from previous commit 2011-11-23 19:17:33 +01:00
Fredi Machado 97142102e0 Core/Misc: Added 'f' after float values 2011-10-17 07:38:27 -03:00
megamage d156e066cf Rename "SetPosition" to "UpdatePosition".
Replace CreatureRelocation in scripts with new Creature::SetPosition.
2011-10-10 17:08:01 -04:00
Bootz 5b4c7783c2 REPO: Code-style clean-ups
* Fixed pMap->map
* Fixed pInstance->instance
* Fixed pInsta->instance
* Fixed pQuest->quest
* Fixed pWho->who
* Fixed pTarget->target
* Fixed pGo->go

~DEVNOTES: Handlers/QuestHandler.cpp still needs to be cleaned...
2011-10-07 19:45:43 -05:00
Bootz f1ccb83dc0 REPO: Code-style change
* Fixed pUnit-unit
2011-10-07 10:48:56 -05:00
Spp b16d2245bb Cosmetic: Multiple cosmetic changes
- Added missing space to 'if', 'for', 'while' and 'switch' when it's followed by '('
- Added missing space after a comma and remove space before comma (with some exceptions)
- Remove trailing spaces
- Convert tab to spaces

Note: Only affects files with extension "cpp" and "h" under /src/server
2011-09-29 12:43:05 +02:00
QAston fe25ce4fa3 Core/AI: Replace many Unit::IsHostileTo with Unit::IsValidAttackTarget or Creature::canCreatureAttack. 2011-09-17 00:56:59 +02:00
Spp af05915b9e [Cosmetic] Apply codestyle "XXX * " and "XXX *" changed to "XXX* " (with some exceptions) 2011-09-15 14:12:57 +02:00
Spp- aa85553bfd Core: Crash fix (TemporarySummon), remove some warnings and some other minor changes
- "const uint64" and "uint64 const" --> uint64
 - Add some info in LFGDungeonEntry
 - Move some definitions from ".h" files and move to ".cpp"
2011-08-30 13:46:36 +02:00
Spp- acd0fc79f6 Core: Pass by const reference for simple objects replaced with pass by value 2011-08-01 14:23:27 +02:00
QAston b0fe236265 Core: Use new SpellInfo class in core. Sadly, this commit is not compatibile with some of the custom code. To make your code work again you may need to change:
*SpellEntry is now SpellInfo
*GetSpellProto is now GetSpellInfo
*SpellEntry::Effect*[effIndex] is now avalible under SpellInfo.Effects[effIndex].*
*sSpellStore.LookupEntry is no longer valid, use sSpellMgr->GetSpellInfo()
*SpellFunctions from SpellMgr.h like DoSpellStuff(spellId) are now: spellInfo->DoStuff()
*SpellMgr::CalculateEffectValue and similar functions are now avalible in SpellEffectInfo class.
*GET_SPELL macro is removed, code which used it is moved to SpellMgr::LoadDbcDataCorrections
*code which affected dbc data in SpellMgr::LoadSpellCustomAttr is now moved to LoadDbcDataCorrections
2011-07-26 23:09:28 +02:00
Shauren 1e3c23a4e8 Core/Spells: Set UNIT_FIELD_TARGET to current spell cast target for proper facing the target 2011-07-15 12:33:03 +02:00
click 1aff85f541 Core: Cleaning up hungarian notation - Phase8: pSummon -> summon (also did related hits) 2011-07-03 00:28:03 +02:00
click f676585cac Core: Cleaning up hungarian notation - Phase5: pWho -> who 2011-07-02 23:53:38 +02:00
click 70115f52f7 Core: Cleaning up hungarian notation - Phase3: pTarget -> target 2011-07-02 23:16:45 +02:00
click 169f5da8c3 Core: Cleaning up hungarian notation - Phase2: pPlayer -> player 2011-07-02 22:52:42 +02:00
click f91ee24184 Core: Start cleaning up hungarian notation - Phase1: pCreature -> creature 2011-07-02 22:18:03 +02:00
click a9c9ab0efa Core: Clean up script variables to make variables consistant/standardized, and some additional warning-removals:
+ Fix compilewarning in Unit.cpp
+ Remove/comment out unused parameters for some commandscripts/scripts (warnings)
+ Replace "plr" with "player" all over the scriptbase for consistency
2011-07-01 03:00:39 +02:00
Spp- 6fd41ae50e Scripts: Reorder file names in Commands/CMakeList file and cosmetic changes in all scripts 2011-06-30 14:24:56 +02:00
click f16df538ee Core: More codestyle cleanups 2011-06-12 01:47:45 +02:00
click 158966dc79 Core: Codestyle cleanup 2011-06-11 22:35:29 +02:00
Az@zel 72b73d2cb9 Scripts/Scarlet Enclave: fix stolen effect for DK quest, which allowed to hang server by spawning unlimited number of mobs 2011-06-08 11:59:45 +06:00