Commit Graph
87 Commits
Author SHA1 Message Date
Donovan Watteau cf9e45d338 KYRA: MODULES: Remove workaround for GCC 3.4.4
We require C++11 and GCC 3.4.4 has no support for it.

If the Maemo port has an updated toolchain, this compiler bug has
likely been fixed since then.
2022-05-25 19:07:30 +03:00
athrxx e221cd4a46 KYRA: (LoK/Mac) - add Mac sound support
- The high quality music seems to work fine. I haven't done any extensive comparison with emulation, but all music tracks have been played with asan enabled. I haven't actually finished playing through the game, though (still stuck in the damn fireberry cave), so the finale still needs to be tested...

- I am not sure about the low quality music. It should work, but hasn't really seen much testing. Currently, I don't have any way to switch to the low quality music anyway. Maybe I'll add a launcher option for it.

- The 16bit mode I have been trying to invent doesn't work. Priority was finishing the original sound first.

- GMM volume settings haven't been fully implemented and don't work
2021-11-08 22:56:46 +01:00
aryanrawlani28 4f55c1b689 DIRECTOR & KYRA: MODULES: Use workarounds to skip warnings.
- When these files are included for the second time, a warning is shown that the previous recipes will be overriden.
- Use_Rules helps with a workaround to disable these warnings.
2020-10-03 14:56:36 +02:00
aryanrawlani28 29ceb07959 ENGINES: ALL: Revert detection submodule to be directly present in the engine directory
- DETECT_OBJS are present and added inside an engine's modules.mk file.
2020-10-03 14:56:36 +02:00
aryanrawlani28 8189a05316 ENGINES: ALL: Adapt to changes for new plugins by defining a new detection module
For each engine:
- Make a new folder detection
- Move detection-related files inside the folder
- Add a new module "enginename/detection"
- Add DETECT_OBJS here
- Adjust the normal engine module to remove detect_objs
- Adjust every file for the new changes.
2020-10-03 14:56:36 +02:00
aryanrawlani28 846336cb31 KYRA: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
athrxx 8e800d44b1 KYRA: (EOB/SegaCD) - add sound driver 2020-07-30 22:19:21 +02:00
athrxx a904ba4f48 KYRA: (EOB/SegaCD) - fix text display, inventory and stats page 2020-07-30 22:19:14 +02:00
athrxx 466a927738 KYRA: (EOB/SegaCD) - implement sequence player
This also (hopefully) involves most of the necessary graphics code. Text support is still missing. Otherwise, the intro and outro play mostly fine (except for some special opcodes).
2020-07-30 22:19:09 +02:00
athrxx e4a33abfb5 KYRA: (EOB/SegaCD) - implement opening credits
Initial file handling, palette and graphics support. The opening credits get played satisfactory. Following up with the cinematics player will be much easier now...
2020-07-30 22:19:08 +02:00
NMIError 62387f8d38 MIDI/KYRA: Miles channel locking and GM support (#2273)
* MIDI/KYRA: Add channel locking and GM to XMIDI

This improves support for XMIDI channel locking and moves it from the KYRA
engine to the generic Miles MIDI driver. To support this, a source parameter
is added to the XMIDI parser and Miles driver so the driver can distinguish
several XMIDI parser instances sending MIDI events. I've also added GM support
to the generic Miles MIDI driver.

The previous implementation of channel locking did not always track and restore
controller values properly when unlocking a channel. Specifically, at the start
of Legend of Kyrandia, when Brandon talks to the tree, the tree "creaking"
sound effect uses some channels from the background music. The volume of the
music channels was not correctly restored, resulting in some instruments being
much louder then others.
Another issue was that volume was not always properly set when locking a
channel. In the Legend of Kyrandia intro, when Brandon is lifted up to the
house, some sound effects were missing because MIDI channel volume was 0.
This new implementation fixes these issues.

* MIDI: Suppress Miles controller warnings

Several Miles controller MIDI messages generate warnings in the XMIDI parser,
even though they are handled by the Miles drivers. I've removed these.

* MIDI: Fix Codacy issues
2020-05-29 17:50:14 +02:00
athrxx 46ef0109b5 KYRA: (EOB) - prepare for PC Speaker support
This commit does not include the actual driver. It only provides the necessary refactoring and resource handling.
2020-02-01 21:09:49 +01:00
athrxx 7cae73aae3 KYRA: (EOB/PC98) - initial startup fix
- hook up static resources, sound code, etc
- nothing really working yet, though (except the music)
2019-12-18 20:50:41 +01:00
athrxx 5cea166585 KYRA: (EOB/PC98) - add sound driver 2019-12-18 20:50:40 +01:00
Tarek Soliman 9393586ffe KYRA: Update Maemo workaround 2019-09-24 11:19:34 -05:00
athrxx 9144b8894e KYRA: sound files/classes reorganization step #4
Separate drivers from their wrapper classes and move them into their own files
2019-04-15 21:51:47 +02:00
athrxx 9d52746334 KYRA: sound files/classes reorganization step #3
Untangle FM-Towns and PC-98 sound classes and move them to separate files.
2019-04-15 21:51:47 +02:00
athrxx 462fea2cca KYRA: sound files/classes reorganization step #1
Rename files which are only used for one target.
This is actually wrong for my renaming of sound_towns.
But I'll move the code for other targets to different files in another commit. I want to do just the renaming here, so that Git might be better at preserving the history.
2019-04-15 21:51:47 +02:00
athrxx 4cc9c81a75 KYRA: (EOB1/Amiga) - add sound driver 2019-03-06 20:48:20 +01:00
athrxx 1dfdcc7252 KYRA: cleanup dir
Reorganize all files in sub directories. The file placement isn't as intuitive as it might be for other engines, which is probably the reason why this hasn't been done before.
2019-03-06 20:48:15 +01:00
athrxx f49eaa5654 KYRA: (EOB) - add support for FM-Towns version of EOB II 2018-11-14 17:22:22 +01:00
Johannes Schickel 487e73bd21 KYRA: Merge Screen_Rpg with Screen (for now).
This should(!) fix ARM compilation issues due to virtual inheritance.
2011-12-26 19:32:05 +01:00
athrxx 60330556ff KYRA: (EOB/LOL) - move eob/lol specific screen code to new class 2011-12-26 16:18:16 +01:00
athrxx 36d85a315f KYRA: (EOB) - rename some files for a better match with the contained code 2011-12-26 16:18:16 +01:00
athrxx 8b618e46df KYRA: (EOB/LOL) - cleanup common code
(rename some stuff and move EOB/LOL common code to separate files)
2011-12-26 16:18:16 +01:00
athrxx 76bfcf834d KYRA: (EOB) - some refactoring 2011-12-26 16:18:12 +01:00
athrxx 540d081a6f KYRA: (EOB) - initial code base commit 2011-12-26 16:18:10 +01:00
Tarek Soliman 4cd9c16867 KYRA: workaround to get maemo to even compile
kyra has a file that won't compile in -Os
2011-09-22 22:07:44 -05:00
Johannes Schickel 7fb37db81e KYRA: Move LoL specific static data to its own file.
svn-id: r51175
2010-07-22 22:00:46 +00:00
Florian Kagerer f4c54fb636 LOL: moved TIM animation code into a separate class
svn-id: r46351
2009-12-12 20:06:42 +00:00
Norbert Lange cfe2928d98 added primitive support for Kyrandia`s Intro Music.
svn-id: r42567
2009-07-17 16:07:57 +00:00
Johannes Schickel 2bcf5c0552 - Moved Sound implementation declarations to the newly added file sound_intern.h
- Added support for PC Speaker sound in all Kyra1, Kyra2 and Lands of Lore
- Slight cleanup

svn-id: r40939
2009-05-27 14:40:37 +00:00
Johannes Schickel e9401655dd Commit patch #2796028 "lol files are always compiled" with some slight extension.
svn-id: r40865
2009-05-24 14:58:40 +00:00
Florian Kagerer 5a4b3c5441 KYRA/LOL: restructured voice playing code so that audio compression can be supported
svn-id: r40839
2009-05-23 23:33:31 +00:00
Florian Kagerer 4c2d4a453d LOL: implemented loading and saving via Alt/Ctrl + number keys
svn-id: r40631
2009-05-16 23:16:02 +00:00
Johannes Schickel 3a35b5b5f2 - Make Lands of Lore compileable optionally as suggested by _sev. (via ENABLE_LOL define)
- Change default build system to support LoL as a subengine of KYRA. LoL is currently disabled by default.

(- Minor enum name fixes for Lands of Lore code.)

svn-id: r39099
2009-03-04 00:45:34 +00:00
Florian Kagerer 7ea5cefef4 LOL: implemented some monster related code (monsters now get placed in the maze, but they still don't do anything)
svn-id: r39039
2009-03-01 14:45:30 +00:00
Florian Kagerer b5b4cb66a1 LOL: implemented timers (only text fading for now)
svn-id: r38766
2009-02-21 23:20:14 +00:00
Johannes Schickel 90184e6812 Moved some code to newly added files sequences_lol.cpp (more static sequence code is coming up in the future anyway...)
svn-id: r36183
2009-02-01 20:21:01 +00:00
Florian Kagerer 784c99b3da svn-id: r36178 2009-02-01 19:27:01 +00:00
Florian Kagerer ff268e8fd5 LOL: Some drawing code and some opcodes so that the first scene will show up. Playing is not possible. This is still somewhat messy since a lot of stuff hasn't been figured out yet.
svn-id: r35903
2009-01-18 17:04:24 +00:00
Johannes Schickel 91de740d44 Implemented (some) main menu code for LoL.
svn-id: r35553
2008-12-26 11:04:45 +00:00
Johannes Schickel 893a79b01d Initial version of proper MIDI support for KYRA.
svn-id: r35174
2008-11-30 01:53:32 +00:00
Johannes Schickel 7aaf6139e2 Moved Kyra resource code to a SearchSet/Archive based implementation, this removes dependencies on Common::File.
svn-id: r34428
2008-09-07 21:46:37 +00:00
Johannes Schickel 5e0df8ad8e Committed slightly modified patch #2029395 "KYRA: Lands of Lore Intro + Character selection".
svn-id: r33463
2008-07-31 10:47:15 +00:00
Johannes Schickel 279987c181 Oops forgot to commit module.mk
svn-id: r32054
2008-05-12 12:43:52 +00:00
Johannes Schickel bb03596744 - Renamed KyraEngine to KyraEngine_v1
- kyra.* -> kyra_v1.*
- scene.cpp -> scene_v1.cpp

svn-id: r32044
2008-05-11 23:16:50 +00:00
Johannes Schickel 6e0c569966 Consisteny fixes:
- Renamed classes *_v1 -> *_LoK
 - Renamed files *_v1.* -> *_lok.*
 - Renamed WSAMovieV1 -> WSAMovie_v1
 - Renamed WSAMovieV2 -> WSAMovie_v2

svn-id: r32042
2008-05-11 22:32:37 +00:00
Jordi Vilalta Prat 38a8aa516e Allow static and dynamic plugins to be used at the same time
svn-id: r31888
2008-05-06 03:00:26 +00:00
Johannes Schickel c15ad0e373 Initial common base between kyra2 and kyra3 GUI code.
svn-id: r31867
2008-05-04 15:37:41 +00:00