70 Commits

Author SHA1 Message Date
BThallid
cbd864f65c Update ItemQuerySingleResponseOpcode to 3.3.3a. 2010-09-11 00:56:17 +02:00
shlainn
e820f0a5a4 * Fixed lots of warnings in GCC
* Purely cosmetic ;)
2009-05-07 07:46:35 +00:00
false_genesis
9e1f445a46 * finally implemented MemoryDataHolder functions. They are not yet used (this will be next step), but tested and works. 2009-03-11 11:46:32 +00:00
bluma4862
84e3c1d868 * use correct check for proper M2 version (hope there isn't any model with 8.1.0.0 version), fix this in stuffextract to allow extracting textures from new model files
* implement speed change opcodes
* fixed texturing of remaining gameobjects (requires reextracting of scp, models and textures)
* new defscript command "getobjectpos,guid <x/y/z/o>" (if guid is empty - use my guid)
2008-10-13 14:12:56 +00:00
false_genesis
d7d36c544e * implemented realm and character selection from the GUI
* 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
2008-08-27 23:41:12 +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
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
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
aa63fc56f4 * fixed many gui-related possible crashes
* the DrawObject system should be stable enough now to do more serious things with it.
* added some object drawing code (cute cubes) - thx shlainn!!
2008-03-31 16:57:28 +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
cb74a228dc * more fixes to make gcc happy. thx shlainn! 2008-03-28 18:19:54 +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
44739d3952 * setting eol style to native 2008-03-24 16:43:51 +00:00
false_genesis
a8ad601dca * more fixes for gcc. thx shlainn! 2008-03-24 15:18:26 +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
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
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
c87f175ad6 * fixed silly typo 2008-02-19 14:28:38 +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
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
389799fa4e * fixed typo that prevented compile(?). thx loosingar! 2008-02-03 17:35:11 +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
1452efa4e8 * added bbGetPackedGUID, bbPutPackedGUID script funcs. thx bLuma for patch!
* added datatype "strnz" (non-zero-terminated string) to bytebuffer read/write script funcs.
2007-11-20 16:24:39 +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
1e5b463434 * implemented in-runtime script modification. every script is now stored as list #DEFSCRIPT::SCRIPTS::scriptname
* added little helper func "createdef"
* fixed crash if "listscript" was passed a name of a nonexisting script
* removed obsoelete file: TypeStorage.cpp, it was excluded from build since added.
2007-10-30 18:14:19 +00:00
False.Genesis
c7cc44d4cb * added SendWorldPacket script func. 2007-10-28 17:26:19 +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
3717c1cd22 * fixed long time existing typo. thx a lot, bLuma! 2007-10-18 20:34:23 +00:00
False.Genesis
659a9a7334 * "GetName" should also use the player name cache, done.
* removed debug output from "processchatai" script.
2007-10-17 11:53:19 +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
2b40be9e01 * implemented (experimental!) remote controlling interface as requested by Coma. you can send any text to a specific port (via PHP or anything else), which will be interpreted & parsed DefScript-like.
* please report any bugs with this!
2007-06-13 11:27:43 +00:00
False.Genesis
7ffc21bec5 * implemented automatic conf file loading using newly added "lgetfiles" script func.
* 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.
2007-06-09 21:46:04 +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
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
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
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
74ded46daa * fixed DefScript tohex function to work with numbers up to 2^64
* fixed a bug that allowed to execute scripts via ingame commands without any permission
* added DefScript functions substr, getplayerperm, getscriptperm
2007-03-22 21:33:44 +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