98 Commits

Author SHA1 Message Date
bluma4862
76ed684573 * fixed few bugs reported by FG 2008-07-08 05:24:39 +00:00
false_genesis
e52420ae52 * fixed problem with CHAT_MSG_WHISPER_INFORM in chatAI. thx cobalt for pointing out the problem!
* reconnect also if realm server gives unknown answer in AuthResponse
* deleted old linux binary
2008-06-17 20:56:59 +00:00
bluma4862
342bce125e * updated new opcode names from mangos, added few opcodes from 2.4.2
* fixed: not send heartbeat packet if only turning
2008-06-12 07:12:28 +00:00
false_genesis
7780f608da * added experimental character movement (jump/strafe not yet done). press POS1/Home key to toggle camera/character WASD movement. camera NOT yet linked to character!!
* conf supports now client 2.4.2. no code changes.
* packets can now be sent not only from the PseuInstance main thread
* added new conf option "softquit" to disable instant terminate (+data loss) on win32 systems if user [X]'ed console window.
* misc fixes & code changes

(personal note: exams are over, back to coding, yay)
2008-06-08 19:49:00 +00:00
bluma4862
926a7566c8 * fixed crashes without SCP databases
* minor fixes
2008-05-11 13:36:24 +00:00
bluma4862
a2bbc0c7d4 * correctly select model for gameobjects (no more cubes)
* updated stuffextract - added gameobjectdisplayinfo, for correct work needs reextracting models and scp files
2008-05-03 17:21:09 +00:00
false_genesis
ffb12014af * temp. fixed compile error (accidently added unfinished stuff in prev. commit), thx JPhix
* fixed endless loop when using cmd "help list"
2008-04-30 21:02:50 +00:00
false_genesis
b5834846f0 * added support for gameobjects. in the GUI they are still visible as cubes, but that will be fixed soon.
* fixed crash when a script's #onload block was explicitly loading another script file that also had an #onload block.
* some cleanups in realm code
* fixed bug in SCP database loader that didnt strip comments (//) properly.
2008-04-29 20:23:49 +00:00
bluma4862
14a2a04e94 * update to support client version 2.4.1 (build 8125) 2008-04-25 15:11:05 +00:00
false_genesis
76ebbe5cf3 * rewrote the SCP data storage. note that all database files must now be placed in a directory added with "AddDBPath <path>" and must contain a #dbname tag. the db now converts SCP (text) to SCC (binary) files, which increases access speed a lot. also less RAM used in most cases.
* replaced "LoadSCP" func with "LoadDB <dbname>" (different syntax!); removed all other scp db related funcs except "getscpvalue"
* the GUI can now show texts stored in databases
* added displaying status to SceneLogin
* misc fixes/cleanups
2008-04-19 23:45:37 +00:00
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