Commit Graph
25 Commits
Author SHA1 Message Date
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh f1f4657b10 AGI: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
D G Turner 95c0afa2c3 AGI: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-10-14 03:54:10 +01:00
Ori Avtalion 438f100d5e AGI: Reduce audio header dependencies 2016-05-22 22:02:37 +03:00
Johannes Schickel 6778175f6d AGI: Fix formatting.
This mostly enforces tabs for indentation and spaces for formatting. But also
fixes spaces on empty lines, some extra/missing spaces.

astyle + manual fixup
2016-02-02 20:15:18 +01:00
Martin Kiewitz 4bc01ab7d5 AGI: getflag/setflag/etc. cleanup
renamed getflag() to getFlag()
renamed setflag() to setFlag()
renamed flipflag() to flipFlag()
preagi: renamed setFlag for this engine to setWinnieFlag
2016-01-31 17:56:53 +01:00
Martin Kiewitz 8a595e7771 AGI: graphics rewrite + cleanup
- graphics code fully rewritten
- Apple IIgs font support
- Amiga Topaz support
- Word parser rewritten
- menu code rewritten
- removed forced 2 second delay on all room changes
  replaced with heuristic to detect situations, where it's required
- lots of naming cleanup
- new console commands show_map, screenobj, vmvars and vmflags
- all sorts of hacks/workarounds removed
- added SCI wait mouse cursor
- added Apple IIgs mouse cursor
- added Atari ST mouse cursor
- added Amiga/Apple IIgs transition
- added Atari ST transition
- user can select another render mode and
  use Apple IIgs palette + transition for PC versions
- inventory screen rewritten
- SetSimple command now properly implemented
- PreAGI Mickey: Sierra logo now shown
- saved games: now saving controller key mapping
  also saving automatic save data (SetSimple command)
- fixed invalid memory access when saving games (31 bytes were saved
  using Common::String c_ptr()

Special Thanks to:
- fuzzie for helping out with the Apple IIgs font + valgrind
- eriktorbjorn for helping out with valgrind
- LordHoto for figuring out the code, that caused invalid memory
  access in the original code, when saving a game
- sev for help out with reversing the Amiga transition

currently missing:
- mouse support for menu
- mouse support for system dialogs
- predictive dialog support
2016-01-29 13:22:22 +01:00
Thierry Crozat fc2ac47eab AGI: Remove dead code in PCjr code
I forgot to remove that code in commit 0cb0a09 when I removed the
line that preceded it.
2015-05-11 20:15:03 +01:00
Thierry Crozat 0cb0a09c02 AGI: Change the way the mixer volume is handled in the PCjr player
Instead of factoring the volume into the tone attenuation it now scales
the volume table. This way it still uses the full table when playing
at a low volume and therefore keeps the 16 attenuation levels.

Also use kMusicSoundType instead of kSFXSoundType to be coherent with what
the MIDI output is doing (volume for both music and SFX is controlled by
the Music volume slider).
2015-05-10 16:14:55 +01:00
Thierry Crozat 830f8c42f5 AGI: Fix PCjr dissolve method used for early versions
This was a regression from ceb2909.
2015-05-10 16:02:33 +01:00
Thierry Crozat 65ed7e775e AGI: Fix bug with music/SFX volume in PCjr
A higher volume in the GUI resulted in a lower music volume (and
lower volume in the GUI resulted in higher music volume).
2015-05-10 15:39:00 +01:00
Thierry Crozat 8e4c672d38 AGI: Use correct volume for PCjr output
This looks like a regression from commit 24bb5da: AGI: Add a layer of
abstraction between the sound chip and the two players
2015-05-10 15:38:54 +01:00
Johannes Schickel 6aac905dfd AGI: Make GPL headers consistent in themselves. 2014-02-18 02:39:32 +01:00
Johannes Schickel 89abab97e3 JANITORIAL: Remove trailing whitespaces.
Powered by:
git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-09-26 04:17:55 +02:00
Matthew Hoops de6390dddb AGI: Make the sound code use AgiBase instead of AgiEngine
In preparation of using the sound code with Winnie
2011-08-14 13:10:43 -04:00
Jussi Pitkanen 7a80c4cdb3 AGI: Fix row duration in V1 SOUND resource player 2011-08-13 23:26:44 +01:00
Jussi Pitkanen 24bb5da228 AGI: Add a layer of abstraction between the sound chip and the two players 2011-08-13 23:26:36 +01:00
Jussi Pitkanen 1f680ecbc8 AGI: Detect the end of V1 sound resources correctly, fixing crashes 2011-08-13 23:26:27 +01:00
Jussi Pitkanen ab784944ea AGI: Implement note fetch routine for AGI v2.001 sound resources
I suspect this is the format for AGI V1 sound resources as well. It is
currently implemented by splitting getNextNote() to getNextNote_v2() and
getNextNote_v1(). Since the V1 format consists of simple register values
to the sound chip in PCjr, this could probably be made more cleanly by
refactoring the code to resemble the chip more closely, so that its state
is updated by writing to the registers.
2011-08-13 23:26:19 +01:00
eriktorbjorn 0c1665820b AGI: Experimental fix for bug #3292778 ("SQ2: Music missing notes")
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-10 19:41:31 +02:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Torbjörn Andersson df91686a36 AGI: Initialise PCjr emulator channels on creation
Because chanGen() gets called very early, and sometimes it crashes
ScummVM as soon as the game starts. Actually, it's probably enough to
initialise a couple of fields in _tchannel[], but I figured it
couldn't hurt to clear all of _channel[] and _tchannel[].

svn-id: r52741
2010-09-16 04:43:49 +00:00
Willem Jan Palenstijn 7c7054dbd1 Remove unnecessary svn:executable properties
svn-id: r49870
2010-06-15 17:14:38 +00:00
Eugene Sandulenko ceb2909e0a AGI: Split all sound generators into separate modules.
Now the sound subsystem of the engine finally is possible to grasp.
Also now it is obvious why CoCo3 sounds are not functioning.

svn-id: r49757
2010-06-15 10:36:54 +00:00
Eugene Sandulenko 6903fc7a07 AGI: Implement FR #2813133.
FR #2813133: "AGI: Proper Tandy 3-Voice/IBM PCjr Sound Support".
Add proper Tandy music. Heavily based on NAGI source, thus attached
its X11 license.

To run it now use -e pcjr. Old one is still default for adlib but
most likely will be changed in the future.

Also lied ground for further separation of different sound generators.

svn-id: r49755
2010-06-15 10:36:10 +00:00