aboutsummaryrefslogtreecommitdiff
path: root/engines/draci/draci.h
AgeCommit message (Collapse)Author
2011-03-23ENGINES: Further simplify pseudo MidiDrivers; fix some regressionsMax Horn
The regression affected AGOS and maybe some others; specifically, the real MidiDriver would have been deleted twice -- I previously missed that the Engine instances takes care of freeing the real MidiDriver, not the MidiPlayer wrapping it. This commit should clarify the ownership of the real MidiDriver for most pseudo MidiDrivers.
2010-11-07DRACI: Added basic debugging console to engineDavid Turner
Since DRACI uses Debug Channels, this allows for the interactive setting of debugflags as well as providing a base for adding further debugging commands. svn-id: r54116
2010-10-29DRACI: Switch to the new play time counting of the Engine class.Johannes Schickel
svn-id: r53925
2010-10-15ENGINES: Enhance namespace comments a bitMax Horn
svn-id: r53484
2010-03-18COMMON: Move Common::RandomSource to common/random.*Max Horn
svn-id: r48279
2009-12-09DRACI: Reduce header interdependencies; some cleanupMax Horn
svn-id: r46320
2009-11-24Added Doxygen comments for the various engine namespaces (currently mostly ↵Max Horn
without details; help filling these out is welcome) svn-id: r46128
2009-11-23DRACI: Reduce header interdependencyMax Horn
svn-id: r46117
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-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-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-10-30Moved all one-line getters/setters to the header filesRobert Špalek
svn-id: r45524
2009-10-21Enabled music.Robert Špalek
Several TODO's added. svn-id: r45298
2009-10-12Sound effects are now correctly played.Robert Špalek
Dubbing is not yet played. svn-id: r45000
2009-10-11Added support for sound archives.Robert Špalek
We initialize them in the DraciEngine constructor, but don't play any sounds yet. Checked that it works for all existing sound files (required several work-arounds against unspoken specification). When copying the interface from barchive.h, I decided to remove some const's from there, because getFile() wasn't really behaving like const. Removed some static Common::String instances. svn-id: r44953
2009-10-04Implement all boilerplate concerning Global Main Menu.Robert Špalek
All currently defined featues will be supported. I have implemented everything boilerplatish, except for the actual game saving/loading (which will come in the next commit), getting volumes from the configuration (because we don't play sounds yet), and changing subtitles. svn-id: r44583
2009-10-03Let Ctrl-Left click behave like Right lick in Dragon History.Robert Špalek
Also, started implementing Advanced Engine Features: - pause support - RTL support svn-id: r44575
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-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-25Created a macro for lround(), for non-C99 compilers, and used that in places ↵Filippos Karapetis
where lround() is used svn-id: r44337
2009-08-02Added the strings archive to DraciEngine.Denis Kasak
svn-id: r42989
2009-08-01Added archives for item descriptions and images.Denis Kasak
svn-id: r42970
2009-07-29* Moved event handling to DraciEngine::handleEvents()Denis Kasak
* Added Game::start() method which is called from DraciEngine::go() * Made Game::loop() suitable for calling from other places (like GPL scripts) by handling events, redrawing the screen, etc from inside. This way it doesn't freeze the game if it doesn't return immediately. * Added Game::shouldQuit() and Game::setQuit() which can be used to signal the engine to quit. * Fixed race condition related to mouse buttons not getting released. * Instead of deleting frames for the title animation and adding a new one, reset the text for its frame. svn-id: r42875
2009-07-25* Added DraciEngine::_initArchive and made Game use it. Fixes a memory bug ↵Denis Kasak
because Game uses pointers from the init archive which should outlive it (but didn't previously). * Added support for setting loop status to Game. * Made some GPL commands check whether we are in the correct loop status before executing. svn-id: r42731
2009-07-16* Added WalkingMaps classDenis Kasak
* Added DraciEngine::walkingMapsArchive * Made Game::loadRoom() read in the current walking map svn-id: r42541
2009-07-16Added _iconsArchive to DraciEngine and modified the Mouse class to use it.Denis Kasak
svn-id: r42535
2009-07-15Renamed Font::setFont() to loadFont(). Removed DraciEngine::_font and added ↵Denis Kasak
_smallFont and _bigFont so each font can be handled separately. svn-id: r42514
2009-07-06Made _rnd member of DraciEngine public.Denis Kasak
svn-id: r42190
2009-07-05Renaming Animation -> AnimationManager and AnimObj -> Animation in light of ↵Denis Kasak
the new API change. svn-id: r42133
2009-07-04Added _animationsArchive member to DraciEngine.Denis Kasak
svn-id: r42091
2009-07-03Enabled loading room number 1 as a test.Denis Kasak
svn-id: r42071
2009-07-03Added two more debug levels (logic and animation).Denis Kasak
svn-id: r42065
2009-07-02Added rooms and overlays archives.Denis Kasak
svn-id: r42035
2009-07-02DraciEngine now opens and stores pointers to essential archives. Changed ↵Denis Kasak
code that used those archives to use that instead of opening them manually. Replaced BArchive::operator[] functionality with BArchive::getFile() to prevent ugliness when accessing archives via pointers. svn-id: r42031
2009-06-27Added Script instance to DraciEngine. Restored disassembling of a demo ↵Denis Kasak
script on engine startup (previously via gpldisasm(), now via _script->run()). svn-id: r41921
2009-06-27Added Game's constructor. Added the Person struct and made Game constructor ↵Denis Kasak
read in the list of persons from INIT.DFW. Added Game instance to DraciEngine. svn-id: r41907
2009-06-24Started work on the Mouse class.Denis Kasak
svn-id: r41840
2009-06-18Changed _screenWidth and _screenHeight from member variables to constants ↵Denis Kasak
because the screen size doesn't change. svn-id: r41620
2009-06-17Changed the _font DraciEngine member from a Font instance to a pointer to an ↵Denis Kasak
instance. This way the default constructor is invoked in DraciEngine::init() and can properly initialize the fonts because the game data paths are set. svn-id: r41612
2009-06-17Began work on the Screen class. Modified the demo animation to use the it.Denis Kasak
svn-id: r41604
2009-06-14Added a Font _font variable to the engine instance. Fixed font colour ↵Denis Kasak
handling by replacing the appropriate colours before drawing. Added Font::setColour() method for changing the current font colour. Added include guards to draci/font.h. Moved kFontBig and kFontSmall constants to draci/font.cpp to prevent redefinition errors. svn-id: r41524
2009-06-10Added an additional debuglevel "archiver" to facilitate displaying debug ↵Denis Kasak
info from the BAR archiver. Also adjusted numeric debug levels. svn-id: r41436
2009-06-08Adding Draci Historie engine skeleton (engine stub, BAR archiver, ↵Denis Kasak
rudimentary GPL disassembler) svn-id: r41390