aboutsummaryrefslogtreecommitdiff
path: root/engines/agi
AgeCommit message (Collapse)Author
2011-06-10AGI: Switch to alternate AdvancedMetaEngine, avoid ADParamsMax Horn
2011-06-10ENGINES: Change incorrect use of 'target' to 'gameid'Max Horn
2011-06-10AGI: Experimental fix for bug #3292778 ("SQ2: Music missing notes")eriktorbjorn
The idea here is that if two voices are generating the same tone, the square wave generator should be in sync so that the wave forms amplify each other, rather than cancelling each other out.
2011-06-08AGI: Numeric Keypad Control in Predictive Dialog (Bug #3309376)D G Turner
In AGI games, the numeric keypad is used as an alias for cursor keys to allow stationary and 8 directional input, but while the predictive dialog is open, this is more sensibly mapped to numeric input to allow use of the predictive input on desktop ports.
2011-06-08AGI: Fix Engine Exit While Predictive Dialog Is Open.D G Turner
2011-06-08AGI: Fix Broken Predictive Text Input.D G Turner
This was a regression introduced by 4b2f92b5e56a1fc273c8c8d2e69b747f938ea92f (r55135)
2011-06-03AGI: Fix type mismatch (see bug #3311198)Max Horn
2011-06-03Remove accidentally added file *sigh*Max Horn
2011-06-03SCI: Switch some char* to Common::String&Max Horn
2011-06-02AGI: Replace snprintf() usage with Common::String::format()D G Turner
Safer and less portability issues.
2011-06-02ENGINES: Change 2nd param of Engine::saveGameState to Common::StringMax Horn
2011-05-25AGI: Fix compilation on 64 bit platformsWillem Jan Palenstijn
I'm unable to test this change, but it avoids using a pointer to store an int temporarily.
2011-05-25Merge pull request #9 from tiqpit/a2gsEugene Sandulenko
AGI: Fix //gs output
2011-05-25ALL: behaviour -> behaviorMatthew Hoops
2011-05-23COMMON: Add exit() to list of forbidden symbolsMax Horn
2011-05-18AGI: Constify stuffMax Horn
2011-05-17AGI: CleanupWillem Jan Palenstijn
2011-05-17AGI: Unify RandomSource instantiationMax Horn
This fixes a leak in PreAGI games (which never deleted their RandomSource), ensures that PreAGI's RandomSource has a name (and hence is registered with the event recorder) and even slightly simplifies the AgiEngine destructor.
2011-05-17COMMON: Registers RandomSources in constructor with the event recorderMax Horn
This also removes the dependency of engines on the event recorder header and API, and will make it easier to RandomSources that are not properly registered.
2011-05-16ENGINES: Unify engine namesThierry Crozat
This unifies the engine names in MetaEngine::getName() and the credits. In particular drop "Engine" or "engine" from the names when it was present and use expanded names in credits when the MetaEngine uses it (e.g. "Beneath a Steel Sky" instead of "BASS").
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-05-07AGI: Replace Winnie macros with functionsMatthew Hoops
From patch #3298149
2011-05-02ALL: Mark printf and various other symbols as forbiddenMax Horn
Right now, a few places in the frontend code still use printf and consorts. We mark the affected files with a FIXME for now, and add a dedicated exception for each. To be fixed! Also tweak FORBIDDEN_SYMBOL_REPLACEMENT to hopefully really always enforce a compiler error
2011-04-28JANITORIAL: Reduce header dependencies in shared codeOri Avtalion
Some backends may break as I only compiled SDL
2011-04-28JANITORIAL: Format forward declarations to follow conventionOri Avtalion
2011-04-24AGI: Fix bug #3087825: AGI: Code analysis warningsEugene Sandulenko
2011-04-18COMMON: Rename Error to ErrorCode, introduce new Error classMax Horn
2011-04-14ALL: centre -> centerMax Horn
2011-04-14ALL: colour -> colorMax Horn
2011-04-12AGI: More formatting changes...Jussi Pitkanen
2011-04-12AGI: Use delete[] instead of delete for arraysJussi Pitkanen
2011-04-12AGI: FormattingJussi Pitkanen
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-04-10AGI: Detect swap mode correctly for Apple IIGS instruments.Jussi Pitkanen
Also add comments describing which instruments use swap mode or vibrato, plus print debug messages when those instruments are actually being played.
2011-04-09AGI: Cleanup sound_2gs.*Jussi Pitkanen
2011-04-09AGI: Let games start playing a new sound even if another one is still playing.Jussi Pitkanen
2011-04-09AGI: Refactor and fix Apple IIGS sound generatorJussi Pitkanen
Make the player be centered on a fixed number of "generators" instead of MIDI channels that arbitrarily allocate generators for notes. Make the audio stream to be stereo and for sample rate use _sampleRate. Rewrite the synthesis core: * Make generators use both oscillators * Implement swap mode for oscillators * Fix envelope update frequency
2011-04-04AGI: Avoid global constructors (due to global refs)Max Horn
2011-04-03AGI: Added the Spanish version of SQ2 (bug report #3260349)md5
2011-03-28AUDIO: Add Audio::MidiPlayer::createDriver(), let some engines use itMax Horn
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-24AGI: Change SoundGenMIDI to derive from Audio::MidiPlayerMax Horn
As a side effect, this fixes the incorrect handling of 'All Note Off' in SoundGenMIDI::send.
2011-03-23ENGINES: Remove unused MIDI pass-through codeMax 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-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-19PREAGI: Cleanup volume levels initializationdhewg
2011-03-16AGI: Remove newlines from debug()dhewg
2011-03-05AGI: Kill the timer based counterdhewg
Using the timer mechanism for just a simple counter is not just overkill, its also inaccurate. When using a call frequency of x, and waiting for y callbacks, the passed time will not be x*y. The problem amplifies on slower platforms and/or fair thread schedulers. Use absolute times instead. Most notably, the walking speed of the avatar is now smooth on android, but probably on all other handhelds we support too.
2011-02-28AGI: Add detection for the 'AGI Combat' fan gameMatthew Hoops