Commit Graph

490 Commits

Author SHA1 Message Date
Sven Hesse
2653b70b0c Fixed regression that was added when making it compile with MSVC8
svn-id: r26521
2007-04-16 05:03:52 +00:00
Sven Hesse
c8396a283d Fixing compile for me, hopefully not breaking it for the MSVC8 again...
svn-id: r26508
2007-04-15 16:26:12 +00:00
Paweł Kołodziejski
ae7c640671 fixed warnings
svn-id: r26506
2007-04-15 15:40:24 +00:00
Sven Hesse
9bb3e2e495 Some more MSVC8 uninitialed variable warning (see bug #1700986)
svn-id: r26498
2007-04-15 14:12:11 +00:00
Sven Hesse
1b71599d86 MSVC8 apparently complains about uninitialized variables there, fixing (see bug #1700986)
svn-id: r26495
2007-04-15 13:41:54 +00:00
Sven Hesse
3c62df7dfe Removed the need for double<->int conversions in readBuffer()
svn-id: r26493
2007-04-15 12:46:31 +00:00
Sven Hesse
72edefea51 Fixed another IMD drawing glitch (noticeable after Ooya gets his magic bag back)
svn-id: r26492
2007-04-15 12:46:10 +00:00
Sven Hesse
29523e9017 - Fixed another IMD drawing glitch (noticeable when becoming a giant)
- The IMD player now uses an AppendableAudioStream instead of a ringbuffer
- Changed waitEndSoundSlice() to use the time the sound was started as a reference point. This should help with the sync and fix stutter issues (in Wynnona's letter, for example)

svn-id: r26470
2007-04-14 15:13:45 +00:00
Sven Hesse
e5de883ccf Implemented fast modes: CTRL-f for double and CTRL-g for triple speed
Though I think it shouldn't break anything, use it at your own risk

svn-id: r26461
2007-04-13 19:55:09 +00:00
Sven Hesse
6895085dff Moving the mutex locking out of the loop
svn-id: r26460
2007-04-13 13:09:00 +00:00
Sven Hesse
bf3182abb8 Actually use the palette after loading
svn-id: r26459
2007-04-13 07:48:55 +00:00
Sven Hesse
7370c5aa12 The scrolling now works without cursor jittering...
svn-id: r26458
2007-04-13 07:48:26 +00:00
Sven Hesse
33ac8d550a Fixed an IMD glitch where frames weren't drawn at all (noticable in the CD version's cutscenes after the "IDOL" screen, for example)
svn-id: r26454
2007-04-12 09:00:16 +00:00
Johannes Schickel
383533b11f Fix compile.
svn-id: r26446
2007-04-09 22:07:54 +00:00
Sven Hesse
4bbb951c8e Fixed the wrong sound issue (laughing instead of a "whooosh" sound) in Gob3's second screen
svn-id: r26445
2007-04-09 20:17:10 +00:00
Sven Hesse
9c7a8bd963 Preventing scrolling while the menu is shown
svn-id: r26440
2007-04-09 18:29:51 +00:00
Sven Hesse
3260684066 Fixed the background glitch
svn-id: r26438
2007-04-09 16:56:47 +00:00
Sven Hesse
293be0bfa4 Small glitch/different goblin handling fix for Gob3
svn-id: r26436
2007-04-09 15:40:10 +00:00
Sven Hesse
0d99a362e9 Some fixes for the Gob3 demos
svn-id: r26435
2007-04-09 14:00:23 +00:00
Eugene Sandulenko
b134842cbc Update new demo description
svn-id: r26432
2007-04-09 11:26:32 +00:00
Eugene Sandulenko
44bd3e83bf Add another gob3 demo
svn-id: r26431
2007-04-09 11:22:19 +00:00
Sven Hesse
dee8a04168 Restructured saving/loading. Should work for Gob3 now, too...
svn-id: r26414
2007-04-08 00:08:26 +00:00
Travis Howell
614ae1c08c Both Goblins 3 interactive demos are French.
svn-id: r26413
2007-04-08 00:00:38 +00:00
Sven Hesse
ddd96f369d Oops
svn-id: r26391
2007-04-06 17:08:23 +00:00
Sven Hesse
a17df6e4c6 Some Gob3 fixes:
- wrong positioning of the inventory
- walking
- close-up fadeing in the CD version

svn-id: r26390
2007-04-06 13:30:09 +00:00
Sven Hesse
ce8bfbb46e Implemented scrolling and split screen (for the text field, the bottom 40 lines) in Gob3
svn-id: r26387
2007-04-05 19:20:12 +00:00
Sven Hesse
96c6ae041f Added save/load stub for Gob3, recognizing the use of "INTRO.$$$" as an extra background buffer
svn-id: r26386
2007-04-05 16:04:59 +00:00
Sven Hesse
f2c1600c3d Added GobOpcodes 1 and 2 (start and stop Infogrames music)
svn-id: r26385
2007-04-05 15:38:30 +00:00
Sven Hesse
cebf8e98c3 Oops
svn-id: r26384
2007-04-05 14:28:19 +00:00
Sven Hesse
ec5a9eee31 - Minor cleanup
- Added Inter_v3 (for new opcode o3_getTotTextItemPart)
- Some fixes to let Gob3 start with the first screen

svn-id: r26383
2007-04-05 13:37:20 +00:00
Sven Hesse
c5e7eaf7db This should fix bug #1694830
svn-id: r26382
2007-04-05 13:36:26 +00:00
Sven Hesse
47f5e30857 Added the MD5 for the German Bargon Attack, as supplied by paul66 in bug #1692667
svn-id: r26370
2007-04-02 17:33:23 +00:00
Sven Hesse
53119f2c5d "char *" -> "byte *" where appropriate
svn-id: r26369
2007-04-02 11:05:09 +00:00
Sven Hesse
375c63f7bc Changed waitEndSoundSlice() to react more dynamically to enforce audio/video sync
svn-id: r26332
2007-03-31 15:25:54 +00:00
Sven Hesse
d65e05841a - Fixed the IMD playing within mults, the non-interactive Gob3 demo should work better now
- Replaced strcpy with strncpy where appropriate
- Added detection entries for other languages of the multilingual Gob3 CD; bug #1691230

svn-id: r26327
2007-03-30 17:52:31 +00:00
Sven Hesse
33c6a6f460 Fixing curly bracket style
svn-id: r26326
2007-03-29 21:03:32 +00:00
Sven Hesse
57fc863819 Replaced some more intenting space that slipped in with tabs
svn-id: r26325
2007-03-29 20:53:37 +00:00
Sven Hesse
046fe5060b Formatting (Take that, LordHoto! ;P)
svn-id: r26324
2007-03-29 20:49:37 +00:00
Johannes Schickel
2a4fc29d46 formatting.
svn-id: r26323
2007-03-29 20:38:59 +00:00
Sven Hesse
85ea7e97f1 Mind the time needed to update the screen when waiting for a sound slice to finish
svn-id: r26321
2007-03-29 19:37:53 +00:00
Sven Hesse
719fb21237 Don't play coktel2.imd, but coktel.imd
svn-id: r26320
2007-03-29 19:28:47 +00:00
Sven Hesse
623ca88022 - Properly implemented the ImdPlayer
- Some more clean-up

svn-id: r26316
2007-03-29 17:55:39 +00:00
Sven Hesse
2dc7cb2cd4 Major clean-up, including:
- Cutting down the code-dup
- Plucking leaks
- Removing dead/unused code
- Properly naming "word_2342F"-style variables and functions (removing the warnings alongside)
- Fleshing out the "stubby" functions
- Moving functions and variables to more appropriate/logical places
- Re-ordering functions and variables
- Re-structuring functions
- Moving the IMD stuff into a new "Imd" class in the new imd.cpp/.h (still to be completely implemented and cleaned up)
- Formatting
- Getting rid off the classes "Anim", "Pack" and "Timer", along with their files

svn-id: r26252
2007-03-20 14:51:57 +00:00
Max Horn
b7eb659e06 Added FIXME note into the gob code (it tries to write into datafiles, which makes it unportable to devices with read-only gamedata storage)
svn-id: r26240
2007-03-19 12:52:18 +00:00
Max Horn
8ba2a5bb83 GOB: use EventManager::getMousePos and some cleanup
svn-id: r26220
2007-03-18 18:10:34 +00:00
Sven Hesse
d95fd5e3d4 Repaired/Corrected the MD5 list
svn-id: r26187
2007-03-17 21:41:52 +00:00
Max Horn
ed54ea9155 Moved Event/EventType/keyboard enum from common/system.h (part of class OSystem) to common/events.h (part of namespace Common). Porters may have to make minor changes to their backends to get them to compile again
svn-id: r26180
2007-03-17 19:02:05 +00:00
Eugene Sandulenko
3a36ac02a1 Add Spanish bargon MD5 as pointed in bugreport
#1681649: "MD5: BARGON ATTACK Spanish"

svn-id: r26178
2007-03-17 17:13:52 +00:00
Max Horn
15d9bc42ea Force all code to use EventManager::pollEvent instead of OSystem::pollEvent
svn-id: r26156
2007-03-17 00:53:21 +00:00
Sven Hesse
29703c2d4f Added the French Atari ST Bargon Attack reported in the forums
svn-id: r26097
2007-03-11 19:02:18 +00:00
Sven Hesse
71cc080fc5 Fixed the crash in the interlude before the last level in the Gobliiins CD-version
svn-id: r26009
2007-03-07 19:57:24 +00:00
Sven Hesse
693d474502 Corrected the initial drawing position of 101-anims (e.g. the guard monster in the beach screen in Bargon Attack)
svn-id: r25991
2007-03-05 11:27:18 +00:00
Sven Hesse
190e327252 Fixed the cursor hotspots
svn-id: r25990
2007-03-05 11:26:50 +00:00
Johannes Schickel
80fd9d8234 Adding comment again.
svn-id: r25979
2007-03-04 16:05:56 +00:00
Eugene Sandulenko
43625ecc3a Remove wrong gob2 Mac entry.
svn-id: r25978
2007-03-04 15:45:51 +00:00
Sven Hesse
2a871cfef2 - Some minor fixes
- Added the Gob2 Mac version fac76 reported in bug #1673397

svn-id: r25977
2007-03-04 15:34:58 +00:00
Eugene Sandulenko
8ab81824ab Fix bug #1667806: "GOB: wrong detection"
svn-id: r25924
2007-03-02 15:21:34 +00:00
Sven Hesse
65bb902be9 - Fixed the actor freeze issue in the garage in Bargon Attack
- Some minor fixes

svn-id: r25921
2007-03-02 11:37:42 +00:00
Sven Hesse
16015aaa3b Repaired the pathfinding in Bargon Attack
svn-id: r25915
2007-03-01 14:41:40 +00:00
Max Horn
ac719ac5fd More dead code; augmented note on PC speaker emulation
svn-id: r25885
2007-02-26 20:44:39 +00:00
Max Horn
73188b4716 'Optimized' SquareWaveStream::readBuffer a bit, removed some dead code, and changed Snd::terminate to a destructor (this ensures client code can't forget to do just that -- not that we'd ever forget ... ;-)
svn-id: r25884
2007-02-26 20:41:52 +00:00
Max Horn
1c80f2ffa0 calling memset to zero a buffer you are about to fill with audio data is not necessary (removing this from Gob::Snd::readBuffer); removed dead code
svn-id: r25883
2007-02-26 20:32:43 +00:00
Willem Jan Palenstijn
b1a12658b0 stop audio streams before deleting them
svn-id: r25882
2007-02-26 18:52:28 +00:00
Sven Hesse
be66e732f8 Added spanish Ween (bug #1667743)
svn-id: r25823
2007-02-24 15:28:03 +00:00
Torbjörn Andersson
9aa7d2209b Guard cdrom.h against being included multiple times.
svn-id: r25745
2007-02-20 17:28:04 +00:00
Sven Hesse
d892020505 Repaired loading
svn-id: r25685
2007-02-18 12:26:56 +00:00
Max Horn
b8aeefaffb Added finalize() method to Common::OutSaveFile (which by default just flushes the stream), changed engines to call that before deleting OutSaveFile instances (instead of just flushing)
svn-id: r25660
2007-02-17 18:55:51 +00:00
Sven Hesse
5df29654fc - Added a warning when o1_checkData()/o2_checkData() can't find the file it's supposed to check
- Fixed the actor drawn over the background glitch in Bargon Attack
- Plugged some leaks

svn-id: r25651
2007-02-17 09:56:09 +00:00
Torbjörn Andersson
16e7a12878 Some very obvious cleanups.
svn-id: r25635
2007-02-16 17:13:29 +00:00
Sven Hesse
15043066f2 - Changed the speaker stuff again
- Added the spanish gob2 version from bug report #1659884

svn-id: r25615
2007-02-15 22:07:44 +00:00
Max Horn
ec27c53491 AdvancedDetector: revamped the file based fallback code
svn-id: r25599
2007-02-14 23:46:39 +00:00
Sven Hesse
77c70d4ee7 - Changed the square wave generator / speaker emulation, hopefully fixing the walking sound issue (#1621086)
- Fixed some misplaced actor glitches in Bargon

svn-id: r25585
2007-02-14 16:36:17 +00:00
Max Horn
7572d2b4f2 Changed detectBestMatchingGame to return a pointer to a ADGameDescription (or a subclass of it); added a (currently fake) fallback callback entry in ADParams
svn-id: r25574
2007-02-13 23:37:44 +00:00
Max Horn
2e567f1cc9 Some more AdvancedDetector cleanup: Removed kADFlagFilebasedFallback flag (just check whether a fileBasedFallback has been provided); moved some internal definitions, added some doxygen coments, etc.
svn-id: r25570
2007-02-13 22:25:25 +00:00
Eugene Sandulenko
289466e8b7 Fix MSVC warning
svn-id: r25558
2007-02-13 20:35:44 +00:00
Eugene Sandulenko
4fc5f8e8be Fix comment
svn-id: r25553
2007-02-13 16:58:07 +00:00
Max Horn
4968e912ce AdvancedDetector changes:
* Renamed genGameList to gameIDList to make it match the corresponding
  plugin API function name
* removed the detectFunc param from detectGameForEngineCreation,
  as it *always* pointed to a straight wrapper around AdvancedDetector::detectAllGames
* as a consequence, removed the various GAME_detectGames functions from the
  engines, and removed the detectFunc param from ADVANCED_DETECTOR_DEFINE_PLUGIN

svn-id: r25547
2007-02-13 14:55:11 +00:00
Eugene Sandulenko
da7d8c9f35 Rename Common::GF_XXX to Common::ADGF_XXX
svn-id: r25545
2007-02-13 13:42:28 +00:00
Max Horn
2afe07992f Renamed kADFlagComplexID to kADFlagAugmentPreferredTarget, document it, and add it for AGOS, too
svn-id: r25543
2007-02-13 13:17:46 +00:00
Max Horn
55e132ca7d Use GF_DEMO flag in the AdvancedDetector to augment the preferredtarget name
svn-id: r25541
2007-02-13 13:00:18 +00:00
Max Horn
55adc889e7 (re)added flags field to ADGameDescription, with currently only one value (GF_DEMO) -- this flag value is not yet used by anything (also, GF_DEMO hasn't been correctly set for AGI games yet)
svn-id: r25539
2007-02-13 01:28:18 +00:00
Sven Hesse
9e30a6e990 Adding MD5s supplied by vampir_raziel in bug report #1658373
svn-id: r25538
2007-02-12 21:26:52 +00:00
Sven Hesse
ffdd3522bf More demo version fixes
svn-id: r25532
2007-02-12 19:30:52 +00:00
Sven Hesse
15f52b96b8 Changed language finding again
svn-id: r25525
2007-02-12 14:37:27 +00:00
Sven Hesse
6b2d843680 - Some fixes for demos and Amiga versions
- Improved language finding a bit

svn-id: r25520
2007-02-12 12:53:28 +00:00
Eugene Sandulenko
171962b02c Improve detection.
svn-id: r25519
2007-02-12 11:35:49 +00:00
Sven Hesse
2c4a6d6a43 The SoundHandle isn't stopped indirectly by AudioCD.play() anymore, so removed the SoundHandle starting for each sample
svn-id: r25411
2007-02-07 16:30:59 +00:00
Sven Hesse
3442ea1582 - Fixed another freeze in Ween
- Changed cursor visibility handling a bit

svn-id: r25407
2007-02-07 13:08:17 +00:00
Sven Hesse
edefc7bde3 Corrected the goblins walking sound (#1621086)
svn-id: r25404
2007-02-06 21:23:14 +00:00
Sven Hesse
8833cdb03f Made Goblin::Gob_Object::order explicitely signed, should fix bug #1625292 (Wrong sprite in foreground)
svn-id: r25403
2007-02-06 19:55:21 +00:00
Sven Hesse
1c9c972d05 - Fixed Ween's inventory in the volcano (#1630113)
- Added a range check to avoid invalid reads into _wayPoints in Map::checkDirectPath()

svn-id: r25402
2007-02-06 19:16:41 +00:00
Sven Hesse
d706d8e4c0 Implemented vertical scrolling
svn-id: r25401
2007-02-06 14:42:05 +00:00
Sven Hesse
7082e58289 Corrected the clipping of _pressedMapX/_pressedMapY, to avoid accessing invalid memory (also possible fix for bug #1652551)
svn-id: r25395
2007-02-05 19:48:12 +00:00
Sven Hesse
7f26069f69 - Moved struct Mult_Data from Mult_v2 to Mult and merged Mult::_multData, Mult::_multData2 and some of the loose variables in Mult
- Added some missing MD5s/game versions (#1652352)

svn-id: r25393
2007-02-05 14:08:50 +00:00
Sven Hesse
0ed752aa6e - Moved the specific interrupt frequency of 80 Hz out of class Infogrames into the GobEngine's Infogrames instances
- Changed the 80 Hz to 75 Hz, which is more true to the original

svn-id: r25389
2007-02-04 15:59:05 +00:00
Sven Hesse
f54a97a02c - Plugged some leaks and fixed some memory errors
- Fixed the cursor animation loops in Ween and Bargon
- Added Draw_Bargon + Inter_Bargon
- Implemented Bargon Attack's hardcoded intro parts

svn-id: r25387
2007-02-04 15:45:15 +00:00
Eugene Sandulenko
7b6bdd231d AdvancedDetector now has built-in fallback detection based on file lists.
Currently only gob engine benefits from it.

svn-id: r25374
2007-02-04 03:10:27 +00:00
Sven Hesse
7e19c134f7 Split the entry for Gobliins 2 multilanguage CD into separate entries for each language
svn-id: r25329
2007-02-01 21:59:51 +00:00
Sven Hesse
f1a4f57a53 Fixed wrong date display (bug #1650124), tm_mon is in the range 0-11
svn-id: r25328
2007-02-01 20:19:21 +00:00
Sven Hesse
d2b8787dd5 - Fixed the palette animations
- Changed waitRetrace() to take some time, because the scrolling speed is tuned to the retrace delays

svn-id: r25319
2007-02-01 10:42:27 +00:00
Torbjörn Andersson
edb61e5b01 Added my version of Woodruff so that I, too, can get the "Unknown version of
game engine" error, rather than a failed assertion, if I try to start it.

svn-id: r25318
2007-02-01 05:33:59 +00:00
Sven Hesse
fd0e90588d Added MD5 for the german Ween version, supplied by cartman_ on #scummvm
svn-id: r25315
2007-01-31 20:00:48 +00:00
Sven Hesse
8b4001f490 Replaced the delay in o1_keyFunc with a (skipable) busy-wait detection
svn-id: r25311
2007-01-31 16:23:34 +00:00
Sven Hesse
17e70efe13 - Snd::WaitEndPlay() should stop a running composition
- Removed Snd::getCompositionSlot(), it's not needed

svn-id: r25310
2007-01-31 15:19:42 +00:00
Sven Hesse
1880aa5441 Minor sound playing correction
svn-id: r25309
2007-01-31 14:53:46 +00:00
Sven Hesse
e3aeb0255b Removed debug output I accidentally checked in
svn-id: r25308
2007-01-31 13:43:16 +00:00
Sven Hesse
7101c0ef26 - Correctly setting of Snd::_playingSound
- Implemented sound fading in/out
- o2_stub0x81 -> o2_scroll

svn-id: r25307
2007-01-31 13:17:50 +00:00
Eugene Sandulenko
3766e0a77d eplaced platform-specific game features with common platform setting.
svn-id: r25294
2007-01-30 22:32:51 +00:00
Eugene Sandulenko
f395822aa6 Rearranged detection table and clarified some entries.
svn-id: r25293
2007-01-30 22:22:48 +00:00
Sven Hesse
cb8378065d - Changed _soundFlags and implemented "compositions"
- Changed Snd to be a permanent audiostream, to have better control over stopping, looping and compositions
- Some clean-up

svn-id: r25292
2007-01-30 22:19:55 +00:00
Eugene Sandulenko
6a20ddf1d2 Moved Gob engine to AdvancedDetector.
svn-id: r25274
2007-01-30 02:17:46 +00:00
Sven Hesse
0058049e32 Added a proper workaround for the race condition in the script when opening the notepad, which was apparently causing bug #1621089
svn-id: r25255
2007-01-29 17:59:28 +00:00
Sven Hesse
36a54218b1 - Another attempt at fixing the immediately-closing notepad heisenbug (#1621089)
- Implemented wide surfaces + scrolling
- Some clean-up

svn-id: r25253
2007-01-29 17:04:37 +00:00
Sven Hesse
c238912315 Ooops
svn-id: r25246
2007-01-28 15:24:22 +00:00
Sven Hesse
b13e7ce8ec - Fixed the Adlib data ugliness
- Worked around the caching of raw sprite video memory to a file

svn-id: r25244
2007-01-28 13:19:17 +00:00
Sven Hesse
a0d804411a Changed one strcmp in Parse_v2::parseExpr() to scumm_stricmp, to fix bug #1632362 ("Moray Eel Game Freeze (Wreck Scene)").
The CD track name is "aquatique", while the script checks for "AQUATIQUE"

svn-id: r25207
2007-01-26 20:44:10 +00:00
Sven Hesse
8e6cd81333 - Just warn, don't die, when a CD-Track isn't found
- Before using _vm->_adlib, first check whether it's actually there

svn-id: r25205
2007-01-26 19:00:41 +00:00
Sven Hesse
43fb2e6ed9 Moved Paula and Infogrames to sound/mods/
svn-id: r25191
2007-01-25 15:17:46 +00:00
Sven Hesse
604077827f - Some clean-up
- Fixed sound playing and looping
- Changed Paula to use non-absolute panning, defaulting to 0.25/0.75 and 0.75/0.25, as per madmoose's suggestion
- Prepared/Cleaned-up Paula and Infogrames for the move to sound/mods/

svn-id: r25189
2007-01-25 14:18:12 +00:00
Sven Hesse
a8c6b02a9c Added support for Infogrames/RobHubbard2 (amiga) music
svn-id: r25160
2007-01-23 19:40:28 +00:00
Eugene Sandulenko
cd8a5f3a98 First phase of detection-related plugins interface improvements. Now plugins
return StringMap instead of fixed list of parameters. This adds great
flexibility.

Current patch should not alter any functionality, i.e. if there are regressions,
submit a report. Phase 2 will benefit from these changes and will come later.

svn-id: r25134
2007-01-20 21:27:57 +00:00
Eugene Sandulenko
24c9735588 Rename special debug levels to conform our suggested naming scheme.
svn-id: r25073
2007-01-13 15:35:02 +00:00
Sven Hesse
6e0835da11 - Fixed cut off and missing sounds
- Fixed a crash/static reported in the forums (sending Winkle to the vulture)
- (Hopefully) fixed the immediately-closing notepad heisenbug (#1621089)
- Fixed using unitialised values after allocating the variables

svn-id: r25025
2007-01-06 11:17:20 +00:00
Sven Hesse
b30c615165 Fixed the loading delay bug I introduced with the playing from CD fix (#1626308)
svn-id: r25006
2007-01-05 18:16:05 +00:00
Travis Howell
250760ba80 Make sure warning is shown for CD versions of Gobliins 2, when playing from CD under Windows
svn-id: r24986
2007-01-04 02:26:46 +00:00
Travis Howell
c653a2cba5 Add the Amiga version of Gobiins 2 demo
svn-id: r24985
2007-01-04 02:15:20 +00:00
Eugene Sandulenko
d1f0ca423c Add md5 for interactive gob2 demo.
svn-id: r24921
2006-12-24 19:56:13 +00:00
Sven Hesse
97ad57e9bb Changed CD playing a bit, now playing directly from the CD should be possible again. Playing without an audio track at all works now, too
svn-id: r24903
2006-12-20 15:50:13 +00:00
Sven Hesse
a6cb2df4c2 Stomped the well/diving-bug
svn-id: r24884
2006-12-19 09:12:52 +00:00
Sven Hesse
4446f2c851 Fixed backspace and delete in the note-pad
svn-id: r24883
2006-12-19 07:38:33 +00:00
Sven Hesse
2e6ad11d6d Fixed the note-pad, font changing and date/time-display
svn-id: r24875
2006-12-18 20:38:31 +00:00
Sven Hesse
fc6f8a47f1 Added a waitRetrace in Game_v2::CheckCollisions() and rearranged the delay in o1_keyFunc(), so that the save name dialog is shown and the "Empty Inventory" message is displayed properly as well.
svn-id: r24874
2006-12-18 14:33:37 +00:00
Sven Hesse
17700e2b52 Fixed a walking animations related mistake
svn-id: r24867
2006-12-17 21:21:26 +00:00
Sven Hesse
a2e9bc706c Added a range check in Draw_v2::printText(), fixing invalid reads. It *shouldn't* pose any problem
s

svn-id: r24866
2006-12-17 21:20:51 +00:00
Sven Hesse
eb012d8110 Smashed the wizard's house bug
svn-id: r24850
2006-12-14 19:07:43 +00:00
Sven Hesse
3f627e73e4 The music in the Mac version of Gob1 seems to be selected randomly for each scene
svn-id: r24797
2006-11-30 13:13:35 +00:00
Sven Hesse
c18f01d609 Adding new Gob2 MD5 (closing bug #1605235)
svn-id: r24796
2006-11-30 13:09:01 +00:00
Sven Hesse
1e27dd5694 Removed the "#ifdef SCUMM_BIG_ENDIAN"s
svn-id: r24795
2006-11-27 20:56:41 +00:00
Sven Hesse
9afb08341c - Properly implemented o2_getCDTrackPos()
- Each save has now its own file (.s??). They also should be endian-safe now
  (Can be disabled for testing by uncommenting #define GOB_ORIGSAVES in gob.cpp)
- General endianness-fixes

svn-id: r24794
2006-11-27 14:19:30 +00:00
Eugene Sandulenko
cfb29dcb51 Fix MSVC2005 warnings. Please, review the changes.
svn-id: r24760
2006-11-22 15:50:30 +00:00
Sven Hesse
2768fa24fc - Fixed the crashes in Gob1 EGA and Gob2 Demo
- Fixed the compile error in GobEngine::saveGame on some systems

svn-id: r24756
2006-11-21 13:28:45 +00:00
Sven Hesse
c22920484a Changed the way sprites-freeing is handled, now the menu sprites and window decorations are drawn
svn-id: r24752
2006-11-20 13:03:30 +00:00
Sven Hesse
2454f78589 Implemented (currently still endian-unsafe) save/load
svn-id: r24745
2006-11-19 17:52:52 +00:00
Johannes Schickel
7b0e6f1489 formatting.
svn-id: r24720
2006-11-14 15:39:11 +00:00
Sven Hesse
3f0ebaaa18 Fixed the lock when leaving the menu
svn-id: r24719
2006-11-14 14:58:41 +00:00
Sven Hesse
195a46477f Closing bug #1593768 (Logical and should probably be bitwise and)
svn-id: r24667
2006-11-09 22:05:57 +00:00
Max Horn
4c14cf6d1a Moved base/engine.cpp and .h to engines/ (main motivation: helps untangle the linker dependency graph). Porters will have to update project files
svn-id: r23974
2006-09-23 00:42:35 +00:00
Max Horn
a2dc897fe5 Reduce code duplication
svn-id: r23888
2006-09-16 15:01:14 +00:00
Chris Apers
e78a81fe45 Fixed unaligned read on PalmOS
svn-id: r23846
2006-09-09 14:19:33 +00:00
Sven Hesse
0f6d8ab269 Fixed pathfinding
svn-id: r23718
2006-08-16 20:52:43 +00:00
Eugene Sandulenko
7f3ac3f025 Limit md5 computations to first 5000 bytes in gob engine.
svn-id: r23713
2006-08-15 21:19:09 +00:00
Sven Hesse
8d72b8e415 Ooops again, use the correct delete...
svn-id: r23703
2006-08-12 13:40:16 +00:00
Sven Hesse
a8c64ffb4a Ooops, free the allocated _startTot/_startTot0, too...
svn-id: r23702
2006-08-12 13:38:33 +00:00
Sven Hesse
6ee511e68b Added another field to the GameSettings for the intro.tot, because the Gobliins 2 demo uses usa.tot
instead

svn-id: r23701
2006-08-12 12:35:18 +00:00
Sven Hesse
1c4715b71f - Some more goblins-handling functions
- Fixed some mistakes I made in the Parse_v2 functions. Now the goblins
  (finally) move. Also, the correct music is played in the first screen.
- Found the hook for the menu
- On freeing a sound slot, only stop the playing music if it's in the
  slot to free

svn-id: r23700
2006-08-12 09:16:08 +00:00
Max Horn
4a80db4c7b * Added copyright string to all engine plugins
* Modified about dialog to list all available plugins with their resp. copyright
* Modified about dialog credits to show the GPL last (like movie end credits do with their legal text, too)

svn-id: r23645
2006-07-31 13:41:21 +00:00
Torbjörn Andersson
c32076e5d0 Use #include "..." instead of #include <...> for pack-start.h and pack-end.h
for consistency with other #includes.

svn-id: r23585
2006-07-23 16:13:26 +00:00
Max Horn
4fcdbb9349 String class usage cleanup
svn-id: r23582
2006-07-23 15:08:48 +00:00
Max Horn
2859b64702 Fix struct packing issues (macros are not resolve in #pragma params, at least for GCC)
svn-id: r23569
2006-07-22 17:28:48 +00:00
Johannes Schickel
4ae5cef491 - let md5_file accept a FilesystemNode too
- changes some engine detectors to use it

svn-id: r23559
2006-07-22 14:59:44 +00:00
Johannes Schickel
ca366849eb Using FilesystemNode::name instead of FilesystemNode::displayName in the Gobliiins detector code too.
svn-id: r23555
2006-07-22 14:36:09 +00:00
Max Horn
f59cf1fcdc Removing GCC_PACK, we fully rely on START_PACK_STRUCTS / END_PACK_STRUCTS now (hiya eriktorbjorn, this one is for you *ggg*)
svn-id: r23547
2006-07-21 21:25:17 +00:00
Johannes Schickel
d7dafdd8db Fix building with msvc8.
svn-id: r23517
2006-07-15 21:22:42 +00:00
Sven Hesse
dcbbfa01c0 Instead of drawing the mouse cursor as a sprite, let the backend handle it
svn-id: r23464
2006-07-09 18:54:12 +00:00
Max Horn
f35f4a4d1c Use START_PACK_STRUCTS / END_PACK_STRUCTS when available, instead of checking for GCC / not GCC
svn-id: r23458
2006-07-09 13:01:15 +00:00
Sven Hesse
b7997a7231 - Fixed a few mistakes that added up to look correct, fixing bargon's cursor
- Updated cursor drawing in general

svn-id: r23429
2006-07-08 16:37:23 +00:00
Sven Hesse
27a8b8a255 - Renamed a few mult-variables to something more fitting
- Fixed a small mistake, making the entering animation work
- Correcting Game_v2::playTot() so that the loading screen is shown
- Updated most of the collisions stuff, the objects names hint stuff works now

svn-id: r23346
2006-06-29 12:55:57 +00:00
Max Horn
9a955180a4 * Renamed config.mak to config.mk
* Renamed common.rules to rules.mk
* Removed explicit declaration of MODULE_DIRS in various spots (instead we let rules.mk compute it)

svn-id: r23275
2006-06-24 08:48:11 +00:00
Max Horn
d210b19aec Move backends/fs/fs.h and .cpp to common/fs/fs.h and .cpp
Rationale: backend implementations belong to backends/, but portable APIs meant to be used by high level code is for common / sound / graphics / ... (compare also with backends/midi vs. sound/mididrv.h)

svn-id: r23274
2006-06-24 08:07:48 +00:00
Torbjörn Andersson
ecfedb1e81 Cleanup. It seems unnecessary to have a "break" right after an unconditional
return in a switch case.

svn-id: r23198
2006-06-20 18:55:25 +00:00
Sven Hesse
332e1d860e Some more READ_LE_* -> MemoryReadStream.* conversions
svn-id: r23099
2006-06-13 19:15:08 +00:00
Sven Hesse
a709eb05b7 More READ_LE_* -> MemoryReadStream conversion + minor cleanup
svn-id: r23089
2006-06-13 17:02:53 +00:00
Sven Hesse
243e6b2d27 Fixing Scenery::_statics, Game::_totTextData and Game::_totResourceTable
svn-id: r23078
2006-06-13 08:10:54 +00:00
Sven Hesse
f52921fb9b Using MemoryReadStream for Scenery::loadAnim()
svn-id: r23073
2006-06-12 22:21:07 +00:00
Sven Hesse
796b001b4f Fixing loading of Scenery::_animations[] + small gob2 cleanup
svn-id: r23066
2006-06-12 21:33:30 +00:00
Sven Hesse
5c630a4e63 Small corrections and cleanup for Gob2, fixing the graphical glitches in the intro
svn-id: r23060
2006-06-12 10:55:53 +00:00
Sven Hesse
897fa6a5a6 More stub-filling + small clean-up
svn-id: r23012
2006-06-10 14:37:48 +00:00
Johannes Schickel
276d754443 Fix some msvc8 warnings.
svn-id: r22988
2006-06-08 19:55:16 +00:00
Sven Hesse
34dae22c1a More goblin handling functions, now the deactivated goblin shows
his boredom. It's the wrong goblin that's deactivated, though.
Also, the entering animation is still missing (now nothing is drawn
instead).

svn-id: r22979
2006-06-07 18:49:20 +00:00
Sven Hesse
bf86b9b022 Two segfault and several coding style related fixes
svn-id: r22954
2006-06-06 15:43:44 +00:00
Sven Hesse
b5bc1c82fa - Fixed endianness/signess issues
- Added a memset in Video_v2::SpriteUncompressor(), that should have
  been there in the first place; this fixes the tree in GOB2's first room
- Fixed ADL delete[]ing

svn-id: r22917
2006-06-04 17:24:03 +00:00
Sven Hesse
4b706aca43 Fixing an endian-issue in setVoice()
svn-id: r22858
2006-06-03 08:53:10 +00:00
Sven Hesse
2aa31f4bf3 Matched the memset in imdFrameUncompressor() to the original asm, that
fixes a small glitch

svn-id: r22857
2006-06-03 08:50:41 +00:00
Sven Hesse
f3f7b670d0 - Fixed IMD transparency
- Fixed SegFault due to uninitialized _multData2
- Removed left-over debug comment

svn-id: r22830
2006-06-02 10:54:53 +00:00
Sven Hesse
96d77f16b7 - Fixed drawing of sprite-parts based texts
- Removed misplaced Music::stopPlay() call

svn-id: r22816
2006-06-01 12:18:12 +00:00
Lars Persson
0044ef7be1 Fixed deletion statement as it was deleting arrays(CW compiler was complaining).
svn-id: r22810
2006-05-31 20:19:03 +00:00
Sven Hesse
086c3dfc76 Use _mapWidth/_mapHeight instead of constant
svn-id: r22801
2006-05-31 13:43:23 +00:00
Sven Hesse
da69cc267c Hopefully fixed bug #1498024
svn-id: r22796
2006-05-31 10:55:57 +00:00
Sven Hesse
05499f58dd - Removed usage of OSystem::quit(), added a _quitRequested variable
- Fixed some leaks, unitialized memory and delete/delete[]-errors

svn-id: r22790
2006-05-31 08:44:14 +00:00
Sven Hesse
d6f1ba1540 - More GOB2 map conversions
- Added Music_Dummy (for --music-driver=null)
- Implemented IMDs. That took longer than I expected...
  On the bright side, Ween's intro now plays more correctly

svn-id: r22754
2006-05-29 18:24:52 +00:00
Eugene Sandulenko
b99d128a1d Add reported Gob2 german floppy.
svn-id: r22720
2006-05-28 13:28:10 +00:00
Willem Jan Palenstijn
35d242b74b make printExpr, skipExpr accept both gob1 and gob2 expressions
svn-id: r22568
2006-05-21 21:18:23 +00:00
Andrew Kurushin
45b249ee60 fix VS2005 compilation warnings
svn-id: r22431
2006-05-13 08:39:12 +00:00
Sven Hesse
42e03bd707 - Sound! Still a bit glitchy, though:
- Negative frequences?!? Maybe "SFX"?
  - No sound for a small part of the intro
    (there aren't any sndKeys covering that part either)
  - A rythm-instrument (hi-hat?) in the titlemusic isn't played as one
- More differences in the drawing functions fleshed out
- Some of the goblin handling functions written
- More unnamed functions and variables, wheeee...

svn-id: r22410
2006-05-11 19:43:30 +00:00
Sven Hesse
8a855b4251 - Stubbed goblinFunc(), it's completeley different; now it at least
doesn't crash anymore
- Reduced valgrind's complains about unitialized memory

svn-id: r22263
2006-05-01 19:11:57 +00:00
Sven Hesse
61a0266a92 More stubs; GOB2 goes in-game for a second, then segfaults in the
Global-constructor; valgrind shows invalid reads in parseValExpr()
and parseExpr() while accessing _inter_variables and _inter_execPtr

svn-id: r22262
2006-05-01 16:04:53 +00:00
Sven Hesse
2eabfd5f28 - More differences in Draw_v2::spriteOperation()
- GOB2 handles _frontSurface/_backSurface a bit differently, this fixes
  (most of) the drawing glitches in the intro
- Added using a fallback when the user's game version doesn't have the
  requested language
- off_2E51B et al. stubs, I think it has something to do with the menu

svn-id: r22254
2006-05-01 12:43:50 +00:00
Max Horn
27307acd7c Moved the AudioCDManager as well as class AudioStream and its (standard) subclasses to namespace Audio
svn-id: r22231
2006-04-29 22:33:31 +00:00
Max Horn
bf73598811 * Changed the createEngine() factory function of our plugins to return an error code (the engine is now passed indirectly via a double pointer)
* Removed Engine_Empty (obsolete now that engines can return actual error codes)

svn-id: r22199
2006-04-29 00:27:20 +00:00
Sven Hesse
b4e5e18201 Fixed portability issue
svn-id: r22006
2006-04-18 12:55:01 +00:00
Sven Hesse
4d2f4a9f79 - Closed the stub in Draw_v2::printText()
- Added a language field in GameSettings, so that the texts in
  Gob2 work for other languages than EN_GRB as well

svn-id: r22005
2006-04-18 12:39:02 +00:00
Sven Hesse
ab48280f73 - I misunderstood Draw::initBigSprite(); fixed
- Changed Draw::spriteOperation() for blitting from/to/between and
  fillrecting to big sprites
- Enabled drawing of text

svn-id: r22001
2006-04-18 09:59:18 +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
Sven Hesse
cff96b0a75 - Seems like I forget a branch in Mult_v2::animate()
- sub_1A52B is Scenery::updateStatic()

svn-id: r21889
2006-04-14 18:18:46 +00:00
Max Horn
daf541e0b8 Fix compiler warnings
svn-id: r21855
2006-04-14 00:05:26 +00:00
Sven Hesse
fb985a26f8 Fixed the invalid reads visible with valgrind, deleted the
printText-dup, it's wrong for Gob2 anyway...

svn-id: r21849
2006-04-13 21:52:23 +00:00
Sven Hesse
a3cd0bd17d Commented the SpriteOperation in Draw_v2::printText() out for now,
they are responsible for background mess-ups in the intro

svn-id: r21848
2006-04-13 21:09:39 +00:00
Sven Hesse
3bed2d377e Some more stubs and rearrangings
svn-id: r21847
2006-04-13 20:56:22 +00:00
Sven Hesse
07a0d54891 - More stubs, the intro now works completely (with extreme graphical
glitches and without sound in the floppy version), the title screen
  is shown afterwards
- Added skipping of the floppy version's copy protection screen,
  since the CD version doesn't show it either

svn-id: r21845
2006-04-13 16:25:07 +00:00
Sven Hesse
adbafccc64 - Fixed the mistake in Mult_v2::loadMult() that caused Gob2 floppy to
have a messed up script-pointer afterwards
- Added/Changed parts of Mult_v2::playMult() et al. so that the intro
  works for a few seconds (with glitches) before getting killed while
  trying to draw text (CD) or trying to play sounds (floppy)

svn-id: r21823
2006-04-12 09:49:08 +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
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
9f93e5bb81 Renamed various container isEmpty() methods to empty() to match STL conventions
svn-id: r21472
2006-03-28 09:42:54 +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
Willem Jan Palenstijn
879b5e4064 workaround: manually add delay when showing image between levels in gob1 ega
svn-id: r21364
2006-03-18 13:44:57 +00:00
Max Horn
86565fcca5 - Renamed GameSettings to PlainGameDescriptor
- Added new GameDescriptor struct (similar to PlainGameDescriptor but with
  Common::String members instead of const char * ones)
- Changed DetectedGame to subclass GameDescriptor
- Removed toGameSettings() in favor of new (template) constructors in
  DetectedGame and GameDescriptor
- Fixed a bug in the obsolete gameid handling in the SCUMM & SIMON engines

svn-id: r21150
2006-03-09 02:52:51 +00:00
Max Horn
d2f78184af - added new toDetectedGame() template function (analog to toGameSettings)
- made use of the new DetectedGame constructor from my last commit
- some related cleanup

svn-id: r21149
2006-03-09 01:42:56 +00:00
Max Horn
d9a9fac937 Fixed tons of format string warnings for debug/error calls (including several errors where the format string didn't match the number of arguments to the call)
svn-id: r21141
2006-03-08 11:37:25 +00:00
Max Horn
907bd7128d Fix for bug #1438822 (Targets are case sensitive)
svn-id: r21017
2006-03-02 22:29:01 +00:00
Willem Jan Palenstijn
06e02f6010 stop playing a sample before deleting the sample data
svn-id: r20902
2006-02-26 01:25:27 +00:00
Sven Hesse
f51dd597dd Fix c&p mistake in adding DEBUG_PARSER debug level
svn-id: r20868
2006-02-25 10:16:46 +00:00
Sven Hesse
1758260c39 Changed debug()s to debugC()s
svn-id: r20848
2006-02-24 23:31:31 +00:00
Sven Hesse
ca504aca4f Adding GOB2's CD handling opcodes, the CD version of GOB2 now starts
correctly; playMult() doesn't work yet, though

svn-id: r20844
2006-02-24 21:58:03 +00:00
Paweł Kołodziejski
11f348dd6c fixed warnings
svn-id: r20829
2006-02-23 17:51:27 +00:00
Eugene Sandulenko
c50da10571 Fix compiler error introduced by last commit.
svn-id: r20808
2006-02-21 16:16:56 +00:00
Eugene Sandulenko
6011d302c3 Fix crash on floppy version of gob2
svn-id: r20807
2006-02-21 16:15:07 +00:00
Sven Hesse
08a57f0837 More GOB2 changes (Mult::loadMult()) + correcting some mistakes I made
svn-id: r20806
2006-02-21 14:22:25 +00:00
Max Horn
8ac17430ac - renamed PLUGIN_getSupportedGames to PLUGIN_gameIDList for consistency
- renamed Engine_XXX_gameList to Engine_XXX_gameList for consistency
- added new Engine_XXX_findGameID / PLUGIN_findGameID function
- updated plugins code to take advantage of the new plugin API, to support
  obsolete gameids w/o showing them to the user

svn-id: r20752
2006-02-18 11:15:37 +00:00
Eugene Sandulenko
e13315928b Enable gob2 detection
svn-id: r20749
2006-02-18 01:04:58 +00:00
Eugene Sandulenko
a757cab416 Simplified use of namespaces
svn-id: r20748
2006-02-18 00:36:45 +00:00
Max Horn
81798556db - Removed the 'features' field from GameSettings
- Removed GF_DEFAULT_TO_1X_SCALER

svn-id: r20747
2006-02-18 00:12:36 +00:00
Max Horn
bf79947a5b Removed lots of unneeded #includes from gob.h, and moved GobGameSettings to gob.cpp -> reduced header dependencies -> faster recompile when one of those headers is modified
svn-id: r20740
2006-02-17 08:44:16 +00:00
Max Horn
7967e30c73 Added global toGameSettings() template function for convenience; simplified GameSettings usage in some engines
svn-id: r20739
2006-02-17 00:22:53 +00:00
Max Horn
a96760a2fd Reduced use of GF_DEFAULT_TO_1X_SCALER in favor of a new param to Engine::initCommonGFX; added a TODO stating that it should eventually be removed completly
svn-id: r20738
2006-02-17 00:01:18 +00:00
Sven Hesse
fbefbfc160 Updating more opcodes for Gob2
svn-id: r20731
2006-02-16 20:25:59 +00:00
Max Horn
80cf2fa46f Reduced data duplication in module.mk files; added module.mk files for null and x11 backends; added engines/module.mk
svn-id: r20584
2006-02-12 00:16:31 +00:00
Max Horn
26ee630756 Moved engines to the new engines/ directory
svn-id: r20582
2006-02-11 22:45:04 +00:00