aboutsummaryrefslogtreecommitdiff
path: root/engines/draci/script.h
AgeCommit message (Collapse)Author
2010-11-18ENGINES: Do not use MemoryReadStream where (Seekable)ReadStream suffices; ↵Max Horn
avoid using 'using' svn-id: r54323
2010-03-22Patch #2973290: Semicolon cleanupMax Horn
svn-id: r48359
2009-12-09DRACI: Reduce header interdependencies; some cleanupMax Horn
svn-id: r46320
2009-12-08Attempt to fix MSVC warning C4121.Johannes Schickel
svn-id: r46299
2009-11-12Added runWrapper() calling run() and some actions around it.Robert Špalek
This simplifies a lot of code calling run(). Also, scripts called from the inventory are now called with disabled mouse and title, as desired. svn-id: r45848
2009-11-10Huge refactoring of data structures.Robert Špalek
Replaced IDs of objects by pointers, which saves many lookups, each of which is horribly ineffective. Moved a lot of code into methods of structs now turned into objects. Tested the new code a lot and seems to work as well as the old code. svn-id: r45799
2009-11-09GPL2 callbacks accept const Array& instead of Queue&Robert Špalek
svn-id: r45771
2009-11-08Items put into inventory are placed correctly.Robert Špalek
Also, named correctly GPL2 parameter types. This fixes all FIXMEs svn-id: r45762
2009-11-08Implement QuickHero walking.Robert Špalek
Pressing Q during the game enables/disables faster walking; all animation phases are flipped after one refresh instead of after given delay. svn-id: r45748
2009-11-03Implement properly stayOn instead of using walkOnRobert Špalek
svn-id: r45641
2009-10-29Implement flipping the QuickHero and SpeedText flags in GPL2.Robert Špalek
All GPL2 callbacks are now fully implemented. It remains to implement proper walking. svn-id: r45501
2009-10-28Implement palette fadingRobert Špalek
svn-id: r45455
2009-10-26Fix Escape in the intro, and switching map and the inventoryRobert Špalek
svn-id: r45389
2009-10-22Implemented GPL2 commands for music.Robert Špalek
Debugged everything. svn-id: r45330
2009-10-12Implemented GPL commands JustTalk and JustStay.Robert Špalek
The basic commands are done. It remains to implement handling music (after we play it at all), fading palette, and controlling the quick-hero and speed-text flags (after I find out what they do). Now the dragon switches between talking and staying during dialogs. However, the left/right direction doesn't work yet, because we don't respect _lookDir and _useDir yet. svn-id: r44964
2009-10-11Implemented a few more harmless GPL2 commandsRobert Špalek
svn-id: r44958
2009-10-05Fixed warning (GameObject is a struct)Filippos Karapetis
svn-id: r44648
2009-10-04Work-around a bug in the original game files.Robert Špalek
svn-id: r44645
2009-10-04Change a couple places from 'end of namespace' to 'End of namespace', for ↵Max Horn
consistency svn-id: r44634
2009-09-30Remove trailing whitespacesMax Horn
svn-id: r44493
2009-09-30- Adapt parts of the Draci code to match our code formatting guidelinesJohannes Schickel
- Remove use of tabs for formatting, now in nearly all cases tabs are only used for indentation - Use "uint" instead of "unsigned int" in the whole engine for consistency's sake - Strip some trailing tabs and leading whitespaces svn-id: r44478
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