121 Commits

Author SHA1 Message Date
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
False.Genesis
8d261e5da0 * fixed some memleaks at shutdown. thx to bLuma for patch! 2007-10-19 20:01:15 +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
13760afb96 omg typos of tiredness 2007-06-29 23:12:22 +00:00
False.Genesis
16be9c5bcc * fixed GetZ() formulas.
* added ascii map dump. everytime pseuwow gets teleported to a new tile, "map_dump.txt" is created in pseuwow base dir.
2007-06-29 23:01:59 +00:00
False.Genesis
0165102288 * first try to calc Z coord for given x/y coords using map data. doesnt want to work (for now), more things have to be done.
* fixed crash on shutdown
2007-06-27 21:15:14 +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
c2e83e27fb fixed channel join display message 2007-06-09 00:09:33 +00:00
False.Genesis
7ea59ad349 * fixed object update
* re-added language lookup in chat messages, for example "say,Gnomish pwnt". note they are CASE-sensitive and depend on which language name is set in /data/scp/language.scp!
2007-05-26 23:03:32 +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
fda133b660 * scripts without a special permission level assigned will now have 255 (highest permission) by default.
* forgot to remove some '\n'
2007-05-11 21:06:35 +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