138 Commits

Author SHA1 Message Date
false_genesis
57fed6d6cc * disabled thread locking in DrawObjMgr (Object pointer corruption problem solved in [263])
* fixed setting MapMgr to loading state to fix problems with GUI thread trying to access not yet loaded maps
2008-04-02 18:40:39 +00:00
false_genesis
6d5b8de2d5 * corrected terrain placement
* corrected object placement
* corrected grid formulas
* update MyCharacter position when beeing teleported
* tested in dun morogh, stormwind, thrallmar and arathi basin, object placement on the map is just fine now ;)
* cleanups not yet done, old unused funcs are still there
2008-04-02 15:30:35 +00:00
false_genesis
cc5cf995fd * fixed crash when ObjMgr was adding an object with a guid already existing (instead of the old object the new one was deleted)
* correctly (hopefully) reversed xbase & ybase in MapChunk loading
2008-04-01 01:57:31 +00:00
false_genesis
d7ea5fe553 * changed the way how objects are stored. they are now no longer deleted directly, but moved into a *depleted* state. this prevents crashes with already deleted objects accessed by other threads 2008-03-30 23:02:21 +00:00
false_genesis
e0a0b7d82d * fixed creature name assign at incoming query response 2008-03-30 21:43:55 +00:00
false_genesis
b4a5cebc77 fixed typo in prev. commit 2008-03-28 18:57:32 +00:00
false_genesis
cb74a228dc * more fixes to make gcc happy. thx shlainn! 2008-03-28 18:19:54 +00:00
false_genesis
f57fd3aef3 * forgot something 2008-03-28 14:09:31 +00:00
false_genesis
de92dd9fc4 * fixed line-end problems in different platforms
* one more toNumber() -> toUint64() fix
* fixed logging from DefScript not only to console, but also to logfile (errors and such) - coloring included
* fixed: display correct image of currently used video driver on startup ;)
- thx shlainn for 1 & 4
2008-03-28 14:03:46 +00:00
false_genesis
fce0efcfc2 * updated+fixed object update. (still not working on ascent)
* added conf option "DumpPackets" to dump wrong packets for later analysis
2008-03-27 23:53:17 +00:00
false_genesis
44739d3952 * setting eol style to native 2008-03-24 16:43:51 +00:00
false_genesis
a8ad601dca * more fixes for gcc. thx shlainn! 2008-03-24 15:18:26 +00:00
false_genesis
12045179e4 * more fixes to make gcc happy
* replaced DefScriptTools::toString() with more generic template functions
2008-03-24 13:29:10 +00:00
false_genesis
f7598b6a31 * one more fix for gcc, replaced DelayedPacketQueue:queue with deque 2008-03-23 16:48:42 +00:00
false_genesis
46a855278e * first steps for gcc/mingw support, thx shlainn
* output & log platform+compiler+version on startup
* added early version of a movement mgr, its is not used yet and does NOT work yet!
2008-03-23 14:55:44 +00:00
false_genesis
513064638d * fixed MAJOR security problem with in-game commands ("-cmd") (scripts that had no #permission=... assigned could be executed by everyone)
* fixed possible endless loop in ObjMgr::RemoveAll() if already deleted objects were incorrectly removed (real problem source is somewhere else!)
* fixed MyCharacter::HasSpell() - returned false in almost all cases
* bump to version 13.51
2008-03-10 17:27:25 +00:00
false_genesis
4633ed64be * fixed object highguids. they are now correct MaNGOS highguids, not sure about other server software. should work anyway.
* output some warnings only in debug>=1 mode
* made spellcasting with no target possible
* fixed exception when the server sent an object_update packet for an object that just got deleted; the rest of this packet got skipped then. this is now fixed; PseuWoW guesses the original object type and can now handle these packets almost 100%.
* fixed possible crash when handling emotes. thx Sesk for pointing out the problem.
2008-02-28 21:51:15 +00:00
false_genesis
a9893d2957 * fixed teleport bug, now the server is correctly notified that we reached the destination. ok, we are still floating in the air, but this is fine since there is no gravity yet.
* fixed Player & Unit _type mask setting
* added exception handler for loading ADT files, just to be on the safe side if anything is going wrong there
2008-02-22 23:01:56 +00:00
false_genesis
4405563a6b * fixed possible crash in defscript when an if block was appened to a script during runtime and this if was not endif'd
* more toNumber() -> toUint64() changes for number consistency
* fixed MyCharacter naming on char char list recv
* added script to list own/near player's inventory, for debugging. copy it into main scripts dir if you want to use it.
* inlined 2 funcs in DefScript
* changed args of script event "_onobjectdelete". @0 is now typeid, @1 out of range.
2008-02-21 20:24:38 +00:00
false_genesis
4dce611346 * fixed wrong reading of cached item protos
* fixed+cleanup GetName and GetEntry script funcs
2008-02-20 22:48:16 +00:00
false_genesis
d295e30b3f * added possibility to disable handling of incoming opcodes by the core (they will still be handled if a script is assigned!)
* script command: switchopcodehandler,<opcode> true(on)/false(off)
* added script events _onworldsessioncreate/delete
* added new conf option: HideDisabledOpcodes=1/0
* added possibility to spoof worldpackets
2008-02-19 20:01:50 +00:00
false_genesis
4c96c5039d * fixed MSG_MOVE_HEARTBEAT packet handling
* correctly update WorldObject positions, but SMSG_MONSTER_MOVE not yet handled (not necessary atm)
2008-02-18 23:14:31 +00:00
false_genesis
45edde53c9 * added distance calculation to WorldObject
* added script func "GetObjectDist,guid1[,2d/3d] guid2"
* removed _onwhisper script call and @thiswhisper macros. it can be done better via the ChatAI scripting interface.
2008-02-18 22:57:00 +00:00
false_genesis
10f0d5962d * changed GetName script to support types: guid,player,item,unit with guid/entry depeding on type
* restructured event scripts, some organisation
2008-02-18 22:15:28 +00:00
false_genesis
281962dad0 * hopefully fixed possible crash when a script called by an event added or deleted events
* improved TypeStorage a bit (speedup?)
2008-02-14 17:19:49 +00:00
false_genesis
b73017bccb * one more little speedup in objmgr 2008-02-11 18:49:42 +00:00
false_genesis
529bf4742d * re-throwing a ByteBufferException is not a good idea... 2008-02-11 18:04:40 +00:00
false_genesis
758d471122 * forgot in last changelog: fixed/better output in CastResult and CastSuccess opcodes. original patch by bLuma, thx.
* forgot some args
2008-02-11 17:48:24 +00:00
false_genesis
fe86400f60 * added creature query & cache
* fixed crash when transforming irr to world coord, when maptile was not loaded
* fixed possible bugs wtih corpse object type
* removed name2-4 fields from item protos, they are useless
* added IsPlayer(), IsCreature(), etc functions to Object class. TypeID check sucks.
* changed item proto storage in ObjMgr to std::map instead of vector for faster lookup.
* added exception handling to ByteBuffer class to prevent possible crashes on invalid read access. this also fixes possible startup crashes with corrupted item/creature cache files.
* CHAT_MSG_MONSTER_SAY should work now (monster yell handled differently by MaNGOS?!)
* forgot last rev: no more stair effect on terrain. thx bLuma for patch!
2008-02-11 17:43:39 +00:00
false_genesis
38cbcb026c * fixed: fixed bug that prevented item querying
* fixed irrlicht<->world orientation calculation
* added estimated formula to convert irrlicht camera to world coords. thx for all goes to bLuma!
2008-02-09 21:13:44 +00:00
false_genesis
ef35b7bd09 * added: also send own latency in ping packet 2008-02-04 20:02:04 +00:00
false_genesis
19cb07cfef * fixed bbread DefScript func in strnz mode
* optimized player name querying when recieving channel list (now all at once, not one by one)
* cleanup: replaced valid player name lengths by #defines instead of hardcoded numbers
2008-01-30 22:22:41 +00:00
false_genesis
8460ff2c40 * added new conf option: SkipAddonChat=1 to drop any chat messages sent by player's addons 2008-01-24 21:33:08 +00:00
false_genesis
1d12dbed90 * fixed: possible assertion failure caused by not updated map pos. thx bLuma! 2008-01-22 18:31:09 +00:00
false_genesis
f879006477 * some map loading formula (x/y) corrections
* first preparations to correctly position gui camera on real location, not just somewhere. formulas are still crap, need some help here.
* fixed bug with IsFloatField(), thx bLuma!
* misc code cleanups
2008-01-14 17:46:33 +00:00
false_genesis
5019a95392 * correctly differ between object float/uint32 values
* hexdump invalid UPDATE_OBJECT packets
* little cleanup
2008-01-05 22:02:31 +00:00
false_genesis
442670af16 * delay more packets with missing names
* fixed problem with player name request looping
* cleaned up channels in _enterworld.def
* added MemoryDataHolder namespace, but not using it for now. will come handy in future (multi-instancing). UNTESTED yet!
2008-01-05 17:58:43 +00:00
false_genesis
02df5d5261 * Update to 2.3.0 client version, big thx to bLuma for patch!
* fixed minor bug with uninitialized scenestate in gui
* added some debug output to the WorldSession connection process, thx to visagalis for reporting a problem with it. real problem source yet unknown.
*** please report any bugs!
2007-12-23 16:36:59 +00:00
False.Genesis
79eec7c55e * fixed: forgot to send packet in WS::SendWhoListRequest()
* added support for delayed packets. this fixes problems with e.g. unknown player names while handling a chat message. now the correct player name will always be displayed, even if not known before (e.g. whisper from other map, etc.)
* fixed "gui" script cmd
* added sendwho[,min,max,race,class,name,guild] script cmd
2007-12-09 21:46:52 +00:00
False.Genesis
fb1e696551 * fixed swapped x/y values (now really loading correct map tiles)
* commented out GetZ() for now
2007-12-04 21:35:30 +00:00
False.Genesis
fc3632a889 * added more "familiar" camera control ;)
* added skydome and some test fog
* added some debug output in the window
* code cleanups
2007-12-03 21:43:59 +00:00
False.Genesis
cf9fcb3d20 * better error handling with missing/ not loaded MapTiles
* added some more hookable script events (_onobjectcreate, _onobjectdelete, _onteleport)
2007-11-28 18:09:53 +00:00
False.Genesis
9ec4fb2f8e * correct the heightmap formula (hopefully) - thx bLuma!
* use also surrounding MapTiles (now is a 3x3 map size instead of 1x1). is the formula for loading those correct?
2007-11-25 21:40:25 +00:00
False.Genesis
bdbc8cc721 * added basic terrain rendering code [STILL INCORRECT!]
* added url to show at startup
* added error message if out of memory
2007-11-25 02:23:38 +00:00
False.Genesis
de4821f80a * hopefully fixed crash on empty playername cache loading (thx tASE for report)
* added some more checks for irrlicht device creation
* renamed area.scp to zone.scp + deleted wrong old zone.scp. did required code changes.
* added opcode handling for CMSG_WHO and SMSG_WHO (adds who-list functionality) (defscript binding will follow)
* updated url =)
2007-11-21 18:26:03 +00:00
False.Genesis
74bb1a8a42 * added possibility to hook scripts to incoming opcodes
* fixed a few bugs with script hooks (scripts must be uppercased!!)
* added script funcs: GetOpcodeName, GetOpcodeID
* fixed possible crash at const char *GetOpcodeName()
* added script SendWhoForPlayer until CMSG_WHO correctly implemented into core
2007-11-13 20:44:55 +00:00
False.Genesis
6cf1b2cf96 * fixed channels for 2.2.3 2007-11-03 13:36:52 +00:00
False.Genesis
e0696bd244 * fixed more memleaks. thx bLuma! 2007-10-28 17:32:45 +00:00
False.Genesis
6857827169 * added script funcs: getobjectvalue, getclass, getrace as requested by thetourist. getobjectvalue syntax:
"getobjectvalue,index[,type]" works exactly like Object::GetUInt32Value(). default type treatment is uint32, set type to "f" to return floatvalue, or "i64", to return uint64value.
2007-10-25 15:12:05 +00:00
False.Genesis
b7a4ae92c5 * added long time forgotten script func "leavechannel"
* added script func "listchannel" (get all guids on players in a channel, query their names and store them in list macro @ChannelList.
* fixed /me-like emotes (server will no longer treat them as crash attempt :D )
* stuffextract: added output of database names into SCP files.
2007-10-21 00:28:15 +00:00