Oystein Eftevaag
f25cb2e735
Uses kyra.dat for GUI strings instead of hardcoding them, which means localized strings are now supported for the menus. Note that the size of the menus are not yet calculated to account for the longer strings in some languages
...
svn-id: r22105
2006-04-23 14:43:16 +00:00
Johannes Schickel
b756c3e899
Fixes use of textspeed settings if voice+text mode is enabled. (thanks to salty-horse)
...
svn-id: r21999
2006-04-18 02:08:51 +00:00
Johannes Schickel
0eee3fe591
- Implements copyRegion without transparency checking
...
- Uses copyRegion without transparency checking to fix credits drawing bugs
svn-id: r21989
2006-04-17 19:52:31 +00:00
Johannes Schickel
2fb0ce8c57
Simplifies credits.txt loading.
...
svn-id: r21988
2006-04-17 19:39:31 +00:00
Johannes Schickel
592e37accd
Fixes bug #1471895 ("KYRA1: Kyragem goes black at the very end").
...
svn-id: r21987
2006-04-17 19:33:08 +00:00
Torbjörn Andersson
6e2a18e28d
Rewrote the timing of the Kyra end credits so that it doesn't matter that the
...
variables are signed. Otherwise the credits may hang on a slow system.
svn-id: r21986
2006-04-17 19:31:05 +00:00
Oystein Eftevaag
bdd5a25c16
Implements the end credits, and disables fast forwarding in the intro.
...
svn-id: r21980
2006-04-17 17:39:08 +00:00
Max Horn
ba1b25305e
Removed the directory parameter from md5_file
...
svn-id: r21937
2006-04-16 12:50:39 +00:00
Max Horn
68cb7f52c8
- Renamed ConfigManager::getActiveDomain to getActiveDomainName, and added a new getActiveDomain method that returns a pointer to the actual active *domain*
...
- Added Engine::_targetName whose value is computed from the name of the active domain
- Removed GameDetector::_targetName, instead code now uses either Engine::_targetName or the name of the active domain
- This in turn allowed for removing usage of GameDetector in many places
svn-id: r21916
2006-04-15 20:36:41 +00:00
Max Horn
1470dadb1d
Changed File::open to take a Common::String as file name parameter
...
svn-id: r21867
2006-04-14 01:48:51 +00:00
Max Horn
cf202049ff
Fixing mismatch between format strings and data on some systems
...
svn-id: r21827
2006-04-12 14:54:12 +00:00
Jonathan Gray
eb3ae7d726
sizeof(void *) != sizeof(int) for a large number of systems.
...
Fix a lot of debug/error statements that were using %d/%x
for the result of pointer arithmetic.
As C++ apparently has no format string for ptrdiff_t use
%lu/%lx as appropriate.
svn-id: r21824
2006-04-12 10:01:41 +00:00
Max Horn
94e647235f
Fix const correctness in Kyra's StaticResource::loadStrings and StaticResource::loadPaletteTable (notice the difference between a pointer pointing to a pointer pointing to const memory, vs. a pointer pointing to a *constant* pointer pointing to const memory)
...
svn-id: r21708
2006-04-09 00:44:08 +00:00
Eugene Sandulenko
5a2ad04a9e
Introduced language EN_ANY used for general English game entries. EN_USA and
...
EN_GRB should be used for games which have both variants. Currently it is
MM NES and BASS. All other are switched to EN_ANY.
svn-id: r21702
2006-04-08 23:12:56 +00:00
Max Horn
e7a8bb6abf
Modified the REGISTER_PLUGIN macro so that it allows (and requires) a trailing semicolon (this helps certain tools to parse our code better)
...
svn-id: r21689
2006-04-08 12:06:07 +00:00
Max Horn
8cf8acfd63
Renamed various *GameSettings to GameSettings (our namespaces are enough to distinguish them)
...
svn-id: r21686
2006-04-08 11:21:04 +00:00
Eugene Sandulenko
8fa9bd6728
Removed extra exclamation marks in warning() calls as well.
...
svn-id: r21608
2006-04-04 22:21:10 +00:00
Eugene Sandulenko
d292c0ec55
Since our debug() adds an exclamation mark at the message end, remove
...
it in several calls to avoid duplication!!11!
svn-id: r21607
2006-04-04 22:04:51 +00:00
Torbjörn Andersson
80b3f9217d
Don't try to copy str to _talkBuffer if str is pointing to _talkBuffer. Apart
...
from being unnecessary, the result of strcpy() on overlapping memory areas is
unpredictable.
svn-id: r21562
2006-04-02 18:58:07 +00:00
Max Horn
8cdee5a931
Do not #include endian.h in scummsys.h (cuts down deps on endian.h from ~400 to ~250). Many greetings to eriktorbjorn, and have fun recompiling.
...
svn-id: r21500
2006-03-29 15:59:37 +00:00
Max Horn
0da5fb4c1c
Alphabetical build order
...
svn-id: r21499
2006-03-29 15:51:13 +00:00
Johannes Schickel
c09d1ea520
- Commits heaviliy modifed patch #1459951 ("KYRA: Combining MIDI music with Adlib sfx") (created a wrapper class for two different sound drivers instead of adding a new variable to the KyraEngine class and chaning stuff there)
...
- Prevents to play track 0 for non mt-32 midi devices (got ugly sound output with windows midi)
svn-id: r21479
2006-03-28 15:15:36 +00:00
Max Horn
9f93e5bb81
Renamed various container isEmpty() methods to empty() to match STL conventions
...
svn-id: r21472
2006-03-28 09:42:54 +00:00
Johannes Schickel
518c7b871f
Comments out unneeded code in enterNewScene (only used for cd audio version).
...
Fixes bug with stopping pegasus music before the animation finished.
svn-id: r21469
2006-03-27 18:20:19 +00:00
Torbjörn Andersson
23c692f09f
Cleaned up update_playRhythmSection(). It's almost possible to understand what
...
it's intended to do now.
Renamed _unkOutputByte2 to _vibratoAndAMDepthBits. It's a pretty terrible name,
but that's what it is: the two most significant bits of the Adlib BD register.
Renamed _rhythmSection to _rhythmSectionBits for consistency: It's the five
least significant bits of the Adlib BD register.
(The remaining bit is the rhythm on/off bit. I don't think we store that one in
any variable.)
svn-id: r21463
2006-03-26 22:11:40 +00:00
Torbjörn Andersson
737c52590b
I believe that the purpose of updateCallback45() is to add a signed value to a
...
channel's unsigned tempo. Rewrote the function to make this clearer, and
renamed it update_changeChannelTempo().
svn-id: r21448
2006-03-25 10:11:38 +00:00
Torbjörn Andersson
2c279848d8
More renamings:
...
unk11 -> durationRandomness
updateCallback12() -> update_setupNoteAndDuration()
updateCallback26() -> update_setupDuration()
updateCallback44() -> update_setDurationRandomness()
svn-id: r21447
2006-03-25 09:55:28 +00:00
Eugene Sandulenko
22042bc637
- Implemented case insensitive file reading. Left old system as a fallback
...
in case some engine writer decide to do something unwise
- Removed used of ConfMan.getKey("path") in file-related cases, because
now File class handles that
- Fixed bug in ScummEngine_v80he::o80_getFileSize() where path delimiters
weren't translated
svn-id: r21443
2006-03-25 04:17:17 +00:00
Andrew Kurushin
212b150b6f
Fix MSVC warnings
...
svn-id: r21440
2006-03-24 18:30:34 +00:00
Torbjörn Andersson
0c0c41d495
Implemented "sound triggers" so that the music does not stop shortly after
...
entering the castle. I hope this is a fair approximation of how the original
worked. Of course, this led to a couple of more renamings:
_unk5 -> _soundTrigger
updateCallback54() -> update_setSoundTrigger()
snd_setUnk5() -> snd_getSoundTrigger() (yes, "get")
At the moment, the only known sound triggers are the ones in the castle. If an
unknown trigger is set, the debugging messages will be really, really noisy. I
don't know if I should consider this a bug or an extremely annoying feature.
svn-id: r21396
2006-03-21 17:17:24 +00:00
Johannes Schickel
9031b27349
Implements cmd_shakeScreen.
...
svn-id: r21394
2006-03-20 19:01:39 +00:00
Torbjörn Andersson
c506e452f1
Initialise _haveScrollButtons, since Valgrind complained about it.
...
svn-id: r21392
2006-03-20 17:33:08 +00:00
Oystein Eftevaag
3e9246331e
Makes sure Brandon actually dies when he turns to stone in the kyragem room
...
svn-id: r21379
2006-03-19 08:35:43 +00:00
Oystein Eftevaag
d34d6b17df
Fixes a potential problem in the pathfinder where an array could be accessed with a negative value in certain rooms
...
svn-id: r21378
2006-03-19 07:54:30 +00:00
Oystein Eftevaag
e636a25a33
Adds button press animations to the menu, and resets the cursor when the Dialog of Death pops up. Also, mouse clicks are now registered on button up instead of button down, as in the original
...
svn-id: r21377
2006-03-19 05:55:26 +00:00
Oystein Eftevaag
544abe3d12
Oops, forgot to change a variable declaration in the last commit
...
svn-id: r21367
2006-03-18 15:01:08 +00:00
Oystein Eftevaag
74aa771143
Changed 'amiga' keywords to 'isAmiga' in the resource handling code to avoid #define conflicts
...
svn-id: r21366
2006-03-18 14:55:29 +00:00
Johannes Schickel
f9f2cd2dbe
- started to rework static resource loading
...
- made some function parameters const (to work with new static res code)
svn-id: r21365
2006-03-18 14:43:18 +00:00
Oystein Eftevaag
0f21db8c8e
Fixes the color of the quitting dialog text after drinking a potion
...
svn-id: r21358
2006-03-18 11:22:18 +00:00
Oystein Eftevaag
05ee5cf2bd
Extends seq_drinkPotionAnim() so that the color of the flask Brandon
...
drinks will be correct. Also fixes a bug where an animation
(Brandon ringing the bells) would play too quickly.
svn-id: r21354
2006-03-18 04:41:34 +00:00
Johannes Schickel
0ebebb1176
Fixes animations when brandon turns inivisible/visible.
...
svn-id: r21348
2006-03-17 20:49:12 +00:00
Johannes Schickel
41b4a6aa7c
Fixes bug #1401337 ("KYRA: Platform with pegasi graphics glitch")
...
svn-id: r21347
2006-03-17 19:39:46 +00:00
Johannes Schickel
bbd1725598
- Fixes bug #1401432 ("KYRA: Brandon graphics glitch when exiting castle catacombs")
...
- Fixes some sprite redraw bugs introduced with my last commits
- Fixes wsa drawing bug in the cave too
svn-id: r21346
2006-03-17 14:19:18 +00:00
Torbjörn Andersson
4df16b71b8
Oops, I never meant to remove *that* line! Put it back again. (This fixes the
...
flute sound, and probably other regressions as well.)
svn-id: r21345
2006-03-17 13:13:31 +00:00
Torbjörn Andersson
e36edb1b35
The opcode functions are not allowed to modify their own channel.dataptr
...
directly. If they want a new data pointer, they have to use the dataptr
parameter. This fixes a subtle bug that would cause the wrong music to play
when getting the quill in Kyra 1.
svn-id: r21344
2006-03-17 12:03:24 +00:00
Torbjörn Andersson
05e0542452
More cleanups and renamings: _sfxSecondByteOfSong -> _sfxPriority
...
Added some comments on the strange but probably harmless things going on in
playSoundEffect()
svn-id: r21340
2006-03-16 23:22:23 +00:00
Torbjörn Andersson
1d8e206333
Went through callbacks 51, 52 and 53, comparing them to LordHoto's annotated
...
disassembly. I think they're correct now, and a bit easier to read. My old
comments were wrong, too.
I think they are for manipulating the Adlib rhythm section volumes. I'm not
sure the Kyra music ever uses the Adlib rhythm section.
svn-id: r21339
2006-03-16 20:52:36 +00:00
Torbjörn Andersson
99c34b0377
We have several functions where we need to find the pointer to a program or an
...
instrument. These are found using the lookup tables in _soundData on offsets 0
and 500 respectively. Added helper functions for that, which makes the code a
lot tidier. Particularly in update_setupRhythmSection(), where it's now much
clearer where it's getting all those "unk" values from.
Use the checkValue() function (which limits the "total level" to its valid
range) for the calculateOpLevel1() and 2() functions as well.
Renamed updateCallback16() to update_waitForEndOfProgram().
svn-id: r21337
2006-03-16 18:53:02 +00:00
Torbjörn Andersson
0182b46679
More renamings:
...
callbackOutput() -> setupPrograms()
callbackProcess() -> executePrograms()
updateCallback3() -> update_setupProgram()
_unk4 -> _rhythmSection
updateCallback48() -> update_setupRhythmSection()
updateCallback49() -> update_playRhythmSection()
updateCallback50() -> update_removeRhythmSection()
svn-id: r21336
2006-03-16 18:01:14 +00:00
Torbjörn Andersson
8fcb38648d
I don't know if it's our bug, or a bug in the original Kyra music driver, but
...
updateCallback3() would call unkOutput2(9) in at least one case. This is
obviously wrong because it a) reads outside _regOffsets[], and b) writes to
invalid Adlib registers.
Now unkOutput2() has the same safeguards as noteOff() already had, making
callbackOutput() and updateCallback3() even more similar.
svn-id: r21335
2006-03-16 17:39:23 +00:00