Commit Graph
47 Commits
Author SHA1 Message Date
Spp b5c9ab8802 Core/Misc: Reduction of header dependencies - Step II 2012-11-20 12:30:30 +01:00
Spp b99c347747 Core: Remove Player.h dependency from all the possible headers 2012-11-17 05:18:37 +01:00
Spp 013fb1f4d9 Core/Misc: reduced amount of string memory allocations (Step I) 2012-10-24 15:34:48 +02: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
Shocker 15a3ad7276 Core/Misc: Fix gcc compile 2012-03-04 20:12:55 +02:00
Shocker ab65bb4b57 Core/Misc: Make ObjectAccessor::FindPlayerByName case-insensitive 2012-03-04 19:24:38 +02:00
kaelima eb1a2a3672 Core/Object:
- Corrected the flag and use of UPDATEFLAG_LOWGUID.
- Send proper positions for objects on transports.
- Rename UPDATEFLAG_HAS_POSITION -> UPDATEFLAG_STATIONARY_POSITION
- Added some comments
2012-02-29 12:43:59 +01:00
kiper 8299627ed9 Update headers for 2012. HAPPY NEW YEAR!!! 2012-01-01 00:32:13 +01:00
megamage 6a648c01a4 Some clean up of grid system. 2011-12-07 13:02:44 -05:00
kaelima a919265623 Core/DB: Fix character creation in Player::SaveToDB.
And some misc comments/whitespaces
2011-11-26 01:53:44 +01:00
megamage 10b89d976f A temp fix for crash caused by remove corpse. 2011-11-14 21:01:53 -05:00
megamage 0bb964285f Fix a crash caused by removecorpse 2011-11-12 23:04:51 -05:00
megamage 360c9dd635 Add detailed crash info when aura owner is not in the same map as target in Aura::UpdateTargetMap. 2011-11-11 11:29:59 -05:00
megamage 583f6575e1 Do not add a corpse to grid twice. Should fix #3918. 2011-11-11 08:50:16 -05:00
megamage 809694408a Change ObjectAccessor::i_corpseLock to ACE_RW_Thread_Mutex.
Remove unecessary guard in ObjectAccessor::Update.
2011-11-02 09:39:37 -04:00
megamage e3fa04823d Use TRINITY_GUARD to replace ACE_GUARD. ASSERT(false) if failed to acquire the lock. 2011-10-31 17:25:12 -04:00
megamage c9c5c2a355 Use read/write thread mx guard instead of general guard for HashMapHolder. 2011-10-21 17:29:09 -04:00
megamage c29ff41001 Rename some classes in grid system.
Note: The naming of classes is still confusing. "cell" usually refers to class "Grid", and "grid" usually refers to class "NGrid". But it requires a lot of changes to clean this up.
2011-10-18 10:53:34 -04:00
megamage 3ba22d0d06 Rename Map::Add to Map::AddToMap, Map::Remove to Map::RemoveFromMap for better management. 2011-10-10 17:39:34 -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
Machiavelli e9e50c4937 Core/Players: Fix corpse remove visual for clients 2011-07-13 14:40:46 +02:00
Spp- 1e95341827 Cosmetic: Remove trailing whitespaces 2011-06-30 11:30:36 +02:00
Machiavelli 609efde598 Core/Corpses: Fix a crash in ConvertCorpseForPlayer 2011-06-29 16:08:23 +02:00
Machiavelli cbdb8d9cdc Core/Players: restore fuNcti0N4lity of player bones, that was reMov3d for no apparant reaSon and Underlined with the Comment "// we don't want bones to save some cpu.. :)". this fixes insignia looting after honorable KillS. also fixes a crash with the previous code. 2011-06-29 04:54:10 +02:00
leak 1003f30448 Add spaces after commas 2011-04-29 20:47:02 +02:00
Machiavelli 52cd2cbd7e Core/Maps: Unload transports in MapManager::UnloadAll instead of singleton destructor.
Core/Transports: Properly delink units from transports on transport desutruction. - Thanks to Shauren for help.
Core/ObjectAccessor: Unload corpse 'storage' in added UnloadAll method called in WorldRunnable postservice hook.
Core/Master: Change some postservice queries to syncrhonous (direct) execution to ensure execution on shutdown
Core/Master: Remove redundant calls to ACE::init and ACE::fini

These changes were made to fix crash/freeze issues on shutdown.
2011-01-16 00:08:52 +01:00
Machiavelli 957c69de83 Update copyright note for 2011.
Happy new year.
2011-01-01 15:01:13 +01:00
Shauren 928443d899 Core: Removed more operator workarounds for ACE_Singleton (missed previously because of inconsistent naming)
--HG--
branch : trunk
2010-12-23 23:25:44 +01:00
Shauren 0f3b9019a8 Core: Get rid of dirty operator workaround for ACE_Singleton class implementation
--HG--
branch : trunk
2010-12-22 21:25:23 +01:00
click f0c4241ea4 Remove the accidental additions of CRLF-crap from the header updates
--HG--
branch : trunk
2010-10-07 15:35:36 +02:00
click 8ea4b32fab Update copyright headers (following the same standard in all files = good)
--HG--
branch : trunk
2010-10-07 12:41:56 +02:00
Spp e252b8abe7 Core: Fix more warnings
--HG--
branch : trunk
2010-08-30 23:07:14 +02:00
silinoron 8649bee17f Replace World::getConfig with World::getFloatConfig, World::getIntConfig, and World::getBoolConfig.
Also fix a warning from a previous commit.

--HG--
branch : trunk
2010-08-23 19:56:47 -07:00
Machiavelli 32780c2280 typo
--HG--
branch : trunk
2010-08-23 19:25:50 +02:00
Machiavelli 3561270c64 Fix query in ObjectAccessor::ConvertCorpseForPlayer
Thanks to tru.bazoozoo and daibo411

--HG--
branch : trunk
2010-08-23 19:03:53 +02:00
click 670964803f Core: Fix more warnings, add new function sLog.outStaticDebug() that replaces DEBUG_LOG
--HG--
branch : trunk
2010-08-22 01:57:04 +02:00
Machiavelli 994186f267 DB Layer:
- Make SQL Transactions actual objects used in code. (Thanks to Derex for the idea)
* Uncommitted transactions will be automatically rolled back and cleaned up using ACE_Refcounted_Auto_Ptr, so no need to call Rollback() in the code.
* Prevents recursive transactions and makes developers aware of transactions going on.
* Gets rid of unneccesary overhead iterating over a concurrent map.
- Some cleanups in affected code, including better usage of transaction control in AH / mail related code to prevent data loss.

*** Experimental, use at own risk, recommended to backup your DBs. ***

--HG--
branch : trunk
2010-08-21 03:19:25 +02:00
QAston 617a56ba29 *Implement spell casting on transports (no more out of range error, etc)
*Add MO transports to ObjectAccessor storage
*Add functions Position::RelocateOffset and Position::GetPositionOffsetTo to help offset manipulations - BIG thanks to azazelkon for creating formulas!
*Add function to output debug info for MovementInfo and SpellCastTargets
*Throw ByteBufferException on incorrect packGUID read
*Add rfinish function to finish bytebuffer read.

--HG--
branch : trunk
2010-08-08 20:32:14 +02:00
XTZGZoReX 9083271a2f * Some singleton renames for consistency:
accmgr -> AccountMgr
objmgr -> ObjectMgr
auctionmgr -> sAuctionMgr
spellmgr -> sSpellMgr
CreatureEAI_Mgr -> sEventAIMgr
achievementmgr -> sAchievementMgr
gameeventmgr -> sGameEventMgr
sInstanceSaveManager -> sInstanceSaveMgr
poolhandler -> sPoolMgr

--HG--
branch : trunk
2010-08-08 05:25:45 +02:00
XTZGZoReX 909e332579 * Rename: BattleGround -> Battleground.
--HG--
branch : trunk
2010-08-08 04:37:24 +02:00
azazel f9a51dc214 * Corpse related cleanup (author: Hunuza)
* Avoid saving of the corpse in arenas (author: VladimirMangos)

--HG--
branch : trunk
2010-08-06 00:15:29 +06:00
QAston 48b360097c *use ASSERT macro instead of regular assert for better output.
--HG--
branch : trunk
2010-07-30 20:04:28 +02:00
QAston c44b601ac7 *Allow some spell effects to target units not in caster's map - fixes SPELL_EFFECT_SUMMON_PLAYER
--HG--
branch : trunk
2010-07-29 19:48:40 +02:00
QAston e232c0e235 *Cleanup in ObjectAccessor - this should fix some crashes
--HG--
branch : trunk
2010-07-28 00:08:21 +02:00
Machiavelli 0f7657b68c Get rid of Trinity Singleton and Threading patterns and replace them with ACE_Singletons and ACE_GUARD_x macro´s with ACE_Thread_Mutex´es respectively.
Also get rid of unused CountedReference class that used Trinity threading pattern.

--HG--
branch : trunk
2010-06-25 00:18:01 +02:00
Brian dee7fd1382 * Remove more not needed relative paths in include files
--HG--
branch : trunk
2010-06-08 16:13:55 -06:00
XTZGZoReX 62200e8d02 * Even more restructuring of the game library.
--HG--
branch : trunk
2010-06-06 22:55:56 +02:00