aboutsummaryrefslogtreecommitdiff
path: root/engines/draci/script.cpp
AgeCommit message (Collapse)Author
2010-07-03Finish support of compressed dubbingRobert Špalek
Now even the length of a compressed stream is measured precisely and the dubbing sounds exactly like the original. svn-id: r50618
2010-06-28Fade palette in/out when entering/leaving a locationRobert Špalek
svn-id: r50409
2010-06-28Implement shortcuts for switching items in the inventoryRobert Špalek
slash: switch between the last held item and normal mouse comma, period: replace the currently held item with the previous/next item in the inventory Also, commented a bit better what happens when ESCAPE is present with respect to map programs and cut-scenes. svn-id: r50407
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-23Fixed breaking long lines instead of using smaller font (which is sometimes ↵Robert Špalek
not enough) svn-id: r46101
2009-11-22Fix positioning of one-time hero animations.Robert Špalek
With the previous code, the position of the animation was doubled (due to counting the position twice, the second time being a relative shift), which put it mostly outside the screen. This is because one-time hero animations are actually stored using absolute coordinates. svn-id: r46057
2009-11-12Fixed Script::icoStat()Robert Špalek
svn-id: r45850
2009-11-12Subtitles are positioned correctly in the inventoryRobert Špalek
svn-id: r45849
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-08Updated the list of TODOsRobert Špalek
svn-id: r45768
2009-11-08Removed old hack for cyclic animations.Robert Špalek
This makes the hero's walk even smoother. svn-id: r45763
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-08Debugged smooth walking except for 1 bug.Robert Špalek
Adjusting to the edge is done such that it respects slight sideways movements of the dragon. Fixed rounding issues in the whole game. Improved debug messages. Made sure that the dragon does not turn like crazy around when clicking on the same pixel: the final point is always the clicked one although the middle points made by shifted to make the animations smooth, and preserve the dragons direction if he has not walked. There is a bug with running turning animations as they seem to disappear for 1 frame and have incorrect Z coordinate. Will investigate it next. svn-id: r45742
2009-11-07Debugged updating the position of the hero during walking.Robert Špalek
I project the hero immediately to the end of each edge for the time being though. svn-id: r45722
2009-11-07Done research on ignored animation flags and commented the codeRobert Špalek
svn-id: r45711
2009-11-04Implemented and debugged the walking framework.Robert Špalek
The hero does not walk yet (it still teleports to the target immediately), but that is just because the actual walking algorithm is left trivial first. However, the main game loop, callbacks, and waiting all already work with the general framework. svn-id: r45648
2009-11-03Removed an old FIXMERobert Špalek
svn-id: r45642
2009-11-03Implement properly stayOn instead of using walkOnRobert Špalek
svn-id: r45641
2009-11-02Refactored running loop().Robert Špalek
- shouldExitLoop() is a bool again and introduced new flag isReloaded() instead of adding special hacky value 2 - loop() accepts 2 parameters: loop substatus and shouldExit flag, because each caller previously had to set and restore these manually. loop() now also tests whether the substatuses are properly nested. reordered the loop-exitting code. - renamed loop substatuses to logical names - enterNewRoom() returns bool whether loop() should continue so that start() doesn't have to test and clear shouldEndProgram(). it doesn't need force_reload as a parameter anymore. - dialog selections use new inner substatus instead of outer substatus, for consistency svn-id: r45607
2009-11-01Commented on loop() before refactoring.Robert Špalek
svn-id: r45604
2009-10-30Move WalkingMap instance to Game, and clean up parametersRobert Špalek
svn-id: r45516
2009-10-30Remove the last 2 default parameter values.Robert Špalek
They usually just add unnecessary confusion and this is definitely such an example. Removal will clarify the code. svn-id: r45512
2009-10-30Remove most of default parameter values.Robert Špalek
Also, add comments to the last commit. svn-id: r45511
2009-10-30Move WalkingMap into new module.Robert Špalek
Also, fix a bug when loading the default walking map (wasn't implemented) and setting font size. The reason I move this code into a new module is because I will augment it with other walking-related algorithms soon. svn-id: r45510
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-29Fix several palette fading bugs.Robert Špalek
svn-id: r45497
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-13Set all sound/subtitle-related parameters from ConfMan.Robert Špalek
Made it intelligent so that when, for example, the dubbing file doesn't exist, we don't fail, but instead always show subtitles even if the GUI settings says dubbing only, etc. svn-id: r45002
2009-10-13Dubbing is played.Robert Špalek
I haven't implemented switching dubbing and subtitles on/off according to the config manager nor the speed of the subtitles, yet. svn-id: r45001
2009-10-12Dragon looks into the requested direction.Robert Špalek
Parsing _lookDir and _useDir, and passing it all the way around to walkHero(). Also, added playHeroAnimation() to reduce code duplication. svn-id: r44965
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-12Fixed funcActPhase()Robert Špalek
svn-id: r44963
2009-10-12Fix indexing of the dragon's animations.Robert Špalek
After inspection, I assert that it isn't true that the _anim array needs to be sorted. In fact, sorting ruins the ordering of the dragon's animations, which corresponds to enum Movement. After fixing this, let the dragon have a rest instead of constantly walking down. svn-id: r44962
2009-10-12Reduced huge code duplication by introducing Game::stopObjectAnimations()Robert Špalek
svn-id: r44961
2009-10-12Disambiguated _anims.Robert Špalek
It's both a pointer to an AnimationManager and list of animation ID's fo each object. The latter renamed to _anim so that I can easily search for them. Also, fixed the bug promised in the previous commit. svn-id: r44960
2009-10-11Reduced code duplication and fixed one deletion bug.Robert Špalek
svn-id: r44959
2009-10-11Implemented a few more harmless GPL2 commandsRobert Špalek
svn-id: r44958
2009-10-11Loading and caching sound samples in memory.Robert Špalek
The sounds are not played yet, but the infrastructure is getting ready. svn-id: r44957
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-10-03Fixed positioning and update of the title under the mouse pointer.Robert Špalek
Clamping on the border of the screen works precisely. When switched to the inventory, titles of game items are displayed instead of a (sticky) title of the last object before entering the inventory. Put some const's where appropriate. svn-id: r44550
2009-10-01Clean up room changing code and support returning from the map.Robert Špalek
Completely changed the interface, removing unused methods and attributes, renaming other ones to reflect what they do, and moving some methods into the private section. Code changing the location, originally scattered over many pieces of code, has been unified into one place. Remember the previous room when entering the map so that one can return there. Also, the event handler processes one event at a time, preventing lost clicks on touchpads. svn-id: r44508
2009-09-30Fix code formatting (esp. 'if(' -> 'if (' etc., but also indention and other ↵Max Horn
things) svn-id: r44495
2009-09-30Remove trailing whitespacesMax Horn
svn-id: r44493