aboutsummaryrefslogtreecommitdiff
path: root/engines/draci/script.h
AgeCommit message (Collapse)Author
2009-09-28get rid of static Common::String'sRobert Špalek
svn-id: r44431
2009-09-27Remove memory leak in animation manager. Get rid of 1 non-const reference ↵Robert Špalek
parameter. svn-id: r44413
2009-09-25Added some more const's to the interface of Dragon HistoryRobert Špalek
svn-id: r44362
2009-09-25Add const's to many interfaces of engines/draci/Robert Špalek
svn-id: r44331
2009-08-17Added inventory and item handling support (monster patch, sorry). Items were ↵Denis Kasak
previously called "icons" as in the original player. This commit also renamed every such instance to the proper "item". svn-id: r43487
2009-08-15* Implemented LoadPalette, SetPalette and BlackPalette GPL commands.Denis Kasak
* Used a more natural condition (whether the scheduled room number is different from the current room number) instead of the _roomChange hack. svn-id: r43391
2009-08-11Implemented GPL command WalkOnPlay.Denis Kasak
svn-id: r43255
2009-08-11Added dialogue support.Denis Kasak
svn-id: r43253
2009-08-09Implemented GPL function Script::funcObjStat().Denis Kasak
svn-id: r43176
2009-08-09* Implemented GPL functions Script::funcActIco() and Script::funcIsIcoAct().Denis Kasak
* Implemented GPL commands Script::loadMap() and Script::roomMap(). * Added temporary HACK to change some speech texts to use the small font because some strings overflow the screen (as stored in the data files). svn-id: r43161
2009-08-08Implemented Script::testExpression().Denis Kasak
svn-id: r43129
2009-08-06Added ability to end the currently executing GPL program before it finishes ↵Denis Kasak
via Script::endCurrentProgram(). svn-id: r43086
2009-08-02Implemented the Talk GPL command.Denis Kasak
svn-id: r42992
2009-07-31* Added Game::runGateProgram()Denis Kasak
* Added a separate mechanism to Game to keep track both of the current room number and the next room/gate. Periodically, I check whether the new room differs from the old one and, if it does, I do the change. Doing it any other would is nearly impossible because of the way the original scripts were written. * Added GPL command Script::newRoom(). Rooms can now be traversed by clicking on their exits. Also, the intro animation partly works. Some parts go by far too soon. I assume this is because the engine still lacks a dialogue GPL command. * Fixed bug where the gates array of a room was not cleared between uses. * Save old jump value when we enter Script::run() and restore it in the end (mimicking the original engine). * Fixed small bug where the gate was supposed to be stored as the first in-game variable and not the room number. svn-id: r42957
2009-07-29* Implemented the StartPlay and Play GPL commands properlyDenis Kasak
* Changed Script::load() to use the new animation callbacks svn-id: r42902
2009-07-29* Implemented GPL function ActPhase (as Script::funcActPhase())Denis Kasak
* Trivial implementation of the Play GPL command * Fixed Script::load() to load animation IDs to objects in increasing order (needed by funcActPhase()) svn-id: r42874
2009-07-25* Moved walking code to Game::walkHero().Denis Kasak
* Implemented WalkOn GPL command. * Temporarily remaped StayOn and WalkOnPlay to WalkOn (for testing). svn-id: r42735
2009-07-25Implemented ExecUse, ExecLook and ExecInit GPL commands.Denis Kasak
svn-id: r42732
2009-07-25* Added handlers for the ObjStat and ObjStat_On GPL commandsDenis Kasak
* Removed temporary hack I accidentally committed svn-id: r42730
2009-07-24* Added tracking and deleting animations by index (which represents the ↵Denis Kasak
order in which they were loaded). This is needed by some GPL commands. * Added Game::getNumObjects() which returns the number of objects in the game * Fixed segfault (accessing a null Animation *) * Added some docs to various things svn-id: r42683
2009-07-13* Implemented the following GPL functions: IsIcoOn, IcoStat, IsObjOn, ↵Denis Kasak
IsObjOff, IsObjAway * Changed GameObject::_location to an int since we sometimes use location -1. * Some more uint <-> int changes to prevent comparisons between signed and unsigned. svn-id: r42452
2009-07-08* Implemented GPL jumpsDenis Kasak
* Implemented c_If, c_Goto and c_Let opcodes * Changed the interpreter to work with signed ints instead of uints (the interpreter uses negative values sometimes) * Fixed documentation of Script::run() which said it is a disassembler (forgot to change it earlier) svn-id: r42249
2009-07-07Implementend F_Not GPL function.Denis Kasak
svn-id: r42245
2009-07-06Implemented Script::funcRandom (GPL function).Denis Kasak
svn-id: r42191
2009-07-06Set up GPL functions properly (the math evaluator now calls the handler if ↵Denis Kasak
its implemented). svn-id: r42188
2009-07-06Implemented GPL operators.Denis Kasak
svn-id: r42183
2009-07-04Implemented handler for the Load instruction. Removed Script::dummy().Denis Kasak
svn-id: r42102
2009-07-04Restructured Script so I can start adding callbacks to GPL commands (added ↵Denis Kasak
DraciEngine * member to Script, added Script::setupCommandList() which initialises the command list array, added Script::dummy() callback for the Load command for testing). svn-id: r42090
2009-06-28Added an offset parameter to Script::run() so we can specify where to start ↵Denis Kasak
the GPL program execution. Also, the init script for the dragon object is now run inside Game::Game(). svn-id: r41928
2009-06-28Changed Script::run() to accept a GPL2Program struct instead of a byte ↵Denis Kasak
pointer and a length. Also, Script::run() now executes the GPL program until a gplend instruction rather than to the end of the whole program. Modified GameObject according to the new changes. svn-id: r41927
2009-06-27Renamed Script::gpldisasm() to Script::run().Denis Kasak
svn-id: r41920
2009-06-27Put all GPL interpreter related routines inside a Script class.Denis Kasak
svn-id: r41919
2009-06-27Renamed gpldisasm.* to script.* in anticipation of using it as a script ↵Denis Kasak
intepreter. svn-id: r41918