66 Commits

Author SHA1 Message Date
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
False.Genesis
7de82dd3a9 * fixed if..else..endif
* small .def update
* misc, minor changes to some functions
* added a few more DefScript functions (and, or, xor, GetObjectType, ObjectKnown)
2007-03-16 16:14:13 +00:00
False.Genesis
d9a56b2a00 * more updates around DefScript stuff
* added some databases to make a start
* misc stuff
* added macro "@myrace"
2007-03-12 20:39:36 +00:00
False.Genesis
36aa23dadb * added some hexdumps on invalid realm packets.
* disabled name query of players on incoming move opcodes.
* more debug output in general, 1st part
2007-03-10 16:59:55 +00:00
False.Genesis
d044ef7138 * fixed WorldSocket. this fixed crypt errors hopefully.
* fixed problem with not sent packets that appeared [85]
* fixed infinite spam-loop when whispering to self with enabled autoreply
* fixed a bug (asking for playername although object is an item)
2007-03-07 17:09:39 +00:00
Necroalbert
10e6b70c4d fixed some crashes (with vc80) 2007-03-05 20:30:53 +00:00
False.Genesis
242e9cafcd * corrected MyCharacter & related
* implemented basic spellcasting, more to come.
* new conf option: "disablespellcheck"
* reactivated DefScript command "castspell"
* added selfheal.def for GMs
* misc stuff
2007-03-05 15:05:22 +00:00
Mini
17e6692007 Started with MyCharacter class, added handling of spells opcode, more to come. 2007-03-04 12:33:16 +00:00
False.Genesis
bc74818daa * added: auto-query player name on UPDATETYPE_CREATE_OBJECT
* added Object::_name to store object names faster & easier accessable. only players & items are added yet.
* added a small check for headers < 4 bytes (this can MAYBE fix some problems/errors with crypt)
2007-02-28 21:17:01 +00:00
False.Genesis
0d5e55fc67 * added 2 .def files: "sayguild" & "sayparty"
* removed debug output for object update
* auto-query unknown items worn by players
2007-02-27 21:03:58 +00:00
False.Genesis
386efe1378 * included SDL src as dep, but disabled build for now (now you do no longer need to install the precompiled SDL libs)
* some corrections to project files
* object classes improvements
* worked a bit on UPDATE_OBJECT stuff
* minor stuff i dont remember
* plz test VC2005 compatibility
2007-02-19 02:12:37 +00:00
False.Genesis
2d90dc3cfe * added some error handling
* chat msg formatting updates
* misc stuff
2007-02-14 16:01:32 +00:00
Mini
f4148cefc1 - Added support for non-compressed update opcodes
- Changed UPDATETYPE_VALUES so the update values gets changed in the object.
- Updated misc other stuff to the UPDATETYPE_VALUES code
2007-02-12 23:27:26 +00:00
False.Genesis
4c86eab673 * added opcode handler for initial spells
* corrected opcode output together with hidefreqopcodes conf option (plz test!)
2007-02-08 23:55:53 +00:00
Mini
4aa6911563 - Added new config option: hidefreqopcodes which hides annoying opcodes which gets sent all the time
- Additionaly i added some more stuff for handling the update packet
2007-02-07 21:03:49 +00:00
False.Genesis
710de3d5e1 * added opcode handler for SMSG_DESTROY_OBJECT
* added new conf option: ShowMyOpcodes=0/1 (show opcodes pseuwow sends)
* made the logo look better :)
2007-02-05 13:26:28 +00:00
False.Genesis
931435b751 * Added reading items from chat messages and querying them if they are unknown 2007-02-04 01:12:16 +00:00
False.Genesis
d6b6960c29 * Added support for item prototypes
* new DefScript command: "queryitem #id"
* added cache for known item prototypes
* fixed a little typo in script: reply.def
* error logs go to stderr now
* misc stuff
2007-02-03 23:24:02 +00:00
False.Genesis
f7415df6e3 * object classes update
* first touch with update packets!
* added some code coloring
2007-02-02 23:08:28 +00:00
Mini
826019f889 Added a Player and PlayerSettings class.
Added castspell to defscript.
2007-01-29 20:47:35 +00:00
False.Genesis
0af1b2359d removed sqlite & related code 2007-01-29 17:52:13 +00:00
False.Genesis
b15aff0b5d *New DefScript API functions: loadconf, applyconf, applypermissions; log, logdebug, logdetail (according to debug level set in conf).
-> moved conf loading from core to scripts.
*New DefScript call: _leaveworld.def
*Fixed crash when calling _leaveworld on ~WorldSession()
* some updates to internal variable name handling
* added new macro: @n : newline (\n)
* cleanups
* added a bunch of new scripts + examples
2007-01-29 15:09:11 +00:00
False.Genesis
9d0dd30a0c * fixed channels & linked them with DefScript
* functions: joinchannel, leavechannel
* added script: chan.def (say on channels)
* fixed DefScript loaddef & reloaddef
* misc stuff
2007-01-21 22:02:16 +00:00