aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction
AgeCommit message (Collapse)Author
2011-04-28JANITORIAL: Format forward declarations to follow conventionOri Avtalion
2011-04-18COMMON: Rename Error to ErrorCode, introduce new Error classMax Horn
2011-04-12COMMON: Replace MKID_BE by MKTAGMax Horn
MKID_BE relied on unspecified behavior of the C++ compiler, and as such was always a bit unsafe. The new MKTAG macro is slightly less elegant, but does no longer depend on the behavior of the compiler. Inspired by FFmpeg, which has an almost identical macro.
2011-03-25AUDIO: Move more common code to Audio::MidiPlayerMax Horn
This also should fix some regressions from the previous commits, related to MidiParser's either being leaked, or being deleted and then used again (i.e., crashing). I tested as many games as I had available, but further testing of all affected engines is called for anyway.
2011-03-25PARALLACTION: Move MidiDriver creation into MidiPlayer(_MSC) constructorsMax Horn
2011-03-24PARALLACTION: Change MidiPlayer impls to derive from Audio::MidiPlayerMax Horn
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.
2011-03-23AUDIO: Change several fake MidiDrivers to MidiDriver_BASE subclassesMax Horn
Many engines follow the advice in audio/midiparser.h and create a "pseudo-MidiDriver" subclass. But MidiParser really only needs a tiny subset of the MidiDriver capabilities, namely those found in MidiDriver_BASE. So we try to subclass from that whenever possible; this allows us to remove many stub methods, and enables further future simplifications.
2011-03-23ENGINES: Use Common::StackLock in more placesMax Horn
2011-03-22AUDIO: Add pure virtual MidiDriver::isOpen() methodMax Horn
This in turn enables modifying MidiDriver_MPU401::close() to allow it to be called on a midi driver that has not yet been opened. The specific issue that triggered me to make these changes was a crash-upon-quit in HUGO, caused by it instantiating a midi driver, then encountering an error (missing hugo.dat) *before* having opened the new midi driver; the general cleanup code then tries to close the (not yet opened) midi driver -> kaboom Also fixed some engines which were leaking MidiDriver instances.
2011-03-19PARALLACTION: Init volume levels on startupdhewg
2011-02-19Merge branch 'osystem-palette' of https://github.com/lordhoto/scummvm into ↵Johannes Schickel
master Conflicts: backends/platform/android/android.cpp engines/sci/graphics/screen.cpp engines/sci/graphics/transitions.cpp
2011-02-16PARALLACTION: Use signed math in fadeTo.Alyssa Milburn
This fixes corruption during fades when low palette values end up negative.
2011-02-16PARALLACTION: Fix half bright palette.Johannes Schickel
Thanks to peres for pointing this out to me.
2011-02-14PARALLACTION: Adapt to setPalette RGBA->RGB change.Johannes Schickel
This change is not tested, but should hopefully work fine.
2011-02-12JANITORIAL: Remove duplicate #include'sOri Avtalion
svn-id: r55889
2011-02-09AUDIO: Rename sound/ dir to audio/Max Horn
svn-id: r55850
2011-02-08PARALLACTION: Avoid hiding overloaded virtual methods.Nicola Mettifogo
svn-id: r55820
2011-02-07ALL: Fix whitespaces / indentionMax Horn
svn-id: r55818
2011-02-07GUI: Rename SaveLoadChooser::runModal to runModalWithPluginAndTargetMax Horn
This avoids hiding an overloaded virtual method, which in turn can cause weird bugs (see also the next commit). svn-id: r55815
2011-02-07COMMON: OSystem now has a PaletteManagerMax Horn
svn-id: r55806
2011-02-06PARALLACTION: update MIDI driver commands description for BRA.Nicola Mettifogo
svn-id: r55792
2011-01-29PARALLACTION: Use CursorMan to control cursor instead of backend functions.Nicola Mettifogo
svn-id: r55611
2011-01-29PARALLACTION: Cleanup dialogue code.Nicola Mettifogo
Shorten long lines to increase readability. svn-id: r55610
2011-01-29PARALLACTION: Add default case to silence GCC warning.Torbjörn Andersson
Not that I understand exactly what this function does, but since it's a piece of debug code I figure I don't really have to. svn-id: r55608
2011-01-29PARALLACTION: Cleanup dialogue code.Nicola Mettifogo
Turned 'no answer selected' into a constant. svn-id: r55607
2011-01-29PARALLACTION: Cleanup dialogue code.Nicola Mettifogo
Hide mood and balloon winding extraction into Question and Answer objects. svn-id: r55606
2011-01-29PARALLACTION: Simplify text comparisons in dialogue code.Nicola Mettifogo
Encapsulate text comparison into string owners and removed some ugly double negative logic. svn-id: r55605
2011-01-29PARALLACTION: Clarify strategy for choosing (answer) dialogue paths.Nicola Mettifogo
svn-id: r55604
2011-01-29PARALLACTION: Don't show 'null' answers in dialogues.Nicola Mettifogo
Skip a 'runanswer' state when the text of the only answer available is 'null'. svn-id: r55603
2011-01-29PARALLACTION: Improve dialogue debug output.Nicola Mettifogo
Print out the current question or the available answers when debug level is 9. svn-id: r55602
2011-01-29PARALLACTION: encapsulate dialogue state changes to aid debugging.Nicola Mettifogo
svn-id: r55601
2011-01-28PARALLACTION: Flexible monologues in BRA (patch #3021740 by fuzzie)Nicola Mettifogo
Some dialogue answers are set to the literal 'null', which is used in NS to simulate a fixed monologue ('null' instructs the engine to jump to the first entry in the list of available questions, which is always made of a single item in this case). BRA has flexible monologues that depend on the game state, so this patch goes and checks all the available branches before picking the correct one. svn-id: r55591
2011-01-28Replaced char* with Common::String in balloon code.Nicola Mettifogo
svn-id: r55590
2011-01-25PARALLACTION: Removal of unecessary returns and whitespace fixes to saveload.*David Turner
svn-id: r55510
2011-01-24PARALLACTION: Improve safety of PathBuffer::getValue().David Turner
This will now avoid invalid memory reads and instead emit warnings if it is called with values outside of the expected data buffer or on a NULL buffer. svn-id: r55492
2011-01-21PARALLACTION: Minor Whitespace fixup in walk.cppDavid Turner
svn-id: r55392
2011-01-21PARALLACTION: Fix Un-initialized Memory Errors and Leaks in Nippon Safes ↵David Turner
Amiga Demo. These were found using Valgrind. svn-id: r55369
2011-01-18PARALLACTION: Fix Big Red Adventure Walking To Stop On Path Build Failure.David Turner
Walking now works correctly, with no valgrind issues, lockups or assertions. svn-id: r55281
2011-01-17PARALLACTION: Minor Whitespace and code complexity reduction in walk.*David Turner
svn-id: r55280
2011-01-17PARALLACTION: Some Improvements To Big Red Adventure Walk Code.David Turner
* Renamed and retyped "int _fieldC" to "bool _stillWalkingTowardsNode" to aid readability and clarity of code. Thanks to fuzzie for naming. * Added assertion to prevent use of invalid memory as reported by Valgrind when walk point p is constructed from an empty list. * Added code to stop walk if buildPath fails, though this causes an assertion instead currently. svn-id: r55279
2011-01-14PARALLACTION: Add debug console command "showmouse".David Turner
This command forces the mouse state to Enabled and Visible. This is intended to help playtesting in Big Red Adventure, which has an issue currently with the mouse pointer getting stuck in the hidden state in some cases. svn-id: r55234
2011-01-14PARALLACTION: Fix Valgrind Error on Engine Exit.David Turner
The automatic destruction of engine member "_char" of type Character at end of the destructor causes an invalid read in the destruction of the AnimationPtr which is a SharedPtr. To stop this happening, the SharedPtr is reset() prior to the destruction of Gfx, so it's dependencies on Gfx are still present. This will affect Nippon Safes as well as Big Red Adventure, but is unlikely to cause any issues and it is likely this exists in NS as well. Thanks to fuzzie for this code. svn-id: r55233
2011-01-13PARALLACTION: Fix for DoorData Memory Leak in Big Red Adventure.David Turner
svn-id: r55232
2011-01-13PARALLACTION: Fixed Limit Values in Big Red Adventure Walker Code.David Turner
This corrects the Valgrind invalid reads associated with the IS_PATH_CLEAR() check reading beyond the data buffer and probably improves the pathfinding behaviour. Thanks to fuzzie for suggesting this patch. svn-id: r55231
2011-01-13PARALLACTION: Close Memory Leak in Big Red Adventure Subtitles.David Turner
svn-id: r55229
2011-01-13PARALLACTION: Close Memory Leak in Big Red Adventure MIDI Playback.David Turner
svn-id: r55226
2011-01-13PARALLACTION: Close Memory Leak in Big Red Adventure When Changing Location.David Turner
svn-id: r55225
2011-01-13PARALLACTION: Fix for Valgrind Uninitialized Error in Big Red Adventure Walk ↵David Turner
Code. svn-id: r55221
2011-01-13PARALLACTION: Fix Valgrind Error When Displaying Location Balloons In Big ↵David Turner
Red Adventure. svn-id: r55220