* lots of bugfixes to MemoryDataHolder, finally made it work without crashes, for now
* prebuffer .skin files for much faster GUI loading (they are not yet deleted from memory!!)
* fixed a major bug in TypeStorage that caused values not to update
* removed log spam when loading M2 files
* fixed a bug where the character was not visible when switching from freefly to move mode and back
* preparations to use ZThread::Conditions for better thread locking
* NOTE: if you get crashes with this version when starting up the GUI, try setting DataLoaderThreads=0 in the conf file.
* added optional password to the ContolSocket
* fixed possible exception/crash in the DefScript variable handler (occurred when typing "getvar" into the console or telnet). maybe a very slight code speedup, too.
* minor chat script updates (more telnet-friendly)
* note: if you use PHP or anything that is NOT telnet/netcat to send commands to the ControlSocket, you have to terminate each line with '\n' !
* added support for map tile sound emitters (MCSE-chunks) (needs more debugging)
* added MasterSoundVolume=0..1 conf option to /conf/gui.conf
* fixed window resize & added related functions to the scenes (OnResize()). TODO: fix SceneLogin resize.
* implemented "Community Site" button functionality on Win32
* misc stuff
* TODO: fix crypt error on realm change.
* moved linux configure.ac script to PseuWoW root dir instead of /src
- to enable sound, set UseSound=1 in /conf/gui.conf
- For now, added a test music to the login screen.
* updated VC71/VC90 project files for windows. linux makefiles NOT yet updated!
* optimized the way SCP files are loaded and evaluated if they belong to a specific database or not (maybe little speedup too)
* added zlib compression for compacted SCP files. this will save a lot of space later when handling larger scp files (for ex. spell.scp)
* fixed memory leak in ZCompressor::Deflate()
* fixed crash/exit/stuck when too small data failed to compress
* fixed possible crash(?) in GetFileSize()
* fixed compiler warning
* 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)
* 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
* 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)
** Login GUI only appears when GUI is activated in conf and either Password or Accountname are not set
** Don't resize the Login Window
** Community Website button doesn't work yet, but Quit does
* Added a dynamic framerate limiter, though i think it's overkill. See comments in PseuGUI.cpp
* Changed std::cout to logdebug in the Image and MeshLoaders
* 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
* 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
* 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!
* first time to display something on GUI.
* corrected (again) major typo, thx bLuma!
* added some sample data to display.
* moved log.cpp/h to shared.
* cant update vc80 files right now, sorry.
* added script handler "_onchatmessage" that gets triggered when ANY chat message is recieved.
* TODO: finish & debug "processchatai" and "registerchataiscript" scripts.
* 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.
* forgot to mention on last commit: a) support almost infinite DefScript args now: @0 ... @4294967295; b) speeded up DefScript execution speed by ~10%
* TODO: load .def files the same way as the conf files now.
-> 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.
* 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] )