Age | Commit message (Collapse) | Author |
|
svn-id: r48359
|
|
svn-id: r46320
|
|
svn-id: r46299
|
|
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
|
|
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
|
|
svn-id: r45771
|
|
Also, named correctly GPL2 parameter types.
This fixes all FIXMEs
svn-id: r45762
|
|
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
|
|
svn-id: r45641
|
|
All GPL2 callbacks are now fully implemented. It remains to implement
proper walking.
svn-id: r45501
|
|
svn-id: r45455
|
|
svn-id: r45389
|
|
Debugged everything.
svn-id: r45330
|
|
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
|
|
svn-id: r44958
|
|
svn-id: r44648
|
|
svn-id: r44645
|
|
consistency
svn-id: r44634
|
|
svn-id: r44493
|
|
- 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
|
|
svn-id: r44431
|
|
parameter.
svn-id: r44413
|
|
svn-id: r44362
|
|
svn-id: r44331
|
|
previously called "icons" as in the original player. This commit also renamed every such instance to the proper "item".
svn-id: r43487
|
|
* 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
|
|
svn-id: r43255
|
|
svn-id: r43253
|
|
svn-id: r43176
|
|
* 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
|
|
svn-id: r43129
|
|
via Script::endCurrentProgram().
svn-id: r43086
|
|
svn-id: r42992
|
|
* 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
|
|
* Changed Script::load() to use the new animation callbacks
svn-id: r42902
|
|
* 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
|
|
* Implemented WalkOn GPL command.
* Temporarily remaped StayOn and WalkOnPlay to WalkOn (for testing).
svn-id: r42735
|
|
svn-id: r42732
|
|
* Removed temporary hack I accidentally committed
svn-id: r42730
|
|
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
|
|
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
|
|
* 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
|
|
svn-id: r42245
|
|
svn-id: r42191
|
|
its implemented).
svn-id: r42188
|
|
svn-id: r42183
|
|
svn-id: r42102
|
|
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
|
|
the GPL program execution. Also, the init script for the dragon object is now run inside Game::Game().
svn-id: r41928
|
|
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
|