81 Commits

Author SHA1 Message Date
shlainn
3fbca9faf8 * Basic Makefile support for Linux
** To build run : autoreconf --install, ./configure, make
* Minor typecasts and fixed typo to make GCC happy
2008-05-05 15:29:07 +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
false_genesis
65a8ab523a * added "help" script with some basic information (as suggested by Visagalis). detailed help about specific commands not yet written.
* fixed major bug in the DefScript interpreter that could cause a DefReturnResult to return from the calling function too early and terminate the whole call stack. this could lead to scripts beeing executed only to half and then suddenly aborting execution without any sign that something went wrong.
* "ljoin"-func does now accept start and end list index to join
2008-04-25 23:25:58 +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
shlainn
3c236757ce * updated Code::Blocks project file
* fixed some gcc warnings (mainly newlines at EOF)
2008-04-06 13:29:24 +00:00
false_genesis
1288cd8f2a * fixed crappy min/max problems (hopefully)
* aaaand one more try to get std::ios_base::openmode in func_fopen() nulled...
2008-03-28 19:23:47 +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
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
1e39771e5f * more toNumber to toUint64 conversions, fixed ?{equal,X,ignore Y} - thx bLuma! 2008-03-09 20:26:42 +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
95fce570dd * output defscript logs only in debug compile
* some conf updates
2008-02-22 19:30:10 +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
f865fb10a6 * added script preload cmd #escape-all=0/1 to autoescape parts of scripts, to ease up hooking and related... what needs escaping in general
* added first part of a script to help with other scripts hooking
2008-02-19 22:42:14 +00:00
false_genesis
6ccd48f719 * fixed scripted uint64 appending to bytebuffer, patch by bLuma, thx! 2008-02-17 21:32:21 +00:00
false_genesis
cf7758074a * added C++-style comment and whitespace stripping at line ends. turn this off/on with #linestrip=0/1. default is on. note: this might break older scripts using // in the code somewhere.
* added #comments-start (#cs) and #comments-end (#ce) to make commenting out large code blocks possible
2008-02-14 19:27:02 +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
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
94c4994a12 * fixed memory allocation crash when using ?{fread,file ALL} in scripts
* found a bug with causes block mismatches in def scripts with multiple nested if/loop/endif/endloop blocks. not yet fixed, but added small check.
2008-01-23 22:13:05 +00:00
false_genesis
40cef66995 * fixed typo in fread func, thx bLuma!
* added new funcs: freadline, fseekr, fseekw
2007-12-27 15:03:18 +00:00
false_genesis
134cd66130 * added file handling functions to DefScript
** if you are using vc80, dont forget to add DefScriptFileFunctions.cpp to the project file until updated here!
2007-12-27 02:03:45 +00:00
False.Genesis
0a9f8f41ed * added DefScript macros @clock (ms since process start), @time (unix time)
* time to release a new version! [A13.4 now done]
2007-12-09 22:14:10 +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
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
0aed2ee895 * fixed possible crash when script list was deleted and after that the script got executed
* fixed wrong check for #mark and #tip at script loading
* misc stuff
2007-10-30 19:35:56 +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
e7c3f27f54 * DefScript: added ByteBuffer functionality. big thx to bLuma for patch! 2007-10-28 15:21:02 +00:00
False.Genesis
83780495a8 forgot small addition 2007-10-28 12:33:01 +00:00
False.Genesis
f84037ad77 * DefScript: added initial support for escape sequences "\{ \} \x0A \n \t \\". please report any bugs with this!
note: variables MUST be stored unchanged!
* changed ListStorage class to TypeStorage template class
2007-10-28 12:08:55 +00:00
False.Genesis
87f708a0fd * made better base for different scenes (startup, loading, world,...)
* 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.
2007-10-21 20:52:29 +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
f0b340ef3d * finally fixed + enabled chatAI scripting!
* added core funcs "bigger_eq/greater_eq, smaller_eq" in addition to "bigger/greater, smaller & equal"
* added scripted func "lfind" - return position of element in a list.
2007-10-17 10:59:01 +00:00
False.Genesis
993bc000df * fixed a major bug in the DefScript engine that messed up correct bracketing in nested fuctions (example:
?{equal,{hello world} {hello world}} returning false.
* enabled map tile duming also for release mode
* small fix with SCP reading in case this should ever be ported to mac osx.
2007-10-16 12:07:11 +00:00
False.Genesis
97f5d0da98 * implemented patch download supplied by realm server (does NOT yet support resuming a download)
* fixed a few bugs in RealmSession (ticket #14, thx bLuma)
* fixed a mistake in DefScript.cpp added in prev commit.
* added wrapper class for MD5 hashes
2007-08-29 18:35:12 +00:00
False.Genesis
71b17e7ced while custom script logging functions dont work, use an own logfile instead 2007-08-28 17:02: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
12b508fc9f some little fixes 2007-08-20 16:16:33 +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
652a599ce4 * scriptnames must be lowercased
* finished alpha 13.2 release version.
2007-06-22 11:33:40 +00:00
False.Genesis
4845888fc3 * compacted scripts. needs min rev 141 to run (skipping 'lsort'). deleted old scripts.
* added script func 'lsort'. more args will be added later.
2007-06-22 11:20:50 +00:00
False.Genesis
996256718c * implemented multiple scripts per .def file. ATTENTION: scripts will no longer be auto-loaded by the engine; they will be loaded via startup.def now. scripts will be compacted in next revs.
* forgot to use repository's openssl in Network system also.
* moved _startup.def to PseuWoW base folder!
2007-06-19 19:44:14 +00:00
False.Genesis
dff2d2085e * implemented DefScript "list" datatype.
* wiki information & documentation will come soon.
2007-06-09 17:54:13 +00:00
False.Genesis
a39849b2c9 * little scripts update 2007-05-26 23:45:07 +00:00
False.Genesis
5731cfa03b * started with linux preparations; thx to Skycrapper ;) 2007-05-13 19:51:46 +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