88 Commits

Author SHA1 Message Date
false_genesis
5d418facbe * fixed problems with too early deleted DrawObjects and one crash with GetSceneState() accessing just deleted _scene. both related to reconnect after connection closed. 2008-04-09 18:11:01 +00:00
false_genesis
23cb869665 * fixed crash when disconnected from server (WorldSession got deleted while SceneWorld still accessing WorldSession members) 2008-04-08 20:58:54 +00:00
false_genesis
beb24440ea * fixed up logon GUI, works now
* show logon gui when using "gui" command and not connected
* create realmsession only after pressing Login button on gui and not before
* cleaned up some parts of code that creates RealmSessions
* added some code (but not yet used) to exchange status messages between core & gui (threadsafe)
2008-04-08 20:25:07 +00:00
false_genesis
1d00b8b6ea * updated shlainn's M2 mesh loader (crash fixes and some more)
* fixed terrain texturing & fog after irr 1.4
* fixed orientation<->rotation transformation, models now look into correct direction
* code cleanups
2008-04-03 23:11:23 +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
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
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
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
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
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
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
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
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
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
cb26f947c5 general fixes before release [part 1].
* added script handler "_onchatmessage" that gets triggered when ANY chat message is recieved.
* TODO: finish & debug "processchatai" and "registerchataiscript" scripts.
2007-08-27 20:46:27 +00:00
False.Genesis
49338c6e6a * upgrade to 2.1.3 support. thx to bLuma for patch!!
* corrected and extended SharedDefines.h
* added handlers for SMSG_MOTD and SMSG_NOTIFICATION
* added values created by stuffextract to map.scp/race.scp before it supports 2.1.3 also.
2007-08-21 16:59:34 +00:00
False.Genesis
3100f68a30 last changes before 2.1.3:
* added script to support /me-like emotes (scriptname is "me")
* changed the permission system: now a script cant be used as game command f no permission is explicitly set
* implemented threadsafe CLI queue to solve crashes with short-intervalled events that ran on 2 threads
* fixed name return at "getitemprotovalue" script
* iplemented DrawObject class and a Mgr for those objects; they will ease object drawing once implemented. the Mgr works under control of the GUI thread and is threadsafe.
* implemented auto-loading of SCP files if a name-tag is present somewhere in the file ("#dbname=...") and no explicit db name was passed to "loadscp" script.
* changed internal ObjMgr storage to std::map (instead of list) for faster access
* fixed call of "_enterworld" script
* fixed handling of MyCharacter(), which could cause crashes after newly changes
* fixed GetFileList() func in tools.cpp (this fixes also related "lgetfiles" script func). now it will only parse files, not directories. might still need some fixing for linux.
2007-08-01 19:09:17 +00:00
False.Genesis
8ff8117e53 * implemented map loading. new conf option: 'useMaps'
* found a problem with file listing, _startup.def refuses to load some .def files. trying to fix that now...
2007-06-24 17:53:54 +00:00
False.Genesis
ec812a9b0f * fixed server crash when pseuwow was teleported around
* added now required 'winmm.lib' to shared.vcproj
* fixed memory leak with multiply created objects, where already existing objects didnt get deleted.
* forgot to autodelete RealmSession on socket fail
2007-05-17 18:47:37 +00:00
False.Genesis
cd99d323e9 * forgot to add correct display for chat emotes 2007-05-14 14:08:11 +00:00
False.Genesis
c2938bf222 * implemented emotes support & display
-> requires emote.scp extracted from client
* updated: show incoming opcodes _before_ parsing them
* updated DefScript: "emote" command will now also accept emote names (defined in emote.scp, field "name=...")
* updated: replace %1$s in emote texts extracted from (non-english) dbc files with %s, this simplifies emote text displaying.
* misc stuff
2007-05-14 13:49:37 +00:00
False.Genesis
6c4ae79a87 * rewrote the realm/world login code.
-> reconnecting does work now, finally.
* updated conf setting: reconnect=0: dont reconnect; reconnect=X: reconnect after X msecs.
* misc code cleanups, crash fixes, and overall improved stability.
* splitted RealmSocket into a RealmSession and the original RealmSocket code. better read-/useabilty because now its handled as WorldSession and related.
2007-05-11 20:55:38 +00:00
False.Genesis
54a37a3ff9 * updated items & items cache to 2.0.12
* added extracting of map & area names to stuffextract
* code cleanups
2007-05-06 00:34:30 +00:00
False.Genesis
f7f9d8b6b4 * quick update for 2.0.x channels. join/chat/leave should now work again. started to add channel list request support. 2007-05-03 20:51:02 +00:00
False.Genesis
4282d4d1bf * implemented CONNECTING (only!) to 2.0.12 servers. (still gives errors)
* removed some hardcoded stuff (already present in included db)
* no opcode changes so far, this has to be done next!
2007-04-22 00:55:27 +00:00
False.Genesis
c92f1ea824 * huge changes:
* few script changes; added new func "ScriptExists".
* started an extractor tool; using StormLib (thx to Ladislaw Zezula!). for now convert some dbc files to scp. more stuff will follow.
* some changes to the realm/world connect code; still needs a rewrite.
* support conf parameters for GUI (check conf/gui.conf/gui.conf[.default] )
2007-04-10 22:42:42 +00:00
False.Genesis
96610d36c6 * use databases instead of hardcoded values for language,map,zone,race,class names 2007-03-24 12:17:02 +00:00
False.Genesis
1ea085ae7b * added SMSG_SPELL_REMOVED opcode handler & related functions.
* spell ids are uint32, not uint16!
2007-03-24 00:21:42 +00:00
Mini
739ee2eae2 * Changed SetSpells() to AddSpell(spellid, spellslot)
* Added handling of SMSG_LEARNED_SPELL opcode
2007-03-23 22:34:19 +00:00
False.Genesis
0aaf7b45d6 * implemented usage of if/loop statements in #onload blocks
* check for if/loop/endif/endloop match in scripts
* check for brackets match (same amount of opening/closing brackets) at line load. skip corrupt lines
* some code cleanups
2007-03-23 21:00:20 +00:00